JP2000347815A - Disk array system - Google Patents

Disk array system

Info

Publication number
JP2000347815A
JP2000347815A JP11159828A JP15982899A JP2000347815A JP 2000347815 A JP2000347815 A JP 2000347815A JP 11159828 A JP11159828 A JP 11159828A JP 15982899 A JP15982899 A JP 15982899A JP 2000347815 A JP2000347815 A JP 2000347815A
Authority
JP
Japan
Prior art keywords
data
disk
host
transfer
cache
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
JP11159828A
Other languages
Japanese (ja)
Inventor
Ikuya Yagisawa
育哉 八木沢
Naoto Matsunami
直人 松並
Masayuki Yamamoto
山本  政行
Jun Matsumoto
純 松本
Yasuyuki Ajimatsu
康行 味松
Masahiko Sato
雅彦 佐藤
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 JP11159828A priority Critical patent/JP2000347815A/en
Publication of JP2000347815A publication Critical patent/JP2000347815A/en
Pending legal-status Critical Current

Links

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide the disk array system which adds a guarantee code based upon the property of data to data and is improved in transfer efficiency. SOLUTION: A host input/output means 208 sends and receives data between a host 100 and a cache 240 according to a transfer list containing an LA(logical address) generated by an MPU 250. An LA holding means 320 in a host information holding means 240 acquires and holds the LA when the data are transmitted and received between the host input/output means 208 and cache 240. An LA adding means 300 adds the LA stored in the LA holding means 320 to the data to be written to the cache 240.

Description

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

【0001】[0001]

【発明の属する技術分野】本発明は、アレイ状に配置し
た複数のディスク装置を有するディスクアレイシステム
に係り、特に、コンピュータシステムの記憶システムと
して用いるのに好適なディスクアレイシステムに関す
る。
The present invention relates to a disk array system having a plurality of disk devices arranged in an array, and more particularly to a disk array system suitable for use as a storage system of a computer system.

【0002】[0002]

【従来の技術】ディスクアレイシステムは、RAID(R
edundant Arrays of Inexpensive Disks)とも呼ばれ、
複数のディスク装置をアレイ状に配置した構成をとり、
ホストからのリード要求(データの読み出し要求)およ
びライト要求(データの書き込み要求)をディスクの並
列動作によって高速に処理するとともに、データに冗長
データを付加することによって信頼性を向上させた記憶
装置である。ディスクアレイシステムは、例えば、"A C
ase for Redundant Arrays of Inexpensive Disks (RAI
D)", David A.Patterson, Garth Gibson, and Randy H.
Katz, Computer Science Division Department of Elec
trical Engineering and Computer Sciences, Universi
ty of California Berkeleyに記載されているように、
冗長データの種類と構成により5つのレベルに分類され
ている。
2. Description of the Related Art Disk array systems use RAID (R)
edundant Arrays of Inexpensive Disks)
Take a configuration in which multiple disk devices are arranged in an array,
A storage device in which read requests (data read requests) and write requests (data write requests) from a host are processed at high speed by parallel operation of disks, and reliability is improved by adding redundant data to data. is there. Disk array systems are, for example, "AC
ase for Redundant Arrays of Inexpensive Disks (RAI
D) ", David A. Patterson, Garth Gibson, and Randy H.
Katz, Computer Science Division Department of Elec
trical Engineering and Computer Sciences, Universi
As noted in the ty of California Berkeley,
The redundant data is classified into five levels according to the type and configuration.

【0003】ホストからのライト要求時には、ディスク
アレイ内部では、ホストから受け取ったデータを特殊な
アドレス変換によって分割し、一時的にキャッシュに格
納後、順次、ディスク装置へと並列に書込む。また、ホ
ストからのリード要求時には、分割したデータをディス
ク装置から並列に読み出してキャッシュへと格納し、さ
らにキャッシュから読み出した分割データを元のデータ
として束ね、ホストへと転送する。
At the time of a write request from the host, the data received from the host is divided by a special address conversion in the disk array, temporarily stored in a cache, and then sequentially written in parallel to the disk device. At the time of a read request from the host, the divided data is read in parallel from the disk device and stored in the cache, and the divided data read from the cache is bundled as original data and transferred to the host.

【0004】ディスクアレイにおいては、ディスク装置
の障害時にもデータを復元できるように冗長データを作
成し、ディスク装置に保存しているが、さらに、ディス
クアレイ全体の信頼性を高める目的で、各論理データブ
ロックごとに保証コードを付加することが知られてい
る。保証コードを付加する方式としては、例えば、米国
特許第5,706,298号明細書に記載されているよ
うに、各論理データブロックの縦方向に排他的論理和演
算を実施するLRC(Longitudinal Redundancy Check )
と称する保証コードを付加し、ディスクアレイ内部での
データ転送中のデータビットエラーを検査するものが知
られている。
In a disk array, redundant data is created and stored in a disk device so that data can be restored even in the event of a disk device failure. In addition, for the purpose of increasing the reliability of the entire disk array, each logical data is created. It is known to add a guarantee code to each data block. As a method of adding a guarantee code, for example, as described in US Pat. No. 5,706,298, an LRC (Longitudinal Redundancy) for performing an exclusive OR operation in the vertical direction of each logical data block is used. Check)
There is known a device which adds a guarantee code called "data" and checks for a data bit error during data transfer inside the disk array.

【0005】[0005]

【発明が解決しようとする課題】しかしながら、ディス
クアレイにおいてライト/リード時には、ディスクへの
並列転送を実施するため、特殊なアドレス変換を施し、
データを分割した状態で転送する。従って、転送中のデ
ータビットエラーは、各論理データブロックの縦方向に
排他的論理和演算を実施するLRCにより検出できる
が、分割したデータの異常アドレスに対する読み出し/
書込みを検出することはできないものである。
However, at the time of writing / reading in the disk array, a special address conversion is performed in order to perform parallel transfer to the disk.
Transfer data in a divided state. Therefore, a data bit error during transfer can be detected by the LRC that performs an exclusive OR operation in the vertical direction of each logical data block.
Writing cannot be detected.

【0006】そこで、分割したデータの異常アドレスに
対する読み出し/書込みを検出する方式としては、転送
元アドレスのような転送されるデータを特定できるデー
タの属性に基づくデータ保証コードをデータに付加する
方式も考えられる。
Therefore, as a method of detecting read / write of the divided data with respect to an abnormal address, a method of adding a data guarantee code such as a transfer source address based on an attribute of data that can specify data to be transferred, to the data is also available. Conceivable.

【0007】一方、近年においては、転送機能をキャッ
シュコントローラに持たせるのでなく、転送機能付きホ
スト入出力手段を用いて、転送効率を高めることがなさ
れている。
On the other hand, in recent years, transfer efficiency has been improved by using host input / output means with a transfer function instead of providing the transfer function to the cache controller.

【0008】ここで、転送機能付きホスト入出力手段を
用いて、データの属性に基づく保証コードをデータに付
加しようとすると、データ転送の度毎に、プロセッサに
割り込みをかける必要があるため、データの転送作業に
プロセッサが関与し、その結果、転送効率が低下するこ
とが判明した。
Here, if an attempt is made to add a guarantee code based on the attribute of data to data using the host input / output means with a transfer function, it is necessary to interrupt the processor every time data is transferred. It was found that the processor was involved in the transfer operation, and as a result, the transfer efficiency was reduced.

【0009】本発明の目的は、データの属性に基づく保
証コードをデータに付加することができるとともに、転
送効率の向上したディスクアレイシステムを提供するこ
とにある。
An object of the present invention is to provide a disk array system capable of adding a guarantee code based on data attributes to data and improving transfer efficiency.

【0010】[0010]

【課題を解決するための手段】上記目的を達成するため
に、本発明は、アレイ状に配置した複数のディスク装置
を有するディスクアレイにホストからのデータを書き込
み、また、上記ディスクアレイに書き込まれたデータを
上記ホストに読み出すディスクアレイシステムにおい
て、上記ディスクアレイは、上記ホストとの入出力を行
うホスト入出力手段と、データを一時的に保持するキャ
ッシュと、データの属性に基づく保証コードを特定する
値を保持する保証コード保持手段と、上記ホスト入出力
手段の転送リストを作成するMPUとを備え、上記ホス
トからのデータの書込み要求時には、上記MPUは、上
記ホスト入出力手段が参照する転送リストを作成し、こ
の転送リスト中にデータの属性に基づく保証コードを特
定する値を設定し、上記ホスト入出力手段は、データの
属性に基づく保証コードを特定する値を含む上記転送リ
ストに従い、データを上記キャッシュに送信し、上記保
証コード保持手段は、データが上記キャッシュに送信さ
れる際にデータの属性に基づく保証コードを特定する値
を獲得し、データの属性に基づく保証コードを特定する
値を保持し、上記保証コード付加手段は、上記保証コー
ド保持手段に格納したデータの属性に基づく保証コード
を特定する値を上記キャッシュに書き込まれるデータに
付加するようにしたものである。かかる構成により、転
送リスト中のデータの属性に基づく保証コードを特定す
る値を参照して、書き込まれるデータにデータの属性に
基づく保証コードを特定する値を付加するようにしてい
るので、データの属性に基づく保証コードを特定する値
をデータに付加することができるとともに、かかる保証
コードを特定する値の付加をMPUを用いることなく行
えるため、転送効率が向上し得るものとなる。
SUMMARY OF THE INVENTION In order to achieve the above object, the present invention writes data from a host to a disk array having a plurality of disk devices arranged in an array, and writes data to the disk array. In the disk array system that reads out the data to the host, the disk array specifies host input / output means for performing input / output with the host, a cache for temporarily holding data, and a guarantee code based on the attribute of the data. And a MPU for creating a transfer list of the host input / output means. When a data write request is issued from the host, the MPU transmits the data to the host input / output means. Create a list, set a value in this transfer list that identifies a guarantee code based on the attributes of the data, The host input / output unit transmits the data to the cache according to the transfer list including a value specifying the guarantee code based on the attribute of the data, and the guarantee code holding unit transmits the data when the data is transmitted to the cache. A value for specifying a guarantee code based on the attribute of data is obtained, and a value for specifying a guarantee code based on the attribute of data is held. The assurance code adding means is based on the attribute of the data stored in the guarantee code holding means. The value specifying the guarantee code is added to the data written in the cache. With this configuration, the value specifying the guarantee code based on the attribute of the data is added to the data to be written by referring to the value specifying the guarantee code based on the attribute of the data in the transfer list. A value for specifying the guarantee code based on the attribute can be added to the data, and the value for specifying the guarantee code can be added without using the MPU, so that the transfer efficiency can be improved.

【0011】[0011]

【発明の実施の形態】以下、図1〜図13を用いて、本
発明の第1の実施形態によるディスクアレイシステムの
構成及び動作について説明する。最初に、図1を用い
て、本実施形態によるディスクアレイシステムの構成に
ついて説明する。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS The configuration and operation of a disk array system according to a first embodiment of the present invention will be described below with reference to FIGS. First, the configuration of the disk array system according to the present embodiment will be described with reference to FIG.

【0012】ホスト100,110,120は、ホスト
ケーブルで接続されたバススイッチ130を介して、ホ
ストケーブルで接続されたディスクアレイ200の中の
ホスト入出力手段208,209,210に接続されて
いる。なお、ホスト100,110,120は、少なく
とも1つ以上であればよいものである。
The hosts 100, 110, and 120 are connected to host input / output means 208, 209, and 210 in the disk array 200 connected by host cables via a bus switch 130 connected by host cables. . The number of the hosts 100, 110, and 120 may be at least one.

【0013】ディスクアレイ200は、ホスト入出力手
段208,209,210と、ディスク入出力手段21
8,219,220と、ディスク装置群228,22
9,230と、キャッシュ240と、ディスクアレイ全
体の制御を行なうMPU250と、メモリ260と、キ
ャッシュコントローラ270とから構成されている。
The disk array 200 includes host input / output means 208, 209, 210 and disk input / output means 21.
8, 219, 220 and disk device groups 228, 22
9, 230, a cache 240, an MPU 250 for controlling the entire disk array, a memory 260, and a cache controller 270.

【0014】ホスト入出力手段208,209,210
は、ホスト100,110,120とキャッシュコント
ローラ270との間の転送を実行するものであり、ホス
ト側内部バス212によりキャッシュコントローラ27
0に接続されている。ホスト入出力手段208は、ホス
ト側内部バス212上のデータ転送を実行するDMA2
11を備えている。DMA211は、メモリ260への
アクセスも実行することができる。ホスト入出力手段2
09、210も、ホスト入出力手段208と同様の機能
を有している。なお、ホスト入出力手段208,20
9,210は、少なくとも1つ以上であればよいもので
ある。
Host input / output means 208, 209, 210
Executes the transfer between the hosts 100, 110, 120 and the cache controller 270, and is executed by the host-side internal bus 212.
Connected to 0. The host input / output means 208 is a DMA2 for executing data transfer on the host-side internal bus 212.
11 is provided. DMA 211 can also access memory 260. Host input / output means 2
09 and 210 also have the same function as the host input / output unit 208. The host input / output means 208, 20
9, 210 need only be at least one or more.

【0015】ディスク装置群228,229,230
は、各々が少なくとも1台以上のディスク装置から構成
される。例えば、ディスク装置群228は、ディスク装
置234,235,236から構成されるものとする。
なお、ディスク装置群228,229,230は、少な
くとも1つ以上であればよいものである。
Disk unit groups 228, 229, 230
Are each composed of at least one or more disk devices. For example, it is assumed that the disk device group 228 includes disk devices 234, 235, and 236.
Note that the disk device groups 228, 229, and 230 only need to be at least one or more.

【0016】ディスク入出力手段218は、ディスク装
置群228とキャッシュコントローラ270との間のデ
ータ転送を実行するものであり、ディスクケーブル23
1によりディスク装置群228と接続し、また、ディス
ク側内部バス222によりキャッシュコントローラ27
0と接続されている。ディスク入出力手段218は、デ
ィスク側内部バス222上のデータ転送を実行するDM
A221を有している。DMA221は、メモリ260
へのアクセスも実行することができる。ディスク入出力
手段219,220も、ディスク入出力手段218と同
様に、各々ディスクケーブル232,233により、デ
ィスク装置群229,230と接続され、ディスク側内
部バス222によりキャッシュコントローラ270と接
続されている。ディスク入出力手段219、220もデ
ィスク入出力手段218と同様の機能を有している。な
お、ディスク入出力手段218,219,220は、少
なくとも1つ以上であればよいものである。さらに、キ
ャッシュ240は、キャッシュバス241により、キャ
ッシュコントローラ270と接続されている。
The disk input / output means 218 executes data transfer between the disk device group 228 and the cache controller 270.
1 to the disk device group 228, and the cache controller 27 by the disk-side internal bus 222.
0 is connected. The disk input / output means 218 is a DM for executing data transfer on the disk-side internal bus 222.
A221. The DMA 221 has a memory 260
Access to can also be performed. Similarly to the disk input / output unit 218, the disk input / output units 219 and 220 are connected to the disk device groups 229 and 230 by disk cables 232 and 233, respectively, and are connected to the cache controller 270 by the disk-side internal bus 222. . The disk input / output units 219 and 220 also have the same function as the disk input / output unit 218. The number of disk input / output units 218, 219, 220 is at least one. Further, the cache 240 is connected to the cache controller 270 via the cache bus 241.

【0017】次に、本実施形態に用いるデータ保証コー
ドについて、ホスト100、ホスト入出力手段208、
ディスク入出力手段218、ディスク装置234にかか
わるデータ転送を例にして説明する。ここで、ホスト1
00からディスクアレイ200へのデータ書き込みをデ
ィスクアレイライトと称し、ディスクアレイ200から
ホスト100へのデータ読み出しをディスクアレイリー
ドと称し、ディスクアレイライト/リード時のデータの
流れについて説明する。以下の説明は、キャッシュ24
0に要求データがない場合,すなわち、キャッシュミス
の場合であるが、データ保証コードの内容は、キャッシ
ュ240に要求データがある場合,すなわち、キャッシ
ュヒットの場合も同様である。
Next, regarding the data assurance code used in the present embodiment, the host 100, the host input / output means 208,
A description will be given by taking data transfer relating to the disk input / output means 218 and the disk device 234 as an example. Here, host 1
Writing data from 00 to the disk array 200 is referred to as a disk array write, and reading data from the disk array 200 to the host 100 is referred to as a disk array read. A data flow during disk array write / read will be described. The following description refers to the cache 24
Although there is no request data at 0, that is, a cache miss, the content of the data guarantee code is the same when there is request data in the cache 240, that is, a cache hit.

【0018】ディスクアレイライト時には、ホスト10
0からのライトコマンドを受け取ったホスト入出力手段
208は、MPU250にコマンド受信の通知を行な
う。MPU250は、ライトコマンドの内容を解析し、
ディスクアレイ特有のアドレス変換を行ない、ホスト1
00から送られてくるデータを、キャッシュ240に分
割して転送するための転送リストを作成する。ホスト入
出力手段208は、この転送リストにしたがい、キャッ
シュ240に分割したデータを転送する。分割したデー
タは、物理的に連続したキャッシュ240の領域にあっ
てもよいものである。次に、MPU250は、キャッシ
ュ240にある分割したデータをディスク装置群22
8,229,230に書き込むための転送リストを作成
する。転送リストは、転送するすべてのディスク装置に
対応して作成する。MPU250は、例えば、ディスク
装置234に書き込むための転送リストを作成し、ディ
スク入出力手段218は、この転送リストにしたがい、
分割したデータをキャッシュ240からディスク装置2
34に転送する。
When writing to the disk array, the host 10
The host input / output unit 208 that has received the write command from 0 notifies the MPU 250 of the command reception. The MPU 250 analyzes the contents of the write command,
Performs address conversion specific to the disk array, and
A transfer list is created for transferring the data sent from 00 to the cache 240 by dividing it. The host input / output unit 208 transfers the divided data to the cache 240 according to the transfer list. The divided data may be in a physically continuous area of the cache 240. Next, the MPU 250 transfers the divided data in the cache 240 to the disk device group 22.
8, 229, and 230 are created as transfer lists for writing. The transfer list is created corresponding to all the disk devices to be transferred. The MPU 250 creates, for example, a transfer list for writing to the disk device 234, and the disk input / output means 218 follows this transfer list,
The divided data is transferred from the cache 240 to the disk device 2
Transfer to.

【0019】ディスクアレイリード時には、ホスト10
0からのリードコマンドを受け取ったホスト入出力手段
208が、MPU250にコマンド受信の通知を行な
う。MPU250は、リードコマンドの内容を解析し、
ディスクアレイ特有のアドレス変換を行ない、ディスク
装置群228,229,230に分散して格納されてい
る要求のあったデータの格納場所を特定し、読み出すす
べてのディスク装置に対応した転送リストを作成する。
MPU250は、例えば、ディスク装置234からキャ
ッシュ240に転送するための転送リストを作成し、デ
ィスク入出力手段218は、この転送リストにしたが
い、分割されているデータをディスク装置234からキ
ャッシュ240に転送する。次に、MPU250は、キ
ャッシュ240にある分割したデータをもとのデータに
束ねた状態でホスト100に転送するための転送リスト
を作成する。ホスト入出力手段208は、この転送リス
トにしたがい、キャッシュ240からホスト100にデ
ータを転送する。
When reading the disk array, the host 10
The host input / output unit 208 that has received the read command from 0 notifies the MPU 250 of the command reception. The MPU 250 analyzes the contents of the read command,
The address conversion unique to the disk array is performed, the storage location of the requested data distributed and stored in the disk device groups 228, 229, and 230 is specified, and a transfer list corresponding to all the disk devices to be read is created. .
The MPU 250 creates, for example, a transfer list for transfer from the disk device 234 to the cache 240, and the disk input / output means 218 transfers the divided data from the disk device 234 to the cache 240 according to the transfer list. . Next, the MPU 250 creates a transfer list for transferring the divided data in the cache 240 to the host 100 in a state of being bundled with the original data. The host input / output unit 208 transfers data from the cache 240 to the host 100 according to the transfer list.

【0020】このように、ディスクアレイライト/リー
ド時には、分割した状態でデータ転送を行なう制御とな
るので、システムとしての信頼性を強化する目的で、キ
ャッシュ240およびディスク装置群228,229,
230に対する書き込み/読み出しが正常なアドレスに
行なわれたことを監視するデータ保証方式を用いてい
る。通常、ホスト100がディスクアレイ200にデー
タを転送する場合、論理データブロックアドレスを指定
して書き込む。そこで、この論理データブロックアドレ
スの値を、データ保証コードとして、そのアドレスに相
当する論理データブロックごとに付加するようにしてい
る。本実施形態においては、この論理データブロックア
ドレスの値をLA(Logical Address)と称するものと
する。なお、LAに限らず転送元アドレスのような転送
されるデータを特定できるデータの属性に基づくデータ
保証コードに対して、本実施形態は適用できるものであ
る。
As described above, at the time of writing / reading the disk array, the data transfer is performed in a divided state. Therefore, in order to enhance the reliability of the system, the cache 240 and the disk device groups 228, 229,
The data assurance method is used to monitor that writing / reading to / from the 230 has been performed at a normal address. Normally, when the host 100 transfers data to the disk array 200, it writes by designating a logical data block address. Therefore, the value of the logical data block address is added as a data guarantee code for each logical data block corresponding to the address. In the present embodiment, the value of the logical data block address is referred to as LA (Logical Address). The present embodiment can be applied not only to the LA but also to a data guarantee code based on an attribute of data that can specify data to be transferred, such as a transfer source address.

【0021】即ち、本実施形態においては、ディスクア
レイライト時にキャッシュ240にデータを書き込む際
に、論理データブロックに対応するLAをこの論理デー
タブロックに付加しておき、キャッシュ240から読み
出してディスク装置234に書き込む際、論理データブ
ロックに付加されているLA値と、LAの期待値を比較
し検査する。また、ディスクアレイリード時には、ディ
スク装置234から読み出してキャッシュ240に書き
込む際と、キャッシュ240から読み出してホスト10
0に転送する際に、論理データブロックに付加されてい
るLA値と、LAの期待値を比較し検査する。論理デー
タブロックに付加されているLA値は、ホスト100に
転送する際に削除し、元のデータの状態に戻すようにし
ている。
That is, in this embodiment, when data is written to the cache 240 at the time of writing to the disk array, the LA corresponding to the logical data block is added to the logical data block, and the LA is read from the cache 240 and read out from the disk device 234. When writing to the logical data block, the LA value added to the logical data block is compared with the expected value of the LA to check. Also, at the time of reading the disk array, when reading from the disk device 234 and writing it to the cache 240, when reading from the cache 240,
When the data is transferred to "0", the LA value added to the logical data block is compared with the expected value of the LA and inspected. The LA value added to the logical data block is deleted when the data is transferred to the host 100, and is returned to the original data state.

【0022】このように論理ブロックデータ毎に、読み
書きすべき論理データブロックであることを識別するデ
ータ保証コードを付加し、読み書きしたアドレスが正し
いことを確認することでシステムとしての信頼性を上げ
る。
As described above, a data assurance code for identifying a logical data block to be read / written is added to each logical block data, and the reliability of the system is improved by confirming that the read / written address is correct.

【0023】ここで、図2を用いて、LAの具体例につ
いて説明する。図2は、本発明の第1の実施形態による
ディスクアレイシステムに用いるLAの具体例の説明図
である。
Here, a specific example of the LA will be described with reference to FIG. FIG. 2 is an explanatory diagram of a specific example of the LA used in the disk array system according to the first embodiment of the present invention.

【0024】論理データブロック4000,4001,
4002は、ホスト100がディスクアレイ200にデ
ータを転送するときのホストデータの一部であり、論理
データブロック4000,論理データブロック400
1,論理データブロック4002の順に連続したデータ
である。LA部5000,5001,5002は、論理
データブロックアドレス、もしくは、その一部分を表す
値であり、それぞれ、論理データブロック4000,4
001,4002に対応する。データ保証コードとして
LAを付加する場合は、各論理データブロック400
0,4001,4002の最後尾に付加するものとし、
論理データブロック4000,LA部5000,論理デ
ータブロック4001,LA部5001,論理データブ
ロック4002,LA部5002の順に連続したデータ
となる。拡張データ3000,3001,3002は、
それぞれ論理データブロック4000,4001,40
02と、LA部5000,5001,5002を併せた
ものである。
Logical data blocks 4000, 4001,
Reference numeral 4002 denotes a part of host data when the host 100 transfers data to the disk array 200, and includes a logical data block 4000 and a logical data block 400.
1, logical data block 4002. LA sections 5000, 5001, and 5002 are logical data block addresses or values representing a part of the logical data block addresses.
001 and 4002. When LA is added as a data guarantee code, each logical data block 400
0, 4001, and 4002,
The logical data block 4000, the LA section 5000, the logical data block 4001, the LA section 5001, the logical data block 4002, and the LA section 5002 are successive data. The extended data 3000, 3001, 3002 is
Logical data blocks 4000, 4001, 40 respectively
02 and the LA units 5000, 5001, and 5002.

【0025】さらに、図1に示すように、キャッシュコ
ントローラ270は、ホスト側内部バスバッファ271
と、ディスク側内部バスバッファ272と、キャッシュ
制御手段273と、LA付加手段300と、LA削除手
段310と、ホスト側LA検査手段330と、ディスク
側LA検査手段350と、ホスト情報保持手段360
と、ディスク情報保持手段370とを備えている。
Further, as shown in FIG. 1, the cache controller 270
, Disk-side internal bus buffer 272, cache control unit 273, LA adding unit 300, LA deleting unit 310, host-side LA checking unit 330, disk-side LA checking unit 350, host information holding unit 360
And disk information holding means 370.

【0026】ホスト側内部バスバッファ271は、ホス
ト入出力手段208,209,210とキャッシュ24
0との間のデータ転送をバッファリングするものであ
る。ディスク側内部バスバッファ272は、ディスク入
出力手段218,219,220とキャッシュ240と
の間のデータ転送をバッファリングするものである。キ
ャッシュ制御手段273は、キャッシュ240とキャッ
シュコントローラ270の間の転送を制御する。
The host-side internal bus buffer 271 is provided between the host input / output means 208, 209, 210 and the cache 24.
Buffering data transfer between 0. The disk-side internal bus buffer 272 buffers data transfer between the disk input / output means 218, 219, 220 and the cache 240. The cache control unit 273 controls the transfer between the cache 240 and the cache controller 270.

【0027】LA付加手段300は、ホスト入出力手段
208,209,210からキャッシュ240に転送さ
れるデータにLAを付加するものであり、その動作の詳
細については、図5を用いて後述する。LA削除手段3
10は、キャッシュ240からホスト入出力手段20
8,209,210に転送されるデータに付加している
LAを削除するものであり、その動作の詳細について
は、図7を用いて後述する。ホスト側LA検査手段33
0は、キャッシュ240からホスト入出力手段208,
209,210に転送されるデータに付加しているLA
と、期待するLAを比較し、同一であることを検査する
ものであり、その動作の詳細については、図6を用いて
後述する。ディスク側LA検査手段350は、ディスク
入出力手段218,219,220とキャッシュ240
との間で転送されるデータに付加しているLAと、期待
するLAを比較し、同一であることを検査するものであ
り、その動作の詳細については、図8を用いて後述す
る。
The LA adding means 300 adds LA to the data transferred from the host input / output means 208, 209, 210 to the cache 240, and the operation thereof will be described later in detail with reference to FIG. LA deletion means 3
10 indicates that the host input / output means 20
This deletes the LA added to the data transferred to 8, 209 and 210, and details of the operation will be described later with reference to FIG. Host side LA inspection means 33
0 indicates that the host 240 is in the cache 240
LA added to data transferred to 209 and 210
Is compared with the expected LA to check that they are the same, and details of the operation will be described later with reference to FIG. The disk-side LA inspection unit 350 includes the disk input / output units 218, 219, 220,
This compares the LA added to the data transferred between and the expected LA with each other to check that they are the same, and details of the operation will be described later with reference to FIG.

【0028】ホスト情報保持手段360は、ホスト入出
力手段208,209,210とキャッシュ240との
間でデータが転送される際に、後述するホスト側内部バ
ス転送リスト400を獲得/保持するものであり、その
詳細については、図3を用いて後述する。ディスク情報
保持手段370は、ディスク入出力手段218,21
9,220とキャッシュ240との間でデータが転送さ
れる際に、後述するディスク側内部バス転送リスト44
0を獲得/保持するものであり、その詳細については、
図4を用いて後述する。
The host information holding means 360 acquires / holds a host-side internal bus transfer list 400 described later when data is transferred between the host input / output means 208, 209, 210 and the cache 240. The details will be described later with reference to FIG. The disk information holding means 370 includes the disk input / output means 218, 21
9, 220 and the cache 240, when data is transferred between the disk-side internal bus transfer list 44 and the
0 is obtained / retained. For details,
This will be described later with reference to FIG.

【0029】ここで、図3を用いて、本実施形態に用い
るホスト情報保持手段360の構成について説明する。
ホスト情報保持手段360は、図9を用いて後述するホ
スト側内部バス転送リスト400をもとに、ホストの転
送情報パラメータを格納するものである。ホスト情報保
持手段360は、LA保持手段320と、LUN保持手
段321と、チャンネル番号保持手段322と、ホスト
番号保持手段323と、タグ番号保持手段324と、L
A有効情報保持手段325と、転送アドレス保持手段3
26から構成されている。ホスト情報保持手段360
は、上述の各手段320,…,326を組みにして、複
数個の組を有する。
Here, the configuration of the host information holding means 360 used in this embodiment will be described with reference to FIG.
The host information holding means 360 stores transfer information parameters of the host based on a host-side internal bus transfer list 400 described later with reference to FIG. The host information holding means 360 includes an LA holding means 320, a LUN holding means 321, a channel number holding means 322, a host number holding means 323, a tag number holding means 324,
A valid information holding unit 325 and transfer address holding unit 3
26. Host information holding means 360
Has a plurality of sets by combining the above-mentioned units 320,..., 326.

【0030】LA保持手段320は、LAの期待値を保
持する。LUN保持手段321は、ホストから見たディ
スクアレイの論理ユニット番号であるLUNを保持す
る。チャンネル番号保持手段322は、転送に使用する
ホスト入出力手段208,209,210を識別するチ
ャンネル番号を保持する。ホスト番号保持手段323
は、転送要求を出したホストを識別するホスト番号を保
持する。タグ番号保持手段324は、ホストの多重コマ
ンドのタグを識別するタグ番号を保持する。LA有効情
報保持手段325は、LAの付加,検査,削除を論理デ
ータブロックに対して行なうかどうかを識別するLA有
効情報を保持する。転送アドレス保持手段326は、転
送するキャッシュ240のアドレスを保持する。
LA holding means 320 holds the expected value of LA. The LUN holding unit 321 holds a LUN which is a logical unit number of the disk array as viewed from the host. The channel number holding means 322 holds a channel number for identifying the host input / output means 208, 209, 210 used for transfer. Host number holding means 323
Holds the host number identifying the host that issued the transfer request. The tag number holding unit 324 holds a tag number for identifying a tag of a multiplex command of the host. The LA validity information holding means 325 holds LA validity information for identifying whether addition, inspection, and deletion of LA are performed on the logical data block. The transfer address holding unit 326 holds the address of the cache 240 to be transferred.

【0031】次に、図4を用いて、本実施形態に用いる
ディスク情報保持手段370の構成について説明する。
ディスク情報保持手段370は、図9を用いて後述する
ディスク側内部バス転送リスト440をもとに、ディス
クの転送情報パラメータを格納するものである。ディス
ク情報保持手段370は、LA保持手段340と、LU
N保持手段341と、チャンネル番号保持手段342
と、ディスク番号保持手段343と、タグ番号保持手段
344と、LA有効情報保持手段345と、転送アドレ
ス保持手段346から構成されている。ディスク情報保
持手段370は、上述の各手段340,…,346を組
みにして、複数個の組を有する。
Next, the configuration of the disk information holding means 370 used in this embodiment will be described with reference to FIG.
The disk information holding unit 370 stores disk transfer information parameters based on a disk-side internal bus transfer list 440 described later with reference to FIG. The disk information holding unit 370 includes an LA holding unit 340 and an LU
N holding means 341 and channel number holding means 342
, Disk number holding means 343, tag number holding means 344, LA valid information holding means 345, and transfer address holding means 346. The disk information holding means 370 has a plurality of sets by combining the above means 340,..., 346.

【0032】LA保持手段340は、LAの期待値を保
持する。LUN保持手段341は、ホストから見たディ
スクアレイの論理ユニット番号であるLUNを保持す
る。チャンネル番号保持手段342は、転送に使用する
ディスク入出力手段218,219,220を識別する
チャンネル番号を保持する。ホスト番号保持手段343
は、転送要求を出したディスクを識別するディスク番号
を保持する。タグ番号保持手段344は、ディスクの多
重コマンドのタグを識別するタグ番号を保持する。LA
有効情報保持手段345は、LAの付加,検査,削除を
論理データブロックに対して行なうかどうかを識別する
LA有効情報を保持する。転送アドレス保持手段346
は、転送するキャッシュ240のアドレスを保持する。
The LA holding means 340 holds the expected value of LA. The LUN holding unit 341 holds a LUN which is a logical unit number of the disk array as viewed from the host. The channel number holding means 342 holds a channel number for identifying the disk input / output means 218, 219, 220 used for transfer. Host number holding means 343
Holds the disk number for identifying the disk that issued the transfer request. The tag number holding unit 344 holds a tag number for identifying a tag of a multiplex command of the disk. LA
The valid information holding unit 345 holds LA valid information for identifying whether addition, inspection, and deletion of LA are performed on the logical data block. Transfer address holding means 346
Holds the address of the cache 240 to be transferred.

【0033】次に、図5を用いて、本実施形態に用いる
LA付加手段300の構成及び動作について説明する。
LA付加手段300は、ディスクアレイライト時に、ホ
スト入出力手段208,209,210からキャッシュ
240に転送されるデータにLAを付加するものであ
る。LA付加手段300は、カウンタ301と、バッフ
ァ値設定手段302とを備えている。
Next, the configuration and operation of the LA adding means 300 used in the present embodiment will be described with reference to FIG.
The LA adding means 300 adds LA to data transferred from the host input / output means 208, 209, 210 to the cache 240 at the time of disk array write. The LA adding unit 300 includes a counter 301 and a buffer value setting unit 302.

【0034】ディスクアレイライト時に、ホスト入出力
手段208から転送されたデータは、ホスト側内部バス
バッファ271にバッファされる。カウンタ301は、
ホスト側内部バスバッファ271にバッファリングされ
たデータ数をカウントし、LAを付加するカウントに達
したときにバッファ値設定手段302に通知する。バッ
ファ値設定手段302は、ホスト情報保持手段360の
LA保持手段320からLAを取得するとともに、カウ
ンタ301からの通知を受けたタイミングでホスト側内
部バスバッファ271内のデータにLAを付加する。L
Aの付加されたデータは、キャッシュ制御手段273に
よって制御されて、キャッシュ240に転送される。な
お、論理データブロックが複数続く転送の場合は、LA
保持手段320に取りこんだLA値をカウンタ301に
より、インクリメントしていけば、連続してLAを付加
することが可能である。LA付加手段300を用いるこ
とで、データ転送開始直前にMPU250が介在するこ
となく、データにLAを付加することができる。
At the time of writing to the disk array, data transferred from the host input / output means 208 is buffered in the host-side internal bus buffer 271. The counter 301
The number of data buffered in the host-side internal bus buffer 271 is counted, and when reaching the count for adding LA, the count is notified to the buffer value setting means 302. The buffer value setting unit 302 acquires the LA from the LA holding unit 320 of the host information holding unit 360 and adds the LA to the data in the host-side internal bus buffer 271 at the timing of receiving the notification from the counter 301. L
The data to which A has been added is controlled by the cache control unit 273 and transferred to the cache 240. In the case of transfer in which a plurality of logical data blocks continue, LA
If the LA value taken into the holding means 320 is incremented by the counter 301, LA can be added continuously. By using the LA adding means 300, the LA can be added to the data without the MPU 250 intervening immediately before the start of the data transfer.

【0035】次に、図6を用いて、本実施形態に用いる
ホスト側LA検査手段330の構成及び動作について説
明する。ホスト側LA検査手段330は、ディスクアレ
イリード時に、キャッシュ240からホスト入出力手段
208,209,210に転送されるデータに付加して
いるLAと、期待するLAを比較し、同一であることを
検査するものである。ホスト側LA検査手段330は、
カウンタ331と、バッファ値取得手段332と、比較
器333とを備えている。
Next, the configuration and operation of the host-side LA inspection means 330 used in this embodiment will be described with reference to FIG. The host side LA checking means 330 compares the LA added to the data transferred from the cache 240 to the host input / output means 208, 209, 210 with the expected LA at the time of reading the disk array, and confirms that they are the same. It is to be inspected. The host-side LA inspection means 330
It includes a counter 331, a buffer value acquisition unit 332, and a comparator 333.

【0036】ディスクアレイリード時に、キャッシュ制
御手段273によってキャッシュ240から転送された
データは、ホスト側内部バスバッファ271にバッファ
される。カウンタ331は、ホスト側内部バスバッファ
271にバッファリングされたデータ数をカウントし、
LAを取得するカウントに達したときにバッファ値取得
手段332に通知する。バッファ値取得手段332は、
カウンタ331からの通知を受けたタイミングで、ホス
ト側内部バスバッファ271内のデータに付加している
LAを取得し、比較器333に送出する。比較器333
は、ホスト情報保持手段360のLA保持手段320か
らLAを取得し、バッファ値取得手段332から受け取
ったLAと同一であることを比較する。比較器333に
よって比較したLAが同一でない場合は、ホスト側LA
検査手段330は、例えば、MPU250にエラー通知
を行なうことにより、LA検査を実行する。なお、論理
データブロックが複数続く転送の場合は、LA保持手段
320に取りこんだLA値をカウンタ301により、イ
ンクリメントしていけば、連続してLAを検査すること
が可能である。ホスト側LA検査手段330を用いるこ
とで、データ転送開始直前にMPU250が介在するこ
となく、データに付加してあるLAの検査をすることが
できる。
When the disk array is read, the data transferred from the cache 240 by the cache control means 273 is buffered in the host-side internal bus buffer 271. The counter 331 counts the number of data buffered in the host-side internal bus buffer 271,
When the count for acquiring the LA has been reached, the buffer value acquiring unit 332 is notified. The buffer value acquisition unit 332 includes:
At the timing when the notification from the counter 331 is received, the LA added to the data in the host-side internal bus buffer 271 is acquired and transmitted to the comparator 333. Comparator 333
Obtains the LA from the LA holding unit 320 of the host information holding unit 360 and compares the LA with the LA received from the buffer value obtaining unit 332. If the LAs compared by the comparator 333 are not the same, the host-side LA
The inspection unit 330 performs the LA inspection by, for example, notifying the MPU 250 of an error. In the case of a transfer in which a plurality of logical data blocks continue, if the LA value taken into the LA holding means 320 is incremented by the counter 301, the LA can be inspected continuously. By using the host-side LA inspection unit 330, it is possible to inspect the LA added to the data without the MPU 250 immediately before the start of data transfer.

【0037】次に、図7を用いて、本実施形態に用いる
LA削除手段310の構成及び動作について説明する。
LA削除手段310は、ディスクアレイリード時に、キ
ャッシュ240からホスト入出力手段208,209,
210に転送されるデータに付加しているLAを削除す
るものである。LA削除手段310は、カウンタ311
と、バッファ値削除手段312とを備えている。
Next, the configuration and operation of the LA deleting unit 310 used in the present embodiment will be described with reference to FIG.
The LA deletion unit 310 sends the host input / output units 208, 209,
This is to delete the LA added to the data transferred to 210. The LA deleting unit 310 includes a counter 311
And a buffer value deleting unit 312.

【0038】ディスクアレイリード時に、キャッシュ制
御手段273によってキャッシュ240から転送された
データは、ホスト側内部バスバッファ271にバッファ
される。カウンタ311は、ホスト側内部バスバッファ
271にバッファリングされたデータ数をカウントし、
LAを削除するカウントに達したときにバッファ値削除
手段312に通知する。バッファ値削除手段312は、
カウンタ311からの通知を受けたタイミングでホスト
側内部バスバッファ271内のデータに付加しているL
Aを削除する。
At the time of reading the disk array, data transferred from the cache 240 by the cache control means 273 is buffered in the host-side internal bus buffer 271. The counter 311 counts the number of data buffered in the host-side internal bus buffer 271,
When the count for deleting the LA has been reached, the buffer value deleting unit 312 is notified. The buffer value deletion means 312
L added to the data in the host-side internal bus buffer 271 at the timing of receiving the notification from the counter 311
Delete A.

【0039】次に、図8を用いて、本実施形態に用いる
ディスク側LA検査手段350の構成及び動作について
説明する。ディスク側LA検査手段350は、ディスク
アレイライト/リード時に、ディスク入出力手段21
8,219,220とキャッシュ240との間で転送さ
れるデータに付加しているLAと、期待するLAを比較
し、同一であることを検査するものである。ディスク側
LA検査手段350は、カウンタ351と、バッファ値
取得手段352と、比較器353とを備えている。
Next, the configuration and operation of the disk-side LA inspection means 350 used in this embodiment will be described with reference to FIG. The disk-side LA inspection means 350 is used for writing / reading the disk array.
The LA added to the data transferred between the caches 240, 219, 220 and the cache 240 is compared with the expected LA, and it is checked that they are the same. The disk-side LA inspection unit 350 includes a counter 351, a buffer value acquisition unit 352, and a comparator 353.

【0040】ディスクアレイライト時には、キャッシュ
制御手段273によってキャッシュ240から転送され
たデータは、ディスク側内部バスバッファ272にバッ
ファされる。また、ディスクアレイリード時には、ディ
スク入出力手段218から転送されたデータは、ディス
ク側内部バスバッファ272にバッファされる。
During a disk array write, data transferred from the cache 240 by the cache control means 273 is buffered in the disk-side internal bus buffer 272. Further, at the time of reading the disk array, the data transferred from the disk input / output means 218 is buffered in the disk-side internal bus buffer 272.

【0041】カウンタ351は、ディスク側内部バスバ
ッファ272にバッファリングされたデータ数をカウン
トし、LAを取得するカウントに達したときにバッファ
値取得手段352に通知する。バッファ値取得手段35
2は、カウンタ351からの通知を受けたタイミング
で、ディスク側内部バスバッファ272内のデータに付
加しているLAを取得し、比較器353に送出する。比
較器353は、ディスク情報保持手段370のLA保持
手段340からLAを取得し、バッファ値取得手段35
2から受け取ったLAと同一であることを比較する。比
較器353によって比較したLAが同一でない場合は、
ディスク側LA検査手段350は、例えば、MPU25
0にエラー通知を行なうことにより、LA検査を実行す
る。なお、論理データブロックが複数続く転送の場合
は、LA保持手段320に取りこんだLA値をカウンタ
351により、インクリメントしていけば、連続してL
Aを検査することが可能である。ディスク側LA検査手
段350を用いることで、データ転送開始直前にMPU
250が介在することなく、データに付加してあるLA
の検査をすることができる。
The counter 351 counts the number of data buffered in the disk-side internal bus buffer 272, and notifies the buffer value acquiring means 352 when the count for acquiring LA has been reached. Buffer value acquisition means 35
2 acquires the LA added to the data in the disk-side internal bus buffer 272 at the timing of receiving the notification from the counter 351 and sends it to the comparator 353. The comparator 353 acquires the LA from the LA holding unit 340 of the disk information holding unit 370, and
2. Compare that the LA received from 2 is the same. If the LAs compared by the comparator 353 are not the same,
The disk-side LA inspection unit 350 includes, for example, the MPU 25
By performing an error notification to 0, the LA check is executed. In the case of a transfer in which a plurality of logical data blocks continue, if the LA value taken into the LA holding means 320 is incremented by the counter 351, the L value is continuously set.
A can be inspected. By using the disk-side LA inspection means 350, the MPU
LA added to data without the intervention of 250
Can be tested.

【0042】ここで、再び、図1に戻り、メモリ260
は、ディスクアレイ制御手段261と、LA設定手段2
62と、転送リスト格納手段263と、コマンド情報格
納手段264とを備えている。ディスクアレイ制御手段
261は、MPU250がディスクアレイ制御を実行す
るために使用する。LA設定手段262は、図9を用い
て後述するホスト側内部バス転送リスト400と、ディ
スク側内部バス転送リスト440中にLAを設定する。
転送リスト格納手段263は、ホスト入出力手段20
8,209,210および、ディスク入出力手段21
8,219,220がデータ転送を実行するために参照
するホスト側内部バス転送リスト400とディスク側内
部バス転送リスト440を格納する。コマンド情報格納
手段264は、ホスト入出力手段208,209,21
0および、ディスク入出力手段218,219,220
のコマンド情報を格納する。
Here, returning to FIG.
Are the disk array control means 261 and the LA setting means 2
62, a transfer list storage unit 263, and a command information storage unit 264. The disk array control means 261 is used by the MPU 250 to execute disk array control. The LA setting unit 262 sets the LA in the host-side internal bus transfer list 400 and the disk-side internal bus transfer list 440 described later with reference to FIG.
The transfer list storage unit 263 is a host
8, 209, 210 and disk input / output means 21
8, 219 and 220 store a host-side internal bus transfer list 400 and a disk-side internal bus transfer list 440 which are referred to for executing data transfer. The command information storage unit 264 stores the host input / output units 208, 209, and 21.
0 and disk input / output means 218, 219, 220
Command information is stored.

【0043】ここで、図9を用いて、転送リスト格納手
段263の構成について説明する。転送リスト格納手段
263は、ホスト側内部バス転送リスト400と、ディ
スク側内部バス転送リスト440とを備えている。ホス
ト側内部バス転送リスト400は、ホスト入出力手段2
08がデータ転送を実行するためにDMA211を用い
て獲得するものである。ディスク側内部バス転送リスト
440は、ディスク入出力手段218がデータ転送を実
行するためにDMA221を用いて獲得するものであ
る。
Here, the configuration of the transfer list storage means 263 will be described with reference to FIG. The transfer list storage unit 263 includes a host-side internal bus transfer list 400 and a disk-side internal bus transfer list 440. The host-side internal bus transfer list 400 contains the host input / output unit 2
08 is obtained by using the DMA 211 to execute the data transfer. The disk-side internal bus transfer list 440 is obtained by using the DMA 221 for the disk input / output unit 218 to execute data transfer.

【0044】なお、ホスト入出力手段209、210に
ついても、ホスト側内部バス転送リスト400と同様な
転送リストを転送リスト格納手段263に格納するが、
以下、ホスト入出力手段208の転送リストについての
み説明する。また、ディスク入出力手段219、220
についても、ディスク側内部バス転送リスト440と同
様な転送リストを転送リスト格納手段263に格納する
が、以下、ディスク入出力手段218の転送リストにつ
いてのみ説明する。ホスト側内部バス転送リスト400
とディスク側内部バス転送リスト440は、複数個存在
してもよいものである。ホスト側内部バス転送リスト4
00とディスク側内部バス転送リスト440は、MPU
250が作成し、転送リスト格納手段263に格納す
る。ホスト入出力手段208,209,210および、
ディスク入出力手段218,219,220は、転送機
能付きであり、キャッシュコントローラ270は、ホス
ト入出力手段208,209,210および、ディスク
入出力手段218,219,220から受け取った転送
コマンドの通りにデータの送受信をするだけである。従
って、転送リスト獲得とデータ転送は、ホスト入出力手
段208とディスク入出力手段218が行なうので、デ
ータ転送が終了するまで、MPU250の介在は不要で
ある。
Note that the transfer list similar to the host-side internal bus transfer list 400 is also stored in the transfer list storage unit 263 for the host input / output units 209 and 210.
Hereinafter, only the transfer list of the host input / output unit 208 will be described. Also, disk input / output means 219, 220
, A transfer list similar to the disk-side internal bus transfer list 440 is stored in the transfer list storage unit 263. Hereinafter, only the transfer list of the disk input / output unit 218 will be described. Host-side internal bus transfer list 400
And a plurality of disk-side internal bus transfer lists 440 may exist. Host-side internal bus transfer list 4
00 and the disk-side internal bus transfer list 440 are the MPU
250, and stores it in the transfer list storage unit 263. Host input / output means 208, 209, 210;
The disk input / output units 218, 219 and 220 have a transfer function, and the cache controller 270 operates according to the transfer commands received from the host input / output units 208, 209 and 210 and the disk input / output units 218, 219 and 220. It just sends and receives data. Therefore, since the transfer list acquisition and the data transfer are performed by the host input / output means 208 and the disk input / output means 218, the intervention of the MPU 250 is not required until the data transfer is completed.

【0045】ホスト側内部バス転送リスト400は、キ
ャッシュ240のアドレスを指定するホスト側内部バス
転送アドレス410と、データの転送サイズを指定する
ホスト側内部バス転送サイズ420をそれぞれm個格納
したものである。mは自然数とする。ホスト側内部バス
転送アドレス410とホスト側内部バス転送サイズ42
0を併せたものをホスト側リスト1000,1001,
1002,1003,…とする。
The host-side internal bus transfer list 400 stores a host-side internal bus transfer size 410 for specifying the address of the cache 240 and m host-side internal bus transfer sizes 420 for specifying the data transfer size. is there. m is a natural number. Host-side internal bus transfer address 410 and host-side internal bus transfer size 42
0 is added to the host side list 1000, 1001,
1002, 1003,...

【0046】ホスト側リスト1000,1001,10
02,1003,…のホスト側内部バス転送アドレス4
10には、ホスト転送パラメータとして、それぞれLA
1200,1201,1202,1203,…と、LU
N1220,1221,1222,1223,…と、チ
ャンネル番号1240,1241,1242,124
3,…と、ホスト番号1260,1261,1262,
1263,…と、タグ番号1280,1281,128
2,1283,…と、LA有効情報1300,130
1,1302,1303,…と、転送アドレス140
0,1401,1402,1403,…を格納する。ま
た、ホスト側リスト1000,1001,1002,1
003,…のホスト側内部バス転送サイズ420には、
それぞれ転送サイズ1600,1601,1602,1
603,…を格納する。
Host-side list 1000, 1001, 10
, The internal bus transfer address 4 of the host side
10 each have LA as a host transfer parameter.
LUs such as 1200, 1201, 1202, 1203,.
N1220, 1221, 1222, 1223,... And channel numbers 1240, 1241, 1242, 124
3,... And host numbers 1260, 1261, 1262
1263,... And tag numbers 1280, 1281, 128
2, 1283,... And LA valid information 1300, 130
, And the transfer address 140
0, 1401, 1402, 1403, ... are stored. In addition, host-side lists 1000, 1001, 1002, 1
The host-side internal bus transfer size 420 of 003,.
Transfer sizes 1600, 1601, 1602, 1 respectively
603,... Are stored.

