The RAID Advantage
Introduction
Electronic data processing evolved from virtually nothing 50 years ago to
its virtual omnipresence in the industrialized societies of the world today.
The technologies that have been harnessed to manipulate data converted
to its lowest common denominators (zeros and ones) has made nothing
short of a huge impact on the lives of people throughout the world.
Digitized information, or data, is being used to enable everything from live
conversations between continents via satellite to the advancement of
scientific discoveries and research, to controlling the temperatures of
different rooms in a home. The recently-emerged raft of on-line services
provide not only the links to communicate with personal computers, but
provide access to oceans of information to navigate, capture and use by
anyone with a computer. Businesses like banks and credit card
companies use massive computing systems to provide everyday
conveniences like easier and faster access to money, in turn making it
easier to bill or manage accounts. Even supermarkets and retail
department stores are using powerful data-intensive information systems
to do everything from managing inventories to monitoring consumer
spending habits. The applications list goes on and on; everyone in
virtually all walks of life is exposed in some manner or form to the impact
of the ongoing revolution we call the "Information Age."
The engines behind this revolution, of course, are computers. Today's
Pentium-class personal computers, RISC workstations, minicomputers,
supercomputers and even (still!) mainframes provide the power that drives
this infinite mass of data we rely upon to make everything from bank
transactions to the purchase of groceries as easy as possible. The flow of
data between computers, whether networked or linked via online services
or the Internet, has become nothing less than a raging flood.
This astounding volume of data being transmitted between systems today
has created an obvious need for data management. As a result, more and
more servers -- whether they are PCs, UNIX workstations, minicomputers
or supercomputers -- have assumed the role of information or data "traffic
cops." The number of networked or connectable systems is increasing by
leaps and bounds as well, thanks to the widespread adoption of the
client/server computing model, the boom in home computer use and the
rise of Internet access service providers.
Hard disc storage plays an important role in enabling improvements to
networked systems, because the vast and growing ocean of data has to
reside somewhere. It also has to be readily accessible, placing a demand
upon storage system manufacturers to not only provide high- capacity
products, but products that can access data as fast as possible and to
as many people at the same time as possible. Such storage also has to
be secure, placing an importance on reliability features that best ensure
that data will never be lost or otherwise rendered inaccessible to network
system users.
RAID: The solution to server gridlock and data integrity
The solution to providing access to many gigabytes of data to users fast
and reliably has been to assemble a number of drives together in a "gang"
or "array" of discs. These are known as RAID subsystems, which stands
for "redundant arrays of independent discs." Simple RAID subsystems
are basically a clutch of up to five or six disc drives assembled in a
cabinet that are all connected to a single controller board. The RAID
controller orchestrates read and write activities in the same way a
controller for a single disc drive does, and treats the array as if it were in
fact a single or "virtual" drive. RAID management software that resides in
the host system provides the means to manage data to be stored on the
RAID subsystem.
RAID elements
Despite its multi-drive configuration, a RAID subsystem's disc drives
remain "hidden" from users; the subsystem itself is the virtual drive,
though it can be as large as 1,000 Gbytes. The phantom virtual drive is
created at a lower level within the host operating system through the
RAID management software. Not only does the software set up the
system to address the RAID unit as if it were a single drive, it allows the
subsystem to be configured in ways that best suit the general needs of
the host system.
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
such standardized levels RAID, called RAID 0, 1, 2, 3, 4, or 5, depending
upon performance, redundancy and other attributes required by the host
system. The RAID software is what is used to configure the desired RAID
level of features in an array described in more detail below.
The RAID controller board is the hardware element that serves as the
backbone for the array of discs: 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 "health" or integrity of
each drive in the array to anticipate the need to move data should it be
placed in jeopardy by faulty or failing disc drive (a feature known as "fault
tolerance").
The array of RAID levels
The RAID 1 through 5 standards offer users and system administrators a
host of configuration options. These options allow the arrays to be tailored
to their application environments. Each of the various configurations listed
below focus on maximizing the abilities of an array in one or more of the
following areas: capacity, data availability, performance and fault
tolerance.
RAID Level 0
An array configured to RAID Level O is an array optimized for
performance, but at the expense of fault tolerance or "data integrity."
RAID Level 0 is achieved through a method known as "striping." The
collection of drives (or "virtual drive") 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. As an example,
imagine a four-drive array configured with 12 stripes (four stripes of
designated "space" per drive). Stripes 0, 1, 2 and 3 would be located on
corresponding hard drives 0, 1, 2 and 3. Stripe 4, however, appears on a
segment of drive 0 in a different location than Stripe 0; stripes 5 through 7
appear accordingly on drives 1, 2 and 3. The remaining four stripes are
allocated in the same even fashion across the same drives.
Practically any number of stripes can be created on a given RAID
subsystem for any number of drives. Two hundred stripes on two disc
drives is just as feasible as 50 stripes across 50 hard drives. Most RAID
subsystems, however, tend to have between three and 10 stripes.
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.
RAID Level 1
The RAID Level 1 configuration employs what is known as "disc
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 come 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 discs (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, hence the sacrifice
of available capacity across multiple drives.
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, in fact. To illustrate, suppose three read requests are made to the
RAID Level 1 subsystem. The first request looks for data in the first block
of the virtual drive; the second request goes to block 0, and the third
seeks from block 2. The host-resident RAID management software can
assign each read request to an individual drive. Each request is then sent
to the various drives, and now -- rather than having to handle the flow of
each data stream one at a time -- the controller can send three data
streams almost simultaneously, which in turn reduces system overhead.
RAID Level 2
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 often used in modems
and solid-state memory devices 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
This RAID level 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 the "Exclusive OR" function. Exclusive OR 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.
By using Exclusive OR with a series of data stripes in the RAID, any lost
data can easily be recovered. Should a drive in the array fail, the missing
information can be determined in a manner similar to solving for a single
variable in an equation (for example, solving for x in the equation, 4 + x =
7). Similarly, in an Exclusive OR operation, it would be an equation like 1
• x = 1. Thanks to Exclusive OR, there is always only one possible
solution (in this case, 0), which provides a complete error recovery
algorithm in a minimum amount of storage space.
RAID Level 4
This level of RAID is similar in concept to RAID Level 3, but emphasizes
performance for different applications, e.g. Database TP versus large
sequential files. Another difference between the two is that RAID Level 4
has a larger stripe depth, usually of two blocks, which allows the RAID
management software to operate the discs much more independently
than RAID Level 3 (which controls the discs in unison). This essentially
replaces the high data throughput capability of RAID Level 3 with faster
data access in read-intensive applications.
A shortcoming of RAID level 4 is rooted in an inherent bottleneck on the
parity drive. As data gets written to the array, the parity encoding scheme
tends to be more tedious in write activities than with other RAID
topologies. This more or less relegates RAID Level 4 to read-intensive
applications with little need for similar write performance. As a
consequence, like its Level 3 cousin, it doesn't see much common use in
commercial applications either.
RAID Level 5
This is the last of the most common RAID levels in use, and is probably
the most frequently implemented. RAID Level 5 minimizes the write
bottlenecks of RAID Level 4 by distributing parity stripes over a series of
hard drives. In doing so it provides relief to the concentration of write
activity on a single drive, which in turn enhances overall system
performance.
The way RAID Level 5 reduces parity write bottlenecks is relatively
simple. Instead of allowing any one drive in the array to assume the risk
of a bottleneck, all of the drives in the array assume write activity
responsibilities. The distribution frees up the concentration on a single
drive, improving overall subsystem throughput.
RAID Level 5's parity encoding scheme is the same as Levels 3 and 4; is
maintains the system's ability to recover any lost data should a single
drive fail. This can happen as long as no parity stripe on an individual drive
stores the information of a data stripe on the same drive. In other words,
the parity information for any data stripe must always be located on a
drive other than the one on which the data resides.
Other RAID levels
Other, less-common RAID levels have been developed as custom
solutions by independent vendors (they are not established standards):
RAID Level 6, which emphasizes ultra-high data integrity
RAID Level 10 (also known as RAID Level 0 & 1), which focuses on
high I/O performance and very high data integrity
RAID Level 53, which combines RAID Level 0 and 3 for uniform
read and write performance
Tailor-made RAID
Perhaps RAID technology's biggest advantage is the sheer number of
possible adaptations available to users and systems designers. RAID
offers the ability to customize a array subsystem to the requirements of
its environment and the applications demanded of it. RAID's inherent
variety of configuration options provides several ways in which to satisfy
specific application requirements.
Customization, however, doesn't stop with a RAID level. Drive models,
capacities and performance levels have to be factored in as well as what
connectivity options that are available.
Interface Options
The newest parallel SCSI interface option is Ultra2 SCSI, an 80
Mbyte/sec interface standard. Ultra2 SCSI combines low-voltage
differential (LVD) technology for extended cable length capabilities (up to
12 meters) as well as enhanced device support (up to 15 devices per
controller card).
An emerging new serial interface standard known as Fibre
Channel-Arbitrated Loop (FC-AL) is yet another interface option for RAID
subsystems, and is the most powerful of them all. FC-AL is capable of up
to 200 Mbyte/sec data throughputs (dual loop configurations) while
allowing RAID subsystems or other connected peripherals to be placed
as far as 10 kilometers from the host. It also enables easy connection of
up to 126 disc drives on a single controller (compared to seven devices
with conventional SCSI!). The potential impact of FC-AL alone will
undoubtedly be enormous upon evolution of RAID subsystems. FC-AL
can be operated in either single or dual loop configurations. The dual loop
allows another level of redundancy by allowing two separate data paths for
all attached devices.
SCA: Cleaning up the cable mess
Many of these interface options, including serial FC-AL and parallel Ultra2
SCSI, support the SCSI Single Connector Attachment (SCA) standard.
SCA is an elegant means of eliminating the miles of wiring involved with
connecting several drives via conventional backplane architectures. Before
SCA, conventional connections involved two cables per drive: one for
power and the other for data transmission. Arrays with more than a few
drives would amass a lot of "spaghetti" at the rear of the rack, and
especially large arrays would have an unwieldy mess of wire to connect
the drives. SCA, however, allows for drives to be plugged directly into a
backplane without cables. It not only rids subsystems of the mass of
cabling previously required, but facilitates "hot plugging" (removal or
insertion of a drive while the subsystem is on line) and improves the
reliability of the system as a whole because of the substantially reduced
number of connections.
ASA II: The only way to fly
Seagate has not only developed and shipped hard drives for RAID array
applications (those include the award-winning Cheetah and Barracuda
disc drives), it has innovated new technology to take advantage of the
attributes of high- performance SCSI and FC-AL. Seagate's own
Advanced SCSI Architecture II (ASA II) provides a way of maximizing a
disc drive's performance for a given application. The ASA II chipset used
in the drives mentioned above analyzes how the hard drive is being used
(in this case, how it is being used in a RAID configuration) and optimizes
the drive to provide maximum performance within the application.
Essentially it is capable of minimizing disc command overhead through
command queuing, event logging, disc sequencing and kernel
management controls. Cache buffers on the disc are segmented to adapt
to the application as well.
ASA II works in a similar fashion to the way RAID management software
performs, but at the disc level (as opposed to the "virtual" disc level).
Some systems, whether they are RAID or not, might require management
of frequent reads for small amounts of data, while others require heavy
write management. Similarly, ASA II drives can be optimized for either
multitasking or single-task environments. ASA II adapts the drives to
meet the optimum performance requirement of the application for the disc
within a system (in this case, a RAID subsystem).
Seagate's drives: the foundations to RAID
The award-winning Barracuda family of 7,200-rpm 3.5-inch disc drives
provides solid value in cost- conscious systems where a balance of
performance and cost-optimized designs are required. The Ultra2 SCSI
and Fibre Channel Barracuda drives range from the low-profile (inch-high)
9- and 18-Gbyte Barracuda 18LP products to the 36- and 50-Gbyte,
half-height Barracuda 36 and Barracuda 50. Barracuda drives have been
used often in arrays with RAID levels 1, 2, 4 and 6.
The Cheetah family of 10,000-rpm 3.5-inch drives has also won awards for
its blazing performance capabilities. This family includes the
newly-announced Cheetah 36, a half-height drive that packs 36.4 Gbytes
of formatted capacity into the 3.5-inch form factor. The Cheetah family
also includes the 9.1- and 18.2-Gbyte Cheetah 18LP models. The
Cheetah 36 and Cheetah 18LP are designed with 80 Mbyte/sec Ultra2
SCSI and 200 Mbyte/sec FC- AL interface options.
Seagate is a RAID partner, not a competitor
Seagate's technological and quality leadership in the RAID marketplace
has made its drives a solid reputation among RAID subsystems
manufacturers. Seagate is not a manufacturer of RAID arrays itself
because the company does not compete with customers or potential
customers at the subsystem level. Seagate's goal in the RAID market is
to maintain its status as the premier supplier of quality, high-performance
discs to makers of RAID subsystems. Seagate’s Barracuda and Cheetah
disc drive families are recognized in the industry as solid RAID
foundations.
As the sea of digitized information continues to swell, technologies like
Seagate's disc drives, RAID will play an ever more important role in
capturing, managing and providing access for millions of users in the
years to come.
By Tyson Heyn
June, 1995
Updated November, 1998
Copyright 1995, 1998 Seagate Technology, Inc. All rights reserved.