2012-1-3 15:29 | 作者:Strike | 關鍵字:NAND,ONFI,ToggleDDR,同步,異步,SLC,MLC,TLC
不知道大家對ToggleDDR、ONFI兩大标準你知道多少呢?閃存的同步和異步模式又是什麼呢?SLC、MLC、TLC它們有什麼差別呢?
構成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盤或者存儲卡這類移動儲存設備上。