(57)【要約】【課題】  本発明は、故障によりシステムの動作中に望ましくない結果を生じさせる前に、コンピュータシステム内のセルの故障を検出する。【解決手段】  コンピュータシステム１０は、システムモジュール１２、テストモジュール２０、第１のセル（４０，６０，７０）、および第２のセル（４０，６０，７０）を備える。システムモジュール１２は、第２のセル（４０，６０，７０）がオペレーティングシステムの第１のインスタンスに割り振られた後に、テストモジュール２０に第１のセル（４０，６０，７０）をテストさせるように構成される。【選択図】図１
2005135409.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータシステム（１０）であって、
システムモジュール（１２）と、
テストモジュール（２０）と、
第１のセル（４０／６０／７０）と、
第２のセル（４０／６０／７０）と、
を備え、
前記システムモジュールは、前記第２のセルがオペレーティングシステムの第１のインスタンスに割り振られた後、前記テストモジュールに前記第１のセルをテストさせるように構成される、
コンピュータシステム。
【請求項２】
前記システムモジュールは、前記テストモジュールに前記第１のセルをテストさせる前に、前記第１のセルを前記オペレーティングシステムの前記第１のインスタンスから割り振り解除させるように構成される、
請求項１記載のコンピュータシステム。
【請求項３】
前記システムモジュールは、前記オペレーティングシステムの前記第１のインスタンスから前記第１のセルを割り振り解除させた後に、前記第２のセルを前記オペレーティングシステムの前記第１のインスタンスに割り振らせるように構成される、
請求項２記載のコンピュータシステム。
【請求項４】
前記システムモジュールは、浮動セルを識別するリストへのアクセスに応答して、前記テストモジュールに前記第１のセルをテストさせるように構成される、
請求項１記載のコンピュータシステム。
【請求項５】
前記システムモジュールは、前記オペレーティングシステムの前記第１のインスタンスに割り振り済みのセルを識別するリストへのアクセスに応答して、前記テストモジュールに前記第１のセルをテストさせるように構成される、
請求項１記載のコンピュータシステム。
【請求項６】
前記テストモジュールは診断テストを含み、前記テストモジュールは、前記診断テストを使用して前記第１のセルをテストさせる、
請求項１記載のコンピュータシステム。
【請求項７】
前記第１のセルは診断テストを含み、前記テストモジュールは、前記診断テストを開始することによって前記第１のセルをテストさせる、
請求項１記載のコンピュータシステム。
【請求項８】
前記テストモジュールは、前記第１のセルのテストに応答してエラーを検出するように構成され、前記テストモジュールは、前記エラーの検出に応答して、前記エラーに関連する修正アクションを実行させるように構成される、
請求項１記載のコンピュータシステム。
【請求項９】
前記システムモジュールは、前記テストモジュールが前記第１のセルをテストした後、前記オペレーティングシステムの第２のインスタンスに前記第１のセルを割り振るように構成される、
請求項１記載のコンピュータシステム。
【請求項１０】
コンピュータシステム（１０）によって実行される方法であって、
オペレーティングシステムに割り振られた第１のセル（４０／６０／７０）をテストすべきことを検出し、
前記第１のセルを前記オペレーティングシステムから割り振り解除し、
第２のセル（４０／６０／７０）を前記オペレーティングシステムに割り振り、
前記第１のセルをテストする、
ことを含む、コンピュータシステムによって実行される方法。
【発明の詳細な説明】
【技術分野】
【０００１】
セルをテストするシステムおよび方法に関する。
【背景技術】
【０００２】
大型のコンピュータシステムほど一般に、オペレーティングシステムの制御下でタスクを実行する、セルとして知られる多くの離散したサブシステムを備える。こういったシステムでは、オペレーティングシステムの複数のコピーを同時に実行することができる。オペレーティングシステムの各コピーは、オペレーティングシステムのインスタンスと呼ばれる。オペレーティングシステムの各インスタンスは、１つまたは複数のセルを割り当てさせて、このセル（１つまたは複数）にタスクを実行させることによってタスクを実行させる。オペレーティングシステムのインスタンスに割り振られるセルのタイプおよび数は、インスタンスが実行する必要があるタスクのタイプおよび数に伴い、時間とともに変化し得る。
【０００３】
システムは、所与の時間にオペレーティングシステムのインスタンスに割り振られない複数のセルを含むことができる。こういったセルは浮動セルとして知られ、オペレーティングシステムのインスタンスに割り振られるまで使用されないままである。その他のセルは、割り振り済みのセル、または所有セルとして知られ、オペレーティングシステムのインスタンスの制御下にある。割り振り済みのセルの多くは、それぞれのオペレーティングシステムインスタンスにより常に使用されることができる。しかし、こういった割り振り済みのセルによっては、そのセルが比較的長い時間期間割り振られているインスタンスに使用されなくなるものがある。
【０００４】
コンピュータシステムの信頼性は、システム内の個々のセルの信頼性によって決まる場合がある。たとえば、システム内のセルが故障した場合、故障したセルはおそらく、システム内の他のセルを故障させ、システムの動作中に望ましくない結果を発生させるであろう。浮動セルおよび割り振り済みのセルの両方が比較的長い時間期間使用されない場合があるため、こういったセルに関連する故障は明らかになるまでに長い時間がかかる場合があり、明らかになったときに望ましくない結果を発生させ得る。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
したがって、故障によりシステムの動作中に望ましくない結果を生じさせる前に、コンピュータシステム内のセルの故障を検出することが可能であることが望ましいであろう。
【課題を解決するための手段】
【０００６】
例示的な一実施形態によれば、システムモジュール、テストモジュール、第１のセル、および第２のセルを備えたコンピュータシステムが提供される。システムモジュールは、第２のセルがオペレーティングシステムの第１のインスタンスに割り振られた後に、テストモジュールに第１のセルをテストさせるように構成される。
【発明を実施するための最良の形態】
【０００７】
好ましい実施形態の以下の詳細な説明では、本明細書の一部を成し、本発明を実施することができる特定の実施形態が例示により示される添付図面を参照する。他の実施形態も利用することが可能であり、本発明の範囲から逸脱することなく構造的または論理的変更を行うことができることを理解されたい。したがって以下の詳細な説明は、限定の意味で解釈されるべきではなく、本発明の範囲は添付の特許請求の範囲によって規定される。
【０００８】
本開示の一態様では、コンピュータシステムは、コンピュータシステムの動作中に、コンピュータシステム内のセル上でテストを実行するように構成されたテストモジュールを備える。セルをテストするには、システムモジュールは、必要であれば、オペレーティングシステムによる使用からセルを割り振り解除させ、次に、テストモジュールに機能テストおよび／または電気テストをセル上で実行させる。テストモジュールは、テストに応答していずれのエラーも検出し、いずれのエラーにも応答して、システムモジュールによる修正アクションを実行させる。
【０００９】
図１は、セルをテストするシステムを備えたコンピュータシステム１０の一実施形態を示すブロック図である。コンピュータシステム１０は、オペレーティングシステム（図示せず）の複数のインスタンスを実行するように構成され、システムモジュール１２、テストモジュール２０、浮動セルのセット３０、およびオペレーティングシステムのインスタンス５０ａ〜５０（ｍ）に割り振り済みのセルのセットを備える。但し、ｍは１以上であり、オペレーティングシステムのｍ番目のインスタンスを表す。
【００１０】
浮動セルのセット３０はセル４０ａ〜４０（ｎ）を備える。但し、ｎは１以上であり、ｎ番目のセルを表す。オペレーティングシステムの第１のインスタンス５０ａに割り振り済みのセルのセットは、セル６０ａ〜６０（ｏ）を含む。但し、ｏは１以上であり、ｏ番目のセルを表し、オペレーティングシステムのｍ番目のインスタンス５０（ｍ）に割り振り済みのセルのセットは、セル７０ａ〜７０（ｐ）を含む。但し、ｐは１以上であり、ｐ番目のセルを表す。各セット３０および５０ａ〜５０（ｍ）は任意の数のセルを含むことができる。
【００１１】
本明細書では、「オペレーティングシステムインスタンス５０」は、オペレーティングシステムのインスタンス５０ａ〜５０（ｍ）に割り振り済みのセルのセットのいずれか１つを指す。「セル４０」、「セル６０」、および「セル７０」は、セル４０ａ〜４０（ｎ）、セル６０ａ〜６０（ｏ）、およびセル７０ａ〜７０（ｐ）それぞれのいずれか１つを指し、「セル４０（複数）」、「セル６０（複数）」、および「セル７０（複数）」は、セル４０ａ〜４０（ｎ）、セル６０ａ〜６０（ｏ）、およびセル７０ａ〜７０（ｐ）のセットそれぞれを指す。
【００１２】
システムモジュール１２は、コンピュータシステム１０を管理するように構成されたハードウェアおよび／またはソフトウェアを備える。具体的には、システム１２は、インスタンスからの要求に応答して浮動セル４０（複数）をオペレーティングシステムインスタンス５０に割り振り、インスタンスからの解放に応答してセル６０および７０（複数）を割り振り解除する。システム１２はまた、浮動セル４０（複数）ならびに割り振り済みのセル６０およびセル７０（複数）を、コンピュータシステム１０の動作中に、テストモジュール２０を使用して定期的にテストさせる。
【００１３】
テストモジュール２０は、コンピュータシステム１０のセル４０（複数）、セル６０（複数）、およびセル７０（複数）をテストするように構成されたハードウェアおよび／またはソフトウェアを備える。システムモジュール１２からの信号に応答して、テストモジュール２０は、個々のセル４０、６０、および７０に対して機能テストおよび／または電気テストを実行する。テストモジュール２０は、テストに応答して発生したいずれのエラーも検出し、エラーに応答して、システムモジュール１２による修正アクションを実行させる。
【００１４】
図２ａ、図２ｂ、および図２ｃに示すように、セル４０、６０、および７０はそれぞれ、処理システム、記憶システム、入出力（Ｉ／Ｏ）システムであることができる。セル４０、６０、および７０はまた、処理システム、記憶システム、および入出力（Ｉ／Ｏ）システムの組み合わせ（図示せず）であってもよい。
【００１５】
図２ａは、図１に示すコンピュータシステムの選択された部分の一実施形態を示すブロック図であり、セル４０、６０、または７０（以下、セル４０／６０／７０）は処理システムを構成する。この実施形態では、セル４０／６０／７０はプロセッサ１１０ａ〜１１０（ｑ）（但し、ｑは１以上であり、ｑ番目のプロセッサを表す）、コア電子回路複合体１２０、メモリ１３０、および入出力（Ｉ／Ｏ）装置のセット１４０を備える。コア電子回路複合体１２０は、メモリ１３０、Ｉ／Ｏ装置１４０、およびテストモジュール２０に接続される。コア電子回路複合体１２０はチップセットと呼ぶこともできる。
【００１６】
本明細書では、「プロセッサ１１０」はプロセッサ１１０ａ〜１１０（ｑ）のいずれか１つを指し、「プロセッサ１１０（複数）」はプロセッサ１１０ａ〜１１０（ｑ）のセットを指す。プロセッサ１１０ａはキャッシュ１１２に接続され、プロセッサ１１０ｂはキャッシュ１１４を備える。キャッシュ１１２および１１４は、命令およびデータ等、任意のタイプの情報を記憶することができる。他のプロセッサ１１０は、いずれのタイプまたは数のキャッシュも含むことができる、または併用して動作可能であることができる。プロセッサ１１０は、メモリ１３０を使用して、オペレーティングシステム（図示せず）および他のプログラムからの命令を実行する。
【００１７】
コア電子回路複合体１２０は、１つまたは複数の接続部１２８を使用してＩ／Ｏコントローラ１２４のセットに接続されたシステムコントローラ１２２を備える。システムコントローラ１２２はメモリコントローラ１２６を備え、メモリコントローラ１２６は、プロセッサ１１０およびＩ／Ｏ装置１４０からの書き込みおよび読み出しトランザクションそれぞれに応答して、情報をメモリ１３０に記憶し、また情報をメモリ１３０から読み出すように構成される。メモリコントローラ１２６は、メモリ１３０からの情報の読み出しに応答して、メモリ１３０に対してメモリスクラビングまたは他のエラー修正機能を実行するように構成されたハードウェアおよび／またはソフトウェアを備える。
【００１８】
Ｉ／Ｏコントローラ１２４は、１つまたは複数のＩ／Ｏ装置１４０を管理するように構成されたいずれのタイプおよび数のコントローラも備えることができる。Ｉ／Ｏコントローラ１２４の例としては、Ｉ２Ｃコントローラ、ＩＤＥ／ＡＴＡコントローラ、ＳＡＴＡコントローラ、ＰＣＩコントローラ、ＳＣＳＩコントローラ、ＵＳＢコントローラ、ＩＥＥＥ１３９４（ファイアワイヤ）コントローラ、ＰＣＭＣＩＡコントローラ、パラレルポートコントローラ、およびシリアルポートコントローラが挙げられる。一実施形態では、Ｉ／Ｏコントローラ１２４は、システムコントローラ１２２に接続された中間バス、中間バスに接続されたＰＣＩコントローラ、ならびにＰＣＩコントローラに接続されたＳＣＳＩ、ＩＤＥ、および他のコントローラを備えた複数のマイクロチップを備える。本明細書では、「Ｉ／Ｏコントローラ１２４」はＩ／Ｏコントローラ１２４（複数）の中の単一のＩ／Ｏコントローラを指し、「Ｉ／Ｏコントローラ１２４（複数）」はＩ／Ｏコントローラ１２４のセットを指す。
【００１９】
メモリ１３０は、ＲＡＭ、ＳＲＡＭ、ＤＲＡＭ、ＳＤＲＡＭ、およびＤＤＲ  ＳＤＲＡＭ等の、メモリコントローラ１２６によって管理されるいずれのタイプのメモリも含む。システムファームウェア（図示せず）またはオペレーティングシステム１３２からのコマンドに応答して、メモリコントローラ１３０は、ハードドライブまたはＣＤ−ＲＯＭドライブ等のＩ／Ｏ装置１４０から情報をメモリ１３０にロードさせることができる。
【００２０】
Ｉ／Ｏ装置１４０（複数）は、Ｉ／Ｏコントローラ（複数）１２４を使用してコンピュータシステム１００と通信するように構成されたいずれのタイプおよび数の装置も含むことができる。各Ｉ／Ｏ装置１４０は、コンピュータシステム１００の内部にあっても、また外部にあってもよく、マザーボード（図示せず）の拡張スロット、またはＩ／Ｏコントローラ１２４に接続されたコンピュータシステム１００を収容するシャシ（図示せず）のコネクタに接続することができる。Ｉ／Ｏ装置１４０（複数）は、コンピュータシステム１００が他のコンピュータシステムおよび情報を記憶するように構成された記憶装置（図示せず）と通信できるようにするネットワーク装置（図示せず）を含むことができる。本明細書では、「Ｉ／Ｏ装置１４０」はＩ／Ｏ装置１４０（複数）のうちの単一のＩ／Ｏ装置を指し、「Ｉ／Ｏ装置１４０（複数）」はＩ／Ｏ装置１４０のセットを指す。
【００２１】
テストモジュール２０は、接続１５０、たとえばＩ２Ｃ接続を用いてＩ／Ｏコントローラ１２４、たとえばＩ２Ｃコントローラに接続する。テストモジュール２０は、接続１５０を用いてセル４０／６０／７０をテストする。
【００２２】
セル４０／６０／７０は、Ｉ／Ｏコントローラ１２４に接続された接続１５２を用いてコンピュータシステム１０と通信する。他の実施形態では、セル４０／６０／７０は他の方法でコンピュータシステム１０と通信してもよい。
【００２３】
図２ｂは、図１に示すコンピュータシステムの選択された部分の一実施形態を示すブロック図であり、セル４０／６０／７０は記憶システムを構成する。この実施形態では、セル４０／６０／７０は、記憶装置１７０ａ〜１７０（ｒ）のセットに接続されたコントローラ１６０を備える。但し、ｒは１以上であり、ｒ番目の記憶装置を表す。
【００２４】
テストモジュール２０は接続１８０を用いてコントローラ１６０のポートに接続する。テストモジュール２０は、接続１８０を用いてセル４０／６０／７０をテストする。
【００２５】
セル４０／６０／７０は、コントローラ１６０に接続された接続１８２を用いてコンピュータシステム１０と通信する。コントローラ１６０は、コンピュータシステム１０から読み出しおよび書き込みトランザクション等のトランザクションを受け取り、トランザクションに応答して、記憶装置１７０の１つまたは複数から情報を読み出させるかまたはそこに書き込ませる。他の実施形態では、セル４０／６０／７０は他の方法でコンピュータシステム１０と通信してもよい。
【００２６】
図２ｃは図１に示すコンピュータシステムの選択された部分の一実施形態を示すブロック図であり、セル４０／６０／７０は入出力（Ｉ／Ｏ）システムを構成する。この実施形態では、セル４０／６０／７０はＩ／Ｏ装置２００ａ〜２００（ｓ）のセットに接続されたコントローラ１９０を備える。但し、ｓは１以上であり、ｓ番目のＩ／Ｏ装置を表す。
【００２７】
テストモジュール２０は、接続２１０を用いてコントローラ１９０のポートに接続する。テストモジュール２０は、接続２１０を用いてセル４０／６０／７０をテストする。
【００２８】
セル４０／６０／７０は、コントローラ１９０に接続された接続２１２を用いてコンピュータシステム１０と通信する。コントローラ１９０は、コンピュータシステム１０からのトランザクションを受け取り、トランザクションをＩ／Ｏ装置２００に供給させる。コントローラ１９０はまた、Ｉ／Ｏ装置２００からトランザクションを受け取り、トランザクションをコンピュータシステム１０に供給させる。他の実施形態では、セル４０／６０／７０は他の方法でコンピュータシステム１０と通信してもよい。
【００２９】
図３は、システムモジュール１２の一実施形態を示すブロック図である。この実施形態では、システムモジュール１２は、プロセッサ３００、インタフェース３１０、およびメモリ３２０を備える。メモリ３２０は、システムプロセス３３０、浮動セルリスト、およびオペレーティングシステム（ＯＳ）セルリスト３５０ａ〜３５０（ｆ）のセットを備える。但し、ｆは１以上であり、ｆ番目のＯＳセルリストを表す。
【００３０】
プロセッサ３００は、システムプロセス３３０を実行し、インタフェース３１０を使用してテストモジュール２０ならびにセル４０、６０、および７０（複数）と通信するように構成される。システムプロセス３３０は、ＯＳのインスタンスによるセルの使用を管理するように構成されたソフトウェアルーチンのセットを含む。システムプロセス３３０は、ＯＳインスタンスに割り振られていないセル４０（複数）を追跡するように浮動セルリスト３４０を作成して管理する。システムプロセス３３０は、ＯＳインスタンスに割り振り済みのセルを追跡するように各ＯＳセルリスト３５０を作成して管理する。各ＯＳセルリスト３５０には、オペレーティングシステムのインスタンスが関連付けられ、そのインスタンスに割り振り済みのセルを識別する。たとえば、第１のＯＳセルリスト３５０は、ＯＳインスタンス５０ａ（図１参照）に割り振り済みのセル６０（複数）を列挙し、第２のＯＳセルリスト３５０は、ＯＳインスタンス５０（ｍ）（図１に示す）に割り振り済みのセル７０（複数）を列挙する。
【００３１】
システムプロセス３３０はまた、テストすべきセルを識別し、コンピュータシステム１０の動作中に、すなわちオペレーティングシステムの少なくとも１つのインスタンスが実行されている間に、テストモジュール２０にセルをテストさせることにより、セル４０、６０、および７０のテストも管理する。システムプロセス３３０は、スケジュールまたはセル４０、６０、７０をいつテストすべきかを決定する他のアルゴリズムに従ってテストすべきセルを識別することができる。一実施形態では、浮動セルリスト３４０およびＯＳセルリスト３５０は、各セルの識別子とともに、いつセルをテストすべきか、またはいつセルが前にテストされたかを示す情報を含む。システムプロセス３３０は、この情報を用いて、テストすべきセルを識別することができる。別の実施形態では、浮動セルリスト３４０および／またはＯＳセルリスト３５０は、各セルの識別子とともに、セルが実行している、または実行するように構成されているアプリケーションまたはアプリケーションタイプを示す情報を含む。パフォーマンスが極めて重要なアプリケーションを実行している、または実行するように構成されているセルのテストは、システムがパフォーマンスレベルを維持することができるように延期または遅延することができる。さらなる実施形態では、浮動セルリスト３４０および／またはＯＳセルリスト３５０は、各セルの識別子とともに、セルの頻度および／またはテスト優先度の判定に使用されるセルテスト値を示す情報を含む。システムに極めて重要なセル等、特定のセルには、システム内の他のセルの規則性および／または優先度を増した状態でテストされるよう保証するセルテスト値を与えることができる。他の実施形態では、システムプロセス３３０は他の情報にアクセスして、テストすべきセルを識別してもよい。
【００３２】
テストすべきセルがＯＳインスタンスに割り振られている場合、システムプロセス３３０は、セルをＯＳインスタンスから割り振り解除させて、セルをテストすることができる。システムプロセス３３０は、代わりのセルをＯＳインスタンスに割り振らせて、テストすべきセルを置き換えることができる。システムプロセス３３０は、テストモジュール２０に、インタフェース３１０を使用してテストすべきセルを通知させる。
【００３３】
図４は、テストモジュール２０の一実施形態を示すブロック図である。この実施形態では、テストモジュール２０は、プロセッサ４００、インタフェース４１０、およびメモリ４２０を備える。メモリ４２０は、診断プロセス４３０、診断テスト４４０、および状態・結果４５０を備える。
【００３４】
プロセッサ４００は、診断プロセス４３０を実行し、インタフェース４１０を使用してシステムモジュール１２およびセル４０、６０、および７０（複数）と通信するように構成される。診断プロセス４３０は、システムモジュール１２によって識別されたセルをテストするように構成されたソフトウェアルーチンのセットを含む。診断プロセス４３０は、診断テスト４４０の実行を管理し、エラーが検出された場合には修正アクションを実行させる。診断テスト４４０は、セルをテストし、テストの状態および結果を状態・結果４５０に記憶するように構成されたソフトウェアルーチンのセットを含む。ソフトウェアルーチンは、機能テストおよび電気テストをセルに対して実行させる。エラーが診断テスト４４０により検出される場合、テストにより診断プロセス４３０にエラーが通知される。診断プロセス４３０は、エラーに応答して修正アクションを実行させる。修正アクションは、オペレーティングシステムおよび／またはシステム管理者にエラーを通知すること、またはセルを使用から割り振り解除させたままにすることを含むことができる。診断プロセス４３０は、オペレーティングシステムまたはシステム管理者が状態・結果４５０にアクセスできるようにすることもできる。
【００３５】
テスト後に、システムモジュール１２はセルをオペレーティングシステムインスタンス５０に割り振ることができる。
【００３６】
図１、図３、および図４には別個のモジュールとして示しているが、他の実施形態では、システムモジュール１２およびテストモジュール２０の機能のいくつかまたはすべてを単一のモジュールに組み合わせてもよい。
【００３７】
図５、図６、および図７は、コンピュータシステム１０内のセルを管理しテストする方法の実施形態を示すフローチャートである。これら方法により説明される機能は、図１の実施形態におけるシステムモジュール１２によって実行することができる。
【００３８】
図５は、セル４０、６０、および７０（複数）を管理する方法を示す。セル４０、６０、および７０（複数）は、ブロック５０２に示されるようにシステムモジュール１２によってコンピュータシステム１０において検出することができる。システムモジュール１２は、コンピュータシステム１０がオンになる、またはリセットされることに応答してこの機能を実行することができる。システムモジュール１２は、ブロック５０４に示すように、浮動セルリスト３４０およびＯＳインスタンスリスト３５０等のセルリスト構造を作成する。
【００３９】
ブロック５０６に示すように、システムモジュール１２により、セルに対する要求を受け取ったか否かについての判定が行われる。要求が受け取られていた場合、ブロック５０８に示すように、セル４０が浮動リスト３４０から割り振られ、セルを要求したＯＳインスタンスに関連するＯＳインスタンスリスト３５０に追加される。
【００４０】
要求が受け取られていない場合、ブロック５１０に示すように、システムモジュール１２により、セルの解放を受け取ったか否かが判定される。解放が受け取られている場合、ブロック５１２に示すように、セル６０または７０は、セルを解放したＯＳインスタンスから割り振り解除され、ＯＳインスタンスに関連するＯＳインスタンスリスト３５０から取り出され、浮動リスト３４０に追加される。ブロック５１０および５１２の機能後に、ブロック５０６の機能が繰り返される。
【００４１】
図６は、浮動セル４０をテストする方法を示す。システムモジュール１２は、ブロック６０２に示すように浮動セルリスト３４０にアクセスする。ブロック６０４に示すように、システムモジュール１２により、テストすべきセル４０があるか否かについて判定が行われる。上に記したように、システムモジュール１２は、浮動セルリスト３４０に記憶されている情報に従ってこの判定を行うことができる。情報には、セル４０（複数）をテストするスケジュールされた時間、前にセル４０（複数）をテストした時間、パフォーマンスベースの基準、および／またはセルテスト値を含むことができる。テストすべきセル４０がない場合、ブロック６０２および６０４の機能を後に繰り返すことができる。
【００４２】
テストすべきセル４０がある場合、ブロック６０６に示すように、テストモジュール２０によってセル４０にテストが実行される。システムモジュール１２は、セル４０をテストモジュール２０に通知して、セルをテストさせる。ブロック６０８に示すように、テストモジュール２０により、エラーがセル４０において検出されたか否かが判定される。エラーが検出されている場合、ブロック６１２に示すように、テストモジュール２０はシステムモジュール１２に修正アクションを実行させ、ブロック６１２に示すように、テストの結果がテストモジュール２０によって記憶される。エラーが検出されなかった場合も、ブロック６１２に示すように、テストの結果はテストモジュール２０によって記憶される。
【００４３】
ブロック６１２の機能後、ブロック６１４に示すように、システムモジュール１２により、テストする別のセル４０があるか否かが判定される。テストする別のセル４０がある場合、方法はブロック６０６の機能に戻る。テストする別のセル４０がない場合、方法はブロック６０２の機能を繰り返す。
【００４４】
図７は、割り振り済みのセル６０および７０（複数）をテストする方法を示す。システムモジュール１２は、ブロック７０２に示すようにＯＳセルリスト３５０にアクセスする。ブロック７０４に示すように、システムモジュール１２により、テストすべきセル６０または７０があるか否かが判定される。上に述べたように、システムモジュール１２は、ＯＳセルリスト３５０に記憶されている情報に従ってこの判定を行うことができる。情報には、セル６０および７０（複数）をテストするスケジュールされた時間、前にセル６０および７０（複数）をテストした時間、パフォーマンスベースの基準、および／またはセルテスト値を含むことができる。テストすべきセル６０または７０がない場合、ブロック７０２および７０４の機能を後に繰り返すことができる。
【００４５】
テストすべきセル６０または７０がある場合、ブロック７０６に示すように、システムモジュール１２はセル６０または７０をＯＳインスタンス５０から割り振り解除する。ブロック７０８に示すように、システムモジュール１２は代わりのセル４０を浮動セルリスト３４０からＯＳインスタンス５０に割り振る。ブロック７１０に示すように、テストがテストモジュール２０によってセル６０または７０に対して実行される。システムモジュール１２はセル６０または７０をテストモジュール２０に通知して、セルをテストさせる。ブロック７１２に示すように、テストモジュール２０により、エラーがセル６０または７０において検出されたか否かが判定される。エラーが検出された場合、ブロック７１４に示すように、テストモジュール２０はシステムモジュール１２に修正アクションを実行させ、ブロック７１６に示すように、テストの結果がテストモジュール２０によって記憶される。エラーが検出されなかった場合も、ブロック７１６に示すように、テストの結果はテストモジュール２０によって記憶される。
【００４６】
７１６の機能後、ブロック７１８に示すように、システムモジュール１２により、テストする別のセル６０または７０があるか否かが判定される。テストする別のセル６０または７０がある場合、方法はブロック７１０の機能に戻る。テストする別のセル６０または７０がない場合、方法はブロック７０２の機能を繰り返す。
【００４７】
図８は、コンピュータシステム１０におけるテストモジュール２０の代替の実施形態を示すブロック図である。この実施形態では、診断テスト４４０がテストモジュール２０ではなくセル４０、６０、７０（複数）に配置される。この実施形態においてセル４０、６０、および７０（複数）に対してテストを実行するには、診断プロセス４３０がインタフェース４１０を使用して診断テスト４４０を開始し、診断テスト４４０がセル４０、６０、および７０（複数）内で実行される。診断テスト４４０は、インタフェース４１０を使用して状態および結果をテストモジュール２０に提供させ、状態・結果４５０に記憶させる。図８に示すように、診断テスト４４０は、いくつかの実施形態では、テストモジュール２０内ではなくセル４０、６０、および７０（複数）内に配置することができる。
【００４８】
特定の実施形態について本明細書に図示し説明したが、本発明の範囲から逸脱することなく、様々な代替および／または等価の実施態様で、図示し説明した特定の実施形態を置き換えてもよいことが当業者により理解されよう。本願は、本明細書に記載した特定の実施形態の適合例または変形例をいずれも包含することを意図する。したがって、本発明は特許請求項およびその等価物によってのみ限定されることを意図する。
【図面の簡単な説明】
【００４９】
【図１】セルをテストするシステムを備えるコンピュータシステムの一実施形態を示すブロック図である。
【図２ａ】図１に示すコンピュータシステムの選択された部分の一実施形態を示すブロック図である。
【図２ｂ】図１に示すコンピュータシステムの選択された部分の一実施形態を示すブロック図である。
【図２ｃ】図１に示すコンピュータシステムの選択された部分の一実施形態を示すブロック図である。
【図３】システムモジュールの一実施形態を示すブロック図である。
【図４】テストモジュールの一実施形態を示すブロック図である。
【図５】コンピュータシステム内のセルを管理する方法の一実施形態を示すフローチャートである。
【図６】コンピュータシステム内の浮動セルをテストする方法の一実施形態を示すフローチャートである。
【図７】コンピュータシステム内の割り振り済みのセルをテストする方法の一実施形態を示すフローチャートである。
【図８】テストモジュールの代替の実施形態を示すブロック図である。
【符号の説明】
【００５０】
１２・・・システムモジュール
２０・・・テストモジュール
４０、６０、７０・・・セル
１１０・・・プロセッサ
１１２、１１４・・・キャッシュ
１２０・・・コア電子回路複合体
１２２・・・システムコントローラ
１２４・・・Ｉ／Ｏコントローラ
１２６・・・メモリコントローラ
１３０・・・メモリ
１４０・・・Ｉ／Ｏ装置
１６０・・・コントローラ
１７０・・・記憶装置
１９０・・・コントローラ
２００・・・入出力装置
３００・・・プロセッサ
３１０・・・インタフェース
３２０・・・メモリ
３３０・・・システムプロセッサ
３４０・・・浮動セルリスト
３５０・・・ＯＳセルリスト
４００・・・プロセッサ
４１０・・・インタフェース
４２０・・・メモリ
４３０・・・診断プロセス
４４０・・・診断テスト
４５０・・・状態・結果
【図１】
2005135409.tif 000003
【図２ａ】
2005135409.tif 000004
【図２ｂ】
2005135409.tif 000005
【図２ｃ】
2005135409.tif 000006
【図３】
2005135409.tif 000007
【図４】
2005135409.tif 000008
【図５】
2005135409.tif 000009
【図６】
2005135409.tif 000010
【図７】
2005135409.tif 000011
【図８】
2005135409.tif 000012