TW201142860A - Configurable coding system and method of multiple ECCs - Google Patents
Configurable coding system and method of multiple ECCs Download PDFInfo
- 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
Links
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/11—Error 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/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1105—Decoding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding 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/1012—Adding 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/1016—Error in accessing a memory location, i.e. addressing error
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/35—Unequal 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/353—Adaptation to the channel
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/3707—Adaptive decoding and hybrid decoding, e.g. decoding methods or techniques providing more than one decoding algorithm for one code
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/65—Purpose and implementation aspects
- H03M13/6508—Flexibility, adaptability, parametrability and configurability of the implementation
- H03M13/6511—Support of multiple decoding rules, e.g. combined MAP and Viterbi decoding
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/65—Purpose and implementation aspects
- H03M13/6508—Flexibility, adaptability, parametrability and configurability of the implementation
- H03M13/6513—Support of multiple code types, e.g. unified decoder for LDPC and turbo codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/65—Purpose and implementation aspects
- H03M13/6508—Flexibility, adaptability, parametrability and configurability of the implementation
- H03M13/6516—Support of multiple code parameters, e.g. generalized Reed-Solomon decoder for a variety of generator polynomials or Galois fields
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/11—Error 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/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
- H03M13/151—Cyclic 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/152—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)
- 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)
- 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
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)
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)
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 |
-
2010
- 2010-05-17 US US12/781,744 patent/US8762813B2/en active Active
- 2010-07-01 TW TW099121756A patent/TWI445009B/zh active
-
2011
- 2011-05-10 CN CN201110120302.9A patent/CN102298969B/zh active Active
-
2014
- 2014-04-16 US US14/254,530 patent/US20140229795A1/en not_active Abandoned
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 |