複製鏈接
請複製以下鏈接發送給好友

非易失性內存

鎖定
非易失性存儲器(英語:non-volatile memory,縮寫為NVM)是指當電流關掉後,所存儲的數據不會消失的電腦存儲器。非易失性存儲器中,依存儲器內的數據是否能在使用電腦時隨時改寫為標準,可分為二大類產品,即ROMFlash memory
中文名
非易失性內存
外文名
non-volatile memory
別    名
非易失性存儲器
讀取延遲
50-100納秒左右
工作温度
0-70攝氏度

非易失性內存類型

非易失性存儲器主要有以下類型:
  • ROM(Read-only memory,只讀內存)
    • PROM(Programmable read-only memory,可編程只讀內存)
    • EAROM(Electrically alterable read only memory,電可改寫只讀內存)
    • EPROM(Erasable programmable read only memory,可擦可編程只讀內存)
    • EEPROM(Electrically erasable programmable read only memory,電可擦可編程只讀內存)
  • Flash memory(閃存) [1] 

非易失性內存只讀存儲器

只讀存儲器Read-OnlyMemory,ROM)是一種半導體存儲器,其特性是一旦存儲數據就無法再將之改變或刪除,且內容不會因為電源關閉而消失。在電子電腦系統中,通常用以存儲不需經常變更的程序或數據,例如早期的家用電腦Apple II的監督程序、BASIC語言解釋器、與硬件點陣字體,個人電腦IBMPC/XT/ATBIOS(基本輸入輸出系統)與IBM PC/XT的BASIC解釋器,與其他各種微電腦系統中的固件(Firmware),均存儲在ROM內。

非易失性內存PROM

主條目:PROM
可編程只讀存儲器(Programmable ROM,PROM)其內部有行列式的鎔絲,可依用户(廠商)的需要,利用電流將其燒斷,以寫入所需的數據及程序,鎔絲一經燒斷便無法再恢復,亦即數據無法再更改。

非易失性內存EPROM

主條目:EPROM
可抹除可編程只讀存儲器(Erasable Programmable Read Only Memory,EPROM)可利用高電壓將數據編程寫入,但抹除時需將線路曝光於紫外線下一段時間,數據始可被清空,再供重複使用。因此,在封裝外殼上會預留一個石英玻璃所制的透明窗以便進行紫外線曝光。寫入程序後通常會用貼紙遮蓋透明窗,以防日久不慎曝光過量影響數據。

非易失性內存OTPROM

一次編程只讀存儲器(One Time Programmable Read Only Memory,OTPROM)內部所用的芯片與寫入原理同EPROM,但是為了節省成本,封裝上不設置透明窗,因此編程寫入之後就不能再抹除改寫。

非易失性內存EEPROM

主條目:EEPROM
電子抹除式可複寫只讀存儲器(Electrically Erasable Programmable Read Only Memory,EEPROM)之運作原理類似EPROM,但是抹除的方式是使用高電場來完成,因此不需要透明窗。 [1] 

非易失性內存閃存

快閃存儲器(英語:flash memory),是一種電子式可清除程序化只讀存儲器的形式,允許在操作中被多次擦或寫的存儲器。這種科技主要用於一般性數據存儲,以及在電腦與其他數字產品間交換傳輸數據,如儲存卡U盤。閃存是一種特殊的、以宏塊抹寫的EEPROM。早期的閃存進行一次抹除,就會清除掉整顆芯片上的數據。
閃存的成本遠較可以字節為單位寫入的EEPROM來的低,也因此成為非易失性固態存儲最重要也最廣為採納的技術。像是PDA、筆記本電腦、數字隨身聽、數碼相機與手機上均可見到閃存。此外,閃存在遊戲主機上的採用也日漸增加,藉以取代存儲遊戲數據用的EEPROM或帶有電池的SRAM
閃存是非易失性的內存。這表示單就保存數據而言,它是不需要消耗電力的。與硬盤相比,閃存也有更佳的動態抗震性。這些特性正是閃存被移動設備廣泛採用的原因。閃存還有一項特性:當它被製成儲存卡時非常可靠──即使浸在水中也足以抵抗高壓與極端的温度。閃存的寫入速度往往明顯慢於讀取速度。
雖然閃存在技術上屬於EEPROM,但是“EEPROM”這個字眼通常特指非快閃式、以小區塊為清除單位的EEPROM。它們典型的清除單位是字節。因為老式的EEPROM抹除循環相當緩慢,相形之下快閃記體較大的抹除區塊在寫入大量數據時帶給其顯著的速度優勢。閃存最常見的封裝方式是TSOP48和BGA,在邏輯接口上的標準則由於廠商陣營而區分為兩種:ONFI和Toggle。手機上的閃存常常以eMMC的方式存在。 [2] 

非易失性內存閃存的限制

非易失性內存區塊抹除

閃存的一種限制在於即使它可以單一字節的方式讀或寫入,但是抹除一定是一整個區塊。一般來説都是設置某一區中的所有比特為“1”,剛開始區塊內的所有部分都可以寫入,然而當有任何一個比特被設為“0”時,就只能藉由清除整個區塊來恢復“1”的狀態。換句話説閃存(特別是NOR Flash)能提供隨機讀取與寫入操作,卻無法提供任意的隨機改寫。不過其上的區塊可以寫入與既存的“0”值一樣長的消息(新值的0比特是舊值的0比特的超集)。例如:有一小區塊的值已抹除為1111,然後寫入1110的消息。接下來這個區塊還可以依序寫入1010、0010,最後則是0000。可是實際上少有算法可以從這種連續寫入兼容性得到好處,一般來説還是整塊抹除再重寫。儘管閃存的數據結構不能完全以一般的方式做更新,但這允許它以“標記為不可用”的方式刪除消息。這種技巧在每單元存儲大於1比特數據的MLC設備中必須稍微做點修改。

非易失性內存記憶耗損

另一項閃存的限制是它有抹寫循環的次數限制(大多商業性SLC閃存保證“0”區有十萬次的抹寫能力,但其他區塊不保證)。這個結果部分地被某些固件或文件系統為了在相異區塊間分散寫入操作而進行的計算寫入次數與動態重對映所抵銷;這種技巧稱為耗損平衡(wear leveling)。另一種處理方法稱為壞區管理(Bad Block Management, BBM)。這種方法是在寫入時做驗證並進行動態重測,如果有驗證失敗的區塊就加以剔除。對多數移動設備而言,這些磨損管理技術可以延長其內部閃存的壽命(甚至超出這些設備的使用年限)。此外,丟失部分數據在這些設備上或許是可接受的。至於會進行大量數據讀寫循環的高可靠性數據存儲應用則不建議使用閃存。不過這種限制不適用於路由器瘦客户端(Thin clients)等只讀式應用,這些設備往往在使用年限內也只會寫入一次或少數幾次而已。

非易失性內存讀取干擾

所使用的閃存讀取方式隨着時間的推移會導致在同一區塊中相近的記憶單元內容改變(變成寫入動作)。這即是所謂的讀取干擾。會導致讀取干擾現象的讀取次數門檻介於區塊被抹除間,通常為100,000次。假如連續從一個記憶單元讀取,此記憶單元將不會受損,而受損卻是接下來被讀取的周圍記憶單元。為避免讀取干擾問題,閃存控制器通常會計算從上次抹除動作後的區塊讀取動作總次數。當計數值超過所設置的目標值門檻時,受影響的區塊會被複制到一個新的區塊,然後將原區塊抹除後釋放到區塊回收區中。原區塊在抹除動作後就會像新的一樣。若是閃存控制器沒有即時介入時,讀取干擾錯誤就會發生,如果錯誤太多而無法被ECC機制修復時就會伴隨着可能的數據丟失。

非易失性內存寫入(編程)干擾

寫入干擾(編程干擾)是指當對頁(page)進行寫入時,由於閾值電壓接近的關係,相鄰的位(bit)也被升高,從而造成相鄰的位出錯。閃存電荷非常不穩定,相鄰存儲電荷的懸浮門間會相互干擾,造成相鄰懸浮門間的bit錯誤,MLC由於存在4組接近的電壓,與SLC相比更容易受到干擾。 [3] 
參考資料
  • 1.    Pavan, Paolo; Bez, Roberto; Olivo, Piero; Zononi, Enrico. Flash Memory Cells – An Overview (PDF). Proceedings of the IEEE 85 (8). 1997: 1248–1271 (1997-08) [15 August 2008].
  • 2.    Whole-System Persistence[R]. Dushyanth Narayanan:Microsoft Research,2012
  • 3.    Kim, Kinam; Koh, Gwan-Hyeob. Future Memory Technology including Emerging New Memories (PDF). Serbia and Montenegro: Proceedings of the 24th International Conference on Microelectronics. 16 May 2004: 377–384 (2004-05)