OneNand、Nand和Nor三种Flash的区别
NOR的特點是芯片內執行(XIP,?eXecute?In?Place),這樣應用程序可以直接在Flash?閃存內運行,不必再把代碼讀到系統RAM中。?NOR的傳輸效率很高,在1~4MB的小容量時具有很高的成本效益,但是很低的寫入和擦除速度大大影響了它的性能。?
NAND結構能提供極高的單元密度,可以達到高存儲密度,并且寫入和擦除的速度也很快。應用NAND的困難在于Flash的管理和需要特殊的系統接口。?
OneNand是針對消費類電子和下一代移動手機市場而設計的,一種高可靠性嵌入式存儲設備。隨著過去幾十年的Nand技術的發展,一些公司,基于原先的NAND的架構,設計出一種理想的單存儲芯片,其集成了SRAM的緩存和邏輯接口。OneNand既實現NOR?Flash的高速讀取速度,又保留了Nand?Flash的大容量數據存儲的優點。
| ? | NAND?Flash | One?Nand | NOR?Flash |
| 結構 | 串行 | 串行 | 并行 |
| 總線 | 復用 | 復用 | 分離的地址線和數據線 |
| 尺寸 | 1/8 | ? | 典型單位1 |
| 壞塊 | 隨機分布 | ? | ? |
| 快速隨機讀取 | ? | ? | √ |
| 快速順序讀取 | √ | √ | √ |
| 快速寫編程 | √ | √ | ? |
| 同時擦除多個塊 | ? | √?(最大64個塊) | √ |
| 擦除的掛起/恢復 | ? | √ | √ |
| 寫回 | √(錯誤檢測) | √?(錯誤檢測與糾正) | ? |
| 鎖/解鎖/緊鎖 | ? | √ | √ |
| 錯誤糾正 | 外部?(硬件/軟件) | 內置 | 不需要 |
| 擴展性 | √ | √ | ? |
?
OneNAND結合了NAND存儲密度高、寫入速度快和NOR讀取速度快的優點,整體性能完全超越常規的NAND和NOR。不過三星并不是希望它快速取代傳統的NAND,而是將其作為NOR的競爭者。在具體實現上,OneNAND其實并不復雜,三星并不是采用另起爐灶的方式來設計它,而是巧妙地將NAND與NOR的結構融為一體。OneNAND采用NAND邏輯結構的存儲內核和NOR的控制接口,并直接在系統內整合一定容量SRAM靜態隨即存儲器作為高速緩沖區。這樣,OneNAND就可以在容量指標上與NAND閃存靠攏,目前它的最高密度指標達到4Gb,雖然在容量上略不如NAND但比NOR閃存要高出許多。
NAND內核并不具備本地執行代碼(XIP)的能力,但這項功能對各種需要快速程序運行終端設備來說非常重要。三星作出的解決辦法就是依靠高速SRAM緩存—在存儲器家族中,SRAM(靜態隨機存儲器)的讀寫速度最快,CPU內的L1 Cache和L2 Cache采用的就是SRAM邏輯,可具備與CPU等速運行的能力。當OneNAND執行程序時,代碼必須從OneNAND存儲核心載入到SRAM,然后在SRAM上執行。由于SRAM的速度優勢,數據載入動作幾乎可以在瞬間完成,用戶感覺不到遲滯現象,加上SRAM被直接封裝在OneNAND芯片內部,外界看起來就好像是OneNAND也具備程序的本地執行功能。這種工作模式非常巧妙,并可收到與NOR相同的效果,但缺點是SRAM邏輯的晶體管利用效率非常低,無法實現較大的容量,三星在OneNAND中只是集成1KB容量的SRAM,因此OneNAND暫時只支持1KB代碼長度的XIP—在這方面,OneNAND顯然還無法與NOR閃存相媲美。
不過,OneNAND的讀寫性能相當出眾,三星最新的OneNAND產品擁有高達108MBps的數據讀取帶寬,這已達到與NOR閃存相當的水準—這個速度也遠遠超過了現在的7200轉桌面硬盤。相比之下,常規NAND閃存的讀取性能只有區區17MBps,兩者存在巨大的性能差異。其次,OneNAND的數據寫入速度達到9.3MBps,雖然遠遠不如108MBps的讀取速度,但相比NAND閃存的6.8MBps也已經有長足的進步了。與之形成鮮明對比的是,NOR閃存的寫入速度只有可憐的0.14MBps,幾乎稱得上是慢如蝸牛。在數據擦除方面,OneNAND與NAND的指標相同,都達到64MBps,而NOR閃存更只有區區0.11MBps,與前兩者完全無法相比。從性能角度來看,OneNAND無論讀、寫還是擦除都明顯凌駕于NAND之上,NOR在寫入/擦除方面的性能與之根本不具可比性,對嵌入式設備廠商來說,選擇簡單的OneNAND來代替NOR+NAND組合的方案是非常可行的。
由于OneNAND采用與NAND相同的存儲內核,它也會遭遇存儲壞塊的問題。如果只是用在數據存儲,這個問題似乎沒什么大不了,但OneNAND必須用于系統代碼的裝載和執行,一旦出現存儲壞區且該區正在執行代碼訪問,造成的后果便是設備死機或者關機,這其實也是NAND進入NOR應用領域的主要障礙。為了解決這個難題,三星公司為OneNAND閃存量身定做了一款名為“Datalight OneBoot”的嵌入式控制軟件。Datalight OneBoot具有高度靈活的特性,可被簡單地整合到各種類型的嵌入式系統中。在實際運行時,OneBoot允許設備像使用硬盤一樣來調用OneNAND資源,讀寫操作的具體算法由OneBoot在底層直接實現。而在關鍵的壞塊管理上,OneBoot通過實時掃描、瞬間屏蔽的方式來隱藏壞塊。掃描工作一般在系統閑置時進行,如果OneBoot檢測到存儲區的某處存在壞塊,那么OneBoot就對該區域作上標注,將壞塊屏蔽起來,這樣代碼運行或數據讀寫時就不會訪問到這個區域,保證系統運行及個人數據存儲的可靠性。這種機制非常有效,往往是壞塊剛剛產生就被OneBoot檢測到并屏蔽,沒有什么機會被程序或用戶所訪問。因此盡管OneNAND仍在物理上具備類似NAND的不可靠性缺陷,但三星的OneBoot嵌入式控制軟件在很大程度上可以將之消除,該套系統的可靠性完全可以同搭載NOR閃存的系統相媲美。為了讓OneNAND能進入更多領域,三星還在OneBoot基礎上發展出增強的“OneBoot+File”技術,后者除了具備OneBoot所有的功能特性外,還能夠明顯加快系統的啟動速度。OneBoot+File的啟動加速技術有些類似于計算機的“休眠”,它在運行時可以自動保存系統的工作狀態,在下一次啟動時直接從該狀態恢復。三星表示,采用OneBoot+File控制軟件,系統的啟動速度可比常規方式快出88%,幾乎是即開即用。鑒于掌上設備日趨復雜化,軟件功能增加,啟動時間也相應延長,而選擇三星的OneNAND閃存與OneBoot+File控制軟件方案可很好緩解這些問題,這在智能手機、掌上電腦、高性能數碼相機等產品中尤其具有積極意義。
總結
以上是生活随笔為你收集整理的OneNand、Nand和Nor三种Flash的区别的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Simulink之变压器隔离的直流-直流
- 下一篇: uboot主循环main_loop