JP3823040B2 - データ記憶装置、データ処理装置、書き込み要求の実行順序を最適化する方法、データ処理方法およびハード・ディスク・ドライブ - Google Patents
データ記憶装置、データ処理装置、書き込み要求の実行順序を最適化する方法、データ処理方法およびハード・ディスク・ドライブ Download PDFInfo
- Publication number
- JP3823040B2 JP3823040B2 JP2001316036A JP2001316036A JP3823040B2 JP 3823040 B2 JP3823040 B2 JP 3823040B2 JP 2001316036 A JP2001316036 A JP 2001316036A JP 2001316036 A JP2001316036 A JP 2001316036A JP 3823040 B2 JP3823040 B2 JP 3823040B2
- Authority
- JP
- Japan
- Prior art keywords
- write
- request
- read
- cache memory
- order
- 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.)
- Expired - Lifetime
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
- G06F12/0868—Data transfer between cache memory and other subsystems, e.g. storage devices or host systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
【発明の属する技術分野】
本発明は、ハード・ディスク・ドライブに代表されるデータ記憶装置に関し、特に、媒体に対するデータの書き込み要求(Write Command)と、記憶媒体に書き込まれているデータの読み出し要求(Read Command)の実行順序の最適化に関するものである。
【0002】
【従来の技術】
ハード・ディスク・ドライブは最も普及しているコンピュータの外部記憶装置の一つである。ハード・ディスク・ドライブの記憶媒体である磁気ディスクは、周知のようにディスク表面を木の年輪状に分割したトラックをさらに放射状に区切ったセクタをデータの記録最小単位としている。磁気ディスク外周になるほど線記録密度を高くすることができる。そこで、現在磁気ディスクのデータ記録方式として主流をなすゾーン・ビット・レコーディング(Zoned Bit Recording)方式では、全てのトラックをいくつかのゾーンにグループ分けし、各ゾーン内では線記録密度を一定とする。すると、セクタの長さは通常512バイトであるから、磁気ディスクの外周に近いトラックほどセクタ数は多くなる。
ハード・ディスク・ドライブは、磁気ディスクに記憶されているデータを読み出し、または磁気ディスクにデータを書き込むための磁気ヘッドを備えている。この磁気ヘッドは、VCM(Voice Coil Motor)によって揺動するアクチュエータ機構に装着されている。
磁気ヘッドがデータの読み出しまたはデータの書き込みを行なう場合、アクチュエータ機構を駆動することにより、磁気ヘッドを所定のトラックに移動かつ位置決めする。磁気ヘッドは、磁気ディスク上に記憶されたサーボ情報を手がかりに所定の位置への移動制御がなされる。
【0003】
ハード・ディスク・ドライブをはじめとする、データ記憶装置のパフォーマンス向上手法の1つとして、キャッシュ・メモリを利用し、ホスト・システムからの書き込み要求をキャッシュする手法が使われている。
これは、ホスト・システムから書き込み要求があった場合、キャッシュ・メモリにデータをキャッシュすることによりホスト・システムのコマンドを完了させてしまい、その後、ホスト・システムからのコマンドが無くなった時に、キャッシュしてある書き込み要求をディスクに書き出していく方法である。
このときの、キャッシュ・メモリのハンドリングには一般的にシングル・リング・バッファ方式が用いられる。
【0004】
シングル・リング・バッファ方式とは、ホスト・システムからの書き込み要求を時系列的に、キャッシュ・メモリにキャッシュしていき、キャッシュした書き込み要求のうち、最古の書き込み要求からディスクに書き出していく方式である。 キャッシュ・メモリを最後まで使い切った時には、キャッシュ・メモリの先頭に戻ってキャッシュする。
しかし、キャッシュ・メモリが最後まで使われデータで埋められている場合は、最古の書き込み要求がディスクに書き出されていない限り、使用可能な空き領域がキャッシュ・メモリにないため、新たにキャッシュすることはできない。すなわち、キャッシュ・メモリの最古の書き込み要求がディスクに書き出され、キャッシュ・メモリに空き領域ができるまで、ホスト・システムからのコマンドに対し処理を完了させることができなくなる。
このようにシングル・リング・バッファ方式を採用するキャッシュ・メモリに書き込み要求がキャッシュされている時、ホスト・システムから読み出し要求があった場合も、時系列で処理を進める為、まずキャッシュされている全ての書き込み要求をディスクに書き出し、その後に読み出し要求を処理する事になる。
【0005】
この読み出し要求をより迅速に処理する為、読み出し要求があった場合、キャッシュ・メモリに記憶された書き込み要求よりも先んじて、読み出し要求を処理するといった手法(Read Before Pending Write:RBPW)も採用されている。
【0006】
【発明が解決しようとする課題】
しかし、キャッシュ・メモリにキャッシュされている書き込み要求は、ホスト・システムからの書き込み要求単位で、最短時間ですべての書き込み要求をディスクに書き込めるよう、RPO(Rotational Positioning Optimization)等のアルゴリズムを採用し、書き込み要求のディスク書き込み順序を最適化するようになってきた。ここで、RPOとは、実行待ちのコマンドを実行したときに、磁気ディスク上の目標となるトラックへのシークを開始してから当該トラックに到達するまでのシーク時間と、到達後に目標のセクタにアクセスを開始するまでのディスク回転待ち時間とを予想する。そして、このシーク時間および回転待ち時間の合計が最短となる実行待ちコマンドを、次に実行するコマンドとして選択する手法である。
【0007】
RPOによるディスク書き込み順序の最適化により、キャッシュ・メモリにキャッシュされていた書き込み要求のディスク書き込み順序は、時系列ではなくなり、場合によっては最古の書き込み要求が実際にディスクに書き出されるのは、最後になってしまうこともありえる。
このようなケースでは、ホスト・システムからの読み出し要求があっても、シングル・リング・バッファ方式を単純に使っているため、最古の書き込み要求がディスクに書き出されるまでは、ホスト・システムからのコマンドを処理できず、結局キャッシュ・メモリにキャッシュされている全ての書き込み要求がディスクに書き出されるまでホスト・システムのコマンドは待たされる事になる。これでは、キャッシュ・メモリを多く使用してしまうような書き込み要求の後に、読み出し要求があった場合は、ホスト・システムは多大な時間を待つことになる可能性が高い。
そこで本発明は、書き込み要求がキャッシュ・メモリにキャッシュされている際にホスト・システムからなされた読み出し要求を効率よく実行することのできる方法およびその方法を実行するデータ記憶装置の提供を課題とする。
【0008】
【課題を解決するための手段】
本発明者は、読み出し要求が転送された際に、キャッシュ・メモリの記憶状態を参照し、読み出し要求を迅速にキャッシュするために、既にキャッシュ・メモリに記憶されている書き込み要求を、従前の書き込み順位に係わらずにその順位を変更すればよいことを知見した。そして、この変更された書き込み順位にしたがって、読み出し要求をキャッシュするために必要な書き込み要求をまず実行した後に、読み出し要求を実行すれば、読み出し要求を効率よく実行することができるとの結論に達した。この過程で、従来から適用されているRBPWおよびRPOを適用することももちろんできる。
【0009】
本発明は以上の知見に基づくものであり、ホストから転送される書き込み要求および読み出し要求を一時的に記憶する複数の記憶領域を有するメモリと、書き込み要求または読み出し要求に基づいて、書き込み処理または読み出し処理を行なう読み書きヘッドと、読み書きヘッドの書き込み処理によって書き込みデータが記憶され、かつ読み出し処理によって読み出しデータが読み出される記憶媒体と、メモリに記憶された書き込み要求の、記憶媒体に対する書き込み順位を保持する順位保持手段と、ホストから読み出し要求が転送された際に、当該読み出し要求を記憶する領域がメモリに確保できない場合に、順位保持手段における従前の書き込み順位を変更する書き込み順位決定手段と、を備えることを特徴とするデータ記憶装置によって前記課題を解決する。
【0010】
本発明のデータ記憶装置において、書き込み順位決定手段は、メモリに記憶されている複数の書き込み要求のうちで、最古の書き込み要求が実行されたものとすると当該読み出し要求を記憶する領域が前記メモリに確保される場合に、最古の書き込み要求の書き込み順位を最先にすることができる。
前述のように、シングル・リング・バッファは、最先に記憶されたコマンドが実行されることが、新たなコマンドを記憶するための条件となる。したがって、メモリとしてシングル・リング・バッファを適用することを前提とすると、最古の書き込み要求をまず実行して、読み出し要求のための記憶領域を確保しようというものである。
【0011】
以上の場合に、読み書きヘッドは、最古の書き込み要求に基づいて書き込み処理を実行した後に、読み出し要求に基づいて読み出し処理を実行し、しかる後にメモリに記憶されている他の書き込み要求に基づいて書き込み処理を実行することになる。この実行手順によれば、従来のように、RPOを適用したとしても、読み出し要求の実行が全ての書き込み要求の実行後まで待たされることはない。
【0012】
本発明のデータ記憶装置において、メモリに記憶されている書き込み要求のうちで、最古の書き込み要求が実行されたものとしても当該読み出し要求を記憶する領域が前記メモリに確保されない場合がある。そのような場合には、書き込み順位決定手段は、最古の書き込み要求とともにメモリに記憶されている他の所定の書き込み要求が優先して実行されたものとすると、当該読み出し要求を記憶する領域が前記メモリに確保されることがある場合に、最古の書き込み要求および所定の書き込み要求の書き込み順位を、前記メモリに記憶されている他の書き込み要求の書き込み順位よりも優先することができる。
この場合に読み書きヘッドは、最古の書き込み要求および所定の書き込み要求に基づいて書き込み処理順序を最適化し実行した後に、読み出し要求に基づいて読み出し処理を実行し、しかる後に他の書き込み要求に基づいて書き込み処理を実行することになる。この実行手順によれば、従来のように、RPOを適用したとしても、読み出し要求の実行が全ての書き込み要求の実行後まで待たされることはほとんどない。
【0013】
前述した通り、本発明はキャッシュ・メモリにおける記憶状態に基づいてキューが保持する書き込み順位を適宜変更する点に特徴を有する。すなわち本発明は、記憶媒体の所定のアクセス位置において書き込み処理を行なうヘッドと、複数の記憶領域を有し、ヘッドによる書き込み処理の実行前に、書き込み要求をキャッシュするキャッシュ・メモリと、ホストから所定の転送順位で転送される書き込み要求を、当該転送順位とは異なる順位で前記キャッシュ・メモリから読み出すとともに前記記憶媒体への書き込み処理を実行するように制御するコントローラと、を備えたデータ記憶装置に適用される。そして、このデータ記憶装置のコントローラは、記憶領域における書き込み要求の記憶状態に基づいて、キャッシュ・メモリから読み出す前記書き込み要求の順位を決定することを特徴とする。
【0014】
前述のように、シングル・リング・バッファをキャッシュ・メモリに適用したとすると、最古の書き込み要求の実行を優先させるべきであり、この最古の書き込み要求が記憶されている記憶領域、当該記憶領域に隣接している記憶領域の空き状況によって、読み出し要求のキャッシュ可否が定まるということができるからである。したがって、記憶領域における書き込み要求の記憶状態とは、書き込み要求が記憶されている記憶領域および書き込み要求が記憶されていない記憶領域のキャッシュ・メモリ内の配置ということができ、この配置に基づいてキャッシュ・メモリから読み出す書き込み要求の順位を決定すればよい。
【0015】
本発明のデータ記憶装置は、キャッシュ・メモリが、ホストから転送される読み出し要求をキャッシュし、その後に読み出し要求に基づく読み出し処理が実行される。この場合、本発明のデータ記憶装置におけるコントローラは、転送された時点で読み出し要求のキャッシュに必要な記憶領域がキャッシュ・メモリ内に空いていない場合に、書き込み要求が記憶されている記憶領域および前記書き込み要求が記憶されていない記憶領域のキャッシュ・メモリ内の配置を参照する。そして、読み出し要求のキャッシュに必要な記憶領域を確保するようにキャッシュ・メモリから読み出す書き込み要求の順位を決定することになる。
そしてさらに、コントローラは、読み出し要求のキャッシュに必要な記憶領域を確保した後に、読み出し要求をキャッシュ・メモリにキャッシュするとともに、キャッシュ・メモリに先行して記憶された書き込み要求よりも先に読み出し要求を実行するように制御することになる。
【0016】
本発明は読み出し要求の実行が効率化されたデータ記憶装置を備える以下のコンピュータ装置をも提供する。このコンピュータ装置は、読み出し要求および書き込みデータを含む書き込み要求を発行するホストと、ホストから受けた前記読み出し要求に対応する読み出しデータを記憶媒体から読み出してホストに転送するとともに、ホストから受けた書き込み要求に含まれる書き込みデータを記憶媒体に書き込むデータ記憶装置とを備えている。
そしてこのデータ記憶装置は、書き込みの実行がなされていない書き込み要求がキャッシュ・メモリに記憶されている状態で読み出し要求を受けた場合に、記憶されている書き込み要求のうちで最古の書き込み要求の実行後、または最古の書き込み要求および他の書き込み要求の実行後であって、かつ記憶されていた全ての前記書き込み要求の実行前に、読み出し要求を実行し、読み出された読み出しデータを前記ホストに向けて転送する。このデータ記憶装置は、記憶されていた全ての前記書き込み要求の実行前に、読み出し要求を実行することができるので、従来のように、全ての書き込み要求が実行された後に読み出し要求が実行されるというパフォーマンスの劣化を招くことがない。
【0017】
ここで、前記他の書き込み要求は、読み出し要求を実行するうえで、データ記憶装置の機能上、読み出し要求よりも優先して実行されることが必要な書き込み要求である。例えば、シングル・リング・バッファにおける最古の書き込みデータが該当する。
【0018】
本発明は以上のデータ記憶装置およびコンピュータ装置に適用することのできる以下のデータ処理装置を提供する。本発明のデータ処理装置は、ホストから転送された読み出し要求および書き込み要求を受けるとともに、記憶媒体に対して読み出し要求および書き込み要求の実行を指示するデータ処理装置である。そしてこのデータ記憶装置は、読み出し要求および前記書き込み要求を一時的に記憶する記憶領域を有する記憶手段と、記憶手段に一時的に記憶された前記読み出し要求および書き込み要求を読み出しかつ実行する順位を保持する実行順位保持手段と、読み出し要求を受けた時点で記憶手段に読み出し要求を一時的に記憶する記憶領域を確保できない場合に、読み出し要求を一時的に記憶する記憶領域を確保するように、実行順位保持手段に保持されている前記書き込み要求の実行順位を変更する読み書き順位決定手段と、を備えていることを特徴とする。
本発明のデータ記憶装置は、読み出し要求を受けた時点で記憶手段に読み出し要求を一時的に記憶する記憶領域を確保できない場合に、読み出し要求を一時的に記憶する記憶領域を確保するように、実行順位保持手段に保持されている前記書き込み要求の実行順位を変更するので、読み出し要求を書き込み要求が全て実行されるまで待つ必要がない。
【0019】
本発明のデータ記憶装置において、記憶手段は、最先に記憶された前記書き込み要求が読み出されることを条件に新たな読み出し要求または書き込み要求の記憶が可能な記憶手段である。前述したシングル・リング・バッファがこれに該当する。
また、読み書き順位決定手段は、最先に記憶された書き込み要求を読み出すことを前提に、実行順位保持手段に保持されている書き込み要求の実行順位を変更する。
【0020】
本発明は以上のデータ記憶装置、コンピュータ装置またはデータ処理装置に適用することのできる以下のデータ処理方法を提供する。つまり本発明は、ホストから転送された読み出し要求および書き込み要求をキャッシュした後に、記憶媒体に対して読み出し要求および書き込み要求を実行するデータ処理方法であって、キャッシュされている書き込み要求のうちで最古の書き込み要求を実行し、次いで、読み出し要求を実行し、しかる後に、キャッシュされている書き込み要求のうちで最古の書き込み要求を除く他の書き込み要求を順次実行することを特徴とする。
【0021】
本発明のデータ処理方法において、読み出し要求を受けた時点で、読み出し要求をキャッシュすることができない場合に、キャッシュされている書き込み要求のうちで最古の書き込み要求を実行することができる。そして、これまで説明したように、最古の書き込み要求を実行したのちに、読み出し要求をキャッシュできるのであれば、当該読み出し要求をキャッシュし、続いて実行する。最古の書き込み要求を実行したのちに、読み出し要求をキャッシュできないのであれば、他の所定の書き込み要求を含めて実行順序を最適化し実行した後に、当該読み出し要求をキャッシュし、続いて実行する。このように、本発明によれば、読み出し要求が、全ての書き込み要求の実行終了まで待たされることはない。
また、本発明のデータ処理方法において、読み出し要求を受けた時点で、読み出し要求をキャッシュすることができる場合に、キャッシュされている全ての書き込み要求よりも優先して当該読み出し要求を実行することができる。本発明において、従来のRBPWを実行する場合があることを示している。
【0022】
本発明はまた、ホストから転送された読み出し要求および書き込み要求をキャッシュした後に、記憶媒体に対して読み出し要求および書き込み要求を実行するデータ処理方法であって、読み出し要求を受けた時点で、読み出し要求をキャッシュすることができるか否か判断し、キャッシュすることができないと判断された場合に、読み出し要求をキャッシュするための空き領域を設けるために、キャッシュされている書き込み要求のなかで所定の書き込み要求を実行順序最適化後に実行し、次いで、読み出し要求を実行し、しかる後に、キャッシュされている書き込み要求のうちで所定の書き込み要求を除く他の書き込み要求を実行することを特徴とする。
【0023】
本発明のデータ処理方法において、読み出し要求を受けた時点で、読み出し要求をキャッシュすることができない場合に、所定の書き込み要求を実行順序最適化後に実行する。この所定の書き込み要求は、キャッシュされている書き込み要求のうちで最古の書き込み要求を含む。所定の書き込み要求を実行した後に、読み出し要求を実行し、しかる後に、キャッシュされている書き込み要求のうちで所定の書き込み要求を除く他の書き込み要求を実行する。このように、本発明によれば、読み出し要求が、全ての書き込み要求の実行終了まで待たされることはない。
本発明のデータ処理方法において、所定の書き込み要求の実行および所定の書き込み要求を除く他の書き込み要求の実行は、実行に要する時間が最短となる順位で行なうことができる。本発明へのRPOの適用を示唆している。
【0024】
【発明の実施の形態】
以下本発明の実施の形態を、ハード・ディスク・ドライブを例にして詳細に説明する。
図1は、本実施の形態によるハード・ディスク・ドライブ1の主要部を示すブロック図である。ハード・ディスク・ドライブ1は、スピンドル・モータ3によって回転駆動される磁気ディスク2上を磁気ヘッド4がシークしかつ所定のトラック(位置)に留まって磁気ディスク2に対してデータを書き込み、または磁気ディスク2に書き込まれたデータを読み出すデータ記憶再生装置である。磁気ディスク2は、必要に応じて単数または複数搭載されるが、本実施の形態においては、単数の例を示している。
【0025】
磁気ディスク2は、ハード・ディスク・ドライブ1が動作しているとき、スピンドル・モータ3のスピンドル軸を中心にして回転駆動され、ハード・ディスク・ドライブ1が非動作のとき、回転停止(静止)する。磁気ディスク2の表面には、磁気ディスク2の半径方向に沿って複数の位置情報(サーボ情報)記憶領域が放射状に形成されており、他の領域にはデータ記憶領域が形成されている。このサーボ情報を磁気ヘッド4が読み取ることにより磁気ヘッド4の位置を知ることができる。サーボ情報は、トラック識別データおよびバースト・パターンとから構成される。トラック識別情報は各データ・トラックのトラック・アドレスを表す情報である。磁気ヘッド4がこのトラック識別情報を読み取ることにより、磁気ヘッド4の現在位置するトラック位置が判断可能となる。バースト・パターンは各々信号が記憶された領域が磁気ディスク2の半径方向に沿って一定間隔で配列されたもので、互いに信号記憶領域の位相が異なる複数の信号記憶領域列で構成されている。このバースト・パターンから出力される信号に基づいて、データ・トラックに対する磁気ヘッド4のずれ量が判定可能となる。
【0026】
磁気ヘッド4は、アクチュエータ5の先端部に磁気ディスク2の表裏面に対応して2つ保持されている。磁気ヘッド4は、磁気ディスク2に対してデータの書き込みおよび読み出しを実行する。また、磁気ディスク2に記憶されているサーボ情報を読み取る。磁気ヘッド4は、アクチュエータ5と一体となって磁気ディスク2の半径方向に移動する。磁気ヘッド4が駆動しない場合に退避するためのランプ(図示せず)が、磁気ディスク2よりも外方に配置されている。
リード/ライト回路11は、データの読み/書き処理を実行する。つまり、HDC(ハード・ディスク・コントローラ)13を介してホスト・コンピュータ20から転送された書き込みデータを書き込み信号(電流)に変換して磁気ヘッド4に供給する。磁気ヘッド4は、この書き込み電流に基づいて磁気ディスク2に対してデータの書き込みを実行する。一方、磁気ディスク2から読み出した読み出し信号(電流)をデジタル・データに変換してHDC13を介してホスト・コンピュータ20に出力する。
サーボ・コントローラ14は、リード/ライト回路11から出力される読み出しデータの中からサーボ情報を抽出する。前述のように、サーボ情報は、トラック識別データおよびバースト・パターンを含んでいる。サーボ情報は、抽出したサーボ情報をMPU(Micro Processing Unit)12に転送する。また、サーボ情報から磁気ヘッド4のトラック・センタに対するずれ量を求めHDC13に送る。
【0027】
アクチュエータ5は、VCM(ボイス・コイル・モータ)6によって駆動される。したがって、VCM6が磁気ヘッド4を駆動するということもできる。VCM6は、コイルを要素とする可動子と永久磁石を要素とする固定子とから構成されており、このコイルに所定の電流をVCMドライバ8から供給することにより、可動子を駆動させ、磁気ヘッド4を磁気ディスク2上の所定位置に移動あるいは停止させる。
【0028】
HDC(ハード・ディスク・コントローラ)13は、ハード・ディスク・ドライブ1のインターフェースとしての機能を有している。その機能の1つは、ホスト・コンピュータ20から転送された書き込みデータを受けるとともに、受けた書き込み要求をキャッシュ・メモリ15に転送する機能である。この書き込み要求は、書き込みデータを含んでいるため、以下では適宜書き込みデータということがある。
HDC13は、書き込み要求をキャッシュ・メモリ15に転送すると、ホスト・コンピュータ20に対して、コマンド・コンプリートを発行、通知する。このコマンド・コンプリートは、ハード・ディスク・ドライブ1にとっては、実際には書き込み処理がなされていない段階でも、書き込み処理がなされたものとみなして発行する信号である。キャッシュ・メモリ15に記憶領域の空きスペースが存在する場合に発行する信号であり、言うなれば、ホストに対して書き込みデータの転送を促す、あるいは書き込みデータの転送を許容する通知である。
キャッシュ・メモリ15に一時的に記憶された書き込みデータは、MPU12の指示に基づきHDC13が読み出して、リード/ライト回路11に転送する。また、HDC13はリード/ライト回路11から転送される読み出しデータをホスト・コンピュータ20に転送する。
【0029】
キュー16は、キャッシュ・メモリ15に記憶された各書き込みデータの書き込み順位を保持する。この書き込み順位は、MPU12およびHDC13によって定められる。キャッシュ・メモリ15に記憶された書き込みデータは、キュー16に記憶された書き込み順位にしたがって順次磁気ディスク2に書き込まれる。本実施の形態によるハード・ディスク・ドライブ1は、読み出し要求がなされたときに、キャッシュ・メモリ15におけるキャッシュ状態を参照して、キュー16における書き込み順位を適宜変更する点に特徴を有している。この特徴部分については、追って詳しく説明する。
MPU12とHDC13は連動して、ハード・ディスク・ドライブ1の制御を担う。MPU12は、図示しないメモリに記憶されたプログラムを解釈、実行する。MPU12は、サーボ・コントローラ14から転送されたサーボ情報に基づいて磁気ヘッド4の位置を判断し、判断した磁気ヘッド4の位置とターゲット位置との距離に基づいて磁気ヘッド4への位置決め制御電流をデジタル/アナログ変換器(DAC)7に出力する。
DAC7は、MPU12から出力された位置決め制御電流をアナログ信号(電圧信号)に変換するとともに、VCMドライバ8に出力する。
VCMドライバ8は、DAC7から受けた電圧信号を駆動電流に変換してVCM6に供給する。
【0030】
ハード・ディスク・ドライブ1は、書き込み要求の実行に際して、そのパフォーマンスを高めるために、前述したRBPW、RPOを採用している。そしてさらに、ハード・ディスク・ドライブ1は、読み出し要求がなされたときに、キャッシュ・メモリ15におけるキャッシュ状態を参照して、キュー16における書き込み順位を適宜変更する。読み出し要求の実行を効率よく行なうためである。
【0031】
以下、図2〜図10に基づいて、ハード・ディスク・ドライブ1における読み出し要求および書き込み要求の実行手順を説明する。
図2に示すように、この実行手順は、読み出し要求(Rd)がホストから転送(図2 S101)された時点からのものである。
図3は、このときのキャッシュ・メモリ15およびキュー16の状態の一例を示している。なお、図3はキャッシュ・メモリ15とキュー16との関係を説明するためのものであって、以後のステップ(手順)において、異なる状態のキャッシュ・メモリ15およびキュー16の例を示すことがある。
ここで、図3は、キャッシュ・メモリ15に、Wr1,Wr2,Wr4およびWr5と4つの書き込み要求がキャッシュされており、また1セクタ分の空き領域がある例を示している。書き込み要求Wr1,Wr2,Wr4およびWr5の数字(1,2,4,5)は、キャッシュ・メモリ15に記憶された順位を示している。つまり、Wr1,Wr2,Wr4およびWr5の順位でこれら書き込み要求はキャッシュ・メモリ15に記憶された。したがって、この状態では、Wr1が最古の書き込み要求となる。
【0032】
一方、キュー16は、キャッシュ・メモリ15に一時的に記憶されている書き込み要求Wr1,Wr2,Wr4およびWr5の実行順位を保持している。つまり、上からWr4,Wr2,Wr5およびWr1の順に書き込み処理が実行されることを示している。この書き込み順位は、キャッシュ・メモリ15に記憶された順位とは異なる。また、この書き込み順位は、前述のRPOによって、Wr1,Wr2,Wr4およびWr5の4つの書き込み要求を最短時間で実行するように決定される。この順位は、MPU12およびHDC13が共同して、磁気ヘッド4の現在位置、Wr1,Wr2,Wr4およびWr5による書き込みデータが書き込まれるべき磁気ディスク2上のセクタの位置に基づいて定められる。
【0033】
さて、ホスト・コンピュータ20から読み出し要求が転送されると、HDC13は、キャッシュ・メモリ15内に当該読み出し要求をキャッシュするための空き領域が確保されるか否か判断する(図2 S103)。
例えば、図4は、読み出し要求(Rd)が転送された時点におけるキャッシュ・メモリ15の記憶状態の1例であって、(a)は読み出し要求のための空き記憶領域が確保される例を示す図、(b)は読み出し要求のための空き記憶領域が確保されない例を示している。
【0034】
図4において、転送された読み出し要求(Rd)は、3セクタ分のサイズを有している。一方、図4(a)の例では、キャッシュ・メモリ15には、2つの書き込み要求Wr1およびWr2が上から3番目および4番目(以下、上からを省略する)の記憶領域に記憶され、1番目、2番目および5番目の記憶領域が空いている。この空き状態の記憶領域は、都合3セクタ分のサイズを有している。この記憶状態を有するキャッシュ・メモリ15は、転送された読み出し要求(Rd)を、1番目、2番目および5番目の記憶領域に5番目、1番目、2番目の順にキャッシュすることができる。読み出し要求(Rd)がキャッシュされた後のキャッシュ・メモリ15の記憶状態を図4(a)にあわせて示す。
以上のように、キャッシュ・メモリ15に転送された読み出し要求(Rd)をキャッシュする空き記憶領域が確保される場合には、当該読み出し要求(Rd)をキャッシュした後に、RBPWを実行する(図2 S111)。図4(a)の例では、書き込み要求Wr1およびWr2の実行に先立って、読み出し要求(Rd)を実行する。この実行は、磁気ヘッド4が磁気ディスク2の所定位置にアクセスしてコマンドされた読み出しデータを読み出すことを意味する。
【0035】
図4(b)の例では、キャッシュ・メモリ15に、Wr1,Wr4およびWr5と3つの書き込み要求が記憶され、かつ2セクタ分の空き記憶領域が存在する。読み出し要求(Rd)は、3セクタ分のサイズを有しているため、キャッシュ・メモリ15には、当該読み出し要求(Rd)をキャッシュする記憶領域が確保できないことになる(図2 S103)。
【0036】
この場合、HDC13は、キャッシュ・メモリ15に記憶されている書き込み要求のうちで、最も古く記憶された(最古)書き込み要求に関する情報を入手する(図2 S105)。最古の書き込み要求に関する情報とは、書き込み要求に含まれる書き込みデータのサイズ、およびキャッシュ・メモリ15内における位置(Location)である。
最古の書き込みデータを入手すると、HDC13は、最古の書き込み要求を実行した後に、読み出し要求(Rd)をキャッシュするための空き記憶領域をキャッシュ・メモリ15に確保できるか否か判断する(図2 S107)。この手順を、図5〜図8に基づいて説明する。
【0037】
図5は、最古の書き込みデータに関する情報を取得する際のキャッシュ・メモリ15およびキュー16の状態を示している。現時点で、キャッシュ・メモリ15には、2番目の記憶領域に書き込み要求Wr1、4番目の記憶領域に書き込み要求Wr4および5番目の記憶領域に書き込み要求Wr5が記憶されている。この中で、Wr1が最古の書き込み要求である。キュー16は、Wr4,Wr5およびWr1の順番で書き込み要求を実行することを示している。
【0038】
図5に示すキャッシュ・メモリ15およびキュー16の状態で、読み出し要求(Rd)がホスト・コンピュータ20から転送されたものとする。そうすると、キャッシュ・メモリ15から、最古の書き込み要求であるWr1に関する情報を入手する。図5の例では、Wr1は、1セクタ分のサイズを有し、かつ3番目の記憶領域に記憶されているとの情報を入手する(図2 S105)。このとき、空き記憶領域に関する同様の情報をも入手する。
以上の情報、より具体的には、書き込み要求が記憶されている記憶領域および空き記憶領域の配置を基に、最古の書き込み要求Wr1を実行した後に、読み出し要求(Rd)をキャッシュするための空き記憶領域をキャッシュ・メモリ15に確保できるか否か判断する(図2 S107)。この判断の様子を図6および図8に示している。
図6の場合、2番目の記憶領域に記憶されている1セクタ分のサイズの書き込み要求Wr1が実行されると、2番目の記憶領域は空き記憶領域となる。そうすると、キャッシュ・メモリ15は、1番目〜3番目の3つの記憶領域が空き状態となる。この3つの記憶領域を合わせると3セクタ分のサイズとなる。そうすると、3セクタ分の読み出し要求(Rd)は、キャッシュ・メモリ15の1番目〜3番目の3つの記憶領域に記憶することができる、と判断する(図2 S107)。
【0039】
さて、最古の書き込み要求Wr1を実行した後に、読み出し要求(Rd)をキャッシュするための空き記憶領域をキャッシュ・メモリ15に確保できると、判断された場合には、キュー16の書き込み順位を変更する(図2 S109)。図7にその例を示している。例えば、読み出し要求(Rd)が転送される前のキュー16の状態(図7 従前のキュー)は、書き込み要求の実行順位を、Wr4,Wr5およびWr1の順としている。ところが、最古の書き込み要求Wr1を実行した後に、読み出し要求(Rd)をキャッシュするための空き記憶領域をキャッシュ・メモリ15に確保できるとの判断に基づき、従前のキュー16では書き込み順位が最下位であったWr1の書き込み順位を上げて1番目とした(図7変更後のキュー)。そして、キュー16は、Wr1の実行順位を1番目としたことに伴い、RPOを適用してWr5およびWr4の順に書き込み要求を実行するように定める(図2 S109)。キュー16の指示により、Wr1を実行すると、キャッシュ・メモリ15の2番目の記憶領域が空き記憶領域となり、1番目〜3番目の3つの記憶領域が空きの状態となる。そうすると、キャッシュ・メモリ15には、読み出し要求(Rd)のキャッシュのための空き記憶領域が確保されることになり(図2 S103)、読み出し要求(Rd)はRBPWによって、書き込み要求Wr4,Wr5に先行して実行される。読み出し要求(Rd)実行後には、図7の変更後のキュー16に示すように、Wr5およびWr4の順位で書き込み要求が実行される。
【0040】
一方、最古の書き込み要求Wr1を実行しても、読み出し要求(Rd)をキャッシュできない例を図8に示している。図8の例は、キャッシュ・メモリ15が、1番目の記憶領域に最古の書き込み要求Wr1、2番目の記憶領域に書き込み要求Wr2、4番目の記憶領域に書き込み要求Wr4および5番目の記憶領域に書き込み要求Wr5を記憶している。3番目の記憶領域は空き記憶領域である。このような記憶状態では、1番目の記憶領域に記憶されている最古の書き込み要求Wr1を実行したとしても、形成される空き記憶領域は、1番目および3番目の2セクタ分の記憶領域である。したがって、3セクタ分のサイズを有する読み出し要求(Rd)をキャッシュすることはできないものと判断する(図2 S107)。このままでは、読み出し要求(Rd)の実行は先送りになってしまう。
【0041】
そこで、最古の書き込み要求Wr1とともに、優先して実行すべき書き込み要求を選定する(図2 S113)。この操作手順を図9および図10に基づいて説明する。
図9に示すように、キャッシュ・メモリ15は、1番目の記憶領域に最古の書き込み要求Wr1、3番目の記憶領域にWr3、4番目の記憶領域にWr4および6番目の記憶領域にWr5が記憶され、2番目の記憶領域および5番目の記憶領域は空き記憶領域となっているものとする。
このような記憶状態にあるキャッシュ・メモリ15に対して、3セクタ分の読み出し要求がホスト・コンピュータ20から転送されたものとする。最古の書き込み要求Wr1を実行したとしても、連続する空き記憶領域は1番目および2番目の2セクタ分にすぎない。したがって、最古の書き込み要求Wr1を実行しただけでは、読み出し要求(Rd)をキャッシュすることができない。図9の場合、読み出し要求(Rd)をキャッシュするには、Wr1とともにWr3およびWr4を実行すればよいことが判る。そこで、Wr1、Wr3およびWr4を他の書き込み要求に優先して実行するように選定し(図2 S113)、キュー16における実行順位を変更する(図2 S109)。
【0042】
この変更の様子を図10に示している。従前の実行順位が、Wr4,Wr5、Wr3およびWr1の順であったものとする。この実行順位を、Wr1、Wr3およびWr4を他の書き込み要求、つまりWr5に優先させている。より具体的には、RPOを適用することにより、Wr3,Wr4およびWr1の順で書き込み処理を実行する。
書き込み要求Wr3,Wr4およびWr1を実行すると、キャッシュ・メモリ15の1番目〜4番目の記憶領域が空きの状態となる。そうすると、キャッシュ・メモリ15には、読み出し要求(Rd)のキャッシュのための空き記憶領域が確保されることになり(図2 S103)、読み出し要求(Rd)はRBPWによって、書き込み要求Wr5に先行して実行される。読み出し要求(Rd)実行後には、図10の変更後のキュー16に示すように、Wr5が実行される。
【0043】
以上説明したように、本実施の形態によるハード・ディスク・ドライブ1は、読み出し要求がホスト・コンピュータ20から転送された際に、キャッシュ・メモリ15の記憶状態に基づいて、キャッシュ・メモリ15に記憶された書き込み要求の実行順位を変更する。より具体的には、キャッシュ・メモリ15が読み出し要求をキャッシュできる記憶状態にあるか否かを判断する(図2 S103)。そして、キャッシュすることができなければ、最古の書き込み要求、さらには他の所定の書き込み要求を実行順序最適化後に実行することにより、キャッシュ・メモリ15の読み出し要求のキャッシュを可能とする(図2 S107,S113)。そして、キャッシュされた読み出し要求は、RBPWによって、キャッシュ・メモリ15に残された書き込み要求に優先して実行される。したがって、読み出し要求を効率よく実行することができる。
【0044】
【発明の効果】
以上説明したように、本発明によれば、書き込み要求がキャッシュ・メモリにキャッシュされている際にホスト・コンピュータからなされた読み出し要求を効率よく実行することができる。
【図面の簡単な説明】
【図1】 本実施の形態によるハード・ディスク・ドライブの構成を示すブロック図である。
【図2】 本実施の形態によるハード・ディスク・ドライブの読み出し要求および書き込み要求の実行手順を示すフローチャートである。
【図3】 本実施の形態において、書き込み要求(Wr)が転送された時点におけるキャッシュ・メモリの記憶状態を示す図である。
【図4】 本実施の形態において、読み出し要求(Rd)が転送された時点におけるキャッシュ・メモリの記憶状態の1例であって、(a)読み出し要求のための空き領域が確保される例を示す図、(b)は空き領域が確保されない例を示す図である。
【図5】 本実施の形態において、最古の書き込みデータに関する情報を取得する際のキューおよびキャッシュ・メモリの状態を示す図である。
【図6】 本実施の形態において、最古の書き込みデータを書き込むと読み出し要求のための空き領域が確保される状態を示す図である。
【図7】 本実施の形態において、最古の書き込みデータを書き込むと読み出し要求のための空き領域が確保される状態の際に、キューにおける書き込み要求を変更する状態を示す図である。
【図8】 本実施の形態において、最古の書き込みデータを書き込んでも読み出し要求のための空き領域が確保されない状態を示す図である。
【図9】 本実施の形態において、読み出し要求のための空き領域をキャッシュ・メモリに確保するために実行すべき書き込み要求を探す状況を示す図である。
【図10】 本実施の形態において、読み出し要求のための空き領域をキャッシュ・メモリに確保するために行なうキューの順序変更を示す図である。
Claims (10)
- ホストから転送される書き込み要求および読み出し要求を一時的に記憶する複数の記憶領域を有するシングル・リング・バッファ方式のキャッシュ・メモリと、
前記書き込み要求または前記読み出し要求に基づいて、書き込み処理または読み出し処理を行なう読み書きヘッドと、
前記読み書きヘッドの前記書き込み処理によって書き込みデータが記憶され、かつ前記読み出し処理によって読み出しデータが読み出される記憶媒体と、
前記キャッシュ・メモリに記憶された前記書き込み要求の、前記記憶媒体に対する書き込み順位を保持する順位保持手段と、
前記ホストから読み出し要求が転送された際に、当該読み出し要求を記憶する領域が前記キャッシュ・メモリに確保できない場合に、前記キャッシュ・メモリに記憶されている複数の前記書き込み要求のうちで最古の書き込み要求を少なくとも含む1つまたは複数の書き込み要求を前記キャッシュ・メモリに記憶されている他の重き込み要求よりも優先するように、前記順位保持手段における従前の書き込み順位を変更する書き込み順位決定手段と、
を備えることを特徴とするデータ記憶装置。 - 前記書き込み順位決定手段は、
前記キャッシュ・メモリに記憶されている複数の前記書き込み要求のうちで、最古の書き込み要求が実行されたものとすると当該読み出し要求を記憶する領域が前記キャッシュ・メモリに確保される場合に、前記最古の書き込み要求の書き込み順位を最先にすることを特徴とする請求項1に記載のデータ記憶装置。 - 前記読み書きヘッドは、
前記最古の書き込み要求に基づいて書き込み処理を実行した後に、前記読み出し要求に基づいて読み出し処理を実行し、しかる後に前記キャッシュ・メモリに記憶されている他の書き込み要求に基づいて書き込み処理を実行することを特徴とする請求項2に記載のデータ記憶装置。 - 前記書き込み順位決定手段は、
前記キャッシュ・メモリに記憶されている前記書き込み要求のうちで、最古の書き込み要求が実行されたものとしても当該読み出し要求を記憶する領域が前記キャッシュ・メモリに確保されないとともに、前記最古の書き込み要求とともに前記キャッシュ・メモリに記憶されている他の所定の書き込み要求が優先して実行されたものとすると、当該読み出し要求を記憶する領域が前記キャッシュ・メモリに確保される場合に、前記最古の書き込み要求および前記所定の書き込み要求の書き込み順位を、前記キャッシュ・メモリに記憶されている他の書き込み要求の書き込み順位よりも優先することを特徴とする請求項1に記載のデータ記憶装置。 - 前記読み書きヘッドは、
前記最古の書き込み要求および前記所定の書き込み要求に基づいて書き込み処理を実行した後に、前記読み出し要求に基づいて読み出し処理を実行し、しかる後に前記他の書き込み要求に基づいて書き込み処理を実行することを特徴とする請求項4に記載のデータ記憶装置。 - ホストから転送された読み出し要求および書き込み要求を受けるとともに、記憶媒体に対して前記読み出し要求および前記書き込み要求の実行を指示するデータ処理装置であって、
前記読み出し要求および前記書き込み要求を一時的に記憶する記憶領域を有するシングル・リング・バッファ方式のキャッシュ・メモリと、
前記キャッシュ・メモリに一時的に記憶された前記読み出し要求および前記書き込み要求を読み出しかつ実行する順位を保持する実行順位保持手段と、
前記読み出し要求を受けた時点で前記キャッシュ・メモリに前記読み出し要求を一時的に記憶する記憶領域を確保できない場合に、前記読み出し要求を一時的に記憶する記憶領域を確保するために、前記キャッシュ・メモリに記憶されている複数の前記書き込み要求のうちで最古の書き込み要求を少なくとも含む1つまたは複数の書き込み要求を前記キャッシュ・メモリに記憶されている他の書き込み要求よりも優先するように、前記実行順位保持手段に保持されている前記書き込み要求の実行順位を変更する読み書き順位決定手段と、
を備えたことを特徴とするデータ処理装置。 - 前記読み書き順位決定手段は、前記キャッシュ・メモリに最先に記憶された書き込み要求が読み出されることを条件に新たな読み出し要求の前記キャッシュ・メモリへの記憶が可能になる場合に、前記最先に記憶された書き込み要求を読み出すことを前提に、前記実行順位保持手段に保持されている前記書き込み要求の実行順位を変更することを特徴とする請求項6に記載のデータ処理装置。
- ホストから転送される書き込み要求および読み出し要求を一時的に記憶する複数の記憶領域を有するシングル・リング・バッファ方式のキャッシュ・メモリ、前記書き込み要求または前記読み出し要求に基づいて、書き込み処理または読み出し処理を行なう読み書きヘッド、及び、前記読み書きヘッドの前記書き込み処理によって書き込みデータが記憶され、かつ前記読み出し処理によって読み出しデータが読み出される記憶媒体、の間において、前記書き込み要求の実行順序を最適化する方法であって、
前記キャッシュ・メモリに記憶された前記書き込み要求の、前記記憶媒体に対する書き込み順位を保持するステップと、
前記ホストから読み出し要求が転送された際に、当該読み出し要求を記憶する領域が前記キャッシュ・メモリに確保できない場合に、前記キャッシュ・メモリに記憶されている複数の前記書き込み要求のうちで最古の書き込み要求を少なくとも含む1つまたは複数の書き込み要求を前記キャッシュ・メモリに記憶されている他の書き込み要求よりも優先するように、従前の書き込み順位を変更するステップと、を有する
書き込み要求の実行順序を最適化する方法。 - ホストから転送されてくる読み出し要求および書き込み要求を受けるとともに、記憶媒体に対して前記読み出し要求および前記書き込み要求の実行を指示する、データ処理方法であって、
前記読み出し要求および前記書き込み要求を一時的に記憶する記憶領域を有するシングル・リング・バッファ方式のキャッシュ・メモリを用いて、前記キャッシュ・メモリに一時的に記憶された前記読み出し要求および前記書き込み要求を読み出しかつ実行する順位を保持し、
前記読み出し要求を受けた時点で前記キャッシュ・メモリに前記読み出し要求を一時的に記憶する記憶領域を確保できない場合に、前記読み出し要求を一時的に記憶する記憶領域を確保するために、前記キャッシュ・メモリに記憶されている複数の前記書き込み要求のうちで最古の書き込み要求を含む1つまたは複数の書き込み要求を前記キャッシュ・メモリに記憶されている他の書き込み要求よりも優先するように、前記書き込み要求の実行順序を変更する、
データ処理方法。 - 請求項8または9に記載された方法を実行する、
ハード・ディスク・ドライブ。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001316036A JP3823040B2 (ja) | 2001-10-12 | 2001-10-12 | データ記憶装置、データ処理装置、書き込み要求の実行順序を最適化する方法、データ処理方法およびハード・ディスク・ドライブ |
US10/269,206 US6957311B2 (en) | 2001-10-12 | 2002-10-11 | Data storage apparatus, computer apparatus, data processing apparatus, and data processing method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001316036A JP3823040B2 (ja) | 2001-10-12 | 2001-10-12 | データ記憶装置、データ処理装置、書き込み要求の実行順序を最適化する方法、データ処理方法およびハード・ディスク・ドライブ |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003122631A JP2003122631A (ja) | 2003-04-25 |
JP3823040B2 true JP3823040B2 (ja) | 2006-09-20 |
Family
ID=19134105
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001316036A Expired - Lifetime JP3823040B2 (ja) | 2001-10-12 | 2001-10-12 | データ記憶装置、データ処理装置、書き込み要求の実行順序を最適化する方法、データ処理方法およびハード・ディスク・ドライブ |
Country Status (2)
Country | Link |
---|---|
US (1) | US6957311B2 (ja) |
JP (1) | JP3823040B2 (ja) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7000483B2 (en) * | 2003-02-03 | 2006-02-21 | Dielectrics Industries, Inc. | Inflatable manometers |
US7376784B2 (en) | 2004-01-26 | 2008-05-20 | Hitachi Global Storage Technologies Netherlands B.V. | System and method for selecting command for execution in HDD based on benefit |
JP2006185162A (ja) | 2004-12-27 | 2006-07-13 | Hitachi Global Storage Technologies Netherlands Bv | データ記憶装置及びその制御方法 |
US7243194B2 (en) * | 2005-02-09 | 2007-07-10 | International Business Machines Corporation | Method to preserve ordering of read and write operations in a DMA system by delaying read access |
JP5030387B2 (ja) * | 2005-03-08 | 2012-09-19 | エイチジーエスティーネザーランドビーブイ | データ記憶装置 |
US20060218361A1 (en) * | 2005-03-25 | 2006-09-28 | Matsushita Electrical Industrial Co., Ltd. | Electronic storage device with rapid data availability |
JP5049763B2 (ja) * | 2007-12-19 | 2012-10-17 | キヤノン株式会社 | ネットワークタイマ管理方法及び装置 |
US8407590B1 (en) | 2009-02-15 | 2013-03-26 | Google Inc. | On-screen user-interface graphic |
US8745202B2 (en) * | 2009-04-03 | 2014-06-03 | Google Inc. | Tracking remote browser crashes via cookies |
US8725793B2 (en) * | 2009-04-03 | 2014-05-13 | Google Inc. | Architectural pattern for persistent web application design |
US8666954B2 (en) * | 2009-04-03 | 2014-03-04 | Google Inc. | Reduced bandwidth cache coherency via checksum exchange |
US8260876B2 (en) * | 2009-04-03 | 2012-09-04 | Google Inc. | System and method for reducing startup cost of a software application |
US20110004718A1 (en) * | 2009-07-02 | 2011-01-06 | Ross John Stenfort | System, method, and computer program product for ordering a plurality of write commands associated with a storage device |
JP2012038330A (ja) * | 2011-10-05 | 2012-02-23 | Hitachi Global Storage Technologies Netherlands Bv | ハードディスクドライブ |
US9021228B2 (en) | 2013-02-01 | 2015-04-28 | International Business Machines Corporation | Managing out-of-order memory command execution from multiple queues while maintaining data coherency |
US10318175B2 (en) * | 2017-03-07 | 2019-06-11 | Samsung Electronics Co., Ltd. | SSD with heterogeneous NVM types |
US10522185B1 (en) * | 2019-02-09 | 2019-12-31 | Western Digital Technologies, Inc. | Data storage device sorting execution order of commands based on a predicted future command |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0425550B1 (en) * | 1988-06-30 | 1995-01-04 | Wang Laboratories, Inc. | Memory control unit |
US5870625A (en) * | 1995-12-11 | 1999-02-09 | Industrial Technology Research Institute | Non-blocking memory write/read mechanism by combining two pending commands write and read in buffer and executing the combined command in advance of other pending command |
US6014737A (en) * | 1997-11-19 | 2000-01-11 | Sony Corporation Of Japan | Method and system for allowing a processor to perform read bypassing while automatically maintaining input/output data integrity |
US6412030B1 (en) * | 1999-04-16 | 2002-06-25 | Koninklijke Philips Electronics N.V. | System and method to optimize read performance while accepting write data in a PCI bus architecture |
US6256713B1 (en) * | 1999-04-29 | 2001-07-03 | International Business Machines Corporation | Bus optimization with read/write coherence including ordering responsive to collisions |
JP2001209500A (ja) * | 2000-01-28 | 2001-08-03 | Fujitsu Ltd | ディスク装置およびディスク装置のリード・ライト処理方法 |
US6418510B1 (en) * | 2000-09-14 | 2002-07-09 | International Business Machines Corporation | Cooperative cache and rotational positioning optimization (RPO) scheme for a direct access storage device (DASD) |
-
2001
- 2001-10-12 JP JP2001316036A patent/JP3823040B2/ja not_active Expired - Lifetime
-
2002
- 2002-10-11 US US10/269,206 patent/US6957311B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US6957311B2 (en) | 2005-10-18 |
JP2003122631A (ja) | 2003-04-25 |
US20030074526A1 (en) | 2003-04-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3823040B2 (ja) | データ記憶装置、データ処理装置、書き込み要求の実行順序を最適化する方法、データ処理方法およびハード・ディスク・ドライブ | |
US7373460B2 (en) | Media drive and command execution method thereof | |
US7664884B2 (en) | Media drive that creates a transfer unnecessary period, and power saving method thereof | |
US6330640B1 (en) | Buffer management system for managing the transfer of data into and out of a buffer in a disc drive | |
US7320050B2 (en) | Data transmission control method and storage device | |
US5991825A (en) | System for handling missed revolution in a disk drive by aborting the execution of primary command and executing secondary command if a missed revolution occurs | |
EP1580665A2 (en) | Data storage device, control method thereof and magnetic disk storage device | |
US6629200B1 (en) | System and method for controlling cache memories, computer system, hard disk drive unit, and hard disk control unit | |
JP3745552B2 (ja) | 情報記憶装置 | |
US7451261B2 (en) | Data storage device and control method with buffer control thereof | |
JPH10149260A (ja) | ディスクドライブにおける読出キャッシュ方式 | |
US6567886B1 (en) | Disk drive apparatus and control method thereof | |
JP5030387B2 (ja) | データ記憶装置 | |
US20040015878A1 (en) | Reordering controller, reordering method and storage apparatus | |
US20060129716A1 (en) | Data storage device and buffer control method thereof | |
JP2003316523A (ja) | データ記憶装置、実行コマンドの選択方法およびデータ処理方法 | |
US20100017633A1 (en) | Memory device, control device for memory device, and control method for memory device | |
JP2009054209A (ja) | 不揮発性半導体メモリ装置を有するディスク・ドライブ装置及びそのディスク・ドライブ装置において不揮発性半導体メモリ装置にデータを格納する方法 | |
JP2012038330A (ja) | ハードディスクドライブ | |
JP2024034411A (ja) | 磁気ディスク装置及びコマンド処理方法 | |
JP2003217237A (ja) | 磁気ディスク装置 | |
JP3068811B2 (ja) | 記憶装置の制御方法 | |
JP2003303469A (ja) | データ記憶装置、ディスク・ドライブ装置、電子機器、ディスク・ドライブ装置の制御方法、電子機器の制御方法およびデータの読み書き方法 | |
JP2002260335A (ja) | 高速ライトキャッシュディスク装置 | |
JPH1173757A (ja) | セクタへのアクセス方法を改善した情報記録再生装置及び方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20051024 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20051122 |
|
RD14 | Notification of resignation of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7434 Effective date: 20051208 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20060202 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20060207 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060425 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060509 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060530 |
|
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: 20060613 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060626 |
|
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: 20100630 Year of fee payment: 4 |