JPH10143331A - Storage device array system - Google Patents

Storage device array system

Info

Publication number
JPH10143331A
JPH10143331A JP8315550A JP31555096A JPH10143331A JP H10143331 A JPH10143331 A JP H10143331A JP 8315550 A JP8315550 A JP 8315550A JP 31555096 A JP31555096 A JP 31555096A JP H10143331 A JPH10143331 A JP H10143331A
Authority
JP
Japan
Prior art keywords
data
buffer
error correction
storage device
read
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP8315550A
Other languages
Japanese (ja)
Inventor
Yuji Kiyohara
裕二 清原
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.)
Brother Industries Ltd
Xing Inc
Original Assignee
Brother Industries Ltd
Xing Inc
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 Brother Industries Ltd, Xing Inc filed Critical Brother Industries Ltd
Priority to JP8315550A priority Critical patent/JPH10143331A/en
Publication of JPH10143331A publication Critical patent/JPH10143331A/en
Pending legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To provide a storage device array system which inexpensively constitute a storage device like HDD(hard disk drive), etc., without any need of sychronous operations and also can be rebuilt by a hardware. SOLUTION: The storage device array system 1 has plural storage devices 101, data which is externally inputted is divided into plural data blocks, each block is distributed and stored in the devices 101 in the form to which an error correction signal is added, and each block is parallelly read and written from/to the devices 101. Also, the system 1 is provided with independent buffers 104 which are provided corresponding to each device 101 and temporally stores data that is read from each corresponding device 101, a reading means 107 which collectively reads data that is stored in the buffers 104 and an error correction circuit 106 which corrects errors of the data that are read from the buffers 104 by the means 107 and externally outputs the data which are performed error correction.

Description

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

【0001】[0001]

【発明の属する技術分野】本発明は、ディスクアレイシ
ステム(いわゆるRAIDシステム)等の記憶装置アレ
イシステムに関するものである。
The present invention relates to a storage device array system such as a disk array system (so-called RAID system).

【0002】[0002]

【従来の技術】従来より、大容量で高速な記憶装置とし
てディスクアレイ(別名RAID:Redundant Arrays o
f Inexpensive Disksの略)が知られている。ディスク
アレイでは、磁気ディスクドライブ(例えばハードディ
スクドライブ:以下、HDDという)を複数台パラレル
に同時動作させて、データ入出力性能の高速化を図って
いる。また、ディスクアレイでは、データの信頼性を向
上させるために、冗長データ(誤り訂正符号あるいはエ
ラー訂正符号)を付加して記憶しており、ディスク上の
データの一部が失われても元のデータを復元することが
できるようになっている。
2. Description of the Related Art Conventionally, disk arrays (also known as RAID: Redundant Arrays) have been used as large-capacity, high-speed storage devices.
f Inexpensive Disks) is known. In a disk array, a plurality of magnetic disk drives (for example, hard disk drives; hereinafter, referred to as HDDs) are simultaneously operated in parallel to increase the data input / output performance. Further, in the disk array, redundant data (error correction code or error correction code) is added and stored in order to improve the reliability of data, and even if a part of data on the disk is lost, the original data is lost. The data can be restored.

【0003】例えば、冗長データとしてパリティを使用
する場合、図12(a)に示すように、原データは数ビ
ット単位(例えば、8ビット(1バイト)単位)毎に区
切られてデータブロックB11、B12、‥‥に分割され、
パリティP11、P12、‥‥をそれぞれ付加して、同図
(b)に示すように各HDDに格納される。なお、図で
は、原データは3つのHDD(ディスク1〜3)に分散
・格納されるように描いている。
For example, when parity is used as redundant data, as shown in FIG. 12A, original data is divided into units of several bits (for example, units of 8 bits (1 byte)) to form a data block B11, B12, divided into ‥‥
Parities P11, P12,... Are respectively added and stored in each HDD as shown in FIG. In the drawing, the original data is depicted as being distributed and stored in three HDDs (disks 1 to 3).

【0004】パリティは、データブロック中の「1」と
なっているビット数が偶数である場合にパリティを
「1」、奇数の場合に「0」とする奇数パリティと、同
じく偶数である場合にパリティを「0」、奇数の場合に
「1」とする偶数パリティとがあり、例えば、データブ
ロックが「10001010」であったときの偶数パリ
ティは「1」となる。そして、該データブロックの読出
し時に、そのいずれか1つのビットが読み出せなかった
場合に、読み出しに成功した他のビットの値とパリティ
ビットの値とから、その読み出せなかったビットの値を
決定・復元することができる。なお、偶数パリティを使
用すれば、読めなかったビットを除いてデータブロック
中のパリティを含む全てのビットの排他的論理和をとる
ことで、その読めなかったビットの値を直接求めること
ができる。例えば、上記データ「10001010:
1」の、上から2桁目の「0」が読めなかった場合、上
記排他的論理和xは、 x=1#0#0#1#0#1#0#1=0 (「#」は、排他的論理和演算を表す記号とする)とな
り、上記読めなかったビットの値に等しくなっているこ
とがわかる。なお、パリティの他にも、誤り訂正符号に
は様々なもの(例えばハミング符号、BCH符号あるい
はリードソロモン符号など)が考案されており、もっと
多くの誤りを訂正できるものもある。
[0004] Parity is an odd parity where the parity is "1" when the number of bits "1" in the data block is an even number, and "0" when the number of bits is an odd number. There is an even parity in which the parity is "0" and an odd number is "1". For example, when the data block is "10001010", the even parity is "1". Then, when any one of the bits cannot be read at the time of reading the data block, the value of the bit that could not be read is determined from the value of the other bit that was successfully read and the value of the parity bit.・ Can be restored. If even parity is used, the value of the unreadable bit can be directly obtained by taking the exclusive OR of all bits including the parity in the data block except for the unreadable bit. For example, the data “10001010:
If “0” in the second digit from the top of “1” cannot be read, the exclusive OR x is: x = 1 # 0 # 0 # 1 # 0 # 1 # 0 # 1 = 0 (“#” Is a symbol representing an exclusive OR operation), and it can be seen that it is equal to the value of the unreadable bit. In addition to the parity, various error correction codes (for example, a Hamming code, a BCH code, or a Reed-Solomon code) have been devised, and some of them can correct more errors.

【0005】ここで、ディスクアレイにおいて、ひとつ
の記憶装置が障害を起こして、その中のデータが読み出
し不可能になった場合には、その記憶装置を取り外し、
新たな記憶装置を設置する必要が生ずるが、新たな装置
にはデータが入っていないので、ここにデータを書き込
む必要がある。これには、単に外部から全てのデータを
再入力する方法と、残りの記憶装置のデータから誤り訂
正符号により消失したデータを再生して、新たな記憶装
置に書き込む方法がある。後者の方法でデータを再生す
ることをリビルド(再構築)と呼んでいる。
Here, in the disk array, when one storage device fails and data in the storage device cannot be read, the storage device is removed.
It is necessary to install a new storage device, but since the new device does not contain data, it is necessary to write data here. This includes a method of simply re-inputting all data from the outside, and a method of reproducing data lost by an error correction code from data in the remaining storage devices and writing the data to a new storage device. Regenerating data in the latter way is called rebuilding.

【0006】例えばディスクアレイがレベル3のRAI
Dの場合、元のデータは数ビット単位(例えば1ビット
単位、8ビット単位あるいはワード単位)ごとにブロッ
クに分割され、パリティを付加して各HDDに分散・格
納される。ここで、原データをブロック分割して分散記
憶するための、並列に並べた各HDDの各々の系統を、
第1レーン、第2レーン‥‥等と呼ぶことにする。ま
た、HDDを何台並列に並べるかという数をパラレル数
と呼び、pという変数で表すこととする。ただし、パラ
レル数pには、エラー訂正情報を格納するためのHDD
は含めない。従って、エラー訂正情報としてパリティを
採用した場合は、p+1個のレーンが存在することとな
る。なお、エラー訂正情報用のレーン、すなわちパリテ
ィデータ用のレーンはパリティレーンと呼ぶことにす
る。
For example, if the disk array has a level 3 RAI
In the case of D, the original data is divided into blocks in units of several bits (for example, in units of 1 bit, in units of 8 bits, or in units of words), and added with parity to be distributed / stored in each HDD. Here, each system of each HDD arranged in parallel for dividing the original data into blocks and storing the divided data in a distributed manner is as follows:
These are referred to as a first lane, a second lane #, and so on. The number of HDDs arranged in parallel is called a parallel number, and is represented by a variable p. However, an HDD for storing error correction information is stored in the parallel number p.
Is not included. Therefore, when the parity is adopted as the error correction information, there are p + 1 lanes. Note that a lane for error correction information, that is, a lane for parity data is referred to as a parity lane.

【0007】RAIDにおいてエラー訂正を行う方式と
しては、CPUの演算により行う方式と、ハードウェア
により行う方法との2種類がある。図10は、CPUを
用いる場合の例を示している。まず、ホストから送られ
てくるデータを各HDDに書き込む場合、データはホス
トインターフェース401を介して一旦バッファ402
に格納される。CPU400は、図12(a)に示すよ
うに、原データを3つのHDDに格納するために8ビッ
ト(1バイト)毎のデータブロックに切り分ける。
[0007] There are two types of error correction methods in RAID, a method of performing an operation by a CPU and a method of performing an error correction by hardware. FIG. 10 shows an example in which a CPU is used. First, when writing data sent from the host to each HDD, the data is temporarily stored in the buffer 402 via the host interface 401.
Is stored in As shown in FIG. 12A, the CPU 400 divides the original data into data blocks of 8 bits (1 byte) in order to store the data in three HDDs.

