結合理論和實際應用,對RAM、ROM、Flash的做以區(qū)別,若用不當之處請?zhí)岢?/span>
RAM(Random Access Memory)
全名為隨機存取記憶體,它相當于PC機上的移動存儲,用來存儲和保存數(shù)據(jù)的。它在任何時候都可以讀寫,RAM通常是作為操作系統(tǒng)或其他正在運行程序的臨時存儲介質(內存)。當電源關閉時RAM不能保留數(shù)據(jù)。
RAM有SRAM、DRAM兩大類
SRAM(Static RAM/SRAM),
靜態(tài)RAM,SRAM速度非常快,是目前讀寫最快的存儲設備了,但是它也非常昂貴,所以只在要
求很苛刻的地方使用,譬如CPU的一級緩沖, 二級緩沖。
DRAM(Dynamic RAM/DRAM),
DRAM保留數(shù)據(jù)的時間很短,速度也比SRAM慢,不過它還是比任何的ROM都要快,但從價格上
來說DRAM相比SRAM要便宜很多,計算機內存就是DRAM的。DRAM分為很多種,常見的主要有
FPRAM/FastPage、EDORAM、SDRAM、DDR RAM、RDRAM、SGRAM以及WRAM等,這里
介紹其中的一種DDR RAM。DDR RAM(Date-Rate RAM)也稱作DDR SDRAM,這種改進型
的RAM和SDRAM是基本一樣的,不同之處在于它可以在一個時鐘讀寫兩次數(shù)據(jù),這樣就使得數(shù)據(jù)
傳輸速度加倍了。這是目前電腦中用得最多的內存,而且它有著成本優(yōu)勢,事實上擊敗了Intel的
另外一種內存標準-Rambus DRAM。在很多高端的顯卡上,也配備了高速DDR RAM來提高帶
寬,這可以大幅度提高3D加速卡的像素渲染能力。
ROM(Read Only Memory)
全名為唯讀記憶體,它相當于PC機上的硬盤,用來存儲和保存數(shù)據(jù)。ROM數(shù)據(jù)不能隨意更新,但是在任何時候都可以讀取。即使是斷電,ROM也能夠保留數(shù)據(jù)。但是資料一但寫入后只能用特殊方法或根本無法更改,因此ROM常在嵌入式系統(tǒng)中擔任存放作業(yè)系統(tǒng)的用途?,F(xiàn)在市面上主流的PDA的ROM大小是64MB以及128MB。RAM和ROM相比,兩者的最大區(qū)別是RAM在斷電以后保存在上面的數(shù)據(jù)會自動消失,而ROM就不會。隨著ROM存儲介質發(fā)展,應用中
經(jīng)常提到的有ROM、PROM、EPROM、2PROM
ROM:Read Only Memory,
只讀存儲器。在ROM中的內容只能讀不能改,是在工廠里用特殊的方法被燒錄進去的。
PROM:Programmable ROM,
可編程ROM。用戶可以用專用的編程器將自己的資料寫入,但是這種機會只有一次,一旦寫入后
也無法修改。
EPROM:Erasable Programmable ROM,
可擦除可編程ROM。芯片寫入要用專用的編程器,可重復擦除和寫入。
EEPROM:Electrically Erasable Programmable ROM,
電可擦除可編程ROM。價格很高,寫入時間很長,寫入很慢。但它的寫入、擦除不需要借助于其它設備,是以電子信號來修改其內容的。用廠商提供的專用刷新程
序并利用一定的編程電壓就可以輕而易舉地改寫內容。舉個例子,手機軟件一般放在EEPROM中,我們打電話,有些最后撥打的號碼,暫時是存在SRAM中
的,不是馬上寫入通過記錄(通話記錄保存在EEPROM中),因為當時有很重要工作(通話)要做,如果寫入,漫長的等待是讓用戶忍無可忍的。
FLASH存儲器(閃存)
它結合了ROM
和RAM的長處,不僅具備電子可擦出可編程(EEPROM)的性能,還不會斷電丟失數(shù)據(jù)同時可以快速讀取數(shù)據(jù)(NVRAM的優(yōu)勢),U盤和MP3里用的就
是這種存儲器。在過去的20年里,嵌入式系統(tǒng)一直使用ROM(EPROM)作為它們的存儲設備,然而近年來Flash全面代替了ROM(EPROM)在嵌
入式系統(tǒng)中的地位,用作存儲Bootloader以及操作系統(tǒng)或者程序代碼或者直接當硬盤使用(U盤)。目前Flash
主要有兩種
NOR Flash和NADN Flash
NOR Flash
特點是芯片內執(zhí)行(XIP, eXecute In Place),這樣應用程序可以直接在flash閃存內運行,不必
再把代碼讀到系統(tǒng)RAM中。NOR的傳輸效率很高,在1~4MB的小容量時具有很高的成本效益,但
是很低的寫入和擦除速度大大影響了它的性能。
NAND Flash
該結構能提供極高的單元密度,可以達到高存儲密度,并且寫入和擦除的速度也很快。NAND
Flash沒有采取內存的隨機讀取技術,它的讀取是以一次讀取一快的形式來進行的,通常是一次讀
取512個字節(jié),采用這種技術的Flash比較廉價。用戶不能直接運行NAND Flash上的代碼,因此
好多使用NAND Flash的開發(fā)板除了使用NAND Flah以外,還作上了一塊小的NOR Flash來運行
啟動代碼。應用NAND的困難在于flash的管理和需要特殊的系統(tǒng)接口。
性能比較
Flash閃存
是非易失存儲器,可以對稱為塊的存儲器單元塊進行擦寫和再編程。任何flash器件的寫入操作只能在空或已擦除的單元內進行,所以大多數(shù)情況下,在進行寫
入操作之前必須先執(zhí)行擦除。NAND 器件執(zhí)行擦除操作是十分簡單的,而NOR則要求在進行擦除前先要將目標塊內所有的位都寫為0。
由于擦除NOR器件時是以64~128KB
的塊進行的,執(zhí)行一個寫入/擦除操作的時間為5s,與此相反,擦除NAND器件是以8~32KB的塊進行的,執(zhí)行相同的操作最多只需要4ms。執(zhí)行擦除時
塊尺寸的不同進一步拉大了 NOR 和 NADN
之間的性能差距,統(tǒng)計表明,對于給定的一套寫入操作(尤其是更新小文件時更多的擦除操作必須在基于NOR的單元中進行。這樣,當選擇存儲解決方案時,設計
師必須權衡以下的各項因素。
● NOR的讀速度比NAND稍快一些。
● NAND的寫入速度比NOR快很多。
● NAND的4ms擦除速度遠比NOR的5s快。
● 大多數(shù)寫入操作需要先進行擦除操作。
● NAND的擦除單元更小,相應的擦除電路更少。
接口差別
NOR flash帶有SRAM接口,有足夠的地址引腳來尋址,可以很容易地存取其內部的每一個字節(jié)。
NAND器件使用復雜的I/O口來串行地存取數(shù)據(jù),各個產品或廠商的方法可能各不相同。8個引腳用來傳送
控制、地址和數(shù)據(jù)信息。
NAND 讀和寫操作采用 512 字節(jié)的塊,這一點有點像硬盤管理此類操作,很自然地,基于 NAND 的存儲
器就可以取代硬盤或其他塊設備。
容量和成本
NAND flash 的單元尺寸幾乎是 NOR 器件的一半,由于生產過程更為簡單,NAND 結構可以在給定的模
具尺寸內提供更高的容量,也就相應地降低了價格。
NOR flash占據(jù)了容量為1~16MB閃存市場的大部分,而NAND flash只是用在8~128MB的產品當中,這
也說明NOR主要應用在代碼存儲介質中,NAND適合于數(shù)據(jù)存儲,NAND 在CompactFlash、Secure Digital、
PC Cards和MMC 存儲卡市場上所占份額最大。
可靠性和耐用性
采用flahs 介質時一個需要重點考慮的問題是可靠性。對于需要擴展MTBF的系統(tǒng)來說,F(xiàn)lash 是非常合適的
存儲方案??梢詮膲勖?耐用性)、位交換和壞塊處理三個方面來比較NOR和NAND的可靠性。
壽命(耐用性)
在NAND 閃存中每個塊的最大擦寫次數(shù)是一百萬次,而NOR的擦寫次數(shù)是十萬次。NAND存儲器除了具有10
比1的塊擦除周期優(yōu)勢,典型的NAND塊尺寸要比NOR器件小8倍,每個NAND存儲器塊在給定的時間內的刪
除次數(shù)要少一些。