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