日韩欧美自拍在线观看-欧美精品在线看片一区二区-高清性视频一区二区播放-欧美日韩女优制服另类-国产精品久久久久久av蜜臀-成人在线黄色av网站-肥臀熟妇一区二区三区-亚洲视频在线播放老色-在线成人激情自拍视频

NAND FLASH在基于CCM3118稅控收款機上的應用

出處:HIGHWAY 發(fā)布于:2007-06-02 14:54:18

 引言
       CCM3118是蘇州國芯公司一款32位高性能、低功耗SoC芯片,以32位C*CORE C310處理器為,并有3個串口,2個智能卡接口,1個PS/2接口,1個LCDC控制器,多達72個通用輸入輸出引腳(GPIO)等豐富資源,在稅控收款機、POS機等領域廣泛應用。稅控收款機所管理的商品、發(fā)票、銷售記錄等數(shù)據(jù)量非常大,并且國家稅控機標準中對數(shù)據(jù)的保存時間、可靠性有明確要求,故需要一種大容量、單位比特價格低、讀寫性能好、能夠長時間可靠保存數(shù)據(jù)的非易失存儲器。
       NOR和NAND是現(xiàn)在市場上兩種主要的非易失閃存技術。NOR FLASH較早為業(yè)界采用,但由于其成本較高及寫入速度較慢的先天弱勢,使其僅能在注重執(zhí)行速度或小量數(shù)據(jù)儲存的地方使用。NAND FLASH結構強調降低每比特的成本,更高的性能,并且象磁盤一樣可以通過接口輕松升級,是高密度數(shù)據(jù)存儲的理想解決方案。
&n
 
bsp;      1  NAND FLASH芯片
       1.1 芯片介紹
       NAND FLASH是采用NAND結構技術的非易失存儲器,內存有8位和16位兩種組織形式,本文所討論的FLASH都是8位的。FLASH的I/O接口可用于控制命令和地址的輸入,也可用于數(shù)據(jù)的輸入和輸出。FLASH主要以頁為單位進行讀寫(也能夠以字節(jié)為單位進行讀寫),以塊為單位進行擦除。FLASH頁的大小和塊的大小不同類型塊結構而不同,塊結構有兩種:小塊(圖一)和大塊(圖二),小塊FLASH包含32個頁,每頁512+16字節(jié);大塊FLASH包含64頁,每頁2048+16字節(jié)。

小塊類型FLASH

點擊看原圖



                                                      (圖一,小塊類型FLASH)

大塊類型FLASH

點擊看原圖



(圖二,大塊類型FLASH)

      大塊和小塊FLASH都有與頁大小相同大小的頁寄存器,用于數(shù)據(jù)緩存。當讀數(shù)據(jù)時,先從FLASH內存單元把數(shù)據(jù)讀到頁寄存器,外部通過訪問FLASH I/O端口獲得頁寄存器中數(shù)據(jù)(地址自動累加);當寫數(shù)據(jù)時,外部通過FLASH I/O端口輸入的數(shù)據(jù)首先緩存在頁寄存器,寫命令發(fā)出后才寫入到內存單元中。

  FLASH典型的讀操作時間為50ns/字,寫操作時間為200us/頁,擦除操作時間為2ms/塊,塊擦寫次數(shù)超過100K,數(shù)據(jù)保存時間超過10年。
       1.2 固有特性
       NAND FLASH自身有一些特性,導致其不能象普通磁盤那樣進行操作。主要特性如下:

  a)        出廠時可能存在壞塊,并且使用過程中也會有壞塊出現(xiàn)。

  b)        按頁寫,按塊擦除。

  c)        寫操作只能在空或已擦除的單元內進行。

  d)        塊的擦寫壽命有次數(shù)限制。

  e)        塊擦除時間與頁讀寫時間相比十分長。
       需要通過軟件的支持來消除這些特性導致的不足,使得能象操作普通磁盤一樣進行FLASH操作。 2  CCM3118操作NAND FLASH工作原理
       CCM3118提供多達72個通用輸入輸出引腳,擴展與FLASH的接口非常簡單、方便,CCM3118與K9F5608 NAND FLASH的接口電路圖如圖三所示:



                                           &nb

 

sp;  (圖三,K9F5608與CCM3118接口電路圖)
       通過軟件把CCM3118相關引腳設置為GPIO功能,并設置其方向。按照FLASH讀、寫、擦除操作時序要求操作這些I/O引腳。圖四、圖五、圖六分別是K9F5608系列小塊FLASH的讀、寫、擦除操作時命令、地址、數(shù)據(jù)部分的序列:

 


 

讀操作序列

點擊看原圖


                                                               (圖四,讀操作序列)

寫操作序列

點擊看原圖


                                                              (圖五,寫操作序列)

擦除操作序列

點擊看原圖


                                                              (圖六,擦除操作序列)
       在操作序列中,通過對R/B信號的判斷可以知道操作是否結束。對于寫和擦除操作,在寫命令(0x10H)和擦除命令(0xD0H)發(fā)出之后才進行真正的操作,操作結束后,可以通過發(fā)命令(0x70H)查詢操作是否成功。 3  閃存固件程序設計
       閃存固件程序的需求來源于FLASH本身的物理機制(用I/O接口傳送控制命令、地址和數(shù)據(jù)信息),和其固有特性導致的不足。所以在考慮軟件設計的時候,應該區(qū)別基本的讀/寫/擦操作和高的用于磁盤仿真和閃存管理的算法。FLASH基本的讀/寫/擦操作,通常稱作為內存技術驅動程序(MTD-- Memory Technology Devices);高的磁盤仿真和閃存管理,通常稱作為閃存轉換層(FTL-- Flash TranslationLayer)。FTL層的管理程序調用MTD接口進行數(shù)據(jù)的存取,閃存固件程序的架構如圖七所示。


閃存固件程序架構

                       &n

 
bsp;                                     (圖七,閃存固件程序架構)
       3.1 MTD層
       不同廠商、不同F(xiàn)LASH結構導致閃存的控制命令有所差異,不同容量導致地址字節(jié)數(shù)不同。例如三星K9F5608系列讀數(shù)據(jù)方式是:控制命令0x00H,3個字節(jié)的地址,讀信號,但K9F1G08系列讀數(shù)據(jù)方式是:控制命令0x00H,5個字節(jié)的地址,控制命令0x30H,讀信號。
       在MTD層需要針對這些差異,實現(xiàn)相應的驅動。而且MTD層應該封裝這些差異向FTL層提供統(tǒng)一的接口,使得FTL層能夠訪問任意物理地址的數(shù)據(jù),而不關心控制命令序列和地址字節(jié)數(shù)。值得注意的是雖然上層的應用都是以扇區(qū)(在FLASH里稱為頁)為單位讀寫數(shù)據(jù),但FTL層的管理程序需要對FLASH的冗余數(shù)據(jù)區(qū)(SPARE AREA)進行數(shù)據(jù)操作(一般FTL層的管理程序所用的數(shù)據(jù)存放在冗余數(shù)據(jù)區(qū)),所以MTD層也需要提供字節(jié)地址而不僅僅是頁地址的訪問能力。
       3.2 FTL層
       FTL層的管理程序主要目的是消除FLASH固有特性帶來的不足,讓上層應用程序以類似于磁盤的方式對FLASH進行操作。
       3.2.1 初始化
       在FLASH出廠時已經(jīng)對壞塊做了標記,所以閃存芯片在被次訪問時需要根據(jù)廠方定義的壞塊識別方法識別出所有壞塊,建立壞塊表,避免以后對這些壞塊進行操作。
       3.2.2 Block Management
       除了在出廠時由廠方標記壞塊外,在FLASH寫或擦除后也能夠通過讀取FLASH狀態(tài)來識別出剛操作的塊是否壞,如果是壞塊則需要在壞塊表里標記出來。
       由于壞塊的存在導致不能按照物理地址連續(xù)的存取數(shù)據(jù),并且為了使上層應用不關心FLASH物理地址是否連續(xù),需要提供一種機制把上層傳來的地址(邏輯地址)轉為FLASH相應的物理地址。在讀數(shù)據(jù)時,根據(jù)邏輯地址找到對應的物理地址;在寫數(shù)據(jù)時,根據(jù)Wear-Leveling算法得到物理地址后,更新邏輯地址與物理地址的對應關系。
