JP2005072975A - Circuit and method for correcting error - Google Patents

Circuit and method for correcting error Download PDF

Info

Publication number
JP2005072975A
JP2005072975A JP2003300224A JP2003300224A JP2005072975A JP 2005072975 A JP2005072975 A JP 2005072975A JP 2003300224 A JP2003300224 A JP 2003300224A JP 2003300224 A JP2003300224 A JP 2003300224A JP 2005072975 A JP2005072975 A JP 2005072975A
Authority
JP
Japan
Prior art keywords
correction
error
erasure
error correction
control signal
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.)
Pending
Application number
JP2003300224A
Other languages
Japanese (ja)
Inventor
Daisuke Kondo
大輔 近藤
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial 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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2003300224A priority Critical patent/JP2005072975A/en
Publication of JP2005072975A publication Critical patent/JP2005072975A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Detection And Correction Of Errors (AREA)
  • Error Detection And Correction (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To reduce power consumption by efficiently performing error correction while minimizing error correction at the time of using both normal correction and erasure correction to perform error correction. <P>SOLUTION: In an error correction circuit 1 having a syndrome operating part 11, an error position/numerical value operating part 12, an error correction control part 13 and an error correcting part 14, a counter 132 is provided in the error correction control part 13, the counter 132 counts the number of code words in which the number of errors which can not be corrected by normal correction exists, and erasure correction is performed from the first part without performing normal correction of the code words concerning succeeding code words at the time when the count value reaches the prescribed value. <P>COPYRIGHT: (C)2005,JPO&NCIPI

Description

本発明は、誤り訂正に関するものであり、特に消失フラグを用いて誤り訂正を行う消失訂正を併用し、誤訂正を最小限に抑えつつ効率よく誤り訂正を行い、また消費電力の削減を図ることが可能な誤り訂正回路および誤り訂正方法に関する。   The present invention relates to error correction, and in particular, in conjunction with erasure correction that performs error correction using an erasure flag, performs error correction efficiently while minimizing error correction, and reduces power consumption. The present invention relates to an error correction circuit and an error correction method capable of performing the above.

従来の消失訂正を併用した誤り訂正を行う誤り訂正回路として、特許文献1に記載されたものが知られている。図8にこの特許文献1に示された従来の誤り訂正回路の一構成例を示すブロック図を簡略化したものを、また図9にその誤り訂正動作のフローチャート図を示す。   As an error correction circuit for performing error correction combined with conventional erasure correction, the one described in Patent Document 1 is known. FIG. 8 is a simplified block diagram showing a configuration example of the conventional error correction circuit disclosed in Patent Document 1, and FIG. 9 is a flowchart of the error correction operation.

図8において、501は誤り訂正回路であり、該誤り訂正回路501において、511はシンドローム演算部、512は誤り位置/数値演算部、513は誤り訂正制御部、514は誤り訂正部である。   In FIG. 8, 501 is an error correction circuit. In the error correction circuit 501, 511 is a syndrome calculation unit, 512 is an error position / numerical calculation unit, 513 is an error correction control unit, and 514 is an error correction unit.

誤り訂正回路501は複数ある符号語と消失フラグを順番に入力し、各符号語に対して誤り位置/数値を求めていく。以下、図8および図9を用いて従来の誤り訂正回路の動作についてその概略を説明する。   The error correction circuit 501 inputs a plurality of code words and erasure flags in order, and obtains an error position / numerical value for each code word. The outline of the operation of the conventional error correction circuit will be described below with reference to FIGS.

まずシンドローム演算部511で、入力した符号語に対するシンドロームを演算する。ここでシンドロームの値がすべて“0”であった場合は、その符号語には誤りがないことを示すので、次の符号語に対する処理を開始する。もしシンドロームに“0”以外の値が存在すれば、その符号語には誤りが存在することを意味するので、後段の誤り位置/数値演算部512にシンドロームを出力し、誤り位置/数値を求めていく。   First, the syndrome calculation unit 511 calculates a syndrome for the input codeword. Here, when all the syndrome values are “0”, it indicates that there is no error in the code word, and processing for the next code word is started. If there is a value other than “0” in the syndrome, it means that there is an error in the code word, so the syndrome is output to the error position / numerical value calculation unit 512 in the subsequent stage to obtain the error position / number. To go.

誤り位置/数値演算部512ではシンドローム演算部511が出力したシンドロームを入力し、また現在処理している符号語に対する消失フラグも入力する。ここでこの消失フラグとは、符号語の各シンボルに対して誤っている、あるいは誤っているかもしれないシンボルの位置を表すもので、この消失フラグを用いる誤り訂正を消失訂正と呼ぶ。これに対し、消失フラグを用いない誤り訂正を通常訂正と呼ぶ。誤り訂正制御部513は誤り位置/数値演算部512に対し、最初に通常訂正アルゴリズムに基づいた演算を行うように制御信号を出力する。誤り位置/数値演算部512は誤り位置および誤り数値を求める演算を行い、その結果が訂正可能であった場合は誤り訂正制御部513に対し訂正可能という誤り訂正結果を出力し、また誤り位置/数値を誤り訂正部514に出力することで誤り訂正部514は正しい符号語に訂正する。その後、誤り訂正回路501は次の符号語に対する誤り訂正を開始する。一方、訂正不能であった場合は誤り位置/数値演算部512は訂正不能であったという誤り訂正結果を出力し、誤り訂正制御部513はそれを認識し、同じ符号語に対して次は消失フラグを用いた消失訂正アルゴリズムに基づいた演算を行うよう制御信号を誤り位置/数値演算部512に対し出力する。   The error position / numerical calculation unit 512 inputs the syndrome output from the syndrome calculation unit 511 and also inputs the erasure flag for the codeword currently being processed. Here, the erasure flag indicates the position of a symbol that is or may be erroneous for each symbol of the code word, and error correction using this erasure flag is called erasure correction. On the other hand, error correction without using the erasure flag is called normal correction. The error correction control unit 513 outputs a control signal to the error position / numerical value calculation unit 512 so that the calculation based on the normal correction algorithm is first performed. The error position / numeric operation unit 512 performs an operation for obtaining an error position and an error value, and if the result is correctable, outputs an error correction result indicating that the error can be corrected to the error correction control unit 513. By outputting the numerical value to the error correction unit 514, the error correction unit 514 corrects the codeword to be correct. Thereafter, the error correction circuit 501 starts error correction for the next codeword. On the other hand, if the correction is impossible, the error position / numerical value calculation unit 512 outputs an error correction result indicating that the correction is impossible, and the error correction control unit 513 recognizes the error, and the next erasure is performed for the same code word. A control signal is output to the error position / numerical value calculation unit 512 so as to perform the calculation based on the erasure correction algorithm using the flag.

ここで、消失フラグの最も信頼性の高いものだけを有効とし、消失フラグ有効数を“1”とする。消失フラグの信頼性とは、例えば符号語のあるシンボルに対して正しい確率が高いにもかかわらずそのシンボルの位置に消失フラグが立っている場合は、信頼性が低いとする。逆に間違っている可能性が高いシンボルの位置に対して消失フラグが立っている場合は、信頼性が高いとする。   Here, it is assumed that only the most reliable erasure flag is valid and the number of erasure flag validity is “1”. The reliability of the erasure flag is assumed to be low when, for example, the erasure flag stands at the position of the symbol even though the correct probability is high for the symbol with the code word. On the other hand, if the erasure flag is set at the position of a symbol that is highly likely to be wrong, it is assumed that the reliability is high.

信頼性の低い消失フラグを用いると、実際には誤っていないデータに対して間違ったデータに誤訂正をしてしまう場合がある。このため信頼性に応じて順位をつけ、信頼性の高い順に消失フラグを有効にし、消失訂正を行っていく。   If an erasure flag with low reliability is used, incorrect data may be erroneously corrected with respect to data that is not actually incorrect. For this reason, ranking is performed according to the reliability, the erasure flags are made effective in descending order of reliability, and the erasure correction is performed.

最初は消失フラグ有効数が“1”であり、最も信頼性の高い消失フラグを用いて誤り位置/数値演算部512は消失訂正アルゴリズムに基づいた演算を行う。その結果訂正可能であれば前述の通り、誤り位置/数値を出力し、次の符号語に対する演算を行う。一方訂正不能であれば、誤り訂正制御部は次に信頼性の高い消失フラグを有効にするとともに、消失フラグ有効数を“2”にする。こうして2つの消失フラグを用いた消失訂正アルゴリズムに基づいた演算を行う。   Initially, the effective number of erasure flags is “1”, and the error position / numerical calculation unit 512 performs an operation based on the erasure correction algorithm using the most reliable erasure flag. If correction is possible as a result, as described above, the error position / numerical value is output and the calculation for the next code word is performed. On the other hand, if the correction is impossible, the error correction control unit enables the next highly reliable erasure flag and sets the erasure flag effective number to “2”. Thus, an operation based on the erasure correction algorithm using the two erasure flags is performed.

以下、消失訂正アルゴリズムに基づいた演算の結果が訂正不能であるたびに、順次信頼性の高い方から有効な消失フラグを追加し、再度消失訂正を行っていく。ただし、最大M個までの消失訂正しかできない符号語であるとすると、消失フラグ有効数がM個になるまで消失訂正を訂正可能になるまで繰り返し行い、消失フラグ有効数がM個を超えた時点で、その符号語に対しては訂正できないと判断し、次の符号語の処理を行うことになる。   Hereinafter, every time the calculation result based on the erasure correction algorithm is uncorrectable, an effective erasure flag is added in order from the one with higher reliability, and erasure correction is performed again. However, if it is a code word that can only correct up to M erasures, it is repeated until the erasure correction can be corrected until the number of erasure flags becomes M, and when the number of erasure flags exceeds M. Therefore, it is determined that the code word cannot be corrected, and the next code word is processed.

以上のように、ある符号語に対し最初は通常訂正を行い、訂正不能であれば有効な消失フラグの数を増やしつつ、訂正可能範囲内で信頼性の高い消失フラグを1つずつ有効にしながら消失訂正を繰り返し行っていく。
特開平7−50594号公報(第10頁−第12頁、図1−図7)
As described above, normal correction is initially performed on a certain code word. If correction is not possible, the number of valid erasure flags is increased, while highly reliable erasure flags are enabled one by one within the correctable range. Repeated erasure correction.
JP-A-7-50594 (pages 10-12, FIGS. 1-7)

ところで、リアルタイム性が要求されている機器において誤り訂正を行う場合、誤り訂正を行える時間というものはシステムの設計段階で決められている。従って、その決められたスペック以上の時間を要してしまった場合にはシステムの破綻を来たすことになる。また誤り訂正が行われる符号語および消失フラグはメモリに格納されていることが多く、符号語の読み込みや誤っているデータの修正時にはメモリアクセスを行う必要がある。このメモリアクセスを行っている最中は電力を消費しており、メモリアクセス回数が多い程、消費電力が大きくなってくる。   By the way, when error correction is performed in a device that requires real-time performance, the time during which error correction can be performed is determined at the system design stage. Therefore, if it takes more time than the determined spec, the system will fail. In addition, codewords and erasure flags that are subjected to error correction are often stored in a memory, and it is necessary to perform memory access when reading codewords or correcting erroneous data. During this memory access, power is consumed, and the power consumption increases as the number of memory accesses increases.

一般に消失訂正というものはあらかじめ誤っているかもしれない位置に対して訂正処理を行うため、例えば誤っていない位置に消失フラグが立っていて、誤っている位置に消失フラグが立っていない場合は、誤っていないデータを間違った値に訂正してしまう誤訂正の確率が高くなる。そのため、可能であるならば通常訂正を先に行い、訂正不能である場合に限り消失訂正を行うほうが、誤訂正確率を低くすることができる。   In general, erasure correction is performed for a position that may be erroneous in advance.For example, when an erasure flag is set at an incorrect position and an erasure flag is not set at an incorrect position, The probability of erroneous correction that corrects incorrect data to an incorrect value increases. Therefore, it is possible to lower the probability of erroneous correction by performing normal correction first if possible and performing erasure correction only when correction is impossible.

前述した従来の誤り訂正回路であれば、1つの符号語に対し最初通常訂正を行い、訂正不能であれば信頼性の高い順に消失フラグを採用しながら、誤り位置および誤り数値が求まるまで、あるいは訂正可能な範囲内の最大個数の消失フラグを用いるまで、消失訂正を繰り返し行う。つまりデータ品質が良く誤りがほとんどない状態であれば、最初の通常訂正で訂正することができるが、逆にデータ品質が悪く誤りが多数存在するようなデータであれば、1つの符号語に対する誤り訂正を行う時間が多くなり、例えば後半の符号語の誤り訂正を行っている段階で、誤り訂正に許可されている時間を超えてしまうことが考えられる。そうなった場合は、データの再リードなどの処理が行われることになるが、こうした処理は、リアルタイム性が要求される機器に対しては致命的な問題になることもある。   In the case of the conventional error correction circuit described above, normal correction is initially performed on one codeword, and if correction is not possible, an erasure flag is employed in order of high reliability until an error position and an error numerical value are obtained, or The erasure correction is repeated until the maximum number of erasure flags within the correctable range is used. In other words, if the data quality is good and there is almost no error, it can be corrected by the first normal correction. Conversely, if the data quality is poor and there are many errors, the error for one codeword For example, it is conceivable that the time required for error correction exceeds the time allowed for error correction at the stage where error correction of the latter half codeword is performed. In such a case, processing such as data re-reading is performed, but such processing may be a fatal problem for a device that requires real-time performance.

この発明は、上記のような従来のものの問題点を解決するためになされたもので、誤訂正を最小限に抑えつつ効率よく誤り訂正を行い、また消費電力の削減を図ることが可能な誤り訂正回路および誤り訂正方法を提供することを目的としている。   The present invention has been made in order to solve the above-described problems of the prior art, and is capable of performing error correction efficiently while minimizing error correction and reducing power consumption. An object of the present invention is to provide a correction circuit and an error correction method.

上記問題を解決するために、本発明では、誤り訂正制御部内にカウンタを設ける。このカウンタは例えば最初の通常訂正が訂正不能で、消失訂正モードに移行した数をカウントしていく。つまり通常訂正では訂正することができない数の誤りが存在する符号語の数をカウントすることになり、この数が多いほどデータ品質が良くないことを意味する。データ品質が良くないということは、現在誤り訂正を行っていない残りの符号語も、通常訂正では訂正できない可能性が高いと考えることができる。   In order to solve the above problem, in the present invention, a counter is provided in the error correction control unit. This counter counts, for example, the number of times that the first normal correction cannot be corrected and the erasure correction mode is entered. That is, the number of codewords having a number of errors that cannot be corrected by normal correction is counted, and the larger the number, the worse the data quality. If the data quality is not good, it can be considered that there is a high possibility that the remaining codewords that are not currently subjected to error correction cannot be corrected by normal correction.

そこでこのカウンタの値がある一定値になった時点で、それ以降の符号語に対する誤り訂正に関しては、通常訂正を行わずに最初から消失訂正を行うようにする。   Therefore, when the value of the counter reaches a certain value, erasure correction is performed from the beginning without performing normal correction for error correction for the codewords thereafter.

あるいはタイマを設けることで誤り訂正開始時からの時間を計測しておき、一定時間が経ったところで上記のような誤り訂正方式に切り替える。   Alternatively, a time is provided from the beginning of error correction by providing a timer, and the error correction method is switched to the above when a certain time has passed.

このことにより、誤り訂正を行って誤りを正常な値に誤り訂正できる確率が低い状態で通常訂正を行うことを省略し、通常訂正よりも誤り訂正できる可能性の高い消失訂正を誤訂正が起こりにくい方法で行うことで、誤り訂正に要する時間の短縮を図る。それにともない、誤り訂正回路の動作時間が短くなることで、消費電力の削減を図ることができる。   This eliminates the need to perform normal correction with a low probability of performing error correction to correct the error to a normal value, resulting in erroneous correction of erasure correction that is more likely to be possible than normal correction. By using a difficult method, the time required for error correction is reduced. Accordingly, the operation time of the error correction circuit is shortened, so that power consumption can be reduced.

即ち、本発明の請求項1に係る誤り訂正回路は、誤り訂正符号が付加された複数の符号語と、前記符号語の1シンボルごとの正誤情報を表す消失フラグとを順次入力し、誤っているシンボルの位置およびその誤り位置に付加された誤り数値(以下、誤り位置/数値と称す)を前記符号語単位で求め、前記符号語を正しい符号語に訂正する誤り訂正回路において、前記符号語からシンドロームを求めるシンドローム演算部と、前記シンドローム演算部が出力するシンドロームを用いて前記符号語の誤り位置/数値を演算する誤り位置/数値演算部と、前記誤り位置/数値演算部が出力する、訂正可能か訂正不能かを示す演算結果を用いて通常訂正または消失訂正のいずれかにより誤り訂正を行うように該誤り位置/数値演算部を制御する誤り訂正制御信号を出力する誤り訂正制御部と、前記誤り位置/数値演算部が出力する誤り位置/数値をもとに符号語の誤り訂正を行う誤り訂正部と、を備え、前記誤り位置/数値演算部は、消失フラグ有効数に基づいて、前記消失フラグから有効な消失フラグを選択する消失フラグセレクタと、前記誤り訂正制御信号が通常訂正を示している場合、前記シンドロームを用いて通常訂正アルゴリズムに基づいた演算を行い、訂正可能か訂正不能かを表す演算結果を出力するとともに、訂正可能であれば誤り位置/数値を出力する通常訂正部と、前記誤り訂正制御信号が消失訂正を示している場合、前記シンドロームと前記有効な消失フラグとを用いて消失訂正アルゴリズムに基づいた演算を行い、訂正可能か訂正不能かを表す演算結果を出力するとともに、訂正可能であれば誤り位置/数値を出力する消失訂正部と、前記通常訂正の誤り位置/数値と前記消失訂正の誤り位置/数値とを入力とし、前記誤り訂正制御信号が前記通常訂正を示していれば前記通常訂正の誤り位置/数値を前記誤り訂正部に出力し、前記誤り訂正制御信号が前記消失訂正を示していれば前記消失訂正の誤り位置/数値を前記誤り訂正部に出力する誤り位置/数値セレクタと、前記通常訂正の演算結果と前記消失訂正の演算結果とを入力とし、前記誤り訂正制御信号が前記通常訂正を示していれば前記通常訂正の演算結果を前記誤り訂正制御部に出力し、前記誤り訂正制御信号が前記消失訂正を示していれば前記消失訂正の演算結果を前記誤り訂正制御部に出力する演算結果セレクタと、を有し、前記誤り訂正制御部は、前記誤り訂正制御信号が消失訂正を示している場合、前記演算結果セレクタが出力する前記演算結果が訂正不能であった回数をカウントし、その値を前記消失フラグ有効数として出力する第1のカウンタと、前記誤り訂正制御信号が通常訂正を示している場合、前記演算結果セレクタが出力する前記演算結果が訂正不能であった回数をカウントする第2のカウンタと、前記第2のカウンタの値が所定の値に達するまでは、前記誤り位置/数値演算部に対し通常訂正または消失訂正を行う旨を指示する前記誤り訂正制御信号を出力し、前記第2のカウンタの値が所定の値に達した場合は、前記誤り位置/数値演算部に対し消失訂正のみを行う旨を指示する前記誤り訂正制御信号を出力する誤り訂正制御信号生成部と、を有する、ことを特徴とするものである。   That is, the error correction circuit according to claim 1 of the present invention sequentially inputs a plurality of codewords to which an error correction code is added and an erasure flag representing correctness information for each symbol of the codeword. In the error correction circuit for obtaining a position of a symbol and an error value added to the error position (hereinafter referred to as error position / value) in units of the codeword, and correcting the codeword to a correct codeword, the codeword A syndrome calculating unit for obtaining a syndrome from the error position, an error position / numerical calculating unit for calculating an error position / numerical value of the codeword using the syndrome output by the syndrome calculating unit, and the error position / numerical calculating unit outputting An error correction that controls the error position / numerical calculation unit to perform error correction by either normal correction or erasure correction using an operation result indicating whether correction is possible or not. An error correction control unit that outputs a control signal; and an error correction unit that performs error correction of a codeword based on the error position / numerical value output by the error position / numerical value calculation unit, and the error position / numerical value calculation A erasure flag selector that selects a valid erasure flag from the erasure flag based on the number of erasure flags, and a normal correction algorithm using the syndrome when the error correction control signal indicates normal correction. A normal correction unit that performs a calculation based on the result and outputs a calculation result indicating whether correction is possible or not, and outputs an error position / numerical value if correction is possible, and the error correction control signal indicates erasure correction A calculation based on a erasure correction algorithm using the syndrome and the valid erasure flag, and outputting a calculation result indicating whether correction is possible or uncorrectable. Further, if correction is possible, an erasure correction unit that outputs an error position / numerical value, the normal correction error position / numerical value, and the erasure correction error position / numerical value are input, and the error correction control signal is the normal correction signal. If correction is indicated, the error position / numerical value of the normal correction is output to the error correction unit, and if the error correction control signal indicates erasure correction, the error position / value of the erasure correction is output to the error correction unit. The error position / numerical value selector to be output to and the normal correction calculation result and the erasure correction calculation result are input, and if the error correction control signal indicates the normal correction, the normal correction calculation result is A calculation result selector that outputs to the error correction control unit and outputs the calculation result of the erasure correction to the error correction control unit if the error correction control signal indicates the erasure correction; and the error correction control The unit counts the number of times that the calculation result output by the calculation result selector is uncorrectable when the error correction control signal indicates erasure correction, and outputs the value as the erasure flag effective number. 1 counter, a second counter that counts the number of times that the operation result output from the operation result selector is uncorrectable when the error correction control signal indicates normal correction, and the second counter Until the value reaches the predetermined value, the error correction control signal instructing the error position / numerical value calculation unit to perform normal correction or erasure correction is output, and the value of the second counter is set to the predetermined value. An error correction control signal generation unit that outputs the error correction control signal that instructs the error position / numerical calculation unit to perform only erasure correction when the value is reached. It is an.

また、本発明の請求項2に係る誤り訂正回路によれば、誤り訂正符号が付加された複数の符号語と、前記符号語の1シンボルごとの正誤情報を表す消失フラグとを順次入力し、誤っているシンボルの位置およびその誤り位置に付加された誤り数値(以下、誤り位置/数値と称す)を前記符号語単位で求め、前記符号語を正しい符号語に訂正する誤り訂正回路において、前記符号語からシンドロームを求めるシンドローム演算部と、前記シンドローム演算部が出力するシンドロームを用いて前記符号語の誤り位置/数値を演算する誤り位置/数値演算部と、前記誤り位置/数値演算部が出力する、訂正可能か訂正不能かを示す演算結果を用いて通常訂正または消失訂正のいずれかにより誤り訂正を行うように該誤り位置/数値演算部を制御する誤り訂正制御信号を出力する誤り訂正制御部と、前記誤り位置/数値演算部が出力する誤り位置/数値をもとに符号語の誤り訂正を行う誤り訂正部と、を備え、前記誤り位置/数値演算部は、消失フラグ有効数に基づいて、前記消失フラグから有効な消失フラグを選択する消失フラグセレクタと、前記誤り訂正制御信号が通常訂正を示している場合、前記シンドロームを用いて通常訂正アルゴリズムに基づいた演算を行い、訂正可能か訂正不能かを表す演算結果を出力するとともに、訂正可能であれば誤り位置/数値を出力する通常訂正部と、前記誤り訂正制御信号が消失訂正を示している場合、前記シンドロームと前記有効な消失フラグとを用いて消失訂正アルゴリズムに基づいた演算を行い、訂正可能か訂正不能かを表す演算結果を出力するとともに、訂正可能であれば誤り位置/数値を出力する消失訂正部と、前記通常訂正の誤り位置/数値と前記消失訂正の誤り位置/数値とを入力とし、前記誤り訂正制御信号が前記通常訂正を示していれば前記通常訂正の誤り位置/数値を前記誤り訂正部に出力し、前記誤り訂正制御信号が前記消失訂正を示していれば前記消失訂正の誤り位置/数値を前記誤り訂正部に出力する誤り位置/数値セレクタと、前記通常訂正の演算結果と前記消失訂正の演算結果とを入力とし、前記誤り訂正制御信号が前記通常訂正を示していれば前記通常訂正の演算結果を前記誤り訂正制御部に出力し、前記誤り訂正制御信号が前記消失訂正を示していれば前記消失訂正の演算結果を前記誤り訂正制御部に出力する演算結果セレクタと、を有し、前記誤り訂正制御部は、前記誤り訂正制御信号が消失訂正を示している場合、前記演算結果セレクタが出力する前記演算結果が訂正不能であった回数をカウントし、その値を前記消失フラグ有効数として出力する第1のカウンタと、所定の時間を計測するタイマと、前記タイマの値が所定の時間に達するまでは、前記誤り位置/数値演算部に対し通常訂正または消失訂正を行う旨を指示する前記誤り訂正制御信号を出力し、前記タイマの値が所定の時間に達した場合は、前記誤り位置/数値演算部に対し消失訂正のみを行う旨を指示する前記誤り訂正制御信号を出力する誤り訂正制御信号生成部と、を有する、ことを特徴とするものである。   Further, according to the error correction circuit of claim 2 of the present invention, a plurality of code words to which an error correction code is added and an erasure flag representing correct / incorrect information for each symbol of the code word are sequentially input, In the error correction circuit for obtaining an error symbol position and an error numerical value added to the error position (hereinafter referred to as error position / numerical value) for each codeword, and correcting the codeword into a correct codeword, A syndrome calculation unit that obtains a syndrome from a code word, an error position / numerical calculation unit that calculates an error position / numerical value of the code word using a syndrome output by the syndrome calculation unit, and an output from the error position / numerical calculation unit The error position / numerical calculation unit is controlled to perform error correction by either normal correction or erasure correction using the calculation result indicating whether correction is possible or not. An error correction control unit that outputs a correction control signal, and an error correction unit that performs error correction of a codeword based on the error position / numerical value output by the error position / numerical value calculation unit, The numerical calculation unit is configured to perform normal correction using the syndrome when the error correction control signal indicates normal correction, and an erasure flag selector that selects a valid erasure flag from the erasure flag based on the effective number of erasure flags. An arithmetic operation based on an algorithm is performed to output a calculation result indicating whether correction is possible or not, and a normal correction unit that outputs an error position / numerical value if correction is possible, and the error correction control signal indicates erasure correction. If it is, the calculation based on the erasure correction algorithm is performed using the syndrome and the effective erasure flag, and the operation result indicating whether correction is possible or not is output. And an erasure correction unit that outputs an error position / numerical value if correctable, an error position / numerical value of the normal correction, and an error position / numerical value of the erasure correction, and the error correction control signal is If correction is indicated, the error position / numerical value of the normal correction is output to the error correction unit, and if the error correction control signal indicates erasure correction, the error position / value of the erasure correction is output to the error correction unit. The error position / numerical value selector to be output to and the normal correction calculation result and the erasure correction calculation result are input, and if the error correction control signal indicates the normal correction, the normal correction calculation result is A calculation result selector that outputs to the error correction control unit and outputs the calculation result of the erasure correction to the error correction control unit if the error correction control signal indicates the erasure correction; When the error correction control signal indicates erasure correction, the positive control unit counts the number of times that the operation result output by the operation result selector is uncorrectable, and outputs the value as the erasure flag effective number A first counter for measuring, a timer for measuring a predetermined time, and instructing the error position / numerical value calculation unit to perform normal correction or erasure correction until the value of the timer reaches a predetermined time. An error correction control signal is output, and when the value of the timer reaches a predetermined time, the error correction control signal is output to instruct the error position / numerical calculation unit to perform only erasure correction. And a control signal generation unit.

また、本発明の請求項3に係る誤り訂正回路によれば、誤り訂正符号が付加された複数の符号語と、前記符号語の1シンボルごとの正誤情報を表す消失フラグとを順次入力し、誤っているシンボルの位置およびその誤り位置に付加された誤り数値(以下、誤り位置/数値と称す)を前記符号語単位で求め、前記符号語を正しい符号語に訂正する誤り訂正回路において、前記符号語からシンドロームを求めるシンドローム演算部と、前記シンドローム演算部が出力するシンドロームを用いて前記符号語の誤り位置/数値を演算する誤り位置/数値演算部と、前記誤り位置/数値演算部が出力する、訂正可能か訂正不能かを示す演算結果を用いて通常訂正または消失訂正のいずれかにより誤り訂正を行うように該誤り位置/数値演算部を制御する誤り訂正制御信号を出力する誤り訂正制御部と、前記誤り位置/数値演算部が出力する誤り位置/数値をもとに符号語の誤り訂正を行う誤り訂正部と、を備え、前記誤り位置/数値演算部は、消失フラグ有効数に基づいて、前記消失フラグから有効な消失フラグを選択する消失フラグセレクタと、前記誤り訂正制御信号が通常訂正を示している場合、前記シンドロームを用いて通常訂正アルゴリズムに基づいた演算を行い、訂正可能か訂正不能かを表す演算結果を出力するとともに、訂正可能であれば誤り位置/数値を出力する通常訂正部と、前記誤り訂正制御信号が消失訂正を示している場合、前記シンドロームと前記有効な消失フラグとを用いて消失訂正アルゴリズムに基づいた演算を行い、訂正可能か訂正不能かを表す演算結果を出力するとともに、訂正可能であれば誤り位置/数値を出力する消失訂正部と、前記通常訂正の誤り位置/数値と前記消失訂正の誤り位置/数値とを入力とし、前記誤り訂正制御信号が前記通常訂正を示していれば前記通常訂正の誤り位置/数値を前記誤り訂正部に出力し、前記誤り訂正制御信号が前記消失訂正を示していれば前記消失訂正の誤り位置/数値を前記誤り訂正部に出力する誤り位置/数値セレクタと、前記通常訂正の演算結果と前記消失訂正の演算結果とを入力とし、前記誤り訂正制御信号が前記通常訂正を示していれば前記通常訂正の演算結果を前記誤り訂正制御部に出力し、前記誤り訂正制御信号が前記消失訂正を示していれば前記消失訂正の演算結果を前記誤り訂正制御部に出力する演算結果セレクタと、を有し、前記誤り訂正制御部は、前記誤り訂正制御信号が消失訂正を示している場合、前記演算結果セレクタが出力する前記演算結果が訂正不能であった回数をカウントし、その値を前記消失フラグ有効数として出力する第1のカウンタと、前記シンドローム演算部によって求めた前記シンドロームがすべて“0”であった回数をカウントする第2のカウンタと、前記第2のカウンタの値が所定の値に達するまでは、前記誤り位置/数値演算部に対し通常訂正または消失訂正を行う旨を指示する前記誤り訂正制御信号を出力し、前記第2のカウンタの値が所定の値に達した場合は、前記シンドローム演算部および前記誤り位置/数値演算部に対し残りの符号語に対する誤り訂正を行わない旨を指示する前記誤り訂正制御信号を出力する誤り訂正制御信号生成部と、を有する、ことを特徴とするものである。   Further, according to the error correction circuit of claim 3 of the present invention, a plurality of code words to which an error correction code is added and an erasure flag representing correct / incorrect information for each symbol of the code word are sequentially input, In the error correction circuit for obtaining an error symbol position and an error numerical value added to the error position (hereinafter referred to as error position / numerical value) for each codeword, and correcting the codeword into a correct codeword, A syndrome calculation unit that obtains a syndrome from a code word, an error position / numerical calculation unit that calculates an error position / numerical value of the code word using a syndrome output by the syndrome calculation unit, and an output from the error position / numerical calculation unit The error position / numerical calculation unit is controlled to perform error correction by either normal correction or erasure correction using the calculation result indicating whether correction is possible or not. An error correction control unit that outputs a correction control signal, and an error correction unit that performs error correction of a codeword based on the error position / numerical value output by the error position / numerical value calculation unit, The numerical calculation unit is configured to perform normal correction using the syndrome when the error correction control signal indicates normal correction, and an erasure flag selector that selects a valid erasure flag from the erasure flag based on the effective number of erasure flags. An arithmetic operation based on an algorithm is performed to output a calculation result indicating whether correction is possible or not, and a normal correction unit that outputs an error position / numerical value if correction is possible, and the error correction control signal indicates erasure correction. If it is, the calculation based on the erasure correction algorithm is performed using the syndrome and the effective erasure flag, and the operation result indicating whether correction is possible or not is output. And an erasure correction unit that outputs an error position / numerical value if correctable, an error position / numerical value of the normal correction, and an error position / numerical value of the erasure correction, and the error correction control signal is If correction is indicated, the error position / numerical value of the normal correction is output to the error correction unit, and if the error correction control signal indicates erasure correction, the error position / value of the erasure correction is output to the error correction unit. The error position / numerical value selector to be output to and the normal correction calculation result and the erasure correction calculation result are input, and if the error correction control signal indicates the normal correction, the normal correction calculation result is A calculation result selector that outputs to the error correction control unit and outputs the calculation result of the erasure correction to the error correction control unit if the error correction control signal indicates the erasure correction; When the error correction control signal indicates erasure correction, the positive control unit counts the number of times that the operation result output by the operation result selector is uncorrectable, and outputs the value as the erasure flag effective number Until the value of the second counter reaches a predetermined value, a second counter that counts the number of times that the syndrome obtained by the syndrome calculation unit is all “0”, When the error correction control signal for instructing the error position / numerical calculation unit to perform normal correction or erasure correction is output, and the value of the second counter reaches a predetermined value, the syndrome calculation unit And an error correction control signal generation unit that outputs the error correction control signal that instructs the error position / numerical operation unit not to perform error correction on the remaining codewords; Having, it is characterized in.

また、本発明の請求項4に係る誤り訂正回路によれば、誤り訂正符号が付加された複数の符号語と、前記符号語の1シンボルごとの正誤情報を表す消失フラグとを順次入力し、誤っているシンボルの位置およびその誤り位置に付加された誤り数値(以下、誤り位置/数値と称す)を前記符号語単位で求め、前記符号語を正しい符号語に訂正する誤り訂正回路において、前記符号語からシンドロームを求めるシンドローム演算部と、前記シンドローム演算部が出力するシンドロームを用いて前記符号語の誤り位置/数値を演算する誤り位置/数値演算部と、前記誤り位置/数値演算部が出力する、訂正可能か訂正不能かを示す演算結果を用いて通常訂正または消失訂正のいずれかにより誤り訂正を行うように該誤り位置/数値演算部を制御する誤り訂正制御信号を出力する誤り訂正制御部と、前記誤り位置/数値演算部が出力する誤り位置/数値をもとに符号語の誤り訂正を行う誤り訂正部と、を備え、前記誤り位置/数値演算部は、消失フラグ有効数に基づいて、前記消失フラグから有効な消失フラグを選択する消失フラグセレクタと、前記誤り訂正制御信号が通常訂正を示している場合、前記シンドロームを用いて通常訂正アルゴリズムに基づいた演算を行い、訂正可能か訂正不能かを表す演算結果を出力するとともに、訂正可能であれば誤り位置/数値を出力する通常訂正部と、前記誤り訂正制御信号が消失訂正を示している場合、前記シンドロームと前記有効な消失フラグとを用いて消失訂正アルゴリズムに基づいた演算を行い、訂正可能か訂正不能かを表す演算結果を出力するとともに、訂正可能であれば誤り位置/数値を出力する消失訂正部と、前記通常訂正の誤り位置/数値と前記消失訂正の誤り位置/数値とを入力とし、前記誤り訂正制御信号が前記通常訂正を示していれば前記通常訂正の誤り位置/数値を前記誤り訂正部に出力し、前記誤り訂正制御信号が前記消失訂正を示していれば前記消失訂正の誤り位置/数値を前記誤り訂正部に出力する誤り位置/数値セレクタと、前記通常訂正の演算結果と前記消失訂正の演算結果とを入力とし、前記誤り訂正制御信号が前記通常訂正を示していれば前記通常訂正の演算結果を前記誤り訂正制御部に出力し、前記誤り訂正制御信号が前記消失訂正を示していれば前記消失訂正の演算結果を前記誤り訂正制御部に出力する演算結果セレクタと、を有し、前記誤り訂正制御部は、前記誤り訂正制御信号が消失訂正を示している場合、前記演算結果セレクタが出力する前記演算結果が訂正不能であった回数をカウントし、その値を前記消失フラグ有効数として出力する第1のカウンタと、前記誤り訂正制御信号が消失訂正を示し、かつ前記第1のカウンタの値が消失訂正可能な最大消失フラグ個数を示している場合、前記演算結果セレクタが出力する前記演算結果が訂正不能であった回数をカウントする第2のカウンタと、前記第2のカウンタの値が所定の値に達するまでは、前記誤り位置/数値演算部に対し通常訂正または消失訂正を行う旨を指示する前記誤り訂正制御信号を出力し、前記第2のカウンタの値が所定の値に達した場合は、前記シンドローム演算部および前記誤り位置/数値演算部に対し残りの符号語に対する誤り訂正を行わない旨を指示する前記誤り訂正制御信号を出力する誤り訂正制御信号生成部と、を有する、ことを特徴とするものである。   According to the error correction circuit of claim 4 of the present invention, a plurality of codewords to which an error correction code is added and an erasure flag representing correctness information for each symbol of the codeword are sequentially input, In the error correction circuit for obtaining an error symbol position and an error numerical value added to the error position (hereinafter referred to as error position / numerical value) for each codeword, and correcting the codeword into a correct codeword, A syndrome calculation unit that obtains a syndrome from a code word, an error position / numerical calculation unit that calculates an error position / numerical value of the code word using a syndrome output by the syndrome calculation unit, and an output from the error position / numerical calculation unit The error position / numerical calculation unit is controlled to perform error correction by either normal correction or erasure correction using the calculation result indicating whether correction is possible or not. An error correction control unit that outputs a correction control signal, and an error correction unit that performs error correction of a codeword based on the error position / numerical value output by the error position / numerical value calculation unit, The numerical calculation unit is configured to perform normal correction using the syndrome when the error correction control signal indicates normal correction, and an erasure flag selector that selects a valid erasure flag from the erasure flag based on the effective number of erasure flags. An arithmetic operation based on an algorithm is performed to output a calculation result indicating whether correction is possible or not, and a normal correction unit that outputs an error position / numerical value if correction is possible, and the error correction control signal indicates erasure correction. If it is, the calculation based on the erasure correction algorithm is performed using the syndrome and the effective erasure flag, and the operation result indicating whether correction is possible or not is output. And an erasure correction unit that outputs an error position / numerical value if correctable, an error position / numerical value of the normal correction, and an error position / numerical value of the erasure correction, and the error correction control signal is If correction is indicated, the error position / numerical value of the normal correction is output to the error correction unit, and if the error correction control signal indicates erasure correction, the error position / value of the erasure correction is output to the error correction unit. The error position / numerical value selector to be output to and the normal correction calculation result and the erasure correction calculation result are input, and if the error correction control signal indicates the normal correction, the normal correction calculation result is A calculation result selector that outputs to the error correction control unit and outputs the calculation result of the erasure correction to the error correction control unit if the error correction control signal indicates the erasure correction; When the error correction control signal indicates erasure correction, the positive control unit counts the number of times that the operation result output by the operation result selector is uncorrectable, and outputs the value as the erasure flag effective number And when the error correction control signal indicates erasure correction and the value of the first counter indicates the maximum number of erasure flags that can be erasure corrected, the operation result selector outputs the operation A second counter that counts the number of times the result is uncorrectable, and until the value of the second counter reaches a predetermined value, normal correction or erasure correction is performed on the error position / numerical value calculation unit. When the second counter value reaches a predetermined value, the error correction control signal is output to the syndrome calculation unit and the error position / numerical calculation unit. Having, an error correction control signal generator for outputting the error-correction control signal for instructing not to perform error correction for the code words, it is characterized in.

また、本発明の請求項5に係る誤り訂正回路は、請求項1ないし4のいずれかに記載の誤り訂正回路において、前記符号語の誤っている確率が高いシンボルに対応する前記消失フラグの信頼性を高いとし、誤っている確率が低いシンボルに対応する前記消失フラグの信頼性を低いとする、ことを特徴とするものである。   An error correction circuit according to claim 5 of the present invention is the error correction circuit according to any one of claims 1 to 4, wherein the reliability of the erasure flag corresponding to a symbol having a high probability that the codeword is erroneous. And the reliability of the erasure flag corresponding to a symbol with a low probability of being erroneous is low.

また、本発明の請求項6に係る誤り訂正回路は、請求項1ないし4のいずれかに記載の誤り訂正回路において、前記消失フラグセレクタは、前記消失フラグの信頼性の高い順に前記消失フラグ有効数が示す数の前記消失フラグを前記有効な消失フラグとする、ことを特徴とするものである。   An error correction circuit according to a sixth aspect of the present invention is the error correction circuit according to any one of the first to fourth aspects, wherein the erasure flag selector includes the erasure flag valid in descending order of reliability of the erasure flag. The number of erasure flags indicated by the number is used as the effective erasure flag.

また、本発明の請求項7に係る誤り訂正回路は、請求項1ないし4のいずれかに記載の誤り訂正回路において、前記誤り訂正制御信号生成部は、前記消失フラグ有効数が消失訂正可能な最大消失フラグ数に達するまで前記消失訂正を繰り返し行うよう、前記誤り訂正制御信号を設定する、ことを特徴とするものである。   An error correction circuit according to a seventh aspect of the present invention is the error correction circuit according to any one of the first to fourth aspects, wherein the error correction control signal generation unit can correct the erasure flag effective number. The error correction control signal is set so that the erasure correction is repeated until the maximum number of erasure flags is reached.

また、本発明の請求項8に係る誤り訂正方法は、誤り訂正符号が付加された複数の符号語と、前記符号語の1シンボルごとの正誤情報を表す消失フラグとを順次入力し、前記符号語を正しい符号語に訂正する誤り訂正方法において、通常訂正アルゴリズムに基づく演算または消失訂正アルゴリズムに基づく演算により前記符号語の誤り訂正を行うとともに、該演算結果が訂正不能であった回数をカウントする第1の工程と、該第1の工程による前記訂正不能回数が所定の値に達した場合、前記消失訂正アルゴリズムに基づく演算のみにより前記符号語の誤り訂正を行う第2の工程と、を含む、ことを特徴とするものである。   The error correction method according to claim 8 of the present invention sequentially inputs a plurality of codewords to which an error correction code is added and an erasure flag representing correct / incorrect information for each symbol of the codeword. In an error correction method for correcting a word to a correct code word, error correction of the code word is performed by an operation based on a normal correction algorithm or an operation based on an erasure correction algorithm, and the number of times the operation result is uncorrectable is counted A first step, and a second step of performing error correction of the codeword only by an operation based on the erasure correction algorithm when the uncorrectable number of times in the first step reaches a predetermined value. It is characterized by that.

また、本発明の請求項9に係る誤り訂正方法は、誤り訂正符号が付加された複数の符号語と、前記符号語の1シンボルごとの正誤情報を表す消失フラグとを順次入力し、前記符号語を正しい符号語に訂正する誤り訂正方法において、通常訂正アルゴリズムに基づく演算または消失訂正アルゴリズムに基づく演算により前記符号語の誤り訂正を行うとともに、誤り訂正動作の開始からの経過時間を計測する第1の工程と、該第1の工程による前記経過時間が所定の時間を経過した場合、前記消失訂正アルゴリズムに基づく演算のみにより前記符号語の誤り訂正を行う第2の工程と、を含む、ことを特徴とするものである。   An error correction method according to claim 9 of the present invention sequentially inputs a plurality of codewords to which an error correction code is added and an erasure flag representing correct / incorrect information for each symbol of the codeword. In an error correction method for correcting a word into a correct code word, the code word is corrected by an operation based on a normal correction algorithm or an operation based on an erasure correction algorithm, and an elapsed time from the start of the error correction operation is measured. And a second step of performing error correction of the codeword only by an operation based on the erasure correction algorithm when the elapsed time in the first step has exceeded a predetermined time. It is characterized by.

また、本発明の請求項10に係る誤り訂正方法は、誤り訂正符号が付加された複数の符号語と、前記符号語の1シンボルごとの正誤情報を表す消失フラグとを順次入力し、前記符号語を正しい符号語に訂正する誤り訂正方法において、通常訂正アルゴリズムに基づく演算または消失訂正アルゴリズムに基づく演算により前記符号語の誤り訂正を行うとともに、前記符号語から求めたシンドロームがすべて“0”であった回数をカウントする第1の工程と、該第1の工程によるカウント値が所定の値に達した場合、残りの符号語に対する誤り訂正を中断する第2の工程と、を含む、ことを特徴とするものである。   The error correction method according to claim 10 of the present invention sequentially inputs a plurality of codewords to which an error correction code is added and an erasure flag indicating correct / incorrect information for each symbol of the codeword. In an error correction method for correcting a word into a correct codeword, error correction of the codeword is performed by an operation based on a normal correction algorithm or an operation based on an erasure correction algorithm, and all the syndromes obtained from the codeword are “0”. A first step of counting the number of occurrences, and a second step of interrupting error correction for the remaining codewords when the count value in the first step reaches a predetermined value. It is a feature.

また、本発明の請求項11に係る誤り訂正方法は、誤り訂正符号が付加された複数の符号語と、前記符号語の1シンボルごとの正誤情報を表す消失フラグとを順次入力し、前記符号語を正しい符号語に訂正する誤り訂正方法において、通常訂正アルゴリズムに基づく演算または消失訂正アルゴリズムに基づく演算により前記符号語の誤り訂正を行うとともに、該誤り訂正が不能であった回数をカウントする第1の工程と、該第1の工程によるカウント値が所定の値に達した場合、残りの符号語に対する誤り訂正を中断する第2の工程と、を含む、ことを特徴とするものである。   An error correction method according to an eleventh aspect of the present invention sequentially inputs a plurality of codewords to which an error correction code is added and an erasure flag indicating correct / incorrect information for each symbol of the codeword, In an error correction method for correcting a word to a correct code word, the code word is corrected by an operation based on a normal correction algorithm or an operation based on an erasure correction algorithm, and the number of times the error correction is impossible is counted. 1 and a second step of interrupting error correction for the remaining codewords when the count value of the first step reaches a predetermined value.

本発明によれば、複数ある符号語それぞれに対する誤り訂正結果を考慮することで誤り訂正モードを適切に切り替え、無駄な処理を減らすことで誤り訂正時間を短縮することができ、またそれにともない誤り訂正回路の消費電力を削減することも可能となる。   According to the present invention, an error correction mode can be appropriately switched by considering an error correction result for each of a plurality of codewords, and an error correction time can be shortened by reducing wasteful processing. It is also possible to reduce the power consumption of the circuit.

即ち、本発明の請求項1,請求項5ないし請求項7に係る誤り訂正回路は、品質が全体的に悪いデータに対しある時点より誤り訂正モードを変更することで、誤訂正確率を最小限に抑えつつ誤り訂正に必要な時間を短縮でき、またその分消費電力の低下を図ることが可能となる。   In other words, the error correction circuit according to claims 1, 5 to 7 of the present invention minimizes the error correction probability by changing the error correction mode from a certain point in time for data with overall poor quality. Therefore, the time required for error correction can be shortened while suppressing power consumption, and the power consumption can be reduced accordingly.

本発明の請求項2,請求項5ないし請求項7に係る誤り訂正回路は、誤り訂正開始時からの時間を計測しておき、一定時間に達した時点で誤り訂正モードを変更することで、システムの破綻を逃れるようにすることが可能となる。   The error correction circuit according to claims 2, 5 to 7 of the present invention measures the time from the start of error correction, and changes the error correction mode when reaching a certain time, It becomes possible to escape from the failure of the system.

本発明の請求項3,請求項5から請求項7に係る誤り訂正回路は、品質が全体的に良いデータに対しある時点で誤り訂正を中断することで、誤り訂正に必要な時間を短縮でき、またその分消費電力の低下を図ることが可能となる。   The error correction circuit according to claims 3 to 5 of the present invention can shorten the time required for error correction by interrupting the error correction at a certain point in time for data having good overall quality. In addition, power consumption can be reduced accordingly.

本発明の請求項4,請求項5から請求項7に係る誤り訂正回路は、品質が全体的に悪いデータに対しある時点より誤り訂正を行わないことで、無駄な動作を中断し消費電力の削減を図ることが可能となる。   The error correction circuit according to claims 4, 5 to 7 of the present invention does not perform error correction from a certain point in time for data with overall poor quality, thereby interrupting useless operation and reducing power consumption. Reduction can be achieved.

本発明の請求項8に係る誤り訂正方法は、品質が全体的に悪いデータに対しある時点より誤り訂正モードを変更することで、誤訂正確率を最小限に抑えつつ誤り訂正に必要な時間を短縮でき、またその分消費電力の低下を図ることが可能となる。   In the error correction method according to claim 8 of the present invention, the time required for error correction can be reduced while minimizing the error correction probability by changing the error correction mode from a certain point in time for data with overall poor quality. It can be shortened and the power consumption can be reduced accordingly.

本発明の請求項9に係る誤り訂正方法は、誤り訂正開始時からの時間を計測しておき、一定時間に達した時点で誤り訂正モードを変更することで、システムの破綻を逃れるようにすることが可能となる。   The error correction method according to claim 9 of the present invention measures the time from the start of error correction, and changes the error correction mode when it reaches a certain time, thereby avoiding the failure of the system. It becomes possible.

本発明の請求項10に係る誤り訂正方法は、品質が全体的に良いデータに対しある時点で誤り訂正を中断することで、誤り訂正に必要な時間を短縮でき、またその分消費電力の低下を図ることが可能となる。   In the error correction method according to claim 10 of the present invention, the time required for error correction can be shortened by interrupting error correction at a certain point in time for data with overall good quality, and the power consumption is reduced accordingly. Can be achieved.

本発明の請求項11に係る誤り訂正方法は、品質が全体的に悪いデータに対しある時点より誤り訂正を行わないことで、無駄な動作を中断し消費電力の削減を図ることが可能となる。   In the error correction method according to the eleventh aspect of the present invention, it is possible to interrupt useless operations and reduce power consumption by not performing error correction from a certain point in time on data with overall poor quality. .

以下、本発明の実施をするための最良の形態を具体的に示した実施例について、図面とともに記載する。   Hereinafter, examples specifically showing the best mode for carrying out the present invention will be described with reference to the drawings.

(実施の形態1)
本発明の実施の形態1による誤り訂正回路(本発明の請求項1,請求項5ないし請求項7に対応)および誤り訂正方法(請求項8に対応)について、図1,図2,図3を用いて説明する。
(Embodiment 1)
The error correction circuit (corresponding to claims 1 to 5 of the present invention) and the error correction method (corresponding to claim 8) according to the first embodiment of the present invention are shown in FIGS. Will be described.

この実施の形態1は、全体的にデータ品質が悪いデータに対し、通常訂正で訂正できる可能性が低いと判断した時点で消失訂正に切り替えることで、誤訂正確率を最小限に抑えつつ、誤り訂正に必要な時間を短縮できるようにしたものである。   The first embodiment switches to erasure correction at the time when it is determined that the possibility of being able to be corrected by normal correction is low with respect to data with poor overall data quality, while minimizing the error correction probability, The time required for correction can be shortened.

図1において、1は誤り訂正回路であり、誤り訂正符号が付加された複数の符号語と、前記符号語の1シンボルごとの正誤情報を表す消失フラグとを順次入力し、誤っているシンボルの位置およびその誤り位置に付加された誤り数値(以下、誤り位置/数値と称す)を前記符号語単位で求め、前記符号語を正しい符号語に訂正する。   In FIG. 1, reference numeral 1 denotes an error correction circuit, which sequentially inputs a plurality of codewords to which an error correction code is added and an erasure flag indicating correct / incorrect information for each symbol of the codeword. A position and an error numerical value added to the error position (hereinafter referred to as an error position / numerical value) are obtained for each codeword, and the codeword is corrected to a correct codeword.

該誤り訂正回路1において、11は符号語からシンドロームを求めるシンドローム演算部、12はシンドローム演算部11が出力するシンドロームを用いて符号語の誤り位置/数値を演算する誤り位置/数値演算部、13は誤り位置/数値演算部12が出力する訂正可能か訂正不能かを示す演算結果を用いて通常訂正または消失訂正のいずれかにより誤り訂正を行うように誤り位置/数値演算部12を制御する誤り訂正制御部、14は誤り位置/数値演算部12が出力する誤り位置/数値をもとに符号語の誤り訂正を行う誤り訂正部である。   In the error correction circuit 1, reference numeral 11 denotes a syndrome calculation unit that obtains a syndrome from a code word, 12 denotes an error position / numerical calculation unit that calculates an error position / numerical value of the code word using the syndrome output from the syndrome calculation unit 11, 13 Is an error for controlling the error position / numerical calculation unit 12 to perform error correction by either normal correction or erasure correction using the calculation result output from the error position / numerical calculation unit 12 indicating whether correction is possible or not. The correction control unit 14 is an error correction unit that performs error correction of the codeword based on the error position / numerical value output from the error position / numerical value calculation unit 12.

また、誤り位置/数値演算部12において、121は消失フラグ有効数に基づいて、消失フラグから有効な消失フラグを選択する消失フラグセレクタ、122は誤り訂正制御信号が通常訂正を示している場合、前記シンドロームを用いて通常訂正アルゴリズムに基づいた演算を行い、訂正可能か訂正不能かを表す演算結果を出力するとともに、訂正可能であれば誤り位置/数値を出力する通常訂正部、123は誤り訂正制御信号が消失訂正を示している場合、前記シンドロームと前記有効な消失フラグとを用いて消失訂正アルゴリズムに基づいた演算を行い、訂正可能か訂正不能かを表す演算結果を出力するとともに、訂正可能であれば誤り位置/数値を出力する消失訂正部、124は通常訂正の誤り位置/数値と消失訂正の誤り位置/数値とを入力とし、誤り訂正制御信号が前記通常訂正を示していれば通常訂正の誤り位置/数値を誤り訂正部14に出力し、誤り訂正制御信号が消失訂正を示していれば消失訂正の誤り位置/数値を誤り訂正部14に出力する誤り位置/数値セレクタ、125は通常訂正の演算結果と消失訂正の演算結果とを入力とし、誤り訂正制御信号が通常訂正を示していれば通常訂正の演算結果を誤り訂正制御部13に出力し、誤り訂正制御信号が消失訂正を示していれば消失訂正の演算結果を誤り訂正制御部13に出力する演算結果セレクタである。   In the error position / numerical value calculation unit 12, 121 is an erasure flag selector that selects a valid erasure flag from the erasure flags based on the number of erasure flags, and 122 is an error correction control signal indicating normal correction. A normal correction unit that performs an operation based on a normal correction algorithm using the syndrome, outputs an operation result indicating whether correction is possible or not, and outputs an error position / numerical value if correction is possible, 123 is an error correction When the control signal indicates erasure correction, an operation based on the erasure correction algorithm is performed using the syndrome and the effective erasure flag, and an operation result indicating whether correction is possible or not is output and correction is possible. If this is the case, the erasure correction unit for outputting the error position / numerical value, 124 indicates the error position / numerical value for normal correction and the error position / numerical value for erasure correction. If the error correction control signal indicates normal correction, the error position / numerical value of normal correction is output to the error correction unit 14, and if the error correction control signal indicates erasure correction, the error position of erasure correction / Error position / numeric selector for outputting a numerical value to the error correction unit 14, 125 is a normal correction calculation result and an erasure correction calculation result as inputs. If the error correction control signal indicates normal correction, normal correction calculation The calculation result selector outputs the result to the error correction control unit 13 and outputs the calculation result of the erasure correction to the error correction control unit 13 if the error correction control signal indicates erasure correction.

また、誤り訂正制御部13において、131は誤り訂正制御信号が消失訂正を示している場合、演算結果セレクタが出力する演算結果が訂正不能であった回数をカウントし、その値を前記消失フラグ有効数として出力する第1のカウンタ、132は誤り訂正制御信号が通常訂正を示している場合、演算結果セレクタが出力する前記演算結果が訂正不能であった回数をカウントする第2のカウンタ、133は第2のカウンタ132の値が所定の値に達するまでは、誤り位置/数値演算部に対し通常訂正または消失訂正を行う旨を指示する誤り訂正制御信号を出力し、第2のカウンタ132の値が所定の値に達した場合は、誤り位置/数値演算部12に対し消失訂正のみを行う旨を指示する前記誤り訂正制御信号を出力する誤り訂正制御信号生成部である。   In the error correction control unit 13, when the error correction control signal indicates erasure correction, 131 counts the number of times that the operation result output from the operation result selector is uncorrectable, and the value is used as the erasure flag valid. A first counter 132 that outputs as a number, a second counter 132 that counts the number of times that the operation result output by the operation result selector cannot be corrected when the error correction control signal indicates normal correction, Until the value of the second counter 132 reaches a predetermined value, an error correction control signal for instructing the error position / numerical value calculation unit to perform normal correction or erasure correction is output, and the value of the second counter 132 is output. Error correction control signal generation that outputs the error correction control signal instructing the error position / numerical operation unit 12 to perform only erasure correction when the error value reaches a predetermined value. It is.

図2は1つの符号語に対する誤り訂正のフローチャートである。符号語の数だけ図2に示された処理が繰り返される。   FIG. 2 is a flowchart of error correction for one codeword. The process shown in FIG. 2 is repeated by the number of code words.

図2において、S201は通常訂正における訂正不能回数jを“0”に設定するステップ、S202はシンドロームがすべて“0”かを判定するステップ、S203はjが所定値か否かを判定するステップ、S204は通常訂正を行うステップ、S205は通常訂正により訂正可能か否かを判定するステップ、S206は消失フラグ有効数iを“1”に設定するとともにjに“1”を加算するステップ、S207は消失訂正を行うステップ、S208は消失訂正による訂正が可能またはiがMになったかを判定するステップ、S209はiに“1”を加算するステップ、S210はiを“1”に設定するステップ、S211は次の符号語のシンドローム演算を行うステップ、S200aはステップS203,S210,S207,S208,S209以外の各ステップからなる第1の工程であり、通常訂正アルゴリズムに基づく演算または消失訂正アルゴリズムに基づく演算により符号語の誤り訂正を行うとともに、演算結果が訂正不能であった回数をカウントする。S200bはステップS203,S210,S207,S208,S209の各ステップからなる第2の工程であり、第1の工程S200aによる前記訂正不能回数が所定の値に達した場合、消失訂正アルゴリズムに基づく演算のみにより符号語の誤り訂正を行う。   In FIG. 2, S201 is a step of setting the uncorrectable number j in normal correction to “0”, S202 is a step of determining whether all syndromes are “0”, S203 is a step of determining whether j is a predetermined value, S204 is a step of performing normal correction, S205 is a step of determining whether correction is possible by normal correction, S206 is a step of setting the erasure flag effective number i to “1” and adding “1” to j, and S207. A step of performing erasure correction, S208 is a step of determining whether correction by erasure correction is possible or i is M, S209 is a step of adding “1” to i, S210 is a step of setting i to “1”, S211 is a step for performing a syndrome calculation of the next code word, and S200a is a step S203, S210, S207, S208, A first step consisting the steps other than 209, performs error correction code words by calculation based on the operation or erasure correction algorithm based on the normal correction algorithm counts the number of times calculation result is uncorrectable. S200b is a second step comprising steps S203, S210, S207, S208, and S209. When the uncorrectable number of times in the first step S200a reaches a predetermined value, only an operation based on the erasure correction algorithm is performed. To correct the error of the code word.

図3は消失フラグについて説明した図である。
次に動作について説明する。図1において、誤り訂正符号が付加された符号語が複数あり、誤り訂正回路1はこの符号語を1つずつ入力し誤り訂正を行う。また各符号語に対する消失フラグも入力する。ここで消失フラグとは図3に示すように、例えば符号語が1Byte=1シンボルで符号長がNの場合、1シンボル目からNシンボル目までのそれぞれの位置に対する正誤情報を持っており、誤っている可能性のあるシンボルの位置に対して消失フラグが立っているが、中には誤っていない確率が高い位置に消失フラグが立っていて、逆に誤っている確率が高い位置に消失フラグが立っていない可能性もある。この場合に消失訂正を行うと間違っていないデータを間違ったデータに訂正してしまう誤訂正を引き起こす可能性も生じる。一方、消失フラグを用いないで誤り訂正を行う通常訂正の場合、誤り位置と誤り数値を求める必要があるため、消失訂正のようにあらかじめ誤っている位置がわかっている場合に比べて、誤り訂正できる誤りの数は少なくなる。しかし、通常訂正のほうが消失訂正に比べて誤訂正を引き起こす確率が少ないため最初に通常訂正を行い、訂正不能の場合に消失訂正を行っていくのが理想である。本発明における誤り訂正もこの方法を採用している。
FIG. 3 is a diagram illustrating the disappearance flag.
Next, the operation will be described. In FIG. 1, there are a plurality of code words to which error correction codes are added, and the error correction circuit 1 inputs the code words one by one and performs error correction. An erasure flag for each codeword is also input. Here, as shown in FIG. 3, for example, when the code word is 1 byte = 1 symbol and the code length is N, the erasure flag has correct / incorrect information for each position from the 1st symbol to the Nth symbol. An erasure flag is set at the position of a symbol that may have been lost, but an erasure flag is set at a position where there is a high probability that there is no error, and conversely, an erasure flag is set at a position where there is a high probability of being incorrect. May not be standing. In this case, if erasure correction is performed, there is a possibility of causing erroneous correction that corrects correct data to incorrect data. On the other hand, in the case of normal correction in which error correction is performed without using an erasure flag, it is necessary to obtain an error position and an error numerical value, so that error correction is performed compared to a case where an erroneous position is known in advance, such as erasure correction. The number of errors that can be made is reduced. However, since normal correction is less likely to cause erroneous correction than erasure correction, it is ideal to perform normal correction first, and to perform erasure correction when correction is impossible. The error correction in the present invention also employs this method.

誤り訂正回路1は複数ある符号語のうち1番目の符号語を入力し、最初にシンドローム演算部11によりシンドロームを求め、誤り位置/数値演算部12にシンドロームを転送する。ここで誤り訂正回路13における第2のカウンタ132の値jを“0”に初期化しておく(図2のステップS201参照)。また誤り訂正制御信号生成部133が出力する誤り訂正制御信号は、消失フラグを用いないで誤り訂正を行う通常訂正と消失フラグを用いて誤り訂正を行う消失訂正との2種類が設定できるものとし、最初通常訂正が設定されているとする。シンドロームがすべて“0”、つまりその符号語に誤りがない場合は誤り位置/数値演算部12は何も行わない(ステップS202参照)。シンドローム演算部11は次の符号語を入力し、同様にシンドローム演算を行う。一方、求まったシンドロームがすべて“0”でない場合はその符号語には誤りが存在するため、誤り位置/数値演算部12は誤り位置/数値を求める演算を行う。その前に第2のカウンタ132の値jがある所定値と同一でないかを判断する(ステップS203参照)。この所定値に関しては後述するが、一致している場合は誤り訂正制御信号生成部133は消失フラグ有効数iを“1”に設定したうえで誤り訂正制御信号を消失訂正に設定し、一致していない場合は通常訂正を設定する。ここでは一致していないとし、誤り訂正制御信号は通常訂正が設定されているとする(ステップS204参照)。これにより、誤り位置/数値演算部12の中にある2つの誤り訂正回路(通常訂正部122と消失訂正部123)のうち通常訂正部122が選択され、その通常訂正部122によってシンドローム演算部11によって求められたシンドロームを用いて通常訂正アルゴリズムに基づいた演算が行われる。   The error correction circuit 1 inputs the first code word among a plurality of code words, first obtains a syndrome by the syndrome calculation unit 11, and transfers the syndrome to the error position / numerical value calculation unit 12. Here, the value j of the second counter 132 in the error correction circuit 13 is initialized to “0” (see step S201 in FIG. 2). The error correction control signal output from the error correction control signal generation unit 133 can be set to two types, that is, normal correction that performs error correction without using the erasure flag and erasure correction that performs error correction using the erasure flag. First, it is assumed that normal correction is set. If all of the syndromes are “0”, that is, there is no error in the code word, the error position / numerical value calculation unit 12 does nothing (see step S202). The syndrome calculation unit 11 inputs the next code word and similarly performs the syndrome calculation. On the other hand, if all of the obtained syndromes are not “0”, there is an error in the code word, and therefore the error position / numerical value calculation unit 12 performs an operation for obtaining the error position / numerical value. Before that, it is determined whether the value j of the second counter 132 is not the same as a predetermined value (see step S203). Although this predetermined value will be described later, if they match, the error correction control signal generation unit 133 sets the error flag effective number i to “1” and sets the error correction control signal to erasure correction to match. If not, set normal correction. Here, it is assumed that they do not match, and normal correction is set for the error correction control signal (see step S204). As a result, the normal correction unit 122 is selected from the two error correction circuits (the normal correction unit 122 and the erasure correction unit 123) in the error position / numerical calculation unit 12, and the syndrome calculation unit 11 is selected by the normal correction unit 122. The calculation based on the normal correction algorithm is performed using the syndrome obtained by the above.

通常訂正部122による演算の結果が訂正可能であれば(ステップS205参照)、求まった誤り位置/数値を誤り位置/数値セレクタ124に出力する。誤り位置/数値セレクタ124は誤り訂正制御信号が通常訂正に設定されているため、通常訂正部122が出力した誤り位置/数値をそのまま誤り訂正部14に出力する。誤り訂正部14はそれをもとに正しい符号語に訂正する(実際には、符号語はメモリなどに格納されているため、この誤り訂正部14は符号語が格納されているメモリアドレスやライトデータなどを生成し出力することになるが、詳しい説明は省略する)。一方、演算の結果が訂正不能であった場合、訂正不能であったことを示す演算結果を演算結果セレクタ125に出力する。演算結果セレクタ125は誤り訂正制御信号が通常訂正に設定されているため、通常訂正部122が出力した演算結果をそのまま第2のカウンタ132に出力する。第2のカウンタ132はそれをもとにカウンタ値jを1つインクリメントする(ステップS206参照)。つまりこの第2のカウンタ132は通常訂正の結果、訂正不能であった符号語の数をカウントすることとなる。通常訂正で訂正不能であった場合、誤り訂正制御信号生成部133は誤り訂正制御信号を通常訂正から消失訂正に設定変更し、出力する。これにともない消失訂正部123は通常訂正で訂正不能であった符号語に対し、次は消失訂正を行う(ステップS207参照)。その際に第1のカウンタ131の値iを“1”に設定しておく(ステップS206参照)。   If the result of the calculation by the normal correction unit 122 can be corrected (see step S205), the obtained error position / number is output to the error position / number selector 124. Since the error correction control signal is set to normal correction, the error position / numeric selector 124 outputs the error position / numeric value output by the normal correction unit 122 to the error correction unit 14 as it is. The error correction unit 14 corrects the code word based on the error (actually, since the code word is stored in a memory or the like, the error correction unit 14 uses the memory address or write address where the code word is stored. Data etc. will be generated and output, but detailed explanation is omitted). On the other hand, if the result of the operation is uncorrectable, an operation result indicating that the operation is uncorrectable is output to the operation result selector 125. Since the error correction control signal is set to normal correction, the calculation result selector 125 outputs the calculation result output from the normal correction unit 122 to the second counter 132 as it is. Based on this, the second counter 132 increments the counter value j by one (see step S206). That is, the second counter 132 counts the number of code words that cannot be corrected as a result of normal correction. If the correction cannot be performed by the normal correction, the error correction control signal generation unit 133 changes the setting of the error correction control signal from the normal correction to the erasure correction, and outputs it. Accordingly, the erasure correction unit 123 performs erasure correction on the code word that cannot be corrected by the normal correction (see step S207). At this time, the value i of the first counter 131 is set to “1” (see step S206).

消失訂正におけるシンドロームは通常訂正で使用したものを用いる。消失フラグは消失フラグセレクタ121が出力する有効な消失フラグを用いる。ここで第1のカウンタ131の値iは消失フラグ有効数として消失フラグセレクタ121に出力され、消失フラグセレクタ121はこの消失フラグ有効数が示す数だけ、消失フラグから信頼性の高い順に選択し、これを有効な消失フラグとして消失訂正部123に出力する。   The syndrome used in erasure correction is the same as that used in normal correction. As the erasure flag, a valid erasure flag output from the erasure flag selector 121 is used. Here, the value i of the first counter 131 is output to the erasure flag selector 121 as the erasure flag effective number, and the erasure flag selector 121 selects the number indicated by the erasure flag effective number from the erasure flag in descending order of reliability, This is output to the erasure correction unit 123 as an effective erasure flag.

ここで消失フラグの信頼性について説明する。前述したように消失フラグとは符号語のシンボル1つ1つに対する正誤情報を持ったもので、符号語がNであれば消失フラグもN個ある。消失フラグが1シンボルに対して1bitずつ割り当てられている場合、誤っている確率が高ければ“1”、低ければ“0”というように表すことができるが、各シンボルに対して複数bitずつ割り当てることにより、上記の情報以外に誤っている確率の度合いを表すことも可能となる。   Here, the reliability of the erasure flag will be described. As described above, the erasure flag has correct / incorrect information for each codeword symbol. If the codeword is N, there are N erasure flags. When the erasure flag is assigned 1 bit per symbol, it can be expressed as “1” if the error probability is high, “0” if it is low, but multiple bits are assigned to each symbol. Thus, it is possible to represent the degree of probability of error other than the above information.

例えば図3に示すように消失フラグがbit3〜bit0の4bitあるとした場合、bit3が“1”の時は必ず誤っているとし、“0”の時はbit2〜bit0の3bitを使って誤っている度合いを“000”〜“111”の8段階で表すことが可能となる。本発明の実施の形態1に記載の消失フラグを、このように誤っている確率情報を持った消失フラグとし、誤っている確率によってその消失フラグの信頼性を定義するものとする。つまり必ず誤っていることを示している消失フラグ(例えばbit3=“1”)の信頼性を高いとし、逆に誤っている確率が低いことを示している消失フラグ(例えばbit3〜bit0=“0001”)の信頼性を低いとする。また上記の例でbit3〜bit0=“0000”以外の時、誤っている確率が少しでもあるので、この場合を「消失フラグが立っている」と呼び、逆にbit3〜bit0=“0000”の時は誤っていないことを示しているため「消失フラグは立っていない」と呼ぶことにする。ただし消失フラグに含まれる誤りの確率情報は、本発明の誤り訂正回路に入力される時点で既に前段の回路などによって生成されているものとする。   For example, as shown in FIG. 3, if the erasure flag is 4 bits from bit 3 to bit 0, it is always wrong when bit 3 is “1”, and it is mistaken using 3 bits from bit 2 to bit 0 when it is “0”. It is possible to represent the degree to which there are 8 levels from “000” to “111”. The erasure flag described in the first embodiment of the present invention is assumed to be an erasure flag having such erroneous probability information, and the reliability of the erasure flag is defined by the erroneous probability. That is, the erasure flag (eg, bit3 = “1”) that always indicates an error is considered to have high reliability, and conversely, the erasure flag (eg, bit3 to bit0 = “0001”) indicates that the error probability is low. )) Is not reliable. Also, in the above example, when bit 3 to bit 0 = “0000”, there is a slight error probability, so this case is called “an erasure flag is set”, and conversely, bit 3 to bit 0 = “0000”. Since the time indicates that there is no mistake, it is referred to as “the disappearance flag is not set”. However, it is assumed that the error probability information included in the erasure flag has already been generated by the preceding circuit or the like when it is input to the error correction circuit of the present invention.

第1のカウンタ131の値iは最初“1”であるため、消失フラグセレクタ121は消失フラグから最も信頼性の高い消失フラグを1つ選択し(つまり誤っている確率が最も高いシンボルに対応する消失フラグのみが有効になり、他のシンボルに対応する消失フラグはすべて無効とする)、それを有効な消失フラグとして消失訂正部123に出力する。これをもとに消失訂正部123は消失訂正アルゴリズムに基づいた演算を行う。   Since the value i of the first counter 131 is initially “1”, the erasure flag selector 121 selects one erasure flag with the highest reliability from the erasure flags (that is, corresponds to the symbol having the highest probability of being erroneous). Only the erasure flag is valid and all erasure flags corresponding to other symbols are invalidated), and this is output to the erasure correction unit 123 as a valid erasure flag. Based on this, the erasure correction unit 123 performs an operation based on the erasure correction algorithm.

演算の結果が訂正可能であれば通常訂正時と同様に、求まった誤り位置/数値を誤り位置/数値セレクタ124に出力する(S208参照)。誤り位置/数値セレクタ124は誤り訂正制御信号が消失訂正に設定されているため、消失訂正部123が出力した誤り位置/数値をそのまま誤り訂正部14に出力する。誤り訂正部14はそれをもとに正しい符号語に訂正する。一方、訂正不能であった場合、第1のカウンタ131の値iを“1”ずつインクリメントすることにより有効な消失フラグを増加させ、消失訂正を繰り返し行っていく(S209参照)。その前にまず第1のカウンタ131の値i、つまり消失フラグ有効数が消失訂正可能な最大消失個数Mと同一でないか判断する。同一でない場合は第1のカウンタ131の値iを1つインクリメントし、消失フラグ有効数も1つ増やす。それにともない消失フラグセレクタ121はこの時点での有効な消失フラグに加えて、その次に信頼性の高い消失フラグを有効にし、消失フラグ有効数が示す数の消失フラグを有効な消失フラグとして消失訂正部123に出力する。つまり消失訂正で訂正不能であるたびに消失フラグ有効数を1つずつ増やし、それにともない有効な消失フラグも1つずつ増やしながら消失訂正を訂正可能になるまで繰り返す。ただし消失訂正の演算結果が訂正不能であってもi=Mの場合、それ以上消失訂正を行うことができない(行っても訂正できない)ため、その符号語に対する誤り訂正は中断し、次の符号語に対する処理に移行する(S209参照)。   If the calculation result can be corrected, the obtained error position / numerical value is output to the error position / numerical value selector 124 as in the normal correction (see S208). Since the error correction control signal is set to erasure correction, the error position / numeric selector 124 outputs the error position / numeric value output by the erasure correction unit 123 to the error correction unit 14 as it is. The error correction unit 14 corrects the codeword to a correct codeword based on the error correction unit 14. On the other hand, if the correction is impossible, the effective erasure flag is increased by incrementing the value i of the first counter 131 by “1” and the erasure correction is repeated (see S209). Before that, it is first determined whether the value i of the first counter 131, that is, the number of effective erasure flags is not the same as the maximum number of erasures M that can be erasure corrected. If they are not the same, the value i of the first counter 131 is incremented by 1, and the number of valid disappearance flags is also incremented by one. Accordingly, the erasure flag selector 121 activates the next most reliable erasure flag in addition to the effective erasure flag at this time, and erasure correction is performed using the number of erasure flags indicated by the effective number of erasure flags as effective erasure flags. Output to the unit 123. That is, whenever the erasure correction is impossible, the effective number of erasure flags is increased by one, and the effective erasure flag is increased by one until the erasure correction can be corrected. However, if the calculation result of erasure correction is uncorrectable, if i = M, erasure correction cannot be performed any more (it cannot be corrected even if it is performed), so error correction for that codeword is interrupted and the next code The processing shifts to the word (see S209).

以上のように、1つの符号語に対して最初通常訂正を行い、訂正不能であれば誤訂正確率が低くなるように最初最も信頼性の高い消失フラグ1つだけを有効にして消失訂正を行い、それで訂正不能であれば訂正能力の範囲内で信頼性の高い順に消失フラグを増やしながら消失訂正を行う。途中訂正可能になるか、あるいは訂正能力の限界まで行っても訂正不能であれば、その符号語に対する処理は終了し、次の符号語の処理を開始する。   As described above, first normal correction is performed on one code word, and if correction is impossible, erasure correction is performed by enabling only one erasure flag with the highest reliability so that the error correction probability is lowered. If correction is impossible, erasure correction is performed while increasing the erasure flag in order of reliability within the range of correction capability. If correction is possible midway or if correction is impossible even when the limit of correction capability is reached, processing for that codeword is terminated and processing for the next codeword is started.

ただし次の符号語の処理に移行する際は、通常訂正が訂正不能で消失訂正を行う前に第1のカウンタ131の値iは“1”に初期化しなければならないが、第2のカウンタ132の値jは初期化しないで、最初の通常訂正を行う前に毎回第2のカウンタ132の値jが所定値と一致していないかどうかを確認する。これは前述した通り、通常訂正で訂正不能であった符号語の数を表しており、この数が一定値に達するということは、それだけデータ品質が悪いという判断をする要因の1つにでき、それ以降の未処理の符号語も通常訂正で訂正できる可能性が低いと判断する。そこでこの第2のカウンタ132の値jが所定値になった時点で、それ以降の符号語に対して通常訂正を行わず最初から消失訂正を行うよう、誤り訂正制御信号生成部133は誤り訂正制御信号を消失訂正に固定する。これにより誤り訂正時間の短縮、および回路の動作時間を減らすことによる消費電力削減を行うことができる。   However, when shifting to the processing of the next code word, the normal correction cannot be corrected, and the value i of the first counter 131 must be initialized to “1” before performing the erasure correction. The value j of the second counter 132 is not initialized each time, and before the first normal correction is performed, it is checked whether or not the value j of the second counter 132 matches the predetermined value. As described above, this represents the number of codewords that could not be corrected by normal correction. The fact that this number reaches a certain value can be one of the factors that determine that the data quality is poor. It is determined that there is a low possibility that subsequent unprocessed codewords can be corrected by normal correction. Therefore, when the value j of the second counter 132 reaches a predetermined value, the error correction control signal generation unit 133 performs error correction so that erasure correction is performed from the beginning without performing normal correction on the codewords thereafter. Fix control signal to erasure correction. As a result, the error correction time can be shortened and the power consumption can be reduced by reducing the circuit operation time.

このように、本発明の実施の形態1によれば、品質が全体的に悪いデータに対しある時点より通常訂正から消失訂正に誤り訂正方式を変更することで、誤訂正確率を最小限に抑えつつ誤り訂正に必要な時間を短縮でき、またその分消費電力の低下を図ることが可能となる。   As described above, according to Embodiment 1 of the present invention, the error correction probability is minimized by changing the error correction method from normal correction to erasure correction from a certain point in time for data with overall poor quality. In addition, the time required for error correction can be shortened, and power consumption can be reduced accordingly.

(実施の形態2)
本発明の実施の形態2による誤り訂正回路(本発明の請求項2,請求項5ないし請求項7に対応)および誤り訂正方法(請求項9に対応)について、図4および図5を用いて説明する。
(Embodiment 2)
An error correction circuit (corresponding to claims 2, 5 to 7 of the present invention) and an error correction method (corresponding to claim 9) according to the second embodiment of the present invention will be described with reference to FIGS. explain.

この実施の形態2は、誤り訂正開始から一定時間が経過した時点で、最初から消失訂正を行うことで、誤り訂正に、機器のスペック以上の時間を費やし、システムが破綻するのを防止できるようにしたものである。   In the second embodiment, by performing erasure correction from the beginning when a certain time has elapsed since the start of error correction, it is possible to prevent the system from failing by spending more time than the specification of the device for error correction. It is a thing.

図4において、134は誤り訂正動作の開始時点からの経過時間を計測するタイマであり、第2のカウンタ132(図1)の代わりに、タイマ134を設置し、誤り訂正制御信号生成部133が、タイマ134の値が所定の時間に達するまでは、誤り位置/数値演算部12に対し通常訂正または消失訂正を行う旨を指示する前記誤り訂正制御信号を出力し、タイマ134の値が所定の時間に達した場合は、誤り位置/数値演算部12に対し消失訂正のみを行う旨を指示する誤り訂正制御信号を出力するものとなっている以外は図1と同様である。また図5は1つの符号語に対する誤り訂正のフローチャートを表した図である。符号語の数だけ図5に示された処理が繰り返される。   In FIG. 4, 134 is a timer for measuring the elapsed time from the start time of the error correction operation. Instead of the second counter 132 (FIG. 1), a timer 134 is installed, and the error correction control signal generator 133 is Until the value of the timer 134 reaches a predetermined time, the error correction control signal for instructing the error position / numerical value calculation unit 12 to perform normal correction or erasure correction is output, and the value of the timer 134 is set to a predetermined value. When the time is reached, it is the same as in FIG. 1 except that an error correction control signal for instructing the error position / numerical calculation unit 12 to perform only erasure correction is output. FIG. 5 shows a flowchart of error correction for one codeword. The process shown in FIG. 5 is repeated by the number of code words.

図5において、S501はタイマを初期設定するステップ、S502はシンドロームがすべて“0”かを判定するステップ、S503はタイマによる時間計測値が所定値か否かを判定するステップ、S504は通常訂正を行うステップ、S505は通常訂正により訂正可能か否かを判定するステップ、S506は消失フラグ有効数iを“1”に設定するステップ、S507は消失訂正を行うステップ、S508は消失訂正による訂正が可能またはiがMになったかを判定するステップ、S509はiに“1”を加算するステップ、S510はiを“1”に設定するステップ、S511は次の符号語のシンドローム演算を行うステップ、S500aはステップS503,S510,S507,S508,S509以外の各ステップからなる第1の工程であり、通常訂正アルゴリズムに基づく演算または消失訂正アルゴリズムに基づく演算により符号語の誤り訂正を行うとともに、誤り訂正動作の開始からの経過時間を計測する。S500bはステップS503,S510,S507,S508,S509の各ステップからなる第2の工程であり、第1の工程S500aによる経過時間が所定の時間を経過した場合、消失訂正アルゴリズムに基づく演算のみにより符号語の誤り訂正を行う。   In FIG. 5, S501 is a step for initializing a timer, S502 is a step for determining whether all syndromes are “0”, S503 is a step for determining whether or not a time measurement value by the timer is a predetermined value, and S504 is a normal correction. Performing step, S505 determining whether correction is possible by normal correction, S506 setting the erasure flag effective number i to “1”, S507 performing erasure correction, and S508 correcting by erasure correction Alternatively, a step of determining whether i is M, S509 is a step of adding “1” to i, S510 is a step of setting i to “1”, S511 is a step of performing a syndrome calculation of the next code word, S500a Is a first step composed of steps other than steps S503, S510, S507, S508, and S509. A step, performs error correction code words by calculation based on the operation or erasure correction algorithm based on the normal correction algorithm, measures the elapsed time from the start of the error correction operation. S500b is a second step consisting of steps S503, S510, S507, S508, and S509. When the elapsed time in the first step S500a has passed a predetermined time, the code is calculated only by the calculation based on the erasure correction algorithm. Perform word error correction.

この実施の形態2においては、実施の形態1と異なる点を中心に説明する。
前述した実施の形態1と同様、誤り位置/数値演算部12は1つの符号語に対してシンドローム演算部11によりシンドロームを求め、すべて“0”であれば(図5のステップS502参照)その符号語には誤りがないので、次の符号語を入力しシンドロームを演算する。すべて“0”でない場合は誤りが存在するので最初通常訂正を行う(ステップS504参照)。訂正不能であれば有効な消失フラグの数を増やしつつ消失訂正を繰り返す。途中訂正可能になるか、あるいは誤り訂正能力の限界に達した時点で、その符号語に対する誤り訂正処理を終了し、シンドローム演算部11は次の符号語に移行しシンドローム演算を行う。
The second embodiment will be described with a focus on differences from the first embodiment.
Similar to the first embodiment described above, the error position / numerical value calculation unit 12 obtains a syndrome for one codeword by the syndrome calculation unit 11, and if all are “0” (see step S502 in FIG. 5), the code Since there is no error in the word, the next code word is input to calculate the syndrome. If all are not “0”, an error exists and normal correction is performed first (see step S504). If correction is impossible, erasure correction is repeated while increasing the number of valid erasure flags. When correction becomes possible halfway or the limit of error correction capability is reached, the error correction processing for that code word is terminated, and the syndrome calculation unit 11 moves to the next code word and performs syndrome calculation.

以下同様であるが、シンドローム演算の結果誤りがあることがわかれば、誤り位置/数値の演算を行う前にタイマ134が計測している時間Tが所定値以上になっていないか、毎回確認する。   The same applies to the following, but if it is found that there is an error as a result of the syndrome calculation, it is checked every time whether the time T measured by the timer 134 is equal to or greater than a predetermined value before calculating the error position / numerical value. .

タイマ134の時間Tが所定値に満たない場合は(ステップS503参照)、今まで通りの誤り訂正処理を継続する。もしタイマ134の時間Tが所定値以上であれば、それ以降の符号語に対して通常訂正を行わず最初から消失訂正を行うよう、誤り訂正制御信号生成部133は誤り訂正制御信号を消失訂正に固定する。一般に誤り訂正に割り当てられる時間には限りがあり、その決められた時間以内に処理が終わらなければ、システムの破綻を来すことになる。そこでタイマ134により誤り訂正開始時から時間Tを計測しておき(ステップS501参照)一定時間以上になった時点で、それ以降の符号語に対する誤り訂正を通常訂正を省略し消失訂正処理のみ行うようにする。   If the time T of the timer 134 is less than the predetermined value (see step S503), the error correction processing as before is continued. If the time T of the timer 134 is equal to or greater than a predetermined value, the error correction control signal generator 133 performs erasure correction on the error correction control signal so as to perform erasure correction from the beginning without performing normal correction on the codewords thereafter. Secure to. Generally, the time allotted for error correction is limited, and if the processing is not completed within the predetermined time, the system will fail. Therefore, the timer 134 measures the time T from the start of error correction (see step S501), and when the predetermined time or longer is reached, the error correction for the subsequent codeword is omitted and only the erasure correction process is performed. To.

このように、本発明の実施の形態2によれば、誤り訂正開始時からの時間を計測しておき、一定時間に達した時点で誤り訂正方法を変更することで、システムの破綻を逃れるようにすることが可能となる。   As described above, according to the second embodiment of the present invention, the time from the start of error correction is measured, and the error correction method is changed when the fixed time is reached, so that the failure of the system can be avoided. It becomes possible to.

(実施の形態3)
本発明の実施の形態3による誤り訂正回路(本発明の請求項3,請求項5ないし請求項7に対応)および誤り訂正方法(請求項10に対応)について、図1および図6を用いて説明する。
(Embodiment 3)
An error correction circuit (corresponding to claims 3, 5 to 7 of the present invention) and an error correction method (corresponding to claim 10) according to Embodiment 3 of the present invention will be described with reference to FIGS. explain.

この実施の形態3は、データの品質が全体的に良いデータに対し、ある時点より誤り訂正を行わないようにすることで、誤り訂正に要する時間を短縮できるようにしたものである。   In the third embodiment, the time required for error correction can be shortened by preventing error correction from being performed at a certain point in time for data having a good overall data quality.

この実施の形態3による誤り訂正回路は、実施の形態1による誤り訂正回路(図1)と同様のブロック構成を有する。但し、第2のカウンタ132が、シンドローム演算部11によって求めたシンドロームがすべて“0”であった回数をカウントし、誤り訂正制御信号生成部133が、第2のカウンタ132の値が所定の値に達するまでは、誤り位置/数値演算部12に対し通常訂正または消失訂正を行う旨を指示する誤り訂正制御信号を出力し、第2のカウンタ132の値が所定の値に達した場合は、シンドローム演算部11および誤り位置/数値演算部12に対し残りの符号語に対する誤り訂正を行わない旨を指示する誤り訂正制御信号を出力するものとなっている点で、実施の形態1とは異なる。   The error correction circuit according to the third embodiment has a block configuration similar to that of the error correction circuit according to the first embodiment (FIG. 1). However, the second counter 132 counts the number of times that the syndromes obtained by the syndrome calculation unit 11 are all “0”, and the error correction control signal generation unit 133 sets the value of the second counter 132 to a predetermined value. Until the error position / numerical value calculation unit 12 is instructed to perform normal correction or erasure correction, and when the value of the second counter 132 reaches a predetermined value, This is different from the first embodiment in that an error correction control signal instructing that error correction for the remaining codewords is not performed to the syndrome calculation unit 11 and the error position / numerical calculation unit 12 is output. .

図6は1つの符号語に対する誤り訂正のフローチャートを表した図である。符号語の数だけ図6に示された処理が繰り返される。   FIG. 6 shows a flowchart of error correction for one codeword. The process shown in FIG. 6 is repeated by the number of code words.

図6において、S601はシンドロームがすべて“0”の符号語数jに“0”を設定するステップ、S602はjが所定値か否かを判定するステップ、S603はシンドロームがすべて“0”かを判定するステップ、S604は通常訂正を行うステップ、S605は通常訂正により訂正可能か否かを判定するステップ、S606は消失フラグ有効数iを“1”に設定するステップ、S607は消失訂正を行うステップ、S608は消失訂正による訂正が可能またはiがMになったかを判定するステップ、S609はiに“1”を加算するステップ、S610はjに“1”を加えるステップ、S611はjを“0”に設定するステップ、S612は次の符号語のシンドローム演算を行うステップ、S613は誤り訂正処理を中断するステップ、S600aはステップS602,S613以外の各ステップからなる第1の工程であり、通常訂正アルゴリズムに基づく演算または消失訂正アルゴリズムに基づく演算により符号語の誤り訂正を行うとともに、符号語から求めたシンドロームがすべて“0”であった回数をカウントする。S600bはステップS602,S613の各ステップからなる第2の工程であり、第1の工程S600aによるカウント値が所定の値に達した場合、残りの符号語に対する誤り訂正を中断する。   In FIG. 6, S601 is a step of setting “0” to the number j of code words whose syndromes are all “0”, S602 is a step of determining whether or not j is a predetermined value, and S603 is a determination of whether all of the syndromes are “0”. A step of performing normal correction, a step of determining whether or not correction is possible by the normal correction, a step of setting S606 as the erasure flag effective number i, and a step of performing erasure correction. S608 is a step of determining whether correction by erasure correction is possible or i is M, S609 is a step of adding “1” to i, S610 is a step of adding “1” to j, and S611 is a step of adding “0” to j. S612 is a step of performing a syndrome calculation of the next code word, S613 is a step of interrupting error correction processing, Reference numeral 600a denotes a first step including steps other than steps S602 and S613, in which error correction of a code word is performed by an operation based on a normal correction algorithm or an operation based on an erasure correction algorithm, and all the syndromes obtained from the code word are all Count the number of times it was “0”. S600b is a second process including steps S602 and S613. When the count value in the first process S600a reaches a predetermined value, error correction for the remaining codewords is interrupted.

前述した実施の形態1では、通常訂正で訂正不能であった符号語の数により誤り訂正を制御していたが、実施の形態3においてはシンドロームがすべて“0”、つまり誤りがない符号語の数により誤り訂正の制御を行う。実施の形態1と異なる点を中心に以下で説明する。   In the first embodiment described above, error correction is controlled by the number of codewords that cannot be corrected by normal correction. However, in the third embodiment, all the syndromes are “0”, that is, codewords without errors. Error correction is controlled by the number. A description will be given below centering on differences from the first embodiment.

前述した実施の形態1と同様、誤り位置/数値演算部12は1つの符号語に対してシンドローム演算部11によりシンドロームを求め、すべて“0”であれば(図6のステップS603参照)その符号語には誤りがないので、次の符号語を入力しシンドロームを演算する。すべて“0”でない場合は誤りが存在するので最初通常訂正を行う(ステップS604参照)。訂正不能であれば有効な消失フラグの数を増やしつつ消失訂正を繰り返す(ステップS605,S611,S612参照)。途中訂正可能になるか、あるいは誤り訂正能力の限界に達した時点で、その符号語に対する誤り訂正処理を終了し、シンドローム演算部11は次の符号語に移行しシンドローム演算を行う。   As in the first embodiment, the error position / numerical value calculation unit 12 obtains a syndrome for one codeword by the syndrome calculation unit 11, and if all are “0” (see step S603 in FIG. 6), the code Since there is no error in the word, the next code word is input to calculate the syndrome. If not all “0”, there is an error and normal correction is performed first (see step S604). If correction is impossible, erasure correction is repeated while increasing the number of valid erasure flags (see steps S605, S611, and S612). When correction becomes possible halfway or the limit of error correction capability is reached, the error correction processing for that code word is terminated, and the syndrome calculation unit 11 moves to the next code word and performs syndrome calculation.

以下同様であるが、最初の符号語に対するシンドローム演算を行う前に第2のカウンタ132の値jを“0”に初期化しておく(ステップS601参照)。各符号語のシンドローム演算を行いその結果すべて“0”、つまり誤りがない符号語であれば、第2のカウンタ132の値jを1つずつインクリメントしていく。途中シンドロームがすべて“0”でない符号語があれば再度第2のカウンタ132の値jを“0”に初期化する。以下同様であるが、シンドローム演算の後に毎回この第2のカウンタ132の値jが所定値と一致していないか確認し(ステップS602参照)、一致していなければ、今まで通りの誤り訂正処理を継続する。もし一致していればそれ以降の符号語に対する誤り訂正処理を中断する(ステップS613参照)。これは前述した通り、誤りがない符号語がどれだけ連続したか、を表しており、この数が一定値に達するということは、それだけデータ品質が良いという判断をする要因の1つにでき、それ以降の未処理の符号語も誤りがない可能性が高いと判断する。そこでこの第2のカウンタ132の値jが所定値になった時点で、それ以降の符号語に対して誤り訂正を行わない。これにより誤り訂正時間の短縮、および回路の動作時間を減らすことによる消費電力削減を行うことができる。   The same applies to the following, but the value j of the second counter 132 is initialized to “0” before performing the syndrome calculation for the first code word (see step S601). If the syndrome calculation of each code word is performed and the result is all “0”, that is, if there is no error, the value j of the second counter 132 is incremented by one. If there is a code word whose syndrome is not all “0”, the value j of the second counter 132 is initialized to “0” again. The same applies to the following, but after each syndrome calculation, it is checked whether the value j of the second counter 132 matches the predetermined value (see step S602). Continue. If they match, the error correction processing for the subsequent code words is interrupted (see step S613). As described above, this represents how many consecutive codewords without error, and the fact that this number reaches a certain value can be one of the factors for judging that the data quality is good. It is determined that there is a high possibility that the subsequent unprocessed codewords also have no error. Therefore, when the value j of the second counter 132 reaches a predetermined value, error correction is not performed on the subsequent code words. As a result, the error correction time can be shortened and the power consumption can be reduced by reducing the circuit operation time.

また第2のカウンタ132の値jは、シンドロームがすべて“0”でない符号語があった時点で“0”に初期化すると述べたが、それ以降はこの実施の形態3の機能を無効にすることもできるとする。つまり複数ある符号語のうち第2のカウンタ132の値jが所定値に達するまで、すべて誤りなしの符号語でなければならない、という条件を満たすことができるようにする。1つでも誤りのある符号語があれば、残りの符号語すべてをチェックする必要があるためである。   Further, the value j of the second counter 132 is described as being initialized to “0” when there is a code word whose syndrome is not all “0”. Thereafter, the function of the third embodiment is disabled. You can also do that. That is, the condition that all of the codewords must be error-free codewords until the value j of the second counter 132 reaches a predetermined value can be satisfied. This is because if there is even one codeword having an error, it is necessary to check all the remaining codewords.

このように、本発明の実施の形態3によれば、品質が全体的に良いデータに対しある時点より誤り訂正を行わないことで、誤り訂正に必要な時間を短縮でき、またその分消費電力の低下を図ることが可能となる。   As described above, according to the third embodiment of the present invention, it is possible to reduce the time required for error correction by not performing error correction from a certain point in time on data with overall good quality, and power consumption accordingly. Can be reduced.

(実施の形態4)
本発明の実施の形態4による誤り訂正回路(本発明の請求項4,請求項5ないし請求項7)および誤り訂正方法(請求項11に対応)について、図1および図7を用いて説明する。
(Embodiment 4)
An error correction circuit (claims 4, 5 to 7 of the present invention) and an error correction method (corresponding to claim 11) according to Embodiment 4 of the present invention will be described with reference to FIGS. .

この実施の形態4は、データ品質が全体的に悪いデータに対し、或る時点より誤り訂正を行わないことにより、誤り訂正に要する時間を短縮できるようにしたものである。   In the fourth embodiment, the time required for error correction can be shortened by not performing error correction from a certain point in time on data with poor overall data quality.

この実施の形態4による誤り訂正回路は、実施の形態1による誤り訂正回路(図1)と同様のブロック構成を有する。但し、第2のカウンタ132が、誤り訂正制御信号が消失訂正を示し、かつ第1のカウンタ131の値が消失訂正可能な最大消失フラグ個数を示している場合、演算結果セレクタ125が出力する演算結果が訂正不能であった回数をカウントし、誤り訂正制御信号生成部133が、第2のカウンタ132の値が所定の値に達するまでは、誤り位置/数値演算部12に対し通常訂正または消失訂正を行う旨を指示する誤り訂正制御信号を出力し、第2のカウンタ132の値が所定の値に達した場合は、シンドローム演算部11および誤り位置/数値演算部12に対し残りの符号語に対する誤り訂正を行わない旨を指示する誤り訂正制御信号を出力するものとなっている点で、実施の形態1とは異なる。   The error correction circuit according to the fourth embodiment has a block configuration similar to that of the error correction circuit according to the first embodiment (FIG. 1). However, when the second counter 132 indicates that the error correction control signal indicates erasure correction and the value of the first counter 131 indicates the maximum number of erasure flags that can be erasure corrected, the operation output by the operation result selector 125 is output. The number of times the result is uncorrectable is counted, and the error correction control signal generation unit 133 normally corrects or erases the error position / numerical calculation unit 12 until the value of the second counter 132 reaches a predetermined value. When an error correction control signal for instructing correction is output and the value of the second counter 132 reaches a predetermined value, the remaining codewords are output to the syndrome calculation unit 11 and the error position / numerical calculation unit 12. The second embodiment is different from the first embodiment in that an error correction control signal instructing that error correction is not performed is output.

図7は1つの符号語に対する誤り訂正のフローチャートを表した図である。符号語の数だけ図7に示された処理が繰り返される。   FIG. 7 shows a flowchart of error correction for one codeword. The process shown in FIG. 7 is repeated by the number of code words.

図7において、S701は訂正不能な符号語数jに“0”を設定するステップ、S702はシンドロームがすべて“0”かを判定するステップ、S703はjが所定値か否かを判定するステップ、S704は通常訂正を行うステップ、S705は通常訂正により訂正可能か否かを判定するステップ、S706は消失フラグ有効数iを“1”に設定するステップ、S707は消失訂正を行うステップ、S708は消失訂正による訂正が可能かを判定するステップ、S709はiがMになったかを判定するステップ、S609はiに“1”を加算するステップ、S710はiに“1”を加えるステップ、S711はjに“1”を加えるステップ、S712は次の符号語のシンドローム演算を行うステップ、S713は誤り訂正処理を中断するステップ、S700aはステップS703,S713以外の各ステップからなる第1の工程であり、通常訂正アルゴリズムに基づく演算または消失訂正アルゴリズムに基づく演算により符号語の誤り訂正を行うとともに、誤り訂正が不能であった回数をカウントする。S700bはステップS703,S713の各ステップからなる第2の工程であり、第1の工程S700aによるカウント値が所定の値に達した場合、残りの符号語に対する誤り訂正を中断する。   7, S701 is a step of setting “0” to the number of uncorrectable codewords j, S702 is a step of determining whether all the syndromes are “0”, S703 is a step of determining whether j is a predetermined value, S704 Is a step of performing normal correction, S705 is a step of determining whether correction is possible by normal correction, S706 is a step of setting the erasure flag effective number i to “1”, S707 is a step of performing erasure correction, and S708 is a erasure correction. Step S709 is a step of determining whether i is M, S609 is a step of adding "1" to i, S710 is a step of adding "1" to i, and S711 is j A step of adding “1”, a step of performing a syndrome calculation of the next code word in S712, and a step of interrupting the error correction processing in S713. S700a is a first step comprising steps other than steps S703 and S713. The error correction of the codeword is not possible while the error correction of the codeword is performed by the operation based on the normal correction algorithm or the operation based on the erasure correction algorithm. Count the number of times. S700b is a second process including steps S703 and S713. When the count value in the first process S700a reaches a predetermined value, error correction for the remaining codewords is interrupted.

前述した実施の形態1では、通常訂正で訂正不能であった符号語の数により誤り訂正を制御していたが、実施の形態4においては通常訂正でも消失訂正でも訂正不能であった符号語の数により誤り訂正の制御を行う。実施の形態1と異なる点を中心に以下で説明する。   In the first embodiment described above, error correction is controlled by the number of code words that cannot be corrected by normal correction. However, in the fourth embodiment, code words that cannot be corrected by either normal correction or erasure correction are controlled. Error correction is controlled by the number. A description will be given below centering on differences from the first embodiment.

前述した実施の形態1と同様、誤り位置/数値演算部12は1つの符号語に対してシンドローム演算部11によりシンドロームを求め、すべて“0”であれば(図7のステップS702参照)その符号語には誤りがないので、次の符号語を入力しシンドロームを演算する(ステップS712参照)。すべて“0”でない場合は誤りが存在するので最初通常訂正を行う(ステップS704参照)。訂正不能であれば有効な消失フラグの数を増やしつつ消失訂正を繰り返す(ステップS705,S706,S707参照)。途中訂正可能になるか(ステップS708参照)、あるいは誤り訂正能力の限界に達した時点で、その符号語に対する誤り訂正処理を終了し、シンドローム演算部11は次の符号語に移行しシンドローム演算を行う。ここで消失訂正で訂正不能が続き、誤り訂正能力の限界に達し(ステップS707参照)、それ以上消失訂正を行っても訂正できない場合、第2のカウンタ132の値jを1つインクリメントしておく。   As in the first embodiment, the error position / numerical value calculation unit 12 obtains a syndrome for one codeword by the syndrome calculation unit 11, and if all are “0” (see step S702 in FIG. 7), the code Since there is no error in the word, the next code word is input and the syndrome is calculated (see step S712). If all the values are not “0”, there is an error, so the normal correction is performed first (see step S704). If correction is impossible, erasure correction is repeated while increasing the number of valid erasure flags (see steps S705, S706, and S707). Whether correction is possible in the middle (see step S708) or when the limit of the error correction capability is reached, the error correction processing for the code word is terminated, and the syndrome calculation unit 11 moves to the next code word and performs the syndrome calculation. Do. Here, when the erasure correction cannot be corrected, the limit of the error correction capability is reached (see step S707), and if further erasure correction cannot be performed, the value j of the second counter 132 is incremented by one. .

以下同様であるが、最初の符号語に対するシンドローム演算を行う前に第2のカウンタ132の値jを“0”に初期化しておく(ステップS701参照)。各符号語のシンドローム演算を行いその結果すべて“0”、つまり誤りがない符号語であれば、次の符号語の処理に移行し、誤りがあれば誤り位置/数値演算部12により誤り位置/数値を求めていくが、その前に毎回第2のカウンタ132の値jが所定値と一致していないかどうか確認する(ステップS703参照)。一致していなければ、今まで通りの誤り訂正処理を継続する。もし一致していればそれ以降の符号語に対する誤り訂正処理を中断する。これは前述した通り、通常訂正でも消失訂正でも訂正できなかった符号語の数を表しており、この数が一定値に達するということは、それだけデータ品質が悪いという判断をする要因の1つにでき、それ以降の未処理の符号語も訂正できないような誤りが存在する可能性が高いと判断する。そこでこの第2のカウンタ132の値jが所定値になった時点で(ステップS703参照)、それ以降の符号語に対して誤り訂正を行わない(ステップS713参照)。これにより誤り訂正時間の短縮、および回路の動作時間を減らすことによる消費電力削減を行うことができる。   The same applies to the following, but the value j of the second counter 132 is initialized to “0” before performing the syndrome calculation for the first code word (see step S701). If the syndrome calculation of each code word is performed and the result is all “0”, that is, if there is no error, the process moves to the next code word, and if there is an error, the error position / numerical calculation unit 12 causes the error position / Before the numerical value is obtained, it is checked whether or not the value j of the second counter 132 matches the predetermined value every time (see step S703). If they do not match, the error correction processing as before is continued. If they match, the error correction processing for the subsequent code words is interrupted. As described above, this represents the number of code words that could not be corrected by either normal correction or erasure correction, and the fact that this number reaches a certain value is one of the factors that determine that data quality is poor. It is determined that there is a high possibility that there is an error that cannot be corrected even after an unprocessed codeword. Therefore, when the value j of the second counter 132 reaches a predetermined value (see step S703), error correction is not performed on the codewords thereafter (see step S713). As a result, the error correction time can be shortened and the power consumption can be reduced by reducing the circuit operation time.

このように、本発明の実施の形態4によれば、品質が全体的に悪いデータに対しある時点より誤り訂正を行わないことで、無駄な動作を中断し消費電力の削減を図ることが可能となる。   As described above, according to Embodiment 4 of the present invention, it is possible to interrupt useless operations and reduce power consumption by not performing error correction from a certain point in time on data with overall poor quality. It becomes.

なお、上記実施の形態1ないし4では、各実施の形態に対応する誤り訂正回路の誤り訂正動作をフローチャートとして示したが、この動作はコンピュータプログラム、あるいはこれを記録した記録媒体により実現してもよい。   In the first to fourth embodiments, the error correction operation of the error correction circuit corresponding to each embodiment is shown as a flowchart. However, this operation may be realized by a computer program or a recording medium on which this is recorded. Good.

また、このコンピュータプログラムは、誤り訂正が必要なシステムの本来の動作を行うコンピュータが実行してもよく、また、このシステムに誤り訂正専用に設けたコンピュータが実行するものであってもよい。   The computer program may be executed by a computer that performs an original operation of a system that requires error correction, or may be executed by a computer dedicated to error correction in the system.

以上のように、本発明の誤り訂正回路および誤り訂正方法は、誤訂正を抑えつつ誤り訂正を効率よく行えるため、リアルタイム性を要求される機器において消費電力を抑えつつ誤り訂正を行う用途に用いて有用である。   As described above, since the error correction circuit and the error correction method of the present invention can efficiently perform error correction while suppressing error correction, the error correction circuit and the error correction method of the present invention are used for applications that perform error correction while suppressing power consumption in devices that require real-time performance. And useful.

本発明の実施の形態1,3,4の誤り訂正回路の構成を示すブロック図The block diagram which shows the structure of the error correction circuit of Embodiment 1, 3, 4 of this invention 本発明の実施の形態1の誤り訂正動作を示すフローチャート図The flowchart figure which shows the error correction operation | movement of Embodiment 1 of this invention. 消失フラグの設定例を示した図Figure showing an example of erasure flag setting 本発明の実施の形態2の誤り訂正回路の構成を示すブロック図The block diagram which shows the structure of the error correction circuit of Embodiment 2 of this invention 本発明の実施の形態2の誤り訂正動作を示すフローチャート図The flowchart figure which shows the error correction operation | movement of Embodiment 2 of this invention. 本発明の実施の形態3の誤り訂正動作を示すフローチャート図The flowchart figure which shows the error correction operation | movement of Embodiment 3 of this invention. 本発明の実施の形態4の誤り訂正動作を示すフローチャート図The flowchart figure which shows the error correction operation | movement of Embodiment 4 of this invention. 従来の誤り訂正回路の一構成例を示すブロック図A block diagram showing a configuration example of a conventional error correction circuit 従来の誤り訂正回路の誤り訂正動作を示すフローチャート図Flowchart diagram showing error correction operation of a conventional error correction circuit

符号の説明Explanation of symbols

1 誤り訂正回路
11 シンドローム演算部
12 誤り位置/数値演算部
121 消失フラグセレクタ
122 通常訂正部
123 消失訂正部
124 誤り位置/数値セレクタ
125 演算結果セレクタ
13 誤り訂正制御部
131 第1のカウンタ
132 第2のカウンタ
133 誤り訂正制御信号生成部
134 タイマ
14 誤り訂正部
501 誤り訂正回路
511 シンドローム演算部
512 誤り位置/数値演算部
513 誤り訂正制御部
514 誤り訂正部
S200a,S500a,S600a,S700a 第1の工程
S200b,S500b,S600b,S700b 第2の工程
DESCRIPTION OF SYMBOLS 1 Error correction circuit 11 Syndrome calculation part 12 Error position / numerical value calculation part 121 Erasure flag selector 122 Normal correction part 123 Erasure correction part 124 Error position / numerical value selector 125 Operation result selector 13 Error correction control part 131 First counter 132 Second Counter 133 error correction control signal generation unit 134 timer 14 error correction unit 501 error correction circuit 511 syndrome calculation unit 512 error position / numerical calculation unit 513 error correction control unit 514 error correction unit S200a, S500a, S600a, S700a First step S200b, S500b, S600b, S700b Second step

Claims (11)

