JP7182373B2 - 半導体集積回路、記憶装置及びエラー訂正方法 - Google Patents

半導体集積回路、記憶装置及びエラー訂正方法 Download PDF

Info

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
Application number
JP2018082840A
Other languages
English (en)
Other versions
JP2019193057A (ja
Inventor
和彦 坂東
聡司 宮崎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Lapis Semiconductor Co Ltd
Original Assignee
Lapis Semiconductor Co Ltd
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 Lapis Semiconductor Co Ltd filed Critical Lapis Semiconductor Co Ltd
Priority to JP2018082840A priority Critical patent/JP7182373B2/ja
Priority to CN201910316896.7A priority patent/CN110401457A/zh
Priority to US16/392,230 priority patent/US11132254B2/en
Publication of JP2019193057A publication Critical patent/JP2019193057A/ja
Application granted granted Critical
Publication of JP7182373B2 publication Critical patent/JP7182373B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/1068Adding 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
    • 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/1004Adding 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
    • 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/1048Adding 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/52Protection of memory contents; Detection of errors in memory contents
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1006Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
    • 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/29Coding, 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0411Online 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

本発明は、データのエラー訂正を行う半導体集積回路及びエラー訂正方法に関する。
データを扱う様々なシステムにおいて、エラー訂正回路が広く用いられている。例えば、デバイスに格納されているデータを他のデバイスに通信経路を介して転送する際、ビット化け等のエラーが生じる場合がある。そこで、転送時に生じたビット化けを訂正するため、デバイスにエラー訂正回路を搭載しておく場合が多い。また、ビット化けはデータの転送時だけではなく、メモリ等の記憶媒体へのデータの格納や読み出し時にも生じる。そこで、BCH符号等の符号化手段を用いて、フラッシュメモリ等のメモリに格納するデータの誤り訂正を行う誤り訂正回路が提案されている(例えば、特許文献1、特許文献2)。
特開2014-22848号公報 特開2009-152781号公報
エラー訂正回路の訂正能力(すなわち何ビットのビット化けまで訂正可能か)は、デバイスに搭載可能な回路規模に制限される。従って、搭載可能な回路規模が小さいデバイスには、訂正能力が低いエラー訂正回路しか搭載することができないという問題があった。また、回路規模の大きなエラー訂正回路を搭載可能であっても、訂正能力を向上させるためにはエラー訂正回路を一から設計し直す必要があるという問題があった。
本発明は上記問題点に鑑みてなされたものであり、エラー訂正回路を備えた半導体集積回路であって、エラー訂正回路の訂正能力を超えたビット数のエラーを訂正することが可能な半導体集積回路を提供することを目的とする。
本発明に係る半導体集積回路は、データ部分及び当該データ部分に対応するパリティビットからなるデータを記憶するメモリに接続され、前記メモリからの前記データの読み出し及び前記データのエラー訂正を行う半導体集積回路であって、前記メモリから前記データを読み出すメモリコントローラと、所定ビット数の訂正能力を有するエラー訂正回路を有し、前記メモリから読み出された前記データのエラー訂正を行うエラー訂正コントローラと、を含み、前記エラー訂正コントローラは、前記メモリから読み出された前記データに対して前記エラー訂正回路によるエラー訂正を行い、前記エラー訂正の実行後、前記エラー訂正が施されたデータに含まれるデータ部分について新たなパリティビットを生成し、当該新たなパリティビットと、前記エラー訂正が施されたデータに含まれるパリティビットと、が一致するか否かに基づいて、前記データに含まれるエラーの全てが訂正されたか否かを判定する比較判定を行い、前記データに含まれるエラーの全てが訂正されていないと判定された場合には、前記データの各ビットのデータ値を順次反転させつつ、前記エラー訂正回路によるエラー訂正及び前記比較判定を実行する、ことを特徴とする。
また、本発明に係る記憶装置は、データ部分及び当該データ部分に対応するパリティビットからなるデータを記憶するメモリと、前記メモリから前記データを読み出すメモリコントローラと、所定のビット数の訂正能力を有するエラー訂正回路を有し、前記メモリから読み出された前記データのエラー訂正を行うエラー訂正コントローラと、を含み、前記エラー訂正コントローラは、前記メモリから読み出された前記データに対して前記エラー訂正回路によるエラー訂正を行い、前記エラー訂正の実行後、前記エラー訂正が施されたデータに含まれるデータ部分について新たなパリティビットを生成し、生成した前記新たなパリティビットと、前記エラー訂正が施されたデータに含まれるパリティビットと、が一致するか否かに基づいて、前記データに含まれるエラーの全てが訂正されたか否かを判定する比較判定を行い、前記データに含まれるエラーの全てが訂正されていないと判定された場合には、前記データの各ビットのデータ値を順次反転させつつ、前記エラー訂正回路によるエラー訂正及び前記比較判定を実行する、ことを特徴とする。
また、本発明に係るエラー訂正方法は、所定ビット数の訂正能力を有するエラー訂正回路を有し、データ部分及び当該データ部分に対応するパリティビットからなるデータを記憶するメモリから前記データの読み出し及びエラー訂正を行う半導体集積回路が実行するエラー訂正方法であって、前記メモリから前記データを読み出すステップと、前記メモリから読み出された前記データに対して前記エラー訂正回路によるエラー訂正を行うステップと、前記エラー訂正の実行後、前記エラー訂正が施されたデータに含まれるデータ部分について新たなパリティビットを生成するステップと、生成した前記新たなパリティビットと、前記エラー訂正が施されたデータに含まれるパリティビットと、を比較して、前記データに含まれるエラーの全てが訂正されたか否かを判定する比較判定を行うステップと、前記データに含まれるエラーの全てが訂正されていないと判定された場合に、前記データの各ビットのデータ値を順次反転させつつ、前記エラー訂正回路によるエラー訂正及び前記比較判定を実行するステップと、を含むことを特徴とする。
また、本発明に係るエラー訂正方法は、所定ビット数の訂正能力を有するエラー訂正回路を有し、データ部分及び当該データ部分に対応するパリティビットからなるデータと、前記データ部分に対応するCRC符号及び前記CRC符号に対応するパリティビットからなるCRCデータと、を記憶するメモリから前記データ及び前記CRCデータの読み出しとエラー訂正とを行う半導体集積回路が実行するエラー訂正方法であって、 前記メモリから前記データ及び前記CRCデータを読み出すステップと、前記メモリから読み出された前記データに対してエラー訂正を行うステップと、前記メモリから読み出された前記CRCデータに対してエラー訂正を行うステップと、前記エラー訂正後の前記データの前記データ部分について新たなCRC符号を生成するステップと、前記新たなCRC符号とエラー訂正後の前記CRCデータの前記CRC符号とを比較して、前記データに対するエラー訂正が正しくなされた否かを判定するステップと、を含み、前記メモリから読み出された前記データに対して前記エラー訂正回路によるエラー訂正を行うステップは、前記データに対して前記エラー訂正回路によるエラー訂正を行うステップと、前記エラー訂正の実行後、前記エラー訂正が施されたデータに含まれるデータ部分について新たなパリティビットを生成するステップと、生成した前記新たなパリティビットと、前記エラー訂正が施されたデータに含まれるパリティビットと、を比較して、前記データに含まれるエラーの全てが訂正されたか否かを判定する比較判定を行うステップと、前記データに含まれるエラーの全てが訂正されていないと判定された場合に、前記データの各ビットのデータ値を順次反転させつつ、前記エラー訂正回路によるエラー訂正及び前記比較判定を実行するステップと、を含むことを特徴とする。
本発明に係る半導体集積回路によれば、エラー訂正回路の訂正能力を超えたビット数のエラーを訂正することが可能となる。
本実施例の半導体集積回路を含む記憶装置の構成を示すブロック図である。 実施例1におけるデータの構成を示す図である。 エラー訂正後のデータ及びパリティビットを示す図である。 エラー訂正後のデータ部分に対するパリティビット生成及びエラー訂正前のパリティビットとの比較の様子を模式的に示す図である。 1ビットの値を反転させたデータ及びパリティビットを示す図である。 1ビットの値が反転したデータをエラー訂正した後のデータ及びパリティビットを示す図である。 エラー訂正後のデータ部分に対するパリティビットの生成及びエラー訂正前のパリティビットとの比較の様子を模式的に示す図である。 実施例1の半導体集積回路が実行するエラー訂正処理の処理ルーチンを示すフローチャートである。 実施例1の半導体集積回路が実行するエラー訂正処理の処理ルーチンを示すフローチャートである。 実施例2におけるデータの構成を示す図である。 実施例2の半導体集積回路が実行するエラー訂正処理の処理ルーチンを示すフローチャートである。 実施例2の半導体集積回路が実行するエラー訂正処理の処理ルーチンを示すフローチャートである。 実施例2の半導体集積回路が実行するエラー訂正処理の処理ルーチンを示すフローチャートである。 メモリから読み出されるCRC符号及びパリティビットの構成を示す図である。 エラー訂正後のCRC符号及びパリティビットを示す図である。 エラー訂正後のCRC符号に対するパリティビットの生成及びエラー訂正前のパリティビットとの比較の様子を模式的に示す図である。 1ビットの値を反転させたCRC符号及びパリティビットを示す図である。 1ビットの値が反転したCRC符号をエラー訂正した後のデータ及びパリティビットを示す図である。 エラー訂正後のCRC符号に対するパリティビットの生成及びエラー訂正前のパリティビットとの比較の様子を模式的に示す図である。 エラー訂正後のデータ部分に対するCRC符号の生成及び比較の様子を模式的に示す図である。
以下に本発明の好適な実施例を詳細に説明する。なお、以下の各実施例における説明及び添付図面においては、実質的に同一または等価な部分には同一の参照符号を付している。
図1は、本実施例の記憶装置100の構成を示すブロック図である。記憶装置100は、メモリコントローラ11、エラー訂正コントローラ12及びメモリ20から構成されている。メモリコントローラ11及びエラー訂正コントローラ12は、1チップの半導体集積回路10を構成している。
メモリコントローラ11は、メモリ20へのデータの書き込み及びメモリ20からのデータの読み出しを実行する。メモリコントローラ11は、メモリ20から読み出したデータをエラー訂正コントローラ12に供給する。
エラー訂正コントローラ12は、メモリコントローラ11がメモリ20から読み出したデータに対してエラー訂正を行う回路である。具体的には、エラー訂正コントローラ12は、データの書き込み時及び読み出し時に生じたビットエラー(いわゆるビット化け)を訂正する。エラー訂正コントローラ12は、訂正制御部13、エラー訂正回路14及び内部メモリ15を含む。
訂正制御部13は、エラー訂正回路14を制御してエラー訂正を実行させる制御回路である。また、訂正制御部13は、メモリ20から読み出されたデータに対するパリティビットの生成やデータの比較等のデータ処理を行う。
エラー訂正回路14は、メモリ20から読み出されたデータに対してエラー訂正(すなわち、ビット化けの訂正)を実行する回路である。エラー訂正回路14は、例えばBCH符号化方式を用いてエラー訂正を実行する。エラー訂正回路14は、エラー訂正方式やデータに付加されるパリティビットのサイズ(バイト数)によって定まる所定ビット数の訂正能力を有する。
内部メモリ15は、エラー訂正コントローラ12の内部に設けられた揮発性のメモリであり、訂正制御部13及びエラー訂正回路14が実行するエラー処理においてデータを一時記憶するためのワーク領域として使用される。
メモリ20は、不揮発性記憶装置であり、例えばNAND型フラッシュメモリから構成されている。メモリ20は、所定ビット長(例えば16バイト)のデータと、BCH符号化方式に基づいて生成されたパリティビットと、を対応付けて記憶する。
図2Aは、メモリ20に格納されるデータの構成例を示す図である。メモリ20には、16バイトのデータに2バイトのパリティビットを付加したものが1つのデータとして格納されている。以下の説明では、16バイトのデータを「データ部分」と称し、データ部分に2バイトのパリティビットを付加した全体部分(18バイト)を単に「データ」と称する。
このように、本実施例では16バイトのデータ部分に2バイトのパリティビットが付加されてデータが構成されており、エラー訂正回路14は、18バイトのデータ中、2ビットのエラーまでを訂正することが可能である。すなわち、本実施例のエラー訂正回路14は、2ビットの訂正能力を有する。
次に、本実施例の半導体集積回路10が実行するエラー訂正処理の動作について、図3及び図4のフローチャートと、図2A~2Fとを参照して説明する。
メモリコントローラ11は、図2Aに示すような構成を有する18バイトのデータ(データ部分16バイト、パリティビット2バイト)をメモリ20から読み出す(STEP101)。メモリコントローラ11は、読み出したデータ(以下、読み出しデータと称する)をエラー訂正コントローラ12に供給する。エラー訂正コントローラ12の訂正制御部13は、読み出しデータを内部メモリ15に格納する。
訂正制御部13は、エラー訂正回路14を制御して、読み出しデータのデータ部分及びパリティビットの各々に対してエラー訂正処理を実行させる(STEP102)。図2Bは、エラー訂正後の読み出しデータを斜線で示している。
次に、訂正制御部13は、エラー訂正回路14を制御して、エラー訂正後の読み出しデータ(以下、訂正データと称する)のデータ部分(16バイト)について、当該データ部分に対応する2バイトのパリティビットを新たに生成させる(STEP103)。
訂正制御部13は、STEP103で新たに生成したパリティビットと、STEP102でエラー訂正されたパリティビットと、を比較する(STEP104)。図2Cは、新たに生成したパリティビットをドットで示し、STEP102でエラー訂正されたパリティビットを斜線で示している。
訂正制御部13は、2つのパリティビットが一致したか否かを判定する(STEP105)。パリティビットが一致したと判定すると(STEP105:YES)、読み出しデータに含まれる全てのエラーが訂正されたと判定して、処理を終了する。一方、パリティビットが一致しなかったと判定すると(STEP105:NO)、エラー訂正回路14の訂正能力を超えたエラー(すなわち、本実施例では2ビットを超えたエラー)が存在していると判定して、半導体集積回路10の動作は図4のフローチャートに示す処理ステップへと移行する。
訂正制御部13は、訂正データの先頭の1ビットの値を反転させる(STEP201)。図2Dは、先頭の1ビットの値が反転した訂正データを示している。
訂正制御部13は、エラー訂正回路14を制御して、先頭の1ビットの値が反転した訂正データに対してエラー訂正処理を実行させる(STEP202)。図2Eは、STEP202におけるエラー訂正後のデータを示している。
訂正制御部13は、エラー訂正回路14を制御して、STEP202におけるエラー訂正後のデータ(すなわち、ビット反転及び訂正を行ったデータ)のデータ部分(16バイト)について、当該データ部分に対応する2バイトのパリティビットを新たに生成させる(STEP203)。
訂正制御部13は、STEP203で新たに生成したパリティビットと、STEP202でエラー訂正されたパリティビットと、を比較する(STEP204)。図2Fは、新たに生成したパリティビットをドットで示し、STEP202でエラー訂正されたパリティビットを斜線で示している。
訂正制御部13は、2つのパリティビットが一致したか否かを判定する(STEP205)。パリティビットが一致したと判定すると(STEP205:YES)、STEP202でエラー訂正がなされたと判定して、処理を終了する。
一方、パリティビットが一致しなかったと判定すると(STEP205:NO)、訂正制御部13は、パリティビットが一致するか又は最終ビットに至るまで値を反転させるビットをずらしつつ、STEP202~STEP205の処理を繰り返し実行する。すなわち、訂正制御部13は、訂正データの最終ビットまでビット反転が済んでいるか否かを判定し(STEP206)、最終ビットまでビット反転が済んでいないと判定すると(STEP206:NO)、次のビットの値を反転させて再びSTEP202~STEP205の処理を実行する。最終ビットまでビット反転が済んでいると判定すると(STEP206:YES)、訂正制御部13は、エラー訂正回路14の訂正能力に反転分の1ビットを加えたビット数(すなわち、本実施例では3ビット)を超えたビット数のエラーが発生しているためエラー訂正ができないと判定し(STEP208)、処理を終了する。
以上のように、本実施例の半導体集積回路10は、エラー訂正を行ったパリティビットとエラー訂正後のデータについて新たに生成したパリティビットとを比較し、パリティビット同士が一致するか否かを判定することにより、読み出したデータに含まれる全てのエラーが訂正されたか否かを判定する。そして、全てのエラーが訂正されていないと判定すると、データの値を1ビットずつ反転させつつ、繰り返しエラー訂正を行う。かかる処理によれば、エラー訂正回路14の訂正能力を1ビット超えたエラー(ビット化け)がデータに存在する場合でも、正しくエラー訂正をすることができる。
従って、本実施例の半導体集積回路10によれば、エラー訂正回路の設計を変更することなく、エラー訂正回路の訂正能力以上のビットエラーを訂正することができる。また、エラー訂正回路の設計を変更する場合と比べて、回路規模の増加を抑えることが出来る。
次に、実施例2の記憶装置について説明する。本実施例の記憶装置は、図1に示す実施例1の記憶装置100と同様の構成を有し、メモリ20に格納されるデータの構成及びエラー訂正コントローラ12が実行するエラー訂正処理の処理動作において実施例1と異なる。
図5は、本実施例においてメモリ20に格納されるデータの構成例を示す図である。メモリ20には、16バイトのデータ部分と、これに対応する4バイトのCRC(Cyclic Redundancy Check)符号とが対応付けて格納されている。そして、16バイトのデータ部分及び4バイトのCRC符号には、それぞれ2バイトのパリティビットが付加されている。以下の説明では、4バイトのCRC符号に2バイトのパリティビットを付加したものを「CRCデータ」と称する。
このように、本実施例では16バイトのデータ部分に2バイトのパリティビットが付加され、4バイトのCRC符号に2バイトのパリティビットが付加されている。また、本実施例のエラー訂正回路14は、実施例1と同様、2ビットのエラー訂正能力を有する。従って、エラー訂正回路14は、18バイトのデータ中、2ビットのエラーまでを訂正することが可能である。また、エラー訂正回路14は、6バイトのCRCデータ中、2ビットのエラーまでを訂正することが可能である。
次に、本実施例の半導体集積回路10が実行するエラー訂正処理の動作について、図6~図8のフローチャートと、図9A~9F及び図10とを参照して説明する。
メモリコントローラ11は、16バイトのデータ部分及び2バイトのパリティビットからなる18バイトのデータと、4バイトのCRC符号及び2バイトのパリティビットからなる6バイトのCRCデータと、をメモリ20から読み出す(STEP301)。メモリコントローラ11は、読み出したデータ(読み出しデータ)及び読み出したCRCデータ(以下、読み出しCRCデータと称する)をエラー訂正コントローラ12に供給する。エラー訂正コントローラ12の訂正制御部13は、読み出しデータ及び読み出しCRCデータを内部メモリ15に格納する。
半導体集積回路10は、読み出しデータに対して、実施例1のSTEP101~105、及びSTEP201~208の一連の処理と同様の処理を実行する。その際、STEP105及びSTEP205で一致する(YES)と判定された場合、半導体集積回路10の動作は、STEP303の処理ステップへと移行する(STEP302)。
訂正制御部13は、エラー訂正回路14を制御して、読み出しCRCデータのCRC符号及びパリティビットの各々に対してエラー訂正処理を実行させる(STEP303)。図9Aは、エラー訂正前の読み出しCRCデータを示している。図9Bは、エラー訂正後の読み出しCRCデータを斜線で示している。
次に、訂正制御部13は、エラー訂正回路14を制御して、エラー訂正後の読み出しCRCデータ(以下、訂正CRCデータと称する)のCRC符号(4バイト)について、当該CRC符号に対応する2バイトのパリティビットを新たに生成させる(STEP304)。
訂正制御部13は、STEP304で新たに生成したパリティビットと、STEP303でエラー訂正されたパリティビットと、を比較する(STEP305)。図9Cは、新たに生成したパリティビットをドットで示し、STEP303でエラー訂正されたパリティビットを斜線で示している。
訂正制御部13は、2つのパリティビットが一致したか否かを判定する(STEP306)。パリティビットが一致したと判定すると(STEP306:YES)、読み出しCRCデータに含まれる全てのエラーが訂正されたと判定して、半導体集積回路10の動作は図8のフローチャートに示す処理ステップへと移行する。一方、パリティビットが一致しなかったと判定すると(STEP306:NO)、エラー訂正回路14の訂正能力を超えたエラー(すなわち、本実施例では2ビットを超えたエラー)が存在していると判定して、半導体集積回路10の動作は図7のフローチャートに示す処理ステップへと移行する。
訂正制御部13は、訂正CRCデータの先頭の1ビットの値を反転させる(STEP401)。図9Dは、先頭の1ビットの値が反転した訂正CRCデータを示している。
訂正制御部13は、エラー訂正回路14を制御して、先頭の1ビットの値が反転した訂正CRCデータに対してエラー訂正処理を実行させる(STEP402)。図9Eは、STEP402におけるエラー訂正後のCRCデータを示している。
訂正制御部13は、エラー訂正回路14を制御して、STEP402におけるエラー訂正後のCRCデータ(すなわち、ビット反転及び訂正を行ったCRCデータ)のCRC符号(4バイト)について、当該CRC符号に対応する2バイトのパリティビットを新たに生成させる(STEP403)。
訂正制御部13は、STEP403で新たに生成したパリティビットと、STEP402でエラー訂正されたパリティビットと、を比較する(STEP404)。図9Fは、新たに生成したパリティビットをドットで示し、STEP402でエラー訂正されたパリティビットを斜線で示している。
訂正制御部13は、2つのパリティビットが一致したか否かを判定する(STEP405)。パリティビットが一致したと判定すると(STEP405:YES)、STEP402でエラー訂正がなされたと判定して、半導体集積回路10の動作は図8のフローチャートに示す処理ステップへと移行する。
一方、パリティビットが一致しなかったと判定すると(STEP405:NO)、訂正制御部13は、パリティビットが一致するか又は最終ビットに至るまで値を反転させるビットをずらしつつ、STEP402~STEP405の処理を繰り返し実行する。すなわち、訂正制御部13は、訂正CRCデータの最終ビットまでビット反転が済んでいるか否かを判定し(STEP406)、最終ビットまでビット反転が済んでいないと判定すると(STEP406:NO)、次のビットの値を反転させて再びSTEP402~STEP405の処理を実行する。最終ビットまでビット反転が済んでいると判定すると(STEP406:YES)、訂正制御部13は、エラー訂正回路14の訂正能力に反転分の1ビットを加えたビット数(すなわち、本実施例では3ビット)を超えたビット数のエラーが発生しているためエラー訂正ができないと判定し(STEP408)、処理を終了する。
訂正制御部13は、STEP306及びSTEP405の各々において、パリティビット同士が一致したと判定すると、訂正したデータの16バイトのデータ部分について、当該データ部分に対応する4バイトのCRC符号を新たに生成する(STEP501)。
訂正制御部13は、STEP501で新たに生成したCRC符号と、STEP303又はSTEP402でエラー訂正されたCRC符号と、を比較する(STEP502)。図10は、新たに生成したCRC符号をドットで示し、STEP303又はSTEP402でエラー訂正されたCRC符号を斜線で示している。
訂正制御部13は、2つのCRC符号が一致したか否かを判定する(STEP503)。CRC符号が一致したと判定すると(STEP503:YES)、データ及びCRCデータの全てについて正しくエラー訂正がなされたと判定し、処理を終了する(STEP504)。
一方、2つのCRC符号が一致しないと判定すると(STEP503:NO)、訂正制御部13は、エラー訂正処理において誤訂正が発生したと判定し、処理を終了する(STEP505)。
以上のように、本実施例の半導体集積回路10は、エラー訂正を行ったパリティビットとエラー訂正後のデータについて新たに生成したパリティビットとを比較し、パリティビット同士が一致するか否かを判定することにより、読み出したデータに含まれる全てのエラーが訂正されたか否かを判定する。そして、全てのエラーが訂正されていないと判定すると、データの値を1ビットずつ反転させつつ、繰り返しエラー訂正を行う。かかる処理によれば、エラー訂正回路14の訂正能力を1ビット超えたエラー(ビット化け)がデータに存在する場合でも、正しくエラー訂正をすることができる。従って、エラー訂正回路の設計を変更することなく、エラー訂正回路の訂正能力以上のビットエラーを訂正することができる。また、エラー訂正回路の設計を変更する場合と比べて、回路規模の増加を抑えることが出来る。
また、本実施例の半導体集積回路10は、データに対してCRC符号を付加しておき、CRC符号についてもデータと同様のエラー訂正処理を行う。そして、エラー訂正を行ったCRC符号と、エラー訂正後のデータについて新たに生成したCRC符号とを比較し、CRC符号同士が一致するか否かを判定することにより、エラー訂正が正しくなされたか否かを判定する。かかる処理によれば、エラーの誤訂正を防ぐことが出来る。
なお、本発明は上記実施形態に限定されない。例えば、訂正制御部13は、特定の処理を行う専用の回路ではなく、エラー訂正コントローラ12の各部の動作を制御するCPU(Central Processing Unit)やファームウェアから構成されていても良い。
また、上記実施例1及び実施例2では、エラー訂正回路14がBCH符号化方式を用いてエラー訂正を実行する場合について説明したが、任意の訂正方式を用いてエラー訂正を行うものであっても良い。
また、上記実施例1及び実施例2では、メモリコントローラ11がメモリ20から読み出したデータを内部メモリ15に格納する場合を例として説明したが、RAM(Random Access Memory)や不揮発性記憶媒体等、任意のメモリに格納しても良い。
また、上記実施例1及び実施例2では、元のデータの格納場所をメモリ20としたが、ROM等の任意の記憶媒体に格納しても良い。また、記憶媒体ではなく、データ通信の対応装置から受信したデータを対象としても良い。
また、上記実施例1及び実施例2では、16バイトのデータ及びエラー訂正用の2バイトのパリティビットを用いてエラー訂正を行う場合を例として説明したが、データ及びパリティビットのサイズはこれに限られず、任意のサイズとすることが可能である。例えば、Nバイト(Nは任意の自然数)のデータ及びMバイト(MはM<Nの自然数)のパリティビットを用いても良い。
また、上記実施例1及び実施例2では、エラー訂正回路の訂正能力が2ビットである場合について説明したが、これとは異なる任意のビット数とすることが可能である。
また、上記実施例では、データの値を先頭から1ビットずつ反転させる場合について説明したが、反転を開始する位置はこれに限られない。結果的に全てのビットについてデータの値が反転されれば良く、任意のビット位置から反転を開始することが可能である。また、1ビットずつではなく、任意のnビット(nは自然数)を1つの単位として当該nビット内の各ビットの値を反転させてエラー訂正処理を行い、反転対象の位置をnビットずつ変えて繰り返しエラー訂正処理を実行するようにしてもよい。例えば、2ビットを1つの単位とすると、元のデータが「00」だった場合、「01」「10」「11」のようにビット反転を行ってそれぞれに対してエラー訂正処理を実行する。そして2ビットずつ位置を変えて同様の処理を繰り返し行うことにより、エラー訂正回路の訂正能力を1ビット超えたエラー及び2ビット超えたエラーを訂正することが出来る。また、1ビットずつ反転させてエラー訂正処理を行った後、2ビットずつ反転させてエラー訂正処理を行ってもよく、この場合にも訂正能力を1ビット超えたエラー及び2ビット超えたエラーを訂正することが出来る。また、反転対象となるビット位置を変化させる際、連続するビット位置ではなく、1ビット又は複数ビットの間を空けつつビット位置を変えていっても良い。
また、上記実施例2では、データに対して4バイトのCRC符号を付加する場合について説明したが、CRC符号のサイズはこれに限られず、任意のサイズとすることが可能である。
また、上記実施例2では、データに対するエラー訂正処理を実行した後に、CRC符号に対するエラー訂正処理を実行する場合について説明した。しかし、逆の順番又は同時にエラー訂正処理を実行しても良い。
100 記憶装置
10 半導体集積回路
11 メモリコントローラ
12 エラー訂正コントローラ
13 訂正制御部
14 エラー訂正回路
15 内部メモリ
20 メモリ

Claims (13)

  1. データ部分及び当該データ部分に対応するパリティビットからなるデータを記憶するメモリに接続され、前記メモリからの前記データの読み出し及び前記データのエラー訂正を行う半導体集積回路であって、
    前記メモリから前記データを読み出すメモリコントローラと、
    所定ビット数の訂正能力を有するエラー訂正回路を有し、前記メモリから読み出された前記データのエラー訂正を行うエラー訂正コントローラと、
    を含み、
    前記エラー訂正コントローラは、
    前記メモリから読み出された前記データに対して前記エラー訂正回路によるエラー訂正を行い、
    前記エラー訂正の実行後、前記エラー訂正が施されたデータに含まれるデータ部分について新たなパリティビットを生成し、当該新たなパリティビットと、前記エラー訂正が施されたデータに含まれるパリティビットと、が一致するか否かに基づいて、前記データに含まれるエラーの全てが訂正されたか否かを判定する比較判定を行い、
    前記データに含まれるエラーの全てが訂正されていないと判定された場合には、前記データの各ビットのデータ値を順次反転させつつ、前記エラー訂正回路によるエラー訂正及び前記比較判定を実行する、
    ことを特徴とする半導体集積回路。
  2. 前記エラー訂正コントローラは、
    前記データに含まれるエラーの全てが訂正されたと判定されるか又は前記データの全ビットについてデータ値の反転が完了するまで、前記データの各ビットのデータ値の反転、前記エラー訂正回路によるエラー訂正及び前記比較判定を繰り返し実行する、
    ことを特徴とする請求項1に記載の半導体集積回路。
  3. 前記メモリには、前記データ部分に対応するCRC符号が前記データとともに記憶されており、
    前記メモリコントローラは、前記データ及び前記CRC符号を読み出し、
    前記エラー訂正コントローラは、
    前記メモリから読み出された前記データ及び前記CRC符号に対して、前記エラー訂正回路によるエラー訂正を行い、
    エラー訂正後の前記データの前記データ部分について新たなCRC符号を生成し、
    前記新たなCRC符号とエラー訂正後の前記CRC符号とが一致するか否かに基づいて、前記エラー訂正回路によるエラー訂正が正しくなされた否かを判定する、
    ことを特徴とする請求項1又は2に記載の半導体集積回路。
  4. 前記メモリには、前記CRC符号及び前記CRC符号に対応するパリティビットからなるCRCデータが記憶され、
    前記メモリコントローラは、前記メモリから前記CRCデータを読み出し、
    前記エラー訂正コントローラは、
    前記メモリから読み出された前記CRCデータに対して前記エラー訂正回路によるエラー訂正を行い、
    前記エラー訂正後の前記CRCデータの前記CRC符号について新たなパリティビットを生成し、
    前記新たなパリティビットとエラー訂正後の前記CRCデータの前記パリティビットとが一致するか否かに基づいて、前記CRCデータに含まれるエラーの全てが訂正されたか否かを判定し、
    前記CRCデータに含まれるエラーの全てが訂正されていないと判定された場合には、前記CRCデータの各ビットのデータ値を順次反転させて前記エラー訂正回路によるエラー訂正を実行する、
    ことを特徴とする請求項3に記載の半導体集積回路。
  5. 前記エラー訂正コントローラは、nビット(nは自然数)単位で対象となるビット位置を変化させつつ、前記各ビットのデータ値の反転を行うことを特徴とする請求項1乃至4のいずれか1項に記載の半導体集積回路。
  6. データ部分及び当該データ部分に対応するパリティビットからなるデータを記憶するメモリと、
    前記メモリから前記データを読み出すメモリコントローラと、
    所定のビット数の訂正能力を有するエラー訂正回路を有し、前記メモリから読み出された前記データのエラー訂正を行うエラー訂正コントローラと、
    を含み、
    前記エラー訂正コントローラは、
    前記メモリから読み出された前記データに対して前記エラー訂正回路によるエラー訂正を行い、
    前記エラー訂正の実行後、前記エラー訂正が施されたデータに含まれるデータ部分について新たなパリティビットを生成し、生成した前記新たなパリティビットと、前記エラー訂正が施されたデータに含まれるパリティビットと、が一致するか否かに基づいて、前記データに含まれるエラーの全てが訂正されたか否かを判定する比較判定を行い、
    前記データに含まれるエラーの全てが訂正されていないと判定された場合には、前記データの各ビットのデータ値を順次反転させつつ、前記エラー訂正回路によるエラー訂正及び前記比較判定を実行する、
    ことを特徴とする記憶装置。
  7. 前記エラー訂正コントローラは、
    前記データに含まれるエラーの全てが訂正されたと判定されるか又は前記データの全ビットについてデータ値の反転が完了するまで、前記データの各ビットのデータ値の反転及び前記エラー訂正回路によるエラー訂正を繰り返し実行する、
    ことを特徴とする請求項6に記載の記憶装置。
  8. 前記メモリは、前記データ部分に対応するCRC符号を前記データとともに記憶し、
    前記メモリコントローラは、前記データ及び前記CRC符号を読み出し、
    前記エラー訂正コントローラは、
    前記メモリから読み出された前記データ及び前記CRC符号に対して、前記エラー訂正回路によるエラー訂正を行い、
    エラー訂正後の前記データの前記データ部分について新たなCRC符号を生成し、
    前記新たなCRC符号とエラー訂正後の前記CRC符号とが一致するか否かに基づいて、前記エラー訂正回路によるエラー訂正が正しくなされた否かを判定する、
    ことを特徴とする請求項6又は7に記載の記憶装置。
  9. 前記メモリは、前記CRC符号及び前記CRC符号に対応するパリティビットからなるCRCデータを記憶し、
    前記メモリコントローラは、前記メモリから前記CRCデータを読み出し、
    前記エラー訂正コントローラは、
    前記メモリから読み出された前記CRCデータに対して、前記エラー訂正回路によるエラー訂正を行い、
    エラー訂正後の前記CRCデータの前記CRC符号について新たなパリティビットを生成し、
    前記新たなパリティビットとエラー訂正後の前記CRCデータの前記パリティビットとが一致するか否かに基づいて、前記CRCデータに含まれるエラーの全てが訂正されたか否かを判定し、
    前記CRCデータに含まれるエラーの全てが訂正されていないと判定された場合には、前記CRCデータの各ビットのデータ値を順次反転させて前記エラー訂正回路によるエラー訂正を実行する、
    ことを特徴とする請求項8に記載の記憶装置。
  10. 前記エラー訂正コントローラは、nビット(nは自然数)単位で対象となるビット位置を変化させつつ、前記各ビットのデータ値の反転を行うことを特徴とする請求項6乃至9のいずれか1項に記載の記憶装置。
  11. 所定ビット数の訂正能力を有するエラー訂正回路を有し、データ部分及び当該データ部分に対応するパリティビットからなるデータを記憶するメモリから前記データの読み出し及びエラー訂正を行う半導体集積回路が実行するエラー訂正方法であって、
    前記メモリから前記データを読み出すステップと、
    前記メモリから読み出された前記データに対して前記エラー訂正回路によるエラー訂正を行うステップと、
    前記エラー訂正の実行後、前記エラー訂正が施されたデータに含まれるデータ部分について新たなパリティビットを生成するステップと、
    生成した前記新たなパリティビットと、前記エラー訂正が施されたデータに含まれるパリティビットと、を比較して、前記データに含まれるエラーの全てが訂正されたか否かを判定する比較判定を行うステップと、
    前記データに含まれるエラーの全てが訂正されていないと判定された場合に、前記データの各ビットのデータ値を順次反転させつつ、前記エラー訂正回路によるエラー訂正及び前記比較判定を実行するステップと、
    を含むことを特徴とするエラー訂正方法。
  12. 所定ビット数の訂正能力を有するエラー訂正回路を有し、データ部分及び当該データ部分に対応するパリティビットからなるデータと、前記データ部分に対応するCRC符号及び前記CRC符号に対応するパリティビットからなるCRCデータと、を記憶するメモリから前記データ及び前記CRCデータの読み出しとエラー訂正とを行う半導体集積回路が実行するエラー訂正方法であって、
    前記メモリから前記データ及び前記CRCデータを読み出すステップと、
    前記メモリから読み出された前記データに対してエラー訂正を行うステップと、
    前記メモリから読み出された前記CRCデータに対してエラー訂正を行うステップと、
    前記エラー訂正後の前記データの前記データ部分について新たなCRC符号を生成するステップと、
    前記新たなCRC符号を生成するステップで生成された新たなCRC符号、前記CRCデータに対してエラー訂正を行うステップでエラー訂正が行われたCRCデータに含まれるCRC符号と、を比較して、前記データに対するエラー訂正が正しくなされた否かを判定するステップと、
    を含み、
    前記メモリから読み出された前記データに対して前記エラー訂正回路によるエラー訂正を行うステップは、
    前記データに対して前記エラー訂正回路によるエラー訂正を行うステップと、
    前記エラー訂正の実行後、前記エラー訂正が施されたデータに含まれるデータ部分について新たなパリティビットを生成するステップと、
    生成した前記新たなパリティビットと、前記エラー訂正が施されたデータに含まれるパリティビットと、を比較して、前記データに含まれるエラーの全てが訂正されたか否かを判定する比較判定を行うステップと、
    前記データに含まれるエラーの全てが訂正されていないと判定された場合に、前記データの各ビットのデータ値を順次反転させつつ、前記エラー訂正回路によるエラー訂正及び前記比較判定を実行するステップと、
    を含むことを特徴とするエラー訂正方法。
  13. 前記メモリから読み出された前記CRCデータに対してエラー訂正を行うステップは、
    前記CRCデータに対して前記エラー訂正回路によるエラー訂正を行うステップと、
    エラー訂正後の前記CRCデータの前記CRC符号について新たなパリティビットを生成するステップと、
    前記新たなパリティビットとエラー訂正後の前記CRCデータの前記パリティビットとを比較して、前記データに含まれるエラーの全てが訂正されたか否かを判定するステップと、
    前記データに含まれるエラーの全てが訂正されていないと判定された場合に、前記CRCデータの各ビットのデータ値を順次反転させて、前記エラー訂正回路によるエラー訂正を実行するステップと、
    を含むことを特徴とする請求項12に記載のエラー訂正方法。
JP2018082840A 2018-04-24 2018-04-24 半導体集積回路、記憶装置及びエラー訂正方法 Active JP7182373B2 (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (3)

* Cited by examiner, † Cited by third party
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