[NAND] NAND Flash的基本操作——讀、寫、擦除
2013-07-03 14:16閱讀:4,565
基本操作
這里將會簡要介紹一下NAND Flash的基本操作在NAND Flash內部是如何進行的,基本操作包括:讀、寫和擦除。
讀:
當我們讀取一個存盤單元中的資料時(如圖2.4),是使用一個門電壓Vread(0V)作用于gate端,而沒有被讀取的存盤單元的gate端則被偏置于Vpass.r(通常為4-5v),這樣他們就能夠不管閥值電壓是多少而能夠通過晶體管。事實上,一個被擦除過的Flash存盤單元有一個低于0V的Vth值,而一個被寫過的存盤單元的Vth則一般會有一個正值,并且這個值的大小一般低于4V。實際上,使用0V來對一個所選存盤單元的gate端進行偏置的時候,所有串聯在一起的的存盤單元都會去傳導電流,而只有被尋址的存盤單元會被擦除。
[NAND] NAND Flash的基本操作——讀、寫、擦除X
串電流通常的值大概在100-200nA。讀取存盤單元的技術是基于充電整合、對bitline的寄生電容的利用。
這個電容是用一個固定值(通常1-1.2V)來進行預充電:只有當存盤單元被擦除并且電流被釋放,那么電容才
會被釋放。有一些電路是專門用來檢測bitline的寄生電容的狀態的:圖2.4展示的這個結構就是當前應用最多的
結構。bitline的寄生電容被標為Cbl,而NAND Flash串則相當于一個電流產生器。
在對bitline的充電程序中PMOS晶體管的門Mp是被一直接地的,而NMOS晶體管的門Mn則被一直保持在一個固定值V1.V1的典型值大概在2V左右。在充電的最后bitline將會有一個電壓Vbl。
Vbl = V1 - Vthn (2.1)
在上面這個公式中Vthn表示的是NMOS Mn的閥值電壓。
在這個時候Mn和Mp晶體管是被關掉的,Cbl是自由放電的。在一段時間(Tval)之后,Mn的gate會被偏置在
V2 < V1, 通常在1.6-1.4V左右。
如果一個Tval時間足夠將bitline 的電壓全部放電完成那么:
Vbl = V2 - Vthn (2.2)
Mn會打開并且輸出節電的電壓(Vout)變成了一個bitline一樣,最后模擬電壓Vout會被轉換成為一個數字值
使用一個簡單的閂鎖。關于讀操作肯定不會這么簡單,更詳細的情況后續我們還會繼續講到。
寫:
NAND Flash的寫操作是利用電子隧道的量子影響來進行的,電子隧道的出現是由于有一個強電場。特別是
寫和擦除都是依靠電場的極性。
在寫的程序中,穿過訊訓層的電子數量就是電場的一個功能:事實上,電場越大,穿過訊訓層的電子數量就
越多。因此,為了提高寫的能力,一個可用的高電場(對應的就是高電壓)是必不可少的。這也是NAND Flash
的寫的方式的主要缺點,因為訊訓層是會受到這些電壓的影響而在功能上有所衰退。
而這種寫方式的主要的優點則是每個存盤單元的電流可以非常低,這也是之所以Fowler-Nordheim機制比較
適合多個存盤單元并行寫的原因,也是NAND 頁大小所要求的。
用于對NAND Flash存盤單元進行寫的演算法是一個叫做“Program & Verify”的演算法,verify是用來檢查是否
存盤單元是否已經達到一個分布的極限。
為了將電子觸發進入由訊訓層包裹的floating gate中,我們要求有下列條件(圖2.5所示):
Vdd是作用于drain 選擇門
Vpass.p(8-10V)作用于沒有被選到的門上
Vpgm(20-25V)作用于選擇的那個門上(即將被寫的那個)
GND作用于源極選擇門上
GND作用于將要寫的那個bitline上
Vdd作用于其他的bitline上
self-boosting機制會阻止有著同一個gate的存盤單元去進行一個未要求的寫操作。所以關于這個程序一個
基本的想法就是在寫的程序中利用存盤單元的寄生電容來開發他所蘊含的潛能,這也是為了增加在訊訓物隧道
之下的這塊區域的潛能。(如下圖所示)
[NAND] NAND Flash的基本操作——讀、寫、擦除
當bitline被驅動到Vdd,drain二極管是diode-connected的并且對應的bitline是floating的。當Vpass.p
被運用到沒被選到的wordlines,寄生電容能夠提高通道的潛能,降低通過訊訓物通道的電壓的下降,因此,
這種通道現象是應該被禁止的。
由于存盤單元的架構是矩陣式的,所有的對應wordline的存盤單元都是被同樣的電壓所偏置,即使那些沒有
準備被寫的存盤單元也是一樣,他們被稱為“disturbed”。disturbs的兩個重要的象征都是和寫相關的:如圖
2.5所示Pass disturb和Program disturb會影響到存盤單元的穩定性。
擦除:
如圖2.6a所示NAND 存盤器是被定義為一個triple-well結構,通常每一個plane都有他自己的triple-well。
而source端則被所有的block所共用:用這種方法的話矩陣就會更緊湊并且結構也可以更多樣性,對iP-well的
偏置也會大大地降低。
這種電子擦除時通過使用一個高電壓和讓wordline保持接地來對iP-well進行偏置,以此來進行擦除的(如
圖2.6c)。因此,NAND 技術不需要負電壓。另外,這個物理機制是Fowler-Nordheim 通道。由于iP-well對所
有的block來說都是正常的,所以就不能在不管wordline floating的情況下對未選擇的blocks進行擦除。這種
方法當iP-well被改變了,由于在控制gate和iP-well之間電容性的加倍,floating wordline的潛能相應也提高
了(Fowler-Nordheim 通道機制被禁止)。
圖2.6b大概地畫出了擦寫演算法的各個階段。NAND的規格對擦除時間要求是非常嚴格的。因此,NAND的供應
商試圖就盡量少的步驟去完成擦除(最好只需要一個步驟即可)。結果,在擦除程序中就會有一個很高的電場
作用到存盤矩陣上。而事實上被擦除的區域是會朝著負的Vth值進行偏移。為了讓floating gate coupling最
小化,一般會推薦在擦除之后進行寫(PAE),這樣的目的是為了能夠將擦除區域可以向0V這個極限值靠近。
(當然,同時還要保證不會超過讀操作的極限值)。
一個SLC的block的擦除時間大概是1-1.5ms,而電子擦除脈沖大概持續700-800us。
制程技術上的提升和尺寸的減小對更演算法的復雜和精密程度有了更高的要求,特別是對每個存盤單元3/4bit
的這種技術。事實上可靠性的極限隨著技術的提升而在減少:更精密當然還有因此而帶來的更多功耗等問題;
為了能夠包含被擦除區域的帶寬,現在一般會推薦PAE技術。總而言之,擦除時間在新的NAND制程技術上將會
增加4-5ms。
關于擦除演算法后面會盡量用一章來專門解釋。
[NAND] NAND Flash的基本操作——讀、寫、擦除
邏輯組織架構:
NAND存盤器是一種特有的方式進行存盤資料的,從圖2.7我們可以看到,一個NAND是被分為多個block和page
的。一個block是最小的擦除單元,任何一個block都含有多個page,一個block所含page的數目一般是16的倍數
(比如64或者是128)。一個page是讀寫的最小尋址單元,每一個page又是有主區域和空閑區域組成(見圖2.8)
主區域的大小可以從4KB到8KB到16KB。而空閑區域則是被用來做ECC、系統指標;每一個4KB的主區域大概有幾百
bytes的空閑區域。
[NAND] NAND Flash的基本操作——讀、寫、擦除
每一次我們想要對一塊NAND執行什么操作的時候,我們就必須首先觸發我們想要操作的區域的地址。這個
地址分為行地址和列地址。行地址表示尋址的頁,列地址表示尋址的頁里面具體的byte。當行地址和列地址都
被要求了,這個時候列地址會首先給出。每一個地址周期是8bits。第一個周期內包含了LSB。行列地址尋址不
能夠在同一時間進行。
行地址識別操作需要的block和page,而page地址則占用了LSB.
[NAND] NAND Flash的基本操作——讀、寫、擦除
Pinout:
NAND存盤器和外部通信是靠引腳(見圖2.10),這些引腳是由Command Interface來進行測定記錄的。
Command Interface的作用就是用來解釋在某一時刻對NAND的操作。
CE#: 芯片使能信號,輸入“1”芯片進入stand-by態,否則是“0”。
R/B#: Ready/Busy信號,輸出信號用于指示目標態,當是低的時候表示NAND有操作正在進行。
RE#: 讀使能信號,輸入信號用來使能資料串的輸出。
CLE: 命令鎖閉使能,輸入信號被host端用來表示 總線周期現在正用來輸入命令的。
ALE: 地址鎖閉使能,輸入信號被host端用來表示 總線周期現在正用來輸入地址的。
WE#: 寫使能,輸入信號控制對輸入資料的鎖/開。資料、命令和地址會在WE#的上升沿被鎖住。
WP#: 寫保護,輸入信號被用于停止對NAND的寫和擦除操作。
DQ<7:0>: 用于輸入/輸出資料。
[NAND] NAND Flash的基本操作——讀、寫、擦除
uj5u.com熱心網友回復:
http://blog.sina.cn/dpool/blog/s/blog_5c401a150101d7hi.html轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/145863.html
標籤:硬件設計
上一篇:通俗的說一下什么是數字化制造
