《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 業界動態 > 公共閃存接口CFI在Flash Memory程序設計中的應用

公共閃存接口CFI在Flash Memory程序設計中的應用

2009-02-06
作者:胡永慶 陳 萍 梁學東

  摘 要: 介紹了閃速存儲器(Flash Memory)的公共閃存接口(CFI)結構,以及系統軟件如何利用CFI獲取Flash Memory的各種參數,實現對各種Flash Memory的程序設計。
  關鍵詞: 閃速存儲器 公共閃存接口CFI 命令用戶接口CUI


  自從Intel公司于1988年推出了可快速擦寫的非易失性存儲器Flash Memory以來,快速擦寫存儲器Flash Memory技術就得到了非常迅速的發展。這主要是由于Flash Memory具有不需要存儲電容器、集成度更高、制造成本低于DRAM、使用方便,讀寫靈活、訪問速度快、斷電后不丟失信息等特點。
  雖然Flash Memory應用越來越廣泛,但由于生產Flash Memory的半導體制造商眾多,不同廠商Flash Memory產品的操作命令集和電氣參數又千差萬別,這給Flash Memory的開發設計人員和OEM制造商帶來許多不便。為了對現有的Flash Memory的產品進行升級或使用其它公司的Flash Memory產品替換,必須對原有的程序代碼和硬件結構進行修改。為解決上述原因所引發的問題,迫切需要Flash Memory制造商提出一個公共的標準解決方案,在這樣的背景下,公共閃存接口(Common Flash Interface,簡稱CFI)誕生了,CFI是一個公開的標準的從Flash Memory器件中讀取數據的接口。它可以使系統軟件查詢已安裝的Flash Memory器件的各種參數,包括器件陣列結構參數、電氣和時間參數以及器件支持的功能等。利用CFI可以不用修改系統軟件就可以用新型的和改進的產品代替舊版本的產品。例如:如果新型的Flash Memory的擦除時間只有舊版本的一半,系統軟件只要通過CFI讀取新器件的擦除時間等參數,修改一下定時器的時間參數即可。為了充分有效地利用CFI所提供的功能,有必要了解一下以下幾個方面的問題。
1 Flash Memory的工作方式
  對Flash Memory芯片的所有操作都是通過芯片的命令用戶接口(CUI)來實現的,命令用戶接口是微處理器或微控制器與芯片內部操作之間的界面。當通過CUI寫入不同的控制命令時,Flash Memory從一個工作狀態轉移到另一個工作狀態,其常見的工作狀態分為以下幾種。
1.1 讀存儲單元操作
  在Flash Memory芯片上電以后,或者從深度低功耗狀態返回以后,芯片就處于讀存儲單元狀態。可通過寫入復位命令進入讀存儲單元狀態。此時可以讀取Flash Memory芯片存儲單元的內容,讀存儲單元的操作與SRAM相同,但不同公司的產品邏輯電源供電電壓(Vcc)是不同的。
1.2 擦除操作
  對Flash Memory芯片進行擦除操作時,由于Flash Memory采用模塊分區的陣列結構,使得各個存儲模塊可以被獨立地擦除,當給出的地址是在模塊地址范圍之內且向命令用戶接口寫入模塊擦除命令時,相應的模塊就被擦除。在執行擦除操作時有三個問題需要注意:(1)由于Flash Memory采用模塊分區的陣列結構,不同型號的Flash Memory產品模塊分區的數量和每個分區的大小是不一樣的;(2)不同型號的Flash Memory產品在執行擦除操作時,擦除電壓是不一樣的;(3)不同型號的Flash Memory產品整片擦除時間和每個模塊分區的擦除時間參數是不同的。
1.3 編程操作
  Flash Memory 的編程操作是自動字節編程,既可以是順序寫入,也可以是指定地址寫入。向用戶命令接口寫入字節編程命令時,芯片自動進行字節編程和編程校驗。在執行編程操作時有兩個問題需要注意:(1)對不同型號的Flash Memory產品進行編程操作時編程電壓是不一樣的;(2)不同型號的Flash Memory產品字節/字編程時間是不同的。所有這些問題都是在系統程序設計時必須要考慮的問題。
  除了以上所提到的常見的三種工作方式外,Flash Memory還有芯片復位、讀標識碼、擦除掛起和擦除恢復等工作方式,只不過這幾種工作方式在程序設計時幾乎不需要考慮什么問題,只要輸入正確的命令字即可,但是不同公司的Flash Memory命令控制字是不同的。前面所遇到的問題,都可以通過CFI來解決,但首先要保證待操作的Flash Memory是一個CFI使能的器件。
2 CFI使能器件的識別
  為了確定一個閃速存儲器是否是一個CFI使能的Flash Memory器件,系統軟件首先要通過CUI往閃速存儲器的地址55H寫入數據98H,然后從器件的地址10H處開始通過數據總線連續讀取3個存儲單元中的內容,如果數據總線返回的3個存儲單元的字符分別為‘Q’、‘R’和‘Y’,那么該器件是一個CFI使能的Flash Memory器件。
  由于Flash Memory內部的陣列結構各不相同,從器件返回查詢字符‘Q’的地址和數量亦不同。目前常見的Flash Memory內部陣列結構主要有以下三種模式:
  (1) 單片×16結構,該芯片有8位訪問能力,但只能操作在16位總線模式;
  (2) 雙片×8/16結構,每片既有8位又有16位總線存儲模式,但每片僅能操作在8位總線模式,整個芯片陣列結構為16位總線;
  (3) 雙片×16結構,每片僅有8位總線存儲模式,且每片僅能操作在8位總線模式,整個芯片陣列結構為16位總線。
  在判決一個Flash Memory是CFI使能器件后,軟件程序要根據從器件返回的查詢字符'Q'的數量來確定Flash Memory的陣列結構,并以此來保證對器件正確的讀寫操作。
3 公共閃存接口的結構
  在識別器件為CFI使能器件后,通過查詢命令來讀取CFI查詢結構或數據庫,這些數據的地址和含義如表1,在表1中地址13H處為制造商命令集和控制接口識別碼ID信息,其數據代表的含義如表2所示。
  表1 CFI數據結構(數據庫)的地址和含義表
  地址 長度  含 義      舉例 Intel
                  28F800BVT
  10H  03H  查詢ASCII     10:0051H ‘Q’
         字符串      11:0052H ‘R’
         “QRY”      12:0059H ‘Y’
  13H  02H  制造商命令集   13:0003H
         和控制接口    14:0000H
         識別碼ID
  1BH  01H  邏輯供電     1B:0030H
         Vcc最小電壓    (3伏)
         位7-4:BCD
         伏
         位3-0:BCD
         100毫伏
  1CH  01H  邏輯供電     1C:0055H
         Vcc最大電壓    (5.5伏)
         位7-4:BCD
         伏
         位3-0:BCD
         100毫伏
  1DH  01H  編程/擦除供電   1B:0045H
         Vpp最小電壓    (4.5伏)
         位7-4:BCD
         伏
         位3-0:BCD
         100毫伏
  1EH  01H  編程/擦除供電Vpp  1C:00C6H
         最大電壓       (12.6伏)
         位7-4:BCD
         伏
         位3-0:BCD
         100毫伏
  1FH  01H  典型單字節/字    1F:0003H
         寫周期定時      N=3,8微秒
         時間,2N微秒
  21H  01H  典型單塊擦      21:000AH
         除定時時間,     (1.024秒)
         2N毫秒
  22H  01H  典型整片擦      22:0000H
         除定時時間,     (不支持)
         2N毫秒
  23H  01H  單字節/字寫周期    23:0004H
         最大定時時間,     24×8微秒
         2N×典型單字節/字
         寫周期定時時間
  25H  01H  單塊擦除最大     23:0004H
         定時時間,       24×1.024秒
         2N×典型單塊
         擦除定時時間
  26H  01H  整片擦除最大     26:0000H
         定時時間,       (不支持)
         2N×典型整片
         擦除定時時間
  27H  01H  器件體積=      27:0014H
         2N字節        214=1M字節
  28H  02H  Flash器件接口     28:0002H
         識別碼ID       29:0000H
  2CH  01H  器件可擦除塊     2C:0004H
         區域個數       4個擦除塊
         Bit=7-0=可
         擦除塊個數
  2DH  04H  擦除塊區域1      2D:0006H
         信息:         2E:0000H
         bits 31-16      7個擦除塊
         =z,該區域每個     2F:0000H
         擦除塊體積=     30:0002H
         z×256字節      256×200H
         bits 15-0=y,    =128K字節
         該擦除塊區域內
         含同樣體積
         擦除塊的個數
         =y+1
  31H  04H  擦除塊區域2      31:0000H
         信息:         32:0000H
                    33:0080H
                    34:0001H
  35H  04H  擦除塊區域3 35:0001H
         信息: 36:0000H
                    37:0020H
                    38:0001H
  39H  04H  擦除塊區域4 39:0000H
         信息: 3A:0000H
                    3B:0040H
                    3C:0000H

  表2 制造商命令集和控制接口識別碼ID定義表
  數值    制造商     ????? 含 義
  0000H    空
  0001H    Intel/      Intel/Sharp擴展命令集
         Sharp  
  0002H    AMD/       AMD/Fujitsu標準命令集
         Fujitsu  
  0003H    Intel  ?  ? Intel標準命令集
  0004H    AMD/       AMD/Fujitsu擴展命令集
         Fujitsu  
  0100H    Mitsubishi   Mitsubishi標準命令集
  0101H    Mitsubishi   Mitsubishi擴展命令集
  FFFFH    N/A         保 留
