EEPROM、Flash有關知識


存儲器分為兩大類:RAM(Random Access Memory,任意地址訪問儲存器)和ROM(Read-Only Memory,只讀儲存器)。

發展歷史

ROM

Read-Only Memory,只讀儲存器。

微機的發展初期,BIOS都存在在ROM中。ROM的資料都是原產用特殊方法燒錄進去的。其中的內容只能讀不能改。

PROM

Programmable Read-Only Memory,也稱為:One-Time Programmable (OTP)ROM,一次性可編程只讀儲存器。

跟ROM一樣,也是只能讀不能改,但跟ROM區別在於:用戶可以用專用的編程器將自己的資料燒錄,但機會只有一次(One-Time)

EPROM

Electrical Programmable Read Only Memory,可擦除可程式只讀存儲器。

類似於PROM,不同的是:EPROM燒寫次數增加了,但燒寫的條件相比PROM較為苛刻。

是一種斷電后仍能保留數據的計算機儲存芯片。它是一組浮柵晶體管,被一個提供比電子電路中常見電壓更高電壓的電子器件分別編程。一旦變成完成后,EPROM只能用強紫外線照射來擦除。
識別EPROM,可以通過封裝頂部的硅片的透明窗口。這個窗口是用來擦除紫外線。可以將EPROM的玻璃窗對准陽光直射一段時間就可以擦除。完成芯片擦除的操作要用到EPROM擦除器。
EPROM內資料的寫入要用專用的編程器,並且往芯片中寫內容時必須要加一定的編程電壓。
EPROM的型號是以27開頭的。
EPROM芯片在寫入資料后,還要用不透光的貼紙或膠布把窗口封住,以免受到周圍的紫外線照射而使資料被擦除。
EPROM芯片在空白狀態時,內部的每一個存儲單元的數據都為1,即高電平。

EEPROM

Electrically Erasable Programmable read only memory,帶電可擦可編程只讀存儲器。

因為EPROM操作的不便,后來出的主板BIOS ROM芯片大部分都采用EEPROM。
跟EPROM的區別主要在於擦除不需要借助其他設備,寫入資料也是。
用電子信號來修改其內容。

EEPROM的擦除不需要借助於其它設備,它是以電子信號來修改其內容的,而且是以Byte為最小修改單位,不必將資料全部洗掉才能寫入,徹底擺脫了EPROM 的Eraser和編程器的束縛。

因此目前的EEPROM都是幾十千字節到幾百千字節的,很少有超過512K的。

EEPROM在寫入數據時,仍要利用一定的編程電壓,此時,只需用廠商提供的專用刷新程序就可以輕而易舉地改寫內容,所以,它屬於雙電壓芯片。

FLASH

flash屬於廣義的EEPROM(全稱是FLASH EEPROM),因為它也是電擦除的rom。但是為了區別於一般的按字節為單位的擦寫的EEPROM,我們都叫它flash。

flash做的改進就是擦除時不再以字節為單位,而是以塊為單位,一次簡化了電路,數據密度更高,降低了成本。上M的rom一般都是flash。

flash分為nor flash和nand flash。

  • nor flash數據線和地址線分開,可以實現ram一樣的任意尋址功能,可以讀取任何一個字節。但是擦除仍要按塊來擦。

  • nand flash同樣是按塊擦除,但是數據線和地址線復用,不能利用地址線隨機尋址。讀取只能按頁來讀取。(nandflash按塊來擦除,按頁來讀;norflash沒有頁的概念)

因為nor flash可以進行字節尋址,所以程序可以在nor flash中運行。

由於nandflash引腳上復用,因此讀取速度比nor flash慢一點,但是擦除和寫入速度比nor flash快很多。nand flash內部電路更簡單,因此數據密度大,體積小,成本也低。因此大容量的flash都是nand型的。小容量的2~12M的flash多是nor型的。

使用壽命上,nand flash的擦除次數是nor的數倍。而且nand flash可以標記壞塊,從而使軟件跳過壞塊。nor flash 一旦損壞便無法再用。

嵌入式系統多用一個小容量的nor flash存儲引導代碼,用一個大容量的nand flash存放文件系統和內核。

寫flash時為什么需要先擦除?

Flash 的編程原理都是只能將 1 寫為 0,而不能將 0 寫為 1。所以在 Flash 編程之前,必須將對應的塊擦除,而擦除的過程就是把所有位都寫為 1 的過程,塊內的所有字節變為 0xFF。

總結

FLASH和EEPROM的最大區別是:FLASH按扇區操作,EEPROM則按字節操作 (二者尋址方式不同)。

一般來說:

  • EEPROM中存放開機是用到的參數,不可丟失的變量等
  • 而FLASH中會存放程序,記錄文件等。

FLASH的電路結構較簡單,同樣容量占芯片面積較小,成本自然比EEPROM低,因而適合用作程序存儲器,

EEPROM則更多的用作非易失的數據存儲器。當然用FLASH做數據存儲器也行,但操作比EEPROM麻煩的多,所以更“人性化”的MCU設計會集成FLASH和EEPROM兩種非易失性存儲器,而廉價型設計往往只有FLASH,早期可電擦寫型MCU則都是EEPRM結構,現在已基本上停產了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM