<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 網絡與存儲 > 學習方法與實踐 > NAND和NOR flash詳解

          NAND和NOR flash詳解

          作者: 時間:2008-02-27 來源:摘自 C51BBS論壇 收藏

           

                   NOR和NAND是現在市場上兩種主要的非易失閃存技術。Intel于1988年首先開發(fā)出NOR flash技術,徹底改變了原先由EPROM和EEPROM一統天下的局面。緊接著,1989年,東芝公司發(fā)表了NAND flash結構,強調降低每比特的成本,更高的性能,并且象磁盤一樣可以通過接口輕松升級。但是經過了十多年之后,仍然有相當多的硬件工程師分不清NOR和NAND閃存。

            相“flash存儲器”經??梢耘c相“NOR存儲器”互換使用。許多業(yè)內人士也搞不清
          楚NAND閃存技術相對于NOR技術的優(yōu)越之處,因為大多數情況下閃存只是用來存儲少量的代碼,這時NOR閃存更適合一些。而NAND則是高數據存儲密度的理想解決方案。
           
            NOR的特點是芯片內執(zhí)行(XIP, eXecute In Place),這樣應用程序可以直接在flash
          閃存內運行,不必再把代碼讀到系統RAM中。NOR的傳輸效率很高,在1~4MB的小容量時具有很高的成本效益,但是很低的寫入和擦除速度大大影響了它的性能。

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

          性能比較

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

            由于擦除NOR器件時是以64~128KB的塊進行的,執(zhí)行一個寫入/擦除操作的時間為5s
          ,與此相反,擦除NAND器件是以8~32KB的塊進行的,執(zhí)行相同的操作最多只需要4ms。
            
                   執(zhí)行擦除時塊尺寸的不同進一步拉大了NOR和NADN之間的性能差距,統計表明,對于給定的一套寫入操作(尤其是更新小文件時),更多的擦除操作必須在基于NOR的單元中進行。這樣,當選擇存儲解決方案時,設計師必須權衡以下的各項因素。

            ● NOR的讀速度比NAND稍快一些。
            ● NAND的寫入速度比NOR快很多。
            ● NAND的4ms擦除速度遠比NOR的5s快。
            ● 大多數寫入操作需要先進行擦除操作。
            ● NAND的擦除單元更小,相應的擦除電路更少。

          接口差別

            NOR flash帶有SRAM接口,有足夠的地址引腳來尋址,可以很容易地存取其內部的每
          一個字節(jié)。

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

            NAND讀和寫操作采用512字節(jié)的塊,這一點有點像硬盤管理此類操作,很自然地,基
          于NAND的存儲器就可以取代硬盤或其他塊設備。

          容量和成本

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

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

          可靠性和耐用性

            采用flahs介質時一個需要重點考慮的問題是可靠性。對于需要擴展MTBF的系統來說
          ,Flash是非常合適的存儲方案??梢詮膲勖?耐用性)、位交換和壞塊處理三個方面來比較NOR和NAND的可靠性。

            壽命(耐用性)
                  在NAND閃存中每個塊的最大擦寫次數是一百萬次,而NOR的擦寫次數是十萬次。NAND存儲器除了具有10比1的塊擦除周期優(yōu)勢,典型的NAND塊尺寸要比NOR器件小8倍,每個NAND存儲器塊在給定的時間內的刪除次數要少一些。

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

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

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

            這個問題對于用NAND存儲多媒體信息時倒不是致命的。當然,如果用本地存儲設備
          來存儲操作系統、配置文件或其他敏感信息時,必須使用EDC/ECC系統以確??煽啃?。

            壞塊處理
            NAND器件中的壞塊是隨機分布的。以前也曾有過消除壞塊的努力,但發(fā)現成品率太
          低,代價太高,根本不劃算。

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

          易于使用
            可以非常直接地使用基于NOR的閃存,可以像其他存儲器那樣連接,并可以在上面直
          接運行代碼。

            由于需要I/O接口,NAND要復雜得多。各種NAND器件的存取方法因廠家而異。

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

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

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

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

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


          關鍵詞: NAND NOR flash

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();