3.2.3 Wear-Leveling
       由于FLASH塊的擦寫有次數(shù)限制,所以不能對同一個塊進行頻繁的寫或擦除操作,也就是盡量讓每一個塊有均等的擦寫機會。Wear-Leveling算法有兩個層次:

  1.   新的數(shù)據(jù)寫到少被使用的空閑塊。

  2.   長期不變的數(shù)據(jù)被拷貝到另外的塊中,它原先占用的塊被頻繁更新的數(shù)據(jù)使用。
       3.2.4 Block Replacement
       當往FLASH某一頁寫數(shù)據(jù)后,通過讀取FLASH狀態(tài)可以知道操作是否成功,如果失敗則當前塊要被標記為壞塊,由于當前頁寫失敗并不影響同一塊中其它頁的數(shù)據(jù),所以需要把這些數(shù)據(jù)拷貝到新的塊中。
       由于FLASH具有按頁寫,按塊擦除的特性,在對FLASH某塊中一頁更新而又要擦除該塊時,也需要通過塊替換把其它頁拷貝到一個新塊中。
       3.2.5 Garbage Collectio

 
n
       由于FLASH寫操作只能在空或已擦除的單元內進行,并且相對于讀寫操作,擦除操作的時間十分長。所以在更新數(shù)據(jù)時并不是把數(shù)據(jù)所在的塊擦除后在寫入數(shù)據(jù),而是找一個新的空閑塊寫入數(shù)據(jù),把先前的塊標記為舍棄,在系統(tǒng)空閑的時候擦除那些標記為舍棄的塊。
       3.2.6 FTL接口
       向上一層提供一個連續(xù)的、沒有壞塊的、以扇區(qū)為單位訪問的地址空間及存取接口。
       4  結論
       NAND FLASH這種高密度、存取性能高、單片容量不斷增加的存儲器可滿足稅控收款機對大批量數(shù)據(jù)存儲的需求;CCM3118豐富的GPIO資源可以非常簡單的實現(xiàn)對FLASH操作,達到大容量數(shù)據(jù)存儲擴展的目的;針對FLASH固有特性的程序設計能有效的消除NAND FLAH自身的缺陷,滿足稅控收款機對數(shù)據(jù)存取高可靠性的要求。
參考文獻

  1           Samsung Electronics Datasheet. Samsung—K9F5608(16)q(u)0b
       2           Samsung Electronics Datasheet. Samsung—K9F2G08X0M
       3           蘇州國芯科技有限公司CCM3118 Data sheet.


  
關鍵詞:NAND FLASH在基于CCM3118稅控收款機上的應用K9F5608K9F1G08C310

版權與免責聲明

凡本網(wǎng)注明“出處:維庫電子市場網(wǎng)”的所有作品,版權均屬于維庫電子市場網(wǎng),轉載請必須注明維庫電子市場網(wǎng),http://www.hbjingang.com,違反者本網(wǎng)將追究相關法律責任。

本網(wǎng)轉載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點或證實其內容的真實性,不承擔此類作品侵權行為的直接責任及連帶責任。其他媒體、網(wǎng)站或個人從本網(wǎng)轉載時,必須保留本網(wǎng)注明的作品出處,并自負版權等法律責任。

如涉及作品內容、版權等問題,請在作品發(fā)表之日起一周內與本網(wǎng)聯(lián)系,否則視為放棄相關權利。

K9F1G08U0C-PCB0 閃存芯片
廣告
OEM清單文件: OEM清單文件
*公司名:
*聯(lián)系人:
*手機號碼:
QQ:
有效期:

掃碼下載APP,
一鍵連接廣大的電子世界。

在線人工客服

買家服務:
賣家服務:
技術客服:

0571-85317607

網(wǎng)站技術支持

13606545031

客服在線時間周一至周五
9:00-17:30

關注官方微信號,
第一時間獲取資訊。

建議反饋

聯(lián)系人:

聯(lián)系方式:

按住滑塊,拖拽到最右邊
>>
感謝您向阿庫提出的寶貴意見,您的參與是維庫提升服務的動力!意見一經(jīng)采納,將有感恩紅包奉上哦!