TW201603039A - 解碼方法、記憶體控制電路單元及記憶體儲存裝置 - Google Patents

解碼方法、記憶體控制電路單元及記憶體儲存裝置 Download PDF

Info

Publication number
TW201603039A
TW201603039A TW103123834A TW103123834A TW201603039A TW 201603039 A TW201603039 A TW 201603039A TW 103123834 A TW103123834 A TW 103123834A TW 103123834 A TW103123834 A TW 103123834A TW 201603039 A TW201603039 A TW 201603039A
Authority
TW
Taiwan
Prior art keywords
reliability information
bit
information
bits
memory
Prior art date
Application number
TW103123834A
Other languages
English (en)
Other versions
TWI541820B (zh
Inventor
許珮蓉
Original Assignee
群聯電子股份有限公司
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 群聯電子股份有限公司 filed Critical 群聯電子股份有限公司
Priority to TW103123834A priority Critical patent/TWI541820B/zh
Priority to US14/467,052 priority patent/US10103748B2/en
Publication of TW201603039A publication Critical patent/TW201603039A/zh
Application granted granted Critical
Publication of TWI541820B publication Critical patent/TWI541820B/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1012Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
    • 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/1108Hard decision decoding, e.g. bit flipping, modified or weighted bit flipping
    • 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/6577Representation or format of variables, register sizes or word-lengths and quantization
    • H03M13/658Scaling by multiplication or division

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

一種解碼方法、記憶體控制電路單元及記憶體儲存裝置。此解碼方法包括:發送用以讀取多個記憶胞以取得多個位元的讀取指令序列,並且獲得對應於每一多個位元的多個可靠度資訊。此解碼方法還包括:計算此些可靠度資訊中符合查驗條件的多個可靠度資訊的總和,並且將此總和加上平衡資訊以獲得對應於此些位元中的第一位元與第一校驗子的權重。此解碼方法更包括:判斷此些位元是否具有至少一錯誤,並且若此些位元具有至少一錯誤,根據所述權重執行迭代解碼程序。

Description

解碼方法、記憶體控制電路單元及記憶體儲存裝置
本發明是有關於一種解碼方法,且特別是有關於一種用於可複寫式非揮發性記憶體模組的解碼方法、記憶體儲存裝置及記憶體控制電路單元。
數位相機、行動電話與MP3播放器在這幾年來的成長十分迅速,使得消費者對儲存媒體的需求也急速增加。由於可複寫式非揮發性記憶體模組(例如,快閃記憶體)具有資料非揮發性、省電、體積小,以及無機械結構等特性,所以非常適合內建於上述所舉例的各種可攜式多媒體裝置中。
一般來說,寫入至可複寫式非揮發性記憶體模組的資料都會根據一個錯誤更正碼來編碼。從可複寫式非揮發性記憶體模組中所讀取的資料也會經過對應的解碼程序。然而,錯誤更正碼的更正能力有其上限,並且可複寫式非揮發性記憶體模組中資料發生錯誤的機率會隨著使用壽命一起改變。因此,如何增加解碼 的更正能力與正確性,為此領域技術人員所關心的議題。
本發明提供一種本發明提供一種解碼方法、記憶體控制電路單元及記憶體儲存裝置,其可有效地提高解碼的更正能力。
本發明的一範例實施例提供一種用於可複寫式非揮發性記憶體模組的解碼方法,所述可複寫式非揮發性記憶體模組包括多個記憶胞,本解碼方法包括:發送讀取指令序列,其中所述讀取指令序列用以讀取多個記憶胞以取得多個位元;獲得多個可靠度資訊,其中每一可靠度資訊對應於所述位元的其中之一;計算所述可靠度資訊中符合查驗條件的多個可靠度資訊的總和;將所述總和加上平衡資訊以獲得對應於所述位元中的第一位元與第一校驗子的權重;判斷所述位元是否具有至少一錯誤;以及若所述位元具有至少一錯誤,根據所述權重執行迭代解碼程序。
在本發明的一範例實施例中,上述判斷此些位元是否具有至少一錯誤的步驟包括:對所述位元執行奇偶檢查程序以取得包含第一校驗子的多個校驗子,其中每一所述位元是對應至所述校驗子的至少其中之一;以及根據所述校驗子判斷所述位元是否具有至少一錯誤。所述奇偶檢查程序是根據奇偶檢查矩陣所執行,並且所述奇偶檢查矩陣包括多個限制(constraint),上述計算所述可靠度資訊中符合查驗條件的所述可靠度資訊的總和的步驟包括:根據所述限制中對應於所述第一校驗子的第一限制,從所述 可靠度資訊中決定符合所述查驗條件的所述可靠度資訊。
在本發明的一範例實施例中,上述第一限制包括多個元素,而根據所述第一限制從所述可靠度資訊中決定符合所述查驗條件的所述可靠度資訊的步驟包括:根據所述元素中值是“1”的多個元素,從所述可靠度資訊中決定符合所述查驗條件的所述可靠度資訊。
在本發明的一範例實施例中,上述將所述總和加上所述平衡資訊以獲得對應於所述第一位元與所述第一校驗子的所述權重的步驟包括:將所述總和加上所述平衡資訊以獲得第一評估資訊;以及將所述第一評估資訊除以第二評估資訊以獲得對應於所述第一位元與所述第一校驗子的所述權重,其中所述第二評估資訊是所述可靠度資訊中對應於所述第一位元的可靠度資訊。
在本發明的一範例實施例中,上述解碼方法,更包括:從符合所述查驗條件的所述可靠度資訊中選擇對應於所述位元中的第二位元的可靠度資訊,其中所述第二位元相異於所述第一位元;並且將對應於所述第二位元的所述可靠度資訊乘上調整因子以獲得所述平衡資訊。
本發明的一範例實施例提出一種用於控制可複寫式非揮發性記憶體模組的記憶體控制電路單元,其中可複寫式非揮發性記憶體模組包括多個記憶胞。此記憶體控制電路單元包括主機介面、記憶體介面、記憶體管理電路以及錯誤檢查與校正電路。主機介面用以耦接至主機系統。記憶體介面用以耦接至可複寫式非 揮發性記憶體模組。記憶體管理電路耦接至主機介面與記憶體介面,其中記憶體管理電路用以發送讀取指令序列,並且所述讀取指令序列用以讀取所述記憶胞,以取得多個位元。錯誤檢查與校正電路耦接至所述記憶體管理電路並且用以獲得多個可靠度資訊,其中每一可靠度資訊對應於所述位元的其中之一。在此,錯誤檢查與校正電路更用以計算所述可靠度資訊中符合查驗條件的多個可靠度資訊的總和,並且將所述總和加上平衡資訊以獲得對應於所述位元中的第一位元與第一校驗子的權重。此外,錯誤檢查與校正電路更用以判斷所述位元是否具有至少一錯誤,若所述位元具有至少一錯誤,錯誤檢查與校正電路更用以根據所述權重執行迭代解碼程序。
在本發明的一範例實施例中,上述錯誤檢查與校正電路判斷所述位元是否具有至少一錯誤的操作包括:錯誤檢查與校正電路對所述位元執行奇偶檢查程序以取得包含所述第一校驗子的多個校驗子,其中每一所述位元是對應至所述校驗子的至少其中之一,以及根據所述校驗子判斷所述位元是否具有至少一錯誤。所述奇偶檢查程序是根據奇偶檢查矩陣所執行,並且所述奇偶檢查矩陣包括多個限制。上述錯誤檢查與校正電路計算所述可靠度資訊中符合所述查驗條件的所述可靠度資訊的總和的操作包括:錯誤檢查與校正電路根據所述限制中對應於所述第一校驗子的第一限制,從所述可靠度資訊中決定符合所述查驗條件的可靠度資訊。
在本發明的一範例實施例中,上述第一限制包括多個元素,而錯誤檢查與校正電路根據所述第一限制從所述可靠度資訊中決定符合所述查驗條件的可靠度資訊的操作包括:錯誤檢查與校正電路根據所述元素中值是“1”的多個元素,從所述可靠度資訊中決定符合所述查驗條件的可靠度資訊。
在本發明的一範例實施例中,上述錯誤檢查與校正電路將所述總和加上所述平衡資訊以獲得對應於所述第一位元與所述第一校驗子的權重的操作包括:錯誤檢查與校正電路將所述總和加上所述平衡資訊以獲得第一評估資訊,以及將所述第一評估資訊除以第二評估資訊以獲得對應於所述第一位元與所述第一校驗子的權重,其中所述第二評估資訊是所述可靠度資訊中對應於所述第一位元的可靠度資訊。
在本發明的一範例實施例中,上述錯誤檢查與校正電路更用以從符合所述查驗條件的所述可靠度資訊中選擇對應於所述位元中的第二位元的可靠度資訊,其中所述第二位元相異於所述第一位元,並且錯誤檢查與校正電路更用以將對應於所述第二位元的所述可靠度資訊乘上調整因子以獲得所述平衡資訊。
本發明的一範例實施例提出一種記憶體儲存裝置,其包括連接介面單元、可複寫式非揮發性記憶體模組與記憶體控制電路單元。可複寫式非揮發性記憶體模組包括多個記憶胞。連接介面單元用以耦接至主機系統。記憶體控制電路單元耦接至連接介面單元與可複寫式非揮發性記憶體模組,並且用以發送讀取指令 序列,其中所述讀取指令序列用以讀取所述記憶胞,以取得多個位元。在此,記憶體控制電路單元更用以獲得多個可靠度資訊,其中每一可靠度資訊對應於所述位元的其中之一。此外,記憶體控制電路單元更用以計算所述可靠度資訊中符合查驗條件的多個可靠度資訊的總和,並且將所述總和加上平衡資訊以獲得對應於所述位元中的第一位元與第一校驗子的權重。記憶體控制電路單元更用以判斷所述位元是否具有至少一錯誤,並且若所述位元具有至少一錯誤,記憶體控制電路單元更用以根據所述權重執行迭代解碼程序。
在本發明的一範例實施例中,上述記憶體控制電路單元判斷所述位元是否具有至少一錯誤的操作包括:記憶體控制電路單元對所述位元執行奇偶檢查程序以取得包含所述第一校驗子的多個校驗子,其中每一所述位元是對應至所述校驗子的至少其中之一;以及記憶體控制電路單元根據所述校驗子判斷所述位元是否具有至少一錯誤。所述奇偶檢查程序是根據奇偶檢查矩陣所執行,並且所述奇偶檢查矩陣包括多個限制。上述記憶體控制電路單元計算所述可靠度資訊中符合所述查驗條件的所述可靠度資訊的總和的操作包括:記憶體控制電路單元根據所述限制中對應於所述第一校驗子的第一限制,從所述可靠度資訊中決定符合所述查驗條件的可靠度資訊。
在本發明的一範例實施例中,上述第一限制包括多個元素,而記憶體控制電路單元根據所述第一限制從所述可靠度資訊 中決定符合所述查驗條件的所述可靠度資訊的操作包括:記憶體控制電路單元根據所述元素中值是“1”的多個元素,從所述可靠度資訊中決定符合所述查驗條件的可靠度資訊。
在本發明的一範例實施例中,上述記憶體控制電路單元將所述總和加上所述平衡資訊以獲得對應於所述第一位元與所述第一校驗子的權重的操作包括:記憶體控制電路單元將所述總和加上所述平衡資訊以獲得第一評估資訊;以及記憶體控制電路單元將所述第一評估資訊除以一第二評估資訊以獲得對應於所述第一位元與所述第一校驗子的權重,其中所述第二評估資訊是所述可靠度資訊中對應於所述第一位元的可靠度資訊。
在本發明的一範例實施例中,上述記憶體控制電路單元更用以從符合所述查驗條件的所述可靠度資訊中選擇對應於所述位元中的第二位元的可靠度資訊,其中所述第二位元相異於所述第一位元。記憶體控制電路單元更用以將對應於所述第二位元的所述可靠度資訊乘上調整因子以獲得所述平衡資訊。
在本發明的一範例實施例中,上述對應於所述第二位元的所述可靠度資訊的值是符合所述查驗條件的所述可靠度資訊的值中最小的。
在本發明的一範例實施例中,上述對應於所述第二位元的所述可靠度資訊的值在符合所述查驗條件的所述可靠度資訊中僅大於所述第一位元所對應的可靠度資訊的值。
在本發明的一範例實施例中,上述平衡資訊的值是正相 關(positive correlation)於所述第一校驗子在奇偶檢查矩陣中所對應的第一限制的列權重。
基於上述,當從可複寫式非揮發性記憶體模組中讀取的位元存在錯誤時,本發明的一範例實施例可以根據對應於各個位元的權重值計算校驗權重資訊,並由此決定要更新哪些位元。特別是,本發明範例實施例提出的解碼方法、記憶體控制電路單元與記憶體儲存裝置是在每一限制中根據對應於每一個位元之整體的可靠度資訊、非對應於目前所計算之位元的可靠度資訊中的最小值以及對應於目前所計算之位元的可靠度資訊來計算出每一位元的權重值。基此,可有效地增加解碼的更正能力。
為讓本發明的上述特徵和優點能更明顯易懂,下文特舉實施例,並配合所附圖式作詳細說明如下。
1000‧‧‧主機系統
1100‧‧‧電腦
1102‧‧‧微處理器
1104‧‧‧隨機存取記憶體
1106‧‧‧輸入/輸出裝置
1108‧‧‧系統匯流排
1110‧‧‧資料傳輸介面
1202‧‧‧滑鼠
1204‧‧‧鍵盤
1206‧‧‧顯示器
1208‧‧‧印表機
1212‧‧‧隨身碟
1214‧‧‧記憶卡
1216‧‧‧固態硬碟
1310‧‧‧數位相機
1312‧‧‧SD卡
1314‧‧‧MMC卡
1316‧‧‧記憶棒
1318‧‧‧CF卡
1320‧‧‧嵌入式儲存裝置
100‧‧‧記憶體儲存裝置
102‧‧‧連接介面單元
104‧‧‧記憶體控制電路單元
106‧‧‧可複寫式非揮發性記憶體模組
2202‧‧‧記憶胞陣列
2204‧‧‧字元線控制電路
2206‧‧‧位元線控制電路
2208‧‧‧行解碼器
2210‧‧‧資料輸入/輸出緩衝器
2212‧‧‧控制電路
702‧‧‧記憶胞
704‧‧‧位元線
706‧‧‧字元線
708‧‧‧共用源極線
712、714‧‧‧電晶體
400(0)~400(N)‧‧‧實體程式化單元
202‧‧‧記憶體管理電路
204‧‧‧主機介面
206‧‧‧記憶體介面
208‧‧‧錯誤檢查與校正電路
210‧‧‧緩衝記憶體
212‧‧‧電源管理電路
900‧‧‧奇偶檢查矩陣
1010、1020‧‧‧分佈
1001‧‧‧讀取電壓
1030‧‧‧重疊區域
1101‧‧‧碼字
1103‧‧‧可靠度資訊向量
1105‧‧‧校驗向量
1200‧‧‧權重矩陣
S1701、S1703、S1705、S1707、S1709、S1711、S1713‧‧‧解碼方法的步驟
圖1是根據本發明的一範例實施例所繪示的主機系統與記憶體儲存裝置的範例示意圖。
圖2是根據本發明的一範例實施例所繪示的電腦、輸入/輸出裝置與記憶體儲存裝置的範例示意圖。
圖3是根據本發明的一範例實施例所繪示的主機系統與記憶體儲存裝置的範例示意圖。
圖4是繪示圖1所示的記憶體儲存裝置的概要方塊圖。
圖5是根據本發明的一範例實施例所繪示的可複寫式非揮發性記憶體模組的概要方塊圖。
圖6是根據本發明的一範例實施例所繪示的記憶胞陣列的範例示意圖。
圖7是根據本發明的一範例實施例所繪示的管理可複寫式非揮發性記憶體模組的範例示意圖。
圖8是根據本發明的一範例實施例所繪示之記憶體控制電路單元的概要方塊圖。
圖9是根據本發明的一範例實施例所繪示的奇耦檢查矩陣的範例示意圖。
圖10是根據本發明的一範例實施例所繪示的SLC型快閃記憶體模組的臨界電壓分佈的範例示意圖。
圖11是根據本發明的一範例實施例所繪示的矩陣相乘的範例示意圖。
圖12是根據本發明的一範例實施例所繪示之權重矩陣的範例示意圖。
圖13是根據本發明的一範例實施例所繪示的碼字、可靠度資訊、奇偶檢查矩陣與校驗子之間的對應關係的範例示意圖。
圖14是根據本發明的一範例實施例所繪示的計算出的權重的範例示意圖。
圖15是根據本發明的一範例實施例所繪示的矩陣相乘的範例示意圖。
圖16是根據本發明的一範例實施例所繪示的校驗權重資訊的範例示意圖。
圖17是根據本發明的一範例實施例所繪示的解碼方法的流程圖。
一般而言,記憶體儲存裝置(亦稱,記憶體儲存系統)包括可複寫式非揮發性記憶體模組與控制器(亦稱,控制電路)。通常記憶體儲存裝置是與主機系統一起使用,以使主機系統可將資料寫入至記憶體儲存裝置或從記憶體儲存裝置中讀取資料。
圖1是根據本發明的一範例實施例所繪示的主機系統與記憶體儲存裝置的範例示意圖。圖2是根據本發明的一範例實施例所繪示的電腦、輸入/輸出裝置與記憶體儲存裝置的範例示意圖。
請參照圖1,主機系統1000一般包括電腦1100與輸入/輸出(input/output,I/O)裝置1106。電腦1100包括微處理器1102、隨機存取記憶體(random access memory,RAM)1104、系統匯流排1108與資料傳輸介面1110。輸入/輸出裝置1106包括如圖2的滑鼠1202、鍵盤1204、顯示器1206與印表機1208。必須瞭解的是,圖2所示的裝置非限制輸入/輸出裝置1106,輸入/輸出裝置1106可更包括其他裝置。
在一範例實施例中,記憶體儲存裝置100是透過資料傳輸介面1110與主機系統1000的其他元件耦接。藉由微處理器 1102、隨機存取記憶體1104與輸入/輸出裝置1106的運作可將資料寫入至記憶體儲存裝置100或從記憶體儲存裝置100中讀取資料。例如,記憶體儲存裝置100可以是如圖2所示的隨身碟1212、記憶卡1214或固態硬碟(Solid State Drive,SSD)1216等的可複寫式非揮發性記憶體儲存裝置。
圖3是根據本發明的一範例實施例所繪示的主機系統與記憶體儲存裝置的範例示意圖。
一般而言,主機系統1000為可實質地與記憶體儲存裝置100配合以儲存資料的任意系統。雖然在本範例實施例中,主機系統1000是以電腦系統來作說明,然而,另一範例實施例中,主機系統1000可以是數位相機、攝影機、通信裝置、音訊播放器或視訊播放器等系統。例如,在主機系統為數位相機(攝影機)1310時,可複寫式非揮發性記憶體儲存裝置則為其所使用的SD卡1312、MMC卡1314、記憶棒(memory stick)1316、CF卡1318或嵌入式儲存裝置1320(如圖3所示)。嵌入式儲存裝置1320包括嵌入式多媒體卡(Embedded MMC,eMMC)。值得一提的是,嵌入式多媒體卡是直接耦接於主機系統的基板上。
圖4是繪示圖1所示的記憶體儲存裝置的概要方塊圖。
請參照圖4,記憶體儲存裝置100包括連接介面單元102、記憶體控制電路單元104與可複寫式非揮發性記憶體模組106。
在本範例實施例中,連接介面單元102是相容於序列先 進附件(Serial Advanced Technology Attachment,SATA)標準。然而,必須瞭解的是,本發明不限於此,連接介面單元102亦可以是符合並列先進附件(Parallel Advanced Technology Attachment,PATA)標準、電氣和電子工程師協會(Institute of Electrical and Electronic Engineers,IEEE)1394標準、高速周邊零件連接介面(Peripheral Component Interconnect Express,PCI Express)標準、通用序列匯流排(Universal Serial Bus,USB)標準、安全數位(Secure Digital,SD)介面標準、超高速一代(Ultra High Speed-I,UHS-I)介面標準、超高速二代(Ultra High Speed-II,UHS-II)介面標準、記憶棒(Memory Stick,MS)介面標準、多媒體儲存卡(Multi Media Card,MMC)介面標準、崁入式多媒體儲存卡(Embedded Multimedia Card,eMMC)介面標準、通用快閃記憶體(Universal Flash Storage,UFS)介面標準、小型快閃(Compact Flash,CF)介面標準、整合式驅動電子介面(Integrated Device Electronics,IDE)標準或其他適合的標準。連接介面單元102可與記憶體控制電路單元104封裝在一個晶片中,或者連接介面單元102是佈設於一包含記憶體控制電路單元104之晶片外。
記憶體控制電路單元104用以執行以硬體型式或韌體型式實作的多個邏輯閘或控制指令,並且根據主機系統1000的指令在可複寫式非揮發性記憶體模組106中進行資料的寫入、讀取與抹除等運作。
可複寫式非揮發性記憶體模組106是耦接至記憶體控制 電路單元104,並且用以儲存主機系統1000所寫入之資料。可複寫式非揮發性記憶體模組106可以是單階記憶胞(Single Level Cell,SLC)NAND型快閃記憶體模組、多階記憶胞(Multi Level Cell,MLC)NAND型快閃記憶體模組(即,一個記憶胞中可儲存2個位元資料的快閃記憶體模組)、複數階記憶胞(Triple Level Cell,TLC)NAND型快閃記憶體模組(即,一個記憶胞中可儲存3個位元資料的快閃記憶體模組)、其他快閃記憶體模組或其他具有相同特性的記憶體模組。
圖5是根據本發明的一範例實施例所繪示的可複寫式非揮發性記憶體模組的概要方塊圖。圖6是根據本發明的一範例實施例所繪示的記憶胞陣列的範例示意圖。
請參照圖5,可複寫式非揮發性記憶體模組106包括記憶胞陣列2202、字元線控制電路2204、位元線控制電路2206、行解碼器(column decoder)2208、資料輸入/輸出緩衝器2210與控制電路2212。
在本範例實施例中,記憶胞陣列2202可包括用以儲存資料的多個記憶胞702、多個選擇閘汲極(select gate drain,SGD)電晶體712與多個選擇閘源極(select gate source,SGS)電晶體714、以及連接此些記憶胞的多條位元線704、多條字元線706、與共用源極線708(如圖6所示)。記憶胞702是以陣列方式(或立體堆疊的方式)配置在位元線704與字元線706的交叉點上。當從記憶體控制電路單元104接收到寫入指令或讀取指令時,控制電路2212會控 制字元線控制電路2204、位元線控制電路2206、行解碼器2208、資料輸入/輸出緩衝器2210來寫入資料至記憶胞陣列2202或從記憶胞陣列2202中讀取資料,其中字元線控制電路2204用以控制施予至字元線706的電壓,位元線控制電路2206用以控制施予至位元線704的電壓,行解碼器2208依據指令中的列位址以選擇對應的位元線,並且資料輸入/輸出緩衝器2210用以暫存資料。
可複寫式非揮發性記憶體模組106中的每一個記憶胞是以臨界電壓的改變來儲存一或多個位元。具體來說,每一個記憶胞的控制閘極(control gate)與通道之間有一個電荷捕捉層。透過施予一寫入電壓至控制閘極,可以改變電荷補捉層的電子量,因而改變了記憶胞的臨界電壓。此改變臨界電壓的程序亦稱為”把資料寫入至記憶胞”或”程式化記憶胞”。隨著臨界電壓的改變,記憶胞陣列2202的每一個記憶胞具有多個儲存狀態。並且透過讀取電壓可以判斷記憶胞是屬於哪一個儲存狀態,藉此取得記憶胞所儲存的一或多個位元。
圖7是根據本發明的一範例實施例所繪示的管理可複寫式非揮發性記憶體模組的範例示意圖。
請參照圖7,可複寫式非揮發性記憶體模組106的記憶胞702會構成多個實體程式化單元,並且此些實體程式化單元會構成多個實體抹除單元400(0)~400(N)。具體來說,同一條字元線上的記憶胞會組成一或多個實體程式化單元。若每一個記憶胞可儲存2個以上的位元,則同一條字元線上的實體程式化單元可被分類為 下實體程式化單元與上實體程式化單元。例如,每一記憶胞的LSB是屬於下實體程式化單元,並且每一記憶胞的MSB是屬於上實體程式化單元。一般來說,在MLC NAND型快閃記憶體中,下實體程式化單元的寫入速度會大於上實體程式化單元的寫入速度,或下實體程式化單元的可靠度是高於上實體程式化單元的可靠度。在此範例實施例中,實體程式化單元為程式化的最小單元。即,實體程式化單元為寫入資料的最小單元。例如,實體程式化單元為實體頁面或是實體扇(sector)。若實體程式化單元為實體頁面,則每一個實體程式化單元通常包括資料位元區與冗餘位元區。資料位元區包含多個實體扇,用以儲存使用者的資料,而冗餘位元區用以儲存系統的資料(例如,錯誤更正碼)。在本範例實施例中,每一個資料位元區包含32個實體扇,且一個實體扇的大小為512位元組(byte,B)。然而,在其他範例實施例中,資料位元區中也可包含8個、16個或數目更多或更少的實體扇,本發明並不限制實體扇的大小以及個數。另一方面,實體抹除單元為抹除之最小單位。亦即,每一實體抹除單元含有最小數目之一併被抹除之記憶胞。例如,實體抹除單元為實體區塊。
圖8是根據本發明的一範例實施例所繪示之記憶體控制電路單元的概要方塊圖。
請參照圖8,記憶體控制電路單元104包括記憶體管理電路202、主機介面204、記憶體介面206及錯誤檢查與校正電路208。
記憶體管理電路202用以控制記憶體控制電路單元104 的整體運作。具體來說,記憶體管理電路202具有多個控制指令,並且在記憶體儲存裝置100運作時,此些控制指令會被執行以進行資料的寫入、讀取與抹除等運作。以下說明記憶體管理電路202的操作時,等同於說明記憶體控制電路單元104的操作,以下並不再贅述。
在本範例實施例中,記憶體管理電路202的控制指令是以韌體型式來實作。例如,記憶體管理電路202具有微處理器單元(未繪示)與唯讀記憶體(未繪示),並且此些控制指令是被燒錄至此唯讀記憶體中。當記憶體儲存裝置100運作時,此些控制指令會由微處理器單元來執行以進行資料的寫入、讀取與抹除等運作。
在另一範例實施例中,記憶體管理電路202的控制指令亦可以程式碼型式儲存於可複寫式非揮發性記憶體模組106的特定區域(例如,記憶體模組中專用於存放系統資料的系統區)中。此外,記憶體管理電路202具有微處理器單元(未繪示)、唯讀記憶體(未繪示)及隨機存取記憶體(未繪示)。特別是,此唯讀記憶體具有開機碼(boot code),並且當記憶體控制電路單元104被致能時,微處理器單元會先執行此開機碼來將儲存於可複寫式非揮發性記憶體模組106中之控制指令載入至記憶體管理電路202的隨機存取記憶體中。之後,微處理器單元會運轉此些控制指令以進行資料的寫入、讀取與抹除等運作。
此外,在另一範例實施例中,記憶體管理電路202的控制指令亦可以一硬體型式來實作。例如,記憶體管理電路202包 括微控制器、記憶體管理單元、記憶體寫入單元、記憶體讀取單元、記憶體抹除單元與資料處理單元。記憶體管理單元、記憶體寫入單元、記憶體讀取單元、記憶體抹除單元與資料處理單元是耦接至微控制器。其中,記憶體管理單元用以管理可複寫式非揮發性記憶體模組106的實體抹除單元;記憶體寫入單元用以對可複寫式非揮發性記憶體模組106下達寫入指令以將資料寫入至可複寫式非揮發性記憶體模組106中;記憶體讀取單元用以對可複寫式非揮發性記憶體模組106下達讀取指令以從可複寫式非揮發性記憶體模組106中讀取資料;記憶體抹除單元用以對可複寫式非揮發性記憶體模組106下達抹除指令以將資料從可複寫式非揮發性記憶體模組106中抹除;而資料處理單元用以處理欲寫入至可複寫式非揮發性記憶體模組106的資料以及從可複寫式非揮發性記憶體模組106中讀取的資料。
主機介面204是耦接至記憶體管理電路202並且用以接收與識別主機系統1000所傳送的指令與資料。也就是說,主機系統1000所傳送的指令與資料會透過主機介面204來傳送至記憶體管理電路202。在本範例實施例中,主機介面204是相容於SATA標準。然而,必須瞭解的是本發明不限於此,主機介面204亦可以是相容於PATA標準、IEEE 1394標準、PCI Express標準、USB標準、SD標準、UHS-I標準、UHS-II標準、MS標準、MMC標準、eMMC標準、UFS標準、CF標準、IDE標準或其他適合的資料傳輸標準。
記憶體介面206是耦接至記憶體管理電路202並且用以存取可複寫式非揮發性記憶體模組106。也就是說,欲寫入至可複寫式非揮發性記憶體模組106的資料會經由記憶體介面206轉換為可複寫式非揮發性記憶體模組106所能接受的格式。
錯誤檢查與校正電路208是耦接至記憶體管理電路202並且用以執行錯誤檢查與校正程序以確保資料的正確性。具體來說,當記憶體管理電路202從主機系統1000中接收到寫入指令時,錯誤檢查與校正電路208會為對應此寫入指令的資料產生對應的錯誤更正碼(error correcting code,ECC)及/或錯誤檢查碼(error detecting code,EDC),並且記憶體管理電路202會將對應此寫入指令的資料與對應的錯誤更正碼或錯誤檢查碼寫入至可複寫式非揮發性記憶體模組106中。之後,當記憶體管理電路202從可複寫式非揮發性記憶體模組106中讀取資料時會同時讀取此資料對應的錯誤更正碼或錯誤檢查碼,並且錯誤檢查與校正電路208會依據此錯誤更正碼或錯誤檢查碼對所讀取的資料執行錯誤檢查與校正程序。
在一範例實施例中,記憶體控制電路單元104還包括緩衝記憶體210與電源管理電路212。
緩衝記憶體210是耦接至記憶體管理電路202並且用以暫存來自於主機系統1000的資料與指令或來自於可複寫式非揮發性記憶體模組106的資料。
電源管理電路212是耦接至記憶體管理電路202並且用 以控制記憶體儲存裝置100的電源。
在此範例實施例中,錯誤檢查與校正電路208所使用的是低密度奇偶檢查校正碼(low density parity code,LDPC)。然而,在另一範例實施例中,錯誤檢查與校正電路208所使用的也可以是BCH碼、迴旋碼(convolutional code)、渦輪碼(turbo code),但不限於此。
在此範例實施例中,錯誤檢查與校正電路208會根據一個低密度奇偶檢查演算法來編碼與解碼。在低密度奇偶檢查校正碼中,是用一個奇偶檢查矩陣來定義有效的碼字。以下將奇偶檢查矩陣標記為矩陣H,並且一碼字標記為CW。依照以下方程式(1),若奇偶檢查矩陣H與碼字CW的相乘是零向量,表示碼字CW為有效的碼字。其中運算子表示模2(mod 2)的矩陣相乘。換言之,矩陣H的零空間(null space)便包含了所有的有效碼字。然而,本發明並不限制碼字CW的內容。例如,碼字CW也可以包括用任意演算法所產生的錯誤更正碼或是錯誤檢查碼。
其中矩陣H的維度是m-乘-n(m-by-n),碼字CW的維度是1-乘-nmn為正整數。碼字CW中包括了訊息位元與奇偶位元,即碼字CW可以表示成[M P],其中向量M是由訊息位元所組成,向量P是由奇偶位元所組成。向量M的維度是1-乘-(n-m),而向量P的維度是1-乘-m。以下將訊息位元與奇偶位元統稱為資料位元。換言之,碼字CW中具有n個資料位元,其中訊息位元 的長度為(n-m)位元,並且奇偶位元的長度是m位元,即碼字CW的碼率(code rate)為(n-m)/n
一般來說在編碼時會使用一個產生矩陣(以下標記為G),使得對於任意的向量M都可滿足以下方程式(2)。其中產生矩陣G的維度是(n-m)-乘-n
由方程式(2)所產生的碼字CW為有效的碼字。因此可將方程式(2)代入方程式(1),藉此得到以下方程式(3)。
由於向量M可以是任意的向量,因此以下方程式(4)必定會滿足。也就是說,在決定奇偶檢查矩陣H以後,對應的產生矩陣G也可被決定。
在解碼一個碼字CW時,會先對碼字中的資料位元執行一個奇偶檢查程序,例如將奇偶檢查矩陣H與碼字CW相乘以產生一個向量(以下標記為S,如以下方程式(5)所示)。若向量S是零向量,則可直接輸出碼字CW。若向量S不是零向量,則表示碼字CW不是有效的碼字。
向量S的維度是m-乘-1,其中每一個元素亦稱為校驗子(syndrome)。若碼字CW不是有效的碼字,則錯誤檢查與校正電路208會執行一個解碼程序,以嘗試更正碼字CW中的錯誤位元。在 一範例實施例中,錯誤檢查與校正電路208所執行的解碼程序為一迭代(iteration)解碼程序。也就是說,解碼的程序會不斷的重覆執行,直到成功的解出碼字或執行次數到達一預定門檻值為止。
圖9是根據本發明的一範例實施例所繪示的奇耦檢查矩陣的範例示意圖。
請參照圖9,奇偶檢查矩陣900的維度是4-乘-9,但本發明並不限制正整數mn為多少。奇偶檢查矩陣900的每一列(row)亦代表了一限制(constraint)。例如,奇偶檢查矩陣900的第一列至第四列分別代表第一限制至第四限制。奇偶檢查矩陣900中的每一限制包括多個元素。以奇偶檢查矩陣900的第一個列(即,第一限制)為例,若某一個碼字是有效碼字(valid codeword),則將此碼字中第1、2、3與第4個位元做模2(modulo-2)的加法之後,會得到位元“0”。在此領域有通常知識者應能理解如何用奇偶檢查矩陣900來編碼,在此便不再贅述。此外,奇偶檢查矩陣900僅為一個範例矩陣,而非用以限制本發明。
當記憶體管理電路202要將多個位元寫入至可複寫式非揮發性記憶體模組106時,錯誤檢查與校正電路208會對每(n-m)個欲被寫入的位元(即,訊息位元)都產生對應的m個奇偶位元。接下來,記憶體管理電路202會把這n個位元作為一個碼字寫入至可複寫式非揮發性記憶體模組106。
圖10是根據本發明的一範例實施例所繪示的SLC型快閃記憶體模組的臨界電壓分佈的範例示意圖。
請參照圖10,橫軸代表記憶胞的臨界電壓,而縱軸代表記憶胞個數。例如,圖10是表示一個實體程式化單元中各個記憶胞的臨界電壓。在此假設當某一個記憶胞的臨界電壓是落在分佈1010時,此記憶胞所儲存的是位元“1”;相反地,若某一個記憶胞的臨界電壓是落在分佈1020時,此記憶胞所儲存的是位元“0”。值得一提的是,本範例實施例是以SLC型快閃記憶體模組為例,因此臨界電壓的分佈有兩種可能。然而,在其他範例實施例中,臨界電壓的分佈可能四種、八種或其他任意個可能,而讀取電壓可以在任意兩個分佈之間。此外,本發明也不限制每一個分佈所代表的位元。
當要從可複寫式非揮發性記憶體模組106讀取資料時,記憶體管理電路202會發送一讀取指令序列至可複寫式非揮發性記憶體模組106。此讀取指令序列包括一或多個指令或程式碼,並且用以指示讀取一個實體程式化單元中的多個記憶胞以取得多個位元。例如,根據讀取電壓1001來讀取一個實體程式化單元中的多個記憶胞。若某一個記憶胞的臨界電壓小於此讀取電壓,則此記憶胞會導通,並且記憶體管理電路202會讀到位元“1”。相反地,若某一個記憶胞的臨界電壓大於此讀取電壓,則此記憶胞不會導通,並且記憶體管理電路202會讀到位元“0”。
值得注意的是,分佈1010與分佈1020包含一個重疊區域1030。重疊區域1030表示有一些記憶胞中所儲存的應該是位元“1”(屬於分佈1010),但其臨界電壓大於讀取電壓1001;或者,有 一些記憶胞中所儲存的應該是位元“0”(屬於分佈1020),但其臨界電壓小於讀取電壓1001。換言之,所讀取的位元中,有部份的位元會有錯誤。在另一範例實施例中,也可以從一個記憶胞中讀取出多個位元,本發明不加以限制。此外,一次的讀取也可以是讀取一個實體扇中的多個記憶胞或者任意數量的記憶胞,本發明不加以限制。
在此範例實施例中,當記憶體管理電路202從可複寫式非揮發性記憶體模組106中讀取n個位元(形成一個碼字)時,記憶體管理電路202也會取得對應於每一個位元的可靠度資訊。在此,可靠度資訊是用以表示對應的位元被解碼為位元“1”或是“0”的機率(或稱信心度)。特別是,當採用不同的演算法時,所獲得之對應於每一位元的可靠度資訊的值會不相同。例如,錯誤檢查與校正電路208可以採用總和-乘積演算法(Sum-Product Algorithm)、最小值-總和演算法(Min-Sum Algorithm)、或是位元翻轉演算法(bit-flipping Algorithm),本發明並不限制採用何種演算法。
錯誤檢查與校正電路208會判斷這些位元是否具有至少一個錯誤。例如,在本範例實施例中,錯誤檢查與校正電路208會對這些位元執行奇偶檢查程序以取得多個校驗子(syndrome),其中每一個位元是對應至這些校驗子的至少其中之一。換言之,這些校驗子可以組成上述向量S。在一範例實施例中,上述向量S亦稱為校驗向量。錯誤檢查與校正電路208會根據校驗向量S中的多個校驗子判斷這些位元是否具有至少一個錯誤。例如,若校 驗向量S中的每一個校驗子都是“0”,錯誤檢查與校正電路208會判定這些位元不具有任何錯誤,並且判定由這些位元組成的碼字是有效碼字;若校驗向量S中的一或多個校驗子是“1”,則錯誤檢查與校正電路208會判定這些位元具有至少一個錯誤,並且判定由這些位元所組成的碼字不是有效碼字。
圖11是根據本發明的一範例實施例所繪示的矩陣相乘的範例示意圖。
請參照圖11,奇偶檢查矩陣900與碼字1101相乘的結果是校驗向量1105。碼字1101中的每一個位元是對應到校驗向量1105中的至少一個校驗子。舉例來說,碼字1101中的位元V1(對應至奇偶檢查矩陣900中的第一行(column))是對應到校驗子S1及S2;位元V2(對應至奇偶檢查矩陣900中的第二行)是對應到校驗子S1及S3,以此類推。若位元V1發生了錯誤,則校驗子S1及S2可能會是“1”;若位元V2發生了錯誤,則校驗子S1及S3可能會是“1”,以此類推。此外,奇偶檢查矩陣900中的第一限制是對應至校驗子S1,奇偶檢查矩陣900中的第二限制是對應至校驗子S2,奇偶檢查矩陣900中的第三限制是對應至校驗子S3,並且奇偶檢查矩陣900中的第四限制是對應至校驗子S4
若碼字1101中的位元V1~V9沒有錯誤,則錯誤檢查與校正電路208會輸出碼字1101中的位元V1~V9。若位元V1~V9具有至少一個錯誤,錯誤檢查與校正電路208會對位元V1~V9執行一迭代解碼程序以取得多個解碼位元。特別是,在執行一個迭代解 碼程序之前,錯誤檢查與校正電路208會獲得對應於每一個位元與每一個校驗子的一個權重。這些權重可以利用一個權重矩陣來表示。這些權重亦可以被記錄在一查找表中。錯誤檢查與校正電路208會根據此些權重來執行迭代解碼程序。或者,在一範例實施例中,獲得對應於每一個位元與每一個校驗子的權重的操作,亦可以視為是迭代解碼程序的一部份,本發明不加以限制。
圖12是根據本發明的一範例實施例所繪示之權重矩陣的範例示意圖。
請參照圖12,權重矩陣1200中記載了權重W1,1~W4,9。其中,權重W1,1是對應於位元V1與校驗子S1;權重W1,2是對應於位元V2與校驗子S1;權重W2,1是對應於位元V1與校驗子S2,以此類推。權重矩陣1200的矩陣大小與奇偶檢查矩陣900一致。例如,權重矩陣1200亦具有m個列與n個行。
錯誤檢查與校正電路208會計算所獲得的可靠度資訊中符合一查驗條件的多個可靠度資訊的總和,並且將此總和加上對應的一平衡資訊以獲得權重矩陣1200中的一個權重。以下將以計算權重W1,1作為範例進行說明。
圖13是根據本發明的一範例實施例所繪示的碼字、可靠度資訊、奇偶檢查矩陣與校驗子之間的對應關係的範例示意圖。
請參照圖13,在此假設對應於碼字1101中每一個位元V1~V9的可靠度資訊分別為可靠度資訊向量1103中的“0.6”、“0.8”、“-0.2”、“1.3”、“-1.5”、“0.3”、“-1.2”、“0.4”與“0.1”。然而, 在此可靠度資訊向量1103僅為一個範例陣列,而非用以限制本發明。在本範例實施例中,可靠度資訊向量1103中的各個可靠度資訊會被取絕對值。因此,可靠度資訊向量1103中的可靠度資訊成為“0.6”、“0.8”、“0.2”、“1.3”、“1.5”、“0.3”、“1.2”、“0.4”與“0.1”。若對應於某一個位元的可靠度資訊的絕對值越大,則表示此位元發生錯誤的機率越低;若對應於某一個位元的可靠度資訊的絕對值越小,則表示此位元發生錯誤的機率越高。然而,在另一範例實施例中,亦可以對可靠度資訊向量1103中的各個可靠度資訊作任意的邏輯運算,本發明不加以限制。此外,可靠度資訊向量1103中的每一可靠度資訊分別對應於奇偶檢查矩陣900之每一限制中的一個元素。例如,如圖13所示,可靠度資訊向量1103中的“0.6”是對應於第一限制至第四限制中從左邊數過來的第一個元素,並且可靠度資訊向量1103中的“0.8”是對應於第一限制至第四限制中從左邊數過來的第二個元素,以此類推。由於權重矩陣1200中的權重W1,1是對應於碼字1101中的位元V1與校驗向量1105中的校驗子S1,因此在以下的範例實施例中,碼字1101中的位元V1亦稱為第一位元,並且校驗向量1105中的校驗子S1亦稱為第一校驗子,以便於說明如何計算權重W1,1
在計算權重W1,1時,錯誤檢查與校正電路208會根據奇偶檢查矩陣900中的第一限制,從可靠度資訊向量1103中決定符合查驗條件的多個可靠度資訊。例如,錯誤檢查與校正電路208會根據第一限制所包括的元素中,其值是“1”的多個元素,從可靠 度資訊向量1103中決定符合此查驗條件的多個可靠度資訊。例如,在此範例實施例中,第一限制中從左邊數過來的前四個元素的元素值是“1”,因此可靠度資訊向量1103中符合查驗條件的可靠度資訊為“0.6”、“0.8”、“0.2”與“1.3”。之後,錯誤檢查與校正電路208會獲得符合此查驗條件的可靠度資訊的總和為“2.9”。
在本範例實施例中,每一個限制都對應至一個平衡資訊。錯誤檢查與校正電路208會將上述總和加上對應於第一限制的平衡資訊以獲得權重W1,1。更具體而言,錯誤檢查與校正電路208會將上述總和加上對應於第一限制的平衡資訊以獲得第一評估資訊,並且將第一評估資訊除以一第二評估資訊以獲得權重W1,1
錯誤檢查與校正電路208會從上述符合查驗條件的可靠度資訊中選擇對應於另一位元(亦稱為第二位元)的可靠度資訊。其中,此第二位元相異於第一位元。亦即,在此範例實施例中,此第二位元是位元V2~V4的其中之一。特別是,在本範例實施例中,所選出的對應於第二位元的可靠度資訊的值是所有符合查驗條件的可靠度資訊的值中最小的,或者對應於第二位元的可靠度資訊的值是在所有符合查驗條件的可靠度資訊中僅大於第一位元所對應的可靠度資訊的值。例如,在本範例實施例中,第一位元(即,位元V1)所對應的可靠度資訊的值為“0.6”,因此,錯誤檢查與校正電路208會從“0.8”、“0.2”、“1.3”中選擇其值為“0.2”的可靠度資訊作為對應於第二位元的可靠度資訊。也就是說,在本範例實施例 中,第二位元為位元V3,並且對應於第二位元的可靠度資訊為“0.2”。然而,在另一範例實施中,第二位元也可以根據任意的條件來進行選擇,本發明不加以限制。例如,在一範例實施例中,亦可以將符合查驗條件的可靠度資訊輸入一查找表或一演算法,並且將此查找表或此演算法的輸出作為對應於第二位元的可靠度資訊。
在本範例實施例中,每一個限制都對應至一個調整因子α m 。例如,α 1 對應至第一限制,α 2 對應至第二限制,α 3 對應至第三限制,並且α 4 對應至第四限制。在獲得對應於第二位元的可靠度資訊之後,錯誤檢查與校正電路208會將對應於第二位元的可靠度資訊乘上調整因子α 1 以獲得對應於第一限制的平衡資訊。藉此,可使得符合查驗條件的可靠度資訊之總和與平衡資訊的值相當,避免因平衡資訊的值太小而使其被忽略。值得一提的是,在本範例實施例中,調整因子α m 為一大於“1”的整數或實數。然而,在另一範例實施例中,調整因子α m 亦可以是任意的實數,本發明不加以限制。此外,在另一範例實施例中,調整因子α m 亦可以為“1”。在本範例實施例中,假設調整因子α 1 為“11.36”,則錯誤檢查與校正電路208可獲得第一評估資訊為“5.172”。此外,錯誤檢查與校正電路208會將對應於第一位元(即,位元V1)的可靠度資訊作為第二評估資訊。亦即,在此範例實施例中,第二評估資訊為“0.6”。藉此,透過將第一評估資訊除以第二評估資訊,錯誤檢查與校正電路208可以獲得權重W1,1為“8.62”。或者,在一範例實 施例中,錯誤檢查與校正電路208可以透過以下方程式(6)來取得圖12的權重矩陣1200中的權重W1,1~W4,9
其中,為根據對應於第m限制之符合查驗條件的可靠度資訊的總和,為第一評估資訊,| y n |為第二評估資訊,為對應於第二位元的可靠度資訊,並且α m *為對應於第m限制的平衡資訊。
在一範例實施例中,對應於第m限制的平衡資訊的值是正相關於第m限制的列權重。例如,對應於第一限制的平衡資訊的值是正相關於第一限制的列權重;對應於第二限制的平衡資訊的值是正相關於第二限制的列權重,以此類推。舉例而言,錯誤檢查與校正電路208會根據第一限制中值是“1”的元素的個數來決定第一限制的列權重。例如,在圖13的範例實施例中,第一限制中有四個元素的值是“1”,因此錯誤檢查與校正電路208會決定第一限制的列權重為“4”。以此類推,第二限制的列權重為“6”,第三限制的列權重為“6”,並且第四限制的列權重為“4”。此外,在另一範例實施例中,對應於第m限制的平衡資訊的值亦可以是負相關於或不相關於第m限制的列權重,本發明不加以限制。
在一範例實施例中,錯誤檢查與校正電路208會將第m限制的列權重乘上一放大倍數來獲得對應於第m限制的調整因子α m 。例如,錯誤檢查與校正電路208會將第一限制的列權重乘上 一放大倍數來獲得調整因子α 1 。例如,錯誤檢查與校正電路208可以計算可靠度資訊向量1103中所有的可靠度資訊的一平均值(亦稱為第一平均值),並且根據奇偶檢查矩陣900中的每一限制,從對應的符合查驗條件的可靠度資訊中獲得可靠度資訊的最小值與次小值。例如,錯誤檢查與校正電路208會得到對應於第一限制的可靠度資訊的最小值與次小值分別為“0.2”與“0.6”,對應於第二限制的可靠度資訊的最小值與次小值分別為“0.2”與“0.3”,對應於第三限制的可靠度資訊的最小值與次小值分別為“0.1”與“0.3”,以及對應於第四限制的可靠度資訊的最小值與次小值分別為“0.1”與“0.2”。之後,錯誤檢查與校正電路208會計算這些最小值與這些次小值加總之後的一平均值(亦稱為第二平均值),並且將第一平均值除以第二平均值以獲得此放大倍數。在本範例實施例中,每一個第m限制的列權重所乘上的放大倍數都是相同的。然而,在另一範例實施例中,每一個第m限制的列權重所乘上的放大倍數亦可以是不同的。此外,在另一範例實施例中,可靠度資訊的最小值與次小值也可以是以任意的規則來選擇,本發明不加以限制。或者,在一範例實施例中,錯誤檢查與校正電路208也可以透過以下方程式(7)來取得調整因子α m
其中,row_weight(m)即為奇偶檢查矩陣900中第m限制的列權重,mean(|y|)為上述第一平均值,以及mean(| y min |)為上述第 二平均值。例如,在本範例實施例中,第一平均值是“0.71”(即,(0.6+0.8+0.2+1.3+1.5+0.3+1.2+0.4+0.1)/9=0.71),第二平均值是“0.25”(即,(0.2+0.2+0.1+0.1+0.6+0.3+0.3+0.2)/9=0.25)。因此,可獲得調整因子α1~α4分別是“11.36”、“17.04”、“11.36”及“17.04”。
根據上述操作,錯誤檢查與校正電路208會分別取得圖12的權重矩陣1200中的權重W1,1~W4,9。例如,在本範例實施例中,在計算權重W2,1時,第一位元是位元V1,並且第二位元是位元V3。錯誤檢查與校正電路208會根據奇偶檢查矩陣900中的第二限制,決定符合查驗條件的多個可靠度資訊為“0.6”、“0.2”、“1.3”、“1.5”、“0.3”及“1.2”並且其總和為“5.1”。然後,假設調整因子α2是“17,04”,錯誤檢查與校正電路208會獲得第一評估資訊為“8.508”(即,5.1+(17.04×0.2)),第二評估資訊為“0.6”(即,對應於第一位元的可靠度資訊),並且權重W2,1為“14.18”(即,8.508/0.6=14.18)。權重矩陣1200中其餘的權重的計算可依此類推,在此不加以贅述。
圖14是根據本發明的一範例實施例所繪示的計算出的權重的範例示意圖。
請參照圖14,在權重矩陣1200的第一限制中,對應於位元V1與校驗子S1的權重W1,1為“8.62”,對應於位元V2與校驗子S1的權重W1,2為“6.47”,對應於位元V3與校驗子S1的權重W1,3為“48.58”,以及對應於位元V4與校驗子S1的權重W1,4為“3.45”。在權重矩陣1200的第二限制中,對應於位元V1與校驗 子S2的權重W2,1為“14.18”,對應於位元V3與校驗子的權重W2,3為“51.06”,對應於位元V4與校驗子S2的權重W2,4為“6.54”,對應於位元V5與校驗子S2的權重W2,5為“5.67”,對應於位元V6與校驗子S2的權重W2,6為“28.36”,以及對應於位元V7與第二校驗子S2的權重W2,7為“7.09”,以此類推。值得一提的是,在本範例實施例中,錯誤檢查與校正電路208可對應奇偶檢查矩陣900中其值是“0”的元素,將權重矩陣1200中部份的權重設為“0”。
圖15是根據本發明的一範例實施例所繪示的矩陣相乘的範例示意圖。
請參照圖15,在迭代解碼程序中,錯誤檢查與校正電路208會根據上述校驗子與計算出的權重來取得位元V1~V9的校驗權重資訊。舉例而言,錯誤檢查與校正電路208會將每一個校驗子乘上一個權重,並且累加校驗子與權重相乘的結果以取得校驗權重資訊。例如,位元V1的校驗權重資訊會等於W1,1S1+W2,1S2,其中權重W1,1及W2,1即為上述圖14中的“8.62”與“14.18”。在本範例實施例中,錯誤檢查與校正電路208可以根據一個校驗子是“1”或“0”來決定對應於此校驗子之權重的值是大於0或小於0。例如,若一個校驗子是“1”,則對應於此校驗子的權重會乘上“1”;若一個校驗子是“0”,則對應於此校驗子的權重會乘上“-1”。值得注意的是,在此對校驗子S1~S4所做的加法是一般的加法,而不是模2(modulo-2)的加法。換言之,錯誤檢查與校正電路208可以透過以下方程式(8)來取得對應於位元V1~V9的校 驗權重資訊。
其中,向量E n 即可用來表示每一位元V1~V9的校驗權重資訊。
錯誤檢查與校正電路208會根據位元V1~V9的校驗權重資訊來翻轉(flip)這些位元的至少其中之一。例如,錯誤檢查與校正電路208會將某一個或多個位元從“1”翻轉成“0”或者從“0”翻轉成“1”。在一範例實施例中,上述翻轉位元的操作亦稱為位元翻轉(bit flipping)。具體而言,在每一次的迭代解碼程序中,一個碼字中最多只會有一個位元被翻轉。例如,此被翻轉的位元的校驗權重資訊的值會大於其他沒有被翻轉的位元的校驗權重資訊的值。此外,在另一範例實施例中,錯誤檢查與校正電路208會判斷碼字1101中的每一個位元的校驗權重資訊是否符合一權重條件。例如,錯誤檢查與校正電路208會判斷每一個位元的校驗權重資訊的值是否大於一門檻值。倘若某一個位元的校驗權重資訊的值大於此門檻值時,則錯誤檢查與校正電路208會判定此位元的校驗權重資訊符合權重條件,並且翻轉此位元。換言之,在一範例實施例中,被翻轉的位元的校驗權重資訊即為符合權重條件的校驗權重資訊。
圖16是根據本發明的一範例實施例所繪示的校驗權重資訊的範例示意圖。
請參照圖16,假設碼字1101中的位元V1~V9分別是“1”、“1”、“0”、“1”、“0”、“1”、“0”、“0”及“1”,校驗向量1105中的校驗子S1~S4分別是“1”、“0”、“1”及“0”,則根據方程式(8),錯誤檢查與校正電路208可取得向量E n ,所述向量E n 用以表示位元V1~V9的校驗權重資訊分別是“-5.56”、“13.98”、“-13.16”、“-3.09”、“-1.67”、“-15.47”、“-0.29”、“9.67”及“61.4”。在此範例實施例中,錯誤檢查與校正電路208會選擇取絕對值後的此些校驗權重資訊中其值最大的一個校驗權重資訊(即,“15.47”),並且將對應此校驗權重資訊的位元V6翻轉。然後,此迭代解碼程序會輸出另一個具多個位元的碼字。例如,這些位元分別會是“1”、“1”、“0”、“1”、“0”、“0”、“0”、“0”及“1”。然後,錯誤檢查與校正電路208會再次判斷這些位元是否具有錯誤。若沒有錯誤,錯誤檢查與校正電路208會輸出這些位元。若有錯誤,錯誤檢查與校正電路208會決定是要執行另一次的迭代解碼程序或停止解碼。
在此範例實施例中,若錯誤檢查與校正電路208判定碼字1101中存在錯誤,則錯誤檢查與校正電路208會計數一迭代次數,例如,將迭代次數加1,並且判斷計數後的迭代次數是否達到一中止次數。在此,中止次數例如是30次或者更多或更少。若計數後的迭代次數達到中止次數,則錯誤檢查與校正電路208會判定解碼失敗,並且停止解碼。若計數後的迭代次數沒有達到中止次數,則錯誤檢查與校正電路208會執行另一次的迭代解碼程序。
圖17是根據本發明的一範例實施例所繪示的解碼方法的 流程圖。
請參照圖17,首先,在步驟S1701中,發送一讀取指令序列,其中所述讀取指令序列用以讀取多個記憶胞以取得多個位元。在步驟S1703中,獲得對應於每一位元的可靠度資訊。接著,在步驟S1705中,計算所述可靠度資訊中符合查驗條件的多個可靠度資訊的總和。在步驟S1707中,將所述總和加上一平衡資訊以獲得對應於所述位元中的第一位元與第一校驗子的權重。之後,在步驟S1709中,判斷所述位元是否具有至少一錯誤。若所述位元具有所述至少一錯誤,在步驟S1711中,根據所述權重執行迭代解碼程序。若所述位元不具有所述錯誤,在步驟S1713中,輸出所述位元。
然而,圖17中各步驟已詳細說明如上,在此便不再贅述。值得注意的是,圖17中各步驟可以實作為多個程式碼或是電路,本發明並不在此限。此外,圖17的方法可以搭配以上實施例使用,也可以單獨使用,本發明並不在此限。
綜上所述,當從可複寫式非揮發性記憶體模組中讀取的位元存在錯誤時,本發明範例實施例的解碼方法、記憶體控制電路單元與記憶體儲存裝置會給予對應於碼字中不同位元與不同校驗子的權重適當的權重值。藉此,可增加根據校驗權重資訊來進行解碼的解碼效率。
雖然本發明已以實施例揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明的 精神和範圍內,當可作些許的更動與潤飾,故本發明的保護範圍當視後附的申請專利範圍所界定者為準。
S1701、S1703、S1705、S1707、S1709、S1711、S1713‧‧‧解碼方法的步驟

Claims (24)

  1. 一種解碼方法,用於一可複寫式非揮發性記憶體模組,該可複寫式非揮發性記憶體模組包括多個記憶胞,該解碼方法包括:發送一讀取指令序列,其中該讀取指令序列用以讀取該些記憶胞,以取得多個位元;獲得多個可靠度資訊,其中每一該些可靠度資訊對應於該些位元的其中之一;計算該些可靠度資訊中符合一查驗條件的多個可靠度資訊的一總和;將該總和加上一平衡資訊以獲得對應於該些位元中的一第一位元與一第一校驗子的一權重;判斷該些位元是否具有至少一錯誤;以及若該些位元具有該至少一錯誤,根據該權重執行一迭代解碼程序。
  2. 如申請專利範圍第1項所述之解碼方法,其中判斷該些位元是否具有該至少一錯誤的步驟包括:對該些位元執行一奇偶檢查程序以取得包含該第一校驗子的多個校驗子,其中每一該些位元是對應至該些校驗子的至少其中之一;以及根據該些校驗子判斷該些位元是否具有該至少一錯誤,其中該奇偶檢查程序是根據一奇偶檢查矩陣所執行,並且該奇偶檢查矩陣包括多個限制(constraint), 其中計算該些可靠度資訊中符合該查驗條件的該些可靠度資訊的該總和的步驟包括:根據該些限制中對應於該第一校驗子的一第一限制,從該些可靠度資訊中決定符合該查驗條件的該些可靠度資訊。
  3. 如申請專利範圍第2項所述之解碼方法,其中該第一限制包括多個元素,而根據該第一限制從該些可靠度資訊中決定符合該查驗條件的該些可靠度資訊的步驟包括:根據該些元素中值是“1”的多個元素,從該些可靠度資訊中決定符合該查驗條件的該些可靠度資訊。
  4. 如申請專利範圍第1項所述之解碼方法,其中將該總和加上該平衡資訊以獲得對應於該第一位元與該第一校驗子的該權重的步驟包括:將該總和加上該平衡資訊以獲得一第一評估資訊;以及將該第一評估資訊除以一第二評估資訊以獲得對應於該第一位元與該第一校驗子的該權重,其中該第二評估資訊是該些可靠度資訊中對應於該第一位元的可靠度資訊。
  5. 如申請專利範圍第1項所述之解碼方法,更包括:從符合該查驗條件的該些可靠度資訊中選擇對應於該些位元中的一第二位元的可靠度資訊,其中該第二位元相異於該第一位元;並且將對應於該第二位元的該可靠度資訊乘上一調整因子以獲得該平衡資訊。
  6. 如申請專利範圍第5項所述之解碼方法,其中對應於該第二位元的該可靠度資訊的值是符合該查驗條件的該些可靠度資訊的值中最小的。
  7. 如申請專利範圍第5項所述之解碼方法,其中對應於該第二位元的該可靠度資訊的值是在符合該查驗條件的該些可靠度資訊中僅大於該第一位元所對應的可靠度資訊的值。
  8. 如申請專利範圍第1項所述之解碼方法,其中該平衡資訊的值是正相關(positive correlation)於該第一校驗子在一奇偶檢查矩陣中所對應的一第一限制的一列(row)權重。
  9. 一種記憶體控制電路單元,用於一可複寫式非揮發性記憶體模組,其中該可複寫式非揮發性記憶體模組包括多個記憶胞,該記憶體控制電路單元包括:一主機介面,用以耦接至一主機系統;一記憶體介面,用以耦接至該可複寫式非揮發性記憶體模組;一記憶體管理電路,耦接至該主機介面與該記憶體介面,並且用以發送一讀取指令序列,其中該讀取指令序列用以讀取該些記憶胞,以取得多個位元;以及一錯誤檢查與校正電路,耦接至該記憶體管理電路,用以獲得多個可靠度資訊,其中每一該些可靠度資訊對應於該些位元的其中之一;該錯誤檢查與校正電路更用以計算該些可靠度資訊中符合一查驗條件的多個可靠度資訊的一總和, 該錯誤檢查與校正電路更用以將該總和加上一平衡資訊以獲得對應於該些位元中的一第一位元與一第一校驗子的一權重,該錯誤檢查與校正電路更用以判斷該些位元是否具有至少一錯誤,若該些位元具有該至少一錯誤,該錯誤檢查與校正電路更用以根據該權重執行一迭代解碼程序。
  10. 如申請專利範圍第9項所述之記憶體控制電路單元,其中該錯誤檢查與校正電路判斷該些位元是否具有該至少一錯誤的操作包括:該錯誤檢查與校正電路對該些位元執行一奇偶檢查程序以取得包含該第一校驗子的多個校驗子,其中每一該些位元是對應至該些校驗子的至少其中之一;以及該錯誤檢查與校正電路根據該些校驗子判斷該些位元是否具有該至少一錯誤,其中該奇偶檢查程序是根據一奇偶檢查矩陣所執行,並且該奇偶檢查矩陣包括多個限制,其中該錯誤檢查與校正電路計算該些可靠度資訊中符合該查驗條件的該些可靠度資訊的該總和的操作包括:該錯誤檢查與校正電路根據該些限制中對應於該第一校驗子的一第一限制,從該些可靠度資訊中決定符合該查驗條件的該些可靠度資訊。
  11. 如申請專利範圍第10項所述之記憶體控制電路單元,其 中該第一限制包括多個元素,而該錯誤檢查與校正電路根據該第一限制從該些可靠度資訊中決定符合該查驗條件的該些可靠度資訊的操作包括:該錯誤檢查與校正電路根據該些元素中值是“1”的多個元素,從該些可靠度資訊中決定符合該查驗條件的該些可靠度資訊。
  12. 如申請專利範圍第9項所述之記憶體控制電路單元,其中該錯誤檢查與校正電路將該總和加上該平衡資訊以獲得對應於該第一位元與該第一校驗子的該權重的操作包括:該錯誤檢查與校正電路將該總和加上該平衡資訊以獲得一第一評估資訊;以及該錯誤檢查與校正電路將該第一評估資訊除以一第二評估資訊以獲得對應於該第一位元與該第一校驗子的該權重,其中該第二評估資訊是該些可靠度資訊中對應於該第一位元的可靠度資訊。
  13. 如申請專利範圍第9項所述之記憶體控制電路單元,其中該錯誤檢查與校正電路更用以從符合該查驗條件的該些可靠度資訊中選擇對應於該些位元中的一第二位元的可靠度資訊,其中該第二位元相異於該第一位元,該錯誤檢查與校正電路更用以將對應於該第二位元的該可靠度資訊乘上一調整因子以獲得該平衡資訊。
  14. 如申請專利範圍第13項所述之記憶體控制電路單元,其中對應於該第二位元的該可靠度資訊的值是符合該查驗條件的該 些可靠度資訊的值中最小的。
  15. 如申請專利範圍第13項所述之記憶體控制電路單元,其中對應於該第二位元的該可靠度資訊的值在符合該查驗條件的該些可靠度資訊中僅大於該第一位元所對應的可靠度資訊的值。
  16. 如申請專利範圍第9項所述之記憶體控制電路單元,其中該平衡資訊的值是正相關於該第一校驗子在一奇偶檢查矩陣中所對應的一第一限制的一列權重。
  17. 一種記憶體儲存裝置,包括:一連接介面單元,用以耦接至一主機系統;一可複寫式非揮發性記憶體模組,包括多個記憶胞;以及一記憶體控制電路單元,耦接至該連接介面單元與該可複寫式非揮發性記憶體模組,其中該記憶體控制電路單元用以發送一讀取指令序列,其中該讀取指令序列用以讀取該些記憶胞,以取得多個位元,該記憶體控制電路單元更用以獲得多個可靠度資訊,其中每一該些可靠度資訊對應於該些位元的其中之一,該記憶體控制電路單元更用以計算該些可靠度資訊中符合一查驗條件的多個可靠度資訊的一總和,該記憶體控制電路單元更用以將該總和加上一平衡資訊以獲得對應於該些位元中的一第一位元與一第一校驗子的一權重,該記憶體控制電路單元更用以判斷該些位元是否具有至少一錯誤, 若該些位元具有該至少一錯誤,該記憶體控制電路單元更用以根據該權重執行一迭代解碼程序。
  18. 如申請專利範圍第17項所述之記憶體儲存裝置,其中該記憶體控制電路單元判斷該些位元是否具有該至少一錯誤的操作包括:該記憶體控制電路單元對該些位元執行一奇偶檢查程序以取得包含該第一校驗子的多個校驗子,其中每一該些位元是對應至該些校驗子的至少其中之一;以及該記憶體控制電路單元根據該些校驗子判斷該些位元是否具有該至少一錯誤,其中其中該奇偶檢查程序是根據一奇偶檢查矩陣所執行,並且該奇偶檢查矩陣包括多個限制,其中該記憶體控制電路單元計算該些可靠度資訊中符合該查驗條件的該些可靠度資訊的該總和的操作包括:該記憶體控制電路單元根據該些限制中對應於該第一校驗子的一第一限制,從該些可靠度資訊中決定符合該查驗條件的該些可靠度資訊。
  19. 如申請專利範圍第18項所述之記憶體儲存裝置,其中該第一限制包括多個元素,而該記憶體控制電路單元根據該第一限制從該些可靠度資訊中決定符合該查驗條件的該些可靠度資訊的操作包括:該記憶體控制電路單元根據該些元素中值是“1”的多個元 素,從該些可靠度資訊中決定符合該查驗條件的該些可靠度資訊。
  20. 如申請專利範圍第17項所述之記憶體儲存裝置,其中該記憶體控制電路單元將該總和加上該平衡資訊以獲得對應於該第一位元與該第一校驗子的該權重的操作包括:該記憶體控制電路單元將該總和加上該平衡資訊以獲得一第一評估資訊;以及該記憶體控制電路單元將該第一評估資訊除以一第二評估資訊以獲得對應於該第一位元與該第一校驗子的該權重,其中該第二評估資訊是該些可靠度資訊中對應於該第一位元的可靠度資訊。
  21. 如申請專利範圍第17項所述之記憶體儲存裝置,其中該記憶體控制電路單元更用以從符合該查驗條件的該些可靠度資訊中選擇對應於該些位元中的一第二位元的可靠度資訊,其中該第二位元相異於該第一位元,該記憶體控制電路單元更用以將對應於該第二位元的該可靠度資訊乘上一調整因子以獲得該平衡資訊。
  22. 如申請專利範圍第21項所述之記憶體儲存裝置,其中對應於該第二位元的該可靠度資訊的值是符合該查驗條件的該些可靠度資訊的值中最小的。
  23. 如申請專利範圍第21項所述之記憶體儲存裝置,其中對應於該第二位元的該可靠度資訊的值在符合該查驗條件的該些可靠度資訊中僅大於該第一位元所對應的可靠度資訊的值。
  24. 如申請專利範圍第17項所述之記憶體儲存裝置,其中該平衡資訊的值是正相關於該第一校驗子在一奇偶檢查矩陣中所對應的一第一限制的一列權重。
TW103123834A 2014-07-10 2014-07-10 解碼方法、記憶體控制電路單元及記憶體儲存裝置 TWI541820B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
TW103123834A TWI541820B (zh) 2014-07-10 2014-07-10 解碼方法、記憶體控制電路單元及記憶體儲存裝置
US14/467,052 US10103748B2 (en) 2014-07-10 2014-08-25 Decoding method, memory control circuit unit and memory storage device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW103123834A TWI541820B (zh) 2014-07-10 2014-07-10 解碼方法、記憶體控制電路單元及記憶體儲存裝置

Publications (2)

Publication Number Publication Date
TW201603039A true TW201603039A (zh) 2016-01-16
TWI541820B TWI541820B (zh) 2016-07-11

Family

ID=55067664

Family Applications (1)

Application Number Title Priority Date Filing Date
TW103123834A TWI541820B (zh) 2014-07-10 2014-07-10 解碼方法、記憶體控制電路單元及記憶體儲存裝置

Country Status (2)

Country Link
US (1) US10103748B2 (zh)
TW (1) TWI541820B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107092536A (zh) * 2017-04-14 2017-08-25 合肥兆芯电子有限公司 解码方法、存储器存储装置及存储器控制电路单元

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI512750B (zh) * 2014-07-30 2015-12-11 Phison Electronics Corp 資料儲存方法、記憶體控制電路單元及記憶體儲存裝置
US20170288698A1 (en) * 2016-03-29 2017-10-05 Silicon Motion Inc. Power saving for bit flipping decoding algorithm in ldpc decoder
CN106027072B (zh) * 2016-05-30 2021-11-16 联想(北京)有限公司 一种译码处理方法及电子设备
US10379940B2 (en) * 2016-12-08 2019-08-13 Sandisk Technologies Llc Pipeline delay detection during decoding by a data storage device
TWI631830B (zh) * 2016-12-30 2018-08-01 慧榮科技股份有限公司 解碼方法與相關解碼裝置
US10528524B2 (en) * 2017-01-03 2020-01-07 International Business Machines Corporation Mitigation of geolocation based data remanence problems
TWI628660B (zh) * 2017-09-19 2018-07-01 群聯電子股份有限公司 解碼方法、記憶體控制電路單元以及記憶體儲存裝置
CN111181570A (zh) * 2018-11-12 2020-05-19 北京环佳通信技术有限公司 基于fpga的编译码方法和装置
TWI697000B (zh) * 2019-12-09 2020-06-21 慧榮科技股份有限公司 記憶體控制器及快閃記憶體的存取方法
US11265021B2 (en) * 2020-03-10 2022-03-01 SK Hynix Inc. Apparatus and method for error recovery in memory system
US12066891B2 (en) * 2021-08-25 2024-08-20 Micron Technology, Inc. Real time syndrome check
US20240193037A1 (en) * 2022-12-07 2024-06-13 Western Digital Technologies, Inc. Error correction systems and methods for dna storage

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7996748B2 (en) * 2005-05-19 2011-08-09 Stmicroelectronics, S.R.L. ECC for single 4-bits symbol correction of 32 symbols words with 22 maximum row weight matrix
JP5485069B2 (ja) * 2010-08-06 2014-05-07 パナソニック株式会社 誤り訂正復号装置及び誤り訂正復号方法
US8880987B2 (en) * 2011-07-29 2014-11-04 Sandisk Technologies Inc. Checksum using sums of permutation sub-matrices
US9048870B2 (en) * 2012-11-19 2015-06-02 Lsi Corporation Low density parity check decoder with flexible saturation
US9411683B2 (en) * 2013-12-26 2016-08-09 Intel Corporation Error correction in memory

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107092536A (zh) * 2017-04-14 2017-08-25 合肥兆芯电子有限公司 解码方法、存储器存储装置及存储器控制电路单元

Also Published As

Publication number Publication date
TWI541820B (zh) 2016-07-11
US20160011934A1 (en) 2016-01-14
US10103748B2 (en) 2018-10-16

Similar Documents

Publication Publication Date Title
TWI541820B (zh) 解碼方法、記憶體控制電路單元及記憶體儲存裝置
US9529666B2 (en) Decoding method, memory storage device and memory controlling circuit unit
TWI543178B (zh) 解碼方法、記憶體儲存裝置及記憶體控制電路單元
US10534665B2 (en) Decoding method, memory storage device and memory control circuit unit
US9471421B2 (en) Data accessing method, memory storage device and memory controlling circuit unit
US9268634B2 (en) Decoding method, memory storage device and memory controlling circuit unit
US9583217B2 (en) Decoding method, memory storage device and memory control circuit unit
US10108490B1 (en) Decoding method, memory storage device and memory control circuit unit
TWI612527B (zh) 解碼方法、記憶體儲存裝置及記憶體控制電路單元
TWI512732B (zh) 解碼方法、記憶體儲存裝置與非揮發性記憶體模組
US9274891B2 (en) Decoding method, memory storage device, and memory controlling circuit unit
TWI648676B (zh) 資料存取方法、記憶體控制電路單元以及記憶體儲存裝置
US10193569B2 (en) Decoding method, memory storage device and memory control circuit unit
US10009045B2 (en) Decoding method, memory controlling circuit unit and memory storage device
TW201802822A (zh) 解碼方法、記憶體儲存裝置及記憶體控制電路單元
TWI672698B (zh) 記憶體控制方法、記憶體儲存裝置及記憶體控制電路單元
US10324787B2 (en) Decoding method, memory storage device and memory control circuit unit
CN105304143B (zh) 解码方法、存储器控制电路单元及存储器存储装置
US20180374543A1 (en) Decoding method, memory storage device and memory control circuit unit
CN107590018B (zh) 译码方法、存储器控制电路单元及存储器存储装置
US10628259B2 (en) Bit determining method, memory control circuit unit and memory storage device
TWI742509B (zh) 資料寫入方法、記憶體控制電路單元以及記憶體儲存裝置
CN111258791B (zh) 存储器控制方法、存储器存储装置及存储器控制电路单元