(57)【要約】【課題】高機能記憶処理装置の設計段階で、ソフトウェアのデバッグを高い柔軟性を持って実施できるツールが必要となるが高機能記憶処理装置内にそのデバッグ機能を持たせることは、限られた性能および容量の面から制約が多い。【解決手段】高機能記憶処理装置内にブレークポイントを有する第１プログラム命令を用意する。機能、容量共に余裕のあるホストの中に第１プログラム命令のブレークポイントに対応するパッチコードを用意し、実行時にブレークポイントを識別するとパッチコードと置き換えて実行し、予想される結果と比較してソフトウェアの良否を判断する。【選択図】図８
2007004793.tif 000002
【特許請求の範囲】
【請求項１】
高機能記憶処理装置用ソフトウェア・コードカバレッジツール装置であって：
高機能記憶処理装置内で実行可能なブレークポイント命令を含む第１プログラム命令と；
ホスト装置のメモリ部に格納されているプログラム命令のパッチセットと；
ブレークポイント命令をパッチセットで置き換えるための、ホスト内の第２プログラム命令を含む、前記装置。
【請求項２】
請求項１記載の装置において、第２プログラム命令がパッチセットを含む第１プログラム命令の一部を再実行する、前記装置。
【請求項３】
請求項２記載の装置において、第１プログラム命令のパッチセット部分を再実行するために、第２プログラム命令がプログラムカウンタをブレークポイント命令の開始アドレスに関連してデクリメントする、前記装置。
【請求項４】
請求項２記載の装置において、第１プログラム命令が複数の個別ブレークポイント命令を含み、ホストがそれぞれのブレークポイント命令から参照される、対応する複数のパッチセットを含む、前記装置。
【請求項５】
請求項４記載の装置において、第２プログラム命令が高機能記憶処理装置の状態を、個々のパッチセットを具備した第１プログラム命令の再実行後に予想される状態と比較し、確定的に制御を第１プログラム命令に返す、前記装置。
【請求項６】
請求項５記載の装置において、制御が第１プログラム命令に返された際に、第２プログラム命令が個別のパッチセットが実行されたことを記録する、前記装置。
【請求項７】
請求項２記載の装置において、第２プログラム命令が第１プログラム命令の再実行を単一ステップで行う、前記装置。
【請求項８】
コードカバレッジ測定方法であって：
高機能記憶処理装置を用意し；
高機能記憶処理装置で実行可能で、ホスト内に格納されているコードパッチを参照するブレークポイント命令を含むプログラム・コードをホスト装置から提供し；
そのプログラム・コードを高機能記憶処理装置内で実行し；
実行ステップ中にブレークポイント命令を識別し；
ブレークポイント命令をプログラム・コード内のコードパッチで置き換えることを含む、前記方法。
【請求項９】
請求項８記載の方法において、置き換えステップがコードパッチを含むプログラム・コードの部分を再実行することを含む、前記方法。
【請求項１０】
請求項９記載の方法において、置き換えステップがコードパッチ再実行時のブレークポイント命令の開始アドレスに関連して、プログラムカウンタのデクリメントを含む、前記方法。
【請求項１１】
請求項８記載の方法において、プログラム・コードを提供するステップが、対応する複数のコードパッチを参照する複数の個別ブレークポイント命令を含む、前記方法。
【請求項１２】
請求項９記載の方法が更に高機能記憶処理装置の状態を、コードパッチを具備するプログラム・コード再実行後に予想される状態と比較し、確定的に制御をプログラム・コードに返すことを含む、前記方法。
【請求項１３】
請求項１２記載の方法において、比較ステップが、制御がプログラム・コードに返された際にコードパッチが実行されたことを記録することを含む、前記方法。
【請求項１４】
請求項１３記載の方法において、比較ステップがプログラム・コードの単一ステップ再実行を含む、前記方法。
【請求項１５】
記憶装置であって：
データ格納動作を制御する高機能記憶処理装置と；
高機能記憶処理装置で実行されるソフトウェアのコードカバレッジを分析するための手段を含む、前記装置。
【請求項１６】
請求項１５記載の装置において、コードカバレッジを分析するための手段が、ブレークポイントを高機能記憶処理装置で実行されるプログラム・コード内に格納することを特徴とする、前記装置。
【請求項１７】
請求項１６記載の装置において、コードカバレッジを分析するための手段が、コードパッチをホスト装置内に格納することを特徴とする、前記装置。
【請求項１８】
請求項１７記載の装置において、コードカバレッジを分析するための手段が、特定ブレークポイントを対応するコードパッチで置き換えることを特徴とする、前記装置。
【請求項１９】
請求項１８記載の装置において、コードカバレッジを分析するための手段が、コードパッチを含むプログラム・コードの一部を再実行することを特徴とする、前記装置。
【請求項２０】
請求項１９記載の装置において、コードカバレッジを分析するための手段が、プログラム・コードのコードパッチ部分の再実行後に、高機能記憶処理装置の監視された状態に関連して、プログラム・コードの実行を確定的に継続することを特徴とする、前記装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は一般的にソフトウェア・デバッグの分野に関わり、より詳細には分散型記憶システム内の高機能記憶処理装置のデバッグに関する。
【背景技術】
【０００２】
コンピュータ・ネットワークは、業界標準アーキテクチャ（ＩＳＡ）のデータ転送速度がインテル社製８０３８６処理装置のデータ・アクセス速度に対応できなくなったとき増え始めた。ローカルエリア・ネットワーク（ＬＡＮ）はネットワーク内にデータ記憶容量部を統合することにより記憶装置エリア・ネットワーク（ＳＡＮ：ｓｔｏｒａｇｅ  ａｒｅａ  ｎｅｔｗｏｒｋ）に進化した。使用者は機器とＳＡＮ内の機器で取り扱われる関連データとの統合により絶大な利益を実感しており、例えば直接装着された記憶装置では実現できないような大規模記憶装置の取り扱い能力、およびそれを管理可能なコストで実行することなどである。
【０００３】
更に最近の傾向は、データ記憶装置サブシステムを制御するためのネットワーク集中手法に向いている。すなわち、記憶装置が統合されたと同様に、記憶装置の機能を制御するシステムもまた個々のサーバから切り離されてネットワークの中に統合される。例えばホストベースのソフトウェアは、保守および管理タスクを高機能スイッチまたは特化されたネットワーク記憶装置サービス・プラットフォームに委ねることができる。アプライアンスベースのソリューションは、ソフトウェアをホスト内で実行する必要性を無くし、企業内に１つのノードとして設置されているコンピュータ内で動作する。いずれにしても、高機能ネットワーク・ソリューションはその様な事柄を、記憶装置割り当て処理ルーチン、バックアップ処理ルーチン、および耐故障性スキームとしてホストとは独立に集中化することが可能である。
【０００４】
高い機能をホストからネットワークへ移すことでこれらの幾つかの問題は解消されるが、その一方でソフトウェアおよび論理モジュールを実行するための組込型処理装置を使用することが必要である。これらの高機能記憶処理装置（ｉｎｔｅｌｌｉｇｅｎｔ  ｓｔｏｒａｇｅ  ｐｒｏｃｅｓｓｏｒ）は二次記憶装置、例えばディスク・ドライブまたはテープ・ドライブとは独立して機能するので、これらは典型的に読み取り専用メモリ（“ＲＯＭ”）の様な変更不能メモリが装着されている。恒久的に格納されるソフトウェア処理ルーチン（ファームウェアと呼ばれる）が高機能記憶処理装置の機能を制御する。
【０００５】
高機能記憶処理装置システムの複雑さが増大し市場の期待が、提供される製品に究極の柔軟性を要求するにつれて、今まで以上にファームウェア・エラーが作り出される可能性が高まる。これは組込型処理装置で実行されるソフトウェアのデバッグを、製品設計フェーズの初期段階における重要なステップに位置づける。しかしながら、高機能記憶処理装置の記憶容量が制限されているため、通常デバッグ用プログラムを処理装置の計算能力内で走らせることは不可能である。多くの対処方法はロジック・アナライザを組込型処理装置に接続して、出力を選択された入力と比較する手法を取っている。しかしながら、必要とされているのはソフトウェアが実行される行毎に詳細に追跡できる機能を使用者に与え、エラーの根本原因分からなくなるまで複合されてしまう前に実行エラーを指摘する、柔軟性に富むデバッグ・ツールである。このソリューションこそが本発明の実施例が目指すものである。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
本発明の実施例は一般的にソフトウェアをデバッグするための装置および方法を対象とする。
【課題を解決するための手段】
【０００７】
幾つかの実施例において、ソフトウェア・コードカバレッジツール装置が高機能記憶処理装置用に提供されている。この装置はブレークポイント命令を含む、高機能記憶処理装置内で実行可能な第１プログラム命令を含む。プログラム命令のパッチセットがホストのメモリ部分に格納されている。ホスト内の第２プログラム命令はブレークポイント命令をこのパッチセットで置き換える。
【０００８】
幾つかの実施例の中でコードカバレッジを測定するための方法が提供されている。この方法は、その中にコードパッチが格納されているメモリを含むホストと通信する高機能記憶処理装置を提供する。この方法は更に、コードパッチを参照するブレークポイント命令を含む高機能記憶処理装置内で実行可能なプログラム・コードを提供する。この方法はプログラム・コードを高機能記憶処理装置上で実行し、実行ステップ中にブレークポイント命令を識別する。続いてこの方法はブレークポイント命令をプログラム・コード内のコードパッチで置き換える。
【０００９】
幾つかの実施例において、データ格納動作を制御するための高機能記憶処理装置と、この高機能記憶処理装置で実行されるソフトウェアのコードカバレッジを分析するための方法を含む記憶装置が提供されている。
【００１０】
本発明を特徴付けるこれらおよび種々のその他の特徴および長所は、以下の詳細な説明並びに関連図を参照することにより明らかとなろう。
【実施例】
【００１１】
図１は本発明の有用な実施例の図式的コンピュータ・システム１００である。複数のホスト１０２が互いに、また同様に一対の高機能データ記憶サブシステム１０４（それぞれＡおよびＢと表されている）とネットワークまたはファブリック１０６を介して相互に作用し合っている。各々の高機能データ記憶サブシステム１０４は、好適にデータ記憶装置１１０、例えば独立ドライブの冗長化アレイ（ＲＡＩＤ：ｒｅｄｕｎｄａｎｔ  ａｒｒａｙ  ｏｆ  ｉｎｄｅｐｅｎｄｅｎｔ  ｄｒｉｖｅ）として特徴付けられる１対のデータ記憶装置、上で動作する二重化冗長制御装置１０８（Ａ１，Ａ２およびＢ１，Ｂ２と表されている）を含む。制御装置１０８およびデータ記憶装置１１０は好適に耐故障性（フォールトトレランス）構造を使用し、これにより種々の制御装置１０８が並列、冗長リンクを使用し、システム１００により格納された使用者データの少なくとも幾つかが、冗長化形式でデータ記憶装置１１０の少なくとも１つの組の中に格納されるようにしている。
【００１２】
更にＡホスト・コンピュータ１０２およびＡ高機能データ記憶サブシステム１０４は第１サイトに物理的に設置可能であり、Ｂホスト・コンピュータ１０２およびＢ高機能データ記憶サブシステム１０４は第２サイトに物理的に設置可能であり、そしてＣホスト・コンピュータ１０２は更に別の第３サイトに物理的に設置可能であると考慮されているが、それらは単に図示が目的でありこれに限定するものでは無い。分散型コンピュータ・システム上の全ての実体（ｅｎｔｉｔｙ）は何らかの型式のコンピュータ・ネットワークを介して接続されている。
【００１３】
図２は本発明の実施例に基づき構築された高機能データ記憶サブシステム１０４を図示する。棚１１４は複数の制御装置１０８を中間基板１１６と電気的に接続するように嵌め込むための空洞を定める。次に棚１１４はキャビネット（図示せず）の中に保持されている。一対の複数ディスク構成部品（ＭＤＡ：ｍｕｌｔｉｐｌｅ  ｄｉｓｃ  ａｓｓｅｍｂｌｙ）１１８が中間基板１１６の同一側で棚１１４に嵌め込まれている。中間基板１１６の反対側には、緊急用電源を供給する二重化バッテリー１２２、二重化交流電源装置１２４、および二重化インタフェース・モジュール１２６が接続されていている。好適にこれらの二重化構成部品はＭＤＡ１１８のいずれかのまたは両方と同時に動作するように構成されており、これにより構成部品故障時にバックアップ保護を提供する。
【００１４】
図３は、本発明の実施例に基づき構築された高機能データ記憶サブシステム１０４の線図である。制御装置１０８は冗長化高機能記憶処理装置（ＩＳＰ）１３０と共に動作し、データの完全性の管理された信頼性を提供する。高機能記憶処理装置１３０は制御装置１０８内部、ＭＤＡ１１８内部、または高機能データ記憶サブシステム１０４の何処かに存在することが可能である。管理された信頼性の特徴として、ＲＡＩＤ方法のような信頼性の高いデータ記憶型式の使用を含む。管理された信頼性はまた、診断のスケジューリングおよびシステムの使用状況監視の基づく訂正処理ルーチンを含む。データ回復操作はデータのコピーおよび再構築のために実行される。此処で意図されている管理された信頼性機能のこれらおよびその他の特徴は、特許出願１０／８１７，６１７、名称「管理された信頼性記憶システムと方法」、に開示されておりこれは本受託者に受託されていて、参照することで此処に組み入れられている。管理された信頼性のその他の特徴は予め定められた規則に関した予測故障指示に対する感応性を含み、これは例えば特許出願１１／０４０，４１０、名称「分散型記憶システム内の予測故障からの決定論的予防回復」に開示されており、これは本受託者に受託されていて、参照することで此処に組み入れられている。
【００１５】
図４はその中に冗長化高機能記憶処理装置１３０が存在する高機能記憶処理装置回路基板１３２の概略図である。高機能記憶処理装置１３０はデータ記憶装置１１０とネットワークまたはファブリック１０６とのインタフェースを行う。各々の高機能記憶処理装置１３０は分類されたストレージ・サービス、例えばルーティング、容量管理、およびデータ移行および複製を管理できる。この高機能記憶処理装置１３０は基板１３２を、バス１３８で結合された２つのＩＳＰサブシステム１３４，１３６に分割する。ＩＳＰサブシステム１３４は「Ｂ」と表されるＩＳＰ１３０を含み、これはファブリック１０６およびデータ記憶装置１１０にそれぞれリンク１４０，１４２で接続されている。ＩＳＰサブシステム１３４はまた、ポリシープロセッサ（ｐｏｌｉｃｙ  ｐｒｏｃｅｓｓｏｒ）１４４も含み、これは実時間オペレーティング・システムを実行する。ＩＳＰ１３４およびポリシープロセッサ１４４はバス１４６上で通信し、共にメモリ１４８と通信する。
【００１６】
図５は本発明の実施例に基づき構築されたＩＳＰサブシステム１３４の概略図である。ＩＳＰ１３０は複数の機能制御装置コア（「ＦＣＣ：ｆｕｎｃｔｉｏｎａｌ  ｃｏｎｔｒｏｌｌｅｒ  ｃｏｒｅ」１５０−１６０）を含み、これらはクロスポイントスイッチ（「ＣＰＳ：ｃｒｏｓｓ  ｐｏｉｎｔ  ｓｗｉｔｃｈ」）１６６メッセージ・クロスバー経由でリスト・マネージャ１６２，１６４と通信する。従って、制御装置（１５０−１６０）は各々ＣＰＳメッセージを指定された条件で生成し、そのメッセージを、ＣＰＳ１６６を通してリスト・マネージャ１６２，１６４に送り、メモリ・モジュールへのアクセスそして／またはＩＳＰ１３０動作を行う。同様にリスト・マネージャ１６２，１６４からの応答は、全ての制御装置（１５０−１６０）にＣＰＳ１６６を経由して通信可能である。図５の構成および関連する説明は図示が目的であって、意図されている本発明の実施例を制限するものではない。
【００１７】
ポリシープロセッサ１４４は所望の動作をＩＳＰ１３０経由で実行するようにプログラム可能である。例えば、ポリシープロセッサ１４４はリスト・マネージャ１６２，１６４と通信可能であり、すなわちメッセージをＣＰＳ１６６経由で送受信する。ポリシープロセッサ１４４への応答は、メモリ１４８レジスタの読み取り割り込み信号として機能する。
【００１８】
図６−８は、本発明の実施例に基づき構築されたソフトウェア・コードカバレッジツール装置の図式的に表したものであり、高機能記憶処理装置１３０で実行されるソフトウェアのデバッグを行うものである。図６は好適にソフトウェアの形式の第１プログラム命令１７０を表し、これはポリシープロセッサ１４４から与えられ、（此処ではしばしば「ホスト」と呼ばれており、その中でポリシープロセッサ１４４はＩＳＰ１３０の制御ホストとして機能している）そして高機能記憶処理装置１３０の中で実行される。この構成の中でホスト１４４は開発システムとして機能し、ＩＳＰ１３０は対象システムとして機能している。第１プログラム命令１７０は、１７２の様な命令シーケンスを含み、これらはプログラムカウンタ１７６により順に実行される。第１プログラム命令１７０はまたブレークポイント命令１７８も含む。
【００１９】
ソフトウェア・コードカバレッジツールは更に、ホスト１４４のメモリ内に格納されている１つまたは複数のプログラム命令のパッチセット１８０を含む。プログラムカウンタ１７６がブレークポイント命令１７８を識別すると、プログラム命令のそれぞれのパッチセット１８０がホスト１４４から呼び出され、第１プログラム命令１７０に書き込まれてそれぞれのブレークポイント命令１７８を置き換える。
【００２０】
図８はホスト１４４の第２プログラム命令で実行される流れ図を図示し、本発明の実施例に基づきコードカバレッジを測定するための方法２００を実行する。この方法はステップ２０２で開始され、此処で制御がホスト１４４から第１の組のプログラム命令１７０の中に与えられ、順に命令シーケンス１７２を通して進む。判定ブロック２０４において、ブレークポイント命令１７８がＩＳＰ１３０で識別されたか否かの判定がなされる。好適に、ＩＳＰ１３０は単独でブレークポイント命令１７８の発生を監視し、続いてホスト１４４に対してそのことを割り込みにより通知する。そうでなく、ブレークポイント命令１７８の発生が存在しない場合、ホスト１４４とＩＳＰ１３０の間で通信の必要はない。判定ブロック２０４の判定が「ｎｏ」の場合、最新命令シーケンス１７２がブロック２０６で実行され、制御はブロック２０２に戻り、此処でプログラムカウンタ１７６がインクリメントされる。しかしながらブロック２０４の判定が「ｙｅｓ」の場合、制御は第１プログラム命令１７０からホスト１４４へ渡される。ブロック２０８でパッチコード１８０がホスト１４４から読まれ、ブロック２１０でそのパッチコード１８０がソフトウェア・コード１７０に書き込まれて、ブレークポイント命令１７８を置き換える。ブロック２１２において、プログラムカウンタ１７６は先に記憶されていたブレークポイント命令１７８の開始アドレスに関してデクリメントされ、これによりブロック２１４においてパッチコード１８０を含むソフトウェア・コード１７０の部分が実行可能となる。
【００２１】
パッチコード１８０が実行された後、ホスト１４４は既存のＩＳＰ１３０状態を予想される状態とブロック２１６で比較する。ブロック２１８で既存状態が予想通りであると判定されると、ソフトウェア実行エラーが検出されなかったことを意味し、制御はブロック２０２でソフトウェア１７０の制御に返される。そうでない場合、方法２００はブロック２２０で終了し既存状態がソフトウェア１７０のデバッグのために使用される。
【００２２】
ホスト１４４はパッチコード１８０の成功した実行の記録を残し、コードカバレッジの分析の参照とすることができる。また、ホスト１４４がパッチコード１８０を、処理エラー検出を助けるために単一ステップで実行できれば、特に複数の分岐を個別に解析する際には有用であろう。
【００２３】
図６の図示された実施例は唯２つの個別ブレークポイント情報１７８エンティティーを示すのみであるが、これに代わる等価の実施例において３つ以上を採用することが可能である。「個別」とは逐次ブレークポイント１７８が１つまたは複数の命令シーケンス１７２で分離されていることを意味する。等価のこれに代わる実施例において、１つまたは複数の逐次命令シーケンス１７２、または全ての命令シーケンス１７２は複数のブレークポイント命令１７８を含むことが可能である。
【００２４】
纏めると、ソフトウェア・コードカバレッジツール装置（例えば１４４，１３０，２００）が高機能記憶処理装置（例えば１３０）を制御するソフトウェアのデバッグ用に提供されている。このツールは高機能記憶処理装置内で実行可能なブレークポイント命令を含む第１プログラム命令を含む。プログラム命令のパッチセットがホスト（此処では「ポリシープロセッサ」と呼ぶ場合もある）を制御する高機能記憶処理装置のメモリ部分に格納されている。ホスト内の第２プログラム命令はブレークポイント命令をパッチセットで置き換える。
【００２５】
好適に第２プログラム命令はパッチセットを含む第１プログラム命令の部分を再実行する。第２プログラム命令は第１プログラム命令のパッチセット部分を再実行する際に、ブレークポイント命令の開始アドレスに関して、プログラムカウンタをデクリメントすることができる。
【００２６】
第１プログラム命令は複数の個別ブレークポイント命令を含むことが可能であり、ホストは同様に、それぞれのブレークポイント命令から参照される、対応する複数のパッチセットを含むことが可能である。第２プログラム命令は高機能記憶処理装置の状態を第１プログラム命令を特定のパッチセットと共に再実行した後に予想される状態と比較することが可能であり、確定的に制御を第１プログラム命令に返すことができる。
【００２７】
幾つかの実施例において、第２プログラム命令は制御を第１プログラム命令に返す際に、特定のパッチセットの実行がされたことを記録する。第２プログラム命令は更に単一ステップで第１プログラム命令の再実行を行える。
【００２８】
幾つかの実施例において、コードカバレッジを測定するための１つの方法が提供されている。この方法はその中にコードパッチ（例えば１８０）を格納するためのメモリを備えたホスト装置を提供することを含む。この方法は更に、高機能記憶処理装置内で実行可能でそのコードパッチを参照するブレークポイント命令（例えば１７８）を含む、好適にソフトウェアであるプログラム・コードを提供することを含む。この方法はプログラム・コード（例えば２０６）を高機能記憶処理装置内で実行し、その実行ステップ中にブレークポイント命令を識別する（例えば２０４）。これに応じてこの方法はブレークポイント命令をプログラム・コード内のコードパッチに置き換える（例えば２１０）。
【００２９】
好適に、この方法はコードパッチを含むプログラム・コードの一部を再実行することを含む。置き換えステップはプログラムカウンタを、コードパッチを再実行する際のブレークポイント命令の開始アドレスに関してデクリメントすること（例えば２１２）を含む。プログラム・コード・ステップは好適に複数の個別ブレークポイント命令を含み、ホストは同様にそれぞれのブレークポイント命令から参照される、対応する複数のコードパッチを含む。
【００３０】
この方法は更に高機能記憶処理装置の状態を、コードパッチを含むプログラム・コードの再実行後に予想される状態と比較し（例えば２１６）、確定的に制御をプログラム・コードに戻すこと（例えば２１８）を含む。比較ステップは制御をプログラム・コードに戻す際にコードパッチの実行が実行されたことを記録することを含むことができる。この比較ステップは更に、プログラム・コードの単一ステップ再実行を含むことができる。
【００３１】
幾つかの実施例において、記憶装置はデータ格納動作を制御する高機能記憶処理装置と、高機能記憶処理装置のプログラム・ステップを制御するソフトウェアのコードカバレッジを分析するための手段を含むように意図されている。コードカバレッジを分析するための手段は高機能記憶処理装置で実行されるプログラム・コード内にブレークポイントを格納することを特徴とする。コードカバレッジを分析するための手段は、ホスト装置内にコードパッチを格納することを特徴とする。コードカバレッジを分析するための手段は、特定ブレークポイントを対応するコードパッチで置き換えることを特徴とする。コードカバレッジを分析するための手段は、コードパッチを含むプログラム・コードの一部を再実行することを特徴とする。コードカバレッジを分析するための手段は、プログラム・コードのコードパッチ部分の再実行後に監視された高機能記憶装置の状態に関連して、プログラム・コードの実行を確定的に継続することを特徴とする。
【００３２】
本発明の種々の実施例の多くの特徴ならびに長所を上記の説明の中で、本発明の種々の実施例の詳細説明および機能と共に示してきたが、この詳細説明は図示のみであって、変更が詳細部において、特に構造ならびに部品の配列などを添付の特許請求の範囲で示されている言語の広い一般的意味で示されている本発明の原理の中で実施できることは理解されよう。例えば、個別の構成部品を個別の処理環境に応じて、本発明の精神および範囲から逸脱することなく変更できる。
【００３３】
更に、此処に説明された実施例はデータ記憶アレイを意図しているが、当業者には特許請求の主題がそれに限定されるものではなく、その他の種々の処理システムで特許請求されている発明の精神並びに範囲から逸脱することなく利用できることは理解されよう。
【図面の簡単な説明】
【００３４】
【図１】図１は本発明の有用な実施例の分散型コンピュータ・システムの図式的表現である。
【図２】図２は本発明の実施例に基づき構築された高機能データ記憶サブシステムの組立分解等角図である。
【図３】図３は図２の高機能データ記憶サブシステムの機能ブロック図である。
【図４】図４は図３の高機能データ記憶サブシステムの高機能記憶処理装置回路基板の機能ブロック図である。
【図５】図５は図４の高機能記憶処理装置回路基板の高機能記憶処理装置の機能ブロック図である。
【図６】図６は高機能記憶処理装置で実行される、ホストからのソフトウェア・コードの概略図である。
【図７】図７はホストのメモリ内に格納されている複数のコードパッチの概略図である。
【図８】図８は本発明の実施例に基づくコードカバレッジを分析するための方法で実行されるステップの流れ図である。
【符号の説明】
【００３５】
１００  コンピュータ・システム
１０２  ホスト
１０４  高機能データ記憶サブシステム
１０６  ネットワークまたはファブリック
１０８  制御装置
１１０  データ記憶装置
１１４  棚
１１６  中間基板
１１８  ＭＤＡ（複数ディスク構成部品）
１２２  二重化バッテリー
１２４  二重化交流電源装置
１２６  二重化インタフェース・モジュール
１３０  高機能記憶処理装置
１３２  基板
１３４，１３６  ＩＳＰサブシステム
１４０，１４２  リンク
１４４  ポリシープロセッサ（ホスト）
１４６  バス
１４８  メモリ
１６２，１６４  リスト・マネージャ
１６６  ＣＰＳ
１７０  第１プログラム命令
１７２  命令シーケンス
１７６  プログラムカウンタ
１７８  ブレークポイント命令
１８０  プログラム命令のパッチセット
【図１】
2007004793.tif 000003
【図２】
2007004793.tif 000004
【図３】
2007004793.tif 000005
【図４】
2007004793.tif 000006
【図５】
2007004793.tif 000007
【図６】
2007004793.tif 000008
【図７】
2007004793.tif 000009
【図８】
2007004793.tif 000010