TW201322646A - 具有減少的記憶體與功率需求之錯誤校正解碼 - Google Patents

具有減少的記憶體與功率需求之錯誤校正解碼 Download PDF

Info

Publication number
TW201322646A
TW201322646A TW101127690A TW101127690A TW201322646A TW 201322646 A TW201322646 A TW 201322646A TW 101127690 A TW101127690 A TW 101127690A TW 101127690 A TW101127690 A TW 101127690A TW 201322646 A TW201322646 A TW 201322646A
Authority
TW
Taiwan
Prior art keywords
bit
bits
value
values
bit value
Prior art date
Application number
TW101127690A
Other languages
English (en)
Inventor
Eran Sharon
Idan Alrod
Omer Fainzilber
Simon Litsyn
Original Assignee
Sandisk Technologies Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sandisk Technologies Inc filed Critical Sandisk Technologies Inc
Publication of TW201322646A publication Critical patent/TW201322646A/zh

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1105Decoding
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1105Decoding
    • H03M13/1111Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms
    • H03M13/1117Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms using approximations for check node processing, e.g. an outgoing message is depending on the signs and the minimum over the magnitudes of all incoming messages according to the min-sum rule
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/3707Adaptive decoding and hybrid decoding, e.g. decoding methods or techniques providing more than one decoding algorithm for one code
    • H03M13/3715Adaptation to the number of estimated errors or to the channel state
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/65Purpose and implementation aspects
    • H03M13/6502Reduction of hardware complexity or efficient processing

Abstract

本發明提供一種實例性方法,其包含:接收包含複數個位元之一碼字之一表示,及將該等位元與表示該等位元之各別複數個單位元硬位元值及表示各別硬位元值之可靠性之度量之多位元軟位元值相關聯。該方法包含:針對複數次反覆中之每一者,依據該等位元之一各別子集之位元之當前硬位元值以及該子集中之一或多個位元之當前硬位元值及軟位元值更新該各別位元之一硬位元/軟位元值。針對其中一子集中之每一位元之該等當前硬位元及軟位元值針對兩次反覆相同之兩次反覆,在該兩次反覆中之一者期間針對該子集中之任一位元更新之該硬位元/軟位元值相同於在該兩次反覆中之另一者期間針對該各別位元計算之彼硬位元/軟位元值。

Description

