EEPROM 和 flash 這樣講,早就懂了!
前幾天看到群里在討論存儲(chǔ)器,有些人一直搞不懂,今天給大家分享一篇文章總結(jié)一下。
本文引用地址:http://www.ex-cimer.com/article/202404/458110.htm存儲(chǔ)器分為兩大類:RAM 和 ROM。
RAM 就不講了,今天主要討論 ROM。
rom最初不能編程,出廠什么內(nèi)容就永遠(yuǎn)什么內(nèi)容,不靈活。后來出現(xiàn)了prom,可以自己寫入一次,要是寫錯(cuò)了,只能換一片,自認(rèn)倒霉。人類文明不斷進(jìn)步,終于出現(xiàn)了可多次擦除寫入的EPROM,每次擦除要把芯片拿到紫外線上照一下,想一下你往單片機(jī)上下了一個(gè)程序之后發(fā)現(xiàn)有個(gè)地方需要加一句話,為此你要把單片機(jī)放紫外燈下照半小時(shí),然后才能再下一次,這么折騰一天也改不了幾次。歷史的車輪不斷前進(jìn),偉大的EEPROM出現(xiàn)了,拯救了一大批程序員,終于可以隨意的修改rom中的內(nèi)容了。
EEPROM的全稱是“電可擦除可編程只讀存儲(chǔ)器”,即Electrically Erasable Programmable Read-Only Memory。是相對(duì)于紫外擦除的rom來講的。但是今天已經(jīng)存在多種EEPROM的變種,變成了一類存儲(chǔ)器的統(tǒng)稱。
狹義的EEPROM:
這種rom的特點(diǎn)是可以隨機(jī)訪問和修改任何一個(gè)字節(jié),可以往每個(gè)bit中寫入0或者1。這是最傳統(tǒng)的一種EEPROM,掉電后數(shù)據(jù)不丟失,可以保存100年,可以擦寫100w次。具有較高的可靠性,但是電路復(fù)雜/成本也高。因此目前的EEPROM都是幾十千字節(jié)到幾百千字節(jié)的,絕少有超過512K的。
flash屬于廣義的EEPROM,因?yàn)樗彩请姴脸膔om。但是為了區(qū)別于一般的按字節(jié)為單位的擦寫的EEPROM,我們都叫它flash。
flash做的改進(jìn)就是擦除時(shí)不再以字節(jié)為單位,而是以塊為單位,一次簡(jiǎn)化了電路,數(shù)據(jù)密度更高,降低了成本。
flash 分為 nor flash 和 nand flash:
nor flash 數(shù)據(jù)線和地址線分開,可以實(shí)現(xiàn)ram一樣的隨機(jī)尋址功能,可以讀取任何一個(gè)字節(jié)。但是擦除仍要按塊來擦。
nand flash 同樣是按塊擦除,但是數(shù)據(jù)線和地址線復(fù)用,不能利用地址線隨機(jī)尋址。讀取只能按頁來讀取。(nandflash按塊來擦除,按頁來讀,norflash沒有頁)
由于nandflash引腳上復(fù)用,因此讀取速度比nor flash慢一點(diǎn),但是擦除和寫入速度比nor flash快很多。nand flash內(nèi)部電路更簡(jiǎn)單,因此數(shù)據(jù)密度大,體積小,成本也低。因此大容量的flash都是nand型的。小容量的2~12M的flash多是nor型的。
使用壽命上,nand flash的擦除次數(shù)是nor的數(shù)倍。而且nand flash可以標(biāo)記壞塊,從而使軟件跳過壞塊。nor flash 一旦損壞便無法再用。
因?yàn)閚or flash可以進(jìn)行字節(jié)尋址,所以程序可以在nor flash中運(yùn)行。嵌入式系統(tǒng)多用一個(gè)小容量的nor flash存儲(chǔ)引導(dǎo)代碼,用一個(gè)大容量的nand flash存放文件系統(tǒng)和內(nèi)核。
評(píng)論