JP2002132453A - Disk array system - Google Patents

Disk array system

Info

Publication number
JP2002132453A
JP2002132453A JP2000321280A JP2000321280A JP2002132453A JP 2002132453 A JP2002132453 A JP 2002132453A JP 2000321280 A JP2000321280 A JP 2000321280A JP 2000321280 A JP2000321280 A JP 2000321280A JP 2002132453 A JP2002132453 A JP 2002132453A
Authority
JP
Japan
Prior art keywords
data
host
fiber
cache
interface
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2000321280A
Other languages
Japanese (ja)
Inventor
Shiyoumei Kyo
小明 姜
Akira Yamanashi
晃 山梨
Ikuya Yagisawa
育哉 八木沢
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 JP2000321280A priority Critical patent/JP2002132453A/en
Publication of JP2002132453A publication Critical patent/JP2002132453A/en
Withdrawn legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

PROBLEM TO BE SOLVED: To realize a disk array having a high internal transfer capacity corresponding to a host computer with a high-speed fiber interface. SOLUTION: This disk array system is equipped with plural upper fiber interfaces 102 that receive/send data from/to a host fiber interface 100, a cache memory 105 connected to the plural upper fiber interfaces, plural disk storage means 107 which data is written on or read from, and a disk drive interface 106 for controlling the storage means, and each of the plural upper fiber interfaces has a cache memory. Moreover, in the disk array system, a data distribution controlling part 103 is provided between the host fiber interface and the upper fiber interfaces.

Description

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

【0001】[0001]

【発明の属する技術分野】本発明はファイバインタフェ
ースを使用するコンピュータシステムに接続される磁気
ディスク装置、磁気テープ装置、半導体記憶装置または
光ディスク装置などの記憶媒体を制御する記憶システム
に関する。
The present invention relates to a storage system for controlling a storage medium such as a magnetic disk device, a magnetic tape device, a semiconductor storage device or an optical disk device connected to a computer system using a fiber interface.

【0002】[0002]

【従来の技術】ディスクアレイシステムは、RAID
(Redundant Arraysof Inexp
ensive Disks)とも呼ばれ、複数のディス
ク装置を列状(アレイ状)に配置した構成をとり、ホス
トからのリード要求(データの読み出し要求)およびラ
イト要求(データの書き込み要求)をディスクの並列動
作によって高速に処理するとともに、データに冗長デー
タを付加することによって信頼性を向上させた記憶装置
である。ディスクアレイシステムは、冗長データの種類
と構成により5つのレベルに分類されている(論文:
「A Case for Redundant Arr
ays of Inexpensive Disks
(RAID)」, David A.Patterso
n, Garth Gibson, and Rand
y H.Katz, Computer Scienc
e Division Department of
Electrical Engineering an
d Computer Sciences, Univ
ersity of California Berk
eley)。
2. Description of the Related Art Disk array systems use RAID.
(Redundant Arraysof Inexp
Also referred to as "enhanced disks", a configuration in which a plurality of disk devices are arranged in a row (array) is used, and a read request (data read request) and a write request (data write request) from the host are operated in parallel with the disks. A storage device that performs high-speed processing and adds redundant data to data to improve reliability. Disk array systems are classified into five levels according to the type and configuration of redundant data.
"A Case for Redundant Arr
ays of Inexpensive Disks
(RAID) ", David A. Patterso
n, Garth Gibson, and Rand
yH. Katz, Computer Science
e Division Division of
Electrical Engineering an
d Computer Sciences, Univ
erity of California Berke
eley).

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

【0004】図2はRAID技術による従来ディスクア
レイ構成図である。ディスクアレイシステムは、ホスト
インタフェース200に接続するディスクアレイのファ
イバまたはSCSIの上位インタフェース202と、イ
ンタフェース202と内部バス203で互いに接続され
るMPUユニット204及びキャッシュコントローラ2
05と、キャッシュコントローラ205に接続するHD
Dインタフェース207と、HDD群209と、から構
成される。
FIG. 2 is a configuration diagram of a conventional disk array based on the RAID technology. The disk array system includes a disk array fiber or SCSI upper interface 202 connected to the host interface 200, an MPU unit 204 and a cache controller 2 connected to each other via the interface 202 and the internal bus 203.
05 and the HD connected to the cache controller 205
D interface 207 and HDD group 209.

【0005】図2では、上位インタフェースを1個とし
て書いているが、複数であってもよい。この場合に、図
2の構成において、共有するキャッシュメモリに複数の
上位インタフェースが接続される構成となっており、上
位インタフェースの転送能力を活かしきるため、上位イ
ンタフェースとキャッシュメモリ間のデータバスの転送
能力が上位インタフェース転送能力以上であることが前
提となる。ここで言う転送能力とは、単位時間あたりに
送ることのできるデータ量のことであり、例えば、1秒
間に1ギガバイトのデータを転送できる能力を1ギガバ
イト毎秒(GB/s)と表すこととする。
[0005] In FIG. 2, one upper interface is written, but a plurality may be provided. In this case, in the configuration of FIG. 2, a plurality of upper interfaces are connected to the shared cache memory, and the data bus transfer between the upper interface and the cache memory is performed in order to utilize the transfer capability of the upper interface. It is assumed that the capability is equal to or higher than the upper interface transfer capability. The transfer capability referred to here is the amount of data that can be transmitted per unit time. For example, the capability to transfer 1 gigabyte of data per second is represented by 1 gigabyte per second (GB / s). .

【0006】[0006]

【発明が解決しようとする課題】図2に示す従来アーキ
テクチャでは、ホストからのリード要求において、ディ
スクからキャッシュメモリにデータを送り、その後、キ
ャッシュメモリからホストにデータを送るという流れで
ある。ホストインタフェースの転送能力を1とした場
合、ディスクインタフェースの転送能力は1、キャッシ
ュメモリの転送能力は2となる。キャッシュメモリは、
データの入力と出力があるため、ホストインタフェー
ス、および、ディスクインタフェースの2倍の転送能力
となる。ホストインタフェースの転送能力を生かしきる
ためには、キャッシュメモリの転送能力はホストインタ
フェースの2倍が必要となる。同様に、上位ホストの個
数がN倍となれば、上位ホストインタフェースの転送能
力もN倍となり、キャッシュメモリの転送能力は2N倍
となる。
In the conventional architecture shown in FIG. 2, in response to a read request from the host, data is sent from the disk to the cache memory, and then data is sent from the cache memory to the host. If the transfer capability of the host interface is 1, the transfer capability of the disk interface is 1, and the transfer capability of the cache memory is 2. Cache memory is
Since there is input and output of data, the transfer capability is twice that of the host interface and the disk interface. To make full use of the transfer capability of the host interface, the transfer capability of the cache memory needs to be twice that of the host interface. Similarly, if the number of upper hosts becomes N times, the transfer capacity of the upper host interface also becomes N times, and the transfer capacity of the cache memory becomes 2N times.

【0007】このことからも分かるように、従来ディス
クアレイのアーキテクチャにおいて、上位側の転送能力
以上に、内部バスの転送能力を上げると共に、キャッシ
ュメモリの転送能力も内部バス転送能力の向上に伴って
上げるのが必須である。
As can be seen from the above, in the conventional disk array architecture, the transfer capability of the internal bus is increased beyond the transfer capability of the upper side, and the transfer capability of the cache memory is also increased with the improvement of the internal bus transfer capability. It is essential to raise.

【0008】本発明の目的は、前述した従来技術の課題
を解決し、複数の上位ファイバインタフェースを同時に
駆使し、一つの高速ホストファイバインタフェースとデ
ータやり取りを行うことにより、ホストファイバインタ
フェースに比べてその転送速度の低い内部バスを有する
ディスクアレイでも、転送速度が高速であるホストファ
イバインタフェースへの対応を可能とすることにある。
An object of the present invention is to solve the above-mentioned problems of the prior art, and to simultaneously utilize a plurality of upper fiber interfaces to exchange data with one high-speed host fiber interface. A disk array having an internal bus with a low transfer rate can cope with a host fiber interface having a high transfer rate.

【0009】また、本発明の他の目的は、ディスクアレ
イ内部で複数上位ファイバインタフェースを有する場
合、ホストに複数ファイバインタフェースをアクセスす
る時の管理、或はターゲットID(複数ファイバのそれ
ぞれのポートに付したアドレス)の切替負荷を掛けずに
(ターゲットIDを切り替えた後にファイバ接続するの
ではホストに負荷が掛かるので)、一つのファイバイン
タフェースをアクセスするようにする手段を提供するこ
とにある。
Another object of the present invention is to provide a host for managing a plurality of fiber interfaces when a plurality of higher-level fiber interfaces are provided in a disk array, or a target ID (for each port of a plurality of fibers). This is to provide a means for accessing one fiber interface without applying a load of switching of the target address (when a fiber connection is made after switching the target ID, a load is applied to the host).

【0010】[0010]

【課題を解決するための手段】前記課題を解決するため
に、本発明は主として次のような構成を採用する。
In order to solve the above problems, the present invention mainly employs the following configuration.

【0011】ホストファイバインタフェースからのデー
タを授受する複数の上位ファイバインタフェースと、前
記複数上位ファイバインタフェースに接続されたキャッ
シュメモリと、データを書き込み又は読み出す複数のデ
ィスク記憶手段と、前記記憶手段を制御するディスクド
ライブインタフェースと、を備えたディスクアレイシス
テムであって、前記複数の上位ファイバインタフェース
の各上位ファイバインタフェースに対応してそれぞれキ
ャッシュメモリを備えているディスクアレイシステム。
A plurality of upper fiber interfaces for transmitting and receiving data from the host fiber interface; a cache memory connected to the plurality of upper fiber interfaces; a plurality of disk storage means for writing or reading data; and controlling the storage means. A disk array system comprising: a disk drive interface; and a cache memory corresponding to each of the upper fiber interfaces of the plurality of upper fiber interfaces.

【0012】また、ホストファイバインタフェースから
のデータを授受する複数の上位ファイバインタフェース
と、前記複数上位ファイバインタフェースに接続された
キャッシュメモリと、データを書き込み又は読み出す複
数のディスク記憶手段と、前記記憶手段を制御するディ
スクドライブインタフェースと、を備えたディスクアレ
イシステムであって、前記ホストファイバインタフェー
スと前記上位ファイバインタフェースとの間にデータ配
分制御部を設け、前記データ配分制御部は、ライト時に
は、前記ホストファイバインタフェースからのデータを
複数に分割して前記複数の上位ファイバインタフェース
に供給するとともに、前記複数上位ファイバインタフェ
ースを介して前記分割されたデータを並列に複数キャッ
シュメモリに同時に転送する、また、リード時において
は、複数キャッシュメモリからのデータを並列に複数の
上位ファイバインタフェースを通してデータ配分制御部
に転送して前記データ配分制御部で分割されたデータを
元のデータとして束ね、ホストへリードデータを返すデ
ィスクアレイシステム。
A plurality of upper fiber interfaces for transmitting and receiving data from the host fiber interface, a cache memory connected to the plurality of upper fiber interfaces, a plurality of disk storage means for writing or reading data, and the storage means. A disk drive interface to be controlled, comprising: a data distribution control unit provided between the host fiber interface and the higher-level fiber interface; The data from the interface is divided into a plurality of data and supplied to the plurality of upper fiber interfaces, and the divided data is simultaneously transmitted to the plurality of cache memories in parallel through the plurality of upper fiber interfaces. To transfer, and at the time of reading, the data from the plurality of cache memories is transferred in parallel to the data distribution control unit through the plurality of upper fiber interfaces, and the data divided by the data distribution control unit is bundled as original data, A disk array system that returns read data to the host.

【0013】[0013]

【発明の実施の形態】本発明の実施形態に係るディスク
アレイシステムについて、図面を用いて以下説明する。
図1は本発明の実施形態に係るディスクアレイシステム
であり、ディスクアレイシステムは、図1に示すよう
に、ホストファイバインタフェース100にファイバケ
ーブル101を介して接続されるデータ配分制御部10
3と、前記データ配分制御部103にファイバケーブル
108−0、1を介して接続される上位ファイバインタ
フェース102−0と102−1と、上位ファイバイン
タフェース102−0、1に接続される一時的にデータ
を保存するキャッシュメモリの制御コントローラ104
−0と104−1と、これらのキャッシュコントローラ
104−0,1配下のキャッシュメモリ105−0,1
と、HDDインタフェース106と、ディスク群HDD
107と、から構成される。キャッシュコントローラ1
04−0と104−1間でキャッシュ管理情報とデータ
の交信を出来るように、高速なデータバス111により
接続される。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS A disk array system according to an embodiment of the present invention will be described below with reference to the drawings.
FIG. 1 shows a disk array system according to an embodiment of the present invention. As shown in FIG. 1, the disk array system includes a data distribution control unit 10 connected to a host fiber interface 100 via a fiber cable 101.
3, upper fiber interfaces 102-0 and 102-1 connected to the data distribution control unit 103 via fiber cables 108-0 and 1, and temporarily connected to the upper fiber interfaces 102-0 and 102-1. Cache memory control controller 104 for storing data
−0 and 104-1 and the cache memories 105-0,1 under the cache controllers 104-0,1
, HDD interface 106, disk group HDD
107. Cache controller 1
It is connected by a high-speed data bus 111 so that cache management information and data can be exchanged between 04-0 and 104-1.

【0014】前述したディスクアレイの構成において、
ホストは、転送速度がディスクアレイのそれよりも高速
であるファイバインタフェースを介してディスクアレイ
に対してライトする時、ディスクアレイのデータ配分制
御部103で一旦データを受け取り、ディスクアレイ内
部の上位ファイバインタフェースの数に応じてデータを
分割する。また、受け取ったホストコマンドから上位フ
ァイバインタフェースへのライトコマンドを生成し、各
上位ファイバインタフェース102−0,1を介してキ
ャッシュメモリ105−0,1にライトする。
In the configuration of the disk array described above,
When the host writes data to the disk array via the fiber interface whose transfer speed is higher than that of the disk array, the data is temporarily received by the data distribution control unit 103 of the disk array, and the upper fiber interface in the disk array is received. The data is divided according to the number of. Further, a write command to the upper fiber interface is generated from the received host command, and the write command is written to the cache memory 105-0,1 via each upper fiber interface 102-0,1.

【0015】キャッシュメモリ105で分割されたデー
タブロックにホストデータを復元するための関連性を持
たせた後、冗長情報をつけ、空き時間でHDD群107
にライトする。また、ホストからのリード命令に対して
は、キャッシュメモリ上にデータが存在する場合はキャ
ッシュメモリ105から、キャッシュメモリにデータが
存在しない時は、HDD群107より、データ配分制御
部103に要求データを送り、データ配分制御部103
で連続したデータにし、ホストに返す(詳細は後述)。
After the data blocks divided by the cache memory 105 are associated with each other for restoring the host data, the redundancy information is added, and the HDD group 107 is set in the free time.
Write to In response to a read command from the host, the request distribution data is sent to the data distribution control unit 103 from the cache memory 105 when data is present in the cache memory and from the HDD group 107 when data is not present in the cache memory. And the data distribution control unit 103
And returns it to the host (details will be described later).

【0016】次に、図3に基づいてデータ配分制御部1
03の機能乃至作用を説明する。図3に示す構成は、図
1のデータ配分制御部103の詳細構造である。ホスト
ファイバインタフェース100と上位ファイバインタフ
ェース102間の転送スピード差を十分に吸収するた
め、各上位ファイバインタフェースにおいて、2面のバ
ッファを設け、総計4面とする。各バッファの容量は等
しい。ホストファイバドライブ制御部301に4面のデ
ータ転送バッファ304−0,1,2,3が、301の
ホストファイバと同速度を有する内部バス303、30
5−0,1,2,3とバッファバススイッチ302を介
して接続され、また、前記の4面データバッファが上位
ファイバドライブ制御部307と同等な転送速度を有す
る内部データバス308、309、311−0,1,
2,3とバススイッチ306を介して上位のファイバド
ライブ制御部307−0、1に接続される。
Next, the data distribution control unit 1 will be described with reference to FIG.
The function or operation of 03 will be described. The configuration shown in FIG. 3 is a detailed structure of the data distribution control unit 103 in FIG. In order to sufficiently absorb the transfer speed difference between the host fiber interface 100 and the upper fiber interface 102, two buffers are provided in each upper fiber interface to make a total of four buffers. The capacity of each buffer is equal. In the host fiber drive control unit 301, four data transfer buffers 304-0, 1, 2, 3 have internal buses 303, 30 having the same speed as the host fiber 301.
5-0, 1, 2, 3 via the buffer bus switch 302, and the four-sided data buffer has an internal data bus 308, 309, 311 having a transfer rate equivalent to that of the upper-level fiber drive control unit 307. −0,1,
These are connected to the upper-level fiber drive controllers 307-0 and 307-1 via the bus switches 306 and 2,3.

【0017】バッファスイッチ302によりホストファ
イバドライブ制御部301が接続したいバッファへの切
り替えを行い、301が使用していないほかの3面バッ
ファを上位ファイバドライブ制御部307−0,1に使
わせることを可能とする。また、バススイッチ306の
切り替えにより、4面バッファの内の2面が同時にファ
イバドライブ制御部307−0,1との間でデータ転送
を行うことができる。前記バススイッチの切り替え動作
は後述の転送リストに基づいて行われる。バススイッチ
を導入することにより、バス転送能力は勿論、バッファ
とファイバドライブ制御部間のデータ転送速度が最大限
に引き出せる。
The buffer switch 302 causes the host fiber drive control unit 301 to switch to the buffer to be connected, and causes the upper-level fiber drive control units 307-0, 307-1 to use another three-sided buffer not used by 301. Make it possible. By switching the bus switch 306, two of the four buffers can simultaneously transfer data with the fiber drive controllers 307-0 and 307-0. The switching operation of the bus switch is performed based on a transfer list described later. By introducing the bus switch, the data transfer speed between the buffer and the fiber drive control unit can be maximized as well as the bus transfer capability.

【0018】MPUユニット部310にホストコンピュ
ータからのコマンドを記憶するエリアを設ける。アクセ
ス先のアドレス及び転送データ長をホストから受け取っ
たコマンドより割り出し、転送データ長を上位ファイバ
インタフェースの数で割った値が各上位ファイバドライ
ブ制御部307−0,1が転送するデータの長さとな
り、更にこの転送データ長を用いてデータ配分制御部内
の一つバッファの大きさで割ったものを各上位ファイバ
ドライブ制御部307−0,1が起動するバッファの回
数とする。例えば、上位ファイバインタフェースの数は
N、バッファのサイズはMとして、ホストからのリード
またはライトデータの長さはLとする場合は、各上位フ
ァイバインタフェースによる転送データ長はL/Nとな
り、各上位ファイバインタフェースが起動するバッファ
の回数は(L/N)/Mとなる。前記転送回数を用いて
ホストファイバドライブ制御部301、上位ファイバド
ライブ制御部307に転送リストを生成する。
The MPU unit 310 has an area for storing commands from the host computer. The address of the access destination and the transfer data length are determined from the command received from the host, and the value obtained by dividing the transfer data length by the number of upper fiber interfaces is the length of the data transferred by each upper fiber drive control unit 307-0,1. Further, a value obtained by dividing the transfer data length by the size of one buffer in the data distribution control unit is set as the number of buffers to be activated by each upper fiber drive control unit 307-0,1. For example, if the number of upper fiber interfaces is N, the buffer size is M, and the length of read or write data from the host is L, the transfer data length by each upper fiber interface is L / N, and The number of buffers activated by the fiber interface is (L / N) / M. A transfer list is generated in the host fiber drive control unit 301 and the upper-level fiber drive control unit 307 using the transfer count.

【0019】図8は上位ファイバドライブ制御部307
における転送リストの例であり、上位ファイバドライブ
307の制御部はこの転送リストに従ってバッファから
キャッシュへデータ転送を行う。図8の(1)はファイ
バドライブ制御部307−0における制御部転送リスト
であり、図8の(2)はファイバドライブ制御部307
−1における制御部転送リストである。
FIG. 8 shows the upper-level fiber drive control unit 307.
And the control unit of the upper-level fiber drive 307 performs data transfer from the buffer to the cache according to the transfer list. FIG. 8A illustrates a control unit transfer list in the fiber drive control unit 307-0, and FIG. 8B illustrates a fiber drive control unit 307.
1 is a control unit transfer list in FIG.

【0020】また、2面のキャッシュメモリの管理テー
ブルのコピーをMPUユニット310に設け、キャッシ
ュメモリにある管理テーブルが更新された場合は、その
更新が上位ファイバインタフェースを通じてMPUユニ
ット310にある管理テーブルに反映される。ホストか
らのライトコマンドに対し、バッファの容量ではなく、
キャッシュ管理テーブルを検索し、キャッシュメモリの
空き容量を見せることにより、ホストからの大容量なデ
ータ転送要求を高速に応じることが可能となる。
Further, a copy of the management table of the cache memory on the two sides is provided in the MPU unit 310, and when the management table in the cache memory is updated, the update is transferred to the management table in the MPU unit 310 through the upper fiber interface. Will be reflected. In response to a write command from the host,
By searching the cache management table and showing the free space of the cache memory, it becomes possible to respond to a large-capacity data transfer request from the host at a high speed.

【0021】内部バッファの管理を単純化するために、
バッファに連続したアドレスを持たせる。ホストファイ
バドライブ制御部301と上位ファイバドライブ307
の間でバッファの使用衝突を回避するため、バッファ使
用中で有るかどうかのフラグビットを設ける。バッファ
使用中であれば、該当バッファのフラグビットを0(使
用不可の印)にし、使用完了後(使用バッファ中のデー
タの出力後)、該当バッファのフラグビットを1(使用
可の印)にし、ファイバドライブがバッファ使用可の状
態とする。たとえば、ホストファイバドライブ301か
らバッファ1(304−1)にデータをライトする時は
バッファ1のフラグが0となり、上位ファイバドライブ
制御部307からはバッファ1へのアクセスができない
が、バッファ2、304−2のフラグが1であれば、上
位ファイバドライブからのリードまだはライトは可能で
ある。
In order to simplify the management of the internal buffer,
Make the buffer have consecutive addresses. Host fiber drive control unit 301 and host fiber drive 307
A flag bit is provided to indicate whether or not the buffer is in use in order to avoid a buffer use conflict between the two. If the buffer is being used, the flag bit of the buffer is set to 0 (indicative of unusable), and after the use is completed (after the data in the buffer is used), the flag bit of the buffer is set to 1 (indicative of usable). And the fiber drive is in a buffer usable state. For example, when data is written from the host fiber drive 301 to the buffer 1 (304-1), the flag of the buffer 1 becomes 0, and the host 1 cannot access the buffer 1 from the upper-level fiber drive control unit 307. If the flag of -2 is 1, reading from the upper fiber drive or writing is possible.

【0022】ホストからのライト処理の流れを図6を用
いて説明する。ここで、バッファ604−0,1,2,
3の容量を300KBと仮定する。ホストからのライト
要求は1.8MBで、バッファ総容量より大きい場合の
流れを示す。
The flow of a write process from the host will be described with reference to FIG. Here, the buffers 604-0, 1, 2,.
Assume the capacity of 3 is 300 KB. The write request from the host is 1.8 MB, and shows a flow when the write request is larger than the total buffer capacity.

【0023】データ配分制御部にてホストからのライト
コマンドを解読し、ライト先アドレスLBA(Logi
c Block Address)と転送データ長Le
ngthをMPUユニット部609のメモリに一時保存
する。同時にキャッシュの容量を確認して空き容量が要
求データ長より大きい場合に、ホストに全数転送の応答
を返し、一回で1.8MBのデータを受け取る。キャッ
シュ容量が少なく、1.8MBデータを一回で受け取れ
ない場合はホストにキャッシュ空き容量分データ転送の
要求を返す。また、キャッシュに空きができた時点で、
残りのデータを受信する。図示する例では、典型的なキ
ャッシュ空き容量が十分あるケースのみ紹介する。
The data distribution control unit decodes the write command from the host and writes the write destination address LBA (Logic).
c Block Address) and transfer data length Le
ngth is temporarily stored in the memory of the MPU unit 609. At the same time, the cache capacity is checked, and if the free space is larger than the requested data length, a response of the total transfer is returned to the host, and 1.8 MB of data is received at one time. When the cache capacity is small and 1.8 MB data cannot be received at one time, a request for data transfer corresponding to the cache free space is returned to the host. Also, when there is free space in the cache,
Receive the remaining data. In the example shown in the figure, only a case in which a typical cache free space is sufficient will be introduced.

【0024】ホストからの1.8MBのデータをホスト
ファイバドライブ制御部601よりブッファ0に300
KB、バッファ1に300KB、バッファ2に300K
B、バッファ3に300KB、バッファ0に300K
B、バッファ1に300KBを格納していく。バッファ
切替のタイムチャットを図4に示す。
The 1.8 MB data from the host is transferred to the buffer 0 by the host fiber drive controller 601.
KB, 300KB in buffer 1, 300K in buffer 2
B, 300KB in buffer 3, 300K in buffer 0
B, 300 KB is stored in the buffer 1. FIG. 4 shows a time chat for buffer switching.

【0025】ホストファイバドライブ制御部601がバ
ッファ0(604−0)へのデータ格納が完了したら、
前記バッファ0のフラグを1にし、バッファ1(604
−1)へのデータ格納を始める。それと同時に上位ファ
イバドライブ0(608−0)にホストからのライトア
ドレスLBAと上位ファイバドライブ608による転送
データ長Length/2情報を含むライトコマンドを
発行し、上位ファイバドライブ0(608−0)よりバ
ッファ0(604−0)にあるデータをキャッシュ0
(612−0)へ転送し始め(フラグを0にして)、転
送完了後、バッファ0(304−0)のフラグビットを
1に戻し、他のファイバドライブ制御部が使用できる状
態にする。
When the host fiber drive controller 601 completes data storage in the buffer 0 (604-0),
The flag of the buffer 0 is set to 1 and the buffer 1 (604
-1) Data storage is started. At the same time, a write command including the write address LBA from the host and the transfer data length Length / 2 information by the upper fiber drive 608 is issued to the upper fiber drive 0 (608-0), and a buffer is issued from the upper fiber drive 0 (608-0). 0 (604-0) cache 0
Transfer to (612-0) is started (the flag is set to 0), and after the transfer is completed, the flag bit of the buffer 0 (304-0) is returned to 1 so that another fiber drive control unit can use it.

【0026】ホストファイバドライブ制御部601がバ
ッファ1(604−1)へのデータ格納終了後、バッフ
ァ2(604−2)へのデータ格納を続けるが、それと
同時に、前記と同様に、上位ファイバドライブ1(60
8−1)に608−0に発行したライトコマンドを発行
し、ファイバドライブ1(608−1)よりバッファ1
(604−1)のデータをキャッシュ1へ転送を行う。
ホストファイバドライブ制御部601がバッファ2(6
04−2)へのデータ格納終了後、バッファ3(304
−3)へのデータ格納を続け、それと同時に、上位ファ
イバドライブ0(608−0)がバッファ2(604−
2)のデータを引き続きキャッシュ0へ転送する。キャ
ッシュ0へ転送終了の後、バッファ2(604−2)の
フラグビットを1にセットする。並行してホストファイ
バドライブ制御部より、バッファ0(604−0)へホ
ストデータを入れ始める。ホストファイバドライブ制御
部はバッファ3(604−3)へのデータ格納が終了後
は、バッファ3のデータがファイバドライブ1(608
−1)よりキャッシュ1へ転送される。
After the host fiber drive control unit 601 finishes storing data in the buffer 1 (604-1), it continues to store data in the buffer 2 (604-2). 1 (60
8-1), the write command issued to 608-0 is issued, and the buffer 1 is sent from the fiber drive 1 (608-1).
The data of (604-1) is transferred to the cache 1.
The host fiber drive control unit 601 transmits the buffer 2 (6
04-3), the buffer 3 (304)
-3), the upper fiber drive 0 (608-0) simultaneously stores the data in buffer 2 (604-604).
The data of 2) is subsequently transferred to the cache 0. After the transfer to the cache 0 is completed, the flag bit of the buffer 2 (604-2) is set to 1. Concurrently, the host fiber drive control unit starts putting host data into the buffer 0 (604-0). After storing the data in the buffer 3 (604-3) is completed, the host fiber drive controller stores the data in the buffer 3 in the fiber drive 1 (608).
-1) is transferred to the cache 1.

【0027】ホストファイバドライブ制御部601が最
後の300KBをバッファ1に格納すると同時に上位フ
ァイバドライブ0(608−0)がバッファ0(604
−0)のデータをキャッシュへ転送する。ホストファイ
バドライブがバッファ1へのデータ格納は完了後は、上
位ファイバドライブ1(608−1)より、バッファ1
のデータをキャッシュ1へ格納するという繰り返しにな
る。
At the same time that the host fiber drive control unit 601 stores the last 300 KB in the buffer 1, the host fiber drive 0 (608-0) stores the last 300 KB in the buffer 0 (604).
−0) is transferred to the cache. After the host fiber drive completes the data storage in the buffer 1, the host fiber drive 1 sends the buffer 1 from the higher-level fiber drive 1 (608-1).
Is stored in the cache 1 repeatedly.

【0028】上記のように複数面バッファを使いまわす
ことにより、ホストからのデータ転送を中断せずに、ホ
ストデータを900KBの二つのブロックに分割してキ
ャッシュに格納することが可能となった。キャッシュが
ライト終了後に各上位インタフェースにライト完了の報
告を上げ、データ配分制御部で各上位インタフェースか
らライト終了の信号が来たらホストにライト完了を報告
する。
By using a plurality of buffers as described above, host data can be divided into two blocks of 900 KB and stored in the cache without interrupting data transfer from the host. After the cache finishes writing, the write completion report is sent to each upper interface, and when a write end signal is received from each upper interface in the data distribution control unit, the write completion is reported to the host.

【0029】上記方法の実現は、上位ファイバドライブ
608のトータルな転送能力がホストファイバドライブ
601の転送能力より大きいことにより保証される。ホ
ストとデータ配分制御部間(図5の(1))、データ配
分制御部と上位ファイバインタフェース間(図5の
(2))のデータ転送タイムチャートを図5に示す。図
5の(1)に示す上下平行線の左側にはホストファイバ
インタフェースにおける送信又は受信内容が経時的に上
から順に記載されていて、その右側にはデータ配分制御
部における受信又は送信内容が同様に記載されている。
図5の(2)にはデータ配分制御部と上位ファイバイン
タフェース部との送信又は受信内容が図5の(1)と同
様に経時的に記載されている。
The realization of the above method is ensured by the fact that the total transfer capability of the host fiber drive 608 is greater than the transfer capability of the host fiber drive 601. FIG. 5 shows a data transfer time chart between the host and the data distribution control unit ((1) in FIG. 5) and between the data distribution control unit and the upper fiber interface ((2) in FIG. 5). On the left side of the upper and lower parallel lines shown in FIG. 5 (1), the contents of transmission or reception in the host fiber interface are described in order from the top with time, and on the right side, the contents of reception or transmission in the data distribution control unit are the same. It is described in.
In FIG. 5B, the contents of transmission or reception between the data distribution control unit and the higher-level fiber interface unit are described over time, similarly to FIG. 5A.

【0030】図6において上位ファイバドライブ0’制
御部(610−0)配下のキャッシュ0(612−0)
に分割されたデータブロック0、900KBが格納さ
れ、ファイバドライブ1’制御部(610−1)配下の
キャッシュメモリ1(612−1)にはブロック1、9
00KBが格納される。ここで、図6に示す上位ファイ
バドライブ0’制御部610−0及び上位ファイバドラ
イブ1’制御部610−1は、図1に示す上位ファイバ
インタフェース102−0及び上位ファイバインタフェ
ース102−1に対応するものである。
In FIG. 6, cache 0 (612-0) under the control of the higher-level fiber drive 0 'control unit (610-0).
Are stored in the cache memory 1 (612-1) under the control of the fiber drive 1 'control unit (610-1).
00KB is stored. Here, the upper fiber drive 0 ′ control unit 610-0 and the upper fiber drive 1 ′ control unit 610-1 shown in FIG. 6 correspond to the upper fiber interface 102-0 and the upper fiber interface 102-1 shown in FIG. Things.

【0031】キャッシュの管理を簡単化するため、2面
のキャッシュをアドレス連続な一面のキャッシュメモリ
として管理することにより、現在のキャッシュ制御アル
ゴリズムはそのまま流用可能である。キャッシュメモリ
0,1にそれぞれキャッシュ管理テーブルSGCB0,
1(Segment Control Block)を
設け、キャッシュ0のテーブルをマスタとし、かつ、キ
ャッシュ0にキャッシュ1の管理テーブルのコピーを持
たせる。キャッシュ上での管理単位はセグメントであ
り、ブロック0,1に2分割された1.8MBのホスト
データはさらに、セグメント単位でキャッシュ上で分割
され、SGCB0,1より管理される。セグメントはキ
ャッシュ上にある配置は連続でなくてもよい。SGCB
にはセグメントのアドレスを持っているほか、キャッシ
ュにステージしたデータのLBA(Logic Blo
ck Address)などの情報を有する。
In order to simplify the cache management, the current cache control algorithm can be diverted as it is by managing the two-sided cache as a one-sided cache memory with continuous addresses. The cache management tables SGCB0, SGCB0,
1 (Segment Control Block) is provided, the table of cache 0 is used as a master, and cache 0 has a copy of the management table of cache 1. The management unit on the cache is a segment. The 1.8 MB host data divided into blocks 0 and 1 is further divided on the cache in segments and managed by the SGCBs 0 and 1. The segments are not necessarily contiguous in the cache. SGCB
Has the segment address and the LBA (Logic Blo) of the data staged in the cache.
ck Address).

【0032】キャッシュにデータが書かれた後はSGC
B1の変化分をキャッシュ間のバスを介してキャッシュ
0にあるSGCB1のコピーに反映される。マスタSG
CB0が同一LBAを有するSGCB1に属するセグメ
ントを、ホストライトデータの内の一部とみなし、SG
CBは図7のように再構築される。よって、ホストデー
タが統合して管理される。図7に示す符号において、S
EGLのSEGはセグメント(Segmennt)の意
味であり、SEGLのLは左(Left)の意味であ
る。キャッシュが2面あって位置的に左側のキャッシュ
0にあるSEGがSEGLとし、右にあるキャッシュ1
のSEGがSEGRである。また、SEGL又はSEG
Rに続くADRはアドレスの意味である。
After data is written to the cache, the SGC
The change in B1 is reflected in the copy of SGCB1 in cache 0 via the bus between the caches. Master SG
The segment belonging to SGCB1 in which CB0 has the same LBA is regarded as a part of the host write data,
The CB is reconstructed as shown in FIG. Therefore, the host data is integrated and managed. In the code shown in FIG.
SEG of EGL means segment (Segment), and L of SEGL means left (Left). SEG, which has two caches and is located in cache 0 on the left side, is referred to as SEGL, and cache 1 is located on the right.
Is the SEGR. Also, SEGL or SEG
ADR after R means address.

