張珮,王曉曼
(長春理工大學 電子信息工程學院,吉林 長春 130022)
摘要:針對SATA II接口300 MB/s的最大極限傳輸速度,為突破其瓶頸,提出了一種基于固態硬盤的RAID 0陣列存儲方案,使得固態硬盤在SATA II 接口下的傳輸性能達到更高。首先使用兩片英睿達CRUCIAL容量為256 GB的SSD固態硬盤單獨掛載在SATA II接口下測得傳輸性能;然后設置主板RAID模式,將其組建RAID得到Volume0,同樣測得傳輸性能;最后通過對比測試,RAID 0 SSD整體的持續讀寫性能明顯優于單盤SSD。性能測試結果表明,SSD在數據的讀取寫入、突發傳輸速率等方面都遠優于傳統機械硬盤,RAID 0更能使得SSD的性能達到最大,突破SATA II 接口的峰值傳輸速度。
關鍵詞:固態硬盤;SATA II接口;RAID 0;Volume0
0引言
在計算機技術飛速發展的信息時代,隨著CPU性能的提高,內存容量的增加,存儲系統需要一個更快的設計方案,雖然新一代SATA II接口的問世提升了數據傳輸速率[1],但傳統的5 400轉、甚至7 200轉機械硬盤的讀寫速度仍是制約PC存儲性能的瓶頸,因此,設計出高性能的固態硬盤(Solid State Drives,SSD)。該固態硬盤內部采用Flash閃存芯片構建存儲介質,數據的讀寫操作由主控芯片協調,與傳統的機械硬盤相比,無馬達和磁盤,因此沒有機械轉動噪音。基于無機械部件的數據傳輸模式,SSD在數據的讀取寫入、突發傳輸速率等方面都遠優于機械硬盤,并且在省電、抗震性方面也具有很大的優勢[2]。
1固態硬盤結構
1.1主控芯片
主控芯片在固態硬盤中處于核心地位,第一能合理地分配數據,減少在每個Flash芯片上的負荷,第二則是作為高速緩存芯片、閃存芯片和外部數據接口之間數據的中轉。不同的主控,在數據處理能力、算法和讀取寫入控制閃存芯片能力上會有很大差異,這直接影響到固態硬盤產品的性能。圖1為Intel主控芯片,Intel的固態硬盤有著非常優秀的控制能力,擁有先進的固件和相應的算法,性能和穩定性都相當優秀。圖2為SandForce主控芯片,其獨有的Dual Class技術將MLC SSD的性能和壽命都大幅提高。
1.2高速緩存芯片
在機械硬盤中,DRAM芯片用于數據的高速緩存,同樣固態硬盤進行數據處理時也需要高速的緩存芯片輔助主控芯片,圖3是一片128 MB容量的南亞DRAM,不過廉價固態硬盤方案考慮到降低成本,除去了DRAM芯片,節省成本的同時,卻增加了主控與閃存芯片之間的負擔,一旦出現頻繁的零碎文件的讀取和寫入,沒有高速緩存的固態硬盤性能下降比較明顯。
1.3存儲單元
NAND Flash是固態硬盤的基本存儲單元,主要用來存儲數據,相當于機械硬盤的磁盤,NAND Flash分為兩類:SLC單層單元和MLC多層單元[3]。SLC成本高、存儲容量小,但是速度快、錯誤率低,一般應用于工作站;而MLC恰恰相反,容量大、成本低,但是速度慢、錯誤率高。使用壽命方面,SLC比MLC更長。因此,在MLC中,通常控制芯片都采用校驗和智能磨損平衡算法,平均分攤每個存儲單元的寫入次數,增大故障間隔時間(MTBF),從而延長MLC的使用壽命。圖4是三星公司的MLC NAND Flash芯片。
2固態硬盤優缺點
(1)讀寫性能優異:相比機械硬盤無需進行磁盤尋道,讀取延時小,尋址時間與數據存儲位置無關,因此,使用中產生的數據碎片不會影響讀取時間。
(2)無噪音:SSD內部無馬達、磁片等機械部件,因此工作噪聲基本為零。
(3)防震抗摔:基于全部閃存芯片,沒有磁頭,因此即使在高速移動或震動的情況下,也不會出現磁道損壞的情況。
(4)體積小,重量輕:1.8英寸固態硬盤重量大約為25 g,應用在高度集成的便攜式筆記本電腦中,可以有效降低機器內部占用空間,減輕機身重量。
但是固態硬盤擁有眾多優點的同時,也伴隨著生產成本高、數據不易恢復、存儲容量相對小、讀寫次數有限等劣勢,一般需要存儲大容量數據時,不會考慮使用SSD固態硬盤,因此普及使用相對比較困難。
3RAID 0磁盤陣列
3.1RAID 0簡介
RAID 0又稱為Stripe或Striping,RAID 0是RAID級別中存儲性能最高的。RAID 0的工作原理圖如圖5所示,其工作方式是把連續的數據分別存儲在多個磁盤上,當系統發出數據請求時,多個磁盤并行執行,每個磁盤分別執行各自的那部分數據請求[4]。這樣就可以充分利用總線帶寬,使得磁盤整體的存儲性能相對于單盤性能有很大的提升。
理論上,RAID 0中硬盤數量與傳輸速度成正比,但在實際使用中受系統I/O總線和其他因素的影響,會出現一定的衰減。另外,在讀寫速度得到了提升的同時,4 K隨機讀取速度也會隨著硬盤數量的增多而降低。
使用SSD組建RAID 0不提供數據冗余,運行時只要其中任意一塊硬盤出現問題就會導致整個數據的故障,損壞的數據也將無法得以恢復。因此RAID 0 適合應用在對性能要求較高,而不太注重數據丟失的領域。對于PC用戶而言,RAID 0 能夠發揮出SSD的最高性能,用戶可以體驗更加流暢的高性能系統運行環境。
3.2RAID 0性能分析
AS SSD Benchmark是一款專業的固態硬盤性能測試軟件,能測出固態硬盤的持續傳輸速度,以及單線程和多線程下4 KB小文件的隨機性能等,準確率很高。實驗采用兩片英睿達CRUCIAL容量為256 GB的SSD固態硬盤,分別在運行Windows 7系統的PC SATA II接口下測得單盤性能指數和RAID 0性能指數,分析測試結果可以看出,如圖6所示。單SSD的持續讀取速度為234.52 MB/s,持續寫入速度為214.99 MB/s;圖7所示的RAID 0 的持續讀取速度可達465.56 MB/s,持續寫入速度為327.27 MB/s,突破了SATA II接口下300 MB/s的最大傳輸速率。不過也可以看出,RAID 0的4 K隨機讀取速度并沒有提升,這是受RAID 0工作機制原理所制約的。
3.3Trim對SSD重要性及開啟RAID下的Trim
Trim是針對固態硬盤而研發的技術。Trim功能需要系統以及主板芯片的支持,Windows 7及以后的操作系統均已支持Trim功能,現在Intel已支持7系芯片組RAID 0模式下的TRIM,但有兩個前提條件,一是Optional ROM SATA(OROM)控制器BIOS版本要高于11.0,二是RST驅動版本要高于11.2。
機械硬盤在寫入數據時,系統會先擦除舊數據,然后將新數據寫入到磁盤中。而在刪除數據時,操作系統只會在此處做個標記,備注這塊區域沒有數據,等到要寫入數據時再來刪除,并且做標記這一過程會緩存在磁盤中,等到磁盤空閑時再執行[5]。磁盤執行以上操作會花費一段時間,速度自然會變慢。
Trim的原理是當操作系統識別到SSD并確認已開啟Trim后,在刪除數據時,不會在硬盤上執行刪除指令,而是使用Volume Bitmap來做標記,說明已經刪除了此處的數據。Volume Bitmap相當于一個磁盤快照,其建立速度明顯快于直接在硬盤上標記刪除區域,節省了很多中間時間。寫入數據時,由于NAND閃存是以純粹的數字形式保存數據,因此根據Volume Bitmap的情況,可以直接向快照中已刪除的區域寫入新的數據,而不用花時間去擦除舊數據,提高了SSD穩定性,同時也延長了其讀寫壽命。
4結論
隨著固態硬盤的逐漸普及,在便攜式筆記本電腦中引入SSD,一方面可以提高筆記本電腦的存儲性能,另一方面可以使得筆記本電腦在經常移動或者震動的場合保持穩定的工作狀態,不會像機械硬盤一樣損壞盤體產生磁盤壞道,導致數據丟失,此外固態硬盤能有效控制機械噪音,提供一個安靜的工作環境。追求更高存儲性能時,通過組建RAID 0陣列,能使得SSD持續讀寫性能發揮到極致,不再受限于SATA口的傳輸瓶頸,實現移動便攜下的高性能。
參考文獻
[1] 張江陵.海量信息存儲[M].北京:高等教育出版社,2003.
[2] 袁飛.固態硬盤的研究與應用[D].成都:電子科技大學,2010.
[3] 孔令振,穆建文.基于NAND Flash大容量數據存儲器的設計[J].微型機與應用,2014,33(9):2527.
[4] 李剛,韓松.大容量高速固態盤設計[J].電子測量技術, 2006,29(2):129130.
[5] 王鵬,楊華民,田愛雪.高校數字圖書館海量信息存儲系統架構研究[J].長春理工大學學報(自然科學版),2014,37(3):135138.