1. 程式人生 > >ROM、RAM、DRAM、SRAM和FLASH的區別(轉載)

ROM、RAM、DRAM、SRAM和FLASH的區別(轉載)

ROM和RAM指的都是半導體儲存器,ROM是Read Only Memory的縮寫,RAM是RandomAccess Memory的縮寫。
ROM在系統停止供電的時候仍然可以保持資料,而RAM通常都是在掉電之後就丟失資料,典型的RAM就是計算機的記憶體。 


   RAM
 有兩大類,一種稱為靜態RAM(StaticRAM/SRAM),SRAM速度非常快,是目前讀寫最快的儲存裝置了,但是它也非常昂貴,所以只在要求很苛刻的地方使用,譬如CPU的一級緩衝,二級緩衝。另一種稱為動態RAM(Dynamic RAM/DRAM),DRAM保留資料的時間很短,速度也比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是基本一樣的,不同之處在於它可以在一個時鐘讀寫兩次資料,這樣就使得資料傳輸速度加倍了。這是目前電腦中用得最多的記憶體,而且它有著成本優勢,事實上擊敗了Intel的另外一種記憶體標準-Rambus DRAM。在很多高階的顯示卡上,也配備了高速DDR RAM來提高頻寬,這可以大幅度提高3D加速卡的畫素渲染能力。 


 記憶體工作原理:
 記憶體是用來存放當前正在使用的(即執行中)的資料和程式,我們平常所提到的計算機的記憶體指的是動態記憶體(即DRAM),動態記憶體中所謂的"動態",指的是當我們將資料寫入DRAM後,經過一段時間,資料會丟失,因此需要一個額外設電路進行記憶體重新整理操作。具體的工作過程是這樣的:一個DRAM的儲存單元儲存的是0還是1取決於電容是否有電荷,有電荷代表1,無電荷代表0。但時間一長,代表1的電容會放電,代表0的電容會吸收電荷,這就是資料丟失的原因;重新整理操作定期對電容進行檢查,若電量大於滿電量的1/2,則認為其代表1,並把電容充滿電;若電量小於1/2,則認為其代表0,並把電容放電,藉此來保持資料的連續性。 


   ROM
 也有很多種,PROM是可程式設計的ROM,PROM和EPROM(可擦除可程式設計ROM)兩者區別是,PROM是一次性的,也就是軟體灌入後,就無法修改了,這種是早期的產品,現在已經不可能使用了,而EPROM是通過紫外光的照射擦出原先的程式,是一種通用的儲存器。另外一種EEPROM是通過電子擦出,價格很高,寫入時間很長,寫入很慢。 
 舉個例子,手機軟體一般放在EEPROM中,我們打電話,有些最後撥打的號碼,暫時是存在SRAM中的,不是馬上寫入通過記錄(通話記錄儲存在EEPROM中),因為當時有很重要工作(通話)要做,如果寫入,漫長的等待是讓使用者忍無可忍的。


 DRAM
 利用MOS管的柵電容上的電荷來儲存資訊,一旦掉電資訊會全部的丟失,由於柵極會漏電,所以每隔一定的時間就需要一個重新整理機構給這些柵電容補充電荷,並且每讀出一次資料之後也需要補充電荷,這個就叫動態重新整理,所以稱其為動態隨機儲存器。由於它只使用一個MOS管來存資訊,所以整合度可以很高,容量能夠做的很大。SDRAM比它多了一個與CPU時鐘同步。


 SRAM 
 利用暫存器來儲存資訊,所以一旦掉電,資料就會全部丟失,只要供電,它的資料就會一直存在,不需要動態重新整理,所以叫靜態隨機儲存器。


 以上主要用於系統記憶體儲器,容量大,不需要斷電後仍儲存資料的。
  
  PSRAM
 PSRAM ,假靜態隨機儲存器。具有一個單電晶體的DRAM儲存格,與傳統具有六個電晶體的SRAM儲存格或是四個電晶體與two-load resistor SRAM儲存格大不相同,但它具有類似SRAM的穩定介面,內部的DRAM架構給予PSRAM一些比low-power 6TSRAM優異的長處,例如體積更為輕巧,售價更具競爭力。目前在整體SRAM市場中,有90%的製造商都在生產PSRAM元件。在過去兩年,市場上重要的SRAM/PSRAM供貨商有Samsung、Cypress、Renesas、Micron與Toshiba等。 
 基本原理:PSRAM就是偽SRAM,內部的記憶體顆粒跟SDRAM的顆粒相似,但外部的介面跟SRAM相似,不需要SDRAM那樣複雜的控制器和重新整理機制,PSRAM的介面跟SRAM的介面是一樣的。 
 PSRAM容量有8Mbit,16Mbit,32Mbit等等,容量沒有SDRAM那樣密度高,但肯定是比SRAM的容量要高很多的,速度支援突發模式,並不是很慢,Hynix,Coremagic, WINBOND .MICRON.CY等廠家都有供應,價格只比相同容量的SDRAM稍貴一點點,比SRAM便宜很多。 
 PSRAM主要應用於手機,電子詞典,掌上電腦,PDA,PMP.MP3/4,GPS接收器等消費電子產品與SRAM(採用6T的技術)相比,PSRAM採用的是1T+1C的技術,所以在體積上更小,同時,PSRAM的I/O介面與SRAM相同.在容量上,目前有4MB,8MB,16MB,32MB,64MB和128MB。比較於SDRAM,PSRAM的功耗要低很多。所以對於要求有一定快取容量的很多行動式產品是一個理想的選擇。


   FLASH
 儲存器又稱快閃記憶體,它結合了ROM和RAM的長處,不僅具備電子可擦除可程式設計(EEPROM)的效能,還不會斷電丟失
資料同時可以快速讀取資料(NVRAM的優勢),U盤和MP3裡用的就是這種儲存器。在過去的20年裡,嵌入式系統一直使用ROM(EPROM)作為它們的儲存裝置,然而近年來Flash全面代替了ROM(EPROM)在嵌入式系統中的地位,用作儲存Bootloader以及作業系統或者程式程式碼或者直接當硬碟使用(U盤)。 
 Flash ROM
 是利用浮置柵上的電容儲存電荷來儲存資訊,因為浮置柵不會漏電,所以斷電後資訊仍然可以儲存。也由於其機構簡單所以整合度可以做的很高,容量可以很大。Flash rom寫入前需要用電進行擦除,而且擦除不同與EEPROM可以以byte(位元組)為單位進行,flash rom只能以sector(扇區)為單位進行。不過其寫入時可以byte為單位。flash rom主要用於bios,U盤,Mp3等需要大容量且斷電不丟資料的裝置。
 目前Flash主要有兩種NOR Flash和NADN Flash。NOR Flash的讀取和我們常見的SDRAM的讀取是一樣,使用者可以直接執行裝載在NOR FLASH裡面的程式碼,這樣可以減少SRAM的容量從而節約了成本。
  NAND Flash沒有采取記憶體的隨機讀取技術,它的讀取是以一次讀取一塊的形式來進行的,通常是一次讀取512個位元組,採用這種技術的Flash比較廉價。使用者不能直接執行NAND Flash上的程式碼,因此好多使用NAND Flash的開發板除了使用NAND Flah以外,還作上了一塊小的NOR Flash來執行啟動程式碼。  一般小容量的用NOR Flash,因為其讀取速度快,多用來儲存作業系統等重要資訊,而大容量的用NAND FLASH,最常見的NAND FLASH應用是嵌入式系統採用的DOC(Disk OnChip)和我們通常用的"閃盤",可以線上擦除。目前市面上的FLASH 主要來自Intel,AMD,Fujitsu和Toshiba,而生產NAND Flash的主要廠家有Samsung和Toshiba。


 NAND Flash和NOR Flash的比較
 NOR和NAND是現在市場上兩種主要的非易失快閃記憶體技術。Intel於1988年首先開發出NOR flash技術,徹底改變了原先由EPROM和EEPROM一統天下的局面。緊接著,1989年,東芝公司發表了NAND flash結構,強調降低每位元的成本,更高的效能,並且象磁碟一樣可以通過介面輕鬆升級。但是經過了十多年之後,仍然有相當多的硬體工程師分不清NOR和NAND快閃記憶體。象"flash儲存器"經常可以與相"NOR儲存器"互換使用。許多業內人士也搞不清楚NAND快閃記憶體技術相對於NOR技術的優越之處,因為大多數情況下快閃記憶體只是用來儲存少量的程式碼,這時NOR快閃記憶體更適合一些。而NAND則是高資料儲存密度的理想解決方案。 
  NOR是現在市場上主要的非易失快閃記憶體技術。NOR一般只用來儲存少量的程式碼;NOR主要應用在程式碼儲存介質中。NOR的特點是應用簡單、無需專門的介面電路、傳輸效率高,它是屬於晶片內執行(XIP, eXecute In Place),這樣應用程式可以直接在(NOR型)flash快閃記憶體內執行,不必再把程式碼讀到系統RAM中。在1~4MB的小容量時具有很高的成本效益,但是很低的寫入和擦除速度大大影響了它的效能。NOR flash帶有SRAM介面,有足夠的地址引腳來定址,可以很容易地存取其內部的每一個位元組。NOR flash佔據了容量為1~16MB快閃記憶體市場的大部分。
 NAND結構能提供極高的單元密度,可以達到高儲存密度,並且寫入和擦除的速度也很快。應用NAND的困難在於flash的管理和需要特殊的系統介面。


 1、效能比較:
 flash快閃記憶體是非易失儲存器,可以對稱為塊的儲存器單元塊進行擦寫和再程式設計。任何flash器件的寫入操作只能在空或已擦除的單元內進行,所以大多數情況下,在進行寫入操作之前必須先執行擦除。NAND器件執行擦除操作是十分簡單的,而NOR則要求在進行擦除前先要將目標塊內所有的位都寫為1。
  由於擦除NOR器件時是以64~128KB的塊進行的,執行一個寫入/擦除操作的時間為5s,與此相反,擦除NAND器件是以8~32KB的塊進行的,執行相同的操作最多隻需要4ms。執行擦除時塊尺寸的不同進一步拉大了NOR和NADN之間的效能差距,統計表明,對於給定的一套寫入操作(尤其是更新小檔案時),更多的擦除操作必須在基於NOR的單元中進行。這樣,當選擇儲存解決方案時,設計師必須權衡以下的各項因素:
  ● NOR的讀速度比NAND稍快一些。
  ● NAND的寫入速度比NOR快很多。
  ● NAND的4ms擦除速度遠比NOR的5s快。
  ● 大多數寫入操作需要先進行擦除操作。
  ● NAND的擦除單元更小,相應的擦除電路更少。
  (注:NOR FLASH SECTOR擦除時間視品牌、大小不同而不同,比如,4M FLASH,有的SECTOR擦除時間為60ms,而有的需要最大6s。)
  
 2、介面差別:
  NOR flash帶有SRAM介面,有足夠的地址引腳來定址,可以很容易地存取其內部的每一個位元組。
  NAND器件使用複雜的I/O口來序列地存取資料,各個產品或廠商的方法可能各不相同。8個引腳用來傳送控制、地址和資料資訊。
  NAND讀和寫操作採用512位元組的塊,這一點有點像硬碟管理此類操作,很自然地,基於NAND的儲存器就可以取代硬碟或其他塊裝置。
  
 3、容量和成本:
  NAND flash的單元尺寸幾乎是NOR器件的一半,由於生產過程更為簡單,NAND結構可以在給定的模具尺寸內提供更高的容量,也就相應地降低了價格。
   NOR flash佔據了容量為1~16MB快閃記憶體市場的大部分,而NAND flash只是用在8~128MB的產品當中,這也說明NOR主要應用在程式碼儲存介質中,NAND適合於資料儲存,NAND在CompactFlash、SecureDigital、PC Cards和MMC儲存卡市場上所佔份額最大。


 4、可靠性和耐用性:
  採用flahs介質時一個需要重點考慮的問題是可靠性。對於需要擴充套件MTBF的系統來說,Flash是非常合適的儲存方案。可以從壽命(耐用性)、位交換和壞塊處理三個方面來比較NOR和NAND的可靠性。
  A) 壽命(耐用性)
     在NAND快閃記憶體中每個塊的最大擦寫次數是一百萬次,而NOR的擦寫次數是十萬次。NAND儲存器除了具有10比1的塊擦除週期優勢,典型的NAND塊尺寸要比NOR器件小8倍,每個NAND儲存器塊在給定的時間內的刪除次數要少一些。
  B) 位交換
    所有flash器件都受位交換現象的困擾。在某些情況下(很少見,NAND發生的次數要比NOR多),一個位元(bit)位會發生反轉或被報告反轉了。一位的變化可能不很明顯,但是如果發生在一個關鍵檔案上,這個小小的故障可能導致系統停機。
   如果只是報告有問題,多讀幾次就可能解決了。當然,如果這個位真的改變了,就必須採用錯誤探測/錯誤更正(EDC/ECC)演算法。位反轉的問題更多見於NAND快閃記憶體,NAND的供應商建議使用NAND快閃記憶體的時候,同時使用EDC/ECC演算法。這個問題對於用NAND儲存多媒體資訊時倒不是致命的。當然,如果用本地儲存裝置來儲存作業系統、配置檔案或其他敏感資訊時,必須使用EDC/ECC系統以確保可靠性。
  C) 壞塊處理
    NAND器件中的壞塊是隨機分佈的。以前也曾有過消除壞塊的努力,但發現成品率太低,代價太高,根本不划算。NAND器件需要對介質進行初始化掃描以發現壞塊,並將壞塊標記為不可用。在已製成的器件中,如果通過可靠的方法不能進行這項處理,將導致高故障率。 


 5、易於使用:
  可以非常直接地使用基於NOR的快閃記憶體,可以像其他儲存器那樣連線,並可以在上面直接執行程式碼。
  由於需要I/O介面,NAND要複雜得多。各種NAND器件的存取方法因廠家而異。
  在使用NAND器件時,必須先寫入驅動程式,才能繼續執行其他操作。向NAND器件寫入資訊需要相當的技巧,因為設計師絕不能向壞塊寫入,這就意味著在NAND器件上自始至終都必須進行虛擬對映。


 6、軟體支援:
  當討論軟體支援的時候,應該區別基本的讀/寫/擦操作和高一級的用於磁碟模擬和快閃記憶體管理演算法的軟體,包括效能優化。在NOR器件上執行程式碼不需要任何的軟體支援,在NAND器件上進行同樣操作時,通常需要驅動程式,也就是記憶體技術驅動程式(MTD),NAND和NOR器件在進行寫入和擦除操作時都需要MTD。使用NOR器件時所需要的MTD要相對少一些,許多廠商都提供用於NOR器件的更高階軟體,這其中包括M-System的TrueFFS驅動,該驅動被Wind River System、Microsoft、QNX Software System、Symbian和Intel等廠商所採用。驅動還用於對DiskOnChip產品進行模擬和NAND快閃記憶體的管理,包括糾錯、壞塊處理和損耗平衡。
  NOR FLASH的主要供應商是INTEL ,MICRO等廠商,曾經是FLASH的主流產品,但現在被NAND FLASH擠的比較難受。它的優點是可 以直接從FLASH中執行程式,但是工藝複雜,價格比較貴。
  NAND FLASH的主要供應商是SAMSUNG和東芝,在U盤、各種儲存卡、MP3播放器裡面的都是這種FLASH,由於工藝上的不同,它比NOR FLASH擁有更大儲存容量,而且便宜。但也有缺點,就是無法定址直接執行程式,只能儲存資料。另外NAND FLASH非常容易出現壞區,所以需要有校驗的演算法。

  在掌上電腦裡要使用NAND FLASH 儲存資料和程式,但是必須有NOR FLASH來啟動。除了SAMSUNG處理器,其他用在掌上電腦的主流處理器還不支援直接由NAND FLASH 啟動程式。因此,必須先用一片小的NOR FLASH 啟動機器,在把OS等軟體從NAND FLASH 載入SDRAM中執行才行,挺麻煩的。

原文:http://it.chinawin.net/graphics/article-3d45.html