999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

MFTL:一種基于固態盤系統非對齊更新數據的合并策略

2018-07-04 10:31:34黃耀欽鄧玉輝
小型微型計算機系統 2018年6期
關鍵詞:優化實驗系統

黃耀欽,鄧玉輝,2

1(暨南大學 信息學院計算機科學系,廣州 510632)

2(中國科學院 計算技術研究所 計算機體系結構國家重點實驗室,北京100190)

1 引 言

相比于傳統硬盤,基于閃存的固態盤(SSD)[1,2]由于其低延遲、低能耗、體積小和優良抗震性而被廣泛應用于嵌入式產品和企業級服務器中.近年來,隨著閃存芯片成本和價格的下降,固態盤的可用容量也越來越高,這使得固態盤成為傳統機械硬盤[3]的有力替代者.同時,對于如何結合新型存儲介質來充分挖掘存儲系統的性能,文章[4]也相應提出了一種利用閃存來提升磁盤性能的存儲架構.但是,基于閃存的固態盤也具有一些局限性,比如在寫數據前必須先擦除而無法原地更新寫;由于閃存芯片具有擦寫次數限制,因此需要做磨損均衡處理使得數據能平均寫到所有的塊中.而這些地址轉換映射、磨損均衡和垃圾回收等功能都由閃存轉換層FTL[5-7]來完成.另一方面,固態盤內部通常都配備有緩存模塊[8],用以存放閃存轉換層映射表和相關的緩存數據,由于閃存的讀寫單位是以閃存頁為最小單位,當寫回至固態盤的緩存數據大小小于閃存頁大小時,便會導致寫回的數據與與實際寫入的數據量不對齊,現有的FTL方案都沒有針對這種非對齊寫更新操作進行相應的優化,而這些非對齊的寫更新操作會在一定程度上影響固態盤的性能.

緩存管理算法[9,10]是提高固態盤性能的有效方法.傳統的緩存管理算法都是針對磁盤以提高緩存命中率為目的而設計的,文章[11]中的PASS算法可以通過存儲更新率較高的更新數據來減少對閃存的訪問次數,從而直接延長了固態盤的使用壽命及性能.然而,目前針對固態盤緩存的主要研究工作主要集中在如何利用閃存特性而盡可能地減少閃存寫操作,而從實際應用中大多數負載的情況來看,多數真實負載在固態盤系統中都存在部分的非對齊寫操作.對于這類非對齊的寫操作,現有的緩存管理算法只是考慮如何選擇寫回的緩存數據而減少閃存寫操作,而并未對非對齊的寫更新進行相應的優化.對于非對齊寫操作會有三個致命的缺陷.其一,由于閃存讀寫是以頁為單位,因此寫入的數據量與閃存芯片存儲規格不對齊,造成了大量的物理可用存儲容量的浪費;其二,若非對齊寫操作存在更新操作的話,則固態盤需要從閃存芯片中將原有數據讀取至緩存中,進行更新操作后再重新寫回到閃存,這個過程會使得原本的寫操作附加了額外的讀取操作,造成了寫請求處理的延遲從而影響固態盤的性能;其三,固態盤中的閃存轉換層FTL會負責將上層傳入的IO請求按照閃存頁級的規格劃分為多個相應的子請求并逐一處理,而這些子請求在處理的過程中,都不可避免的需要占用固態盤相應的資源,如通道、芯片等獨立資源.同時,每一個子請求在處理的過程中都需要經過相應的階段轉換,例如對于每一個閃存寫操作過程都會被分成三個部分:命令輸入階段、數據傳輸階段和寫入閃存介質階段[11].所以無論寫入的數據是否為整頁對齊規格,最終整個數據處理過程都會劃分成以上三個部分,因此通過對非對齊寫數據進行相應的合并優化后可以減少這種寫入過程的冗余次數.

針對固態盤存在的這些問題,本文提出了一種新的FTL設計方案MFTL.與其他FTL不同,MFTL重新設計了映射機制,可以將緩存中來自多個不同的邏輯數據塊中存在的非對齊寫數據合并成一個閃存頁的規格大小后再整頁寫入到閃存中,讀數據時則需要根據映射關系集合判斷數據是否為合并頁中的數據,如果是合并頁中的數據就從相應的映射關系集中依次讀取更新數據,并在緩存中進行合并;同時MFTL也對寫更新現象進行的針對性地優化,對于寫更新操作,MFTL不會直接附加一個額外的讀操作進行更新后再寫入到固態盤中,而是通過保存原頁級映射模塊中的有效映射關系,再通過更新合并頁映射模塊的映射信息,從而實現了省略額外讀操作進行寫更新的操作.針對這些合并后的更新數據進行一種自適應的動態更新調整,可以使得無效的更新數據自動從讀取更新隊列中剔除,保證了讀取合并頁數據時節省最多的更新冗余數據量.

本文的主要內容如下所述.在第二部分,我們介紹了固態盤存儲系統中存在的非對齊數據存儲的原理以及寫更新操作所導致的額外讀操作原理.第三部分是主要介紹MFTL架構的基本思想.第四部分我們則采用了SSDsim[12]作為固態盤的實驗平臺進行實驗測試,測試具有MFTL的固態盤系統下的實驗結果,并與原FTL的固態盤的實驗結果進行比較,并分析實驗數據.最后我們在第五部分結合實驗結果給出結論.

2 背景知識

2.1 固態盤存儲系統中的非對齊寫數據

目前絕大多數固態盤都是以NAND FLASH[13]為存儲介質的,因此其很多工作原理都是基于NAND FLASH特性的.NAND型的閃存芯片支持三種基本操作:讀操作,寫操作和擦除操作.其中讀寫操作都是以一個閃存頁為最小操作單位,擦除操作則是以閃存塊為最小操作單位.當數據塊的大小大于閃存頁的大小時,則必須先在固態盤系統中被處理分布成頁對齊的規格的多個子數據塊,再逐個寫入到閃存陣列中.所以底層的閃存系統在處理負載的IO請求時,都會先將每一個IO請求按照邏輯地址對齊的規格分布成多個以頁為單位的子請求,并逐一掛接到相應的處理隊列上由閃存控制器處理.因此上述的這些工作原理就造成了固態盤內部在實際應用中存在非對齊的數據存儲.對于提供有緩存模塊的固態盤,傳統的緩存管理會在緩存寫數據時將所有寫請求的寫數據優先寫入到緩存中,當后續的寫數據持續寫入時,若當前緩存無空閑空間時則會從當前的緩存數據節點隊列中選擇合適的節點寫回至閃存.前面也提及,緩存系統可以大大提高固態盤的整體性能.然而,由于基于頁級規格的寫入數據可能存在非對齊的數據量規格,因此在寫入閃存時便會造成非對齊的寫入.

圖1 固態盤系統中非對齊緩存數據的存儲分布圖Fig.1 Memory allocation of non-aligned cache data in solid-state disk

圖1是緩存中非對齊的寫數據寫回閃存陣列時的例子.我們假定每個閃存頁的規格為2KB,并從真實負載中截取其中的一小段IO請求,圖中緩存模塊中8個緩存數據節點描述的便是取自于真實負載中數據在緩存中的存儲情況,我們假設在沒有任何優化策略和沒有發生更新的前提下,經過閃存轉換層FTL直接分布處理后寫入到固態盤內部的非對齊數據存儲情況.如圖中所示,當緩存中的數據節點依次寫回至固態盤后,若是寫回數據量小于2KB大小的數據,按頁對齊寫入后在固態盤內部的存儲情況會造成每一個閃存頁剩余可用存儲空間的浪費.由于非對齊寫入后造成的物理空間耗費,因此在非對齊寫入后勢必會造成固態盤內部大量可用存儲空間的浪費.

2.2 非對齊導致的額外讀操作

在固態盤系統中,非對齊數據還可能會帶來寫更新的問題,寫更新現象會導致一個寫請求產生額外附加的閃存讀操作.當緩存中的寫數據產生寫回請求需要寫回至閃存陣列中時,若該緩存數據節點為非對齊格式的寫數據時,則需要根據閃存轉換層來判斷是否需要執行寫更新.此時需要分為兩種情況進行處理:如果寫回的有效數據可以直接覆蓋原物理頁的數據則不需要執行寫更新,此時可以直接通過映射機制將原物理頁的數據置為無效,然后將寫回數據直接寫入至固態盤中.否則由于非對齊的更新數據無法直接寫入閃存,因此閃存的處理方式是首先從固態盤閃存陣列中讀取原物理頁的有效數據至內存中,與非對齊更新數據合并更新后再重新寫回閃存陣列中.因此這個過程是附加了一個讀操作,寫更新操作必須要等讀操作完成后,才能繼續將數據寫入至固態盤中.如圖2所示,我們假定每一個扇區大小為512Byte,閃存物理頁容量為2KB.圖示中當寫回的是該邏輯頁中第二個扇區數據時,由于固態盤中邏輯頁對應的原物理頁數據有第三個扇區的有效數據,因此必須先從固態盤對應的物理頁中讀取該有效數據,隨后合并更新為整頁后,再寫入固態盤.整個更新過程分為一次讀過程和一次寫過程.

圖2 固態盤非對齊寫更新的處理過程Fig.2 Processing of non-aligned write update operation on solid-state disk

3 MFTL系統設計

3.1 核心思想

本文提出的MFTL可以將固態盤緩存中來自不同邏輯數據頁中的非對齊寫數據通過合并后寫入至閃存中,由于這個合并寫入過程中,同一個物理閃存頁中的數據可能來自于多個不同的邏輯頁,因此需要重新設計地址映射關系.在設計過程中,我們基于頁級映射的地址映射機制進行設計,頁級地址映射具有最小的映射粒度,映射的基本單位是物理頁.傳統的頁級映射是一對一的映射關系,也就是每一個邏輯頁都可以基于這種映射關系一一對應到閃存中唯一的一個物理頁.由于具備最小的映射粒度,因此其尋址能力和性能也是最好的.

3.2 MFTL系統架構設計

圖3是MFTL的系統架構圖,在MFTL中,主要由映射模塊、緩存模塊、合并緩沖區及固態盤存儲的閃存陣列構成.其中,映射模塊分為頁級映射表和合并頁映射表,頁級映射表即是一對一的邏輯頁到物理頁的映射,合并頁映射表則是用來記錄已經合并寫入過的邏輯頁的更新子數據與對應閃存物理頁的映射關系集.緩存模塊則是所有緩存數據節點的存儲區域,合并緩沖區則是其中的一個頁級規格大小的緩存空間,用來將多個邏輯頁的非對齊數據合并后寫入至該區域,而后通過MFTL寫回至閃存陣列中.

圖3 MFTL系統架構圖Fig.3 System architecture diagram of MFTL

在MFTL中,對于系統上層發布至固態盤的所有IO請求,首先通過緩存模塊判斷是否命中.由于MFTL主要針對寫操作進行優化,因此當通過判斷模塊判定該請求項為寫操作類型時,因為在MFTL系統中緩存模塊是優先為寫請求服務,所有的寫請求都會先寫入到緩存區域中,而后根據緩存空閑空間的大小動態地執行緩存LRU隊尾數據節點的寫回操作.因此主要的寫操作是發生在緩存節點寫回固態盤的過程,由于在MFTL系統中,對于緩存模塊中的所有緩存節點數據,都按照對齊數據與非對齊數據進行分類劃分,因此相應會有兩個緩存數據區域,而對于合并寫過程中緩存替換的策略,緩存替換的時間設定在于當前非對齊緩存節點是否能滿足寫回的觸發條件,對于非對齊數據比例較大的緩存,那么此時會達到很好的合并效果,而反之對于非對齊數據比例較小的緩存則有較好的持久性.并且在緩存管理的過程中,非對齊數據有可能會隨著后續的IO請求操作而重新從非對齊數據區域置換至對齊數據區域,因此整個緩存的管理過程是比較動態化的.如圖4所示,MFTL首先也是通過映射模塊判斷是否需要執行合并寫操作:對于寫回節點是對齊的寫操作的情況,那么MFTL會進行相應的判斷:如果寫回的邏輯頁之前發生過合并寫操作,那么MFTL就需要重新刷新合并頁映射模塊中與該邏輯頁相關的映射信息;否則的話,MFTL會直接執行寫回操作.而如果是非對齊的寫操作,則需要進行合并寫,同時MFTL會判斷該寫回操作是否有發生寫更新,根據是否產生寫更新操作,MFTL會做出兩種處理方式:一種是無寫更新時,MFTL會直接從緩存區域中繼續篩選出另一個合適的合并節點,并與之前的寫回節點合并,同時更新合并頁映射模塊的相關信息.另一種是發生寫更新時,MFTL會先從頁級映射模塊中保存該邏輯頁的有效映射信息,然后再進行合并寫回,并同時更新合并頁映射模塊的相關信息.

圖4 寫操作處理流程圖Fig.4 Write operation flow chart

3.3 MFTL映射模塊

MFTL的映射模塊架構由頁級映射模塊與合并頁映射模塊組成.頁級映射模塊存放的是未發生合并寫操作的對齊數據與相應的映射關系集,合并頁映射模塊存放的則是已經發生過合并寫的非對齊數據與其相應的映射關系集.在MFTL系統中,當發生多個非對齊更新數據的合并操作時,會將合并頁緩存區按照sector(512字節)的粒度將多個非對齊更新數據存儲至合并頁緩存中,對于不足一個sector的非對齊更新數據則默認按照一個sector的規格進行存儲.對于緩存中的非對齊請求數據比較大的情況,MFTL會按照閃存頁大小規格的劃分粒度將較大的數據切割成多個子數據,這些子數據中對齊數據將會被緩存至對齊緩存區域中,而非對齊的子數據則被緩存至非對齊緩存區域.另外,當發生同一數據塊的多次非對齊更新時,合并頁映射模塊將會不斷添加新的相應索引表項,圖5 是合并頁表項的結構,每一個合并頁表項由多個邏輯頁號與對應的位圖索引,表示在該合并頁結構中占據的sector區域.

圖5 合并映射表頁表項Fig.5 Merge map table page entry

而對于非對齊更新數據合并策略的研究,文章[14]利用了緊湊合并的方式對多個非對齊更新數據進行合并操作,對存儲空間的利用率是最高的.而本文針對非對齊數據的合并策略是首先將多個非對齊數據按照sector(512 byte)的劃分粒度存放至同個閃存頁區域中,在這個存放的過程中,對于不足sector的數據則默認按照以sector的規格存放,因此多個非對齊數據存儲之間并不是完全緊湊的存放,如圖6所示,其中具有來自多個邏輯頁的多個非對齊更新數據,這種合并策略可以減少映射索引的復雜度.

3.4 針對寫更新的合并優化

MFTL系統針對固態盤中存在的寫更新現象做出了相應的優化.當發生寫更新時,由于對應的非對齊寫操作的合并寫入,MFTL并不會直接先從原物理頁中讀取數據,而是通過合并寫入后,通過保存原頁級映射表的信息,而直接忽略這部分額外讀操作過程.因此在MFTL中,對于非對齊的讀操作而言,又會有兩種情況出現:

圖6 非對齊更新數據合并方式Fig.6 Non-aligned update data merge mode

1.如果合并頁中的數據是發生過寫更新時,則MFTL會根據映射表中原物理頁獲取得到的源數據頁信息,隨后根據合并頁映射表的信息獲取到相應的讀取隊列,而后逐一從各個閃存頁中讀取數據.當發生一個寫更新合并頁的讀取操作時,MFTL首先會先根據頁級映射模塊從固態盤中讀取原數據頁,隨后根據合并頁映射表中獲取相應的合并頁數據,對這些數據進行合并后返回需要讀取的數據.

2.若合并頁中的數據并未發生寫更新時,那么讀取的過程會忽略原物理頁中的數據,即此刻頁級映射模塊中有關該邏輯數據頁的映射是失效的,此時MFTL會直接根據合并頁映射表從固態盤中讀取一個或多個相應的數據,在緩存中進行合并后返回讀操作所需的數據.

4 實驗評估和分析

4.1 實驗環境

為了驗證本文提出的MFTL優化方法的有效性,我們的實驗在SSDsim[12]系統上進行相關的實驗測試,并在SSDsim系統中構建本文所提出的MFTL架構.SSDsim是一個遵循ONFI協議的開源固態盤模擬系統,具有高準確性、模塊化、可配置的優點,并且同時也通過相關實驗驗證了其有效性.我們在其架構基礎上加入了合并頁更新映射模塊及相關的緩存管理模塊等功能,并對比原系統中FTL和本文所提MFTL在不同負載中性能上的表現.

本文實驗基于SSDsim模擬了一塊較新的SSD固態盤,型號為浦科特M6S Plus.該固態盤容量為256GB,配置有256MB的海力士H5TC2G63FFR.主控芯片采用Marvell 88SS9188的4通道主控,閃存顆粒采用東芝A15nm MLC顆粒,64Gbit Die,每顆內部封裝8個Die,內部4CE,組成32GB容量,4個顆粒組成128GB容量,4KB的Page,16MB的Block,2個分組plane.

4.2 實際負載數據集中的非對齊數據存儲

我們所采用的數據集是來自微軟劍橋研究院[15,16]提供的負載數據集,這些負載數據均采集于真實的服務器磁盤中,每一個trace請求的信息包括了:時間戳,服務器名,磁盤號,讀/寫類型,邏輯塊開始地址,操作數據大小,響應時間等.為了便于SSDsim進行模擬實驗,我們對其中的數據集進行了格式的轉換處理,只取每一條trace數據中的開始處理時間戳、邏輯塊開始地址、操作數據長度和操作類型這四種關鍵的參數.由于全部的數據集過大,因此我們只選取了其中4段數據集進行實驗.

根據存儲系統的局部性原理,同一個邏輯數據塊在短時間內很可能會被反復訪問操作,這就對緩存系統提出相當嚴峻的要求.而目前的緩存策略針對非對齊數據時,并沒有根據固態盤系統存儲的特殊性進行相應的優化.而大多數實際負載中的確存在相當部分的非對齊數據.Zhang[17]等人通過對幾個典型的隨機負載分析后發現有接近90%的邏輯塊會有多次非對齊更新的操作.D.Campello[18]等人的研究顯示,實際上超過60%的寫操作都會有非對齊的更新操作,并且其中更新的長度不超過10個字節大小.

為了進一步驗證實際負載中存在的非對齊寫數據對實際固態盤的影響,我們對上述微軟-劍橋研究院提供的4個企業級負載進行測試.由于我們的實驗主要針對非對齊寫操作進行優化,因此當一個IO請求被FTL分布成一個或多個寫子請求到固態盤中處理時,若該子請求的操作長度小于一個閃存頁的大小,則定義為一個非對齊寫操作.同時,由于部分非對齊寫請求在進行更新操作時會導致寫更新的現象,因此通常來說若非對齊寫操作發生寫更新時,則需要額外附加一個讀請求操作.我們測試的實驗平臺選取了SSDsim固態盤系統,在Ubuntu系統(內核版本為4.4.0)中進行實驗測試,并且同時模擬前面所提出的浦科特M6S Plus固態盤硬件配置.表1是4個負載數據集的相關測試信息,為了保證實驗數據的可靠性,我們對這4個數據集的所有寫數據進行統計,其中No.of program是代表每個數據集中固態盤的實際寫入次數,每一個program操作都是對固態盤內部的一個物理閃存頁進行一個寫入操作.No.of noalign即表示寫子請求中操作長度小于4KB的數量,也就是非對齊寫操作的數量.Read.of wirteupdate代表其中由于非對齊更新操作所帶來的額外讀操作數量.Avg.write size則代表寫請求操作的平均長度,單位是扇區512Byte.

表1 數據集信息Table 1 Information of data sets

我們同時也對數據集中的所有非對齊寫操作進行了一個存儲分布情況的統計.圖7是固態盤系統中非對齊數據的存儲情況分布圖,其中其他非對齊寫操作指的是所有非對齊寫操作中未發生寫更新的那部分寫操作,而非對齊寫更新操作代表發生過寫更新操作的那部分寫操作.經測試后發現在每個數據集中都存在部分非對齊寫操作,而這些非對齊寫操作中還包含了相當部分寫更新操作導致的額外讀操作.比如在圖7負載sm0和sm1中,分別存在占比接近13%和16.9%的寫更新操作.

圖7 數據集中非對齊寫數據的存儲分布圖Fig.7 Storage distribution of non-aligned write data in data set

從上述的實驗測試數據可以看出,在實際的數據集中都或多或少存在非對齊寫操作,這部分操作會由于固態盤的特殊存儲性質導致大量的可用存儲空間的浪費,同時其中寫更新操作導致的額外讀操作會延遲寫操作的處理過程.這也說明了MFTL針對這部分非對齊寫操作優化的必要性.

4.3 實驗結果分析

