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

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

3天內不再提示

NVMe SSD性能影響因素一探究竟(下)

架構師技術聯盟 ? 來源:架構師技術聯盟 ? 2023-12-09 11:38 ? 次閱讀

3.2 IO Pattern對性能的影響

IO Pattern會對SSD的性能產生嚴重影響,主要表現在如下幾個方面:

1, 不同的IO Pattern會產生不同的寫放大系數,不同的寫放大系數占用后端NAND Flash帶寬不同。當前端應用對SSD采用完全順序的方式進行寫入時,此時是最佳的IO Pattern,對于SSD而言寫放大系數接近1,SSD內部的背景流量基本可以忽略,前端性能達到最佳。在實際應用中,很難采用這種完全順序的數據寫模型,但可以通過優化逼近順序寫入。

2, 不同請求大小的IO之間會產生干擾;讀寫請求之間會產生干擾。小請求會受到大請求的干擾,從而導致小請求的延遲增加,這個比較容易理解,在HDD上同樣會存在這種情況。由于NAND Flash介質存在嚴重的讀寫不對稱性,因此讀寫請求之間也會互相干擾,尤其是寫請求對讀請求產生嚴重的性能影響。

3.2.1 順序寫入Pattern對SSD性能優化的奧秘

在針對閃存系統的設計中,需要考慮IO Pattern對性能產生的影響,通過軟件的優化來最優化SSD的使用。在實際應用中完全順序寫入的IO Pattern基本上是不存在的,除非用作順序寫入的日志設備。對于順序寫入優化性能這個結論,需要從SSD內部實現來深入理解,知道根源之后,可以采用合理的方式來逼近順序寫入的模式,從而最優化SSD的性能。

SSD內部采用log-structured的數據記錄模式,并發寫入的IO數據按照時間順序匯聚成大數據塊,合并形成的大數據塊以Page stripe的方式寫入NAND Flash。多個Page stripe會被寫入同一個GC單元(Chunk orSuperblock),當一個GC單元被寫完成之后,該GC單元進入sealed模式(只讀),分配新的GC單元寫新的數據。在這種模式下,如果多個業務的數據流并發隨機地往SSD中寫入數據,那么多個應用的數據就會交錯在一起被存儲到同一個GC單元中。如下圖所示,不同應用的數據生命周期不同,當需要回收一個GC單元的時候,會存在大量數據的遷移,這些遷移的數據就會形成寫放大,影響性能和使用壽命。

wKgZomVz4XWABazvAADEeOjWIhk073.jpg

不同應用的數據交錯存儲在同一個GC單元,本質上就是不同冷熱程度的數據交錯存儲的問題。從GC的角度來講,相同冷熱程度的數據存儲在同一個GC單元上是最佳的,為此三星推出了Multi-stream SSD,該SSD就允許不同應用的數據存儲到不同的Stream單元(GC單元),從而提升GC效率,降低寫放大。Multi-stream是一種顯式的設計方式,需要更改SSD接口以及應用程序。

從IO Pattern的角度考慮,可以通過順序大塊的方式也可以逼近類似的效果。假設操作SSD只存在一個線程,不同的應用都采用大數據塊的方式寫入數據,那么在一個時間片段內只存在一個應用的數據往SSD中寫入數據,那么在一個GC單元內存儲的數據會變得有序和規則。如下圖所示,采用上述方法之后,一個GC單元內存儲的數據將會變得冷熱均勻。在GC過程中會大大減少數據的搬移,從而減少背景流量。

wKgaomVz4XWAOBaiAADEE3oa5Ss996.jpg

在實際應用中,上述IO Pattern很難產生,主要是應用很難產生非常大粒度的請求。為此在存儲系統設計過程中,可以引入Optane高性能存儲介質作為SSD的寫緩存。前端不同業務的寫請求首先寫到Optane持久化介質中,在Optane持久化介質中聚合形成大數據塊。一旦聚合形成大數據塊之后,再寫入SSD,通過這種方式可以最大程度地逼近SSD順序寫入過程,提升SSD的性能和使用壽命。

3.2.2 讀寫沖突Pattern對性能的影響

如下圖所示,NAND Flash介質具有很強的讀寫不對稱性。Block Erase和Page Program的延遲會遠遠高于Page Read所耗費的時間。那么在這種情況下,如果read請求在同一個Flash Channel上和Erase、Program操作沖突,那么read操作將會被Erase/program操作影響。這是在讀寫混合情況下,讀性能會受到影響的重要因素。

wKgaomVz4XWAHcOoAABVyDF5TS8305.jpg

在實際應用過程中,經常會發現應用的測試結果和SSD Spec對不上,會比Spec給出的值要來的低。Spec給出的值通常為純讀或者純寫情況下的性能指標,在讀寫混合的場景下,性能表現和Spec給出的值就會存在非常大的出入。

對于不同的SSD,通過測試可以發現在讀寫混合情況下的性能表現差距會比較大。在SSD處于穩態條件下,應用隨機讀的情況下,如果引入一個壓力不是很大的順序寫,那么會發現不同SSD的抗干擾能力是不同的。有些SSD在寫干擾的情況下,讀性能會急劇下降,延遲快速上升,QoS性能得不到保證。下圖是兩個SSD在相同情況下的測試結果,從結果來看,有些SSD的抗寫干擾能力比較強,讀性能不會急劇下降。

wKgaomVz4XWATD14AAPnAEWHZ6k818.jpg

為什么有些SSD會具備比較強的抗寫干擾能力呢?其中的奧秘就在于SSD內部的IO調度器。IO調度器會對write、read 和Erase請求進行調度處理,該調度器算法的不同就會表現出不同的抗干擾能力。目前很多NANDFlash可以支持Program/Erase Suspension的功能,在IO調度處理的過程中,為了提升讀性能,降低讀請求延遲,可以采用Suspension命令對Program/Erase命令暫停,對read請求優先調度處理。

讀寫沖突是SSD內部影響IO QoS的重要因素。在SSD內部通過IO調度器的優化可以提升SSD性能的QoS能力,但是還是無法與存儲軟件結合來協同優化QoS。為了達到最佳的SSD性能QoS,需要關注Openchannel技術。Openchannel其實只是一種軟硬件層次劃分的方法,通常來講,SSD內部的邏輯可以劃分為面向NAND資源的物理資源管理層以及面向數據布局的資源映射層。物理資源管理由于和NAND Flash密切相關,因此可以放到SSD內部。

傳統的NVMe SSD需要對外暴露標準的塊設備接口,因此需要在SSD內部實現資源映射層。從端至端的角度來看,資源映射層可以與存儲軟件層結合起來,為此將資源映射層從SSD內部剝離出來,集成至存儲軟件層。一旦資源映射層從SSD內部剝離之后,需要定義一個新的SSD接口,其中的一種接口方式就是Openchannel。

盤古分布式存儲針對SSD QoS問題進行了大量研究,提出了Object SSD的概念,Object SSD也是一種新的SSD接口方式,其采用對象方式對SSD進行讀寫刪操作,每個對象采用Append write操作方式。這種接口方式可以很好的與分布式存儲無縫結合。采用Object SSD之后,SSD內部的大量工作被簡化,IO的調度會更加靈活,存儲軟件與SSD協同配合,達到IO性能的最優化,以及QoS的最大化。

wKgaomVz4XWAAoVnAAEEkLR3faU906.jpg

4 SSD寫性能分析模型

SSD內部的數據流分成兩大類,一類為前端用戶數據流;另一類為內部背景數據流。前端用戶數據流和背景數據流會匯聚成NAND Flash后端流量。當背景數據流不存在時,NAND Flash帶寬會被用戶數據流全部占據,此時SSD對外表現的性能達到最佳。當SSD具有較大寫放大時,會產生很大的背景數據流,背景流會搶占NANDFlash帶寬,導致前端用戶IO性能降低。為了穩定前端IO性能,在SSD內部的調度器會均衡前端和背景流量,保證前端性能的一致性。背景流量的占比反應了SSD的寫放大系數,因此,站在NAND Flash帶寬占用的角度可以分析SSD在穩態情況下的性能。

下圖是Intel P4500和Samsung PM963隨機寫延遲和推導公式之間的對比。結果非常吻合。

wKgZomVz4XWAS5QQAAGrVcFyP_Q453.jpg

由此可以推出,隨機寫性能由SSD內部后端帶寬以及寫放大系數來決定。因此,從存儲軟件的角度出發,我們可以通過優化IO Pattern的方式減小寫放大系數,從而可以提升SSD的隨機寫性能。

5 小結

閃存存儲技術正在飛速發展,閃存介質、SSD控制器、存儲系統軟件、存儲硬件平臺都在圍繞閃存日新月異的發展。閃存給數據存儲帶來的價值顯而易見,數據中心閃存化是重要發展趨勢。NVMe SSD性能受到很多因素的影響,在軟件層面可以通過IO Pattern優化SSD的性能,使得整體存儲系統的性能達到最佳。







審核編輯:劉清

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

    關注

    1

    文章

    134

    瀏覽量

    44544
  • SSD
    SSD
    +關注

    關注

    20

    文章

    2722

    瀏覽量

    115806
  • Nand flash
    +關注

    關注

    6

    文章

    236

    瀏覽量

    39539
  • HDD
    HDD
    +關注

    關注

    0

    文章

    136

    瀏覽量

    27120

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

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

收藏 人收藏

    評論

    相關推薦

    《基于“礦板”低成本學習Zynq系列》之二-什么樣的礦板,一探究竟

    本文轉自公眾號,歡迎關注 《基于“礦板”低成本學習Zynq系列》之二-什么樣的礦板,一探究竟 (qq.com) 一.前言 ? 前面一篇淘板記中我們淘到了基于Zynq-7010的礦板,初步確認沒問題
    的頭像 發表于 06-26 08:40 ?2986次閱讀
    《基于“礦板”低成本學習Zynq系列》之二-什么樣的礦板,<b class='flag-5'>一探究竟</b>

    NVMe SSD性能影響因素分析

    NVMe SSD 廠商Spec給出的性能非常完美,前面也給出了NVMe SSD和磁盤之間的性能
    的頭像 發表于 11-13 11:39 ?736次閱讀
    <b class='flag-5'>NVMe</b> <b class='flag-5'>SSD</b><b class='flag-5'>性能</b>影響<b class='flag-5'>因素</b>分析

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

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

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

    ,NVMe Host Controller IP所消耗的BRAM比較多,可以達到CrystalDiskMark測試軟件SEQ128K Q32T1測試模式的讀寫性能。針對多路數據通道訪問PCIe
    發表于 03-09 13:56

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

    SSD?易于集成的同步、可綜合Verilog設計?通過完全驗證的NVMe Host Controller IP2概述NVMe Host Controller IP作為個對PCIe
    發表于 03-27 17:23

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

    SSD?易于集成的同步、可綜合Verilog設計?通過完全驗證的NVMe Host Controller IP2概述NVMe Host Controller IP作為個對PCIe
    發表于 04-10 22:55

    iPhone 12 香不香?帶你一探究竟

    12 共有四款機型,國行售價最低的iPhone 12 mini價格為5499元,高配版的iPhone 12 Pro Max價格近1.2萬元。 iPhone 12 怎么樣呢?現在我們就一探究竟。5G技術
    發表于 10-15 17:22

    一探究竟關于USB轉接口部分的電路

    看CT117E的原理圖中,關于USB轉接口部分的電路并未詳細標明芯片型號,不知道又有何蹊蹺,今就來一探究竟…具體位置藏匿于LCD之下,掀開之后,便可窺得:兩個芯片:FT2232D和ATMEL528...
    發表于 12-16 06:25

    如何為工業應用設計NVMe SSD

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

    NVMe SSD與SATA SSD性能對比

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

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

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

    OPPOFindX拆解 防護性能一探究竟

    則采用了極具創新性的“雙軌潛望結構”。鑒于“雙軌潛望結構”屬于精密機械部件,用戶不免對OPPO Find X的全面防護能力有所疑慮,所以我們這次將Find X進行整體拆解,對Find X防護性能一探究竟。
    的頭像 發表于 01-10 09:17 ?9530次閱讀

    一探究竟eSIM的發展道路

    而這一消息也再次引發了用戶對于eSIM的討論,目前eSIM在國內的應用狀況到底怎樣?三大運營商在eSIM方面究竟如何布局?eSIM在國內何時才能真正進入智能手機領域?接下來,我們就來一探究竟。
    的頭像 發表于 01-03 10:26 ?3968次閱讀

    浪潮NVMe SSD性能

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

    一探究竟低煙無鹵網線

    低煙無鹵是在電線電纜產業中電線護套的材料分類。低煙無鹵電線護套是由受熱時排煙量低,且本身不含鹵素的熱塑性或是熱固性組成。為了幫助大家更好的了解這類線材,下面我們跟著科蘭通訊小編一探究竟低煙無鹵網線
    發表于 09-29 10:07 ?1422次閱讀
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>