(57)【要約】【課題】メモリのメンテナンス性を向上させることができるメモリ診断装置、及びこれを備えた情報処理装置を提供する。【解決手段】メモリ３にデータの書き込みを実行した後、メモリ３の当該アドレスからデータを読み出すテストアクセスを実行するテスト制御部２０１と、テスト制御部２０１により書き込まれたデータと読み出されたデータとを比較し、当該書き込まれたデータと当該読み出されたデータとが一致しない場合にエラーを検出するエラー検出処理を実行する比較回路２４２と、比較回路２４２においてエラーが検出された場合、書き込まれたデータと読み出されたデータとアドレスとを含むエラー情報を記憶するエラー情報記憶部２４３とを備えた。【選択図】図２
2009252026.tif 000002
【特許請求の範囲】
【請求項１】
メモリの動作テストを行うメモリ診断装置であって、
前記メモリのアドレスを生成するアドレス生成部と、
前記メモリに書き込むためのデータを生成するデータ生成部と、
前記メモリの、前記アドレス生成部により生成されたアドレスへ、前記データ生成部により生成されたデータの書き込みを実行した後、前記メモリの当該アドレスからデータを読み出すテストアクセスを実行するテスト制御部と、
前記テスト制御部により書き込まれたデータと読み出されたデータとを比較し、当該書き込まれたデータと当該読み出されたデータとが一致しない場合にエラーを検出するエラー検出処理を実行するエラー検出部と、
前記エラー検出部における前記エラー検出処理により前記エラーが検出された場合、当該エラー検出処理において前記書き込まれたデータと前記読み出されたデータと前記書き込み及び読み出しが行われたアドレスとを含むエラー情報を記憶するエラー情報記憶部と
を備えることを特徴とするメモリ診断装置。
【請求項２】
前記テスト制御部は、
前記テストアクセスを複数回実行し、
前記エラー検出部は、
前記複数回のテストアクセスに応じて、前記エラー検出処理を複数回実行し、
前記エラー情報記憶部は、
前記複数回のエラー検出処理に基づく前記エラー情報を複数記憶するものであり、
前記エラー情報記憶部に記憶されている複数のエラー情報に基づき、前記メモリのエラー要因を推定するエラー推定部をさらに備えること
を特徴とする請求項１記載のメモリ診断装置。
【請求項３】
前記テスト制御部は、
前記エラー検出部によって前記エラーが検出されたとき、再度前記テストアクセスを実行することにより、前記テストアクセスを複数回実行し、
前記エラー推定部は、
前記エラー情報記憶部に、同一内容の前記エラー情報が複数記憶されていた場合、前記メモリのエラー要因は、ハード故障に基づくものであると推定すること
を特徴とする請求項２記載のメモリ診断装置。
【請求項４】
前記アドレス生成部は、
前記メモリのアドレスを複数回、変化させつつ生成し、
前記テスト制御部は、
前記複数のアドレスに応じて前記テストアクセスを複数回実行すること
を特徴とする請求項２記載のメモリ診断装置。
【請求項５】
前記エラー推定部は、
前記エラー情報記憶部に記憶されている各エラー情報のアドレス間隔を算出するエラー間隔算出部と、
前記エラー間隔算出部により算出された複数のアドレス間隔が互いに一致するとき、当該アドレス間隔をＸとすると、ｌｏｇ２Ｘで与えられるアドレスのビット位置に、前記エラー要因があると推定するアドレス要因推定部とを含むこと
を特徴とする請求項４記載のメモリ診断装置。
【請求項６】
前記エラー推定部は、
前記エラー情報記憶部に記憶されている各エラー情報に含まれる前記書き込まれたデータと前記読み出されたデータとをビット毎に比較して、値が異なるビット位置を検出するエラービット検出部と、
前記エラービット検出部により前記各エラー情報に応じて得られた複数の前記値が異なるビット位置が、互いに一致する場合、当該値が一致しないビット位置に、前記エラー要因があると推定するデータ要因推定部とを含むこと
を特徴とする請求項４又は５に記載のメモリ診断装置。
【請求項７】
前記データ生成部は、
前記テスト制御部によるテストアクセスの都度、前記メモリに書き込むためのデータを変化させつつ生成すること
を特徴とする請求項６記載のメモリ診断装置。
【請求項８】
外部に設けられたＣＰＵに接続されると共に当該ＣＰＵによる前記メモリへのアクセスを中継するＣＰＵインターフェイス部をさらに備えること
を特徴とする請求項１〜７のいずれか１項に記載のメモリ診断装置。
【請求項９】
請求項８に記載のメモリ診断装置と、
前記メモリと、
前記ＣＰＵと
を備えたことを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリの動作テストを行うメモリ診断装置、及びこれを備えた情報処理装置に関する。
【背景技術】
【０００２】
従来、メモリを用いた情報処理装置において、システムの信頼性を向上させるために、システムの起動時などにメモリのテストが実行されている。例えば、特許文献１に記載のメモリ診断方法では、メモリのテスト結果が良好であったか否かを不揮発性メモリに記憶しておき、次回のメモリテスト時に、前回のテスト結果が良好であった場合には、今回のメモリのテストレベルを下げることにより、メモリのテスト時間を短縮する技術が記載されている。
【特許文献１】特開平９−２８２２４０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ところで、特許文献１に記載のメモリ診断方法では、テスト結果が良好であったか否かしか、記憶されていない。そのため、テスト結果が良好であった場合はよいが、テスト結果が不良であった場合、記憶されているテスト結果からどのような不良が生じているのか判断することができない。そのため、修理を行うための手懸かりがなく、メンテナンス性に劣る、という不都合があった。
【０００４】
本発明は、このような事情に鑑みて為された発明であり、メモリのメンテナンス性を向上させることができるメモリ診断装置、及びこれを備えた情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００５】
本発明に係るメモリ診断装置は、メモリの動作テストを行うメモリ診断装置であって、前記メモリのアドレスを生成するアドレス生成部と、前記メモリに書き込むためのデータを生成するデータ生成部と、前記メモリの、前記アドレス生成部により生成されたアドレスへ、前記データ生成部により生成されたデータの書き込みを実行した後、前記メモリの当該アドレスからデータを読み出すテストアクセスを実行するテスト制御部と、前記テスト制御部により書き込まれたデータと読み出されたデータとを比較し、当該書き込まれたデータと当該読み出されたデータとが一致しない場合にエラーを検出するエラー検出処理を実行するエラー検出部と、前記エラー検出部における前記エラー検出処理により前記エラーが検出された場合、当該エラー検出処理において前記書き込まれたデータと前記読み出されたデータと前記書き込み及び読み出しが行われたアドレスとを含むエラー情報を記憶するエラー情報記憶部とを備える。
【０００６】
この構成によれば、エラー検出部によって、メモリに書き込まれたデータと読み出されたデータとが比較され、当該書き込まれたデータと当該読み出されたデータとが一致しない場合にエラーが検出される。そして、エラーが検出された場合、当該書き込まれたデータと読み出されたデータと当該書き込み及び読み出しが行われたメモリのアドレスとを含むエラー情報が、エラー情報記憶部によって記憶される。そうすると、メモリでエラーが検出されたとき、ユーザは、エラー情報記憶部に記憶されているエラー情報を参照することにより、エラー要因を推定することができるので、メモリのメンテナンス性を向上させることができる。
【０００７】
また、前記テスト制御部は、前記テストアクセスを複数回実行し、前記エラー検出部は、前記複数回のテストアクセスに応じて、前記エラー検出処理を複数回実行し、前記エラー情報記憶部は、前記複数回のエラー検出処理に基づく前記エラー情報を複数記憶するものであり、前記エラー情報記憶部に記憶されている複数のエラー情報に基づき、前記メモリのエラー要因を推定するエラー推定部をさらに備えることが好ましい。
【０００８】
この構成によれば、複数回のテストアクセスに基づく複数のエラー情報がエラー情報記憶部に記憶される。複数のエラー情報に基づけば、各エラー情報の共通点や傾向等から、エラー推定部によりメモリのエラー要因を推定することが可能になる。そして、ユーザは、エラー推定部によって推定されたエラー要因に基づき、メモリをメンテナンスすることが可能となるので、メモリのメンテナンス性を向上させることができる。
【０００９】
また、前記テスト制御部は、前記エラー検出部によって前記エラーが検出されたとき、再度前記テストアクセスを実行することにより、前記テストアクセスを複数回実行し、前記エラー推定部は、前記エラー情報記憶部に、同一内容の前記エラー情報が複数記憶されていた場合、前記メモリのエラー要因は、ハード故障に基づくものであると推定することが好ましい。
【００１０】
この構成によれば、エラーが検出されると、再度メモリがテストされる。そして、エラー情報記憶部に同一内容のエラー情報が複数記憶された場合、すなわち同一のエラーが再現した場合、再現性のあるエラーの発生要因はハード故障に基づくものである可能性が高いので、エラー推定部は、メモリのエラー要因はハード故障に基づくものであると推定することができる。
【００１１】
また、前記アドレス生成部は、前記メモリのアドレスを複数回、変化させつつ生成し、前記テスト制御部は、前記複数のアドレスに応じて前記テストアクセスを複数回実行することが好ましい。
【００１２】
この構成によれば、メモリにおける複数のアドレスに対してテストを行うことが出来るので、エラー推定部は、複数のアドレスから得られた複数のエラー情報に基づいて、エラー要因が、アドレスに起因するものかデータに起因するものかを切り分けることが容易となる。
【００１３】
また、前記エラー推定部は、前記エラー情報記憶部に記憶されている各エラー情報のアドレス間隔を算出するエラー間隔算出部と、前記エラー間隔算出部により算出された複数のアドレス間隔が互いに一致するとき、当該アドレス間隔をＸとすると、ｌｏｇ２Ｘで与えられるアドレスのビット位置に、前記エラー要因があると推定するアドレス要因推定部とを含むことが好ましい。
【００１４】
各エラー情報における各アドレス間隔が互いに一致していれば、同一のアドレス間隔で周期的にエラーが発生していることになる。この場合、メモリのアドレスの特定のビットが固定値になって故障していると考えられる。そして、メモリのアドレスは２進数で表現されるから、エラーの発生するアドレス間隔をＸとすると、ｌｏｇ２Ｘで与えられるアドレスのビット位置に、エラー要因があると推定することができる。
【００１５】
また、前記エラー推定部は、前記エラー情報記憶部に記憶されている各エラー情報に含まれる前記書き込まれたデータと前記読み出されたデータとをビット毎に比較して、値が異なるビット位置を検出するエラービット検出部と、前記エラービット検出部により前記各エラー情報に応じて得られた複数の前記値が異なるビット位置が、互いに一致する場合、当該値が一致しないビット位置に、前記エラー要因があると推定するデータ要因推定部とを含むことが好ましい。
【００１６】
複数のエラー情報において、メモリに書き込まれたデータと読み出されたデータとで、値の異なるビット位置が一致する場合、当該ビット位置で、メモリのデータが固定値になって故障していると考えられるので、データ要因推定部によって、エラー要因のあるデータのビット位置を推定することができる。
【００１７】
また、前記データ生成部は、前記テスト制御部によるテストアクセスの都度、前記メモリに書き込むためのデータを変化させつつ生成することが好ましい。
【００１８】
テストアクセスに用いるデータが固定値であった場合、例えばハイレベルに固定されているデータビットにハイレベルのデータを用いてライト、リード、ベリファイチェックを行っても、エラーを検出することができない。しかし、テストアクセスの都度、データを変化させることで、故障モードに関わらずエラーを検出することが容易となる。
【００１９】
また、外部に設けられたＣＰＵに接続されると共に当該ＣＰＵによる前記メモリへのアクセスを中継するＣＰＵインターフェイス部をさらに備えることが好ましい。
【００２０】
メモリの故障モードには、アドレスラインやデータラインが、電源やグラウンドとショートするショートモードの故障がある。このようなハード故障（永続的故障）が発生した場合、もし仮にメモリがＣＰＵバスと直結されていたとすれば、メモリのショート故障によって、ＣＰＵバスの該当ビットもショートして信号レベルが固定されてしまう結果、ＣＰＵは、故障していない素子へのアクセスも出来なくなって、動作不能に陥るおそれがある。
【００２１】
しかしながら、この構成によれば、ＣＰＵインターフェイス部にＣＰＵを接続し、ＣＰＵがＣＰＵインターフェイス部を介してメモリをアクセスするようにすれば、ＣＰＵバスとメモリの信号線とを分離することができる。そして、このようにＣＰＵバスとメモリの信号線とを分離すれば、例えメモリでショート故障が生じた場合であってもＣＰＵバスへの影響が排除される結果、ＣＰＵが動作可能となる。
【００２２】
また、本発明に係る情報処理装置は、上述のメモリ診断装置と、前記メモリと、前記ＣＰＵとを備える。
【００２３】
この構成によれば、情報処理装置におけるメモリのメンテナンス性を向上させることができる。
【発明の効果】
【００２４】
このような構成のメモリ診断装置及び情報処理装置は、エラーが検出された場合、当該書き込まれたデータと読み出されたデータと当該書き込み及び読み出しが行われたメモリのアドレスとを含むエラー情報が、エラー情報記憶部によって記憶されるので、メモリのメンテナンス性を向上させることができる。
【発明を実施するための最良の形態】
【００２５】
以下、本発明に係る実施形態を図面に基づいて説明する。なお、各図において同一の符号を付した構成は、同一の構成であることを示し、その説明を省略する。図１は、本発明の一実施形態に係るメモリ診断装置を備えた情報処理装置の一例を示すブロック図である。
【００２６】
図１に示す情報処理装置１は、メモリ診断装置の一例であるＡＳＩＣ（Application Specific Integrated Circuit）２と、メモリ３と、ＣＰＵ（Central Processing Unit）４と、ＲＯＭ（Read Only Memory）５とを備えている。そして、ＣＰＵ４、ＲＯＭ５、及びＡＳＩＣ２は、ＣＰＵバス６を介して接続されている。また、ＡＳＩＣ２とメモリ３とは、メモリ専用に設けられたメモリバス７を介して接続されている。
【００２７】
ＲＯＭ５には、例えばＣＰＵ４の初期処理用プログラムや、メモリ３が不良であった場合のエラー処理プログラム等が記憶されている。
【００２８】
ＡＳＩＣ２は、ＣＰＵインターフェイス部２１と、メモリコントローラ２２と、メモリテスト回路２３とを備えている。そして、ＣＰＵインターフェイス部２１、メモリコントローラ２２、及びメモリテスト回路２３は、ＡＳＩＣ内部バス２４を介して接続され、相互にアクセス可能にされている。
【００２９】
ＣＰＵインターフェイス部２１は、ＣＰＵ４に接続されると共に当該ＣＰＵ４によるメモリ３へのアクセスを中継するインターフェイス回路である。メモリコントローラ２２は、ＣＰＵ４及びメモリテスト回路２３からのメモリ３へのアクセス要求に応じて、メモリ３へのアクセスを実行する制御回路である。
【００３０】
図２は、図１に示すメモリテスト回路２３の一例を示すブロック図である。図２に示すメモリテスト回路２３は、テスト制御部２０１、ライトアドレス生成部２０２（アドレス生成部）、ライトデータ生成部２０３（データ生成部）、テスト部２０４、及びメモリコントローラインターフェイス部２０５を備えている。
【００３１】
ライトアドレス生成部２０２は、例えば疑似乱数生成回路２２０を備えている。疑似乱数生成回路２２０は、予め設定された所定のアルゴリズムにより、擬似的に乱数を生成する。そして、ライトアドレス生成部２０２は、テスト制御部２０１からの制御信号に応じて、疑似乱数生成回路２２０によって生成した乱数を、メモリ３のライトアドレスとしてメモリコントローラインターフェイス部２０５へ出力する。
【００３２】
これにより、ライトアドレス生成部２０２は、テスト制御部２０１からの制御信号に応じて、メモリ３のアドレスを複数回、変化させつつ出力することが可能にされている。なお、ライトアドレス生成部２０２は、必ずしも疑似乱数を生成するものに限られず、例えばカウンタ回路を用いて、連続するアドレスを生成するものであってもよい。
【００３３】
ライトデータ生成部２０３は、例えば疑似乱数生成回路２３０を備えている。疑似乱数生成回路２３０は、予め設定された所定のアルゴリズムにより、擬似的に乱数を生成する。そして、ライトデータ生成部２０３は、テスト制御部２０１からの制御信号に応じて、疑似乱数生成回路２３０によって生成した乱数を、メモリ３へのライトデータとしてメモリコントローラインターフェイス部２０５へ出力する。
【００３４】
これにより、ライトデータ生成部２０３は、テスト制御部２０１からの制御信号に応じて、ライトデータを変化させつつ出力することが可能にされている。なお、ライトデータ生成部２０３は、必ずしも疑似乱数を生成するものに限られず、例えばカウンタ回路を用いて、連続するデータを生成するものであってもよい。
【００３５】
メモリコントローラインターフェイス部２０５は、テスト制御部２０１からの制御信号に応じて、ライトアドレス生成部２０２から出力されたライトアドレスとライトデータ生成部２０３から出力されたライトデータとに基づく書込要求をメモリコントローラ２２へ出力したり、テスト部２０４から出力されたリードアドレスに基づく読み出し要求をメモリコントローラ２２へ出力したりする。
【００３６】
テスト部２０４は、リードアドレス生成部２４０と、期待値生成部２４１と、比較回路２４２（エラー検出部）と、エラー情報記憶部２４３と、エラー推定部２４４とを備えている。リードアドレス生成部２４０は、例えば疑似乱数生成回路２２０と同一の乱数をリードアドレスとして発生させる疑似乱数生成回路である。なお、リードアドレス生成部２４０は、ライトアドレス生成部２０２と同一のアドレスを同一の順序で生成することが出来ればよく、必ずしも疑似乱数生成回路に限らない。
【００３７】
期待値生成部２４１は、例えば疑似乱数生成回路２３０と同一の乱数を、期待値として発生させる疑似乱数生成回路である。なお、期待値生成部２４１は、ライトデータ生成部２０３と同一のデータを同一の順序で生成することが出来ればよく、必ずしも疑似乱数生成回路に限らない。
【００３８】
比較回路２４２は、テスト制御部２０１からの制御信号に応じて、期待値生成部２４１により生成された期待値と、リードアドレス生成部２４０により生成されたリードアドレスに基づきメモリ３から読み出されたリードデータとを比較する。
【００３９】
エラー情報記憶部２４３は、例えばレジスタ回路やＲＡＭ（Random Access Memory）、あるいは不揮発性のＥＥＰＲＯＭ（Electrically Erasable and Programmable Read Only Memory）等の記憶素子を用いて構成されている。そして、エラー情報記憶部２４３は、テスト制御部２０１からの制御信号に応じて、比較回路２４２による比較の結果、期待値生成部２４１に記憶されている期待値と、メモリコントローラインターフェイス部２０５によりメモリコントローラ２２を介して読み出されたリードデータとが一致しない場合、当該期待値と当該リードアドレスと当該リードデータとを、エラー情報として記憶する。
【００４０】
エラー情報記憶部２４３は、複数のエラー情報を記憶できるようになっている。また、エラー情報記憶部２４３は、ＣＰＵ４から、ＣＰＵインターフェイス部２１を介して読み出し可能にされている。
【００４１】
エラー推定部２４４は、例えばステートマシン、減算回路、比較回路、数値演算回路等を用いて構成されており、エラー間隔算出部、アドレス要因推定部、エラービット検出部、及びデータ要因推定部の一例として機能する。エラー推定部２４４は、エラー情報記憶部２４３に記憶されている複数のエラー情報に基づき、メモリ３のエラー要因を推定し、その推定結果を記憶する。エラー推定部２４４に記憶された推定結果は、ＣＰＵ４から、ＣＰＵインターフェイス部２１を介して読み出し可能にされている。
【００４２】
テスト制御部２０１は、例えばステートマシン、動作設定レジスタ２１０、その他の論理回路等を備えて構成されている。動作設定レジスタ２１０は、ＣＰＵ４から、ＣＰＵインターフェイス部２１を介してアクセス可能に構成されている。動作設定レジスタ２１０は、例えば通常モードとメモリテスト実行モードとを切り替える動作モード設定フラグ、メモリテストの起動を要求する起動フラグ、及びメモリテストの完了を示すメモリテスト完了フラグを備えている。そして、テスト制御部２０１は、動作設定レジスタ２１０の設定内容に応じて、メモリテスト回路２３内の各部の動作を制御する。
【００４３】
次に、上述のように構成された情報処理装置１の動作について説明する。図３、図４、図５は、図１に示す情報処理装置１の動作の一例を示すフローチャートである。まず、情報処理装置１が起動されると、ＣＰＵ４は、ＲＯＭ５に記憶されている初期処理プログラムを読み出して実行する。そして、ＣＰＵ４によって、ＣＰＵインターフェイス部２１を介して動作設定レジスタ２１０の、動作モード設定フラグと起動フラグとがセットされる（ステップＳ１）。
【００４４】
ところで、メモリ３の故障モードには、アドレスラインやデータラインが、電源やグラウンドとショートするショートモードの故障がある。このようなハード故障（永続的故障）が発生した場合、もし仮にメモリ３がＣＰＵバス６と直結されていたとすれば、メモリ３のショート故障によって、ＣＰＵバス６の該当ビットもショートして信号レベルが固定されてしまう結果、ＣＰＵ４は、故障していないＲＯＭ５へのアクセスも出来なくなって、動作不能に陥るおそれがある。
【００４５】
しかしながら、図１に示す情報処理装置１では、ＡＳＩＣ２が、ＣＰＵ４によるメモリ３へのアクセスを中継するＣＰＵインターフェイス部２１を備えており、ＣＰＵ４は、ＣＰＵインターフェイス部２１を介してメモリ３へのアクセスを行うようになっている。これにより、ＣＰＵバス６とメモリバス７とが分離され、例えメモリ３でショート故障が生じた場合であってもＣＰＵバス６への影響が排除される結果、ＣＰＵ４が動作可能にされている。
【００４６】
次に、動作設定レジスタ２１０の動作モード設定フラグと起動フラグとがセットされると、テスト制御部２０１によって、メモリテストの実行が開始される（ステップＳ２）。
【００４７】
そうすると、テスト制御部２０１からの制御信号に応じて、ライトアドレス生成部２０２によって生成されたライトアドレスが、メモリ３のアドレスとしてメモリコントローラインターフェイス部２０５へ出力される。また、テスト制御部２０１からの制御信号に応じて、ライトデータ生成部２０３によって生成されたライトデータが、メモリコントローラインターフェイス部２０５へ出力される（ステップＳ３）。
【００４８】
そして、メモリコントローラインターフェイス部２０５から、メモリコントローラ２２を介してメモリ３へ、当該ライトアドレスへの当該ライトデータの書き込みが実行される（ステップＳ４）。
【００４９】
次に、テスト制御部２０１によって、メモリ３の全テスト対象領域へのデータ書き込みが終了したか否かが確認される（ステップＳ５）。そして、まだ終了していなければ（ステップＳ５でＮＯ）再びステップＳ３〜Ｓ５を繰り返す一方、終了していれば（ステップＳ５でＹＥＳ）、データの読み出しテストを開始するべくステップＳ６へ移行する。
【００５０】
ステップＳ６では、リードアドレス生成部２４０によって、ライトアドレス生成部２０２により生成されたライトアドレスと同一のリードアドレスが同一の順序で生成され、メモリコントローラインターフェイス部２０５へ出力される（ステップＳ６）。次に、期待値生成部２４１によって、ライトデータ生成部２０３により生成されたライトデータと同一の期待値が同一の順序で生成され、メモリコントローラインターフェイス部２０５へ出力される（ステップＳ７）。
【００５１】
これにより、リードアドレス生成部２４０により生成されたリードアドレスと期待値生成部２４１により生成された期待値との組み合わせは、ライトアドレス生成部２０２により生成されたライトアドレスとライトデータ生成部２０３により生成されたライトデータとの組み合わせと、同一になるようになっている。
【００５２】
そして、メモリコントローラインターフェイス部２０５によって、メモリ３の、リードアドレス生成部２４０により生成されたリードアドレスからデータが読み出され、当該データがリードデータとして比較回路２４２へ出力される（ステップＳ８）。
【００５３】
次に、比較回路２４２によって、期待値生成部２４１により生成された期待値とリードデータとが比較される（ステップＳ９）。そして、期待値とリードデータとが一致すれば（ステップＳ９で一致）、当該アドレスは正常なので、テスト制御部２０１によって、メモリ３の全テスト対象領域のテストが終了したか否かが確認される（ステップＳ１０）。そして、まだ終了していなければ（ステップＳ１０でＮＯ）再びステップＳ６〜Ｓ１０を繰り返す一方、終了していれば（ステップＳ１０でＹＥＳ）、エラー要因の推定を実行するべくステップＳ３１へ移行する。
【００５４】
一方、ステップＳ９において、期待値とリードデータとが一致しなければ（ステップＳ９で不一致）、エラー情報記憶部２４３によって、当該リードアドレス、リードデータ、及び期待値がエラー情報として記憶される（ステップＳ２１）。そして、当該アドレスのテストが１回目であるか否かが確認され（ステップＳ２２）、１回目であれば（ステップＳ２２でＹＥＳ）再度同一アドレスのテストを行うべくステップＳ２へ移行する。
【００５５】
一方、１回目でなければ（ステップＳ２２でＮＯ）、エラー情報記憶部２４３に記憶されている１回目のエラー情報と２回目のエラー情報とが一致するか否かが確認される（ステップＳ２３）。
【００５６】
そして、１回目のエラー情報と２回目のエラー情報とが一致すれば（ステップＳ２３でＹＥＳ）、当該エラーは再現性があるので、エラー推定部２４４によって、エラー要因はハード故障（永続的故障）に基づくものと推定されて、例えば図略のレジスタにより構成されたハード故障フラグがオンされる。
【００５７】
一方、１回目のエラー情報と２回目のエラー情報とが一致しなければ（ステップＳ２３でＮＯ）、当該エラーは再現性がないので、エラー推定部２４４によって、エラー要因は、例えばメモリアクセスタイミングのマージン不足やノイズ等の要因によるソフト故障（非永続的故障）に基づくものと推定されて、例えば図略のレジスタにより構成されたソフト故障フラグがオンされる。そして、エラー要因の推定を実行するべくステップＳ３１へ移行する。
【００５８】
次に、ステップＳ３１において、エラー推定部２４４によって、エラー情報記憶部２４３に記憶されている各エラー情報におけるアドレスの間隔が、それぞれ算出される（ステップＳ３１）。そして、その各アドレス間隔がＸで一定である場合（ステップＳ３２でＹＥＳ）、同一のアドレス間隔Ｘで周期的にエラーが発生していることになる。この場合、メモリ３のアドレスの特定のビットが固定値になって故障していると考えられる。
【００５９】
そこで、エラー推定部２４４は、下記の式（１）に基づいて、故障要因となっているアドレスのビット位置Ｙを算出し、例えば図略のアドレスビットレジスタに記憶する（ステップＳ３３）。
【００６０】
Ｙ＝ｌｏｇ２Ｘ  ・・・（１）
次に、エラー推定部２４４によって、エラー情報記憶部２４３に記憶されている各エラー情報に含まれる期待値とリードデータとがビット毎に比較され、値が不一致となるビット位置が一定であるか否かが判断される（ステップＳ３４）。そして、値が不一致となるビット位置がＺで一定である場合（ステップＳ３４でＹＥＳ）、メモリ３のデータビットＺが固定値になって故障していると考えられる。
【００６１】
そこで、エラー推定部２４４は、当該不一致となるデータビットＺに、エラー要因があると推定し、例えば図略のデータビットレジスタにＺを記憶する（ステップＳ３５）。
【００６２】
上述のエラー情報記憶部２４３、ハード故障フラグ、ソフト故障フラグ、アドレスビットレジスタ、及びデータビットレジスタは、ＣＰＵ４からＣＰＵインターフェイス部２１を介して読み出し可能にされている。これにより、ユーザは、エラー情報記憶部２４３、ハード故障フラグ、ソフト故障フラグ、アドレスビットレジスタ、及びデータビットレジスタに記憶された情報に基づいて、メモリ３のエラー要因を判断することができる結果、メモリ３のメンテナンス性を向上させることができる。
【図面の簡単な説明】
【００６３】
【図１】本発明の一実施形態に係るメモリ診断装置を備えた情報処理装置の一例を示すブロック図である。
【図２】図１に示すメモリテスト回路の一例を示すブロック図である。
【図３】図１に示す情報処理装置の動作の一例を示すフローチャートである。
【図４】図１に示す情報処理装置の動作の一例を示すフローチャートである。
【図５】図１に示す情報処理装置の動作の一例を示すフローチャートである。
【符号の説明】
【００６４】
１  情報処理装置
２  ＡＳＩＣ
３  メモリ
４  ＣＰＵ
５  ＲＯＭ
６  ＣＰＵバス
７  メモリバス
２１  ＣＰＵインターフェイス部
２２  メモリコントローラ
２３  メモリテスト回路
２４  ＡＳＩＣ内部バス
２０１  テスト制御部
２０２  ライトアドレス生成部
２０３  ライトデータ生成部
２０４  テスト部
２０５  メモリコントローラインターフェイス部
２１０  動作設定レジスタ
２２０，２３０  疑似乱数生成回路
２４０  リードアドレス生成部
２４１  期待値生成部
２４２  比較回路
２４３  エラー情報記憶部
２４４  エラー推定部
【図１】
2009252026.tif 000003
【図２】
2009252026.tif 000004
【図３】
2009252026.tif 000005
【図４】
2009252026.tif 000006
【図５】
2009252026.tif 000007