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的快閃記憶體就可以取代硬碟或其它塊設備。

容量和成本

NAND 快閃記憶體的單元尺寸幾乎是 NOR 快閃記憶體的一半,由於生產過程更為簡單,NAND 結構可以在給定的模具尺寸內提供更高的容量,也就相應地降低了價格。

NOR 快閃記憶體容量為 1~11~16MB 快閃記憶體市場的大部分,而 NAND 快閃記憶體只是用在 8MB 以上的產品當中,這也說明 NOR 主要套用在代碼存儲介質中,NAND 適合於資料存儲,NAND 在  CompactFlash、Secure Digital、PC Cards 和 MMC 存儲卡市場上所占份額最大。

產品特點

可靠性和耐用性

採用快閃記憶體介質時一個需要重點考慮的問題是可靠性。對於需要擴展 MTBF 的系統來說,快閃記憶體是非常合適的存儲方案。可以從壽命(耐用性)、位交換和壞塊處理三個方面來比較 NOR 和 NAND 的可靠性。

壽命(耐用性)

在 NAND 快閃記憶體中每個塊的最大擦寫次數是一百萬次,而 NOR 的擦寫次數是十萬次。NAND 記憶體除了具有 10:1 的塊擦除周期優勢,典型的  NAND 塊尺寸要比 NOR 器件小 8 倍,每個 NAND 記憶體塊在給定的時間內的刪除次數要少一些。

位交換

所有快閃記憶體器件都受位交換現象的困擾。在某些情況下(很少見,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 快閃記憶體(Strata Flash)

Strata Flash 是 Intel 公司產的典型 Nor Flash, 本機使用的Strata Flash 是該系列中的 28F320J3。

它的特性如下:

1) 問速度有 110ns/120ns 和150ns 共 3檔

2) 具備128bit 加密暫存器

3) 塊尺寸:128KB

九、典型的 NAND 快閃記憶體(K9S5608)

K9S5608 是韓國 Samsung 公司所產的 256MBit(32MByte) SMC 卡(外形封裝成卡片形式的) NAND 快閃記憶體。

K9S5608 具有以下特性:

(1) 32MByte 存儲空間的結構為:(32M+1024K)bit×8bit

(2) 支持自動編程和擦除模式

(3) 10uS 隨即頁面讀寫

(4) 200uS 快速頁面擦除周期

(5) 具備硬體防寫功能

(6) 擦/寫壽命:10 萬次

(7) 資料保存壽命:10 年

相關詞條

相關搜尋

熱門詞條

聯絡我們