JP2000010871A - Method and system for memory patrol - Google Patents
Method and system for memory patrolInfo
- Publication number
- JP2000010871A JP2000010871A JP10178836A JP17883698A JP2000010871A JP 2000010871 A JP2000010871 A JP 2000010871A JP 10178836 A JP10178836 A JP 10178836A JP 17883698 A JP17883698 A JP 17883698A JP 2000010871 A JP2000010871 A JP 2000010871A
- Authority
- JP
- Japan
- Prior art keywords
- patrol
- instruction
- read
- memory
- data
- 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
Links
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
Description
【0001】[0001]
【発明の属する技術分野】メモリ素子のソフトエラーに
よる間欠障害を検出訂正するパトロール制御方式に関
し、特に、少ないハードウェア量で短時間内に大容量記
憶装置に対処するメモリパトロールの方法と方式に関す
る。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a patrol control method for detecting and correcting an intermittent fault due to a soft error in a memory element, and more particularly to a memory patrol method and method for dealing with a large-capacity storage device in a short time with a small amount of hardware.
【0002】[0002]
【従来の技術】図5には先行技術として在来の例による
フローチャートを、本発明の場合と同じく1個の命令で
扱うデータ量を8バイト、1回のパトロールで処理する
データ量を32バイトに設定したものを示している。2. Description of the Related Art FIG. 5 is a flow chart of a conventional example as a prior art. As in the case of the present invention, the amount of data handled by one instruction is 8 bytes and the amount of data processed by one patrol is 32 bytes. Is set.
【0003】また従来技術として公知のものに、特公平
2−132539号公報がある。[0003] Japanese Patent Publication No. Hei 2-132539 discloses a prior art.
【0004】図6に本例の一実施例を説明する図a,b
を示す。FIGS. 6A and 6B illustrate an embodiment of the present invention.
Is shown.
【0005】図6(a)は、各ブロック毎の読み出しデ
ータをチェックするのにパリティチェック回路12を用
いた例である。FIG. 6A shows an example in which a parity check circuit 12 is used to check read data of each block.
【0006】図6(b)は各ブロック毎の読み出しデー
タをチェックするのに従来のECC回路11を用いた場
合であって本例には不適である。FIG. 6B shows a case where the conventional ECC circuit 11 is used to check the read data of each block, which is not suitable for this example.
【0007】記憶部2を構成している複数個のブロック
(本例では、4個)(BLK−0〜3)21に対して同
時に読み出しを行い、各ブロック(BLK−0〜3)2
1からの読み出しデータ(MRD−0〜3)に対して、
同時に、パリティチェックを行い、エラーが検出された
場合には、ブロック内アドレスの更新を抑止して、その
エラーの検出されたブロック内アドレスで、複数個のブ
ロック(BLK−0〜3)21を、通常のパトロール方
式で順次起動し、訂正可能なエラーの検出されたブロッ
クに対して訂正データ(WD)による再書き込みを行う
手段が本例を実施するのに必要な手段である。A plurality of blocks (four in this example) (BLK-0 to 3) 21 constituting the storage section 2 are simultaneously read, and each block (BLK-0 to 3) 2 is read.
For the read data (MRD-0 to 3) from 1
At the same time, a parity check is performed, and when an error is detected, updating of the address in the block is suppressed, and a plurality of blocks (BLK-0 to 3) 21 are updated with the address in the block in which the error is detected. Means which are sequentially activated by a normal patrol method and perform rewriting with corrected data (WD) to a block in which a correctable error is detected are necessary means for implementing this embodiment.
【0008】以上述べたように本例においては、複数個
に分割された記憶領域の全ブロックへ同時に一括してリ
ードアクセスを出し、読み出したデータの検査を行って
いるが、エラー発見時には従来の動作に移行するため転
送性能にロスを生ずる。これに対し本発明は命令サイク
ルの切り離しを行って転送性能を最大限利用できるよう
にした点で本例と本発明では相違する。As described above, in this embodiment, read access is simultaneously issued to all blocks of the storage area divided into a plurality of blocks at a time, and the read data is inspected. The transfer to the operation causes a loss in transfer performance. On the other hand, the present invention is different from the present invention in that the instruction cycle is separated so that the maximum transfer performance can be used.
【0009】[0009]
【発明が解決しようとする課題】従来、パトロール動作
はデータをリードする→データを検査し訂正する→
チェックビットを生成する→データを書き戻すとい
う4つの要素を含む命令を作り実行していた。この命令
は扱えるデータ幅が小さく、かつリードしてからライト
するという動作をRAMに対して行うためサイクルタイ
ムが長いので、無駄が多い。この命令を記憶装置に適用
した場合、転送性能が低下する問題があり、特に記憶容
量が大きくなるとパトロール周期が短くなり、影響が大
きくなる。Conventionally, a patrol operation involves reading data → checking and correcting data →
An instruction including four elements of generating a check bit → rewriting data was created and executed. Since this instruction has a small data width that can be handled and performs an operation of reading and then writing data to the RAM, the cycle time is long, so that there is much waste. When this instruction is applied to a storage device, there is a problem that transfer performance is reduced. In particular, when the storage capacity is increased, the patrol cycle is shortened, and the influence is increased.
【0010】本発明の目的は、連続してリード命令を実
行して大量のデータを高速に検査し、またエラーの訂正
は一連のリード命令が終了してから行い、常に最大の転
送性能を活用するメモリパトロールの方法と方式を提案
することである。An object of the present invention is to execute a read command continuously to check a large amount of data at a high speed, correct an error after a series of read instructions are completed, and always utilize the maximum transfer performance. It is to propose a memory patrol method and method.
【0011】[0011]
【課題を解決するための手段】本発明のメモリ素子のソ
フトエラーによる間欠障害を検出訂正するメモリパトロ
ール制御方式は、パトロール周期毎にリード指示信号を
リード命令発生部2へ出力し、リード命令が完了した事
をメモリ制御部5からの命令完了信号で認識すると、E
CC回路7から受信している訂正可能エラー信号を確認
し、エラーが無かった場合パトロールを終了し、またエ
ラーが有った場合訂正指示を訂正命令発生部3へ出力
し、訂正命令が完了した事をメモリ制御部5経由で認識
するとパトロールを終了するパトロール制御部1と、リ
ード指示を受け付けると、リード命令をパトロール単位
分だけメモリ制御部5へ連続して発行するが、この時に
リード命令を1個発行する度にアドレスカウンタ4をカ
ウントアップするリード命令発生部2と、訂正指示を受
け付けると、まずアドレスカウンタ4をパトロール単位
の先頭アドレスに巻き戻し、その後訂正命令をパトロー
ル単位分だけメモリ制御部5へ発行するが、この時に訂
正命令を1個発行する度にアドレスカウンタ4をカウン
トアップする訂正命令発生部3と、リード命令発生部2
がリード命令を、訂正命令発生部3が訂正命令を発行す
る度にカウントアップするアドレスカウンタ4と、リー
ド命令および訂正命令をアドレスカウンタ4の示すアド
レスについて実行し、命令が1個処理し終わる度に命令
完了をパトロール主制御部1へ通知するメモリ制御部5
と、制御部5の指示により、データのライト・リードを
実行するメモリ部6と、メモリ部6からのリードデータ
を検査し、訂正可能エラーの有無をパトロール主制御部
1へ通知し、訂正可能エラーが有った場合にはリードデ
ータを訂正するECC回路7と、ECC回路7で訂正済
みのデータを入力し、チェックビット(データ保証ビッ
ト)を生成してデータに付加し、ライトデータとしてメ
モリ部6へ出力するECG回路8とを有する。According to the memory patrol control method of the present invention for detecting and correcting an intermittent fault due to a soft error of a memory element, a read instruction signal is output to a read instruction generating unit 2 at each patrol cycle, and a read instruction is issued. When the completion is recognized by the instruction completion signal from the memory control unit 5, E
The correctable error signal received from the CC circuit 7 is confirmed. If there is no error, the patrol is terminated. If there is an error, a correction instruction is output to the correction instruction generating unit 3 and the correction instruction is completed. When the patrol control unit 1 recognizes the fact via the memory control unit 5 and ends the patrol, and when a read instruction is received, a read instruction is continuously issued to the memory control unit 5 by the patrol unit. When a read instruction generator 2 counts up the address counter 4 each time one is issued, and receives a correction instruction, the address counter 4 is first rewound to the head address of the patrol unit, and then the memory controller controls the corrected instruction for the patrol unit. The correction instruction is issued to the address counter 4 every time one correction instruction is issued. A generating unit 3, a read command generating unit 2
Executes the read instruction, an address counter 4 which counts up each time the correction instruction generation unit 3 issues the correction instruction, and executes the read instruction and the correction instruction at the address indicated by the address counter 4 and each time one instruction is processed. Control unit 5 that informs patrol main control unit 1 of instruction completion
In response to an instruction from the control unit 5, the memory unit 6 that executes data write / read, and the read data from the memory unit 6 are inspected, the presence or absence of a correctable error is notified to the patrol main control unit 1, and correction is possible. When there is an error, an ECC circuit 7 for correcting the read data and data corrected by the ECC circuit 7 are input, a check bit (data guarantee bit) is generated and added to the data, and the memory is used as write data. And an ECG circuit 8 for outputting to the section 6.
【0012】本発明のパトロール周期毎に行われるメモ
リパトロールの方法は、リード命令によりアドレスAの
データをリードし、データを検査し、結果を保持するス
テップ401と、アドレスを1個加算するステップ40
2と、前記と同じ動作を夫々繰返すステップ403、4
04、405、406及び407と、訂正可能エラーの
有無を判別するステップ409と、訂正可能エラー有り
の場合アドレスを開始値に戻すステップ410と、訂正
命令により、リードデータを読み出し、これを訂正し、
チェックビットを付加してライトデータを作り、メモリ
6へ書き戻す一連の動作を行うステップ411と、アド
レスを1個加算するステップ412と、前記と同じ動作
を夫々繰返すステップ413、414、415、416
及び417と、を有する。According to the method of the memory patrol performed in each patrol cycle of the present invention, the data of the address A is read by a read command, the data is inspected, and the result is stored in step 401 and the address is added by one step 40.
2 and steps 403 and 4 for repeating the same operation as above, respectively.
04, 405, 406 and 407, step 409 for determining the presence or absence of a correctable error, step 410 for returning the address to the start value when a correctable error is present, read data is read by a correction command, and the read data is corrected. ,
Step 411 for performing a series of operations for creating write data by adding a check bit and writing the data back to the memory 6, step 412 for adding one address, and steps 413, 414, 415, and 416 for repeating the same operation as described above, respectively.
And 417.
【0013】また、前記リード命令は、データのリー
ド、検査及び結果の保持を連続して実行しメモリの最大
転送性能を活かして短い時間で実行するのも本発明の好
ましい実施態様である。It is also a preferred embodiment of the present invention that the read instruction executes data read, inspection and result holding continuously, and executes the read instruction in a short time by utilizing the maximum transfer performance of the memory.
【0014】さらに、前記訂正命令は、リードデータ読
み出し、エラー訂正、チェックビットを付加してライト
データを作成及びメモリへ書き戻す動作を一連のリード
命令が終了してから追加実行するのも本発明の好ましい
実施態様である。Further, in the present invention, the correction instruction may additionally execute read data read, error correction, creation of write data by adding a check bit, and writing back to the memory after a series of read instructions are completed. Is a preferred embodiment.
【0015】また前記ステップ409は、最大限大きく
設定されたパトロール単位に訂正可能エラーが無いと判
定した場合、パトロールを終了するのも本発明に含まれ
る。If it is determined in step 409 that there is no correctable error in the patrol unit set to be as large as possible, patrol is terminated.
【0016】[0016]
【発明の実施の形態】先ずメモリパトロールの背景の概
要につき述べる。DESCRIPTION OF THE PREFERRED EMBODIMENTS First, the background of the memory patrol will be outlined.
【0017】RAM(半導体記憶素子)を記憶装置に使
用した場合、α線等の影響により記憶内容が反転してデ
ータ誤りをする事があり、一般的にはこれをソフトエラ
ーと称している。ソフトエラーはある一定の小さな確率
で発生するものであるが、大容量の記憶装置では莫大な
数のRAMを使用しているため、信頼性上無視出来ない
要因となっている。例えば、8バイトのデータ毎にSE
C−DED(1ビットエラー訂正・2ビットエラー検
出)のECCコードで保証されていても、その中に2個
のソフトエラーが起きた場合、その8バイトのデータは
修復不能になってしまう。この対策として有効な機能が
パトロールであり、ソフトエラーの発生確率(時間)を
使用しているRAMの数で割ることで装置レベルのソフ
トエラーの発生確率(時間間隔)を算出し、この期間内
に全記憶領域を検査し、訂正可能な障害を見つけて訂正
を行っている。When a RAM (semiconductor storage element) is used in a storage device, the stored contents may be inverted due to the influence of α-rays or the like, resulting in a data error. This is generally called a soft error. Although a soft error occurs with a certain small probability, a large-capacity storage device uses an enormous number of RAMs, and is a factor that cannot be ignored in reliability. For example, SE for every 8 bytes of data
Even if it is guaranteed by the ECC code of C-DED (1-bit error correction / 2-bit error detection), if two soft errors occur therein, the 8-byte data cannot be recovered. An effective function as a countermeasure is patrol, in which the probability of soft error occurrence (time interval) at the device level is calculated by dividing the probability of soft error occurrence (time) by the number of used RAMs. Then, the entire storage area is inspected, and a correctable failure is found to make a correction.
【0018】次に本発明によるメモリパトロール方式に
ついて説明する。本発明ではパトロール単位(パトロー
ル1回で処理するメモリ容量)を大きく設定し、ある1
つのパトロール単位にはリード命令を連続実行する事に
より記憶装置の最大転送性能を活用して大量のデータを
短時間に検査し、命令サイクルに無駄が多い訂正処理は
訂正可能エラーが有った場合にのみ追加実行することに
より、パトロールが記憶装置の転送性能へ与える悪影響
(性能低下)を軽減する。尚、訂正処理の命令サイクル
のロスとは、従来の訂正処理はデータのリード→デ
ータの検査と訂正→チェックビット(データ保証ビッ
ト)の生成→メモリへ書き戻すという一連の動作を行
うが、〜の間はメモリへのアクセスが不可能とな
り、この間が転送性能上で損失となる。Next, a memory patrol system according to the present invention will be described. In the present invention, the patrol unit (the memory capacity for processing in one patrol) is set large, and
A large amount of data is inspected in a short time by utilizing the maximum transfer performance of the storage device by executing read instructions continuously in one patrol unit. , The adverse effect (performance degradation) of the patrol on the transfer performance of the storage device is reduced. Note that the loss of the instruction cycle of the correction process means that the conventional correction process performs a series of operations of reading data → checking and correcting data → generating a check bit (data guarantee bit) → writing back to memory. During this period, the memory cannot be accessed, and during this period, the transfer performance is lost.
【0019】図1において、パトロール主制御部1がパ
トロールを起動すると、リード命令発生部2がアドレス
カウンタ4をカウントアップしつつパトロール単位分の
リード命令を連続して出力する。このリード命令はメモ
リ制御部5を経てメモリ部6へ伝達され、リードデータ
が取り出される。リードデータはECC回路7で検査さ
れ、訂正可能エラーが無かった場合はパトロール処理を
終了する。もし、訂正可能エラーが有った場合はリード
命令が完了した後に、訂正命令発生部3へ起動をかけ
る。訂正命令発生部3では、まずアドレスカウンタ4を
パトロール単位の先頭アドレスまで巻き戻し、その後カ
ウントアップしつつパトロール単位分の訂正命令を実行
する。In FIG. 1, when the patrol main controller 1 activates patrol, the read command generator 2 continuously outputs a read command for the patrol unit while counting up the address counter 4. This read command is transmitted to the memory unit 6 via the memory control unit 5, and the read data is taken out. The read data is inspected by the ECC circuit 7, and if there is no correctable error, the patrol process ends. If there is a correctable error, the correction instruction generator 3 is activated after the read instruction is completed. The correction instruction generator 3 first rewinds the address counter 4 to the start address of the patrol unit, and then executes the correction instruction for the patrol unit while counting up.
【0020】次に本発明の実施の形態の構成について説
明する。図1を参照すると、パトロール主制御部1はパ
トロール周期毎にリード指示をリード命令発生部2へ出
力し、リード命令が完了した事をメモリ制御部5からの
命令完了信号で認識すると、ECC回路7から受信して
いる訂正可能エラー信号を確認し、エラーが無かった場
合パトロールを終了する。また、もしエラーが有った場
合訂正指示を訂正命令発生部3へ出力し、訂正命令が完
了した事をメモリ制御部5経由で認識するとパトロール
を終了する。リード命令発生部2はリード指示を受け付
けると、リード命令をパトロール単位分だけメモリ制御
部5へ連続して発行するが、この時にリード命令を1個
発行する度にアドレスカウンタ4をカウントアップす
る。訂正命令発生部3は訂正指示を受け付けると、まず
アドレスカウンタ4をパトロール単位の先頭アドレスに
巻き戻し、その後訂正命令をパトロール単位分だけメモ
リ制御部5へ発行するが、この時に訂正命令を1個発行
する度にアドレスカウンタ4をカウントアップする。メ
モリ制御部5はリード命令および訂正命令をアドレスカ
ウンタ4の示すアドレスについて実行し、命令が1個処
理し終わる度に命令完了をパトロール主制御部1へ通知
する。メモリ部6はメモリ制御部5の指示により、デー
タのライト・リードを実行する。ECC回路7はメモリ
部6からのリードデータを検査し、訂正可能エラーの有
無をパトロール主制御部1へ通知し、訂正可能エラーが
有った場合にはリードデータを訂正する。ECG(Er
rorChecking Generation)回路
8はECC(Error Checking and
Correcting)回路7で訂正済みのデータを入
力し、チェックビット(データ保証ビット)を生成して
データに付加し、ライトデータとしてメモリ部6へ出力
する。Next, the configuration of the embodiment of the present invention will be described. Referring to FIG. 1, the patrol main controller 1 outputs a read instruction to the read instruction generator 2 every patrol cycle, and when the completion of the read instruction is recognized by the instruction completion signal from the memory controller 5, the ECC circuit 7. The correctable error signal received from 7 is confirmed, and if there is no error, the patrol is terminated. If there is an error, a correction instruction is output to the correction instruction generating unit 3, and patrol is ended when the completion of the correction instruction is recognized via the memory control unit 5. When receiving the read instruction, the read instruction generating unit 2 continuously issues the read instruction to the memory control unit 5 by the amount of the patrol unit. At this time, every time one read instruction is issued, the address counter 4 is counted up. When receiving the correction instruction, the correction instruction generating unit 3 first rewinds the address counter 4 to the head address of the patrol unit, and then issues the correction instruction to the memory control unit 5 for the patrol unit. Each time it is issued, the address counter 4 is counted up. The memory control unit 5 executes the read instruction and the correction instruction for the address indicated by the address counter 4 and notifies the patrol main control unit 1 of the completion of the instruction each time one instruction is processed. The memory unit 6 writes and reads data according to an instruction from the memory control unit 5. The ECC circuit 7 checks the read data from the memory unit 6, notifies the patrol main control unit 1 of the presence or absence of a correctable error, and corrects the read data if there is a correctable error. ECG (Er
The error checking generation (ECC) circuit 8 is an ECC (Error Checking and).
(Correcting) circuit 7 receives the corrected data, generates a check bit (data guarantee bit), adds it to the data, and outputs it to the memory unit 6 as write data.
【0021】次に、図1の動作について、図2と図3の
タイムチャート及び本発明の一実施形態のフローチャー
トの図4を参照して説明する。Next, the operation of FIG. 1 will be described with reference to the time charts of FIGS. 2 and 3 and the flowchart of FIG. 4 of an embodiment of the present invention.
【0022】図2はパトロールを実施して訂正可能エラ
ーが発生しなかったケースの動作を示し、図3は訂正可
能エラーが発生したケースの動作を示している。尚、図
2と図3で使用している信号名は図1に記述してある信
号名を使用している。また本実施例では、リード命令と
訂正命令が1回で処理出来るデータは8バイト、パトロ
ール単位は32バイト、リード命令と訂正命令のサイク
ルタイムは各々1T/7T(T=クロック周期)と仮定
している。FIG. 2 shows an operation in a case where a patrol is performed and no correctable error occurs, and FIG. 3 shows an operation in a case where a correctable error occurs. The signal names used in FIGS. 2 and 3 use the signal names described in FIG. In this embodiment, it is assumed that the data that can be processed by the read instruction and the correction instruction at one time is 8 bytes, the patrol unit is 32 bytes, and the cycle time of the read instruction and the correction instruction is 1T / 7T (T = clock cycle). ing.
【0023】まず図2を使用して訂正可能エラーが発生
しなかったケースの動作説明をする。パトロール主制御
部1はパトロール時期になるとリード指示を1T間出力
し、リード命令発生部2を起動する。リード命令発生部
2では4個(パトロール単位分)のリード要求をアドレ
スカウンタ4をカウントアップしつつ発行する。リード
命令は命令サイクルに示す通り、R1→R2→R3→R
4と1Tサイクルで瞬時に処理されるので、通常の転送
系命令を待たせるような悪影響をほとんど与えない。ま
たその5T後からはリードデータD1・D2・D3・D
4がメモリ6より読み出され、ECC回路7で検査さ
れ、訂正可能エラーの有無がパトロール主制御部1へ通
知される。またこの時パトロール主制御部1へリード命
令R1〜R4の命令完了通知が順次届く。本ケースでは
訂正可能エラーが発生しなかったのでパトロール主制御
部1はパトロール動作を終了している。破線の後方は次
回(次周期)のパトロールが動作している様子を示して
おり、やはりエラーが発生しなかったので、訂正命令を
実行せずにパトロール動作を終了している。通常は訂正
可能エラーは起きないので、本ケースで動作している。First, the operation in the case where no correctable error has occurred will be described with reference to FIG. When the patrol time comes, the patrol main controller 1 outputs a read instruction for 1T, and activates the read command generator 2. The read instruction generator 2 issues four (patrol unit) read requests while counting up the address counter 4. As shown in the instruction cycle, the read instruction is R1 → R2 → R3 → R
Since processing is performed instantaneously in 4 and 1T cycles, there is almost no adverse effect such as waiting for a normal transfer instruction. After 5T, the read data D1, D2, D3, D
4 is read from the memory 6, inspected by the ECC circuit 7, and the presence or absence of a correctable error is notified to the patrol main control unit 1. At this time, the patrol main control unit 1 sequentially receives notification of completion of the read instructions R1 to R4. In this case, since no correctable error has occurred, the patrol main controller 1 has finished the patrol operation. The area behind the broken line shows the state of the next (next cycle) patrol operation. Since no error has occurred, the patrol operation has been completed without executing the correction instruction. Normally, correctable errors do not occur, so it works in this case.
【0024】次に図3を使用して訂正可能エラーが発生
したケースの動作を説明する。本ケースでも図2のケー
スと同じに、パトロール時期になるとパトロール主制御
部1がリード指示を出して、結果、訂正可能エラーの有
無の信号とリード命令の命令完了通知信号を受け取る。
そして訂正可能エラーが発生したと判断すると、パトロ
ール主制御部1は訂正指示を出す。すると訂正命令発生
部3は、まずアドレスカウンタ4の値を今回のパトロー
ル単位の先頭アドレスまで巻き戻し、その後4個(パト
ロール単位分)の訂正要求をアドレスカウンタ4をカウ
ントアップしつつ発行する。訂正命令は命令サイクルに
示す通り、C1→C2→C3→C4と7T間のサイクル
タイムで処理され、32T間の命令サイクルを占有す
る。この32T間は記憶装置の性能低下に起因すると思
われるが、実際には訂正可能エラーの発生頻度は低いの
で問題にはならない。訂正命令(例えばC1)はこの7
T間に、まずメモリ部6からリードデータD1を読み出
し、これをECC回路7で訂正し、そしてECG回路8
でチェックビットを付加してライトデータW1を作り、
最後にメモリ6へ書き戻すという動作を行っている。C
1に続いてC2〜C4が処理され、命令完了が4個パト
ロール主制御部1へ通知されると、本ケースにおけるパ
トロール動作は終了する。Next, the operation in the case where a correctable error has occurred will be described with reference to FIG. In this case, similarly to the case of FIG. 2, when the patrol time comes, the patrol main control unit 1 issues a read instruction, and as a result, receives a signal indicating the presence or absence of a correctable error and an instruction completion notification signal of the read instruction.
When determining that a correctable error has occurred, the patrol main controller 1 issues a correction instruction. Then, the correction instruction generator 3 first rewinds the value of the address counter 4 to the head address of the current patrol unit, and then issues four correction requests (for the patrol unit) while counting up the address counter 4. As shown in the instruction cycle, the correction instruction is processed with a cycle time of C1 → C2 → C3 → C4 and 7T, and occupies an instruction cycle of 32T. Although it is considered that the period of 32T is caused by a decrease in the performance of the storage device, it does not actually cause a problem since the frequency of occurrence of correctable errors is low. The correction instruction (for example, C1)
During the time T, first, the read data D1 is read from the memory unit 6, this is corrected by the ECC circuit 7, and the ECG circuit 8
To create a write data W1 by adding a check bit,
Finally, an operation of writing back to the memory 6 is performed. C
After C1, C2 to C4 are processed, and when four command completions are notified to the patrol main control unit 1, the patrol operation in this case ends.
【0025】尚、制御プログラムは、記録媒体9からパ
トロール主制御部1のデータ処理装置(不図示)に読み
込まれデータ処理装置の動作を制御する。パトロール主
制御部1は制御プログラムの制御により以下の処理を実
行する。すなわち、リード命令によりアドレスAのデー
タをリードさせ、データを検査させ結果を保持させる処
理と、アドレスを1個加算させる処理と、前記と同じ動
作を夫々計4回づつ繰返させる処理と、訂正可能エラー
有りの場合、アドレスを開始値に戻させる処理と、訂正
命令により、リードデータを読み出させ、訂正させ、チ
ェックビットを付加してライトデータを作成させ、メモ
リ6へ書き戻させる一連の動作を行わせる処理と、アド
レスを1個加算させる処理と、前記と同じ動作を夫々計
4回づつ繰返させる処理とを実行する。The control program is read from the recording medium 9 to a data processing device (not shown) of the patrol main controller 1 to control the operation of the data processing device. The patrol main controller 1 executes the following processing under the control of the control program. That is, a process of reading the data of the address A by the read instruction, checking the data and holding the result, a process of adding one address, a process of repeating the same operation as described above four times each, and correction is possible. If there is an error, a series of operations for returning the address to the start value, and for reading and correcting the read data by a correction instruction, adding check bits to create write data, and writing back to the memory 6 , A process of adding one address, and a process of repeating the same operation as described above four times each.
【0026】[0026]
【発明の効果】本発明の効果は、パトロール動作による
記憶装置の転送性能への悪影響(性能低下)を軽減でき
ることである。特に、大容量の記憶装置への適用に効果
がある。An advantage of the present invention is that it is possible to reduce the adverse effect (performance degradation) on the transfer performance of the storage device due to the patrol operation. In particular, it is effective for application to a large-capacity storage device.
【0027】その理由は、パトロール単位を大きく設定
し、訂正可能エラーの検査はリード命令を連続実行する
事によって記憶装置の最大転送性能を活用して短時間に
済ませ、訂正可能エラーが有った場合にのみ命令サイク
ルにロスの多い訂正処理を追加実行する仕組みとしてい
るためである。The reason is that the patrol unit is set large, and the check for correctable errors can be completed in a short time by utilizing the maximum transfer performance of the storage device by continuously executing read instructions, and there is a correctable error. This is because the correction processing with a large loss in the instruction cycle is additionally executed only in the case.
【図1】本発明のメモリパトロールの方法が適用された
メモリパトロール方式の一実施の形態のブロック図であ
る。FIG. 1 is a block diagram of an embodiment of a memory patrol system to which a memory patrol method of the present invention is applied.
【図2】パトロールを行って訂正可能エラーが無かった
時の動作のタイムチャートである。FIG. 2 is a time chart of an operation when there is no correctable error after performing patrol.
【図3】パトロールを行って訂正可能エラーが発生した
時の動作のタイムチャートである。FIG. 3 is a time chart of an operation when a correctable error occurs during patrol.
【図4】本発明のメモリパトロールの方法の一実施の形
態のフローチャートである。FIG. 4 is a flowchart of one embodiment of a memory patrol method of the present invention.
【図5】先行技術のメモリパトロールの方法のフローチ
ャートである。FIG. 5 is a flowchart of a prior art memory patrol method.
【図6】従来技術のメモリパトロール方式のブロック図
である。FIG. 6 is a block diagram of a conventional memory patrol system.
1 パトロール主制御部 2 リード命令発生部 3 訂正命令発生部 4 アドレスカウンタ 5 メモリ制御部 6 メモリ部 7 ECC回路 8 ECG回路 9 記録媒体 R1〜R8 リード命令 C1〜C4 訂正命令 D1〜D8 リードデータ W1〜W4 ライトデータDESCRIPTION OF SYMBOLS 1 Patrol main control part 2 Read instruction generation part 3 Correction instruction generation part 4 Address counter 5 Memory control part 6 Memory part 7 ECC circuit 8 ECG circuit 9 Recording medium R 1 to R 8 Read instruction C 1 to C 4 Correction instruction D 1 ~D 8 read data W 1 ~W 4 write data
─────────────────────────────────────────────────────
────────────────────────────────────────────────── ───
【手続補正書】[Procedure amendment]
【提出日】平成11年4月23日(1999.4.2
3)[Submission date] April 23, 1999 (1999.4.2
3)
【手続補正1】[Procedure amendment 1]
【補正対象書類名】明細書[Document name to be amended] Statement
【補正対象項目名】特許請求の範囲[Correction target item name] Claims
【補正方法】変更[Correction method] Change
【補正内容】[Correction contents]
【特許請求の範囲】[Claims]
【請求項3】 パトロール周期毎に行われるメモリパト
ロールは、連続してリード命令を実行して大量のデータ
を高速に検査し、またエラーの訂正は一連のリード命令
が終了してから行い常に最大の転送性能を活用するため
の制御プログラムを記録した記録媒体であって、 リード命令によりアドレスAのデータをリードさせ、デ
ータを検査させ、結果を保持させる手順と、 アドレス1を1個加算させる手順と、 前記と同じ動作を夫々計4回づつ繰返させる手順と、 訂正可能エラーの有無を判別させる手順と、 訂正可能エラー有りの場合、アドレスを開始値に戻す手
順と、 訂正命令により、リードデータを読み出し、これを訂正
し、チェックビットを付加してライトデータを作り、メ
モリ6へ書き戻す一連の動作を行わせる手順と、 アドレスを1個加算する手順と、 前記と同じ動作を夫々計4回づつ繰返させる手順とを実
行させるためのプログラムを記録した記録媒体。 3. A memory patrol executed every patrol cycle executes a read command continuously to check a large amount of data at a high speed, and corrects an error after a series of read instructions are completed, and always performs a maximum error correction. A storage medium on which a control program for utilizing the transfer performance of the above is recorded, in which a data of address A is read by a read command, the data is inspected, and a result is retained, and a procedure of adding one address 1 A procedure for repeating the same operation as described above four times each, a procedure for determining the presence or absence of a correctable error, a procedure for returning an address to a start value when a correctable error is present, A procedure for performing a series of operations for reading out, correcting this, adding check bits to create write data, and writing back to the memory 6; A step of one adds, recording medium recording a program for executing the procedures to be repeated by one respectively four times the same operation as above.
【手続補正2】[Procedure amendment 2]
【補正対象書類名】明細書[Document name to be amended] Statement
【補正対象項目名】0011[Correction target item name] 0011
【補正方法】変更[Correction method] Change
【補正内容】[Correction contents]
【0011】[0011]
【課題を解決するための手段】本発明のメモリ素子のソ
フトエラーによる間欠障害を検出訂正するメモリパトロ
ール制御方式は、パトロール周期毎にリード指示信号を
リード命令発生部2へ出力し、リード命令が完了した事
をメモリ制御部5からの命令完了信号で認識すると、E
CC回路7から受信している訂正可能エラー信号を確認
し、エラーが無かった場合パトロールを終了し、またエ
ラーが有った場合訂正指示を訂正命令発生部3へ出力
し、訂正命令が完了した事をメモリ制御部5経由で認識
するとパトロールを終了するパトロール制御部1と、リ
ード指示を受け付けると、リード命令をパトロール単位
分だけメモリ制御部5へ連続して発行し、データのリー
ド・検査及び結果の保持を連続して行うリード命令発生
部2と、リードデータ読み出し、エラー訂正、チェック
ビットを付加してライトデータを作成及びメモリへの書
き戻し動作を一連のリード命令が終了してから追加実行
する訂正命令を発行する訂正命令発生部3と、リード命
令発生部2がリード命令を、訂正命令発生部3が訂正命
令を発行する度にカウントアップするアドレスカウンタ
4と、リード命令および訂正命令をアドレスカウンタ4
の示すアドレスについて実行し、命令が1個処理し終わ
る度に命令完了をパトロール主制御部1へ通知するメモ
リ制御部5と、制御部5の指示により、データのライト
・リードを実行するメモリ部6と、メモリ部6からのリ
ードデータを検査し、訂正可能エラーの有無をパトロー
ル主制御部1へ通知し、訂正可能エラーが有った場合に
はリードデータを訂正し、訂正可能エラーが無い場合は
パトロール主制御部へ通知してパトロールを終了させる
ECC回路7と、ECC回路7で訂正済みのデータを入
力し、チェックビット(データ保証ビット)を生成して
データに付加し、ライトデータとしてメモリ部6へ出力
するECG回路8とを有する。According to the memory patrol control method of the present invention for detecting and correcting an intermittent fault due to a soft error of a memory element, a read instruction signal is output to a read instruction generating unit 2 at each patrol cycle, and a read instruction is issued. When the completion is recognized by the instruction completion signal from the memory control unit 5, E
The correctable error signal received from the CC circuit 7 is confirmed. If there is no error, the patrol is terminated. If there is an error, a correction instruction is output to the correction instruction generating unit 3 and the correction instruction is completed. When the patrol control unit 1 recognizes the fact via the memory control unit 5 and terminates the patrol, and when a read instruction is received, a read command is continuously issued to the memory control unit 5 in units of the patrol to read data.
Read command generation unit 2 that continuously performs read / inspection and result holding , read data read, error correction, and check
Create write data by adding bits and write to memory
Additional execution of rewind operation after a series of read instructions is completed
A correction instruction generation unit 3 for issuing a correction instruction to be executed, an address counter 4 for counting up each time the correction instruction generation unit 3 issues a correction instruction, the read instruction generation unit 2 and a read instruction and a correction instruction. Address counter 4
And a memory unit for executing data write / read in accordance with an instruction from the control unit 5 by executing a command to the patrol main control unit 1 each time one instruction is processed. 6 and the read data from the memory unit 6 are checked, and the presence or absence of a correctable error is notified to the patrol main control unit 1. If there is a correctable error, the read data is corrected and there is no correctable error. If
An ECC circuit 7 for notifying the patrol main control unit and terminating patrol, and data corrected by the ECC circuit 7 are input, a check bit (data guarantee bit) is generated and added to the data, and the memory unit is written as write data. And an ECG circuit 8 for outputting the signal to the ECG circuit 6.
【手続補正3】[Procedure amendment 3]
【補正対象書類名】明細書[Document name to be amended] Statement
【補正対象項目名】0013[Correction target item name] 0013
【補正方法】削除[Correction method] Deleted
【手続補正4】[Procedure amendment 4]
【補正対象書類名】明細書[Document name to be amended] Statement
【補正対象項目名】0014[Correction target item name] 0014
【補正方法】削除[Correction method] Deleted
【手続補正5】[Procedure amendment 5]
【補正対象書類名】明細書[Document name to be amended] Statement
【補正対象項目名】0015[Correction target item name] 0015
【補正方法】削除[Correction method] Deleted
【手続補正6】[Procedure amendment 6]
【補正対象書類名】図面[Document name to be amended] Drawing
【補正対象項目名】図4[Correction target item name] Fig. 4
【補正方法】変更[Correction method] Change
【補正内容】[Correction contents]
【図4】 FIG. 4
【手続補正7】[Procedure amendment 7]
【補正対象書類名】図面[Document name to be amended] Drawing
【補正対象項目名】図5[Correction target item name] Fig. 5
【補正方法】変更[Correction method] Change
【補正内容】[Correction contents]
【図5】 FIG. 5
Claims (6)
害を検出訂正するメモリパトロール制御方式であって、 パトロール周期毎にリード指示信号をリード命令発生部
(2)へ出力し、リード命令が完了した事をメモリ制御
部(5)からの命令完了信号で認識すると、ECC回路
(7)から受信している訂正可能エラー信号を確認し、
エラーが無かった場合パトロールを終了し、また、エラ
ーが有った場合訂正指示を訂正命令発生部(3)へ出力
し、訂正命令が完了した事をメモリ制御部(5)経由で
認識するとパトロールを終了するパトロール主制御部
(1)と、 リード指示を受け付けると、リード命令をパトロール単
位分だけメモリ制御部(5)へ連続して発行するが、こ
の時にリード命令を1個発行する度にアドレスカウンタ
(4)をカウントアップするリード命令発生部(2)
と、 訂正指示を受け付けると、まずアドレスカウンタ(4)
をパトロール単位の先頭アドレスに巻き戻し、その後訂
正命令をパトロール単位分だけメモリ制御部(5)へ発
行するが、この時に訂正命令を1個発行する度にアドレ
スカウンタ(4)をカウントアップする訂正命令発生部
(3)と、 リード命令発生部(2)がリード命令を、訂正命令発生
部(3)が訂正命令を発行する度にカウントアップする
アドレスカウンタ(4)と、 リード命令および訂正命令をアドレスカウンタ(4)の
示すアドレスについて実行し、命令が1個処理し終わる
度に命令完了をパトロール主制御部(1)へ通知するメ
モリ制御部(5)と、 制御部(5)の指示により、データのライト・リードを
実行するメモリ部(6)と、 メモリ部(6)からのリードデータを検査し、訂正可能
エラーの有無をパトロール主制御部(1)へ通知し、訂
正可能エラーが有った場合にはリードデータを訂正する
ECC回路(7)と、 ECC回路(7)で訂正済みのデータを入力し、チェッ
クビットを生成してデータに付加し、ライトデータとし
てメモリ部(6)へ出力するECG回路(8)とを有す
るメモリパトロール方式。1. A memory patrol control method for detecting and correcting an intermittent failure due to a soft error of a memory element, wherein a read instruction signal is output to a read instruction generating unit (2) every patrol cycle, and the read instruction is completed. Is recognized by the instruction completion signal from the memory control unit (5), the correctable error signal received from the ECC circuit (7) is confirmed,
If there is no error, the patrol is terminated. If there is an error, a correction instruction is output to the correction instruction generation unit (3), and when the completion of the correction instruction is recognized via the memory control unit (5), the patrol is performed. When a read instruction is received from the patrol main control unit (1) and the read instruction is issued, the read instruction is continuously issued to the memory control unit (5) for the patrol unit. At this time, every time one read instruction is issued, Read instruction generator (2) that counts up the address counter (4)
When the correction instruction is received, first, the address counter (4)
Is rewound to the head address of the patrol unit, and then a correction instruction is issued to the memory control unit (5) by the amount of the patrol unit. At this time, each time one correction instruction is issued, the address counter (4) is counted up. An instruction generation unit (3); an address counter (4) that counts up each time the correction instruction generation unit (3) issues a correction instruction; and a read instruction and a correction instruction Is executed for the address indicated by the address counter (4), and each time one instruction is processed, a memory control unit (5) notifying the patrol main control unit (1) of instruction completion, and an instruction of the control unit (5) And a patrol main control unit for inspecting read data from the memory unit (6) for executing data write / read, and for determining whether a correctable error exists. Notify to (1), and when there is a correctable error, input the ECC circuit (7) that corrects the read data, and the data that has been corrected by the ECC circuit (7), generate check bits, and And an ECG circuit (8) that outputs the write data to the memory section (6) to the memory section (6).
ロールの方法であって、 リード命令によりアドレスAのデータをリードし、デー
タを検査し、結果を保持するステップ(401)と、 アドレスを1個加算するステップ(402)と、 前記と同じ動作を夫々繰返すステップ(403)、(4
04)、(405)、(406)及び(407)と、 訂正可能エラーの有無を判別するステップ(409)
と、 訂正可能エラー有りの場合アドレスを開始値に戻すステ
ップ(410)と、 訂正命令により、リードデータを読み出し、これを訂正
し、チェックビットを付加してライトデータを作り、メ
モリ6へ書き戻す一連の動作を行うステップ(411)
と、 アドレスを1個加算するステップ(412)と、 前記と同じ動作を夫々に繰返すステップ(413)、
(414)、(415)(416)及び(417)と、
を含むメモリパトロールの方法。2. A memory patrol method performed at each patrol cycle, comprising the steps of: reading data at an address A by a read instruction, inspecting the data, and holding the result; and adding one address. (402), and steps (403) and (4) of repeating the same operation as above.
04), (405), (406), and (407), and a step (409) of determining the presence or absence of a correctable error.
And step (410) of returning the address to the start value when a correctable error is present. Read data is read by a correction command, corrected, read data is added with a check bit, and written back to the memory 6. Step for performing a series of operations (411)
Adding one address (412), repeating the same operation as above (413),
(414), (415), (416) and (417);
The method of memory patrol including.
査及び結果の保持を連続して行い、メモリの最大転送性
能を活かして短かい時間で実行する請求項2記載のメモ
リパトロール方法。3. The memory patrol method according to claim 2, wherein the read command executes data reading, inspection, and holding of a result continuously, and executes the reading in a short time by utilizing a maximum transfer performance of the memory.
し、エラー訂正、チェックビットを付加してライトデー
タを作成、及びメモリへ書き戻す動作を一連のリード命
令が終了してから追加実行する請求項2記載のメモリパ
トロールの方法。4. The correction command further executes read data read, error correction, write data creation by adding a check bit, and write-back to a memory after a series of read commands are completed. The described memory patrol method.
定されたパトロール単位に訂正可能エラーが無いと判定
した場合、パトロールを終了する請求項2乃至4の何れ
か1項に記載のメモリパトロールの方法。5. The memory patrol method according to claim 2, wherein the step 409 terminates the patrol when it is determined that there is no correctable error in the patrol unit set to a maximum value. .
ロールは、連続してリード命令を実行して大量のデータ
を高速に検査し、またエラーの訂正は一連のリード命令
が終了してから行い常に最大の転送性能を活用するため
の制御プログラムを記録した記録媒体であって、 リード命令によりアドレスAのデータをリードさせ、デ
ータを検査させ、結果を保持させる手順と、 アドレス1を1個加算させる手順と、 前記と同じ動作を夫々計4回づつ繰返させる手順と、 訂正可能エラーの有無を判別させる手順と、 訂正可能エラー有りの場合、アドレスを開始値に戻す手
順と、 訂正命令により、リードデータを読み出し、これを訂正
し、チェックビットを付加してライトデータを作り、メ
モリ6へ書き戻す一連の動作を行わせる手順と、 アドレスを1個加算する手順と、 前記と同じ動作を夫々計4回づつ繰返させる手順とを実
行させるためのプログラムを記録した記録媒体。6. A memory patrol performed every patrol cycle executes a read command continuously to check a large amount of data at a high speed, and corrects an error after a series of read commands is completed and always performs a maximum correction. A storage medium on which a control program for utilizing the transfer performance of the above is recorded, in which a data of address A is read by a read command, the data is inspected, and a result is retained, and a procedure of adding one address 1 A procedure for repeating the same operation as described above four times each, a procedure for determining the presence or absence of a correctable error, a procedure for returning an address to a start value when a correctable error is present, A procedure for performing a series of operations for reading out, correcting this, adding check bits to create write data, and writing back to the memory 6; A step of one adds, recording medium recording a program for executing the procedures to be repeated by one respectively four times the same operation as above.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP10178836A JP2000010871A (en) | 1998-06-25 | 1998-06-25 | Method and system for memory patrol |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP10178836A JP2000010871A (en) | 1998-06-25 | 1998-06-25 | Method and system for memory patrol |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2000010871A true JP2000010871A (en) | 2000-01-14 |
Family
ID=16055523
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP10178836A Pending JP2000010871A (en) | 1998-06-25 | 1998-06-25 | Method and system for memory patrol |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2000010871A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100442241C (en) * | 2005-03-17 | 2008-12-10 | 富士通株式会社 | Soft error correction method, memory control apparatus and memory system |
CN110221780A (en) * | 2019-05-30 | 2019-09-10 | 合肥沛睿微电子股份有限公司 | Memory Controller, memory control methods and computer system |
-
1998
- 1998-06-25 JP JP10178836A patent/JP2000010871A/en active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100442241C (en) * | 2005-03-17 | 2008-12-10 | 富士通株式会社 | Soft error correction method, memory control apparatus and memory system |
US7631244B2 (en) | 2005-03-17 | 2009-12-08 | Fujitsu Limited | Soft error correction method, memory control apparatus and memory system |
US8365031B2 (en) | 2005-03-17 | 2013-01-29 | Fujitsu Limited | Soft error correction method, memory control apparatus and memory system |
CN110221780A (en) * | 2019-05-30 | 2019-09-10 | 合肥沛睿微电子股份有限公司 | Memory Controller, memory control methods and computer system |
CN110221780B (en) * | 2019-05-30 | 2022-09-27 | 合肥沛睿微电子股份有限公司 | Memory controller, memory control method, and computer system |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0032957A1 (en) | Information processing system for error processing, and error processing method | |
JP2000010871A (en) | Method and system for memory patrol | |
JPH06149685A (en) | Memory error recovering circuit | |
US20060179215A1 (en) | Apparatus for detecting disk write omissions | |
JPS5841497A (en) | Memory controlling system | |
JP3098363B2 (en) | Storage device | |
JPH0854988A (en) | Magnetic disk processor | |
JPH04125753A (en) | On-lined diagnostic system for memory | |
JP3281982B2 (en) | Data buffer | |
JPH07219796A (en) | Information processor | |
JP2003167687A (en) | Method and device for disk array control and disk array control program | |
JPS604497B2 (en) | Storage device | |
JPH0675864A (en) | Memory error recovery system | |
JPH0235547A (en) | Test system for static ram block | |
JPH0230060B2 (en) | ||
JPH03152643A (en) | Double bit error control circuit | |
JPH0484246A (en) | Memory rewrite system | |
JPS6339061A (en) | Processing system for memory error | |
JPH054266U (en) | Memory device | |
JPH01243153A (en) | System for controlling error | |
JPH0529934B2 (en) | ||
JPH05210597A (en) | Patrol circuit for storage device | |
JPH06161796A (en) | Information processor | |
JPH11219323A (en) | Data path fault detection method and information processor | |
JPH01133147A (en) | Data processor |