Nand flash是flash存儲器的其中一種,Nand flash其內部采用非線性宏單元模式以及為固態大容量內存的實現提供了廉價有效的解決方案。NAND FLASH存儲器具有容量較大和改寫速度快等優點適用于大量數據的存儲,因而在業界得到了越來越廣泛的應用。NAND結構能提供極高的單元密度,可以達到高存儲密度,并且寫入和擦除的速度也很快。本篇文章存儲芯片供應商宇芯電子介紹關于NAND Flash 的存儲結構以及NAND Flash的接口控制設計。 NAND Flash 的存儲結構 大多數的NAND Flash都大同小異,所不同的只是該NAND Flash芯片的容量大小和讀寫速度等基本特性。 塊Block 是 NAND Flash 的擦除操作的基本/最小單位。頁是讀寫操作的基本單位。 每一個頁,對應還有一塊區域,叫做空閑區域/冗余區域,而在 Linux系統中﹐一般叫做OOB(Out Of Band)[2]。這個區域最初基于NAND Flash 的硬件特性﹐數據在讀寫時候相對容易出錯﹐所以為了保證數據的正確性,必須要有對應的檢測和糾錯機制,此機制被叫做EDC /ECC。所以設計了多余的區域﹐用于放置數據的校驗值。OOB的讀寫操作一般是隨著頁的操作一起完成的,即讀寫頁的時候,對應地就讀寫了OOB。OOB的主要用途:標記是否是壞塊﹐存儲ECC數據﹐存儲一些和文件系統相關的數據。 NAND Flash的接口控制設計 由于NAND Flash只有8個I/O引腳,而且是復用的,既可以傳數據﹐也可以傳地址、命令。設計命令鎖存使能(Command Latch Enable,CLE)和地址鎖存使能( Ad-dress Latch Enable,ALE),就是先要發一個CLE(或ALE)命令,告訴NAND Flash 的控制器一聲,下面要傳的圖1NAND Flash控制電路是命令(或地址)。這樣NAND Flash內部才能根據傳入的內容﹐進行對應的動作。相對于并口的NOR Flash 的48或52個引腳來說,大大減小了引腳數目,這樣封裝后的芯片體積小。同時減少了芯片接口﹐使用此芯片的相關的外圍電路會更簡化,避免了繁瑣的硬件連線。 NAND Flash的接口控制電路如圖1所示 |