誤り訂正符号が付加された複数の符号語と、前記符号語の1シンボルごとの正誤情報を表す消失フラグとを順次入力し、誤っているシンボルの位置およびその誤り位置に付加された誤り数値(以下、誤り位置/数値と称す)を前記符号語単位で求め、前記符号語を正しい符号語に訂正する誤り訂正回路において、
前記符号語からシンドロームを求めるシンドローム演算部と、
前記シンドローム演算部が出力するシンドロームを用いて前記符号語の誤り位置/数値を演算する誤り位置/数値演算部と、
前記誤り位置/数値演算部が出力する、訂正可能か訂正不能かを示す演算結果を用いて通常訂正または消失訂正のいずれかにより誤り訂正を行うように該誤り位置/数値演算部を制御する誤り訂正制御信号を出力する誤り訂正制御部と、
前記誤り位置/数値演算部が出力する誤り位置/数値をもとに符号語の誤り訂正を行う誤り訂正部と、
を備え、
前記誤り位置/数値演算部は、
消失フラグ有効数に基づいて、前記消失フラグから有効な消失フラグを選択する消失フラグセレクタと、
前記誤り訂正制御信号が通常訂正を示している場合、前記シンドロームを用いて通常訂正アルゴリズムに基づいた演算を行い、訂正可能か訂正不能かを表す演算結果を出力するとともに、訂正可能であれば誤り位置/数値を出力する通常訂正部と、
前記誤り訂正制御信号が消失訂正を示している場合、前記シンドロームと前記有効な消失フラグとを用いて消失訂正アルゴリズムに基づいた演算を行い、訂正可能か訂正不能かを表す演算結果を出力するとともに、訂正可能であれば誤り位置/数値を出力する消失訂正部と、
前記通常訂正の誤り位置/数値と前記消失訂正の誤り位置/数値とを入力とし、前記誤り訂正制御信号が前記通常訂正を示していれば前記通常訂正の誤り位置/数値を前記誤り訂正部に出力し、前記誤り訂正制御信号が前記消失訂正を示していれば前記消失訂正の誤り位置/数値を前記誤り訂正部に出力する誤り位置/数値セレクタと、
前記通常訂正の演算結果と前記消失訂正の演算結果とを入力とし、前記誤り訂正制御信号が前記通常訂正を示していれば前記通常訂正の演算結果を前記誤り訂正制御部に出力し、前記誤り訂正制御信号が前記消失訂正を示していれば前記消失訂正の演算結果を前記誤り訂正制御部に出力する演算結果セレクタと、
を有し、
前記誤り訂正制御部は、
前記誤り訂正制御信号が消失訂正を示している場合、前記演算結果セレクタが出力する前記演算結果が訂正不能であった回数をカウントし、その値を前記消失フラグ有効数として出力する第1のカウンタと、
前記誤り訂正制御信号が通常訂正を示している場合、前記演算結果セレクタが出力する前記演算結果が訂正不能であった回数をカウントする第2のカウンタと、
前記第2のカウンタの値が所定の値に達するまでは、前記誤り位置/数値演算部に対し通常訂正または消失訂正を行う旨を指示する前記誤り訂正制御信号を出力し、前記第2のカウンタの値が所定の値に達した場合は、前記誤り位置/数値演算部に対し消失訂正のみを行う旨を指示する前記誤り訂正制御信号を出力する誤り訂正制御信号生成部と、
を有する、
ことを特徴とする誤り訂正回路。
A plurality of code words to which an error correction code is added and an erasure flag representing correct / incorrect information for each symbol of the code word are sequentially input, and the position of the erroneous symbol and the error numerical value added to the error position ( (Hereinafter referred to as error position / numerical value) in the codeword unit, and in the error correction circuit for correcting the codeword to a correct codeword,
A syndrome calculation unit for obtaining a syndrome from the codeword;
An error position / numerical calculation unit for calculating an error position / numerical value of the codeword using the syndrome output by the syndrome calculation unit;
An error for controlling the error position / numerical calculation unit to perform error correction by either normal correction or erasure correction using the calculation result output from the error position / numerical calculation unit indicating whether correction is possible or not. An error correction control unit for outputting a correction control signal;
An error correction unit that performs error correction of a code word based on the error position / numerical value output by the error position / numerical value calculation unit;
With
The error position / numerical calculation unit is:
An erasure flag selector that selects a valid erasure flag from the erasure flag based on the erasure flag valid number;
When the error correction control signal indicates normal correction, an operation based on the normal correction algorithm is performed using the syndrome, and an operation result indicating whether correction is possible or not is output. A normal correction unit for outputting a position / numerical value;
When the error correction control signal indicates erasure correction, an operation based on an erasure correction algorithm is performed using the syndrome and the valid erasure flag, and an operation result indicating whether correction is possible or not is output. An erasure correction unit that outputs an error position / numerical value if correctable;
If the error correction position / numerical value and the error correction error position / value are input, and the error correction control signal indicates the normal correction, the normal correction error position / number is input to the error correction unit. An error position / numeric selector that outputs the error position / numerical value of the erasure correction to the error correction unit if the error correction control signal indicates the erasure correction;
The calculation result of the normal correction and the calculation result of the erasure correction are input, and if the error correction control signal indicates the normal correction, the calculation result of the normal correction is output to the error correction control unit, and the error A calculation result selector that outputs the calculation result of the erasure correction to the error correction control unit if a correction control signal indicates the erasure correction;
Have
The error correction control unit
When the error correction control signal indicates erasure correction, a first counter that counts the number of times the operation result output by the operation result selector is uncorrectable and outputs the value as the erasure flag effective number When,
A second counter that counts the number of times that the operation result output by the operation result selector is uncorrectable when the error correction control signal indicates normal correction;
Until the value of the second counter reaches a predetermined value, the error correction control signal instructing the error position / numerical value calculation unit to perform normal correction or erasure correction is output, and the second counter An error correction control signal generation unit that outputs the error correction control signal that instructs the error position / numerical calculation unit to perform only erasure correction,
Having
An error correction circuit characterized by the above.
誤り訂正符号が付加された複数の符号語と、前記符号語の1シンボルごとの正誤情報を表す消失フラグとを順次入力し、誤っているシンボルの位置およびその誤り位置に付加された誤り数値(以下、誤り位置/数値と称す)を前記符号語単位で求め、前記符号語を正しい符号語に訂正する誤り訂正回路において、
前記符号語からシンドロームを求めるシンドローム演算部と、
前記シンドローム演算部が出力するシンドロームを用いて前記符号語の誤り位置/数値を演算する誤り位置/数値演算部と、
前記誤り位置/数値演算部が出力する、訂正可能か訂正不能かを示す演算結果を用いて通常訂正または消失訂正のいずれかにより誤り訂正を行うように該誤り位置/数値演算部を制御する誤り訂正制御信号を出力する誤り訂正制御部と、
前記誤り位置/数値演算部が出力する誤り位置/数値をもとに符号語の誤り訂正を行う誤り訂正部と、
を備え、
前記誤り位置/数値演算部は、
消失フラグ有効数に基づいて、前記消失フラグから有効な消失フラグを選択する消失フラグセレクタと、
前記誤り訂正制御信号が通常訂正を示している場合、前記シンドロームを用いて通常訂正アルゴリズムに基づいた演算を行い、訂正可能か訂正不能かを表す演算結果を出力するとともに、訂正可能であれば誤り位置/数値を出力する通常訂正部と、
前記誤り訂正制御信号が消失訂正を示している場合、前記シンドロームと前記有効な消失フラグとを用いて消失訂正アルゴリズムに基づいた演算を行い、訂正可能か訂正不能かを表す演算結果を出力するとともに、訂正可能であれば誤り位置/数値を出力する消失訂正部と、
前記通常訂正の誤り位置/数値と前記消失訂正の誤り位置/数値とを入力とし、前記誤り訂正制御信号が前記通常訂正を示していれば前記通常訂正の誤り位置/数値を前記誤り訂正部に出力し、前記誤り訂正制御信号が前記消失訂正を示していれば前記消失訂正の誤り位置/数値を前記誤り訂正部に出力する誤り位置/数値セレクタと、
前記通常訂正の演算結果と前記消失訂正の演算結果とを入力とし、前記誤り訂正制御信号が前記通常訂正を示していれば前記通常訂正の演算結果を前記誤り訂正制御部に出力し、前記誤り訂正制御信号が前記消失訂正を示していれば前記消失訂正の演算結果を前記誤り訂正制御部に出力する演算結果セレクタと、
を有し、
前記誤り訂正制御部は、
前記誤り訂正制御信号が消失訂正を示している場合、前記演算結果セレクタが出力する前記演算結果が訂正不能であった回数をカウントし、その値を前記消失フラグ有効数として出力する第1のカウンタと、
所定の時間を計測するタイマと、
前記タイマの値が所定の時間に達するまでは、前記誤り位置/数値演算部に対し通常訂正または消失訂正を行う旨を指示する前記誤り訂正制御信号を出力し、前記タイマの値が所定の時間に達した場合は、前記誤り位置/数値演算部に対し消失訂正のみを行う旨を指示する前記誤り訂正制御信号を出力する誤り訂正制御信号生成部と、
を有する、
ことを特徴とする誤り訂正回路。
A plurality of code words to which an error correction code is added and an erasure flag representing correct / incorrect information for each symbol of the code word are sequentially input, and the position of the erroneous symbol and the error numerical value added to the error position ( (Hereinafter referred to as error position / numerical value) in the codeword unit, and in the error correction circuit for correcting the codeword to a correct codeword,
A syndrome calculation unit for obtaining a syndrome from the codeword;
An error position / numerical calculation unit for calculating an error position / numerical value of the codeword using the syndrome output by the syndrome calculation unit;
An error for controlling the error position / numerical calculation unit to perform error correction by either normal correction or erasure correction using the calculation result output from the error position / numerical calculation unit indicating whether correction is possible or not. An error correction control unit for outputting a correction control signal;
An error correction unit that performs error correction of a code word based on the error position / numerical value output by the error position / numerical value calculation unit;
With
The error position / numerical calculation unit is:
An erasure flag selector that selects a valid erasure flag from the erasure flag based on the erasure flag valid number;
When the error correction control signal indicates normal correction, an operation based on the normal correction algorithm is performed using the syndrome, and an operation result indicating whether correction is possible or not is output. A normal correction unit for outputting a position / numerical value;
When the error correction control signal indicates erasure correction, an operation based on an erasure correction algorithm is performed using the syndrome and the valid erasure flag, and an operation result indicating whether correction is possible or not is output. An erasure correction unit that outputs an error position / numerical value if correctable;
If the error correction position / numerical value and the error correction error position / value are input, and the error correction control signal indicates the normal correction, the normal correction error position / number is input to the error correction unit. An error position / numeric selector that outputs the error position / numerical value of the erasure correction to the error correction unit if the error correction control signal indicates the erasure correction;
The calculation result of the normal correction and the calculation result of the erasure correction are input, and if the error correction control signal indicates the normal correction, the calculation result of the normal correction is output to the error correction control unit, and the error A calculation result selector that outputs the calculation result of the erasure correction to the error correction control unit if a correction control signal indicates the erasure correction;
Have
The error correction control unit
When the error correction control signal indicates erasure correction, a first counter that counts the number of times the operation result output by the operation result selector is uncorrectable and outputs the value as the erasure flag effective number When,
A timer for measuring a predetermined time;
Until the value of the timer reaches a predetermined time, the error correction control signal instructing the error position / numerical calculation unit to perform normal correction or erasure correction is output, and the value of the timer is set to a predetermined time. An error correction control signal generation unit that outputs the error correction control signal that instructs the error position / numerical calculation unit to perform only erasure correction;
Having
An error correction circuit characterized by the above.
誤り訂正符号が付加された複数の符号語と、前記符号語の1シンボルごとの正誤情報を表す消失フラグとを順次入力し、誤っているシンボルの位置およびその誤り位置に付加された誤り数値(以下、誤り位置/数値と称す)を前記符号語単位で求め、前記符号語を正しい符号語に訂正する誤り訂正回路において、
前記符号語からシンドロームを求めるシンドローム演算部と、
前記シンドローム演算部が出力するシンドロームを用いて前記符号語の誤り位置/数値を演算する誤り位置/数値演算部と、
前記誤り位置/数値演算部が出力する、訂正可能か訂正不能かを示す演算結果を用いて通常訂正または消失訂正のいずれかにより誤り訂正を行うように該誤り位置/数値演算部を制御する誤り訂正制御信号を出力する誤り訂正制御部と、
前記誤り位置/数値演算部が出力する誤り位置/数値をもとに符号語の誤り訂正を行う誤り訂正部と、
を備え、
前記誤り位置/数値演算部は、
消失フラグ有効数に基づいて、前記消失フラグから有効な消失フラグを選択する消失フラグセレクタと、
前記誤り訂正制御信号が通常訂正を示している場合、前記シンドロームを用いて通常訂正アルゴリズムに基づいた演算を行い、訂正可能か訂正不能かを表す演算結果を出力するとともに、訂正可能であれば誤り位置/数値を出力する通常訂正部と、
前記誤り訂正制御信号が消失訂正を示している場合、前記シンドロームと前記有効な消失フラグとを用いて消失訂正アルゴリズムに基づいた演算を行い、訂正可能か訂正不能かを表す演算結果を出力するとともに、訂正可能であれば誤り位置/数値を出力する消失訂正部と、
前記通常訂正の誤り位置/数値と前記消失訂正の誤り位置/数値とを入力とし、前記誤り訂正制御信号が前記通常訂正を示していれば前記通常訂正の誤り位置/数値を前記誤り訂正部に出力し、前記誤り訂正制御信号が前記消失訂正を示していれば前記消失訂正の誤り位置/数値を前記誤り訂正部に出力する誤り位置/数値セレクタと、
前記通常訂正の演算結果と前記消失訂正の演算結果とを入力とし、前記誤り訂正制御信号が前記通常訂正を示していれば前記通常訂正の演算結果を前記誤り訂正制御部に出力し、前記誤り訂正制御信号が前記消失訂正を示していれば前記消失訂正の演算結果を前記誤り訂正制御部に出力する演算結果セレクタと、
を有し、
前記誤り訂正制御部は、
前記誤り訂正制御信号が消失訂正を示している場合、前記演算結果セレクタが出力する前記演算結果が訂正不能であった回数をカウントし、その値を前記消失フラグ有効数として出力する第1のカウンタと、
前記シンドローム演算部によって求めた前記シンドロームがすべて“0”であった回数をカウントする第2のカウンタと、
前記第2のカウンタの値が所定の値に達するまでは、前記誤り位置/数値演算部に対し通常訂正または消失訂正を行う旨を指示する前記誤り訂正制御信号を出力し、前記第2のカウンタの値が所定の値に達した場合は、前記シンドローム演算部および前記誤り位置/数値演算部に対し残りの符号語に対する誤り訂正を行わない旨を指示する前記誤り訂正制御信号を出力する誤り訂正制御信号生成部と、
を有する、
ことを特徴とする誤り訂正回路。
A plurality of code words to which an error correction code is added and an erasure flag representing correct / incorrect information for each symbol of the code word are sequentially input, and the position of the erroneous symbol and the error numerical value added to the error position ( (Hereinafter referred to as error position / numerical value) in the codeword unit, and in the error correction circuit for correcting the codeword to a correct codeword,
A syndrome calculation unit for obtaining a syndrome from the codeword;
An error position / numerical calculation unit for calculating an error position / numerical value of the codeword using the syndrome output by the syndrome calculation unit;
An error for controlling the error position / numerical calculation unit to perform error correction by either normal correction or erasure correction using the calculation result output from the error position / numerical calculation unit indicating whether correction is possible or not. An error correction control unit for outputting a correction control signal;
An error correction unit that performs error correction of a code word based on the error position / numerical value output by the error position / numerical value calculation unit;
With
The error position / numerical calculation unit is:
An erasure flag selector that selects a valid erasure flag from the erasure flag based on the erasure flag valid number;
When the error correction control signal indicates normal correction, an operation based on the normal correction algorithm is performed using the syndrome, and an operation result indicating whether correction is possible or not is output. A normal correction unit for outputting a position / numerical value;
When the error correction control signal indicates erasure correction, an operation based on an erasure correction algorithm is performed using the syndrome and the valid erasure flag, and an operation result indicating whether correction is possible or not is output. An erasure correction unit that outputs an error position / numerical value if correctable;
If the error correction position / numerical value and the error correction error position / value are input, and the error correction control signal indicates the normal correction, the normal correction error position / number is input to the error correction unit. An error position / numeric selector that outputs the error position / numerical value of the erasure correction to the error correction unit if the error correction control signal indicates the erasure correction;
The calculation result of the normal correction and the calculation result of the erasure correction are input, and if the error correction control signal indicates the normal correction, the calculation result of the normal correction is output to the error correction control unit, and the error A calculation result selector that outputs the calculation result of the erasure correction to the error correction control unit if a correction control signal indicates the erasure correction;
Have
The error correction control unit
When the error correction control signal indicates erasure correction, a first counter that counts the number of times the operation result output by the operation result selector is uncorrectable and outputs the value as the erasure flag effective number When,
A second counter that counts the number of times that all of the syndromes obtained by the syndrome computing unit are “0”;
Until the value of the second counter reaches a predetermined value, the error correction control signal instructing the error position / numerical value calculation unit to perform normal correction or erasure correction is output, and the second counter When the error value reaches a predetermined value, the error correction control unit outputs the error correction control signal instructing the syndrome calculation unit and the error position / numerical calculation unit not to perform error correction for the remaining codewords. A control signal generator;
Having
An error correction circuit characterized by the above.
誤り訂正符号が付加された複数の符号語と、前記符号語の1シンボルごとの正誤情報を表す消失フラグとを順次入力し、誤っているシンボルの位置およびその誤り位置に付加された誤り数値(以下、誤り位置/数値と称す)を前記符号語単位で求め、前記符号語を正しい符号語に訂正する誤り訂正回路において、
前記符号語からシンドロームを求めるシンドローム演算部と、
前記シンドローム演算部が出力するシンドロームを用いて前記符号語の誤り位置/数値を演算する誤り位置/数値演算部と、
前記誤り位置/数値演算部が出力する、訂正可能か訂正不能かを示す演算結果を用いて通常訂正または消失訂正のいずれかにより誤り訂正を行うように該誤り位置/数値演算部を制御する誤り訂正制御信号を出力する誤り訂正制御部と、
前記誤り位置/数値演算部が出力する誤り位置/数値をもとに符号語の誤り訂正を行う誤り訂正部と、
を備え、
前記誤り位置/数値演算部は、
消失フラグ有効数に基づいて、前記消失フラグから有効な消失フラグを選択する消失フラグセレクタと、
前記誤り訂正制御信号が通常訂正を示している場合、前記シンドロームを用いて通常訂正アルゴリズムに基づいた演算を行い、訂正可能か訂正不能かを表す演算結果を出力するとともに、訂正可能であれば誤り位置/数値を出力する通常訂正部と、
前記誤り訂正制御信号が消失訂正を示している場合、前記シンドロームと前記有効な消失フラグとを用いて消失訂正アルゴリズムに基づいた演算を行い、訂正可能か訂正不能かを表す演算結果を出力するとともに、訂正可能であれば誤り位置/数値を出力する消失訂正部と、
前記通常訂正の誤り位置/数値と前記消失訂正の誤り位置/数値とを入力とし、前記誤り訂正制御信号が前記通常訂正を示していれば前記通常訂正の誤り位置/数値を前記誤り訂正部に出力し、前記誤り訂正制御信号が前記消失訂正を示していれば前記消失訂正の誤り位置/数値を前記誤り訂正部に出力する誤り位置/数値セレクタと、
前記通常訂正の演算結果と前記消失訂正の演算結果とを入力とし、前記誤り訂正制御信号が前記通常訂正を示していれば前記通常訂正の演算結果を前記誤り訂正制御部に出力し、前記誤り訂正制御信号が前記消失訂正を示していれば前記消失訂正の演算結果を前記誤り訂正制御部に出力する演算結果セレクタと、
を有し、
前記誤り訂正制御部は、
前記誤り訂正制御信号が消失訂正を示している場合、前記演算結果セレクタが出力する前記演算結果が訂正不能であった回数をカウントし、その値を前記消失フラグ有効数として出力する第1のカウンタと、
前記誤り訂正制御信号が消失訂正を示し、かつ前記第1のカウンタの値が消失訂正可能な最大消失フラグ個数を示している場合、前記演算結果セレクタが出力する前記演算結果が訂正不能であった回数をカウントする第2のカウンタと、
前記第2のカウンタの値が所定の値に達するまでは、前記誤り位置/数値演算部に対し通常訂正または消失訂正を行う旨を指示する前記誤り訂正制御信号を出力し、前記第2のカウンタの値が所定の値に達した場合は、前記シンドローム演算部および前記誤り位置/数値演算部に対し残りの符号語に対する誤り訂正を行わない旨を指示する前記誤り訂正制御信号を出力する誤り訂正制御信号生成部と、
を有する、
ことを特徴とする誤り訂正回路。
A plurality of code words to which an error correction code is added and an erasure flag representing correct / incorrect information for each symbol of the code word are sequentially input, and the position of the erroneous symbol and the error numerical value added to the error position ( (Hereinafter referred to as error position / numerical value) in the codeword unit, and in the error correction circuit for correcting the codeword to a correct codeword,
A syndrome calculation unit for obtaining a syndrome from the codeword;
An error position / numerical calculation unit for calculating an error position / numerical value of the codeword using the syndrome output by the syndrome calculation unit;
An error for controlling the error position / numerical calculation unit to perform error correction by either normal correction or erasure correction using the calculation result output from the error position / numerical calculation unit indicating whether correction is possible or not. An error correction control unit for outputting a correction control signal;
An error correction unit that performs error correction of a code word based on the error position / numerical value output by the error position / numerical value calculation unit;
With
The error position / numerical calculation unit is:
An erasure flag selector that selects a valid erasure flag from the erasure flag based on the erasure flag valid number;
When the error correction control signal indicates normal correction, an operation based on the normal correction algorithm is performed using the syndrome, and an operation result indicating whether correction is possible or not is output. A normal correction unit for outputting a position / numerical value;
When the error correction control signal indicates erasure correction, an operation based on an erasure correction algorithm is performed using the syndrome and the valid erasure flag, and an operation result indicating whether correction is possible or not is output. An erasure correction unit that outputs an error position / numerical value if correctable;
If the error correction position / numerical value and the error correction error position / value are input, and the error correction control signal indicates the normal correction, the normal correction error position / number is input to the error correction unit. An error position / numeric selector that outputs the error position / numerical value of the erasure correction to the error correction unit if the error correction control signal indicates the erasure correction;
The calculation result of the normal correction and the calculation result of the erasure correction are input, and if the error correction control signal indicates the normal correction, the calculation result of the normal correction is output to the error correction control unit, and the error A calculation result selector that outputs the calculation result of the erasure correction to the error correction control unit if a correction control signal indicates the erasure correction;
Have
The error correction control unit
When the error correction control signal indicates erasure correction, a first counter that counts the number of times the operation result output by the operation result selector is uncorrectable and outputs the value as the erasure flag effective number When,
When the error correction control signal indicates erasure correction and the value of the first counter indicates the maximum number of erasure flags that can be erasure corrected, the operation result output by the operation result selector is uncorrectable. A second counter for counting the number of times;
Until the value of the second counter reaches a predetermined value, the error correction control signal instructing the error position / numerical value calculation unit to perform normal correction or erasure correction is output, and the second counter When the error value reaches a predetermined value, the error correction control unit outputs the error correction control signal instructing the syndrome calculation unit and the error position / numerical calculation unit not to perform error correction for the remaining codewords. A control signal generator;
Having
An error correction circuit characterized by the above.
請求項1ないし4のいずれかに記載の誤り訂正回路において、
前記符号語の誤っている確率が高いシンボルに対応する前記消失フラグの信頼性を高いとし、誤っている確率が低いシンボルに対応する前記消失フラグの信頼性を低いとする、
ことを特徴とする誤り訂正回路。
The error correction circuit according to any one of claims 1 to 4,
The reliability of the erasure flag corresponding to a symbol with a high probability of error in the codeword is high, and the reliability of the erasure flag corresponding to a symbol with a low probability of error is low.
An error correction circuit characterized by the above.
請求項1ないし4のいずれかに記載の誤り訂正回路において、
前記消失フラグセレクタは、前記消失フラグの信頼性の高い順に前記消失フラグ有効数が示す数の前記消失フラグを前記有効な消失フラグとする、
ことを特徴とする誤り訂正回路。
The error correction circuit according to any one of claims 1 to 4,
The erasure flag selector sets the number of erasure flags indicated by the erasure flag effective number in order of high reliability of the erasure flag as the effective erasure flag.
An error correction circuit characterized by the above.
請求項1ないし4のいずれかに記載の誤り訂正回路において、
前記誤り訂正制御信号生成部は、前記消失フラグ有効数が消失訂正可能な最大消失フラグ数に達するまで前記消失訂正を繰り返し行うよう、前記誤り訂正制御信号を設定する、
ことを特徴とする誤り訂正回路。
The error correction circuit according to any one of claims 1 to 4,
The error correction control signal generation unit sets the error correction control signal so as to repeatedly perform the erasure correction until the erasure flag effective number reaches the maximum number of erasure flags capable of erasure correction;
An error correction circuit characterized by the above.
誤り訂正符号が付加された複数の符号語と、前記符号語の1シンボルごとの正誤情報を表す消失フラグとを順次入力し、前記符号語を正しい符号語に訂正する誤り訂正方法において、
通常訂正アルゴリズムに基づく演算または消失訂正アルゴリズムに基づく演算により前記符号語の誤り訂正を行うとともに、該演算結果が訂正不能であった回数をカウントする第1の工程と、
該第1の工程による前記訂正不能回数が所定の値に達した場合、前記消失訂正アルゴリズムに基づく演算のみにより前記符号語の誤り訂正を行う第2の工程と、
を含む、
ことを特徴とする誤り訂正方法。
In an error correction method for sequentially inputting a plurality of codewords to which an error correction code is added and an erasure flag representing correctness information for each symbol of the codeword, and correcting the codeword to a correct codeword,
A first step of performing error correction of the codeword by an operation based on a normal correction algorithm or an operation based on an erasure correction algorithm, and counting the number of times the operation result is uncorrectable;
A second step of performing error correction of the code word only by an operation based on the erasure correction algorithm when the uncorrectable number of times in the first step reaches a predetermined value;
including,
An error correction method characterized by the above.
誤り訂正符号が付加された複数の符号語と、前記符号語の1シンボルごとの正誤情報を表す消失フラグとを順次入力し、前記符号語を正しい符号語に訂正する誤り訂正方法において、
通常訂正アルゴリズムに基づく演算または消失訂正アルゴリズムに基づく演算により前記符号語の誤り訂正を行うとともに、誤り訂正動作の開始からの経過時間を計測する第1の工程と、
該第1の工程による前記経過時間が所定の時間を経過した場合、前記消失訂正アルゴリズムに基づく演算のみにより前記符号語の誤り訂正を行う第2の工程と、
を含む、
ことを特徴とする誤り訂正方法。
In an error correction method for sequentially inputting a plurality of codewords to which an error correction code is added and an erasure flag representing correctness information for each symbol of the codeword, and correcting the codeword to a correct codeword,
A first step of performing error correction of the codeword by an operation based on a normal correction algorithm or an operation based on an erasure correction algorithm, and measuring an elapsed time from the start of an error correction operation;
A second step of performing error correction of the codeword only by an operation based on the erasure correction algorithm when the elapsed time in the first step has passed a predetermined time;
including,
An error correction method characterized by the above.
誤り訂正符号が付加された複数の符号語と、前記符号語の1シンボルごとの正誤情報を表す消失フラグとを順次入力し、前記符号語を正しい符号語に訂正する誤り訂正方法において、
通常訂正アルゴリズムに基づく演算または消失訂正アルゴリズムに基づく演算により前記符号語の誤り訂正を行うとともに、前記符号語から求めたシンドロームがすべて“0”であった回数をカウントする第1の工程と、
該第1の工程によるカウント値が所定の値に達した場合、残りの符号語に対する誤り訂正を中断する第2の工程と、
を含む、
ことを特徴とする誤り訂正方法。
In an error correction method for sequentially inputting a plurality of codewords to which an error correction code is added and an erasure flag representing correctness information for each symbol of the codeword, and correcting the codeword to a correct codeword,
A first step of performing error correction of the codeword by an operation based on a normal correction algorithm or an operation based on an erasure correction algorithm, and counting the number of times that the syndromes obtained from the codeword are all “0”;
A second step of interrupting error correction for the remaining codewords when the count value in the first step reaches a predetermined value;
including,
An error correction method characterized by the above.
誤り訂正符号が付加された複数の符号語と、前記符号語の1シンボルごとの正誤情報を表す消失フラグとを順次入力し、前記符号語を正しい符号語に訂正する誤り訂正方法において、
通常訂正アルゴリズムに基づく演算または消失訂正アルゴリズムに基づく演算により前記符号語の誤り訂正を行うとともに、該誤り訂正が不能であった回数をカウントする第1の工程と、
該第1の工程によるカウント値が所定の値に達した場合、残りの符号語に対する誤り訂正を中断する第2の工程と、
を含む、
ことを特徴とする誤り訂正方法。
In an error correction method for sequentially inputting a plurality of codewords to which an error correction code is added and an erasure flag representing correctness information for each symbol of the codeword, and correcting the codeword to a correct codeword,
A first step of performing error correction of the codeword by an operation based on a normal correction algorithm or an operation based on an erasure correction algorithm, and counting the number of times the error correction was impossible;
A second step of interrupting error correction for the remaining codewords when the count value in the first step reaches a predetermined value;
including,
An error correction method characterized by the above.
JP2003300224A 2003-08-25 2003-08-25 Circuit and method for correcting error Pending JP2005072975A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003300224A JP2005072975A (en) 2003-08-25 2003-08-25 Circuit and method for correcting error

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003300224A JP2005072975A (en) 2003-08-25 2003-08-25 Circuit and method for correcting error

Publications (1)

Publication Number Publication Date
JP2005072975A true JP2005072975A (en) 2005-03-17

Family

ID=34405221

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003300224A Pending JP2005072975A (en) 2003-08-25 2003-08-25 Circuit and method for correcting error

Country Status (1)

Country Link
JP (1) JP2005072975A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100873824B1 (en) 2007-05-04 2008-12-15 삼성전자주식회사 Error control code device and method
JP2009211742A (en) * 2008-03-01 2009-09-17 Toshiba Corp Error correcting device and error correcting method

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100873824B1 (en) 2007-05-04 2008-12-15 삼성전자주식회사 Error control code device and method
US8028215B2 (en) 2007-05-04 2011-09-27 Samsung Electronics Co., Ltd. Error control code apparatuses and methods of using the same
JP2009211742A (en) * 2008-03-01 2009-09-17 Toshiba Corp Error correcting device and error correcting method
JP4672743B2 (en) * 2008-03-01 2011-04-20 株式会社東芝 Error correction apparatus and error correction method
US8312348B2 (en) 2008-03-01 2012-11-13 Kabushiki Kaisha Toshiba Error correcting device and error correcting method

Similar Documents

Publication Publication Date Title
JP5324652B2 (en) Memory device and error control code decoding method
JP4672743B2 (en) Error correction apparatus and error correction method
US8949690B2 (en) Memory controller
JP5043562B2 (en) Error correction circuit, method thereof, and semiconductor memory device including the circuit
KR100921263B1 (en) Semiconductor storage device and decord method
CN106341136B (en) LDPC decoding method and apparatus thereof
JP2008165808A (en) Error correction circuit and method for reducing miscorrection probability and semiconductor memory device including the circuit
JPH0812612B2 (en) Error correction method and apparatus
KR101819152B1 (en) Method and associated decoding circuit for decoding an error correction code
US11144388B2 (en) Nonvolatile memory device and memory system including nonvolatile memory device
US8832525B2 (en) Memory controller with low density parity check code decoding capability and relevant memory controlling method
JP2019057752A (en) Memory system
US10514980B2 (en) Encoding method and memory storage apparatus using the same
US20140173377A1 (en) Memory controller, semiconductor storage device, and decoding method
JP2009259113A (en) Nonvolatile memory management device
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
JP2005072975A (en) Circuit and method for correcting error
TWI739157B (en) Flash memory controller, storage device and reading method
JP2012003569A (en) Memory controller, flash memory system including memory controller, and method of controlling flash memory
CN112540866B (en) Memory device and data access method thereof
JPH08130480A (en) Error correcting decoder
US20230387942A1 (en) Memory system and method of controlling nonvolatile memory
US9077381B2 (en) Memory controller, storage device and memory control method
JP2019193057A (en) Semiconductor integrated circuit, memory device and error correction method
KR19980074516A (en) An error correction method and an apparatus therefor for reproducing a digital signal