作者:-1????發(fā)布時間:2021-06-24 10:07 ????瀏覽次數(shù) :
隨著NAND Flash的制程越來越先進(jìn)、單個Cell里面的bit數(shù)量不斷增加,數(shù)據(jù)錯誤率也隨之增長,因此市場對SSD主控的糾錯能力要求越來越高,糾錯技術(shù)已經(jīng)成為SSD主控廠商的核心技術(shù)能力。
目前的SSD主控芯片大都采用LDPC編碼來做ECC糾錯,但是受限于芯片面積等因素,主流量產(chǎn)的主控芯片主要采用2K LDPC編碼。英韌科技2018年推出了4K LDPC并在2019年實(shí)現(xiàn)量產(chǎn)出貨。在同樣的碼率下(糾錯碼使用bit數(shù)量一樣),實(shí)測4K LDPC糾錯比2K方案降低UBER至少兩個數(shù)量級以上,大大提高糾錯性能。除此以外,英韌主控采用自主研發(fā)的LDPC專利算法,在解碼算法迭代的時候,實(shí)時動態(tài)更新并優(yōu)化解碼規(guī)則,因此糾錯能力比同類競爭對手方案提高30%。
不過在芯片中實(shí)現(xiàn)4K LDPC的難度還是很大的,如果不做優(yōu)化,相當(dāng)于至少2個2K LDPC,因此對面積、功耗都有極大的挑戰(zhàn)和要求。 英韌科技從芯片架構(gòu)設(shè)計開始,就考慮到了這些問題,比如針對不同的功耗,復(fù)雜度和吞吐率等需求,研發(fā)了多種不同性能的LDPC解碼專利算法,同時利用機(jī)器學(xué)習(xí)和人工智能技術(shù)對各種解碼算法進(jìn)行結(jié)構(gòu)和參數(shù)優(yōu)化,使得這些算法硬件復(fù)雜度和在滿足各自的需求方面都達(dá)到最優(yōu)。最終實(shí)現(xiàn)功耗和面積達(dá)到現(xiàn)有條件下的極致優(yōu)化,遠(yuǎn)遠(yuǎn)小于2K LDPC的2倍。
現(xiàn)在和未來的SSD主控芯片廠商必須要有糾錯算法的自研能力才能在主控設(shè)計中游刃有余。
英韌科技的LDPC糾錯碼核心完全自主可控,其糾錯技術(shù)優(yōu)勢主要體現(xiàn)在兩方面的研發(fā)、設(shè)計能力。一方面是研發(fā)設(shè)計LDPC糾錯碼。如何設(shè)計以及構(gòu)造性能優(yōu)異的LDPC校驗(yàn)矩陣是至關(guān)重要的一步,這是因?yàn)長DPC校驗(yàn)矩陣的設(shè)計構(gòu)造往往決定了LDPC糾錯碼的糾錯性能和編解碼算法的實(shí)現(xiàn)復(fù)雜度,如果校驗(yàn)矩陣設(shè)計考慮不周到或設(shè)計不好,僅僅靠解碼算法很難將錯誤平層(Error Floor)降低到不影響系統(tǒng)性能的水平,而且會增加LDPC編解碼算法的實(shí)現(xiàn)復(fù)雜度,帶來芯片功耗的增加和成本的上升以及系統(tǒng)性能的下降。
另一方面是解碼算法,閃存顆粒隨著讀寫次數(shù)增加,錯誤率會逐漸上升。英韌科技的解碼算法可以自適應(yīng)調(diào)整解碼算法的流程,在最低功耗、最低延時的情況下做到解碼成功。
基于以上兩方面的技術(shù)優(yōu)勢,英韌主控的糾錯于設(shè)計之初就從底層原理出發(fā),對矩陣構(gòu)造和編解碼算法都有許多精妙的優(yōu)化,實(shí)現(xiàn)了很多突破。最終糾錯能力極強(qiáng),發(fā)生糾錯失敗從而觸發(fā)重讀的概率很小,同時糾錯算法消耗的數(shù)據(jù)讀取延遲短、功耗低。比如從主機(jī)發(fā)讀命令到讀取數(shù)據(jù),主控的時延只需要10微秒!
目前市場上有多家閃存廠商,每家也有很多型號的閃存芯片,每年也推出最新的產(chǎn)品,這就對ECC糾錯提出了一個更高難度的任務(wù):能否支持各種各樣閃存芯片和未來可能出現(xiàn)的新閃存芯片?如果對閃存芯片支持不好,就將給客戶在選擇采購閃存芯片時造成了很多限制。
英韌主控的ECC引擎做成了指令集的形式,可以通過軟件程序動態(tài)配置,更通用化,能夠靈活適配各種閃存顆粒。同樣的NAND在不同生命周期的時候,還可以使用不同的LDPC糾錯碼。比如可以根據(jù)壽命改變碼長,早期放少一些,后期放多一些。這樣使得SSD系統(tǒng)在犧牲少許容量的情況下延長使用壽命。這種能力為更高效的使用SSD系統(tǒng)提供了一個可能,讓接近使用壽命的SSD系統(tǒng)繼續(xù)發(fā)揮余熱,為使用SSD系統(tǒng)的客戶提供了一種新的降低成本避免資源浪費(fèi)的解決方案。
英韌科技一直在持續(xù)不斷的對LDPC糾錯碼進(jìn)行研究,對現(xiàn)有的SSD控制器中的LDPC編解碼模塊,設(shè)計了用于未來升級的接口協(xié)議。當(dāng)一個新的性能更好的LDPC碼產(chǎn)生出來,可以通過該升級接口協(xié)議對現(xiàn)有的SSD控制器的LDPC編解碼模塊進(jìn)行升級,使得用戶能夠及時享受到英韌的最新研究成果,延長客戶產(chǎn)品的使用周期和壽命。
每一個ECC引擎都相當(dāng)于一個小CPU,幾個ECC引擎就相當(dāng)于多核并行處理器系統(tǒng)。ECC引擎的擴(kuò)展性非常重要,因?yàn)镾SD主控的性能不斷提升,要求每個ECC核心的性能很強(qiáng),同時支持多核擴(kuò)展。英韌ECC單核糾錯速度可以到32Gbps。即使是PCIe Gen 5的主控,也只需要增加ECC核心,而不用太大改動,芯片研發(fā)速度因此可以大大加快。
但是ECC引擎多了之后,功耗也會隨之升高。以英韌科技的PCIe Gen4主控Rainier為例,主要通過以下幾種方式,實(shí)現(xiàn)目前市場上PCIe主控芯片的最強(qiáng)性能和最低功耗:
1. 采用先進(jìn)的12nm工藝,相較于市場上采用28nm工藝的PCIe Gen4的SSD主控,良好控制溫度,提高用戶體驗(yàn);
2. 在不工作的時候降低或者關(guān)閉時鐘頻率;
3. LDPC會有大量的片內(nèi)存儲器訪問,導(dǎo)致功耗高。英韌主控的內(nèi)部數(shù)據(jù)搬移非常少,大幅降低功耗;
4. LLR Table的選擇也是做了很多優(yōu)化,不刻意追求高精度。