不難看出現(xiàn)實生活中的性能數(shù)據(jù)與數(shù)據(jù)表中的數(shù)據(jù)有何不同,。但這是什么原因,?這些性能變化如何發(fā)生以及如何正確解釋SSD性能數(shù)據(jù)。
隨著存儲容量的不斷增加,,傳輸速度必須以類似的方式增加,。比起傳統(tǒng)HDD,SATA SSD提供極大的改進,,最新的PCI Express SSD更進一步提升此性能,。性能是固態(tài)硬盤之間的關鍵區(qū)別。當每個制造商發(fā)布具有MB / s和IOPS指示的數(shù)據(jù)表時,,將兩個設備相互比較似乎相當容易,,但這根本遠離現(xiàn)實。數(shù)據(jù)表通常對新開箱即用的性能數(shù)據(jù)提供深入了解,,但重要的是能夠清除不切實際的性能數(shù)據(jù)并解釋它們的實際情況,。
順序讀寫性能以MB/s表示。順序操作以連續(xù)方式訪問存儲設備上的位置并且通常與大數(shù)據(jù)傳輸大?。ɡ?28kB或更大)相關聯(lián),,而隨機操作以非連續(xù)方式訪問存儲設備上的位置并且通常與小數(shù)據(jù)相關聯(lián)傳輸大小(例如4kB),。隨機讀寫操作的性能在每秒輸入/輸出操作數(shù)(IOPS)中說明,。最新固態(tài)硬盤的數(shù)據(jù)表可輕松獲得3000 MB/s的順序寫入性能和200,000 IOPS以及更多的隨機寫入性能。
最佳和最差案例表現(xiàn)之間的差異有多大,?
可以預期連續(xù)達到這些數(shù)值,。為了驗證我們自己的閃存控制器并將其與競爭對手進行比較,我們在實驗室中對它們進行了嚴格的測試,。我們的標準測試包括CrystalDiskMark性能測試,,以測試最初所謂的“開箱即用”的性能。接下來是IOmeter產(chǎn)生的72小時連續(xù)隨機寫入工作負載,。在此之后,,再次進行CrystalDiskMark性能測試以評估“穩(wěn)態(tài)”性能,即最差情況下的性能,?;蛟S在最佳案例和最差案例表現(xiàn)之間確實存在差異并沒有出人意外,可是兩者之間的差異程度是相當大,。更令人驚訝的是,,IOmeter測試中的性能極短的時間內(nèi)會惡化。在對幾十個固態(tài)硬盤進行測試后,,我們可以得出結論,,絕大多數(shù)硬盤幾乎無法在100秒內(nèi)保持其廣告性能 - 即一分半鐘,。所有測試中性能均顯著下降。圖1顯示我們的一個測試中IOPS超過測試時間的示例性進展,。首先要注意的是,,驅動器的廣告宣傳“高達84k IOPS”,第一次測量顯示接近26k IOPS大約50秒,。在這段時間之后,,性能直線下降至不超過1k。經(jīng)過15分鐘的測試時間后,,性能開始在接下來的71小時內(nèi)以1.8k IOPS的值振蕩,。
圖1:驅動器上的連續(xù)隨機寫入工作負載以及IOPS中的相應性能
如此嚴重的性能下降背后的原因是什么?
導致固態(tài)硬盤性能下降的原因有很多,。閃存控制器在后臺持續(xù)執(zhí)行任務:垃圾收集,,耗損均衡,動態(tài)數(shù)據(jù)刷新,,RAID數(shù)據(jù)計算和校準,。在短暫的讀取和寫入訪問期間,控制器能夠將其隱藏不被用戶發(fā)現(xiàn),。由于大多數(shù)基準測試通常只運行幾秒鐘,,因此它們不會隨著時間的推移而捕獲性能下降。
在我們看到之前測試中性能如何快速下降之后,,我們現(xiàn)在將研究性能在SSD的使用壽命期間如何變化,。為了測量這一點,我們按順序將數(shù)據(jù)寫入SSD直到寫滿為止并回讀所有數(shù)據(jù),,同時測量每項任務所需的時間,。這反復進行,直到驅動器壽命結束,。
閃存技術如何影響驅動器的速度,?
首先,圖2顯示測試的驅動器具有6000個循環(huán)的壽命,。這是使用當代3D TLC閃光燈的驅動器的最佳結果之一,,因為它們之中大多數(shù)都可以使用大約3000次循環(huán)。超過五分之一的測試驅動器在達到2000個周期之前就失敗了,。當閃存技術是新的并且最初的SLC技術提供100,000個生命周期時,,時間已經(jīng)過去。因為TLC閃存的引入和閃存中較大量的錯誤,,而需要新的糾錯方法,。這些使用一種稱為軟解碼的方法來應對通常會在生命結束時發(fā)現(xiàn)的大量錯誤。軟解碼多次從閃存中讀取數(shù)據(jù),,這顯著增加了讀取數(shù)據(jù)所需的時間,,從而最大限度地降低了性能,如圖所示,。
圖2:整個設備的讀取時間延長到壽命結束,。隨著時間增加三倍,速度分別降低到初始速度的33%,。
然而,,使用 TLC 和 QLC 閃存技術,在使用壽命即將結束時還出現(xiàn)更高的誤碼,。它們對交叉溫度效應也更為敏感,。這描述了一種情況,即數(shù)據(jù)在一個溫度下寫入存儲器并在另一個溫度下讀出,。即使在正常的筆記型電腦中,,使用幾個小時后,溫度也很容易從室溫(25°C)開始變化到50或60°C,。汽車導航系統(tǒng)等應用則是遇到更高的溫差,。使用TLC和QLC閃存技術,更有可能從需要軟解碼的存儲器中遇到大量的誤碼,,從而降低性能,。
除了更高的誤碼率之外,TLC和QLC閃存技術還有另一個缺點:閃存本身速度較慢,,因為讀取和編程時間增加了,。為了向用戶隱瞞這一點,大多數(shù)驅動器在SLC模式下使用部分內(nèi)存,,這樣可以存儲較少位,,而運行速度會快很多。此SLC緩存通常占驅動器容量的百分之幾,。它可能導致前面解釋的性能下降:一旦緩存已滿,,寫入速度就會降低。
溫度對性能有何影響,?
除此之外,,性能在很大程度上取決于溫度 - 環(huán)境溫度以及驅動器的內(nèi)部溫度。圖2顯示在室溫下大約25°C完成的連續(xù)順序寫入測試的PCIe SSD,。驅動器能夠傳輸超過1.2GB/s時間約95秒,,之后封裝內(nèi)的芯片本身明顯變熱了。為了防止自身過熱,,執(zhí)行稱為熱節(jié)流的機制,。驅動器限制了其性能,以最大限度降低功耗,,從而減少內(nèi)部積聚的熱量,。
圖3:PCI Express SSD隨時間和溫度的連續(xù)順序寫入性能,。
總結
數(shù)據(jù)表將突顯只有在完美條件下才能達到絕對峰值性能,并且只能在短時間內(nèi)達到,。高溫也可能只是因為驅動器正在使用,,交叉溫度效應,存儲器類型,,快速緩存容量和驅動器壽命階段引起,,這些都是影響性能的因素。因此,,在比較SSD時,,考慮數(shù)據(jù)表中的數(shù)字僅僅只是反映整個主題的單一方面。
Name: Sandro-Diego W?lfle
Job Title: Product Manager
Sandro-Diego W?lfle is responsible for product life-cycle management, i.e. the activities from product proposal, development, launch, mass production until the end of life. Having worked as senior hardware design engineer before, he has a deep understanding of Hyperstone′s technology. He holds a Master in Electronics and Information Technology from the Karlsruhe Institute of Technology, Germany and a Master in Business and Leadership from the Zeppelin University in Friedrichshafen, Germany.