【0033】図7に示すように、ホストからのデータが
左又は右キャッシュに分割されるが、分割されたデータ
が各キャッシュでSEG単位で管理される。2面キャッ
シュのSEGに図7に示す関係を持たせると、分散した
データが分散しているキャッシュで1つのデータとして
管理、使用することが可能となる。
As shown in FIG. 7, data from the host is divided into left or right caches, and the divided data is managed in each cache in SEG units. When the SEG of the two-sided cache has the relationship shown in FIG. 7, it is possible to manage and use the distributed data as one data in the distributed cache.

【0034】キャッシュコントローラ0,1(612−
0,1)にはデータ冗長性を付けする機能を持たせ、規
格のRAID3又はRAID5の時はHDD群に保存の
ための冗長性コードをキャッシュ内で生成するときに
は、キャッシュ0,1(612−0,1)が同期を取り
ながら、冗長コードを生成する。キャッシュ0(612
−0)でブロック0のパリティを算出後、そのパリティ
をと必要なデータをキャッシュ1(612−1)に渡し
て、前記キャッシュ1でブロック1のデータパリティを
合成する。HDDインタフェース(図1の106)が冗
長性のあるデータブロック0,1をHDD群(図1の1
07)への書き込みを担当する。
The cache controllers 0, 1 (612-
0, 1) is provided with a function of adding data redundancy. In the case of the standard RAID3 or RAID5, when generating a redundancy code for storage in the HDD group in the cache, the cache 0, 1 (612-612) is used. 0, 1) generate redundant codes while maintaining synchronization. Cache 0 (612
After calculating the parity of the block 0 in (−0), the parity and necessary data are passed to the cache 1 (612-1), and the data parity of the block 1 is synthesized by the cache 1. The HDD interface (106 in FIG. 1) transfers data blocks 0 and 1 having redundancy to the HDD group (1 in FIG. 1).
07).

【0035】データブロック0をHDD群(107)へ
書きこみ先はSGCB0が持っているLBAとデータ転
送長情報より取り決めれる。ブロック1のHDD群への
書きこみ先はSGCB1が持っているLBA+冗長性の
あるブロック0の長さとしたLBAより取り決められ
る。HDD群へデータをライトする際は、先にブロック
0、次にブロック1との順で行われる。RAID1の時
は、キャッシュ間でデータコピーを行い、両キャッシュ
にブロック0、1のある状態に達した後、HDDインタ
フェースより各配下のHDDへの書きこみを行う。
The writing destination of data block 0 to the HDD group (107) is determined based on the LBA of SGCB0 and the data transfer length information. The write destination of the block 1 to the HDD group is determined based on the LBA of the SGCB1 + the LBA as the length of the redundant block 0. When writing data to the HDD group, block 0 is performed first, and then block 1 is performed. In the case of RAID1, data copy is performed between caches, and after reaching a certain state of blocks 0 and 1 in both caches, writing to HDDs under each control is performed from the HDD interface.

【0036】次に、ホストからの書きこみ要求が200
KBであって、バッファ総容量より小さい場合の流れに
ついて述べる。ホストからの200KBのデータをホス
トファイバドライブ制御部601よりバッファ0(60
4−0)に100KB、バッファ1(604−1)に1
00KBずつ格納し、バッファ2、3を使用せず。ホス
トファイバドライブ制御部601がバッファ0(604
−0)へのデータ格納を完了後、バッファ0のフラグを
1にし、バッファ0(604−0)を他ファイバドライ
ブ制御部が使用可の状態に設置する。
Next, when the write request from the host is 200
A flow in the case of KB and smaller than the total buffer capacity will be described. The 200 KB data from the host is transferred from the host fiber drive control unit 601 to the buffer 0 (60
4-0) to 100 KB, buffer 1 (604-1) to 1
Stored at 00 KB each, without using buffers 2 and 3. The host fiber drive control unit 601 sends the buffer 0 (604
After the data storage in (−0) is completed, the flag of the buffer 0 is set to 1 and the buffer 0 (604-0) is set in a state where the other fiber drive control unit can use it.

【0037】その後バッファ1(604−1)へのデー
タ格納の開始と同時に上位ファイバドライブ0(608
−0)が前記バッファ0のデータを指定されたキャッシ
ュ0(612−0)に転送し始め、転送完了後、バッフ
ァ0のフラグビットを1に戻し、他ファイバ制御部使用
できる状態にする。ホストファイバドライブ制御部60
1がバッファ1(604−1)へのデータ格納が終了
後、バッファ1を使用可の状態した後、同様に、上位フ
ァイバドライブ1が前記バッファ1のデータを指定され
たキャッシュ1(612−1)にデータ転送を行う。キ
ャッシュ0,1(612−0,1)の配下にそれぞれ1
00KBのホストデータが格納される。その後の処理は
前記1.8MBの転送例と同様である。
Thereafter, the upper fiber drive 0 (608) is started simultaneously with the start of data storage in the buffer 1 (604-1).
-0) starts transferring the data of the buffer 0 to the designated cache 0 (612-0), and after the transfer is completed, returns the flag bit of the buffer 0 to 1 so that the other fiber control unit can be used. Host fiber drive control unit 60
After the data storage in the buffer 1 (604-1) is completed, the buffer 1 is made available, and then the upper fiber drive 1 similarly stores the data in the buffer 1 in the cache 1 (612-1). ) To perform data transfer. 1 each under the cache 0, 1 (612-0, 1)
00 KB of host data is stored. Subsequent processing is the same as in the transfer example of 1.8 MB.

【0038】次に、リードヒット/ミス判定はSGCB
0のLBAとセグメント情報より行われる。ホストから
のリードコマンドがデータ配分制御部から、上位ファイ
バインタフェース0に送られる。要求LBAと要求デー
タがキャッシュ上に存在する場合は、ヒットと判定し即
座にデータ転送を始めることが可能である。要求LBA
が存在するが、要求データの一部が既にHDDに書きこ
まれて、そのデータが使用していたセグメントを他のデ
ータに割り当てて、キャッシュ上にデータの一部を存在
しない場合は、キャッシュヒットと判定するが、キャッ
シュ上に欠ける分のデータをHDDよりリードしてから
データ転送を始める。ホストコマンドが要求するLBA
とSGCB0が持っているLBA情報と一致しない場合
はミスと判定する。
Next, read hit / miss determination is performed by SGCB.
This is performed based on the LBA of 0 and the segment information. A read command from the host is sent from the data distribution control unit to the upper fiber interface 0. If the requested LBA and the requested data exist on the cache, it is possible to determine that the hit has occurred and immediately start data transfer. Request LBA
Exists, but a portion of the requested data has already been written to the HDD, the segment used by that data is allocated to other data, and if a portion of the data does not exist in the cache, a cache hit occurs. However, the data transfer is started after reading the missing data from the cache from the HDD. LBA requested by host command
If it does not match the LBA information held by SGCB0, it is determined that a mistake has occurred.

【0039】ホストの要求により、前記に保存した1.
8MBデータをディスクアレイより読み出す時の流れを
述べる。
At the request of the host, 1.
A flow when 8 MB data is read from the disk array will be described.

【0040】データ配分制御部でホストからのリードコ
マンドを解釈し、読み出し先、要求データ長を割り出し
て一時保存する。要求読み出しデータ長を上位ファイバ
チャンネルの数で割ったものを各上位ファイバドライブ
制御部が転送するデータ長とする。そして、上位ファイ
バインタフェース0に読出先のアドレスLBA、転送デ
ータ長情報を含むリードコマンドを発行する。キャッシ
ュ0で前記規則でヒット/ミスの判定をし、ヒットの場
合はキャッシュ0,1からデータを返す。
The data distribution control unit interprets the read command from the host, determines the read destination and the required data length, and temporarily stores them. A value obtained by dividing the required read data length by the number of upper fiber channels is set as a data length to be transferred by each upper fiber drive control unit. Then, a read command including a read destination address LBA and transfer data length information is issued to the upper fiber interface 0. Hit / miss is determined by the above rule in the cache 0, and in the case of a hit, data is returned from the caches 0 and 1.

【0041】ミスの場合はリードアドレスLBA、デー
タ転送長情報をHDDインタフェース106に送り、1
06より、ホストデータの半分、ブロック0をキャッシ
ュ0に送る。その後、キャッシュ0からキャッシュ1経
由でHDDインタフェース106にホストデータの半
分、ブロック1をリードするアドレスLBA、伝送デー
タ長情報を含むリードコマンドを発行する。ブロック0
の転送完了後、106よりブロック1をキャッシュ1へ
転送する。ブロック1のリードLBAはブロック0のL
BA+転送データ長とする。
In the case of a mistake, the read address LBA and data transfer length information are sent to the HDD interface 106, and
From 06, block 0, half of the host data, is sent to cache 0. Thereafter, a read command including half of host data, an address LBA for reading block 1 and transmission data length information is issued from the cache 0 to the HDD interface 106 via the cache 1. Block 0
Is completed, the block 1 is transferred to the cache 1 from 106. Read LBA of block 1 is L of block 0
BA + transfer data length.

