(57)【特許請求の範囲】
【請求項１】
OSとファームウェアを実行するCPUと、
前記CPUに接続され、それぞれ複数のメモリへの書き込みと読み出しの制御と、エラーの監視を行う複数のメモリコントローラと、
前記複数のメモリコントローラの各々に接続される前記複数のメモリとを有し、
前記メモリコントローラは、当該メモリコントローラに接続される前記複数のメモリのメモリ領域を順次読み込み、エラー領域の監視を行い、
前記ファームウェアは、前記エラー領域に対応する前記メモリコントローラが把握するアドレスを前記OSが把握する論理アドレスに変換して、前記OSに供給することを特徴とする情報処理装置。
【請求項２】
請求項１において、
前記ファームウェアは、前記メモリコントローラによって検知された前記エラー領域が、以前の読み込みによってエラー領域であると検知され使用可能領域から除外された領域かどうかを判断し、以前に除外されていればメモリ領域の読み込みを再開することを特徴とする情報処理装置。
【請求項３】
請求項１において、
前記ファームウェアは、前記エラー領域のデータが修復可能かどうかの判断を行い、前記エラー領域のデータが修復可能であれば、前記エラー領域を検知した前記メモリコントローラは、前記エラー領域に再書き込みを行うことを特徴とする情報処理装置。
【請求項４】
請求項１において、
前記複数のメモリコントローラは、それぞれ独立に前記メモリのエラーの監視を行うことを特徴とする情報処理装置。
【請求項５】
OSとファームウェアを実行するCPUと、
前記CPUに接続され、複数のメモリへの書き込みと読み出しの制御と、エラーの監視を行う複数のメモリコントローラと、
前記複数のメモリコントローラの各々に接続される前記複数のメモリとを有する情報処理装置において、
前記メモリコントローラによって、当該メモリコントローラに接続される前記複数のメモリのメモリ領域を順次読み込み、エラー領域の監視を行う読込工程と、
前記ファームウェアによって、前記エラー領域に対応する前記メモリコントローラが把握するアドレスを前記OSが把握する論理アドレスに変換して、前記OSに供給する変換工程とを有することを特徴とするメモリ異常監視方法。
【請求項６】
請求項５において、
前記ファームウェアによって、前記メモリコントローラによって検知された前記エラー領域が、以前の読み込みによってエラー領域であると検知され使用可能領域から除外された領域かどうかを判断し、以前に除外されていればメモリ領域の読み込みを再開する縮退判断工程を有することを特徴とするメモリ異常監視方法。
【請求項７】
請求項５において、
前記ファームウェアによって、前記エラー領域のデータが修復可能かどうかの判断を行い、前記エラー領域のデータが修復可能であれば、前記エラー領域を検知した前記メモリコントローラは、前記エラー領域に再書き込みを行う修復判断工程を有することを特徴とするメモリ異常監視方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリコントローラを用いた情報処理装置に関するものであり、特に、メモリの実装容量に関わらずメモリの異常監視を行う情報処理装置に関する。
【背景技術】
【０００２】
近年、システムの大規模化に伴い、実装されるメモリの量は増加し、高い信頼性が求められている。メモリの故障箇所を迅速に検出することは、大容量メモリで高い信頼性を維持するためには必須となっている。そのために、メモリの診断や監視は不可欠である。【０００３】
図１は、従来のメモリ監視を説明する図である。CPU3ではオペレーティングシステム（以下OS）が動作している。また、CPU３にはメモリ２i〜２lが接続されている。【０００４】
従来のメモリの異常監視では、OSからの指示により、CPUがメモリ２i〜２l内の全メモリ領域を監視していた。この場合、OSは実装しているメモリ２i〜２l内の全領域に対して、CPU３を通じて読み出し処理を行う。読み出しが不可能であった領域はエラー領域と診断され、使用可能領域から除外する縮退処理が行われる。【０００５】
OSは、OS自身が縮退した領域の情報を保持し、論理アドレスの連続性を自身で確保する。また、OSはメモリの実装量やハードウェア構成を予め把握している。【０００６】
このような、OSからの指示によってCPUが全メモリ領域を監視する手法では、メモリ容量の膨大な大規模システムにおいては運用時の負荷が大きすぎる。また、監視処理に時間がかかりすぎるという問題点も抱えていた。CPUの負荷を軽減するために、メモリ領域の読み出しをCPU以外のハードウェアが行うメモリ監視が考えられる。メモリ領域の読み出しと、読み出されたデータにおけるエラーの有無の確認をCPU以外のハードウェアが行うことにより、CPUの負荷を軽減することができる。【０００７】
図２は、メモリ領域へのアクセスをCPU以外のハードウェアが行うメモリ監視の例である。CPU３ではOSが動作している。そして、CPU３にはメモリの制御および監視を行うハードウェアであるコントローラC1〜C3が接続されている。また、コントローラC1にはメモリ２ｍと２ｎ、コントローラC2にはメモリ２oと２ｐ、コントローラC3にはメモリ２ｑと２ｒがそれぞれ接続されている。【０００８】
コントローラC1〜C3は、通常アクセス時には、OSからの要求にしたがって接続されているメモリに対するアクセスを制御しているが、メモリ監視時には、メモリからのデータの読み込みを行い、エラーを検知した場合には保有するレジスタの特定のビットを変化させOSに知らせる。【０００９】
この場合も、OSは、メモリの実装量やハードウェア構成を予め把握している。また、OS自身が以前に縮退した領域の情報を保持し、論理アドレスの連続性を自身で確保する。【００１０】
ここで、CPUの負担を軽減するハードウェア監視システムとしては、特許文献１に記載の技術がある。この技術は、エラーの処理をファームウェアに行わせることによって、エラーによるアプリケーションの頻繁な中断を抑制しCPUの負担を減らすものである。しかし、特許文献１に記載の技術は、ハードウェア全般に関わるものであり、メモリの監視を行うものではない。
【特許文献１】特開２０００−５７０１６号公報
【発明の開示】
【発明が解決しようとする課題】
【００１１】
図２に示したように、CPU以外のハードウェアによってメモリの異常監視を行う場合においても、メモリの拡張によってメモリのアドレスが従来のアーキテクチャによるアドレスから変更される可能性がある。メモリの拡張に対応するためには、アーキテクチャごとに対応する論理アドレスへの変換が行われなければならないが、それをOSに行わせると共通のOSで全てのアーキテクチャに対応することができなくなる。また、ハードウェアによってアーキテクチャの変更に対応すると、アーキテクチャごとに追加のハードウェアを実装する必要が生じてしまい、コスト増や開発工数増を招いてしまう。【００１２】
そこで、本発明の目的は、CPUが直接的にメモリの監視を行わず、異なるアーキテクチャへの対応をOSやハードウェア以外の手段で行うメモリ監視の可能な情報処理装置を提供することにある。
【課題を解決するための手段】
【００１３】
上記課題を解決するため、本発明の第一の側面によれば、OSとファームウェアを実行するCPUと、前記CPUに接続され、複数のメモリへの書き込みと読み出しの制御と、エラーの監視を行う複数のメモリコントローラと、前記複数のメモリコントローラの各々に接続される前記複数のメモリとを有する情報処理装置であって、前記メモリコントローラは、当該メモリコントローラに接続される前記複数のメモリのメモリ領域を順次読み込み、エラー領域の監視を行い、前記ファームウェアは、前記エラー領域に対応する前記メモリコントローラが把握するアドレスを前記OSが把握する論理アドレスに変換して、前記OSに供給することを特徴とする。【００１４】
上記発明の第一の側面において、好ましい実施例では、前記ファームウェアは、前記メモリコントローラによって検知された前記エラー領域が、以前の読み込みによってエラー領域であると検知され使用可能領域から除外された領域かどうかを判断し、以前に除外されていればメモリ領域の読み込みを再開することを特徴とする。【００１５】
上記発明の第一の側面において、さらに好ましい実施例では、前記ファームウェアは、前記エラー領域のデータが修復可能かどうかの判断を行い、前記エラー領域のデータが修復可能であれば、前記エラー領域を検知した前記メモリコントローラは、前記エラー領域に再書き込みを行うことを特徴とする。【００１６】
上記発明の第一の側面において、さらに好ましい実施例では、前記複数のメモリコントローラは、それぞれ独立に前記メモリのエラーの監視を行うことを特徴とする。【００１７】
また、上記発明の第二の側面において、好ましい実施例では、OSとファームウェアを実行するCPUと、前記CPUに接続され、複数のメモリへの書き込みと読み出しの制御と、エラーの監視を行う複数のメモリコントローラと、前記複数のメモリコントローラの各々に接続される前記複数のメモリとを有する情報処理装置におけるメモリ異常監視方法であって、前記メモリコントローラによって、当該メモリコントローラに接続される前記複数のメモリのメモリ領域を順次読み込み、エラー領域の監視を行う読込工程と、前記ファームウェアによって、前記エラー領域に対応する前記メモリコントローラが把握するアドレスを前記OSが把握する論理アドレスに変換して、前記OSに供給する変換工程とを有することを特徴とする。【００１８】
上記発明の第二の側面において、好ましい実施例では、前記ファームウェアによって、前記メモリコントローラによって検知された前記エラー領域が、以前の読み込みによってエラー領域であると検知され使用可能領域から除外された領域かどうかを判断し、以前に除外されていればメモリ領域の読み込みを再開する縮退判断工程を有することを特徴とする。【００１９】
上記発明の第二の側面において、好ましい実施例では、前記ファームウェアによって、前記エラー領域のデータが修復可能かどうかの判断を行い、前記エラー領域のデータが修復可能であれば、前記エラー領域を検知した前記メモリコントローラは、前記エラー領域に再書き込みを行う修復判断工程を有することを特徴とする。
【発明の効果】
【００２０】
本発明の情報処理装置は、アーキテクチャの変更に伴う論理アドレスの変更をファームウェアによって行うことにより、追加のハードウェアを導入してコスト増や開発工数増を招くことなく、共通のOSを全てのアーキテクチャに適用することが可能となる。
【図面の簡単な説明】
【００２１】
【図１】従来のメモリ監視を説明する図である。
【図２】メモリ領域へのアクセスをCPU以外のハードウェアが行うメモリ監視の例で                  ある。
【図３】本発明の実施形態における情報処理装置の構成図である。
【図４】メモリコントローラの構成と通常アクセス時の動作を示す図である。
【図５】メモリコントローラの構成とメモリ監視時の動作を示す図である。
【図６】本発明の実施形態におけるメモリ監視の簡単な動作フローである。
【図７】本発明の実施形態におけるメモリ監視の詳細な動作フローである。
【図８】本発明の実施形態におけるメモリ監視停止の動作フローである。
【図９】本発明の実施形態におけるメモリ監視におけるOSのエラー監視の動作フローである。
【発明を実施するための最良の形態】
【００２２】
以下、図面に従って本発明の実施の形態について説明する。但し、本発明の技術的範囲はこれらの実施の形態に限定されず、特許請求の範囲に記載された事項とその均等物まで及ぶものである。【００２３】
図３は、本発明の実施形態における情報処理装置の構成図である。本実施形態の情報処理装置は、CPU３を有し、OS及びファームウェア（図中ではFirm）の命令を実行している。CPU３は、システムコントローラ４を介して、複数のメモリコントローラ（図中ではMAC）1a〜1dに接続されている。システムコントローラ４は、通常のメモリアクセス時において、CPU３から受け取った論理アドレスをそれぞれのメモリコントローラ1a〜1d内で使用されるメモリコントローラアドレスに変換する。メモリコントローラ１a〜１dは、メモリ２a〜２hに対する書き込みや読み出しの管理、及び、メモリ監視を行うハードウェアである。【００２４】
図４は、メモリコントローラの構成と通常アクセス時の動作を示す図である。メモリコントローラ１は、主に、メモリ監視制御部11、レジスタ12、エラー診断部13、エラー訂正部14、メモリ管理部15から構成されている。通常アクセス時において、OSがCPU3を介してメモリ２に対してアクセスを行う場合、まず、CPU3からシステムコントローラ４に対してアクセスする領域の論理アドレスが供給される。システムコントローラ４は、論理アドレスを受けて、対応するメモリコントローラ１上のメモリコントローラアドレス(図中ではMACアドレス)に変換する。メモリコントローラアドレスの供給を受けたメモリコントローラ１内のメモリ管理部15は、メモリ２上の対応する領域のデータにアクセスする。メモリ２は、対応する領域のデータをメモリコントローラ１内のエラー診断部13とエラー訂正部14に供給する。【００２５】
メモリ２から供給されたデータにエラーが存在しない場合、そのデータはメモリコントローラ１から出力され、CPU3を介してOSが受信する。【００２６】
メモリ２から供給されたデータにエラーが存在する場合、エラー診断部13はエラーを検出し、そのエラーが訂正可能であるかどうかを判断する。検出されたエラーが訂正不能である場合、エラー訂正部14は訂正不能のエラーを含むデータであるという情報を付加して、データをOSに送信する。その際、エラー診断部13は、エラーの修正の可否、エラー領域のアドレス情報、通常アクセス時のエラーであるかメモリ診断時のエラーであるか、などの情報をレジスタ12に記録する。【００２７】
エラー訂正部14は、供給されたデータのエラーが訂正可能であれば、訂正したデータをメモリコントローラ１から出力し、CPU3を通じてOSに供給する。その際、エラー診断部13は、エラーの修正の可否、エラー領域のアドレス情報、通常アクセス時のエラーであるかメモリ監視時のエラーであるか、などの情報をレジスタ12に記録する。【００２８】
なお、通常時の動作においてメモリ監視制御部11は使用されない。【００２９】
図５は、メモリコントローラの構成とメモリ監視時の動作を示す図である。OSはCPU３を介して、ファームウェアに対してメモリ監視の開始を指示する。ファームウェアはCPU3を介して、メモリコントローラ１内のレジスタ12に書き込みを行い、メモリ監視を開始させる。ファームウェアからのレジスタ12に対する書き込みを確認したメモリ監視制御部11はメモリ２に対するデータの読み出しを順次行う。メモリ２は、メモリ監視制御部11から供給されるメモリコントローラアドレスに対応するデータを、メモリコントローラ１内のエラー診断部13とエラー訂正部14に対して供給する。【００３０】
エラー診断部13に対して供給されたデータにエラーが存在しない場合、エラー診断部13はメモリ監視制御部11に対してエラーが存在しないことを通知する。これを受けて、メモリ監視制御部11は次の領域を読み出すためにメモリ２に対してアクセスを行う。【００３１】
エラー診断部13に対して供給されたデータにエラーが存在した場合、エラー診断部13はそのエラーが修正可能であるかを判断する。そして、エラー診断部13はエラーが存在したこと、及び、エラーの修正の可否、エラー領域のアドレス情報、通常アクセス時のエラーであるかメモリ監視時のエラーであるか、などの情報をメモリ監視制御部11に通知する。それを受けて、メモリ監視制御部11は、メモリ監視を一時中断する。そして、メモリ監視制御部11は、エラー診断部13から得た情報をレジスタ12に書き込む。【００３２】
メモリコントローラ１は、ファームウェアやOSとの情報の交換のためにレジスタ12を有している。監視のスタートやストップなどの制御を行うコントロールレジスタには、監視制御レジスタRG1、リスタートアドレスレジスタRG2、リライトアドレスレジスタRG3の３種類が存在する。【００３３】
制御監視レジスタRG1には、監視開始ビットB1、リスタートアドレスビットB2、監視停止ビットB3、監視状態ビットB4、リライトビットB5、リライトリセットビットB6、修正可能エラービットB7、修正不能エラービットB8、比較エラービットB9などの各ビットが存在する。【００３４】
また、メモリコントローラ１内のレジスタ12には、エラー情報などを保持するログレジスタが存在する。ログレジスタは主に、エラーアドレスレジスタRG4、エラーログレジスタRG5、固定障害アドレスレジスタRG６、固定障害ログレジスタRG7の４種類である。【００３５】
図６は、本発明の実施形態におけるメモリ監視の簡単な動作フローである。この図では、上から下へ時系列にステップが説明されており、破線で区切られたコラムは、同一のハードウェア、もしくは、ソフトウェアで行われるステップを表している。OSからの指示を受けて、ファームウェアは全てのメモリコントローラ１a〜１dのレジスタ12に書き込みを行い、メモリ監視の開始を指示する（ステップW1）。メモリ監視の開始指示を受けたメモリコントローラ１a〜１dは、自身に接続されているメモリ２の領域の読み込みを開始する（ステップW2a〜W2d）。メモリコントローラ１bにおいてエラーが検知されると（ステップW3b）、エラーの修正の可否、エラー領域のアドレス情報、通常アクセス時のエラーであるかメモリ監視時のエラーであるか、などの情報がメモリコントローラ1b内のレジスタ12にメモリ監視制御部11によって書き込まれる（ステップW4b）。レジスタ12に書き込まれた情報は、ファームウェアがアクセスし、縮退情報のチェック、再書き込みの指示などのエラー処理（ステップW5b）がなされた後、メモリ監視が再開される（ステップW6b）。【００３６】
別のメモリコントローラにエラーが検出された（ステップW3c）場合にも、同様に、エラーの修正の可否、エラー領域のアドレス情報、通常アクセス時のエラーであるかメモリ監視時のエラーであるか、などの情報がメモリコントローラ1c内のレジスタ12にメモリ監視制御部11によって書き込まれる（ステップW4c）。レジスタ12に書き込まれた情報は、ファームウェアがアクセスし、縮退情報のチェック、再書き込みの指示などのエラー処理（ステップW5c）がなされた後、メモリ監視が再開される（ステップW6c）。【００３７】
OSは一定時間間隔で、全てのメモリコントローラ１a〜１dのレジスタ12に対してアクセスし、エラーが発生していないかどうかを確認する（ステップW7）。メモリコントローラ１bと１cにおいてエラーの発生を確認すると、それらのエラーに関する情報をファームウェアに対して要求する（ステップW8）。エラーに関する情報を要求されたファームウェアは、エラーの発生したメモリコントローラ１bと１cにアクセスし、エラーに関する情報をOSに対して提供する（ステップW9）。OSは、この情報を受けて、縮退させるなどの処理を行う（ステップW10）。【００３８】
ここで、稀なケースではあるが、同一のメモリコントローラにおいて２つのエラーが検出された場合について説明する。ステップW7においてOSがエラー情報にアクセスする前に、もう１つのエラーがメモリコントローラ１ｂによって検知された場合、ステップW4bでレジスタ11に書き込まれた情報は上書きされ、OSは後に発生したエラーの情報のみを得る。【００３９】
図７は、本発明の実施形態におけるメモリ監視の詳細な動作フローである。最初に、OSがメモリ監視の開始を決定する（ステップS1）。この時、OSはCPUを通じて、ファームウェアに対してメモリ監視開始指示I1を送る。メモリ監視開始指示I1を受け取ったファームウェアは、メモリコントローラ１内の監視制御レジスタRG1の監視スタートビットB1を１にする（ステップS2）。【００４０】
OSはメモリ監視の開始の決定後、エラー状態の確認の開始（ステップU1）、メモリ監視の終了（ステップT1）を行うが、これらの処理に関しては後に図８、図９を用いて説明する。【００４１】
メモリコントローラ１は、監視制御レジスタRG1の監視スタートビットB1が１になったことを受けて、メモリ監視を開始する（ステップS3）。開始されたメモリ監視は、OSがメモリ監視停止指示I2をファームウェアに送るまで続けられ、その間、メモリコントローラ１はメモリの領域を読み込み（ステップS4）、全領域が終了すれば一定時間の間隔をおいて再び読み込みを開始する（ステップS3）。【００４２】
その際に、メモリコントローラ１内のエラー診断部13はメモリ2内においてエラーが発生していないかをチェックし（ステップS5）、エラーが発生した時点でメモリ監視制御部11はメモリ監視を停止する（ステップS6）。その後、メモリ監視制御部11はエラーの種類に応じて、監視制御レジスタRG1の修正可能エラービットB7、もしくは、修正不能エラービットB8を１にする（ステップS7）。また、エラー位置の情報は、エラーアドレスレジスタRG4やエラーログレジスタRG5などに記録される。【００４３】
次に、ファームウェアは、監視制御レジスタの修正可能エラービットB7、もしくは、修正不能エラービットB8が１になったことを受けて、縮退の確認を行う。縮退とは、メモリ２内のエラー領域を使用可能領域から除外することである。ファームウェアは、メモリコントローラ１の監視制御レジスタRG1に記録された情報などから、すでに縮退された領域かどうかを判断する（ステップS8）。【００４４】
エラー領域が縮退された領域である場合、ファームウェアはその領域を回避してメモリ監視を再開する（ステップS9）。その際、メモリコントローラ１のリスタートアドレスレジスタRG2には、再開する領域のアドレス情報が設定され、監視制御レジスタRG1のリスタートアドレスビットB2に１が設定される。これらのレジスタの情報を受けて、メモリ監視制御部11はメモリ監視を再開する。【００４５】
エラー領域が縮退されていない領域である場合、そのエラーが修復可能であるかどうかの確認がレジスタ11を通じて行われる（ステップS10）。ここで修復可能なエラーとはどのようなエラーかを説明する。本実施の形態では、エラー検出を実現するためにECC(Error
Check and Correct memory)メモリを用いる。修復可能なエラーとは、メモリに格納されたデータが変化することにより、不定期に発生するソフトエラーのことである。ソフトエラーとは、回路の問題で発生するものではなく、エラーの修復機能によりデータを修正すると再発しないデータエラーのことである。エラーの修復機能では、検出した修正可能なエラーに対して訂正コードに基づいてエラーの修正が行なわれる。訂正コードは、MACとメモリとの間でデータを処理する際にMAC内部で生成されるコードのことである。【００４６】
修復可能なエラーであれば、本来書き込まれているべきデータを特定することが可能となるため、そのデータをもう一度書き込むようにファームウェアがメモリコントローラ１に対して指示を出す（ステップS11）。このとき、リライトアドレスレジスタRG3には、リライトすべき領域のアドレスが設定され、監視制御レジスタRG1のリライトビットには１が設定される。これらのレジスタ11への書き込みは、メモリコントローラ１内のメモリ監視制御部11によって処理され、メモリ監視制御部11は、本来書き込まれているべきデータのリライトを開始する。その時、再びエラーが発生するかどうかを監視し（ステップS13）、エラーが発生すればハードウェアに起因する固定障害であると判断され（ステップS14）、その情報は固定故障アドレスレジスタRG6や、固定故障ログレジスタRG7に記録される（ステップS15）。また、ステップS13においてエラーが発生していない場合は、ソフトエラーと判断される。この情報は、エラーアドレスレジスタRG4や、エラーログレジスタRG5に記録される（ステップS15）。ステップS15においてレジスタ11に記録された後、ファームウェアはメモリコントローラ１に対してメモリ監視の再開を指示する（ステップS16）。【００４７】
また、ステップS10において修復不能なエラーであると判断された場合には、エラー領域にリライトは行われず、ファームウェアはメモリコントローラ１に対してメモリ監視の再開を指示する（ステップS16）。【００４８】
メモリコントローラ１はメモリ監視を再開し（ステップS17）、エラーの発生の検出（ステップS5）に戻る。このメモリ監視の動作フローは、メモリ監視の停止処理が行われるまで繰り返される。【００４９】
図８は、本発明の実施形態におけるメモリ監視停止の動作フローである。最初に、OSがメモリ監視の停止を決定する（ステップT1）。この時、OSはCPUを通じて、ファームウェアに対してメモリ監視停止指示I2を送る。メモリ監視開始指示I2を受け取ったファームウェアは、メモリコントローラ１内の監視制御レジスタRG1の監視停止ビットB3を１にする（ステップT2）。メモリコントローラ１内のメモリ監視部11は、監視制御レジスタRG1の監視停止ビットB3が１になったことを受けて、メモリ監視を停止する（ステップT3）。【００５０】
図９は、本発明の実施形態におけるメモリ監視におけるOSのエラー監視の動作フローである。OSは、メモリ監視の開始後、エラーの検出状態の監視を開始する（ステップU1）。この時、OSはCPUを通じて、ファームウェアに対してメモリ監視確認指示I3を送る。メモリ監視確認指示I3を受け取ったファームウェアは、メモリコントローラ１内の監視制御レジスタRG1の各ビットを監視する（ステップU2）。このとき、エラーが検出されていなければステップU１に戻り、一定時間をおいて再びエラーの検出状態の確認が開始される。【００５１】
メモリコントローラ１においてエラーが検出されていれば、OSはファームウェアに対してエラー情報を要求する（ステップU3）。これを受けて、ファームウェアはメモリコントローラ１のレジスタ12に格納された情報からOSに通知すべきエラー情報を作成し通知する（ステップU4）。ここでのエラー情報とは、OSが把握できる論理アドレスや、固定障害であるか、ソフトエラーであるかなどの情報である。ファームウェアからOSにエラー情報が通知され、OSはこれをもとに論理アドレスの処理などを行う（ステップU5）。ステップU5の後、ステップU１に戻り、一定時間をおいて再びエラーの検出状態の確認が開始される。【００５２】
ファームウェアは、全てのメモリコントローラ１からの情報を統合し、論理アドレスに変換してOSにエラー情報を渡すため、OSは論理アドレスへの変換を行う必要がない。また、ファームウェアは、アーキテクチャに応じてメモリコントローラ１が検出したエラー位置のアドレス変換を行い、処理後の論理アドレスをOSに提供する。OSは、ファームウェアから受け取った論理アドレスに基づいてエラー処理を実行する。【００５３】
このようにして、アーキテクチャの変更に伴う論理アドレスの変更をファームウェアによって行うことにより、追加のハードウェアを導入してコスト増や開発工数増を招くことなく、共通のOSを全てのアーキテクチャに適用することが可能となる。
【産業上の利用可能性】
【００５４】
大規模システムでは、メモリ実装量が多い上に高い信頼性が求められる。メモリの故障箇所を迅速に検出することは、大容量メモリで高い信頼性を維持するためには必須であり、メモリの診断や監視はそのために不可欠である。本発明は、ハードウェアの構成の違いに関わらず、共通のＯＳを用いてメモリの監視を行うことを可能にする。
【図１】
0004523639.tif 000002
【図２】
0004523639.tif 000003
【図３】
0004523639.tif 000004
【図４】
0004523639.tif 000005
【図５】
0004523639.tif 000006
【図６】
0004523639.tif 000007
【図７】
0004523639.tif 000008
【図８】
0004523639.tif 000009
【図９】
0004523639.tif 000010