NAND FLash基礎概念介紹


一、引腳介紹

引腳名稱

引腳功能

CLE

命令鎖存功能

ALE

地址鎖存功能

/CE

芯片使能

/RE

讀使能

/WE

寫使能

/WP

寫保護

R/B

就緒/忙輸出信號

Vcc

電源

Vss

N.C

不接

IO0~IO7

數據傳輸、命令、地址


    1. 命令、地址、數據都通過8個I/O口傳輸
    2. 寫命令、地址、數據時,都須要將WE、CE信號同一時候拉低
    3. 數據在WE信號的上升沿被NAND Flash鎖存
    4. 命令鎖存信號CLE和地址鎖存信號ALE用來分辨、鎖存命令或地址
    5. 在CLE上升沿,命令被鎖存
    6. 在ALE上升沿,地址被鎖存



二、存儲組織形式

    1. NAND芯片內部分為die, plane,block, page
    2. chip是指芯片,一個封裝好的芯片就是一個chip
    3. die是晶圓上的小方塊,一個芯片里可能封裝若干個die, 因為flash的工藝不一樣,技術不一樣。由此產生了die
        的 概念。 常見的有Mono Die,a Die。 b die等,一個chip包括N個die
    4. plane是NAND可以依據讀、寫、擦除等命令進行操作的最小單位

        一個plane就是一個存儲矩陣。包括若干個Block

    5.  Block是NANDFlash的最小擦除單位,一個Block包括了若干個Page
    6.  Page是NANDFlash的最小讀寫單位。一個Page包括若干個Byte

OOB/Spare Area

          每個頁,相應另一塊區域。叫做空暇區域(SpareArea)。在Linux系統中。一般叫做OOB(Out of Band)。

         數據在讀寫的時候相對easy錯誤,所以為了保證數據的正確性。必需要有相應的檢測和糾正機制,此機制叫做ECC/EDC,所以設計了多余的區域,用於存放數據的校驗值。

          OOB的讀寫是隨着隨着頁的操作一起完畢的。

          OOB的詳細用途包含下面幾個方面:

          ► 標記所處的block是否為壞塊

          ► 存儲ECC數據

          ► 存儲一些和文件系統相關的數據。如jaffs2就會用到這些空間存儲一些特定信息。而yaffs2文件系統。會在                    oob中存放非常多和自己文件系統相關的信息


一個16G的NAND的存儲結構大致例如以下:



一個16G的NANDFlash須要34位地址,而傳輸地址的IO口是8位的。因此須要5個循環來傳輸地址信息。




NAND Flash中的壞塊

           Nand Flash 中。一個塊中含有1 個或多個位是壞的,就稱為其為壞塊Bad Block。壞塊的穩定性是無法保證

    的。也就是說,不能保證你寫入的數據是對的。或者寫入對了。讀出來也不一定對的。與此相應的正常的塊。肯定

    是寫入讀出都是正常的。

           壞塊有兩種:

          (1)出廠時就有存在的壞塊:

                   一種是出廠的時候。也就是,你買到的新的,還沒用過的Nand Flash,就能夠包括了壞塊。此類出廠時就             有的壞塊,被稱作factory (masked) bad block 或initial bad/invalid block,在出廠之前,就會做相應的標記,

            標為壞塊。

           (2) 使用過程中產生的壞塊:

                   第二類叫做在使用過程中產生的,因為使用過程時間長了,在擦塊除的時候,出錯了,說明此塊壞了,也

             要在程序執行過程中,發現。而且標記成壞塊的。詳細標記的位置。和上面一樣。這類塊叫做worn-out 

             bad block。即用壞了的塊。


SLC和MLC的實現機制

           NANDFlash依照內部存儲數據單元的電壓的不同層次。也就是單個內存單元中。是存儲1位數據,還是多位數        據,能夠分為SLC和MLC。

           ► SLC(Single Level Cell)

               單個存儲單元僅僅存儲1位,表示1或0。

               對於Nand Flash寫入1,就是控制ExternalGate去充電。使得存儲的電荷夠多,超過閾值Vth,就表示1了。

               而對於寫入0。就是將其放電。電荷降低到小於Vth,就表示0了

           ► MLC(Multi Level Cell)

               與SLC相應的,就是單個存儲單元能夠存儲多個位。比方2位、4位等。

事實上現機制就是,通過控制內部電荷

               的多少。分成多個閾值,從而儲存為不同的數據。

               單個存儲單元能夠存儲2位數據的,稱作2的2次方 = 4 LevelCell




免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM