JP2006251844A - Data storage device, and its write cache control method - Google Patents

Data storage device, and its write cache control method Download PDF

Info

Publication number
JP2006251844A
JP2006251844A JP2005063282A JP2005063282A JP2006251844A JP 2006251844 A JP2006251844 A JP 2006251844A JP 2005063282 A JP2005063282 A JP 2005063282A JP 2005063282 A JP2005063282 A JP 2005063282A JP 2006251844 A JP2006251844 A JP 2006251844A
Authority
JP
Japan
Prior art keywords
write
command
media
execution order
data
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.)
Granted
Application number
JP2005063282A
Other languages
Japanese (ja)
Other versions
JP5030387B2 (en
Inventor
Hideji Yamada
秀二 山田
Yuji Yokoe
祐司 横江
Takahiro Saito
高裕 齋藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
HGST Netherlands BV
Original Assignee
Hitachi Global Storage Technologies Netherlands BV
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hitachi Global Storage Technologies Netherlands BV filed Critical Hitachi Global Storage Technologies Netherlands BV
Priority to JP2005063282A priority Critical patent/JP5030387B2/en
Publication of JP2006251844A publication Critical patent/JP2006251844A/en
Application granted granted Critical
Publication of JP5030387B2 publication Critical patent/JP5030387B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To effectively determine the execution sequence of commands for transmitting a command completion notice after the completion of writing to a medium. <P>SOLUTION: When an FUA (Forced Unit Access) command is received in a state where a plurality of write commands WR1-WR5 are cached, an HDD 1 concerning one embodiment of the present invention determines the execution sequence where the FUA command is given a priority to the other commands. The command completion notice is transmitted after the completion of writing to a magnetic disk concerning the FUA command, so that a host latency period is shortened by the method. <P>COPYRIGHT: (C)2006,JPO&NCIPI

Description

本発明はデータ記憶装置及びライト・キャッシュ制御に関し、特に、データ記憶装置のライト・キャッシュに登録されているライト・コマンドの実行順序制御に関する。   The present invention relates to a data storage device and write cache control, and more particularly to execution order control of write commands registered in a write cache of a data storage device.

データ記憶装置として、光ディスクや磁気テープあるいは半導体メモリなどの様々な態様のメディアを使用する装置が知られている。その中で、ハードディスク・ドライブ(以下、HDD)は、コンピュータの記憶装置として広く普及し、現在のコンピュータ・システムにおいて欠かすことができない記憶装置の一つとなっている。さらに、コンピュータにとどまらず、動画像記録再生装置、カーナビゲーション・システム、あるいはデジタル・カメラなどで使用されるリムーバブルメモリなど、HDDの用途はその優れた特性により益々拡大している。   As data storage devices, devices using various types of media such as optical disks, magnetic tapes, and semiconductor memories are known. Among them, hard disk drives (hereinafter referred to as HDDs) are widely used as computer storage devices, and are one of the storage devices indispensable in current computer systems. In addition to the computer, the use of the HDD such as a removable memory used in a moving image recording / reproducing apparatus, a car navigation system, a digital camera, and the like is expanding due to its excellent characteristics.

HDDで使用される磁気ディスクは、同心円状に形成された複数のトラックを有しており、各トラックは複数のセクタ(サーボ・セクタ)に区分されている。各サーボ・セクタにはサーボ・データと、ユーザ・データが記録される。サーボ・セクタ内には複数セクタ(データ・セクタ)のユーザ・データが記録されている。ヘッド素子部がサーボ・データに従って移動することによって、所望アドレスへのデータ書き込みあるいは所望アドレスからのデータ読み出しを行うことができる。データ読み出し処理において、ヘッド素子部が磁気ディスクから読み出した信号は信号処理回路によって波形整形や復号処理などの所定の信号処理が施され、ホストに転送される。ホストからの転送データは、信号処理回路によって同様に所定処理された後に、ヘッド素子部によって磁気ディスクに書き込まれる。   A magnetic disk used in an HDD has a plurality of tracks formed concentrically, and each track is divided into a plurality of sectors (servo sectors). Servo data and user data are recorded in each servo sector. In the servo sector, user data of a plurality of sectors (data sectors) is recorded. When the head element unit moves according to the servo data, data can be written to or read from the desired address. In the data reading process, a signal read from the magnetic disk by the head element unit is subjected to predetermined signal processing such as waveform shaping and decoding processing by a signal processing circuit and transferred to the host. Transfer data from the host is similarly processed by the signal processing circuit and then written to the magnetic disk by the head element unit.

HDDのパフォーマンス向上手法の1つとして、ライト・キャッシュが知られている。この手法において、HDDは、ホストからのライト・コマンドをキャッシュし、また、そのライト・データをライト・バッファに記憶する。ライト・バッファへのライト・データの格納が完了した段階で、ホストにコマンドの完了通知を送信する。HDDは、ホストとの間の通信と並行して、ライト・バッファに格納してあるライト・データを磁気ディスクに書き出していく。ホストは、HDDからコマンドの完了通知を受信すると、次のコマンドをHDDに発行することができる。   Write cache is known as one of methods for improving the performance of HDDs. In this method, the HDD caches the write command from the host and stores the write data in the write buffer. When storage of write data in the write buffer is completed, a command completion notification is sent to the host. In parallel with communication with the host, the HDD writes the write data stored in the write buffer to the magnetic disk. Upon receiving the command completion notification from the HDD, the host can issue the next command to the HDD.

一方、HDD内の処理を効率化し、最短時間で全てのライト・データを磁気ディスクに書き込めるよう、RPO(Rotational Positioning Optimization)等のアルゴリズムを使用して、ライト・データのディスク書き込み順序を最適化する技術が知られている(例えば、特許文献1を参照)。RPOは、例えば、実行待ちのコマンドを実行したときに、磁気ディスク上のターゲット・トラックへのシークを開始してから到達するまでのシーク時間と、到達後にターゲット・セクタにアクセスを開始するまでのディスク回転待ち時間とを予想する。シーク時間および回転待ち時間の合計が最短となる実行待ちコマンドを、次に実行するコマンドとして選択する。   On the other hand, the write order of write data to the disk is optimized by using an algorithm such as RPO (Rotational Positioning Optimization) so that the processing in the HDD is made efficient and all the write data can be written to the magnetic disk in the shortest time. A technique is known (see, for example, Patent Document 1). The RPO, for example, when a command waiting for execution is executed, seek time from the start of seeking to the target track on the magnetic disk to reach it, and after reaching the target sector until the start of access to the target sector Expect disk rotation latency. The execution waiting command that minimizes the sum of the seek time and the rotation waiting time is selected as the next command to be executed.

特開2003−122631号公報JP 2003-122631 A

ホストとHDDとの間のインターフェース仕様として、SCSIやATA規格が知られているが、次期規格であるATA standard 7において、新たにFUA(Forced Unit Access)シリーズのコマンドがサポートされる。ホストからFUAコマンドを取得したHDDは、ライト・キャッシュがONの状態にあっても、そのライト・データを磁気ディスクに書き込んだ後に、ホストに対してコマンド完了通知を送らなければならない。   SCSI and ATA standards are known as interface specifications between the host and the HDD, but FUA (Forced Unit Access) series commands are newly supported in the next standard, ATA standard 7. The HDD that has acquired the FUA command from the host must send a command completion notification to the host after writing the write data to the magnetic disk even if the write cache is in the ON state.

ライト・キャッシュがONの場合、キャッシュされたライト・データは、電源ダウンなどなんらかの理由によって磁気ディスクに書き込まれない場合が考えられる。ホストは、FUAコマンドを発行することによって、ライト・データが磁気ディスクに確実に書き込まれたことを確認することができるので、クリティカルなデータが磁気ディスクに書き込まれずに消失することを防止することができる。   When the write cache is ON, the cached write data may not be written to the magnetic disk for some reason such as power down. By issuing the FUA command, the host can confirm that the write data has been reliably written to the magnetic disk, thus preventing the critical data from being lost without being written to the magnetic disk. it can.

一方、重要度の低いデータについては、ホストは通常のコマンド(非FUAコマンド)を発行してライトを指示する。これによってライト・キャッシュ機能を利用し、ホストとHDDのパフォーマンスの向上を図ることができる。このように、FUAコマンドは、データ書き込みの安全性とパフォーマンスの両立を図る技術であるといえる。   On the other hand, for less important data, the host issues a normal command (non-FUA command) to instruct writing. This makes it possible to improve the performance of the host and HDD by using the write cache function. Thus, it can be said that the FUA command is a technique for achieving both safety of data writing and performance.

しかしながら、ライト・キャッシュがONである場合、FUAコマンドを取得したタイミングにおいて、HDDがすでに複数のライト・コマンドをキャッシュしているケースが頻繁に起こる。例えば、既に5つのライト・コマンドがキャッシュされているとすると、新たに取得されたFUAコマンドは、その5つのライト・コマンドの終了を待って実行されることも考えられる。HDDは、FUAコマンドの完了通知を、対応データが磁気ディスクに書き込まれるまでホストに送信しない。このため、ホストは、次のコマンド発行のために、FUAコマンド完了の他に、5つの他のライト・コマンドの実行完了を待たなければならない。   However, when the write cache is ON, there are frequent cases where the HDD already caches a plurality of write commands at the timing when the FUA command is acquired. For example, if five write commands are already cached, a newly acquired FUA command may be executed after the completion of the five write commands. The HDD does not send a notification of completion of the FUA command to the host until the corresponding data is written to the magnetic disk. Therefore, the host must wait for completion of execution of five other write commands in addition to completion of the FUA command in order to issue the next command.

従って、FUAコマンドを含むライト・コマンドの実行順序を決定する新たな手法が必要とされる。また、FUAコマンドの実行順序決定において、ホストの待ち時間減少の観点の他に、HDDのスループット等を考慮することも重要な点の一つである。   Therefore, a new method for determining the execution order of write commands including FUA commands is required. In addition, in determining the execution order of FUA commands, it is also important to consider HDD throughput in addition to reducing the waiting time of the host.

本発明は上述のような事情を背景としてなされたものであって、データ記憶装置におけるライト・コマンド実行順序の決定手法を改善し、データの安全性とホストとデータ記憶装置のデータ処理効率の向上を図ることを目的とする。   The present invention has been made in the background as described above, and improves the write command execution order determination method in the data storage device, and improves the safety of data and the data processing efficiency of the host and the data storage device. It aims to plan.

本発明の第1の態様に係るデータ記憶装置は、メディアに書き込むべきライト・データを一時的に記憶するライト・バッファと、前記メディアに書き込むべきライト・データのそれぞれと対応するライト・コマンドに関する情報を登録するテーブルと、前記テーブルに登録されているライト・コマンドの実行順序を決定するキャッシュ・マネージャと、を備え、前記キャッシュ・マネージャは、前記メディアへの書き込み完了後にコマンド完了通知をホストへ送信するメディア書き込み強制コマンドを取得した場合、非メディア書き込み強制コマンドを取得した場合よりも高い優先度においてその実行順序を決定するものである。メディア書き込み強制コマンドを取得した場合に、非メディア書き込み強制コマンドを取得した場合よりも高い優先度においてその実行順序を決定するので、ホストへコマンド完了通知の送信タイミングを早めることができ、ホストの処理効率を向上することができる。   The data storage device according to the first aspect of the present invention includes a write buffer for temporarily storing write data to be written to a medium, and information relating to a write command corresponding to each of the write data to be written to the medium. And a cache manager that determines the execution order of the write commands registered in the table, and the cache manager sends a command completion notification to the host after writing to the medium is completed. When the media write forced command is acquired, the execution order is determined at a higher priority than when the non-media write forced command is acquired. When the media write forced command is acquired, the execution order is determined at a higher priority than when the non-media write forced command is acquired, so the transmission timing of the command completion notification to the host can be advanced, and host processing Efficiency can be improved.

本発明の第2の態様は、上記第1の態様において、前記キャッシュ・マネージャは、キャッシュされており、前記メディア書き込み強制コマンドの後に実行されるライト・コマンドについて、リオーダリングを再実行する。これによって、メディア書き込み強制コマンド後のコマンド実行を効率化することができる。   According to a second aspect of the present invention, in the first aspect, the cache manager is cached and re-executes reordering for a write command executed after the media write forcing command. As a result, command execution after the media write forced command can be made more efficient.

本発明の第3の態様は、上記第1の態様において、前記キャッシュ・マネージャは、ホストからメディア書き込み強制コマンドを取得した場合、そのメディア書き込み強制コマンド、もしくは、そのメディア書き込み強制コマンドを含み互いに関連づけられた一連のライト・コマンドを、最初の実行順序に設定する。最初の実行順序とすることによって、メディア書き込み強制コマンドの完了通知を早く返すことができる。   According to a third aspect of the present invention, in the first aspect, when the cache manager acquires a media write forced command from the host, the cache manager includes the media write forced command or the media write forced command and associates the media write forced command with each other. Set the specified write command to the first execution order. By using the first execution order, the completion notification of the media write forced command can be returned quickly.

本発明の第4の態様は、上記第3の態様において、前記互いに関連付けられた一連のライト・コマンドは、そのアドレスが予め定められた範囲にあり、対応するライト・データが1回の書き込み処理で前記メディアへ書き込まれる。これによって、メディアへのデータ書き込みを効率的に実施することができる。   According to a fourth aspect of the present invention, in the third aspect, the series of write commands associated with each other has an address within a predetermined range, and the corresponding write data is written once. Is written on the medium. As a result, data can be efficiently written to the medium.

本発明の第5の態様は、上記第1の態様において、前記ライト・バッファはリング・バッファ方式のバッファであり、前記キャッシュ・マネージャは、キャッシュされているライト・コマンドの中で、最古のライト・コマンドよりも後に前記メディア書き込み強制コマンドの実行順序を設定する。これによって、リング・バッファを使用する場合において、バッファ利用効率とメディア書き込み強制コマンドの完了通知の遅れによる処理効率の低下の抑制の両立を図ることができる。   According to a fifth aspect of the present invention, in the first aspect, the write buffer is a ring buffer type buffer, and the cache manager is the oldest cached write command. The execution order of the media write forced command is set after the write command. As a result, when a ring buffer is used, it is possible to achieve both buffer utilization efficiency and suppression of a decrease in processing efficiency due to a delay in notification of completion of the media write forced command.

本発明の第6の態様は、上記第5の態様において、前記キャッシュ・マネージャは、キャッシュされているライト・コマンドの中で、最古のライト・コマンドを最初の実行順序に設定し、前記メディア書き込み強制コマンドの実行順序を前記最古のライト・コマンドの次に設定する。これによって、バッファ利用効率を高め、メディア書き込み強制コマンドの完了通知の早期返信を実現する。   According to a sixth aspect of the present invention, in the fifth aspect, the cache manager sets the oldest write command to the first execution order among the cached write commands, and the media The execution order of the write forced command is set next to the oldest write command. As a result, the buffer utilization efficiency is improved and an early reply of the completion notification of the media write forced command is realized.

本発明の第7の態様に係るデータ記憶装置は、メディアに書き込むべきライト・データを一時的に記憶するライト・バッファと、前記ライト・バッファに記憶されているライト・データのそれぞれと対応するライト・コマンドに関する情報を登録するテーブルと、前記テーブルに登録されているライト・コマンドの実行順序を決定するキャッシュ・マネージャと、を備え、前記キャッシュ・マネージャは、前記メディアへの書き込み完了後にコマンド完了通知をホストへ送信するメディア書き込み強制コマンドを取得した場合、その実行順序の決定のために、すでに前記テーブルに登録されているライト・コマンドを参照して、複数の決定方法の中から前記メディア書き込み強制コマンドの実行順序決定方法を選択するものである。メディア書き込み強制コマンドを取得した場合に、データ記憶装置における適切な実行順序決定方法を選択することができる。   A data storage device according to a seventh aspect of the present invention includes a write buffer for temporarily storing write data to be written to a medium, and a write corresponding to each of the write data stored in the write buffer. A table for registering information about commands and a cache manager for determining the execution order of write commands registered in the table, the cache manager notifying completion of commands after writing to the medium is completed When the media write forcing command to send to the host is acquired, the media write forcing is selected from a plurality of determination methods by referring to the write command already registered in the table in order to determine the execution order. A method for determining the execution order of commands is selected. When the media write forced command is acquired, an appropriate execution order determination method in the data storage device can be selected.

本発明の第8の態様は、上記第7の態様において、前記キャッシュ・マネージャは、前記ライト・バッファの空き領域に基づいて、前記メディア書き込み強制コマンドの実行順序決定方法を選択する。メディア書き込み強制コマンドの実行を優先し、メディア書き込み強制コマンドの完了通知の遅れを防いだとしても、バッファに空き容量がないと、次のライト・コマンドは待たされることになり、処理効率が低下する。バッファ空き領域に基づいて、キャッシュされているライト・コマンドを効率的に実行して領域確保を優先するか、メディア書き込み強制コマンドの処理を優先するかを判定することで、バッファ利用効率とメディア書き込み強制コマンドの完了通知の遅れによる処理効率の低下の抑制の両立を図る。   According to an eighth aspect of the present invention, in the seventh aspect, the cache manager selects a method for determining the execution order of the media write forced command based on an empty area of the write buffer. Even if priority is given to the execution of the media write forced command to prevent delays in notification of completion of the media write forced command, if there is no free space in the buffer, the next write command will be waited and processing efficiency will be reduced. . Based on the buffer free space, it is possible to efficiently execute the cached write command to determine whether to give priority to area reservation or to give priority to the processing of the media write forced command. Achieving both reduction in processing efficiency due to delay in notification of compulsory command completion.

本発明の第9の態様は、上記第7の態様において、前記キャッシュ・マネージャは、キャッシュされているライト・コマンド数に基づいて、前記メディア書き込み強制コマンドの実行順序決定方法を選択する。キャシュされているライト・コマンドの数に基づいて、キャッシュされているライト・コマンドを効率的に実行して領域確保を優先するか、メディア書き込み強制コマンドの処理を優先するかを判定することで、バッファ利用効率とメディア書き込み強制コマンドの完了通知の遅れによる処理効率の低下の抑制の両立を図る。   According to a ninth aspect of the present invention, in the seventh aspect, the cache manager selects an execution order determination method for the media write forced command based on the number of cached write commands. Based on the number of cached write commands, it is possible to efficiently execute cached write commands to prioritize area allocation or media write forced command processing. The buffer utilization efficiency and the reduction in processing efficiency due to the delay in the completion notification of the media write forced command are both reduced.

本発明の第10の態様は、上記第7の態様において、前記キャッシュ・マネージャは、キャッシュされているライト・コマンドが対応するライト・データ量に基づいて、前記メディア書き込み強制コマンドの実行順序決定方法を選択する。キャシュされているライト・コマンドのセクター数、すなわちデータ量に基づいて、キャッシュされているライト・コマンドを効率的に実行して領域確保を優先するか、メディア書き込み強制コマンドの処理を優先するかを判定することで、バッファ利用効率とメディア書き込み強制コマンドの完了通知の遅れによる処理効率の低下の抑制の両立を図る。   According to a tenth aspect of the present invention, in the seventh aspect, the cache manager is configured to determine the execution order of the media write forced command based on the write data amount corresponding to the cached write command. Select. Based on the number of sectors of the write command being cached, that is, the amount of data, whether the cached write command is executed efficiently to give priority to area allocation or media write forced command processing By making the determination, both buffer utilization efficiency and suppression of a decrease in processing efficiency due to a delay in notification of completion of the media write forced command are achieved.

本発明の第11の態様は、上記第7の態様において、前記キャッシュ・マネージャは、キャッシュされているライト・コマンドの予想される実行時間に基づいて、前記メディア書き込み強制コマンドの実行順序決定方法を選択する。メディアへの書き込みにおいて、効率的な順序が選ばれたことにより、メディア書き込み強制コマンドの処理が後回しになり、完了通知が許容範囲を超えて遅れることを防ぐことができる。   According to an eleventh aspect of the present invention, in the seventh aspect, the cache manager uses the execution order determination method of the media write forced command based on an expected execution time of a cached write command. select. In the writing to the media, the efficient order is selected, so that the processing of the media writing forced command is postponed, and it is possible to prevent the completion notification from being delayed beyond the allowable range.

本発明の第12の態様は、上記第7の態様において、前記複数の決定方法は、非メディア書き込み強制コマンドを取得した場合よりも高い優先度においてメディア書き込み強制コマンドの実行順序を決定する第1の決定方法と、メディア書き込み強制コマンドと非メディア書き込み強制コマンドとを区別することなく実行順序を決定する第2の決定方法とを含む。これにより、メディア書き込み強制コマンドのコマンド完了通知の返信タイミングを、データ記憶装置に適切なものとすることができる。   According to a twelfth aspect of the present invention, in the seventh aspect, the plurality of determination methods determine the execution order of the media write forced command with a higher priority than when the non-media write forced command is acquired. And a second determination method for determining the execution order without distinguishing between the media write forced command and the non-media write forced command. Thereby, the return timing of the command completion notification of the media write forced command can be made appropriate for the data storage device.

本発明の第13の態様は、上記第12の態様において、前記キャッシュ・マネージャは、前記ライト・バッファの空き領域が基準値以上であることを条件として、前記第1の決定方法を選択する。これにより、キャッシュされているライト・コマンドの書き込み効率の向上とメディア書き込み強制コマンドの完了通知の遅れによる処理効率の低下の抑制の両立を図る   In a thirteenth aspect of the present invention based on the twelfth aspect, the cache manager selects the first determination method on condition that the free area of the write buffer is equal to or greater than a reference value. This improves both the write efficiency of cached write commands and the suppression of degradation in processing efficiency due to the delay in notification of completion of media write forced commands.

本発明の第14の態様は、上記第12の態様において、前記キャッシュ・マネージャは、キャッシュされているライト・コマンド数が基準値よりも小さいことを条件として、前記第1の決定方法を選択する。これにより、キャッシュされているライト・コマンドの書き込み効率の向上とメディア書き込み強制コマンドの完了通知の遅れによる処理効率の低下の抑制の両立を図ることができる。   In a fourteenth aspect of the present invention, in the twelfth aspect, the cache manager selects the first determination method on condition that the number of cached write commands is smaller than a reference value. . As a result, it is possible to achieve both the improvement of the write efficiency of the cached write command and the suppression of the decrease in the processing efficiency due to the delay of the completion notification of the media write forced command.

本発明の第15の態様は、上記第12の態様において、前記キャッシュ・マネージャは、既にキャッシュされているライト・コマンドが対応するライト・データ量が基準値よりも小さいことを条件として、前記第1の決定方法を選択する。これにより、キャッシュされているライト・コマンドの書き込み効率の向上とメディア書き込み強制コマンドの完了通知の遅れによる処理効率の低下の抑制の両立を図ることができる。   According to a fifteenth aspect of the present invention, in the twelfth aspect, the cache manager is configured on the condition that a write data amount corresponding to a write command already cached is smaller than a reference value. Select one determination method. As a result, it is possible to achieve both the improvement of the write efficiency of the cached write command and the suppression of the decrease in the processing efficiency due to the delay of the completion notification of the media write forced command.

本発明の第16の態様は、上記第12の態様において、前記キャッシュ・マネージャは、既にキャッシュされているライト・コマンドと前記メディア書き込み強制コマンドとが対応するライト・データ量が基準値よりも小さいことを条件として、前記第1の決定方法を選択する。これにより、キャッシュされているライト・コマンドの書き込み効率の向上とメディア書き込み強制コマンドの完了通知の遅れによる処理効率の低下の抑制の両立を図ることができる。   According to a sixteenth aspect of the present invention, in the twelfth aspect, the cache manager has a write data amount corresponding to the already cached write command and the media write forcing command smaller than a reference value. On the condition that the first determination method is selected. As a result, it is possible to achieve both the improvement of the write efficiency of the cached write command and the suppression of the decrease in the processing efficiency due to the delay of the completion notification of the media write forced command.

本発明の第17の態様は、上記第12の態様において、前記キャッシュ・マネージャは、メディア書き込み強制コマンドの実行までに予想されるライト・コマンド実行時間が基準値よりも小さいことを条件として、前記第2の決定方法を選択する。これにより、キャッシュされているライト・コマンドの書き込み効率の向上とメディア書き込み強制コマンドの完了通知の遅れによる処理効率の低下の抑制の両立を図ることができる。   According to a seventeenth aspect of the present invention, in the twelfth aspect, the cache manager is configured on the condition that a write command execution time expected until execution of a media write forced command is smaller than a reference value. A second determination method is selected. As a result, it is possible to achieve both the improvement of the write efficiency of the cached write command and the suppression of the decrease in the processing efficiency due to the delay of the completion notification of the media write forced command.

本発明の第18の態様は、データ記憶装置におけるライト・キャッシュ制御方法であって、取得したライト・コマンドに関する情報を登録し、前記ライト・コマンドに対応し、メディアに書き込むべきライト・データをライト・バッファに記憶し、登録された複数のライト・コマンドの実行順序の決定において、前記メディアへの書き込み完了後にコマンド完了通知を送信するメディア書き込み強制コマンドを受信した場合、非メディア書き込み強制コマンドを取得した場合よりも高い優先度においてその実行順序を決定する。   According to an eighteenth aspect of the present invention, there is provided a write cache control method in a data storage device, wherein information relating to an acquired write command is registered, and write data to be written to a medium is written corresponding to the write command. -When determining the execution order of multiple write commands stored in the buffer and receiving a media write forced command that sends a command completion notification after writing to the media is completed, obtain a non-media write forced command The execution order is determined at a higher priority than the above case.

本発明の第19の態様は、データ記憶装置におけるライト・キャッシュ制御方法であって、取得したライト・コマンドに関する情報を登録し、前記ライト・コマンドに対応し、メディアに書き込むべきライト・データをライト・バッファに記憶し、前記メディアへの書き込み完了後にコマンド完了通知を送信するメディア書き込み強制コマンドを受信した場合、実行すべきライト・コマンドの実行順序を決定するために、すでに登録されているライト・コマンドを参照して、複数の決定方法の中から実行順序決定方法を選択する。   According to a nineteenth aspect of the present invention, there is provided a write cache control method in a data storage device, wherein information relating to an acquired write command is registered, and write data to be written to a medium is written corresponding to the write command. When a media write forcing command is stored that is stored in a buffer and a command completion notification is transmitted after completion of writing to the medium, a write command that has already been registered to determine the execution order of write commands to be executed With reference to the command, an execution order determination method is selected from a plurality of determination methods.

本発明によれは、ライト・コマンド実行順序の決定手法を改善し、データの安全性とホストとデータ記憶装置のデータ処理効率の向上を図ることができる。   According to the present invention, the write command execution order determination method can be improved, and data safety and data processing efficiency of the host and the data storage device can be improved.

以下に、本発明を適用可能な実施の形態を説明する。説明の明確化のため、以下の記載及び図面は、適宜、省略及び簡略化がなされている。又、各図面において、同一要素には同一の符号が付されており、説明の明確化のため、必要に応じて重複説明は省略されている。   Hereinafter, embodiments to which the present invention can be applied will be described. For clarity of explanation, the following description and drawings are omitted and simplified as appropriate. Moreover, in each drawing, the same code | symbol is attached | subjected to the same element and the duplication description is abbreviate | omitted as needed for clarification of description.

本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。本実施形態は、データ記憶装置のライト・キャッシュONの状態において、ライト・コマンドの実行順序(メディアへの書き込み順序)の決定手法に特徴を備え、特に、ホストへのコマンド完了通知をメディアへの書き込み完了後に行うライト・コマンドの実行順序の決定手法に特徴を備える。本発明の理解の容易のため、最初に、データ記憶装置の一例であるハードディスク・ドライブ(HDD)の全体構成の概略を説明する。   Specific embodiments to which the present invention is applied will be described in detail with reference to the drawings. This embodiment is characterized by a method for determining the execution order of write commands (write order to media) when the data storage device is in the write cache ON state. In particular, the command completion notification to the host is sent to the media. It is characterized by a technique for determining the execution order of write commands performed after writing is completed. For easy understanding of the present invention, an outline of the overall configuration of a hard disk drive (HDD) as an example of a data storage device will be described first.

図1は、本実施の形態に係るHDD1の構成を模式的に示すブロック図である。図1に示すように、HDD1は、密閉されたエンクロージャ10内に、メディア(記録媒体)の一例である磁気ディスク11、ヘッド素子部12、アーム電子回路(アームエレクトロニクス:AE)13、スピンドル・モータ(SPM)14、ボイス・コイル・モータ(VCM)15、そしてアクチュエータ16を備えている。   FIG. 1 is a block diagram schematically showing the configuration of the HDD 1 according to the present embodiment. As shown in FIG. 1, an HDD 1 includes a magnetic disk 11 as an example of a medium (recording medium), a head element unit 12, an arm electronic circuit (arm electronics: AE) 13, a spindle motor in a sealed enclosure 10. (SPM) 14, voice coil motor (VCM) 15, and actuator 16.

HDD1は、エンクロージャ10の外側に固定された回路基板20を備えている。回路基板20上には、リード・ライト・チャネル(R/Wチャネル)21、モータ・ドライバ・ユニット22、ハードディスク・コントローラ(HDC)とMPUの集積回路(以下、HDC/MPU)23、及びメモリの一例であるRAM24などの各ICを備えている。尚、各回路構成は一つのICに集積すること、あるいは、複数のICに分けて実装することができる。   The HDD 1 includes a circuit board 20 that is fixed to the outside of the enclosure 10. On the circuit board 20, a read / write channel (R / W channel) 21, a motor driver unit 22, a hard disk controller (HDC) and an MPU integrated circuit (hereinafter referred to as HDC / MPU) 23, and a memory Each IC such as a RAM 24 as an example is provided. Each circuit configuration can be integrated into one IC, or can be divided into a plurality of ICs.

外部ホスト51からのライト・データは、HDC/MPU23によって受信され、R/Wチャネル21、AE13を介して、ヘッド素子部12によって磁気ディスク11に書き込まれる。また、磁気ディスク11に記憶されているリード・データはヘッド素子部12によって読み出され、そのリード・データは、AE13、R/Wチャネル21を介して、HDC/MPU23から外部ホスト51に出力される。   Write data from the external host 51 is received by the HDC / MPU 23 and written to the magnetic disk 11 by the head element unit 12 via the R / W channel 21 and the AE 13. Read data stored in the magnetic disk 11 is read by the head element unit 12, and the read data is output from the HDC / MPU 23 to the external host 51 via the AE 13 and the R / W channel 21. The

次に、HDD1の各構成要素について説明する。磁気ディスク11は、SPM14に固定されている。SPM14は所定の速度で磁気ディスク11を回転する。HDC/MPU23からの制御データに従って、モータ・ドライバ・ユニット22がSPM14を駆動する。本例の磁気ディスク11は、データを記録する記録面を両面に備え、各記録面に対応するヘッド素子部12が設けられている。   Next, each component of the HDD 1 will be described. The magnetic disk 11 is fixed to the SPM 14. The SPM 14 rotates the magnetic disk 11 at a predetermined speed. The motor driver unit 22 drives the SPM 14 according to control data from the HDC / MPU 23. The magnetic disk 11 of this example has recording surfaces for recording data on both sides, and a head element unit 12 corresponding to each recording surface is provided.

各ヘッド素子部12はスライダ(不図示)に固定されている。また、スライダはアクチュエータ16に固定されている。アクチュエータ16はVCM15に連結され、回転軸を中心に揺動することによって、ヘッド素子部12(及びスライダ)を磁気ディスク11上において半径方向に移動する。モータ・ドライバ・ユニット22は、HDC/MPU23からの制御データに従ってVCM15を駆動する。   Each head element unit 12 is fixed to a slider (not shown). The slider is fixed to the actuator 16. The actuator 16 is connected to the VCM 15, and swings about the rotation axis to move the head element unit 12 (and the slider) in the radial direction on the magnetic disk 11. The motor driver unit 22 drives the VCM 15 according to control data from the HDC / MPU 23.

ヘッド素子部12には、典型的には、磁気ディスク11への記録データに応じて電気信号を磁界に変換する記録ヘッド、及び磁気ディスク11からの磁界を電気信号に変換する再生ヘッドを備えている。なお、磁気ディスク11は、1枚以上あればよく、記録面は磁気ディスク11の片面あるいは両面に形成することができる。   The head element unit 12 typically includes a recording head that converts an electric signal into a magnetic field according to recording data on the magnetic disk 11 and a reproducing head that converts a magnetic field from the magnetic disk 11 into an electric signal. Yes. One or more magnetic disks 11 may be provided, and the recording surface can be formed on one side or both sides of the magnetic disk 11.

続いて各回路部の説明を行う。AE13は、複数のヘッド素子部12の中からデータ・アクセスが行われる1つのヘッド素子部12を選択し、選択されたヘッド素子部12により再生される再生信号を一定のゲインで増幅(プリアンプ)し、R/Wチャネル21に送る。また、R/Wチャネル21からの記録信号を選択されたヘッド素子部12に送る。   Subsequently, each circuit unit will be described. The AE 13 selects one head element unit 12 to which data access is performed from the plurality of head element units 12, and amplifies a reproduction signal reproduced by the selected head element unit 12 with a certain gain (preamplifier). To the R / W channel 21. Also, the recording signal from the R / W channel 21 is sent to the selected head element unit 12.

R/Wチャネル21は、ホスト51から転送されたデータについて、ライト処理を実行する。ライト処理において、R/Wチャネル21はHDC/MPU23から供給されたライト・データをコード変調し、更にコード変調されたライト・データをライト信号に変換してAE13に供給する。また、ホスト51にデータを供給する際にはリード処理を行う。リード処理において、R/Wチャネル21はAE13から供給されたリード信号を一定の振幅となるように増幅し、取得したリード信号からデータを抽出し、デコード処理を行う。読み出されるデータは、ユーザ・データとサーボ・データを含む。デコード処理されたリード・データは、HDC/MPU23に供給される。   The R / W channel 21 performs a write process on the data transferred from the host 51. In the write process, the R / W channel 21 code-modulates the write data supplied from the HDC / MPU 23, converts the code-modulated write data into a write signal, and supplies it to the AE 13. When data is supplied to the host 51, read processing is performed. In the read process, the R / W channel 21 amplifies the read signal supplied from the AE 13 to have a constant amplitude, extracts data from the acquired read signal, and performs a decoding process. Data to be read out includes user data and servo data. The decoded read data is supplied to the HDC / MPU 23.

HDC/MPU23において、MPUはRAM24にロードされたマイクロ・コードに従って動作する。HDD1の起動に伴い、RAM24には、MPU上で動作するマイクロ・コードの他、制御及びデータ処理に必要とされるデータが磁気ディスク11あるいはROM(不図示)からロードされる。HDC/MPU23は、コマンド実行順序の管理、ヘッド素子部12のポジショニング制御、インターフェース制御、ディフェクト管理などのデータ処理に関する必要な処理の他、HDD1の全体制御を実行する。   In the HDC / MPU 23, the MPU operates according to the microcode loaded in the RAM 24. As the HDD 1 starts up, the RAM 24 is loaded with data necessary for control and data processing from the magnetic disk 11 or ROM (not shown), in addition to the microcode operating on the MPU. The HDC / MPU 23 performs overall control of the HDD 1 in addition to necessary processing relating to data processing such as command execution order management, head element unit 12 positioning control, interface control, and defect management.

HDC/MPU23は、R/Wチャネル21から取得した磁気ディスク11からのリード・データを、ホスト51に伝送する。磁気ディスク11からのリード・データは、RAM24内のリード・バッファに一旦格納された後、HDC/MPU23を介してホスト51に転送される。また、ホスト51からのライト・データは、HDC/MPU23を介して、RAM24内のライト・バッファに一旦格納され、その後、所定のタイミングでHDC/MPU23を介して磁気ディスク11に転送される。   The HDC / MPU 23 transmits the read data from the magnetic disk 11 acquired from the R / W channel 21 to the host 51. Read data from the magnetic disk 11 is temporarily stored in a read buffer in the RAM 24 and then transferred to the host 51 via the HDC / MPU 23. The write data from the host 51 is temporarily stored in the write buffer in the RAM 24 via the HDC / MPU 23 and then transferred to the magnetic disk 11 via the HDC / MPU 23 at a predetermined timing.

続いて、本実施形態に係るHDD1のライト・キャッシュ処理について説明する。本形態のHDD1はライト・キャッシュがオンの状態であり、ライト・データのライト・バッファへの格納が完了したタイミングで、対応するライト・コマンドの完了通知をホスト51に送信することができる。ホスト51は、HDD1からコマンド完了通知を受信した段階で、HDD1に対して新たなコマンドを発行することができる。   Subsequently, the write cache process of the HDD 1 according to the present embodiment will be described. The HDD 1 of this embodiment is in a state in which the write cache is on, and can send a corresponding write command completion notification to the host 51 at the timing when the write data is stored in the write buffer. The host 51 can issue a new command to the HDD 1 when it receives the command completion notification from the HDD 1.

また、本形態のHDD1は及びホスト51は、HDD1からホスト51へのコマンド完了通知を、記録ディスク11への書き込み完了後に行うライト・コマンドをサポートする。このようなライト・コマンドの最も典型的な一例は、ATA Standard 7で標準化されているFUA(Forced Unit Access)シリーズのコマンドである。ホスト51からFUAコマンドを取得したHDD1は、ライト・キャッシュがONの状態にあっても、そのライト・データを磁気ディスク11に書き込んだ後に、ホスト51に対してコマンド完了通知を送信する。   In addition, the HDD 1 and the host 51 of the present embodiment support a write command for issuing a command completion notification from the HDD 1 to the host 51 after the writing to the recording disk 11 is completed. One of the most typical examples of such a write command is a FUA (Forced Unit Access) series command standardized by ATA Standard 7. The HDD 1 that has acquired the FUA command from the host 51 transmits a command completion notification to the host 51 after writing the write data to the magnetic disk 11 even if the write cache is in an ON state.

ATA Standard 7において、FUAコマンドはWRITE DMA EXTEND FUAやWRITE DMA MULTIPLE EXTEND FUAなどを備えている。以下の説明においてはFUAコマンドを例として本形態の説明を行う。また、以下において、特に明示のないライト・コマンドはFUA以外のコマンド(非FUAコマンド)であり、ライト・データがライト・バッファに格納された後、磁気ディスク11に書き込む前に、コマンド完了通知がホスト51に送られる。   In ATA Standard 7, FUA commands include WRITE DMA EXTEND FUA and WRITE DMA MULTIPLE EXTEND FUA. In the following description, the present embodiment will be described using the FUA command as an example. In the following, a write command not particularly specified is a command other than FUA (non-FUA command), and a command completion notification is sent before the write data is stored in the write buffer and then written to the magnetic disk 11. It is sent to the host 51.

以下において、未実行(磁気ディスク11へのデータ書き込みが未完了)のライト・コマンドがキューされているタイミングで、HDD1がホスト51からFUAコマンドを取得した場合における、コマンド実行順序の決定について説明する。HDD1は、非FUAコマンドだけをキャッシュしている場合、効率的な内部処理を行うため、RPO(Rotational Positioning Optimization)等のアルゴリズムを使用して、ライト・データの磁気ディスク11への書き出し順序を最適化する。   In the following, determination of command execution order when the HDD 1 obtains a FUA command from the host 51 at the timing when an unexecuted write command (data writing to the magnetic disk 11 is incomplete) is queued will be described. . When only non-FUA commands are cached, the HDD 1 uses an algorithm such as RPO (Rotational Positioning Optimization) to optimize the order of writing write data to the magnetic disk 11 in order to perform efficient internal processing. Turn into.

FUAコマンドが発行された場合、HDD1はそのコマンドの実行が完了するまで、つまりライト・データの磁気ディスク11への書き込みが完了するまで、コマンド完了通知を返すことができず、HDD1とホスト51との間のインターフェースがビジー状態となる。このため、FUAコマンドをホスト51から取得した場合、取得したライト・コマンドが非FUAコマンドである場合よりも、高い優先度においてライト・コマンドの実行順序を再決定(リオーダリング)することが好ましい。   When the FUA command is issued, the HDD 1 cannot return a command completion notification until the execution of the command is completed, that is, until the writing of write data to the magnetic disk 11 is completed. The interface between is busy. For this reason, when the FUA command is acquired from the host 51, it is preferable to re-determine (reorder) the execution order of the write command at a higher priority than when the acquired write command is a non-FUA command.

好ましい例の一つにおいて、HDD1は、ホスト51からFUAコマンドを受信すると、既にキャッシュされている他のライト・コマンドに対して最優先で、そのFUAコマンドを実行する。つまり、キャッシュされている全てのライト・コマンドよりも前に、最初に新たに発行されたFUAコマンドを実行する。   In one preferred example, when receiving an FUA command from the host 51, the HDD 1 executes the FUA command with the highest priority over other cached write commands. That is, the FUA command newly issued first is executed before all the cached write commands.

図2は、FUAコマンドを最初の順序で実行する例を示している。図2(a)に示すように、HDD1は、5つのライト・コマンドWRを、WR1−WR2−WR3−WR4−WR5の順序で、ホスト51から取得している。その後、図2(b)に示すように、ライト・コマンドのリオーダリングを実行する。各ライト・コマンドは、非FUAコマンドであるので、RPOなどの従来のアルゴリズムに従って、リオーダリングを実行する。図2(b)の例においては、実行順序は、WR2−WR3−WR1−WR5−WR4の順に設定されている。   FIG. 2 shows an example in which FUA commands are executed in the first order. As shown in FIG. 2A, the HDD 1 acquires five write commands WR from the host 51 in the order of WR1-WR2-WR3-WR4-WR5. Thereafter, as shown in FIG. 2B, reordering of the write command is executed. Since each write command is a non-FUA command, reordering is executed according to a conventional algorithm such as RPO. In the example of FIG. 2B, the execution order is set in the order of WR2-WR3-WR1-WR5-WR4.

図2(c)に示すように、これらのライト・コマンドRWを実行する前に、HDD1はホスト51からFUAコマンドを受信する。すると、HDD1は、図2(d)に示すように、FUAコマンドを最優先としてコマンドの実行順序を並べ替える。つまり、新たに取得したFUAコマンドの実行順序を最初とする。このように、FUAコマンドの実行順序を未実行ライト・コマンドの内の最初の順序に設定することにとって、コマンド完了通知の返信遅れによるホスト51の処理効率低下を抑制することができる。   As shown in FIG. 2C, the HDD 1 receives a FUA command from the host 51 before executing these write commands RW. Then, as shown in FIG. 2D, the HDD 1 rearranges the command execution order with the FUA command as the highest priority. That is, the execution order of the newly acquired FUA command is first. Thus, setting the execution order of the FUA commands to the first order among the unexecuted write commands can suppress a reduction in processing efficiency of the host 51 due to a delay in replying the command completion notification.

ここで、好ましくは、FUAコマンドを実行順序の先頭に設定すると共に、その後に実行される他のライト・コマンドWRについて、その実行順序のリオーダリングを再実行する。図2(e)の例において、FUAコマンドの実行順序を最初(1番目)に設定したことに応じて、ライト・コマンドWR2の実行順序が、2番目から5番目に変更されている。   Here, preferably, the FUA command is set at the head of the execution order, and the reordering of the execution order is re-executed for another write command WR to be executed thereafter. In the example of FIG. 2E, the execution order of the write command WR2 is changed from the second to the fifth in accordance with the execution order of the FUA command being set to the first (first).

FUAコマンドを実行した後のヘッド素子部12と磁気ディスク11の位置関係を考慮すると、元の事項順序(WR2−WR3−WR1−WR5−WR4)が最も効率的な実行順序であるとは限らない。そこで、FUAコマンドの最後のLBA(Logical Block Address)を基準として、再度、リオーダリング処理を実行して、実行順序の並べ替えを行う。これによって、より効率的なライト・コマンド実行処理を実現することができる。   Considering the positional relationship between the head element unit 12 and the magnetic disk 11 after executing the FUA command, the original item order (WR2-WR3-WR1-WR5-WR4) is not always the most efficient execution order. . Therefore, the reordering process is executed again with the last LBA (Logical Block Address) of the FUA command as a reference, and the execution order is rearranged. As a result, more efficient write command execution processing can be realized.

図3及び図4は、取得したFUAコマンドの実行順序を、非FUAコマンドを取得した場合よりも高い優先度において決定する他の好ましい例を示している。本例において、FUAコマンドが互いに関連づけられた一連のコマンドに含まれる場合、その一連のコマンドをセットとして、最優先で実行順序を設定する。具体的には、HDD1は、シーケンシャルライトと呼ぶライト・オペレーションをサポートしている。   3 and 4 show another preferable example in which the execution order of the acquired FUA commands is determined at a higher priority than when a non-FUA command is acquired. In this example, when the FUA command is included in a series of commands associated with each other, the execution order is set with the highest priority by using the series of commands as a set. Specifically, the HDD 1 supports a write operation called sequential write.

シーケンシャルライトは、キャッシュされているライト・コマンドの中で、そのLBA(ライト・データ書き込むLBA)が予め定められた範囲内にある場合、それらライト・コマンドに対応するライト・データを、1回の書き込み処理で磁気ディスク11へ書き込む。近接するライト・データの磁気ディスク11への書き込みを、1回の書き込み処理として実行することによって、書き込み処理のオーバーヘッドを低減し、書き込み時間の短縮を図ることができる。   In the sequential write, if the LBA (write data write LBA) in the cached write command is within a predetermined range, the write data corresponding to the write command is stored once. Writing to the magnetic disk 11 by a writing process. By executing writing of adjacent write data to the magnetic disk 11 as a single write process, the overhead of the write process can be reduced and the write time can be shortened.

まず、図3を参照して、シーケンシャルライトが実行されるライト・コマンドの関係について説明する。2つのライト・コマンドの間において、第1のライト・コマンドの最終LBと第2のライト・コマンドの先頭LABとの差が、基準値以下の場合にシーケンシャルライトが実行される。例えば、図3(a)に示すように、2つのライト・コマンドのLBAが連続している場合、HDD1はこれら2つのライト・コマンドのシーケンシャルライトを実行する。図3(a)の例において、第1のライト・コマンドWR1の先頭LBAが200h、その最終LBAは27Fhである。一方、第2のライト・コマンドWR2の先頭LBAが280h、その最終LBAは2FFhである。この場合、HDD1は、LBA200hから2FFhまでのセクタに、ライト・データを1回の書き込み処理で磁気ディスク11に書き込む。   First, with reference to FIG. 3, the relationship of write commands for executing sequential write will be described. Sequential write is executed when the difference between the last LB of the first write command and the first LAB of the second write command is less than or equal to the reference value between the two write commands. For example, as shown in FIG. 3A, when the LBAs of two write commands are continuous, the HDD 1 executes sequential write of these two write commands. In the example of FIG. 3A, the first LBA of the first write command WR1 is 200h, and the final LBA is 27Fh. On the other hand, the first LBA of the second write command WR2 is 280h, and the final LBA is 2FFh. In this case, the HDD 1 writes write data to the magnetic disk 11 in a single write process in sectors from LBA 200h to 2FFh.

あるいは、図3(b)に示すように、2つのライト・コマンドのLBAが重なっている場合に、HDD1はシーケンシャルライトを実行する。つまり、第2のライト・コマンドWR2の先頭LBAが、第1のライト・コマンドWR1のLBA領域(先頭LBAから最終LBAまでの間の領域)に含まれている場合である。図3(b)の例においては、第1のライト・コマンドWR1の先頭LBAが200h、その最終LBAは2BFhである。一方、第2のライト・コマンドWR2の先頭LBAが280h、その最終LBAは2FFhである。この場合、HDD1は、LABが重なっているアドレス部分(280h〜2BFh)において、古いデータ(第1ライト・コマンドのライト・データ)を消去するDiscard処理を実行した後、LBA200hから2FFhまでのライト・データを1回の書き込み処理で磁気ディスク11に書き込む。   Alternatively, as shown in FIG. 3B, when the LBAs of two write commands overlap, the HDD 1 executes sequential write. That is, the first LBA of the second write command WR2 is included in the LBA area of the first write command WR1 (area between the first LBA and the last LBA). In the example of FIG. 3B, the first LBA of the first write command WR1 is 200h, and the final LBA is 2BFh. On the other hand, the first LBA of the second write command WR2 is 280h, and the final LBA is 2FFh. In this case, the HDD 1 executes the Discard process for erasing old data (the write data of the first write command) in the address portion (280h to 2BFh) where the LAB overlaps, and then writes the write data from the LBA 200h to 2FFh. Data is written to the magnetic disk 11 by a single writing process.

あるいは、図3(c)に示すように、2つのライト・コマンドのLBAが連続していない、あるいは重なっていない場合であっても、その間隔が予め定められた基準値以下の場合には、HDD1はシーケンシャルライトを実行する。図3(c)の例において、第1のライト・コマンドWR1の先頭LBAが200h、その最終LBAは27Fhである。一方、第2のライト・コマンドWR2の先頭LBAが290h、その最終LBAは2FFhである。例えば、基準値が40hである場合、これら2つのライト・コマンドをシーケンシャルライトで一括に書き込む。この場合、HDD1は、LBA280hから28Fhまでは、磁気ディスク11にデータを書き込むことなくスキップする。   Alternatively, as shown in FIG. 3C, even when the LBAs of two write commands are not continuous or do not overlap, if the interval is equal to or smaller than a predetermined reference value, The HDD 1 performs sequential write. In the example of FIG. 3C, the first LBA of the first write command WR1 is 200h, and the final LBA is 27Fh. On the other hand, the first LBA of the second write command WR2 is 290h, and the final LBA is 2FFh. For example, if the reference value is 40h, these two write commands are written in batches with sequential write. In this case, the HDD 1 skips from LBA 280h to 28Fh without writing data to the magnetic disk 11.

図4は、シーケンシャルライトをサポートするHDD1において、FUAコマンドをホスト51から受信した場合の実行順序決定処理を示している。本例において、HDD1は、取得したFUAコマンドとシーケンシャルライトを実行するライト・コマンドがキューされている場合、その一連のシーケンシャルライトを最優先として実行順序を決定する。   FIG. 4 shows an execution order determination process when the FUA command is received from the host 51 in the HDD 1 that supports sequential write. In this example, when the acquired FUA command and the write command for executing the sequential write are queued, the HDD 1 determines the execution order with the sequential write as the highest priority.

具体的には、図4(a)に示すように、HDD1は、5つのライト・コマンドWRを、WR1−WR2−WR3−WR4−WR5の順序で、ホスト51から取得している。続いて、図4(b)に示すように、ライト・コマンドのリオーダリングを実行して、実行順序をWR2−WR3−WR1−WR5−WR4の順に設定する。図4(c)に示すように、これらのライト・コマンドWRを実行する前に、HDD1はホスト51からFUAコマンドを受信する。すると、HDD1は、図4(d)に示すように、FUAコマンドとシーケンシャルライトの関係にあるライト・コマンドを探す。本例においては、ライト・コマンドWR3がFUAコマンドとシーケンシャルライトの関係にあるため、これらが関連付けられる。   Specifically, as shown in FIG. 4A, the HDD 1 acquires five write commands WR from the host 51 in the order of WR1-WR2-WR3-WR4-WR5. Subsequently, as shown in FIG. 4B, the reordering of the write command is executed, and the execution order is set in the order of WR2-WR3-WR1-WR5-WR4. As shown in FIG. 4C, the HDD 1 receives a FUA command from the host 51 before executing these write commands WR. Then, as shown in FIG. 4D, the HDD 1 searches for a write command that has a relationship between the FUA command and the sequential write. In this example, the write command WR3 is related to the FUA command and the sequential write, and therefore these are associated.

さらに、図4(e)に示すように、FUAコマンド及びそれとシーケンシャルライトの関係にあるコマンド群が最優先として、その実行順序が最初に設定される。コマンド群の間においては、シーケンシャルライトの書き込み順序に従って順序決定される。本例においては、ライト・コマンドWR3のライト・データがFUAコマンドの前に書き込まれる。このように、FUAコマンドを受信した場合、それとシーケンシャルライトの関係にあるコマンド群をまとめて優先することによって、ホスト51対するコマンド完了通知遅延の抑制と、HDD1内における処理効率化を同時に図ることができる。なお、図2を参照して説明したように、互いに関連づけられたコマンド群を最優先で実行順序決定した後、これらの最終LBAを基準として、その後のライト・コマンドの実行順序を再設定することが好ましい。   Further, as shown in FIG. 4 (e), the FUA command and the command group having the sequential write relationship are given the highest priority, and the execution order is set first. Among command groups, the order is determined according to the sequential write order. In this example, the write data of the write command WR3 is written before the FUA command. As described above, when a FUA command is received, a command group having a sequential write relationship with the FUA command is given priority, thereby simultaneously suppressing the command completion notification delay for the host 51 and increasing the processing efficiency in the HDD 1. it can. As described with reference to FIG. 2, after determining the execution order of command groups associated with each other with the highest priority, the execution order of subsequent write commands is reset based on these final LBAs. Is preferred.

図5は、取得したFUAコマンドの実行順序を、非FUAコマンドを取得した場合よりも高い優先度において決定する他の好ましい例を示している。本例において、ライト・データを一時的に記憶するライト・バッファとして、リング・バッファ方式を使用する。リング・バッファ方式は、ホストからのライト・データを、前のアドレスから後ろのアドレスに時系列的に格納していく。ライト・バッファをその終端位置まで使い切った時には、ライト・バッファの先端位置に戻る。このとき、先端位置に記憶されているライト・データがまだ磁気ディスク11に書き出されていない場合、ライト・バッファは新たなライト・データを格納することができないため、次のライト・データをホストから受信することができない。   FIG. 5 shows another preferred example in which the execution order of the acquired FUA commands is determined at a higher priority than when a non-FUA command is acquired. In this example, a ring buffer system is used as a write buffer for temporarily storing write data. In the ring buffer method, write data from the host is stored in time series from the previous address to the subsequent address. When the write buffer is used up to its end position, it returns to the tip position of the write buffer. At this time, if the write data stored at the tip position has not yet been written to the magnetic disk 11, the write buffer cannot store new write data, so the next write data is stored in the host. Cannot receive from.

このため、リング・バッファ方式においては、磁気ディスク11への書き出し未完了のデータの内、最古のライト・データを早く磁気ディスク11に書き出すことが好ましい。つまり、最も古い未実行コマンドを優先的に実行することが好ましい。本例において、HDD1は、FUAコマンドを、未実行の最古のライト・コマンドよりも後の順序で実行する。   For this reason, in the ring buffer method, it is preferable that the oldest write data among the uncompleted data written to the magnetic disk 11 is written to the magnetic disk 11 earlier. That is, it is preferable to preferentially execute the oldest unexecuted command. In this example, the HDD 1 executes the FUA commands in an order after the oldest unexecuted write command.

具体的に説明する。図5(a)に示すように、HDD1は、ホストからWR1−WR2−WR3−WR4−WR5の順序で、ライト・コマンドを受信したとする。図5(b)は、RPOに従ってリオーダリングした場合の各コマンドの実行順序を示している。本例では、WR2−WR3−WR1−WR5−WR4の順に設定される。ここで、図5(c)に示すように、HDD1がホスト51からFUAコマンドを受信する。図2の例に従えば、FUAコマンドは、図5(d)に示すように、最初の実行順序に設定される。   This will be specifically described. As shown in FIG. 5A, it is assumed that the HDD 1 receives write commands from the host in the order of WR1-WR2-WR3-WR4-WR5. FIG. 5B shows the execution order of each command when reordering is performed according to the RPO. In this example, WR2-WR3-WR1-WR5-WR4 are set in this order. Here, as shown in FIG. 5C, the HDD 1 receives the FUA command from the host 51. According to the example of FIG. 2, the FUA command is set in the first execution order as shown in FIG.

しかし、上述のように、リング・バッファ方式のライト・バッファにおいては、最古のコマンドを優先して実行することがバッファの空き領域を確保することにつながる。そこで、本例において、図5(e)に示すように、最初にホスト51から取得したライト・コマンドWR1の実行順序を最初に設定する。さらに、FUAコマンドをライト・コマンドWR1の次の実行順序に設定する。これによって、リング・バッファ方式において空き領域を確保しつつ、FUAコマンドの実行遅延によるホスト51の待ち時間の増加を抑制することができる。なお、FUAコマンドの早期実行の点からは、FUAコマンド実行順序を2番目に設定することが好ましいが、FUAコマンドを優先する限り、これに限定されるものではない。   However, as described above, in the ring buffer type write buffer, execution of the oldest command with priority leads to securing a free space in the buffer. Therefore, in this example, as shown in FIG. 5E, the execution order of the write command WR1 first obtained from the host 51 is first set. Further, the FUA command is set to the next execution order of the write command WR1. As a result, it is possible to suppress an increase in the waiting time of the host 51 due to a delay in the execution of the FUA command while securing a free area in the ring buffer method. Note that, from the viewpoint of early execution of the FUA command, it is preferable to set the FUA command execution order second, but the FUA command is not limited to this as long as the FUA command is prioritized.

上述のように、ホスト51の待ち時間を短縮する観点からはFUAコマンドを優先的に実行することが好ましい。しかし、HDD1の処理制御においては、HDD1のスループットなど、他の特性を優先することが好ましい場合がある。従って、HDD1は、複数の異なる実行順序決定方法を備え、FUAコマンドを受信した場合、予め定められた基準に従って、複数の決定方法の中から最適な決定方法を選択することが好ましい。実行順序決定方法は、図2−4を参照して説明したように、FUAコマンドを最優先として実行順序を決定する決定方法など、FUAコマンドを受信した場合に非FUAコマンドよりも高い優先度で実行順序を決定する方法の他、FUAコマンドを考慮しないRPOなど、FUAコマンドを非FUAコマンドと区別することなく実行順序を決定する方法を含む。   As described above, it is preferable to preferentially execute the FUA command from the viewpoint of shortening the waiting time of the host 51. However, in processing control of the HDD 1, it may be preferable to prioritize other characteristics such as the throughput of the HDD 1. Therefore, it is preferable that the HDD 1 includes a plurality of different execution order determination methods, and when an FUA command is received, an optimal determination method is selected from the plurality of determination methods according to a predetermined criterion. As described with reference to FIG. 2-4, the execution order determination method has a higher priority than the non-FUA command when a FUA command is received, such as a determination method that determines the execution order with the FUA command as the highest priority. In addition to the method for determining the execution order, a method for determining the execution order without distinguishing FUA commands from non-FUA commands, such as RPO that does not consider FUA commands, is included.

例えば、HDD1は、図6(a)に示すよう、5つのライト・コマンドWRを、WR1−WR2−WR3−WR4−WR5の順序で、ホスト51から取得する。続いて、図6(b)に示すように、RPOなどのリオーダリングを実行して、実行順序をWR2−WR3−WR1−WR5−WR4の順に設定する。さらに、図6(c)に示すように、これらのライト・コマンドWRを実行する前に、HDD1はホスト51からFUAコマンドを受信する。   For example, the HDD 1 acquires five write commands WR from the host 51 in the order of WR1-WR2-WR3-WR4-WR5 as shown in FIG. Subsequently, as shown in FIG. 6B, reordering such as RPO is executed, and the execution order is set in the order of WR2-WR3-WR1-WR5-WR4. Further, as shown in FIG. 6C, the HDD 1 receives the FUA command from the host 51 before executing these write commands WR.

ここで、HDD1は、予め定められている条件に従って実行順序決定方法を選択する。例えば、図6(d)に示すように、HDD1は、FUAコマンドに係わりなく、RPOに従ってライト・コマンドの実行順序が決定される。図6(d)の例においては、FUAコマンドは6つのライト・コマンドの最後に設定されている。あるいは、図6(e)に示すように、FUAコマンドを優先してリオーダリングを実行する。図6(e)の例においては、新たに取得したFUAコマンドを最初の実行順序に設定している。   Here, the HDD 1 selects an execution order determination method according to a predetermined condition. For example, as shown in FIG. 6D, the HDD 1 determines the execution order of the write commands according to the RPO regardless of the FUA command. In the example of FIG. 6D, the FUA command is set at the end of the six write commands. Alternatively, as shown in FIG. 6E, reordering is executed with priority given to the FUA command. In the example of FIG. 6E, the newly acquired FUA command is set in the first execution order.

以下においては、FUAを優先するFUA優先決定方法と、FUAコマンドに係わらずHDD1のスループット優先で(書き込み効率優先で)リオーダリングする方法(スループット優先決定方法)の2つを備える例を説明する。HDD1が実行順序の決定方法を選択するいくつかの基準について説明を行う。   In the following, an example will be described that includes two methods: a FUA priority determination method that prioritizes FUA and a reordering method (through throughput priority priority) of HDD 1 regardless of the FUA command (priority in write efficiency). Some criteria for the HDD 1 to select the execution order determination method will be described.

一つの好ましい例において、HDD1は、ライト・バッファの空き容量に基づいて実行順序決定方法を選択する。具体的には、ライト・バッファの空き容量が多い場合、HDD1はFUA優先決定方法を選択する。一方、少ない場合は、スループット優先決定方法を選択する。   In one preferred example, the HDD 1 selects an execution order determination method based on the free capacity of the write buffer. Specifically, when the free capacity of the write buffer is large, the HDD 1 selects the FUA priority determination method. On the other hand, if the number is low, the throughput priority determination method is selected.

図7のフロー・チャートを参照して、具体的に説明する。HDD1は、FUAコマンドを含まない複数の未実行ライト・コマンドを、スループット優先決定方法に従って、リオーダリングする(S11)。その後、HDD1は、FUAコマンドを取得すると(S12)、ライト・バッファの空き容量を計算し、その空き容量が予め定められた基準値未満であるかを判定する(S13)。基準値未満である場合、HDD1はFUAコマンドを優先することなく、HDD1のスループットを優先して、スループット優先決定方法を選択する(S14)。   This will be specifically described with reference to the flowchart of FIG. The HDD 1 reorders a plurality of unexecuted write commands not including the FUA command according to the throughput priority determination method (S11). Thereafter, when the HDD 1 acquires the FUA command (S12), the HDD 1 calculates the free capacity of the write buffer and determines whether the free capacity is less than a predetermined reference value (S13). If it is less than the reference value, the HDD 1 gives priority to the throughput of the HDD 1 without giving priority to the FUA command, and selects a throughput priority determination method (S14).

一方、ライト・バッファの空き容量が基準値以上である場合、HDD1はFUAコマンドを優先してコマンド実行順序を決定する(S15)。つまり、HDD1はFUA優先決定方法を選択してライト・コマンドの実行順序を決定する。このように、FUAコマンドを取得した場合、ライト・バッファの空き容量に従って実行順序決定方法を変化させることによって、ライト・バッファの空きが十分にあるときには、早くホスト51とのインターフェースをレディにし、後続コマンドを受信するようにする。一方、ライト・バッファの空きに余裕がないときは、磁気ディスク11への書き込みを優先してライト・バッファが早く空くように処理することができる。   On the other hand, when the free capacity of the write buffer is equal to or larger than the reference value, the HDD 1 prioritizes the FUA command and determines the command execution order (S15). That is, the HDD 1 selects the FUA priority determination method and determines the execution order of the write commands. As described above, when the FUA command is acquired, by changing the execution order determination method according to the free capacity of the write buffer, when the write buffer is sufficiently free, the interface with the host 51 is made ready and the subsequent Receive commands. On the other hand, when there is no room in the write buffer, writing to the magnetic disk 11 is prioritized so that the write buffer can be processed quickly.

他の好ましい例において、HDD1は、既にキャッシュされているライト・コマンドのコマンド数(図6の例では5つ)に基づいて実行順序決定方法を選択する。具体的には、キャッシュ・されているライト・コマンド数が多い場合、HDD1はスループット優先決定方法を選択する。一方、少ない場合は、FUA優先決定方法を選択する。   In another preferred example, the HDD 1 selects an execution order determination method based on the number of write commands already cached (five in the example of FIG. 6). Specifically, when the number of cached write commands is large, the HDD 1 selects a throughput priority determination method. On the other hand, if the number is small, the FUA priority determination method is selected.

図8のフロー・チャートを参照して、具体的に説明する。HDD1は、FUAコマンドを含まない複数の未実行ライト・コマンドを、スループット優先決定方法に従って、リオーダリングする(S21)。その後、HDD1は、FUAコマンドを所得すると(S22)、キャッシュされているライト・コマンド数を計算し、その数が予め定められた基準値未満であるかを判定する(S23)。図6の例においては、ライト・コマンド数は5である。ライト・コマンド数が基準値以上である場合、HDD1はFUAコマンドを優先することなく、HDD1のスループットを優先して、スループット優先決定方法を選択する(S24)。   This will be specifically described with reference to the flowchart of FIG. The HDD 1 reorders a plurality of unexecuted write commands not including the FUA command according to the throughput priority determination method (S21). Thereafter, when the HDD 1 obtains a FUA command (S22), it calculates the number of cached write commands and determines whether the number is less than a predetermined reference value (S23). In the example of FIG. 6, the number of write commands is five. If the number of write commands is equal to or greater than the reference value, the HDD 1 selects the throughput priority determination method by giving priority to the throughput of the HDD 1 without giving priority to the FUA command (S24).

一方、キャッシュされているライト・コマンド数が基準値未満である場合、HDD1はFUAコマンドを優先してコマンド実行順序を決定する(S25)。つまり、HDD1はFUA優先決定方法を選択してライト・コマンドの実行順序を決定する。このように、FUAコマンドを取得した場合、ライト・コマンド数に従って実行順序決定方法を変化させることによってライト・バッファにキャッシュしているライト・コマンドが少ないときは、早くインターフェースをレディにし、後続コマンドを受信するようにし、キャッシュしているライト・コマンドが多いときには、磁気ディスク11への書き込みを優先してライト・バッファが早く空くように処理する。   On the other hand, if the number of cached write commands is less than the reference value, the HDD 1 prioritizes the FUA command and determines the command execution order (S25). That is, the HDD 1 selects the FUA priority determination method and determines the execution order of the write commands. In this way, when the FUA command is acquired, when the number of write commands cached in the write buffer is small by changing the execution order determination method according to the number of write commands, the interface is ready and the subsequent command is changed. When there are many cached write commands, the writing to the magnetic disk 11 is prioritized and processing is performed so that the write buffer is quickly cleared.

キャッシュされているライト・コマンド数の他に、キャッシュされているライト・コマンドに対応するライト・データのセクタ数に基づいて実行順序決定方法を選択することは、他の好ましい例である。セクタ数が多い場合、HDD1はスループット優先決定方法を選択する。一方、少ない場合は、FUA優先決定方法を選択する。HDD1は、FUAコマンドを取得すると、キャッシュされているライト・コマンドのデータ・セクタ数(ライト・データ量)を合計し、それが基準値以上であるか判定する。基準値以上である場合、HDD1はスループット優先決定方法を選択し、基準値未満である場合、FUA優先決定方法を選択する。なお、セクタ数の算出に、新たに取得したFUAコマンドのライト・データを含むことができる。このように、書き込むデータ・セクタ数に従って実行順序決定方法を変化させることによって、ライト・バッファにキャッシュしているライトデータが少ないときは、早くインターフェースをレディにして後続コマンドを受信するようにし、キャッシュしているライト・データが多いときには、磁気ディスク11の書き込みを優先してライト・バッファが早く空くように処理する。   In addition to the number of cached write commands, selecting the execution order determination method based on the number of write data sectors corresponding to the cached write command is another preferred example. When the number of sectors is large, the HDD 1 selects a throughput priority determination method. On the other hand, if the number is small, the FUA priority determination method is selected. When the HDD 1 obtains the FUA command, the HDD 1 sums up the number of data sectors (write data amount) of the cached write command and determines whether it is equal to or greater than the reference value. If it is equal to or greater than the reference value, the HDD 1 selects the throughput priority determination method, and if it is less than the reference value, the HDD 1 selects the FUA priority determination method. The calculation of the number of sectors can include newly acquired FUA command write data. In this way, by changing the execution order determination method according to the number of data sectors to be written, when the write data cached in the write buffer is small, the interface is ready and the subsequent command is received soon. When there is a large amount of write data being processed, the writing to the magnetic disk 11 is prioritized and processing is performed so that the write buffer becomes free early.

あるいは、キャッシュされているライト・コマンドの実行時間に基づいて実行順序決定方法を選択することは、他の好ましい例である。実行時間が基準値より短い場合、HDD1はスループット優先決定方法を選択する。一方、実行時間が基準値より長い場合は、FUA優先決定方法を選択する。HDD1は、FUAコマンドを取得すると、スループット優先でリオーダリングしたのち、FUAの実行までに実行される各ライト・コマンドの実行時間を計算する。実行時間は、シーク時間、回転待ち時間、そして書き込み時間を含む。これらの実行時間を合計し、その値が基準値以上であるか判定する。基準値以上である場合、HDD1はFUA優先決定方式を選択し、基準値未満である場合、スループット優先決定方式を選択する。   Alternatively, selecting the execution order determination method based on the execution time of the cached write command is another preferable example. If the execution time is shorter than the reference value, the HDD 1 selects the throughput priority determination method. On the other hand, if the execution time is longer than the reference value, the FUA priority determination method is selected. When the HDD 1 acquires the FUA command, the HDD 1 calculates the execution time of each write command to be executed before the FUA is executed after reordering with priority on throughput. The execution time includes a seek time, a rotation waiting time, and a writing time. These execution times are totaled and it is determined whether the value is equal to or greater than a reference value. If it is equal to or greater than the reference value, the HDD 1 selects the FUA priority determination method, and if it is less than the reference value, the HDD 1 selects the throughput priority determination method.

なお、実行時間の計算において、シーク時間と書き込み時間に対して、エラーによるリトライ処理と実行時のバラツキを考慮した係数をかけることが好ましい。このように、書き込みの実行時間に従って実行順序決定方法を変化させることによってFUAコマンドの完了通知があまりにも遅くなることを防ぐことができる。つまり、メディアへの書き込みにおいて効率的な順序が選ばれたことにより、FUAコマンドの処理が後回しになると、場合によっては、FUAコマンドがタイムアウトになる可能性がある。実行時間を予測して、規定時間内にFUAコマンドの完了通知をすることで、FUAコマンドのタイムアウトを防ぐことができる。なお、FUAコマンドを取得したとき、FUAコマンドを含まず、キャッシュされているライト・コマンドの実行時間のみを使用して、実行時間の基準値に対する判定をしてもよい。 In calculating the execution time, it is preferable to multiply the seek time and the write time by a coefficient that takes into account the retry process due to an error and variations at the time of execution. In this way, it is possible to prevent the FUA command completion notification from becoming too late by changing the execution order determination method according to the execution time of writing. In other words, if an efficient order is selected for writing to the media and the processing of the FUA command is postponed, the FUA command may time out in some cases. By predicting the execution time and notifying the completion of the FUA command within the specified time, it is possible to prevent a timeout of the FUA command. Note that when the FUA command is acquired, the execution time reference value may be determined using only the execution time of the cached write command without including the FUA command.

本形態においては、HDC/MPU23が上述のライト・キャッシュ制御を行う。そこで、HDC/MPU23のライト・キャッシュ制御処理の詳細について説明する。図9は、HDD1において、ライト・キャッシュ制御に関する構成を示すブロック図である。HDC/MPU23は、ハード・ウェア構成として、ホスト・インターフェース231、ドライブ・インターフェース232及びメモリ・マネージャ233を備えている。マイクロ・コードがMPU上で動作することによって、MPUは、ホスト・インターフェース・マネージャ234、コマンド実行マネージャ235及びキャッシュ・マネージャ236として機能することができる。メモリRAM24はコマンド及びデータを一時的に記憶し、ライト・バッファ241及びライト・キャッシュ・テーブル247として機能する。   In this embodiment, the HDC / MPU 23 performs the above-described write cache control. The details of the write cache control process of the HDC / MPU 23 will be described. FIG. 9 is a block diagram showing a configuration relating to write cache control in the HDD 1. The HDC / MPU 23 includes a host interface 231, a drive interface 232, and a memory manager 233 as hardware configurations. With the micro code running on the MPU, the MPU can function as a host interface manager 234, a command execution manager 235, and a cache manager 236. The memory RAM 24 temporarily stores commands and data, and functions as a write buffer 241 and a write cache table 247.

ホスト・インターフェース231は、ホスト51との間における実際のデータ伝送処理を実行し、データ伝送部として機能する。ドライブ・インターフェース232は、磁気ディスク11との間(あるいはリード・ライト・チャネル21との間)における実際のデータ入出力処理を行う。メモリ・マネージャ233はRAM(メモリ)24のデータ記憶を制御し、HDC/MPU23内の他の機能ブロックとRAM24との間におけるコマンド及びユーザ・データ(ライト/リード・データ)の仲介処理を行う。   The host interface 231 executes actual data transmission processing with the host 51 and functions as a data transmission unit. The drive interface 232 performs actual data input / output processing with the magnetic disk 11 (or with the read / write channel 21). The memory manager 233 controls data storage in the RAM (memory) 24, and performs mediation processing of commands and user data (write / read data) between the RAM 24 and other functional blocks in the HDC / MPU 23.

ホスト・インターフェース・マネージャ234はホスト・インターフェース231を管理するデータ伝送制御部として機能し、ホスト・インターフェース231との間において所定の通知あるいは命令の授受を行う。キャッシュ・マネージャ236は、キューされているライト・コマンドの再スケジューリングを実行し、適切なコマンド実行順序を決定する。コマンド実行マネージャ235は、キャッシュ・マネージャ236によって決定された順序に従って、コマンドの実行を制御する。さらに、ドライブ・インターフェース232を制御することによって、磁気ディスク11との間のデータ書き込み及びデータ読み出しを制御する。   The host interface manager 234 functions as a data transmission control unit that manages the host interface 231, and sends and receives predetermined notifications and commands to and from the host interface 231. The cache manager 236 performs rescheduling of the queued write commands and determines an appropriate command execution order. The command execution manager 235 controls the execution of commands according to the order determined by the cache manager 236. Further, by controlling the drive interface 232, data writing to and data reading from the magnetic disk 11 are controlled.

図10は、ライト・キャッシュ・テーブル247の一例を示している。図10において、コマンド番号は、ライト・キャッシュ・テーブル247における各コマンドの識別子である。コマンド・タイプは、各ライト・コマンドがFUAコマンドであるか否かを示す。データ長は、ライト・コマンドに対応するライト・データのデータ長、バッファ内開始位置はライト・バッファ内におけるライト・データの記憶開始位置である。磁気ディスクへの書き込み順序は、各ライト・データの磁気ディスク11への書き出し順序であり、図の例では、Wr1から順に磁気ディスク11に書き出される。   FIG. 10 shows an example of the write cache table 247. In FIG. 10, the command number is an identifier of each command in the write cache table 247. The command type indicates whether each write command is a FUA command. The data length is the data length of the write data corresponding to the write command, and the buffer start position is the write data storage start position in the write buffer. The order of writing to the magnetic disk is the order in which each write data is written to the magnetic disk 11, and in the example shown in FIG.

ライト・コマンドのリオーダリング処理の動作について説明する。ホスト51からライト・コマンド及びライト・データをホスト・インターフェース231が受信すると、メモリ・マネージャ233は、ライト・バッファ241にライト・データを格納する。キャッシュ・マネージャ236は、ライト・コマンドをライト・キャッシュ・テーブル247に記録する。つまり、ホスト・インターフェース231は、ホスト・インターフェース・マネージャ234、を介して、キャッシュ・マネージャ236にライト・コマンドの受信、そのコマンド・タイプ、LBA(Logical Block Address)、データ長を通知する。   The operation of the write command reordering process will be described. When the host command 231 receives a write command and write data from the host 51, the memory manager 233 stores the write data in the write buffer 241. The cache manager 236 records the write command in the write cache table 247. That is, the host interface 231 notifies the cache manager 236 of the write command reception, the command type, the LBA (Logical Block Address), and the data length via the host interface manager 234.

キャッシュ・マネージャ236は、ライト・コマンドを受信すると、ライト・キャッシュ・テーブル247の空いているレコードの各エントリに、ライト・コマンドに関するデータを記録する。ライト・キャッシュ・テーブル247への登録タイミングにおいて、このライト・コマンドの実行順序は、例えば、最後の順序とすることができる。   When the cache manager 236 receives the write command, the cache manager 236 records data relating to the write command in each entry of an empty record in the write cache table 247. At the timing of registration in the write cache table 247, the execution order of the write commands can be, for example, the last order.

受信したライト・コマンドが非FUAコマンドの場合、キャッシュ・マネージャ236は、ホスト・インターフェース・マネージャ234に、コマンド完了通知をホスト51に返すように要求する。ホスト・インターフェース・マネージャ234は、ホスト・インターフェース231を介して、ホスト51にコマンド完了通知を返す。さらに、キャッシュ・マネージャ236は、各ライト・コマンドの実行順序、つまり、ライト・データの磁気ディスク11への書き出し順序のリオーダリングを実行する。このとき、キャッシュ・マネージャ236は、上述の実行順序決定方法に従って実行順序を決定する。   If the received write command is a non-FUA command, the cache manager 236 requests the host interface manager 234 to return a command completion notification to the host 51. The host interface manager 234 returns a command completion notification to the host 51 via the host interface 231. Further, the cache manager 236 executes reordering of the execution order of each write command, that is, the order of writing the write data to the magnetic disk 11. At this time, the cache manager 236 determines the execution order according to the execution order determination method described above.

一方、受信したライト・コマンドがFUAコマンドの場合、コマンド完了通知をホスト51に返すことなく、キャッシュ・マネージャ236は、各ライト・コマンドの実行順序を決定する。この際、キャッシュ・マネージャ236は、上述のように、所定の条件に依存する実行順序決定方法に従って、ライト・コマンドのリオーダリングを実行する。   On the other hand, if the received write command is a FUA command, the cache manager 236 determines the execution order of each write command without returning a command completion notification to the host 51. At this time, as described above, the cache manager 236 executes the reordering of the write command according to the execution order determination method depending on the predetermined condition.

その後、キャッシュ・マネージャ236は、コマンド実行マネージャ235に実行すべきライト・コマンドを通知する。コマンド実行マネージャ235は、ドライブ・インターフェース232に、実行ライト・コマンドのライト・データを磁気ディスク11に書き込むことを指示する。ドライブ・インターフェース232は、メモリ・マネージャ233を介して、ライト・バッファ241からライト・データを取得し、磁気ディスク11に書き込むためにそのライト・データを転送する。   Thereafter, the cache manager 236 notifies the command execution manager 235 of a write command to be executed. The command execution manager 235 instructs the drive interface 232 to write the write data of the execution write command to the magnetic disk 11. The drive interface 232 acquires the write data from the write buffer 241 via the memory manager 233 and transfers the write data for writing to the magnetic disk 11.

磁気ディスク11への書き込みが完了すると、ドライブ・インターフェース232からコマンド実行マネージャ235に、書き込みが完了したことが通知される。FUAコマンドの実行が完了した場合、コマンド実行マネージャ235は、ホスト・インターフェース・マネージャ234に、FUAコマンドの完了通知をホスト51に送信することを要求する。ホスト・インターフェース・マネージャ234は、その要求に応答して、ホスト51にFUAコマンドの完了通知を返す。   When the writing to the magnetic disk 11 is completed, the drive interface 232 notifies the command execution manager 235 that the writing has been completed. When the execution of the FUA command is completed, the command execution manager 235 requests the host interface manager 234 to send a completion notification of the FUA command to the host 51. In response to the request, the host interface manager 234 returns a FUA command completion notification to the host 51.

尚、上記の説明は、本発明の実施形態を説明するものであり、本発明が上記の実施形態に限定されるものではない。当業者であれば、上記の実施形態の各要素を、本発明の範囲において容易に変更、追加、変換することが可能である。例えば、本形態のライト・バッファ制御を、磁気ディスク以外のメディアを利用するデータ記憶装置に適用することができる。   In addition, said description demonstrates embodiment of this invention and this invention is not limited to said embodiment. A person skilled in the art can easily change, add, and convert each element of the above-described embodiment within the scope of the present invention. For example, the write buffer control of this embodiment can be applied to a data storage device that uses media other than magnetic disks.

本実施形態に係るHDDの全体構成を模式的に示すブロック図である。1 is a block diagram schematically showing an overall configuration of an HDD according to an embodiment. 本実施形態に係るHDDにおいて、FUAコマンドを受信した場合に、FUAコマンドを優先してリオーダリングする方法を示す図である。FIG. 10 is a diagram illustrating a method for reordering a FUA command with priority when an FUA command is received in the HDD according to the embodiment. 本実施形態に係るHDDにおいて、シーケンシャルライトの手法を説明する図である。It is a figure explaining the technique of the sequential write in HDD concerning this embodiment. 本実施形態に係るHDDにおいて、FUAコマンドを受信した場合に、シーケンシャルライトを利用してリオーダリングする方法を示す図である。FIG. 6 is a diagram illustrating a method of reordering using sequential write when an FUA command is received in the HDD according to the present embodiment. 本実施形態において、リング・バッファ方式を利用するHDDがFUAコマンドを受信した場合におけるリオーダリングの方法を示す図である。In this embodiment, it is a figure which shows the reordering method in case HDD which uses a ring buffer system receives a FUA command. 本実施形態に係るHDDにおいて、FUAコマンドを受信した場合に、複数のリオーダリング方法から一つを選択する例を示す図である。FIG. 10 is a diagram illustrating an example of selecting one from a plurality of reordering methods when an FUA command is received in the HDD according to the present embodiment. 本実施形態に係るHDDにおいて、FUAコマンドを受信した場合に、複数のリオーダリング方法から一つを選択する例を示すフロー・チャートである。6 is a flowchart showing an example of selecting one from a plurality of reordering methods when an FUA command is received in the HDD according to the embodiment. 本実施形態に係るHDDにおいて、FUAコマンドを受信した場合に、複数のリオーダリング方法から一つを選択する他の例を示すフロー・チャートである。10 is a flowchart showing another example of selecting one from a plurality of reordering methods when an FUA command is received in the HDD according to the embodiment. 本実施形態に係るHDDにおいて、ライト・キャッシュ制御に関する論理構成を示すブロック図である。3 is a block diagram showing a logical configuration related to write cache control in the HDD according to the present embodiment. FIG. 本実施形態に係るHDDにおいて、ライト・キャッシュ制御のためのライト・キャッシュ・テーブルの一例を示す図である。4 is a diagram illustrating an example of a write cache table for write cache control in the HDD according to the present embodiment. FIG.

符号の説明Explanation of symbols

10 エンクロージャ、11 磁気ディスク、12 ヘッド素子部、
13 アーム・エレクトロニクス、14 スピンドル・モータ、
15 ボイス・コイル・モータ、16 アクチュエータ、20 回路基板
21 リード・ライト・チャネル、22 モータ・ドライバ・ユニット、51 ホスト
231 ホスト・インターフェース、232 ドライブ・インターフェース、
233 メモリ・マネージャ、234 ホスト・インターフェース・マネージャ
235 コマンド実行マネージャ、236 キャッシュ・マネージャ
10 enclosure, 11 magnetic disk, 12 head element,
13 Arm Electronics, 14 Spindle Motor,
15 voice coil motor, 16 actuator, 20 circuit board 21 read / write channel, 22 motor driver unit, 51 host 231 host interface, 232 drive interface,
233 Memory manager, 234 Host interface manager 235 Command execution manager, 236 Cache manager

Claims (19)

メディアに書き込むべきライト・データを一時的に記憶するライト・バッファと、
前記メディアに書き込むべきライト・データのそれぞれと対応するライト・コマンドに関する情報を登録するテーブルと、
前記テーブルに登録されているライト・コマンドの実行順序を決定するキャッシュ・マネージャと、を備え、
前記キャッシュ・マネージャは、前記メディアへの書き込み完了後にコマンド完了通知をホストへ送信するメディア書き込み強制コマンドを取得した場合、非メディア書き込み強制コマンドを取得した場合よりも高い優先度においてその実行順序を決定する、
データ記憶装置。
A write buffer for temporarily storing write data to be written to the medium;
A table for registering information on a write command corresponding to each write data to be written to the medium;
A cache manager that determines the execution order of write commands registered in the table,
When the cache manager obtains a media write forcing command that sends a command completion notification to the host after writing to the media is completed, it determines the execution order at a higher priority than when it obtains a non-media write forcing command. To
Data storage device.
前記キャッシュ・マネージャは、キャッシュされており、前記メディア書き込み強制コマンドの後に実行されるライト・コマンドについて、リオーダリングを再実行する、請求項1に記載のデータ記憶装置。   The data storage device according to claim 1, wherein the cache manager is cached and re-executes reordering for a write command executed after the media write forcing command. 前記キャッシュ・マネージャは、ホストからメディア書き込み強制コマンドを取得した場合、そのメディア書き込み強制コマンド、もしくは、そのメディア書き込み強制コマンドを含み互いに関連づけられた一連のライト・コマンドを、最初の実行順序に設定する、請求項1に記載のデータ記憶装置。   When the cache manager acquires a media write forced command from the host, the cache manager sets the media write forced command or a series of write commands including the media write forced command and associated with each other in the first execution order. The data storage device according to claim 1. 前記互いに関連付けられた一連のライト・コマンドは、そのアドレスが予め定められた範囲にあり、対応するライト・データが1回の書き込み処理で前記メディアへ書き込まれる、請求項3に記載のデータ記憶装置。   4. The data storage device according to claim 3, wherein the series of write commands associated with each other has an address in a predetermined range, and corresponding write data is written to the medium in one write process. . 前記ライト・バッファはリング・バッファ方式のバッファであり、
前記キャッシュ・マネージャは、キャッシュされているライト・コマンドの中で、最古のライト・コマンドよりも後に前記メディア書き込み強制コマンドの実行順序を設定する、
請求項1に記載のデータ記憶装置。
The write buffer is a ring buffer type buffer,
The cache manager sets the execution order of the media write forced command after the oldest write command among the cached write commands.
The data storage device according to claim 1.
前記キャッシュ・マネージャは、キャッシュされているライト・コマンドの中で、最古のライト・コマンドを最初の実行順序に設定し、前記メディア書き込み強制コマンドの実行順序を前記最古のライト・コマンドの次に設定する、請求項5に記載のデータ記憶装置。   The cache manager sets the oldest write command among the cached write commands to the first execution order, and sets the execution order of the media write forced command next to the oldest write command. The data storage device according to claim 5, wherein メディアに書き込むべきライト・データを一時的に記憶するライト・バッファと、
前記ライト・バッファに記憶されているライト・データのそれぞれと対応するライト・コマンドに関する情報を登録するテーブルと、
前記テーブルに登録されているライト・コマンドの実行順序を決定するキャッシュ・マネージャと、を備え、
前記キャッシュ・マネージャは、前記メディアへの書き込み完了後にコマンド完了通知をホストへ送信するメディア書き込み強制コマンドを取得した場合、その実行順序の決定のために、すでに前記テーブルに登録されているライト・コマンドを参照して、複数の決定方法の中から前記メディア書き込み強制コマンドの実行順序決定方法を選択する、
データ記憶装置。
A write buffer for temporarily storing write data to be written to the medium;
A table for registering information on write commands corresponding to each of the write data stored in the write buffer;
A cache manager that determines the execution order of write commands registered in the table,
When the cache manager obtains a media write forced command for sending a command completion notification to the host after writing to the media is completed, the write command already registered in the table is determined to determine the execution order. To select an execution order determination method of the media write forcing command from a plurality of determination methods,
Data storage device.
前記キャッシュ・マネージャは、前記ライト・バッファの空き領域に基づいて、前記メディア書き込み強制コマンドの実行順序決定方法を選択する、請求項7に記載のデータに項装置。   8. The apparatus according to claim 7, wherein the cache manager selects an execution order determination method of the media write forced command based on an empty area of the write buffer. 前記キャッシュ・マネージャは、キャッシュされているライト・コマンド数に基づいて、前記メディア書き込み強制コマンドの実行順序決定方法を選択する、請求項7に記載のデータに項装置。   8. The apparatus according to claim 7, wherein the cache manager selects an execution order determination method of the media write forced command based on the number of cached write commands. 前記キャッシュ・マネージャは、キャッシュされているライト・コマンドが対応するライト・データ量に基づいて、前記メディア書き込み強制コマンドの実行順序決定方法を選択する、請求項7に記載のデータに項装置。   8. The apparatus according to claim 7, wherein the cache manager selects an execution order determination method for the media write forced command based on a write data amount corresponding to a cached write command. 前記キャッシュ・マネージャは、ライト・コマンドの予想される実行時間に基づいて、前記メディア書き込み強制コマンドの実行順序決定方法を選択する、請求項7に記載のデータに項装置。   8. The apparatus according to claim 7, wherein the cache manager selects a method of determining an execution order of the media write forced command based on an expected execution time of a write command. 前記複数の決定方法は、非メディア書き込み強制コマンドを取得した場合よりも高い優先度においてメディア書き込み強制コマンドの実行順序を決定する第1の決定方法と、メディア書き込み強制コマンドと非メディア書き込み強制コマンドとを区別することなく実行順序を決定する第2の決定方法とを含む、請求項7に記載のデータ記憶装置。   The plurality of determination methods include a first determination method for determining an execution order of media write forced commands at a higher priority than when a non-media write forced command is acquired, a media write forced command, and a non-media write forced command; The data storage device according to claim 7, further comprising: a second determination method that determines an execution order without distinguishing between the two. 前記キャッシュ・マネージャは、前記ライト・バッファの空き領域が基準値以上であることを条件として、前記第1の決定方法を選択する、請求項12に記載のデータ記憶装置。   The data storage device according to claim 12, wherein the cache manager selects the first determination method on condition that an empty area of the write buffer is equal to or greater than a reference value. 前記キャッシュ・マネージャは、キャッシュされているライト・コマンド数が基準値よりも小さいことを条件として、前記第1の決定方法を選択する、請求項12に記載のデータ記憶装置。   The data storage device according to claim 12, wherein the cache manager selects the first determination method on condition that the number of cached write commands is smaller than a reference value. 前記キャッシュ・マネージャは、すでにキャッシュされているライト・コマンドが対応するライト・データ量が基準値よりも小さいことを条件として、前記第1の決定方法を選択する、請求項12に記載のデータ記憶装置。   The data storage according to claim 12, wherein the cache manager selects the first determination method on condition that a write data amount corresponding to a write command already cached is smaller than a reference value. apparatus. 前記キャッシュ・マネージャは、既にキャッシュされているライト・コマンドと前記メディア書き込み強制コマンドとが対応するライト・データ量が基準値よりも小さいことを条件として、前記第1の決定方法を選択する、請求項12に記載のデータ記憶装置。   The cache manager selects the first determination method on condition that a write data amount corresponding to a write command already cached and the media write forced command is smaller than a reference value. Item 13. A data storage device according to Item 12. 前記キャッシュ・マネージャは、メディア書き込み強制コマンドの実行までに予想されるライト・コマンド実行時間が基準値よりも小さいことを条件として、前記第2の決定方法を選択する、請求項12に記載のデータ記憶装置。   The data according to claim 12, wherein the cache manager selects the second determination method on condition that a write command execution time expected until execution of a media write forced command is smaller than a reference value. Storage device. データ記憶装置におけるライト・キャッシュ制御方法であって、
取得したライト・コマンドに関する情報を登録し、
前記ライト・コマンドに対応し、メディアに書き込むべきライト・データをライト・バッファに記憶し、
登録された複数のライト・コマンドの実行順序の決定において、前記メディアへの書き込み完了後にコマンド完了通知を送信するメディア書き込み強制コマンドを受信した場合、非メディア書き込み強制コマンドを取得した場合よりも高い優先度においてその実行順序を決定する、
ライト・キャッシュ制御方法。
A write cache control method in a data storage device, comprising:
Register information about the acquired write command,
In response to the write command, the write data to be written to the medium is stored in the write buffer,
In determining the execution order of a plurality of registered write commands, when receiving a media write forced command that sends a command completion notification after completion of writing to the media, higher priority than when receiving a non-media write forced command Determine the execution order in degrees,
Write cache control method.
データ記憶装置におけるライト・キャッシュ制御方法であって、
取得したライト・コマンドに関する情報を登録し、
前記ライト・コマンドに対応し、メディアに書き込むべきライト・データをライト・バッファに記憶し、
前記メディアへの書き込み完了後にコマンド完了通知を送信するメディア書き込み強制コマンドを受信した場合、実行すべきライト・コマンドの実行順序を決定するために、すでに登録されているライト・コマンドを参照して、複数の決定方法の中から実行順序決定方法を選択する、
ライト・キャッシュ制御方法。
A write cache control method in a data storage device, comprising:
Register information about the acquired write command,
In response to the write command, the write data to be written to the medium is stored in the write buffer,
When receiving a media write forced command for sending a command completion notification after the completion of writing to the media, in order to determine the execution order of the write commands to be executed, refer to the write commands already registered, Select execution order determination method from multiple determination methods,
Write cache control method.
JP2005063282A 2005-03-08 2005-03-08 Data storage device Expired - Fee Related JP5030387B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005063282A JP5030387B2 (en) 2005-03-08 2005-03-08 Data storage device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005063282A JP5030387B2 (en) 2005-03-08 2005-03-08 Data storage device

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2011220592A Division JP2012038330A (en) 2011-10-05 2011-10-05 Hard disk drive

Publications (2)

Publication Number Publication Date
JP2006251844A true JP2006251844A (en) 2006-09-21
JP5030387B2 JP5030387B2 (en) 2012-09-19

Family

ID=37092320

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005063282A Expired - Fee Related JP5030387B2 (en) 2005-03-08 2005-03-08 Data storage device

Country Status (1)

Country Link
JP (1) JP5030387B2 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009116834A (en) * 2007-11-09 2009-05-28 Sony Corp Data recording device, method for internal control of data recording device, and data recording system
JP2012532397A (en) * 2009-07-02 2012-12-13 サンドフォース インク. Ordering multiple write commands associated with a storage device
JP2013541766A (en) * 2010-09-15 2013-11-14 ピュア・ストレージ・インコーポレイテッド Scheduling I / O writes in a storage environment
KR101751952B1 (en) * 2014-11-11 2017-07-14 삼성전자주식회사 Operating method of storage device and data writing method for writing data into storage device

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05257810A (en) * 1992-03-16 1993-10-08 Matsushita Electric Ind Co Ltd Information recording and reproducing device and information recording method
JPH11345092A (en) * 1998-05-29 1999-12-14 Nec Software Ltd Asynchronous data updating system and method
JP2000056932A (en) * 1998-08-10 2000-02-25 Matsushita Electric Ind Co Ltd Disk controller
JP2001067297A (en) * 1999-07-26 2001-03-16 Internatl Business Mach Corp <Ibm> Method for determining whether or not command is to be sent to disk drive, and disk controller
JP2001216092A (en) * 2000-01-27 2001-08-10 Internatl Business Mach Corp <Ibm> Data writing method, data reading method, disk drive and disk drive controller
JP2003122631A (en) * 2001-10-12 2003-04-25 Internatl Business Mach Corp <Ibm> Data storage device, computer system, data processor and data processing method

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05257810A (en) * 1992-03-16 1993-10-08 Matsushita Electric Ind Co Ltd Information recording and reproducing device and information recording method
JPH11345092A (en) * 1998-05-29 1999-12-14 Nec Software Ltd Asynchronous data updating system and method
JP2000056932A (en) * 1998-08-10 2000-02-25 Matsushita Electric Ind Co Ltd Disk controller
JP2001067297A (en) * 1999-07-26 2001-03-16 Internatl Business Mach Corp <Ibm> Method for determining whether or not command is to be sent to disk drive, and disk controller
JP2001216092A (en) * 2000-01-27 2001-08-10 Internatl Business Mach Corp <Ibm> Data writing method, data reading method, disk drive and disk drive controller
JP2003122631A (en) * 2001-10-12 2003-04-25 Internatl Business Mach Corp <Ibm> Data storage device, computer system, data processor and data processing method

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009116834A (en) * 2007-11-09 2009-05-28 Sony Corp Data recording device, method for internal control of data recording device, and data recording system
US8112583B2 (en) 2007-11-09 2012-02-07 Sony Corporation Data recording for a hard drive in response to commands
JP2012532397A (en) * 2009-07-02 2012-12-13 サンドフォース インク. Ordering multiple write commands associated with a storage device
US8930606B2 (en) 2009-07-02 2015-01-06 Lsi Corporation Ordering a plurality of write commands associated with a storage device
JP2013541766A (en) * 2010-09-15 2013-11-14 ピュア・ストレージ・インコーポレイテッド Scheduling I / O writes in a storage environment
US9423967B2 (en) 2010-09-15 2016-08-23 Pure Storage, Inc. Scheduling of I/O writes in a storage environment
JP2016167301A (en) * 2010-09-15 2016-09-15 ピュア・ストレージ・インコーポレイテッド Scheduling of i/o writes in storage environment
US9684460B1 (en) 2010-09-15 2017-06-20 Pure Storage, Inc. Proactively correcting behavior that may affect I/O performance in a non-volatile semiconductor storage device
KR101751952B1 (en) * 2014-11-11 2017-07-14 삼성전자주식회사 Operating method of storage device and data writing method for writing data into storage device

Also Published As

Publication number Publication date
JP5030387B2 (en) 2012-09-19

Similar Documents

Publication Publication Date Title
US7320050B2 (en) Data transmission control method and storage device
US7373460B2 (en) Media drive and command execution method thereof
US7664884B2 (en) Media drive that creates a transfer unnecessary period, and power saving method thereof
US7475265B2 (en) Data storage device and control method for power-saving modes of serial interface thereof
US7631117B2 (en) Method for communicating between host and storage device, storage device, host, and system comprising storage device and host
US20100079904A1 (en) Storage control method, storage control unit and storage apparatus
JP4991605B2 (en) Data storage device and control method thereof
US7225293B2 (en) Method, system, and program for executing input/output requests
JP2006164012A (en) Data storage device and control method for power save mode
US7451261B2 (en) Data storage device and control method with buffer control thereof
JP3823040B2 (en) Data storage device, data processing device, method for optimizing execution order of write request, data processing method, and hard disk drive
JP4630933B2 (en) Disk controller, disk drive device, and disk control method
JPWO2003071534A1 (en) DATA ACCESS CONTROL DEVICE, DATA ACCESS CONTROL METHOD, CONTROLLER, AND COMPUTER PROGRAM
US6567886B1 (en) Disk drive apparatus and control method thereof
JP5030387B2 (en) Data storage device
US8117491B2 (en) Disk-drive device and method for error recovery thereof
US20060129716A1 (en) Data storage device and buffer control method thereof
US20040015878A1 (en) Reordering controller, reordering method and storage apparatus
US8320066B2 (en) Storage device and read/write processing method therefor
JP2010282422A (en) Data storage device and data transfer control method
JP2012038330A (en) Hard disk drive
JPWO2008129616A1 (en) Storage device, storage device control device, and storage device control method
JP2007094995A (en) Disc storage device, cache control method of disc storage device
JP2008021351A (en) Method for reassigning sector on media, and data storage
JP2003208761A (en) Disk drive

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071128

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20071128

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20100510

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100611

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100810

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20101104

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20101109

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20101203

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20101208

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110111

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110823

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111005

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120529

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120626

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150706

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees