ROM和RAM指的都是半導(dǎo)體存儲(chǔ)器,ROM是Read Only Memory的縮寫,RAM是Random Access Memory的縮寫。
ROM在系統(tǒng)停止供電的時(shí)候仍然可以保持?jǐn)?shù)據(jù),而RAM通常都是在掉電之后就丟失數(shù)據(jù),典型的RAM就是計(jì)算
機(jī)的內(nèi)存。?
?
????RAM
??有兩大類,一種稱為靜態(tài)RAM(StaticRAM/SRAM),SRAM速度非??欤?/span>是目前讀寫最快的存儲(chǔ)設(shè)備了,但是它也非常昂貴,所以只在要求很苛刻的地方使用,譬如CPU的一級(jí)緩沖,二級(jí)緩沖。另一種稱為動(dòng)態(tài)RAM(Dynamic RAM/DRAM),DRAM保留數(shù)據(jù)的時(shí)間很短,速度也比SRAM慢,不過(guò)它還是比任何的ROM都要快,但從價(jià)格上來(lái)說(shuō)DRAM相比SRAM要便宜很多,計(jì)算機(jī)內(nèi)存就是DRAM的。 DRAM分為很多種,常見的主要有FPRAM/FastPage、EDORAM、SDRAM、DDR RAM、RDRAM、SGRAM以及WRAM等,這里介紹其中的一種DDR RAM。
??DDR RAM(Date-Rate RAM)也稱作DDR SDRAM,這種改進(jìn)型的RAM和SDRAM是基本一樣的,不同之處在于它可以在一個(gè)時(shí)鐘讀寫兩次數(shù)據(jù),這樣就使得數(shù)據(jù)傳輸速度加倍了。這是目前電腦中用得最多的內(nèi)存,而且它有著成本優(yōu)勢(shì),事實(shí)上擊敗了Intel的另外一種內(nèi)存標(biāo)準(zhǔn)-Rambus DRAM。在很多高端的顯卡上,也配備了高速DDR RAM來(lái)提高帶寬,這可以大幅度提高3D加速卡的像素渲染能力。?
?
??內(nèi)存工作原理:
??內(nèi)存是用來(lái)存放當(dāng)前正在使用的(即執(zhí)行中)的數(shù)據(jù)和程序,我們平常所提到的計(jì)算機(jī)的內(nèi)存指的是動(dòng)態(tài)內(nèi)存(即DRAM),動(dòng)態(tài)內(nèi)存中所謂的'動(dòng)態(tài)',指的是當(dāng)我們將數(shù)據(jù)寫入DRAM后,經(jīng)過(guò)一段時(shí)間,數(shù)據(jù)會(huì)丟失,因此需要一個(gè)額外設(shè)電路進(jìn)行內(nèi)存刷新操作。具體的工作過(guò)程是這樣的:一個(gè)DRAM的存儲(chǔ)單元存儲(chǔ)的是0還是1取決于電容是否有電荷,有電荷代表1,無(wú)電荷代表0。但時(shí)間一長(zhǎng),代表1的電容會(huì)放電,代表0的電容會(huì)吸收電荷,這就是數(shù)據(jù)丟失的原因;刷新操作定期對(duì)電容進(jìn)行檢查,若電量大于滿電量的1/2,則認(rèn)為其代表1,并把電容充滿電;若電量小于1/2,則認(rèn)為其代表0,并把電容放電,藉此來(lái)保持?jǐn)?shù)據(jù)的連續(xù)性。?
?
????ROM
??也有很多種,PROM是可編程的ROM,PROM和EPROM(可擦除可編程ROM)兩者區(qū)別是,PROM是一次性的,也就是軟件灌入后,就無(wú)法修改了,這種是早期的產(chǎn)品,現(xiàn)在已經(jīng)不可能使用了,而EPROM是通過(guò)紫外光的照射擦出原
先的程序,是一種通用的存儲(chǔ)器。另外一種EEPROM是通過(guò)電子擦出,價(jià)格很高,寫入時(shí)間很長(zhǎng),寫入很慢。??舉個(gè)例子,手機(jī)軟件一般放在EEPROM中,我們打電話,有些最后撥打的號(hào)碼,暫時(shí)是存在SRAM中的,不是馬上寫入通過(guò)記錄(通話記錄保存在EEPROM中),因?yàn)楫?dāng)時(shí)有很重要工作(通話)要做,如果寫入,漫長(zhǎng)的等待是讓用戶忍無(wú)可忍的。
?
??DRAM
??利用MOS管的柵電容上的電荷來(lái)存儲(chǔ)信息,一旦掉電信息會(huì)全部的丟失,由于柵極會(huì)漏電,所以每隔一定的時(shí)間就需要一個(gè)刷新機(jī)構(gòu)給這些柵電容補(bǔ)充電荷,并且每讀出一次數(shù)據(jù)之后也需要補(bǔ)充電荷,這個(gè)就叫動(dòng)態(tài)刷新,所以稱其為動(dòng)態(tài)隨機(jī)存儲(chǔ)器。由于它只使用一個(gè)MOS管來(lái)存信息,所以集成度可以很高,容量能夠做的很大。SDRAM比它多了一個(gè)與CPU時(shí)鐘同步。
?
??SRAM?
??利用寄存器來(lái)存儲(chǔ)信息,所以一旦掉電,資料就會(huì)全部丟失,只要供電,它的資料就會(huì)一直存在,不需要?jiǎng)討B(tài)刷新,所以叫靜態(tài)隨機(jī)存儲(chǔ)器。
?
??以上主要用于系統(tǒng)內(nèi)存儲(chǔ)器,容量大,不需要斷電后仍保存數(shù)據(jù)的。
??
???PSRAM
??PSRAM ,假靜態(tài)隨機(jī)存儲(chǔ)器。具有一個(gè)單晶體管的DRAM儲(chǔ)存格,與傳統(tǒng)具有六個(gè)晶體管的SRAM儲(chǔ)存格或是四個(gè)晶體管與two-load?resistor SRAM儲(chǔ)存格大不相同,但它具有類似SRAM的穩(wěn)定接口,內(nèi)部的DRAM架構(gòu)給予PSRAM一些比low-power 6TSRAM優(yōu)異的長(zhǎng)處,例如體積更為輕巧,售價(jià)更具競(jìng)爭(zhēng)力。目前在整體SRAM市場(chǎng)中,有90%的制造商都在生產(chǎn)PSRAM組件。在過(guò)去兩年,市場(chǎng)上重要的SRAM/PSRAM供貨商有Samsung、Cypress、Renesas、Micron與Toshiba等。?
??基本原理:PSRAM就是偽SRAM,內(nèi)部的內(nèi)存顆粒跟SDRAM的顆粒相似,但外部的接口跟SRAM相似,不需要SDRAM那樣復(fù)雜的控制器和刷新機(jī)制,PSRAM的接口跟SRAM的接口是一樣的。?
??PSRAM容量有8Mbit,16Mbit,32Mbit等等,容量沒(méi)有SDRAM那樣密度高,但肯定是比SRAM的容量要高很多的,速度支持突發(fā)模式,并不是很慢,Hynix,Coremagic, WINBOND .MICRON. CY等廠家都有供應(yīng),價(jià)格只比相同容量的SDRAM稍貴一點(diǎn)點(diǎn),比SRAM便宜很多。?
??PSRAM主要應(yīng)用于手機(jī),電子詞典,掌上電腦,PDA,PMP.MP3/4,GPS接收器等消費(fèi)電子產(chǎn)品與SRAM(采用6T的技術(shù))相比,PSRAM采用的是1T+1C的技術(shù),所以在體積上更小,同時(shí),PSRAM的I/O接口與SRAM相同.在容量上,目前有4MB,8MB,16MB,32MB,64MB和128MB。比較于SDRAM,PSRAM的功耗要低很多。所以對(duì)于要求有一定緩存容量的很多便攜式產(chǎn)品是一個(gè)理想的選擇。
?
????FLASH
??存儲(chǔ)器又稱閃存,它結(jié)合了ROM和RAM的長(zhǎng)處,不僅具備電子可擦除可編程(EEPROM)的性能,還不會(huì)斷電丟失
數(shù)據(jù)同時(shí)可以快速讀取數(shù)據(jù)(NVRAM的優(yōu)勢(shì)),U盤和MP3里用的就是這種存儲(chǔ)器。在過(guò)去的20年里,嵌入式系統(tǒng)一直使用ROM(EPROM)作為它們的存儲(chǔ)設(shè)備,然而近年來(lái)Flash全面代替了ROM(EPROM)在嵌入式系統(tǒng)中的地位,用作存儲(chǔ)Bootloader以及操作系統(tǒng)或者程序代碼或者直接當(dāng)硬盤使用(U盤)。?
??Flash ROM
??是利用浮置柵上的電容存儲(chǔ)電荷來(lái)保存信息,因?yàn)楦≈脰挪粫?huì)漏電,所以斷電后信息仍然可以保存。也由于其機(jī)構(gòu)簡(jiǎn)單所以集成度可以做的很高,容量可以很大。Flash rom寫入前需要用電進(jìn)行擦除,而且擦除不同與EEPROM可以以byte(字節(jié))為單位進(jìn)行,flash?rom只能以sector(扇區(qū))為單位進(jìn)行。不過(guò)其寫入時(shí)可以byte為單位。flash rom主要用于bios,U盤,Mp3等需要大容量且斷電不丟數(shù)據(jù)的設(shè)備。
??目前Flash主要有兩種NOR Flash和NADN Flash。NOR Flash的讀取和我們常見的SDRAM的讀取是一樣,用戶可以直接運(yùn)行裝載在NOR FLASH里面的代碼,這樣可以減少SRAM的容量從而節(jié)約了成本。
???NAND Flash沒(méi)有采取內(nèi)存的隨機(jī)讀取技術(shù),它的讀取是以一次讀取一塊的形式來(lái)進(jìn)行的,通常是一次讀取512個(gè)字節(jié),采用這種技術(shù)的Flash比較廉價(jià)。用戶不能直接運(yùn)行NAND Flash上的代碼,因此好多使用NAND Flash的開發(fā)板除了使用NAND Flah以外,還作上了一塊小的NOR Flash來(lái)運(yùn)行啟動(dòng)代碼。??一般小容量的用NOR Flash,因?yàn)槠渥x取速度快,多用來(lái)存儲(chǔ)操作系統(tǒng)等重要信息,而大容量的用NAND FLASH,最常見的NAND FLASH應(yīng)用是嵌入式系統(tǒng)采用的DOC(Disk On Chip)和我們通常用的'閃盤',可以在線擦除。目前市面上的FLASH 主要來(lái)自Intel,AMD,F(xiàn)ujitsu和Toshiba,而生產(chǎn)NAND Flash的主要廠家有Samsung和Toshiba。
?
??NAND Flash和NOR Flash的比較
??NOR和NAND是現(xiàn)在市場(chǎng)上兩種主要的非易失閃存技術(shù)。Intel于1988年首先開發(fā)出NOR flash技術(shù),徹底改變了原先由EPROM和EEPROM一統(tǒng)天下的局面。緊接著,1989年,東芝公司發(fā)表了NAND flash結(jié)構(gòu),強(qiáng)調(diào)降低每比特的成本,更高的性能,并且象磁盤一樣可以通過(guò)接口輕松升級(jí)。但是經(jīng)過(guò)了十多年之后,仍然有相當(dāng)多的硬件工程師分不清NOR和NAND閃存。象'flash存儲(chǔ)器'經(jīng)??梢耘c相'NOR存儲(chǔ)器'互換使用。許多業(yè)內(nèi)人士也搞不清楚NAND閃存技術(shù)相對(duì)于NOR技術(shù)的優(yōu)越之處,因?yàn)榇蠖鄶?shù)情況下閃存只是用來(lái)存儲(chǔ)少量的代碼,這時(shí)NOR閃存更適合一些。而NAND則是高數(shù)據(jù)存儲(chǔ)密度的理想解決方案。?
???NOR是現(xiàn)在市場(chǎng)上主要的非易失閃存技術(shù)。NOR一般只用來(lái)存儲(chǔ)少量的代碼;NOR主要應(yīng)用在代碼存儲(chǔ)介質(zhì)中。NOR的特點(diǎn)是應(yīng)用簡(jiǎn)單、無(wú)需專門的接口電路、傳輸效率高,它是屬于芯片內(nèi)執(zhí)行(XIP, eXecute In Place),這樣應(yīng)用程序可以直接在(NOR型)flash閃存內(nèi)運(yùn)行,不必再把代碼讀到系統(tǒng)RAM中。在1~4MB的小容量時(shí)具有很高的成本效益,但是很低的寫入和擦除速度大大影響了它的性能。NOR flash帶有SRAM接口,有足夠的地址引腳來(lái)尋址,可以很容易地存取其內(nèi)部的每一個(gè)字節(jié)。NOR flash占據(jù)了容量為1~16MB閃存市場(chǎng)的大部分。
??NAND結(jié)構(gòu)能提供極高的單元密度,可以達(dá)到高存儲(chǔ)密度,并且寫入和擦除的速度也很快。應(yīng)用NAND的困難在于flash的管理和需要特殊的系統(tǒng)接口。
?
??1、性能比較:
??flash閃存是非易失存儲(chǔ)器,可以對(duì)稱為塊的存儲(chǔ)器單元塊進(jìn)行擦寫和再編程。任何flash器件的寫入操作只能在空或已擦除的單元內(nèi)進(jìn)行,所以大多數(shù)情況下,在進(jìn)行寫入操作之前必須先執(zhí)行擦除。NAND器件執(zhí)行擦除操作是十分簡(jiǎn)單的,而NOR則要求在進(jìn)行擦除前先要將目標(biāo)塊內(nèi)所有的位都寫為1。
由于擦除NOR器件時(shí)是以64~128KB的塊進(jìn)行的,執(zhí)行一個(gè)寫入/擦除操作的時(shí)間為5s,與此相反,擦除NAND器件是以8~32KB的塊進(jìn)行的,執(zhí)行相同的操作最多只需要4ms。執(zhí)行擦除時(shí)塊尺寸的不同進(jìn)一步拉大了NOR和NADN之間的性能差距,統(tǒng)計(jì)表明,對(duì)于給定的一套寫入操作(尤其是更新小文件時(shí)),更多的擦除操作必須在基于NOR的單元中進(jìn)行。這樣,當(dāng)選擇存儲(chǔ)解決方案時(shí),設(shè)計(jì)師必須權(quán)衡以下的各項(xiàng)因素:
● NOR的讀速度比NAND稍快一些。
● NAND的寫入速度比NOR快很多。
● NAND的4ms擦除速度遠(yuǎn)比NOR的5s快。
● 大多數(shù)寫入操作需要先進(jìn)行擦除操作。
● NAND的擦除單元更小,相應(yīng)的擦除電路更少。
???(注:NOR FLASH SECTOR擦除時(shí)間視品牌、大小不同而不同,比如,4M FLASH,有的SECTOR擦除時(shí)間為60ms,而有的需要最大6s。)
???
??2、接口差別:
NOR flash帶有SRAM接口,有足夠的地址引腳來(lái)尋址,可以很容易地存取其內(nèi)部的每一個(gè)字節(jié)。
NAND器件使用復(fù)雜的I/O口來(lái)串行地存取數(shù)據(jù),各個(gè)產(chǎn)品或廠商的方法可能各不相同。8個(gè)引腳用來(lái)傳送控制、地址和數(shù)據(jù)信息。
NAND讀和寫操作采用512字節(jié)的塊,這一點(diǎn)有點(diǎn)像硬盤管理此類操作,很自然地,基于NAND的存儲(chǔ)器就可以取代硬盤或其他塊設(shè)備。
??
??3、容量和成本:
NAND flash的單元尺寸幾乎是NOR器件的一半,由于生產(chǎn)過(guò)程更為簡(jiǎn)單,NAND結(jié)構(gòu)可以在給定的模具尺寸內(nèi)提供更高的容量,也就相應(yīng)地降低了價(jià)格。
?NOR flash占據(jù)了容量為1~16MB閃存市場(chǎng)的大部分,而NAND flash只是用在8~128MB的產(chǎn)品當(dāng)中,這也說(shuō)明NOR主要應(yīng)用在代碼存儲(chǔ)介質(zhì)中,NAND適合于數(shù)據(jù)存儲(chǔ),NAND在CompactFlash、Secure Digital、PC Cards和MMC存儲(chǔ)卡市場(chǎng)上所占份額最大。
?
??4、可靠性和耐用性:
采用flahs介質(zhì)時(shí)一個(gè)需要重點(diǎn)考慮的問(wèn)題是可靠性。對(duì)于需要擴(kuò)展MTBF的系統(tǒng)來(lái)說(shuō),F(xiàn)lash是非常合適的存儲(chǔ)方案??梢詮膲勖?耐用性)、位交換和壞塊處理三個(gè)方面來(lái)比較NOR和NAND的可靠性。
A) 壽命(耐用性)
??在NAND閃存中每個(gè)塊的最大擦寫次數(shù)是一百萬(wàn)次,而NOR的擦寫次數(shù)是十萬(wàn)次。NAND存儲(chǔ)器除了具有10比1的塊擦除周期優(yōu)勢(shì),典型的NAND塊尺寸要比NOR器件小8倍,每個(gè)NAND存儲(chǔ)器塊在給定的時(shí)間內(nèi)的刪除次數(shù)要少一些。
B) 位交換
?所有flash器件都受位交換現(xiàn)象的困擾。在某些情況下(很少見,NAND發(fā)生的次數(shù)要比NOR多),一個(gè)比特(bit)位會(huì)發(fā)生反轉(zhuǎn)或被報(bào)告反轉(zhuǎn)了。一位的變化可能不很明顯,但是如果發(fā)生在一個(gè)關(guān)鍵文件上,這個(gè)小小的故障可能導(dǎo)致系統(tǒng)停機(jī)。
????如果只是報(bào)告有問(wèn)題,多讀幾次就可能解決了。當(dāng)然,如果這個(gè)位真的改變了,就必須采用錯(cuò)誤探測(cè)/錯(cuò)誤更正(EDC/ECC)算法。位反轉(zhuǎn)的問(wèn)題更多見于NAND閃存,NAND的供應(yīng)商建議使用NAND閃存的時(shí)候,同時(shí)使用EDC/ECC算法。這個(gè)問(wèn)題對(duì)于用NAND存儲(chǔ)多媒體信息時(shí)倒不是致命的。當(dāng)然,如果用本地存儲(chǔ)設(shè)備來(lái)存儲(chǔ)操作系統(tǒng)、配置文件或其他敏感信息時(shí),必須使用EDC/ECC系統(tǒng)以確??煽啃浴?/span>
C) 壞塊處理
?NAND器件中的壞塊是隨機(jī)分布的。以前也曾有過(guò)消除壞塊的努力,但發(fā)現(xiàn)成品率太低,代價(jià)太高,根本不劃算。NAND器件需要對(duì)介質(zhì)進(jìn)行初始化掃描以發(fā)現(xiàn)壞塊,并將壞塊標(biāo)記為不可用。在已制成的器件中,如果通過(guò)可靠的方法不能進(jìn)行這項(xiàng)處理,將導(dǎo)致高故障率。?
?
??5、易于使用:
可以非常直接地使用基于NOR的閃存,可以像其他存儲(chǔ)器那樣連接,并可以在上面直接運(yùn)行代碼。
由于需要I/O接口,NAND要復(fù)雜得多。各種NAND器件的存取方法因廠家而異。
在使用NAND器件時(shí),必須先寫入驅(qū)動(dòng)程序,才能繼續(xù)執(zhí)行其他操作。向NAND器件寫入信息需要相當(dāng)?shù)募记?,因?yàn)樵O(shè)計(jì)師絕不能向壞塊寫入,這就意味著在NAND器件上自始至終都必須進(jìn)行虛擬映射。
?
??6、軟件支持:
當(dāng)討論軟件支持的時(shí)候,應(yīng)該區(qū)別基本的讀/寫/擦操作和高一級(jí)的用于磁盤仿真和閃存管理算法的軟件,包括性能優(yōu)化。在NOR器件上運(yùn)行代碼不需要任何的軟件支持,在NAND器件上進(jìn)行同樣操作時(shí),通常需要驅(qū)動(dòng)程序,也就是內(nèi)存技術(shù)驅(qū)動(dòng)程序(MTD),NAND和NOR器件在進(jìn)行寫入和擦除操作時(shí)都需要MTD。使用NOR器件時(shí)所需要的MTD要相對(duì)少一些,許多廠商都提供用于NOR器件的更高級(jí)軟件,這其中包括M-System的TrueFFS驅(qū)動(dòng),該驅(qū)動(dòng)被Wind River System、Microsoft、QNX Software System、Symbian和Intel等廠商所采用。驅(qū)動(dòng)還用于對(duì)DiskOnChip產(chǎn)品進(jìn)行仿真和NAND閃存的管理,包括糾錯(cuò)、壞塊處理和損耗平衡。
???NOR FLASH的主要供應(yīng)商是INTEL ,MICRO等廠商,曾經(jīng)是FLASH的主流產(chǎn)品,但現(xiàn)在被NAND FLASH擠的比較難受。它的優(yōu)點(diǎn)是可?以直接從FLASH中運(yùn)行程序,但是工藝復(fù)雜,價(jià)格比較貴。
???NAND FLASH的主要供應(yīng)商是SAMSUNG和東芝,在U盤、各種存儲(chǔ)卡、MP3播放器里面的都是這種FLASH,由于工藝上的不同,它比NOR FLASH擁有更大存儲(chǔ)容量,而且便宜。但也有缺點(diǎn),就是無(wú)法尋址直接運(yùn)行程序,只能存儲(chǔ)數(shù)據(jù)。另外NAND FLASH非常容易出現(xiàn)壞區(qū),所以需要有校驗(yàn)的算法。
???在掌上電腦里要使用NAND FLASH 存儲(chǔ)數(shù)據(jù)和程序,但是必須有NOR FLASH來(lái)啟動(dòng)。除了SAMSUNG處理器,其他用在掌上電腦的主流處理器還不支持直接由NAND FLASH 啟動(dòng)程序。因此,必須先用一片小的NOR FLASH 啟動(dòng)機(jī)器,在把OS等軟件從NAND FLASH?載入SDRAM中運(yùn)行才行,挺麻煩的。
?
?
?
?
?
?
?
?
結(jié)合理論和實(shí)際應(yīng)用,對(duì)RAM、ROM、Flash的做以區(qū)別
?RAM(Random Access Memory)
?????? 全名為隨機(jī)存取記憶體,它相當(dāng)于PC機(jī)上的移動(dòng)存儲(chǔ),用來(lái)存儲(chǔ)和保存數(shù)據(jù)的。它在任何時(shí)候都可以讀寫,RAM通常是作為操作系統(tǒng)或其他正在運(yùn)行程序的臨時(shí)存儲(chǔ)介質(zhì)(內(nèi)存)。當(dāng)電源關(guān)閉時(shí)RAM不能保留數(shù)據(jù)。
RAM有SRAM、DRAM兩大類
SRAM(Static RAM/SRAM),
??????? 靜態(tài)RAM,SRAM速度非???,是目前讀寫最快的存儲(chǔ)設(shè)備了,但是它也非常昂貴,所以只在要
??????? 求很苛刻的地方使用,譬如CPU的一級(jí)緩沖, 二級(jí)緩沖。
DRAM(Dynamic RAM/DRAM),
??????? DRAM保留數(shù)據(jù)的時(shí)間很短,速度也比SRAM慢,不過(guò)它還是比任何的ROM都要快,但從價(jià)格上
??????? 來(lái)說(shuō)DRAM相比SRAM要便宜很多,計(jì)算機(jī)內(nèi)存就是DRAM的。DRAM分為很多種,常見的主要有
??????? FPRAM/FastPage、EDORAM、SDRAM、DDR RAM、RDRAM、SGRAM以及WRAM等,這里
??????? 介紹其中的一種DDR RAM。DDR RAM(Date-Rate RAM)也稱作DDR SDRAM,這種改進(jìn)型
??????? 的RAM和SDRAM是基本一樣的,不同之處在于它可以在一個(gè)時(shí)鐘讀寫兩次數(shù)據(jù),這樣就使得數(shù)據(jù)
??????? 傳輸速度加倍了。這是目前電腦中用得最多的內(nèi)存,而且它有著成本優(yōu)勢(shì),事實(shí)上擊敗了Intel的
??????? 另外一種內(nèi)存標(biāo)準(zhǔn)-Rambus DRAM。在很多高端的顯卡上,也配備了高速DDR RAM來(lái)提高帶
??????? 寬,這可以大幅度提高3D加速卡的像素渲染能力。
ROM(Read Only Memory)
??????? 全名為唯讀記憶體,它相當(dāng)于PC機(jī)上的硬盤,用來(lái)存儲(chǔ)和保存數(shù)據(jù)。ROM數(shù)據(jù)不能隨意更新,但是在任何時(shí)候都可以讀取。即使是斷電,ROM也能夠保留數(shù)據(jù)。但是資料一但寫入后只能用特殊方法或根本無(wú)法更改,因此ROM常在嵌入式系統(tǒng)中擔(dān)任存放作業(yè)系統(tǒng)的用途?,F(xiàn)在市面上主流的PDA的ROM大小是64MB以及128MB。RAM和ROM相比,兩者的最大區(qū)別是RAM在斷電以后保存在上面的數(shù)據(jù)會(huì)自動(dòng)消失,而ROM就不會(huì)。隨著ROM存儲(chǔ)介質(zhì)發(fā)展,應(yīng)用中
經(jīng)常提到的有ROM、PROM、EPROM、2PROM
ROM:Read Only Memory,
??????? 只讀存儲(chǔ)器。在ROM中的內(nèi)容只能讀不能改,是在工廠里用特殊的方法被燒錄進(jìn)去的。
PROM:Programmable ROM,
??????? 可編程ROM。用戶可以用專用的編程器將自己的資料寫入,但是這種機(jī)會(huì)只有一次,一旦寫入后
??????? 也無(wú)法修改。
EPROM:Erasable Programmable ROM,
??????? 可擦除可編程ROM。芯片寫入要用專用的編程器,可重復(fù)擦除和寫入。
EEPROM:Electrically Erasable Programmable ROM,
??????? 電可擦除可編程ROM。價(jià)格很高,寫入時(shí)間很長(zhǎng),寫入很慢。但它的寫入、擦除不需要借助于其它設(shè)備,是以電子信號(hào)來(lái)修改其內(nèi)容的。用廠商提供的專用刷新程序并利用一定的編程電壓就可以輕而易舉地改寫內(nèi)容。舉個(gè)例子,手機(jī)軟件一般放在EEPROM中,我們打電話,有些最后撥打的號(hào)碼,暫時(shí)是存在SRAM中的,不是馬上寫入通過(guò)記錄(通話記錄保存在EEPROM中),因?yàn)楫?dāng)時(shí)有很重要工作(通話)要做,如果寫入,漫長(zhǎng)的等待是讓用戶忍無(wú)可忍的。
FLASH存儲(chǔ)器(閃存)
它結(jié)合了ROM和RAM的長(zhǎng)處,不僅具備電子可擦出可編程(EEPROM)的性能,還不會(huì)斷電丟失數(shù)據(jù)同時(shí)可以快速讀取數(shù)據(jù)(NVRAM的優(yōu)勢(shì)),U盤和MP3里用的就是這種存儲(chǔ)器。在過(guò)去的20年里,嵌入式系統(tǒng)一直使用ROM(EPROM)作為它們的存儲(chǔ)設(shè)備,然而近年來(lái)Flash全面代替了ROM(EPROM)在嵌入式系統(tǒng)中的地位,用作存儲(chǔ)Bootloader以及操作系統(tǒng)或者程序代碼或者直接當(dāng)硬盤使用(U盤)。目前Flash
主要有兩種
NOR Flash和NADN Flash?
NOR Flash
??????? 特點(diǎn)是芯片內(nèi)執(zhí)行(XIP, eXecute In Place),這樣應(yīng)用程序可以直接在flash閃存內(nèi)運(yùn)行,不必
??????? 再把代碼讀到系統(tǒng)RAM中。NOR的傳輸效率很高,在1~4MB的小容量時(shí)具有很高的成本效益,但
??????? 是很低的寫入和擦除速度大大影響了它的性能。
NAND Flash
??????? 該結(jié)構(gòu)能提供極高的單元密度,可以達(dá)到高存儲(chǔ)密度,并且寫入和擦除的速度也很快。NAND
??????? Flash沒(méi)有采取內(nèi)存的隨機(jī)讀取技術(shù),它的讀取是以一次讀取一快的形式來(lái)進(jìn)行的,通常是一次讀
??????? 取512個(gè)字節(jié),采用這種技術(shù)的Flash比較廉價(jià)。用戶不能直接運(yùn)行NAND Flash上的代碼,因此
??????? 好多使用NAND Flash的開發(fā)板除了使用NAND Flah以外,還作上了一塊小的NOR Flash來(lái)運(yùn)行
??????? 啟動(dòng)代碼。應(yīng)用NAND的困難在于flash的管理和需要特殊的系統(tǒng)接口。
?
性能比較
Flash閃存是非易失存儲(chǔ)器,可以對(duì)稱為塊的存儲(chǔ)器單元塊進(jìn)行擦寫和再編程。任何flash器件的寫入操作只能在空或已擦除的單元內(nèi)進(jìn)行,所以大多數(shù)情況下,在進(jìn)行寫入操作之前必須先執(zhí)行擦除。NAND 器件執(zhí)行擦除操作是十分簡(jiǎn)單的,而NOR則要求在進(jìn)行擦除前先要將目標(biāo)塊內(nèi)所有的位都寫為0。 由于擦除NOR器件時(shí)是以64~128KB 的塊進(jìn)行的,執(zhí)行一個(gè)寫入/擦除操作的時(shí)間為5s,與此相反,擦除NAND器件是以8~32KB的塊進(jìn)行的,執(zhí)行相同的操作最多只需要4ms。執(zhí)行擦除時(shí)塊尺寸的不同進(jìn)一步拉大了 NOR 和 NADN 之間的性能差距,統(tǒng)計(jì)表明,對(duì)于給定的一套寫入操作(尤其是更新小文件時(shí)更多的擦除操作必須在基于NOR的單元中進(jìn)行。這樣,當(dāng)選擇存儲(chǔ)解決方案時(shí),設(shè)計(jì)師必須權(quán)衡以下的各項(xiàng)因素。
● NOR的讀速度比NAND稍快一些。?
● NAND的寫入速度比NOR快很多。?
● NAND的4ms擦除速度遠(yuǎn)比NOR的5s快。?
● 大多數(shù)寫入操作需要先進(jìn)行擦除操作。?
● NAND的擦除單元更小,相應(yīng)的擦除電路更少。?
?
接口差別?
NOR flash帶有SRAM接口,有足夠的地址引腳來(lái)尋址,可以很容易地存取其內(nèi)部的每一個(gè)字節(jié)。?
NAND器件使用復(fù)雜的I/O口來(lái)串行地存取數(shù)據(jù),各個(gè)產(chǎn)品或廠商的方法可能各不相同。8個(gè)引腳用來(lái)傳送
控制、地址和數(shù)據(jù)信息。?
NAND 讀和寫操作采用 512 字節(jié)的塊,這一點(diǎn)有點(diǎn)像硬盤管理此類操作,很自然地,基于 NAND 的存儲(chǔ)
器就可以取代硬盤或其他塊設(shè)備。
容量和成本?
NAND flash 的單元尺寸幾乎是 NOR 器件的一半,由于生產(chǎn)過(guò)程更為簡(jiǎn)單,NAND 結(jié)構(gòu)可以在給定的模
具尺寸內(nèi)提供更高的容量,也就相應(yīng)地降低了價(jià)格。?
NOR flash占據(jù)了容量為1~16MB閃存市場(chǎng)的大部分,而NAND flash只是用在8~128MB的產(chǎn)品當(dāng)中,這
也說(shuō)明NOR主要應(yīng)用在代碼存儲(chǔ)介質(zhì)中,NAND適合于數(shù)據(jù)存儲(chǔ),NAND 在CompactFlash、Secure Digital、
PC Cards和MMC 存儲(chǔ)卡市場(chǎng)上所占份額最大。?
?
可靠性和耐用性?
采用flahs 介質(zhì)時(shí)一個(gè)需要重點(diǎn)考慮的問(wèn)題是可靠性。對(duì)于需要擴(kuò)展MTBF的系統(tǒng)來(lái)說(shuō),Flash 是非常合適的
存儲(chǔ)方案??梢詮膲勖?/span>(耐用性)、位交換和壞塊處理三個(gè)方面來(lái)比較NOR和NAND的可靠性。?
?
壽命(耐用性)?
在NAND 閃存中每個(gè)塊的最大擦寫次數(shù)是一百萬(wàn)次,而NOR的擦寫次數(shù)是十萬(wàn)次。NAND存儲(chǔ)器除了具有10
比1的塊擦除周期優(yōu)勢(shì),典型的NAND塊尺寸要比NOR器件小8倍,每個(gè)NAND存儲(chǔ)器塊在給定的時(shí)間內(nèi)的刪
除次數(shù)要少一些。