JP2019057096A - メモリシステム - Google Patents
メモリシステム Download PDFInfo
- Publication number
- JP2019057096A JP2019057096A JP2017180689A JP2017180689A JP2019057096A JP 2019057096 A JP2019057096 A JP 2019057096A JP 2017180689 A JP2017180689 A JP 2017180689A JP 2017180689 A JP2017180689 A JP 2017180689A JP 2019057096 A JP2019057096 A JP 2019057096A
- Authority
- JP
- Japan
- Prior art keywords
- dimension
- chunks
- input
- encoders
- symbol
- Prior art date
- Legal status (The legal status 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 status listed.)
- Granted
Links
Images
Classifications
-
- 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/1068—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 in sector programmable memories, e.g. flash disk
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/52—Protection of memory contents; Detection of errors in memory contents
-
- 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
-
- 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/29—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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
- H03M13/2906—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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block 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/29—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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
- H03M13/2906—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 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/2909—Product 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
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C2029/0411—Online error correction
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)
- Detection And Correction Of Errors (AREA)
- Error Detection And Correction (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
Description
まず、第1の実施形態に係るメモリシステムについて、図面を参照して詳細に説明する。図5は、第1の実施形態に係るメモリシステムの概略構成例を示すブロック図である。図5に示すように、メモリシステム1は、メモリコントローラ10と不揮発性メモリ20とを備える。メモリシステム1は、ホスト30と接続可能であり、図5ではホスト30と接続された状態が示されている。ホスト30は、例えば、パーソナルコンピュータ、携帯端末などの電子機器であってよい。
つぎに、第2の実施形態に係るメモリシステムについて、図面を参照して詳細に説明する。本実施形態に係るメモリシステムの概略構成は、第1の実施形態において図5を用いて説明したメモリシステム1と同様であってよいため、ここでは重複する説明を省略する。ただし、第2の実施形態では、符号化/復号部14における符号化部17が、以下で説明する符号化部に置き換えられる。
つぎに、第3の実施形態に係るメモリシステムについて、図面を参照して詳細に説明する。本実施形態では、上述した実施形態における復号部18のより詳細な構成例について、図面を参照して詳細に説明する。なお、本実施形態に係るメモリシステムの概略構成は、第1の実施形態において図5を用いて説明したメモリシステム1と同様であってよいため、ここでは重複する説明を省略する。
Claims (11)
- 不揮発性メモリと、
前記不揮発性メモリへの書き込み対象であるユーザデータに含まれる複数のシンボルのうち少なくとも1つのシンボルを情報シンボルとして、第1の成分符号と前記第1の成分符号と異なる第2の成分符号とを含む複数の成分符号を生成する符号化器と、
前記複数の成分符号を前記不揮発性メモリへ書き込むメモリインタフェースと、
を備えるメモリシステムであって、
前記符号化器は、
前記複数の成分符号それぞれに対応するパリティを生成する複数の符号化器と、
前記ユーザデータの第1シンボル列を前記第1シンボル列よりも短い第1シンボル長の複数のチャンクに分割し、分割された前記複数のチャンクの各々を前記複数の符号化器のうちの少なくとも異なる2つに入力する第1分配部と、
を備え、
前記メモリインタフェースは、前記第1シンボル列及び前記第1シンボルに対応するパリティを前記不揮発性メモリに書き込む
メモリシステム。 - 前記第1の成分符号は、第1の次元の成分符号であり、
前記第2の成分符号は、前記第1の次元とは異なる第2の次元の成分符号であり、
前記複数の符号化器は、前記第1の次元の成分符号のパリティを生成する1つ以上の第1符号化器と、前記第2の次元の成分符号のパリティを生成する1つ以上の第2符号化器とを含み、
前記第1分配部は、前記チャンクを、前記1つ以上の第1符号化器のいずれかと、前記1つ以上の第2符号化器のいずれかとにそれぞれ入力する
請求項1に記載のメモリシステム。 - 前記複数の成分符号における少なくとも2つの組合せには、前記第1シンボル列における少なくとも1つのシンボルを多重に保護する有効な組合せと、前記第1シンボル列におけるシンボルを多重には保護しない無効な組合せとが存在し、
前記第1分配部は、前記チャンクの数が前記複数の成分符号の前記有効な組合せの数以下である場合、前記複数のチャンクのうち1のチャンクを入力する前記成分符号の符号化器の組合せが、他のチャンクを入力する前記成分符号の符号化器の組合せと重複しないように、前記複数のチャンクそれぞれの入力先となる符号化器の組合せを決定する
請求項1に記載のメモリシステム。 - 前記複数の成分符号における少なくとも2つの組合せには、前記第1シンボル列における少なくとも1つのシンボルを多重に保護する有効な組合せと、前記第1シンボル列におけるシンボルを多重には保護しない無効な組合せとが存在し、
前記第1分配部は、前記チャンクの数が前記複数の成分符号の前記有効な組合せの数よりも大きい場合、前記有効な組合せの全通りに対して前記複数のチャンクのうちの一部のチャンクの入力先を割り当てた後、残りのチャンクに対しては既に前記入力先として割り当てられた組合せと重複する組合せを入力先として決定する請求項1に記載のメモリシステム。 - 前記複数の成分符号における少なくとも2つの組合せには、前記第1シンボル列における少なくとも1つのシンボルを多重に保護する有効な組合せと、前記第1シンボル列におけるシンボルを多重には保護しない無効な組合せとが存在し、
前記第1分配部は、前記チャンクの数が前記複数の成分符号の前記有効な組合せの数よりも大きい場合、前記有効な組合せそれぞれに入力されるチャンクの数の差が所定の閾値以下となるように、前記複数のチャンクそれぞれの入力先となる符号化器の組合せを決定する請求項3に記載のメモリシステム。 - 前記第1分配部は、前記チャンクの数が前記第1の次元の成分符号の符号化器の数より大きい場合、前記複数の第1の次元の成分符号の符号化器それぞれに入力されるチャンクの数の差が所定の閾値以下となるように、前記複数のチャンクそれぞれの入力先となる第1の次元の成分符号の符号化器を決定する請求項2に記載のメモリシステム。
- 前記第1分配部は、前記チャンクの数が前記第2の次元の成分符号の符号化器の数より大きい場合、前記複数の第2の次元の成分符号の符号化器それぞれに入力されるチャンクの数の差が所定の閾値以下となるように、前記複数のチャンクそれぞれの入力先となる第2の次元の成分符号の符号化器を決定する請求項2に記載のメモリシステム。
- 前記第1分配部は、
前記複数のチャンクを前記第1シンボル列の配列に従って順番に前記複数の第1の次元の成分符号の符号化器のいずれかに入力する第1巡回セレクタと、
前記複数のチャンクを前記第1シンボル列の配列に従って順番に前記複数の第2の次元の成分符号の符号化器のいずれかに入力する第2巡回セレクタと、
を備え、
前記第1分配部は、前記第1の次元の成分符号の数と同数のサイクル数の第1周期を前記第1巡回セレクタに設定するとともに、前記第2の次元の成分符号の数と同数のサイクル数の第2周期を前記第2巡回セレクタに設定し、
前記第1巡回セレクタは、前記第1周期の前記サイクル数と同数の前記第1符号化器に前記複数のチャンクを分散して入力し、
前記第2巡回セレクタは、前記第2周期の前記サイクル数と同数の前記第2符号化器に前記複数のチャンクを分散して入力する
請求項2に記載のメモリシステム。 - 前記第1分配部は、前記複数のチャンクと前記複数の成分符号それぞれのパリティとが入力されるセレクタをさらに備え、
前記セレクタは、前記複数の成分符号における第3の成分符号のパリティを計算した後、前記第3の成分符号の前記パリティを、パリティの計算が未だ済んでいない第4の成分符号の符号化器に入力する
請求項2に記載のメモリシステム。 - 前記第1分配部は、前記第1シンボル長以上であって前記第1シンボル列よりも短い第2シンボル長の第2シンボル列を単位として前記ユーザデータを入力し、前記第2シンボル列を前記1つ以上のチャンクに分割する請求項1に記載のメモリシステム。
- 前記第1の成分符号の第1シンドロームを計算する第1シンドローム計算器と、
前記第2の成分符号の第2シンドロームを計算する第2シンドローム計算器と、
前記メモリインタフェースが前記不揮発性メモリから読み出した第3シンボル列を前記第1分配部と同じ前記第1シンボル長の複数のチャンクに分割し、当該分割により生成された前記複数のチャンクのうち前記ユーザデータに対応するチャンク及び前記第1パリティに対応するチャンクを前記第1シンドローム計算器に入力し、前記読出し対象のユーザデータに対応する前記チャンク及び前記第2パリティに対応するチャンクを前記第2シンドローム計算器に入力する第2分配部と、
前記第1シンドローム計算器で計算された前記第1シンドローム及び前記第2シンドローム計算器で計算された前記第2シンドロームを保持するシンドロームメモリと、
前記シンドロームメモリに保持された前記第1シンドローム及び前記第2シンドロームを復号することで、前記シンボル列におけるエラーシンボルを検出し、検出した前記エラーシンボルを訂正するシンドローム復号器と、
を備える請求項1に記載のメモリシステム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017180689A JP6818667B2 (ja) | 2017-09-20 | 2017-09-20 | メモリシステム |
US15/919,809 US11003528B2 (en) | 2017-09-20 | 2018-03-13 | Memory system including an error correction function |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017180689A JP6818667B2 (ja) | 2017-09-20 | 2017-09-20 | メモリシステム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2019057096A true JP2019057096A (ja) | 2019-04-11 |
JP6818667B2 JP6818667B2 (ja) | 2021-01-20 |
Family
ID=65720347
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017180689A Active JP6818667B2 (ja) | 2017-09-20 | 2017-09-20 | メモリシステム |
Country Status (2)
Country | Link |
---|---|
US (1) | US11003528B2 (ja) |
JP (1) | JP6818667B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20200078830A (ko) * | 2018-12-24 | 2020-07-02 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 모듈 |
US11218165B2 (en) * | 2020-05-15 | 2022-01-04 | Alibaba Group Holding Limited | Memory-mapped two-dimensional error correction code for multi-bit error tolerance in DRAM |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110239082A1 (en) * | 2010-03-26 | 2011-09-29 | Tsung-Chieh Yang | 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 |
JP2012123880A (ja) * | 2010-12-10 | 2012-06-28 | Toshiba Corp | 半導体記憶装置 |
US9397706B1 (en) * | 2013-10-09 | 2016-07-19 | Avago Technologies General Ip (Singapore) Pte. Ltd. | System and method for irregular multiple dimension decoding and encoding |
JP2017107390A (ja) * | 2015-12-09 | 2017-06-15 | 株式会社東芝 | ビデオサーバ装置およびデータ書き込み/読み出し方法 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004288283A (ja) | 2003-03-20 | 2004-10-14 | Hitachi Ltd | 情報記録フォーマット、情報記録再生符号化方法・回路およびこれを用いた磁気ディスク記録再生装置、情報記録再生装置、並びに情報通信装置 |
US9270414B2 (en) | 2006-02-21 | 2016-02-23 | Digital Fountain, Inc. | Multiple-field based code generator and decoder for communications systems |
JP2008065969A (ja) | 2006-08-09 | 2008-03-21 | Fujitsu Ltd | 符号化装置、復号化装置、符号化方法、復号化方法および記憶装置 |
US8700970B2 (en) * | 2010-02-28 | 2014-04-15 | Densbits Technologies Ltd. | System and method for multi-dimensional decoding |
US8468431B2 (en) * | 2010-07-01 | 2013-06-18 | Densbits Technologies Ltd. | System and method for multi-dimensional encoding and decoding |
US9300329B2 (en) | 2012-11-08 | 2016-03-29 | Sk Hynix Memory Solutions Inc. | Turbo-product codes (TPC) with interleaving |
US9553611B2 (en) * | 2014-11-27 | 2017-01-24 | Apple Inc. | Error correction coding with high-degree overlap among component codes |
US10417088B2 (en) * | 2017-11-09 | 2019-09-17 | International Business Machines Corporation | Data protection techniques for a non-volatile memory array |
JP2019168897A (ja) * | 2018-03-23 | 2019-10-03 | 東芝メモリ株式会社 | メモリシステム |
-
2017
- 2017-09-20 JP JP2017180689A patent/JP6818667B2/ja active Active
-
2018
- 2018-03-13 US US15/919,809 patent/US11003528B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110239082A1 (en) * | 2010-03-26 | 2011-09-29 | Tsung-Chieh Yang | 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 |
JP2012123880A (ja) * | 2010-12-10 | 2012-06-28 | Toshiba Corp | 半導体記憶装置 |
US9397706B1 (en) * | 2013-10-09 | 2016-07-19 | Avago Technologies General Ip (Singapore) Pte. Ltd. | System and method for irregular multiple dimension decoding and encoding |
JP2017107390A (ja) * | 2015-12-09 | 2017-06-15 | 株式会社東芝 | ビデオサーバ装置およびデータ書き込み/読み出し方法 |
Also Published As
Publication number | Publication date |
---|---|
US11003528B2 (en) | 2021-05-11 |
JP6818667B2 (ja) | 2021-01-20 |
US20190087266A1 (en) | 2019-03-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8239725B2 (en) | Data storage with an outer block code and a stream-based inner code | |
US7900118B2 (en) | Flash memory system and method for controlling the same | |
US10283216B2 (en) | Data storage device and data maintenance method thereof | |
US9465552B2 (en) | Selection of redundant storage configuration based on available memory space | |
EP2823487B1 (en) | Apparatuses and methods including error correction code organization | |
KR102275717B1 (ko) | 플래시 메모리 시스템 및 그의 동작 방법 | |
US20160247581A1 (en) | Memory system, memory controller and memory control method | |
US9274884B2 (en) | Encoding and decoding data to accommodate memory cells having stuck-at faults | |
JP6847796B2 (ja) | メモリシステム | |
US9230684B2 (en) | Memory controller, storage device, and memory control method | |
CN113485867A (zh) | 于记忆装置中进行数据管理的方法、记忆装置及其控制器 | |
CN110349616B (zh) | 针对nand闪存中的位线故障的动态交织器变化 | |
US8949686B1 (en) | Protection against word line failure in memory devices | |
JP6818667B2 (ja) | メモリシステム | |
JP6491482B2 (ja) | 複数のフラッシュ面にわたってコード語をインターリーブするための方法および/または装置 | |
US10951238B1 (en) | Memory system and method for controlling non-volatile memory | |
WO2020028801A1 (en) | Error correction with scatter-gather list data management | |
JP2020046823A (ja) | メモリシステム | |
CN108352845B (zh) | 用于对存储数据进行编码的方法以及装置 | |
US11438015B2 (en) | Two-level error correcting code with sharing of check-bits | |
JP4582078B2 (ja) | メモリコントローラ及びフラッシュメモリシステム、並びにフラッシュメモリの制御方法 | |
US9927990B2 (en) | Memory system, memory controller and memory control method | |
US20190123768A1 (en) | Error correction code (ecc) operations in memory | |
JP2014134843A (ja) | メモリシステム | |
KR102666852B1 (ko) | 컨트롤러, 반도체 메모리 시스템 및 그의 동작 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20180905 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20191126 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20200824 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20200915 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20201106 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20201201 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20201228 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6818667 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |