JP2006251844A - Data storage device, and its write cache control method - Google Patents
Data storage device, and its write cache control method Download PDFInfo
- 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
Links
Images
Abstract
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.
ホストと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
HDD1は、エンクロージャ10の外側に固定された回路基板20を備えている。回路基板20上には、リード・ライト・チャネル(R/Wチャネル)21、モータ・ドライバ・ユニット22、ハードディスク・コントローラ(HDC)とMPUの集積回路(以下、HDC/MPU)23、及びメモリの一例であるRAM24などの各ICを備えている。尚、各回路構成は一つのICに集積すること、あるいは、複数のICに分けて実装することができる。
The
外部ホスト51からのライト・データは、HDC/MPU23によって受信され、R/Wチャネル21、AE13を介して、ヘッド素子部12によって磁気ディスク11に書き込まれる。また、磁気ディスク11に記憶されているリード・データはヘッド素子部12によって読み出され、そのリード・データは、AE13、R/Wチャネル21を介して、HDC/MPU23から外部ホスト51に出力される。
Write data from the
次に、HDD1の各構成要素について説明する。磁気ディスク11は、SPM14に固定されている。SPM14は所定の速度で磁気ディスク11を回転する。HDC/MPU23からの制御データに従って、モータ・ドライバ・ユニット22がSPM14を駆動する。本例の磁気ディスク11は、データを記録する記録面を両面に備え、各記録面に対応するヘッド素子部12が設けられている。
Next, each component of the
各ヘッド素子部12はスライダ(不図示)に固定されている。また、スライダはアクチュエータ16に固定されている。アクチュエータ16はVCM15に連結され、回転軸を中心に揺動することによって、ヘッド素子部12(及びスライダ)を磁気ディスク11上において半径方向に移動する。モータ・ドライバ・ユニット22は、HDC/MPU23からの制御データに従ってVCM15を駆動する。
Each
ヘッド素子部12には、典型的には、磁気ディスク11への記録データに応じて電気信号を磁界に変換する記録ヘッド、及び磁気ディスク11からの磁界を電気信号に変換する再生ヘッドを備えている。なお、磁気ディスク11は、1枚以上あればよく、記録面は磁気ディスク11の片面あるいは両面に形成することができる。
The
続いて各回路部の説明を行う。AE13は、複数のヘッド素子部12の中からデータ・アクセスが行われる1つのヘッド素子部12を選択し、選択されたヘッド素子部12により再生される再生信号を一定のゲインで増幅(プリアンプ)し、R/Wチャネル21に送る。また、R/Wチャネル21からの記録信号を選択されたヘッド素子部12に送る。
Subsequently, each circuit unit will be described. The
R/Wチャネル21は、ホスト51から転送されたデータについて、ライト処理を実行する。ライト処理において、R/Wチャネル21はHDC/MPU23から供給されたライト・データをコード変調し、更にコード変調されたライト・データをライト信号に変換してAE13に供給する。また、ホスト51にデータを供給する際にはリード処理を行う。リード処理において、R/Wチャネル21はAE13から供給されたリード信号を一定の振幅となるように増幅し、取得したリード信号からデータを抽出し、デコード処理を行う。読み出されるデータは、ユーザ・データとサーボ・データを含む。デコード処理されたリード・データは、HDC/MPU23に供給される。
The R /
HDC/MPU23において、MPUはRAM24にロードされたマイクロ・コードに従って動作する。HDD1の起動に伴い、RAM24には、MPU上で動作するマイクロ・コードの他、制御及びデータ処理に必要とされるデータが磁気ディスク11あるいはROM(不図示)からロードされる。HDC/MPU23は、コマンド実行順序の管理、ヘッド素子部12のポジショニング制御、インターフェース制御、ディフェクト管理などのデータ処理に関する必要な処理の他、HDD1の全体制御を実行する。
In the HDC /
HDC/MPU23は、R/Wチャネル21から取得した磁気ディスク11からのリード・データを、ホスト51に伝送する。磁気ディスク11からのリード・データは、RAM24内のリード・バッファに一旦格納された後、HDC/MPU23を介してホスト51に転送される。また、ホスト51からのライト・データは、HDC/MPU23を介して、RAM24内のライト・バッファに一旦格納され、その後、所定のタイミングでHDC/MPU23を介して磁気ディスク11に転送される。
The HDC /
続いて、本実施形態に係るHDD1のライト・キャッシュ処理について説明する。本形態のHDD1はライト・キャッシュがオンの状態であり、ライト・データのライト・バッファへの格納が完了したタイミングで、対応するライト・コマンドの完了通知をホスト51に送信することができる。ホスト51は、HDD1からコマンド完了通知を受信した段階で、HDD1に対して新たなコマンドを発行することができる。
Subsequently, the write cache process of the
また、本形態のHDD1は及びホスト51は、HDD1からホスト51へのコマンド完了通知を、記録ディスク11への書き込み完了後に行うライト・コマンドをサポートする。このようなライト・コマンドの最も典型的な一例は、ATA Standard 7で標準化されているFUA(Forced Unit Access)シリーズのコマンドである。ホスト51からFUAコマンドを取得したHDD1は、ライト・キャッシュがONの状態にあっても、そのライト・データを磁気ディスク11に書き込んだ後に、ホスト51に対してコマンド完了通知を送信する。
In addition, the
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
以下において、未実行(磁気ディスク11へのデータ書き込みが未完了)のライト・コマンドがキューされているタイミングで、HDD1がホスト51からFUAコマンドを取得した場合における、コマンド実行順序の決定について説明する。HDD1は、非FUAコマンドだけをキャッシュしている場合、効率的な内部処理を行うため、RPO(Rotational Positioning Optimization)等のアルゴリズムを使用して、ライト・データの磁気ディスク11への書き出し順序を最適化する。
In the following, determination of command execution order when the
FUAコマンドが発行された場合、HDD1はそのコマンドの実行が完了するまで、つまりライト・データの磁気ディスク11への書き込みが完了するまで、コマンド完了通知を返すことができず、HDD1とホスト51との間のインターフェースがビジー状態となる。このため、FUAコマンドをホスト51から取得した場合、取得したライト・コマンドが非FUAコマンドである場合よりも、高い優先度においてライト・コマンドの実行順序を再決定(リオーダリング)することが好ましい。
When the FUA command is issued, the
好ましい例の一つにおいて、HDD1は、ホスト51からFUAコマンドを受信すると、既にキャッシュされている他のライト・コマンドに対して最優先で、そのFUAコマンドを実行する。つまり、キャッシュされている全てのライト・コマンドよりも前に、最初に新たに発行されたFUAコマンドを実行する。
In one preferred example, when receiving an FUA command from the
図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
図2(c)に示すように、これらのライト・コマンドRWを実行する前に、HDD1はホスト51からFUAコマンドを受信する。すると、HDD1は、図2(d)に示すように、FUAコマンドを最優先としてコマンドの実行順序を並べ替える。つまり、新たに取得したFUAコマンドの実行順序を最初とする。このように、FUAコマンドの実行順序を未実行ライト・コマンドの内の最初の順序に設定することにとって、コマンド完了通知の返信遅れによるホスト51の処理効率低下を抑制することができる。
As shown in FIG. 2C, the
ここで、好ましくは、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
図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
シーケンシャルライトは、キャッシュされているライト・コマンドの中で、その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
あるいは、図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
あるいは、図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
図4は、シーケンシャルライトをサポートするHDD1において、FUAコマンドをホスト51から受信した場合の実行順序決定処理を示している。本例において、HDD1は、取得したFUAコマンドとシーケンシャルライトを実行するライト・コマンドがキューされている場合、その一連のシーケンシャルライトを最優先として実行順序を決定する。
FIG. 4 shows an execution order determination process when the FUA command is received from the
具体的には、図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
さらに、図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
図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
具体的に説明する。図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
しかし、上述のように、リング・バッファ方式のライト・バッファにおいては、最古のコマンドを優先して実行することがバッファの空き領域を確保することにつながる。そこで、本例において、図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
上述のように、ホスト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
例えば、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
ここで、HDD1は、予め定められている条件に従って実行順序決定方法を選択する。例えば、図6(d)に示すように、HDD1は、FUAコマンドに係わりなく、RPOに従ってライト・コマンドの実行順序が決定される。図6(d)の例においては、FUAコマンドは6つのライト・コマンドの最後に設定されている。あるいは、図6(e)に示すように、FUAコマンドを優先してリオーダリングを実行する。図6(e)の例においては、新たに取得したFUAコマンドを最初の実行順序に設定している。
Here, the
以下においては、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
一つの好ましい例において、HDD1は、ライト・バッファの空き容量に基づいて実行順序決定方法を選択する。具体的には、ライト・バッファの空き容量が多い場合、HDD1はFUA優先決定方法を選択する。一方、少ない場合は、スループット優先決定方法を選択する。
In one preferred example, the
図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
一方、ライト・バッファの空き容量が基準値以上である場合、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
他の好ましい例において、HDD1は、既にキャッシュされているライト・コマンドのコマンド数(図6の例では5つ)に基づいて実行順序決定方法を選択する。具体的には、キャッシュ・されているライト・コマンド数が多い場合、HDD1はスループット優先決定方法を選択する。一方、少ない場合は、FUA優先決定方法を選択する。
In another preferred example, the
図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
一方、キャッシュされているライト・コマンド数が基準値未満である場合、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
キャッシュされているライト・コマンド数の他に、キャッシュされているライト・コマンドに対応するライト・データのセクタ数に基づいて実行順序決定方法を選択することは、他の好ましい例である。セクタ数が多い場合、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
あるいは、キャッシュされているライト・コマンドの実行時間に基づいて実行順序決定方法を選択することは、他の好ましい例である。実行時間が基準値より短い場合、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
なお、実行時間の計算において、シーク時間と書き込み時間に対して、エラーによるリトライ処理と実行時のバラツキを考慮した係数をかけることが好ましい。このように、書き込みの実行時間に従って実行順序決定方法を変化させることによって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 /
ホスト・インターフェース231は、ホスト51との間における実際のデータ伝送処理を実行し、データ伝送部として機能する。ドライブ・インターフェース232は、磁気ディスク11との間(あるいはリード・ライト・チャネル21との間)における実際のデータ入出力処理を行う。メモリ・マネージャ233はRAM(メモリ)24のデータ記憶を制御し、HDC/MPU23内の他の機能ブロックとRAM24との間におけるコマンド及びユーザ・データ(ライト/リード・データ)の仲介処理を行う。
The
ホスト・インターフェース・マネージャ234はホスト・インターフェース231を管理するデータ伝送制御部として機能し、ホスト・インターフェース231との間において所定の通知あるいは命令の授受を行う。キャッシュ・マネージャ236は、キューされているライト・コマンドの再スケジューリングを実行し、適切なコマンド実行順序を決定する。コマンド実行マネージャ235は、キャッシュ・マネージャ236によって決定された順序に従って、コマンドの実行を制御する。さらに、ドライブ・インターフェース232を制御することによって、磁気ディスク11との間のデータ書き込み及びデータ読み出しを制御する。
The
図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
キャッシュ・マネージャ236は、ライト・コマンドを受信すると、ライト・キャッシュ・テーブル247の空いているレコードの各エントリに、ライト・コマンドに関するデータを記録する。ライト・キャッシュ・テーブル247への登録タイミングにおいて、このライト・コマンドの実行順序は、例えば、最後の順序とすることができる。
When the
受信したライト・コマンドが非FUAコマンドの場合、キャッシュ・マネージャ236は、ホスト・インターフェース・マネージャ234に、コマンド完了通知をホスト51に返すように要求する。ホスト・インターフェース・マネージャ234は、ホスト・インターフェース231を介して、ホスト51にコマンド完了通知を返す。さらに、キャッシュ・マネージャ236は、各ライト・コマンドの実行順序、つまり、ライト・データの磁気ディスク11への書き出し順序のリオーダリングを実行する。このとき、キャッシュ・マネージャ236は、上述の実行順序決定方法に従って実行順序を決定する。
If the received write command is a non-FUA command, the
一方、受信したライト・コマンドがFUAコマンドの場合、コマンド完了通知をホスト51に返すことなく、キャッシュ・マネージャ236は、各ライト・コマンドの実行順序を決定する。この際、キャッシュ・マネージャ236は、上述のように、所定の条件に依存する実行順序決定方法に従って、ライト・コマンドのリオーダリングを実行する。
On the other hand, if the received write command is a FUA command, the
その後、キャッシュ・マネージャ236は、コマンド実行マネージャ235に実行すべきライト・コマンドを通知する。コマンド実行マネージャ235は、ドライブ・インターフェース232に、実行ライト・コマンドのライト・データを磁気ディスク11に書き込むことを指示する。ドライブ・インターフェース232は、メモリ・マネージャ233を介して、ライト・バッファ241からライト・データを取得し、磁気ディスク11に書き込むためにそのライト・データを転送する。
Thereafter, the
磁気ディスク11への書き込みが完了すると、ドライブ・インターフェース232からコマンド実行マネージャ235に、書き込みが完了したことが通知される。FUAコマンドの実行が完了した場合、コマンド実行マネージャ235は、ホスト・インターフェース・マネージャ234に、FUAコマンドの完了通知をホスト51に送信することを要求する。ホスト・インターフェース・マネージャ234は、その要求に応答して、ホスト51にFUAコマンドの完了通知を返す。
When the writing to the magnetic disk 11 is completed, the
尚、上記の説明は、本発明の実施形態を説明するものであり、本発明が上記の実施形態に限定されるものではない。当業者であれば、上記の実施形態の各要素を、本発明の範囲において容易に変更、追加、変換することが可能である。例えば、本形態のライト・バッファ制御を、磁気ディスク以外のメディアを利用するデータ記憶装置に適用することができる。 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.
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
233 Memory manager, 234
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 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.
前記ライト・バッファに記憶されているライト・データのそれぞれと対応するライト・コマンドに関する情報を登録するテーブルと、
前記テーブルに登録されているライト・コマンドの実行順序を決定するキャッシュ・マネージャと、を備え、
前記キャッシュ・マネージャは、前記メディアへの書き込み完了後にコマンド完了通知をホストへ送信するメディア書き込み強制コマンドを取得した場合、その実行順序の決定のために、すでに前記テーブルに登録されているライト・コマンドを参照して、複数の決定方法の中から前記メディア書き込み強制コマンドの実行順序決定方法を選択する、
データ記憶装置。 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.
取得したライト・コマンドに関する情報を登録し、
前記ライト・コマンドに対応し、メディアに書き込むべきライト・データをライト・バッファに記憶し、
登録された複数のライト・コマンドの実行順序の決定において、前記メディアへの書き込み完了後にコマンド完了通知を送信するメディア書き込み強制コマンドを受信した場合、非メディア書き込み強制コマンドを取得した場合よりも高い優先度においてその実行順序を決定する、
ライト・キャッシュ制御方法。 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.
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)
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)
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 |
-
2005
- 2005-03-08 JP JP2005063282A patent/JP5030387B2/en not_active Expired - Fee Related
Patent Citations (6)
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)
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 |