從NAND Flash內部電路分析讀操作

隨著SSD(固態硬碟)市場的興起,NAND Flash的特性也越來越受到重視。本文從NAND Flash的內部電路出發,簡述NAND Flash的讀操作。對其有清楚的了解對於flash特性測試,以及LDPC演算法的設計有著至關重要的影響。

1. NAND Flash的基本結構

其結構如下圖所示,存儲cell通過drain或source的互聯順序排列成一個string,其中MBLS和MSLS是普通的NMOS管。

和所有類型的Flash一樣,存儲在NAND Flash cell中data與其門限電壓(threshold voltage) Vth有著直接關聯。以SLC為例,如下圖所示。

如果cell的data = 「1」,即位於earse state,如果data = 「0」,則其處於program state。如果一個cell中能存儲n bit的data,那麼它就會有2^{n} 個Vth分布狀態。對於MLC和TLC,其cell存儲的data bit分別為2和3,分別有4,8個state.

Flash cell和所有的MOS管一樣,cell的電流I_{cell}sim fleft(V_{GS} - V_{TH} right)  。因此通過檢測電流的強度,可以判斷出flash cell的Vth分布狀態,進而可以讀出其存儲的data。由於flash cell是排列成一個string,所以在讀其中一個cell時,需要保證這個cell不受其它cell的影響。因此,需要對string中其他cell的門極上施加VPASS電壓,如上圖所示,且VPASS>Vthmax。

和所有MOS管一樣,在對flash cell施加一個門極電壓VGS時(也成為讀電壓Vread),根據Vread的大小,cell會處於三個工作狀態:截至,導通,以及飽和。在導通狀態時,cell的電流ID為:

2. sensing circuit

在NAND Flash中,有成千上萬個這樣的string結構,也因此需要成千上萬個採集電流的電路結構(sensing circuit)來檢測cell的電流大小。為了說明讀操作,以傳統的sensing circuit結構為例。如下圖所示:

CBL是bitline的寄生電容。上圖中,恆壓源VPRE先向CBL充電,此階段為充電階段,時長TPRE。在分析CBL放電之前,需要了解一個概念--minimum erase current (IEARMIN):

對於erase state的cell,施加VREAD時,其電流大小與VTH值成反比,所以最小電流對應的是VTH2,如下圖:

則其最小電流I_{EARMIN}sim fleft( V_{READ}- V_{TH2}  right)  ,如下圖:

T0後,CBL不再充電,處於floating的狀態,等待cellnread operation。T1後,相關cell施加Vread電壓,cell string開始抽電流。當cell位於erased state (state 『1』)時,I_{cell} geq I_{EARMIN} ;位於programmed state(state 『0』)時,0leq I_{cell}<I_{EARMIN}

T0後,CBL與comparator相連,比較電壓為VSEN。根據已有這些參數,定義

Teval後,將實際的VBL與VSEN相比較。如果cell位於state 『1』,Teval後V_{BL}leq V_{SEN}  ,輸出1;如果cell位於state 『0』,Teval後V_{BL}>V_{SEN}  ,輸出0.

以上為基本的讀操作過程。所以,對於一次讀操作SRO(Single Read Operation),在充電電壓VPRE,比較電壓VSEN,放電時間TEVAL等參數條件下,由比較器判斷出cell的VTH與VREAD的大小關係。

3. page buffer

上述只是對read operation的簡單描述,實際的sensingncircuit是一個page buffer,如下圖:

在讀操作時,與同一WLn(wordline)相連的cell施加的VREAD,同時執行讀操作。因此每個BL (bitline)都會有一個page buffer。基本的page buffer結構如下圖所示:

其操作過程歸納如下:

結合page buffer的電路結構,

1. 充電階段:MPCH施加VDD+VTHN, MSEL施加VPRE,MHV導通,此時CBL和CSO開始充電,分別至V_{PRE} -V_{THN} ,VDD。string上的相關cell施加VREAD和VPASS,MBLS施加VDD,但是MSLS 不導通。

2. MPCH和MSEL關斷,CBL和CSO懸浮。在MSLS導通後,string 開始從CBL抽電流。根據cell的VTH大小和VREAD值,ICELL的值不同。

3. TEVAL後,MSEL施加VSEN,如果此時V_{BL} <V_{SEN} -V_{THN} , MSEL導通 ,VSO=VBL,這說明cell的V_{TH}<V_{READ}  ,平均電流大於I_{READTH} .反之 ,平均電流小於I_{READTH} , MSEL不導通,VSO=VDD。

其中,Average ThresholdnCurrent 定義為

相應的時序圖如下所示:

4. LATCH Output

LATCH的結構圖及相關時序圖如下:

在SRO開始之前,LATCH的OUT端接ground,強制拉低。在SRO結束後,LAT信號拉高,SO端的信號送給LATCH,有如下兩種情況:

1. 如果VSO=VDD,則MLAT和MSO都導通,OUT_N拉低,則OUT輸出「1」,即表明cell處於erasenstate;

2. 如果VSO =nVSEN-VTHN,則MLAT無法導通,OUT_N保持為高電平,則OUT輸出「0」,即表明cell處於program state.

至此,一次完整的read operation完成。

Reference:

1. Rino Micheloni, Luca Crippa, AlessianMarelli, 「Inside NAND Flash Memories」,Springer.

2. R Bez,E Camerlenghi,A Modelli,n「Introduction to Flash Memory」, Proceedingsnof the IEEE, Vol. 91, No. 4, 2003.

推薦閱讀:

為什麼用HDTune測試HDD讀取速度的時候,速度剛開始很快然後逐漸變慢,而SSD則比較穩定沒有出現這種情況?
Macbook Pro 只把光碟機位更換 SSD 後是否需要重裝系統?
DIY電腦關鍵有個固態硬碟應該怎麼裝系統呀?

TAG:闪存NAND | 固态硬盘 |