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

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

Info

Publication number
JPH10275110A
JPH10275110A JP9074949A JP7494997A JPH10275110A JP H10275110 A JPH10275110 A JP H10275110A JP 9074949 A JP9074949 A JP 9074949A JP 7494997 A JP7494997 A JP 7494997A JP H10275110 A JPH10275110 A JP H10275110A
Authority
JP
Japan
Prior art keywords
data
transfer
cache memory
control means
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.)
Pending
Application number
JP9074949A
Other languages
English (en)
Inventor
Atsushi Kanamaru
淳 金丸
Toshio Kakihara
俊男 柿原
Yuji Kigami
雄二 木上
Takahiro Saito
高裕 斎藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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 JP9074949A priority Critical patent/JPH10275110A/ja
Priority to TW087100816A priority patent/TW380248B/zh
Priority to KR1019980003818A priority patent/KR100272684B1/ko
Priority to MYPI98000731A priority patent/MY118820A/en
Priority to SG9800435A priority patent/SG107548A1/en
Priority to US09/049,680 priority patent/US6041392A/en
Publication of JPH10275110A publication Critical patent/JPH10275110A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • 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

Abstract

(57)【要約】 【課題】 コマンドオーバーヘッドを最小限に抑えなが
ら、必要に応じてメディアからの読み足しを行うことが
でき、全体のパフォーマンスを向上させることができる
ディスクドライブ装置及びその制御方法を提供する。 【解決手段】 ディスクドライブ装置10は、HIC1
5が、リードコマンドが発行され、要求されたデータが
キャッシュメモリに保持したデータにヒットして、すべ
てのデータ転送をローカルMPU16の介在なしで行え
る場合であっても、最後の1ブロックを残すまでデータ
転送を行って、ローカルMPU16の仲介を待ち、ロー
カルMPU16は、コマンド終了の準備ができた時点で
最後の1ブロックを転送するように指示するとともに、
もし、ローカルMPU16からHIC15に最後の1ブ
ロックを転送する指示をしたとき、転送データが複数ブ
ロック残っている場合は、HIC15が、最後の1ブロ
ックでデータ転送を中断することなくすべてのデータ転
送を実行し、コマンドを完了させる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、ハードディスクド
ライブ(HDD)等に用いられるディスクドライブ装置
及びその制御方法に係り、詳細には、キャッシュメモリ
を備えたディスクドライブ装置及びその制御方法に関す
る。
【0002】
【従来の技術】情報処理装置の補助記憶装置として用い
られるハードディスクドライブ(HDD)には、アクセ
ス速度向上のために、情報処理装置(以下、ホストとい
う)から供給されたデータを一時的に保持し、または磁
気ディスクから読み出されたデータがホストに転送され
るまでの間このデータを一時的に保持するキャッシュメ
モリ及びキャッシュ制御を行う制御部を設けることが一
般的である。
【0003】制御部は、ホストから書き込みデータが供
給されると、供給された書き込みデータをキャッシュメ
モリに保持した後、ホストを書き込み処理から解放す
る。これと並行して、制御部は、キャッシュメモリに保
持した書き込みデータが順次、磁気ディスク(以下、メ
ディアという)に書き込まれるように書き込み系の制御
を行う。さらに、制御部はホストからの読み出し要求が
あると予想されるデータのメディアからの読み出しを読
み出し系に指示し、読み出されたデータをキャッシュメ
モリに保持しておく。そして、ホストからの読み出し要
求があったときに、読み出し対象データがキャッシュメ
モリに保持されていれば、それをホストに供給する。こ
のようなキャッシュ制御を行うことにより、HDDの見
かけ上のアクセス速度が向上する。
【0004】近年の小型のHDDでは、コマンドオーバ
ーヘッドの削減によるパフォーマンスの向上の手段とし
て、ホストインターフェース周辺の処理に対するHDD
のマイクロプロセッサ(以下、ローカルMPUという)
の介在をできるだけ減らして、その処理をできる限りハ
ードウェアによるホストインターフェースコントローラ
(Host Interface Controller:HIC)に行わせる手
法が採られる傾向にある。
【0005】その一つとして、ホスト−キャッシュメモ
リ間はローカルMPUの介在なしにHICによる制御の
下にデータ転送を行うことができる一方、メディア−キ
ャッシュメモリ間のデータ転送は、ローカルMPUの介
在を必要とするシステムを用いることが考えられる。こ
のようなシステムにおいて、ホストからのリードコマン
ドにより要求されたすべてのデータが既にキャッシュメ
モリ内に保持されており(オールヒット)、ローカルM
PUが介在しなくてもすべてのデータ転送を行うことの
できる場合の処理に、従来、次に挙げる方法が用いられ
ていた。
【0006】(1)ローカルMPUの介在が必要ない間
は、すべてハードウェアで処理を行う。
【0007】(2)ハードウェアでは一切のデータ転送を
行わず、常にローカルMPUに介在させる。
【0008】
【発明が解決しようとする課題】しかしながらこのよう
な従来のローカルMPUの介在をできるだけ減らして、
処理をできる限りHICに行わせる手法を採るHDDに
は、以下のような理由でパフォーマンスの向上に限界が
あった。
【0009】すなわち、上記(1)の方法は、ハードウェ
アで処理を行うため、該当コマンド自体を非常に高速に
処理できる利点があるが、次のような場合にパフォーマ
ンスが低下する。
【0010】いま、非常に短いコマンドインターバル
で、上述のオールヒットが連続するケースを考える。シ
ーケンシャルリードがこれに当たり、一般的に頻繁に起
こるケースである。この場合、要求されるデータがキャ
ッシュメモリ内に存在しているうちは、高速にデータ転
送を行うことができるが、ローカルMPUが一切介在で
きないために、メディアからキャッシュメモリへの読み
足しが行えず、読み足しがないため、そのうちにキャッ
シュメモリ内のデータが空になり、要求されたデータを
メディアから読まなくてはならない状況になる。これに
は、メディアの周回待ち等、データ転送に要するコマン
ドオーバーヘッドの時間に比べて桁違いに長い時間が必
要となり、データ転送の速度が大幅に低下してしまう。
【0011】一方、上記(2)の方法を用いれば、毎回ロ
ーカルMPUが介在できるために上述の不具合は避ける
ことはできるものの、ハードウェアによる転送機能を全
く活かすことができない。
【0012】本発明は、コマンドオーバーヘッドを最小
限に抑えながら、必要に応じてメディアからの読み足し
を行うことができ、全体のパフォーマンスを向上させる
ことができるディスクドライブ装置及びその制御方法を
提供することを目的とする。
【0013】
【課題を解決するための手段】本発明のディスクドライ
ブ装置は、ディスク状記憶媒体と、ディスク状記憶媒体
に対しデータの読み出し/書き込みの動作を制御するデ
ィスク制御手段と、ディスク状記憶媒体から読み足した
データを保持するキャッシュメモリと、ハードウェアに
よりホストとキャッシュメモリの間のデータ転送を行う
ホストインターフェース制御手段と、ディスク状記憶媒
体とキャッシュメモリの間のデータ転送制御を含む、装
置全体の動作を制御するマイクロプロセッサとを備え、
リードコマンドが発行され、要求されたデータがキャッ
シュメモリに保持されたたデータにヒットして、すべて
のデータ転送をマイクロプロセッサの介在なしで行える
場合であっても、ホストインターフェース制御手段は、
リードコマンド完了前に少なくとも一度はマイクロプロ
セッサによる制御を介在させて前記キャッシュメモリへ
の読み足しを行わせることを特徴とする。
【0014】また、本発明のディスクドライブ装置の制
御方法は、リードコマンドが発行されると、要求された
データがキャッシュメモリに保持されたデータにヒット
して、すべてのデータ転送をマイクロプロセッサの介在
なしで行える場合に、ホストインターフェース制御手段
に、最後の所定数ブロック以外のブロックのデータ転送
を行わせ、マイクロプロセッサに対し該データ転送の開
始を通知させ、データ転送の開始の通知に応じて、マイ
クロプロセッサから、ディスク制御手段にキャッシュメ
モリへのデータの読み足しの指示を与え、ディスク制御
手段により読み足し制御が終了した後に、ホストインタ
ーフェース制御手段に最後の所定数ブロックの転送を行
わせることを特徴とする。
【0015】
【発明の実施の形態】本発明に係るディスクドライブ装
置は、IDE(Integrated Device Electronics)イン
ターフェースを備えた小型HDDに適用することができ
る。
【0016】図1は本発明の実施形態に係るディスクド
ライブ装置の構成を示すブロック図である。図中、太実
線矢印はデータの流れを示し、細実線矢印は制御信号の
流れを示す。
【0017】図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とを備えて構成される。
【0018】また、HDC13、キャッシュメモリ14
及びHIC15はデータバス17により互いに接続さ
れ、HDC13及びHIC15は制御用バス18により
ローカルMPU16に接続され、HIC15はIDEバ
ス19によりHDD外部のホストに接続される。
【0019】キャッシュメモリ14は、磁気ディスク上
の記録単位(セクタ)の数百個分以上のデータを保持す
ることができる程度の記憶容量、例えば128Kバイト
(256ブロック)を持つ。ここでは、1ブロック=1
セクタ=512バイトのものを用いる。但し、IDEで
は、ホストがキャッシュメモリ上での複数ブロックを1
ブロックとして、すなわち1、2、4、8、16または
32セクタ等を1ブロックとして指定することが可能で
ある。
【0020】HIC15は、データ転送に必要な情報を
すべて格納できる内部メモリを有し、ローカルMPU1
6の介在なしにハードウェアによりホストとキャッシュ
メモリ14の間のデータ転送を行うものである。
【0021】HIC15の内部メモリには、キャッシュ
メモリ14上でのアドレスと磁気ディスクとの対応関係
及び連続して記憶されているブロック数がキャッシュテ
ーブルの形で保存されている。
【0022】HIC15は、ホストよりコマンドが発行
された時には、発行されたコマンドのアドレスと上記キ
ャッシュテーブルとを比較し、最もヒット率の高いもの
(これは単純に最も多くヒットしているのではなく、ブ
ロックの先頭がヒットしている等の条件を満たしたも
の)のヒット状況をローカルMPU16に通知する。H
IC15は、ホストからリードコマンドが発行された時
点で要求されたデータがキャッシュメモリ14にあるか
否かを判断でき、何ブロック転送すべきかもローカルM
PU16の介在なしに判断することができる。
【0023】特に、HIC15は、リードコマンドが発
行された時点で要求されたデータがすべてキャッシュメ
モリ14にあるという判断をしたときに、残り1ブロッ
クを残すためには何ブロック転送すべきかを計算し、そ
の計算結果に基づくブロックを転送する機能を有する。
さらに、HIC15は、上記リードコマンドが発行され
た時点でローカルMPU16に対して、そのコマンドの
内容、全部キャッシュメモリに入っている旨、及びデー
タ転送の準備完了時に通知を要求するリクエストを出
す。
【0024】ローカルMPU16は、制御プログラムを
実行するマイクロプロセッサであり、制御プログラム、
データを格納するメモリ等を備え、制御プログラムに従
って処理を実行してHDD全体の動作を制御し、HIC
15及びホストから供給されるコマンド、制御データに
基づいてHDC13及びHIC15の動作を制御する。
すなわち、ローカルMPU16は、HIC15がホスト
からのコマンド情報及びそのコマンドに対するヒット情
報を通知すると、これら情報に基づいてHIC15を制
御する。
【0025】また、ローカルMPU16は、必要に応じ
てメディアからの読み足し計算等の処理を行い、HDC
13に対し、読み足し指示を行う。HDC13は、この
指示に従ってメディアからの読み足しを行い、読み足し
データをキャッシュメモリ14に書き込む。このように
新たにメディアからデータをキャッシュメモリ14に書
き込む時には、上述したキャッシュテーブルを更新する
必要がある。ローカルMPU16は、キャッシュの読み
足しの有無等を、過去のホストのアクセスパターンやキ
ャッシュメモリ14内の残りデータ量などを考慮にいれ
たアルゴリズムを用いて計算する。
【0026】このように、HDD10は、IDEインタ
ーフェースを持ち、データバス17とメディアとの間に
キャッシュメモリ14を備え、HIC15−キャッシュ
メモリ14間はローカルMPU16の介在なしにHIC
15がデータ転送を行うことができるが、メディア−キ
ャッシュメモリ14間のデータ転送はローカルMPU1
6の介在を必要とするものである。
【0027】以下、上述のように構成されたHDD10
の動作を説明する。
【0028】まず、本発明の基本的な考え方について述
べる。
【0029】IDEインターフェースの特徴として、ラ
イトコマンドについては、すべてのデータ転送終了後、
コマンドを終了させるタイミングをHDDが制御でき
る。すなわち、キャッシュメモリへのデータ転送そのも
のはHICに行わせ、ディスクへの書き込みにより、キ
ャッシュメモリに例えば1ブロック以上空きができた後
ローカルMPUの都合の良い時にそのコマンドを終了す
ることができる。
【0030】これに対し、リードコマンドについては、
データ転送終了そのものがそのコマンドの終了を意味す
る。換言すれば、すべてのデータ転送がHICにより行
われる。その結果、キャッシュの読み足し等、ローカル
MPUが処理を行う余地がなくなるケースが存在し得
る。これは、連続したリードコマンドが、連続してキャ
ッシュにヒットしたケースなどで、シーケンシャルのリ
ードなど一般的に頻繁に起こり得る。
【0031】そこで本発明は、リードコマンドにおい
て、ローカルMPUの介在なしに最大限にデータ転送を
行いながらも、コマンド完了前に必ず一度はローカルM
PUに介在の余地を与えることによって、コマンドオー
バーヘッドを最小限に抑えながら、上述の不具合を改善
するものである。具体的には、リードコマンドが発行さ
れ、要求されたデータがキャッシュにヒットして、すべ
てのデータ転送をローカルMPUの介在なしで行える場
合であっても、HICは最後の1ブロックを残して転送
を中断し、ローカルMPUの仲介を待つ。ローカルMP
Uは、コマンド終了の準備ができた時点で最後の1ブロ
ックの転送を許可する。
【0032】すなわち、データ転送がすべて終了しなけ
ればコマンドは終了しないという点に着目して、最後の
1ブロックだけを残して(1ブロックでも残っていれば
そのコマンドは終了していない)HICによりデータを
転送してしまうものである。
【0033】コマンドが来た時点で転送を開始するが、
開始すると同時にローカルMPUに知らせる。ローカル
MPUでは読み足し計算等(読み足しにかかわる計算及
びキャッシュテーブルの更新にかかわる計算)に一定の
時間を要するがその間HICではデータ転送を行ってい
る。ここで、ローカルMPUにおいて読み足し計算等に
要する時間がデータ転送に要する時間よりも長ければ、
HICでは最後1ブロックを残して転送を中断する。一
方、上記読み足し計算等に要する時間がデータ転送に要
する時間よりも短ければ転送を中断しない。
【0034】次に、上記基本的な考え方に基づいてHD
D10の動作を詳細に説明する。
【0035】図1の太実線矢印に基本的なデータの流れ
を示すように、メディアから読み込まれたデータは、キ
ャッシュメモリ14に入り、ローカルMPU16の介在
がない限り、キャッシュメモリ14からHIC15を通
ってIDEバス19を介してホストに転送される。
【0036】いま、リードコマンドにおいてキャッシュ
メモリ14にオールヒット(すなわち、要求されたデー
タがすべてキャッシュメモリ14内に存在するキャッシ
ュヒットのケース)した場合は、HIC15はローカル
MPU16の介在なしに直ちにデータ転送を開始する。
それとともに、HIC15はそのコマンドが発行された
こと及びオールヒットであった旨をローカルMPU16
に通知し、最終ブロックのみを残したところまで転送を
継続する。
【0037】一方、通知を受けたローカルMPU16
は、必要に応じてメディアからの読み足し開始の処理
(例えば、現在既にHDC13に対しデータを読み出す
コマンドを出している時に、さらに発行されたコマンド
によって上記HDC13に対する読み出しをどれだけ延
長するかを再計算し、その結果をキャッシュテーブルに
反映させた上で、HDC13に指示を出す等の処理)を
行い、該ローカルMPU16によるメディアからの読み
足し開始の処理が終わると、読み足しの制御終了をHI
C15に通知する。この通知はコマンド終了の準備がで
きたことを意味し、HIC15に対して最終ブロックの
転送を許可するものとなる。
【0038】ここで、読み足しの制御は、読み足しの制
御が発行されていればよく、現実には読み足しされてい
なくてもよい。
【0039】ローカルMPU16からHIC15に対し
て最終ブロックの転送が許可された時点における、HI
C15のデータ転送状況に応じて以下の2つのケースが
ある。
【0040】ケース1 上記時点で既にHIC15が最終ブロックを残してデー
タ転送を終えてしまっており、HIC15が最終ブロッ
クを残して転送を中断している。この場合は、HIC1
5は転送を再開して、最終ブロックを転送し、コマンド
を終了させる。
【0041】ケース2 HIC15に対して最終ブロックの転送を許可した時点
で、HIC15にデータが1ブロック以上残っており、
HIC15が尚もデータを転送している。この場合、H
IC15は、最終ブロックを残すことなく、最後まで転
送を連続して実行し、コマンドを完了させる。
【0042】上記動作を図2及び図3に示すフローチャ
ートを参照して詳細に説明する。
【0043】図2及び図3はHDDの動作を示すタイミ
ングフローであり、図2は最終ブロックを残して転送を
中断した後にローカルMPU16より最終ブロックの転
送許可を受けたケース(上記ケース1に対応)、図3は
最終ブロックを残して転送を中断する前にローカルMP
U16より最終ブロックの転送許可を受けたケース(上
記ケース2に対応)を示す。
【0044】図2において、まず、ホストからリードコ
マンドが発行されると(ステップST1)、ステップS
T2でHIC15がキャッシュヒットチェックを行い、
リードコマンドにおいてキャッシュメモリ14にオール
ヒットしたこと、すなわち要求されたデータがすべてキ
ャッシュメモリ14内に存在することを判別する。
【0045】オールヒットのときはステップST3に進
み、ステップST3でHIC15がデータ転送を開始す
る。
【0046】HIC15では、図1及び図2の転送デー
タd1に示すように、ローカルMPU16の介在なしに
直ちにデータ転送を開始する。データ転送を継続し、ス
テップST4で最終ブロックを残して転送を終了し、最
終ブロック転送許可待ちとなる。
【0047】一方、HIC15は、上記データ転送の開
始と同時に、ステップST5でHIC15はそのコマン
ドが発行されたこと及びオールヒットであった旨をロー
カルMPU16に通知する。この通知は、図1及び図2
の制御c1で示される。
【0048】通知を受けたローカルMPU16は、ステ
ップST6で必要に応じてメディアからの読み足し計算
等の処理を行い、ステップST7でHDC13に対し、
読み足し指示を行う。この制御は、図1及び図2の制御
c2で示される。HDC13は、この制御c2に従って
メディアからの読み足しを行い、図1及び図2の読み足
しデータd2に示すように、読み足しデータをキャッシ
ュメモリ14に保持する。
【0049】ステップST8では、ローカルMPU16
が上記読み足しの制御の終了を判別し、読み足しの制御
が終わるとコマンド終了の準備ができたと判断してHI
C15に対して最終ブロックの転送を許可するコマンド
を出す。この制御は、図1及び図2の制御c3で示され
る。
【0050】転送が許可されると、ステップST9でH
IC15は転送を再開して、図1及び図2の転送データ
d3に示すように、最終ブロックを転送し、コマンドを
終了させる(ステップST10)。
【0051】一方、最終ブロックを残して転送を中断す
る前にローカルMPU16より最終ブロックの転送許可
を受けたケースは図3のタイミングフローで示される。
【0052】図3において、まず、ホストからリードコ
マンドが発行されると(ステップST1)、ステップS
T2でHIC15がキャッシュヒットチェックを行い、
リードコマンドにおいてキャッシュメモリ14にオール
ヒットしたことを判別する。
【0053】オールヒットのときはステップST3に進
み、ステップST3でHIC15がデータ転送を開始す
る。
【0054】この場合には、HIC15は、図1及び図
3の転送データd1に示すように、ローカルMPU16
の介在なしに直ちにデータ転送を開始・継続し、ステッ
プST11で最終ブロックを残して転送を中断すること
なく最後まで転送を実行し、コマンドを終了させる(ス
テップST10)。
【0055】また、上記ステップST3におけるデータ
転送の開始と同時に、ステップST5でHIC15はそ
のコマンドが発行されたこと及びオールヒットであった
旨をローカルMPU16に通知する。この制御は、図1
及び図2の制御c1で示される。
【0056】通知を受けたローカルMPU16は、ステ
ップST6で必要に応じてメディアからの読み足し計算
等の処理を行い、ステップST7でHDC13に対し、
読み足し指示を行う。この制御は、図1及び図2の制御
c2で示される。HDC13は、この制御c2に従って
メディアからの読み足しを行い、図1及び図2の読み足
しデータd2に示すように、読み足しデータをキャッシ
ュメモリ14に保持する。
【0057】ステップST8では、ローカルMPU16
が上記読み足しの制御の終了を判別し、読み足しの制御
が終わるとコマンド終了の準備ができたと判断してHI
C15に対して最終ブロックの転送を許可するコマンド
を出す。この制御は、図1及び図2の制御c3で示され
る。このように、最終ブロックを残して転送を中断する
前にHIC15が最終ブロックの転送許可を受けた場合
には、既に読み足しの処理は完了しているので、ステッ
プST11で最終ブロックを残して転送を中断すること
なく最後まで転送を実行し、コマンドを終了させる(ス
テップST10)。
【0058】このように、リードコマンドにおいてキャ
ッシュメモリ14にオールヒットしたときは、HIC1
5により最後の1ブロックだけを残してデータの転送を
開始するとともにローカルMPU16に知らせ、ローカ
ルMPU16はHIC15がデータ転送している最中に
読み足しの制御を行って、最後1ブロックを残すまでに
読み足しの制御終了の通知がこなければ止まり(図2の
タイミングフローに該当する)、それまで読み足しの制
御終了の通知が来た場合には転送を中断することなく最
後1ブロックも転送する(図3のタイミングフローに該
当する)。
【0059】したがって、リードコマンドにおいてロー
カルMPUの介在なしに最大限にデータ転送を行いなが
らも、コマンド完了前に必ず一度はローカルMPUに介
在の余地を与えることによって、コマンドオーバーヘッ
ドを最小限に抑え、必要に応じてメディアからの読み足
しを行うことができる。
【0060】以上説明したように、本実施形態に係るH
DD10は、磁気ヘッド11と、チャネルモジュール1
2と、HDC13と、キャッシュメモリ14と、ホスト
インターフェース周辺の処理をハードウェアにより行う
HIC15と、HDC13及びHIC15に対する制御
を含む、HDD全体の制御を行うローカルMPU16と
を備え、リードコマンドが発行され、要求されたデータ
がキャッシュメモリに保持されたデータにヒットして、
すべてのデータ転送をローカルMPU16の介在なしで
行える場合であっても、HIC15は、最後の1ブロッ
クを残すまでデータ転送を行って、ローカルMPU16
の仲介を待ち、ローカルMPU16は、コマンド終了の
準備ができた時点で最後の1ブロックの転送を許可する
とともに、もし、ローカルMPU16からHIC15に
最後の1ブロックの転送を許可したときに、転送データ
が複数ブロック残っている場合は、HIC15が、最後
の1ブロックでデータ転送を中断することなくすべての
データ転送を実行し、コマンドを完了させるようにした
ので、コマンドオーバーヘッドを最小限に抑えながら、
必要に応じてメディアからの読み足しを行うことがで
き、全体のパフォーマンスを向上させることができる。
【0061】本発明を実際のHDD上に適用した場合の
計算結果について説明する。
【0062】8ブロック/コマンドのトータル4MBの
シーケンシャルリードが発行されたケースの計算例であ
る。以下のハード的構成及び条件で計算を行った。
【0063】キャッシュメモリサイズ:128KB(2
56Block) メディアからの平均読み込み時間:5.5msec オールヒットの時のマイクロコードのオーバーヘッド:
100μsec ハードウェアの時のデータ転送までのオーバーヘッド:
0μsec コマンドインターバル:0μsec データ転送速度:IDEのPIOモード4(32μse
c/1Block) 以上の条件を仮定すると、8Block当たりの転送時
間は、32μsec×8Block=256μsecで
ある。
【0064】キャッシュメモリがフルの状態で32回分
のデータが保持できるものとし、キャッシュメモリフル
の状態からシーケンシャルリードが発行されたとする
と、まず、従来例では、 (1)すべてハードウェアで処理を行う場合、438ms
ec (2)すべてローカルMPUの介在する場合、365ms
ec となった。これに対し、 (3)本実施形態を採用したHDDの場合、 262ms
ec となり、従来法に比較して大幅な速度向上が達成でき
た。すなわち、上記(1)に対しては、読み足しの際のメ
ディアからの読み込み平均時間(5.5msec×3
2)が、また、上記(2)に対しては、オールヒット毎の
ローカルMPUの実行時間(100μsec×32)が
それぞれなくなるため、全体として30〜40%のパフ
ォーマンスを向上させることができた。
【0065】本実施形態では、本発明をHDDに適用し
た例を説明したが、これに限らず、キャッシュメモリを
備えたディスクドライブ装置であればどのような装置に
でも本発明を適用できる。例えば、光磁気ディスク等H
DD以外の外部記録装置に用いてもよく、上述の実施形
態と同様の効果を得ることができる。
【0066】また、本実施形態では、HICが最後の1
ブロックを残すまでデータ転送を行うようにしている
が、リードコマンド完了前に少なくとも一度はマイクロ
プロセッサによる制御を介在させるものであれば、どの
ような介在態様であってもよい。また、最後の1ブロッ
クを残すまでデータ転送を行っているが、1ブロックに
限定されず、所定数ブロックを残すまでデータ転送を行
うものであればよい。
【0067】さらに、上記ディスクドライブ装置を構成
するHDC、キャッシュメモリ、HIC等の種類、数な
どは上述した実施形態に限られないことは言うまでもな
い。
【0068】
【発明の効果】本発明に係るディスクドライブ装置及び
その制御方法では、リードコマンドが発行され、要求さ
れたデータがキャッシュメモリに保持されたデータにヒ
ットして、すべてのデータ転送をマイクロプロセッサの
介在なしで行える場合であっても、リードコマンド完了
前に少なくとも一度はマイクロプロセッサによる制御を
介在させるように構成したので、コマンドオーバーヘッ
ドを最小限に抑えながら、必要に応じてメディアからの
読み足しを行うことができ、全体のパフォーマンスを向
上させることができる。
【図面の簡単な説明】
【図1】本発明を適用した実施形態に係るディスクドラ
イブ装置の構成を示すブロック図である。
【図2】上記ディスクドライブ装置の動作を説明するた
めのタイミングフローチャートである。
【図3】上記ディスクドライブ装置の動作を説明するた
めのタイミングフローチャートである。
【符号の説明】
10 ディスクドライブ装置、11 磁気ヘッド、12
チャネルモジュール、13 ハードディスクコントロ
ーラ(HDC)、14 キャッシュメモリ、15 ホス
トインターフェースコントローラ(HIC)、16 ロ
ーカルMPU
───────────────────────────────────────────────────── フロントページの続き (72)発明者 柿原 俊男 神奈川県藤沢市桐原町1番地 日本アイ・ ビー・エム株式会社 藤沢事業所内 (72)発明者 木上 雄二 神奈川県藤沢市桐原町1番地 日本アイ・ ビー・エム株式会社 藤沢事業所内 (72)発明者 斎藤 高裕 神奈川県藤沢市桐原町1番地 日本アイ・ ビー・エム株式会社 藤沢事業所内

Claims (8)

    【特許請求の範囲】
  1. 【請求項1】 ディスク状記憶媒体と、 前記ディスク状記憶媒体に対しデータの読み出し/書き
    込みの動作を制御するディスク制御手段と、 前記ディスク状記憶媒体から読み足したデータを保持す
    るキャッシュメモリと、 ハードウェアによりホストとキャッシュメモリの間のデ
    ータ転送を行うホストインターフェース制御手段と、 ディスク状記憶媒体とキャッシュメモリの間のデータ転
    送制御を含む、装置全体の動作を制御するマイクロプロ
    セッサとを備え、 前記ホストインターフェース制御手段は、 リードコマンドが発行され、要求されたデータがキャッ
    シュメモリに保持されたデータにオールヒットする場合
    でも、リードコマンド完了前に少なくとも一度は前記マ
    イクロプロセッサによる制御を介在させて前記キャッシ
    ュメモリへの読み足しを行わせることを特徴とするディ
    スクドライブ装置。
  2. 【請求項2】 請求項1記載のディスクドライブ装置に
    おいて、 前記ホストインターフェース制御手段は、 データ転送終了がリードコマンドの終了となるインター
    フェースシステムであり、 前記リードコマンドが発行され、要求されたデータがキ
    ャッシュメモリに保持されたデータにヒットして、すべ
    てのデータ転送をマイクロプロセッサの介在なしで行え
    る場合であっても、 最後の所定数ブロック以外のブロックのデータ転送を開
    始し、前記データ転送を行うことを前記マイクロプロセ
    ッサに知らせ、 前記マイクロプロセッサは、 前記読み足し制御を終了した後前記ホストインターフェ
    ース制御手段に前記最後の所定数ブロックの転送を許可
    することを特徴とするディスクドライブ装置。
  3. 【請求項3】 請求項2記載のディスクドライブ装置に
    おいて、 前記マイクロプロセッサが、前記ホストインターフェー
    ス制御手段に前記最後の所定数ブロックの転送を許可し
    たとき、転送データが前記所定数ブロック以上残ってい
    る場合は、前記ホストインターフェース制御手段が、前
    記最後の所定数ブロックの転送開始前にデータ転送を中
    断することなくすべてのデータ転送を実行し、コマンド
    を終了することを特徴とするディスクドライブ装置。
  4. 【請求項4】 前記ホストインターフェース制御手段
    は、 前記キャッシュメモリ上でのアドレスと前記ディスクと
    の対応関係及び連続して記憶されているブロック数を格
    納する手段を有することを特徴とする請求項1、2又は
    3記載のディスクドライブ装置。
  5. 【請求項5】 前記ホストインターフェース制御手段
    は、 リードコマンドが発行された時点で要求されたデータが
    すべて前記キャッシュメモリに保存されているときに、
    最後の所定数ブロックを残すまでの転送ブロック数を計
    算する手段を有することを特徴とする請求項1、2又は
    3記載のディスクドライブ装置。
  6. 【請求項6】 前記ホストインターフェース制御手段
    は、 リードコマンドが発行された時点で前記マイクロプロセ
    ッサに対して、該コマンドの内容、ホストから要求され
    たすべてのデータが既に前記キャッシュメモリ内に保持
    されていることを示す情報、及び前記マイクロプロセッ
    サによるコマンドの終了の準備の通知を要求するリクエ
    ストを出すことを特徴とする請求項1、2又は3記載の
    ディスクドライブ装置。
  7. 【請求項7】 前記マイクロプロセッサは、 前記ディスク制御手段に対して前記キャッシュメモリへ
    のデータの読み足しを指示し、前記ディスク制御手段に
    より読み足しが終了した時点を、前記コマンド終了の準
    備ができた時点と判断して前記ホストインターフェース
    制御手段に対して最後の所定数ブロックの転送を許可す
    ることを特徴とする請求項1、2又は3記載のディスク
    ドライブ装置。
  8. 【請求項8】 ディスク状記憶媒体に対しデータの読み
    出し/書き込みの動作を制御するディスク制御手段と、 前記ディスク状記憶媒体から読み足したデータを保持す
    るキャッシュメモリと、 ハードウェアによりホストとキャッシュメモリの間のデ
    ータ転送を行うホストインターフェース制御手段と、 ディスク状記憶媒体とキャッシュメモリの間のデータ転
    送制御を含む、装置全体の動作を制御するマイクロプロ
    セッサとを備えたディスクドライブ装置の制御方法にお
    いて、 リードコマンドが発行されると、要求されたデータがキ
    ャッシュメモリに保持されたデータにヒットして、すべ
    てのデータ転送をマイクロプロセッサの介在なしで行え
    る場合に、前記ホストインターフェース制御手段に、最
    後の所定数ブロック以外のブロックのデータ転送を行わ
    せ、 前記マイクロプロセッサに対し該データ転送の開始を通
    知させ、前記データ転送の開始の通知に応じて、前記マ
    イクロプロセッサから、前記ディスク制御手段に前記キ
    ャッシュメモリへのデータの読み足しの指示を与え、 前記ディスク制御手段により読み足し制御が終了した後
    に、前記ホストインターフェース制御手段に最後の所定
    数ブロックの転送を行わせることを特徴とするディスク
    ドライブ装置の制御方法。
JP9074949A 1997-03-27 1997-03-27 ディスクドライブ装置及びその制御方法 Pending JPH10275110A (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP9074949A JPH10275110A (ja) 1997-03-27 1997-03-27 ディスクドライブ装置及びその制御方法
TW087100816A TW380248B (en) 1997-03-27 1998-01-21 Disk drive device and method for controlling the same
KR1019980003818A KR100272684B1 (ko) 1997-03-27 1998-02-10 디스크 드라이브 장치 및 그 제어 방법
MYPI98000731A MY118820A (en) 1997-03-27 1998-02-20 Disk drive device and method for controlling the same
SG9800435A SG107548A1 (en) 1997-03-27 1998-02-26 Disk drive device and method for controlling the same
US09/049,680 US6041392A (en) 1997-03-27 1998-03-27 Disk drive device and method for controlling the same

Applications Claiming Priority (1)

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

Publications (1)

Publication Number Publication Date
JPH10275110A true JPH10275110A (ja) 1998-10-13

Family

ID=13562098

Family Applications (1)

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

Country Status (6)

Country Link
US (1) US6041392A (ja)
JP (1) JPH10275110A (ja)
KR (1) KR100272684B1 (ja)
MY (1) MY118820A (ja)
SG (1) SG107548A1 (ja)
TW (1) TW380248B (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016071954A1 (ja) * 2014-11-04 2016-05-12 株式会社日立製作所 半導体メモリデバイス、及び、半導体メモリデバイスを有するストレージ装置

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
BRPI0512229A (pt) * 2004-06-16 2008-02-19 Texas A & M Univ Sys métodos e sistemas para conversão de biomassa em ácidos carboxìlicos e álcoois
TWI687921B (zh) * 2019-02-01 2020-03-11 宏碁股份有限公司 主機、疊瓦式磁記錄硬碟及其運作方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5539914A (en) * 1993-06-14 1996-07-23 International Business Machines Corporation Method and system for preprocessing data block headers during access of data in a data storage system
JPH07334310A (ja) * 1994-06-06 1995-12-22 Toshiba Corp ディスク装置及び同装置における読み出しデータのバッファ記憶制御方法
US5696931A (en) * 1994-09-09 1997-12-09 Seagate Technology, Inc. Disc drive controller with apparatus and method for automatic transfer of cache data
JP3257916B2 (ja) * 1995-02-28 2002-02-18 富士通株式会社 外部記憶装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016071954A1 (ja) * 2014-11-04 2016-05-12 株式会社日立製作所 半導体メモリデバイス、及び、半導体メモリデバイスを有するストレージ装置
JPWO2016071954A1 (ja) * 2014-11-04 2017-08-10 株式会社日立製作所 半導体メモリデバイス、及び、半導体メモリデバイスを有するストレージ装置
US10310764B2 (en) 2014-11-04 2019-06-04 Hitachi, Ltd. Semiconductor memory device and storage apparatus comprising semiconductor memory device

Also Published As

Publication number Publication date
MY118820A (en) 2005-01-31
US6041392A (en) 2000-03-21
KR100272684B1 (ko) 2000-12-01
TW380248B (en) 2000-01-21
SG107548A1 (en) 2004-12-29
KR19980079695A (ko) 1998-11-25

Similar Documents

Publication Publication Date Title
US6842801B2 (en) System and method of implementing a buffer memory and hard disk drive write controller
JP3137554B2 (ja) データ転送/管理システム及び方法
JPH1063578A (ja) 情報記録再生装置
JP3358795B2 (ja) ディスクドライブ装置及びその制御方法
JP3078204B2 (ja) 磁気ディスク装置及び磁気ディスク装置におけるバッファ管理方法
JPH11110139A (ja) データ読み取り方法及びデータ読み取り装置
JPH07225715A (ja) キャッシュ内のデータにアクセスする方法およびシステム
KR19980029917A (ko) 자기 디스크 드라이브에서 읽기 캐쉬의 성능을 높이기 위한 방법
US6567886B1 (en) Disk drive apparatus and control method thereof
JPH087662B2 (ja) データ転送制御方法
JP2001125829A (ja) コントローラ装置、ディスクコントローラ、補助記憶装置、コンピュータ装置、および補助記憶装置の制御方法
JPS5832417B2 (ja) デ−タ転送制御方式
JP3566319B2 (ja) 情報記憶装置
JPH10275110A (ja) ディスクドライブ装置及びその制御方法
US6957300B2 (en) Reducing delay of command completion due to overlap condition
JP3122702B2 (ja) ディスク装置のライトバック制御方法
JP3080758B2 (ja) 磁気ディスク装置
JPH10171713A (ja) ディスク記憶装置及び同装置に適用するキャッシュ制御方法
JP2002342038A (ja) コマンドの実行順序を制御するディスク装置
JPH04311216A (ja) 外部記憶制御装置
JP2914834B2 (ja) 磁気ディスク装置
JPS59172186A (ja) キヤツシユ・メモリ制御方式
JP2001222381A (ja) パーシャルライト処理を行うディスク制御装置、ディスクサブシステム、ディスク制御装置の制御方法、及びプログラムを記録した記録媒体。
JP2704138B2 (ja) 磁気ディスクキャッシュの制御方法
JPH07295916A (ja) ディスク制御方式