幾乎所有的IT分析機構(gòu)都將基于閃存的固態(tài)硬盤(SSD)列為2010年的幾大技術(shù)趨勢之一,本報今年第一期的“2010十大技術(shù)展望”中,閃存技術(shù)也被列入其中。但目前仍有一些因素阻礙SSD的廣泛采用,其中一個重要原因就是其高昂的價格。不過,也許這種情況很快就會發(fā)生變化。
在基于閃存的固態(tài)硬盤
(SSD)領(lǐng)域,眼下一場
頗為激烈的爭論正在進行,其焦點就是企業(yè)級SSD能不能使用多層存儲單元(MLC)技術(shù),而不是單層存儲單元(SLC)技術(shù)—目前,SLC技術(shù)在企業(yè)級SSD中正占據(jù)著主導(dǎo)地位。Objective Analysis市場研究和咨詢公司認(rèn)為,企業(yè)級SSD不但會使用MLC技術(shù),而且在不遠(yuǎn)的將來,幾乎所有的企業(yè)級SSD最終都會采用MLC閃存。
持以上觀點的人所考慮的因素主要包括:
● MLC閃存的價格可能大大低于SLC閃存;
● 許多企業(yè)級SSD不需要SLC閃存所提供的那么高的耐用性;
● 盡管MLC的速度不及SLC,但SSD的控制器可以彌補或緩解速度差異;
● SSD控制器正在迅速得到改進。
價格
2008年年底,SLC NAND的價格達(dá)到MLC的4.5倍(見圖中的虛線)。由于固態(tài)硬盤生產(chǎn)商們預(yù)計SLC的價格會保持兩倍于MLC閃存的價格,因此,他們對這種情況自然相當(dāng)擔(dān)憂,并開始研究是否可以轉(zhuǎn)而生產(chǎn)MLC閃存。讓人意外的是,之后的發(fā)展比預(yù)料的要好,第一批基于MLC的企業(yè)級固態(tài)硬盤就這樣面世了。
然而重要的是,為什么會出現(xiàn)這種價格上的差異呢?畢竟SLC芯片的模片區(qū)(die area)只是大約兩倍于MLC芯片的模片區(qū)。
之所以出現(xiàn)價格上的差異,是由于使用SLC閃存的應(yīng)用領(lǐng)域寥寥無幾,于是許多NAND制造商干脆停止生產(chǎn)SLC閃存。制造成本與廠商生產(chǎn)的任何一款芯片的絕對出貨量有關(guān),因此,制造商們迫切希望減少所生產(chǎn)的芯片的品種。由于生產(chǎn)SLC NAND的生產(chǎn)商很少,加上SLC產(chǎn)量縮減,改而投產(chǎn)MLC,貨源緊缺情況隨之出現(xiàn),同時競爭性報標(biāo)也拉高了價格。
耐用性
SSD控制器已經(jīng)采取諸多方法把NAND的耐用性問題在系統(tǒng)面前隱藏起來。比如說,大多數(shù)SSD使用DRAM用于寫操作合并(write coalescing),這個方法是指從閃存塊的幾個不同部分合并寫操作,通過一次性操作把它們呈現(xiàn)給閃存塊,而不是作為小的寫操作序列。盡管單單這一步就能把寫操作次數(shù)減少一個數(shù)量級,但DRAM還可用做寫操作高速緩存,在很短時間內(nèi)把多個寫操作“誘捕”到同一個位置—高速緩存設(shè)計人員將其稱之為“時間局部性”(temporal locality),從而把寫到NAND的操作次數(shù)再減少一兩個數(shù)量級。
除此之外,還采用了損耗均衡(wear-leveling)和超量配置(over-provisioning,固態(tài)硬盤中的NAND數(shù)量超過允許系統(tǒng)看到的數(shù)量)等其他技術(shù),實際寫到任何閃存塊的操作次數(shù)因而會變得極少。
軟件執(zhí)行中進行了數(shù)量眾多的寫操作周期,用戶并沒有意識到。大多數(shù)用戶以為,只有用戶保存文件時,才會出現(xiàn)寫到磁盤的操作,但實際上,操作系統(tǒng)會不斷把小頁面的各種內(nèi)部處理數(shù)據(jù)寫到磁盤上。
Xiotech公司在2009年閃存峰會上展示的測試結(jié)果表明,Windows 7一次簡單的啟動過程會涉及100.1萬次磁盤輸入/輸出操作,其中1/4是寫操作。由于許多用戶每天只啟動一次電腦,那么,這么高的數(shù)字會讓人以為電腦中的SSD在相對較短的時間里出了什么故障。然而,由于寫操作合并、高速緩存、損耗均衡和超量配置等技術(shù)減少并隱藏了這些寫操作,固態(tài)硬盤實際出現(xiàn)的損耗會大大減小,數(shù)量眾多的磁盤輸入/輸出并不能表明什么。
速度
許多固態(tài)硬盤廠商充分利用了固態(tài)硬盤架構(gòu)的一個固有優(yōu)點,即固態(tài)硬盤中數(shù)量眾多的NAND芯片使設(shè)計人員得以利用并行數(shù)據(jù)路徑來增加內(nèi)部帶寬。如果可以同時讀取、寫入及擦除多塊芯片,為什么要在一塊芯片上執(zhí)行輸入/輸出操作呢?比如說,英特爾的固態(tài)硬盤使用10個內(nèi)部通道,SandForce的固態(tài)硬盤控制器使用16個通道,而Fusion-io的固態(tài)硬盤使用25個通道。
大多數(shù)系統(tǒng)面臨的限制因素在于,控制器上輸入/輸出引腳數(shù)量的增加會提高控制器成本。另外,如果要求系統(tǒng)使用多個通道,那么,SSD的最小容量就比支持較少通道的同一控制器的SSD要大。
有了所有這些通道,SSD的內(nèi)部數(shù)據(jù)路徑通常比輸入/輸出通道所能支持的速度快得多。而說到SLC與MLC之爭,不管使用哪一種閃存,固態(tài)硬盤的內(nèi)部讀取速度都會比輸入/輸出通道快得多,而速度可能明顯不同的惟一方面體現(xiàn)在寫操作上。如上所述,實際寫到NAND芯片的操作次數(shù)非常少,而這種數(shù)量銳減的寫操作在MLC閃存中執(zhí)行的速度不及在SLC閃存中執(zhí)行的速度。最終結(jié)果是,基于MLC的SSD其運行速度不及基于SLC的SSD的快,但這種差異也許不足以明顯降低系統(tǒng)的總體性能。
控制器
微控制器和專用集成電路(ASIC)遵循摩爾定律。利用一定數(shù)額的預(yù)算能購買的計算功能每年都在急劇增加。這就意味著SSD控制器的設(shè)計人員可以不斷改進產(chǎn)品,價位保持固定。幾年前價格還高得離譜的控制器現(xiàn)在用非常合理的價格就能制造出來。
隨著控制器的功能不斷增強,SSD中所用閃存的質(zhì)量可能下降。糾錯機制將從2位變成4位,再變成8位或更高??赡苄枰槍p耗均衡、碎片收集和寫操作管理來采用比較復(fù)雜的算法。最重要的是,質(zhì)量較低的閃存可以代替質(zhì)量較高的閃存,因為控制器的更高性能讓它彌補任何隨之出現(xiàn)的錯誤。
在這種情況下,SSD廠商將來從SLC NAND改用MLC NAND完全是很自然的事。從更長遠(yuǎn)的角度來看,最終會改用3位和4位NAND技術(shù),盡管這些技術(shù)如今被視為“充其量也是不確定”。
企業(yè)級固態(tài)硬盤廠商會從SLC改用MLC嗎?一些廠商已經(jīng)在這么做了。比如說,STEC和Fusion-io好幾個月來一直在交付MLC版本的企業(yè)級固態(tài)硬盤。
請記住一點: 直到2007年年底,SSD行業(yè)中幾乎所有廠商都一致認(rèn)為,MLC不可能用于任何SSD中,無論是在消費級領(lǐng)域還是在企業(yè)級領(lǐng)域。后來到了2008年,市場上出現(xiàn)了第一批基于MLC的消費級固態(tài)硬盤;而到該年年底,幾乎所有消費級SSD都使用了MLC。
與之相似的是,2009年伊始,業(yè)界普遍認(rèn)為,MLC不可能用于企業(yè)級SSD環(huán)境;但進入2010年后,一些企業(yè)級SSD供應(yīng)商已經(jīng)在交付基于MLC閃存的SSD了。企業(yè)級SSD非常有可能走上與消費級SSD一樣的道路。
目前,許多企業(yè)級SSD廠商已經(jīng)在各自現(xiàn)有的基于SLC的SSD產(chǎn)品線上添加了基于MLC的 SSD。Objective Analysis公司預(yù)計,到2010年年底,企業(yè)級SSD中很大一部分將會基于MLC。實際上,到今年年底,所交付的企業(yè)級SSD總量中可能將有一半會采用MLC NAND閃存。再過幾年,幾乎所有企業(yè)級SSD都可能基于MLC NAND閃存。
不過,也有專業(yè)人士認(rèn)為,基于SLC的SSD在其高端領(lǐng)域可能始終會有一席之地,這是由于它本身所具有的耐用性和性能方面的優(yōu)勢決定的。但他們也承認(rèn),改用MLC企業(yè)級SSD是大勢所趨,因為諸多廠商已經(jīng)想出了創(chuàng)新的辦法,利用軟件和控制器技術(shù)來縮小MLC與SLC之間在性能和耐用性方面的差異。
行業(yè)調(diào)研公司Storage Strategies Now的高級分析師James E. Bagley最近特別指出,MLC消費級SSD現(xiàn)在的價格是每GB不到6美元; 到今年年底,企業(yè)級MLC SSD的批量價格會降到每GB 10美元以下,雖然這與傳統(tǒng)硬盤的價格仍相差很大,但這個趨勢還是很鼓舞人心。
另外,Bagley還指出今年SSD領(lǐng)域的另外幾個趨勢,包括基于SAS的MLC企業(yè)級SSD和新的文件管理策略,這些策略能更有效地將SSD采用到存儲陣列中,如EMC公司的FAST和Sun公司的ZFS等,還會出現(xiàn)更多的類似策略。
鏈接
MLC、SLC和DRAM
基于閃存的固態(tài)硬盤(SSD)采用閃存芯片作為存儲介質(zhì),其最大的優(yōu)點是可以移動,而且數(shù)據(jù)保護不受電源控制,能適應(yīng)于各種環(huán)境,但使用年限不高。在基于閃存的固態(tài)硬盤中,存儲單元分為兩類,即SLC(Single Layer Cell,單層單元)和MLC(Multi-Level Cell,多層單元)。SLC的缺點是成本高、容量小、速度快,而MLC的特點是容量大、成本低,但速度慢。MLC的每個單元是2bit,比SLC多了一倍。不過,由于每個MLC存儲單元中存放的資料較多,結(jié)構(gòu)相對復(fù)雜,出錯的幾率也會增加,必須進行錯誤修正,而這個動作導(dǎo)致其性能大幅落后于結(jié)構(gòu)簡單的SLC閃存。此外,SLC閃存的優(yōu)點是復(fù)寫次數(shù)高達(dá)10萬次,比MLC閃存高10倍。此外,為了保證MLC的壽命,控制芯片采用校驗和智能磨損平衡技術(shù)算法,使得每個存儲單元的寫入次數(shù)可以平均分?jǐn)偅赃_(dá)到100萬小時故障間隔時間(MTBF)。
基于DRAM的固態(tài)硬盤采用DRAM作為存儲介質(zhì),目前應(yīng)用范圍較窄。它仿效傳統(tǒng)硬盤的設(shè)計,可被絕大部分操作系統(tǒng)的文件系統(tǒng)工具進行卷設(shè)置和管理,并提供工業(yè)標(biāo)準(zhǔn)的PCI和FC接口,用于連接主機或者服務(wù)器。應(yīng)用方式可分為SSD硬盤和SSD硬盤陣列兩種。它是一種高性能的存儲器,而且使用壽命很長,美中不足的是需要獨立電源來保護數(shù)據(jù)安全。