JPH06187251A - メモリ診断方式 - Google Patents
メモリ診断方式Info
- Publication number
- JPH06187251A JPH06187251A JP4355068A JP35506892A JPH06187251A JP H06187251 A JPH06187251 A JP H06187251A JP 4355068 A JP4355068 A JP 4355068A JP 35506892 A JP35506892 A JP 35506892A JP H06187251 A JPH06187251 A JP H06187251A
- Authority
- JP
- Japan
- Prior art keywords
- area
- memory
- divided
- data
- output
- 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
- 230000015654 memory Effects 0.000 title claims abstract description 160
- 238000012546 transfer Methods 0.000 claims abstract description 36
- 238000002405 diagnostic procedure Methods 0.000 claims description 9
- 238000000034 method Methods 0.000 abstract description 45
- 238000003745 diagnosis Methods 0.000 abstract description 33
- 230000002194 synthesizing effect Effects 0.000 description 22
- 238000010586 diagram Methods 0.000 description 15
- 238000012545 processing Methods 0.000 description 4
- 230000002950 deficient Effects 0.000 description 3
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000012631 diagnostic technique Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000004092 self-diagnosis Methods 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
(57)【要約】 (修正有)
【目的】 簡単な回路構成で高速に診断するメモリ診断
方式を提供する。 【構成】 メモリの小領域に診断用データを書き込む
(イ)。次に、診断用データが診断対象領域全体にコピ
ーされるまでDMA転送を繰り返す(ロ〜ニ)。コピー
元領域と先領域との対応する位置の値のEX−ORをと
り、その出力をいずれかの領域のメモリ位置であってE
X−ORの入力とされなかった位置にDMA転送する
(ホ)。EX−ORが書き込まれない領域を2分割し、
EX−ORをとって出力をDMA転送することを、分割
領域が小領域と同じ大きさになるまで繰り返す(ヘ,
ト)。小領域の転送元の方に0を書き込み(チ)、メモ
リ全体を2分割し、対応する位置の値のORをとり、い
ずれか一方の対応する位置に書き込む(リ)。書き込ま
れた領域を2分割し、更に書き込むことを、分割領域が
小領域と同じ大きさになるまで繰り返す(ヌ,ル)。小
領域の値を読み出し、全て0となっている場合のみ正常
と診断する(ヲ)。
方式を提供する。 【構成】 メモリの小領域に診断用データを書き込む
(イ)。次に、診断用データが診断対象領域全体にコピ
ーされるまでDMA転送を繰り返す(ロ〜ニ)。コピー
元領域と先領域との対応する位置の値のEX−ORをと
り、その出力をいずれかの領域のメモリ位置であってE
X−ORの入力とされなかった位置にDMA転送する
(ホ)。EX−ORが書き込まれない領域を2分割し、
EX−ORをとって出力をDMA転送することを、分割
領域が小領域と同じ大きさになるまで繰り返す(ヘ,
ト)。小領域の転送元の方に0を書き込み(チ)、メモ
リ全体を2分割し、対応する位置の値のORをとり、い
ずれか一方の対応する位置に書き込む(リ)。書き込ま
れた領域を2分割し、更に書き込むことを、分割領域が
小領域と同じ大きさになるまで繰り返す(ヌ,ル)。小
領域の値を読み出し、全て0となっている場合のみ正常
と診断する(ヲ)。
Description
【0001】
【産業上の利用分野】本発明は、メモリ内のメモリ素子
が故障していないかどうかを診断するメモリ診断方式に
関するものである。
が故障していないかどうかを診断するメモリ診断方式に
関するものである。
【0002】
【従来の技術】メモリ内のメモリ素子が故障していて、
書き込んだデータが正しく記憶されないというようなこ
とがあれば、そのメモリを搭載している装置は、正常な
動作をしない。そこで、メモリを搭載している装置で
は、メモリ素子が故障していないかどうかを診断するこ
とが行われている。
書き込んだデータが正しく記憶されないというようなこ
とがあれば、そのメモリを搭載している装置は、正常な
動作をしない。そこで、メモリを搭載している装置で
は、メモリ素子が故障していないかどうかを診断するこ
とが行われている。
【0003】図9は、従来のメモリ診断方式の1例を説
明する図である。図9において、1はCPU(中央演算
処理装置)、2はメモリである。このメモリ診断方式で
は、メモリ2の1つ1つのメモリ素子に対して、CPU
1が或るデータ(例えば「0」)をライトし、次にその
データをリードする。そして、リードして来たデータ
が、ライトしたデータと同じかどうか検査する。同じで
あれば、そのメモリ素子は正常であると診断し、もし違
っていれば、そのメモリ素子は故障していると診断す
る。
明する図である。図9において、1はCPU(中央演算
処理装置)、2はメモリである。このメモリ診断方式で
は、メモリ2の1つ1つのメモリ素子に対して、CPU
1が或るデータ(例えば「0」)をライトし、次にその
データをリードする。そして、リードして来たデータ
が、ライトしたデータと同じかどうか検査する。同じで
あれば、そのメモリ素子は正常であると診断し、もし違
っていれば、そのメモリ素子は故障していると診断す
る。
【0004】しかし、このメモリ診断方式では、CPU
1が、個々のメモリ素子に対して、メモリ診断用のプロ
グラムを動作させて診断(つまり、ソフトウエア的に診
断)しているので、大容量のメモリの診断をする場合に
は、診断完了までに長時間を要する。ディジタル複写機
等の画像処理装置では、いわゆるページメモリといわれ
る大容量のメモリを搭載しているものが多いが、メモリ
診断に長時間を要すると、その装置が、実際に動作を開
始できるようになるまでの待ち時間が、長くなる。
1が、個々のメモリ素子に対して、メモリ診断用のプロ
グラムを動作させて診断(つまり、ソフトウエア的に診
断)しているので、大容量のメモリの診断をする場合に
は、診断完了までに長時間を要する。ディジタル複写機
等の画像処理装置では、いわゆるページメモリといわれ
る大容量のメモリを搭載しているものが多いが、メモリ
診断に長時間を要すると、その装置が、実際に動作を開
始できるようになるまでの待ち時間が、長くなる。
【0005】そこで、メモリ診断をもっと高速で行うた
めに、メモリ診断用の種々の回路構成(ハードウェア)
を設け、それらの回路によって診断するようにしたもの
がある。例えば、特開平2−193237号公報には、診断す
るメモリへのデータの書き込みはCPUが行うが、それ
を読み出してデータが正しく書き込まれているかどうか
を診断することは、診断用データを記憶させておくRA
M(ランダムアクセスメモリ),アドレス発生用のカウ
ンタ,タイミング発生回路,データ比較用のコンパレー
タ等のハードウェアを用いて行う技術が開示されてい
る。即ち、メモリからリードしたデータを、コンパレー
タにて診断用データと比較して診断する。
めに、メモリ診断用の種々の回路構成(ハードウェア)
を設け、それらの回路によって診断するようにしたもの
がある。例えば、特開平2−193237号公報には、診断す
るメモリへのデータの書き込みはCPUが行うが、それ
を読み出してデータが正しく書き込まれているかどうか
を診断することは、診断用データを記憶させておくRA
M(ランダムアクセスメモリ),アドレス発生用のカウ
ンタ,タイミング発生回路,データ比較用のコンパレー
タ等のハードウェアを用いて行う技術が開示されてい
る。即ち、メモリからリードしたデータを、コンパレー
タにて診断用データと比較して診断する。
【0006】また、特開昭63− 66798号公報には、自己
診断制御回路,アドレスカウンタ,書込みデータ発生回
路,故障診断/故障信号発生回路等のハードウェアが設
けられ、これらにより、メモリへのテストデータの書き
込みおよび読み出しを、CPUの手を借りることなく自
動的に行う技術が開示されている。
診断制御回路,アドレスカウンタ,書込みデータ発生回
路,故障診断/故障信号発生回路等のハードウェアが設
けられ、これらにより、メモリへのテストデータの書き
込みおよび読み出しを、CPUの手を借りることなく自
動的に行う技術が開示されている。
【0007】
【発明が解決しようとする課題】しかしながら、前記し
たハードウェアを使った従来のメモリ診断技術では、多
くの種類の回路を設けなければならず、回路構成が複雑
になると共に、コスト高になるという問題点があった。
また、チェックパターンとしては、RAM等に予め書き
込まれたものしか使用できないという問題点があった。
本発明は、簡単な構成のハードウェアにより、高速でメ
モリ診断を行うことが出来るようにすると共に、任意の
チェックパターンを使用できるようにすることを課題と
するものである。
たハードウェアを使った従来のメモリ診断技術では、多
くの種類の回路を設けなければならず、回路構成が複雑
になると共に、コスト高になるという問題点があった。
また、チェックパターンとしては、RAM等に予め書き
込まれたものしか使用できないという問題点があった。
本発明は、簡単な構成のハードウェアにより、高速でメ
モリ診断を行うことが出来るようにすると共に、任意の
チェックパターンを使用できるようにすることを課題と
するものである。
【0008】
【課題を解決するための手段】前記課題を解決するた
め、本発明のメモリ診断方式は、メモリの小領域におい
て、CPUで診断用データを書き込み,次いでCPUで
読み出して、メモリ診断を行う第1ステップと、診断用
データが記入済みとなった全ての領域のデータを該領域
と同じ大きさの診断用データ未記入領域にDMA転送し
て行うコピーを、診断用データが前記小領域から出発し
て診断対象領域全体に記入されるまで繰り返す第2ステ
ップと、最終のコピーを行ったコピー元領域とコピー先
領域との対応する位置のデータのEX−ORをとり、そ
の出力を該コピー元領域とコピー先領域の内の予め定め
たいずれか一方の領域内のメモリ位置であってその値が
EX−ORの入力とされなかったメモリ位置にDMA転
送する第3ステップと、EX−ORの出力の書き込みが
なされなかった方の領域を2分割し、各分割領域の対応
する位置のデータのEX−ORをとり、その出力を予め
定めたいずれか一方の分割領域内のメモリ位置であって
その値がEX−ORの入力とされなかったメモリ位置に
DMA転送することを、分割領域の大きさが第1ステッ
プの小領域と等しい大きさになるまで繰り返す第4ステ
ップと、第4ステップの転送元となった最後の分割領域
にCPUより0を書き込む第5ステップと、メモリ全体
を2分割し、各分割領域の対応するメモリ位置の値のO
Rをとり、その出力を予め定めたいずれか一方の分割領
域にDMA転送する第6ステップと、ORの出力が書き
込まれた領域を更に2分割し、各分割領域の対応するメ
モリ位置の値のORをとり、その出力を予め定めたいず
れか一方の分割領域にDMA転送することを、分割領域
の大きさが第1ステップの小領域と略同じ大きさになる
まで繰り返す第7ステップと、第7ステップで得られた
小領域のデータをCPUで読み出し、全て0となってい
れば正常と診断し、そうでなければメモリのどこかに故
障ありと診断する第8ステップとから成るものとした。
め、本発明のメモリ診断方式は、メモリの小領域におい
て、CPUで診断用データを書き込み,次いでCPUで
読み出して、メモリ診断を行う第1ステップと、診断用
データが記入済みとなった全ての領域のデータを該領域
と同じ大きさの診断用データ未記入領域にDMA転送し
て行うコピーを、診断用データが前記小領域から出発し
て診断対象領域全体に記入されるまで繰り返す第2ステ
ップと、最終のコピーを行ったコピー元領域とコピー先
領域との対応する位置のデータのEX−ORをとり、そ
の出力を該コピー元領域とコピー先領域の内の予め定め
たいずれか一方の領域内のメモリ位置であってその値が
EX−ORの入力とされなかったメモリ位置にDMA転
送する第3ステップと、EX−ORの出力の書き込みが
なされなかった方の領域を2分割し、各分割領域の対応
する位置のデータのEX−ORをとり、その出力を予め
定めたいずれか一方の分割領域内のメモリ位置であって
その値がEX−ORの入力とされなかったメモリ位置に
DMA転送することを、分割領域の大きさが第1ステッ
プの小領域と等しい大きさになるまで繰り返す第4ステ
ップと、第4ステップの転送元となった最後の分割領域
にCPUより0を書き込む第5ステップと、メモリ全体
を2分割し、各分割領域の対応するメモリ位置の値のO
Rをとり、その出力を予め定めたいずれか一方の分割領
域にDMA転送する第6ステップと、ORの出力が書き
込まれた領域を更に2分割し、各分割領域の対応するメ
モリ位置の値のORをとり、その出力を予め定めたいず
れか一方の分割領域にDMA転送することを、分割領域
の大きさが第1ステップの小領域と略同じ大きさになる
まで繰り返す第7ステップと、第7ステップで得られた
小領域のデータをCPUで読み出し、全て0となってい
れば正常と診断し、そうでなければメモリのどこかに故
障ありと診断する第8ステップとから成るものとした。
【0009】また、メモリ診断の精度をより一層高めた
い場合には、メモリ診断方式を、前記の第1ステップか
ら第8ステップと、前記第1ステップと同じ第9ステッ
プと、前記第2ステップと同じ第10ステップと、最終
のコピーを行ったコピー元領域とコピー先領域との対応
する位置のデータのEX−NORをとり、その出力を該
コピー元領域とコピー先領域の内の予め定めたいずれか
一方の領域内のメモリ位置であってその値がEX−NO
Rの入力とされなかったメモリ位置にDMA転送する第
11ステップと、EX−NORの出力の書き込みがなさ
れなかった方の領域を2分割し、各分割領域の対応する
位置のデータのEX−NORをとり、その出力を予め定
めたいずれか一方の分割領域内のメモリ位置であってそ
の値がEX−NORの入力とされなかったメモリ位置に
DMA転送することを、分割領域の大きさが第1ステッ
プの小領域と等しい大きさになるまで繰り返す第12ス
テップと、第12ステップの転送元となった最後の分割
領域にCPUより1を書き込む第13ステップと、メモ
リ全体を2分割し、各分割領域の対応するメモリ位置の
値のANDをとり、その出力を予め定めたいずれか一方
の分割領域にDMA転送する第14ステップと、AND
の出力が書き込まれた領域を更に2分割し、各分割領域
の対応するメモリ位置の値のANDをとり、その出力を
予め定めたいずれか一方の分割領域にDMA転送するこ
とを、分割領域の大きさが第9ステップの小領域と略同
じ大きさになるまで繰り返す第15ステップと、第15
ステップで得られた小領域のデータをCPUで読み出
し、全て1となっていれば正常と診断し、そうでなけれ
ばメモリのどこかに故障ありと診断する第16ステップ
とから成るものとする。
い場合には、メモリ診断方式を、前記の第1ステップか
ら第8ステップと、前記第1ステップと同じ第9ステッ
プと、前記第2ステップと同じ第10ステップと、最終
のコピーを行ったコピー元領域とコピー先領域との対応
する位置のデータのEX−NORをとり、その出力を該
コピー元領域とコピー先領域の内の予め定めたいずれか
一方の領域内のメモリ位置であってその値がEX−NO
Rの入力とされなかったメモリ位置にDMA転送する第
11ステップと、EX−NORの出力の書き込みがなさ
れなかった方の領域を2分割し、各分割領域の対応する
位置のデータのEX−NORをとり、その出力を予め定
めたいずれか一方の分割領域内のメモリ位置であってそ
の値がEX−NORの入力とされなかったメモリ位置に
DMA転送することを、分割領域の大きさが第1ステッ
プの小領域と等しい大きさになるまで繰り返す第12ス
テップと、第12ステップの転送元となった最後の分割
領域にCPUより1を書き込む第13ステップと、メモ
リ全体を2分割し、各分割領域の対応するメモリ位置の
値のANDをとり、その出力を予め定めたいずれか一方
の分割領域にDMA転送する第14ステップと、AND
の出力が書き込まれた領域を更に2分割し、各分割領域
の対応するメモリ位置の値のANDをとり、その出力を
予め定めたいずれか一方の分割領域にDMA転送するこ
とを、分割領域の大きさが第9ステップの小領域と略同
じ大きさになるまで繰り返す第15ステップと、第15
ステップで得られた小領域のデータをCPUで読み出
し、全て1となっていれば正常と診断し、そうでなけれ
ばメモリのどこかに故障ありと診断する第16ステップ
とから成るものとする。
【0010】
【作 用】診断対象のメモリ内に定めた小領域に、診
断用データを書き込みついで読み出す最初のステップ
と、最後に該小領域からデータを読み出して全て0かど
うかをチェックするステップとは、CPUを用いてのソ
フトウエア的動作により行われるから、その処理速度は
速くはない。しかし、これらのステップで処理するメモ
リの領域は、診断するメモリ全体の領域に比し極めて小
領域であるので、これらのステップで費やされる時間は
短い。
断用データを書き込みついで読み出す最初のステップ
と、最後に該小領域からデータを読み出して全て0かど
うかをチェックするステップとは、CPUを用いてのソ
フトウエア的動作により行われるから、その処理速度は
速くはない。しかし、これらのステップで処理するメモ
リの領域は、診断するメモリ全体の領域に比し極めて小
領域であるので、これらのステップで費やされる時間は
短い。
【0011】その他のステップでの、大部分の領域への
診断用データの書き込みは、CPUに作業負担をかける
ことのないDMA転送により高速で行う。従って、全体
としては高速でメモリ診断を行うことが可能となる。そ
して、そのために必要とされるハードウェアは、DMA
転送を行うためのDMAコントローラと、EX−ORや
OR等の論理演算を行うデータ合成部だけで済む。
診断用データの書き込みは、CPUに作業負担をかける
ことのないDMA転送により高速で行う。従って、全体
としては高速でメモリ診断を行うことが可能となる。そ
して、そのために必要とされるハードウェアは、DMA
転送を行うためのDMAコントローラと、EX−ORや
OR等の論理演算を行うデータ合成部だけで済む。
【0012】使用するチェックパターンは、最初のステ
ップで小領域に書き込むデータによって決まるが、これ
はCPUによって任意に書き込めるので、任意のチェッ
クパターンとすることが出来る。
ップで小領域に書き込むデータによって決まるが、これ
はCPUによって任意に書き込めるので、任意のチェッ
クパターンとすることが出来る。
【0013】
【実施例】以下、本発明の実施例を図面に基づいて詳細
に説明する。図2は、本発明のメモリ診断方式を実行す
るために必要とされるブロック構成を示す図である。図
2において、1はCPU(中央演算処理装置)、2はメ
モリ、3はDMAC(DMAコントローラ。ダイレクト
・メモリ・アクセス・コントローラ)、4はデータバ
ス、5はデータ合成部である。
に説明する。図2は、本発明のメモリ診断方式を実行す
るために必要とされるブロック構成を示す図である。図
2において、1はCPU(中央演算処理装置)、2はメ
モリ、3はDMAC(DMAコントローラ。ダイレクト
・メモリ・アクセス・コントローラ)、4はデータバ
ス、5はデータ合成部である。
【0014】メモリ2は、診断対象のメモリであり、例
えばページメモリのような大容量のメモリである。デー
タ合成部5は、メモリ診断の過程において、メモリ2か
らDMA転送されて来た2つのデータを論理演算し(例
えば、EX−OR(イクスクルーシブ・オア)を取った
り、或いはOR(オア)を取ったりする演算)、データ
を合成する部分である。メモリ2とデータ合成部5との
間でのデータのやり取りは、DMAC3の制御により、
DMA転送(ダイレクト・メモリ・アクセス転送)で行
われる。
えばページメモリのような大容量のメモリである。デー
タ合成部5は、メモリ診断の過程において、メモリ2か
らDMA転送されて来た2つのデータを論理演算し(例
えば、EX−OR(イクスクルーシブ・オア)を取った
り、或いはOR(オア)を取ったりする演算)、データ
を合成する部分である。メモリ2とデータ合成部5との
間でのデータのやり取りは、DMAC3の制御により、
DMA転送(ダイレクト・メモリ・アクセス転送)で行
われる。
【0015】(第1の実施例)第1の実施例では、デー
タ合成部5でEX−ORとORの論理演算を行って、メ
モリの診断を行うものである。図3は、データ合成部5
の構成の1例を示す図である。符号は図2のものに対応
し、6,7はラッチ、8はEX−OR回路、9はOR回
路、10はデータセレクタである。データバス4を経て
DMA転送されて来るデータは、幾つかのビット(例え
ば、8ビット)から成る単位で転送されて来るが、ラッ
チ6,7は、そのビット数と同じ数の入力端子を有する
構造とされている。最初に転送されて来る第1のデータ
は、ラッチ6にラッチされ、次にDMA転送されて来る
第2のデータは、ラッチ7にラッチされる。
タ合成部5でEX−ORとORの論理演算を行って、メ
モリの診断を行うものである。図3は、データ合成部5
の構成の1例を示す図である。符号は図2のものに対応
し、6,7はラッチ、8はEX−OR回路、9はOR回
路、10はデータセレクタである。データバス4を経て
DMA転送されて来るデータは、幾つかのビット(例え
ば、8ビット)から成る単位で転送されて来るが、ラッ
チ6,7は、そのビット数と同じ数の入力端子を有する
構造とされている。最初に転送されて来る第1のデータ
は、ラッチ6にラッチされ、次にDMA転送されて来る
第2のデータは、ラッチ7にラッチされる。
【0016】ラッチ6,7にラッチされているデータの
対応するビット同士が、EX−OR回路8でEX−OR
を取られると共に、OR回路9でORが取られる。デー
タセレクタ10は、セレクト端子Sに入力される選択信
号により、EX−ORを取ったデータ(EX−OR回路
8の出力)を採用するか、ORを取ったデータ(OR回
路9の出力)を採用するかを決める。採用されたデータ
は、データバス4を経て、メモリ2へDMA転送され
る。
対応するビット同士が、EX−OR回路8でEX−OR
を取られると共に、OR回路9でORが取られる。デー
タセレクタ10は、セレクト端子Sに入力される選択信
号により、EX−ORを取ったデータ(EX−OR回路
8の出力)を採用するか、ORを取ったデータ(OR回
路9の出力)を採用するかを決める。採用されたデータ
は、データバス4を経て、メモリ2へDMA転送され
る。
【0017】図1は、本発明の第1の実施例のメモリ診
断方式の動作過程を説明する図である。本発明のメモリ
診断方式は、大別して次の8つのステップから成る。最
初に、各ステップの要約を掲げ、後で詳細に説明する。
断方式の動作過程を説明する図である。本発明のメモリ
診断方式は、大別して次の8つのステップから成る。最
初に、各ステップの要約を掲げ、後で詳細に説明する。
【0018】(ステップの要約) 第1ステップ…図1(イ)。メモリの小領域において、
CPUで診断用データを書き込み,次いで読み出して、
メモリ診断を行う。 第2ステップ…図1(ロ)〜(ニ)。診断用データを記
入した領域のデータを、同じ大きさの診断用データ未記
入領域に、DMA転送する。即ち、コピーをする。これ
を繰り返して、診断対象領域全体に診断用データをコピ
ーする。
CPUで診断用データを書き込み,次いで読み出して、
メモリ診断を行う。 第2ステップ…図1(ロ)〜(ニ)。診断用データを記
入した領域のデータを、同じ大きさの診断用データ未記
入領域に、DMA転送する。即ち、コピーをする。これ
を繰り返して、診断対象領域全体に診断用データをコピ
ーする。
【0019】第3ステップ…図1(ホ)。最終のコピー
を行ったコピー元領域とコピー先領域との対応する位置
のデータのEX−ORをとり、その出力を、それら2つ
の領域のいずれか一方の領域内のメモリ位置であって、
その値がEX−ORの入力とされなかったメモリ位置に
DMA転送する。
を行ったコピー元領域とコピー先領域との対応する位置
のデータのEX−ORをとり、その出力を、それら2つ
の領域のいずれか一方の領域内のメモリ位置であって、
その値がEX−ORの入力とされなかったメモリ位置に
DMA転送する。
【0020】第4ステップ…図1(ヘ)〜(ト)。EX
−ORの出力が書き込まれなかった方の領域を半分に分
割し、分割された各領域の対応する位置のデータのEX
−ORをとり、その出力を、それら分割領域のいずれか
一方の領域内ののメモリ位置であって、その値がEX−
ORの入力とされなかったメモリ位置にDMA転送す
る。それを、分割領域の大きさが、第1ステップの小領
域と等しい大きさになるまで、これを繰り返す。
−ORの出力が書き込まれなかった方の領域を半分に分
割し、分割された各領域の対応する位置のデータのEX
−ORをとり、その出力を、それら分割領域のいずれか
一方の領域内ののメモリ位置であって、その値がEX−
ORの入力とされなかったメモリ位置にDMA転送す
る。それを、分割領域の大きさが、第1ステップの小領
域と等しい大きさになるまで、これを繰り返す。
【0021】第5ステップ…図1(チ)。第1ステップ
の小領域と等しい大きさとなった第4ステップの転送元
領域に、CPU1から0を書き込む。 第6ステップ…図1(リ)。第5ステップまで終えたメ
モリ全領域を2分割し、各分割領域の対応する位置のデ
ータのORをとり、その出力を、いずれか一方の分割領
域の対応する位置にDMA転送する。
の小領域と等しい大きさとなった第4ステップの転送元
領域に、CPU1から0を書き込む。 第6ステップ…図1(リ)。第5ステップまで終えたメ
モリ全領域を2分割し、各分割領域の対応する位置のデ
ータのORをとり、その出力を、いずれか一方の分割領
域の対応する位置にDMA転送する。
【0022】第7ステップ…図1(ヌ)〜(ル)。OR
の出力が書き込まれた領域を更に2分割し、各分割領域
の対応する位置の値のORをとり、その出力を予め定め
たいずれか一方の分割領域にDMA転送することを、分
割領域の大きさが、その領域の値をCPU1でリードす
るのに長時間を要しない大きさに減少するまで行う。こ
の大きさは、第1ステップの小領域と等しい大きさでな
くともよい。
の出力が書き込まれた領域を更に2分割し、各分割領域
の対応する位置の値のORをとり、その出力を予め定め
たいずれか一方の分割領域にDMA転送することを、分
割領域の大きさが、その領域の値をCPU1でリードす
るのに長時間を要しない大きさに減少するまで行う。こ
の大きさは、第1ステップの小領域と等しい大きさでな
くともよい。
【0023】第8ステップ…図1(ヲ)。その小領域の
データが、全て0となっているかどうかを、CPU1で
読み出してチェックする。0でないデータがあれば、メ
モリのどこかに故障ありと診断する。
データが、全て0となっているかどうかを、CPU1で
読み出してチェックする。0でないデータがあれば、メ
モリのどこかに故障ありと診断する。
【0024】以下、図1の(イ)〜(ヲ)を参照しなが
ら、各ステップについて詳細に説明する。 (第1ステップ…図1(イ)参照)図2のメモリ2の中
に或る小領域を定め(この例では、256バイトとして
いる)、これに対して、まず、CPU1からメモリ診断
用のデータ(チェックパターン)を書き込む。
ら、各ステップについて詳細に説明する。 (第1ステップ…図1(イ)参照)図2のメモリ2の中
に或る小領域を定め(この例では、256バイトとして
いる)、これに対して、まず、CPU1からメモリ診断
用のデータ(チェックパターン)を書き込む。
【0025】比較基準となるチェックパターンを予めR
AMに固定的に用意しておいて、診断する際、それと比
較して診断するわけではないので、任意のチェックパタ
ーンを書き込むことが出来る。従って、きめ細かなチェ
ックパターンを用いたり、粗いチェックパターンを用い
たりすることが出来る。これは、本発明の特徴の1つで
ある。
AMに固定的に用意しておいて、診断する際、それと比
較して診断するわけではないので、任意のチェックパタ
ーンを書き込むことが出来る。従って、きめ細かなチェ
ックパターンを用いたり、粗いチェックパターンを用い
たりすることが出来る。これは、本発明の特徴の1つで
ある。
【0026】なお、チェックパターンとして、従来から
用いられているデータ列、例えば55H(Hは16進法
であることを表す。以下同じ),AAH,FFH,00
Hとか、00H,01H,02H,…,FEH,FFH
とか、01H,02H,04H,08H,10H,20
H,40H,80H等のデータ列を使用することも、勿
論できる。
用いられているデータ列、例えば55H(Hは16進法
であることを表す。以下同じ),AAH,FFH,00
Hとか、00H,01H,02H,…,FEH,FFH
とか、01H,02H,04H,08H,10H,20
H,40H,80H等のデータ列を使用することも、勿
論できる。
【0027】次に、この小領域へ書き込んだデータをC
PU1へ読み出し、チェックパターンが正しく書き込ま
れているかどうかを検査する。第1ステップでの、この
小領域への書き込みおよび読み出しは、従来と同様にC
PU1でソフトウエア的に行う。この段階でメモリに故
障があることが発見されれば、もはや以後のステップを
実行する必要はない。メモリ2は、使いものにならない
ことが、この段階で確認されたからである。
PU1へ読み出し、チェックパターンが正しく書き込ま
れているかどうかを検査する。第1ステップでの、この
小領域への書き込みおよび読み出しは、従来と同様にC
PU1でソフトウエア的に行う。この段階でメモリに故
障があることが発見されれば、もはや以後のステップを
実行する必要はない。メモリ2は、使いものにならない
ことが、この段階で確認されたからである。
【0028】(第2ステップ…図1(ロ)〜(ニ)参
照)256バイトの小領域については診断が済み、故障
がないことがわかった場合には、その領域(図1(ロ)
のロ−1)のデータを、同じ大きさ(256バイト)の
診断用データ未記入の領域(図1(ロ)のロ−2)にD
MA転送する。即ち、コピーをする。その結果、チェッ
クパターンが記録された領域は、当初の小領域の2倍の
領域(ロ−1とロ−2とを合わせた領域。512バイ
ト)となる。
照)256バイトの小領域については診断が済み、故障
がないことがわかった場合には、その領域(図1(ロ)
のロ−1)のデータを、同じ大きさ(256バイト)の
診断用データ未記入の領域(図1(ロ)のロ−2)にD
MA転送する。即ち、コピーをする。その結果、チェッ
クパターンが記録された領域は、当初の小領域の2倍の
領域(ロ−1とロ−2とを合わせた領域。512バイ
ト)となる。
【0029】次には、この512バイトの領域(図1
(ハ)のハ−1)のデータを、それと同じ広さの領域
(図1(ハ)のハ−2)へコピーする。これを繰り返し
て、診断対象領域全体にデータをコピーする(図1
(ニ)のニ−1とニ−2とを合わせた領域。例、32M
バイト)。最初にCPU1で書き込むチェックパターン
が、僅か256バイトであっても、上記のコピーを18
回行うだけで、32Mバイトという大容量のメモリへの
書き込みを行うことが出来る。DMA転送はCPU1に
よって起動されるが、上記のコピーのためにCPUが負
担しなければならない作業は、たった18回の起動だけ
で済む。
(ハ)のハ−1)のデータを、それと同じ広さの領域
(図1(ハ)のハ−2)へコピーする。これを繰り返し
て、診断対象領域全体にデータをコピーする(図1
(ニ)のニ−1とニ−2とを合わせた領域。例、32M
バイト)。最初にCPU1で書き込むチェックパターン
が、僅か256バイトであっても、上記のコピーを18
回行うだけで、32Mバイトという大容量のメモリへの
書き込みを行うことが出来る。DMA転送はCPU1に
よって起動されるが、上記のコピーのためにCPUが負
担しなければならない作業は、たった18回の起動だけ
で済む。
【0030】(第3ステップ以降の概要説明)第3ステ
ップ以降は、コピーが忠実になされたか否かを調べるス
テップである。故障メモリがあると、忠実には行われな
い。まず、コピー元とコピー先の値がちゃんと一致して
いるかを調べるため、両者のEX−ORを取り、それを
コピー元またはコピー先の領域に書き込んで行く(図1
(ホ)〜(ト))。一致していれば、出力は0となる筈
である。コピー元の領域が図1(イ)の小領域と同じサ
イズに減少した段階で、それに対しては、CPU1によ
り0を書き込む(図1(チ))。
ップ以降は、コピーが忠実になされたか否かを調べるス
テップである。故障メモリがあると、忠実には行われな
い。まず、コピー元とコピー先の値がちゃんと一致して
いるかを調べるため、両者のEX−ORを取り、それを
コピー元またはコピー先の領域に書き込んで行く(図1
(ホ)〜(ト))。一致していれば、出力は0となる筈
である。コピー元の領域が図1(イ)の小領域と同じサ
イズに減少した段階で、それに対しては、CPU1によ
り0を書き込む(図1(チ))。
【0031】以上のようにすると、故障メモリがあれば
どこかに1が書き込まれている筈であり、故障メモリが
なければ、全ての領域は0で埋め尽くされている筈であ
る。図1(リ)〜(ヲ)の過程は、全てが0となってい
るかどうかを調べる過程である。1つでも1があれば、
その1はORの演算により最後まで保存され、故障あり
ということを伝える。この1が、故障検出情報である。
どこかに1が書き込まれている筈であり、故障メモリが
なければ、全ての領域は0で埋め尽くされている筈であ
る。図1(リ)〜(ヲ)の過程は、全てが0となってい
るかどうかを調べる過程である。1つでも1があれば、
その1はORの演算により最後まで保存され、故障あり
ということを伝える。この1が、故障検出情報である。
【0032】(第3ステップ…図1(ホ),図4(イ)
参照)図1(ホ)に示すように、このステップでは、最
終のコピー元の値とコピー先の値とのEX−ORを取
る。両者がちゃんと一致していれば、EX−ORの出力
は0となる。図4(イ)は、図3からこのEX−ORを
取る動作過程に関与する部分を抜き出し、データの流れ
および真理値表を示した図である。
参照)図1(ホ)に示すように、このステップでは、最
終のコピー元の値とコピー先の値とのEX−ORを取
る。両者がちゃんと一致していれば、EX−ORの出力
は0となる。図4(イ)は、図3からこのEX−ORを
取る動作過程に関与する部分を抜き出し、データの流れ
および真理値表を示した図である。
【0033】最終のコピーを行ったコピー元領域ホー1
(これは、領域ニ−1と同じ)と、コピー先領域ホー2
(これは、領域ニ−2と同じ)との対応する位置(例、
A1,B1 )のデータを、DMA転送によりデータ合成
部5に送る。そして、両者のEX−ORをとり、その出
力を、前記2つの領域の内の予め定めた一方の領域(図
4では、ホ−2の領域)の前記対応する位置ではない位
置(例、A1 ,B1 が先頭位置なら、末尾位置BN )に
DMA転送する。
(これは、領域ニ−1と同じ)と、コピー先領域ホー2
(これは、領域ニ−2と同じ)との対応する位置(例、
A1,B1 )のデータを、DMA転送によりデータ合成
部5に送る。そして、両者のEX−ORをとり、その出
力を、前記2つの領域の内の予め定めた一方の領域(図
4では、ホ−2の領域)の前記対応する位置ではない位
置(例、A1 ,B1 が先頭位置なら、末尾位置BN )に
DMA転送する。
【0034】対応する位置ではない位置にDMA転送す
る理由は、故障により値が常に0となってしまうメモリ
ビット(以下、「常0メモリ」と言う)があっても、そ
れによってメモリ診断の精度が悪くされるのを防ぐため
である。今、仮にA1 は正常であるが、B1 は常0メモ
リであったとする。A1 の値が1であると、その値がコ
ピーされるB1 も1になっていなければならない。とこ
ろが、B1 は常0メモリであるため正確にコピーされ
ず、0である。
る理由は、故障により値が常に0となってしまうメモリ
ビット(以下、「常0メモリ」と言う)があっても、そ
れによってメモリ診断の精度が悪くされるのを防ぐため
である。今、仮にA1 は正常であるが、B1 は常0メモ
リであったとする。A1 の値が1であると、その値がコ
ピーされるB1 も1になっていなければならない。とこ
ろが、B1 は常0メモリであるため正確にコピーされ
ず、0である。
【0035】A1 ,B1 の値(1,0)をEX−ORに
入力すると、その出力は1となる。これを、入力を取っ
た位置であるB1 に書き込むと、ここは常0メモリであ
るから、1を書き込もうとしても0となってしまう。1
が書き込まれ、後のステップでこの1を発見することに
より故障ありとの診断が出来るのに、1が書き込めない
のでは、メモリの故障は発見出来ない。
入力すると、その出力は1となる。これを、入力を取っ
た位置であるB1 に書き込むと、ここは常0メモリであ
るから、1を書き込もうとしても0となってしまう。1
が書き込まれ、後のステップでこの1を発見することに
より故障ありとの診断が出来るのに、1が書き込めない
のでは、メモリの故障は発見出来ない。
【0036】そこで、入力を取った位置ではない別の位
置(例、A1 ,B1 が領域の先頭位置なら、領域の末尾
位置BN )に書き込む。EX−ORの一方の入力位置で
あるB1 と、出力を書き込む別の位置BN が、共に常0
メモリであることは、全くないとは言えないが、その確
率は極めて小である。従って、正常に1と書き込まれる
ことが殆どであり、メモリ診断の精度は、B1 に書き込
んだ場合に比べて良くなる。なお、入力位置と出力位置
との関係は、例えば、入力を取り出す位置を、A1 ,B
1 から矢印Cの方向に進める時、出力を書き込む位置
を、BN から矢印Cの方向に進めて行くようにする。
置(例、A1 ,B1 が領域の先頭位置なら、領域の末尾
位置BN )に書き込む。EX−ORの一方の入力位置で
あるB1 と、出力を書き込む別の位置BN が、共に常0
メモリであることは、全くないとは言えないが、その確
率は極めて小である。従って、正常に1と書き込まれる
ことが殆どであり、メモリ診断の精度は、B1 に書き込
んだ場合に比べて良くなる。なお、入力位置と出力位置
との関係は、例えば、入力を取り出す位置を、A1 ,B
1 から矢印Cの方向に進める時、出力を書き込む位置
を、BN から矢印Cの方向に進めて行くようにする。
【0037】(第4ステップ…図1(ヘ),(ト)参
照)次に、ステップ3でEX−ORの出力が書き込まれ
なかった方の領域を半分に分割し、分割された各領域の
対応する位置のデータのEX−ORをとり、その出力
を、図4(イ)で示したの同様に、分割領域のいずれか
一方の領域内の前記対応する位置ではない位置に、DM
A転送する。これを、分割領域の大きさが、第1ステッ
プの小領域と等しい大きさになるまで繰り返す。
照)次に、ステップ3でEX−ORの出力が書き込まれ
なかった方の領域を半分に分割し、分割された各領域の
対応する位置のデータのEX−ORをとり、その出力
を、図4(イ)で示したの同様に、分割領域のいずれか
一方の領域内の前記対応する位置ではない位置に、DM
A転送する。これを、分割領域の大きさが、第1ステッ
プの小領域と等しい大きさになるまで繰り返す。
【0038】(第5ステップ…図1(チ)参照)第1ス
テップの小領域と等しい大きさとなった第4ステップの
転送元領域に、CPU1から0を書き込む。もし、故障
メモリが存在しなければ、この段階でメモリ全体の値は
0になっている筈である。
テップの小領域と等しい大きさとなった第4ステップの
転送元領域に、CPU1から0を書き込む。もし、故障
メモリが存在しなければ、この段階でメモリ全体の値は
0になっている筈である。
【0039】(第6ステップ…図1(リ)〜(ル)、図
4(ロ)参照)図1(リ)に簡略に示したように、この
ステップは、診断の対象としているメモリ領域全体を半
分に分割し、対応する位置にある値を、DMA転送によ
り順次データ合成部5に送り、ORを取る。そして、そ
の出力を、分割領域の予め定めた一方の領域(図1
(リ)では、リ−1の領域)にDMA転送し、ORの入
力を取った位置に書き込む。
4(ロ)参照)図1(リ)に簡略に示したように、この
ステップは、診断の対象としているメモリ領域全体を半
分に分割し、対応する位置にある値を、DMA転送によ
り順次データ合成部5に送り、ORを取る。そして、そ
の出力を、分割領域の予め定めた一方の領域(図1
(リ)では、リ−1の領域)にDMA転送し、ORの入
力を取った位置に書き込む。
【0040】(第7ステップ…図1(ヌ)〜(ル)参
照)。ORの出力が書き込まれた領域を更に2分割し、
同様にORを取ることを繰り返す。ORの出力が書き込
まれた領域の方を2分割する点が重要である。故障メモ
リがあった場合に書き込まれていた1は、ORの出力を
書き込む側の領域で保存されて行くからである。
照)。ORの出力が書き込まれた領域を更に2分割し、
同様にORを取ることを繰り返す。ORの出力が書き込
まれた領域の方を2分割する点が重要である。故障メモ
リがあった場合に書き込まれていた1は、ORの出力を
書き込む側の領域で保存されて行くからである。
【0041】この繰り返しは、分割領域の大きさが、後
にその領域の値をCPU1で読み出すのに長時間を要し
ない大きさに減少するまで行う。この大きさは、第1ス
テップの小領域と等しい大きさでなくともよい。
にその領域の値をCPU1で読み出すのに長時間を要し
ない大きさに減少するまで行う。この大きさは、第1ス
テップの小領域と等しい大きさでなくともよい。
【0042】図4(ロ)は、図3からこのORを取る動
作過程に関与する部分を抜き出し、データの流れを示し
た図である。A1 ,B1 の位置のデータのORを取り、
その出力を、入力位置A1 ,B1 のいずれかに書き込
む。この場合は、図4(イ)で行ったように、入力をと
ったところの対応位置ではない位置に書き込む必要はな
い。
作過程に関与する部分を抜き出し、データの流れを示し
た図である。A1 ,B1 の位置のデータのORを取り、
その出力を、入力位置A1 ,B1 のいずれかに書き込
む。この場合は、図4(イ)で行ったように、入力をと
ったところの対応位置ではない位置に書き込む必要はな
い。
【0043】なぜなら、図1(ホ)〜(ト)の過程で、
EX−ORの出力を書き込む位置は、入力を取り出した
位置とは異なる位置にされているから、仮にA1 の値が
メモリ故障を示す1であっても、その原因となっている
故障メモリはA1 ではないからである。EX−ORの入
力をとった位置も故障し、出力を書き込む位置A1 も故
障している確率は極めて少ない。それゆえ、書き込みが
正常に行われる確率は、極めて高い。
EX−ORの出力を書き込む位置は、入力を取り出した
位置とは異なる位置にされているから、仮にA1 の値が
メモリ故障を示す1であっても、その原因となっている
故障メモリはA1 ではないからである。EX−ORの入
力をとった位置も故障し、出力を書き込む位置A1 も故
障している確率は極めて少ない。それゆえ、書き込みが
正常に行われる確率は、極めて高い。
【0044】(第8ステップ…図1(ヲ)参照)OR出
力を書き込んだ分割領域の大きさが、その領域の値をC
PU1で読み出すのに長時間を要しない程度に小さくな
った(例、第1ステップの小領域と同程度の大きさにな
った)段階で、その小領域のデータを、CPU1で1つ
1つ読み出し、0であるかどうかチェックする。そし
て、全てが0であれば、診断の対象としたメモリ全体
(例、32Mバイト)は正常であると診断し、1つでも
1があれば、メモリ全体のどこかに故障ありと診断す
る。
力を書き込んだ分割領域の大きさが、その領域の値をC
PU1で読み出すのに長時間を要しない程度に小さくな
った(例、第1ステップの小領域と同程度の大きさにな
った)段階で、その小領域のデータを、CPU1で1つ
1つ読み出し、0であるかどうかチェックする。そし
て、全てが0であれば、診断の対象としたメモリ全体
(例、32Mバイト)は正常であると診断し、1つでも
1があれば、メモリ全体のどこかに故障ありと診断す
る。
【0045】(診断の理由)そのような基準で診断して
よい理由は、次の通りである。もしメモリが全て正常で
あれば、図1(ロ)から(ニ)までのコピー過程で、上
下の領域(コピー元領域とコピー先領域)の対応する位
置のデータは、同じになっている筈である。コピーの過
程を逆にたどり、図1(ホ)から(ト)のように、均等
に2分割しながらEX−ORを取っていくと、その出力
が書き込まれた領域は、メモリが正常なら全て0にな
る。最後に残った図1(チ)の小領域には、CPU1に
より0を書き込む。従って、診断対象としているメモリ
が全て正常であれば、メモリ全体の値は全て0になって
いる筈である。
よい理由は、次の通りである。もしメモリが全て正常で
あれば、図1(ロ)から(ニ)までのコピー過程で、上
下の領域(コピー元領域とコピー先領域)の対応する位
置のデータは、同じになっている筈である。コピーの過
程を逆にたどり、図1(ホ)から(ト)のように、均等
に2分割しながらEX−ORを取っていくと、その出力
が書き込まれた領域は、メモリが正常なら全て0にな
る。最後に残った図1(チ)の小領域には、CPU1に
より0を書き込む。従って、診断対象としているメモリ
が全て正常であれば、メモリ全体の値は全て0になって
いる筈である。
【0046】もし、メモリのどこかに故障があれば、図
1(ロ)から(ニ)までのコピー過程において、その故
障部分では正しくコピーされない。その結果、コピーし
た上下の領域の対応する位置で、データが異なる箇所が
出て来る。コピー過程を逆にたどってEX−ORを取る
と、そういう箇所の値がEX−ORの入力とされた時、
出力が1となる。従って、診断対象としているメモリの
どこかが故障していれば、図1(チ)の過程が終わった
段階で、メモリのどこかが1となっている。
1(ロ)から(ニ)までのコピー過程において、その故
障部分では正しくコピーされない。その結果、コピーし
た上下の領域の対応する位置で、データが異なる箇所が
出て来る。コピー過程を逆にたどってEX−ORを取る
と、そういう箇所の値がEX−ORの入力とされた時、
出力が1となる。従って、診断対象としているメモリの
どこかが故障していれば、図1(チ)の過程が終わった
段階で、メモリのどこかが1となっている。
【0047】以上のことから、全て0となっているか否
かにより、故障メモリがあるか否かの診断をすることが
出来る。しかし、本発明では、メモリのどこかに故障箇
所があるということは分かるが、それがどの位置かとい
うことまでは分からない。なぜなら、コピーは何回も繰
り返し行われるが、このメモリ診断方式では、何回目の
コピーのどの部分が正常にコピーされなかったかなどと
いうことまでは、いちいち検出していないからである。
かにより、故障メモリがあるか否かの診断をすることが
出来る。しかし、本発明では、メモリのどこかに故障箇
所があるということは分かるが、それがどの位置かとい
うことまでは分からない。なぜなら、コピーは何回も繰
り返し行われるが、このメモリ診断方式では、何回目の
コピーのどの部分が正常にコピーされなかったかなどと
いうことまでは、いちいち検出していないからである。
【0048】図8は、データ合成部5の構成の他の例を
示す図である。符号は図3のものに対応し、11はルッ
クアップテーブルとして用いるRAM(ランダムアクセ
スメモリ)である。従って、例えばEX−OR用のルッ
クアップテーブルとして使用したい場合には、ラッチ6
とラッチ7とにラッチされたデータをアドレスと見立て
てRAM11にアクセスすると、その番地には、2つの
データのEX−ORを取った値が存在するよう、予めC
PUにより書き込んでおく。その後、OR用のルックア
ップテーブルとして使用したいということになると、今
度は、ORの値が存在するようCPUにより書き換え
る。
示す図である。符号は図3のものに対応し、11はルッ
クアップテーブルとして用いるRAM(ランダムアクセ
スメモリ)である。従って、例えばEX−OR用のルッ
クアップテーブルとして使用したい場合には、ラッチ6
とラッチ7とにラッチされたデータをアドレスと見立て
てRAM11にアクセスすると、その番地には、2つの
データのEX−ORを取った値が存在するよう、予めC
PUにより書き込んでおく。その後、OR用のルックア
ップテーブルとして使用したいということになると、今
度は、ORの値が存在するようCPUにより書き換え
る。
【0049】なお、RAMを2つ用意して、一方にはE
X−OR用の値を書き込み、他方にはOR用の値を書き
込んでおき、RAMを切り換えて使用するようにしても
よい。
X−OR用の値を書き込み、他方にはOR用の値を書き
込んでおき、RAMを切り換えて使用するようにしても
よい。
【0050】複数のチェックパターンについて診断した
い場合には、1つのチェックパターン毎に前記ステップ
1〜7を行えばよい。また、メモリ2の容量が32Mバ
イト等のように、2n で表せない場合は、それを、2n
で表せる領域に分割した上で、それぞれに本発明のメモ
リ診断方式を適用すればよい。例えば、48Mバイトの
場合には、32Mバイトと16Mバイトの領域に分割し
ておいて、それぞれの領域に対して適用すればよい。
い場合には、1つのチェックパターン毎に前記ステップ
1〜7を行えばよい。また、メモリ2の容量が32Mバ
イト等のように、2n で表せない場合は、それを、2n
で表せる領域に分割した上で、それぞれに本発明のメモ
リ診断方式を適用すればよい。例えば、48Mバイトの
場合には、32Mバイトと16Mバイトの領域に分割し
ておいて、それぞれの領域に対して適用すればよい。
【0051】図2から分かるように、本発明のメモリ診
断方式を実行するため必要とされるハードウェアは、C
PUの他、CPUに代わってアドレスを発生する機能を
持つと共にDMA転送を制御するDMACと、2つのデ
ータのEX−ORおよびORをとるデータ合成部だけで
ある。
断方式を実行するため必要とされるハードウェアは、C
PUの他、CPUに代わってアドレスを発生する機能を
持つと共にDMA転送を制御するDMACと、2つのデ
ータのEX−ORおよびORをとるデータ合成部だけで
ある。
【0052】DMACに要求されるチャンネル数は、最
大でもEX−ORをとったりORをとったりする場合の
3チャンネルである(例えば図4で、領域ホ−1からデ
ータ合成部5のEX−ORへ転送するためのチャンネ
ル,領域ホ−2からデータ合成部5のEX−ORへ転送
するためのチャンネル,データ合成部5のEX−ORの
出力を領域ホ−1へ転送するためのチャンネルの合計3
つ)。従って、安価で市販されている4チャンネルのD
MACで間に合う。
大でもEX−ORをとったりORをとったりする場合の
3チャンネルである(例えば図4で、領域ホ−1からデ
ータ合成部5のEX−ORへ転送するためのチャンネ
ル,領域ホ−2からデータ合成部5のEX−ORへ転送
するためのチャンネル,データ合成部5のEX−ORの
出力を領域ホ−1へ転送するためのチャンネルの合計3
つ)。従って、安価で市販されている4チャンネルのD
MACで間に合う。
【0053】それゆえ、構成は簡単であり、コストも安
くて済む。なお、ページメモリを搭載した機器(例え
ば、ディジタル複写機等)では、ページメモリへアドレ
ッシングする手段として、DMACは必ず具えているか
ら、データ合成部を追加するだけで、本発明のメモリ診
断方式を実行することが可能となる。
くて済む。なお、ページメモリを搭載した機器(例え
ば、ディジタル複写機等)では、ページメモリへアドレ
ッシングする手段として、DMACは必ず具えているか
ら、データ合成部を追加するだけで、本発明のメモリ診
断方式を実行することが可能となる。
【0054】もし、ページメモリを搭載したディジタル
複写機が、2つの画像を重ね合わせたりするといったよ
うな、メモリ間合成を実現するための合成回路を具えて
いるものであれば、それは前記のデータ合成部として利
用することが出来るから、新規な構成は何ら追加するこ
となく、本発明のメモリ診断方式を実行することが出来
る。
複写機が、2つの画像を重ね合わせたりするといったよ
うな、メモリ間合成を実現するための合成回路を具えて
いるものであれば、それは前記のデータ合成部として利
用することが出来るから、新規な構成は何ら追加するこ
となく、本発明のメモリ診断方式を実行することが出来
る。
【0055】(第2の実施例)診断の対象としているメ
モリ内に、故障により値が常に1となってしまうメモリ
ビット(以下、「常1メモリ」という)があった場合、
それは、第1の実施例で確実に故障検出ができる。なぜ
なら、図1(リ)〜(ヲ)の過程で、1の値が存在して
いないかを調べる際に発見されるからである。
モリ内に、故障により値が常に1となってしまうメモリ
ビット(以下、「常1メモリ」という)があった場合、
それは、第1の実施例で確実に故障検出ができる。なぜ
なら、図1(リ)〜(ヲ)の過程で、1の値が存在して
いないかを調べる際に発見されるからである。
【0056】しかし、診断の対象としているメモリ内に
常0メモリが存在していた場合、第1の実施例では、確
率的には少ないけれども発見出来ない場合があった。即
ち、図4(イ)のようにEX−ORを取る時、EX−O
Rの出力を書き込む位置(BN )のメモリが常0メモリ
であった場合、EX−ORの入力位置(A1 ,B1 )が
正常であるか否かを確かめることが出来ない。それらが
故障していて、EX−ORの出力が1であったとして
も、その1を書き込む位置(BN )が常0メモリであ
り、0となってしまうからである。
常0メモリが存在していた場合、第1の実施例では、確
率的には少ないけれども発見出来ない場合があった。即
ち、図4(イ)のようにEX−ORを取る時、EX−O
Rの出力を書き込む位置(BN )のメモリが常0メモリ
であった場合、EX−ORの入力位置(A1 ,B1 )が
正常であるか否かを確かめることが出来ない。それらが
故障していて、EX−ORの出力が1であったとして
も、その1を書き込む位置(BN )が常0メモリであ
り、0となってしまうからである。
【0057】常0メモリも確実に発見できるようにした
のが、第2の実施例である。第2の実施例のブロック構
成も、図2に示される第1の実施例と同様である。ただ
し、データ合成部5の構成が異なる。第2の実施例にお
けるデータ合成部5の構成の1例を、図7に示す。
のが、第2の実施例である。第2の実施例のブロック構
成も、図2に示される第1の実施例と同様である。ただ
し、データ合成部5の構成が異なる。第2の実施例にお
けるデータ合成部5の構成の1例を、図7に示す。
【0058】図7において、符号は図3のものに対応
し、12はEX−NOR回路(イクスクルーシブ・ノ
ア)、13はAND回路(アンド)である。そして、選
択信号が2本(2ビット)とされている。図3と異なる
点は、EX−NOR回路12とAND回路13とが追加
された点である。即ち、出力がデータセレクタ10へ入
力される論理演算回路の数が4つに増加した。4つの内
から1つを選択しなければならないため、図3のデータ
合成部5では1ビットで間に合っていた選択信号が、図
7のデータ合成部5では間に合わず、2ビットとされて
いる。
し、12はEX−NOR回路(イクスクルーシブ・ノ
ア)、13はAND回路(アンド)である。そして、選
択信号が2本(2ビット)とされている。図3と異なる
点は、EX−NOR回路12とAND回路13とが追加
された点である。即ち、出力がデータセレクタ10へ入
力される論理演算回路の数が4つに増加した。4つの内
から1つを選択しなければならないため、図3のデータ
合成部5では1ビットで間に合っていた選択信号が、図
7のデータ合成部5では間に合わず、2ビットとされて
いる。
【0059】第2の実施例は、第1の実施例の過程を前
半の過程とし、後半の過程として図6に示した過程を行
うものである。従って、第2の実施例の前半の過程の説
明は省略する。追加されたEX−NOR回路12の出力
やAND回路13の出力が使用される過程が、どういう
過程であるかは、図6の説明の中で説明する。
半の過程とし、後半の過程として図6に示した過程を行
うものである。従って、第2の実施例の前半の過程の説
明は省略する。追加されたEX−NOR回路12の出力
やAND回路13の出力が使用される過程が、どういう
過程であるかは、図6の説明の中で説明する。
【0060】図6は、本発明の第2の実施例の動作過程
後半を説明する図である。図6(イ)〜(ニ)までの過
程は、図1(イ)〜(ニ)までの過程と同じである。図
6(ホ)〜(ト)までの過程は、図1(ホ)〜(ト)の
過程に類似している。異なっている点は、EX−ORで
なくEX−NORを取る点である。ここの過程で、図7
のEX−NOR回路12の出力が選択されて使われる。
後半を説明する図である。図6(イ)〜(ニ)までの過
程は、図1(イ)〜(ニ)までの過程と同じである。図
6(ホ)〜(ト)までの過程は、図1(ホ)〜(ト)の
過程に類似している。異なっている点は、EX−ORで
なくEX−NORを取る点である。ここの過程で、図7
のEX−NOR回路12の出力が選択されて使われる。
【0061】図5(イ)は、第2の実施例でEX−NO
Rを取る動作過程でのデータの流れを示す図である。入
力を取って来るメモリ位置および出力を書き込む位置
は、図4(イ)と同様である。EX−NORの真理値表
も示しているが、それによると2つの入力が一致してい
ると出力は1となるから、メモリが正常であれば、1が
次々と書き込まれる。
Rを取る動作過程でのデータの流れを示す図である。入
力を取って来るメモリ位置および出力を書き込む位置
は、図4(イ)と同様である。EX−NORの真理値表
も示しているが、それによると2つの入力が一致してい
ると出力は1となるから、メモリが正常であれば、1が
次々と書き込まれる。
【0062】図6(チ)は図1(チ)に類似している
が、書き込む値が1である点が相違する。もし、メモリ
内に故障がなければ、この過程を終了した段階でメモリ
の値は全て1となっている。
が、書き込む値が1である点が相違する。もし、メモリ
内に故障がなければ、この過程を終了した段階でメモリ
の値は全て1となっている。
【0063】次の図6(リ)〜(ル)までの過程は、図
1(リ)〜(ル)の過程に類似している。異なっている
点は、ORでなくANDを取る点である。AND演算
は、0の値を保存して行くという作用がある。ここの過
程で、図7のAND回路13の出力が選択されて使われ
る。図5(ロ)に、ANDを取る動作過程でのデータの
流れを示す。入力を取って来るメモリ位置および出力を
書き込む位置は、図4(ロ)と同様である。
1(リ)〜(ル)の過程に類似している。異なっている
点は、ORでなくANDを取る点である。AND演算
は、0の値を保存して行くという作用がある。ここの過
程で、図7のAND回路13の出力が選択されて使われ
る。図5(ロ)に、ANDを取る動作過程でのデータの
流れを示す。入力を取って来るメモリ位置および出力を
書き込む位置は、図4(ロ)と同様である。
【0064】図6(ヲ)の過程は、図1(ヲ)の過程と
同じである。CPU1によってメモリの値を読み出す。
値が全て1であれば、メモリは正常であると判断し、1
つでも0があれば故障ありと判断する。
同じである。CPU1によってメモリの値を読み出す。
値が全て1であれば、メモリは正常であると判断し、1
つでも0があれば故障ありと判断する。
【0065】もし、診断対象としているメモリ内に常0
メモリがあり、動作過程前半(第1の実施例と同じ過
程)を終えた段階で発見されなかったとしても、動作過
程後半(図6)で1を書き込もうとしても書き込めず、
0のままとなって残る。この0は、AND演算によって
最後の図6(ヲ)の過程まで保存されて行くから、故障
の存在は発見される。
メモリがあり、動作過程前半(第1の実施例と同じ過
程)を終えた段階で発見されなかったとしても、動作過
程後半(図6)で1を書き込もうとしても書き込めず、
0のままとなって残る。この0は、AND演算によって
最後の図6(ヲ)の過程まで保存されて行くから、故障
の存在は発見される。
【0066】第2の実施例においても、第1の実施例と
同様、データ合成部5を図8に示すようなルックアップ
テーブルとしてもよいし、複数のチェックパターンにつ
いて診断することも出来る。
同様、データ合成部5を図8に示すようなルックアップ
テーブルとしてもよいし、複数のチェックパターンにつ
いて診断することも出来る。
【0067】
【発明の効果】以上述べた如く、本発明のメモリ診断方
式によれば、特に必要とされるハードウェアは、DMA
転送を行うためのDMAコントローラと、EX−ORお
よびORを取るデータ合成回路、またはEX−OR,O
R,EX−NORおよびANDを取るデータ合成回路だ
けで済む。そのため、複雑な回路構成のハードウェアを
用いてメモリ診断を行っていた前記従来技術に比し、回
路構成が極めて簡単となる。
式によれば、特に必要とされるハードウェアは、DMA
転送を行うためのDMAコントローラと、EX−ORお
よびORを取るデータ合成回路、またはEX−OR,O
R,EX−NORおよびANDを取るデータ合成回路だ
けで済む。そのため、複雑な回路構成のハードウェアを
用いてメモリ診断を行っていた前記従来技術に比し、回
路構成が極めて簡単となる。
【0068】チェックパターンの書き込みの大部分は、
DMA転送で行うので、CPUに負担をかけることな
く、高速で行える。また、任意のチェックパターンを用
いることが出来る。
DMA転送で行うので、CPUに負担をかけることな
く、高速で行える。また、任意のチェックパターンを用
いることが出来る。
【図1】 本発明の第1の実施例の動作過程を説明する
図
図
【図2】 本発明のメモリ診断方式を実行するために必
要とされるブロック構成を示す図
要とされるブロック構成を示す図
【図3】 第1の実施例におけるデータ合成部の構成の
1例を示す図
1例を示す図
【図4】 EX−ORを取る動作過程およびORを取る
動作過程でのデータの流れを示す図
動作過程でのデータの流れを示す図
【図5】 第2の実施例でEX−NORを取る動作過程
およびANDを取る動作過程でのデータの流れを示す図
およびANDを取る動作過程でのデータの流れを示す図
【図6】 本発明の第2の実施例の動作過程後半を説明
する図
する図
【図7】 第2の実施例におけるデータ合成部の構成の
1例を示す図
1例を示す図
【図8】 データ合成部の構成の他の例を示す図
【図9】 従来のメモリ診断方式の1例を説明する図
1…CPU、2…メモリ、3…DMAC、4…データバ
ス、5…データ合成部、6,7…ラッチ、8…EX−O
R回路、9…OR回路、10…データセレクタ、11…
RAM、12…EX−NOR回路、13…AND回路
ス、5…データ合成部、6,7…ラッチ、8…EX−O
R回路、9…OR回路、10…データセレクタ、11…
RAM、12…EX−NOR回路、13…AND回路
Claims (2)
- 【請求項1】 メモリの小領域において、CPUで診断
用データを書き込み,次いでCPUで読み出して、メモ
リ診断を行う第1ステップと、診断用データが記入済み
となった全ての領域のデータを該領域と同じ大きさの診
断用データ未記入領域にDMA転送して行うコピーを、
診断用データが前記小領域から出発して診断対象領域全
体に記入されるまで繰り返す第2ステップと、最終のコ
ピーを行ったコピー元領域とコピー先領域との対応する
位置のデータのEX−ORをとり、その出力を該コピー
元領域とコピー先領域の内の予め定めたいずれか一方の
領域内のメモリ位置であってその値がEX−ORの入力
とされなかったメモリ位置にDMA転送する第3ステッ
プと、EX−ORの出力の書き込みがなされなかった方
の領域を2分割し、各分割領域の対応する位置のデータ
のEX−ORをとり、その出力を予め定めたいずれか一
方の分割領域内のメモリ位置であってその値がEX−O
Rの入力とされなかったメモリ位置にDMA転送するこ
とを、分割領域の大きさが第1ステップの小領域と等し
い大きさになるまで繰り返す第4ステップと、第4ステ
ップの転送元となった最後の分割領域にCPUより0を
書き込む第5ステップと、メモリ全体を2分割し、各分
割領域の対応するメモリ位置の値のORをとり、その出
力を予め定めたいずれか一方の分割領域にDMA転送す
る第6ステップと、ORの出力が書き込まれた領域を更
に2分割し、各分割領域の対応するメモリ位置の値のO
Rをとり、その出力を予め定めたいずれか一方の分割領
域にDMA転送することを、分割領域の大きさが第1ス
テップの小領域と略同じ大きさになるまで繰り返す第7
ステップと、第7ステップで得られた小領域のデータを
CPUで読み出し、全て0となっていれば正常と診断
し、そうでなければメモリのどこかに故障ありと診断す
る第8ステップとから成ることを特徴とするメモリ診断
方式。 - 【請求項2】 請求項1記載の第1ステップから第8ス
テップと同じ第1ステップ〜第8ステップと、請求項1
記載の第1ステップと同じ第9ステップと、請求項1記
載の第2ステップと同じ第10ステップと、最終のコピ
ーを行ったコピー元領域とコピー先領域との対応する位
置のデータのEX−NORをとり、その出力を該コピー
元領域とコピー先領域の内の予め定めたいずれか一方の
領域内のメモリ位置であってその値がEX−NORの入
力とされなかったメモリ位置にDMA転送する第11ス
テップと、EX−NORの出力の書き込みがなされなか
った方の領域を2分割し、各分割領域の対応する位置の
データのEX−NORをとり、その出力を予め定めたい
ずれか一方の分割領域内のメモリ位置であってその値が
EX−NORの入力とされなかったメモリ位置にDMA
転送することを、分割領域の大きさが第1ステップの小
領域と等しい大きさになるまで繰り返す第12ステップ
と、第12ステップの転送元となった最後の分割領域に
CPUより1を書き込む第13ステップと、メモリ全体
を2分割し、各分割領域の対応するメモリ位置の値のA
NDをとり、その出力を予め定めたいずれか一方の分割
領域にDMA転送する第14ステップと、ANDの出力
が書き込まれた領域を更に2分割し、各分割領域の対応
するメモリ位置の値のANDをとり、その出力を予め定
めたいずれか一方の分割領域にDMA転送することを、
分割領域の大きさが第9ステップの小領域と略同じ大き
さになるまで繰り返す第15ステップと、第15ステッ
プで得られた小領域のデータをCPUで読み出し、全て
1となっていれば正常と診断し、そうでなければメモリ
のどこかに故障ありと診断する第16ステップとから成
ることを特徴とするメモリ診断方式。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP4355068A JPH06187251A (ja) | 1992-12-17 | 1992-12-17 | メモリ診断方式 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP4355068A JPH06187251A (ja) | 1992-12-17 | 1992-12-17 | メモリ診断方式 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH06187251A true JPH06187251A (ja) | 1994-07-08 |
Family
ID=18441750
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP4355068A Pending JPH06187251A (ja) | 1992-12-17 | 1992-12-17 | メモリ診断方式 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH06187251A (ja) |
-
1992
- 1992-12-17 JP JP4355068A patent/JPH06187251A/ja active Pending
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR100327136B1 (ko) | 반도체 메모리 장치 및 이 장치의 병렬 비트 테스트 방법 | |
| EP0529945B1 (en) | Method and apparatus for programmable memory control with error regulation and test functions | |
| JPH01184700A (ja) | メモリ試験装置 | |
| US20070165711A1 (en) | Electronic device including image forming apparatus | |
| JP4090988B2 (ja) | デジタルシステム及び該デジタルシステムのエラー検出方法 | |
| JP2001167005A (ja) | メモリ診断方法とメモリ診断回路および半導体記憶装置 | |
| JP3570388B2 (ja) | メモリ診断装置及び診断方法 | |
| JP2005276317A (ja) | 試験装置及び試験方法 | |
| JP2827692B2 (ja) | 障害範囲試験用メモリーの方法と方式 | |
| JP3447512B2 (ja) | メモリ内蔵半導体集積回路のテスト方法 | |
| JPH07146804A (ja) | 回路要素の故障診断システム、診断方法及びデジタルプロセッサシステム | |
| JP4394438B2 (ja) | 診断インターフェイスを標準spiに変換する装置及び方法 | |
| JPS6227479B2 (ja) | ||
| JP3158679B2 (ja) | メモリ診断方式 | |
| JPH06187252A (ja) | メモリ診断方式 | |
| JPH07307100A (ja) | メモリ集積回路 | |
| US5146458A (en) | Data transfer checking system | |
| EP1085524A1 (en) | Structure and method with which to generate data background patterns for testing random-access-memories | |
| JP2808983B2 (ja) | メモリ診断方法 | |
| JP3028616B2 (ja) | 色画像処理装置 | |
| JPH05289902A (ja) | メモリ初期診断回路 | |
| JPH02302855A (ja) | メモリ制御装置 | |
| JPH0713874A (ja) | 多重化記憶システム | |
| JP3473746B2 (ja) | データ送受信回路 | |
| JPH0315214B2 (ja) |