用于多階段軟輸入解碼的系統(tǒng)和方法
【專利說明】
[0001] 相關(guān)申請的奪叉引用
[0002] 本公開要求根據(jù)35U.S.C. § 119(e)于2013年3月21日提交的美國臨時申請?zhí)?61/803, 894和于2014年3月5日提交的美國申請?zhí)?4/197,426的權(quán)利,其以整體內(nèi)容通 過引用并入本文。
技術(shù)領(lǐng)域
[0003] 本公開總體涉及數(shù)據(jù)解碼,更特別地涉及具有軟輸入的閃存控制器中的多階段 (multi-stage)解碼器。
【背景技術(shù)】
[0004] 數(shù)據(jù)存儲、衛(wèi)星通信、無線通信、有線通信、以及電力線通信是每個可以使用諸如 LDPC碼來編碼和解碼數(shù)據(jù)的應(yīng)用。設(shè)備(諸如數(shù)碼相機閃存存儲器、衛(wèi)星、移動電話、和其 它移動設(shè)備)每個也可以使用LDPC碼和LDPC解碼器。
[0005] 錯誤校正碼用于糾正在噪聲數(shù)據(jù)存儲器或通信信道中傳送的信息中的錯誤。該信 息可以在傳送之前(通過LDPC編碼器)編碼,然后當(dāng)被接收時,隨后(通過LDPC解碼器) 解碼。LDPC碼是表現(xiàn)最好的錯誤糾正碼之一,與Turbo碼一起用于校正在通信和數(shù)據(jù)存儲 信道上傳送的信息中的錯誤。
[0006] 常規(guī)的硬解碼LDPC技術(shù)通常僅基于是否未滿足給定數(shù)目的校驗來確定是否翻轉(zhuǎn) 比特或者更新符號(symbol)值。例如,可以基于哪些更新后的符號的組合最有可能減少未 滿足的校驗節(jié)點的數(shù)目來選擇一個或多個符號值進行更新。
【發(fā)明內(nèi)容】
[0007] 根據(jù)本公開的實現(xiàn)方式,提供了用于對數(shù)據(jù)進行解碼的系統(tǒng)和方法。第一解碼器 嘗試基于用于符號的硬判決輸入來解碼數(shù)據(jù)。當(dāng)基于硬判決輸入來解碼數(shù)據(jù)的嘗試失敗 時,傳送針對用于符號的可靠性信息的請求。接收電路接收用于符號的可靠性信息,并且第 二解碼器基于可靠性信息來解碼數(shù)據(jù)。
[0008] 在一些實現(xiàn)方式中,當(dāng)?shù)谝唤獯a器嘗試基于用于符號的硬判決輸入來解碼數(shù)據(jù)失 敗時,可以丟棄用于符號的硬判決輸入,并且可以傳送針對另一硬判決輸入的請求。在一些 實現(xiàn)方式中,當(dāng)?shù)谝唤獯a器基于用于符號的硬判決輸入來解碼數(shù)據(jù)的嘗試失敗時,硬判決 輸入被存儲在存儲器中。
[0009] 在一些實現(xiàn)方式中,第二解碼器基于硬判決輸入和可靠性信息來解碼數(shù)據(jù)。在一 些實現(xiàn)方式中,在傳送對存儲器執(zhí)行讀取操作的指令之后,接收用于符號的硬判決輸入。通 過對存儲器執(zhí)行一個或多個附加的讀取操作來獲得可靠性信息。在一些實現(xiàn)方式中,可靠 性信息包括至少兩個比特。
[0010] 根據(jù)本公開的實現(xiàn)方式,系統(tǒng)包括第一解碼器、發(fā)送器、接收器、和第二解碼器。第 一解碼器被配置成嘗試基于用于符號的硬判決輸入來解碼數(shù)據(jù)。發(fā)送器被配置成當(dāng)?shù)谝唤?碼器基于用于符號的硬判決輸入來解碼數(shù)據(jù)的嘗試失敗時,傳送針對用于符號的可靠性信 息的請求。接收器被配置成接收用于符號的可靠性信息。第二解碼器被配置成基于可靠性 信息來解碼數(shù)據(jù)。
[0011] 在一些實現(xiàn)方式中,在傳送對存儲器執(zhí)行讀取操作的指令之后,接收用于符號的 硬判決輸入。該存儲器是NAND閃存。在一些實現(xiàn)方式中,通過對存儲器執(zhí)行一個或多個附 加的讀取操作來獲得可靠性信息。
【附圖說明】
[0012] 在結(jié)合附圖考慮以下【具體實施方式】后,本公開的包括其性質(zhì)和其各種優(yōu)點的上述 和其它特征將變得更明顯,附圖中:
[0013] 圖1是根據(jù)本公開的實施例的采用LDPC解碼的說明性通信系統(tǒng)的框圖;
[0014]圖2A和圖2B是根據(jù)本公開的實施例的代表所接收的碼字的符號的變量節(jié)點和用 于解碼所接收的碼字的校驗節(jié)點之間的通信的圖形說明;
[0015]圖3是根據(jù)本公開的實施例的用于多階段解碼的說明性系統(tǒng)的框圖;
[0016]圖4是根據(jù)本公開的實施例的用于混合碼字解碼的說明性過程的流程圖;和
[0017] 圖5是根據(jù)本公開的實施例的用于多階段解碼的說明性過程的流程圖。
【具體實施方式】
[0018]本公開一般涉及在解碼器處執(zhí)行解碼。為了提供本公開的總體理解,現(xiàn)在,將描述 某些說明性實施例,包括基于硬判決輸入和任選地軟信息執(zhí)行解碼的多階段解碼器。然而, 本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解,對于正在處理的應(yīng)用若適宜,則可以適應(yīng)并且修改本文 中所描述的系統(tǒng)和方法,而且應(yīng)當(dāng)理解,本文中所描述的系統(tǒng)和方法可以在其它合適的應(yīng) 用中采用,并且應(yīng)當(dāng)理解,這樣的其它添加和修改將不會背離其范圍。
[0019]在一些通信系統(tǒng)(諸如某些閃存單元)中,在可以獲得關(guān)于硬判決的可靠性數(shù)據(jù) 之前,解碼器可以獲得數(shù)據(jù)估計值(或硬判決數(shù)據(jù))。本文中所描述的系統(tǒng)和方法允許在多 個階段進行解碼,而不是在解碼開始之前,迫使軟解碼器等待,直到可以獲得硬判決和可靠 性數(shù)據(jù)兩者為止。當(dāng)可以獲得硬判決時,本公開的解碼系統(tǒng)和方法在第一階段中執(zhí)行硬解 碼。如果在第一階段的解碼失敗,則可以傳送針對可靠性信息的請求,并且可以在使用硬判 決和可靠性信息的組合的第二階段嘗試解碼。
[0020] 圖1示出了根據(jù)本公開的一些實施例的部分基于可靠性輸入進行解碼的說明性 通信系統(tǒng)100。通信系統(tǒng)100用于將來自發(fā)送用戶或應(yīng)用102的信息傳送到接收用戶或應(yīng) 用130。發(fā)送用戶或應(yīng)用102代表產(chǎn)生信息的對象或?qū)嶓w。例如,發(fā)送用戶或應(yīng)用102可以 與計算機系統(tǒng)中的軟件程序或無線電系統(tǒng)中的無線通信發(fā)送器的組件相對應(yīng)。發(fā)送用戶或 應(yīng)用102產(chǎn)生數(shù)據(jù)流形式的信息,并且該數(shù)據(jù)流可以由已經(jīng)被例如源編碼器(圖1中未示 出)預(yù)處理過的符號值的序列來代表。由發(fā)送用戶或應(yīng)用102產(chǎn)生的信息可以與語音信息、 視頻信息、金融信息、或可以以數(shù)字或模擬形式來代表的任何其它類型的信息相對應(yīng),并且 由發(fā)送用戶或應(yīng)用102產(chǎn)生的數(shù)據(jù)流可以是數(shù)字數(shù)據(jù)流。
[0021] 發(fā)送用戶或應(yīng)用102可以將數(shù)據(jù)流分割或以其它方式劃分成固定長度為k個符號 的塊。特別地,消息104 (也被稱為m)代表這些塊中的一個。特別地,消息104的長度為k 個符號,其中,每個符號可以是二進制數(shù)據(jù)或非二進制數(shù)據(jù)(諸如三元數(shù)據(jù)、四元數(shù)據(jù)、任 何其它合適類型的數(shù)據(jù)、或其任何合適的組合)。編碼器106用于編碼消息104以產(chǎn)生碼字 110。在本公開的一個實施例中,編碼器106是LDPC編碼器。然而,基于本公開和本文中所 提供的教導(dǎo),應(yīng)該清楚的是,編碼器106可以是任何其它合適的編碼器。碼字110 (也被稱 為c)的長度為n個符號,其中n>k。編碼器106使用生成器矩陣G108(為標(biāo)記方便也稱為 G)來產(chǎn)生碼字110。例如,編碼器106可以執(zhí)行一個或多個矩陣運算以將消息104轉(zhuǎn)換成 碼字110。在實施例中,編碼器106通過以下矩陣乘法使用生成器矩陣G108由消息104產(chǎn) 生碼字110 :
[0022] c=Gm
[0023] 碼字110可以被調(diào)制或以其它方式由調(diào)制器112變換成適合在信道114上發(fā)送和 /或存儲的波形。例如,波形可以與模擬二進制相移鍵控(BPSK)信號、模擬相移鍵控(PSK) 信號、模擬頻移鍵控(FSK)信號、模擬正交幅度調(diào)制(QAM)信號、或任何其它合適的模擬或 數(shù)字信號相對應(yīng)。
[0024] 信道114是指物理介質(zhì),在解調(diào)器116處被恢復(fù)之前,所發(fā)送的波形穿過該物理介 質(zhì)或者存儲在該物理介質(zhì)上。例如,信道114可以是代表計算機系統(tǒng)環(huán)境中的存儲介質(zhì)的 存儲信道、或代表無線通信環(huán)境中的無線傳播環(huán)境的通信信道。信道114的各種特點可以 損壞在其上傳達或存儲的數(shù)據(jù)。例如,信道114可以是非理想的無記憶信道或有記憶信道; 信道114可以是擦除信道,并且可以是對稱的或不對稱的。信道114的輸出由解調(diào)器116 進行解調(diào)和處理以產(chǎn)生所接收的碼字118。解調(diào)器116可以使用頻率濾波器、借助周期函數(shù) 的乘法和積分、和/或任何其它合適的解調(diào)技術(shù)來解調(diào)和/或處理信道114的輸出。
[0025] 所接收的碼字118包含與碼字110有關(guān)的信息并且可以是由編碼器106最初輸 出的碼字110的損壞的或以其它方式更改的版本。例如,所接收的碼字118可以包含碼字 110的初步估計值或噪聲版本、由編碼器106產(chǎn)生的碼字的可能值的概率分布矢量、或這些 的組合以及其它值。
[0026] 檢測器120用于處理所接收的碼字118,以產(chǎn)生檢測器樣本122,其可以是原始數(shù) 據(jù)消息104的估計值,在本文中也被稱為一個或多個硬判決。該檢測器120采樣所接收的 碼字118中的每個符號,并且基于符號值將每個符號分配給倉(bin)。在一些實施例中,倉 基于概率分布進行分配。由檢測器120采樣的每個符號可以被分配給兩個以上的可能的倉 或狀態(tài)中的一個。對于檢測器樣本122而確定的狀態(tài)被存儲在存儲器中作為樣本碼字。該 存儲器被稱為"硬判決存儲器",其可以處于與所接收的碼字118不同的存儲位置。
[0027] 在一些實施例中,信道114被讀取多次,并且多次讀取可以由解調(diào)器116、檢測器 120、或兩者共同或單獨處理,以生成除了硬判決樣本碼字之外的可靠性數(shù)據(jù)。例如,為了確 定存儲在閃存存儲器設(shè)備中的給定符號的輸入狀態(tài),存儲符號的所接收的值的存儲器信元 (memorycell)可以被讀取多于一次。與相同符號相對應(yīng)的信道114的多次讀取可以由檢 測器120進行處理,以生成可靠性數(shù)據(jù)和硬判決數(shù)據(jù)形式的檢測器樣本122。例如,在二進 制碼中,信道114的多次讀取可以由解調(diào)器116、檢測器120、或兩者進行處理,以針對樣本 碼字中的每個比特生成一個比特硬判決數(shù)據(jù)和一個比特可靠性數(shù)據(jù)。在另一示例中,