TW201142860A - Configurable coding system and method of multiple ECCs - Google Patents

Configurable coding system and method of multiple ECCs Download PDF

Info

Publication number
TW201142860A
TW201142860A TW099121756A TW99121756A TW201142860A TW 201142860 A TW201142860 A TW 201142860A TW 099121756 A TW099121756 A TW 099121756A TW 99121756 A TW99121756 A TW 99121756A TW 201142860 A TW201142860 A TW 201142860A
Authority
TW
Taiwan
Prior art keywords
parameter
error correction
configurable
error
codec
Prior art date
Application number
TW099121756A
Other languages
English (en)
Other versions
TWI445009B (zh
Inventor
Yu-Shuen Tang
Chuang Cheng
Original Assignee
Skymedi Corp
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 Skymedi Corp filed Critical Skymedi Corp
Publication of TW201142860A publication Critical patent/TW201142860A/zh
Application granted granted Critical
Publication of TWI445009B publication Critical patent/TWI445009B/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/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
    • 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
    • G06F11/1016Error in accessing a memory location, i.e. addressing error
    • 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
    • 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/35Unequal or adaptive error protection, e.g. by providing a different level of protection according to significance of source information or by adapting the coding according to the change of transmission channel characteristics
    • H03M13/353Adaptation to the channel
    • 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
    • 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/6508Flexibility, adaptability, parametrability and configurability of the implementation
    • H03M13/6511Support of multiple decoding rules, e.g. combined MAP and Viterbi decoding
    • 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/6508Flexibility, adaptability, parametrability and configurability of the implementation
    • H03M13/6513Support of multiple code types, e.g. unified decoder for LDPC and turbo 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/65Purpose and implementation aspects
    • H03M13/6508Flexibility, adaptability, parametrability and configurability of the implementation
    • H03M13/6516Support of multiple code parameters, e.g. generalized Reed-Solomon decoder for a variety of generator polynomials or Galois fields
    • 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
    • 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
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • H03M13/152Bose-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)
  • Mathematical Physics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Detection And Correction Of Errors (AREA)
  • Error Detection And Correction (AREA)

Description

