MEMS存儲(chǔ)設(shè)備的管理技術(shù)
一 引言
MEMS(Micro ElectromechanicalSystem,微機(jī)電系統(tǒng))存儲(chǔ)器是一種新型存儲(chǔ)器件,具有高密度、低功耗、非易失、多探針并行訪問等特點(diǎn),相對(duì)于傳統(tǒng)磁盤具有明顯優(yōu)勢(shì)??梢蕴钛a(bǔ)RAM和磁盤之間的性能差距,可在計(jì)算機(jī)系統(tǒng)中承擔(dān)多種角色,為新型高性能海量存儲(chǔ)系統(tǒng)結(jié)構(gòu)研究帶來新思路和新方法。
二 MEMS存儲(chǔ)設(shè)備的請(qǐng)求調(diào)度算法
(一)磁盤的請(qǐng)求調(diào)度算法
第一種是最簡(jiǎn)單的、性能最差的先來先服務(wù)(FCFS):第二種算法是循環(huán)查找(CLOOKLBN)。這種算法是按照LBN升序的方式進(jìn)行服務(wù),也就是說當(dāng)所有請(qǐng)求的LBN都落后于當(dāng)前請(qǐng)求的LBN話,就從涉及到最小LBN的請(qǐng)求開始服務(wù):第三種是最短尋址時(shí)間優(yōu)先(sSTF—BN),主要思想是選擇具有最小尋址延遲的請(qǐng)求,但是在實(shí)際應(yīng)用中卻很少使用。因?yàn)楹苌儆兄鳈C(jī)操作系統(tǒng)具有用計(jì)算實(shí)際尋址距離或者預(yù)測(cè)尋址時(shí)問的信息,考慮到磁盤LBN到物理位置的映射的關(guān)系,大部分的SSTF算法使用的是最近訪問的LBN和目標(biāo)LBN之間的距離作為訪問時(shí)間的近似,這種簡(jiǎn)化對(duì)磁盤是有效的:第四種是最短定位時(shí)間優(yōu)先算法(SPTF),選擇具有最小定位延遲的請(qǐng)求,對(duì)磁盤來說,SPTF算法與其它算法顯著的不同在于它需要考慮尋道時(shí)間和旋轉(zhuǎn)延遲。
將四種調(diào)度算法應(yīng)用到Atalalok上,統(tǒng)計(jì)隨機(jī)負(fù)載在不同的請(qǐng)求到達(dá)頻率下Atlas l0k的響應(yīng)時(shí)間。FCFS的性能是四種調(diào)度算法中性能最差的,同時(shí),F(xiàn)CFS的性能隨著負(fù)載請(qǐng)求的增加性能最快達(dá)到飽和。SSTFes LBN的性能比CLOOK LBN要好,SPTF的性能最好,而且SPTF性能達(dá)到飽和的速度最慢。
前三種調(diào)度算法((FCFS CLOOK LBN和SSTFes LBN)可以利用主機(jī)的軟件系統(tǒng)簡(jiǎn)單有效的實(shí)現(xiàn)??紤]到磁盤LBN到物理位置的映射關(guān)系,實(shí)現(xiàn)這三種調(diào)度算法不需要詳細(xì)的設(shè)備信息,只需要根據(jù)請(qǐng)求的LBN號(hào)來選擇要服務(wù)的請(qǐng)求。SPTF算法通常是在磁盤驅(qū)動(dòng)器的固件中實(shí)現(xiàn),SPTF算法需要磁盤狀態(tài)的準(zhǔn)確信息、LBN到物理位置的映射信息、尋址時(shí)間和旋轉(zhuǎn)延遲的準(zhǔn)確預(yù)測(cè)信息等。
(二)MEMS存儲(chǔ)設(shè)各請(qǐng)求調(diào)度算法
為了方便的將MEMS存儲(chǔ)設(shè)備應(yīng)用到計(jì)算機(jī)系統(tǒng)中,MEMS存儲(chǔ)設(shè)備利用與磁盤相同的接口。為了證明現(xiàn)有的磁盤請(qǐng)求調(diào)度算法同樣適用于MEMS存儲(chǔ)設(shè)備,將上節(jié)中四種磁盤的請(qǐng)求調(diào)度算法應(yīng)用到MEMS存儲(chǔ)設(shè)備上。多數(shù)的請(qǐng)求調(diào)度算法,如SSTF LBN和CLOOKLBN,只需要知道LBN的信息,將LBN之間的距離作為定位時(shí)間的估計(jì)。SPTF算法涉及到尋址時(shí)間和旋轉(zhuǎn)延遲。而MEMS存儲(chǔ)設(shè)備只存在x軸和Y軸方向的尋址,沒有旋轉(zhuǎn)延遲。與磁盤相同的是,尋址時(shí)間是一維的,接近一個(gè)線性的LBN空間。與磁盤不同的是,MEMS存儲(chǔ)設(shè)備在兩個(gè)方向的尋址是并行完成的,選擇較大的作為實(shí)際的尋址時(shí)間。由于x軸方向存在穩(wěn)定時(shí)間,x軸方向的尋址時(shí)間總是比Y軸大。如果Y軸的尋址時(shí)間比較大,SPTF的性能僅比SSTF略有優(yōu)勢(shì)。利用Disksim。將磁盤的調(diào)度算法應(yīng)用到MEMS存儲(chǔ)設(shè)備上,統(tǒng)計(jì)不同的請(qǐng)求到達(dá)頻率的隨機(jī)負(fù)載下的平均響應(yīng)時(shí)間。
四種調(diào)度算法在MEMS存儲(chǔ)設(shè)備上具有和磁盤類似的性能:FCFS性能最差,SPTF性能最好。但是,F(xiàn)CFS和基于LBN的算法之問的差距比磁盤小。因?yàn)樵贛EMS存儲(chǔ)設(shè)備尋址時(shí)間在整個(gè)服務(wù)時(shí)間中占很大比例。CLOOK LBN和SSTF LBN性能差距要比磁盤小。
三 數(shù)據(jù)布局策略
(一)小粒度非順序訪問
MEMS存儲(chǔ)設(shè)備數(shù)據(jù)訪問具有與磁盤類似的特性,短距離尋址比長(zhǎng)距離尋址要快。與磁盤不同的是,由于彈簧的回復(fù)力的存在,使得不同位置上觸動(dòng)器作用力的影響不同。彈簧作用力對(duì)每個(gè)tip的訪問區(qū)域不同位置的影響。彈簧的作用力隨著sled位移的增加而增大,對(duì)于短距離來說定位時(shí)間反而較長(zhǎng)。因此,在考慮查找小粒度、常用的數(shù)據(jù)項(xiàng)的時(shí)候,除了考慮尋址距離,還要考慮sled距中心位置的距離。
(二)大粒度順序訪問
MEMS存儲(chǔ)設(shè)備和磁盤的流傳輸速率相似:Atals 10K的流傳輸速率是17,3-25,2MB/s,MEMS存儲(chǔ)設(shè)備的流傳輸速率為75,9MB/s。MEMS存儲(chǔ)設(shè)備的定位時(shí)間比磁盤低一個(gè)數(shù)量級(jí),對(duì)MEMS存儲(chǔ)設(shè)備來說,定位時(shí)間對(duì)于大批量數(shù)據(jù)傳輸影響很小。例如:一個(gè)256KB的讀請(qǐng)求在X軸不同位置上的服務(wù)時(shí)間,在1250個(gè)柱面的不同請(qǐng)求之間的服務(wù)時(shí)間僅差10%。同時(shí)減少了大粒度、順序傳送的數(shù)據(jù)對(duì)局部性的需求。但是,對(duì)磁盤來說,尋址距離是影響尋址時(shí)間的重要因素。同樣,對(duì)一個(gè)256KB大小的請(qǐng)求,長(zhǎng)距離尋址時(shí)間可以使整個(gè)服務(wù)時(shí)間增加1倍。
(三)雙向數(shù)據(jù)布局
為充分利用MEMS存儲(chǔ)設(shè)備的訪問特性,引入了一種雙向布局策略。小數(shù)據(jù)存放在最中間的小區(qū)域中,大的、順序的流數(shù)據(jù)存放在外圍的小區(qū)域中。這種策略可以采用5X5的網(wǎng)格方式實(shí)現(xiàn)。
在假設(shè)各個(gè)請(qǐng)求內(nèi)部不存在相關(guān)性的前提下,比較雙向布局、“organ pipe”布局和一種優(yōu)化的磁盤布局的性能。在“organpipe”布局策略中,最經(jīng)常訪問的文件存放在磁盤最中間的磁道上,使用頻率稍差的文件存放在中間磁道的兩側(cè),最不經(jīng)常使用的文件存放在靠近最內(nèi)部和最外部磁道上。這種布局策略對(duì)磁盤是優(yōu)化的,缺點(diǎn)是需要根據(jù)文件的使用頻率定期的移動(dòng)文件,還需要維護(hù)文件的一些狀態(tài)來記錄文件的使用頻率。
四 MEMS存儲(chǔ)設(shè)備故障管理
(一)內(nèi)部故障
磁盤常見的故障有兩種:可恢復(fù)故障和不可恢復(fù)故障。MEMS存儲(chǔ)設(shè)備也會(huì)出現(xiàn)類似的故障。但是,MEMS存儲(chǔ)設(shè)備可以采用多個(gè)探針來彌補(bǔ)組件故障,包括可能會(huì)導(dǎo)致設(shè)備不可用的故障。
對(duì)MEMS存儲(chǔ)設(shè)備來說,有效的糾錯(cuò)碼可以通過分布在多個(gè)探針上的數(shù)據(jù)計(jì)算得到。在G2模型中,每個(gè)512字節(jié)的數(shù)據(jù)塊和ECC碼分布在64個(gè)探針之問。Ecc碼包括一個(gè)垂直部分和一個(gè)水平部分。ECC碼水平部分可以從故障的扇區(qū)得到恢復(fù),而垂直部分指出哪些扇區(qū)可以作為故障扇區(qū)對(duì)待,同時(shí)將大的錯(cuò)誤轉(zhuǎn)化為扇區(qū)擦除操作。這個(gè)簡(jiǎn)單的機(jī)制說明大部分的內(nèi)部故障是可以恢復(fù)的。
像磁盤一樣,MEMS存儲(chǔ)設(shè)備也保留了一些的備用空間(spare space),用來存儲(chǔ)由于探針和介質(zhì)故障而無法保存在默認(rèn)位置的數(shù)據(jù)。MEMS存儲(chǔ)設(shè)備的多個(gè)探針可以在一個(gè)磁道上并行訪問數(shù)據(jù),可以避免由于故障需要重新映射帶來的性能和預(yù)測(cè)開銷。而且,通過在每個(gè)磁道設(shè)置一個(gè)或者多個(gè)備用探針(spare tips),不可讀取的數(shù)據(jù)被重新映射到空閑探針相同的扇區(qū)。
(二)設(shè)備故障
MEMS存儲(chǔ)設(shè)備也很容易受到不可恢復(fù)的故障影響:外部機(jī)械或者靜電強(qiáng)大的作用力能夠損壞觸動(dòng)器的集電刷或者折斷彈簧,破壞介質(zhì)表面,損壞設(shè)備的電子裝置或者破壞數(shù)據(jù)通道。如果出現(xiàn)這些故障,可以采用與磁盤一樣的方式來處理。例如,采用設(shè)備內(nèi)部的冗余和周期性的備份來處理設(shè)備故障。
MEMS存儲(chǔ)設(shè)備的機(jī)械特性在一些容錯(cuò)機(jī)制中更適合處理讀一更新一寫(read-modify-write)操作。一般的磁盤需要轉(zhuǎn)完整的一圈才能到達(dá)相同的扇區(qū),而MEMS存儲(chǔ)設(shè)備可以快速的反轉(zhuǎn)方向,大大減少了讀一更新一寫的延遲。
(三)故障恢復(fù)
同磁盤一樣,文件系統(tǒng)和數(shù)據(jù)庫系統(tǒng)需要維護(hù)存儲(chǔ)在MEMS存儲(chǔ)設(shè)備上對(duì)象內(nèi)部的一致性。雖然采用同步寫操作對(duì)性能具有一定影響,但是,MEMS存儲(chǔ)設(shè)備的低服務(wù)時(shí)間可以減少這種損失。另外,MEMS存儲(chǔ)設(shè)備沒有轉(zhuǎn)軸啟動(dòng)的時(shí)間,因此設(shè)備啟動(dòng)速度快,大概只需要0.Sms。即使是高端磁盤,也需要15-25s的時(shí)間來啟動(dòng)轉(zhuǎn)軸和完成初始化。同時(shí),因?yàn)椴恍枰獑?dòng)轉(zhuǎn)軸,就不需要考慮啟動(dòng)轉(zhuǎn)軸需要的功耗,也就沒必要采取任何減少功耗的技術(shù),這些都使得所有的MEMS存儲(chǔ)設(shè)備可以同時(shí)啟動(dòng),系統(tǒng)啟動(dòng)的時(shí)間從秒級(jí)降到毫秒級(jí)。
評(píng)論