本發(fā)明實施例涉及無線通信糾錯,特別是涉及一種多模式切換的譯碼方法、一種多模式切換的譯碼裝置、一種電子設(shè)備以及一種計算機可讀存儲介質(zhì)。
背景技術(shù):
1、在ssd(solid?state?dis,固態(tài)硬盤)存儲領(lǐng)域業(yè)界普遍開始采用的一種糾錯碼是低密度奇偶校驗碼(ldpc碼)。ldpc(low?density?parity?check?code,低密度奇偶校驗碼)作為前向糾錯技術(shù)的一種,具有出色的糾錯能力,其糾錯能力可以趨近于香農(nóng)極限(也稱為信道容量)。ldpc出色的糾錯能力使其成為當前ssd存儲領(lǐng)域廣泛使用的糾錯碼。但是,隨著3d?flash(閃存)堆疊層數(shù)持續(xù)增加以及存儲單元密度的增加,nand(一種非易失性存儲單元)讀寫誤碼率的升高,對ldpc碼字的糾錯能力要求也在不斷提高。為了適用更高要求的存儲場景,業(yè)界開始往高碼率大碼字方向發(fā)展,開始將ldpc的碼長從2kb增大到4kb、8kb、甚至16kb,以提高ldpc的糾錯能力。然而,隨著ldpc碼字的增大,校驗矩陣也隨之增大,ldpc的譯碼功耗和譯碼時延也顯著增加。譯碼時延的增加,會嚴重影響系統(tǒng)的譯碼吞吐量,影響ssd閃存讀出性能。碼字增大還會使得譯碼功耗增大,硬件成本增高。
2、在實際應(yīng)用場景中,絕大多數(shù)情況下,ssd讀寫的誤碼率是較低的,只有在極少數(shù)情況下會出現(xiàn)一個ldpc碼字內(nèi)出現(xiàn)大量錯誤的場景。而ldpc在譯碼過程中,并不會區(qū)分輸入的誤碼數(shù)量多少,這使得在絕大多數(shù)情況下,ldpc碼字的糾錯能力是過剩的,造成功耗的多余的消耗。
技術(shù)實現(xiàn)思路
1、本發(fā)明實施例是提供一種多模式切換的譯碼方法、裝置、電子設(shè)備以及計算機可讀存儲介質(zhì),以解決現(xiàn)有技術(shù)中僅通過單一譯碼模式會導致譯碼功耗和譯碼時延增加的問題。
2、本發(fā)明實施例公開了一種多模式切換的譯碼方法,所述方法包括:
3、對待編碼數(shù)據(jù)進行編碼,得到編碼數(shù)據(jù);
4、在低功耗譯碼模式下,根據(jù)校驗矩陣和自適應(yīng)單元對所述編碼數(shù)據(jù)進行譯碼,得到所述低功耗譯碼模式對應(yīng)的譯碼數(shù)據(jù);所述自適應(yīng)單元用于提供所述低功耗譯碼模式中的第一校驗數(shù)據(jù);
5、若所述編碼數(shù)據(jù)在所述低功耗譯碼模式下譯碼失敗,則將所述低功耗譯碼模式切換至高性能譯碼模式,并將所述自適應(yīng)單元切換為計算單元;
6、在所述高性能譯碼模式下,根據(jù)所述校驗矩陣和所述計算單元對所述編碼數(shù)據(jù)進行譯碼,得到所述高性能譯碼模式對應(yīng)的譯碼數(shù)據(jù);所述計算單元用于計算得到所述高性能譯碼模式中的第二校驗數(shù)據(jù),所述第二校驗數(shù)據(jù)用于更新所述第一校驗數(shù)據(jù)。
7、可選地,所述校驗矩陣包括多個變量節(jié)點,所述在低功耗譯碼模式下,根據(jù)校驗矩陣和自適應(yīng)單元對所述編碼數(shù)據(jù)進行譯碼,得到所述低功耗譯碼模式對應(yīng)的譯碼數(shù)據(jù),包括:
8、根據(jù)所述編碼數(shù)據(jù)對多個所述變量節(jié)點進行初始化處理,得到多個所述變量節(jié)點對應(yīng)的對數(shù)似然比;
9、在所述自適應(yīng)單元中確定所述第一校驗數(shù)據(jù);
10、根據(jù)所述第一校驗數(shù)據(jù)對多個所述變量節(jié)點對應(yīng)的對數(shù)似然比進行更新,得到多個所述變量節(jié)點對應(yīng)的第一后驗對數(shù)似然比;
11、根據(jù)多個所述變量節(jié)點對應(yīng)的第一后驗對數(shù)似然比確定所述低功耗譯碼模式對應(yīng)的譯碼數(shù)據(jù)。
12、可選地,所述校驗矩陣還包括多個校驗節(jié)點,所述在所述高性能譯碼模式下,根據(jù)所述校驗矩陣和所述計算單元對所述編碼數(shù)據(jù)進行譯碼,得到所述高性能譯碼模式對應(yīng)的譯碼數(shù)據(jù),包括:
13、在所述得到多個所述變量節(jié)點對應(yīng)的對數(shù)似然比之后,采集與所述校驗矩陣中每個校驗節(jié)點相連的目標變量節(jié)點發(fā)送的校驗消息;
14、將多個所述校驗消息對應(yīng)的符號值進行乘積計算,得到目標符號值;
15、將在多個所述校驗消息對應(yīng)的絕對值中的最小值確定為目標絕對值;
16、將歸一化因子、所述目標符號值與所述目標絕對值相乘,得到所述第二校驗數(shù)據(jù);
17、根據(jù)所述第二校驗數(shù)據(jù)對多個所述變量節(jié)點對應(yīng)的對數(shù)似然比進行更新,得到多個所述變量節(jié)點對應(yīng)的第二后驗對數(shù)似然比;
18、根據(jù)多個所述變量節(jié)點對應(yīng)的第二后驗對數(shù)似然比確定所述高性能譯碼模式對應(yīng)的譯碼數(shù)據(jù)。
19、可選地,所述根據(jù)多個所述變量節(jié)點對應(yīng)的第一后驗對數(shù)似然比確定所述低功耗譯碼模式對應(yīng)的譯碼數(shù)據(jù),包括:
20、當所述變量節(jié)點對應(yīng)的第一后驗對數(shù)似然比大于判決閾值時,將所述變量節(jié)點對應(yīng)的判決結(jié)果確定為第一預設(shè)數(shù)值;
21、當所述變量節(jié)點對應(yīng)的第一后驗對數(shù)似然比大于所述判決閾值時,將所述變量節(jié)點對應(yīng)的判決結(jié)果確定為第二預設(shè)數(shù)值;
22、將多個所述變量節(jié)點對應(yīng)的判決結(jié)果進行拼接,得到所述低功耗譯碼模式對應(yīng)的譯碼數(shù)據(jù)。
23、可選地,在所述得到所述高性能模式對應(yīng)的譯碼數(shù)據(jù)之后,所述方法還包括:
24、將所述第一校驗數(shù)據(jù)和所述第二校驗數(shù)據(jù)之間的平均值確定為更新校驗數(shù)據(jù);
25、將所述更新校驗數(shù)據(jù)替換所述自適應(yīng)單元中的所述第一校驗數(shù)據(jù),以更新所述第一校驗數(shù)據(jù)。
26、可選地,所述低功耗譯碼模式為默認譯碼模式,在所述得到所述高性能模式對應(yīng)的譯碼數(shù)據(jù)之后,所述方法還包括:
27、將所述低功耗譯碼模式對應(yīng)的失敗次數(shù)進行加一;
28、當所述低功耗譯碼模式對應(yīng)的失敗次數(shù)大于失敗閾值時,則將所述默認譯碼模式切換為所述高性能譯碼模式。
29、可選地,所述對待編碼數(shù)據(jù)進行編碼,得到編碼數(shù)據(jù),包括:
30、將所述校驗矩陣和所述待編碼數(shù)據(jù)進行運算,得到校驗位;
31、將所述校驗位疊加到所述待編碼數(shù)據(jù)上,得到所述編碼數(shù)據(jù)。
32、本發(fā)明實施例還公開了一種多模式切換的譯碼裝置,所述裝置包括:
33、編碼模塊,用于對待編碼數(shù)據(jù)進行編碼,得到編碼數(shù)據(jù);
34、低功耗譯碼模塊,用于在低功耗譯碼模式下,根據(jù)校驗矩陣和自適應(yīng)單元對所述編碼數(shù)據(jù)進行譯碼,得到所述低功耗譯碼模式對應(yīng)的譯碼數(shù)據(jù);所述自適應(yīng)單元用于提供所述低功耗譯碼模式中的第一校驗數(shù)據(jù);
35、切換模塊,用于若所述編碼數(shù)據(jù)在所述低功耗譯碼模式下譯碼失敗,則將所述低功耗譯碼模式切換至高性能譯碼模式,并將所述自適應(yīng)單元切換為計算單元;
36、高性能譯碼模塊,用于在所述高性能譯碼模式下,根據(jù)所述校驗矩陣和所述計算單元對所述編碼數(shù)據(jù)進行譯碼,得到所述高性能譯碼模式對應(yīng)的譯碼數(shù)據(jù);所述計算單元用于計算得到所述高性能譯碼模式中的第二校驗數(shù)據(jù),所述第二校驗數(shù)據(jù)用于更新所述第一校驗數(shù)據(jù)。
37、本發(fā)明實施例還公開了一種電子設(shè)備,包括處理器、通信接口、存儲器和通信總線,其中,所述處理器、所述通信接口以及所述存儲器通過所述通信總線完成相互間的通信;
38、所述存儲器,用于存放計算機程序;
39、所述處理器,用于執(zhí)行存儲器上所存放的程序時,實現(xiàn)如本發(fā)明實施例所述的方法。
40、本發(fā)明實施例還公開了一種計算機程序產(chǎn)品,該程序產(chǎn)品被存儲在存儲介質(zhì)中,該計算機程序產(chǎn)品被至少一個處理器執(zhí)行以實現(xiàn)如本發(fā)明實施例所述的方法。
41、本發(fā)明實施例還公開了一種計算機可讀存儲介質(zhì),其上存儲有指令,當由一個或多個處理器執(zhí)行時,使得所述處理器執(zhí)行如本發(fā)明實施例所述的方法。
42、本發(fā)明實施例包括以下優(yōu)點:
43、在本發(fā)明實施例中,通過對待編碼數(shù)據(jù)進行編碼,得到編碼數(shù)據(jù);在低功耗譯碼模式下,根據(jù)校驗矩陣和自適應(yīng)單元對所述編碼數(shù)據(jù)進行譯碼,得到所述低功耗譯碼模式對應(yīng)的譯碼數(shù)據(jù);所述自適應(yīng)單元用于提供所述低功耗譯碼模式中的第一校驗數(shù)據(jù);若所述編碼數(shù)據(jù)在所述低功耗譯碼模式下譯碼失敗,則將所述低功耗譯碼模式切換至高性能譯碼模式,并將所述自適應(yīng)單元切換為計算單元;在所述高性能譯碼模式下,根據(jù)所述校驗矩陣和所述計算單元對所述編碼數(shù)據(jù)進行譯碼,得到所述高性能譯碼模式對應(yīng)的譯碼數(shù)據(jù);所述計算單元用于計算得到所述高性能譯碼模式中的第二校驗數(shù)據(jù),所述第二校驗數(shù)據(jù)用于更新所述第一校驗數(shù)據(jù)。
44、本發(fā)明實施例提供的譯碼方法,在譯碼時提供了低功耗譯碼模式和高性能譯碼模式兩種模式,以靈活地適配不同的誤碼場景,低功耗譯碼模式可以在低誤碼場景下提供更優(yōu)的功率特性,高性能譯碼模式可以保證高誤碼場景下的糾錯性能,其中,低功耗譯碼模式為默認譯碼模式,在低功耗譯碼模式譯碼失敗的情況下,會自動切換到高性能譯碼模式,以保證最終的譯碼性能。其次,在低功耗譯碼模式中所需要的第一校驗數(shù)據(jù)可以通過自適應(yīng)更新,進而優(yōu)化低功耗譯碼模式的糾錯性能,而在低功耗譯碼模式的基礎(chǔ)上,通過計算單元計算第二校驗數(shù)據(jù),實現(xiàn)了糾錯性能的提升,相比較單個高性能譯碼模式,邏輯資源會減小。