Electrical computers and digital processing systems: memory – Storage accessing and control – Specific memory composition
Reexamination Certificate
1998-06-29
2004-03-09
Portka, Gary (Department: 2188)
Electrical computers and digital processing systems: memory
Storage accessing and control
Specific memory composition
C714S006130
Reexamination Certificate
active
06704837
ABSTRACT:
BACKGROUND OF THE INVENTION
1. Field of the Invention
This invention relates in general to data storage systems, and more particularly to a method and apparatus for increasing RAID (redundant array of independent disks) write performance by maintaining a full track write counter.
2. Description of Related Art
In recent years, there has been a growth in interest in disk arrays. Disk arrays consist of a number of disk drives connected to a host system via one or more controller elements which control the transfer of data between the host and disk drives. A disk array is designed to provide high capacity data storage, high reliability and high data transfer rates to and from the system.
RAID was conceived at the University California at Berkeley in 1987 as a means for improving storage subsystem reliability and performance. The concept initially consisted of clustering small inexpensive disk drives into an array such that the array could appear to the system as a single large expensive drive (SLED). The result of this initial testing found that the array of drives could actually deliver the same or better performance than the traditional individual hard drive. However, there was a problem with this implementation. The resulting Mean Time Before Failure (MTBF) of the array was actually reduced due to the probability of any one drive of the array failing. As a result of this finding, the Berkeley scientists proposed five levels or methods of RAID to provide a balance of performance and data protection. RAID subsystems can be optimized for performance, the highest capacity, fault tolerance or a combination of two or three of the above. Different so-called RAID levels have been defined and standardized in accordance with those general optimization parameters. There are six standardized RAID levels, called RAID
0
,
1
,
2
,
3
,
4
or
5
.
A RAID controller board is the hardware element that serves as the backbone for the array of disks. It not only relays the input/output (I/O) commands to specific drives in the array, but provides the physical link to each of the independent drives so they may easily be removed or replaced. The controller also serves to monitor the integrity of each drive in the array to anticipate the need to move data should it be placed in jeopardy by faulty or failing disk drive (a feature known as “fault tolerance”). RAID utilizes some form of parity information to maintain data integrity across all drives in the subsystem. A rank is the set of logical volumes related to each other for parity protection, i.e., the number or set of drives covered by a parity scheme.
RAID Level
0
is achieved through a method known as striping and is optimized for performance at the expense of fault tolerance. Disk striping is a technique for spreading data over multiple disk drives. Disk striping can speed up operations that retrieve data from disk storage. The computer system breaks a body of data unto units and spreads these units across the available disks. Systems that implement disk striping generally allow the user to select the data unit size or stripe width.
The collection of drives in a RAID Level
0
array has data laid down in such a way that it is organized in stripes across the multiple drives. A typical array can contain any number of stripes, usually in multiples of the number of drives present in the array.
The reason RAID
0
is a performance-enhancing configuration is that striping enables the array to access data from multiple drives at the same time. In other words, since the data is spread out across a number of drives in the array, it can be accessed faster because it's not bottled up on a single drive. This is especially beneficial for retrieving very large files, since they can be spread out effectively across multiple drives and accessed as if it were the size of any of the fragments it is organized into on the data stripes.
The downside to RAID Level
0
configurations is that it sacrifices fault tolerance, raising the risk of data loss because no room is made available to store redundant data. If one of the drives in the RAID
0
fails for any reason, there is no way of retrieving the lost data as can be done in other RAID implementations described below.
The RAID Level
1
is achieved through disk mirroring, and is done to ensure data reliability or a high degree of fault tolerance. RAID
1
also enhances read performance, but the improved performance and fault tolerance are at the expense of available capacity in the drives used.
In a RAID Level
1
configuration, the RAID management software instructs the subsystem's controller to store data redundantly across a number of the drives (mirrored set) in the array. In other words, the same data is copied and stored on different disks (or “mirrored”) to ensure that, should a drive fail, the data is available somewhere else within the array. In fact, all but one of the drives in a mirrored set could fail and the data stored to the RAID
1
subsystem would remain intact. A RAID Level
1
configuration can consist of multiple mirrored sets, whereby each mirrored set can be a different capacity. Usually the drives making up a mirrored set are of the same capacity. If drives within a mirrored set are of different capacities, the capacity of a mirrored set within the RAID
1
subsystem is limited to the capacity of the smallest-capacity drive in the set.
The read performance gain can be realized if the redundant data is distributed evenly on all of the drives of a mirrored set within the subsystem. The number of read requests and total wait state times both drop significantly; inversely proportional to the number of hard drives in the RAID.
RAID Level
2
is rarely used in commercial applications, but is another means of ensuring data is protected in the event drives in the subsystem incur problems or otherwise fail. This level builds fault tolerance around Hamming error correction code (ECC), which is used as a means of maintaining data integrity. ECC tabulates the numerical values of data stored on specific blocks in the virtual drive using a special formula that yields what is known as a checksum. The checksum is then appended to the end of the data block for verification of data integrity when needed.
As data gets read back from the drive, ECC tabulations are again computed, and specific data block checksums are read and compared against the most recent tabulations. If the numbers match, the data is intact; if there is a discrepancy, the lost data can be recalculated using the first or earlier checksum as a reference point.
RAID level
3
is really an adaptation of RAID Level
0
that sacrifices some capacity, for the same number of drives, but achieves a high level of data integrity or fault tolerance. It takes advantage of RAID Level
0
's data striping methods, except that data is striped across all but one of the drives in the array. This drive is used to store parity information that is used to maintain data integrity across all drives in the subsystem. The parity drive itself is divided up into stripes, and each parity drive stripe is used to store parity information for the corresponding data stripes dispersed throughout the array. This method achieves very high data transfer performance by reading from or writing to all of the drives in parallel or simultaneously but retains the means to reconstruct data if a given drive fails, maintaining data integrity for the system. RAID Level
3
is an excellent configuration for moving very large sequential files in a timely manner.
The stripes of parity information stored on the dedicated drive are calculated using an “Exclusive OR” function, which is a logical function between the two series that carries most of the same attributes as the conventional OR function. The difference occurs when the two bits in the function are both non-zero: in Exclusive OR, the result of the function is zero, wherein with conventional OR it would be one.
RAID Level
4
is similar in concept to RAID Level
3
, but emphasizes performance for different applica
Beardsley Brent Cameron
Jarvis Thomas Charles
Mannenbach David Frank
Morton Robert Louis
Crawford & Maunu PLLC
International Business Machines - Corporation
Portka Gary
LandOfFree
Method and apparatus for increasing RAID write performance... does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Method and apparatus for increasing RAID write performance..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Method and apparatus for increasing RAID write performance... will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-3226032