固態(tài)盤SSD存儲技術(shù)加速起飛
大約在10年前,SSD公司和SSD驅(qū)動器是炙手可熱的日用品,但是到了2000年到2002年的時(shí)候,這項(xiàng)技術(shù)走向了衰落,以至于幾乎完全銷聲匿跡了。由于很多原因,SSD使用起來并不容易,所以為什么基于閃存的SSD會突然熱起來?這些設(shè)備是否會重蹈上一代產(chǎn)品的覆轍?
我很早就開始使用SSD了,那個(gè)時(shí)候我還在克雷研究所(Cray Research)工作,所以我對這項(xiàng)技術(shù)有著很長時(shí)間的體驗(yàn),這些體驗(yàn)有好也有壞。我可以告訴你一些關(guān)于基準(zhǔn)的故事,我用了一些實(shí)際操作中不會采用的方式來使用SSD,但是基準(zhǔn)原則允許這種做法,而這樣做會導(dǎo)致性能測試結(jié)果的變化。我最近看到很多廠商宣稱的固態(tài)存儲設(shè)備產(chǎn)品的性能指標(biāo),我對測試環(huán)境很好奇,因?yàn)樵谖铱磥?,這些測試的數(shù)據(jù)太過美好,以至于顯得不真實(shí)。至少在你買車的時(shí)候,你會被告知你所購買汽車的英里數(shù)可能會變化。
既然它的成本要比閃存高出很多,那么它是否能成為存儲層級中的一部分呢?當(dāng)然,SSD的性能也比磁盤驅(qū)動器要高出很多。如果你使用今天標(biāo)準(zhǔn)的15K 2.5英寸SAS驅(qū)動器的話,每個(gè)驅(qū)動器的任意IOPS大約為250。網(wǎng)絡(luò)調(diào)查顯示SSD廠商聲稱,他們的設(shè)備的寫入IOPS比這個(gè)數(shù)值高出10倍以上,最高甚至可以達(dá)到72倍,而讀IOPS則可以超過200倍。這能夠節(jié)省大量的磁盤驅(qū)動器、能耗、RAID控制器、磁盤trays和連接。
但是固態(tài)驅(qū)動器卻存在著一些可靠性方面的問題,如果你希望將它用在貴公司的企業(yè)存儲環(huán)境之中的話,你就需要認(rèn)真考慮這些問題。
寫入限制和損耗均衡
網(wǎng)上現(xiàn)在有大量關(guān)于閃存和損耗均衡的信息。只要進(jìn)行一次簡單的搜索就能夠查到主流廠商的文件(晟碟(SanDisk)、東芝(Toshiba)以及其他廠商)。重要的是要理解閃存單元即使使用了最新的閃存零件,也只能被寫入100000次左右。在100000次之后,閃存開始出現(xiàn)錯(cuò)誤,故障率將和硬盤驅(qū)動器的硬件故障率差不多。損耗均衡的作用就是根據(jù)損耗限制輪換使用塊。
讓我們假設(shè)你有一個(gè)32GB閃存SSD,它使用的是SATA接口。例如,如果你以100MB/秒的速度對同一位置進(jìn)行寫入,最高寫入次數(shù)限制為100000次的話,那么這個(gè)1MB大小的空間將在1000秒后達(dá)到使用極限。顯然這是無法接受的,而且也不太可能出現(xiàn)這樣的情況。損耗均衡的任務(wù)是輪流使用塊,這樣你就不會反復(fù)寫入同一位置。你的32GB SSD可能是40GB SSD,其中包含了32GB用戶可用數(shù)據(jù)。剩余8GB的空間是由SSD接口動態(tài)管理的,以分配不同位置的塊,避免你總是向同一位置寫入數(shù)據(jù)。這就是損耗均衡的含義,那么問題就變成了損耗均衡是否能夠解決你遇到的所有問題?
比如,我決定使用Mtron。這是一家南韓的公司,該公司生產(chǎn)高性能SSD。Tom的硬件對它進(jìn)行了一次非常好的檢驗(yàn)。點(diǎn)擊這一鏈接你可以在Mtron的網(wǎng)站上找到更多詳細(xì)信息。我從中提取了一些相關(guān)的信息:
需要注意的是,Mtron提供的信息和其他廠商一樣多,甚至可能更多,Mtron提供的這些信息和其他廠商提供的信息非常相似。如同前面所提到的,Mtron 32 GB SSD的最高寫性能為80MB/秒。Mtron可以用很小的塊實(shí)現(xiàn)這一點(diǎn),比如說小于128KB的塊。不過,最有趣的性能指標(biāo)應(yīng)當(dāng)是該產(chǎn)品的寫入持久性為140年。這個(gè)時(shí)間是根據(jù)每天進(jìn)行50GB連續(xù)寫入的情況計(jì)算出的。我相信這意味著在同一個(gè)塊地址上連續(xù)寫入50GB的數(shù)據(jù)。每天寫入50GB的數(shù)據(jù)平均計(jì)算起來就是一整天的時(shí)間里都以0.59MB/秒的速度寫入數(shù)據(jù)。
我個(gè)人并不認(rèn)為這樣的寫入速度對于寫操作密集的環(huán)境來說有多大,比如對于文件系統(tǒng)元數(shù)據(jù)或者正在重新編制索引的大型數(shù)據(jù)庫。如果SAS 15K 2.5英寸驅(qū)動器可以在512字節(jié)隨意I/O的情況下實(shí)現(xiàn)250 IOPS,也就是每秒128000字節(jié)的I/O,剛剛超過SSD寫預(yù)算的20%。這和廠商所宣傳的10倍或72倍的使用數(shù)據(jù)相去甚遠(yuǎn),但是SSD的反應(yīng)時(shí)間自然是優(yōu)秀不少。在我看來,Mtron宣稱的寫預(yù)算毫無用處。讓我們考慮一下最高性能——128K I/O,然后重新計(jì)算一下更合理的寫預(yù)算期望值。Tom的硬件文章表示,轉(zhuǎn)換率最低為73.8 MB/秒,平均為74.2MB/秒,最高為76.5MB/秒,這一速度和其他的閃存設(shè)備或者SATA硬件驅(qū)動器的最低和平均性能相比而言可以算是非??炝?。在我看來,最大值和平均值之間的差距簡直好到難以置信。 #p#page_title#e#
如果你按照50 GB x 365天 x 140年來計(jì)算寫成本,或者根據(jù)Mtron提供的信息,按照2555000GB進(jìn)行計(jì)算的話,用最低性能值計(jì)算出來的時(shí)間僅僅為410.3天(2555000 x 1024= MB/(73.8 x 3600秒/小時(shí)x 24小時(shí)/天)= 410.3天)。使用最大值76.5 MB/秒來計(jì)算的話,得到的結(jié)果也剛剛超過一年,也就是395.8天。當(dāng)然,這遠(yuǎn)遠(yuǎn)小于140年,但是必須考慮到很少有應(yīng)用會一直以這樣的速度進(jìn)行寫操作。我認(rèn)為對于寫密集的環(huán)境來說,4-5年的使用期是比較合理的值??紤]到絕大部分RAID系統(tǒng)的生命周期,很多站點(diǎn)不會將磁盤驅(qū)動器使用超過5年的時(shí)間,因?yàn)樾阅芎兔芏仍谶@段時(shí)間中會發(fā)生巨大的變化。所以如果Mtron提供的數(shù)據(jù)是正確的話,那么該設(shè)備對于有大量處理數(shù)據(jù)的環(huán)境來說非常有用。
SMART問題
SMART(自我監(jiān)控、分析和報(bào)告技術(shù),Self-Monitoring, Analysis, and Reporting Technology)是磁盤驅(qū)動器制造商都支持的一種標(biāo)準(zhǔn)。今天,我發(fā)現(xiàn)一些閃存制造商也開始支持SMART監(jiān)控標(biāo)準(zhǔn)了,但是因?yàn)镾MART是一個(gè)針對磁盤驅(qū)動器開發(fā)出來的標(biāo)準(zhǔn),閃存中可能出現(xiàn)的一些錯(cuò)誤情況也許無法在SMART框架中覆蓋。而且在同RAID設(shè)備集成的時(shí)候,需要進(jìn)行前瞻性的故障分析以確保高可靠性,那么RAID廠商就必須將閃存廠商的SMART集成到他們的監(jiān)控和管理架構(gòu)之中。
我相信這很可能會是個(gè)比較大的問題,因?yàn)槟壳搬槍﹂W存的SMART統(tǒng)計(jì)還沒有標(biāo)準(zhǔn)。SMART和閃存的整個(gè)領(lǐng)域需要在未來的幾年中攜手解決這個(gè)問題,但是我懷疑除非大公司進(jìn)入SSD閃存設(shè)備市場,否則這個(gè)問題就難以得到解決。只有當(dāng)大公司進(jìn)入了這個(gè)市場之后,才會有人愿意承擔(dān)開發(fā)標(biāo)準(zhǔn)的費(fèi)用、時(shí)間和工作。未來可能出現(xiàn)的一種情況是RAID廠商們面對前瞻性故障分析的需求,團(tuán)結(jié)在一起強(qiáng)迫SSD廠商們創(chuàng)建一個(gè)標(biāo)準(zhǔn)。我認(rèn)為這是確保SSD閃存設(shè)備在企業(yè)環(huán)境中的可靠性和可用性的一個(gè)關(guān)鍵問題,亟待解決。
我相信SSD閃存設(shè)備未來會成為我們存儲層級中的一部分。它們非常小而且非常昂貴,因此難以解決所有的問題。我認(rèn)為,它的增長路徑和成本路徑和傳統(tǒng)旋轉(zhuǎn)式存儲(磁盤)也并無太多不同。是的,閃存設(shè)備的密度正在提高,但磁盤也是如此,不過也許在目前兩者提高的速度不同而已,但是從我通過閱讀了解到的情況看,增長路徑將變得平穩(wěn)。無論如何,SSD閃存將在我們的未來中占據(jù)一席之地,但是早期用戶必須慎重考慮上面提到的問題和各種局限。損耗均衡和監(jiān)控對于SSD閃存設(shè)備的可靠性至關(guān)重要,我不確信現(xiàn)在這些問題是否都得到妥善處理了。