(57)【特許請求の範囲】
【請求項１】
アドレスバスライン及びデータ記憶部を有するＲＡＭ等のメモリの故障を検出する方法であって、該アドレスバスラインの故障および該データ記憶部におけるメモリビットの故障の少なくとも一方をメモリ故障として検出するメモリ故障検出方法において、
データパターンＡ及びＢなる互いに異なる２種類の故障検出用のデータパターンを設定する第１のステップと、
故障検出対象のアドレスバスラインを介して、“０”アドレスおよび複数のアクティブビットを含むアドレスに対し、前記データパターンＡを順次に書き込み、続いて１つのアクティブビットを含むアドレスに対し、前記データパターンＢを順次に書き込む第２のステップと、
前記第２のステップの終了後に、前記アドレスバスラインを介して、前記データパターンＡ及びＢが書き込まれた全てのアドレスのデータを順次に読み出し、該読み出したデータを読み出しデータと称するとき、該読み出しデータの妥当性を所定の故障判定ロジックにより判定し、前記アドレスバスラインの故障および前記メモリビットの故障のうちの少なくとも一方を該妥当性に基づき検出する第３のステップと
を有し、
前記故障判定ロジックは、アドレス２ｎ（ｎ＝０，１，２，３，……）以外のアドレスをアドレスＥ２ｎとするとき、該アドレスＥ２ｎから読み出した前記読み出しデータのうちで前記データパターンＢを含むものがあるとき、該データパターンＢを含む該読み出しデータに対応する該アドレスＥ２ｎをフェイルアドレス［Ｅ２ｎ］として抽出し、
前記ｎ−１を第１の故障ビットとし、Log２（［Ｅ２ｎ］−２ｎ−１）を第２の故障ビットとする
ことを特徴とするメモリ故障検出方法。
【請求項２】
アドレスバスライン及びデータ記憶部を有するＲＡＭ等のメモリの故障を検出する方法であって、該アドレスバスラインの故障および該データ記憶部におけるメモリビットの故障の少なくとも一方をメモリ故障として検出するメモリ故障検出方法において、
データパターンＡ及びＢなる互いに異なる２種類の故障検出用のデータパターンを設定する第１のステップと、
故障検出対象のアドレスバスラインを介して、“０”アドレスおよび複数のアクティブビットを含むアドレスに対し、前記データパターンＡを順次に書き込み、続いて１つのアクティブビットを含むアドレスに対し、前記データパターンＢを順次に書き込む第２のステップと、
前記第２のステップの終了後に、前記アドレスバスラインを介して、前記データパターンＡ及びＢが書き込まれた全てのアドレスのデータを順次に読み出し、該読み出したデータを読み出しデータと称するとき、該読み出しデータの妥当性を所定の故障判定ロジックにより判定し、前記アドレスバスラインの故障および前記メモリビットの故障のうちの少なくとも一方を該妥当性に基づき検出する第３のステップと
を有し、
前記故障判定ロジックは、アドレス２ｎ（ｎ＝０，１，２，３，……）以外のアドレスをアドレスＥ２ｎとするとき、該アドレスＥ２ｎから読み出した前記読み出しデータのうちで前記データパターンＢを含むものがあるとき、該データパターンＢを含む該読み出しデータに対応する該アドレスＥ２ｎを抽出し、
前記ｎ−１を第１の故障ビットとし、
前記アドレスＥ２ｎより２ｎ−１を減じて得られる値をフェイルアドレスとするとき、該フェイルアドレスが２の何乗になるかをカウントしたときの最終カウント値を第２の故障ビットとする
ことを特徴とするメモリ故障検出方法。
【請求項３】
アドレスバスライン及びデータ記憶部を有するＲＡＭ等のメモリの故障を検出する方法であって、該アドレスバスラインの故障および該データ記憶部におけるメモリビットの故障の少なくとも一方をメモリ故障として検出するメモリ故障検出方法において、
データパターンＡ及びＢなる互いに異なる２種類の故障検出用のデータパターンを設定する第１のステップと、
故障検出対象のアドレスバスラインを介して、“０”アドレスおよび複数のアクティブビットを含むアドレスに対し、前記データパターンＡを順次に書き込み、続いて１つのアクティブビットを含むアドレスに対し、前記データパターンＢを順次に書き込む第２のステップと、
前記第２のステップの終了後に、前記アドレスバスラインを介して、前記データパターンＡ及びＢが書き込まれた全てのアドレスのデータを順次に読み出し、該読み出したデータを読み出しデータと称するとき、該読み出しデータの妥当性を所定の故障判定ロジックにより判定し、前記アドレスバスラインの故障および前記メモリビットの故障のうちの少なくとも一方を該妥当性に基づき検出する第３のステップと
を有し、
前記故障判定ロジックは、アドレス２ｎ（ｎ＝０，１，２，３，……）以外のアドレスをアドレスＥ２ｎとするとき、該アドレスＥ２ｎから読み出した前記読み出しデータのうちで前記データパターンＢを含むものがあるとき、該データパターンＢを含む該読み出しデータに対応する該アドレスＥ２ｎをフェイルアドレス［Ｅ２ｎ］（アドレス０を除く。以下同じ。）として抽出し、該フェイルアドレス［Ｅ２ｎ］のうちの第１のものを［Ｅ２ｎ］１、第２のものを［Ｅ２ｎ］２とするとき、
Log２（［Ｅ２ｎ］１Λ［Ｅ２ｎ］２）を故障ビットとする（Λは論理積演算を表す）
ことを特徴とするメモリ故障検出方法。
【請求項４】
アドレスバスライン及びデータ記憶部を有するＲＡＭ等のメモリの故障を検出する方法であって、該アドレスバスラインの故障および該データ記憶部におけるメモリビットの故障の少なくとも一方をメモリ故障として検出するメモリ故障検出方法において、
データパターンＡ及びＢなる互いに異なる２種類の故障検出用のデータパターンを設定する第１のステップと、
故障検出対象のアドレスバスラインを介して、“０”アドレスおよび複数のアクティブビットを含むアドレスに対し、前記データパターンＡを順次に書き込み、続いて１つのアクティブビットを含むアドレスに対し、前記データパターンＢを順次に書き込む第２のステップと、
前記第２のステップの終了後に、前記アドレスバスラインを介して、前記データパターンＡ及びＢが書き込まれた全てのアドレスのデータを順次に読み出し、該読み出したデータを読み出しデータと称するとき、該読み出しデータの妥当性を所定の故障判定ロジックにより判定し、前記アドレスバスラインの故障および前記メモリビットの故障のうちの少なくとも一方を該妥当性に基づき検出する第３のステップと
を有し、
前記故障判定ロジックは、アドレス２ｎ（ｎ＝０，１，２，３，……）以外のアドレスをアドレスＥ２ｎとするとき、該アドレスＥ２ｎから読み出した前記読み出しデータのうちで前記データパターンＢを含むものがあるとき、該データパターンＢを含む該読み出しデータに対応する該アドレスＥ２ｎ（アドレス０を除く。以下同じ。）を抽出し、
前記アドレスＥ２ｎのうちの第１のアドレスと第２のアドレスとの論理積で示される値をフェイルアドレスとするとき、該フェイルアドレスが２の何乗になるかをカウントしたときの最終カウント値を故障ビットとする
ことを特徴とするメモリ故障検出方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、メモリ故障検出方法に関し、特にＲＡＭ、ＮＶＲＡＭ等の書換え可能なメモリのメモリ故障を検出するメモリ故障検出方法および装置に関する。
【０００２】
【従来の技術】
ＲＡＭ、ＮＶＲＡＭ等の書換え可能なメモリにおけるデータ記憶部の故障を検出する従来の方法（第１の従来方法という）では、該データ記憶部に関して、一律のデータ（５５、ＡＡ等）の書き込みと読み出しを行うことにより、該データ記憶部の故障の有無を検出していた。また、上記の故障を検出するためのデータパターンの他の例としては、００００………００，１１１１………１１，０１０１………０１，１０１０………１０という４種類のデータパターンの組合せが知られている。この４種類のデータパターンを用いるメモリ故障検出方法（第２の従来方法という）では、４種類のデータパターンをステップバイステップでメモリに対し書き込みと読み出しを行い、該メモリの故障の有無を検出する。
【０００３】
また、特開平３ー２６３１３１号公報には、電源投入時の初期自己診断により、プリント板の故障箇所を検出する故障検出方法（第３の従来方法という）が開示されている。この故障診断方法は、電源投入後の初期自己診断によりプリント板の故障箇所を検出する故障検出方法である。この故障検出方法では、アドレスバス及びデータバスを介してＭＰＵに接続された記憶手段の特定アドレスに特定のデータを格納しておき、電源投入後に、ＭＰＵによりその記憶手段に対する読み出し動作を行い、アドレスバス及びデータバスを介して得られるデータ波形を、所定の波形観測装置を用いて観測することにより故障の有無を検出している。この故障検出方法によれば、ＭＰＵによる自己診断プログラムによる故障検出方法の弊害を排除できるとしている。
【０００４】
【発明が解決しようとする課題】
上述した第１の従来方法では、メモリのデータ記憶部に対して、一律のデータ（５５、ＡＡ等）の書き込み及び読み出しを行うことにより、該データ記憶部の故障の有無の検出が行われている。この故障検出方法においては、データ記憶部において、メモリビットのレベルが“Ｈｉ”であるか又は“Ｌｏｗ”であるかを識別することによって故障の検出が可能ではある。しかし、該メモリにアクセスするアドレスバスに障害[導線の短絡（ショート）や切断（オープン）]がある場合においては、一部のデータ記憶部に対する書き込み及び読み出しが実際には不可能な状態となっても、間違ったアドレスに対する書き込み及び読み出しが行われる状態となり、結果的に正常であるものと誤判定される惧れがある。そこで、第１の従来方法には、故障検出ができないことがあるという欠点がある。
【０００５】
上記の第２の従来方法では、時間をかけてステップバイステップで故障検出を行うので、この方法には検出に多大の時間を要するという欠点がある。また、上記の第３の従来方法では、予め記憶手段の特定アドレスに特定のデータを格納しておき、電源投入後における初期診断として、該特定アドレスより読み出されるデータ波形を観察することにより、対応するプリント板の故障を検出することができるとしている。しかしながら、波形観察には多大に時間がかかるので、この故障検出方法は極めて非効率的な手法であり、メモリに関する汎用の故障検出方法としては実用上適用し得ない。
【０００６】
本発明の目的は、上記の欠点を解決し、アドレスバスラインの故障およびメモリ記憶部のメモリビットの故障を含むメモリ故障を効率よく検出できるメモリ故障検出方法、およびこの方法によるメモリ故障検出装置を提供することにある。
【０００７】
【課題を解決するための手段】
前述の課題を解決するために本発明は次の手段を提供する。
【０００８】
（１）アドレスバスライン及びデータ記憶部を有するＲＡＭ等のメモリの故障を検出する方法であって、該アドレスバスラインの故障および該データ記憶部におけるメモリビットの故障の少なくとも一方をメモリ故障として検出するメモリ故障検出方法において、
データパターンＡ及びＢなる互いに異なる２種類の故障検出用のデータパターンを設定する第１のステップと、
故障検出対象のアドレスバスラインを介して、“０”アドレスおよび複数のアクティブビットを含むアドレスに対し、前記データパターンＡを順次に書き込み、続いて１つのアクティブビットを含むアドレスに対し、前記データパターンＢを順次に書き込む第２のステップと、
前記第２のステップの終了後に、前記アドレスバスラインを介して、前記データパターンＡ及びＢが書き込まれた全てのアドレスのデータを順次に読み出し、該読み出したデータを読み出しデータと称するとき、該読み出しデータの妥当性を所定の故障判定ロジックにより判定し、前記アドレスバスラインの故障および前記メモリビットの故障のうちの少なくとも一方を該妥当性に基づき検出する第３のステップと
を有し、
前記故障判定ロジックは、アドレス２ｎ（ｎ＝０，１，２，３，……）以外のアドレスをアドレスＥ２ｎとするとき、該アドレスＥ２ｎから読み出した前記読み出しデータのうちで前記データパターンＢを含むものがあるとき、該データパターンＢを含む該読み出しデータに対応する該アドレスＥ２ｎをフェイルアドレス［Ｅ２ｎ］として抽出し、
前記ｎ−１を第１の故障ビットとし、Log２（［Ｅ２ｎ］−２ｎ−１）を第２の故障ビットとする
ことを特徴とするメモリ故障検出方法。
【０００９】
（２）アドレスバスライン及びデータ記憶部を有するＲＡＭ等のメモリの故障を検出する方法であって、該アドレスバスラインの故障および該データ記憶部におけるメモリビットの故障の少なくとも一方をメモリ故障として検出するメモリ故障検出方法において、
データパターンＡ及びＢなる互いに異なる２種類の故障検出用のデータパターンを設定する第１のステップと、
故障検出対象のアドレスバスラインを介して、“０”アドレスおよび複数のアクティブビットを含むアドレスに対し、前記データパターンＡを順次に書き込み、続いて１つのアクティブビットを含むアドレスに対し、前記データパターンＢを順次に書き込む第２のステップと、
前記第２のステップの終了後に、前記アドレスバスラインを介して、前記データパターンＡ及びＢが書き込まれた全てのアドレスのデータを順次に読み出し、該読み出したデータを読み出しデータと称するとき、該読み出しデータの妥当性を所定の故障判定ロジックにより判定し、前記アドレスバスラインの故障および前記メモリビットの故障のうちの少なくとも一方を該妥当性に基づき検出する第３のステップと
を有し、
前記故障判定ロジックは、アドレス２ｎ（ｎ＝０，１，２，３，……）以外のアドレスをアドレスＥ２ｎとするとき、該アドレスＥ２ｎから読み出した前記読み出しデータのうちで前記データパターンＢを含むものがあるとき、該データパターンＢを含む該読み出しデータに対応する該アドレスＥ２ｎを抽出し、
前記ｎ−１を第１の故障ビットとし、
前記アドレスＥ２ｎより２ｎ−１を減じて得られる値をフェイルアドレスとするとき、該フェイルアドレスが２の何乗になるかをカウントしたときの最終カウント値を第２の故障ビットとする
ことを特徴とするメモリ故障検出方法。
【００１０】
（３）アドレスバスライン及びデータ記憶部を有するＲＡＭ等のメモリの故障を検出する方法であって、該アドレスバスラインの故障および該データ記憶部におけるメモリビットの故障の少なくとも一方をメモリ故障として検出するメモリ故障検出方法において、
データパターンＡ及びＢなる互いに異なる２種類の故障検出用のデータパターンを設定する第１のステップと、
故障検出対象のアドレスバスラインを介して、“０”アドレスおよび複数のアクティブビットを含むアドレスに対し、前記データパターンＡを順次に書き込み、続いて１つのアクティブビットを含むアドレスに対し、前記データパターンＢを順次に書き込む第２のステップと、
前記第２のステップの終了後に、前記アドレスバスラインを介して、前記データパターンＡ及びＢが書き込まれた全てのアドレスのデータを順次に読み出し、該読み出したデータを読み出しデータと称するとき、該読み出しデータの妥当性を所定の故障判定ロジックにより判定し、前記アドレスバスラインの故障および前記メモリビットの故障のうちの少なくとも一方を該妥当性に基づき検出する第３のステップと
を有し、
前記故障判定ロジックは、アドレス２ｎ（ｎ＝０，１，２，３，……）以外のアドレスをアドレスＥ２ｎとするとき、該アドレスＥ２ｎから読み出した前記読み出しデータのうちで前記データパターンＢを含むものがあるとき、該データパターンＢを含む該読み出しデータに対応する該アドレスＥ２ｎをフェイルアドレス［Ｅ２ｎ］（アドレス０を除く。以下同じ。）として抽出し、該フェイルアドレス［Ｅ２ｎ］のうちの第１のものを［Ｅ２ｎ］１、第２のものを［Ｅ２ｎ］２とするとき、
Log２（［Ｅ２ｎ］１Λ［Ｅ２ｎ］２）を故障ビットとする（Λは論理積演算を表す）
ことを特徴とするメモリ故障検出方法。
【００１１】
（４）アドレスバスライン及びデータ記憶部を有するＲＡＭ等のメモリの故障を検出する方法であって、該アドレスバスラインの故障および該データ記憶部におけるメモリビットの故障の少なくとも一方をメモリ故障として検出するメモリ故障検出方法において、
データパターンＡ及びＢなる互いに異なる２種類の故障検出用のデータパターンを設定する第１のステップと、
故障検出対象のアドレスバスラインを介して、“０”アドレスおよび複数のアクティブビットを含むアドレスに対し、前記データパターンＡを順次に書き込み、続いて１つのアクティブビットを含むアドレスに対し、前記データパターンＢを順次に書き込む第２のステップと、
前記第２のステップの終了後に、前記アドレスバスラインを介して、前記データパターンＡ及びＢが書き込まれた全てのアドレスのデータを順次に読み出し、該読み出したデータを読み出しデータと称するとき、該読み出しデータの妥当性を所定の故障判定ロジックにより判定し、前記アドレスバスラインの故障および前記メモリビットの故障のうちの少なくとも一方を該妥当性に基づき検出する第３のステップと
を有し、
前記故障判定ロジックは、アドレス２ｎ（ｎ＝０，１，２，３，……）以外のアドレスをアドレスＥ２ｎとするとき、該アドレスＥ２ｎから読み出した前記読み出しデータのうちで前記データパターンＢを含むものがあるとき、該データパターンＢを含む該読み出しデータに対応する該アドレスＥ２ｎ（アドレス０を除く。以下同じ。）を抽出し、
前記アドレスＥ２ｎのうちの第１のアドレスと第２のアドレスとの論理積で示される値をフェイルアドレスとするとき、該フェイルアドレスが２の何乗になるかをカウントしたときの最終カウント値を故障ビットとする
ことを特徴とするメモリ故障検出方法。
【００１２】
（削除）
【００１３】
（削除）
【００１４】
【発明の実施の形態】
次に、図面を参照し、本発明の実施の形態を説明する。図１は、本発明の一実施の形態であるメモリ故障検出方法における処理手順を示す流れ図である。図１において、先ず２種類の異なる故障検出用のデータパターンＡ及びＢを設定する（ステップＳ11）。次に、検出対象のアドレスバスラインを介して、“０”アドレス及び複数のビットアクティブを含むアドレスに対しては、データパターンＡを順次に書き込み、続いて、１ビットアクティブのアドレスに対してデータパターンＢを順次に書き込む（ステップＳ12）。続いて、データパターンＡ及びＢの書き込み後に、これらのデータパターンが書き込まれた全てのアドレスのデータを、アドレスバスラインを介して順次に読み出し、故障判定ロジックによりアドレスバスラインの故障を検出する（ステップＳ13）。
【００１５】
また、図２は、図１に示した実施の形態の変形例であるメモリ故障検出方法における処理手順を示す流れ図である。図２の実施の形態では、アドレスバスラインの故障検出時に、メモリのデータ記憶部におけるメモリビット故障の検出をも同時に行う。まず、故障検出用のデータパターンＡ及びＢとして、データ記憶部におけるメモリビット故障の検出に有用なデータパターンを設定する（ステップＳ21）。次に、図１におけるステップＳ12の場合と同様に、アドレスバスラインを介して、データパターンＡ及びＢを書き込む（ステップＳ22）。続いて、これらのデータパターンが書き込まれた全てのアドレスのデータを、アドレスバスラインを介して順次に読み出し、故障判定ロジックにより、アドレスバスラインの故障およびメモリビットの故障を検出する（ステップＳ23）。上記の処理ステップを実行することにより、メモリ故障を効率良く検出することができる。
【００１６】
以下においては、図１及び図２の実施の形態による故障検出の例として、メモリにおけるアドレスバスの導線（アドレスバスライン）にショートが生じている場合（第１の実施例）と、アドレスバスの導線が切断されてオープンである場合（第２の実施例）について説明する。
【００１７】
図３（ａ）は、第１の実施例のメモリ故障検出方法を適用して、故障の検出をしようとするメモリの構成を概念的に示す図である。このメモリは、データ記憶部１、アドレスバス２及びデータバス３を備えてなる。アドレスバス２は、８ビットのアドレスデータをパラレルに入力する。アドレスデータは、ビット“０”，“１”，“２”，・・・・“７”からなる８ビットのパラレルデータである。図において、ｂ０，ｂ１，ｂ２，・・・・ｂ７なる符合は、そのパラレルデータにおけるビット“０”，“１”，“２”，・・・・“７”が入力される端子をそれぞれ表す。
【００１８】
このメモリでは、アドレスバス２におけるビット“１”とビット“２”の導線は導体４によりショートしている。導体４は微細な金属粉などである。この状態においては、アドレスバス２に入力されるアドレスデータに対応して、データバス３より順次に入力されてデータ記憶部１に書き込まれるデータは、アドレスデータで示されたアドレスとは異なるアドレスに書き込まれる。第１の実施例のメモリ故障検出方法では、データ記憶部１には、まずステップ１でデータパターンＡがデータバス３へ供給され、次にステップ２でデータパターンＢがデータバス３へ供給される。
【００１９】
図３（ｂ）は、図３（ａ）に図示されるようにビット“１”とビット“２”がショートになっているメモリに第１の実施例を適用したとき、ステップ１においてデータパターンＡが書き込まれるアドレスと、ステップ１に続いて、ステップ２においてデータパターンＢが書き込まれるアドレスとを示す図である。図４は、図３のアドレスバス２へ入力されるアドレス、アドレスデータ及びアクティブビット数の関係を表形式で示す図である。アドレス０を表すアドレスデータは“00000000”であり、そのアクティブビット数は０個である。アドレス１を表すアドレスデータは“00000001”であり、そのアクティブビット数は１個である。アドレス２を表すアドレスデータは“00000010”であり、そのアクティブビット数は１個である。アドレス３を表すアドレスデータは“00000011”であり、そのアクティブビット数は２個である。アドレス４乃至アドレス７についても同様である。
【００２０】
第１の実施例においては、データパターンＡは、アドレス“０”及び複数のアクティブビットを含むアドレスに書き込む。他方、データパターンＢは、１個のアクティブビットを含むアドレスに書き込む。図３（ｂ）は、ステップ１において同図（ａ）のメモリへデータパターンＡを書き込み、次にステップ２においてデータパターンＢを同じメモリへ書き込むとき、各データパターンが書き込まれるアドレスを概念的に示す図である。
【００２１】
データパターンＡが書き込まれるアドレスは、アドレス“０”及び複数のアクティブビットを含むアドレスであるから、アドレス“０”，“３”，“５”，“６”及び“７”である。図３（ｂ）におけるデータパターンＡの欄において○印の記載された枠（セル）は、ステップ１においてデータパターンＡを記録しようとするデータ記憶部１のアドレスに対応している。また、図３（ｂ）における矢印は、○印のあるアドレスにデータパターンＡを記録しようとして、対応するアドレスデータをアドレスバス２へ入力されたときに、データパターンＡが実際に記録されるアドレスを示す。例えば、アドレス“０”へデータパターンＡを記録しようとして、アドレスデータ“00000000”がアドレスバス２へ入力されたときは、データパターンＡ（データバス３から入力される）はアドレス“０”へ記録されが、アドレス“３”へデータパターンＡを記録しようとして、アドレスデータ“00000011”がアドレスバス２へ入力されたときは、データパターンＡはアドレス“７”へ記録されることを示している。データパターンＢの欄（ステップ２の欄）についても同様である。
【００２２】
図３（ｂ）に示されるように、ステップ１においては、データパターンＡは、アドレス“０”、“７”、“７”、“６”および“７”へ順次に書き込まれており、ステップ２においては、データパターンＢは、アドレス“１”、“６”および“６”へ順次に書き込まれている。従って、データパターンの書き込み終了後においては、アドレス“０”および“７”には、それぞれデータパターンＡが書き込まれ、アドレス“１”および“６”には、それぞれデータパターンＢが書き込まれている。
【００２３】
この第１の実施例においては、メモリ故障を検出して特定する際には、図７および図８に流れ図で示される故障判定ロジックによる故障判定処理が行われる。図７において、まず初期設定として、ステップＳ31において、アドレス＝０、ｎ＝０、ショート／単一ビット故障フラグ＝“パス”、データエラーフラグ＝”パス”、オープンカウンタ＝０、フェイルビット１，２＝“Ｎ／Ａ”とする。
【００２４】
続いてステップＳ32においては、読み出すアドレスが２ｎ に等しいか否かが判定される。冒頭においては、ｎ＝０であるから、２n は“１”であり、また対象アドレスは“０”であるから、ステップＳ32ではＮｏと判定されてステップＳ33に進む。ステップＳ33においては、アドレス“０”が示すデータがデータパターンＡであるか否かが判定されるが、図３（ｂ）を参照して明らかなように、アドレス“０”が示すデータはデータパターンＡであり、Ｙｅｓと判定されて正常ルートであるステップＳ40に進む。ステップＳ40においてはアドレス“０”に対し１が加算されて、アドレス＝“０”＋１＝“１”となる。ステップＳ41においては、該アドレス“１”が、ＭＡＸアドレスより大きいかが判定される。図３（ａ）のメモリではＭＡＸアドレスは“７”であるから、該アドレス“１”はＭＡＸアドレスよりは小であるので、Ｎｏと判定されてステップＳ32に戻り、改めて、アドレスが ２n に等しいか否かが判定される。
【００２５】
ステップＳ32においては、ｎの値は初期設定のままでｎ＝０であり、アドレスは１が加算されて“１”であるから、Ｙｅｓと判定されてステップＳ35に進み、ｎの値０に１が加算されてｎ＝１となる。次いで、ステップＳ36において、アドレス“１”から読み出されたデータがデータパターンＢであるか否かが判定される。この場合には、図３（ｂ）を参照して明らかなように、アドレス“１”のデータはデータパターンＢであり、Ｙｅｓと判定されて正常ルートであるステップＳ40に進む。ステップＳ40においてはアドレスに１が加算されて、アドレス＝“１”＋１＝“２”となる。ステップＳ41においては、該アドレス“２”がＭＡＸアドレスより大きいかが判定されるが、該アドレス“２”はＭＡＸアドレス“７”よりは小であるから、Ｎｏと判定されてステップＳ32に戻る。ステップＳ32において、改めてアドレスが２n に等しいか否かが判定される。
【００２６】
ステップＳ32においては、ｎ＝１でありアドレスが“２”であるために、Ｙｅｓと判定されてステップＳ35に進み、ｎの値に１が加算されてｎ＝２となる。次いで、ステップＳ36においては、アドレス“２”が示すデータがデータパターンＢであるか否かが判定される。図３（ｂ）を参照して明らかなように、アドレスバス２にアドレス“２”が入力されたとき、データ記憶部1に供給される読み出しアドレスはアドレス“６”である。図３（ｂ）に示すように、アドレス“６”にはデータパターンＢが記録されている。そこで、ステップＳ36では、Ｙｅｓと判定されて正常ルートであるステップＳ40に進む。ステップＳ40においてはアドレスに１が加算されて、アドレス＝“２”＋１＝“３”となる。ステップＳ41においては、該アドレス“３”がＭＡＸアドレスより大きいかが判定されるが、該アドレス“３”はＭＡＸアドレス“７”よりは小であるから、Ｎｏと判定されてステップＳ32に戻り、改めてアドレスが２n に等しいか否かが判定される。
【００２７】
ステップＳ32においては、ｎ＝２でありアドレスが“３”であるから、Ｎｏと判定されてステップＳ33に進む。ステップＳ33においては、アドレス“３”のデータがデータパターンＡであるか否かが判定されるが、図３（ｂ）を参照して明らかなように、アドレスバス２に入力されるアドレスが“３”であるとき、データ記憶部１に供給される読み出しアドレスは“７”であり、アドレス“７”に記憶されているデータはデータパターンＡであるから、ステップＳ33ではＹｅｓと判定されて正常ルートであるステップＳ40に進む。ステップＳ40においてはアドレスに１が加算されて、アドレス＝“３”＋１＝“４”となる。ステップＳ41においては、該アドレス“４”がＭＡＸアドレスより大きいかが判定されるが、該アドレス“４”はＭＡＸアドレス“７”よりは小であるから、Ｎｏと判定されてステップＳ32に戻り、改めてアドレスが２n に等しいか否かが判定される。
【００２８】
ステップＳ32においては、ｎ＝２であり、アドレスが“４”であるためにＹｅｓと判定されてステップＳ35に進み、ｎの値に１が加算されてｎ＝３となる。次いで、ステップＳ36においては、アドレス“４”が示すデータがデータパターンＢであるか否かが判定されるが、図３（ｂ）を参照して明らかなように、アドレス“４”に対応するアドレス“６”のデータはデータパターンＢであり、Ｙｅｓと判定されて正常ルートであるステップＳ40に進む。ステップＳ40においてはアドレスに１が加算されて、アドレス＝“４”＋１＝“５”となる。ステップＳ41においては、該アドレス“５”がＭＡＸアドレスより大きいかが判定されるが、該アドレス“５”はＭＡＸアドレス“７”よりは小であるから、Ｎｏと判定されてステップＳ32に戻り、改めてアドレスが２n に等しいか否かが判定される。
【００２９】
ステップＳ32においては、ｎの値はｎ＝３であり、アドレスが“５”であるから、Ｎｏと判定されてステップＳ33へ進む。ステップＳ33においては、アドレス“５”が示すデータがデータパターンＡであるか否かが判定されるが、図３（ｂ）を参照して明らかなように、アドレス“５”に対応するアドレス“７”が示すデータはデータパターンＡであり、Ｙｅｓと判定されて正常ルートであるステップＳ40に進む。ステップＳ40においてはアドレスに１が加算されて、アドレス＝“５”＋１＝“６”となる。ステップＳ41においては、該アドレス“６”がＭＡＸアドレスより大きいかが判定されるが、該アドレス“６”はＭＡＸアドレス“７”よりは小であるから、Ｎｏと判定されてステッＳ32に戻り、改めてアドレスが２n に等しいか否かが判定される。
【００３０】
ステップＳ32においては、ｎの値はｎ＝３であり、アドレスが“６”であるために、Ｎｏと判定されてステップＳ33に進む。ステップＳ33においては、アドレス“６”のデータがデータパターンＡであるか否かが判定されるが、図３（ｂ）を参照して明らかなように、アドレス“６”のデータはデータパターンＢであり、Ｎｏと判定されてフェイルルートに進み、ステップＳ34において、アドレス“６”のデータがデータパターンＢであるか否かが判定される。図３（ｂ）を参照して明らかなように、アドレス“６”が示すデータはデータパターンＢであり、Ｙｅｓと判定されてステップＳ38に進み、ステップＳ38においては、アドレスが“０”であるか否かが判定される。この場合においては、アドレスは“６”であり、Ｎｏと判定されてステップＳ42（図８を参照）に進む。
【００３１】
ステップＳ42においては、ショート／単一ビット故障フラグに、“単一ビット故障”が記録されているか否かが判定される。この時点においては、該フラグには“単一ビット故障”が記録されていないのでＮｏと判定されてステップＳ46に進む。ステップＳ46においては、アドレス“６”に関して、ショート／単一ビット故障フラグに“ショート故障”と記録される。このステップＳ46においては、ショートしているアドレスバスのフェイルビットを推定する手順が設定される。
【００３２】
その推定する手順の要点は、現状のｎの値より１を減じた「ｎ−１」の値が、アドレスバスのフェイルビットの内の一方のビットを示していることと、もう一方のフェイルビットは、現状のアドレスＡｄｄより２n-1 を減じて得られる値が、２の何乗に等しいかを示す値“log2(Ａｄｄ−２n-1)”に等しいことに拠っている点にある。以降のステップＳ48及びステップＳ49を介して、フェイルビットのカウント処理により、フェイルアドレスとＴＭＰの値とが等しい値になるまで逐次ＴＭＰ値が左シフトされ、ステップＳ48において、これらの両者の値が等しくなった時点において故障判定ロジックは終了となり、メモリアドレスラインにおけるフェイルビットは、上記のフェイルビットの最終カウント値によって特定される。
【００３３】
本実施例においては、アドレス“６”に対応する現状のｎの値がｎ＝３であり、アドレスの値が“６”であるから、ステップＳ48およびステップＳ49を介して得られるフェイルビットは、log2(Ａｄｄ−２n-1)＝１（フェイルビット１）及びｎ−１＝２（フェイルビット２）となる。即ち、アドレスバスのビット“１”と、ビット“２”の間においてショート故障が発生しているものと判定される。
【００３４】
なお、本実施例においては、ショート故障のフェイルビットが相互に隣接している場合について説明しているが、フェイルビットが隣接していない場合のショート故障についても、本故障判定ロジックにより同様にフェイルビットの判定が可能である。
【００３５】
次ぎに、図１、図２に示した本発明の実施の形態であるメモリ故障検出方法の第２の実施例について説明する。図５（ａ）および図６（ａ）は、第２の実施例による故障検出方法で故障を検出しようとするメモリの概念的な構成および故障の状態を示す図である。図５（ａ）および図６（ａ）のメモリでは、アドレスバス２のビット“２”がカットされてオープン状態となっている。但し、図５（ａ）は、ビット“２”の導線（アドレスバスライン）におけるデータ記憶部１側の電位がＬｏｗレベルに固定されているケースを示しており、図６（ａ）は、ビット“２”の導線におけるデータ記憶部１側の電位がＨｉｇｈレベルに固定されているケースを示している。
【００３６】
まず最初に、ビット“２”の導線におけるデータ記憶部１側の電位がＬｏｗレベルに固定されているケース（図５（ａ））について説明する。この状態においては、アドレスバス２に入力されるアドレスデータに対応して、データバス３から順次に入力されるデータパターンＡおよびＢは、アドレスバス２のアドレスデータで示されるアドレス（本来書き込まれるべきデータ記憶部１のアドレス）とは異なるアドレスに書き込まれる。第２の実施例においては、第１の実施例と同様に、データパターンＡは、アドレス“０”及び複数のアクティブビットを含むアドレスに書き込み、データパターンＢは、１個のアクティブビットを含むアドレスに書き込む。
【００３７】
図５（ｂ）は、ステップ１において同図（ａ）のメモリへデータパターンＡを書き込み、次にステップ２においてデータパターンＢを同じメモリへ書き込むとき、各データパターンが書き込まれるアドレスを概念的に示す図である。すなわち、図５（ｂ）は、図５（ａ）に図示されるようにビット“２”がオープンになっているメモリに第２の実施例を適用したとき、ステップ１においてデータパターンＡが書き込まれるアドレスと、ステップ１に続くステップ２においてデータパターンＢが書き込まれるアドレスとを示している。図５（ａ），（ｂ）は、図３（ａ），（ｂ）について説明したところと同じ原則のもとに描いてある。図５（ｂ）に示されるように、ステップ１においては、データパターンＡは、順次、アドレス“０”、“１”、“５”、“４”および“５”に書き込まれており、ステップ２においては、データパターンＢは、順次、アドレス“０”，“１”および“４”に書き込まれている。従って、データパターンの書き込み終了後においては、アドレス“０”、“１”および“４”には、それぞれデータバターンＢが書き込まれ、アドレス“５”には、データパターンＡが書き込まれている。
【００３８】
この第２の実施例においても、図７および図８に示される故障判定ロジックにより、メモリ故障を検出して特定する。この故障判定ロジックを適用するとき、まず初期設定として、ステップＳ31において、アドレス＝０、ｎ＝０、ショート／単一ビット故障フラグ＝“パス”、データエラーフラグ＝“パス”、オープンカウンタ＝０、フェイルビット１，２＝“Ｎ／Ａ”とする。
【００３９】
続いてステップＳ32においては、読み出すアドレスが２n に等しいか否かが判定される。冒頭においては、ｎ＝０であるから、２n は“１”であり、最初の対象アドレスは“０”であるため、Ｎｏと判定されてステップＳ33に進む。ステップＳ33においては、アドレス“０”が示すデータがデータパターンＡであるか否かが判定されるが、図５（ｂ）を参照して明らかなように、アドレス“０”から読み出されるデータはデータパターンＢであるので、Ｎｏと判定されてフェイルルートに進み、ステップＳ34において、アドレス“０”が示すデータがデータパターンＢであるか否かが判定される。アドレス“０”のデータはデータパターンＢであるから、ステップＳ34ではＹｅｓと判定されてステップＳ38に進み、ステップＳ38においては、アドレスが“０”であるか否かが判定される。この場合においては、アドレスが“０”であるから、ステップＳ38でＹｅｓと判定されてステップＳ39に進み、ステップＳ39において、ショート／単一ビット故障フラグに“単一ビット故障”と記録される。次いでステップＳ40に進み、アドレス“０”に１が加算されて、アドレス＝“０”＋１＝“１”なる。ステップＳ41においては、該アドレス“１”がＭＡＸアドレスより大きいが判定されるが、該アドレス“１”はＭＡＸアドレス“７”よりは小であるからＮｏと判定されてステップＳ32に戻り、改めてアドレスが２n に等しいか否かが判定される。
【００４０】
ステップＳ32においては、ｎの値は初期設定のままでｎ＝０であり、アドレスは１が加算されて“１”になっているから、Ｙｅｓと判定されてステップＳ35に進み、ｎの値０に１が加算されてｎ＝１となる。次いで、ステップＳ36において、アドレス“１”が示すデータがデータパターンＢであるか否かが判定される。この場合には、図５（ｂ）を参照して明らかなように、アドレス“１”が示すデータはデータパターンＢであり、Ｙｅｓと判定されて正常ルートであるステップＳ40に進む。ステップＳ40においては、アドレスに１が加算されて、アドレス＝“１”＋１＝“２”となる。ステップＳ41においては、該アドレス“２”がＭＡＸアドレスより大きいかが判定されるが、該アドレス“２”はＭＡＸアドレス“７”よりは小であるからＮｏと判定されてステップＳ32に戻り、改めてアドレスが２n に等しいか否かが判定される。
【００４１】
ステップＳ32においては、ｎ＝１でありアドレスは“２”であるためにＹｅｓと判定されてステップＳ35に進み、ｎの値１に１が加算されてｎ＝２となる。次いで、ステップＳ36において、アドレス“２”が示すデータがデータパターンＢであるか否かが判定される。図５（ｂ）を参照して明らかなように、アドレスバス２に入力されるアドレス“２”は、データ記憶部１のアドレス“０”を指定し、データ記憶部１のアドレス“０”にはデータパターンＢが記録されているので、ステップＳ36ではＹｅｓと判定されて正常ルートのステップＳ40に進む。ステップＳ40においてはアドレスに１が加算されて、アドレス＝“２”＋１＝“３”となる。次いでステップＳ41においては、該アドレス“３”がＭＡＸアドレスより大きいかが判定されるが、該アドレス“３”はＭＡＸアドレス“７”よりは小であるから、Ｎｏと判定されてステップＳ32に戻り、改めてアドレスが２n に等しいか否かが判定される。
【００４２】
ステップＳ32においては、ｎ＝２でありアドレスが“３”であるから、Ｎｏと判定されてステップＳ33に進む。ステップＳ33においては、アドレス“３”のデータがデータパターンＡであるか否かが判定される。図５（ｂ）を参照して明らかなように、アドレスバス２におけるアドレス“３”に対応するデータ記憶部１のアドレス“１”に記憶されているデータは、データパターンＢであるから、ステップＳ33においてはＮｏと判定されてフェイルルートに進み、ステップＳ34において、アドレス“３”のデータがデータパターンＢであるか否かが判定される。アドレスバス２におけるアドレス“３”に対応するデータ記憶部１のアドレス“１”のデータはデータパターンＢであり、Ｙｅｓと判定されてステップＳ38に進み、ステップＳ38においては、アドレスが“０”であるか否かが判定される。この場合にはアドレスは“３”であり、ステップＳ38ではＮｏと判定されてステップＳ42に進む（図８を参照）。
【００４３】
ステップＳ42においては、ショート／単一ＢＩＴフラグに“単一ＢＩＴ故障”が記録されているか否かが判定されるが、この時点においては、既にアドレス“０”において、“単一ＢＩＴ故障”が記録されているので、Ｙｅｓと判定されてステップＳ43に進む。ステップＳ43においては、これまでの過程において、単一ＢＩＴ故障チェック用のオープンカウンタのカウント値が１以下（アドレス“０”はカウントの対象外）であるために、Ｎｏと判定されてステップＳ44に進む。ステップＳ44においては、ステップＳ43およびＳ44を介して、アドレス異常となったアドレス“３”がフェイルアドレスに格納され、ステップＳ45においては、オープンカウンタに１が加算されてカウント数が１にカウントアップされる。次いでステップＳ40に戻り（図７を参照）、アドレス“３”に１が加算されて、アドレス＝“３”＋１＝“４”となる。ステップＳ41においては、該アドレス“４”がＭＡＸアドレスより大きいかが判定されるが、該アドレス“４”はＭＡＸアドレス“７”より小であるためにＮｏと判定されてステップＳ32に戻り、改めてアドレスが２n に等しいか否かが判定される。
【００４４】
ステップＳ32においては、ｎ＝２でありアドレスが“４”であるために、Ｙｅｓと判定されてステップＳ35に進み、ｎの値１に１が加算されてｎ＝３となる。次いで、ステップＳ36において、アドレス“４”のデータがデータパターンＢであるか否かが判定されるが、図５（ｂ）を参照して明らかなように、アドレス“４”のデータはデータパターンＢであり、Ｙｅｓと判定されて正常ルートのステップＳ40に進む。ステップＳ40においてはアドレスに１が加算されて、アドレス＝“４”＋１＝“５”となる。次いでステップＳ41においては、該アドレス“５”がＭＡＸアドレスより大きいかが判定されるが、該アドレス“５”はＭＡＸアドレス“７”よりは小であるから、Ｎｏと判定されてステップＳ32に戻り、改めてアドレスが２nに等しいか否かが判定される。
【００４５】
ステップＳ32においては、ｎ＝３でありアドレスは“５”であるために、Ｎｏと判定されてステップＳ33に進む。ステップＳ33においては、アドレス“５”のデータがデータパターンＡであるか否かが判定されるが、図５（ｂ）を参照して明らかなように、アドレス“５”に記憶されているデータはデータパターンＡであり、Ｙｅｓと判定されて正常ルートのステップＳ40に進む。ステップＳ40においてはアドレスに１が加算されて、アドレス＝“５”＋１＝“６”となる。次いでステップＳ41においては、該アドレス“６”がＭＡＸアドレスより大きいかが判定されるが、該アドレス“６”はＭＡＸアドレス“７”よりは小であるから、Ｎｏと判定されてステップＳ32に戻り、改めてアドレスが２n に等しいか否かが判定される。
【００４６】
ステップＳ32においては、ｎ＝３でありアドレスは“６”であるから、Ｎｏと判定されてステップＳ33に進む。ステップＳ33においては、アドレス“６”のデータがデータパターンＡであるか否かが判定される。図５（ｂ）を参照して明らかなように、アドレスバス２におけるアドレス“６”に対応するデータ記憶部１のアドレスは“４”であるから、データ記憶部１におけるアドレス“４”のデータはデータパターンＢであり、ステップＳ33ではＮｏと判定されてステップＳ34に進む。Ｓ34においては、アドレス“６”が示すデータがデータパターンＢであるか否かが判定されるが、アドレスバス２におけるアドレス“６”に対応するデータ記憶部１のアドレス“４”のデータはデータパターンＢであり、Ｙｅｓと判定されてステップＳ38に進む。ステップＳ38においては、アドレスが“０”であるか否かが判定されるが、明らかにＮｏと判定されてステップＳ42に進む（図８を参照）。
【００４７】
ステップＳ42においては、ショート／単一ＢＩＴフラグに“単一ＢＩＴ故障”が記録されているか否かが判定されるが、この時点においては、既にアドレス“０”において、“単一ＢＩＴ故障”が記録されているので、Ｙｅｓと判定されてステップＳ43に進む。ステップＳ43においては、これまでの過程において、単一ＢＩＴ故障チェック用のオープンカウンタのカウント値が、アドレス“３”におけるアドレス異常により、既に１にカウントアップされているから、Ｙｅｓと判定されてステップＳ47に進む。ステップＳ47においては、アドレス“０”を対象外として、１回目のフェイルアドレス“３”と今回のフェイルアドレス“６”との論理積が算出されて、その論理積の算出結果はフェイルアドレスに再格納される。そして、ステップＳ48およびステップＳ49を介して、フェイルビットのカウント処理により、フェイルアドレスとＴＭＰの値とが等しい値になるまで逐次ＴＭＰ値が左シフトされ、ステップＳ48において、これらの両者の値が等しくなった時点において故障判定ロジックは終了となり、メモリアドレスラインにおけるフェイルビットは、上記のフェイルビットの最終カウント値により特定される。
【００４８】
なお、ステップＳ48およびステップＳ49を介して得られるフェイルビットは、log2（フェイルアドレス＆アドレス）として求められるが、本実施例の場合においては、最初にアドレス異常（フェイルアドレス）として検出されたアドレスは、アドレス“０”を除外してアドレス“３”であり、２回目にアドレス異常（フェイルアドレス）として検出されたアドレスが今回のアドレス“６”であるから、メモリアドレスラインにおけるフェイルビットは、log2（フェイルアドレス＆アドレス）＝log2（００１１＆０１１０）＝１となり、アドレスバスラインのビット“１”において異常が発生したものと判定される。
【００４９】
次ぎに、オープン・ビットの電位レベルが、Ｈｉｇｈのレベル状態に固着されている場合について説明する。図６（ａ）は、ビット“２” の導線におけるデータ記憶部１側がＨｉｇｈレベルに固着されているケースを示している。図６（ｂ）は、ステップ１において同図（ａ）のメモリへデータパターンＡを書き込み、次にステップ２においてデータパターンＢを同じメモリへ書き込むとき、各データパターンが書き込まれるアドレスを概念的に示す図である。すなわち、図６（ｂ）は、図６（ａ）に図示されるようにビット“２”がオープンになっているメモリに第２の実施例を適用したとき、ステップ１においてデータパターンＡが書き込まれるアドレスと、ステップ１に続くステップ２においてデータパターンＢが書き込まれるアドレスとを示している。図６（ａ），（ｂ）は、図３（ａ），（ｂ）について説明したところと同じ原則のもとに描いてある。
【００５０】
図６（ｂ）を参照して明らかなように、ステップ１においては、データパターンＡは、順次、アドレス“２”、“３”、“７”、“６”及び“７”に書き込まれており、ステップ２においては、データパターンＢは、順次、アドレス“３”、“２”及び“６”に書き込まれている。従って、データパターンの書き込み終了後においては、アドレス“２”、“３”及び“６”には、それぞれデータバターンＢが書き込まれ、アドレス“７”には、データバターンＡが書き込まれている。
【００５１】
このケースにおいても、メモリ故障を検出して特定する際には、図７および図８に示される故障判定ロジックにおいて、まず初期設定として、ステップＳ31において、アドレス＝０、ｎ＝０、ショート／単一ビット故障フラグ＝“パス”、データエラーフラグ＝”パス”、オープンカウンタ＝０、フェイルビット＝“Ｎ／Ａ”とする。
【００５２】
続いてステップＳ32においては、読み出すアドレスが２n に等しいか否かが判定される。２n は、ｎ＝０に対して“１”であり、アドレスは“０”であるから、Ｎｏと判定されてステップＳ33に進む。ステップＳ33においては、読み出されるアドレス“０”が示すデータがデータパターンＡであるか否かが判定される。図５（ｂ）を参照して明らかなように、アドレスバス2におけるアドレス“０”に対応するデータ記憶部１のアドレス“２”のデータがデータパターンＢであるから、ステップＳ33ではＮｏと判定されてステップＳ34に進む。ステップＳ34においては、アドレス“０”が示すデータがデータパターンＢであるか否かが判定される。図６（ｂ）を参照して明らかなように、アドレスバス２のアドレス“０”に対応するデータ記憶部１のアドレス“２”に記憶されているデータはデータパターンＢである。そこで、ステップＳ34ではＹｅｓと判定されてステップＳ38に進む。ステップＳ38においては、アドレスが“０”であるか否かが判定されるが、この場合においては、アドレスが“０”であり、Ｙｅｓと判定されてステップＳ39に進み、ステップＳ39において、ショート／単一ビット故障フラグに“単一ビット故障”と記録される。次いでステップＳ40に進み、アドレス“０”に１が加算されて、アドレス＝“０”＋１＝“１”となる。ステップＳ41においては、該アドレス“１”がＭＡＸアドレスより大きいかが判定されるが、該アドレス“１”はＭＡＸアドレス“７”よりは小であるから、Ｎｏと判定されてステップＳ32に戻り、改めてアドレスが２n に等しいか否かが判定される。
【００５３】
ステップＳ32においては、ｎの値は初期設定のままでｎ＝０であり、アドレスは１が加算されて“１”になっているためにＹｅｓと判定されてステップＳ35に進み、ｎの値０に１が加算されてｎ＝１となる。次いで、ステップＳ36において、アドレス“１”が示すデータがデータパターンＢであるか否かが判定される。この場合には、図５（ｂ）を参照して明らかなように、アドレスバス２のアドレス“１”に対応するデータ記憶部１のアドレス“３”から読み出されるデータはデータパターンＢであり、ステップＳ36ではＹｅｓと判定されて正常ルートであるステップＳ40に進む。ステップＳ40においては、アドレスに１が加算されて、アドレス＝“１”＋１＝“２”となる。ステップＳ41においては、該アドレス“２”がＭＡＸアドレスより大きいかが判定されるが、該アドレス“２”はＭＡＸアドレス“７”よりは小であるから、Ｎｏと判定されてステップＳ32に戻り、改めてアドレスが２n に等しいか否かが判定される。
【００５４】
ステップＳ32においては、ｎ＝１でありアドレスは“２”であるから、Ｙｅｓと判定されてステップＳ35に進み、ｎの値１に１が加算されてｎ＝２となる。次いで、ステップＳ36において、アドレス“２”が示すデータがデータパターンＢであるか否かが判定される。図６（ｂ）を参照して明らかなように、アドレス“２”が示すデータはデータパターンＢであり、ステップＳ36ではＹｅｓと判定されて正常ルートのステップＳ40に進む。ステップＳ40においてはアドレスに１が加算されて、アドレス＝“２”＋１＝“３”となる。次いでステップＳ41においては、該アドレス“３”がＭＡＸアドレスより大きいかが判定されるが、該アドレス“３”はＭＡＸアドレス“７”よりは小であるから、Ｎｏと判定されてステップＳ32に戻り、改めてアドレスが２n に等しいか否かが判定される。
【００５５】
ステップＳ32においては、ｎ＝２でありアドレスが“３”であるために、Ｎｏと判定されてステップＳ33に進む。ステップＳ33においては、アドレス“３”のデータがデータパターンＡであるか否かが判定される。図６（ｂ）を参照して明らかなように、アドレス“３”が示すデータはデータパターンＢであり、ステップＳ33ではＮｏと判定されてフェイルルートに進み、ステップＳ34において、アドレス“３”が示すデータがデータパターンＢであるか否かが判定される。アドレス“３”のデータはデータパターンＢであるから、ステップＳ34ではＹｅｓと判定されてステップＳ38に進み、ステップＳ38においては、アドレスが“０”であるか否かが判定される。この場合にはアドレスは“３”であり、ステップＳ38ではＮｏと判定されてステップＳ42に進む（図８を参照）。
【００５６】
ステップＳ42においては、ショート／単一ＢＩＴフラグに“単一ＢＩＴ故障”が記録されているか否かが判定されるが、この時点においては、既にアドレス“０”において、“単一ＢＩＴ故障”が記録されているから、Ｙｅｓと判定されてステップＳ43に進む。ステップＳ43においては、これまでの過程において、単一ＢＩＴ故障チェック用のオープンカウンタのカウント値が１以下であるので、Ｎｏと判定されてステップＳ44に進む。ステップＳ44においては、ステップＳ43およびＳ44を介してアドレス異常となったアドレス“３”がフェイルアドレスに格納され、ステップＳ45においては、オープンカウンタに１が加算されてカウント数が１にカウントアップされる。次いでステップＳ40に戻り（図７を参照）、アドレス“３”に１が加算されて、アドレス＝“３”＋１＝“４”となる。ステップＳ41においては、該アドレス“４”がＭＡＸアドレスより大きいかが判定されるが、該アドレス“４”はＭＡＸアドレス“７”より小であるから、Ｎｏと判定されてステップＳ32に戻り、改めてアドレスが２n に等しいか否かが判定される。
【００５７】
ステップＳ32においては、ｎ＝２でありアドレスが“４”であるから、Ｙｅｓと判定されてステップＳ35に進み、ｎの値２に１が加算されてｎ＝３となる。次いで、ステップＳ36において、アドレス“４”のデータがデータパターンＢであるか否かが判定される。図６（ｂ）を参照して明らかなように、アドレスバス２のアドレス“４”に対応するデータ記憶部１のアドレス“６”に記憶されているデータはデータパターンＢであり、Ｙｅｓと判定されて正常ルートのステップＳ40に進む。ステップＳ40においてはアドレスに１が加算されて、アドレス＝“４”＋１＝“５”となる。次いでステップＳ41においては、該アドレス“５”がＭＡＸアドレスより大きいかが判定されるが、該アドレス“５”はＭＡＸアドレス“７”よりは小であるから、Ｎｏと判定されてステップＳ32に戻り、改めてアドレスが２n に等しいか否かが判定される。
【００５８】
ステップＳ32においては、ｎ＝３でありアドレスは“５”であるから、Ｎｏと判定されてステップＳ33に進む。ステップＳ33においては、アドレス“５”のデータがデータパターンＡであるか否かが判定される。図６（ｂ）を参照して明らかなように、アドレスバス２のアドレス“５”に対応するデータ記憶部1のアドレス“７”に記憶されているデータは、データパターンＡである。そこで、ステップＳ33では、Ｙｅｓと判定されて正常ルートのステップＳ40に進む。ステップＳ40においてはアドレスに１が加算されて、アドレス＝“５”＋１＝“６”となる。次いでステップＳ41においては、該アドレス“６”がＭＡＸアドレスより大きいかが判定されるが、該アドレス“６”はＭＡＸアドレス“７”よりは小であるから、Ｎｏと判定されてステップＳ32に戻り、改めてアドレスが２n に等しいか否かが判定される。
【００５９】
ステップＳ32においては、ｎ＝３でありアドレスは“６”であるから、Ｎｏと判定されてステップＳ33に進む。ステップＳ33においては、データ記憶部1におけるアドレス“６”のデータがデータパターンＡであるか否かが判定される。図６（ｂ）を参照して明らかなように、アドレス“６”のデータはデータパターンＢであり、Ｎｏと判定されてステップＳ34に進む。ステップＳ34においては、アドレス“６”が示すデータがデータパターンＢであるか否かが判定される。アドレス“６”のデータはデータパターンＢであるから、ステップＳ34ではＹｅｓと判定されてステップＳ38に進む。ステップＳ38においては、アドレスが“０”であるか否かが判定されるが、明らかにＮｏと判定されてステップＳ42に進む（図８を参照）。
【００６０】
ステップＳ42においては、ショート／単一ＢＩＴフラグに“単一ＢＩＴ故障”が記録されているか否かが判定されるが、この時点においては、既にアドレス“０”において、“単一ＢＩＴ故障”が記録されているので、Ｙｅｓと判定されてステップＳ43に進む。ステップＳ43においては、これまでの過程において、単一ＢＩＴ故障チェック用のオープンカウンタのカウント数が、既に１にカウントアップされているから、Ｙｅｓと判定されてステップＳ47に進む。ステップＳ47においては、アドレス“０”を対象外として、１回目のフェイルアドレス“３”と今回のアドレス（フェイルアドレス）“６”との論理積が算出されて、その論理積の算出結果はフェイルアドレスに再格納される。そして、ステップＳ48およびステップＳ49を介して、フェイルビットのカウント処理により、フェイルアドレスとＴＭＰの値とが等しい値になるまで逐次ＴＭＰ値が左シフトされ、ステップＳ48において、これらの両者の値が等しくなった時点において故障判定ロジックは終了となり、メモリアドレスラインにおけるフェイルビットは、上記のフェイルビットの最終カウント値により特定される。
【００６１】
なお、ステップＳ48およびステップＳ49を介して得られるフェイルビットは、log2（フェイルアドレス＆アドレス）として求められるが、本実施例の場合においては、最初にアドレス異常（フェイルアドレス）として検出されたアドレスは、アドレス“０”を対象外としてアドレス“３”であり、２回目にアドレス異常（フェイルアドレス）として検出されたアドレスがアドレス“６”であるから、メモリアドレスラインにおけるフェイルビットは、log2（フェイルアドレス＆アドレス）＝log2（００１１＆０１１０）＝１となり、アドレスバスラインのビット“１”において異常が発生したものと判定される。
【００６２】
図５及び図6を参照して以上に詳しく説明したように、第２の実施例においては、オープン・ビットに対応するデータ記憶部１側の固定電位レベルがＬｏｗであるか或いはＨｉｇｈであるかにに拘わらず、同一の判定結果が得られる。
【００６３】
なお、上記第１および第２の実施例においては、データ記憶部１に接続されるアドレスバスラインを介して、“０”アドレスおよび複数のビットアクティブのアドレスに対しては、データパターンＡを書き込み、次いで、１ビットアクティブのアドレスに対しては、データパターンＢを書き込んで、これらのデータパターンの書き込み終了後に、そのアドレスバスラインを介して、データパターンが書き込まれたアドレスのデータを読み出し、故障判定ロジックにより該アドレスバスラインの故障検出をする方法を説明した。しかしながら、データパターンＡ及びＢとして、相互にビット構成が反転したデータパターンを選択することにより、即ちパターンＢのデータをパターンＡのデータの補数とすることにより、アドレスバスラインの故障検出に併せて、メモリのデータ記憶部におけるメモリビットの故障をも同時に検出することが可能となる。
【００６４】
ここまで、本発明のメモリ故障検出方法につき主として説明したが、本発明はその方法によりメモリの故障を検出する装置にも及ぶ。このメモリ故障検出装置は、その方法のプログラムを作動させるコンピュータ及び故障診断対象のメモリと該コンピュータとを接続するインターフェースにより容易に実現できる。
【００６５】
【発明の効果】
以上に説明したように、本発明は、メモリの故障検出方法に適用されて、データパターンＡを“０”アドレスおよび複数のビットアクティブのアドレスに書き込み、次いで、データパターンＢを１ビットアクティブのアドレスに対して書き込み、書き込み終了後に、データパターンが書き込まれたアドレスのデータを読み出し、所定の故障判定ロジックにより、アドレスバスラインの故障検出を効率的に行うことができるという効果がある。また、加えて、前記データパターンＡおよびＢとして、相互に反転したビット構成のデータパターンを選択することにより、メモリのデータ記憶部のメモリビットの故障の検出をも同時に効率良く行うことができるという効果がある。要するに、本発明によれば、アドレスバスラインの故障およびメモリ記憶部のメモリビットの故障を含むメモリ故障を効率よく検出できるメモリ故障検出方法および装置を提供できる。
【図面の簡単な説明】
【図１】本発明の一実施の形態であるメモリ故障検出方法における処理手順を示す流れ図である。
【図２】図１に示した実施の形態の変形例であるメモリ故障検出方法における処理手順を示す流れ図である。
【図３】本発明の第１の実施例のメモリ故障検出方法を適用して、故障の検出をしようとするメモリの構成および故障の状況を概念的に示す図（ａ）、及びこの図（ａ）のメモリにおけるアドレスバス２のアドレスとデータ記録部１のアドレスとの関係を示す図である。
【図４】図３のアドレスバス２へ入力されるアドレス、アドレスデータ及びアクティブビット数の関係を表形式で示す図である。
【図５】本発明の第２の実施例による故障検出方法で故障を検出しようとするメモリの概念的な構成および故障（アドレスバスラインがオープンで、データ記録部１側の電位がＬｏｗ）の状態を示す図（ａ）、及びこの図（ａ）のメモリにおけるアドレスバス２のアドレスとデータ記録部１のアドレスとの関係を示す図である。
【図６】本発明の第２の実施例による故障検出方法で故障を検出しようとするメモリの概念的な構成および故障（アドレスバスラインがオープンで、データ記録部１側の電位がＨｉｇｈ）の状態を示す図（ａ）、及びこの図（ａ）のメモリにおけるアドレスバス２のアドレスとデータ記録部１のアドレスとの関係を示す図である。
【図７】本発明の第１及び第２の実施例において適用する故障判定ロジックを示す流れ図（一部）である。
【図８】本発明の第１及び第２の実施例において適用する故障判定ロジックを示す流れ図（一部）である。
【符号の説明】
１    メモリのデータ記憶部
２    メモリのアドレスバス（８ビットパラレル）
３    メモリのデータバス
４    ビット“１”のアドレスバスラインｂ１とビット“２”のアドレスバスラインｂ２とを短絡している導体
ｂ０〜ｂ７    アドレスバス２を構成するビット“０”〜ビット“７”のアドレスバスライン（導線）
【図１】
0004204788.tif 000002
【図２】
0004204788.tif 000003
【図３】
0004204788.tif 000004
【図４】
0004204788.tif 000005
【図５】
0004204788.tif 000006
【図６】
0004204788.tif 000007
【図７】
0004204788.tif 000008
【図８】
0004204788.tif 000009