為了更好的評估MFTL的優化性能,我們通過實現SSDsim原來的FTL與整改后的MFTL同一實驗環境下進行測試對比.

4.3.1 MFTL在不同數據集下的寫性能測試

圖8(a)中給出的分別是測試的4個數據集在FTL和MFTL的SSDsim上得到的固態盤寫入次數.從圖中我們可以看出各個數據集在MFTL中測試的寫入次數結果都要比FTL低,平均優化的寫入次數為198298次.由于實驗所測試的數據集IO請求數量過于龐大,因此我們可以看出,在圖中最明顯的優化出現在hm1數據集中,此時MFTL比FTL降低了317039次寫入次數,主要的原因是在hm1中非對齊寫操作的比例較大,具有接近72.1%的非對齊寫操作,這些非對齊寫操作在MFTL中當緩存滿足合并頁寫回時會被處理,因此我們可以看出在非對齊寫操作比例較大的數據集中,當緩存中有足夠的非對齊數據時合并的效果會更好.從前面數據集的特征可以看出,在這兩個數據集這部分非對齊寫操作之中有超過65%的部分是寫更新操作,這部分操作會額外導致附加的讀操作請求.為了測試MFTL在優化寫更新操作方面的效果,我們需要對這4個數據集中的寫更新操作進行一個寫更新操作的測試.

圖8 兩種FTL在各個數據集下的寫性能比較Fig.8 Comparison of performance of two kinds of FTL in data sets

如圖8(b)所示,在原FTL系統中,每一個測試的數據集中都存在相當數量的寫更新導致的額外讀操作,而在MFTL的SSDsim系統中,這部分額外的讀操作全部都會被優化處理,直接省略了100%的寫更新額外讀操作,主要原因是當發生寫更新操作導致的額外讀操作請求時,MFTL將不會產生附加的讀請求操作,而是通過保存原頁級映射表中相關的映射信息,同時繼續執行合并寫回操作,并且更新合并頁映射表中新的非對齊子頁數據的映射關系,此時整個邏輯數據頁的有效數據將會被劃分成主要的兩個部分,一部分是需要通過原頁級映射表獲取的數據,另一部分則是要通過合并頁映射表獲取的非對齊更新數據.因此通過這種優化策略,MFTL可以省略所有的寫更新額外讀操作,由于在固態盤中,寫更新操作需要等對應的額外讀操作完成后才能繼續執行寫操作,因此MFTL針對這種額外讀操作的優化可以直接提高固態盤處理寫操作的整體反應時間.因此在后續的實驗中我們也對寫操作的整體反應時間進行一個測試,來驗證這個優化過程.

4.3.2 不同數據集規模下MFTL的讀寫性能測試

為了獲取可信度更高的實驗數據結果,我們在SSDsim系統上測試在同一個數據集中不同操作規模的數據集對非對齊寫操作的影響.由于文章篇幅所限,因此我們只選取3個數據集進行一個分段測試,并且將同一個數據集劃分成具有不同規模大小的多個數據集進行一個分段測試.比如數據集hm1中總共約有1200萬條IO請求,我們將其按照IO請求數量劃分為8個數據集,其中每一段數據集都是屬于hm1的數據子集,且從第一個數據集開始IO請求數量為150萬,第二個為300萬,第三個為450萬,以此類推.為了驗證在非對齊更新比重較大的數據集中MFTL對寫性能的優化,我們也對寫請求處理的平均反應時間進行一個分段測試,我們定義每一個寫請求被處理的時間為Twi(其中i表示第i個寫請求),則特定負載下固態盤寫請求處理的平均反應時間為

圖9(a)給出的是不同數據規模數據集中兩種FTL固態盤系統寫入次數的情況,我們可以看出基本在具有非對齊更新數據的數據集中,相比于FLT,MFTL可以有效減少固態盤的實際寫入次數,從而充分延長了固態盤的使用壽命.原因在于在這些數據集中,對于一些非對齊更新數據,MFTL可以通過合并寫回時有效減少寫入次數.

圖9(b) 是關于寫請求處理的平均反應時間,我們可以看出在持續寫入數據量后,總體上MFTL的寫請求處理時間均低于FTL.原因是MFTL系統中針對非對齊寫操作中的寫更新操作做了優化,對于寫更新操作所帶來的額外讀操作請求,MFTL通過映射模塊的設計直接優化了這部分額外讀操作;另外,對于非對齊數據更新比重較大的場景中,MFTL系統通過合并這些非對齊數據,可以減少固態盤底層系統對每個非對齊寫操作的處理,從而降低了整體的寫請求處理時間.

