JPH07191914A - Data error correction device - Google Patents

Data error correction device

Info

Publication number
JPH07191914A
JPH07191914A JP6283479A JP28347994A JPH07191914A JP H07191914 A JPH07191914 A JP H07191914A JP 6283479 A JP6283479 A JP 6283479A JP 28347994 A JP28347994 A JP 28347994A JP H07191914 A JPH07191914 A JP H07191914A
Authority
JP
Japan
Prior art keywords
data
error
read
storage device
bit
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
JP6283479A
Other languages
Japanese (ja)
Inventor
Yoshiyuki Sato
善幸 佐藤
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP6283479A priority Critical patent/JPH07191914A/en
Publication of JPH07191914A publication Critical patent/JPH07191914A/en
Pending legal-status Critical Current

Links

Landscapes

  • Detection And Correction Of Errors (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

PURPOSE:To improve the reliability of stored data by writing prescribed data in the error occurrence address of data read out from a storage device and reading it out and correcting held data based on unmatched contents. CONSTITUTION:An ECC part 7 discriminates whether data read I out from a main storage device 4 is abnormal or not; and if it is abnormal, this data is stored in a read register 9. Plural check data generated by a data error correcting device 3 are written in the address where the abnormality occurs in the main storage device 4, and these check data are read out from this address, and data of bit positions where the written data and read data are unmatching with each other are stored in check data registers 10 and 11. The data error correcting device corrects corresponding bits of data stored in the read register 9 based on unmatching position data stored in check data registers 10 and 11 and transfers corrected data to a CPU 1 through a bus 2.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明は情報処理装置の主記憶装
置などに記憶されているデータを読出すときに生じるエ
ラーを訂正するデータエラー訂正装置に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a data error correction device for correcting an error generated when reading data stored in a main storage device of an information processing device.

【0002】[0002]

【従来の技術】情報処理装置などでは、主記憶装置に対
するデータの読出し時に生じるエラーの検出や訂正を目
的としてパリティチェック方式のエラー検出回路やEC
C(Error Checking and Correction) 方式のエラー訂正
回路を付加し、主記憶装置から読出されたデータにエラ
ーが発生したとき、これを検出し、訂正できるようにし
ている。
2. Description of the Related Art In an information processing apparatus or the like, a parity check type error detection circuit or an EC is used for the purpose of detecting or correcting an error that occurs when data is read from a main memory.
An error correction circuit of C (Error Checking and Correction) system is added so that when an error occurs in the data read from the main storage device, this can be detected and corrected.

【0003】この場合、パリティチェック方式のエラー
検出回路は主記憶装置に対するデータの書込みを行うと
き、このデータの各ビットおよび1ビットの冗長ビット
(パリティビット)の和が偶数または奇数となるように
パリティビットを付加して主記憶装置の所定番地に記憶
させ、この所定番地からデータを読出したとき、このデ
ータに付加されたパリティビットとデータの各ビットと
の和が偶数または奇数になっているかどうかをチェック
し、このチェック結果に基づいて前記データが正しいデ
ータかどうかを判定する。
In this case, when the parity check type error detection circuit writes data to the main storage device, the sum of each bit of this data and one redundant bit (parity bit) is an even number or an odd number. If a parity bit is added and stored in a specified address of the main memory and data is read from this specified address, whether the sum of the parity bit added to this data and each bit of the data is an even number or an odd number It is checked whether or not the data is correct data based on the check result.

【0004】また、ECC方式のエラー訂正回路は主記
憶装置に対し、所定幅のデータの書込みを行うとき、こ
のデータに対し所定の演算を行って得られる数ビットの
冗長ビットを付加して主記憶装置の所定番地に記憶さ
せ、この所定番地からデータを読出したとき、このデー
タに付加された冗長ビットと前記データとに基づいて演
算を行い、この演算結果に基づいて前記データが正しい
かかどうかをチェックする。前記データが正しくない場
合には、前記演算結果に基づいて前記データを訂正す
る。
In addition, the ECC error correction circuit adds several redundant bits obtained by performing a predetermined operation to this data when writing data of a predetermined width to the main memory device. When data is stored in a predetermined address of the storage device and data is read from the predetermined address, an operation is performed based on the redundant bit added to the data and the data, and whether the data is correct based on the operation result. Check if If the data is not correct, the data is corrected based on the calculation result.

【0005】[0005]

【発明が解決しようとする課題】しかしながら、上述し
た従来のエラー検出回路やエラー訂正回路においては、
次に述べるような問題があった。
However, in the above-mentioned conventional error detection circuit and error correction circuit,
There were the following problems.

【0006】すなわち、パリティチェック方式のエラー
検出回路では、主記憶装置から読出されたデータの各ビ
ットの総和が正しいか否かをチェックする機能しかない
ため、読出されたデータのどのビットが異常であるか知
ることができず、エラーの訂正を行うことができないと
いう問題があった。
That is, since the parity check type error detection circuit has only a function of checking whether the sum total of each bit of the data read from the main storage device is correct, which bit of the read data is abnormal. There was a problem that it was not possible to know if there was any, and the error could not be corrected.

【0007】また、ECC方式のエラー訂正回路では、
主記憶装置から読出されたデータとこのデータに付加さ
れている冗長ビットとに基づいて行われる演算の結果に
基づいてデータのどのビットが異常であるかどうかを検
知し、この検知結果に基づいて前記データのエラーを訂
正するようにしているが、異常検出ビット数として数ビ
ットしか検出することができず、さらに異常訂正し得る
ビット数として2ビット程度しか行うことができないと
いう問題があった。
In the ECC type error correction circuit,
Detect which bit of the data is abnormal based on the result of the operation performed based on the data read from the main memory and the redundant bit added to this data, and based on this detection result Although the error of the data is corrected, there is a problem that only a few bits can be detected as the number of abnormality detection bits and only about two bits can be detected as the number of bits that can be abnormally corrected.

【0008】本発明は上記の事情に鑑みて成されたもの
であり、その目的は、簡単な回路構成によって、記憶装
置から読出されたデータが異常になっているかどうかを
全ビットについて検出することができるとともに、これ
らの全ビットの訂正を行うことができ、これによって記
憶装置に記憶されるデータの信頼性を大幅に向上させる
ことができるデータエラー訂正装置を提供することにあ
る。
The present invention has been made in view of the above circumstances, and an object thereof is to detect whether or not data read from a storage device is abnormal for all bits with a simple circuit configuration. In addition to the above, it is possible to correct all of these bits, thereby providing a data error correction device capable of greatly improving the reliability of data stored in a storage device.

【0009】[0009]

【課題を解決するための手段】上記の目的を達成するた
めに本発明の請求項1記載のデータエラーの訂正装置
は、記憶装置から読出されたデータにエラーがあるか否
かを検出するエラー検出手段と、エラー検出手段により
エラーが検出された場合には、その読出されたデータを
保持するデータ保持手段と、エラー検出手段によりエラ
ーが検出された場合には、前記記憶装置のエラーが発生
した番地に対し、予め設定されているデータを書き込ん
だ後、前記番地からこの書込みデータを読出し、この読
出しデータと書込みデータとを比較するデータ比較手段
と、比較の結果、読出しデータと書込みデータとの間に
不一致箇所があればその不一致内容に基づいて前記デー
タ保持手段に保持されているデータを訂正するデータ訂
正手段とを具備することを特徴としている。
In order to achieve the above object, a data error correction apparatus according to claim 1 of the present invention is an error detecting whether or not there is an error in data read from a storage device. When an error is detected by the detecting means and the error detecting means, a data holding means for holding the read data, and when an error is detected by the error detecting means, an error occurs in the storage device. After writing preset data to the specified address, the write data is read from the address and the data comparing means compares the read data with the write data, and the comparison result, the read data and the write data. If there is a disagreement between the data, the data correction means for correcting the data held in the data holding means based on the content of the disagreement is provided. It is characterized by a door.

【0010】また、上記の目的を達成するために本発明
の請求項2記載のデータエラー訂正装置は、記憶装置か
ら読み出されたデータにエラーがあるか否かを検出する
エラー検出手段と、エラー検出手段により、前記記憶装
置から読み出した2ブロック分のデータのいずれか一方
にECC機能で訂正し得るビット数以上のエラーが検出
されたとき、このデータを保持するデータ保持手段と、
前記記憶装置のエラーが発生した複数の番地に対し、予
め設定されているデータを書き込んだ後、前記番地から
データを読み出し、これらのデータの不一致内容に基づ
いて、前記データ保持手段に保持されているデータのビ
ット誤り位置を検出するビット誤り位置検出手段と、こ
のビット誤り位置検出手段によって検出された複数の誤
りビットを各ブロックのデータ中に割り振った後、前記
記憶装置の前記各番地に書き込むデータ変更手段とを具
備することを特徴としている。
In order to achieve the above object, the data error correction device according to claim 2 of the present invention comprises an error detection means for detecting whether or not the data read from the storage device has an error. When the error detection unit detects an error in the number of bits that can be corrected by the ECC function in one of the two blocks of data read from the storage device, the data holding unit holds the data,
After writing preset data to a plurality of addresses in which an error has occurred in the storage device, the data is read from the addresses, and the data is held in the data holding unit based on the content of the mismatch of these data. Bit error position detecting means for detecting a bit error position of existing data, and a plurality of error bits detected by the bit error position detecting means are allocated to the data of each block, and then written to each address of the storage device. And a data changing means.

【0011】[0011]

【作用】上記の構成において、請求項1では、記憶装置
から読出されたデータにエラーがある場合には、このデ
ータが保持されるとともに、前記記憶装置のエラーが発
生した番地に対し、予め設定されているデータが書き込
まれた後、前記番地から書込みデータが読出されてこの
読出しデータと書込みデータとが比較される。比較の結
果、読出しデータと書込みデータとの間に不一致箇所が
あればその不一致内容に基づいて前記データ保持手段に
保持されているデータを訂正する。
In the above structure, according to the first aspect, when the data read from the storage device has an error, the data is held and the address of the storage device in which the error occurs is set in advance. After the written data is written, the write data is read from the address and the read data is compared with the write data. If there is a mismatch between the read data and the write data as a result of the comparison, the data held in the data holding means is corrected based on the contents of the mismatch.

【0012】また、請求項2では、前記記憶装置から読
み出した2ブロック分のデータのいずれか一方に、EC
C機能で訂正し得るビット数以上のエラーがあるとき、
このデータを保持しながら、前記記憶装置のエラーが発
生した複数の番地に対し、予め設定されているデータを
書き込んだ後、前記番地からデータを読み出し、これら
のデータの不一致内容に基づき、保持されているデータ
のビット誤り位置を検出する。ビット誤り位置が検出さ
れると、検出された複数の誤りビットを各ブロックのデ
ータ中に割り振った後、前記記憶装置の前記各番地に書
き込む。これににより、簡単な検出訂正回路によって、
前記記憶装置から読み出されたデータが異常になってい
るかどうかを全ビットについて検出するとともに、これ
らの全ビットの訂正を行い、これによって前記記憶回路
に記憶されるデータの信頼性を大幅に向上させる。
According to a second aspect of the present invention, one of the two blocks of data read from the storage device has an EC
When there are more errors than the C function can correct,
While holding this data, after writing preset data to a plurality of addresses in which an error has occurred in the storage device, the data is read from the addresses, and the data is held based on the contents of inconsistency of these data. The bit error position of the data being detected is detected. When the bit error position is detected, a plurality of detected error bits are allocated to the data of each block and then written to each address of the storage device. With this, with a simple detection and correction circuit,
It detects whether or not the data read from the storage device is abnormal for all bits and corrects all these bits, thereby significantly improving the reliability of the data stored in the storage circuit. Let

【0013】[0013]

【実施例】図1は本発明に係るデータエラー訂正装置の
一実施例(第1実施例)を適用した情報処理装置の一例
を示すブロック図である。
1 is a block diagram showing an example of an information processing apparatus to which an embodiment (first embodiment) of a data error correction apparatus according to the present invention is applied.

【0014】この図に示す情報処理装置は、CPU1
と、このCPU1にシステムバス2を介して接続された
データエラー訂正装置3と、このデータエラー訂正装置
3に接続された主記憶装置4とを備えている。
The information processing apparatus shown in this figure has a CPU 1
And a data error correction device 3 connected to the CPU 1 via a system bus 2, and a main storage device 4 connected to the data error correction device 3.

【0015】CPU1は、この情報処理装置の制御中枢
となり、キーボード等から出力される各種の指令や各種
のデータに基づいて予めプログラムされている情報処理
や表示処理、データの保存、読出し処理などの各種処理
を実行する。
The CPU 1 serves as a control center of the information processing apparatus, and performs information processing, display processing, data storage, reading processing, etc. which are programmed in advance based on various commands and various data output from a keyboard or the like. Executes various processes.

【0016】また、データエラー訂正装置3は、CPU
1と接続されるインタフェース回路となる入出力部5
と、主記憶装置4と接続されるインタフェース回路とな
る入出力部6と、ECC機能によるエラー訂正処理を行
うECC部7と、3つのレジスタ(読出しレジスタ9、
第1チェックデータレジスタ10、第2チェックデータ
レジスタ11)を有するレジスタ部8とを備えており、
CPU1から書込み指令が出力されたとき、この書込み
指令に基づいてこの書込み指令とともに出力されるデー
タを取り込んでこれを主記憶装置4の指定された番地に
記憶させ、またCPU1から読出し指令が出力されたと
き、この読出し指令に基づいて主記憶装置4の指定され
た番地に記憶されているデータを読出すとともに、この
データのエラー訂正を行いCPU1に供給する。
Further, the data error correction device 3 includes a CPU
The input / output unit 5 serving as an interface circuit connected to
An input / output unit 6 serving as an interface circuit connected to the main storage device 4, an ECC unit 7 for performing error correction processing by the ECC function, and three registers (readout register 9,
A register section 8 having a first check data register 10 and a second check data register 11),
When the write command is output from the CPU 1, the data output together with the write command is fetched based on the write command and stored in the designated address of the main storage device 4, and the read command is output from the CPU 1. At this time, the data stored in the designated address of the main storage device 4 is read based on the read command, and the data is error-corrected and supplied to the CPU 1.

【0017】ECC部7は、主記憶装置4から読出され
たデータのエラーを検出する機能と、エラーが検出がさ
れた場合には、後述するように主記憶装置4に書き込ま
れたチェックデータ(書込みデータ)とこのチェックデ
ータを読出したデータ(読出しデータ)とを比較してエ
ラー箇所のデータを訂正する比較・訂正機能を有する。
The ECC unit 7 has a function of detecting an error in the data read from the main storage device 4 and, if an error is detected, check data written in the main storage device 4 as described later ( It has a comparison / correction function of comparing the write data) with the read data of the check data (read data) to correct the data at the error location.

【0018】レジスタ部8を構成する読出しレジスタ9
は、主記憶装置4から読出されたデータのエラー訂正を
行うときに使用されるレジスタであり、主記憶装置4か
らデータが読出され、ECC部7によってこのデータに
エラーがあると判定された場合には、このデータを取り
込んで保持する。
Read register 9 constituting the register unit 8
Is a register used when error correction is performed on the data read from the main storage device 4, and when the data is read from the main storage device 4 and the ECC unit 7 determines that this data has an error. This data is captured and stored in.

【0019】また、レジスタ部8を構成する第1チェッ
クデータレジスタ10は、読出しレジスタ9と同様に、
主記憶装置4から読出されたデータのエラー訂正を行う
ときに使用されるレジスタであり、ECC部7によって
データのエラーが検出された場合には、主記憶装置4内
の前記データが格納されていた番地の全ビットに対し
て、“1”を書き込んだ後、これを読出し、元のデータ
と比較した結果、不一致ビットがあればその位置に
“1”が立てられたデータ(不一致位置データ)を取り
込んで保持する。
The first check data register 10 constituting the register unit 8 has the same structure as the read register 9:
It is a register used when performing error correction of the data read from the main storage device 4. When the ECC unit 7 detects a data error, the data in the main storage device 4 is stored. After writing "1" to all bits of the address, read this data and compare it with the original data. If there is a mismatch bit, "1" is set at that position (mismatch position data). Capture and hold.

【0020】さらに、レジスタ部8を構成する第2チェ
ックデータレジスタ11は、読出しレジスタ9や第1チ
ェックデータレジスタ10と同様に、主記憶装置4から
読出されたデータのエラー訂正を行うときに使用される
レジスタであり、ECC部7によってデータのエラーが
検出された場合には、主記憶装置4内の前記データが格
納されていた番地の全ビットに対して、“0”を書き込
んだ後、これを読出し、元のデータと比較した結果、不
一致ビットの位置に“1”が立てられたデータ(不一致
位置データ)を取り込んで保持する。
Further, the second check data register 11 constituting the register unit 8 is used when correcting the error of the data read from the main storage device 4, like the read register 9 and the first check data register 10. When a data error is detected by the ECC unit 7, after writing "0" to all the bits of the address in the main memory 4 where the data is stored, As a result of reading this and comparing it with the original data, the data in which "1" is set at the position of the mismatch bit (mismatch position data) is fetched and held.

【0021】また、主記憶装置4は、CPU1の作業エ
リアなどとして使用される半導体記憶素子などを備えて
おり、データエラー訂正装置3から書込み指令が出力さ
れたとき、この書込み指令とともに出力されるデータを
指定された番地に記憶し、またデータエラー訂正装置3
から読出し指令が出力されたとき、この読出し指令によ
って指定された番地に記憶されているデータを読出し、
これをデータエラー訂正装置3に供給する。
The main memory 4 is provided with a semiconductor memory element used as a work area of the CPU 1 and the like, and when a write command is output from the data error correction device 3, it is output together with this write command. The data is stored in the designated address, and the data error correction device 3
When a read command is output from, the data stored in the address specified by this read command is read,
This is supplied to the data error correction device 3.

【0022】次に、図2に示すフローチャートを参照し
て本実施例のエラー検出・訂正処理の手順を説明する。
Next, the procedure of the error detection / correction processing of this embodiment will be described with reference to the flow chart shown in FIG.

【0023】まず、主記憶装置4から読出されたデータ
の異常の有無がECC部7で判定され(ステップST
1,ST2)、異常がなければこのデータはCPU1に
転送され(ステップST3)、次のデータが主記憶装置
4から読出されてそのデータの異常有無が判定される。
一方データに異常があり、これがECC部7によって検
出された場合には、この異常が発生したデータが取り込
まれて読出しレジスタ9に格納される(ステップST
4)。
First, the ECC section 7 determines whether or not there is an abnormality in the data read from the main storage device 4 (step ST
1, ST2), if there is no abnormality, this data is transferred to the CPU 1 (step ST3), and the next data is read from the main memory 4 to determine whether or not there is an abnormality.
On the other hand, if there is an abnormality in the data and this is detected by the ECC unit 7, the data in which this abnormality has occurred is captured and stored in the read register 9 (step ST
4).

【0024】次いで、データエラー訂正装置3によって
全ビットが“1”となったチェック用データが生成され
てこれが主記憶装置4内の異常が発生した番地に書き込
まれた後、この番地から前記チェック用データが読出さ
れ、これらのチェック用データ、すなわち書込まれたチ
ェック用データと、読出されたチェック用データとが比
較される(ステップST5,ST6)。比較の結果、不
一致となっているビットがあれば、このビット位置に
“1”が立てられたデータ(不一致位置データ)が生成
され、これが第1チェックデータレジスタ10に格納さ
れる(ステップST7)。
Next, the data error correction device 3 generates check data in which all the bits are "1" and writes the check data in the address in the main storage device 4 where the abnormality occurs, and then the check is performed from this address. The check data is read out, and these check data, that is, the written check data is compared with the read check data (steps ST5 and ST6). If there is a mismatched bit as a result of the comparison, data in which "1" is set at this bit position (mismatched position data) is generated and stored in the first check data register 10 (step ST7). .

【0025】次いで、データエラー訂正装置3によって
全ビットが“0”となったチェック用データが生成され
てこれが主記憶装置4内の異常が発生した番地に書き込
まれた後、この番地から前記チェック用データが読出さ
れ、これらのチェック用データ、すなわち書込まれたチ
ェック用データと、読出されたチェック用データとが比
較される(ステップST8,ST9)。比較の結果、不
一致となっているビットがあれば、このビット位置に
“1”が立てられたデータ(不一致位置データ)が生成
され、これが第2チェックデータレジスタ11に格納さ
れる(ステップST10)。
Next, the data error correction device 3 generates check data in which all the bits are "0" and writes the check data in the address in the main storage device 4 where the abnormality occurs, and then the check is performed from this address. The check data is read out, and these check data, that is, the written check data is compared with the read check data (steps ST8 and ST9). If there is a mismatched bit as a result of the comparison, data in which "1" is set at this bit position (mismatched position data) is generated and stored in the second check data register 11 (step ST10). .

【0026】そして、これらの処理が終了すると、デー
タエラー訂正装置3によって第1チェックデータレジス
タ10に格納されている不一致位置データの“1”とな
っているビットの位置に基づいて読出しレジスタ9に格
納されているデータの対応するビットが修正されるとと
もに、第2チェックデータレジスタ11に格納されてい
るデータの“1”となっているビットの位置に基づいて
読出しレジスタ9に格納されているデータの対応するビ
ットが修正される(ステップST11)。
Then, when these processes are completed, the data error correction device 3 causes the read register 9 to read the data based on the position of the bit "1" of the mismatch position data stored in the first check data register 10. The corresponding bit of the stored data is modified, and the data stored in the read register 9 based on the position of the bit which is "1" of the data stored in the second check data register 11. Corresponding bit is corrected (step ST11).

【0027】これによって、読出しレジスタ9に格納さ
れているデータに3ビット以上のエラーがあっても、こ
れが訂正されて正しいデータにされる。訂正されたデー
タはバス2を介してCPU1に転送される(ステップS
T12)。
As a result, even if the data stored in the read register 9 has an error of 3 bits or more, it is corrected to be correct data. The corrected data is transferred to the CPU 1 via the bus 2 (step S
T12).

【0028】以上の処理を図3を参照してさらに具体的
に説明すると、今、16ビットの読出しデータのエラー
がECC部7で検出された場合を仮定すると、図3
(a)に示すように、この16ビットデータ“00101010
10101011”が読出しレジスタ9に格納保持される。この
時点ではどのビットがエラーかは不明である。次に、1
6ビットが全て“1”であるチェックデータをデータエ
ラーが発生した主記憶装置4の該当番地に書込み、この
書込みデータを読出す。そしてその書込みデータと読出
しデータとを比較して、不一致箇所があれば、“1”を
立てた不一致位置データを生成して第1チェックデータ
レジスタ10に格納する。図3(b)の例では、上位の
2ビット目に“1”が立っており、このビットにデータ
エラーが有ることが分かる。次に、16ビットが全て
“0”であるチェックデータを、前記と同様にデータに
エラーが発生した主記憶装置4の該当番地に書込み、こ
の書込みデータを読出す。そしてその書込みデータと読
出しデータとを比較して、不一致箇所があれば、“1”
を立てた不一致位置データを生成して第2チェックデー
タレジスタ11に格納する。図3(c)の例では、下位
の2ビット目に“1”が立っており、このビットにデー
タのエラーが有ることが分かる。
The above process will be described in more detail with reference to FIG. 3. Assuming now that an error of 16-bit read data is detected by the ECC unit 7, FIG.
As shown in (a), this 16-bit data “00101010
"10101011" is stored and held in the read register 9. At this point, it is unknown which bit is in error.
Check data in which all 6 bits are "1" is written to the corresponding address of the main storage device 4 where the data error has occurred, and this write data is read. Then, the write data and the read data are compared with each other, and if there is a non-coincidence portion, non-coincidence position data with "1" is generated and stored in the first check data register 10. In the example of FIG. 3B, “1” is set in the upper 2nd bit, and it can be seen that there is a data error in this bit. Next, the check data in which all 16 bits are "0" is written to the corresponding address of the main storage device 4 where the data error has occurred, and this write data is read out. Then, the write data and the read data are compared, and if there is a disagreement, "1"
The non-coincidence position data that has been set is generated and stored in the second check data register 11. In the example of FIG. 3C, "1" is set in the lower 2nd bit, and it can be seen that there is a data error in this bit.

【0029】以上2つのチェックデータレジスタ10、
11に格納されたデータから、読出しレジスタ9に保持
されたデータには、上位2ビット目と、下位2ビット目
のデータにエラーがあると判別でき、図3(d)に示す
ように、読出しレジスタ9内のデータが“011010101010
1001”と訂正された後、CPU1に転送されるのであ
る。
The above two check data registers 10,
It can be determined from the data stored in 11 that the data held in the read register 9 has an error in the data of the upper 2nd bit and the data of the lower 2nd bit, and as shown in FIG. The data in register 9 is "011010101010".
After being corrected to 1001 ″, it is transferred to the CPU 1.

【0030】このように本実施例においては、主記憶装
置4から読出されたデータにエラーがあるとき、主記憶
装置4内の前記データが格納されていた番地に対し、全
ビットが“1”にされたチェック用データをライト/リ
ード/コンペアするとともに、全ビットが“0”にされ
たチェック用データをライト/リード/コンペアし、こ
れらデータの比較結果に基づいて主記憶装置4から読出
したデータのエラーを訂正するようにしているので、簡
単な回路構成によって、主記憶装置4から読出されたデ
ータが異常になっているかどうかを全ビットについて検
出することができるとともに、これらの全ビットの訂正
を行うことができ、これによって主記憶装置4に記憶さ
れるデータの信頼性を大幅に向上させることができる。
As described above, in this embodiment, when the data read from the main storage device 4 has an error, all bits are "1" for the address in the main storage device 4 where the data is stored. The check data set to "0" is written / read / compare, the check data set to "0" in all bits is written / read / compare, and read from the main memory 4 based on the comparison result of these data. Since the data error is corrected, whether or not the data read from the main storage device 4 is abnormal can be detected for all bits with a simple circuit configuration, and at the same time, all of these bits can be detected. Corrections can be made, which can greatly improve the reliability of the data stored in the main storage device 4.

【0031】図4は本発明に係るデータエラー訂正装置
の他の実施例(第2実施例)を適用した情報処理装置の
一例を示すブロック図である。なお、この図において、
図1の各部と同じ部分には同じ符号が付してある。
FIG. 4 is a block diagram showing an example of an information processing apparatus to which another embodiment (second embodiment) of the data error correction apparatus according to the present invention is applied. In addition, in this figure,
The same parts as those in FIG. 1 are designated by the same reference numerals.

【0032】本実施例の情報処理装置が図1に示す情報
処理装置と異なる点は、図4に示す如くシステムバス2
のビット幅(nビット)に対し、2(n+α)のビット
幅(αはチェックビットのビット幅)を持つデータをイ
ンターリーブ(interleave)して(n+α)ビット単位
のブロックにし、これを主記憶装置4に書き込んだり、
読み出したりするとともに、データエラー訂正装置3内
に設けられているECC部7によって、2ビットの誤り
検出および1ビットの誤り訂正を行うようにしたことで
ある。
The information processing apparatus of this embodiment is different from the information processing apparatus shown in FIG. 1 in that the system bus 2 as shown in FIG.
Data having a bit width of 2 (n + α) (α is the bit width of the check bit) with respect to the bit width of (n bits) of (n + α) is made into a block of (n + α) bit units, and this is a main memory device. Or write to 4,
In addition to reading, the ECC unit 7 provided in the data error correction device 3 performs 2-bit error detection and 1-bit error correction.

【0033】そして、CPU1から読み出し指令が出さ
れたとき、データエラー訂正装置3によって、主記憶装
置4内から、インターリーブされている(n+α)ビッ
トのデータ(ブロック)を2つ読み出すとともに、これ
をデ・インタリーブして、2(n+α)ビットのデータ
(ブロック)を再生し、これらの各ブロック中に1ビッ
トの誤りがあったとき、ECC部7によってこれを直接
訂正してCPU1に供給し、またデ・インタリーブ済み
の前記2(n+α)ビットのブロックのいずれか一方に
2ビットの誤りがあったとき、上述した第1実施例と同
じエラー訂正方式で、エラーを訂正してCPU1に供給
するとともに、誤りがあった2つのビットをインターリ
ーブして(n+α)ビットの各ブロック中に振り分けた
後、主記憶装置4に書き込み、これを再度、読み出すと
き、ECC部7によってこれを直接訂正し得るようにす
る。
When the CPU 1 issues a read command, the data error correction device 3 reads two interleaved (n + α) -bit data (blocks) from the main storage device 4 and outputs them. De-interleave to reproduce 2 (n + α) -bit data (block), and when there is a 1-bit error in each of these blocks, the ECC unit 7 directly corrects this and supplies it to the CPU 1. When there is a 2-bit error in either one of the deinterleaved 2 (n + α) -bit blocks, the error is corrected by the same error correction method as in the first embodiment and supplied to the CPU 1. At the same time, after interleaving the two erroneous bits and distributing them into each block of (n + α) bits, they are stored in the main storage device 4. It can included, which again, when reading is adapted to correct this directly by the ECC unit 7.

【0034】この場合、具体的には、次に述べる手順
で、データの誤り検出や誤り訂正を行う。
In this case, specifically, data error detection and error correction are performed by the procedure described below.

【0035】まず、図5のフローチャートに示す如く、
CPU1から読み出し指令が出力され、これがシステム
バス2を介してデータエラー訂正装置3に供給される
と、このデータエラー訂正装置3によって、主記憶装置
4の前記読み出し指令で指定された2つの番地に格納さ
れている2つのデータ((n+α)ビットのデータ)が
読み出され(ステップST21)、これがデ・インター
リーブされて、2つの(n+α)ビットのブロックにさ
れた後、αビットのチェックビットに基づき、各ブロッ
ク毎にエラー検出処理およびエラー訂正処理が行われる
(ステップST22)。
First, as shown in the flow chart of FIG.
When a read command is output from the CPU 1 and is supplied to the data error correction device 3 via the system bus 2, the data error correction device 3 causes the two addresses specified by the read command in the main storage device 4. Two pieces of stored data ((n + α) -bit data) are read (step ST21), deinterleaved to form two (n + α) -bit blocks, and then converted into α-bit check bits. Based on this, error detection processing and error correction processing are performed for each block (step ST22).

【0036】そして、デ・インターリーブ済みの前記2
(n+α)ビットのブロックがECC部7によってエラ
ー訂正可能な1ビットエラーであれば、ECC部7によ
ってこれが直接エラー訂正されて正しい2nビットのデ
ータにされた後(ステップST22、ST23)、nビ
ット単位で、システムバス2を介し、CPU1に順次供
給される(ステップST13)。
Then, the above-mentioned 2 which has been de-interleaved
If the (n + α) -bit block is a 1-bit error that can be corrected by the ECC unit 7, the ECC unit 7 directly corrects the error to correct 2n-bit data (steps ST22 and ST23), and then n bits. Units are sequentially supplied to the CPU 1 via the system bus 2 (step ST13).

【0037】また、前記2(n+α)ビットのブロック
がECC部7によってエラー訂正不可能なエラーのう
ち、3ビット以上のエラーであれば(ステップST2
4)、データエラー訂正装置3によってシステムエラー
などが発生したと判定されるとともに、この判定結果が
CPU1に伝えられて、システムエラーの処理が行われ
る(ステップST11)。
If the block of 2 (n + α) bits is an error of 3 bits or more among the errors that cannot be corrected by the ECC unit 7, the error is 3 bits or more (step ST2).
4) The data error correction device 3 determines that a system error or the like has occurred, and the determination result is transmitted to the CPU 1 for system error processing (step ST11).

【0038】また、前記2(n+α)ビットのブロック
がECC部7によってエラー訂正不可能なエラーのう
ち、2ビットのエラーであれば(ステップST24)、
データエラー訂正装置3によって現在、処理を行ってい
ることを示すビジー信号(busy信号)が生成され、
CPU1が新たなアクセスを行わないようにされる(ス
テップST25)。
If the 2 (n + α) -bit block is a 2-bit error among the errors that cannot be corrected by the ECC unit 7 (step ST24),
The data error correction device 3 generates a busy signal (busy signal) indicating that processing is currently being performed,
The CPU 1 is prevented from making a new access (step ST25).

【0039】この後、データエラー訂正装置3によっ
て、上述した実施例と同様に、主記憶装置4内の前記各
データが格納されていた2つの番地に対し、全ビットが
“1”にされたチェック用データが書き込み/読み出し
/比較された後、全ビットが“0”にされたチェック用
データが書き込み/読み出し/比較され、これらの比較
結果に基づき、主記憶装置4から読み出された2(n+
α)ビットのデータ中にあるビットエラーの位置が検出
され、これがエラー訂正されて(ステップST26、S
T12)、正しい2nビットのデータにされた後、シス
テムバス2を介して、CPU1に供給される(ステップ
ST13)。
Thereafter, the data error correction device 3 sets all the bits to "1" for the two addresses in the main storage device 4 where the respective data were stored, as in the above-described embodiment. After the check data is written / read / compared, all the bits are set to “0”, and the check data is written / read / compared and read out from the main memory 4 based on the comparison result. (N +
The position of the bit error in the (α) -bit data is detected, and the error is corrected (step ST26, S
T12) After being converted into correct 2n-bit data, the data is supplied to the CPU 1 via the system bus 2 (step ST13).

【0040】また、この動作と並行して、データエラー
訂正装置3によって、エラー訂正済みのデータ(2(n
+α)ビットのデータ)中にある1ビット目のエラービ
ット位置がインターリーブされて、一方のブロック
((n+α)ビットのデータ)中にアサイン(assign)
されるとともに(ステップST27)、前記エラー訂正
済みのデータ(2(n+α)ビットのデータ)中にある
2ビット目のエラービット位置がインターリーブされ
て、他方のブロック((n+α)ビットのデータ)中に
アサインされる(ステップST28)。
In parallel with this operation, the data (2 (n
The error bit position of the first bit in (+ α) -bit data) is interleaved and assigned to one block ((n + α) -bit data)
At the same time (step ST27), the error bit position of the second bit in the error-corrected data (2 (n + α) -bit data) is interleaved and in the other block ((n + α) -bit data). Is assigned (step ST28).

【0041】この後、データエラー訂正装置3によっ
て、前記一方のブロックのビット幅と、前記他方のブロ
ックのビット幅とが等しくなるように、エラー訂正済み
のデータ(2(n+α)ビットのデータ)を構成する残
りのビットが各ブロックに割り当てられ、これによって
得られた(n+α)ビットのデータが主記憶装置4内の
前記データが格納されていた2つの番地に書き込まれる
(ステップST29)。
Thereafter, the data error correction device 3 performs error-corrected data (2 (n + α) -bit data) so that the bit width of the one block becomes equal to the bit width of the other block. The remaining bits constituting the block are allocated to each block, and the (n + α) -bit data obtained thereby is written to the two addresses in the main memory 4 where the data was stored (step ST29).

【0042】次いで、データエラー訂正装置3によっ
て、ビジー信号(busy信号)の出力が停止され、現
在、処理を行っていないことを示すレディ信号(rea
dy信号)が生成され、CPU1に新たなアクセスを開
始させる(ステップST30)。
Next, the data error correction device 3 stops the output of the busy signal (busy signal), and the ready signal (rea) indicating that no processing is currently being performed.
dy signal) is generated, and the CPU 1 starts a new access (step ST30).

【0043】このように、本実施例においては、主記憶
装置4から読み出したデータに誤りがあるとき、主記憶
装置4内の前記データが格納されていた番地に対し、全
ビットが“1”にされたチェック用データを書き込み/
読み出し/比較するとともに、全ビットが“0”にされ
たチェック用データを書き込み/読み出し/比較し、こ
れらの比較結果に基づいて主記憶装置4から読み出した
データのエラーを訂正するようにしているので、簡単な
検出訂正回路によって、主記憶装置4から読み出された
データが異常になっているかどうかを全ビットについて
検出することができるとともに、これらの全ビットの訂
正を行うことができ、これによって主記憶装置4に記憶
されるデータの信頼性を大幅に向上させることができ
る。
As described above, in this embodiment, when the data read from the main storage device 4 has an error, all bits are "1" for the address in the main storage device 4 where the data is stored. Write the checked data /
In addition to reading / comparing, writing / reading / comparing check data in which all bits are set to “0”, and an error of the data read from the main storage device 4 is corrected based on the comparison result. Therefore, it is possible to detect whether or not the data read from the main storage device 4 is abnormal for all bits by a simple detection and correction circuit, and it is possible to correct all these bits. Thus, the reliability of the data stored in the main storage device 4 can be significantly improved.

【0044】また、本実施例においては、CPU1から
読み出し指令が出されたとき、データエラー訂正装置3
によって、主記憶装置4内からインターリーブされてい
る(n+α)ビットのデータ(ブロック)を2つ読み出
すとともに、これをデ・インタリーブして、2(n+
α)ビットのデータ(ブロック)を再生し、これらの各
ブロック中に1ビットの誤りがあったとき、ECC部7
によってこれを直接訂正してCPU1に供給し、またデ
・インタリーブ済みの前記2(n+α)ビットのブロッ
クのいずれか一方に2ビットの誤りがあったとき、上述
した第1実施例と同じエラー訂正方式で、エラーを訂正
してCPU1に供給するとともに、誤りがあった2つの
ビットをインターリーブして、(n+α)ビットの各ブ
ロック中に振り分けた後、主記憶装置4に書き込み、こ
れを再度読み出すとき、ECC部7によってこれを直接
訂正し得るようにしているので、主記憶装置4に格納さ
れているブロック単位のデータがECC部7によって直
接エラー訂正できない2ビットのビットエラーを起こし
ても、再度、これを読み出すとき、ECC部7によって
これを直接訂正することができる。
Further, in this embodiment, when the CPU 1 issues a read command, the data error correction device 3
Read out two interleaved (n + α) -bit data (blocks) from the main memory 4 and de-interleave this to obtain 2 (n +
When the α (bit) data (block) is reproduced and there is a 1-bit error in each of these blocks, the ECC unit 7
This is directly corrected and supplied to the CPU 1, and when there is a 2-bit error in any one of the deinterleaved 2 (n + α) -bit blocks, the same error correction as in the first embodiment described above is performed. Method, the error is corrected and supplied to the CPU 1, two error bits are interleaved, distributed to each block of (n + α) bits, then written to the main storage device 4, and read again. At this time, since the ECC unit 7 can directly correct this, even if the ECC unit 7 causes a 2-bit bit error that cannot be directly error-corrected by the ECC unit 7, When reading this again, the ECC unit 7 can directly correct it.

【0045】[0045]

【発明の効果】以上説明したように本発明によれば、簡
単な回路構成によって、記憶装置から読出されたデータ
が異常になっているかどうかを全ビットについて検出す
ることができるとともに、これらの全ビットの訂正を行
うことができ、これによって記憶装置に記憶されるデー
タの信頼性を大幅に向上させることができる。
As described above, according to the present invention, whether or not the data read from the storage device is abnormal can be detected for all bits with a simple circuit configuration, and all of these bits can be detected. Bit correction can be performed, which can greatly improve the reliability of the data stored in the storage device.

【0046】また、請求項2に記載の発明によれば、記
憶装置に格納されているブロック単位のデータに2ビッ
トのエラーが生じてもECC機能によってこれを直接訂
正することができる。
According to the second aspect of the present invention, even if a 2-bit error occurs in the block-unit data stored in the storage device, this can be directly corrected by the ECC function.

【図面の簡単な説明】[Brief description of drawings]

【図1】本発明に係るデータエラー訂正装置の一実施例
を適用した情報処理装置の一例を示すブロック図であ
る。
FIG. 1 is a block diagram showing an example of an information processing apparatus to which an embodiment of a data error correction apparatus according to the present invention is applied.

【図2】図1に示す実施例におけるエラー検出・訂正処
理を示すフローチャートである。
FIG. 2 is a flowchart showing error detection / correction processing in the embodiment shown in FIG.

【図3】図1に示す実施例におけるエラー検出・訂正動
作例を示す説明図である。
FIG. 3 is an explanatory diagram showing an example of error detection / correction operation in the embodiment shown in FIG.

【図4】本発明に係るデータエラー訂正装置の他の実施
例を適用した情報処理装置の一例を示すブロック図であ
る。
FIG. 4 is a block diagram showing an example of an information processing apparatus to which another embodiment of the data error correction apparatus according to the present invention is applied.

【図5】図2に示す実施例におけるエラー検出・訂正処
理を示すフローチャートである。
5 is a flowchart showing an error detection / correction process in the embodiment shown in FIG.

【符号の説明】[Explanation of symbols]

1 CPU 2 システムバス 3 データエラー訂正装置 4 主記憶装置 5、6 入出力部 7 ECC部 8 レジスタ部 9 読出しレジスタ 10 第1チェックデータレジスタ 11 第2チェックデータレジスタ 1 CPU 2 System Bus 3 Data Error Correction Device 4 Main Storage Device 5, 6 Input / Output Section 7 ECC Section 8 Register Section 9 Read Register 10 First Check Data Register 11 Second Check Data Register

Claims (2)

【特許請求の範囲】[Claims] 【請求項1】 記憶装置から読出されたデータにエラー
があるか否かを検出するエラー検出手段と、 エラー検出手段によりエラーが検出された場合には、そ
の読出されたデータを保持するデータ保持手段と、 エラー検出手段によりエラーが検出された場合には、前
記記憶装置のエラーが発生した番地に対し、予め設定さ
れているデータを書き込んだ後、前記番地からこの書込
みデータを読出し、この読出しデータと書込みデータと
を比較するデータ比較手段と、 比較の結果、読出しデータと書込みデータとの間に不一
致箇所があればその不一致内容に基づいて前記データ保
持手段に保持されているデータを訂正するデータ訂正手
段と、 を具備することを特徴とするデータエラー訂正装置。
1. An error detecting means for detecting whether or not there is an error in data read from a storage device, and a data holding means for holding the read data when an error is detected by the error detecting means. When an error is detected by the means and the error detection means, preset data is written to the address in the storage device where the error has occurred, and then the write data is read from the address, and this read is performed. Data comparing means for comparing the data with the write data, and if the result of the comparison shows that there is a mismatch between the read data and the write data, the data held in the data holding means is corrected based on the contents of the mismatch. A data error correction device comprising: a data correction unit.
【請求項2】 記憶装置から読み出されたデータにエラ
ーがあるか否かを検出するエラー検出手段と、 エラー検出手段により、前記記憶装置から読み出した2
ブロック分のデータのいずれか一方にECC機能で訂正
し得るビット数以上のエラーが検出されたとき、このデ
ータを保持するデータ保持手段と、 前記記憶装置のエラーが発生した複数の番地に対し、予
め設定されているデータを書き込んだ後、前記番地から
データを読み出し、これらのデータの不一致内容に基づ
いて、前記データ保持手段に保持されているデータのビ
ット誤り位置を検出するビット誤り位置検出手段と、 このビット誤り位置検出手段によって検出された複数の
誤りビットを各ブロックのデータ中に割り振った後、前
記記憶装置の前記各番地に書き込むデータ変更手段と、 を具備することを特徴とするデータエラー訂正装置。
2. An error detecting means for detecting whether or not there is an error in the data read from the storage device, and 2 read from the storage device by the error detecting means.
When an error of more than the number of bits that can be corrected by the ECC function is detected in one of the blocks of data, a data holding unit that holds this data, and a plurality of addresses in which an error occurs in the storage device, After writing preset data, the data is read from the address, and the bit error position detecting means for detecting the bit error position of the data held in the data holding means based on the content of the mismatch of these data And a data changing unit that writes a plurality of error bits detected by the bit error position detecting unit in the data of each block and then writes the data in each address of the storage device. Error correction device.
JP6283479A 1993-11-17 1994-11-17 Data error correction device Pending JPH07191914A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6283479A JPH07191914A (en) 1993-11-17 1994-11-17 Data error correction device

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP28791293 1993-11-17
JP5-287912 1993-11-17
JP6283479A JPH07191914A (en) 1993-11-17 1994-11-17 Data error correction device

Publications (1)

Publication Number Publication Date
JPH07191914A true JPH07191914A (en) 1995-07-28

Family

ID=26555062

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6283479A Pending JPH07191914A (en) 1993-11-17 1994-11-17 Data error correction device

Country Status (1)

Country Link
JP (1) JPH07191914A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010092459A (en) * 2008-07-17 2010-04-22 Marvell World Trade Ltd Data recovery in solid state memory device

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010092459A (en) * 2008-07-17 2010-04-22 Marvell World Trade Ltd Data recovery in solid state memory device
US8458536B2 (en) 2008-07-17 2013-06-04 Marvell World Trade Ltd. Data recovery in solid state memory devices
JP2013152737A (en) * 2008-07-17 2013-08-08 Marvell World Trade Ltd Data recovery in solid state memory device
US9032263B2 (en) 2008-07-17 2015-05-12 Marvell World Trade Ltd. Data recovery in solid state memory devices

Similar Documents

Publication Publication Date Title
US6584595B2 (en) Technique for correcting single-bit errors in caches with sub-block parity bits
US6009548A (en) Error correcting code retrofit method and apparatus for multiple memory configurations
US7206891B2 (en) Multi-port memory controller having independent ECC encoders
US20020144210A1 (en) SDRAM address error detection method and apparatus
WO2002071228A1 (en) A method for using ram buffers with multiple accesses in flash-based storage systems
US4942575A (en) Error connection device for parity protected memory systems
US4858236A (en) Method for error correction in memory system
US3898443A (en) Memory fault correction system
EP3882774B1 (en) Data processing device
JPH07191914A (en) Data error correction device
JPS62299000A (en) Semiconductor memory
JP3045532B2 (en) Memory device
JPH04115340A (en) Duplex storage circuit
JPH01194046A (en) Memory access system
JPH05225070A (en) Memory device
JPH01162300A (en) Rom checking circuit testing system
JPH02207355A (en) Memory readout system
JPH02143352A (en) Memory error detection and correction system
JPH0367346A (en) Address control circuit
JPH04369711A (en) Electronic disk sub-system
JPH06250936A (en) Computer system
JPH0588992A (en) Memory control system
JPS62130444A (en) Memory access controller
JPH04251354A (en) System for correcting plural bit errors of control storage
JPS60110047A (en) Error correction system