利用TRIM為固態(tài)盤加速
如果到現(xiàn)在你還沒有聽說過TRIM,那么就加入不斷壯大的發(fā)起者行列吧,其中包括固態(tài)盤制造商、操作系統(tǒng)開發(fā)商以及數(shù)據(jù)存儲(chǔ)廠商。 越來越多的公司開始轉(zhuǎn)向采用TRIM命令。TRIM命令是最新ATA規(guī)格中數(shù)據(jù)集管理特性的一個(gè)子集,可以幫助提高固態(tài)盤的速度,最終提升固態(tài)盤的整體讀寫性能。 半導(dǎo)體市場(chǎng)研究公司Objective Analysis的固態(tài)盤分析師Jim Handy表示,因?yàn)樵诠虘B(tài)盤上和操作系統(tǒng)中實(shí)施TRAM命令十分簡(jiǎn)單,因此在不遠(yuǎn)的將來TRIM命令將被人們廣泛應(yīng)用。 他說:“我預(yù)計(jì)到2010年夏季所有固態(tài)盤都將采用TRIM。” 現(xiàn)在主要的固態(tài)盤廠商都已經(jīng)在他們的固態(tài)盤中提供了TRIM支持。英特爾通過對(duì)現(xiàn)有驅(qū)動(dòng)器進(jìn)行固件升級(jí)做到了這一點(diǎn)。美光最新的6Gb SATA驅(qū)動(dòng)器支持TRIM,STEC和Fusion-io也提供了TRIM支持。另外Linux和Windows操作系統(tǒng)同樣也增加了TRIM支持。 回收未使用固態(tài)盤數(shù)據(jù)塊 TRIM命令可以讓操作系統(tǒng)告訴驅(qū)動(dòng)器哪個(gè)數(shù)據(jù)塊是不再使用的;否則固態(tài)盤控制器就不知道去回收這些未使用的數(shù)據(jù)塊。 Handy表示:“TRIM對(duì)于固態(tài)盤來說是個(gè)福音。” 他認(rèn)為TRIM的簡(jiǎn)化可以大幅度減少寫入放大(Write amplification),同時(shí)允許固態(tài)盤更好地在后臺(tái)預(yù)擦除閑置的數(shù)據(jù)塊,以便讓這些數(shù)據(jù)塊更快地用于新的寫入操作。 SandForce首席技術(shù)官Radoslav Danilak表示,需要謹(jǐn)記一點(diǎn),那就是操作系統(tǒng)的角色。 Danilak表示:“固態(tài)盤知道可以刪除和回收哪些過期數(shù)據(jù),但是它不知道操作系統(tǒng)已經(jīng)決定刪除哪些數(shù)據(jù),直到操作系統(tǒng)為了新的信息而重新使用邏輯塊地址。” Danilak表示:“使用TRIM命令的好處是,固態(tài)盤可以通過過期數(shù)據(jù)和操作系統(tǒng)刪除的數(shù)據(jù)來訪問LBA,以此來提高性能。TRIM唯一的缺點(diǎn)就是,如果在固態(tài)盤固件中實(shí)施得很糟糕,那么反而會(huì)影響正常的驅(qū)動(dòng)器操作。” STEC固態(tài)盤技術(shù)營銷高級(jí)經(jīng)理Scott Shadley表示,如果TRIM允許固態(tài)盤完全忽略一個(gè)LBA范圍的數(shù)據(jù),那么這是一件好事,但是最終結(jié)果可能是毫無用處。 對(duì)Shadley來說,真正的問題是,如果正在運(yùn)行損耗均衡的話,那么LBA范圍并不一定反映SSD閃存的物理地址序列。 Shadley表示:“這意味著固態(tài)盤仍然要面臨如何在設(shè)備內(nèi)部遷移數(shù)據(jù)以真正釋放空間的問題。” Shadley表示:“如果這個(gè)LBA范圍反映了所有介質(zhì)的頁面,那么實(shí)際上沒有一個(gè)塊或者最小可擦除單位是空閑的。這導(dǎo)致?lián)p耗均衡變得更加復(fù)雜,并且進(jìn)一步增加寫入放大。通過計(jì)算可以發(fā)現(xiàn),TRIM只適合于哪些損耗均衡過程實(shí)際上并沒有有些節(jié)約或者延長(zhǎng)驅(qū)動(dòng)器壽命或者性能的固態(tài)盤。”