0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

怎么樣才能讓你的SSD潛能得到最大的釋放?

電子工程師 ? 來源:陳定寶,Lightbits Labs解決方 ? 作者:陳定寶,Lightbits ? 2021-04-01 18:15 ? 次閱讀

在過去十幾年中,CPU的性能提升了100倍以上,而傳統(tǒng)的HDD硬盤(Hard Disk Drive)才提升了1.5倍不到,這種不均衡的計算存儲技術(shù)發(fā)展,極大地影響了IT系統(tǒng)整體性能的提升。直到固態(tài)硬盤SSD(Solid State Drive)被發(fā)明出來,其性能有了顛覆性的提升,才解決了存儲的瓶頸問題。然而,SSD作為一項新技術(shù),仍然存在一些固有的缺陷,如何充分發(fā)揮SSD的優(yōu)勢,是一個值得研究的方向。下面從性能、持久性、使用成本等方面對此話題做一些探討。

一、如何充分發(fā)揮出SSD的性能

首先,我們來看看傳統(tǒng)HDD的使用方式:

1.協(xié)議一般都采用SASSATA接口;

2.Linux的IO調(diào)度需要用電梯算法來對IO進行重排以優(yōu)化磁頭的路徑;

3.企業(yè)級存儲通常使用Raid卡做數(shù)據(jù)保護。

在接口協(xié)議方面,隨著SSD的發(fā)明,NVMe協(xié)議應(yīng)運而生。相較于SAS、SATA的單隊列機制,NVMe最多可以有65535個隊列,并且直接采用PCIe接口,消除了鏈路和協(xié)議瓶頸。

在控制卡生態(tài)方面,各大廠商也紛紛推出自己的NVMe控制卡芯片,有PMC(現(xiàn)屬于Microchip)、LSI、Marvel、Intel、慧榮以及國內(nèi)的得瑞等,技術(shù)也已經(jīng)非常成熟。

在Linux驅(qū)動和IO協(xié)議棧方面,也做了相應(yīng)的優(yōu)化,如下圖所示,NVMe驅(qū)動可以直接繞過那些傳統(tǒng)的、專為HDD設(shè)計的調(diào)度層,大大縮短了處理路徑。

1617182467119858.png

到目前為止,為了充分發(fā)揮SSD的性能,上面提到的三個傳統(tǒng)HDD的問題中前兩個已經(jīng)得到了解決,然而在企業(yè)級市場上,基于NVMe的Raid始終沒有太好的方案。傳統(tǒng)企業(yè)最廣泛使用的Raid5/Raid6數(shù)據(jù)保護機制(N+1, N+2),通常是把數(shù)據(jù)條帶化分片,然后計算出冗余的Parity Code(奇偶校驗碼),將數(shù)據(jù)存放到多塊硬盤,寫入新數(shù)據(jù)通常是一種“讀改寫”的機制。這種機制本身就成為了性能瓶頸,并且“讀改寫”對SSD的使用壽命有很大的損耗。

另外,因為NVMe協(xié)議把控制卡放到了NVMe盤的內(nèi)部,IO都由NVMe盤內(nèi)部的DMA模塊來完成,這就給基于NVMe的Raid卡設(shè)計帶來了更大的困難。目前市場上這類Raid控制卡可用方案也很少,并且性能上也無法發(fā)揮出NVMe的優(yōu)勢,因此沒能被廣泛使用。

基于目前這種狀況,很多企業(yè)級存儲方案仍然在使用SAS/SATA的SSD加傳統(tǒng)的Raid卡,這種方式又會出現(xiàn)前面已經(jīng)解決的兩個問題,SSD的性能得不到充分發(fā)揮。

然而,這樣的情況也在發(fā)生改變,由Lightbits Labs發(fā)明的NVMe over TCP(NVMe/TCP)存儲集群解決方案就對這個問題做了很好的處理。該解決方案通過自主研發(fā)的一塊數(shù)據(jù)加速卡,采用Erasure Code(糾刪碼)機制可以做到超過1M IOPS的隨機寫性能,并且可以避免“讀改寫”帶來的使用壽命損耗。

另外,Lightbits提出了Elastic Raid機制,該機制提供彈性的N+1保護(類似于Raid5),相較于傳統(tǒng)的Raid5需要熱備盤或者需要及時替換損壞盤,該機制在一塊硬盤發(fā)生損壞之后能自動平衡形成新的保護。比如一個節(jié)點內(nèi)原先有10塊盤,采用9+1的保護,當(dāng)某塊盤損壞后,系統(tǒng)會自動切換成8+1的保護狀態(tài),并且把原先的數(shù)據(jù)再平衡到新的保護狀態(tài),從而在可維護和數(shù)據(jù)安全性方面實現(xiàn)了大幅提升。此外,該數(shù)據(jù)加速卡還能做到100Gb的線速壓縮,顯著提高了可用容量,進而能大幅降低系統(tǒng)使用成本。

二、如何提升NVMe盤的持久性

目前使用最廣泛的SSD是基于NAND顆粒的,而NAND一個與生俱來的問題就是持久性(endurance)。并且隨著技術(shù)的發(fā)展,NAND的密度也越來越高,最新一代已經(jīng)到了QLC(4bits per Cell),同時每個Cell可被擦寫的次數(shù)也在減少(1K P/E Cycles)。發(fā)展趨勢如下圖所示。

1617182467564069.png

另外,對NAND的使用有一個特點,就是可擦的最小單位比較大,如下圖所示,寫的時候可以4KB為單位往里面寫,但是擦的時候(比如修改原有數(shù)據(jù))卻只能以256KB為顆粒來操作(不同的SSD大小不一樣,但原理都一樣)。這就容易形成空洞而觸發(fā)SSD的GC(Garbage collection)數(shù)據(jù)搬移,進而導(dǎo)致所謂的寫放大現(xiàn)象,對盤的持久性會產(chǎn)生進一步影響。

1617182456526293.png

在企業(yè)級存儲中,通常使用Raid5/6這種“讀改寫”的機制,會對盤的寫操作數(shù)量進一步放大,一般使用場景下大約是直接寫入方式的2倍損耗。此外,很多Raid5還會啟動Journal機制,對盤的使用壽命會進一步損耗。

最后,對于最新的QLC來說,使用中還需要考慮另一個因素——Indirection Unit(IU)。比如有些QLC盤使用16KB的IU,如果要寫入較小的IO,也會觸發(fā)內(nèi)部“讀改寫”,對使用壽命又多一重損傷。

由此可以看出,基于NAND的SSD還是比較嬌弱的。不過,只要能正確地使用,還是可以避免這些問題。比如以某常用的QLC盤為例,通過如下兩組關(guān)于性能和持久性相關(guān)的參數(shù)可以看出,在持久性上順序?qū)懯请S機寫的5倍,而性能更是26倍:

順序?qū)?.9 DWPD,隨機4K寫0.18 DWPD;

順序?qū)?600 MB/s,隨機4K寫15K IOPS(60MB/s)。

通過上面的分析發(fā)現(xiàn),能把盤使用在一個最佳的工作狀態(tài)至關(guān)重要。好消息是目前一些先進的解決方案,比如Lightbits的全NVMe集群存儲解決方案就可以解決這個問題。該方案通過把隨機IO變成順序IO的方式,以及獨有的Elastic Raid技術(shù)避免了Raid“讀改寫”的弊端,從而能大幅提高盤的持久性及隨機性能。

三、如何降低使用成本

由于SSD相對于HDD而言是一項新技術(shù),再加上產(chǎn)業(yè)的生產(chǎn)規(guī)模和需求量的矛盾,目前價格相比HDD仍然偏高。那么如何降低SSD使用成本就變得非常重要。

降低使用成本最重要的一環(huán)就是要把SSD充分使用起來,無論是容量還是性能。不過就目前而言,大多數(shù)NVMe盤都是直接插在應(yīng)用服務(wù)器上使用,而這種方式非常容易造成大量的容量和性能浪費,因為只有這臺服務(wù)器上的應(yīng)用才能使用它。根據(jù)調(diào)研發(fā)現(xiàn),使用這種DAS(Direct Attached Storage,直連式存儲)方式,SSD的利用率大概在15%-25%。

針對這個問題比較好的解決方法是近幾年來市場上被廣泛接受的“解耦合”架構(gòu)。解耦合之后,把所有的NVMe盤變成一個大的存儲資源池,應(yīng)用服務(wù)器用多少就拿多少,只要控制總數(shù)量夠用就行,可以非常容易地將利用率推到80%。另外,因為資源集中起來,可以有更多的手段和方法用于降低成本,比如壓縮。例如,平均應(yīng)用數(shù)據(jù)壓縮比在2:1,就相當(dāng)于多了一倍的可用容量,也相當(dāng)于每GB價格降了一半。當(dāng)然壓縮本身也會帶來一些問題,比如壓縮本身比較費CPU,另外很多存儲解決方案在開啟壓縮之后性能就會大大降低。

針對壓縮方面的問題,Lightbits的NVMe/TCP集群存儲解決方案可以通過存儲加速卡來予以解決。該卡可以做到100Gb的線速壓縮能力,并且不消耗CPU,不增加延遲。利用這樣的解決方案,壓縮功能幾乎沒有額外的成本。此外,正如前面在介紹提高持久性時所提到的,Lightbits解決方案能提高使用壽命并支持使用QLC盤,從整個使用周期來看,在使用成本方面也會有非常大的降低??偟膩碚f,通過解耦合提高使用效率,壓縮提高可用容量,優(yōu)化提高使用壽命或啟用QLC,經(jīng)過這樣的重重提升,SSD的使用成本可以得到極大的控制。

以上從性能、持久性、使用成本三個方面分析了如何用好SSD盤,可以看到要用好NVMe SSD盤還是不容易的。因此,對一般用戶而言,選擇一個好的存儲解決方案就至關(guān)重要。為此,以色列創(chuàng)新公司Lightbits以充分發(fā)揮NVMe盤的最大價值為使命,發(fā)明了NVMe/TCP協(xié)議,并推出了新一代的全NVMe集群存儲解決方案,可以幫助使用者輕松地將SSD盤用好。

編輯:jq

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • SSD
    SSD
    +關(guān)注

    關(guān)注

    20

    文章

    2812

    瀏覽量

    116995
  • 磁頭
    +關(guān)注

    關(guān)注

    0

    文章

    19

    瀏覽量

    9289
  • HDD
    HDD
    +關(guān)注

    關(guān)注

    0

    文章

    140

    瀏覽量

    27280
收藏 人收藏

    評論

    相關(guān)推薦

    LM4871怎么才能輸出最大的功率呢?

    你好,請問一下負載是一個電感線圈,阻值1.2R,電感值為96uh。怎么才能輸出最大的功率呢,供電是3.7V的鋰電池。
    發(fā)表于 09-30 07:01

    多級運放級聯(lián)如何安排運放放大倍數(shù)才能讓信號質(zhì)量最優(yōu)噪聲???

    如題,多級運放級聯(lián)如何安排運放放大倍數(shù)才能讓信號質(zhì)量最優(yōu)噪聲小,關(guān)于集成運放的級聯(lián)有沒有相關(guān)的理論支持?
    發(fā)表于 08-27 08:14

    怎么才能得到LM3886的輸出阻抗?

    等于P=U*U*I?,然后減去LM3886的輸出阻抗所產(chǎn)生的功率損耗P0, 得到的“P1=P-P0“是不是就是提供給負載的功率了? 3、怎么才能精確計算出LM3886自身的功率損耗?(已知輸出電流I和供電電壓±U) 4、怎么才能
    發(fā)表于 08-22 07:25

    浪潮信息引領(lǐng)數(shù)據(jù)編排新紀元,加速釋放數(shù)據(jù)潛能

    在2024年數(shù)據(jù)基礎(chǔ)設(shè)施技術(shù)峰會的璀璨舞臺上,浪潮信息分布式存儲產(chǎn)品線架構(gòu)師Lance Sun博士以其深厚的行業(yè)洞察與前瞻視角,發(fā)表了題為“高效數(shù)據(jù)編排,加速釋放數(shù)據(jù)潛能”的精彩演講,深刻剖析了當(dāng)前數(shù)據(jù)時代,尤其是AIGC(人工智能生成內(nèi)容)技術(shù)迅猛發(fā)展下,存儲系統(tǒng)所面臨
    的頭像 發(fā)表于 07-03 15:30 ?314次閱讀

    構(gòu)建安全連接,釋放無限潛能----捷德eSIM論壇成功舉辦

    深圳2024年6月26日?/美通社/ -- 6月26日,深圳——捷德eSIM論壇今天在深圳舉行。在這場主題為"構(gòu)建安全連接,釋放無限潛能"的論壇上,來自中國聯(lián)通、英飛凌、移遠、美格智能、GSMA智庫
    的頭像 發(fā)表于 06-27 10:37 ?517次閱讀
    構(gòu)建安全連接,<b class='flag-5'>釋放</b>無限<b class='flag-5'>潛能</b>----捷德eSIM論壇成功舉辦

    聊聊下一代企業(yè)級SSD外形EDSFF #EDSFF #SSD #硬盤抽取盒

    硬盤SSD
    ICY DOCK硬盤盒
    發(fā)布于 :2024年06月13日 17:15:19

    HighPoint發(fā)布商用PCIe Gen5解決方案,最大可達960TB SSD容量

    HighPoint新近發(fā)布了PCIe Gen5 SSD PCIe擴展卡,配備Rocket PCIe Gen5 NVMe Switch及M.2 RAID AIC適配器,可容納多達32塊SSD,單個PCIe插槽最大容量可達960TB
    的頭像 發(fā)表于 04-24 15:43 ?719次閱讀

    如何才能同時測試更多SSD硬盤?

    我國企業(yè)級SSD市場規(guī)模持續(xù)擴大,對于SSD生產(chǎn)企業(yè)來說是機遇,也是挑戰(zhàn),傳統(tǒng)的SSD生產(chǎn)廠家在做出廠測試時,通常僅能測試4個盤
    的頭像 發(fā)表于 03-15 17:39 ?334次閱讀

    世界最大SSD終于開賣:至少2.65萬

    作為世界最大容量的61.44TB SSD,Solidigm去年7月份就發(fā)布的企業(yè)級SSD D5-P5336終于開啟預(yù)售,那是相當(dāng)?shù)馁F。
    的頭像 發(fā)表于 01-29 14:52 ?910次閱讀
    世界<b class='flag-5'>最大</b><b class='flag-5'>SSD</b>終于開賣:至少2.65萬

    PSOC63-BLE怎樣才能讓4個pwm同步輸出?

    我正在使用 PSOC63-BLE。 我正在嘗試使用 HAL 輸出 4 個 pwm,但我無法同步 4 個 pwm。 我怎樣才能讓 4 個 pwm 同步輸出?
    發(fā)表于 01-22 06:18

    如何配置才能讓AD7790正常工作?

    。 具體配置如下: 我按照AD7790的寄存器說明,先后對其進行了初始化、模式寄存器配置、濾波寄存器配置。 但在通過數(shù)據(jù)寄存器讀數(shù)時,無論怎樣調(diào)試,我都無法通過SPI獲得正確的數(shù)據(jù)。我甚至懷疑前面的配置根本沒有成功。 想請教一下,我應(yīng)該如何配置,才能讓AD7790正常工作。
    發(fā)表于 01-11 06:49

    AD5545與MSP430單片機進行通信,要怎么發(fā)送數(shù)據(jù)才能得到正確的結(jié)果?

    。 現(xiàn)比如我要對A通道進行轉(zhuǎn)換,經(jīng)過計算得到的數(shù)字量D為0xAAAA,按照其數(shù)據(jù)格式,發(fā)送的18位格式的數(shù)據(jù)應(yīng)該為01 1010 1010 1010 1010,AD5545與MSP430單片機進行通信,現(xiàn)請問,我要怎么發(fā)送數(shù)據(jù)才能
    發(fā)表于 12-25 08:17

    請問如何才能得到AD9234和AD9735的spice模型?

    請問如何才能得到AD9234和AD9735的spice模型?謝謝!
    發(fā)表于 12-01 06:14

    adau1452 spdif輸入信號怎么配置才能讓dsp處理?

    主要是spdif輸入,spdif輸入信號怎么配置才能讓dsp處理。
    發(fā)表于 11-29 08:25

    SSD入門必看|這些專業(yè)術(shù)語知道多少?

    SSD領(lǐng)域涉及到較多的專業(yè)術(shù)語,為了更深入地了解SSD技術(shù),本文對常用SSD術(shù)語進行簡要的說明和介紹。 Namespace 命名空間,是 NVMe 協(xié)議中一個基本的邏輯空間的概念。簡單地說,命名空間
    的頭像 發(fā)表于 11-21 20:40 ?1010次閱讀
    <b class='flag-5'>SSD</b>入門必看|這些專業(yè)術(shù)語<b class='flag-5'>你</b>知道多少?