(57)【要約】【課題】コマンドキューが管理される方法を改善する。【解決手段】２つの異なる領域上に格納された同一の情報、各領域とデータ転送関係で独立して移動可能なアクチュエータ、および一つの領域からの情報にアクセスする際にアクチュエータをショートストローキングするように構成されたコマンドキュー・コントローラを有するデータ記憶システムが提供される。ユーザデータを第１の領域内に格納し冗長データを第２の領域内に格納するように記憶スペースを仮想化し、第１の領域に隣接する第１のヘッドおよび第２の領域に隣接する第２のヘッドによりコマンドキューからアクセスコマンドをプッシュし、ヘッドは互いに独立して移動することができ、さらに、リトリーブコマンドに関連するＬＢＡにどのヘッドが最も近いかに応じて、第１および第２の領域の一方からのリトリーブコマンドを満たす方法が提供される。【選択図】図１３
2008016175.tif 000002
【特許請求の範囲】
【請求項１】
２つの異なる領域上に格納された同一情報と、互いにデータ転送関係で独立して移動可能なアクチュエータと、１つの領域からの情報にアクセスする際にアクチュエータをショートストローキングのために構成されたコマンドキュー・コントローラと、を含むデータ記憶システム。
【請求項２】
請求項１に記載のデータ記憶システムであって、コマンドキュー・コントローラはアクセスコマンドに関連するＬＢＡまでの距離が比較的短い一つのアクチュエータへアクセスコマンドをプッシュするように構成されるデータ記憶システム。
【請求項３】
請求項２に記載の記憶システムであって、領域はプライマリ記憶領域および冗長記憶領域を含み、各領域内の同じＬＢＡで始まる領域に仮想記憶スペースがマッピングされる記憶システム。
【請求項４】
請求項３に記載の記憶システムであって、コマンドキュー・コントローラは、方向性プッシングアルゴリズムに従って移動可能なプライマリ記憶領域に隣接するアクチュエータによりコマンドキューからストアコマンドをプッシュするように構成される記憶システム。
【請求項５】
請求項４に記載の記憶システムであって、コマンドキュー・コントローラは、プライマリ記憶領域に隣接するアクチュエータと同時に移動可能な冗長記憶領域に隣接するアクチュエータによりコマンドキューからストアコマンドをプッシュするように構成される記憶システム。
【請求項６】
請求項５に記載の記憶システムであって、コマンドキュー・コントローラはリトリーブコマンドが無い時にアクチュエータ間で規定された同時分離を維持するように構成される記憶システム。
【請求項７】
請求項６に記載の記憶システムであって、規定された同時分離は各領域上の全量のＬＢＡのおよそ半分である記憶システム。
【請求項８】
請求項６に記載の記憶システムであって、領域は回転ディスクを含み、冗長記録媒体に隣接するヘッドは、プライマリ記録媒体に隣接するヘッドがディスクの外半分に隣接して内向きに移動する時にプライマリ記録媒体に隣接するヘッドに先行する記憶システム。
【請求項９】
請求項８に記載の記憶システムであって、冗長記録媒体に隣接するヘッドは、プライマリ記録媒体に隣接するヘッドがディスクの内半分に隣接して内向きに移動する時にプライマリ記録媒体に隣接するヘッドに遅れる記憶システム。
【請求項１０】
請求項５に記載の記憶システムであって、コマンドキュー・コントローラはリトリーブコマンドに応答してアクチュエータを非同時に移動させるように構成されるデータ記憶システム。
【請求項１１】
ユーザデータを第１の領域内に格納し冗長データを第２の領域内に格納するように記憶スペースを仮想化するステップと、
第１の領域に隣接する第１のヘッドおよび第２の領域に隣接する第２のヘッドによりコマンドキューからコマンドをプッシュするステップであって、ヘッドは互いに独立して移動可能なステップと、
どのヘッドがリトリーブコマンドに関連するＬＢＡに最も近いかに応じて、第１および第２の領域の一方からのリトリーブコマンドを満たすステップと、
を含む方法。
【請求項１２】
請求項１１に記載の方法であって、仮想化ステップは各領域内の同じＬＢＡで始まる領域に記憶スペースをマッピングすることにより特徴づけられる方法。
【請求項１３】
請求項１２に記載の方法であって、アクセスコマンドをプッシュするステップはリトリーブコマンドをストアコマンドよりも優先することにより特徴づけられる方法。
【請求項１４】
請求項１３に記載の方法であって、アクセスコマンドをプッシュするステップは方向性プッシングアルゴリズムに従ってストアコマンドを第１のヘッドへプッシュすることにより特徴づけられる方法。
【請求項１５】
請求項１４に記載の方法であって、アクセスコマンドをプッシュするステップは第１のヘッドに関連して第２のヘッドを同時に移動させてストアコマンドを第２のヘッドへプッシュすることにより特徴づけられる方法。
【請求項１６】
請求項１５に記載の方法であって、アクセスコマンドをプッシュするステップはリトリーブコマンドが無い時にヘッド間に規定された同時分離を維持することにより特徴づけられる方法。
【請求項１７】
請求項１６に記載の方法であって、アクセスコマンドをプッシュするステップは規定された同時分離を各領域上の全量のＬＢＡのおよそ半分として維持することにより特徴づけられる方法。
【請求項１８】
請求項１６に記載の記憶システムであって、領域は回転ディスクを含み、第１のヘッドがディスクの外半分に隣接して内向きに移動する時に第２のヘッドは第１のヘッドに先行し、第１のヘッドがディスクの内半分に隣接して内向きに移動する時に第２のヘッドは第１のヘッドに遅れる記憶システム。
【請求項１９】
請求項１５に記載の記憶システムであって、リトリーブコマンドを満たすステップはヘッドを非同時に移動させることにより特徴づけられる記憶システム。
【請求項２０】
ＲＡＩＤ記憶構成と、
ＲＡＩＤを形成するデータ記憶装置を連続的にショートストロークするようにコマンドキュー内のコマンドを順序付ける手段と、
を含むデータ記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は一般的にコンピュータシステムにおけるスループット性能向上に関し、制約はしないが、特に、ショート・ストローキングを連続的に利用して平均シーク距離を短縮できるように仮想記憶スペース内のコマンドキューを順序付ける装置および関連方法に関する。
【背景技術】
【０００２】
コンピュータシステムは入力装置、出力装置、１つ以上のＣＰＵおよび半導体ＲＡＭ，ＥＥＰＲＯＭ，ディスク装置、ＣＤドライブ、その他の記録媒体を含むことができる記憶装置、およびインテリジェント・コントローラを含んでいる。オペレーティングシステムは、たとえば、ディスプレイ・アダプタおよびネットワーク・インターフェイス等のさまざまな周辺装置の構成を制御することができ、ファイルが生成、修正、または削除される時に記憶容量を割当てまたは割当て解除するアプリケーション環境およびデータシステムを提供する。
【０００３】
サーバおよび記憶アレイ等の特殊化されたコンピュータシステムもネットワークその他の接続を介してアクセスすることができる記憶容量を割当てるシステムを利用する。データは、たとえば、ｒｅｄｕｎｄａｎｔ  ａｒｒａｙ  ｏｆ  ｉｎｄｅｐｅｎｄｅｎｔ  ｄｒｉｖｅｓ（ＲＡＩＤ）等の冗長記憶フォーマットで複数のディスク装置にわたって格納することができる。ユーザデータ、および任意のミラーデータまたはパリティデータ（「冗長データ」）が１つ以上のディスク装置上の１つ以上のエリアにマッピングされる。１つ以上のディスク装置にデータが格納される方法を記述する構成情報がテーブルまたはメタデータと呼ばれる他のデータ構造内に含まれる。ファイルが生成、修正、または削除される時に、メタデータは記憶容量の割当または割当解除を反映するように更新される。
【０００４】
ホスト・アクセスコマンド（ストアおよびリトリーブ（ｒｅｔｒｉｅｖｅ：検索）コマンドの両方）を記憶アレイへ渡す際のコンピュータシステムの性能は、アクセスコマンドをライトキャッシング（ｃａｃｈｉｎｇ）してすぐにホストへそれらの確認応答することにより、向上させることができる。それにより、システムニーズに対してシステムリソースを全体論的に見ることに関係して、記憶アレイおよびキャッシュ間の実際の転送を最適時間に行うことができる。たとえば、データ記憶装置が現在システムにより必要とされない時に、コマンドキュー内の未決のアクセスコマンドを何回も実施することができる。
【０００５】
しかしながら、コマンドキューが深くなるのを許すとシステムスループット性能が行き詰まることがあり、確認応答はされたがまだ満たされない極端な数のアクセスコマンドの累積によりデータ不一致は一層解決が困難となる。そのため、コマンドキュー内のコマンドをできるだけ効率的に通すことが望ましい。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
したがって、コマンドキューが管理される方法を改善することが継続的に必要とされている。本発明の実施例は一般的にこれらおよびその他の改善に向けられている。
【課題を解決するための手段】
【０００７】
ここに例示されかつ以下に特許請求されるように、本発明の実施例は一般的にデータ記憶システムスループット性能を最大とするための効率的なコマンドキュー・スケジューリングに向けられている。
【０００８】
ある実施例では、２つの異なる領域上に格納された同一情報、各領域とデータ転送関係において独立して移動可能なアクチュエータ、および領域の１つから情報へアクセスする際にアクチュエータをショートストローキングするために構成されたコマンドキュー・コントローラを有するデータ記憶システムが提供される。
【０００９】
他の実施例では、ユーザデータを第１の領域に格納し冗長データを第２の領域に格納するように記憶スペースを仮想化し、第１の領域に隣接する第１のヘッドおよび第２の領域に隣接する第２のヘッドによりコマンドキューからアクセスコマンドをプッシュし、ヘッドは互いに独立して移動することができ、さらにリトリーブコマンドに関連するＬＢＡにどのヘッドが最も近いかに応じて第１および第２の領域の一方からのリトリーブコマンドを満たす方法が提供される。
【００１０】
他の実施例では、ＲＡＩＤ記憶構成、およびＲＡＩＤを形成するデータ記憶装置を連続的にショートストロークするようにコマンドキュー内のコマンドを順序付ける手段を有するデータ記憶装置が提供される。
【００１１】
下記の詳細な説明を読みかつ添付図を検討すれば、特許請求された本発明の実施例を特徴づけるこれらおよびさまざまな他の特徴および利点が明白となる。
【実施例】
【００１２】
本発明の実施例は内部または付属データ記憶装置を有するコンピュータやサーバ等のさまざまな環境、またはインテリジェント記憶システム内で利用することができる。インテリジェント記憶システムは１つ以上のデータ記憶アレイを有することができるインテリジェント・コントローラおよびインターフェイスを有する。現在好ましい実施例を有利に実行できる典型的な環境を例示するために、図１は大容量記憶装置を利用する広域ネットワーク（ＷＡＮ）として特徴づけられるコンピュータベース・システム１００を示す。
【００１３】
システム１００は、それぞれホストＡ，Ｂ，およびＣとして識別される、いくつかのホストコンピュータ１０２を含んでいる。ホストコンピュータ１０２はファブリック１０６を介して一対のデータ記憶アレイ１０４（それぞれ、ＡおよびＢで示す）と相互作用するだけでなく、互いに相互作用する。ファブリック１０６は、好ましくは、ファイバ−チャネルベース・スイッチング網として特徴づけられるが、インターネットを含む他の構成も利用することができる。
【００１４】
各アレイ１０４は一対のコントローラ１０８（Ａ１，Ａ２およびＢ１，Ｂ２で示す）および、限定はしないが、ここではＲＡＩＤとして作動するディスク装置として特徴づけられる一組のデータ記憶装置１０１を含んでいる。コントローラ１０８およびデータ記憶装置１０１は、好ましくは、フォールトトレラント構成を利用し、さまざまなコントローラ１０８がパラレル冗長リンクを利用しかつシステム１００により格納されたユーザデータの少なくともいくつかは少なくとも一組のデータ記憶装置１０１内に冗長フォーマットで格納される。
【００１５】
さらに、Ａホストコンピュータ１０２およびＡデータ記憶アレイ１０４は第１のサイトに物理的に配置することができ、Ｂホストコンピュータ１０２およびＢ記憶アレイ１０４は第２のサイト（ＡおよびＣまで遠い）に物理的に配置することができ、しかもＣホストコンピュータ１０２は第３のサイト（ＡおよびＢまで遠い）に物理的に配置できることも考えられるが、単なる説明用であって制約的意味合いは無い。
【００１６】
図２は本発明の実施例に従って構成されたアレイ１０４を示す。２つのマルチドライブアレイ（“ＭＤＡ”）１０１が利用され、各々が１０データ記憶装置１１４の容量を有する。ＭＤＡ１０１は大容量記憶装置用の交換可能な複数のデータ記憶装置１１４を有利に提供する。「交換可能」とは既存のＭＤＡ１０内で１つ以上のデータ記憶装置１１４を容易に置換、追加、または除去できること、あるいは異なる数、サイズまたは構成のデータ記憶装置１１４をサポートできる異なるＭＤＡを利用できることを意味する。「コンポーネント化される」とはデータ記憶装置１１４およびＭＤＡ１０内の関連するコントロールエレクトロニクスが一括集積されて、記憶容量のシームレスブロックとしてアレイ１０４により機能的に提供できることを意味する。
【００１７】
図３は本発明の実施例を有利に実施できるデータ記憶装置１１４の一つの等角図である。しかしながら、本発明の実施例はそのように限定はされないことが理解されよう。
【００１８】
好ましくは、装置１１４はベース１１６およびカバー１１８（部分切取）を含み、それらは一緒になっていくつかのコンポーネントのハウジングを提供する。コンポーネントは一緒に回転する１つ以上の記録媒体１２２が固定されるモータ１２０を含んでいる。記録媒体１２２にはボイスコイルモータ（ＶＣＭ）１２６へ電流を印加することによりベアリングアセンブリ周りを旋回するアクチュエータアセンブリ１２４が隣接している。このようにして、ＶＣＭ１２６の制御された動作によりアクチュエータ１２４は記録媒体１２２を横切して半径方向に移動する。
【００１９】
アクチュエータアセンブリ１２４はロードアーム１３０を支持するアクチュエータアーム１２８を含み、それはその末端で隣接記録媒体１２２とデータ転送関係でヘッド１３２（すなわち「トランスデューサ」）を支持する。各記録媒体１２２はデータトラックに分割することができ、ヘッド１３２はトラックに対してデータを検索および格納するように位置決めすることができる。
【００２０】
ヘッド１３２と装置１１４制御回路間の必要な導電経路を提供するために、ヘッド１３２はアクチュエータアセンブリ１２４上をヘッド１３２から、ロードアームアセンブリ１３０およびアクチュエータアーム１２８に沿って、アクチュエータアセンブリ１２４の近端（しばしば「Ｅブロック」と呼ばれる）により支持される回路部１３４へ経路指定されるフレックス（ｆｌｅｘ，屈曲）回路を有利に有する。回路部１３４はヘッド１３２フレックス回路をベース１１６を介して印刷回路板（ＰＣＢ）１３８へ通過するもう１つのフレックス回路１３６に接続する。ＰＣＢ１３８に取り付けられた電気コネクタ１４０は装置１１４を外部制御回路と通信させるための噛合いコネクタ（図示せず）に接続する複数のコンタクトを有する。
【００２１】
図４は図３の装置１１４の機能的ブロック図である。プログラマブルコントローラ１４８が装置１１４に対するトップレベル通信および制御を提供する。インターフェイス（Ｉ／Ｆ）１５０は装置１１４が関連付けられる外部装置への入出力（Ｉ／Ｏ）通信および転送を促進する。リード／ライト（Ｒ／Ｗ）チャネル１５４はデータ格納動作中に記録媒体１２２に書き込まれるデータを調整し、記録媒体１２２から検索されたデータをデータ検索動作中に外部装置へ転送するために再構成する。
【００２２】
サーボ回路１５６は、記録媒体１２２に格納されたサーボデータを使用することにより、ヘッド１３２に対する閉ループ位置制御を行う。好ましくは、サーボ回路１５６は選択されたヘッド１３２が記録媒体１２２上の対応するトラックを追跡するトラック追跡動作、選択されたヘッド１３２が初期トラックから行き先トラックへ移されるシーク動作、およびヘッド１３２がパーキングゾーンまたは構造へ出入りするヘッド１３２のロード／アンロード動作を含むいくつかの制御機能を実施するように構成される。
【００２３】
サーボ回路１５６はＶＣＭ１２６のコイル１６０へ必要な電流を印加してヘッド１３２を記録媒体１２２のトラックに関して選択的に移動させる。好ましくは、サーボ回路１５６は、さらに、スピンドルモータ１２０を制御するスピンドルモータ駆動回路１６２を含んでいる。これらおよびその他のサーボ機能を実施するための処理要求条件は、好ましくは、デジタル信号処理装置（ＤＳＰ）１６４または、ＡＲＭ等の、サーボ回路１５６の他の処理装置により供給される。あるいは、単一プロセッサ環境内のトップレベルコントローラ１４８によりサーボ処理を行うことができる。
【００２４】
図２に戻って、シェルフ１６８はその各々にＭＤＡ１０１がバックプレーン１７２と通信するために受入れ係合するキャビティ（ｃａｖｉｔｙ）１７０を画定する。同様に、シェルフ１６８は、限定はしないが、記憶装置コントローラ１０８、バッテリ１７６、電源１７８、およびインターフェイス１８０等のバックプレーン１７２を有する他の電気的モジュールを受入れ係合するキャビティを画定する。
【００２５】
図５はコントローラ１０８の選択された１つを詳細に示す。コントローラ１０８は単一集積回路内に具現することができ、あるいは、所望によりいくつかの個別回路間に分散される。好ましくはプログラマブル・コンピュータプロセッサとして特徴づけられるメインプロセッサ１８２はプログラミングステップに従って制御を行い、好ましくは、非揮発性メモリ１８４（フラッシュメモリ等）およびダイナミック・ランダムアクセスメモリ（ＤＲＡＭ）１８６内に格納されたデータを処理する。
【００２６】
ファブリックインターフェイス（Ｉ／Ｆ）回路１８８はファブリック１０６を介して他のコントローラ１０８およびホストコンピュータ１０２と通信し、デバイスＩ／Ｆ回路１９０は記憶装置１１４と通信する。Ｉ／Ｆ回路１８８，１９０およびパスコントローラ１９２は、キャッシュメモリ１９４を利用することにより、記憶アレイ１０４およびホスト１０２間でコマンドおよびデータを通す通信パスを形成する。個別に示されているが、パスコントローラ１９２およびＩ／Ｆ回路１８８，１９０はユニット構成にできることが理解される。
【００２７】
好ましくは、ホスト処理性能を高めるために、ライトコマンドがキャッシュメモリ１９４内にライトバックキャッシュされコマンドキュー１９６内に未決として保持される。本発明の実施例では、パスコントローラ１９２内のコマンドキュー・コントローラ１９８部は、高優先順位リードコマンドだけでなく、ライトコマンドの通過を順序付けする。
【００２８】
データ記憶装置１１４の結合容量により規定されるアレイ１０４のデータ記憶容量はアレイ１０４に対してリード／ライトできる論理装置内に構成される。システム構成情報は、任意の関連するパリティおよびミラーデータ（「冗長データ」）だけでなく、各記憶場所を有するユーザデータ間の関係を定義する。システム構成情報は、さらに、データに割当てられた記憶容量のブロックと、論理ブロックアドレス（ＬＢＡ）等の、メモリ記憶場所間の関係を識別する。システム構成情報は、さらに、論理ブロックアドレスにマッピングされる仮想ブロックアドレスを定義することによる仮想化を含むことができる。
【００２９】
本発明の実施例は複数のデータ記憶装置１１４にわたってマッピングされるデータ記憶グリッドアーキテクチュアを利用する。データグリッドは複数の記憶領域内に複数の連続的データブロックを含んでいる。各記憶領域に対する複数のデータブロックの各々の第１のデータブロックは典型的に同じアドレス（グリッドベースアドレスと呼ばれる）にあり、アドレス発生を単純化させるが、２つ以上の記憶領域に対する異なるベースアドレスを採用することもできる。グリッドは予め定められた量のデータ記憶スペースを提供する。グリッド内のデータ記憶スペースの量は１つの論理ユニットに割当てることができ、グリッドはメタデータオーバヘッドの単純化において仮想マッピングされることができる。
【００３０】
図６は等サイズデータブロックの２次元アレイと見なすことができるデータ記憶グリッドを示す。アレイ内のコラムはデータ記憶装置１１４に対応し、ローは各データ記憶装置１１４内の同じＬＢＡで始まるデータブロックに対応する。したがって、図６のデータ記憶グリッドはデータ記憶装置１１４（領域）Ａ，Ｂ，Ｃ，Ｄ，Ｅ，Ｆ，Ｇ，およびＨと交差してデータブロックのアレイを規定する複数のロー２００を有する。
【００３１】
グリッド内のデータブロックは等サイズ（記憶容量）であるが、特定サイズに限定されない。データブロックのサイズは記憶システムを構成する時に指定することができ、システム内のデータ記憶装置のサイズ（記憶容量）、ユーザアプリケーション、コントローラハードウェアおよびソフトウェア、その他の要因を反映することができる。グリッドの隣接ロー間に未定義記憶スペースが無い点においてロー２００は連続的である。グリッド内の第１のローの開始アドレスはグリッドに対するベースアドレスとして働き、グリッドはその中のロー数を乗じたデータ記憶ブロックサイズの倍数であるアドレスにベースアドレスが揃えられるように規定することができる。
【００３２】
グリッドは番号付けすることができ、グリッド内に含まれる記憶容量はポインタを使用してグリッドへ割当てることができる。ポインタテーブルはポインタをグリッド番号と関連付けて、容易な仮想化を提供しかつメタデータオーバヘッドを低減することができる。アレイ内のデータ記憶装置の利用可能な記憶容量の一部を占有する複数のグリッドを定義することができる。ドライブ又はグリッドのデータブロックをスペアとして指示して、システム内の他のデータ記憶装置の故障時に再構成またはコピーされたデータを収納するのに利用できる追加記憶容量を提供することができる。グリッド内のデータブロックはプライマリ・ユーザデータだけの格納、またはエラー修復用冗長データだけの格納に専用することができる。
【００３３】
説明の目的で、図６の記憶グリッドを分割して最初の４つの領域Ａ，Ｂ，Ｃ，Ｄをプライマリ（ユーザ）データの格納に割り当て、最後の４つの領域Ｅ，Ｆ，Ｇ，ＨをＲＡＩＤ１構成のプライマリデータのミラーリングに割り当てることができる。簡単にするために、仮想化された記憶スペースは各領域内の同じＬＢＡで始まる記憶グリッドにマッピングされる。さらに、プライマリ領域Ａ内に格納されたデータは冗長領域Ｅ内にミラーリングされ、以下同様である。
【００３４】
図７−１２は図６のグリッドの単純化された線図部分を示し、プライマリ記憶領域Ａとその冗長記憶領域Ｅのみを示している。これらの図面は全て、その中をアクチュエータ１２４が移動できてコマンドキュー・コントローラ１９８がコマンドキュー１９６からストアコマンドをプッシュすることができる、ＬＢＡのバンド２０２，２０４を示している。バンドのサイズは、所望により、１トラックから複数トラックとすることができ、当業者ならばその仕様は本発明の実施例を理解するのに必要ない。
【００３５】
しかしながら、同一情報が両方の領域上に格納され、かつ異なる領域内のアクチュエータは各記録媒体１２２とデータ転送関係で独立して移動できるという事実は有利であり、コマンドキュー・コントローラ１９８はリトリーブコマンドを満たす際にアクチュエータ１２４の１つを有効にショートストロークすることができる。すなわち、コマンドキュー・コントローラ１９８はリトリーブコマンドに関連するＬＢＡまでのシーク距離が比較的短い１つのアクチュエータ１２４に受信されるとすぐにリトリーブコマンドをプッシュすることができる。
【００３６】
好ましくは、コマンドキュー・コントローラ１９８は、方向性プッシングアルゴリズムに従って全量のＬＢＡにわたってバンド２０２を動かすようにアクチュエータ１２４を制御しながら、プライマリ・データストア・コマンドを領域Ａへプッシュする。ある実施例では、たとえば、バンド２０２はＳＣＡＮ方向性アルゴリズムに従って移動する、あるいは、ＣＳＣＡＮ方向性アルゴリズムに従って移動することができる。いずれの場合にも、好ましくは、コマンドキュー・コントローラ１９８はバンド２０４をバンド２０２と同時に動かすようにアクチュエータ１２４を制御しながら、冗長データストア・コマンドをコマンドキュー１９６から領域Ｅへプッシュすることもできる。すなわち、本明細書および添付特許請求の範囲の目的に対して「同時に（ｃｏｉｎｃｉｄｅｎｔａｌｌｙ）」という用語は、バンド２０２が記録媒体１２２上を増分移動されると、ストアコマンドが領域へプッシュされている時間中バンド２０２，２０４間に実質的に一定のＬＢＡ分離を維持するようにバンド２０４も同様に移動されることを意味する。しばしば、この位置的関係は方向性プライマリヘッド（方向性アルゴリズムにより位置が決定される）および浮動冗長ヘッド（方向性ヘッドに関連して位置が浮上する）と呼ばれる。同時に移動されるのはアクチュエータ１２４ではなくバンド２０２，２０４であることに注目願いたい。アクチュエータ１２４は独立して移動可能なままとされ、その間のＬＢＡ分離はストアコマンドをプッシュする間バンド２０２，２０４の幅により規定される移動範囲内で常に幾分変動する。したがって、「実質的に一定の同時分離」という用語はバンド２０２，２０４間のＬＢＡ間隔を意味し、コマンドキュー・コントローラ１９８がコマンドキュー１９６からストアコマンドだけをプッシュしている時間中にアクチュエータは各バンド２０２，２０４内の移動に制限される。
【００３７】
図７−１２の実施例において、バンド２０２，２０４間の一定のＬＢＡ分離は各領域上の全量のＬＢＡの実質的に半分である。最大シーク距離はデータ記録媒体１２２の半径方向距離の半分であるため、この配置はアクチュエータ１つのショートストローキングを有効に最適化する。バンド２０２，２０４間にこのような「半ディスク分離」を維持する際に、図７−９はバンド２０２がディスクの外半分２０３内で内側へ移動される時にバンド２０４はバンド２０２に先行することを示していることに注目願いたい。図１０−１２に示すように、バンド２０２がディスクの中間に達すると、バンド２０４はディスクの外径まで移動し、その後ディスクの内半分２０５内で内向きに移動し続ける時にバンド２０２に遅れる。
【００３８】
しかしながら、コマンドキュー・コントローラ１９８はリトリーブ・コマンドを満たすために選択されたアクチュエータ１２４を非同時に移動させることにより、より優先順位の高いリトリーブ・コマンドをいずれかの領域へ即座にプッシュすることができる。本明細書および添付特許請求の範囲の目的に対して、「非同時に（ｎｏｎ−ｃｏｉｎｃｉｄｅｎｔａｌｌｙ）」という用語はリトリーブ・コマンドを満たす際に選択されたアクチュエータ１２４が各バンド２０２，２０４内または外のトラックへ移動できることを意味する。すなわち、リトリーブ・コマンドを満たす際に選択されたアクチュエータ１２４は各バンド２０２，２０４に留意することなく移動することができる。これは図７および１０を比較して示され、領域Ｅ内のアクチュエータ１２４は図７のＬＢＡ２１０に関連するリトリーブ・アクセスコマンドを満たすために非同時に移動される。しかしながら、領域Ａのアクチュエータ１２４は図１０において同じリトリーブ・コマンドを満たすために選択される。
【００３９】
図１３は本発明の実施例に従ってコマンドキュー順序付け方法を実施するステップを示すフロー図である。この方法２２０はステップ２２２で開始され、そこでパスコントローラ１９２はプライマリデータ方向性ヘッド１３２および冗長データ浮動ヘッド１３２の初期位置決めを行って、ストアコマンドを満たしながらヘッド１３２が制限されるバンド２０２，２０４間の同時分離を規定する。
【００４０】
ブロック２２４において、コマンドキュー１９６内に任意の未決の高優先順位リトリーブ・コマンドがあるかどうか決定される。ブロック２２４の決定がイエスであれば、ブロック２２６においてコマンドキュー・コントローラ１９８は要求されたデータがダーティ（ｄｉｒｔｙ）かを決定する。ブロック２２６の決定がイエスであれば、リトリーブ・コマンドを満たすためにブロック２２８においてキャッシュヒットがなされ、次に、コントロールはブロック２２４へ戻る。ブロック２２６の決定がノーであれば、ブロック２３０においてパスコントローラ１９２は未決リトリーブ・コマンドに関連するＬＢＡまでのシーク距離が最も短いアクチュエータ１２４を有する領域はどれかを決定する。ブロック２３２において、パスコントローラ１９２は選択されたアクチュエータ１２４からデータを検索し、コントロールはブロック２２４へ戻る。
【００４１】
ブロック２２４の決定がノーであれば、ブロック２３４においてパスコントローラ１９２はコマンドキュー１９６が満杯（予め定められた閾値よりも深い）であるか決定する。ブロック２３４の決定がイエスであれば、ブロック２３６においてパスコントローラ１９２はコマンドキュー１９６を予め定められたキュー深さまでフラッシュさせる。ブロック２３４の決定がノーであれば、コントロールはブロック２４２へ行き、そこでパスコントローラ１９２は一つの領域のバンド２０２，２０４内に含まれるＬＢＡに関連するコマンドキュー１９６内の未決ストアコマンドを識別して通す。ブロック２４４において、最後の未決ストアコマンドはバンド２０２，２０４に対するコマンドキュー１９６からプッシュされているか決定される。ブロック２４４の決定がノーであれば、コントロールはブロック２２４へ戻り、そうでなければ、コントロールはブロック２４６へ通される。ブロック２４６において、コマンドキュー１９６は空か決定される。イエスであれば本方法は終り、そうでなければ、方向性ヘッド１３２はブロック２４８において方向性プッシングアルゴリズムに従って増分され、コントロールはブロック２２４へ戻る。
【００４２】
前記した実施例では、コマンドキュー・コントローラ１９８はＭＤＡ１０１内のコントローラ１０８内に含まれる。本明細書は説明用であって本発明の範囲を限定するものではなく、コマンドキュー・コントローラの機能のいくつかまたは全てをホスト１０２内またはホストとＭＤＡ１０１間の他の外部装置、またはデータ記憶装置１１４内に配置することも考慮している。
【００４３】
一般的に要約すると、本発明の好ましい実施例はＲＡＩＤ記憶構成を有するデータ記憶システムおよびＲＡＩＤを形成するデータ記憶装置をショートストロークするようにコマンドキュー内のコマンドを順序付けする手段により特徴づけられる。当業者ならば、本明細書から「コマンドを順序付けする手段」という用語の意味は、本明細書および添付特許請求の範囲の目的に対して、ＲＡＩＤを形成する複数の領域内に方向性および浮動バンドを必要とし、アクチュエータはストアコマンドを通しながら各バンド内で同時シークを行うように制限されるが、リトリーブコマンドを満たす際に非同時シークを行ってアクチュエータをショートストロークできることを理解されよう。
【００４４】
本発明のさまざまな実施例の非常に多くの特徴および利点を、本発明のさまざまな実施例の構造および機能と共に、前記した明細書に記載してきたが、この詳細な説明は説明用にすぎず詳細、特に、部品の構造および配置に関して本発明の原理内で添付特許請求の範囲が表現される用語の広範な一般的意味により示される限界まで変更を行うことができる。たとえば、特定のエレメントはそれらが内蔵されるデバイスまたはそれらが使用される特定環境に応じて本発明の精神および範囲を逸脱することなく変動することができる。
【００４５】
さらに、ここに記述された実施例は記憶システムに向けられているが、当業者ならば特許請求される主題はそのように限定はされず、さまざまな他の電子装置が本発明の精神および範囲を逸脱することなく本発明の実施例を利用できることがお判りであろう。
【図面の簡単な説明】
【００４６】
【図１】大容量記憶装置を利用する広域ネットワークとして特徴づけられるコンピュータベース・システムのトップレベル機能的ブロック図である。
【図２】図１に従って構成されたコンピュータベース・システムの関連部の分解等角図である。
【図３】本発明の実施例を実行するのに使用できるデータ記憶装置の等角図である。
【図４】図３のデータ記憶装置の機能的ブロック図である。
【図５】図１のコントローラの選択された１つを示す機能的ブロック図である。
【図６】本発明の実施例に従ったＲＡＩＤ１記憶システムを利用するデータ記憶グリッドの線図である。
【図７】ヘッドがコマンドキューからのストアコマンドを領域へ通す方向性プッシングアルゴリズムおよび浮動アルゴリズムを示す図６のデータ記憶グリッドの一部を示す線図である。
【図８】ヘッドがコマンドキューからのストアコマンドを領域へ通す方向性プッシングアルゴリズムおよび浮動アルゴリズムを示す図６のデータ記憶グリッドの一部を示す線図である。
【図９】ヘッドがコマンドキューからのストアコマンドを領域へ通す方向性プッシングアルゴリズムおよび浮動アルゴリズムを示す図６のデータ記憶グリッドの一部を示す線図である。
【図１０】ヘッドがコマンドキューからのストアコマンドを領域へ通す方向性プッシングアルゴリズムおよび浮動アルゴリズムを示す図６のデータ記憶グリッドの一部を示す線図である。
【図１１】ヘッドがコマンドキューからのストアコマンドを領域へ通す方向性プッシングアルゴリズムおよび浮動アルゴリズムを示す図６のデータ記憶グリッドの一部を示す線図である。
【図１２】ヘッドがコマンドキューからのストアコマンドを領域へ通す方向性プッシングアルゴリズムおよび浮動アルゴリズムを示す図６のデータ記憶グリッドの一部を示す線図である。
【図１３】本発明の実施例に従ったコマンドキュー順序付け方法を実行するステップを示すフロー図である。
【符号の説明】
【００４７】
１００  コンピュータベース・システム
１０１  マルチプル・ドライブアレイ
１０２  ホストコンピュータ
１０４  データ記憶アレイ
１０６  ファブリック
１０８  コントローラ
１１４  データ記憶装置
１１６  ベース
１１８  カバー
１２０  モータ
１２２  記録媒体
１２４  アクチュエータ・アセンブリ
１２６  ボイスコイルモータ
１２８  アクチュエータ・アーム
１３０  ロードアーム
１３２  ヘッド
１３４  回路部
１３６  フレックス回路
１４０  電気的コネクタ
１４２  コンタクト
１４８  プログラマブル・コントローラ
１５０，１８０  インターフェイス
１５４  リード／ライトチャネル
１５６  サーボ回路
１６２  スピンドルモータ駆動回路
１６８  シェルフ
１７０  キャビティ
１７２  バックプレーン
１７６  バッテリ
１７８  電源
１８２  メインプロセッサ
１８４  非揮発性メモリ
１８６  ＤＲＡＭ
１８８  ファブリック・インターフェイス回路
１９０  デバイス・インターフェイス回路
１９２  パスコントローラ
１９４  キャッシュメモリ
１９６  コマンドキュー
１９８  コマンドキュー・コントローラ
２０２，２０４  ＬＢＡバンド
【図１】
2008016175.tif 000003
【図２】
2008016175.tif 000004
【図３】
2008016175.tif 000005
【図４】
2008016175.tif 000006
【図５】
2008016175.tif 000007
【図６】
2008016175.tif 000008
【図７】
2008016175.tif 000009
【図８】
2008016175.tif 000010
【図９】
2008016175.tif 000011
【図１０】
2008016175.tif 000012
【図１１】
2008016175.tif 000013
【図１２】
2008016175.tif 000014
【図１３】
2008016175.tif 000015
【外国語明細書】
2008016175000001.pdf