具有使用定標常數的可變節點更新器的ldpc解碼器的製造方法
2023-12-09 03:41:06
具有使用定標常數的可變節點更新器的ldpc解碼器的製造方法
【專利摘要】本發明涉及具有使用定標常數的可變節點更新器的LDPC解碼器。計算與從多個可變節點中的一個轉向多個校驗節點中的一個相關聯的第一消息,其中:(1)所述多個可變節點與所述多個校驗節點之間的一個或多個連接被LDPC奇偶校驗矩陣規定並且(2)定標常數被用來計算所述第一消息。計算與從所述多個校驗節點中的一個轉向所述多個可變節點中的一個相關聯的第二消息,其中所述定標常數未被用來計算所述第二消息。
【專利說明】具有使用定標常數的可變節點更新器的LDPC解碼器
[0001]其他申請的交叉引用
本申請要求2013年2月4日提交的標題為MODIFIED LDPC DECODER FOR HARD-READNAND DEVICES的美國臨時專利申請N0.61/760, 519 (代理人案號N0.LINKP131+)的優先權,其通過引用結合在本文中以用於所有目的。
【背景技術】
[0002]低密度奇偶校驗(LDPC)碼被用來寫入固態儲存器並且從固態儲存器讀取,所述固態儲存器(轉而)被用在行動裝置中。自然地,當行動裝置從電池操作時,功率消耗對於包括LDPC解碼器的所有部件來說是一個重要問題。
[0003]節約功率的直截了當的方式是降低用來表示被LDPC解碼器輸入的軟信息的位的數目。這直接地譯成轉而降低功率消耗的操作的數目的降低。遺憾的是,簡單地降低位的數目能夠引起顯著的性能退化(例如,因為數值誤差、捨入誤差和/或飽和誤差)。已降低了性能退化(尤其是在其中用來表示軟信息的位的數目是相對小的系統中)的新的LDPC解碼技術將是所希望的。例如,這將使得功率能夠被節約而不犧牲太多性能。
【專利附圖】
【附圖說明】
[0004]在以下【具體實施方式】和附圖中公開了本發明的各種實施例。
[0005]圖1是圖示了由低密度奇偶校驗(LDPC)解碼過程所使用的消息更新過程的實施例的流程圖。
[0006]圖2是圖示了具有使用定標常數的可變節點更新器的LDPC解碼器的實施例的圖。
[0007]圖3是圖示了從可變節點發送到校驗節點的消息的計算的數值示例的圖。
[0008]圖4是圖示了從校驗節點發送到可變節點的消息的計算的數值示例的圖。
[0009]圖5是圖示了其中在可變節點更新狀態期間更新的消息使用定標常數被更新的LDPC解碼過程的實施例的 流程圖。
[0010]圖6是圖示了包括具有使用定標常數的可變節點更新器的LDPC解碼器的存儲系統的實施例的圖。
[0011]圖7是圖示了用來確定在計算第一消息(例如,(^ )和/或時使用的值的過程的實施例的流程圖。
[0012]圖8是圖示了由本文中所描述的技術所提供的性能改進的實施例的圖表。
【具體實施方式】
[0013]能夠以許多方式實現本發明,包括作為過程;裝置;系統;物質的組成;在計算機可讀存儲介質上體現的電腦程式產品;和/或處理器,諸如配置成執行在耦合到處理器的存儲器上存儲和/或由耦合到處理器的存儲器所提供的指令的處理器。在本說明書中,這些實施方式或本發明可以採取的其他任何形式可以被稱為技術。一般而言,可以在本發明的範圍內變更公開過程的步驟的順序。除非另外陳述,否則諸如描述為被配置成執行任務的處理器或存儲器之類的部件可以被實現為被臨時地配置成在給定時間執行任務的通用部件或被製造成執行任務的特定部件。如本文所用的那樣,術語「處理器」指的是被配置成處理數據的一個或多個設備、電路和/或處理核,所述數據諸如電腦程式指令。
[0014]本發明的一個或多個實施例的具體描述連同圖示本發明的原理的附圖一起被提供在下面。關於這種實施例描述本發明,但本發明不限於任何實施例。本發明的範圍僅由權利要求來限制,並且本發明包含許多替代方案、修改以及等同物。在以下描述中闡述了許多特定細節以便提供對本發明的徹底理解。這些細節被提供用於示例的目的並且可以在沒有這些特定細節中的一些或全部的情況下根據權利要求來實踐本發明。出於清楚的目的,與本發明相關的【技術領域】內已知的技術材料沒有被詳細描述以便使得本發明被不必要地混淆。
[0015]圖1是圖示了由低密度奇偶校驗(LDPC)解碼過程所使用的消息更新過程的實施例的流程圖。在所示出的示例中,過程由LDPC解碼器中的一個或多個部件來執行。在一些實施例中,所示出的消息更新過程由通信系統中的一個或多個部件來執行。在一些實施例中,所示出的消息更新過程由存儲系統(例如,固態存儲系統、NAND Flash存儲系統和/或3D NAND存儲系統)中的一個或多個部件來執行。
[0016]在100處,與從多個可變節點中的一個轉向多個校驗節點中的一個相關聯的第一消息被計算,其中:(I)所述多個可變節點與所述多個校驗節點之間的一個或多個連接(connection)被LDPC奇偶校驗矩陣規定並且(2)定標常數被用來計算第一消息。例如,如果第一消息被從第j個可變節點傳遞給第i個校驗節點,則第一消息可以被稱為Qjit=
[0017]在102處,與從所述多個校驗節點中的一個轉向所述多個可變節點中的一個相關聯的第二消息被計算,其中定標常數未被用來計算第二消息。例如,如果第二消息被從第i個校驗節點傳遞給第j個可變節點,則第二消息可以被稱為Ru。
[0018]注意,被與第二消息相關聯的校驗節點和可變節點未必是被與第一消息相關聯的相同的校驗節點和/或相同的可變節點。例如,在步驟100處生成的第一消息可以是從第一可變節點到第二校驗節點(例如,Q12)以及在步驟102處生成的第二消息可以是從第三校驗節點到第四可變節點(例如,R34)。取決於所使用的特定奇偶校驗矩陣(H),不同的校驗節點將被連接到不同的可變節點。如果奇偶校驗矩陣具有N列和M行,則N(m)是連接到校驗節點m的可變節點的集合併且N(m) /n是除可變節點η之外連接到校驗節點m的可變節點的集合。換句話說,N(m)/n是其中元素η被去除的集合N(m)。類似地,M(n)是連接到可變節點η的校驗節點的集合併且M(n)/m是除校驗節點m之外連接到可變節點η的校驗節點的集合。
[0019]以下圖示出了包括執行來自圖1的步驟100和102的部件的LDPC解碼器的示例。
[0020]圖2是圖示了具有使用定標常數的可變節點更新器的LDPC解碼器的實施例的圖。在一些實施例中,LDPC解碼器200使用諸如現場可編程門陣列(FPGA)或專用集成電路(ASIC)之類的半導體器件來實現。
[0021]在所示出的示例中,LDPC解碼器200包括生成被與被從可變節點j發送到校驗節點i相關聯的消息(Qj的可變節點更新器202。為了方便,這樣的消息可以在本文中被稱為「被從可變節點j發送到校驗節點i的消息」。可變節點更新器202是執行圖1中的步驟100的部件的一個示例。[0022]關於定標常數(α ),注意該定標常數被輸入到可變節點更新器202,但未被輸入到校驗節點更新器206。換句話說,可變節點更新器202基於和/或使用定標常數來計算消息Qm,然而校驗節點更新器206不在其計算(例如,針對Ru)中考慮定標常數。由可變節點更新器202執行以便生成消息Qji的計算的更具體描述在下面被更詳細地描述。
[0023]校驗節點更新器206示出了執行圖1中的步驟102的部件的一個示例。例如,被校驗節點更新器206輸出的消息Rij是在圖1中的步驟102處生成的第二消息的示例。如上,為了方便,與被從校驗節點i發送到可變節點j相關聯的消息在本文中被稱為「從校驗節點i發送到可變節點j的消息」。由校驗節點更新器206執行以便生成消息Rij的計算的更具體描述在下面被更詳細地描述。
[0024]在所示出的示例性LDPC解碼器中,N個對數似然比(LLR)值的陣列或序列(即,L= [L0,…,LN_J)被LDPC解碼器200輸入。例如,可以在存儲系統中使用LDPC解碼器200並且包含N個單元的頁或段被從儲存器讀取。LLR值中的每一個都是軟值,其中符號指示判定(例如,負號指示I而正號指示O)並且幅度(magnitude)指示與該判定相關聯的必然性或似然(例如,較大幅度對應於相關判定中的更多必然性)。在所示出的示例中,固定數目的位(《)被用來表示被LDPC解碼器200輸入的每個LLR值。例如,如果w = 3,則每個Li值使用3位來表示。 [0025]對於O < j < N -1和i C M(J),可以使用以下方程來計算Qji消息(被從第j個
可變節點發送到第i個校驗節點):
【權利要求】
1.一種系統,包括: 可變節點更新器,其被配置成計算與從多個可變節點中的一個轉向多個校驗節點中的一個相關聯的第一消息,其中:(I)所述多個可變節點與所述多個校驗節點之間的一個或多個連接被LDPC奇偶校驗矩陣規定並且(2)定標常數被用來計算所述第一消息;以及 校驗節點更新器,其被配置成計算與從所述多個校驗節點中的一個轉向所述多個可變節點中的一個相關聯的第二消息,其中所述定標常數未被用來計算所述第二消息。
2.根據權利要求1所述的系統,其中所述系統使用半導體器件來實現,所述半導體器件包括下列中的一個或多個:現場可編程門陣列(FPGA)或專用集成電路(ASIC)。
3.根據權利要求1所述的系統,其中所述系統被包括在下列中的一個或多個中:通信系統、固態存儲系統、NAND Flash存儲系統或3D NAND存儲系統。
4.根據權利要求1所述的系統,其進一步包括: 碼字更新器,其被配置成計算碼字;以及 校正子更新器,其被配置成至少部分地基於所述碼字和奇偶校驗矩陣來確定解碼是否是成功的,其中在確定解 碼是成功的情況下,輸出所述碼字。
5.根據權利要求1所述的系統,其進一步包括: 讀取閾值生成器,其被配置成生成與讀取固態儲存器相關聯的一個或多個讀取閾值;以及 對數似然比(LLR)值生成器,其被配置成生成多個LLR值,其中所述可變節點更新器被進一步配置成基於所述多個LLR值中的至少一個來計算所述第一消息。
6.根據權利要求1所述的系統,其中所述可變節點更新器被配置成計算所述第一消息,包括通過: 確定在計算所述第一消息時使用的所有對數似然比(LLR)值是否被保證為具有相同的幅度;以及 在確定所有LLR值被保證為具有相同的幅度情況下: 獲得與所有LLR值被保證為具有相同的幅度相關聯的存儲的幅度;並且 計算所述第一消息,包括通過選擇適當的符號並且使用所存儲的幅度。
7.一種方法,包括: 使用處理器來計算與從多個可變節點中的一個轉向多個校驗節點中的一個相關聯的第一消息,其中:(I)所述多個可變節點與所述多個校驗節點之間的一個或多個連接被LDPC奇偶校驗矩陣規定並且(2)定標常數被用來計算所述第一消息;以及 使用處理器來計算與從所述多個校驗節點中的一個轉向所述多個可變節點中的一個相關聯的第二消息,其中所述定標常數未被用來計算所述第二消息。
8.根據權利要求7所述的方法,其中所述方法使用半導體器件來執行,所述半導體器件包括下列中的一個或多個:現場可編程門陣列(FPGA)或專用集成電路(ASIC)。
9.根據權利要求7所述的方法,其中所述方法由下列中的一個或多個來執行:通信系統、固態存儲系統、NAND Flash存儲系統或3D NAND存儲系統。
10.根據權利要求7所述的方法,其進一步包括: 計算碼字;以及 至少部分地基於所述碼字和奇偶校驗矩陣來確定解碼是否是成功的,其中在確定解碼是成功的情況下,輸出所述碼字。
11.根據權利要求7所述的方法,其進一步包括: 生成與讀取固態儲存器相關聯的一個或多個讀取閾值;以及 生成多個對數似然比(LLR)值,其中所述處理器被進一步配置成基於所述多個LLR值中的至少一個來計算所述第一消息。
12.根據權利要求7所述的方法,其中使用所述處理器來計算所述第一消息包括: 確定在計算所述第一消息時使用的所有對數似然比(LLR)值是否被保證為具有相同的幅度;以及 在確定所有LLR值被保證為具有相同的幅度情況下: 獲得與所有LLR值被保證為具有相同的幅度相關聯的存儲的幅度;以及 計算所述第一消息,包括通過選擇適當的符號並且使用所存儲的幅度。
13.一種電腦程式產品,所述電腦程式產品被用非暫時性計算機可讀存儲介質加以體現並且包括計算機指令以用於: 計算與從多個可變節點中的一個轉向多個校驗節點中的一個相關聯的第一消息,其中:(1)所述多個可變節點與所述多個校驗節點之間的一個或多個連接被LDPC奇偶校驗矩陣規定並且(2)定標常數被用來計算所述第一消息;以及 計算與從所述多個校驗節點中的一個轉向所述多個可變節點中的一個相關聯的第二消息,其中所述定標常數未被用來計算所述第二消息。
14.根據權利要求13所述的電腦程式產品,其進一步包括計算機指令以用於: 計算碼字;以及 至少部分地基於所述碼字和奇偶校驗矩陣來確定解碼是否是成功的,其中在確定解碼是成功的情況下,輸出所述碼字。
15.根據權利要求13所述的電腦程式產品,其進一步包括計算機指令以用於: 生成與讀取固態儲存器相關聯的一個或多個讀取閾值;以及 生成多個對數似然比(LLR)值,其中用於計算所述第一消息的所述計算機指令進一步包括用於基於所述多個LLR值中的至少一個來計算所述第一消息的計算機指令。
16.根據權利要求13所述的電腦程式產品,其中用於計算所述第一消息的所述計算機指令包括計算機指令以用於: 確定在計算所述第一消息時使用的所有對數似然比(LLR)值是否被保證為具有相同的幅度;以及 在確定所有LLR值被保證為具有相同的幅度情況下: 獲得與所有LLR值被保證具有相同的幅度相關聯的存儲的幅度;以及 計算所述第一消息,包括通過選擇適當的符號並且使用所存儲的幅度。
【文檔編號】H03M13/11GK103973316SQ201410044074
【公開日】2014年8月6日 申請日期:2014年1月30日 優先權日:2013年2月4日
【發明者】曾令琪, Q.刁, J.貝羅拉多 申請人:Sk 海尼克斯存儲技術公司