【0047】LUN1220,1221,1222,1
223,…は、データライト要求時にホスト100,1
10,120が指定したLUN(Logical Unit Numbe
r)である。チャンネル番号1240,1241,12
42,1243,…は、データライトの要求のときに使
用したホスト入出力手段208,209,210の識別
番号である。ホスト番号1260,1261,126
2,1263,…は、データのライト/リードの要求を
したホスト100,110,120の識別番号である。
タグ番号1280,1281,1282,1283,…
は、ホスト100,110,120が発行するコマンド
のタグ番号である。LA有効情報1300,1301,
1302,1303,…は、転送されるデータが普通の
データであるか、それとも、普通のデータに対するパリ
ティデータであるかと識別して、普通のデータに対して
LAが有効であることを示す情報である。
LUNs 1220, 1221, 1222, 1
. 223,...
LUN (Logical Unit Number) designated by 10, 120
r). Channel numbers 1240, 1241, 12
Are identification numbers of the host input / output means 208, 209, 210 used at the time of the data write request. Host numbers 1260, 1261, 126
Are identification numbers of the hosts 100, 110, and 120 that have requested data write / read.
Tag numbers 1280, 1281, 1282, 1283, ...
Is the tag number of the command issued by the host 100, 110, or 120. LA validity information 1300, 1301,
1302, 1303,... Are information indicating that the data to be transferred is ordinary data or parity data for ordinary data, and that LA is valid for ordinary data. is there.

【0048】従来の方式では、ホスト側内部バス転送ア
ドレス410には、転送アドレス1400,1401,
1402,1403,…のみを格納するが、本実施形態
においては、転送アドレスに加えて、上述したホスト転
送パラメータも格納するようにしている。ホスト転送パ
ラメータを格納する部分は、たとえば、アドレスの上位
ビットとし、キャッシュ240のアドレスの指定に影響
を及ぼさない領域とする。また、キャッシュコントロー
ラ270が、ホスト転送パラメータを格納する部分のア
ドレスは、転送のためのアドレスとみなさないようにし
ておいてもよいものである。
In the conventional system, the transfer addresses 1400, 1401,
Are stored, but in the present embodiment, the above-described host transfer parameters are stored in addition to the transfer address. The portion storing the host transfer parameter is, for example, an upper bit of the address, and is an area that does not affect the designation of the address of the cache 240. Further, the address of the portion where the host controller stores the host transfer parameter may not be regarded as the address for the transfer by the cache controller 270.

【0049】ホスト入出力手段208が、ホスト側内部
バス転送リスト400を用いてデータ転送する場合、ホ
スト側内部バス転送アドレス410の値は、アドレス指
定のためそのままの値でホスト側内部バス212に送出
される。したがって、ホスト側内部バス転送アドレス4
10の値を受け取ったキャッシュコントローラ270
が、LA1200,1201,1202,1203,…
と転送アドレス1400,1401,1402,140
3,…を認識できるようにしておくことで、データ転送
を開始する直前にLAを獲得することが可能となる。従
って、上述したように、キャッシュコントローラ270
内のLA保持手段320により、LAを獲得・保持でき
る。
When the host input / output means 208 performs data transfer using the host-side internal bus transfer list 400, the value of the host-side internal bus transfer address 410 is used as it is for the address specification, and the value of the host-side internal bus transfer address 410 is transferred to the host-side internal bus 212. Sent out. Therefore, the host side internal bus transfer address 4
The cache controller 270 receiving the value of 10
Are LA1200, 1201, 1202, 1203, ...
And transfer addresses 1400, 1401, 1402, 140
By making it possible to recognize 3,..., It becomes possible to acquire the LA immediately before starting the data transfer. Therefore, as described above, the cache controller 270
The LA can be obtained and held by the LA holding means 320 in the inside.

【0050】以上をまとめると、本実施形態において
は、ホスト側内部バス転送リスト400にLAを設定し
ておくことで、ホスト側内部バス転送リスト400を作
成してから、データ転送が終了するまでの間はMPUの
介在は不要であり、かつ、ホスト入出力手段208とキ
ャッシュ240の間の転送データに対するLA付加、L
A検査、LA削除をキャッシュコントローラ270が実
行できる。また、キャッシュコントローラ270は、受
け取ったホスト側内部バス転送アドレス410の値か
ら、ホスト転送パラメータとして、LUN1220,1
221,1222,1223,…と、チャンネル番号1
240,1241,1242,1243,…と、ホスト
番号1260,1261,1262,1263,…と、
タグ番号1280,1281,1282,1283,…
と、LA有効情報1300,1301,1302,13
03,…を獲得し、それぞれを、LUN保持手段32
1,チャンネル番号保持手段322,ホスト番号保持手
段323,タグ番号保持手段324,LA有効情報保持
手段325に獲得・保持できる。したがって、キャッシ
ュコントローラ270は、ホスト側内部バス212から
受信したコマンドの転送パラメータに関する情報とし
て、LUN,チャンネル番号,ホスト番号,タグ番号,
LA有効の可否を区別することが可能となり、途中でコ
マンド実行を中断して再開する場合でも、受信したデー
タのLA付加,LA検査,LA削除を実施することがで
きる。即ち、ホスト入出力手段208,209,210
および、ディスク入出力手段218,219,220は
転送機能付きであり、キャッシュコントローラ270
は、ホスト入出力手段208,209,210および、
ディスク入出力手段218,219,220から受け取
った転送コマンドの通りにデータの送受信をするだけで
ある。したがって、コマンド受信からデータ転送にかけ
て途切れることなく実行され、かつ、コマンドが同時に
1個だけ発行されている場合は問題ないが、多数のホス
ト、ディスク装置から、コマンドが多重に発行され、か
つ、途中で実行を中断して再開するような場合、以前に
実行していたどのコマンドに対する転送かをキャッシュ
コントローラ270は判断することができず、LA付
加,LA検査,LA削除ができないことになるが、その
ような場合にも、本実施形態においては、ホスト側内部
バス212から受信したコマンドを、キャッシュコント
ローラ270が転送パラメータごとの区別をすることが
できるため、かかる問題が生じることがないものであ
る。また、ディスク側内部バス222から受信したコマ
ンドを、キャッシュコントローラ270が転送パラメー
タごとの区別をすることができる。
In summary, in the present embodiment, by setting the LA in the host-side internal bus transfer list 400, from the creation of the host-side internal bus transfer list 400 to the end of data transfer. Does not require the intervention of the MPU, and adds LA to the transfer data between the host input / output means 208 and the cache 240.
The cache controller 270 can execute the A inspection and the LA deletion. Further, the cache controller 270 uses the values of the received internal bus transfer address 410 as LUN 1220, 1
..., channel number 1
, 240, 1241, 1242, 1243,... And host numbers 1260, 1261, 1262, 1263,.
Tag numbers 1280, 1281, 1282, 1283, ...
And LA valid information 1300, 1301, 1302, 13
03,..., And each of them is
1, a channel number holding unit 322, a host number holding unit 323, a tag number holding unit 324, and an LA effective information holding unit 325. Therefore, the cache controller 270 determines the information on the transfer parameters of the command received from the host-side internal bus 212 as LUN, channel number, host number, tag number,
It is possible to discriminate whether the LA is valid or not, and even if the command execution is interrupted and resumed on the way, LA addition, LA inspection, and LA deletion of the received data can be performed. That is, the host input / output means 208, 209, 210
The disk input / output units 218, 219, and 220 have a transfer function, and the cache controller 270
Are host input / output means 208, 209, 210;
It only sends and receives data according to the transfer command received from the disk input / output means 218, 219, 220. Therefore, there is no problem if the command is executed without interruption from the command reception to the data transfer and only one command is issued at the same time. However, commands are issued from multiple hosts and disk devices in a multiplex manner, and In the case where the execution is interrupted and resumed, the cache controller 270 cannot determine which command was previously executed to which transfer, and the LA addition, the LA inspection, and the LA deletion cannot be performed. Even in such a case, in the present embodiment, such a problem does not occur because the cache controller 270 can distinguish the command received from the host-side internal bus 212 for each transfer parameter. . Further, the cache controller 270 can distinguish the command received from the disk-side internal bus 222 for each transfer parameter.

【0051】次に、ディスク側内部バス転送リスト44
0は、キャッシュ240のアドレスを指定するディスク
側内部バス転送アドレス450と、データの転送サイズ
を指定するディスク側内部バス転送サイズ460とを、
それぞれn個格納したものである。nは自然数とする。
ディスク側内部バス転送アドレス450とディスク側内
部バス転送サイズ460を併せたものをディスク側リス
ト2000,2001,2002,2003,…とす
る。
Next, the disk-side internal bus transfer list 44
0 indicates a disk-side internal bus transfer address 450 that specifies the address of the cache 240 and a disk-side internal bus transfer size 460 that specifies the data transfer size.
Each of them stores n pieces. n is a natural number.
A combination of the disk-side internal bus transfer address 450 and the disk-side internal bus transfer size 460 is referred to as a disk-side list 2000, 2001, 2002, 2003,.

【0052】ディスク側リスト2000,2001,2
002,2003,…のディスク側内部バス転送アドレ
ス450には、ディスク転送パラメータとして、それぞ
れLA2200,2201,2202,2203,…
と、LUN2220,2221,2222,2223,
…と、チャンネル番号2240,2241,2242,
2243,…と、ディスク番号2260,2261,2
262,2263,…と、タグ番号2280,228
1,2282,2283,…と、LA有効情報230
0,2301,2302,2303,…と、転送アドレ
ス2400,2401,2402,2403,…を格納
する。また、ディスク側リスト2000,2001,2
002,2003,…のディスク側内部バス転送サイズ
460には、それぞれ転送サイズ2600,2601,
2602,2603,…を格納する。
Disk side list 2000, 2001, 2
., 2003,..., LA-2200, 2201, 2022, 2203,.
And LUNs 2220, 2221, 2222, 2223,
... and channel numbers 2240, 2241, 242,
2243,... And disk numbers 2260, 2261, 2
262, 2263,... And tag numbers 2280, 228
, 1,282,2283,... And LA valid information 230
., And transfer addresses 2400, 2401, 2402, 2403,. Also, the disk-side lists 2000, 2001, 2
., 2003,..., Disk-side internal bus transfer sizes 460 include transfer sizes 2600, 2601,
2602, 2603,... Are stored.

【0053】LUN2220,2221,2222,2
223,…は、データライト要求時にホスト100,1
10,120が指定したLUN(Logical Unit Numbe
r)である。チャンネル番号2240,2241,22
42,2243,…は、データライトの要求のときに使
用したディスク入出力手段218,219,220の識
別番号である。ディスク番号2260,2261,22
62,2263,…は、データのライト/リードの要求
をしたディスク装置234,235,236,…の識別
番号である。タグ番号2280,2281,2282,
2283,…は、ディスク装置234,235,23
6,…が発行するコマンドのタグ番号である。LA有効
情報1300,1301,1302,1303,…は、
転送されるデータが普通のデータであるか、それとも、
普通のデータに対するパリティデータであるかと識別し
て、普通のデータに対してLAが有効であることを示す
情報である。
LUNs 2220, 2221, 2222, 2
. 223,...
LUN (Logical Unit Number) designated by 10, 120
r). Channel numbers 2240, 221, 22
Are identification numbers of the disk input / output means 218, 219, 220 used for the data write request. Disk numbers 2260, 2261, 22
Are identification numbers of the disk devices 234, 235, 236,... Which have requested data write / read. Tag numbers 2280, 2281, 2282
Are disk devices 234, 235, 23
Are the tag numbers of the commands issued. The LA valid information 1300, 1301, 1302, 1303,.
Whether the data being transferred is plain data,
This is information indicating that LA is valid for ordinary data by identifying whether the data is parity data for ordinary data.

【0054】従来の方式では、ディスク側内部バス転送
アドレス450には、転送アドレス2400,240
1,2402,2403,…のみを格納するが、本実施
形態においては、転送アドレスに加えて、上述したディ
スク転送パラメータも格納するようにしている。ディス
ク転送パラメータを格納する部分は、たとえば、アドレ
スの上位ビットとし、キャッシュ240のアドレスの指
定に影響を及ぼさない領域とする。また、キャッシュコ
ントローラ270が、ディスク転送パラメータを格納す
る部分のアドレスは、転送のためのアドレスとみなさな
いようにしておいてもよいものである。
In the conventional system, the transfer addresses 2400 and 240
Are stored, but in the present embodiment, the above-described disk transfer parameters are stored in addition to the transfer address. The portion for storing the disk transfer parameters is, for example, the upper bits of the address and an area that does not affect the designation of the address of the cache 240. In addition, the address of the portion where the cache controller 270 stores the disk transfer parameter may not be regarded as the address for transfer.

【0055】ディスク入出力手段218が、ディスク側
内部バス転送リスト440を用いてデータ転送する場
合、ディスク側内部バス転送アドレス450の値は、ア
ドレス指定のためそのままの値でディスク側内部バス2
22に送出される。したがって、ディスク側内部バス転
送アドレス450の値を受け取ったキャッシュコントロ
ーラ270が、LA2200,2201,2202,2
203,…と転送アドレス2400,2401,240
2,2403,…を認識できるようにしておくことで、
データ転送を開始する直前にLAを獲得することが可能
となる。従って、上述したように、キャッシュコントロ
ーラ270内のLA保持手段340により、LAを獲得
・保持できる。
When the disk input / output means 218 transfers data using the disk-side internal bus transfer list 440, the value of the disk-side internal bus transfer address 450 is the same value as the address for specifying the disk-side internal bus 2
22. Therefore, the cache controller 270, which has received the value of the disk-side internal bus transfer address 450, determines whether the LA 2200, 2201, 2022, 2
203,... And transfer addresses 2400, 2401, 240
By recognizing 2,2403, ...
The LA can be obtained immediately before starting the data transfer. Therefore, as described above, the LA can be acquired and held by the LA holding means 340 in the cache controller 270.

【0056】以上をまとめると、本実施形態において
は、ディスク側内部バス転送リスト440にLAを設定
しておくことで、ディスク側内部バス転送リスト440
を作成してから、データ転送が終了するまでの間はMP
Uの介在は不要であり、かつ、ディスク入出力手段21
8とキャッシュ240の間の転送データに対するLA検
査をキャッシュコントローラ270が実行できる。ま
た、キャッシュコントローラ270は、受け取ったディ
スク側内部バス転送アドレス450の値から、ディスク
転送パラメータとして、LUN2220,2221,2
222,2223,…と、チャンネル番号2240,2
241,2242,2243,…と、ディスク番号22
60,2261,2262,2263,…と、タグ番号
2280,2281,2282,2283,…と、LA
有効情報2300,2301,2302,2303,…
を獲得し、それぞれを、LUN保持手段341,チャン
ネル番号保持手段342,ディスク番号保持手段34
3,タグ番号保持手段344,LA有効情報保持手段3
45に獲得・保持できる。したがって、キャッシュコン
トローラ270は、ディスク側内部バス222から受信
したコマンドのディスク転送パラメータに関する情報と
して、LUN,チャンネル番号,ディスク番号,タグ番
号,LA有効の可否を区別することが可能となり、途中
でコマンド実行を中断して再開する場合でも、受信した
データのLA検査を実施することができる。以上説明し
たように、本実施形態においては、ホスト入出力手段2
08,209,210および、ディスク入出力手段21
8,219,220の転送機能を利用するため、MPU
250の負荷を減らすことができ、ディスクアレイとし
ての性能を向上させることができる。なお、ディスクア
レイとしての冗長データに対しても、本実施形態の各手
段を用いることで、LA付加,LA検査をすることが容
易に可能である。
In summary, in the present embodiment, by setting LA in the disk-side internal bus transfer list 440, the disk-side internal bus transfer list 440 is set.
From the time the data transfer is completed until the data transfer ends.
U is not required, and the disk input / output means 21
8 can be performed by the cache controller 270 on the data transferred between the cache controller 240 and the cache 240. In addition, the cache controller 270 uses the values of the received disk-side internal bus transfer address 450 as the disk transfer parameters as LUNs 2220, 2221 and 2221.
.., And channel numbers 2240, 2
, 241, 242, 2243,...
, And tag numbers 2280, 2281, 2282, 2283,..., LA
Effective information 2300, 2301, 2302, 2303, ...
, The LUN holding means 341, the channel number holding means 342, and the disk number holding means 34
3, tag number holding means 344, LA valid information holding means 3
Can be acquired and held at 45. Therefore, the cache controller 270 can distinguish the LUN, the channel number, the disk number, the tag number, and whether the LA is valid or not as the information on the disk transfer parameter of the command received from the disk-side internal bus 222. Even when the execution is interrupted and resumed, the LA inspection of the received data can be performed. As described above, in the present embodiment, the host input / output unit 2
08, 209, 210 and disk input / output means 21
MPU to use the transfer functions of
250 can be reduced, and the performance as a disk array can be improved. It is to be noted that LA addition and LA inspection can be easily performed on redundant data as a disk array by using the units of the present embodiment.

【0057】次に、図10〜図13を用いて、本実施形
態によるディスクアレイシステムにおけるディスクアレ
イライト/リード動作について説明する。最初に、図1
0及びを用いて、本実施形態のディスクアレイライト時
の動作について説明する。図10は、ホスト入出力手段
208からキャッシュ240へのデータ転送について示
すフローチャートであり、図11は、キャッシュ240
からディスク入出力手段218へのデータ転送について
示すフローチャートである。なお、上述したように、キ
ャッシュコントローラ270は、ホスト側内部バス21
2または、ディスク側内部バス222からコマンドを受
信した際、転送リストに含まれる転送パラメータによっ
て、どの転送であるかを区別できるので、その動作の説
明は省略する。また、ディスクアレイの冗長データ生成
については、既存の技術で問題なく実現できるので省略
する。
Next, the disk array write / read operation in the disk array system according to the present embodiment will be described with reference to FIGS. First, FIG.
The operation at the time of the disk array write of the present embodiment will be described with reference to FIGS. FIG. 10 is a flowchart showing data transfer from the host input / output unit 208 to the cache 240. FIG.
9 is a flowchart showing data transfer from a disk to a disk input / output unit 218. Note that, as described above, the cache controller 270 communicates with the host-side internal bus 21.
2 or when a command is received from the disk-side internal bus 222, the transfer can be distinguished by the transfer parameters included in the transfer list, and the description of the operation is omitted. The redundant data generation of the disk array is omitted because it can be realized without any problem by the existing technology.

【0058】最初に、図10を用いて、ディスクアレイ
ライトのホスト側内部バスの転送フローについて説明す
るとともに、図10は、MPU250,ホスト入出力手
段208,キャッシュコントローラ270の処理に分け
て記述してある。
First, the transfer flow of the disk array write on the host side internal bus will be described with reference to FIG. 10, and FIG. 10 will be described separately for the processing of the MPU 250, the host input / output means 208, and the cache controller 270. It is.

【0059】ホスト100上のアプリケーションなどか
らデータのライト要求が発行されると、ホスト入出力手
段208は、ステップs540において、ホストライト
コマンドを受信し、ステップs541において、メモリ
260内のコマンド情報格納手段264にライトコマン
ドの内容を転送し、ステップs542において、MPU
250に割込み信号を発行する。
When a data write request is issued from an application or the like on the host 100, the host input / output means 208 receives the host write command in step s540, and in step s541, the command information storage means in the memory 260 The contents of the write command are transferred to the H.264, and in step s542, the MPU
An interrupt signal is issued to 250.

【0060】MPU250は、ステップs520におい
て、割込み信号を受け取ると、ステップs521におい
て、コマンド情報格納手段264にあるライトコマンド
の内容を解析し、ディスクアレイ特有のアドレス変換を
行なう。次に、MPU250は、ステップs522にお
いて、ホスト入出力手段208が使用する転送コマンド
を作成してコマンド情報格納手段264に格納し、ステ
ップs523において、LAを設定したホスト側内部バ
ス転送リスト400を作成して転送リスト格納手段26
3に格納する。
Upon receiving the interrupt signal in step s520, the MPU 250 analyzes the contents of the write command in the command information storage means 264 in step s521, and performs address conversion unique to the disk array. Next, in step s522, the MPU 250 creates a transfer command to be used by the host input / output means 208 and stores it in the command information storage means 264. In step s523, creates the host-side internal bus transfer list 400 in which LA is set. Transfer list storage means 26
3 is stored.

【0061】一方、ホスト入出力手段208は、ステッ
プs542において、MPU250に割込み信号を発行
した後、ステップs543において、転送コマンド、あ
るいは、ホスト側内部バス転送リスト400が作成され
たかどうかを繰り返し参照する。そして、ホスト入出力
手段208は、ステップs544において、ホスト側内
部バス転送リスト400があったら取得し、ステップs
545において、ホスト側内部バス212のライトコマ
ンドをキャッシュコントローラ270に対して発行す
る。
On the other hand, the host input / output means 208 issues an interrupt signal to the MPU 250 in step s542, and then repeatedly references in step s543 whether a transfer command or the host-side internal bus transfer list 400 has been created. . Then, in step s544, the host input / output means 208 acquires the host-side internal bus transfer list 400 if it exists, and
At 545, a write command for the host-side internal bus 212 is issued to the cache controller 270.

【0062】一方、キャッシュコントローラ270は、
ステップs560において、ホスト側内部バス212の
ライトコマンドを受信すると、ステップs561におい
て、受信したライトコマンドのホスト側内部バス転送ア
ドレス410からLAを取得し、LA保持手段320に
保持する。次に、ホスト入出力手段208は、ステップ
s546において、キャッシュコントローラ270へホ
スト側内部バス212のデータを送信するとともに、キ
ャッシュコントローラ270は、ステップs562にお
いて、そのデータを受信する。これによって、ホスト側
内部バス212のデータが、ホスト入出力手段208か
らキャッシュコントローラ270へ転送される。
On the other hand, the cache controller 270
In step s560, when a write command for the host-side internal bus 212 is received, in step s561, the LA is acquired from the host-side internal bus transfer address 410 of the received write command, and held in the LA holding unit 320. Next, the host input / output unit 208 transmits the data of the host-side internal bus 212 to the cache controller 270 in step s546, and the cache controller 270 receives the data in step s562. As a result, the data on the host-side internal bus 212 is transferred from the host input / output means 208 to the cache controller 270.

【0063】次に、キャッシュコントローラ270は、
ステップs563において、LAを付加し、さらに、ス
テップs564において、キャッシュ240にデータを
送信する。なお、論理データブロック4000が複数続
く転送の場合は、LA保持手段320に取りこんだLA
値をカウンタ301により、インクリメントしていけ
ば、連続してLAを付加することが可能である。
Next, the cache controller 270
In step s563, the LA is added, and in step s564, the data is transmitted to the cache 240. In the case of a transfer in which a plurality of logical data blocks 4000 continue, the LA
If the value is incremented by the counter 301, LA can be added continuously.

【0064】一方、データ転送が終了したホスト入出力
手段208は、ステップs547において、MPU25
0に割込み信号を発行する。MPU250は、ステップ
s524において、割込み信号を受け取ると、ステップ
s525において、終了処理を行なう。
On the other hand, the host input / output means 208, which has completed the data transfer, determines in step s547 that the MPU 25
Issue an interrupt signal to 0. Upon receiving the interrupt signal in step s524, MPU 250 performs termination processing in step s525.

【0065】次に、図11を用いて、ディスクアレイラ
イトのディスク側内部バスの転送フローについて説明す
るとともに、図11は、MPU250,ディスク入出力
手段218,キャッシュコントローラ270の処理に分
けて記述してある。
Next, the transfer flow of the disk array write to the disk-side internal bus will be described with reference to FIG. 11, and FIG. 11 is described separately for the processing of the MPU 250, the disk input / output means 218, and the cache controller 270. It is.

【0066】キャッシュ240からディスク装置234
へのデータ書き込みが必要になると、MPU250は、
ステップs620において、ディスク入出力手段218
が使用する転送コマンドを作成してコマンド情報格納手
段264に格納し、ステップs621において、LAを
設定したディスク側内部バス転送リスト440を作成し
て転送リスト格納手段263に格納する。
From the cache 240 to the disk device 234
When it becomes necessary to write data to the MPU 250,
In step s620, the disk input / output unit 218
Is created and stored in the command information storage means 264. In step s621, the disk-side internal bus transfer list 440 in which the LA is set is created and stored in the transfer list storage means 263.

【0067】一方、ディスク入出力手段218は、ステ
ップs640においては、待ち状態であり、ステップs
641において、転送コマンド、あるいは、ディスク側
内部バス転送リスト440が作成されたかどうかを繰り
返し参照する。次に、ディスク入出力手段218は、ス
テップs642において、ディスク側内部バス転送リス
ト440があったら取得し、ステップs643におい
て、ディスク側内部バス222のリードコマンドを、キ
ャッシュコントローラ270に対して発行する。
On the other hand, in step s640, the disk input / output means 218 is in a waiting state,
At 641, it is repeatedly referred to whether a transfer command or a disk-side internal bus transfer list 440 has been created. Next, in step s642, the disk input / output unit 218 acquires the disk-side internal bus transfer list 440 if it exists, and issues a read command for the disk-side internal bus 222 to the cache controller 270 in step s643.

【0068】一方、キャッシュコントローラ270は、
ステップs660において、ディスク側内部バス222
のリードコマンドを受信すると、ステップs661にお
いて、受信したリードコマンドのディスク側内部バス転
送アドレス450からLAを取得し、LA保持手段34
0に保持する。次に、キャッシュコントローラ270
は、ステップs662において、キャッシュ240から
データを受信し、ステップs663において、LAの検
査を行なう。なお、論理データブロック4000が複数
続く転送の場合は、LA保持手段340に取りこんだL
A値をカウンタ351によりインクリメントしていけ
ば、連続してLAを検査することが可能である。
On the other hand, the cache controller 270
In step s660, the disk-side internal bus 222
Is received, in step s661, the LA is acquired from the disk-side internal bus transfer address 450 of the received read command, and the LA holding unit 34
Hold at 0. Next, the cache controller 270
Receives the data from the cache 240 in step s662, and checks the LA in step s663. In the case of a transfer in which a plurality of logical data blocks 4000 continue, the L
If the value A is incremented by the counter 351, the LA can be inspected continuously.

【0069】さらに、キャッシュコントローラ270
は、ステップs664において、ディスク入出力手段2
18へディスク側内部バス222のデータを送信すると
ともに、ディスク入出力手段218は、ステップs64
4において、そのデータを受信する。これによって、ホ
スト側内部バス212のデータが、キャッシュコントロ
ーラ270からディスク入出力手段218へ転送され
る。
Further, the cache controller 270
In step s664, the disk input / output unit 2
In addition to transmitting the data of the disk-side internal bus 222 to the disk 18, the disk input / output
At 4, the data is received. As a result, the data on the host-side internal bus 212 is transferred from the cache controller 270 to the disk input / output unit 218.

【0070】次に、データ転送が終了したディスク入出
力手段218は、ステップs645において、MPU2
50に割込み信号を発行する。一方、MPU250は、
ステップs622において、割込み信号を受け取ると、
ステップs623において、終了処理を行なう。
Next, the disk input / output means 218 that has completed the data transfer determines in step s645 that the MPU 2
An interrupt signal is issued to 50. On the other hand, the MPU 250
In step s622, when receiving the interrupt signal,
In step s623, end processing is performed.

【0071】以上のように、転送リストを作成してか
ら、データ転送が終了するまでの間はMPUの処理はな
く、MPUの介在なしにLA付加、LA検査を実行可能
である。
As described above, the processing of the MPU is not performed until the data transfer is completed after the transfer list is created, and the LA addition and the LA inspection can be executed without the intervention of the MPU.

【0072】次に、図12及び図13を用いて、本実施
形態のディスクアレイリード時の動作について説明す
る。図12は、キャッシュ240からホスト入出力手段
208へのデータ転送について示すフローチャートであ
り、図13は、ディスク入出力手段218からキャッシ
ュ240へのデータ転送について示すフローチャートで
ある。
Next, the operation at the time of reading the disk array of this embodiment will be described with reference to FIGS. FIG. 12 is a flowchart showing data transfer from the cache 240 to the host input / output unit 208, and FIG. 13 is a flowchart showing data transfer from the disk input / output unit 218 to the cache 240.

【0073】最初に、図12を用いて、ディスクアレイ
リードのホスト側内部バスの転送処理について説明する
とともに、図12は、MPU250、ホスト入出力手段
208、キャッシュコントローラ270の処理に分けて
記述してある。ホスト100上のアプリケーションなど
からデータのリード要求が発行されると、ホスト入出力
手段208は、ステップs740において、ホストリー
ドコマンドを受信し、ステップs741において、メモ
リ260内のコマンド情報格納手段264にリードコマ
ンドの内容を転送し、ステップs742において、MP
U250に割込み信号を発行する。
First, the transfer processing of the disk array read from the host side internal bus will be described with reference to FIG. 12, and FIG. 12 will be described separately for the processing of the MPU 250, the host input / output means 208, and the cache controller 270. It is. When a data read request is issued from an application or the like on the host 100, the host input / output unit 208 receives the host read command in step s740, and reads the command to the command information storage unit 264 in the memory 260 in step s741. The contents of the command are transferred, and in step s742, MP
An interrupt signal is issued to U250.

【0074】MPU250は、ステップs720におい
て、割込み信号を受け取ると、ステップs721におい
て、コマンド情報格納手段264にあるリードコマンド
の内容を解析し、ディスクアレイ特有のアドレス変換を
行なう。次に、MPU250は、ステップs722にお
いて、ホスト入出力手段208が使用する転送コマンド
を作成してコマンド情報格納手段264に格納し、ステ
ップs723において、LAを設定したホスト側内部バ
ス転送リスト400を作成して転送リスト格納手段26
3に格納する。
Upon receiving the interrupt signal in step s720, the MPU 250 analyzes the contents of the read command in the command information storage means 264 in step s721, and performs an address conversion unique to the disk array. Next, in step s722, the MPU 250 creates a transfer command used by the host input / output unit 208 and stores it in the command information storage unit 264. In step s723, creates the host-side internal bus transfer list 400 in which LA is set. Transfer list storage means 26
3 is stored.

【0075】一方、ホスト入出力手段208は、ステッ
プs742において、MPU250に割込み信号を発行
した後、ステップs743において、転送コマンド、あ
るいは、ホスト側内部バス転送リスト400が作成され
たかどうかを繰り返し参照する。そして、ホスト入出力
手段208は、ステップs744において、ホスト側内
部バス転送リスト400があったら取得し、ステップs
745において、ホスト側内部バス212のリードコマ
ンドをキャッシュコントローラ270に対して発行す
る。
On the other hand, the host input / output means 208 issues an interrupt signal to the MPU 250 in step s742, and then repeatedly references in step s743 whether a transfer command or the host-side internal bus transfer list 400 has been created. . Then, in step s744, the host input / output means 208 acquires the host-side internal bus transfer list 400 if it exists, and
At 745, a read command for the host-side internal bus 212 is issued to the cache controller 270.

【0076】一方、キャッシュコントローラ270は、
ステップs760において、ホスト側内部バス212の
リードコマンドを受信すると、ステップs761におい
て、受信したリードコマンドのホスト側内部バス転送ア
ドレス410からLAを取得し、LA保持手段320に
保持する。次に、キャッシュコントローラ270は、ス
テップs762において、キャッシュ240からデータ
を受信し、ステップs763において、LAの検査を行
なう。なお、論理データブロック4000が複数続く転
送の場合は、LA保持手段320に取りこんだLA値を
カウンタ331により、インクリメントしていけば、連
続してLAを検査することが可能である。次に、キャッ
シュコントローラ270は、ステップs764におい
て、LAを削除する。
On the other hand, the cache controller 270
In step s760, when the read command of the host-side internal bus 212 is received, in step s761, the LA is acquired from the host-side internal bus transfer address 410 of the received read command, and stored in the LA holding unit 320. Next, the cache controller 270 receives the data from the cache 240 in step s762, and checks the LA in step s763. In the case of transfer in which a plurality of logical data blocks 4000 continue, if the LA value taken into the LA holding unit 320 is incremented by the counter 331, the LA can be inspected continuously. Next, the cache controller 270 deletes the LA in Step s764.

【0077】さらに、キャッシュコントローラ270
は、ステップs765において、ホスト入出力手段20
8へホスト側内部バス212のデータを送信するととも
に、ホスト入出力手段208は、ステップs746にお
いて、そのデータを受信する。これによって、ホスト側
内部バス212のデータが、キャッシュコントローラ2
70からホスト入出力手段208へ転送される。
Further, the cache controller 270
In step s765, the host input / output
8 and the host input / output unit 208 receives the data in step s746. Thereby, the data of the host-side internal bus 212 is transferred to the cache controller 2.
70 to the host input / output means 208.

【0078】そして、データ転送が終了したホスト入出
力手段208は、ステップs747において、MPU2
50に割込み信号を発行する。一方、MPU250は、
ステップs724において、割込み信号を受け取ると、
ステップs725において、終了処理を行なう。
Then, the host input / output means 208 having completed the data transfer determines in step s747 that the MPU2
An interrupt signal is issued to 50. On the other hand, the MPU 250
In step s724, when receiving the interrupt signal,
In step s725, end processing is performed.

【0079】以上の図12の動作は、キャッシュ240
の中にリード要求されたデータがある場合、つまり、キ
ャッシュヒットの場合である。要求されたデータがキャ
ッシュ240の中にないキャッシュミスの場合は、図1
2のステップs720のあとに、次に説明する図13の
動作をしてから図12のステップs721の動作に移る
ものである。
The above operation of FIG.
Is the data for which a read request has been made, that is, a cache hit. In the case of a cache miss where the requested data is not in cache 240, FIG.
After the step s720 of step 2, the operation of FIG. 13 described below is performed, and then the operation proceeds to step s721 of FIG.

【0080】次に、図13を用いて、ディスクアレイリ
ードのディスク側内部バスの転送処理について説明する
とともに、図13においては、MPU250,ディスク
入出力手段218,キャッシュコントローラ270の処
理に分けて記述してある。
Next, the transfer processing of the disk array read on the disk side internal bus will be described with reference to FIG. 13, and in FIG. 13, the processing of the MPU 250, the disk input / output means 218, and the cache controller 270 will be described separately. I have.

【0081】ディスク装置234からキャッシュ240
へのデータ読み出しが必要になると、MPU250は、
ステップs820において、ディスク入出力手段218
が使用する転送コマンドを作成してコマンド情報格納手
段264に格納し、ステップs821において、LAを
設定したディスク側内部バス転送リスト440を作成し
て転送リスト格納手段263に格納する。
The cache 240 from the disk device 234
When it is necessary to read data from the MPU 250,
In step s820, the disk input / output unit 218
Is created and stored in the command information storage unit 264. In step s821, the disk-side internal bus transfer list 440 in which the LA is set is created and stored in the transfer list storage unit 263.

【0082】一方、このとき、ディスク入出力手段21
8は、ステップs840においては、待ち状態であり、
ステップs841において、転送コマンド、あるいは、
ディスク側内部バス転送リスト440が作成されたかど
うかを繰り返し参照する。次に、ディスク入出力手段2
18は、ステップs842において、ディスク側内部バ
ス転送リスト440があったら取得し、ステップs84
3において、ディスク側内部バス222のライトコマン
ドをキャッシュコントローラ270に対して発行する。
At this time, the disk input / output means 21
8 is a waiting state in step s840,
In step s841, a transfer command or
It is repeatedly referred to whether the disk-side internal bus transfer list 440 has been created. Next, the disk input / output means 2
In step s842, if there is a disk-side internal bus transfer list 440 in step s842, the process proceeds to step s84.
At 3, the write command for the disk-side internal bus 222 is issued to the cache controller 270.

【0083】一方、キャッシュコントローラ270は、
ステップs860において、ディスク側内部バス222
のライトコマンドを受信すると、ステップs861にお
いて、受信したライトコマンドのディスク側内部バス転
送アドレス450からLAを取得し、LA保持手段34
0に保持する。
On the other hand, the cache controller 270
In step s860, the disk-side internal bus 222
When the write command is received, in step s861, the LA is acquired from the disk-side internal bus transfer address 450 of the received write command, and the LA holding unit 34 is acquired.
Hold at 0.

【0084】次に、ディスク入出力手段218は、ステ
ップs844において、キャッシュコントローラ270
へディスク側内部バス222のデータを送信するととも
に、キャッシュコントローラ270は、ステップs86
2において、そのデータを受信する。これによって、デ
ィスク側内部バス212のデータが、ディスク入出力手
段208からキャッシュコントローラ270へ転送され
る。
Next, the disk input / output means 218 determines in step s844 that the cache controller 270
The cache controller 270 transmits the data of the disk-side internal bus 222 to the
At 2, the data is received. As a result, the data on the disk-side internal bus 212 is transferred from the disk input / output means 208 to the cache controller 270.

【0085】次に、キャッシュコントローラ270は、
ステップs863において、LAを検査しつつ、ステッ
プs864において、キャッシュにデータを、ディスク
入出力手段208に送信する。なお、論理データブロッ
ク4000が複数続く転送の場合は、LA保持手段34
0に取りこんだLA値をカウンタ351により、インク
リメントしていけば、連続してLAを検査することが可
能である。
Next, the cache controller 270
In step s863, the data is sent to the cache to the disk input / output unit 208 in step s864 while checking the LA. In the case of a transfer in which a plurality of logical data blocks 4000 continue, the LA holding unit 34
If the LA value taken into 0 is incremented by the counter 351, the LA can be inspected continuously.

【0086】一方、データ転送が終了したディスク入出
力手段218は、ステップs845において、MPU2
50に割込み信号を発行する。一方、MPU250は、
ステップs822において、割込み信号を受け取ると、
ステップs823において、終了処理を行なう。
On the other hand, the disk input / output means 218 that has completed the data transfer determines in step s845 that the MPU 2
An interrupt signal is issued to 50. On the other hand, the MPU 250
In step s822, upon receiving the interrupt signal,
In step s823, end processing is performed.

【0087】以上のように、転送リストを作成してか
ら、データ転送が終了するまでの間はMPUの処理はな
く、MPU介在なしにLA検査,LA削除を実行可能で
ある。
As described above, there is no MPU process between the time the transfer list is created and the time the data transfer is completed, and LA inspection and LA deletion can be executed without the intervention of the MPU.

【0088】以上説明したように、本実施形態によれ
ば、転送リスト中にLAを設定しておくことにより、転
送機能付きのホスト入出力手段、およびディスク入出力
手段を使用する場合でも、LA付加,LA検査,LA削
除を実現でき、データ保証コードの付加時における高性
能化を図ることができる。また、転送リスト中に転送パ
ラメータであるLUN,チャンネル番号,ホスト番号,
ディスク番号,タグ番号,LA有効情報を設定しておく
ことで、転送機能付きのホスト入出力手段、およびディ
スク入出力手段を使用し、かつ、多数のホスト,ディス
ク装置から、コマンドが多重に発行され、かつ、途中で
実行を中断して再開するような状態においても、キャッ
シュコントローラがコマンドの区別をすることが可能
で、受信したデータのLA付加,LA検査,LA削除を
実施することができる。
As described above, according to the present embodiment, by setting the LA in the transfer list, even when the host input / output unit with the transfer function and the disk input / output unit are used, the LA is set. Addition, LA inspection, and LA deletion can be realized, and high performance can be achieved when a data assurance code is added. Also, the transfer parameters LUN, channel number, host number,
By setting the disk number, tag number, and LA validity information, host I / O means with a transfer function and disk I / O means are used, and commands are issued in multiplex from many hosts and disk devices. Also, even in a state where execution is interrupted and resumed in the middle, the cache controller can distinguish commands, and can perform LA addition, LA inspection, and LA deletion of received data. .

【0089】なお、ホスト100,110,120と、
ホスト入出力手段208,209,210の間、およ
び、ディスク装置群228,229,230とディスク
入出力手段218,219,220の間のインターフェ
ースとしては、たとえば、ファイバチャネル,SCSI
などが考えられるが、他のインターフェースを用いるこ
ともできる。また、ホスト側内部バス212およびディ
スク側内部バス222のバスは、たとえば、64ビット
幅のPCIなどが考えられるが、キャッシュ240のア
ドレス領域の割り当てを変更すれば、32ビット幅のP
CIまたは他のバスを用いることもできる。さらに、本
実施形態では、LAを論理データブロックの最後尾に付
加するとしたが、論理データブロックの位置から割り出
せる場所であればどこに付加してもよいものである。ま
た、本実施形態では、データ保証コードを論理データブ
ロックアドレスまたは、その一部としたが、分割したデ
ータの属性が特定できる値であれば他のものでもよいも
のである。また、キャッシュ240は、高速読み書き可
能なメモリであるとし、メモリの種類は問わないもので
ある。
The hosts 100, 110, and 120
Interfaces between the host input / output means 208, 209, 210 and between the disk device groups 228, 229, 230 and the disk input / output means 218, 219, 220 are, for example, fiber channel, SCSI
However, other interfaces can be used. The buses of the host-side internal bus 212 and the disk-side internal bus 222 may be, for example, a PCI having a width of 64 bits. However, if the assignment of the address area of the cache 240 is changed, a bus having a width of 32 bits may be used.
A CI or other bus could also be used. Further, in this embodiment, the LA is added to the end of the logical data block. However, the LA may be added to any location as long as it can be determined from the position of the logical data block. Further, in the present embodiment, the data assurance code is a logical data block address or a part thereof, but any other value may be used as long as the attribute of the divided data can be specified. The cache 240 is a memory that can be read and written at a high speed, and the type of the memory is not limited.

【0090】また、本実施形態においては、LRCによ
るデータ保証方式との併用が可能である。
Further, in this embodiment, it is possible to use together with the data guarantee method by LRC.

【0091】次に、図14及び図15を用いて、本発明
の第2の実施形態によるディスクアレイシステムの構成
及び動作について説明する。最初に、図14を用いて、
本実施形態によるディスクアレイシステムの構成につい
て説明する。なお、図1と同一符号は、同一部分を示し
ている。
Next, the configuration and operation of the disk array system according to the second embodiment of the present invention will be described with reference to FIGS. First, referring to FIG.
The configuration of the disk array system according to the present embodiment will be described. The same reference numerals as those in FIG. 1 indicate the same parts.

【0092】ここでは、説明の簡略化のため、図1に示
した第1の実施形態との相違点を中心として説明する。
図14に示すように、本実施形態においては、キャッシ
ュ240は、ホスト側LA格納手段242と、ディスク
側LA格納手段243を備えている。また、キャッシュ
コントローラ270は、LA獲得手段380を備えてい
る。
Here, for the sake of simplicity, the description will focus on differences from the first embodiment shown in FIG.
As shown in FIG. 14, in the present embodiment, the cache 240 includes a host-side LA storage unit 242 and a disk-side LA storage unit 243. The cache controller 270 includes an LA acquisition unit 380.

【0093】ホスト側LA格納手段242と、ディスク
側LA格納手段243は、MPU250が実行する後述
のLA設定手段262によりLAを設定するために、用
いられる。このLAは、図1に示した実施形態において
は、転送リストに設定されていたものである。ホスト側
LA格納手段242と、ディスク側LA格納手段243
は、少なくとも1つ以上のLAを格納できるものであ
る。
The host-side LA storage means 242 and the disk-side LA storage means 243 are used for setting the LA by the LA setting means 262 described later, which is executed by the MPU 250. This LA is set in the transfer list in the embodiment shown in FIG. Host side LA storage means 242 and disk side LA storage means 243
Can store at least one LA.

【0094】LA獲得手段380は、ホスト側LA格納
手段242と、ディスク側LA格納手段243に設定さ
れたLAを獲得し、LA保持手段320,340に保持
する。
The LA acquisition means 380 acquires the LAs set in the host-side LA storage means 242 and the disk-side LA storage means 243, and holds the LAs in the LA holding means 320, 340.

【0095】次に、図15を用いて、本実施形態による
ディスクアレイシステムに用いる転送リスト格納手段2
63の構成について説明する。なお、図9を同一符号
は、同一部分を示している。
Next, referring to FIG. 15, the transfer list storage means 2 used in the disk array system according to the present embodiment will be described.
The configuration of 63 will be described. The same reference numerals in FIG. 9 indicate the same parts.

【0096】ここでは、説明の簡略化のため、図9に示
した第1の実施形態との相違点を中心として説明する。
転送リスト格納手段263は、図9に示した実施形態と
同様に、ホスト側内部バス転送リスト400と、ディス
ク側内部バス転送リスト440とを備えている。
Here, for the sake of simplicity, the description will focus on the differences from the first embodiment shown in FIG.
The transfer list storage means 263 includes a host-side internal bus transfer list 400 and a disk-side internal bus transfer list 440, as in the embodiment shown in FIG.

【0097】ホスト側内部バス転送リスト400は、図
9に示した実施形態と同様に、ホスト側リスト100
0,1001,…から構成されている。しかしながら、
ホスト側内部バス転送アドレス410の内のホスト転送
パラメータとして、LAポイント1320,1321,
1322,1323,…を格納するようにしている。ま
た、ディスク側内部バス転送リスト440は、図9に示
した実施形態と同様に、ディスク側リスト2000,2
001,…から構成されている。しかしながら、ディス
ク側内部バス転送アドレス450の内のディスク転送パ
ラメータとして、LAポイント2320,2321,2
322,2323,…を格納するようにしている。
The host-side internal bus transfer list 400 is similar to the embodiment shown in FIG.
0, 1001,... However,
As the host transfer parameters in the host-side internal bus transfer address 410, LA points 1320, 1321,
.. Are stored. The disk-side internal bus transfer list 440 stores the disk-side lists 2000 and 2 similarly to the embodiment shown in FIG.
001,... However, as the disk transfer parameters in the disk-side internal bus transfer address 450, LA points 2320, 2321, and
322, 2323,... Are stored.

【0098】次に、本実施形態によるディスクアレイシ
ステムの動作について説明する。ここでは、説明の簡略
化のため、図1及び図9に示した第1の実施形態との相
違点を中心として説明する。
Next, the operation of the disk array system according to the present embodiment will be described. Here, for the sake of simplicity, the description will focus on the differences from the first embodiment shown in FIGS. 1 and 9.

【0099】メモリ260が備えているLA設定手段2
62は、図1に示した実施形態とは異なり、キャッシュ
240内にあるホスト側LA格納手段242,又は、デ
ィスク側LA格納手段243にLAを設定し、その後、
ホスト側内部転送バス400,または、ディスク側内部
バス転送リスト440中に、ホスト側LA格納手段24
2,及びディスク側LA格納手段243に設定したLA
のポインタアドレスを設定する。
LA setting means 2 provided in memory 260
62 sets the LA in the host-side LA storage means 242 or the disk-side LA storage means 243 in the cache 240 unlike the embodiment shown in FIG.
In the host-side internal transfer bus 400 or the disk-side internal bus transfer list 440, the host-side LA storage means 24
2, and the LA set in the disk-side LA storage unit 243.
Set the pointer address of

【0100】ホスト情報保持手段360は、ホスト入出
力手段208,209,210とキャッシュ240との
間で、データが転送される際に、ホスト側内部バス転送
リスト400を獲得し、保持する。LA保持手段320
には、一時的に、LAポインタを格納する。LA保持手
段320は、LAポインタが格納されると、キャッシュ
制御手段273を用いて、LAポインタに基づき、キャ
ッシュ240上のホスト側LA格納手段242からLA
を取得し、LA保持手段320に格納する。
The host information holding means 360 acquires and holds the host-side internal bus transfer list 400 when data is transferred between the host input / output means 208, 209, 210 and the cache 240. LA holding means 320
Temporarily store the LA pointer. When the LA pointer is stored, the LA holding unit 320 uses the cache control unit 273 to store the LA pointer from the host-side LA storage unit 242 in the cache 240 based on the LA pointer.
Is acquired and stored in the LA holding unit 320.

【0101】ディスク情報保持手段370は、ディスク
入出力手段218,219,220とキャッシュ240
との間でデータが転送される際に、ディスク側内部バス
転送リスト440を獲得/保持する。LA保持手段34
0には、一時的にLAポインタを格納する。LA獲得手
段380は、LA保持手段340にLAポインタが格納
されると、キャッシュ制御手段273を用いて、LAポ
インタに基づき、キャッシュ240上のディスク側LA
格納手段243からLAを取得し、LA保持手段340
に格納する。
The disk information holding means 370 includes the disk input / output means 218, 219, 220 and the cache 240.
When the data is transferred between the internal bus transfer list 440 and the internal bus transfer list 440, the disk-side internal bus transfer list 440 is acquired / held. LA holding means 34
At 0, the LA pointer is temporarily stored. When the LA pointer is stored in the LA holding unit 340, the LA acquisition unit 380 uses the cache control unit 273 to store the LA pointer in the cache 240 based on the LA pointer.
The LA is acquired from the storage unit 243, and the LA holding unit 340 is acquired.
To be stored.

【0102】次に、図10〜図13を用いて、本実施形
態によるディスクアレイシステムにおけるディスクアレ
イ・ライト/リード動作について説明する。最初に、図
10及び図11を用いて、ディスクアレイライト時の動
作について説明する。ここでは、説明の簡略化のため、
第1の実施形態との相違点を中心として説明する。
Next, the disk array write / read operation in the disk array system according to the present embodiment will be described with reference to FIGS. First, an operation during a disk array write will be described with reference to FIGS. Here, for simplicity of explanation,
The following description focuses on the differences from the first embodiment.

【0103】まず、図10のディスクアレイライトのホ
スト側内部バスの転送フローについて説明する。本実施
形態においては、MPU250は、ステップ523にお
いて、LA設定手段262を用いて、キャッシュ240
内にあるホスト側LA格納手段242にLAを設定し、
その後、LAポインタを設定したホスト側内部バス転送
リスト400を作成し、転送リスト格納手段263に格
納する。
First, the transfer flow of the disk array write of FIG. 10 through the host-side internal bus will be described. In the present embodiment, in step 523, the MPU 250 uses the LA
Is set in the host-side LA storage means 242 in the
Thereafter, the host-side internal bus transfer list 400 in which the LA pointer is set is created and stored in the transfer list storage unit 263.

【0104】また、キャッシュコントローラ270は、
ステップ561において、受信したライトコマンドのホ
スト側内部バス転送アドレス410からLAポインタを
取得し、LA獲得手段380は、LAポインタに基づ
き、キャッシュ240上のホスト側LA格納手段242
からLAを取得し、LA保持手段320に格納する。そ
の他の処理は、第1の実施形態と同様である。
Also, the cache controller 270
In step 561, an LA pointer is acquired from the host-side internal bus transfer address 410 of the received write command, and the LA acquisition means 380 uses the LA-pointer to store the LA pointer in the cache 240 based on the LA pointer.
And obtains the LA and stores it in the LA holding unit 320. Other processes are the same as in the first embodiment.

