《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 業(yè)界動(dòng)態(tài) > 公共閃存接口CFI在Flash Memory程序設(shè)計(jì)中的應(yīng)用

公共閃存接口CFI在Flash Memory程序設(shè)計(jì)中的應(yīng)用

2009-02-06
作者:胡永慶 陳 萍 梁學(xué)東

  摘 要: 介紹了閃速存儲(chǔ)器(Flash Memory)的公共閃存接口(CFI)結(jié)構(gòu),以及系統(tǒng)軟件如何利用CFI獲取Flash Memory的各種參數(shù),實(shí)現(xiàn)對(duì)各種Flash Memory的程序設(shè)計(jì)。
  關(guān)鍵詞: 閃速存儲(chǔ)器 公共閃存接口CFI 命令用戶接口CUI


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

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


參考文獻(xiàn)
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 竇振中.單片機(jī)外圍器件使用手冊(cè):存儲(chǔ)器分冊(cè). 北京:北京航空航天大學(xué)出版社,1998.4

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無(wú)法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問(wèn)題,請(qǐng)及時(shí)通過(guò)電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。
欧美激情办公室aⅴ_国产欧美综合一区二区三区_欧美午夜精品久久久久免费视_福利视频欧美一区二区三区

          国产精品午夜在线| 欧美婷婷久久| 亚洲精品一级| 韩国福利一区| 国产精品亚洲精品| 欧美日韩在线播放三区| 欧美高清一区二区| 麻豆久久久9性大片| 中文日韩在线视频| 99精品国产在热久久| 亚洲激情啪啪| 在线免费高清一区二区三区| 国产亚洲精品激情久久| 国产乱肥老妇国产一区二| 欧美午夜在线视频| 欧美日韩精品免费观看视频| 欧美激情亚洲激情| 欧美激情精品久久久六区热门 | 欧美一区二区三区在线看| 亚洲视频久久| 亚洲精品护士| 日韩一级欧洲| 亚洲无限av看| 亚洲综合激情| 欧美在线不卡| 久久偷窥视频| 欧美激情一二三区| 欧美三级午夜理伦三级中文幕| 欧美日韩你懂的| 欧美午夜精品久久久久久孕妇| 国产精品国产自产拍高清av| 国产精品久久777777毛茸茸| 国产精品久久久| 国产欧美精品一区二区色综合| 国产视频一区二区在线观看| 狠狠爱综合网| 亚洲精品欧美极品| 在线视频一区二区| 欧美一区二区三区四区在线| 久久久久久网址| 欧美国产欧美亚洲国产日韩mv天天看完整 | 久久资源在线| 欧美好骚综合网| 欧美日韩你懂的| 国产精品午夜春色av| 国产综合在线看| 亚洲激情亚洲| 亚洲影院在线观看| 久久久久欧美精品| 欧美国产日韩一二三区| 欧美日韩亚洲精品内裤| 国产伦精品一区二区三区视频孕妇 | 亚洲伦理在线观看| 亚洲一区二区三区四区五区黄| 性久久久久久| 蜜桃久久精品乱码一区二区| 欧美日韩国产高清| 国产美女精品视频免费观看| 国外成人在线视频| 亚洲精品一区在线| 欧美一级二级三级蜜桃| 麻豆久久久9性大片| 欧美视频一区在线观看| 国产一区二区在线观看免费| 最新中文字幕亚洲| 午夜精品久久99蜜桃的功能介绍| 老色批av在线精品| 国产精品国产精品国产专区不蜜| 伊人色综合久久天天五月婷| 亚洲欧洲一区二区天堂久久| 亚洲欧美在线高清| 欧美激情综合亚洲一二区| 国产精品制服诱惑| 亚洲伦理久久| 久久免费一区| 国产精品视频久久一区| 亚洲精品中文字幕有码专区| 欧美在线视频免费| 欧美视频精品在线| 亚洲高清123| 欧美夜福利tv在线| 欧美日韩免费高清| 在线免费观看欧美| 欧美一区二区三区在线看| 欧美日韩大陆在线| 亚洲福利视频网站| 欧美一区二区啪啪| 国产精品theporn| 最新日韩在线| 久久亚洲国产成人| 国产日韩精品一区观看| 一区二区三区视频免费在线观看| 免费91麻豆精品国产自产在线观看| 国产美女诱惑一区二区| 一区二区三区视频在线| 欧美顶级大胆免费视频| 韩国精品在线观看| 亚洲欧美国产毛片在线| 欧美日韩精品在线| 亚洲国产一区二区在线| 久久经典综合| 国产精品国产三级国产aⅴ9色| 亚洲国产小视频在线观看| 久久久99免费视频| 国产欧美日韩视频一区二区三区 | 99视频精品免费观看| 乱中年女人伦av一区二区| 黄色av成人| 久久精品123| 国产一区二区丝袜高跟鞋图片| 欧美在线高清| 国产欧美日韩综合精品二区| 亚洲一区视频在线| 欧美视频一区二区三区| 一本大道久久a久久精品综合| 欧美国产综合一区二区| 亚洲人成77777在线观看网| 亚洲欧美日韩国产一区二区三区| 国产精品大片wwwwww| 中文成人激情娱乐网| 欧美日本国产视频| 亚洲茄子视频| 欧美经典一区二区| 日韩亚洲综合在线| 欧美日韩一区二区免费视频| 一区二区三区国产在线| 国产精品va| 亚洲一区二区在线免费观看视频| 国产精品yjizz| 午夜精品久久99蜜桃的功能介绍| 国产美女精品| 久久精品视频在线| 一区在线播放视频| 女生裸体视频一区二区三区| 亚洲国产一区视频| 欧美日本二区| 亚洲图色在线| 国产精品乱码| 久久精品国产亚洲精品| 黄色资源网久久资源365| 麻豆亚洲精品| 日韩一级片网址| 欧美特黄一级| 亚洲欧美综合网| 国产自产v一区二区三区c| 久久日韩粉嫩一区二区三区| 亚洲人成高清| 国产精品国产三级国产专播精品人 | 欧美在线播放一区| 狠狠色香婷婷久久亚洲精品| 美女国产一区| 99这里有精品| 国产精品自拍三区| 久久综合九色综合欧美狠狠| 亚洲精品国产无天堂网2021| 欧美网站在线观看| 久久av红桃一区二区小说| 伊人久久大香线| 欧美日韩精品系列| 午夜精品电影| 亚洲国产一区二区三区青草影视| 欧美日韩你懂的| 久久精品30| 亚洲精品免费网站| 国产精品国产精品| 久久综合久久综合九色| 一区二区日韩| 国内精品视频久久| 欧美日本成人| 欧美一区午夜精品| 亚洲精选视频在线| 国产亚洲成av人片在线观看桃 | 欧美久久久久久久| 亚洲欧美中文在线视频| 136国产福利精品导航| 欧美性猛交xxxx免费看久久久| 久久精品国产第一区二区三区最新章节 | 亚洲免费激情| 国产日韩成人精品| 欧美激情综合色| 久久久久久久综合狠狠综合| 99精品热视频只有精品10| 国产日韩欧美综合| 欧美精品一区二区视频| 欧美一区免费视频| 亚洲精品一区中文| 国产一区二区三区精品欧美日韩一区二区三区 | 亚洲精品自在在线观看| 国产色婷婷国产综合在线理论片a| 久久亚洲精品欧美| 亚洲一区免费网站| 亚洲欧洲一区二区三区| 国产综合精品一区| 欧美亚洲成人网| 欧美成人免费全部观看天天性色| 新狼窝色av性久久久久久| 日韩亚洲欧美精品| 亚洲国产精品一区二区第四页av | 亚洲视屏在线播放| 亚洲高清不卡|