JP2004013473A - 磁気ディスク装置におけるデータ書き込み制御方法 - Google Patents
磁気ディスク装置におけるデータ書き込み制御方法 Download PDFInfo
- Publication number
- JP2004013473A JP2004013473A JP2002165233A JP2002165233A JP2004013473A JP 2004013473 A JP2004013473 A JP 2004013473A JP 2002165233 A JP2002165233 A JP 2002165233A JP 2002165233 A JP2002165233 A JP 2002165233A JP 2004013473 A JP2004013473 A JP 2004013473A
- Authority
- JP
- Japan
- Prior art keywords
- write command
- write
- command
- address
- cache memory
- 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
Links
Images
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
Abstract
【課題】キャッシュメモリーを有する磁気ディスク装置において、ディスクへの書き込みの局所性を利用して、キャッシュメモリーにあるコマンドと後に受け取るコマンドの関係を調整して、ディスクへのコマンド転送を効率よくおこなえるようにして、スループットを向上させる。
【解決手段】書き込みアドレス範囲ごとに、ライトコマンドが発行された頻度を記録しておき、その発行頻度が高いアドレスに書き込むライトコマンドは、キャッシュメモリーに保持し、その発行頻度が低いアドレスに書き込むライトコマンドは、ディスクに対してそのライトコマンドを発行する。そして、キャッシュメモリーに保持されたライトコマンドと、同一のアドレスを書き込むライトコマンドが来たときに、キャッシュメモリーに保持されたライトコマンドを廃棄する。
【選択図】 図7
【解決手段】書き込みアドレス範囲ごとに、ライトコマンドが発行された頻度を記録しておき、その発行頻度が高いアドレスに書き込むライトコマンドは、キャッシュメモリーに保持し、その発行頻度が低いアドレスに書き込むライトコマンドは、ディスクに対してそのライトコマンドを発行する。そして、キャッシュメモリーに保持されたライトコマンドと、同一のアドレスを書き込むライトコマンドが来たときに、キャッシュメモリーに保持されたライトコマンドを廃棄する。
【選択図】 図7
Description
【0001】
【発明の属する技術分野】
本発明は、磁気ディスク装置におけるデータ書き込み制御方法に係り、特に、ホストとディスクと間でやり取りされるデータを保持するキャッシュメモリーを有する磁気ディスク装置において、キャッシュメモリーに置かれるコマンドと、ホストから新たに送られてくるコマンドの関係を調整して、効率良くディスク装置にコマンドを転送する磁気ディスク装置におけるデータ書き込み制御方法に関する。
【0002】
【従来の技術】
一般的に磁気ディスク装置では、ホストから受領したデータをキャッシュメモリー内に一時的に保持しディスク上への書込みをおこなっている。
【0003】
このようなキャッシュメモリーを有する磁気ディスク装置においては、キャッシュメモリーが受領したデータで満杯になると、ホストからバッファメモリーへのデータ転送の遅延が生じる。このキャッシュメモリーのデータのあふれによる転送遅延を抑止し、磁気ディスク装置の受け取るコマンド処理時間短縮を目的として、周期的にまたは連続的に同一アドレスに対して複数のライトコマンドを受領した場合に、先に受領したライトデータのディスク上への転送を無視し、最後に受領したライトコマンドのデータのみをディスク上に転送する制御方法が既知の技術として存在している。
【0004】
特開2001−34536号公報の「ディスク装置、及び記録媒体」に開示された技術では、同一アドレスへのライトコマンドを受領した場合には、キャッシュメモリー(データバッファ)上にまだ以前に受領した同一アドレスへのライトデータが残っているかどうかを調べ、残っている場合は、キャッシュメモリー上のデータと新たにホストから受領したデータを比較し両者が等しかったとき、新たにホストから受領したデータのディスクへの書き込みを無視し、比較結果が等しくない場合にはディスクへの書き込みをおこなう。これによって、不要な書き込み処理回数を少なくすることができ、書き込みエラー発生率を低減させることができるものとしている。
【0005】
【発明が解決しようとする課題】
上記従来技術は、キャッシュメモリーにライトコマンドを一定期間保持しておき、その期間内に、同一のライトコマンドを受け取った場合に、前のライトコマンドを無視することにより、コマンドの処理回数を減らすものである。
【0006】
しかしながら、上記従来技術は、コマンド転送の効率化に関して考慮されていない。上記従来技術では、あるアドレスのライトコマンドを受領して、後に同一のアドレスのライトコマンドを受領したときに、先のライトコマンドの転送が終了していてキャッシュメモリー上にはもう以前に受領した同一アドレスへのライトデータが残っていないというケースが発生する。このときには、すぐ後のライトコマンドも転送しなければならず、コマンド転送の効率が悪くなる。
【0007】
また、ディスクへの書き込みは、特定のアドレス近辺に一時的に集中するという局所性があることが知られている。上記従来技術では、このディスクへの書き込みの局所性を考慮していないため、ディスクへの書き込みアドレスの特性を利用したコマンド転送の効率化はおこなっていない。
【0008】
本発明は、上記問題点を解決するためになされたもので、その目的は、ディスクへの書き込みの局所性を利用して、キャッシュメモリーにあるコマンドと後に受け取るコマンドの関係を調整して、ディスクへのコマンド転送を効率よくおこなうことのできる磁気ディスク装置を提供することにある。
【0009】
【課題を解決するための手段】
本発明では、アドレス範囲ごとに、ライトコマンドが発行された頻度を記録しておき、その発行頻度が高いアドレスに書き込むライトコマンドは、キャッシュメモリーに保持し、その発行頻度が低いアドレスに書き込むライトコマンドは、ディスクに対してそのライトコマンドを発行するようにする。
【0010】
そして、キャッシュメモリーに保持されたライトコマンドと、同一のアドレスを書き込むライトコマンドが来たときに、キャッシュメモリーに保持された一つ以上のライトコマンドを廃棄するようにする。
【0011】
【発明の実施の形態】
以下、本発明に係る一実施形態を、図1ないし図10を用いて説明する。
【0012】
先ず、図1を用いて本発明に係る磁気ディスク装置の構成について説明する。
図1は、本発明に係る磁気ディスク装置の構成図である。
【0013】
本発明に係る磁気ディスク装置00は、磁気ディスク装置制御部10とディスク部20からなり、磁気ディスク装置制御部10は、ホストI/F部11、キャッシュメモリー12、キャッシュ制御部13、MPU14、ROM15、RAM16、R/W制御部17、ディスク部20から構成されている。
【0014】
ホストI/F(インターフェイス)部11は、ホスト30とのインタフェース制御をおこなう部分である。キャッシュメモリー12は、ホスト30と磁気ディスク装置10とでやり取りをおこなうコマンドやデータを保持するためのメモリーである。キャッシュ制御部13は、MPU(Micro Processor Unit)14の指示を受けて、キャッシュ12の保持されたコマンド、データの制御をおこなう。R/W(リード/ライト)制御部17は、キャッシュ制御部13から送られてきたコマンド、データを基にしてディスク部20に対して読み書きするための制御をおこなう。
【0015】
MPU14は、磁気ディスク装置制御部10全体の制御をおこなっており、ROM(Read Only Memory)15に格納されているプログラム、RAM(Random Access Memory)16に格納されるテーブル類、データを基にして動作する。
【0016】
次に、図2ないし図10を用いて本発明に係る磁気ディスク装置におけるデータ書き込み制御方法について説明する。
【0017】
先ず、図2および図3を用いて本発明に係る磁気ディスク装置におけるデータ書き込み制御方法に用いられるデータ構造について説明する。
図2は、ライトコマンド情報管理テーブルを示す模式図である。
図3は、ライトコマンド発行頻度管理テーブルを示す模式図である。
【0018】
ライトコマンド情報管理テーブル100は、ホスト30から磁気ディスクにデータの書き込みをおこなうライトコマンドの情報を管理するためのテーブルであり、ライトコマンドNo.101、ライトコマンド先頭アドレス102、ライトコマンドデータサイズ103、キャッシュメモリー上のデータ格納先頭アドレス104よりなっている。
【0019】
このライトコマンド情報管理テーブル100は、RAM16にあり、ホスト30からライトコマンドを受け取ったときに、MPU14が、キャッシュメモリー12に格納されたライトコマンドを番号付けをおこなって、その情報を書き込むものである。なお、ここでいうライトコマンド先頭アドレスとは、ライトコマンドが書き込みをおこなおうとしているディスク上のアドレスである。
【0020】
ライトコマンド発行頻度管理テーブル200は、ディスク上のアドレスに対してライトコマンドの発行頻度を管理するためのテーブルであり、図2に示されるようにアドレス範囲201、コマンド発行頻度202よりなっている。
【0021】
このライトコマンド発行頻度管理テーブル200は、ディスク上のアドレスに対してライトコマンドが、どれだけの発行頻度で発行されかの履歴を記録するためのテーブルであり、このテーブルもRAM16にあり、ホスト30からライトコマンドを受け取ったときに、MPU14がその情報を更新する。
【0022】
次に、図4ないし図10を用いて具体例をあげつつ本発明の磁気ディスク装置におけるデータ書き込み制御方法について説明する。
図4は、ホストから磁気ディスク装置にコマンドが転送される様子を示す模式図である。
図5は、ライトコマンド情報管理テーブル100の具体的データを示す模式図である。
図6は、ライトコマンド発行頻度管理テーブル200の具体的データを示す模式図である。
図7は、ホストからライトコマンドを受領したときに、ライトコマンド情報管理テーブル100に格納されたライトコマンドを廃棄する様子を示す図である。
図8は、ライトコマンド発行頻度管理テーブル200を更新するときの処理を示すフローチャートである。
図9は、ライトコマンドをディスクに転送するときの処理を示すフローチャートである。
図10は、ホスト30からライトコマンドを受領したときの処理を示すフローチャートである。
【0023】
図4に示すようなシーケンスで、ホスト20からディスクにライトコマンドが送られてくるものとする。
【0024】
すなわち、ライトコマンドw1(アドレスA、サイズx)、ライトコマンドw2(アドレスB、サイズy)、ライトコマンドw3(アドレスC、サイズz)、ライトコマンドw4(アドレスA、サイズx)である。
【0025】
磁気ディスク装置は、ホストからライトコマンドを受領するとキャッシュメモリー12内に保持し、ディスクへの転送能力に余裕ができると、順次ディスクに転送される。キャッシュメモリー12に保持されるコマンドは、図5に示されるようにして、ライトコマンドの情報が記録される。
【0026】
そして、ライトコマンドを受領すると、磁気ディスク装置のMPUは、図8に示すフローチャートにしたがって、ライトコマンド発行頻度管理テーブル200を更新する。
【0027】
すなわち、先ず、ライトコマンドか否かを判定し(S801)、ライトコマンドのときには、ホストの要求しているライトコマンドの書き込みアドレス、テーブルのアドレス範囲201が一致するときには(S802)、該当するアドレス範囲コマンド発行頻度202を‘1’を加算する(S803)。このライトコマンド発行頻度管理テーブル200は、後に説明するが発行頻度の高いアドレスのライトデータのディスク上への転送を保留するために用いるためのものである。
【0028】
この図6に示す例では、A〜A+xのアドレス範囲に対するコマンド発行頻度が30回と一番多くなっている。
【0029】
次に、図9のフローチャートを追いながら、キャッシュメモリー12に保持しているライトコマンドをディスクに転送するときの処理について説明する。
【0030】
キャッシュ制御部13は、常に、キャッシュメモリー14上にあるコマンド、データを、ライトコマンドデータ情報管理テーブル100を参照してディスク側に転送し処理を進めるよう動作する。そのときに、通常なら先入先出しにより、コマンドやデータの転送をおこなうのが普通であるが、本発明の磁気ディスク装置におけるデータ書き込み制御方法は、ライトコマンドの書き込みアドレスの特性によって、意図的に、あるライトコマンドをキャッシュメモリー12に保留するようにして、全体のスループットを上げようとするものである。
【0031】
先ず、ライトコマンドデータ情報管理テーブル100にコマンドがないときには(S901)、処理を終了し、ちょうどコマンドが1個のときには、そのライトコマンドをディスクに転送する(S908)。転送が終わったライトコマンドは、ライトコマンドデータ情報管理テーブル100のエントリから削除される。
【0032】
次に、ライトコマンド発行頻度管理テーブル200から最もコマンド発行頻度が高いアドレス範囲を取得する(S903)。
【0033】
以下のステップでは、ライトコマンドデータ情報管理テーブル100をサーチして、ディスクに転送すべきライトコマンドであるか否かを判断するものである。
【0034】
先ず、ライトコマンドデータ情報管理テーブル100のへポインタを先頭位置に初期化し(S904)、ライトコマンドのエントリの最後に達するまで(S907)、ライトコマンドデータ情報管理テーブル100のへポインタを順次インクリメントして検索する(S908)。そして、ポイントが指し示すライトコマンドデータ情報管理テーブル100のライトコマンド先頭アドレス102とライトコマンドデータサイズからライトコマンドの書き込み対象としているアドレス範囲を計算して(S905)、S903で求めた最もコマンド発行頻度が高いアドレスと一致するか判定し(S906)、一致するときは、そのライトコマンドをディスクに転送し(S909)、そのライトコマンドのエントリをライトコマンドデータ情報管理テーブル100から削除し、一致しないときには、転送はおこなわないものとする。
【0035】
図6に示す例では、A〜A+xのアドレス範囲は、コマンド発行頻度が「30回」になっており、最も発行頻度が高いものになるため、このアドレス範囲を書き込み対象としているライトコマンドw1とw4は、ディスクへの転送は保留されることになる。
【0036】
次に、図10のフローチャートを追いながら、ホストからライトコマンドを受領したときの処理について説明する。
【0037】
本実施形態では、ライトコマンドデータ情報管理テーブル100が図7(a)に示す状態になっていて、新たにライトコマンド先頭アドレス102が「A」、ライトコマンドデータサイズ103が「x」のライトコマンドw14がホスト30から送られてきたとする。
【0038】
先ず、ライトコマンドデータ情報管理テーブル100にコマンドが登録されていないときには(S1001)、新規に転送されてきたライトコマンドをテーブルの末尾に登録し(S1007)、キャッシュ制御部は、そのライトコマンドをキャッシュメモリー12上に保持するようにする。
【0039】
ライトコマンドデータ情報管理テーブル100にコマンドが1個以上登録されているときには、以下のステップで、ライトコマンドデータ情報管理テーブル100のエントリをサーチしてその処理をおこなうようにする。
【0040】
先ず、ライトコマンドデータ情報管理テーブル100のへポインタを先頭位置に初期化し(S1003)、ライトコマンドのエントリの最後に達するまで(S1006)、ライトコマンドデータ情報管理テーブル100のへポインタを順次インクリメントして検索する(S1008)。
【0041】
そして、ポイントが指し示すライトコマンドデータ情報管理テーブル100のライトコマンド先頭アドレス102とライトコマンドデータサイズと、新規に転送されてきたライトコマンドの書き込み対象としているアドレス範囲を計算して(S1004)、一致しているときには、そのテーブルのエントリのデータ情報を廃棄する(S1005)。一致しないときには、ループを抜け出して、新規に転送されてきたライトコマンドをテーブルの末尾に登録し(S1007)、キャッシュ制御部は、そのライトコマンドをキャッシュメモリー12上に保持するようにする。
【0042】
この例では、ライトコマンドw14が転送されてきて、S1003〜S1006、S1008を三回ループして、図7(b)に示すようにライトコマンドw10、w11、w12が廃棄されて、新たにw14のエントリがライトコマンドデータ情報管理テーブル100に登録されるようになる。
【0043】
このように本発明の磁気ディスク装置におけるデータ書き込み制御方法は、ホストから転送されてくるライトコマンドの書き込みの局所性を利用して、コマンド発行頻度の高いアドレスのものを、キャッシュメモリー12上に保留して、ディスクへの転送を見合わせる。そして、新たに同じアドレス範囲のライトコマンドが送られてくるときには、キャッシュメモリー12の前のライトコマンドは廃棄されることになる。したがって、必然的にディスクに転送されるライトコマンドの量を減らすことができるので、磁気ディスク装置のスループットが向上することになる。
【0044】
【発明の効果】
本発明によれば、ディスクへの書き込みの局所性を利用して、キャッシュメモリーにあるコマンドと後に受け取るコマンドの関係を調整して、ディスクへのコマンド転送を効率よくおこなうことのできる磁気ディスク装置を提供することができる。
【図面の簡単な説明】
【図1】本発明に係る磁気ディスク装置の構成図である。
【図2】ライトコマンド情報管理テーブルを示す模式図である。
【図3】ライトコマンド発行頻度管理テーブルを示す模式図である。
【図4】ホストから磁気ディスク装置にコマンドが転送される様子を示す模式図である。
【図5】ライトコマンド情報管理テーブル100の具体的データを示す模式図である。
【図6】ライトコマンド発行頻度管理テーブル200の具体的データを示す模式図である。
【図7】ホストからライトコマンドを受領したときに、ライトコマンド情報管理テーブル100に格納されたライトコマンドを廃棄する様子を示す図である。
【図8】ライトコマンド発行頻度管理テーブル200を更新するときの処理を示すフローチャートである。
【図9】ライトコマンドをディスクに転送するときの処理を示すフローチャートである。
【図10】ホスト30からライトコマンドを受領したときの処理を示すフローチャートである。
【符号の説明】
00…磁気ディスク装置、10…磁気ディスク装置制御部、20…ディスク部ら11…ホストI/F部、12…キャッシュメモリー、13…キャッシュ制御部、14…MPU、15…ROM、16…RAM、17…R/W制御部、20…ディスク部、30…ホスト。
【発明の属する技術分野】
本発明は、磁気ディスク装置におけるデータ書き込み制御方法に係り、特に、ホストとディスクと間でやり取りされるデータを保持するキャッシュメモリーを有する磁気ディスク装置において、キャッシュメモリーに置かれるコマンドと、ホストから新たに送られてくるコマンドの関係を調整して、効率良くディスク装置にコマンドを転送する磁気ディスク装置におけるデータ書き込み制御方法に関する。
【0002】
【従来の技術】
一般的に磁気ディスク装置では、ホストから受領したデータをキャッシュメモリー内に一時的に保持しディスク上への書込みをおこなっている。
【0003】
このようなキャッシュメモリーを有する磁気ディスク装置においては、キャッシュメモリーが受領したデータで満杯になると、ホストからバッファメモリーへのデータ転送の遅延が生じる。このキャッシュメモリーのデータのあふれによる転送遅延を抑止し、磁気ディスク装置の受け取るコマンド処理時間短縮を目的として、周期的にまたは連続的に同一アドレスに対して複数のライトコマンドを受領した場合に、先に受領したライトデータのディスク上への転送を無視し、最後に受領したライトコマンドのデータのみをディスク上に転送する制御方法が既知の技術として存在している。
【0004】
特開2001−34536号公報の「ディスク装置、及び記録媒体」に開示された技術では、同一アドレスへのライトコマンドを受領した場合には、キャッシュメモリー(データバッファ)上にまだ以前に受領した同一アドレスへのライトデータが残っているかどうかを調べ、残っている場合は、キャッシュメモリー上のデータと新たにホストから受領したデータを比較し両者が等しかったとき、新たにホストから受領したデータのディスクへの書き込みを無視し、比較結果が等しくない場合にはディスクへの書き込みをおこなう。これによって、不要な書き込み処理回数を少なくすることができ、書き込みエラー発生率を低減させることができるものとしている。
【0005】
【発明が解決しようとする課題】
上記従来技術は、キャッシュメモリーにライトコマンドを一定期間保持しておき、その期間内に、同一のライトコマンドを受け取った場合に、前のライトコマンドを無視することにより、コマンドの処理回数を減らすものである。
【0006】
しかしながら、上記従来技術は、コマンド転送の効率化に関して考慮されていない。上記従来技術では、あるアドレスのライトコマンドを受領して、後に同一のアドレスのライトコマンドを受領したときに、先のライトコマンドの転送が終了していてキャッシュメモリー上にはもう以前に受領した同一アドレスへのライトデータが残っていないというケースが発生する。このときには、すぐ後のライトコマンドも転送しなければならず、コマンド転送の効率が悪くなる。
【0007】
また、ディスクへの書き込みは、特定のアドレス近辺に一時的に集中するという局所性があることが知られている。上記従来技術では、このディスクへの書き込みの局所性を考慮していないため、ディスクへの書き込みアドレスの特性を利用したコマンド転送の効率化はおこなっていない。
【0008】
本発明は、上記問題点を解決するためになされたもので、その目的は、ディスクへの書き込みの局所性を利用して、キャッシュメモリーにあるコマンドと後に受け取るコマンドの関係を調整して、ディスクへのコマンド転送を効率よくおこなうことのできる磁気ディスク装置を提供することにある。
【0009】
【課題を解決するための手段】
本発明では、アドレス範囲ごとに、ライトコマンドが発行された頻度を記録しておき、その発行頻度が高いアドレスに書き込むライトコマンドは、キャッシュメモリーに保持し、その発行頻度が低いアドレスに書き込むライトコマンドは、ディスクに対してそのライトコマンドを発行するようにする。
【0010】
そして、キャッシュメモリーに保持されたライトコマンドと、同一のアドレスを書き込むライトコマンドが来たときに、キャッシュメモリーに保持された一つ以上のライトコマンドを廃棄するようにする。
【0011】
【発明の実施の形態】
以下、本発明に係る一実施形態を、図1ないし図10を用いて説明する。
【0012】
先ず、図1を用いて本発明に係る磁気ディスク装置の構成について説明する。
図1は、本発明に係る磁気ディスク装置の構成図である。
【0013】
本発明に係る磁気ディスク装置00は、磁気ディスク装置制御部10とディスク部20からなり、磁気ディスク装置制御部10は、ホストI/F部11、キャッシュメモリー12、キャッシュ制御部13、MPU14、ROM15、RAM16、R/W制御部17、ディスク部20から構成されている。
【0014】
ホストI/F(インターフェイス)部11は、ホスト30とのインタフェース制御をおこなう部分である。キャッシュメモリー12は、ホスト30と磁気ディスク装置10とでやり取りをおこなうコマンドやデータを保持するためのメモリーである。キャッシュ制御部13は、MPU(Micro Processor Unit)14の指示を受けて、キャッシュ12の保持されたコマンド、データの制御をおこなう。R/W(リード/ライト)制御部17は、キャッシュ制御部13から送られてきたコマンド、データを基にしてディスク部20に対して読み書きするための制御をおこなう。
【0015】
MPU14は、磁気ディスク装置制御部10全体の制御をおこなっており、ROM(Read Only Memory)15に格納されているプログラム、RAM(Random Access Memory)16に格納されるテーブル類、データを基にして動作する。
【0016】
次に、図2ないし図10を用いて本発明に係る磁気ディスク装置におけるデータ書き込み制御方法について説明する。
【0017】
先ず、図2および図3を用いて本発明に係る磁気ディスク装置におけるデータ書き込み制御方法に用いられるデータ構造について説明する。
図2は、ライトコマンド情報管理テーブルを示す模式図である。
図3は、ライトコマンド発行頻度管理テーブルを示す模式図である。
【0018】
ライトコマンド情報管理テーブル100は、ホスト30から磁気ディスクにデータの書き込みをおこなうライトコマンドの情報を管理するためのテーブルであり、ライトコマンドNo.101、ライトコマンド先頭アドレス102、ライトコマンドデータサイズ103、キャッシュメモリー上のデータ格納先頭アドレス104よりなっている。
【0019】
このライトコマンド情報管理テーブル100は、RAM16にあり、ホスト30からライトコマンドを受け取ったときに、MPU14が、キャッシュメモリー12に格納されたライトコマンドを番号付けをおこなって、その情報を書き込むものである。なお、ここでいうライトコマンド先頭アドレスとは、ライトコマンドが書き込みをおこなおうとしているディスク上のアドレスである。
【0020】
ライトコマンド発行頻度管理テーブル200は、ディスク上のアドレスに対してライトコマンドの発行頻度を管理するためのテーブルであり、図2に示されるようにアドレス範囲201、コマンド発行頻度202よりなっている。
【0021】
このライトコマンド発行頻度管理テーブル200は、ディスク上のアドレスに対してライトコマンドが、どれだけの発行頻度で発行されかの履歴を記録するためのテーブルであり、このテーブルもRAM16にあり、ホスト30からライトコマンドを受け取ったときに、MPU14がその情報を更新する。
【0022】
次に、図4ないし図10を用いて具体例をあげつつ本発明の磁気ディスク装置におけるデータ書き込み制御方法について説明する。
図4は、ホストから磁気ディスク装置にコマンドが転送される様子を示す模式図である。
図5は、ライトコマンド情報管理テーブル100の具体的データを示す模式図である。
図6は、ライトコマンド発行頻度管理テーブル200の具体的データを示す模式図である。
図7は、ホストからライトコマンドを受領したときに、ライトコマンド情報管理テーブル100に格納されたライトコマンドを廃棄する様子を示す図である。
図8は、ライトコマンド発行頻度管理テーブル200を更新するときの処理を示すフローチャートである。
図9は、ライトコマンドをディスクに転送するときの処理を示すフローチャートである。
図10は、ホスト30からライトコマンドを受領したときの処理を示すフローチャートである。
【0023】
図4に示すようなシーケンスで、ホスト20からディスクにライトコマンドが送られてくるものとする。
【0024】
すなわち、ライトコマンドw1(アドレスA、サイズx)、ライトコマンドw2(アドレスB、サイズy)、ライトコマンドw3(アドレスC、サイズz)、ライトコマンドw4(アドレスA、サイズx)である。
【0025】
磁気ディスク装置は、ホストからライトコマンドを受領するとキャッシュメモリー12内に保持し、ディスクへの転送能力に余裕ができると、順次ディスクに転送される。キャッシュメモリー12に保持されるコマンドは、図5に示されるようにして、ライトコマンドの情報が記録される。
【0026】
そして、ライトコマンドを受領すると、磁気ディスク装置のMPUは、図8に示すフローチャートにしたがって、ライトコマンド発行頻度管理テーブル200を更新する。
【0027】
すなわち、先ず、ライトコマンドか否かを判定し(S801)、ライトコマンドのときには、ホストの要求しているライトコマンドの書き込みアドレス、テーブルのアドレス範囲201が一致するときには(S802)、該当するアドレス範囲コマンド発行頻度202を‘1’を加算する(S803)。このライトコマンド発行頻度管理テーブル200は、後に説明するが発行頻度の高いアドレスのライトデータのディスク上への転送を保留するために用いるためのものである。
【0028】
この図6に示す例では、A〜A+xのアドレス範囲に対するコマンド発行頻度が30回と一番多くなっている。
【0029】
次に、図9のフローチャートを追いながら、キャッシュメモリー12に保持しているライトコマンドをディスクに転送するときの処理について説明する。
【0030】
キャッシュ制御部13は、常に、キャッシュメモリー14上にあるコマンド、データを、ライトコマンドデータ情報管理テーブル100を参照してディスク側に転送し処理を進めるよう動作する。そのときに、通常なら先入先出しにより、コマンドやデータの転送をおこなうのが普通であるが、本発明の磁気ディスク装置におけるデータ書き込み制御方法は、ライトコマンドの書き込みアドレスの特性によって、意図的に、あるライトコマンドをキャッシュメモリー12に保留するようにして、全体のスループットを上げようとするものである。
【0031】
先ず、ライトコマンドデータ情報管理テーブル100にコマンドがないときには(S901)、処理を終了し、ちょうどコマンドが1個のときには、そのライトコマンドをディスクに転送する(S908)。転送が終わったライトコマンドは、ライトコマンドデータ情報管理テーブル100のエントリから削除される。
【0032】
次に、ライトコマンド発行頻度管理テーブル200から最もコマンド発行頻度が高いアドレス範囲を取得する(S903)。
【0033】
以下のステップでは、ライトコマンドデータ情報管理テーブル100をサーチして、ディスクに転送すべきライトコマンドであるか否かを判断するものである。
【0034】
先ず、ライトコマンドデータ情報管理テーブル100のへポインタを先頭位置に初期化し(S904)、ライトコマンドのエントリの最後に達するまで(S907)、ライトコマンドデータ情報管理テーブル100のへポインタを順次インクリメントして検索する(S908)。そして、ポイントが指し示すライトコマンドデータ情報管理テーブル100のライトコマンド先頭アドレス102とライトコマンドデータサイズからライトコマンドの書き込み対象としているアドレス範囲を計算して(S905)、S903で求めた最もコマンド発行頻度が高いアドレスと一致するか判定し(S906)、一致するときは、そのライトコマンドをディスクに転送し(S909)、そのライトコマンドのエントリをライトコマンドデータ情報管理テーブル100から削除し、一致しないときには、転送はおこなわないものとする。
【0035】
図6に示す例では、A〜A+xのアドレス範囲は、コマンド発行頻度が「30回」になっており、最も発行頻度が高いものになるため、このアドレス範囲を書き込み対象としているライトコマンドw1とw4は、ディスクへの転送は保留されることになる。
【0036】
次に、図10のフローチャートを追いながら、ホストからライトコマンドを受領したときの処理について説明する。
【0037】
本実施形態では、ライトコマンドデータ情報管理テーブル100が図7(a)に示す状態になっていて、新たにライトコマンド先頭アドレス102が「A」、ライトコマンドデータサイズ103が「x」のライトコマンドw14がホスト30から送られてきたとする。
【0038】
先ず、ライトコマンドデータ情報管理テーブル100にコマンドが登録されていないときには(S1001)、新規に転送されてきたライトコマンドをテーブルの末尾に登録し(S1007)、キャッシュ制御部は、そのライトコマンドをキャッシュメモリー12上に保持するようにする。
【0039】
ライトコマンドデータ情報管理テーブル100にコマンドが1個以上登録されているときには、以下のステップで、ライトコマンドデータ情報管理テーブル100のエントリをサーチしてその処理をおこなうようにする。
【0040】
先ず、ライトコマンドデータ情報管理テーブル100のへポインタを先頭位置に初期化し(S1003)、ライトコマンドのエントリの最後に達するまで(S1006)、ライトコマンドデータ情報管理テーブル100のへポインタを順次インクリメントして検索する(S1008)。
【0041】
そして、ポイントが指し示すライトコマンドデータ情報管理テーブル100のライトコマンド先頭アドレス102とライトコマンドデータサイズと、新規に転送されてきたライトコマンドの書き込み対象としているアドレス範囲を計算して(S1004)、一致しているときには、そのテーブルのエントリのデータ情報を廃棄する(S1005)。一致しないときには、ループを抜け出して、新規に転送されてきたライトコマンドをテーブルの末尾に登録し(S1007)、キャッシュ制御部は、そのライトコマンドをキャッシュメモリー12上に保持するようにする。
【0042】
この例では、ライトコマンドw14が転送されてきて、S1003〜S1006、S1008を三回ループして、図7(b)に示すようにライトコマンドw10、w11、w12が廃棄されて、新たにw14のエントリがライトコマンドデータ情報管理テーブル100に登録されるようになる。
【0043】
このように本発明の磁気ディスク装置におけるデータ書き込み制御方法は、ホストから転送されてくるライトコマンドの書き込みの局所性を利用して、コマンド発行頻度の高いアドレスのものを、キャッシュメモリー12上に保留して、ディスクへの転送を見合わせる。そして、新たに同じアドレス範囲のライトコマンドが送られてくるときには、キャッシュメモリー12の前のライトコマンドは廃棄されることになる。したがって、必然的にディスクに転送されるライトコマンドの量を減らすことができるので、磁気ディスク装置のスループットが向上することになる。
【0044】
【発明の効果】
本発明によれば、ディスクへの書き込みの局所性を利用して、キャッシュメモリーにあるコマンドと後に受け取るコマンドの関係を調整して、ディスクへのコマンド転送を効率よくおこなうことのできる磁気ディスク装置を提供することができる。
【図面の簡単な説明】
【図1】本発明に係る磁気ディスク装置の構成図である。
【図2】ライトコマンド情報管理テーブルを示す模式図である。
【図3】ライトコマンド発行頻度管理テーブルを示す模式図である。
【図4】ホストから磁気ディスク装置にコマンドが転送される様子を示す模式図である。
【図5】ライトコマンド情報管理テーブル100の具体的データを示す模式図である。
【図6】ライトコマンド発行頻度管理テーブル200の具体的データを示す模式図である。
【図7】ホストからライトコマンドを受領したときに、ライトコマンド情報管理テーブル100に格納されたライトコマンドを廃棄する様子を示す図である。
【図8】ライトコマンド発行頻度管理テーブル200を更新するときの処理を示すフローチャートである。
【図9】ライトコマンドをディスクに転送するときの処理を示すフローチャートである。
【図10】ホスト30からライトコマンドを受領したときの処理を示すフローチャートである。
【符号の説明】
00…磁気ディスク装置、10…磁気ディスク装置制御部、20…ディスク部ら11…ホストI/F部、12…キャッシュメモリー、13…キャッシュ制御部、14…MPU、15…ROM、16…RAM、17…R/W制御部、20…ディスク部、30…ホスト。
Claims (3)
- ホストからのコマンドを一時的に保持するキャッシュメモリーを有する磁気ディスク装置におけるデータ書き込み制御方法において、
前記ホストからのライトコマンドの書き込みアドレスの局所性によって、そのライトコマンドを前記キャッシュメモリーに保持するか、ディスクに対してそのライトコマンドを発行するか否かのタイミングを決定することを特徴とする磁気ディスク装置におけるデータ書き込み制御方法。 - 前記ライトコマンドの書き込みアドレスの局所性を判断する場合に、アドレス範囲ごとに、ライトコマンドが発行された頻度を記録しておき、
その発行頻度が高いアドレスに書き込むライトコマンドは、前記キャッシュメモリーに保持し、
その発行頻度が低いアドレスに書き込むライトコマンドは、前記ディスクに対してそのライトコマンドを発行することを特徴とする請求項1記載の磁気ディスク装置におけるデータ書き込み制御方法。 - 前記キャッシュメモリーに保持されたライトコマンドと、同一のアドレスを書き込むライトコマンドが来たときに、前記キャッシュメモリーに保持された一つ以上のライトコマンドを廃棄することを特徴する請求項1および請求項2記載のいずれかの磁気ディスク装置におけるデータ書き込み制御方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002165233A JP2004013473A (ja) | 2002-06-06 | 2002-06-06 | 磁気ディスク装置におけるデータ書き込み制御方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002165233A JP2004013473A (ja) | 2002-06-06 | 2002-06-06 | 磁気ディスク装置におけるデータ書き込み制御方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004013473A true JP2004013473A (ja) | 2004-01-15 |
Family
ID=30433119
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002165233A Pending JP2004013473A (ja) | 2002-06-06 | 2002-06-06 | 磁気ディスク装置におけるデータ書き込み制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004013473A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2417527A2 (en) * | 2009-04-09 | 2012-02-15 | Micron Technology, Inc. | Memory controllers, memory systems, solid state drivers and methods for processing a number of commands |
-
2002
- 2002-06-06 JP JP2002165233A patent/JP2004013473A/ja active Pending
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2417527A2 (en) * | 2009-04-09 | 2012-02-15 | Micron Technology, Inc. | Memory controllers, memory systems, solid state drivers and methods for processing a number of commands |
CN102439576A (zh) * | 2009-04-09 | 2012-05-02 | 美光科技公司 | 存储器控制器、存储器系统、固态驱动器及用于处理若干个命令的方法 |
JP2012523612A (ja) * | 2009-04-09 | 2012-10-04 | マイクロン テクノロジー, インク. | いくつかのコマンドを処理するためのメモリコントローラ、メモリシステム、ソリッドステートドライブ、および方法 |
EP2417527A4 (en) * | 2009-04-09 | 2012-12-19 | Micron Technology Inc | MEMORY CONTROLLERS, MEMORY SYSTEMS, SOLID STATE CONTROLS, AND METHODS FOR PROCESSING A NUMBER OF COMMANDS |
US8396995B2 (en) | 2009-04-09 | 2013-03-12 | Micron Technology, Inc. | Memory controllers, memory systems, solid state drives and methods for processing a number of commands |
US8751700B2 (en) | 2009-04-09 | 2014-06-10 | Micron Technology, Inc. | Memory controllers, memory systems, solid state drives and methods for processing a number of commands |
US9015356B2 (en) | 2009-04-09 | 2015-04-21 | Micron Technology | Memory controllers, memory systems, solid state drives and methods for processing a number of commands |
EP2958027A1 (en) * | 2009-04-09 | 2015-12-23 | Micron Technology, Inc. | Memory controller for processing a number of commands |
US10331351B2 (en) | 2009-04-09 | 2019-06-25 | Micron Technology, Inc. | Memory controllers, memory systems, solid state drives and methods for processing a number of commands |
US10949091B2 (en) | 2009-04-09 | 2021-03-16 | Micron Technology, Inc. | Memory controllers, memory systems, solid state drives and methods for processing a number of commands |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101060799B1 (ko) | 백그라운드 소거를 이용한 저장 성능 개선 방법 및 장치 | |
US9052910B2 (en) | Efficiency of short loop instruction fetch | |
US6665747B1 (en) | Method and apparatus for interfacing with a secondary storage system | |
US6651113B1 (en) | System for writing data on an optical storage medium without interruption using a local write buffer | |
CN103226525B (zh) | 存储器装置、计算装置和数据传输方法 | |
CN100580669C (zh) | 在Flash存储介质上的关于文件分配表的缓存实现方法 | |
US20070186071A1 (en) | Optimizing data bandwidth across a variable asynchronous clock domain | |
US9471227B2 (en) | Implementing enhanced performance with read before write to phase change memory to avoid write cancellations | |
JP4461089B2 (ja) | ストレージ制御装置およびストレージ制御方法 | |
JP2008181481A (ja) | 要求に基づく処理資源の割り当て | |
JP2004013473A (ja) | 磁気ディスク装置におけるデータ書き込み制御方法 | |
US8264924B2 (en) | Data writing control device, data writing control method, and data writing control program | |
CN112767978B (zh) | 一种ddr命令调度方法、装置、设备及介质 | |
JPH05233155A (ja) | ディスクアレイ装置 | |
US7421536B2 (en) | Access control method, disk control unit and storage apparatus | |
US7707356B2 (en) | Method and apparatus for scheduling disk read requests | |
KR100817203B1 (ko) | 비휘발성 저장장치의 데이터 판독 방법 | |
US20230037665A1 (en) | Method and apparatus for configuring a non-volatile memory device without data transfer | |
JP2000132507A (ja) | Scsiプロトコルにおけるコマンド処理方法およびそれに用いる装置 | |
JP4664011B2 (ja) | 情報処理装置及び情報処理方法 | |
US10102005B2 (en) | External intrinsic interface | |
JPH11232037A (ja) | ディスクキャッシュライト機能を持った磁気ディスク装置 | |
JPS59172186A (ja) | キヤツシユ・メモリ制御方式 | |
US20030200385A1 (en) | Method and system for increasing disk drive performance | |
JPH1078912A (ja) | データ入出力処理装置 |