閃存的形態(tài)很多時就存在著很多問題,比如可靠性,比如壽命,如何對閃存進行評測和標準制定呢?
首先,為什么要制定標準?所有信息產(chǎn)業(yè)的發(fā)展歷程是一條線路——第一階段是解決從無到有的問題,沒有CPU就造CPU。第二階段是滿足基本需求,產(chǎn)品能投入應用。第三階段,掌握核心技術(shù),參與標準制定,最后就是形成完整的產(chǎn)業(yè)鏈。
而形成完整的產(chǎn)業(yè)鏈一定是標準先行。
閃存的發(fā)展歷程中,早期是各國亂戰(zhàn)局面。2006年,由于接口不同,接口命令也不同,彼此之間無法兼容,六家廠商成立聯(lián)盟——開放式NAND閃存接口,即ONFI。2007年,三星和東芝聯(lián)手推出了Toggle接口標準。好處是后端使用芯片可以快速開發(fā),真正落地到產(chǎn)品。ONFI和Toggle也就是我們現(xiàn)在用的閃存接口標準。
對國內(nèi)的存儲,從介質(zhì)到控制器到設備及各類存儲軟件,我們已經(jīng)有了一定的生態(tài)系統(tǒng)和產(chǎn)業(yè)鏈。圍繞從下層到上層的過程也在制定不同的存儲類標準,比如云存儲標準,閃存標準等。
但協(xié)議和標準也存在一些問題。很多來自國外直接翻譯,并且為了保證兼容性,我們無法加入自主協(xié)議。此外還存在測評體系不完善的問題,說明評價標準還沒有評價起來。
比如我們有很多的SSD廠商,如何比較各個盤?這不是簡單的0和1的過程,不同的SSD本來應用不一樣,一個是消費級的SSD或企業(yè)級的SSD,或者軍工級的SSD級,一開始針對不同應用時,設計主控的體系架構(gòu)完全不同,比如用到軍工時考慮的最關鍵因素是環(huán)境適應性,這時候需要犧牲性能,降低讀寫性能保證寬溫的特性。閃存介質(zhì)本身并不完美,因此我們要制定一系列的標準。
閃存是什么樣的介質(zhì)?
對于閃存來講,增加容量有三種技術(shù):
首先把樓蓋高,采用堆疊方式提高容量。
第二是讓房間里坐得“人”越多越好,采用了多位方式。
第三是房間里做得“人”越瘦越好,可以放得更多。
用這三種方式提高容量,我們看到的是“人”擠“人”,會導致數(shù)據(jù)存進去之后彼此之間的串擾增大,導致可靠性降低。
另外一個問題在于閃存的機理決定了會有壽命受限問題。對閃存來講,存數(shù)據(jù)靠得是三層,寫時把電荷往里寫,會導致相關漏洞,存儲電荷能力變?nèi)酰@是閃存存在的壽命問題。
多值存儲時,讓閾值電壓分布變得很窄。寫入次數(shù)增多,即PE增加時,閾值電壓的分布在展寬,這時面臨的問題是,兩個數(shù)據(jù)之間進行交叉,數(shù)據(jù)會出錯,其實是氧化層的磨損和退化造成的。
另外一個問題是,當采用3D方式時,單元間耦合電容變大,這就存在可靠性的問題。
到底如何衡量閃存的壽命?
閃存是數(shù)據(jù)存儲的基石或存儲的單元。硬盤唯一的缺點是數(shù)據(jù)能存就存,不能存就報錯。而閃存是漸變退化的方式。何時芯片壽命終止?當PE次數(shù)增加時,PE的可靠性越來越低,閾值電壓的展寬變大。當錯誤率隨閾值電壓漂移增加時,誤碼率越來越嚴重,當達到ECC糾錯能力時就被認為是壽命終止。
ECC做糾錯時有一個最大糾錯能力,當達到最大糾錯能力時會輸出錯誤數(shù)據(jù),這時輸出的數(shù)據(jù)不可用,可以從這個角度判斷芯片的壽命終止。
整個誤碼率最后和哪幾個因素有關?和PE有關,但和讀的次數(shù)也有關系。為什么會這樣?從這些方面來看,我們是否有辦法對閃存芯片進行快速測試,告訴大家閃存的壽命或?qū)儆谀膫€級別的閃存,給哪一類用戶使用,這是我們想要做的一件事情。
我們發(fā)現(xiàn),如果能建立一個規(guī)則的模型做這件事情很難,因為本來所呈現(xiàn)出來的所有的數(shù)據(jù)關系都是非線性關系。第二,不同批次的閃存,不同廠家的閃存所面臨的現(xiàn)象完全不一樣,沒有辦法統(tǒng)一建模。最簡單的方法是機器學習的方法,可以用黑盒的方式進行表示。
除了編程延遲和擦除延遲可以判斷壽命,還可以用原始誤碼率的總數(shù),原始錯誤調(diào)和平均值等多元化數(shù)據(jù)的方式。
基于AI對閃存的數(shù)據(jù)進行預測,首先對閃存芯片進行測試?;谀承┕潭≒E的周期實驗獲取序列數(shù)據(jù)集。我們采用的方式是每一個PE周期記錄數(shù)據(jù)。這時候?qū)懭胧裁礃拥哪J剑缓蟛杉卣鲾?shù)據(jù)集,在這個過程中,特征數(shù)據(jù)集采用得是剛才分析的數(shù)據(jù),然后基于機器學習訓練方法進行訓練,在訓練過程中采用GP(遺傳編程)的算法和人工神經(jīng)網(wǎng)絡的方法,其實有更多AI的方面可以嘗試。
關于輸出,基于AI計算時輸出可以選擇,在輸出過程中選了兩類,一類是剩余壽命一類是百分比,進行動態(tài)學習的過程。
還有采用的另一種方法是CNN(卷積神經(jīng)網(wǎng)絡)的方法,好處是自學習、自適應、自組織,比較適合用非線性系統(tǒng)進行建模。關于如何對閃存壽命進行評測,我們寫了一個基本框架,即對于閃存壽命測試的基本框架。我們也有不同的測試方式,這不一定完善,今天拋出來,希望各個廠商可以給更多指導意見。在試驗方法方面,對故障的類型以及耐久力等進行測試,最后會形成一套評估方法給出對于該閃存屬于什么樣的等級和壽命,給大家做指導性的標準。
今天主要是拋磚引玉大家一起討論,謝謝各位同行,請批評指正。
(本文未經(jīng)演講人審核)