(57)【要約】【課題】遠隔装置から第１のメモリスペースおよび第１のメモリスペースを有する受入装置へのデータ転送に関連する方法および装置を得る。【解決手段】この方法は一組のデータの第２のメモリスペースへの転送を要求する転送コマンドを遠隔装置から出し、データセットを第１のメモリセル内に一時的に格納して第２のメモリスペースへの転送を待ち、データセットを第１のメモリセル内の他の逐次データに付与して第２のメモリスペースへ転送する適切なサイズの転送データブロックを得るステップを含む。対応する装置は各ライトコマンドを逐次ライトまたはランダムライトであるとして特徴づけ、予め定められたサイズの転送ブロックを得るために逐次ライトコマンドに関連するデータを付与することによりライトコマンドをバッファするように構成された回路を含む。【選択図】図２
2008004089.tif 000002
【特許請求の範囲】
【請求項１】
第１の装置から第１のメモリスペースおよび第２のメモリスペースを有する受入装置へデータを転送する方法であって、
第２のメモリスペースへの一組のデータの転送を要求する転送コマンドを第１の装置から受信するステップと、
データセットを第１のメモリスペース内に一時的に格納するステップと、
データセットを第１のメモリスペース内の他の逐次データに付与して第２のメモリスペースへ転送する予め定められたサイズの転送データブロックを得るステップと、を含む方法。
【請求項２】
請求項１に記載の方法であって、転送データブロックの予め定められたサイズは第２のメモリスペースの分散記憶アレイ内の記憶容量ストライプと関連付けられる方法。
【請求項３】
請求項１に記載の方法であって、付与ステップは転送コマンドに関連付けられたデータセットのデスティネーションアドレスを、データセットが他の逐次データと関連付けられるかどうかの決定において第１のメモリ内に予め格納されたデータのデスティネーションアドレスと比較するステップを含む方法。
【請求項４】
請求項３に記載の方法であって、付与ステップは第１のメモリ内に格納され予めランダムデータとして特徴づけられたデータを逐次データとして特徴づけられるように変える方法。
【請求項５】
請求項１に記載の方法であって、さらに、逐次データとはしないと決定されたらデータセットをランダムデータ待ち行列に並べるステップを含む方法。
【請求項６】
請求項５に記載の方法であって、さらに、ランダムデータ待ち行列内のデータ量が予め定められたランダムデータ待ち行列閾値を超える場合には、ランダムデータ待ち行列をフラッシュさせるステップを含む方法。
【請求項７】
請求項６に記載の方法であって、ランダムデータ待ち行列閾値は調節可能である方法。
【請求項８】
請求項６に記載の方法であって、第１のメモリ内に格納されたデータの総量が容量閾値を超える場合には、付与された逐次データは第１のメモリからフラッシュされる方法。
【請求項９】
請求項８に記載の方法であって、容量閾値はランダムデータ待ち行列閾値よりも小さく安全係数よりも小さい第１のメモリの総メモリ記憶容量として定義される方法。
【請求項１０】
請求項１に記載の方法であって、付与ステップは第１のメモリスペース内に同時に存在する２つ以上の異なる逐次データスレッドの１つへデータセットを付与するステップを含む方法。
【請求項１１】
請求項８に記載の方法であって、フラッシングステップはｌｅａｓｔ  ｒｅｃｅｎｔｌｙ  ｕｓｅｄデータまたはｌｅａｓｔ  ｆｒｅｑｕｅｎｔｌｙ  ｕｓｅｄデータが付与された逐次データ内にあるにも拘わらずランダムデータ待ち行列からのデータをフラッシュさせるステップを含む方法。
【請求項１２】
各ライトコマンドを逐次ライトまたはランダムライトであるものとして特徴づけ、予め定められたサイズの転送ブロックを得るためにそれに応答して逐次ライトコマンドに関連するデータを付与することによりライトコマンドをバッファするように構成された回路を含む装置。
【請求項１３】
請求項１２に記載の装置であって、前記回路は単一転送コマンドを有する転送ブロックを転送して分散記憶システム内の記憶容量ストライプを埋めるように構成される装置。
【請求項１４】
請求項１２に記載の装置であって、前記回路はライトコマンドに関連するデータを予めバッファされた他のデータと比較して逐次データが存在するかどうかを決定するように構成される装置。
【請求項１５】
請求項１４に記載の装置であって、前記回路は逐次データのフラッシングとは独立してランダムデータをフラッシングするように構成される装置。
【請求項１６】
請求項１４に記載の装置であって、前記回路は総バッファ容量の予め定められたパーセンテージであるランダムデータ待ち行列に関連してランダムデータをフラッシングするように構成される装置。
【請求項１７】
請求項１６に記載の装置であって、前記回路はランダムデータ待ち行列閾値を変えるように構成される装置。
【請求項１８】
請求項１２に記載の装置であって、前記回路は第１のメモリスペース内に同時に存在する２つ以上の異なる逐次データスレッドの１つにデータを付与するように構成される装置。
【請求項１９】
請求項１５に記載の方法であって、前記回路はｌｅａｓｔ  ｒｅｃｅｎｔｌｙ  ｕｓｅｄデータまたはｌｅａｓｔ  ｆｒｅｑｕｅｎｔｌｙ  ｕｓｅｄデータが付与された逐次データ内にあるにも拘わらずランダムデータ待ち行列からのデータをフラッシュさせるように構成される方法。
【請求項２０】
第１のメモリおよび第２のメモリと、
転送されるデータのタイプに応じて複数の異なる方法の中の１つの方法で第１のメモリ内のデータをバッファリングして第２のメモリへ転送することにより外部装置から第２のメモリへデータを転送する手段と、
を含むデータ記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
（発明の分野）
本発明の実施例は一般的にデータ記憶システムの分野に関し、限定はしないが、特に不同にアクセスされるキャッシングデータを効率的にライトキャッシングする装置および関連方法に関する。
【背景技術】
【０００２】
（背景）
デジタルデータに高速かつ効率的にアクセスするのにデータ記憶装置が使用される。消費者電子装置内で利用されるデータ記憶装置がまん延するにつれ、リモートホストがデータ記憶装置内の異なるデータに完全に異なる方法でアクセスするのは珍しくなくなってきている。一般的に、２つのタイプのデータを正規のコンピュータデータまたはａｕｄｉｏ／ｖｉｓｕａｌ（Ａ／Ｖ）データとして分類することができる。
【０００３】
正規のコンピュータデータはより伝統的方法でアクセスされるため、コンピュータプロセスをうまく実行し、プロセスを追跡し、プロセスの結果を報告するのにデータ自体のコンテンツが不可欠である。そのため、正規コンピュータデータの各ビットはコンピュータプロセスの動作フローにとって潜在的に重要である。
【０００４】
一方、Ａ／Ｖデータは実行されるとスピーカやモニタを介してオーディオ信号および／またはビデオ信号を発生するコンピュータ読取可能情報に関連している。このタイプの大容量データの逐次ストリームを単一コマンドとして読み出すことができる性能は、基本的に、そのビット毎の精度よりも重要である。すなわち、あるＡ／Ｖデータにエラーがあると、少なくともＡ／Ｖデータが正規データと同じに精査された場合に生じる遅延エラーと較べて、Ａ／Ｖ信号の目立った改変なしにエラーは通常ホストへ通されることがある。その性質によりＡ／Ｖデータは逐次データであり、比較により正規データは「ランダムデータ」と呼ばれることがある。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ホストは同じ記憶スペース内のランダムデータおよび逐次データの両方にアクセスできなければならないことが行き渡ってきている。ライトキャッシングには、一般的に、バッファ内へのホストアクセスコマンドから一時的にデータを受信し、次に、記憶装置に対するデータの実際の転送の最適スケジューリングを行うことが関連している。逐次データは既に最適転送に適したフォーマットで与えられるため、逐次データに関連するホストアクセスコマンドに対して通常ライトキャッシングは不要である。しかしながら、ライトキャッシングはランダムデータに関連するホストアクセスコマンドに対するデータ転送レートを高めるための有利な方法である。同じバッファ内の両方のタイプのデータを混じり合わせると問題を生じることがあり、ランダムデータの最終的転送のボトルネックとなって不要に逐次データスレッドをフラグメント化することがある。ブレンドの全体データ転送効率を最適化するランダムおよび逐次データの混合データをバッファリングする直接的方法が必要とされている。本発明の実施例はこれらの改善に向けられる。
【課題を解決するための手段】
【０００６】
（発明の概要）
本発明の実施例は、一般的に、データ記憶装置内にアクセスコマンドをライトキャッシングするための装置および関連方法に向けられる。
【０００７】
ある実施例では、第１の装置から第１のメモリスペースおよび第２のメモリスペースを有する受入装置へデータを転送する方法が提供される。この方法は一組のデータの第２のメモリスペースへの転送を要求する転送コマンドを第１の装置から受信し、データセットを第１のメモリスペース内に一時的に格納して第２のメモリスペースへの転送を待ち、データセットを第１のメモリ内の他の逐次データに付与して第２のメモリスペースへ転送するための予め定められたサイズの転送データブロックを得るステップを含んでいる。
【０００８】
ある実施例では、各ライトコマンドを逐次ライトまたはランダムライトであるとして特徴づけることによりライトコマンドをバッファするように構成された回路を含み、予め定められたサイズの転送ブロックを得るためにそれに応答して逐次ライトコマンドに関連するデータを付与する対応する装置が提供される。
【０００９】
ある実施例では、第１のメモリおよび第２のメモリ、および第１のメモリ内のデータをバッファリングすることにより外部装置から第２のメモリへデータを転送し、転送されるデータのタイプに応じて複数の異なる方法でそれを第２のメモリへ転送する手段を有するデータ記憶装置が提供される。
【００１０】
特許請求する本発明を特徴づけるこれらおよびさまざまな他の特徴は下記の詳細な説明を読み関連する図面を見れば自明である。
【実施例】
【００１１】
（詳細な説明）
次に、図面を一般的に参照し、特に、本発明の実施例に従って構成されたデータ記憶装置１００の等角図を示す図１を参照する。好ましくは、装置１００はベース１０２およびカバー１０４（部分切取）を含み、共にいくつかのコンポーネントに対するハウジングを提供する。コンポーネントは１つ以上のデータ記憶媒体１０８が一緒に回転するために搭載されるモータ１０６を含んでいる。ベアリングアセンブリ１１４周りに旋回するアクチュエータアセンブリ１１２が媒体１０８に隣接配置されている。アクチュエータアセンブリ１１２はロードアーム１１８を支持するアクチュエータアーム１１６を含み、次に、それは隣接媒体１０８とデータ転送関係でヘッド１２０を支持する。各媒体１０８はデータトラックに分割することができる、ヘッド１２０はトラックに対してデータを検索及び格納するように位置決めされる。
【００１２】
ヘッド１２０および装置１００制御回路間の必要な導電経路を提供するために、ロードアームアセンブリ１１８およびアクチュエータアーム１１６に沿って、ヘッド１２０からフレックス回路１３４までヘッドワイヤをアクチュエータアセンブリ１１２上にルーティングすることができる。このようにして、ヘッドワイヤはフレックス回路１３４の一端に接続され、他端はフレックス回路ブラケット１３６に接続される。電気的接続はベース１０２を通ってプリント回路板（ＰＣＢ）１３８へ行き、それはエンクロージャの外部に搭載することができる。ＰＣＢ１３８に取り付けられた電気的コネクタ１４０は装置１００を外部制御回路と連絡させるための相手コネクタ（図示せず）と接続する複数の接点１４２を有する。
【００１３】
図２はその実施例に示すバス１４１を介して装置１００とホスト１４４等の遠隔装置間で通される制御信号およびデータ転送のタイプを例示する機能的ブロック図である。ある実施例では、バス１４１および後述する他のバスはハードワイヤドインターフェイスとすることができ、等価代替実施例では、それらはワイヤレス通信インターフェイスとすることができる。一般的に、装置１００はリード／ライトチャネル１４３、サーボ制御回路１４５、およびモータ制御回路１４６を有し、全てが制御バス１４７によりコントローラ１４８に接続されている。インターフェイス回路１５０がバス１５２によりリード／ライトチャネル１４３に接続され、バス１５４によりコントローラ１４８に接続されている。インターフェイス回路１５０は装置１００およびホスト装置（または、ネットワークサーバ等の他の遠隔装置）間の通信インターフェイスとして働く。一般的に、ホスト１４４からのおよびインターフェイス１５０からのコントローラ１４８により受信されたアクセスコマンドに応答して、コントローラ１４８は媒体１０８に対するデータのフローを制御する。次に、リード／ライトチャネル１４３はデータを媒体１０８に格納し媒体１０８からデータを検索するためにストアアンドリトリーブ信号をヘッド１２０に与える。ホスト１４４アクセスコマンドに関連するデータを媒体１０８により一時的に格納するために、コントローラ１４８の制御下でバッファ１６１が存在する。ヘッド１２０は、たとえば、アナログリード信号をリード／ライトチャネル１４３へ与えることができ、次に、それはアナログリード信号をデジタル形式に変換して必要な復号動作を実施し、ホスト１４４へ出力するデータをインターフェイス１５０へ与える。
【００１４】
好ましくは、データ記憶装置はａｕｄｉｏ  ｖｉｓｕａｌ  ｒｅａｄｙ（Ａ／Ｖ−ｒｅａｄｙ）ドライブとして構成することができる。これはデータ記憶装置上に格納されたデータを全く異なる方法でホスト１４４によりアクセスできることが必要である。すなわち、データ記憶装置１００とホスト１４４間の通信はＡｄｖａｎｃｅｄ  Ｔｅｃｈｎｏｌｏｇｙ  Ａｔｔａｃｈｍｅｎｔ／Ａｄｖａｎｃｅｄ  Ｔｅｃｈｎｏｌｏｇｙ  Ａｔｔａｃｈｍｅｎｔ  Ｐａｃｋｅｔ  Ｉｎｔｅｒｆａｃｅ（ＡＴＡ／ＡＴＡＰＩ）プロトコル等のいくつかの標準プロトコルのいずれかに従って信頼性クリティカルデータに関連するアクセスコマンドに対して生じることがある。明らかに、等価代替実施例では、この通信は、限定はしないが、Ｓｍａｌｌ  Ｃｏｍｐｕｔｅｒ  Ｓｙｓｔｅｍｓ  Ｉｎｔｅｒｆａｃｅ（ＳＣＳＩ），ＦｉｂｒｅＣｈａｎｎｅｌ−Ａｒｂｉｔｒａｔｅｄ  Ｌｏｏｐ（ＦＣ−ＡＬ），Ｓｅｒｉａｌ  Ｓｔｏｒａｇｅ  Ａｒｃｈｉｔｅｃｔｕｒｅ（ＳＳＡ），Ｃｏｍｐａｃｔ−Ｆｌａｓｈ，等の他のプロトコルで生じることもある。
【００１５】
本明細書および添付特許請求の範囲の意味の目的で、「信頼性クリティカルデータ」または「ランダムデータ」は、そのコンテンツがコンピュータプロセスミッション遂行にとって形式主義的にクリティカルであるために、一般的に全エラーリカバリを必要とする正規ユーザデータに関連付けられるようなコンピュータデータを意味する。
【００１６】
ＡＴＡは従順であるが、データ記憶装置１００は時間クリティカルデータに関連するデータ転送コマンドに対してやはりＡＶ−ｒｅａｄｙとすることができる。本明細書および添付特許請求の範囲の意味の目的で、「時間クリティカルデータ」または「逐次データ」は、データの大きいチャンクの転送に関連付けられたストリーミング効果により、指定されたタイムリミット内にコマンドを完了しなければならないオーディオおよび／またはビジュアルデータに一般的に関連付けられるようなコンピュータデータを意味する。時間制約内に修正できないエラーはホストへ転送して信号品質を著しく損なうことなく報告することができる。高められたデータ転送性能は、関連する時間制約に関して通常生じる再試行数を調節しながら、単一データ転送コマンドにより大量のセクタを転送する比較的大きいコマンドカウントを可能にすることで成し遂げられる。
【００１７】
図３はアドレス指定可能メモリスペース１６４および関連するコマンド待ち行列１６６を有することができるバッファ１６１の線図表現である。アドレス指定可能メモリスペース１６４はデータ記憶装置１００と通信するホスト１４４からのアクセスコマンドに関連するリードおよびライトデータのブロックを一時的に格納する。本検討を単純化する目的で、アドレス指定可能メモリスペース１６４内にはライトデータブロック１６８，１７０，１７２，１７４，１７６，１７８しか示されていない。通常、限定はしないが、リードデータ、リードオンアライバルデータ、リードルックアヘッドデータ、等の他のタイプのデータが図示するライトデータと同時にバッファ内に常駐していることが理解される。また、本明細書および添付特許請求の範囲の意味の目的で、アドレス指定可能メモリスペース１６４はしばしば第１のメモリと呼ばれ、媒体１０８はしばしば第２のメモリと呼ばれる。
【００１８】
ライトデータがアドレス指定可能記憶スペース１６４のセグメント内に格納される時、それが媒体１０８へ転送される前に、データ記憶装置１００はコマンド完了信号をホスト１４４へ送るため、ライトデータブロックはしばしば「ライトバックデータ」と呼ばれる。これはバス１４１上のデータ転送レートを高め、より高い数の未完データ転送を累積してデータ転送の動作効率を高め、データブロックの組合せスレッドが形成されて単一コマンドノードとして転送するように形成される尤度を統計的に高める。
【００１９】
説明の都合上、ライトバックデータ１６８，１７０，１７２，１７４，１７６，１７８は各々がいつアドレス指定可能メモリスペース１６４のセグメント内に格納されたかに従って逐次ラベル表示される。すなわち、例示する６つのライトバックデータの中で、ライトバックデータ１６８は最初に格納されたため「ライトデータ１」とラベル表示され、ライトバックデータ１７８は最後に格納されたため「ライトデータ６」とラベル表示される。
【００２０】
各ライトバックデータブロックがバッファ１６１内に受信されると、データ記憶装置１００はコマンド待ち行列１６６内に配置されたソート可能で質問可能なアクセス命令であるコマンドノードを生成する。ここでも、簡単にするためにコマンド待ち行列１６６はアドレス指定可能メモリ１６４内に格納されたライトバックデータに関連するライトノード１８０，１８２，１８４，１８６しか含んでいない。しかしながら、典型的に、コマンド待ち行列１６６は、前記したように、ライトコマンド以外のデータに関連する他のタイプのコマンドノードを含んでいる。
【００２１】
新しいライトバックデータがバッファ１６１により受信されると、データ記憶装置１００は任意の逐次関係が存在するかどうかを決定するために、そこに常駐する他のライトバックデータを全て質問する。「逐次」とは２つ以上のライトデータブロックを格納するために割当てられたメモリスペースの論理的アドレスが連続的で２つの隣接逐次ライトバックブロック間に非割当記憶スペースが無いことを意味する。図３では、説明のために、ライトノード１８０，１８２，１８４はランダムライトバックデータに関連付けられておりランダムコマンド待ち行列１８８に編成される。しかしながら、ライトバックデータブロック１７０，１７２，１７４は逐次データと決定されていて一緒に付与されるため、逐次コマンド待ち行列１９０内の単一ライトノード１８６の対象となる。転送する前に逐次データセットを付与することにより、逐次データを予め定められた最適サイズとして転送するためのデータの転送ブロックを得ることができる。説明の都合上ランダムおよび逐次コマンド待ち行列１８８，１９０は別々に例示されているが、共通メモリスペース内に両方の待ち行列が存在して混じり合っていることがある。
【００２２】
前記したように、新しいライトバックデータがバッファ１６１に入ると、バッファ内に存在する全てのライトバックデータが逐次データ関係の存在について質問される。これは予めランダムデータであるとして分類されたライトバックデータは、最も新しいライトバックデータに順次的であると判れば逐次データとして変更できることを意味する。たとえば、図３のライトバックデータ１７８はランダムデータでありランダムコマンド待ち行列１８８内のライトノード１８４に従属する。しかしながら、図４は最も新しいライトバックデータ１９２、「ライトデータ７」、がライトバックデータ１７８に順次的であることを例示している。さらに、図４はライトバックブロック１７８，１９２が互いに順次的であるがライトノード１８６に関連する他の逐次ライトバックブロック１７０，１７２，１７４に関しては順次的ではないケースを例示している。したがって、第２のライトノード１９４が逐次コマンド待ち行列１９０内に生成されており、ランダムコマンド待ち行列１８８内の前のライトノード１８４は削除されている。
【００２３】
このようにして、２つ以上の異なる逐次スレッドをバッファ１６１内で同時に付与することができる。すなわち、予め定められた転送ブロックサイズが得られるまで逐次ノードコマンド１８６，１９４のいずれかに新しいライトバックデータを付与することができる。多分、新しいライトバックデータブロックは２つの異なる逐次ノードを付与できることができる。たとえば、新しいライトバックデータブロックは両方の逐次ノード１８６，１９４に順次的であると決定されると、それらを結合して異なる逐次ノードとすることができる。
【００２４】
独立ドライブのランダムアレイ（ＲＡＩＤ）等において、予め定められたデータ転送ブロックサイズを分散記憶システム内のデータ記憶容量のストライプサイズと相関させると有利なことがある。たとえば、図５は各ドメインからの記憶容量１３２の１ブロックを結合して作られたローに対する１軸に沿った、複数のデータ記憶ドメイン（データ記憶装置１００Ａ−１００Ｊ）に関するグリッドベース記憶アーキテクチュアを示す。ローの総記憶容量はしばしば記憶スペースのストライプと呼ばれる。データ記憶装置１００Ｉおよび１００Ｊからのブロック１３２で例示するように、スペアブロック１３２をストライプ内に含むことができる。
【００２５】
本実施例は１つ以上のスレッド内に逐次データを優先的に付与して、単一コマンドにより比較的大きいデータブロックをより効率的に転送するための予め定められたサイズの転送ブロックを最終的に得ようとしていることは明らかである。これはランダムデータよりも逐次データをバッファ１６１内に保持することを好むポリシーをフラッシングすることを必要とすることがある。たとえば、データ記憶装置１００はランダムデータ待ち行列閾値を予め定めて設定することができる。ランダムデータ待ち行列に関連するライトバックデータの量が閾値を超える場合は、たとえｌｅａｓｔ  ｆｒｅｑｕｅｎｔｌｙ  ｕｓｅｄ（ＬＦＵ）データまたはｌｅａｓｔ  ｒｅｃｅｎｔｌｙ  ｕｓｅｄ（ＬＲＵ）データが逐次スレッド内で付与されていても、ランダムデータ待ち行列はフラッシュされる。バッファ１６１内のランダムデータ待ち行列はデータ記憶装置１００が利用されている目的に合うように設定することができ、状況および／または性能要求条件を変える場合にはデータ記憶装置１００により調節可能とすることさえできる。ある実施例では、ランダムデータ待ち行列閾値を総バッファ容量の５％よりも上に設定すると有利であることが判っており、バッファ１６１がランダムデータよりも逐次データを保持かつ付与することを明らかに有利にする。次に、逐次データに対するフラッシングポリシーをバッファ内に格納された逐次データの量がランダムデータ待ち行列閾値よりも小さく、好ましくは、総バッファ記憶容量のおよそ５％の安全係数よりも小さい総バッファ容量を超える時にフラッシュするように設定することができる。
【００２６】
図６は本発明の実施例に従ってライトキャッシング方法２００を実施するための典型的なステップを例示するフロー図である。この方法はブロック２０２においてホストから新しいライトコマンドを受信して開始する。ブロック２０４において、ライトバックデータがバッファ内に格納され完了信号がホストへ返される。ブロック２０６において、新しいライトバックデータがランダムデータであるか否かを決定するために、この最も新しいライトバックデータのアドレスが現在バッファ内に格納されている他の全てのライトバックデータと比較される。
【００２７】
ブロック２０６の決定がイエスであれば、ブロック２０８においてランダムデータ待ち行列の尾部において最新ライトバックデータに関連するライトノードが挿入される。ブロック２１０において、バッファ内のランダムデータの量が予め定められた閾値ｍよりも大きいか決定される。閾値ｍはその用途および／または変動する動作性能要求条件に応じてデータ記憶装置により調節することができる。本実施例のある実験的試行において、ｍは総バッファ記憶容量のおよそ５％として設定するのが有利であることが判った。ブロック２１０の決定がイエスであれば、ブロック２１２においてランダムデータの量ｆはランダムデータ待ち行列からフラッシュされ、次に、制御はブロック２１０へ戻ってバッファされたランダムデータの量を閾値ｍと較べて再チェックする。同様に、変数ｆも動作条件および変動する要求条件に応じてデータ記憶装置により調節することができるが、本実施例による成功した実験では１２８ＫＢがｆに対する有利な値であることが判った。ブロック２１０の決定がノーであれば、制御はブロック２１４へ通されそこでもう１つの未決ライトコマンドがあるかどうか決定される。そうであれば、制御はブロック２０２へ戻り、そうでなければ、方法は終わる。
【００２８】
しかしながら、ブロック２０６の決定がノーであれば、制御はブロック２１６へ通されそこで、逐次データであると決定されている、ライトバックデータが他の逐次ライトバックデータへ付与される。ブロック２１８において、予め定められたブロック転送サイズに合う長さの任意の逐次データスレッドが得られているかどうか決定される。ブロック２１８の決定がイエスであれば、ブロック２２０において逐次データがフラッシュされ制御はブロック２１８へ戻る。ブロック２１８の決定がノーであれば、制御はブロック２２２へ通されそこで、最適長逐次スレッドが無いにも拘わらず、逐次データの総量が閾値ｓを超えるかどうか決定される。閾値ｓはランダム待ち行列閾値ｍよりも小さく、好ましくは、ライトコマンドのサージがバッファ容量を超過するのを防止するための安全係数よりも小さい総バッファ容量の関数である。本実施例の実験的試行において、このような発生を防止するのに５％の安全係数で十分であると決定された。ブロック２２２の決定がノーであれば、制御はブロック２１４へ通され、次に、ブロック２０２へ戻るかあるいは方法が終わる。ブロック２２２の決定がイエスであれば、逐次データがフラッシュされる。逐次転送データに関連する効率関連利点により、好ましくは、１つ以上の逐次データスレッドの全体がフラッシュされる。フラッシュするために選択される逐次データスレッドはｌｅａｓｔ  ｒｅｃｅｎｔｌｙ  ｕｓｅｄデータおよび／またはｌｅａｓｔ  ｆｒｅｑｕｅｎｔｌｙ  ｕｓｅｄデータの優勢が存在するものとすることができる。
【００２９】
本発明のさまざまな実施例の構造および機能と共に、本発明のさまざまな実施例の非常に多くの特性および利点を説明してきたが、この詳細な説明は単なる説明用であって、添付特許請求の範囲が表現される用語の広範な一般的意味により示される全範囲にわたって、特に、部品の構造および配置について本発明の原理内で詳細を変更することができる。たとえば、本発明の精神および範囲を逸脱することなく、特定の要素はそれらが内蔵される装置またはそれらが使用される特定の環境に応じて変えることができる。
【００３０】
さらに、ここに記述された実施例はデータ記憶装置に向けられているが、当業者ならば特許請求される主題はそのように限定はされず、特許請求された発明の精神および範囲を逸脱することなく本発明の実施例をさまざまな他の電子装置で利用できることがお判りであろう。
【図面の簡単な説明】
【００３１】
【図１】本発明の実施例に従って構成されたデータ記憶装置の等角図である。
【図２】遠隔装置に接続された図１のデータ記憶装置の機能的ブロック図である。
【図３】図１のデータ記憶装置のバッファの線図表現である。
【図４】図１のデータ記憶装置のバッファの線図表現である。
【図５】分散記憶システム内のグリッドベース記憶アレイの線図表現である。
【図６】本発明の一実施例に従ってライトキャッシング方法を実施するためのステップを示すフロー図である。
【符号の説明】
【００３２】
１００，１００Ａ−１００Ｊ  データ記憶装置
１０２  ベース
１０４  カバー
１０６  モータ
１０８  データ記憶媒体
１１２  アクチュエータアセンブリ
１１４  ベアリングアセンブリ
１１６  アクチュエータアーム
１１８  ロードアーム
１２０  ヘッド
１３４  フレックス回路
１３６  フレックス回路ブラケット
１３８  プリント回路板
１４０  電気的コネクタ
１４１  バス
１４２  接点
１４３  リード／ライトチャネル
１４４  ホスト
１４５  サーボ制御回路
１４６  モータ制御回路
１４７  制御バス
１４８  コントローラ
１５０  インターフェイス回路
１５２，１５４  バス
１６１  バッファ
１６４  アドレス指定可能メモリスペース
１６６，１８８，１９０  コマンド待ち行列
１６８，１７０，１７２，１７４，１７６，１７８  ライトデータブロック
１８０，１８２，１８４，１８６  ライトノード
１９２  ライトバックデータ
【図１】
2008004089.tif 000003
【図２】
2008004089.tif 000004
【図３】
2008004089.tif 000005
【図４】
2008004089.tif 000006
【図６】
2008004089.tif 000007
【図５】
2008004089.tif 000008