JPH0773115A - コンピュータシステムのメモリテスト方法 - Google Patents
コンピュータシステムのメモリテスト方法Info
- Publication number
- JPH0773115A JPH0773115A JP3014724A JP1472491A JPH0773115A JP H0773115 A JPH0773115 A JP H0773115A JP 3014724 A JP3014724 A JP 3014724A JP 1472491 A JP1472491 A JP 1472491A JP H0773115 A JPH0773115 A JP H0773115A
- Authority
- JP
- Japan
- Prior art keywords
- memory
- address
- error correction
- correction code
- memory location
- 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
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/10—Test algorithms, e.g. memory scan [MScan] algorithms; Test patterns, e.g. checkerboard patterns
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/02—Detection or location of defective auxiliary circuits, e.g. defective refresh counters
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1012—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
- G06F11/1016—Error in accessing a memory location, i.e. addressing error
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
(57)【要約】
【目的】 メモリエラーがデータ、ECC(エラー修正
コード)、アドレスのいずれに生じたかを決定する。 【構成】 メモリエラーが発生したときアドレス感応メ
モリテストパターンを用いてその位置を再テストする。
コード)、アドレスのいずれに生じたかを決定する。 【構成】 メモリエラーが発生したときアドレス感応メ
モリテストパターンを用いてその位置を再テストする。
Description
【0001】
【産業上の利用分野】本発明は一般にディジタルコンピ
ュータシステムに関し、詳細にはそのようなコンピュー
タシステム内のメモリ位置(ロケーション)をテストす
る技術に関する。
ュータシステムに関し、詳細にはそのようなコンピュー
タシステム内のメモリ位置(ロケーション)をテストす
る技術に関する。
【0002】
【従来の技術及び発明が解決しようとする課題】ディジ
タルコンピュータシステムにおいてはそれに含まれるメ
モリのテストは重要である。一般に、メモリテストはコ
ンピュータシステムの使用の前に行われる。しかしなが
ら、必要であればシステムの動作中にメモリをテストす
ることは可能である。
タルコンピュータシステムにおいてはそれに含まれるメ
モリのテストは重要である。一般に、メモリテストはコ
ンピュータシステムの使用の前に行われる。しかしなが
ら、必要であればシステムの動作中にメモリをテストす
ることは可能である。
【0003】メモリテストはコンピュータシステムのメ
モリが大型になるにつれてますます重要となっており、
その理由はメモリサイズの増大と共にメモリエラーの機
会が増加するためである。多くの現在のシステムは従来
の小型システムに含まれる簡単なパリティビットの代り
にエラー修正コード(ECC)を含んでいる。ECCの
使用はシステムの実行中のソフトエラーの修正を可能に
し、多ビットエラーの検出における信頼性を高める。
モリが大型になるにつれてますます重要となっており、
その理由はメモリサイズの増大と共にメモリエラーの機
会が増加するためである。多くの現在のシステムは従来
の小型システムに含まれる簡単なパリティビットの代り
にエラー修正コード(ECC)を含んでいる。ECCの
使用はシステムの実行中のソフトエラーの修正を可能に
し、多ビットエラーの検出における信頼性を高める。
【0004】システムの信頼性はデータのパリティ並び
にアドレスのパリティをチェックすることにより向上出
来る。アドレスパリティチェックはアドレスに関連する
不良の検出と分離を可能にする。
にアドレスのパリティをチェックすることにより向上出
来る。アドレスパリティチェックはアドレスに関連する
不良の検出と分離を可能にする。
【0005】メモリエラーの位置を決定しそしてそのよ
うなエラーがデータかECCデータかアドレス関連かを
識別する方法が望まれる。
うなエラーがデータかECCデータかアドレス関連かを
識別する方法が望まれる。
【0006】それ故本発明の目的はメモリエラーがデー
タ内、ECC内またはアドレス内のエラーによるもので
あることを決定する方法を提供することである。
タ内、ECC内またはアドレス内のエラーによるもので
あることを決定する方法を提供することである。
【0007】本発明の他の目的は最少数の段階を用いる
簡単なチェックで行われるそのような方法を提供するこ
とである。
簡単なチェックで行われるそのような方法を提供するこ
とである。
【0008】
【課題を解決するための手段及び作用】本発明によれ
ば、コンピュータシステムのテスト方法はアドレス感応
テストデータを用いる。メモリエラーが生じたときある
いはメモリの初期テストがエラーを示したとき、その位
置が選ばれたアドレス感応メモリテストパターンを再テ
ストされる。適正なアドレス感応パターンの選択により
データビット、ECCデータビットおよびアドレスパリ
ティビットのすべてをテストすることが出来る。
ば、コンピュータシステムのテスト方法はアドレス感応
テストデータを用いる。メモリエラーが生じたときある
いはメモリの初期テストがエラーを示したとき、その位
置が選ばれたアドレス感応メモリテストパターンを再テ
ストされる。適正なアドレス感応パターンの選択により
データビット、ECCデータビットおよびアドレスパリ
ティビットのすべてをテストすることが出来る。
【0009】
【実施例】図1においてコンピュータは10で示されて
いる。コンピュータシステム10は中央プロセサ12と
メインメモリ14を含む。キャッシュサブシステム16
が中央プロセサ12とメインメモリ14の間に配置され
る。データおよびアドレスラインが中央プロセサ12を
キャッシュ16に接続し、キャッシュ16をメインメモ
リ14に接続する。特殊な場合にはデータライン18と
アドレスライン20を用いてキャッシュ16をバイパス
しそして中央プロセサ12がメインメモリ14を直接に
アクセスしうるようにすることが出来る。マス記憶装置
および入力/出力装置を含むこのシステム10の他の部
分は従来と同様であるので第1図には示していない。
いる。コンピュータシステム10は中央プロセサ12と
メインメモリ14を含む。キャッシュサブシステム16
が中央プロセサ12とメインメモリ14の間に配置され
る。データおよびアドレスラインが中央プロセサ12を
キャッシュ16に接続し、キャッシュ16をメインメモ
リ14に接続する。特殊な場合にはデータライン18と
アドレスライン20を用いてキャッシュ16をバイパス
しそして中央プロセサ12がメインメモリ14を直接に
アクセスしうるようにすることが出来る。マス記憶装置
および入力/出力装置を含むこのシステム10の他の部
分は従来と同様であるので第1図には示していない。
【0010】図2はメインメモリ14の高レベル組織を
示す。メインメモリ14はデータメモリ部分22とエラ
ー修正コード(ECC)データ部分24を含む。データ
メモリの内容は一般にユーザアプリケーションによりア
クセス可能であるがECCデータメモリ24の内容はシ
ステムのエラーチェック用ハードウェア部分にのみアク
セス可能であってユーザアプリケーションにはアクセス
出来ない。特殊な場合にはテストを行うための直接のア
クセスが実行アプリケーションによりECCデータメモ
リ24に対して行いうる。
示す。メインメモリ14はデータメモリ部分22とエラ
ー修正コード(ECC)データ部分24を含む。データ
メモリの内容は一般にユーザアプリケーションによりア
クセス可能であるがECCデータメモリ24の内容はシ
ステムのエラーチェック用ハードウェア部分にのみアク
セス可能であってユーザアプリケーションにはアクセス
出来ない。特殊な場合にはテストを行うための直接のア
クセスが実行アプリケーションによりECCデータメモ
リ24に対して行いうる。
【0011】周知のようにキャッシュ16とメインメモ
リ14の間のデータ転送の速度はそれらの間で情報を移
動させるためのブロックデータ転送を用いることにより
大幅に増加出来る。キャッシュメモリ16は一般にある
数の「ライン」に組織化され、メインメモリ14とキャ
ッシュ16の間の最小データ転送サイズが1ラインに等
しくされている。例えば、各キャッシュラインは32,
64または128バイトのデータを有しうる。32バイ
トのキャッシュラインを用いると32個のバイトが、キ
ャッシュミスの発生毎にメインメモリ14からブロック
転送を用いて取り出される。
リ14の間のデータ転送の速度はそれらの間で情報を移
動させるためのブロックデータ転送を用いることにより
大幅に増加出来る。キャッシュメモリ16は一般にある
数の「ライン」に組織化され、メインメモリ14とキャ
ッシュ16の間の最小データ転送サイズが1ラインに等
しくされている。例えば、各キャッシュラインは32,
64または128バイトのデータを有しうる。32バイ
トのキャッシュラインを用いると32個のバイトが、キ
ャッシュミスの発生毎にメインメモリ14からブロック
転送を用いて取り出される。
【0012】好適な実施例においてはデータは「カッド
ワード(quad words)」と呼ばれるグループ並びにワード
とバイトにまとめられる。各ワードは4個の8ビットバ
イトを含み、各カッドワードは4ワードを含む。各キャ
ッシュラインのサイズはカッドワードサイズの整数倍で
ある。このようにキャッシュラインのサイズは例えば3
2または64バイトとしうる。これらサイズのキャッシ
ュラインは夫々2または4カッドワードを有するキャッ
シュラインに対応する。
ワード(quad words)」と呼ばれるグループ並びにワード
とバイトにまとめられる。各ワードは4個の8ビットバ
イトを含み、各カッドワードは4ワードを含む。各キャ
ッシュラインのサイズはカッドワードサイズの整数倍で
ある。このようにキャッシュラインのサイズは例えば3
2または64バイトとしうる。これらサイズのキャッシ
ュラインは夫々2または4カッドワードを有するキャッ
シュラインに対応する。
【0013】データは常にメモリに対して複数のカッド
ワードで転送されるから、ECC情報は情報のカッドワ
ードサイズのユニットとして維持しうる。好適な実施例
では1ECCチェックバイトは4データバイトに対応
し、それ故4チェックバイトが各カッドワードに対応す
る。各チェックバイトはカッドワード内の各ワードから
の1バイトからとり出される。かくして第1チェックバ
イトがカッドワードの各ワードからの第1バイトの組合
せのためのECC情報を与える。第2チェックバイトは
カッドワードの各ワード内の第2バイトを用いて発生さ
れ、以下同様である。
ワードで転送されるから、ECC情報は情報のカッドワ
ードサイズのユニットとして維持しうる。好適な実施例
では1ECCチェックバイトは4データバイトに対応
し、それ故4チェックバイトが各カッドワードに対応す
る。各チェックバイトはカッドワード内の各ワードから
の1バイトからとり出される。かくして第1チェックバ
イトがカッドワードの各ワードからの第1バイトの組合
せのためのECC情報を与える。第2チェックバイトは
カッドワードの各ワード内の第2バイトを用いて発生さ
れ、以下同様である。
【0014】周知のように、すべての1ビットエラーを
修正しそして多ビットエラーを検出することの出来るE
CCは32ビット情報についての7ビットECCを用い
て発生しうる。かくして各チェックバイトは1個のスペ
アビットを有し、これをデータビット値に等しくセット
しうるしあるいは他の目的に使用しうる。
修正しそして多ビットエラーを検出することの出来るE
CCは32ビット情報についての7ビットECCを用い
て発生しうる。かくして各チェックバイトは1個のスペ
アビットを有し、これをデータビット値に等しくセット
しうるしあるいは他の目的に使用しうる。
【0015】図3は本発明により使用するテストデータ
のテーブル30である。テーブル30は4カッドワード
テストデータと、偶パリティ(コラム32)と奇パリテ
ィ(コラム34)を用いてそこから発生しうる、対応す
るチェックバイトを示す。エラー修正ハードウェアは与
えられたデータ値についてどちらのコードを発生するか
を決定する。データおよびチェックバイトを含む一つの
完全なテストパターンは特定のシステムに組込まれた任
意の選択されたECCアルゴリズムについてとり出すこ
とが出来る。これらチェックバイト用のビット設定はア
ドレスビットとデータビットを組合せるハードウェアに
もとづき発生される。
のテーブル30である。テーブル30は4カッドワード
テストデータと、偶パリティ(コラム32)と奇パリテ
ィ(コラム34)を用いてそこから発生しうる、対応す
るチェックバイトを示す。エラー修正ハードウェアは与
えられたデータ値についてどちらのコードを発生するか
を決定する。データおよびチェックバイトを含む一つの
完全なテストパターンは特定のシステムに組込まれた任
意の選択されたECCアルゴリズムについてとり出すこ
とが出来る。これらチェックバイト用のビット設定はア
ドレスビットとデータビットを組合せるハードウェアに
もとづき発生される。
【0016】上記のように各チェックバイトはカッドワ
ード内の各ワードからの1バイトデータを用いて形成さ
れる。従って例えば、偶パリティチェックバイトE1は
データビットFFFFCOOOから形成される。テーブ
ル30内の各ワードは4個の同一のバイトを有するか
ら、このチェックバイトは発生可能な4個の位置の夫々
について形成される。
ード内の各ワードからの1バイトデータを用いて形成さ
れる。従って例えば、偶パリティチェックバイトE1は
データビットFFFFCOOOから形成される。テーブ
ル30内の各ワードは4個の同一のバイトを有するか
ら、このチェックバイトは発生可能な4個の位置の夫々
について形成される。
【0017】テーブル30は1つのカッドワードメモリ
位置のビットのすべておよび対応する4ECCバイトの
ビットのすべてを処理するための好適なテストデータ群
を示す。エントリ36の各バイトは16進値“AA”を
含む、エントリ38の各バイトは16進値“55”を含
む。エントリ40と42は図示の16進値を含む。1つ
のカッドワード位置への4個のテスト値のすべての書込
みにより、各データビットと各ECCビットが少くとも
1回0および1にセットされる。
位置のビットのすべておよび対応する4ECCバイトの
ビットのすべてを処理するための好適なテストデータ群
を示す。エントリ36の各バイトは16進値“AA”を
含む、エントリ38の各バイトは16進値“55”を含
む。エントリ40と42は図示の16進値を含む。1つ
のカッドワード位置への4個のテスト値のすべての書込
みにより、各データビットと各ECCビットが少くとも
1回0および1にセットされる。
【0018】本発明によれば、1つのメモリ位置がエラ
ーを有するとき、選ばれたテストパターンが、そのエラ
ーの原因のタイプを識別するためにそのようなメモリ位
置に書込まれる。好適にはテーブル30の4つのテスト
データパターン36,38,40,42が図4に示すよ
うに用いられる対応するECCデータと共に用いられ
る。これらテストデータパターンは通常のテストを受け
ているメモリ位置に書込まれるが、ECCデータは対応
するECCデータメモリ24に書込まれる前にアドレス
感応形で変更される。好適にはカッドワードアドレス
が、各チェックバイトの書込みに奇パリティを用いるの
か偶パリティを用いるかを決定するために用いられる。
ーを有するとき、選ばれたテストパターンが、そのエラ
ーの原因のタイプを識別するためにそのようなメモリ位
置に書込まれる。好適にはテーブル30の4つのテスト
データパターン36,38,40,42が図4に示すよ
うに用いられる対応するECCデータと共に用いられ
る。これらテストデータパターンは通常のテストを受け
ているメモリ位置に書込まれるが、ECCデータは対応
するECCデータメモリ24に書込まれる前にアドレス
感応形で変更される。好適にはカッドワードアドレス
が、各チェックバイトの書込みに奇パリティを用いるの
か偶パリティを用いるかを決定するために用いられる。
【0019】図4はアドレス感応ECC計算動作を示す
4つの例を示す。1カッドワードについての4個のチェ
ックバイトをチェックワードと呼ぶ。図4はテストデー
タエントリ36について2つの例44,46をそしてテ
ストデータ38について2つの例48,50を有してい
る。各テストデータエントリ44−50はコラム52に
示す一つの特定のアドレスのテストに用いられている。
アドレス52に対応する4個のパリティビットがコラム
54に示されており、発生されたチェックワードがコラ
ム56に示されている。
4つの例を示す。1カッドワードについての4個のチェ
ックバイトをチェックワードと呼ぶ。図4はテストデー
タエントリ36について2つの例44,46をそしてテ
ストデータ38について2つの例48,50を有してい
る。各テストデータエントリ44−50はコラム52に
示す一つの特定のアドレスのテストに用いられている。
アドレス52に対応する4個のパリティビットがコラム
54に示されており、発生されたチェックワードがコラ
ム56に示されている。
【0020】第1の例において、テストデータ値44が
アドレス“014857FO”に書込まれる。パリティ
はこのアドレスの各ビットについて別々に計算されてビ
ットパターン“1010”を得る。これは、このアドレ
スの第1および第3バイトの夫々が奇数個の1を有し、
第2および第4バイトの夫々が偶数の1を有することを
示す。このチェックワードに書込まれるべきECCデー
タはこのアドレスの対応する位置のバイトが偶パリティ
を有するか奇パリティを有するかによりテーブル30の
コラム32かコラム34からとり出される。このよう
に、アドレス“014857F0”に書込まれたテスト
データについてはチェックワード56の第1および第3
バイトがテーブル30の奇パリティコラム34から選ば
れ、第2および第4バイトがテーブル30の偶パリティ
コラム32から選ばれる。結果としてのチェックロード
は“A79FA79F”となる。
アドレス“014857FO”に書込まれる。パリティ
はこのアドレスの各ビットについて別々に計算されてビ
ットパターン“1010”を得る。これは、このアドレ
スの第1および第3バイトの夫々が奇数個の1を有し、
第2および第4バイトの夫々が偶数の1を有することを
示す。このチェックワードに書込まれるべきECCデー
タはこのアドレスの対応する位置のバイトが偶パリティ
を有するか奇パリティを有するかによりテーブル30の
コラム32かコラム34からとり出される。このよう
に、アドレス“014857F0”に書込まれたテスト
データについてはチェックワード56の第1および第3
バイトがテーブル30の奇パリティコラム34から選ば
れ、第2および第4バイトがテーブル30の偶パリティ
コラム32から選ばれる。結果としてのチェックロード
は“A79FA79F”となる。
【0021】第2の例ではこのテストデータ値46がア
ドレス位置“13250350”に書込まれる。アドレ
スパリティビットパターン“1100”はこのアドレス
のはじめの2つのバイトが奇パリティを有し、次の2つ
が偶パリティを有することを示す。それ故、チェックロ
ード56のはじめの2つのバイトはテーブル30の奇パ
リティコラム34から選ばれ、後の2つのバイトはテー
ブル30の偶パリティコラム32から選ばれる。
ドレス位置“13250350”に書込まれる。アドレ
スパリティビットパターン“1100”はこのアドレス
のはじめの2つのバイトが奇パリティを有し、次の2つ
が偶パリティを有することを示す。それ故、チェックロ
ード56のはじめの2つのバイトはテーブル30の奇パ
リティコラム34から選ばれ、後の2つのバイトはテー
ブル30の偶パリティコラム32から選ばれる。
【0022】図4の後の2つの例ではテストデータ値4
8,50が前の2例で用いた2つのアドレスに書込まれ
る。同じアドレスパリティビットパターンがコラム54
に発生され、対応するチェックワードがコラム56に示
されている。
8,50が前の2例で用いた2つのアドレスに書込まれ
る。同じアドレスパリティビットパターンがコラム54
に発生され、対応するチェックワードがコラム56に示
されている。
【0023】図3のテストデータと対応するアドレス感
応チェックワードの使用が図5,6のフローチャートに
示されている。図5においては全テストプロセスが示さ
れている。まず、ステップ60のテストのために1つの
メモリ位置が選ばれる。この位置は1カッドワードでよ
いが好適には連続するカッドワードのブロックであると
よい。1以上のキャッシュラインに対応するこれらカッ
ドワードはテストに便利なメモリブロックをつくる。次
に、テストパターンがこの選択されたメモリ位置にステ
ップ62で書込まれる。選択されたテストデータパター
ン36,38,40または42がテストされるべき各カ
ッドワード位置に書込まれる。データは次にステップ6
4で各メモリ位置から読出される。この次のパターンが
ステップ66で用いられて4個のテストパータン36,
38,40,42の夫々がテストされるべき領域内の各
カッドワードに書込まれる。かくしてステップ62,6
4,66からなるループが4回くり返される。
応チェックワードの使用が図5,6のフローチャートに
示されている。図5においては全テストプロセスが示さ
れている。まず、ステップ60のテストのために1つの
メモリ位置が選ばれる。この位置は1カッドワードでよ
いが好適には連続するカッドワードのブロックであると
よい。1以上のキャッシュラインに対応するこれらカッ
ドワードはテストに便利なメモリブロックをつくる。次
に、テストパターンがこの選択されたメモリ位置にステ
ップ62で書込まれる。選択されたテストデータパター
ン36,38,40または42がテストされるべき各カ
ッドワード位置に書込まれる。データは次にステップ6
4で各メモリ位置から読出される。この次のパターンが
ステップ66で用いられて4個のテストパータン36,
38,40,42の夫々がテストされるべき領域内の各
カッドワードに書込まれる。かくしてステップ62,6
4,66からなるループが4回くり返される。
【0024】データの書込みと読出しはキャッシュメモ
リ16を用いて行われる。データはキャッシュメモリ1
6に書込まれ、そして次にメインメモリ14に書込まれ
る。キャッシュ16はそのとき満杯とされ、それ故その
時点で書込まれた位置を読取る試みによりキャッシュミ
スとメインメモリ14からの取出しを生じさせる。この
データがメインメモリ14からキャッシュメモリ16に
読出されるときには通常のECCチェックが行われる。
データエラーがあれば中断を生じる。4つのテストパタ
ーンのすべてがすべてのメモリ位置から完全に読取られ
てこのステップでテストされるメモリのすべてがステッ
プ64において良好なことを示すとすればステップ70
においてテストが完全であるかどうかのチェックが行わ
れる。完全でなければステップ60にもどり他のメモリ
ブロックのテストを行う。もし完全であればこのテスト
プロセスは修了する。
リ16を用いて行われる。データはキャッシュメモリ1
6に書込まれ、そして次にメインメモリ14に書込まれ
る。キャッシュ16はそのとき満杯とされ、それ故その
時点で書込まれた位置を読取る試みによりキャッシュミ
スとメインメモリ14からの取出しを生じさせる。この
データがメインメモリ14からキャッシュメモリ16に
読出されるときには通常のECCチェックが行われる。
データエラーがあれば中断を生じる。4つのテストパタ
ーンのすべてがすべてのメモリ位置から完全に読取られ
てこのステップでテストされるメモリのすべてがステッ
プ64において良好なことを示すとすればステップ70
においてテストが完全であるかどうかのチェックが行わ
れる。完全でなければステップ60にもどり他のメモリ
ブロックのテストを行う。もし完全であればこのテスト
プロセスは修了する。
【0025】1個以上のメモリ位置がステップ64にお
いて完全に読出されなかった場合には不良メモリ位置を
ステップ72でテストしそしてステップ74でエラーの
性質をリポートする必要がある。ステップ74のテスト
は好適にはキャッシュ16をバイパスしそしてメインメ
モリ14に直接に書込みそしてそれから直接に読出す間
に行われる。これにより、図4で述べた奇および偶チェ
ックバイトの選択を用いてチェックワードが書込み可能
となる。
いて完全に読出されなかった場合には不良メモリ位置を
ステップ72でテストしそしてステップ74でエラーの
性質をリポートする必要がある。ステップ74のテスト
は好適にはキャッシュ16をバイパスしそしてメインメ
モリ14に直接に書込みそしてそれから直接に読出す間
に行われる。これにより、図4で述べた奇および偶チェ
ックバイトの選択を用いてチェックワードが書込み可能
となる。
【0026】図6において、図5のテスト結果としてエ
ラーを示すメモリ位置のテスト用の好適な方法が示され
ている。第1ステップ80はどのテストデータを使用す
るかの決定である。特定のメモリ位置について1個また
は2個のテストパターンがエラーで発生したときにはこ
れらテストパターンを用いてその位置をテストする必要
がある。ステップ82は図4で述べたようにアドレスパ
リティを発生しそしてテーブル30から適正なチェック
バイトを読出すことである。テーブル30のコラム32
と34に示す値はメモリテスを行っていアプリケーショ
ン内にテーブルとして記憶されそしてその時々に再計算
の必要性をなくすとよい。
ラーを示すメモリ位置のテスト用の好適な方法が示され
ている。第1ステップ80はどのテストデータを使用す
るかの決定である。特定のメモリ位置について1個また
は2個のテストパターンがエラーで発生したときにはこ
れらテストパターンを用いてその位置をテストする必要
がある。ステップ82は図4で述べたようにアドレスパ
リティを発生しそしてテーブル30から適正なチェック
バイトを読出すことである。テーブル30のコラム32
と34に示す値はメモリテスを行っていアプリケーショ
ン内にテーブルとして記憶されそしてその時々に再計算
の必要性をなくすとよい。
【0027】データおよびチェックバイトが次にステッ
プ86でメモリに書込まれる。これらデータおよびチェ
ックバイトは、図4について述べたアドレス感応パリテ
ィ法を用いてチェックワードを書込みうるようにするた
めにキャッシュ16をバイパスしてメインメモリ14に
直接書込まれる。このバイパスはキャッシュ16の通常
のECC発生機能をバイパスする。これらデータおよび
チェックバイトはステップ88でメモリから読出されて
今書込まれた値と比較される。エラーのタイプと位置は
ステップ90において読出されたこれら値から決定され
る。
プ86でメモリに書込まれる。これらデータおよびチェ
ックバイトは、図4について述べたアドレス感応パリテ
ィ法を用いてチェックワードを書込みうるようにするた
めにキャッシュ16をバイパスしてメインメモリ14に
直接書込まれる。このバイパスはキャッシュ16の通常
のECC発生機能をバイパスする。これらデータおよび
チェックバイトはステップ88でメモリから読出されて
今書込まれた値と比較される。エラーのタイプと位置は
ステップ90において読出されたこれら値から決定され
る。
【0028】読出されたチェックバイトが今書込まれた
ものとは異なる場合にはあるタイプのアドレスづけエラ
ーが生じたことになる。データの読出しが正しくなかっ
た場合にはメモリのデータ部分にはエラーが生じたこと
になる。データバイトとチェックバイトの両方がステッ
プ88で正しく読出された場合にはキャッシュ16内の
どこか、おそらくECC情報を発生し検出するためのハ
ードウェアにエラーが生じたことを示す。
ものとは異なる場合にはあるタイプのアドレスづけエラ
ーが生じたことになる。データの読出しが正しくなかっ
た場合にはメモリのデータ部分にはエラーが生じたこと
になる。データバイトとチェックバイトの両方がステッ
プ88で正しく読出された場合にはキャッシュ16内の
どこか、おそらくECC情報を発生し検出するためのハ
ードウェアにエラーが生じたことを示す。
【0029】あるタイプのコンピュータシステムのメモ
リに生じるメモリエラーの位置とタイプを決定するため
に使用出来る簡単な技術をここで述べた。一つのエラー
があるメモリ位置に示される場合にはその位置を再テス
トしエラーの原因を識別することが出来る。簡単なソフ
トウェアルーチンがこのテストを行いそしてキャッシュ
16をバイパスするコマンドのロードとストアを用いて
このエラーの原因を識別する。このパターンテストは適
正なECC情報テーブルにより、あるいはテストの実行
のたびにそのような情報を計算することにより達成出来
る。チェックワードに入れられた情報を変えるためのア
ドレスパリティの使用によりアドレスエラーを識別出来
る。
リに生じるメモリエラーの位置とタイプを決定するため
に使用出来る簡単な技術をここで述べた。一つのエラー
があるメモリ位置に示される場合にはその位置を再テス
トしエラーの原因を識別することが出来る。簡単なソフ
トウェアルーチンがこのテストを行いそしてキャッシュ
16をバイパスするコマンドのロードとストアを用いて
このエラーの原因を識別する。このパターンテストは適
正なECC情報テーブルにより、あるいはテストの実行
のたびにそのような情報を計算することにより達成出来
る。チェックワードに入れられた情報を変えるためのア
ドレスパリティの使用によりアドレスエラーを識別出来
る。
【0030】テーブル30のテストデータはそれに限ら
れるものではなく、データおよび対応するECCデータ
内のすべてのビットをテストする任意のデータセットを
用いることが出来る。メモリ位置のテストに用いられる
ステップは特定の設計要求に合うように変更出来る。
れるものではなく、データおよび対応するECCデータ
内のすべてのビットをテストする任意のデータセットを
用いることが出来る。メモリ位置のテストに用いられる
ステップは特定の設計要求に合うように変更出来る。
【図1】コンピュータシステムの一部の高レベルブロッ
ク図。
ク図。
【図2】データとエラー修正コードデータとの間の関係
を示すブロック図。
を示すブロック図。
【図3】本発明によるテストデータ群を示すテーブル。
【図4】図3のテストデータの内のいくつかに適用され
た本発明の例を示すテーブル。
た本発明の例を示すテーブル。
【図5】本発明によるシステムメモリのテストを示すフ
ローチャート。
ローチャート。
【図6】発生したエラーのタイプを決定するための選ば
れたメモリ位置のテストを示すフローチャート。
れたメモリ位置のテストを示すフローチャート。
10 コンピュータシステム 12 中央プロセサ 14 メインメモリ 16 キャッシュメモリ 22 データメモリ部分 24 ECCデータ部分 30 テストデータテーブル
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ポール、ジュリアス、ロイ アメリカ合衆国テキサス州、ラウンド、ロ ック、ディア、ラン、902
Claims (10)
- 【請求項1】下記段階を含む、コンピュータシステムに
おけるメモリ位置(ロケーション)のテスト方法:メモ
リ位置に選択されたテストデータ値を書込む段階;この
選択されたテストデータ値についてのアドレス依存エラ
ー修正コードを決定する段階;このアドレス依存エラー
修正コードを上記メモリ位置に対応する位置に書込む段
階;上記メモリ位置の内容およびそれに対応するエラー
修正コードを読取る段階;上記メモリ位置から読取られ
た内容と上記選択されたテストデータ値を比較すると共
に上記アドレス依存エラー修正コードを上記メモリ位置
に対応するエラー修正コードに対し比較する段階;上記
比較段階の結果からメモリエラーを識別する段階。 - 【請求項2】前記決定段階は下記段階を含むごとくなっ
た請求項1の方法:前記メモリ位置についてのアドレス
の複数の部分のパリティを決定する段階;上記複数のア
ドレス部分に対応するエラー修正をコードの奇および偶
パリティ部分を発生する段階。 - 【請求項3】前記アドレスは4バイトであり、このアド
レス内の夫々のバイトのパリティは別々に計算され、前
記メモリ位置は16バイトのデータを有し、このメモリ
位置用の前記エラー修正コードは4バイトであり、この
エラー修正コードの夫々のバイトが上記アドレスの対応
するバイトのパリティと同一パリティを用いて発生され
る請求項2の方法。 - 【請求項4】前記発生段階はルックアップテーブルから
夫々のエラー修正コード部分を読取る段階を含む、請求
項2の方法。 - 【請求項5】前記発生段階は前記アドレス部分の夫々に
適用される予定のアルゴリズムを用いて夫々のエラー修
正コード部分を計算する段階を含む、請求項2の方法。 - 【請求項6】下記段階を含む、コンピュータシステムメ
モリのテスト方法:選ばれたメモリ位置にテストデータ
値を書込む段階;これら選択されたメモリ位置の内容を
読出す段階;上記書込値とは異なる読出し値を有する夫
々のメモリ位置あるいはエラーが検出されたメモリ位置
についてそのようなメモリ位置のアドレス感知テストを
行う段階。 - 【請求項7】前記行う段階は下記段階を含む、請求項6
の方法:前記メモリ位置に選択されたテストデータ値を
書込む段階;この選ばれたテストデータ値についてアド
レス依存エラー修正コードを決定する段階;このメモリ
位置に対応する位置にこのアドレス依存エラー修正コー
ドを書込む段階;このメモリ位置の内容およびそれに対
応するエラー修正コードを読取る段階;この選ばれたテ
ストデータ値とこのメモリ位置から読出された内容を比
較しそして上記アドレス依存エラー修正コードをこのメ
モリ位置に対応するエラー修正コードに比較する段階;
上記比較段階の結果からメモリエラーの原因を識別する
段階。 - 【請求項8】前記決定段階は下記段階を含む請求項7の
方法:前記メモリ位置についてアドレスの複数の部分の
パリティを決定する段階;これら複数のアドレス部分に
対応するエラー修正コードの奇または偶パリティ部分を
発生する段階。 - 【請求項9】前記発生する段階は索引テーブルから夫々
のエラー修正コード部分を読出す段階を含む、請求項8
の方法。 - 【請求項10】前記発生する段階は前記アドレス部分の
夫々に適用される予定のアルゴリズムを用いて夫々のエ
ラー修正コード部分を計算する段階を含む、請求項8の
方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US47977690A | 1990-02-14 | 1990-02-14 | |
US479776 | 1990-02-14 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH0773115A true JPH0773115A (ja) | 1995-03-17 |
Family
ID=23905382
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP3014724A Pending JPH0773115A (ja) | 1990-02-14 | 1991-01-14 | コンピュータシステムのメモリテスト方法 |
Country Status (2)
Country | Link |
---|---|
EP (1) | EP0442616A3 (ja) |
JP (1) | JPH0773115A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006146920A (ja) * | 2004-11-17 | 2006-06-08 | Sun Microsyst Inc | メモリエラーを分類するための方法および装置 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11423202B2 (en) * | 2020-08-31 | 2022-08-23 | Siemens Industry Software Inc. | Suspect resolution for scan chain defect diagnosis |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5193637A (ja) * | 1975-02-14 | 1976-08-17 | ||
JPS52127036A (en) * | 1976-04-16 | 1977-10-25 | Mitsubishi Electric Corp | Diagnostic system |
JPS5936398A (ja) * | 1982-08-24 | 1984-02-28 | Nec Corp | 記憶装置 |
JPS6476244A (en) * | 1987-09-18 | 1989-03-22 | Mitsubishi Electric Corp | Main storing control device |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
IL67664A (en) * | 1982-01-19 | 1987-01-30 | Tandem Computers Inc | Computer memory system with data,address and operation error detection |
US4564944A (en) * | 1983-12-30 | 1986-01-14 | International Business Machines Corporation | Error correcting scheme |
US4692893A (en) * | 1984-12-24 | 1987-09-08 | International Business Machines Corp. | Buffer system using parity checking of address counter bit for detection of read/write failures |
-
1991
- 1991-01-14 JP JP3014724A patent/JPH0773115A/ja active Pending
- 1991-01-18 EP EP19910300419 patent/EP0442616A3/en not_active Withdrawn
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5193637A (ja) * | 1975-02-14 | 1976-08-17 | ||
JPS52127036A (en) * | 1976-04-16 | 1977-10-25 | Mitsubishi Electric Corp | Diagnostic system |
JPS5936398A (ja) * | 1982-08-24 | 1984-02-28 | Nec Corp | 記憶装置 |
JPS6476244A (en) * | 1987-09-18 | 1989-03-22 | Mitsubishi Electric Corp | Main storing control device |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006146920A (ja) * | 2004-11-17 | 2006-06-08 | Sun Microsyst Inc | メモリエラーを分類するための方法および装置 |
Also Published As
Publication number | Publication date |
---|---|
EP0442616A2 (en) | 1991-08-21 |
EP0442616A3 (en) | 1992-06-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6754858B2 (en) | SDRAM address error detection method and apparatus | |
US8145961B2 (en) | Fast ECC memory testing by software including ECC check byte | |
US6009548A (en) | Error correcting code retrofit method and apparatus for multiple memory configurations | |
JP4071940B2 (ja) | メモリ設計のための共有式誤り訂正 | |
EP0166217B1 (en) | Error logging memory system for avoiding miscorrection of triple errors | |
KR100331139B1 (ko) | 에러 위치지정 코드를 사용하여 멀티레벨 셀 메모리를 정정하는방법 및 장치 | |
US5835704A (en) | Method of testing system memory | |
EP0989492A2 (en) | Technique for correcting single-bit errors in caches with sub-block parity bits | |
US5357521A (en) | Address sensitive memory testing | |
US20040003336A1 (en) | Error detection/correction code which detects and corrects memory module/transmitter circuit failure | |
JP3741318B2 (ja) | 誤り検出および訂正方法および装置 | |
JPH05210595A (ja) | メモリシステム | |
JP2772391B2 (ja) | 不良データアルゴリズム | |
CA1291269C (en) | Efficient address test for large memories | |
JPH0895856A (ja) | キャッシュ・メモリ付きコンピュータ装置 | |
JPS604494B2 (ja) | キヤツシユ記憶システム | |
US7293221B1 (en) | Methods and systems for detecting memory address transfer errors in an address bus | |
US6226763B1 (en) | Method and apparatus for performing cache accesses | |
JPH0548502B2 (ja) | ||
US6681299B1 (en) | Cache-tag control method in information processing apparatus having cache, with error checking mechanism in cache tag, and information processing apparatus using this control method | |
US5822513A (en) | Method and apparatus for detecting stale write data | |
JP2002525747A (ja) | メモリ部品の故障およびシングル、ダブル、トリプル・ビット・エラーを検出するための方法 | |
JPH06236326A (ja) | ランダムアクセスメモリにデータを記憶するために非原子レベルパリティ保護を実行する方法および装置 | |
US5357529A (en) | Error detecting and correcting apparatus and method with transparent test mode | |
JPH0773115A (ja) | コンピュータシステムのメモリテスト方法 |