4 CFI查詢操作軟件流程
  從表1中可以看到CFI提供了一種公開的標準的數據信息,系統軟件能夠利用這些信息使用不同制造商的命令集、調整擦除和編程定時時間、根據擦除塊區域信息調整存儲器體積大小等。系統軟件要在CFI查詢操作中讀取CFI提供的主要數據信息,利用這些信息很容易對各種Flash Memory進行程序設計。CFI的查詢操作的程序框圖如圖1所示。


參考文獻
1 Common Flash Interface (CFI) and Command Sets. Intel Corporation, 1997(11)
2 Common Flash Memory interface Specification.Intel Corporation,1997(5)
3 Common Flash Memory Interface Publication 100.AMD Corporation, 1996(7)
4 竇振中.單片機外圍器件使用手冊:存儲器分冊. 北京:北京航空航天大學出版社,1998.4

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
国产精品腿扒开做爽爽爽挤奶网站| 在线观看国产欧美| 久久青草久久| 午夜在线成人av| 一区二区日韩| 亚洲免费激情| 日韩午夜在线| 亚洲精品一区二区三区不| 久久爱www久久做| 亚洲欧美日韩国产一区二区| 一区二区三区高清不卡| 日韩视频一区二区三区| 亚洲激情一区二区| 在线免费观看日本欧美| 在线观看日韩| 亚洲国产日韩欧美一区二区三区| 亚洲国产精品激情在线观看| 在线观看一区视频| 亚洲成人中文| 亚洲福利久久| 91久久久在线| 亚洲乱码久久| 一二美女精品欧洲| 亚洲香蕉网站| 亚洲在线观看免费| 亚洲女人天堂av| 欧美一区高清| 久久精品人人做人人爽| 亚洲国产欧美一区二区三区丁香婷| 亚洲大片在线观看| 亚洲激情视频网站| 亚洲精品综合精品自拍| 夜夜嗨av一区二区三区免费区| 日韩午夜在线视频| 亚洲午夜久久久久久久久电影网| 亚洲免费在线精品一区| 午夜日韩激情| 久久久99久久精品女同性| 女人天堂亚洲aⅴ在线观看| 欧美承认网站| 欧美日韩亚洲一区二| 国产精品久久久久免费a∨大胸| 国产精品网站在线观看| 国产亚洲毛片在线| 伊伊综合在线| 日韩午夜免费| 亚洲女人av| 亚洲国产第一| 正在播放亚洲| 欧美在线观看天堂一区二区三区| 久久久夜夜夜| 欧美精品在线极品| 国产精品久久97| 狠狠色伊人亚洲综合成人| 亚洲第一页中文字幕| 亚洲精选中文字幕| 亚洲欧美另类久久久精品2019| 久久成人羞羞网站| 99热精品在线| 欧美一区二区三区免费大片| 老司机一区二区三区| 欧美日韩国产欧美日美国产精品| 国产精品老女人精品视频| 国内精品模特av私拍在线观看| 最近看过的日韩成人| 亚洲影院在线| 亚洲精品国产精品国自产在线 | 欧美亚洲一区| 亚洲免费观看高清完整版在线观看熊 | 欧美久久久久久久久| 久久香蕉国产线看观看网| 欧美激情综合色| 国产美女精品人人做人人爽| 亚洲国产经典视频| 午夜日韩激情| 99国产精品久久久久久久成人热| 欧美在线视频免费播放| 欧美男人的天堂| 国产午夜精品一区理论片飘花| 亚洲国产视频直播| 午夜精品影院在线观看| 99热精品在线观看| 久热精品视频在线免费观看| 国产精品毛片| 亚洲精品人人| 亚洲国产另类久久精品| 午夜免费日韩视频| 欧美日韩1234| 在线免费观看视频一区| 亚洲欧美日韩一区二区三区在线观看 | 欧美大片在线观看| 国产欧美日韩亚州综合| 亚洲美女中出| 亚洲精品中文字| 噜噜噜久久亚洲精品国产品小说| 国产精品丝袜白浆摸在线| 亚洲精品综合精品自拍| 久久精品国产清高在天天线| 亚洲精品国产精品乱码不99| 久久国产精品一区二区| 国产精品国产三级国产aⅴ无密码| 最新日韩欧美| 亚洲激情国产精品| 久久综合网络一区二区| 国产日韩精品一区观看| 在线亚洲欧美| 亚洲视频一区二区| 欧美激情视频在线播放| 在线观看欧美成人| 性色一区二区| 久久成人18免费网站| 国产精品久久久久久亚洲毛片| 亚洲精品在线免费观看视频| 最新高清无码专区| 免费中文字幕日韩欧美| 国产一区二区三区成人欧美日韩在线观看| 亚洲视频狠狠| 亚洲影视中文字幕| 欧美深夜影院| 亚洲最新视频在线| 夜夜爽99久久国产综合精品女不卡 | 亚洲国产成人午夜在线一区| 亚洲国产精品日韩| 久久婷婷亚洲| 国内精品久久久久久久果冻传媒| 欧美在线视频免费| 久久久国产精品一区| 国内不卡一区二区三区| 亚洲第一福利视频| 女女同性女同一区二区三区91| 在线成人av| 亚洲黄色精品| 欧美激情二区三区| 99在线热播精品免费99热| 亚洲视频综合在线| 欧美视频精品在线| 亚洲亚洲精品在线观看| 欧美一区二区三区视频在线| 国产伦理一区| 久久精品国产久精国产思思| 另类春色校园亚洲| 亚洲国产婷婷综合在线精品| 9l国产精品久久久久麻豆| 欧美体内she精视频在线观看| 亚洲天堂视频在线观看| 欧美一区二区三区免费大片| 国产日韩久久| 亚洲激情av| 欧美日韩精品二区| 一区二区三区精品在线| 亚洲女性裸体视频| 国产一本一道久久香蕉| 91久久久亚洲精品| 欧美日韩在线视频一区| 亚洲免费一级电影| 久久久午夜电影| 亚洲国产天堂久久国产91| 中国成人黄色视屏| 国产精品一区二区三区久久| 久久精品一区二区| 欧美精品在线观看91| 亚洲性感美女99在线| 久久久久久国产精品一区| 亚洲国产精品va在线观看黑人| 中文欧美日韩| 国产亚洲欧美在线| 亚洲日韩视频| 国产精品视频999| 亚洲第一狼人社区| 欧美日韩123| 性久久久久久久久| 欧美精品日韩综合在线| 亚洲影院一区| 欧美大片免费| 亚洲愉拍自拍另类高清精品| 久久嫩草精品久久久久| 亚洲毛片在线| 久久裸体艺术| 亚洲欧洲精品一区二区精品久久久| 亚洲欧美日韩精品| 亚洲第一伊人| 午夜久久黄色| 亚洲国产裸拍裸体视频在线观看乱了中文 | 欧美国产第一页| 亚洲欧美日韩一区二区在线| 欧美激情va永久在线播放| 亚洲欧美另类在线| 欧美激情一区二区三区全黄| 亚洲欧美日韩一区二区三区在线观看| 牛牛精品成人免费视频| 亚洲在线免费| 欧美激情在线免费观看| 欧美影院一区| 国产精品福利在线| 亚洲激情成人网| 国产欧美三级| 一区二区三区视频在线播放| 黄色亚洲网站| 欧美一区二区精品久久911| 亚洲日本va午夜在线影院|