JPH06187252A - メモリ診断方式 - Google Patents

メモリ診断方式

Info

Publication number
JPH06187252A
JPH06187252A JP4355069A JP35506992A JPH06187252A JP H06187252 A JPH06187252 A JP H06187252A JP 4355069 A JP4355069 A JP 4355069A JP 35506992 A JP35506992 A JP 35506992A JP H06187252 A JPH06187252 A JP H06187252A
Authority
JP
Japan
Prior art keywords
data
memory
area
divided
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
Application number
JP4355069A
Other languages
English (en)
Inventor
Kazuhiko Mikami
上 一 彦 三
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.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Priority to JP4355069A priority Critical patent/JPH06187252A/ja
Publication of JPH06187252A publication Critical patent/JPH06187252A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

(57)【要約】 (修正有) 【目的】 簡単な回路構成で高速に診断するメモリ診断
方式を提供すること。 【構成】 メモリの小領域AにCPUで診断用データを
書き込む(イ)。次に、記入した小領域Aのデータを常
にコピー元として、診断用データ未記入領域にDMA転
送して行うコピーを2N −1回行うことにより、診断対
象領域全体にコピーする(ロ〜ニ)。対象領域全体を2
分割し、各分割領域の対応する位置のデータのEX−O
Rをとり、その出力を予め定めたいずれか一方の領域内
のメモリ位置であって、その値がEX−ORの入力とさ
れなかったメモリ位置にDMA転送する(ホ)。EX−
ORの出力を書き込まれた方の領域を2分割し、各分割
領域の対応する位置のデータのORをとり、その出力を
いずれか一方の分割領域内のメモリ位置に転送すること
を、分割領域の大きさが小領域Bの大きさになるまで繰
り返す(へ〜ト)。小領域Bの値をCPUで読み出し、
全て0となっている場合のみ正常と診断する(チ)。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、メモリ内のメモリ素子
が故障していないかどうかを診断するメモリ診断方式に
関するものである。
【0002】
【従来の技術】メモリ内のメモリ素子が故障していて、
書き込んだデータが正しく記憶されないというようなこ
とがあれば、そのメモリを搭載している装置は、正常な
動作をしない。そこで、メモリを搭載している装置で
は、メモリ素子が故障していないかどうかを診断するこ
とが行われている。
【0003】図9は、従来のメモリ診断方式の1例を説
明する図である。図9において、1はCPU(中央演算
処理装置)、2はメモリである。このメモリ診断方式で
は、メモリ2の1つ1つのメモリ素子に対して、CPU
1が或るデータ(例えば「0」)をライトし、次にその
データをリードする。そして、リードして来たデータ
が、ライトしたデータと同じかどうか検査する。同じで
あれば、そのメモリ素子は正常であると診断し、もし違
っていれば、そのメモリ素子は故障していると診断す
る。
【0004】しかし、このメモリ診断方式では、CPU
1が、個々のメモリ素子に対して、メモリ診断用のプロ
グラムを動作させて診断(つまり、ソフトウエア的に診
断)しているので、大容量のメモリの診断をする場合に
は、診断完了までに長時間を要する。ディジタル複写機
等の画像処理装置では、いわゆるページメモリといわれ
る大容量のメモリを搭載しているものが多いが、メモリ
診断に長時間を要すると、その装置が、実際に動作を開
始できるようになるまでの待ち時間が、長くなる。
【0005】そこで、メモリ診断をもっと高速で行うた
めに、メモリ診断用の種々の回路構成(ハードウェア)
を設け、それらの回路によって診断するようにしたもの
がある。例えば、特開平2−193237号公報には、診断す
るメモリへのデータの書き込みはCPUが行うが、それ
を読み出してデータが正しく書き込まれているかどうか
を診断することは、診断用データを記憶させておくRA
M(ランダムアクセスメモリ),アドレス発生用のカウ
ンタ,タイミング発生回路,データ比較用のコンパレー
タ等のハードウェアを用いて行う技術が開示されてい
る。即ち、メモリからリードしたデータを、コンパレー
タにて診断用データと比較して診断する。
【0006】また、特開昭63− 66798号公報には、自己
診断制御回路,アドレスカウンタ,書込みデータ発生回
路,故障診断/故障信号発生回路等のハードウェアが設
けられ、これらにより、メモリへのテストデータの書き
込みおよび読み出しを、CPUの手を借りることなく自
動的に行う技術が開示されている。
【0007】
【発明が解決しようとする課題】しかしながら、前記し
たハードウェアを使った従来のメモリ診断技術では、多
くの種類の回路を設けなければならず、回路構成が複雑
になると共に、コスト高になるという問題点があった。
また、チェックパターンとしては、RAM等に予め書き
込まれたものしか使用できないという問題点があった。
本発明は、簡単な構成のハードウェアにより、高速でメ
モリ診断を行うことが出来るようにすると共に、任意の
チェックパターンを使用できるようにすることを課題と
するものである。
【0008】
【課題を解決するための手段】前記課題を解決するた
め、本発明のメモリ診断方式は、メモリの小領域におい
て、CPUで診断用データを書き込み,次いでCPUで
読み出して、メモリ診断を行う第1ステップと、診断用
データが記入済みとなった前記小領域のデータを常にコ
ピー元として、診断用データ未記入領域に2N −1回
(但し、N=正の整数)DMA転送することにより、診
断対象領域全体にコピーする第2ステップと、診断対象
領域全体を2分割し、各分割領域の対応する位置のデー
タのEX−ORをとり、その出力を該分割領域の内の予
め定めたいずれか一方の領域内のメモリ位置であって、
その値がEX−ORの入力とされなかったメモリ位置に
DMA転送する第3ステップと、EX−ORの出力の書
き込みがなされた方の領域を2分割し、各分割領域の対
応する位置のデータのORをとり、その出力を予め定め
たいずれか一方の分割領域内のメモリ位置にDMA転送
する第4ステップと、ORの出力の書き込みがなされた
方の領域を2分割し、各分割領域の対応する位置のデー
タのORをとり、その出力を予め定めたいずれか一方の
分割領域内のメモリ位置にDMA転送することを、分割
領域の大きさがCPUによるデータ読み出しに長時間を
要しない小領域となるまで繰り返す第5ステップと、第
5ステップで得られた小領域のデータをCPUで読み出
し、全て0となっていれば正常と診断し、そうでなけれ
ばメモリのどこかに故障ありと診断する第6ステップと
から成るものとした。
【0009】また、メモリ診断の精度をより一層高めた
い場合には、メモリ診断方式を、前記の第1ステップか
ら第5ステップと同じ第1ステップ〜第5ステップと、
前記の第1ステップと同じ第6ステップと、前記の第2
ステップと同じ第7ステップと、診断対象領域全体を2
分割し、各分割領域の対応する位置のデータのEX−N
ORをとり、その出力を該分割領域の内の予め定めたい
ずれか一方の領域内のメモリ位置にDMA転送する第8
ステップと、EX−NORの出力の書き込みがなされた
方の領域を2分割し、各分割領域の対応する位置のデー
タのANDをとり、その出力を予め定めたいずれか一方
の分割領域内のメモリ位置にDMA転送する第9ステッ
プと、ANDの出力の書き込みがなされた方の領域を2
分割し、各分割領域の対応する位置のデータのANDを
とり、その出力を予め定めたいずれか一方の分割領域内
のメモリ位置にDMA転送することを、分割領域の大き
さがCPUによるデータ読み出しに長時間を要しない小
領域となるまで繰り返す第10ステップと、第10ステ
ップで得られた小領域のデータをCPUで読み出し、全
て1となっていれば正常と診断し、そうでなければメモ
リのどこかに故障ありと診断する第11ステップとから
成るものとする。
【0010】
【作 用】診断対象のメモリ内に定めた小領域に、診
断用データを書き込みついで読み出す最初のステップ
と、最後に別の小領域からデータを読み出して全て0か
どうかをチェックするステップとは、CPUを用いての
ソフトウエア的動作により行われるから、その処理速度
は速くはない。しかし、これらのステップで処理するメ
モリの領域は、診断するメモリ全体の領域に比し極めて
小領域であるので、これらのステップで費やされる時間
は短い。
【0011】その他のステップでの、大部分の領域への
診断用データの書き込みは、CPUに作業負担をかける
ことのないDMA転送により高速で行う。従って、全体
としては高速でメモリ診断を行うことが可能となる。そ
して、そのために必要とされるハードウェアは、DMA
転送を行うためのDMAコントローラと、EX−ORや
OR等の論理演算を行うデータ合成部だけで済む。
【0012】使用するチェックパターンは、最初のステ
ップで小領域に書き込むデータによって決まるが、これ
はCPUによって任意に書き込めるので、任意のチェッ
クパターンとすることが出来る。
【0013】
【実施例】以下、本発明の実施例を図面に基づいて詳細
に説明する。図2は、本発明のメモリ診断方式を実行す
るために必要とされるブロック構成を示す図である。図
2において、1はCPU(中央演算処理装置)、2はメ
モリ、3はDMAC(DMAコントローラ。ダイレクト
・メモリ・アクセス・コントローラ)、4はデータバ
ス、5はデータ合成部である。
【0014】メモリ2は、診断対象のメモリであり、例
えばページメモリのような大容量のメモリである。デー
タ合成部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にラッチされる。
【0016】ラッチ6,7にラッチされているデータの
対応するビット同士が、EX−OR回路8でEX−OR
を取られると共に、OR回路9でORが取られる。デー
タセレクタ10は、セレクト端子Sに入力される選択信
号により、EX−ORを取ったデータ(EX−OR回路
8の出力)を採用するか、ORを取ったデータ(OR回
路9の出力)を採用するかを決める。採用されたデータ
は、データバス4を経て、メモリ2へDMA転送され
る。
【0017】図1は、本発明の第1の実施例のメモリ診
断方式の動作過程を説明する図である。本発明のメモリ
診断方式は、大別して次の5つのステップから成る。最
初に、各ステップの要約を掲げ、後で詳細に説明する。
【0018】(ステップの要約) 第1ステップ…図1(イ)。メモリの小領域A(例、6
4KB:キロバイト)において、CPUで診断用データ
を書き込み,次いで読み出して、メモリ診断を行う。 第2ステップ…図1(ロ)〜(ニ)。図1(イ)で診断
用データを記入した領域のデータを常にコピー元として
使い、診断用データ未記入領域に2N −1回(但し、N
=正の整数)DMA転送することにより、診断対象領域
全体に診断用データをコピーする。
【0019】第3ステップ…図1(ホ)。診断対象領域
全体を2分割し、各分割領域の対応する位置のデータの
EX−ORをとり、その出力を、それら2つの領域内の
予め定めたいずれか一方の領域内のメモリ位置であっ
て、その値がEX−ORの入力とされなかったメモリ位
置にDMA転送する。
【0020】第4ステップ…図1(ヘ)。EX−ORの
出力が書き込まれた領域を更に2分割し、各分割領域の
対応する位置の値のORをとり、その出力を予め定めた
いずれか一方の分割領域にDMA転送する。
【0021】第5ステップ…図1(ト)。ORの出力が
書き込まれた領域を更に2分割し、各分割領域の対応す
る位置の値のORをとり、その出力を予め定めたいずれ
か一方の分割領域にDMA転送することを、分割領域の
大きさが、その領域の値をCPU1でリードするのに長
時間を要しない大きさ(B)に減少するまで行う。この
大きさは、第1ステップの小領域と等しい大きさでなく
ともよい(例、256バイト)。
【0022】第6ステップ…図1(チ)。その小領域B
のデータが、全て0となっているかどうかを、CPU1
で読み出してチェックする。0でないデータがあれば、
メモリのどこかに故障ありと診断する。
【0023】以下、図1の(イ)〜(チ)を参照しなが
ら、各ステップについて詳細に説明する。 (第1ステップ…図1(イ)参照)図2のメモリ2の中
に或る小領域Aを定め(例えば、64KB))、これに
対して、まず、CPU1からメモリ診断用のデータ(チ
ェックパターン)を書き込む。小領域Aの大きさは、C
PU1によりチェックパターンを書き込んだり読み出し
たりする時間が、このメモリ全体を使って行う作業の準
備処理として、受忍できる程度の時間を目安として定め
る。
【0024】比較基準となるチェックパターンを予めR
AMに固定的に用意しておいて、診断する際、それと比
較して診断するわけではないので、任意のチェックパタ
ーンを書き込むことが出来る。従って、きめ細かなチェ
ックパターンを用いたり、粗いチェックパターンを用い
たりすることが出来る。これは、本発明の特徴の1つで
ある。
【0025】なお、チェックパターンとして、従来から
用いられているデータ列、例えば55H(Hは16進法
であることを表す。以下同じ),AAH,FFH,00
Hとか、00H,01H,02H,…,FEH,FFH
とか、01H,02H,04H,08H,10H,20
H,40H,80H等のデータ列を使用することも、勿
論できる。
【0026】次に、この小領域Aへ書き込んだデータを
CPU1へ読み出し、チェックパターンが正しく書き込
まれているかどうかを検査する。第1ステップでの、こ
の小領域への書き込みおよび読み出しは、従来と同様に
CPU1でソフトウエア的に行う。この段階でメモリに
故障があることが発見されれば、もはや以後のステップ
を実行する必要はない。メモリ2は、使いものにならな
いことが、この段階で確認されたからである。
【0027】(第2ステップ…図1(ロ)〜(ニ)参
照)前記の小領域Aについては診断が済み、故障がない
ことがわかった場合には、その小領域Aのデータを、同
じ大きさの診断用データ未記入の領域にDMA転送す
る。即ち、コピーをする。これを、2N −1回(但し、
Nは正の整数)繰り返して、診断対象領域全体にデータ
をコピーする。2N −1回とする理由は、次に述べる。
【0028】(第3ステップ以降の概要説明)第3ステ
ップ以降は、コピーが忠実になされたか否かを調べるス
テップである。故障メモリがあると、忠実には行われな
い。まず、診断対象領域全体を2分割し、両者の対応す
るメモリ位置の値のEX−ORを取り、その出力をいず
れか一方の分割領域に書き込んで行く(図1(ホ))。
【0029】コピー回数を2N −1回とした理由は、診
断領域全体を2分割した際、各分割領域の対応する位置
に、コピーされた値が位置するようにするためである。
対応する位置の値が一致していれば出力は0、一致して
いなければ出力は1となる筈である。診断対象領域全体
に小領域Aのデータをぴったりコピーするには、小領域
Aの大きさを、診断対象領域全体の2N −1分の1の大
きさに選定しておく。
【0030】以上のようにすると、故障メモリがあれば
どこかに1が書き込まれている筈であり、故障メモリが
なければ、全ての領域は0で埋め尽くされている筈であ
る。しかし、この段階でメモリ全体の値をいちいちCP
U1で読み出して、0となっているかどうかを調べたの
では、時間がかかり過ぎる。そこで、もし1の値(この
1が、故障検出情報である)が存在していれば、それは
保存して伝えられ、しかもCPU1で読み出す領域は小
さくて済むようにするため、領域を2分割してORをと
ることを何回か繰り返す。そして、読み出すのに長時間
かからない領域になったところで、CPU1で読み出
し、全てが0となっているかどうか調べる。
【0031】(第3ステップ…図1(ホ),図4(イ)
参照)図1(ホ)に示すように、このステップでは、小
領域Aとそれをコピーした領域を合わせた全体を2分割
し、分割領域の対応する位置の値を入力としてEX−O
Rを取る。両者がちゃんと一致していれば、EX−OR
の出力は0となる。図4(イ)は、図3からこのEX−
ORを取る動作過程に関与する部分を抜き出し、データ
の流れおよび真理値表を示した図である。
【0032】2分割した一方の領域ホー1と他方の領域
ホー2との対応する位置(例、A1,B1 )のデータ
を、DMA転送によりデータ合成部5に送る。そして、
両者のEX−ORをとり、その出力を、前記2つの領域
の内の予め定めた一方の領域(図4では、ホ−2の領
域)の前記対応する位置ではない位置(例、A1 ,B1
が領域の先頭位置なら、領域の末尾位置BN )にDMA
転送する。
【0033】対応する位置ではない位置にDMA転送す
る理由は、故障により値が常に0となってしまうメモリ
ビット(以下、「常0メモリ」と言う)があっても、そ
れによってメモリ診断の精度が悪くされるのを防ぐため
である。今、仮にA1 は正常であるが、B1 は常0メモ
リであったとする。A1 の値が1であると、その値がコ
ピーされるB1 も1になっていなければならない。とこ
ろが、B1 は常0メモリであるため1とはコピーされ
ず、0である。
【0034】A1 ,B1 の値(1,0)をEX−ORに
入力すると、その出力は1となる。これを、入力を取っ
た位置であるB1 に書き込むと、ここは常0メモリであ
るから、1を書き込もうとしても0となってしまう。1
が書き込まれ、後のステップでこの1を発見することに
より故障ありとの診断が出来るのに、1が書き込めない
のでは、メモリの故障は発見出来ない。
【0035】そこで、入力を取った位置ではない別の位
置に書き込む。EX−ORの一方の入力位置であるB1
と、出力を書き込む別の位置BN が、共に常0メモリで
あることは、全くないとは言えないが、その確率は極め
て小である。従って、正常に1と書き込まれることが殆
どであり、メモリ診断の精度は、B1 に書き込んだ場合
に比べて良くなる。なお、入力位置と出力位置との関係
は、例えば、入力を取り出す位置を、A1 ,B1 から矢
印Cの方向に進める時、出力を書き込む位置を、BN
ら矢印Cの方向に進めて行くようにする。
【0036】(第4ステップ…図1(ヘ)参照)図1
(ホ)の過程でEX−ORの出力が書き込まれた領域を
更に2分割し、各領域の対応する位置の値のORを取
り、その出力を分割領域のいずれか一方に書き込む。
【0037】(第5ステップ…図1(ト)参照)次に、
そのORの出力が書き込まれた領域を2分割して、同様
の処理を繰り返す。ORの出力が書き込まれた領域の方
を2分割する点が重要である。故障メモリがあった場合
に書き込まれていた1は、ORの出力を書き込む側の領
域で保存されて行くからである。
【0038】この繰り返しは、分割領域の大きさが、後
にその領域の値をCPU1で読み出すのに長時間を要し
ない大きさ(B)に減少するまで行う。この大きさは、
第1ステップの小領域と等しい大きさでなくともよい。
【0039】図4(ロ)は、図3からこのORを取る動
作過程に関与する部分を抜き出し、データの流れを示し
た図である。A1 ,B1 の位置のデータのORを取り、
その出力を、入力位置A1 ,B1 のいずれかに書き込
む。この場合は、図4(イ)で行ったように、入力をと
ったところの対応位置ではない位置に書き込む必要はな
い。
【0040】なぜなら、図1(ホ)の過程で、EX−O
Rの出力を書き込む位置は、入力を取り出した位置とは
異なる位置にされているから、仮にA1 の値がメモリ故
障を示す1であっても、その原因となっている故障メモ
リはA1 ではないからである。EX−ORの入力をとっ
た位置も故障し、出力を書き込む位置A1 も故障してい
る確率は極めて少ない。それゆえ、書き込みが正常に行
われる確率は、極めて高い。
【0041】(第6ステップ…図1(チ)参照)OR出
力を書き込んだ分割領域の大きさが、その領域の値をC
PU1で読み出すのに長時間を要しない程度に小さくな
った(例、第1ステップの小領域Aと同程度の大きさに
なった)段階で、その小領域Bのデータを、CPU1で
1つ1つ読み出し、0であるかどうかチェックする。そ
して、全てが0であれば、診断の対象としたメモリ全体
(例、32Mバイト)は正常であると診断し、1つでも
1があれば、メモリ全体のどこかに故障ありと診断す
る。
【0042】(診断の理由)そのような基準で診断して
よい理由は、次の通りである。もしメモリが全て正常で
あれば、図1(ロ)から(ニ)までの2N −1回のコピ
ーを終えて、メモリ全体を均等に2分割した状態(図1
(ホ))では、各分割領域の対応する位置のデータは、
同じになっている筈である。もし、メモリのどこかに故
障があれば、小領域Aのデータをコピーする際、その故
障部分では正しくコピーされない。その結果、分割領域
の対応する位置で、データが異なる箇所が出て来る。
【0043】従って、図1(ホ)の各分割領域の対応す
る位置の値のEX−ORを取っていくと、その出力が書
き込まれた領域は、メモリが正常なら全て0になり、故
障メモリがあると1が混じる。その1の値を、図1
(ヘ)〜(ト)で領域を2分割してORを取ることによ
って小領域B内に保存して伝え、CPU1で読み取って
診断する。
【0044】以上のことから、全て0となっているか否
かにより、故障メモリがあるか否かの診断をすることが
出来る。しかし、本発明では、メモリのどこかに故障箇
所があるということは分かるが、それがどの位置かとい
うことまでは分からない。なぜなら、コピーは何回も繰
り返し行われるが、このメモリ診断方式では、何回目の
コピーのどの部分が正常にコピーされなかったかなどと
いうことまでは、いちいち検出していないからである。
【0045】図8は、データ合成部5の構成の他の例を
示す図である。符号は図3のものに対応し、11はルッ
クアップテーブルとして用いるRAM(ランダムアクセ
スメモリ)である。従って、例えばEX−OR用のルッ
クアップテーブルとして使用したい場合には、ラッチ6
とラッチ7とにラッチされたデータをアドレスと見立て
てRAM11にアクセスすると、その番地には、2つの
データのEX−ORを取った値が存在するよう、予めC
PUにより書き込んでおく。その後、OR用のルックア
ップテーブルとして使用したいということになると、今
度は、ORの値が存在するようCPUにより書き換え
る。
【0046】なお、RAMを2つ用意して、一方にはE
X−OR用の値を書き込み、他方にはOR用の値を書き
込んでおき、RAMを切り換えて使用するようにしても
よい。
【0047】複数のチェックパターンについて診断した
い場合には、1つのチェックパターン毎に前記ステップ
1〜5を行えばよい。また、小領域Aの大きさ等から考
慮した場合、図1の動作過程1回で、メモリ2全体の診
断を済ますことが出来ない場合には、メモリ2を適宜分
割して(例えば、メモリ2全体の容量が48Mバイトで
ある場合、32Mバイトと16Mバイトの領域に分割し
て)、それぞれの領域に対して本発明を適用すればよ
い。
【0048】図2から分かるように、本発明のメモリ診
断方式を実行するため必要とされるハードウェアは、C
PUの他、CPUに代わってアドレスを発生する機能を
持つと共にDMA転送を制御するDMACと、2つのデ
ータのEX−ORおよびORをとるデータ合成部だけで
ある。
【0049】DMACに要求されるチャンネル数は、最
大でもEX−ORをとったりORをとったりする場合の
3チャンネルである(例えば図4で、領域ホ−1からデ
ータ合成部5のEX−ORへ転送するためのチャンネ
ル,領域ホ−2からデータ合成部5のEX−ORへ転送
するためのチャンネル,データ合成部5のEX−ORの
出力を領域ホ−1へ転送するためのチャンネルの合計3
つ)。従って、安価で市販されている4チャンネルのD
MACで間に合う。
【0050】それゆえ、構成は簡単であり、コストも安
くて済む。なお、ページメモリを搭載した機器(例え
ば、ディジタル複写機等)では、ページメモリへアドレ
ッシングする手段として、DMACは必ず具えているか
ら、データ合成部を追加するだけで、本発明のメモリ診
断方式を実行することが可能となる。
【0051】もし、ページメモリを搭載したディジタル
複写機が、2つの画像を重ね合わせたりするといったよ
うな、メモリ間合成を実現するための合成回路を具えて
いるものであれば、それは前記のデータ合成部として利
用することが出来るから、新規な構成は何ら追加するこ
となく、本発明のメモリ診断方式を実行することが出来
る。
【0052】(第2の実施例)診断の対象としているメ
モリ内に、故障により値が常に1となってしまうメモリ
ビット(以下、「常1メモリ」という)があった場合、
それは、第1の実施例で確実に故障検出ができる。なぜ
なら、図1(ヘ)〜(ト)の過程で1は保存され、図1
(チ)の過程で1の値が存在していないかを調べる際に
発見されるからである。
【0053】しかし、診断の対象としているメモリ内に
常0メモリが存在していた場合、第1の実施例では、確
率的には少ないけれども発見出来ない場合があった。即
ち、図4(イ)のようにEX−ORを取る時、EX−O
Rの出力を書き込む位置(BN )のメモリが常0メモリ
であった場合、EX−ORの入力位置(A1 ,B1 )が
正常であるか否かを確かめることが出来ない。それらが
故障していて、EX−ORの出力が1であったとして
も、その1を書き込む位置(BN )が常0メモリであ
り、0となってしまうからである。
【0054】常0メモリも確実に発見できるようにした
のが、第2の実施例である。第2の実施例のブロック構
成も、図2に示される第1の実施例と同様である。ただ
し、データ合成部5の構成が異なる。第2の実施例にお
けるデータ合成部5の構成の1例を、図7に示す。
【0055】図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ビットとされて
いる。
【0056】第2の実施例は、第1の実施例の過程を前
半の過程とし、後半の過程として図6に示した過程を行
うものである。従って、第2の実施例の前半の過程の説
明は省略する。追加されたEX−NOR回路12の出力
やAND回路13の出力が使用される過程が、どういう
過程であるかは、図6の説明の中で説明する。
【0057】図6は、本発明の第2の実施例の動作過程
後半を説明する図である。図6(イ)〜(ニ)までの過
程は、図1(イ)〜(ニ)までの過程と同じである。図
6(ホ)の過程は、図1(ホ)の過程に類似している。
異なっている点は、EX−ORでなくEX−NORを取
る点と、出力を書き込む位置が入力をとった位置であっ
てもよいという点である。ここの過程で、図7のEX−
NOR回路12の出力が選択されて使われる。
【0058】図5(イ)は、第2の実施例でEX−NO
Rを取る動作過程でのデータの流れを示す図である。E
X−NORの出力を書き込む位置は、入力を取って来た
メモリ位置(A1 ,B1 )であってもよいし、他の位置
でもよい。図5(イ)では、入力を取って来た位置に書
き込む場合を示している。EX−NORの真理値表も示
しているが、それによると2つの入力が一致していると
出力は1となるから、メモリが正常であれば、1が次々
と書き込まれる。もし、出力を書き込む位置が常0メモ
リであったとすると、1を書き込もうとしても0のまま
である。
【0059】次の図6(ヘ)〜(ト)までの過程は、図
1(ヘ)〜(ト)の過程に類似している。異なっている
点は、ORでなくANDを取る点である。AND演算
は、0の値を保存するという作用がある。ここの過程
で、図7のAND回路13の出力が選択されて使われ
る。図5(ロ)に、ANDを取る動作過程でのデータの
流れを示す。入力を取って来るメモリ位置および出力を
書き込む位置は、図4(ロ)と同様である。
【0060】図6(チ)の過程は、図1(チ)の過程と
同じである。CPU1によってメモリの値を読み出す。
値が全て1であれば、メモリは正常であると判断し、1
つでも0があれば故障ありと判断する。
【0061】もし、診断対象としているメモリ内に常0
メモリがあり、動作過程前半(第1の実施例と同じ過
程)を終えた段階で発見されなかったとしても、動作過
程後半(図6)で1を書き込もうとしても書き込めず、
0のままとなって残る。この0は、AND演算によって
最後の図6(チ)の過程まで保存されて行くから、故障
の存在は発見される。
【0062】第2の実施例においても、第1の実施例と
同様、データ合成部5を図8に示すようなルックアップ
テーブルとしてもよいし、複数のチェックパターンにつ
いて診断することも出来る。
【0063】
【発明の効果】以上述べた如く、本発明のメモリ診断方
式によれば、特に必要とされるハードウェアは、DMA
転送を行うためのDMAコントローラと、EX−ORお
よびORを取るデータ合成回路、またはEX−OR,O
R,EX−NORおよびANDを取るデータ合成回路だ
けで済む。そのため、複雑な回路構成のハードウェアを
用いてメモリ診断を行っていた前記従来技術に比し、回
路構成が極めて簡単となる。
【0064】チェックパターンの書き込みの大部分は、
DMA転送で行うので、CPUに負担をかけることな
く、高速で行える。また、任意のチェックパターンを用
いることが出来る。
【図面の簡単な説明】
【図1】 本発明の第1の実施例の動作過程を説明する
【図2】 本発明のメモリ診断方式を実行するために必
要とされるブロック構成を示す図
【図3】 第1の実施例におけるデータ合成部の構成の
1例を示す図
【図4】 EX−ORを取る動作過程およびORを取る
動作過程でのデータの流れを示す図
【図5】 第2の実施例でEX−NORを取る動作過程
およびANDを取る動作過程でのデータの流れを示す図
【図6】 本発明の第2の実施例の動作過程後半を説明
する図
【図7】 第2の実施例におけるデータ合成部の構成の
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回路

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 メモリの小領域において、CPUで診断
    用データを書き込み,次いでCPUで読み出して、メモ
    リ診断を行う第1ステップと、診断用データが記入済み
    となった前記小領域のデータを常にコピー元として、診
    断用データ未記入領域に2N −1回(但し、N=正の整
    数)DMA転送することにより、診断対象領域全体にコ
    ピーする第2ステップと、診断対象領域全体を2分割
    し、各分割領域の対応する位置のデータのEX−ORを
    とり、その出力を該分割領域の内の予め定めたいずれか
    一方の領域内のメモリ位置であって、その値がEX−O
    Rの入力とされなかったメモリ位置にDMA転送する第
    3ステップと、EX−ORの出力の書き込みがなされた
    方の領域を2分割し、各分割領域の対応する位置のデー
    タのORをとり、その出力を予め定めたいずれか一方の
    分割領域内のメモリ位置にDMA転送する第4ステップ
    と、ORの出力の書き込みがなされた方の領域を2分割
    し、各分割領域の対応する位置のデータのORをとり、
    その出力を予め定めたいずれか一方の分割領域内のメモ
    リ位置にDMA転送することを、分割領域の大きさがC
    PUによるデータ読み出しに長時間を要しない小領域と
    なるまで繰り返す第5ステップと、第5ステップで得ら
    れた小領域のデータをCPUで読み出し、全て0となっ
    ていれば正常と診断し、そうでなければメモリのどこか
    に故障ありと診断する第6ステップとから成ることを特
    徴とするメモリ診断方式。
  2. 【請求項2】 請求項1記載の第1ステップから第5ス
    テップと同じ第1ステップ〜第5ステップと、請求項1
    記載の第1ステップと同じ第6ステップと、請求項1記
    載の第2ステップと同じ第7ステップと、診断対象領域
    全体を2分割し、各分割領域の対応する位置のデータの
    EX−NORをとり、その出力を該分割領域の内の予め
    定めたいずれか一方の領域内のメモリ位置にDMA転送
    する第8ステップと、EX−NORの出力の書き込みが
    なされた方の領域を2分割し、各分割領域の対応する位
    置のデータのANDをとり、その出力を予め定めたいず
    れか一方の分割領域内のメモリ位置にDMA転送する第
    9ステップと、ANDの出力の書き込みがなされた方の
    領域を2分割し、各分割領域の対応する位置のデータの
    ANDをとり、その出力を予め定めたいずれか一方の分
    割領域内のメモリ位置にDMA転送することを、分割領
    域の大きさがCPUによるデータ読み出しに長時間を要
    しない小領域となるまで繰り返す第10ステップと、第
    10ステップで得られた小領域のデータをCPUで読み
    出し、全て1となっていれば正常と診断し、そうでなけ
    ればメモリのどこかに故障ありと診断する第11ステッ
    プとから成ることを特徴とするメモリ診断方式。
JP4355069A 1992-12-17 1992-12-17 メモリ診断方式 Pending JPH06187252A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4355069A JPH06187252A (ja) 1992-12-17 1992-12-17 メモリ診断方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4355069A JPH06187252A (ja) 1992-12-17 1992-12-17 メモリ診断方式

Publications (1)

Publication Number Publication Date
JPH06187252A true JPH06187252A (ja) 1994-07-08

Family

ID=18441756

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4355069A Pending JPH06187252A (ja) 1992-12-17 1992-12-17 メモリ診断方式

Country Status (1)

Country Link
JP (1) JPH06187252A (ja)

Similar Documents

Publication Publication Date Title
JPS595936B2 (ja) 多重モ−ド記憶装置
KR100323236B1 (ko) Ecc데이터를 내부적으로 생성할 수 있는 원칩마이크로컴퓨터
US7522662B2 (en) Electronic device including image forming apparatus
JP3570388B2 (ja) メモリ診断装置及び診断方法
JP3158679B2 (ja) メモリ診断方式
JPH06187251A (ja) メモリ診断方式
JPH0877143A (ja) ベクトルデータ処理装置
JP3473746B2 (ja) データ送受信回路
JPH045213B2 (ja)
JPH05334099A (ja) 状態設定レジスタの書込回路
JPH0713874A (ja) 多重化記憶システム
JPH02302855A (ja) メモリ制御装置
JP3028616B2 (ja) 色画像処理装置
JPH0315214B2 (ja)
JPH0474254A (ja) マイクロプロセッサ診断方式
JP3217815B2 (ja) アドレス変換方式
JPH1063569A (ja) 主メモリデータ書込み装置
JPH0516451A (ja) プリンタ
JPH05204775A (ja) ローカルメモリ診断装置
JPH0341538A (ja) 主記憶装置
JPH05289902A (ja) メモリ初期診断回路
JPH10149318A (ja) メモリ監視方式
JPH05165710A (ja) 増設メモリバンク自動設定方式
JPH1165942A (ja) 制御記憶装置障害回復方式
JPH0895870A (ja) 高速メモリ診断装置