我主要從四個方面簡單介紹,第一介紹當(dāng)前固態(tài)硬盤面臨可靠性的問題。第二現(xiàn)在固態(tài)硬盤廠商包括在搭建系統(tǒng)時測試方面面臨的挑戰(zhàn),第三介紹現(xiàn)在采用的固態(tài)硬盤預(yù)測方法,最后是總結(jié)。

固態(tài)硬盤可靠性的問題

當(dāng)前,固態(tài)硬盤可靠性實際上是現(xiàn)在固態(tài)硬盤廠商關(guān)注的重要問題,現(xiàn)在數(shù)據(jù)量急劇增長,隨著時間推移,特別像閃存介質(zhì)擦寫次數(shù)的增多,到磁盤故障率不斷上升。現(xiàn)在SSD在市場份額中也在不斷增長,是數(shù)據(jù)中心里面主流的存儲介質(zhì)。

現(xiàn)在不管云計算還是數(shù)據(jù)中心存儲,我們面臨著大量的硬件故障問題,特別是SSD故障問題,我們會發(fā)現(xiàn)SLC、TLC、QLC等閃存介質(zhì)里面,隨著密度的不斷增加,故障概率不斷增高,如圖所示,SLC年故障率基本上0.2%以下,MLC基本上在0.4-0.6%之間,TLC有可能會飆升到0.8%-1%左右。

我們看到了像微軟超過50萬張固態(tài)硬盤的結(jié)果,統(tǒng)計了三年之內(nèi)的年故障率,并且分析了SSD故障的內(nèi)容,包括故障產(chǎn)生的時間和原因特征,比如品牌,工作負載的一些讀寫特性、容量、寫放大問題等,我們會發(fā)現(xiàn)實際上固態(tài)硬盤的故障跟很多方面因素都有關(guān)系,左邊這個圖展示的是不同負載,每天的數(shù)據(jù)寫入量會對故障產(chǎn)生不一樣的影響。右圖是顯示不同型號故障概率也不同。

NetApp統(tǒng)計了140萬張SSD,涵蓋了三個制造商,18個型號和12種不同容量的固態(tài)硬盤,論文里揭示了故障的成因更加復(fù)雜,包括使用的老化,包括閃存類型、容量、工藝、固件以及甚至采用不同的讀方式,都會對盤片壽命產(chǎn)生很大影響以及故障。

現(xiàn)在在整個固態(tài)硬盤領(lǐng)域通用的故障預(yù)測方法是采用SMART信息,通過來自硬盤控制系統(tǒng)的信息,監(jiān)測硬盤相應(yīng)的實時數(shù)據(jù),通過機器學(xué)習(xí)的方法,采集數(shù)據(jù)中心的SMART數(shù)據(jù)做數(shù)據(jù)集進行相應(yīng)的訓(xùn)練,故障預(yù)測,這是最常見的方法。

但這些方法里有一些問題,比如第一存在大量的正負樣本不均衡的問題。我們的大量硬盤是健康硬盤,只有少量是故障硬盤。第二存在著預(yù)測的時間不及時的問題。比如預(yù)測短期內(nèi)的某一個盤片或某一個地方會產(chǎn)生故障,難度非常大。第三是存在準(zhǔn)確度不高的問題,現(xiàn)在很多方法做的精準(zhǔn)度還行,達到70-80%,提升到90%以上難度很大。

現(xiàn)在總結(jié)一下現(xiàn)在的幾個挑戰(zhàn),一個正負樣本非常不均衡,基本上是1:1000的情況。第二我們的學(xué)習(xí)特征和故障的相關(guān)性參數(shù)需要做一些提煉和提取。第三是我們需要對整體樣本做相應(yīng)的監(jiān)測,并且現(xiàn)在很多故障預(yù)測的模型實際上也會隨著時間的推移,SSD不斷在使用,也在不斷老化,模型也要做相應(yīng)的更新,而不是采用一個模型去監(jiān)測SSD直到壽命的終點,這是做不到的。

最后一個,故障預(yù)測里面存在著非常高的誤報率和漏報率的問題。

我們給出了幾種現(xiàn)在比較代表性的解決方案。一個可以采用GAN——生成對抗網(wǎng)絡(luò)方式做預(yù)測,減少正負樣本之間的不均衡,可以生成一些健康數(shù)據(jù),并且與我們判別的健康數(shù)據(jù)進行對抗,實現(xiàn)我們對健康樣本的重構(gòu),減少錯誤樣本的數(shù)量,提高準(zhǔn)確率。

第二可以采用一些遷移學(xué)習(xí)的方法,不同的盤片,不同的模型,可能預(yù)測效果是不一樣的,我們是否可以把一個數(shù)據(jù)中心的一類盤片移到另外一類數(shù)據(jù)中心上面,可以采用一些遷移學(xué)習(xí)的方法。比如我們可以為少量模型來做一個初步訓(xùn)練,并且把其他比較成熟的模型移植到里面去,從而達到比較好的效果。

 第三在很多預(yù)測領(lǐng)域里實際也存在著單一模型性能低下,或某些模型某部分情況預(yù)測精度比較好,另外一部分模型預(yù)測精度比較差的問題,可以采用孿生網(wǎng)絡(luò)模型的方法,還可以解決比如有一些示范模型沒有出現(xiàn)過,故障模型精度比較低,樣本不均衡,訓(xùn)練數(shù)據(jù)比較少等問題。

