Browse Prior Art Database

Method for Operating a Striped Redundant Disk Array for Improved Performance

IP.com Disclosure Number: IPCOM000111852D
Original Publication Date: 1994-Apr-01
Included in the Prior Art Database: 2005-Mar-26
Document File: 4 page(s) / 113K

Publishing Venue

IBM

Related People

Ng, SW: AUTHOR

Abstract

A disadvantage of the striped redundant disk array architecture is that the parity disk is not utilized for normal reads. Disclosed is a method for operating a striped redundant disk array so that all the disks in the array are utilized, resulting in better overall performance.

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 52% of the total text.

Method for Operating a Striped Redundant Disk Array for Improved
Performance

      A disadvantage of the striped redundant disk array architecture
is that the parity disk is not utilized for normal reads.  Disclosed
is a method for operating a striped redundant disk array so that all
the disks in the array are utilized, resulting in better overall
performance.

      The reliability of an array of disks is increased by the use of
redundancy.  By XOR-ing K pieces of data of identical size from K
different disks to generate the parity and storing that onto a K+1-th
disk, then in the event of a disk failure, its data can be
reconstructed from the K-1 remaining disks and the parity disk.
There are different ways of organizing data in a redundant array.  In
one method each record is subdivided into K equal size segments for
storage on K different disks and for parity generation.  This is
known as RAID-3.  in this method data is always moved in parallel to
or from multiple disks and will be referred to as a "striped
redundant disk array."

      A K+P striped redundant disk array with K=2 data disks and P=1
parity disk will be used here as illustration; see Fig. 1.  The host
has this request sequence for the array shown:

         Read    Record A

         Read    Record B

         Read    Record C

      Record A consists of segment A1 on Disk 1, segment A2 on Disk
2, and parity segment AP=A1 (XOR) A2 on Disk 3.  Similarly for
Records B and C.  to read Record A, it is sufficient to return A1 and
A2.  AP is only for failure recovery.  For simplicity of discussion,
assume that the time required to retrieve the corresponding segment
of a record from each disk is the same for all three disks.  This
retrieval time includes overhead, seek, rotation latency, and data
transfer from the disk to the controller's buffer.  Let this time be
tA for Record A, tB for Record B, and tC for Record C.  Furthermore,
let the time for transferring the assembled data from the
controller's buffer to the host be xA, xB and xC for Records A, B,
and C, respectively.  Note that tA, tB and tC are much larger than
xA, xB and xC.

      Fig. 2 shows the timing of events for the disk array to respond
to the above sequence of requests using the prior-art straightforward
approach.  Segments A1 and A2 are retrieved from Disk 1 and Disk 2,
respectively, in time tA.  Next, segments B1 and B2 are retrieved in
time tB.  Simultaneously Record A is transferred from the buffer to
the host.  Thus, xA is overlapped with tB.  Then, segments C1 and C2
are retrieved in time tC, overlapping with the transfer of Record B
from the buffer to the host.  Finally, when both C1 and C2 are in the
buffer, record C is transferred to the host.  Therefore, all three
...