201142860 六、發明說明: 【發明所屬之技術領域】 [0001] 本發明係有關編碼’特別是關於一種適用於記憶體裝置 的多重錯誤更正碼(ECC)之可配置編螞系統及方法。 【先前技術】 [0002] 由於一般的非揮發性記憶體裝置(n〇n、VQlatile memory),例如快閃記憶體(flash memory),容易產生 錯誤(error-prone),故通常會配置編解碼器 (encoder/decoder或codec),用以更正記憶體存取時 ^ 所產生的錯誤。目前所發展的各種快P4I&憶體類型,各 具不同的資料長度及檢查碼長度。在某些應用中,同一 個快閃s己憶體控制器必須t支极不同類型的伊閃記憶體 ’用以破保所有快閃記憶體的資料正確.性..β換句話說, 編解碼器必須具有多重錯誤更正碼的可配置功能。 [0003] 然而,若要使用多重錯誤更正碼,則必須使用各種參數 來初始化編解碼器,而部分的參數長度卻是相當長的, Q 因而會增加編解碼器或快閃記憶體控制器的電路面積。 再者’儲存參數於編解碼器或控制器中會使得電路的設 計缺乏彈性。 [0004] 鑑於傳統編解碼器不能對快閃記憶體有效率地且經濟地 提供多重錯誤更正碼,因此亟需提出一種新穎的編碼系 統及方法’在不增加成本的前提下’能減輕編解瑪器對 於儲存大量參數的負擔。 【發明内容】 [0005] 鑑於上述,本發明實施例之目的之一在於提出一種適用 099121756 表單編號Α0101 第3頁/共27頁 0992038285-0 201142860 於記憶體裝置的多重錯誤更正碼(E C C )之可配置編碼系統 及方法,用以有效且經濟地提供無誤(error-free)的 參數。 [0006] 根據本發明第一實施例,錯誤更正碼(ECC)編解碼器選 擇地使用不同參數以進行各種錯誤更正。使用至少一無 誤儲存裝置以儲存無誤參數,其中,一選擇無誤參數從 儲存裝置下載到ECC編解碼器,用以對ECC編解碼器進行 初始化。 [0007] 根據本發明第二實施例,ECC編解碼器選擇地使用不同參 數以進行各種錯誤更正。使用外部記憶體裝置以儲存不 同參數。輔助編解碼器從外部記憶體裝置中選擇並下載 儲存參數其中之一。輔助編解碼器根據内建參數以更正 下載參數,因而產生無誤參數以提供給ECC編解碼器,用 以對ECC編解碼器進行初始化。 [0008] 根據本發明第三實施例,ECC編解碼器選擇地使用不同參 數以進行各種錯誤更正。使用無誤儲存裝置以儲存無誤 固定參數,其被下載至ECC編解碼器,用以對其進行初始 化。外部記憶體裝置儲存不同參數。ECC編解碼器從外部 記憶體裝置中選擇並下載儲存參數其中之一,並根據固 定參數以更正下載參數,因而產生無誤參數。 【實施方式】 [0009] 第一A圖顯示本發明實施例之多重錯誤更正碼(error correcting code, ECC)的可配置編解碼器 (configurable codec)10之功能方塊圖,其可適用於 記憶體裝置12a-12n。在本實施例中,編解碼器10可使 099121756 表單編號 A0101 第 4 頁/共 27 頁 0992038285-0 201142860 用其中的一種錯誤更正碼來更正錯誤。例如,編解碼器 10可切換成第一錯誤更正碼用於第一記憶體裝置12a,並 於下一次切換成第二錯誤更正碼用於第二記憶體裝置12b 。編解碼器10可以是控制器1的一部分,或者與控制器1 分開。控制器1或編解碼器10更可受電腦14的控制。本實 施例之記憶體裝置12a-12n可為易錯(error-prone)的 記憶體裝置,例如快閃記憶體,其在一般操作下必須仰 賴錯誤更正碼來更正所產生的錯誤位元。 〇 [_] 在本實施例中,編解碼器10主要包括編碼器 (encoder)lOO及/或解碼器(decodef*)102。換句話說 ,編解碼器10可包括編碼器100和解碼器102,也可只包 括其中之一。 [0011] 0 第一B圖方塊圖顯示第一A圖的另一種實施例之用於記憶 體裝置12之多重錯誤更正碼的可配置編解碼器10。在本 實施例中,記憶體裝置12包含非揮發性記憶體單元陣列 ,其分割成多個區塊(block),每一區塊又包含多頁 (page)。編解碼器10可使用不同的錯誤更正碼來分別更 正所對應頁(或區塊)的錯誤。 [0012] 第二A圖顯示本發明第一實施例之多重錯誤更正碼的可配 置編碼系統20之功能方塊圖,其適用於記憶體裝置,例 如非揮發性記憶體(如快閃記憶體)22a-22n。第二B圖 顯示第一實施例之用於記憶體裝置之多重錯誤更正碼的 可配置編碼方法之流程圖。 [0013] 在本實施例中,編碼系統20包括一錯誤更正碼(ECC)編 099121756 表單編號A0101 第5頁/共27頁 0992038285-0 201142860 解碼器2GG ’其可經配置用以對不同的非揮發性記憶體 22a-22n進行不同的錯誤更正。編碼系統2〇更包括多個 無誤(error〜free)之儲存裝置SM_SDn,用以分別儲存 不同錯誤更正馬的參數,因而可提供無誤的參數終F 解碼器200。在—實施例中,每—個無誤之儲存裝置、 SDl-SDn可以是靜態隨機存取記憶體(SRAM)或唯讀記憶 體(ROM)。儲存裝置邡卜SDn中所儲存的參數係用於 編解碼器200的初始化或其組態(c〇nfiguring )。本說明書中所述之無誤儲存裝置SD卜SDn,其錯誤率 遠小於ECC編解碼器2〇〇的錯誤率、換句話說,在實際的 應用中,儲存裝置SDl-SDn的錯誤機率是可被忽略的。 [0014] 於步驟201,儲存參數於儲存裝置SIH_SDn中。例如編 碼系統20在出廠前,即先儲存參數於儲存裝置(如唯讀記 憶體)SDl-SDn中;或者,可在使用者端藉由電腦14 (第 一A圖)將參數儲存至儲存裝置p卜SDn(如靜態隨機存 取記憶體)中。接著,於步驟202,使用者選出其中一個 可配置錯誤更正碼。之後,於步驟203a_2〇3nt,從相 應之儲存裝置(SD1,SD2…或SDn)中,將所選到之參數 ’例如初始化所需之錯誤更正碼’下载到ECC編解碼器 200。於完成初始化之後,於步驟2〇4,Ecc編解碼器2〇〇 開始對相應之非揮發性記憶體(22a,22b…或22η)或 非揮發性記憶體(22a,22b…或22η)的相應頁(或區 塊)的資料進行編碼及/或解碼。舉例來說,如果選擇了 第二錯誤更正碼,則從第二儲存裝置SD2下載參數,而 ECC編解碼器200即可開㈣第二非揮發性記憶體挪進 099121756 表單編號A0101 第6頁/共27頁 0992038285-0 201142860 行編碼及/或解碼。於另一個例子中,若選*擇了其中—個 錯誤更正碼,則從相應之儲存裝置(SD1,SD2 ...或 SDn)下載參數,而ECC編解碼器2〇〇即可對相應之非揮發 性記憶體(22a,22b…或22η)的至少一頁(或區塊)之 貧料進行編碼及/或解碼β [0015] 根據上述第一實施例,ECC編解碼器2〇〇的錯誤更正碼可 藉由將新的參數取代先前的參數而輕易地進行配置或改 變,其中新的參數可從儲存裝置SD1_SDn下載。藉此, ECC編解碼器200本身即無須儲存大量的參數。 Ο [0016] 第二C圖方塊圖顯示第二A圖的另一種實施例,其為可用 於記憶體裝置之多重錯誤更正碼的可配置編碼系統別^。 第二D圖顯不第二C圖實施例之用於記憶體裝置之多重錯 誤更正碼的可配置編碼方法之流程圖❶ [0017] 本實施例的編碼系統20B類似於編碼系統2〇,不同的是, 僅使用-個無誤儲存裝置SD來儲料同德更正碼: ^於步職重⑽更正碼的參贿存於儲存 〇 裝置SD °例如’不同錯誤更正碼的參數係對應至儲存裝 置SD上的不同位址。接著,於步驟2〇2β,選擇其中—個 可配置錯誤更正碼。於步驟203Ba_2〇3Bn,初始化所需 的參數可藉由定址方法自儲存|置仙下載。完成初始化 後,於步驟204B,ECC編解瑪器2〇〇開始對相應之非揮發 性記憶體(22a,咖...或Μη)或非揮發性記憶體 (22a,22b ...或22n)的相應頁(或區機)的資料進行編 瑪及/或解碼。 099121756 表單編號A0101 第7頁/共27頁 0992038285-0 201142860 [0018] 第三A圖顯示本發明第二實施例之多重錯誤更正碼的可配 置編碼系統30之功能方塊圖,其適用於記憶體裝置,例 如非揮發性記憶體(如快閃記憶體)22a-22n。第三B圖 顯示第二實施例之用於記憶體裝置之多重錯誤更正碼的 可配置編碼方法之流程圖。
[0019] 在本實施例中,編碼系統30包括第一 ECC編解碼器300A ,其可經配置用以對不同的非揮發性記憶體22a-22n進行 不同的錯誤更正。編碼系統30更包括第二(或輔助)ECC編 解碼器300B,其可從易錯(error-prone)的外部記憶體 裝置(如非揮發性記憶體)下載第一ECC編解碼器300A初 始化所需的參數。其中,儲存參數之非揮發性記憶體可 以是前述非揮發性記憶體22a-22n的其中一個,或者是其 他的非揮發性記憶體。 [0020] 值得注意的是,第二ECC編解碼器300B可無須進行初始化 ,即能更正所下載參數的錯誤。舉例來說,第二ECC編解 碼器300B具有内建之參數,因而能夠進行錯誤更正。接 著,第二ECC編解碼器300B即將已更正或無誤的參數傳送 給第一 ECC編解碼器300A。 [0021] 於步驟301,將參數事先儲存(或更新)於一或多個(易錯 的)非揮發性記憶體(22a,22b…或22η)中。隨後, 於步驟302,使用者從非揮發性記憶體下載所儲存之相應 參數至第二ECC編解碼器300Β。接著,於步驟303,第二 ECC編解碼器300Β對所下載的參數進行錯誤更正。接著於 步驟304中,將已更正的參數傳送至第一 ECC編解碼器 3 0 0 Α以利相關的初始化。於完成初始化後,於步驟3 0 5, 099121756 表單編號A0101 第8頁/共27頁 0992038285-0 201142860 第ECC編解碼器3〇Η開始對相應之非揮發性記憶體 (2 2 a 2 ? Ή ' 或22η)資料進行編碼及/或解碼。舉例 來忒,如果下載之參數係相應於第二錯誤更正碼,則第 、ECC編解媽器3_即可開始對第二非揮發性記憶體咖 進行編碼及/或解碼。 [0022] Ο 實施例具有第—實施例的優點,亦即,無須儲存大 量的參數。相較於第—實施例,由於各種錯誤更正碼的 參數係儲存於非揮發性記憶體,例如非揮發性記憶體的 備用儲存m因此本實滅對於參數賴存成本遠小 於無誤儲存裝置的錄存成本。此夕卜第二實施例具有兩 個ECC編解碼器300A、3〇〇B可資使用。例如第一Ecc編 解碼器300A可作為低密度同位元檢查碼(low-density parity-check’ LDPC)的編解碼器,而第二ECC編解碼 器 300B可作為BCH(其係由 B〇se,Ray-|;haudhuri 及 Hocquenghem所發明)的編解碼器。 [0023] 第四A圖顯示本發明第|實施例之多重錯誤更正碼的可配 置編碼系統40之功能方塊圖,其適用於記憶體裝置,例 如非揮發性記憶體(如快閃記憶體)22a-22n。第四B圖 顯示第三實施例之用於記憶體裝置之多重錯誤更正碼的 可配置編碼方法之流程圖。 [0024] 在本實施例中,編碼系統40包括ECC編解碼器400A,其 可經配置用以對不同的非揮發性記憶體22a-22n進行不同 的錯誤更正。編碼系統40更包括一儲存裝置400B,如靜 態隨機存取記憶體(SRAM)或唯讀記憶體(ROM),用以儲 存(無誤的)固定參數。根據固定參數,ECC編解碼器 099121756 表單編號A0101 第9頁/共27頁 0992038285-0 201142860 400A可從易錯(error-prone)的外部記憶體裝置(如非 揮發性s己憶體)下載並更正初始化所需之參數。值得注意 的是,ECC編解碼器4〇〇A可使用固定參數以更正所下載參 數的錯誤。其中,儲存參數之非揮發性記憶體可以是前 述非揮發性§己憶體22a-22n的其中一個,或者是其他的非 揮發性記憶體。 [0025] [0026] [0027] 099121756 於步驟4G1 ’將參數事先儲存(或更新)於一或多個(易錯 的)非揮發性記憶體(22a,22b,…,22n)中。接著, 於乂驟402藉由固定參數來初始化ECC編解碼器400A。 之後’使用者從非揮發性記憶體下載相 應之參數至ECC編 解碼WGGA(步驟4〇3)。於步驟綱,編解碼器綱a 根據固❹數對下-參數進行錯誤更正。默編解碼器 400A根據已更正參數& 双凡成初始化之後,於步驟4〇5,ECC 編解碼器400A開始料知Λ ^ . 宁相應之非揮發性記憶體(22a,22b •或22η)資料進行編级位 載之參數係相心第、ΐ解碼。舉例來說,如果下 即可開始對第二非揮更正碼,則道編解碼器4他 。 性§己憶也2 2 b進行編碼及/或解碼 第三實施例具有第— 量的參數。此外,第例的優點’亦即’無須儲存大 ,亦即,儲存參數至例也具有第二實施例的優點 參數至無誤健存襄發性記憶體的成本遠小於儲存 相康例中選擇低密度同位元檢查碼(ldpc )用以對 ::記愧體的資料進行編解 用產生矩陣(gene 水兄便 表單蝙號A〇1〇1 . mg matrix)對資料進行編碼, 0992038285-0 第10頁/共27頁 201142860 且使用同位元檢查碼矩陣(parity check matrix)對 接收信號進行解碼。在硬體實作上,用以初始化編碼器 之產生矩陣所需要的參數相當大;同樣地,用以初始化 解碼器之同位元檢查碼矩陣所需要的參數也相當大。為 了支援多重錯誤更正碼,系統必須對每一種LDPC儲存不 同的矩陣。根據上述第二和第三實施例,可從非揮發性 記憶體下載這些矩陣,因而使系統在設計上更具彈性, 且減少編碼系統之成本。 〇 [0028] 以上所述僅為本發明之較佳實施例而已,並非用以限定 本發明之申請專利範圍;凡其它未脫離發明所揭示之精 神下所完成之等效改變或修飾,均應包含在下述之申請 專利範圍内。 【圖式簡單說明】 [0029] 第一 A圖方塊圖顯示本發明實施例之用於記憶體裝置之多 重錯誤更正碼的可配置編解碼器。 第一B圖方塊圖顯示第一A圖的另一種實声例之用於記憶 體裝置之多重錯誤更正碼的可配置編解碼器。 第二A圖方塊圖顯示本發明第一實施例之用於記憶體裝置 之多重錯誤更正碼的可配置編碼系統。 第二B圖流程圖顯示第一實施例之用於記憶體裝置之多重 錯誤更正碼的可配置編碼方法。 第二C圖方塊圖顯示第二A圖的另一種實施例,其可用於 記憶體裝置之多重錯誤更正碼的可配置編碼系統。 第二D圖顯示第二C圖實施例之用於記憶體裝置之多重錯 誤更正碼的可配置編碼方法之流程圖。 099121756 表單編號 A0101 第 11 頁/共 27 頁 0992038285-0 201142860 第三A圖方塊圖顯示本發明第二實施例之用於記憶體裝置 之多重錯誤更正碼的可配置編碼系統。 第三B圖流程圖顯示第二實施例之用於記憶體裝置之多重 錯誤更正碼的可配置編碼方法。 第四A圖方塊圖顯示本發明第三實施例之用於記憶體裝置 之多重錯誤更正碼的可配置編碼系統。 第四B圖流程圖顯示第三實施例之用於記憶體裝置之多重 錯誤更正碼的可配置編碼方法。 【主要元件符號說明】 [0030] 099121756 1 控制器 10 編解碼器 100 編碼器 102 解碼器 12 記憶體裝置 12a-12n 記憶體裝置 14 電腦 20 可配置編碼系統 2 0 B 可配置編碼糸統 22a-22n 非揮發性記憶體 200 錯誤更正碼編解碼器 201-204 步驟 201B-204B 步驟 30 可配置編碼系統 300A 第一錯誤更正碼編解碼器 300B 第二錯誤更正碼編解碼器 301 -305 步驟 表單編號A0101 第12頁/共27頁 0992038285-0 201142860 40 可配置編碼系統 400A 錯誤更正碼編解碼器 400B 儲存裝置 401-405 步驟 SDl-SDn 儲存裝置 SD 儲存裝置 099121756 表單編號A0101 第13頁/共27頁 0992038285-0

Claims (1)

  1. 201142860 七 申請專利範圍: •一種多重錯誤更正碼的可配置編碼系統,包含: 一錯誤更正碼([)編解碼器,係選擇地使用不同 參數以進行不同的錯誤更正;及 Γ參數提供裝置,其提供1擇參數給該[編解竭器, 以初始化該ECC編解碼器; 其中,用以初始化該ECC編解碼器的該參數係為無誤 CerrOir-f ree)參數。 .如申請專利範圍第!項所述多
    么比„ ^ 至禅决吏正碼的可配置編碼 =:相C編解碼器包含-編碼器、-解碼器或其 • ^申請專利範圍第i項所述多重錯誤更 系統’其中該咖編解碼器對以下之—進行錯誤更H 揮發性記憶體至少一頁之資 & 、枓、非揮發性記憶體至少一H 塊的資料、非揮發性情 ㈣“體之續或上述之組合。 .如申明專利範圍第3項所述多 棋 ”:該非揮發性記憶體為-快_己憶體。 % .圍第1項所述多重錯誤更正碼的可配置編碼 系統,/、中該參數提供裝置包含: 至少一無誤儲存裝置,用以分別儲存該無誤參數,於 進打錯錢k前,麟擇讀朗 ECC編解碼器。 m η .如申請專利範圍第5項所述多 ,..# ^ 3誤更正碼的可配置編碼 糸統,其中该儲存裝置為— ^ 隨機存取記憶體(SRAM) 或一唯項3己憶體(ROM)。 099121756 表單編號A0101 第14頁/共27頁 0992038285-0 201142860 •申月專利知*圍第1項所述多重錯誤更正碼的可配置編碼 系統,其中該參數提供襄置包含: 卜。P。己憶體裝置’用以儲存該不同參數;及 解碼n ’用以從該外部記憶體裝置中選擇並下載 該儲存參數其中之 、5辅助編解瑪器根據一内建參數以更正該下載參數 而產生該無誤參數以提供給該ECC編解碼器。 申月專利範圍第7項所述多重錯誤更正碼的可配置編碼 $外部記憶财置絲一非揮發性記憶體。 9 · Μ#專利範11第1項所述多重錯誤更#瑪的可配置編碼 系統,其中該參數提供裝置包含: 無誤儲存裝置,用以儲存一無誤固定參數,該固定 參被下載至該ECC編解碼器,用以對其進行初始化;及 外4 3己憶體裝置,用以儲存該不同參數; 其中’該ECC編解碼器從該外部記憶體裝置中選擇並下載 該儲存參數其中之一,並根據該固定參數诫更正該下載參 數,因而產生該無誤參數。 Ο ^主 10 .如申凊專利範圍第9項所述多重錯誤更正碼的可配置編碼 系統’其中該儲存裝置為一靜態隨機存取記憶體(SRAM) 或一唯讀記憶體(ROM),且該外部記憶體裝置為一非揮發 性記憶體。 11 · 一種多重錯誤更正碼的可配置編碼方法,包含: 儲存複數個不同之參數; 提供一選擇參數至一錯誤更正碼(ECC)編解碼器,以初 始化該ECC編解碼器;及 根據該選擇參數以選擇地執行錯誤更正; 099121756 表單編號 Λ0101 第 15 頁/共 27 頁 0992038285-0 201142860 其中,用以初始化該ECC編解碼器的該參數係為無誤 (error-free)參數。 12 13 14 . 15 . 16 . 17 . 18 . 19 . 099121756 •如申料職圍第U销述多重錯誤更正碼的可配置編碼 方法,其中該ECC編解碼器執行編碼、解碼、或1组合。 .如申請專利範圍第⑴員所述多重錯誤更正碼的可配置編碼 方法’係對以下之-進行錯誤更正:非揮發性記憶體至少 -頁之資料、非揮發性記憶體至少_區塊的資料、非揮發 性記憶體之資料或上述之組合。 如申請專利範圍第13項所述多重錯誤更正碼的可配置編碼 方法,其中該非揮發性記憶體為一快閃記憶體。 如申a月專利I巳圍第11項所述多重錯誤更正碼的可配置編碼 方法其中該不同參數係儲存於至少一無誤健存裝置中, 於進行該錯誤更正之前,該選擇參數從該儲存裝置下載到 該ECC編解碼器。 如申明專利範圍第15項所述多重錯誤更正碼的可配置編碼 方法,其中該儲存裝置為一靜態隨機存取記憶體(SRAM) 或一唯讀記憶體(ROM)。 如申專利範圍第Π項所述多重錯誤更正碼的可配置編碼 方法,其中該不同參數儲存於一外部記憶體裝置,且一輔 助編解碼器從該外部記憶體裝置中選擇纟下載該儲存參數 其中之一; 其中,該輔助編解碼器根據一内建參數以更正該下載參數 ,因而產生該無誤參數以提供給該ECC編解碼器。 如申请專利範圍第17項所述多重錯誤更正碼的可配置編碼 方法,其中該外部記憶體裝置為一非揮發性記憶體。 如申清專利範圍第11項所述多重錯誤更正碼的可配置編碼 第16頁/共27頁 表單編號A0101 201142860 方法,其中該不同參數儲存於一外部記憶體裝置,且一無 誤儲存裝置儲存一無誤固定參數,該固定參數被下載至該 ECC編解碼器,用以對其進行初始化; 其中,該ECC編解碼器從該外部記憶體裝置中選擇並下載 該儲存參數其中之一,並根據該固定參數以更正該下載參 數,因而產生該無誤參數。 20 .如申請專利範圍第19項所述多重錯誤更正碼的可配置編碼 方法,其中該儲存裝置為一靜態隨機存取記憶體(SRAM)
    或一唯讀記憶體(ROM),且該外部記憶體裝置為一非揮發 性記憶體。 Ο 099121756 表單編號A0101 第17頁/共27頁 0992038285-0
TW099121756A 2010-05-17 2010-07-01 多重錯誤更正碼的可配置編碼系統及方法 TWI445009B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US12/781,744 US8762813B2 (en) 2010-05-17 2010-05-17 Configurable coding system and method of multiple ECCS

Publications (2)

Publication Number Publication Date
TW201142860A true TW201142860A (en) 2011-12-01
TWI445009B TWI445009B (zh) 2014-07-11

Family

ID=44912800

Family Applications (1)

Application Number Title Priority Date Filing Date
TW099121756A TWI445009B (zh) 2010-05-17 2010-07-01 多重錯誤更正碼的可配置編碼系統及方法

Country Status (3)

Country Link
US (2) US8762813B2 (zh)
CN (1) CN102298969B (zh)
TW (1) TWI445009B (zh)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110307758A1 (en) * 2010-06-15 2011-12-15 Fusion-Io, Inc. Apparatus, system, and method for providing error correction
US8854236B2 (en) 2012-05-18 2014-10-07 Micron Technology, Inc. Methods and apparatuses for low-power multi-level encoded signals
US9600359B2 (en) 2012-05-31 2017-03-21 Hewlett Packard Enterprise Development Lp Local error detection and global error correction
KR101944793B1 (ko) * 2012-09-04 2019-02-08 삼성전자주식회사 플래시 메모리를 포함하는 플래시 메모리 시스템 및 그것의 비정상 워드 라인 검출 방법
US8972826B2 (en) * 2012-10-24 2015-03-03 Western Digital Technologies, Inc. Adaptive error correction codes for data storage systems
CN104810056A (zh) * 2015-03-05 2015-07-29 华南理工大学 一种基于自适应ldpc码的nand闪存差错控制器
US9922686B2 (en) 2016-05-19 2018-03-20 Micron Technology, Inc. Apparatuses and methods for performing intra-module databus inversion operations
KR102479212B1 (ko) 2016-08-17 2022-12-20 삼성전자주식회사 반도체 메모리 장치, 이를 포함하는 메모리 시스템 및 이의 동작 방법
CN108255633B (zh) * 2016-12-28 2021-07-30 旺宏电子股份有限公司 存储控制方法、存储装置
US10146719B2 (en) 2017-03-24 2018-12-04 Micron Technology, Inc. Semiconductor layered device with data bus
CN108053860A (zh) * 2018-01-12 2018-05-18 江苏华存电子科技有限公司 一种编译码系统使用多种错误纠正码组合的方法
US10664432B2 (en) 2018-05-23 2020-05-26 Micron Technology, Inc. Semiconductor layered device with data bus inversion
US10964702B2 (en) 2018-10-17 2021-03-30 Micron Technology, Inc. Semiconductor device with first-in-first-out circuit
US11990199B2 (en) * 2021-01-21 2024-05-21 Micron Technology, Inc. Centralized error correction circuit

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5428627A (en) * 1992-11-10 1995-06-27 Qlogic Corporation Method and apparatus for initializing an ECC circuit
JP3937214B2 (ja) * 1999-09-17 2007-06-27 株式会社ルネサステクノロジ エラー訂正回数を記録する記憶装置
US7206891B2 (en) * 2002-09-26 2007-04-17 Lsi Logic Corporation Multi-port memory controller having independent ECC encoders
US7162684B2 (en) * 2003-01-27 2007-01-09 Texas Instruments Incorporated Efficient encoder for low-density-parity-check codes
US7065688B1 (en) * 2003-02-19 2006-06-20 Advanced Micro Devices, Inc. Simultaneous multiprocessor memory testing and initialization
US8065598B1 (en) * 2007-02-08 2011-11-22 Marvell International Ltd. Low latency programmable encoder with outer systematic code and low-density parity-check code
US8055982B2 (en) * 2007-02-21 2011-11-08 Sigmatel, Inc. Error correction system and method
CN101281788A (zh) * 2007-04-06 2008-10-08 群联电子股份有限公司 闪存系统及其控制方法
US8356137B2 (en) * 2010-02-26 2013-01-15 Apple Inc. Data storage scheme for non-volatile memories based on data priority

Also Published As

Publication number Publication date
TWI445009B (zh) 2014-07-11
US8762813B2 (en) 2014-06-24
US20110283164A1 (en) 2011-11-17
CN102298969A (zh) 2011-12-28
CN102298969B (zh) 2015-05-13
US20140229795A1 (en) 2014-08-14

Similar Documents

Publication Publication Date Title
TW201142860A (en) Configurable coding system and method of multiple ECCs
KR101417561B1 (ko) 메타데이터 태그를 통한 불규칙적인 패리티 분포 검출
JP5687062B2 (ja) レートコンパチブルパンクチャドコードをサポートするメモリコントローラ
TWI353521B (en) Soft-input soft-output decoder for nonvolatile mem
US8769374B2 (en) Multi-write endurance and error control coding of non-volatile memories
US8769378B2 (en) Controller, a method of operating the controller and a memory system
JP2008165805A (ja) フラッシュメモリ装置のecc制御器及びそれを含むメモリシステム
US10707902B2 (en) Permutation network designing method, and permutation circuit of QC-LDPC decoder
WO2019136976A1 (zh) 一种编译码系统使用多种错误纠正码组合的方法
CN106856103A (zh) 用于与非闪存的涡轮乘积码
CN106169312A (zh) 用于快闪存储的广义乘积码
TW200912942A (en) Error recovery storage along a NAND-flash string
US10445002B2 (en) Data accessing method, memory controlling circuit unit and memory storage device
US10009045B2 (en) Decoding method, memory controlling circuit unit and memory storage device
KR101926608B1 (ko) 경 판정 디코딩 방법 및 이를 이용한 저밀도 패리티 체크 디코더
CN108399108A (zh) 读取操作和软解码时序
KR20170068681A (ko) 데이터 저장 장치 및 그것의 동작 방법
CN111696615A (zh) 存储器系统和操作存储器系统的方法
CN110299182A (zh) 采用连氏错误校正码设计的存储器存储装置及其编码方法
CN108268338B (zh) 逐渐缩减大小的可变节点存储器
TW201220318A (en) Method for enhancing error correction capability, and associated memory device and controller thereof
JP6975047B2 (ja) ライトワンスメモリコードのエラー訂正コード管理
CN107168816B (zh) Ecc帧长调整方法及其装置
KR102369313B1 (ko) 에러 정정 회로, 그것의 동작 방법 및 그것을 포함하는 데이터 저장 장치
US20150149867A1 (en) Storage device and operating method thereof