Nor Flash芯片特性分析


Nor Flash是Intel在1988年推出的非易失閃存芯片,可隨機讀取,擦寫時間長,可以擦寫1~100W次,支持XIP(eXecute In Place)。

本文以JS28F512M29EWH為例分析Nor Flash芯片的特性以及讀、擦、寫、查詢等操作的具體實現原理。

 

1、芯片特性

1)頁大小32Bytes, 塊大小128KB, 寫緩沖區1KB(芯片廠家決定寫緩沖區大小)

2)隨機或者按頁讀取

3)以塊為單位擦除、寫入(擦除之后所有位默認為1)

4)WP#引腳決定鎖保護第一個塊或者最后一個塊(具體哪一個塊由芯片廠家決定)

5)Byte#引腳決定數據總線位寬,低電平時為x8模式,高電平時為x16模式(數據總線位寬,地址總線位寬由硬件連接和CPU控制器決定)

6)兼容JEDEC或者CFI協議(JEDEC制定)

7)Extended Memory Block

 

2、引腳說明

1)Address Inputs (A0~Amax)

地址輸入信號

2)Data Inputs/Outputs(DQ0~DQ7)

數據輸入輸出信號

3)Data Inputs/Outputs(DQ8~DQ14)

當BYTE#引腳為低電平(x8模式)時,DQ8~DQ14均為高阻態;當BYTE#為高電平(x16模式)時,DQ8~DQ14有效

4)Data Input/Output or Address Input (DQ15/A-1)

當BYTE#引腳為低電平(x8模式時),該引腳為A-1,即地址最低位;當BYTE#引腳為高電平(x16模式)時,該引腳為DQ15。

5)Chip Enable(CE#)

當CE#為低電平時,允許Bus Read和Bus Write操作;當CE#為高電平時,禁止Bus Read/Write操作

6)Output Enable(OE#)

輸出使能控制信號,控制Bus Read操作

7)Write Enable(WE#)

寫使能控制信號,控制Bus Write操作

8)Vpp/Write Protect(WP#)

當WP#引腳為低電平時,寫保護第一個或者最后一個塊。

備注:對於2Gbit或者1Gbit的Nor Flash,寫保護第一個塊和最后一個塊;對於低於1Gbit的Nor Flash,寫保護最后一個塊(芯片廠家自定義)

9)Reset(RST#)

復位信號

10)Ready/Busy Output(RY/BY#)

在擦寫操作時為低電平,在讀操作時為高電平

11)Byte/Word Organization Select(BYTE#)

BYTE#引腳為低電平時,為x8模式(數據總線位寬);為高電平時,為x16模式

 

3、Nor Flash硬件連線

  從引腳說明部分可以看到,Nor Flash有自己獨立的地址總線和數據總線,這樣的總線稱為Local Bus總線。

  通常,硬件設計上,x16模式下Nor Flash地址總線A0~An與處理器的地址總線A0~An是一一對應直連的。x8模式下錯一位,Nor Flash地址總線A-1~An-1與處理器地址總線A0~An一一對應。

 

4、命令集和工作模式

  Nor Flash的讀取和RAM很類似,但是不可以直接進行寫操作,對Nor Flash的寫操作需要遵循特定的命令序列,最終由芯片內部的控制單元完成寫操作。

  Nor Flash和Nand Flash一樣,必須先擦后寫。

  此外,Nor Flash芯片內部還寫入了一些特定信息,需要進入特定模式查詢。

  Nor Flash的Reset、Read、Program、Erase、Read CFI Query均需要通過上述命令序列才能實現。比如,往0x55地址寫入0x98,才能進入Read CFI Query模式獲取芯片預置信息。

 

5、CFI接口(Common Flash Interface)

  JEDEC(Joint Electron Device Engineering Council)即電子元件工業聯合會。JEDEC是由生產廠商們制定的國際性協議,主要為計算機內存制定。JEDEC用來幫助程序讀取Flash的制造商ID和設備ID,以確定Flash的大小和算法,如果芯片不支持CFI,就需使用JEDEC了。工業標准的內存通常指的是符合JEDEC標准的一組內存。

  不同公司的Nor Flash在erase/program/lock/unlock等操作上有差別,即command set不一致。

  CFI接口是由Intel, AMD, Sharp, Fujutsu推動JEDEC制定的一個通用接口,用來幫助程序讀取Flash的制造商ID和設備ID,確定Flash的大小,獲取Flash的各個物理特性,比如block塊的擦除時間等。CFI標准目前只支持Parallel Nor Flash,還不支持SPI Flash和Spansion的ORNAND Flash。

 

CFI標准包括以下五部分:

 

  CFI是一組標准的數據結構,通過Read CFI Query Command命令(往0x55地址寫0x98)進入Read CFI Query模式查詢。為統一起見,通過CFI接口查詢時,CFI接口地址均為Flash芯片的地址,通過CFI接口查詢到的數據,以D7~D0低字節為准。

 

1) CFI Query Identification String CFI查詢識別碼字符串

         在Read CFI Query模式,通過讀取查詢識別碼信息部分,可以判斷Nor Flash芯片是否支持CFI。

 

         比如,在x16模式下,讀取0x10開始的連續三個字節,如果為QRY字符串,則表示Nor Flash支持CFI。

2) System Interface String 系統接口字符串

         在Read CFI Query模式下,通過讀取系統接口信息部分,可以獲取Nor Flash芯片的電氣特性。

 

3) Device Geometry Definition 設備物理結構信息

         在Read CFI Query模式下,通過讀取設備物理結構信息部分,可以獲取Nor Flash芯片的容量、數據總線位寬、單次寫入字節數最大值、擦除塊大小等信息。

 

4) Primary Vendor-Specific Extended Query 原始設備提供商查詢信息

         在Read CFI Query模式下,通過讀取原始設備提供商信息部分,可以獲取廠商信息。

 

5) Alternate Vendor-Specific Extended Query 可選供應商自定義擴展查詢信息

         廠家自定義,一般不涉及。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM