陳金忠,姚念民,蔡紹濱,戰(zhàn)福瑞,孫美玲
(哈爾濱工程大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,黑龍江 哈爾濱 150001)
過去幾十年,機(jī)械硬盤的機(jī)械特性帶來了隨機(jī)讀寫的低性能和高功耗[1~3]。近年來,閃存的體積小、低功耗和抗震性等特點(diǎn),使得閃存技術(shù)被廣泛應(yīng)用于MP3、PDA和移動(dòng)電話[4]。隨著固態(tài)硬盤價(jià)格逐年降低,不久的將來,固態(tài)硬盤將成為企業(yè)級存儲(chǔ)系統(tǒng)的重要組成部分[5]。與機(jī)械硬盤不同,固態(tài)硬盤是基于半導(dǎo)體芯片,主要包括2種類型的閃存芯片、NOR和NAND[6]。NOR類似于內(nèi)存,容量小,它允許通過地址訪問任何的一個(gè)閃存單元,數(shù)據(jù)的寫入和擦除速度慢。NAND容量大,數(shù)據(jù)的寫入和擦除的速度較快,但需要經(jīng)過I/O地址轉(zhuǎn)換才能訪問。因此,NAND更適用于固態(tài)硬盤。大多數(shù)的硬盤廠商都支持和傳統(tǒng)硬盤相同的接口,例如SATA和SCSI接口。雖然固態(tài)硬盤的讀寫速度比傳統(tǒng)的機(jī)械硬盤快,但無論是基于NOR或NAND類型的固態(tài)硬盤都不支持“就地更新”,在更新某一塊上的數(shù)據(jù)頁之前,必須先把整個(gè)數(shù)據(jù)塊擦除,稱為“寫前擦除”。相對讀寫操作,塊擦除的代價(jià)非常高。為了避免這種昂貴的擦除開銷,固態(tài)硬盤引入閃存轉(zhuǎn)換層(FTL)。FTL通過預(yù)留一些空閑的日志塊,把需要更新的數(shù)據(jù)寫入空閑日志塊,從而避免了“寫前擦除”。
經(jīng)典的FTL策略有2種,分別是基于塊相聯(lián)的BAST[7]策略和基于全相聯(lián)日志緩存的 FAST[8]策略。BAST為每個(gè)數(shù)據(jù)塊指定唯一的日志塊,更新的數(shù)據(jù)只能寫入對應(yīng)的日志塊。BAST適合順序存取。對于隨機(jī)存取,BAST會(huì)造成存儲(chǔ)空間的浪費(fèi)。FAST采用全相聯(lián)的映像方式,更新的數(shù)據(jù)可以寫入到任何的日志塊,不會(huì)造成存儲(chǔ)空間的浪費(fèi)。FAST還將日志塊劃分為順序緩存日志塊與隨機(jī)緩存日志塊,分別用于優(yōu)化順序存取與隨機(jī)存取。然而,在 FAST策略中,一個(gè)日志塊可能關(guān)聯(lián)多個(gè)數(shù)據(jù)塊,增加了垃圾回收的成本。為了克服BAST、FAST等策略的缺點(diǎn),本文提出了一種基于頁面“寫相關(guān)”的FTL策略PWRST。PWRST統(tǒng)計(jì) I/O請求的歷史信息,將“寫相關(guān)”的頁面存儲(chǔ)在同一數(shù)據(jù)塊。PWRST減少了頁面復(fù)制開銷與塊的擦除成本,降低了垃圾回收的成本,提高了固態(tài)硬盤的性能。
NAND閃存芯片由若干個(gè)邏輯單元組成,每個(gè)邏輯單元包括多個(gè)存儲(chǔ)平面,每個(gè)存儲(chǔ)平面由多個(gè)存儲(chǔ)塊構(gòu)成。假設(shè)每個(gè)閃存芯片由2個(gè)邏輯單元組成,每個(gè)邏輯單元由2個(gè)存儲(chǔ)平面構(gòu)成,每個(gè)存儲(chǔ)平面由4個(gè)存儲(chǔ)塊構(gòu)成。如圖1所示,按照存儲(chǔ)塊在每個(gè)存儲(chǔ)平面上的分布方式,將固態(tài)硬盤分為 3種不同的架構(gòu),分別是無條帶化架構(gòu)、部分條帶化架構(gòu)和全條帶化架構(gòu)。圖1(a)顯示無條帶化架構(gòu)的NAND閃存,將存儲(chǔ)塊按順序存放在每個(gè)存儲(chǔ)平面上,這種結(jié)構(gòu)不支持并行讀寫。圖1(b)顯示了部分條帶化架構(gòu)的NAND閃存。這種結(jié)構(gòu)的特點(diǎn)是將存儲(chǔ)塊分散存放在成對存儲(chǔ)平面上,同一個(gè)邏輯單元內(nèi)部的2個(gè)存儲(chǔ)平面可以并行讀寫。全條帶化架構(gòu)的NAND閃存如圖1(c)所示。存儲(chǔ)塊分散存放在每一個(gè)存儲(chǔ)平面上,2個(gè)邏輯單元可以并行讀寫。
由于 NAND閃存在更新存儲(chǔ)頁時(shí)必須擦除整個(gè)存儲(chǔ)塊,這大大地降低了 NAND的性能。FTL通過預(yù)留一些日志塊,將更新的數(shù)據(jù)寫入空閑日志塊,從而避免擦除整個(gè)數(shù)據(jù)塊。閃存轉(zhuǎn)換層主要功能如下。
圖1 SSD的3種不同的內(nèi)部架構(gòu)
1) 映射機(jī)制(mapping mechanism):按照映射的粒度,分為頁面級別映射與塊級別映射。頁面級別映射的優(yōu)點(diǎn)是容易實(shí)現(xiàn)且高效,缺點(diǎn)是需要大量的空間存儲(chǔ)頁面映射表。塊級別映射節(jié)省了存儲(chǔ)映射表的空間,但在垃圾回收時(shí)需要大量的頁面復(fù)制操作,增加了垃圾回收的開銷。許多FTL策略采用混合映射機(jī)制,大量的數(shù)據(jù)塊采用塊級別映射,少量的日志塊采用頁面級別映射[9,10]。這種混合映射機(jī)制提高了固態(tài)硬盤的性能。
2) 垃圾回收(garbage collection):當(dāng)固態(tài)硬盤的空閑塊數(shù)量少于某個(gè)下限值時(shí)(通常小于總塊數(shù)的15%),垃圾回收算法掃描整個(gè)固態(tài)硬盤以回收存儲(chǔ)塊。文獻(xiàn)[11,12]通過減少垃圾回收過程中擦除塊數(shù)來延長固態(tài)硬盤的使用壽命。
3) 損耗均衡(wear-leveling):由于程序的局部性原理,固態(tài)硬盤的某些存儲(chǔ)塊會(huì)被頻繁的更新和擦除,導(dǎo)致這些塊的損耗加快。閃層轉(zhuǎn)換層通常采用“冷塊”與“熱塊”的交換的方法來達(dá)到所有存儲(chǔ)塊損耗均衡的目的。文獻(xiàn)[13]提出了FeGC機(jī)制,優(yōu)先回收失效頁數(shù)量多和失效時(shí)間長的數(shù)據(jù)塊,達(dá)到了減少垃圾回收開銷和損耗均衡的目的。針對閃存陣列,文獻(xiàn)[14]提出了FAP策略,通過交換擦除次數(shù)多和擦除次數(shù)少的塊,達(dá)到NAND閃存芯片之間的損耗均衡的目標(biāo)。
BAST的基本思想是每一個(gè)數(shù)據(jù)塊關(guān)聯(lián)唯一的日志塊,更新時(shí),頁面寫入相應(yīng)的日志塊。如果日志塊沒有空閑的頁面,即使其他的日志塊有空閑頁面,也不能寫入。假設(shè)LPN表示I/O請求的邏輯頁號,data表示寫入的數(shù)據(jù),每個(gè)塊的大小為S。寫操作定義為 write(LPN, data)。在寫操作之前,需要將邏輯頁號轉(zhuǎn)換成邏輯塊號(LBN),計(jì)算公式為LBN=LPNmodS。然后,根據(jù)LBN查找邏輯塊的物理塊號(PBN),最后,將數(shù)據(jù)data寫入數(shù)據(jù)塊PBN。假設(shè)每個(gè)存儲(chǔ)塊包括4個(gè)頁面,日志塊數(shù)為2。I/O請求的邏輯頁面向量為V={0,1,2,3,4,5,6,7,2,3,2,3,7,1,1,2}。邏輯塊0對應(yīng)數(shù)據(jù)塊0,為數(shù)據(jù)塊0分配日志塊0。邏輯塊1對應(yīng)數(shù)據(jù)塊1,為數(shù)據(jù)塊1分配日志塊1。BAST的操作流程如圖2所示。由于頁 0、1、2、3的邏輯塊號為 0,寫入對應(yīng)的數(shù)據(jù)塊0。頁4、5、6、7的邏輯塊號為1,寫入對應(yīng)的數(shù)據(jù)塊1。當(dāng)更新邏輯頁2、3、2、3時(shí),寫入對應(yīng)的日志塊 0。當(dāng)更新邏輯頁 7、1、1、2,邏輯頁7寫入到日志塊1。此時(shí)數(shù)據(jù)塊0對應(yīng)的日志塊已經(jīng)寫滿,邏輯頁1、1、2不能寫入日志塊 0,需要執(zhí)行擦除操作。從圖 2可以看出,日志塊1還有空閑的頁面,但不能將數(shù)據(jù)塊0的頁面寫入日志塊 1。BAST造成了日志塊空間的浪費(fèi),其主要原因是在BAST策略中,一個(gè)數(shù)據(jù)塊只關(guān)聯(lián)唯一的日志塊,更新的頁面只能寫入對應(yīng)的日志塊。
圖2 BAST策略寫操作流程
FAST策略的基本思想是數(shù)據(jù)塊可以共享日志塊。更新的數(shù)據(jù)可以寫入任何日志塊的空閑頁面。FAST策略的操作流程如圖3所示。FAST策略更新邏輯頁1、1、2時(shí),由于日志塊1還有空閑頁,把邏輯頁1、1、2寫入日志塊1。FAST策略充分利用存儲(chǔ)空間,減少不必要的擦除開銷和提高日志塊的空間利用率。如圖3所示,日志塊1的邏輯頁7對應(yīng)數(shù)據(jù)塊 1,邏輯頁 1、1、2對應(yīng)數(shù)據(jù)塊 0。如果回收日志1,需要將日志塊1與數(shù)據(jù)塊0,數(shù)據(jù)塊1合并,進(jìn)行多次頁面復(fù)制和塊擦除。這是FAST的主要缺點(diǎn)。其原因是在FAST策略中,一個(gè)日志塊關(guān)聯(lián)了多個(gè)數(shù)據(jù)塊。因此,F(xiàn)AST策略雖然克服了BAST策略的缺點(diǎn),但也帶來了昂貴的頁面復(fù)制與塊擦除開銷,從而降低了固態(tài)硬盤的性能和縮短了固態(tài)硬盤的使用壽命。在2.5節(jié)將具體分析3種垃圾回收的開銷。
圖3 FAST策略寫操作流程
垃圾回收分為3種形式,全合并(full-merge)回收、部分合并(partial-merge)回收和交換合并(switch-merge)回收。如圖4(a)所示,全合并回收需要復(fù)制大量的有效頁(valid)和多次塊擦除(erase)。如圖 4(b)所示,部分合并回收需要復(fù)制少量的有效頁和2次塊擦除。如圖 4(c)所示,交換合并回收不需要復(fù)制頁面,僅需2次塊擦除。因此,應(yīng)該盡可能地增加部分合并回收與交換回收的次數(shù),減少全合并回收的次數(shù)。假設(shè)Cc表示復(fù)制一頁的開銷,Ce表示擦除數(shù)據(jù)塊的開銷,N表示數(shù)據(jù)塊包含頁的數(shù)量,Nv表示數(shù)據(jù)塊包含有效頁的數(shù)量,Na表示日志塊所關(guān)聯(lián)的數(shù)據(jù)塊的數(shù)量,Wf、Wp和Ws分別表示全合并回收,部分合并回收和交換合并回收的開銷,則有
圖4 3種全合并回收過程
由式(1)~式(3)可知,在全合并回收時(shí),日志塊所關(guān)聯(lián)的數(shù)據(jù)塊數(shù)量Na>1,在部分合并和交換合并時(shí),日志塊關(guān)聯(lián)的數(shù)據(jù)塊數(shù)量Na=1。因此,減少垃圾回收開銷的關(guān)鍵是減小Na。由2.4節(jié)可知,F(xiàn)AST的一個(gè)日志塊可能關(guān)聯(lián)多個(gè)數(shù)據(jù)塊,即Na> 1 。在垃圾回收時(shí),需要復(fù)制大量的頁面和多次擦除塊,使得固態(tài)硬盤性能的下降。
針對BAST和FAST的缺點(diǎn),PWRST根據(jù)I/O請求的歷史特性,將“寫相關(guān)”的頁面存儲(chǔ)到同一數(shù)據(jù)塊。所謂“寫相關(guān)”是指I/O請求訪問頁面A之后,在最近一段時(shí)間內(nèi)將會(huì)訪問頁面B,稱頁面A與頁面B是“寫相關(guān)”。例如,文件系統(tǒng)在更新文件時(shí),對應(yīng)的元數(shù)據(jù)也會(huì)被更新,這2次操作的頁面是“寫相關(guān)”。如果數(shù)據(jù)塊的頁面都是“寫相關(guān)”,這些頁面可能都是失效的,在垃圾回收時(shí),只需要進(jìn)行交換合并回收。
SSD的系統(tǒng)架構(gòu)如圖5所示。PWRST分為3個(gè)模塊,分別是 I/O請求歷史收集模塊(RHC)、頁面寫相關(guān)分析模塊(WRA)和頁面聚類模塊(PC)。首先,I/O請求歷史收集模塊負(fù)責(zé)記錄負(fù)載最近一段時(shí)間內(nèi)訪問的邏輯頁號。其次,頁面寫相關(guān)分析模塊根據(jù)I/O請求歷史找出“寫相關(guān)”的頁面。最后,頁面聚類模塊將具有“寫相關(guān)”的頁面存儲(chǔ)到同一數(shù)據(jù)塊。
圖5 SSD的系統(tǒng)架構(gòu)
首先,文件系統(tǒng)發(fā)出的 I/O請求將邏輯扇區(qū)(LBA)號映射為邏輯頁號(LPN),F(xiàn)TL根據(jù)邏輯頁號得到邏輯塊號(LBN)和塊內(nèi)偏移(offset),然后通過查詢塊映射表得到物理塊號(PBN)。RHC模塊使用散列表對I/O請求的時(shí)刻T和訪問的邏輯頁號進(jìn)行記錄。其中,T和LPN分別表示了I/O請求的時(shí)間和空間特性。散列表可以實(shí)現(xiàn)對I/O請求的快速查找,更新以及刪除操作,其維護(hù)非常方便。因此,散列表可以有效地維護(hù)I/O請求的歷史信息。
圖6 I/O請求訪問的頁面序列
從3.3節(jié)可知,“寫相關(guān)”的頁面具有訪問時(shí)間的關(guān)聯(lián)性,如果將這些頁面存儲(chǔ)到SSD的同一數(shù)據(jù)塊,那么在垃圾回收時(shí),數(shù)據(jù)塊包含的頁面可能都是失效的頁面,只需要一次擦除操作。從而避免了昂貴的頁面復(fù)制開銷,提高了垃圾回收的效率。頁面聚類的模塊功能是將“寫相關(guān)”的頁面存儲(chǔ)到同一個(gè)數(shù)據(jù)塊,其基本原理是利用了數(shù)據(jù)挖掘中的層次聚類的方法。即初始時(shí)將每個(gè)頁面劃分為一個(gè)單獨(dú)的組,在接下來的迭代中,把那些“寫相關(guān)”的頁面合并成一個(gè)組,直到這個(gè)組的大小等于數(shù)據(jù)塊的大小,然后將這些頁面寫入空閑塊。圖7給出了具體的操作流程。首先,從I/O請求的歷史集合RHC找出訪問頻率最高的頁面pi,放入組iA。然后,根據(jù)頁面寫相關(guān)分析模塊,找出與頁面pi“寫相關(guān)”的頁面pj,并將頁面pj放入iA,組中的頁面數(shù)ci加1。如果iA中頁面的數(shù)量等于塊的大小,聚類完成。否則,繼續(xù)聚類。對于某些系統(tǒng)公共頁面來說,可能有許多與其寫相關(guān)系數(shù)較大的頁面。這些公共頁面可以使用頁面映射的方式,那么在垃圾回收時(shí),就不會(huì)引起全合并操作。
實(shí)驗(yàn)分別測試了 BAST、FAST和 PWRST在Postmark[15]、IOzone[16]和 TPC-C[17]負(fù)載下的垃圾回收開銷和I/O請求的響應(yīng)時(shí)間。
圖7 頁面聚類算法
本實(shí)驗(yàn)所使用的模擬器是建立DiskSim之上的SSD模擬器[18]。該模擬器提供了對垃圾回收機(jī)制與交叉讀寫機(jī)制的模擬。表1給出了SSD模擬器的配置參數(shù),包括SSD基本組成部分、頁面的讀寫時(shí)延、擦除塊的時(shí)延、擦除模式等。
表1 SSD模擬器配置參數(shù)
測試的負(fù)載包括 Postmark、IOzone和TPC-C。其中,Postmark和IOzone是I/O密集型的文件系統(tǒng)測試集,包括大量的隨機(jī)讀寫操作。IOzone負(fù)載是對大文件的測試。Postmark負(fù)載則是頻繁、大量地存取小文件。TPC-C負(fù)載是數(shù)據(jù)庫測試集。模擬實(shí)驗(yàn)中的2個(gè)重要的參數(shù):THs和θth。其中,THs表示系統(tǒng)空閑塊數(shù)占總存儲(chǔ)塊的比例。θth表示“寫相關(guān)”的門限值,分別設(shè)置為0.5、0.7和0.9,對應(yīng)的PWRST策略表示為 PWRST(0.5)、PWRST(0.7)和 PWRST(0.9)。
SSD垃圾回收主要包括兩方面:頁面遷移數(shù)和擦除塊數(shù);其中頁面遷移數(shù)是指在全合并回收和部分合并回收過程中復(fù)制的頁面數(shù)量。而擦除塊數(shù)是指在全合并、部分合并和交換合并回收過程擦除的塊數(shù)總和。SSD模擬器分別對 Postmark、IOzone和TPC-C 3種負(fù)載,生成106個(gè)讀寫請求進(jìn)行測試。
4.3.1 頁面遷移數(shù)
表2~表4分別給出了THs的值為0.15、0.10和0.05時(shí),3種算法垃圾回收時(shí)的頁面遷移數(shù)。PWRST(0.7)在Postmark和IOzone負(fù)載下的頁面遷移數(shù)比BAST減少了30%,比FAST減少了20%。在TPC-C負(fù)載下,PWRST(0.7)頁面遷移數(shù)比BAST減少15%,比FAST減少了12%。主要原因是BAST數(shù)據(jù)塊對應(yīng)唯一的日志塊,當(dāng)關(guān)聯(lián)的日志塊沒有空間時(shí),即使其他的日志塊有空閑頁時(shí),也會(huì)觸發(fā)垃圾回收機(jī)制。FAST的日志塊可能關(guān)聯(lián)多個(gè)數(shù)據(jù)塊,增加了全合并的次數(shù),從而增加了頁面遷移數(shù)。另外,3種策略的頁面遷移數(shù)都隨著THs值的減小而增加,這是由于隨著空閑塊數(shù)目的減少,執(zhí)行垃圾回收的概率增大。另外,PWRST(0.7)的頁面遷移數(shù)量少于 PWRST(0.5)和 PWRST(0.9)。PWRST(0.9)只將歸一化概率大于0.9的頁面寫入同一數(shù)據(jù)塊,因而會(huì)遺漏一些頁面。而PWRST(0.5)可能將一些不相關(guān)的頁面寫入同一數(shù)據(jù)塊,因此會(huì)增加頁面遷移數(shù)。
4.3.2 塊擦除次數(shù)
表5~表7給出了BAST、FAST和PWRST在3種負(fù)載下的塊擦除次數(shù)。BAST、FAST和PWRST這3種策略塊擦除次數(shù)隨著THs的減小而增加。在Postmark和IOzone負(fù)載下,PWRST(0.7)的塊擦除次數(shù)比BAST減少10%,比FAST減少8%。相比于BAST和FAST,PWRST利用頁面“寫相關(guān)”減少了全合并回收的次數(shù)和塊的擦除次數(shù)。對于固態(tài)硬盤,擦除次數(shù)不僅與性能相關(guān),而且影響固態(tài)硬盤的使用壽命。因此,PWRST策略能夠有效地提高固態(tài)硬盤的性能和延長固態(tài)硬盤的使用壽命。
表2 當(dāng)THs=0.15時(shí),BAST、FAST和PWRST的頁面遷移數(shù)
表3 當(dāng)THs=0.10時(shí),BAST、FAST和PWRST的頁面遷移數(shù)
表4 當(dāng)THs=0.05時(shí),BAST、FAST和PWRST的頁面遷移數(shù)
表5 THs=0.15時(shí),3種策略的塊擦除數(shù)
表6 THs=0.10時(shí),3種策略的塊擦除數(shù)
表7 THs=0.05時(shí),3種策略塊的擦除數(shù)
圖8~圖10給出了在THs= 0 .05時(shí),全合并回收,部分合并回收與交換合并回收在3種負(fù)載下的開銷。BAST在Postmark負(fù)載下的全合并次數(shù)占80%左右,F(xiàn)AST的全合并回收次數(shù)占50%左右,而PWRST全合并次數(shù)只占了10%左右。FAST充分利用了存儲(chǔ)空間,避免了不必要的擦除開銷。因此,F(xiàn)AST的全合并開銷比BAST低。PWRST將“寫相關(guān)”的頁面寫入同一數(shù)據(jù)塊,減少了日志塊關(guān)聯(lián)的數(shù)據(jù)塊數(shù)量,增加了部分合并回收與交換合并回收的比例。因此,PWRST垃圾回收的開銷比BAST和FAST都小。
圖8 在Postmark負(fù)載下合并開銷的比例
圖9 在IOzone負(fù)載下合并開銷的比例
圖10 在TPC-C負(fù)載下合并開銷的比例
圖11 當(dāng) T Hs = 0 .15時(shí),BAST、FAST和PWRST的平均響應(yīng)時(shí)間
圖12 當(dāng) T Hs = 0 .10時(shí),BAST、FAST和PWRST的平均響應(yīng)時(shí)間
圖13 當(dāng) T Hs = 0 .05時(shí),BAST、FAST和PWRST的平均響應(yīng)時(shí)間
圖11~圖13給出了3種FTL策略在Postmark、IOzone和TPC-C 3種負(fù)載下的平均響應(yīng)時(shí)間。當(dāng)THs= 0 .15時(shí),PWRST(0.7)在Postmark下的平均響應(yīng)時(shí)間比BAST減少了18%,比FAST減少了14%。PWRST(0.7)在TPC-C下的平均響應(yīng)時(shí)間比BAST策略減少了10%,比FAST減少了8%。當(dāng)THs=0.05時(shí),PWRST(0.7)在 Postmark下的平均響應(yīng)時(shí)間比BAST減少35%,比FAST減少26%。在TPC-C負(fù)載下,PWRST(0.7)的平均響應(yīng)時(shí)間比BAST減少了12%,比FAST減少了10%。因此,本文提出的PWRST策略在響應(yīng)時(shí)間等方面優(yōu)越于BAST和FAST。
經(jīng)典的閃存轉(zhuǎn)換層策略(如BAST、FAST)都有其自身的缺點(diǎn),BAST會(huì)造成存儲(chǔ)空間的浪費(fèi)和不必要的擦除開銷。FAST策略中的日志塊可能關(guān)聯(lián)多個(gè)數(shù)據(jù)塊,垃圾回收的開銷非常大。本文提出了一種基于頁面寫相關(guān)的FTL策略PWRST。PWRST將“寫相關(guān)”的頁面存儲(chǔ)到同一數(shù)據(jù)塊,減少了全合并回收的次數(shù)。實(shí)驗(yàn)表明,PWRST減少了塊的擦除次數(shù),降低了垃圾回收的開銷和I/O的平均響應(yīng)時(shí)間。進(jìn)一步驗(yàn)證了PWRST的可行性和優(yōu)越性。
[1] CHUNG T S, PARK S W, LEE D H,et al.Systems software for flash memory: a survey[A].Proceedings of the 2006 IFIP International Conference on Embedded and Ubiquitous Computing[C].Korea, 2006.394-404.
[2] DING X N, JIANG S, CHEN F,et al.DULO: an effective buffer cache management scheme to exploit both temporal and spatial localities[J].ACM Trans Storage, 2007, 3(2):1242522.
[3] LI Z M, CHEN Z F, SUDARSHAN M S,et al.C-miner: mining block correlations in storage systems[A].Proc of FAST’02[C].San Francisco, USA, 2004.173-186.
[4] GAL E, TOLEDO S.Algorithms and data structures for flash memories[J].ACM Computing Surveys, 2005, 37(2):138-163.
[5] LEVENTHAL A.Flash storage memory communications[J].Communications of the ACM, 2008, 51(7):47-51.
[6] SANTARINI M.NAND versus NOR[J].EDN, 2005, 50(21):41-48.
[7] KIM J S, KIM J M, NOH S H,et al.A space-efficient flash translation layer for compactflash systems[J].IEEE transactions on Consumer Electronics, 2002, 48(2):366-375.
[8] LEE S W, PARK D J, CHUNG T S,et al.A log buffer based flash translation layer using fully associative sector translation[J].IEEE Transactions on Embedded Computing Systems, 2007, 6(3):18-45.
[9] KANG J U, JO H, KIM J S,et al.A superblock based flash translation layer for NAND flash memory[A].Proc of ICES’06[C].Seoul, Korea,2006.161-170.
[10] CHAO H, SHIN D , EOM Y I.Kast: k-associative sector translation for NAND flash memory in real-time systems[A].Design, Automation Test in Europe Conference Exhibition[C].Nice, France, 2009.507-512.
[11] CHEN F, LUO T, ZHANG X D.CAFTL: A content-aware flash translation layer enhancing the lifespan of flash memory based solid state drivers[A].Proceedings of FAST’2011[C].San Jose, CA, USA, 2011.77-90.
[12] WU G Y, HE X B.ΔFTL: improving SSD lifetime via exploiting content locality[A].7th ACM European Conference on Computer Systems, Euro-Sys’12[C].Bern, Switzerland, 2012.253-265.
[13] KWON O, KOH K, LEE J,et al.FEGC: an efficient garbage collection scheme for flash memory based storage systems[J].Journal of Systems and Software, 2011, 84(9):1507-1523.
[14] ANAM Z, SUMAYYA S, SABA Z,et al.A Flash aging prevention technique (FAP) for flash based solid state disks[A].International Conference on Computer Science & Education- ICCSE[C].Singapore,2011.531-536.
[15] KATCHER J.Postmark: A New File System Benchmark[R].Technical Report TR 3022, Network Appliance, 1997.
[16] NORCOTT W, CAPPS D.IOzone file system benchmark[EB/OL].http://www.iozone.org.
[17] Transaction processing performance council TPC-C benchmark[EB/OL].http://www.tpc.org/tpcc/spec/tpcc_current.pdf, 2004.
[18] KIM Y, TAURAS B, GUPTA A,et al.Flashsim: a simulator for NAND flash-based solid-state drives[A].1st International Conference on Advances in System Simulation, SIMUL 2009[C].Porto, Portugal,2009.125-131.