此文章僅介於中文教學資源之缺乏,

在此提供Flash Specification 導讀以供參考。

以下討論為SLC,MLC等較早期的flash,適合剛入門的讀者。

 

 

對於初入NandFlash領域的新手來說,

是否對於spec上滿滿的英文感到無所適從?

 

首先,先來認識幾個名詞解釋:

1.page - flash 讀寫的最小單位。

2.block - 由數百至數千個page堆疊而成,也是刪除資料的最小單位。

3.plane - 由數百個block堆疊而成,muti-plane可增加效能。

4.Lun -也稱作die,可單獨執行指令的最小單位。

 

 

以上為flash記憶體架構基本組成成員,

而欲精準指定資料儲存位置就得依靠5-cycle的幫忙。

因為硬體關係,每一個cycle為8個bit.

 

 

Array Addressing
CA7 CA6 CA5 CA4 CA3 CA2 CA1 CA0
LOW CA14 CA13 CA12 CA11 CA10 CA9 CA8
PA7 PA6 PA5 PA4 PA3 PA2 PA1 PA0
BA15 BA14 BA13 BA12 BA11 BA10 BA9 PA8
LOW LOW LOW BA20 BA19 BA18 BA17 BA16

CA - column address, 可精準指定page的某一片段寫入資料。

PA - page address, 代表page0~pageX.

BA - block address, 代表block0~ blockX. 

 (而通常first bit of block為plane bit)

 

 

現在已經知道5-cycle的使用方式,

而又是什麼使得flash得以接收到5-cycle資料的呢?

 

以下為幾個常用pin腳的基本介紹:

1. CE# - 獨立控制該顆memory的開啟或是關閉。

2. ALE - 當host欲傳送address information時,此pin會設為High.

3. CLE - 當host欲傳送command information時,此pin會設為High.

4. WE - write enalbe, 控制寫入的pin腳。

5. RE - read enable, 控制讀取的pin腳。

6. DQX - 為雙向I/0 pin, 頻寬多為8bit.

7. WP - write protect,防止不可預期的寫入刪除行為。

8. R/B - ready/busy,用來確認該memory當下的狀態。

 

 

Spec後半段為command介紹,

相信有了以上基礎概念後可輕鬆應付,故在此就不繼續贅述了,

希望此篇粗淺的導讀能幫助對NandFlash有興趣的人。

 

arrow
arrow

    C 發表在 痞客邦 留言(0) 人氣()