JPH11191037A - Data storage device - Google Patents
Data storage deviceInfo
- Publication number
- JPH11191037A JPH11191037A JP9359166A JP35916697A JPH11191037A JP H11191037 A JPH11191037 A JP H11191037A JP 9359166 A JP9359166 A JP 9359166A JP 35916697 A JP35916697 A JP 35916697A JP H11191037 A JPH11191037 A JP H11191037A
- Authority
- JP
- Japan
- Prior art keywords
- data
- drive
- read
- disk
- prefetch
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
(57)【要約】
【課題】 複数のデータ読み出し要求処理が同時に動作
している際に先読みを行うときのドライブ内のバッファ
の使用効率を高めリード性能を向上させる。
【解決手段】 ディスク記憶装置を構成するディスクド
ライブ300内に、ディスク制御器340にて制御され
る記録メディア350と、記録メディア350から先読
みされるデータが格納され、複数のセグメント360〜
376に分割されて管理されるドライブバッファ330
と、ディスク制御装置とのデータ入出力を制御するディ
スクI/F310と、全体を制御するマイクロプロセッ
サ320とを設け、マイクロプロセッサ320は、ディ
スク制御装置から到来する複数のデータセットの各々へ
のデータリード要求に付随する指示にて、複数のセグメ
ント360〜376の各々の、個々のデータセット対応
のデータリード要求への個別的な割り当て/解放操作を
動的に行う、ドライブバッファ管理手段323を備え
た。
(57) [Summary] PROBLEM TO BE SOLVED: To improve the use efficiency of a buffer in a drive and to improve read performance when performing pre-reading when a plurality of data read request processes are operating simultaneously. SOLUTION: A recording medium 350 controlled by a disk controller 340 and data read ahead from the recording medium 350 are stored in a disk drive 300 constituting a disk storage device, and a plurality of segments 360 to 360 are stored.
Drive buffer 330 divided and managed in 376
And a disk I / F 310 for controlling data input / output to / from the disk controller, and a microprocessor 320 for controlling the whole, and the microprocessor 320 transmits data to each of a plurality of data sets coming from the disk controller. A drive buffer management unit 323 that dynamically performs an individual allocation / release operation for each of the plurality of segments 360 to 376 to a data read request corresponding to an individual data set in accordance with an instruction accompanying the read request; Was.
Description
【0001】[0001]
【発明の属する技術分野】本発明は、データ記憶技術に
関し、特に、格納データの連続した読み出し処理の効率
化等に適用して有効な技術に関する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a data storage technique, and more particularly to a technique effective when applied to, for example, the efficiency of continuous reading processing of stored data.
【0002】[0002]
【従来の技術】一般にディスク制御装置は、中央処理装
置から連続データの指示が行われた場合、および中央処
理装置からのアクセスパターンが連続的であると認識し
た場合に、中央処理装置のアクセス対象データを先読み
により予めキャッシュ上に読み出しておく。これにより
中央処理装置のアクセス時にキャッシュ上のデータを転
送すればよく、ディスクドライブの動作時間を待つこと
のない分高速である。2. Description of the Related Art In general, a disk control device accesses a central processing unit when continuous data is instructed from the central processing unit and when the access pattern from the central processing unit is recognized as being continuous. Data is read in advance on the cache by prefetching. As a result, the data in the cache may be transferred when the central processing unit accesses, and the speed is high because the operation time of the disk drive is not waited.
【0003】ところが、 中央処理装置のアクセス速度> ドライブ読み出し速度
(RAID5の場合ECCグループ全体の転送速度) であると、中央処理装置のアクセスまでに先読みが完了
せず、これにより連続アクセス時の性能を低下させてし
まう。このためディスクドライブの読み出し速度を高速
化することは重要である。However, if the access speed of the central processing unit> the drive read speed (the transfer speed of the entire ECC group in the case of RAID5), the read-ahead is not completed before the access of the central processing unit. Is reduced. Therefore, it is important to increase the reading speed of the disk drive.
【0004】このドライブ読み出し速度を向上させる方
法として、例えば、特開平08−152973号公報に
開示されている方法は、バッファ付きのディスクドライ
ブを用い、ディスクドライブそれ自体が先読みを行うも
のである。ドライブが行う先読みをここではプリフェッ
チと呼ぶことにするが、ディスク制御装置が先読みを行
う時に、同時にこのプリフェッチを行うことにより、先
読み範囲の次の範囲をドライブのバッファに読み出すこ
とができる。このときプリフェッチ動作は制御装置の要
求データのリードに引き続いて行われるため、ヘッドの
位置付け時間,回転待ちという機械的なオーバーヘッド
を必要としない。このため、プリフェッチを行うと行わ
ない場合に比べ、ディスクドライブの使用効率を向上さ
せることができ、その分、連続データアクセス時の中央
処理装置への転送速度を向上できる。As a method of improving the drive reading speed, for example, a method disclosed in Japanese Patent Application Laid-Open No. 08-152973 is to use a disk drive with a buffer and perform the pre-reading by itself. Here, the prefetch performed by the drive is referred to as prefetch. However, when the disk controller performs prefetch, by performing the prefetch at the same time, the next range of the prefetch range can be read into the buffer of the drive. At this time, since the prefetch operation is performed subsequent to the reading of the requested data by the control device, there is no need for a mechanical overhead such as a head positioning time and a rotation wait. Therefore, the use efficiency of the disk drive can be improved when prefetching is not performed as compared with the case where prefetching is not performed, and the transfer speed to the central processing unit during continuous data access can be improved accordingly.
【0005】[0005]
【発明が解決しようとする課題】デービット エイ パ
ターソンらは、ユニバーシティー・オブ・カリフォルニ
ア レポート 第UCB/CSD/87・391号(1
987年12月号)のなかで、複数のディスクドライブ
を組み合わせて、各々の組(ここではそれをECCグル
ープと呼ぶことにする)に、中央処理装置からの入出力
データを分割して記録再生し、ECCグループの一部が
一時的あるいは恒久的障害により使用不可能になった時
に、他の正常なディスクドライブから障害データを回復
できるようにするために、ECCグループの一部に冗長
データを格納する方式について報告している。この中で
彼らは冗長データ格納方式を、RAID1からRAID
5と呼ばれる5つのレベルに分類している。この5つの
レベルのうち特にRAID5は、冗長データを格納する
ディスクドライブを固定しないことにより、特定の記憶
装置に負荷が集中しない、という特徴を有している。SUMMARY OF THE INVENTION David A. Patterson et al., University of California Report No. UCB / CSD / 887391 (1.
987), a plurality of disk drives are combined, and input / output data from the central processing unit is divided and recorded / reproduced into / from each group (herein referred to as an ECC group). However, when part of the ECC group becomes unavailable due to a temporary or permanent failure, redundant data may be stored in a part of the ECC group so that the failed data can be recovered from other normal disk drives. It reports on the storage method. Among them, they changed the redundant data storage method from RAID 1 to RAID
It is classified into five levels called five. Of these five levels, RAID 5 in particular has a feature that a load is not concentrated on a specific storage device by not fixing a disk drive that stores redundant data.
【0006】このため、RAID5を用いた場合、先読
みするデータ長によっては先読み対象の範囲に冗長デー
タが存在する場合が有る。冗長データはディスクドライ
ブの障害時に用いられ、通常は使用されないため、この
冗長データの範囲をも先読みすることは、バッファを構
成するメモリ媒体、およびドライブの使用効率を下げる
原因となる。For this reason, when RAID5 is used, redundant data may exist in the range of the prefetch target depending on the data length to be prefetched. Since redundant data is used when a disk drive fails and is not normally used, pre-reading the range of this redundant data also causes a reduction in the use efficiency of the memory medium constituting the buffer and the drive.
【0007】また、複数の先読みが同時に動作している
時は、ディスクドライブから見ると異なる複数の範囲が
連続してアクセスされていることである。このため、こ
の条件下でプリフェッチを動作させると、せっかくプリ
フェッチしてドライブバッファに格納したデータが、別
の先読みに付随して動作するプリフェッチにより上書き
されて無駄になってしまう可能性がある。Further, when a plurality of prefetches are operating simultaneously, a plurality of different ranges viewed from the disk drive are continuously accessed. Therefore, if the prefetch is operated under this condition, the data prefetched and stored in the drive buffer may be overwritten by the prefetch that operates in association with another prefetch, and may be wasted.
【0008】また、RAID5はディスクドライブのリ
ード障害が発生した時に次のようなコレクションリード
を実行して障害データを回復している。すなわち、障害
ディスクドライブを除いたECCグループの全ディスク
ドライブからデータをリードする。この時、冗長データ
もリードする。このリードしたデータと冗長データとか
ら障害データを算出し回復する。このため、ディスクド
ライブに障害が有り読み出し不可能で、コレクションリ
ードによりデータを回復を実行しながら先読みを実行す
る場合は、冗長データもリードしなくてはならない分だ
け、通常状態に比べて性能が低下する。In RAID 5, when a disk drive read failure occurs, the following correction read is executed to recover the failed data. That is, data is read from all disk drives in the ECC group except for the failed disk drive. At this time, redundant data is also read. The fault data is calculated from the read data and the redundant data and recovered. For this reason, if the disk drive is faulty and cannot be read, and pre-reading is performed while recovering data by performing a correction read, the performance is lower than in the normal state because redundant data must also be read. descend.
【0009】また、先読み以外にドライブを連続的にア
クセスする場合として、次のようなドライブコピーおよ
びコレクションコピー処理が有る。すなわち、コレクシ
ョンコピーは、ディスクドライブに障害が発生し動作不
能になった時、ECCグループの残りのドライブから障
害ドライブ上の全データを回復し、予備のディスクドラ
イブにコピーする手段である。またドライブコピーは、
1ディスクドライブ上の全データを予備ドライブにコピ
ーする手段である。中央処理装置からのI/O処理を行
いながら、ドライブコピー,コレクションコピーを行っ
た時、ドライブコピー,コレクションコピーは、コピー
元データのリード、コレクションコピー時はデータの回
復、コピー先すなわちスペアディスクドライブへのライ
ト、という処理をくり返し実行しコピーを行う。The following drive copy and correction copy processes are available for continuous access to the drive in addition to read-ahead. That is, the correction copy is a means for recovering all data on the failed drive from the remaining drives in the ECC group and copying the data to the spare disk drive when the disk drive fails and becomes inoperable. Drive copy is
This is a means for copying all data on one disk drive to a spare drive. When a drive copy or a correction copy is performed while performing I / O processing from the central processing unit, the drive copy or the correction copy reads the copy source data, recovers the data during the correction copy, and copies the data, ie, a spare disk drive. The process of writing to is repeatedly executed to copy.
【0010】このとき、各ディスクドライブからのリー
ドは連続的では有るが、途中で中央処理装置からの入出
力要求が発行されると、再びヘッドの位置付けが必要と
なる。このことはドライブコピー,コレクションコピー
の時のリード時間を遅延させ、コピーの所要時間を増大
させる。この場合、プリフェッチ手段を用いドライブコ
ピー,コレクションコピーのコピー元データを、プリフ
ェッチさせることによりコピー元データの読み出し速度
を高速化し、コピーの所要時間を短縮できる。At this time, although the read from each disk drive is continuous, if an input / output request is issued from the central processing unit on the way, the head needs to be positioned again. This delays the read time in drive copy and correction copy, and increases the time required for copying. In this case, by prefetching the copy source data of the drive copy and the correction copy using the prefetch means, the reading speed of the copy source data can be increased, and the time required for the copy can be reduced.
【0011】ところが、複数の先読みが同時に動作して
いる時は、ディスクドライブから見ると異なる複数の範
囲が連続アクセスされていることである。このため、こ
の条件下でプリフェッチを動作させると、せっかくプリ
フェッチしてドライブバッファに格納したデータが、別
の先読みに付随して動作するプリフェッチにより上書き
されて無駄になってしまう可能性がある。[0011] However, when a plurality of pre-reads are operating simultaneously, a plurality of different ranges are continuously accessed as viewed from the disk drive. Therefore, if the prefetch is operated under this condition, the data prefetched and stored in the drive buffer may be overwritten by the prefetch that operates in association with another prefetch, and may be wasted.
【0012】本発明の第1の目的は、複数のデータ読み
出し要求処理が同時に動作している際に先読みを行った
場合に、ドライブ内のバッファの使用効率を高め先読み
のリード性能を向上させることにある。A first object of the present invention is to improve the use efficiency of a buffer in a drive and improve the read performance of prefetching when prefetching is performed while a plurality of data read request processes are operating simultaneously. It is in.
【0013】また、本発明の第2の目的は、冗長記憶構
成のデータ記憶装置において先読み対象範囲に冗長デー
タを含む際に、効率良く先読みを行い、先読みのリード
性能を向上させることにある。It is a second object of the present invention to efficiently perform pre-reading and improve read-ahead read performance when redundant data is included in a pre-read target range in a data storage device having a redundant storage configuration.
【0014】また、本発明の第3の目的は、冗長記憶構
成のデータ記憶装置におけるコレクションリードでの先
読みのリード性能を向上させることにある。A third object of the present invention is to improve the read performance of the pre-read in the correction read in a data storage device having a redundant storage configuration.
【0015】また、本発明の第4の目的は、冗長記憶構
成のデータ記憶装置において、ドライブコピー,コレク
ションコピーを効率良く行い、コピーの所要時間を短縮
することにある。A fourth object of the present invention is to efficiently perform drive copy and correction copy in a data storage device having a redundant storage configuration, and to reduce the time required for copying.
【0016】[0016]
【課題を解決するための手段】本発明は、データが格納
される回転型記憶媒体を備えたドライブと、ドライブと
上位装置との間に介在し、ドライブと上位装置との間に
おけるデータの授受を制御する記憶制御装置とを含むデ
ータ記憶装置において、ドライブに設けられ、回転型記
憶媒体から読出されたデータが一時的に格納されるバッ
ファと、バッファを複数のセグメントに分割して管理
し、上位装置から発生する複数の互いに異なるリード要
求毎に、当該リード要求に関する回転型記憶媒体からバ
ッファへのデータの先読みを異なるセグメントを用いて
実行するバッファ管理制御論理とを備えたものである。According to the present invention, there is provided a drive provided with a rotary storage medium in which data is stored, interposed between the drive and a host device, and data transfer between the drive and the host device. In a data storage device including a storage control device that controls a buffer provided in the drive and temporarily storing data read from the rotary storage medium, and managing the buffer by dividing the buffer into a plurality of segments, For each of a plurality of different read requests generated from a higher-level device, a buffer management control logic for executing pre-reading of data from the rotary storage medium to the buffer regarding the read request using different segments.
【0017】より具体的には、一例として、第1の目的
を達成するため、本発明によるデータ記憶装置は、ドラ
イブバッファを幾つかの領域(セグメント)に分割す
る、バッファ分割手段と、幾つかの先読みが同時並行的
に動作している時に、記憶制御装置が、先読みしたデー
タに対する上位装置のアクセス頻度により先読みの優先
順位を決定し、優先順位の高いものからセグメントを割
り当て、セグメントを割り当てられた先読みのみドライ
ブにプリフェッチさせる、セグメント割り当て手段を有
する構成とすることができる。More specifically, as an example, in order to achieve the first object, a data storage device according to the present invention comprises a buffer dividing means for dividing a drive buffer into several areas (segments); When read-ahead operations are performed concurrently, the storage controller determines the read-ahead priority according to the access frequency of the higher-level device to the read-ahead data, allocates segments from those having higher priority, and allocates segments. It is possible to adopt a configuration having a segment allocating means for causing the drive to prefetch only read ahead.
【0018】また、第2の目的を達成するため、本発明
によるデータ記憶装置は、リード対象範囲を記録メディ
アから読み出した後、それに引き続くデータをプリフェ
ッチする際に、プリフェッチ対象範囲が冗長データの場
合、冗長データをスキップし、冗長データの次のアドレ
スからプリフェッチする冗長データスキップ手段を有す
る構成とすることができる。In order to achieve the second object, the data storage device according to the present invention, when reading a range to be read from a recording medium and then prefetching subsequent data, when the range to be prefetched is redundant data, The redundant data skipping means for skipping redundant data and prefetching from the next address of the redundant data can be adopted.
【0019】第3の目的を達成するため、本発明による
データ記憶装置は、ドライブの障害を検出する障害検出
手段、およびドライブに障害が発生した場合に先読みを
行う際に、ドライブに対して冗長データをプリフェッチ
対象であることを指示し、冗長データをプリフェッチさ
せる冗長データプリフェッチ手段を有する構成とするこ
とができる。In order to achieve the third object, a data storage device according to the present invention comprises a failure detecting means for detecting a failure in a drive, and a redundant storage for the drive when prefetching when a failure occurs in the drive. A configuration may be provided having redundant data prefetch means for indicating that data is to be prefetched and prefetching redundant data.
【0020】第4の目的を達成するため、本発明による
データ記憶装置は、ドライブコピー,コレクションコピ
ー時に、冗長データをプリフェッチ対象として、プリフ
ェッチする冗長データプリフェッチ手段と、先読み,ド
ライブコピー,コレクションコピー実行時に、ドライブ
コピー,コレクションコピーにセグメントを優先的に割
り当て、セグメントを割り当てられた先読み,ドライブ
コピー,コレクションコピーのみドライブにプリフェッ
チさせる、セグメント割り当て手段を有する構成とする
ことができる。In order to achieve the fourth object, a data storage device according to the present invention includes a redundant data prefetch means for prefetching redundant data as a prefetch target during drive copy and correction copy, and a prefetch, drive copy and correction copy execution. In some cases, a segment allocation means may be provided which preferentially allocates a segment to a drive copy or a collection copy, and causes the drive to prefetch only the assigned read-ahead, drive copy, or correction copy.
【0021】上位装置からのリード要求受信時に、連続
データ指示の有無または上位装置のアクセスパターンを
判定し、連続的であると判定した場合に、プリフェッチ
指示付きで先読みを行うことにより、ドライブに先読み
範囲の次の範囲をプリフェッチさせる。この時、冗長デ
ータスキップ手段を用いることにより、プリフェッチの
実行効率を向上させ、ドライブの占有時間を削減し、先
読み時のドライブの待ち時間を削減し、またドライブの
応答時間を削減し、連続データアクセス時における上位
装置への転送速度を向上できる。When a read request is received from a higher-level device, the presence or absence of a continuous data instruction or the access pattern of the higher-level device is determined. Causes the next range to be prefetched. At this time, by using the redundant data skip means, the prefetch execution efficiency is improved, the drive occupancy time is reduced, the drive wait time at the time of prefetch is reduced, the drive response time is reduced, and the continuous data It is possible to improve the transfer speed to the host device at the time of access.
【0022】先読み実行時に、先読みを行ったデータに
対する上位装置のアクセスの頻度を判定しアクセス頻度
によりセグメントを割り当てるセグメント割り当て手段
により、プリフェッチ済みのデータが、別の先読みによ
り上書きされてしまうのを防止し、セグメントのヒット
率を向上させ、先読みの読み出し速度を高速化し、シス
テム全体として上位装置へのデータ転送速度を向上でき
る。At the time of execution of prefetching, the prefetched data is prevented from being overwritten by another prefetching by the segment allocating means for judging the access frequency of the host device to the prefetched data and allocating segments according to the access frequency. In addition, it is possible to improve the segment hit rate, increase the read-ahead read speed, and improve the data transfer speed to the host device as a whole system.
【0023】ドライブが障害により読み出し不可能とな
った時に先読みを行う場合に、冗長データプリフェッチ
手段を用いることにより、障害ドライブのデータを回復
するために必要となる冗長データの読み出しを高速に行
うことができ、障害データの回復を高速に行うことがで
き、コレクションリード時の上位装置へのリードデータ
の転送速度を向上できる。When read-ahead is performed when a drive cannot be read due to a failure, by using redundant data prefetch means, redundant data required to recover data of a failed drive can be read at high speed. This makes it possible to perform high-speed recovery of faulty data and improve the transfer speed of read data to a higher-level device during a collection read.
【0024】ドライブコピー,コレクションコピー実行
時に、先読み実行中の有無、アクセス頻度、およびドラ
イブコピー,コレクションコピー実行の有無によりセグ
メントを割り当て、割り当てたセグメントに対してプリ
フェッチさせることにより、プリフェッチ済みのデータ
が、別の先読み,ドライブコピー,コレクションコピー
により上書きされてしまうのを防止し、セグメントのヒ
ット率を向上させ、ドライブコピー,コレクションコピ
ーを効率良く行い、コピーの所要時間を短縮できる。When a drive copy or a collection copy is executed, segments are allocated according to the presence / absence of prefetching, the access frequency, and the presence / absence of the drive copy / collection copy. It is possible to prevent overwriting by another prefetch, drive copy, or collection copy, improve the segment hit rate, efficiently perform drive copy, collection copy, and reduce the time required for copying.
【0025】[0025]
【発明の実施の形態】以下、本発明の実施の形態を図面
を参照しながら詳細に説明する。Embodiments of the present invention will be described below in detail with reference to the drawings.
【0026】(実施の形態1)図1は、本発明の第1の
実施の形態であるデータ記憶装置を含む情報処理システ
ムの構成の一例を示す概念図である。本実施の形態で
は、データ記憶装置の一例として、冗長記憶構成のディ
スク記憶装置に適用した場合を例に採って説明する。(Embodiment 1) FIG. 1 is a conceptual diagram showing an example of the configuration of an information processing system including a data storage device according to a first embodiment of the present invention. In the present embodiment, a case where the present invention is applied to a disk storage device having a redundant storage configuration will be described as an example of a data storage device.
【0027】本実施の形態の情報処理システムは、中央
処理装置10と、ディスク制御装置20、および記憶装
置として独立動作可能な8台のディスクドライブ300
からなるディスク記憶装置で構成されている。The information processing system according to the present embodiment comprises a central processing unit 10, a disk control unit 20, and eight disk drives 300 which can operate independently as storage devices.
And a disk storage device composed of
【0028】本実施の形態のディスク記憶装置は、7台
のディスクドライブ300(ディスクドライブ300a
〜300g)でECCグループ(障害時のデータ回復の
単位)を構成し、残りの1台は予備ディスクドライブ3
00hである。中央処理装置10とディスク制御装置2
0とはチャネルパス60を介して結合され、ディスク制
御装置20とディスクドライブ300は、それぞれ独立
に動作可能なドライブパス70で接続されている。The disk storage device of the present embodiment has seven disk drives 300 (disk drive 300a).
ECC group (a unit of data recovery in the event of a failure), and the remaining one is a spare disk drive 3
00h. Central processing unit 10 and disk control unit 2
0 is connected via a channel path 60, and the disk controller 20 and the disk drive 300 are connected by a drive path 70 that can operate independently.
【0029】ディスク制御装置20の内部は、ホストI
/F40と、データ分割/再生器50と、マイクロプロ
セッサ30と、キャッシュメモリ110と、キャッシュ
ディレクトリ120が設けられた共用メモリ140と、
冗長データ生成器130と、ドライブコントローラ80
で構成されている。ホストI/F40およびデータ分割
/再生器50はチャネルパス60とキャッシュメモリ1
10とマイクロプロセッサ30と信号線によって結合さ
れている。The disk controller 20 has a host I
/ F40, a data divider / reproducer 50, a microprocessor 30, a cache memory 110, a shared memory 140 provided with a cache directory 120,
Redundant data generator 130 and drive controller 80
It is composed of The host I / F 40 and the data divider / reproducer 50 are connected to the channel path 60 and the cache memory 1.
10 and the microprocessor 30 and the signal line.
【0030】また、本実施の形態の場合には、共用メモ
リ140の一部には、後述のような構成の先読みテーブ
ル150およびコピーテーブル160が設定されてい
る。In the present embodiment, a look-ahead table 150 and a copy table 160 having the following configurations are set in a part of the shared memory 140.
【0031】マイクロプロセッサ30は、キャッシュメ
モリ110と、キャッシュディレクトリ120と、冗長
データ生成器130と、ドライブコントローラ80に対
して、信号線により結合されており、各々マイクロプロ
セッサ30内のマイクロプログラムで実現される、キャ
ッシュメモリ参照手段31、キャッシュディレクトリ参
照手段32、パリティ生成器制御手段34、差分データ
生成器制御手段35、ドライブコントローラ制御手段3
6により制御される。またマイクロプロセッサ30は、
当該マイクロプロセッサ30内のマイクロプログラムに
より、中央処理装置10からの順次アクセスの指定の有
無をチェックする手段として順次アクセスモード判定手
段38、中央処理装置10からのリード/ライトデータ
から実際のディスクドライブ300上の記憶位置を算出
するマッピング演算手段39を有する。The microprocessor 30 is connected to the cache memory 110, the cache directory 120, the redundant data generator 130, and the drive controller 80 by signal lines, and each is realized by a microprogram in the microprocessor 30. Cache memory reference means 31, cache directory reference means 32, parity generator control means 34, difference data generator control means 35, drive controller control means 3
6 is controlled. Also, the microprocessor 30
A sequential access mode determining unit 38 checks whether a sequential access is designated from the central processing unit 10 by a microprogram in the microprocessor 30. The read / write data from the central processing unit 10 is used to determine the actual disk drive 300. It has a mapping operation means 39 for calculating the above storage position.
【0032】キャッシュメモリ110と、キャッシュデ
ィレクトリ120と、冗長データ生成器130は信号線
により結合されている。キャッシュメモリ110はドラ
イブコントローラ80と信号線により結合されており相
互にデータ転送が可能となっている。またキャッシュメ
モリ110は、中央処理装置10からのライトデータを
格納するライト面111と、ディスクドライブ300か
らリードしたデータを格納するリード面112に分割さ
れており、リード面112,ライト面111には、それ
ぞれ、セクター長に分割した単位であるスロット113
〜118がある。The cache memory 110, the cache directory 120, and the redundant data generator 130 are connected by signal lines. The cache memory 110 is connected to the drive controller 80 by a signal line, and can mutually transfer data. The cache memory 110 is divided into a write surface 111 for storing write data from the central processing unit 10 and a read surface 112 for storing data read from the disk drive 300. , Each of which is a slot 113 which is a unit divided into sector lengths.
~ 118.
【0033】図2は本実施の形態のディスク記憶装置を
構成するディスクドライブ300の構成の一例を示す概
念図である。本実施の形態では、ディスクドライブ30
0は、一例として、たとえば、磁気ディスクを記憶媒体
とする磁気ディスクドライブからなる。FIG. 2 is a conceptual diagram showing an example of the configuration of the disk drive 300 constituting the disk storage device of the present embodiment. In the present embodiment, the disk drive 30
0 is, for example, a magnetic disk drive using a magnetic disk as a storage medium.
【0034】ディスクドライブ300内の、ディスクI
/F310と、ドライブバッファ330と、磁気ディス
ク等の回転型記憶媒体からなる記録メディア350の動
作を制御するディスク制御器340は、それぞれ、マイ
クロプロセッサ320と信号線によって結合されてお
り、それぞれマイクロプロセッサ320により制御され
る。The disk I in the disk drive 300
/ F 310, a drive buffer 330, and a disk controller 340 for controlling the operation of a recording medium 350 composed of a rotary storage medium such as a magnetic disk are connected to the microprocessor 320 by signal lines, respectively. 320.
【0035】本実施の形態の場合、ドライブバッファ3
30内には複数のセグメント360から376が配置さ
れている。セグメント360は、先読み指示の有無に関
係なく、ディスク制御装置20の要求範囲のリード時に
用いられるセグメントであり、セグメント361から3
76の16個は、先読み指示等に応じて動的な割り当て
が行われるプリフェッチ用のセグメントである。In the case of this embodiment, the drive buffer 3
A plurality of segments 360 to 376 are arranged in 30. The segment 360 is a segment used when reading the requested range of the disk controller 20 regardless of the presence / absence of the prefetch instruction.
Sixteen of 76 are prefetch segments to which dynamic allocation is performed in response to a prefetch instruction or the like.
【0036】また、マイクロプロセッサ320は、マイ
クロプロセッサ320内のマイクロプログラムにより、
ディスクI/F310を制御し、ディスク制御装置20
からの要求を受信するディスクI/F制御手段321
と、ドライブバッファ330内の各セグメント360か
ら376を参照するドライブバッファ参照手段322
と、セグメントをディスク制御装置20からアクセスさ
れた順序で管理するドライブバッファ管理手段323
と、ディスク制御器340を制御するディスク制御器制
御手段324とを有している。The microprocessor 320 operates according to a microprogram in the microprocessor 320.
The disk controller 310 controls the disk I / F 310 and
I / F control means 321 for receiving a request from
And a drive buffer reference means 322 for referring to each of the segments 360 to 376 in the drive buffer 330.
And a drive buffer management unit 323 for managing segments in the order of access from the disk control device 20.
And a disk controller control means 324 for controlling the disk controller 340.
【0037】図3は、冗長記憶構成の本実施の形態のデ
ィスク記憶装置において、中央処理装置との間における
入出力データの、ディスクドライブへのマッピング方法
の一例を示す概念図である。FIG. 3 is a conceptual diagram showing an example of a method of mapping input / output data to / from a central processing unit to a disk drive in the disk storage device of the present embodiment having a redundant storage configuration.
【0038】まず第1列目の一番右側に冗長データP0
00を配置し、第2列以降はその前の列のパリティの位
置より1つ左側になるようにして、1つ前の列の冗長デ
ータ格納位置が一番左の場合は一番右側になるように冗
長データP001〜P004を配置する。中央処理装置
10からのライトデータの分割D000〜D029は、
冗長データのすぐ右側から、但し冗長データが最も右に
ある時には、一番左側から順にマッピングする。各列の
冗長データは、各列のデータ、例えばD000からD0
05の各々の排他的論理和と等しくなるように生成さ
れ、格納されており、各列のデータの1つに障害が発生
した場合には、その列内の残りのデータと冗長データの
排他的論理和で障害データを回復できる。First, the redundant data P0 is located on the rightmost side of the first column.
00, and the second and subsequent columns are located one position to the left of the parity position of the previous column. If the redundant data storage position of the previous column is the leftmost position, it is the rightmost position. Redundant data P001 to P004 are arranged as described above. The division D000 to D029 of the write data from the central processing unit 10 is as follows.
From the right side of the redundant data, however, when the redundant data is on the rightmost side, the mapping is performed in order from the leftmost side. The redundant data in each column is the data in each column, for example, D000 to D0.
05 is generated and stored so as to be equal to the exclusive OR of each of the data in each column, and if one of the data in each column fails, the exclusive data of the remaining data in the column and the redundant data are excluded. Failure data can be recovered by OR.
【0039】図4は、図1に例示した、本実施の形態に
おける冗長記憶構成のディスク記憶装置を含む情報処理
システムの、より詳細な構成の一例を示す概念図であ
る。この図4の構成におけるディスク制御装置20にお
いて、図1のチャネルパス60は、チャネルパス260
−1〜260−8に、図1のホストI/F40およびデ
ータ分割/再生器50はホストアダプタ231−1〜2
31−2に、図1のマイクロプロセッサ30,ドライブ
コントローラ80,冗長データ生成器130は、ディス
クアダプタ233−1〜233−4に、図1のキャッシ
ュメモリ110は、キャッシュメモリ232−1〜23
2−2に、図1のキャッシュディレクトリ120は、共
用メモリ234−1〜234−2にそれぞれ対応してい
る。FIG. 4 is a conceptual diagram showing an example of a more detailed configuration of the information processing system including the disk storage device of the redundant storage configuration according to the present embodiment illustrated in FIG. In the disk control device 20 having the configuration of FIG. 4, the channel path 60 of FIG.
1 to 260-8, the host I / F 40 and the data dividing / reproducing device 50 of FIG.
3-2, the microprocessor 30, the drive controller 80, and the redundant data generator 130 in FIG. 1 correspond to the disk adapters 233-1 to 233-4, and the cache memory 110 in FIG.
1 corresponds to the shared memories 234-1 to 234-2, respectively.
【0040】ディスク制御装置20の、これらの各部
は、データ転送パス237−1〜237−2を介して相
互に接続され、さらに、これらの各部は、制御部内通信
バス236を介して、サービスプロセッサ235に接続
されている。サービスプロセッサ235は、保守端末2
50を介して保守員に操作される。These components of the disk controller 20 are connected to each other via data transfer paths 237-1 to 237-2. Further, these components are connected to a service processor via a communication bus 236 within the controller. 235. The service processor 235 includes the maintenance terminal 2
It is operated by a maintenance person via 50.
【0041】また、図1のドライブパス70は、ドライ
ブパス270−1〜270−4、ドライブパス270−
5〜270−8、ドライブパス270−9〜270−1
2、ドライブパス270−13〜270−16に対応す
る。The drive path 70 in FIG. 1 includes drive paths 270-1 to 270-4 and drive path 270-
5-270-8, drive path 270-9-270-1
2, corresponding to the drive paths 270-13 to 270-16.
【0042】図1のディスクドライブ300は、記憶装
置部240を構成する複数のディスクドライブボックス
241−1〜241−2に含まれる、ディスクドライブ
242−1〜242−32、ディスクドライブ242−
33〜242−64、に対応する。The disk drive 300 shown in FIG. 1 includes disk drives 242-1 to 242-32 and disk drives 242-242 included in a plurality of disk drive boxes 241-1 to 241-2 constituting the storage unit 240.
33-242-64.
【0043】図1ではECCグループは1つであった
が、図4においては、合計8つのECCグループを有す
る。ディスクドライブ242−1〜242−7,242
−9〜242−15,242−17〜241−23,2
42−25〜242−31,がそれぞれECCグループ
である。なお、ディスクドライブ242−8,242−
16,242−24,242−32は予備ディスクドラ
イブである。ディスクドライブ242−33〜242−
64についても同様である。In FIG. 1, there is one ECC group, but in FIG. 4, there are a total of eight ECC groups. Disk drives 242-1 to 242-7, 242
-9 to 242-15, 242-17 to 241-23, 2
42-25 to 242-31, respectively, are ECC groups. The disk drives 242-8, 242-
16, 242-24 and 242-32 are spare disk drives. Disk drives 242-33 to 242-
The same applies to 64.
【0044】図5は、本実施の形態のディスク記憶装置
にて用いられる先読みテーブル150の構成の一例を示
す概念図である。本実施の形態の先読みテーブルは15
0は、論理デバイス番号150a,ホスト指定のデータ
セット範囲150b毎に、前回ホストアクセス位置15
0c、ホストアクセス回数150d、前回アクセス時刻
150e、平均到着頻度(平均アクセス間隔150
f)、先読み順位150g、先読み実行中flag15
0h、対象セグメント番号150i、等の各種制御情報
を格納し、これらにより各データセット毎の先読みの実
行状態を管理するものである。FIG. 5 is a conceptual diagram showing an example of the configuration of the look-ahead table 150 used in the disk storage device of the present embodiment. The look-ahead table of this embodiment is 15
0 is the previous host access position 15 for each logical device number 150a and host-specified data set range 150b.
0c, host access count 150d, last access time 150e, average arrival frequency (average access interval 150
f), prefetching order 150 g, prefetching execution flag 15
It stores various control information such as 0h, the target segment number 150i, and the like, and manages the execution state of the prefetch for each data set based on the control information.
【0045】図6は、本実施の形態のディスク記憶装置
にて用いられるコピーテーブル160の構成の一例を示
す概念図である。本実施の形態では、ディスクドライブ
の各々にドライブ番号を割り当て、そのドライブ番号
(コピー対象ドライブ番号160a)毎にコピーの進捗
を示すコピーポインタ160b、ディスクドライブに指
定したセグメント番号160cを管理する。FIG. 6 is a conceptual diagram showing an example of the configuration of the copy table 160 used in the disk storage device of the present embodiment. In the present embodiment, a drive number is assigned to each disk drive, and a copy pointer 160b indicating the progress of copying and a segment number 160c designated for the disk drive are managed for each drive number (copy target drive number 160a).
【0046】今、このような構成を持つ本実施の形態の
ディスク記憶装置に対し、ホスト(中央処理装置10)
からリード要求が発行された場合のディスク制御装置2
0内のマイクロプロセッサ30の動作の一例を図7およ
び図8に示すフローチャートを用いて説明する。Now, a host (central processing unit 10) is provided for the disk storage device of this embodiment having such a configuration.
Control unit 2 when a read request is issued from
An example of the operation of the microprocessor 30 in 0 will be described with reference to the flowcharts shown in FIGS.
【0047】ステップ1000でホストからリード要求
が発行された時、ステップ1100に進み、要求データ
がキャッシュメモリ110上に存在するか判定する。こ
れは、キャッシュディレクトリ参照手段32が、キャッ
シュディレクトリ120を参照し判定する。キャッシュ
メモリ110上に存在しない時は、ステップ1200に
進みホスト要求データをディスクドライブからキャッシ
ュメモリ110に転送し、その後、ステップ1300
で、キャッシュメモリ110上のデータをホストに転送
する。ホスト要求データがキャッシュメモリ110上に
存在する時は、ステップ1300に進み、キャッシュメ
モリ110上のデータをホストに転送する。次にステッ
プ1400で、ホストからのリード要求の際に指定され
たデータセット範囲を調べ、データセット長が既定値以
上か判定する。これは、ある程度以上の長さのデータセ
ットのみ先読み対象とするためである。規定値以下の場
合はステップ1500に進み処理終了する。既定値以上
の場合はステップ1600に進み、先読みテーブル15
0上に同一の論理デバイス番号150a,データセット
範囲150bが登録済みか判定する。未登録の場合はス
テップ1700に進み、論理デバイス番号150a,デ
ータセット範囲150bを登録する。次にステップ18
00に進み、先読みテーブル150を用い平均アクセス
間隔150fを算出する。When a read request is issued from the host in step 1000, the flow advances to step 1100 to determine whether or not the requested data exists in the cache memory 110. This is determined by the cache directory reference means 32 referring to the cache directory 120. If the data does not exist in the cache memory 110, the flow advances to step 1200 to transfer the host request data from the disk drive to the cache memory 110.
Then, the data on the cache memory 110 is transferred to the host. When the host request data exists in the cache memory 110, the process proceeds to step 1300, and the data in the cache memory 110 is transferred to the host. Next, in step 1400, the data set range specified at the time of the read request from the host is checked, and it is determined whether the data set length is equal to or greater than a predetermined value. This is because only a data set having a certain length or more is to be prefetched. If it is less than the specified value, the process proceeds to step 1500 and ends. If the value is equal to or larger than the predetermined value, the process proceeds to step 1600, and the look-ahead table 15
It is determined whether the same logical device number 150a and data set range 150b have already been registered on 0. If not registered, the process proceeds to step 1700 to register the logical device number 150a and the data set range 150b. Then step 18
In step 00, the average access interval 150f is calculated using the look-ahead table 150.
【0048】すなわち先読みテーブル150から読出さ
れる、平均アクセス間隔150fをHm、ホストアクセ
ス回数150dをN、前回アクセス時刻150eをT
L、とし、現在時刻をTNとすると、今回の平均アクセ
ス間隔150f(Hm)は、 Hm = {Hm×N+(TN−TL)}/(N+1) で算出され、これを先読みテーブル150の平均アクセ
ス間隔150fに格納する。次にステップ1900に進
み、先読みテーブル150の、前回アクセス時刻150
eに現在時刻を格納する。次にステップ2000に進
み、ホスト連続データ指示の有無を判定する。ホスト連
続データ指示がない場合、ステップ2100に進む。That is, the average access interval 150f read from the prefetch table 150 is Hm, the host access count 150d is N, and the last access time 150e is T.
L, and assuming that the current time is TN, the current average access interval 150f (Hm) is calculated as follows: Hm = {Hm × N + (TN−TL)} / (N + 1). It is stored in the interval 150f. Next, the process proceeds to step 1900, where the previous access time 150
The current time is stored in e. Next, the process proceeds to step 2000, where it is determined whether or not there is a host continuous data instruction. If there is no host continuous data instruction, the process proceeds to step 2100.
【0049】ステップ2100からステップ2500
は、ホストのアクセスが連続的であるかどうかを判定す
るものである。以下順に説明する。まず、ステップ21
00で、先読みテーブル150上のアクセス回数150
dに1を加算する。次にステップ2200に進み、前回
アクセス位置(150c)+1が今回のアクセス位置か
を先読みテーブル150により判定する。前回のアクセ
ス位置(150c)+1が今回のアクセス位置でない場
合は、ステップ2400に進み、先読みテーブル150
の前回アクセス位置150cに今回のアクセス位置を格
納し、ステップ2700に進み、処理終了する。前回ア
クセス位置(150c)+1が今回のアクセス位置の場
合、ステップ2300に進み、先読みテーブル150の
前回アクセス位置150cに今回アクセス位置を格納す
る。次に、ステップ2500に進み、アクセス回数15
0dが既定値以上かを判定し、既定値以下の場合はステ
ップ2700に進み、処理終了する。Steps 2100 to 2500
Is to determine whether the host access is continuous or not. The description will be made in the following order. First, step 21
00, the number of accesses 150 in the look-ahead table 150
Add 1 to d. Next, the process proceeds to step 2200, where it is determined from the look-ahead table 150 whether the previous access position (150c) +1 is the current access position. If the previous access position (150c) +1 is not the current access position, the process proceeds to step 2400, and the look-ahead table 150
The current access position is stored in the previous access position 150c, and the process proceeds to step 2700 to end the process. If the previous access position (150c) +1 is the current access position, the process proceeds to step 2300, where the current access position is stored in the previous access position 150c of the look-ahead table 150. Next, the process proceeds to step 2500, where the number of accesses 15
It is determined whether 0d is greater than or equal to a predetermined value. If it is less than or equal to the predetermined value, the process proceeds to step 2700 and ends.
【0050】アクセス回数150dが既定値より多い
時、またはホストから連続データ指示がある場合は、ス
テップ2600に進み、先読みテーブル150の先読み
実行中flag150hを参照し、同一データセット内
で先読みが実行されているか判定する。先読みが既に実
行されている場合はステップ2700に進み、処理終了
する。先読み未実施の場合はステップ3000に進み、
先読みテーブル150全体のなかで、当該データセット
の先読みの優先順位を決定する。これは、当該データセ
ットの平均アクセス間隔150fより短い平均アクセス
間隔150fを持つデータセットが、いくつあるかとい
うことから決定する。次にステップ3100に進み、ド
ライブ状態参照手段33を用い、ドライブコピー,コレ
クションコピー実行中かを判定する。ドライブコピー,
コレクションコピー実行中の場合、ステップ3200に
進み、使用可能セグメント数を、 実装セグメント数− (ドライブコピー,コレクションコ
ピー実行数) とする。これは、ドライブコピー,コレクションコピー
用にセグメント361〜376のいくつかを優先的に割
り当て、その分、先読み用のセグメントの使用を制限す
るためである。次にステップ3300に進み、先読みの
優先順位が使用可能セグメント数以内かを判定する。使
用可能セグメント数以上の場合はステップ3400に進
み、先読み時にプリフェッチ指示しないことを決定す
る。次にステップ3500に進み、当該先読みが前回プ
リフェッチを実行したかを判定する。プリフェッチ未実
行の場合、ステップ3600でプリフェッチ時のセグメ
ント番号を新たに割り当てる。新たなセグメント番号
は、前回の優先順位が16番の先読みが使用していた、
セグメント番号を割り当てる。前回プリフェッチ実行の
場合は、ステップ3700に進み、指定セグメント番号
として、前回用いたセグメント番号を割り当てる。次に
ステップ3800に進み、ドライブ状態参照手段33を
用いドライブ状態を参照する。次にステップ3900に
進みコレクションアクセス状態の場合は、ステップ40
00に進み、冗長データをも先読みと、プリフェッチ対
象とする。次にステップ4100に進み、先読み対象ド
ライブ,各ドライブのリード対象範囲を算出する。次に
ステップ4200に進み、先読み対象ドライブ毎に、リ
ード開始,リードデータ長,プリフェッチ指示有り/な
し,プリフェッチ指示有りの時はセグメント番号,冗長
データのスキップ有り/なしを指定し、目的のディスク
ドライブ300にリード要求を発行する。次に、ステッ
プ4300で要求したデータをキャッシュメモリ110
に格納する。When the number of accesses 150d is larger than the predetermined value or when there is a continuous data instruction from the host, the flow advances to step 2600 to refer to the pre-reading flag 150h of the pre-reading table 150 and execute pre-reading in the same data set. Is determined. If the prefetch has already been performed, the process proceeds to step 2700, and the process ends. If the prefetch has not been performed, the process proceeds to step 3000,
In the entire look-ahead table 150, the priority of the look-ahead of the data set is determined. This is determined based on how many data sets have an average access interval 150f shorter than the average access interval 150f of the data set. Next, the process proceeds to step 3100, where it is determined whether the drive copy or the correction copy is being performed by using the drive state reference unit 33. Drive copy,
If the collection copy is being executed, the process proceeds to step 3200, and the number of usable segments is set to the number of mounted segments− (the number of drive copies and the number of collection copies executed). This is because some of the segments 361 to 376 are preferentially allocated for drive copy and collection copy, and the use of read-ahead segments is restricted accordingly. Next, the process proceeds to step 3300, where it is determined whether the priority of the prefetch is within the number of usable segments. If the number of segments is equal to or more than the number of usable segments, the process proceeds to step 3400, and it is determined that no prefetch instruction is given at the time of prefetching. Next, the process proceeds to step 3500, where it is determined whether the prefetch has executed the prefetch last time. If prefetch has not been executed, a segment number at the time of prefetch is newly assigned in step 3600. The new segment number was used by the previous look-ahead with the 16th priority,
Assign a segment number. In the case of executing the previous prefetch, the process proceeds to step 3700, and the previously used segment number is assigned as the designated segment number. Next, the process proceeds to step 3800, where the drive status is referred to by using the drive status reference means 33. Next, the process proceeds to step 3900, and in the case of the collection access state, step 40
Then, the process proceeds to 00 and the redundant data is also subjected to prefetching and prefetching. Next, the process proceeds to step 4100 to calculate a pre-read target drive and a read target range of each drive. Next, the process proceeds to step 4200, where the read start, read data length, presence / absence of prefetch instruction, segment number when prefetch instruction is present, and presence / absence of skip of redundant data are designated for each prefetch target drive. A read request is issued to 300. Next, the data requested in step 4300 is stored in the cache memory 110.
To be stored.
【0051】次にディスク制御装置20からリード要求
を受け付けた時のディスクドライブ300の動作を図9
のフローチャートを用いて説明する。Next, the operation of the disk drive 300 when a read request is received from the disk controller 20 will be described with reference to FIG.
This will be described with reference to the flowchart of FIG.
【0052】まず、ステップ5000で、ディスク制御
装置20からのリード要求を、ディスクI/F制御手段
321が、ディスクI/F310を用いて受信する。こ
の時、リード要求範囲(リード開始アドレス,転送デー
タ長),プリフェッチ指示の有り/なし,セグメント番
号の指定有り/なし,冗長データのスキップの有り/な
し等の情報を受信する。次にステップ5100に進み、
プリフェッチ指示のない場合はステップ5500に進
み、プリフェッチ指示の有る場合は、ステップ5200
に進む。ステップ5200では、プリフェッチ対象範囲
を算出する。プリフェッチ対象範囲は、先頭アドレスが
ディスク制御装置20のリード要求範囲の次のアドレス
で、データ長がセグメントサイズである。ただしこの範
囲に冗長データが有り、冗長データスキップを指示され
ている時は、この分を対象範囲としない。次にステップ
5300に進み、セグメント番号の指示がない場合に
は、ステップ5400に進む。ステップ5400では、
プリフェッチ用のセグメントとして、ドライブバッファ
管理手段323により、ディスク制御装置20により、
セグメント361〜376の中から最も過去に参照され
たセグメントを割り当て、ステップ5500に進む。ス
テップ5300でセグメント指定有りの場合は、ステッ
プ5500に進む。ステップ5500では、ディスク制
御器340がディスク制御装置20の要求範囲の先頭ア
ドレスにヘッドを位置付けて、ディスク制御装置20の
要求範囲をセグメント360に転送する。これに同期し
て、ディスクI/F310はセグメント360に転送し
たデータをディスクI/F310を通してディスク制御
装置20に転送する。ステップ5600で、これをディ
スク制御装置20の要求範囲が、全てセグメント360
に格納されるまで実行する。First, in step 5000, the disk I / F control means 321 receives a read request from the disk controller 20 using the disk I / F 310. At this time, information such as a read request range (read start address and transfer data length), presence / absence of a prefetch instruction, presence / absence of a segment number designation, presence / absence of skip of redundant data, and the like are received. Next, proceed to step 5100,
If there is no prefetch instruction, the process proceeds to step 5500. If there is a prefetch instruction, step 5200.
Proceed to. In step 5200, a prefetch target range is calculated. In the prefetch target range, the start address is the next address of the read request range of the disk control device 20, and the data length is the segment size. However, when there is redundant data in this range and a redundant data skip is instructed, the redundant data is not taken as the target range. Next, the process proceeds to step 5300, and if there is no instruction of the segment number, the process proceeds to step 5400. In step 5400,
As a segment for prefetch, the disk controller 20
The most recently referenced segment among the segments 361 to 376 is assigned, and the flow advances to step 5500. If there is a segment designation in step 5300, the process proceeds to step 5500. In step 5500, the disk controller 340 positions the head at the start address of the required range of the disk controller 20 and transfers the required range of the disk controller 20 to the segment 360. In synchronization with this, the disk I / F 310 transfers the data transferred to the segment 360 to the disk controller 20 through the disk I / F 310. In step 5600, the request range of the disk controller 20 is changed to all segments 360.
Execute until stored in.
【0053】次にステップ5700に進み、プリフェッ
チ指示有りか判定を行う。プリフェッチ指示がない場合
はステップ5800に進み処理を終了する。プリフェッ
チ指示がある場合はステップ5900に進み、ディスク
制御装置20の要求データのリードに続いて、プリフェ
ッチを実行する。この時データを格納するのは、ディス
ク制御装置20による指定のセグメントまたはステップ
5400で算出したセグメントである。プリフェッチ実
行中にステップ6000からステップ6300の判定を
行う。まず、ステップ6000はプリフェッチ対象範囲
をセグメントに転送完了かを判定する。転送完了の場合
はステップ6100に進み処理終了する。ステップ62
00は今まさにリードしようとしているアドレスが、冗
長データに該当するかを判定するものである。冗長デー
タに該当する場合はステップ6300に進み、冗長デー
タのスキップの指示が有るかを判定する。冗長データの
スキップの指示が有る場合は、ステップ6400で冗長
データの範囲をスキップする。これは、ディスク制御器
制御手段324が、ディスク制御器340を用い、記録
メディア350の次のリード位置までヘッドを移動させ
る。その後、ステップ6500に進みプリフェッチを再
開する。冗長データスキップ指示がない場合は冗長デー
タの範囲も継続してプリフェッチする。この処理はステ
ップ6000の判定で対象範囲リード完了となるまで実
行する。Then, the process proceeds to a step 5700, wherein it is determined whether or not there is a prefetch instruction. If there is no prefetch instruction, the process proceeds to step 5800 and ends. If there is a prefetch instruction, the process proceeds to step 5900, where the prefetch is executed following the reading of the requested data by the disk controller 20. At this time, the data is stored in the segment specified by the disk control device 20 or the segment calculated in step 5400. During the execution of the prefetch, the determination from step 6000 to step 6300 is performed. First, step 6000 determines whether the prefetch target range has been transferred to the segment or not. If the transfer has been completed, the process proceeds to step 6100 and ends. Step 62
00 determines whether the address that is about to be read corresponds to redundant data. If the data corresponds to redundant data, the flow advances to step 6300 to determine whether there is an instruction to skip redundant data. If there is an instruction to skip redundant data, in step 6400, the range of redundant data is skipped. That is, the disk controller control means 324 uses the disk controller 340 to move the head to the next read position of the recording medium 350. Thereafter, the process proceeds to step 6500 to restart the prefetch. If there is no redundant data skip instruction, the range of redundant data is also prefetched continuously. This processing is executed until the target range read is completed in the determination of step 6000.
【0054】ドライブコピー,コレクションコピー時
の、ディスク制御装置20内のマイクロプロセッサ30
の動作の一例を図10に示すフローチャート等を参照し
て説明する。At the time of drive copy and correction copy, the microprocessor 30 in the disk control device 20
An example of the operation will be described with reference to a flowchart shown in FIG.
【0055】まずステップ7000で前回プリフェッチ
を実行したか、すなわちドライブコピー,コレクション
コピー用にセグメントが割り当て済みかを判定する。こ
れはコピーテーブル160のセグメント番号160cが
確定しているかどうかで判定する。セグメントが割り当
てられていない場合はステップ7100に進み、先読み
テーブル150を参照し、優先順位16位の先読みが使
用しているセグメント番号を割り当てる。セグメントが
既に割当済みの場合はステップ7200に進み、前回使
用したセグメントを用いプリフェッチすることにする。
次にステップ7300に進みリード対象ドライブ,各ド
ライブのリード対象範囲を参照する。ドライブコピー時
は、コピー元の1ディスクドライブと、コピーポインタ
160bの示すアドレスから所定長の範囲が対象とな
る。またコレクションコピー時には、ECC内の障害デ
ィスクドライブ以外の全ディスクドライブ300と、各
々のディスクドライブ300のコピーポインタ160b
の示すアドレスから所定長の範囲が対象となる。次にス
テップ7400に進み、各コピー対象のディスクドライ
ブ300に対してリード要求を発行する。この時、各々
のディスクドライブ300に対し、リード対象アドレ
ス,データ長,セグメント番号として先に求めた番号,
冗長データのスキップなしを指定する。次にステップ7
500に進み、ディスクドライブ300からリードした
データをキャッシュメモリ110に格納する。次にステ
ップ7600に進み、コレクションコピーか判定し、コ
レクションコピーの場合はステップ7700に進む。ス
テップ7700では、ステップ7500でキャッシュメ
モリ110上に格納されたデータから、冗長データ生成
器130を用い障害ディスクドライブ上のデータを回復
する。次にステップ7800に進み、ステップ7700
で回復したデータ、あるいはドライブコピーの場合はス
テップ7500でディスクドライブ300(300a〜
300g)からリードしたデータを、予備ディスクドラ
イブ300hにライトする。次にステップ7900に進
み、コピー完了かを判定する。これはコピーテーブル1
60のコピーポインタ160bが、ディスクドライブ3
00の最大アドレスに達したかどうかで判定する。コピ
ー完了の時はステップ8000に進み処理終了する。コ
ピー未完了の時はステップ8100にすすむ。ステップ
8100では、コピーポインタ160bに1を加算し
て、ステップ7000に進み、次のコピーポインタ16
0bの示すアドレスからのコピーを開始する。First, in step 7000, it is determined whether the prefetch was executed last time, that is, whether segments have been allocated for drive copy and correction copy. This is determined based on whether the segment number 160c of the copy table 160 has been determined. If a segment has not been allocated, the flow advances to step 7100 to refer to the look-ahead table 150 and allocate a segment number used by the look-ahead of the 16th priority. If the segment has already been allocated, the flow advances to step 7200 to prefetch using the previously used segment.
Next, the process proceeds to step 7300 to refer to the drive to be read and the read range of each drive. At the time of drive copying, a range of a predetermined length from one copy source disk drive and the address indicated by the copy pointer 160b is targeted. At the time of collection copy, all disk drives 300 other than the failed disk drive in the ECC and the copy pointer 160b of each disk drive 300
A range of a predetermined length from the address shown in FIG. Next, the process proceeds to step 7400, where a read request is issued to the disk drive 300 to be copied. At this time, for each disk drive 300, the number previously obtained as the read target address, data length, segment number,
Specifies no skipping of redundant data. Then step 7
Proceeding to 500, the data read from the disk drive 300 is stored in the cache memory 110. Next, the process proceeds to step 7600, where it is determined whether it is a collection copy, and in the case of a collection copy, the process proceeds to step 7700. In step 7700, data on the failed disk drive is recovered from the data stored in the cache memory 110 in step 7500 by using the redundant data generator 130. Next, the process proceeds to step 7800 and proceeds to step 7700.
In the case of the data recovered by the above or the drive copy, the disk drive 300 (300a to
The data read from 300g) is written to the spare disk drive 300h. Next, the process proceeds to step 7900, where it is determined whether the copy is completed. This is copy table 1
60, the copy pointer 160b is
It is determined whether the maximum address of 00 has been reached. When copying is completed, the process proceeds to step 8000 and ends. If copying has not been completed, the process proceeds to step 8100. In step 8100, 1 is added to the copy pointer 160b, and the process proceeds to step 7000, where the next copy pointer 16b is added.
Copying from the address indicated by 0b is started.
【0056】このように、本実施の形態のディスク記憶
装置によれば、複数のディスクドライブ300に対し
て、中央処理装置10から到来する書き込みデータを当
該書き込みデータから生成された冗長データとともに分
散して格納する冗長記憶構成のディスク記憶装置におい
て、中央処理装置10からの複数のデータ読み出し要求
処理が同時に動作している際に先読みを行った場合に、
ディスクドライブ300内のドライブバッファ330の
使用効率を高め、先読みのリード性能を向上させること
ができる、という効果が得られる。As described above, according to the disk storage device of the present embodiment, the write data coming from the central processing unit 10 is distributed to the plurality of disk drives 300 together with the redundant data generated from the write data. When a plurality of data read request processes from the central processing unit 10 are simultaneously operating in a disk storage device having a redundant storage configuration for
This has the effect of increasing the use efficiency of the drive buffer 330 in the disk drive 300 and improving the read performance of pre-reading.
【0057】また、先読み対象範囲に冗長データを含む
際に、効率良く先読みを行い、先読みのリード性能を向
上させることができる、という効果が得られる。Further, when redundant data is included in the pre-read target range, pre-read can be performed efficiently, and the read performance of pre-read can be improved.
【0058】また、ディスクドライブ300a〜300
gの1台における障害発生時のコレクションリードでの
先読みのリード性能を向上させることができる、という
効果が得られる。Also, the disk drives 300a to 300
The effect that the read performance of the pre-read in the collection read at the time of occurrence of a failure in one of the g can be improved.
【0059】また、ディスクドライブ300a〜300
gや予備ディスクドライブ300hの間におけるドライ
ブコピー,コレクションコピーを効率良く行い、コピー
の所要時間を短縮することができる、という効果が得ら
れる。The disk drives 300a-300
g and the spare disk drive 300h, the drive copy and the collection copy can be efficiently performed, and the time required for the copy can be reduced.
【0060】(実施の形態2)次に、図11を参照し
て、本発明のデータ記憶装置の第2の実施の形態の一例
について説明する。(Embodiment 2) Next, an example of a second embodiment of the data storage device of the present invention will be described with reference to FIG.
【0061】この第2の実施の形態における図11の装
置構成は、図1から、パリティ生成器制御手段34,冗
長データ生成器130,コピーテーブル160を除いた
ものである。また、中央処理装置10からの入出力アド
レスと、ディスクドライブ300のアドレスは1対1に
対応しており、図1に例示されたマッピング演算手段3
9,および図3に例示したマッピングは不要である。こ
のような構成を持つディスク記憶装置に対し、ホストか
らリード要求が発行された場合のディスク制御装置20
内のマイクロプロセッサ30の動作は、前述の図7,図
8,図9に例示されたフローチャートのようになる。但
し、図8のステップ4200の冗長データスキップ処理
は不要である。また、図9のステップ6200からステ
ップ6500は冗長データが存在しないため不要であ
る。詳細の動作については第1の実施の形態と同様であ
る。The device configuration of FIG. 11 in the second embodiment is such that the parity generator control means 34, the redundant data generator 130, and the copy table 160 are removed from FIG. The input / output address from the central processing unit 10 and the address of the disk drive 300 correspond one-to-one, and the mapping operation unit 3 illustrated in FIG.
9 and the mapping illustrated in FIG. 3 are unnecessary. The disk control device 20 when a read request is issued from the host to the disk storage device having such a configuration.
The operation of the microprocessor 30 is as shown in the flowcharts illustrated in FIGS. 7, 8, and 9 described above. However, the redundant data skip processing in step 4200 in FIG. 8 is not required. Steps 6200 to 6500 in FIG. 9 are unnecessary because redundant data does not exist. The detailed operation is the same as in the first embodiment.
【0062】この本実施の形態のディスク記憶装置によ
れば、中央処理装置10との間で授受される入出力デー
タのアドレスと、ディスクドライブ300上の格納位置
とが1対1に対応した、非冗長記憶構成のディスク記憶
装置において、複数のデータ読み出し要求処理が同時に
動作している際に先読みを行った場合に、ドライブ内の
バッファの使用効率を高め先読みのリード性能を向上さ
せることができる、という効果が得られる。According to the disk storage device of the present embodiment, the address of input / output data exchanged with the central processing unit 10 and the storage position on the disk drive 300 have a one-to-one correspondence. In a disk storage device having a non-redundant storage configuration, when read-ahead is performed while a plurality of data read request processes are operating at the same time, it is possible to improve the use efficiency of the buffer in the drive and improve the read performance of the read-ahead. Is obtained.
【0063】次に、たとえばデータ記憶装置の動作を外
部から観察することによって、上述の各実施の形態に例
示したような本発明の各種機能が実装されているか否か
を判別する方法の一例について説明する。Next, an example of a method for judging whether various functions of the present invention as exemplified in the above-described embodiments are implemented by observing the operation of the data storage device from the outside, for example. explain.
【0064】たとえば、図1に例示される構成の装置の
場合、ドライブパス70が、SCSIバスの場合には、
ECCグループを構成する一つのドライブの当該ドライ
ブパス70にSCSIモニタ400を接続し、さらに、
当該ECCグループ内に複数のデータセット1,...
nを作成する。For example, in the case of the device having the configuration shown in FIG. 1, when the drive path 70 is a SCSI bus,
A SCSI monitor 400 is connected to the drive path 70 of one drive constituting the ECC group.
A plurality of data sets 1,. . .
Create n.
【0065】そして、以下の確認条件#1〜#6よう
な、各動作を意図的に行い、その時、SCSIモニタ4
00を介して、装置の挙動を観測する。ただし、以下の
説明で、データセットm(1≦m≦n)の、SCSIモ
ニタ400が接続されたドライブ300a上の領域を、
領域mと呼ぶ。Then, each operation under the following confirmation conditions # 1 to # 6 is intentionally performed.
Via 00, the behavior of the device is observed. However, in the following description, the area of the data set m (1 ≦ m ≦ n) on the drive 300a to which the SCSI monitor 400 is connected is
Called area m.
【0066】<確認条件#1>図1や図4に例示された
冗長記憶構成、あるいは図11に例示された非冗長記憶
構成のデータ記憶装置で、本発明のようにディスクドラ
イブにおけるバッファを複数のセグメントに分割する管
理が行われているか、を確認する。<Confirmation Condition # 1> A data storage device having the redundant storage configuration illustrated in FIG. 1 or FIG. 4 or the non-redundant storage configuration illustrated in FIG. Check whether the management is performed to divide into segments.
【0067】.中央処理装置10から、領域mに対し
てシーケンシャル指示付きでリードコマンドを発行。. The central processing unit 10 issues a read command to the area m with a sequential instruction.
【0068】.の後、十分時間をおいてから領域m
以外の領域にリードコマンド発行。[0068] After a sufficient time,
Issue read command to other area.
【0069】.の次のアドレスにリードコマンド発
行。[0069] Read command is issued to the next address.
【0070】このような確認条件#1の場合、もし、上
述のような本発明の機能が実装されている場合には、以
下のような観察結果が、SCSIモニタ400を介して
得られる。In the case of such a check condition # 1, if the above-described function of the present invention is implemented, the following observation result is obtained via the SCSI monitor 400.
【0071】すなわち、ディスクドライブ300にて、
記録メディア350からドライブバッファ330に対し
てプリフェッチが行われているならば、において、デ
ィスクドライブ300では、ヘッド位置づけのためのオ
ーバーヘッドがなく、ディスクドライブ300がリード
コマンドを受領してからデータ転送が開始されるまでの
時間間隔(読み出しオーバーヘッド)が発生しない。That is, in the disk drive 300,
If the prefetch from the recording medium 350 to the drive buffer 330 is performed, the disk drive 300 has no overhead for head positioning, and starts data transfer after the disk drive 300 receives the read command. There is no time interval (read overhead) until the data is read.
【0072】<確認条件#2>ディスクドライブ上のバ
ッファを複数のセグメントに分割して管理する場合、個
々のセグメント毎に、上位装置からのリード要求のアク
セス順序を管理し、最も過去にアクセスされたセグメン
トを他のリード要求に対応した先読みに割り当てる操作
(LRU管理)が行われているか、を確認する。<Confirmation Condition # 2> When a buffer on a disk drive is divided into a plurality of segments and managed, the access order of read requests from a higher-level device is managed for each segment, and the most recently accessed It is confirmed whether or not an operation (LRU management) for allocating the read segment to the prefetch corresponding to another read request is performed.
【0073】.中央処理装置10から、領域1からm
に対して、順にシーケンシャル指示付きでリードコマン
ドを発行。ただし、各リードコマンドの発行の間には十
分時間をおく。[0073] From the central processing unit 10, from the area 1 to m
Issue read commands with sequential instructions. However, a sufficient time is required between the issuance of each read command.
【0074】.領域1に対してリードコマンド発行。[0074] Issue read command for area 1.
【0075】.領域mに対してリードコマンド発行。[0075] Issue read command for area m.
【0076】この確認条件#2の場合、ドライブバッフ
ァ330の複数のセグメントにおいてLRU管理が行わ
れている場合、において、領域1に対するプリフェッ
チデータはすでに上書き済のため、ヘッド位置付け時間
に相当する読み出しオーバーヘッドが発生する。In the case of this confirmation condition # 2, when LRU management is performed in a plurality of segments of the drive buffer 330, since the prefetch data for the area 1 has already been overwritten, the read overhead corresponding to the head positioning time Occurs.
【0077】また、において領域mに対するプリフェ
ッチデータは存在し、読み出しオーバーヘッドは発生し
ない。In addition, there is prefetch data for the area m, and no read overhead occurs.
【0078】<確認条件#3>複数のリード要求に対応
した複数の先読みが並行的に動作している時に、先読み
したデータに対する上位装置のアクセス頻度により、先
読みの優先順位を決定し、優先順位の高い先読みからセ
グメントを割り当てる操作が行われているか、を確認す
る。<Confirmation Condition # 3> When a plurality of prefetches corresponding to a plurality of read requests are operating in parallel, the priority of the prefetch is determined based on the access frequency of the higher-level device to the prefetched data. Check whether the operation of assigning a segment from a high look-ahead is performed.
【0079】.データセット1からnに対して、シー
ケンシャル指示付きでリードコマンドを発行。この時、
各データセット毎のアクセス回数は、データセット1<
データセット2...<データセットnとする。[0079] Issue a read command with sequential instructions to data sets 1 to n. At this time,
The number of accesses for each data set is expressed as data set 1 <
Data set 2. . . <Data set n.
【0080】.領域nから1の順にシーケンシャル指
示付きで1度ずつリードコマンドを発行。[0080] The read command is issued once with the sequential instruction in the order of 1 from the area n.
【0081】.領域1に対してリードコマンド発行。[0081] Issue read command for area 1.
【0082】.領域nに対してリードコマンド発行。[0082] Issue read command for area n.
【0083】この時、本発明のように、データセット毎
のアクセス頻度に応じたセグメントの割り当てが行われ
ている場合、で領域1に対するプリフェッチは行われ
ないため、においてヘッド位置付け時間に相当する読
み出しオーバーヘッドが発生する。At this time, when segments are allocated in accordance with the access frequency for each data set as in the present invention, prefetching to the area 1 is not performed, so that the readout corresponding to the head positioning time Overhead occurs.
【0084】で領域nに対するプリフェッチは行われ
るため、においてヘッド位置付け時間に相当する読み
出しオーバーヘッドが発生しない。Since the prefetch for the area n is performed, the read overhead corresponding to the head positioning time does not occur.
【0085】通常、SCSIではデータセットを意識で
きないので、この方法により、確認が可能である。Normally, since the data set is not conscious in SCSI, it is possible to confirm by this method.
【0086】<確認条件#4>冗長記憶構成のデータ記
憶装置において、ディスクドライブにおける先読み時
に、冗長データのスキップ動作が行われているか、を確
認する。<Confirmation Condition # 4> In the data storage device having the redundant storage configuration, it is confirmed whether or not the skip operation of the redundant data is performed at the time of pre-reading by the disk drive.
【0087】RAID5構成のECCグループ内のデー
タセット1に対してシーケンシャル指示付きで、連続す
るアドレスに対して順次リードコマンドを発行する。A read command is sequentially issued to consecutive addresses with a sequential instruction for the data set 1 in the ECC group having the RAID 5 configuration.
【0088】この時、RAID5構成の場合、各領域は
冗長データにより分割されている。したがって、本発明
のように冗長データスキップ機能を有しない場合、領域
1のリードにおいて、ヘッド位置付け時間に相当する読
み出しオーバーヘッドが発生する。換言すれば、本発明
の冗長データスキップ機能を有している場合、領域1の
リードにおいて、ヘッド位置付け時間に相当する読み出
しオーバーヘッドは発生しない。At this time, in the case of a RAID 5 configuration, each area is divided by redundant data. Therefore, when the redundant data skip function is not provided as in the present invention, a read overhead corresponding to the head positioning time occurs in reading the area 1. In other words, when the redundant data skip function according to the present invention is provided, the read overhead corresponding to the head positioning time does not occur when reading the area 1.
【0089】<確認条件#5>冗長記憶構成のデータ記
憶装置において、コレクションリードの実行時に、ディ
スクドライブにおける冗長データの先読み動作が行われ
ているか、を確認する。<Confirmation Condition # 5> In the data storage device having the redundant storage configuration, it is confirmed whether or not the pre-read operation of the redundant data in the disk drive is performed at the time of executing the collection read.
【0090】.RAID5構成のECCグループ内に
おいて、SCSIモニタ400が装着されたディスクド
ライブ300a以外のディスクドライブ300b〜30
0gのうちの一つのを抜去して意図的にエラー(コレク
ションリード実行)状態にする。. Disk drives 300 b to 30 b other than the disk drive 300 a to which the SCSI monitor 400 is mounted in the RAID 5 configuration ECC group
One of the 0g is removed to intentionally set an error (collection read execution) state.
【0091】.データセット1に対してシーケンシャ
ル指示付きで、連続するアドレスに対して順次リードコ
マンド発行。[0091] A read command is issued sequentially to consecutive addresses with a sequential instruction for data set 1.
【0092】この時、本発明のように、コレクションリ
ード時に冗長データのプリフェッチを行っている場合
は、領域1のリードにおいて、読み出しオーバーヘッド
が発生しない。At this time, when the prefetch of the redundant data is performed at the time of the collection read as in the present invention, the read overhead does not occur in the read of the area 1.
【0093】<確認条件#6>冗長記憶構成のデータ記
憶装置において、ドライブコピーの実行時におけるディ
スクドライブでの先読みが実行されているか、を確認す
る。<Confirmation Condition # 6> In the data storage device having the redundant storage configuration, it is confirmed whether the read-ahead of the disk drive at the time of executing the drive copy is executed.
【0094】SCSIモニタ400が装着されたディス
クドライブ300aをコピー元としてドライブコピー実
行。Drive copy is executed using the disk drive 300a on which the SCSI monitor 400 is mounted as a copy source.
【0095】この時、本発明のように、ドライブコピー
時にプリフェッチを行っている場合には、SCSIモニ
タ400が装着されたディスクドライブ300aでは読
み出しオーバーヘッドは発生しない。At this time, when prefetching is performed at the time of drive copying as in the present invention, no reading overhead occurs in the disk drive 300a on which the SCSI monitor 400 is mounted.
【0096】以上により、本発明の各種機能が実装され
ているか否かを、SCSIモニタ400を介して確認す
ることができる。As described above, whether or not various functions of the present invention are implemented can be confirmed through the SCSI monitor 400.
【0097】以上本発明者によってなされた発明を実施
の形態に基づき具体的に説明したが、本発明は前記実施
の形態に限定されるものではなく、その要旨を逸脱しな
い範囲で種々変更可能であることはいうまでもない。Although the invention made by the inventor has been specifically described based on the embodiments, the present invention is not limited to the above-described embodiments, and can be variously modified without departing from the gist thereof. Needless to say, there is.
【0098】たとえば、ディスクドライブとしては、回
転型記憶媒体として磁気ディスクを備えた磁気ディスク
ドライブ等に限らず、光ディスク、光磁気ディスク、D
VD−RAM、等の一般の回転型記憶媒体を備えたディ
スクドライブを広く用いることができる。For example, the disk drive is not limited to a magnetic disk drive or the like having a magnetic disk as a rotary storage medium.
A disk drive having a general rotary storage medium such as a VD-RAM can be widely used.
【0099】[0099]
【発明の効果】本発明のデータ記憶装置によれば、複数
のデータ読み出し要求処理が同時に動作している際に先
読みを行った場合に、ドライブ内のバッファの使用効率
を高め先読みのリード性能を向上させることができる、
という効果が得られる。According to the data storage device of the present invention, when read-ahead is performed while a plurality of data read request processes are operating simultaneously, the use efficiency of the buffer in the drive is improved and the read performance of the read-ahead is improved. Can be improved,
The effect is obtained.
【0100】また、冗長記憶構成のデータ記憶装置にお
いて先読み対象範囲に冗長データを含む際に、効率良く
先読みを行い、先読みのリード性能を向上させることが
できる、という効果が得られる。Further, in the data storage device having the redundant storage configuration, when redundant data is included in the prefetch target range, the prefetch can be efficiently performed and the prefetch read performance can be improved.
【0101】また、冗長記憶構成のデータ記憶装置にお
けるコレクションリードでの先読みのリード性能を向上
させることができる、という効果が得られる。Further, there is an effect that the read performance of the pre-read in the collection read in the data storage device having the redundant storage configuration can be improved.
【0102】また、冗長記憶構成のデータ記憶装置にお
いて、ドライブコピー,コレクションコピーを効率良く
行い、コピーの所要時間を短縮することができる、とい
う効果が得られる。In the data storage device having the redundant storage configuration, the drive copy and the correction copy can be performed efficiently, and the time required for the copy can be shortened.
【図1】本発明の第1の実施の形態であるデータ記憶装
置を含む情報処理システムの構成の一例を示す概念図で
ある。FIG. 1 is a conceptual diagram illustrating an example of a configuration of an information processing system including a data storage device according to a first embodiment of the present invention.
【図2】本発明の一実施の形態であるディスク記憶装置
を構成するディスクドライブの構成の一例を示す概念図
である。FIG. 2 is a conceptual diagram showing an example of a configuration of a disk drive constituting a disk storage device according to an embodiment of the present invention.
【図3】本発明の一実施の形態である冗長記憶構成のデ
ィスク記憶装置において、中央処理装置との間における
入出力データの、ディスクドライブへのマッピング方法
の一例を示す概念図である。FIG. 3 is a conceptual diagram showing an example of a method of mapping input / output data with a central processing unit to a disk drive in a disk storage device having a redundant storage configuration according to an embodiment of the present invention.
【図4】図1に例示した本実施の形態における情報処理
システムの、より詳細な構成の一例を示す概念図であ
る。FIG. 4 is a conceptual diagram showing an example of a more detailed configuration of the information processing system according to the embodiment illustrated in FIG. 1;
【図5】本発明の一実施の形態であるディスク記憶装置
にて用いられる先読みテーブルの構成の一例を示す概念
図である。FIG. 5 is a conceptual diagram showing an example of a configuration of a look-ahead table used in a disk storage device according to an embodiment of the present invention.
【図6】本発明の一実施の形態であるディスク記憶装置
にて用いられるコピーテーブルの構成の一例を示す概念
図である。FIG. 6 is a conceptual diagram showing an example of the configuration of a copy table used in a disk storage device according to an embodiment of the present invention.
【図7】図8とともに、本発明の一実施の形態であるデ
ィスク記憶装置を構成する記憶制御装置の作用の一例を
示すフローチャートである。FIG. 7 is a flowchart showing an example of the operation of the storage control device constituting the disk storage device according to the embodiment of the present invention, together with FIG. 8;
【図8】図7とともに、本発明の一実施の形態であるデ
ィスク記憶装置を構成する記憶制御装置の作用の一例を
示すフローチャートである。FIG. 8 is a flowchart showing an example of the operation of the storage control device constituting the disk storage device according to the embodiment of the present invention, together with FIG. 7;
【図9】本発明の一実施の形態であるディスク記憶装置
を構成するドライブの作用の一例を示すフローチャート
である。FIG. 9 is a flowchart illustrating an example of an operation of a drive constituting the disk storage device according to the embodiment of the present invention;
【図10】本発明の一実施の形態であるディスク記憶装
置を構成するドライブの作用の一例を示すフローチャー
トである。FIG. 10 is a flowchart showing an example of an operation of a drive constituting the disk storage device according to the embodiment of the present invention.
【図11】本発明のデータ記憶装置の第2の実施の形態
の構成の一例を示す概念図である。FIG. 11 is a conceptual diagram illustrating an example of a configuration of a data storage device according to a second embodiment of the present invention.
10…中央処理装置、20…ディスク制御装置、30…
マイクロプロセッサ、31…キャッシュメモリ参照手
段、32…キャッシュディレクトリ参照手段、33…ド
ライブ状態参照手段、34…パリティ生成器制御手段、
35…差分データ生成器制御手段、36…ドライブコン
トローラ制御手段、38…順次アクセスモード判定手
段、39…マッピング演算手段、40…ホストI/F、
50…データ分割/再生器、60…チャネルパス、70
…ドライブパス、80…ドライブコントローラ、110
…キャッシュメモリ、111…ライト面、112…リー
ド面、113〜118…スロット、120…キャッシュ
ディレクトリ、130…冗長データ生成器、140…共
用メモリ、150…先読みテーブル、150a…論理デ
バイス番号、150b…データセット範囲、150c…
前回ホストアクセス位置、150d…ホストアクセス回
数、150e…前回アクセス時刻、150f…平均アク
セス間隔、150g…先読み順位、150h…先読み実
行中flag、150i…対象セグメント番号、160
…コピーテーブル、160a…コピー対象ドライブ番
号、160b…コピーポインタ、160c…セグメント
番号、231−1〜231−2…ホストアダプタ、23
2−1〜232−2…キャッシュメモリ、233−1〜
233−4…ディスクアダプタ、234−1〜234−
2…共用メモリ、235…サービスプロセッサ、236
…制御部内通信バス、237−1〜237−2…データ
転送パス、240…記憶装置部、242−1〜242−
32…ディスクドライブ、242−33〜242−64
…ディスクドライブ、250…保守端末、260−1〜
260−8…チャネルパス、270−1〜270−4…
ドライブパス、270−5〜270−8…ドライブパ
ス、270−9〜270−12…ドライブパス、270
−13〜270−16…ドライブパス、300(300
a〜300g)…ディスクドライブ、300(300
h)…予備ディスクドライブ、310…ディスクI/
F、320…マイクロプロセッサ、321…ディスクI
/F制御手段、322…ドライブバッファ参照手段、3
23…ドライブバッファ管理手段、324…ディスク制
御器制御手段、330…ドライブバッファ、340…デ
ィスク制御器、350…記録メディア、360〜376
…セグメント、400…SCSIモニタ。10 central processing unit, 20 disk control unit, 30
Microprocessor, 31: cache memory reference means, 32: cache directory reference means, 33: drive status reference means, 34: parity generator control means,
35 ... difference data generator control means, 36 ... drive controller control means, 38 ... sequential access mode determination means, 39 ... mapping operation means, 40 ... host I / F,
50: data division / reproducer, 60: channel path, 70
... drive path, 80 ... drive controller, 110
... cache memory, 111 ... write surface, 112 ... read surface, 113-118 ... slot, 120 ... cache directory, 130 ... redundant data generator, 140 ... shared memory, 150 ... prefetch table, 150a ... logical device number, 150b ... Data set range, 150c ...
Previous host access position, 150d: Host access count, 150e: Previous access time, 150f: Average access interval, 150g: Prefetch order, 150h: Prefetch execution flag, 150i: Target segment number, 160
... copy table, 160a ... copy target drive number, 160b ... copy pointer, 160c ... segment number, 231-1 to 231-2 ... host adapter, 23
2-1 to 232-2 ... cache memory, 233-1 to
233-4: Disk adapter, 234-1 to 234-
2. Shared memory 235 Service processor 236
... Communication bus in the control unit, 237-1 to 237-2 ... data transfer path, 240 ... storage unit, 242-1 to 242-
32 ... Disk drive, 242-33 to 242-64
... disk drive, 250 ... maintenance terminal, 260-1
260-8: Channel path, 270-1 to 270-4 ...
Drive path, 270-5 to 270-8 ... drive path, 270-9 to 270-12 ... drive path, 270
-13 to 270-16 ... drive path, 300 (300
a to 300 g): Disk drive, 300 (300
h) spare disk drive, 310 disk I /
F, 320: microprocessor, 321: disk I
/ F control means, 322... Drive buffer reference means, 3
23: drive buffer management means, 324: disk controller control means, 330: drive buffer, 340: disk controller, 350: recording medium, 360 to 376
... Segment, 400 ... SCSI monitor.
Claims (3)
えたドライブと、前記ドライブと上位装置との間に介在
し、前記ドライブと前記上位装置との間における前記デ
ータの授受を制御する記憶制御装置とを含むデータ記憶
装置であって、 前記ドライブに設けられ、前記回転型記憶媒体から読出
された前記データが一時的に格納されるバッファと、 前記バッファを複数のセグメントに分割して管理し、前
記上位装置から発生する複数の互いに異なるリード要求
毎に、当該リード要求に応じた前記回転型記憶媒体から
前記バッファへの前記データの先読みを異なる前記セグ
メントを用いて実行するバッファ管理制御論理とを備え
たことを特徴とするデータ記憶装置。1. A drive provided with a rotary storage medium for storing data, and a storage interposed between the drive and a host device for controlling transmission and reception of the data between the drive and the host device. A data storage device including a control device, a buffer provided in the drive and temporarily storing the data read from the rotary storage medium, and managing the buffer by dividing the buffer into a plurality of segments. And a buffer management control logic for executing, for each of a plurality of different read requests generated from the higher-level device, pre-reading of the data from the rotary storage medium to the buffer according to the read request by using the different segments. A data storage device comprising:
て、 前記記憶制御装置は、前記上位装置から受領したライト
データを複数のデータ単位に分割するとともに前記デー
タ単位から少なくとも一つの冗長データを生成し、複数
のデータ単位および前記冗長データを異なる前記ドライ
ブに分散して格納し、前記データの読み出しに際して任
意の前記ドライブに障害が発生した場合には、残りの前
記ドライブから読出された前記データ単位および前記冗
長データから障害となったデータ単位を復元するコレク
ションリードを行う冗長記憶制御論理を備え、 前記バッファ管理制御論理は、 前記コレクションリードの実行時には、前記冗長データ
の前記セグメントへの先読みを実行し、それ以外の場合
には、前記先読み対象範囲が前記冗長データの場合に
は、前記冗長データの次のアドレスから前記データの先
読みを実行する第1の操作、 データ格納用の第1のドライブおよびそれ以外の予備の
第2のドライブを備え、前記第1のドライブが障害によ
り動作不能となった時に、障害の前記第1のドライブ上
のデータを残りの前記第1のドライブから回復し、回復
したデータを予備の前記第2のドライブに格納するコレ
クションコピーと、一つの前記第1のドライブ上の全て
のデータを予備の前記第2のドライブにコピーするドラ
イブコピー、の少なくとも一方を実行する場合、前記セ
グメントを前記コレクションコピーおよび前記ドライブ
コピーに優先的に割り当てる第2の操作、 の少なくとも一方の操作を実行することを特徴とするデ
ータ記憶装置。2. The data storage device according to claim 1, wherein the storage control device divides the write data received from the host device into a plurality of data units and generates at least one redundant data from the data units. A plurality of data units and the redundant data are distributed and stored in different drives, and when a failure occurs in any of the drives during reading of the data, the data units read from the remaining drives and The buffer management control logic performs a correction read for restoring a failed data unit from the redundant data, and the buffer management control logic executes a prefetch to the segment of the redundant data when the correction read is performed. Otherwise, the prefetch target range is the redundant data A first operation for pre-reading the data from the next address of the redundant data, a first drive for storing data, and a spare second drive other than the first drive. Recovering data on the failed first drive from the remaining first drive when the device becomes inoperable due to a failure, and storing the recovered data on a spare second drive; Performing at least one of a drive copy in which all data on one of the first drives is copied to a spare second drive; and assigning the segment preferentially to the correction copy and the drive copy. 2. A data storage device, which performs at least one of the operations of 2.
において、 前記バッファ管理制御論理は、個々の前記セグメント毎
に、前記上位装置からの前記リード要求のアクセス順序
を管理し、最も過去にアクセスされたセグメントを他の
前記リード要求に対応した前記先読みに割り当てる第3
の操作、 複数の前記リード要求に対応した複数の先読みが並行的
に動作している時に、先読みしたデータに対する前記上
位装置のアクセス頻度により、前記先読みの優先順位を
決定し、優先順位の高い前記先読みから前記セグメント
を割り当てる第4の操作、 の少なくとも一方の操作を実行することを特徴とするデ
ータ記憶装置。3. The data storage device according to claim 1, wherein the buffer management control logic manages an access order of the read request from the higher-level device for each of the segments, and accesses the oldest one. And assigning the read segment to the prefetch corresponding to another read request.
When a plurality of prefetches corresponding to a plurality of the read requests are operating in parallel, the priority of the prefetch is determined by the access frequency of the higher-level device to the prefetched data, and the higher the priority, the higher the priority. A fourth operation of allocating the segment from prefetching, wherein at least one of the following operations is executed.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP35916697A JP3400328B2 (en) | 1997-12-26 | 1997-12-26 | Data storage method and data storage device |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP35916697A JP3400328B2 (en) | 1997-12-26 | 1997-12-26 | Data storage method and data storage device |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH11191037A true JPH11191037A (en) | 1999-07-13 |
| JP3400328B2 JP3400328B2 (en) | 2003-04-28 |
Family
ID=18463088
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP35916697A Expired - Fee Related JP3400328B2 (en) | 1997-12-26 | 1997-12-26 | Data storage method and data storage device |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP3400328B2 (en) |
Cited By (12)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6898664B2 (en) * | 2002-08-28 | 2005-05-24 | Hewlett-Packard Development Company, L.P. | Optimizing performance for a storage device within a computer system |
| US7418622B2 (en) | 2005-03-17 | 2008-08-26 | Hitachi, Ltd. | Storage control system and storage control method |
| JP2008293111A (en) * | 2007-05-22 | 2008-12-04 | Toshiba Corp | Data access processing method and storage control device |
| EP2026208A2 (en) | 2007-07-23 | 2009-02-18 | Hitachi Ltd. | Storage control system and storage control method |
| EP2048580A2 (en) | 2007-04-17 | 2009-04-15 | Hitachi, Ltd. | Storage controller and storage control method |
| US7549084B2 (en) | 2006-08-25 | 2009-06-16 | Hitachi, Ltd. | Storage control apparatus and failure recovery method for storage control apparatus |
| JP2009258911A (en) * | 2008-04-15 | 2009-11-05 | Toshiba Corp | Disk array device, method, and program |
| JP2010224954A (en) * | 2009-03-24 | 2010-10-07 | Toshiba Corp | Storage device and logical disk management method |
| US7861112B2 (en) | 2007-10-23 | 2010-12-28 | Hitachi, Ltd. | Storage apparatus and method for controlling the same |
| JP2013114369A (en) * | 2011-11-28 | 2013-06-10 | Mitsubishi Electric Corp | Information processing device |
| WO2016046970A1 (en) * | 2014-09-26 | 2016-03-31 | 株式会社日立製作所 | Storage device |
| JP2016192037A (en) * | 2015-03-31 | 2016-11-10 | 富士通株式会社 | Storage controller, storage control program and storage control method |
Family Cites Families (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5832198A (en) | 1996-03-07 | 1998-11-03 | Philips Electronics North America Corporation | Multiple disk drive array with plural parity groups |
-
1997
- 1997-12-26 JP JP35916697A patent/JP3400328B2/en not_active Expired - Fee Related
Cited By (17)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6898664B2 (en) * | 2002-08-28 | 2005-05-24 | Hewlett-Packard Development Company, L.P. | Optimizing performance for a storage device within a computer system |
| US7418622B2 (en) | 2005-03-17 | 2008-08-26 | Hitachi, Ltd. | Storage control system and storage control method |
| US7549084B2 (en) | 2006-08-25 | 2009-06-16 | Hitachi, Ltd. | Storage control apparatus and failure recovery method for storage control apparatus |
| US8312321B2 (en) | 2006-08-25 | 2012-11-13 | Hitachi, Ltd. | Storage control apparatus and failure recovery method for storage control apparatus |
| US7877632B2 (en) | 2006-08-25 | 2011-01-25 | Hitachi, Ltd. | Storage control apparatus and failure recovery method for storage control apparatus |
| EP2048580A2 (en) | 2007-04-17 | 2009-04-15 | Hitachi, Ltd. | Storage controller and storage control method |
| US8074108B2 (en) | 2007-04-17 | 2011-12-06 | Hitachi, Ltd. | Storage controller and storage control method |
| JP2008293111A (en) * | 2007-05-22 | 2008-12-04 | Toshiba Corp | Data access processing method and storage control device |
| EP2026208A2 (en) | 2007-07-23 | 2009-02-18 | Hitachi Ltd. | Storage control system and storage control method |
| US7895467B2 (en) | 2007-07-23 | 2011-02-22 | Hitachi, Ltd. | Storage control system and storage control method |
| US8327184B2 (en) | 2007-07-23 | 2012-12-04 | Hitachi, Ltd. | Storage control system and storage control method |
| US7861112B2 (en) | 2007-10-23 | 2010-12-28 | Hitachi, Ltd. | Storage apparatus and method for controlling the same |
| JP2009258911A (en) * | 2008-04-15 | 2009-11-05 | Toshiba Corp | Disk array device, method, and program |
| JP2010224954A (en) * | 2009-03-24 | 2010-10-07 | Toshiba Corp | Storage device and logical disk management method |
| JP2013114369A (en) * | 2011-11-28 | 2013-06-10 | Mitsubishi Electric Corp | Information processing device |
| WO2016046970A1 (en) * | 2014-09-26 | 2016-03-31 | 株式会社日立製作所 | Storage device |
| JP2016192037A (en) * | 2015-03-31 | 2016-11-10 | 富士通株式会社 | Storage controller, storage control program and storage control method |
Also Published As
| Publication number | Publication date |
|---|---|
| JP3400328B2 (en) | 2003-04-28 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5572660A (en) | System and method for selective write-back caching within a disk array subsystem | |
| US4875155A (en) | Peripheral subsystem having read/write cache with record access | |
| US5881311A (en) | Data storage subsystem with block based data management | |
| US6049890A (en) | Disk array system and its control method | |
| US4779189A (en) | Peripheral subsystem initialization method and apparatus | |
| US5802345A (en) | Computer system with a reduced number of command end interrupts from auxiliary memory unit and method of reducing the number of command end interrupts | |
| JP2501752B2 (en) | Storage device of computer system and method of storing data | |
| JP2769443B2 (en) | Storage subsystem and related apparatus / method | |
| US5720027A (en) | Redundant disc computer having targeted data broadcast | |
| US5446855A (en) | System and method for disk array data transfer | |
| US6098191A (en) | Storage unit and storage unit subsystem | |
| JPH07104817B2 (en) | Data record transfer method | |
| EP0701208B1 (en) | Disk array subsystem and data generation method therefor | |
| JP3400328B2 (en) | Data storage method and data storage device | |
| US6055646A (en) | Disk array apparatus for multimedia server | |
| JP3260999B2 (en) | Control method of disk controller | |
| US6304941B1 (en) | Method and apparatus for reducing processor operations when adding a new drive to a raid-6 drive group | |
| JPH07200187A (en) | Disk array device | |
| JP2017055153A (en) | Receiver, reception control method and reception control program | |
| KR100423812B1 (en) | RAID Controller and Parity Operator Method having Disk Cash Memory Controller and Parity Operator Device | |
| JP2002055784A (en) | Method for storing data in a fault-tolerant storage device, and storage device and controller therefor | |
| JPH10312246A (en) | Storage subsystem | |
| JPH1031563A (en) | Storage device | |
| JP4057718B2 (en) | Disk array control device and cache control method applied to the same | |
| JPH06242888A (en) | Disk array device, computer system and data storage device |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080221 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090221 Year of fee payment: 6 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090221 Year of fee payment: 6 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100221 Year of fee payment: 7 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100221 Year of fee payment: 7 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110221 Year of fee payment: 8 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120221 Year of fee payment: 9 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120221 Year of fee payment: 9 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130221 Year of fee payment: 10 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130221 Year of fee payment: 10 |
|
| LAPS | Cancellation because of no payment of annual fees |