具有減少的記憶體與功率需求之錯誤校正解碼
本發明一般而言係關於錯誤校正解碼,且更特定而言係關於具有減少的記憶體與功率需求之錯誤校正解碼。
錯誤校正碼(ECC)通常用於通信及儲存系統中。在通信頻道及儲存器件兩者中發生之各種物理現象導致損毀所傳達或所儲存資訊之雜訊效應。錯誤校正編碼方案可用於使所傳達或所儲存資訊免受所得錯誤。此係藉由在透過通信頻道或記憶體器件中之儲存器傳達資訊之前編碼該資訊來完成。該編碼處理程序藉由將冗餘添加至資訊而將一資訊位元序列i變換成一碼字v。然後可使用此冗餘以透過一解碼處理程序自一經損毀碼字y恢復該資訊。一ECC解碼器解碼該經損毀碼字y並恢復應以高機率等於原始資訊位元序列i之一位元序列。
近年來,反覆編碼方案已因其以低解碼複雜性達成接近向農限制(Shannon limit)效能之能力而變得極流行。反覆解碼器之一個族對可使用一偶圖(bipartite graph)定義之一碼運算,該偶圖闡述該圖之位元節點處之資料位元與該圖之檢查節點處之同位檢查方程式之間的互連。在此情形中,可將解碼視為經過連接位元節點與檢查節點的該圖之邊緣之一反覆訊息。
反覆碼之一種流行分類係低密度同位檢查(LDPC)碼。一LDPC碼係由一疏鬆同位檢查矩陣H定義之一線性二進制區 塊碼。如圖1中所展示,該碼亦可由一疏鬆偶圖G=(V,C,E)定義,該疏鬆偶圖具有N個位元節點(在圖1中N=13)之一集合V、M個檢查節點(在圖1中M=10)之一集合C及將位元節點連接至檢查節點之若干邊緣之一集合E(在圖1中E=38)。該等位元節點對應於碼字位元且該等檢查節點對應於對該等位元之同位檢查約束。一位元節點藉由邊緣連接至其參與之檢查節點。
可使用反覆訊息傳遞解碼演算法來解碼LDPC碼。此等演算法藉由經由表示碼的基礎偶圖之邊緣在位元節點與檢查節點之間交換訊息而運算。解碼器具備對碼字位元之初始估計(基於通信頻道輸出或基於讀取記憶體內容)。此等初始估計係藉由強加位元作為一有效碼字應滿足之同位檢查約束而加以改善及改良。此係藉由使用沿圖邊緣傳遞之訊息在表示碼字位元之位元節點與表示對該等碼字位元之同位檢查約束之檢查節點之間交換資訊而完成。
解碼演算法可劃分成兩類,即軟決策解碼與硬決策解碼。
軟決策解碼係已知為達成極接近頻道之向農限制之結果。然而,此伴隨有呈計算複雜性之形式之一代價。
在軟決策解碼演算法中,通常利用傳達位元估計及該估計之可靠性兩者之「軟」位元估計。
可以各種形式表達由沿圖邊緣傳遞之訊息傳達之位元估計。用於表達「軟」位元估計之一常見方法係在以下方程式中定義之對數概似比(LLR): 其中「當前約束及觀察」係在計算手頭訊息時考量之各種同位檢查約束,且該等觀察v對應於參與此等同位檢查之位元。在不損失一般性之情況下,貫穿本文件之其餘部分使用LLR記法。LLR之正負號提供位元估計(亦即,正LLR對應於v=0且負LLR對應於v=1)。LLR之量值提供估計之可靠性(亦即,|LLR|=0意指估計完全不可靠;且|LLR|=∞意指估計完全可靠且已知位元值)。
通常,在解碼運算期間沿位元節點與檢查節點之間的圖邊緣傳遞之訊息係外來的。自邊緣e上之一節點n傳遞之一外來訊息m可考量在除邊緣e之外的連接至n之邊緣上接收之所有值(此係其稱為外來之原因-其僅基於新資訊)。
一訊息傳遞解碼演算法之一項實例係信任傳播(BP)演算法,其係此族演算法當中之較常見演算法中之一者。
僅基於所接收或所讀取符號y令Pv表示位元v之初始解碼器估計,其中Pv係可如下定義之一LLR值:
注意,亦可能該等位元中之某些位元未透過通信頻道傳輸或儲存於記憶體器件中;因此不存在此等位元之y觀察。在此情形中,存在兩種可能性: 第一種可能性:經縮短位元。該等位元係先驗已知的且取決於位元是0還是1,Pv=±∞。
第二種可能性:經刺穿位元。該等位元係先驗未知的, 其中Pr(v=0)及Pr(v=1)係位元v分別係0或1之先驗可能性。假定資訊位元具有為0或1之相等先驗可能性且假定該碼係線性的,則:
基於整個所接收或所讀取序列y,令Qv表示位元v之最終解碼器估計,且假定位元v係一碼字之部分(亦即,假定H.v=0),則:
令Qvc及Rcv分別表示自位元節點v至檢查節點c之一訊息及自檢查節點c至位元節點v之一訊息,則一BP演算法利用以下更新規則來計算該等訊息。
位元節點至檢查節點計算規則係:
此處,N(n,G)表示圖G中之一節點n之鄰近者集合且c' N(v,G)\c係指不包含節點c之該等鄰近者。
檢查節點至位元節點計算規則係:
此處,φ(x)及φ域中之運算係對群組{0,1}×R+執行(此基本上意指此處之總和係定義為量值之總和及對正負號之「互斥或」)。以類似於方程式(5)之一方式,N(c,G)表示圖G中之一檢查節點c之位元節點鄰近者集合,且v' N(c,G)\v係指不包含節點v之該等鄰近者。
位元「v」之最終解碼器估計係:
軟解碼演算法之一常見特徵係決策取決於經由方程式(5)、(6)及(7)之解碼反覆之歷史。軟解碼演算法中之訊息之數目(針對每一反覆)與圖之邊緣之數目成比例。此需要用於儲存訊息之一大記憶體或高計算複雜性。
硬決策解碼演算法通常比軟決策解碼演算法簡單得多,但其效能亦不佳。硬解碼演算法之一典型分類係位元翻轉(BF)演算法。在BF下,每一反覆中之計算基於正執行之當前位元值,且根據計算結果翻轉該等位元值中之某些位元值。在不給位元指派可靠性之情況下僅考量硬位元值。
舉例而言,擇多邏輯可用於反覆地解碼某些LDPC碼。在擇多邏輯下,解碼每一反覆係與一特定位元相關聯。計算位元參與之所有同位檢查方程式。若未滿足多數方程式,則翻轉特定位元之位元值。若已滿足多數方程式,則在此反覆中不進行任何計算。
在文獻中發現硬解碼及軟解碼兩者之諸多變化形式,且其全部遵循上文所呈現之一般方案。軟解碼演算法包含可靠性度量連同位元值,該等演算法比硬解碼演算法複雜且其效能更佳。
鑒於上述背景,本發明之實例性實施例提供一種用於具有減少的記憶體與功率需求之錯誤校正解碼之改良之裝置 及方法。本發明之實例性實施例可提供LDPC碼之反覆解碼之方法,該方法包含可靠性度量連同位元值但使用低複雜性演算法且不需要大的記憶體。本發明之實例性實施例之方法可用以藉助比先前技術解碼器小之記憶體及比先前技術解碼器低之功率硬體解碼LDPC碼。此可有益於諸多應用,包含使用LDPC碼作為其主要錯誤校正碼且通常用於電池操作之裝置中而無需連接至電網之快閃記憶體系統。
一項實例性實施例之方法可包含接收包含複數個位元之一碼字之一表示,及將該等位元與各別複數個單位元硬位元值及多位元軟位元值相關聯。關於此,該等硬位元值最初可根據該碼字之該表示而設定且表示該碼字之該等位元。且該等軟位元值可表示各別硬位元值之可靠性之度量。
該方法可包含經由複數次反覆更新該等位元之該等硬位元值或軟位元值中之至少某些位元值。關於此,更新該等硬位元值或軟位元值可包含:針對該等反覆中之每一者,依據該等位元之一各別子集中之該等位元之當前硬位元值以及該子集中之一或多個位元之當前硬位元值及軟位元值計算該各別位元之一經更新硬位元值或軟位元值。根據此態樣,考量其中該等位元之一子集中之每一位元之當前硬位元值針對兩次反覆相同且其中該子集中之每一位元之當前軟位元值針對兩次反覆相同之兩次反覆。針對此兩次反覆,在該兩次反覆中之一者期間針對該子集中之任一位元 計算之經更新硬位元/軟位元值相同於在該兩次反覆中之另一者期間針對該各別位元計算之經更新硬位元/軟位元值。
在一項實例中,計算該等位元之該子集中之一或多個位元之該經更新硬位元/軟位元值可包含:依據該等位元之該子集中之該等位元之該等當前硬位元值計算該子集之一或多個更新值,該等更新值中之一者係該子集之位元中之該等位元中之一者以上共有的。且在此實例中,計算該經更新硬位元/軟位元值可包含:根據該(等)更新值中之僅一更新值及該等位元之該子集中之每一位元之該當前硬位元值及軟位元值更新該各別位元之該硬位元/軟位元值。
在一項實例中,使該碼字經受複數個同位檢查方程式,該複數個同位檢查方程式中之每一者包含對應於一各別子集之位元中之該等位元之參與位元,其中該碼字之每一位元參與在數值上定義該位元之一階次之一或多個同位檢查方程式。在此實例中,計算一或多個更新值可包含:計算一各別同位檢查方程式之該等參與位元之一或多個更新值,其中在該複數次反覆內該碼字之該等位元具有複數個更新值。此外,在此實例中,針對該複數次反覆,用於儲存該碼字之該等位元之該等硬位元值、軟位元值及更新值之一總儲存量在數值上與該碼字之位元之數目成比例,且少於該碼字之位元之該數目與該碼字之該等位元之平均階次之乘積。或者針對該複數次反覆,該總儲存量可在數值上與該碼字之位元之該數目與該碼字之同位檢查方程式之 數目之總和成比例,且少於該碼字之位元之該數目與該碼字之該等位元之平均階次之該乘積。
在一項實例中,計算一或多個更新值包含:計算該子集之位元中之所有該等位元共有之一個更新值。且在此實例中,更新該等位元之該子集中之每一位元之該硬位元/軟位元值包括:根據所有該等位元共有之僅該更新值以及該各別位元之該當前硬位元值及軟位元值更新該硬位元/軟位元值。
在一項實例中,計算該等位元之該子集之一或多個更新值包含:計算在數值上小於該等位元之該子集中之位元之複數個更新值,其中該子集之位元中之每一位元與該等更新值中之一者相關聯。且根據此實例,更新該等位元之該子集中之每一位元之該硬位元/軟位元值包含:根據僅該相關聯更新值以及該各別位元之該當前硬位元值及軟位元值更新該硬位元/軟位元值。
在一項實例中,該等位元之一子集中之該等位元係一同位檢查方程式之參與位元。在此實例中,計算一或多個更新值包含:計算該同位檢查方程式之該等參與位元之一或多個更新值,其中該(等)更新值各自反映是否滿足該同位檢查方程式。此外,在此實例中,更新該硬位元/軟位元值包含:根據該(等)更新值中之僅一更新值以及該同位檢查方程式之每一參與位元之該當前硬位元值及軟位元值更新該各別位元之該硬位元/軟位元值。
在又一實例中,計算一或多個更新值,該一或多個更新 值之每一者反映在其中滿足該同位檢查方程式之一例項中該同位檢查方程式之該等參與位元之該當前軟位元值之一增加或在其中未滿足該同位檢查方程式之一例項中該同位檢查方程式之該等參與位元之該當前軟位元值之一減小。更特定地,舉例而言,在一項例項中滿足該同位檢查方程式。在此例項中,更新該同位檢查方程式之每一參與位元之該硬位元/軟位元值包含:維持該參與位元之該當前硬位元值,及在其中該參與位元之該當前軟位元值低於一第一臨限值之一例項中,藉由增加該當前軟位元值而計算一經更新軟位元值。在另一例項中,未滿足該同位檢查方程式。在此例項中,更新該同位檢查方程式之每一參與位元之該硬位元/軟位元值包含:藉由在其中該參與位元之該當前軟位元值低於該第一臨限值之一例項中減小該當前軟位元值而計算該參與位元之一經更新軟位元值。
此外,在未滿足該同位檢查方程式之該例項中,更新每一參與位元之該硬位元值或軟位元值進一步包含:在其中該參與位元之該經更新軟位元值低於一第二臨限值之一例項中,藉由計算該參與位元之該當前硬位元值之邏輯補數而計算該參與位元一經更新硬位元值。且在此例項中,更新該硬位元/軟位元值包含:在其中該參與位元之該經更新軟位元值低於一第二臨限值之一例項中,藉由計算該參與位元之該經更新軟位元值之邏輯二之補數而計算該參與位元之又一經更新軟位元值。甚至進一步,計算該又一經更新軟位元值可包含:自該經更新軟位元值之該邏輯二之 補數減去一預定義數值。
在一項實例中,該等參與位元中之一或多者係具有指示比其他參與位元小之可靠性之軟位元值之較不可靠位元。在此實例中,增加該當前軟位元值包含:在其中該參與位元係該等較不可靠位元中之一者之一例項中,將該當前軟位元值增加一第一數值,或者否則將該當前軟位元值增加一第二不同數值。此外,在此實例中,減小該當前軟位元值包含:在其中該參與位元係該等較不可靠位元中之一者之一例項中,將該當前軟位元值減小一第三數值,或者否則將該當前軟位元值減小一第四不同數值。
在另一實例性實施例中,可提供一種包含接收包含複數個位元之一碼字之一表示之方法。使該碼字經受複數個同位檢查方程式,該複數個同位檢查方程式中之每一者包含對應於該碼字之各別複數個該等位元之參與位元,其中該碼字之每一位元參與一或多個同位檢查方程式。根據此實例,該方法包含:將該等位元與各別複數個單位元硬位元值相關聯,該各別複數個單位元硬位元值最初係根據該碼字之該表示而設定且表示該碼字之該等位元。且該方法包含:經由複數次反覆更新該等位元之該等硬位元值中之至少某些硬位元值。關於此,更新該等硬位元值可包含:針對該等反覆中之每一者,針對每一位元計算未滿足之該位元參與之(若干)同位檢查方程式之數目,且根據一位元之一當前硬位元值及未滿足之該位元參與之該(等)同位檢查方程式之該數目計算該位元之一經更新硬位元值。
在一項實例中,計算該位元之該經更新硬位元值包含:在其中未滿足之該位元參與之該(等)同位檢查方程式之該數目高於一預定臨限值之一例項中,計算該位元之該當前硬位元值之邏輯補數。
在一項實例中,針對每一位元,該位元參與之該(等)同位檢查方程式在數值上定義該位元之一階次,且在此實例中,該預定臨限值隨該位元之一階次而變,其中不同階次之位元具有不同預定臨限值。
在一項實例中,針對每一反覆,更新該等硬位元值中之至少某些硬位元值包含:計算該等位元中之僅一較不可靠者之經更新硬位元值。在此實例中,可根據該等位元之可靠性之一比較識別該各別較不可靠位元,其中可依據未滿足之該位元參與之該(等)同位檢查方程式之該數目計算每一位元之可靠性。
在一項實例中,針對每一位元,該位元參與之該(等)同位檢查方程式在數值上定義該位元之一階次,且針對每一同位檢查方程式,參與位元之數目在數值上定義該同位檢查方程式之一階次。在此實例中,可進一步依據每一位元之該階次、該位元參與之該(等)同位檢查方程式之一平均階次及該位元之一錯誤機率計算該位元之可靠性。
已如此概括地闡述了本發明,現在將參考未必按比例繪製之隨附圖式。
現在將在下文中參考隨附圖式更全面地闡述本發明之實 例性實施例,在隨附圖式中展示了某些但非所有實施例。實際上,本發明可以諸多不同形式體現且不應解釋為限於本文中所陳述之實施例;而是,提供此等實施例以使得本發明將滿足可適用法律需求。自始至終相同元件符號指代相同元件。本文中可參考一特定系統、架構或諸如此類特有之術語,但應理解,本發明之實例性實施例可相等地適用於其他類似系統、架構或諸如此類。
圖2圖解說明可受益於本發明之實例性實施例之一種類型之系統或裝置10。如所展示,該裝置可包含一編碼器12、電腦可讀媒體14及解碼器16。一般而言,該編碼器經組態以接收使用者資料並將使用者資料編碼為一或多個碼字且將該等碼字傳遞至該電腦可讀媒體。該解碼器又經組態以自該電腦可讀媒體接收該碼字之一表示且將該碼字解碼為使用者資料之一表示。
編碼器12及解碼器16可體現為用於實施本發明之實例性實施例之各種功能性之各種構件。舉例而言,編碼器及解碼器可體現為或以其他方式包含一或多個處理器,諸如一微處理器、一共處理器、一控制器、一專用積體電路(例如一ASIC(特殊應用積體電路))、一FPGA(場可程式化閘陣列)、DSP(數位信號處理器)或一硬體加速器、處理電路或其他類似硬體中之一或多者。甚至進一步,編碼器及解碼器可包含用以促進本文中所闡述之功能性之執行之複數個電晶體、邏輯閘、一時鐘(例如,振盪器)、其他電路及諸如此類。在各項實例中,編碼器及解碼器可單獨體現為 硬體或與軟體組合地體現。關於此,編碼器及解碼器中之任一者或兩者可經組態以執行儲存於一電腦可讀儲存媒體中之指令。
電腦可讀媒體14可體現為用於自編碼器12接收資料且將資料提供至解碼器16之各種構件。更特定地,舉例而言,該電腦可讀媒體可體現為一電腦可讀儲存媒體或一電腦可讀傳輸媒體,諸如在一通信系統之一頻道中傳播之信號。在一電腦可讀儲存媒體之背景中,各別媒體可係非暫時的且包含揮發性及/或非揮發性記憶體。揮發性記憶體之適合實例包含隨機存取記憶體(RAM)(包含動態及/或靜態RAM)、晶片上或晶片外快取記憶體或諸如此類。且非揮發性記憶體可包含嵌入式及/或可抽換式記憶體,且可包含(舉例而言)唯讀記憶體(ROM)、快閃記憶體、磁性儲存器件、光碟機或諸如此類。
圖3圖解說明根據本發明之實例性實施例之體現為一快閃記憶體器件之一裝置之一更特定實例。包含配置成一矩陣之複數個記憶體單元之一記憶體單元陣列18係由一行控制電路20、一列控制電路22、一共同源極線控制電路24及一共同p井控制電路26控制。該行控制電路連接至該記憶體單元陣列之位元線(BL)以用於讀取儲存於該陣列之記憶體單元中之資料、在一寫入操作期間判定該陣列之記憶體單元之一狀態及控制該等位元線之電位位準以促進寫入或禁止寫入。該列控制電路連接至字線(WL)以選擇該等字線中之一者、施加讀取電壓、施加與由行控制電路控制之位 元線電位位準組合之寫入電壓及施加與在其上形成有該陣列之記憶體單元之一p型區域之一電壓耦合之一抹除電壓。該共同源極線控制電路控制連接至該陣列之記憶體單元之一共同源極線。且該共同p井控制電路控制共同p井電壓。
儲存於陣列18之記憶體單元中之資料由行控制電路20讀出且經由I/O資料線及一資料輸入/輸出緩衝器28輸出至外部I/O線。待儲存於記憶體單元中之程式資料經由外部I/O線輸入至資料輸入/輸出緩衝器且傳送至列控制電路。該等外部I/O線連接至一控制器30。
用於控制快閃記憶體器件之命令資料輸入至連接至外部控制線之一命令介面,該外部控制線與控制器30連接。該命令資料通知快閃記憶體請求何種運算。輸入命令傳送至一狀態機32,狀態機32控制行控制電路20、列控制電路22、共同源極線控制電路24、共同p井控制電路26及資料輸入/輸出緩衝器28。該狀態機可輸出快閃記憶體之一狀態資料,諸如就緒/忙或通過/失敗。
控制器30與或可與一主機系統連接,諸如一個人電腦、膝上型電腦、桌上型電腦、智慧電話、數位相機、個人數位助理或諸如此類。該主機起始命令(諸如將資料儲存至記憶體陣列18或自記憶體陣列18讀取資料)並分別提供或接收此資料。該控制器將此等命令轉換成可由命令電路34解譯及執行之命令信號。該控制器通常亦含有用於寫入至記憶體陣列或自記憶體陣列讀取之使用者資料之緩衝記憶 體。一典型記憶體器件包含:一積體電路晶片36,其包含控制器;及一或多個積體電路晶片38,其各自含有一記憶體陣列及相關聯控制電路、輸入/輸出電路及狀態機電路。然而,此一器件之記憶體陣列及控制器電路可替代地共同整合於一或多個積體電路晶片上。該記憶體器件可嵌入為主機系統之部分,或者可包含於可以可抽換方式插入至主機系統之一配合插座中之一記憶體卡中。此一卡可包含整個記憶體器件,或者可在若干單獨卡中提供具有若干相關聯周邊電路之控制器及記憶體陣列。
圖4係圖3之部分之一放大視圖,更特定地其圖解說明根據一項實例性實施例之控制器30。如所展示,該控制器包含:一編碼器40,其用於將自主機接收之使用者資料編碼為一或多個碼字;電路42,其用於指示命令電路34將該等碼字(或者若該等碼字之位元中之任一者係經刺穿位元,則僅其未經刺穿位元)儲存於記憶體單元陣列18中,且用於指示該等命令電路自該記憶體單元陣列擷取該等所儲存碼字(或者在經刺穿位元情形中,其所儲存部分)。如所展示,該控制器亦包含用於解碼如由電路42擷取之該等碼字之一表示之一解碼器44。
圖5圖解說明根據本發明之其他實例性實施例之體現為一通信系統之一裝置之另一更特定實例。如所展示,該通信系統包含跨越一頻道50通信之一傳輸器46及一接收器48。如所展示,該傳輸器包含一編碼器52及一調變器54。該接收器包含一解調器56及解碼器58。該編碼器接收一訊 息且產生一對應碼字。該調變器使該所產生碼字經受一數位調變(諸如BPSK、QPSK、多值QAM或OFDM),且經由該頻道將所得經調變信號傳輸至該接收器。在該接收器處,該解調器自該頻道接收該經調變信號且使該所接收經調變信號經受一數位解調變,諸如BPSK、QPSK或多值QAM。且該解碼器解碼該原始碼字之所得表示。
本發明之實例性實施例提供用於解碼一碼字之一表示之裝置及方法。可在LDPC編碼之背景中闡述實例性實施例,但應理解,實例性實施例可相等地適用於滿足該方法之基本需求的二進制碼之其他反覆解碼器。
圖6圖解說明根據本發明之實例性實施例之在解碼一碼字之一表示之一方法中之各種運算的一流程圖。且圖7及圖8圖解說明本文中有時可稱為「基本低功率」(LPB)(圖7)及「改良之低功率」(LPI)(圖8)之本發明之兩個更特定實例性實施例。通常,此等實例性實施例可就其資料路徑(訊息傳遞排程)而言與全功率軟解碼演算法(諸如BP演算法)相容。
該方法可包含(例如,自電腦可讀媒體14)接收包含複數個位元之一碼字之一表示,及將該等位元與各別複數個單位元硬位元值及多位元軟位元值相關聯。關於此,該等硬位元值最初可根據該碼字之該表示而設定且表示該碼字之該等位元。且該等軟位元值可表示各別硬位元值之可靠性之度量。
如方塊60中所展示,舉例而言,可將呈正負號量值表示 之預定義位元之一訊息附加至碼字之每一位元。此表示可包含表示位元之硬值之一個正負號位元,且包含表示位元之可靠性度量之一L位元軟位元值。在一項實例中,該表示可係一個四位元正負號量值表示,包含一個正負號位元及可係自0至7(二進制000至111)之三位元(L=3)軟位元值。如方塊62中所展示,可根據每一位元之所接收值用一硬位元初始化該位元且指派一可靠性度量,該可靠性度量可係預定義的(例如,2或3)或隨初始所接收值而變。
該方法可包含經由複數次反覆更新位元之硬位元值或軟位元值中之至少某些位元值。關於此,更新硬位元值或軟位元值可包含:針對該等反覆中之每一者,依據該等位元之一各別子集中之該等位元之當前硬位元值以及該子集中之一或多個位元之當前硬位元值及軟位元值計算該各別位元之一經更新硬位元值或軟位元值。在一項實例中,使碼字經受複數個同位檢查方程式,該複數個同位檢查方程式中之每一者包含對應於一各別子集之位元中之該等位元之參與位元,其中碼字之每一位元參與在數值上定義該位元之一階次之一或多個同位檢查方程式。因此,如方塊64及66中所展示,針對每一反覆,可選擇一不同同位檢查方程式且關於是否滿足該同位檢查方程式進行檢查。
在一項實例中,可依據該子集中之該等位元之當前硬位元值針對該子集計算一或多個更新值,且可根據該(等)更新值中之僅一更新值以及該子集中之每一位元之當前硬位元值及軟位元值更新該各別位元之硬位元/軟位元值。更 特定地,舉例而言,可針對一各別同位檢查方程式之參與位元計算該(等)更新值,其中在該複數次反覆內碼字之位元具有複數個更新值。在此實例中,該等更新值中之一者可係該子集之位元中之該等位元中之一者以上共有的。且針對該複數次反覆,用於儲存碼字之位元之硬位元值、軟位元值及更新值之一總儲存量可在數值上與該碼字之位元之數目成比例,且少於該碼字之位元之數目與該碼字之該等位元之平均階次之乘積。
考量兩次反覆,其中位元之一子集中之每一位元之當前硬位元值針對兩次反覆係相同的,且其中該子集中之每一位元之當前軟位元值針對兩次反覆係相同的。針對此兩次反覆,在該兩次反覆中之一者期間針對該子集中之任一位元計算之經更新硬位元/軟位元值相同於在該兩次反覆中之另一者期間針對該各別位元計算之經更新硬位元/軟位元值。
該(等)更新值可各自反映是否滿足一同位檢查方程式,其中該同位檢查方程式之每一參與位元之硬位元/軟位元值係根據該(等)更新值中之僅一更新值以及各別位元之當前硬位元值及軟位元值而更新。如方塊68、70及72中所展示,舉例而言,可根據同位檢查方程式之成功或失敗針對每一位元計算呈(若干)低複雜性訊息之形式之(若干)更新值以更新其硬位元值或軟位元值。在各項實例中,每一同位檢查方程式之不同更新訊息之數目可限於不超過兩個或三個不同訊息。且在各項實例中,不同訊息之總數目可小 於或等於(亦即,不超過)同位檢查方程式之數目之兩倍或三倍,且用於計算該等訊息之參數之總數目可小於或等於位元之數目與同位檢查方程式之數目之總和。
現在更特定地轉至圖7及8圖之LPB及LPI實例性實施例,在LPB中,可計算該子集之所有該等位元共有之一個更新值,其中硬位元/軟位元值係根據所有該等位元共有之僅該更新值以及各別位元之當前硬位元值及軟位元值而更新。在LPI中,可計算複數個更新值,其中該等更新值在數值上小於該等位元之該子集中之位元,且其中該子集之位元中之每一位元與該等更新值中之一者相關聯。在LPI中,可根據僅該相關聯更新值以及各別位元之當前硬位元值及軟位元值更新硬位元/軟位元值。藉由前述內容,LPI可取決於位元-諸如具有指示各別位元比該等位元中之其他位元之可靠性小之軟位元值之彼等位元之間的差異而計算不同更新值。
在一項實例中,更新值中之每一者可反映在其中滿足同位檢查方程式之一例項中參與位元之當前軟位元值之一增加,或者在其中未滿足同位檢查方程式之一例項中參與位元之當前軟位元值之一減小。因此,在一第一例項中,滿足同位檢查方程式且每一更新值可反映當前軟位元值之一增加;且在一第二例項中,未滿足同位檢查方程式且每一更新值可反映當前軟位元值之一減小。
針對第一例項(滿足同位檢查方程式)中之每一參與位元,可維持參與位元之當前硬位元值,且可藉由在其中參 與位元之當前軟位元值低於一第一臨限值之一例項中增加當前軟位元值而計算一經更新軟位元值。在根據LPB之一項實例中,可將其軟位元值小於最大可能軟位元值(例如,7)-此條件有時稱為「飽和」-之彼等位元之軟位元值增加一數值N(例如,N=1),如方塊74中所展示。關於此,在此等及若干個其他實例性實施例中,其軟位元值處於飽和中之一位元可考量為可靠的,且可因此在當前及後續反覆中保持於其當前硬位元值及軟位元值。
針對第二例項(未滿足同位檢查方程式)中之每一參與位元,可藉由在其中當前軟位元值低於該第一臨限值之一例項中減小參與位元之當前軟位元值而計算參與位元之一經更新軟位元值。此外,在該第二例項中,可藉由在其中參與位元之經更新(經減小)軟位元值低於一第二臨限值之一例項中計算參與位元之當前硬位元值之邏輯補數而計算參與位元之一經更新硬位元值。此外,在此例項中,可藉由計算經更新(經減小)軟位元值之邏輯二之補數而進一步更新參與位元之軟位元值,該計算可視情況進一步包含自該邏輯二之補數減去一預定義數值。
在根據LPB之一項實例中,可將其軟位元值不處於飽和中之彼等位元之軟位元值減小一數值N(例如,N=1),如方塊76中所展示。針對其軟位元值在前述更新之後係負的任一參與位元,可藉由計算其硬位元值之邏輯補數(翻轉其值)而更新該硬位元值。且在此例項中,可藉由計算其軟位元值之邏輯二之補數(翻轉其正負號)而進一步更新該軟 位元值,該計算可視情況進一步包含自該經翻轉值減去一預定義數值(例如,1)。此等運算係展示於方塊78中。
在此等LPB實例性實施例中,用以增加或減小參與位元之軟位元值之更新訊息可係同一同位檢查方程式之所有參與位元共有的。若亦將同位檢查方程式考量為一檢查節點,則此觀察可意指自檢查節點傳遞至位元節點之訊息單獨隨檢查節點而變且不隨將一位元節點連接至一檢查節點之邊緣而變。此外,執行LPB之反覆之唯一記憶體需求可係每檢查節點儲存指示該檢查節點之成功或失敗之一個位元。因此,此實例性實施例之總記憶體需求可係為位元節點(用於儲存位元可靠性)之大小加與檢查節點(用於儲存一單位元成功/失敗指示)之大小成比例之一記憶體。視情況,在LPB之情形中,單位元成功/失敗指示可立即用於計算一特定反覆之更新,且可不需要儲存同位檢查方程式之成功/失敗指示。在此情形中,可將總記憶體需求減少為單獨位元節點之大小。
在其他實例性實施例中,在第一例項(滿足同位檢查方程式)中,可在其中參與位元係較不可靠位元中之一者之一例項中將當前軟位元值增加一第一數值,或者否則增加一第二不同數值。類似地,在第二例項(未滿足同位檢查方程式)中,可在其中參與位元係較不可靠位元中之一者之一例項中將當前軟位元值減小一第三數值,或者否則減小一第四不同數值。
在根據LPI之一項實例中,在第一例項中,可將其軟位 元值不處於飽和中之較不可靠位元之軟位元值增加一第一數值N1,且將其軟位元值不處於飽和中之其他位元之軟位元值增加一第二不同數值N2,如方塊80及82中所展示。在此實例中,在第二例項中,可將較不可靠位元之軟位元值減小一第三數值N3,且將其軟位元值不處於飽和中之其他位元之軟位元值減小一第四不同數值N4,如方塊84及86中所展示。類似於之前,針對其軟位元值在前述更新之後係負的任一參與位元,可藉由計算其硬位元值之邏輯補數(翻轉其值)而更新硬位元值。且在此例項中,可藉由計算其軟位元值之邏輯二之補數(翻轉其正負號)而進一步更新軟位元值,該計算可視情況進一步包含自該邏輯二之補數減去一預定義數值(例如,1)。此等運算係展示於方塊88中。
在前述實例中,該等第一至第四數值N1、N2、N3及N4中之每一者可以若干種不同方式中之任一者選擇,且可在該複數次反覆內係靜態或動態的。在一項實例中,可將該等第一至第四數值設定為參與位元之最不可靠軟位元值(表示為「Min1」)及其次最不可靠軟位元值(表示為「Min2」)之函數。更特定地,舉例而言,可將該等第一及第三數值(較不可靠參與位元之軟位元值所增加或減小之數值)設定為Min2之一函數,且可將該等第二及第四數值(其他參與位元之軟位元值所增加或減小之數值)設定為Min1之一函數。在此等實例中,Min1之函數可經設定以便提供比Min2之函數小之一增加/減小,且Min2之函數可 使得一較高Min2比一較低Min2產生一較大增加/減小。
針對其中L=3(軟位元之數目)之LPI之情形,在一項實例中,可如下規定Min1(或Min2)之前述函數。在其中Min1(或Min2)係0之一例項中,可將各別數設定為0。在其中Min1(或Min2)介於自1至3之範圍中之一例項中,可將各別數設定為1。且在其中Min1(或Min2)介於自4至7之範圍中之一例項中,可將各別數設定為4。
根據LPI實例性實施例,為了將一同位檢查方程式自未經滿足改變成經滿足,翻轉一個位元可係足夠的;且最不可靠位元可係待翻轉之位元之一自然候選者。關於此,最不可靠位元之可靠性度量之改變可隨參與位元中之另一者之一可靠性而變。在其中所有其他位元係完全可靠的一例項中,可計算最不可靠位元之值且將其可靠性更新為最大可靠性。但在其中位元中之至少一者(其次最不可靠位元)具有一較低可靠性度量之一例項中,更新最不可靠位元之可靠性可將此考量在內。類似地更新其他位元之可靠性可主要取決於最不可靠位元之可靠性。
類似於LPB實例性實施例,LPI實例性實施例亦可在檢查節點處(若藉助檢查節點識別同位檢查方程式)僅需求最小記憶體。訊息:「將可靠性度量增加一第一(第二)數值」可藉由對所有位元而非該訊息所發送至之最不可靠位元之軟位元值執行一最小運算而容易地計算。為了計算此一訊息,檢查節點可依賴於位元節點之所儲存值而不依賴於額外記憶體。且由於此訊息可能僅用於當前反覆,因此可不 需要儲存該訊息。記憶體需求可減少至與位元節點之大小成比例之一記憶體量。然而,視情況,可將與檢查節點之大小成比例之記憶體另外用於儲存同位檢查方程式之成功或失敗之一單位元指示。另一需求可係針對用於計算最小傳入位元可靠性之一小電路。
在前述實例性實施例中之任一者中,可針對同位檢查方程式執行複數次反覆,其中某些反覆對同一同位檢查方程式進行運算,如方塊90中所展示。關於此,該等反覆可繼續直至滿足所有同位檢查方程式為止(不必當所有軟位元值皆處於其最大時),或者直至已執行預定義數目次反覆而未達成所有同位檢查方程式之滿足為止,此刻可宣告失敗。
此外,在前述實例性實施例中,選擇同位檢查方程式之資料路徑及排程亦可用於實施背景技術部分中所呈現之信任傳播方程式之一對應全功率解碼器。以此方式,用於實例性實施例之低功率解碼之同一解碼器硬體可再用於全功率解碼。由於運算之簡化,因此可就電力消耗達成顯著節省。運算之簡化可致使該解碼器比一全功率解碼器慢地收斂,但甚至在此例項中,延時亦不顯著增加。
應瞭解,可實施前述實例性實施例之若干種變型以便達成彼等實施例之益處中之一或多者。下文闡述根據其他實例性實施例之若干種此等變型。
圖9圖解說明根據本發明之其他實例性實施例之在解碼一碼字之一表示之一方法中之各種運算之一流程圖。且圖 10及圖11圖解說明本文中有時可稱為「溢流(flooding)位元翻轉」(圖10)及「最不可靠位元翻轉」(圖11)之本發明之兩個更特定實例性實施例。類似於之前,實施信任傳播之一全功率解碼器可再使用實施此等實例性實施例之一解碼器之硬體之至少部分。
該方法可包含(例如,自電腦可讀媒體14)接收包含複數個位元之一碼字之一表示。可將該等位元中之每一者與最初根據該碼字之該表示設定且表示該碼字之該等位元之各別複數個單位元硬位元值相關聯,如方塊92中所展示。類似於之前,使該碼字經受複數個同位檢查方程式,該複數個同位檢查方程式中之每一者包含對應於該碼字之各別複數個該等位元之參與位元,其中該碼字之每一位元參與一或多個同位檢查方程式。
該方法亦可包含經由複數次反覆更新該等位元之硬位元值中之至少某些硬位元值。關於此,更新該等硬位元值可包含針對該等反覆中之每一者,針對每一位元且在數目上計算未滿足之該位元參與之(若干)同位檢查方程式。且更新該等硬位元值可包含,根據位元中之一或多者之(若干)當前硬位元值及未滿足之該(等)位元參與之該(等)同位檢查方程式之數目計算該(等)位元之一經更新硬位元值。
如方塊94中所展示,舉例而言,可關於是否滿足同位檢查方程式對同位檢查方程式全部進行檢查。針對參與一或多個同位檢查方程式之該碼字之每一位元,可計算未滿足之該(等)各別同位檢查方程式之數目。然後可根據未滿足 之同位檢查方程式之數目中之一或多者更新該碼字之(若干)位元之該(等)硬位元值,如方塊96中所展示。
可以若干種不同方式中之任一者更新該(等)硬位元值。在根據溢流位元翻轉之一項實例中,針對每一位元,可比較未滿足之其同位檢查方程式之數目與一預定臨限值,如方塊98中所展示。在此實例中,可藉由在其中未經滿足同位檢查方程式之數目高於該預定臨限值之一例項中計算一位元之當前硬位元值之邏輯補數而計算該位元之經更新硬位元值,如方塊100中所展示。在一項實例中,可同時(溢流排程)或以其他方式在繼續至下一反覆之前計算適當位元之(若干)硬位元值(更新硬位元值)。
針對每一位元,該位元參與之(若干)同位檢查方程式在數值上定義該位元之一階次。在一項實例中,該預定臨限值可隨該位元之一階次而變,其中不同階次之位元具有不同預定臨限值。另外或另一選擇係,該預定臨限值可隨複數次反覆(例如,第一反覆、第二反覆等)中之反覆之數目而變。在一項實例中,第一反覆可使用較高臨限值以使得將僅翻轉具有高錯誤機率之位元。
在一項更特定實例中,可如下設定在三次反覆內之預定臨限值:
在另一類似實例中,可在第三反覆中增加具有階次四之位元之臨限值,諸如以下:
應注意,上文實例假設具有僅階次2、3、4及12之位元之校正碼。上文實例亦假設碼字包含來自各別階次中之每一者之至少一個位元,及存在至少12個同位檢查方程式(由於階次12之至少一個位元之存在)。
更新該(等)硬位元值之另一實例係展示於根據最不可靠位元翻轉實例性實施例之圖11中。根據此實例性實施例,針對每一反覆,可針對位元中之僅一較不可靠者計算一經更新硬位元值。然後如方塊102及104中所展示,可計算位元之可靠性且比較該等可靠性以識別一較不可靠位元-或在一項更特定實例中,識別最不可靠位元。然後,可藉由計算各別位元之當前硬位元值之邏輯補數而計算最不可靠位元之經更新硬位元值,如方塊106中所展示。
在其中一個以上位元具有相同低可靠性之例項中,可將具有最高階次之位元選擇為其硬位元值經更新之位元。根據另一實例,可自具有最高階次之位元選擇其硬位元值經更新之位元,以使得其鄰近位元(距表示特定位元之可變節點兩個邊緣之距離之可變節點)之未經滿足同位檢查方程式之數目之總和係最小的。在其參數全部相等之兩個位 元之間的一繫結之情形中,可隨機或偽隨機地選擇其硬位元值經更新之位元。
在一項實例中,可依據一位元b之未經滿足同位檢查方程式之各別數目ib計算該位元之可靠性。可依據該位元之階次db、該位元參與之(若干)同位檢查方程式之一平均階次dp及該位元之一錯誤機率pb進一步計算該位元之可靠性。根據一項實例性實施例計數地書寫,可如下計算一位元之可靠性rb 可如下估計該可靠性:
可以若干種不同方式計算一位元之錯誤機率。在一項實例中,可如下計算錯誤機率之一估計:
在先前內容中,表示一同位檢查方程式係未經滿足之一所估計機率,可如下計算該機率: 其中W表示校驗子權重(未經滿足同位檢查方程式之數目),且M表示同位檢查方程式之數目。
在圖9至圖11之前述實例性實施例中之任一者中,可針對同位檢查方程式執行複數次反覆,如方塊108中所展示。關於此,該等反覆可繼續達預定數目次反覆,或者達可依據錯誤之平均數目或者依據未經滿足同位檢查方程式之數目(校驗子權重)計算之若干次反覆。
本發明之實例性實施例之方法可一般替代其他全功率解碼演算法(諸如信任傳播)使用。然而,在各項例項中,(諸如)取決於電腦可讀媒體14之品質選擇性地實施實例性實施例之方法及一全功率解碼演算法可係有益的。舉例而言,自產生一電腦可讀儲存媒體實施實例性實施例之方法,但稍後在某一降級之後的該儲存媒體之壽命期間執行全功率解碼演算法可係有益的。此外,舉例而言,在其中一電腦可讀傳輸媒體係判斷為具有低降級之例項中實施實例性實施例之方法,但在較高降級之時期期間執行全功率解碼演算法可係有益的。
根據本發明之實例性實施例之一項態樣,可由各種構件執行由系統或裝置10(圖2)(諸如一快閃記憶體器件(圖3、圖4)或通信系統(圖5))執行之功能,諸如由圖6至圖11之流程圖圖解說明之彼等功能。將理解,可由各種構件實施該等流程圖之每一方塊或運算及/或該等流程圖中之方塊或運算之組合。用於實施該等流程圖之方塊或運算、該等流程圖中之方塊或運算之組合或者本文中所闡述之本發明之實例性實施例之其他功能性之構件可包含:硬體(單獨地或在一或多個電腦程式碼指令指導下)、程式指令或來自 一電腦可讀儲存媒體之可執行電腦可讀程式碼指令。關於此,程式碼指令可儲存於記憶體中且由一處理器執行。
如將瞭解,可自一電腦可讀儲存媒體將任何適合程式碼指令載入至一電腦或其他可程式化裝置(例如,處理器、記憶體或諸如此類)上以產生一特定機器,以使得該特定機器變成用於實施在流程圖之(若干)方塊或(若干)運算中規定之功能之一構件。此等程式碼指令亦可儲存於一電腦可讀儲存媒體中,該電腦可讀儲存媒體可指導一電腦、一處理器或其他可程式化裝置以一特定方式起作用以藉此產生一特定機器或特定製造物品。儲存於電腦可讀儲存媒體中之指令可產生一製造物品,其中該製造物品變成用於實施在流程圖之(若干)方塊或(若干)運算中規定之功能之一構件。程式碼指令可自一電腦可讀儲存媒體擷取且載入至一電腦、處理器或其他可程式化裝置中以組態該電腦、處理器或其他可程式化裝置以執行待對該電腦、處理器或其他可程式化裝置執行之運算或由該電腦、處理器或其他可程式化裝置執行之運算。可順序地執行程式碼指令之擷取、載入及執行以使得一次擷取、載入及執行一個指令。在某些實例性實施例中,可並行執行擷取、載入及/或執行以使得共同擷取、載入及/或執行多個指令。程式碼指令之執行可產生一電腦實施之處理程序以使得由電腦、處理器或其他可程式化裝置執行之指令提供用於實施在流程圖之(若干)方塊或(若干)運算中規定之功能之運算。
因此,由一處理器執行與流程圖之方塊或運算相關聯之 指令或將與流程圖之方塊或運算相關聯之指令儲存於一電腦可讀儲存媒體中支援用於執行所規定功能之運算之組合。亦將理解,流程圖之一或多個方塊或運算以及流程圖中之方塊或運算之組合可由專用基於硬體之電腦系統及/或執行所規定功能之處理器或者專用硬體與程式碼指令之組合實施。
受益於上述說明及相關聯圖式中所呈現之教示之熟習此項技術者將聯想與本發明有關之本文中所陳述之本發明之諸多修改及其他實施例。因此,應理解,本發明不限於所闡述之特定實施例且若干修改及其他實施例意欲包含於隨附申請專利範圍之範疇內。此外,雖然上述說明及相關聯圖式在元件及/或功能之某些實例性組合之背景中闡述實例性實施例,但應瞭解,在不背離隨附申請專利範圍之範疇之情況下可由替代實施例提供元件及/或功能之不同組合。關於此,舉例而言,亦預期除上文明確闡述之元件及/或功能之彼等組合之外的元件及/或功能之不同組合,如可在隨附請求項中之某些請求項中陳述。雖然本文中採用特定術語,但該等術語僅在一普通及闡述性意義上使用且不用於限制目的。
10‧‧‧系統/裝置
12‧‧‧編碼器
14‧‧‧電腦可讀媒體
16‧‧‧解碼器
18‧‧‧記憶體單元陣列/記憶體陣列/陣列
20‧‧‧行控制電路
22‧‧‧列控制電路
24‧‧‧共同源極線控制電路
26‧‧‧共同p井控制電路
28‧‧‧資料輸入/輸出緩衝器
30‧‧‧控制器
32‧‧‧狀態機
34‧‧‧命令電路
36‧‧‧積體電路晶片
38‧‧‧積體電路晶片
40‧‧‧編碼器
42‧‧‧電路
44‧‧‧解碼器
46‧‧‧傳輸器
48‧‧‧接收器
50‧‧‧頻道
52‧‧‧編碼器
54‧‧‧調變器
56‧‧‧解調器
58‧‧‧解碼器
圖1圖解說明一同位檢查矩陣與一偶圖之間的等效性;圖2係可受益於本發明之實例性實施例之一種類型之系統或裝置之一示意性方塊圖;圖3係根據本發明之實例性實施例之體現為一快閃記憶 體器件之一裝置之一更特定實例的一示意性方塊圖;圖4係圖3之快閃記憶體器件之部分之一示意性方塊圖,更特定地其圖解說明根據一項實例性實施例之控制器;圖5係根據本發明之其他實例性實施例之體現為一通信系統之一裝置之另一更特定實例的一示意性方塊圖;及圖6至圖11係圖解說明根據本發明之實例性實施例之方法中之各種運算之流程圖。
18‧‧‧記憶體單元陣列/記憶體陣列/陣列
20‧‧‧行控制電路
22‧‧‧列控制電路
24‧‧‧共同源極線控制電路
26‧‧‧共同p井控制電路
28‧‧‧資料輸入/輸出緩衝器
30‧‧‧控制器
32‧‧‧狀態機
34‧‧‧命令電路
36‧‧‧積體電路晶片
38‧‧‧積體電路晶片