【0042】キャッシュにリードデータを入れた後、デ
ータ配分制御部にデータを転送するために、前記ファイ
バドライブ制御部0,1に、キャッシュからのデータを
バッファに入れる順番に関する図9の転送リストを生成
する。データ配分制御部バッファに入れたキャッシュか
らのデータをホストに返すためにホストファイバドライ
ブ制御部301にも図10に示す形の転送リストを生成
する。
After the read data is put into the cache, the fiber drive control units 0 and 1 send the transfer list of FIG. 9 regarding the order in which the data from the cache is buffered in order to transfer the data to the data distribution control unit. Generate. In order to return the data from the cache put in the data distribution control unit buffer to the host, the host fiber drive control unit 301 also generates a transfer list in the form shown in FIG.

【0043】キャッシュ側のファイバドライブ制御部
0’,1’(610−0,1)がデータ配分制御部から
のリードコマンドを受けとり、HDDインタフェース
0,1にリード先アドレス、リードデータ長を指示する
ことにより、前記HDDインタフェース0,1はキャッ
シュ0にブロック0を、キャッシュ1にブロック1を転
送する。その後、ファイバドライブ0’,1’より、デ
ータブロック0,1をデータ配分制御部へ送信する。上
位ファイバドライブ0,1制御部(307−0,1)が
受け取ったデータを図9の転送リストにしたがって3回
づつデータ配分制御のバッファへデータ転送を行う。
The fiber drive control units 0 ', 1' (610-0, 1) on the cache side receive the read command from the data distribution control unit and instruct the HDD interfaces 0, 1 on the read destination address and the read data length. Accordingly, the HDD interfaces 0 and 1 transfer block 0 to the cache 0 and block 1 to the cache 1. Then, the data blocks 0 and 1 are transmitted from the fiber drives 0 'and 1' to the data distribution control unit. The data received by the upper fiber drive 0, 1 controller (307-0, 1) is transferred to the data distribution control buffer three times each according to the transfer list in FIG.

【0044】上位ファイバドライブ制御部0、1による
一回目の転送では、バッファ0,1(304−0,1)
が満杯になった後、上位ファイバドライブ制御部0,1
が前記バッファ0,1を放し、バッファ使用状態のフラ
グが1にしてから、ホストファイバドライブ301が起
動され、バッファ0,1の順からホストにデータを返
す。その同時、上位ファイバドライブ0,1よりバッフ
ァ2,3へ2回目のデータ転送を行い、完了後、該当バ
ッファのフラグビットを1にしてホストファイバドライ
ブ制御部が使用可能の状態にしておく。バッファ0,1
からホストへのデータ転送が終わり、使用可能状態とな
ると、再びバッファ0,1に、上位ファイバドライブ制
御部0,1より最後の600MBを格納される。それと
同時に、ホストファイバドライブ制御部301がバッフ
ァ2,3よりホストへデータを返し、最後の600MB
をバッファ0,1よりホストへ転送する。
In the first transfer by the upper fiber drive controllers 0 and 1, buffers 0 and 1 (304-0, 1) are used.
Is full, the upper fiber drive control units 0, 1
Releases the buffers 0 and 1 and sets the buffer use status flag to 1, then starts the host fiber drive 301 and returns data to the host in the order of buffers 0 and 1. At the same time, the second data transfer from the upper fiber drives 0 and 1 to the buffers 2 and 3 is performed, and after completion, the flag bit of the corresponding buffer is set to 1 and the host fiber drive control unit is enabled. Buffer 0, 1
When the data transfer from the host to the host is completed and the data becomes usable, the last 600 MB is stored in the buffers 0 and 1 again from the higher-level fiber drive controllers 0 and 1. At the same time, the host fiber drive control unit 301 returns data from the buffers 2 and 3 to the host, and the last 600 MB
From the buffers 0 and 1 to the host.

【0045】続いて、前記例で保存した200MBデー
タをHDD群より読み出し時の流れを述べる。データ配
分制御部203でホストからのリードコマンドを解釈
し、読み出し先、要求データ長を割り出して一時保存す
る。要求読み出しデータ長を上位ファイバインタフェー
ス(608−0,1)の数で割ったもの、100MBを
上位ファイバドライブが転送するデータ長とし、上位フ
ァイバドライブ制御部0,1の制御部に、バッファ0,
1のみ一回ずつ使用する。データ配分制御部は上位ファ
イバインタフェース0に読出先のアドレスLBA、転送
データ長情報を含むリードコマンドを発行する。
Next, the flow of reading the 200 MB data stored in the above example from the HDD group will be described. The data distribution control unit 203 interprets the read command from the host, determines the read destination and the required data length, and temporarily stores them. The requested read data length is divided by the number of upper fiber interfaces (608-0, 1), and 100 MB is the data length transferred by the upper fiber drive.
Use only one at a time. The data distribution control unit issues a read command to the upper-level fiber interface 0, including a read destination address LBA and transfer data length information.

【0046】キャッシュ0で前記規則でヒット/ミスの
判定をし、ヒットの場合はキャッシュからデータを返
す。ミスの場合はリードアドレスLBA、データ転送長
情報をHDDインタフェース106に送り、106よ
り、HDDから100MBのデータブロック0をキャッ
シュ0、ブロック1をキャッシュ1に格納する。キャッ
シュ0,1から各バッファにおいて100MBのデータ
を送信のための転送リストが生成される。データ配分制
御部バッファにキャッシュからのデータをホストに返す
ためにホストファイバ制御部と上位ファイバインタフェ
ース制御部に、図9、図10と同様な転送リストを生成
する。
In the cache 0, hit / miss is determined according to the above rule, and in the case of a hit, data is returned from the cache. In the case of a miss, the read address LBA and the data transfer length information are sent to the HDD interface 106, and the data block 0 of 100 MB from the HDD is stored in the cache 0 and the block 1 is stored in the cache 1 from the HDD. A transfer list for transmitting 100 MB of data in each buffer from the caches 0 and 1 is generated. In order to return data from the cache to the data distribution control unit buffer to the host, a transfer list similar to that shown in FIGS. 9 and 10 is generated in the host fiber control unit and the upper fiber interface control unit.

【0047】前記転送リストにしたがって、上位ファイ
バドライブ制御部0,1はデータ配分制御のバッファ
0,1へ同時に100MBのデータを転送する。バッフ
ァ0,1がホストファイバドライブ制御部が使用できる
状態になった後はバッファ0,1から100MBずつの
データをホストに返す。
According to the transfer list, the upper-level fiber drive controllers 0 and 1 simultaneously transfer 100 MB of data to the buffers 0 and 1 for data distribution control. After the buffers 0 and 1 are ready to be used by the host fiber drive controller, 100 MB of data is returned from the buffers 0 and 1 to the host.

【0048】本実施形態にあるHDD群はファイバイン
タフェースを有するHDD採用しており、HDDインタ
フェースにHDD群を制御するためのファイバドライブ
FPCが使用される。パリティ生成機能をキャッシュコ
ントローラに持たした形となっているが、キャッシュコ
ントローラではなく、HDDインタフェースにパリティ
生成機能を持たすことも可能である。
The HDD group in this embodiment employs an HDD having a fiber interface, and a fiber drive FPC for controlling the HDD group is used for the HDD interface. Although the parity generation function is provided in the cache controller, it is also possible to provide the HDD interface with a parity generation function instead of the cache controller.

【0049】また、本実施形態において、ディスクアレ
イ内部に二つの上位ファイバーインタフェースを使用す
る例を挙げているが、上位ファイバインタフェースの数
は二つに限らず、複数であればよい。また、本実施形態
において、データ配分制御部とキャッシュ間はファイバ
チャンネルを介して接続されるが、直接内部バスで接続
される場合も、同様な効果は得られる。
Further, in this embodiment, an example is described in which two upper fiber interfaces are used inside the disk array. However, the number of upper fiber interfaces is not limited to two, but may be plural. Further, in the present embodiment, the data distribution control unit and the cache are connected via the fiber channel. However, similar effects can be obtained when the data distribution control unit and the cache are directly connected via the internal bus.

