以下內(nèi)容根據(jù)現(xiàn)場演講速記整理(未經(jīng)演講人嚴(yán)格校對,僅供參考學(xué)習(xí)):
今天,我想分享的主題是“固態(tài)存儲系統(tǒng)中ECC的演進與優(yōu)化”。ECC在通信信號處理和數(shù)據(jù)存儲領(lǐng)域都非常關(guān)鍵,特別是在主控芯片中,ECC功能實現(xiàn)占據(jù)了大量芯片面積。
我們首先關(guān)注數(shù)據(jù)存儲所面臨的挑戰(zhàn)。
第一個挑戰(zhàn)是數(shù)據(jù)存不下的問題。數(shù)據(jù)爆炸式增長,現(xiàn)有存儲的容量增速跟不上這種增長速度。雖然當(dāng)前存儲尚可應(yīng)對,但長遠來看,存儲容量不足是一個必然的問題。
第二個挑戰(zhàn)是如何在不可靠的存儲介質(zhì)上實現(xiàn)可靠的數(shù)據(jù)存儲。不同類型的存儲介質(zhì),如固態(tài)存儲、磁存儲和光存儲,它們的可靠性都不是絕對的。我們需要從器件底層和信號處理(包括ECC)等方面來提高數(shù)據(jù)存儲的可靠性。
第三個挑戰(zhàn)是滿足復(fù)雜業(yè)務(wù)需求下對存儲性能的要求,如低延時、高并發(fā)性和安全性等。
最后一個挑戰(zhàn)是持續(xù)追求綠色低碳的目標(biāo),特別是如何用較低的能耗存儲大量數(shù)據(jù)。
如今固態(tài)存儲被廣泛應(yīng)用,但由于NAND可靠性相對較低,我們在研發(fā)SSD主控時,不得不尋求從不同層面提升其存儲可靠性。
過去多年以來,為了追求更高的存儲容量,我們不斷縮小芯片制程尺寸,并采用多電平技術(shù),采用3D垂直存儲。這種技術(shù)雖然提升了存儲容量,但同時也降低了存儲可靠性。
在信道分析方面,我們觀察到,在不斷的擦寫(P/E)過程中,原始誤碼率不斷增加,導(dǎo)致閃存信道不斷惡化。這種情況下,如何設(shè)計更加適合的ECC成為一個挑戰(zhàn)。
由于存儲內(nèi)部結(jié)構(gòu)的復(fù)雜性,我們需要考慮不同層次的原始誤碼率。在通信領(lǐng)域,信道相對簡單,但在flash存儲中,不同層的特性不一,這導(dǎo)致傳統(tǒng)的信道編碼方法不再適用。
為了提高可靠性,我們采用了先進的信號處理技術(shù)(DSP)來提升信道檢測的性能,在前期檢測階段可以大幅降低原始誤碼率。另外,還采用ECC差錯控制編碼技術(shù),來糾正更多的錯誤。
主控芯片內(nèi)部的數(shù)據(jù)流涉及多個ECC環(huán)節(jié),這些ECC環(huán)節(jié)在數(shù)據(jù)傳輸和存儲的不同階段有不同的要求。
對固態(tài)數(shù)據(jù)存儲而言,隨著從單層SLC到多層閃存的發(fā)展,誤碼率增加的同時,對ECC的要求也隨之提升。最初我們使用的是BCH碼,這是一種代數(shù)碼。隨著原始誤碼率的增加,我們改進了BCH碼,并開始使用LDPC碼,從短碼發(fā)展到更長的碼,以提升糾錯性能。
對于LDPC碼,我們采用了硬判決和軟判決的方法。在初期,可以使用硬判決,而后期則需要使用軟判決。
我們對ECC的優(yōu)化設(shè)計需要考慮到信道動態(tài)匹配,也要考慮譯碼結(jié)構(gòu),好的譯碼結(jié)構(gòu)對于高吞吐量非常重要。此外,還要考慮實現(xiàn)的復(fù)雜度,要能夠快速收斂,如果迭代的次數(shù)過多,那就會對時延帶來很大影響。
我曾經(jīng)從事通信領(lǐng)域的研究,后來轉(zhuǎn)向存儲領(lǐng)域。我發(fā)現(xiàn),無論是通信還是存儲,它們的本質(zhì)都是實現(xiàn)信息的傳輸,區(qū)別僅在于通信是在空間上進行信息傳輸,而存儲則是在時間軸上進行。因此,通信領(lǐng)域的技術(shù)同樣適用于數(shù)據(jù)存儲。
ECC的發(fā)展歷史悠久,從最早的糾錯碼、格雷碼、漢明碼、卷積碼,到BCH碼和RS碼,這些都是很好的代數(shù)碼,但代數(shù)碼缺乏好的譯碼算法,所以,在閃存的應(yīng)用中逐步被LDPC碼替代了。
LDPC碼在60年代就出現(xiàn)了,但由于算力有限,它的譯碼就沒有辦法來實現(xiàn)。隨著計算處理能力的提升,LDPC碼的譯碼成為可能。隨著糾錯碼的發(fā)展,譯碼算法也在不斷優(yōu)化和進步,我們看到,第五代通信中開始使用極化碼。
我們通過圖表展示了不同編碼的糾錯能力和容量線逼近程度。從圖中可以看出,不同碼的糾錯能力不同,左側(cè)漢明碼的糾錯能力很差,越靠右,糾錯能力越強。
前面對LDPC做了介紹,最近,全局耦合LDPC碼(GC-LDPC碼)在通信和存儲領(lǐng)域都顯示出了良好的應(yīng)用前景。
它最大的特點是可以并行譯碼,以提高譯碼速度,這樣一來,在閃存使用的初期僅使用短碼就可以。到后期,隨著誤碼率增加,就可以用全局耦合的LDPC碼,它有很高的吞吐率,并行度和收斂方面也有很好的性能,可以提升它的糾錯能力
然而,全局耦合的LDPC碼也有一些問題。首先,在編碼時的復(fù)雜度會有些提高。而且,譯碼過程中如有全局譯碼不通過的情況,它需要把前面所有的譯碼塊都帶進來,重新進行譯碼,這樣會造成時延的增加。
因此,我們提出了改進型的GC-LDPC碼,對它的較驗矩陣進行了全新的優(yōu)化。優(yōu)化后降低了編碼復(fù)雜度,同時,在全局譯碼過程中,碼塊譯碼成功后,就不需要重新譯碼了。經(jīng)測試發(fā)現(xiàn),到跟傳統(tǒng)的碼相比來說,改進后的GC-LDPC性能有一個比較大的提升。
總的來說,隨著閃存容量的增加,它對ECC提出了更高要求。而新型的GC-LDPC碼能夠很好地適應(yīng)這些要求,提高存儲系統(tǒng)的可靠性和性能。前期可以通過并行分布進行譯碼,后期,當(dāng)信道比較差的時候,則通過引入全局迭代來提升糾錯能力。
最后,我想簡單介紹一下我們的團隊。我們的團隊包括十多名老師和60至70名學(xué)生,我們不僅研究通信,還研究數(shù)據(jù)存儲。
我們的研究方向包括器件特性分析、信道建模、LDPC硬件實現(xiàn)和DNA數(shù)據(jù)存儲等。在DNA數(shù)據(jù)存儲領(lǐng)域,ECC需要解決的錯誤類型與傳統(tǒng)通信領(lǐng)域不同,這也是我們研究的重點之一。
感謝大家的聆聽,這就是我的分享。
以上內(nèi)容根據(jù)現(xiàn)場速記整理,由于內(nèi)容涉及較多專業(yè)內(nèi)容,如有錯誤歡迎指出。