(57)【要約】  一局面において、本発明は、データ・ストレージ・システムに対する保守料金を決定する動作を行うためにデジタル処理装置によって実行可能な機械読み取り可能な命令のプログラムを具体的に実施する信号搬送媒体を提供する。当該動作は、少なくとも１つのデータ・ストレージ装置をデータ・ストレージ・システムの動作中に監視して、デューティ・サイクルを決定することと、保守料金の現在値を、決定されたデューティ・サイクルに少なくとも一部は基づいて決定することとを含む。さらなるディスク・ドライブ・ベースの実施形態において、当該動作は、データ・ストレージ・システムのディスク・ドライブのディスク・ドライブ冗長構成を決定することを含んでもよいし、そうでなくてもよい。そして、当該動作は、決定されたデューティ・サイクルを閾値と比較して、比較結果に基づいて冗長構成変更信号をアサートする。ＲＡＩＤレベルを有するＲＡＩＤ構成の実施形態の場合には、アサート動作は、比較の結果に基づいてＲＡＩＤレベル変更信号をアサートする。
2008516307.tif 000002
【特許請求の範囲】
【請求項１】
データ・ストレージ・システムに対する保守料金を決定する動作を行うためにデジタル処理装置によって実行可能な機械読み取り可能な命令のプログラムを具体的に実施する信号搬送媒体であって、前記動作は、
少なくとも１つのデータ・ストレージ装置を前記データ・ストレージ・システムの動作中に監視して、データ・ストレージ装置のデューティ・サイクルを決定することと、
前記保守料金の現在値を、前記決定されたデータ・ストレージ装置のデューティ・サイクルに少なくとも一部は基づいて決定することと
を含む、信号搬送媒体。
【請求項２】
前記データ・ストレージ装置は、ディスク・ドライブからなり、前記監視動作は、サンプリング間隔に渡って、少なくとも読み出し動作数を記録することをさらに含む、請求項１に記載の信号搬送媒体。
【請求項３】
前記データ・ストレージ装置は、ディスク・ドライブからなり、前記監視動作は、サンプリング間隔に渡って、少なくとも書き込み動作数を記録することをさらに含む、請求項１または２に記載の信号搬送媒体。
【請求項４】
前記データ・ストレージ装置は、ディスク・ドライブからなり、前記監視動作は、サンプリング間隔に渡って、少なくともシーク動作数を記録することをさらに含む、先の請求項のいずれかに記載の信号搬送媒体。
【請求項５】
サンプリング間隔に渡る記録は、読み出し／書き込みヘッドがシーク動作中に移動する距離をさらに記録する、請求項４に記載の信号搬送媒体。
【請求項６】
前記データ・ストレージ装置は、ディスク・ドライブからなり、ＲＡＩＤレベルを有するＲＡＩＤ構成において動作される複数のディスク・ドライブがあり、
前記決定されたデューティ・サイクルを閾値と比較する動作と、
前記比較の結果に基づいて、ＲＡＩＤレベル変更信号をアサートする動作と
をさらに含む、先の請求項のいずれかに記載の信号搬送媒体。
【請求項７】
データ・ストレージ・システムのディスク・ドライブのディスク・ドライブ冗長構成を決定する動作を行うためにデジタル処理装置によって実行可能な機械読み取り可能な命令のプログラムを具体的に実施する信号搬送媒体であって、前記動作は、
前記ディスク・ドライブを前記データ・ストレージ・システムの動作中に監視して、デューティ・サイクルを決定することと、
前記決定されたデューティ・サイクルを閾値と比較することと、
前記比較の結果に基づいて、冗長構成変更信号をアサートすることと
を含む、信号搬送媒体。
【請求項８】
前記ディスク・ドライブは、ＲＡＩＤレベルを有するＲＡＩＤ構成において動作され、アサートは、前記比較の結果に基づいて、ＲＡＩＤレベル変更信号をアサートする、請求項７に記載の信号搬送媒体。
【請求項９】
前記決定されたデューティ・サイクルに少なくとも一部は基づいて、データ・ストレージ・システムの保守料金の現在値を決定する動作をさらに含む、請求項７または８に記載の信号搬送媒体。
【請求項１０】
前記監視動作は、サンプリング間隔に渡って、少なくとも読み出し動作数を記録することをさらに含む、請求項７、８、または９に記載の信号搬送媒体。
【請求項１１】
前記監視動作は、サンプリング間隔に渡って、少なくとも書き込み動作数を記録することをさらに含む、請求項７、８、９、または１０に記載の信号搬送媒体。
【請求項１２】
前記監視動作は、サンプリング間隔に渡って、少なくともシーク動作数を記録することをさらに含む、請求項７から１１のいずれかに記載の信号搬送媒体。
【請求項１３】
サンプリング間隔に渡る記録は、読み出し／書き込みヘッドがシーク動作中に移動する距離をさらに記録する、請求項１２に記載の信号搬送媒体。
【請求項１４】
少なくとも１つの回転ディスクと、
少なくとも１つの可動ディスク読み出し／書き込みヘッドと、
サンプリング間隔に渡ってディスク・ドライブのデューティ・サイクルを記述する情報を保守料金決定機能に対して記録および報告するための、前記少なくとも１つの読み出し／書き込みヘッドに少なくとも結合されたモニタと
を備える、ディスク・ドライブ。
【請求項１５】
少なくとも１つの回転ディスクと、
少なくとも１つの可動ディスク読み出し／書き込みヘッドと、
サンプリング間隔に渡ってディスク・ドライブのデューティ・サイクルを記述する情報をＲＡＩＤレベル決定機能に対して記録および報告するための、前記少なくとも１つの読み出し／書き込みヘッドに少なくとも結合されたモニタと
を備える、ディスク・ドライブ。
【請求項１６】
少なくとも１つのディスク・ドライブに結合されたディスク・ドライブ・コントローラであって、各ディスク・ドライブは、少なくとも１つの回転ディスクと、少なくとも１つの可動ディスク読み出し／書き出しヘッドとを備え、前記ディスク・ドライブ・コントローラは、サンプリング間隔に渡ってディスク・ドライブのデューティ・サイクルを記述する情報を保守料金決定機能に対して記録および報告するための、前記少なくとも１つの読み出し／書き込みヘッドに少なくとも結合されたモニタを備える、ディスク・ドライブ・コントローラ。
【請求項１７】
少なくとも１つのディスク・ドライブに結合されたディスク・ドライブ・コントローラであって、各ディスク・ドライブは、少なくとも１つの回転ディスクと、少なくとも１つの可動ディスク読み出し／書き出しヘッドとを備え、前記ディスク・ドライブ・コントローラは、サンプリング間隔に渡ってディスク・ドライブのデューティ・サイクルを記述する情報をＲＡＩＤレベル決定機能に対して記録および報告するための、前記少なくとも１つの読み出し／書き込みヘッドに少なくとも結合されたモニタを備える、ディスク・ドライブ・コントローラ。
【請求項１８】
ディスク・ドライブ・データ・ストレージ・システムを動作させるために請求すべき保守料金についての値を確定するために動作可能な保守プロバイダ・システムであって、前記保守プロバイダ・システムは、前記ディスク・ドライブ・データ・ストレージ・システムの動作を監視するモニタに結合して、ディスク・ドライブの使用量を決定するためのインターフェースを備え、前記インターフェースを介して前記モニタから受信された情報に応答して、ディスク・ドライブ利用係数と、前記決定された利用係数に少なくとも一部は基づいて、前記保守料金についての現在値とを決定するためのプロセッサをさらに備える、保守プロバイダ・システム。
【請求項１９】
前記情報は、少なくともディスク・ドライブ読み出し動作数を備える、請求項１８に記載の保守プロバイダ・システム。
【請求項２０】
前記情報は、少なくともディスク・ドライブ書き込み動作数を備える、請求項１８または１９に記載の保守プロバイダ・システム。
【請求項２１】
前記情報は、少なくともディスク・ドライブ・シーク動作数を備える、請求項１８、１９、または２０に記載の保守プロバイダ・システム。
【請求項２２】
前記情報は、読み出し／書き込みヘッドがシーク動作中に移動する距離をさらに備える、請求項２１に記載の保守プロバイダ・システム。
【請求項２３】
前記ディスク・ドライブ・データ・ストレージ・システムは、ＲＡＩＤレベルを有するＲＡＩＤ構成において動作される複数のディスク・ドライブを備え、前記プロセッサは、決定されたディスク・ドライブ・デューティ・サイクルを閾値と比較してするための情報にさらに応答して、前記比較の結果に基づいてＲＡＩＤレベル変更信号をアサートする、請求項１８から２２に記載の保守プロバイダ・システム。
【請求項２４】
ディスク・ドライブ・ベースのデータ・ストレージ・システムであって、
前記データ・ストレージ・システムの動作中に前記ディスク・ドライブを監視して、前記ディスク・ドライブについての使用量情報を決定するための手段であって、前記使用量情報は、単位時間当たりの書き込み動作数と、単位時間当たりの読み出し動作数と、単位時間当たりのシーク動作数のうちの少なくとも１つを備える、手段と、
前記データ・ストレージシステムについての保守料金を決定するための手段に結合するためのインターフェース手段であって、前記使用量情報を前記決定手段に報告する、インターフェース手段と
を備える、ディスク・ドライブ・ベースのデータ・ストレージ・システム。
【請求項２５】
前記使用量情報は、読み出し／書き込みヘッドがシーク動作中に移動する距離をさらに備える、請求項２４に記載のディスク・ドライブ・ベースのデータ・ストレージ・システム。
【請求項２６】
ＲＡＩＤレベルを有するＲＡＩＤ構成において動作される複数のディスク・ドライブがあり、前記使用量情報を閾値と比較するための手段と、前記比較の結果に基づいてＲＡＩＤレベル変更信号をアサートするための手段とをさらに備える、請求項２４または２５に記載のディスク・ドライブ・ベースのデータ・ストレージ・システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本教示は、一般的には、ディスク・ベースのデータ・ストレージ・システムおよび方法に関し、より特定的には、複数のディスク・ドライブからなるデータ・ストレージ・システム、およびそのようなデータ・ストレージ・システムについての保守料金を決定および請求するための手法に関する。
【背景技術】
【０００２】
データ・ストレージ・システムにおいて、ＲＡＩＤ（カリフォルニア大学バークレー校の研究員によって当初は「低価格ディスク冗長アレイ（Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙ  ｏｆ  Ｉｎｅｘｐｅｎｓｉｖｅ  Ｄｉｓｋｓ）」と称された「独立ディスク冗長アレイ（Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙ  ｏｆ  Ｉｎｄｅｐｅｎｄｅｎｔ  Ｄｉｓｋｓ  Ｂ）」）として知られる技術を使用して、単一の仮想ストレージ装置として動作するように、独立したストレージ装置のアレイを構成できる。この場合において、「ディスク」は、「ディスク・ドライブ」の省略表現としてしばしば使用される。
【０００３】
ＲＡＩＤストレージ・システムは、独立したストレージ装置のアレイと、少なくとも１つのＲＡＩＤコントローラとを含む。ＲＡＩＤコントローラは、独立したストレージ装置のアレイの仮想化されたビューを提供し、ＲＡＩＤストレージ・システムと共に動作するように構成されたコンピュータ・システムは、ＲＡＩＤストレージ・システムの独立したストレージ装置のアレイがあたかも単一のストレージ装置であるかのように入出力（Ｉ／Ｏ）動作を行うことができる。よって、ストレージ装置のアレイは、ストレージ要素のシーケンシャルなリストと共に単一の仮想ストレージとして現れる。ストレージ要素は、通常、ストレージのブロックとして知られ、データ・ブロック内に記憶されたデータは、データ・ブロックとして知られる。Ｉ／Ｏ動作（読み出しおよび書き込みなど）は、仮想ストレージ装置内のストレージの１つ以上のブロックを参照して認められる。Ｉ／Ｏ動作が仮想ストレージ装置に対して行われると、ＲＡＩＤコントローラは、Ｉ／Ｏ動作を独立したストレージ装置のアレイにマッピングする。ストレージ装置のアレイを仮想化してＩ／Ｏ動作をマッピングするために、ＲＡＩＤコントローラは、当該技術において周知の標準的なＲＡＩＤ手法を使用してもよい。これらの手法を以下に簡単に検討する。
【０００４】
ＲＡＩＤコントローラは、データ・ブロックを独立したストレージ装置のアレイに渡って分散させる。これを実現するための一方法は、ストライピングとして知られる手法を使用することである。ストライピングは、ラウンド・ロビン方式でデータ・ブロックをストレージ装置に渡って分散させる。データ・ブロックをＲＡＩＤストレージ・システムに記憶させる場合、ストリップとして知られる数多くのデータ・ブロックを各ストレージ装置に記憶させる。ストリップの大きさは、個々の具体的なＲＡＩＤによって決定されてもよいし、構成可能であってもよい。第１のストレージ装置上に記憶された第１のストリップと、後続のストレージ装置上に記憶された後続のストリップを備えるストリップの列は、ストライプとして知られる。ストライプの大きさは、ストライプを構成するすべてのストリップの大きさの合計である。
【０００５】
このように、データ・ブロックを記憶するために複数の独立したストレージ装置を使用すると、単一のストレージ装置と比べて、高性能のＩ／Ｏ動作が提供される。なぜなら、複数のストレージ装置は、Ｉ／Ｏ動作中に並列して動作可能だからである。性能の向上は、ＲＡＩＤ技術の主な利点の１つである。ハード・ディスク・ドライブの性能は、コンピュータ・システムにおいて重要である。なぜなら、ハード・ディスク・ドライブは、典型的なコンピュータのうちで最も遅い内部要素の部類だからである。
【０００６】
ハード・ディスク・ドライブの中には、信頼性に乏しいものとして知られているものがあるが、それでも、ハード・ディスク・ドライブの信頼性は重要である。なぜならば、回復不可能なデータの喪失（またはたとえ一時的であってもデータにアクセス不可能）という重大な結果が生じるからである。典型的なＲＡＩＤストレージ・システムの重要な目的の１つは、信頼性のあるデータ・ストレージを提供することにある。
【０００７】
信頼性を提供する一手法では、独立したストレージ装置のアレイ内のデータと共にチェック情報を記憶することを要する。チェック情報とは、そのような装置のアレイにおける単一のストレージ装置の障害などの単一障害点のために読み出し不可能となったデータを再生することができる冗長情報のことである。読み出し不可能なデータは、読み出し可能なデータと、冗長チェック情報との組み合わせから再生される。チェック情報は、ストライプ内の単一のストリップを占めるような「パリティ」データとして記録され、排他的論理和（ＸＯＲ）論理演算子をストライプ内のすべてのデータ・ストリップに対して適用することによって計算される。例えば、データ・ストリップＡ、ＢおよびＣを備えるストライプは、Ａ  ＸＯＲ  Ｂ  ＸＯＲ  Ｃとして計算された関連パリティ・ストリップを有することになろう。ストレージ・システムにおける単一障害点の場合には、パリティ・ストリップを使用して、アクセス不可能なデータ・ストリップを再生する。データ・ストリップＡ、ＢおよびＣとパリティを備えるストライプが、４つの独立したストレージ装置Ｗ、Ｘ、ＹおよびＺにそれぞれ記憶される場合であってストレージ装置Ｘに障害がある場合には、装置Ｘ上に記憶されたストリップＢがアクセス不可能となろう。ストリップＢは、残りのデータ・ストリップおよびパリティ・ストリップからＸＯＲ計算を通じて計算可能である。この場合の回復のための計算は、Ａ  ＸＯＲ  Ｃ  ＸＯＲ  パリティ＝Ｂである。これは、ＸＯＲ演算の可逆的性質を利用して、任意の単一の失われたストリップＡ、ＢまたはＣを生じさせるものである。当然ながら、失われたデータがパリティ情報である場合には、以前のＸＯＲを繰り返すことができる。
【０００８】
（並行動作という性能上の利点のための）ストライピングおよび（冗長化のための）パリティ加えて、ＲＡＩＤによる解決策で使用される他の冗長化手法に、ミラーリングがある。ミラーリングを使用するＲＡＩＤシステムにおいて、システム内のすべてのデータは、同時に２つのハード・ディスク・ドライブに書き込まれる。これにより、複製データを含むどのディスクの障害に対しても保護が与えられ、ディスク障害から比較的早期に回復が可能となる（データは、他に障害があっても１つのディスク上ではすぐに使用できるからである）。このような利点は、コストの増加（ディスク空間の半分は複製データを記憶するために使用されるので）という欠点と均衡が取られなければならない。複製化は、ＲＡＩＤコントローラと共にディスク・ドライブＢも複製化するミラーリングの拡張版であって、それによって、コントローラの障害と共に、ディスク・ドライブ障害に対しても保護が与えられる。
【０００９】
実施されるＲＡＩＤが異なれば、使用される上記手法の組み合わせも異なる。数多くの標準的なＲＡＩＤ方法が単一のＲＡＩＤ「レベル」０から７として識別され、「入れ子の（ｎｅｓｔｅｄ）」ＲＡＩＤレベルも定義されている。例を挙げる。
【００１０】
ＲＡＩＤ１は、耐障害性のために、ミラーリング（または複製化）を使用する。これに対して、ＲＡＩＤ０は、パリティなし、すなわち冗長化がないので他のＲＡＩＤレベルの耐障害性がない、ブロック・レベルのストライピングを使用するので、コストに比較して性能がよい。ＲＡＩＤ０は、典型的には、重要でないデータ（または、稀にしか変更せず定期的にバック・アップが取られるデータ）に対してであって、高速および低コストが信頼性より重要な場合に使用される。
【００１１】
ＲＡＩＤ３およびＲＡＩＤ７は、パリティありのバイト・レベルのストライピングを使用する。
【００１２】
ＲＡＩＤ４、ＲＡＩＤ５およびＲＡＩＤ６は、パリティありのブロック・レベルのストライピングを使用する。ＲＡＩＤ５は、分散パリティ・アルゴリズムを使用して、データおよびパリティ・ブロックをアレイ内のすべてのドライブに渡って書き込む（書き込み性能をやや向上させ、ＲＡＩＤ４の専用パリティ・ドライブに比べて並列性を向上できる）。耐障害性は、ＲＡＩＤ５において、データの任意の所定のブロックについてのパリティ情報がデータ自体を記憶するために使用されるドライブとは別のドライブ上に記憶されることを確実にすることによって維持される。ＲＡＩＤ５は、高性能、高耐障害性、ならびに高い容量およびストレージ効率を併せ持ち、単一のＲＡＩＤレベルの中で、トランザクション処理などのアプリケーション、および書き込みを集中的に行うものではない他のアプリケーションに対して最も折り合いがよいものと考えられている。
【００１３】
上述の単一のＲＡＩＤレベルに加えて、性能のさらなる向上のためには、入れ子のＲＡＩＤレベルも使用される。例えば、高性能ＲＡＩＤ０の特徴を１、３または５などの冗長ＲＡＩＤレベルの特徴と入れ子の構造に組み合わせて、耐障害性を提供してもよい。
【００１４】
ＲＡＩＤ０１は、２つのストライピングされたセットのミラーリングされた構成であり、ＲＡＩＤ１０は、数多くのミラーリングされたセットに渡るストライプである。ＲＡＩＤ０１およびＲＡＩＤ１０は共に、（多くの使用において）高性能かつ良好な耐障害性を有する大きなアレイを生じさせることができる。
【００１５】
ＲＡＩＤ１５のアレイは、構成要素として複数のミラーリングされた対を使用してパリティを有するストライピングされたセットを作成することによって形成することができる。同様に、ＲＡＩＤ５１は、ＲＡＩＤ５のアレイ全体をミラーリングすることによって作成され、いずれのＲＡＩＤ５のアレイの各部材も、ディスク・ドライブのミラーリングされた（ＲＡＩＤ１）対として記憶される。データの２つのコピーは、互いに異なる場所に物理的に位置付けられて、さらに保護することができる。パリティの冗長方法と、モニタリングとをこのように組み合わせることによって、優れた耐障害性および利用可能性を達成できる。例えば、８つのドライブであるＲＡＩＤ１５のアレイは、任意の３つのドライブの障害を同時に許容できる。単一のディスク障害の後、データは単一のディスク・ドライブからまだ読み出すことができるのに対して、ＲＡＩＤ５では、より複雑な再構築が必要だろう。
【００１６】
一例として、ＲＡＩＤ５は、単一のドライブ・エラーを補正することが可能である。１４個のドライブのＲＡＩＤ５のシステムの例において、データを記憶する１２個のドライブと、パリティを記憶するための１つのドライブと、障害が生じたドライブについての情報がＲＡＩＤ再構築動作中に移動可能である１つの予備のドライブとがありうる。しかしながら、１４個のドライブのＲＡＩＤ１０のシステムは、６つのデータ・ドライブの２つのセットと、１つのパリティ・ドライブとに分割される。その結果、同じ容量要件を満たすためには、ＲＡＩＤ５と比較して、約２倍の物理ディスク数が必要になるだろうことが理解できる（正確な比率は、２Ｎ／（Ｎ＋１）であって、式中、Ｎは、ＲＡＩＤ５のアレイにおけるデータ・ディスクの数である）。ＲＡＩＤ５による構成のシステムは、ＲＡＩＤ１０システムに移行可能であるが、その逆は一般的には当てはまらない。
【００１７】
ときにはＩｎｔｅｇｒａｔｅｄ  Ｄｒｉｖｅ  Ｅｌｅｃｔｒｏｎｉｃｓ（ＩＤＥ）とも称される、比較的低コストの並列的なＡｄｖａｎｃｅｄ  Ｔｅｃｈｎｉｃａｌ  Ａｔｔａｃｈｍｅｎｔ（ＡＴＡ）ディスク・ドライブ、シリアルＡＴＡ、またはＳＡＴＡディスク・ドライブは、消費者のパーソナル・コンピュータ（ＰＣ）機器（デスクトップおよびラップトップ共に）において長年幅広く使用されてきた。しかしながら、少なくとも部分的には、これらのディスク・ドライブのデータ・ストレージ容量の発展的な増加に応答して、ＡＴＡまたはＳＡＴＡドライブあるいはその両方を、簡単に上述したようなＲＡＩＤベースのストレージ・システムを含む、より大規模にオープンな企業レベルのディスク・ベースのストレージ・システムにおいて使用するための開発が進む傾向にある。
【００１８】
この傾向の結果生じた問題は、ＡＴＡおよびＳＡＴＡドライブの固有な信頼性などの信頼性に関わり、その結果としての平均故障間隔（ＭＴＢＦ）は、従来大規模に使用されてきたディスク・ドライブの他の種類よりかなり小さくできる。その結果、障害割合と、ディスク・ストレージ・システム製造者に対する後続の保守コストとは、従来経験したよりも大きくなることがある。従来のシステムにおいて、ユーザに対して請求された保守料金は、典型的には、使用する全データ・ストレージの容量の関数であった。
【００１９】
米国特許第５８２８５８３号は、ＡＴＡディスク・ドライブ、およびディスク・ドライブの差し迫った障害を予測しようとするための、動作中におけるある属性の監視について記載している。
【００２０】
米国特許第５３７１８８２号は、ディスク・ドライブ障害データを記録して、過去の障害イベントを外挿して予備ディスク・ドライブが使い果たされるであろう日付を推定することによって、冗長グループを有する大きな形状因子のディスク・ドライブ・メモリにおいて使用される、共有された予備ディスク・ドライブのプールがいつ使い果たされるかを予測するための手法を記載している。
【００２１】
米国特許第６４１１９４３号は、第５７欄４６行から第５８欄１０行において、時間量または顧客のために読み出されるかまたは書き込まれる仮想ディスク・ストレージ量あるいはその両方に基づいて、顧客に課金するためのオンライン・サービスを記載している。
【発明の開示】
【発明が解決しようとする課題】
【００２２】
これらの教示の現時点で好ましい実施形態に従って、上述および他の問題は克服され、他の利点が実現される。
【課題を解決するための手段】
【００２３】
一局面において、本発明は、データ・ストレージ・システムに対する保守料金を決定する動作を行うためにデジタル処理装置によって実行可能な機械読み取り可能な命令のプログラムを具体的に実施する信号搬送媒体を提供する。当該動作は、少なくとも１つのデータ・ストレージ装置をデータ・ストレージ・システムの動作中に監視して、データ・ストレージ装置のデューティ・サイクルを決定することと、保守料金の現在値を、決定されたデータ・ストレージ装置のデューティ・サイクルに少なくとも一部は基づいて決定することとを含む。
【００２４】
一局面において、本発明は、データ・ストレージ・システムのディスク・ドライブのディスク・ドライブ冗長構成を決定する動作を行うためにデジタル処理装置によって実行可能な機械読み取り可能な命令のプログラムを具体的に実施する信号搬送媒体である。当該動作は、ディスク・ドライブをデータ・ストレージ・システムの動作中に監視して、デューティ・サイクルを決定することと、決定されたデューティ・サイクルを閾値と比較することと、比較の結果に基づいて、冗長構成変更信号をアサートすることとを含む。ディスク・ドライブがＲＡＩＤレベルを有するＲＡＩＤ構成において動作される一実施形態の場合、当該アサート動作は、比較の結果に基づいて、ＲＡＩＤレベル変更信号をアサートする。
【００２５】
他の局面において、本発明は、少なくとも１つの回転ディスクと、少なくとも１つの可動ディスク読み出し／書き込みヘッドと、サンプリング間隔に渡ってディスク・ドライブのデューティ・サイクルを記述する情報を保守料金決定機能に対して記録および報告するための、少なくとも１つの読み出し／書き込みヘッドに少なくとも結合されたモニタとを有するディスク・ドライブを提供する。
【００２６】
他の局面において、本発明は、ディスク・ドライブを提供するものであって、ディスク・ドライブにおいて、モニタは、サンプリング間隔に渡ってディスク・ドライブのデューティ・サイクルを記述する情報をＲＡＩＤレベル決定機能に対して記録および報告するための、少なくとも１つの読み出し／書き込みヘッドに少なくとも結合されている。
【００２７】
他の局面において、本発明は、少なくとも１つのディスク・ドライブに結合されたディスク・ドライブ・コントローラであって、各ディスク・ドライブは、少なくとも１つの回転ディスクと、少なくとも１つの可動ディスク読み出し／書き出しヘッドとを備える。当該ディスク・ドライブ・コントローラは、サンプリング間隔に渡ってディスク・ドライブのデューティ・サイクルを記述する情報を保守料金決定機能またはＲＡＩＤレベル決定機能あるいはその両方に対して記録および報告するための、少なくとも１つの読み出し／書き込みヘッドに少なくとも結合されたモニタを含む。
【００２８】
本発明の他の局面において、ディスク・ドライブ・データ・ストレージ・システムを動作させるために請求すべき保守料金についての値を確定するために動作可能な保守プロバイダ・システムが提供される。当該保守プロバイダ・システムは、ディスク・ドライブ・データ・ストレージ・システムの動作を監視するモニタに結合して、ディスク・ドライブの使用量を決定するためのインターフェースを含み、インターフェースを介してモニタから受信された情報に応答して、ディスク・ドライブ利用係数と、決定された利用係数に少なくとも一部は基づいて、保守料金についての現在値とを決定するためのプロセッサをさらに含む。
【００２９】
本発明のさらに他の局面において、ディスク・ドライブ・ベースのデータ・ストレージ・システムが提供され、当該システムは、データ・ストレージ・システムの動作中にディスク・ドライブを監視して、ディスク・ドライブについての使用量情報を決定するための手段であって、当該使用量情報は、単位時間当たりの書き込み動作数と、単位時間当たりの読み出し動作数と、単位時間当たりのシーク動作数のうちの少なくとも１つを備える、手段と、データ・ストレージ・システムについての保守料金を決定するための手段に結合するためのインターフェース手段とを含み、インターフェース手段は、使用量情報を決定手段に報告する。
【００３０】
ＲＡＩＤレベルを有するＲＡＩＤ構成において動作される複数のディスク・ドライブがある非制限的な一実施形態において、ディスク・ドライブ・ベースのデータ・ストレージ・システムは、使用量情報を閾値と比較する手段と、比較結果に基づいてＲＡＩＤレベル変更信号をアサートするための手段とをさらに含む。
【００３１】
本発明に係る教示の上記および他の局面は、添付の図面と共に以下の「発明を実施するための最良の形態」を読むと、より明らかになる。
【発明を実施するための最良の形態】
【００３２】
図１を参照すると、本発明の実施形態に従って構成および動作されるディスク・ベースのデータ・ストレージ・システム１０のブロック図が示されている。データ・ストレージ・システム１０のこの非制限的な例において、メインフレームまたは任意の他の適切な種類のコンピュータなどの少なくとも１つのホスト１２があるものとし、当該ホストは、データ・パス１２Ａを介して少なくとも１つのホスト・アダプタ１４に結合されている。当該少なくとも１つのホスト・アダプタ１４は、データ・パス１４Ａを介してデータ・キャッシュ１６に結合され、さらに、データ・キャッシュ１６は、データ・パス１６Ａを介して少なくとも１つのディスク・アダプタ１８に結合されている。少なくとも１つのディスク・ドライブ、しかし典型的には複数のディスク・ドライブ２０が、データ・パス１８Ａを介して（複数の）ディスク・アダプタ１８に結合されている。ディスク・ドライブ２０は、ＲＡＩＤ方式で組織化されてもよく、例えば、ＲＡＩＤコントローラ２０Ａ（便宜上、（複数の）ディスク・アダプタ１８に関連付けられているとして示されている）の管理の下でＲＡＩＤ５構成で組織化および動作されてもよい。この説明の目的のためであって、本発明の実施に制限を加えるものではないが、ディスク・ドライブ２０は、ＡＴＡまたはＳＡＴＡ型のディスク・ドライブであってもよい。
【００３３】
本発明の一局面によれば、システム１０には、ディスク使用量モニタ２２が備えられる。ディスク使用量モニタ２２は、直接的または間接的にディスク・ドライブ２０に結合され、ある期間に渡るディスク活動の記録を保持する。ディスク活動は、保守計量、またはディスク使用量計量、またはディスク使用係数とみなされてもよいが、単位時間当たりのディスク書込み動作の数（例えば、５分間または半時間当たりの書込み動作数）、単位時間当たりのディスク読み出し動作数、または単位時間当たりのディスク・シーク動作数あるいはそのすべてを含むことができる。当該計量がディスク・シーク活動の場合には、ディスク・ドライブ・シーク・イベントの構成要素は、ディスク・ヘッドが移動する必要のあった実際の距離（例えば、トラックで測定）であってもよい。ディスク・ドライブの種類によっては、ディスク活動は、ディスク・ドライブが単位時間当たりに回転数を上げるか、下げるか、あるいはその両方の回数も含んでもよい。
【００３４】
なお、これらの様々な種類の例のディスク活動は、ディスク・ドライブ２０の機械的動作を反映しているので、単位時間当たりのディスク・ドライブ使用量またはディスク・ドライブのデューティ・サイクル、および、場合によっては、単位時間当たりの入出力（Ｉ／Ｏ）利用を示すものといえる。単位時間当たりのディスク・ドライブの使用量が大きくなるほど、すなわち、ディスク・ドライブ２０のデューティ・サイクルが大きくなるほど、障害の可能性が大きくなり、よって、ＭＴＢＦがその分減少することになる。さらに、これらの様々な保守計量は、従来の保守関連の係数の場合のように、ディスク・ドライブ・システム１０の使用済みストレージ容量を直接示すものではないといえる。
【００３５】
なお、モニタ２２は、（複数の）ディスク・アダプタ１８またはＲＡＩＤコントローラ２０Ａのレベルに物理的に位置付けることができ、または、特に（ＩＤＥドライブ用の）埋め込みディスク・コントローラを各ディスク・ドライブが含む場合には、ディスク・ドライブ２０に渡って分散させることができ、または、あまり好ましくはないが、キャッシュ１６のレベルにおいて物理ディスク・ドライブ２０から離れて位置付けることもできよう。この後者の場合には、モニタ２２は、キャッシュ・ヒット対ミスおよびキャッシュ・ライトバックのみがわかるようであってもよく、したがって、これらおよび他のキャッシュ活動を物理ディスク・ドライブ２０の実際の使用量と互いに関連付けてもよい。モニタ２２は、ハードウェアで実施することもできようが、最も好ましくは、ソフトウェアまたはファームウェアで実施され、ディスクのヘッドが移動する度に、またはディスク読み出し動作が行われる度に、ディスク書込み動作が行われる度に、あるいはそのすべての度に、ディスク・ドライブ・コントローラによって実行されるルーチンまたは何らかの他の論理として具体化されてもよい。また、モニタ２２は、ハードウェアおよびソフトウェアの組み合わせとして実施されてもよく、例えばディスク・シーク動作、読み出し動作、または書込み動作が行われる度にファームウェアによって増分される少なくとも１つのハードウェア・カウンタを提供することによって実施されてもよい。最も好ましい実施形態においては、ハードウェア・カウンタは、メモリ位置またはソフトウェアによって管理された位置として単に実施されることになろう。
【００３６】
ディスク・ドライブ２０の監視の結果を報告するために、同じ場所または遠隔地に配置された保守プロバイダ２４との通信を提供するためのリンク２２Ａが提供されるのが好ましい。保守プロバイダ２４は、システム１０のすべて及び一部の製造者である場合、または、システム１０のために保守サービスを提供するためだけの契約を交わす第３者の場合もありうる。リンク２２Ａは、専用接続であってもよく、またはローカル・エリア・ネットワーク（ＬＡＮ）を使用して実施されてもよく、またはインターネットを含むワイド・エリア・ネットワークを使用することによって行われてもよく、ＴＣＰ／ＩＰまたは無線通信プロトコルを含む他のプロトコルあるいはその両方を介しての通信を可能にするものであってもよい。一般的には、リンク２２Ａは、ディスク使用量モニタ２２の出力を保守プロバイダ２４へ伝達する任意の手段を表すものと理解でき、この手段には、手動手段（例えば、ディスク・ドライブ保守計量データが記録されたディスケットを周期的に郵送する）が含まれる。
【００３７】
モニタ２２がディスク・ドライブ２０全体に分散されている場合には、図４を簡単に参照すると、ディスク使用量データを各ディスク・ドライブ２０内のローカル・モニタ（ＬＭ）２２Ｂから収集し、ドライブ使用量統計値を保守プロバイダ２４に対してリンク２２Ａを通じて転送する、ＲＡＩＤコントローラ２０Ａ内にあるもののような１つの共通エンティティ（ＣＥ）２２Ｃがある。この共通エンティティ２２Ｃは、本説明の目的のために、分散されたディスク使用量モニタ２２のＩ／Ｏインターフェースを形成するものとみなされてもよい。
【００３８】
モニタ２２から出力されるディスク使用量データは、モニタ２２から保守プロバイダ２４へ周期的にプッシュされ、好ましくは、ディスク使用量データ出力は、保守プロバイダ２４によってモニタ２２から周期的にプルされる。プッシュまたはプル間の期間の長さ、すなわち、ディスク使用量計量報告周期は、固定されてもよいし、または、システム１０の動作中に、保守プロバイダ２４によってリンク２２Ａを通じてプログラム可能および変更可能であってもよい。
【００３９】
図２も図３と組み合わせて参照すると、保守プロバイダ２４は、適切なリンク・インターフェース（Ｉ／Ｆ）２４Ｂによってリンク２２Ａに結合されたデータ・プロセッサ２４Ａを含みうる。受信されたディスク使用量データは、ディスク使用量計量ストレージ装置またはメモリ２４Ｃに周期的に記憶され（図３、ブロック３Ａ）、好ましくは、Ｎ周期（Ｎサンプル期間）に渡って蓄積されて、ディスク・ドライブ２０の実際の使用量、すなわち、利用係数（図３、ブロック３Ｂ）を反映している傾向を得る（例えば、非制限的な例をいくつか挙げると、時間単位の傾向、日単位の傾向、週単位の傾向、月単位の傾向、または四半期単位の傾向）。そして、利用係数は、保守料金テーブル２４Ｄへのポインタとして使用されて、ディスク・ドライブ２０の実際の使用量に基づく保守料金課金額を反映する結果を得てもよい（図３、ブロック３Ｃ）。代わりに、利用係数は、データ・プロセッサ２４Ａによって解かれる式において明示的に使用されて、課金サイクル毎に保守課金額を動的に計算してもよい（図３、ブロック３Ｄ）。例えば、テーブル２４Ｄからの値を取得するために利用係数を使用した後に、取得した値を使用して保守料金を明示的に計算する（またはその逆も）という両方の種類の動作を行うことも、本発明の範囲内である。注意すべきなのは、ユーザには、ディスク使用量計量ストレージ２４Ｃ内に記憶された記録に基づいて詳細な報告が提供されて、課金額を確認できることである。
【００４０】
ここで使用されているように、利用係数または利用計量は、ディスク・ドライブ２０のデューティ・サイクルに関連しており、さらにこれは、ディスク・ドライブ２０の使用量の関数であり、それ自体はディスク・ドライブ２０に記憶されたデータ量またはディスク・ドライブ２０の記憶容量（全体または残存分）ではない点に注意すべきである。
【００４１】
本発明のこれらの実施形態を使用する結果、ディスク・ドライブ２０を少しだけ使用するユーザ（「軽い」デューティ・サイクルまたは利用係数を有する）に対して、より頻繁にディスク・ドライブ２０を使用するユーザ（「重い」デューティ・サイクルまたは利用係数を有する）とは異なる金額を請求できる。同様に注意すべきなのは、もしディスク・シーク動作（またはシーク距離）が保守プロバイダ２４によって受信されたディスク使用量係数の一部を形成している場合には、互いに異なるユーザに対して、最も一般的に使用しているディスクＩ／Ｏ動作の種類に基づいて、互いに異なるように請求が行われてもよいことである。例えば、あるデータベース・アプリケーションなどにおいて、数多くのエッジ‐エッジ間ディスク・シークを伴うディスク動作を必要とするユーザに対しては、よりシーケンシャルな読み出しまたは書込みあるいはその両方を行うユーザとは異なるように請求を行うことができる。同じ点に関して、同一のユーザに対して、システム１０の使用量のユーザの直近の種類に基づいて、互いに異なる時間に異なるように請求が行われてもよい。さらに注意すべきなのは、ディスク・ドライブ・システムのＲＡＩＤの種類において、例えば、ＲＡＩＤ５のシステムがパリティを計算するためのリード‐モディファイ‐ライト動作を使用し、リード‐モディファイ‐ライト計算が書き込み動作毎に行われることである。よって、この種の動作は、データ・プロセッサ２４Ａによって計算される利用係数の値に直接影響を与えることができ、互いに異なるユーザ間で異なりうる。
【００４２】
注目すべきは、モニタ２２の使用はオプションであってもよく、モニタ２２をインストールして使用させるために、所定のユーザに対して値引きなどのインセンティブが提供されてもよい点である。さらに注目すべきは、保守プロバイダ２４は、ディスク・ドライブ２０のＭＴＢＦに対して直接相互関連可能な保守料金を、ディスク・ドライブ２０に記憶されたデータ量ではなく、実際の使用量に基づいて、所定のユーザに対して請求することができるので、モニタ２２の使用は、保守プロバイダ２４を利するものでもあるという点である。この種のオン・デマンドの動的な保守料金の決定は、高性能の企業レベルのディスク・ドライブ・ベースのストレージ・システムを構築するために従来使用される他の種類のディスク・ドライブよりも劣るＭＴＢＦ特性を少なくとも現在は典型的には示すＡＴＡおよびＳＡＴＡ型のディスク・ドライブを使用する場合に特に重要となりえる。しかしながら、本発明の教示は、任意の種類のディスク・ドライブおよびディスク・ドライブ技術を使用するデータ・ストレージ・システム、ならびにテープ・ドライブ・ベースのシステムのようなストレージ装置の信頼性が問題となる他の種類のデータ・ストレージ・システムと共に明らかに使用することができる。
【００４３】
一般的に、本発明の本実施形態は、ディスク・ドライブなどの少なくとも１つ、ただし好ましくはデータ・ストレージ装置の集合体と共に動作し、データ・ストレージ・システムの動作中に少なくとも１つのデータ・ストレージ装置を監視して、データ・ストレージ装置のデューティ・サイクルを決定する動作と、決定されたデータ・ストレージ装置のデューティ・サイクルに少なくとも一部は基づいて保守料金の現在値を決定する動作とを含む。これらの様々な動作は、１つまたは複数のメモリに記憶された（より一般的には、固定または着脱可能なディスクを含む信号搬送媒体に記憶された）コンピュータ・コードまたはプログラム命令によって行われ、システム１０の一部をなす、またはそれに結合された１つ以上のデータ・プロセッサによって実行されることができる。
【００４４】
本発明のさらなる局面が、モニタ２２からＲＡＩＤコントローラ２０Ａに引かれた破線の信号線２３として、図１および２に示されている。ディスク・ドライブのデューティ・サイクルが大きくなると、ディスク・ドライブ障害の可能性が大きくなる。図５も参照すると、あるデューティ・サイクルにおいてモニタ２２によって収集されたドライブ使用量データおよび傾向を監視することによって（図５、ブロック５Ａ）、モニタ２２は、信号線２３上のＲＡＩＤレベル変更信号をＲＡＩＤコントローラ２０Ａに対してアサートして（図５、ブロック５Ｂ）、ＲＡＩＤレベル変更が行われるように自動的に命令（または推奨）することができる（例えば、ＲＡＩＤ５からＲＡＩＤ１０へ）。一般的に、ＲＡＩＤレベル変更信号はアサートされて、現在のＲＡＩＤレベルよりも単一または複数のディスク・ドライブ障害への耐性が高いＲＡＩＤレベルへの変更が生じるか、または推奨される。状況によっては、ＲＡＩＤコントローラ２０Ａは、現在のＲＡＩＤレベルから他のＲＡＩＤレベルへ（例えば、ＲＡＩＤ５からＲＡＩＤ１０へ）ディスク・ドライブ２０のオン・ザ・フライでの乗り換えを開始することによって応答してもよい。代わりに、ＲＡＩＤコントローラ２０Ａ（またはモニタ２２）は、ＲＡＩＤレベル変更信号の受信をユーザに対して信号で知らせてもよく、それによって、場合によってはハードウェアの更新または再構築あるいはその両方を必要とするような推奨を承認または拒絶する機会がユーザに与えられる。代わりに、ＲＡＩＤレベル変更信号は、保守プロバイダ２４のデータ・プロセッサ２４Ａによって生成されて、モニタ２２を介してＲＡＩＤコントローラ２０Ａへ信号で知らせてもよく、または適切なユーザ・インターフェースを介して、ユーザに対して直接信号で知らせてもよい。承認される場合には、ディスク・ドライブ２０のＲＡＩＤレベルは、ディスク・ドライブ障害に対してより耐性を有するとして知られるＲＡＩＤレベルに変更される（図５、ステップ５Ｃ）。
【００４５】
ディスク使用量がある期間に同一または異なる閾値を下回る場合には、処理は逆に働いて、その場合には、ＲＡＩＤレベル変更信号（または他の信号）のアサートは、より低いＲＡＩＤレベルへの変更が可能なことを示す。この場合、ユーザは、単一のドライブまたは複数のドライブ障害を経験する可能性がディスク使用量の減少によって減少したとみなして、より低いＲＡＩＤレベルを動作させることによって、ディスク・ドライブ２０の全体のストレージ容量を増加することができてもよい。
【００４６】
一般的に、本発明の実施形態は、あるディスク・ドライブ冗長構成を有するディスク・ドライブの集合体と共に動作し、ディスク・ドライブ２０をデータ・ストレージ・システム１０の動作中に監視して、デューティ・サイクルを決定する動作と、決定されたデューティ・サイクルを閾値と比較する動作と、比較結果に基づいて、冗長構成変更信号をアサートする動作とを行う。好ましい実施形態において、冗長構成とは、比較結果に基づいて変更または少なくとも見直しが行われることがある、なんらかのＲＡＩＤレベルを任意の所定の時に有するＲＡＩＤ構成のことである。同様に、これらの様々な動作は、１つまたは複数のメモリに記憶された（より一般的には、固定または着脱可能なディスクを含む信号搬送媒体に記憶された）コンピュータ・コードまたはプログラム命令によって行われ、システム１０の一部をなす、またはそれに結合された１つ以上のデータ・プロセッサによって実行されることができる。
【００４７】
なお、ＲＡＩＤレベル変更に関連したこれらの実施形態（図５）を、保守料金の動的な決定に関連した実施形態（図３）と共に使用してもよいし、またはこれらの様々な実施形態のうちの何れかを他とは独立して使用してもよい。一例として、図５の論理フロー図に表されている機能を、モニタ２０の機能と共にＲＡＩＤコントローラ２０Ａに組み込んで、ディスク・ドライブのデューティ・サイクルを決定してもよい。本発明のこの代替実施形態において、保守プロバイダ２４の機能は、図２に示すように、あってもなくてもよい。
【００４８】
以上の説明は、例示の非制限的な例として、本発明を実行するために発明者らが現時点で検討した中で最良の方法および装置の完全かつ有益な説明である。しかしながら、添付の図面および添付の請求項と共に読んだ場合に、様々な変形および適応が以上の説明の観点から当業者にとって明らかになる場合があろう。例として、他の同様または同等の種類のディスク・ドライブ、ディスク・ドライブ構成、データ・ストレージ・システム・アーキテクチャ、およびデータ・ストレージ装置の使用が当業者によって試みられてもよい。しかしながら、本発明の教示のそのような同様の変形のすべても、本発明の実施形態の範囲に入ることになろう。
【００４９】
さらに、本発明の特徴の中には、対応して他の特徴を使用することなく利益を得るために使用されてもよいものもある。このように、上記の説明は、本発明の原理、教示および実施形態の例示に過ぎないと考えられるべきであり、これらを制限するものと考えられるべきではない。
【図面の簡単な説明】
【００５０】
【図１】本発明の実施形態に係るディスク使用量モニタを有するディスク・ベースのデータ・ストレージ・システムのブロック図である。
【図２】図１に示す保守プロバイダの簡略ブロック図である。
【図３】保守プロバイダ２４の動作を示す論理フロー図である。
【図４】図１のディスク使用量モニタの分散実施形態を示す簡略ブロック図である。
【図５】さらに本発明の実施形態に係るＲＡＩＤレベル変更機能の動作を示す論理フロー図である。
【図１】
2008516307.tif 000003
【図２】
2008516307.tif 000004
【図３】
2008516307.tif 000005
【図４】
2008516307.tif 000006
【図５】
2008516307.tif 000007
【国際調査報告】
2008516307.tif 000008
2008516307.tif 000009
2008516307.tif 000010
2008516307.tif 000011
2008516307.tif 000012