TWI456579B - 提昇錯誤更正能力之方法以及相關之記憶裝置及其控制器 - Google Patents

提昇錯誤更正能力之方法以及相關之記憶裝置及其控制器 Download PDF

Info

Publication number
TWI456579B
TWI456579B TW099109093A TW99109093A TWI456579B TW I456579 B TWI456579 B TW I456579B TW 099109093 A TW099109093 A TW 099109093A TW 99109093 A TW99109093 A TW 99109093A TW I456579 B TWI456579 B TW I456579B
Authority
TW
Taiwan
Prior art keywords
error correction
parity
error
code
controller
Prior art date
Application number
TW099109093A
Other languages
English (en)
Other versions
TW201133499A (en
Inventor
Tsung Chieh Yang
Original Assignee
Silicon Motion 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 Silicon Motion Inc filed Critical Silicon Motion Inc
Priority to TW099109093A priority Critical patent/TWI456579B/zh
Priority to US12/890,700 priority patent/US8560916B2/en
Publication of TW201133499A publication Critical patent/TW201133499A/zh
Application granted granted Critical
Publication of TWI456579B publication Critical patent/TWI456579B/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
    • H03M13/29Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2948Iterative decoding
    • 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/29Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2906Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block codes
    • H03M13/2909Product 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/29Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2906Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block codes
    • H03M13/2927Decoding strategies
    • 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/29Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2945Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using at least three error correction 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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • 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/6561Parallelized implementations
    • 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/09Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
    • 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/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes

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)
  • Error Detection And Correction (AREA)
  • Detection And Correction Of Errors (AREA)

