JP3586887B2 - 情報記録再生装置およびデータキャッシュ方法 - Google Patents
情報記録再生装置およびデータキャッシュ方法 Download PDFInfo
- Publication number
- JP3586887B2 JP3586887B2 JP12907494A JP12907494A JP3586887B2 JP 3586887 B2 JP3586887 B2 JP 3586887B2 JP 12907494 A JP12907494 A JP 12907494A JP 12907494 A JP12907494 A JP 12907494A JP 3586887 B2 JP3586887 B2 JP 3586887B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- block
- host device
- recording
- medium
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0674—Disk device
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)
- Signal Processing For Digital Recording And Reproducing (AREA)
Description
【産業上の利用分野】
本発明は、円盤状の情報記録媒体に対してブロック単位に記録再生する情報記録再生装置であり、特に、履歴キャッシュと先読キャッシュの両方の機能を有する情報記録再生装置である。
【0002】
【従来の技術】
近年、ホストコンピュータの高速化が進み、その外部記憶装置(例えばハードディスク装置や光ディスク装置などの情報記録再生装置)との速度ギャップが開きつつある。このギャップを埋めるために、外部記憶装置はより高速になってきており、その方法には大きく分けて2つある。1つは、記録媒体の回転数を上げたり、記憶媒体の目的トラックにヘッドを移動するシーク時間を短縮したりした物理的に高速化である。もう1つは、装置内部に半導体メモリからなるバッファを持ち、ホストコンピュータから要求されたデータをバッファに存在していれば、記録媒体にアクセスせずにバッファ上のデータを転送する等のデータキャッシュ機能による論理的な高速化である。
【0003】
データキャッシュには、再生動作を速くするリードキャッシュと、記録動作を速くするライトキャッシュとがある。さらに、リードキャッシュには、以前にホストコンピュータから要求されたデータをキャッシュデータとする履歴型と、以前にホストコンピュータから要求されたデータの次のデータを前もって読み出してキャッシュデータとする先読型とがある。
【0004】
履歴型リードキャッシュは、大型計算機の分野で高速・低容量メモリ〜低速・大容量メモリの階層構造が全体として高速・大容量メモリとなるように、古くから研究されている。この履歴型リードキャッシュのアルゴリズムとして有名なのが、コードらによって米国特許第3,737,881に示されたLRU(Least Recently Use)アルゴリズムであろう。LRUアルゴリズムは、高速なメモリを複数の小領域に分割し(この分割された小領域をページと呼ぶ)、要求されたデータがどのページにもなければ(ミスヒットと呼ぶ)、最も古くアクセスされたページのデータを破棄して、そのページに低速なメモリからの情報を格納するものである。これは、コンピュータが参照したデータを再び参照する確率が高いことに起因する。LRUアルゴリズムに関わらず、どの履歴型リードキャッシュも1つ以上のページを持つことは共通で、ミスヒットした場合にどのページのデータを破棄するかが異なるものである。
【0005】
図16は、円盤状の情報記録媒体のレイアウト図である。情報記録媒体は同心円状(もしくは螺旋状)の1回転分をトラック(図16のT0、T1、T2)と呼ばれる。さらにトラックはセクタと呼ばれるブロック単位(0〜15の番号が記入された扇形の領域)に分割されている。情報記録媒体は回転方向が左回りならば、同心円上にならぶブロックは左回りにアクセスされることになる。アクセス順にブロックには番号が付けられるのが普通である。
【0006】
先読型リードキャッシュは、ハードディスク装置等の円盤状の情報記録媒体を回転させて情報を記録・再生する装置に対して、回転待ちを無くして再生動作を高速にするものである。通常、コンピュータ上で稼働するOS(Operation System)およびアプリケーションは、1つのファイルを読み出す場合に、一度にファイル全体を再生要求せずに、ファイルの先頭から順番に小さく区分した単位に再生要求する。この様なアクセス形態をシーケンシャルアクセスと呼ぶ。例えば、ブロック1から10までを1ブロック単位にシーケンシャルアクセスされた場合を想定してみる。ブロック1を要求された直後、即ちブロック2を通過中にブロック2を要求されるため、ほぼ1回転するまで待たなければならない。従って、1ブロックを再生するために1回転を要することになり、ブロック1から10までを再生するためには10回転が必要になる。そこで、ホストコンピュータから要求されたときに、情報記録媒体から要求されたブロックよりも先のブロックを前もって高速なメモリ(即ち半導体メモリでできたデータバッファ)に読み出しておく。次に要求されたブロックが前もって読み出していれば(ヒットと呼ぶ)、情報記録媒体にアクセスすることなくデータバッファのデータをホストコンピュータに転送する。こうすれば、ブロック1から10までを再生するために1回転あれば充分である。最近では、先読型リードキャッシュを備えた情報記録再生装置として、飯田らによって特開平5−274090に示されている。シーケンシャルアクセスは、連続するブロック数が多くなるため、データバッファをリングバッファ(終端に到達すると先端に折り返されるバッファ)として制御することが多い。
【0007】
従来の技術を適用して、履歴型と先読型の両方のリードキャッシュを備えた情報記録再生装置を得るためには以下のようにする必要がある。(1)内部データバッファを2分割して、一方を履歴キャッシュデータ領域とし他方を先読キャッシュデータ領域とする。
(2)各キャッシュデータ領域に、それぞれ履歴型と先読型のアルゴリズムを当てはめる。
(3)次の要求が同ブロックか次ブロックかを予測して、どちらを適用するか判断する。
但し、履歴型と先読型のアルゴリズムが全く異なるため、(1)では固定した境界で2分割する必要がある。
【0008】
次にライトキャッシュであるが、代表的なものにライトスルーキャッシュとライトバックキャッシュとがある。ライトスルーキャッシュとライトバックキャッシュは、低速メモリの更新内容が高速メモリに反映され、更新された内容を参照する場合に高速メモリがアクセスされる点は同一で、低速メモリの更新が終わるまで待たされるのがライトスルーキャッシュで、低速メモリの更新が終わるのを待たないのがライトバックキャッシュである。従って、双方のキャッシュで情報の参照時間が短縮されるが、情報の更新時間が短縮されるのはライトバックキャッシュだけである。
【0009】
ハードディスク装置や光ディスク装置等の円盤状の情報記録媒体を回転させて情報を記録再生する装置は、1セクタの記録が要求された場合、目的のセクタが存在するトラックへ移動するシークと、目的のセクタの頭出しをする回転待ち時間が必要になる。特に、光ディスク装置では、記録前に消去し、記録後に検証再生するため余計に時間がかかる。図17は、光ディスク装置の記録動作を示したものである。
(Q1)目的トラックへシークする。
(Q2)目的セクタまでの回転待ち(平均1/2回転)。
(Q3)1セクタ消去する。
(Q4)目的セクタまでの回転待ち(1回転)。
(Q5)1セクタ記録する。
(Q6)目的セクタまでの回転待ち(1回転)。
(Q7)1セクタ検証再生する。
【0010】
上記のように、1セクタ記録するために平均2回転半の回転待ち時間+シーク時間を要するため、ホスト装置と光ディスク装置をつなぐバスの速度に比べて非常に低速である。従って、光ディスク装置内のデータバッファに記録データが格納された時点でホスト装置には記録動作が完了したと通知し、その後にデータバッファ上の記録データを光ディスクに記録するライトバックキャッシュ機能により、ホスト装置から見た速度は高速化される。ハードディスクでは1セクタ記録するために平均半回転の回転待ち時間+シーク時間となるが、これもホスト装置とハードディスク装置をつなぐバスの速度に比べて低速であるから同様なことが言える。
【0011】
【発明が解決しようとする課題】
前述したように、履歴型リードキャッシュは参照されたブロックが再び参照される確率が高いことに起因し、先読型リードキャッシュは参照されたブロックの続きが参照される確率が高いことに起因する。起因となったものが違うため、両方のリードキャッシュ機能を備えることは困難であり、例え両方を備えたとしても、データバッファ内の履歴キャッシュデータ領域と先読キャッシュデータ領域は固定され、一方のリードキャッシュ機能が他方のを阻害するという問題を有していた。
【0012】
また、媒体から先読キャッシュデータを再生中にホスト装置から記録要求があった場合に、先読キャッシュデータの再生が終了するまで媒体への記録動作が待機されるためパフォーマンスの低下を招くとともに、記録データは履歴キャッシュデータとして扱われるため先読キャッシュデータと共通に管理することできないという問題を有していた。
【0013】
さらに、ライトバックキャッシュによる媒体への記録中にホスト装置から再生要求があった場合に、例えキャッシュデータに再生要求されたデータが存在していたとしても、媒体への記録が終了するまで待たされるためパフォーマンスの低下を招くという問題を有していた。
【0014】
また、ライトバックキャッシュによってホスト装置から見た速度は高速化されていても、媒体に記録するために必要な時間は短縮されていないという問題点を有していた。
【0015】
【課題を解決するための手段】
ホスト装置に接続されて、円盤状の情報記録媒体を用いてブロック単位に情報を記録再生する情報記録再生装置であって、ホスト装置から再生要求された最終ブロックを中心に、最終ブロックよりも以前のブロックのデータを履歴データとし、最終ブロックよりも先のブロックのデータを先読データとし、ホスト装置から記録要求されたブロックのデータを履歴データとして管理するキャッシュ管理手段と、前記履歴データと前記先読データを格納する先読履歴バッファと、前記先読データを所定量に保つキャッシュ維持手段と、前記キャッシュ維持手段が媒体から先読み動作中にホスト装置から記録要求を受けた場合、先読み動作を中止して中止したまでの先読データを求める先読中止手段と、既存する前記履歴データと前記先読データの中で、ホスト装置から記録要求されたブロックは、ホスト装置から送られるデータによって前記先読履歴バッファのデータと前記情報記録媒体のデータを更新する記録データ挿入手段と、ホスト装置から記録要求されたブロックのデータを前記先読履歴バッファに格納した時点でホスト装置に記録動作の完了を報告し、引き続き情報記録媒体に記録動作を行うライトバック手段と、前記ライトバック手段による媒体の記録動作中にホスト装置から記録要求されたブロックが媒体記録中のブロックと連続する場合、前記先読履歴バッファ上にも連続して格納するとともに、連続して格納されたブロックを一括して媒体に記録するライトマージ手段と、前記ライトバック手段による媒体の記録動作中にホスト装置から記録要求されたブロックが媒体記録中のブロックと不連続の場合、媒体上と同一相対位置にある前記先読履歴バッファ上の領域に格納し、媒体への記録動作が保留であることを管理するライトキュー管理手段と、ホスト装置から記録要求されたブロックが前記ライトキュー管理手段が管理するブロックと連続する場合、前記先読履歴バッファ上にも連続して格納するキューマージ手段と、前記ライトバック手段による媒体の記録動作が完了した時点で、前記ライトキュー管理手段が媒体への記録動作を保留しているデータを、前記ライトバック手段により媒体への記録動作を行うキューバック移行手段と、情報記録媒体に前記履歴データを記録中にホスト装置から再生要求された場合に、前記履歴データと前記先読データに含まれる再生要求ブロックをホスト装置に送る並行転送手段とを備えた情報記録再生装置およびデータキャッシュ方法である。
【0016】
【作用】
上記構成により、ホスト装置から要求された最終ブロックを中心に履歴データと先読データを一元管理することができ、先読み動作中にホスト装置から記録要求されても即座に記録動作を開始できると共に、媒体から再生したデータとホスト装置から送られた記録データの両方をリードキャッシュデータとすることができ、媒体への記録処理とホスト装置への再生処理を並行して行うことができ、ホスト装置からシーケンシャルもしくは局所に集中する記録要求を受けた場合に媒体への記録動作自体を高速化することができる。
【0017】
【実施例】
本発明の情報記録再生装置およびデータキャッシュ方法の実施例について、図面を参照しながら以下に説明する。
【0018】
図1は、本発明の第一、第二、第三の実施例における情報記録再生装置の構成図である。図1において、1は情報記録再生装置、2はホスト装置、3はコントローラ装置、4はドライブ装置、5はホストIFバス、6はドライブIFバス、7は内部バス、8はホストIF回路、9はドライブIF回路、10はECC回路、11はCPU、12は先読履歴バッファ、13はキャッシュ管理情報である。情報記録再生装置1は、ホスト装置2とSCSIインタフェース等のホストインタフェースのバスであるホストIFバス5によって接続される。情報記録再生装置1は、コントローラ装置3とドライブ装置4から構成される。情報記録再生装置1は、ホスト装置2の命令に従って、コントローラ装置3の制御によりドライブ装置4の情報記録媒体(図示せず)に記録および再生を行う。コントローラ装置3とドライブ装置4は、ESDI等のドライブインタフェースのバスであるドライブIFバス6によって接続されている。コントローラ装置3は、内部バス7によって接続されたホストIF回路8とドライブIF回路9とECC回路10とCPU11と先読履歴バッファ12と、キャッシュ管理情報13によって構成されている。CPU11は、内部に格納されたプログラムに従って、ホストIF回路8を用いてホストIFバス5を制御し、ドライブIF回路9を用いてドライブIFバス6を制御し、ECC回路10を用いてエラー訂正を行い、先読履歴バッファ12に格納されたデータをキャッシュ管理情報13を用いてキャッシュデータとして管理する。
【0019】
図2は、本発明の第一、第二、第三の実施例におけるキャッシュ管理の概念図で、CPU11がキャッシュ管理情報13を用いて先読履歴バッファ12のデータをキャッシュデータとして管理することを説明するために用意した図である。キャッシュ管理情報13は、先読履歴バッファ12に最初に格納されたブロックに対する情報記録媒体上の位置を示すSTA_BAと、先読履歴バッファ12に先読データによって破壊されていない履歴データの先頭ブロックの媒体上の位置を示すHIS_BAと、先読履歴バッファ12の総容量をブロック単位で示すBUF_LNGと、STA_BAを先頭に情報記録媒体から再生したブロック数を示すRW_LNGと、STA_BAを先頭にホストから要求された最終ブロックまでのブロック数を示すHIS_LNGから構成される。先読履歴バッファ12の内、右上がりの斜線で塗りつぶされた領域が履歴データで、左上がりの斜線で塗りつぶされた領域が先読データである。先読データの先頭位置はHIS_BA+HIS_LNGで、先読データのブロック数はRW_LNG−HIS_LNGとなる。先読履歴バッファ12がリングバッファとして一周以上使用されていない場合、履歴データの先頭位置HIS_BAはSTA_BAに等しく、履歴データのブロック数はHIS_LNGとなる。
【0020】
図3は、本発明の第一、第二、第三の実施例におけるリングバッファ管理の概念図で、先読履歴バッファ12がリングバッファとして用いた場合におけるキャッシュデータの管理を説明するために用意した図である。図3(a)で示されるように、先読履歴バッファ12は論理的に末端が先頭に折り返されてリング状のバッファとして機能する。このとき、ホスト装置2から要求された最終ブロックはSTA_BA+HIS_BAで、この境界よりも後ろが履歴データで前が先読データである。図3(b)は、リング状の先読履歴バッファ12の展開図である。情報記録媒体から再生した総ブロック数RW_LNGが、先読履歴バッファ12の総ブロック数BUF_LNGを越えた場合、履歴データの一部は先読データによって上書きされる。先読履歴バッファ12をプレーン状に戻した場合、情報記録媒体から再生した最終ブロックが格納されている位置は、RW_LNGをBUF_LNGで割った剰余となる(X%YはXをYで割った剰余を示す)。HIS_LNGについても同様である。また、残っている履歴データの先頭ブロック位置を示すHIS_BAは、STA_BAとSTA_BA+RW_LNG−BUF_LNGの内で大きい方になる(Max(X,Y)はXとYの内で大きい方を示す)。従って、履歴データはHIS_BAからSTA_BA+HIS_LNGまでで、先読データはSTA_BA+HIS_LNGからSTA_BA+RW_LNGまでとなる。また、先読履歴バッファ12でデータが有効なブロックのプレーン状での位置は、STA_BAからの差分ブロック数をBUF_LNGで割った剰余より求めることができる。
【0021】
図4は、本発明の第一の実施例におけるデータキャッシュ方法のフローチャートである。ホスト装置が情報記録再生装置に再生要求を行った場合に、再生要求された最終ブロックを中心に履歴データと先読データとを管理し、所定量(ここでは先読履歴バッファの総容量の半分)の先読データを保持する動作について説明する。ホスト装置が再生要求した先頭ブロック位置をREQ_BA、ブロック数をREQ_LNGとする。
(D1)ホスト装置が再生要求した先頭ブロックがキャッシュされていればD2へ、そうでなければD5へ分岐する。先頭ブロックがキャッシュされている条件は、HIS_BA≦REQ_BA<STA_BA+RW_LNGになる。
(D2)先読データを所定量に保つために必要な読み足しブロック数を求める。読み足しブロック数ADD_LNGは、ホスト装置が再生要求した最終ブロック(REQ_BA+REQ_LNG)から以前にホスト装置が再生要求した最終ブロック(STA_BA+HIS_LNG)を差し引いたブロック数になる。
(D3)先読データを所定量に保つために媒体からの読み足しが必要ならばD4へ、そうでなければD7へ分岐する。読み足しが必要である条件は、読み足しブロック数ADD_LNG>0になる。
(D4)媒体から読み足すことによるキャッシュ情報の更新を行う。RW_LNGおよびHIS_LNGは、それぞれADD_LNGを加えたものになり、HIS_BAは、STA_BAとSTA_BA+RW_LNG−BUF_LNGの内で大きい方になる。
(D5)ホスト装置が再生要求したブロックとそれに引き続いた所定量(先読履歴バッファの総容量の半分)の先読みを行うようにキャッシュ情報を初期化する。STA_BAはREQ_BAに、ADD_LNGおよびRW_LNGはREQ_LNG+BUF_LNG/2に、HIS_LNGはREQ_LNGに、HIS_BAは、STA_BAとSTA_BA+RW_LNG−BUF_LNGの内で大きい方になる。
(D6)媒体から先読履歴バッファにデータを読み足す。
(D7)ホスト装置に再生要求されたブロックのデータを送る。
【0022】
図5は、本発明の第一の実施例におけるデータキャッシュ方法の動作を説明する概念図である。図5(a)は、ホスト装置から再生要求されたブロックがキャッシュにミスヒットした場合に、キャッシュ情報が初期化されて媒体から再生されたデータが先読履歴バッファに格納された状態を示す。この状態でホスト装置から履歴データと先読データにまたがる再生要求を受けた場合に、キャッシュ情報が更新され媒体から読み足されたデータが先読履歴バッファに格納された状態を示すのが図5(b)である。図5(c)は、この状態でホスト装置から履歴データのみに再生要求を受けた場合に、キャッシュ情報が更新されず媒体からの読み足しも行われないため、先読履歴バッファの状態が変化しないことを示す。従って、図5(b)と図5(c)の先読履歴バッファの状態は同一である。さらに、この状態でホスト装置から先読データのみに再生要求を受けた場合は、キャッシュ情報が更新され媒体から読み足されたデータがリング状に折り返して履歴データの一部を上書きした状態を示したものが図5(d)である。図5(d)において、HIS_BAよりも左に位置していた履歴データは有効でなくなる。
【0023】
以上説明したように、本発明の第一の実施例において、ホスト装置から再生要求された最終ブロックを中心に履歴データと先読データを一元管理することができる。また先読データを常に所定量に保つこともできる。
【0024】
図6は、本発明の第二の実施例におけるデータキャッシュ方法のフローチャートである。ホスト装置が情報記録再生装置に記録要求を行った場合に、先読み動作中にホスト装置から記録要求されても即座に記録動作を開始すると共に、媒体から再生したデータとホスト装置から送られた記録データの両方をリードキャッシュデータとする動作について説明する。ホスト装置が記録要求した先頭ブロック位置をREQ_BA、ブロック数をREQ_LNGとする。また、媒体から最後に再生したブロック位置END_BAは、ドライブIF回路9により求められるものとする。
(F1)媒体から先読データを再生中の場合F2へ、そうでなければF4へ分岐する。
(F2)媒体からの先読み動作を中止する。
(F3)先読み動作を中止したことによりキャッシュ情報を修正する。媒体から再生した総ブロック数RW_LNGは最後に再生したブロック位置END_BAから最初に再生したブロック位置STA_BAの差に1を加えた値に、HIS_BAはSTA_BAとSTA_BA+RW_LNG−BUF_LNGの内で大きい方に修正される。
(F4)ホスト装置が記録要求した先頭ブロックがキャッシュされていればF5へ、そうでなければF6へ分岐する。先頭ブロックがキャッシュされている条件は、HIS_BA≦REQ_BA<STA_BA+RW_LNGになる。
(F5)既存のキャッシュデータに記録データを履歴データとして加えるように、キャッシュ情報を更新する。HIS_LNGおよびRW_LNGは、それぞれ自分自身とREQ_BA+REQ_LNG−STA_BAの内で大きい方になる。HIS_BAは、STA_BAとSTA_BA+RW_LNG−BUF_LNGの内で大きい方になる。
(F6)既存のキャッシュデータを破棄して、記録データを履歴データとなるように、キャッシュ情報を初期化する。STA_BAは、REQ_BAに等しくなる。HIS_LNGおよびRW_LNGは、REQ_LNGに等しくなる。HIS_BAは、STA_BAとSTA_BA+RW_LNG−BUF_LNGの内で大きい方になる。
(F7)ホスト装置から記録データを受けて、先読履歴バッファに格納する。
(F8)ホスト装置から受けた記録データを媒体に記録する。
【0025】
図7は、本発明の第二の実施例におけるデータキャッシュ方法の動作を説明する概念図である。図7(a1)は、以前にホスト装置から再生要求されて、履歴データと先読データが先読履歴バッファに格納されている状態を示す。この状態でホスト装置から履歴データと先読データにまたがる記録要求を受けた場合に、記録データが履歴データとして既存のキャッシュデータを更新した状態を示すのが図7(a2)である。図7(b1)は、図7(a1)と同じ状態を示す。この状態でホスト装置から先読データを越える記録要求を受けた場合に、記録データが履歴データとして既存のキャッシュデータを更新した状態を示すのが図7(b2)である。
【0026】
以上説明したように、本発明の第二の実施例において、ホスト装置が情報記録再生装置に記録要求を行った場合に、先読み動作中にホスト装置から記録要求されても即座に記録動作を開始すると共に、媒体から再生したデータとホスト装置から送られた記録データの両方をキャッシュデータとすることができる。
【0027】
図8は、本発明の第三の実施例におけるデータキャッシュ方法のフローチャートである。媒体への記録中にホスト装置から再生要求を受けた場合に、媒体への記録処理とホスト装置への再生処理を並行して行う動作について説明する。ホスト装置が記録要求した先頭ブロック位置をREQ_BA、ブロック数をREQ_LNGとする。
(H1)ライトバックキャッシュによる媒体への記録処理中ならばH2へ、そうでなければ他の処理(例えば図4で示された処理)へ分岐する。
(H2)ホスト装置が再生要求したブロックの全てがキャッシュデータに存在する(完全ヒット)ならばH3へ、そうでなければH5へ分岐する。完全ヒットの条件は、REQ_BA≧HIS_BAで且つREQ_BA+REQ_LNG≦STA_BA+RW_LNGになる。
(H3)完全ヒットした領域を履歴データとして扱うためにキャッシュ情報を更新する。HIS_LNGおよびRW_LNGは、それぞれ自分自身とREQ_BA+RE_LNG−STA_BAの内で大きい方になる。HIS_BAは、STA_BAとSTA_BA+RW_LNG−BUF_LNGの内で大きい方になる。
(H4)ホスト装置へ再生要求されたブロックのデータを送る。
(H5)ライトバックキャッシュによる媒体への記録処理が終了するのを待つ。
【0028】
図9は、本発明の第三の実施例におけるデータキャッシュ方法の動作を説明する概念図である。図9(a)は、以前にホスト装置から再生要求されて、履歴データと先読データが先読履歴バッファに格納されて、その後ホスト装置から履歴データのみに含まれる領域を記録要求されて、媒体へ記録している状態を示す。この状態で、媒体へ記録中のデータを含む履歴データと先読データにまたがって再生要求された場合に、再生要求されたデータを履歴データとして管理した状態を示すのが図9(b)である。
【0029】
以上説明したように、本発明の第三の実施例において、媒体への記録中にホスト装置へから再生要求を受けた場合に、媒体への記録処理とホスト装置への再生処理を並行して行うことができると共に、媒体から再生したデータとホスト装置から送られた記録データの両方をキャッシュデータとすることができる。
【0030】
以下で述べるデータキャッシュ方法は、ホスト装置からの見かけの速度を向上させるだけでなく、媒体への記録処理自体を高速化するもので、その概念について補足説明を行う。円盤状の情報記録媒体を用いた場合に、半導体メモリを用いた場合との差は、アクセスする場所毎にそのアクセス時間が大きく異なることである。従来技術の説明で述べた様に、コンピュータ上で稼働するOS(Operation System)およびアプリケーションは、1つのファイルを読み出す場合に、ファイルの先頭から順番に小さく区分した単位に再生要求する。この様なアクセス形態をシーケンシャルアクセスと呼ぶが、1つのファイルを書き込む場合も同様にシーケンシャルアクセスをする。例えば図16において、ファイルがトラックT1のセクタ0から9に相当し、セクタ0から順に1セクタ単位に記録要求されることになる。この場合、図17で説明した光ディスク装置の記録処理の手順から、ファイルを書き込むのに必要な時間を求めると、最低でも3回転×10=30回転分となる。この時間は、10セクタを一括で記録した時間(=3回転)に比べて10倍にもなる。この時間比率はハードディスクでも同じである。即ち、シーケンシャルアクセスの記録要求を、まとめて1つの記録要求に変換することができれば、媒体への記録処理自体を高速化することになる。
【0031】
図10は、本発明の第四、第五の実施例における情報記録再生装置の構成図である。図10において、図1と同じ構成要素については同一番号を付し詳細な説明は省略する。図10において、201は情報記録再生装置、203はコントローラ装置、211はCPU、212は記録マージバッファ、213は記録キャッシュ管理情報である。CPU211は、内部に格納されたプログラムに従って、ホストIF回路8を用いてホストIFバス5を制御し、ドライブIF回路9を用いてドライブIFバス6を制御し、ECC回路10を用いてエラー訂正を行い、記録マージバッファ212に格納されたデータを記録キャッシュ管理情報213を用いてキャッシュデータとして管理する。
【0032】
図11は、本発明の第四、第五の実施例におけるキャッシュ管理の概念図で、CPU211が記録キャッシュ管理情報213を用いて記録マージバッファ212のデータをキャッシュデータとして管理することを説明するために用意した図である。記録キャッシュ管理情報213は、記録マージバッファ212に最初に格納されたブロックに対して情報記録媒体上のブロック位置を示すSTA_BAと、記録マージバッファ212の総容量をブロック単位で示すBUF_LNGと、媒体へ記録中の先頭ブロック位置を示すMRG_BAと、媒体へ記録中のブロック数を示すMRG_LNG、媒体への記録が保留されている先頭ブロック位置を示すQUE_BAと、媒体への記録が保留されているブロック数を示すQUE_LNGから構成される。STA_BAとBUF_LNGとMRG_BAとMRG_LNGとを合わせてライトマージ情報とし、QUE_BAとQUE_LNGとを合わせてキューマージ情報と呼ぶこととする。記録マージバッファ212の内、右上がりの斜線で塗りつぶされた領域がライトマージデータで、左上がりの斜線で塗りつぶされた領域がキューマージデータである。
【0033】
図12は、本発明の第四の実施例におけるデータキャッシュ方法のフローチャートである。媒体への記録中にホスト装置から記録要求を受けた場合に、シーケンシャルアクセスな記録要求を一括して媒体への記録処理を行う動作について説明する。ホスト装置が記録要求した先頭ブロック位置をREQ_BA、ブロック数をREQ_LNGとする。
(L1)ライトバックキャッシュによる媒体への記録処理中ならばL2へ、そうでなければL6へ分岐する。
(L2)媒体へ記録中のデータとホスト装置から記録要求されたデータの両方が記録マージバッファに納まるならばL3へ、そうでなければL5へ分岐する。納まる条件は、REQ_BA+REQ_LNG≦STA_BA+BUF_LNGになる。
(L3)媒体へ記録中のデータとホスト装置から記録要求されたデータを結合できるならばL4へ、そうでなければL5へ分岐する。結合できる条件は、REQ_BAがMRG_BA+MRG_LNGに等しい場合となる。
(L4)媒体へ記録中のデータにホスト装置から記録要求されたデータを結合するようにライトマージ情報を更新する。媒体に記録中のブロック数MRG_BLKにREQ_LNGを加える。
(L5)ライトバックキャッシュによる媒体への記録処理が終了するのを待つ。
(L6)ホスト装置から記録要求されたデータを媒体へ記録中のデータになるようにライトマージ情報を初期化する。STA_BAおよびMRG_BAは、REQ_BAになる。MRG_LNGは、REQ_LNGになる。
(L7)ホスト装置から記録要求されたデータを受け取り、記録マージバッファに格納する。
(L8)MRG_BLKで示されたブロック数を連続的に媒体に記録する。
【0034】
図13は、本発明の第四の実施例におけるデータキャッシュ方法の動作を説明する概念図である。図13(a)は、媒体へ記録中でないときに、ホスト装置から記録要求を受けて、記録データを記録マージバッファに格納した状態を示す。この状態から、ホスト装置からシーケンシャルな記録命令を受けた場合に、以前の記録データと今回要求された記録データとを結合して記録マージバッファに格納した状態を示すのが図13(b)である。図13(c)は、さらにこの状態からシーケンシャルな記録命令を受けた場合の記録マージバッファの状態を示す。図13(a)〜(c)が、シーク動作中や回転待ち中に行われて、3つの要求は1つの要求に変換される。
【0035】
以上説明したように、本発明の第四の実施例において、ホスト装置からシーケンシャルな記録要求を受けた場合に、これらをまとめて1つの記録要求に変換することにより、媒体への記録処理自体を高速化することができる。
【0036】
図14は、本発明の第五の実施例におけるデータキャッシュ方法のフローチャートである。本発明の第四の実施例に対するキュー構造を実現し、局所的に集中するアクセスにおいて一括して媒体への記録処理を行う動作について説明する。ホスト装置が記録要求した先頭ブロック位置をREQ_BA、ブロック数をREQ_LNGとする。
(N1)ライトバックキャッシュによる媒体への記録処理中ならばN2へ、そうでなければN6へ分岐する。
(N2)媒体へ記録中のデータとホスト装置から記録要求されたデータの両方が記録マージバッファに納まるならばN3へ、そうでなければN5へ分岐する。納まる条件は、REQ_BA+REQ_LNG≦STA_BA+BUF_LNGになる。
(N3)媒体へ記録中のデータとホスト装置から記録要求されたデータを結合できるならばN4へ、そうでなければN11へ分岐する。結合できる条件は、REQ_BAがMRG_BA+MRG_LNGに等しい場合となる。
(N4)媒体へ記録中のデータにホスト装置から記録要求されたデータを結合するようにライトマージ情報を更新する。媒体に記録中のブロック数MRG_BLKにREQ_LNGを加える。
(N5)ライトバックキャッシュによる媒体への記録処理が終了するのを待つ。
(N6)ホスト装置から記録要求されたデータを媒体へ記録中のデータにするようにライトマージ情報を初期化する。STA_BAおよびMRG_BAは、REQ_BAになる。MRG_LNGは、REQ_LNGになる。
(N7)ホスト装置から記録要求されたデータを受け取り、記録マージバッファに格納する。
(N8)媒体へ記録中のデータとキューマージデータとを結合できるならばN9へ、そうでなければN10へ分岐する。結合できる条件は、MRG_BA+MRG_LNGがQUE_BAに等しい場合となる。
(N9)媒体へ記録中のデータとキューマージデータとを結合する。MRG_LNGはQUE_LNGを加えた値になる。キューマージデータがなくなったことを示すため、QUE_LNGは0になる。
(N10)MRG_BLKで示されたブロック数を連続的に媒体に記録する。
(N11)キューマージデータが存在するならばN15へ、そうでなければN12へ分岐する。キューマージデータが存在する条件は、QUE_LNG>0になる。
(N12)キューマージデータとホスト装置から記録要求されたデータを結合できるならばN16へ、そうでなければN13へ分岐する。結合できる条件は、REQ_BA+REQ_LNG≧QUE_BAで且つREQ_BA≦QUE_BA+QUE_LNGになる。
(N13)ライトバックキャッシュによる媒体への記録処理が終了するのを待つ。
(N14)キューマージデータをライトマージデータに変換する。MRG_BAはQUE_BAに、MRG_LNGはQUE_LNGになる。
(N15)キューマージ情報を初期化する。QUE_BAはREQ_BAに、QUE_LNGはREQ_LNGになる。
(N16)キューマージデータにホスト装置から記録要求されたデータを結合するようにキューマージ情報を更新する。QUE_LNGは、QUE_BA+QUE_LNGとREQ_BA+REQ_LNGの内で大きい方からQUE_BAとREQ_BAの内で小さい方を差し引いたものになる。QUE_BAは、自分自身とREQ_BAの内で小さい方になる。
【0037】
図15は、本発明の第五の実施例におけるデータキャッシュ方法の動作を説明する概念図である。図15(a)は、媒体へ記録中でないときに、ホスト装置から記録要求を受けて、記録データを記録マージバッファに格納した状態を示す。この状態から、ホスト装置からシーケンシャルではないが記録マージバッファ上に収まりうる記録要求を受けて記録データを格納した状態を示すのが図15(b)である。図15(c)は、この状態から、ホスト装置から受けた記録命令がキューマージと結合し得る場合に、以前のキューマージデータと今回要求された記録データとを結合して記録マージバッファに格納した状態を示す。さらに、ライトマージデータとキューマージデータとの隙間を埋めるような記録命令をホスト装置から受けた場合、ライトマージデータと記録データとキューマージデータとを結合して記録マージバッファに格納した状態を示したのが図15(d)である。従って、完全にシーケンシャルな記録要求でなくても、局所的に集中する記録命令であれば、これらの記録命令を1つにまとめて媒体への記録処理を行うことができる。
【0038】
以上説明したように、本発明の第五の実施例において、ホスト装置から局所的に集中した記録要求を受けた場合に、これらをまとめて1つの記録要求に変換することにより、媒体への記録処理自体を高速化することができる。
【0039】
【発明の効果】
以上説明したように、本発明の第一の実施例において、ホスト装置から再生要求された最終ブロックを中心に履歴データと先読データを一元管理することができる。また先読データを常に所定量に保つこともできる。また、本発明の第二の実施例において、ホスト装置が情報記録再生装置に記録要求を行った場合に、先読み動作中にホスト装置から記録要求されても即座に記録動作を開始すると共に、媒体から再生したデータとホスト装置から送られた記録データの両方をキャッシュデータとすることができる。さらに、本発明の第三の実施例において、媒体への記録中にホスト装置へから再生要求を受けた場合に、媒体への記録処理とホスト装置への再生処理を並行して行うことができる。また、本発明の第四の実施例において、ホスト装置からシーケンシャルな記録要求を受けた場合に、これらをまとめて1つの記録要求に変換することにより、媒体への記録処理自体を高速化することができる。さらに、本発明の第五の実施例において、ホスト装置から局所的に集中した記録要求を受けた場合に、これらをまとめて1つの記録要求に変換することにより、媒体への記録処理自体を高速化することができる。
【図面の簡単な説明】
【図1】本発明の第一、第二、第三の実施例における情報記録再生装置の構成図
【図2】本発明の第一、第二、第三の実施例におけるキャッシュ管理の概念図
【図3】本発明の第一、第二、第三の実施例におけるリングバッファ管理の概念図
【図4】本発明の第一の実施例におけるデータキャッシュ方法のフローチャート
【図5】本発明の第一の実施例におけるデータキャッシュ方法の動作を説明する概念図
【図6】本発明の第二の実施例におけるデータキャッシュ方法のフローチャート
【図7】本発明の第二の実施例におけるデータキャッシュ方法の動作を説明する概念図
【図8】本発明の第三の実施例におけるデータキャッシュ方法のフローチャート
【図9】本発明の第三の実施例におけるデータキャッシュ方法の動作を説明する概念図
【図10】本発明の第四、第五の実施例における情報記録再生装置の構成図
【図11】本発明の第四、第五の実施例におけるキャッシュ管理の概念図
【図12】本発明の第四の実施例におけるデータキャッシュ方法のフローチャート
【図13】本発明の第四の実施例におけるデータキャッシュ方法の動作を説明する概念図
【図14】本発明の第五の実施例におけるデータキャッシュ方法のフローチャート
【図15】本発明の第五の実施例におけるデータキャッシュ方法の動作を説明する概念図
【図16】円盤状の情報記録媒体のレイアウト図
【図17】光ディスク装置の記録動作のフローチャート
【符号の説明】
1 情報記録再生装置
2 ホスト装置
3 コントローラ装置
4 ドライブ装置
5 ホストIFバス
6 ドライブIFバス
7 内部バス
8 ホストIF回路
9 ドライブIF回路
10 ECC回路
11 CPU
12 先読履歴バッファ
13 キャッシュ管理情報
201 情報記録再生装置
203 コントローラ装置
211 CPU
212 記録マージバッファ
213 記録キャッシュ管理情報
Claims (18)
- ホスト装置に接続されて、円盤状の情報記録媒体を用いてブロック単位に情報を記録再生する情報記録再生装置であって、
ホスト装置から再生要求された最終ブロックを中心に、最終ブロックよりも以前のブロックのデータを履歴データとし、最終ブロックよりも先のブロックのデータを先読データとして管理するキャッシュ管理手段と、
前記履歴データと前記先読データを格納するデータバッファと、
前記先読データを所定量に保つキャッシュ維持手段とを備えたことを特徴とする情報記録再生装置。 - ホスト装置に接続されて、円盤状の情報記録媒体を用いてブロック単位に情報を記録再生する情報記録再生装置であって、
ホスト装置から再生要求された最終ブロックを中心に、最終ブロックよりも以前のブロックのデータを履歴データとし、最終ブロックよりも先のブロックのデータを先読データとし、ホスト装置から記録要求されたブロックのデータを履歴データとして管理するキャッシュ管理手段と、
前記履歴データと前記先読データを格納するデータバッファと、
前記先読データを所定量に保つキャッシュ維持手段と、
前記キャッシュ維持手段が媒体から先読み動作中にホスト装置から記録要求を受けた場合、先読み動作を中止して中止したまでの先読データを求める先読中止手段と、
既存する前記履歴データと前記先読データの中で、ホスト装置から記録要求されたブロックは、ホスト装置から送られるデータによって前記データバッファと前記情報記録媒体を更新する記録データ挿入手段とを備えたことを特徴とする情報記録再生装置。 - ホスト装置に接続されて、円盤状の情報記録媒体を用いてブロック単位に情報を記録再生する情報記録再生装置であって、
ホスト装置から記録要求されたブロックのデータを履歴データとして管理するキャッシュ管理手段と、
前記履歴データを格納するデータバッファと、
前記情報記録媒体に前記履歴データを記録中にホスト装置から再生要求された場合に、前記再生要求された全てのブロックのデータが、前記履歴データに含まれるか否かを判断する完全ヒット判定手段と、
前記完全ヒット判定手段が含まれると判断した場合に、前記再生要求された中で前記履歴データに含まれる再生要求ブロックをホスト装置に送ることを前記記録中に行う並行転送手段とを備えたことを特徴とする情報記録再生装置。 - ホスト装置に接続されて、円盤状の情報記録媒体を用いてブロック単位に情報を記録再生する情報記録再生装置であって、
ホスト装置から再生要求された最終ブロックを中心に、最終ブロックよりも以前のブロックのデータを履歴データとし、最終ブロックよりも先のブロックのデータを先読データとし、ホスト装置から記録要求されたブロックのデータを履歴データとして管理するキャッシュ管理手段と、
前記履歴データと前記先読データを格納するデータバッファと、
前記先読データを所定量に保つキャッシュ維持手段と、
前記キャッシュ維持手段が媒体から先読み動作中にホスト装置から記録要求を受けた場合、先読み動作を中止して中止したまでの先読データを求める先読中止手段と、
既存する前記履歴データと前記先読データの中で、ホスト装置から記録要求されたブロックは、ホスト装置から送られるデータによって前記データバッファのデータと前記情報記録媒体のデータを更新する記録データ挿入手段と、
前記情報記録媒体に前記履歴データを記録中にホスト装置から再生要求された場合に、前記再生要求された中で前記履歴データと前記先読データに含まれる再生要求ブロックをホスト装置に送ることを前記記録中に行う並行転送手段とを備えたことを特徴とする情報記録再生装置。 - ホスト装置に接続されて、円盤状の情報記録媒体を用いてブロック単位に情報を記録再生する情報記録再生装置であって、
ホスト装置から記録要求されたブロックのデータを格納するデータバッファと、
ホスト装置から記録要求されたブロックのデータを前記データバッファに格納した時点でホスト装置に記録動作の完了を報告し、引き続き情報記録媒体に記録動作を行うライトバック手段と、
前記ライトバック手段による媒体の記録動作中にホスト装置から記録要求されたブロックが媒体記録中のブロックと連続する場合、前記データバッファ上にも連続して格納するとともに、連続して格納されたブロックを一括して媒体に記録するライトマージ手段とを備えたことを特徴とする情報記録再生装置。 - ホスト装置に接続されて、円盤状の情報記録媒体を用いてブロック単位に情報を記録再生する情報記録再生装置であって、
ホスト装置から記録要求されたブロックのデータを格納するデータバッファと、
ホスト装置から記録要求されたブロックのデータを前記データバッファに格納した時点でホスト装置に記録動作の完了を報告し、引き続き情報記録媒体に記録動作を行うライトバック手段と、
前記ライトバック手段による媒体の記録動作中にホスト装置から記録要求されたブロックが媒体記録中のブロックと連続する場合、前記データバッファ上にも連続して格納するとともに、連続して格納されたブロックを一括して媒体に記録するライトマージ手段と、
前記ライトバック手段による媒体の記録動作中にホスト装置から記録要求されたブロックが媒体記録中のブロックと不連続の場合、媒体上と同一相対位置にある前記データバッファ上の領域に格納し、媒体への記録動作が保留であることを管理するライトキュー管理手段と、
ホスト装置から記録要求されたブロックが前記ライトキュー管理手段が管理するブロックと連続する場合、前記データバッファ上にも連続して格納するキューマージ手段と、
前記ライトバック手段による媒体の記録動作が完了した時点で、前記ライトキュー管理手段が媒体への記録動作を保留しているデータを、前記ライトバック手段により媒体への記録動作を行うキューバック移行手段とを備えたことを特徴とする情報記録再生装置。 - 前記データバッファは、前記データバッファの最終アドレスの次を先頭アドレスへ折り返したリングバッファとして用いられることを特徴とする請求項1、2、3、4のいずれかに記載の情報記録再生装置。
- 前記キャッシュ維持手段は、前記先読データを前記データバッファの総量の整数分の1に等しい量に保つことを特徴とする請求項1、2、4のいずれかに記載の情報記録再生装置。
- 前記キャッシュ維持手段は、前記先読データを情報記録媒体の1回転分のブロック数の整数倍に等しい量に保つことを特徴とする請求項1、2、4のいずれかに記載の情報記録再生装置。
- ホスト装置に接続されて、円盤状の情報記録媒体を用いてブロック単位に情報を記録再生する情報記録再生装置のデータキャッシュ方法であって、
(a)ホスト装置から再生要求された最終ブロックを中心に、最終ブロックよりも以前のブロックのデータを履歴データとし、最終ブロックよりも先のブロックのデータを先読データとしてデータバッファに格納し管理するキャッシュ管理ステップと、
(b)前記先読データを所定量に保つキャッシュ維持ステップとからなるデータキャッシュ方法。 - ホスト装置に接続されて、円盤状の情報記録媒体を用いてブロック単位に情報を記録再生する情報記録再生装置のデータキャッシュ方法であって、
(a)ホスト装置から再生要求された最終ブロックを中心に、最終ブロックよりも以前のブロックのデータを履歴データとし、最終ブロックよりも先のブロックのデータを先読データとし、ホスト装置から記録要求されたブロックのデータを履歴データとしてデータバッファに格納し管理するキャッシュ管理ステップと、
(b)前記先読データを所定量に保つキャッシュ維持ステップと、
(c)前記キャッシュ維持手段が媒体から先読み動作中にホスト装置から記録要求を受けた場合、先読み動作を中止して中止したまでの先読データを求める先読中止ステップと、
(d)既存する前記履歴データと前記先読データの中で、ホスト装置から記録要求されたブロックは、ホスト装置から送られるデータによってデータバッファと前記情報記録媒体を更新する記録データ挿入ステップとからなるデータキャッシュ方法。 - ホスト装置に接続されて、円盤状の情報記録媒体を用いてブロック単位に情報を記録再生する情報記録再生装置のデータキャッシュ方法であって、
(a)ホスト装置から記録要求されたブロックのデータを履歴データとしてデータバッファに格納し管理するキャッシュ管理ステップと、
(b)前記情報記録媒体に前記履歴データを記録中にホスト装置から再生要求された場合に、前記再生要求された全てのブロックのデータが、前記履歴データに含まれるか否かを判断する完全ヒット判定ステップと、
(c)前記完全ヒット判定ステップが含まれると判断した場合に、前記再生要求された中で前記履歴データに含まれる再生要求ブロックをホスト装置に送ることを前記記録中に行う並行転送ステップとからなるデータキャッシュ方法。 - ホスト装置に接続されて、円盤状の情報記録媒体を用いてブロック単位に情報を記録再生する情報記録再生装置のデータキャッシュ方法であって、
(a)ホスト装置から再生要求された最終ブロックを中心に、最終ブロックよりも以前のブロックのデータを履歴データとし、最終ブロックよりも先のブロックのデータを先読データとし、ホスト装置から記録要求されたブロックのデータを履歴データとしてデータバッファに格納し管理するキャッシュ管理ステップと、
(b)前記先読データを所定量に保つキャッシュ維持ステップと、
(c)前記キャッシュ維持手段が媒体から先読み動作中にホスト装置から記録要求を受けた場合、先読み動作を中止して中止したまでの先読データを求める先読中止ステップと、
(d)既存する前記履歴データと前記先読データの中で、ホスト装置から記録要求されたブロックは、ホスト装置から送られるデータによってデータバッファと前記情報記録媒体を更新する記録データ挿入ステップと、
(e)前記情報記録媒体に前記履歴データを記録中にホスト装置から再生要求された場合に、前記再生要求された中で前記履歴データと前記先読データに含まれる再生要求ブロックをホスト装置に送ることを前記記録中に行う並行転送ステップとからなるデータキャッシュ方法。 - ホスト装置に接続されて、円盤状の情報記録媒体を用いてブロック単位に情報を記録再生する情報記録再生装置のデータキャッシュ方法であって、
(a)ホスト装置から記録要求されたブロックをデータバッファに格納した時点でホスト装置に記録動作の完了を報告し、引き続き情報記録媒体に記録動作を行うライトバックステップと、
(b)前記ライトバックステップによる媒体の記録動作中にホスト装置から記録要求されたブロックが媒体記録中のブロックと連続する場合、データバッファ上にも連続して格納するとともに、連続して格納されたブロックを一括して媒体に記録するライトマージステップとからなるデータキャッシュ方法。 - ホスト装置に接続されて、円盤状の情報記録媒体を用いてブロック単位に情報を記録再生する情報記録再生装置のデータキャッシュ方法であって、
(a)ホスト装置から記録要求されたブロックをデータバッファに格納した時点でホスト装置に記録動作の完了を報告し、引き続き情報記録媒体に記録動作を行うライトバックステップと、
(b)前記ライトバックステップによる媒体の記録動作中にホスト装置から記録要求されたブロックが媒体記録中のブロックと連続する場合、データバッファ上にも連続して格納するとともに、連続して格納されたブロックを一括して媒体に記録するライトマージステップと、
(c)前記ライトバックステップによる媒体の記録動作中にホスト装置から記録要求されたブロックが媒体記録中のブロックと不連続の場合、媒体上と同一相対位置にあるデータバッファ上の領域に格納し、媒体への記録動作が保留であることを管理するライトキュー管理ステップと、
(d)ホスト装置から記録要求されたブロックが前記ライトキュー管理ステップが管理するブロックと連続する場合、データバッファ上にも連続して格納するキューマージステップと、
(e)前記ライトバックステップによる媒体の記録動作が完了した時点で、前記ライトキュー管理ステップが媒体への記録動作を保留しているデータを、前記ライトバックステップにより媒体への記録動作を行うキューバック移行ステップとからなるデータキャッシュ方法。 - 前記キャッシュ管理ステップは、前記データバッファの最終アドレスの次を先頭アドレスへ折り返したリングバッファとして用いることを特徴とする請求項10、11、12、13のいずれかに記載のデータキャッシュ方法。
- 前記キャッシュ維持ステップは、前記先読データを前記データバッファの総量の整数分の1に等しい量に保つことを特徴とする請求項10、11、13のいずれかに記載のデータキャッシュ方法。
- 前記キャッシュ維持ステップは、前記先読データを情報記録媒体の1回転分のブロック数の整数倍に等しい量に保つことを特徴とする請求項10、11、13のいずれかに記載のデータキャッシュ方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP12907494A JP3586887B2 (ja) | 1994-06-10 | 1994-06-10 | 情報記録再生装置およびデータキャッシュ方法 |
US08/475,516 US5983319A (en) | 1994-06-10 | 1995-06-07 | Information recording and reproduction apparatus and a method of data caching including read-ahead capability |
US08/756,759 US5875455A (en) | 1994-06-10 | 1996-11-26 | Information recording and reproducing apparatus merging sequential recording requests into a single recording request, and method of data caching for such apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP12907494A JP3586887B2 (ja) | 1994-06-10 | 1994-06-10 | 情報記録再生装置およびデータキャッシュ方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH07334426A JPH07334426A (ja) | 1995-12-22 |
JP3586887B2 true JP3586887B2 (ja) | 2004-11-10 |
Family
ID=15000440
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP12907494A Expired - Lifetime JP3586887B2 (ja) | 1994-06-10 | 1994-06-10 | 情報記録再生装置およびデータキャッシュ方法 |
Country Status (2)
Country | Link |
---|---|
US (2) | US5983319A (ja) |
JP (1) | JP3586887B2 (ja) |
Families Citing this family (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6292878B1 (en) * | 1996-12-12 | 2001-09-18 | Matsushita Electric Industrial Co., Ltd. | Data recorder and method of access to data recorder |
JPH10269027A (ja) * | 1997-03-26 | 1998-10-09 | Toshiba Corp | ディスク装置及び同装置におけるバッファ管理制御方法 |
US6141493A (en) * | 1997-11-04 | 2000-10-31 | Chen; Meng-Chang | Filing of variable-bit-rate video information on zoned disks |
JPH11143643A (ja) * | 1997-11-06 | 1999-05-28 | Sony Corp | 再生装置、及びキャッシュ処理方法 |
US6247107B1 (en) * | 1998-04-06 | 2001-06-12 | Advanced Micro Devices, Inc. | Chipset configured to perform data-directed prefetching |
JPH11316709A (ja) * | 1998-05-01 | 1999-11-16 | Nec Corp | ディスク制御装置及び方法 |
WO2000067255A1 (fr) * | 1999-04-30 | 2000-11-09 | Fujitsu Limited | Unite de disques |
JP4277386B2 (ja) * | 1999-10-04 | 2009-06-10 | ソニー株式会社 | 記録再生装置 |
US6651113B1 (en) * | 1999-12-22 | 2003-11-18 | Intel Corporation | System for writing data on an optical storage medium without interruption using a local write buffer |
US6789163B2 (en) | 2001-09-17 | 2004-09-07 | Seagate Technology Llc | Optimizing data transfer performance through partial write command purging in a disc drive |
US6732292B2 (en) | 2001-09-17 | 2004-05-04 | Seagate Technology Llc | Adaptive bi-directional write skip masks in a data storage device |
US6957300B2 (en) * | 2001-11-30 | 2005-10-18 | Seagate Technology Llc | Reducing delay of command completion due to overlap condition |
US6968423B2 (en) * | 2002-02-05 | 2005-11-22 | Seagate Technology Llc | Dynamic data access pattern detection in a block data storage device |
JP3898968B2 (ja) | 2002-03-15 | 2007-03-28 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 情報記録方法および情報記録システム |
US6934802B2 (en) * | 2002-04-19 | 2005-08-23 | Seagate Technology Llc | Band detection and performance optimization for a data storage device |
US20030200386A1 (en) * | 2002-04-19 | 2003-10-23 | Seagate Technology Llc | Data retention prioritization for a data storage device |
JP4549038B2 (ja) * | 2003-07-08 | 2010-09-22 | 三洋電機株式会社 | デジタル情報の再生方法及びデジタル情報記録又は再生装置 |
US7173863B2 (en) | 2004-03-08 | 2007-02-06 | Sandisk Corporation | Flash controller cache architecture |
JP4439384B2 (ja) * | 2004-12-03 | 2010-03-24 | 株式会社ソニー・コンピュータエンタテインメント | バッファリング装置およびメモリ装置の利用方法 |
JP4439385B2 (ja) * | 2004-12-03 | 2010-03-24 | 株式会社ソニー・コンピュータエンタテインメント | バッファリング装置およびバッファリング方法 |
US7761659B2 (en) * | 2006-06-30 | 2010-07-20 | Seagate Technology Llc | Wave flushing of cached writeback data to a storage array |
US8234457B2 (en) * | 2006-06-30 | 2012-07-31 | Seagate Technology Llc | Dynamic adaptive flushing of cached data |
JP4941737B2 (ja) * | 2007-04-27 | 2012-05-30 | ソニー株式会社 | 記録装置および方法、並びに、プログラム |
US8296530B1 (en) * | 2008-06-30 | 2012-10-23 | Emc Corporation | Methods, systems, and computer readable media for optimizing the number of client write requests to virtually provisioned logical units of a physical data storage array |
JP2016028319A (ja) * | 2014-07-08 | 2016-02-25 | 富士通株式会社 | アクセス制御プログラム、アクセス制御装置及びアクセス制御方法 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3737881A (en) * | 1972-04-13 | 1973-06-05 | Ibm | Implementation of the least recently used (lru) algorithm using magnetic bubble domains |
US5537552A (en) * | 1990-11-27 | 1996-07-16 | Canon Kabushiki Kaisha | Apparatus for selectively comparing pointers to detect full or empty status of a circular buffer area in an input/output (I/O) buffer |
US5239640A (en) * | 1991-02-01 | 1993-08-24 | International Business Machines Corporation | Data storage system and method including data and checksum write staging storage |
WO1992015053A1 (en) * | 1991-02-19 | 1992-09-03 | International Business Machines Corporation | Data transfer within a data storage subsystem |
US5293609A (en) * | 1991-04-19 | 1994-03-08 | International Business Machines Corporation | Hit-density-based replacement for data cache with prefetching |
JP3080758B2 (ja) * | 1992-03-30 | 2000-08-28 | 株式会社東芝 | 磁気ディスク装置 |
JP2845658B2 (ja) * | 1992-03-30 | 1999-01-13 | 株式会社東芝 | データ記録再生装置のアクセス制御装置 |
US5381528A (en) * | 1992-10-15 | 1995-01-10 | Maxtor Corporation | Demand allocation of read/write buffer partitions favoring sequential read cache |
US5590307A (en) * | 1993-01-05 | 1996-12-31 | Sgs-Thomson Microelectronics, Inc. | Dual-port data cache memory |
US5584007A (en) * | 1994-02-09 | 1996-12-10 | Ballard Synergy Corporation | Apparatus and method for discriminating among data to be stored in cache |
US5566317A (en) * | 1994-06-14 | 1996-10-15 | International Business Machines Corporation | Method and apparatus for computer disk drive management |
-
1994
- 1994-06-10 JP JP12907494A patent/JP3586887B2/ja not_active Expired - Lifetime
-
1995
- 1995-06-07 US US08/475,516 patent/US5983319A/en not_active Expired - Lifetime
-
1996
- 1996-11-26 US US08/756,759 patent/US5875455A/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPH07334426A (ja) | 1995-12-22 |
US5983319A (en) | 1999-11-09 |
US5875455A (en) | 1999-02-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3586887B2 (ja) | 情報記録再生装置およびデータキャッシュ方法 | |
JP3697149B2 (ja) | キャッシュ・メモリを管理する方法 | |
JP3898782B2 (ja) | 情報記録再生装置 | |
JP3183993B2 (ja) | ディスク制御システム | |
US20070214325A1 (en) | Data storage device and method thereof | |
JP2003131942A (ja) | ハードディスク装置のキャッシュを制御する方法および装置 | |
JPH0664838B2 (ja) | 光デイスクファイル装置 | |
US5420983A (en) | Method for merging memory blocks, fetching associated disk chunk, merging memory blocks with the disk chunk, and writing the merged data | |
JP3568110B2 (ja) | キャッシュメモリの制御方法、コンピュータシステム、ハードディスクドライブ装置およびハードディスク制御装置 | |
KR19980029917A (ko) | 자기 디스크 드라이브에서 읽기 캐쉬의 성능을 높이기 위한 방법 | |
JPH07225715A (ja) | キャッシュ内のデータにアクセスする方法およびシステム | |
JP4461089B2 (ja) | ストレージ制御装置およびストレージ制御方法 | |
US6532513B1 (en) | Information recording and reproduction apparatus | |
JP5605043B2 (ja) | データコピー装置、データコピー方法およびストレージ装置 | |
JP3969809B2 (ja) | 記憶装置におけるデータバッファの管理方法 | |
JPH11212733A (ja) | 外部記憶システム | |
JP2000285022A (ja) | ディスク制御装置 | |
JPH0519981A (ja) | 光デイスク装置のデータ書込み正常終了判定方法 | |
JPH04311216A (ja) | 外部記憶制御装置 | |
JP3080521B2 (ja) | ディスク装置 | |
JP2973474B2 (ja) | 光磁気ディスク装置 | |
JP3083530B2 (ja) | キャッシュメモリのデータ管理方法およびキャッシュ制御装置 | |
JPH07295916A (ja) | ディスク制御方式 | |
JPH0612328A (ja) | キャッシュメモリのデータ蓄積方法 | |
JP2001209577A (ja) | 情報記録再生装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20040120 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040219 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20040311 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20040720 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040802 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20070820 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080820 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080820 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090820 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090820 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100820 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110820 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110820 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120820 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130820 Year of fee payment: 9 |
|
EXPY | Cancellation because of completion of term |