(57)【要約】【課題】予備メモリ切替とページ閉塞とを効率的に連動させてシステムダウンを防止するメモリ障害処理システムを提供すること。【解決手段】メモリチップ２１および予備メモリチップ２２を有するメモリ装置２と、メモリチップ２１の障害の発生回数総和をカウントする発生回数総和カウント部３１と、発生回数総和が総和閾値を超えると故障したメモリチップ２１を予備メモリチップ２２に切り替える予備メモリチップ切替部３２と、切替後の障害の発生回数をキャッシュライン単位でカウントするキャッシュライン単位カウント部３３と、切替後の発生回数総和が総和閾値を超える前にキャッシュライン単位発生回数がキャッシュライン単位閾値を超えるとメモリページを閉塞し、キャッシュライン単位発生回数がキャッシュライン単位閾値を超える前に切替後の発生回数総和が総和閾値を超えた以降は障害発生毎にメモリページを閉塞するページ閉塞部３４とを有する。【選択図】      図１
2011150469.tif 000002
【特許請求の範囲】
【請求項１】
メモリチップおよび予備メモリチップを有するメモリ装置と、
情報処理装置とを含み、
前記情報処理装置は、
前記メモリチップに発生する障害の発生回数の総和をカウントする発生回数総和カウント手段と、
前記発生回数総和が総和閾値を超えると、前記障害が発生したメモリチップを前記予備メモリチップに切り替える予備メモリチップ切替手段と、
前記予備メモリチップ切替後に発生する障害の発生回数を、前記障害の発生箇所に対応するキャッシュライン単位でカウントするキャッシュライン単位カウント手段と、
前記切替後の発生回数総和が前記総和閾値を超える前に前記キャッシュライン単位発生回数がキャッシュライン単位閾値を超えた場合、該キャッシュラインを含むメモリページを閉塞し、前記キャッシュライン単位発生回数が前記キャッシュライン単位閾値を超える前に前記切替後の発生回数総和が前記総和閾値を超えた以降は、前記障害が発生する毎に前記メモリページを閉塞するページ閉塞手段と、
を備えたメモリ障害処理システム。
【請求項２】
前記メモリ装置は、前記メモリチップおよび前記予備メモリチップによってそれぞれ構成される複数のランクを有し、
前記情報処理装置は、
前記障害が発生したメモリチップを含むランクが前記予備メモリチップ切替前であるか切替後であるかを判断する切替前後判断手段をさらに有し、
前記予備メモリチップ切替手段は、前記発生回数総和が前記総和閾値を超えたとき前記ランクが前記予備メモリチップ切替前であれば前記メモリチップを前記予備メモリチップへ切り替え、
前記キャッシュライン単位カウント手段は、前記予備メモリチップ切替後であると判断されたランクに含まれるメモリチップで発生した障害の発生回数を前記キャッシュライン単位でカウントすることを特徴とする請求項１に記載のメモリ障害処理システム。
【請求項３】
前記情報処理装置は、
前記予備メモリチップ切替後に発生する障害の発生回数を前記ランク単位でカウントするランク単位カウント手段をさらに備え、
前記ページ閉塞手段は、前記発生回数総和が前記総和閾値を超える前に前記ランク単位発生回数がランク単位閾値を超えた場合、該当するランクに対応付けられた各キャッシュラインをそれぞれ含むメモリページを閉塞すること特徴とする請求項２に記載のメモリ障害処理システム。
【請求項４】
前記総和閾値は、前記キャッシュライン単位閾値より大きいことを特徴とする請求項１から請求項３のいずれかに記載のメモリ障害処理システム。
【請求項５】
前記ランク単位閾値は、前記総和閾値より小さく前記キャッシュライン単位閾値より大きいことを特徴とする請求項３に記載のメモリ障害処理システム。
【請求項６】
メモリチップおよび予備メモリチップを有するメモリ装置に接続され、
前記メモリチップに発生する障害の発生回数の総和をカウントする発生回数総和カウント手段と、
前記発生回数総和が総和閾値を超えると、前記障害が発生したメモリチップを前記予備メモリチップに切り替える予備メモリチップ切替手段と、
前記予備メモリチップ切替後に発生する障害の発生回数を、前記障害の発生箇所に対応するキャッシュライン単位でカウントするキャッシュライン単位カウント手段と、
前記切替後の発生回数総和が前記総和閾値を超える前に前記キャッシュライン単位発生回数がキャッシュライン単位閾値を超えた場合、該キャッシュラインを含むメモリページを閉塞し、前記キャッシュライン単位発生回数が前記キャッシュライン単位閾値を超える前に前記切替後の発生回数総和が前記総和閾値を超えた以降は、前記障害が発生する毎に前記メモリページを閉塞するページ閉塞手段と、
を備えた情報処理装置。
【請求項７】
前記メモリ装置が前記メモリチップおよび前記予備メモリチップによってそれぞれ構成される複数のランクを有するとき、
前記障害が発生したメモリチップを含むランクが前記予備メモリチップ切替前であるか切替後であるかを判断する切替前後判断手段をさらに備え、
前記予備メモリチップ切替手段は、前記発生回数総和が前記総和閾値を超えたとき前記ランクが前記予備メモリチップ切替前であれば前記メモリチップを前記予備メモリチップへ切り替え、
前記キャッシュライン単位カウント手段は、前記予備メモリチップ切替後であると判断されたランクに含まれるメモリチップで発生した障害の発生回数を前記キャッシュライン単位でカウントすることを特徴とする請求項６に記載の情報処理装置。
【請求項８】
メモリチップおよび予備メモリチップを有するメモリ装置と、前記メモリ装置に接続された情報処理装置とを備えたメモリ障害処理システムを用いて、
前記メモリチップに発生する障害の発生回数の総和をカウントする発生回数総和カウントステップと、
前記発生回数総和が総和閾値を超えると、前記障害が発生したメモリチップを前記予備メモリチップに切り替える予備メモリチップ切替ステップと、
前記予備メモリチップ切替後に発生する障害の発生回数を、前記障害の発生箇所に対応するキャッシュライン単位でカウントするキャッシュライン単位カウントステップと、
前記切替後の発生回数総和が前記総和閾値を超える前に前記キャッシュライン単位発生回数がキャッシュライン単位閾値を超えた場合、該キャッシュラインを含むメモリページを閉塞するメモリページ閉塞ステップと、
前記キャッシュライン単位発生回数が前記キャッシュライン単位閾値を超える前に前記切替後の発生回数総和が前記総和閾値を超えた以降は、前記障害が発生する毎に前記メモリページを閉塞する障害発生毎ページ閉塞ステップと、
を実行するメモリ障害処理方法。
【請求項９】
前記メモリ装置が前記メモリチップおよび前記予備メモリチップによってそれぞれ構成される複数のランクを有するとき、前記メモリ障害処理システムを用いて、
前記障害が発生したメモリチップを含むランクが前記予備メモリチップ切替前であるか切替後であるかを判断する切替前後判断ステップをさらに実行し、
前記予備メモリチップ切替ステップは、前記発生回数総和が前記総和閾値を超えたとき前記ランクが前記予備メモリチップ切替前であれば前記メモリチップを前記予備メモリチップへ切り替え、
前記キャッシュライン単位カウントステップは、前記予備メモリチップ切替後であると判断されたランクに含まれるメモリチップで発生した障害の発生回数を前記キャッシュライン単位でカウントすることを特徴とする請求項８に記載のメモリ障害処理方法。
【請求項１０】
メモリチップおよび予備メモリチップを有するメモリ装置と、前記メモリ装置に接続された情報処理装置とを備えたメモリ障害処理システムに、
前記メモリチップに発生する障害の発生回数総和が総和閾値を超えると、前記障害が発生したメモリチップを前記予備メモリチップに切り替える予備メモリチップ切替ステップと、
前記予備メモリチップ切替後に発生する障害の発生回数を、前記障害の発生箇所に対応するキャッシュライン単位でカウントするキャッシュライン単位カウントステップと、
前記切替後の発生回数総和が前記総和閾値を超える前に前記キャッシュライン単位発生回数がキャッシュライン単位閾値を超えた場合、該キャッシュラインを含むメモリページを閉塞するページ閉塞ステップと、
前記キャッシュライン単位発生回数が前記キャッシュライン単位閾値を超える前に前記切替後の発生回数総和が前記総和閾値を超えた以降は、前記障害が発生する毎に前記メモリページを閉塞する障害発生毎ページ閉塞ステップと、
を実行させるメモリ障害処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置に搭載されるメモリに発生する障害を処理するメモリ障害処理システムに関する。
【背景技術】
【０００２】
ハイエンドサーバ等の情報処理装置では、搭載されるメモリに障害がおきてもシステムダウンに至らないことが要求される。このため、近年では、搭載されるメモリに障害がおきても情報処理装置のシステムダウンを防止するメモリ障害処理システムが知られている。
【０００３】
このようなメモリ障害処理システムとしては、メモリと予備メモリとを備え、障害が発生した不良メモリアドレスを記憶し、アクセスされたアドレスが不良メモリアドレスに一致するとメモリを予備メモリに切り替えることにより、システムダウンを防ぐものがある（例えば、特許文献１参照）。
【０００４】
また、他のメモリ障害処理システムとして、メモリの障害を検出すると障害ページを閉塞するものがある。そして、このメモリ障害処理システムは、あらかじめメモリの更新イメージのコピーを保持しておき、閉塞した障害ページのデータのコピーを仮想メモリとしての二次記憶装置に出力することにより、システムダウンを防ぐ（例えば、特許文献２参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平３−１４７１６２号公報
【特許文献２】特開平９−８１４６４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１に記載されたメモリ障害処理システムは、予備メモリの数を超えてメモリに障害が発生するとシステムダウンに至ってしまうという課題があった。
【０００７】
そこで、特許文献１に記載されたものに特許文献２に記載されたものを組み合わせ、予備メモリ切替とページ閉塞とを連動させると、障害が発生したメモリを健全な予備メモリへ切り替えたにも関わらず、障害が発生したメモリに対応していたメモリページを閉塞してしまい効率的でないという課題があった。
【０００８】
すなわち、特許文献１に記載されたものおよび特許文献２に記載されたものは、予備メモリ切替とページ閉塞とを効率的に連動させてシステムダウンを防止することができなかった。
【０００９】
本発明は、上述の課題を解決するためになされたもので、予備メモリ切替とページ閉塞とを効率的に連動させてシステムダウンを防止することができるメモリ障害処理システムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明のメモリ障害処理システムは、メモリチップおよび予備メモリチップを有するメモリ装置と、情報処理装置とを含み、前記情報処理装置は、前記メモリチップに発生する障害の発生回数の総和をカウントする発生回数総和カウント手段と、前記発生回数総和が総和閾値を超えると、前記障害が発生したメモリチップを前記予備メモリチップに切り替える予備メモリチップ切替手段と、前記予備メモリチップ切替後に発生する障害の発生回数を、前記障害の発生箇所に対応するキャッシュライン単位でカウントするキャッシュライン単位カウント手段と、前記切替後の発生回数総和が前記総和閾値を超える前に前記キャッシュライン単位発生回数がキャッシュライン単位閾値を超えた場合、該キャッシュラインを含むメモリページを閉塞し、前記キャッシュライン単位発生回数が前記キャッシュライン単位閾値を超える前に前記切替後の発生回数総和が前記総和閾値を超えた以降は、前記障害が発生する毎に前記メモリページを閉塞するページ閉塞手段と、を備える。
【００１１】
また、本発明の情報処理装置は、メモリチップおよび予備メモリチップを有するメモリ装置に接続され、前記メモリチップに発生する障害の発生回数の総和をカウントする発生回数総和カウント手段と、前記発生回数総和が総和閾値を超えると、前記障害が発生したメモリチップを前記予備メモリチップに切り替える予備メモリチップ切替手段と、前記予備メモリチップ切替後に発生する障害の発生回数を、前記障害の発生箇所に対応するキャッシュライン単位でカウントするキャッシュライン単位カウント手段と、前記切替後の発生回数総和が前記総和閾値を超える前に前記キャッシュライン単位発生回数がキャッシュライン単位閾値を超えた場合、該キャッシュラインを含むメモリページを閉塞し、前記キャッシュライン単位発生回数が前記キャッシュライン単位閾値を超える前に前記切替後の発生回数総和が前記総和閾値を超えた以降は、前記障害が発生する毎に前記メモリページを閉塞するページ閉塞手段と、を備える。
【００１２】
また、本発明のメモリ障害処理方法は、メモリチップおよび予備メモリチップを有するメモリ装置と、前記メモリ装置に接続された情報処理装置とを備えたメモリ障害処理システムを用いて、前記メモリチップに発生する障害の発生回数の総和をカウントする発生回数総和カウントステップと、前記発生回数総和が総和閾値を超えると、前記障害が発生したメモリチップを前記予備メモリチップに切り替える予備メモリチップ切替ステップと、
前記予備メモリチップ切替後に発生する障害の発生回数を、前記障害の発生箇所に対応するキャッシュライン単位でカウントするキャッシュライン単位カウントステップと、
前記切替後の発生回数総和が前記総和閾値を超える前に前記キャッシュライン単位発生回数がキャッシュライン単位閾値を超えた場合、該キャッシュラインを含むメモリページを閉塞するメモリページ閉塞ステップと、前記キャッシュライン単位発生回数が前記キャッシュライン単位閾値を超える前に前記切替後の発生回数総和が前記総和閾値を超えた以降は、前記障害が発生する毎に前記メモリページを閉塞する障害発生毎ページ閉塞ステップと、を実行する。
【００１３】
また、本発明のメモリ障害処理プログラムは、メモリチップおよび予備メモリチップを有するメモリ装置と、前記メモリ装置に接続された情報処理装置とを備えたメモリ障害処理システムに、前記メモリチップに発生する障害の発生回数総和が総和閾値を超えると、前記障害が発生したメモリチップを前記予備メモリチップに切り替える予備メモリチップ切替ステップと、前記予備メモリチップ切替後に発生する障害の発生回数を、前記障害の発生箇所に対応するキャッシュライン単位でカウントするキャッシュライン単位カウントステップと、前記切替後の発生回数総和が前記総和閾値を超える前に前記キャッシュライン単位発生回数がキャッシュライン単位閾値を超えた場合、該キャッシュラインを含むメモリページを閉塞するページ閉塞ステップと、前記キャッシュライン単位発生回数が前記キャッシュライン単位閾値を超える前に前記切替後の発生回数総和が前記総和閾値を超えた以降は、前記障害が発生する毎に前記メモリページを閉塞する障害発生毎ページ閉塞ステップと、を実行させる。
【発明の効果】
【００１４】
本発明は、予備メモリ切替とページ閉塞とを効率的に連動させてシステムダウンを防止することができる。
【図面の簡単な説明】
【００１５】
【図１】本発明の第１の実施の形態としてのメモリ障害処理システムの構成を示すブロック図である。
【図２】本発明の第１の実施の形態としてのメモリ障害処理システムの予備メモリチップ切替の動作を示すフローチャートである。
【図３】本発明の第１の実施の形態としてのメモリ障害処理システムの予備メモリチップ切替後の動作を示すフローチャートである。
【図４】本発明の第２の実施の形態としてのメモリ障害処理システムの構成を示すブロック図である。
【図５】本発明の第２の実施の形態としてのメモリ障害処理システムの動作を示すフローチャートである。
【図６】本発明の第３の実施の形態としてのメモリ障害処理システムの構成を示すブロック図である。
【図７】本発明の第３の実施の形態としてのメモリ障害処理システムの動作を示すフローチャートである。
【発明を実施するための形態】
【００１６】
次に、本発明の第１の実施の形態について図面を参照して詳細に説明する。
【００１７】
本発明の第１の実施の形態としてのメモリ障害処理システム１の構成を図１に示す。図１において、メモリ障害処理システム１は、メモリチップ２１および予備メモリチップ２２を有するメモリ装置２と、情報処理装置３とを備えている。また、情報処理装置３は、発生回数総和カウント部３１と、予備メモリチップ切替部３２と、キャッシュライン単位カウント部３３と、ページ閉塞部３４とを有している。
【００１８】
なお、図１には、２つのメモリチップ２１と１つの予備メモリチップ２２とを示したが、本発明のメモリ障害処理システムが備えるメモリチップおよび予備メモリチップの数を限定するものではない。
【００１９】
まず、メモリ装置２の構成について説明する。
【００２０】
メモリ装置２は、ＤＩＭＭ（Dual Inline Memory Module）等のメモリモジュールによって構成される。メモリ装置２は、たとえば、ＲＡＭ（Random Access Memory）として情報処理装置３に搭載される。
【００２１】
メモリチップ２１は、情報処理装置３から入力されるデータを指定されたアドレスに記憶し、情報処理装置３からのアクセスに応じて指定されたアドレスに記憶したデータを出力する。メモリチップ２１は、例えばＤＲＡＭ（Dynamic Random Access Memory）等の半導体記憶素子によって構成される。
【００２２】
予備メモリチップ２２は、メモリチップ２１と同様に構成され、図示しない切替回路によってメモリチップ２１の代わりに情報処理装置３に接続されて情報処理装置３との間でデータを入出力する。
【００２３】
次に、情報処理装置３の構成について説明する。
【００２４】
情報処理装置３は、メモリ装置２を制御するメモリコントローラとＣＰＵ（Central Processing Unit）とＲＯＭ（Read Only Memory）と記憶装置とを少なくとも有する汎用的なコンピュータ装置によって構成されてもよい。この場合、発生回数総和カウント部３１はメモリコントローラによって構成される。また、予備メモリチップ切替部３２、キャッシュライン単位カウント部３３、ページ閉塞部３４は、プログラムモジュールとしてＲＯＭまたは記憶装置に記憶され、ＣＰＵによって実行されるコンピュータ回路によって実現される。  例えば、予備メモリチップ切替部３２とキャッシュライン単位カウント部３３の実行機能に対応するプログラムは、ＢＩＯＳ（Basic Input/Output System）としてＲＯＭに記憶される。また、ページ閉塞部３４の実行機能に対応するプログラムは、ＯＳ（Operating System）として記憶装置に記憶される。
【００２５】
発生回数総和カウント部３１は、例えば、ＥＣＣ（Error Check and Correct）回路等のエラー訂正回路およびカウンタ回路によって構成されてもよい。
【００２６】
以上のような構成において、発生回数総和カウント部３１は、メモリチップ２１に発生するマルチビットエラー等の障害を検出し、訂正可能なエラーを訂正する。  また、発生回数総和カウント部３１は、メモリコントローラによって管理される各メモリチップ２１において検出した障害の発生回数の総和をカウントして記憶する。
【００２７】
予備メモリチップ切替部３２は、発生回数総和が総和閾値を超えると、障害が発生したメモリチップ２１を予備メモリチップ２２に切り替える。
【００２８】
ここで、総和閾値は、メモリチップ２１に発生する障害がソフトエラーではなくハードエラーであるとみなすことができメモリチップ２１が故障している可能性が高いと判断するのに好適な値が設定される。
【００２９】
ここで、予備メモリチップ切替部３２は、発生回数総和が総和閾値を超えるまでに障害が発生したメモリチップ２１のうちいずれかのメモリチップ２１を、故障したメモリチップとみなして予備メモリチップ２２に切り替える。
【００３０】
例えば、予備メモリチップ切替部３２は、発生回数総和が総和閾値を超えたときに障害が発生したメモリチップ２１を予備メモリチップ２２に切り替える。
【００３１】
キャッシュライン単位カウント部３３は、メモリチップ２１が予備メモリチップ２２へ切り替えられた後メモリチップ２１に発生する障害の発生回数を、障害の発生箇所を含むメモリブロックに対応するキャッシュライン単位でカウントする。
【００３２】
ページ閉塞部３４は、予備メモリチップ切替後の発生回数総和が総和閾値を超える前にキャッシュライン単位発生回数がキャッシュライン単位閾値を超えた場合、障害の発生箇所に対応するキャッシュラインを含むメモリページを閉塞する。
【００３３】
ここで、キャッシュライン単位閾値は、メモリチップに発生する障害が、キャッシュラインに対応するメモリブロックに含まれる特定箇所の故障に起因する可能性が高いと判断するのに好適な値が設定される。
【００３４】
また、ページ閉塞部３４は、キャッシュライン単位発生回数がキャッシュライン単位閾値を超える前に発生回数総和が総和閾値を超えた場合、これ以降、メモリチップ２１に障害が発生する毎に、障害の発生箇所に対応するキャッシュラインを含むメモリページを閉塞する。
【００３５】
以上のように構成されたメモリ障害処理システム１の動作について、図２および図３を用いて説明する。
【００３６】
まず、メモリ障害処理システム１の予備メモリチップ切替動作を図２に示す。
【００３７】
ここでは、まず、メモリチップ２１に障害が発生したことが発生回数総和カウント部３１によって検出される（ステップＳ１）。
【００３８】
次に、発生回数総和が総和閾値を超えたか否かが発生回数総和カウント部３１によって判断される（ステップＳ２）。
【００３９】
ここで、発生回数総和が総和閾値を超えていないと判断された場合、発生回数総和カウント部３１によって、発生回数総和のカウントが１つ増やされる（ステップＳ３）。このとき、メモリチップ２１に発生した障害は予備メモリチップ切替部３２に通知されないでフィルタリングされる。ここで、メモリ障害処理システム１の動作はステップＳ１に戻る。
【００４０】
一方、発生回数総和が総和閾値を超えていると判断された場合、発生回数総和カウント部３１によって、メモリチップ２１に発生した障害が予備メモリチップ切替部３２に通知される。そして、予備メモリチップ切替部３２によって、障害が発生したメモリチップ２１が予備メモリチップ２２に切り替えられる（ステップＳ４）。このとき、メモリチップ２１に発生した障害はページ閉塞部３４に通知されないでフィルタリングされる。
【００４１】
以上で、メモリ障害処理システム１は、予備メモリチップ切替動作を終了する。
【００４２】
次に、メモリ障害処理システム１は、発生回数総和カウント部３１をリセットして、以下に述べるページ閉塞動作を実行する。
【００４３】
メモリ障害処理システム１において予備メモリチップ２２に切替後（ステップＳ４の後）のページ閉塞動作について図３を用いて説明する。  ここでは、まず、切替後に、メモリチップ２１に障害が発生したことが、発生回数総和カウント部３１によって検出される（ステップＳ１１）。
【００４４】
次に、発生回数総和が総和閾値を超えたか否かが、発生回数総和カウント部３１によって判断される（ステップＳ１２）。
【００４５】
ここで、発生回数総和が総和閾値を超えていないと判断された場合、発生回数総和カウント部３１によって、発生回数総和のカウントが１つ増やされる（ステップＳ１３）。そして、メモリチップ２１に発生した障害は、発生回数総和カウント部３１によってキャッシュライン単位カウント部３３に通知される。
【００４６】
次に、キャッシュライン単位発生回数がキャッシュライン単位閾値を超えたか否かが、キャッシュライン単位カウント部３３によって判断される（ステップＳ１４）。
【００４７】
ここで、キャッシュライン単位発生回数がキャッシュライン単位閾値を超えていないと判断された場合、キャッシュライン単位カウント部３３によって、キャッシュライン単位発生回数が１つ増やされる（ステップＳ１５）。このとき、メモリチップ２１に発生した障害は、ページ閉塞部３４に通知されないでフィルタリングされる。ここで、メモリ障害処理システム１の動作はステップＳ１１に戻る。
【００４８】
一方、ステップＳ１２で、切替後の発生回数総和が総和閾値を超えたと判断された場合、これ以降障害が発生する毎に、発生回数総和カウント部３１によって障害の発生がページ閉塞部３４に通知される。そして、障害が発生する毎に、障害の発生箇所に対応するキャッシュラインを含むメモリページが、ページ閉塞部３４によって閉塞される（ステップＳ１６）。なお、ここで、発生回数総和カウント部３１はリセットされる。
【００４９】
また、ステップＳ１４でキャッシュライン単位発生回数がキャッシュライン単位閾値を超えたと判断された場合、キャッシュライン単位カウント部３３によって障害の発生がページ閉塞部３４に通知される。そして、障害の発生箇所に対応するキャッシュラインを含むメモリページが、ページ閉塞部３４によって閉塞される（ステップＳ１７）。なお、ここで、発生回数総和カウント部３１はリセットされる。
【００５０】
以上で、メモリ障害処理システム１は、予備メモリ切替後のページ閉塞動作を終了する。
【００５１】
次に、本発明の第１の実施の形態の効果について説明する。
【００５２】
本発明の第１の実施の形態のメモリ障害処理システムは、予備メモリ切替とページ閉塞とを効率的に連動させてシステムダウンを防止することができる。
【００５３】
その第１の理由は、予備メモリチップ切替手段が、メモリチップに発生する障害の発生回数総和が閾値を超えると、障害が発生したメモリチップが故障した可能性が高いとして、故障したメモリチップを予備メモリチップに切り替えるためである。また、本発明の第１の実施の形態のメモリ障害処理システムは、故障したメモリチップを予備メモリチップに切り替えるまではページ閉塞を実行しないため、ページ閉塞によるパフォーマンスの低下を防ぎながら効率的に予備メモリ切替を行うことができる。
【００５４】
また、その第２の理由は、ページ閉塞手段が、キャッシュライン単位の発生回数がキャッシュライン単位閾値を超える前に切替後の発生回数総和が総和閾値を超えると、複数のメモリチップで故障が発生している可能性が高いとして、以降、障害が発生する毎に障害発生箇所を含むメモリページを閉塞するためである。これにより、本発明の第１の実施の形態のメモリ障害処理システムは、予備メモリチップの数を超えてメモリチップが故障してもページ閉塞を効率的に動作させることによって保守交換までの間システムダウンを防止することができる。
【００５５】
また、その第３の理由は、ページ閉塞手段が、切替後の発生回数総和が総和閾値を超える前にキャッシュライン単位発生回数がキャッシュライン単位閾値を超えると、キャッシュラインに対応するメモリブロックに含まれる特定箇所の故障である可能性が高いとして、キャッシュラインを含むメモリページを閉塞するためである。これにより、本発明の第１の実施の形態のメモリ障害処理システムは、故障したメモリチップを予備メモリチップへ切り替えた後に、他のメモリチップに含まれる特定箇所が故障した場合にも、故障箇所を含むメモリページを閉塞してシステムダウンを防止することができる。
【００５６】
次に、本発明の第２の実施の形態について図面を参照して詳細に説明する。
【００５７】
本発明の第２の実施の形態としてのメモリ障害処理システム４の構成を図４に示す。なお、図４において、本発明の第１の実施の形態としてのメモリ障害処理システム１と同一の構成要素には同一の符号を付して詳細な説明を省略する。
【００５８】
図４に示すように、メモリ障害処理システム４は、メモリ装置５と、メモリ装置５が搭載された情報処理装置６とを備えている。
【００５９】
まず、メモリ装置５の構成について説明する。
【００６０】
メモリ装置５は、メモリチップ２１と予備メモリチップ２２とをそれぞれ有する複数のランク５２を備えている。
【００６１】
なお、図４には、３つのランク５２を示したが、本発明のメモリ装置が有するランクの数を限定するものではない。
【００６２】
ランク５２は、メモリ装置５に対するデータ入出力の管理単位である。また、ランク５２は、１つ以上のメモリモジュールによって構成される。
【００６３】
次に、情報処理装置６の構成について説明する。
【００６４】
情報処理装置６は、本発明の第１の実施の形態における情報処理装置３と同様に、メモリ装置５が搭載された汎用的なコンピュータ装置によって構成される。
【００６５】
情報処理装置６は、機能ブロックとして、切替前後判断部６１と、発生回数総和カウント部３１と、予備メモリチップ切替部３２と、キャッシュライン単位カウント部３３と、障害ページ通知部６２と、ページ閉塞部６３とを有している。
【００６６】
ここで、障害ページ通知部６２およびページ閉塞部６３は、本発明のページ閉塞手段の一実施形態を構成する。また、切替前後判断部６１はメモリコントローラによって構成される。また、障害ページ通知部６２はＢＩＯＳとしてＲＯＭに記憶され、ページ閉塞部６３はＯＳとして記憶装置に記憶され、それぞれＣＰＵによって実行されるコンピュータ回路によって実現される。
【００６７】
切替前後判断部６１は、障害が発生したメモリチップ２１が含まれるランク５２が予備メモリチップへの切替前であるか切替後であるかを判断する。
【００６８】
例えば、切替前後判断部６１は、各ランク５２が切替前であるか切替後であるかを表す情報を記憶するレジスタを有し、レジスタの値に基づいて切替前か切替後かの判断を行う。
【００６９】
障害ページ通知部６２は、予備メモリチップ切替後の発生回数総和が総和閾値を超える前にキャッシュライン単位発生回数がキャッシュライン単位閾値を超えた場合、障害の発生箇所に対応するキャッシュラインを含むメモリページを、ページ閉塞部６３に通知する。
【００７０】
また、障害ページ通知部６２は、キャッシュライン単位発生回数がキャッシュライン単位閾値を超える前に発生回数総和が総和閾値を超えた場合、これ以降、メモリチップ２１に障害が発生する毎に、障害の発生箇所に対応するキャッシュラインを含むメモリページをページ閉塞部６３に通知する。
【００７１】
ページ閉塞部６３は、障害ページ通知部６２から通知されたメモリページを閉塞する。
【００７２】
以上のように構成されたメモリ障害処理システム４の動作について図５を用いて説明する。
【００７３】
なお、図５において、本発明の第１の実施の形態としてのメモリ障害処理システム１と同様に動作するステップには同一の符号を付して詳細な説明を省略する。
【００７４】
ここでは、まず、メモリチップ２１に障害が発生したことが、発生回数総和カウント部３１によって検出される（ステップＳ２１）。
【００７５】
次に、障害が発生したメモリチップ２１が含まれるランク５２が予備メモリチップ切替前であるか切替後であるかが、切替前後判断部６１によって判断される（ステップＳ２２）。
【００７６】
ここで、該当するランク５２が予備メモリチップ切替前であると判断された場合、本発明の第１の実施の形態としてのメモリ障害処理システム１と同様に、図２に示した予備メモリチップ切替動作を実行する。
【００７７】
すなわち、予備メモリチップ切替前のランク５２に含まれるメモリチップ２１に障害が発生したとき、発生回数総和が総和閾値を超えていれば、予備メモリチップ切替部３２によって障害が発生したメモリチップ２１が予備メモリチップ２２に切り替えられる。また、発生回数総和が総和閾値を超えていなければ、発生回数総和カウント部３１によって発生回数総和がカウントされる。
【００７８】
一方、ステップＳ２で該当するランク５２が予備メモリチップ切替後であると判断された場合、ステップＳ１２〜Ｓ１５まで本発明の第１の実施の形態としてのメモリ障害処理システム１と同様に動作する。
【００７９】
すなわち、予備メモリチップ切替後のランク５２に含まれるメモリチップ２１に障害が発生したとき、発生回数総和が総和閾値を超えておらず、キャッシュライン単位発生回数がキャッシュライン単位閾値を超えていなければ、発生回数総和およびキャッシュライン単位発生回数がそれぞれカウントされる。
【００８０】
また、キャッシュライン単位発生回数がキャッシュライン単位閾値を超えておらず発生回数総和が総和閾値を超えていれば（ステップＳ１２でＹｅｓ）、以降、障害が発生する毎にこの障害の発生箇所に対応するキャッシュラインを含むメモリページが障害ページ通知部６２によってページ閉塞部６３に通知される（ステップＳ２３）。
【００８１】
また、発生回数総和が総和閾値を超えておらずキャッシュライン単位発生回数がキャッシュライン単位閾値を超えていれば（ステップＳ１４でＹｅｓ）、障害の発生箇所に対応するキャッシュラインを含むメモリページが障害ページ通知部６２によってページ閉塞部６３に通知される（ステップＳ２４）。
【００８２】
次に、通知されたメモリページがページ閉塞部６３によって閉塞される（ステップＳ２５）。
【００８３】
以上で、メモリ障害処理システム４は動作を終了する。
【００８４】
次に、本発明の第２の実施の形態の効果について説明する。
【００８５】
本発明の第２の実施の形態としてのメモリ障害処理システムは、それぞれ予備メモリを有する複数のランクによって管理されるメモリ装置が搭載されている場合に、ランク毎に予備メモリチップへの切替とページ閉塞とを効率的に連動させてシステムダウンを防止することができる。
【００８６】
その第１の理由は、切替前後判断手段が、障害が発生したメモリチップを含むランクが予備メモリチップ切替前であるか切替後であるかを判断し、予備メモリチップ切替手段が、障害が発生したランクが予備メモリチップ切替前であれば、発生回数総和に基づいて予備メモリチップへの切替を実行するためである。これにより、本発明の第２の実施の形態としてのメモリ障害処理システムは、切替前のランクに発生する障害に対してページ閉塞を実行せず、ランク毎に効率的な予備メモリチップ切替を行うことができるからである。
【００８７】
また、その第２の理由は、キャッシュライン単位カウント手段が、切替後のランクに発生する障害の発生回数をカウントし、ページ閉塞手段が、キャッシュライン単位発生回数および発生回数総和に基づいて該当するメモリページを閉塞するためである。これにより、本発明の第２の実施の形態としてのメモリ障害処理システムは、予備メモリチップ切替後のランクに発生する障害に対して効率的にページ閉塞を行うことができる。
【００８８】
次に、本発明の第３の実施の形態について図面を用いて詳細に説明する。
【００８９】
本発明の第３の実施の形態としてのメモリ障害処理システム７の構成を図６に示す。なお、図６において、本発明の第２の実施の形態としてのメモリ障害処理システム４の構成と同一のものには同一の符号を付して詳細な説明を省略する。
【００９０】
図６に示すように、メモリ障害処理システム７は、メモリ装置５と、情報処理装置８とを備えている。
【００９１】
情報処理装置８は、本発明の第２の実施の形態における情報処理装置６と同一の構成に加えて、ランク単位発生回数カウント部８１を備えている。
【００９２】
ここで、ランク単位発生回数カウント部８１は、ＢＩＯＳを構成するプログラムモジュールとしてＲＯＭに記憶にされ、ＣＰＵによって実行されるコンピュータ回路によって実現される。
【００９３】
ランク単位発生回数カウント部８１は、メモリチップ２１が予備メモリチップ２２へ切り替えられた後、メモリチップ２１に発生する障害の発生回数を、障害が発生したメモリチップ２１を含むランク５２単位でカウントする。
【００９４】
障害ページ通知部６２は、ランク５２に対応づけられた各キャッシュラインをあらかじめ記憶しておく。そして、障害ページ通知部６２は、予備メモリチップ切替後の発生回数総和が総和閾値を超える前にランク単位発生回数がランク単位閾値を超えた場合、閾値を超えたランク５２に対応づけられた各キャッシュラインをそれぞれ含むメモリページをページ閉塞部６３に通知する。
【００９５】
ここで、ランク単位閾値は、ランク５２内のメモリチップ２１に発生する障害がランク５２内に含まれる複数のメモリモジュールの故障による可能性が高いと判断するのに好適な値が設定される。
【００９６】
以上のように構成されたメモリ障害処理システム７の動作について図７を用いて説明する。
【００９７】
なお、図７において、本発明の第２の実施の形態としてのメモリ障害処理システム４と同様に動作するステップには同一の符号を付して詳細な説明を省略する。
【００９８】
まず、メモリ障害処理システム７は、ステップＳ２１〜Ｓ２２まで本発明の第２の実施の形態としてのメモリ障害処理システム４と同様に動作することにより、予備メモリチップ２２へ切替前のランク５２で障害が発生した場合は、図２に示した予備メモリチップ切替動作を実行する。
【００９９】
一方、メモリ障害処理システム７は、予備メモリチップ２２へ切替後のランク５２で障害が発生した場合は、ステップＳ１２、Ｓ１３、Ｓ２３を、本発明の第２の実施の形態としてのメモリ障害処理システム４と同様に実行する。すなわち、発生回数総和が総和閾値を超えていれば、以降、障害が発生する毎に障害の発生箇所に対応するキャッシュラインを含むメモリページが、障害ページ通知部６２によってページ閉塞部６３に通知される。また、発生回数総和が総和閾値を超えていなければ、発生回数総和のカウントが発生回数総和カウント部３１によって１つ増やされる。
【０１００】
次に、ランク単位発生回数がランク単位閾値を超えたか否かが、ランク単位発生回数カウント部８１によって判断される（ステップＳ３１）。
【０１０１】
ここで、ランク単位発生回数がランク単位閾値を超えたと判断された場合、閾値を超えたランク５２に対応づけられた各キャッシュラインをそれぞれ含むメモリページが、障害ページ通知部６２によってページ閉塞部６３に通知される（ステップＳ３２）。
【０１０２】
一方、ランク単位発生回数がランク単位閾値を超えていないと判断された場合、障害が発生したメモリチップ２１を含むランク５２のランク単位発生回数のカウントが、ランク単位発生回数カウント部８１によって１つ増やされる（ステップＳ３３）。
【０１０３】
次に、メモリ障害処理システム７は、ステップＳ１４、Ｓ１５、Ｓ２４を、本発明の第２の実施の形態としてのメモリ障害処理システム４と同様に実行する。すなわち、キャッシュライン単位発生回数がキャッシュライン単位閾値を超えていなければ、キャッシュライン単位発生回数のカウントがキャッシュライン単位カウント部３３によって１つ増やされ、動作はステップＳ２１に戻る。また、キャッシュライン単位発生回数がキャッシュライン単位閾値を超えていれば、障害の発生箇所に対応するキャッシュラインを含むメモリページが障害ページ通知部６２によってページ閉塞部６３に通知される。
【０１０４】
次に、障害ページ通知部６２によって通知されたメモリページが、ページ閉塞部６３によって閉塞され（ステップＳ２５）、メモリ障害処理システム７は動作を終了する。
【０１０５】
次に、本発明の第３の実施の形態の効果について説明する。
【０１０６】
本発明の第３の実施の形態のメモリ障害処理システムは、特定ランク内の複数のメモリチップが故障している場合に、効率的にページ閉塞を行うことができる。
【０１０７】
その理由は、ランク単位カウント手段が、障害が発生したメモリチップが含まれるランク単位での発生回数をカウントし、ページ閉塞手段が、発生回数総和が総和閾値を超える前にランク単位発生回数がランク単位閾値を超えると、該当するランクに対応付けられた各キャッシュラインを含むメモリページを閉塞するからである。
【０１０８】
なお、上述の本発明の各実施の形態において、総和閾値はキャッシュライン単位閾値より大きな値があらかじめ設定される。
【０１０９】
これにより、本発明のメモリ障害処理システムは、キャッシュライン単位発生回数がキャッシュライン単位閾値を超える前に発生回数総和が総和閾値を超えたとき、複数のメモリチップにわたって故障が発生している可能性が高いことをより確実に判断して、より効率的なページ閉塞を実行することができる。
【０１１０】
また、これにより、本発明のメモリ障害処理システムは、発生回数総和が総和閾値を超えるより先にキャッシュライン単位発生回数がキャッシュライン単位閾値を超えたとき、特定箇所が故障している可能性が高いことをより確実に判断して、より効率的なページ閉塞を実行することができる。
【０１１１】
また、上述の本発明の第３の実施の形態において、ランク単位閾値には、総和閾値より小さくキャッシュライン単位閾値より大きな値があらかじめ設定される。
【０１１２】
これにより、本発明のメモリ障害処理システムは、発生回数総和が総和閾値を超える前にランク単位発生回数がランク単位閾値を超えたとき、特定のランクを構成する複数のメモリチップにわたって故障が発生している可能性が高いことをより確実に判断して、より効率的なページ閉塞を実行することができる。
【０１１３】
また、上述の本発明の実施の形態において、情報処理装置の動作は、本発明のメモリ障害処理プログラムを構成するプログラムモジュールとして情報処理装置のＲＯＭおよび記憶装置に記憶され、ＣＰＵによって実行されるようにしてもよい。
【０１１４】
また、上述した本発明の各実施の形態は、適宜組み合わせて実施されることが可能である。
【０１１５】
また、本発明は、上述した各実施の形態に限定されず、様々な態様で実施されることが可能である。
【０１１６】
（付記１）
前記メモリ装置が前記メモリチップおよび前記予備メモリチップによってそれぞれ構成される複数のランクを有するとき、前記メモリ障害処理システムに、
前記障害が発生したメモリチップを含むランクが前記予備メモリチップ切替前であるか切替後であるかを判断する切替前後判断ステップをさらに実行させ、
前記予備メモリチップ切替ステップは、前記発生回数総和が前記総和閾値を超えたとき前記ランクが前記予備メモリチップ切替前であれば前記メモリチップを前記予備メモリチップへ切り替え、
前記キャッシュライン単位カウントステップは、前記予備メモリチップ切替後であると判断されたランクに含まれるメモリチップで発生した障害の発生回数を前記キャッシュライン単位でカウントすることを特徴とする請求項１０に記載のメモリ障害処理プログラム。
【産業上の利用可能性】
【０１１７】
本発明は、予備メモリ切替とページ閉塞とを効率的に連動させてシステムダウンを防止することができるメモリ障害処理システムを提供することができ、ハイエンドサーバ等システムダウンの防止が要求される情報処理システムとして好適である。
【符号の説明】
【０１１８】
１、４、７  メモリ障害処理システム
２、５  メモリ装置
３、６、８  情報処理装置
２１  メモリチップ
２２  予備メモリチップ
３１  発生回数総和カウント部
３２  予備メモリチップ切替部
３３  キャッシュライン単位カウント部
３４、６３  ページ閉塞部
５２  ランク
６１  切替前後判断部
６２  障害ページ通知部
８１  ランク単位発生回数カウント部
【図１】
2011150469.tif 000003
【図２】
2011150469.tif 000004
【図３】
2011150469.tif 000005
【図４】
2011150469.tif 000006
【図５】
2011150469.tif 000007
【図６】
2011150469.tif 000008
【図７】
2011150469.tif 000009