我在研究服務器SSD(固態驅動器)使用的過程中同用戶和廠商都進行了對話,我發現大多數人認為服務器SSD必須是Fusion-IO、美光、Virident或LSI這樣的廠商制造出來的超高性能SLC(單層單元)PCIe閃存卡。雖然人們大部分知道主流的SAS或SATA接口SSD是2.5英寸格式,但是他們看起來認為這些設備只適合于筆記本電腦或發燒友的臺式機。
當然,市場上大部分SATA SSD不太符合數據中心使用的嚴格要求,但是在低成本SSD和計算中心和不計成本的PCIe卡中間有幾個步驟。大多數人擔心如果在磁盤陣列或服務器中配置SSD的話,在某個時點上這些設備會耗盡工作壽命并丟失所有數據。
我認為部分的問題是現在我們在數據中心中使用的不是慢慢損耗的設備。現在的峰裝飾硬盤驅動器不是以可預見的方式損耗的--它們就是隨機地發生故障--大部分存儲系統將磁盤驅動器視作二進制設備,也就是要么正常工作,要么完全不能工作。因此,當一個設備有前置放大器故障的時候,它鎖連接的RAID(獨立磁盤冗余陣列)控制器就宣布該驅動器是壞的并停止使用該驅動器。
SSD的寫入損耗并不是不可預見的,它是一個相對來說可以很好理解的過程。SSD中的閃存得到了很好的編程并可以擦寫足夠的次數,直到該閃存所在的錯誤陣列無法再讓閃存控制器糾正錯誤。這種損耗并不是馬上發生在整個SSD上,而是一個閃存頁面一個閃存頁面的發生。最終,這個SSD沒有足夠的空余閃存,同時SSD不再接受寫入。
大部分閃存控制器都會謹慎地跟蹤它們已經在它們所管理的每個頁面上過度寫入了多少次。通過智能診斷系統的擴展,閃存控制器可以將寫入耐用性情況匯報給存儲系統。如果我可以知道這個閃存損耗會在多少周或多少個月后給我帶來麻煩,那么我只要在這個損耗率達到80%或90%的時候替換SSD就可以了。
RAID控制器可以發送一個信息說SSD 14已經達到了最高耐用度,需要新的或空閑的SSD并將RAID集重新構建到新的存儲。如果這個SSD被用作讀取高速緩存,不包含獨一無二的數據,那么這個替換就更容易了。
由于MLC(多層單元)SSD(這種SSD可能只有5000次編程擦寫周期的耐用性)通常成本只有eMLC或SLC SSD的十分之一。我們也許可以將MLC SSD看作是數據中心的消耗性設備。雖然我們也許無法預測一個MLC SSD是否可以工作18個月或5年,但是購買三個MLC SSD并根據需要替換它們也比購買1個SLC SSD更便宜。
當然,這不是數據中心購買設備的方式--我們根據未來峰值需要的預測來購買設備,然后還要乘上我們感覺需要保證存儲正常運行的系數。個人而言,我會乘以π。因此,如果一個設備可能需要10TB的存儲,我們要確保這個項目的預算可以達到30TB,這樣我們在未來就不會因為存儲短缺而煩惱了。
當然,在數據中心中引入消耗性設備的概念可能更適合那些需要更換接近工作壽命的服務器SSD的人。不過在我們未來擁有極好的非易失性記憶體之前,它還不失為避免高額資本支出并同時獲得高性能的一種方法。
你們中一些人可能會擔心有人會從你們丟棄的SSD中恢復敏感的公司數據。雖然這種顧慮是有道理的話,你可以對舊的損耗的SSD進行物理破壞。如果你可以將iPad破壞成徹底的垃圾,那你也可以對美光P400 RealSSD這么做。