JPH04311216A - External storage controller - Google Patents

External storage controller

Info

Publication number
JPH04311216A
JPH04311216A JP7628491A JP7628491A JPH04311216A JP H04311216 A JPH04311216 A JP H04311216A JP 7628491 A JP7628491 A JP 7628491A JP 7628491 A JP7628491 A JP 7628491A JP H04311216 A JPH04311216 A JP H04311216A
Authority
JP
Japan
Prior art keywords
data
read
buffer memory
external storage
stored
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
Application number
JP7628491A
Other languages
Japanese (ja)
Inventor
Takumi Tsubouchi
坪内 工
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Sord Computer Corp
Original Assignee
Toshiba Corp
Sord Computer Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp, Sord Computer Corp filed Critical Toshiba Corp
Priority to JP7628491A priority Critical patent/JPH04311216A/en
Publication of JPH04311216A publication Critical patent/JPH04311216A/en
Withdrawn legal-status Critical Current

Links

Abstract

PURPOSE:To surely increase the accessing speed to an external storage device by always effectively functioning a look-ahead cache system. CONSTITUTION:A block management memory 9 stores unused area management information which manages the unused area of a buffer memory 8 by blocks and data management information which manages data by blocks. A CPU 6 discriminates whether or not read requesting data are stored in the memory 8 based on the data management information and, when the data are stored, accesses the read requesting data in the memory 8. When the data are not stored in the memory 8, the CPU 6 accesses the data in an HDD 3. When the data in the HDD 3 is accessed, the CPU 6 reads look-ahead data from the HDD 3 and constitutes a block of the look-ahead data and read requesting data, and then, stores the block in an unused area.

Description

【発明の詳細な説明】[Detailed description of the invention]

【0001】0001

【産業上の利用分野】本発明は、コンピュータシステム
において、ハードディスク装置等の外部記憶装置のアク
セス制御を実行し、キャッシュメモリ方式を備えた外部
記憶制御装置に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an external storage control device for controlling access to an external storage device such as a hard disk drive in a computer system and having a cache memory system.

【0002】0002

【従来の技術】従来、コンピュータシステムでは、ハー
ドディスク装置(HDD)等の外部記憶装置が使用され
ている。HDDは大容量の記憶媒体を有し、通常ではフ
ァイル装置として使用されている。
2. Description of the Related Art Conventionally, computer systems have used external storage devices such as hard disk drives (HDD). The HDD has a large capacity storage medium and is normally used as a file device.

【0003】HDDは、ディスクコントローラ(HDC
)により駆動制御されて、ホストコンピュータに対して
データのリード/ライトを行なう。HDCは、ホストコ
ンピュータからリードコマンド(アクセス命令)を受信
すると、リード要求のセクタのデータをHDDからアク
セスし、ホストコンピュータに転送する制御を実行する
[0003] An HDD is a disk controller (HDC).
) to read/write data from/to the host computer. When the HDC receives a read command (access command) from the host computer, the HDC executes control to access data in the sector of the read request from the HDD and transfer it to the host computer.

【0004】ところで、HDD等の外部記憶装置は、シ
ステムのメインメモリと比較して、データアクセス速度
が低速である。このため、ホストコンピュータがHDD
をアクセスして要求データをリードするまで、かなりの
時間を要する。
By the way, external storage devices such as HDDs have a data access speed lower than that of the main memory of the system. For this reason, the host computer
It takes a considerable amount of time to access and read the requested data.

【0005】このような問題点を解消するために、キャ
ッシュメモリ方式を採用したHDCが開発されている。 このHDCは、HDDに記憶されているデータの一部(
セクタ単位)をバッファメモリに格納している。ホスト
コンピュータからアクセス命令があると、HDCはバッ
ファメモリに要求データが格納されているか否かを判定
する。格納されていれば(ヒット)、HDCは要求デー
タをバッファメモリからアクセスして、ホストコンピュ
ータに転送する。
[0005] In order to solve these problems, HDCs employing a cache memory system have been developed. This HDC stores some of the data stored on the HDD (
(in sector units) is stored in buffer memory. When receiving an access command from the host computer, the HDC determines whether the requested data is stored in the buffer memory. If it is stored (hit), the HDC accesses the requested data from the buffer memory and transfers it to the host computer.

【0006】一方、格納されていなければ、HDCは要
求データをHDDからアクセスし、ホストコンピュータ
に転送すると共に、バッファメモリに格納する制御を行
なう。このとき、HDCが要求データのセクタと連続す
るセクタを先読みデータとしてアクセスし、バッファメ
モリに格納する先読みキャッシュ方式がある。これによ
り、次に、ホストコンピュータがアクセス要求するデー
タがバッファメモリに格納される確率が高くなり、結果
的に、HDDのアクセス速度を高速化することが可能と
なる。
On the other hand, if the requested data is not stored, the HDC controls the access of the requested data from the HDD, transfers it to the host computer, and stores it in the buffer memory. At this time, there is a pre-read cache method in which the HDC accesses a sector consecutive to the sector of the requested data as pre-read data and stores it in a buffer memory. This increases the probability that the data that the host computer requests access to will be stored in the buffer memory, and as a result, it becomes possible to increase the access speed of the HDD.

【0007】[0007]

【発明が解決しようとする課題】キャッシュメモリ方式
を採用したHDCにより、HDD等の外部記憶装置のデ
ータアクセス速度の高速化を図ることができる。ところ
で、HDCが有するバッファメモリは、通常ではFIF
O(first−in−first−out)方式によ
り制御されている。このため、前記のような先読みキャ
ッシュ方式を採用した場合に、ホストコンピュータから
のリード要求がHDDの異なる位置(記録媒体のセクタ
)に対して交互に実行された場合に、バッファメモリに
格納された先読みデータが無効になるような事態が発生
する。
SUMMARY OF THE INVENTION By using an HDC that employs a cache memory method, it is possible to increase the data access speed of an external storage device such as an HDD. By the way, the buffer memory that HDC has is usually FIF
It is controlled by an O (first-in-first-out) method. Therefore, when the above-mentioned read-ahead cache method is adopted, when read requests from the host computer are executed alternately to different locations (sectors of the recording medium) on the HDD, the data stored in the buffer memory A situation occurs in which the read-ahead data becomes invalid.

【0008】即ち、ホストコンピュータからのリード要
求が記録媒体の複数の位置に対して、シーケンシャルに
実行されるときに、リード位置が移動する毎に、前にバ
ッファメモリに格納した先読みデータが次のリードによ
り無効になる。このため、特にマルチタスクOSの制御
の下で、ホストコンピュータがHDDをアクセスするよ
うな場合には、HDDのアクセス速度の高速化を実現で
きないことがある。
That is, when a read request from a host computer is executed sequentially to a plurality of positions on a recording medium, each time the read position moves, the pre-read data previously stored in the buffer memory is Disabled by lead. Therefore, especially when the host computer accesses the HDD under the control of a multitasking OS, it may not be possible to increase the access speed of the HDD.

【0009】本発明の目的は、先読みキャッシュ方式を
採用した外部記憶制御装置において、外部記憶装置の複
数のアクセス位置に対して交互にアクセスするような場
合でも、先読みキャッシュ方式を有効に機能させて、外
部記憶装置のアクセス速度の高速化を確実に実現するこ
とにある。
An object of the present invention is to enable the read-ahead cache method to function effectively even when a plurality of access positions in the external storage device are accessed alternately in an external storage control device that employs the read-ahead cache method. The object of the present invention is to reliably increase the access speed of an external storage device.

【0010】0010

【課題を解決するための手段】本発明は、ホストコンピ
ュータからの命令に応じて外部記憶手段の制御を実行す
る外部記憶制御装置において、外部記憶装置からリード
要求データをアクセスするときに、このリード要求デー
タと先読みデータを格納するバッファメモリ手段を有す
る。バッファメモリ手段は、例えば複数のセクタ単位か
らなるブロック単位のデータを一時的に格納する。
[Means for Solving the Problems] The present invention provides an external storage control device that controls external storage means in response to instructions from a host computer. It has buffer memory means for storing request data and pre-read data. The buffer memory means temporarily stores data in units of blocks, each consisting of a plurality of sectors, for example.

【0011】さらに、本装置は、バッファメモリ手段に
格納されたデータおよび未使用エリアを管理するための
ブロック管理メモリ手段、ホストコンピュータからのリ
ード要求に応じてデータのアクセス制御を行なう第1の
制御手段およびリード要求データと先読みデータをバッ
ファメモリ手段に格納するときの制御を行なう第2の制
御手段とを備えている。
[0011]Furthermore, the present device includes block management memory means for managing data stored in the buffer memory means and unused areas, and a first control unit for controlling access to data in response to read requests from the host computer. and second control means for controlling when the read request data and pre-read data are stored in the buffer memory means.

【0012】0012

【作用】本発明では、ブロック管理メモリ手段は、バッ
ファメモリ手段の格納エリアの中で未使用エリアをブロ
ック単位に管理する未使用管理情報を格納し、かつバッ
ファメモリ手段に格納されたブロック単位のデータを管
理するデータ管理情報を格納する。第1の制御手段は、
ホストコンピュータからのリード要求に応じて、ブロッ
ク管理メモリ手段に格納されたデータ管理情報に基づい
てバッファメモリ手段にリード要求データが格納されて
いるか否かを判定し、格納されている場合にはバッファ
メモリ手段からリード要求データをアクセスし、格納さ
れていない場合には外部記憶手段からリード要求データ
をアクセスする。さらに、第2の制御手段は、第1の制
御手段が外部記憶手段からアクセスするときに、リード
要求データに関連するアクセス単位のデータを先読みデ
ータとして外部記憶手段からリードし、先読みデータと
リード要求データと共にブロック単位を構成して未使用
管理情報により指示されるバッファメモリ手段の未使用
エリアに格納する。
[Operation] In the present invention, the block management memory means stores unused management information for managing unused areas on a block-by-block basis in the storage area of the buffer memory means, and stores unused management information on a block-by-block basis stored in the buffer memory means. Stores data management information for managing data. The first control means is
In response to a read request from the host computer, it is determined whether the read request data is stored in the buffer memory means based on the data management information stored in the block management memory means, and if it is stored, the buffer The read request data is accessed from the memory means, and if it is not stored, the read request data is accessed from the external storage means. Furthermore, when the first control means accesses from the external storage means, the second control means reads data in the access unit related to the read request data from the external storage means as pre-read data, and reads the pre-read data and the read request data. It forms a block unit with data and stores it in an unused area of the buffer memory means indicated by the unused management information.

【0013】[0013]

【実施例】以下図面を参照して本発明の実施例を説明す
る。
DESCRIPTION OF THE PREFERRED EMBODIMENTS Examples of the present invention will be described below with reference to the drawings.

【0014】図1は同実施例に係わる外部記憶システム
の構成を示すブロック図である。本システムは、コンピ
ュータシステムの本体であるホストコンピュータ1、外
部記憶装置であるハードディスクドライブ(HDD)3
及びHDD3の制御を行なう外部記憶制御装置であるH
DC2からなる。
FIG. 1 is a block diagram showing the configuration of an external storage system according to the same embodiment. This system consists of a host computer 1, which is the main body of the computer system, and a hard disk drive (HDD) 3, which is an external storage device.
and H, which is an external storage control device that controls the HDD3.
Consists of DC2.

【0015】HDC2は、ホストインターフェース4、
ディスクインターフェース5、CPU6、制御メモリ7
、バッファメモリ8及びブロック管理メモリ9を有する
。ホストインターフェース4は、ホストコンピュータ1
との間でデータ及びコマンド等の転送を行なうためのイ
ンターフェースである。ディスクインターフェース5は
、HDD3との間でデータの転送を行なうためのインタ
ーフェースである。
[0015] The HDC 2 has a host interface 4,
Disk interface 5, CPU 6, control memory 7
, a buffer memory 8 and a block management memory 9. The host interface 4 is connected to the host computer 1
This is an interface for transferring data, commands, etc. between The disk interface 5 is an interface for transferring data between the HDD 3 and the HDD 3 .

【0016】CPU6は第1及び第2の制御手段を構成
しており、HDC2の全体的制御を行なうマイクロプロ
セッサである。制御メモリ7は、CPU6が制御動作を
行なうためのプログラムを格納しているROMである。 バッファメモリ8は、先読みキャッシュ機能を実行する
ためのメモリであり、CPU6により制御される。ブロ
ック管理メモリ9は、本発明の要旨に関係するバッファ
メモリ8の管理情報を格納したメモリである。次に、同
実施例の動作を説明する。
The CPU 6 constitutes first and second control means, and is a microprocessor that performs overall control of the HDC 2. The control memory 7 is a ROM that stores programs for the CPU 6 to perform control operations. The buffer memory 8 is a memory for executing a pre-read cache function, and is controlled by the CPU 6. The block management memory 9 is a memory that stores management information for the buffer memory 8 related to the gist of the present invention. Next, the operation of this embodiment will be explained.

【0017】先ず、HDD3は、図4の(B)に示すよ
うに、複数のディスク(記録媒体)10、11を有し、
HDC2の制御の下に、セクタ単位のデータのリード/
ライトを行なう。セクタとは、図4の(A)に示すよう
に、ディスク10、11の各面に設けられた複数のトラ
ックにおいて、トラック12を区画した単位記録エリア
である。このセクタ単位がアクセス単位となる。
First, as shown in FIG. 4(B), the HDD 3 has a plurality of disks (recording media) 10 and 11.
Under the control of HDC2, read/read data in sector units.
Do a light. As shown in FIG. 4A, a sector is a unit recording area obtained by partitioning a track 12 in a plurality of tracks provided on each surface of the disks 10 and 11. This sector unit becomes the access unit.

【0018】図2のステップS1に示すように、ホスト
コンピュータ1からリードコマンド(リード要求)が出
力されると、HDC2はホストインターフェース4を通
じてリードコマンドを受信する。
As shown in step S1 in FIG. 2, when a read command (read request) is output from the host computer 1, the HDC 2 receives the read command through the host interface 4.

【0019】CPU6は、リード要求データ(対象セク
タ)がバッファメモリ8に格納されているか否かの判定
を行なう。即ち、CPU6は、ブロック管理メモリ9を
検索し、リード要求データに対応する管理情報が存在す
るか否かを判定する(ステップS2)。
The CPU 6 determines whether the read request data (target sector) is stored in the buffer memory 8 or not. That is, the CPU 6 searches the block management memory 9 and determines whether management information corresponding to the read request data exists (step S2).

【0020】ブロック管理メモリ9は、図3の(B)に
示すように、先読みブロックの管理リスト(データ管理
情報)と未使用ブロックの管理リスト(未使用管理情報
)を格納している。先読みブロックの管理リストは、ブ
ロック単位の先読みデータ(キャッシュデータ)を管理
するための情報テーブルである。ここで、1ブロックは
、例えば4セクタからなり、先頭セクタから連続する4
セクタからなる。先読みブロックの管理リストは、ブロ
ック毎にデータ管理情報を有する。このデータ管理情報
は、先頭セクタ番号(例えばセクタA)、先読み総ブロ
ック数(例えば4)、先頭4セクタのブロック番号(例
えば2)、次の4セクタのブロック番号(N)、3番目
の4セクタのブロック番号および最後の4セクタのブロ
ック番号からなる。
As shown in FIG. 3B, the block management memory 9 stores a management list of prefetch blocks (data management information) and a management list of unused blocks (unused management information). The prefetch block management list is an information table for managing prefetch data (cache data) in block units. Here, one block consists of, for example, 4 sectors, and 4 sectors consecutive from the first sector.
Consists of sectors. The prefetch block management list has data management information for each block. This data management information includes the first sector number (for example, sector A), the total number of blocks read ahead (for example, 4), the block number of the first four sectors (for example, 2), the block number (N) of the next four sectors, and the third block number (for example, 4). It consists of the block number of the sector and the block numbers of the last four sectors.

【0021】一方、バッファメモリ8は、図3の(A)
に示すように、ブロック単位(ブロック番号1〜N)の
格納エリアを有し、先読みブロックの管理リストに応じ
たブロックの先読みデータを格納している。即ち、例え
ばブロック番号2のエリアには、先頭セクタ番号A〜A
+3までの4セクタのデータが格納されている。なお、
ブロック番号1,4はそれぞれ空きエリアであり、先読
みデータの格納エリアとしては現在使用されていない未
使用エリアである。
On the other hand, the buffer memory 8 is shown in FIG.
As shown in , it has a storage area in block units (block numbers 1 to N), and stores pre-read data of blocks according to a management list of pre-read blocks. That is, for example, in the area of block number 2, the first sector numbers A to A
Four sectors of data up to +3 are stored. In addition,
Block numbers 1 and 4 are empty areas, respectively, and are unused areas that are not currently used as storage areas for pre-read data.

【0022】ホストコンピュータ1からのリード要求の
対象セクタが例えばセクタAであれば(ステップS3の
YES)、CPU6はバッファメモリ8からブロック番
号2のエリアをアクセスして、セクタ番号Aのデータを
リードし、ホストコンピュータ1に転送する(ステップ
S7)。
If the target sector of the read request from the host computer 1 is, for example, sector A (YES in step S3), the CPU 6 accesses the area of block number 2 from the buffer memory 8 and reads the data of sector number A. and transfers it to the host computer 1 (step S7).

【0023】一方、データ管理情報に基づいてバッファ
メモリ8には、対象セクタが存在しないと判定した場合
には(ステップS3のNO)、CPU6はディスクイン
ターフェース5を通じて、HDD3をアクセスする(ス
テップS4)。即ち、CPU6は、HDD3のディスク
10,11から要求セクタをアクセスする。CPU6は
、HDD3からリードした要求セクタのデータをホスト
コンピュータ1に転送する。
On the other hand, if it is determined that the target sector does not exist in the buffer memory 8 based on the data management information (NO in step S3), the CPU 6 accesses the HDD 3 through the disk interface 5 (step S4). . That is, the CPU 6 accesses the requested sector from the disks 10 and 11 of the HDD 3. The CPU 6 transfers the requested sector data read from the HDD 3 to the host computer 1.

【0024】このアクセス時に、CPU6は、ブロック
管理メモリ9の未使用ブロックの管理リスト(未使用管
理情報)を検索し、バッファメモリ8の未使用ブロック
(空きエリア)を求める。CPU6は、検索したバッフ
ァメモリ8の空きエリアに、HDD3からリードした要
求セクタのデータを格納する(ステップS5)。未使用
ブロックの管理リストは、図3の(B)に示すように、
バッファメモリ8の未使用ブロックの総数および未使用
ブロックの第1エントリ(例えばブロック番号1)、第
2エントリ(例えばブロック番号4)から第Nエントリ
までの新たなデータの格納可能なエリアを示す管理情報
からなる。
At the time of this access, the CPU 6 searches the unused block management list (unused management information) in the block management memory 9 to find an unused block (empty area) in the buffer memory 8. The CPU 6 stores the data of the requested sector read from the HDD 3 in the searched empty area of the buffer memory 8 (step S5). The management list of unused blocks is as shown in (B) of FIG.
Management that indicates the total number of unused blocks in the buffer memory 8 and the area in which new data can be stored from the first entry (for example, block number 1), second entry (for example, block number 4) to the Nth entry of unused blocks. Consists of information.

【0025】ここで、ホストコンピュータ1からのリー
ドコマンドが継続中であれば(ステップS6のYES)
、CPU6は要求セクタを先頭セクタとして、連続する
複数のセクタ(4セクタ)のデータを先読みする先読み
処理を実行する(ステップS8)。このとき、CPU6
は、ブロック管理メモリ9の未使用管理情報に基づいて
未使用ブロックを検索し、バッファメモリ8の未使用ブ
ロック番号の空きエリアに先読みデータを格納する(ス
テップS9、S10)。この場合、CPU6は、要求セ
クタを格納した第1エントリのブロック番号1の空きエ
リアに、4セクタ分(要求セクタを含む)の先読みデー
タを格納する。リードコマンドが継続中であれば、CP
U6は、さらに4セクタ分の先読みデータをHDD3か
らリードし、バッファメモリ8の例えば第2エントリの
ブロック番号4の空きエリアに格納する。
Here, if the read command from the host computer 1 is continuing (YES in step S6)
, the CPU 6 executes a prefetch process of prefetching data in a plurality of consecutive sectors (four sectors), using the requested sector as the first sector (step S8). At this time, CPU6
searches for an unused block based on the unused management information in the block management memory 9, and stores the pre-read data in the empty area of the unused block number in the buffer memory 8 (steps S9 and S10). In this case, the CPU 6 stores four sectors worth of pre-read data (including the requested sector) in the empty area of block number 1 of the first entry that stores the requested sector. If the read command is continuing, CP
U6 further reads four sectors worth of pre-read data from the HDD 3 and stores it in the empty area of block number 4 of the second entry of the buffer memory 8, for example.

【0026】ところで、ホストコンピュータ1からのリ
ード要求データ(要求セクタ)がバッファメモリ8に格
納されている場合に(ヒット)、CPU6はバッファメ
モリ8からのデータをHDD3からのリードデータとし
てホストコンピュータ1に転送する。この転送後に、C
PU6は、リードしたブロックをブロック管理メモリ9
の先読みブロックの管理リストから削除し、未使用ブロ
ックの管理リストに新たな未使用ブロックとして登録す
る。
By the way, when the read request data (request sector) from the host computer 1 is stored in the buffer memory 8 (hit), the CPU 6 uses the data from the buffer memory 8 as read data from the HDD 3 to read from the host computer 1. Transfer to. After this transfer, C
The PU6 stores the read block in the block management memory 9.
, and register it as a new unused block in the unused block management list.

【0027】このようにして、ホストコンピュータ1か
らのリード要求に応じて、バッファメモリ8に要求デー
タ(要求セクタ)が格納されていれば、バッファメモリ
8からアクセスして、ホストコンピュータ1に転送する
。したがって、HDD3をアクセスすることなく、バッ
ファメモリ8からアクセスすることにより、高速にデー
タをアクセスすることが可能となる。
In this way, in response to a read request from the host computer 1, if the requested data (requested sector) is stored in the buffer memory 8, it is accessed from the buffer memory 8 and transferred to the host computer 1. . Therefore, by accessing from the buffer memory 8 without accessing the HDD 3, data can be accessed at high speed.

【0028】次に、バッファメモリ8にはブロック単位
の先読みデータを格納する管理を実行する。これにより
、以下のような効果がある。即ち、図4の(B)に示す
ように、ディスク10,11の同一シリンダNで異なる
位置のセクタAとセクタBとを交互にリード要求する場
合に、各セクタA,Bに連続する先読みデータを有効に
使用することができる。具体的には、図3の(A)に示
すように、セクタAをHDD3からアクセスした場合に
、先読みデータ(A+1〜A+3)をブロック番号2に
格納し、またセクタBをHDD3からアクセスした場合
に、先読みデータ(B+1〜B+3)をブロック番号3
に格納する。したがって、次にセクタAとセクタBとを
交互にリード要求した場合に、各データを共に、バッフ
ァメモリ8からアクセスすることができる。言い換えれ
ば、セクタAとセクタBとを交互にリード要求した場合
に、一方の先読みデータがバッファメモリ8から削除さ
れて無効になるような事態は発生しない。
Next, management is performed to store pre-read data in blocks in the buffer memory 8. This has the following effects. That is, as shown in FIG. 4(B), when read requests are made alternately to sectors A and sectors B at different positions in the same cylinder N of disks 10 and 11, continuous pre-read data in each sector A and B is can be used effectively. Specifically, as shown in (A) of FIG. 3, when sector A is accessed from HDD 3, pre-read data (A+1 to A+3) is stored in block number 2, and when sector B is accessed from HDD 3. , the pre-read data (B+1 to B+3) is transferred to block number 3.
Store in. Therefore, when next requests are made to read sectors A and B alternately, each data can be accessed from the buffer memory 8. In other words, when read requests are made alternately for sectors A and Sector B, a situation in which the pre-read data of one is deleted from the buffer memory 8 and becomes invalid does not occur.

【0029】なお、前記実施例において、先読みデータ
の処理を継続しているときに、シーケンシャルでないリ
ード要求が出力された場合に、以下のような先読み処理
の終了制御方式がある。第1の方式として、予めブロッ
クに対して所定の閾値(セクタ数)を設定し、この閾値
に基づいて先読み処理をブロックの最後まで継続するか
、またはブロックを無効にして未使用ブロックに戻すか
の制御を行なう。例えば、閾値をm/2セクタとした場
合に、ブロックの半分以上のリードが終了している場合
には最後まで先読み処理を継続し、半分以下の場合には
先読み処理を中断する。第2の方式として、予め最小先
読みブロック数を設定し、この最小先読みブロック数を
越えて先読み処理が進行している場合には、前記の第1
の方式を適用する。そうでない場合には、最小先読みブ
ロック数に到達するまでは、先読み処理を継続する。
In the above-mentioned embodiment, when a non-sequential read request is output while processing of pre-read data is continued, there is the following method for controlling the end of the pre-read processing. The first method is to set a predetermined threshold (number of sectors) for a block in advance, and then continue read-ahead processing until the end of the block based on this threshold, or invalidate the block and return it to an unused block. control. For example, when the threshold value is m/2 sectors, if half or more of the block has been read, the prefetch process is continued until the end, and if it is less than half, the prefetch process is interrupted. As a second method, a minimum number of prefetch blocks is set in advance, and if the prefetch process is progressing beyond this minimum number of prefetch blocks, the first method described above is used.
Apply the method. Otherwise, the prefetch process continues until the minimum number of prefetch blocks is reached.

【0030】次に、先読み処理の最大先読みブロック数
の決定方式には、固定的に最大先読みブロック数を設定
する方式とリードデータ長を入力とする関数で最大先読
みブロック数を設定する方式とがある。
Next, there are two methods for determining the maximum number of read-ahead blocks in the read-ahead process: a method in which the maximum number of read-ahead blocks is fixedly set, and a method in which the maximum number of read-ahead blocks is set using a function that takes the read data length as input. be.

【0031】さらに、先読み処理中に空きブロック(未
使用ブロック)が無くなった場合の制御方式としては、
空きブロックが無くなったときに、先読み処理を直ちに
中止する方式がある。
Furthermore, as a control method when there are no free blocks (unused blocks) during prefetch processing,
There is a method that immediately stops the read-ahead process when there are no more free blocks.

【0032】[0032]

【発明の効果】以上詳述したように本発明によれば、先
読みキャッシュ方式を採用した外部記憶制御装置におい
て、バッファメモリに格納する先読みデータをブロック
単位にで管理する方式により、ホストコンピュータから
のリード要求が外部記憶装置の異なる記憶位置に対して
交互に実行されるような場合でも、常に先読みデータを
有効に利用することができる。したがって、結果的に外
部記憶装置のアクセス速度の高速化を確実に実現するこ
とが可能となる。
As described in detail above, according to the present invention, in an external storage control device that employs a read-ahead cache method, the read-ahead data stored in the buffer memory is managed block by block, thereby making it possible for the host computer to Even when read requests are executed alternately to different storage locations in the external storage device, the pre-read data can always be used effectively. Therefore, as a result, it is possible to reliably achieve faster access speeds to the external storage device.

【図面の簡単な説明】[Brief explanation of the drawing]

【図1】本発明の実施例に係わる外部記憶システムの構
成を示すブロック図。
FIG. 1 is a block diagram showing the configuration of an external storage system according to an embodiment of the present invention.

【図2】同実施例に係わる動作を説明するためのフロー
チャート。
FIG. 2 is a flowchart for explaining operations related to the embodiment.

【図3】同実施例に係わるメモリの内容を説明するため
の概念図。
FIG. 3 is a conceptual diagram for explaining the contents of a memory according to the same embodiment.

【図4】同実施例に係わるハードディスク装置の構造を
説明するための概念図。
FIG. 4 is a conceptual diagram for explaining the structure of a hard disk device according to the same embodiment.

【符号の説明】[Explanation of symbols]

1…ホストコンピュータ、2…HDC、3…HDD、6
…CPU、8…バッファメモリ、9…ブロック管理メモ
リ。
1...Host computer, 2...HDC, 3...HDD, 6
...CPU, 8...Buffer memory, 9...Block management memory.

Claims (2)

【特許請求の範囲】[Claims] 【請求項1】  ホストコンピュータからの命令に応じ
て外部記憶手段のアクセス制御を行なう外部記憶制御装
置において、前記外部記憶手段に記憶されているデータ
群の中から複数のアクセス単位からなるブロック単位の
データを一時的に格納するバッファメモリ手段と、この
バッファメモリ手段の格納エリアの中で未使用エリアを
前記ブロック単位に管理する未使用管理情報を格納し、
かつ前記バッファメモリ手段に格納された前記ブロック
単位のデータを管理するデータ管理情報を格納したブロ
ック管理メモリ手段と、前記ホストコンピュータからの
リード要求に応じて、前記ブロック管理メモリ手段に格
納された前記データ管理情報に基づいて前記バッファメ
モリ手段にリード要求データが格納されているか否かを
判定し、格納されている場合には前記バッファメモリ手
段から前記リード要求データをアクセスし、格納されて
いない場合には前記外部記憶手段から前記リード要求デ
ータをアクセスする第1の制御手段と、この第1の制御
手段が前記外部記憶手段からアクセスするときに、前記
リード要求データに関連する前記アクセス単位のデータ
を先読みデータとして前記外部記憶手段からリードし、
前記先読みデータと前記リード要求データとで前記ブロ
ック単位を構成して前記未使用管理情報により指示され
る前記バッファメモリ手段の前記未使用エリアに格納す
る第2の制御手段とを具備したことを特徴とする外部記
憶制御装置。
1. An external storage control device that controls access to external storage means in response to instructions from a host computer, wherein a block unit consisting of a plurality of access units is selected from among a data group stored in the external storage means. buffer memory means for temporarily storing data; and unused management information for managing unused areas in the storage area of the buffer memory means in units of blocks;
and block management memory means storing data management information for managing the data in units of blocks stored in the buffer memory means; It is determined whether the read request data is stored in the buffer memory means based on data management information, and if it is stored, the read request data is accessed from the buffer memory means, and if it is not stored, the read request data is accessed from the buffer memory means. a first control means for accessing the read request data from the external storage means; and a first control means for accessing the read request data from the external storage means; read from the external storage means as pre-read data,
A second control means for configuring the block unit by the pre-read data and the read request data and storing it in the unused area of the buffer memory means indicated by the unused management information. external storage controller.
【請求項2】  ホストコンピュータからの命令に応じ
て外部記憶手段のアクセス制御を行なう外部記憶制御装
置において、前記外部記憶手段に記憶されているデータ
群の中から複数のアクセス単位からなるブロック単位の
データを一時的に格納するバッファメモリ手段と、この
バッファメモリ手段の格納エリアの中で未使用エリアを
前記ブロック単位に管理する未使用管理情報を格納し、
かつ前記バッファメモリ手段に格納された前記ブロック
単位のデータを管理するデータ管理情報を格納したブロ
ック管理メモリ手段と、前記ホストコンピュータからの
リード要求に応じて、前記ブロック管理メモリ手段に格
納された前記データ管理情報に基づいて前記バッファメ
モリ手段にリード要求データが格納されているか否かを
判定し、格納されている場合には前記バッファメモリ手
段から前記リード要求データをアクセスし、格納されて
いない場合には前記外部記憶手段から前記リード要求デ
ータをアクセスする第1の制御手段と、この第1の制御
手段が前記外部記憶手段からアクセスするときに、前記
リード要求データに関連する前記アクセス単位のデータ
を先読みデータとして前記外部記憶手段からリードし、
前記先読みデータと前記リード要求データとで前記ブロ
ック単位を構成して前記未使用管理情報により指示され
る前記バッファメモリ手段の前記未使用エリアに格納す
る第2の制御手段と、この第2の制御手段により前記先
読みデータのリード動作の継続中で、前記リード要求デ
ータとは関連しないリード要求が発生した場合に、予め
決定された規則に基づいて前記ブロック単位まで前記先
読みデータのリード動作を継続するかまたはそのリード
動作を中断してリードした前記先読みデータを無効する
ように先読みデータのリード動作の終了制御を実行する
第3の制御手段とを具備したことを特徴とする外部記憶
制御装置。
2. An external storage control device that controls access to external storage means in response to instructions from a host computer, wherein a block unit consisting of a plurality of access units is selected from a data group stored in the external storage means. buffer memory means for temporarily storing data; and unused management information for managing unused areas in the storage area of the buffer memory means in units of blocks;
and block management memory means storing data management information for managing the data in units of blocks stored in the buffer memory means; It is determined whether the read request data is stored in the buffer memory means based on data management information, and if it is stored, the read request data is accessed from the buffer memory means, and if it is not stored, the read request data is accessed from the buffer memory means. a first control means for accessing the read request data from the external storage means; and a first control means for accessing the read request data from the external storage means; read from the external storage means as pre-read data,
a second control means for configuring the block unit with the pre-read data and the read request data and storing it in the unused area of the buffer memory means indicated by the unused management information; The means continues the read operation of the pre-read data up to the block unit based on a predetermined rule when a read request unrelated to the read request data occurs while the read operation of the pre-read data is continuing. or third control means for executing end control of a pre-read data read operation so as to interrupt the read operation and invalidate the read pre-read data.
JP7628491A 1991-04-09 1991-04-09 External storage controller Withdrawn JPH04311216A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP7628491A JPH04311216A (en) 1991-04-09 1991-04-09 External storage controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7628491A JPH04311216A (en) 1991-04-09 1991-04-09 External storage controller

Publications (1)

Publication Number Publication Date
JPH04311216A true JPH04311216A (en) 1992-11-04

Family

ID=13601007

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7628491A Withdrawn JPH04311216A (en) 1991-04-09 1991-04-09 External storage controller

Country Status (1)

Country Link
JP (1) JPH04311216A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06180633A (en) * 1992-12-11 1994-06-28 Teac Corp Disk device
JP2009211217A (en) * 2008-03-01 2009-09-17 Toshiba Corp Memory system
WO2011048764A1 (en) * 2009-10-19 2011-04-28 パナソニック株式会社 Decoding apparatus, decoding method, program and integrated circuit
CN105606856A (en) * 2015-12-21 2016-05-25 南昌市科陆智能电网科技有限公司 Method for raising power meter system real-time response speed, system and power meter

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06180633A (en) * 1992-12-11 1994-06-28 Teac Corp Disk device
JP2009211217A (en) * 2008-03-01 2009-09-17 Toshiba Corp Memory system
US8225047B2 (en) 2008-03-01 2012-07-17 Kabushiki Kaisha Toshiba Memory system with pre-fetch operation
WO2011048764A1 (en) * 2009-10-19 2011-04-28 パナソニック株式会社 Decoding apparatus, decoding method, program and integrated circuit
CN102197652A (en) * 2009-10-19 2011-09-21 松下电器产业株式会社 Decoding apparatus, decoding method, program and integrated circuit
CN105606856A (en) * 2015-12-21 2016-05-25 南昌市科陆智能电网科技有限公司 Method for raising power meter system real-time response speed, system and power meter

Similar Documents

Publication Publication Date Title
US6381677B1 (en) Method and system for staging data into cache
EP0080876B1 (en) Cache control method and apparatus
KR100373313B1 (en) A method and system for managing a cache memory
US6993629B2 (en) Prestaging data into cache in preparation for data transfer operations
US6230239B1 (en) Method of data migration
JP3183993B2 (en) Disk control system
JP3137554B2 (en) Data transfer / management system and method
JP3586887B2 (en) Information recording / reproducing apparatus and data cache method
US4974197A (en) Batching data objects for recording on optical disks with maximum object count
JP2003131942A (en) Apparatus and method for controlling cache of hard disk devices
US5694570A (en) Method and system of buffering data written to direct access storage devices in data processing systems
JPH07225715A (en) Method and system for accessing data in cache
JP3087429B2 (en) Storage system
KR19980029917A (en) How to improve read cache performance on magnetic disk drives
JP3566319B2 (en) Information storage device
ATE162644T1 (en) MULTI-STEP DATA READER DEVICE
JPH04311216A (en) External storage controller
JPH11212733A (en) External storage system
JP2634867B2 (en) Disk cache data transfer control method
JPH03102443A (en) Data preread controlling system
JP2973474B2 (en) Magneto-optical disk drive
EP0278471B1 (en) Data processing method and system for accessing rotating storage means
JP2567903B2 (en) Data transfer method
WO1994022134A1 (en) Buffer control for data transfer within hard disk during idle periods
JPH06250793A (en) Data processor

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 19980711