亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        主機(jī)和設(shè)備協(xié)作方式提升固態(tài)硬盤(pán)隨機(jī)讀取性能

        2020-10-15 11:01:00李明江
        關(guān)鍵詞:存儲(chǔ)設(shè)備固態(tài)命令

        李明江 陳 仁

        1(黔南民族師范學(xué)院計(jì)算機(jī)與信息學(xué)院人工智能與大數(shù)據(jù)應(yīng)用技術(shù)研究所 貴州 都勻 558000) 2(中科院上海技術(shù)物理研究所中國(guó)科學(xué)院紅外探測(cè)與成像技術(shù)重點(diǎn)實(shí)驗(yàn)室 上海 200083)

        0 引 言

        近年來(lái),由于基于閃存(主要是NAND Flash)的固態(tài)存儲(chǔ)設(shè)備具有速度快、延時(shí)低、功耗低、抗震、體積小[1]等優(yōu)點(diǎn),無(wú)論是在消費(fèi)領(lǐng)域,企業(yè)數(shù)據(jù)中心,或是在移動(dòng)領(lǐng)域(如eMMC、UFS等)都得到了廣泛的使用。在存儲(chǔ)設(shè)備內(nèi)部,需要維護(hù)一張邏輯地址到閃存物理地址的映射表,該表大小約為存儲(chǔ)容量的千分之一。過(guò)去,固態(tài)存儲(chǔ)設(shè)備都配備相應(yīng)大小的DRAM來(lái)存放該映射表,設(shè)備在處理主機(jī)讀取命令時(shí),通過(guò)訪問(wèn)DRAM快速獲取該數(shù)據(jù)塊在閃存的物理位置,從而能夠快速獲取用戶數(shù)據(jù)。但在一些固態(tài)存儲(chǔ)設(shè)備(如消費(fèi)級(jí)固態(tài)硬盤(pán)、移動(dòng)存儲(chǔ)設(shè)備)中,出于成本和功耗考慮,沒(méi)有配備DRAM存儲(chǔ)映射表,有限的SRAM限制了無(wú)DRAM設(shè)備的隨機(jī)讀取性能,因?yàn)樵O(shè)備首先需要訪問(wèn)閃存以獲取映射關(guān)系,然后再根據(jù)該映射關(guān)系從閃存中讀取用戶數(shù)據(jù)。本文注意到現(xiàn)在的主機(jī)端DRAM資源充足,因此提出把設(shè)備端的映射表存放到主機(jī)端,采用主機(jī)和設(shè)備協(xié)作的方式,實(shí)現(xiàn)一種快速隨機(jī)讀取算法,來(lái)提升主機(jī)隨機(jī)讀取設(shè)備的性能。

        1 FTL

        SSD的存儲(chǔ)介質(zhì)一般是閃存,閃存有其自身的一些特點(diǎn),如寫(xiě)前擦除、擦除/寫(xiě)入次數(shù)有限、讀取次數(shù)有限等。寫(xiě)前擦除特性不允許數(shù)據(jù)覆蓋更新,當(dāng)一個(gè)邏輯頁(yè)面被重寫(xiě)時(shí),設(shè)備會(huì)分配一個(gè)新的可用閃存頁(yè),將新的數(shù)據(jù)寫(xiě)入其中,并通過(guò)FTL(Flash Translation Layer)軟件層來(lái)維護(hù)邏輯頁(yè)到閃存頁(yè)的映射關(guān)系。管理邏輯地址到物理地址(Logical address To Physical address, L2P)的映射是FTL最基本的功能。除此之外,F(xiàn)TL還針對(duì)閃存特性,實(shí)現(xiàn)了其他算法,如垃圾回收(Garbage Collection)、磨損均衡(Wear Leveling)等算法。

        圖1 FTL在固態(tài)存儲(chǔ)設(shè)備中的位置和作用

        在存儲(chǔ)設(shè)備內(nèi)部,F(xiàn)TL起著承上啟下的作用,其處理來(lái)自主機(jī)的讀寫(xiě)請(qǐng)求,然后把這些讀寫(xiě)請(qǐng)求轉(zhuǎn)換成對(duì)閃存的訪問(wèn)請(qǐng)求。另外FTL實(shí)現(xiàn)了一些和閃存特性相關(guān)的算法,諸如垃圾回收、磨損均衡、讀干擾處理、數(shù)據(jù)保持處理等算法,來(lái)克服閃存的一些特性或者說(shuō)是缺點(diǎn)。FTL算法的好壞直接影響著固態(tài)存儲(chǔ)設(shè)備的性能、可靠性等關(guān)鍵指標(biāo)。

        FTL最原始和最基本的作用是管理邏輯地址(Logical Block Address,LBA)到物理地址(Physical Page Address,PPA)的映射,映射方案有塊映射(Block Mapping)、頁(yè)映射(Page Mapping)和混合映射(Hybrid Mapping)。塊映射的優(yōu)點(diǎn)是映射表小,占用存儲(chǔ)設(shè)備存儲(chǔ)資源(RAM)少,但其最大缺點(diǎn)是隨機(jī)寫(xiě)入性能差;頁(yè)映射的優(yōu)點(diǎn)是性能好,缺點(diǎn)是映射表龐大,需占用很多RAM(一般為存儲(chǔ)容量的千分之一,即1 TB的存儲(chǔ)設(shè)備需要1 GB的內(nèi)存來(lái)存放映射表)?;旌嫌成鋭t是介于兩者之間的一種映射算法,典型的混合映射算法有BAST[2]、FAST[3]、LAST[4]、SuperBlock FTL[5]等。由于頁(yè)映射性能好的優(yōu)點(diǎn),現(xiàn)在業(yè)界主流固態(tài)硬盤(pán)的映射算法采用頁(yè)映射方案。

        2 DFTL

        基于頁(yè)映射的FTL具有好的讀寫(xiě)性能,但是其映射表龐大,對(duì)性能要求高的固態(tài)硬盤(pán),一般都配有大容量的DRAM來(lái)存放映射表。對(duì)讀寫(xiě)I/O來(lái)說(shuō),由于整個(gè)映射表都存儲(chǔ)在DRAM中,固件可以快速地獲取讀寫(xiě)所需的映射關(guān)系,讀取或者更新映射關(guān)系都很迅速(只需訪問(wèn)DRAM),因此其讀寫(xiě)性能很好。

        然而在一些對(duì)成本或功耗很敏感的固態(tài)硬盤(pán)中,存儲(chǔ)設(shè)備沒(méi)有DRAM,只配有少量的SRAM。如何在無(wú)DRAM的固態(tài)硬盤(pán)中實(shí)現(xiàn)頁(yè)映射的FTL,國(guó)內(nèi)外有很多研究。

        Gupta等[6]注意到主機(jī)訪問(wèn)設(shè)備的時(shí)間局部性(temporal locality),提出了DFTL。其基本思想是把整個(gè)映射表按頁(yè)管理,全局翻譯目錄(Global Translation Directory, GTD)用以存儲(chǔ)這些映射頁(yè)在閃存中的物理地址,而映射頁(yè)按需加載到緩存中(Cached Mapping Table, CMT)。對(duì)讀寫(xiě)I/O來(lái)說(shuō),它首先在CMT中查找映射關(guān)系,如果命中緩存,則直接根據(jù)該映射關(guān)系讀取閃存獲得用戶數(shù)據(jù);如果沒(méi)有命中緩存,則查找GTD,找到所需映射頁(yè)的物理地址,然后從閃存中讀取映射頁(yè)到緩存中,最后固件根據(jù)該映射關(guān)系獲得用戶數(shù)據(jù)。

        DFTL的順序讀取性能很好,因?yàn)橐粋€(gè)映射頁(yè)加載到緩存中后,對(duì)接下來(lái)的很多筆讀取,都能發(fā)生緩存命中,無(wú)須訪問(wèn)閃存便能獲得該邏輯地址對(duì)應(yīng)的物理地址。但對(duì)隨機(jī)讀取來(lái)說(shuō),因?yàn)轫?yè)緩存大小有限,對(duì)每筆讀取來(lái)說(shuō),發(fā)生映射頁(yè)緩存的概率很小,因此很多時(shí)候它都需要訪問(wèn)兩次閃存才能最終獲得用戶數(shù)據(jù)。舉例來(lái)說(shuō),一個(gè)128 GB的固態(tài)硬盤(pán),整個(gè)映射表大小為128 MB,由于SRAM大小受限,映射頁(yè)緩存大小可能只有512 KB,因此發(fā)生頁(yè)映射緩存命中的概率不到1%,意味著99%的讀命令需要訪問(wèn)兩次閃存才能獲得數(shù)據(jù)。

        為在有限的頁(yè)緩存條件下提高緩存的命中率,在DFTL的基礎(chǔ)上,Wei等[7]提出WAFTL,其思想是根據(jù)主機(jī)的讀寫(xiě)負(fù)荷,對(duì)順序?qū)懭氲臄?shù)據(jù),采用塊映射,而對(duì)隨機(jī)寫(xiě)入的數(shù)據(jù),采用頁(yè)映射。這種方式能減小整個(gè)映射表大小,對(duì)同樣大小的映射頁(yè)緩存,緩存命中率會(huì)有一定的提升。

        DFTL利用了主機(jī)訪問(wèn)設(shè)備的時(shí)間局部性,Xu等[8]同時(shí)注意到主機(jī)訪問(wèn)設(shè)備的空間局部性,提出了CAST FTL,其基本思想是壓縮順序?qū)懭氲臄?shù)據(jù)的映射表,達(dá)到減小映射表大小的目的,從而提升頁(yè)映射緩存命中率。

        WAFTL和CAST對(duì)順序?qū)懭氲臄?shù)據(jù),能提升讀取速度,但是如果數(shù)據(jù)本來(lái)就是隨機(jī)寫(xiě)入的,則隨機(jī)性能并不能得到提升。

        無(wú)論是DFTL還是CAST和WAFTL,其讀取性能,尤其是隨機(jī)讀取性能,都不如帶DRAM 的固態(tài)硬盤(pán),因?yàn)閹RAM的固態(tài)硬盤(pán)只需訪問(wèn)一次閃存便能獲得用戶數(shù)據(jù),而不帶DRAM的固態(tài)硬盤(pán)在大多數(shù)時(shí)候都是需要訪問(wèn)兩次閃存的(第一次訪問(wèn)閃存獲得映射關(guān)系,第二次讀取閃存獲得用戶數(shù)據(jù))。

        3 新的固態(tài)存儲(chǔ)架構(gòu)

        自帶DRAM的存儲(chǔ)設(shè)備的性能好,但是成本和功耗高;不帶DRAM的存儲(chǔ)設(shè)備的成本和功耗低,但是性能不足。無(wú)論DFTL、WAFTL或CAST FTL,都沒(méi)有從根本上解決無(wú)DRAM固態(tài)硬盤(pán)隨機(jī)讀取性能差的問(wèn)題。

        本文注意到當(dāng)前主流的主機(jī)設(shè)備DRAM豐富,無(wú)論是臺(tái)式機(jī),還是移動(dòng)設(shè)備,內(nèi)存資源充足,因此提出了一種新的映射表存儲(chǔ)架構(gòu),如圖2所示。利用主機(jī)端的內(nèi)存資源,把映射關(guān)系存放到主機(jī)端,通過(guò)主機(jī)和設(shè)備協(xié)作的方式來(lái)提升不帶DRAM的存儲(chǔ)設(shè)備的隨機(jī)讀取性能,解決了存儲(chǔ)設(shè)備性能和成本、功耗之間的矛盾。

        圖2 映射表存儲(chǔ)在主機(jī)端的存儲(chǔ)架構(gòu)

        在這個(gè)架構(gòu)的基礎(chǔ)上,本文設(shè)計(jì)實(shí)現(xiàn)了一種改善隨機(jī)存儲(chǔ)性能的算法,稱為快速隨機(jī)讀取算法(Fast Random Read Algorithm,F(xiàn)RRA)。該算法只需更改主機(jī)端驅(qū)動(dòng)和設(shè)備端固件算法,無(wú)須修改硬件,只需犧牲主機(jī)端部分內(nèi)存來(lái)?yè)Q取快速的隨機(jī)讀取性能。

        4 快速隨機(jī)讀取算法(FRRA)設(shè)計(jì)

        4.1 相關(guān)定義

        映射條目(Mapping Entry,ME):每個(gè)LBA在閃存中的物理地址,一般為4字節(jié)大小。

        映射頁(yè)(Mapping Page,MP):若干個(gè)連續(xù)LBA在閃存中的物理地址集合,如連續(xù)1 024個(gè)LBA的映射關(guān)系集合,則映射頁(yè)大小為4 KB。它是設(shè)備管理映射數(shù)據(jù)的基本單位。本文假設(shè)映射頁(yè)大小為4 KB。

        全局映射表(Global Mapping Table,GMT):整個(gè)存儲(chǔ)設(shè)備邏輯空間的映射集合。如一個(gè)存儲(chǔ)設(shè)備容量為128 GB,一共128 GB/4 KB=32 M個(gè)LBA,每個(gè)LBA的物理地址為4字節(jié),則全局映射表大小為32 M×4 B=128 MB。

        主機(jī)端映射緩存空間(Host Mapping Cache,H_MC):主機(jī)端分配的內(nèi)存空間,專門(mén)用以緩存映射頁(yè)。其大小取決于存儲(chǔ)設(shè)備大小和主機(jī)端可用的內(nèi)存空間。它可以存儲(chǔ)整個(gè)全局映射表,也可以緩存部分映射表。

        主機(jī)端緩存映射頁(yè)(Host Caching Mapping Page,H_CMP):緩存在主機(jī)端的映射頁(yè)。

        主機(jī)端緩存映射位圖(Host Caching Mapping Bitmap,H_CMB):主機(jī)端的一個(gè)位圖,每個(gè)LBA對(duì)應(yīng)一個(gè)比特,0表示該LBA的映射關(guān)系不在主機(jī)端映射緩存空間,或者在映射緩存空間的物理地址不是最新的;1表示該LBA的映射關(guān)系在主機(jī)端映射緩存空間并是最新的。比如存儲(chǔ)設(shè)備容量為128 GB,一共128 GB/4 KB=32 M個(gè)LBA,每個(gè)LBA占用1個(gè)比特,主機(jī)端總共需要32 MB/8=4 MB空間存儲(chǔ)該位圖。

        主機(jī)端緩存映射頁(yè)有效數(shù)據(jù)表(Host Caching Mapping Page Valid Count,H_PVC):主機(jī)端對(duì)每個(gè)緩存映射頁(yè),都記錄了該映射頁(yè)的有效映射條目的個(gè)數(shù)。當(dāng)某個(gè)映射頁(yè)加載到主機(jī)端映射緩存空間時(shí),有效映射條目為1 024個(gè),如果其中某個(gè)LBA之后被寫(xiě)過(guò),則有效條目減1。當(dāng)某個(gè)緩存映射頁(yè)的有效條目數(shù)減少到一定閾值的時(shí)候,主機(jī)應(yīng)該從設(shè)備重新加載該緩存映射頁(yè)。

        設(shè)備端緩存映射位圖(Device Caching Mapping Bitmap,D_CMB):設(shè)備端的一個(gè)位圖,每個(gè)映射頁(yè)對(duì)應(yīng)一個(gè)比特,0表示該映射頁(yè)中至少有一個(gè)LBA對(duì)應(yīng)的物理地址是過(guò)時(shí)的,或者是無(wú)效的;1表示該映射頁(yè)中所有的LBA對(duì)應(yīng)的物理地址都是最新的。

        2個(gè)定制的主機(jī)命令如下:

        1)讀映射表命令(Read Mapping Table Command,RMTC)。主機(jī)通過(guò)RMTC加載映射表到主機(jī)映射緩存。RMTC中有兩個(gè)參數(shù):起始LBA和結(jié)束LBA,LBA為1 024的整數(shù)倍。

        2)快速隨機(jī)讀命令(Fast Random Read Command,FRRC)。主機(jī)通過(guò)FRRC命令讀取映射關(guān)系在主機(jī)映射緩存中的4 KB數(shù)據(jù)。FRRC命令中不僅帶有LBA的信息,同時(shí)還帶有該LBA對(duì)應(yīng)的物理地址信息。

        4.2 初始化

        設(shè)備上電時(shí),主機(jī)通過(guò)RMTC命令加載全部或者部分映射頁(yè)到主機(jī)緩存空間。圖3為以128 GB存儲(chǔ)設(shè)備為例,主機(jī)加載全部128 MB映射關(guān)系到主機(jī)緩存空間。

        圖3 用RMTC命令加載128 MB映射表的例子

        主機(jī)端:當(dāng)128 MB映射數(shù)據(jù)加載到映射緩存空間后,初始化H_CMB為全1,即所有LBA的映射關(guān)系都是有效的,同時(shí)還需初始化所有H_PVC為1 024。

        設(shè)備端:設(shè)備端接收到RMTC命令后,把所需的映射關(guān)系從閃存中讀出,然后返回給主機(jī),并初始化D_CMB為全1,即所有的映射頁(yè)都是有效的。

        4.3 主機(jī)讀取操作

        當(dāng)主機(jī)需要讀取一個(gè)LBA(4 KB)數(shù)據(jù)時(shí),主機(jī)查詢H_CMB,如果對(duì)應(yīng)的比特為1,則向設(shè)備發(fā)送FRRC,即快速隨機(jī)讀命令;否則只發(fā)送普通的4 KB讀命令,如圖4所示。

        圖4 主機(jī)根據(jù)H_CMB發(fā)送不同的讀取命令

        設(shè)備接收到的如果是普通的4 KB讀命令,則先做地址翻譯,即查詢?cè)揕BA對(duì)應(yīng)的物理地址,根據(jù)該物理地址從閃存中讀取數(shù)據(jù),然后返回給主機(jī)。由于設(shè)備內(nèi)部緩存空間有限,所以該LBA對(duì)應(yīng)的映射頁(yè)很大概率不在緩存中,所以對(duì)每次讀,大概率需要先從閃存中加載映射頁(yè),然后再根據(jù)映射頁(yè)得到的物理地址,從閃存中獲得主機(jī)所需的用戶數(shù)據(jù),即一次普通的4 KB隨機(jī)讀,需要訪問(wèn)兩次閃存。

        如果設(shè)備接收到的是FRRC,即快速隨機(jī)讀命令,其不僅帶有LBA信息,還帶有該LBA對(duì)應(yīng)的物理地址,相當(dāng)于主機(jī)已經(jīng)幫設(shè)備做好LBA的翻譯工作,則設(shè)備可以根據(jù)該物理地址直接從閃存中讀取數(shù)據(jù),大大改善了隨機(jī)讀的速度。

        但由于設(shè)備內(nèi)部存在垃圾回收算法,用戶數(shù)據(jù)會(huì)從一個(gè)物理閃存塊搬到另外一個(gè)物理閃存塊,因此設(shè)備接收到FRRC之前,還需要檢驗(yàn)該物理地址是否有效。設(shè)備通過(guò)查詢D_CMB,如果該LBA所在的映射頁(yè)對(duì)應(yīng)的比特為0,表明該映射頁(yè)中至少有一個(gè)LBA被內(nèi)部垃圾回收搬走,由于不確定是否為該LBA,因此設(shè)備簡(jiǎn)單地認(rèn)為FRRC中的物理地址是無(wú)效的,所以設(shè)備需要自己重新做LBA地址翻譯,行為和處理普通讀命令一樣;如果查詢?cè)揕BA所在的映射頁(yè)對(duì)應(yīng)的比特為1,則表明FRRC的物理地址是有效的,設(shè)備可以直接拿它來(lái)獲取用戶數(shù)據(jù)。圖5為設(shè)備端處理命令的流程圖。

        圖5 設(shè)備端處理讀命令

        4.4 主機(jī)寫(xiě)入操作

        主機(jī)寫(xiě)入數(shù)據(jù)時(shí),設(shè)備會(huì)把這些數(shù)據(jù)寫(xiě)到空閑的閃存空間。如果這些數(shù)據(jù)的映射關(guān)系緩存在主機(jī)內(nèi)存,由于設(shè)備把這些數(shù)據(jù)寫(xiě)到新的地方,主機(jī)緩存的映射關(guān)系變成無(wú)效的(或者過(guò)時(shí)的),主機(jī)清除H_CMB相應(yīng)的比特。主機(jī)在讀取的時(shí)候,不再使用該映射關(guān)系來(lái)發(fā)送FRRC。同時(shí),如果某個(gè)LBA被主機(jī)寫(xiě)入,該LBA對(duì)應(yīng)的映射頁(yè)有效數(shù)據(jù)H_PVC應(yīng)該減1。當(dāng)某個(gè)映射頁(yè)的H_PVC減到一定閾值,即該緩存映射頁(yè)絕大多數(shù)映射關(guān)系都是無(wú)效時(shí),主機(jī)在空閑的時(shí)候,應(yīng)該再次從設(shè)備加載最新的映射關(guān)系。主機(jī)端處理寫(xiě)操作如圖6所示。

        圖6 主機(jī)端處理寫(xiě)操作

        4.5 垃圾回收寫(xiě)入操作

        基于閃存的存儲(chǔ)設(shè)備,內(nèi)部需要垃圾回收來(lái)釋放閃存空間。垃圾回收會(huì)把用戶有效數(shù)據(jù)從一個(gè)物理塊重寫(xiě)到另外一個(gè)物理塊,用戶數(shù)據(jù)映射關(guān)系會(huì)在主機(jī)沒(méi)有感知下發(fā)生變化,即緩存在主機(jī)端的映射頁(yè)除了因?yàn)橹鳈C(jī)寫(xiě)之外,垃圾回收也會(huì)導(dǎo)致主機(jī)端緩存的映射關(guān)系無(wú)效。

        垃圾回收重寫(xiě)應(yīng)該更新設(shè)備端的D_CMB,具體來(lái)說(shuō),某個(gè)LBA被垃圾回收重寫(xiě),如果其對(duì)應(yīng)的映射頁(yè)緩存在主機(jī)端,則把該映射頁(yè)對(duì)應(yīng)的D_CMB比特清零,該過(guò)程如圖7所示。設(shè)備在接收到FRRC命令時(shí),根據(jù)LBA對(duì)應(yīng)的映射頁(yè)查詢D_CMB。如果對(duì)應(yīng)的比特為0,則FRRC中的物理地址不可信,需要重寫(xiě)做LBA地址翻譯;如果對(duì)應(yīng)的比特為1,則FRRC中的物理地址是有效的,設(shè)備無(wú)需LBA地址翻譯。

        圖7 垃圾回收操作需清除D_CMB相應(yīng)比特

        4.6 重新加載映射頁(yè)到主機(jī)緩存

        隨著主機(jī)端數(shù)據(jù)的寫(xiě)入,緩存的映射頁(yè)很多映射關(guān)系會(huì)無(wú)效,主機(jī)在寫(xiě)入時(shí)會(huì)登記哪些映射頁(yè)需要重寫(xiě)加載以提升FRRC命令占的比例。當(dāng)主機(jī)空閑時(shí),主機(jī)可以發(fā)送RMTC命令給設(shè)備,讓設(shè)備重新上傳最新的映射頁(yè)。

        另外,垃圾回收也會(huì)導(dǎo)致緩沖頁(yè)無(wú)效,它也會(huì)在做垃圾回收的時(shí)候登記哪些映射頁(yè)需要重新加載。主機(jī)在空閑的時(shí)候,可以查詢?cè)O(shè)備狀態(tài),獲取這些登記信息,然后發(fā)送相應(yīng)的RMTC命令重新加載映射頁(yè)到主機(jī)緩存。加載新的映射頁(yè)到主機(jī)緩存,需要更新相應(yīng)的H_CMB、D_CMB和H_PVC。

        5 實(shí)驗(yàn)結(jié)果

        本文使用FlashSIM[9]仿真軟件來(lái)測(cè)試FRRA算法性能。FlashSIM是一款開(kāi)源的SSD模擬器,也是一款事件驅(qū)動(dòng)的、模塊化的基于C++的模擬器,內(nèi)置了多種FTL策略,能夠提供響應(yīng)時(shí)間、能耗的模擬和許多額外的統(tǒng)計(jì)信息。本文在模擬器上實(shí)現(xiàn)了FRRA算法,同時(shí)通過(guò)修改主機(jī)端驅(qū)動(dòng)程序來(lái)支持FRRA。

        設(shè)備端:本文使用FlashSIM模擬128 GB存儲(chǔ)設(shè)備,該存儲(chǔ)設(shè)備由4個(gè)32 GB的Flash組成,每個(gè)通道上掛一個(gè)Die。表1為存儲(chǔ)設(shè)備的配置信息。

        表1 存儲(chǔ)設(shè)備配置

        本文使用DFTL算法,在此基礎(chǔ)上增加了對(duì)RMTC和FRRC兩個(gè)定制命令的處理,以及相應(yīng)的FRRA算法實(shí)現(xiàn)。

        主機(jī)端:分配128 MB內(nèi)存,可以容納全部的128 GB容量對(duì)應(yīng)的映射頁(yè)數(shù)據(jù)。增加了兩個(gè)RMTC和FRRC命令,分別用以加載映射頁(yè)到緩存和發(fā)送快速隨機(jī)讀取命令。

        測(cè)試步驟:1)順序?qū)憹M盤(pán),測(cè)試帶DRAM SSD的4 KB隨機(jī)讀取性能,以及不帶DRAM SSD不同算法下的4 KB隨機(jī)讀取性能;2)隨機(jī)寫(xiě)滿盤(pán),測(cè)試帶DRAM SSD的4 KB隨機(jī)讀取性能,以及不帶DRAM SSD不同算法下的4 KB隨機(jī)讀取性能。

        實(shí)驗(yàn)結(jié)果對(duì)比:

        1)順序填滿盤(pán)后的4 KB隨機(jī)讀取性能對(duì)比如圖8所示。

        圖8 順序填盤(pán)后4 KB隨機(jī)讀取性能對(duì)比

        2)隨機(jī)填滿盤(pán)后的4 KB隨機(jī)讀取性能對(duì)比如圖9所示。

        圖9 隨機(jī)填盤(pán)后4 KB隨機(jī)讀取性能對(duì)比

        順序填盤(pán)后,由于CAST和WAFTL能針對(duì)順序?qū)懽鰞?yōu)化(減小映射表大小),因此它比DFTL的4 KB隨機(jī)讀取性能好,但是如果是隨機(jī)數(shù)據(jù)填盤(pán),WAFTL和CAST并沒(méi)有體現(xiàn)出性能優(yōu)勢(shì)??梢钥闯觯弥鳈C(jī)端DRAM存儲(chǔ)映射表的FRR算法,與帶DRAM的SSD具有差不多的性能,其性能幾乎為DFTL性能的兩倍,因?yàn)樗鼈冊(cè)L問(wèn)一次閃存便能獲得用戶數(shù)據(jù)。

        6 結(jié) 語(yǔ)

        無(wú)論是DFTL、CAST FTL和WAFTL等基于頁(yè)映射的FTL算法,都不能從根本上解決不帶DRAM的固態(tài)硬盤(pán)隨機(jī)讀取性能差的問(wèn)題。FRRA通過(guò)利用主機(jī)端充足的DRAM資源來(lái)存儲(chǔ)設(shè)備的映射表,使用主機(jī)和存儲(chǔ)設(shè)備協(xié)同合作的方式,主機(jī)讀取命令中不僅攜帶了邏輯塊地址,還包括該數(shù)據(jù)塊在閃存中的物理地址,因此設(shè)備端省去了邏輯地址到物理地址的翻譯工作。故FRRA能顯著改善不帶DRAM的存儲(chǔ)設(shè)備的隨機(jī)讀取性能,并且其實(shí)現(xiàn)簡(jiǎn)單,只需軟件層面的修改,無(wú)須改動(dòng)硬件和修改接口協(xié)議。同時(shí),它也不受當(dāng)前協(xié)議限制,可以在當(dāng)前幾乎所有的接口協(xié)議上實(shí)現(xiàn),比如PCIe、SATA、UFS和eMMC等。

        猜你喜歡
        存儲(chǔ)設(shè)備固態(tài)命令
        只聽(tīng)主人的命令
        固態(tài)Marx發(fā)生器均流技術(shù)研究
        Sn摻雜石榴石型Li7La3Zr2O12固態(tài)電解質(zhì)的制備
        透明陶瓷在固態(tài)照明中的應(yīng)用進(jìn)展
        移防命令下達(dá)后
        Windows 7下USB存儲(chǔ)設(shè)備接入痕跡的證據(jù)提取
        基于Flash芯片的新型存儲(chǔ)設(shè)備數(shù)據(jù)恢復(fù)技術(shù)研究
        這是人民的命令
        寬禁帶固態(tài)功放在導(dǎo)航衛(wèi)星中的應(yīng)用
        用批處理管理計(jì)算機(jī)USB設(shè)備的使用
        精品国产又大又黄又粗av | 少妇高潮久久蜜柚av| 国产又黄又硬又粗| 一二三四视频社区在线| 国产免费网站看v片元遮挡| 一区二区三区少妇熟女高潮| 亚洲综合一区二区三区天美传媒| 潮喷大喷水系列无码久久精品 | 欧美三级不卡在线观看| 久久精品中文字幕一区| 日本口爆吞精在线视频| 久久av少妇亚洲精品| 性人久久久久| 久久夜色精品国产欧美乱| 国产内射XXXXX在线| 精品亚洲女同一区二区| 男的和女的打扑克的视频| 亚洲精品国产av成人精品| 国产午夜福利片| 伊人网综合| 亚洲av性色精品国产| 婷婷久久国产综合精品| 亚洲精品成人网线在线播放va| 久久精品国波多野结衣| 人妻一区二区三区免费看| 女同同志熟女人妻二区| 亚洲精品成人无码中文毛片| 少妇高潮喷水久久久影院| 男人的av天堂狠狠操| 精品高清免费国产在线| 国产在线 | 中文| 澳门毛片精品一区二区三区| 少妇激情一区二区三区久久大香香| 日本午夜理论片在线观看| 免费a级毛片无码| 无码AV高潮喷水无码专区线| 少妇性l交大片免费快色| 激情人妻另类人妻伦| 永久免费av无码网站yy| 99综合精品久久| 99久久国产免费观看精品|