JPH11273243A - ディスク装置及び同装置に適用されるライトバッファ制御方法 - Google Patents

ディスク装置及び同装置に適用されるライトバッファ制御方法

Info

Publication number
JPH11273243A
JPH11273243A JP10072306A JP7230698A JPH11273243A JP H11273243 A JPH11273243 A JP H11273243A JP 10072306 A JP10072306 A JP 10072306A JP 7230698 A JP7230698 A JP 7230698A JP H11273243 A JPH11273243 A JP H11273243A
Authority
JP
Japan
Prior art keywords
write
buffer area
data
buffer
host device
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
JP10072306A
Other languages
English (en)
Inventor
Shoichi Aoki
祥一 青木
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP10072306A priority Critical patent/JPH11273243A/ja
Priority to US09/237,683 priority patent/US6272589B1/en
Publication of JPH11273243A publication Critical patent/JPH11273243A/ja
Pending 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/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0607Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
    • 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/0656Data buffering arrangements
    • 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/0676Magnetic disk device

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

(57)【要約】 【課題】ホスト装置との間のデータ転送速度が遅い場合
でも、ホスト装置からのライト要求の実行においてバッ
ファメモリを空にさせないようにする。 【解決手段】ホスト装置からのライト要求に応じて当該
ホスト装置から転送されたライトデータをライトバッフ
ァ領域に一時記憶しながら、要求された範囲の書き込み
動作の準備を行い、しかる後に当該バッファ領域に記憶
されたデータをディスク媒体に書き込む動作を開始す
る。そしてライトバッファ領域内のデータ蓄積量を時間
dtの間隔で2回測定し(ステップS6〜S10)、蓄
積量が減方向にある場合には、2回測定した蓄積量a
1,a2の差da(減少量)を求め、その減少量daと
時間dtとで求まる減少速度da/dt、及びディスク
媒体の1回転に要する時間tから、ライトバッファ領域
の最低のサイズa(=t×(da/dt))を求め(ス
テップS11〜S13)、再設定する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、ホスト装置からの
ライト要求に応じて当該ホスト装置から転送されたライ
トデータをバッファ記憶手段内のライトバッファ領域を
介してディスク媒体に書き込むディスク装置及び同装置
に適用されるライトバッファ制御方法に関する。
【0002】
【従来の技術】コンピュータシステム等のホスト装置に
接続して用いられるディスク装置は、ホスト装置とディ
スク装置との間のデータ転送(ホスト転送)の速度と、
ディスク装置内でのディスク媒体(記録メディア)に対
するデータ転送(ディスク転送)の速度との差を吸収す
るために、バッファメモリ(バッファ記憶手段)を備え
ているのが一般的である。このバッファメモリには、デ
ィスク媒体から読み出されたデータ(リードデータ)を
一時記憶するためのリードバッファ領域と、ディスク媒
体に書き込むべきデータ(ライトデータ)を一時記憶す
るためのライトバッファ領域とが確保される。
【0003】ホスト装置からライト要求が出された場
合、ディスク装置は当該ホスト装置から転送されたライ
トデータを受け取り、これを一旦バッファメモリ(内の
ライトバッファ領域)に蓄える。そしてディスク装置
は、記録再生用のヘッドを(高速回転する)ディスク媒
体上の目標位置にシーク・位置決めするなど、ディスク
媒体への書き込みの準備を行い、当該書き込み準備が完
了すると、バッファメモリに蓄えられているライトデー
タをディスク媒体上の指定範囲の先頭位置(セクタ)か
ら書き始める。
【0004】さて、ホスト装置とディスク装置との間の
データ転送速度(ホスト転送速度)は、ホスト装置の性
能によって異なる。もしホスト転送速度が、ディスク装
置内での記録媒体に対するデータ転送速度(ディスク転
送速度)に比べて速い場合、上記のライト時の例では、
バッファメモリ(内のライトバッファ領域)は満たされ
やすくなる。
【0005】ライト時において、バッファメモリが満杯
(FULL)になると、ホスト装置とディスク装置との
間のデータ転送を一時停止して、バッファメモリが空く
のを待つ。バッファメモリに蓄えられたライトデータが
ディスク媒体に書き込まれるとバッファメモリが空き、
ホスト装置とディスク装置との間のデータ転送が再開さ
れる。
【0006】逆にホスト転送速度が、ディスク転送速度
に比べて遅い場合には、バッファメモリ(内のライトバ
ッファ領域)は空(EMPTY)になりやすくなる。バ
ッファメモリに蓄えられたライトデータをディスク媒体
に全て書き込んでしまうと、つまりバッファメモリが空
になると、それ以上ディスク媒体にデータを書き込むこ
とができないため、ディスク媒体への書き込みを一時停
止して、ホスト装置から後続のライトデータが転送され
るのを待つ。そしてホスト装置からライトデータが転送
されて(例えば少なくとも1セクタ分が)バッファメモ
リに蓄えられると、ディスク媒体への書き込みを再開す
る。
【0007】
【発明が解決しようとする課題】上記したように従来の
ディスク装置では、ホスト装置とディスク装置との間の
データ転送速度(ホスト転送速度)が遅いと、バッファ
メモリ(内のライトバッファ領域)が空になりやすくな
る傾向があった。バッファメモリが空になると、ディス
ク媒体にデータを書き込むことができなくなる。この場
合、ディスク媒体への書き込みを一時停止して、ホスト
装置から後続のデータが転送されるのを待ってディスク
媒体への書き込みを再開する必要がある。
【0008】しかし、一旦書き込みを停止しているた
め、ディスク媒体上の書き込むべき位置(セクタ位置)
は既に通過しており、書き込みを再開するには、ディス
ク媒体の1回転を待たなければならない。つまり従来の
磁気ディスク装置では、ホスト転送速度が遅い場合に
は、バッファメモリが空になることによりディスク媒体
への書き込みができず、書き込みを再開するにはディス
ク媒体の1回転を待たなければならないとい問題があっ
た。
【0009】本発明は上記事情を考慮してなされたもの
でその目的は、ホスト装置との間のデータ転送速度が遅
い場合でも、ホスト装置からのライト要求の実行におい
てバッファメモリ内のライトバッファ領域を空にさせな
いようなバッファ領域サイズの設定を行うことができ、
これにより、ディスク媒体へのデータ書き込みができな
くなる状況をなくし、ディスク媒体の1回転待ちを発生
させることなくデータ書き込みが行えるディスク装置及
び同装置に適用されるライトバッファ制御方法を提供す
ることにある。
【0010】本発明の他の目的は、ホスト装置からのラ
イト要求の実行において、必要最小限のライトバッファ
領域のサイズで当該ライトバッファ領域を空にさせない
ようにすることができるディスク装置及び同装置に適用
されるライトバッファ制御方法を提供することにある。
【0011】
【課題を解決するための手段】本発明は、ホスト装置か
らのライト要求に応じて当該ホスト装置から転送された
ライトデータをバッファ記憶手段内のライトバッファ領
域に一時記憶し、当該ライトバッファ領域に記憶された
ライトデータをディスク媒体に書き込むディスク装置に
おいて、上記バッファ記憶手段内のライトバッファ領域
におけるライトデータ蓄積量の増減を監視して、減方向
の場合にはその減少速度を検出し、検出した減少速度に
応じて上記バッファ記憶手段内のライトバッファ領域の
サイズを変化させることを特徴とする。
【0012】このような構成において、ホスト装置から
のライト要求の実行時には、ホスト装置から転送される
ライトデータがライトバッファ領域に一時記憶され、当
該バッファ領域に記憶されたデータが当該バッファ領域
から取り出されてディスク媒体の指定範囲に順に書き込
まれる。したがって、ライト処理中(ホスト装置からの
データ転送とディスク媒体への書き込みが並行して実行
されている状態)に、ライトバッファ領域におけるライ
トデータ蓄積量の増減を監視することで、ホスト装置か
らディスク装置へのデータ転送速度(ホスト転送速度)
と、ディスク装置における(ライトバッファ領域から)
ディスク媒体へのデータ書き込みの速度(ディスク転送
速度)のいずれの方が速いかを検出することができる。
【0013】今、ディスク装置内のディスク媒体の1回
転に要する時間をt、1トラックのセクタ数をnとする
と、このディスク装置は時間tでnセクタを書き込む能
力があることになる。またライトバッファ領域のサイズ
がaセクタ分あるものとすると、ホスト装置からライト
要求があった場合には、一般にはホスト装置から要求さ
れたデータ書き込みのための準備(即ち要求されたデー
タを書き込むべきディスク媒体上の範囲の先頭の物理位
置を計算し、その物理位置にヘッドをシーク・位置決め
する準備)を行う間に、ホスト装置から転送されたデー
タがaセクタ分ライトバッファ領域に蓄えられる。そし
て、上記のデータ書き込みのための準備が整ったところ
で、ディスク媒体への書き込みが開始される。
【0014】すると、ディスク装置は時間tでnセクタ
を書き込む能力があることから、図4に示すように、ホ
スト装置からディスク装置への時間tにおけるデータ転
送量(データ転送セクタ数)bが、(n−a)セクタに
達しないような速度で行われる場合(つまりb<n−a
の場合)には、ライトバッファ領域は空になって、前記
したようなディスク媒体への書き込みの一時停止を招
き、ディスク媒体の1回転待ちが発生する。つまり1回
転分のデータを書き込むのに、2回転分の時間がかか
る。言い換えれば、図4からも明らかなように、時間t
でホスト装置から転送されるセクタ数bとライトバッフ
ァ領域のサイズ(aセクタ)の合計がnセクタ以上あれ
ば、1回転待ちは発生しない。
【0015】そこで本発明においては、ライトバッファ
領域におけるライトデータ蓄積量の増減を監視した結
果、減方向にある場合、つまりホスト転送速度の方がデ
ィスク転送速度に比べて遅い場合には、ホスト装置から
ディスク装置へのデータ転送が、時間tで(n−a)セ
クタに達しないような速度で行われる可能性があるもの
として、ライトデータ蓄積量の減少速度を検出する。
【0016】この減少速度は、上記のライトデータ蓄積
量の増減監視で、ライトバッファ領域内のライトデータ
蓄積量を少なくとも2回監視(測定)することで簡単に
求められる。即ち、第1回目の監視で求められたライト
データ蓄積量がa1セクタ、第2回目の監視で求められ
たライトデータ蓄積量がa2セクタであり、その第1回
目と第2回目との間の時間間隔(監視間隔)をdtとす
ると、ライトバッファ領域での時間dtにおける減少量
(ライトデータ減少量)daは(a1−a2)セクタで
あることから、減少速度da/dtは、 da/dt=(a1−a2)/dt により求められる。
【0017】この減少速度da/dt(=(a1−a
2)/dt)、言い換えればライトバッファ領域での時
間dtにおける減少量daは、ディスク媒体の1回転に
要する時間tにおけるライトバッファ領域での減少量を
示唆する。したがって、この減少速度に応じてライトバ
ッファ領域のサイズを変化させることで、時間tでディ
スク媒体にnセクタ書き込むまでに、ライトバッファ領
域が空にならないような当該バッファ領域のサイズを設
定することが可能となる。
【0018】ここで、ライトバッファ領域が空にならな
いような当該バッファ領域のサイズの最小値は、ライト
バッファ領域での時間tにおけるライトデータ減少量n
−bに一致する。この時間tにおけるライトデータ減少
量n−bは、時間dtにおける減少量daが(a1−a
2)であることから、 n−b=t×(da/dt)=t×(a1−a2)/d
t の計算により簡単に求められる。したがって、図4から
明らかなように、ライトバッファ領域のサイズを、少な
くともn−b=t×(da/dt)=t×(a1−a
2)/dtに再設定するならば、ホスト装置からディス
ク装置への時間tにおける転送セクタ数が(n−a)セ
クタに達しないbセクタであっても、ホスト装置からの
データ転送の終了前にライトバッファ領域が空になるこ
とはなく、ディスク媒体の1回転待ちは発生しない。
【0019】
【発明の実施の形態】以下、本発明の実施の形態を磁気
ディスク装置に適用した場合を例に図面を参照して説明
する。図1は本発明の一実施形態に係る磁気ディスク装
置の全体構成をブロック図である。
【0020】図1の磁気ディスク装置は、記録メディア
としての磁気ディスク媒体10と、バッファメモリ11
と、ディスクコントローラ(以下、HDCと称する)1
2と、CPU13と、ROM(Read Only Memory)14
とを備えている。
【0021】バッファメモリ11には、磁気ディスク媒
体10から読み出されてホスト装置に転送するデータ
(リードデータ)を一時記憶するためのリードバッファ
領域111、及びホスト装置から転送された、磁気ディ
スク媒体10に書き込むべきデータ(ライトデータ)を
一時記憶するためのライトバッファ領域112が確保さ
れる。本実施形態では、これらのバッファ領域111,
112のサイズは固定ではなく、動的に変化する。また
バッファメモリ11の所定領域には、バッファ領域11
1,112のサイズの情報など、当該バッファメモリ1
1の管理情報(バッファ管理情報)を格納するためのバ
ッファ管理領域113が確保されている。この他に、バ
ッファメモリ11には、磁気ディスク媒体10上の欠陥
セクタの管理情報等を格納するための記憶領域(図示せ
ず)も確保されている。
【0022】HDC12は、CPU13の制御のもと
で、ホスト装置との間のコマンド、データの通信と、バ
ッファメモリ11の制御と、磁気ディスク媒体10との
間のデータ転送制御とを司るもので、バッファ制御部1
21、インタフェース制御部122及びディスク制御部
123の各制御部を有している。
【0023】バッファ制御部121は、バッファメモリ
11に対するアクセス制御と、当該バッファメモリ11
に記憶されているデータの管理と、当該バッファメモリ
11の領域の管理を行う。この領域管理には、ライト時
にライトバッファ領域112が空にならないように当該
バッファ領域112のサイズを再設定する処理が含まれ
る。
【0024】バッファ制御部121は、ライトバッファ
領域112に記憶されている(残されている)未書き込
みのライトデータのセクタ数(ライトデータ蓄積量)を
カウントする蓄積量カウンタ121aを有している。こ
の蓄積量カウンタ121aは、(ホスト装置から磁気デ
ィスク装置へのデータ転送により)1セクタ分のデータ
がライトバッファ領域112に書き込まれる毎に1イン
クリメントされ、磁気ディスク媒体10への書き込みの
ために1セクタ分のデータがライトバッファ領域112
から読み出され(てバッファ制御部121から磁気ディ
スク媒体10への転送が行われ)る毎に1デクリメント
される。
【0025】インタフェース制御部122は、(磁気デ
ィスク装置を利用するコンピュータシステム等の)ホス
ト装置との間のインタフェースをなし、当該ホスト装置
との間のコマンド、データの通信を制御する ディスク制御部123は、ホスト装置により要求された
データを磁気ディスク媒体10から読み出してバッファ
制御部121を介してバッファメモリ11に転送するデ
ィスクリードと、バッファメモリ11に記憶されている
ライトデータをバッファ制御部121を介して取り込ん
で磁気ディスク媒体10に書き込むディスクライトを行
う。
【0026】CPU13は、ROM14に格納されてい
る制御プログラムに従って磁気ディスク装置全体を制御
する。即ちCPU13は、記録再生用の磁気ヘッド(図
示せず)を磁気ディスク媒体10上の目標位置に移動さ
せるためのシーク・位置決め制御等の周知のディスク制
御を行う。またCPU13は、バッファメモリ11内の
ライトバッファ領域112に記憶されているデータの増
減を監視し、減方向にある場合、必要最小限のライトバ
ッファ領域112のサイズを算出(決定)するバッファ
監視処理を行う。
【0027】ROM14には、上記CPU13でのバッ
ファ監視処理のためのバッファ監視プログラム140を
含む制御プログラムが予め格納されている。なお図1で
は、磁気ディスク媒体10に対する記録再生用の磁気ヘ
ッド、当該ヘッドにより再生されたアナログ出力を増幅
するプリアンプ並びに当該ヘッドにライト信号(ライト
電流)を出力するライトドライバを有するヘッドアンプ
回路(ヘッドIC)、当該ヘッドアンプ回路により増幅
されたアナログ出力を入力してデータ再生動作に必要な
信号処理を行うデコード機能(リードチャネル)並びに
磁気ディスク媒体10へのデータ記録に必要な信号処理
を行うエンコード機能(ライトチャネル)を有するリー
ド/ライト回路(リード/ライトIC)は、本発明に直
接関係しないため省略されている。
【0028】次に図1の構成の動作を、ホスト装置から
ライトコマンドが与えられた場合のライト(ディスクラ
イト)処理を例に、図2及び図3のフローチャートを参
照して説明する。
【0029】ホスト装置は、磁気ディスク装置内の磁気
ディスク媒体10に対するライト要求が発生すると、当
該磁気ディスク装置に対してライトコマンドを発行する
と共に、ライトすべきデータ(ライトデータ)を転送す
る。
【0030】ホスト装置からのライトコマンドはHDC
12内のインタフェース制御部122で受け取られ、当
該インタフェース制御部122からCPU13に渡され
る。CPU13は、ホスト装置からのコマンドを受け取
ると、当該コマンドの解釈を行う。
【0031】この例のように、ホスト装置からのコマン
ドがライトコマンドの場合、CPU13はまず、バッフ
ァ制御部121によりバッファメモリ11内にライトバ
ッファ領域112を設定させる(ステップS1)。ここ
で、ライトバッファ領域112のサイズの情報は、バッ
ファメモリ11内のバッファ管理領域113に記憶され
ている。また、当該バッファ管理領域113に記憶され
るサイズ情報の初期値は、例えばROM14の所定領域
に予め格納されており、電源投入時の初期化処理におい
てROM14の所定領域から当該バッファ管理領域11
3にロードされる。なお、ライトバッファ領域112の
サイズ情報の初期値が、EEPROM(Electrically E
rasable and Programmable Read Only Memory )など、
ROM14以外の不揮発性記憶装置に格納されていても
構わない。
【0032】ホスト装置は、ライトコマンド発行時に
は、ライトデータを磁気ディスク装置に転送する動作を
開始する(ステップS2)。磁気ディスク装置内のイン
タフェース制御部122はホスト装置から転送されるラ
イトデータを受け取るとバッファ制御部121を介して
バッファメモリ11内のライトバッファ領域112に順
に蓄積する。ここで、バッファ制御部121内の蓄積量
カウンタ121aは、ホスト装置から転送されたライト
データがライトバッファ領域112に1セクタ分蓄積さ
れる(書き込まれる)毎に1インクリメントされる。
【0033】一方、ライトコマンドを解釈したCPU1
3は、当該コマンドで要求された範囲の書き込み動作の
ために、ライトすべき範囲の先頭セクタの磁気ディスク
媒体10上の物理位置を計算し、その物理位置とライト
するセクタ数をディスク制御部123内に設定すると共
に、その物理位置(目標位置)にヘッドをシーク・位置
決めさせることで、磁気ディスク媒体10へのデータ書
き込みのための準備を行う(ステップS3)。この間に
も、ホスト装置から磁気ディスク装置へのライトデータ
の転送(ホスト転送)が続けられる。
【0034】これにより、ホスト転送の速度が著しく遅
くない限り、バッファメモリ11内のライトバッファ領
域112は、磁気ディスク媒体10への書き込みが開始
される前に満杯になる(ライトすべき範囲がライトバッ
ファ領域112のサイズより大きい場合)。
【0035】さてディスク制御部123は、データ書き
込みのための準備が整うと、バッファメモリ11内のラ
イトバッファ領域112に記憶されているライトデータ
をバッファ制御部121を介して取り出し、当該ライト
データを(リード/ライト回路、ヘッドアンプ回路を通
してヘッドにより)磁気ディスク媒体10の目標位置か
ら順に書き込むための書き込み動作を開始する(ステッ
プS4)。ここで、バッファ制御部121内の蓄積量カ
ウンタ121aは、ライトバッファ領域112からライ
トデータが1セクタ分取り出されてディスク制御部12
3により磁気ディスク媒体10に書き込まれる(転送さ
れる)毎に1デクリメントされる。明らかなように、蓄
積量カウンタ121aの値は、その時点においてライト
バッファ領域112に蓄積されている(残っている)未
書き込みのライトデータ蓄積量(残量)を示す。
【0036】CPU13は、ディスク制御部123によ
って磁気ディスク媒体10へのデータ書き込みが開始さ
れると、ホスト装置からのライトデータの転送が終了し
ているか否かを、インタフェース制御部122を通して
チェックする(ステップS5)。
【0037】CPU13は、ステップS5でのチェック
で、ホスト装置からのデータ転送が終了していないこと
を確認すると、バッファメモリ11のライトバッファ領
域112に蓄えられている(磁気ディスク媒体10への
未書き込みの)ライトデータのセクタ数a1を、バッフ
ァ制御部121内の蓄積量カウンタ121aの値を読み
取ることで測定(検出)する1回目のライトデータ蓄積
量測定を行う(ステップS6)。
【0038】次にCPU13は一定の監視間隔(監視時
間間隔)dtを計測するタイマを起動する(ステップS
7)。そしてCPU13は、ホスト装置からのデータ転
送が終了していない状態で、タイマが監視間隔dtを計
測したことを確認すると(ステップS8,S9)、上記
ステップS6と同様にして、ライトバッファ領域112
に蓄えられているライトデータのセクタ数a2を測定す
る2回目のライトデータ蓄積量測定を行う(ステップS
10)。
【0039】CPU13は、2回目のライトデータ蓄積
量測定を終了すると、先に測定したセクタ数(ライトデ
ータ蓄積量)a1と、監視間隔dtをおいて今回測定し
たセクタ数(ライトデータ蓄積量)a2とから、バッフ
ァメモリ11内のライトバッファ領域112に蓄積され
ているライトデータのセクタ数(ライトデータ蓄積量)
が減少する方向(減方向)にあるか否かをチェックする
(ステップS11)。
【0040】このようにCPU13は、ホスト装置から
のライトコマンドに従って磁気ディスク媒体10への書
き込みが開始されると、時間dtの監視間隔における
(ライトバッファ領域112での)ライトデータ蓄積量
の増減を監視する。この監視は、磁気ディスク媒体10
への書き込みと、ホスト装置からのライトデータの転送
が並行して行われているときに意味がある。そのため、
ホスト装置からのデータ転送が先に終了してしまった場
合には、監視は行われない。
【0041】さて、上記の監視の結果、ライトデータ蓄
積量が変化しないか増加する方向(増方向)にある場合
(つまりa1≦a2の場合)には、ホスト装置から磁気
ディスク装置へのデータ転送速度(ホスト転送速度)
が、磁気ディスク装置内でのバッファメモリ11から磁
気ディスク媒体10へのデータ転送(データ書き込み)
速度(ディスク転送速度)以上であり、バッファメモリ
11(内のライトバッファ領域112)は(ホスト装置
からのデータ転送の終了前に)空になることはないた
め、CPU13は何もせずにそのままHDC12の制御
によるライト処理を続けさせる。
【0042】これに対し、ライトデータ蓄積量が減方向
にある場合(つまりa1>a2の場合)には、ホスト転
送速度の方がディスク転送速度より遅いことから、バッ
ファメモリ11内のライトバッファ領域112のサイズ
が現在のままでは、常にホスト装置からのデータ転送の
終了前にライトバッファ領域112が空になる虞があ
る。もし、ホスト装置からのデータ転送の終了前にライ
トバッファ領域112が空になると、当該バッファ領域
112に少なくとも1セクタのライトデータがホスト装
置から転送されるまでは、磁気ディスク媒体10への書
き込みを一時停止する必要がある。この場合、磁気ディ
スク媒体10への書き込みを再開するには、当該ディス
ク媒体10の1回転を待たなければならない。
【0043】そこでCPU13は、ホスト装置からのデ
ータ転送の終了前にライトバッファ領域112が空にな
るのを防止するために、以下に述べる処理を行う。まず
CPU13は、1回目に測定したライトバッファ領域1
12内のデータセクタ数(ライトデータ蓄積量)a1と
2回目に測定したライトバッファ領域112内のデータ
セクタ数(ライトデータ蓄積量)a2との差を求め、時
間dtの監視間隔における(ライトバッファ領域112
での)データセクタ数の減少量da(=a1−a2)を
算出する(ステップS12)。ここで減少量da(=a
1−a2)は、時間dtの間に磁気ディスク媒体10に
書き込み可能なセクタ数に対して、ホスト装置から転送
されるライトデータがda(=a1−a2)セクタだけ
足りないことを示す。
【0044】次にCPU13は、ステップS12で算出
した時間dtにおけるデータセクタ数の減少量daか
ら、磁気ディスク媒体10の1回転に要する時間tにお
けるデータセクタ数の減少量(減少セクタ数)aを、次
式により算出する(ステップS13)。
【0045】a=t×(da/dt) ここで、da/dt、つまり(a1−a2)/dtは、
ライトバッファ領域112におけるライトデータ蓄積量
(データセクタ数)の減少速度を示し、このda/dt
をもとに算出される減少量a(=t×(da/dt))
は、磁気ディスク媒体10の1回転に要する時間tの間
に当該ディスク媒体10に書き込み可能なセクタ数に対
して、ホスト装置から転送されるライトデータがa(=
t×(da/dt))セクタだけ足りないことを示す。
【0046】したがって、バッファメモリ11のライト
バッファ領域112のサイズを、少なくともa(=t×
(da/dt))セクタに設定すれば、ホスト装置から
のデータ転送の終了前にライトバッファ領域112が空
になることを防止できる。特に、ライトバッファ領域1
12のサイズを、a(=t×(da/dt))セクタに
設定するならば、限られた容量のバッファメモリ11を
有効に利用することができる。
【0047】そこでCPU13は、次のライトコマンド
実行時にはライトバッファ領域112のサイズを上記a
の値に再設定可能なように、バッファメモリ11内のバ
ッファ管理領域113に記憶されているライトバッファ
領域112のサイズ情報を、当該aの値に更新(つま
り、旧サイズ情報aを新サイズ情報aに更新)し(ステ
ップS14)、HDC12の制御によるライト処理を続
けさせる。
【0048】さて、バッファ管理領域113内のサイズ
情報が更新されると、次のライトコマンド実行時におけ
るライトバッファ領域設定処理(ステップS1)では、
バッファ制御部121は、当該バッファ管理領域113
内の更新後のサイズ情報をもとに、最新のサイズa
((=t×(da/dt))のライトバッファ領域11
2を再設定することになる。この結果、ホスト装置から
のデータ転送の終了前にライトバッファ領域112が空
になることが防止され、磁気ディスク媒体10への書き
込みの途中で磁気ディスク媒体10の1回転待ちが発生
しないようになる。
【0049】なお、バッファ管理領域113に記憶され
ているサイズ情報は、磁気ディスク装置の電源遮断時に
消失する。この場合、電源の再投入後の最初のライトコ
マンド実行時には、ライトバッファ領域112のサイズ
は常に初期値に設定されるため、再びライトバッファ領
域112が空になって磁気ディスク媒体10の1回転待
ちが発生する可能性がある。
【0050】そこで、ライトバッファ領域112のサイ
ズ情報の更新時には、その更新後のサイズ情報をEEP
ROM、或いは磁気ディスク媒体10上のユーザによっ
て書き換えられることのない特別の領域(一般にシステ
ム領域と呼ばれる)などの不揮発性記憶手段に保存して
おくならば、電源投入時の初期化処理で当該不揮発性記
憶手段に保存されているサイズ情報をバッファ管理領域
113にロードして再利用することができる。
【0051】以上は、磁気ディスク装置について説明し
たが、本発明は、光磁気ディスク装置など、ホスト装置
からのライト要求に応じて当該ホスト装置から転送され
たライトデータをディスク媒体に書き込むディスク装置
であれば適用可能である。
【0052】
【発明の効果】以上詳述したように本発明によれば、ホ
スト装置からのライト要求に応じて当該ホスト装置から
転送されたライトデータをバッファ記憶手段内のライト
バッファ領域に一時記憶し、当該ライトバッファ領域に
記憶されたライトデータをディスク媒体に書き込むディ
スク装置のライト処理において、ライトバッファ領域に
蓄えられた(未書き込み)のライトデータの増減を監視
して、ライトデータが減少する方向にある場合には、つ
まりホスト転送速度の方がディスク転送速度より遅い場
合には、ライトデータの減少する速度に応じてライトバ
ッファ領域のサイズを変化させるようにしたので、ホス
ト転送速度が遅くてもライトバッファ領域が空にならな
いようなライトバッファ領域のサイズを再設定すること
が可能となり、ディスク媒体への書き込みを一時停止し
なければならないという状況をなくし、ディスク媒体の
1回転待ちを発生させないようにすることができる。
【0053】また本発明によれば、ライトバッファ領域
が空にならないようなライトバッファ領域のサイズを決
定するのに、当該バッファ領域内でのライトデータの減
少する速度、つまり時間dtにおけるライトデータの減
少量daから、ディスク媒体の1回転に要する時間tに
おけるライトデータの減少量を予測し、その予測したラ
イトデータの減少量をライトバッファ領域の最低のサイ
ズとするようにしたので、最小限のサイズのライトバッ
ファ領域で、ディスク媒体の1回転待ちを発生させない
ようにすることができ、限られた容量のバッファ記憶手
段を有効に使用することができる。
【図面の簡単な説明】
【図1】本発明の一実施形態に係る磁気ディスク装置の
全体構成をブロック図。
【図2】同実施形態におけるライト処理の動作手順を説
明するためのフローチャートの一部を示す図。
【図3】同実施形態におけるライト処理の動作手順を説
明するためのフローチャートの残りを示す図。
【図4】ライト処理時にホスト転送速度が遅いためにラ
イトバッファ領域が空になる条件と、ホスト転送速度が
遅くてもライトバッファ領域が空にならないようなライ
トバッファ領域のサイズの条件について説明するための
図。
【符号の説明】
10…磁気ディスク媒体 11…バッファメモリ(バッファ記憶手段) 12…HDC(ディスクコントローラ) 13…CPU(監視手段) 14…ROM 112…ライトバッファ領域 113…バッファ管理領域 121…バッファ制御部 121a…蓄積量カウンタ 122…インタフェース制御部 123…ディスク制御部 140…バッファ監視プログラム

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 ホスト装置からのライト要求に応じて当
    該ホスト装置から転送されたライトデータをディスク媒
    体に書き込むディスク装置において、 前記ホスト装置から転送されたライトデータを一時記憶
    するためのライトバッファ領域が確保されたバッファ記
    憶手段と、 前記バッファ記憶手段内のライトバッファ領域に記憶さ
    れたライトデータを前記ディスク媒体に書き込むディス
    ク制御手段と、 前記バッファ記憶手段内のライトバッファ領域における
    ライトデータ蓄積量の増減を監視する監視手段と、 前記監視手段の監視結果に応じて前記バッファ記憶手段
    内のライトバッファ領域のサイズを変化させるバッファ
    制御手段とを具備することを特徴とするディスク装置。
  2. 【請求項2】 前記監視手段は前記ライトデータ蓄積量
    の増減の監視の結果が減方向である場合に、当該監視結
    果をもとに前記ディスク媒体の1回転に要する時間にお
    ける前記ライトデータ蓄積量の減少量を予測し、 前記バッファ制御手段は、前記ライトバッファ領域のサ
    イズを、少なくとも、前記監視手段により予測された減
    少量の値に再設定することを特徴とする請求項1記載の
    ディスク装置。
  3. 【請求項3】 前記監視手段は前記ディスク媒体への書
    き込み開始後に所定監視間隔dtでのライトデータ蓄積
    量の増減を監視し、 前記バッファ制御手段は、前記監視手段の監視結果が減
    方向であった場合、当該監視手段により監視されたライ
    トデータ蓄積量の減少量をda、前記ディスク媒体の1
    回転に要する時間をtとすると、前記ライトバッファ領
    域のサイズを少なくともt×(da/dt)に再設定す
    ることを特徴とする請求項1記載のディスク装置。
  4. 【請求項4】 ホスト装置からのライト要求に応じて当
    該ホスト装置から転送されたライトデータをバッファ記
    憶手段内のライトバッファ領域に一時記憶し、当該ライ
    トバッファ領域に記憶されたライトデータをディスク媒
    体に書き込むディスク装置におけるライトバッファ制御
    方法であって、 前記バッファ記憶手段内のライトバッファ領域における
    ライトデータ蓄積量の増減を監視して、減方向の場合に
    はその減少速度を検出し、 前記検出した減少速度に応じて前記バッファ記憶手段内
    のライトバッファ領域のサイズを変化させることを特徴
    とするライトバッファ制御方法。
  5. 【請求項5】 ホスト装置からのライト要求に応じて当
    該ホスト装置から転送されたライトデータをバッファ記
    憶手段内のライトバッファ領域に一時記憶し、当該ライ
    トバッファ領域に記憶されたライトデータをディスク媒
    体に書き込むディスク装置におけるライトバッファ制御
    方法であって、 前記バッファ記憶手段内のライトバッファ領域における
    ライトデータ蓄積量の増減を監視して、減方向の場合に
    はその減少速度を検出し、 前記検出した減少速度をもとに、前記ディスク媒体の1
    回転に要する時間における前記ライトデータ蓄積量の減
    少量を予測し、 前記ライトバッファ領域のサイズを少なくとも前記予測
    した減少量の値に再設定することを特徴とするライトバ
    ッファ制御方法。
JP10072306A 1998-03-20 1998-03-20 ディスク装置及び同装置に適用されるライトバッファ制御方法 Pending JPH11273243A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP10072306A JPH11273243A (ja) 1998-03-20 1998-03-20 ディスク装置及び同装置に適用されるライトバッファ制御方法
US09/237,683 US6272589B1 (en) 1998-03-20 1999-01-27 Method and apparatus for controlling write buffering operation in a disk drive

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10072306A JPH11273243A (ja) 1998-03-20 1998-03-20 ディスク装置及び同装置に適用されるライトバッファ制御方法

Publications (1)

Publication Number Publication Date
JPH11273243A true JPH11273243A (ja) 1999-10-08

Family

ID=13485463

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10072306A Pending JPH11273243A (ja) 1998-03-20 1998-03-20 ディスク装置及び同装置に適用されるライトバッファ制御方法

Country Status (2)

Country Link
US (1) US6272589B1 (ja)
JP (1) JPH11273243A (ja)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3745552B2 (ja) * 1999-02-26 2006-02-15 富士通株式会社 情報記憶装置
TW452760B (en) * 1999-07-20 2001-09-01 Asustek Comp Inc Method to control the speed of optical information reproducing apparatus
JP3249959B2 (ja) * 1999-10-12 2002-01-28 株式会社ソニー・コンピュータエンタテインメント 可搬型記憶装置及びメモリカード
US7389374B1 (en) 2000-05-17 2008-06-17 Marvell International Ltd. High latency interface between hardware components
US6871251B1 (en) * 2000-05-17 2005-03-22 Marvell International Ltd. High latency interface between hardware components
US7281065B1 (en) * 2000-08-17 2007-10-09 Marvell International Ltd. Long latency interface protocol
JP2002259207A (ja) * 2001-03-02 2002-09-13 Fujitsu Ltd 情報処理装置及び信号処理装置並びにインタフェース装置
US6779058B2 (en) * 2001-07-13 2004-08-17 International Business Machines Corporation Method, system, and program for transferring data between storage devices
JP2004127383A (ja) * 2002-09-30 2004-04-22 Mitsumi Electric Co Ltd 光ディスク装置
JP4359041B2 (ja) * 2002-12-26 2009-11-04 株式会社東芝 ディスク記録装置及び同装置に適用するデータアクセス方法
CN1839369A (zh) * 2003-08-20 2006-09-27 皇家飞利浦电子股份有限公司 动态存储缓冲器
US8122193B2 (en) 2004-12-21 2012-02-21 Samsung Electronics Co., Ltd. Storage device and user device including the same
KR100578143B1 (ko) * 2004-12-21 2006-05-10 삼성전자주식회사 버퍼 메모리에 저장된 데이터를 무효화시키는 스킴을 갖는저장 시스템 및 그것을 포함한 컴퓨팅 시스템
US20060230455A1 (en) * 2005-04-12 2006-10-12 Yuan-Chang Lo Apparatus and methods for file system with write buffer to protect against malware
US20060258308A1 (en) * 2005-05-10 2006-11-16 Fassbender Charles J Electronic device for interleaving program segments and skipping program breaks from two radio/TV broadcasts
US7653778B2 (en) 2006-05-08 2010-01-26 Siliconsystems, Inc. Systems and methods for measuring the useful life of solid-state storage devices
US8549236B2 (en) * 2006-12-15 2013-10-01 Siliconsystems, Inc. Storage subsystem with multiple non-volatile memory arrays to protect against data losses
US7596643B2 (en) * 2007-02-07 2009-09-29 Siliconsystems, Inc. Storage subsystem with configurable buffer
US8892905B2 (en) * 2007-03-21 2014-11-18 Oracle International Corporation Method and apparatus for performing selective encryption/decryption in a data storage system
JP5216463B2 (ja) * 2008-07-30 2013-06-19 株式会社日立製作所 ストレージ装置、その記憶領域管理方法及びフラッシュメモリパッケージ
WO2011065354A1 (ja) * 2009-11-26 2011-06-03 日本電気株式会社 バスモニタ回路及びバスモニタ方法
JP2014137721A (ja) * 2013-01-17 2014-07-28 Toshiba Corp 記憶制御装置、データ記憶装置及び記憶制御方法
JP2016012382A (ja) * 2014-06-27 2016-01-21 ソニー株式会社 情報処理装置と情報処理方法およびプログラム
US10120582B1 (en) * 2016-03-30 2018-11-06 Amazon Technologies, Inc. Dynamic cache management in storage devices
US10284488B1 (en) * 2016-03-30 2019-05-07 Emc Corporation Aggregate socket resource management
KR102635689B1 (ko) * 2019-08-30 2024-02-14 에스케이하이닉스 주식회사 메모리 시스템, 메모리 컨트롤러 및 동작 방법
CN113972962B (zh) * 2020-07-25 2023-02-03 华为技术有限公司 一种缓冲区管理方法及相关装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0283613A (ja) 1988-09-20 1990-03-23 Nec Corp 磁気ディスク回転待ち時間削減処理装置
JPH0581165A (ja) 1991-09-19 1993-04-02 Fujitsu Ltd データ転送回路
JPH08212015A (ja) 1995-01-31 1996-08-20 Matsushita Electric Ind Co Ltd ドライブ装置
US5797042A (en) * 1995-03-16 1998-08-18 Intel Corporation Method and apparatus for adjusting the buffering characteristic in the pipeline of a data transfer system
JP3078204B2 (ja) * 1995-06-01 2000-08-21 株式会社東芝 磁気ディスク装置及び磁気ディスク装置におけるバッファ管理方法
US6101329A (en) * 1997-02-18 2000-08-08 Lsi Logic Corporation System for comparing counter blocks and flag registers to determine whether FIFO buffer can send or receive data

Also Published As

Publication number Publication date
US6272589B1 (en) 2001-08-07

Similar Documents

Publication Publication Date Title
JPH11273243A (ja) ディスク装置及び同装置に適用されるライトバッファ制御方法
EP1130590B1 (en) High reliability storage drive and data write method
US6209046B1 (en) DMA transfer from a storage unit to a host using at least two transfer rates and cyclic error detection
US20070168606A1 (en) Storage device using nonvolatile cache memory and control method thereof
US7840753B1 (en) Hard disk drive as hybrid drive
JP2001331243A (ja) 情報処理装置及び省電力制御方法及び省電力制御プログラムを格納した記録媒体
US5715424A (en) Apparatus and method for writing data onto rewritable optical media
JPH06309234A (ja) ディスク制御装置
US6523142B1 (en) Apparatus and method of performing in a disk drive commands issued from a host system
JP3595551B1 (ja) 情報記録装置と情報記録方法とプログラム
US7000077B2 (en) Device/host coordinated prefetching storage system
US20060218361A1 (en) Electronic storage device with rapid data availability
JPH0652694A (ja) フラッシュメモリの寿命検出方式
US10684952B2 (en) Disk device and disk device control method
US6996667B2 (en) Method and apparatus for rewriting program executed in disk drive
US5889939A (en) Disk drive with a PFA function and monitor value saving control method in the same
US6088818A (en) Data read apparatus and data read method
JPH06202814A (ja) 磁気テープ記憶装置の記憶制御方法
JP2001283503A (ja) 磁気記憶装置のヘッドアンロードの制御方法及び磁気記憶装置
JPH0944315A (ja) 記憶装置及びその方法
CN110825314B (zh) 一种数据调度方法及装置
US20070174739A1 (en) Disk device, method of writing data in disk device, and computer product
JPH10171713A (ja) ディスク記憶装置及び同装置に適用するキャッシュ制御方法
JPH03290873A (ja) ディスク型記憶装置、ディスク型記憶装置の制御装置、及びディスク型記憶装置の制御方法
JP2005038591A (ja) 情報記録装置と情報記録方法とプログラム