多級存儲這個概念已經為數據中心和大型服務器基地所熟悉。
過去,這通常是通過一條總線將不同轉速的磁盤連接起來的方式組成的,比如將配備15000轉硬盤的SCSI磁盤陣列設為快速訪問區,而將配備7200轉或5400轉硬盤的磁盤陣列設為慢速訪問區。
然而,這通常是通過使用完全不同的界面和磁盤來實現的,比如將SAS接口的閃盤作為快速訪問區,將SATA接口的傳統硬盤設為低速訪問區。
可是,閃存并不是一個單一的概念。它是由一整套技術組成,共有三個成員:
· SLC(單級單元):每個存儲單元都可以儲存一個比特的數據;
· MLC(多級單元):它是在SLC的基礎上擴展所得,其實應該被稱作雙級單元,因為每個存儲單元可以儲存最多兩個比特的數據;
· TLC(三級單元):令人驚奇的是,三級單元的每個存儲單元可以儲存最多三個比特的數據。
正如在所有的計算應用中所見的那樣,這種看似最佳選擇的技術其實也有很多缺點。首先,閃存損耗的速度很快,隨著用戶在每個存儲單元中不斷寫入和擦除數據,那些存儲單元就會逐漸退化,最終變得無法使用,因為它不能再承載電荷了。
磨損
SLC的速度超快,而且使用壽命是最長的,但是它的價格最昂貴。因為儲存相同數量的數據,你需要的SLC存儲容量將會是MLC存儲容量的兩倍。
TLC的使用壽命最短,每個存儲單元只能在八個電壓級中的一個電壓級上有效,相比之下SLC的有效電壓級是兩個,MLC是四個。你在存儲系統中劃分的級數越多,與磨損有關的錯誤率就越高,但是它的價格是相當便宜的。
現在,MLC似乎才是一個中庸或平衡的選擇,因為它在使用壽命、訪問速度和成本價格上面都處于一個相對中性的水平。
鑒于此,我們再來看看為什么我們要在數據中心里首先考慮部署多級存儲的兩個主要原因。
基于磁盤的備份:越來越多的企業開始使用廉價的SATA接口硬盤,將它們作為輔助存儲媒介來代替磁帶,而磁帶則僅用于歸檔應用。
我曾經在很多完全沒有磁盤驅動器的企業工作過,因為他們有多個站點,使用大量的廉價磁盤來備份數據。當他們想要歸檔數據以便帶走時,他們會將數據拷貝到移動硬盤上。
為特殊應用量身打造的高速存儲:面向極少數數據加強型應用打造超高速硬盤。
下面我們來仔細分析一下這些應用方案。
對于基于磁盤的備份來說,你可能很快就能使用閃存了,原因很簡單:“太便宜了”。 在備份上面,你肯定希望存儲成本又低,容量又大,然而閃存要想完全取代傳統磁盤,可能還要過幾年才行。
對于高速存儲應用方案來說,有兩個可選的方案:
· 如果你現在有很多傳統硬盤,而你需要一些快速訪問的存儲媒介,那么你可以在傳統硬盤層級上添加一個閃存層級。
· 你現在擁有大量閃存存儲器(速度超快的),如果你需要更快的訪問速度,或許你不僅可以從存儲技術的角度入手,還可以考慮一下整個基礎存儲子系統。
· 從表面來看,對多級閃存陣列的需求不說極少,至少也是很有限的。
· 我這么說是什么意思? 不可見的閃存陣列?
誰擁有最好的控制器?
當前市面上的閃存技術存在的一個重要因素是,因為閃存磁盤很容易磨損,因此廠商們就開始在提高控制器技術上面動腦筋,以抵消使用壽命有限帶來的不利影響。
因此,這些控制器在設計時就會考慮諸如“損耗調整”的概念,即把負載平均散布到磁盤的所有存儲單元上。 你看不見這個,但它就是這么做的。
閃存磁盤已經作為預存儲層出現在傳統磁盤陣列上。就象RAID和SCSI控制器配備了RAM形式的板上超高速緩存一樣,我們在高速主機和低速傳統硬盤之間的存儲陣列中也看到了高速超高速緩存磁盤的身影。
使用閃存還是不使用閃存?
在當前的技術水平下,兩級陣列這個概念并非遙不可及,我們可以在主機所在的層級上使用少量高速、使用壽命較長的SLC磁盤,同時在后臺輔以大量低速、使用壽命相對較短的MLC或TLC磁盤,另外再附加一個有效的控制器來決定將數據從高速層級轉向低速層級的時機。
奢侈的體驗
但是,很難想象閃存存儲能否在未來的一兩年里繼續保持青春,還是會有很多企業去使用多級閃存存儲。
安裝具有一定規模的閃存存儲基礎設施所需的投資必定不小,你不僅要考慮磁盤的成本,還要考慮整個存儲基礎設施的成本,因為你必須確保主機能夠發揮出存儲的最大用途。
因此,近期考慮的問題就不會是“我應該使用哪種類型的閃存?” 而應該是“使用閃存還是不使用閃存?”。
在未來的三到五年里,當閃存的商業化程度進一步提高時,我們也許會開始看到人們將閃存用在SAN中,就象他們現在使用15000轉和7200轉的傳統硬盤一樣。
但是,目前多級閃存可能仍然只適用于陣列中,并且完全由智能控制器單元來控制。系統管理員只要做好技術監控工作就行了。