圖9 兩種FTL在不同規模數據集下的寫性能測試Fig.9 Performance test of two kinds of FTL in different scale data set

圖10 兩種FTL在不同數據集下的讀性能測試Fig.10 Two FTL read performance tests under different data sets

實驗結果如圖10所示.我們可以看到,整體上相比于FTL,MFTL系統會有額外的讀開銷損耗,導致這部分額外讀開銷的原因在于有部分的邏輯塊數據曾被多次合并寫入,因此當發生這部分邏輯塊的讀取操作時,MFTL需要從頁級映射表和合并頁映射表中分別讀取該邏輯塊的多個合并頁數據,通過重組合并后得到相應的數據.因此在發生合并頁中的邏輯塊數據讀取操作時,會額外產生多個讀操作請求,因此MFTL系統中會有這部分額外的讀取開銷.從實驗結果我們可以看到,相比于寫性能的提升,這部分額外的讀性能損耗是在可接受范圍內的.

5 結 論

本文提出了一種MFTL的固態盤閃存轉換層方案來對非對齊寫操作進行合并優化,并針對固態盤中由非對齊寫操作引發的寫更新額外讀操作進行了優化,MFTL可以通過直接省略額外讀操作,提高了固態盤的寫性能,合并優化功能模塊則充分減少了固態盤的寫入次數,延長了固態盤的使用壽命.

通過實驗結果也證明了MFTL相對FTL在固態盤寫入次數上可以減少最多28.6%的非對齊寫操作,寫請求操作平均反應時間最多減少了24.57%,并可以充分利用映射機制直接避免非對齊寫更新操作所導致的額外讀操作開銷.實驗表明,MFTL可以適合不同的數據集,與FTL系統相比,對于具有非對齊更新數據的數據集中,MFTL具有更好的寫性能,通過減少固態盤寫入次數,間接擴大了固態盤的可用存儲容量,延長了固態盤的使用壽命.

[1] Deng Y,Zhou J.Architectures and optimization methods of flash memory based storage systems[J].Journal of Systems Architecture,2011,57(2):214-227.

[2] Lu You-you,Shu Ji-wu.Survey on flash-based storage systems[J].Journal of Computer Research & Development,2013,50(1):49-59.

[3] Deng Y.What is the future of disk drives,death or rebirth?[J].Acm Computing Surveys,2011,43(3):1-27.

[4] Deng Y,Wang F,Helian N.EED:energy efficient disk drive architecture[J].Information Sciences,2008,178(22):4403-4417.

[5] Shin J Y,Xia Z L,Xu N Y,et al.FTL design exploration in reconfigurable high-performance SSD for server applications[C].International Conference on Supercomputing,Yorktown Heights,Ny,Usa,2009:338-349.

[6] Shin J Y,Xia Z L,Xu N Y,et al.FTL design exploration in reconfigurable high-performance SSD for server applications[C].International Conference on Supercomputing,Yorktown Heights,Ny,Usa,June,2009:338-349.

[7] Chung T S,Park D J,Park S,et al.A survey of flash translation layer[J].Journal of Systems Architecture,2009,55(5-6):332-343.

[8] He D,Wang F,Feng D,et al.2QW-clock:an efficient SSD buffer management algorithm[C].IEEE,International Conference on High Performance Computing,IEEE,2015:47-53.

[9] Megiddo N,Modha D S.ARC:a self-tuning,low overhead replacement cache[C].Usenix Conference on File and Storage Technologies,USENIX Association,2003.

[10] Hu Y,Jiang H,Feng D,et al.PASS:a proactive and adaptive SSD buffer scheme for data-intensive workloads[C].IEEE International Conference on Networking,Architecture and Storage,IEEE,2015:54-63.

[11] Open NAND flash interface specificarion[EB/OL].http://onfi.org/wp-content/uploads/,2017.

[12] Hu Y,Jiang H,Feng D,et al.Performance impact and interplay of SSD parallelism through advanced commands,allocation strategy and data granularity[C].International Conference on Supercomputing,ACM,2011:96-107.

