1. 程式人生 > >Nand Flash 基礎

Nand Flash 基礎

表示 com 三位數 根據 a10 nand 控制寄存器 一位數 內容

1. 根據物理結構上的區別,Nand Flash主要分為:

SLC(Single Level Cell): 單層式存儲

MLC(Multi Level Cell): 多層式存儲

TLC(Triple Level Cell): 三層式存儲

註:SLC在存儲格上只存一位數據(2個狀態),MLC存放兩位數據(4個狀態),TLC存放三位數據(8個狀態)。

2. Nand Flash 地址結構

技術分享圖片

註:

①Row Address即頁地址,Column Address即頁內偏移

②正常頁內容讀取用Column Address(A0-A10),共11位,最大索引地址為2^11 = 2048

③OOB區域索引用Column Address(A0- A12),共12位,可以索引2048後面的地址

3. Nand Flash 信號引腳

①CLE(Command Latch Enable): 命令鎖存允許

②ALE(Address Latch Enable): 地址鎖存允許

③CE: 片選

④RE: 讀允許

⑤WE: 寫允許

⑥WP: 在寫或者擦期間,提供寫保護

⑦R/B: 讀/忙

註:

現代一些SOC都自帶Nand Flash控制器,軟件工程師只需配置一些控制寄存器,然後按照順序填寫命令寄存器、地址寄存器,操作數據寄存器讀寫數據。

4. Nand Flash 命令集

技術分享圖片

5. ECC校驗

① ECC的全稱是Error Checking and Correction,是一種用於Nand的差錯檢測和修正算法

② 校驗碼生成算法:ECC校驗每次對256字節的數據進行操作,包含列校驗和行校驗

列校驗:

技術分享圖片

註:CP0~CP5為6個Bit位,表示Column Parity(列極性)

行校驗:

技術分享圖片

註:RP0~RP15為16個Bit,表示Row Parity(行極性)

綜上,對256字節的數據共生成了6個Bit的列校驗結果,16個Bit的行校驗結果,共22個Bit

Nand Flash 基礎