標籤:
SMR磁碟學習8---Novel Address Mappings for Shingled Write Disks
第一部分:總述
本文通過改變mapping,減少SWD帶來的寫放大問題,主要對兩個因素進行了深刻的討論,即SG(Space Gain,空間增益)和WAR(Write Amplification Ratio,寫放大比例),實現空間和效能的平衡,降低磁碟系統的開銷。
第二部分:重痛點詳解
Update out-of-place
一、分析兩種更新的模式
Update in-place
Update out-of-place 需要兩個region 1. I-region 2.E-region
E-region作為一個迴圈緩衝空間來用,用來緩衝和重新整理資料。所有的輸入的寫資料首先到達E-region,當資料被需要時,資料會從E-region中轉存到I-region,也就是在一個新的地方更新,是原來的位置變無效,這樣會一直不斷的在E-region和I-region進行寫操作。雖然可以繞過SWD寫放大的問題,但是這兩個region需要進行垃圾收集(GC)操作回收無效塊的儲存空間,同時mapping table要做出進行相應的改變,使得系統開發較大。這種更新模式不可行。
Update in-place 不需要GC操作和複雜的mapping表,tracks組成bands,相鄰的band之間有個安全間隔,它有磁頭的寬度決定。(Band的大小對權衡space gain 和效能很重要)
更新到來時:將影響到的連續tracks上的資料讀到一個緩衝塊裡在更新資料的時候將資料復原到原來的位置。
二、找突破。假設普通磁碟和SWDs的tracks 組織方式一樣,每個band包含4個tracks,傳統的磁碟映射是連續的,如[1-100]對應第一個track,[101-200]對應第二個track, [201-300]對應第三個track等等。但SWD如果使用傳統的Mapping,一次更新可能會招致額外的讀和寫。(one band),更新a 會招致2次讀,3次寫。
圖1
如果改變tracks的使用順序減少寫放大問題,於是,可以對mapping進行改進。
讓磁碟的容量利用低於50%的時候都放到band的第一、第四track上,更新產生的寫放大會降低。
於是就有了幾個新的映射方案:R(4123) or R(1423)(mapping的第一個25%映射到bands的第一個track上,mapping的第二個25%映射到bands的第二個track上,mapping的第三個25%映射到bands的第三個track上,mapping的第四個25%映射到bands的第四個track上)、14R(23)(mapping的第一個50%映射到bands的第一、四個track上,mapping的第二個25%映射到bands的第二個track上,mapping的第三個25%映射到bands的第三個track上)、124R(3)(mapping的第一個75%映射到bands的第一、二、四個track上,mapping的第二個25%映射到bands的第三個track上)
效果預測:
三,實驗驗證。
使用四個類比磁碟和兩個裝置(Address mapper 地址映射器,Write amplifier:寫放大器)分別在磁碟容量使用率為25%、50%、75%、100%時進行更新的回應時間和寫放大比率的測量
結果
當使用容量使用小於50%時寫放大效能穩定較好,75%的時候效能下降,100%就沒有優勢了。
第三部分:總結
SWD有寫放大問題,平衡space和效能最好的方法是新的態地址定址:方案R(4123) or R(1423)、14R(23)、124R(3)
SMR磁碟學習8---Novel Address Mappings for Shingled Write Disks