【0008】次いで、同図(b)に示すように、3つの
各データブロックの対応する位置にあるビット同士に排
他的論理和演算を施して奇数パリティを計算する。図に
示した例では、データブロックはそれぞれ「00101
111」、「01111000」、「1110010
0」であり、その第1ビット同士のパリティは0#0#
1=1、第2ビット同士のパリティは0#1#1=0、
‥‥等となり、8つのすべてのビットについて得られる
パリティの組は「10110011」となる。このよう
にして求めたパリティデータと3つのデータブロックと
の、計4つのブロックが4つのHDDに一斉に書き込ま
れる。同じ量のデータを単一のHDDに書く場合と比べ
ると、一つのHDDに対する書き込むデータ量が1/3
になっているので高速に書き込める。
Next, as shown in FIG. 1B, an exclusive OR operation is performed on the bits at the corresponding positions of the three data blocks to calculate an odd parity. In the example shown in the figure, each data block is “00101”.
111 "," 01111000 "," 1110010 "
0 ", and the parity between the first bits is 0 # 0 #
1 = 1, the parity between the second bits is 0 # 1 # 1 = 0,
‥‥, and the parity set obtained for all eight bits is “10110011”. A total of four blocks of the parity data and three data blocks obtained in this way are written simultaneously to four HDDs. Compared to writing the same amount of data to a single HDD, the amount of data to be written to one HDD is 1/3
Can be written at high speed.

【0009】次にデータの読出しを行う場合は、パリテ
ィレーン以外の3つのレーンからデータブロックを読み
出して、これを元の順に再配列することにより原データ
が復元される。ここで、3つのレーンのうちどれか1つ
においてデータの読出しが不能となった場合には、パリ
ティレーンからパリティデータを読み出し、これと読め
た2つのデータブロックとの間で、各ビット毎に排他的
論理和演算を行うと、読めなかったデータブロックが復
元できる。図12(c)には、第3レーン(ディスク
3)のデータ読出しが不能となった場合のデータ復元例
を示している。ここで、読出し時にパリティ計算により
データを復元する場合は通常の読出しよりも時間がかか
るので、この時間が問題になる場合は高速なCPUを用
いる必要がある。
Next, when data is read, data blocks are read from three lanes other than the parity lane, and the original data is restored by rearranging them in the original order. Here, when the data cannot be read from any one of the three lanes, the parity data is read from the parity lane, and between the read two data blocks, By performing an exclusive OR operation, a data block that cannot be read can be restored. FIG. 12C shows an example of data restoration when data reading from the third lane (disk 3) becomes impossible. Here, when restoring data by parity calculation at the time of reading, it takes more time than normal reading, and if this time becomes a problem, it is necessary to use a high-speed CPU.

【0010】また、ディスクアレイでは、複数のHDD
のうち1つまでのリードエラーはデータ復元が可能であ
るが、2つ以上のHDDでリードエラーが起きるとデー
タの復元は不可能となる。従って、1つのHDDでリー
ドエラーが起きたら、もう一つのHDDでエラーが起き
る前になるべく早く障害を起こしたHDDのエラーを復
旧する必要があり、そのためにはHDDの交換を行うの
が通常である。あるHDDがリードエラーを起こしたり
ドライブ全体が故障した場合は、そのディスクを抜いて
新品のディスクと交換する。新品のディスクには、予め
元のデータを書いてバックアップしておくという方法も
あるが、元のデータのバックアップが常にとられている
とは限らないため、通常は、新品のHDD上に、抜き去
ったHDDにあったデータと同じものを誤り訂正符号を
使って再構築する必要がある。このデータの再構築が前
述の「リビルド」であり、以下、このデータ再構築を行
うモードを「リビルドモード」と呼ぶ。
In a disk array, a plurality of HDDs
Data can be restored for one of the read errors, but if a read error occurs in two or more HDDs, the data cannot be restored. Therefore, when a read error occurs in one HDD, it is necessary to recover the error of the failed HDD as soon as possible before an error occurs in the other HDD. For this purpose, it is usual to replace the HDD. is there. If a certain HDD causes a read error or the entire drive fails, the disk is removed and replaced with a new disk. There is a method of writing the original data in advance and backing it up on a new disk.However, since the original data is not always backed up, usually the original data must be It is necessary to reconstruct the same data that was in the HDD left by using an error correction code. The rebuilding of the data is the above-mentioned "rebuild", and a mode for performing the data rebuilding is hereinafter referred to as a "rebuild mode".

【0011】リビルドモードでは、エラーの起きていな
いHDD(いわゆる「生き残っている」HDD)から、
エラーの起きたHDD(いわゆる「死んだ」HDD)の
データを復元して、これを新品のHDDに書くという動
作をする。データの復元は、誤り訂正符号としてパリテ
ィを使用する場合は、前述のように排他的論理和演算で
行う。例えば、図10において、HDD408が故障し
た場合を考えると、HDD408を新品のHDDと交換
してリビルドモードに入ると、CPU400は、HDD
407、409、410の第nセクタを読んで排他的論
理和演算を行い、HDD408に元あったデータを復元
してHDD408に書き戻すという動作を、セクタ番号
nを0から最大セクタ番号までスキャンして全てのセク
タに対し順に行なう。このような、消失データの復元を
CPUにより行う方法は、データの入出力速度がCPU
の処理速度に制限されるので、高速なディスクアレイが
望みなら高速なCPUを用いる必要がある。
In the rebuild mode, an error-free HDD (so-called “surviving” HDD)
The operation of restoring the data of the HDD in which the error has occurred (so-called “dead” HDD) and writing the data to a new HDD is performed. Data restoration is performed by an exclusive OR operation as described above when parity is used as an error correction code. For example, in FIG. 10, considering that the HDD 408 has failed, when the HDD 408 is replaced with a new HDD and enters the rebuild mode, the CPU 400
The operation of reading the n-th sector of 407, 409, and 410, performing an exclusive OR operation, restoring the data originally stored in the HDD 408, and writing it back to the HDD 408 is performed by scanning the sector number n from 0 to the maximum sector number. In order for all sectors. Such a method of restoring lost data by a CPU is based on a data input / output speed of the CPU.
Therefore, it is necessary to use a high-speed CPU if a high-speed disk array is desired.

【0012】次に、冗長データの生成、消失データの復
元をハードウェアにより行う場合のブロック図を図11
に示している。この回路の中核となるのは、エラー訂正
回路及びパリティジェネレータ500(以下では略して
ECCと呼ぶ)で、データを記憶する場合はパリティジ
ェネレータ(パリティ生成回路)として働き、データを
読み出す場合にはエラー訂正回路として働くものであ
る。まず、データをホストから書き込む場合について説
明すると、ホストインターフェース501を介して送信
されてくるデータはECC500でパリティデータが付
加され、また1バイト毎に分割されてディスクコントロ
ーラ502に入力される。ディスクコントローラはこれ
らをHDD503に書き込む。
FIG. 11 is a block diagram showing a case where the generation of redundant data and the restoration of lost data are performed by hardware.
Is shown in The core of this circuit is an error correction circuit and a parity generator 500 (hereinafter abbreviated as ECC), which functions as a parity generator (parity generation circuit) when storing data, and an error generator when reading data. It works as a correction circuit. First, a case where data is written from the host will be described. Data transmitted via the host interface 501 is added with parity data by the ECC 500 and is divided into one byte and input to the disk controller 502. The disk controller writes these to the HDD 503.

【0013】一方、データを読み出す場合は、どのHD
D503に障害が発生しているかをエラー検出手段50
4が監視し、ECC500にそれを伝える。ECC50
0は指示されたレーンのデータを復元するように働く。
ここでECC500は、各レーンのデータ信号の排他的
論理和を論理IC(EXCLUSIVE-OR回路)を用いてとるよ
うに構成されているため、これが正しく動作するために
は、全てのレーンのデータが時間的に同時に揃って入力
される必要がある。従って、HDD503からのデータ
は時間的にバラバラではなく同期して出力される必要が
あり、このために複数のHDDを同期して回転させる
「スピンドルシンク」という技術が用いられている。こ
れは、HDDに外部から同期信号を与え、各HDDのス
ピンドルモータをこれに同期させて回転させる手法であ
り、PLL回路などを利用して実現する。図11では、
同期信号発生器505が各HDD503に同期信号を与
えている。一方、HDD503にデータを書き込むとき
は、各HDD503に対しそれぞれ定められたセクタに
同じタイミングでデータを書き込む必要があるが、この
場合も各HDD503を同期して回転させる必要が生ず
る。
On the other hand, when reading data,
The error detection means 50 determines whether a failure has occurred in the D503.
4 monitors and informs ECC 500 of it. ECC50
0 works to restore the data of the indicated lane.
Here, the ECC 500 is configured to take the exclusive OR of the data signal of each lane by using a logic IC (EXCLUSIVE-OR circuit). They need to be entered at the same time. Therefore, the data from the HDD 503 needs to be synchronously output rather than being separated in time. For this reason, a technique called “spindle sync” for rotating a plurality of HDDs in synchronization is used. This is a method in which a synchronization signal is externally supplied to an HDD and a spindle motor of each HDD is rotated in synchronization with the synchronization signal, and is realized using a PLL circuit or the like. In FIG.
A synchronization signal generator 505 provides a synchronization signal to each HDD 503. On the other hand, when writing data to the HDD 503, it is necessary to write data at the same timing in the sector defined for each HDD 503, but in this case, it is necessary to rotate the HDDs 503 in synchronization.

【0014】[0014]

