JPH07334426A - 情報記録再生装置およびデータキャッシュ方法 - Google Patents
情報記録再生装置およびデータキャッシュ方法Info
- Publication number
- JPH07334426A JPH07334426A JP6129074A JP12907494A JPH07334426A JP H07334426 A JPH07334426 A JP H07334426A JP 6129074 A JP6129074 A JP 6129074A JP 12907494 A JP12907494 A JP 12907494A JP H07334426 A JPH07334426 A JP H07334426A
- Authority
- JP
- Japan
- Prior art keywords
- data
- block
- recording
- medium
- 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.)
- Granted
Links
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)
Abstract
ッファ12を備え、ホスト装置2から再生要求される度
に再生要求された最終ブロック以降の先読データを所定
量に保つように先読み動作を行い、ホスト装置2が既に
要求したデータの内で先読み動作で上書きされていない
データを履歴データとして扱うことにより、キャッシュ
データとして常にホスト装置2が再生要求した最終ブロ
ックを中心に前後のデータを保持する。
Description
に対してブロック単位に記録再生する情報記録再生装置
であり、特に、履歴キャッシュと先読キャッシュの両方
の機能を有する情報記録再生装置である。
み、その外部記憶装置(例えばハードディスク装置や光
ディスク装置などの情報記録再生装置)との速度ギャッ
プが開きつつある。このギャップを埋めるために、外部
記憶装置はより高速になってきており、その方法には大
きく分けて2つある。1つは、記録媒体の回転数を上げ
たり、記憶媒体の目的トラックにヘッドを移動するシー
ク時間を短縮したりした物理的に高速化である。もう1
つは、装置内部に半導体メモリからなるバッファを持
ち、ホストコンピュータから要求されたデータをバッフ
ァに存在していれば、記録媒体にアクセスせずにバッフ
ァ上のデータを転送する等のデータキャッシュ機能によ
る論理的な高速化である。
るリードキャッシュと、記録動作を速くするライトキャ
ッシュとがある。さらに、リードキャッシュには、以前
にホストコンピュータから要求されたデータをキャッシ
ュデータとする履歴型と、以前にホストコンピュータか
ら要求されたデータの次のデータを前もって読み出して
キャッシュデータとする先読型とがある。
分野で高速・低容量メモリ〜低速・大容量メモリの階層
構造が全体として高速・大容量メモリとなるように、古
くから研究されている。この履歴型リードキャッシュの
アルゴリズムとして有名なのが、コードらによって米国
特許第3,737,881に示されたLRU(Least RecentlyUs
e)アルゴリズムであろう。LRUアルゴリズムは、高
速なメモリを複数の小領域に分割し(この分割された小
領域をページと呼ぶ)、要求されたデータがどのページ
にもなければ(ミスヒットと呼ぶ)、最も古くアクセス
されたページのデータを破棄して、そのページに低速な
メモリからの情報を格納するものである。これは、コン
ピュータが参照したデータを再び参照する確率が高いこ
とに起因する。LRUアルゴリズムに関わらず、どの履
歴型リードキャッシュも1つ以上のページを持つことは
共通で、ミスヒットした場合にどのページのデータを破
棄するかが異なるものである。
ウト図である。情報記録媒体は同心円状(もしくは螺旋
状)の1回転分をトラック(図16のT0、T1、T
2)と呼ばれる。さらにトラックはセクタと呼ばれるブ
ロック単位(0〜15の番号が記入された扇形の領域)
に分割されている。情報記録媒体は回転方向が左回りな
らば、同心円上にならぶブロックは左回りにアクセスさ
れることになる。アクセス順にブロックには番号が付け
られるのが普通である。
ク装置等の円盤状の情報記録媒体を回転させて情報を記
録・再生する装置に対して、回転待ちを無くして再生動
作を高速にするものである。通常、コンピュータ上で稼
働するOS(Operation System)およびアプリケーショ
ンは、1つのファイルを読み出す場合に、一度にファイ
ル全体を再生要求せずに、ファイルの先頭から順番に小
さく区分した単位に再生要求する。この様なアクセス形
態をシーケンシャルアクセスと呼ぶ。例えば、ブロック
1から10までを1ブロック単位にシーケンシャルアク
セスされた場合を想定してみる。ブロック1を要求され
た直後、即ちブロック2を通過中にブロック2を要求さ
れるため、ほぼ1回転するまで待たなければならない。
従って、1ブロックを再生するために1回転を要するこ
とになり、ブロック1から10までを再生するためには
10回転が必要になる。そこで、ホストコンピュータか
ら要求されたときに、情報記録媒体から要求されたブロ
ックよりも先のブロックを前もって高速なメモリ(即ち
半導体メモリでできたデータバッファ)に読み出してお
く。次に要求されたブロックが前もって読み出していれ
ば(ヒットと呼ぶ)、情報記録媒体にアクセスすること
なくデータバッファのデータをホストコンピュータに転
送する。こうすれば、ブロック1から10までを再生す
るために1回転あれば充分である。最近では、先読型リ
ードキャッシュを備えた情報記録再生装置として、飯田
らによって特開平5−274090に示されている。シ
ーケンシャルアクセスは、連続するブロック数が多くな
るため、データバッファをリングバッファ(終端に到達
すると先端に折り返されるバッファ)として制御するこ
とが多い。
両方のリードキャッシュを備えた情報記録再生装置を得
るためには以下のようにする必要がある。(1)内部デ
ータバッファを2分割して、一方を履歴キャッシュデー
タ領域とし他方を先読キャッシュデータ領域とする。 (2)各キャッシュデータ領域に、それぞれ履歴型と先
読型のアルゴリズムを当てはめる。 (3)次の要求が同ブロックか次ブロックかを予測し
て、どちらを適用するか判断する。 但し、履歴型と先読型のアルゴリズムが全く異なるた
め、(1)では固定した境界で2分割する必要がある。
ものにライトスルーキャッシュとライトバックキャッシ
ュとがある。ライトスルーキャッシュとライトバックキ
ャッシュは、低速メモリの更新内容が高速メモリに反映
され、更新された内容を参照する場合に高速メモリがア
クセスされる点は同一で、低速メモリの更新が終わるま
で待たされるのがライトスルーキャッシュで、低速メモ
リの更新が終わるのを待たないのがライトバックキャッ
シュである。従って、双方のキャッシュで情報の参照時
間が短縮されるが、情報の更新時間が短縮されるのはラ
イトバックキャッシュだけである。
円盤状の情報記録媒体を回転させて情報を記録再生する
装置は、1セクタの記録が要求された場合、目的のセク
タが存在するトラックへ移動するシークと、目的のセク
タの頭出しをする回転待ち時間が必要になる。特に、光
ディスク装置では、記録前に消去し、記録後に検証再生
するため余計に時間がかかる。図17は、光ディスク装
置の記録動作を示したものである。 (Q1)目的トラックへシークする。 (Q2)目的セクタまでの回転待ち(平均1/2回
転)。 (Q3)1セクタ消去する。 (Q4)目的セクタまでの回転待ち(1回転)。 (Q5)1セクタ記録する。 (Q6)目的セクタまでの回転待ち(1回転)。 (Q7)1セクタ検証再生する。
均2回転半の回転待ち時間+シーク時間を要するため、
ホスト装置と光ディスク装置をつなぐバスの速度に比べ
て非常に低速である。従って、光ディスク装置内のデー
タバッファに記録データが格納された時点でホスト装置
には記録動作が完了したと通知し、その後にデータバッ
ファ上の記録データを光ディスクに記録するライトバッ
クキャッシュ機能により、ホスト装置から見た速度は高
速化される。ハードディスクでは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によって接続されたホストI
F回路8とドライブIF回路9とECC回路10とCP
U11と先読履歴バッファ12と、キャッシュ管理情報
13によって構成されている。CPU11は、内部に格
納されたプログラムに従って、ホストIF回路8を用い
てホストIFバス5を制御し、ドライブIF回路9を用
いてドライブIFバス6を制御し、ECC回路10を用
いてエラー訂正を行い、先読履歴バッファ12に格納さ
れたデータをキャッシュ管理情報13を用いてキャッシ
ュデータとして管理する。
例におけるキャッシュ管理の概念図で、CPU11がキ
ャッシュ管理情報13を用いて先読履歴バッファ12の
データをキャッシュデータとして管理することを説明す
るために用意した図である。キャッシュ管理情報13
は、先読履歴バッファ12に最初に格納されたブロック
に対する情報記録媒体上の位置を示すSTA_BAと、
先読履歴バッファ12に先読データによって破壊されて
いない履歴データの先頭ブロックの媒体上の位置を示す
HIS_BAと、先読履歴バッファ12の総容量をブロ
ック単位で示すBUF_LNGと、STA_BAを先頭
に情報記録媒体から再生したブロック数を示すRW_L
NGと、STA_BAを先頭にホストから要求された最
終ブロックまでのブロック数を示すHIS_LNGから
構成される。先読履歴バッファ12の内、右上がりの斜
線で塗りつぶされた領域が履歴データで、左上がりの斜
線で塗りつぶされた領域が先読データである。先読デー
タの先頭位置はHIS_BA+HIS_LNGで、先読
データのブロック数はRW_LNG−HIS_LNGと
なる。先読履歴バッファ12がリングバッファとして一
周以上使用されていない場合、履歴データの先頭位置H
IS_BAはSTA_BAに等しく、履歴データのブロ
ック数はHIS_LNGとなる。
例におけるリングバッファ管理の概念図で、先読履歴バ
ッファ12がリングバッファとして用いた場合における
キャッシュデータの管理を説明するために用意した図で
ある。図3(a)で示されるように、先読履歴バッファ
12は論理的に末端が先頭に折り返されてリング状のバ
ッファとして機能する。このとき、ホスト装置2から要
求された最終ブロックはSTA_BA+HIS_BA
で、この境界よりも後ろが履歴データで前が先読データ
である。図3(b)は、リング状の先読履歴バッファ1
2の展開図である。情報記録媒体から再生した総ブロッ
ク数RW_LNGが、先読履歴バッファ12の総ブロッ
ク数BUF_LNGを越えた場合、履歴データの一部は
先読データによって上書きされる。先読履歴バッファ1
2をプレーン状に戻した場合、情報記録媒体から再生し
た最終ブロックが格納されている位置は、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+H
IS_LNGからSTA_BA+RW_LNGまでとな
る。また、先読履歴バッファ12でデータが有効なブロ
ックのプレーン状での位置は、STA_BAからの差分
ブロック数をBUF_LNGで割った剰余より求めるこ
とができる。
ータキャッシュ方法のフローチャートである。ホスト装
置が情報記録再生装置に再生要求を行った場合に、再生
要求された最終ブロックを中心に履歴データと先読デー
タとを管理し、所定量(ここでは先読履歴バッファの総
容量の半分)の先読データを保持する動作について説明
する。ホスト装置が再生要求した先頭ブロック位置をR
EQ_BA、ブロック数をREQ_LNGとする。 (D1)ホスト装置が再生要求した先頭ブロックがキャ
ッシュされていればD2へ、そうでなければD5へ分岐
する。先頭ブロックがキャッシュされている条件は、H
IS_BA≦REQ_BA<STA_BA+RW_LN
Gになる。 (D2)先読データを所定量に保つために必要な読み足
しブロック数を求める。読み足しブロック数ADD_L
NGは、ホスト装置が再生要求した最終ブロック(RE
Q_BA+REQ_LNG)から以前にホスト装置が再
生要求した最終ブロック(STA_BA+HIS_LN
G)を差し引いたブロック数になる。 (D3)先読データを所定量に保つために媒体からの読
み足しが必要ならばD4へ、そうでなければD7へ分岐
する。読み足しが必要である条件は、読み足しブロック
数ADD_LNG>0になる。 (D4)媒体から読み足すことによるキャッシュ情報の
更新を行う。RW_LNGおよびHIS_LNGは、そ
れぞれADD_LNGを加えたものになり、HIS_B
Aは、STA_BAとSTA_BA+RW_LNG−B
UF_LNGの内で大きい方になる。 (D5)ホスト装置が再生要求したブロックとそれに引
き続いた所定量(先読履歴バッファの総容量の半分)の
先読みを行うようにキャッシュ情報を初期化する。ST
A_BAはREQ_BAに、ADD_LNGおよびRW
_LNGはREQ_LNG+BUF_LNG/2に、H
IS_LNGはREQ_LNGに、HIS_BAは、S
TA_BAとSTA_BA+RW_LNG−BUF_L
NGの内で大きい方になる。 (D6)媒体から先読履歴バッファにデータを読み足
す。 (D7)ホスト装置に再生要求されたブロックのデータ
を送る。
ータキャッシュ方法の動作を説明する概念図である。図
5(a)は、ホスト装置から再生要求されたブロックが
キャッシュにミスヒットした場合に、キャッシュ情報が
初期化されて媒体から再生されたデータが先読履歴バッ
ファに格納された状態を示す。この状態でホスト装置か
ら履歴データと先読データにまたがる再生要求を受けた
場合に、キャッシュ情報が更新され媒体から読み足され
たデータが先読履歴バッファに格納された状態を示すの
が図5(b)である。図5(c)は、この状態でホスト
装置から履歴データのみに再生要求を受けた場合に、キ
ャッシュ情報が更新されず媒体からの読み足しも行われ
ないため、先読履歴バッファの状態が変化しないことを
示す。従って、図5(b)と図5(c)の先読履歴バッ
ファの状態は同一である。さらに、この状態でホスト装
置から先読データのみに再生要求を受けた場合は、キャ
ッシュ情報が更新され媒体から読み足されたデータがリ
ング状に折り返して履歴データの一部を上書きした状態
を示したものが図5(d)である。図5(d)におい
て、HIS_BAよりも左に位置していた履歴データは
有効でなくなる。
例において、ホスト装置から再生要求された最終ブロッ
クを中心に履歴データと先読データを一元管理すること
ができる。また先読データを常に所定量に保つこともで
きる。
ータキャッシュ方法のフローチャートである。ホスト装
置が情報記録再生装置に記録要求を行った場合に、先読
み動作中にホスト装置から記録要求されても即座に記録
動作を開始すると共に、媒体から再生したデータとホス
ト装置から送られた記録データの両方をリードキャッシ
ュデータとする動作について説明する。ホスト装置が記
録要求した先頭ブロック位置をREQ_BA、ブロック
数をREQ_LNGとする。また、媒体から最後に再生
したブロック位置END_BAは、ドライブIF回路9
により求められるものとする。 (F1)媒体から先読データを再生中の場合F2へ、そ
うでなければF4へ分岐する。 (F2)媒体からの先読み動作を中止する。 (F3)先読み動作を中止したことによりキャッシュ情
報を修正する。媒体から再生した総ブロック数RW_L
NGは最後に再生したブロック位置END_BAから最
初に再生したブロック位置STA_BAの差に1を加え
た値に、HIS_BAはSTA_BAとSTA_BA+
RW_LNG−BUF_LNGの内で大きい方に修正さ
れる。 (F4)ホスト装置が記録要求した先頭ブロックがキャ
ッシュされていればF5へ、そうでなければF6へ分岐
する。先頭ブロックがキャッシュされている条件は、H
IS_BA≦REQ_BA<STA_BA+RW_LN
Gになる。 (F5)既存のキャッシュデータに記録データを履歴デ
ータとして加えるように、キャッシュ情報を更新する。
HIS_LNGおよびRW_LNGは、それぞれ自分自
身とREQ_BA+REQ_LNG−STA_BAの内
で大きい方になる。HIS_BAは、STA_BAとS
TA_BA+RW_LNG−BUF_LNGの内で大き
い方になる。 (F6)既存のキャッシュデータを破棄して、記録デー
タを履歴データとなるように、キャッシュ情報を初期化
する。STA_BAは、REQ_BAに等しくなる。H
IS_LNGおよびRW_LNGは、REQ_LNGに
等しくなる。HIS_BAは、STA_BAとSTA_
BA+RW_LNG−BUF_LNGの内で大きい方に
なる。 (F7)ホスト装置から記録データを受けて、先読履歴
バッファに格納する。 (F8)ホスト装置から受けた記録データを媒体に記録
する。
ータキャッシュ方法の動作を説明する概念図である。図
7(a1)は、以前にホスト装置から再生要求されて、
履歴データと先読データが先読履歴バッファに格納され
ている状態を示す。この状態でホスト装置から履歴デー
タと先読データにまたがる記録要求を受けた場合に、記
録データが履歴データとして既存のキャッシュデータを
更新した状態を示すのが図7(a2)である。図7(b
1)は、図7(a1)と同じ状態を示す。この状態でホ
スト装置から先読データを越える記録要求を受けた場合
に、記録データが履歴データとして既存のキャッシュデ
ータを更新した状態を示すのが図7(b2)である。
例において、ホスト装置が情報記録再生装置に記録要求
を行った場合に、先読み動作中にホスト装置から記録要
求されても即座に記録動作を開始すると共に、媒体から
再生したデータとホスト装置から送られた記録データの
両方をキャッシュデータとすることができる。
ータキャッシュ方法のフローチャートである。媒体への
記録中にホスト装置から再生要求を受けた場合に、媒体
への記録処理とホスト装置への再生処理を並行して行う
動作について説明する。ホスト装置が記録要求した先頭
ブロック位置をREQ_BA、ブロック数をREQ_L
NGとする。 (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+R
E_LNG−STA_BAの内で大きい方になる。HI
S_BAは、STA_BAとSTA_BA+RW_LN
G−BUF_LNGの内で大きい方になる。 (H4)ホスト装置へ再生要求されたブロックのデータ
を送る。 (H5)ライトバックキャッシュによる媒体への記録処
理が終了するのを待つ。
ータキャッシュ方法の動作を説明する概念図である。図
9(a)は、以前にホスト装置から再生要求されて、履
歴データと先読データが先読履歴バッファに格納され
て、その後ホスト装置から履歴データのみに含まれる領
域を記録要求されて、媒体へ記録している状態を示す。
この状態で、媒体へ記録中のデータを含む履歴データと
先読データにまたがって再生要求された場合に、再生要
求されたデータを履歴データとして管理した状態を示す
のが図9(b)である。
例において、媒体への記録中にホスト装置へから再生要
求を受けた場合に、媒体への記録処理とホスト装置への
再生処理を並行して行うことができると共に、媒体から
再生したデータとホスト装置から送られた記録データの
両方をキャッシュデータとすることができる。
スト装置からの見かけの速度を向上させるだけでなく、
媒体への記録処理自体を高速化するもので、その概念に
ついて補足説明を行う。円盤状の情報記録媒体を用いた
場合に、半導体メモリを用いた場合との差は、アクセス
する場所毎にそのアクセス時間が大きく異なることであ
る。従来技術の説明で述べた様に、コンピュータ上で稼
働するOS(Operation System)およびアプリケーショ
ンは、1つのファイルを読み出す場合に、ファイルの先
頭から順番に小さく区分した単位に再生要求する。この
様なアクセス形態をシーケンシャルアクセスと呼ぶが、
1つのファイルを書き込む場合も同様にシーケンシャル
アクセスをする。例えば図16において、ファイルがト
ラックT1のセクタ0から9に相当し、セクタ0から順
に1セクタ単位に記録要求されることになる。この場
合、図17で説明した光ディスク装置の記録処理の手順
から、ファイルを書き込むのに必要な時間を求めると、
最低でも3回転×10=30回転分となる。この時間
は、10セクタを一括で記録した時間(=3回転)に比
べて10倍にもなる。この時間比率はハードディスクで
も同じである。即ち、シーケンシャルアクセスの記録要
求を、まとめて1つの記録要求に変換することができれ
ば、媒体への記録処理自体を高速化することになる。
おける情報記録再生装置の構成図である。図10におい
て、図1と同じ構成要素については同一番号を付し詳細
な説明は省略する。図10において、201は情報記録
再生装置、203はコントローラ装置、211はCP
U、212は記録マージバッファ、213は記録キャッ
シュ管理情報である。CPU211は、内部に格納され
たプログラムに従って、ホストIF回路8を用いてホス
トIFバス5を制御し、ドライブIF回路9を用いてド
ライブIFバス6を制御し、ECC回路10を用いてエ
ラー訂正を行い、記録マージバッファ212に格納され
たデータを記録キャッシュ管理情報213を用いてキャ
ッシュデータとして管理する。
おけるキャッシュ管理の概念図で、CPU211が記録
キャッシュ管理情報213を用いて記録マージバッファ
212のデータをキャッシュデータとして管理すること
を説明するために用意した図である。記録キャッシュ管
理情報213は、記録マージバッファ212に最初に格
納されたブロックに対して情報記録媒体上のブロック位
置を示すSTA_BAと、記録マージバッファ212の
総容量をブロック単位で示すBUF_LNGと、媒体へ
記録中の先頭ブロック位置を示すMRG_BAと、媒体
へ記録中のブロック数を示すMRG_LNG、媒体への
記録が保留されている先頭ブロック位置を示すQUE_
BAと、媒体への記録が保留されているブロック数を示
すQUE_LNGから構成される。STA_BAとBU
F_LNGとMRG_BAとMRG_LNGとを合わせ
てライトマージ情報とし、QUE_BAとQUE_LN
Gとを合わせてキューマージ情報と呼ぶこととする。記
録マージバッファ212の内、右上がりの斜線で塗りつ
ぶされた領域がライトマージデータで、左上がりの斜線
で塗りつぶされた領域がキューマージデータである。
データキャッシュ方法のフローチャートである。媒体へ
の記録中にホスト装置から記録要求を受けた場合に、シ
ーケンシャルアクセスな記録要求を一括して媒体への記
録処理を行う動作について説明する。ホスト装置が記録
要求した先頭ブロック位置を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にR
EQ_LNGを加える。 (L5)ライトバックキャッシュによる媒体への記録処
理が終了するのを待つ。 (L6)ホスト装置から記録要求されたデータを媒体へ
記録中のデータになるようにライトマージ情報を初期化
する。STA_BAおよびMRG_BAは、REQ_B
Aになる。MRG_LNGは、REQ_LNGになる。 (L7)ホスト装置から記録要求されたデータを受け取
り、記録マージバッファに格納する。 (L8)MRG_BLKで示されたブロック数を連続的
に媒体に記録する。
データキャッシュ方法の動作を説明する概念図である。
図13(a)は、媒体へ記録中でないときに、ホスト装
置から記録要求を受けて、記録データを記録マージバッ
ファに格納した状態を示す。この状態から、ホスト装置
からシーケンシャルな記録命令を受けた場合に、以前の
記録データと今回要求された記録データとを結合して記
録マージバッファに格納した状態を示すのが図13
(b)である。図13(c)は、さらにこの状態からシ
ーケンシャルな記録命令を受けた場合の記録マージバッ
ファの状態を示す。図13(a)〜(c)が、シーク動
作中や回転待ち中に行われて、3つの要求は1つの要求
に変換される。
例において、ホスト装置からシーケンシャルな記録要求
を受けた場合に、これらをまとめて1つの記録要求に変
換することにより、媒体への記録処理自体を高速化する
ことができる。
データキャッシュ方法のフローチャートである。本発明
の第四の実施例に対するキュー構造を実現し、局所的に
集中するアクセスにおいて一括して媒体への記録処理を
行う動作について説明する。ホスト装置が記録要求した
先頭ブロック位置をREQ_BA、ブロック数をREQ
_LNGとする。 (N1)ライトバックキャッシュによる媒体への記録処
理中ならばN2へ、そうでなければN6へ分岐する。 (N2)媒体へ記録中のデータとホスト装置から記録要
求されたデータの両方が記録マージバッファに納まるな
らばN3へ、そうでなければN5へ分岐する。納まる条
件は、REQ_BA+REQ_LNG≦STA_BA+
BUF_LNGになる。 (N3)媒体へ記録中のデータとホスト装置から記録要
求されたデータを結合できるならばN4へ、そうでなけ
ればN11へ分岐する。結合できる条件は、REQ_B
AがMRG_BA+MRG_LNGに等しい場合とな
る。 (N4)媒体へ記録中のデータにホスト装置から記録要
求されたデータを結合するようにライトマージ情報を更
新する。媒体に記録中のブロック数MRG_BLKにR
EQ_LNGを加える。 (N5)ライトバックキャッシュによる媒体への記録処
理が終了するのを待つ。 (N6)ホスト装置から記録要求されたデータを媒体へ
記録中のデータにするようにライトマージ情報を初期化
する。STA_BAおよびMRG_BAは、REQ_B
Aになる。MRG_LNGは、REQ_LNGになる。 (N7)ホスト装置から記録要求されたデータを受け取
り、記録マージバッファに格納する。 (N8)媒体へ記録中のデータとキューマージデータと
を結合できるならばN9へ、そうでなければN10へ分
岐する。結合できる条件は、MRG_BA+MRG_L
NGが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_B
A≦QUE_BA+QUE_LNGになる。 (N13)ライトバックキャッシュによる媒体への記録
処理が終了するのを待つ。 (N14)キューマージデータをライトマージデータに
変換する。MRG_BAはQUE_BAに、MRG_L
NGはQUE_LNGになる。 (N15)キューマージ情報を初期化する。QUE_B
AはREQ_BAに、QUE_LNGはREQ_LNG
になる。 (N16)キューマージデータにホスト装置から記録要
求されたデータを結合するようにキューマージ情報を更
新する。QUE_LNGは、QUE_BA+QUE_L
NGとREQ_BA+REQ_LNGの内で大きい方か
らQUE_BAとREQ_BAの内で小さい方を差し引
いたものになる。QUE_BAは、自分自身とREQ_
BAの内で小さい方になる。
データキャッシュ方法の動作を説明する概念図である。
図15(a)は、媒体へ記録中でないときに、ホスト装
置から記録要求を受けて、記録データを記録マージバッ
ファに格納した状態を示す。この状態から、ホスト装置
からシーケンシャルではないが記録マージバッファ上に
収まりうる記録要求を受けて記録データを格納した状態
を示すのが図15(b)である。図15(c)は、この
状態から、ホスト装置から受けた記録命令がキューマー
ジと結合し得る場合に、以前のキューマージデータと今
回要求された記録データとを結合して記録マージバッフ
ァに格納した状態を示す。さらに、ライトマージデータ
とキューマージデータとの隙間を埋めるような記録命令
をホスト装置から受けた場合、ライトマージデータと記
録データとキューマージデータとを結合して記録マージ
バッファに格納した状態を示したのが図15(d)であ
る。従って、完全にシーケンシャルな記録要求でなくて
も、局所的に集中する記録命令であれば、これらの記録
命令を1つにまとめて媒体への記録処理を行うことがで
きる。
例において、ホスト装置から局所的に集中した記録要求
を受けた場合に、これらをまとめて1つの記録要求に変
換することにより、媒体への記録処理自体を高速化する
ことができる。
施例において、ホスト装置から再生要求された最終ブロ
ックを中心に履歴データと先読データを一元管理するこ
とができる。また先読データを常に所定量に保つことも
できる。また、本発明の第二の実施例において、ホスト
装置が情報記録再生装置に記録要求を行った場合に、先
読み動作中にホスト装置から記録要求されても即座に記
録動作を開始すると共に、媒体から再生したデータとホ
スト装置から送られた記録データの両方をキャッシュデ
ータとすることができる。さらに、本発明の第三の実施
例において、媒体への記録中にホスト装置へから再生要
求を受けた場合に、媒体への記録処理とホスト装置への
再生処理を並行して行うことができる。また、本発明の
第四の実施例において、ホスト装置からシーケンシャル
な記録要求を受けた場合に、これらをまとめて1つの記
録要求に変換することにより、媒体への記録処理自体を
高速化することができる。さらに、本発明の第五の実施
例において、ホスト装置から局所的に集中した記録要求
を受けた場合に、これらをまとめて1つの記録要求に変
換することにより、媒体への記録処理自体を高速化する
ことができる。
報記録再生装置の構成図
ャッシュ管理の概念図
ングバッファ管理の概念図
ュ方法のフローチャート
ュ方法の動作を説明する概念図
ュ方法のフローチャート
ュ方法の動作を説明する概念図
ュ方法のフローチャート
ュ方法の動作を説明する概念図
録再生装置の構成図
シュ管理の概念図
シュ方法のフローチャート
シュ方法の動作を説明する概念図
シュ方法のフローチャート
シュ方法の動作を説明する概念図
Claims (18)
- 【請求項1】ホスト装置に接続されて、円盤状の情報記
録媒体を用いてブロック単位に情報を記録再生する情報
記録再生装置であって、 ホスト装置から再生要求された最終ブロックを中心に、
最終ブロックよりも以前のブロックのデータを履歴デー
タとし、最終ブロックよりも先のブロックのデータを先
読データとして管理するキャッシュ管理手段と、 前記履歴データと前記先読データを格納する先読履歴バ
ッファと、 前記先読データを所定量に保つキャッシュ維持手段とを
備えたことを特徴とする情報記録再生装置。 - 【請求項2】ホスト装置に接続されて、円盤状の情報記
録媒体を用いてブロック単位に情報を記録再生する情報
記録再生装置であって、 ホスト装置から再生要求された最終ブロックを中心に、
最終ブロックよりも以前のブロックのデータを履歴デー
タとし、最終ブロックよりも先のブロックのデータを先
読データとし、ホスト装置から記録要求されたブロック
のデータを履歴データとして管理するキャッシュ管理手
段と、 前記履歴データと前記先読データを格納する先読履歴バ
ッファと、 前記先読データを所定量に保つキャッシュ維持手段と、 前記キャッシュ維持手段が媒体から先読み動作中にホス
ト装置から記録要求を受けた場合、先読み動作を中止し
て中止したまでの先読データを求める先読中止手段と、 既存する前記履歴データと前記先読データの中で、ホス
ト装置から記録要求されたブロックは、ホスト装置から
送られるデータによって前記先読履歴バッファと前記情
報記録媒体を更新する記録データ挿入手段とを備えたこ
とを特徴とする情報記録再生装置。 - 【請求項3】ホスト装置に接続されて、円盤状の情報記
録媒体を用いてブロック単位に情報を記録再生する情報
記録再生装置であって、 ホスト装置から記録要求されたブロックのデータを履歴
データとして管理するキャッシュ管理手段と、 前記履歴データを格納する履歴バッファと、 情報記録媒体に前記履歴データを記録中にホスト装置か
ら再生要求された場合に、前記履歴データに含まれる再
生要求ブロックをホスト装置に送る並行転送手段とを備
えたことを特徴とする情報記録再生装置。 - 【請求項4】ホスト装置に接続されて、円盤状の情報記
録媒体を用いてブロック単位に情報を記録再生する情報
記録再生装置であって、 ホスト装置から再生要求された最終ブロックを中心に、
最終ブロックよりも以前のブロックのデータを履歴デー
タとし、最終ブロックよりも先のブロックのデータを先
読データとし、ホスト装置から記録要求されたブロック
のデータを履歴データとして管理するキャッシュ管理手
段と、 前記履歴データと前記先読データを格納する先読履歴バ
ッファと、 前記先読データを所定量に保つキャッシュ維持手段と、 前記キャッシュ維持手段が媒体から先読み動作中にホス
ト装置から記録要求を受けた場合、先読み動作を中止し
て中止したまでの先読データを求める先読中止手段と、 既存する前記履歴データと前記先読データの中で、ホス
ト装置から記録要求されたブロックは、ホスト装置から
送られるデータによって前記先読履歴バッファのデータ
と前記情報記録媒体のデータを更新する記録データ挿入
手段と、 情報記録媒体に前記履歴データを記録中にホスト装置か
ら再生要求された場合に、前記履歴データと前記先読デ
ータに含まれる再生要求ブロックをホスト装置に送る並
行転送手段とを備えたことを特徴とする情報記録再生装
置。 - 【請求項5】ホスト装置に接続されて、円盤状の情報記
録媒体を用いてブロック単位に情報を記録再生する情報
記録再生装置であって、 ホスト装置から記録要求されたブロックのデータを格納
する記録マージバッファと、 ホスト装置から記録要求されたブロックのデータを前記
記録マージバッファに格納した時点でホスト装置に記録
動作の完了を報告し、引き続き情報記録媒体に記録動作
を行うライトバック手段と、 前記ライトバック手段による媒体の記録動作中にホスト
装置から記録要求されたブロックが媒体記録中のブロッ
クと連続する場合、前記記録マージバッファ上にも連続
して格納するとともに、連続して格納されたブロックを
一括して媒体に記録するライトマージ手段とを備えたこ
とを特徴とする情報記録再生装置。 - 【請求項6】ホスト装置に接続されて、円盤状の情報記
録媒体を用いてブロック単位に情報を記録再生する情報
記録再生装置であって、 ホスト装置から記録要求されたブロックのデータを格納
する記録マージバッファと、 ホスト装置から記録要求されたブロックのデータを前記
記録マージバッファに格納した時点でホスト装置に記録
動作の完了を報告し、引き続き情報記録媒体に記録動作
を行うライトバック手段と、 前記ライトバック手段による媒体の記録動作中にホスト
装置から記録要求されたブロックが媒体記録中のブロッ
クと連続する場合、前記記録マージバッファ上にも連続
して格納するとともに、連続して格納されたブロックを
一括して媒体に記録するライトマージ手段と、 前記ライトバック手段による媒体の記録動作中にホスト
装置から記録要求されたブロックが媒体記録中のブロッ
クと不連続の場合、媒体上と同一相対位置にある前記記
録マージバッファ上の領域に格納し、媒体への記録動作
が保留であることを管理するライトキュー管理手段と、 ホスト装置から記録要求されたブロックが前記ライトキ
ュー管理手段が管理するブロックと連続する場合、前記
記録マージバッファ上にも連続して格納するキューマー
ジ手段と、 前記ライトバック手段による媒体の記録動作が完了した
時点で、前記ライトキュー管理手段が媒体への記録動作
を保留しているデータを、前記ライトバック手段により
媒体への記録動作を行うキューバック移行手段とを備え
たことを特徴とする情報記録再生装置。 - 【請求項7】前記先読履歴バッファおよび前記履歴バッ
ファは、リングバッファとして用いられることを特徴と
する請求項1、2、3、4のいずれかに記載の情報記録
再生装置。 - 【請求項8】前記キャッシュ維持手段は、前記先読デー
タを前記先読履歴バッファの総量の整数分の1に等しい
量に保つことを特徴とする請求項1、2、4のいずれか
に記載の情報記録再生装置。 - 【請求項9】前記キャッシュ維持手段は、前記先読デー
タを情報記録媒体の1回転分のブロック数の整数倍に等
しい量に保つことを特徴とする請求項1、2、4のいず
れかに記載の情報記録再生装置。 - 【請求項10】ホスト装置に接続されて、円盤状の情報
記録媒体を用いてブロック単位に情報を記録再生する情
報記録再生装置のデータキャッシュ方法であって、 (a)ホスト装置から再生要求された最終ブロックを中
心に、最終ブロックよりも以前のブロックのデータを履
歴データとし、最終ブロックよりも先のブロックのデー
タを先読データとしてデータバッファに格納し管理する
キャッシュ管理ステップと、 (b)前記先読データを所定量に保つキャッシュ維持ス
テップとからなるデータキャッシュ方法。 - 【請求項11】ホスト装置に接続されて、円盤状の情報
記録媒体を用いてブロック単位に情報を記録再生する情
報記録再生装置のデータキャッシュ方法であって、 (a)ホスト装置から再生要求された最終ブロックを中
心に、最終ブロックよりも以前のブロックのデータを履
歴データとし、最終ブロックよりも先のブロックのデー
タを先読データとし、ホスト装置から記録要求されたブ
ロックのデータを履歴データとしてデータバッファに格
納し管理するキャッシュ管理ステップと、 (b)前記先読データを所定量に保つキャッシュ維持ス
テップと、 (c)前記キャッシュ維持手段が媒体から先読み動作中
にホスト装置から記録要求を受けた場合、先読み動作を
中止して中止したまでの先読データを求める先読中止ス
テップと、 (d)既存する前記履歴データと前記先読データの中
で、ホスト装置から記録要求されたブロックは、ホスト
装置から送られるデータによってデータバッファと前記
情報記録媒体を更新する記録データ挿入ステップとから
なるデータキャッシュ方法。 - 【請求項12】ホスト装置に接続されて、円盤状の情報
記録媒体を用いてブロック単位に情報を記録再生する情
報記録再生装置のデータキャッシュ方法であって、 (a)ホスト装置から記録要求されたブロックのデータ
を履歴データとしてデータバッファに格納し管理するキ
ャッシュ管理ステップと、 (b)情報記録媒体に前記履歴データを記録中にホスト
装置から再生要求された場合に、前記履歴データに含ま
れる再生要求ブロックをホスト装置に送る並行転送ステ
ップとからなるデータキャッシュ方法。 - 【請求項13】ホスト装置に接続されて、円盤状の情報
記録媒体を用いてブロック単位に情報を記録再生する情
報記録再生装置のデータキャッシュ方法であって、 (a)ホスト装置から再生要求された最終ブロックを中
心に、最終ブロックよりも以前のブロックのデータを履
歴データとし、最終ブロックよりも先のブロックのデー
タを先読データとし、ホスト装置から記録要求されたブ
ロックのデータを履歴データとしてデータバッファに格
納し管理するキャッシュ管理ステップと、 (b)前記先読データを所定量に保つキャッシュ維持ス
テップと、 (c)前記キャッシュ維持手段が媒体から先読み動作中
にホスト装置から記録要求を受けた場合、先読み動作を
中止して中止したまでの先読データを求める先読中止ス
テップと、 (d)既存する前記履歴データと前記先読データの中
で、ホスト装置から記録要求されたブロックは、ホスト
装置から送られるデータによってデータバッファと前記
情報記録媒体を更新する記録データ挿入ステップと、 (e)情報記録媒体に前記履歴データを記録中にホスト
装置から再生要求された場合に、前記履歴データと前記
先読データに含まれる再生要求ブロックをホスト装置に
送る並行転送ステップとからなるデータキャッシュ方
法。 - 【請求項14】ホスト装置に接続されて、円盤状の情報
記録媒体を用いてブロック単位に情報を記録再生する情
報記録再生装置のデータキャッシュ方法であって、 (a)ホスト装置から記録要求されたブロックをデータ
バッファに格納した時点でホスト装置に記録動作の完了
を報告し、引き続き情報記録媒体に記録動作を行うライ
トバックステップと、 (b)前記ライトバックステップによる媒体の記録動作
中にホスト装置から記録要求されたブロックが媒体記録
中のブロックと連続する場合、データバッファ上にも連
続して格納するとともに、連続して格納されたブロック
を一括して媒体に記録するライトマージステップとから
なるデータキャッシュ方法。 - 【請求項15】ホスト装置に接続されて、円盤状の情報
記録媒体を用いてブロック単位に情報を記録再生する情
報記録再生装置のデータキャッシュ方法であって、 (a)ホスト装置から記録要求されたブロックをデータ
バッファに格納した時点でホスト装置に記録動作の完了
を報告し、引き続き情報記録媒体に記録動作を行うライ
トバックステップと、 (b)前記ライトバックステップによる媒体の記録動作
中にホスト装置から記録要求されたブロックが媒体記録
中のブロックと連続する場合、データバッファ上にも連
続して格納するとともに、連続して格納されたブロック
を一括して媒体に記録するライトマージステップと、 (c)前記ライトバックステップによる媒体の記録動作
中にホスト装置から記録要求されたブロックが媒体記録
中のブロックと不連続の場合、媒体上と同一相対位置に
あるデータバッファ上の領域に格納し、媒体への記録動
作が保留であることを管理するライトキュー管理ステッ
プと、 (d)ホスト装置から記録要求されたブロックが前記ラ
イトキュー管理ステップが管理するブロックと連続する
場合、データバッファ上にも連続して格納するキューマ
ージステップと、 (e)前記ライトバックステップによる媒体の記録動作
が完了した時点で、前記ライトキュー管理ステップが媒
体への記録動作を保留しているデータを、前記ライトバ
ックステップにより媒体への記録動作を行うキューバッ
ク移行ステップとからなるデータキャッシュ方法。 - 【請求項16】前記キャッシュ管理ステップは、前記デ
ータバッファをリングバッファとして用いることを特徴
とする請求項10、11、12、13のいずれかに記載
のデータキャッシュ方法。 - 【請求項17】前記キャッシュ維持ステップは、前記先
読データを前記先読履歴バッファの総量の整数分の1に
等しい量に保つことを特徴とする請求項10、11、1
3のいずれかに記載のデータキャッシュ方法。 - 【請求項18】前記キャッシュ維持ステップは、前記先
読データを情報記録媒体の1回転分のブロック数の整数
倍に等しい量に保つことを特徴とする請求項10、1
1、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 true JPH07334426A (ja) | 1995-12-22 |
JP3586887B2 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) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6018788A (en) * | 1997-03-26 | 2000-01-25 | Kabushiki Kaisha Toshiba | Data access control for disk system using a limit value and count value to optimize sequential and repeat access |
US7069379B2 (en) | 2002-03-15 | 2006-06-27 | International Business Machines Corporation | Multistage information recording method and system using magnetic recording disk units |
JP2007528079A (ja) * | 2004-03-08 | 2007-10-04 | サンディスク コーポレイション | フラッシュコントローラのキャッシュ構造 |
JP2008276874A (ja) * | 2007-04-27 | 2008-11-13 | Sony Corp | 記録装置および方法、並びに、プログラム |
Families Citing this family (21)
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 |
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 | ディスク制御装置及び方法 |
JP3865586B2 (ja) * | 1999-04-30 | 2007-01-10 | 富士通株式会社 | ディスク装置 |
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 |
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 | 三洋電機株式会社 | デジタル情報の再生方法及びデジタル情報記録又は再生装置 |
JP4439385B2 (ja) * | 2004-12-03 | 2010-03-24 | 株式会社ソニー・コンピュータエンタテインメント | バッファリング装置およびバッファリング方法 |
JP4439384B2 (ja) * | 2004-12-03 | 2010-03-24 | 株式会社ソニー・コンピュータエンタテインメント | バッファリング装置およびメモリ装置の利用方法 |
US8234457B2 (en) * | 2006-06-30 | 2012-07-31 | Seagate Technology Llc | Dynamic adaptive flushing of cached data |
US7761659B2 (en) * | 2006-06-30 | 2010-07-20 | Seagate Technology Llc | Wave flushing of cached writeback data to a storage array |
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 |
JPH077327B2 (ja) * | 1991-02-19 | 1995-01-30 | インターナショナル・ビジネス・マシーンズ・コーポレーション | データ転送方法 |
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
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6018788A (en) * | 1997-03-26 | 2000-01-25 | Kabushiki Kaisha Toshiba | Data access control for disk system using a limit value and count value to optimize sequential and repeat access |
US7069379B2 (en) | 2002-03-15 | 2006-06-27 | International Business Machines Corporation | Multistage information recording method and system using magnetic recording disk units |
JP2007528079A (ja) * | 2004-03-08 | 2007-10-04 | サンディスク コーポレイション | フラッシュコントローラのキャッシュ構造 |
US9678877B2 (en) | 2004-03-08 | 2017-06-13 | Sandisk Technologies Llc | Flash controller cache architecture |
JP2008276874A (ja) * | 2007-04-27 | 2008-11-13 | Sony Corp | 記録装置および方法、並びに、プログラム |
Also Published As
Publication number | Publication date |
---|---|
US5983319A (en) | 1999-11-09 |
JP3586887B2 (ja) | 2004-11-10 |
US5875455A (en) | 1999-02-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3586887B2 (ja) | 情報記録再生装置およびデータキャッシュ方法 | |
JP3697149B2 (ja) | キャッシュ・メモリを管理する方法 | |
JP3183993B2 (ja) | ディスク制御システム | |
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) | 자기 디스크 드라이브에서 읽기 캐쉬의 성능을 높이기 위한 방법 | |
JPH04325923A (ja) | 光ディスク装置のアクセス制御方式 | |
JP4461089B2 (ja) | ストレージ制御装置およびストレージ制御方法 | |
US6532513B1 (en) | Information recording and reproduction apparatus | |
US5617380A (en) | Apparatus and method for drive management for multi-pass storage devices | |
JP5605043B2 (ja) | データコピー装置、データコピー方法およびストレージ装置 | |
JP3969809B2 (ja) | 記憶装置におけるデータバッファの管理方法 | |
JP2000285022A (ja) | ディスク制御装置 | |
JPH04311216A (ja) | 外部記憶制御装置 | |
JP3008801B2 (ja) | 記憶装置システムおよびディスクアレイ制御装置 | |
JP3083530B2 (ja) | キャッシュメモリのデータ管理方法およびキャッシュ制御装置 | |
JP3435176B2 (ja) | 磁気ディスク装置 | |
JP2973474B2 (ja) | 光磁気ディスク装置 | |
JPH0612328A (ja) | キャッシュメモリのデータ蓄積方法 | |
JP3080416B2 (ja) | コントロ−ラにおける内部的動作の実行方法及びコントロ−ラ | |
JPH06290547A (ja) | ディスク装置の高速データ転送方法 | |
JP2001209577A (ja) | 情報記録再生装置 | |
JPH05108485A (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 |