精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

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

3天內不再提示

Erase/Program操作對SSD讀性能的影響

SSDFans ? 來源:lq ? 2019-01-21 17:03 ? 次閱讀

Erase/Program Suspension是1y以及3D Flash提供的一個新的命令接口。該命令可以在Erase/Program操作過程中將其暫停,然后執行其他的操作,并在某個時間重啟之前暫停的操作。這篇文章將簡述這種Suspension操作對SSD性能改善所起到的作用。

Erase/Program操作對SSD讀性能的影響

和客戶級別的SSD不同,企業級的SSD除了順序讀順序寫帶寬,隨機讀隨機寫的IOPS等指標之外,還有一些穩定性的指標。其中一項重要指標就是IO響應時延的穩定性,或一致性,英文為Latency Consistency。該指標反映IO隨測試時間的一個延遲分布情況,分布集中說明穩定性好,IO延遲抖動??;分布離散,說明穩定性差,IO延遲抖動大。IO延遲的抖動,和SSD中IO調度算法有密切的關系。復雜的企業應用,不再是簡單讀寫,大部分都是比較復雜的持續混合IO。持續的寫入,勢必導致SSD內GC的發生,形成數據搬移,落實到Flash具體操作就是Read/Program/Erase操作。然而當這些SSD內部GC產生的對Flash的Read/Program/Erase操作,和主機Host的IO產生沖突的時候,就會對IO的延遲產生不確定性,導致返回的IO延遲抖動。

GC對于寫延遲的抖動,這個是個間接的過程。累積到磁盤寫緩沖(DRAM或SRAM)的數據在寫入Flash過程中會受到GC的Read/Program/Erase影響。SSD寫緩沖如果不能完全吸收這種抖動造成的影響,就會將這種抖動傳遞到主機Host處,而表現為主機寫IO的抖動。圖1來自網絡。我們知道4k QD1的性能對Latency非常敏感,圖1展示了持續寫由于GC引發抖動導致寫延遲變化導致性能的波動。由于實現算法的差異,每個廠家表現是不一樣的。這個也能簡介反映廠家設計的功底和算法的優劣。

圖1 SSD 4k DQ1持續寫入性能延遲表現(來自網絡)

GC對于讀延遲的抖動則更加明顯。主機的讀大部分都是從Flash直接讀出。理想情況的讀延遲為Flash讀數據的延遲,這個指標對于Flash來說一般是tR,60-100us不等,加上Controller ECC解碼時間以及數據搬運到主機內存的時間,一般來說這部分時間在10-20us。而當一個主機host讀遇上一個主機的寫導致的Flash的Program或GC的Read/Program/Erase在同樣的Flash LUN上面發生沖突,情況就會變得比較糟糕。Flash Program/Erase數據的延遲tPROGt ERASE在ms級別,3D Flash這兩項指標更為惡化,tPROG達到平均2-3ms,tERASE達到平均10ms。這將意味這host的這次讀訪問的延遲將達到ms甚至10ms以上。而平均效果看在這種測試下,讀的一致性就表現出大的波動。

為了實際說明問題,這里舉出一種場景描述企業應用中Erase/Program操作對實際業務造成的影響。在某種SSD上面以某種方式充分預制后,用以下模擬某種數據庫測試的FIO腳本做比較輕量Queue Depth的IO讀寫混合操作。可見在長時間持續寫入的情況,引發GC產生,對性能產生負面的影響。測試的Flash為某廠的3D Flash tPROG基本為2D Flash的1.5-2倍,而tERASE平均已經達到10ms。該3D Flash正常的tR為60-70us之間,而測試中SSD在各個場景下表現的平均Latency已經達到120-140us左右,最大的讀Latency已經到10ms以上。這正是主機Host的讀和主機寫,以及GC的Read/Program/Erase,產生沖突后表現。不難理解主機Host的某個讀,被擋在一個剛執行的GC Erase的后面,被Delay近10ms,所表現的比較差的最大讀延遲。

表1某種SSD模擬數據庫場景的測試效果

Erase/Program Suspension對企業應用的改善

1y以及3D Flash提供了一種稱為Erase Suspension和Program Suspension的命令接口。其操作方法是,當Flash內部Array 正在進行Erase或Program操作時,用過這種命令,暫停當前的的Erase或Program操作。暫停成功后的Flash,狀態回到Ready狀態,可以進行讀操作。而在某個時間,可以通過某些命令恢復之前被暫停的操作。

這種方式就為某些被已經下發的Erase或Program擋住的高優先級讀,提供了超車的可能。避免了主機Host高優先級讀被長時間Erase或Program擋,比較大程度的改善讀的最大延遲,同時,平均讀延遲也降獲得改善。

在同樣的SSD測試項目里面,引入這種技術,對比之前的測試用例,已經能觀察到比較明顯的改善效果。這里在SSD FW里面做了一些更加智能的控制,比如在Host IO壓力一定的情況下使用Suspension技術;在高優先級IO被Erase/Program被擋的情況下,判斷Erase/Program執行情況,評估當前Erase/Program執行如果完成度比較低則使用Suspension,讓后續的高優先級讀超車。

表2某種SSD模擬數據庫場景應用Erase/Program Suspension后的測試效果

值得注意的是除了Erase/Program Suspension對企業性能的改善,另外對掉電也有很大的幫助。當前3D Flash的Erase時間都很長,在Dirty 掉電場景下,企業級SSD要求將Commit的寫緩沖要刷入flash。tERASE的10ms對Dirty 掉電,是非常寶貴的時間,SSD電容一般設計也就能Cover數10ms。所以能夠Suspend掉當前耗時的Erase,執行數據的緊急寫入是很優必要的。

Erase/Program Suspension技術在SSD控制器應用的考慮

由以上分析Erase/Program Suspension技術的優勢是顯而易見的。然而Erase/Program Suspension技術操作上面SSD控制器也有一些點需要關注。

Erase/Program Suspension的控制層面在SSD的FW上控制比較困難。當FW下發NAND操作指令到硬件的Flash controller隊列中,這個NAND操作指令基本就不受FW控制,其執行狀態取決于當前的flash操作狀態,以及Flash Controller的調度策略。FW層面很難決定什么時候需要發起或可以發起Erase/Program Suspension。這要求SSD Controller內部的FlashController做更加精細以及智能的控制,例如硬件的Flash Controller需要感知到當前將要執行IO的優先級別,并對正在執行的Erase/program估計完成時間,判斷是否值得做Suspension操作。

對于Erase Suspension來說可能增加Cell的PE cycles,這點也是需要考慮的。FW在系統層面需要決定哪些IO遇到Erase/Program擋住的時候,適合執行Suspension,除了根據IO優先級,還要從系統層度預判Suspension的收益。包括當前GC強度,主機Host IO壓力強度。比如當大壓力的混合讀寫,GC強度也非常大,頻繁的Suspension,也許并不適合,大壓力下Suspension對讀IO的延遲提升有限,頻繁的Suspension可能會過快消耗Cell壽命。Suspension和之后的恢復操作,需要增加FW復雜度,消耗CPU計算時間,而且可能使GC執行不順暢,對業務造成負面影響。整體上看很可能沒有獲得所期望的優化效果,反而增大IO的抖動和延遲。

Erase/Program Suspension是Flash廠商應企業級客戶需求開放的一種有效改善IO延遲的新命令接口,能在一定程度上緩解3D Flash由于tPROG/tERASE增加而導致的問題。目前市面上已經有一些企業SSD產品聲稱對Erase/Program Suspension的支持。SSD Controller要用好Erase/Program Suspension,需要HW以及FW,從SSD系統上面做全面的考量。能利用好這項技術,帶來SSD產品對實際應用的改善,也需要廠商做比較深入研究。

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

    關注

    112

    文章

    15873

    瀏覽量

    175302
  • SSD
    SSD
    +關注

    關注

    20

    文章

    2790

    瀏覽量

    116631
  • 數據庫
    +關注

    關注

    7

    文章

    3707

    瀏覽量

    64019

原文標題:消除企業級SSD寫抖動的利器:擦寫暫停技術

文章出處:【微信號:SSDFans,微信公眾號:SSDFans】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    極致優化SSD并行調度

    提升廣告檢索漏斗一致性,要求在粗排階段引入更豐富的信號,這些信號的需求量已經遠遠超出了內存的承受能力。為此,我們考慮引入基于NVMe SSD的分層存儲。本文詳細探討了一種長尾可控的方法論,以及在這
    的頭像 發表于 09-18 09:20 ?972次閱讀
    極致優化<b class='flag-5'>SSD</b>并行<b class='flag-5'>讀</b>調度

    探秘CPU對SSD性能影響

    從最初的SATA SSD,到PCI-Express SSD再到現在M.2 SSD,存儲速度的性能發生了顛覆性的變化,可以用飛來形容,同時近些年來TLC閃存大面積應用,成本降低,不少
    發表于 02-16 10:39 ?2657次閱讀

    NVMe SSD性能影響因素分析

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

    SSD是什么意思,什么是SSD

    、SONY等一大批國外實力廠家的不斷開發研究,SSD市場已經全面開花了。不過不要擔心,中國第一款SSD已經由深圳億正存儲科技公司于2007年1月1日宣布研發完成,并可以大批量進行生產,而且與寫速度均大于
    發表于 03-25 16:20

    這些ssd的頁面大小和塊擦除大小是?

    and which size in recomded? Does anyone know the page size and the block erase size of those ssd's? TanksDirk
    發表于 11-15 11:03

    工具箱3.4.3和intel ssd 520 120bg安全擦除不起作用

    以下為原文Hello!I have new NVMe ssd 760p and "old" 520ssd need to be "secure erase
    發表于 11-26 14:16

    S32K312編程但是Erase and Program總是不成功怎么解決?

    我們是第三方編程器廠商,目前開發S32K312編程軟件。我們參考文件S32K3 Memories Guide,Erase and Program操作過程,但是Erase and
    發表于 03-14 13:36

    電池管理器件的/寫操作

    電池管理器件的/寫操作 Dallas Semiconductor 的電池管理IC 采用相同的通信協議和相同的存儲器地址不同類型的存儲器可以分別進行/寫操作本應用筆記闡述了唯
    發表于 04-12 08:50 ?21次下載

    GD32-Colibri-F207實驗板Erase_Progra

    GD32-Colibri-F207實驗板Erase_Program,很好的GD32資料,快來學習吧。
    發表于 04-21 10:49 ?3次下載

    NVMe SSD與SATA SSD性能對比

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

    不同系統對SSD性能是否有影響

    大家都知道SSD固態硬盤的性能很好,但是你有沒有想過,在不同的操作系統下,SSD性能表現會不會有明顯的差異呢?畢竟不同系統對同樣技術的支持
    的頭像 發表于 09-04 11:49 ?3759次閱讀

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

    NVMe SSD性能時常捉摸不定,為此我們需要打開SSD的神秘盒子,從各個視角分析SSD性能影響因素,并思考從存儲軟件的角度如何最優化使用
    的頭像 發表于 11-05 09:47 ?8788次閱讀

    FTL算法的好壞,直接決定了SSD性能

    每擦除一次閃存塊,都會對閃存塊有磨損,因此閃存塊都是有壽命的,用PE(Program/Erase Count)數衡量。我們不能集中往某幾個閃存塊上寫數據,不然這幾個塊很快就會因PE耗盡而死亡,這不是
    的頭像 發表于 10-09 16:20 ?1w次閱讀

    、寫、擦除是SSD對NAND的三大基本操作

    通過一系列的介紹和實驗驗證,我們看到了TRIM的價值和實現原理。在TRIM的幫助下,NVMe SSD的GC等操作效率更高,進而達到降低寫放大,提高產品性能和壽命的效果。
    的頭像 發表于 04-28 11:39 ?9931次閱讀

    如何FPGA內部的RAM進行改寫操作

    存儲器是FPGA設計中的常用單元,對存儲器的操作,最基礎的就是讀寫操作,還有一種就是改寫操作,即先讀出存儲器中的數據,對其進行修改后,再寫入存儲器。這樣的
    的頭像 發表于 09-28 16:53 ?2178次閱讀
    如何FPGA內部的RAM進行<b class='flag-5'>讀</b>改寫<b class='flag-5'>操作</b>