(57)【要約】【課題】ＲＡＩＤを例に信頼性の管理を体系化し、信頼性が管理された記憶システムと信頼性を確保する方法を開示する。【解決手段】（１）確実なデータ記憶フォーマット、（２）閾値の信頼性管理を含む計画された信頼性管理、および（３）ソフトウエアによるデータのリカバリが記憶システムの信頼性の柱である。（１）はＲＡＩＤとその実施例のように故障が発生しても破壊されない記憶フォーマットを使う、（２）はシステム使用量と最適使用方法モデルを反映する利用率の監視と調整、定期的診断とイベント・ドリブン型診断の実行および記憶システム構成要素の動作パラメータの条件付き調整をする、（３）は、ＥＣＣ、ＲＬＬなど冗長的データ・フォーマットを用いデータの再生、再構築を可能にすることである。【選択図】図１
2005293594.tif 000002
【特許請求の範囲】
【請求項１】
データ記憶システムを動作させる方法であって、
データ記憶システムの動作を監視し、
データ記憶システムの動作の少なくとも１つのパラメータを取得し、
データ記憶システムの少なくとも１つの構成要素を反映するデータ記憶システムのための最適使用方法モデルにアクセスし、
データ記憶システムの動作を監視することによって取得した少なくとも１つのパラメータと、最適使用方法モデルに含まれる所定の値を比較し、
少なくとも１つのパラメータが所定の値より大きいか所定の値に等しい場合、データ記憶システムの使用方法を調整すること、
を含む前記方法。
【請求項２】
請求項１に記載の方法において、前記データ記憶システムを調整するステップは、書込みキャッシュのサイズを変えることを含む前記方法。
【請求項３】
請求項１に記載の方法において、前記データ記憶システムを調整するステップは、データ記憶システムの少なくとも１つのデータ記憶装置から他のデータ記憶装置にデータをコピーするとともに、データ要求の一部を少なくとも１つのデータ記憶装置から他のデータ記憶装置に向けることを含む前記方法。
【請求項４】
請求項１に記載の方法において、前記データ記憶システムを調整するステップは、少なくとも１つのデータ記憶装置に対する連続したデータ・アクセスの継続時間を制限することを含む前記方法。
【請求項５】
請求項１に記載の方法であって、
調整のイベントが発生したか否かを決定し、
少なくとも１つの記憶システム構成要素を識別し、
少なくとも１つのデータ記憶システム構成要素を診断テストの条件にセットし、
少なくとも１つのデータ記憶システム構成要素をテストする診断用コンピュータ・プログラム・コードを実行し、
診断用コンピュータ・プログラム・コードから少なくとも１つのデータ記憶構成要素のパラメータを取得し、
少なくとも１つのデータ記憶システム構成要素のパラメータが所定の値より大きいか所定の値に等しい場合、少なくとも１つのデータ記憶システム構成要素を調整すること、
を更に含む前記方法。
【請求項６】
請求項５に記載の方法において、前記調整のイベントが発生したか否かを決定するステップは、スケジューリング条件が満たされたか否かを決定することを含む前記方法。
【請求項７】
請求項５に記載の方法において、前記調整のイベントが発生したか否かを決定するステップは、エラーが発生したか否かを決定することを含む前記方法。
【請求項８】
請求項５に記載の方法において、前記少なくとも１つのデータ記憶システム構成要素をテストの条件にセットするステップは、少なくとも１つのデータ記憶システム構成要素からのユーザ・データを他のデータ記憶構成要素に保存することを更に含む前記方法。
【請求項９】
請求項５に記載の方法において、前記少なくとも１つのデータ記憶システム構成要素をテストの条件にセットするステップは、少なくとも１つのデータ記憶構成要素からのユーザ・データを再構築して、前記データを他のデータ記憶構成要素に保存することを更に含む前記方法。
【請求項１０】
請求項５に記載の方法において、前記少なくとも１つのデータ記憶システム構成要素を調整するステップは、書込み電圧を調整することを含む前記方法。
【請求項１１】
請求項５に記載の方法において、前記少なくとも１つのデータ記憶システム構成要素を調整するステップは、セクタを対応付けすることを含む前記方法。
【請求項１２】
請求項５に記載の方法において、前記少なくとも１つのデータ記憶システム構成要素を調整するステップは、アクチュエータの加速を調整することを含む前記方法。
【請求項１３】
請求項５に記載の方法において、前記少なくとも１つのデータ記憶システム構成要素を調整するステップは、読出し増幅器の利得を調整することを含む前記方法。
【請求項１４】
請求項５に記載の方法において、前記少なくとも１つのデータ記憶システム構成要素を調整するステップは、構成要素の半導体メモリを対応付けすることを含む前記方法。
【請求項１５】
請求項５に記載の方法において、前記診断用コンピュータ・プログラム・コードを実行するステップは、ネットワーク全体にわたってコンピュータ・プログラム・コードにアクセスすることを更に含む前記方法。
【請求項１６】
請求項５に記載の方法において、前記少なくとも１つのデータ記憶システム構成要素を調整するステップは、ネットワーク全体にわたって調整用コンピュータ・プログラム・コードにアクセスすることを更に含む前記方法。
【請求項１７】
請求項１６に記載の方法であって、前記コンピュータ・プログラム・コードを解読することを更に含む前記方法。
【請求項１８】
請求項５に記載の方法であって、前記少なくとも１つのデータ記憶システム構成要素に対してユーザ・データを復元することを更に含む前記方法。
【請求項１９】
データ記憶システムを管理する方法であって、
調整のイベントが発生したか否かを決定し、
少なくとも１つの記憶システム構成要素を識別し、
少なくとも１つのデータ記憶システム構成要素を診断テストの条件にセットし、
少なくとも１つのデータ記憶システム構成要素をテストする診断用コンピュータ・プログラム・コードを実行し、
診断用コンピュータ・プログラム・コードから少なくとも１つのデータ記憶構成要素のパラメータを取得し、
少なくとも１つのデータ記憶システム構成要素のパラメータが所定の値より大きいか所定の値に等しい場合、少なくとも１つのデータ記憶システム構成要素を調整すること、
を含む前記方法。
【請求項２０】
請求項１９に記載の方法において、前記調整のイベントが発生したか否かを決定するステップは、スケジューリング条件が満たされたか否かを決定することを含む前記方法。
【請求項２１】
請求項１９に記載の方法において、前記調整のイベントが発生したか否かを決定するステップは、エラーが発生したか否かを決定することを含む前記方法。
【請求項２２】
請求項１９に記載の方法において、前記少なくとも１つのデータ記憶システム構成要素をテストの条件にセットするステップは、少なくとも１つのデータ記憶システム構成要素からのユーザ・データを他のデータ記憶構成要素に保存することを更に含む前記方法。
【請求項２３】
請求項２２に記載の方法において、前記データを保存するステップは、異なるフォーマットでユーザ・データを格納することを更に含む前記方法。
【請求項２４】
請求項１９に記載の方法において、前記少なくとも１つのデータ記憶システム構成要素をテストの条件にセットするステップは、少なくとも１つのデータ記憶構成要素からのユーザ・データを再構築して、データを他のデータ記憶構成要素に保存することを更に含む前記方法。
【請求項２５】
請求項１９に記載の方法において、前記少なくとも１つのデータ記憶システム構成要素を調整するステップは、書込み電圧を調整することを含む前記方法。
【請求項２６】
請求項１９に記載の方法において、前記少なくとも１つのデータ記憶システム構成要素を調整するステップは、セクタを対応付けすることを含む前記方法。
【請求項２７】
請求項１９に記載の方法において、前記少なくとも１つのデータ記憶システム構成要素を調整するステップは、アクチュエータの加速を調整することを含む前記方法。
【請求項２８】
請求項１９に記載の方法において、前記少なくとも１つのデータ記憶システム構成要素を調整するステップは、読出し増幅器の利得を調整することを含む前記方法。
【請求項２９】
請求項１９に記載の方法において、前記少なくとも１つのデータ記憶システム構成要素を調整するステップは、構成要素の半導体メモリを対応付けすることを含む前記方法。
【請求項３０】
請求項１９に記載の方法において、前記診断用コンピュータ・プログラム・コードを実行するステップは、ネットワーク全体にわたってコンピュータ・プログラム・コードにアクセスすることを更に含む前記方法。
【請求項３１】
請求項１９に記載の方法において、前記少なくとも１つのデータ記憶システム構成要素を調整するステップは、ネットワーク全体にわたって調整用コンピュータ・プログラム・コードにアクセスすることを更に含む前記方法。
【請求項３２】
請求項３１に記載の方法であって、前記コンピュータ・プログラム・コードを解読することを更に含む前記方法。
【請求項３３】
請求項１９に記載の方法であって、前記少なくとも１つのデータ記憶システム構成要素に対してユーザ・データを復元することを更に含む前記方法。
【請求項３４】
ホスト・システムと、
記憶装置コントローラと、
複数のデータ記憶装置と、
少なくとも１つのデータ記憶システム構成要素に用いる最適使用方法のモデルと、
少なくとも１つのデータ記憶システム構成要素の少なくとも１つの動作パラメータを取得して、少なくとも１つの動作パラメータと最適使用方法モデルに含まれる所定の値を比較し、少なくとも１つの動作パラメータが所定の値より大きいか所定の値に等しい場合、データ記憶システムの使用方法を調整するコンピュータ・プログラム・コードと、
を含むデータ記憶システム。
【請求項３５】
ホスト・システムと、
記憶装置コントローラと、
複数のデータ記憶装置と、
少なくとも１つのスケジューリング条件が満たされているか否かを決定し、少なくとも１つのスケジューリング条件が満たされている場合、診断用コンピュータ・プログラム・コードの実行を開始するスケジューリング用コンピュータ・プログラム・コードと、
少なくとも１つの開始用イベントが発生したか否かを決定し、少なくとも１つの開始用イベントが発生した場合、診断用コンピュータ・プログラム・コードの実行を開始するイベント検出用コンピュータ・プログラム・コードと、
診断用コンピュータ・プログラム・コードによって取得された少なくとも１つの構成要素パラメータ値と所定の値を比較し、少なくとも１つの構成要素パラメータが所定の値より大きいか所定の値に等しい場合、記憶システム構成要素の調整を遂行するコンピュータ・プログラム・コードと、
を含むデータ記憶システム。
【請求項３６】
請求項３５に記載のデータ記憶システムであって、故障が発生しても破壊されないようにデータ記憶システムに格納されたユーザ・データをフォトして格納する確実なデータ組織化コンピュータ・プログラム・コードを更に含む前記データ記憶システム。
【請求項３７】
請求項３５に記載のデータ記憶システムであって、ユーザ・データが少なくとも１つのデータ記憶装置からアクセス不能な場合、複数のデータ記憶装置の少なくとも１つのデータ記憶装置からのユーザ・データを生成する確実なデータ組織化コンピュータ・プログラム・コードを更に含む前記データ記憶システム。
【請求項３８】
請求項３５に記載のデータ記憶システムであって、前記診断用コンピュータ・プログラム・コードを実行する前に、少なくとも１つのデータ記憶装置からのユーザ・データを少なくとも１つの他のデータ記憶装置に保存するコンピュータ・プログラム・コードを更に含む前記データ記憶システム。
【請求項３９】
請求項１４に記載のデータ記憶システムにおいて、前記調整を遂行するコンピュータ・プログラム・コードは、ネットワーク全体にわたってアクセスされる前記データ記憶システム。
【請求項４０】
ホスト手段と、
記憶装置コントローラ手段と、
複数のデータ記憶装置手段と、
最適使用方法モデル手段と、
データ記憶システムのために少なくとも１つの動作パラメータを取得し、少なくとも１つの動作パラメータと、最適使用方法モデル手段に含まれる所定の値を比較する使用方法監視手段と、
少なくとも１つの動作パラメータが所定の値より大きいか所定の値に等しい場合、前記システムの使用方法を変更するシステム使用方法調整手段と、
を含むデータ記憶システム。
【請求項４１】
ホスト手段と、
記憶装置コントローラ手段と、
複数のデータ記憶装置手段と、
少なくとも１つのスケジューリング条件が満たされているか否かを決定し、スケジューリング条件が満たされている場合、診断手段の実行を開始するスケジューリング手段と、
少なくとも１つの開始用イベントが発生したか否かを決定し、少なくとも１つの開始用イベントが発生した場合、診断手段の実行を開始するイベント検出手段と、
診断手段によって取得された少なくとも１つの構成要素パラメータ値と所定の値を比較し、少なくとも１つの動作パラメータが所定の値より大きいか所定の値に等しい場合、記憶システム構成要素の調整を遂行する手段と、
を含むデータ記憶システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般にデータ記憶装置に関し、より詳細には、積極的な信頼性管理システムと方法に関する。
【背景技術】
【０００２】
データ記憶システムは、１つまたは複数のバスを使用する１つまたは複数のディスク・アレイ・コントローラに接続されたディスク・ドライブのアレイを含むことができる。ディスク・アレイ・コントローラは、１つまたは複数のバスを使用する１つまたは複数のホスト・システムに接続される。ＲＡＩＤ（冗長性を持たせた独立なディスクのアレイ）のようなデータ記憶装置のフォーマットは、ドライブが故障の場合、残った動作中のドライブに対してユーザのデータがコピー、再生または再構成される（他のドライブに再生またはコピーされる）ように、ユーザのデータや冗長的情報を複数のドライブに分配するために使用される。またシステムも、接続経路またはコントローラが故障の場合、データとコマンドを転送するために他の経路またはコントローラが利用可能であるように、冗長的コントローラとバスまたはそのいずれかを使用することができる。
【０００３】
データ記憶システムが故障せずに長時間動作する能力は、構成要素の数と品質を反映するとともに、そのシステムの価値と市場性に直接影響を及ぼす。ＭＴＢＦが非常に長い構成要素を選択することは、記憶システムの確実な寿命を延ばすことができるが、コストが増大するのが普通である。予備のコントローラ、バスおよび記憶装置またはそれらのいずれかを追加するなど、高水準の冗長性は、システムのコストを増大させる。
【０００４】
高水準の冗長性を備えたシステムは、データを損失せずに修復されうるが、故障になった構成要素が交換されるまでデータの可用性とスループットは、制限される。システムの利用率が低い時に構成要素を定期交換することは、利用率が高い時のデータの可用性を高めるが、部品と労力の費用が追加される。この定期交換も構成要素の運用コストを増大することになる。何故ならば、交換しなくても動作を継続するであろう構成要素も交換されるからである。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
例えば、エラー率が所定の閾値以上になると、ドライブの交換を提案するというように、現在の記憶システムの管理方法は、本来、受け身的である。この方法は、低すぎる閾値に設定されていると、故障になる前に構成要素を識別することに失敗し、閾値の設定が高すぎると、不必要な構成要素の交換になるという点で問題があり、費用とダウン時間が追加されることになる。
【課題を解決するための手段】
【０００６】
本発明の実施例は、記憶システムの運用と記憶システムの構成要素を積極的に管理するとともに、記憶システムの寿命を延長するようにシステムと構成要素の動作パラメータを調整するシステムと方法を提供する。記憶システムの構成要素の管理は、システムの動作特性を監視して、システムと１つまたは複数の構成要素の動作パラメータの調整を実行すべきか否かの決定を含む。システムの動作パラメータの調整は、キャッシュのサイズを調整すること、読出し動作と書込み動作のスケジューリング、更には構成要素の利用率を含むことができる。システム動作パラメータと構成要素の調整は、定期的に実行しても良く、あるいは、イベント・ドリブン型で監視したパラメータまたはユーザの入力における変化に応答して実行しても良い。
【０００７】
したがって、本発明の実施例は、データ記憶システムを動作させる方法を更に含むことができるが、この方法は、データ記憶システムの動作を監視し、データ記憶システムの動作の少なくとも１つのパラメータを取得し、データ記憶システムの少なくとも１つの構成要素を表すデータ記憶システムの最適使用方法モデルにアクセスし、データ記憶システムの動作を監視することによって取得した少なくとも１つのパラメータと、最適使用方法モデルに含まれる所定の値を比較し、更に、少なくとも１つのパラメータが所定の値より大きいか所定の値に等しい場合、少なくとも１つのデータ記憶システムの使用方法を調整することを含む。
【０００８】
本発明の実施例は、データ記憶システムを管理する方法を含むことができるが、この方法は、調整のイベントが発生したか否かを決定し、少なくとも１つの記憶システム構成要素を識別し、少なくとも１つのデータ記憶システム構成要素を診断テストの条件にセットし、少なくとも１つのデータ記憶システム構成要素をテストする診断用コンピュータ・プログラム・コードを実行し、診断用コンピュータ・プログラム・コードから少なくとも１つのデータ記憶構成要素のパラメータを取得し、更に、少なくとも１つのデータ記憶システム構成要素のパラメータが所定の値より大きいか所定の値に等しい場合、少なくとも１つのデータ記憶システム構成要素を調整することを含む。
【０００９】
したがって、本発明の実施例は、データ記憶システムを含むことができるが、このシステムは、ホスト・システムと、記憶装置コントローラと、複数のデータ記憶装置と、少なくとも１つのデータ記憶システム構成要素の最適使用方法モデルと、少なくとも１つのデータ記憶システム構成要素の少なくとも１つの動作パラメータを取得して、少なくとも１つの動作パラメータと、最適使用方法のモデルに含まれる所定の値を比較し、少なくとも１つの動作パラメータが所定の値より大きいか所定の値に等しい場合、データ記憶システムの使用方法を調整するコンピュータ・プログラム・コードを含む。
【００１０】
したがって、本発明の実施例は、データ記憶システムを含むことができるが、このシステムは、ホスト・システムと、記憶装置コントローラと、複数のデータ記憶装置と、少なくとも１つのスケジューリング条件が満たされている否かを決定し、少なくとも１つのスケジューリング条件が満たされている場合、診断用コンピュータ・プログラム・コードの実行を開始するスケジューリング用コンピュータ・プログラム・コードと、少なくとも１つの開始用イベントが発生したか否かを決定し、少なくとも１つの開始用イベントが発生した場合、診断用コンピュータ・プログラム・コードの実行を開始するイベント検出用コンピュータ・プログラム・コードと、診断用コンピュータ・プログラム・コードによって取得された少なくとも１つの構成要素パラメータの値と所定の値を比較し、少なくとも１つの構成要素パラメータが所定の値より大きいか所定の値に等しい場合、記憶システム構成要素の調整を遂行するコンピュータ・プログラム・コードとを含む。
【００１１】
（発明の詳細な説明）
管理された信頼性は、データ記憶システムに於いてシステム構成要素の確実な寿命を延長することによって低コストで確実な長期間のデータ記憶を提供するシステムと方法である。管理された信頼性は、パーソナル・コンピュータから大容量の記憶装置アレイまでを含む広範囲の記憶システムに適用可能である。
【００１２】
本発明の実施例は、構成要素の特性、能力および限界が首尾一貫しているようにシステム構成要素を利用することによって、またシステム動作パラメータの定期的調整またはイベント・ドリブン型調整と、記憶システム構成要素の定期的診断テストと調整またはイベント・ドリブン型診断テストと調整を介して、データ記憶システムの寿命を確実に延長する。このシステムは、定期的、イベント・ドリブン型または連続方式で監視され、システム構成要素がいかに利用されているかを決定するとともに、システム構成要素の動作条件を決定する。監視機能と調整機能は、例えば、ディスク・ドライブの電子部分、ディスク・アレイ・コントローラ、ホスト・システム、ネットワークのポータル／監視システムおよび遠隔システムを含む記憶システム内の１つまたは複数の場所で実行される。動作は、完全に自動的であってユーザによる観察は、不能であるか、あるいは、記憶システムの状態を示すユーザ・インタフェースと遂行または計画された行動とを含むことができる。管理と調整の動作は、見えないように実行され、構成要素またはシステムの利用率が低い時を利用するように計画されるか、データ・アクセス動作によってバラバラにされる。診断テスト中、構成要素をオフ・ラインにできるようにデータ記憶システムの予備の記憶容量を使用することができる。
【００１３】
調整可能なパラメータは、ディスク・ドライブ・パラメータを含むとともに、信号の振幅、ディスク・フォーマット、データ・マッピング、読出し／書込みバッファの割り当て、パケット・サイズ、オフセットなどを含むバスとコントローラの構成情報を含むことができる。本発明の実施例は、製造段階中に確定されるディスク・ドライブ・パラメータの調整を都合良く含んでおり、他のシステムや方法におけるよりも強力に制御される。調整されたディスク・ドライブ・パラメータは、ディスクまたは記憶装置自体の中のサブ装置の信頼性を高くするとともに、故障が発生しても回復する機能を含む。
【００１４】
管理された信頼性は、故障が発生しても破壊しないようにデータを組織化し、構成要素の定期的調整と構成要素のイベント・ドリブン型調整に対するシステム動作と構成要素動作を監視して分析し、構成要素が故障になった場合のデータ回復方法とデータ再構築方法を提供するという複数の機能を含む。図１は、管理された機能のブロック図を示している。機能１００は、確実なデータの組織化（ＲＤＯ）１０２、計画された信頼性管理（ＰＲＭ）１０４、閾値の信頼性管理（ＴＲＭ）１０６およびソフトウエアによるデータの再生と再構築（ＳＤＲ）１０８を含む。ＲＤＯ１０２は、記憶システムの中にデータを格納することを含むが、この記憶システムは、故障が発生しても破壊されないデータ記憶フォーマットを使用し、ＲＡＩＤと、例えば、ＥＣＣやリード・ソロモンなど、何らかの他の符号化方法やそれらの組合せを含めてもよい。ＲＡＩＤの各種レベルや故障が発生しても破壊されない符号化方法など、複数の異なるフォーマットが同時にサポートされる。
【００１５】
計画された信頼性管理１０４は、システム動作を構成するとともにデータ記憶構成要素を調整するため、そのいずれかをするために採用される定期的監視・診断手続きを含む。少なくとも１つのデータ記憶システム構成要素に対して最適使用方法モデルが提供されている。異なるデータ記憶システム構成要素と構成要素の異なるバージョンに対して各種モデルが提供されている。最適使用方法モデルは、構成要素の寿命、故障発生可能性の減少（信頼性）およびパフォーマンスの最適化、または、それらのいずれかになりうる使用方法パラメータを定義する。パラメータは、書込みキャッシュ・サイズ、読出しキャッシュ・サイズ、最長の連続アクセス時間、平均利用率、アクチュエータの加速およびその他のパラメータを含むことができる。ディスク・ドライブは、ドライブ内で複数のＩ／Ｏ動作が待ち行列に入っている場合、より効率的に動作する傾向がある。例えば、ドライブは、ヘッドの動きを小さくする媒体上の物理的位置に対応する保留中の入出力の実行順序を選択する「エレベータ・ソート」アルゴリズムを使用することが多い。このアルゴリズムを使用すると、平均アクセス時間を減らすとともに、ヘッド位置決め（アクチュエータ）機構に対する摩耗を減らすことになる。ドライブに発行する前の入出力要求のキャッシングは、ヘッドのスラッシングを減らすことになる。読出しキャッシュと書込みキャッシュのサイズは、アクチュエータの動きを減らすように調整される。この動作は、定期的に遂行され、アクセス中のデータのタイプに反映される。例えば、ビデオ・データのストリーミングは、大量の連続したデータ・ブロックを含むが、伝票発行情報は、記憶媒体全体にわたって分配されている多数の小型ファイルを含むことができる。他の最適使用方法モデルのパラメータは、最長連続アクセス時間である。ドライブのヘッドは、読出し書込み動作中に熱を発生する。発熱性を管理することは、ドライブの寿命を延ばし信頼性を向上することになる。前述のビデオ・データのストリーミングのような大容量のファイルは、複数のドライブにわたって分配されるので、どれか１つのドライブに対するアクセスの継続時間を限定する。平均利用率を採用して、複数のドライブ間のアクセス率を平均させることができる。計画された信頼性管理は、入出力をリアル・タイム・アクセスと非リアル・タイム・アクセスにソートすることも含む。例えば、ビデオをストリーミングすることは、おそらくリアル・タイムか準リアル・タイムの動きであるが、伝票発行をリアル・タイム方式で実行する必要はない。管理用ソフトウエアは、ドライブのエレベータ・ソート機能を利用して、所定の数のアクセスが保留になるまで伝票発行のアクセスを隠しておき、その後で複数の入出力コマンドをドライブに発行する。最適使用方法モデルを採用してシステム動作をカスタマイズするだけでなく、計画された信頼性は、システム構成要素の状態を検出するための診断チェックを含むことができる。構成要素は、条件に依存して調整される。診断チェックのスケジューリングは、記憶システムの利用率の分析を採用して、構成要素の調整を遂行することができる望ましい時間を決定することができる。診断を遂行する間は、１つまたは複数の記憶システム構成要素をオフ・ラインにすることができる。これをすることは、システムが動作を続けるとともに調整と診断のタスクがバックグラウンドで遂行されるように、データを他のドライブまたはシステムに格納することと、そのドライブまたはシステムに対する入出力の対応付けをすることを含むことができる。
【００１６】
閾値の信頼性管理１０６は、診断手続きと、障害、エラーまたは故障の検出、あるいは、所定の値より大きいか所定の値に等しい使用方法パラメータの検出のようなイベントに応答して遂行されるシステムまたは構成要素の調整手続きを含む。パラメータは、最適使用方法モデルのパラメータまたは構成要素のエラー条件、読出し再試行率、エラー発生率などを含むことができる。閾値の信頼性管理機能は、計画された信頼性の機能を含むか行使することができるだけでなく、ソフトウエアによるデータの回復機能を実施する機能を含むことができる。診断手続きと構成要素の調整手続きを図２および図３に関連させて詳細に説明する。ＳＤＲ１０８は、データのコピー、故障した構成要素または、なんとか動いている構成要素からのデータの再生と再構築または、それらのいずれかと他の機能している構成要素またはシステムに対するデータの格納およびＲＤＯ１０２の確実なデータ・フォーマットと一致したデータの入出力の対応付けを含むことができる。データ・フォーマットは、このプロセス中に変わるかも知れない。例えば、ＲＡＩＤ−１データ・ファイルは、構成要素の故障の後ではＲＡＩＤ−５データ・ファイルとして格納される。図１に示す機能は、例えば、インタフェース・コントローラ、ディスク・コントローラおよびホスト、または、それらのいずれかを含むデータ記憶システムの１つまたは複数の部分を動作させるコンピュータ・プログラム・コードの中で実施される。
【００１７】
図２は、管理された信頼性のシステム環境を示す。環境２００は、ホスト２０２、ディスク・コントローラ２０４およびディスク・アレイ２０６を含む。ホスト２０２は、例えば、ＳＣＳＩ、ファイバ・チャネル、イーサネット（登録商標）またはＰ１３９４のような１つまたは複数のバス接続またはネットワーク接続を介してディスク・コントローラ２０４に接続される。ディスク・コントローラ２０４は、ホスト２０２からデータ転送要求を受信すると、ディスク・アレイ２０６を構成する１つまたは複数のディスク・ドライブに対してコマンドを発行する。データ転送要求は、ディスク・アレイ２０６のディスクに格納されるデータと、ＲＡＭ、ＥＥＰＲＯＭやディスク・コントローラ２０４の中の他のメモリ、あるいは、ディスク・アレイ２０６のドライブのメモリの中に存在するデータを含む。割込みや他の信号フォーマットを使用して、ディスク・アレイ２０６のディスクからディスク・コントローラ２０４、およびディスク・コントローラ２０４からホスト２０２、または、それらのいずれかにステータス情報を転送する。本発明の実施例の信頼性機能（またはその一部）を管理するコンピュータ・プログラム・コードは、ホスト２０２、ディスク・コントローラ２０４およびディスク・アレイ２０６のディスク・ドライブの中に常駐することができる。本発明の実施例を実施する場合に遂行される各種機能は、環境２００の異なる部分に常駐することができるか、または必要に応じて各種構成要素に対してダウンロードすることができる。そのようなダウンロードは、ディスク・コントローラまたはディスク・ドライブのメモリからコンピュータ・プログラム・コードを読出し、プログラム・コードを格納し、診断コードまたは調整コードをダウンロードし、それらコードを実行し、何らかの結果を取得するか調整を遂行し、調整をチェックするか更なる診断を遂行した後、最初のプログラム・コードに戻ることを含む。ホスト２０２の中で動作するホストのコンピュータ・プログラム・コード２１０は、監視用コード、ユーザ・インタフェース用コード、スケジューリング用コード、診断用コード、構成要素調整用コードおよびその他コードを含むことができる。ユーザ・インタフェースは、データのスループット、待ち時間、エラー発生率、利用率などのようなシステム動作の概要を提供することができる。またユーザ・インタフェースは、スケジューリング機能、診断機能および構成要素調整機能をオペレータが制御できるようにすることができる。ユーザは、利用率の情報を採用して、診断ルーチンを走行させる時を選択または指定することができる。またオペレータは、一組の診断ルーチンから１つまたは複数の診断ルーチンを選択することができるが、そのような選択は、例えば、検出されたエラー発生率や待ち時間増加の検出のような傾向を表す情報を反映することができる。スケジューリング条件が満たされた結果として診断ルーチンを実行することができる。スケジューリング・イベントは、例えば、所定の時間が経過したこと、所定の数のデータ転送が遂行されたこと、またはシステム利用率のレベルが所定のレベルより低いか所定のレベルに等しいこと、あるいは、条件の組合せを含むことができる。診断ルーチンは、エラー条件または監視したパラメータが所定の値に一致するか所定の値を超過することに応答して、またはユーザ入力の結果として実行される。このように遂行される診断は、イベント・ドリブン型診断または閾値に基づく診断と呼ばれる。調整機能は、診断ルーチンとともに遂行されるか、単独で遂行される。調整機能は、ユーザ入力に応答して、スケジューリングに応答して、あるいは、イベントに応答して遂行される。
【００１８】
再び図２を参照すると、コンピュータ・プログラム・コード２１０は、ホスト２０２の中で動作し、コントローラ・プログラム・コード２１２は、ディスク・コントローラ２０４の中で動作し、ディスク・プログラム・コード２１４は、ディスク・アレイ２０６の１つまたは複数のディスクの中で動作する。監視機能、診断機能および調整機能のプログラム・コードの各種構成要素は、ホスト２０２、ディスク・コントローラ２０４およびディスク・アレイ２０６の１つまたは複数のディスクの間、または、それらのいずれかに分配される。前に注意したように、コードは、ホスト２０２、ディスク・コントローラ２０４および１つまたは複数のディスク・アレイ２０６または、それらのいずれかにダウンロードされる。コードは、ホスト２０２からディスク・コントローラ２０４およびディスク・アレイ２０６の１つまたは複数のディスクまたは、それらのいずれかにネットワークからダウンロードされる。コードは、ディスク・コントローラ２０４からディスク・アレイ２０６の１つまたは複数のディスクにダウンロードされる。コードのダウンロードは、構成要素から構成要素内に配置されたメモリまたはシステムのどこかに配置されたメモリに他のコードを保存することを含む。診断手続きと調整手続きが完了すると、コードはその構成要素に再ロードされる。図２のシステムは、例えば、本発明の実施例を実施するために採用されるコンピュータ・プログラム・コードの一部を含むことができるインタフェース・コントローラのようなプログラム可能な他の構成要素（示されず）を含むことができる。
【００１９】
図３は、管理された信頼性の実施例の流れ図である。ステップ３０２で、データが記憶サブ・システムの中に格納される。図１に関連して説明したように、データ記憶は、確実なデータの組織化（ＲＤＯ）を利用する。ここで本発明の実施例は、特定のフォーマットや組織化あるいは組織化の組合せに限定されない。各種のデータ記憶フォーマットは、例えば、ＲＡＩＤ−０、ＲＡＩＤ−１およびＲＡＩＤ−５のようなデータ記憶システムの中で同時に採用されうる。つまり、フォーマットは、システム全体に拡張されうる。例えば、データの組織化は、２つのデータ記憶サブ・システムの異なる２つのドライブ上のＲＡＩＤ１フォーマットのデータを含むことができる。ステップ３０４で、システム・パラメータが取得されて監視される。システム・パラメータは、定期的にまたは連続して取得される。パラメータの監視は、最適使用方法モデルまたは他の装置パラメータと閾値との比較を含むとともに、率、傾向およびシステムと構成要素の動きと条件の他の表示の計算を含むことができる。監視は、ＳＭＡＲＴ（自装置で監視して結果を報告する技術）の要素を採用することができる。ＳＭＡＲＴは、業界が採用した故障を警告するための標準化された仕様である。ＳＭＡＲＴは、ビット読出しエラーとトラック・シーク・エラーのようなドライブの過剰な内部エラーを監視することに基づいている。ＳＭＡＲＴは、エラー発生率が閾値を超えているか否かをチェックし、そのような条件が存在する場合、ドライブのマイクロ・プロセッサで走行しドライブ・インタフェースを介してホストＣＰＵに警告を送る故障警告アルゴリズムを採用する。ＳＭＡＲＴは、起こりうるドライブの故障（と閾値の設定における問題点）に対して反応型方法を採用しているが、ＳＭＡＲＴの各種態様は、本発明の実施例の監視機能の一部として取得されたパラメータの中で採用される。本発明の監視機能は、システム・パラメータと装置パラメータの連続監視と定期的監視、傾向の計算、最適使用方法モデルとの比較、システム利用率とドライブ・パラメータの調整を可能にする定期的およびイベント・ドリブン型診断を含むことができ、信頼性を向上するとともに寿命を延ばすことを提案する。
【００２０】
ステップ３０６で、スケジューリング条件や閾値イベントのようなイベントが発生したか否かの決定がなされる。スケジューリング条件は、所定の時間、所定の数の入出力または他のスケジューリング条件に依存することができる。スケジューリング条件は、例えば、所定の時間が経過したこと、所定の値より小さいか所定の値に等しい利用率の発生のような要因の組合せを採用することができる。スケジューリングは、システムの利用率が下がった期間中に診断が遂行される「利用可能な」シナリオを採用することができる。またスケジューリングは、エラー条件が存在しない限りシステム診断と調整の手続きが遂行されないように、タイム・オブ・デイまたは指定された期間の除外を含むことができる。閾値イベントは、エラー条件、記憶サブ・システムや構成要素の動作パラメータが所定の値または範囲の外にあること、またはユーザの入力を含むことができる。記憶システムの監視は、ホスト・システム、ディスク・コントローラ、ディスクやこれらの組合せで動作するコンピュータ・プログラム・コードを採用することができる。イベントが全然検出されない場合、処理は、ステップ３０４に続く。イベントが検出された場合、処理は、ステップ３０８に続く。ステップ３０８でチェックが遂行され、イベントが使用方法イベントであるか否かを決定する。使用方法イベントは、システム動作パラメータの定期的調整を含むことができるか、または所定の値より大きいか所定の値に等しいシステム動作パラメータを含むことができる。イベントが使用方法イベントであるとステップ３０８が決定すると、処理は、３１０に続き、ここでシステム動作パラメータが調整される。そのような調整は、キャッシュ・サイズを変更すること、待ち行列のアルゴリズム、データのマッピングまたは、その他パラメータを含むことができる。例えば、ウェブ・サーバで特定のウェブ・ページの人気が高まると、データに対する多数の要求が受信される。所望の最適使用方法モデルを超えるドライブまたはドライブのセットに対するアクセス率は、使用方法閾値イベントを発生することができる。ステップ３１０で遂行される調整は、ウェブ・ページのデータを格納するドライブに対してキャッシュを追加割り当てすることができ、データの一部を他のドライブに対して移動またはコピー（二重に）することができ、あるいは、そのデータに対して読出し要求を処理する率を減らすことができる。調整は、例えば、ＲＡＩＤ−５からＲＡＩＤ−１から格納されたデータのフォーマットを変更して読出しパフォーマンスに影響を与えることを含むことができる。そのほか、使用頻度が少ないデータをＲＡＩＤ−１からＲＡＩＤ−５に変換して記憶容量を追加することができる。手続きは、読出し要求の数を絞って、ドライブ・ヘッドの冷却期間をつくり出すことを含むことができる。説明した調整は、例示であり、本発明の実施例は、システム動作を最適使用方法モデルのシステム動作にカスタマイズする何らかの調整を採用することができる。ステップ３０６で検出されたイベントが使用方法イベントではないとステップ３０８で決定されると、処理は、ステップ３１２に続く。
【００２１】
ステップ３１２で、診断を走行すべき１つまたは複数の構成要素が選択される。そのような選択は、監視したパラメータ、報告または検出したエラー、または各種構成要素を異なる間隔で診断することができるか、直列に個別診断することができるスケジューリングを反映する。ステップ３１４で、記憶システムは、選択された構成要素上で走行する診断の条件にセットされる。この状態は、選択された構成要素または複数の構成要素をオフ・ラインにすることを含む。走行する診断の性質と、診断用コンピュータ・プログラム・コードを実行するシステム内の位置に依存して、この状態は、保留中の入出力を実行して読出しバッファと書込みバッファまたは、そのいずれかを空にし、完了できなかった入出力のバッファ・データを保存し、インタフェース・コントローラ、ディスク・コントローラまたはディスク・ドライブの電子回路からのコンピュータ・プログラム・コードを保存し、あるいは１つまたは複数のディスク・ドライブからのユーザ・データを保存することを含むことができる。例えば、起こりうる読出しエラーのためユーザ・データが使用不能の場合、データをコピーするか再生して他のドライブに格納することができる。データは、ステップ３０２で採用されたフォーマットまたは複数のフォーマットと一致するようにバックアップ（格納）される。データのバックアップ（格納）は、データを同一システム内の記憶装置アレイの他のディスク・ドライブに分配するか、あるいは他の記憶システムに格納することを採用することができる。そのような記憶は、例えば、ＲＡＩＤ−１フォーマットのデータをＲＡＩＤ−５フォーマットのデータに変換するように、データ・フォーマットの変換を採用することができる。データを格納することは、ディスク・ドライブ上のデータを上書きするか、さもなければデータ損失になりうる各種テストを遂行することを可能にする。インタフェース・コントローラ、ディスク・コントローラまたはディスク・ドライブの電子回路からのコンピュータ・プログラム・コードのデータを保存することは、診断または調整の機能の一部を実施するコンピュータ・プログラム・コードをコントローラおよびドライブまたは、そのいずれにダウンロードすることを可能にするとともに、当初のデータを後で復元することを可能にする。ステップ３１６で、システム入出力のマップを更新し、システムが診断を遂行しながらデータにアクセスすることを可能にする。ステップ３１８では、１つまたは複数の診断機能を遂行することができる。そのような診断は、各種読出し書込みテストを含むことができるとともに、動作条件とマージンを決定する読出しチャネルのフィルタリング、利得、サーボとトラッキングのフィードバックなどのような動作パラメータの調整を含むことができる。本発明の実施例は、特定型式の診断に限定されず、製造プロセス中に採用された診断ルーチンを都合良く採用することができる。ステップ３２０では構成要素を調整することができる。そのような調整は、ステップ３１８で遂行される診断から取得された情報を使用して遂行されるか、診断とともに遂行されて所望の値に「ホーム・インする」ことができる。診断ルーチンと調整ルーチンは、階層的にかつ回帰的に、または、そのいずれかの型式で遂行される。本発明の実施例は、遂行される各種型式の調整に限定されず、製造プロセス中に採用された調整を含むことができる。調整は、例えば、セクタの対応付け（ドライブをフォーマットすること）、書込み電圧または書込み電流の調整、読出し増幅器の利得調整、フィルタ係数、トラッキング・アルゴリズム、モーター速度およびアクチュエータの加速、または、それらのいずれかを含むことができる。また調整は、例えば、（ＳＲＡＭ、ＤＲＡＭまたはＥＥＰＲＯＭのような）装置のメモリ内のコードを再配置すること、コードをダウンロードすること、メモリを再割り当てすること、メモリの一部を除外することを含むことができる。ステップ３１８で遂行される診断機能は、定期的診断の場合のように調整を必要としないことを決定することができるので、ステップ３２０では調整は遂行されない。ステップ３２２では調整が検証される。調整が遂行されると、診断を遂行して調整の効果を決定するとともに、更なる調整の必要の有無を決定ことができる。ステップ３１８で検出された条件に関連して、検出した条件を修復するために採用される複数の調整動作が存在する。ステップ３２０、３２２は、所望の結果が達成されるまで、あるいは、その条件を修復できないことが決定されるまで各種調整が遂行されるという点で回帰的である。ステップ３２４では、ステップ３１４で格納されたデータがあれば、そのデータが復元される。この動作は、他の装置またはシステムからデータをコピーすることを含むことができるとともに、例えば、ＲＡＩＤ−５からＲＡＩＤ−１への変換のように、記憶フォーマット間の変換を含むことができる。ステップ３２６では、必要に応じて入出力マップを更新する。入出力マップは、もしあれば、検出した条件が修復されたか否か、前にオフ・ラインにしたドライブに対してデータが復元されているか否か、あるいは、条件が修復されなかったか否かを反映する。代替的に、ステップ３１４で格納されたデータを格納された位置にとどめておいても良く、ステップ３１２で選択した構成要素の記憶容量を再割り当てしても良い。
【００２２】
図３に示すステップは、示されている順番に条件付きで遂行されるか、あるいは、回帰的に、またはセグメント化されて遂行される。例えば、いくつかの診断ルーチンは、データをバックアップすることを必要としない。診断の最初のセットを遂行すると、最初の診断の結果を採用して更なる診断を走行させるか否かを決定する。構成要素の調整は、優先順位をつけた調整ルーチンを採用する。例えば、診断した条件は、１つまたは複数の調整によって修復されるかも知れない。最初の調整を遂行すると、調整の結果を集めて、所望のレベルの動作が達成されたか否かを決定する。次に第２の調整が遂行される。第１の調整が遂行された後で第２の調整を再度、遂行することができるように、遂行は、回帰的であるか、相互に関係づけされる。
【００２３】
或る実施例では、診断と調整または、それらのいずれかのコンピュータ・プログラム・コードは、所有権があり、公表されておらず秘密であると考えられている。そのようなコードまたはそれの一部は、インタフェース・コントローラ、ディスク・コントローラまたは記憶装置のアレイに常駐することができるか、暗号化を採用するネットワークを介してアクセスされた後、実行される前にホスト・コンピュータ、インタフェース・コントローラ、ディスク・コントローラまたはディスク・ドライブのメモリの中で解読される。診断機能と調整機能を与えるコードの各部は、遠隔サイトで実行することができる。したがって、本発明の実施例は、独占的サービスとして提供される。
【００２４】
本発明の実施例は、記憶システムと構成要素の動作パラメータの定期的またはイベント・ドリブン型で診断し調整することができるとともに、製造プロセスに付随する低レベルの調整を含むことができる。記憶システムの動作パラメータを最適化することは、動作寿命を延ばすとともにデータ損失の可能性を小さくすることができる。診断ルーチンと調整ルーチンからの傾向情報を採用して、記憶システムの構成要素の故障の可能性と、構成要素を使用されるままにしておくべきか、交換すべきかの勧告を更に推定することができる。低レベルの診断と調整を使用することは、構成要素の故障の可能性を決定する場合にＳＭＡＲＴや同様な監視方法によって得られる精度よりも高い精度にすることができる。
【００２５】
診断と調整は、構成要素に特化されるか、システムに特化される。調整は、例えば、ディスク・ドライブのような単一構成要素の動作を反映するか、起こりうる振動やトラッキング・エラーをつくり出すディスク・ドライブのアクチュエータ加速率のように、複数の構成要素の相互作用を反映する。例えば、アクチュエータの加速率を変えるような本発明の実施例を採用して、１つまたは複数の構成要素が固定部分で緩んでいることを決定することができる。複数の構成要素の相互作用を反映する他の調整は、例えば、パケット・サイズまたはオフセットを含むことができる。
【００２６】
本発明の実施例の最適使用方法モデルは、突然故障の可能性を小さくすることや装置の動作寿命を延長することにつながる動作モードを定義する複数の動作パラメータを含む。これらのモデルは、装置のタイプに依存して変わる。例えば、ディスク・ドライブは、デスクトップ用から企業用までに広がっており、企業用ディスク・ドライブはより強靱であって高い利用率に適しているが、デスクトップ用ディスク・ドライブは、低アクセス率とシングル・スレッド・アクセスに適している。モデルは、どんな型式の記憶システムの装置に対しても与えられるので、１つのシステムの積極的な信頼性管理の中に複数のモデルを採用することができる。本発明の実施例の特徴を例示するために前述の説明を採用してきたが、本発明の実施例は、調整可能な構成要素を有するいかなる記憶システムにも適用可能である。
【００２７】
本発明の例示と説明のために前述の説明をしてきた。この説明が本発明を網羅することも、本発明が開示されている精緻な型式に限定されることも意図しておらず、更に上記教示を考慮すると他の改造や変更も可能である。本発明の原理と実際的な応用を最も良く説明し、当業者が各種実施例の中で本発明を最も良く利用できることを可能にするために、実施例を選択して説明した。更に各種改造は、熟慮された特定の使用方法に適している。特許請求の範囲は、先行技術によって限定される範囲を除き、本発明の代替可能な実施例を含むものと解釈すべきである。
【図面の簡単な説明】
【００２８】
【図１】管理された信頼性の構成要素のブロック図を示す図である。
【図２】管理された信頼性のシステム環境を示す図である。
【図３】管理された信頼性の実施例の流れ図を示す図である。
【符号の説明】
【００２９】
１００  機能
１０２  確実なデータの組織化（ＲＤＯ）
１０４  計画された信頼性管理（ＰＲＭ）
１０６  閾値の信頼性管理（ＴＲＭ）
１０８  ソフトウエアによるデータの再生と再構築（ＳＤＲ）
２００  環境
２０２  ホスト
２０４  ディスク・アレイ・コントローラ
２０６  ディスク・アレイ
２１０  コンピュータ・プログラム・コード
２１２  ディスク・アレイ・コントローラ・プログラム・コード
２１４  ディスク・プログラム・コード
【図１】
2005293594.tif 000003
【図２】
2005293594.tif 000004
【図３】
2005293594.tif 000005