現(xiàn)在除了上述方法可以部分解決問題之外,SSD還面臨著很多其他挑戰(zhàn),比如基于NAND閃存,涉及到很多半導(dǎo)體工藝和架構(gòu)的相關(guān)特性,給我們預(yù)測準(zhǔn)確度帶來非常多的不確定性。比如SSD需要維護FTL(閃存轉(zhuǎn)換層),這有可能使我們SMART日志難以全面的反映SSD本身的故障特征,并且SMART的信息量還是很少,實際上SSD里面需要有更多的特征來做一些反饋。

因此,我們也看了一些新的文章,去引進一些新方法,提煉更多更有效的特征,多維度地輸出,比如像故障、健康、故障類型甚至壽命等等相應(yīng)的結(jié)構(gòu),從而提高精準(zhǔn)度。

固態(tài)硬盤廠商測試面臨挑戰(zhàn)

這是我們現(xiàn)在做的一些工作?,F(xiàn)在對于SSD廠商來說還面臨其他測試方面的挑戰(zhàn),比如我們需要進行一些廠商的自我測試(MST)來消除或減少有缺陷性的組件。隨著工藝的進步,需要做測試的數(shù)量輪次在不斷增加,來觀察SSD是否過早的存在潛在的故障。

與此同時,在閃存當(dāng)中存在著非常多的壞塊,部分是我們手動設(shè)置,部分是物理上存在,我們需要在測試當(dāng)中加一些測試,去了解固態(tài)硬盤是否能夠正常處理。

最終的問題是我們需要掃描NAND SSD閃存,直到所有的塊都被反復(fù)的擦除、編程和讀取。隨著容量增長,我們老化過程的時間成本,包括測試輪次基本上都會不斷增加,而且概率在不斷上升,有時候需要幾個小時甚至幾十個小時做這樣一個測試。

為了減少我們出廠前的內(nèi)測時間,增加出貨效率。一般來說就是盡可能去降低測試輪次,較大幅度減少時間開銷。左圖里面展示了不同測試輪次的開銷變化。我們和Memblaze合作做了一個類似的課題,想把測試周期從16個周期減少到4個周期,并且能保證缺陷檢測率和之前一樣,也就是做了一個固態(tài)硬盤早期故障檢測的工作,包括三個方面的測試,第一個是做IC的Test,第二個做Burn-in?Test,第三個做Board?Test,即做電路缺陷檢測和故障預(yù)測以及電路早期的故障檢測。

固態(tài)硬盤早期故障預(yù)測

其主要挑戰(zhàn)在于數(shù)據(jù)集的限制和不充分,包括有些特征可能是隱含的,難以提取。在整個晶圓上面如果選擇少量die做訓(xùn)練模型,模型有可能存在精細度比較低,泛化性比較強等問題。 

對此,我們提出了一種在線測試方法,通過篩選高缺陷率的時候才會中斷常規(guī)計算,并選擇在線增量學(xué)習(xí)和遷移學(xué)習(xí)的方法,能夠比較準(zhǔn)確地識別類型故障。這里我們主要做了兩個工作,一個通過滑動窗口的段連接檢測變化點,判斷整體缺陷。另外就是判斷當(dāng)前的故障電池百分比。

與此同時,為了對整體數(shù)據(jù)值進行增強,還在數(shù)據(jù)模型里面加入對編碼器的注意力機制,實現(xiàn)多步驟預(yù)測更加精準(zhǔn)。最后得到預(yù)測結(jié)果之后,我們會發(fā)現(xiàn)通過這些方法可以大幅降低整個SSD出廠之前測試的成本。

這是我們最終的數(shù)據(jù)增強效果,藍色的點是真實的有缺陷的點,紅色的是我們通過人為增強的方式,能夠達到比較好的效果。而且我們會發(fā)現(xiàn)采用GAN的這種方式達到比較好的數(shù)據(jù)增強效果,右邊采用SMART算法則會有一定的缺陷。最終我們可以實現(xiàn)比較好的預(yù)測性能,像F1-Score預(yù)測精度可以達到95%左右,錯判率可以降低到個位數(shù)——7%,時間開銷可以比傳統(tǒng)采用十幾個輪次的檢測方法低80%,相當(dāng)于效率提高4倍,并且比正常的檢測率更高。

另外我們檢測時間可以在40秒左右,即40秒可以對超過兩萬個驅(qū)動器的數(shù)據(jù)做整體的預(yù)測。

以上是我的匯報,現(xiàn)在固態(tài)硬盤故障預(yù)測面臨著很多挑戰(zhàn),今天講的內(nèi)容主要是我們在固態(tài)硬盤廠商測試當(dāng)中面臨的難點,容量密度增大,使得我們需要做更多的測試輪次,從而增加了時間成本。為了解決這個問題,提出了基于GAN的網(wǎng)絡(luò),并且實現(xiàn)更好的數(shù)據(jù)模型,謝謝大家。

分享到

崔歡歡

相關(guān)推薦