Claims (60)

  1. 一種包括一處理器之裝置,該處理器經組態以至少執行或致使該裝置至少執行:接收包含複數個位元之一碼字之一表示;將該等位元與各別複數個單位元硬位元值及多位元軟位元值相關聯,該等硬位元值最初係根據該碼字之該表示而設定且表示該碼字之該等位元,且該等軟位元值表示各別硬位元值之可靠性之度量;及更新該等位元之該等硬位元值或軟位元值中之至少某些位元值,該更新包含:針對複數次反覆中之每一者,依據該等位元之一各別子集中之該等位元之當前硬位元值以及該子集中之一或多個位元之當前硬位元值及軟位元值計算該各別位元之一經更新硬位元值或軟位元值,其中針對其中該等位元之一子集中之每一位元之當前硬位元值針對兩次反覆相同且其中該子集中之每一位元之當前軟位元值針對兩次反覆相同之兩次反覆,在該兩次反覆中之一者期間針對該子集中之任一位元計算之經更新硬位元值或軟位元值相同於在該兩次反覆中之另一者期間針對該各別位元計算之經更新硬位元值或軟位元值。
  2. 如請求項1之裝置,其中該裝置係一記憶體系統,該記憶體系統進一步包括:複數個非揮發性儲存元件,其等經組態以儲存該碼字,該碼字之該表示係自該等非揮發性儲存元件接收。
  3. 如請求項1或2中任一項之裝置,其中更新該等位元之該等硬位元值或軟位元值中之至少某些位元值包含:針對該複數次反覆中之每一者,依據該等位元之一各別子集中之該等位元之當前硬位元值及軟位元值計算該子集中之該等位元之經更新硬位元值及軟位元值。
  4. 如請求項1或2之裝置,其中計算該等位元之該子集中之一或多個位元之該經更新硬位元值或軟位元值包括:依據該等位元之該子集中之該等位元之該等當前硬位元值計算該子集之一或多個更新值,該等更新值中之一者係該子集之位元中之該等位元中之一者以上共有的;及根據該一或多個更新值中之僅一更新值以及該等位元之該子集中之每一位元之該當前硬位元值及軟位元值更新該各別位元之該硬位元值或軟位元值。
  5. 如請求項4之裝置,其中該碼字經受複數個同位檢查方程式,該複數個同位檢查方程式中之每一者包含對應於一各別子集之位元中之該等位元之參與位元,該碼字之每一位元參與在數值上定義該位元之一階次之一或多個同位檢查方程式,其中計算一或多個更新值包括:計算一各別同位檢查方程式之該等參與位元之一或多個更新值,在該複數次反覆內該碼字之該等位元具有複數個更新值,且其中針對該複數次反覆,用於儲存該碼字之該等位元之該等硬位元值、軟位元值及更新值之一總儲存量在數值上與該碼字之位元之數目成比例,且少於該碼字之位 元之該數目與該碼字之該等位元之平均階次之乘積。
  6. 如請求項4之裝置,其中該碼字經受複數個同位檢查方程式,該複數個同位檢查方程式中之每一者包含對應於一各別子集之位元中之該等位元之參與位元,該碼字之每一位元參與在數值上定義該位元之一階次之一或多個同位檢查方程式,其中計算一或多個更新值包括:計算一各別同位檢查方程式之該等參與位元之一或多個更新值,在該複數次反覆內該碼字之該等位元具有複數個更新值,且其中針對該複數次反覆,用於儲存該碼字之該等位元之該等硬位元值、軟位元值及更新值之一總儲存量在數值上與該碼字之位元之該數目與該碼字之同位檢查方程式之數目之總和成比例,且少於該碼字之位元之該數目與該碼字之該等位元之平均階次之該乘積。
  7. 如請求項4之裝置,其中計算一或多個更新值包括:計算該子集之位元中之所有該等位元共有之一個更新值,且其中更新該等位元之該子集中之每一位元之該硬位元值或軟位元值包括:根據所有該等位元共有之僅該更新值以及該各別位元之該當前硬位元值及軟位元值更新該硬位元值或軟位元值。
  8. 如請求項4之裝置,其中計算該等位元之該子集之一或多個更新值包括:計算在數值上小於該等位元之該子集中之位元之複數個更新值,該子集之位元中之每一位元與該等更新值中之一者相關聯,且 其中更新該等位元之該子集中之每一位元之該硬位元值或軟位元值包括:根據僅該相關聯更新值以及該各別位元之該當前硬位元值及軟位元值更新該硬位元值或軟位元值。
  9. 如請求項4之裝置,其中該等位元之一子集中之該等位元係一同位檢查方程式之參與位元,其中計算一或多個更新值包括:計算該同位檢查方程式之該等參與位元之一或多個更新值,該一或多個更新值各自反映是否滿足該同位檢查方程式,其中更新該硬位元值或軟位元值包括:根據該一或多個更新值中之僅一更新值以及該同位檢查方程式之每一參與位元之該當前硬位元值及軟位元值更新該各別位元之該硬位元值或軟位元值。
  10. 如請求項9之裝置,其中計算一或多個更新值包括:計算一或多個更新值,該一或多個更新值之每一者反映在其中滿足該同位檢查方程式之一例項中該同位檢查方程式之該等參與位元之該當前軟位元值之一增加或在其中未滿足該同位檢查方程式之一例項中該同位檢查方程式之該等參與位元之該當前軟位元值之一減小。
  11. 如請求項10之裝置,其中在其中滿足該同位檢查方程式之一例項中,更新該同位檢查方程式之每一參與位元之該硬位元值或軟位元值包含維持該參與位元之該當前硬位元值,及在其中該參與位元之該當前軟位元值低於一第一臨限值之一例項中,藉由增加該當前軟位元值而計 算一經更新軟位元值,其中在其中未滿足該同位檢查方程式之一例項中,更新該同位檢查方程式之每一參與位元之該硬位元值或軟位元值包含:藉由在其中該參與位元之該當前軟位元值低於該第一臨限值之一例項中減小該當前軟位元值而計算該參與位元之一經更新軟位元值,且其中在其中未滿足該同位檢查方程式之一例項中,更新每一參與位元之該硬位元值或軟位元值進一步包含藉由計算該參與位元之該當前硬位元值之邏輯補數而計算該參與位元之一經更新硬位元值,及在其中該參與位元之該經更新軟位元值低於一第二臨限值之一例項中,藉由計算該參與位元之該經更新軟位元值之邏輯二之補數而計算該參與位元之又一經更新軟位元值。
  12. 如請求項11之裝置,其中計算該又一經更新軟位元值進一步包含:自該經更新軟位元值之該邏輯二之補數減去一預定義數值。
  13. 如請求項11之裝置,其中該等參與位元中之一或多者係具有指示比其他參與位元小之可靠性之軟位元值之較不可靠位元,其中增加該當前軟位元值包含:在其中該參與位元係該等較不可靠位元中之一者之一例項中,將該當前軟位元值增加一第一數值,或者否則將該當前軟位元值增加一第二不同數值,且其中減小該當前軟位元值包含:在其中該參與位元係 該等較不可靠位元中之一者之一例項中,將該當前軟位元值減小一第三數值,或者否則將該當前軟位元值減小一第四不同數值。
  14. 一種包括一處理器之裝置,該處理器經組態以至少執行或致使該裝置至少執行:接收包含複數個位元之一碼字之一表示,其中該碼字經受複數個同位檢查方程式,該複數個同位檢查方程式中之每一者包含對應於該碼字之各別複數個該等位元之參與位元,該碼字之每一位元參與一或多個同位檢查方程式;將該等位元與各別複數個單位元硬位元值相關聯,該各別複數個單位元硬位元值最初係根據該碼字之該表示而設定且表示該碼字之該等位元;及更新該等位元之該等硬位元值中之至少某些硬位元值,該更新包含:針對複數次反覆中之每一者,針對每一位元且在數目上計算未滿足之該位元參與之該等同位檢查方程式中之一或多者,及根據一位元之一當前硬位元值及未滿足之該位元參與之該一或多個同位檢查方程式之該數目計算該位元之一經更新硬位元值。
  15. 如請求項14之裝置,其中該裝置係一記憶體系統,該記憶體系統進一步包括:複數個非揮發性儲存元件,其等經組態以儲存該碼字,該碼字之該表示係自該等非揮發性儲存元件接收。
  16. 如請求項14或15中任一項之裝置,其中計算該位元之該 經更新硬位元值包含:在其中未滿足之該位元參與之該一或多個同位檢查方程式之該數目高於一預定臨限值之一例項中,計算該位元之該當前硬位元值之邏輯補數。
  17. 如請求項14或15之裝置,其中針對每一位元,該位元參與之該一或多個同位檢查方程式在數值上定義該位元之一階次,且其中該預定臨限值隨該位元之一階次而變,其中不同階次之位元具有不同預定臨限值。
  18. 如請求項14或15之裝置,其中針對每一反覆,更新該等硬位元值中之至少某些硬位元值包含:計算該等位元中之僅一較不可靠位元之經更新硬位元值,該各別較不可靠位元係根據該等位元之可靠性之一比較而識別,每一位元之該可靠性係依據未滿足之該位元參與之該一或多個同位檢查方程式之該數目而計算。
  19. 如請求項18之裝置,其中針對每一位元,該位元參與之該一或多個同位檢查方程式在數值上定義該位元之一階次,且針對每一同位檢查方程式,參與位元之數目在數值上定義該同位檢查方程式之一階次,且其中每一位元之該可靠性係進一步依據該位元之該階次、該位元參與之該一或多個同位檢查方程式之一平均階次及該位元之一錯誤機率而計算。
  20. 一種方法,其包括:接收包含複數個位元之一碼字之一表示;將該等位元與各別複數個單位元硬位元值及多位元軟 位元值相關聯,該等硬位元值最初係根據該碼字之該表示而設定且表示該碼字之該等位元,且該等軟位元值表示各別硬位元值之可靠性之度量;及更新該等位元之該等硬位元值或軟位元值中之至少某些位元值,該更新包含:針對複數次反覆中之每一者,依據該等位元之一各別子集中之該等位元之當前硬位元值以及該子集中之一或多個位元之當前硬位元值及軟位元值計算該各別位元之一經更新硬位元值或軟位元值,其中針對其中該等位元之一子集中之每一位元之當前硬位元值針對兩次反覆相同且其中該子集中之每一位元之當前軟位元值針對兩次反覆相同之兩次反覆,在該兩次反覆中之一者期間針對該子集中之任一位元計算之經更新硬位元值或軟位元值相同於在該兩次反覆中之另一者期間針對該各別位元計算之經更新硬位元值或軟位元值。
  21. 如請求項20之方法,其中由包含經組態以至少更新該等位元之該等硬位元值或軟位元值中之至少某些位元值之一處理器之一裝置執行更新該等位元之該等硬位元值或軟位元值中之至少某些位元值。
  22. 如請求項20或21中任一項之方法,其由包括經組態以儲存該碼字之複數個非揮發性儲存元件之一記憶體系統執行,該碼字之該表示係自該等非揮發性儲存元件接收。
  23. 如請求項20或21之方法,其中更新該等位元之該等硬位元值或軟位元值中之至少某些位元值包含:針對該複數 次反覆中之每一者,依據該等位元之一各別子集中之該等位元之當前硬位元值及軟位元值計算該子集中之該等位元之經更新硬位元值及軟位元值。
  24. 如請求項20或21之方法,其中計算該等位元之該子集中之一或多個位元之該經更新硬位元值或軟位元值包括:依據該等位元之該子集中之該等位元之該等當前硬位元值計算該子集之一或多個更新值,該等更新值中之一者係該子集之位元中之該等位元中之一者以上共有的;及根據該一或多個更新值中之僅一更新值以及該等位元之該子集中之每一位元之該當前硬位元值及軟位元值更新該各別位元之該硬位元值或軟位元值。
  25. 如請求項24之方法,其中使該碼字經受複數個同位檢查方程式,該複數個同位檢查方程式中之每一者包含對應於一各別子集之位元中之該等位元之參與位元,該碼字之每一位元參與在數值上定義該位元之一階次之一或多個同位檢查方程式,其中計算一或多個更新值包括:計算一各別同位檢查方程式之該等參與位元之一或多個更新值,在該複數次反覆內該碼字之該等位元具有複數個更新值,且其中針對該複數次反覆,用於儲存該碼字之該等位元之該等硬位元值、軟位元值及更新值之一總儲存量在數值上與該碼字之位元之數目成比例,且少於該碼字之位元之該數目與該碼字之該等位元之平均階次之乘積。
  26. 如請求項24之方法,其中使該碼字經受複數個同位檢查 方程式,該複數個同位檢查方程式中之每一者包含對應於一各別子集之位元中之該等位元之參與位元,該碼字之每一位元參與在數值上定義該位元之一階次之一或多個同位檢查方程式,其中計算一或多個更新值包括:計算一各別同位檢查方程式之該等參與位元之一或多個更新值,在該複數次反覆內該碼字之該等位元具有複數個更新值,且其中針對該複數次反覆,用於儲存該碼字之該等位元之該等硬位元值、軟位元值及更新值之一總儲存量在數值上與該碼字之位元之該數目與該碼字之同位檢查方程式之數目之總和成比例,且少於該碼字之位元之該數目與該碼字之該等位元之平均階次之該乘積。
  27. 如請求項24之方法,其中計算一或多個更新值包括:計算該子集之位元中之所有該等位元共有之一個更新值,且其中更新該等位元之該子集中之每一位元之該硬位元值或軟位元值包括:根據所有該等位元共有之僅該更新值以及該各別位元之該當前硬位元值及軟位元值更新該硬位元值或軟位元值。
  28. 如請求項24之方法,其中計算該等位元之該子集之一或多個更新值包括:計算在數值上小於該等位元之該子集中之位元之複數個更新值,該子集之位元中之每一位元與該等更新值中之一者相關聯,且其中更新該等位元之該子集中之每一位元之該硬位元值或軟位元值包括:根據僅該相關聯更新值以及該各別 位元之該當前硬位元值及軟位元值更新該硬位元值或軟位元值。
  29. 如請求項24之方法,其中該等位元之一子集中之該等位元係一同位檢查方程式之參與位元,其中計算一或多個更新值包括:計算該同位檢查方程式之該等參與位元之一或多個更新值,該一或多個更新值各自反映是否滿足該同位檢查方程式,其中更新該硬位元值或軟位元值包括:根據該一或多個更新值中之僅一更新值以及該同位檢查方程式之每一參與位元之該當前硬位元值及軟位元值更新該各別位元之該硬位元值或軟位元值。
  30. 如請求項29之方法,其中計算一或多個更新值包括:計算一或多個更新值,該一或多個更新值之每一者反映在其中滿足該同位檢查方程式之一例項中該同位檢查方程式之該等參與位元之該當前軟位元值之一增加或在其中未滿足該同位檢查方程式之一例項中該同位檢查方程式之該等參與位元之該當前軟位元值之一減小。
  31. 如請求項30之方法,其中在其中滿足該同位檢查方程式之一例項中,更新該同位檢查方程式之每一參與位元之該硬位元值或軟位元值包含維持該參與位元之該當前硬位元值,及在其中該參與位元之該當前軟位元值低於一第一臨限值之一例項中,藉由增加該當前軟位元值而計算一經更新軟位元值,且其中在其中未滿足該同位檢查方程式之一例項中,更 新該同位檢查方程式之每一參與位元之該硬位元值或軟位元值包含:藉由在其中該參與位元之該當前軟位元值低於該第一臨限值之一例項中減小該當前軟位元值而計算該參與位元之一經更新軟位元值,且其中在其中未滿足該同位檢查方程式之一例項中,更新每一參與位元之該硬位元值或軟位元值進一步包含藉由計算該參與位元之該當前硬位元值之邏輯補數而計算該參與位元之一經更新硬位元值,及在其中該參與位元之該經更新軟位元值低於一第二臨限值之一例項中,藉由計算該參與位元之該經更新軟位元值之邏輯二之補數而計算該參與位元之又一經更新軟位元值。
  32. 如請求項31之方法,其中計算該又一經更新軟位元值進一步包含:自該經更新軟位元值之該邏輯二之補數減去一預定義數值。
  33. 如請求項31之方法,其中該等參與位元中之一或多者係具有指示比其他參與位元小之可靠性之軟位元值之較不可靠位元,其中增加該當前軟位元值包含:在其中該參與位元係該等較不可靠位元中之一者之一例項中,將該當前軟位元值增加一第一數值,或者否則將該當前軟位元值增加一第二不同數值,且其中減小該當前軟位元值包含:在其中該參與位元係該等較不可靠位元中之一者之一例項中,將該當前軟位元值減小一第三數值,或者否則將該當前軟位元值減小 一第四不同數值。
  34. 一種方法,其包括:接收包含複數個位元之一碼字之一表示,其中使該碼字經受複數個同位檢查方程式,該複數個同位檢查方程式中之每一者包含對應於該碼字之各別複數個該等位元之參與位元,該碼字之每一位元參與一或多個同位檢查方程式;將該等位元與各別複數個單位元硬位元值相關聯,該各別複數個單位元硬位元值最初係根據該碼字之該表示而設定且表示該碼字之該等位元;及更新該等位元之該等硬位元值中之至少某些硬位元值,該更新包含:針對複數次反覆中之每一者,針對每一位元且在數目上計算未滿足之該位元參與之該等同位檢查方程式中之一或多者,及根據一位元之一當前硬位元值及未滿足之該位元參與之該一或多個同位檢查方程式之該數目計算該位元之一經更新硬位元值。
  35. 如請求項34之方法,其中由包含經組態以至少更新該等位元之該等硬位元值或軟位元值中之至少某些位元值之一處理器之一裝置執行更新該等位元之該等硬位元值中之至少某些位元值。
  36. 如請求項34或35中任一項之方法,其由包括經組態以儲存該碼字之複數個非揮發性儲存元件之一記憶體系統執行,該碼字之該表示係自該等非揮發性儲存元件接收。
  37. 如請求項34或35之方法,其中計算該位元之該經更新硬 位元值包含:在其中未滿足之該位元參與之該一或多個同位檢查方程式之該數目高於一預定臨限值之一例項中,計算該位元之該當前硬位元值之邏輯補數。
  38. 如請求項34或35之方法,其中針對每一位元,該位元參與之該一或多個同位檢查方程式在數值上定義該位元之一階次,且其中該預定臨限值隨該位元之一階次而變,其中不同階次之位元具有不同預定臨限值。
  39. 如請求項34或35之方法,其中針對每一反覆,更新該等硬位元值中之至少某些硬位元值包含:計算該等位元中之僅一較不可靠位元之經更新硬位元值,該各別較不可靠位元係根據該等位元之可靠性之一比較而識別,每一位元之該可靠性係依據未滿足之該位元參與之該一或多個同位檢查方程式之該數目而計算。
  40. 如請求項39之方法,其中針對每一位元,該位元參與之該一或多個同位檢查方程式在數值上定義該位元之一階次,且針對每一同位檢查方程式,參與位元之數目在數值上定義該同位檢查方程式之一階次,且其中每一位元之該可靠性係進一步依據該位元之該階次、該位元參與之該一或多個同位檢查方程式之一平均階次及該位元之一錯誤機率而計算。
  41. 一種裝置,其包括:用於接收包含複數個位元之一碼字之一表示之構件;用於將該等位元與各別複數個單位元硬位元值及多位 元軟位元值相關聯之構件,該等硬位元值最初係根據該碼字之該表示而設定且表示該碼字之該等位元,且該等軟位元值表示各別硬位元值之可靠性之度量;及用於更新該等位元之該等硬位元值或軟位元值中之至少某些位元值之構件,該更新包含:針對複數次反覆中之每一者,依據該等位元之一各別子集中之該等位元之當前硬位元值以及該子集中之一或多個位元之當前硬位元值及軟位元值計算該各別位元之一經更新硬位元值或軟位元值,其中針對其中該等位元之一子集中之每一位元之當前硬位元值針對兩次反覆相同且其中該子集中之每一位元之當前軟位元值針對兩次反覆相同之兩次反覆,在該兩次反覆中之一者期間針對該子集中之任一位元計算之經更新硬位元值或軟位元值相同於在該兩次反覆中之另一者期間針對該各別位元計算之經更新硬位元值或軟位元值。
  42. 如請求項41之裝置,其中該裝置係一記憶體系統,該記憶體系統進一步包括:用於儲存該碼字之構件,該碼字之該表示係自該等非揮發性儲存元件接收。
  43. 如請求項41或42中任一項之裝置,其中更新該等位元之該等硬位元值或軟位元值中之至少某些位元值包含:針對該複數次反覆中之每一者,依據該等位元之一各別子集中之該等位元之當前硬位元值及軟位元值計算該子集 中之該等位元之經更新硬位元值及軟位元值。
  44. 如請求項41或42之裝置,其中計算該等位元之該子集中之一或多個位元之該經更新硬位元值或軟位元值包括:依據該等位元之該子集中之該等位元之該等當前硬位元值計算該子集之一或多個更新值,該等更新值中之一者係該子集之位元中之該等位元中之一者以上共有的;及根據該一或多個更新值中之僅一更新值以及該等位元之該子集中之每一位元之該當前硬位元值及軟位元值更新該各別位元之該硬位元值或軟位元值。
  45. 如請求項44之裝置,其中該碼字經受複數個同位檢查方程式,該複數個同位檢查方程式中之每一者包含對應於一各別子集之位元中之該等位元之參與位元,該碼字之每一位元參與在數值上定義該位元之一階次之一或多個同位檢查方程式,其中計算一或多個更新值包括:計算一各別同位檢查方程式之該等參與位元之一或多個更新值,在該複數次反覆內該碼字之該等位元具有複數個更新值,且其中針對該複數次反覆,用於儲存該碼字之該等位元之該等硬位元值、軟位元值及更新值之一總儲存量在數值上與該碼字之位元之數目成比例,且少於該碼字之位元之該數目與該碼字之該等位元之平均階次之乘積。
  46. 如請求項44之裝置,其中該碼字經受複數個同位檢查方程式,該複數個同位檢查方程式中之每一者包含對應於一各別子集之位元中之該等位元之參與位元,該碼字之 每一位元參與在數值上定義該位元之一階次之一或多個同位檢查方程式,其中計算一或多個更新值包括:計算一各別同位檢查方程式之該等參與位元之一或多個更新值,在該複數次反覆內該碼字之該等位元具有複數個更新值,且其中針對該複數次反覆,用於儲存該碼字之該等位元之該等硬位元值、軟位元值及更新值之一總儲存量在數值上與該碼字之位元之該數目與該碼字之同位檢查方程式之數目之總和成比例,且少於該碼字之位元之該數目與該碼字之該等位元之平均階次之該乘積。
  47. 如請求項44之裝置,其中計算一或多個更新值包括:計算該子集之位元中之所有該等位元共有之一個更新值,且其中更新該等位元之該子集中之每一位元之該硬位元值或軟位元值包括:根據所有該等位元共有之僅該更新值以及該各別位元之該當前硬位元值及軟位元值更新該硬位元值或軟位元值。
  48. 如請求項44之裝置,其中計算該等位元之該子集之一或多個更新值包括:計算在數值上小於該等位元之該子集中之位元之複數個更新值,該子集之位元中之每一位元與該等更新值中之一者相關聯,且其中更新該等位元之該子集中之每一位元之該硬位元值或軟位元值包括:根據僅該相關聯更新值以及該各別位元之該當前硬位元值及軟位元值更新該硬位元值或軟位元值。
  49. 如請求項44之裝置,其中該等位元之一子集中之該等位元係一同位檢查方程式之參與位元,其中計算一或多個更新值包括:計算該同位檢查方程式之該等參與位元之一或多個更新值,該一或多個更新值各自反映是否滿足該同位檢查方程式,其中更新該硬位元值或軟位元值包括:根據該一或多個更新值中之僅一更新值以及該同位檢查方程式之每一參與位元之該當前硬位元值及軟位元值更新該各別位元之該硬位元值或軟位元值。
  50. 如請求項49之裝置,其中計算一或多個更新值包括:計算一或多個更新值,該一或多個更新值之每一者反映在其中滿足該同位檢查方程式之一例項中該同位檢查方程式之該等參與位元之該當前軟位元值之一增加或在其中未滿足該同位檢查方程式之一例項中該同位檢查方程式之該等參與位元之該當前軟位元值之一減小。
  51. 如請求項50之裝置,其中在其中滿足該同位檢查方程式之一例項中,更新該同位檢查方程式之每一參與位元之該硬位元值或軟位元值包含維持該參與位元之該當前硬位元值,及在其中該參與位元之該當前軟位元值低於一第一臨限值之一例項中,藉由增加該當前軟位元值而計算一經更新軟位元值,其中在其中未滿足該同位檢查方程式之一例項中,更新該同位檢查方程式之每一參與位元之該硬位元值或軟位元值包含:藉由在其中該參與位元之該當前軟位元值 低於該第一臨限值之一例項中減小該當前軟位元值而計算該參與位元之一經更新軟位元值,且其中在其中未滿足該同位檢查方程式之一例項中,更新每一參與位元之該硬位元值或軟位元值進一步包含:藉由計算該參與位元之該當前硬位元值之邏輯補數而計算該參與位元之一經更新硬位元值,及在其中該參與位元之該經更新軟位元值低於一第二臨限值之一例項中,藉由計算該參與位元之該經更新軟位元值之邏輯二之補數而計算該參與位元之又一經更新軟位元值。
  52. 如請求項51之裝置,其中計算該又一經更新軟位元值進一步包含:自該經更新軟位元值之該邏輯二之補數減去一預定義數值。
  53. 如請求項51之裝置,其中該等參與位元中之一或多者係具有指示比其他參與位元小之可靠性之軟位元值之較不可靠位元,其中增加該當前軟位元值包含:在其中該參與位元係該等較不可靠位元中之一者之一例項中,將該當前軟位元值增加一第一數值,或者否則將該當前軟位元值增加一第二不同數值,且其中減小該當前軟位元值包含:在其中該參與位元係該等較不可靠位元中之一者之一例項中,將該當前軟位元值減小一第三數值,或者否則將該當前軟位元值減小一第四不同數值。
  54. 一種裝置,其包括: 用於接收包含複數個位元之一碼字之一表示之構件,其中該碼字經受複數個同位檢查方程式,該複數個同位檢查方程式中之每一者包含對應於該碼字之各別複數個該等位元之參與位元,該碼字之每一位元參與一或多個同位檢查方程式;用於將該等位元與各別複數個單位元硬位元值相關聯之構件,該各別複數個單位元硬位元值最初係根據該碼字之該表示而設定且表示該碼字之該等位元;及用於更新該等位元之該等硬位元值中之至少某些硬位元值之構件,該更新包含:針對複數次反覆中之每一者,針對每一位元且在數目上計算未滿足之該位元參與之該等同位檢查方程式中之一或多者,及根據一位元之一當前硬位元值及未滿足之該位元參與之該一或多個同位檢查方程式之該數目計算該位元之一經更新硬位元值。
  55. 如請求項54之裝置,其中該裝置係一記憶體系統,該記憶體系統進一步包括:用於儲存該碼字之構件,該碼字之該表示係自該等非揮發性儲存元件接收。
  56. 如請求項54或55中任一項之裝置,其中計算該位元之該經更新硬位元值包含:在其中未滿足之該位元參與之該一或多個同位檢查方程式之該數目高於一預定臨限值之一例項中,計算該位元之該當前硬位元值之邏輯補數。
  57. 如請求項54或55之裝置,其中針對每一位元,該位元參 與之該一或多個同位檢查方程式在數值上定義該位元之一階次,且其中該預定臨限值隨該位元之一階次而變,其中不同階次之位元具有不同預定臨限值。
  58. 如請求項54或55之裝置,其中針對每一反覆,更新該等硬位元值中之至少某些硬位元值包含:計算該等位元中之僅一較不可靠位元之經更新硬位元值,該各別較不可靠位元係根據該等位元之可靠性之一比較而識別,每一位元之該可靠性係依據未滿足之該位元參與之該一或多個同位檢查方程式之該數目而計算。
  59. 如請求項58之裝置,其中針對每一位元,該位元參與之該一或多個同位檢查方程式在數值上定義該位元之一階次,且針對每一同位檢查方程式,參與位元之數目在數值上定義該同位檢查方程式之一階次,且其中每一位元之該可靠性係進一步依據該位元之該階次、該位元參與之該一或多個同位檢查方程式之一平均階次及該位元之一錯誤機率而計算。
  60. 一種在執行時致使執行如請求項20至40中任何一或多項之方法之電腦程式。