【発明が解決しようとする課題】上記従来技術におい
て、CPUでパリティを計算する方式では、データの入
出力速度がCPUの計算能力で制限されるためあまり高
速な出力ができず、これを高速にしようとすると高速な
CPUを使用する必要が生ずることから、装置が高価に
なってしまうという問題があった。また、エラー訂正を
ハードウェアで行う方式では、アレイを構成するすべて
のHDDを同期運転する必要があり、そのためのスピン
ドルシンク機能を持ったディスク装置は高価である欠点
がある。また、ハードウェアによる従来方式では、デー
タのリビルドを行うための方法が全く考慮されていない
ため、HDDの1つが故障した場合は、新しいものと交
換した後、全てのデータを外部から入力し直す必要があ
るという大きな欠点があった。
In the above-mentioned prior art, in the method of calculating parity by the CPU, the data input / output speed is limited by the calculation capability of the CPU, so that a very high-speed output cannot be performed. If this is attempted, a high-speed CPU must be used, resulting in a problem that the apparatus becomes expensive. Further, in the method in which error correction is performed by hardware, all HDDs constituting the array must be operated synchronously, and a disk device having a spindle sync function for that purpose is expensive. Also, in the conventional method using hardware, no method for rebuilding data is considered at all, so if one of the HDDs fails, replace it with a new one and then re-input all data from outside. There was a major drawback that it was necessary.

【0015】本発明の課題は、エラー訂正をハードウェ
アを用いて行うことによりデータの入出力速度が高くで
き、またHDD等の記憶装置を同期運転させる必要がな
く安価に構成でき、しかもリビルドが可能な記憶装置ア
レイシステムを提供することにある。
It is an object of the present invention to increase the data input / output speed by performing error correction using hardware, to reduce the cost of a storage device such as an HDD without the need for synchronous operation, and to perform rebuilding. It is to provide a possible storage device array system.

【0016】[0016]

【課題を解決するための手段及び作用・効果】上述の課
題を解決するために、本発明の記憶装置アレイシステム
は、複数の記憶装置を有し、外部より入力されたデータ
を複数のデータブロックに分割して、それぞれエラー訂
正符号を付与した形で該複数の記憶装置に分散して記憶
させるとともに、各データブロックはそれら記憶装置に
対し並列して読書きされるものとして構成され、さら
に、各記憶装置に対応して設けられ、各々対応する記憶
装置から読み出されたデータを一時蓄積する独立したバ
ッファと、それらバッファに蓄積されたデータを一括し
て読み出すデータ読出手段と、該データ読出手段がバッ
ファから読み出したデータをエラー訂正し、そのエラー
訂正されたデータを外部へ出力するエラー訂正回路とを
備えたことを特徴とする。記憶装置は、例えばハードデ
ィスクドライブ、あるいは光磁気ディスクドライブ等
の、磁気ディスク装置により構成することができる。
In order to solve the above-mentioned problems, a storage device array system according to the present invention has a plurality of storage devices and stores data input from the outside into a plurality of data blocks. Are divided and stored in the plurality of storage devices in a form to which error correction codes are added, and each data block is configured to be read and written in parallel to the storage devices. An independent buffer provided for each storage device for temporarily storing data read from the corresponding storage device, data reading means for collectively reading data stored in the buffers, Means for error correcting data read from the buffer and outputting the error corrected data to the outside. That. The storage device can be constituted by a magnetic disk device such as a hard disk drive or a magneto-optical disk drive.

【0017】上記構成においては、各記憶装置(以下、
レーンともいう)からデータを読み出してこれをエラー
訂正回路に送り込む際に、各レーンからのデータを一旦
バッファに蓄積し、エラー訂正が可能な数のレーンのデ
ータが揃ったところで、各バッファに蓄積されたデータ
を互いに同期したタイミングでエラー訂正回路に送り込
むことができる。これにより、各レーンからのデータ読
出しのタイミングが必ずしも揃っていなくとも、例えば
EXCLUSIVE-OR回路等で構成されたエラー訂正回路にデー
タを互いに同じタイミングで入力することができるの
で、各レーンの記憶装置を同期運転させる必要がなくな
り、ひいては装置を安価に構成することができる。
In the above configuration, each storage device (hereinafter, referred to as a storage device)
When data is read from a lane and sent to the error correction circuit, the data from each lane is temporarily stored in a buffer, and when the data for the number of lanes for which error correction is possible is completed, the data is stored in each buffer. The obtained data can be sent to the error correction circuit at a timing synchronized with each other. Thereby, even if the timing of reading data from each lane is not necessarily aligned, for example,
Since data can be input to the error correction circuit constituted by the EXCLUSIVE-OR circuit or the like at the same timing as each other, there is no need to operate the storage devices of each lane in synchronization, and the device can be configured at low cost.

【0018】この場合、例えば消失等のためにデータの
読出しが不能となったレーンがどれであるかをエラー訂
正回路に通知する読出し不能レーン通知手段を設けるこ
とができる。エラー訂正回路はこの通知を受けることに
より、読出し不能となったレーンのデータを復元し、外
部へ訂正データを出力する。
In this case, it is possible to provide a non-readable lane notifying means for notifying the error correction circuit which lane has become unable to read data due to, for example, loss. Upon receiving this notification, the error correction circuit restores the data of the lane that has become unreadable and outputs the corrected data to the outside.

【0019】また、外部から入力されたデータ(入力デ
ータ)からエラー訂正符号を生成するエラー訂正符号生
成回路と、その生成されたエラー訂正符号と入力データ
の両方をバッファに書き込むデータ書込手段とを設ける
ことができる。これにより、記憶装置にデータを書き込
む際に、エラー訂正符号生成回路によってエラー訂正符
号が計算され、これが元のデータとともにバッファに格
納されるので、記憶装置にこの両方を記憶させることが
できる。また、データを一旦バッファに蓄積してから書
込みを行うようにすることで、各レーンに同じタイミン
グでデータを書き込む必要がなくなり、例えば各記憶装
置において、データを書き込むべきセクタの到来のタイ
ミングがまちまちであっても、バッファからのデータ出
力のタイミングを調整することで問題なく書込みを行う
ことができる。
An error correction code generation circuit for generating an error correction code from externally input data (input data), and data writing means for writing both the generated error correction code and input data to a buffer. Can be provided. Thus, when writing data to the storage device, the error correction code is calculated by the error correction code generation circuit, and the error correction code is stored in the buffer together with the original data, so that both can be stored in the storage device. Also, by writing data after temporarily storing it in the buffer, it is not necessary to write data to each lane at the same timing. For example, in each storage device, the arrival timing of a sector to which data is to be written varies. However, writing can be performed without any problem by adjusting the timing of data output from the buffer.

【0020】さらに、上記構成には、エラー訂正回路か
らの出力データの一部をバッファに書き戻すためのデー
タ書戻手段を設けることができる。すなわち、エラー訂
正回路によりエラー訂正演算を行うと、障害を起こして
読出し不能となった記憶装置(障害記憶装置)が生じて
もそのデータを復元することができるので、上記データ
書込手段によりこれをバッファに書き戻し、例えばこれ
を障害記憶装置と置き換えられた新しい記憶装置に書き
込むことで、リビルト処理を行うことができるようにな
る。この場合、障害記憶装置以外のレーンのバッファは
読出処理となり、その読み出されたデータがエラー訂正
回路に送られて障害記憶装置のデータが復元される一
方、障害記憶装置のレーンのバッファは、復元されてエ
ラー訂正回路から戻された上記障害記憶装置のデータの
書込処理となる。
Further, the above configuration can be provided with a data write back means for writing back a part of the output data from the error correction circuit to the buffer. That is, if an error correction operation is performed by the error correction circuit, even if a storage device (failure storage device) becomes unreadable due to a failure, its data can be restored. Is written back to the buffer and, for example, is written to a new storage device that has been replaced with the failed storage device, whereby the rebuilding process can be performed. In this case, the buffers in the lanes other than the faulty storage device are subjected to read processing, and the read data is sent to the error correction circuit to restore the data in the faulty storage device. This is the process of writing the data of the faulty storage device that has been restored and returned from the error correction circuit.

【0021】次に、バッファは、記憶装置から該バッフ
ァへのデータの書き込みと、該バッファからエラー訂正
回路へのデータの送り出しとが同時実行可能なもので構
成することができる。これにより、バッファに対するデ
ータの入出力速度が高速になり、ひいては読出し時のエ
ラー訂正処理及びリビルド処理をさらに高速で行うこと
ができる。具体的には、バッファは、第一及び第二のR
AMと、それらRAMに対するデータの入出力モード
を、第一のRAMへデータを書き込み第二のRAMから
データを読み出すモードと、第一のRAMからデータを
読出し第二のRAMへデータを書き込むモードとの間で
切り替える切替手段とを備えたもの(いわゆるダブルバ
ッファ)により構成することができる。また、バッファ
は、2つの入出力バスと、それら入出力バスに対し共通
に設けられたRAMと、そのRAMに対し2つの入出力
バスのいずれかのものを選択的に接続する切替手段とを
備えたものとすることもできる。
Next, the buffer can be configured so that writing of data from the storage device to the buffer and sending of data from the buffer to the error correction circuit can be performed simultaneously. As a result, the data input / output speed with respect to the buffer is increased, and the error correction process and the rebuild process at the time of reading can be performed at a higher speed. Specifically, the buffer contains first and second R
AM and data input / output modes for those RAMs include a mode for writing data to the first RAM and reading data from the second RAM, and a mode for reading data from the first RAM and writing data to the second RAM. (A so-called double buffer) having switching means for switching between the two. Further, the buffer includes two input / output buses, a RAM commonly provided for the input / output buses, and switching means for selectively connecting any one of the two input / output buses to the RAM. It can also be provided.

【0022】[0022]

【発明の実施の形態】以下、本発明の実施の形態を、図
面に示す実施例を参照して説明する。図1は、本発明の
記憶装置アレイシステムの一実施例としての、ディスク
アレイシステム1の構成を示すブロック図である。ディ
スクアレイシステム1は、CPU100、記憶装置とし
てのハードディスクドライブ(以下、HDDと書く)1
01、ディスクコントローラ102、バッファ104、
エラー訂正回路106及びDMAコントローラ107等
を含んで構成されている。
Embodiments of the present invention will be described below with reference to the embodiments shown in the drawings. FIG. 1 is a block diagram showing a configuration of a disk array system 1 as one embodiment of a storage device array system of the present invention. The disk array system 1 includes a CPU 100, a hard disk drive (hereinafter, referred to as an HDD) 1 as a storage device.
01, disk controller 102, buffer 104,
It is configured to include an error correction circuit 106, a DMA controller 107, and the like.

【0023】CPU100は、ディスクアレイシステム
1全体の制御を司る処理装置であり、ディスクコントロ
ーラ102の制御、バッファ104の切り替え、エラー
訂正回路106への訂正指示などを行う。本ディスクア
レイシステムではレーン数は5とされ、そのそれぞれに
対応してHDD101が設けられている。そして、ホス
トからのデータは、その第0〜第3レーンに分散して記
憶される。また、ホストからのデータに基づいて生成さ
れたエラー訂正符号としてのパリティデータはパリティ
レーンに記憶される。また、ディスクコントローラ10
2は、CPUバス115によりCPU100と接続され
ており、CPU100の指示によりHDD101を制御
してデータの読み書きを行うものである。なお、ディス
クコントローラ102からバッファ104へつながるバ
スはアドレスバスとデータバスの両方があるが、図では
1本のバスでまとめて示している。また、アドレスバス
はディスクコントローラ102が与えるものであり、デ
ータバスはモードにより方向が変わる。
The CPU 100 is a processing unit that controls the entire disk array system 1, and controls the disk controller 102, switches the buffer 104, and issues a correction instruction to the error correction circuit 106. In the present disk array system, the number of lanes is set to 5, and an HDD 101 is provided for each of the lanes. Then, data from the host is distributed and stored in the 0th to 3rd lanes. Parity data as an error correction code generated based on data from the host is stored in a parity lane. Also, the disk controller 10
Reference numeral 2 is connected to the CPU 100 via the CPU bus 115, and controls the HDD 101 to read and write data according to instructions from the CPU 100. Although there are both address buses and data buses from the disk controller 102 to the buffer 104, they are shown together by one bus in the figure. The address bus is provided by the disk controller 102, and the direction of the data bus changes depending on the mode.

【0024】バッファ104は、2つのバッファメモリ
(RAM)buf0とbuf1を備えたダブルバッファ
として構成されており、それら2つのバッファメモリの
うち、buf0がディスクコントローラ102側に接続
され、buf1がエラー訂正回路106に接続されたモ
ードと、これとは逆に接続されたモードとを切り替える
切替手段としてのバススイッチ103を備えている。な
お、このバススイッチ103は、アドレスバスとデータ
バスの両方合わせたものを一括して、CPU100から
の指示により切り替える。
The buffer 104 is configured as a double buffer having two buffer memories (RAM) buf0 and buf1. Of these two buffer memories, buf0 is connected to the disk controller 102 side and buf1 is used for error correction. A bus switch 103 is provided as switching means for switching between a mode connected to the circuit 106 and a mode connected in reverse. The bus switch 103 switches over both the address bus and the data bus in accordance with an instruction from the CPU 100.

【0025】また、バッファ104のバッファメモリb
uf0及びbuf1はSRAMなどで構成され、片方の
バッファメモリにディスクコントローラ102からのデ
ータが書き込まれている最中に、もう一方のバッファか
らエラー訂正回路106にデータを送り出す、いわゆる
パイプライン処理を行うことができるようになってい
る。なお、バッファ104からエラー訂正回路106側
へ出るバスは、アドレスバスとデータバスとをまとめて
示しており、アドレスはDMAコントローラ107から
与えられる一方、データバスは、エラー訂正回路106
との間でモードにより方向が変わる。なお、メモリの制
御に必要なリード信号、ライト信号なども、アドレス発
信元から同様の経路で与えられる。
The buffer memory b of the buffer 104
uf0 and buf1 are configured by SRAM or the like, and perform so-called pipeline processing of sending data from one buffer to the error correction circuit 106 while data from the disk controller 102 is being written to one buffer memory. You can do it. The bus from the buffer 104 to the error correction circuit 106 side shows an address bus and a data bus collectively. The address is given from the DMA controller 107, while the data bus is connected to the error correction circuit 106.
The direction changes depending on the mode. Note that a read signal, a write signal, and the like necessary for controlling the memory are also provided from the address source along the same route.

【0026】以上の構成要素のうち、HDD101、デ
ィスクコントローラ102、バススイッチ103、バッ
ファ104は、ディスクアレイの各レーンごとに用意さ
れている。また、モード指示ポート105は、エラー訂
正回路106に対し、動作モードの指示及びどのレーン
のデータを復元するかの指示を行う役割を果たす。動作
モードには、リードモード、ライトモード及びリビルド
モードの3種類があるが詳細は後に説明する。なお、モ
ード指示ポート105の出力はCPU100からの指示
により設定される。
Of the above components, the HDD 101, the disk controller 102, the bus switch 103, and the buffer 104 are prepared for each lane of the disk array. The mode instruction port 105 plays a role in instructing the error correction circuit 106 of an operation mode and an instruction of which lane data should be restored. There are three operation modes: a read mode, a write mode, and a rebuild mode, which will be described later in detail. The output of the mode instruction port 105 is set by an instruction from the CPU 100.

【0027】次に、エラー訂正回路106は、各レーン
のバッファ104から送られてきたデータを元にパリテ
ィ演算を行い、欠落したデータを復元したり、ホストか
ら送られてきたデータに対し、エラー訂正符号としての
パリティデータを付加する働きをなす。この回路は2種
類の入出力バス、すなわちホストとつながるホストデー
タバス111(例えば32ビット)と、各バッファ10
4とつながる内部データバス109(8ビット×5)と
を有する。なお、ホストバス111の32ビットデータ
バスを8ビットずつ4つに分解したものが、それぞれ内
部バス109の5本の8ビットバスのうちの4本に対応
する。また、各ビット及び各バスの対応は、一対一対応
ならばどのように対応付けられていてもよいが、ここで
は32ビットのうちの31〜24ビットが第3レーン、
23〜16ビットが第2レーン、15〜8ビットが第1
レーン、7〜0ビットが第0レーンと対応付けられてい
るものとする。
Next, the error correction circuit 106 performs a parity operation on the basis of the data transmitted from the buffer 104 of each lane to restore missing data, or performs error correction on the data transmitted from the host. It functions to add parity data as a correction code. This circuit includes two types of input / output buses, a host data bus 111 (for example, 32 bits) connected to the host, and each buffer 10.
4 and an internal data bus 109 (8 bits × 5). The 32-bit data bus of the host bus 111 is divided into four 8-bit data buses, each of which corresponds to four of the five 8-bit buses of the internal bus 109. Also, the correspondence between each bit and each bus may be any correspondence as long as they correspond one-to-one, but here, 31 to 24 bits of the 32 bits are in the third lane,
23-16 bits are in the second lane, 15-8 bits are in the first lane
It is assumed that lanes, bits 7 to 0, are associated with the 0th lane.

【0028】モード指示ポート105からの指示がリー
ドモードの場合は、図3に示すように、内部データバス
109は入力方向、ホストデータバス111は出力方向
となり、エラー訂正回路106は各バッファ104から
データを読み込む(図中、矢印はデータの流れを示
す)。このとき、同時にモード指示ポート105から
は、どのレーンのデータを復元すべきかが指示されてお
り、これに従ってエラー訂正を行う。そして、エラー訂
正回路106からの5つのレーンのデータのうち、パリ
ティレーンからのものを除いたもの、すなわち第0レー
ン〜第3レーンのデータが分割前の状態に整列されてホ
ストデータバス111に出力される。
When the instruction from the mode instruction port 105 is the read mode, as shown in FIG. 3, the internal data bus 109 is in the input direction, the host data bus 111 is in the output direction, and the error correction circuit 106 is Data is read (in the figure, arrows indicate the flow of data). At this time, the mode instruction port 105 instructs which lane data should be restored, and performs error correction according to the instruction. Then, among the data of the five lanes from the error correction circuit 106, the data excluding the data from the parity lane, that is, the data of the 0th lane to the 3rd lane are aligned in the state before the division, and are connected to the host data bus 111. Is output.

【0029】次に、ライトモードの際には、図5に示す
ように、内部データバス109は出力方向、ホストデー
タバス111は入力方向となり、エラー訂正回路106
は、ホストからのデータを読み込んで4つのブロックに
分割し、さらにすでに説明した公知の手法に従って、各
ブロックのデータに対しパリティ演算を行ってパリティ
データを生成する。各ブロックのデータとパリティデー
タは、内部データバス109により第0レーン〜第3レ
ーン及びパリティレーンに対し、それぞれバッファ10
4を介して出力される。
Next, in the write mode, as shown in FIG. 5, the internal data bus 109 is in the output direction and the host data bus 111 is in the input direction.
Reads the data from the host, divides the data into four blocks, and performs parity operation on the data in each block to generate parity data in accordance with the known method described above. The data of each block and the parity data are transferred to the 0th to 3rd lanes and the parity lane by the internal data bus 109, respectively.
4 is output.

【0030】また、リビルドモードの際には、図7に示
すように、内部データバス109は4本が入力方向、残
り1本が出力方向(破線にて表示)になり、ホストデー
タバス111は出力方向もしくは切断状態になる。モー
ド指示ポート105は、エラー訂正回路106に対しモ
ード指示と、どのレーンのデータを復元すべきかの指示
を行い、この指示のあったレーンの内部データバス10
9が出力となる(図では第2レーン)。すなわち、モー
ド指示ポート105は読出し不能レーン通知手段として
機能する。また、エラー訂正回路106は、内部データ
バス109のうちの4本(第0、1、3、パリティレー
ン)からデータを読み取り、これらから復元指示のあっ
たレーン(第2レーン)のデータを復元し、これを内部
データバス109のうちの1本(第2レーン)に出力す
る。
In the rebuild mode, as shown in FIG. 7, four internal data buses 109 are in the input direction, the remaining one is in the output direction (indicated by broken lines), and the host data bus 111 is Output direction or disconnected state. The mode instruction port 105 gives a mode instruction to the error correction circuit 106 and an instruction as to which lane data should be restored.
9 is the output (the second lane in the figure). That is, the mode instruction port 105 functions as a non-readable lane notification unit. Further, the error correction circuit 106 reads data from four (the 0th, 1st, 3rd, and parity lanes) of the internal data bus 109, and restores the data of the lane (the second lane) for which the restoration instruction has been issued from these. This is output to one of the internal data buses 109 (second lane).

【0031】なお、リビルドモードにおいて、ホストデ
ータバス111が出力になるか切断になるかは、リビル
ド動作中にホストからの読み出し要求があるかないかで
決まる。ホストからの読出し要求があった場合には、そ
の要求データを読み出し、ホストへ出力するついでにリ
ビルドデータを復元することが可能である。また、ホス
トからの読み出し要求がない場合は、CPU100が自
発的にデータを読み出してリビルドを行うが、このとき
はホストデータバス111へはデータは出力されない。
ここで、ホストデータバス111へ出力するか切断状態
にするかの指示も、モード指示ポート105が行う。
In the rebuild mode, whether the host data bus 111 is output or disconnected depends on whether or not there is a read request from the host during the rebuild operation. When there is a read request from the host, it is possible to read the requested data and restore the rebuilt data before outputting it to the host. When there is no read request from the host, the CPU 100 spontaneously reads the data and performs a rebuild, but at this time, no data is output to the host data bus 111.
Here, the mode instruction port 105 also issues an instruction as to whether to output to the host data bus 111 or to disconnect the host data bus 111.

【0032】DMAコントローラ107は、例えばデュ
アルアドレスタイプのDMAコントローラで構成され、
各バッファ104へ転送アドレスを与えるとともに、ホ
ストにも転送アドレスを指示する役割を果たす。該DM
Aコントローラ107は、CPUバス115でCPU1
00と接続されており、CPU100からの指示により
ダイレクトメモリアクセスを実行する。なお、本実施例
ではホストデータバス111の先に図示しないバスアー
ビタが存在するものとしており、DMAコントローラ1
07は、ホストに対しバス権要求のREQ信号113を
出力し、バスアービタがバス権を渡すとACK信号11
4が返されてダイレクトメモリアクセスが開始される。
The DMA controller 107 is composed of, for example, a dual address type DMA controller.
A transfer address is given to each buffer 104, and also serves to instruct the host of the transfer address. The DM
A controller 107 is connected to CPU 1 via CPU bus 115.
00, and executes direct memory access according to an instruction from the CPU 100. In this embodiment, it is assumed that a bus arbiter (not shown) exists before the host data bus 111, and the DMA controller 1
07 outputs a REQ signal 113 for requesting a bus right to the host, and outputs an ACK signal 11 when the bus arbiter passes the bus right.
4 is returned and direct memory access is started.

【0033】コマンドバッファ108は、ホストからの
コマンドを受け、また、ホストにレスポンスを返すため
のメモリであり、ホストとCPU100からのいずれか
らでもリード・ライトが可能な共有メモリとして構成さ
れている。デバイスとしては、デュアルポートメモリな
どを使用する。
The command buffer 108 is a memory for receiving a command from the host and returning a response to the host. The command buffer 108 is configured as a shared memory that can be read and written from any of the host and the CPU 100. As a device, a dual port memory or the like is used.

【0034】次に、図2は、エラー訂正回路106の詳
細構造を示す内部ブロック図である。各内部データバス
109は、エラー訂正回路106内では、それぞれ対応
するバスバッファ201により受けられる。また、スリ
ーステートバッファ202も各バス109に接続されて
おり、内部データバス109へデータを出力する際に
は、このスリーステートバッファ202がバス109を
駆動する。バスバッファ201で受けられたデータは、
パリティ復元回路200とセレクタ203の両方に分配
される。パリティ復元回路200は各レーンのデータを
受け取り、また、モード指示ポート105(図1)によ
り指定されたレーンのデータを復元する。復元には前述
の通りパリティ演算が用いられ、復元されたデータは、
復元データバス208を介してセレクタ203とセレク
タ204とに分配される。この復元データバス208と
DMAコントローラ107(図1)がデータ書戻手段を
構成する。
FIG. 2 is an internal block diagram showing the detailed structure of the error correction circuit 106. Each internal data bus 109 is received by a corresponding bus buffer 201 in the error correction circuit 106. A three-state buffer 202 is also connected to each bus 109, and when outputting data to the internal data bus 109, the three-state buffer 202 drives the bus 109. The data received by the bus buffer 201 is
It is distributed to both the parity restoration circuit 200 and the selector 203. The parity restoration circuit 200 receives the data of each lane, and restores the data of the lane specified by the mode instruction port 105 (FIG. 1). Parity operation is used for restoration as described above, and the restored data is
The data is distributed to the selector 203 and the selector 204 via the restoration data bus 208. The restoration data bus 208 and the DMA controller 107 (FIG. 1) constitute data write-back means.

【0035】各セレクタ203は、そのポートAに各レ
ーンの元のデータが、ポートBに復元データがそれぞれ
入力されるようになっており、モード指示ポート105
からの指示により適切な方を選択する。例えば、第2レ
ーンのHDD101のデータが読めなかった場合は、第
2レーンのセレクタ203だけが復元データを選択し、
他のレーンのセレクタ203は元のデータを選択するよ
うに制御が行われる。各セレクタ203の出力は、8ビ
ット毎に整列してスリーステートバッファ206に伝え
られる。このスリーステートバッファ206もモード指
示ポート105の指示により、適切なタイミングでホス
トデータバス111にデータを出力する。
The selector 203 receives the original data of each lane at its port A and the restored data at its port B.
Select the appropriate one according to the instructions from. For example, when the data of the HDD 101 in the second lane cannot be read, only the selector 203 in the second lane selects the restored data,
The selectors 203 of the other lanes are controlled so as to select the original data. The outputs of the selectors 203 are transmitted to the three-state buffer 206 in an aligned manner every eight bits. The three-state buffer 206 also outputs data to the host data bus 111 at an appropriate timing according to an instruction from the mode instruction port 105.

【0036】一方、ホストデータバス111からデータ
を入力する場合は、バスバッファ207を介してデータ
を取り込む。取り込まれたデータは8ビット毎に分割さ
れ、それぞれのレーンに対応するセレクタ204と、エ
ラー訂正符号生成回路としてのパリティジェネレータ2
05とに分配される。パリティジェネレータ205は、
入力側に8ビットバスが4本接続されるEXCLUSIVE-OR回
路として構成されており、入力されるデータに対し1ビ
ット毎の排他的論理和(EXCLUSIVE-OR)演算を行ってパ
リティデータを生成するものである。また、セレクタ2
04はリビルドモードのためのセレクタで、ホストから
のデータがポートAに、復元データがポートBにそれぞ
れ入力されるとともに、モード指示ポート105(図
1)からの指示により、リビルドモード時には復元デー
タを選択し、ライトモード時にはホストからのデータを
選択するようになっている。そして、各セレクタ204
で選択されたデータは、スリーステートバッファ202
で対応する内部データバス109へ出力される。このス
リーステートバッファ202の駆動タイミングは、モー
ド指示ポート105からの指示により制御される。
On the other hand, when data is input from the host data bus 111, the data is fetched via the bus buffer 207. The fetched data is divided every eight bits, and a selector 204 corresponding to each lane and a parity generator 2 as an error correction code generation circuit are provided.
05. The parity generator 205
The input side is configured as an EXCLUSIVE-OR circuit in which four 8-bit buses are connected, and performs an exclusive OR (EXCLUSIVE-OR) operation on the input data for each bit to generate parity data. Things. Selector 2
Reference numeral 04 denotes a selector for the rebuild mode. Data from the host is input to the port A and restored data is input to the port B. In response to an instruction from the mode instruction port 105 (FIG. 1), the restored data is input in the rebuild mode. In the select and write mode, data from the host is selected. Then, each selector 204
Is selected in the three-state buffer 202.
Is output to the corresponding internal data bus 109. The drive timing of the three-state buffer 202 is controlled by an instruction from the mode instruction port 105.

