close

NORNAND是現在市場上兩種主要的非揮發性快閃記憶體(Non-volatile memory)技術。Intel1988年首先開發出NOR Flash技術,徹底改變了原先由EPROMEEPROM一統天下的局面。緊接著,1989年,東芝公司發表了NAND flash結構,強調降低每bit的成本,更高的性能,並且像磁片一樣可以通過介面輕鬆升級。但是經過了十多年之後,仍然有相當多的硬體工程師分不清NORNAND快閃記憶體。

“NAND flash”經常可以與相“NOR Flash”互換使用。許多業內人士也搞不清楚NAND快閃記憶體技術相對於NOR技術的優越之處,因為大多數情況下快閃記憶體只是用來存儲少量的程式碼,這時NOR快閃記憶體更適合一些。而NAND則是高資料存儲密度的理想解決方案。

NOR的特點是晶片內執行(XIP, eXecute In Place),這樣應用程式可以直接在flash快閃記憶體內運行,不必再把程式碼讀到系統RAM中。NOR的傳輸效率很高,在14MB的小容量時具有很高的成本效益,但是很低的寫入(Write)和清除(Erase)速度大大影響了它的性能。

NAND結構能提供極高的單元密度,可以達到高存儲密度,並且寫入(Write)和清除(Erase)的速度也很快。應用NAND的困難在於flash的管理和需要特殊的系統介面。

性能比較

flash快閃記憶體是非揮發性(Nonvolatile)憶體,可以對稱為塊(Block)的記憶體單元塊進行擦寫和再編程。任何flash器件的寫入操作只能在空或已擦除的單元內進行,所以大多數情況下,在進行寫入操作之前必須先執行擦除。NAND器件執行擦除操作是十分簡單的,而NOR則要求在進行擦除前先要將目標塊內所有的位元都寫為0

由於擦除NOR器件時是以64128KB的塊進行的,執行一個寫入/擦除操作的時間為5s,與此相反,擦除NAND器件是以832KB的塊進行的,執行相同的操作最多只需要4ms

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

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

  ● NAND的寫入速度比NOR快很多。

  ● NAND4ms擦除速度遠比NOR5s快。

  ●大多數寫入操作需要先進行擦除操作。

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

介面差別

NOR flash帶有SRAM介面,有足夠的位址引腳來定址,可以很容易地存取其內部的每一個位元組。NAND器件使用複雜的I/O口來串列地存取資料,各個產品或廠商的方法可能各不相同。8個引腳用來傳送控制、位址和資料資訊。

NAND讀和寫操作採用512位元組的塊,這一點有點像硬碟管理此類操作,很自然地,基於NAND的記憶體就可以取代硬碟或其他塊設備。

容量和成本

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

NOR flash佔據了容量為116MB快閃記憶體市場的大部分,而NAND flash只是用在8128MB的產品當中,這也說明NOR主要應用在代碼存儲介質中,NAND適合於資料存儲,NANDCompactFlashSecure DigitalPC CardsMMC存儲卡市場上所占份額最大。

可靠性和耐用性

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

壽命(耐用性)

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

位交換

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

一位的變化可能不很明顯,但是如果發生在一個關鍵檔上,這個小小的故障可能導致系統停機。如果只是報告有問題,多讀幾次就可能解決了。

當然,如果這個位真的改變了,就必須採用錯誤探測/錯誤更正(EDC/ECC)演算法。位反轉的問題更多見於NAND快閃記憶體,NAND的供應商建議使用NAND快閃記憶體的時候,同時使用EDC/ECC演算法。

這個問題對於用NAND存儲多媒體資訊時倒不是致命的。當然,如果用本地存儲設備來存儲作業系統、配置檔或其他敏感資訊時,必須使用EDC/ECC系統以確保可靠性。

壞塊處理(Bad Block)

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

NAND元件需要對介質進行初始化掃描以發現壞塊,並將壞塊標記(mark)為不可用。在已製成的元件中,如果通過可靠的方法不能進行這項處理,將導致高故障率。

易於使用

可以非常直接地使用基於NOR的快閃記憶體,可以像其他記憶體那樣連接,並可以在上面直接運行代碼。

由於需要I/O介面,NAND要複雜得多。各種NAND元件的存取方法因廠家而異。

在使用NAND元件時,必須先寫入驅動程式,才能繼續執行其他操作。向NAND元件寫入資訊需要相當的技巧,因為設計師絕不能向壞塊寫入,這就意味著在NAND元件上自始至終都必須進行虛擬映射。

軟體支援

當討論軟體支援的時候,應該區別基本的讀//擦操作和高一級的用於磁片仿真和快閃記憶體管理演算法的軟體,包括性能優化。

NOR器件上運行代碼不需要任何的軟體支援,在NAND器件上進行同樣操作時,通常需要驅動程式,也就是記憶體技術驅動程式(MTD)NANDNOR元件在進行寫入(Write)和擦除(Erase)操作時都需要MTD

使用NOR元件時所需要的MTD要相對少一些,許多廠商都提供用於NOR元件的更高級軟體,這其中包括M-SystemTrueFFS驅動,該驅動被Wind River SystemMicrosoftQNX Software SystemSymbianIntel等廠商所採用。

驅動還用於對DiskOnChip產品進行仿真和NAND快閃記憶體的管理,包括糾錯、壞塊處理和損耗平衡。(糾正一點:NOR擦除時,是全部寫1,不是寫0,而且,NOR FLASH SECTOR擦除時間視品牌、大小不同而不同,比如,4M FLASH,有的SECTOR擦除時間為60ms,而有的需要最大6S)

NOR FLASH的主要供應商是INTEL ,MICRON(美光)等廠商,曾經是FLASH的主流產品,但現在被NAND FLASH擠的比較難受。它的優點是可以直接從FLASH中運行程式,但是工藝複雜,價格比較貴。

NAND FLASH的主要供應商是SAMSUNG和東芝(Toshiba),在USB、各種存儲卡(SD)、MP3播放器裏面的都是這種FLASH,由於工藝上的不同,它比NOR FLASH擁有更大存儲容量,而且便宜。但也有缺點,就是無法定址直接運行程式(Execute in Place),只能儲存資料。另外NAND FLASH 非常容易出現壞區(Bad Block),所以需要有校驗的演算法。

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

arrow
arrow
    全站熱搜

    ryan0988 發表在 痞客邦 留言(0) 人氣()