女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

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

3天內不再提示

NVMe SSD性能影響因素分析

架構師技術聯盟 ? 來源:架構師技術聯盟 ? 2023-11-13 11:39 ? 次閱讀

NVMe SSD 廠商Spec給出的性能非常完美,前面也給出了NVMe SSD和磁盤之間的性能對比,NVMe SSD的性能的確比磁盤高很多。

但在實際應用過程中,NVMe SSD的性能可能沒有想象中的那么好,并且看上去不是特別的穩定,找不到完美的規律。和磁盤介質相比,SSD的性能和很多因素相關,分析SSD的性能影響因素,首先需要大體了解SSD構成的主要部分。

如下圖所示,其主要包括主機CPU、PCIe互連帶寬、SSD控制器及FTL軟件、后端NAND Flash帶寬、NAND Flash介質。影響SSD性能的主要因素可以分成硬件、軟件和客觀環境三大部分,具體分析如下。

wKgZomVRmn-AfU6dAACdsObpUWw092.png

1, 硬件因素

a) NAND Flash本身。不同類型的NAND Flash本身具有不同的性能,例如SLC的性能高于MLC,MLC的性能優于TLC。選擇不同的工藝、不同類別的NAND Flash,都會具有不同的性能。

b) 后端通道數(CE數量)及總線頻率。后端通道數決定了并發NAND Flash的數量,決定了并發能力。不同的SSD控制器支持不同數量的通道數,也決定了SSD的后端吞吐帶寬能力。NAND Flash Channel的總線頻率也決定了訪問Flash的性能。

c) SSD控制器的處理能力。SSD控制器中會運行復雜的FTL(Flash Translation Layer)處理邏輯,將邏輯塊讀寫映射轉換成NAND Flash 讀寫請求。在大數據塊讀寫時,對處理器能力要求不是很高;在小數據塊讀寫時,對處理器能力要求極高,處理器能力很容易成為整個IO系統的性能瓶頸點。

d) SSD控制器架構。通常SSD控制器采用SMP或者MPP兩種架構,早期的控制器通常采用MPP架構,多個小處理器通過內部高速總線進行互連,通過硬件消息隊列進行通信。內存資源作為獨立的外設供所有的處理器進行共享。這種架構和基于消息通信的分布式系統類似。MPP架構的很大優勢在于性能,但是編程復雜度較高;SMP架構的性能可擴展性取決于軟件,編程簡單,和在x86平臺上編程相似。不同的控制器架構會影響到SSD的總體性能,在SSD設計時,會根據設計目標,選擇不同類型的SSD控制器。

e) 內存支持容量。為了追求高性能,SSD內部的映射資源表會常駐內存,映射表的內存占用大小是盤容量的0.1%,當內存容量不夠大時,會出現映射表換入換出的問題,影響到性能。

f) PCIe的吞吐帶寬能力。PCIe前端帶寬體現了SSD的前端吞吐能力,目前NVMe SSD采用x4 lane的接入方式,上限帶寬為3GB/s,當后端NAND Flash帶寬和處理器能力足夠時,前端PCIe往往會成為性能瓶頸點。NANDFlash具有很高的讀性能,目前來看,SSD的讀性能在很大程度上受限于PCIe總線,因此需要快速推進PCIe4.0標準。

g) 溫度對性能造成影響。在NAND Flash全速運行的情況下,會產生較大的散熱功耗,當溫度高到一定程度時,系統將會處于不正常的工作狀態,為此,SSD內部做了控溫系統,通過溫度檢測系統來調整SSD性能,從而保證系統溫度維持在閾值之內。調整溫度會犧牲性能,本質上就是通過降低SSD性能來降溫。因此,當環境溫度過高時,會影響到SSD的性能,觸發SSD內部的溫度控制系統,調節SSD的性能。

h) 使用壽命對性能造成影響。NAND Flash在不斷擦除使用時,Flash的bit error會不斷上升,錯誤率的提升會影響到SSD的IO性能。

2, 軟件因素

a) 數據布局方式。數據布局方法需要充分考慮NAND Flash中的并發單元,如何將IO操作轉換成NAND Flash的并發操作,這是數據布局需要考慮的問題。例如,采用數據交錯的方式在多通道page上進行數據布局,通過這種方式可以優化順序帶寬。

b) 垃圾回收/wear leveling調度方法。數據回收、wear leveling、data retention等操作會產生大量的NANDFlash后端流量,后端流量直接反應了SSD的寫放大系數,也直接體現在后端帶寬的占用。垃圾回收等產生的流量也可以稱之為背景流量,背景流量會直接影響到前端用戶性能。因此需要對背景流量和用戶流量之間進行合理調度,使得用戶IO性能達到最佳。

c) OP預留。為了解決壞塊、垃圾回收等問題,在SSD內部預留了一部分空閑資源,這些資源被稱之為OP(Overprovisioning)。OP越大,GC過程中平均搬移的數據會越少,背景流量會越小,因此,寫放大降低,用戶IO性能提升。反之,OP越小,性能會越低,寫放大會越大。在SSD容量較小的時代,為了提升SSD的使用壽命,往往OP都設置地比較大。

d) Bit error處理影響性能。在SSD內部采用多種機制來處理NAND Flash所產生的Bit error。ECC糾錯、readretry、soft LDPC以及RAIN都是用來糾正bit翻轉導致的錯誤。當Bit錯誤率增加時,軟件處理的開銷越大,在bit控制在一定范圍之內,完全可以通過硬件進行糾正。一旦軟件參與到bit糾正的時候,會引入較大的性能開銷。

e) FTL算法。FTL算法會影響到SSD性能,對于不同用途的SSD,FTL的設計與實現是完全不同的,企業級SSD為了追求高性能,通常采用Flat mapping的方式,采用大內存緩存映射表;消費級SSD為了追求低成本,通常采用元數據換入換出的方式,并且采用pSLC+TLC的組合方式進行分層存儲,也可以采用主機端內存緩存元數據信息,但是這些方式都會影響到性能。

f) IO調度算法。NAND Flash具有嚴重的性能不對稱性,Flash Erase和Program具有ms級延遲,Flash read的延遲在us級。因此,如何調度Erase、Program以及read是SSD后端設計需要考慮的問題。另外,前端IO以及背景IO之間的調度也是需要權衡考慮,通過IO調度可以達到最佳性能表現。在IO調度過程中,還需要利用NANDFlash的特性,例如Program Suspension,通過這些特性的利用,最優化SSD前端IO性能。

g) 驅動軟件。驅動軟件運行在主機端,通常分為內核態和用戶態兩大類,內核態驅動會消耗較多的CPU資源,存在頻繁上下文切換、中斷處理,因此性能較低;用戶態驅動通常采用Polling IO處理模式,去除了上下文切換,可以充分提升CPU效率,提升整體IO性能。

h) IO Pattern對性能產生影響。IO Pattern影響了SSD內部的GC數據布局,間接影響了GC過程中的數據搬移量,決定了后端流量。當IO Pattern為全順序時,這種Pattern對SSD內部GC是最為友好的,寫放大接近于1,因此具有最好的性能;當IO Pattern為小塊隨機時,會產生較多的GC搬移數據量,因此性能大為下降。在實際應用中,需要通過本地文件系統最優化IO Pattern,獲取最佳性能。

3, 客觀因素

a) 使用時間越長會導致SSD性能變差。使用時間變長之后,SSD內部NAND Flash的磨損會加重,NAND Flash磨損變大之后會導致bit錯誤率提升。在SSD內部存在一套完整的bit錯誤恢復機制,由硬件和軟件兩大部分構成。當bit錯誤率達到一定程度之后,硬件機制將會失效。硬件機制失效之后,需要通過軟件(Firmware)的方式恢復翻轉的bit,軟件恢復將會帶來較大的延遲開銷,因此會影響到SSD對外表現的性能。在有些情況下,如果一塊SSD在掉電情況下放置一段時間之后,也可能會導致性能變差,原因在于SSD內部NAND Flash中存儲電荷的漏電,放置一段時間之后導致bit錯誤率增加,從而影響性能。SSD的性能和時間相關,本質上還是與NAND Flash的比特錯誤率相關。

b) 環境溫度也會對性能造成影響。為了控制SSD溫度不能超過上限值,在SSD內部設計有一套溫度負反饋機制,該機制通過檢測的溫度對NAND Flash后端帶寬進行控制,達到降低溫度的效果。如果一旦溫度負反饋機制開始工作,那么NAND Flash后端帶寬將會受到限制,從而影響前端應用IO的性能。下面從軟件的角度出發,重點闡述GC以及IO Pattern對SSD性能的影響。

3.1 GC對性能的影響

SSD內部有一個非常厚重的軟件層,該軟件層用來解決NAND Flash的問題,采用log-structured的方式記錄數據。Log-structured方式引入了GC的問題,對于前端業務來講,GC流量就是背景噪聲。GC流量不是時時刻刻存在的,因此,SSD對外體現性能大幅度波動。當SSD為空盤時,性能會非常好,為最佳性能;當SSD被用過一段時間之后,性能會大幅降低。其中GC起到了很重要的作用。企業級SSD在發布Spec的時候,都會發布SSD盤的穩態性能。在性能測試的時候,需要對盤進行老化預處理。通常預處理的方法是順序寫滿盤,然后再隨機兩遍寫盤,預處理完成之后,再對盤進行隨機讀寫測試,得到Spec中定義的值。穩態值基本可以認為是盤的下限性能。

wKgZomVRmn-AQUFnAAHcBg7lVys474.png

上圖所示是多個廠商的盤在空盤和穩態情況下的性能對比,由此可見穩態情況和空盤情況下的性能差距很大。在穩態情況下,SSD內部的GC會全速運行,會占用較多的NAND Flash后端帶寬。背景流量和前端數據流的比例也就體現了SSD盤的寫放大系數,寫放大系數越大,背景流量占用帶寬越多,SSD對外體現的前端性能也就越差。寫放大系數很多因素相關,例如OP、應用IO Pattern等。如果應用IO Pattern比較好,那么可以降低寫放大系數,背景噪聲流就會減少,前端業務的性能會提升。例如,在SSD完全順序寫入的情況下,寫放大系數可以接近于1,此時GC產生的數據流很少,背景流量基本沒有,后端帶寬基本被業務數據流占用,因此對外體現的性能會很好。

GC是影響性能的重要因素,除了影響性能之外,GC會增大寫放大,對SSD的使用壽命產生影響。從軟件層面的角度考慮,可以通過優化應用IO Pattern的方式優化SSD內部GC,從而進一步提升SSD的性能,優化使用壽命。對于下一代更為廉價的QLC SSD介質,就需要采用這種優化思路,否則無法很好地滿足實際業務的應用需求。

審核編輯:湯梓紅

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • FlaSh
    +關注

    關注

    10

    文章

    1668

    瀏覽量

    151004
  • cpu
    cpu
    +關注

    關注

    68

    文章

    11038

    瀏覽量

    216037
  • SSD
    SSD
    +關注

    關注

    21

    文章

    2952

    瀏覽量

    119131
  • 磁盤
    +關注

    關注

    1

    文章

    388

    瀏覽量

    25662
  • nvme
    +關注

    關注

    0

    文章

    243

    瀏覽量

    23117

原文標題:NVMe SSD性能影響因素一探究竟(上)

文章出處:【微信號:架構師技術聯盟,微信公眾號:架構師技術聯盟】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦
    熱點推薦

    Xilinx FPGA NVMe Host Controller IP,NVMe主機控制器

    ,從而可實現更高存儲性能和存儲容量。 無需CPU,NVMe Host Controller IP自動執行對PCIe SSD的PCIe設備枚舉和配置、NVMe控制器識別和初始化、
    發表于 02-21 10:16

    Xilinx FPGA NVMe主機控制器IP,高性能版本介紹應用

    ,從而可實現更高存儲性能和存儲容量。無需CPU,NVMe Host Controller IP自動執行對PCIe SSD的PCIe設備枚舉和配置、NVMe控制器識別和初始化、
    發表于 03-09 13:56

    Xilinx FPGA高性能NVMe SSD主機控制器,NVMe Host Controller IP

    ,從而可實現更高存儲性能和存儲容量。無需CPU,NVMe Host Controller IP自動執行對PCIe SSD的PCIe設備枚舉和配置、NVMe控制器識別和初始化、
    發表于 03-27 17:23

    性能NVMe主機控制器,Xilinx FPGA NVMe Host Accelerator IP

    ,從而可實現更高存儲性能和存儲容量。無需CPU,NVMe Host Controller IP自動執行對PCIe SSD的PCIe設備枚舉和配置、NVMe控制器識別和初始化、
    發表于 04-10 22:55

    性能NVMe主機控制器,Xilinx FPGA PCIe 3

    ,從而可實現更高存儲性能和存儲容量。無需CPU,NVMe Host Controller IP自動執行對PCIe SSD的PCIe設備枚舉和配置、NVMe控制器識別和初始化、
    發表于 04-20 14:41

    NVMe協議簡要分析

    NVM Express(NVMe)是一種高性能、可擴展的接口協議,用于通過PCI express(PCIe)總線,實現主機軟件與NVM設備之間的通信。目前,由于NVMe SSD相比于S
    發表于 05-15 00:34

    NVMe協議研究掃盲

    的不斷發展,這些接口協議已成為關鍵的性能瓶頸。為了解決這一問題,存儲供應商制定了一種新的接口規范,即NVMe協議。 NVMe協議必要性 NVMe協議是專為PCIe接口的
    發表于 06-02 23:28

    NVMe P4600的速度部分低于SATA SSD

    ,三星SATA SSD如何能夠勝過英特爾NVMe SSD(讀取速度)?P4600使用最新的固件(使用當前的數據中心工具)進行更新,并使用最新的英特爾驅動程序運行(Windows驅動程序甚至更慢!)這是正常
    發表于 11-28 14:57

    在Xilinx ZCU102評估套件上啟用NVMe SSD接口

    無線網絡,下一代高級駕駛員輔助系統(ADAS)和工業物聯網(IIoT)解決方案。無論如何,對于需要高性能和高可靠性的外部數據存儲的應用程序(例如NVMe SSD驅動器),需要利用GTH收發器
    發表于 09-03 16:07

    如何為工業應用設計NVMe SSD

    RK3399核心板有哪些應用?如何為工業應用設計NVMe SSD呢?
    發表于 03-07 06:12

    西部數據推出新款高性能NVMe SSD

    2018年5月22日—西部數據推出新款高性能NVMe SSD,Western Digital Black 3D NVMe SSD。這款固態硬
    發表于 05-24 18:12 ?1871次閱讀

    NVMe SSD與SATA SSD性能對比

    老說NVMe SSD性能是SATA SSD的四倍,那到底實際體驗是怎樣的呢?
    的頭像 發表于 07-27 09:43 ?3.6w次閱讀

    影響SSD性能因素有哪些 NVMe SSD性能解析

    NVMe SSD性能時常捉摸不定,為此我們需要打開SSD的神秘盒子,從各個視角分析SSD
    的頭像 發表于 11-05 09:47 ?9301次閱讀

    重新定義NVMe SSD外形

    NVMe NVM Express(NVMeSSD在企業和數據中心應用中的部署大量涌現,但同時出現的一些復雜狀況讓這些部署無法發揮出全部優勢。今天的文章我們就來說說NVMe
    的頭像 發表于 09-23 14:26 ?3060次閱讀
    重新定義<b class='flag-5'>NVMe</b> <b class='flag-5'>SSD</b>外形

    浪潮NVMe SSD性能

    本次測試采用浪潮服務器 SA5112M6,磁盤采用三個節點每個節點八塊浪潮 INSPUR-NS8610G1U320 NVMe進行測試,此次采用的NVMe SSD具有極高的性能,產品4K
    發表于 08-03 10:25 ?2347次閱讀