內存(RAM或ROM)和FLASH存儲的真正區別總結

轉載自:
http://blog.csdn.net/liangkaiyang/article/details/5955653
1.什麼是內存
     什麼是內存呢?在計算機的組成結構中,有一個很重要的部分,就是存儲器。存儲器是用來存儲程序和數據的部件,對於計算機來講,有了存儲器,纔有記憶功能,才能保證正常工做。存儲器的種類不少,按其用途可分爲主存儲器和輔助存儲器,主存儲器又稱內存儲器(簡稱內存),輔助存儲器又稱外存儲器(簡稱外存)。外存一般是磁性介質或光盤,像硬盤,軟盤,磁帶,CD等,能長期保存信息,而且不依賴於電來保存信息,可是由機械部件帶動,速度與CPU相比就顯得慢的多。內存指的就是主板上的存儲部件,是CPU直接與之溝通,並用其存儲數據的部件,存放當前正在使用的(即執行中)的數據和程序,它的物理實質就是一組或多組具有數據輸入輸出和數據存儲功能的集成電路,內存只用於暫時存放程序和數據,一旦關閉電源或發生斷電,其中的程序和數據就會丟失。

2.內存工做原理:
內存是用來存放當前正在使用的(即執行中)的數據和程序,咱們日常所提到的計算機的內存指的是動態內存(即DRAM),動態內存中所謂的'動態',指的是當咱們將數據寫入DRAM後,通過一段時間,數據會丟失,所以須要一個額外設電路進行內存刷新操做。

具體的工做過程是這樣的:一個DRAM的存儲單元存儲的是0仍是1取決於電容是否有電荷,有電荷表明1,無電荷表明0。但時間一長,表明1的電容會放電,表明0的電容會吸取電荷,這就是數據丟失的緣由;刷新操做按期對電容進行檢查,若電量大於滿電量的1/2,則認爲其表明1,並把電容充滿電;若電量小於1/2,則認爲其表明0,並把電容放電,藉此來保持數據的連續性。 

ROM也有不少種,PROM是可編程的ROM,PROM和EPROM(可擦除可編程ROM)二者區別是,PROM是一次性的,也就是軟件灌入後,就沒法修改了,這種是早期的產品,如今已經不可能使用了,而EPROM是經過紫外光的照射擦出原先的程序,是一種通用的存儲器。另一種EEPROM是經過電子擦出,價格很高,寫入時間很長,寫入很慢。

從一有計算機開始,就有內存。內存發展到今天也經歷了不少次的技術改進,從最先的DRAM一直到FPMDRAM、EDODRAM、SDRAM等,內存的速度一直在提升且容量也在不斷的增長。

3.ROM和RAM指的都是半導體存儲器
1)ROM是Read Only Memory的縮寫
     是一種半導體內存,其特性是一旦儲存資料就沒法再將之改變或刪除。一般用在不需常常變動資料的電子或電腦系統中,資料而且不會由於電源關閉而消失。
     只能讀出事先所存數據的固態半導體存儲器。英文簡稱ROM。ROM所存數據,通常是裝入整機前事先寫好的,整機工做過程當中只能讀出,而不像隨機存儲器那樣能快速地、方便地加以改寫。ROM所存數據穩定 ,斷電後所存數據也不會改變;其結構較簡單,讀出較方便,於是經常使用於存儲各類固定程序和數據。除少數品種的只讀存儲器(如字符發生器)能夠通用以外,不一樣用戶所需只讀存儲器的內容不一樣。
     爲便於使 用和大批 量 生產 ,進一步發展了可編程只讀存儲器(PROM)、可擦可編程序只讀存儲器(EPROM)和電可擦可編程只讀存儲器(EEPROM)。EPROM需用紫外光長時間照射才能擦除,使用很不方便。20世紀 80 年代製出的 EEPROM ,克服了EPROM的不足,但集成度不高 ,價格較貴。因而又開發出一種新型的存儲單元結構同 EPROM 類似的快閃存儲器 。其集成度高、功耗低 、體積小 ,又能在線快速擦除 ,於是得到飛速發展,並有可能取代現行的硬盤和軟盤而成爲主要的大容量存儲媒體。大部分只讀存儲器用金屬-氧化物-半導體(MOS)場效應管制成。

2)RAM是Random Access Memory的縮寫。
   又稱爲隨機存取存儲器;存儲單元的內容可按需隨意取出或存入,且存取的速度與存儲單元的位置無關的存儲器。這種存儲器在斷電時將丟失其存儲內容,故主要用於存儲短期使用的程序。

簡單地說,在計算機中,RAM 、ROM都是數據存儲器。RAM 是隨機存取存儲器,它的特色是易揮發性,即掉電失憶。ROM 一般指固化存儲器(一次寫入,反覆讀取),它的特色與RAM 相反。ROM又分一次性固化、光擦除和電擦除重寫兩種類型。 
     
     ROM在系統中止供電的時候仍然能夠保持數據,而RAM一般都是在掉電以後就丟失數據,典型的RAM就是計算機的內存。 

4.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(Date-Rate RAM)也稱做DDR SDRAM,這種改進型的RAM和SDRAM是基本同樣的,不一樣之處在於它能夠在一個時鐘讀寫兩次數據,這樣就使得數據傳輸速度加倍了。這是目前電腦中用得最多的內存,並且它有着成本優點,事實上擊敗了Intel的另一種內存標準-Rambus DRAM。在不少高端的顯卡上,也配備了高速DDR RAM來提升帶寬,這能夠大幅度提升3D加速卡的像素渲染能力。 

5.再不明白的請看例子:
舉個例子,手機軟件通常放在EEPROM中,咱們打電話,有些最後撥打的號碼,暫時是存在SRAM中的,不是立刻寫入經過記錄(通話記錄保存在EEPROM中),由於當時有很重要工做(通話)要作,若是寫入,漫長的等待是讓用戶忍無可忍的。
FLASH存儲器又稱閃存,它結合了ROM和RAM的長處,不只具有電子可擦除可編程(EEPROM)的性能,還不會斷電丟失數據同時能夠快速讀取數據(NVRAM的優點),U盤和MP3裏用的就是這種存儲器。在過去的20年裏,嵌入式系統一直使用ROM(EPROM)做爲它們的存儲設備,然而近年來Flash全面代替了ROM(EPROM)在嵌入式系統中的地位,用做存儲Bootloader以及操做系統或者程序代碼或者直接當硬盤使用(U盤)。 

目前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 On Chip)和咱們一般用的'閃盤',能夠在線擦除。目前市面上的FLASH 主要來自Intel,AMD,Fujitsu和Toshiba,而生產NAND Flash的主要廠家有Samsung和Toshiba。
------------------------------------------------------------黃金分界線----------------------------------------------------------------------------------------git

問題1:什麼是DRAM、SRAM、SDRAM?
答:名詞解釋以下
DRAM--------動態隨即存取器,須要不斷的刷新,才能保存數據,並且是行列地址複用的,許多都有頁模式
SRAM--------靜態的隨機存儲器,加電狀況下,不須要刷新,數據不會丟失,並且通常不是行列地址複用的
SDRAM-------同步的DRAM,即數據的讀寫須要時鐘來同步

問題2:爲何DRAM要刷新,SRAM則不須要?
答:這是由RAM的設計類型決定的,DRAM用了一個T和一個RC電路,致使電容會漏電和緩慢放電,因此須要常常刷新來保存數據

問題3:咱們一般所說的內存用的是什麼呢?這三個產品跟咱們實際使用有什麼關係?
答:內存(即隨機存貯器RAM)可分爲靜態隨機存儲器SRAM,和動態隨機存儲器DRAM兩種。咱們常常說的「
內存」是指DRAM。而SRAM你們卻接觸的不多。

問題4:爲何使用DRAM比較多、而使用SRAM卻不多?

答:1)由於製造相同容量的SRAM比DRAM的成本高的多,正由於如此,才使其發展受到了限制。所以目前SRAM基本上只用於CPU內部的一級緩存以及內置的二級緩存。僅有少許的網絡服務器以及路由器上可以使用SRAM。

   2)存儲單元結構不一樣致使了容量的不一樣:一個DRAM存儲單元大約須要一個晶體管和一個電容(不
包括行讀出放大器等),而一個SRAM存儲單元大約須要六個晶體管。DRAM和SDRAM因爲實現工藝問題,容量
較SRAM大,可是讀寫速度不如SRAM。

問題5:用得最多的DRAM有什麼特色呢?它的工藝是什麼狀況?(一般所說的內存就是DRAM)

答:1)DRAM須要進行週期性的刷新操做,咱們不該將SRAM與只讀存儲器(ROM)和Flash Memory相混淆,由於SRAM是一種易失性存儲器,它只有在電源保持連續供應的狀況下才可以保持數據。「隨機訪問」是指存儲器的內容能夠以任何順序訪問,而無論前一次訪問的是哪個位置。

2)DRAM和SDRAM因爲實現工藝問題,容量較SRAM大。可是讀寫速度不如SRAM,可是如今,SDRAM的速度也已經很快了,時鐘好像已經有150兆的了。那麼就是讀寫週期小於10ns了。

3)SDRAM雖然工做頻率高,可是實際吞吐率要打折扣。以PC133爲例,它的時鐘週期是7.5ns,當CAS latency=2 時,它須要12個週期完成8個突發讀操做,10個週期完成8個突發寫操做。不過,若是以交替方式訪問Bank,SDRAM能夠在每一個週期完成一個讀寫操做(固然除去刷新操做)。

4)其實如今的主流高速存儲器是SSRAM(同步SRAM)和SDRAM(同步DRAM)。目前能夠方便買到的SSRAM最大容量是8Mb/片,最大工做速度是166MHz;能夠方便買到的SDRAM最大容量是128Mb/片,最大工做速度是133MHz。

問題6:用得比較少但速度很快,一般用於服務器cache的SRAM有什麼特色呢?

答:1)SRAM是靜態的,DRAM或SDRAM是動態的,靜態的是用的雙穩態觸發器來保存信息,而動態的是用電子,要不時的刷新來保持。SRAM是Static Random Access Memory的縮寫,中文含義爲靜態隨機訪問存儲器,它是一種類型的半導體存儲器。「靜態」是指只要不掉電,存儲在SRAM中的數據就不會丟失。

2)SRAM實際上是一種很是重要的存儲器,它的用途普遍。SRAM的速度很是快,在快速讀取和刷新時可以保持數據完整性。SRAM內部採用的是雙穩態電路的形式來存儲數據。因此SRAM的電路結構很是複雜。

3)從晶體管的類型分,SRAM能夠分爲雙極性與CMOS兩種。從功能上分,SRAM能夠分爲異步SRAM和同步SRAM(SSRAM)。異步SRAM的訪問獨立於時鐘,數據輸入和輸出都由地址的變化控制。同步SRAM的全部訪問都在時鐘的上升/降低沿啓動。地址、數據輸入和其它控制信號均於時鍾信號相關。


最後要說明的一點:
       SRAM不該該與SDRAM相混淆,SDRAM表明的是同步DRAM(Synchronous DRAM),這與SRAM是徹底不一樣的。SRAM也不該該與PSRAM相混淆,PSRAM是一種假裝成SRAM的DRAM。 
------------------------------------------------------------黃金分界線----------------------------------------------------------------------------------------算法

關於Nor和Nand的介紹和區別,在網絡上有不少,若是不是常常用的話,還真的沒法說出個因此然來。我也是轉帖網絡上的,目的是常常能看看。

         NOR和NAND是如今市場上兩種主要的非易失閃存技術。Intel於1988年首先開發出NOR flash技術,完全改變了原先由EPROM和EEPROM一統天下的局面。緊接着,1989年,東芝公司發表了NAND flash結構,強調下降每比特的成本,更高的性能,而且象磁盤同樣能夠經過接口輕鬆升級。可是通過了十多年以後,仍然有至關多的硬件工程師分不清NOR和NAND閃存。

相「flash存儲器」常常能夠與相「NOR存儲器」互換使用。許多業內人士也搞不清楚NAND閃存技術相對於NOR技術的優越之處,由於大多數狀況下閃存只是用來存儲少許的代碼,這時NOR閃存更適合一些。而NAND則是高數據存儲密度的理想解決方案。 

一.存儲區別比較
  NOR的特色是芯片內執行(XIP, execute In Place),這樣應用程序能夠接在flash閃存內運行,沒必要再把代碼讀到系統RAM中。

NOR的傳輸效率很高,在1~4MB的小容量時具備很高的成本效益,可是很低的寫入和擦除速度大大影響了它的性能。

  NAND結構能提供極高的單元密度,能夠達到高存儲密度,而且寫入和擦除的速度也很快。應用NAND的困難在於flash的管理和須要特殊的系統接口。

二.性能比較

  flash閃存是非易失存儲器,能夠對稱爲塊的存儲器單元塊進行擦寫和再編程。任何flash器件的寫入操做只能在空或已擦除的單元內進行,因此大多數狀況下,在進行寫入操做以前必須先執行擦除。NAND器件執行擦除操做是十分簡單的,而NOR則要求在進行擦除前先要將目標塊內全部的位都寫爲0。

    因爲擦除NOR器件時是以64~128KB的塊進行的,執行一個寫入/擦除操做的時間爲5s,與此相反,擦除NAND器件是以8~32KB的塊進行的,執行相同的操做最多隻須要4ms。

    執行擦除時塊尺寸的不一樣進一步拉大了NOR和NADN之間的性能差距,統計代表,對於給定的一套寫入操做(尤爲是更新小文件時更多的擦除操做必須在基於NOR的單元中進行。這樣,當選擇存儲解決方案時,設計師必須權衡如下的各項因素。

  ● NOR的讀速度比NAND稍快一些。

    ● NAND的寫入速度比NOR快不少。

  ● NAND的4ms擦除速度遠比NOR的5s快。

    ● 大多數寫入操做須要先進行擦除操做。

    ● NAND的擦除單元更小,相應的擦除電路更少。

三.接口差異

NOR flash帶有SRAM接口,有足夠的地址引腳來尋址,能夠很容易地存取其內部的每個字節。

NAND器件使用複雜的I/O口來串行地存取數據,各個產品或廠商的方法可能各不相同。8個引腳用來傳送控制、地址和數據信息。

NAND讀和寫操做採用512字節的塊,這一點有點像硬盤管理此類操做,很天然地,基於NAND的存儲器就能夠取代硬盤或其餘塊設備。

四.容量和成本

NAND flash的單元尺寸幾乎是NOR器件的一半,因爲生產過程更爲簡單,NAND結構能夠在給定的模具尺寸內提供更高的容量,也就相應地下降了價格。

NOR flash佔據了容量爲1~16MB閃存市場的大部分,而NAND flash只是用在8~128MB的產品當中,這也說明NOR主要應用在代碼存儲介質中,NAND適合於數據存儲,NAND在CompactFlash、Secure Digital、PC Cards和MMC存儲卡市場上所佔份額最大。

五.可靠性和耐用性

採用flahs介質時一個須要重點考慮的問題是可靠性。對於須要擴展MTBF的系統來講,Flash是很是合適的存儲方案。能夠從壽命(耐用性)、位交換和壞塊處理三個方面來比較NOR和NAND的可靠性。

六.壽命(耐用性)

在NAND閃存中每一個塊的最大擦寫次數是一百萬次,而NOR的擦寫次數是十萬次。NAND存儲器除了具備10比1的塊擦除週期優點,典型的NAND塊尺寸要比NOR器件小8倍,每一個NAND存儲器塊在給定的時間內的刪除次數要少一些。

七.位交換問題

  全部flash器件都受位交換現象的困擾。在某些狀況下(不多見,NAND發生的次數要比NOR多),一個比特位會發生反轉或被報告反轉了。

  一位的變化可能不很明顯,可是若是發生在一個關鍵文件上,這個小小的故障可能致使系統停機。若是隻是報告有問題,多讀幾回就可能解決了。

  固然,若是這個位真的改變了,就必須採用錯誤探測/錯誤更正(EDC/ECC)算法。位反轉的問題更多見於NAND閃存,NAND的供應商建議使用NAND閃存的時候,同時使用EDC/ECC算法。

這個問題對於用NAND存儲多媒體信息時倒不是致命的。固然,若是用本地存儲設備來存儲操做系統、配置文件或其餘敏感信息時,必須使用EDC/ECC系統以確保可靠性。  

八.壞塊處理

NAND器件中的壞塊是隨機分佈的。之前也曾有過消除壞塊的努力,但發現成品率過低,代價過高,根本不划算。

NAND器件須要對介質進行初始化掃描以發現壞塊,並將壞塊標記爲不可用。在已製成的器件中,若是經過可靠的方法不能進行這項處理,將致使高故障率。 易於使用能夠很是直接地使用基於NOR的閃存,能夠像其餘存儲器那樣鏈接,並能夠在上面直接運行代碼。

因爲須要I/O接口,NAND要複雜得多。各類NAND器件的存取方法因廠家而異。

在使用NAND器件時,必須先寫入驅動程序,才能繼續執行其餘操做。向NAND器件寫入信息須要至關的技巧,由於設計師毫不能向壞塊寫入,這就意味着在NAND器件上自始至終都必須進行虛擬映射。

九.軟件支持

當討論軟件支持的時候,應該區別基本的讀/寫/擦操做和高一級的用於磁盤仿真和閃存管理算法的軟件,包括性能優化。

在NOR器件上運行代碼不須要任何的軟件支持,在NAND器件上進行一樣操做時,一般須要驅動程序,也就是內存技術驅動程序(MTD),NAND和NOR器件在進行寫入和擦除操做時都須要MTD。

使用NOR器件時所須要的MTD要相對少一些,許多廠商都提供用於NOR器件的更高級軟件,這其中包括M-System的TrueFFS驅動,該驅動被Wind River System、Microsoft、QNX Software System、Symbian和Intel等廠商所採用。

驅動還用於對DiskOnChip產品進行仿真和NAND閃存的管理,包括糾錯、壞塊處理和損耗。編程

相關文章
相關標籤/搜索