固態(tài)盤技術(shù)暴露垃圾回收問題
固態(tài)盤在數(shù)據(jù)存儲應(yīng)用越來越多的使用暴露出了它在應(yīng)對性能降級方面的問題。其中最大的難題就是,這些驅(qū)動器收集無用信息并在執(zhí)行寫入操作之前將其從數(shù)據(jù)塊中刪除掉。 在行業(yè)中這被稱為“垃圾回收”,也就是避免了在每次寫入之前擦除整個數(shù)據(jù)塊的需求。垃圾回收機制是運行在后臺的,積累那些之前被標記要刪除的數(shù)據(jù)塊,對每個“垃圾”塊是是整個塊的擦除,回收空間為后續(xù)寫入操作重新使用。 提供了這種創(chuàng)新的垃圾回收機制的廠商包括Indilinx、OCZ Technology Group和SandForce。 市場研究公司Objective Analysis預(yù)測企業(yè)級固態(tài)盤市場的出貨量將大幅增長148%。該公司的分析師Jim Handy表示:“固態(tài)盤有一個硬盤驅(qū)動器沒有的難點——那就是閃存必須在新數(shù)據(jù)寫入之前被擦除。” 閃存的軟件難題 Handy表示,擦除難題源自于目前所有軟件都是針對寫入硬盤驅(qū)動器設(shè)計的,而硬盤驅(qū)動器與固態(tài)盤閃存的運行機制是不同的。 Handy表示:“一個硬盤驅(qū)動器可以用新數(shù)據(jù)覆寫已有數(shù)據(jù)。因為軟件不能解決閃存‘寫入前擦除’的需求,所以固態(tài)盤中的控制器必須應(yīng)對這個問題。未使用和未擦除的數(shù)據(jù)塊在后臺被刪掉和擦除。” Indilinx副總裁Geonyoung Hong表示,后臺垃圾回收的主要好處在于可以提高寫入性能。 Hong表示:“后臺垃圾回收不會造成固態(tài)盤性能的降級——如果它沒有中斷來自主機的ATA命令處理的話。啟動后臺垃圾回收之前應(yīng)該預(yù)設(shè)空閑時段和計算垃圾回收成本。” 預(yù)先采取了這些措施之后,寫入放大增量和生命周期降級就可以被控制到一個合理的范圍內(nèi)——不會給固態(tài)盤帶來太大傷害。 Hong表示:“主機發(fā)送的任何ATA命令都可以中止后臺垃圾回收。” 幾乎所有固態(tài)盤的一個共通點就是利用過量配置來幫助垃圾回收流程。固態(tài)盤中的閃存容量高出提供給用戶的可用容量——一個64GB的固態(tài)盤實際上包括80GB的內(nèi)部NAND閃存,但是用戶可見的是64GB。其他16GB提供了一個用于后臺處理的區(qū)域。 Hong表示:“每個固態(tài)盤因為各種原因而保留了一個區(qū)域。”固態(tài)盤行業(yè)標準制訂機構(gòu)JEDEC建議這個預(yù)留的空間占總空間的7%。如果比例提高,就應(yīng)該稱之為過量配置。 SandForce首席技術(shù)官Radoslav Danilak表示,當一個固態(tài)盤重新回收塊(將有用數(shù)據(jù)從多個塊集中遷移到更少量的塊中)的時候往往會發(fā)生一個問題。 Danilak表示:“主機最終需要用來自用戶或者操作系統(tǒng)的更新數(shù)據(jù)取代舊數(shù)據(jù),這會讓一些剛剛回收來的數(shù)據(jù)失效。” 在這個例子中,固態(tài)盤現(xiàn)在重新寫入主機不需要的數(shù)據(jù)。Danilak表示:“這實際上提高了固態(tài)盤的寫入放大量,而導(dǎo)致閃存更早地損耗。有一個更好的解決方案,那就是加強實施垃圾回收的流程,這樣就可以與主機寫入操作同時進行,而不會造成驅(qū)動器性能降低。” 垃圾回收之后的固態(tài)盤性能 Danilak指出,垃圾回收之前的寫入性能通常很高,而且不同供應(yīng)商之間的性能水平都差不多。 Danilak表示:“在寫入每個數(shù)據(jù)塊一次之后,驅(qū)動器開始啟動垃圾回收流程,寫入性能大幅度降低,有時候甚至高達90%。” 他表示,SandForce的解決方案可以讓驅(qū)動器可執(zhí)行寫入主機操作與垃圾回收流程同時進行。 TRIM有利于固態(tài)盤性能 OCZ Technology Group產(chǎn)品管理副總裁Eugene Chang表示,OCZ采取了另外一種不同的垃圾回收方法。 他說:“我們的驅(qū)動器設(shè)計支持垃圾回收或者TRIM,實際使用取決于驅(qū)動器架構(gòu)(例如內(nèi)部RAID)、目標市場和應(yīng)用。” #p#page_title#e# Chang還表示,OCZ的目標是將固態(tài)盤的性能保持在高于硬盤壽命的最高水平上。他說,OCZ采用兩種基本的垃圾收集方法:將維護整合在固件中、提供用戶發(fā)起的工具來完成相同的任務(wù)。 Chang表示,OCZ提供了三種不同的垃圾回收方法。 有些OCZ驅(qū)動器的固件具備空閑時垃圾回收功能,包括PCI-Express和高容量3.5英寸固態(tài)盤,旨在加強高性能耐用性。OCZ的主流2.5寸固態(tài)盤解決方案支持Windows 7和各種版本的Linux系統(tǒng)提供的TRIM。 Chang表示,對于那些喜歡使用Windows XP或Vista的用戶來說,OCZ提供了一個手動垃圾回收工具,用戶可自行決定是否啟用。另外OCZ還提供了一個針對XP和Vista系統(tǒng)的垃圾回收升級固件。 Chang說:“垃圾回收只是幫助OCZ長期維持固態(tài)盤性能的功能集之一。” Handu表示,垃圾回收的問題短期內(nèi)不會消失。 他說:“我們預(yù)計在問題解決之前還將聽到更多關(guān)于這個問題的討論。盡管如此,大多數(shù)現(xiàn)有的垃圾收集技術(shù)足以滿足目前應(yīng)用軟件的需求。”
Danilak表示,SandForce SSD Processors使得低成本MLC內(nèi)存(30000隨機寫入IOPS,4000傳輸率)的寫入性能高于其他基于MLC的解決方案(IOPS通常不超過1000)和更高成本的SLC解決方案(IOPS通常不超過5000)