【0050】以上説明したように、本発明の実施形態
は、次のような構成、機能乃至作用を奏するものを含む
ものである。即ち、ホストファイバインタフェースから
のデータを授受する複数の上位ファイバインタフェース
と、前記複数上位ファイバインタフェースに接続された
キャッシュメモリと、データを書き込み又は読み出す複
数のディスク記憶手段と、前記記憶手段を制御するディ
スクドライブインタフェースと、を備えたディスクアレ
イシステムにおいて、前記ホストファイバインタフェー
スと前記上位ファイバインタフェースとの間に設けられ
たデータ配分制御部は、ホストファイバインタフェース
からのデータを上位インタフェースの数に応じて複数ブ
ロックに分割し、データ配分制御部に接続される複数の
上位ファイバインタフェースを介して前記分割されたデ
ータを並列に複数からなるキャッシュメモリに同時に転
送を行うことと、前記ディスクアレイ内部が複数ファイ
バインタフェースがそれぞれのキャッシュメモリを持つ
ことにより、上位ファイバインタフェースに繋ぐディス
クアレイ内部バスの転送速度(即ち、図1に示す各内部
バス109−0又は109−1の転送速度)がホストフ
ァイバインタフェースに比べてその転送速度が低くても
転送速度が高速であるホストファイバインタフェースへ
の対応を可能とすることである。
As described above, the embodiments of the present invention include those having the following structures, functions, and actions. That is, a plurality of upper fiber interfaces for transferring data from the host fiber interface, a cache memory connected to the plurality of upper fiber interfaces, a plurality of disk storage means for writing or reading data, and a disk for controlling the storage means And a drive interface, the data distribution control unit provided between the host fiber interface and the higher-level fiber interface, wherein the data distribution control unit blocks data from the host fiber interface into a plurality of blocks according to the number of higher-level interfaces. And simultaneously transferring the divided data to a plurality of cache memories in parallel through a plurality of upper fiber interfaces connected to a data distribution control unit; and Since a plurality of fiber interfaces have their respective cache memories in the inside of the ray, the transfer speed of the disk array internal bus connected to the upper fiber interface (that is, the transfer speed of each internal bus 109-0 or 109-1 shown in FIG. 1) is increased. An object of the present invention is to make it possible to cope with a host fiber interface having a high transfer speed even if its transfer speed is lower than that of a host fiber interface.

【0051】また、本実施形態は、データ配分制御部は
自身が持つファイバインタフェースのIDをホストに見
せ、ホストからのアクセス要求を一旦、バッファで受け
取り分割し、分割したアクセス要求を同時に上位インタ
フェースに発行して実行させることにより、ホストがデ
ィスクアレイ中の複数ファイバインタフェースの存在を
意識させないこととなる。換言すると、ファイバループ
又はファイバスイッチによる接続と異なり、ホストファ
イバインタフェースがバッファを噛まして複数の上位フ
ァイバチャンネルと接続し、ホストファイバインタフェ
ースは上位ファイバインタフェースと直接に接続されな
いこととなる。
Also, in this embodiment, the data distribution control unit shows the ID of the fiber interface that the data distribution control unit itself has to the host, receives the access request from the host once in the buffer, divides it, and simultaneously transmits the divided access request to the upper interface. By issuing and executing the host, the host does not become aware of the existence of the multiple fiber interfaces in the disk array. In other words, unlike the connection by the fiber loop or the fiber switch, the host fiber interface bites the buffer and connects to a plurality of upper fiber channels, and the host fiber interface is not directly connected to the upper fiber interface.

【0052】[0052]

【発明の効果】本願において開示される発明の内、体表
的なものによって得られる効果を簡単に説明すれば、下
記の通りである。
The following is a brief description of the effect obtained by the surface of the invention disclosed in the present application.

【0053】ディスクアレイ内部の複数の上位ファイバ
インタフェースを同時に動作させることより、ホストフ
ァイバインタフェースに比べてその転送速度の遅い内部
バスを有するディスクアレイシステムでも、転送速度が
高速であるホストファイバインタフェースを有するホス
トからの高速アクセスに速度を損うことなく、実行する
ことが可能となった。
By operating a plurality of upper fiber interfaces inside the disk array simultaneously, even a disk array system having an internal bus whose transfer speed is slower than that of the host fiber interface has a host fiber interface whose transfer speed is high. It became possible to execute high-speed access from the host without impairing the speed.

【0054】また、データ配分制御部のバッファにおい
て、ホストライト要求にキャッシュの空き容量で答える
ことと、複数面の小容量なバッファを使いまわしするこ
とにより、小容量なバッファでホストとディスクアレイ
間との大容量なデータ転送を可能にした。
In the buffer of the data distribution control unit, the host write request is answered by the free space of the cache, and a small-capacity buffer having a plurality of planes is reused, so that a small-capacity buffer can be used between the host and the disk array. And large-capacity data transfer.

【0055】また、多面キャッシュを一元管理すること
で、現用キャッシュ制御マイクロに大きな変更を加えず
に流用することが可能である。
Further, by centrally managing the multi-level cache, it is possible to divert the current cache control micro without making a large change.

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

【図1】本発明の実施形態に係るディスクアレイシステ
ムの構成の概要を示す概念図である。
FIG. 1 is a conceptual diagram showing an outline of a configuration of a disk array system according to an embodiment of the present invention.

【図2】RAID技術における従来のディスクアレイシ
ステムの概略図である。
FIG. 2 is a schematic diagram of a conventional disk array system in RAID technology.

【図3】本実施形態のデータ配分制御部の構成を示す図
である。
FIG. 3 is a diagram illustrating a configuration of a data distribution control unit according to the present embodiment.

【図4】本実施形態におけるライト時のデータ配分制御
部でのバッファ動作のタイミングを示す図である。
FIG. 4 is a diagram showing a timing of a buffer operation in a data distribution control unit at the time of writing in the embodiment;

【図5】本実施形態におけるライト時のデータ配分制御
部動作と、ホスト又は内部上位ファイバインタフェース
間動作とのタイムチャート図である。
FIG. 5 is a time chart of the operation of the data distribution control unit at the time of writing and the operation between a host or an internal upper fiber interface according to the embodiment;

【図6】本実施形態におけるデータ配分制御部とキャッ
シュ間の構成を示す図である。
FIG. 6 is a diagram illustrating a configuration between a data distribution control unit and a cache according to the present embodiment.

【図7】本実施形態におけるキャッシュ管理テーブルS
GCB0,1及びセグメントのキャッシュへの格納イメ
ージ図である。
FIG. 7 is a cache management table S according to the embodiment;
FIG. 7 is a diagram illustrating storage of GCBs 0 and 1 and a segment in a cache.

【図8】本実施形態におけるキャッシュライト時の上位
ファイバドライブ転送用転送リストを示す図である。
FIG. 8 is a diagram showing a transfer list for upper-layer fiber drive transfer at the time of cache write according to the embodiment.

【図9】本実施形態におけるキャッシュリード時の上位
ファイバドライブ転送用転送リストを示す図である。
FIG. 9 is a diagram illustrating a transfer list for upper-layer fiber drive transfer at the time of cache read according to the embodiment;

【図10】本実施形態におけるリード時のホストファイ
バドライブ転送用転送リストを示す図である。
FIG. 10 is a view showing a transfer list for host fiber drive transfer at the time of reading in the embodiment.

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

100 ホストファイバインタフェース 101 ファイバケーブル 102−0〜1 上位ファイバインタフェース 103 データ配分制御部 104−0〜1 キャッシュコントローラ 105−0〜1 キャッシュメモリ 106 HDDインタフェース 107−0〜3 HDDドライブ 108−0〜1 ファイバケーブル 109−0〜1 内部バス 110 ファイバケーブル 111 内部キャッシュ間バス 200 ホストインタフェース 201 Fibre/SCSIケーブル 202 上位インタフェース 203 内部バス 204 MPUユニット 205 キャッシュコントローラ 206 キャッシュメモリ 207 HDDインタフェース 208 Fibre/SCSIケーブル 209−0〜3 HDDドライブ 301 ホストファイバドライブ制御部 302 バッファバススイッチ 303 内部バス 304−0〜3 データバッファ 305−0〜3 内部バス 306 バッファバススイッチ 307−0〜1 上位ファイバドライブ制御部 601 ホストファイバドライブ制御部 602 バッファバススイッチ 603 内部バス 604−0〜3 データバッファ 605 バッファバススイッチ 606〜7 内部バス 608−0〜1 上位ファイバドライブ0,1制御部 609 MPUユニット部 610−0〜1 上位ファイバドライブ0’,1’制御
部 611−0〜1 ファイバケーブル 612−0〜1 キャッシュコントローラ及びキャッシ
ュメモリ 613−0〜1 内部バス
REFERENCE SIGNS LIST 100 Host fiber interface 101 Fiber cable 102-0-1 Upper fiber interface 103 Data distribution controller 104-0-1 Cache controller 105-0-1 Cache memory 106 HDD interface 107-0-3 HDD drive 108-0-1 Fiber Cables 109-0 to 1 Internal bus 110 Fiber cable 111 Internal cache bus 200 Host interface 201 Fiber / SCSI cable 202 Upper interface 203 Internal bus 204 MPU unit 205 Cache controller 206 Cache memory 207 HDD interface 208 Fiber / SCSI cable 209-0 HDD drive 301 Host fiber drive controller 302 Buffer bus switch 303 internal bus 304-0-3 data buffer 305-0-3 internal bus 306 buffer bus switch 307-0-1 host fiber drive control unit 601 host fiber drive control unit 602 buffer bus switch 603 internal bus 604 0-3 Data buffer 605 Buffer bus switch 606-7 Internal bus 608-0-1 Upper fiber drive 0, 1 controller 609 MPU unit 610-0-1, Upper fiber drive 0 ', 1' controller 611-0 1 Fiber cable 612-0-1 Cache controller and cache memory 613-0-1 Internal bus

───────────────────────────────────────────────────── フロントページの続き (72)発明者 八木沢 育哉 神奈川県川崎市麻生区王禅寺1099番地 株 式会社日立製作所システム開発研究所内 Fターム(参考) 5B005 JJ12 MM12 NN12 5B065 BA01 CA30 CC08 CE12 CE14 CE26  ──────────────────────────────────────────────────続 き Continued on the front page (72) Inventor Ikuya Yagisawa 1099 Ozenji Temple, Aso-ku, Kawasaki City, Kanagawa Prefecture F-term in Hitachi, Ltd. System Development Laboratory (Reference) 5B005 JJ12 MM12 NN12 5B065 BA01 CA30 CC08 CE12 CE14 CE26

Claims (8)

【特許請求の範囲】[Claims] 【請求項1】 ホストファイバインタフェースからのデ
ータを授受する複数の上位ファイバインタフェースと、
前記複数上位ファイバインタフェースに接続されたキャ
ッシュメモリと、データを書き込み又は読み出す複数の
ディスク記憶手段と、前記記憶手段を制御するディスク
ドライブインタフェースと、を備えたディスクアレイシ
ステムであって、 前記複数の上位ファイバインタフェースの各上位ファイ
バインタフェースに対応してそれぞれキャッシュメモリ
を備えていることを特徴とするディスクアレイシステ
ム。
A plurality of upper fiber interfaces for transmitting and receiving data from a host fiber interface;
A disk array system comprising: a cache memory connected to the plurality of higher-level fiber interfaces; a plurality of disk storage units for writing or reading data; and a disk drive interface for controlling the storage units. A disk array system comprising a cache memory corresponding to each upper fiber interface of a fiber interface.
【請求項2】 請求項1に記載のディスクアレイシステ
ムにおいて、 前記ホストファイバインタフェースと前記上位ファイバ
インタフェースとの間に設けられたデータ配分制御部は
複数のデータバッファを備え、 前記データ配分制御部は、前記キャッシュメモリの空き
容量の管理を行い、前記ホストファイバインタフェース
からのデータを前記データバッファへ格納し、又は前記
データバッファのバッファデータを前記キャッシュメモ
リに転送する、機能を有することを特徴とするディスク
アレイシステム。
2. The disk array system according to claim 1, wherein a data distribution control unit provided between the host fiber interface and the upper fiber interface includes a plurality of data buffers, , Managing the free space of the cache memory, storing data from the host fiber interface in the data buffer, or transferring buffer data of the data buffer to the cache memory. Disk array system.
【請求項3】 請求項2に記載のディスクアレイシステ
ムにおいて、 前記データ配分制御部はキャッシュメモリ内のキャッシ
ュ管理テーブルのコピーを有することを特徴とするディ
スクアレイシステム。
3. The disk array system according to claim 2, wherein said data distribution control unit has a copy of a cache management table in a cache memory.
【請求項4】 請求項1に記載のディスクアレイシステ
ムにおいて、 前記各上位ファイバインタフェースに対応してそれぞれ
備えられたキャッシュメモリ同士間でデータ及び管理情
報を授受するための通信バスを有することを特徴とする
ディスクアレイシステム。
4. The disk array system according to claim 1, further comprising a communication bus for exchanging data and management information between cache memories provided corresponding to each of the upper fiber interfaces. Disk array system.
【請求項5】 ホストファイバインタフェースからのデ
ータを授受する複数の上位ファイバインタフェースと、
前記複数上位ファイバインタフェースに接続されたキャ
ッシュメモリと、データを書き込み又は読み出す複数の
ディスク記憶手段と、前記記憶手段を制御するディスク
ドライブインタフェースと、を備えたディスクアレイシ
ステムであって、 前記ホストファイバインタフェースと前記上位ファイバ
インタフェースとの間にデータ配分制御部を設け、 前記データ配分制御部は、前記ホストファイバインタフ
ェースからのデータを複数に分割して前記複数の上位フ
ァイバインタフェースに供給するとともに、前記複数上
位ファイバインタフェースを介して前記分割されたデー
タを並列に複数キャッシュメモリに同時に転送すること
を特徴とするディスクアレイシステム。
5. A plurality of upper fiber interfaces for transmitting and receiving data from a host fiber interface;
A disk array system comprising: a cache memory connected to the plurality of upper fiber interfaces; a plurality of disk storage units for writing or reading data; and a disk drive interface for controlling the storage units. A data distribution control unit is provided between the host fiber interface and the host fiber interface. The data distribution control unit divides the data from the host fiber interface into a plurality of data and supplies the data to the plurality of upper fiber interfaces. A disk array system wherein the divided data is simultaneously transferred to a plurality of cache memories in parallel via a fiber interface.
【請求項6】 請求項5に記載のディスクアレイシステ
ムにおいて、 前記データ配分制御部は複数のデータバッファを備え、 前記データ配分制御部は、前記キャッシュメモリの空き
容量の管理を行い、前記ホストファイバインタフェース
からのデータを前記データバッファへ格納し、又は前記
データバッファのバッファデータを前記キャッシュメモ
リに転送する、機能を有することを特徴とするディスク
アレイシステム。
6. The disk array system according to claim 5, wherein the data distribution control unit includes a plurality of data buffers, the data distribution control unit manages a free space of the cache memory, and the host fiber A disk array system having a function of storing data from an interface in the data buffer or transferring buffer data of the data buffer to the cache memory.
【請求項7】 請求項5に記載のディスクアレイシステ
ムにおいて、 前記データ配分制御部はキャッシュメモリ内のキャッシ
ュ管理テーブルのコピーを有することを特徴とするディ
スクアレイシステム。
7. The disk array system according to claim 5, wherein said data distribution control unit has a copy of a cache management table in a cache memory.
【請求項8】 請求項5に記載のディスクアレイシステ
ムにおいて、 前記各上位ファイバインタフェースに対応してそれぞれ
設置されたキャッシュメモリ同士間でデータと管理情報
を授受するための通信バスを有することを特徴とするデ
ィスクアレイシステム。
8. The disk array system according to claim 5, further comprising: a communication bus for exchanging data and management information between cache memories installed corresponding to the respective upper fiber interfaces. Disk array system.
JP2000321280A 2000-10-20 2000-10-20 Disk array system Withdrawn JP2002132453A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000321280A JP2002132453A (en) 2000-10-20 2000-10-20 Disk array system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000321280A JP2002132453A (en) 2000-10-20 2000-10-20 Disk array system

Publications (1)

Publication Number Publication Date
JP2002132453A true JP2002132453A (en) 2002-05-10

Family

ID=18799433

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000321280A Withdrawn JP2002132453A (en) 2000-10-20 2000-10-20 Disk array system

Country Status (1)

Country Link
JP (1) JP2002132453A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7421538B2 (en) 2002-11-22 2008-09-02 Fujitsu Limited Storage control apparatus and control method thereof

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7421538B2 (en) 2002-11-22 2008-09-02 Fujitsu Limited Storage control apparatus and control method thereof

Similar Documents

Publication Publication Date Title
US6484234B1 (en) Method and apparatus for efficiently destaging data from a cache to two or more non-contiguous storage locations
US6009481A (en) Mass storage system using internal system-level mirroring
US8281067B2 (en) Disk array controller with reconfigurable data path
JP2783748B2 (en) Method and apparatus for data transfer to auxiliary storage in a dynamically mapped data storage system
KR101086857B1 (en) Control Method of Solid State Storage System for Data Merging
US20090282191A1 (en) Operating Method for a Memory Subsystem and Devices for Executing the Operating Method
JPH08212018A (en) Method and apparatus for dynamic extension of raid
US10152236B2 (en) Hybrid data storage device with partitioned local memory
JPH0736634A (en) Disk array device
JP2004013367A5 (en)
JP5712713B2 (en) Control device, control method, and storage device
JPH07295763A (en) Disk, array device and method of storing data
WO1996018141A1 (en) Computer system
JPH05265661A (en) Disk processor
US5875460A (en) Disk array subsystem and data generation method therefor
US9990134B2 (en) Command tunneling in a hybrid data storage device
US6934803B2 (en) Methods and structure for multi-drive mirroring in a resource constrained raid controller
JP6451770B2 (en) Storage control device and storage control program
JP2002132453A (en) Disk array system
JP4640854B2 (en) Disk array control method and disk array control apparatus
US20020144028A1 (en) Method and apparatus for increased performance of sequential I/O operations over busses of differing speeds
JP2733189B2 (en) Disk array device input / output control method
JP2009223879A (en) Network storage device and data read/write control method
JP3236166B2 (en) Cache control method and information processing device
JPH0675707A (en) Array type storage system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070814

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20090521