【0037】以下、ディスクアレイシステム1の動作に
ついて説明する。まず、ディスクアレイにデータを書き
込む場合、すなわちリードモード時の動作について図3
及び図4を用いて説明する。すなわち、図3において、
ホストからコマンドバッファ108を介してCPU10
0へ、「セクタ番号Sのセクタのデータを読め」という
指令が伝えられる。セクタとは、ディスクアレイ全体の
記憶サイズを使いやすい大きさに分割した小領域で、セ
クタ番号はその領域の通し番号として定義される。な
お、HDD101にはアレイシステムを組まずに単独で
使用する場合のセクタが別途定義されており、2種類の
セクタが存在することになるわけであるが、混同を避け
るために単体ディスクのセクタ番号はssで表し、ディ
スクアレイ全体のセクタ番号はSで表す。
The operation of the disk array system 1 will be described below. First, when data is written to the disk array, that is, the operation in the read mode, FIG.
This will be described with reference to FIG. That is, in FIG.
CPU 10 from the host via command buffer 108
0 is instructed to read the data of the sector with the sector number S. A sector is a small area obtained by dividing the storage size of the entire disk array into a convenient size, and the sector number is defined as a serial number of the area. It should be noted that the HDD 101 separately defines a sector when used alone without forming an array system, and there are two types of sectors. To avoid confusion, the sector number of a single disk is used. Is represented by ss, and the sector number of the entire disk array is represented by S.

【0038】CPU100は、分散されたHDD101
上でセクタSがどこに当たるかを換算して、それぞれの
HDD101の読み出し開始セクタ番号ssを求める。
次にCPU100は、バススイッチ103により、バッ
ファ104をバッファメモリbuf0側がディスクコン
トローラ102につながるように切り替えておいてか
ら、各レーンのディスクコントローラ102にセクタs
sに対するリードコマンドを送って、HDD101のデ
ータを読み出させる。各レーンのHDD101はそれぞ
れで回転待ち時間が異なるため、実際にリードデータが
出てくるタイミングはまちまちになる。なお、データの
転送は、各レーンごとに図示しないDMAコントローラ
が行っても良いし、CPU100によりプログラム転送
を行っても良い。また、ディスクリードの成否はディス
クコントローラ102が通知する。
The CPU 100 has a distributed HDD 101
The read start sector number ss of each HDD 101 is obtained by converting where the sector S falls.
Next, the CPU 100 switches the buffer 104 so that the buffer memory buf0 side is connected to the disk controller 102 by the bus switch 103, and then stores the sector s in the disk controller 102 of each lane.
Sends a read command for s to read data from the HDD 101. Since the rotation waiting times of the HDDs 101 in the respective lanes are different from each other, the timing at which the read data actually comes out varies. The data transfer may be performed by a DMA controller (not shown) for each lane, or the program may be transferred by the CPU 100. The disk controller 102 notifies the success or failure of the disk read.

【0039】こうしてバッファ104のメモリbuf0
にそれぞれのレーンのデータが互いに異なるタイミング
で入ってくる(図3:)。ここで、4つのレーンのデ
ータが揃ったところで、5つ目のレーンのリードは取り
やめるように構成することができる。すなわち、5つの
データのうち4つが揃えば、残り1つのデータはエラー
訂正回路106で再生できるからであるが、全レーンの
データをリードするようにしてもよい。次にCPU10
0は、バッファ104のメモリbuf0側をエラー訂正
回路106につながるように切り替えるとともに、エラ
ー訂正回路106に対しモード指示ポート105を介し
て、この転送がリードモードであることと、どのレーン
のデータが欠落しているかを通知する。
Thus, the memory buf0 of the buffer 104
The data of each lane enters at different timings (FIG. 3 :). Here, when the data of the four lanes is completed, the reading of the fifth lane can be canceled. That is, if four of the five data are aligned, the remaining one data can be reproduced by the error correction circuit 106. However, the data of all lanes may be read. Next, the CPU 10
0, the buffer buff0 side of the buffer 104 is switched so as to be connected to the error correction circuit 106, and the transfer of the transfer is in the read mode via the mode instruction port 105 to the error correction circuit 106, and which lane data is Notify if missing.

【0040】この状態でDMAコントローラ107に起
動をかけると、4つのレーンのデータが、buf0から
エラー訂正回路106に転送される(図3:)。エラ
ー訂正回路106は、データが欠落したレーンのデータ
を適切に復元し、ホストデータバス111に32ビット
のデータを出力する(図3:)。図4は、そのときの
エラー訂正回路106内でのデータの流れを示してい
る。すなわち、各バッファ104から内部データバス1
09を通って送られてきたデータはパリティ復元回路2
00へ分配され(図4:)、例えば第1レーンのデー
タが欠落していれば、パリティ復元回路200はそのデ
ータを入力された4つのデータから復元する。そして、
各セレクタ203において、第1レーンに対応するもの
のみポートBが選択され、他はポートAが選択されるこ
とにより(図4:)、第1レーンからは上記復元され
たデータが、第0、2、3レーンからはバッファ201
からの元のデータが、それぞれホストデータバス111
側へダイレクトメモリアクセスにより転送されることと
なる(図4:)。
When the DMA controller 107 is activated in this state, data of four lanes is transferred from buf0 to the error correction circuit 106 (FIG. 3 :). The error correction circuit 106 appropriately restores the data of the lane from which the data was lost, and outputs 32-bit data to the host data bus 111 (FIG. 3 :). FIG. 4 shows a data flow in the error correction circuit 106 at that time. That is, the internal data bus 1
09 sent through the parity restoration circuit 2
00 (FIG. 4 :), and if, for example, the data of the first lane is missing, the parity restoration circuit 200 restores the data from the input four data. And
In each selector 203, only the port B corresponding to the first lane is selected, and the other port A is selected (FIG. 4 :). Buffer 201 from a few lanes
From the host data bus 111
Side by direct memory access (FIG. 4 :).

【0041】そして、図3に戻り、CPU100は、デ
ータ転送の完了をもってコマンド実行の完了とし、コマ
ンドバッファ108に正常終了レスポンスを書き込み、
ディスクアレイとしてのセクタリードコマンドが完結す
る。なお、2つ以上のHDD101が読出不能だった場
合等においては、異常終了レスポンスが書き込まれる。
Returning to FIG. 3, the CPU 100 determines that the command execution is completed upon completion of the data transfer, and writes a normal end response to the command buffer 108.
The sector read command as the disk array is completed. If two or more HDDs 101 cannot be read, an abnormal end response is written.

【0042】次に、データを書き込む場合、すなわちラ
イトモード時の動作を、図5及び図6を用いて説明す
る。まずホストからコマンドバッファ108を介して、
CPU100へ「セクタ番号Sのセクタにデータを書
け」という指令が伝えられる。するとCPU100は、
バッファ104をbuf0側がエラー訂正回路106に
つながるように切り替えておいて、モード指示ポート1
05にライトモードであることを指示してから、DMA
コントローラ107を起動する。すると、ホストデータ
バス111を介してホストからのデータがエラー訂正回
路106に入力される(図5:)。
Next, the operation of writing data, that is, the operation in the write mode, will be described with reference to FIGS. First, from the host via the command buffer 108,
A command to “write data to sector with sector number S” is transmitted to CPU 100. Then, the CPU 100
The buffer 104 is switched so that the buf0 side is connected to the error correction circuit 106, and the mode instruction port 1
05 is instructed to be in write mode,
The controller 107 is started. Then, data from the host is input to the error correction circuit 106 via the host data bus 111 (FIG. 5 :).

【0043】図6に示すように、エラー訂正回路106
内では、ホストデータバス111からのデータがバッフ
ァ207に供給され(図6:)、8ビットずつの4つ
のブロックに分割されて、それぞれ第0〜第3レーンの
対応するものに転送されるとともに、各々のデータブロ
ックはパリティジェネレータ205に供給されてパリテ
ィデータが生成され、これがパリティレーンに向けて転
送される(図6:)。
As shown in FIG. 6, the error correction circuit 106
Inside, the data from the host data bus 111 is supplied to the buffer 207 (FIG. 6 :), divided into four blocks of 8 bits each, and transferred to the corresponding ones of the 0th to 3rd lanes. , Each data block is supplied to a parity generator 205 to generate parity data, which is transferred to a parity lane (FIG. 6 :).

【0044】図5に戻り、CPU100は、バッファ1
04のbuf0側をディスクコントローラ102側に切
り替えて、各レーンのディスクコントローラ102にセ
クタssに対するライトコマンドを送ってHDD101
にデータを書き込む。そして、全てのディスクコントロ
ーラ102のコマンド完了をもって、CPU100は、
コマンドバッファ108に正常終了レスポンスを書き込
み、ディスクアレイとしてのセクタライトコマンドが完
結する。
Returning to FIG. 5, the CPU 100
04 is switched to the disk controller 102 side, a write command for the sector ss is sent to the disk controller 102 of each lane, and the HDD 101
Write data to Then, upon completion of the commands of all the disk controllers 102, the CPU 100
A normal end response is written to the command buffer 108, and the sector write command as a disk array is completed.

【0045】最後に、リビルドモードでの動作を図7及
び図8を用いて説明する。図7において、CPU100
は、ディスクコントローラ102の実行結果を読み取
り、どのレーンのHDD101が故障して新品のHDD
に交換されたかということを常時監視している。そし
て、新品のディスクを検出した場合、自動的にリビルド
モードに入る(なお、手動によるコマンド入力等により
リビルドモードに入るようにしてもよい)。まず、CP
U100は、バッファ104のbuf0をディスクコン
トローラ102側に切り替え、新品でないレーンのディ
スクコントローラ102に対しセクタnのリードコマン
ドを発行する。これに対応して、4つのレーンのデータ
がバッファ104のbuf0に読み出されたら(図7:
)、リビルドモードであること及びどのレーンにリビ
ルドデータを生成すべきかを、モード指示ポート105
を介してエラー訂正回路106に伝える(以下、本実施
例ではレーン2のデータをリビルドするものとする)。
Finally, the operation in the rebuild mode will be described with reference to FIGS. In FIG. 7, the CPU 100
Reads the execution result of the disk controller 102 and finds out which lane of the HDD 101
It is constantly monitored to see if it has been replaced. Then, when a new disk is detected, the rebuild mode is automatically entered (the rebuild mode may be entered by manual command input or the like). First, CP
U100 switches buf0 of the buffer 104 to the disk controller 102 side, and issues a read command for the sector n to the disk controller 102 in a non-new lane. Correspondingly, when data of four lanes is read out to buf0 of the buffer 104 (FIG. 7:
), The mode instructing port 105 determines whether the mode is the rebuild mode and in which lane the rebuild data should be generated.
(Hereinafter, data of lane 2 is rebuilt in this embodiment).

