NOR Flash、NAND Flash、SPI Flash、CFI Flash
Flash Memory(閃存,Flash不是縮寫!)是非易失存儲器,可以對其內部稱為塊(Block)的存儲器單元進行擦寫和再編程。任何Flash器件的寫入操作只能在空或已擦除的單元內進行,所以大多數情況下,在進行寫入操作之前必須先對相關“扇區”或“存儲塊”執行擦除。
Flash存儲器主要分為NOR Flash和NAND Flash兩大類:
NOR Flash是Intel公司于1988年推出,其采用與SRAM相同的接口,地址線與數據線分開,可實現字節級的隨機讀取,且接口簡單讀取速度快,因此可直接在NOR Flash內運行程序。但是NOR Flash成本高、存儲密度低,目前主要占據了1MB~16MB的市場,此外其擦寫壽命較低(數十萬次),且最大的缺點在于寫入速度非常低(秒量級),不適合進行大量數據的存儲。因此NOR Flash通常用于存儲系統的啟動程序或操作系統程序。
NAND Flash是東芝在1989年的國際固態電路研討會(ISSCC)上發表的,NAND Flash器件使用復雜的I/O口來串行地存取數據,各個產品或廠商的方法可能各不相同,8個引腳用來傳送控制、地址和數據信息,需要借助外部主控和電路實現。NAND Flash具有較快的擦寫時間,而且每個存儲單元的面積也較小,這讓NAND Flash相較于NOR Flash具有較高的存儲密度與較低的每比特成本,目前占據了8MB~128MB的市場。同時它的可抹除次數也高出NOR Flash十倍(數百萬次)。然而NAND Flash的I/O接口并沒有隨機存取外部地址總線,它必須以區塊性的方式進行順序讀取,NAND Flash典型的區塊大小是數百至數千比特。因為多數MPU與MCU要求字節等級的隨機存取,所以NAND Flash不適合取代那些用以裝載程序的ROM。從這樣的角度看來,NAND Flash比較像光盤、硬盤這類的次級存儲設備。NAND Flash非常適合用于儲存卡之類的大量存儲設備。
然而就可靠性而言,NAND Flash中存在數量較多且隨機分布的壞塊,這導致其位交換現象(在某些情況下一個比特位會發生反轉或被報告反轉了)發生的次數要比NOR多,生廠商以前也曾有過消除壞塊的努力,但發現成品率太低,代價太高,根本不劃算。因此,NAND Flash器件需要對介質進行初始化掃描以發現壞塊,并將壞塊標記為不可用。在已制成的器件中,如果通過可靠的方法不能進行這項處理,將導致高故障率。一位的變化可能不很明顯,但是如果發生在一個關鍵文件上,這個小小的故障可能導致系統停機。如果只是報告有問題,多讀幾次就可能解決了。當然,如果這個位真的改變了,就必須采用錯誤探測/錯誤更正(EDC/ECC)算法。位反轉的問題更多見于NAND閃存,NAND的供應商建議使用NAND閃存的時候,同時使用EDC/ECC算法。這個問題對于用NAND存儲多媒體信息時倒不是致命的。當然,如果用本地存儲設備來存儲操作系統、配置文件或其他敏感信息時,必須使用EDC/ECC系統以確保可靠性。這將進一步增加NAND Flash的使用難度。
Flash器件的接口有串行(Serial Peripheral Interface, SPI)接口和并行(Common Flash Interface, CFI)接口,通常的搭配組合為SPI的NOR Flash和CFI的NAND Flash。
這是因為不同存儲容量的NOR Flash需要用到不同數量的引腳,這將會為芯片產品系列的封裝一致性帶來極大的不變,大大增加成本,此外NOR Flash通常只會用于存儲數據量較小的程序或系統參數,對數據的吞吐速率要求較低,用SPI(甚至是2倍/4倍SPI)完全能夠滿足要求;而NAND Flash通常用于存儲大量的多媒體數據或搭載文件系統,對數據吞吐速率要求高,因此有必要使用并行的CFI。
總結
以上是生活随笔為你收集整理的NOR Flash、NAND Flash、SPI Flash、CFI Flash的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 计算机图形学介绍
- 下一篇: 【PID优化】基于蝙蝠 粒子群 花卉授粉