JP3735495B2 - Disk controller - Google Patents
Disk controller Download PDFInfo
- Publication number
- JP3735495B2 JP3735495B2 JP27252399A JP27252399A JP3735495B2 JP 3735495 B2 JP3735495 B2 JP 3735495B2 JP 27252399 A JP27252399 A JP 27252399A JP 27252399 A JP27252399 A JP 27252399A JP 3735495 B2 JP3735495 B2 JP 3735495B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- block
- disk
- read
- disk control
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Description
【0001】
【発明の属する技術分野】
本発明はディスク制御装置に係り、特に、ホスト装置からの読込み要求に応じてデータの先読み処理を行なうようにしたディスク制御装置に関する。
【0002】
【従来の技術】
従来から、データの書込みあるいは読込み等の要求を発するホスト装置に、ディスク制御部を介してハードディスクドライブ等のディスク装置を接続してなるディスク装置が一般的に用いられている。このディスク装置には、特定のブロック単位でデータが記録されるようになっている。
【0003】
このようなディスク装置においては、前記ホスト装置からディスク制御部に対して連続した読込み要求が発せられたら、ディスク制御部からディスク装置に対して、所望のデータが記録されたブロックのデータの読込み指令を発する。この読込み指令を受けて、ディスク装置により該当するブロックのデータを読込む。
【0004】
そして、このブロックのデータの読込みが完了して、データがディスク制御部に送られたら、ディスク制御部は、そのデータをホスト装置に送るようになっている。
【0005】
この場合に、従来から、ホスト装置から連続した読込み要求が発せられた場合に、前記ディスク制御部により、ディスク装置の所定のブロックのデータを読込んだ際に、次のブロックのデータをあらかじめ読込んでおく先読み指令を発することが行なわれている。このようにデータの先読みを行なうことにより、ホスト装置からの読込み要求の前に、先読みしたデータをキャッシュメモリに保存しておき、ホスト装置からの読込み要求が発せられたデータを、ディスク装置ではなく、キャッシュメモリから読込むことにより、読込み速度の高速化を図ることができるようにしている。
【0006】
【発明が解決しようとする課題】
しかし、従来のディスク装置においては、ホスト装置から連続した読込み要求が発せられた場合に、ディスク制御部により、次のブロックのデータをあらかじめ先読みするようにしているが、この先読みするブロックが読込み要求に応じたブロックの次のブロックであることから、ホスト装置から、読込み要求に応じたブロックの次のブロックのデータの読込み要求が発せられたときに、まだ先読みデータがディスク装置からディスク制御部に送られていない場合があるという問題がある。そのため、ブロックのデータを先読みしたとしても、その効果がなく、データの読込み速度の高速化の実効を図ることができないという問題を有している。
【0007】
本発明は前記した点に鑑みてなされたもので、ホスト装置から読込み要求に応じてディスク装置から先読みデータを確実に読込むことができ、データの先読み効果を十分に得ることができ、データの読込み速度の高速化の実効を図ることのできるディスク制御装置を提供することを目的とするものである。
【0008】
【課題を解決するための手段】
前記目的を達成するため請求項1に記載の発明に係るディスク制御装置は、データの書込みあるいは読込み等の要求を発するホスト装置に、ディスク制御部を介して特定のブロック単位でデータが記録されるディスク装置を接続してなるディスク制御装置であって、前記ディスク制御部は、ホスト装置からの連続した読込み要求に応じて、前記ディスク装置に対して前記各ブロックのデータの読込み指令を発するとともに、前記ホスト装置からの読込み要求に応じて読込んだデータが書込まれているブロックから少なくとも1つのブロックを飛越した次のブロックのデータの先読み指令を発するように制御することを特徴とするものである。
【0009】
この請求項1に記載の発明によれば、ディスク制御部により、ホスト装置からの読込み要求に応じて読込んだデータが書込まれているブロックから少なくとも1つのブロックを飛越した次のブロックのデータの先読み指令を発するようにしているので、ホスト装置から、読込み要求に応じたブロックの次のブロックのデータの読込み要求が発せられたときに、まだ先読みデータがディスク装置からディスク制御部に送られていないという事態を確実に防止することができ、ブロックのデータの先読み効果を十分に得ることができ、データの読込み速度の高速化の実効を図ることができる。
【0010】
また、請求項2に記載のディスク制御装置は、データの書込みあるいは読込み等の要求を発するホスト装置に、ディスク制御部を介して特定のブロック単位でデータが記録されるディスク装置を接続してなるディスク制御装置であって、前記ディスク制御部は、複数のブロックからなるグループを設定し、前記ホスト装置からの連続した読込み要求に応じて、前記ディスク装置に対して前記各ブロックのデータの読込み指令を発するとともに、前記ホスト装置からの読込み要求に応じて読込んだデータが書込まれているブロックが含まれるグループから少なくとも1つのグループを飛越した次のグループのブロックのデータの先読み指令を発するように制御することを特徴とするものである。
【0011】
この請求項2に記載の発明によれば、ディスク制御部により、ホスト装置からの読込み要求に応じて読込んだデータが書込まれているブロックが含まれるグループから少なくとも1つのグループを飛越した次のグループのブロックのデータの先読み指令を発するようにしているので、より効率よく、ブロックのデータの先読み効果を得ることができ、データの読込み速度の高速化の実効を図ることができる。
【0012】
【発明の実施の形態】
以下、本発明の実施の形態を図1から図3を参照して説明する。
【0013】
図1は本発明に係るディスク制御装置の実施の一形態を示したもので、本実施形態のディスク制御装置1は、データの読込みあるいは書込み等のコマンドを出力してI/Oリクエストを行なうホスト装置2を有しており、このホスト装置2には、ホストバス3を介してディスク制御部4が接続されている。このディスク制御部4には、キャッシュメモリ5が接続されている。
【0014】
また、ディスク制御部4には、例えば、SCSIインタフェース型の、例えば、ハードディスクドライブ等のディスク装置6がドライブバス7を介して接続されており、このディスク装置6には、図2に示すように、特定のブロック8を単位としてデータが記録されるようになっている。
【0015】
本実施形態においては、前記ディスク制御部4は、ホスト装置2からの読込み要求に応じて、ディスク装置6に対して各ブロック8のデータの読込み指令を発するものであり、さらに、前記ディスク制御部4は、ホスト装置2からの読込み要求により読込まれたデータを受けた場合に、その読込んだデータが書込まれているブロック8の次のブロック8ではなく、さらに、その次のブロック8の先読み指令を発し、この先読みされたデータを前記キャッシュメモリ5に記録するように制御するようになっている。
【0016】
次に、本実施形態の作用について説明する。
【0017】
本実施形態においては、まず、ホスト装置2から連続した読込み要求が発せられたら、ディスク制御部4からディスク装置6に対して、所望のデータが記録されたブロック(1番ブロック8a)のデータの読込み指令を発する。この読込み指令を受けて、ディスク装置6により1番ブロック8aのデータを読込む。
【0018】
そして、第1ブロック8aのデータの読込みが完了して、データがディスク制御部4に送られたら、ディスク制御部4は、そのデータをホスト装置2に送るとともに、ディスク装置6に対して、読込んだ第1ブロック8aの次の第2ブロック8bを飛ばした第3ブロック8cのデータの先読み指令を発する。
【0019】
続いて、ホスト装置2に第1ブロック8aのデータが送られたら、ホスト装置2は、次の第2ブロック8bのデータの読込み指令をディスク制御部4に発し、ディスク制御部4により、ディスク装置6に第2ブロック8bのデータの読込み指令を発する。
【0020】
一方、先読み指令により第3ブロック8cのデータの読込みが完了してそのデータがディスク制御部4に送られたら、ディスク制御部4により、このデータをキャッシュメモリ5に保存しておく。
【0021】
また、第2ブロック8bのデータの読込みが完了して、データがディスク制御部4に送られたら、ディスク制御部4は、そのデータをホスト装置2に送るとともに、ディスク装置6に対して、読込んだ第2ブロック8bの次の第3ブロック8cを飛ばした第4ブロック8dのデータの先読み指令を発する。
【0022】
続いて、ホスト装置2に第2ブロック8bのデータが送られたら、ホスト装置2は、次の第3ブロック8cのデータの読込み指令をディスク制御部4に発し、ディスク制御部4がこの第3ブロック8cのデータの読込み指令を受けたら、ディスク制御部4により、先読みしてキャッシュメモリ5に記録されている第3ブロック8cのデータを読込んで、ホスト装置2に送る。さらに、ディスク制御部4は、ディスク装置6に対して、第3ブロック8cの次の第4ブロック8dを飛ばした第5ブロック8eのデータの先読み指令を発する。
【0023】
そして、先読み指令により第4ブロック8dのデータの読込みが完了してそのデータがディスク制御部4に送られたら、ディスク制御部4により、このデータをキャッシュメモリ5に保存しておく。
【0024】
このような処理を連続して行なうことにより、キャッシュメモリ5にデータが蓄積された後は、ディスク装置6に対してデータの読込み作業を行なう必要がなく、キャッシュメモリ5に書込まれた先読みデータを読込むことで、迅速にデータの読込みを行なうことが可能となる。
【0025】
したがって、本実施形態においては、ディスク制御部4により、ホスト装置2からの読込み要求により読込まれたデータが書込まれているブロック8の次のブロック8を飛ばしてその次のブロック8の先読み指令を発するようにしているので、ホスト装置2から、読込み要求に応じたブロック8の次のブロック8のデータの読込み要求が発せられたときに、まだ先読みデータがディスク装置6からディスク制御部4に送られていないという事態を確実に防止することができ、ブロック8のデータの先読み効果を十分に得ることができ、データの読込み速度の高速化の実効を図ることができる。
【0026】
なお、前記実施形態においては、ディスク制御部4により、ホスト装置2からの読込み要求により読込まれたデータが書込まれているブロック8の次のブロック8を飛ばしてその次のブロック8の先読み指令を発するようにしたが、データを読込んだブロック8から複数のブロック8を飛ばしてその次のブロック8のデータの先読み指令を発するようにしてもよい。
【0027】
また、図3は本発明の他の実施形態を示したもので、本実施形態においては、データが記録された複数のブロック8を1つのグループ9として、このグループ9を単位として先読み処理を行なうようにしたものである。
【0028】
すなわち、本実施形態においては、最初は、前記実施形態と同様に、前記ディスク制御部4により、ホスト装置2からの連続した読込み要求に応じて、所望のブロック8のデータの読込み指令を発し、このブロック8のデータの読込みが完了して、データがディスク制御部4に送られたら、ディスク制御部4は、そのデータをホスト装置2に送るとともに、ディスク装置6に対して、読込んだブロック8の次のブロック8を飛ばしたブロック8のデータの先読み指令を発する。そして、本実施形態においては、1つのグループ9の最終ブロック8までの先読みが完了したら、ディスク制御部4により、ホスト装置2からの次の読込み要求に応じて、読込みが行なわれたブロック8が含まれるグループ9の次のグループ9を1つ飛ばしてさらにその次のグループ9の各ブロック8の先読み指令を発するように制御するようになっている。
【0029】
したがって、本実施形態においても前記実施形態と同様に、ディスク制御部4により、ホスト装置2からの読込み要求に応じて、複数のブロック8からなるグループ9を1つの単位として、読込まれたブロック8のグループ9の次のグループ9を飛ばしてその次のグループ9の先読み指令を発するようにしているので、より効率よく、ブロック8のデータの先読み効果を得ることができ、データの読込み速度の高速化の実効を図ることができる。
【0030】
なお、本実施形態においても、ディスク制御部4により、データを読込んだブロック8が含まれるグループ9から複数のグループ9を飛ばしてその次のグループ9のブロック8のデータの先読み指令を発するようにしてもよいことはもちろんである。
【0031】
また、前記各実施形態においては、ディスク装置6が1つの場合について説明したが、例えば、複数のディスク装置6を並列のインタフェースを介して接続してなるRAIDレベルのディスクアレイ装置に適用することも可能である。
【0032】
さらに、本発明は前記実施形態のものに限定されるものではなく、必要に応じて種々変更することが可能である。
【0033】
【発明の効果】
以上述べたように請求項1に記載の発明に係るディスク制御装置は、ディスク制御部により、ホスト装置からの読込み要求に応じて読込んだデータが書込まれているブロックから少なくとも1つのブロックを飛越した次のブロックのデータの先読み指令を発するようにしたので、ブロックのデータを先読みの効果を十分に得ることができ、データの読込み速度の高速化の実効を図ることができる。
【0034】
また、請求項2に記載のディスク制御装置は、ディスク制御部により、ホスト装置からの読込み要求に応じて読込んだデータが書込まれているブロックが含まれるグループから少なくとも1つのグループを飛越した次のグループのブロックのデータの先読み指令を発するようにしたので、より効率よく、ブロックのデータの先読みの効果を得ることができ、データの読込み速度の高速化の実効を図ることができる等の効果を奏する。
【図面の簡単な説明】
【図1】 本発明に係るディスク制御装置の実施形態を示すブロック図
【図2】 本発明のディスク制御装置によるデータの先読み処理動作の実施形態を示す説明図
【図3】 本発明のディスク制御装置によるデータの先読み処理動作の他の実施形態を示す説明図
【符号の説明】
1 ディスク制御装置
2 ホスト装置
3 ホストバス
4 ディスク制御部
5 キャッシュメモリ
6 ディスク装置
8 ブロック
9 グループ[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a disk control apparatus, and more particularly to a disk control apparatus that performs prefetch processing of data in response to a read request from a host device.
[0002]
[Prior art]
2. Description of the Related Art Conventionally, a disk device in which a disk device such as a hard disk drive is connected to a host device that issues a request for writing or reading data via a disk control unit is generally used. In this disk device, data is recorded in a specific block unit.
[0003]
In such a disk device, when a continuous read request is issued from the host device to the disk controller, the disk controller instructs the disk device to read data of a block in which desired data is recorded. To emit. In response to this read command, the disk device reads the data of the corresponding block.
[0004]
When the reading of the data of this block is completed and the data is sent to the disk control unit, the disk control unit sends the data to the host device.
[0005]
In this case, conventionally, when a continuous read request is issued from the host device, when the disk controller reads the data of a predetermined block of the disk device, the data of the next block is read in advance. A prefetch command is issued. By prefetching data in this way, the prefetched data is stored in the cache memory before the read request from the host device, and the data for which the read request from the host device is issued is not stored in the disk device. The reading speed can be increased by reading from the cache memory.
[0006]
[Problems to be solved by the invention]
However, in the conventional disk device, when a continuous read request is issued from the host device, the data of the next block is pre-read by the disk control unit in advance, but this pre-read block is read request Therefore, when the host device issues a data read request for the block next to the block according to the read request, the prefetched data is still sent from the disk device to the disk controller. There is a problem that it may not be sent. For this reason, even if the block data is prefetched, there is a problem that the effect is not obtained, and it is impossible to effectively increase the data reading speed.
[0007]
The present invention has been made in view of the above points, and can reliably read prefetched data from the disk device in response to a read request from the host device, and can sufficiently obtain the data prefetching effect. It is an object of the present invention to provide a disk control device capable of effectively increasing the reading speed.
[0008]
[Means for Solving the Problems]
In order to achieve the above object, the disk control apparatus according to the first aspect of the present invention records data in a specific block unit via the disk control unit in a host apparatus that issues a request for writing or reading data. A disk control device formed by connecting a disk device, wherein the disk control unit issues a data read command for each block to the disk device in response to a continuous read request from a host device, In accordance with a read request from the host device, control is performed so as to issue a prefetch command for data of the next block skipping at least one block from a block in which read data is written. is there.
[0009]
According to the first aspect of the present invention, the data of the next block in which at least one block is skipped from the block in which the data read in response to the read request from the host device is written by the disk control unit. When the host device issues a read request for the data of the block next to the block corresponding to the read request, the prefetch data is still sent from the disk device to the disk controller. It is possible to reliably prevent such a situation from occurring, to obtain a sufficient effect of pre-reading the block data, and to increase the data reading speed.
[0010]
According to another aspect of the present invention, there is provided a disk control device comprising: a disk device for recording data in a specific block unit via a disk control unit connected to a host device that issues a request for writing or reading data. A disk control device, wherein the disk control unit sets a group consisting of a plurality of blocks, and in response to a continuous read request from the host device, a read command for data of each block to the disk device In response to a read request from the host device, a prefetch command is issued for the data of the block of the next group skipping at least one group from the group including the block in which the read data is written. It is characterized by controlling to.
[0011]
According to the second aspect of the present invention, the disk control unit skips at least one group from the group including the block in which the data read in response to the read request from the host device is written. Since the block prefetch command is issued, the block prefetch effect can be obtained more efficiently, and the data read speed can be effectively increased.
[0012]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, embodiments of the present invention will be described with reference to FIGS. 1 to 3.
[0013]
FIG. 1 shows an embodiment of a disk control apparatus according to the present invention. The
[0014]
In addition, a
[0015]
In the present embodiment, the
[0016]
Next, the operation of this embodiment will be described.
[0017]
In the present embodiment, first, when a continuous read request is issued from the
[0018]
When the reading of the data in the first block 8a is completed and the data is sent to the
[0019]
Subsequently, when the data of the first block 8a is sent to the
[0020]
On the other hand, when the reading of the data in the
[0021]
When the reading of the data in the second block 8b is completed and the data is sent to the
[0022]
Subsequently, when the data of the second block 8b is sent to the
[0023]
Then, when the reading of the data in the fourth block 8 d is completed by the pre-read command and the data is sent to the
[0024]
By performing such processing continuously, after data is accumulated in the
[0025]
Therefore, in the present embodiment, the
[0026]
In the embodiment, the
[0027]
FIG. 3 shows another embodiment of the present invention. In this embodiment, a plurality of
[0028]
That is, in the present embodiment, at first, in the same manner as in the above-described embodiment, the
[0029]
Therefore, in the present embodiment as well, in the same manner as in the previous embodiment, the
[0030]
Also in the present embodiment, the
[0031]
In each of the above embodiments, the case of one
[0032]
Furthermore, the present invention is not limited to the embodiment described above, and various modifications can be made as necessary.
[0033]
【The invention's effect】
As described above, in the disk control device according to the first aspect of the present invention, at least one block from the block in which the data read in response to the read request from the host device is written by the disk control unit. Since the prefetch command for the data of the next block that has been skipped is issued, the effect of prefetching the block data can be sufficiently obtained, and the data read speed can be effectively increased.
[0034]
In the disk control device according to
[Brief description of the drawings]
FIG. 1 is a block diagram showing an embodiment of a disk control device according to the present invention. FIG. 2 is an explanatory diagram showing an embodiment of a data prefetch processing operation by the disk control device of the present invention. Explanatory drawing which shows other embodiment of the data prefetch processing operation | movement by an apparatus.
1
Claims (2)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP27252399A JP3735495B2 (en) | 1999-09-27 | 1999-09-27 | Disk controller |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP27252399A JP3735495B2 (en) | 1999-09-27 | 1999-09-27 | Disk controller |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001101074A JP2001101074A (en) | 2001-04-13 |
JP3735495B2 true JP3735495B2 (en) | 2006-01-18 |
Family
ID=17515090
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP27252399A Expired - Fee Related JP3735495B2 (en) | 1999-09-27 | 1999-09-27 | Disk controller |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3735495B2 (en) |
-
1999
- 1999-09-27 JP JP27252399A patent/JP3735495B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2001101074A (en) | 2001-04-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2001100925A (en) | Disk controller | |
JP4925230B2 (en) | Storage device, storage control device, and control method | |
US6523086B1 (en) | Method for improving performance of read cache of magnetic disk drive | |
JPH11110139A (en) | Method and device for reading data | |
JP4461089B2 (en) | Storage control apparatus and storage control method | |
JP3735495B2 (en) | Disk controller | |
JP2003241904A5 (en) | ||
JP3969809B2 (en) | Data buffer management method in storage device | |
JPH11212733A (en) | External storage system | |
JP2007011661A (en) | Disk unit, and cache memory control method therefor | |
JP3539802B2 (en) | Information storage device | |
JP2001101076A (en) | Disk controller | |
JP2834081B2 (en) | Magnetic disk controller | |
JPH10171713A (en) | Disk storage device and method for controlling cache applied to the same device | |
JP3718387B2 (en) | Disk array controller | |
JP2973474B2 (en) | Magneto-optical disk drive | |
JP2864751B2 (en) | Nonvolatile memory management method for disk controller | |
JP3491335B2 (en) | Information transfer device | |
JP2003196155A (en) | Disc device, and cache control method for the device | |
JPH04111015A (en) | Information recorder | |
JPH0695808A (en) | Magnetic disk device | |
JP2000181798A (en) | Cache control system for disk device | |
JP2010044820A (en) | Recorder and recording method | |
JPH07295916A (en) | Disk control system | |
JP2001222381A (en) | Disk controller to perform partial write processing, disk sub-system, control method for disk controller and recording medium in which program is recorded |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20050929 |
|
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: 20051011 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20051024 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |