如何用好你的SSD?
發(fā)布時(shí)間:2021-03-31 來源:陳定寶,Lightbits Labs解決方案架構(gòu)師 責(zé)任編輯:wenwei
【導(dǎo)讀】在過去十幾年中,CPU的性能提升了100倍以上,而傳統(tǒng)的HDD硬盤(Hard Disk Drive)才提升了1.5倍不到,這種不均衡的計(jì)算存儲(chǔ)技術(shù)發(fā)展,極大地影響了IT系統(tǒng)整體性能的提升。直到固態(tài)硬盤SSD(Solid State Drive)被發(fā)明出來,其性能有了顛覆性的提升,才解決了存儲(chǔ)的瓶頸問題。然而,SSD作為一項(xiàng)新技術(shù),仍然存在一些固有的缺陷,如何充分發(fā)揮SSD的優(yōu)勢,是一個(gè)值得研究的方向。下面從性能、持久性、使用成本等方面對(duì)此話題做一些探討。
一、如何充分發(fā)揮出SSD的性能
首先,我們來看看傳統(tǒng)HDD的使用方式:
1.協(xié)議一般都采用SAS、SATA接口;
2.Linux的IO調(diào)度需要用電梯算法來對(duì)IO進(jìn)行重排以優(yōu)化磁頭的路徑;
3.企業(yè)級(jí)存儲(chǔ)通常使用Raid卡做數(shù)據(jù)保護(hù)。
在接口協(xié)議方面,隨著SSD的發(fā)明,NVMe協(xié)議應(yīng)運(yùn)而生。相較于SAS、SATA的單隊(duì)列機(jī)制,NVMe最多可以有65535個(gè)隊(duì)列,并且直接采用PCIe接口,消除了鏈路和協(xié)議瓶頸。
在控制卡生態(tài)方面,各大廠商也紛紛推出自己的NVMe控制卡芯片,有PMC(現(xiàn)屬于Microchip)、LSI、Marvel、Intel、慧榮以及國內(nèi)的得瑞等,技術(shù)也已經(jīng)非常成熟。
在Linux 驅(qū)動(dòng)和IO協(xié)議棧方面,也做了相應(yīng)的優(yōu)化,如下圖所示,NVMe驅(qū)動(dòng)可以直接繞過那些傳統(tǒng)的、專為HDD設(shè)計(jì)的調(diào)度層,大大縮短了處理路徑。
到目前為止,為了充分發(fā)揮SSD的性能,上面提到的三個(gè)傳統(tǒng)HDD的問題中前兩個(gè)已經(jīng)得到了解決,然而在企業(yè)級(jí)市場上,基于NVMe的Raid始終沒有太好的方案。傳統(tǒng)企業(yè)最廣泛使用的Raid5/Raid6數(shù)據(jù)保護(hù)機(jī)制(N+1, N+2),通常是把數(shù)據(jù)條帶化分片,然后計(jì)算出冗余的Parity Code(奇偶校驗(yàn)碼),將數(shù)據(jù)存放到多塊硬盤,寫入新數(shù)據(jù)通常是一種“讀改寫”的機(jī)制。這種機(jī)制本身就成為了性能瓶頸,并且“讀改寫”對(duì)SSD的使用壽命有很大的損耗。另外,因?yàn)镹VMe協(xié)議把控制卡放到了NVMe盤的內(nèi)部,IO都由NVMe盤內(nèi)部的DMA模塊來完成,這就給基于NVMe的Raid卡設(shè)計(jì)帶來了更大的困難。目前市場上這類Raid控制卡可用方案也很少,并且性能上也無法發(fā)揮出NVMe的優(yōu)勢,因此沒能被廣泛使用。
基于目前這種狀況,很多企業(yè)級(jí)存儲(chǔ)方案仍然在使用SAS/SATA的SSD加傳統(tǒng)的Raid卡,這種方式又會(huì)出現(xiàn)前面已經(jīng)解決的兩個(gè)問題,SSD的性能得不到充分發(fā)揮。
然而,這樣的情況也在發(fā)生改變,由Lightbits Labs發(fā)明的NVMe over TCP(NVMe/TCP)存儲(chǔ)集群解決方案就對(duì)這個(gè)問題做了很好的處理。該解決方案通過自主研發(fā)的一塊數(shù)據(jù)加速卡,采用Erasure Code(糾刪碼)機(jī)制可以做到超過1M IOPS的隨機(jī)寫性能,并且可以避免“讀改寫”帶來的使用壽命損耗。另外,Lightbits提出了Elastic Raid機(jī)制,該機(jī)制提供彈性的N+1保護(hù)(類似于Raid5),相較于傳統(tǒng)的Raid5需要熱備盤或者需要及時(shí)替換損壞盤,該機(jī)制在一塊硬盤發(fā)生損壞之后能自動(dòng)平衡形成新的保護(hù)。比如一個(gè)節(jié)點(diǎn)內(nèi)原先有10塊盤,采用9+1的保護(hù),當(dāng)某塊盤損壞后,系統(tǒng)會(huì)自動(dòng)切換成8+1的保護(hù)狀態(tài),并且把原先的數(shù)據(jù)再平衡到新的保護(hù)狀態(tài),從而在可維護(hù)和數(shù)據(jù)安全性方面實(shí)現(xiàn)了大幅提升。此外,該數(shù)據(jù)加速卡還能做到100Gb的線速壓縮,顯著提高了可用容量,進(jìn)而能大幅降低系統(tǒng)使用成本。
二、如何提升NVMe盤的持久性
目前使用最廣泛的SSD是基于NAND顆粒的,而NAND一個(gè)與生俱來的問題就是持久性(endurance)。并且隨著技術(shù)的發(fā)展,NAND的密度也越來越高,最新一代已經(jīng)到了QLC(4bits per Cell),同時(shí)每個(gè)Cell可被擦寫的次數(shù)也在減少(1K P/E Cycles)。發(fā)展趨勢如下圖所示。
另外,對(duì)NAND的使用有一個(gè)特點(diǎn),就是可擦的最小單位比較大,如下圖所示,寫的時(shí)候可以4KB為單位往里面寫,但是擦的時(shí)候(比如修改原有數(shù)據(jù))卻只能以256KB為顆粒來操作(不同的SSD大小不一樣,但原理都一樣)。這就容易形成空洞而觸發(fā)SSD的GC(Garbage collection)數(shù)據(jù)搬移,進(jìn)而導(dǎo)致所謂的寫放大現(xiàn)象,對(duì)盤的持久性會(huì)產(chǎn)生進(jìn)一步影響。
在企業(yè)級(jí)存儲(chǔ)中,通常使用Raid5/6這種“讀改寫”的機(jī)制,會(huì)對(duì)盤的寫操作數(shù)量進(jìn)一步放大,一般使用場景下大約是直接寫入方式的2倍損耗。此外,很多Raid5還會(huì)啟動(dòng)Journal機(jī)制,對(duì)盤的使用壽命會(huì)進(jìn)一步損耗。
最后,對(duì)于最新的QLC來說,使用中還需要考慮另一個(gè)因素——Indirection Unit (IU)。比如有些QLC盤使用 16KB的IU,如果要寫入較小的IO,也會(huì)觸發(fā)內(nèi)部“讀改寫”,對(duì)使用壽命又多一重?fù)p傷。
由此可以看出,基于NAND的SSD還是比較嬌弱的。不過,只要能正確地使用,還是可以避免這些問題。比如以某常用的QLC盤為例,通過如下兩組關(guān)于性能和持久性相關(guān)的參數(shù)可以看出,在持久性上順序?qū)懯请S機(jī)寫的5倍,而性能更是26倍:
l順序?qū)?0.9 DWPD, 隨機(jī)4K寫0.18 DWPD;
l順序?qū)?1600 MB/s, 隨機(jī)4K寫15K IOPS(60MB/s)。
通過上面的分析發(fā)現(xiàn),能把盤使用在一個(gè)最佳的工作狀態(tài)至關(guān)重要。好消息是目前一些先進(jìn)的解決方案,比如Lightbits的全NVMe集群存儲(chǔ)解決方案就可以解決這個(gè)問題。該方案通過把隨機(jī)IO變成順序IO的方式,以及獨(dú)有的Elastic Raid技術(shù)避免了Raid“讀改寫”的弊端,從而能大幅提高盤的持久性及隨機(jī)性能。
三、如何降低使用成本
由于SSD相對(duì)于HDD而言是一項(xiàng)新技術(shù),再加上產(chǎn)業(yè)的生產(chǎn)規(guī)模和需求量的矛盾,目前價(jià)格相比HDD仍然偏高。那么如何降低SSD使用成本就變得非常重要。
降低使用成本最重要的一環(huán)就是要把SSD充分使用起來,無論是容量還是性能。不過就目前而言,大多數(shù)NVMe盤都是直接插在應(yīng)用服務(wù)器上使用,而這種方式非常容易造成大量的容量和性能浪費(fèi),因?yàn)橹挥羞@臺(tái)服務(wù)器上的應(yīng)用才能使用它。根據(jù)調(diào)研發(fā)現(xiàn),使用這種DAS(Direct Attached Storage,直連式存儲(chǔ))方式,SSD的利用率大概在15%-25%。
針對(duì)這個(gè)問題比較好的解決方法是近幾年來市場上被廣泛接受的“解耦合”架構(gòu)。解耦合之后,把所有的NVMe盤變成一個(gè)大的存儲(chǔ)資源池,應(yīng)用服務(wù)器用多少就拿多少,只要控制總數(shù)量夠用就行,可以非常容易地將利用率推到80%。另外,因?yàn)橘Y源集中起來,可以有更多的手段和方法用于降低成本,比如壓縮。例如,平均應(yīng)用數(shù)據(jù)壓縮比在2:1,就相當(dāng)于多了一倍的可用容量,也相當(dāng)于每GB價(jià)格降了一半。當(dāng)然壓縮本身也會(huì)帶來一些問題,比如壓縮本身比較費(fèi)CPU,另外很多存儲(chǔ)解決方案在開啟壓縮之后性能就會(huì)大大降低。
針對(duì)壓縮方面的問題,Lightbits的NVMe/TCP集群存儲(chǔ)解決方案可以通過存儲(chǔ)加速卡來予以解決。該卡可以做到100Gb的線速壓縮能力,并且不消耗CPU,不增加延遲。利用這樣的解決方案,壓縮功能幾乎沒有額外的成本。此外,正如前面在介紹提高持久性時(shí)所提到的,Lightbits解決方案能提高使用壽命并支持使用QLC盤,從整個(gè)使用周期來看,在使用成本方面也會(huì)有非常大的降低??偟膩碚f,通過解耦合提高使用效率,壓縮提高可用容量,優(yōu)化提高使用壽命或啟用QLC,經(jīng)過這樣的重重提升,SSD的使用成本可以得到極大的控制。
以上從性能、持久性、使用成本三個(gè)方面分析了如何用好SSD盤,可以看到要用好NVMe SSD盤還是不容易的。因此,對(duì)一般用戶而言,選擇一個(gè)好的存儲(chǔ)解決方案就至關(guān)重要。為此,以色列創(chuàng)新公司Lightbits以充分發(fā)揮NVMe盤的最大價(jià)值為使命,發(fā)明了NVMe/TCP協(xié)議,并推出了新一代的全NVMe集群存儲(chǔ)解決方案,可以幫助使用者輕松地將SSD盤用好。
免責(zé)聲明:本文為轉(zhuǎn)載文章,轉(zhuǎn)載此文目的在于傳遞更多信息,版權(quán)歸原作者所有。本文所用視頻、圖片、文字如涉及作品版權(quán)問題,請(qǐng)聯(lián)系小編進(jìn)行處理。
推薦閱讀:
特別推薦
- 增強(qiáng)視覺傳感器功能:3D圖像拼接算法幫助擴(kuò)大視場
- PNP 晶體管:特性和應(yīng)用
- 使用IO-Link收發(fā)器管理數(shù)據(jù)鏈路如何簡化微控制器選擇
- 用好 DMA控制器這兩種模式 MCU效率大大提高!
- 深入分析帶耦合電感多相降壓轉(zhuǎn)換器的電壓紋波問題
- Honda(本田)與瑞薩簽署協(xié)議,共同開發(fā)用于軟件定義汽車的高性能SoC
- 第13講:超小型全SiC DIPIPM
技術(shù)文章更多>>
- 解決模擬輸入IEC系統(tǒng)保護(hù)問題
- 當(dāng)過壓持續(xù)較長時(shí)間時(shí),使用開關(guān)浪涌抑制器
- 用于狀態(tài)監(jiān)測的振動(dòng)傳感器
- 解鎖多行業(yè)解決方案——AHTE 2025觀眾預(yù)登記開啟!
- 汽車智造全“新”體驗(yàn)——AMTS 2025觀眾預(yù)登記開啟!
技術(shù)白皮書下載更多>>
- 車規(guī)與基于V2X的車輛協(xié)同主動(dòng)避撞技術(shù)展望
- 數(shù)字隔離助力新能源汽車安全隔離的新挑戰(zhàn)
- 汽車模塊拋負(fù)載的解決方案
- 車用連接器的安全創(chuàng)新應(yīng)用
- Melexis Actuators Business Unit
- Position / Current Sensors - Triaxis Hall
熱門搜索
精密電阻
精密工具
景佑能源
聚合物電容
君耀電子
開發(fā)工具
開關(guān)
開關(guān)電源
開關(guān)電源電路
開關(guān)二極管
開關(guān)三極管
科通
可變電容
可調(diào)電感
可控硅
空心線圈
控制變壓器
控制模塊
藍(lán)牙
藍(lán)牙4.0
藍(lán)牙模塊
浪涌保護(hù)器
雷度電子
鋰電池
利爾達(dá)
連接器
流量單位
漏電保護(hù)器
濾波電感
濾波器