JPH0778747B2 - Data processing device - Google Patents

Data processing device

Info

Publication number
JPH0778747B2
JPH0778747B2 JP62290991A JP29099187A JPH0778747B2 JP H0778747 B2 JPH0778747 B2 JP H0778747B2 JP 62290991 A JP62290991 A JP 62290991A JP 29099187 A JP29099187 A JP 29099187A JP H0778747 B2 JPH0778747 B2 JP H0778747B2
Authority
JP
Japan
Prior art keywords
read
address
error
data
register
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP62290991A
Other languages
Japanese (ja)
Other versions
JPH01133147A (en
Inventor
慎哉 加藤
清 須藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP62290991A priority Critical patent/JPH0778747B2/en
Publication of JPH01133147A publication Critical patent/JPH01133147A/en
Publication of JPH0778747B2 publication Critical patent/JPH0778747B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

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

Description

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

メモリのリードアクセスで1ビットエラーが発生した時
にマイクロ命令によりメモリデータを訂正するデータ処
理装置に関し、性能をダウンさせることなくソフトエラ
ーとしての1ビットエラーを救済することを目的とし、
ECC回路による1ビットエラー検出時にエラー発生アド
レスをエラーアドレスレジスタに保持し、ECC回路から
の割込みを受けてプロセッサがメモリアクセス空間とは
異なる別の外部レジスタ空間の特定アドレスをアクセス
するマイクロ命令を実行することにより、エラーアドレ
スレジスタのエラーアドレスを物理アドレスレジスタに
セットしてデータリード、該リードデータの訂正及び訂
正データのライトを1回のアクセスで行なう。
A data processing device that corrects memory data by a microinstruction when a 1-bit error occurs in a read access of a memory, with an object of relieving a 1-bit error as a soft error without reducing performance.
When the ECC circuit detects a 1-bit error, the error occurrence address is held in the error address register, and in response to an interrupt from the ECC circuit, the processor executes a microinstruction to access a specific address in another external register space different from the memory access space. By doing so, the error address of the error address register is set in the physical address register, and data reading, correction of the read data, and writing of the corrected data are performed by one access.

【産業上の利用分野】[Industrial applications]

本発明は、メモリのリードアクセスで1ビットエラーが
起きたときにマイクロ命令によりメモリデータを訂正す
るようにしたデータ処理装置に関する。 大容量の半導体メモリにおいてメモリセルに記憶された
情報がビット反転するエラーが起こることが知られてお
り、1度反転するとそのままビット「0」または「1」
に固定されてしまうエラーをハードエラーと呼び、反転
しても正しい情報を書き直すと直ってしまうエラーをソ
フトエラーと呼んでいる。 一般に、ソフトエラーの頻度はハードエラーの10〜100
倍ほど高いことが知られており、従って、大容量の半導
体メモリを多数使用したメモリ装置を使用するデータ処
理装置にあっては、リード時に発生した1ビットエラー
を訂正し、2ビットエラーを検出するECC回路を備えて
いるのが普通である。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a data processing device which corrects memory data by a microinstruction when a 1-bit error occurs in a memory read access. It is known that in a large-capacity semiconductor memory, an error occurs in which information stored in a memory cell is bit-inverted, and once inverted, the bit "0" or "1" remains
The error that is fixed to is called a hard error, and the error that corrects even if it is reversed and correct information is called a soft error. In general, the frequency of soft errors is 10-100 of hard errors.
It is known that this is about twice as high. Therefore, in a data processing device that uses a memory device that uses a large number of large capacity semiconductor memories, a 1-bit error that occurs during reading is corrected and a 2-bit error is detected. It is usually equipped with an ECC circuit.

【従来の技術】[Prior art]

ところで、ソフトエラー率の高い初期の64KビットDRAM
が使用されていた時代には、ソフトエラーによる1ビッ
トエラーが同一アドレスの他のビットで更に起きて2ビ
ットエラーとなり、CPUで読出した時に訂正不可能とな
る確率が高かったため、エラー訂正のためメモリのパト
ロールを行なっているシステムが知られている。 このメモリパトロールとは、メモリに対し周期的にアド
レスを変えながらリード・ECCによる1ビットエラーの
訂正及び訂正したデータのリライトを全アドレスについ
て行なう機能であり、ハードウェアで行なう場合と、フ
ァームウェアでおこなう場合とがある。 ハードウェアで行なうメモリパトロールの場合には、パ
トロールアドレスレジスタ及びパトロール周期カウンタ
を備え、パトロール周期が来たらパトロールアドレスレ
ジスタにセットしたメモリアドレスに対しハードウェア
でリード・訂正・リライトを行なった後、パトロールア
ドレスレジスタをインクリメントし、次のパトロール周
期で同様の処理を行なう。このため、ハードウェアによ
る場合は、パトロールアドレスレジスタ及びパトロール
周期カウンタに加えて更にインクリメント回路、パトロ
ール時専用のリード・訂正・ライト回路が必要になる。 一方、ファームウェアで行なうメモリパトロールの場合
には、パトロール周期が来たら割込み等でファームウェ
アに通知し、ファームウェアはパトロールアドレスを物
理アドレスレジスタにセットしてメモリをリードし、EC
C回路で1ビットエラーを訂正してリライトする。パト
ロールアドレスは制御メモリの所定の領域に格納してお
き、パトロールを行なう時にのみ読出して物理アドレス
レジスタにセットし、パトロールアクセス後はファーム
ウェアでパトロールアドレスをインクリメントして元の
領域に格納する。 このファームウェアの方法によれば、ハードウェアによ
る方法よりもハードの構成量は少なくて済むが、ファー
ムウェアはそれまでの処理を中断してパトロール動作を
行なうことになるため、テータ処理装置の性能がダウン
する。 勿論、ハードウェアによる方法でもパトロール時のメモ
リアクセス動作中は通常のメモリアクセスが待たされ、
ファームウェアによる方法ほどではないが性能ダウンに
なる。 このようなメモリパトロールを必要とした従来の半導体
メモリに対し、近年にあっては、ソフトエラーに対しあ
る程度対策をメモリ自体で施した素子が現われ、ソフト
エラーの発生率はそれほど高くなくなり、ソフトエラー
が重なって2ビットエラーとなり訂正不可能となる確率
は非常に低くなった。その結果、性能ダウンにつながる
メモリパトロール動作を行なわないシステムが出現する
ようになっている。
By the way, early 64Kbit DRAM with high soft error rate
In the era when was used, there was a high probability that a 1-bit error due to a soft error would occur in another bit of the same address and result in a 2-bit error, making it uncorrectable when read by the CPU. A system that performs patrol of memory is known. This memory patrol is a function to perform 1-bit error correction and rewrite of corrected data by read / ECC for all addresses while periodically changing the address for the memory. This is performed by hardware and by firmware. There are cases. In the case of memory patrol performed by hardware, a patrol address register and patrol cycle counter are provided, and when the patrol cycle comes, the memory address set in the patrol address register is read, corrected, and rewritten by hardware, and then patroled. The address register is incremented and the same processing is performed in the next patrol cycle. Therefore, in the case of hardware, in addition to the patrol address register and the patrol cycle counter, an increment circuit and a read / correction / write circuit dedicated to patrol are required. On the other hand, in the case of memory patrol performed by firmware, when the patrol cycle comes, the firmware is notified by an interrupt, etc., and the firmware sets the patrol address in the physical address register, reads the memory, and executes the EC.
The C circuit corrects the 1-bit error and rewrites. The patrol address is stored in a predetermined area of the control memory, read only when patrol is performed and set in the physical address register, and after patrol access, the patrol address is incremented by the firmware and stored in the original area. This firmware method requires less hardware configuration than the hardware method, but because the firmware interrupts the processing up to that point and performs a patrol operation, the performance of the data processing device is reduced. To do. Of course, even with the hardware method, normal memory access is kept waiting during the memory access operation during patrol,
Performance is down, though not as much as the firmware method. In contrast to the conventional semiconductor memory that requires such memory patrol, in recent years, an element in which some measure against soft error has been implemented by the memory itself appears, and the occurrence rate of soft error is not so high. The probability of being uncorrectable due to a double-bit error becomes extremely low. As a result, a system that does not perform a memory patrol operation that leads to performance degradation has appeared.

【発明が解決しようとする課題】[Problems to be Solved by the Invention]

しかしながら、メモリパトロール動作を行なわないシス
テムにあっては、ソフトエラーが重なって2ビットエラ
ーでシステムダウンする確率は低いものの、一度1ビッ
トエラーが起きた領域は書き換えられない限り、その領
域を読出す度に1ビットエラーとなる。1ビットエラー
の場合には、通常、ECC回路によるデータ訂正時間を見
込んでクロックが引き伸ばされ、プロセッサにデータが
到着する時間が遅くなり、その分だけ性能ダウンにな
る。 更に、1ビットエラーは直接はシステムダウンに繋がら
ずに処理は続行されるが、1ビットエラーが起きるとエ
ラー情報を格納するためのロギング処理が行なわれる。
そのため1ビットエラーが訂正されずに同じ領域を頻繁
にリードすると、その度にロギング処理が行なわれ、ロ
ギング領域が足りなくなる場合がある。 また1ビットエラーの発生回数がある一定回数以上にな
ると、ハードエラーの可能性が高くなってくるため、コ
ンソール等の画面にエラー情報をメッセージ出力する場
合があり、このエラー警告を受けてユーザがシステムエ
ンジニアをコールしてメモリを交換するようになるが、
ソフトエラーによるエラーの蓄積である場合があり、エ
ラーを起こしたメモリを試験部門でテストしてもエラー
は再現しない。即ち、ハードエラーでないメモリをわざ
わざ交換してしまうという無駄な作業を行なったことに
なり、保守点検作業及び費用のロス及びユーザに対し迷
惑となる。 本発明は、このような従来の問題点に鑑みてなされたも
ので、性能をダウンさせることなくソフトエラーとして
の1ビットエラーを救済できるデータ処理装置を提供す
ることを目的とする。
However, in a system that does not perform a memory patrol operation, although there is a low probability that a system error will occur due to a 2-bit error due to overlapping soft errors, the area in which a 1-bit error has occurred once is read unless that area is rewritten. One bit error every time. In the case of a 1-bit error, the clock is usually stretched in anticipation of the data correction time by the ECC circuit, the time for data to arrive at the processor is delayed, and the performance is reduced accordingly. Further, the 1-bit error is not directly connected to the system and the processing is continued, but when the 1-bit error occurs, the logging processing for storing the error information is performed.
Therefore, if the same area is frequently read without correcting the 1-bit error, the logging process may be performed each time and the logging area may be insufficient. Also, if the number of 1-bit error occurrences exceeds a certain number of times, the possibility of a hardware error increases, so error information may be output as a message on the screen of the console, etc. I will call a system engineer to replace the memory,
The error may be accumulated due to a soft error, and the error will not be reproduced even if the memory in which the error occurred is tested by the test department. In other words, the wasteful work of exchanging the memory that is not a hard error is purposely performed, which causes a loss of maintenance and inspection work and costs, and annoy the user. The present invention has been made in view of such conventional problems, and an object thereof is to provide a data processing device capable of relieving a 1-bit error as a soft error without degrading the performance.

【課題を解決するための手段】[Means for Solving the Problems]

第1図は本発明の原理説明図である。 第1図において、データ処理装置100は、物理アドレス
レジスタ20にメモリ装置10のアドレスをセットしてリー
ド又はライトする。リード時にはメモリ装置10からリー
ドされたデータに含まれる1ビットエラーをECC回路12
で検出して訂正する。 本発明は、メモリ装置10のリード時にECC回路12で1ビ
ットエラーを検出すると、そのときの物理レジスタ20の
メモリアドレスをエラー発生アドレスとしてエラーアド
レスレジスタ14に保持する。制御手段18としてのプロセ
ッサは、1ビットエラーに対するリード・訂正・ライト
命令として、既に準備されているテスト・アンド・セッ
ト命令の機能を変形して利用する。 テスト・アンド・セット命令は、外部レジスタ空間を指
定するアドレスの内、外部レジスタが存在していない特
定のアドレスを指定したアクセスで実行されるマイクロ
命令である。テスト・アンド・セット命令をアクセスす
ると、物理レジスタ20によるアドレス指定でメモリ装置
10をリードし、リードデータの特定のビット(最上位ビ
ットに1を立てる)を修正し、更に、修正データを元の
アドレスにライトする処理を1回のアクセスで実行させ
る。 そこで本発明は、ECC回路12から1ビットエラーの検出
通知を受けた際に、テスト・アンド・セット命令のもっ
ている特定ビット修正機能を抑止することで、1ビット
エラーのリード・訂正・ライト命令に変更し、物理アド
レスレジスタ20にセットしたメモリ装置10のエラー発生
アドレスからのリード、リードデータのECC回路12によ
る1ビットエラーの検出訂正、及び訂正後のデータのメ
モリ装置10へのライトを1回のアクセスで実行させる。 尚、1回のアクセスとは、リードデータをプロセッサに
取り込まず、且つ「リード・訂正・ライト」の間に他の
プロセッサ又はDMA装置がリードした領域を書き変えな
いように共通バスをロックしてアクセスを行なうことを
意味する。
FIG. 1 is an explanatory view of the principle of the present invention. In FIG. 1, the data processing device 100 sets the address of the memory device 10 in the physical address register 20 to read or write. At the time of reading, the ECC circuit 12 detects a 1-bit error included in the data read from the memory device 10.
Detect with and correct. According to the present invention, when the ECC circuit 12 detects a 1-bit error when the memory device 10 is read, the memory address of the physical register 20 at that time is held in the error address register 14 as an error occurrence address. The processor as the control means 18 modifies and uses the function of the already prepared test and set instruction as a read / correction / write instruction for a 1-bit error. The test-and-set instruction is a microinstruction executed by an access designating a specific address in which an external register does not exist among addresses designating an external register space. When accessing the test and set instruction, the memory device is addressed by the physical register 20.
10 is read, a specific bit of read data (the most significant bit is set to 1) is modified, and the process of writing the modified data to the original address is executed by one access. Therefore, the present invention suppresses the specific bit correction function of the test-and-set instruction when receiving the detection notification of the 1-bit error from the ECC circuit 12, and thereby the read / correction / write instruction of the 1-bit error is suppressed. Read from the error occurrence address of the memory device 10 set in the physical address register 20, the detection and correction of the 1-bit error of the read data by the ECC circuit 12, and the writing of the corrected data to the memory device 10 to 1 Execute with one access. One access means locking the common bus so that the read data is not taken into the processor and the area read by another processor or DMA device is not rewritten during "read / correct / write". Means access.

【作用】[Action]

プロセッサがメモリをリードアクセスして例えば1ビッ
トエラーが起きた場合、エラー発生アドレスをエラーア
ドレスレジスタに格納すると共に、ECC回路がプロセッ
サに対し割込みを起こし、プロセッサは割込みをトリガ
にエラーアドレスレジスタを読出して物理アドレスレジ
スタにセットし、リード・訂正・ライト命令を実行す
る。このリード・訂正・ライト命令は、既に準備されて
いるテスト・アンド・セット命令のもつ1ビット訂正機
能を抑止するという簡単な変形を行うだけで、メモリ装
置の1ビットエラーの発生アドレスからのリード、リー
ドデータのECC回路による1ビットエラーの検出訂正、
及び訂正後のデータのメモリ装置へのライトを、1回の
アクセスで行うことができる。これによりソフトエラー
ならばデータは正常な状態に復帰し、以後のリードアク
セスでは1ビットエラーは起きない。 勿論、ハードエラーならば、データは正常な状態に戻ら
ず、再度のリードアクセスで1ビットエラーが起きる
が、これによってハードエラーより極めて頻度の高いソ
フトエラーを性能をダウンさせることなく救済できる。 また1ビットエラーのリード・訂正・ライト命令は、既
存のテスト・アンド・セット命令を変形して実行してい
ることから、バス上ではもともとあるテスト・アンド・
セット命令としてリード、ライトが行なわれ、リード・
訂正・ライト命令として新たにバス制御をしなくても済
むというメリットがある。また既存のテスト・アンド・
セット命令のリード・訂正・ライト命令への変更も、そ
の1ビット訂正機能を抑止するという簡単なハードウェ
アの追加で済む。
When the processor performs read access to the memory and, for example, a 1-bit error occurs, the error occurrence address is stored in the error address register, the ECC circuit causes an interrupt to the processor, and the processor triggers the interrupt to read the error address register. To the physical address register and execute read / correction / write instructions. This read / correction / write instruction can be read from the address in which a 1-bit error occurs in the memory device by simply modifying the 1-bit correction function of the already prepared test-and-set instruction. , 1-bit error detection and correction by read data ECC circuit,
Further, it is possible to write the corrected data to the memory device with one access. As a result, if there is a soft error, the data returns to the normal state, and a 1-bit error will not occur in the subsequent read access. Of course, in the case of a hard error, the data does not return to the normal state, and a 1-bit error occurs in the read access again, but this makes it possible to relieve a soft error, which is much more frequent than a hard error, without lowering the performance. In addition, the 1-bit error read / correction / write instruction is a modification of the existing test-and-set instruction and is executed.
Read and write are performed as a set instruction, and read / write
There is a merit that it is not necessary to newly control the bus as a correction / write instruction. Also existing test and
Even if the set instruction is changed to a read / correction / write instruction, a simple addition of hardware for suppressing the 1-bit correction function is sufficient.

【実施例】【Example】

第2図は本発明の一実施例を示した説明図である。 第2図において、100はデータ処理装置であり、データ
処理装置100には複数のメモリ装置(半導体メモリ)10
a,10b,・・・がメモリデータバス及びメモリアドレスバ
スにより接続されている。 データ処理装置100には制御手段としてのマイクロプロ
セッサ18a、メモリ装置10aに対しリードアクセスを行な
うための物理アドレスがセットされる物理アドレスレジ
スタ20が設けられ、物理アドレスレジスタ20に対して
は、マイクロプロセッサ18aから直接的にリードアクセ
スの物理アドレスがセットされるか仮想記憶方式にあっ
ては、アドレス変換回路22で仮想アドレスから物理アド
レスに変換されたアドレスデータがセットされる。ま
た、データ処理装置100にはリードアクセスでメモリ装
置10a又は10bから読出されたリードデータの1ビットエ
ラーを検出訂正するECC回路12が設けられる。更に、マ
イクロプロセッサ18aに対してはメモリアクセスとは異
なる別の外部アドレス空間をもった外部レジスタ16aが
設けられている。 このようなデータ処理装置100の構成は従来と同じであ
るが、これに加えて本発明にあっては、エラーアドレス
レジスタ14が新たに設けられ、リードアクセスによりEC
C回路12で1ビットエラーが検出されると、ECC回路12の
エラー検出出力を受けて物理アドレスレジスタ20にセッ
トされているエラー発生アドレスがエラーアドレスレジ
スタ14に格納できるようにしている。このようなエラー
アドレスレジスタ14に加えて、マイクロプロセッサ18a
にはECC回路12より1ビットエラーの検出出力に基づく
割り込みを受けたときに、エラーアドレスレジスタ14の
エラーアドレスを物理アドレスレジスタ20にセットして
データリード、リードデータの訂正及び訂正データのラ
イトを1回のアクセスで行なうマイクロ命令として、
「リード・訂正・ライト命令」が準備されている。この
マイクロ命令としての「リード・訂正・ライト命令」
は、メモリアクセス空間とは異なる別の外部アドレス空
間を作り出す外部レジスタ16aの特定アドレスをアクセ
スする命令であり、例えば外部レジスタ16aの特定アド
レスとしては存在しない外部レジスタアドレスが使用さ
れ、この存在しない外部レジスタアドレスを例えばライ
トアクセスする命令を実行することにより「リード・訂
正・ライト命令」の動作を1回のアクセスで行なうこと
ができるようにしている。 次に第2図の実施例において、リードアクセスで1ビッ
トエラーが起きたときの処理動作を説明する。 今、データ処理装置100のマイクロプロセッサ18aが物理
アドレスレジスタ20に直接またはアドレス変換回路22を
介してリードアドレスをセットしてメモリ装置10aをア
クセスしたとする。このリードアクセスを受けてメモリ
装置10aはメモリデータバスを通じてデータ処理回路100
にリードデータを送り、リードデータはECC回路12を介
してデータバスによりマイクロプロセッサ18aに取り込
まれる。このときECC回路12でソフトエラーとして発生
した1ビットエラーが検出されたとすると、ECC回路12
のエラー検出出力を受けてエラーアドレスレジスタ14に
物理アドレスレジスタ20にセットされているリードアド
レスがエラー発生アドレスとして保持される。 一方、ECC回路12は1ビットエラーを検出するとエラー
検出をマイクロプロセッサ18aに通知する。このエラー
通知をトリガとしてプロセッサ18aは「リード・訂正・
ライト命令」を実行する。即ち、マイクロプロセッサ18
aは外部レジスタ16aの特定レジスタアドレス、例えば存
在しない外部レジスタアドレスのライトアクセスを実行
し、このライトアクセスを受けてエラーアドレスレジス
タ14に保持されているエラー発生アドレスが物理アドレ
スレジスタ20にセットされ、メモリ装置10aのエラー発
生アドレスのデータリードが行なわれて、ECC回路12に
1ビットエラーの起きたリードデータが取り込まれて訂
正され、訂正後に同じアドレスに対し訂正データのライ
トを1回のアクセスで行なう。 このためソフトエラーであることから、メモリ装置10a
のエラー発生データは正常な状態に復帰し、以後の同一
アドレスのリードアクセスで1ビットエラーは起きない
ようになる。 尚、第2図の実施例にあっては、メモリ装置10a,10b,・
・・のデータバス及びアドレスバスに対し、他のデータ
処理装置100aが接続されており、この他のデータ処理装
置100aについてもデータ処理装置100と同様、エラーア
ドレスレジスタ14を設けると共にマイクロプロセッサに
「リード・訂正・ライト命令」をもたせることで、同様
にソフトエラーによる1ビットエラーが起きたときに割
込みによるマイクロ命令の実行でメモリデータを正常な
状態に復帰させることができる。 第3図は第2図に示したデータ処理装置100がマイクロ
命令として備えている「テスト・アンド・セット命令」
を利用して1ビットエラー検出時の「リード・訂正・ラ
イト命令」を実行するようにした具体的な実施例を示
す。 第3図において、マイクロプロセッサ18aはメモリアク
セス空間とは別に第2図に示したように、外部レジスタ
16aによる外部レジスタ空間をもち、外部レジスタ16aに
はそれぞれ外部レジスタアドレスが割り付けられてお
り、MV命令(MOVE命令)により外部レジスタ16aのデー
タをリード又はライトすることができる。このような外
部レジスタ空間のアクセス機能に加えて、マイクロプロ
セッサ18aは外部レジスタが存在しない外部レジスタア
ドレスを指定すると、通常は1オペレーションとなる
が、この存在しない外部レジスタアドレスの指定により
特別な機能をもたせることができる。 第3図の実施例にあっては、外部レジスタアドレスとし
て「X80」から「XFF」までをもつことができ、「X80」
から「X9F」までの外部レジスタは存在するが、「XA0」
から「XFF」までの外部レジスタは存在しない。そして
マイクロプロセッサ18aが外部レジスタアドレスとして
存在しないレジスタアドレス「XA0」を指定してリード
アクセスを行なうと、アドレス「XA0」が外部デコーダ
回路24で解読され、「テスト・アンド・セット命令」を
行なわせることができる。 ここで、「テスト・アンド・セット命令」とは、メモリ
装置の指定された領域のデータを読出すと共に、読出デ
ータの特定の1ビット、この実施例にあっては最上位ビ
ットを「1」にしてそのまま元の領域にライトする機能
である。勿論、リードデータに1ビットエラーがあれ
ば、訂正後に最上位ビットに「1」を立ててライトす
る。この「テスト・アンド・セット命令」の対象となる
領域指定はプロセッサ18aより物理アドレスレジスタに
予めアドレスを設定しておくことにより行なわれる。 このような「テスト・アンド・セット命令」を備えた第
3図のデータ処理装置の構成を説明すると、まずECC回
路12はライトデータにチェックビットを付加するための
チェックビット発生器26を備え、一方、リードアクセス
によりメモリデータバスからリードデータレジスタ28を
経由して取り込まれたリードデータから1ビットエラー
を検出して訂正し、且つ2ビットエラーを検出するた
め、シンドロームジェネレータ30、シンドロームデコー
ダ32及びデータ修正器34を備える。 一方、「テスト・アンド・セット命令」を実行するた
め、ECC回路12のデータ修正器34を経由して得られたリ
ードデータの最上位ビットに1を立てるための修正回路
38が設けられ、修正回路38に対してはANDゲート40より
テスト・アンド・セット指示が与えられる。ANDゲート4
0の一方の入力にはマイクロプロセッサ18aが存在しない
外部アドレスレジスタのアドレス「XA0」を指定するこ
とによって外部デコーダ回路24から得られた解読データ
が入力され、ANDゲート40の他方の入力にはマイクロプ
ロセッサ18aからのライト信号(Lレベルでリードを示
す)が入力され、このLレベルとなるライト信号の反転
入力で許容状態となってゲート40からのテスト・アンド
・セット指示信号を修正回路38に出力できるようにして
いる。 このような修正回路38、ANDゲート40及びデコーダ24で
成る「テスト・アンド・セット命令」に対し、本発明に
よる「リード・訂正・ライト命令」を実現するためAND
ゲート42が設けられ、ANDゲート42にはデコーダ24から
の外部レジスタアドレス「XA0」の解読出力を入力する
と共に、マイクロプロセッサ18aからのライト信号(H
レベル)を入力している。このため、ANDゲート42はマ
イクロプロセッサ18aが外部レジスタアドレス「XA0」を
指定したライトアクセスを行なったときに、修正回路38
に対し、リード・訂正・ライト指示のためのHレベル出
力を生ずる。ANDゲート42により、リード・訂正・ライ
ト指示のHレベル出力を受けた修正回路38は、「テスト
・アンド・セット命令」におけるリードデータの最上位
ビットに1を立てる処理を行なわずに、そのままライト
する動作を行ない、その結果、本発明による「リード・
訂正・ライト命令」を実現することができるようにして
いる。 尚、第3図の実施例におけるマイクロプロセッサ18a、E
CC回路12以外の構成は、第2図の実施例と同じになる。 次に、第3図の実施例の処理動作を説明する。 マイクロプロセッサ18aによるメモリ装置のリードアク
セスでメモリデータバスを通じてリードデータレジスタ
28にリードデータが格納され、ECC回路12に設けたシン
ドロームジェネレータ30、シンドロームデコーダ32によ
ってシンドロームから1ビットエラーが検出されると、
データ修正器34でデータ訂正が行なわれ、修正回路38及
びトランシーバ44を経由してマイクロプロセッサ18aに
リードデータが取り込まれる。 一方、ECC回路12で1ビットエラーが検出されると、第
2図に示したようにエラーアドレスレジスタ14にエラー
発生アドレスが保持され、続いてマイクロプロセッサ18
aがECC回路12からのエラー検出出力による割込みを受
け、マイクロプロセッサ18aは存在しない外部レジスタ
アドレス「XA0」をライトアクセスするMV命令を実行す
る。即ち、マイクロプロセッサ18aは外部デコーダ24にM
V命令を出力すると同時に、存在しない外部レジスタア
ドレス「XA0」をセットし、これを受けて外部デコーダ2
4のANDゲート40及び42に対する信号ラインにHレベル出
力を生ずる。同時にライトアクセスであることから、マ
イクロプロセッサ18aはANDゲート40,42にHレベル出力
を生じ、このためANDゲート40は禁止状態に置かれる
が、ANDゲート42が許容状態となり、外部デコーダ24か
らの解読信号がANDゲート42を通過して修正回路38に対
しリード・訂正・ライト指示となるHレベル出力を与え
る。このリード・訂正・ライト命令の指示を受けた修正
回路38は、エラーアドレスレジスタ14に格納されている
エラー発生アドレスを物理アドレスレジスタ20にセット
してメモリ装置をリードし、リードデータはECC回路12
を通過する際に1ビットエラーが訂正されて修正回路38
に取り込まれ、続いて、修正回路38は修正データをその
まま元のアドレスに書込むライト動作を行ない、これに
よって1回のアクセスで「リード・訂正・ライト命令」
が行なわれる。 このように第3図の実施例にあっては、データ処理装置
が有する「テスト・アンド・セット命令」のハードウェ
アを有効に利用しているため、1ビットエラーを1回の
アクセスで行なうためのハードウェアの付加は極く少量
のハードの追加で済ますことができる。 勿論、1ビットエラーを検出したときのマイクロ命令の
実行による「リード・訂正・ライト機能」の実現はデー
タ処理装置のもつ「テスト・アンド・セット命令」の利
用に限定されず、存在しない適宜の外部レジスタのリー
ド又はライトアクセスを利用した特別機能をもたせるこ
とで同様に実現できる。 [発明の効果] 以上説明してきたように本発明によれば、プロセッサが
メモリをリードアクセスして1ビットエラーが起きた場
合、既に準備されているテスト・アンド・セット命令の
もつ1ビット訂正機能を抑止したリード・訂正ライト命
令を実行することで、メモリ装置の1ビットエラーの発
生アドレスからのリード、リードデータのECC回路によ
る1ビットエラーの検出訂正、及び訂正後のデータのメ
モリ装置へのライトを、1回のアクセスで行うことがで
きる。 この1ビットエラーのリード・訂正・ライト命令は、既
存のテスト・アンド・セット命令を変形して実行してい
るため、バス上ではもともとあるテスト・アンド・セッ
ト命令としてリード、ライトが行なわれ、リード・訂正
・ライト命令として新たにバス制御をしなくても済む。
また既存のテスト・アンド・セット命令のリード・訂正
・ライト命令への変更も、その1ビット訂正機能を抑止
するという簡単なハードウェアの追加で済む。 その結果、少量のハードウェアの追加で1ビットエラー
を発生したメモリアドレスのデータ書換えによってソフ
トエラーを救済することができ、メモリパトロールのよ
うに性能ダウンを引き起こすことがなく、メモリの信頼
性ひいてはシステムの信頼性を向上させることができ
る。
FIG. 2 is an explanatory view showing an embodiment of the present invention. In FIG. 2, reference numeral 100 denotes a data processing device, and the data processing device 100 includes a plurality of memory devices (semiconductor memories) 10.
, a, 10b, ... Are connected by a memory data bus and a memory address bus. The data processing device 100 is provided with a microprocessor 18a as a control means and a physical address register 20 in which a physical address for making a read access to the memory device 10a is set. For the physical address register 20, a microprocessor is provided. If the physical address for read access is directly set from 18a or in the virtual memory system, the address data converted from the virtual address to the physical address by the address conversion circuit 22 is set. Further, the data processing device 100 is provided with an ECC circuit 12 for detecting and correcting a 1-bit error of read data read from the memory device 10a or 10b by read access. Further, the microprocessor 18a is provided with an external register 16a having another external address space different from the memory access. Although the configuration of such a data processing device 100 is the same as the conventional one, in addition to this, in the present invention, an error address register 14 is newly provided and an EC is provided by a read access.
When the C circuit 12 detects a 1-bit error, the error occurrence address set in the physical address register 20 in response to the error detection output of the ECC circuit 12 can be stored in the error address register 14. In addition to such an error address register 14, the microprocessor 18a
When the ECC circuit 12 receives an interrupt based on the detection output of a 1-bit error, the error address of the error address register 14 is set in the physical address register 20 to read the data, correct the read data, and write the corrected data. As a microinstruction to be performed with one access,
"Read / correct / write instructions" are prepared. "Read / correction / write instruction" as this micro instruction
Is an instruction to access a specific address of the external register 16a that creates another external address space different from the memory access space. For example, an external register address that does not exist is used as the specific address of the external register 16a. By executing an instruction to write access to the register address, the operation of "read / correction / write instruction" can be performed by one access. Next, the processing operation when a 1-bit error occurs in the read access in the embodiment of FIG. 2 will be described. Now, it is assumed that the microprocessor 18a of the data processing device 100 sets a read address in the physical address register 20 directly or via the address conversion circuit 22 to access the memory device 10a. In response to this read access, the memory device 10a receives the data processing circuit 100 through the memory data bus.
To the microprocessor 18a via the data bus via the ECC circuit 12. At this time, if the ECC circuit 12 detects a 1-bit error that has occurred as a soft error, the ECC circuit 12
In response to the error detection output, the read address set in the physical address register 20 is held in the error address register 14 as the error occurrence address. On the other hand, when the ECC circuit 12 detects a 1-bit error, it notifies the microprocessor 18a of the error detection. This error notification triggers the processor 18a to read, correct,
Execute a write command. That is, the microprocessor 18
a performs a write access to a specific register address of the external register 16a, for example, an external register address that does not exist, and the error occurrence address held in the error address register 14 is set in the physical address register 20 in response to this write access. Data is read from the error occurrence address of the memory device 10a, the read data in which the 1-bit error has occurred is fetched into the ECC circuit 12 and is corrected, and after correction, the correction data can be written to the same address by one access. To do. Therefore, since it is a soft error, the memory device 10a
The error occurrence data of No. 1 is restored to the normal state, and the 1-bit error does not occur in the subsequent read access of the same address. In the embodiment of FIG. 2, the memory devices 10a, 10b ,.
The other data processing device 100a is connected to the data bus and the address bus of, and the other data processing device 100a is provided with the error address register 14 as well as the data processing device 100. Similarly, by providing a "read / correction / write instruction", when a 1-bit error due to a soft error occurs, it is possible to restore the memory data to a normal state by executing a micro instruction by an interrupt. FIG. 3 shows a "test and set instruction" provided as a micro instruction by the data processing device 100 shown in FIG.
A specific embodiment in which the "read / correction / write instruction" is executed when a 1-bit error is detected by using In FIG. 3, the microprocessor 18a is provided with an external register as shown in FIG. 2 separately from the memory access space.
The external register 16a has an external register space, and external register addresses are allocated to the external registers 16a, respectively, and data of the external register 16a can be read or written by an MV instruction (MOVE instruction). In addition to such an external register space access function, the microprocessor 18a normally performs one operation when an external register address where an external register does not exist is specified, but a special function is provided by specifying this nonexistent external register address. Can be held. In the embodiment shown in FIG. 3, the external register address can have from "X80" to "XFF".
There are external registers from "X9F" to "X9F", but "XA0"
There are no external registers from to "XFF". When the microprocessor 18a performs a read access by designating a register address "XA0" that does not exist as an external register address, the address "XA0" is decoded by the external decoder circuit 24 and a "test and set instruction" is executed. be able to. Here, the "test and set instruction" is to read data in a designated area of the memory device and to read a specific 1 bit of the read data, that is, the most significant bit in this embodiment is "1". It is a function to write to the original area as it is. Of course, if there is a 1-bit error in the read data, the most significant bit is set to "1" and written after correction. The area to be the target of the "test and set instruction" is specified by setting an address in the physical address register in advance by the processor 18a. Explaining the configuration of the data processing device of FIG. 3 provided with such a "test and set instruction", the ECC circuit 12 is provided with a check bit generator 26 for adding a check bit to write data. On the other hand, in order to detect and correct a 1-bit error from the read data fetched from the memory data bus via the read data register 28 by the read access and detect a 2-bit error, the syndrome generator 30, the syndrome decoder 32, and A data modifier 34 is provided. On the other hand, a correction circuit for setting 1 to the most significant bit of the read data obtained via the data correction unit 34 of the ECC circuit 12 in order to execute the "test and set instruction".
38 is provided and a test and set instruction is given to the correction circuit 38 from the AND gate 40. AND gate 4
The decoded data obtained from the external decoder circuit 24 by inputting the address "XA0" of the external address register where the microprocessor 18a does not exist is input to one input of 0, and the other input of the AND gate 40 is a microprocessor. A write signal (indicating read at L level) from the processor 18a is input, and an inversion state of the write signal at L level allows the test and set instruction signal from the gate 40 to the correction circuit 38. It is possible to output. In order to realize the "read / correction / write instruction" according to the present invention, the "test and set instruction" composed of the correction circuit 38, the AND gate 40 and the decoder 24 is ANDed.
A gate 42 is provided, and the AND gate 42 receives the decoded output of the external register address "XA0" from the decoder 24 and also receives the write signal (H) from the microprocessor 18a.
Level). Therefore, the AND gate 42 corrects the correction circuit 38 when the microprocessor 18a performs a write access designating the external register address "XA0".
In response, an H level output for read / correction / write instruction is generated. The correction circuit 38, which has received the H level output of the read / correction / write instruction by the AND gate 42, does not perform the process of setting 1 to the most significant bit of the read data in the “test and set instruction”, and directly writes it. And the result is that the “read
"Correct / write instruction" can be realized. Incidentally, the microprocessors 18a, E in the embodiment of FIG.
The configuration other than the CC circuit 12 is the same as that of the embodiment shown in FIG. Next, the processing operation of the embodiment shown in FIG. 3 will be described. Read data register through memory data bus for read access of memory device by microprocessor 18a
When read data is stored in 28 and a 1-bit error is detected from the syndrome by the syndrome generator 30 and the syndrome decoder 32 provided in the ECC circuit 12,
The data is corrected by the data corrector 34, and the read data is taken into the microprocessor 18a via the correction circuit 38 and the transceiver 44. On the other hand, when the ECC circuit 12 detects a 1-bit error, the error occurrence address is held in the error address register 14 as shown in FIG.
When a receives an interrupt due to the error detection output from the ECC circuit 12, the microprocessor 18a executes the MV instruction for write access to the nonexistent external register address "XA0". That is, the microprocessor 18a uses the M
At the same time that the V instruction is output, the nonexistent external register address "XA0" is set, and in response to this, the external decoder 2
It produces an H level output on the signal lines for the four AND gates 40 and 42. At the same time, since it is a write access, the microprocessor 18a produces an H level output to the AND gates 40 and 42, and therefore the AND gate 40 is placed in the prohibition state, but the AND gate 42 is in the permitting state and the external decoder 24 The decoded signal passes through the AND gate 42 and gives the correction circuit 38 an H-level output which is a read / correction / write instruction. The correction circuit 38, which has received the instruction of the read / correction / write instruction, sets the error occurrence address stored in the error address register 14 in the physical address register 20 to read the memory device, and the read data is read by the ECC circuit 12
1-bit error is corrected when passing through the correction circuit 38
Then, the correction circuit 38 performs a write operation to write the corrected data to the original address as it is, whereby a "read / correction / write instruction" can be made by one access.
Is performed. As described above, in the embodiment of FIG. 3, since the hardware of the “test and set instruction” of the data processing device is effectively used, a 1-bit error is made by one access. The addition of hardware can be done by adding a very small amount of hardware. Of course, the realization of the "read / correction / write function" by the execution of the microinstruction when the 1-bit error is detected is not limited to the use of the "test and set instruction" of the data processing device, and the appropriate nonexistent The same can be realized by providing a special function using read or write access to the external register. [Effects of the Invention] As described above, according to the present invention, when a processor reads and accesses a memory and a 1-bit error occurs, a 1-bit correction function included in a test and set instruction that has already been prepared. By executing a read / correction write command that suppresses the 1-bit error of the memory device, the ECC circuit for the read data detects and corrects the 1-bit error, and the corrected data is transferred to the memory device. Writing can be done with a single access. This 1-bit error read / correction / write instruction is a modification of the existing test and set instruction and is executed. Therefore, read and write are performed as the original test and set instruction on the bus. There is no need to newly control the bus as a read / correction / write instruction.
Further, even if the existing test-and-set instruction is changed to a read-correction-write instruction, a simple addition of hardware for suppressing the 1-bit correction function is sufficient. As a result, by adding a small amount of hardware, it is possible to relieve the soft error by rewriting the data of the memory address that has generated the 1-bit error, and the performance of the memory is not reduced as in the case of the memory patrol. The reliability of can be improved.

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

第1図は本発明の原理説明図; 第2図は本発明の一実施例を示した説明図; 第3図はデータ処理装置の「テスト・アンド・セット機
能」を利用して「リード・訂正・ライト機能」を実現す
る具体的な実施例を示した説明図である。 図中、 10,10a,10b:メモリ装置(半導体メモリ) 12:ECC回路 14:エラーレジスタ 16:外部レジスタ空間 16a:外部レジスタ 18:制御手段 18a:マイクロプロセッサ 20:物理アドレスレジスタ 22:アドレス変換回路(仮想メモリ用) 24:外部デコーダ回路 26:チェックビット発生器 28:リードデータレジスタ 30:シンドロームジェネレータ 32:シンドロームデコーダ 34:データ修正器 38:修正回路 40,42:ANDゲート 44:トランシーバ
1 is an explanatory view of the principle of the present invention; FIG. 2 is an explanatory view showing an embodiment of the present invention; FIG. 3 is a "read-and-read function" utilizing a "test and set function" of a data processing device. It is explanatory drawing which showed the specific Example which implement | achieves a "correction / write function." In the figure, 10,10a, 10b: Memory device (semiconductor memory) 12: ECC circuit 14: Error register 16: External register space 16a: External register 18: Control means 18a: Microprocessor 20: Physical address register 22: Address conversion circuit (For virtual memory) 24: External decoder circuit 26: Check bit generator 28: Read data register 30: Syndrome generator 32: Syndrome decoder 34: Data corrector 38: Correction circuit 40, 42: AND gate 44: Transceiver

Claims (1)

【特許請求の範囲】[Claims] 【請求項1】物理レジスタ(20)にメモリ装置(10)の
アドレスをセットしてリード又はライトし、リード時に
は前記メモリ装置(10)からリードされたデータに含ま
れる1ビットエラーをECC回路(12)で検出して訂正す
るデータ処理装置に於いて、 エラーアドレスレジスタ(14)と制御手段(18)を備
え、 前記エラーアドレスレジスタ(14)は、前記ECC回路(1
2)による1ビットエラーの検出時に、前記物理レジス
タ(20)のメモリアドレスをエラー発生アドレスとして
保持し、 前記制御手段(18)は、外部レジスタ空間を指定するア
ドレスの内、外部レジスタが実際に存在しない特定のア
ドレスを指定したアクセスで実行されるマイクロ命令と
して、前記物理レジスタ(20)によるアドレス指定で前
記メモリ装置(10)をリードし、該リードデータの特定
ビットを修正し、該修正データを元のアドレスにライト
するテスト・アンド・セット命令を有し、さらに、該テ
スト・アンド・セット命令をリード命令として実行する
時には特定ビットの修正を行うことでテスト・アンド・
セット命令として機能させ、ライト命令として実行する
時には特定ビットの修正を抑止することで1ビットエラ
ーのリード・訂正・ライト命令に変更して機能させる手
段を有し、前記ECC回路(12)から1ビットエラーの検
出通知を受けた際に前記リード・訂正・ライト命令を実
行し、前記物理アドレスレジスタ(20)にセットした前
記メモリ装置(10)のエラー発生アドレスからのリー
ド、該リードデータの前記ECC回路(12)よる1ビット
エラーの検出訂正、及び訂正後のデータの前記メモリ装
置(10)へのライトを1回のアクセスで実行させること
を特徴とするデータ処理装置。
1. A physical register (20) is set with an address of a memory device (10) for reading or writing, and at the time of reading, a 1-bit error included in data read from the memory device (10) is detected by an ECC circuit ( A data processing device that detects and corrects data in 12) includes an error address register (14) and a control means (18), and the error address register (14) includes the ECC circuit (1).
When the 1-bit error is detected by 2), the memory address of the physical register (20) is held as an error occurrence address, and the control means (18) actually selects the external register space among the addresses that specify the external register space. The memory device (10) is read by the address designation by the physical register (20) as a microinstruction executed by an access designating a specific address that does not exist, and a specific bit of the read data is modified to modify the modified data. Has a test-and-set instruction for writing to the original address, and when the test-and-set instruction is executed as a read instruction, the test-and-set instruction is performed by modifying a specific bit.
The ECC circuit (12) has a function to function as a set instruction and to change to a 1-bit error read / correction / write instruction by suppressing modification of a specific bit when executing as a write instruction. When the read / correction / write command is executed upon receipt of a bit error detection notification, read from the error occurrence address of the memory device (10) set in the physical address register (20), and read of the read data A data processing device, wherein detection and correction of a 1-bit error by an ECC circuit (12) and writing of corrected data to the memory device (10) are executed by one access.
JP62290991A 1987-11-18 1987-11-18 Data processing device Expired - Lifetime JPH0778747B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP62290991A JPH0778747B2 (en) 1987-11-18 1987-11-18 Data processing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP62290991A JPH0778747B2 (en) 1987-11-18 1987-11-18 Data processing device

Publications (2)

Publication Number Publication Date
JPH01133147A JPH01133147A (en) 1989-05-25
JPH0778747B2 true JPH0778747B2 (en) 1995-08-23

Family

ID=17763045

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62290991A Expired - Lifetime JPH0778747B2 (en) 1987-11-18 1987-11-18 Data processing device

Country Status (1)

Country Link
JP (1) JPH0778747B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4768374B2 (en) * 2005-09-16 2011-09-07 株式会社東芝 Semiconductor memory device

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS4990460A (en) * 1972-12-28 1974-08-29
JPS52129334A (en) * 1976-04-23 1977-10-29 Nec Corp Memor
JPS61290556A (en) * 1985-06-19 1986-12-20 Fujitsu Ltd Memory error recovering system

Also Published As

Publication number Publication date
JPH01133147A (en) 1989-05-25

Similar Documents

Publication Publication Date Title
US5495491A (en) System using a memory controller controlling an error correction means to detect and correct memory errors when and over a time interval indicated by registers in the memory controller
US8365031B2 (en) Soft error correction method, memory control apparatus and memory system
US20040205384A1 (en) Computer system and memory control method thereof
JPH0778747B2 (en) Data processing device
JPS6129024B2 (en)
KR860002027B1 (en) Key memory error processing system
JPH0316655B2 (en)
JPH06149685A (en) Memory error recovering circuit
JPH01194046A (en) Memory access system
JPS60225954A (en) Storage device
JPH04115340A (en) Duplex storage circuit
JPH0675864A (en) Memory error recovery system
JPH01298453A (en) Cache error processing system
JPH0423294B2 (en)
JPS641817B2 (en)
JPS6226492B2 (en)
JPS60113394A (en) Error correction system
JPH02143352A (en) Memory error detection and correction system
JPH0481953A (en) Memory device
JPH0230060B2 (en)
JPS635784B2 (en)
JPH05108496A (en) Patrol control system
JPH1083357A (en) Data storage control method and its device
JPS6235146B2 (en)
JPS59162697A (en) Error correction system of control storage