JP3951681B2 - メモリ検査方法およびメモリ検査プログラム - Google Patents
メモリ検査方法およびメモリ検査プログラム Download PDFInfo
- Publication number
- JP3951681B2 JP3951681B2 JP2001360026A JP2001360026A JP3951681B2 JP 3951681 B2 JP3951681 B2 JP 3951681B2 JP 2001360026 A JP2001360026 A JP 2001360026A JP 2001360026 A JP2001360026 A JP 2001360026A JP 3951681 B2 JP3951681 B2 JP 3951681B2
- Authority
- JP
- Japan
- Prior art keywords
- block
- memory
- read
- address
- check
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
- Tests Of Electronic Circuits (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Description
【発明の属する技術分野】
本発明は、コンピュータのCPUに接続されたメモリの全領域の検査方法およびそのプログラムに関するものである。
【0002】
【従来の技術】
パソコン等に搭載されているCPUに外付け接続されるメモリは、起動時または少なくとも出荷前の検査工程の実施時において、メモリの全領域に対して、CPUから読み書きができることを検査する必要がある。そのため、従来では、簡易なプログラムを用いて、メモリの全領域に対して所定のデータを書き込み、次にそれを読み込んで、書き込みデータと読み込みデータとが一致するか否かをチェックすることで、メモリの異常を検出していた。
【0003】
この従来のメモリ検査方法を、図6、図7を用いて具体的に説明する。
【0004】
ここで、メモリ2は、図2に示すように、N本のデータラインと(N+M)本のアドレスラインで、CPU1に接続されている。
【0005】
このメモリ2の全領域に対して、連続したNビットデータを書き込み、次に読み込みチェックを行うが、Nビットで表現できる数値の値域は0〜2N−1であるため、すべてのデータエリアについて異なる数値を書き込むことはできない。
【0006】
そのため、図6で示すように、アドレスが連続する2N個のデータエリアを1ブロックBとして、ブロックアドレスが0〜2 M −1の全ブロックに対して、ブロックB内の全データエリアに、ブロックB間で同一の連続値(例えばブロックB内の相対アドレスと同値)をアドレス順に書き込み、次に、そのブロックB内のデータエリアを順次読み込み、書き込んだ値が正常に読み込めたかどうかをチェックする。
【0007】
この検査では、メモリ内部のデータ記憶構造に異常がある場合や、図2で示したアドレスライン0〜アドレスライン(N−1)の計N本のアドレスラインの断線やライン間の短絡の異常がある場合には、これを検出することができる。
【0008】
ところが、アドレスラインN〜アドレスライン(N+M−1)の計M本の上位アドレスラインの断線やライン間の短絡といった異常があった場合には、図3で示すデータアドレスの上位Mビットが誤って指定されるため、実際には指定していないブロックB内のデータが読み書きされることとなり、図6で示したメモリ2全領域のライト/リードチェックだけでは、上位M本のアドレスラインの異常を検出することはできない。
【0009】
そこで、図6のチェックの後、図7に示すように、全ブロックBに対して、各ブロックB内の同一の相対アドレスで示されるデータエリアに、ブロックBごとにユニークな数値(例えばブロックアドレス値)を書き込み、次に、読み込み、ブロックB間にまたがって発生する異常がないかを確認している。
【0010】
【発明が解決しようとする課題】
しかしながら、上位アドレスライン本数Mが大きくなるにつれ、すなわちメモリの容量が大きくなるにつれ、図7で示している上位アドレスラインの検査のために行うメモリ2の読み書き回数は、Mの増加に対して指数的に増大する。すなわち、Mが増加すると、上位アドレスラインの検査時間は指数的に増大するという問題があった。
【0011】
例えば、データが1バイト(8ビット)、アドレスが8ビットの場合、図6で示す、メモリ2の全領域のライト/リードチェックのみで済み、データが1バイト、アドレスが12ビットの場合には、M=12−8=4であるから、全領域のライト/リードチェックに加えて、16(24)回のメモリの書き込み、読み込みがそれぞれ発生し、アドレスが16ビットの場合には、256(28)回のメモリの書き込み、読み込みがそれぞれ発生する。
【0012】
また、M>Nの場合には、(M−N)本のアドレスラインの異常を検出することができないため、(M−N)本の上位アドレスに対して、さらに同様の検査をしなければならなかった。
【0013】
本発明は、このような問題を解決すべくなされたもので、アドレスラインの本数すなわちメモリ容量が増加しても、メモリの読み書き回数が指数的に増加することのない、新たなメモリ検査方法およびそのプログラムを提供することを目的とする。
【0014】
【課題を解決するための手段】
上記目的を達成するために、請求項1に記載のメモリ検査方法は、N本のデータラインと(N+M)本のアドレスラインを有するメモリを、ライト/リードチェック方式(アドレスが連続する2N個のデータエリアを1ブロックとして、ブロックアドレスが0〜2 M −1の全ブロックに対して、ブロック内の全データエリアに、ブロック間で同一の連続値をアドレス順に書き込み、次に、そのブロック内のデータエリアを順次読み込み、書き込んだ値が正常に読み込めたかどうかをチェックする方式)で、コンピュータのCPUに接続されるメモリの異常を検知するメモリ検査方法であって、次の特徴を有している。
【0015】
すなわち、全ブロックのメモリを検査する場合に、全ブロックについて、上記ライト/リードチェックを実施するステップと、所定の(M+1)個のブロック(ブロック0、ブロック20、ブロック21、・・・、ブロック2M−1)の内の1つの選択ブロックに対して、特定のブロック内相対アドレスで示されるデータエリアに、上記ライト/リードチェックですでに書き込まれた値と異なる所定の固有値を書き込むステップと、所定の(M+1)個のブロックについて、各ブロック内の特定の相対アドレスで示されるデータエリアを読み込み、選択ブロックのみに固有値が書き込まれているかどうかで上位M本のアドレスラインの異常チェックを行うステップと、を順次実行することを特徴とする。
【0016】
請求項2に記載の方法では、請求項1において上位M本のアドレスラインの異常を検出した場合、異常のあるアドレスラインを通知するステップをさらに実行する。
【0017】
請求項3に記載のメモリ検査プログラムは、N本のデータラインと(N+M)本のアドレスラインを有するメモリを、ライト/リードチェック方式(アドレスが連続する2N個のデータエリアを1ブロックとして、ブロックアドレスが0〜2 M−1 の全ブロックに対して、ブロック内の全データエリアに、ブロック間で同一の連続値をアドレス順に書き込み、次に、そのブロック内のデータエリアを順次読み込み、書き込んだ値が正常に読み込めたかどうかをチェックする方式)で、コンピュータのCPUに接続されるメモリの異常を検知する、メモリ検査プログラムであって、次の特徴を有している。
【0018】
すなわち、このプログラムは、▲1▼全ブロックのメモリを検査する場合に、全ブロックについて、ライト/リードチェックを実施する全ブロックチェック機能と、▲2▼所定の(M+1)個のブロック(ブロック0、ブロック20、ブロック21、・・・、ブロック2M−1)の内の1つの選択ブロックに対して、特定のブロック内相対アドレスで示されるデータエリアに、上記ライト/リードチェックですでに書き込まれた値と異なる所定の固有値を書き込む、上位アドレスラインチェック用固有値書き込み機能と、▲3▼所定の(M+1)個のブロックについて、各ブロック内の特定の相対アドレスで示されるデータエリアを読み込み、選択ブロックのみに固有値が書き込まれているかどうかで上位M本のアドレスラインの異常チェックを行う上位アドレスラインチェック機能とを備え、これらの機能を順次実行することを特徴とする。
【0019】
請求項4に記載のプログラムは、請求項3において上位M本のアドレスラインの異常を検出した場合、異常のあるアドレスラインを通知する異常通知機能をさらに実行することを特徴とする。
【0020】
【発明の実施の形態】
以下に、本発明の実施の形態を添付図面とともに説明する。
【0021】
図2で上述しているように、メモリ2は、N本のデータラインと(N+M)本のアドレスラインで、CPU1に接続されている。また、図3に示すように、メモリアドレスは、アドレスラインの本数に対応して上位Mビットと下位Nビットで構成される。すなわち、このようなアドレスラインで接続されている場合には、0〜2N+M−1のアドレスで表現される容量のメモリ2が実装できる。
【0022】
本発明のメモリ検査方法をステップごとに説明すると、まず、図6で示しているメモリ2全領域に対するライト/リードチェックを実行する。すなわち、ブロックB内の全データエリアに、ブロックB間で同一の連続値をアドレス順に書き込み、次に、そのブロックB内のデータエリアを順次読み込み、書き込んだ値が正常に読み込めたかどうかをチェックする。たとえば、8ビットデータであれば、ブロックB内相対アドレスと同値の0〜255を書き込み、正常に0〜255が読み込めたかどうかを検査する。
【0023】
ここでは、連続値としてブロックB内相対アドレス値を書き込んでいるが、これに限定されず、255〜0を書き込んでもよい。少なくとも、ブロックB内で相互にユニークな数値であればよい。
【0024】
このようなメモリ2全領域のライト/リードチェックを行うことにより、メモリ2内部のデータ記憶構造の異常や、図2で示したアドレスライン0〜アドレスライン(N−1)の計N本のアドレスラインの断線やライン間の短絡の異常を検出している。
【0025】
次に、上位M本のアドレスラインを検査するために、所定の1エリアへの書き込みステップと、所定の(M+1)エリアからの読み込みによる異常チェックステップとを実行する。
【0026】
図1は、上位M本のアドレスライン検査方法を説明する図である。
【0027】
図に示すように、所定の(M+1)個のブロックS2(ブロック0、ブロック20、ブロック21、・・・、ブロック2M−1)の内の1つの選択ブロックS1に対して、特定のブロック内相対アドレスYで示されるデータエリアに、ライト/リードチェックですでに書き込まれた値と異なる所定の固有値Zを書き込み、所定の(M+1)個のブロックS2について、各ブロックS2内の特定の相対アドレスYで示されるデータエリアを読み込み、選択ブロックS1のみに固有値Zが書き込まれているかどうかで上位M本のアドレスラインの異常チェックを行う。
【0028】
ここで、各ブロックS2内の特定の相対アドレスYで示されるデータエリアには、上述のライト/リードチェックにより相対アドレスYと同じ数値Yがすでに書き込まれているため、(M+1)個のブロックS2のうち選択ブロックS1以外のブロックの所定エリアには数値Yが記憶されている。したがって、選択ブロックS1以外のブロックから読み込まれたデータが数値Zと一致すれば、メモリ異常(上位アドレスライン異常)と判断できる。
【0029】
要するに本発明は、上位M本のアドレスラインで表わされる値域0〜2M−1に対応する2M個の全ブロックBについて検査するものではなく、(M+1)個のブロックS2についての検査を行うだけでよい。
【0030】
具体的に説明すると、データが8ビットでアドレスが12ビット(M=4)の場合には、ブロックアドレスが0、1、2、4、8(2進表記では0000、0001、0010、0100、1000)の計5ブロックのうちの1ブロックについて書き込み、5ブロックについて読み込めば、検査は終了する。同様に、アドレスが16ビット(M=8)の場合には、ブロックアドレスが0、1、2、4、8、16、32、64、128(2進表記では00000000、00000001、00000010、00000100、00001000、00010000、00100000、01000000、10000000)の計9ブロックについてのみ検査すればよい。
【0031】
このようなメモリ検査方法を用いれば、全ブロックについて検査する必要がないため、従来は少なくとも2M回のメモリ書き込みと2M回の読み込みが必要であったのに対し、1回のメモリ書き込みと(M+1)回の読み込みを実施するだけで十分なため、検査時間は大幅に減少する。特にMの値が大きくなればなるほど、効果は大きい。
【0032】
図4のステップ101〜113で示すフローチャートには、このメモリ検査方法における上位アドレスラインの検査プログラムの処理流れを示している。
【0033】
ここで、ステップ101、102では、上位アドレスラインチェック用固有値書き込み機能が実行され、ステップ103〜113で、上位アドレスラインチェック機能が実行される。
まず、次のように固有値を定義設定する。
N≦X≦N+M−1、0≦Y≦2 N −1、0≦Z≦2 N −1、Y≠Zとして、
書き込みアドレスB=2 X +Y、またはY と定義し、
書き込みアドレスBに、データZを書き込む(以上、101、102)。
Aの初期値を0に設定しておき(103)、
アドレス2 N+A +Yのデータを読み込み(104)、読み込みアドレス2 N+A +Y=書き込みアドレスBをチェックする(105)。
2 N+A +Y=Bの場合(105のY)、読み込んだデータ=Zをチェックし(106)、Zでなければ異常ありと判断して終了する一方(106のN、a))、ZであればAを+1する(106のY、107)。
2 N+A +Y≠Bの場合(105のN)、読み込んだデータ=Zをチェックし、Zであれば異常ありと判断して終了する一方(108のN、b))、ZでなけばAを+1する(107)。
こうして、異常を判別して終了するか、あるいはA=Mになるまで、104〜108を繰り返す(109)。
A=Mになると(109)、アドレスYのデータを読み込み(110)、読み込みアドレスY=書き込みアドレスBをチェックし(111)、
Y=Bの場合(111のY)、読み込んだデータ=Zをチェックし(112)、Zであれば異常なしと判断する一方(112のY)、Zでなければ再検査を実行する(112のN)。
Y≠Bの場合(111のN)、読み込んだデータ=Zをチェックし(113)、Zでなければ異常なしと判断する一方(113のN)、Zであれば異常と判断する(112のY、c))。
【0034】
図5(a)は、上述したメモリ検査方法を実現したプログラムを搭載したコンピュータの要部構成の一例を示したブロック図である。図5(b)は、CPU1、メモリ2、プログラムが格納されたROM3に、さらにLEDやCRTなどの表示部4を付加した構成となっている。
【0035】
図5(b)の構成では、上記メモリ検査方法を実行した際に異常が検出された場合、異常のあったアドレスラインを表示部4に表示し、異常があることをユーザに迅速に通知することを可能としている。
【0036】
すなわち、図4のフローチャートにおいて、a)で異常終了したときはアドレスラインXを、b)で異常終了したときはアドレスライン(N+A)を、c)で異常終了したときはアドレスラインXを、表示部4に表示する。
【0037】
【発明の効果】
以上の説明からも理解できるように、請求項1、3に記載のメモリ検査方法、プログラムは、上位M本のアドレスラインについては、1回のメモリ書き込みと(M+1)回の読み込みを実施するだけなので、Mが大きくなっても検査時間は指数的に増大することがない。
【0038】
請求項2、4に記載の本発明では、異常のあるアドレスラインを通知するようにしているので、ユーザは表示部等を監視して容易に異常のあるアドレスラインを認識することができる。
【図面の簡単な説明】
【図1】本発明のメモリ検査方法における、上位アドレスライン検査方法を説明する図である。
【図2】CPUとメモリの接続構成を示す図である。
【図3】メモリアドレスとアドレスラインの関係を示す図である。
【図4】本発明のメモリ検査方法における、上位アドレスラインの検査方法の処理流れを示すフローチャートである。
【図5】(a)、(b)は、本発明のメモリ検査方法を実現したプログラムを搭載したコンピュータの要部構成の代表的な2例を示したブロック図である
【図6】本発明のメモリ検査方法における、メモリ全領域のライト/リードチェックを説明する図である。
【図7】従来のメモリ検査方法における、上位アドレスライン検査方法を説明する図である。
【符号の説明】
2 メモリ
B ブロック
S1 選択(書き込み)ブロック
S2 読み込みブロック
4 表示部
Claims (4)
- N本のデータラインと(N+M)本のアドレスラインを有するメモリを、ライト/リードチェック方式(アドレスが連続する2N個のデータエリアを1ブロックとして、ブロックアドレスが0〜2 M −1の全ブロックに対して、ブロック内の全データエリアに、ブロック間で同一の連続値をアドレス順に書き込み、次に、そのブロック内のデータエリアを順次読み込み、書き込んだ値が正常に読み込めたかどうかをチェックする方式)で、コンピュータのCPUに接続されるメモリの異常を検知するメモリ検査方法であって、
上記全ブロックのメモリを検査する場合に、
上記全ブロックについて、上記ライト/リードチェックを実施するステップと、
所定の(M+1)個のブロック(ブロック0、ブロック20、ブロック21、・・・、ブロック2M−1)の内の1つの選択ブロックに対して、特定のブロック内相対アドレスで示されるデータエリアに、上記ライト/リードチェックですでに書き込まれた値と異なる所定の固有値を書き込むステップと、
上記所定の(M+1)個のブロックについて、各ブロック内の上記特定の相対アドレスで示されるデータエリアを読み込み、上記選択ブロックのみに上記固有値が書き込まれているかどうかで上位M本のアドレスラインの異常チェックを行うステップと、を順次実行する、メモリ検査方法。 - 請求項1において、
上位M本のアドレスラインの異常を検出した場合、異常のあるアドレスラインを通知するステップをさらに実行する、メモリ検査方法。 - N本のデータラインと(N+M)本のアドレスラインを有するメモリを、ライト/リードチェック方式(アドレスが連続する2N個のデータエリアを1ブロックとして、ブロックアドレスが0〜2 M −1の全ブロックに対して、ブロック内の全データエリアに、ブロック間で同一の連続値をアドレス順に書き込み、次に、そのブロック内のデータエリアを順次読み込み、書き込んだ値が正常に読み込めたかどうかをチェックする方式)で、コンピュータのCPUに接続されるメモリの異常を検知する、メモリ検査プログラムであって、
上記全ブロックのメモリを検査する場合に、
上記全ブロックについて、上記ライト/リードチェックを実施する全ブロックチェック機能と、
所定の(M+1)個のブロック(ブロック0、ブロック20、ブロック21、・・・、ブロック2M−1)の内の1つの選択ブロックに対して、特定のブロック内相対アドレスで示されるデータエリアに、上記ライト/リードチェックですでに書き込まれた値と異なる所定の固有値を書き込む、上位アドレスラインチェック用固有値書き込み機能と、
次に、上記所定の(M+1)個のブロックについて、各ブロック内の上記特定の相対アドレスで示されるデータエリアを読み込み、上記選択ブロックのみに上記固有値が書き込まれているかどうかで上位M本のアドレスラインの異常チェックを行う上位アドレスラインチェック機能と、を順次実行する、メモリ検査プログラム。 - 請求項3において、
上位M本のアドレスラインの異常を検出した場合、異常のあるアドレスラインを通知する異常通知機能をさらに実行する、メモリ検査プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001360026A JP3951681B2 (ja) | 2001-11-26 | 2001-11-26 | メモリ検査方法およびメモリ検査プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001360026A JP3951681B2 (ja) | 2001-11-26 | 2001-11-26 | メモリ検査方法およびメモリ検査プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003162899A JP2003162899A (ja) | 2003-06-06 |
JP3951681B2 true JP3951681B2 (ja) | 2007-08-01 |
Family
ID=19170919
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001360026A Expired - Fee Related JP3951681B2 (ja) | 2001-11-26 | 2001-11-26 | メモリ検査方法およびメモリ検査プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3951681B2 (ja) |
-
2001
- 2001-11-26 JP JP2001360026A patent/JP3951681B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2003162899A (ja) | 2003-06-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7971112B2 (en) | Memory diagnosis method | |
JP2772391B2 (ja) | 不良データアルゴリズム | |
US5357521A (en) | Address sensitive memory testing | |
JP5464128B2 (ja) | Ram故障診断装置、そのプログラム | |
US6745341B1 (en) | Information processing apparatus having fault detection for multiplex storage devices | |
US6192486B1 (en) | Memory defect steering circuit | |
JP3951681B2 (ja) | メモリ検査方法およびメモリ検査プログラム | |
US7484147B2 (en) | Semiconductor integrated circuit | |
US6411558B1 (en) | Semiconductor device for compensating a failure therein | |
JPH11242899A (ja) | 半導体記憶回路 | |
CN111352754B (zh) | 一种数据存储检错纠错方法及数据存储装置 | |
JP2007257628A (ja) | 記憶された情報データの読み取りのための誤り訂正と誤り検出の方法およびそのための記憶制御ユニット | |
JP2004334707A (ja) | メモリ検査装置およびメモリ検査方法 | |
JP2007148570A (ja) | 記憶装置の診断装置および診断方法 | |
EP0442616A2 (en) | Method for testing a computer memory location | |
JP2002208297A (ja) | Ram及びバスの検査方法、記憶媒体 | |
JPH0793225A (ja) | メモリチェック方式 | |
JPH04212800A (ja) | Ramのデータ線試験方法 | |
JPH0922387A (ja) | メモリ装置 | |
JPH01162300A (ja) | Romチェック回路試験方式 | |
JP2656600B2 (ja) | 半導体記憶装置の試験方法 | |
JPH02207355A (ja) | メモリ読出し方式 | |
JPS6131902B2 (ja) | ||
JP2008269115A (ja) | メモリチェック装置及びメモリチェック方法 | |
JPH1186592A (ja) | 半導体メモリの救済検査装置および方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040826 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20061219 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070216 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20070403 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070416 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100511 Year of fee payment: 3 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100511 Year of fee payment: 3 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100511 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110511 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120511 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120511 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130511 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130511 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |