JPH11110138A - Storage controller - Google Patents

Storage controller

Info

Publication number
JPH11110138A
JPH11110138A JP27555197A JP27555197A JPH11110138A JP H11110138 A JPH11110138 A JP H11110138A JP 27555197 A JP27555197 A JP 27555197A JP 27555197 A JP27555197 A JP 27555197A JP H11110138 A JPH11110138 A JP H11110138A
Authority
JP
Japan
Prior art keywords
data
storage device
read request
request
storage
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.)
Pending
Application number
JP27555197A
Other languages
Japanese (ja)
Inventor
Taisuke Kaneda
泰典 兼田
Takashi Arakawa
敬史 荒川
Kenji Muraoka
健司 村岡
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP27555197A priority Critical patent/JPH11110138A/en
Publication of JPH11110138A publication Critical patent/JPH11110138A/en
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】多重シーケンシャルアクセス時の応答時間を短
縮する。 【解決手段】複数のホストコンピュータ90とディスク
記憶装置399の間に設けられた記憶制御装置1のCPU
モジュール190は、ホストコンピュータ90から発行
された要求が要求するデータの要求長を変更した後、要
求をディスク記憶装置399に、その後にホストコンピ
ュータ90から送られる要求によらずに、これに優先し
て発行する。
(57) [Summary] [PROBLEMS] To reduce the response time at the time of multiple sequential access. A CPU of a storage control device provided between a plurality of host computers and a disk storage device.
After changing the request length of the data requested by the request issued from the host computer 90, the module 190 takes precedence over the request to the disk storage device 399 without depending on the request sent from the host computer 90 thereafter. Issue.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明はコンピュータシステ
ムの記憶装置に関し、特に多重にシーケンシャルアクセ
ス(読み書き)が発生するシステムにおいて、転送速度
を向上させる技術に関するものである。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a storage device of a computer system, and more particularly to a technique for improving a transfer speed in a system in which multiple sequential accesses (read / write) occur.

【0002】[0002]

【従来の技術】まず、従来の一般的なディスク記憶装置
の構成について説明する。
2. Description of the Related Art First, the configuration of a conventional general disk storage device will be described.

【0003】図2に示すように、ディスク記憶装置39
9は、回転するディスク型の記憶媒体300と、記憶媒
体300上を半径方向に移動する記録信号を読み書きす
るヘッド310を備えている。ヘッド310の位置はヘ
ッド制御手段315によって制御され、円盤300の回
転は、モータ制御手段325、モータ320によって制
御される。円盤300から読み出された記憶信号は、波
形整形手段350で波形整形された後、ECC手段352
で誤り検出/訂正が施され、一旦、バッファ354に蓄
積され、その後、転送手段356によって外部のホスト
コンピュータに転送される。各部の動作、コントローラ
390によって制御される。
[0003] As shown in FIG.
9 includes a rotating disk-type storage medium 300 and a head 310 for reading and writing a recording signal moving in the radial direction on the storage medium 300. The position of the head 310 is controlled by a head control unit 315, and the rotation of the disk 300 is controlled by a motor control unit 325 and a motor 320. The stored signal read from the disk 300 is subjected to waveform shaping by the waveform shaping unit 350 and then to the ECC unit 352.
Are subjected to error detection / correction, temporarily stored in the buffer 354, and then transferred to an external host computer by the transfer means 356. The operation of each unit is controlled by the controller 390.

【0004】このようなディスク記憶装置399におい
て、記憶媒体300の記録面は、図3に示すように、同
心円状にいくつものトラック301と呼ばれる領域に区
切られている。そして、トラック301はさらにセクタ
302という単位に区切られており、各セクタ302
は、図4に示すように、当該セクタの位置を表す情報を
記憶する位置情報領域303、データを記憶するデータ
領域304、誤り検出/訂正用のECC符号を記憶するECC
領域305などが設けられている。ここで、ディスク記
憶装置は399、セクタ単位(多くは512バイト)に
データを管理している。
In such a disk storage device 399, the recording surface of the storage medium 300 is concentrically divided into a plurality of areas called tracks 301 as shown in FIG. The track 301 is further divided into units called sectors 302.
4, a position information area 303 for storing information indicating the position of the sector, a data area 304 for storing data, and an ECC for storing an ECC code for error detection / correction, as shown in FIG.
An area 305 and the like are provided. Here, the disk storage device manages data in 399 sector units (often 512 bytes).

【0005】ここで、あるセクタを読み出しは次のよう
に行われる。
Here, reading of a certain sector is performed as follows.

【0006】まず、ヘッドを目的のセクタが含まれるト
ラックに移動させ、ヘッドの下に目的のセクタが来るま
で待ち、円板の回転にあわせてシリアルにデータを読み
出す。そして、円板から読み出したシリアルデータに、
波形整形、誤り検出/訂正などの処理を施した後、パラ
レルデータとして、バッファに、一旦、蓄積する。そし
て、バッファ中のデータ量が所定の量となったら、SC
SI(Small ComputerSystem Interface)やファイバチ
ャネル、IDEインタフェースなどのホストコンピュー
タとの間のインタフェースを介してデータをホストコン
ピュータに転送する。書き込みも、逆の手順により同様
に行われる。
[0006] First, the head is moved to a track including the target sector, waits until the target sector comes under the head, and data is read out serially in accordance with the rotation of the disk. Then, to the serial data read from the disk,
After performing processes such as waveform shaping and error detection / correction, the data is temporarily stored in a buffer as parallel data. When the amount of data in the buffer reaches a predetermined amount, SC
Data is transferred to the host computer via an interface with the host computer, such as an SI (Small Computer System Interface), Fiber Channel, or IDE interface. Writing is performed in the same manner by the reverse procedure.

【0007】ここで、ディスク記憶装置からデータを読
み出す(または、ディスク記憶装置にデータを書き込
む)ために必要な時間は、 (1)ヘッドが目的のトラックに移動するまでの時間
(シーク時間) (2)ヘッドの下に目的のセクタが来るまでの待ち時間
(回転待ち時間) (3)データを読み書きする時間(データ転送時間) によって決まる。ホストがデータの読み出しを要求して
から、シーク時間、回転待ち時間、データ転送時間の
後、読み出し書き込み終了が報告されるまでの時間を応
答時間と呼ぶ。
Here, the time required for reading data from the disk storage device (or writing data to the disk storage device) is as follows: (1) Time (seek time) until the head moves to a target track. 2) Waiting time until the target sector comes under the head (rotational waiting time) (3) It is determined by data reading / writing time (data transfer time). The time from when the host requests data read, after the seek time, the rotation wait time, and the data transfer time to when the end of read / write is reported is called the response time.

【0008】このように、ディスク記憶装置は、トラッ
クとセクタを特定することで、特定の1つのセクタを特
定することができる。複数のヘッドをもつディスク記憶
装置装置では、さらにヘッドを特定することで、特定の
1つのセクタが特定される。このような場合には、ヘッ
ドAのトラックBのセクタCと指定することで、目的の
セクタからデータを読み出したり、データを書き込むこ
とができる。
Thus, the disk storage device can specify one specific sector by specifying the track and the sector. In a disk storage device having a plurality of heads, a specific one sector is specified by further specifying the head. In such a case, data can be read from or written to a target sector by designating it as sector C of track B of head A.

【0009】一方、セクタを特定する方法としては、ヘ
ッド0のトラック0のセクタ0から順番に連続した固有
の番号をセクタにつけて管理すし、この番号でセクタを
特定する方法もある。この番号は論理ブロックアドレス
(LBA)と呼ばれる。例えば、ヘッドが2個、トラッ
クが1024個、セクタが128個のディスク記憶装置
の場合、論理ブロックアドレスはLBA0からLBA2
62143(=2×1024×128)となる。この場
合、セクタをブロックと呼ぶ。論理ブロックアドレスを
用いて読み書きするときは、論理ブロックアドレスと、
ブロック数を指定することで、連続したセクタのデータ
の読み書きが行われる。これは、SCSIを採用するデ
ィスク記憶装置では、一般的な手法である。
On the other hand, as a method of specifying a sector, there is a method of assigning a unique number consecutive to the sector 0 of the track 0 of the head 0 in order from the sector and managing the sector, and specifying the sector by this number. This number is called a logical block address (LBA). For example, in the case of a disk storage device having two heads, 1024 tracks, and 128 sectors, the logical block addresses are from LBA0 to LBA2.
62143 (= 2 × 1024 × 128). In this case, the sector is called a block. When reading and writing using the logical block address, the logical block address and
By specifying the number of blocks, reading and writing of data in continuous sectors is performed. This is a common method in a disk storage device employing SCSI.

【0010】次に、このような従来のディスク記憶装置
において行われている、シーケンシャルアクセス(連続
する論理ブロックに対する読み書き)時の動作について
説明する。
Next, an operation at the time of sequential access (read / write to a continuous logical block) performed in such a conventional disk storage device will be described.

【0011】シーケンシャルアクセスとは、例えば、L
BA0番から128ブロック、ブロック128番から1
28ブロック、ブロック256番から128ブロッ
ク、...、というように、n回目の要求位置に要求長
を加えると、ちょうど(n+1)回目の要求位置に一致
するアクセスのシーケンスを言う。
[0011] The sequential access is, for example, L
128 blocks from BA0, 1 from block 128
28 blocks, 128 blocks from block 256,. . . .., Etc., when the request length is added to the nth requested position, the access sequence exactly matches the (n + 1) th requested position.

【0012】ここでは、次のようなシーケンシャルアク
セス(読み出しの場合)を仮定する。要求位置は論理ブ
ロックアドレスで、要求長はブロック数で表している。
Here, the following sequential access (in the case of reading) is assumed. The request position is represented by a logical block address, and the request length is represented by the number of blocks.

【0013】 この場合、ディスク記憶装置の動作は次のようになる。[0013] In this case, the operation of the disk storage device is as follows.

【0014】シーケンシャルアクセスを実施するホスト
コンピュータは、まず、1回目の要求を発行する。ディ
スク記憶装置は1回目の要求を受け取ると、ヘッドを目
的のトラックに移動し(シーク時間)、目的のセクタが
ヘッドの下に来るのを待って(回転待ち時間)読み出し
を開始する。要求された128ブロックの読み出しが終
了(データ転送時間)すると終了報告をホストコンピュ
ータに送る。ホストコンピュータは終了報告を受け取る
と、次の2回目の要求を発行する。
The host computer that performs the sequential access first issues a first request. When the disk storage device receives the first request, it moves the head to the target track (seek time) and waits for the target sector to come under the head (rotation wait time) to start reading. When reading of the requested 128 blocks is completed (data transfer time), an end report is sent to the host computer. Upon receiving the end report, the host computer issues the next second request.

【0015】ディスク記憶装置は2回目の要求を受け取
ると、ヘッドを目的のトラックに移動し(シーク時
間)、目的のセクタがヘッドの下に来るのを待って(回
転待ち時間)読み出しを開始する。要求された128ブ
ロックの読み出しが終了(データ転送時間)すると終了
報告をホストコンピュータに送る。3回目以降、同様に
処理を行う。
When the disk storage device receives the second request, it moves the head to the target track (seek time) and waits until the target sector comes under the head (rotation wait time) to start reading. . When reading of the requested 128 blocks is completed (data transfer time), an end report is sent to the host computer. The same processing is performed after the third time.

【0016】このようなシーケンシャルアクセスの場
合、連続する要求の対象となるトラックとセクタは基本
的に連続している。したがって、シーケンシャルアクセ
スの場合、他の場合に比べ、シーク時間、回転時間が短
くて住む。
In the case of such a sequential access, tracks and sectors to be requested successively are basically continuous. Therefore, in the case of the sequential access, the seek time and the rotation time are shorter than in other cases.

【0017】ところで、1回目の要求が終了し、ホスト
コンピュータに終了報告をして、ホストコンピュータが
2回目の要求を発行し、2回目の要求を実施するまでに
は(1回目の終了から2回目の要求実施まで)、通常数
百マイクロ秒から数ミリ秒の時間がかかる。この間、円
板の回転は一定速度で回転しつづけており、2回目の要
求開始の時点では、目的のセクタがヘッドの下にはな
く、もう一度目的のセクタがヘッドの下に回ってくるの
を待たなければならない。最悪の場合、1回転の回転待
ち時間が発生する。
By the way, the first request is completed, a completion report is sent to the host computer, and the host computer issues the second request, and by the time the second request is performed (from the first completion to 2 It usually takes several hundred microseconds to several milliseconds until the second request is made. During this time, the rotation of the disk continues to rotate at a constant speed. At the time of the start of the second request, the target sector is not under the head, and once again the target sector turns under the head. have to wait. In the worst case, one rotation waiting time occurs.

【0018】そこで、この無駄な回転待ち時間を削減す
るために、最近のディスク記憶装置では、プリフェッチ
(先読み)処理と呼ばれる処理が行われている。
Therefore, in order to reduce the useless rotation waiting time, a recent disk storage device performs a process called a prefetch (prefetch) process.

【0019】プリフェッチ(先読み)処理を行う場合、
ディスク記憶装置は、1回目の要求が終了して、終了報
告をホストコンピュータに返す処理を行いながら、連続
したセクタ(さらにはトラック)の読み出しを続けバッ
ファに保持する。この処理の結果、ホストコンピュータ
から2回目の要求を実施する時には、すでに目的のセク
タはヘッドの下を通過しているが、目的のセクタのデー
タは読み込まれてバッファ内にあるので、そのデータを
ホストコンピュータに転送することができる。これによ
り、目的のセクタがヘッドの下に来ることを待つことな
くシーケンシャルアクセスを続行することができる。
When performing prefetch (prefetch) processing,
When the first request is completed, the disk storage device continues to read continuous sectors (and tracks) and holds the read data in a buffer while performing processing of returning an end report to the host computer. As a result of this processing, when the second request is made from the host computer, the target sector has already passed under the head, but since the data of the target sector is read and stored in the buffer, the data is It can be transferred to the host computer. Thereby, the sequential access can be continued without waiting for the target sector to come under the head.

【0020】[0020]

【発明が解決しようとする課題】ここで、2台のホスト
コンピュータがそれぞれにシーケンシャルアクセスを実
行する2多重の多重シーケンシャルアクセスの場合を考
える。
Here, a case of two multiplex sequential accesses in which two host computers execute sequential accesses respectively will be considered.

【0021】いま、次のようなシーケンシャルアクセス
(読み出しの場合)を仮定する。要求位置は論理ブロッ
クアドレスで、要求長はブロック数で表している。
Now, assume the following sequential access (in the case of reading). The request position is represented by a logical block address, and the request length is represented by the number of blocks.

【0022】1台目のホストコンピュータAは、 でシーケンシャルアクセスを実施し、2台目のホストコ
ンピュータBは、 でシーケンシャルアクセスを実施する。
The first host computer A is: The second host computer B performs sequential access at Performs sequential access.

【0023】この場合、シーケンシャルアクセスを実施
するホストコンピュータAは、まず、1回目の要求を発
行する。ディスク記憶装置はホストコンピュータAの1
回目の要求を受け取ると、ヘッドを目的のトラックに移
動し(シーク時間)、目的のセクタがヘッドの下に来る
のを待って(回転待ち時間)読み出しを開始する。要求
された128ブロックの読み出しが終了(データ転送時
間)すると終了報告をホストコンピュータに送り、前述
したプリフェッチを行う。ホストコンピュータは終了報
告を受け取ると、次の2回目の要求を発行する。
In this case, the host computer A that performs the sequential access first issues a first request. The disk storage device is one of the host computers A
When the second request is received, the head is moved to the target track (seek time), and reading is started after the target sector comes under the head (rotation wait time). When reading of the requested 128 blocks is completed (data transfer time), a completion report is sent to the host computer, and the above-described prefetch is performed. Upon receiving the end report, the host computer issues the next second request.

【0024】ここで、ホストコンピュータAが2回目の
要求を発行する前に、ホストコンピュータBが1回目の
要求を発行する。ディスク記憶装置はホストコンピュー
タBの1回目の要求を受け取ると、ホストコンピュータ
Aの1回目の要求に基づくプリフェッチを中止し、ヘッ
ドをホストコンピュータBの1回目の要求の目的のトラ
ックに移動し(シーク時間)、目的のセクタがヘッドの
下に来るのを待って(回転待ち時間)読み出しを開始す
る。要求された128ブロックの読み出しが終了(デー
タ転送時間)すると終了報告をホストコンピュータに送
る。2回目以降、同様に処理を行うことになる。つま
り、ホストコンピュータAとホストコンピュータBのシ
ーケンシャルアクセス要求が混在することになる。ホス
トコンピュータの台数がn台になり、n多重のシーケン
シャルになっても同様である。
Here, before the host computer A issues the second request, the host computer B issues the first request. Upon receiving the first request from the host computer B, the disk storage device stops prefetching based on the first request from the host computer A, and moves the head to the target track of the first request from the host computer B (seeking). Time), the reading is started after the target sector comes under the head (rotation waiting time). When reading of the requested 128 blocks is completed (data transfer time), an end report is sent to the host computer. After the second time, the same processing is performed. That is, the sequential access requests of the host computer A and the host computer B are mixed. The same applies to the case where the number of host computers becomes n and the number of host computers becomes n multiplex sequential.

【0025】単一ホストコンピュータの単一シーケンシ
ャルアクセスと、複数台ホストコンピュータによる多重
シーケンシャルアクセスの違いは、複数台のホストコン
ピュータそれぞれのシーケンシャルアクセスの位置が異
なるために、各ホストコンピュータからの要求が混在す
ると、目的のトラックにヘッドを移動させるまでのシー
ク時間と、目的のセクタがヘッドの下に来るまでの回転
待ち時間がかかり、応答時間が悪くなることである。
The difference between a single sequential access by a single host computer and a multiple sequential access by a plurality of host computers is that the requests from each host computer are mixed because the positions of the sequential accesses of the plurality of host computers are different. Then, a seek time until the head is moved to the target track and a rotation waiting time until the target sector comes under the head take a long time, resulting in a poor response time.

【0026】つまり、単一シーケンシャルアクセスの場
合には、要求が連続するため、セクタ(またはトラッ
ク)の連続性を期待できたが、多重シーケンシャルアク
セスでは、要求が混在することにより、セクタ(または
トラック)の連続性を期待できないため、各ホストコン
ピュータに対するシーケンシャルアクセス速度(転送速
度)が大きく低下する。また、引き続く二つの要求の対
象とするセクタ(またはトラックの連続性が無い場合、
先の命令に基づくプリフェッチも次の要求によって中止
させられるため、充分に有効に機能しない。なお、この
ように、プリフェッチが中止させられた場合、中止する
前にプリフェッチで読み込んだデータが破棄されてしま
うシステムも知られている。
In other words, in the case of single sequential access, since requests are continuous, the continuity of sectors (or tracks) could be expected. Since the continuity cannot be expected, the sequential access speed (transfer speed) to each host computer is greatly reduced. In addition, when there is no continuity of the sector (or track continuity) for two subsequent requests,
The prefetch based on the previous instruction is also stopped by the next request, and does not function sufficiently effectively. As described above, there is also known a system in which, when the prefetch is stopped, data read by the prefetch is discarded before the stop.

【0027】そこで、本発明は、多重シーケンシャルア
クセスにおける、各ホストコンピュータに対する応答時
間を短縮することを課題とする。
Therefore, an object of the present invention is to reduce the response time to each host computer in multiple sequential access.

【0028】[0028]

【課題を解決するための手段】前記課題達成のために、
本発明は、複数のホスト装置と記憶装置との間に接続さ
れ、記憶装置に記憶されたデータに対するホスト装置か
ら発行された読み出し要求に基づき、前記記憶装置へ読
み出し要求を発行する記憶制御装置であって、前記複数
のホスト装置に対する前記記憶装置のキャッシュとして
機能するデータ保持手段と、ホスト装置から発行された
読み出し要求が対象とするデータのデータ長を、より長
い長さに変更するデータ長変更手段と、少なくとも、前
記データ長変更手段がデータ長を変更した読み出し要求
が対象とするデータの全てが前記データ保持手段に保持
されていない場合に、格納されていないデータの部分を
少なくとも対象とする読み出し要求を、前記データ長変
更手段がデータ長を変更した読み出し要求の後にホスト
装置から発行された読み出し要求に優先して、前記記憶
装置に発行し、前記記憶装置からデータを読み出す要求
発行手段とを有し、前記データ保持手段は、前記要求発
行手段が発行した読み出し要求に応答して前記記憶装置
から転送されるデータを保持することを特徴とする記憶
制御装置を提供する。
In order to achieve the above object,
The present invention is a storage control device that is connected between a plurality of host devices and a storage device and issues a read request to the storage device based on a read request issued from the host device for data stored in the storage device. A data holding unit that functions as a cache of the storage device for the plurality of host devices; and a data length change unit that changes a data length of data targeted by a read request issued from the host device to a longer length. And at least a part of the data that is not stored when all of the data targeted by the read request whose data length has been changed by the data length changing means is not held in the data holding means. A read request is issued from the host device after the read request in which the data length changing means changes the data length. Request issuing means for issuing data to the storage device prior to a read request and reading data from the storage device, wherein the data holding means responds to the read request issued by the request issuing means and stores the data in the storage device. Provided is a storage control device that holds data transferred from a device.

【0029】本発明に係る記憶制御装置によれば、ホス
ト装置からの読み出し要求に基づく先読み処理を、その
後のホスト装置からの読み出し要求の対象とするブロッ
クの如何によらず、この後の読み出し要求に基づく読み
出しに先だって優先して行う。そして、この先読みした
データを予めキャッシュしておく。
According to the storage control device of the present invention, the prefetch processing based on the read request from the host device is performed regardless of the block to which the subsequent read request is made from the host device. Prior to reading based on Then, the prefetched data is cached in advance.

【0030】よって、多重シーケンシャルアクセス時の
平均的な応答時間を短縮することが期待できる。
Therefore, it is expected that the average response time at the time of multiple sequential access can be reduced.

【0031】[0031]

【発明の実施の形態】以下、本発明の一実施形態につい
て説明する。
DESCRIPTION OF THE PREFERRED EMBODIMENTS One embodiment of the present invention will be described below.

【0032】まず、本発明の第1の実施形態について説
明する。
First, a first embodiment of the present invention will be described.

【0033】図1に本第1実施形態に係るコンピュータシ
ステムの構成を示す。
FIG. 1 shows the configuration of a computer system according to the first embodiment.

【0034】図示するように、本コンピュータシステム
は、複数のホストコンピュータ90、記憶制御装置1、
ディスク記憶装置399から構成される。
As shown, the computer system includes a plurality of host computers 90, a storage controller 1,
It comprises a disk storage device 399.

【0035】記憶制御装置1は、ホストコンピュータ9
0と接続するためのSCSIインタフェースコントロー
ラ100と、ディスク記憶装置と接続するためのSCS
Iインタフェースコントローラ110と、ホストコンピ
ュータから送られてきたデータとディスク記憶装置から
読み出したデータを保持するメモリ150と、CPUモ
ジュール190を備えている。
The storage control device 1 includes a host computer 9
SCSI interface controller 100 for connecting to a disk storage device, and a SCSI interface controller 100 for connecting to a disk storage device.
An I interface controller 110, a memory 150 for holding data sent from a host computer and data read from a disk storage device, and a CPU module 190 are provided.

【0036】CPUモジュールは、1次キャッシュ内蔵
の制御プロセッサ(CPU)と、プログラムや、後述す
る各種テーブルを格納するメモリ、処理を高速化するた
めの2次キャッシュメモリ、PCIバスに接続するため
のバス変換器などで構成される。
The CPU module includes a control processor (CPU) having a primary cache, a memory for storing programs and various tables to be described later, a secondary cache memory for accelerating processing, and a PCI bus. It is composed of a bus converter and the like.

【0037】記憶制御装置1内部では、2階層のPCI
バスを採用している。PCIバス120とPCIバス1
30である。SCSIインタフェースコントローラ10
0とCPUモジュール190をPCIバス120に接続
し、SCSIインタフェースコントローラ110をPC
Iバス130に接続している。PCIバス120とPC
Iバス130間には、ブリッジ160とメモリ150を
接続している。CPUモジュール190は、PCIバス
120からブリッジ160を介してPCIバス130に
接続したSCSIインタフェースコントローラ110を
制御することができる。本記憶制御装置1では、メモリ
150を、2つのPCIバス120とPCIバス130
の両方に接続している。PCIバス120とPCIバス
130は、ブリッジによって階層を形成しているので、
SCSIインタフェースコントローラ100とメモリ1
50間でのデータ転送と、SCSIインタフェースコン
トローラ110とメモリ150間でのデータ転送を同時
に行うことができる。
In the storage control device 1, a two-level PCI
We adopt bus. PCI bus 120 and PCI bus 1
30. SCSI interface controller 10
0 and the CPU module 190 to the PCI bus 120, and connect the SCSI interface controller 110 to the PC
It is connected to the I bus 130. PCI bus 120 and PC
A bridge 160 and a memory 150 are connected between the I buses 130. The CPU module 190 can control the SCSI interface controller 110 connected to the PCI bus 130 from the PCI bus 120 via the bridge 160. In the present storage control device 1, the memory 150 is divided into two PCI buses 120 and a PCI bus 130.
Connected to both. Since the PCI bus 120 and the PCI bus 130 form a hierarchy by a bridge,
SCSI interface controller 100 and memory 1
Data transfer between the SCSI interface controller 110 and the memory 150 can be performed at the same time.

【0038】ここで、SCSIインタフェースコントロ
ーラ100に、ホストコンピュータ90を芋づる式(デ
ージーチェーン方式)に2台接続している。また、SC
SIインタフェースコントローラ110に、ディスク記
憶装置399を接続している。
Here, two host computers 90 are connected to the SCSI interface controller 100 in a daisy chain system (daisy chain system). Also, SC
The disk storage device 399 is connected to the SI interface controller 110.

【0039】次に、ディスク記憶装置399の構成を図
2に示す。
Next, the configuration of the disk storage device 399 is shown in FIG.

【0040】ディスク記憶装置399は、回転する記録
媒体300と、記録媒体を回転させるモータ320と、
モータの回転数を一定に保つモータ制御手段325と、
記録媒体300上を半径方向に移動可能なヘッド310
と、ヘッド310を記録媒体300上に位置づけるヘッ
ド制御手段315と、ヘッド310から読み出した信号
を整形する波形整形手段350と、読み出たデータの正
当性をチェックするECC手段352と、読み出したデ
ータを一時的に保持しておくバッファ354と、バッフ
ァ内のデータを転送するための転送手段356と、各手
段を制御するコントローラ390からなる。
The disk storage device 399 includes a rotating recording medium 300, a motor 320 for rotating the recording medium,
Motor control means 325 for keeping the number of rotations of the motor constant;
Head 310 movable on recording medium 300 in radial direction
A head control unit 315 for positioning the head 310 on the recording medium 300; a waveform shaping unit 350 for shaping a signal read from the head 310; an ECC unit 352 for checking the validity of the read data; , A transfer unit 356 for transferring data in the buffer, and a controller 390 for controlling each unit.

【0041】次に、ディスク記憶装置の399における
記憶媒体300上の、データ格納方式を図3に示す。
Next, FIG. 3 shows a data storage method on the storage medium 300 in the disk storage device 399.

【0042】データの保持は、記録媒体300上に作ら
れる同心円状のトラック301と、そのトラック301
を区切って作られるセクタ302という単位で行われ
る。通常1つのセクタ302当たり512バイトのデー
タを保持するディスク記憶装置が一般的である。
Data is held by a concentric track 301 formed on the recording medium 300 and the track 301.
Are performed in units of sectors 302 created by dividing Generally, a disk storage device that holds 512 bytes of data per sector 302 is common.

【0043】例えば、セクタ当たり512バイトのデー
タを格納でき、1トラック当たりのセクタ数を128
個、トラック数を1024個とすると、記録媒体片面で
64MB(=512バイト×128×1024)のデー
タを保持することができる。よって、記録媒体両面で1
28MB。記録媒体を5枚(ヘッドを10個)使用する
と、640MBのデータを保持することができる。全セ
クタ数は1310720個(=128×1024×1
0)である。このディスク記憶装置の場合、ヘッド番号
0〜9と、トラック番号0〜1023と、セクタ番号0
〜127を与えると、唯一のセクタを指定することがで
きる。
For example, 512 bytes of data can be stored per sector, and the number of sectors per track is 128.
When the number of tracks and the number of tracks are 1024, 64 MB (= 512 bytes × 128 × 1024) of data can be held on one side of the recording medium. Therefore, 1 on both sides of the recording medium
28MB. If five recording media (ten heads) are used, 640 MB of data can be held. The total number of sectors is 1310720 (= 128 × 1024 × 1)
0). In the case of this disk storage device, head numbers 0 to 9, track numbers 0 to 1023, and sector numbers 0
If 127 is given, only one sector can be specified.

【0044】ディスク記憶装置399からデータを読み
出したり、ディスク記憶装置399にデータを書き込む
ときには、ヘッド番号とトラック番号とセクタ番号によ
り目的のセクタを指定する。また、SCSI対応のディ
スク記憶装置の場合は、各セクタに論理ブロックアドレ
スと呼ばれる各セクタに固有の番号をつけ管理する方法
を用いている。例えば、上記例に示した640MBのデ
ィスク記憶装置の場合、0から1310719までの論
理ブロックアドレスを各セクタに付けている。この場
合、ディスク記憶装置399からデータを読み出した
り、ディスク記憶装置399にデータを書き込むときに
は、論理ブロックアドレスにより目的のセクタを指定す
るここで、図4に示すように、各セクタ302は、位置
情報領域303と、データ領域304と、ECC領域3
05で構成される。位置情報領域303には、トラック
番号やセクタ番号が記録されている。これにより、ヘッ
ドで読みとられる位置情報領域303内の情報をチェッ
クし、目的のトラックに正しく移動していることや、目
的のセクタがヘッドの位置に来るたことを確認すること
ができる。データ領域304にはデータを保持する。E
CC領域305には、データ領域に保持したデータから
演算されるECC情報を保持する。書き込みの時、デー
タ領域304にデータを保持した際にECC(Error Co
rrecting Code)を演算し、ECC領域305に保持す
る。読み出しの時、データ領域304からデータを読み
出し、ECC領域305からECCを読み出し、読み出
したデータが正しいかをチェックする。もし、データに
対するECCが一致しない場合には、ECCの能力であ
る程度までデータの誤りは訂正することができる。EC
Cの訂正能力は、付加するECCの種類により異なる。
ECCで訂正できない場合には、エラーとなりそのセク
タは読み出すことができない。これを「セクタ障害」と
呼ぶ。
When reading data from the disk storage device 399 or writing data to the disk storage device 399, a target sector is designated by a head number, a track number, and a sector number. In the case of a SCSI-compatible disk storage device, a method is used in which each sector is assigned a unique number called a logical block address and managed. For example, in the case of the 640 MB disk storage device shown in the above example, a logical block address from 0 to 1310719 is assigned to each sector. In this case, when reading data from the disk storage device 399 or writing data to the disk storage device 399, a target sector is specified by a logical block address. Here, as shown in FIG. Area 303, data area 304, and ECC area 3
05. In the position information area 303, a track number and a sector number are recorded. Thus, the information in the position information area 303 read by the head can be checked, and it can be confirmed that the head has correctly moved to the target track and that the target sector has reached the position of the head. The data area 304 holds data. E
The CC area 305 holds ECC information calculated from the data held in the data area. At the time of writing, when data is held in the data area 304, an ECC (Error Co
rrecting Code) is calculated and stored in the ECC area 305. At the time of reading, data is read from the data area 304, ECC is read from the ECC area 305, and it is checked whether the read data is correct. If the ECC for the data does not match, the error of the data can be corrected to some extent by the ability of the ECC. EC
The correction capability of C differs depending on the type of ECC to be added.
If the data cannot be corrected by ECC, an error occurs and the sector cannot be read. This is called "sector failure".

【0045】セクタ障害の原因としては、記録媒体上の
傷や、磁性体の劣化、磁性体のムラなどによる。
The cause of the sector failure is a scratch on the recording medium, deterioration of the magnetic material, unevenness of the magnetic material, and the like.

【0046】次に、図1のCPUモジュール190で実
行する、CPUモジュール190内のメモリに格納され
た制御プログラムの構成を図5に示す。
Next, FIG. 5 shows the configuration of a control program stored in a memory in the CPU module 190 and executed by the CPU module 190 in FIG.

【0047】制御プログラム200は、ホストコンピュ
ータからの要求を受け付ける要求受付モジュール210
(と、ホストコンピュータからの要求を変換するための
要求変換モジュール220と、変換した要求をディスク
記憶装置に発行する要求発行モジュール240)の3つ
のモジュールで構成される。
The control program 200 includes a request receiving module 210 for receiving a request from the host computer.
(And a request conversion module 220 for converting a request from the host computer and a request issuing module 240 for issuing the converted request to the disk storage device).

【0048】次に、CPUモジュール190内のメモリ
に設ける各種テーブルについて説明する。
Next, various tables provided in the memory in the CPU module 190 will be described.

【0049】図6に示すように、CPUモジュール19
0内のメモリには、要求を保持する要求管理テーブル2
50と、データ保持領域に保持しているデータを管理す
る保持データ管理テーブル261を設けている。
As shown in FIG. 6, the CPU module 19
The request management table 2 that holds the request
50 and a held data management table 261 for managing data held in the data holding area.

【0050】また、メモリ150内には、ディスク記憶
装置から読み出したデータやホストコンピュータから送
られたデータを保持するデータ保持領域260を設けて
いる。
In the memory 150, a data holding area 260 for holding data read from the disk storage device and data sent from the host computer is provided.

【0051】データ保持領域260は、ディスク記憶装
置299のディスクキャッシュメモリである。所定のア
ルゴリズムに従い選択した、過去にホストコンピュータ
によってアクセスされたデータを一定量保持する。
The data holding area 260 is a disk cache memory of the disk storage device 299. A predetermined amount of data selected in accordance with a predetermined algorithm and previously accessed by the host computer is held.

【0052】図7に要求管理テーブル250の構成を示
す。
FIG. 7 shows the structure of the request management table 250.

【0053】要求管理テーブル250は、要求位置と要
求長を保持するテーブルである。要求位置は論理ブロッ
クアドレスで、要求長はブロック数で保持する。
The request management table 250 is a table for holding request positions and request lengths. The request position is held by the logical block address, and the request length is held by the number of blocks.

【0054】要求管理テーブルに保持する要求は、要求
受付モジュール210が受け取ったホストコンピュータ
からの要求である。要求を受け取る度に、要求管理テー
ブルの1番から保持してゆく。図7の場合、100番ま
で要求を保持したら、一番古い1番の要求を破棄して、
101番目の要求を保持する。以後、同様に要求を保持
する。
The request held in the request management table is a request from the host computer received by the request receiving module 210. Each time a request is received, it is stored from the first in the request management table. In the case of FIG. 7, if the request is retained up to 100, the oldest request is discarded,
Hold the 101st request. Thereafter, the request is similarly held.

【0055】図8に保持データ管理テーブル261の構
成を示す。
FIG. 8 shows the configuration of the held data management table 261.

【0056】保持データ管理テーブル261は、データ
保持領域260に保持しているデータの論理ブロックア
ドレス(LBA)と、ブロック数を保持するテーブルで
あり、ディスクキャッシュ管理テーブルとして用いられ
る。各テーブルの要素は、論理ブロックアドレス、ブロ
ック数、ポインタの3つで構成する。ポインタはデータ
保持領域260のデータを格納しているアドレスへのポ
インタを保持する。
The held data management table 261 is a table for holding a logical block address (LBA) of data held in the data holding area 260 and the number of blocks, and is used as a disk cache management table. Each table element is composed of three elements: a logical block address, the number of blocks, and a pointer. The pointer holds a pointer to an address at which data in the data holding area 260 is stored.

【0057】保持データ管理テーブル261を参照する
ことで、目的とするデータが、データ保持領域260に
あるかないかを容易に確認することができる。
By referring to the held data management table 261, it can be easily confirmed whether or not the target data is in the data holding area 260.

【0058】以下、このようなコンピュータシステムの
データの読み出し動作について説明する。
Hereinafter, the data read operation of such a computer system will be described.

【0059】ホストコンピュータ90が、ディスク記憶
装置399からデータを読み出す処際、図1に示すよう
に、記憶制御装置1が、ホストコンピュータ90と記憶
装置399の間に接続しているので、ホストコンピュー
タ90が発行する記憶装置399へのデータ読み出し要
求は、記憶制御装置1が受け取る。
When the host computer 90 reads data from the disk storage device 399, the storage control device 1 is connected between the host computer 90 and the storage device 399 as shown in FIG. The storage control device 1 receives a data read request from the storage device 399 issued by the storage device 90.

【0060】ホストコンピュータからの読み出し要求
は、SCSIの規格に基づき、CDBとよばれるコマン
ドブロックによって発行される。
A read request from the host computer is issued by a command block called CDB based on the SCSI standard.

【0061】SCSIインタフェースコントローラ10
0がホストコンピュータからのCDBを受け取ると、C
PUモジュール190に割り込み信号を送る。CPUモ
ジュールは、割り込み信号を受け取ると、要求受付モジ
ュールを起動する。
SCSI interface controller 10
0 receives the CDB from the host computer,
An interrupt signal is sent to the PU module 190. Upon receiving the interrupt signal, the CPU module activates the request receiving module.

【0062】要求受付モジュールは、SCSIインタフ
ェースコントローラ100からCDBを取り出し、要求
位置と要求長を保持したパケットを生成し、要求変換モ
ジュールにパケットを渡す。
The request receiving module extracts the CDB from the SCSI interface controller 100, generates a packet holding the request position and the request length, and passes the packet to the request conversion module.

【0063】要求変換モジュールは、受け取ったパケッ
トをもとに要求管理テーブル250を参照し、そのパケ
ットの要求が目的とするブロックと、過去に受け取った
パケットの要求するブロックとのアドレス(ブロック番
号)の連続関係を判断する。例えば、図9(1)に示す
内容を要求管理テーブルを持つときに、図9(2)に示
すような要求(要求位置140・要求長10)のパケッ
トを渡された場合には、要求管理テーブル250を参照
することで、今回のパケットの要求するブロックが、エ
ントリ番号1番→3番→5番→6番の順で、過去のパケ
ットの要求が目的としたブロックと連続していることを
判断することができる。また、過去の要求の要求管理テ
ーブル250のヒット回数(今回のパケットの要求する
ブロックと連続性あるブロックを目的とする過去の要求
が登録されている要求管理テーブルのエントリ数、この
場合は4)と、過去のブロック数の総和(今回のパケッ
トの要求するブロックと連続性あるブロックを目的とす
る過去の要求が目的としたブロック数の総和、この場合
は40)を得ることができる。
The request conversion module refers to the request management table 250 based on the received packet, and addresses (block numbers) of the block targeted by the request of the packet and the block requested by the packet received in the past. Is determined. For example, if a request (request position 140 and request length 10) as shown in FIG. 9B is passed when the request management table has the contents shown in FIG. Referring to the table 250, the block requested by the current packet is continuous with the target block in the request of the past packet in the order of the entry numbers 1 → 3 → 5 → 6. Can be determined. Also, the number of hits in the request management table 250 for past requests (the number of entries in the request management table in which past requests for blocks that are continuous with the block requested by the current packet are registered, in this case, 4) And the total number of blocks in the past (the total number of blocks targeted by past requests for blocks that are continuous with the block requested by the current packet, in this case, 40).

【0064】要求変換モジュールは、このようにして得
た、ヒット回数とブロック数総和の2つの情報をもと
に、今回の要求長を変更する。
The request conversion module changes the current request length based on the two pieces of information obtained in this way, the number of hits and the total number of blocks.

【0065】ここでは、要求長の変更を次のルールによ
って変更する。ブロック数総和をヒット回数で割ること
により、1回当たりの平均の要求長を求めることができ
る(これを平均要求長と呼ぶ)。ここでは、平均要求長
に定数Kをかけた値を新しい要求長とする。この定数K
を変更することで、多重シーケンシャルアクセス時の転
送速度が変化する。例えば定数Kを5とすると、今回の
場合、要求長は50となる。
Here, the change of the request length is changed according to the following rule. By dividing the total number of blocks by the number of hits, it is possible to determine the average required length per time (this is called the average required length). Here, a value obtained by multiplying the average required length by a constant K is set as a new required length. This constant K
Is changed, the transfer speed at the time of multiple sequential access changes. For example, if the constant K is 5, the requested length is 50 in this case.

【0066】次に、保持データ管理テーブル261を参
照し、ホストコンピュータの要求している要求位置と、
変更した要求長に基づくデータが、データ保持領域26
0にあるかどうかを調べる。調べた結果、全てのデータ
がデータ保持領域260に存在した場合、ディスク記憶
装置399からデータを読み出すことなくホストコンピ
ュータの要求データをデータ保持領域260から転送す
る。また、部分的に存在した場合(50%以上存在しな
い場合)や、全く存在しなかった場合には、要求位置と
要求長を、不足する部分の読み出しを要求する要求とな
るように変更して、新たにパケットを生成し、要求発行
モジュール240にパケットを渡す。
Next, referring to the held data management table 261, the requested position requested by the host computer,
Data based on the changed request length is stored in the data holding area 26.
Check if it is at zero. As a result of the check, if all the data exists in the data holding area 260, the request data of the host computer is transferred from the data holding area 260 without reading the data from the disk storage device 399. In addition, when there is a partial presence (when there is no 50% or more) or when there is no such portion, the request position and the request length are changed so as to be a request for reading the missing portion. , Generates a new packet, and passes the packet to the request issuing module 240.

【0067】要求発行モジュール240は、受け取った
パケットをもとに、SCSI規格に従ったCDBを作成
し、ディスク記憶装置399にCDBを発行する。ディ
スク記憶装置399は、CDBを受け取ると、そのCD
Bを解釈しデータを読み出し、記憶制御装置1へ転送を
開始する。
The request issuing module 240 creates a CDB according to the SCSI standard based on the received packet, and issues the CDB to the disk storage device 399. When the disk storage device 399 receives the CDB, the
B is interpreted, data is read, and transfer to the storage controller 1 is started.

【0068】記憶制御装置1は、ディスク記憶装置から
転送されたデータを、SCSIコントローラ110とP
CIバス130を介して、メモリ150内のデータ保持
領域260に保持する。要求発行モジュール240は、
ディスク記憶装置399からの読み出し処理が終了する
と、データ保持領域260に保持されたデータに整合す
るように、保持データ管理テーブル261を更新する。
The storage control device 1 transmits data transferred from the disk storage device to the SCSI controller 110
The data is held in the data holding area 260 in the memory 150 via the CI bus 130. The request issuing module 240
When the reading process from the disk storage device 399 is completed, the held data management table 261 is updated so as to match the data held in the data holding area 260.

【0069】要求受付モジュールは、ホストコンピュー
タからの要求(要求変換モジュールが変換するもとにな
った要求)に基づき、メモリ150内データ保持領域2
60のデータを、SCSIインタフェースコントローラ
100が、PCIバス120を介してホストコンピュー
タ90に転送する。SCSIインタフェースコントロー
ラ100は、データの転送が終了すると、読み出しの完
了報告をホストコンピュータ90に報告する。これで、
読み出し処理が終了する。
The request receiving module, based on a request from the host computer (a request that is converted by the request conversion module), stores the data in the data holding area 2 in the memory 150.
The SCSI interface controller 100 transfers the 60 data to the host computer 90 via the PCI bus 120. When the data transfer is completed, the SCSI interface controller 100 reports a read completion report to the host computer 90. with this,
The read processing ends.

【0070】なお、要求受付モジュールは、このように
ホストコンピュータから送られた一つの読み出し要求の
読み出し処理が終了するまで、ホストコンピュータから
の次の読み出し要求の受付を拒絶する。または、次の読
み出し要求は受け付けるが、その読み出し処理は、必
ず、前の読み出し要求の読み出し処理の後に行うよう
に、これを、備えた読み出し処理対象の読み出し要求用
のキューに入れ、次の読み出し要求の読み出し処理の開
始が可能となった時点で取り出して処理する。すなわ
ち、より前にホストコンピュータから受け付けた読み出
し要求の読み出し処理を優先して行う。
The request receiving module rejects the reception of the next read request from the host computer until the process of reading one read request sent from the host computer is completed. Alternatively, the next read request is accepted, but the read processing is always performed after the read processing of the previous read request. The request is read out and processed when it becomes possible to start the request reading process. That is, the read processing of the read request received earlier from the host computer is preferentially performed.

【0071】また、ホストコンピュータから書き込み要
求があった場合には、要求された書き込みをデータ保持
領域に対して行い、保持データ管理テーブルをこれに整
合するよう更新する。また、データ保持領域が満杯にな
ったときには、所定の書き戻しアルゴリズムによりディ
スク記憶装置に書き戻すデータを決定し、これをディス
ク記憶装置に書き戻し、保持データ管理テーブルをこれ
に整合するよう更新する。
When a write request is issued from the host computer, the requested writing is performed on the data holding area, and the held data management table is updated so as to be consistent therewith. When the data holding area becomes full, the data to be written back to the disk storage device is determined by a predetermined writing back algorithm, the data is written back to the disk storage device, and the held data management table is updated to match the data. .

【0072】以上の処理により、多重シーケンシャルア
クセス発生時において、ディスク記憶装置内で発生する
シーク時間と回転待ち時間を低減でき、結果としてシー
ケンシャルアクセス処理の高速化が実現できる。この効
果を図10を用いて説明する。
By the above processing, when multiple sequential accesses occur, the seek time and rotation wait time generated in the disk storage device can be reduced, and as a result, the speed of the sequential access processing can be increased. This effect will be described with reference to FIG.

【0073】図1のように、2台のホストコンピュータ
AとBが接続され、2多重のシーケンシャルアクセスが
発生しているとする。各データ間のシーク時間を30m
s、平均的な回転待ち時間を4ms、1ブロック当たり
の転送時間を0.05ms(10MB/s)とする。各
ホストコンピュータが128ブロックづつのシーケンシ
ャルアクセスを実施した場合、データ転送時間は6.4
ms。
Assume that two host computers A and B are connected as shown in FIG. 1 and two sequential accesses occur. 30m seek time between each data
s, the average rotation waiting time is 4 ms, and the transfer time per block is 0.05 ms (10 MB / s). When each host computer performs sequential access of 128 blocks, the data transfer time is 6.4.
ms.

【0074】単一シーケンシャルアクセスの場合は、図
10(1)に示すように、シーク時間と回転待ち時間は
ほとんど発生することなく、データ転送だけを実施する
ことができる。この場合は、ほぼ100%の効率を達成
できる。
In the case of the single sequential access, as shown in FIG. 10A, only the data transfer can be performed with almost no seek time and no rotation waiting time. In this case, almost 100% efficiency can be achieved.

【0075】2台のホストコンピュータからの要求をそ
のままディスク記憶装置に発行すると、図10(2)に
示すように、平均的に2台のホストコンピュータからの
要求は交互に到着し、128ブロック毎にシークが発生
する。このため、実質的な転送が行われる割合は、 6.4÷(30+4+6.4)--(式1) で求まり、15.84%となる。さらに2多重シーケン
シャルアクセスなので、ホストコンピュータ1台当たり
の転送速度は半分になり、7.92%となる。これは、
単一シーケンシャルアクセス性能10MB/sのディス
ク記憶装置を使用しても、2多重シーケンシャルアクセ
ス時には、0.792MB/sの転送速度しか実現でき
ないことを示している。
When the requests from the two host computers are issued to the disk storage device as they are, the requests from the two host computers alternately arrive on average, as shown in FIG. Seek occurs. For this reason, the ratio at which the substantial transfer is performed is obtained by 6.430 (30 + 4 + 6.4)-(Equation 1), and is 15.84%. Furthermore, because of the two-multiplex sequential access, the transfer rate per host computer is halved to 7.92%. this is,
This shows that even when a disk storage device having a single sequential access performance of 10 MB / s is used, only a transfer rate of 0.792 MB / s can be realized in the case of two-multiplex sequential access.

【0076】多重シーケンシャルアクセス時の転送速度
を向上するには、上記(式1)において、シーク時間と
回転待ち時間に対するデータ転送時間の割合を増やすこ
とで解決できる。例えば、5倍の640ブロック毎に読
み出しを実行すると、図10(3)の様になり、 32.0÷(30+4+32.0)--(式2) より48.48%となる。2多重シーケンシャルアクセ
スと仮定すると、ホストコンピュータ1台当たりの転送
速度は半分になり、24.24%となる。このように、
データ転送速度を3.06倍向上することができる。
To improve the transfer speed at the time of multiple sequential access, it can be solved by increasing the ratio of the data transfer time to the seek time and the rotation wait time in the above (Equation 1). For example, when reading is performed for every 640 blocks, which is 5 times, the result is as shown in FIG. Assuming two-multiple sequential access, the transfer rate per host computer is halved to 24.24%. in this way,
The data transfer speed can be improved by 3.06 times.

【0077】もちろん、これは、ディスク記憶装置から
記憶制御装置1への転送についてのものであり、ディス
ク記憶装置からホストコンピュータに対してのものでは
ない。
Of course, this is about the transfer from the disk storage device to the storage controller 1, and not from the disk storage device to the host computer.

【0078】ディスク記憶装置から記憶制御装置1へ転
送されたデータ全てがホストコンピュータによって利用
されるとは限らず、要求長を変更することにより、記憶
制御装置1に先読みしたデータに対するホストコンピュ
ータの要求が結局発行されない場合もある。しかし、本
実施形態では、要求と過去の要求との目的とするブロッ
クの連続性の強さに応じて要求長を変更することによ
り、その要求がシーケンシャルアクセス中の要求の一つ
であるらしさに応じたブロック数を先読みするようにし
ている。したがって、先読みしたブロックに対する、そ
の後、その要求が含まれるシーケンシャルアクセス中の
引き続く要求がホストコンピュータから発行されること
が期待でき、これにより、先読みしたブロックが無駄に
なることが少ないことが期待できる。
Not all data transferred from the disk storage device to the storage controller 1 is necessarily used by the host computer. By changing the request length, the host computer requests the storage controller 1 for data read ahead. May not be issued after all. However, in the present embodiment, by changing the request length in accordance with the strength of continuity of a target block between a request and a past request, it is possible that the request is one of requests during sequential access. The corresponding block number is read ahead. Therefore, it can be expected that the host computer issues a subsequent request for the pre-read block during subsequent sequential access including the request, thereby reducing the possibility of wasting the pre-read block.

【0079】図11に、仮定(30ms、4ms、0.
05ms、2多重)のもとにおいて、1回のシーク時間
と回転待ち時間に対する読み出すブロック数を変化した
場合の転送効率をグラフで示す。ブロック数を増やすに
従って、転送効率が上がっている。
FIG. 11 shows assumptions (30 ms, 4 ms, 0.
The transfer efficiency when the number of blocks to be read with respect to one seek time and the rotation wait time is changed under the condition of (05 ms, 2 multiplexes) is shown in a graph. As the number of blocks increases, the transfer efficiency increases.

【0080】以上のように、本実施形態によれば、ホス
トコンピュータからの要求を、過去の要求と比較するこ
とでシーケンシャルアクセス性を検出し、これに応じて
要求長を変更することで、シーク時間と回転待ち時間に
対する、ホストコンピュータが要求した、もしくは、要
求するであろうデータのデータ転送時間の割合を増やす
ことにより、多重シーケンシャルアクセス時の平均的な
応答時間の短縮を実現することができる。
As described above, according to the present embodiment, the sequential access is detected by comparing the request from the host computer with the past request, and the request length is changed in accordance with the sequential access. By increasing the ratio of the data transfer time of the data requested or expected by the host computer to the time and the rotation waiting time, it is possible to reduce the average response time at the time of the multiple sequential access. .

【0081】以下、本発明の第2の実施形態について説
明する。
Hereinafter, a second embodiment of the present invention will be described.

【0082】本第2実施形態は、第1実施形態において、
要求管理テーブル250を省略し、要求変換モジュール
220の行う要求長の変更のルールを変更したものであ
る。
The second embodiment is different from the first embodiment in that
The request management table 250 is omitted, and the rule for changing the request length performed by the request conversion module 220 is changed.

【0083】すなわち、本実施形態において、要求変更
モジュール220は、要求受付モジュール210から受
け取ったパケットをもとに、保持データ管理テーブル2
61を参照し、ホストコンピュータの要求するデータ
が、データ保持領域260にあるかないかを調べる。
That is, in the present embodiment, the request change module 220 uses the packet received from the request
Referring to 61, it is checked whether or not the data requested by the host computer exists in the data holding area 260.

【0084】そして、目的のデータが存在した場合、要
求長の変更は行わなず、要求受付モジュール220は、
ホストコンピュータからの要求(要求変換モジュールが
変換するもとになった要求)に基づき、メモリ150内
データ保持領域260のデータを、SCSIインタフェ
ースコントローラ100がPCIバス120を介してホ
ストコンピュータ90に転送する。
When the target data exists, the request length is not changed, and the request receiving module 220
The SCSI interface controller 100 transfers the data in the data holding area 260 in the memory 150 to the host computer 90 via the PCI bus 120 based on a request from the host computer (a request that is converted by the request conversion module). .

【0085】一方、目的のデータが存在しなかった場合
には要求長を変更する。要求長を一定値Jに置き換え
る。ここではJを2048とする。要求変換モジュール
は、要求長を2048に変更してパケットを生成し、要
求発行モジュール240にパケットを渡す。
On the other hand, if the target data does not exist, the request length is changed. The required length is replaced with a constant value J. Here, J is assumed to be 2048. The request conversion module changes the request length to 2048, generates a packet, and passes the packet to the request issuing module 240.

【0086】要求発行モジュール240は、受け取った
パケットに従って、SCSIのCDBを作成し、ディス
ク記憶装置399にCDBを発行する。ディスク記憶装
置399は、CDBを受け取ると、そのCDBを解釈し
データを読み出し転送を開始する。記憶制御装置1は、
ディスク記憶装置からのデータを、SCSIコントロー
ラ110とPCIバス130を介して、メモリ150内
のデータ保持領域260に保持する。要求発行モジュー
ルは、ディスク記憶装置399からの読み出し処理が終
了すると、保持データ管理テーブル261を更新する。
The request issuing module 240 creates a SCSI CDB in accordance with the received packet and issues the CDB to the disk storage device 399. Upon receiving the CDB, the disk storage device 399 interprets the CDB, reads data, and starts transfer. The storage control device 1
Data from the disk storage device is held in the data holding area 260 in the memory 150 via the SCSI controller 110 and the PCI bus 130. When the reading process from the disk storage device 399 ends, the request issuing module updates the held data management table 261.

【0087】要求受付モジュールは、ホストコンピュー
タからの要求(要求変換モジュールが変換するもとにな
った要求)に基づき、メモリ150内データ保持領域2
60のデータを、SCSIインタフェースコントローラ
100が、PCIバス120を介してホストコンピュー
タ90に転送する。SCSIインタフェースコントロー
ラ100は、データの転送が終了すると、読み出しの完
了報告をホストコンピュータ90に報告する。これで、
読み出し処理が終了する。
The request receiving module, based on a request from the host computer (a request that is converted by the request conversion module), stores the data in the data holding area 2 in the memory 150.
The SCSI interface controller 100 transfers the 60 data to the host computer 90 via the PCI bus 120. When the data transfer is completed, the SCSI interface controller 100 reports a read completion report to the host computer 90. with this,
The read processing ends.

【0088】なお、前記第1実施形態と同様に、要求受
付モジュールは、このようにホストコンピュータから送
られた一つの読み出し要求の読み出し処理が終了するま
で、ホストコンピュータからの次の読み出し要求の受付
を拒絶する。または、次の読み出し要求は受け付ける
が、その読み出し処理は、必ず、前の読み出し要求の読
み出し処理の後に行うように、これを、備えた読み出し
処理対象の読み出し要求用のキューに入れ、次の読み出
し要求の読み出し処理の開始が可能となった時点で取り
出して処理する。すなわち、より前にホストコンピュー
タから受け付けた読み出し要求の読み出し処理を優先し
て行う。
As in the first embodiment, the request receiving module receives the next read request from the host computer until the read processing of one read request sent from the host computer is completed. Reject. Alternatively, the next read request is accepted, but the read processing is always performed after the read processing of the previous read request. The request is read out and processed when it becomes possible to start the request reading process. That is, the read processing of the read request received earlier from the host computer is preferentially performed.

【0089】本第2実施形態によれば、ホストコンピュ
ータからの読み出し要求に基づく先読み処理を、その後
のホストコンピュータからの読み出し要求の対象とする
ブロックの如何によらず、この後の読み出し要求に基づ
く読み出しに先だって優先して行う。そして、この先読
みしたデータをデータ保持領域に格納し、このデータを
対象とする以降の読み出し要求に応答してデータ保持領
域からホストコンピュータに転送する。
According to the second embodiment, the prefetch processing based on the read request from the host computer is performed based on the subsequent read request irrespective of the block to which the subsequent read request is made from the host computer. This is performed prior to reading. Then, the pre-read data is stored in the data holding area, and the data is transferred from the data holding area to the host computer in response to a subsequent read request for the data.

【0090】よって、多重シーケンシャルアクセス時の
平均的な応答時間を短縮することが期待できる。
Therefore, it is expected that the average response time at the time of multiple sequential access can be shortened.

【0091】以下、本発明の第3の実施形態について説
明する。
Hereinafter, a third embodiment of the present invention will be described.

【0092】本第3実施形態は、前記第1実施形態におい
て、要求管理テーブル250を省略し、保持データ管理
テーブル261図12に示す保持データ管理テーブル2
62に変更し、要求変換モジュール220が、この保持
データ管理テーブル262に従って、要求長の変換を行
うものである。
The third embodiment differs from the first embodiment in that the request management table 250 is omitted, and the held data management table 261 shown in FIG.
62, and the request conversion module 220 converts the request length in accordance with the held data management table 262.

【0093】図14に示すように、保持データ管理テー
ブル262は、データ保持領域260に保持しているデ
ータの論理ブロックアドレス(LBA)と、ブロック数
を保持するテーブルである。各テーブルの要素は、論理
ブロックアドレス、ブロック数、期待値、ポインタの4
つで構成する。ポインタはLBAに対応するデータ保持領
域260のデータを格納しているアドレスへのポインタ
を保持する。期待値にはついては後述する。
As shown in FIG. 14, the held data management table 262 is a table for holding a logical block address (LBA) of data held in the data holding area 260 and the number of blocks. Elements of each table are logical block address, number of blocks, expected value, and pointer.
It consists of one. The pointer holds a pointer to an address at which data in the data holding area 260 corresponding to the LBA is stored. The expected value will be described later.

【0094】以下、ホストコンピュータ90が、ディス
ク記憶装置399からデータを読み出す際の処理につい
て説明する。
Hereinafter, a process when the host computer 90 reads data from the disk storage device 399 will be described.

【0095】図1に示すように、記憶制御装置1は、ホ
ストコンピュータ90と記憶装置399の間に接続して
いるので、ホストコンピュータ90が発行する記憶装置
399へのデータ読み出し要求は、本記憶制御装置1が
受け取る。ホストコンピュータからの読み出し要求は、
SCSIの規格に従い、CDBとよばれるコマンドブロ
ックによって発行される。
As shown in FIG. 1, since the storage control device 1 is connected between the host computer 90 and the storage device 399, a data read request issued by the host computer 90 to the storage device 399 is not stored in the main storage device. The control device 1 receives it. The read request from the host computer is
According to the SCSI standard, it is issued by a command block called CDB.

【0096】SCSIインタフェースコントローラ10
0がホストコンピュータからのCDBを受け取ると、C
PUモジュール190に割り込み信号を送る。CPUモ
ジュールは、割り込み信号を受け取ると、要求受付モジ
ュール219を起動する。
SCSI interface controller 10
0 receives the CDB from the host computer,
An interrupt signal is sent to the PU module 190. Upon receiving the interrupt signal, the CPU module activates the request receiving module 219.

【0097】要求受付モジュール210は、SCSIイ
ンタフェースコントローラ100からCDBを取り出
し、要求位置と要求長を保持したパケットを生成し、要
求変換220モジュールにパケットを渡す。
The request receiving module 210 extracts the CDB from the SCSI interface controller 100, generates a packet holding the request position and the request length, and passes the packet to the request conversion 220 module.

【0098】要求変換モジュール220はパケットを受
け取ると、受け取ったパケットをもとに保持データ管理
テーブル262を参照し、要求されているデータがデー
タ保持領域260内にあるかどうかを調べる。目的のデ
ータが存在した場合、保持データ管理テーブル262か
ら期待値を獲得する。
Upon receiving the packet, the request conversion module 220 refers to the held data management table 262 based on the received packet and checks whether the requested data is in the data holding area 260. If the target data exists, an expected value is obtained from the held data management table 262.

【0099】目的のデータが存在しなかった場合、要求
されているデータの直前のデータがデータ保持領域26
0内にあるかを調べる。直前のデータが存在した場合、
保持データ管理テーブル262から期待値を獲得する。
直前のデータが存在しなかった場合は、期待値をゼロと
する。
If the target data does not exist, the data immediately before the requested data is stored in the data holding area 26.
Check if it is within 0. If the previous data exists,
An expected value is obtained from the held data management table 262.
If the immediately preceding data does not exist, the expected value is set to zero.

【0100】次に、要求変換モジュール220は、獲得
した期待値をもとに、今回読み出すデータの期待値を求
める。このデータの期待値は、獲得した期待値に1を加
えた値とする。要求変換モジュール220は、回読み出
すデータの期待値をもとに、要求長を変更する。ここで
は、期待値に定数Mをかけた値を新しい要求長とする。
もし、新しい要求長が、古い要求長より小さい場合に
は、古い要求長をそのまま使用する。また、新しい要求
長が、予定している最大値(たとえば2048)を越え
た場合には、最大値を要求長とする。
Next, the request conversion module 220 obtains the expected value of the data to be read this time based on the obtained expected value. The expected value of this data is a value obtained by adding 1 to the obtained expected value. The request conversion module 220 changes the request length based on the expected value of the data to be read repeatedly. Here, a value obtained by multiplying the expected value by a constant M is set as a new required length.
If the new request length is smaller than the old request length, the old request length is used as it is. If the new request length exceeds a predetermined maximum value (for example, 2048), the maximum value is set as the request length.

【0101】次に、保持データ管理テーブル262を再
度参照し、ホストコンピュータの要求している要求位置
と、変更した要求長に基づくデータが、データ保持領域
260にあるかないかを調べる。調べた結果、全てのデ
ータがデータ保持領域260に存在した場合、ディスク
記憶装置399からデータを読み出すことなく要求受付
モジュール210を介してホストコンピュータに要求さ
れたデータを転送し、処理を終了する。また、部分的に
存在した場合(50%以上存在しない場合)や、全く存
在しなかった場合には、要求位置と要求長を不足する部
分の読み出しを要求する要求となるように変更して、新
たにパケットを生成し、要求発行モジュール240にパ
ケットを渡す。
Next, by referring to the held data management table 262 again, it is checked whether or not data based on the requested position requested by the host computer and the changed request length exists in the data holding area 260. As a result of the check, if all the data exists in the data holding area 260, the requested data is transferred to the host computer via the request receiving module 210 without reading the data from the disk storage device 399, and the process is terminated. In addition, when there is a partial presence (when there is no 50% or more) or when there is no such portion, a change is made so that a request for reading a portion that lacks the required position and required length is made. A new packet is generated, and the packet is passed to the request issuing module 240.

【0102】要求発行モジュール240は、受け取った
パケットをもとに、SCSI規格に従ったCDBを作成
し、ディスク記憶装置399にCDBを発行する。ディ
スク記憶装置399は、CDBを受け取ると、そのCD
Bを解釈しデータを読み出し、記憶制御装置1への転送
を開始する。
The request issuing module 240 creates a CDB according to the SCSI standard based on the received packet, and issues the CDB to the disk storage device 399. When the disk storage device 399 receives the CDB, the
B is interpreted, data is read, and transfer to the storage controller 1 is started.

【0103】記憶制御装置1は、ディスク記憶装置から
転送されたデータを、SCSIコントローラ110とP
CIバス130を介して、メモリ150内のデータ保持
領域260に保持する。要求発行モジュール240は、
ディスク記憶装置399からの読み出し処理が終了する
と、保持データ管理テーブル261を、データ保持領域
260に保持されたデータに整合するように更新する。
また、今回ディスク記憶装置から転送され、データ保持
領域260に保持されたデータの期待値として、当該デ
ータに対応する保持データ管理テーブル262のエント
リに、先に求めた今回読み出すデータの期待値を書き込
む、要求受付モジュール210は、ホストコンピュータ
からの要求(要求変換モジュールが変換するもとになっ
た要求)に基づき、メモリ150内データ保持領域26
0のデータを、SCSIインタフェースコントローラ1
00が、PCIバス120を介してホストコンピュータ
90に転送する。SCSIインタフェースコントローラ
100は、データの転送が終了すると、読み出しの完了
報告をホストコンピュータ90に報告する。これで、読
み出し処理が終了する。
The storage control device 1 transmits the data transferred from the disk storage device to the SCSI controller 110 and the P
The data is held in the data holding area 260 in the memory 150 via the CI bus 130. The request issuing module 240
When the reading process from the disk storage device 399 is completed, the held data management table 261 is updated so as to match the data held in the data holding area 260.
In addition, as an expected value of the data transferred from the current disk storage device and held in the data holding area 260, the expected value of the previously read data to be read this time is written in the entry of the held data management table 262 corresponding to the data. , The request receiving module 210, based on a request from the host computer (a request that is converted by the request conversion module), stores the data holding area 26 in the memory 150.
0 data to the SCSI interface controller 1
00 is transferred to the host computer 90 via the PCI bus 120. When the data transfer is completed, the SCSI interface controller 100 reports a read completion report to the host computer 90. This completes the reading process.

【0104】なお、前記第1実施形態と同様に、要求受
付モジュールは、このようにホストコンピュータから送
られた一つの読み出し要求の読み出し処理が終了するま
で、ホストコンピュータからの次の読み出し要求の受付
を拒絶する。または、次の読み出し要求は受け付ける
が、その読み出し処理は、必ず、前の読み出し要求の読
み出し処理の後に行うように、これを、備えた読み出し
処理対象の読み出し要求用のキューに入れ、次の読み出
し要求の読み出し処理の開始が可能となった時点で取り
出して処理する。すなわち、より前にホストコンピュー
タから受け付けた読み出し要求の読み出し処理を優先し
て行う。
As in the first embodiment, the request receiving module receives the next read request from the host computer until the read processing of one read request sent from the host computer is completed. Reject. Alternatively, the next read request is accepted, but the read processing is always performed after the read processing of the previous read request. The request is read out and processed when it becomes possible to start the request reading process. That is, the read processing of the read request received earlier from the host computer is preferentially performed.

【0105】以上の第3実施形態においても、前記第1実
施形態と同様に、目的とするブロックの過去にアクセス
されたブロックとの連続性の強さに応じて要求長を変更
することにより、その要求がシーケンシャルアクセス中
の要求の一つであるらしさに応じたブロック数を先読み
するようにしている。したがって、前記第1実施形態と
同様に、多重シーケンシャルアクセス時の平均的な応答
時間を、より短縮することができる。
In the third embodiment, as in the first embodiment, the required length is changed according to the degree of continuity of the target block with the previously accessed block. The number of blocks is read ahead according to the likelihood that the request is one of requests during sequential access. Therefore, as in the first embodiment, the average response time during multiple sequential access can be further reduced.

【0106】以下、本発明の第4実施形態について説明
する。
Hereinafter, a fourth embodiment of the present invention will be described.

【0107】図14に、本第4実施形態に係るコンピュ
ータシステムの構成を示す。
FIG. 14 shows the configuration of a computer system according to the fourth embodiment.

【0108】図1に示した第1実施形態に係るコンピュー
タシステムとの相違は、記憶制御装置1のPCIバス1
30にSCSIインタフェースコントローラ110を4
つ接続し、各SCSIインタフェースコントローラに
は、それぞれ1台ずつディスク記憶装置(391から3
94)を接続している点である。また、本第4実施形態
では、前記第2実施形態と同様に、要求管理テーブル2
50を省略し、要求変換モジュール220の行う要求長
の変更のルールを第1実施形態とは変更している。
The difference from the computer system according to the first embodiment shown in FIG.
30 SCSI interface controllers 110
And each SCSI interface controller has one disk storage device (391 to 3).
94). In the fourth embodiment, as in the second embodiment, the request management table 2
50 is omitted, and the rule for changing the request length performed by the request conversion module 220 is changed from that of the first embodiment.

【0109】ここで、記憶制御装置1に接続した、4台
のディスク記憶装置(391から394)は、それぞれ
に論理ブロックアドレスを持つ。この4台のディスク記
憶装置をホストコンピュータ90に対して1台に見せか
けるため、要求変換モジュール220は、次のルールに
従って論理ブロックアドレスの変換を行う。
Here, each of the four disk storage devices (391 to 394) connected to the storage control device 1 has a logical block address. In order to make the four disk storage devices appear as one to the host computer 90, the request conversion module 220 performs logical block address conversion according to the following rules.

【0110】たとえば、図15に示すように、各ディス
ク記憶装置(391から394)は128ブロック毎に
データを格納する場合、記憶制御装置1の要求変換モジ
ュール220は、ホストコンピュータの示す論理ブロッ
クアドレス0を、ドライブ391の論理ブロックアドレ
ス0に、ホストコンピュータの示す論理ブロックアドレ
ス128を、ドライブ392の論理ブロックアドレス0
に、ホストコンピュータの示す論理ブロックアドレス1
280は、ドライブ393の論理ブロックアドレス25
6に変換することにより、ホストコンピュータが1台の
ディスク記憶装置をアクセスするときと同様に4台のデ
ィスク記憶装置(391から394)を利用可能とす
る。このような要求変換モジュール220における論理
ブロックアドレスの変換処理を「アドレス変換処理」と
呼ぶ。
For example, as shown in FIG. 15, when each disk storage device (391 to 394) stores data in units of 128 blocks, the request conversion module 220 of the storage control device 1 sends the logical block address indicated by the host computer. 0 to the logical block address 0 of the drive 391, and the logical block address 128 indicated by the host computer to the logical block address 0 of the drive 392.
The logical block address 1 indicated by the host computer
280 is the logical block address 25 of the drive 393
6 makes it possible to use four disk storage devices (391 to 394) in the same manner as when the host computer accesses one disk storage device. Such a logical block address conversion process in the request conversion module 220 is referred to as an “address conversion process”.

【0111】さて、このような構成において、本実施形
態において要求変換モジュール220は、要求受付モジ
ュール210から受け取ったパケットをもとに、保持デ
ータ管理テーブル261を参照し、ホストコンピュータ
の要求するデータが、データ保持領域261にあるかな
いかを調べる。
In such a configuration, in the present embodiment, the request conversion module 220 refers to the held data management table 261 based on the packet received from the request reception module 210, and stores the data requested by the host computer. It is checked whether or not the data is in the data holding area 261.

【0112】そして、目的のデータが存在した場合、要
求長の変更は行わない。要求受付モジュールは、ホスト
コンピュータからの要求(要求変換モジュール220が
変換するもとになった要求)に基づき、メモリ150内
データ保持領域260のデータを、SCSIインタフェ
ースコントローラ100がPCIバス120を介してホ
ストコンピュータ90に転送する。
When the target data exists, the request length is not changed. The request receiving module sends the data in the data holding area 260 in the memory 150 to the SCSI interface controller 100 via the PCI bus 120 based on the request from the host computer (the request from which the request conversion module 220 converts the request). Transfer to the host computer 90.

【0113】一方、目的のデータが存在しなかった場合
には要求長を変更する。要求長を一定値Jに置き換え
る。ここではJを2048とする。次に、要求変換モジ
ュールは、上述した「アドレス変換処理」を実施する。
要求が複数のディスク記憶装置にわたるときには、複数
のパケットを生成し、要求発行モジュール240にパケ
ットを渡す。
On the other hand, if the target data does not exist, the request length is changed. The required length is replaced with a constant value J. Here, J is assumed to be 2048. Next, the request conversion module performs the above-described “address conversion processing”.
If the request spans multiple disk storage devices, it generates multiple packets and passes the packets to request issuing module 240.

【0114】要求発行モジュール240は、受け取った
パケットをもとに、SCSIのCDBを作成し、ディス
ク記憶装置にCDBを発行する。複数のパケットを受け
取った場合には、もちろん、複数のディスク記憶装置に
CDBを各々発行する。
The request issuing module 240 creates a SCSI CDB based on the received packet and issues the CDB to the disk storage device. When a plurality of packets are received, a CDB is issued to each of a plurality of disk storage devices.

【0115】ディスク記憶装置は、CDBを受け取る
と、そのCDBを解釈しデータを読み出し転送を開始す
る。記憶制御装置1は、ディスク記憶装置から転送され
たデータを、SCSIコントローラ110とPCIバス
130を介して、メモリ150内のデータ保持領域26
0に保持する。
Upon receiving the CDB, the disk storage device interprets the CDB, reads out the data, and starts transfer. The storage control device 1 transfers the data transferred from the disk storage device to the data holding area 26 in the memory 150 via the SCSI controller 110 and the PCI bus 130.
Hold at 0.

【0116】要求発行モジュール220は、ディスク記
憶装置からの読み出し処理が終了すると、保持データ管
理テーブル261を更新する。複数のディスク記憶装置
に要求を発行した場合には、もちろん、発行した全ての
ディスク記憶装置の読み出し処理が終了することを待た
なければならない。
When the reading process from the disk storage device is completed, the request issuing module 220 updates the held data management table 261. When a request has been issued to a plurality of disk storage devices, it is of course necessary to wait for the reading process of all issued disk storage devices to be completed.

【0117】要求受付モジュールは、ホストコンピュー
タからの要求(要求変換モジュールが変換するもとにな
った要求)に基づき、メモリ150内データ保持領域2
60のデータを、SCSIインタフェースコントローラ
100が、PCIバス120を介してホストコンピュー
タ90に転送する。SCSIインタフェースコントロー
ラ100は、データの転送が終了すると、読み出しの完
了報告をホストコンピュータ90に報告する。これで、
読み出し処理が終了する。
The request receiving module, based on a request from the host computer (a request that is converted by the request conversion module), stores the data in the data holding area 2 in the memory 150.
The SCSI interface controller 100 transfers the 60 data to the host computer 90 via the PCI bus 120. When the data transfer is completed, the SCSI interface controller 100 reports a read completion report to the host computer 90. with this,
The read processing ends.

【0118】なお、前記第1実施形態と同様に、要求受
付モジュールは、このようにホストコンピュータから送
られた一つの読み出し要求の読み出し処理が終了するま
で、ホストコンピュータからの次の読み出し要求の受付
を拒絶する。または、次の読み出し要求は受け付ける
が、その読み出し処理は、必ず、前の読み出し要求の読
み出し処理の後に行うように、これを、備えた読み出し
処理対象の読み出し要求用のキューに入れ、次の読み出
し要求の読み出し処理の開始が可能となった時点で取り
出して処理する。すなわち、より前にホストコンピュー
タから受け付けた読み出し要求の読み出し処理を優先し
て行う。
Note that, as in the first embodiment, the request receiving module receives the next read request from the host computer until the read processing of one read request sent from the host computer is completed. Reject. Alternatively, the next read request is accepted, but the read processing is always performed after the read processing of the previous read request. The request is read out and processed when it becomes possible to start the request reading process. That is, the read processing of the read request received earlier from the host computer is preferentially performed.

【0119】本第4実施形態によっても、前記第2実施形
態と同様に、多重シーケンシャルアクセス時の平均的な
応答時間を、より短縮することができる。
According to the fourth embodiment, similarly to the second embodiment, the average response time at the time of multiple sequential access can be further reduced.

【0120】[0120]

【発明の効果】以上説明してきたように、本発明によれ
ば、多重シーケンシャルアクセスにおける、各ホストコ
ンピュータに対する応答時間を短縮することをができ
る。
As described above, according to the present invention, the response time to each host computer in multiple sequential access can be reduced.

【図面の簡単な説明】[Brief description of the drawings]

【図1】コンピュータシステムの構成を示すブロック図
である。
FIG. 1 is a block diagram illustrating a configuration of a computer system.

【図2】ディスク記憶装置の構成を示すブロック図であ
る。
FIG. 2 is a block diagram illustrating a configuration of a disk storage device.

【図3】記憶媒体上の記録形式を示した図である。FIG. 3 is a diagram showing a recording format on a storage medium.

【図4】セクタの構成を示した図である。FIG. 4 is a diagram showing a configuration of a sector.

【図5】制御プログラムの構成を示すブロック図であ
る。
FIG. 5 is a block diagram illustrating a configuration of a control program.

【図6】メモリ上のテーブルを示した図である。FIG. 6 is a diagram showing a table on a memory.

【図7】要求管理テーブルの構成を示す図である。FIG. 7 is a diagram showing a configuration of a request management table.

【図8】保持データ管理テーブルの構成を示す図であ
る。
FIG. 8 is a diagram showing a configuration of a held data management table.

【図9】要求管理テーブルの内容例を示す図である。FIG. 9 is a diagram showing an example of the contents of a request management table.

【図10】シーク時間と回転待ち時間とデータ転送時間
の関係を示す図である。
FIG. 10 is a diagram showing a relationship among a seek time, a rotation waiting time, and a data transfer time.

【図11】ブロック数とデータの転送効率の関係を示す
図である。
FIG. 11 is a diagram illustrating a relationship between the number of blocks and data transfer efficiency.

【図12】メモリ上のテーブルを示した図である。FIG. 12 is a diagram showing a table on a memory.

【図13】保持データ管理テーブルの構成を示した図で
ある。
FIG. 13 is a diagram showing a configuration of a held data management table.

【図14】コンピュータシステムの構成を示すブロック
図である。
FIG. 14 is a block diagram illustrating a configuration of a computer system.

【図15】複数のディスク記憶装置における論理ブロッ
ク格納のようすを示した図である。
FIG. 15 is a diagram showing how logical blocks are stored in a plurality of disk storage devices.

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

1…記憶制御装置,10…要求受付手段,20…要求変
換手段,30…情報記憶手段,40…要求発行手段,9
0…ホストコンピュータ,99…記憶装置 100…SCSIインタフェースコントローラ,110
…SCSIインタフェースコントローラ,120…PC
Iバス,130…PCIバス,150…メモリ,160
…ブリッジ,190…CPUモジュール 200…制御プログラム,210…要求受付モジュー
ル,220…要求変換モジュール,240…要求発行モ
ジュール 250…要求管理テーブル,260…データ保持領域,
261…保持データ管理テーブル,262…保持データ
管理テーブル 300…記憶媒体,301…トラック,302…セク
タ,303…位置情報領域,304…データ領域,30
5…ECC領域,310…ヘッド,315…ヘッド制御
手段,320…モータ,325…モータ制御手段,35
0…波形整形手段,352…ECC手段,354…バッ
ファ,356…転送手段,390…コントローラ
DESCRIPTION OF SYMBOLS 1 ... Storage control device, 10 ... Request reception means, 20 ... Request conversion means, 30 ... Information storage means, 40 ... Request issuing means, 9
0: Host computer, 99: Storage device 100: SCSI interface controller, 110
... SCSI interface controller, 120 ... PC
I bus, 130: PCI bus, 150: memory, 160
.. Bridge, 190 CPU module 200 control program 210 request receiving module 220 request conversion module 240 request issuing module 250 request management table 260 data holding area
261, held data management table, 262, held data management table 300, storage medium, 301, track, 302, sector, 303, position information area, 304, data area, 30
5 ECC area, 310 head, 315 head control means, 320 motor, 325 motor control means, 35
0: waveform shaping means, 352: ECC means, 354: buffer, 356: transfer means, 390: controller

Claims (10)

【特許請求の範囲】[Claims] 【請求項1】複数のホスト装置と記憶装置との間に接続
され、記憶装置に記憶されたデータに対するホスト装置
から発行された読み出し要求に基づき、前記記憶装置へ
読み出し要求を発行する記憶制御装置であって、 前記複数のホスト装置に対する前記記憶装置のキャッシ
ュとして機能するデータ保持手段と、 ホスト装置から発行された読み出し要求が対象とするデ
ータのデータ長を、より長い長さに変更するデータ長変
更手段と、 少なくとも、前記データ長変更手段がデータ長を変更し
た読み出し要求が対象とするデータの全てが前記データ
保持手段に保持されていない場合に、格納されていない
データの部分を少なくとも対象とする読み出し要求を、
前記データ長変更手段がデータ長を変更した読み出し要
求の後にホスト装置から発行された読み出し要求に優先
して、前記記憶装置に発行し、前記記憶装置からデータ
を読み出す要求発行手段とを有し、 前記データ保持手段は、前記要求発行手段が発行した読
み出し要求に応答して前記記憶装置から転送されるデー
タを保持することを特徴とする記憶制御装置。
1. A storage controller connected between a plurality of host devices and a storage device, and issuing a read request to the storage device based on a read request issued from the host device for data stored in the storage device. A data holding unit that functions as a cache of the storage device for the plurality of host devices, and a data length that changes a data length of data targeted by a read request issued from the host device to a longer length. Changing means, at least, when not all of the data targeted by the read request whose data length changing means has changed the data length is held in the data holding means, at least a part of the data that is not stored is targeted. Read request to
Request issuing means for issuing data to the storage device in preference to a read request issued from the host device after the read request in which the data length changing device has changed the data length, and reading data from the storage device, The storage control device, wherein the data holding unit holds data transferred from the storage device in response to a read request issued by the request issuing unit.
【請求項2】複数のホスト装置と記憶装置との間に接続
され、記憶装置に記憶されたデータに対するホスト装置
から発行された読み出し要求に基づき、前記記憶装置へ
読み出し要求を発行する記憶制御装置であって、 前記複数のホスト装置に対する前記記憶装置のキャッシ
ュとして機能するデータ保持手段と、 ホスト装置から発行された読み出し要求が対象とするデ
ータのデータ長を、より長い長さに変更するデータ長変
更手段と、 少なくとも、前記データ長変更手段がデータ長を変更し
た読み出し要求が対象とするデータの全てが前記データ
保持手段に保持されていない場合に、格納されていない
データの部分を少なくとも対象とする読み出し要求を、
前記データ長変更手段がデータ長を変更した読み出し要
求の後にホスト装置から発行された読み出し要求が対象
とするデータの前記記憶装置上のアドレス領域の如何に
かかわらずに、前記記憶装置に発行し、前記記憶装置か
らデータを読み出す要求発行手段とを有し、 前記データ保持手段は、前記要求発行手段が発行した読
み出し要求に応答して前記記憶装置から転送されるデー
タを保持することを特徴とする記憶制御装置。
2. A storage control device connected between a plurality of host devices and a storage device, and issuing a read request to the storage device based on a read request issued from the host device for data stored in the storage device. A data holding unit that functions as a cache of the storage device for the plurality of host devices, and a data length that changes a data length of data targeted by a read request issued from the host device to a longer length. Changing means, at least, when all of the data targeted by the read request whose data length changing means has changed the data length is not held in the data holding means, at least a part of the data that is not stored is set as a target. Read request to
Regardless of the address area on the storage device of the data targeted by the read request issued from the host device after the read request in which the data length changing means has changed the data length, the data is issued to the storage device, Request issuing means for reading data from the storage device, wherein the data holding means holds data transferred from the storage device in response to the read request issued by the request issuing means. Storage controller.
【請求項3】複数のホスト装置と記憶装置との間に接続
され、記憶装置に記憶されたデータに対するホスト装置
から発行された読み出し要求に基づき、前記記憶装置へ
読み出し要求を発行する記憶制御装置であって、 前記複数のホスト装置に対する前記記憶装置のキャッシ
ュとして機能するデータ保持手段と、 ホスト装置から発行された読み出し要求が対象とするデ
ータの前記記憶装置上のアドレス領域の、過去に前記ホ
スト装置から発行された読み出し要求が対象としたデー
タの前記記憶装置上のアドレス領域に対するアドレス上
の連続性の強さを判定する連続性判定手段と、 ホスト装置から発行された読み出し要求が対象とするデ
ータのデータ長を、前記連続性判定手段が判定した連続
性の強さに応じた長さに変更するデータ長変更手段と、 少なくとも、前記データ長変更手段がデータ長を変更し
た読み出し要求が対象とするデータの全てが前記データ
保持手段に保持されていない場合に、格納されていない
データの部分を少なくとも対象とする読み出し要求を、
前記記憶装置に発行し、前記記憶装置からデータを読み
出す要求発行手段とを有し、 前記データ保持手段は、前記要求発行手段が発行した読
み出し要求に応答して前記記憶装置から転送されるデー
タを保持することを特徴とする記憶制御装置。
3. A storage controller connected between a plurality of host devices and a storage device, and issuing a read request to the storage device based on a read request issued from the host device for data stored in the storage device. And a data holding unit that functions as a cache of the storage device for the plurality of host devices, and an address area on the storage device of data targeted by a read request issued from the host device, the A continuity determining means for determining the degree of continuity of the data targeted by the read request issued from the device with respect to the address area on the storage device; and a read request issued from the host device. Data length changing means for changing the data length of the data to a length corresponding to the strength of the continuity determined by the continuity determining means And at least, when not all of the data targeted by the read request whose data length has been changed by the data length changing means is held in the data holding means, at least the data portion not stored is read targeted at Request
Request issuing means for issuing data to the storage device and reading data from the storage device, wherein the data holding means transmits data transferred from the storage device in response to the read request issued by the request issuing means. A storage control device characterized by holding.
【請求項4】請求項3記載の記憶制御装置であって、 過去に前記ホスト装置から発行された読み出し要求が対
象としたデータの前記記憶装置上のアドレス領域を記憶
する履歴管理手段を備え、 前記連続性判定手段は、前記履歴管理手段を参照し、ホ
スト装置から発行された読み出し要求が対象とするデー
タの前記記憶装置上のアドレス領域の、前記履歴管理手
段に記憶されている過去に前記ホスト装置から発行され
た読み出し要求が対象としたデータの前記記憶装置上の
アドレス領域に対するアドレス上の連続性の強さを判定
し、 前記要求発行手段は、 前記データ長変更手段がデータ長を変更した読み出し要
求が対象とするデータの全てが前記データ保持手段に格
納されていない場合に、格納されていないデータの部分
を対象とする読み出し要求を前記記憶装置に発行し、発
行した読み出し要求に応答して前記記憶装置から転送さ
れたデータのうち、前記ホスト装置が発行した読み出し
要求が対象とするデータを前記ホスト装置に転送し、 前記データ長変更手段がデータ長を変更した読み出し要
求が対象とするデータの全てが前記データ保持手段に格
納されている場合に、前記データ保持手段に格納されて
いるデータのうち、前記ホスト装置が発行した読み出し
要求が対象とするデータを前記ホスト装置に転送するこ
とを特徴とする記憶制御装置。
4. The storage control device according to claim 3, further comprising history management means for storing an address area on the storage device of data targeted by a read request issued from the host device in the past, The continuity determination unit refers to the history management unit, and in a past address stored in the history management unit, in an address area on the storage device of data targeted by a read request issued from a host device. The strength of the continuity of the data targeted by the read request issued from the host device on the address area on the storage device is determined, and the request issuing unit changes the data length by the data length changing unit. If not all of the data targeted by the read request is stored in the data holding unit, the data is read out of the unstored data portion. Issue a request to the storage device, among the data transferred from the storage device in response to the issued read request, transfer to the host device the data targeted by the read request issued by the host device, When all of the data targeted by the read request whose data length has been changed by the data length changing means is stored in the data holding means, the data stored in the data holding means may include the host device. A storage control device for transferring data targeted by an issued read request to the host device.
【請求項5】請求項3記載の記憶制御装置であって、 過去に前記ホスト装置から発行された読み出し要求の仮
期待値を、当該アドレス領域の直前のアドレス領域に対
して設定された期待値が大きいほど大きく設定する期待
値設定手段を備え、 前記連続性判定手段は、前記期待値設定手段が設定した
ホスト装置から発行された読み出し要求の仮期待値に応
じて、ホスト装置から発行された読み出し要求が対象と
するデータの前記記憶装置上のアドレス領域の、過去に
前記ホスト装置から発行された読み出し要求が対象とし
たデータの前記記憶装置上のアドレス領域に対するアド
レス上の連続性の強さを判定し、 前記要求発行手段は、 前記データ長変更手段がデータ長を変更した読み出し要
求が対象とするデータの全てが前記データ保持手段に格
納されていない場合に、格納されていないデータの部分
を対象とする読み出し要求を前記記憶装置に発行し、発
行した読み出し要求に応答して前記記憶装置から転送さ
れたデータのアドレス領域に対して、発行した読み出し
要求の仮期待値を期待値として設定し、発行した読み出
し要求に応答して前記記憶装置から転送されたデータの
うち、前記ホスト装置が発行した読み出し要求が対象と
するデータを前記ホスト装置に転送し、 前記データ長変更手段がデータ長を変更した読み出し要
求が対象とするデータの全てが前記データ保持手段に格
納されている場合に、前記データ保持手段に格納されて
いるデータのうち、前記ホスト装置が発行した読み出し
要求が対象とするデータを前記転送手段を介して前記ホ
スト装置に転送することを特徴とする記憶制御装置。
5. The storage control device according to claim 3, wherein a temporary expected value of a read request issued in the past from said host device is replaced with an expected value set for an address area immediately before said address area. Is larger, the expected value setting means is set to be larger, the continuity determining means is issued from the host device in accordance with the provisional expected value of the read request issued from the host device set by the expected value setting means. The strength of the continuity of the address area on the storage device of the data targeted by the read request with respect to the address area on the storage device of the data targeted by the read request issued from the host device in the past. The request issuing unit determines that all of the data targeted by the read request whose data length has been changed by the data length changing unit is stored in the data holding unit. If it is not stored, a read request is issued to the storage device for the portion of the data that is not stored, and the address area of the data transferred from the storage device in response to the issued read request is issued. Setting the provisional expected value of the issued read request as an expected value, and among the data transferred from the storage device in response to the issued read request, the data targeted by the read request issued by the host device is When all of the data targeted by the read request whose data length is changed by the data length changing unit is stored in the data holding unit, the data stored in the data holding unit is transferred to the host device. Wherein the data targeted by the read request issued by the host device is transferred to the host device via the transfer means. Storage control device.
【請求項6】請求項1、2、3、4または5記載の記憶
制御装置と、前記記憶制御装置に接続した記前記憶装置
とを有することを特徴とする記憶システム。
6. A storage system, comprising: the storage control device according to claim 1, 2, 3, 4, or 5, and a storage device connected to the storage control device.
【請求項7】請求項6記載の記憶システムであって、 前記記憶装置は、ディスク型記憶装置であることを特徴
とする記憶システム。
7. The storage system according to claim 6, wherein said storage device is a disk-type storage device.
【請求項8】請求項7記載の記憶システムであって、 前記記憶装置は、各々ローカルなアドレスでデータの記
憶領域を管理する、複数の記憶部を有するディスクアレ
イ記憶装置であって、 前記記憶制御装置の要求発行手段は、前記記憶装置に発
行する読み出し要求として、当該読み出し要求が対象と
するデータを記憶している複数の記憶部各々に対する複
数の、前記ローカルなアドレスで対象とするデータを指
定する読み出しコマンドを発行することを特徴とする記
憶システム。
8. The storage system according to claim 7, wherein said storage device is a disk array storage device having a plurality of storage units, each of which manages a data storage area with a local address. The request issuing means of the control device, as a read request issued to the storage device, a plurality of data for each of a plurality of storage units storing the data targeted by the read request, the target data at the local address A storage system for issuing a designated read command.
【請求項9】請求項1、2、3、4または5記載の記憶
制御装置と、前記記憶制御装置に接続した記前記憶装置
と、前記記憶制御装置に接続し、当該記憶制御装置に読
み出し要求を発行することにより前記記憶装置からデー
タを読み出すと接続した複数のホスト装置とを備えたこ
とを特徴とするデータ処理システム。
9. A storage control device according to claim 1, 2, 3, 4, or 5, a storage device connected to said storage control device, and a storage control device connected to said storage control device and read out to said storage control device. A data processing system comprising: a plurality of host devices connected to read data from the storage device by issuing a request.
【請求項10】複数のホスト装置と記憶装置との間に接
続され、記憶装置に記憶されたデータに対するホスト装
置から発行された読み出し要求に基づき、前記記憶装置
からデータを先読みする方法であって、 前記複数のホスト装置に対する前記記憶装置のキャッシ
ュとして機能するデータ保持手段を設け、 ホスト装置から発行された読み出し要求が対象とするデ
ータのデータ長を、より長い長さに変更し、 少なくとも、前記データ長変更手段がデータ長を変更し
た読み出し要求が対象とするデータの全てが前記データ
保持手段に保持されていない場合に、格納されていない
データの部分を少なくとも対象とする読み出し要求を、
前記データ長変更手段がデータ長を変更した読み出し要
求の後にホスト装置から発行された読み出し要求に優先
して、前記記憶装置に発行して、前記記憶装置からデー
タを読み出し、 前記データ保持手段に、前記要求発行手段が発行した読
み出し要求に応答して前記記憶装置から転送されるデー
タを保持することを特徴とする先読み方法。
10. A method connected between a plurality of host devices and a storage device and prefetching data from the storage device based on a read request issued from the host device for data stored in the storage device. A data holding unit that functions as a cache of the storage device with respect to the plurality of host devices, and changes a data length of data targeted by a read request issued from the host device to a longer length; When all of the data targeted by the read request whose data length has been changed by the data length changing unit is not held in the data holding unit, a read request that targets at least a part of the data that is not stored is read,
The data length changing unit issues a request to the storage device in priority to a read request issued from the host device after the read request having changed the data length, reads the data from the storage device, and reads the data from the storage device. A read-ahead method, comprising: storing data transferred from the storage device in response to a read request issued by the request issuing unit.
JP27555197A 1997-10-08 1997-10-08 Storage controller Pending JPH11110138A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP27555197A JPH11110138A (en) 1997-10-08 1997-10-08 Storage controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP27555197A JPH11110138A (en) 1997-10-08 1997-10-08 Storage controller

Publications (1)

Publication Number Publication Date
JPH11110138A true JPH11110138A (en) 1999-04-23

Family

ID=17557032

Family Applications (1)

Application Number Title Priority Date Filing Date
JP27555197A Pending JPH11110138A (en) 1997-10-08 1997-10-08 Storage controller

Country Status (1)

Country Link
JP (1) JPH11110138A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010191983A (en) * 2010-04-12 2010-09-02 Renesas Electronics Corp Storage device

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010191983A (en) * 2010-04-12 2010-09-02 Renesas Electronics Corp Storage device

Similar Documents

Publication Publication Date Title
US8145835B2 (en) Disk controller configured to perform out of order execution of write operations
US6374327B2 (en) Method of data migration
JP3183993B2 (en) Disk control system
US6842801B2 (en) System and method of implementing a buffer memory and hard disk drive write controller
US6925539B2 (en) Data transfer performance through resource allocation
US6389508B1 (en) Information storing apparatus having a data prewrite unit
KR19980029917A (en) How to improve read cache performance on magnetic disk drives
JPH07225715A (en) Method and system for accessing data in cache
WO2009084071A1 (en) Raid control device and raid system
US6957300B2 (en) Reducing delay of command completion due to overlap condition
JPH11110138A (en) Storage controller
US20040168026A1 (en) Write posting memory interface with block-based read-ahead mechanism
JPH07121308A (en) Disk device write-back control method
US6957302B2 (en) System and method for performing write operations in a disk drive using a write stack drive
JPH04311216A (en) External storage controller
JPH11224165A (en) Disk unit
JP2973474B2 (en) Magneto-optical disk drive
JP2868812B2 (en) Update data write control method and disk device
JPH07295916A (en) Disk control method
JPS61273650A (en) Magnetic disk controlling device
JPH05108485A (en) Defective/alternate track controlling system for disk cache controller
JPS62140135A (en) Access controller for disk memory device
JPH09171487A (en) Magnetic disk device
JPH01304553A (en) Device for reading out data from storage device
JPH01179276A (en) Data block processing system for filing device

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20040921

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040928

A02 Decision of refusal

Effective date: 20050215

Free format text: JAPANESE INTERMEDIATE CODE: A02