(57)【要約】【課題】データ転送要求の順序を制御することにより、パフォーマンスを効果的に向上できるデータ記憶装置を提供することにある。【解決手段】ＮＣＱ仕様のコマンド処理に伴うデータ転送制御を行なうデータ記憶装置１０において、ホストシステム２０から通知されるコマンド処理の優先条件に基づいてデータ転送要求の順序を並び替える構成である。【選択図】図１
2010282422.tif 000002
【特許請求の範囲】
【請求項１】
ホストシステムとの間でコマンド及びデータの転送を行なうためのインターフェース手段と、
前記インターフェース手段を介してコマンドの処理に伴うデータ転送要求を実行するときに、前記コマンド処理の優先条件に基づいて前記データ転送要求の順序を並び替える制御手段と
を具備したことを特徴とするデータ記憶装置。
【請求項２】
前記優先条件は、リードコマンドを優先して実行する条件であって、前記ホストシステムに対してリードデータを転送するためのデータ転送要求の順序を優先させるための条件であることを特徴とする請求項１に記載のデータ記憶装置。
【請求項３】
前記優先条件は、相対的に転送データ量の小さいコマンドを優先して実行する条件であることを特徴とする請求項１に記載のデータ記憶装置。
【請求項４】
前記優先条件は、相対的に転送データ量の大きいコマンドを優先して実行する条件であることを特徴とする請求項１に記載のデータ記憶装置。
【請求項５】
前記優先条件は、シーケンシャル・アクセスのコマンドを優先して実行する条件であることを特徴とする請求項１に記載のデータ記憶装置。
【請求項６】
前記優先条件は、前記ホストシステムの発行からの時間経過が長いコマンドを優先して実行する条件であることを特徴とする請求項１に記載のデータ記憶装置。
【請求項７】
前記制御手段は、
前記インターフェース手段を介して前記ホストシステムから通知された前記優先条件に基づいて、前記データ転送要求の順序を並び替えることを特徴とする請求項１から請求項６のいずれか１項に記載のデータ記憶装置。
【請求項８】
前記制御手段は、
前記コマンドの実行準備の完了に応じてデータ転送要求をキューし、前記優先条件に基づいて前記データ転送要求の待ち行列順序を変更することを特徴とする請求項１から請求項７のいずれか１項に記載のデータ記憶装置。
【請求項９】
前記インターフェース手段は、シリアルＡＴＡインターフェース規格に基づいたデータ転送制御を実行する構成であることを特徴とする請求項１から請求項８のいずれか１項に記載のデータ記憶装置。
【請求項１０】
データ記憶装置に含まれて、ホストシステムとの間でコマンド及びデータの転送を行なうシリアルインターフェース手段と、
前記シリアルインターフェース手段を介してコマンド処理に伴うデータ転送要求を実行するときに、前記コマンド処理の優先条件に基づいて前記データ転送要求の順序を並び替える制御手段と
を具備したことを特徴とするデータ転送制御装置。
【請求項１１】
データ記憶装置とホストシステムとを接続するシリアルインターフェースを介してコマンド及びデータの転送を制御するデータ転送制御方法であって、
前記シリアルインターフェースを介して、前記ホストシステムから転送されたコマンドを受信する処理と、
コマンド処理に伴うデータ転送要求を実行するときに、前記コマンド処理の優先条件に基づいて前記データ転送要求の順序を並び替える処理と
を有することを特徴とするデータ転送制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ記憶装置に関し、特に、インターフェースのデータ転送制御技術に関する。
【背景技術】
【０００２】
近年、ハードディスクドライブ（単にディスクドライブと表記する）やソリッドステートドライブ（ＳＳＤ：solid state drive）などのデータ記憶装置（以下、総称してドライブと表記する場合がある）では、ホストシステム（ホストコントローラ）とのインターフェースとして、シリアルＡＴＡ（ＳＡＴＡ:Serial AT Attachment）規格のインターフェース（以下、ＳＡＴＡインターフェースと表記する場合がある）が採用されている。ここで、ホストシステムは、例えば、パーソナルコンピュータやデジタルテレビ受信機などである。
【０００３】
例えばディスクドライブは、ＳＡＴＡインターフェースを介して、ホストシステムから転送されるライトコマンドやリードコマンド等のコマンドを実行することで、ディスク上にデータを書き込み、又はディスク上からデータを読み出す。
【０００４】
シリアルＡＴＡ規格には、ＮＣＱ（native command queuing）と呼ばれるコマンドキューイング（command queuing）仕様が規定されている。このＮＣＱは、ドライブ側で、コマンドバッファに格納（キュー）された複数のコマンドの実行順序を任意に決定できる機能を実現する仕様である。
【０００５】
さらに、シリアルＡＴＡ規格では、ＮＣＱ仕様のコマンドの実行に伴うデータ転送制御を行なう仕様として、ドライブ側は、ホストシステムに対するデータ転送要求を行なう場合に、ＦＩＳ（Frame Information Structure）として定義されているセットアップ・フレームを発行する。このデータ転送要求を、DMA setup FIS要求と表記する。フレームは、シリアルＡＴＡインターフェースでのデータ通信を行なうための単位（データ構造）である。
【０００６】
ここで、ドライブとホストシステム間のデータ転送には、ライトコマンドの実行に伴うライトデータの転送のようなホストシステム側からのデータ転送、及びリードコマンドの実行に伴うリードデータの転送のようなホストシステム側へのデータ転送がある。
【０００７】
このようなデータ転送制御方式において、ホストシステムに対するコマンド終了通知のタイミングを制御することで、ドライブ側のパフォーマンスを向上させるための技術が提案されている（例えば、特許文献１を参照）。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００５−２１５７２９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
データ転送制御技術は、コマンド処理の効率向上に関係し、ドライブ側のパフォーマンスを向上させるための重要な技術である。前述の先行技術の方法だけでは、ドライブ側のパフォーマンスを効果的に向上させるには不十分である。
【００１０】
そこで、本発明の目的は、データ転送要求の順序を制御することにより、パフォーマンスを効果的に向上できるデータ記憶装置を提供することにある。
【課題を解決するための手段】
【００１１】
本発明の観点に従ったデータ記憶装置は、ホストシステムとの間でコマンド及びデータの転送を行なうためのインターフェース手段と、前記インターフェース手段を介してコマンド処理に伴うデータ転送要求を実行するときに、前記コマンド処理の優先条件に基づいて前記データ転送要求の順序を並び替える制御手段とを備えた構成である。
【発明の効果】
【００１２】
本発明によれば、データ転送要求の順序を制御することにより、データ記憶装置のパフォーマンスを効果的に向上することが可能となる。
【図面の簡単な説明】
【００１３】
【図１】本発明の実施形態に関するディスクドライブの要部を示すブロック図。
【図２】本実施形態に関するデータ転送制御の概略を説明するためのフローチャート。
【図３】本実施形態に関するコマンドキューの一例を説明するための図。
【図４】本実施形態に関するデータ転送要求テーブルの一例を説明するための図。
【図５】本実施形態に関するデータ転送要求テーブルの一例を説明するための図。
【図６】本実施形態に関するデータ転送要求テーブルの一例を説明するための図。
【図７】本実施形態に関するデータ転送要求テーブルの一例を説明するための図。
【図８】本実施形態に関するデータ転送制御の手順を説明するためのタイミングチャート。
【図９】本実施形態に関するデータ転送制御方法の手順を説明するためのフローチャート。
【図１０】他の実施形態に関するデータ転送制御方法を適用する具体例を説明するための図。
【図１１】他の実施形態に関するデータ転送制御方法を適用する具体例を説明するための図。
【図１２】他の実施形態に関するデータ転送制御方法を適用する具体例を説明するための図。
【図１３】他の実施形態に関するデータ転送制御方法を適用する具体例を説明するための図。
【図１４】他の実施形態に関するデータ転送制御方法を適用する具体例を説明するための図。
【図１５】本実施形態のデータ記憶装置に適用するＳＳＤの要部を示すブロック図。
【発明を実施するための最良の形態】
【００１４】
以下図面を参照して、本発明の実施形態を説明する。
【００１５】
［ディスクドライブの構成］
図１は、本実施形態に関するデータ記憶装置として、ディスクドライブ１０の要部を示すブロック図である。
【００１６】
ディスクドライブ１０は、図１に示すように、ハードディスクコントローラ（ＨＤＣ、以下単にディスクコントローラと表記する）１１と、メモリ１２と、マイクロプロセッサ（ＣＰＵ）１３と、ヘッド・ディスクアセンブリ（ＨＤＡ）１４とを有する。
【００１７】
ＨＤＡ１４はデータ記録媒体であるディスク１４０を含み、当該ディスク１４０上にデータを磁気的に記録し、かつディスク１４０上からデータを再生する。ＨＤＡ１４は、ディスク１４０及びヘッドを駆動するための機構や、ヘッドアンプ及びリード／ライトチャネルなどの回路群を含む。ディスク１４０上のデータ面は、多数のトラック（シリンダ）が構成されて、各トラックが複数のセクタ（リード／ライト動作のアクセス単位）と呼ばれるデータ記録領域に分割されている。各セクタは、論理ブロックアドレス（ＬＢＡ）が割り当てられている。ホストシステム２０からＬＢＡ（ｎ）により、ライトアクセス又はリードアクセスの対象セクタが指定される。
【００１８】
ディスクコントローラ１１は、シリアルＡＴＡ（ＳＡＴＡ）インターフェース規格のＳＡＴＡバス１００を介してホストシステム２０と接続し、ＮＣＱ（native command queuing）仕様のコマンド及びデータ（リードデータまたはライトデータ）の転送制御を実行するためのホストインターフェースモジュールを有する。また、ディスクコントローラ１１は、ＨＤＡ１４のリード／ライトチャネル間でリードデータ又はライトデータの転送を制御するディスクインターフェースモジュールを有する。
【００１９】
メモリ１２は、ＮＣＱ仕様のコマンドバッファ１２０及びデータバッファ１２１を含む。コマンドバッファ１２０は、ホストシステム２０から連続的に転送される複数のコマンドをキュー（queuing）する待ち行列バッファである。データバッファ１２１は、ホストシステム２０から転送されるライトデータを格納するライトバッファ領域及びホストシステム２０へ転送するためのリードデータを格納するリードバッファ領域を含む。
【００２０】
ＣＰＵ１３は、ドライブ１０のメイン制御装置であり、ＨＤＡ１４の制御及びコマンド処理を実行する。ＨＤＡ１４の制御には、ディスク１４０に対するリード動作及びライト動作の制御、及びヘッドのサーボ制御が含まれる。さらに、ＣＰＵ１３は、後述するように、ホストシステム２０との間でコマンドの実行に伴うデータ転送要求（DMA setup FIS要求）の処理を実行する。
【００２１】
［データ転送制御］
以下、図２を参照して、本実施形態のディスクドライブ１０でのデータ転送制御の概略を説明する。
【００２２】
ディスクコントローラ１１は、ＳＡＴＡバス１００を介してホストシステム２０から転送されたコマンド（リード／ライトコマンド）を連続的に受信する（ブロック２００）。ディスクコントローラ１１は、受信したコマンドをコマンドバッファ１２０に順次格納（キュー）する（ブロック２０１）。
【００２３】
ここで、ＣＰＵ１３は、ＮＣＱ仕様によるコマンド処理を実行する。即ち、ＣＰＵ１３は、コマンドバッファ１２０にキューされた複数のコマンドの実行順序を設定して、任意のタイミングで実行する。具体的には、ＣＰＵ１３は、コマンドバッファ１２０にキューされた複数のコマンドをメモリ１２に確保されているリオーダリング（reordering）テーブルに登録し、高速に処理できる順序でコマンドを開始する。
【００２４】
ＣＰＵ１３は、コマンドの実行に伴うデータ転送要求（DMA setup FIS要求）を、ＳＡＴＡバス１００を介してホストシステム２０に対して実行する（ブロック２０２）。このとき、データ転送要求（DMA setup FIS要求）は、メモリ１２に確保されているデータ転送要求テーブル（待ち行列バッファ）に登録されている。
【００２５】
ホストシステム２０は、データ転送要求に応じて、ライトコマンドの場合にはライトデータをＨＤＣ１１に転送し、またリードコマンドの場合にはＨＤＣ１１から転送されたリードデータを受信する（ブロック２０３）。このような一連の動作が、コマンドバッファ１２０に格納された複数のコマンドの実行が全て完了するまで繰り返される（ブロック２０４）。
【００２６】
さらに、図３から図７、図８のタイミングチャート、及び図９のフローチャートを参照して、本実施形態のデータ転送制御を具体的に説明する。
【００２７】
図８に示すように、ホストシステム２０は、ドライブ１０に対して、データ転送要求（DMA setup FIS要求）順序の優先条件を通知する（８００）。ここでは、ホストシステム２０は、優先条件として、例えばリードコマンド処理に伴うリードデータ転送の優先を通知する。ディスクコントローラ１１は、ホストシステム２０に対して了承応答を通知する（８０１）。次に、ホストシステム２０は、ＮＣＱ仕様のリード／ライトコマンド群を一度に発行する（８０２）。
【００２８】
ここで、図９のフローチャートを参照して、ディスクドライブ１０の処理を説明する。
【００２９】
ディスクコントローラ１１は、図３に示すように、ホストシステム２０から転送されたコマンド群をコマンドバッファ１２０にキューする。ＮＣＱ仕様では、３２個までのコマンドの同時制御が可能であり、ホストシステム２０から発行される各コマンドには０〜３１までのタグ番号（Tag No.）が付加されている。
【００３０】
図３に示すテーブルにおいて、「LBA」はアクセス対象のセクタを指定する論理ブロックアドレスである。「Block」は、転送するデータのブロック数である。「Command」はコマンドの種別を示す。ここでは、リードコマンド（Read）とライトコマンド（Write）の２種類とする。
【００３１】
ＣＰＵ１３は、図９に示すように、コマンドバッファ１２０にキューされたコマンドを順次実行する（ブロック９００のＹＥＳ）。このとき、ＣＰＵ１３は、ライトコマンドの場合には、データバッファ１２１のライトバッファ領域が空き状態であれば、ライトデータの転送要求（DMA setup FIS要求）をデータ転送要求テーブルにキューし、コマンドをリオーダリングテーブルに登録する（ブロック９０１のＹＥＳ，９０２のＹＥＳ，９０３，９０４）。
【００３２】
本実施形態では、リードデータの転送要求（DMA setup FIS要求）のデータ転送要求テーブルへのキューは、ディスク１４０に対するリード動作により転送すべきリードデータがデータバッファ１２１のリードバッファ領域に準備された時点で行うことを想定している。この場合、ＣＰＵ１３は、リードコマンドの場合には、コマンドのリオーダリングテーブルへの登録のみを行う（ブロック９０１のＮＯ，９０４）。
【００３３】
本実施形態では、データ転送要求テーブルのキューに２以上の要求がセットされている場合に、ＣＰＵ１３は、以下のように、データ転送要求テーブルの要求順序の並び替え処理を実行する（ブロック９０５のＹＥＳ，９０６）。
【００３４】
本実施形態では、前述したように、ホストシステム２０は、優先条件としてリードデータ転送の優先を通知することを想定している。この場合、転送すべきリードデータがデータバッファ１２１のリードバッファ領域に準備されていない場合、ＣＰＵ１３は、図４に示すように、データ転送要求テーブルには、ライトコマンド（図３の３００，３０２）に伴うデータ転送要求のみを登録する。
【００３５】
図８に示すように、ディスクコントローラ１１は、図４に示すデータ転送要求テーブルの要求順位１位のライトコマンド（３００）の実行に伴うライトデータの転送要求（DMA setup FIS要求）をホストシステム２０に対して実行する（８０３）。ホストシステム２０は、当該データ転送要求に応じてライトコマンド（３００）の処理に必要なライトデータをディスクドライブ１０に転送する（８０４）。このとき、ホストシステム２０からディスクコントローラ１１までのライトデータの転送が完了するまでに、例えば２０ｍｓの経過時間を要したとする。
【００３６】
この要求順位１位のライトデータの転送中に、図３に示すリードコマンド（３０１，３０３）の処理に伴うリードデータがデータバッファ１２１のリードバッファ領域に準備完了したとする。ＣＰＵ１３は、図５に示すように、データ転送要求テーブルには、リードコマンド（３０１，３０３）のデータ転送要求を登録する。ライトデータの転送終了後、データ転送要求テーブルは、図６に示すような状態となる。
【００３７】
ＣＰＵ１３は、ホストシステム２０からのリードデータ転送の優先に基づいて、図６に示すデータ転送要求テーブルの要求順位を、図７に示すように並べ替え処理を実行する（ブロック９０６を参照）。次に、ディスクコントローラ１１は、図７に示すデータ転送要求テーブルの要求順位の１位に従って、リードコマンド（３０１）の実行に伴うリードデータの転送要求（DMA setup FIS要求）をホストシステム２０に対して実行する（８０５）。ディスクコントローラ１１は、当該データ転送要求に応じてリードコマンド（３０１）の処理に伴うリードデータをホストシステム２０に転送する（８０６）。
【００３８】
さらに、図７に示すデータ転送要求テーブルの要求順位の２位に従って、ディスクコントローラ１１は、リードコマンド（３０３）の実行に伴うリードデータの転送要求（DMA setup FIS要求）をホストシステム２０に対して実行する（８０７）。ディスクコントローラ１１は、当該データ転送要求に応じてリードコマンド（３０３）の処理に伴うリードデータをホストシステム２０に転送する（８０８）。
【００３９】
ホストシステム２０からの優先条件であるリードデータ転送が完了すると、データ転送要求テーブルの要求順位の３位に従って、ディスクコントローラ１１は、ライトコマンド（３０２）の実行に伴うライトデータの転送要求（DMA setup FIS要求）をホストシステム２０に対して実行する（８０９）。ホストシステム２０は、当該データ転送要求に応じてライトコマンド（３０２）の処理に必要なライトデータをディスクドライブ１０に転送する（８１０）。
【００４０】
以上のようにして、ホストシステム２０から通知される優先条件として、リードコマンド処理に伴うリードデータ転送を優先する条件に基づいて、ディスクドライブ１０は、リードコマンド処理に伴うリードデータ転送を優先するように、データ転送要求テーブルのデータ転送要求の順序を並べ替える処理を実行する。但し、リードデータ転送の準備が完了していない場合には、ライトコマンドの処理に伴うライトデータ転送要求を先行して実行し、準備完了後にデータ転送要求の順序を並べ替える処理を実行する。
【００４１】
このようなデータ転送制御方法により、ホストシステム２０からの要求に応じてデータ転送要求の順序を制御することで、ディスクドライブ１０のコマンド処理の効率を向上し、結果としてドライブ１０側のパフォーマンスを向上させることが可能となる。
【００４２】
［他の実施形態］
図１０から図１４は、他の実施形態に関するデータ転送制御方法を説明するための図である。
【００４３】
図１０は、ホストシステム２０から転送されたコマンド群の一例で、リオーダリング（reordering）テーブルに登録した状態を示す図である。図１１は、当該コマンド群の処理に伴うデータ転送要求（DMA setup FIS要求）を登録したデータ転送用要求テーブルを示す図である。即ち、ＣＰＵ１３は、図１０に示すテーブルのタグ番号０のリードコマンドの処理を開始すると共に、データバッファ１２１のライトバッファ領域が十分空いているという条件で、例えばタグ番号１、２、４〜６のライトコマンドに伴うDMA setup FIS要求をキューに登録する。
【００４４】
図１２（Ａ）〜（Ｅ）はそれぞれ、ホストシステム２０からの要求または予め設定されるコマンド処理の優先条件に基づいて、データ転送要求テーブルの要求順序の並べ替え処理を実行した結果を示す図である。
【００４５】
まず、前述と同様にリードデータ転送を優先する条件では、ＣＰＵ１３は、図１２（Ａ）に示すように、データ転送用要求テーブルの並べ替え処理を実行する。ここでは、リードデータ転送の準備ができていないため、データ転送用要求テーブルにはライトコマンドに伴うライトデータ転送要求のみしか登録されていない。なお、ホストシステム２０は、リードコマンドをライトコマンドよりも優先して処理すると、次のコマンド処理を早く決定できるためパフォーマンスが向上する。
【００４６】
次に、転送ブロック数の小さいコマンドを優先する条件では、ＣＰＵ１３は、図１２（Ｂ）に示すように、データ転送用要求テーブルの並べ替え処理を実行する。この場合、ディスクドライブ１０では、単位時間当たりに処理できるコマンド数が増大する。このため、ホストシステム２０は、多数のコマンドを新規に発行できることになる。
【００４７】
逆に、転送ブロック数の大きいコマンドを優先する条件では、ＣＰＵ１３は、図１２（Ｃ）に示すように、データ転送用要求テーブルの並べ替え処理を実行する。ライトコマンド処理では、ホストシステム２０からのライトデータ転送が完了すると、ディスクドライブ１０はライトバッファ領域のライトデータをディスク１４０１上に書き込む。このとき、転送ブロック数の大きい分だけ、ライトバッファ領域を空けることができる。
【００４８】
さらに、シーケンシャルのコマンドを優先する条件では、ＣＰＵ１３は、図１２（Ｄ）に示すように、データ転送用要求テーブルの並べ替え処理を実行する。この場合、ホストシステム２０上のあるプロセスが要求したシーケンシャルのディスクアクセス要求が、ディスクドライブ１０へのコマンド発行以前に分断されていたような場合、ホストシステム２０は次のコマンド処理を早く決定できる。
【００４９】
さらに、ホストシステム２０からのコマンド発行からの時間経過が長いコマンドを優先する条件では、ＣＰＵ１３は、図１２（Ｅ）に示すように、データ転送用要求テーブルの並べ替え処理を実行する。但し、ここでは、データ転送用要求テーブルの状態は、図１２（Ａ）に示す状態と同じになる。この場合、ホストシステム２０側でのタイムアウトを防止し、全体のパフォーマンスの低下を回避することが可能となる。
【００５０】
図１３は、データ転送要求が処理された後に、例えば２つのリードコマンド（タグ番号３，７）が登録されたデータ転送要求テーブルを示す図である。このような状態において、図１４（Ａ）〜（Ｅ）を参照して、データ転送要求テーブルの要求順序の並べ替え処理の具体例を説明する。
【００５１】
リードデータ転送を優先する条件では、ＣＰＵ１３は、図１４（Ａ）に示すように、データ転送用要求テーブルの並べ替え処理を実行する。即ち、データ転送用要求テーブルは、２つのリードコマンド（タグ番号３，７）のデータ転送用要求順序が１位と２位になるように並べ替え処理される。前述と同様に、転送ブロック数の小さいコマンドを優先する条件では、ＣＰＵ１３は、図１４（Ｂ）に示すように、データ転送用要求テーブルの並べ替え処理を実行する。逆に、転送ブロック数の大きいコマンドを優先する条件では、ＣＰＵ１３は、図１４（Ｃ）に示すように、データ転送用要求テーブルの並べ替え処理を実行する。さらに、シーケンシャルのコマンドを優先する条件では、ＣＰＵ１３は、図１４（Ｄ）に示すように、データ転送用要求テーブルの並べ替え処理を実行する。さらに、ホストシステム２０からのコマンド発行からの時間経過が長いコマンドを優先する条件では、ＣＰＵ１３は、図１４（Ｅ）に示すように、データ転送用要求テーブルの並べ替え処理を実行する。なお、このようなデータ転送用要求テーブルの並べ替え処理においても、前述と同様の効果を得ることができる。
【００５２】
［ＳＳＤの構成］
本実施形態では、データ記憶装置としてディスクドライブ１０を適用する場合について説明したが、これに限ることなく、図１５に示すようなソリッドステートドライブ（ＳＳＤ：solid state drive）３０にも適用できる。
【００５３】
ＳＳＤ３０は、データ記録媒体としてフラッシュメモリ３２を使用するデータ記憶装置であり、ホストシステム２０とＳＡＴＡバス１００を介して接続するコントローラ３１を含む。コントローラ３１は、図１に示すディスクドライブ１０のディスクコントローラ１１及びＣＰＵ１３に相当する機能を有し、本実施形態に関するＮＣＱ仕様のコマンド処理及びデータ転送要求順序の並べ替え処理などを実行する。
【００５４】
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【符号の説明】
【００５５】
１０…ディスクドライブ、１１…ハードディスクコントローラ（ＨＤＣ）、
１２…メモリ、１３…マイクロプロセッサ（ＣＰＵ）、
１４…ヘッド・ディスクアセンブリ（ＨＤＡ）、２０…ホストシステム、
３０…ソリッドステートドライブ（ＳＳＤ）、３１…コントローラ、
３２…フラッシュメモリ、１００…シリアルＡＴＡバス、
１２０…コマンドバッファ、１２１…データバッファ、１４０…ディスク。
【図１】
2010282422.tif 000003
【図２】
2010282422.tif 000004
【図３】
2010282422.tif 000005
【図４】
2010282422.tif 000006
【図５】
2010282422.tif 000007
【図６】
2010282422.tif 000008
【図７】
2010282422.tif 000009
【図８】
2010282422.tif 000010
【図９】
2010282422.tif 000011
【図１０】
2010282422.tif 000012
【図１１】
2010282422.tif 000013
【図１２】
2010282422.tif 000014
【図１３】
2010282422.tif 000015
【図１４】
2010282422.tif 000016
【図１５】
2010282422.tif 000017
【手続補正書】
【提出日】平成22年4月28日(2010.4.28)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ホストシステムとの間でコマンド及びデータの転送を行なうためのインターフェース手段と、
前記インターフェース手段を介して受信したコマンドの処理に伴うデータ転送要求を実行するときに、前記受信したコマンドに関する優先情報に基づいて前記データ転送要求の順序を並び替える制御手段と
を具備したことを特徴とするデータ記憶装置。
【請求項２】
前記優先情報は、他のコマンドよりリードコマンドを優先して処理することを示し、前記ホストシステムに対してリードデータのデータ転送要求に高い優先順位を割り当てるための情報であることを特徴とする請求項１に記載のデータ記憶装置。
【請求項３】
前記優先情報は、転送データ量の小さい順にコマンドを処理することを示すものであることを特徴とする請求項１に記載のデータ記憶装置。
【請求項４】
前記優先情報は、転送データ量の大きい順にコマンドを処理することを示すものであることを特徴とする請求項１に記載のデータ記憶装置。
【請求項５】
前記優先情報は、シーケンシャル・アクセスに関連するコマンドを他のコマンドより優先して処理することを示すものであることを特徴とする請求項１に記載のデータ記憶装置。
【請求項６】
前記優先情報は、前記ホストシステムの発行からの時間経過が長いコマンドを優先して処理することを示すものであることを特徴とする請求項１に記載のデータ記憶装置。
【請求項７】
前記制御手段は、
前記インターフェース手段を介した前記ホストシステムからの前記優先情報に基づいて、前記データ転送要求の順序を並び替えることを特徴とする請求項１から請求項６のいずれか１項に記載のデータ記憶装置。
【請求項８】
前記制御手段は、
前記コマンドの実行準備の完了に応じてデータ転送要求をキューし、前記優先情報に基づいて前記データ転送要求の待ち行列順序を並び替えることを特徴とする請求項１から請求項７のいずれか１項に記載のデータ記憶装置。
【請求項９】
前記インターフェース手段は、
シリアルＡＴＡインターフェース規格に基づいてデータ転送を制御することを特徴とする請求項１から請求項８のいずれか１項に記載のデータ記憶装置。
【請求項１０】
データ記憶装置に含まれて、ホストシステムとの間でコマンド及びデータの転送を行なうためのシリアルインターフェース手段と、
前記シリアルインターフェース手段を介して受信したコマンドを処理するときに、当該受信したコマンドに関連する優先情報に基づいてデータ転送要求の順序を並び替える制御手段と
を具備したことを特徴とするデータ転送制御装置。
【請求項１１】
シリアルインターフェースを介してデータ記憶装置とホストシステムとの間でコマンド及びデータの転送を制御するデータ転送制御方法であって、
前記シリアルインターフェースを介して前記ホストシステムからのコマンドを受信する処理と、
前記受信したコマンドを処理するときに、コマンドの処理順序を示す優先情報に基づいてデータ転送要求の順序を並び替える処理と
を有することを特徴とするデータ転送制御方法。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００１１
【補正方法】変更
【補正の内容】
【００１１】
本発明の観点に従ったデータ記憶装置は、ホストシステムとの間でコマンド及びデータの転送を行なうためのインターフェース手段と、前記インターフェース手段を介して受信したコマンドの処理に伴うデータ転送要求を実行するときに、前記受信したコマンドに関する優先情報に基づいて前記データ転送要求の順序を並び替える制御手段とを備えた構成である。