|
存儲器分為兩大類(lèi):RAM和ROM。今天我們來(lái)討論討論ROM。
ROM最初不能編程,出廠(chǎng)什么內容就永遠什么內容,不靈活。后來(lái)出現了prom,可以自己寫(xiě)入一次,要是寫(xiě)錯了,只能換一片,自認倒霉。人類(lèi)文明不斷進(jìn)步,終于出現了可多次擦除寫(xiě)入的EPROM,每次擦除要把芯片拿到紫外線(xiàn)上照一下,想一下你往單片機上下了一個(gè)程序之后發(fā)現有個(gè)地方需要加一句話(huà),為此你要把單片機放紫外燈下照半小時(shí),然后才能再下一次,這么折騰一天也改不了幾次。歷史的車(chē)輪不斷前進(jìn),偉大的EEPROM出現了,拯救了一大批程序員,終于可以隨意的修改rom中的內容了。
EEPROM的全稱(chēng)是“電可擦除可編程只讀存儲器”,即Electrically Erasable Programmable Read-Only Memory。是相對于紫外擦除的rom來(lái)講的。但是今天已經(jīng)存在多種EEPROM的變種,變成了一類(lèi)存儲器的統稱(chēng)。
狹義的EEPROM:
這種rom的特點(diǎn)是可以隨機訪(fǎng)問(wèn)和修改任何一個(gè)字節,可以往每個(gè)bit中寫(xiě)入0或者1。這是最傳統的一種EEPROM,掉電后數據不丟失,可以保存100年,可以擦寫(xiě)100w次。具有較高的可靠性,但是電路復雜/成本也高。因此目前的EEPROM都是幾十千字節到幾百千字節的,絕少有超過(guò)512K的。
flash:
flash屬于廣義的EEPROM,因為它也是電擦除的rom。但是為了區別于一般的按字節為單位的擦寫(xiě)的EEPROM,我們都叫它flash。
flash做的改進(jìn)就是擦除時(shí)不再以字節為單位,而是以塊為單位,一次簡(jiǎn)化了電路,數據密度更高,降低了成本。上M的rom一般都是flash。
flash分為nor flash和nand flash。nor flash數據線(xiàn)和地址線(xiàn)分開(kāi),可以實(shí)現ram一樣的隨機尋址功能,可以讀取任何一個(gè)字節。但是擦除仍要按塊來(lái)擦。
nand flash同樣是按塊擦除,但是數據線(xiàn)和地址線(xiàn)復用,不能利用地址線(xiàn)隨機尋址。讀取只能按頁(yè)來(lái)讀取。(nandflash按塊來(lái)擦除,按頁(yè)來(lái)讀,norflash沒(méi)有頁(yè))
由于nandflash引腳上復用,因此讀取速度比nor flash慢一點(diǎn),但是擦除和寫(xiě)入速度比nor flash快很多。nand flash內部電路更簡(jiǎn)單,因此數據密度大,體積小,成本也低。因此大容量的flash都是nand型的。小容量的2~12M的flash多是nor型的。
使用壽命上,nand flash的擦除次數是nor的數倍。而且nand flash可以標記壞塊,從而使軟件跳過(guò)壞塊。nor flash 一旦損壞便無(wú)法再用。
因為nor flash可以進(jìn)行字節尋址,所以程序可以在nor flash中運行。嵌入式系統多用一個(gè)小容量的nor flash存儲引導代碼,用一個(gè)大容量的nand flash存放文件系統和內核。
免費試聽(tīng)C語(yǔ)言、電子、PCB、STM32、Linux、FPGA、Python等。
想學(xué)習的你和我聯(lián)系預約就可以免費聽(tīng)課了。宋工Q35--24-65--90-88 Tel/WX:173--17--95--19--08
|
|