【0046】そして、buf0をエラー訂正回路106
側に切り替えて、DMAコントローラ107を起動す
る。すると、リビルドすべきレーン以外のレーンのバッ
ファ104からデータが読み出されてエラー訂正回路1
06へ転送され(図7:)、そこでリビルドデータが
生成されるとともに、これがリビルドレーンのバッファ
104のbuf0に書き戻される(図7:)。このと
きの、エラー訂正回路106内でのデータの流れを図8
に示している。すなわち、第2レーン以外のデータがパ
リティ復元回路200に送られ(図8:)、それに基
づいて第2レーンのリビルドデータを生成する(図8:
)。このリビルドデータは、各セレクタ204のすべ
てに分配されるが、第2レーンに対応するもののみポー
トBを選択し、他はポートAを選択することで、第2レ
ーンにのみリビルドデータが転送される(図8:)。
このとき、ホストデータバス111にデータが出ては困
る場合には、スリーステートバッファ206をオープン
とし、ホストデータバス111にデータが出力されない
ようにすればよい。
Then, buf0 is converted to an error correction circuit 106.
Side, and activates the DMA controller 107. Then, data is read from the buffer 104 of the lane other than the lane to be rebuilt, and the error correction circuit 1
06 (FIG. 7 :), where the rebuild data is generated and is written back to buf0 of the buffer 104 of the rebuild lane (FIG. 7 :). FIG. 8 shows the flow of data in the error correction circuit 106 at this time.
Is shown in That is, data other than the data in the second lane is sent to the parity restoration circuit 200 (FIG. 8 :), and the rebuild data in the second lane is generated based on the data (FIG. 8 :).
). This rebuild data is distributed to all of the selectors 204. By selecting the port B only for the one corresponding to the second lane and selecting the port A for the other, the rebuild data is transferred only to the second lane. (FIG. 8 :).
At this time, when it is not necessary to output data to the host data bus 111, the three-state buffer 206 may be opened to prevent data from being output to the host data bus 111.

【0047】そして、図7に戻り、新品ディスクのレー
ンのbuf0をディスクコントローラ102側に切り替
え、そのレーンのディスクコントローラ102に対し
て、セクタnへのライトコマンドを発行する。この手順
を、nを0から最大セクタ番号までスキャンすること
で、新品のHDDに元のデータが復元される。
Returning to FIG. 7, buf0 of the lane of the new disk is switched to the disk controller 102 side, and a write command to the sector n is issued to the disk controller 102 of the lane. By scanning n from 0 to the maximum sector number in this procedure, the original data is restored to a new HDD.

【0048】さて、リードモードにおいてはバッファ1
04には、異なるタイミングで到着するHDD101か
らのデータを一旦蓄積し、エラー訂正回路106に同時
に渡せるようにするための役割を果たすのであるが、こ
れがダブルバッファ構成になっていることで、データの
連続転送速度を向上させる効果が達成されている。例え
ば、ホストから「セクタ番号S1のセクタのデータを読
め」という指令が来て、この実行が完了する前に続けて
「セクタ番号S2のセクタのデータを読め」という指令
が来たとしよう(ここでは、コマンドは、実行完了を待
たずに何個か続けて同時に発行できる前提とし、実行待
ちのコマンドはCPU100の持つ図示しないコマンド
キューに保存されるものとする)。バッファ104がダ
ブルバッファでなければ、S1のデータをエラー訂正回
路106へ転送中は、次のS2のデータを読もうとして
もバッファ104が空いていないので不可能である。し
かしながら、これを図1に示すようにダブルバッファと
することで、S1のデータをbuf0に読み込んでエラ
ー訂正回路106へ転送している間に、これと並行して
S2のデータをbuf1に読み込む、いわゆるパイプラ
イン処理が可能となり、連続読出しの場合のディスクア
レイシステム1全体の出力転送速度を向上させることが
できる。
In the read mode, the buffer 1
04 plays a role to temporarily accumulate data from the HDD 101 arriving at different timings and to be able to pass the data to the error correction circuit 106 at the same time. The effect of improving the continuous transfer speed has been achieved. For example, suppose that a command "Read data of sector with sector number S1" has been received from the host, and a command "Read data of sector with sector number S2" has been received before this execution is completed (here, it is assumed that the command is read). It is assumed that several commands can be issued simultaneously without waiting for completion of execution, and commands waiting for execution are stored in a command queue (not shown) of the CPU 100). If the buffer 104 is not a double buffer, it is impossible to read the next data of S2 while the data of S1 is being transferred to the error correction circuit 106 because the buffer 104 is not empty. However, by using this as a double buffer as shown in FIG. 1, while the data of S1 is read into buf0 and transferred to the error correction circuit 106, the data of S2 is read into buf1 in parallel with this. So-called pipeline processing can be performed, and the output transfer speed of the entire disk array system 1 in the case of continuous reading can be improved.

【0049】このようなパイプライン処理は、ライトモ
ードのときも同様に効果を奏することができ、この場合
は連続書込みによりディスクアレイシステム1全体の入
力転送速度を向上させることができる。また、リビルド
モードの場合も、正常なHDD101のリードと、障害
代替記憶装置となるHDD101へのライトとがパイプ
ライン的に同時に行えるのでリビルド速度が向上する。
Such a pipeline processing can be similarly effective in the write mode. In this case, the input transfer speed of the entire disk array system 1 can be improved by continuous writing. Also in the case of the rebuild mode, a normal read of the HDD 101 and a write to the HDD 101 serving as a failure alternative storage device can be simultaneously performed in a pipeline manner, thereby improving the rebuild speed.

【0050】なお、以上説明した実施例では、ホストデ
ータバス111を32ビット、内部データバスを8ビッ
トとしてパラレル数を4とした構成を示したが、他のビ
ット数のバス構成としてもよい。例えば、ホストデータ
バスを64ビット、内部データバスを8ビットとすれば
パラレル数8の形で、ホストデータバスを32ビット、
内部データバスを1ビットとすればパラレル数32の形
でそれぞれ構成可能である。
In the embodiment described above, the host data bus 111 has 32 bits, the internal data bus has 8 bits, and the number of parallels is four. However, the bus configuration may have another number of bits. For example, if the host data bus is 64 bits and the internal data bus is 8 bits, the host data bus is 32 bits in the form of 8 parallel numbers.
If the internal data bus is 1 bit, each can be configured in the form of 32 parallel numbers.

【0051】また、上記実施例ではバッファ104をダ
ブルバッファ構成としていたが、安価に構成しようとす
るならば、単なるシングルバッファ構成にしてもよい。
この場合はパイプライン処理によるリード/ライト処理
及びリビルド速度の向上については期待できないが、パ
リティ演算手段及びリビルド経路などがハードウェア化
されていることによる処理速度向上の効果は同様に達成
される。
In the above embodiment, the buffer 104 has a double buffer configuration. However, if the buffer 104 is to be configured at a low cost, a single buffer configuration may be used.
In this case, the read / write processing and the improvement of the rebuild speed by the pipeline processing cannot be expected, but the effect of the improvement of the processing speed by the hardware such as the parity calculation means and the rebuild path is similarly achieved.

【0052】また、バッファ104をダブルバッファと
する代わりに、図9に示すようなデュアルポートメモリ
を使用する方法もある。この場合は、バッファ104が
2つの入出力バス104a,104bと、それらバス1
04a及び104bに対し共通に設けられたRAM10
4eと、そのRAM104eに対し、上記2つの入出力
バス104a,104bのいずれかを選択的に接続する
切替手段としてのバススイッチ104cとを備えてい
る。バススイッチ104cにはアービタ104dが接続
され、両バス104a,104bへのデータの入出力を
指示するためのリード/ライト信号がアービタ104d
に入力されるようになっている。
There is also a method of using a dual port memory as shown in FIG. 9 instead of using the buffer 104 as a double buffer. In this case, the buffer 104 is composed of two input / output buses 104a and 104b,
RAM 10 provided in common for 04a and 104b
4e, and a bus switch 104c as switching means for selectively connecting any of the two input / output buses 104a and 104b to the RAM 104e. An arbiter 104d is connected to the bus switch 104c, and a read / write signal for instructing input / output of data to both buses 104a and 104b is sent to the arbiter 104d.
To be entered.

【0053】アービタ104dは、バス104a,10
4bのうち、リード/ライト信号の到着の早かったもの
に対しRAM104eが接続されるように、バススイッ
チ104cの切替えを行う。これによりHDD101か
らのデータの読み出し、すなわちバッファ104へのデ
ータの書き込みと、エラー訂正回路106へのデータ出
力、すなわちバッファ104からのデータの読み出しと
を同時に実行できる。なお、デュアルポートメモリとし
ては、2つの入出力バス104a,104bがいずれも
ランダムアクセス型のもの、一方がランダムアクセスと
なり、他方がシーケンシャルアクセスとなるもの(例え
ばVRAMなど)、及びいずれもシーケンシャルアクセ
スとなるもの(例えばFIFOなど)のいずれを使用し
てもよい。
The arbiter 104d is connected to the buses 104a, 104a.
Of the 4b, the bus switch 104c is switched so that the RAM 104e is connected to the one from which the read / write signal arrived earlier. Thus, reading of data from the HDD 101, that is, writing of data to the buffer 104, and outputting of data to the error correction circuit 106, that is, reading of data from the buffer 104 can be performed simultaneously. As the dual port memory, the two input / output buses 104a and 104b are both random access type, one is random access, the other is sequential access (for example, VRAM, etc.), and both are sequential access. (For example, FIFO).

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

【図1】本発明の記憶装置アレイシステムの一実施例と
してのディスクアレイシステムの構成を示すブロック
図。
FIG. 1 is a block diagram showing a configuration of a disk array system as one embodiment of a storage device array system of the present invention.

【図2】そのエラー訂正回路のブロック図である。FIG. 2 is a block diagram of the error correction circuit.

【図3】図1のシステムにおけるリードモードでのデー
タの流れを示す説明図。
FIG. 3 is an explanatory diagram showing a data flow in a read mode in the system of FIG. 1;

【図4】同じくエラー訂正回路内のデータの流れを示す
説明図。
FIG. 4 is an explanatory diagram showing a data flow in the error correction circuit.

【図5】図1のシステムにおけるライトモードでのデー
タの流れを示す説明図。
FIG. 5 is an explanatory diagram showing a data flow in a write mode in the system of FIG. 1;

【図6】同じくエラー訂正回路内のデータの流れを示す
説明図。
FIG. 6 is an explanatory diagram showing a data flow in the error correction circuit.

【図7】図1のシステムにおけるリビルドモードでのデ
ータの流れを示す説明図。
FIG. 7 is an explanatory diagram showing a data flow in a rebuild mode in the system of FIG. 1;

【図8】同じくエラー訂正回路内のデータの流れを示す
説明図。
FIG. 8 is an explanatory diagram showing a data flow in the error correction circuit.

【図9】バッファをデュアルポートメモリで構成した例
を示すブロック図。
FIG. 9 is a block diagram showing an example in which a buffer is configured by a dual port memory.

【図10】第1の従来例のブロック図である。FIG. 10 is a block diagram of a first conventional example.

【図11】第2の従来例のブロック図である。FIG. 11 is a block diagram of a second conventional example.

【図12】ディスクアレイシステムの概念を示す説明
図。
FIG. 12 is an explanatory diagram showing the concept of a disk array system.

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

1 ディスクアレイシステム(記憶装置アレイシス
テム) 101 ハードディスクドライブ(記憶装置) 102 ディスクコントローラ 103 バススイッチ(切替手段) 104 バッファ buf0,buf1 バッファメモリ(RAM) 104a,104b 入出力バス 104c バススイッチ(切替手段) 104e RAM 106 エラー訂正回路 107 DMAコントローラ(データ読出手段、データ
書込手段、データ書戻手段) 205 パリティジェネレータ(エラー訂正符号生成回
路) 208 復元データバス(データ書戻手段)
DESCRIPTION OF SYMBOLS 1 Disk array system (storage device array system) 101 Hard disk drive (storage device) 102 Disk controller 103 Bus switch (switching means) 104 Buffer buf0, buf1 Buffer memory (RAM) 104a, 104b I / O bus 104c Bus switch (switching means) 104e RAM 106 error correction circuit 107 DMA controller (data reading means, data writing means, data writing back means) 205 parity generator (error correction code generation circuit) 208 restoration data bus (data writing back means)

Claims (6)

【特許請求の範囲】[Claims] 【請求項1】 複数の記憶装置を有し、外部より入力さ
れたデータを複数のデータブロックに分割して、それぞ
れエラー訂正符号を付与した形で該複数の記憶装置に分
散して記憶させるとともに、各データブロックはそれら
記憶装置に対し並列して読み書きされるようになってお
り、さらに、 前記各記憶装置に対応して設けられ、各々対応する記憶
装置から読み出されたデータを一時蓄積する独立したバ
ッファと、 それらバッファに蓄積された前記データを一括して読み
出すデータ読出手段と、 該データ読出手段が前記バッ
ファから読み出したデータをエラー訂正し、そのエラー
訂正されたデータを外部へ出力するエラー訂正回路とを
備えたことを特徴とする記憶装置アレイシステム。
1. A storage device comprising a plurality of storage devices, wherein data input from the outside is divided into a plurality of data blocks, and each of the plurality of data blocks is distributed and stored in the plurality of storage devices in a form to which an error correction code is added. , Each data block is configured to be read and written in parallel with respect to these storage devices, and further provided in correspondence with each of the storage devices, and temporarily stores data read from each of the corresponding storage devices. An independent buffer, data reading means for collectively reading the data stored in the buffers, error correction of data read from the buffer by the data reading means, and outputting the error-corrected data to the outside. A storage device array system comprising an error correction circuit.
【請求項2】 外部から入力されたデータ(以下、入力
データという)からエラー訂正符号を生成するエラー訂
正符号生成回路と、 その生成されたエラー訂正符号と前記入力データとを前
記バッファに書き込むデータ書込手段とを備える請求項
1記載の記憶装置アレイシステム。
2. An error correction code generation circuit for generating an error correction code from externally input data (hereinafter referred to as input data), and data for writing the generated error correction code and the input data to the buffer. 2. The storage device array system according to claim 1, further comprising a writing unit.
【請求項3】 前記エラー訂正回路からの出力データの
一部を前記バッファに書き戻すためのデータ書戻手段を
備える請求項1又は2に記載の記憶装置アレイシステ
ム。
3. The storage device array system according to claim 1, further comprising data write-back means for writing back a part of output data from said error correction circuit to said buffer.
【請求項4】 前記バッファは、前記記憶装置から該バ
ッファへのデータの書き込みと、該バッファから前記エ
ラー訂正回路へのデータの送り出しとが同時実行可能と
されている請求項1ないし3のいずれかに記載の記憶装
置アレイシステム。
4. The buffer according to claim 1, wherein writing of data from said storage device to said buffer and sending of data from said buffer to said error correction circuit are simultaneously executable. A storage device array system according to any one of claims 1 to 3.
【請求項5】 前記バッファは、第一及び第二のRAM
と、それらRAMに対するデータの入出力モードを、前
記第一のRAMへデータを書き込み前記第二のRAMか
らデータを読み出すモードと、前記第一のRAMからデ
ータを読出し前記第二のRAMへデータを書き込むモー
ドとの間で切り替える切替手段とを備えている請求項4
記載の記憶装置アレイシステム。
5. The buffer according to claim 1, wherein the buffer comprises first and second RAMs.
And a data input / output mode for the RAMs, a mode for writing data to the first RAM and reading data from the second RAM, and a mode for reading data from the first RAM and reading data to the second RAM. 5. Switching means for switching between a writing mode and a writing mode.
A storage device array system according to any of the preceding claims.
【請求項6】 前記バッファは、2つの入出力バスと、
それら入出力バスに対し共通に設けられたRAMと、そ
のRAMに対し前記2つの入出力バスのいずれかのもの
を選択的に接続する切替手段とを備えている請求項4記
載の記憶装置アレイシステム。
6. The buffer, comprising: two input / output buses;
5. The storage device array according to claim 4, further comprising: a RAM provided commonly to the input / output buses, and a switching unit for selectively connecting any one of the two input / output buses to the RAM. system.
JP8315550A 1996-11-11 1996-11-11 Storage device array system Pending JPH10143331A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8315550A JPH10143331A (en) 1996-11-11 1996-11-11 Storage device array system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8315550A JPH10143331A (en) 1996-11-11 1996-11-11 Storage device array system

Publications (1)

Publication Number Publication Date
JPH10143331A true JPH10143331A (en) 1998-05-29

Family

ID=18066700

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8315550A Pending JPH10143331A (en) 1996-11-11 1996-11-11 Storage device array system

Country Status (1)

Country Link
JP (1) JPH10143331A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013527544A (en) * 2010-06-01 2013-06-27 グリーンライアント リミテッド ライアビリティ カンパニー Dynamic buffer management in NAND memory controller to minimize aging-related performance degradation due to error correction

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013527544A (en) * 2010-06-01 2013-06-27 グリーンライアント リミテッド ライアビリティ カンパニー Dynamic buffer management in NAND memory controller to minimize aging-related performance degradation due to error correction
US8726130B2 (en) 2010-06-01 2014-05-13 Greenliant Llc Dynamic buffer management in a NAND memory controller to minimize age related performance degradation due to error correction

Similar Documents

Publication Publication Date Title
JP3181398B2 (en) Array type recording device
US5479611A (en) Disk array apparatus
JP3595099B2 (en) Device array system
EP0532514A1 (en) Failure-tolerant mass storage system
EP0948770B1 (en) Error detection device and method
JPH0876941A (en) Disk array subsystem
EP0832456A1 (en) Disk array system including a dual-ported staging memory and concurrent redundancy calculation capability
JP4965722B2 (en) Method for establishing a high level of redundancy, fault tolerance, and performance in a RAID system without using parity and mirroring
JP2857288B2 (en) Disk array device
USRE36448E (en) Memory controller with parity generator for an I/O control unit
JPH10143331A (en) Storage device array system
JP2000148409A (en) Redundant storage device
JPH08171463A (en) Data read method in disk array device, and disk array device
JPH10222314A (en) Storage device array system
JPH1166693A (en) Array disk processing device
JP2857289B2 (en) Disk array device
JPH05127837A (en) Disk array device
JPH07211016A (en) Disc memory device and method thereof for recording data
JP3615250B2 (en) Disk array device
JP2010286887A (en) Disk array device, processing method, and program therefor
JP2856054B2 (en) Disk array device
JPH09258913A (en) Storage device array system
JP2868003B1 (en) Magnetic disk drive
WO1999031572A1 (en) Magnetic disk apparatus and method of data transfer
JPH0588988A (en) Disk array device and method for restoring data