(57)【特許請求の範囲】
【請求項１】
記憶システムであって、
第１のメモリスペースの外部に配置され、前記第１のメモリスペースの階層化された複数の制御レベルのうちのトップレベル制御を行う第１のコントローラと、
前記第１のメモリスペースとは異なる第２のメモリスペースの外部に前記第１のコントローラとは別に設けられ、前記階層化された複数の制御レベルのうちのトップレベル制御を行う第２のコントローラと、
前記第１および第２のコントローラの一方のコントローラにだけ常駐して両方のコントローラからの、ネットワークを介して前記第１および第２のコントローラに対して与えられて前記ネットワークに接続されるホストと前記記憶システムとの間でのデータ転送を要求するデータ転送要求を待ち行列化し、該待ち行列化により構成される組合せリストから引き出される、前記第１および第２のコントローラの各々についての個別の処理内容を示すコマンド・プロファイルを定義するシーク・マネージャと、
ネットワークインターフェースおよび前記シーク・マネージャに結合され、両方のコントローラへのネットワーク・ロードの定性的な情報でありかつ前記ネットワーク・ロードに含まれるコマンドのうちのレイテンシ・センシティブ・アクセス・コマンドおよびレート・センシティブ・アクセス・コマンドの識別を含む定性的データを連続的に集めて前記ロードをダイナミックに特徴づけ、該特徴づけにより得られたロードの特徴に対して各コマンド・プロファイルが関連性を有するように各前記コマンド・プロファイルを連続的に前記ロードの特徴に整合させるようシーク・マネージャを統御するポリシー・エンジンと、を含む記憶システム。
【請求項２】
請求項１に記載のシステムであって、各前記コントローラは他方のコントローラとは独立して前記データ転送要求を発行するシステム。
【請求項３】
請求項１に記載のシステムであって、前記転送要求の前記組合せリストは前記シーク・マネージャが常駐する前記第１のコントローラから与えられるデータ転送要求であるローカル・データ転送要求および前記第２のコントローラから与えられるデータ転送要求である遠隔データ転送要求を含み、前記シーク・マネージャは前記第１のコントローラ内に配置される装置であるローカル・リソースに前記ローカル・データ転送要求の発行を委ね、前記第２のコントローラ内の装置である遠隔リソースに前記遠隔データ転送要求の発行を委ねるシステム。
【請求項４】
請求項１に記載のシステムであって、前記データ転送要求の少なくとも１つのデータ転送要求は主要転送パラメータおよび代替転送パラメータを識別し、前記シーク・マネージャは１つ以上のコマンド・プロファイル内の前記主要および代替転送パラメータのいずれかに対応するコマンドを発行するシステム。
【請求項５】
請求項１に記載のシステムであって、前記ポリシー・エンジンは前記シーク・マネージャを支配するルールの定義において前記ロード特徴および前記記憶システムにより実現すべき要求を示す性能目標、前記記憶システムが動作する環境の状態を示すシステム状況、および前記データ転送要求によるデータ転送に直接関らないＩ／Ｏの状態の少なくとも１つに応答するシステム。
【請求項６】
請求項１に記載の記憶システムであって、前記ポリシー・エンジンは前記レイテンシ・センシティブ・アクセス・コマンドに対する前記レート・センシティブ・アクセス・コマンドの比でロードを特徴づけるシステム。
【請求項７】
請求項６に記載のシステムであって、前記レート・センシティブ・コマンドはライトバック・キャッシュ・コマンドとして特徴づけられ、前記レイテンシ・センシティブ・コマンドはリード・コマンドおよびライトスルー・キャッシュ・コマンドの少なくとも１つであるシステム。
【請求項８】
請求項１に記載の記憶システムであって、前記ポリシー・エンジンは各アクセス・コマンドに関連する帯域幅でロードを特徴づけるシステム。
【請求項９】
請求項６に記載のシステムであって、前記ポリシー・エンジンは前記レイテンシ・センシティブ・アクセス・コマンドに対する前記レート・センシティブ・アクセス・コマンドの比に関して少なくとも１つのコマンド・プロファイルを選択的にロードに整合させるシステム。
【請求項１０】
請求項１に記載のシステムであって、前記ポリシー・エンジンはアクセス・コマンドに割り当てられたＬＵＮ（ｌｏｇｉｃａｌ ｕｎｉｔ ｎｕｍｂｅｒ）優先順位を実施するシステム。
【請求項１１】
請求項１に記載のシステムであって、前記ポリシー・エンジンはアクセス・コマンドの最大許可レイテンシを実施するシステム。
【請求項１２】
請求項１に記載のシステムであって、前記アレイは複数の個別データ記憶装置を含み、さらに、前記ポリシー・エンジンからのルールに個別に応答する各データ記憶装置に対する専用シーク・マネージャを含むシステム。
【請求項１３】
請求項１に記載のデータ記憶システムであって、前記ポリシー・エンジンは有限状態機械を含むシステム。
【請求項１４】
第１のメモリスペースの外部に配置され、前記第１のメモリスペースの階層化された複数の制御レベルのうちのトップレベル制御を行う第１のコントローラおよび前記第１のメモリスペースと別に配置される第２のメモリスペースの前記複数の制御レベルのうちのトップレベル制御を行う前記第１のコントローラと別に配置される第２のコントローラにより記憶システムに対するネットワーク・アクセス・コマンドを受信するステップと、
前記アクセス・コマンドの定性的な情報でありかつ前記ネットワークの負荷に含まれるコマンドのうちのレイテンシ・センシティブ・アクセス・コマンドおよびレート・センシティブ・アクセス・コマンドの識別を含む定性的データを前記第１および第２のコントローラの一方に含まれるポリシー・エンジンにより集めるステップと、
前記ポリシー・エンジンにより前記第１および第２のコントローラへのアクセス・コマンド・ロードをダイナミックに特徴づけるステップと、
前記第１および第２のコントローラの一方のみに常駐しかつ前記ポリシー・エンジンに結合されるシーク・マネージャにより両方のコントローラからの前記アクセス・コマンドに関連する、前記ネットワーク・アクセス・コマンドの送信元のホストと前記記憶システムとの間でのデータ転送を要求するデータ転送要求を他方のコントローラから独立して、コマンド待ち行列で構成される組合せリストへ送り、前記両方のコントローラからのデータ転送要求を待ち行列化するステップと、
前記ダイナミックに特徴づけるステップを実行するポリシーエンジンに応答する前記シーク・マネージャにより前記組合せリストから、前記第１および第２のコントローラの各々へ前記ダイナミックに特徴づけられたアクセス・コマンド・プロファイルに相関する個別のコマンド・プロファイルを発行するステップと、
を含む方法。
【請求項１５】
記憶システムであって、
第１のメモリスペースの外部に配置され、前記第１のメモリスペースの階層化された複数の制御レベルのうちのトップレベル制御を行う第１のコントローラと、
前記第１のメモリスペースとは異なる第２のメモリスペースの外部に配置され、前記第２のメモリスペースの前記複数の制御レベルのうちのトップレベル制御を行う第２のコントローラと、
前記第１および第２のコントローラの一方のコントローラにだけ常駐して両方のコントローラからの、ネットワークを介して前記第１および第２のコントローラに対して与えられて前記ネットワークに接続されるホストと前記記憶システムとの間でのデータ転送を要求するデータ転送要求を待ち行列化し、該待ち行列化により構成される組合せリストから引き出される、第１および第２のコントローラの各々についての個別の処理内容を示すコマンド・プロファイルを定義するシーク・マネージャと、
ネットワークインタフェースおよび前記記憶マネージャに結合され、両方のコントローラへのネットワーク・ロードの定性的な情報でありかつ前記ネットワーク・ロードに含まれるアクセス・コマンドのうちのリード・コマンドおよびライトバック・キャッシュ・コマンドおよびライトスルー・キャッシュコマンドの識別を含む定性的データを連続的に集めて、前記リード・コマンドおよび前記ライトスルー・キャッシュ・コマンドの少なくとも１方と前記ライトバック・キャッシュ・コマンドとの比率についてロードをダイナミックに特徴づけ、該特徴づけにより得られたロードの特徴に対して各コマンド・プロファイルが関連性を有するように各前記コマンド・プロファイルを連続的に前記ロードの特徴に整合させるように前記シーク・マネージャを統御するポリシー・エンジンと、
を含む記憶システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施例は一般的にデータ記憶システムの分野に関し、限定はしないが、特に分散アレイ記憶システム内のシーク・プロファイルを適応的に管理する装置および方法に関する。
【背景技術】
【０００２】
コンピュータ・ネットワーキングは産業標準アーキテクチュアの転送レートがインテル社製８０３８６プロセッサのデータ・アクセスレートと歩調を保てなくなった時に蔓延し始めた。ローカルエリア・ネットワーク（ＬＡＮ）はネットワーク内のデータ記憶容量を統合整理することにより記憶エリア網（ＳＡＮ）へと発展した。ユーザは装置およびＳＡＮ内の装置により処理される関連データの統合整理により、直接取り付けられた記憶装置により可能なものよりも一桁多い記憶装置を処理する能力、および対処可能なコストでそうするという重大な利益を実現している。
【０００３】
より最近になって、動きはデータ記憶サブシステムを制御するネットワーク−セントリック・アプローチへ向けられている。すなわち、記憶装置が統合整理されるのと同様に、サーバからネットワーク自体内にオフロードされる記憶装置の機能性を制御するシステムが統合整理される。たとえば、ホストベース・ソフトウェアは保守および管理タスクをインテリジェント・スイッチや特殊化されたネットワーク記憶装置サービス・プラットホームへ委任することができる。応用ベース・ソリューションはホスト内で実行するソフトウェアの必要性をなくし、エンタープライズ内にノードとして配置されたコンピュータ内で作動する。いずれにせよ、インテリジェント・ネットワーク・ソリューションは記憶装置割当ルーチン、バックアップ・ルーチン、フォールト・トレランス・スキーム等をホストとは無関係に集中化することができる。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
インテリジェンスをホストからネットワークへ移せばこれらの問題のいくつかは解決されるが、ホストへの仮想記憶装置のプレゼンテーションを変える際の柔軟性の一般的欠落に伴う固有の困難は解決されない。たとえば、データ格納方法は異常なホスト・ロード・アクティビティのバーストを調整するように適応させる必要がある。各データ記憶容量を自己決定的に割当て、管理し、保護してその容量を仮想記憶スペースとしてネットワークへ提示してグローバル記憶要求条件を調整するインテリジェント・データ記憶サブシステムが必要とされている。この仮想記憶スペースは多数の記憶ボリュームの中に準備することができる。本発明の実施例はこのソリューションへ向けられる。
【課題を解決するための手段】
【０００５】
本発明の実施例は一般的にデュアル・アクティブ−アクティブ・アレイ記憶システム内でのシーク・プロファイルの引き出しに向けられる。
【０００６】
ある実施例では、デュアル・アクティブ−アクティブ・アレイ記憶システムには第１のメモリスペースのトップレベル制御を有する第１のコントローラおよび第１のメモリスペースとは異なる第２のメモリスペースのトップレベル制御を有する第２のコントローラが設けられる。１つだけのコントローラ内に常駐するシーク・マネージャが両方のコントローラからのデータ転送要求の組合せリストから引き出される個別のコマンド・プロファイルを定義する。ポリシー・エンジンが両方のコントローラへのネットワーク・ロードに関する定性的情報を連続的に集めてロードをダイナミックに特徴づけ、ロード特徴付けに関して各コマンド・プロファイルを連続的に相関させるようにシーク・マネージャを支配する。
【０００７】
ある実施例では、第１のメモリスペースのトップレベル制御を有する第１のコントローラおよび第２のメモリスペースのトップレベル制御を有する第２のコントローラへのネットワーク・アクセス・コマンドをデュアル・アクティブ−アクティブ・アレイ記憶システムにより受信するステップと、アクセス・コマンドに関する定性的情報を集めるステップと、コントローラへのアクセス・コマンド・ロードをダイナミックに特徴付けるステップと、両方のコントローラからのアクセス・コマンドに関連するデータ転送要求を他方のコントローラから独立して送るステップと、ダイナミックに特徴付けるステップに応答する唯一のシーク・マネージャにより組合せリストから各コントローラへコマンド・プロファイルを発行するステップと、を含む方法が提供される。
【０００８】
ある実施例では、ネットワークに接続しネットワーク・アクセス・コマンドに応答してデータを転送するように構成されたデュアル・アクティブ−アクティブ記憶アレイ、およびアレイへの観察されたネットワーク・ロードにダイナミックに相関されるアレイ内の各記憶装置への個別のコマンド・プロファイルを引き出す手段が記憶システムに設けられる。
【０００９】
特許請求される本発明を特徴づけるこれらおよび他のさまざまな特徴および利点は添付図を検討しながら下記の詳細な説明を読めば明らかとなる。
【実施例】
【００１０】
図１は本発明の実施例が有用であるコンピュータ・システム１００を例示している。１つ以上のホスト１０２がローカル・エリア・ネットワーク（ＬＡＮ）および／またはワイド・エリア・ネットワーク（ＷＡＮ）１０６を介して１つ以上のネットワーク取付けサーバ１０４にネットワーキングされている。好ましくは、ＬＡＮ／ＷＡＮ１０６はＷｏｒｌｄ  Ｗｉｄｅ  Ｗｅｂを介して通信するためのインターネット・プロトコル（ＩＰ）ネットワーキング・インフラストラクチュアを使用する。ホスト１０２はいくつかのインテリジェント記憶素子（ＩＳＥ）１０８の１つ以上に格納されたデータを日常的に必要とするサーバ１０４内に常駐するアプリケーションにアクセスする。したがって、ＳＡＮ１１０は格納されたデータへアクセスするためにサーバ１０４をＩＳＥ１０８に接続する。ＩＳＥ１０８はエンタープライズまたはデスクトップ・クラス記録媒体を内蔵するシリアルＡＴＡおよびファイバ−チャネル等のさまざまな選出された通信プロトコルを介してデータを格納するためのデータ記憶容量１０９を提供する。
【００１１】
図２は図１のコンピュータ・システム１００の一部の単純化された線図である。３つのホストバス・アダプタ（ＨＢＡ）１０３がネットワークまたはファブリック１１０を介して一対のＩＳＥ１０８（それぞれ、ＡおよびＢで示す）とインタラクトするように示されている。各ＩＳＥ１０８は、好ましくは、ｒｅｄｕｎｄａｎｔ  ａｒｒａｙ  ｏｆ  ｉｎｄｅｐｅｎｄｅｎｔ  ｄｒｉｖｅｓ（ＲＡＩＤ）として特徴づけられる一組のデータ記憶装置としてのデータ記憶容量１０９に作用するデュアル冗長コントローラ１１２（Ａ１，Ａ２およびＢ１，Ｂ２で示す）を含んでいる。すなわち、好ましくは、コントローラ１１２およびデータ記憶容量１０９はさまざまなコントローラ１１２が並列、冗長リンクを利用し、システム１００により格納されたユーザ・データの少なくともいくらかは少なくとも一組のデータ記憶容量１０９内に冗長フォーマットで格納されるようにフォールトトレラント構成を利用する。
【００１２】
図３は本発明の実施例に従って構成されたＩＳＥ１０８を例示している。シェル１１４はミッドプレーン１１６と電気的に接続するコントローラ１１２と受入れ係合する空洞を画定する。次に、シェル１１４はキャビネット（図示せず）内に支持される。一対のマルチドライブ・アセンブリ（ＭＤＡ）１１８がミッドプレーン１１６と同じ側でシェル１１４内に受入れ係合することができる。ミッドプレーン１１６の反対側には非常電源を提供するデュアル・バッテリ１２２、デュアル・交流電源１２４、およびデュアル・インターフェイス・モジュール１２６が接続されている。好ましくは、デュアル・コンポーネントはいずれかのＭＤＡ１１８または両方を同時に作動させるように構成され、コンポーネント故障時のバックアップ保護を提供する。
【００１３】
図４は各々が５つのデータ記憶装置１２８を支持するアッパ・パーティション１３０およびロアー・パーティション１３２を有するＭＤＡ１１８の拡大分解等角図である。パーティション１３０、１３２はミッドプレーン１１６（図３）と操作可能に係合するコネクタ１３６を有する共通回路板１３４と接続するようにデータ記憶装置１２８を揃える。ラッパ１３８が電磁干渉シールディングを提供する。ＭＤＡ１１８のこの実施例は本発明の譲受人が譲り受け、本開示の一部としてここに組み入れられている米国特許第７，１３３，２９１号Ｃａｒｒｉｅｒ  Ｄｅｖｉｃｅ  ａｎｄ  Ｍｅｔｈｏｄ  ｆｏｒ  ａ  Ｍｕｌｔｉｐｌｅ  Ｄｉｓｃ  Ａｒｒａｙの主題である。ＭＤＡ１１８のもう１つの実施例はやはり本発明の譲受人が譲り受け、本開示の一部としてここに組み入れられている同じタイトルの米国特許第７，１７７，１４５号の主題である。代替同等実施例では、ＭＤＡ１１８を封止エンクロージャ内に設けることができる。
【００１４】
図５は本発明の実施例を使用するのに適した回転媒体ディスク装置の形のデータ記憶装置１２８の等角図である。以下の検討の目的で動体データ記録媒体を有する回転スピンドルが使用されるが、代替同等実施例では固体メモリデバイス等の非回転媒体装置が使用される。図５に示す実施例では、データ記憶ディスク１３８がモータ１４０により回転されてディスク１３８のデータ記憶場所をリード／ライトヘッド（「ヘッド」）１４２へ与える。ヘッド１４２はディスク１３８の内側および外側トラック間で半径方向にヘッド１４２が移動する時にボイスコイルモータ（ＶＣＭ）１４６に応答するロータリ・アクチュエータ１４４の先端に支持される。ヘッド１４２はフレックス回路１５０により回路板１４８に電気的に接続される。回路板１４８はデータ記憶装置１２８の機能を制御する制御信号を送受信するようにされている。コネクタ１５２が回路板１４８に電気的に接続され、データ記憶装置１２８をＭＤＡ１１８の回路板１３４（図４）に接続するようにされている。
【００１５】
図６は中間バス１６０（“ｅｂｕｓ”と呼ばれる）により接続された２つのインテリジェント記憶プロセッサ（ＩＳＰ）１５６、１５８を有するコントローラ１１２（図２）アーキテクチュアを示す。好ましくは、ＩＳＰ１５６，１５８の各々が共通コントローラ・ボード上の個別の特定用途向け集積回路（ＡＳＩＣ）パッケージ内に配置される。好ましくは、ＩＳＰ１５６、１５８は、それぞれ、ファイバ・チャネル・サーバリンク１６２、１６４を介して上りアプリケーション・サーバと通信し、かつファイバ・チャネル記憶リンク１６６、１６８を介して記憶容量１０９を構成する記憶装置と通信する。
【００１６】
ポリシー・プロセッサ１７０，１７２はコントローラ１１２に対するリアルタイム・オペレーティングシステムを実行し、かつＰＣＩバス１７４、１７６を介して各ＩＳＰ１５６、１５８と通信する。ポリシー・プロセッサ１７０、１７２は、さらに、カスタマイズド・ロジックを実行して定められた記憶アプリケーションに対するＩＳＰ１５６、１５８と共に複雑な処理タスクを実施する。ＩＳＰ１５６、１５８およびポリシー・プロセッサ１７０，１７２は動作中に必要に応じてメモリモジュール１７８，１８０をアクセスする。
【００１７】
図７は図６の対とされたＩＳＰ１５６、１５８に対する好ましい構造を示す。
集合的に１８２、１８４に示すいくつかの機能コントローラ（ＦＣ）はホスト交換、直接メモリ・アクセス（ＤＭＡ）、排他的ＯＲ（ＸＯＲ）、コマンド・ルーティング、メタデータ制御、およびディスク交換等のいくつかのコントローラ操作を実施する。好ましくは、各ＦＣはメモリ交換その他のスケーリング・タスクを容易にする非常に柔軟な機能セットおよびインターフェイスを含んでいる。
【００１８】
一般的に１８６、１８８に示すいくつかのリスト・マネージャ（ＬＭ）がキャッシュ・テーブル管理、メタデータ保守、およびバッファ管理等のコントローラ操作中にさまざまなデータおよびメモリ管理タスクのために使用される。好ましくは、ＬＭ１８６、１８８はメモリ上で明確に定義された操作を実施してＦＣ１８２、１８４により指示されるタスクを遂行する。好ましくは、各ＬＭ１８６、１８８はＦＣによるメモリス・アクセスのためのメッセージ・プロセッサとして作動して、好ましくは、規定されたプロトコルに従って受信したメッセージにより定義される操作を実行する。
【００１９】
ＬＭ１８６、１８８は、それぞれ、交換メモリブロック１９０、１９２、キャッシュ・テーブル・ブロック１９４、１９６、バッファ・メモリブロック１９８、２００およびＳＲＡＭ２０２、２０４を含むいくつかのメモリモジュールと通信し制御する。ＦＣ１８２、１８４およびＬＭ１８６、１８８は、それぞれ、クロスポイント・スイッチ（ＣＰＳ）モジュール２０６、２０８を介して通信する。このように、選出されたＦＣ１８２、１８４はＣＰＳ２０６、２０８を介した対応するＬＭ１８６、１８８への通信パスウェイを確立して状態を通信したり、メモリモジュールにアクセスしたり、所望のＩＳＰ操作を呼び出すことができる。
【００２０】
同様に、選出されたＬＭ１８６、１８８はＣＰＳ２０６、２０８を介してＦＣ１８２、１８４へ応答を通信し戻すことができる。図示されてはいないが、各ＦＣ１８２、１８４とＣＰＳ２０６、２０８間および各ＬＭ１８６、１８８とＣＰＳ２０６、２０８間にはその間の同時データ転送を行うための別々のデータバス接続が設けられる。所望により、他の構成も容易に利用することができる。
【００２１】
図６および７のコントローラ・アーキテクチュアはアレイに対するスケーラブルで、非常に機能的なデータ管理および制御を有利に提供する。好ましくは、ストライプ・バッファ・リスト（ＳＢＬ）および他のメタデータ構造は記録媒体上のストライプ境界および記憶トランザクション中のディスク・ストライプに関連するデータを専用に格納するキャッシュ内の参照データ・バッファに揃えられる。
【００２２】
処理効率をさらに高めるために、好ましくは、コントローラ・アーキテクチュアは新しいライトバック・データ・キャッシング方法論を利用する。これは、一般的に、記憶装置に書き込まれるデータのキャッシング、およびこのようなライトバック・データの記憶装置への後の転送（フラッシング）のスケジューリングを伴う。
【００２３】
動作中に、キャッシュメモリはユーザデータおよびＳＡＮ１１０と記憶装置間のＩ／Ｏ転送に関連する他の情報を格納する。推測データを含む記憶装置から検索されたリードバック・データは後の「キャッシュ・ヒット」を期待してキャッシュメモリ内に一時保持して、その後要求されるデータは記憶装置とのアクセス操作のスケジューリングを要求するのではなく、キャッシュから直接転送できるようにされる。
【００２４】
同様に、記憶装置１２８に書き込まれるデータはキャッシュされ、ライト完了コマンドが開始ＨＢＡ１０３を介して返送され、適切な記憶装置１２８へのデータの実際の書込みは後にスケジュールされるようにライトバック・キャッシュ・ポリシーを利用することができる。
【００２５】
こうして、一般的には、各エントリの状態追跡を含むキャッシュのコンテンツの正確な制御をコントローラ１１２が維持することが望ましい。好ましくは、このような制御は本発明の好ましい実施例に従ってアドレス関連テーブル構造を利用するスキップ・リスト構成により実施される。好ましくは、スキップ・リストはキャッシュメモリの一部内に維持されるが、所望により、他のメモリスペースを利用することができる。
【００２６】
キャッシュはコントローラ１１２によりストライプ・データ・デスクリプタ（ＳＤＤ）と呼ばれるデータ構造を使用してノードベースで管理される。各ＳＤＤは関連するデータへの最近および現在のアクセスに関するデータを保持する。好ましくは、各ＳＤＤは対応するＲＡＩＤストリップ（たとえば、特定のパリティセットに関連する選出された記憶装置上の全データ）に揃えられ、特定のストライプ・バッファ・リスト（ＳＢＬ）に従う。
【００２７】
好ましくは、コントローラ１１２により管理される各キャッシュ・ノードはある特定のＳＤＤを参照し、好ましくは、論理ディスクの定められたセットに対するアクティブＳＤＤ構造はフォワードおよびバックワード・リンクド・リストを使用して仮想ブロック・アドレス（ＶＢＡ）を介して昇ベキの順でリンクされる。
【００２８】
好ましくは、ＶＢＡ値はしばしばＲＡＩＤ  Ａｌｌｏｃａｔｉｏｎ  ＧｒｉｄＳｙｓｔｅｍ（ＲＡＧＳ）と呼ばれるグリッド・システムを使用してＲＡＩＤデータ編成と揃えられる。一般的に、同じＲＡＩＤストライプ（たとえば、特定のパリティセットに寄与する全データ）に属するブロックの任意特定の集合が特定のシート上の特定の信頼できる記憶ユニット（ＲＳＵ）に割当てられる。ブックはいくつかのシートからなり異なる記憶装置からのブロックの多数の隣接セットから構成される。実際のシートおよびＶＢＡに基づいて、ブックはゾーンへ再分割して特定の装置または装置セット（冗長性が利用される場合）を示すことができる。
【００２９】
好ましくは、各ＳＤＤはアクセス・ヒストリ、ロック状態、最終オフセット、最終ブロック、タイムスタンプ・データ（一日の時間、ＴＯＤ）、どのゾーン（ブック）にデータが属するかの識別子、および利用されたＲＡＩＤレベルを含むデータのさまざまな状態を示す変数を含んでいる。好ましくは、ＳＤＤと関連するデータのライトバック（“ダーティ”データ）状態はダーティ・データ、ダーティ・バッファ、ダーティＬＲＵおよびフラッシングＬＲＵ値に関して管理される。
【００３０】
好ましくは、コントローラ１１２は、システム要求条件に応じて、いくつかの異なるレベルにおけるライトバックデータ・プロセスを管理するように同時に作動する。一般的に、第１のレベルは全ＲＡＩＤストライプが検出される時の全ＳＤＤ構造の周期的フラッシングを伴う。ＳＤＤが関連するデータをダーティと識別する時に、これは定められたＳＤＤに対してＲＡＩＤレベル変数に基づいて容易に実施することができる。好ましくは、これは十分連続した隣接ＳＤＤ構造がダーティ・データで十分満たされているかどうかを決定するバックワード検査を伴う。そうであれば、これらのＳＤＤ構造はシーク待ち行列に加えられデータのフラッシングを開始する要求がなされる。
【００３１】
好ましくは、データのより小さいセットのフラッシングもＳＤＤベースで処理される。好ましくは、ダーティ・ブロックを有しロックされたブロックの無い任意のＳＤＤがダーティＬＲＵとして設定され、年齢（たとえば、データがフラッシングを待ってキャッシュ内で過ごした時間）によりソートされる。好ましくは、特定の年齢に達するとＬＲＵ変数のフラッシングが設定されシーク待ち行列が更新される。
【００３２】
図８はデュアル・アクティブ−アクティブ・コントローラ１１２Ａ、１１２Ｂを有するＩＳＥ１０８を示す線図である。コントローラ１１２ＡはＩＳＰ１５６を介した第１のメモリスペースのトップレベル制御を有し、コントローラ１１２ＢはＩＳＰ１５６を介した第１のメモリスペースとは異なる第２のメモリスペースのトップレベル制御を有する。両方のコントローラ１１２Ａ、１１２Ｂが任意のデュアル・ポート記憶装置１２８にアクセスすることができる。“Ｓｅｅｋ  Ｍａｎａｇｅｒ  ５”で示すシーク・マネージャ２１０がコントローラ１１２Ａ内に常駐しており“５”で示す第５記憶装置１２８に関して両方のコントローラ１１２に対するシーク・プロファイルを専用に引き出す。図示されてはいないが、他の記憶装置１２８に対する記憶マネージャも全てコントローラ１１２Ａ内に常駐することができ、あるいは記憶マネージャを２つのコントローラ１１２間に分散することができる。
【００３３】
シーク・マネージャ２１０はローカル・コントローラ１１２Ａ（それが常駐するコントローラ）からのライトバック・データ・コマンドおよびホスト・リード・コマンドに対する全データ転送要求を受信してそれらをコマンド待ち行列２１２に加える。また、シーク・マネージャ２１０はｅｂｕｓ１６０を介した遠隔コントローラ１１２Ｂからのこのような全てのデータ転送要求を受信し、同様にそれらをコマンド待ち行列２１２内のローカル転送要求と結合する。重要なことは、各コントローラ１１２が他方のコントローラ１１２とは独立して転送要求をコマンド待ち行列２１２に加えることである。コマンド待ち行列２１２内の懸案の転送要求は、限定はしないが、図８に示すＬＢＡ等の任意のいくつかの有用な基準に従ってシーク・マネージャ２１０により、要求は遠隔かローカルか（ＲまたはＬ）、要求はリード・コマンドに対するものかライト・コマンドに対するものか（ＲまたはＷ）、およびＬＵＮクラス優先順位（０，１，または３）をインデクスすることができる。
【００３４】
シーク・マネージャ２１０はコントローラ１１２ＡのＩＳＰ１５６内のＦＣ２１４内のスロットにローカル転送要求を割当てることによりコマンド待ち行列２１２からローカル転送要求を発行するようローカル・リソースに委ねる。対照的に、シーク・マネージャ２１０はコントローラ１１２ＢのＩＳＰ１５８内のＦＣ２１６内のスロットに遠隔転送要求を割当てることによりコマンド待ち行列２１２から遠隔転送要求を発行するよう遠隔リソースに委ねる。
【００３５】
コマンド・シーク・マネージャ２１０により全データ転送要求を管理することにより、各コントローラ１１２が他方のコントローラから独立してそれ自体のコマンド待ち行列を管理する場合に生じるコマンド・プロファイルの競合が解消される。すなわち、コントローラ１１２Ａは他方のコントローラのシーク・プロファイルの知識がなければコントローラ１１２Ｂにより引き出されるシーク・プロファイルと競争する記憶装置５へのシーク・プロファイルを引き出しそうである。たとえば、コントローラ１１２Ａが記憶装置５を含む記憶容量のアウター・ブック上に焦点を合わせるゾーン−ベース・スケジューリング技術を呼び出しており、コントローラ１１２Ｂがインナー・ブックに対して同じことをしておれば、２つのシーク・プロファイル間の競争により記憶装置５内のアクチュエータが２つのブック間で前後に巡回する状況が作り出され、ブック内のアクチュエータをショート・ストローキングする目的がだめにされる。
【００３６】
後述するように、シーク・マネージャ２１０は、特にネットワーク・ロードからのバースト・アクセス・コマンド活動時間中に、データ転送要求のスループット性能を最適化するルールに従わせることができる。両方のコマンド待ち行列を共通シーク・マネージャにより管理することにより、システムは、両方のコマンド・プロファイルに対して同時に記録スペースの指示された好ましいゾーンにコマンド・プロファイルを限定する等の、フラッシング性能を高める論理的グルーピングのタイプを拡張する機会を利用する。こうして、本発明の実施例は競合するコマンド・プロファイルの発生を解消するだけでなく、記憶容量の指示されたブック内等において、両方のコマンド・プロファイルが２つのコマンド・プロファイルからの所望するシークのより大きいプールに協力的に寄与する効率を有利に高めることができる。
【００３７】
もう１つの実施例では、あるデータ転送要求が主要な転送パラメータおよび代替転送パラメータの両方を識別するという事実を利用してシーク性能改善を達成することができる。たとえば、シーク・マネージャ２１０は現在記憶装置５をキャッシュが飽和している時の最外ゾーンのローカル・ライトバック・コマンドのハイレートに委ねているものとする。記憶装置５の最内ゾーンへのライトバック・コマンドに対する遠隔データ転送要求は競合しており、ローカル・ライトバック・コマンドが満足される性能が減少するのを回避するために発行されない。しかしながら、もう１つの記憶装置等への、代替転送パラメータを遠隔転送要求が識別する場合、シーク・マネージャ２１０は代替記憶場所において遠隔要求を直ちに満たすことを利用できる。
【００３８】
好ましくは、コマンド待ち行列２１２からのデータのフラッシングの攻撃性はホスト・ロード状況と結びつけることができる。すなわち、比較的高いホスト・ロード中に十分攻撃的にフラッシングしなければキャッシュは飽和することがある。逆に、比較的低いホスト・ロード中に攻撃的すぎるフラッシングを行うと、ホスト・リード要求のレイテンシに否定的な影響を及ぼすことがある。両方のシナリオ共ＩＳＥ１０８システム性能に悪影響を及ぼす。
【００３９】
図９はローカル・コントローラ１１２Ａ（図８）内に常駐するキャッシュ・マネージャ２１７およびＲＡＩＤコンテナ・サービス・モジュール２１８を示す機能ブロック図である。同様に、キャッシュ・マネージャ２２０およびＲＡＩＤコンテナ・サービス・モジュール２２２が遠隔コントローラ１１２Ｂ内に常駐している。ポリシー・エンジン２２４がシーク・マネージャ２１０に対する制御の軌跡を有する同じコントローラ内に常駐している。これらの機能ブロックはソフトウェアまたはハードウェア内に存在することができ、後者の場合限定はしないがポリシー・エンジン２２４は有限状態機械である。
【００４０】
いずれにせよ、ポリシー・エンジン２２４は、それぞれ、パス２２６、２２８を介してＩ／Ｏ−ｂｙ−Ｉ／Ｏベースで各ファブリックＩ／Ｆを介して受信したアクセス・コマンドに関する定性的データを連続的に集める。ポリシー・エンジン２２４はホスト・ロードをダイナミックに特徴づけシーク・マネージャ２１０を支配するルールをパス２３０を介して発行しそれは、次に、パス２３２を介したフラッシュ・ライトバックデータおよびホスト・リード・コマンド要求から引き出されたデータ転送要求のコマンド待ち行列２１２（図８）を問合せ、パス２３４を介してデータ転送要求を発行する許可を選択的に与えて２つのコマンド・プロファイルの各々を定義する。発行された遠隔データ転送要求は図９に図示されていないｅｂｕｓ１６０（図８）を介してコントローラ１１２Ｂへ転送される。
【００４１】
ポリシー・エンジン２２４は、１つ以上のネットワーク装置により開始される現在のアクセス・コマンド・レート等の、ロードに関する定量的データをリアルタイムで集めることができる。好ましくは、ポリシー・エンジン２２４はロードをダイナミックに特徴づけてコマンド・プロファイルを特徴付けに関してアレイに連続的に調節するためにネットワーク・ロードに関する定性的データも集める。たとえば、ポリシー・エンジン２２４は、好ましくは、レイテンシ・センシティブ・コマンドに対するレート・センシティブ・コマンドの比によりホスト・ロードを特徴づけるリアルタイム連続データを集める。
【００４２】
本明細書の目的に対して、ライトバック・キャッシング・スキームが仮定される。本明細書の目的に対して、任意の時点においてどの要求がデータ記憶装置１２８へフラッシュされるかはあまり重要ではないため、ライトバック・キャッシュ・コマンドはレート・センシティブ・コマンドと見なされる。事実、レート・センシティブ要求はダーティ・データとしてキャッシュ内に懸案している間でもオーバライトすることができる。重要なのはレート・センシティブ・コマンドはキャッシュが飽和に達するのを防止するレートでフラッシュすることである。
【００４３】
一方、１つ以上のデータ記憶装置１２８に格納されるデータを読み出すホスト・アクセス・コマンドは恐らくアクセス・コマンドが満たされるまでホスト・アプリケーションにさらなる処理をブロックさせる。アクセス・コマンドを満たすのに要する時間、レイテンシ期間、はアプリケーションの性能にとって重要である。したがって、このようなコマンドはレイテンシ・センシティブ・コマンドと呼ばれる。ある状況においてホストはライトバック・キャッシングをオーソライズしないよう選択することができる。その場合、ライトスルー・キャッシュ・コマンドと呼ばれるライト・コマンドは同様にレイテンシ・センシティブ・コマンドとして分類される。
【００４４】
したがって、ポリシー・エンジン２２４はローカル・コントローラ１１２Ａおよび遠隔コントローラ１１２Ｂへのネットワーク・ロードに関する定性的情報を連続的に集めてロードをダイナミックに特徴づけ、かつ両方のコントローラ１１２によるシーク・プロファイルを特徴付けに関連してアレイに連続的に相関させることができる。たとえば、限定はしないが、キャッシュが飽和に近いまたは飽和中である比較的高いロード状況下で、ポリシー・エンジン２２４はレイテンシ・センシティブ・コマンドに対するレート・センシティブ・コマンドの比に関してシーク・プロファイルをネットワーク・ロードに有利に整合させることができる。
【００４５】
ポリシー・エンジン２２４は、限定はしないが、関連するデータ・ファイル（帯域幅）、そこからアクセス・コマンドが開始されるＨＢＡ１０３および／またはネットワーク装置、記憶装置１２８アクセス・ヒストリまたはブック・アクセス・ヒストリ、タイムスタンプ・データ、ＲＡＩＤクラス等のその任意の部分、およびアクセス・コマンドが向けられるＬＵＮクラス等の他の点からホスト・ロードを特徴づける定性的データも集める。
【００４６】
定性的データの収集において、好ましくは、ポリシー・エンジン２２４は、限定はしないが、各１秒間隔等の予め定められた各サンプル間隔中のカウントを勘定する。自走カウンタにインデクスを１秒境界上で動かすポインタを設定して比を連続的に追跡することができる。カウンタは、現在の１秒比を勘定するための第９スロットを有する、前の８つの１秒サンプル比等の所望数の予め観察された比を保持することができる。１秒境界上でインデクスは巡回し、インデクスされたヒストリカル値を減じかつ最終サンプル値を加え、次に８で除して比の最近の移動平均を計算する。
【００４７】
ポリシー・エンジン２２４はシーク・マネージャに対するルールの定式化において性能目標および／またはシステム状況１９６に応答することができる。性能目標は、限定はしないが、レート・センシティブ・コマンドに対するレイテンシ・センシティブ・コマンドの比（ライトバック・キャッシングに対するリードおよびライト・コマンドの比）に関してネットワーク・ロードのある要因である所望のコマンド・プロファイルを実施する、異なるＬＵＮクラスへの割当てられた優先順位を実施する、所望のリード・コマンド・レイテンシを実施する、等の定量的または定性的とすることができる。
【００４８】
さらに、システム状況はＩＳＥ１０８がバッテリ・バックアップ電源に切り替わっていることをポリシー・マネージャ２２４に知らせる電源インジケータ等とすることができる。この状態において、ポリシー・マネージャ２２４は恐らく提案された制限された電力加用性に関してキャッシュを攻撃的にフラッシュさせる代替案を実行する。また、ポリシー・エンジン２２４は、両方のコントローラ１１２に対するシーク・プロファイルを引き出すようにシーク・マネージャ２１０を支配するルールの定式化において、懸案中の背景Ｉ／Ｏ、またはアクセス・コマンド・データ転送に直接関らないＩ／Ｏの状態にも応答する。
【００４９】
一般的に、本実施例はネットワークに接続されネットワーク・アクセス・コマンドに応答してデータを転送するように構成されたデュアル・アクティブ−アクティブ記憶アレイと、第１のメモリスペースのトップレベル制御を有する第１のコントローラおよび第２のメモリスペースのトップレベル制御を有する第２のコントローラからのデータ転送要求の競合を解消することによりアレイ内の各記憶装置へのシーク・プロファイルを引き出す手段とを有する記憶システムを考えている。本明細書の目的および添付特許請求の範囲の意味に対して、「引出し手段」という句はここに開示された構造および共通シーク・マネージャがアクティブ−アクティブ・アレイ・コントローラの両側に対してシーク・プロファイルを引き出せるようにするそれと同等のものを含んでいる。本明細書の目的および添付特許請求の範囲の意味に対して、「引出し手段」はアレイ・コントローラの各側が他方側から独立してシーク・プロファイルを引き出す関連する試行されたソリューションは考えていない。
【００５０】
本発明のさまざまな実施例の非常に多くの特性および利点を、本発明のさまざまな実施例の構造および機能の詳細と共に明細書で述べてきたが、詳細な説明は単なる説明用であって、添付特許請求の範囲が表現される用語の広範な一般的意味により示される全範囲まで、本発明の原理内で詳細を変更することができ、特に部品の構造および配置を変更することができる。たとえば、本発明の精神および範囲を逸脱することなく特定の素子を特定の処理環境に応じて変えることができる。
【００５１】
さらに、ここに記述された実施例はデータ記憶アレイに向けられているが、当業者ならば特許請求された主題はそのように限定はされず、本発明の精神および範囲を逸脱することなく他のさまざまな処理システムを利用できることがお判りであろう。
【図面の簡単な説明】
【００５２】
【図１】本発明の実施例に従って構成されたコンピュータ・システムの線図表現である。
【図２】図１のコンピュータ・システムの一部の単純化された線図表現である。
【図３】本発明の実施例に従って構成されたインテリジェント記憶素子の分解等角図である。
【図４】図３のインテリジェント記憶素子のマルチドライブ・アレイの分解等角図である。
【図５】図４のマルチドライブ・アレイ内で使用される典型的なデータ記憶装置を示す図である。
【図６】インテリジェント記憶素子内のアレイ・コントローラの機能的ブロック図である。
【図７】図６のアレイ・コントローラのインテリジェント記憶プロセッサの機能的ブロック図である。
【図８】インテリジェント記憶素子を示す線図である。
【図９】インテリジェント記憶素子の機能的ブロック図である。
【符号の説明】
【００５３】
１００  コンピュータ・システム
１０２  ホスト
１０３  ホストバス・アダプタ
１０４  サーバ
１０６  ＬＡＮ／ＷＡＮ
１０８  インテリジェント記憶素子
１０９  データ記憶容量
１１０  ＳＡＮ
１１２  デュアル冗長コントローラ
１１４  シェルフ
１１６  ミッドプレーン
１１８  ＭＤＡ
１２２  デュアル・バッテリ
１２４  交流電源
１２６  デュアル・インターフェイス・モジュール
１２８  データ記憶装置
１３０  アッパー・パーティション
１３２  ロアー・パーティション
１３４、１４８  回路板
１３６、１５２  コネクタ
１３８  ラッパー
１４２  リード／ライト・ヘッド
１４４  ロータリ・アクチュエータ
１４６  ボイスコイルモータ
１５０  フレックス回路
１５６、１５８  インテリジェント記憶プロセッサ
１６０  中間バス
１６２、１６４  ファイバ・チャネル・サーバ・リンク
１６６、１６８  ファイバ・チャネル記憶リンク
１７０、１７２  ポリシー・プロセッサ
１７４、１７６  ＰＣＩバス
１７８、１８０  アクセス・メモリ・バス
１８２、１８４、２１４、２１６  機能コントローラ
１８６、１８８  リスト・マネージャ
１９０、１９２  交換メモリブロック
１９４、１９６  キャッシュ・テーブル・ブロック
１９８、２００  バッファメモリ・ブロック
２０２、２０４  ＳＲＡＭ
２１０  シーク・マネージャ
２１２  コマンド待ち行列
２１７、２２０  キャッシュ・マネージャ
２１８、２２２  ＲＡＩＤコンテナ・サービス・モジュール
２２４  ポリシー・エンジン
２２６、２２８、２３０、２３２、２３４  パス
【図１】
0005882557.tif 000002
【図２】
0005882557.tif 000003
【図３】
0005882557.tif 000004
【図４】
0005882557.tif 000005
【図５】
0005882557.tif 000006
【図６】
0005882557.tif 000007
【図７】
0005882557.tif 000008
【図８】
0005882557.tif 000009
【図９】
0005882557.tif 000010