Claims (23)

  1. 一種提昇錯誤更正能力之方法,該方法係應用於一記憶裝置的控制器,該方法不需要增加錯誤更正碼引擎(Error Correction Code Engine,ECC Engine)編/解碼位元數就能提昇該控制器的錯誤更正能力,該方法包含有:檢查解碼編碼後資料的一疊代次數是否達到一上限,其中該上限係事先決定於該控制器中,且該編碼後資料係經由一編碼程序所編碼,該編碼程序包含有:針對一資料位元陣列之複數列,分別計算複數個第一奇偶校驗碼(Parity Code);針對該資料位元陣列之複數行所形成的複數組,分別計算複數個第二奇偶校驗碼,其中該些組中之每一組包含該些行中之兩行或更多行,且該些組彼此不重疊;以及進行對應於該些第一、第二奇偶校驗碼之編碼;當該疊代次數達到該上限,回報解碼失敗,否則利用至少一部分之該第二奇偶校驗碼來針對相對應行執行第一錯誤更正,之後基於該第一錯誤更正,檢查原本具有至少一錯誤的至少一列是否完全地被更正;當原本具有至少一錯誤之該列具有尚未被更正的錯誤,執行對應該複數列中的一列或是更多列的操作,來依據該第一奇偶校驗碼的至少一部分來執行第二錯誤更正,並進一步檢查原本具有至少一錯誤之該列是否仍具有尚未被更正的錯誤;以及 當原本具有至少一錯誤之該列仍具有尚未被更正的錯誤,增加該疊代次數並且重新檢查解碼該編碼後資料之該疊代次數是否達到該上限,以疊代地執行至少該第一錯誤更正或是該第二錯誤更正,直到該編碼後資料成功地被解碼或是該解碼失敗被回報。
  2. 如申請專利範圍第1項所述之方法,其中該疊代次數代表疊代進行該第一錯誤更正以及該第二錯誤更正的至少其中之一的次數。
  3. 如申請專利範圍第1項所述之方法,其中該些組各自的行數彼此相等,以及每一組的資料位元之數量等於每一列的資料位元之數量。
  4. 如申請專利範圍第1項所述之方法,其中該資料位元陣列以及該些第一、第二奇偶校驗碼係儲存於該記憶裝置中之一快閃記憶體(Flash Memory)。
  5. 一種提昇錯誤更正能力之方法,該方法係應用於一記憶裝置的控制器,該方法不需要增加錯誤更正碼引擎(Error Correction Code Engine,ECC Engine)編/解碼位元數就能提昇該控制器的錯誤更正能力,該方法包含有:針對一資料位元陣列之複數列,分別計算複數個第一奇偶校驗碼 (Parity Code);針對該資料位元陣列之複數行所形成的複數組,分別計算複數個第二奇偶校驗碼,其中該些組中之每一組包含該些行中之兩行或更多行,且該些組彼此不重疊;以及進行對應於該些第一、第二奇偶校驗碼之編/解碼;其中該些組各自的行數彼此相等,以及每一組的資料位元之數量等於每一列的資料位元之數量。
  6. 如申請專利範圍第5項所述之方法,其中每一列的位元組(Byte)之數量等於每一組的行之數量;以及該些列的數量等於該些組的數量。
  7. 如申請專利範圍第6項所述之方法,其中每一列具有1024位元組的資料,且該些列的數量等於8;每一組具有該些行中之1024行,且該些組的數量等於8;以及每一第一奇偶校驗碼具有42位元組,且每一第二奇偶校驗碼具有14位元組。
  8. 一種記憶裝置,其錯誤更正能力在不需要增加錯誤更正碼引擎(Error Correction Code Engine,ECC Engine)編/解碼位元數的狀況下就能提昇,該記憶裝置包含有:一快閃記憶體(Flash Memory),該快閃記憶體包含複數個區塊;以及一控制器,用來存取(Access)該快閃記憶體以及管理該複數 個區塊,其中該控制器之錯誤更正碼引擎係藉由利用該控制器中之微處理器及/或控制邏輯來實施,以及該錯誤更正碼引擎包含有:一第一奇偶校驗碼(Parity Code)計算模組,用來針對一資料位元陣列之複數列,分別計算複數個第一奇偶校驗碼;以及複數個第二奇偶校驗碼計算模組,用來針對該資料位元陣列之複數行所形成的複數組,分別計算複數個第二奇偶校驗碼,其中該些組中之每一組包含該些行中之兩行或更多行,且該些組彼此不重疊;其中該錯誤更正碼引擎係用來進行對應於該些第一、第二奇偶校驗碼之編碼以產生編碼後資料;該錯誤更正碼引擎係用來檢查解碼編碼後資料的一疊代次數是否達到一上限,其中該上限係事先決定於該控制器中;當該疊代次數達到該上限,該錯誤更正碼引擎回報解碼失敗,否則該錯誤更正碼引擎利用至少一部分之該第二奇偶校驗碼來針對相對應行執行第一錯誤更正,之後基於該第一錯誤更正,檢查原本具有至少一錯誤的至少一列是否完全地被更正;當原本具有至少一錯誤之該列具有尚未被更正的錯誤,該錯誤更正碼引擎執行對應該複數列中的一列或是更多列的操作,來依據該第一奇偶校驗碼的至少一部分來執行第二錯誤更正,並進一步檢查原本具有至少一錯誤之該列是否仍具有尚未被更正的錯誤;以及 當原本具有至少一錯誤之該列仍具有尚未被更正的錯誤,該錯誤更正碼引擎增加該疊代次數並且重新檢查解碼該編碼後資料之該疊代次數是否達到該上限,以疊代地執行至少該第一錯誤更正或是該第二錯誤更正,直到該編碼後資料成功地被解碼或是該解碼失敗被回報。
  9. 如申請專利範圍第8項所述之記憶裝置,其中該疊代次數代表疊代進行該第一錯誤更正以及該第二錯誤更正的至少其中之一的次數。
  10. 如申請專利範圍第8項所述之記憶裝置,其中該些組各自的行數彼此相等,以及每一組的資料位元之數量等於每一列的資料位元之數量。
  11. 如申請專利範圍第8項所述之記憶裝置,其中在該錯誤更正碼引擎係用來進行對應於該些第一、第二奇偶校驗碼之編碼的狀況下,該控制器將該資料位元陣列以及該些第一、第二奇偶校驗碼儲存於該快閃記憶體。
  12. 一種記憶裝置,其錯誤更正能力在不需要增加錯誤更正碼引擎(Error Correction Code Engine,ECC Engine)編/解碼位元數的狀況下就能提昇,該記憶裝置包含有:一快閃記憶體(Flash Memory),該快閃記憶體包含複數個區 塊;以及一控制器,用來存取(Access)該快閃記憶體以及管理該複數個區塊,其中該控制器之錯誤更正碼引擎係藉由利用該控制器中之微處理器及/或控制邏輯來實施,以及該錯誤更正碼引擎包含有:一第一奇偶校驗碼(Parity Code)計算模組,用來針對一資料位元陣列之複數列,分別計算複數個第一奇偶校驗碼;以及複數個第二奇偶校驗碼計算模組,用來針對該資料位元陣列之複數行所形成的複數組,分別計算複數個第二奇偶校驗碼,其中該些組中之每一組包含該些行中之兩行或更多行,且該些組彼此不重疊;其中該錯誤更正碼引擎係用來進行對應於該些第一、第二奇偶校驗碼之編/解碼;其中該些組各自的行數彼此相等,以及每一組的資料位元之數量等於每一列的資料位元之數量。
  13. 如申請專利範圍第12項所述之記憶裝置,其中每一列的位元組(Byte)之數量等於每一組的行之數量;以及該些列的數量等於該些組的數量。
  14. 如申請專利範圍第13項所述之記憶裝置,其中每一列具有1024位元組的資料,且該些列的數量等於8;每一組具有該些 行中之1024行,且該些組的數量等於8;以及每一第一奇偶校驗碼具有42位元組,且每一第二奇偶校驗碼具有14位元組。
  15. 如申請專利範圍第12項所述之記憶裝置,其中在該錯誤更正碼引擎係用來進行對應於該些第一、第二奇偶校驗碼之解碼的狀況下,該資料位元陣列係讀取自該快閃記憶體,並且該錯誤更正碼引擎依據透過計算所取得之該些第一、第二奇偶校驗碼以及讀取自該快閃記憶體之第一、第二奇偶校驗碼進行錯誤偵測或錯誤更正。
  16. 一種記憶裝置之控制器,其錯誤更正能力在不需要增加錯誤更正碼引擎(Error Correction Code Engine,ECC Engine)編/解碼位元數的狀況下就能提昇,該控制器係用來存取(Access)該記憶裝置中之一快閃記憶體(Flash Memory),該快閃記憶體包含複數個區塊,該控制器包含有:一唯讀記憶體(Read Only Memory,ROM),用來儲存一程式碼;以及一微處理器,用來執行該程式碼以控制對該快閃記憶體之存取以及管理該複數個區塊;其中該控制器之錯誤更正碼引擎係藉由利用該控制器中之控制邏輯及/或執行該程式碼之該微處理器來實施,以及該錯誤更正碼引擎包含有:一第一奇偶校驗碼(Parity Code)計算模組,用來針對一資料 位元陣列之複數列,分別計算複數個第一奇偶校驗碼;以及複數個第二奇偶校驗碼計算模組,用來針對該資料位元陣列之複數行所形成的複數組,分別計算複數個第二奇偶校驗碼,其中該些組中之每一組包含該些行中之兩行或更多行,且該些組彼此不重疊;其中該錯誤更正碼引擎係用來進行對應於該些第一、第二奇偶校驗碼之編碼以產生編碼後資料;該錯誤更正碼引擎係用來檢查解碼編碼後資料的一疊代次數是否達到一上限,其中該上限係事先決定於該控制器中;當該疊代次數達到該上限,該錯誤更正碼引擎回報解碼失敗,否則該錯誤更正碼引擎利用至少一部分之該第二奇偶校驗碼來針對相對應行執行第一錯誤更正,之後基於該第一錯誤更正,檢查原本具有至少一錯誤的至少一列是否完全地被更正;當原本具有至少一錯誤之該列具有尚未被更正的錯誤,該錯誤更正碼引擎執行對應該複數列中的一列或是更多列的操作,來依據該第一奇偶校驗碼的至少一部分來執行第二錯誤更正,並進一步檢查原本具有至少一錯誤之該列是否仍具有尚未被更正的錯誤;以及當原本具有至少一錯誤之該列仍具有尚未被更正的錯誤,該錯誤更正碼引擎增加該疊代次數並且重新檢查解碼該編碼後資料之該疊代次數是否達到該上限,以疊代地執行至少該第一錯誤更正或是該第二錯誤更正,直到該編碼後資料成功地被解碼 或是該解碼失敗被回報。
  17. 如申請專利範圍第16項所述之控制器,其中該疊代次數代表疊代進行該第一錯誤更正以及該第二錯誤更正的至少其中之一的次數。
  18. 如申請專利範圍第16項所述之控制器,其中該些組各自的行數彼此相等,以及每一組的資料位元之數量等於每一列的資料位元之數量。
  19. 如申請專利範圍第16項所述之控制器,其中在該錯誤更正碼引擎係用來進行對應於該些第一、第二奇偶校驗碼之編碼的狀況下,該控制器將該資料位元陣列以及該些第一、第二奇偶校驗碼儲存於該快閃記憶體。
  20. 如申請專利範圍第16項所述之控制器,其中在該錯誤更正碼引擎係用來進行對應於該些第一、第二奇偶校驗碼之解碼的狀況下,該資料位元陣列係讀取自該快閃記憶體,並且該錯誤更正碼引擎依據透過計算所取得之該些第一、第二奇偶校驗碼以及讀取自該快閃記憶體之第一、第二奇偶校驗碼進行錯誤偵測或錯誤更正。
  21. 一種記憶裝置之控制器,其錯誤更正能力在不需要增加錯誤更 正碼引擎(Error Correction Code Engine,ECC Engine)編/解碼位元數的狀況下就能提昇,該控制器係用來存取(Access)該記憶裝置中之一快閃記憶體(Flash Memory),該快閃記憶體包含複數個區塊,該控制器包含有:一唯讀記憶體(Read Only Memory,ROM),用來儲存一程式碼;以及一微處理器,用來執行該程式碼以控制對該快閃記憶體之存取以及管理該複數個區塊;其中該控制器之錯誤更正碼引擎係藉由利用該控制器中之控制邏輯及/或執行該程式碼之該微處理器來實施,以及該錯誤更正碼引擎包含有:一第一奇偶校驗碼(Parity Code)計算模組,用來針對一資料位元陣列之複數列,分別計算複數個第一奇偶校驗碼;以及複數個第二奇偶校驗碼計算模組,用來針對該資料位元陣列之複數行所形成的複數組,分別計算複數個第二奇偶校驗碼,其中該些組中之每一組包含該些行中之兩行或更多行,且該些組彼此不重疊;其中該錯誤更正碼引擎係用來進行對應於該些第一、第二奇偶校驗碼之編/解碼;其中該些組各自的行數彼此相等,以及每一組的資料位元之數量等於每一列的資料位元之數量。
  22. 如申請專利範圍第21項所述之控制器,其中每一列的位元組 (Byte)之數量等於每一組的行之數量;以及該些列的數量等於該些組的數量。
  23. 如申請專利範圍第22項所述之控制器,其中每一列具有1024位元組的資料,且該些列的數量等於8;每一組具有該些行中之1024行,且該些組的數量等於8;以及每一第一奇偶校驗碼具有42位元組,且每一第二奇偶校驗碼具有14位元組。
TW099109093A 2010-03-26 2010-03-26 提昇錯誤更正能力之方法以及相關之記憶裝置及其控制器 TWI456579B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
TW099109093A TWI456579B (zh) 2010-03-26 2010-03-26 提昇錯誤更正能力之方法以及相關之記憶裝置及其控制器
US12/890,700 US8560916B2 (en) 2010-03-26 2010-09-26 Method for enhancing error correction capability of a controller of a memory device without increasing an error correction code engine encoding/decoding bit count, and associated memory device and controller thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW099109093A TWI456579B (zh) 2010-03-26 2010-03-26 提昇錯誤更正能力之方法以及相關之記憶裝置及其控制器

Publications (2)

Publication Number Publication Date
TW201133499A TW201133499A (en) 2011-10-01
TWI456579B true TWI456579B (zh) 2014-10-11

Family

ID=44657755

Family Applications (1)

Application Number Title Priority Date Filing Date
TW099109093A TWI456579B (zh) 2010-03-26 2010-03-26 提昇錯誤更正能力之方法以及相關之記憶裝置及其控制器

Country Status (2)

Country Link
US (1) US8560916B2 (zh)
TW (1) TWI456579B (zh)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8516339B1 (en) * 2011-04-01 2013-08-20 Xilinx, Inc. Method of and circuit for correcting adjacent bit errors in a memory
US8972835B1 (en) 2012-06-06 2015-03-03 Xilinx, Inc. Encoding and decoding of information using a block code matrix
US8972833B1 (en) 2012-06-06 2015-03-03 Xilinx, Inc. Encoding and decoding of information using a block code matrix
KR20150091693A (ko) 2014-02-03 2015-08-12 삼성전자주식회사 플래쉬 메모리 읽기 방법
JP6818667B2 (ja) * 2017-09-20 2021-01-20 キオクシア株式会社 メモリシステム
TWI658463B (zh) * 2018-08-23 2019-05-01 群聯電子股份有限公司 資料存取方法、記憶體控制電路單元與記憶體儲存裝置
TWI677878B (zh) * 2018-10-12 2019-11-21 慧榮科技股份有限公司 編碼器及相關的編碼方法與快閃記憶體控制器
JP2021086406A (ja) * 2019-11-28 2021-06-03 ソニーセミコンダクタソリューションズ株式会社 コントローラおよび記憶装置
CN114765054B (zh) * 2021-01-14 2024-05-14 长鑫存储技术有限公司 纠错***
JP7454676B2 (ja) 2021-01-14 2024-03-22 チャンシン メモリー テクノロジーズ インコーポレイテッド 記憶システム
JP2023512892A (ja) 2021-01-14 2023-03-30 チャンシン メモリー テクノロジーズ インコーポレイテッド 比較システム
US11599417B2 (en) 2021-01-14 2023-03-07 Changxin Memory Technologies, Inc. Error correction system
EP4071762B1 (en) * 2021-01-14 2023-07-05 Changxin Memory Technologies, Inc. Error correction system
US11990201B2 (en) 2021-01-14 2024-05-21 Changxin Memory Technologies, Inc. Storage system

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4336612A (en) * 1978-01-17 1982-06-22 Mitsubishi Denki Kabushiki Kaisha Error correction encoding and decoding system
US5107505A (en) * 1988-07-07 1992-04-21 Schlumberger Industries Circuit of encoding and formatting data for rotating head recorders
US5459850A (en) * 1993-02-19 1995-10-17 Conner Peripherals, Inc. Flash solid state drive that emulates a disk drive and stores variable length and fixed lenth data blocks
US5986933A (en) * 1996-12-17 1999-11-16 Kabushiki Kaisha Toshiba Semiconductor memory device having variable number of selected cell pages and subcell arrays
US20070220406A1 (en) * 2006-01-16 2007-09-20 Sirf Technology, Inc. Method and apparatus for memory optimization in mpe-fec system
US20080163023A1 (en) * 2007-01-03 2008-07-03 Si-Hoon Hong ECC controller for use in flash memory device and memory system including the same
US20090055580A1 (en) * 2007-08-21 2009-02-26 Microsoft Corporation Multi-level dram controller to manage access to dram
US20090327839A1 (en) * 2008-06-25 2009-12-31 Chi-Weon Yoon Flash memory device using ecc algorithm and method of operating the same
US20100058151A1 (en) * 2008-08-26 2010-03-04 Spansion Llc Implementation of recycling unused ecc parity bits during flash memory programming

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5787267A (en) * 1995-06-07 1998-07-28 Monolithic System Technology, Inc. Caching method and circuit for a memory system with circuit module architecture
US6167486A (en) * 1996-11-18 2000-12-26 Nec Electronics, Inc. Parallel access virtual channel memory system with cacheable channels
US6343297B1 (en) * 1998-12-30 2002-01-29 International Business Machines Corporation Methods, systems and computer program products for providing document management for software development systems
US6708254B2 (en) * 1999-11-10 2004-03-16 Nec Electronics America, Inc. Parallel access virtual channel memory system
US6614443B1 (en) * 2000-02-29 2003-09-02 Micron Technology, Inc. Method and system for addressing graphics data for efficient data access
US20020065857A1 (en) * 2000-10-04 2002-05-30 Zbigniew Michalewicz System and method for analysis and clustering of documents for search engine
US7133862B2 (en) * 2001-08-13 2006-11-07 Xerox Corporation System with user directed enrichment and import/export control
US6992934B1 (en) * 2005-03-15 2006-01-31 Silicon Storage Technology, Inc. Read bitline inhibit method and apparatus for voltage mode sensing

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4336612A (en) * 1978-01-17 1982-06-22 Mitsubishi Denki Kabushiki Kaisha Error correction encoding and decoding system
US5107505A (en) * 1988-07-07 1992-04-21 Schlumberger Industries Circuit of encoding and formatting data for rotating head recorders
US5459850A (en) * 1993-02-19 1995-10-17 Conner Peripherals, Inc. Flash solid state drive that emulates a disk drive and stores variable length and fixed lenth data blocks
US5986933A (en) * 1996-12-17 1999-11-16 Kabushiki Kaisha Toshiba Semiconductor memory device having variable number of selected cell pages and subcell arrays
US20070220406A1 (en) * 2006-01-16 2007-09-20 Sirf Technology, Inc. Method and apparatus for memory optimization in mpe-fec system
US20080163023A1 (en) * 2007-01-03 2008-07-03 Si-Hoon Hong ECC controller for use in flash memory device and memory system including the same
US20090055580A1 (en) * 2007-08-21 2009-02-26 Microsoft Corporation Multi-level dram controller to manage access to dram
US20090327839A1 (en) * 2008-06-25 2009-12-31 Chi-Weon Yoon Flash memory device using ecc algorithm and method of operating the same
US20100058151A1 (en) * 2008-08-26 2010-03-04 Spansion Llc Implementation of recycling unused ecc parity bits during flash memory programming

Also Published As

Publication number Publication date
TW201133499A (en) 2011-10-01
US8560916B2 (en) 2013-10-15
US20110239082A1 (en) 2011-09-29

Similar Documents

Publication Publication Date Title
TWI456579B (zh) 提昇錯誤更正能力之方法以及相關之記憶裝置及其控制器
JP5017407B2 (ja) 半導体記憶装置
CN103544073B (zh) 读取闪存中区块的数据的方法及相关的记忆装置
US8065583B2 (en) Data storage with an outer block code and a stream-based inner code
US8850296B2 (en) Encoding method and system, decoding method and system
US9984771B2 (en) Multi-level raid-type encoding with random correction capability
KR102108386B1 (ko) 저장 장치 및 그것의 데이터 엔코딩 및 디코딩 방법들
US8713407B2 (en) Semiconductor memory system having ECC circuit and controlling method thereof
US20080082897A1 (en) Soft-Input Soft-Output Decoder for Nonvolatile Memory
TWI494923B (zh) 使用交錯方式的記憶體系統及其方法
KR20170056407A (ko) 데이터의 인코딩과 디코딩을 위한 메모리 시스템
US10848184B2 (en) Method for controlling storage device with aid of error correction and associated apparatus
US9654147B2 (en) Concatenated error correction device
EP3513497A1 (en) Apparatuses and methods for staircase code encoding and decoding for storage devices
US11016844B2 (en) Error correction code structure
US10142419B2 (en) Erasure correcting coding using data subsets and partial parity symbols
TWI702606B (zh) 具有階層式錯誤校正碼層的記憶體裝置
CN104572334A (zh) 解码方法、存储器存储装置与存储器控制电路单元
US9960788B2 (en) Memory controller, semiconductor memory device, and control method for semiconductor memory device
CN111696615A (zh) 存储器***和操作存储器***的方法
CN104269190B (zh) 存储器的数据校验方法
US20150200686A1 (en) Encoding device, decoding device, and operating method thereof
US11231994B2 (en) Memory system and method of controlling nonvolatile memory
JP6818667B2 (ja) メモリシステム
WO2015016879A1 (en) Operating a memory unit