SRAM/DRAM,PROM/EPROM/EEPROM,NOR/NAND FLASH區別

RAM / ROM 存儲器
  ROM和RAM指的都是半導體存儲器,ROM是Read Only Memory的縮寫,RAM是Random Access Memory的縮寫。ROM在系統停止供電的時候仍然可以保持數據,而RAM通常都是在掉電之後就丟失數據,典型的RAM就是計算機的內存。
  RAM 有兩大類:
  1) 靜態RAM(Static RAM / SRAM),SRAM速度非常快,是目前讀寫最快的存儲設備了,但是它也非常昂貴,所以只在要求很苛刻的地方使用,譬如CPU的一級緩衝,二級緩衝。
  2) 動態RAM(Dynamic RAM / DRAM),DRAM保留數據的時間很短,速度也比SRAM慢,不過它還是比任何的ROM都要快,但從價格上來說DRAM相比SRAM要便宜很多,計算機內存就是DRAM的。

  DRAM分爲很多種,常見的主要有FPRAM / FastPage、EDORAM、SDRAM、DDR RAM、RDRAM、SGRAM以及WRAM等,這裏介紹其中的一種DDR RAM。

  DDR RAM(Double-Date-Rate RAM)也稱作DDR SDRAM,這種改進型的RAM和SDRAM是基本一樣的,不同之處在於它可以在一個時鐘讀寫兩次數據,這樣就使得數據傳輸速度加倍了。
  這是目前電腦中用得最多的內存,而且它有着成本優勢,事實上擊敗了Intel的另外一種內存標準~Rambus DRAM。
  在很多高端的顯卡上,也配備了高速DDR RAM來提高帶寬,這可以大幅度提高3D加速卡的像素渲染能力。
  ROM也有很多種:
  1) PROM(可編程ROM),是一次性的,也就是軟件灌入後,就無法修改了,這種是早期的產品,現在已經不可能使用了;
  2) EPROM (可擦除可編程ROM),是通過紫外光的照射擦出原先的程序,是一種通用的存儲器。
  3) EEPROM,是通過電子擦除,價格很高,寫入時間很長,寫入很慢。
  舉個例子,手機軟件一般放在EEPROM中,我們打電話,有些最後撥打的號碼,暫時是存在SRAM中的,不是馬上寫入通話記錄(通話記錄保存在EEPROM中),因爲當時有很重要工作(通話)要做,如果寫入,漫長的等待是讓用戶忍無可忍的。
內存工作原理   
  內存是用來存放當前正在使用的(即執行中)的數據和程序,我們平常所提到的計算機的內存指的是動態內存(即DRAM)。
  動態內存中所謂的“動態”,指的是當我們將數據寫入DRAM後,經過一段時間,數據會丟失,因此需要一個額外設電路進行內存刷新操作。
  具體的工作過程是這樣的:
  一個DRAM的存儲單元存儲的是0還是1取決於電容是否有電荷,有電荷代表1,無電荷代表0。
  但時間一長,代表1的電容會放電,代表0的電容會吸收電荷,這就是數據丟失的原因。
  刷新操作定期對電容進行檢查,若電量大於滿電量的1/2,則認爲其代表1,並把電容充滿電;若電量小於 1/2,則認爲其代表0,並把電容放電,藉此來保持數據的連續性。 
Flash存儲器
  FLASH 存儲器又稱閃存,它結合了ROM和RAM的長處,不僅具備電子可擦除可編程(EEPROM)的性能,還不會斷電丟失數據同時可以快速讀取數據(NVRAM 的優勢),U盤和MP3裏用的就是這種存儲器。

  在過去的20年裏,嵌入式系統一直使用ROM (EPROM)作爲它們的存儲設備,然而近年來Flash全面代替了ROM (EPROM)在嵌入式系統中的地位,用作存儲Bootloader以及操作系統或者程序代碼或者直接當硬盤使用(U盤)。
  目前Flash主要有兩種NOR Flash和NAND Flash。
  NOR Flash的讀取和我們常見的SDRAM的讀取是一樣,用戶可以直接運行裝載在NOR FLASH裏面的代碼,這樣可以減少SRAM的容量從而節約了成本。
  NAND Flash沒有采取內存的隨機讀取技術,它的讀取是以一次讀取一塊的形式來進行的,通常是一次讀取512個字節,採用這種技術的Flash比較廉價。
  用戶不能直接運行NAND Flash上的代碼,因此好多使用NAND Flash的開發板除了使用NAND Flash以外,還用一塊小的NOR Flash來運行啓動代碼。
  一般小容量的用NOR Flash,因爲其讀取速度快,多用來存儲操作系統等重要信息。
  而大容量的用NAND FLASH,最常見的NAND FLASH應用是嵌入式系統採用的DOC(Disk On Chip)和我們通常用的"閃盤",可以在線擦除。
  目前市面上的FLASH 主要來自Intel,AMD,Fujitsu和Toshiba,而生產NAND Flash的主要廠家有Samsung和Toshiba。
  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的單元中進行。這樣,當選擇存儲解決方案時,設計師必須權衡以下的各項因素:
  a、 NOR的讀速度比NAND稍快一些;
  b、 NAND的寫入速度比NOR快很多; 
  c、 NAND的4ms擦除速度遠比NOR的5s快;
  d、 大多數寫入操作需要先進行擦除操作;
  e、 NAND的擦除單元更小,相應的擦除電路更少。
  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、Secure Digital、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中運行才行,挺麻煩的。

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

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

  以上主要用於系統內存儲器,容量大,不需要斷電後仍保存數據的。

  Flash ROM 是利用浮置柵上的電容存儲電荷來保存信息,因爲浮置柵不會漏電,所以斷電後信息仍然可以保存。
  也由於其機構簡單所以集成度可以做的很高,容量可以很大。
  Flash rom寫入前需要用電進行擦除,而且擦除不同,EEPROM可以以byte(字節)爲單位進行,flash rom只能以sector(扇區)爲單位進行。不過其寫入時可以byte爲單位。
  flash rom主要用於bios,U盤,Mp3等需要大容量且斷電不丟數據的設備。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章