Disk array device

Error detection/correction and fault detection/recovery – Data processing system error or fault handling – Reliability and availability

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C714S006130

Reexamination Certificate

active

06799283

ABSTRACT:

BACKGROUND OF THE INVENTION
1. Field of the Invention
This invention relates to disk array devices and more specifically, to a disk array device in which multiple disks (typically, magnetic disks or optical disks) construct a disk array capable of storing a large volume of data, transferring data at high speed, and further providing higher system reliability.
2. Description of the Background Art
Typical disk array devices include a RAID (Redundant Array of Inexpensive Disks). The RAID is discussed in detail in “A Case for Redundant Arrays of Inexpensive Disks”, by David A. Patterson, Garth Gibson, Randy H. Katz, University of California Berkeley, December 1987, and others. Six basic architectures of the RAID from levels 0 to 5 have been defined. Described below is how a RAID adopting the level 3 architecture (hereinafter referred to as RAID-3) controls input/output of data.
FIG. 69
is a block diagram showing the typical structure of the RAID-3. In
FIG. 69
, the RAID includes a controller
6901
, and five disk drives
6902
A,
6902
B,
6902
C,
6902
D, and
6902
P. A host device is connected to the controller
6901
, making a read/write request of data to the RAID. When receiving data to be written, the controller
6901
divides the data into data blocks. The controller
6901
generates redundant data using these data blocks. After creation of the redundant data, each data block is written into the disk drives
6902
A to
6903
D. The redundant data is written into the disk drive
6902
P.
Described next is the procedure of creating redundant data with reference to
FIGS. 70
a
and
70
b.
Data to be written arrives at the controller
6901
by a unit of a predetermined size (2048 bytes, in this description). Here, as shown in
FIG. 70
a
, currently-arrived data is called D-
1
. The data D-
1
is divided into four by the controller
6901
, and thereby four data blocks D-A
1
, D-B
1
, D-C
1
, and D-D
1
are created. Each data block has a data length of 512 bytes.
The controller
6901
then creates redundant data D-P
1
using the data blocks D-A
1
, D-B
1
, D-C
1
, and D-D
1
by executing a calculation given by:
D
-
P
1
i=D
-
A
1
i x
or
D
-
B
1
i x
or
D
-
C
1
i x
or
D
-
D
1
i
  (1)
Here, since each of the data blocks D-A
1
, D-B
1
, D-C
1
, D-D
1
, and D-P
1
has a data length of 512 bytes, i takes on natural numbers from 1 to 512. For example, when i=1, the controller
6901
calculates the redundant data D-P
11
using each first byte (D-A
11
, D-B
11
, D-C
11
, and D-D
11
) of the data blocks D-A
1
, D-B
1
, D-C
1
, and D-D
1
. Here, D-P
11
is a first byte of the redundant data. When i=2, the controller
6901
calculates the redundant data D-P
12
using each second byte (D-A
12
, D-B
12
, D-C
12
, and D-D
12
) of the data blocks D-A
1
, D-B
1
, D-C
1
, and D-D
1
. Thereafter, the controller
6901
repeats the calculation given by the equation (1) until the last byte (512nd byte) of the data blocks D-A
1
, D-B
1
, D-C
1
, and D-D
1
to calculate redundant data D-P
11
, D-P
12
, . . . D-P
1512
. The controller
6901
sequentially arranges the calculated redundant data D-P
11
, D-P
12
, . . . D-P
1512
to generate the redundant data D-P
1
. As clear from the above, the redundant data D-P
1
is parity of the data blocks D-A
1
, D-B
1
, D-C
1
, and D-D
1
.
The controller
6901
stores the created data blocks D-A
1
, D-B
1
, D-C
1
, and D-D
1
in the disk drives
6902
A,
6902
B,
6902
C, and
6902
D, respectively. The controller
6901
also stores the generated redundant data D-P
1
in the disk drive
6902
P. The controller
6901
stores the data blocks D-A
1
, D-B
1
, D-C
1
, D-D
1
, and D-P
1
in the disk drives
6902
A,
6902
B,
6902
C,
6902
D and
6902
P, respectively, as shown in
FIG. 70
b.
The controller
6901
further controls reading of data. Here, assume that the controller
6901
is requested to read the data D-
1
by the host device. In this case, when each of the disk drives
6902
A,
6902
B,
6902
C, and
6902
D operates normally, the controller
6901
reads the data blocks D-A
1
, D-B
1
, D-C
1
, and D-D
1
from the disk drives
6902
A,
6902
B,
6902
C, and
6902
D, respectively. The controller
6901
assembles the read data blocks D-A
1
, D-B
1
, D-C
1
, and D-D
1
to compose the data D-
1
of 2048 bytes. The controller
6901
transmits the composed data D-
1
to the host device.
There is a possibility that a failure or fault may occur in any disk drives. Here, assuming that the disk drive
6902
C has failed and the host device has sent a read request for the data D-
1
. In this case, the controller
6901
first tries to read the data blocks D-A
1
, D-B
1
, D-C
1
, and D-D
1
from the disk drives
6902
A,
6902
B,
6902
C, and
6902
D, respectively. However, since the disk drive
6902
C is eventually failed, the data block D-C
1
is not read therefrom. Assume herein, however, that the data blocks D-A
1
, D-B
1
, and D-D
1
are read from the disk drives
6902
A,
6902
B, and
6902
D normally. When recognizing that the data block D-C
1
cannot be read, the controller
6901
reads the redundant data D-P
1
from the disk drive
6902
P.
The controller
6901
then recovers the data block D-C
1
by executing a calculation given by the following equation (2) using the data blocks D-A
1
, D-B
1
, and D-D
1
and the redundant data D-P
1
.
D
-
C
1
i=D
-
A
1
i x
or
D
-
B
1
i x
or
D
-
D
1
i x
or
D
-
P
1
i
  (2)
Here, since each of the data blocks D-A
1
, D-B
1
, and D-D
1
, and the redundant data D-P
1
has a data length of 512 bytes, i takes on natural numbers from 1 to 512. The controller
6901
calculates the redundant data D-C
11
, D-C
12
, . . . D-C
1512
by repeatedly executing the calculation given by the equation (2) from the first byte to 512nd byte. The controller
6901
recovers the data block D-C
1
based on these calculation results. Therefore, all of the data blocks D-A
1
to D-D
1
are stored in the controller
6901
. The controller
6901
assembles the stored data blocks D-A
1
to D-D
1
to compose the data D-
1
of 2048 bytes. The controller
6901
transmits the composed data D-
1
to the host device.
As described above, there is a possibility that the RAID in
FIG. 69
cannot read the requested data block from a faulty disk drive (any one of the disk drives
6902
A to
6902
D). The RAID, however, operates calculation of parity given by the equation (2) using the data blocks read from the other four normal disk drives and the redundant data. The calculation of parity allows the RAID to recover the data block stored in the faulty disk drive.
In recent years, the RAID architecture, as an example of a disk array, is often implemented also in video servers which provide video upon a user's request. In video servers, data to be stored in the disk drives
6902
A to
6902
D of the RAID includes two types: video data and computer data (typically, video title and total playing time). Since video data and computer data have different characteristics, requirements of the RAID system are different in reading video data and computer data.
More specifically, computer data is required to be reliably transmitted to the host device. That is, when a data block of computer data cannot be read, the RAID has to recover the data block by operating calculation of parity. For this purpose, the RAID may take some time to transmit the computer data to the host device. On the other hand, video data is replayed as video at the host device. When part of video data arrives late at the host device, the video being replayed at the host device is interrupted. More specifically, video data in general is far larger in size than 2048 bytes, which are read at one time. The video data is composed of several numbers of data of 2048 bytes. Therefore, when requesting the video data to be replayed, the host device has to make a read request of data of 2048 bytes several times. On the other hand, the RAID has to read the video data from the disk drives
6902
A to
6902
D within a predetermined time from the arrival of each read request. If re

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Disk array device does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Disk array device, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Disk array device will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-3212631

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.