JPH04259026A - Disk array controller - Google Patents
Disk array controllerInfo
- Publication number
- JPH04259026A JPH04259026A JP3041252A JP4125291A JPH04259026A JP H04259026 A JPH04259026 A JP H04259026A JP 3041252 A JP3041252 A JP 3041252A JP 4125291 A JP4125291 A JP 4125291A JP H04259026 A JPH04259026 A JP H04259026A
- Authority
- JP
- Japan
- Prior art keywords
- data
- check
- flag
- stored
- disk drive
- 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
Links
Abstract
Description
【0001】0001
【産業上の利用分野】本発明は、複数のディスクドライ
ブに記録されたデータのチェック機能を有するディスク
アレイ制御装置に関する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a disk array control device having a function of checking data recorded on a plurality of disk drives.
【0002】0002
【従来の技術】従来、ディスクアレイ装置は、図5に示
すように、複数のディスクドライブD0〜D3(ここで
は、例として4台)および共用のコントローラ2からな
る。コントローラ2は、各ディスクドライブD0〜D3
を制御し、各ディスクドライブD0〜D3とホストコン
ピュータ間のインターフェースを構成している。2. Description of the Related Art Conventionally, a disk array device includes a plurality of disk drives D0 to D3 (four in this example) and a shared controller 2, as shown in FIG. The controller 2 controls each disk drive D0 to D3.
, and constitutes an interface between each disk drive D0 to D3 and the host computer.
【0003】ところで、通常のディスクアレイ装置は、
複数のディスクドライブD0〜D3の中で1台をチェッ
ク用ディスクドライブD3として使用し、パリティデー
タまたはチェックサムデータ等のチェックデータを利用
したエラーチェック機能(ECC機能)を有する。コン
トローラ2は、チェックデータCD以外の書込みデータ
または読出しデータ(以下総称してユーザデータと称す
る)を使用してチェックデータを生成する。By the way, a normal disk array device is
One of the plurality of disk drives D0 to D3 is used as a check disk drive D3, and has an error check function (ECC function) using check data such as parity data or checksum data. The controller 2 generates check data using write data or read data (hereinafter collectively referred to as user data) other than the check data CD.
【0004】ここで、図5に示すように、ユーザデータ
用の各ディスクドライブD0〜D2の各記録媒体は、物
理セクタ0〜3とは別に論理セクタアドレス0〜11が
設定されている。コントローラ2は、各ディスクドライ
ブD0〜D2に書込まれる同一物理セクタの各データに
対応するチェックデータを生成し、チェック用ディスク
ドライブD3の同一物理セクタに格納する。具体的には
、例えば物理セクタ0の各ディスクドライブD0〜D2
の同一バイト位置の各データ(3バイト分)の総和を算
出し、このチェックサムデータ(CD012)をチェッ
クデータCDとしてドライブD3の同一物理セクタの同
一バイト位置に格納する。このチェックデータCDを利
用して、各ディスクドライブD0〜D2の1台が故障し
た場合に、故障したドライブに記録されているデータを
復元することが可能となる。As shown in FIG. 5, logical sector addresses 0-11 are set for each recording medium of each disk drive D0-D2 for user data, in addition to physical sectors 0-3. The controller 2 generates check data corresponding to each data in the same physical sector written to each disk drive D0 to D2, and stores it in the same physical sector of the check disk drive D3. Specifically, for example, each disk drive D0 to D2 in physical sector 0
The total sum of each data (3 bytes) in the same byte position is calculated, and this checksum data (CD012) is stored as check data CD in the same byte position in the same physical sector of the drive D3. By using this check data CD, when one of the disk drives D0 to D2 fails, it is possible to restore the data recorded in the failed drive.
【0005】ところで、コントローラ2は、ユーザデー
タ及びチェックデータをホストコンピュータまたは各デ
ィスクドライブに転送するためのDMAコントローラを
備えている。このDMAコントローラにより、ホストコ
ンピュータとのユーザデータの転送および各ディスクド
ライブに対するユーザデータ,チェックデータの転送が
実行される。By the way, the controller 2 includes a DMA controller for transferring user data and check data to the host computer or each disk drive. This DMA controller executes the transfer of user data to and from the host computer and the transfer of user data and check data to each disk drive.
【0006】[0006]
【発明が解決しようとする課題】従来のディスクアレイ
装置では、DMAコントローラにより、ホストコンピュ
ータとのユーザデータの転送および各ディスクドライブ
に対するユーザデータ,チェックデータの転送が実行さ
れている。この場合、ホストコンピュータからの新しい
ユーザデータの転送と、各ディスクドライブに対するユ
ーザデータ,チェックデータの転送とを並列に実行でき
れば、データ転送の効率を向上させることが可能である
。しかしながら、ただ単にDMAコントローラによるデ
ータ転送制御では、例えばホストコンピュータからのデ
ータ転送より、各ディスクドライブに対するチェックデ
ータの転送が先行すると、ディスクドライブに書込まれ
たチェックデータが無効になるなどの不都合が発生する
。In a conventional disk array device, a DMA controller executes the transfer of user data to and from a host computer and the transfer of user data and check data to each disk drive. In this case, if the transfer of new user data from the host computer and the transfer of user data and check data to each disk drive can be executed in parallel, it is possible to improve the efficiency of data transfer. However, simply controlling data transfer using a DMA controller may cause inconveniences such as, for example, if the check data to each disk drive is transferred before the data transfer from the host computer, the check data written to the disk drive becomes invalid. Occur.
【0007】本発明の目的は、チェック機能を有するデ
ィスクアレイ装置において、ホストコンピュータとディ
スクドライブの各データ転送の並列化を実現し、データ
転送の効率の向上を図ることができるディスクアレイ制
御装置を提供することにある。SUMMARY OF THE INVENTION An object of the present invention is to provide a disk array control device that is capable of parallelizing each data transfer between a host computer and a disk drive in a disk array device having a check function, and is capable of improving data transfer efficiency. It is about providing.
【0008】[0008]
【課題を解決するための手段】本発明は、チェックデー
タを格納するためのチェック用ディスクドライブおよび
ユーザデータ等の書込みデータを格納する複数のディス
クドライブのそれぞれを制御するディスクアレイ制御装
置において、ホストコンピュータから転送される各書込
みデータまたは各ディスクドライブから読出されるデー
タをディスクドライブ毎に格納するバッファメモリ手段
、このバッファメモリ手段に格納される各データに基づ
いてチェックデータを生成するチェックデータ生成手段
、チェックデータ生成手段によるチェックデータ生成処
理に必要な各データがバッファメモリ手段に格納された
ときにセットされるチェック用フラグを記憶し、各ディ
スクドライブに対する書込みデータまたは読出しデータ
がバッファメモリ手段に格納されたときにセットされる
ユーザ用フラグを記憶するフラグ記憶手段およびこのフ
ラグ記憶手段に記憶されたユーザ用フラグに基づいてバ
ッファメモリ手段に格納されたデータを各ディスクドラ
イブまたはホストコンピュータに転送し、フラグ記憶手
段に記憶されたチェック用フラグに基づいてチェックデ
ータ生成手段により生成されたチェックデータをチェッ
ク用ディスクドライブまたはホストコンピュータに転送
するデータ転送制御手段とを備えた装置である。[Means for Solving the Problems] The present invention provides a disk array control device for controlling each of a check disk drive for storing check data and a plurality of disk drives for storing write data such as user data. Buffer memory means for storing each write data transferred from the computer or data read from each disk drive for each disk drive, and check data generation means for generating check data based on each data stored in the buffer memory means. , stores a check flag that is set when each data necessary for check data generation processing by the check data generation means is stored in the buffer memory means, and stores write data or read data for each disk drive in the buffer memory means. a flag storage means for storing a user flag that is set when the user's flag is set; and data stored in the buffer memory means is transferred to each disk drive or host computer based on the user flag stored in the flag storage means; The apparatus includes data transfer control means for transferring check data generated by check data generation means to a check disk drive or host computer based on check flags stored in flag storage means.
【0009】[0009]
【作用】本発明では、ホストコンピュータから転送され
る書込みデータまたは各ディスクドライブから読出され
るデータがバッファメモリ手段に格納されるときに、チ
ェックデータ生成処理に必要なデータである場合には、
チェック用フラグがフラグ記憶手段にセットされる。ま
た、それ以外のユーザデータの場合にはユーザ用フラグ
がフラグ記憶手段にセットされる。データ転送制御手段
は、フラグ記憶手段に記憶されたユーザ用フラグに基づ
いてバッファメモリ手段に格納されたデータを各ディス
クドライブまたはホストコンピュータに転送し、フラグ
記憶手段に記憶されたチェック用フラグに基づいてチェ
ックデータ生成手段により生成されたチェックデータを
チェック用ディスクドライブまたはホストコンピュータ
に転送する。[Operation] In the present invention, when write data transferred from the host computer or data read from each disk drive is stored in the buffer memory means, if the data is necessary for check data generation processing,
A check flag is set in the flag storage means. Further, in the case of other user data, a user flag is set in the flag storage means. The data transfer control means transfers the data stored in the buffer memory means to each disk drive or host computer based on the user flag stored in the flag storage means, and based on the check flag stored in the flag storage means. The check data generated by the check data generation means is transferred to the check disk drive or host computer.
【0010】0010
【実施例】以下図面を参照して本発明の実施例を説明す
る。DESCRIPTION OF THE PREFERRED EMBODIMENTS Examples of the present invention will be described below with reference to the drawings.
【0011】図1は本発明の実施例に係わるディスクア
レイ・システムの要部を示すブロック図である。本シス
テムは、ホストコンピュータ1、コントローラ12およ
び複数のディスクドライブ(ここでは、4台)D0〜D
3からなる。ディスクドライブD0〜D3は、チェック
データCDを格納するためのチェック用ディスクドライ
ブD3およびチェックデータ以外のユーザデータUDを
格納する各ディスクドライブD0〜D2からなる。FIG. 1 is a block diagram showing the main parts of a disk array system according to an embodiment of the present invention. This system includes a host computer 1, a controller 12, and a plurality of disk drives (four in this case) D0 to D.
Consists of 3. The disk drives D0 to D3 include a check disk drive D3 for storing check data CD and disk drives D0 to D2 for storing user data UD other than check data.
【0012】コントローラ12はデータバス9を有し、
このデータバス9を通じてディスクインターフェース(
I/F)8a〜8dに接続されている。各ディスクI/
F8a〜8dは、それぞれ対応する各ディスクドライブ
D0〜D3に接続されており、各ディスクドライブD0
〜D3に対して命令等を送信したり、ステータス等を受
信するための回路である。The controller 12 has a data bus 9;
Through this data bus 9, the disk interface (
I/F) 8a to 8d. Each disk I/
F8a to 8d are connected to the corresponding disk drives D0 to D3, respectively, and each disk drive D0
This is a circuit for transmitting commands etc. to ~D3 and receiving status etc.
【0013】データバス9には、複数のトランシーバ(
データ送受信装置T)5a〜5eが接続されている。
各トランシーバ5a〜5eは、データバス9とバッファ
メモリBM0〜BMn−1 ,ホストインターフェース
(I/F)7のそれぞれとのデータ転送を実行する。ホ
ストI/F7は、ホストコンピュータ1とのインターフ
ェースであり、ホストコンピュータ1からの命令等を受
信したり、ステータス等を送信するための回路である。The data bus 9 includes a plurality of transceivers (
Data transmitting/receiving devices T) 5a to 5e are connected. Each transceiver 5a to 5e transfers data between the data bus 9, buffer memories BM0 to BMn-1, and host interface (I/F) 7, respectively. The host I/F 7 is an interface with the host computer 1, and is a circuit for receiving commands and the like from the host computer 1 and transmitting status and the like.
【0014】各バッファメモリBM0〜BMn−1 は
、ホストI/F7を通じてホストコンピュータ1から転
送される書込みデータを格納する。また、各バッファメ
モリBM0〜BMn−1 は、各ディスクI/F8a〜
8dを通じて各ディスクドライブD0〜D3から転送さ
れる読出しデータを格納する。但し、同実施例では、デ
ィスクドライブD0〜D3が4台の場合を想定している
ため、バッファメモリBMn−1 およびトランシーバ
5eを使用した場合の説明は省略する。Each buffer memory BM0 to BMn-1 stores write data transferred from the host computer 1 through the host I/F 7. In addition, each buffer memory BM0 to BMn-1 is connected to each disk I/F8a to BMn-1.
8d to store read data transferred from each disk drive D0 to D3. However, in this embodiment, since it is assumed that there are four disk drives D0 to D3, a description of the case where the buffer memory BMn-1 and the transceiver 5e are used will be omitted.
【0015】さらに、同実施例のコントローラ12は、
各バッファメモリBM0〜BMn−1 のそれぞれに対
応する複数のフラグレジスタFR0〜FRn−1 を有
する。各フラグレジスタFR0〜FR2はチェック用フ
ラグCFおよびユーザ用フラグUFを格納するためのレ
ジスタである。フラグレジスタFRn−1 については
バッファメモリBMn−1 と同様に、同実施例では使
用しない。各フラグレジスタFR0〜FR2はフラグバ
ス10に接続されている。Furthermore, the controller 12 of the same embodiment has the following features:
It has a plurality of flag registers FR0 to FRn-1 corresponding to each buffer memory BM0 to BMn-1, respectively. Each flag register FR0 to FR2 is a register for storing a check flag CF and a user flag UF. As with the buffer memory BMn-1, the flag register FRn-1 is not used in this embodiment. Each flag register FR0 to FR2 is connected to a flag bus 10.
【0016】また、コントローラ12はチェックデータ
生成回路6を有する。チェックデータ生成回路6は、各
バッファメモリBM0〜BM2(バッファメモリBMn
−1 を除く)に格納される各データに基づいてチェッ
クデータを生成する。The controller 12 also has a check data generation circuit 6. The check data generation circuit 6 includes each buffer memory BM0 to BM2 (buffer memory BMn).
Check data is generated based on each data stored in (excluding -1).
【0017】コントローラ12は、コントローラ12全
体の制御を行なうCPU8およびメモリ11を備えてい
る。メモリ11はRAMおよびROMからなり、CPU
8のプログラムおよび各種制御データを格納する。The controller 12 includes a CPU 8 and a memory 11 for controlling the entire controller 12. The memory 11 consists of RAM and ROM, and the CPU
8 programs and various control data are stored.
【0018】ここで、各ディスクI/F8a〜8dはフ
ラグバス10に接続されており、それぞれ対応する各フ
ラグレジスタFR0〜FR2に格納されたフラグ情報に
基づいて、各ディスクドライブD0〜D3に対するデー
タ転送制御を行なう機能(DMAコントローラ)を備え
ている。また、ホストI/F7はフラグバス10に接続
されており、各フラグレジスタFR0〜FR2に格納さ
れたフラグ情報に基づいて、ホストコンピュータ1に対
するデータ転送制御を行なう機能(DMAコントローラ
)を備えている。Here, each disk I/F 8a to 8d is connected to a flag bus 10, and data transfer to each disk drive D0 to D3 is performed based on flag information stored in each corresponding flag register FR0 to FR2. It has a control function (DMA controller). Further, the host I/F 7 is connected to the flag bus 10, and has a function (DMA controller) for controlling data transfer to the host computer 1 based on flag information stored in each flag register FR0 to FR2.
【0019】次に、同実施例の動作を説明する。Next, the operation of this embodiment will be explained.
【0020】先ず、ホストコンピュータ1からのライト
命令により転送される書込みデータ(ユーザデータ)は
、各バッファメモリBM0〜BM2に格納される。また
、リード命令により、各ディスクドライブD0〜D2か
ら読出された読出しデータ(ユーザデータ)も、各バッ
ファメモリBM0〜BM2に格納される。このようなユ
ーザデータは、ホストI/F7または各ディスクI/F
8a〜8dの各DMAコントローラにより独立にDMA
転送される。First, write data (user data) transferred in response to a write command from the host computer 1 is stored in each of the buffer memories BM0 to BM2. Furthermore, read data (user data) read from each of the disk drives D0 to D2 by the read command is also stored in each of the buffer memories BM0 to BM2. Such user data is stored in the host I/F 7 or each disk I/F.
DMA is performed independently by each DMA controller of 8a to 8d.
be transferred.
【0021】ホストI/F7および各ディスクI/F8
a〜8dはそれぞれ、各フラグレジスタFR0〜FR2
に格納されたフラグ情報をチェックし、各バッファメモ
リBM0〜BM2のデータの状態(書込みまたは読出し
)に基づいてDMA転送を実行する。即ち、各バッファ
メモリBM0〜BM2にデータが格納されると、各フラ
グレジスタFR0〜FR2にはフラグ情報(チェック用
フラグCFおよびユーザ用フラグUF)がセット(論理
レベル“1”)される。一方、各バッファメモリBM0
〜BM2からデータが読出されると、フラグ情報はリセ
ット(論理レベル“0”)される。言い換えれると、フ
ラグ情報がセットされている状態では、各バッファメモ
リBM0〜BM2に対するデータの書込み動作は待機状
態となり、フラグ情報がリセットされてから、各バッフ
ァメモリBM0〜BM2にデータが格納される。[0021] Host I/F 7 and each disk I/F 8
a to 8d are flag registers FR0 to FR2, respectively.
The flag information stored in the buffer memories BM0 to BM2 is checked, and DMA transfer is executed based on the data state (write or read) of each buffer memory BM0 to BM2. That is, when data is stored in each buffer memory BM0-BM2, flag information (check flag CF and user flag UF) is set (logic level "1") in each flag register FR0-FR2. On the other hand, each buffer memory BM0
~ When data is read from BM2, the flag information is reset (logic level "0"). In other words, when the flag information is set, the data write operation to each buffer memory BM0 to BM2 is in a standby state, and after the flag information is reset, data is stored in each buffer memory BM0 to BM2. .
【0022】このような基本的動作において、各種の動
作モードを具体的に説明する。[0022] In such basic operations, various operation modes will be specifically explained.
【0023】ホストコンピュータ1が、3台のディスク
ドライブD0〜D2の連続したデータセクタ(論理セク
タアドレス)に対して同時にデータを書込む場合には、
各ディスクドライブD0〜D2に対して各バッファメモ
リBM0〜BM2が割り当てられる。即ち、図2(A)
に示すように、ホストコンピュータ1から各データセク
タ(n−1〜n+1)の書込みデータが同時に転送され
ると、各ディスクドライブD0〜D2に対応する各バッ
ファメモリBM0〜BM2に格納される。これにより、
ディスクドライブD0の書込みデータ(セクタn−1)
がバッファメモリBM0に格納されて、ドライブD1の
書込みデータ(セクタn)がバッファメモリBM1に格
納されて、ドライブD2の書込みデータ(セクタn+1
)がバッファメモリBM2に格納される。When the host computer 1 simultaneously writes data to consecutive data sectors (logical sector addresses) of three disk drives D0 to D2,
Each buffer memory BM0-BM2 is allocated to each disk drive D0-D2. That is, FIG. 2(A)
As shown in FIG. 2, when the write data of each data sector (n-1 to n+1) is simultaneously transferred from the host computer 1, it is stored in each buffer memory BM0 to BM2 corresponding to each disk drive D0 to D2. This results in
Write data of disk drive D0 (sector n-1)
is stored in the buffer memory BM0, the write data (sector n) of the drive D1 is stored in the buffer memory BM1, and the write data (sector n+1) of the drive D2 is stored in the buffer memory BM0.
) is stored in the buffer memory BM2.
【0024】ここで、ホストコンピュータ1からライト
命令が転送されると、CPU8は各ディスクI/F8a
〜8dに対して各ディスクドライブD0〜D2のライト
命令を出力する。このとき、CPU8は、ホストI/F
7および各ディスクI/F8a〜8dのDMA転送動作
におけるポインタ等の初期化を行なう。ホストI/F7
は、ホストコンピュータ1から書込みデータが転送され
ると、図2(A)に示すように、各バッファメモリBM
0〜BM2に書込みデータを格納する。このとき、各フ
ラグレジスタFR0〜FR2のユーザ用フラグUFがセ
ットされていれば、各バッファメモリBM0〜BM2に
対するデータの書込み動作は待機状態となる。[0024] Here, when the write command is transferred from the host computer 1, the CPU 8
A write command for each disk drive D0-D2 is output to ~8d. At this time, the CPU 8 uses the host I/F
7 and each disk I/F 8a to 8d, pointers and the like in the DMA transfer operation are initialized. Host I/F7
When write data is transferred from the host computer 1, each buffer memory BM is transferred as shown in FIG. 2(A).
Store write data in 0 to BM2. At this time, if the user flag UF of each flag register FR0 to FR2 is set, the data write operation to each buffer memory BM0 to BM2 is in a standby state.
【0025】ホストI/F7は、フラグバス10を通じ
て各フラグレジスタFR0〜FR2にユーザ用フラグU
Fをセットする。また、書込みデータはチェックデータ
の生成処理に利用されるため、ホストI/F7は、各フ
ラグレジスタFR0〜FR2にチェック用フラグCFを
セットする。このような動作は、例えば1ワードの書込
みデータが転送される毎に実行される。The host I/F 7 sends the user flag U to each flag register FR0 to FR2 via the flag bus 10.
Set F. Furthermore, since the write data is used for check data generation processing, the host I/F 7 sets a check flag CF in each of the flag registers FR0 to FR2. Such an operation is executed, for example, every time one word of write data is transferred.
【0026】各ディスクI/F8a〜8cは、各フラグ
レジスタFR0〜FR2のユーザ用フラグUFの状態(
セット)に基づいて、各バッファメモリBM0〜BM2
から書込みデータを読出し、それぞれ対応する各ディス
クドライブD0〜D2に転送する(図2(B)を参照)
。各ディスクI/F8a〜8cは、各ディスクドライブ
D0〜D2にデータを転送すると、各フラグレジスタF
R0〜FR2のユーザ用フラグUFをリセットする。[0026] Each disk I/F 8a to 8c controls the state of the user flag UF in each flag register FR0 to FR2 (
set), each buffer memory BM0 to BM2
The write data is read from and transferred to each corresponding disk drive D0 to D2 (see FIG. 2(B)).
. When each disk I/F 8a to 8c transfers data to each disk drive D0 to D2, each flag register F
Reset the user flags UF of R0 to FR2.
【0027】一方、ディスクI/F8dは、各フラグレ
ジスタFR0〜FR2のチェック用フラグCFを監視し
、全てのフラグCFがセットされると、各バッファメモ
リBM0〜BM2から書込みデータをチェックデータ生
成回路6に出力させる(図2(C)を参照)。チェック
データ生成回路6は、各バッファメモリBM0〜BM2
に格納される各データに基づいてチェックデータを生成
する。ディスクI/F8dは、チェックデータ生成回路
6からのチェックデータCDをチェック用ディスクドラ
イブD3に転送し、各フラグレジスタFR0〜FR2の
チェック用フラグCFをリセットする。このとき、チェ
ックデータの生成処理時には、データバス9に接続され
ている各トランシーバ5a〜5dは全てオフ動作となる
。On the other hand, the disk I/F 8d monitors the check flag CF of each flag register FR0 to FR2, and when all the flags CF are set, the write data is transferred from each buffer memory BM0 to BM2 to the check data generation circuit. 6 (see FIG. 2(C)). The check data generation circuit 6 includes each buffer memory BM0 to BM2.
Generate check data based on each data stored in . The disk I/F 8d transfers the check data CD from the check data generation circuit 6 to the check disk drive D3, and resets the check flag CF of each flag register FR0 to FR2. At this time, during the check data generation process, each transceiver 5a to 5d connected to the data bus 9 is all turned off.
【0028】次に、一つのセクタに対してのみデータの
更新が実行される場合には、そのセクタに必要な新たな
チェックデータCDを生成する必要がある。例えば図3
(D)に示すように、ディスクドライブD1のセクタの
みが更新される場合には、ホストI/F7はホストコン
ピュータ1からの書込みデータをバッファメモリBM1
に格納する。このとき、ホストI/F7は、フラグバス
10を通じてフラグレジスタFR1にユーザ用フラグU
F及びチェック用フラグCFをセットする。フラグレジ
スタFR1のユーザ用フラグUFが既にセット状態であ
れば、バッファメモリBM1に対するデータの書込み動
作は待機状態となる。Next, when data is updated only for one sector, it is necessary to generate new check data CD necessary for that sector. For example, Figure 3
As shown in (D), when only the sector of the disk drive D1 is updated, the host I/F 7 transfers the write data from the host computer 1 to the buffer memory BM1.
Store in. At this time, the host I/F 7 sends the user flag U to the flag register FR1 via the flag bus 10.
F and check flag CF are set. If the user flag UF of the flag register FR1 is already set, the data write operation to the buffer memory BM1 is in a standby state.
【0029】ディスクI/F8bは、フラグレジスタF
R1のユーザ用フラグUFの状態(セット)に基づいて
、バッファメモリBM1から書込みデータを読出し、対
応するディスクドライブD1に転送する(図3(E)を
参照)。この転送により、ディスクI/F8bはフラグ
レジスタFR1のユーザ用フラグUFをリセットする。[0029] The disk I/F 8b has a flag register F.
Based on the state (set) of the user flag UF of R1, write data is read from the buffer memory BM1 and transferred to the corresponding disk drive D1 (see FIG. 3(E)). As a result of this transfer, the disk I/F 8b resets the user flag UF in the flag register FR1.
【0030】一方、ディスクI/F8aは、ディスクド
ライブD0から旧データを読出し、バッファメモリBM
0に格納する。この旧データは、更新されるセクタ(新
n)と同一物理セクタで、チェックデータグループを構
成する旧セクタ(n−1)の書込みデータである。この
バッファメモリBM0に格納された旧データはチェック
データの生成処理に利用されるため、ディスクI/F8
aは、フラグレジスタFR0にチェック用フラグCFを
セットする。また、ディスクI/F8dは、チェック用
ディスクドライブD3から更新されるセクタに対応する
旧チェックデータCDを読出し、バッファメモリBM2
に格納する。このとき、ディスクI/F8dは、フラグ
レジスタFR2にチェック用フラグCFをセットする。
ここで、フラグレジスタFR2のチェック用フラグCF
が既にセットされていれば、バッファメモリBM2に対
するデータの書込み動作は待機状態となる。On the other hand, the disk I/F 8a reads old data from the disk drive D0 and stores it in the buffer memory BM.
Store at 0. This old data is the write data of the old sector (n-1) which is the same physical sector as the updated sector (new n) and forms the check data group. Since the old data stored in this buffer memory BM0 is used for the check data generation process, the disk I/F8
a sets the check flag CF in the flag register FR0. Further, the disk I/F 8d reads the old check data CD corresponding to the sector to be updated from the check disk drive D3, and reads out the old check data CD corresponding to the sector to be updated from the check disk drive D3, and
Store in. At this time, the disk I/F 8d sets a check flag CF in the flag register FR2. Here, check flag CF of flag register FR2
If has already been set, the data write operation to the buffer memory BM2 will be in a standby state.
【0031】ディスクI/F8dは、各フラグレジスタ
FR0〜FR2のチェック用フラグCFを監視し、全て
のフラグCFがセットされると、各バッファメモリBM
0〜BM2からデータをチェックデータ生成回路6に出
力させる(図3(F)を参照)。チェックデータ生成回
路6は、各バッファメモリBM0〜BM2に格納される
各データに基づいてチェックデータを生成する。この場
合、例えばパリティチェック方式であれば、チェックデ
ータ生成回路6は各データの排他的論理和演算を実行す
ればよい。ディスクI/F8dは、チェックデータ生成
回路6からの新チェックデータCDをチェック用ディス
クドライブD3に転送し、各フラグレジスタFR0〜F
R2のチェック用フラグCFをリセットする。The disk I/F 8d monitors the check flags CF of each flag register FR0 to FR2, and when all flags CF are set, each buffer memory BM
Data from 0 to BM2 is output to the check data generation circuit 6 (see FIG. 3(F)). The check data generation circuit 6 generates check data based on each data stored in each buffer memory BM0 to BM2. In this case, for example, in the case of a parity check method, the check data generation circuit 6 may perform an exclusive OR operation on each data. The disk I/F 8d transfers the new check data CD from the check data generation circuit 6 to the check disk drive D3, and registers each flag register FR0 to F.
Reset check flag CF of R2.
【0032】ここで、同実施例では、チェックデータグ
ループは、各ディスクドライブD0〜D2の同一物理セ
クタに対応するデータセクタ(論理セクタ)に属する書
込みデータ群である。即ち、物理セクタ0に対応する各
書込みデータ(論理セクタ0〜2)に基づいてチェック
演算(例えばパリティ演算)し、チェックデータCD0
12を生成する。同様にして、図5に示すように、各物
理セクタ1〜3毎に、チェックデータCD345〜CD
901を生成する。生成された各チェックデータは、グ
ループに対応するチェック用ディスクドライブD3の同
一物理セクタに書込まれる。In this embodiment, the check data group is a write data group belonging to a data sector (logical sector) corresponding to the same physical sector of each disk drive D0 to D2. That is, a check operation (for example, a parity operation) is performed based on each write data (logical sectors 0 to 2) corresponding to physical sector 0, and the check data CD0
Generate 12. Similarly, as shown in FIG.
901 is generated. Each generated check data is written to the same physical sector of the check disk drive D3 corresponding to the group.
【0033】次に、ホストコンピュータ1からリード命
令が転送されると、CPU8は各ディスクI/F8a〜
8dおよびホストI/F7に対してDMA転送動作の準
備を実行させる。このとき、各トランシーバ5a〜5d
は全てイネーブル状態となる。各ディスクI/F8a〜
8cは、ホストコンピュータ1から指定された論理セク
タアドレスのデータを対応する各ディスクドライブD0
〜D2から読出し、各バッファメモリBM0〜BM2に
格納する(図4(G)を参照)。各ディスクI/F8a
〜8cは、各バッファメモリBM0〜BM2にDMA転
送を行なうと、フラグバス10を通じて各フラグレジス
タFR0〜FR2にユーザ用フラグUFをセットする。
ここで、各フラグレジスタFR0〜FR2のユーザ用フ
ラグUFがセットされていれば、各バッファメモリBM
0〜BM2に対する読出しデータの書込み動作は待機状
態となる。Next, when a read command is transferred from the host computer 1, the CPU 8 uses each disk I/F 8a to
8d and the host I/F 7 to prepare for a DMA transfer operation. At this time, each transceiver 5a to 5d
are all enabled. Each disk I/F8a~
8c transfers the data of the logical sector address specified by the host computer 1 to each corresponding disk drive D0.
~D2 and stored in each buffer memory BM0~BM2 (see FIG. 4(G)). Each disk I/F8a
-8c sets a user flag UF in each flag register FR0-FR2 via the flag bus 10 when DMA transfer is performed to each buffer memory BM0-BM2. Here, if the user flag UF of each flag register FR0 to FR2 is set, each buffer memory BM
The write operation of read data to 0 to BM2 is in a standby state.
【0034】ホストI/F7は、各フラグレジスタFR
0〜FR2のユーザ用フラグUFに基づいて、各バッフ
ァメモリBM0〜BM2から読出しデータを読出し、論
理セクタアドレスの順にホストコンピュータ1に転送す
る(図4(H)を参照)。ホストI/F7は、読出しデ
ータをDMA転送すると、各フラグレジスタFR0〜F
R2のユーザ用フラグUFをリセットする。[0034] The host I/F 7 has each flag register FR.
Based on user flags UF 0 to FR2, read data is read from each buffer memory BM0 to BM2 and transferred to the host computer 1 in the order of logical sector addresses (see FIG. 4(H)). When the host I/F7 transfers read data by DMA, each flag register FR0 to F
Reset the user flag UF of R2.
【0035】ここで、リード命令の実行時にエラーが発
生すると、CPU8は同一チェックデータグループの全
ての読出しデータを、該当する各ディスクドライブD0
〜D2から読出す制御を実行する。これにより、各ディ
スクI/F8a〜8cは、指定された論理セクタアドレ
スのデータを対応する各ディスクドライブD0〜D2か
ら読出し、各バッファメモリBM0〜BM2に格納する
(図4(I)を参照)。このとき、各バッファメモリB
M0〜BM2に格納された各読出しデータはチェックデ
ータの生成処理に利用されるため、各ディスクI/F8
a〜8cは、各フラグレジスタFR0〜FR2にチェッ
ク用フラグCFをセットする。Here, if an error occurs during execution of a read command, the CPU 8 transfers all read data of the same check data group to each corresponding disk drive D0.
~Execute control to read from D2. As a result, each disk I/F 8a to 8c reads data at the specified logical sector address from each corresponding disk drive D0 to D2, and stores it in each buffer memory BM0 to BM2 (see FIG. 4(I)). . At this time, each buffer memory B
Each read data stored in M0 to BM2 is used for check data generation processing, so each disk I/F8
A to 8c set a check flag CF in each flag register FR0 to FR2.
【0036】ホストI/F7は、各フラグレジスタFR
0〜FR2のチェック用フラグCFが全てセットされる
と、各バッファメモリBM0〜BM2から各読出しデー
タをチェックデータ生成回路6に出力させる(図4(J
)を参照)。チェックデータ生成回路6は、各バッファ
メモリBM0〜BM2に格納される各データに基づいて
チェックデータを生成する。ホストI/F7は、チェッ
クデータ生成回路6からのチェックデータをホストコン
ピュータ1に転送する。[0036] The host I/F 7 has each flag register FR.
When all the check flags CF of 0 to FR2 are set, each read data is outputted from each buffer memory BM0 to BM2 to the check data generation circuit 6 (FIG. 4(J)
). The check data generation circuit 6 generates check data based on each data stored in each buffer memory BM0 to BM2. The host I/F 7 transfers the check data from the check data generation circuit 6 to the host computer 1.
【0037】このようにして、チェックデータグループ
(同一論理セクタ)に属する各ディスクドライブ毎にバ
ッファメモリBM0〜BM2を設け、この各バッファメ
モリBM0〜BM2に対応するフラグレジスタFR0〜
FR2を設ける。この各バッファメモリBM0〜BM2
および各フラグレジスタFR0〜FR2を利用すること
により、ホストコンピュータ1または各ディスクドライ
ブD0〜D2に対して有効なデータの転送を並列に実行
することができる。即ち、ユーザ用フラグUFに基づい
て、各バッファメモリBM0〜BM2からホストコンピ
ュータ1または各ディスクドライブD0〜D2に対して
、書込みデータまたは読出しデータが転送される。また
、チェック用フラグCFに基づいて、各バッファメモリ
BM0〜BM2に格納されたデータからチェックデータ
が生成される。したがって、例えばデータが更新された
場合に、無効なチェックデータが生成されて転送される
ような事態を確実に防止することができる。In this way, buffer memories BM0 to BM2 are provided for each disk drive belonging to the check data group (same logical sector), and flag registers FR0 to FR0 corresponding to each buffer memory BM0 to BM2 are provided.
FR2 is provided. Each of these buffer memories BM0 to BM2
By using the flag registers FR0 to FR2, it is possible to transfer effective data to the host computer 1 or each of the disk drives D0 to D2 in parallel. That is, based on the user flag UF, write data or read data is transferred from each buffer memory BM0 to BM2 to the host computer 1 or each disk drive D0 to D2. Further, check data is generated from the data stored in each buffer memory BM0 to BM2 based on the check flag CF. Therefore, for example, when data is updated, it is possible to reliably prevent a situation where invalid check data is generated and transferred.
【0038】[0038]
【発明の効果】以上詳述したように本発明によれば、ユ
ーザデータからチェックデータを生成する機能を有する
ディスクアレイ制御装置において、ホストコンピュータ
からの新しいユーザデータの転送と、各ディスクドライ
ブに対するユーザデータ,チェックデータの転送とを並
列に実行することができる。しかも、無効なデータを転
送するような事態を確実に防止することができる。した
がって、信頼性を低下させることなく、データ転送の効
率の向上を図ることができる。As described in detail above, according to the present invention, in a disk array control device having a function of generating check data from user data, new user data can be transferred from a host computer, and user data can be transferred to each disk drive. Transfer of data and check data can be executed in parallel. Furthermore, it is possible to reliably prevent a situation where invalid data is transferred. Therefore, data transfer efficiency can be improved without reducing reliability.
【図1】本発明の実施例に係わるディスクアレイ制御装
置の要部を示すブロック図。FIG. 1 is a block diagram showing the main parts of a disk array control device according to an embodiment of the present invention.
【図2】同実施例の動作を説明するための概念図。FIG. 2 is a conceptual diagram for explaining the operation of the embodiment.
【図3】同実施例の動作を説明するための概念図。FIG. 3 is a conceptual diagram for explaining the operation of the embodiment.
【図4】同実施例の動作を説明するための概念図。FIG. 4 is a conceptual diagram for explaining the operation of the embodiment.
【図5】従来のディスクアレイ装置を説明するためのブ
ロック図。FIG. 5 is a block diagram for explaining a conventional disk array device.
1…ホストコンピュータ、6…チェックデータ発生回路
、12…コントローラ、BM0〜BM2…バッファメモ
リ、FR0〜FR2…フラグレジスタ、D0〜D3…デ
ィスクドライブ。DESCRIPTION OF SYMBOLS 1...Host computer, 6...Check data generation circuit, 12...Controller, BM0-BM2...Buffer memory, FR0-FR2...Flag register, D0-D3...Disk drive.
Claims (2)
記各ディスクドライブとホストコンピュータとの間のデ
ータ転送を制御するディスクアレイ制御装置において、
前記複数のディスクドライブの中で各ディスクドライブ
に記録される各書込みデータのチェックデータを格納す
るためのチェック用ディスクドライブと、前記ホストコ
ンピュータから転送される前記各書込みデータまたは前
記各ディスクドライブから読出されるデータを前記ディ
スクドライブ毎に格納するバッファメモリ手段と、この
バッファメモリ手段に格納される前記各データに基づい
て前記チェックデータを生成するチェックデータ生成手
段と、前記チェックデータ生成手段によるチェックデー
タ生成処理に必要な各データが前記バッファメモリ手段
に格納されたときにセットされるチェック用フラグを記
憶し、前記各ディスクドライブに対する書込みデータま
たは読出しデータが前記バッファメモリ手段に格納され
たときにセットされるユーザ用フラグを記憶するフラグ
記憶手段と、このフラグ記憶手段に記憶された前記ユー
ザ用フラグに基づいて前記バッファメモリ手段に格納さ
れたデータを前記各ディスクドライブまたは前記ホスト
コンピュータに転送し、前記フラグ記憶手段に記憶され
た前記チェック用フラグに基づいて前記チェックデータ
生成手段により生成された前記チェックデータを前記チ
ェック用ディスクドライブまたは前記ホストコンピュー
タに転送するデータ転送制御手段とを具備したことを特
徴とするディスクアレイ制御装置。1. A disk array control device that controls a plurality of disk drives and controls data transfer between each disk drive and a host computer, comprising:
A check disk drive for storing check data of each write data recorded in each disk drive among the plurality of disk drives, and each write data transferred from the host computer or read from each disk drive. buffer memory means for storing data stored in each disk drive; check data generation means for generating the check data based on the data stored in the buffer memory means; and check data generated by the check data generation means. A check flag is stored when each data necessary for generation processing is stored in the buffer memory means, and is set when write data or read data for each disk drive is stored in the buffer memory means. a flag storage means for storing a user flag stored in the flag storage means; and transmitting data stored in the buffer memory means to each of the disk drives or the host computer based on the user flag stored in the flag storage means; and data transfer control means for transferring the check data generated by the check data generation means to the check disk drive or the host computer based on the check flag stored in the flag storage means. Characteristic disk array control device.
記各ディスクドライブとホストコンピュータとの間のデ
ータ転送を制御するディスクアレイ制御装置において、
前記複数のディスクドライブの中で各ディスクドライブ
に記録される各書込みデータのチェックデータを格納す
るためのチェック用ディスクドライブと、前記ホストコ
ンピュータから転送される前記各書込みデータまたは前
記各ディスクドライブから読出されるデータを前記ディ
スクドライブ毎に格納するバッファメモリ手段と、この
バッファメモリ手段に格納される前記各データに基づい
て前記チェックデータを生成するチェックデータ生成手
段と、前記チェックデータ生成手段によるチェックデー
タ生成処理に必要な各データが前記バッファメモリ手段
に格納されたときにセットされるチェック用フラグを記
憶し、前記各ディスクドライブに対する書込みデータま
たは読出しデータが前記バッファメモリ手段に格納され
たときにセットされるユーザ用フラグを記憶するフラグ
記憶手段と、このフラグ記憶手段に記憶された前記ユー
ザ用フラグに基づいて前記バッファメモリ手段に格納さ
れたデータを前記各ディスクドライブまたは前記ホスト
コンピュータに転送し、この転送時に前記フラグ記憶手
段の前記ユーザ用フラグをリセットし、また前記フラグ
記憶手段に記憶された前記チェック用フラグに基づいて
前記チェックデータ生成手段により生成された前記チェ
ックデータを前記チェック用ディスクドライブまたは前
記ホストコンピュータに転送し、この転送時に前記フラ
グ記憶手段の前記チェック用フラグをリセットするデー
タ転送制御手段とを具備したことを特徴とするディスク
アレイ制御装置。2. A disk array control device that controls a plurality of disk drives and controls data transfer between each disk drive and a host computer, comprising:
A check disk drive for storing check data of each write data recorded in each disk drive among the plurality of disk drives, and each write data transferred from the host computer or read from each disk drive. buffer memory means for storing data stored in each disk drive; check data generation means for generating the check data based on the data stored in the buffer memory means; and check data generated by the check data generation means. A check flag is stored when each data necessary for generation processing is stored in the buffer memory means, and is set when write data or read data for each disk drive is stored in the buffer memory means. a flag storage means for storing a user flag stored in the flag storage means; and transmitting data stored in the buffer memory means to each of the disk drives or the host computer based on the user flag stored in the flag storage means; At the time of this transfer, the user flag of the flag storage means is reset, and the check data generated by the check data generation means based on the check flag stored in the flag storage means is transferred to the check disk drive. or data transfer control means for transferring data to the host computer and resetting the check flag in the flag storage means at the time of the data transfer.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP3041252A JPH04259026A (en) | 1991-02-13 | 1991-02-13 | Disk array controller |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP3041252A JPH04259026A (en) | 1991-02-13 | 1991-02-13 | Disk array controller |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH04259026A true JPH04259026A (en) | 1992-09-14 |
Family
ID=12603251
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP3041252A Withdrawn JPH04259026A (en) | 1991-02-13 | 1991-02-13 | Disk array controller |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH04259026A (en) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH08234928A (en) * | 1995-02-22 | 1996-09-13 | Matsushita Electric Ind Co Ltd | Information storage controller |
-
1991
- 1991-02-13 JP JP3041252A patent/JPH04259026A/en not_active Withdrawn
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH08234928A (en) * | 1995-02-22 | 1996-09-13 | Matsushita Electric Ind Co Ltd | Information storage controller |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6760814B2 (en) | Methods and apparatus for loading CRC values into a CRC cache in a storage controller | |
| US7032158B2 (en) | System and method for recognizing and configuring devices embedded on memory modules | |
| US5802345A (en) | Computer system with a reduced number of command end interrupts from auxiliary memory unit and method of reducing the number of command end interrupts | |
| US6799244B2 (en) | Storage control unit with a volatile cache and a non-volatile backup cache for processing read and write requests | |
| US20110167207A1 (en) | Memory system and method having volatile and non-volatile memory devices at same hierarchical level | |
| US5996046A (en) | Parity generation system for generating new parity using old data in temporary storage without accessing main disk storage of disk drive | |
| US5210865A (en) | Transferring data between storage media while maintaining host processor access for I/O operations | |
| WO1996032674A2 (en) | Semiconductor memory device for mass storage block access applications | |
| JPH06309234A (en) | Disk controller | |
| JP2019204463A (en) | Storage system and control method therefor | |
| US6901551B1 (en) | Method and apparatus for protection of data utilizing CRC | |
| KR0162121B1 (en) | An improved data storage device and method of operation | |
| US7143234B2 (en) | Bios storage array | |
| US20110205654A1 (en) | Control apparatus, nonvolatile storage apparatus and data initialization method | |
| JP2981711B2 (en) | Disk storage device | |
| JP2548475B2 (en) | Method of controlling data restoration amount of array disk device | |
| JPH04259026A (en) | Disk array controller | |
| JP2549222B2 (en) | Background processing execution method of array disk device | |
| JP3236166B2 (en) | Cache control method and information processing device | |
| JPH04259025A (en) | Disk array controller | |
| JPH0667816A (en) | Method for reducing memory failure in semiconductor disk device | |
| JPH04311217A (en) | External storage controller | |
| JPH0756693A (en) | Disk array device and disk write controller | |
| US20030120862A1 (en) | Controlling method of storage apparatus, and storage apparatus, disk array device, and disk controller used in the method thereof | |
| JPS6269342A (en) | Semiconductor disk device |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 19980514 |