關于SSD的二三事,NAND閃存的一些常識

2012-1-3 15:29  |  作者:Strike   |  關鍵字:NAND,ONFI,ToggleDDR,同步,異步,SLC,MLC,TLC

  不知道大家對ToggleDDR、ONFI兩大標準你知道多少呢?閃存的同步和異步模式又是什么呢?SLC、MLC、TLC它們有什么區別呢?

本文約2592字,需4分鐘閱讀

  構成SSD的主要IC有主控芯片和NAND閃存,估計有不少人認為單純看主控就可以知道SSD的性能,其實這是錯誤的,就像OCZ現在的產品線那樣,用的都是SandForce SF-2281主控,但是通過不同的閃存與固件搭配劃分出Vertex 3 MAX IOPS、Vertex 3、Agility 3與Solid 3等不同層次的產品,相互之間性能差異比較大,可見SSD所用的固件與閃存種類都是對其性能有相當大影響的。

  今天我們就來說說這個NAND閃存,目前閃存制造廠主要分為三星與東芝聯合的ToggleDDR陣營和英特爾與美光為首的ONFI陣營,他們各有各的接口,產品之間的規格也不相同, 主流的SandForce SF-2000系列主控和Marvell 88SS9174主控都提供了對ONFI和ToggleDDR標準閃存的支持,下面就來介紹一下這兩個標準。

ONFI接口標準

  ONFI(Open NAND Flash Interface)標準是由英特爾,鎂光,海力士,臺灣群聯電子,SanDisk, 索尼,飛索半導體為首宣布統一制定的連接NAND閃存和控制芯片的接口標準,當初制定ONFI標準的主要目的是統一當時混亂的閃存標準。

  2006年,隨著手機、MP3播放器、U盤的需求量逐漸增大,以及開始步入消費市場的SSD,市場對NAND閃存的需求也增加不少,而當時各個閃存制造廠所用的設計標準各有不同,這樣導致閃存控制器廠商和下游產品制造廠在制作產品時碰到各種麻煩,業界迫切需求一個統一的標準,這就是ONFI的誕生背景。

  ONFI 1.0制定于2006年12月,內容主要是制定閃存的物理接口、封裝、工作機制、控制指令、寄存器等規范,增加對ECC的支持,傳輸帶寬從傳統的Legacy接口的40MB/s提升到50MB/s,性能提升幅度不大,不過其主要目的還是統一閃存接口規范,減輕產品廠商的開發壓力。

  ONFI 2.0標準誕生于2008年2月,2.0標準將帶寬速度提高到133MB/s以滿足高速設備對閃存性能的需求,在該版本中,主要是通過兩項技術來提高傳輸速度。第一項就是在DRAM領域里常用的DDR(Double Data Rate,雙倍數據率)信號技術。第二項是使用源同步時鐘來精確控制鎖存信號,使其能夠達到更高的工作頻率。

  ONFI 2.1標準于2009年1月發布,帶寬提升到166MB/s和200MB/s(工作模式不同速度不同),8KB page數據傳輸延時降低,改良電源管理降低寫入操作能耗,加強ECC糾錯能力,新增“Small Data Move”與“Change Row Address”指令。

  ONFI 2.2發表于2009年10月,增加了LUN(邏輯單元號)重置、增強頁編程寄存器的清除和新的ICC測量和規范。LUN重置和頁編程寄存器清除提升了擁有多個NAND閃存芯片設備的處理效率,ICC規范則簡化了下游廠家的測試程序。

  ONFI 2.3在2010年8月的閃存峰會上發布,在2.2標準的基礎上加入了EZ-NAND協議。EZ-NAND是Error Zero NAND的簡寫,這一協議將NAND閃存的糾錯碼管理由主控芯片中轉移到閃存自身,以減輕主控芯片負擔。

  今年3月ONFI 3.0規范發布,接口帶寬提升到400MB/s,需求的針腳數更少讓PCB走線更加方便,從目前披露的資料來看,ONFI 3.0采用更短的信道、更寬的信號間距,并加入片內終止技術,使其傳輸帶寬能夠達到400MB/s。

三星與東芝的ToggleDDR陣營

  面對ONFI組織的攻勢,占有全球70% NAND產能的兩大閃存生產巨頭三星與東芝決定攜手對抗,2007年12月,三星與東芝聯合通過了一項關于閃存專利技術互換授權協議,根據這項協議,三星電子和東芝在閃存規格和技術上將完全共享。

  根據項協議規定,三星將允許東芝生產和制造自己旗下的OneNAND和Flex-OneNAND閃存芯片,而東芝公司則將以自己的LBA-NAND和mobileLBA-NAND閃存芯片技術作為條件與三星電子進行交換,這些閃存芯片生產技術都是三星電子和東芝的核心技術,但是新的合作協議讓雙方在閃存芯片制造技術實力上都取得了進一步的增強,此外他們將一同合作研發新一代閃存產品,也就是后來的Toggle DDR NAND閃存。

  2010年6月三星與東芝開始投產符合Toggle DDR 1.0接口標準的NAND閃存,Toggle DDR NAND采用雙向DQS信號控制讀寫操作,信號的上升與下降沿都可以進行資料的傳輸,能使傳輸速度翻倍,接口帶寬為133MB/s,而且沒有內置同步時鐘發生器(即NAND還是異步設計),因此其功耗會比同步NAND更低。

  2010年8月,最新的Toggle DDR 2.0接口標準發布,傳輸帶寬上升到400MB/s,目前網上關于此標準的詳細消息還不多,不過可以可以確定的是技術指標與ONFI 3.0是類似的。

閃存的同步與異步

  我們經常說閃存的同步與異步模式,其實是在ONFI 2.0標準中新加入的特性(ToggleDDR不存在同步閃存的情況,均為異步設計,但性能仍然強悍),ONFI 2.0標準在NAND中加入了同步時鐘發生器,主控可以通過發送同步指令激活閃存上的同步時鐘信號,使閃存工作在同步模式 ,此時閃存的數據傳輸速率會大幅度提升,異步模式相當于ONFI 1.0,閃存的帶寬為50MB/s,而同步模式下閃存至少也符合ONFI 2.0,閃存帶寬可達到133MB/s以上。

  實際上同步與異步閃存都是同一生產線上下來的,顆粒品質的優劣才產生了這樣的區別。比如英特爾29F64G08AAME1顆粒屬于異步閃存,而英特爾29F32B08JCME2則支持同步/異步模式,又如鎂光的29F64G08CBAAA是異步閃存,而29F64G08CBAAB顆粒支持同步/異步模式。

  下面是鎂光NAND在異步與同步模式下的部分針腳定義:

  開機時SSD是運行在異步模式的,只有當主控發送同步指令給閃存后,才激活閃存上的源同步時鐘,然后針腳定義發生改變,激活DQS信號, 讓其工作在同步模式,并將異步模式下的WE#信號變為CLK信號,RE#變為W/R信號,同步模式下DQS信號的上升沿與下級沿都能控制信號的傳輸,使傳輸速度翻倍。


異步模式的數據相位


同步模式的數據相位

  市面上有少數SSD使用異步閃存,但強制運行在同步模式,性能是上來了,穩定性存在隱患。

閃存類型對SSD速度的影響

  上面的圖左邊是OCZ Agility 3 60GB,右邊的是Vertex 3 60GB,這兩個SSD都是用SandForce SF-2281主控,差別就是Agility 3用的是異步的閃存而Vertex 3用的是同步的閃存,SF-2281主控共有8條通道,如果使用8顆異步模式閃存的話理論內部總帶寬是400MB/s,如果用8顆同步模式閃存的話理論內部總帶寬則達到1333MB/s,當然這是理論上的,實際上還受著主控性能和各種延遲的影響,異步閃存與同步閃存的差別看上面兩個OCZ SSD的讀取速度就知道了。

關于SLC/MLC/TLC

  最后來說一下NAND最基本的分類,就是SLC、MLC、TLC它們的差別。

  SLC = Single-Level Cell,即1 bit per cell,只存在0和1兩個充電值,結構簡單但是執行效率高。SLC閃存的優點是傳輸速度更快,功率消耗更低和存儲單元的壽命更長。然而,由于每個存儲單元包含的信息較少,其每百萬字節需花費較高的成本來生產,約10萬次擦寫壽命,在企業級SSD上比較常見,例如比較經典的Intel X25-E系列,此外還在某些高端U盤上使用。

  MLC = Multi-Level Cell,即2 bit per cell,有00,01,10,11四個充電值,因此需要比SLC更多的訪問時間,不過每個單元可以存放比SLC多一倍的數據。MLC閃存可降低生產成本,但與SLC相比其傳輸速度較慢,功率消耗較高和存儲單元的壽命較低,約3000---10000次擦寫壽命,大多數消費級SSD都是使用MLC做的。

  TLC = Trinary-Level Cell,即3 bit per cell,每個單元可以存放比MLC多1/2的數據,共八個充電值,所需訪問時間更長,因此傳輸速度更慢。TLC優勢價格便宜,每百萬字節生產成本是最低的,但是壽命短,只有約500次擦寫壽命,通常用在U盤或者存儲卡這類移動存儲設備上。

?
  • 游客  2016-11-27 05:04

    UxPfGw It as really a great and useful piece of info. I am glad that you simply shared this helpful

    已有7次舉報

    支持(2)  |   反對(2)  |   舉報  |   回復

    35#

  • 游客  2016-07-05 23:29

    a4r9bl Thanks for the article post. Will read on

    已有6次舉報

    支持(0)  |   反對(1)  |   舉報  |   回復

    34#

  • 游客  2016-04-06 18:09

    kJX1g4 Very informative blog post.Really looking forward to read more. Cool.

    已有6次舉報

    支持(0)  |   反對(0)  |   舉報  |   回復

    33#

  • 游客  2016-03-31 02:54

    BZiL7z I truly appreciate this article post. Want more.

    已有4次舉報

    支持(0)  |   反對(1)  |   舉報  |   回復

    32#

  • 游客  2016-03-01 08:23

    8O21JI the sleeping bag which is designed to make

    已有6次舉報

    支持(0)  |   反對(0)  |   舉報  |   回復

    31#

  • 游客  2016-01-02 00:57

    NA2TMb

    已有5次舉報

    支持(0)  |   反對(0)  |   舉報  |   回復

    30#

  • 游客  2015-11-28 11:50

    joP94C Thanks a lot for the blog post. Really Cool.

    已有5次舉報

    支持(0)  |   反對(0)  |   舉報  |   回復

    29#

  • 游客  2015-10-16 06:55

    FAsmVi Thanks again for the article.Much thanks again. Keep writing.

    已有4次舉報

    支持(0)  |   反對(0)  |   舉報  |   回復

    28#

  • 游客  2015-09-28 06:03

    7Wj6ar Poker Bonuses I really appreciate this post. I have been looking all over for this! Thank God I found it on Bing. You have made my day! Thanks again.

    已有4次舉報

    支持(1)  |   反對(0)  |   舉報  |   回復

    27#

  • 游客  2015-09-28 04:56

    zYzBG1 Keep up the wonderful piece of work, I read few content on this site and I conceive that your web blog is real interesting and has bands of great information.

    已有4次舉報

    支持(0)  |   反對(2)  |   舉報  |   回復

    26#

  • 游客  2015-09-03 22:13

    t21gAy Your style is so unique in comparison to other folks I ave read stuff from. Thanks for posting when you have the opportunity, Guess I will just book mark this web site.

    已有4次舉報

    支持(0)  |   反對(0)  |   舉報  |   回復

    25#

  • 游客  2015-08-04 11:25

    bhe54D we could greatly benefit from each other. If you happen

    已有4次舉報

    支持(0)  |   反對(0)  |   舉報  |   回復

    24#

  • 游客  2015-07-01 07:08

    gqIdFz I really liked your article. Much obliged.

    已有4次舉報

    支持(0)  |   反對(0)  |   舉報  |   回復

    23#

  • 游客  2014-08-06 13:45

    SSWsAN Major thankies for the blog post.Much thanks again. Want more.

    已有3次舉報

    支持(1)  |   反對(1)  |   舉報  |   回復

    22#

  • 游客  2013-01-15 21:38

    敢問toggleDDR異步高速的實現與ONFI2.0以上的同步模式實現哪個簡單一些?

    已有6次舉報

    支持(1)  |   反對(0)  |   舉報  |   回復

    21#

  • 游客  2012-06-28 21:56

    全部坑爹啊,全球最大的閃存供應商怎么可能只是MLC,SLC就看價格,容量相同,class相同貴的那個就是slc

    已有5次舉報

    支持(0)  |   反對(1)  |   舉報  |   回復

    20#

  • 游客  2012-06-02 22:39

    ONFI的同步模式和ToggleDDR的異步模式有何區別呢?

    已有3次舉報

    支持(4)  |   反對(0)  |   舉報  |   回復

    19#

  • 游客  2012-02-10 13:56

    學習了!

    已有4次舉報

    支持(0)  |   反對(0)  |   舉報  |   回復

    18#

  • 游客  2012-02-08 17:54

    網友 [wx8600] 的原貼:1樓
    原文由網友 [thesea] 于2012-01-04 10:18:57發表 一般來說外觀上無法區分TLC或MLC的,通常要通過主控芯片的量產程序來查詢閃存型號,再通過工具軟件如FlashGeniu 
    Sandisk是用MLC的...貌似最高端的也是MLC..
    SLC 的價格最高,穩定性和速度也最好。

    已有4次舉報

    支持(0)  |   反對(1)  |   舉報  |   回復

    17#

  • 游客  2012-02-08 17:51

    網友 [banner] 的原貼:1樓
    SanDisk的高速SD卡用的是MLC還是TLC呢?
    網友 [thesea] 的原貼:2樓
    一般來說外觀上無法區分TLC或MLC的,通常要通過主控芯片的量產程序來查詢閃存型號,再通過工具軟件如FlashGenius來查詢該閃存型號的介質類型。
    網友 [banner] 的原貼:3樓
    真復雜…
    TLC 和MLC 的原廠料號不同,只要能看到Nand flash 絲印,就能知道是TLC 還是MLC

    已有4次舉報

    支持(0)  |   反對(0)  |   舉報  |   回復

    16#

查看全部評論(35)

回復