【0105】次に、図11のディスクアレイライトのデ
ィスク側内部バスの転送フローについて説明する。本実
施形態においては、MPU250は、ステップ621に
おいて、LA設定手段262を用いて、キャッシュ24
0内にあるディスク側LA格納手段243にLAを設定
し、その後、LAポインタを設定したディスク側内部バ
ス転送リスト440を作成し、転送リスト格納手段26
3に格納する。
Next, a description will be given of the transfer flow of the disk-array internal bus of the disk array write of FIG. In the present embodiment, the MPU 250 uses the LA setting unit 262 to execute the cache 24
0 is set in the disk-side LA storage means 243 in the disk-side LA, and then the disk-side internal bus transfer list 440 in which the LA pointer is set is created.
3 is stored.

【0106】また、キャッシュコントローラ270は、
ステップ661において、受信したリードコマンドのデ
ィスク側内部バス転送アドレス450からLAポインタ
を取得し、LA獲得手段380は、LAポインタに基づ
き、キャッシュ240上のディスク側LA格納手段24
3からLAを取得し、LA保持手段340に格納する。
その他の処理は、第1の実施形態と同様である。
Also, the cache controller 270
In step 661, the LA acquisition unit 380 acquires the LA pointer from the disk-side internal bus transfer address 450 of the received read command, and based on the LA pointer, stores the LA pointer in the disk-side LA storage unit 24 in the cache 240.
3 is acquired from the LA and stored in the LA holding unit 340.
Other processes are the same as in the first embodiment.

【0107】以上のように、本実施形態においては、転
送リストを作成してから、データが終了するまでの間
は、MPUの処理はなく、本実施形態においても、MP
Uの介在なしに、LA付加,LA検査を行えるものであ
る。
As described above, in the present embodiment, there is no MPU process from the time the transfer list is created until the data is completed.
LA addition and LA inspection can be performed without the intervention of U.

【0108】次に、図12及び図13を用いて、ディス
クアレイリード時の動作について説明する。ここでは、
説明の簡略化のため、第1の実施形態との相違点を中心
として説明する。
Next, the operation at the time of reading the disk array will be described with reference to FIGS. here,
For the sake of simplicity, the description will focus on the differences from the first embodiment.

【0109】まず、図12のディスクアレイリードのホ
スト側内部バスの転送フローについて説明する。本実施
形態においては、MPU250は、ステップ723にお
いて、LA設定手段262を用いて、キャッシュ240
内にあるホスト側LA格納手段242にLAを設定し、
その後、LAポインタを設定したホスト側内部バス転送
リスト400を作成し、転送リスト格納手段263に格
納する。
First, the transfer flow of the disk array read of the host side internal bus in FIG. 12 will be described. In the present embodiment, in step 723, the MPU 250 uses the LA
Is set in the host-side LA storage means 242 in the
Thereafter, the host-side internal bus transfer list 400 in which the LA pointer is set is created and stored in the transfer list storage unit 263.

【0110】また、キャッシュコントローラ270は、
ステップ761において、受信したリードコマンドのホ
スト側内部バス転送アドレス410からLAポインタを
取得し、LA獲得手段380は、LAポインタに基づ
き、キャッシュ240上のホスト側LA格納手段242
からLAを取得し、LA保持手段320に格納する。そ
の他の処理は、第1の実施形態と同様である。
Also, the cache controller 270
In step 761, the LA pointer is acquired from the host-side internal bus transfer address 410 of the received read command, and the LA acquisition unit 380 determines the host-side LA storage unit 242 in the cache 240 based on the LA pointer.
And obtains the LA and stores it in the LA holding unit 320. Other processes are the same as in the first embodiment.

【0111】次に、図12のディスクアレイリードのデ
ィスク側内部バスの転送フローについて説明する。本実
施形態においては、MPU250は、ステップ821に
おいて、LA設定手段262を用いて、キャッシュ24
0内にあるディスク側LA格納手段243にLAを設定
し、その後、LAポインタを設定したディスク側内部バ
ス転送リスト440を作成し、転送リスト格納手段26
3に格納する。
Next, a description will be given of a transfer flow of the disk-side internal bus of the disk array read of FIG. In the present embodiment, in step 821, the MPU 250 uses the LA
0 is set in the disk-side LA storage means 243 in the disk-side LA, and then the disk-side internal bus transfer list 440 in which the LA pointer is set is created.
3 is stored.

【0112】また、キャッシュコントローラ270は、
ステップ661において、受信したライトコマンドのデ
ィスク側内部バス転送アドレス450からLAポインタ
を取得し、LA獲得手段380は、LAポインタに基づ
き、キャッシュ240上のディスク側LA格納手段24
3からLAを取得し、LA保持手段340に格納する。
その他の処理は、第1の実施形態と同様である。
Also, the cache controller 270
In step 661, the LA acquisition unit 380 acquires an LA pointer from the disk-side internal bus transfer address 450 of the received write command, and based on the LA pointer, stores the LA pointer in the disk-side LA storage unit 24 in the cache 240.
3 is acquired from the LA and stored in the LA holding unit 340.
Other processes are the same as in the first embodiment.

【0113】以上のように、本実施形態においては、転
送リストを作成してから、データが終了するまでの間
は、MPUの処理はなく、本実施形態においても、MP
Uの介在なしに、LA付加,LA検査を行えるものであ
る。
As described above, in the present embodiment, there is no MPU processing from the creation of the transfer list to the end of the data.
LA addition and LA inspection can be performed without the intervention of U.

【0114】以上説明したように、第1の実施形態にお
いては、MPU250が、LAの実体を転送リストに設
定するに対して、本実施形態では、MPU250は、L
Aの実体をキャッシュ240に設定し、キャッシュ24
0上のLAのポインタアドレスを転送リストに設定する
ようにしている。また、第1の実施形態では、キャッシ
ュコントローラ270が、転送リストからLAの実体を
取得するのに対して、本実施形態では、キャッシュコン
トローラ270は、転送リストからLAのポインタアド
レスを取得し、ポインタアドレスを元に、キャッシュ2
40からLAを取得する。なお、キャッシュコントロー
ラ270がLAを取得してからの動作は、第1の実施形
態と同様である。
As described above, in the first embodiment, the MPU 250 sets the substance of the LA in the transfer list, whereas in the present embodiment, the MPU 250
The entity of A is set in the cache 240 and the cache 24
The pointer address of the LA on 0 is set in the transfer list. Further, in the first embodiment, the cache controller 270 acquires the entity of the LA from the transfer list, whereas in the present embodiment, the cache controller 270 acquires the pointer address of the LA from the transfer list, and Cache 2 based on address
Acquire the LA from 40. The operation after the cache controller 270 acquires the LA is the same as that of the first embodiment.

【0115】以上のようにして、キャッシュにLAを設
定し、転送リストにLAポインタを設定しておくことに
より、転送機能付きホスト入出力手段及びディスク入出
力手段を使用する場合でも、MPUが介在することな
く、LA付加,LA検査,LA削除を実現でき、データ
保証コードの付加時における高性能化を図ることができ
る。また、転送リスト中に転送パラメータであるLU
N,チャンネル番号,ホスト番号,ディスク番号,タグ
番号,LA有効情報を設定しておくことで、転送機能付
きのホスト入出力手段、およびディスク入出力手段を使
用し、かつ、多数のホスト,ディスク装置から、コマン
ドが多重に発行され、かつ、途中で実行を中断して再開
するような状態においても、キャッシュコントローラが
コマンドの区別をすることが可能で、受信したデータの
LA付加,LA検査,LA削除を実施することができ
る。
As described above, by setting the LA in the cache and setting the LA pointer in the transfer list, even when the host I / O unit with the transfer function and the disk I / O unit are used, the MPU is interposed. Without adding, LA addition, LA inspection, and LA deletion can be realized, and high performance can be achieved when a data guarantee code is added. Also, LU, which is a transfer parameter, is included in the transfer list.
By setting N, channel number, host number, disk number, tag number and LA effective information, host input / output means with transfer function and disk input / output means can be used, and a large number of hosts and disks can be used. Even in a state where multiple commands are issued from the device and the execution is interrupted and resumed in the middle, the cache controller can distinguish the commands, and can add LA to the received data, check the LA, LA deletion can be performed.

【0116】なお、ホスト100,110,120と、
ホスト入出力手段208,209,210の間、およ
び、ディスク装置群228,229,230とディスク
入出力手段218,219,220の間のインターフェ
ースとしては、たとえば、ファイバチャネル,SCSI
などが考えられるが、他のインターフェースを用いるこ
ともできる。また、ホスト側内部バス212およびディ
スク側内部バス222のバスは、たとえば、64ビット
幅のPCIなどが考えられるが、キャッシュ240のア
ドレス領域の割り当てを変更すれば、32ビット幅のP
CIまたは他のバスを用いることもできる。さらに、本
実施形態では、LAを論理データブロックの最後尾に付
加するとしたが、論理データブロックの位置から割り出
せる場所であればどこに付加してもよいものである。ま
た、本実施形態では、データ保証コードを論理データブ
ロックアドレスまたは、その一部としたが、分割したデ
ータの属性が特定できる値であれば他のものでもよいも
のである。また、キャッシュ240は、高速読み書き可
能なメモリであるとし、メモリの種類は問わないもので
ある。
The hosts 100, 110, and 120
Interfaces between the host input / output means 208, 209, 210 and between the disk device groups 228, 229, 230 and the disk input / output means 218, 219, 220 are, for example, fiber channel, SCSI
However, other interfaces can be used. The buses of the host-side internal bus 212 and the disk-side internal bus 222 may be, for example, a PCI having a width of 64 bits. However, if the assignment of the address area of the cache 240 is changed, a bus having a width of 32 bits may be used.
A CI or other bus could also be used. Further, in this embodiment, the LA is added to the end of the logical data block. However, the LA may be added to any location as long as it can be determined from the position of the logical data block. Further, in the present embodiment, the data assurance code is a logical data block address or a part thereof, but any other value may be used as long as the attribute of the divided data can be specified. The cache 240 is a memory that can be read and written at a high speed, and the type of the memory is not limited.

【0117】また、本実施形態においては、LRCによ
るデータ保証方式との併用が可能である。
Further, in the present embodiment, it is possible to use together with the data guarantee method by LRC.

【0118】[0118]

【発明の効果】本発明によれば、LAのようなデータの
属性に基づく保証コードをデータに付加することができ
るとともに、転送効率を向上することができる。
According to the present invention, a guarantee code based on data attributes such as LA can be added to data, and the transfer efficiency can be improved.

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

【図1】本発明の第1の実施形態によるディスクアレイ
システムの構成を示すブロック図である。
FIG. 1 is a block diagram showing a configuration of a disk array system according to a first embodiment of the present invention.

【図2】本発明の第1の実施形態によるディスクアレイ
システムに用いるLAの具体例の説明図である。
FIG. 2 is an explanatory diagram of a specific example of an LA used in the disk array system according to the first embodiment of the present invention.

【図3】本発明の第1の実施形態によるディスクアレイ
システムを構成するディスクアレイに用いるホスト情報
保持手段の構成を示す説明図である。
FIG. 3 is an explanatory diagram showing a configuration of a host information holding unit used for a disk array configuring the disk array system according to the first embodiment of the present invention.

【図4】本発明の第1の実施形態によるディスクアレイ
システムを構成するディスクアレイに用いるディスク情
報保持手段の構成を示す説明図である。
FIG. 4 is an explanatory diagram showing a configuration of a disk information holding unit used for a disk array configuring the disk array system according to the first embodiment of the present invention.

【図5】本発明の第1の実施形態によるディスクアレイ
システムを構成するディスクアレイに用いるLA付加手
段の構成を示す説明図である。
FIG. 5 is an explanatory diagram showing a configuration of an LA adding unit used for a disk array configuring the disk array system according to the first embodiment of the present invention.

【図6】本発明の第1の実施形態によるディスクアレイ
システムを構成するディスクアレイに用いるホスト側L
A検査手段の構成を示す説明図である。
FIG. 6 is a diagram illustrating a host side L used for a disk array configuring the disk array system according to the first embodiment of the present invention;
FIG. 3 is an explanatory diagram illustrating a configuration of an A inspection unit.

【図7】本発明の第1の実施形態によるディスクアレイ
システムを構成するディスクアレイに用いるLA削除手
段の構成を示す説明図である。
FIG. 7 is an explanatory diagram showing a configuration of an LA deletion unit used for a disk array configuring the disk array system according to the first embodiment of the present invention.

【図8】本発明の第1の実施形態によるディスクアレイ
システムを構成するディスクアレイに用いるディスク側
LA検査手段の構成を示す説明図である。
FIG. 8 is an explanatory diagram showing a configuration of a disk-side LA inspection unit used for a disk array configuring the disk array system according to the first embodiment of the present invention.

【図9】本発明の第1の実施形態によるディスクアレイ
システムを構成するディスクアレイに用いる転送リスト
格納手段の構成を示す説明図である。
FIG. 9 is an explanatory diagram showing a configuration of a transfer list storage means used for a disk array constituting the disk array system according to the first embodiment of the present invention.

【図10】本発明の第1の実施形態によるディスクアレ
イシステムにおけるホスト入出力手段からキャッシュへ
のデータ転送について示すフローチャートである。
FIG. 10 is a flowchart illustrating data transfer from a host input / output unit to a cache in the disk array system according to the first embodiment of the present invention.

【図11】本発明の第1の実施形態によるディスクアレ
イシステムにおけキャッシュからディスク入出力手段へ
のデータ転送について示すフローチャートである。
FIG. 11 is a flowchart showing data transfer from the cache to the disk input / output means in the disk array system according to the first embodiment of the present invention.

【図12】本発明の第1の実施形態によるディスクアレ
イシステムにおけるキャッシュからホスト入出力手段へ
のデータ転送について示すフローチャートである。
FIG. 12 is a flowchart illustrating data transfer from a cache to a host input / output unit in the disk array system according to the first embodiment of the present invention.

【図13】本発明の第1の実施形態によるディスクアレ
イシステムにおけるディスク入出力手段からキャッシュ
へのデータ転送について示すフローチャートである。
FIG. 13 is a flowchart illustrating data transfer from a disk input / output unit to a cache in the disk array system according to the first embodiment of the present invention.

【図14】本発明の第2の実施形態によるディスクアレ
イシステムの構成を示すブロック図である。
FIG. 14 is a block diagram illustrating a configuration of a disk array system according to a second embodiment of the present invention.

【図15】本発明の第2の実施形態によるディスクアレ
イシステムを構成するディスクアレイに用いる転送リス
ト格納手段の構成を示す説明図である。
FIG. 15 is an explanatory diagram showing a configuration of a transfer list storage unit used for a disk array configuring a disk array system according to a second embodiment of the present invention.

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

100,110,120…ホスト 130…バススイッチ 200…ディスクアレイ 208,209,210…ホスト入出力手段 211,221…DMA 218,219,220…ディスク入出力手段 228,229,230…ディスク装置群 234,235,236…ディスク装置 240…キャッシュ 250…MPU 260…メモリ 261…ディスクアレイ制御手段 262…LA設定手段 263…転送リスト格納手段 264…コマンド情報格納手段 270…キャッシュコントローラ 271…ホスト側内部バスバッファ 272…ディスク側内部バスバッファ 273…キャッシュ制御手段 300…LA付加手段 310…LA削除手段 320,340…LA保持手段 330…ホスト側LA検査手段 350…ディスク側LA検査手段 400…ホスト側内部バス転送リスト 440…ディスク側内部バス転送リスト 3000,3001,3002…拡張データ 4000,4001,4002…論理データブロック 5000,5001,5002…LA部 100, 110, 120 Host 130 Bus switch 200 Disk array 208, 209, 210 Host input / output means 211, 221 DMA 218, 219, 220 Disk input / output means 228, 229, 230 Disk group 234 , 235, 236 disk device 240 cache 250 MPU 260 memory 261 disk array control unit 262 LA setting unit 263 transfer list storage unit 264 command information storage unit 270 cache controller 271 host internal bus buffer 272: Disk-side internal bus buffer 273: Cache control means 300: LA adding means 310: LA deleting means 320, 340: LA holding means 330: Host-side LA checking means 350: Disk-side LA checking means 4 0 ... host-side internal bus transfer list 440 ... disk-side internal bus transfer list 3000,3001,3002 ... extension data 4000,4001,4002 ... logical data blocks 5000,5001,5002 ... LA portion

───────────────────────────────────────────────────── フロントページの続き (72)発明者 山本 政行 神奈川県川崎市麻生区王禅寺1099番地 株 式会社日立製作所システム開発研究所内 (72)発明者 松本 純 神奈川県川崎市麻生区王禅寺1099番地 株 式会社日立製作所システム開発研究所内 (72)発明者 味松 康行 神奈川県川崎市麻生区王禅寺1099番地 株 式会社日立製作所システム開発研究所内 (72)発明者 佐藤 雅彦 神奈川県小田原市国府津2880番地 株式会 社日立製作所ストレージシステム事業部内 Fターム(参考) 5B018 GA01 GA04 HA14 HA40 MA14 QA16 5B065 BA01 CA11 CA30 CH01 EA02 EA12 EA21  ──────────────────────────────────────────────────続 き Continued on the front page (72) Inventor Masayuki Yamamoto 1099 Ozenji Temple, Aso-ku, Kawasaki City, Kanagawa Prefecture Inside Hitachi, Ltd.System Development Laboratory (72) Inventor Jun Matsumoto 1099 Ozenji Temple, Aso-ku, Kawasaki City, Kanagawa Prefecture Stock Company (72) Inventor Yasuyuki Yasuyuki 1099 Ozenji Temple, Aso-ku, Kawasaki City, Kanagawa Prefecture, Japan Incorporated Hitachi System Development Laboratory (72) Masahiko Sato 2880 Kozu, Kozu, Odawara City, Kanagawa Prefecture Co., Ltd. F-term in Hitachi Storage Systems Division (reference) 5B018 GA01 GA04 HA14 HA40 MA14 QA16 5B065 BA01 CA11 CA30 CH01 EA02 EA12 EA21

Claims (5)

【特許請求の範囲】[Claims] 【請求項1】アレイ状に配置した複数のディスク装置を
有するディスクアレイにホストからのデータを書き込
み、また、上記ディスクアレイに書き込まれたデータを
上記ホストに読み出すディスクアレイシステムにおい
て、 上記ディスクアレイは、上記ホストとの入出力を行う転
送機能を有するホスト入出力手段と、データを一時的に
保持するキャッシュと、データの属性に基づく保証コー
ドを特定する値を保持する保証コード保持手段と、上記
ホスト入出力手段の転送リストを作成するMPUとを備
え、 上記ホストからのデータの書込み要求時には、 上記MPUは、上記ホスト入出力手段が参照する転送リ
ストを作成し、この転送リスト中にデータの属性に基づ
く保証コードを特定する値を設定し、 上記ホスト入出力手段は、データの属性に基づく保証コ
ードを特定する値を含む上記転送リストに従い、データ
を上記キャッシュに送信し、 上記保証コード保持手段は、データが上記キャッシュに
送信される際にデータの属性に基づく保証コードを特定
する値を獲得し、データの属性に基づく保証コードを特
定する値を保持し、 上記保証コード付加手段は、上記保証コード保持手段に
格納したデータの属性に基づく保証コードを特定する値
を上記キャッシュに書き込まれるデータに付加すること
を特徴とするディスクアレイシステム。
1. A disk array system for writing data from a host to a disk array having a plurality of disk devices arranged in an array and reading data written to the disk array to the host. A host input / output unit having a transfer function of performing input / output with the host, a cache for temporarily holding data, a guarantee code holding unit for holding a value specifying a guarantee code based on the attribute of the data, And an MPU for creating a transfer list of the host input / output means. When a data write request is issued from the host, the MPU creates a transfer list referred to by the host input / output means, and stores data in the transfer list. Set a value that specifies the guarantee code based on the attribute, and the host input / output The data is transmitted to the cache according to the transfer list including a value specifying a guarantee code based on the property, and the guarantee code holding unit specifies a guarantee code based on an attribute of the data when the data is transmitted to the cache. A value for specifying the guarantee code based on the attribute of the data, and the guarantee code adding means caches the value for specifying the guarantee code based on the attribute of the data stored in the guarantee code holding means. A disk array system characterized by adding data to data written to a disk.
【請求項2】請求項1記載のディスクアレイシステムに
おいて、 上記ディスクアレイは、さらに、データの属性に基づく
保証コードを特定する値を検査するホスト側検査手段を
備え、 ホストからのデータの読み出し要求時には、 上記MPUは、上記ホスト入出力手段が参照する転送リ
ストを作成し、この転送リスト中にデータの属性に基づ
く保証コードを特定する値を設定し、 上記ホスト入出力手段は、データの属性に基づく保証コ
ードを特定する値を含む上記転送リストにしたがい、デ
ータを上記キャッシュから受信し、 上記保証コード保持手段は、データが上記キャッシュか
ら受信される際にデータの属性に基づく保証コードを特
定する値を獲得し、データの属性に基づく保証コードを
特定する値を保持し、 上記ホスト側検査手段は、上記保証コード保持手段に格
納したデータの属性に基づく保証コードを特定する値
と、上記キャッシュから読み出されるデータに付加して
いるデータの属性に基づく保証コードを特定する値を比
較することを特徴とするディスクアレイシステム。
2. The disk array system according to claim 1, wherein said disk array further comprises host-side checking means for checking a value for specifying a guarantee code based on a data attribute, and wherein a data read request from the host is provided. In some cases, the MPU creates a transfer list referred to by the host input / output means, sets a value specifying a guarantee code based on data attributes in the transfer list, and the host input / output means Receiving the data from the cache according to the transfer list including a value specifying a guarantee code based on the security code; and specifying the guarantee code based on the attribute of the data when the data is received from the cache. And a value that specifies a guarantee code based on the attribute of the data is held. Comparing the value specifying the guarantee code based on the attribute of the data stored in the guarantee code holding means with the value specifying the guarantee code based on the attribute of the data added to the data read from the cache. Disk array system.
【請求項3】請求項1記載のディスクアレイシステムに
おいて、 上記ディスクアレイは、上記複数のディスク装置との入
出力を行うディスク入出力手段と、データの属性に基づ
く保証コードを特定する値を検査するディスク側検査手
段を備え、上記MPUは、上記ディスク入出力手段の転
送リストを作成するとともに、 上記ホストからのデータの書込み要求時には、 上記MPUは、上記ディスク入出力手段が参照する転送
リストを作成し、この転送リスト中にデータの属性に基
づく保証コードを特定する値を設定し、 上記ディスク入出力手段は、データの属性に基づく保証
コードを特定する値を含む上記転送リストにしたがい、
データを上記キャッシュから受信し、 上記保証コード保持手段は、データが上記キャッシュか
ら受信される際にデータの属性に基づく保証コードを特
定する値を獲得し、データの属性に基づく保証コードを
特定する値を保持し、 上記ディスク側検査手段は、上記保証コード保持手段に
格納したデータの属性に基づく保証コードを特定する値
と、上記キャッシュから読み出されるデータに付加して
いるデータの属性に基づく保証コードを特定する値を比
較し、 また、上記ホストからのデータの読み出し要求時には、 上記MPUは、上記ディスク入出力手段が参照する転送
リストを作成し、この転送リスト中にデータの属性に基
づく保証コードを特定する値を設定し、 上記ディスク入出力手段は、データの属性に基づく保証
コードを特定する値を含む上記転送リストにしたがい、
データを上記キャッシュに送信し、 上記保証コード保持手段は、データが上記キャッシュに
送信される際にデータの属性に基づく保証コードを特定
する値を獲得し、データの属性に基づく保証コードを特
定する値を保持し、 上記ディスク側検査手段は、上記保証コード保持手段に
格納したデータの属性に基づく保証コードを特定する値
と、上記キャッシュに書き込まれるデータに付加してい
るデータの属性に基づく保証コードを特定する値を比較
することを特徴とするディスクアレイシステム。
3. The disk array system according to claim 1, wherein said disk array checks a disk input / output means for inputting / outputting data from / to said plurality of disk devices and a value specifying a guarantee code based on a data attribute. The MPU creates a transfer list for the disk input / output means, and upon a data write request from the host, the MPU reads the transfer list referred to by the disk input / output means. Create and set a value for specifying a guarantee code based on the attribute of the data in the transfer list, and the disk input / output means follows the transfer list including a value for specifying the guarantee code based on the attribute of the data,
Data is received from the cache, and the guarantee code holding unit acquires a value specifying a guarantee code based on the attribute of the data when the data is received from the cache, and specifies the guarantee code based on the attribute of the data. The disk-side inspection unit stores a value specifying a guarantee code based on the attribute of the data stored in the guarantee code holding unit and a guarantee based on the attribute of the data added to the data read from the cache. The MPU creates a transfer list referred to by the disk input / output means when a data read request is made from the host, and a guarantee based on the data attribute is included in the transfer list. A value for specifying a code is set, and the disk input / output means specifies a guarantee code based on a data attribute. In accordance with the transfer list, including,
The data is transmitted to the cache, and the guarantee code holding unit acquires a value specifying a guarantee code based on the attribute of the data when the data is transmitted to the cache, and specifies the guarantee code based on the attribute of the data. The disk-side inspection unit stores a value specifying a guarantee code based on the attribute of the data stored in the guarantee code holding unit and a guarantee based on the attribute of the data added to the data written in the cache. A disk array system comprising comparing values specifying codes.
【請求項4】請求項1記載のディスクアレイシステムに
おいて、 上記ディスクアレイは、データ書込み要求時にホスト転
送パラメータを保持するホスト側保持手段を備えたこと
を特徴とするディスクアレイシステム。
4. The disk array system according to claim 1, wherein said disk array includes host-side holding means for holding host transfer parameters when a data write request is made.
【請求項5】請求項1記載のディスクアレイシステムに
おいて、 上記ディスクアレイは、データリード要求時にディスク
転送パラメータを保持するディスク側保持手段を備えた
ことを特徴とするディスクアレイシステム。
5. The disk array system according to claim 1, wherein said disk array includes disk-side holding means for holding a disk transfer parameter at the time of a data read request.
JP11159828A 1999-06-07 1999-06-07 Disk array system Pending JP2000347815A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11159828A JP2000347815A (en) 1999-06-07 1999-06-07 Disk array system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11159828A JP2000347815A (en) 1999-06-07 1999-06-07 Disk array system

Publications (1)

Publication Number Publication Date
JP2000347815A true JP2000347815A (en) 2000-12-15

Family

ID=15702149

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11159828A Pending JP2000347815A (en) 1999-06-07 1999-06-07 Disk array system

Country Status (1)

Country Link
JP (1) JP2000347815A (en)

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2870614A1 (en) * 2004-05-24 2005-11-25 Hitachi Ltd GUARANTEED MEMORIZATION DEVICE WITH WORM FUNCTION
US7039758B2 (en) 2003-03-25 2006-05-02 Hitachi, Ltd. Disk array system based on disks with a fixed-length unit of access
US7124258B2 (en) 2003-07-03 2006-10-17 Hitachi, Ltd. Storage system and storage device system
JP2007264917A (en) * 2006-03-28 2007-10-11 Hitachi Ltd Storage controller and control method of storage controller
US7293139B2 (en) 2004-07-28 2007-11-06 Hitachi, Ltd. Disk array system generating a data guarantee code on data transferring
JP2008009635A (en) * 2006-06-28 2008-01-17 Hitachi Ltd Storage system and its data protection method
EP2042980A2 (en) 2007-09-26 2009-04-01 Hitachi, Ltd. Storage sub-system and method for controlling the same
US7570447B2 (en) 2004-11-05 2009-08-04 Hitachi, Ltd. Storage control device and method for detecting write errors to storage media
EP2192480A1 (en) 2008-11-27 2010-06-02 Hitachi Ltd. Storage control apparatus
US7966471B2 (en) 2007-11-22 2011-06-21 Hitachi, Ltd. Storage controller and method for control of a data storage device
US7996712B2 (en) 2008-02-20 2011-08-09 Hitachi, Ltd. Data transfer controller, data consistency determination method and storage controller
EP2375329A2 (en) 2010-04-08 2011-10-12 Hitachi, Ltd. Methods and apparatus for managing error codes for storage systems coupled with external storage systems
JP2012503828A (en) * 2008-09-26 2012-02-09 マイクロン テクノロジー, インク. Data streaming for solid-state mass storage
US8234542B2 (en) 2008-11-25 2012-07-31 Hitachi, Ltd. Storage controller and method for controlling input and output of data between a storage apparatus and a host computer
US8402210B2 (en) 2004-11-11 2013-03-19 Hitachi, Ltd. Disk array system
WO2016088219A1 (en) * 2014-12-03 2016-06-09 株式会社日立製作所 Storage system and data transfer method
US9760296B2 (en) 2013-05-20 2017-09-12 Hitachi, Ltd. Storage device and method for controlling storage device

Cited By (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7039758B2 (en) 2003-03-25 2006-05-02 Hitachi, Ltd. Disk array system based on disks with a fixed-length unit of access
US7421553B2 (en) 2003-07-03 2008-09-02 Hitachi, Ltd. Remote copy operation between different sort of storage system and storage device system
US7124258B2 (en) 2003-07-03 2006-10-17 Hitachi, Ltd. Storage system and storage device system
EP1510921A3 (en) * 2003-07-03 2008-06-11 Hitachi, Ltd. Remote copy storage system
US7024522B2 (en) 2004-05-24 2006-04-04 Hitachi, Ltd. Worm guarantee storage device employing block write inhibition information
FR2870614A1 (en) * 2004-05-24 2005-11-25 Hitachi Ltd GUARANTEED MEMORIZATION DEVICE WITH WORM FUNCTION
US7293139B2 (en) 2004-07-28 2007-11-06 Hitachi, Ltd. Disk array system generating a data guarantee code on data transferring
US7570447B2 (en) 2004-11-05 2009-08-04 Hitachi, Ltd. Storage control device and method for detecting write errors to storage media
US8402210B2 (en) 2004-11-11 2013-03-19 Hitachi, Ltd. Disk array system
US7472250B2 (en) 2006-03-28 2008-12-30 Hitachi, Ltd. Storage control device, and control method for storage control device
US7865664B2 (en) 2006-03-28 2011-01-04 Hitachi, Ltd. Storage control device, and control method for storage control device
JP2007264917A (en) * 2006-03-28 2007-10-11 Hitachi Ltd Storage controller and control method of storage controller
JP2008009635A (en) * 2006-06-28 2008-01-17 Hitachi Ltd Storage system and its data protection method
EP2042980A2 (en) 2007-09-26 2009-04-01 Hitachi, Ltd. Storage sub-system and method for controlling the same
US8051367B2 (en) 2007-09-26 2011-11-01 Hitachi, Ltd. Storage sub-system and method for controlling the same
US8209595B2 (en) 2007-09-26 2012-06-26 Hitachi, Ltd. Storage sub-system and method for controlling the same
US7966471B2 (en) 2007-11-22 2011-06-21 Hitachi, Ltd. Storage controller and method for control of a data storage device
US7996712B2 (en) 2008-02-20 2011-08-09 Hitachi, Ltd. Data transfer controller, data consistency determination method and storage controller
JP2012503828A (en) * 2008-09-26 2012-02-09 マイクロン テクノロジー, インク. Data streaming for solid-state mass storage
US8234542B2 (en) 2008-11-25 2012-07-31 Hitachi, Ltd. Storage controller and method for controlling input and output of data between a storage apparatus and a host computer
US8140749B2 (en) 2008-11-27 2012-03-20 Hitachi, Ltd. Storage control apparatus with memory backup device
EP2192480A1 (en) 2008-11-27 2010-06-02 Hitachi Ltd. Storage control apparatus
EP2375329A2 (en) 2010-04-08 2011-10-12 Hitachi, Ltd. Methods and apparatus for managing error codes for storage systems coupled with external storage systems
US8407517B2 (en) 2010-04-08 2013-03-26 Hitachi, Ltd. Methods and apparatus for managing error codes for storage systems coupled with external storage systems
US8738963B2 (en) 2010-04-08 2014-05-27 Hitachi, Ltd. Methods and apparatus for managing error codes for storage systems coupled with external storage systems
US9361177B2 (en) 2010-04-08 2016-06-07 Hitachi, Ltd. Methods and apparatus for managing error codes for storage systems coupled with external storage systems
US9760296B2 (en) 2013-05-20 2017-09-12 Hitachi, Ltd. Storage device and method for controlling storage device
WO2016088219A1 (en) * 2014-12-03 2016-06-09 株式会社日立製作所 Storage system and data transfer method

Similar Documents

Publication Publication Date Title
JP2000347815A (en) Disk array system
US7117309B2 (en) Method of detecting sequential workloads to increase host read throughput
US6772310B2 (en) Method and apparatus for zeroing a transfer buffer memory as a background task
US7493450B2 (en) Method of triggering read cache pre-fetch to increase host read throughput
US6542960B1 (en) System and method for parity caching based on stripe locking in raid data storage
US7730257B2 (en) Method and computer program product to increase I/O write performance in a redundant array
US6526477B1 (en) Host-memory based raid system, device, and method
US9513825B2 (en) Storage system having a channel control function using a plurality of processors
US5996046A (en) Parity generation system for generating new parity using old data in temporary storage without accessing main disk storage of disk drive
US11714808B2 (en) Pattern search request embedded in a transport mode command word for a channel subsystem in a storage system
US20020087786A1 (en) Method, system, and data structures for superimposing data records in a first data format to memory in a second data format
US8347032B2 (en) Image forming apparatus and access request arbitration method for a RAID driver
US5958078A (en) Storage unit and storage unit subsystem
JP2004185349A (en) Update data writing method using journal log
GB2271462A (en) Disk array recording system
JP4100256B2 (en) Communication method and information processing apparatus
JP3753598B2 (en) Computer, computer system and data transfer method
JPH05265661A (en) Disk processor
US8713266B2 (en) Storage apparatus and method including page discard processing for primary and secondary volumes configured as a copy pair
CN114817093B (en) Data transmission method, system, device and storage medium
US6889301B1 (en) Data storage system
JP4394533B2 (en) Disk array system
Thomasian et al. Disk scheduling policies with lookahead
JP4936088B2 (en) Disk array device, disk array system, and cache control method
JP2001282463A (en) Method for operating plural data transfer transactions in parallel

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040109

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060713

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060725

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060919

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070403