JP3358795B2 - ディスクドライブ装置及びその制御方法 - Google Patents

ディスクドライブ装置及びその制御方法

Info

Publication number
JP3358795B2
JP3358795B2 JP07513997A JP7513997A JP3358795B2 JP 3358795 B2 JP3358795 B2 JP 3358795B2 JP 07513997 A JP07513997 A JP 07513997A JP 7513997 A JP7513997 A JP 7513997A JP 3358795 B2 JP3358795 B2 JP 3358795B2
Authority
JP
Japan
Prior art keywords
command
write
cache memory
data
disk
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 - Fee Related
Application number
JP07513997A
Other languages
English (en)
Other versions
JPH10275111A (ja
Inventor
淳 金丸
俊男 柿原
秀夫 浅野
敦 戸張
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Priority to JP07513997A priority Critical patent/JP3358795B2/ja
Priority to US09/049,682 priority patent/US6219750B1/en
Publication of JPH10275111A publication Critical patent/JPH10275111A/ja
Application granted granted Critical
Publication of JP3358795B2 publication Critical patent/JP3358795B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0616Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0674Disk device
    • G06F3/0677Optical disk device, e.g. CD-ROM, DVD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/31Providing disk cache in a specific location of a storage system
    • G06F2212/312In storage controller

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、ハードディスクド
ライブ(HDD)等に用いられるディスクドライブ装置
及びその制御方法に係り、詳細には、キャッシュメモリ
を備えたディスクドライブ装置及びその制御方法に関す
る。
【0002】
【従来の技術】情報処理装置の補助記憶装置として用い
られるハードディスクドライブ(HDD)には、アクセ
ス速度向上のために、情報処理装置(以下、ホストとい
う)から供給されたデータを一時的に保持し、または磁
気ディスクから読み出されたデータがホストに転送され
るまでの間このデータを一時的に保持するキャッシュメ
モリ及びキャッシュ制御を行う制御部を設けることが一
般的である。
【0003】制御部は、ホストから書き込みデータが供
給されると、供給された書き込みデータをキャッシュメ
モリに保持した後、ホストを書き込み処理から解放す
る。これと並行して、制御部は、キャッシュメモリに保
持した書き込みデータが順次、磁気ディスク(以下、メ
ディアという)に書き込まれるように書き込み系の制御
を行う。さらに、制御部はホストからの読み出し要求が
あると予想されるデータのメディアからの読み出しを読
み出し系に指示し、読み出されたデータをキャッシュメ
モリに保持しておく。そして、ホストからの読み出し要
求があったときに、読み出し対象データがキャッシュメ
モリに保持されていれば、それをホストに供給する。こ
のようなキャッシュ制御を行うことにより、HDDの見
かけ上のアクセス速度が向上する。
【0004】近年の小型のHDDでは、コマンドオーバ
ーヘッドの削減によるパフォーマンスの向上の手段とし
て、ホストインターフェース周辺の処理に対するHDD
のマイクロプロセッサ(以下、ローカルMPUという)
の介在をできるだけ減らして、その処理をできる限りハ
ードウェアによるホストインターフェースコントローラ
(Host Interface Controller:HIC)に行わせる手
法が採られる傾向にある。
【0005】その一つとして、ホストとキャッシュメモ
リの間はローカルMPUの介在なしにHICによる制御
の下にデータ転送を行うことができる一方、メディアと
キャッシュメモリの間のデータ転送は、ローカルMPU
がハードディスクコントローラ(Hard Disk Controlle
r:HDC)を制御してデータ転送を行うローカルMP
Uの介在を必要とするシステムを用いることが考えられ
る。
【0006】このようなシステムにおいて、ホストから
のライトコマンドによりデータをメディアに書き込む場
合には次のような動作となる。
【0007】(1)ホストからのデータがHICを通して
キャッシュメモリ内に一旦入ると、HICからはローカ
ルMPUに対してホストからコマンドが来たことを通知
する。これを受けてローカルMPUは、HDCに対して
キャッシュメモリにあるデータをメディアに書き出しな
さいという命令を出す。この命令によりHDCはキャッ
シュメモリのデータをメディアに転送し、メディアにデ
ータが書き込まれる。
【0008】(2)その後、ローカルMPUには、HIC
から、ホストからキャッシュメモリへの転送が終了した
旨の通知が出される一方、HDCからはメディアに対し
ての書き込みが終了した旨の通知が出される。
【0009】より詳細にHIC及びローカルMPUの動
作を説明する。HICは、ホストからのコマンドを受け
とると、ローカルMPUの介在なしに直ちにキャッシュ
メモリへのデータ転送を開始し、ローカルMPUに通知
する。このデータ転送が終了し、かつキャッシュメモリ
内に次のライトコマンドを受付可能な空き(例えば、1
ブロック)ができた時点でHICはローカルMPUに対
しコマンド終了を通知する。これは、次のライトコマン
ドがきたときに該ライトコマンドをキャッシュメモリに
直ちに取り込めるようにするためのもので、IDE(In
tegrated Device Electronics)インターフェース上の
規格となっている。
【0010】このような動作において、キャッシュメモ
リ上に充分な空きがある場合には、HICは、ローカル
MPUによる書き込み処理動作には構わずに単独でホス
トに対して終了を通知し、ホストから次のライトコマン
ドを受付けて次のライトコマンドに基づくデータ転送を
行ってしまう。このようにして、キャッシュメモリ内に
できるだけコマンドを取り込むことにより、よりパフォ
ーマンスの向上を図っている。上記動作を行うために、
キャッシュメモリには、キャッシュメモリのコマンドの
種類を保持するためのコマンドキューが設けられてい
る。
【0011】図2はキャッシュメモリのコマンドキュー
の構造を示す図である。図2において、Q=1,2,
…,nはキューアドレス、A,B,C,D,…,Nはキ
ャッシュメモリ内に保持されたコマンドである。図2に
示すように、コマンドキューには、キャッシュメモリ内
にキャッシュされたコマンドが古いコマンドから順に
A,B,…と書き込まれていく。コマンドを受け取る度
にキューアドレスが増え、古いコマンドが順次実行され
るとキューアドレスが減少する。コマンドキューの管理
は、HICが行っており、またローカルMPUはキュー
アドレスのコマンドを取り込むことができる。
【0012】コマンドキューに保持されたライトコマン
ドは、ローカルMPUがHDCに書き出し指示を行うこ
とによってHDCにより実行され、メディアに書き込ま
れる。また、メディアから読み込まれたデータはHDC
によりキャッシュメモリに転送され、そしてHICによ
ってホストに転送される。
【0013】
【発明が解決しようとする課題】しかしながらこのよう
な従来のライトコマンドをコマンドキューに保持する手
法を採るHDDには、以下のような理由でパフォーマン
スの向上に限界があった。
【0014】すなわち、コマンドキューに保持されたラ
イトコマンドを順番に実行してデータをメディアに書き
込んでいたため、同一コマンドが繰り返し発行されてコ
マンドキューに保持されている場合、メディアへのデー
タ書き込みは同一の上書きが繰り返されることになり、
結果的に不要なアクセスを実行してしまうことになって
いた。例えば、図2のコマンドキューの構造において、
キャッシュされた複数のライトコマンドが、A,B,
A,B,A,B,…という同一コマンドの繰り返しであ
る場合、古いコマンドA,Bによるメディアへの書き込
み結果は、より新しいコマンドA,Bの実行によって完
全に上書きされ、結果的には最後のコマンドA,Bによ
るメディアへの書き込み結果のみが残ることになる。こ
のことは、メディアへの一連のアクセスの中に不要なア
クセスが含まれることを意味し、パフォーマンスの低下
となる。
【0015】このようなHDCによるメディアの書き込
み動作は、メディアの周回待ち等、データ転送に要する
時間がキャッシュとホスト間のデータ転送に比べて桁違
いに長い時間が必要となり、データ転送の速度が大幅に
低下してしまう。
【0016】本発明は、同一アドレスへ同一コマンドが
所定の間隔で繰り返し行われる場合、重複コマンド実行
によるパフォーマンス低下を最小限に抑えながら、全体
のパフォーマンスを向上させることができるディスクド
ライブ装置及びその制御方法を提供することを目的とす
る。
【0017】
【課題を解決するための手段】本発明のディスクドライ
ブ装置は、ディスク状記憶媒体と、ディスク状記憶媒体
に対しデータの読み出し/書き込みの動作を制御するデ
ィスク制御手段と、ディスク状記憶媒体に書き込む複数
データ、該データの各ライトコマンドおよび該各ライ
トコマンドを保持するコマンドキューを保持するキャッ
シュメモリと、ハードウェアによりホストとキャッシュ
メモリの間のデータ転送を行うホストインターフェース
制御手段と、ディスク状記憶媒体とキャッシュメモリの
間のデータ転送制御を含む、装置全体の動作を制御する
マイクロプロセッサとを備え、ホストインターフェース
制御手段は、キャッシュメモリ内にキャッシュされる複
数のライトコマンドを保持するコマンドキューを有し、
ライトコマンド実行によるデータ転送開始を前記マイク
ロプロセッサに通知するとともに、ライトコマンド終了
によるデータ転送終了を前記マイクロプロセッサに通知
し、マイクロプロセッサは、ホストインターフェース制
御手段からデータ転送開始通知を受け取ると、キャッシ
ュメモリ内にキャッシュされているライトコマンドによ
って、ディスク制御手段に対してディスク状記憶媒体へ
のデータの書き込みを指示し、キャッシュメモリ内にキ
ャッシュされている複数のライトコマンドからその書
き込みアドレス及びその書き込みレングスを取り出し、
より最近に発行されたライトコマンドによって書き込み
アドレス及び書き込みレングスから完全に上書きされる
ライトコマンドがキャッシュメモリ内のコマンドキュー
内にあるか否かを検索し、該コマンドキュー内に検索さ
れた上書きされるライトコマンドがある場合には、該ラ
イトコマンドによっては、ディスク状記憶媒体へのデー
タの書き込みを行わないようにディスク制御手段を制御
することを特徴とする。
【0018】また、本発明のディスクドライブ装置の制
御方法は、ディスク状記憶媒体に対しデータの読み出し
/書き込みの動作を制御するディスク制御手段と、ディ
スク状記憶媒体に書き込む複数のデータ、該データの各
ライトコマンドおよび該各ライトコマンドを保持するコ
マンドキューを保持するキャッシュメモリと、ハードウ
ェアによりホストとキャッシュメモリの間のデータ転送
を行うホストインターフェース制御手段と、ディスク状
記憶媒体とキャッシュメモリの間のデータ転送制御を含
む、装置全体の動作を制御するマイクロプロセッサとを
備えたディスクドライブ装置の制御方法において、ホス
トインターフェース制御手段には、ライトコマンドが発
行されると、ホストからキャッシュメモリにデータ転送
するとともに、マイクロプロセッサに対しコマンド実行
によるデータ転送開始及びそのデータ転送終了を通知さ
せ、マイクロプロセッサには、データ転送開始通知を受
け取ると、キャッシュメモリ内にキャッシュされている
ライトコマンドによって、ディスク制御手段に対してデ
ィスク状記憶媒体へのデータの書き込みの指示を与え
、キャッシュメモリ内にキャッシュされている複数の
ライトコマンドからその書き込みアドレス及びその書
き込みレングスを取り出し、より最近に発行されたライ
コマンドによって書き込みアドレス及び書き込みレン
グスから完全に上書きされるライトコマンドがキャッシ
ュメモリ内のコマンドキュー内にあるか否かを検索し、
該コマンドキュー内に検索された上書きされるライトコ
マンドがある場合には、該ライトコマンドによっては、
ディスク状記憶媒体へのデータの書き込みは行わないよ
うにディスク制御手段を制御することを特徴とする。
【0019】
【発明の実施の形態】本発明に係るディスクドライブ装
置は、IDE(Integrated Device Electronics)イン
ターフェースを備えた小型HDDに適用することができ
る。
【0020】図1は本発明の実施形態に係るディスクド
ライブ装置の構成を示すブロック図である。図中、太実
線矢印はデータの流れを示し、細実線矢印は制御信号の
流れを示す。
【0021】図1において、磁気ディスク装置(HD
D)10は、磁気ディスクにデータの読み出し/書き込
みを行うための磁気ヘッド11と、検出信号の増幅回
路、波形整形回路、アナログ・ディジタル変換器(AD
C)及びディジタル・アナログ変換器(DAC)等をモ
ジュール化したチャネルモジュール12と、磁気ディス
クに対しデータの読み出し/書き込み等の動作を制御す
るハードディスクコントローラ(Hard Disk Controlle
r:HDC)13と、供給された書き込みデータを保持
するキャッシュメモリ14と、ホストインターフェース
周辺の処理をハードウェアにより行うホストインターフ
ェースコントローラ(Host Interface Controller:H
IC)15と、HDC13及びHIC15に対する制御
を含む、HDD全体の動作を制御するローカルMPU1
6とを備えて構成される。
【0022】また、HDC13、キャッシュメモリ14
及びHIC15はデータバス17により互いに接続さ
れ、HDC13及びHIC15は制御用バス18により
ローカルMPU16に接続され、HIC15はIDEバ
ス19によりHDD外部のホストに接続される。
【0023】キャッシュメモリ14は、磁気ディスク上
の記録単位(セクタ)の数百個分以上のデータを保持す
ることができる程度の記憶容量、例えば128Kバイト
(256ブロック)を持つ。ここでは、例えば1ブロッ
ク=1セクタ=512バイトのものを用いる。但し、I
DEでは、ホストがキャッシュメモリ上での複数ブロッ
クを1ブロックとして、すなわち1、2、4、8、16
または32セクタ等を1ブロックとして指定することが
可能である。
【0024】HIC15は、データ転送に必要な情報を
すべて格納できる内部メモリを有し、ローカルMPU1
6の介在なしにハードウェアによりホストとキャッシュ
メモリ14の間のデータ転送を行うものである。
【0025】HIC15の内部メモリには、キャッシュ
メモリ14上でのアドレスと磁気ディスクとの対応関係
及び連続して記憶されているブロック数がキャッシュテ
ーブルの形で保存されている。
【0026】HIC15は、ホストから書き込みデータ
が供給されると、供給された書き込みデータをキャッシ
ュメモリ14に保持した後、ホストを書き込み処理から
解放する。また、HIC15からはローカルMPU16
に対してホストからコマンドが来たことを通知する。
【0027】HIC15は、キャッシュメモリ14にキ
ャッシュされるコマンドを管理するために図2に示すよ
うなコマンドキューを備えている。図2はキャッシュメ
モリ14のコマンドキューの構造を示す図である。図2
において、Q=1,2,…,nはキューアドレス、A,
B,C,D,…,Nはキャッシュメモリ14内に保持さ
れたコマンドである。本実施形態では、キューアドレス
nを32とし、32のライトコマンドが保持可能であ
る。
【0028】なお、HIC15は、ホストよりリードコ
マンドが発行された時には、発行されたコマンドのアド
レスと上記キャッシュテーブルとを比較し、最もヒット
率の高いもの(これは単純に最も多くヒットしているの
ではなく、ブロックの先頭がヒットしている等の条件を
満たしたもの)のヒット状況をローカルMPU16に通
知する。HIC15は、ホストからリードコマンドが発
行された時点で要求されたデータがキャッシュメモリ1
4にあるか否かを判断でき、何ブロック転送すべきかも
ローカルMPU16の介在なしに判断することができ
る。
【0029】ローカルMPU16は、制御プログラムを
実行するマイクロプロセッサであり、制御プログラム、
データを格納するメモリ等を備え、制御プログラムに従
って処理を実行してHDD全体の動作を制御し、HIC
15及びホストから供給されるコマンド、制御データに
基づいてHDC13及びHIC15の動作を制御する。
すなわち、ローカルMPU16は、HIC15がホスト
からのコマンド情報及びそのコマンドに対するヒット情
報を通知すると、これら情報に基づいてHIC15を制
御する。
【0030】特に、ローカルMPU16は、所定条件が
満たされた場合には、キャッシュメモリ14内にキャッ
シュされている複数のライトコマンドのうち、より最近
に発行されたコマンドによって完全に上書きされるコマ
ンドがあるか否かを検索し、検索された上書きとなるコ
マンドによっては、メディアへの書き込みは行わないよ
うにする制御を行ってHDDのパフォーマンスを向上さ
せる。
【0031】このように、HDD10は、IDEインタ
ーフェースを持ち、データバス17とメディアとの間に
キャッシュメモリ14を備え、キャッシュメモリ14に
ライトコマンドを複数個キャッシュでき、HIC15と
キャッシュメモリ14の間はローカルMPU16の介在
なしにHIC15がデータ転送を行うことができるが、
メディアとキャッシュメモリ14の間のデータ転送はロ
ーカルMPU16の介在を必要とするものである。
【0032】以下、上述のように構成されたHDD10
の動作を説明する。
【0033】まず、本発明の基本的な考え方について述
べる。
【0034】同一コマンドによるメディアへのデータの
上書きの繰り返しを回避する方法としては、まずメディ
アへの書き込みを実行する前にキャッシュメモリ内を検
索して、該当データがキャッシュメモリ内のより最近に
発行されたコマンドによって完全に上書きされるか否か
を検出し、検索されたコマンドによってデータが上書き
される場合は、上書きとなるコマンドは実行しないとい
う方法が考えられる。
【0035】この場合の検索方法としては、キャッシュ
されたすべてのコマンドについて上述した重複比較を行
うことが考えられる。この検索方法を採ると、一組でも
コマンドが重複していれば、そのコマンドを実行しない
ことによってその分の書き込みにかかる時間を短縮する
ことができる。上記重複比較には、ローカルMPUによ
るコマンドオーバーヘッドが必要であり、比較によるコ
マンドオーバーヘッドの増加よりも、実際に短縮される
書き込み実行時間が大きければ、効果が期待できる。し
かし、全くのランダムアクセスが実行されたときのよう
にキャッシュされたコマンドの重複が殆どない場合に
は、いたずらにコマンドオーバーヘッドを増やすだけ
で、逆にパフォーマンスは低下してしまう。例えば、仮
に32個の完全なランダムアクセスによるコマンドがキ
ャッシュされた場合を考えると、合計の比較数は、(3
1+30+29+…+3+2+1)=496にも及ぶこ
とになる。
【0036】ところで、実際には上述したような全くの
ランダムアクセスの場合は少なく、スマートドライブ
(SMARTDRV)などのシステムキャッシュを備えた最近の
OS(Operating System)のHDDへのアクセスでは、
FAT(File Allocation Table)へのアクセスを中心
に、ある決まったレングスで、同じアドレスへ、あるイ
ンターバルで繰り返し行われることが多い。
【0037】そこで本発明は、ライトコマンドを複数個
キャッシュできるHDDに対して、以下のようなアリゴ
リズムに従ってキャッシュを行ってHDDのパフォーマ
ンスを向上させるものである。
【0038】(1)キャッシュメモリ内にキャッシュされ
ている複数のライトコマンドのうち、より最近に発行さ
れたコマンドによって完全に上書きされるコマンド(以
下、検索元コマンドという)によっては、メディアへの
書き込みは行わない。
【0039】(2)キャッシュメモリ内に、上記(1)の条件
を満たすライトコマンドが存在するかどうかの検索は、
キャッシュされているすべてのコマンドに対して行うの
ではなく、以下の方法で行う。
【0040】i)検索元コマンドに連続した所定数(以
下、比較制限数という)コマンドについてのみを検索す
る。
【0041】ii)検索元コマンドのレングスがn(レン
グス制限数)のときのみ、あるいはn以下のときのみ検
索を実行する。
【0042】(3)比較制限数については、HDDの使用
される環境により、固定値をあらかじめ与える場合と、
比較結果によって値を動的に変化させるものの二方式が
ある。
【0043】(4)比較制限数の動的変化は、以下の方法
に従う。
【0044】i)過去の検索による検索率が、ある一定値
を上回るごとに所定の上限内で比較制限数を増加させ
る。すなわち、見つかれば見つかる程検索範囲を広げ
る。
【0045】ii)過去の検索による検索率が、ある一定
値を下回るごとに所定の下限内で比較制限数を減少させ
る。すなわち、見つからなければ見つからない程検索範
囲を狭める。
【0046】次に、上記基本的な考え方に基づいてHD
D10の動作を詳細に説明する。
【0047】図1の太実線矢印は、ホストからのライト
コマンドをキャッシュし、キャッシュしたコマンドによ
りデータをメディアに書き込む場合のデータの流れを示
している。
【0048】ホストからのデータがHIC15を通して
キャッシュメモリ14内に一旦入ると、HIC15から
はローカルMPU16に対してホストからコマンドが来
たことを通知する。これを受けてローカルMPU16
は、HDC13に対してキャッシュメモリ14にあるデ
ータをメディアに書き出しなさいという命令を出す。こ
の命令によりHDC13はキャッシュメモリ14のデー
タをメディアに転送し、メディアにデータが書き込まれ
る。
【0049】その後、ローカルMPU16には、HIC
15から、ホストからキャッシュメモリ14への転送が
終了した旨の通知が出される一方、HDC13からはメ
ディアに対しての書き込みが終了した旨の通知が出され
る。
【0050】上記動作を図3に示すライトコマンドにお
けるフローチャートを参照して詳細に説明する。
【0051】図3はライトコマンド発行によるHIC及
びローカルMPUの動作を示すタイミングチャートであ
り、図中左側はHICの動作を、図中右側はローカルM
PUの動作を示す。なお、図中ステップHはHICの、
ステップMはローカルMPUのステップを示す。
【0052】まず、ホストからライトコマンドが発行さ
れると、ステップH1でHIC15はホストからのコマ
ンドを読み、ステップH2でローカルMPU16の介在
なしに直ちにキャッシュメモリ14へのデータ転送を開
始する(図1及び図3の転送データd1参照)一方、ロ
ーカルMPU16に通知する。この通知は、図1及び図
3の制御c1で示される。
【0053】ステップH3でキャッシュメモリ14への
データ転送が終了すると、ステップH4でキャッシュメ
モリ14内に次のライトコマンドを受付可能な空き(例
えば、1ブロック)ができるまで待機し、次のライトコ
マンドを受付可能な空きがあるときはステップH5でH
IC15はローカルMPU16に対しコマンド終了を通
知し、再びステップH1に戻ってホストからの次のライ
トコマンドに備える。このローカルMPU16への通知
は、図1及び図3の制御c3で示される。
【0054】一方、上述したHIC15の動作中にロー
カルMPU16は以下のような処理を行う。
【0055】まず、ステップM1でコマンドの待機を行
い、このコマンド待機中にHIC15から転送開始の通
知(図1及び図3の制御c1)を受けると、ステップM
2でキャッシュメモリ14にあるデータの目的アドレス
へのシーク指示を行い、ステップM3でHDC13に対
してHDC13への書き出しを指示する(図1及び図3
の制御c2)。このステップM3及びM4は、上記アリ
ゴリズムを実行するためのものである。ステップM3及
びM4の処理内容の詳細については図4及び図5により
後述する。
【0056】ローカルMPU16からHDC13への書
き出し指示により、HDC13はキャッシュメモリ14
のデータのメディアへの転送を開始し、メディアにデー
タが書き込まれる。このデータの流れは図1及び図3の
転送データd2で示される。
【0057】その後、ローカルMPU16は、ステップ
M4でHIC15からコマンド終了の通知(図1及び図
3の制御c3)が来るまで待機し、HIC15からコマ
ンド終了の通知が来るとステップM5でHDC13から
書き出し終了の通知(図1及び図3の制御c4)が来る
まで待機する。
【0058】HDC13から書き出し終了の通知が来る
と、ステップM6で図2に示すコマンドキューを参照し
て更にコマンドがキューされているかを判別する。更に
コマンドがキューされているときはステップM2に戻っ
て次のコマンドについて上記処理を繰り返し、コマンド
がキューされていないときはステップM1に戻って次の
コマンドを待つ。
【0059】このようなライトコマンドにおける基本動
作において、キャッシュメモリ14上に充分な空きがあ
る場合には、HIC15は、ローカルMPU16による
書き込み処理(ステップM3及びM4の処理)には構わ
ずにホストに対して終了を通知し、ホストから次のライ
トコマンドを受付けて次のライトコマンドに基づくデー
タ転送を行い、キャッシュメモリ14内にできるだけコ
マンドを取り込むことにより、よりパフォーマンスの向
上を図っている。すなわち、図3において、HIC15
が、ローカルMPU16におけるステップM1〜M6の
処理とは独立して、ステップH1〜H5の処理を繰り返
し行うことで実現される。
【0060】本実施形態では、このようにしてライトコ
マンドを複数個キャッシュしたHDD10に対して、上
述したアリゴリズムに従ってキャッシュを行ってHDD
のパフォーマンスを向上させるものである。
【0061】図4は上述したアリゴリズムを実行するた
めのフローチャートであり、本フローはローカルMPU
16により前記図3のステップM3及びM4において実
行する。
【0062】まず、ステップST1で最も過去にキャッ
シュされたコマンドキューのアドレスをレジスタORG
に格納する。ここでは、図2に示すコマンドキューの構
造において、キューアドレスの最大値は32で、トータ
ル32個のコマンドが保持できるものとし、最も過去に
キャッシュされたコマンドキューのアドレス1をORG
に格納する(ORG=1)。
【0063】次いで、ステップST2で上記ORGに格
納したコマンドキューのアドレス(最初はアドレス1)
に基づく実際のライトコマンドの書き込みアドレス及び
その書き込みレングス(以下、レングスと記載)(どこ
から何ブロック分書き込みしようとしているか)を取り
出し、ステップST3で検索元コマンドのレングスがレ
ングス制限数n(例えば、n=3すなわち3ブロック)
内にあるか否かを判別する。
【0064】検索元コマンドのレングスがレングス制限
数内にないときは検索を行うことなくステップST4に
進み、ステップST4で直ちにメディアへの書き込み処
理を実行する。具体的には、HDC13に対しメディア
への書き出し指示を行う。これによって検索元コマンド
のレングスがレングス制限数内にないときのオーバーヘ
ッドが最小限となる。
【0065】検索元コマンドのレングスがレングス制限
数内にあるときはステップST5以降の処理で検索が開
始される。まず、ステップST5でレジスタQにORG
に格納したコマンドキューのアドレスを格納し(Q=O
RG)、ステップST6で検索対象となる次に古いコマ
ンドのキューアドレスとする(Q=Q+1)。例えば、
この場合には図2に示すコマンドキューの構造におい
て、コマンドキューのアドレス2に対して検索が行われ
る。
【0066】ステップST7では、上記キューアドレス
Qにコマンドが保持されているか否かを判別し、キュー
アドレスQにコマンドがなければ検索するものがないと
判断してステップST4に進む。
【0067】上記キューアドレスQにコマンドが保持さ
れているときはステップST8でそのコマンドが、検索
元コマンドが何個以上連続しているかを示す比較制限数
を超えたか否かを判別する。比較制限数を超えたときは
検索の条件にないと判断してステップST9を経由して
ステップST4に進む。ステップST9では、所定条件
により比較制限数を減少させる処理を行う。このステッ
プST9は後述するステップST12とともに比較制限
数を動的に減少または増加させる処理であり、比較制限
数の動的変化の例については図5により詳細に後述す
る。なお、比較制限数を動的に変化させる態様を採らな
いときはこれらのステップの省略は可能である。
【0068】上記ステップST8でコマンドが比較制限
数内にあるときは検索可能と判断してステップST10
で書き込みアドレス及びそのレングス(どこから何ブロ
ック分書き込みしようとしているか)を取り出し、ステ
ップST11で完全に上書きされるコマンドであるか否
かを判別する。
【0069】完全に上書きされるコマンドでなければス
テップST6に戻ってその次に古いコマンドのキューア
ドレスを対象として上記処理を繰り返す。
【0070】完全に上書きされるコマンドであればステ
ップST12で所定条件により比較制限数を増加させる
処理を行いステップST13に進む。ステップST13
では、上書きされるコマンドがあった場合であるからO
RGを次に古いコマンドキューのアドレスにする(OR
G=ORG+1)。したがって、この場合はステップS
T4によるメディアへの書き込み実行処理を経由せず
に、次に古いコマンドキューのアドレスに移行したこと
になるから、メディアへの不要なアクセスが省略された
ことになる。
【0071】次いで、ステップST14でコマンドキュ
ーのキューアドレスが空か(ORG=空か)否かをチェ
ックし、コマンドキューのキューアドレスが空のときは
キャッシュメモリ14にもうコマンドがキューされてい
ないと判断して本フローを終了し、コマンドキューのキ
ューアドレスが空でないときはステップST5に戻って
次のキューアドレスに対して上記処理を繰り返す。
【0072】次に、比較制限数の動的変化の例について
説明する。
【0073】本実施形態では、比較制限数の動的変化
は、以下の方法に従って実行した。
【0074】比較制限数の下限は3、上限は15に設定
する。
【0075】50個連続したライトコマンドを対象に比
較制限数を次のように動的変化させる(対象中に完全に
上書きされるものを含むときこれをヒットと呼ぶ)。
【0076】ヒットがある場合は、比較制限数を+3す
る。
【0077】ヒットがない場合は、比較制限数を−1す
る。
【0078】図5は上記設定条件に従って実行される比
較制限数の動的変化処理を示すフローチャートであり、
前記図4のステップST9,ST12において実行され
る。
【0079】まず、ステップST21で比較制限数に下
限の3をセットし、ステップST22でコマンドカウン
タを0に設定する。すなわち、本プログラムの開始直後
は、できるだけ検索範囲を狭めることによってまずオー
バーヘッドを最小にしておくとともに、本プログラムが
適切に実行されるに従って検索範囲を拡大してコマンド
のヒット率を高める。
【0080】次いで、ステップST23でコマンドカウ
ンタで与えられた1コマンドについて検索元コマンドと
比較することによってキューの検索を行う。次いで、ス
テップST24で50個の連続したコマンドの中にヒッ
トがあるか否かを判別し、ヒットがある場合はステップ
ST25で比較制限数を+3する。ステップST26で
は、比較制限数が上限の15を超えるか否かを判別し、
比較制限数が上限の15を超えるときはステップST2
7で比較制限数を上限の15としてステップST22に
戻り再び次のヒットをチェックする。
【0081】一方、ステップST24で50個の連続し
たコマンドの中にヒットがない場合は、ステップST2
8でコマンドカウンタを+1インクリメントし、ステッ
プST29でコマンドカウンタが50以上か否かを判別
する。
【0082】コマンドカウンタが50未満のときはステ
ップST23に戻ってキューの検索を続け、コマンドカ
ウンタが50以上のときはステップST30で比較制限
数が3、すなわち下限か否かを判別する。
【0083】比較制限数が3のときは下限であると判断
してステップST22に戻って再び次のヒットをチェッ
クし、比較制限数が3でないときは比較制限数を−1し
てステップST22に戻る。
【0084】このようにして、50個連続したライトコ
マンドが完全に上書きされるものを含む場合は、比較制
限数の下限3及び上限15の範囲内で、比較制限数を+
3し、含まない場合は、比較制限数を−1する動的変化
が実現される。
【0085】以上説明したように、本実施形態に係るH
DD10は、磁気ヘッド11と、チャネルモジュール1
2と、HDC13と、キャッシュメモリ14と、キャッ
シュメモリ14にキャッシュされる複数のコマンドを保
持するコマンドキューを有し、ホストインターフェース
周辺の処理をハードウェアにより行うHIC15と、H
DC13及びHIC15に対する制御を含む、HDD全
体の制御を行うローカルMPU16とを備え、キャッシ
ュメモリ14にキャッシュされているライトコマンドに
よって、HIC15に対してメディアへのデータの書き
込みを指示し、キャッシュメモリ14にキャッシュされ
ている複数のライトコマンドのうち、より最近に発行さ
れたコマンドによって完全に上書きされる検索元コマン
ドを検索し、検索元コマンドによってはメディアへのデ
ータの書き込みを行わないようにしたので、同一アドレ
スへ同一コマンドが所定の間隔で繰り返し行われる場
合、重複コマンド実行によるパフォーマンス低下を最小
限に抑えながら、メディアへの書き込みを削減すること
ができ、全体のパフォーマンスを向上させることができ
る。
【0086】本発明を実際のHDD上に適用した実験例
では、比較制限数を動的に変化させない場合でも従来例
に比較して約5〜12%の速度向上が達成できた。
【0087】本実施形態では、本発明をHDDに適用し
た例を説明したが、これに限らず、キャッシュメモリを
備えたディスクドライブ装置であればどのような装置に
でも本発明を適用できる。例えば、光磁気ディスク等H
DD以外の外部記録装置に用いてもよく、上述の実施形
態と同様の効果を得ることができる。
【0088】また、本実施形態では、比較制限数を動的
に変化させるようにしているが、動的変化の例は一例で
あることは言うまでもなく、比較制限数を固定値とする
ものであってもよい。要は、キャッシュメモリ内にキャ
ッシュされている複数のライトコマンドのうち、より最
近に発行されたコマンドによって完全に上書きされるコ
マンドが所定の条件下にあるときはメディアへの書き込
みをしないようにするものであればどのような態様であ
ってもよい。
【0089】さらに、上記ディスクドライブ装置を構成
するHDC、キャッシュメモリ、HIC等の種類、数な
どは上述した実施形態に限られないことは言うまでもな
い。
【0090】
【発明の効果】本発明に係るディスクドライブ装置及び
その制御方法では、キャッシュメモリ内にキャッシュさ
れているライトコマンドによって、ディスク制御手段に
対してディスク状記憶媒体へのデータの書き込みの指示
を指示し、キャッシュメモリ内にキャッシュされている
複数のライトコマンドからその書き込みアドレス及び
その書き込みレングスを取り出し、より最近に発行され
ライトコマンドによって書き込みアドレス及び書き込
みレングスから完全に上書きされるライトコマンドが
ャッシュメモリ内のコマンドキュー内にあるか否かを検
索し、該コマンドキュー内に検索された上書きされるラ
イトコマンドがある場合には、該ライトコマンドによっ
ては、ディスク状記憶媒体へのデータの書き込みは行わ
ないようにディスク制御手段を制御するようにしたの
で、コマンドオーバーヘッドを最小限に抑えながら、メ
ディアへの書き込みを削減することができ、全体のパフ
ォーマンスを向上させることができる。
【図面の簡単な説明】
【図1】本発明を適用した実施形態に係るディスクドラ
イブ装置の構成を示すブロック図である。
【図2】上記ディスクドライブ装置のキャッシュメモリ
のコマンドキューの構造を示す図である。
【図3】上記ディスクドライブ装置の動作を説明するた
めのタイミングフローチャートである。
【図4】上記ディスクドライブ装置のローカルMPUの
動作を説明するためのフローチャートである。
【図5】上記ディスクドライブ装置の比較制限数の動的
変化の動作を説明するためのフローチャートである。
【符号の説明】
10 ディスクドライブ装置、11 磁気ヘッド、12
チャネルモジュール、13 ハードディスクコントロ
ーラ(HDC)、14 キャッシュメモリ、15 ホス
トインターフェースコントローラ(HIC)、16 ロ
ーカルMPU
───────────────────────────────────────────────────── フロントページの続き (72)発明者 柿原 俊男 神奈川県藤沢市桐原町1番地 日本ア イ・ビー・エム株式会社 藤沢事業所内 (72)発明者 浅野 秀夫 神奈川県藤沢市桐原町1番地 日本ア イ・ビー・エム株式会社 藤沢事業所内 (72)発明者 戸張 敦 神奈川県藤沢市桐原町1番地 日本ア イ・ビー・エム株式会社 藤沢事業所内 (56)参考文献 特開 昭61−223956(JP,A) 特開 平5−265860(JP,A) 特開 平4−14151(JP,A) 特開 昭59−136859(JP,A) 特開 平4−37935(JP,A) 特開 平3−263146(JP,A) 特開 平4−218846(JP,A) 特開 昭64−50139(JP,A) 特表 平6−502271(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 12/08 G06F 12/00,3/06 G11B 19/02

Claims (5)

    (57)【特許請求の範囲】
  1. 【請求項1】 ディスク状記憶媒体と、 前記ディスク状記憶媒体に対しデータの読み出し/書き
    込みの動作を制御するディスク制御手段と、 前記ディスク状記憶媒体に書き込む複数のデータ、該デ
    ータの各ライトコマンドおよび該各ライトコマンドを保
    持するコマンドキューを保持するキャッシュメモリと、 ハードウェアによりホストとキャッシュメモリの間のデ
    ータ転送を行うホストインターフェース制御手段と、 ディスク状記憶媒体とキャッシュメモリの間のデータ転
    送制御を含む、装置全体の動作を制御するマイクロプロ
    セッサとを備え、 前記ホストインターフェース制御手段は、 前記キャッシュメモリ内にキャッシュされる複数のライ
    コマンドを保持するコマンドキューを有し、 前記ライトコマンド実行によるデータ転送開始を前記マ
    イクロプロセッサに通知するとともに、 前記ライトコマンド終了によるデータ転送終了を前記マ
    イクロプロセッサに通知し、 前記マイクロプロセッサは、 前記ホストインターフェース制御手段から前記データ転
    送開始通知を受け取ると、前記キャッシュメモリ内にキ
    ャッシュされているライトコマンドによって、前記ディ
    スク制御手段に対して前記ディスク状記憶媒体へのデー
    タの書き込みを指示し、 前記キャッシュメモリ内にキャッシュされている複数の
    ライトコマンドからその書き込みアドレス及びその書
    き込みレングスを取り出し、より最近に発行されたライ
    コマンドによって前記書き込みアドレス及び前記書き
    込みレングスから完全に上書きされるライトコマンドが
    前記キャッシュメモリ内の前記コマンドキュー内にある
    か否かを検索し、該コマンドキュー内に検索された上書
    きされるライトコマンドがある場合には、該ライトコマ
    ンドによっては、前記ディスク状記憶媒体へのデータの
    書き込みを行わないように前記ディスク制御手段を制御
    することを特徴とするディスクドライブ装置。
  2. 【請求項2】 請求項1記載のディスクドライブ装置に
    おいて、 前記より最近に発行されたライトコマンドによって上書
    きされるライトコマンドの検索は、前記キャッシュメモリ内の前記コマンドキュー内にある
    上書きされるライトコマンドから 連続した所定数のライ
    コマンドについてのみを対象に検索することを特徴と
    するディスクドライブ装置。
  3. 【請求項3】 請求項1記載のディスクドライブ装置に
    おいて、 前記より最近に発行されたライトコマンドによって上書
    きされるライトコマンドの検索は、前記キャッシュメモリ内の前記コマンドキュー内にある
    上書きされるライトコマンドの書き込みレングスが 所定
    書き込みレングスの制限数以下のライトコマンドであ
    る場合についてのみを対象に検索することを特徴とする
    ディスクドライブ装置。
  4. 【請求項4】 請求項1記載のディスクドライブ装置に
    おいて、 前記より最近に発行されたライトコマンドによって上書
    きされるライトコマンドの検索で検索範囲を拡大するこ
    とにより前記上書きされるライトコマンドの検索率を高
    めると共に、検索範囲を縮小することにより検索時間を
    短縮させる手段を備え、 前記過去の検索率により、前記上書きされるライトコマ
    ンドが見つかれば見つかるほど検索範囲を拡大するため
    に増やされ、前記上書きされるライトコマンドが見つか
    らなければ見つからないほど検索範囲を縮小するために
    減らされる比例制限値を、所定範囲内で動的に変化さ
    せ、 前記上書きされるライトコマンドの検索は、前記上書きされるライトコマンドから 連続したライト
    マンドが、前記比較制限値内にあるときのみを対象に検
    索することを特徴とするディスクドライブ装置。
  5. 【請求項5】 ディスク状記憶媒体に対しデータの読み
    出し/書き込みの動作を制御するディスク制御手段と、 前記ディスク状記憶媒体に書き込む複数のデータ、該デ
    ータの各ライトコマンドおよび該各ライトコマンドを保
    持するコマンドキューを保持するキャッシュメモリと、 ハードウェアによりホストとキャッシュメモリの間のデ
    ータ転送を行うホストインターフェース制御手段と、 ディスク状記憶媒体とキャッシュメモリの間のデータ転
    送制御を含む、装置全体の動作を制御するマイクロプロ
    セッサとを備えたディスクドライブ装置の制御方法にお
    いて、前記ホストインターフェース制御手段には、 ライトコマ
    ンドが発行されると、ホストからキャッシュメモリにデ
    ータ転送するとともに、マイクロプロセッサに対しコマ
    ンド実行によるデータ転送開始及びそのデータ転送終了
    を通知させ、前記マイクロプロセッサには、 前記データ転送開始通知
    を受け取ると、前記キャッシュメモリ内にキャッシュさ
    れているライトコマンドによって、前記ディスク制御手
    段に対して前記ディスク状記憶媒体へのデータの書き込
    みの指示を与えさせ、 前記キャッシュメモリ内にキャッシュされている複数の
    ライトコマンドからその書き込みアドレス及びその書
    き込みレングスを取り出し、より最近に発行されたライ
    コマンドによって前記書き込みアドレス及び前記書き
    込みレングスから完全に上書きされるライトコマンドが
    前記キャッシュメモリ内の前記コマンドキュー内にある
    か否かを検索し、該コマンドキュー内に検索された上書
    きされるライトコマンドがある場合には、該ライトコマ
    ンドによっては、前記ディスク状記憶媒体へのデータの
    書き込みは行わないように前記ディスク制御手段を制御
    することを特徴とするディスクドライブ装置の制御方
    法。
JP07513997A 1997-03-27 1997-03-27 ディスクドライブ装置及びその制御方法 Expired - Fee Related JP3358795B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP07513997A JP3358795B2 (ja) 1997-03-27 1997-03-27 ディスクドライブ装置及びその制御方法
US09/049,682 US6219750B1 (en) 1997-03-27 1998-03-27 Disk drive having control mechanism to reduce or eliminate redundant write operations and the method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP07513997A JP3358795B2 (ja) 1997-03-27 1997-03-27 ディスクドライブ装置及びその制御方法

Publications (2)

Publication Number Publication Date
JPH10275111A JPH10275111A (ja) 1998-10-13
JP3358795B2 true JP3358795B2 (ja) 2002-12-24

Family

ID=13567576

Family Applications (1)

Application Number Title Priority Date Filing Date
JP07513997A Expired - Fee Related JP3358795B2 (ja) 1997-03-27 1997-03-27 ディスクドライブ装置及びその制御方法

Country Status (2)

Country Link
US (1) US6219750B1 (ja)
JP (1) JP3358795B2 (ja)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6430660B1 (en) * 1999-05-21 2002-08-06 International Business Machines Corporation Unified memory hard disk drive system
US20050144510A1 (en) * 2003-12-24 2005-06-30 Fernando Zayas Cache search accelerator
GB0424489D0 (en) * 2004-11-05 2004-12-08 Ibm A method apparatus computer program and computer program product for reducing the number of operations performed by a persistence manager against a persistent
US7730256B2 (en) * 2005-08-22 2010-06-01 Broadcom Corporation Dual work queue disk drive controller
JP4676378B2 (ja) * 2006-05-18 2011-04-27 株式会社バッファロー データ記憶装置およびデータ記憶方法
US7904619B2 (en) 2006-11-24 2011-03-08 Sandforce, Inc. System, method, and computer program product for reducing memory write operations using difference information
US8090980B2 (en) * 2006-12-08 2012-01-03 Sandforce, Inc. System, method, and computer program product for providing data redundancy in a plurality of storage devices
US7904672B2 (en) 2006-12-08 2011-03-08 Sandforce, Inc. System and method for providing data redundancy after reducing memory writes
CN102929751B (zh) * 2006-12-08 2018-04-20 Lsi公司 多个存储装置中的数据冗余
JP4770766B2 (ja) * 2007-03-23 2011-09-14 日本電気株式会社 キャッシュメモリ装置及びそのキャッシュ管理方法,キャッシュ管理用プログラム
US7849275B2 (en) 2007-11-19 2010-12-07 Sandforce, Inc. System, method and a computer program product for writing data to different storage devices based on write frequency
JP2015014963A (ja) * 2013-07-05 2015-01-22 富士通株式会社 ストレージ制御装置、制御プログラム及び制御方法
JP6101170B2 (ja) 2013-07-26 2017-03-22 株式会社日立製作所 計算機システム、キャッシュ管理方法、及び計算機
US10310923B1 (en) 2014-08-28 2019-06-04 Seagate Technology Llc Probabilistic aging command sorting
US10831403B2 (en) 2017-05-19 2020-11-10 Seagate Technology Llc Probabalistic command aging and selection

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5586291A (en) * 1994-12-23 1996-12-17 Emc Corporation Disk controller with volatile and non-volatile cache memories

Also Published As

Publication number Publication date
JPH10275111A (ja) 1998-10-13
US6219750B1 (en) 2001-04-17

Similar Documents

Publication Publication Date Title
JP3358795B2 (ja) ディスクドライブ装置及びその制御方法
US6842801B2 (en) System and method of implementing a buffer memory and hard disk drive write controller
JP3183993B2 (ja) ディスク制御システム
JP3898782B2 (ja) 情報記録再生装置
JP2001005724A (ja) ライト・キャッシュ転送の制御方法およびディスク装置
JPS619722A (ja) デイスク記憶装置のトラツクでペ−ジを再配列する装置
US5293618A (en) Method for controlling access to a shared file and apparatus therefor
JP3568110B2 (ja) キャッシュメモリの制御方法、コンピュータシステム、ハードディスクドライブ装置およびハードディスク制御装置
US5787461A (en) High speed optical disk drive caching executable and non-executable data
US6523086B1 (en) Method for improving performance of read cache of magnetic disk drive
US6092145A (en) Disk drive system using sector buffer for storing non-duplicate data in said sector buffer
US6567886B1 (en) Disk drive apparatus and control method thereof
US20060218361A1 (en) Electronic storage device with rapid data availability
US7069409B2 (en) System for addressing a data storage unit used in a computer
DE69031983T2 (de) Mehrschritt-datenlesevorrichtung
JP3969809B2 (ja) 記憶装置におけるデータバッファの管理方法
US6957300B2 (en) Reducing delay of command completion due to overlap condition
JPH06332622A (ja) 情報処理装置
US6041392A (en) Disk drive device and method for controlling the same
JP3080758B2 (ja) 磁気ディスク装置
JPH10171713A (ja) ディスク記憶装置及び同装置に適用するキャッシュ制御方法
JPH04311216A (ja) 外部記憶制御装置
JP2834081B2 (ja) 磁気ディスク制御装置
JPH03290873A (ja) ディスク型記憶装置、ディスク型記憶装置の制御装置、及びディスク型記憶装置の制御方法
JP2973474B2 (ja) 光磁気ディスク装置

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees