flashrom
快速擦寫只讀編程器。也就是我們常說的“閃存”,所謂“閃存”,它也是一種非易失性的內存,屬于EEPROM的改進產品。
FlashROM它的最大特點是必須按塊(Block)擦除(每個區塊的大小不定,不同廠家的產品有不同的規格), 而EEPROM則可以一次只擦除一個字節(Byte)。目前“閃存”被廣泛用在PC機的主板上,用來保存BIOS程序,便于進行程序的升級。其另外一大應用領域是用來作為硬盤的替代品,具有抗震、速度快、無噪聲、耗電低的優點,但是將其用來取代RAM就顯得不合適,因為RAM需要能夠按字節改寫,而Flash ROM不需要。
一、閃存簡介
Flash-ROM(閃存)已經成為了目前最成功、流行的一種固態內存,與 EEPROM 相比具有讀寫速度快,而與 SRAM 相比具有非易失、以及價廉等優勢。而基于 NOR 和 NAND 結構的閃存是現在市場上兩種主要的非易失閃存技術。 Intel 于 1988 年首先開發出 NOR flash 技術,徹底改變了原先由 EPROM 和 EEPROM 一統天下的局面。緊接著,1989 年東芝公司發表了 NAND flash 技術(后將該技術無償轉讓給韓國 Samsung 公司),強調降低每比特的成本,更高的性能,并且象磁盤一樣可以通過接口輕松升級。
但是經過了十多年之后,仍然有相當多的工程師分不清 NOR 和 NAND 閃存,也搞不清楚 NAND 閃存技術相對于 NOR 技術的優越之處,因為大多數情況下閃存只是用來存儲少量的代碼,這時 NOR 閃存更適合一些。而 NAND 則是高資料存儲密度的理想解決方案。
NOR 的特點是芯片內執行(XIP,eXecute In Place),這樣應用程序可以直接在閃存內運行,不必再把代碼讀到系統 RAM 中。NOR 的傳輸效率很高,在 1~4MB 的小容量時具有很高的成本效益,但是很低的寫入和擦除速度大大影響了它的性能。
NAND 結構能提供極高的單元密度,可以達到高存儲密度,并且寫入和擦除的速度也很快,這也是為何所有的 U 盤都使用 NAND 閃存做為存儲介質的原因。應用 NAND 的困難在于閃存和需要特殊的系統接口。
二、性能比較
閃存是非易失內存,可以對稱為塊的內存單元塊進行擦寫和再編程。任何閃存器件的寫入操作只能在空或已擦除的單元內進行,所以大多數情況下,在進行寫入操作之前必須先執行擦除。NAND 器件執行擦除操作是十分簡單的,而 NOR 則要求在進行擦除前先要將目標塊內所有的位都寫為 0。
由于擦除 NOR 器件時是以 64~128KB 的塊進行的,執行一個寫入/擦除操作的時間為5s,與此相反,擦除 NAND 器件是以 8~32KB 的塊進行的,執行相同的操作最多只需要 4ms。
執行擦除時塊尺寸的不同進一步拉大了 NOR 和 NAND 之間的性能差距,統計表明,對于給定的一套寫入操作(尤其是更新小文件時),更多的擦除操作必須在基于 NOR 的單元中進行。這樣,當選擇存儲解決方案時,設計師必須權衡以下的各項因素。
1) NOR的讀速度比NAND稍快一些。
2) NAND的寫入速度比NOR快很多。
3) NAND的4ms擦除速度遠比NOR的5s快。大多數寫入操作需要先進行擦除操作。
4) NAND的擦除單元更小,相應的擦除電路更少。
三、接口差別
NOR 閃存帶有SRAM接口,有足夠的地址引腳來尋址,可以很容易地存取其內部的每一個字節。
NAND閃存使用復雜的I/O口來串行地存取資料,各個產品或廠商的方法可能各不相同。8個引腳用來傳送控制、地址和資料信息。
NAND讀和寫操作采用512字節的塊,這一點有點像硬盤管理此類操作,很自然地,基于NAND的閃存就可以取代硬盤或其它塊設備。
EEPROM
EEPROM (Electrically Erasable Programmable read only memory),電可擦可編程只讀存儲器--一種掉電后數據不丟失的存儲芯片。 EEPROM 可以在電腦上或專用設備上擦除已有信息,重新編程。一般用在即插即用。
EEPROM(帶電可擦寫可編程讀寫存儲器)是用戶可更改的只讀存儲器(ROM),其可通過高于普通電壓的作用來擦除和重編程(重寫)。不像EPROM芯片,EEPROM不需從計算機中取出即可修改。在一個EEPROM中,當計算機在使用的時候可頻繁地反復編程,因此EEPROM的壽命是一個很重要的設計考慮參數。EEPROM是一種特殊形式的閃存,其應用通常是個人電腦中的電壓來擦寫和重編程。
EEPROM
EEPROM,一般用于即插即用(Plug & Play)。
常用在接口卡中,用來存放硬件設置數據。
也常用在防止軟件非法拷貝的“硬件鎖”上面。
基本原理
由于EPROM操作的不便,后來出的主板上BIOS ROM芯片大部分都采用EEPROM(Electrically Erasable Programmable ROM,電可擦除可編程ROM)。EEPROM的擦除不需要借助于其它設備,它是以電子信號來修改其內容的,而且是以Byte為最小修改單位,不必將資料全部洗掉才能寫入,徹底擺脫了EPROM Eraser和編程器的束縛。
EEPROM在寫入數據時,仍要利用一定的編程電壓,此時,只需用廠商提供的專用刷新程序就可以輕而易舉地改寫內容,所以,它屬于雙電壓芯片。借助于EEPROM芯片的雙電壓特性,可以使BIOS具有良好的防毒功能,在升級時,把跳線開關打至“on”的位置,即給芯片加上相應的編程電壓,就可以方便地升級;平時使用時,則把跳線開關打至“off”的位置,防止CIH類的病毒對BIOS芯片的非法修改。所以,至今仍有不少主板采用EEPROM作為BIOS芯片并作為自己主板的一大特色。
EEPROM與Flash區別
EEPROM,EPROM,FLASH 都是基于一種浮柵管單元(Floating gate transister)的結構。 EPROM 的浮柵處于絕緣的二氧化硅層中,充入的電子只能用紫外線的能量來激出,EEPROM 的 單元是由FLOTOX(Floating- gate tuneling oxide transister)及一個附加的Transister 組成,由于FLOTOX 的特性及兩管結構,所以可以單元讀/寫。技術上,FLASH 是結合EPROM 和EEPROM 技術達到的,很多FLASH 使用雪崩熱電子注入方式來編程,擦除和EEPROM 一樣用 Fowler-Nordheim tuneling。但主要的不同是,FLASH 對芯片提供大塊或整塊的擦除,這就 降低了設計的復雜性,它可以不要 EEPROM 單元里那個多余的Tansister,所以可以做到高集 成度,大容量,另FLASH 的浮柵工藝上也不同,寫入速度更快。
其實對于用戶來說,EEPROM 和FLASH 的最主要的區別就是
1。EEPROM 可以按“位”擦寫,而FLASH 只能一大片一大片的擦。
2。EEPROM 一般容量都不大,如果大的話,EEPROM 相對與FLASH 就沒有價格上的優勢了。 市面上賣的stand alone 的EERPOM 一般都是在64KBIT 以下,而FLASH 一般都是8MEG BIT 以上(NOR 型)。
3。讀的速度的話,應該不是兩者的差別,只是(碩士論文)EERPOM 一般用于低端產品,讀的速度不 需要那么快,真要做的話,其實也是可以做的和FLASH 差不多。
4。因為EEPROM 的存儲單元是兩個管子而FLASH 是一個(SST 的除外,類似于兩管), 所以CYCLING 的話,EEPROM 比FLASH 要好一些,到1000K 次也沒有問題的。
總的來說,對與用戶來說,EEPROM 和FLASH 沒有大的區別,只是EEPROM 是低端產品, 容量低,價格便宜,但是穩定性較FLASH 要好一些。 但對于EEPROM 和FLASH 的設計來說,FLASH 則要難的多,不論是從工藝上的還是從外圍 電路設計上來說。
Flash memory 指的是“閃存”,所謂“閃存”,它也是一種非易失性的內存,屬于EEPROM 的改進產品。它的最大特點是必須按塊(Block)擦除(每個區塊的大小不定,不同廠家的產品 有不同的規格), 而EEPROM 則可以一次只擦除一個字節(Byte)。目前“閃存”被廣泛用在 PC 機的主板上,用來保存BIOS 程序,便于進行程序的升級。其另外一大應用領域是用來作 為硬盤的替代品,具有抗震、速度快、無噪聲、耗電低的優點,但是將其用來取代RAM 就顯 得不合適,因為RAM 需要能夠按字節改寫,而Flash ROM 做不到。
ROM 和RAM 指的都是半導體存儲器,ROM 是Read Only Memory 的縮寫,RAM 是Random Access Memory 的縮寫。ROM 在系統停止供電的時候仍然可以保持數據,而RAM 通常都是在掉電之后 就丟失數據,典型的RAM 就是計算機的內存。
RAM 有兩大類,一種稱為靜態RAM(Static RAM/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 加速卡的像素渲染能力。
ROM 也有很多種,PROM 是可編程的ROM,PROM 和EPROM(可擦除可編程ROM)兩者區別是, PROM 是一次性的,也就是軟件灌入后,就無法修改了,這種是早期的產品,現在已經不可能 使用了,而EPROM 是通過紫外光的照射擦出原先的程序,是一種通用的存儲器。另外一種 EEPROM 是通過電子擦出,價格很高,寫入時間很長,寫入很慢。 舉個例子,手機軟件一般放在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。
SRAM 是Static Random www.wylunwen.com Access Memory 的縮寫,中文含義為靜態隨機訪問存儲器,它是 一種類型的半導體存儲器。“靜態”是指只要不掉電,存儲在SRAM 中的數據就不會丟失。這一 點與動態RAM(DRAM)不同,DRAM 需要進行周期性的刷新操作。 然后,我們不應將SRAM 與只 讀存儲器(ROM)和Flash Memory 相混淆,因為SRAM 是一種易失性存儲器,它只有在電源保持 連續供應的情況下才能夠保持數據。“隨機訪問”是指存儲器的內容可以以任何順序訪問,而 不管前一次訪問的是哪一個位置。
SRAM 中的每一位均存儲在四個晶體管當中,這四個晶體管組成了兩個交叉耦合反向器。 這個存儲單元具有兩個穩定狀態,通常表示為0 和1。另外還需要兩個訪問晶體管用于控制 讀或寫操作過程中存儲單元的訪問。因此,一個存儲位通常需要六個MOSFET。對稱的電路結 構使得SRAM 的訪問速度要快于DRAM。
SRAM 比DRAM 訪問速度快的另外一個原因是SRAM 可以 一次接收所有的地址位,而DRAM 則使用行地址和列地址復用的結構。 SRAM 不應該與SDRAM 相混淆,SDRAM 代表的是同步DRAM(Synchronous DRAM),這與SRAM 是完全不同的。SRAM 也不應該與PSRAM 相混淆,PSRAM 是一種偽裝成SRAM 的DRAM。
從晶體管的類型分,SRAM 可以分為雙極性與CMOS 兩種。從功能上分,SRAM 可以分為異 步SRAM 和同步SRAM(SSRAM)。異步SRAM 的訪問獨立于時鐘,數據輸入和輸出都由地址的變 化控制。同步SRAM 的所有訪問都在時鐘的上升/下降沿啟動。地址、數據輸入和其它控制信 號均于時鐘信號相關。
評論
查看更多