JPH09128291A - キャッシュメモリ管理方法 - Google Patents
キャッシュメモリ管理方法Info
- Publication number
- JPH09128291A JPH09128291A JP7282042A JP28204295A JPH09128291A JP H09128291 A JPH09128291 A JP H09128291A JP 7282042 A JP7282042 A JP 7282042A JP 28204295 A JP28204295 A JP 28204295A JP H09128291 A JPH09128291 A JP H09128291A
- Authority
- JP
- Japan
- Prior art keywords
- data
- write
- disk
- cache memory
- lba
- 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.)
- Withdrawn
Links
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
(57)【要約】
【課題】 書き込み位置が不連続なデータの書き込みに
おいても、シークの回数を減少させて処理時間を短縮さ
せる。 【解決手段】 ホストコンピュータからディスクへの書
き込み要求があった場合に、SCSIインターフェース
A23を介して受信した書き込みデータをディスク上の
書き込み位置情報(LBA)と共にキュッシュメモリに
格納すると共に、キュッシュメモリに格納されたLBA
に基づき、LBAが連続しているか否かを判断し、キュ
ッシュメモリに格納された書き込みデータの書き込み位
置が不連続の場合に、該データの不連続な部分のLBA
のデータをディスクから読み出してキュッシュメモリ手
段上で連続状態となるよう格納する補間を行い、これら
の書き込みデータ及び補間データをまとめてSCSIイ
ンターフェースB24を介してディスクドライブ装置に
転送してディスクに書き込む処理を行う。
おいても、シークの回数を減少させて処理時間を短縮さ
せる。 【解決手段】 ホストコンピュータからディスクへの書
き込み要求があった場合に、SCSIインターフェース
A23を介して受信した書き込みデータをディスク上の
書き込み位置情報(LBA)と共にキュッシュメモリに
格納すると共に、キュッシュメモリに格納されたLBA
に基づき、LBAが連続しているか否かを判断し、キュ
ッシュメモリに格納された書き込みデータの書き込み位
置が不連続の場合に、該データの不連続な部分のLBA
のデータをディスクから読み出してキュッシュメモリ手
段上で連続状態となるよう格納する補間を行い、これら
の書き込みデータ及び補間データをまとめてSCSIイ
ンターフェースB24を介してディスクドライブ装置に
転送してディスクに書き込む処理を行う。
Description
【0001】
【発明の属する技術分野】本発明は、上位のホストコン
ピュータと記録媒体との間で転送されるデータを高速ア
クセス可能なキャッシュメモリに一時格納し、記録処理
や再生処理の高速化を図るキャッシュメモリ装置のキャ
ッシュメモリ管理方法に関する。
ピュータと記録媒体との間で転送されるデータを高速ア
クセス可能なキャッシュメモリに一時格納し、記録処理
や再生処理の高速化を図るキャッシュメモリ装置のキャ
ッシュメモリ管理方法に関する。
【0002】
【従来の技術】一般に光ディスク装置などの情報記録再
生装置は、情報処理装置におけるホストコンピュータの
外部記録装置として用いられているが、記録媒体に対す
るデータの書き込み処理及び読み出し処理はホストコン
ピュータとの間でのデータ転送処理速度よりも遅いた
め、近年では中間にキャッシュメモリを設けてキャッシ
ュメモリを介してデータ転送を行うことにより、データ
の記録処理や再生処理の高速化を図ったものが用いられ
てきている。特に、光ディスクを記録媒体として用いる
光ディスク装置では、記録媒体への書き込み処理に多く
の時間がかかるため、記録データや再生データを一時格
納するディスクキャッシュメモリを設けたものが一般的
である。
生装置は、情報処理装置におけるホストコンピュータの
外部記録装置として用いられているが、記録媒体に対す
るデータの書き込み処理及び読み出し処理はホストコン
ピュータとの間でのデータ転送処理速度よりも遅いた
め、近年では中間にキャッシュメモリを設けてキャッシ
ュメモリを介してデータ転送を行うことにより、データ
の記録処理や再生処理の高速化を図ったものが用いられ
てきている。特に、光ディスクを記録媒体として用いる
光ディスク装置では、記録媒体への書き込み処理に多く
の時間がかかるため、記録データや再生データを一時格
納するディスクキャッシュメモリを設けたものが一般的
である。
【0003】このようなキャッシュメモリを備えた装置
として、例えば特開平2−165248号公報に開示さ
れているディスクキャッシュ制御装置では、データの書
き込み要求があった場合に、ホストコンピュータからの
データをディスクキャッシュメモリに書き込むと共に、
ホストコンピュータへ書き込み完了信号を出力して、次
のデータ処理を再開させ、データ処理の空き時間に適切
なタイミングを見計らって、ディスクキャッシュメモリ
に格納した未書き込みのデータを記録媒体に書き込むよ
うにしている。このようなライトアフタ方式の装置によ
れば、ホストコンピュータは、ディスクキャッシュメモ
リにデータを書き込んだ時点で書き込み終了を認識し
て、次のデータ処理を再開できるので、記録媒体への書
き込み終了まで待つことなく、書き込み処理時のアクセ
スタイムを短縮できる。
として、例えば特開平2−165248号公報に開示さ
れているディスクキャッシュ制御装置では、データの書
き込み要求があった場合に、ホストコンピュータからの
データをディスクキャッシュメモリに書き込むと共に、
ホストコンピュータへ書き込み完了信号を出力して、次
のデータ処理を再開させ、データ処理の空き時間に適切
なタイミングを見計らって、ディスクキャッシュメモリ
に格納した未書き込みのデータを記録媒体に書き込むよ
うにしている。このようなライトアフタ方式の装置によ
れば、ホストコンピュータは、ディスクキャッシュメモ
リにデータを書き込んだ時点で書き込み終了を認識し
て、次のデータ処理を再開できるので、記録媒体への書
き込み終了まで待つことなく、書き込み処理時のアクセ
スタイムを短縮できる。
【0004】磁気ディスクや光ディスク等にデータを書
き込む場合や、データを読み出す場合は、まずそのデー
タを記録する(データが記録された)目的のトラックに
ヘッドを移動させ、さらにそのデータを記録する(デー
タが記録された)目的のセクタがヘッド上に来るのを待
つ。そして、目的のセクタに対してデータの書き込みや
読み出しを行うようになっている。一般に、前者の目的
のトラックへのヘッドの移動をシーク、それに要する時
間をシーク時間と呼び、また、後者のヘッド上に目的の
セクタが来るまで要する時間を回転待ち時間と呼んでい
る。
き込む場合や、データを読み出す場合は、まずそのデー
タを記録する(データが記録された)目的のトラックに
ヘッドを移動させ、さらにそのデータを記録する(デー
タが記録された)目的のセクタがヘッド上に来るのを待
つ。そして、目的のセクタに対してデータの書き込みや
読み出しを行うようになっている。一般に、前者の目的
のトラックへのヘッドの移動をシーク、それに要する時
間をシーク時間と呼び、また、後者のヘッド上に目的の
セクタが来るまで要する時間を回転待ち時間と呼んでい
る。
【0005】一般に、このシーク時間と回転待ち時間
は、1セクタのデータ転送に要する時間に比べてはるか
に大きな値となる。光磁気ディスクドライブ装置の場
合、平均的なシーク時間は20〜30mSほどを要す
る。これに対し、1セクタあたりのデータの転送に要す
る時間は約0.5mSに過ぎない。
は、1セクタのデータ転送に要する時間に比べてはるか
に大きな値となる。光磁気ディスクドライブ装置の場
合、平均的なシーク時間は20〜30mSほどを要す
る。これに対し、1セクタあたりのデータの転送に要す
る時間は約0.5mSに過ぎない。
【0006】このため、従来のキャッシュメモリ装置で
は、キャッシュメモリ上に位置が連続したデータが存在
した場合、シークの回数を減らす方法が採られている。
は、キャッシュメモリ上に位置が連続したデータが存在
した場合、シークの回数を減らす方法が採られている。
【0007】データの読み出しや書き込みの際に、ディ
スク上のセクタの物理的な指定はトラック番号やセクタ
番号で行うが、これらの番号はディスクの種類や構造に
よって異なる場合がある。このため、情報記録再生装置
とホストコンピュータとの間でのデータ転送を行うイン
ターフェースの一つである、SCSI(Small Computer
System Interface )等の規格では、データを記録再生
するセクタを指定するために、各領域に対して連続した
通し番号を振り直したLBA(Logical BlockAddress
)が用いられている。このLBAを用いることによっ
て、ディスクの種類に依存することなくデータの読み出
しや書き込みを行うセクタの物理的な位置を指定するこ
とができる。
スク上のセクタの物理的な指定はトラック番号やセクタ
番号で行うが、これらの番号はディスクの種類や構造に
よって異なる場合がある。このため、情報記録再生装置
とホストコンピュータとの間でのデータ転送を行うイン
ターフェースの一つである、SCSI(Small Computer
System Interface )等の規格では、データを記録再生
するセクタを指定するために、各領域に対して連続した
通し番号を振り直したLBA(Logical BlockAddress
)が用いられている。このLBAを用いることによっ
て、ディスクの種類に依存することなくデータの読み出
しや書き込みを行うセクタの物理的な位置を指定するこ
とができる。
【0008】SCSIでは、データの記録位置を全てL
BAで指定するようになっている。このLBAと物理的
なディスク上の記録位置を示すトラック番号、セクタ番
号とを対応させた変換は、情報記録再生装置内のディス
クコントローラによって行われる。
BAで指定するようになっている。このLBAと物理的
なディスク上の記録位置を示すトラック番号、セクタ番
号とを対応させた変換は、情報記録再生装置内のディス
クコントローラによって行われる。
【0009】図8は複数のデータとしてLBAが連続し
たLBA=3と4のデータをディスクに書き込む場合に
要する処理時間を示したものである。
たLBA=3と4のデータをディスクに書き込む場合に
要する処理時間を示したものである。
【0010】図8において、(a)はLBA=3のデー
タの書き込みが終わった後にLBA=4のデータの書き
込み処理を開始するようにした場合を示し、(b)はL
BA=3のデータの書き込みに続きLBA=4のデータ
の書き込みを連続して行うようにした場合を示してい
る。また、図中“S”はシークおよび回転待ち、“E”
はイレース(消去)、“W”はライト(書き込み)、
“V”はベリファイ(検証)の各処理時間を表してい
る。なおここでは、記録媒体として光磁気ディスクを用
いた場合を例示しており、書き込み処理の際ににイレー
ス、ライト、ベリファイの3つの処理が行われる。
タの書き込みが終わった後にLBA=4のデータの書き
込み処理を開始するようにした場合を示し、(b)はL
BA=3のデータの書き込みに続きLBA=4のデータ
の書き込みを連続して行うようにした場合を示してい
る。また、図中“S”はシークおよび回転待ち、“E”
はイレース(消去)、“W”はライト(書き込み)、
“V”はベリファイ(検証)の各処理時間を表してい
る。なおここでは、記録媒体として光磁気ディスクを用
いた場合を例示しており、書き込み処理の際ににイレー
ス、ライト、ベリファイの3つの処理が行われる。
【0011】図8の(a)では、LBA=3と4のデー
タを書き込むためにそれぞれの書き込み位置へのアクセ
スに先立ってシークが行われ、2回のシーク時間を処理
時間として要している。これに対し、図8の(b)で
は、LBA=3のデータの書き込みに続いてLBA=4
のデータの書き込みを連続して行い、(a)の場合に比
べてシークの回数を減らすことによって、処理時間の短
縮を図ることができる。
タを書き込むためにそれぞれの書き込み位置へのアクセ
スに先立ってシークが行われ、2回のシーク時間を処理
時間として要している。これに対し、図8の(b)で
は、LBA=3のデータの書き込みに続いてLBA=4
のデータの書き込みを連続して行い、(a)の場合に比
べてシークの回数を減らすことによって、処理時間の短
縮を図ることができる。
【0012】
【発明が解決しようとする課題】しかしながら、従来の
方法では、シークの回数を減らして処理時間の短縮を図
るために、前述した図8の(b)のように複数のデータ
を1回のシークのみで連続して書き込みを行うには、ホ
ストコンピュータ側から連続した位置に対する書き込み
要求があった場合でないと複数のデータを連続して書き
込むことができない。このため、書き込み位置が連続し
ていないデータの場合には、書き込み位置毎にシークを
行って書き込む必要があり、シークの回数を減らして処
理時間を短縮することができないという問題点があっ
た。
方法では、シークの回数を減らして処理時間の短縮を図
るために、前述した図8の(b)のように複数のデータ
を1回のシークのみで連続して書き込みを行うには、ホ
ストコンピュータ側から連続した位置に対する書き込み
要求があった場合でないと複数のデータを連続して書き
込むことができない。このため、書き込み位置が連続し
ていないデータの場合には、書き込み位置毎にシークを
行って書き込む必要があり、シークの回数を減らして処
理時間を短縮することができないという問題点があっ
た。
【0013】本発明は、これらの事情に鑑みてなされた
もので、書き込み位置が不連続なデータの書き込みにお
いても、シークの回数を減少させて処理時間を短縮させ
ることが可能なキャッシュメモリ管理方法を提供するこ
とを目的としている。
もので、書き込み位置が不連続なデータの書き込みにお
いても、シークの回数を減少させて処理時間を短縮させ
ることが可能なキャッシュメモリ管理方法を提供するこ
とを目的としている。
【0014】
【課題を解決するための手段】本発明によるキャッシュ
メモリ管理方法は、ホストコンピュータまたはオペレー
ティングシステムからの書き込み要求を受けて記録媒体
に書き込むデータを書き込み位置情報と共に一時記憶す
るキュッシュメモリ手段を備えたキャッシュメモリ装置
において、前記ホストコンピュータまたはオペレーティ
ングシステムからディスクへの書き込み要求があったと
き、前記ホストコンピュータまたはオペレーティングシ
ステムから受信した書き込みデータをディスク上の書き
込み位置情報と共に前記キュッシュメモリ手段に格納す
る手順と、前記キュッシュメモリ手段に格納された書き
込み位置情報に基づき、書き込みデータの書き込み位置
が連続しているか否かを判断する手順と、前記書き込み
データの書き込み位置が連続している場合に、該データ
をまとめてディスクに書き込む処理を行う手順と、前記
書き込みデータの書き込み位置が不連続の場合に、該デ
ータの不連続な部分の書き込み位置のデータを読み出し
て前記キュッシュメモリ手段上で連続状態となるよう格
納し、これらのデータをまとめてディスクに書き込む処
理を行う手順と、を有するものである。
メモリ管理方法は、ホストコンピュータまたはオペレー
ティングシステムからの書き込み要求を受けて記録媒体
に書き込むデータを書き込み位置情報と共に一時記憶す
るキュッシュメモリ手段を備えたキャッシュメモリ装置
において、前記ホストコンピュータまたはオペレーティ
ングシステムからディスクへの書き込み要求があったと
き、前記ホストコンピュータまたはオペレーティングシ
ステムから受信した書き込みデータをディスク上の書き
込み位置情報と共に前記キュッシュメモリ手段に格納す
る手順と、前記キュッシュメモリ手段に格納された書き
込み位置情報に基づき、書き込みデータの書き込み位置
が連続しているか否かを判断する手順と、前記書き込み
データの書き込み位置が連続している場合に、該データ
をまとめてディスクに書き込む処理を行う手順と、前記
書き込みデータの書き込み位置が不連続の場合に、該デ
ータの不連続な部分の書き込み位置のデータを読み出し
て前記キュッシュメモリ手段上で連続状態となるよう格
納し、これらのデータをまとめてディスクに書き込む処
理を行う手順と、を有するものである。
【0015】
【発明の実施の形態】以下、図面を参照して本発明の実
施の形態を説明する。まず、本発明の実施形態における
キャッシュメモリ装置の構成及び動作の概略について説
明する。
施の形態を説明する。まず、本発明の実施形態における
キャッシュメモリ装置の構成及び動作の概略について説
明する。
【0016】図1はホストコンピュータ1のアプリケー
ション3からディスクドライブ装置2のディスク7にア
クセスするまでの経路の構成例を示したものである。
ション3からディスクドライブ装置2のディスク7にア
クセスするまでの経路の構成例を示したものである。
【0017】図1(a)の第1の例は、ホストコンピュ
ータ1におけるOS(オペレーティングシステム)4と
デバイスドライバ5の間にキャッシュプログラム11を
設け、このキャッシュプログラムに11よりディスクキ
ャッシュ機能を実現した例である。このようなキャッシ
ュプログラムには、MS-DOS(マイクロソフト社)やMS-W
indows(マイクロソフト社)用のディスクキャッシュプ
ログラムとして SmartDrive(マイクロソフト社)等が
ある。
ータ1におけるOS(オペレーティングシステム)4と
デバイスドライバ5の間にキャッシュプログラム11を
設け、このキャッシュプログラムに11よりディスクキ
ャッシュ機能を実現した例である。このようなキャッシ
ュプログラムには、MS-DOS(マイクロソフト社)やMS-W
indows(マイクロソフト社)用のディスクキャッシュプ
ログラムとして SmartDrive(マイクロソフト社)等が
ある。
【0018】図1(b)の第2の例は、ホストコンピュ
ータ1とディスクドライブ装置2とを接続するインター
フェース6にキャッシュ機能のみを持ったキャッシュ装
置12を介在させた例である。
ータ1とディスクドライブ装置2とを接続するインター
フェース6にキャッシュ機能のみを持ったキャッシュ装
置12を介在させた例である。
【0019】図1(c)の第3の例は、ディスクドライ
ブ装置2のディスクコントローラ8にキャッシュ手段1
3を設けてキャッシュ機能を持たせた例であり、ディス
クキャッシュとして一般的に多く用いられている構成で
ある。
ブ装置2のディスクコントローラ8にキャッシュ手段1
3を設けてキャッシュ機能を持たせた例であり、ディス
クキャッシュとして一般的に多く用いられている構成で
ある。
【0020】これらのキャッシュ機能は、いずれもホス
トコンピュータ1のアプリケーション3とディスクドラ
イブ装置2のディスク7との間に存在し、ディスク7に
対するアクセス速度を向上させることが可能になってい
る。
トコンピュータ1のアプリケーション3とディスクドラ
イブ装置2のディスク7との間に存在し、ディスク7に
対するアクセス速度を向上させることが可能になってい
る。
【0021】図2は前記キャッシュ機能の概念を示した
ものである。この図において、インターフェースA,イ
ンターフェースBは、必ずしも物理的な形態を持つ必要
は無く、ソフトウェア間のインターフェースを示すこと
もある。ここでは、ディスクにデータを書き込む処理に
ついて述べる。
ものである。この図において、インターフェースA,イ
ンターフェースBは、必ずしも物理的な形態を持つ必要
は無く、ソフトウェア間のインターフェースを示すこと
もある。ここでは、ディスクにデータを書き込む処理に
ついて述べる。
【0022】まず、インターフェースAを経由して、キ
ャッシュメモリに書き込みデータとそのデータを書き込
むディスク上の位置(LBA)が共にキャッシュメモリ
に格納される。勿論、このときの条件として、キャッシ
ュメモリに空き領域が必要である。
ャッシュメモリに書き込みデータとそのデータを書き込
むディスク上の位置(LBA)が共にキャッシュメモリ
に格納される。勿論、このときの条件として、キャッシ
ュメモリに空き領域が必要である。
【0023】一方で、キャッシュメモリのデータは、イ
ンターフェースBを介してディスクドライブ装置へと送
られてディスクに書き込まれる。また、ディスクに書き
込みが完了したデータはキャッシュメモリから削除され
る。
ンターフェースBを介してディスクドライブ装置へと送
られてディスクに書き込まれる。また、ディスクに書き
込みが完了したデータはキャッシュメモリから削除され
る。
【0024】本発明では、アプリケーションから連続し
ていない位置への書き込みデータが送られてきた場合で
も、その不連続な位置の間のデータをディスクから読み
出してキャッシュメモリ上で補間するようにする。その
後、改めて、補間により連続したデータをディスクに書
き戻す処理を行う。
ていない位置への書き込みデータが送られてきた場合で
も、その不連続な位置の間のデータをディスクから読み
出してキャッシュメモリ上で補間するようにする。その
後、改めて、補間により連続したデータをディスクに書
き戻す処理を行う。
【0025】この補間して書き戻す処理は、処理時間に
一見無駄があるように思えるが、前述したように1セク
タあたりのデータ転送時間に比べてはるかにシークや回
転待ちに要する時間の方が大きいため、全体としては処
理時間を短縮できる効果がある。
一見無駄があるように思えるが、前述したように1セク
タあたりのデータ転送時間に比べてはるかにシークや回
転待ちに要する時間の方が大きいため、全体としては処
理時間を短縮できる効果がある。
【0026】図3は複数のデータをディスクに書き込む
際に、従来の方法による場合と本発明による書き込み処
理を用いた場合のそれぞれで要する処理時間を比較して
示したものである。図3において、(a)は従来の方
法、(b)は本発明の書き込み処理方法のそれぞれの場
合を示している。ここでは、ホストコンピュータからL
BA=3,4,6,8のデータが順不同で送られて来
て、キャッシュメモリにそれらのデータが格納された場
合を例として挙げる。
際に、従来の方法による場合と本発明による書き込み処
理を用いた場合のそれぞれで要する処理時間を比較して
示したものである。図3において、(a)は従来の方
法、(b)は本発明の書き込み処理方法のそれぞれの場
合を示している。ここでは、ホストコンピュータからL
BA=3,4,6,8のデータが順不同で送られて来
て、キャッシュメモリにそれらのデータが格納された場
合を例として挙げる。
【0027】なお、図中“S”はシークおよび回転待
ち、“E”はイレース(消去)、“W”はライト(書き
込み)、“V”はベリファイ(検証)の各処理時間を表
している。なお本例では、記録媒体として光磁気ディス
クを用いた場合を例示しており、書き込み処理の際にに
イレース、ライト、ベリファイの3つの処理が行われ
る。
ち、“E”はイレース(消去)、“W”はライト(書き
込み)、“V”はベリファイ(検証)の各処理時間を表
している。なお本例では、記録媒体として光磁気ディス
クを用いた場合を例示しており、書き込み処理の際にに
イレース、ライト、ベリファイの3つの処理が行われ
る。
【0028】図3(a)の場合は、書き込み位置が不連
続な部分、すなわちLBAの4と6,6と8の間で必ず
シークまたは回転待ちを伴うことになる。
続な部分、すなわちLBAの4と6,6と8の間で必ず
シークまたは回転待ちを伴うことになる。
【0029】図3(b)の場合は、書き込み位置が不連
続な部分に記録されているデータ、すなわちLBA=
5,7のデータをまずディスクから読み出して、キャッ
シュメモリ上で格納されている書き込みデータと読み出
したデータをまとめてそれぞれのデータが連続位置とな
るように補間する。このように不連続な部分のデータを
補間することにより、LBA=3〜8にかけて全てディ
スク上で連続して書き込むことができる。
続な部分に記録されているデータ、すなわちLBA=
5,7のデータをまずディスクから読み出して、キャッ
シュメモリ上で格納されている書き込みデータと読み出
したデータをまとめてそれぞれのデータが連続位置とな
るように補間する。このように不連続な部分のデータを
補間することにより、LBA=3〜8にかけて全てディ
スク上で連続して書き込むことができる。
【0030】なお、補間に必要なデータはLBA=5,
7のデータであるが、読み出しに先立つシークを減らす
ため、LBA=5〜7を連続して読み出しを行う。この
とき、LBA=6のデータは既にキャッシュメモリ上に
ライトデータとして存在しているため、補間処理の読み
出し時にはLBA=6のデータはキャッシュメモリに取
り込まないようにする。
7のデータであるが、読み出しに先立つシークを減らす
ため、LBA=5〜7を連続して読み出しを行う。この
とき、LBA=6のデータは既にキャッシュメモリ上に
ライトデータとして存在しているため、補間処理の読み
出し時にはLBA=6のデータはキャッシュメモリに取
り込まないようにする。
【0031】そして、LBA=3〜8のデータが揃った
ところで改めてディスクにデータを書き込む処理を行
う。
ところで改めてディスクにデータを書き込む処理を行
う。
【0032】このように、本来のデータ書き込みに比べ
余分な読み出し処理が加わるが、シークの回数を減らす
ことにより、全体の書き込みに要する時間を逆に減少さ
せることができる。
余分な読み出し処理が加わるが、シークの回数を減らす
ことにより、全体の書き込みに要する時間を逆に減少さ
せることができる。
【0033】図4は図3(b)の処理の際のRAM25
に格納される書き込み位置情報及び書き込みデータのや
りとりの概念を示したものである。
に格納される書き込み位置情報及び書き込みデータのや
りとりの概念を示したものである。
【0034】次に、本発明の実施形態として、前記キャ
ッシュ機能を有するキャッシュ装置をホストコンピュー
タとディスクドライブ装置との間に設けた構成例を示
す。
ッシュ機能を有するキャッシュ装置をホストコンピュー
タとディスクドライブ装置との間に設けた構成例を示
す。
【0035】図5はキャッシュ装置を備えた情報記録再
生システムの構成を示すブロック図である。本実施形態
では、わかりやすくするために、キャッシュ機能のみを
独立した装置として示している。
生システムの構成を示すブロック図である。本実施形態
では、わかりやすくするために、キャッシュ機能のみを
独立した装置として示している。
【0036】キャッシュ装置20は、ホストコンピュー
タ1とディスクドライブ装置2との間に設けられ、SC
SIケーブル21,22を介してそれぞれに接続されて
いる。このキャッシュ装置20は、2つのSCSI(Sm
all Computer System Interface)インターフェース
(I/F)A23,B24と、RAM25、ROM2
6、CPU27とを有してなり、各部は内部バス28に
よって接続されている。
タ1とディスクドライブ装置2との間に設けられ、SC
SIケーブル21,22を介してそれぞれに接続されて
いる。このキャッシュ装置20は、2つのSCSI(Sm
all Computer System Interface)インターフェース
(I/F)A23,B24と、RAM25、ROM2
6、CPU27とを有してなり、各部は内部バス28に
よって接続されている。
【0037】本実施形態のキャッシュ装置20の動作を
説明する。キャッシュ装置20は、ROM26に格納さ
れたプログラムによってCPU27が動作し、各部の制
御がなされる。
説明する。キャッシュ装置20は、ROM26に格納さ
れたプログラムによってCPU27が動作し、各部の制
御がなされる。
【0038】ホストコンピュータ1よりデータの書き込
み要求を受けると、SCSIインターフェースA23を
介して受信した書き込み位置情報(LBA)と書き込み
データとが内部バス28を経由してRAM25に記憶さ
れる。一方で、RAM25に記憶された書き込み位置情
報を基に、書き込みデータが内部バス28を経由してS
CSIインターフェースB24を介してディスクドライ
ブ装置2に送られる。これらの書き込み位置情報と書き
込みデータの入出力制御はCPU27によって行われ
る。
み要求を受けると、SCSIインターフェースA23を
介して受信した書き込み位置情報(LBA)と書き込み
データとが内部バス28を経由してRAM25に記憶さ
れる。一方で、RAM25に記憶された書き込み位置情
報を基に、書き込みデータが内部バス28を経由してS
CSIインターフェースB24を介してディスクドライ
ブ装置2に送られる。これらの書き込み位置情報と書き
込みデータの入出力制御はCPU27によって行われ
る。
【0039】前記キャッシュ装置20の書き込み時の処
理の流れを図6及び図7を用いて説明する。この処理を
行うプログラムには、書き込み位置情報と書き込みデー
タをRAM25に格納するプログラムAと、RAM25
に格納された書き込みデータをディスク7に書き込むプ
ログラムBの2つが存在する。
理の流れを図6及び図7を用いて説明する。この処理を
行うプログラムには、書き込み位置情報と書き込みデー
タをRAM25に格納するプログラムAと、RAM25
に格納された書き込みデータをディスク7に書き込むプ
ログラムBの2つが存在する。
【0040】まず、図6に基づいてプログラムAにおけ
る処理の流れを説明する。
る処理の流れを説明する。
【0041】プログラムAでは、ステップS1(以降は
ステップを省略し単にS1のように記す)でホストコン
ピュータ1から書き込み要求があるか否かを判断し、書
き込み要求を受けるまで待機する。S1でホストコンピ
ュータ1からの書き込み要求を受けると、S2でRAM
25に空き領域があるか否かを判断し、データを受け取
る領域が空くのを待つ。
ステップを省略し単にS1のように記す)でホストコン
ピュータ1から書き込み要求があるか否かを判断し、書
き込み要求を受けるまで待機する。S1でホストコンピ
ュータ1からの書き込み要求を受けると、S2でRAM
25に空き領域があるか否かを判断し、データを受け取
る領域が空くのを待つ。
【0042】記録媒体に光磁気ディスクなどを用いた装
置では、通常、ディスクへの書き込み処理がホストコン
ピュータから送られてくるコマンドの転送速度より遅い
ため、RAM25が満杯になることがある。このような
場合には次のデータを受け付けられないため、ホストコ
ンピュータ1を待たせることになる。
置では、通常、ディスクへの書き込み処理がホストコン
ピュータから送られてくるコマンドの転送速度より遅い
ため、RAM25が満杯になることがある。このような
場合には次のデータを受け付けられないため、ホストコ
ンピュータ1を待たせることになる。
【0043】S2でRAM25に空き領域がある場合
は、S3及びS4で、ディスク上の書き込み位置情報
(LBA)と書き込みデータとをホストコンピュータ1
から受け取り、RAM25に格納する。
は、S3及びS4で、ディスク上の書き込み位置情報
(LBA)と書き込みデータとをホストコンピュータ1
から受け取り、RAM25に格納する。
【0044】その後S1に再び戻り、次のホストコンピ
ュータ1からの書き込み要求を待つ。
ュータ1からの書き込み要求を待つ。
【0045】一方、プログラムAの処理とは別に、プロ
グラムBによってRAM25に格納されたデータをディ
スク7に書き込む処理を行う。図7にプログラムBにお
ける処理の流れを示す。
グラムBによってRAM25に格納されたデータをディ
スク7に書き込む処理を行う。図7にプログラムBにお
ける処理の流れを示す。
【0046】プログラムBでは、まずS11でRAM2
5に書き込みデータが存在しているか否かを判断する。
書き込みデータがある場合は、続いてS12で、書き込
みデータの中で最小のLBAを探し出す。ここで見つか
った最小のLBAを以降MinLBAと呼ぶ。なお、こ
のMinLBAの検索のために、LBAを予め昇順にソ
ートしておいても良い。
5に書き込みデータが存在しているか否かを判断する。
書き込みデータがある場合は、続いてS12で、書き込
みデータの中で最小のLBAを探し出す。ここで見つか
った最小のLBAを以降MinLBAと呼ぶ。なお、こ
のMinLBAの検索のために、LBAを予め昇順にソ
ートしておいても良い。
【0047】そして、S13で、MinLBAの次に小
さいLBAを探す。このLBAと前に検索されたMin
LBAとが連続しているか否かをS14で判断し、LB
Aが連続していない場合は、その間のLBAのデータを
ディスクから読み出して補間する必要があるため、S1
5で補間要求処理を開始する。
さいLBAを探す。このLBAと前に検索されたMin
LBAとが連続しているか否かをS14で判断し、LB
Aが連続していない場合は、その間のLBAのデータを
ディスクから読み出して補間する必要があるため、S1
5で補間要求処理を開始する。
【0048】次にS16で、今回検出されたLBAと先
のMinLBAとの差を計算し、定数Cと比較する。S
16において差が定数C以下の場合は、再びS13に戻
り、次に小さいLBAを検索する処理を繰り返す。
のMinLBAとの差を計算し、定数Cと比較する。S
16において差が定数C以下の場合は、再びS13に戻
り、次に小さいLBAを検索する処理を繰り返す。
【0049】なお、ここで用いた定数Cは、補間するL
BAの数(LBAが連続したデータとする範囲)を制限
する値である。定数Cが大き過ぎると補間処理のために
逆に処理時間の増大を招いてしまう。よって、この定数
Cは、シーク時間と1セクタあたりの転送に要する時間
から処理時間の損得勘定に基づいた概算値とする。例え
ば、光磁気ディスクの場合C=30前後に設定する。
BAの数(LBAが連続したデータとする範囲)を制限
する値である。定数Cが大き過ぎると補間処理のために
逆に処理時間の増大を招いてしまう。よって、この定数
Cは、シーク時間と1セクタあたりの転送に要する時間
から処理時間の損得勘定に基づいた概算値とする。例え
ば、光磁気ディスクの場合C=30前後に設定する。
【0050】S16において今回検出されたLBAとM
inLBAとの差が定数C以上となった場合は、S17
に進み、今回検出されたLBAとMinLBAの間の補
間LBAのデータをディスク7から読み出すことをディ
スクドライブ装置2に要求する。
inLBAとの差が定数C以上となった場合は、S17
に進み、今回検出されたLBAとMinLBAの間の補
間LBAのデータをディスク7から読み出すことをディ
スクドライブ装置2に要求する。
【0051】ディスク7からデータの読み出しを行って
いる際、S18で既にRAM25に格納されているデー
タか否かを判断し、RAM25内に存在しない場合はS
19で読み出したデータをRAM25に取り込む。ま
た、S18の判断において既にRAM25に格納されて
いるLBAのデータに関しては、S19をスキップして
RAM25には取り込まないでおく。
いる際、S18で既にRAM25に格納されているデー
タか否かを判断し、RAM25内に存在しない場合はS
19で読み出したデータをRAM25に取り込む。ま
た、S18の判断において既にRAM25に格納されて
いるLBAのデータに関しては、S19をスキップして
RAM25には取り込まないでおく。
【0052】そして、S20で補間が終了したか否かを
判断し、補間が終了するまでS18及びS19の処理を
繰り返す。
判断し、補間が終了するまでS18及びS19の処理を
繰り返す。
【0053】S20で補間が終了すると、S21に進ん
でホストコンピュータ1から送られてきたライトデータ
とディスク7から読み出した補間データとをまとめてデ
ィスクドライブ装置2へ転送してディスク7に書き込
む。
でホストコンピュータ1から送られてきたライトデータ
とディスク7から読み出した補間データとをまとめてデ
ィスクドライブ装置2へ転送してディスク7に書き込
む。
【0054】S21でディスク7へのデータの書き込み
を終了すると、S22で、書き込んだデータをRAM2
5から消去する。このデータが消去された領域は、再び
前記プログラムAによってホストコンピュータから次の
書き込みデータを受け取るために使用できる。
を終了すると、S22で、書き込んだデータをRAM2
5から消去する。このデータが消去された領域は、再び
前記プログラムAによってホストコンピュータから次の
書き込みデータを受け取るために使用できる。
【0055】その後、S11に再び戻り、次の最小LB
Aを探して補間を行いながら書き込む処理を繰り返す。
Aを探して補間を行いながら書き込む処理を繰り返す。
【0056】以上のように、本実施形態では、ディスク
にデータを書き込む際、書き込み位置が不連続な場合
に、ディスクからデータを読み出して連続になるように
補間してからデータをまとめて書き込むようにする。こ
れにより、データの書き込み位置が不連続な場合でも、
シークの回数を減少させることができ、ディスクへの書
き込みに関する処理時間を短縮させることができる。
にデータを書き込む際、書き込み位置が不連続な場合
に、ディスクからデータを読み出して連続になるように
補間してからデータをまとめて書き込むようにする。こ
れにより、データの書き込み位置が不連続な場合でも、
シークの回数を減少させることができ、ディスクへの書
き込みに関する処理時間を短縮させることができる。
【0057】なお、前述した実施形態では、キャッシュ
装置を独立に設けて各装置間の接続にSCSIインター
フェースを介在させているが、本発明のキャッシュ機能
は、ホストコンピュータまたはディスクドライブ装置の
内部にハードウェアで組み込む構成や、ソフトウェアで
組み込む構成などを用いた場合においても同様の効果を
得ることができる。
装置を独立に設けて各装置間の接続にSCSIインター
フェースを介在させているが、本発明のキャッシュ機能
は、ホストコンピュータまたはディスクドライブ装置の
内部にハードウェアで組み込む構成や、ソフトウェアで
組み込む構成などを用いた場合においても同様の効果を
得ることができる。
【0058】[付記] (1) 前記書き込み位置情報として、前記記録媒体上
のトラック位置及びセクタ位置を表すLBA(Logical
Block Address )を用いることを特徴とする付記1に記
載のキャッシュメモリ管理方法。
のトラック位置及びセクタ位置を表すLBA(Logical
Block Address )を用いることを特徴とする付記1に記
載のキャッシュメモリ管理方法。
【0059】(2) ホストコンピュータまたはオペレ
ーティングシステムからの書き込み要求を受けて記録媒
体に書き込むデータを書き込み位置情報と共に一時記憶
するキュッシュメモリ手段を備えたキャッシュメモリ装
置において、前記ホストコンピュータまたはオペレーテ
ィングシステムからディスクへの書き込み要求があった
とき、前記ホストコンピュータまたはオペレーティング
システムから受信した書き込みデータをディスク上の書
き込み位置情報と共に前記キュッシュメモリ手段に格納
するメモリ格納手段と、前記キュッシュメモリ手段に格
納された書き込み位置情報に基づき、書き込みデータの
書き込み位置が連続しているか否かを判断する書き込み
位置判別手段と、前記書き込みデータの書き込み位置が
連続している場合に、該データをまとめてディスクに書
き込む処理を行い、前記書き込みデータの書き込み位置
が不連続の場合に、該データの不連続な部分の書き込み
位置のデータを読み出して前記キュッシュメモリ手段上
で連続状態となるよう格納し、これらのデータをまとめ
てディスクに書き込む処理を行うデータ書き込み制御手
段と、を有することを特徴とするキャッシュメモリ装
置。
ーティングシステムからの書き込み要求を受けて記録媒
体に書き込むデータを書き込み位置情報と共に一時記憶
するキュッシュメモリ手段を備えたキャッシュメモリ装
置において、前記ホストコンピュータまたはオペレーテ
ィングシステムからディスクへの書き込み要求があった
とき、前記ホストコンピュータまたはオペレーティング
システムから受信した書き込みデータをディスク上の書
き込み位置情報と共に前記キュッシュメモリ手段に格納
するメモリ格納手段と、前記キュッシュメモリ手段に格
納された書き込み位置情報に基づき、書き込みデータの
書き込み位置が連続しているか否かを判断する書き込み
位置判別手段と、前記書き込みデータの書き込み位置が
連続している場合に、該データをまとめてディスクに書
き込む処理を行い、前記書き込みデータの書き込み位置
が不連続の場合に、該データの不連続な部分の書き込み
位置のデータを読み出して前記キュッシュメモリ手段上
で連続状態となるよう格納し、これらのデータをまとめ
てディスクに書き込む処理を行うデータ書き込み制御手
段と、を有することを特徴とするキャッシュメモリ装
置。
【0060】
【発明の効果】以上説明したように本発明によれば、書
き込み位置が不連続なデータの書き込みにおいても、シ
ークの回数を減少させて処理時間を短縮させることが可
能となる効果がある。
き込み位置が不連続なデータの書き込みにおいても、シ
ークの回数を減少させて処理時間を短縮させることが可
能となる効果がある。
【図1】ホストコンピュータのアプリケーションからデ
ィスクドライブ装置のディスクにアクセスするまでの経
路の構成例を示すブロック図
ィスクドライブ装置のディスクにアクセスするまでの経
路の構成例を示すブロック図
【図2】キャッシュ機能の概念を示す作用説明図
【図3】複数のデータをディスクに書き込む際に、従来
の方法による場合と本発明による書き込み処理を用いた
場合のそれぞれで要する処理時間を比較して示した作用
説明図
の方法による場合と本発明による書き込み処理を用いた
場合のそれぞれで要する処理時間を比較して示した作用
説明図
【図4】本発明による書き込み処理において、RAMに
格納される書き込み位置情報及び書き込みデータのやり
とりの概念を示す作用説明図
格納される書き込み位置情報及び書き込みデータのやり
とりの概念を示す作用説明図
【図5】本発明の実施形態に係るキャッシュ装置を備え
た情報記録再生システムの構成を示すブロック図
た情報記録再生システムの構成を示すブロック図
【図6】ホストコンピュータから送られてきた書き込み
位置情報と書き込みデータをRAMに格納するプログラ
ムAにおける処理の流れを示すフローチャート
位置情報と書き込みデータをRAMに格納するプログラ
ムAにおける処理の流れを示すフローチャート
【図7】RAMに格納された書き込みデータをディスク
に書き込むプログラムBにおける処理の流れを示すフロ
ーチャート
に書き込むプログラムBにおける処理の流れを示すフロ
ーチャート
【図8】従来例において、複数のデータとしてLBAが
連続したデータをディスクに書き込む場合に要する処理
時間の2つの例を示した作用説明図
連続したデータをディスクに書き込む場合に要する処理
時間の2つの例を示した作用説明図
1…ホストコンピュータ 2…ディスクドライブ装置 7…ディスク 8…ディスクコントローラ 20…キャッシュ装置 23…SCSIインターフェースA 24…SCSIインターフェースB 25…RAM 26…ROM 27…CPU 28…内部バス
Claims (1)
- 【請求項1】 ホストコンピュータまたはオペレーティ
ングシステムからの書き込み要求を受けて記録媒体に書
き込むデータを書き込み位置情報と共に一時記憶するキ
ュッシュメモリ手段を備えたキャッシュメモリ装置にお
いて、 前記ホストコンピュータまたはオペレーティングシステ
ムからディスクへの書き込み要求があったとき、 前記ホストコンピュータまたはオペレーティングシステ
ムから受信した書き込みデータをディスク上の書き込み
位置情報と共に前記キュッシュメモリ手段に格納する手
順と、 前記キュッシュメモリ手段に格納された書き込み位置情
報に基づき、書き込みデータの書き込み位置が連続して
いるか否かを判断する手順と、 前記書き込みデータの書き込み位置が連続している場合
に、該データをまとめてディスクに書き込む処理を行う
手順と、 前記書き込みデータの書き込み位置が不連続の場合に、
該データの不連続な部分の書き込み位置のデータを読み
出して前記キュッシュメモリ手段上で連続状態となるよ
う格納し、これらのデータをまとめてディスクに書き込
む処理を行う手順と、 を有することを特徴とするキャッシュメモリ管理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP7282042A JPH09128291A (ja) | 1995-10-30 | 1995-10-30 | キャッシュメモリ管理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP7282042A JPH09128291A (ja) | 1995-10-30 | 1995-10-30 | キャッシュメモリ管理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH09128291A true JPH09128291A (ja) | 1997-05-16 |
Family
ID=17647417
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP7282042A Withdrawn JPH09128291A (ja) | 1995-10-30 | 1995-10-30 | キャッシュメモリ管理方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH09128291A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009116834A (ja) * | 2007-11-09 | 2009-05-28 | Sony Corp | データ記録装置,データ記録装置の内部制御方法及びデータ記録システム |
-
1995
- 1995-10-30 JP JP7282042A patent/JPH09128291A/ja not_active Withdrawn
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009116834A (ja) * | 2007-11-09 | 2009-05-28 | Sony Corp | データ記録装置,データ記録装置の内部制御方法及びデータ記録システム |
US8112583B2 (en) | 2007-11-09 | 2012-02-07 | Sony Corporation | Data recording for a hard drive in response to commands |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5937427A (en) | Information recording apparatus and method capable of efficient erase, write and verify processes | |
JP2635023B2 (ja) | フアイルデータ用ラベル書き込み方法 | |
US5729718A (en) | System for determining lead time latency as function of head switch, seek, and rotational latencies and utilizing embedded disk drive controller for command queue reordering | |
KR100345632B1 (ko) | 기억 장치 및 그 제어 방법 | |
JP3183993B2 (ja) | ディスク制御システム | |
US6269420B1 (en) | Information recording/reproducing apparatus reducing disk access frequency to file management area and sharply accelerating record processing and reproduction processing | |
JPH1097385A (ja) | ディスク記録再生装置及び同装置に適用するインターフェース制御装置 | |
JPH04325923A (ja) | 光ディスク装置のアクセス制御方式 | |
KR19980029917A (ko) | 자기 디스크 드라이브에서 읽기 캐쉬의 성능을 높이기 위한 방법 | |
JP2759920B2 (ja) | Dasd周辺データ記憶サブシステムの作動方法及び装置 | |
US5872955A (en) | Method and apparatus for reading and writing data in a disk drive system | |
US6654852B2 (en) | Method and system of reading and writing data by a disk drive apparatus | |
JP2007102436A (ja) | ストレージ制御装置およびストレージ制御方法 | |
JP3969809B2 (ja) | 記憶装置におけるデータバッファの管理方法 | |
JPH09128291A (ja) | キャッシュメモリ管理方法 | |
US6496311B1 (en) | Data recording/reproducing unit, data recording method, data reproducing method, data recording/reproducing method, hard disk controller, and AV-data recording/reproducing method | |
JP2004102440A (ja) | コマンド処理方法及び記憶装置 | |
JPH07121308A (ja) | ディスク装置のライトバック制御方法 | |
JP3524954B2 (ja) | ディスク制御装置 | |
JPH0528651A (ja) | 情報記録再生装置 | |
JPH0684283A (ja) | 光磁気ディスクデータの転送方法 | |
JPH0628779A (ja) | ディスク装置におけるデータ記録制御方法 | |
JPH04111015A (ja) | 情報記録装置 | |
TW200529194A (en) | Storage performance improvement using data replication on a disk | |
JPH09128290A (ja) | キャッシュメモリ管理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20030107 |