[13] Kang J U,Jo H,Kim J S,et al.A superblock-based flash translation layer for NAND flash memory[C].ACM & IEEE International Conference on Embedded Software,EMSOFT,Seoul,Korea,2006:161-170.

[14] Lu You-you,Shu J,Zheng W.Extending the lifetime of flash-based storage through reducing write amplification from file systems[C].Usenix Conference on File and Storage Technologies USENIX Association,2013:257-270.

[15] Chan J C W,Ding Q,Lee P P C,et al.Parity logging with reserved space:towards efficient updates and recovery in erasure-coded clustered storage[C].Usenix Conference on File and Storage Technologies,2014:163-176.

[16] Narayanan D,Donnelly A,Rowstron A.Write OFF-loading:practical power management for enterprise storage[C].Usenix Conference on File and Storage Technologies,2008:256-267.

[17] Zhang X,Li J,Wang H,et al.Reducing solid-state storage device write stress through opportunistic in-place delta compression[C].Usenix Conference on File and Storage Technologies USENIX Association,2016:111-124.

[18] Campello D,Lopez H,Koller R,et al.Non-blocking writes to files[C].Uesnix Conference on File and Storage Technologies,USENIX Association,2015:151-165.

附中文參考文獻:

[2] 陸游游,舒繼武.閃存存儲系統綜述[J].計算機研究與發展,2013,50(1):49-59.

猜你喜歡
優化實驗系統
記一次有趣的實驗
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
超限高層建筑結構設計與優化思考
房地產導刊(2022年5期)2022-06-01 06:20:14
民用建筑防煙排煙設計優化探討
關于優化消防安全告知承諾的一些思考
一道優化題的幾何解法
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
做個怪怪長實驗
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
主站蜘蛛池模板: 日韩福利视频导航| 免费无码又爽又黄又刺激网站 | 白丝美女办公室高潮喷水视频 | 日韩黄色大片免费看| 国产精品视频免费网站| 国内精自视频品线一二区| 噜噜噜综合亚洲| 久久这里只有精品2| 成人韩免费网站| 国产成人精品男人的天堂下载| 99久久人妻精品免费二区| 红杏AV在线无码| 天堂av综合网| 亚洲熟女偷拍| 91精品人妻互换| 国产剧情一区二区| 国产无码网站在线观看| 国产免费a级片| 日韩欧美高清视频| 国产精品一区二区不卡的视频| 免费国产好深啊好涨好硬视频| 国产自无码视频在线观看| 午夜综合网| www.91在线播放| 91亚瑟视频| 日本AⅤ精品一区二区三区日| 国产丝袜第一页| 日韩在线播放中文字幕| 午夜精品久久久久久久2023| 国产欧美视频在线观看| 国产无套粉嫩白浆| 一级毛片在线播放| 一级毛片中文字幕| 91精品啪在线观看国产91| 日韩福利在线观看| 日本精品中文字幕在线不卡| 一区二区欧美日韩高清免费| 国产无码高清视频不卡| 成人免费黄色小视频| 成人在线天堂| 无码电影在线观看| 一区二区三区四区在线| 91网址在线播放| 伊人久久久久久久| 久草青青在线视频| 精品少妇人妻av无码久久| 色悠久久久久久久综合网伊人| 91系列在线观看| 巨熟乳波霸若妻中文观看免费| 男女精品视频| 91亚洲精选| 国产无码网站在线观看| 国产精品香蕉在线| 国产成人综合在线视频| 久久永久精品免费视频| 91精品亚洲| 99视频全部免费| 日本精品一在线观看视频| www成人国产在线观看网站| 欧美日韩高清在线| 亚洲无码A视频在线| 中文无码毛片又爽又刺激| 精品福利网| 亚洲人网站| 中文无码精品a∨在线观看| 国产91久久久久久| 美女被狂躁www在线观看| 午夜激情婷婷| 波多野结衣中文字幕一区二区| 全部免费特黄特色大片视频| 伊人国产无码高清视频| 国产后式a一视频| www亚洲天堂| 欧美成人午夜在线全部免费| 国产精品无码AⅤ在线观看播放| 欧美天堂久久| 免费aa毛片| 国产迷奸在线看| 国产成人高清精品免费5388| 亚洲一区色| 久久黄色视频影| 久久精品丝袜|