痞子衡嵌入式:並行NOR接口標準(CFI-JESD68)及SLC Parallel NOR簡介


  你們好,我是痞子衡,是正經搞技術的痞子。今天痞子衡給你們介紹的是CFI標準及SLC Parallel NORhtml

  NOR Flash是嵌入式世界裏最多見的存儲器,經常內嵌在微控制器裏(Parallel型)或外置做爲內存擴展(Serial型),做爲代碼存儲器。對於嵌入式開發而言,NOR主要分爲兩大類:Serial NOR、Parallel NOR,最先出現的NOR是Parallel NOR,後來爲了簡化引腳數,逐漸發展出了Serial NOR,目前的格局是Serial NOR主要佔據低容量NOR市場(128Mb如下),而Parallel NOR主要佔據高容量NOR市場(128Mb以上),生產Parallel NOR的廠商有不少,但不管是哪一個廠商的Parallel NOR基本上都兼容CFI接口標準,這給軟件驅動開發帶來了便利。編程

1、CFI-JESD68標準由來

  關於NOR Flash發展史,咱們知道早在1988年Intel便發表了NOR Flash結構,今後改變了由EPROM/EEPROM一統天下的局面。早期的NOR產品主要是Parallel NOR,做爲半導體行業領導大廠,爲了使NOR產品發展標準化,Intel於1996年制定了CFI 1.0標準(1.0版本屬於draft版本,正式版本是1997年發佈的1.1),CFI標準的存在是爲了讓Host可以從NOR Flash device中直接獲取製造商ID、設備ID、Flash大小以及各類物理特性,從而使得NOR Flash產品在先後兼容性上表現更好,軟件驅動設計也更加標準化。
  鑑於CFI已慢慢發展成爲NOR Flash事實上的接口標準,JEDEC組織於1999年9月正式將CFI標準命名爲JESD68,下表是CFI-JESD68標準制定的時間關係:dom

時間 NOR標準 制定者
1996.07 CFI 1.0 Intel
1997.05 CFI 1.1 Intel
1999.09 JESD68 JEDEC
2001.12 CFI 2.0 AMD
2003.09 JESD68.01 JEDEC

Note: CFI-JESD68標準原則上是爲Parallel NOR制定的,可是部分Serial NOR也支持這一標準。異步

2、SLC Parallel NOR原理

2.1 Parallel NOR分類

  從軟件驅動開發角度而言,Parallel NOR能夠從如下幾個方面進一步細分:性能

單元層數(bit/cell):SLC(1bit/cell) / MLC(2bit/cell)
地址模式: ADP / ADM / AADM
數據線寬度:x8 / x16
信號線模式:Asynchronous / Synchronous
數據採集模式:SDR / DDR
接口標準:CFI設計

  本文的主要研究對象是兼容CFI 2.0 (JESD68.01)標準的Asynchronous SDR SLC Parallel NOR Flash。code

2.2 Parallel NOR內存模型

  NOR內存單元從大到小通常分爲以下5層:Device、Block、Sector、Page、Byte,其中Byte、Page和Sector是必有的,由於Byte是讀取的最小單元(便可以任意地址隨機訪問),Page是編程的最小單元,Sector是擦除的最小單元,而Block則不是必有的(如沒有,可認爲Block=1)。orm

Note: 關於Block有一點須要特別說明,即NOR的RWW(Read While Write)特性,咱們知道NOR是能夠存儲代碼直接原地執行XIP的,若是在某個Block裏執行代碼(即CPU從NOR中讀取指令數據)的同時去擦除或編程這塊Block會發生什麼狀況呢?有些NOR是支持這種RWW操做的,但也有的NOR不支持RWW(此時會產生hardfault/lockup),Block的存在是爲了規避RWW問題,RWW問題的做用範圍是Block,若是某Block中執行代碼擦除/編程的是另外一塊Block,則徹底不用擔心RWW問題。htm

2.3 Parallel NOR信號與封裝

  CFI手冊裏並無明確規定Parallel NOR信號線與封裝,但業界有默認的標準,從信號線角度來講NOR和SRAM基本是同樣的,以下是典型的Parallel NOR內部結構圖,除了內存單元外,還有三大組成,分別是控制單元、地址譯碼單元和輸出緩衝單元,信號線主要掛在這三大組成上,關於各信號線具體做用,請查閱相關文檔。對象

  NOR芯片根據Flash size大小不一樣封裝也不盡相同,以經典的128Mb容量的ADP NOR芯片爲例,其封裝通常有三種TSOP-56, TFBGA-56, LFBGA-64,下圖是TSOP-56封裝信號分佈:

2.4 Parallel NOR接口命令

  CFI手冊裏也沒有明確規定Parallel NOR接口命令,一樣地業界仍是有默認的標準,以下是從Micron MT28EW系列手冊裏截取的部分基本命令,包括Reset、Read、Read CFI、Program(Word program)、Buffer Program、Block(Sector) Erase,涵蓋讀寫擦最基本的三種操做,這些基本命令在主流廠商的NOR產品裏都被支持。此外,NOR還支持更多高級命令(Blank Check、security/protect相關,lower power相關等),那些命令因Device而異,不是本文討論重點。









  除了讀寫擦這三個最基本命令外,還有一個Data Polling機制也很是經常使用,這個機制用於獲取命令(主要是Program/Erase)執行狀態與結果,當Program/Erase命令發給NOR device以後,NOR device是經過DQ[7:0]引腳來返回命令執行狀態的,各bit意義以下圖所示,簡單來講DQ3(Erase timer bit)代表操做的開始,DQ5(Error bit)代表操做過程當中是否發生硬件錯誤,DQ6(Toggle bit)代表操做是否結束。


  下圖爲Toggle bit檢測的流程圖,這個檢測流程是最經常使用的,主要用於確認Program/Erase操做是否成功地執行了。

  此外,還有一個必有命令不得不提,這個命令是Read CFI,用於獲取芯片內部存儲的出廠信息(包括內存結構、特性、其餘行爲參數等),這個query table最多由五部分組成,其結構已由CFI規定以下表,痞子衡已經圈出了一些重要信息,在設計NOR軟件驅動時,能夠經過獲取這個query table來作到代碼通用。




2.5 Parallel NOR數據速率

  數據存取速率是個重要的技術指標,對於這個指標,CFI手冊裏並無定義,因此須要根據NOR Flash手冊裏的AC characteristics表來肯定。以異步模式Read命令爲例講解(以Micron生產的型號爲MT28EW128ABA爲例),下面是Read的兩種模式Random Read和Page Read完整時序簡圖:


  從上述時序圖,咱們能夠知道Page Read平均數據率確定是比Random Read要高的,那麼這兩種數據率分別能達到多少呢?可繼續參看以下時序參數表,tRC最小爲70ns,那麼Random Read數據率最大爲2Bytes/70ns = 228.571Mbps,而tPAGE最大爲20ns,那麼Page Read的數據率最小爲2Bytes / 20ns = 800Mbps。(注:均以x16 Device爲例)

  若是想快捷地瞭解NOR Flash的性能,最簡單的就是打開NOR Flash手冊,看首頁的feature介紹,以下是MT28EW128ABA的簡要feature:

• Single-level cell (SLC) process technology
• Density: 128Mb
• Supply voltage
  – VCC = 2.7–3.6V (program, erase, read)
  – VCCQ = 1.65 - VCC (I/O buffers)
• Asynchronous random/page read
  – Page size: 16 words or 32 bytes
  – Page access: 20ns
  – Random access: 70ns (VCC = VCCQ = 2.7-3.6V)
  – Random access: 75ns (VCCQ = 1.65-VCC)
• Buffer program (512-word program buffer)
  – 2.0 MB/s (TYP) when using full buffer program
  – 2.5 MB/s (TYP) when using accelerated buffer program (VHH)
• Word/Byte program: 25us per word (TYP)
• Block erase (128KB): 0.2s (TYP)
• Memory organization
  – Uniform blocks: 128KB or 64KW each
  – x8/x16 data bus
• CFI (Common Flash Interface) support

3、SLC Parallel NOR產品

  最後痞子衡收集了能夠售賣SLC Parallel NOR芯片的廠商及產品系列:

廠商 芯片系列 官方網址
Micron MT28EW, MT28FW https://www.micron.com
parallel-nor-part-catalog
Macronix MX68GL
MX29LA, MX29GL, MX29GA, MX29LV
MX29VS, MX29NS, MX29SL, MX29F
http://www.macronix.com
parallel-nor-part-catalog
Winbond W29GL http://www.winbond.com.tw
parallel-nor-part-catalog
Spansion S29GL, S29AL, S29AS, S29PL http://www.cypress.com/
parallel-nor-part-catalog
ISSI IS29GL www.issi.com
parallel-nor-part-catalog
Microchip SST38VF, SST39VF https://www.microchip.com
parallel-nor-part-catalog

  至此,CFI標準及SLC Parallel NOR痞子衡便介紹完畢了,掌聲在哪裏~~~

相關文章
相關標籤/搜索