TW101127690A 2011-07-31 2012-07-31 具有減少的記憶體與功率需求之錯誤校正解碼 TW201322646A (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/IL2011/000617 WO2013018080A1 (en) 2011-07-31 2011-07-31 Error-correction decoding with reduced memory and power requirements

Publications (1)

Publication Number Publication Date
TW201322646A true TW201322646A (zh) 2013-06-01

Family

ID=47628692

Family Applications (1)

Application Number Title Priority Date Filing Date
TW101127690A TW201322646A (zh) 2011-07-31 2012-07-31 具有減少的記憶體與功率需求之錯誤校正解碼

Country Status (4)

Country Link
US (1) US9270297B2 (zh)
KR (1) KR20140078576A (zh)
TW (1) TW201322646A (zh)
WO (1) WO2013018080A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI697907B (zh) * 2020-01-14 2020-07-01 慧榮科技股份有限公司 記憶體控制器及快閃記憶體的存取方法

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9256522B1 (en) * 2012-04-19 2016-02-09 Sk Hynix Memory Solutions Inc. Method and system for generating soft-information after a single read in NAND flash using expected and measured values
US9407290B2 (en) * 2013-03-15 2016-08-02 Sandisk Technologies Llc Error-correction decoding with conditional limiting of check-node messages
US10135464B2 (en) 2015-01-05 2018-11-20 SK Hynix Inc. Reliability-assisted bit-flipping decoding algorithm
CN106169308B (zh) 2015-03-16 2020-09-15 爱思开海力士有限公司 存储器控制器及其操作方法
US10498362B2 (en) 2016-12-19 2019-12-03 Kabushiki Kaisha Toshiba Low power error correcting code (ECC) system
US10171207B2 (en) * 2017-04-26 2019-01-01 Cavium, Llc Methods and apparatus for control bit detection
US11115062B2 (en) * 2018-03-16 2021-09-07 SK Hynix Inc. Memory system with adaptive threshold decoding and method of operating such memory system
US10514980B2 (en) 2018-03-22 2019-12-24 Winbond Electronics Corp. Encoding method and memory storage apparatus using the same
US11184024B2 (en) * 2019-12-02 2021-11-23 SK Hynix Inc. Error mitigation scheme for bit-flipping decoders for irregular low-density parity-check codes
US11455208B2 (en) * 2020-08-20 2022-09-27 Western Digital Technologies, Inc. Soft information for punctured bit estimation in a data storage device

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8209579B2 (en) * 2004-03-31 2012-06-26 Intel Corporation Generalized multi-threshold decoder for low-density parity check codes
WO2005096509A1 (en) 2004-03-31 2005-10-13 Intel Corporation Multi-threshold message passing decoding of low-density parity check codes
US20060156171A1 (en) * 2004-12-15 2006-07-13 Seagate Technology Llc Combining spectral shaping with turbo coding in a channel coding system
US7770090B1 (en) * 2005-09-14 2010-08-03 Trident Microsystems (Far East) Ltd. Efficient decoders for LDPC codes
US7844877B2 (en) 2005-11-15 2010-11-30 Ramot At Tel Aviv University Ltd. Method and device for multi phase error-correction
US7533328B2 (en) 2006-07-04 2009-05-12 Sandisk Il, Ltd. Method of error correction in a multi-bit-per-cell flash memory
US7818653B2 (en) 2006-09-28 2010-10-19 Sandisk Corporation Methods of soft-input soft-output decoding for nonvolatile memory
US7966546B2 (en) * 2007-03-31 2011-06-21 Sandisk Technologies Inc. Non-volatile memory with soft bit data transmission for error correction control
KR101492595B1 (ko) 2007-05-21 2015-02-11 라모트 앳 텔-아비브 유니버시티 리미티드 메모리 효율적인 ldpc 디코딩
US8335977B2 (en) 2007-12-05 2012-12-18 Densbits Technologies Ltd. Flash memory apparatus and methods using a plurality of decoding stages including optional use of concatenated BCH codes and/or designation of “first below” cells
US8156398B2 (en) 2008-02-05 2012-04-10 Anobit Technologies Ltd. Parameter estimation based on error correction code parity check equations
US8832518B2 (en) 2008-02-21 2014-09-09 Ramot At Tel Aviv University Ltd. Method and device for multi phase error-correction
US8370711B2 (en) * 2008-06-23 2013-02-05 Ramot At Tel Aviv University Ltd. Interruption criteria for block decoding
US20090319860A1 (en) 2008-06-23 2009-12-24 Ramot At Tel Aviv University Ltd. Overcoming ldpc trapping sets by decoder reset
CN101803206B (zh) 2008-08-15 2013-09-04 Lsi公司 近码字的rom列表解码
US8301979B2 (en) * 2008-10-07 2012-10-30 Sandisk Il Ltd. Low density parity code (LDPC) decoding for memory with multiple log likelihood ratio (LLR) decoders

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI697907B (zh) * 2020-01-14 2020-07-01 慧榮科技股份有限公司 記憶體控制器及快閃記憶體的存取方法

Also Published As

Publication number Publication date
US20140164865A1 (en) 2014-06-12
US9270297B2 (en) 2016-02-23
WO2013018080A1 (en) 2013-02-07
KR20140078576A (ko) 2014-06-25

Similar Documents

Publication Publication Date Title
TW201322646A (zh) 具有減少的記憶體與功率需求之錯誤校正解碼
JP5197544B2 (ja) メモリシステム
TWI411912B (zh) 使用寫入驗證之代碼之錯誤底限減緩
US8370711B2 (en) Interruption criteria for block decoding
US8880987B2 (en) Checksum using sums of permutation sub-matrices
JP5593312B2 (ja) デコーダのリセットによるldpcトラッピング集合の克服
US20160027521A1 (en) Method of flash channel calibration with multiple luts for adaptive multiple-read
US20090319861A1 (en) Using damping factors to overcome ldpc trapping sets
US9407290B2 (en) Error-correction decoding with conditional limiting of check-node messages
CN102138282A (zh) 减小复杂性的ldpc解码器
US10574272B2 (en) Memory system
JP6730215B2 (ja) メモリコントローラ、メモリシステムおよび制御方法
US11418219B2 (en) Learning device
CN112860474A (zh) 快速收敛的低密度奇偶校验码的软位翻转解码器
KR101631128B1 (ko) 크기조정 상수를 사용하는 가변 노드 업데이터를 갖는 ldpc 디코더
CN112951313A (zh) 用于纠错的存储控制器、包括其的存储设备及其操作方法
US20170161141A1 (en) Method and apparatus for correcting data in multiple ecc blocks of raid memory
US11664822B2 (en) Multidimensional encoding and decoding in memory system
WO2018219031A1 (zh) 一种Polar码处理方法、译码器和终端
CN103973316A (zh) 具有使用定标常数的可变节点更新器的ldpc解码器
CN110708077B (zh) Ldpc码大数逻辑译码方法、装置和译码器
Kaynak et al. Classification codes for soft information generation from hard flash reads
US10673465B2 (en) Memory controller, memory system, and control method
CN117176185B (zh) 一种基于极化码的数据编解码方法、装置和存储介质
JP2021044750A (ja) メモリシステム