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