本文轉自:http://www.elecfans.com/consume/563278.html
FLASH存儲器又稱閃存,是一種長壽命的非易失性(在斷電情況下仍能保持所存儲的數據信息)的存儲器,由於其斷電時仍能保存數據,FLASH存儲器通常被用來保存設置信息,如在電腦的BIOS(基本輸入輸出程序)、PDA(個人數字助理)、數碼相機中保存資料等。本文將探討FLASH存儲器的讀寫原理及次數。
一、FLASH存儲器的讀寫原理
FLASH存儲器的基本單元電路,與EEPROM類似,也是由雙層浮空柵MOS管組成。但是第一層柵介質很薄,作為隧道氧化層。寫入方法與EEPROM相同,在第二級浮空柵加以正電壓,使電子進入第一級浮空柵。讀出方法與EPROM相同。擦除方法是在源極加正電壓利用第一級浮空柵與源極之間的隧道效應,把注入至浮空柵的負電荷吸引到源極。由於利用源極加正電壓擦除,因此各單元的源極聯在一起,這樣,快擦存儲器不能按字節擦除,而是全片或分塊擦除。
到后來,隨着半導體技術的改進,FLASH存儲器也實現了單晶體管(1T)的設計,主要就是在原有的晶體管上加入了浮動柵和選擇柵,在源極和漏極之間電流單向傳導的半導體上形成貯存電子的浮動棚。浮動柵包裹着一層硅氧化膜絕緣體。它的上面是在源極和漏極之間控制傳導電流的選擇/控制柵。數據是0或1取決於在硅底板上形成的浮動柵中是否有電子。有電子為0,無電子為1。
FLASH存儲器就如同其名字一樣,寫入前刪除數據進行初始化。具體說就是從所有浮動柵中導出電子。即將有所數據歸“1”。寫入時只有數據為0時才進行寫入,數據為1時則什么也不做。寫入0時,向柵電極和漏極施加高電壓,增加在源極和漏極之間傳導的電子能量。這樣一來,電子就會突破氧化膜絕緣體,進入浮動柵。
讀取數據時,向柵電極施加一定的電壓,電流大為1,電流小則定為0。浮動柵沒有電子的狀態(數據為1)下,在柵電極施加電壓的狀態時向漏極施加電壓,源極和漏極之間由於大量電子的移動,就會產生電流。而在浮動柵有電子的狀態(數據為0)下,溝道中傳導的電子就會減少。因為施加在柵電極的電壓被浮動柵電子吸收后,很難對溝道產生影響。
二、FLASH存儲器的讀寫次數
根據Flash生產廠商,理論上閃存盤可擦寫1,000,000次,折合正常使用次數計算,閃存盤里數據可保存約10年左右。
FLASH存儲器在使用一段時間后,再次格式化,其容量會自動變小。
數據寫入的時候,FLASH存儲器芯片內部需要有至少一個物理塊(Block)作為交換塊使用。這是因為FLASH存儲器的寫操作很特殊,必須是先擦除,然后才能寫入數據,而擦除的最小單位是一個物理塊,但寫數據的最小單位卻是一個頁(Page)。在FLASH存儲器的存儲單位中,一個物理塊包含若干個物理頁。因此寫數據時,需要有一個空的、可以使用的交換塊來存放不需要被擦除的數據。由於FLASH存儲器的充放電特性,使得它的讀寫次數有物理上的限制。通常廠商會在FLASH存儲器內部做一個讀寫次數的實驗計數,當閃存芯片的某個物理存儲區塊達到讀寫指定的最高次數時,該塊區將被設定為不再使用的區域,所以在極度頻繁使用下,FLASH存儲器容量有可能越來越小。
市場上的FLASH存儲器產品包括兩類:1. 未預留緩沖空間的;2. 預留有緩沖空間的。
第一種情況下,由於沒有預留空間,FLASH存儲器在讀寫時交換塊的損耗相當大,於是就會出現容量越來越小的情況。
對於第二種情況,廠商在設計時已經預留部分物理塊,比如選擇1024個物理塊中的1000個物理塊作為數據存儲使用,其余24個物理塊(包括壞塊)用作緩沖交換塊部分。每次上電后,存儲單元的邏輯地址和物理地址需要重新對照,交換塊並不是固定的某一區塊,因而每一個物理塊進行讀寫操作的幾率幾乎相同,不會出現哪一個物理塊過早被損壞的現象。對於預留緩沖空間的FLASH存儲器來說,基本不會出現容量越來越小的情況。