JP5330428B2 - データ記憶装置及び誤り検出訂正方法 - Google Patents
データ記憶装置及び誤り検出訂正方法 Download PDFInfo
- Publication number
- JP5330428B2 JP5330428B2 JP2011034601A JP2011034601A JP5330428B2 JP 5330428 B2 JP5330428 B2 JP 5330428B2 JP 2011034601 A JP2011034601 A JP 2011034601A JP 2011034601 A JP2011034601 A JP 2011034601A JP 5330428 B2 JP5330428 B2 JP 5330428B2
- Authority
- JP
- Japan
- Prior art keywords
- error
- data
- error detection
- logical address
- correction
- 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.)
- Expired - Fee Related
Links
Images
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/09—Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
-
- 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/1048—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 arrangements adapted for a specific error detection or correction feature
-
- 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
-
- 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/3746—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 with iterative decoding
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)
Description
図1は、実施形態のデータ記憶装置の構成を示すブロック図である。
以下、図6のフローチャートを参照して、本実施形態のECC処理を説明する。
図7は、ECCエンコーダの一例を示す機能ブロック図である。
なお、シンドローム生成項(syndrome generators)は、X−1,X−αとなる。
また、データ保持要素812に保持される値S1は、下記式(3)により算出される。
ここで、シンドローム補正計算部187によるシンドローム補正計算は、入力データとしてLBA(M)とLBA(C)との違いが有る部分の項を入れ替えることで実現される。
S0+(I2−I2a)(α0)(n−2)…(4)
S1a=S1−I2(α1)(n−2)+I2a(α1)(n−2)=
S1+(I2−I2a)(α1)(n−2)…(5)
以上のように、シンドロームS0,S1を補正する値は、入力データの差分にそれぞれα0及びα1の(入力データ位置)乗を乗じた値を加算すれば容易に算出できることがわかる。
12…マイクロプロセッサ(MPU)、13…コマンド処理モジュール、
14…レジスタ群、15…フラッシュメモリコントローラ、
16…調停モジュール(アービタ)、17,17-1〜17-n…NANDコントローラ、
18,18-1〜18-n…誤り検出訂正モジュール(ECCモジュール)、
19,19-1〜19-n…NAND型フラッシュメモリ(フラッシュメモリ)、
20…ホストシステム。
Claims (9)
- 不揮発性メモリから、リードコマンドに含まれる第1の論理アドレスにより指定されるデータ及び当該データを特定する第2の論理アドレスを読み出すリード手段と、
前記リード手段により読み出されたデータ及び前記第2の論理アドレスに対する誤り検出処理を実行する誤り検出手段と、
前記誤り検出手段による検出結果に基づいて誤り訂正が不能である場合に、前記第1の論理アドレスと前記第2の論理アドレスとに基づいて再度の誤り検出処理を前記誤り検出手段に実行させる制御手段と
を具備するデータ記憶装置。 - 前記制御手段は、
前記第1の論理アドレスと前記第2の論理アドレスとの差分を算出し、
前記差分に基づいて前記再度の誤り検出処理を前記誤り検出手段に実行させる請求項1に記載のデータ記憶装置。 - 前記制御手段は、
前記第2の論理アドレスを前記第1の論理アドレスに変更し、変更後の前記第2の論理アドレスに基づいて前記再度の誤り検出処理を前記誤り検出手段に実行させる請求項1に記載のデータ記憶装置。 - 前記誤り検出手段は、前記データ及び前記第2の論理アドレスに対するシンドローム計算を実行し、当該シンドローム計算結果に基づいて最初の誤り検出処理を行なう手段を含み、
前記制御手段は、
前記差分に基づいて前記シンドローム計算結果を補正し、
前記補正値に基づいて前記再度の誤り検出処理を前記誤り検出手段に実行させる請求項2に記載のデータ記憶装置。 - 前記制御手段は、
前記第2の論理アドレスに対するシンドロームを前記第1の論理アドレスに対するシンドロームに補正する手段を含む請求項4に記載のデータ記憶装置。 - 前記制御手段は、
前記差分がない場合に、前記誤り訂正が不能であることを確定する手段を含む請求項2に記載のデータ記憶装置。 - 前記制御手段は、
前記再度の誤り検出処理による検出結果に基づいて誤り訂正が不能である場合には、前記誤り訂正が不能であることを確定する手段を含む請求項1に記載のデータ記憶装置。 - 前記誤り検出手段は、前記データ及び前記第2の論理アドレスに対するシンドローム計算を実行し、当該シンドローム計算結果に基づいて最初の誤り検出処理を行なう手段を含み、
前記制御手段は、
前記第1の論理アドレスと前記第2の論理アドレスとに基づいて補正した補正後の前記第2の論理アドレス及び前記データに対する前記シンドローム計算を再実行し、
前記再実行後のシンドローム計算結果に基づいて前記再度の誤り検出処理を行なう手段を含む請求項1に記載のデータ記憶装置。 - 不揮発性メモリから、リードコマンドに含まれる第1の論理アドレスにより指定されるデータ及び当該データを特定する第2の論理アドレスを読み出すリード手段を有するデータ記憶装置に適用する誤り検出訂正方法であって、
前記リード手段により読み出されたデータ及び前記第2の論理アドレスに対する誤り検出処理を実行し、
前記誤り検出処理による検出結果に基づいて誤り訂正が不能である場合に、前記第1の論理アドレスと前記第2の論理アドレスとに基づいて再度の誤り検出処理を実行する誤り検出訂正方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011034601A JP5330428B2 (ja) | 2011-02-21 | 2011-02-21 | データ記憶装置及び誤り検出訂正方法 |
US13/301,649 US8732554B2 (en) | 2011-02-21 | 2011-11-21 | Data storage device and method for checking and correcting errors |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011034601A JP5330428B2 (ja) | 2011-02-21 | 2011-02-21 | データ記憶装置及び誤り検出訂正方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012173933A JP2012173933A (ja) | 2012-09-10 |
JP5330428B2 true JP5330428B2 (ja) | 2013-10-30 |
Family
ID=46653769
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011034601A Expired - Fee Related JP5330428B2 (ja) | 2011-02-21 | 2011-02-21 | データ記憶装置及び誤り検出訂正方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US8732554B2 (ja) |
JP (1) | JP5330428B2 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103034603B (zh) * | 2012-12-07 | 2014-06-18 | 天津瑞发科半导体技术有限公司 | 多通道闪存卡控制装置及其控制方法 |
KR102170857B1 (ko) | 2013-08-19 | 2020-10-29 | 삼성전자주식회사 | 저항체를 이용한 비휘발성 메모리 장치의 구동 방법 |
JP2015056198A (ja) | 2013-09-13 | 2015-03-23 | 株式会社東芝 | メモリチップ、記憶装置および読み出し方法 |
JP2020150515A (ja) * | 2019-03-15 | 2020-09-17 | キオクシア株式会社 | 誤り訂正回路及びメモリシステム |
JP2022052089A (ja) | 2020-09-23 | 2022-04-04 | キオクシア株式会社 | メモリシステム及びメモリシステムの制御方法 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0452841A (ja) * | 1990-06-15 | 1992-02-20 | Nec Ibaraki Ltd | 記憶装置 |
JPH04184551A (ja) * | 1990-11-20 | 1992-07-01 | Nec Corp | 電子ディスク装置のデータ復旧方式 |
JPH04239355A (ja) * | 1991-01-14 | 1992-08-27 | Nec Corp | 電子ディスク装置 |
US5398331A (en) * | 1992-07-08 | 1995-03-14 | International Business Machines Corporation | Shared storage controller for dual copy shared data |
JP4239657B2 (ja) * | 2003-04-16 | 2009-03-18 | パナソニック株式会社 | 電子機器 |
CN100407178C (zh) * | 2004-05-19 | 2008-07-30 | 松下电器产业株式会社 | 存储器控制电路、非易失性存储装置及存储器控制方法 |
US7587658B1 (en) * | 2005-01-03 | 2009-09-08 | Sun Microsystems, Inc. | ECC encoding for uncorrectable errors |
JP4840859B2 (ja) * | 2006-05-10 | 2011-12-21 | ルネサスエレクトロニクス株式会社 | 半導体装置、及び起動方法 |
JP5265883B2 (ja) * | 2007-05-24 | 2013-08-14 | 株式会社メガチップス | メモリアクセスシステム |
JP4315461B2 (ja) | 2007-10-30 | 2009-08-19 | 株式会社ハギワラシスコム | ソリッドステートドライブ及びデータ書き込み方法 |
JP4675984B2 (ja) | 2008-02-29 | 2011-04-27 | 株式会社東芝 | メモリシステム |
JP2010009345A (ja) * | 2008-06-27 | 2010-01-14 | Fujitsu Ltd | ディスクアレイ装置およびソフトエラー修復方法 |
JP2010108029A (ja) | 2008-10-28 | 2010-05-13 | Panasonic Corp | 不揮発性メモリコントローラ、不揮発性記憶装置、及び不揮発性記憶システム |
-
2011
- 2011-02-21 JP JP2011034601A patent/JP5330428B2/ja not_active Expired - Fee Related
- 2011-11-21 US US13/301,649 patent/US8732554B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2012173933A (ja) | 2012-09-10 |
US8732554B2 (en) | 2014-05-20 |
US20120216098A1 (en) | 2012-08-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20110239081A1 (en) | Semiconductor storage device and method for controlling a semiconductor storage device | |
KR101861247B1 (ko) | 메모리 컨트롤러, 이의 데이터 처리 방법, 및 이를 포함하는 메모리 시스템 | |
CN103164298B (zh) | 产生用于奇偶校验扇区的数据通路保护的冗余的数据存储装置 | |
US10346268B2 (en) | Efficient data recovery for write path errors | |
US8650458B2 (en) | Methods of encoding/decoding for error correction code utilizing interdependent portions of codewords and related circuits | |
JP2012155430A5 (ja) | ||
JP5330428B2 (ja) | データ記憶装置及び誤り検出訂正方法 | |
EP2183745A2 (en) | Ecc functional block placement in a multi-channel mass storage device | |
CN101329916A (zh) | 闪存装置纠错码控制器以及相关方法和存储系统 | |
US9507658B2 (en) | Data reading method, memory storage device and memory controlling circuit unit | |
CN109669800B (zh) | 用于写入路径错误的高效数据恢复 | |
US20170147433A1 (en) | Memory controller and method of controlling memory controller | |
KR20180089104A (ko) | 메모리 모듈, 이를 포함하는 메모리 시스템 및 이의 에러 정정 방법 | |
US9431132B2 (en) | Data managing method, memory control circuit unit and memory storage apparatus | |
JP2013137708A (ja) | メモリコントローラ、データ記憶装置およびメモリ制御方法 | |
KR20110025524A (ko) | 반도체 메모리 장치 및 그것의 데이터 처리 방법 | |
JP2009301194A (ja) | 半導体記憶装置の制御システム | |
US8713410B2 (en) | Data storage apparatus, memory control apparatus and method for controlling flash memories | |
US9286156B2 (en) | Data storage device and method for processing error correction code thereof | |
KR101512927B1 (ko) | 비휘발성 메모리의 페이지 관리 방법 및 장치 | |
TW201438018A (zh) | 錯誤修正方法以及記憶體裝置 | |
US20170017544A1 (en) | Systems and methods for providing low latency read path for non-volatile memory | |
JP2008165518A (ja) | メモリコントローラ及びフラッシュメモリシステム、並びにフラッシュメモリの制御方法 | |
JP2013069377A (ja) | 復号方法、復号装置および記憶装置 | |
CN111427717A (zh) | 用于在存储器系统中编码和解码数据的方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20130225 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20130305 |
|
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20130327 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130416 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130617 |
|
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: 20130702 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130725 |
|
LAPS | Cancellation because of no payment of annual fees |