JP2010282422A - Data storage device and data transfer control method - Google Patents
Data storage device and data transfer control method Download PDFInfo
- Publication number
- JP2010282422A JP2010282422A JP2009135257A JP2009135257A JP2010282422A JP 2010282422 A JP2010282422 A JP 2010282422A JP 2009135257 A JP2009135257 A JP 2009135257A JP 2009135257 A JP2009135257 A JP 2009135257A JP 2010282422 A JP2010282422 A JP 2010282422A
- Authority
- JP
- Japan
- Prior art keywords
- data transfer
- data
- command
- storage device
- host system
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Abstract
Description
本発明は、データ記憶装置に関し、特に、インターフェースのデータ転送制御技術に関する。 The present invention relates to a data storage device, and more particularly to a data transfer control technique for an interface.
近年、ハードディスクドライブ(単にディスクドライブと表記する)やソリッドステートドライブ(SSD:solid state drive)などのデータ記憶装置(以下、総称してドライブと表記する場合がある)では、ホストシステム(ホストコントローラ)とのインターフェースとして、シリアルATA(SATA:Serial AT Attachment)規格のインターフェース(以下、SATAインターフェースと表記する場合がある)が採用されている。ここで、ホストシステムは、例えば、パーソナルコンピュータやデジタルテレビ受信機などである。 2. Description of the Related Art In recent years, in a data storage device (hereinafter sometimes collectively referred to as a drive) such as a hard disk drive (simply referred to as a disk drive) or a solid state drive (SSD), a host system (host controller) As an interface, a serial ATA (SATA: Serial AT Attachment) standard interface (hereinafter sometimes referred to as a SATA interface) is employed. Here, the host system is, for example, a personal computer or a digital television receiver.
例えばディスクドライブは、SATAインターフェースを介して、ホストシステムから転送されるライトコマンドやリードコマンド等のコマンドを実行することで、ディスク上にデータを書き込み、又はディスク上からデータを読み出す。 For example, the disk drive writes data on the disk or reads data from the disk by executing a command such as a write command or a read command transferred from the host system via the SATA interface.
シリアルATA規格には、NCQ(native command queuing)と呼ばれるコマンドキューイング(command queuing)仕様が規定されている。このNCQは、ドライブ側で、コマンドバッファに格納(キュー)された複数のコマンドの実行順序を任意に決定できる機能を実現する仕様である。 The serial ATA standard defines a command queuing specification called NCQ (native command queuing). The NCQ is a specification that realizes a function that can arbitrarily determine the execution order of a plurality of commands stored (queued) in a command buffer on the drive side.
さらに、シリアルATA規格では、NCQ仕様のコマンドの実行に伴うデータ転送制御を行なう仕様として、ドライブ側は、ホストシステムに対するデータ転送要求を行なう場合に、FIS(Frame Information Structure)として定義されているセットアップ・フレームを発行する。このデータ転送要求を、DMA setup FIS要求と表記する。フレームは、シリアルATAインターフェースでのデータ通信を行なうための単位(データ構造)である。 Further, in the serial ATA standard, as a specification for performing data transfer control accompanying the execution of NCQ specification commands, the drive side sets up a FIS (Frame Information Structure) defined when making a data transfer request to the host system.・ Issues a frame. This data transfer request is referred to as a DMA setup FIS request. The frame is a unit (data structure) for performing data communication with the serial ATA interface.
ここで、ドライブとホストシステム間のデータ転送には、ライトコマンドの実行に伴うライトデータの転送のようなホストシステム側からのデータ転送、及びリードコマンドの実行に伴うリードデータの転送のようなホストシステム側へのデータ転送がある。 Here, for data transfer between the drive and the host system, data transfer from the host system side such as transfer of write data accompanying execution of a write command, and host such as transfer of read data accompanying execution of a read command are performed. There is data transfer to the system side.
このようなデータ転送制御方式において、ホストシステムに対するコマンド終了通知のタイミングを制御することで、ドライブ側のパフォーマンスを向上させるための技術が提案されている(例えば、特許文献1を参照)。 In such a data transfer control method, a technique for improving the performance on the drive side by controlling the timing of command completion notification to the host system has been proposed (see, for example, Patent Document 1).
データ転送制御技術は、コマンド処理の効率向上に関係し、ドライブ側のパフォーマンスを向上させるための重要な技術である。前述の先行技術の方法だけでは、ドライブ側のパフォーマンスを効果的に向上させるには不十分である。 Data transfer control technology is related to improving the efficiency of command processing, and is an important technology for improving drive-side performance. The above prior art methods alone are insufficient to effectively improve the drive side performance.
そこで、本発明の目的は、データ転送要求の順序を制御することにより、パフォーマンスを効果的に向上できるデータ記憶装置を提供することにある。 Therefore, an object of the present invention is to provide a data storage device that can effectively improve performance by controlling the order of data transfer requests.
本発明の観点に従ったデータ記憶装置は、ホストシステムとの間でコマンド及びデータの転送を行なうためのインターフェース手段と、前記インターフェース手段を介してコマンド処理に伴うデータ転送要求を実行するときに、前記コマンド処理の優先条件に基づいて前記データ転送要求の順序を並び替える制御手段とを備えた構成である。 A data storage device according to an aspect of the present invention includes an interface unit for transferring commands and data to and from a host system, and when executing a data transfer request accompanying command processing via the interface unit, And a control unit that rearranges the order of the data transfer requests based on the priority condition of the command processing.
本発明によれば、データ転送要求の順序を制御することにより、データ記憶装置のパフォーマンスを効果的に向上することが可能となる。 According to the present invention, it is possible to effectively improve the performance of the data storage device by controlling the order of data transfer requests.
以下図面を参照して、本発明の実施形態を説明する。 Embodiments of the present invention will be described below with reference to the drawings.
[ディスクドライブの構成]
図1は、本実施形態に関するデータ記憶装置として、ディスクドライブ10の要部を示すブロック図である。
[Disk Drive Configuration]
FIG. 1 is a block diagram showing a main part of a
ディスクドライブ10は、図1に示すように、ハードディスクコントローラ(HDC、以下単にディスクコントローラと表記する)11と、メモリ12と、マイクロプロセッサ(CPU)13と、ヘッド・ディスクアセンブリ(HDA)14とを有する。
As shown in FIG. 1, the
HDA14はデータ記録媒体であるディスク140を含み、当該ディスク140上にデータを磁気的に記録し、かつディスク140上からデータを再生する。HDA14は、ディスク140及びヘッドを駆動するための機構や、ヘッドアンプ及びリード/ライトチャネルなどの回路群を含む。ディスク140上のデータ面は、多数のトラック(シリンダ)が構成されて、各トラックが複数のセクタ(リード/ライト動作のアクセス単位)と呼ばれるデータ記録領域に分割されている。各セクタは、論理ブロックアドレス(LBA)が割り当てられている。ホストシステム20からLBA(n)により、ライトアクセス又はリードアクセスの対象セクタが指定される。
The
ディスクコントローラ11は、シリアルATA(SATA)インターフェース規格のSATAバス100を介してホストシステム20と接続し、NCQ(native command queuing)仕様のコマンド及びデータ(リードデータまたはライトデータ)の転送制御を実行するためのホストインターフェースモジュールを有する。また、ディスクコントローラ11は、HDA14のリード/ライトチャネル間でリードデータ又はライトデータの転送を制御するディスクインターフェースモジュールを有する。
The
メモリ12は、NCQ仕様のコマンドバッファ120及びデータバッファ121を含む。コマンドバッファ120は、ホストシステム20から連続的に転送される複数のコマンドをキュー(queuing)する待ち行列バッファである。データバッファ121は、ホストシステム20から転送されるライトデータを格納するライトバッファ領域及びホストシステム20へ転送するためのリードデータを格納するリードバッファ領域を含む。
The
CPU13は、ドライブ10のメイン制御装置であり、HDA14の制御及びコマンド処理を実行する。HDA14の制御には、ディスク140に対するリード動作及びライト動作の制御、及びヘッドのサーボ制御が含まれる。さらに、CPU13は、後述するように、ホストシステム20との間でコマンドの実行に伴うデータ転送要求(DMA setup FIS要求)の処理を実行する。
The
[データ転送制御]
以下、図2を参照して、本実施形態のディスクドライブ10でのデータ転送制御の概略を説明する。
[Data transfer control]
The outline of data transfer control in the
ディスクコントローラ11は、SATAバス100を介してホストシステム20から転送されたコマンド(リード/ライトコマンド)を連続的に受信する(ブロック200)。ディスクコントローラ11は、受信したコマンドをコマンドバッファ120に順次格納(キュー)する(ブロック201)。
The
ここで、CPU13は、NCQ仕様によるコマンド処理を実行する。即ち、CPU13は、コマンドバッファ120にキューされた複数のコマンドの実行順序を設定して、任意のタイミングで実行する。具体的には、CPU13は、コマンドバッファ120にキューされた複数のコマンドをメモリ12に確保されているリオーダリング(reordering)テーブルに登録し、高速に処理できる順序でコマンドを開始する。
Here, the
CPU13は、コマンドの実行に伴うデータ転送要求(DMA setup FIS要求)を、SATAバス100を介してホストシステム20に対して実行する(ブロック202)。このとき、データ転送要求(DMA setup FIS要求)は、メモリ12に確保されているデータ転送要求テーブル(待ち行列バッファ)に登録されている。
The
ホストシステム20は、データ転送要求に応じて、ライトコマンドの場合にはライトデータをHDC11に転送し、またリードコマンドの場合にはHDC11から転送されたリードデータを受信する(ブロック203)。このような一連の動作が、コマンドバッファ120に格納された複数のコマンドの実行が全て完了するまで繰り返される(ブロック204)。
In response to the data transfer request, the
さらに、図3から図7、図8のタイミングチャート、及び図9のフローチャートを参照して、本実施形態のデータ転送制御を具体的に説明する。 Further, the data transfer control of the present embodiment will be specifically described with reference to the timing charts of FIGS. 3 to 7 and 8 and the flowchart of FIG.
図8に示すように、ホストシステム20は、ドライブ10に対して、データ転送要求(DMA setup FIS要求)順序の優先条件を通知する(800)。ここでは、ホストシステム20は、優先条件として、例えばリードコマンド処理に伴うリードデータ転送の優先を通知する。ディスクコントローラ11は、ホストシステム20に対して了承応答を通知する(801)。次に、ホストシステム20は、NCQ仕様のリード/ライトコマンド群を一度に発行する(802)。
As shown in FIG. 8, the
ここで、図9のフローチャートを参照して、ディスクドライブ10の処理を説明する。
Here, the processing of the
ディスクコントローラ11は、図3に示すように、ホストシステム20から転送されたコマンド群をコマンドバッファ120にキューする。NCQ仕様では、32個までのコマンドの同時制御が可能であり、ホストシステム20から発行される各コマンドには0〜31までのタグ番号(Tag No.)が付加されている。
As shown in FIG. 3, the
図3に示すテーブルにおいて、「LBA」はアクセス対象のセクタを指定する論理ブロックアドレスである。「Block」は、転送するデータのブロック数である。「Command」はコマンドの種別を示す。ここでは、リードコマンド(Read)とライトコマンド(Write)の2種類とする。 In the table shown in FIG. 3, “LBA” is a logical block address that designates a sector to be accessed. “Block” is the number of blocks of data to be transferred. “Command” indicates the type of command. Here, there are two types, a read command (Read) and a write command (Write).
CPU13は、図9に示すように、コマンドバッファ120にキューされたコマンドを順次実行する(ブロック900のYES)。このとき、CPU13は、ライトコマンドの場合には、データバッファ121のライトバッファ領域が空き状態であれば、ライトデータの転送要求(DMA setup FIS要求)をデータ転送要求テーブルにキューし、コマンドをリオーダリングテーブルに登録する(ブロック901のYES,902のYES,903,904)。
As shown in FIG. 9, the
本実施形態では、リードデータの転送要求(DMA setup FIS要求)のデータ転送要求テーブルへのキューは、ディスク140に対するリード動作により転送すべきリードデータがデータバッファ121のリードバッファ領域に準備された時点で行うことを想定している。この場合、CPU13は、リードコマンドの場合には、コマンドのリオーダリングテーブルへの登録のみを行う(ブロック901のNO,904)。
In the present embodiment, the queue of the read data transfer request (DMA setup FIS request) in the data transfer request table is stored when read data to be transferred by the read operation to the
本実施形態では、データ転送要求テーブルのキューに2以上の要求がセットされている場合に、CPU13は、以下のように、データ転送要求テーブルの要求順序の並び替え処理を実行する(ブロック905のYES,906)。
In the present embodiment, when two or more requests are set in the queue of the data transfer request table, the
本実施形態では、前述したように、ホストシステム20は、優先条件としてリードデータ転送の優先を通知することを想定している。この場合、転送すべきリードデータがデータバッファ121のリードバッファ領域に準備されていない場合、CPU13は、図4に示すように、データ転送要求テーブルには、ライトコマンド(図3の300,302)に伴うデータ転送要求のみを登録する。
In the present embodiment, as described above, it is assumed that the
図8に示すように、ディスクコントローラ11は、図4に示すデータ転送要求テーブルの要求順位1位のライトコマンド(300)の実行に伴うライトデータの転送要求(DMA setup FIS要求)をホストシステム20に対して実行する(803)。ホストシステム20は、当該データ転送要求に応じてライトコマンド(300)の処理に必要なライトデータをディスクドライブ10に転送する(804)。このとき、ホストシステム20からディスクコントローラ11までのライトデータの転送が完了するまでに、例えば20msの経過時間を要したとする。
As shown in FIG. 8, the
この要求順位1位のライトデータの転送中に、図3に示すリードコマンド(301,303)の処理に伴うリードデータがデータバッファ121のリードバッファ領域に準備完了したとする。CPU13は、図5に示すように、データ転送要求テーブルには、リードコマンド(301,303)のデータ転送要求を登録する。ライトデータの転送終了後、データ転送要求テーブルは、図6に示すような状態となる。
Assume that the read data associated with the read command (301, 303) shown in FIG. 3 is ready in the read buffer area of the data buffer 121 during the transfer of the write data having the highest request order. As shown in FIG. 5, the
CPU13は、ホストシステム20からのリードデータ転送の優先に基づいて、図6に示すデータ転送要求テーブルの要求順位を、図7に示すように並べ替え処理を実行する(ブロック906を参照)。次に、ディスクコントローラ11は、図7に示すデータ転送要求テーブルの要求順位の1位に従って、リードコマンド(301)の実行に伴うリードデータの転送要求(DMA setup FIS要求)をホストシステム20に対して実行する(805)。ディスクコントローラ11は、当該データ転送要求に応じてリードコマンド(301)の処理に伴うリードデータをホストシステム20に転送する(806)。
Based on the priority of the read data transfer from the
さらに、図7に示すデータ転送要求テーブルの要求順位の2位に従って、ディスクコントローラ11は、リードコマンド(303)の実行に伴うリードデータの転送要求(DMA setup FIS要求)をホストシステム20に対して実行する(807)。ディスクコントローラ11は、当該データ転送要求に応じてリードコマンド(303)の処理に伴うリードデータをホストシステム20に転送する(808)。
Further, in accordance with the second rank of the request order of the data transfer request table shown in FIG. 7, the
ホストシステム20からの優先条件であるリードデータ転送が完了すると、データ転送要求テーブルの要求順位の3位に従って、ディスクコントローラ11は、ライトコマンド(302)の実行に伴うライトデータの転送要求(DMA setup FIS要求)をホストシステム20に対して実行する(809)。ホストシステム20は、当該データ転送要求に応じてライトコマンド(302)の処理に必要なライトデータをディスクドライブ10に転送する(810)。
When the read data transfer, which is a priority condition from the
以上のようにして、ホストシステム20から通知される優先条件として、リードコマンド処理に伴うリードデータ転送を優先する条件に基づいて、ディスクドライブ10は、リードコマンド処理に伴うリードデータ転送を優先するように、データ転送要求テーブルのデータ転送要求の順序を並べ替える処理を実行する。但し、リードデータ転送の準備が完了していない場合には、ライトコマンドの処理に伴うライトデータ転送要求を先行して実行し、準備完了後にデータ転送要求の順序を並べ替える処理を実行する。
As described above, the
このようなデータ転送制御方法により、ホストシステム20からの要求に応じてデータ転送要求の順序を制御することで、ディスクドライブ10のコマンド処理の効率を向上し、結果としてドライブ10側のパフォーマンスを向上させることが可能となる。
By controlling the order of data transfer requests in accordance with requests from the
[他の実施形態]
図10から図14は、他の実施形態に関するデータ転送制御方法を説明するための図である。
[Other Embodiments]
10 to 14 are diagrams for explaining a data transfer control method according to another embodiment.
図10は、ホストシステム20から転送されたコマンド群の一例で、リオーダリング(reordering)テーブルに登録した状態を示す図である。図11は、当該コマンド群の処理に伴うデータ転送要求(DMA setup FIS要求)を登録したデータ転送用要求テーブルを示す図である。即ち、CPU13は、図10に示すテーブルのタグ番号0のリードコマンドの処理を開始すると共に、データバッファ121のライトバッファ領域が十分空いているという条件で、例えばタグ番号1、2、4〜6のライトコマンドに伴うDMA setup FIS要求をキューに登録する。
FIG. 10 is a diagram showing an example of a command group transferred from the
図12(A)〜(E)はそれぞれ、ホストシステム20からの要求または予め設定されるコマンド処理の優先条件に基づいて、データ転送要求テーブルの要求順序の並べ替え処理を実行した結果を示す図である。
FIGS. 12A to 12E are diagrams each showing a result of executing a request order rearrangement process in the data transfer request table based on a request from the
まず、前述と同様にリードデータ転送を優先する条件では、CPU13は、図12(A)に示すように、データ転送用要求テーブルの並べ替え処理を実行する。ここでは、リードデータ転送の準備ができていないため、データ転送用要求テーブルにはライトコマンドに伴うライトデータ転送要求のみしか登録されていない。なお、ホストシステム20は、リードコマンドをライトコマンドよりも優先して処理すると、次のコマンド処理を早く決定できるためパフォーマンスが向上する。
First, as described above, under the condition that priority is given to read data transfer, the
次に、転送ブロック数の小さいコマンドを優先する条件では、CPU13は、図12(B)に示すように、データ転送用要求テーブルの並べ替え処理を実行する。この場合、ディスクドライブ10では、単位時間当たりに処理できるコマンド数が増大する。このため、ホストシステム20は、多数のコマンドを新規に発行できることになる。
Next, under the condition that priority is given to a command having a small number of transfer blocks, the
逆に、転送ブロック数の大きいコマンドを優先する条件では、CPU13は、図12(C)に示すように、データ転送用要求テーブルの並べ替え処理を実行する。ライトコマンド処理では、ホストシステム20からのライトデータ転送が完了すると、ディスクドライブ10はライトバッファ領域のライトデータをディスク1401上に書き込む。このとき、転送ブロック数の大きい分だけ、ライトバッファ領域を空けることができる。
On the other hand, under the condition that priority is given to a command having a large number of transfer blocks, the
さらに、シーケンシャルのコマンドを優先する条件では、CPU13は、図12(D)に示すように、データ転送用要求テーブルの並べ替え処理を実行する。この場合、ホストシステム20上のあるプロセスが要求したシーケンシャルのディスクアクセス要求が、ディスクドライブ10へのコマンド発行以前に分断されていたような場合、ホストシステム20は次のコマンド処理を早く決定できる。
Further, under the condition that priority is given to the sequential command, the
さらに、ホストシステム20からのコマンド発行からの時間経過が長いコマンドを優先する条件では、CPU13は、図12(E)に示すように、データ転送用要求テーブルの並べ替え処理を実行する。但し、ここでは、データ転送用要求テーブルの状態は、図12(A)に示す状態と同じになる。この場合、ホストシステム20側でのタイムアウトを防止し、全体のパフォーマンスの低下を回避することが可能となる。
Further, under the condition that priority is given to a command having a long time elapsed since the command issuance from the
図13は、データ転送要求が処理された後に、例えば2つのリードコマンド(タグ番号3,7)が登録されたデータ転送要求テーブルを示す図である。このような状態において、図14(A)〜(E)を参照して、データ転送要求テーブルの要求順序の並べ替え処理の具体例を説明する。
FIG. 13 is a diagram showing a data transfer request table in which, for example, two read commands (
リードデータ転送を優先する条件では、CPU13は、図14(A)に示すように、データ転送用要求テーブルの並べ替え処理を実行する。即ち、データ転送用要求テーブルは、2つのリードコマンド(タグ番号3,7)のデータ転送用要求順序が1位と2位になるように並べ替え処理される。前述と同様に、転送ブロック数の小さいコマンドを優先する条件では、CPU13は、図14(B)に示すように、データ転送用要求テーブルの並べ替え処理を実行する。逆に、転送ブロック数の大きいコマンドを優先する条件では、CPU13は、図14(C)に示すように、データ転送用要求テーブルの並べ替え処理を実行する。さらに、シーケンシャルのコマンドを優先する条件では、CPU13は、図14(D)に示すように、データ転送用要求テーブルの並べ替え処理を実行する。さらに、ホストシステム20からのコマンド発行からの時間経過が長いコマンドを優先する条件では、CPU13は、図14(E)に示すように、データ転送用要求テーブルの並べ替え処理を実行する。なお、このようなデータ転送用要求テーブルの並べ替え処理においても、前述と同様の効果を得ることができる。
Under the condition that priority is given to the read data transfer, the
[SSDの構成]
本実施形態では、データ記憶装置としてディスクドライブ10を適用する場合について説明したが、これに限ることなく、図15に示すようなソリッドステートドライブ(SSD:solid state drive)30にも適用できる。
[Configuration of SSD]
In this embodiment, the case where the
SSD30は、データ記録媒体としてフラッシュメモリ32を使用するデータ記憶装置であり、ホストシステム20とSATAバス100を介して接続するコントローラ31を含む。コントローラ31は、図1に示すディスクドライブ10のディスクコントローラ11及びCPU13に相当する機能を有し、本実施形態に関するNCQ仕様のコマンド処理及びデータ転送要求順序の並べ替え処理などを実行する。
The
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。 Note that the present invention is not limited to the above-described embodiment as it is, and can be embodied by modifying the constituent elements without departing from the scope of the invention in the implementation stage. In addition, various inventions can be formed by appropriately combining a plurality of constituent elements disclosed in the embodiment. For example, some components may be deleted from all the components shown in the embodiment. Furthermore, constituent elements over different embodiments may be appropriately combined.
10…ディスクドライブ、11…ハードディスクコントローラ(HDC)、
12…メモリ、13…マイクロプロセッサ(CPU)、
14…ヘッド・ディスクアセンブリ(HDA)、20…ホストシステム、
30…ソリッドステートドライブ(SSD)、31…コントローラ、
32…フラッシュメモリ、100…シリアルATAバス、
120…コマンドバッファ、121…データバッファ、140…ディスク。
10 ... disk drive, 11 ... hard disk controller (HDC),
12 ... Memory, 13 ... Microprocessor (CPU),
14 ... head disk assembly (HDA), 20 ... host system,
30 ... Solid state drive (SSD), 31 ... Controller,
32 ... Flash memory, 100 ... Serial ATA bus,
120: command buffer, 121: data buffer, 140: disk.
Claims (11)
前記インターフェース手段を介してコマンドの処理に伴うデータ転送要求を実行するときに、前記コマンド処理の優先条件に基づいて前記データ転送要求の順序を並び替える制御手段と
を具備したことを特徴とするデータ記憶装置。 Interface means for transferring commands and data to and from the host system;
Control means for rearranging the order of the data transfer requests based on a priority condition of the command processing when a data transfer request associated with command processing is executed via the interface means; Storage device.
前記インターフェース手段を介して前記ホストシステムから通知された前記優先条件に基づいて、前記データ転送要求の順序を並び替えることを特徴とする請求項1から請求項6のいずれか1項に記載のデータ記憶装置。 The control means includes
The data according to any one of claims 1 to 6, wherein the order of the data transfer requests is rearranged based on the priority condition notified from the host system via the interface unit. Storage device.
前記コマンドの実行準備の完了に応じてデータ転送要求をキューし、前記優先条件に基づいて前記データ転送要求の待ち行列順序を変更することを特徴とする請求項1から請求項7のいずれか1項に記載のデータ記憶装置。 The control means includes
8. The data transfer request is queued according to completion of execution preparation of the command, and the queue order of the data transfer request is changed based on the priority condition. A data storage device according to item.
前記シリアルインターフェース手段を介してコマンド処理に伴うデータ転送要求を実行するときに、前記コマンド処理の優先条件に基づいて前記データ転送要求の順序を並び替える制御手段と
を具備したことを特徴とするデータ転送制御装置。 Serial interface means included in the data storage device for transferring commands and data to and from the host system;
Control means for rearranging the order of the data transfer requests based on a priority condition of the command processing when a data transfer request associated with command processing is executed via the serial interface means; Transfer control device.
前記シリアルインターフェースを介して、前記ホストシステムから転送されたコマンドを受信する処理と、
コマンド処理に伴うデータ転送要求を実行するときに、前記コマンド処理の優先条件に基づいて前記データ転送要求の順序を並び替える処理と
を有することを特徴とするデータ転送制御方法。 A data transfer control method for controlling command and data transfer through a serial interface connecting a data storage device and a host system,
A process of receiving a command transferred from the host system via the serial interface;
And a process for rearranging the order of the data transfer requests based on a priority condition of the command processing when executing a data transfer request associated with the command processing.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009135257A JP2010282422A (en) | 2009-06-04 | 2009-06-04 | Data storage device and data transfer control method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009135257A JP2010282422A (en) | 2009-06-04 | 2009-06-04 | Data storage device and data transfer control method |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2010282422A true JP2010282422A (en) | 2010-12-16 |
Family
ID=43539093
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009135257A Pending JP2010282422A (en) | 2009-06-04 | 2009-06-04 | Data storage device and data transfer control method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2010282422A (en) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014532237A (en) * | 2011-10-06 | 2014-12-04 | マーベル ワールド トレード リミテッド | Method and apparatus for efficiently increasing command queue length for accessing storage |
JP2014230174A (en) * | 2013-05-23 | 2014-12-08 | 富士通株式会社 | Integrated circuit, control apparatus, control method and control program |
US8977833B2 (en) | 2011-04-28 | 2015-03-10 | Kabushiki Kaisha Toshiba | Memory system |
US8996782B2 (en) | 2012-03-23 | 2015-03-31 | Kabushiki Kaisha Toshiba | Memory system and bank interleaving method |
KR20160122631A (en) * | 2015-04-14 | 2016-10-24 | 삼성전자주식회사 | Memory systems having improved out-of-order execution of commands and methods for operating the same |
US10761772B2 (en) | 2014-12-19 | 2020-09-01 | Toshiba Memory Corporation | Memory system including a plurality of chips and a selectively-connecting bus |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006139548A (en) * | 2004-11-12 | 2006-06-01 | Hitachi Global Storage Technologies Netherlands Bv | Media drive and command execution method thereof |
JP2006285809A (en) * | 2005-04-04 | 2006-10-19 | Hitachi Ltd | Storage device performing performance guarantee for streaming |
JP2008003719A (en) * | 2006-06-20 | 2008-01-10 | Hitachi Ltd | Storage system and memory control method achieving consistency between power saving and performance |
-
2009
- 2009-06-04 JP JP2009135257A patent/JP2010282422A/en active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006139548A (en) * | 2004-11-12 | 2006-06-01 | Hitachi Global Storage Technologies Netherlands Bv | Media drive and command execution method thereof |
JP2006285809A (en) * | 2005-04-04 | 2006-10-19 | Hitachi Ltd | Storage device performing performance guarantee for streaming |
JP2008003719A (en) * | 2006-06-20 | 2008-01-10 | Hitachi Ltd | Storage system and memory control method achieving consistency between power saving and performance |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8977833B2 (en) | 2011-04-28 | 2015-03-10 | Kabushiki Kaisha Toshiba | Memory system |
JP2014532237A (en) * | 2011-10-06 | 2014-12-04 | マーベル ワールド トレード リミテッド | Method and apparatus for efficiently increasing command queue length for accessing storage |
US8996782B2 (en) | 2012-03-23 | 2015-03-31 | Kabushiki Kaisha Toshiba | Memory system and bank interleaving method |
US9304691B2 (en) | 2012-03-23 | 2016-04-05 | Kabushiki Kaisha Toshiba | Memory system and bank interleaving method |
JP2014230174A (en) * | 2013-05-23 | 2014-12-08 | 富士通株式会社 | Integrated circuit, control apparatus, control method and control program |
US10761772B2 (en) | 2014-12-19 | 2020-09-01 | Toshiba Memory Corporation | Memory system including a plurality of chips and a selectively-connecting bus |
KR20160122631A (en) * | 2015-04-14 | 2016-10-24 | 삼성전자주식회사 | Memory systems having improved out-of-order execution of commands and methods for operating the same |
US9477408B1 (en) | 2015-04-14 | 2016-10-25 | Samsung Electronics Co., Ltd. | Memory systems having improved out-of-order execution of commands and methods for operating the same |
KR102491067B1 (en) | 2015-04-14 | 2023-01-25 | 삼성전자주식회사 | Memory systems having improved out-of-order execution of commands and methods for operating the same |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8370857B2 (en) | Device controller | |
US7320050B2 (en) | Data transmission control method and storage device | |
US7373460B2 (en) | Media drive and command execution method thereof | |
US8151014B2 (en) | RAID performance using command descriptor block pointer forwarding technique | |
RU2642349C1 (en) | Method for storing data using data storage device and data storage device | |
US9043541B2 (en) | Storage control device, storage device, and control method for controlling storage control device | |
US8341374B2 (en) | Solid state drive and related method of scheduling operations | |
JP4788528B2 (en) | Disk control device, disk control method, and disk control program | |
US20100079904A1 (en) | Storage control method, storage control unit and storage apparatus | |
JP2010282422A (en) | Data storage device and data transfer control method | |
US20150149741A1 (en) | Storage System and Control Method Thereof | |
JP2009163647A (en) | Disk array device | |
US8327041B2 (en) | Storage device and data transfer method for the same | |
KR20120097862A (en) | Data storage system and data mapping method thereof | |
KR20140032789A (en) | Controller of nonvolatile memory device and command scheduling method thereof | |
US8769195B2 (en) | Storage apparatus and storage apparatus control method | |
US6567886B1 (en) | Disk drive apparatus and control method thereof | |
JP2007501473A (en) | Method and apparatus for transferring data between main memory and storage device | |
JP5030387B2 (en) | Data storage device | |
KR101135313B1 (en) | Nand flash memory apparatus and method for scheduling requested operations | |
JP2007249728A (en) | Disk array device | |
TW201342193A (en) | High-performance AHCI | |
TWI714116B (en) | Memory controller, memory controlling method, and computer system | |
JP2007011659A (en) | Interface device, disk drive, and interface control method | |
JP2012038330A (en) | Hard disk drive |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A02 | Decision of refusal |
Effective date: 20101214 Free format text: JAPANESE INTERMEDIATE CODE: A02 |