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