在上一篇裡我們講了Flash芯片的基礎知識。在這一篇裡我們将更加深入地了解Flash的存儲原理。這樣才能更好地測試它。
首先,需要了解一下Flash都有哪些基本操作:
這些基本操作也就是我們日常常用的一些功能。在我們從U盤拷貝,寫入,格式化的時候都會用到。但是你知道這些操作在晶體管層面上是什麼樣的狀态嗎?
首先,我們來了解一下寫入數據(program)。
如下圖所示,所謂的program,就是将電子導入進浮栅之中。此時晶體管的源極會接地平面,漏極會接入一個較小的電壓。而控制栅極會接入一個較大的電壓。此時,從地平面上提供而來的電子就會由于栅極和漏極的電壓而産生電子移動。因為栅極的電壓更高,所以更傾向栅極方向。此時,電子就可以憑借量子隧道效應或者熱電子注入的技術進入浮栅之中。
數據寫入(program)
其次,我們再來了解一下擦除數據(erase)。
如下圖所示,所謂的erase,就是把電子從浮栅之中取出來。使得浮栅之中沒有多餘的電子。可以看到圖中此時的源極連接了一個較大的電壓,而栅極卻接入了地平面。
數據擦除(erase)
最後來看一下讀取數據(read)。
此時就可以把浮栅晶體管當做正常的晶體管來對待了。給源極,栅極,漏極加上合适的電壓。根據源極和漏極之間的電流大小就可知道浮栅之中是否存有電荷了。
導電溝道
讀出電路
綜上所述,Flash的寫入操作,其實質是電荷的在浮栅之中的轉移。而且Flash的寫入操作并不是一次完成的。需要先進行擦除操作使得存儲單元為“1”(一般情況下都是以page為單位進行操作,即一次性erase當前page的所有存儲單元),然後再進行寫入操作,将“0”寫入進去。
而在數據的讀取過程,其實質是對電流大小的判斷。當電流大于某個設定值的時候,讀取電路判定該存儲單元為“1”,當電流小于設定值的時候,讀取電路判定該存儲單元為“0”。
但是這種一個單元隻存儲一個bit 的做法很不經濟。單位面積裡存儲的數據太少了。所以,工程師們就為讀出電路設計多個比較器。使得電流的測量更加精細化。比如說,設計3個比較器,這樣就能對電流進行更多的量化,從而得出更多的數據。也就變相的增加了數據存儲密度。這也是市面上為什麼TLC的面積并不比MLC的大,卻能存儲更多的數據的原因,而且價格也不高。但是很顯然,使用壽命上來說,肯定是SLC>MLC>TLC。
增加比較器和設定不同的參考電流,就可得到更多的數據
至此,Flash基本的原理和概念就講得差不多了。下一講中,将會講到跟Flash測試相關的概念和内容。
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!