JP7182373B2 - 半導体集積回路、記憶装置及びエラー訂正方法 - Google Patents
半導体集積回路、記憶装置及びエラー訂正方法 Download PDFInfo
- Publication number
- JP7182373B2 JP7182373B2 JP2018082840A JP2018082840A JP7182373B2 JP 7182373 B2 JP7182373 B2 JP 7182373B2 JP 2018082840 A JP2018082840 A JP 2018082840A JP 2018082840 A JP2018082840 A JP 2018082840A JP 7182373 B2 JP7182373 B2 JP 7182373B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- error correction
- crc
- memory
- corrected
- 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.)
- Active
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
- 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/1004—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
-
- 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
-
- 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
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1006—Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
-
- 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
-
- 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)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Probability & Statistics with Applications (AREA)
- Detection And Correction Of Errors (AREA)
- Error Detection And Correction (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Description
10 半導体集積回路
11 メモリコントローラ
12 エラー訂正コントローラ
13 訂正制御部
14 エラー訂正回路
15 内部メモリ
20 メモリ
Claims (13)
- データ部分及び当該データ部分に対応するパリティビットからなるデータを記憶するメモリに接続され、前記メモリからの前記データの読み出し及び前記データのエラー訂正を行う半導体集積回路であって、
前記メモリから前記データを読み出すメモリコントローラと、
所定ビット数の訂正能力を有するエラー訂正回路を有し、前記メモリから読み出された前記データのエラー訂正を行うエラー訂正コントローラと、
を含み、
前記エラー訂正コントローラは、
前記メモリから読み出された前記データに対して前記エラー訂正回路によるエラー訂正を行い、
前記エラー訂正の実行後、前記エラー訂正が施されたデータに含まれるデータ部分について新たなパリティビットを生成し、当該新たなパリティビットと、前記エラー訂正が施されたデータに含まれるパリティビットと、が一致するか否かに基づいて、前記データに含まれるエラーの全てが訂正されたか否かを判定する比較判定を行い、
前記データに含まれるエラーの全てが訂正されていないと判定された場合には、前記データの各ビットのデータ値を順次反転させつつ、前記エラー訂正回路によるエラー訂正及び前記比較判定を実行する、
ことを特徴とする半導体集積回路。 - 前記エラー訂正コントローラは、
前記データに含まれるエラーの全てが訂正されたと判定されるか又は前記データの全ビットについてデータ値の反転が完了するまで、前記データの各ビットのデータ値の反転、前記エラー訂正回路によるエラー訂正及び前記比較判定を繰り返し実行する、
ことを特徴とする請求項1に記載の半導体集積回路。 - 前記メモリには、前記データ部分に対応するCRC符号が前記データとともに記憶されており、
前記メモリコントローラは、前記データ及び前記CRC符号を読み出し、
前記エラー訂正コントローラは、
前記メモリから読み出された前記データ及び前記CRC符号に対して、前記エラー訂正回路によるエラー訂正を行い、
エラー訂正後の前記データの前記データ部分について新たなCRC符号を生成し、
前記新たなCRC符号とエラー訂正後の前記CRC符号とが一致するか否かに基づいて、前記エラー訂正回路によるエラー訂正が正しくなされた否かを判定する、
ことを特徴とする請求項1又は2に記載の半導体集積回路。 - 前記メモリには、前記CRC符号及び前記CRC符号に対応するパリティビットからなるCRCデータが記憶され、
前記メモリコントローラは、前記メモリから前記CRCデータを読み出し、
前記エラー訂正コントローラは、
前記メモリから読み出された前記CRCデータに対して前記エラー訂正回路によるエラー訂正を行い、
前記エラー訂正後の前記CRCデータの前記CRC符号について新たなパリティビットを生成し、
前記新たなパリティビットとエラー訂正後の前記CRCデータの前記パリティビットとが一致するか否かに基づいて、前記CRCデータに含まれるエラーの全てが訂正されたか否かを判定し、
前記CRCデータに含まれるエラーの全てが訂正されていないと判定された場合には、前記CRCデータの各ビットのデータ値を順次反転させて前記エラー訂正回路によるエラー訂正を実行する、
ことを特徴とする請求項3に記載の半導体集積回路。 - 前記エラー訂正コントローラは、nビット(nは自然数)単位で対象となるビット位置を変化させつつ、前記各ビットのデータ値の反転を行うことを特徴とする請求項1乃至4のいずれか1項に記載の半導体集積回路。
- データ部分及び当該データ部分に対応するパリティビットからなるデータを記憶するメモリと、
前記メモリから前記データを読み出すメモリコントローラと、
所定のビット数の訂正能力を有するエラー訂正回路を有し、前記メモリから読み出された前記データのエラー訂正を行うエラー訂正コントローラと、
を含み、
前記エラー訂正コントローラは、
前記メモリから読み出された前記データに対して前記エラー訂正回路によるエラー訂正を行い、
前記エラー訂正の実行後、前記エラー訂正が施されたデータに含まれるデータ部分について新たなパリティビットを生成し、生成した前記新たなパリティビットと、前記エラー訂正が施されたデータに含まれるパリティビットと、が一致するか否かに基づいて、前記データに含まれるエラーの全てが訂正されたか否かを判定する比較判定を行い、
前記データに含まれるエラーの全てが訂正されていないと判定された場合には、前記データの各ビットのデータ値を順次反転させつつ、前記エラー訂正回路によるエラー訂正及び前記比較判定を実行する、
ことを特徴とする記憶装置。 - 前記エラー訂正コントローラは、
前記データに含まれるエラーの全てが訂正されたと判定されるか又は前記データの全ビットについてデータ値の反転が完了するまで、前記データの各ビットのデータ値の反転及び前記エラー訂正回路によるエラー訂正を繰り返し実行する、
ことを特徴とする請求項6に記載の記憶装置。 - 前記メモリは、前記データ部分に対応するCRC符号を前記データとともに記憶し、
前記メモリコントローラは、前記データ及び前記CRC符号を読み出し、
前記エラー訂正コントローラは、
前記メモリから読み出された前記データ及び前記CRC符号に対して、前記エラー訂正回路によるエラー訂正を行い、
エラー訂正後の前記データの前記データ部分について新たなCRC符号を生成し、
前記新たなCRC符号とエラー訂正後の前記CRC符号とが一致するか否かに基づいて、前記エラー訂正回路によるエラー訂正が正しくなされた否かを判定する、
ことを特徴とする請求項6又は7に記載の記憶装置。 - 前記メモリは、前記CRC符号及び前記CRC符号に対応するパリティビットからなるCRCデータを記憶し、
前記メモリコントローラは、前記メモリから前記CRCデータを読み出し、
前記エラー訂正コントローラは、
前記メモリから読み出された前記CRCデータに対して、前記エラー訂正回路によるエラー訂正を行い、
エラー訂正後の前記CRCデータの前記CRC符号について新たなパリティビットを生成し、
前記新たなパリティビットとエラー訂正後の前記CRCデータの前記パリティビットとが一致するか否かに基づいて、前記CRCデータに含まれるエラーの全てが訂正されたか否かを判定し、
前記CRCデータに含まれるエラーの全てが訂正されていないと判定された場合には、前記CRCデータの各ビットのデータ値を順次反転させて前記エラー訂正回路によるエラー訂正を実行する、
ことを特徴とする請求項8に記載の記憶装置。 - 前記エラー訂正コントローラは、nビット(nは自然数)単位で対象となるビット位置を変化させつつ、前記各ビットのデータ値の反転を行うことを特徴とする請求項6乃至9のいずれか1項に記載の記憶装置。
- 所定ビット数の訂正能力を有するエラー訂正回路を有し、データ部分及び当該データ部分に対応するパリティビットからなるデータを記憶するメモリから前記データの読み出し及びエラー訂正を行う半導体集積回路が実行するエラー訂正方法であって、
前記メモリから前記データを読み出すステップと、
前記メモリから読み出された前記データに対して前記エラー訂正回路によるエラー訂正を行うステップと、
前記エラー訂正の実行後、前記エラー訂正が施されたデータに含まれるデータ部分について新たなパリティビットを生成するステップと、
生成した前記新たなパリティビットと、前記エラー訂正が施されたデータに含まれるパリティビットと、を比較して、前記データに含まれるエラーの全てが訂正されたか否かを判定する比較判定を行うステップと、
前記データに含まれるエラーの全てが訂正されていないと判定された場合に、前記データの各ビットのデータ値を順次反転させつつ、前記エラー訂正回路によるエラー訂正及び前記比較判定を実行するステップと、
を含むことを特徴とするエラー訂正方法。 - 所定ビット数の訂正能力を有するエラー訂正回路を有し、データ部分及び当該データ部分に対応するパリティビットからなるデータと、前記データ部分に対応するCRC符号及び前記CRC符号に対応するパリティビットからなるCRCデータと、を記憶するメモリから前記データ及び前記CRCデータの読み出しとエラー訂正とを行う半導体集積回路が実行するエラー訂正方法であって、
前記メモリから前記データ及び前記CRCデータを読み出すステップと、
前記メモリから読み出された前記データに対してエラー訂正を行うステップと、
前記メモリから読み出された前記CRCデータに対してエラー訂正を行うステップと、
前記エラー訂正後の前記データの前記データ部分について新たなCRC符号を生成するステップと、
前記新たなCRC符号を生成するステップで生成された新たなCRC符号と、前記CRCデータに対してエラー訂正を行うステップでエラー訂正が行われたCRCデータに含まれるCRC符号と、を比較して、前記データに対するエラー訂正が正しくなされた否かを判定するステップと、
を含み、
前記メモリから読み出された前記データに対して前記エラー訂正回路によるエラー訂正を行うステップは、
前記データに対して前記エラー訂正回路によるエラー訂正を行うステップと、
前記エラー訂正の実行後、前記エラー訂正が施されたデータに含まれるデータ部分について新たなパリティビットを生成するステップと、
生成した前記新たなパリティビットと、前記エラー訂正が施されたデータに含まれるパリティビットと、を比較して、前記データに含まれるエラーの全てが訂正されたか否かを判定する比較判定を行うステップと、
前記データに含まれるエラーの全てが訂正されていないと判定された場合に、前記データの各ビットのデータ値を順次反転させつつ、前記エラー訂正回路によるエラー訂正及び前記比較判定を実行するステップと、
を含むことを特徴とするエラー訂正方法。 - 前記メモリから読み出された前記CRCデータに対してエラー訂正を行うステップは、
前記CRCデータに対して前記エラー訂正回路によるエラー訂正を行うステップと、
エラー訂正後の前記CRCデータの前記CRC符号について新たなパリティビットを生成するステップと、
前記新たなパリティビットとエラー訂正後の前記CRCデータの前記パリティビットとを比較して、前記データに含まれるエラーの全てが訂正されたか否かを判定するステップと、
前記データに含まれるエラーの全てが訂正されていないと判定された場合に、前記CRCデータの各ビットのデータ値を順次反転させて、前記エラー訂正回路によるエラー訂正を実行するステップと、
を含むことを特徴とする請求項12に記載のエラー訂正方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018082840A JP7182373B2 (ja) | 2018-04-24 | 2018-04-24 | 半導体集積回路、記憶装置及びエラー訂正方法 |
CN201910316896.7A CN110401457A (zh) | 2018-04-24 | 2019-04-19 | 半导体集成电路、存储装置和错误纠正方法 |
US16/392,230 US11132254B2 (en) | 2018-04-24 | 2019-04-23 | Semiconductor integrated circuit, storage device, and error correction method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018082840A JP7182373B2 (ja) | 2018-04-24 | 2018-04-24 | 半導体集積回路、記憶装置及びエラー訂正方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2019193057A JP2019193057A (ja) | 2019-10-31 |
JP7182373B2 true JP7182373B2 (ja) | 2022-12-02 |
Family
ID=68235995
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018082840A Active JP7182373B2 (ja) | 2018-04-24 | 2018-04-24 | 半導体集積回路、記憶装置及びエラー訂正方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11132254B2 (ja) |
JP (1) | JP7182373B2 (ja) |
CN (1) | CN110401457A (ja) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008141439A (ja) | 2006-11-30 | 2008-06-19 | Toshiba Corp | 誤り訂正処理装置及び誤り訂正処理方法 |
JP2016076905A (ja) | 2014-10-09 | 2016-05-12 | 日本電気株式会社 | 誤り訂正装置及び誤り訂正方法 |
JP2018023000A (ja) | 2016-08-03 | 2018-02-08 | ルネサスエレクトロニクス株式会社 | Crc演算回路、半導体装置及びレーダーシステム |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4661955A (en) * | 1985-01-18 | 1987-04-28 | Ibm Corporation | Extended error correction for package error correction codes |
KR100681429B1 (ko) * | 2005-10-24 | 2007-02-15 | 삼성전자주식회사 | 반도체 메모리 장치 및 그것의 비트 에러 검출 방법 |
US7774684B2 (en) * | 2006-06-30 | 2010-08-10 | Intel Corporation | Reliability, availability, and serviceability in a memory device |
JP2009152781A (ja) | 2007-12-19 | 2009-07-09 | Toshiba Corp | エラー訂正回路 |
US8429468B2 (en) * | 2010-01-27 | 2013-04-23 | Sandisk Technologies Inc. | System and method to correct data errors using a stored count of bit values |
JP6046403B2 (ja) | 2012-07-13 | 2016-12-14 | 株式会社シグリード | 誤り訂正符号の符号化方法及び復号方法 |
US9098428B2 (en) * | 2012-12-11 | 2015-08-04 | Sandisk Technologies Inc. | Data recovery on cluster failures and ECC enhancements with code word interleaving |
US10256842B2 (en) * | 2016-03-03 | 2019-04-09 | Intel Corporation | Technologies for correcting flipped bits for an error correction decode process |
JP6606039B2 (ja) * | 2016-09-09 | 2019-11-13 | 東芝メモリ株式会社 | メモリシステムおよび制御方法 |
US10475524B2 (en) * | 2016-09-15 | 2019-11-12 | Apple Inc. | Recovery of data read from memory with unknown polarity |
US10331514B2 (en) * | 2017-03-17 | 2019-06-25 | Micron Technology, Inc. | Tiered error correction code (ECC) operations in memory |
US10439648B1 (en) * | 2018-04-10 | 2019-10-08 | Micron Technology, Inc. | Area efficient implementation of a product code error correcting code decoder |
-
2018
- 2018-04-24 JP JP2018082840A patent/JP7182373B2/ja active Active
-
2019
- 2019-04-19 CN CN201910316896.7A patent/CN110401457A/zh active Pending
- 2019-04-23 US US16/392,230 patent/US11132254B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008141439A (ja) | 2006-11-30 | 2008-06-19 | Toshiba Corp | 誤り訂正処理装置及び誤り訂正処理方法 |
JP2016076905A (ja) | 2014-10-09 | 2016-05-12 | 日本電気株式会社 | 誤り訂正装置及び誤り訂正方法 |
JP2018023000A (ja) | 2016-08-03 | 2018-02-08 | ルネサスエレクトロニクス株式会社 | Crc演算回路、半導体装置及びレーダーシステム |
Also Published As
Publication number | Publication date |
---|---|
US11132254B2 (en) | 2021-09-28 |
JP2019193057A (ja) | 2019-10-31 |
CN110401457A (zh) | 2019-11-01 |
US20190324852A1 (en) | 2019-10-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100645058B1 (ko) | 데이터 신뢰성을 향상시킬 수 있는 메모리 관리 기법 | |
JP5043562B2 (ja) | エラー訂正回路、その方法及び前記回路を備える半導体メモリ装置 | |
US20200162104A1 (en) | Memory controller and method of data bus inversion using an error detection correction code | |
US8880987B2 (en) | Checksum using sums of permutation sub-matrices | |
US10467091B2 (en) | Memory module, memory system including the same, and error correcting method thereof | |
KR102143353B1 (ko) | 메모리 소자로부터 액세스된 데이터의 오류를 정정하는 장치 및 방법 | |
US20180167088A1 (en) | Error-Correcting Code Method and System with Hybrid Block Product Codes | |
JP2006501696A (ja) | リニアブロックコードに関する消去箇所−及び−単一−エラー訂正デコーダ | |
CN113032178A (zh) | 存储器控制器及快闪存储器的存取方法 | |
CN110768751B (zh) | 译码的方法与电路、存储器控制器、储存装置、控制器 | |
US9960788B2 (en) | Memory controller, semiconductor memory device, and control method for semiconductor memory device | |
US10514980B2 (en) | Encoding method and memory storage apparatus using the same | |
JP2019057752A (ja) | メモリシステム | |
US20090106634A1 (en) | Error detecting and correcting circuit using chien search, semiconductor memory controller including error detecting and correcting circuit, semiconductor memory system including error detecting and correcting circuit, and error detecting and correcting method using chien search | |
JP2009259113A (ja) | 不揮発性メモリ管理装置 | |
US11043964B2 (en) | Memory system, packet protection circuit, and CRC calculation method | |
US10970166B2 (en) | Memory system and method of controlling non-volatile memory | |
JP7182373B2 (ja) | 半導体集積回路、記憶装置及びエラー訂正方法 | |
US9092354B2 (en) | Storage device, CRC generation device, and CRC generation method | |
TWI551060B (zh) | Bch解碼方法及其解碼器 | |
US20190288709A1 (en) | Semiconductor apparatus | |
US9160371B2 (en) | Memory controller, storage device and memory control method | |
JP2013069377A (ja) | 復号方法、復号装置および記憶装置 | |
CN114237969A (zh) | 并行bch纠错译码的方法及装置 | |
JP2005011386A (ja) | 誤り訂正装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20210209 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20211108 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20211214 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220214 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20220628 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220825 |
|
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: 20221025 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20221121 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7182373 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |