Using nvSRAM in RAID
Controller Applications
evens out the number of I/O requests per disk and
greatly speeds up the disk access. The trouble with
disk tuning is that it requires a lot of system adminis-
tration time to accomplish, and when done, there is
no guarantee that it will stay balanced. In a dynamic
system the I/O load will change with time and there-
fore will require constant tweaking to maintain peak
efficiency. A better solution is to use an array of
disks. The RAB defines an array of disks as “a col-
lection of disks from one or more commonly acces-
sible disk subsystems, combined with a body of
Array Management Software (AMS)”.
Introduction
The term RAID (Redundant Array of Independent
Disks) first appeared in papers written by Garth Gib-
son, Randy Katz, and Dave Patterson of the Univer-
sity of California at Berkeley. Since that time the
number of manufacturers of RAID systems has
expanded to over 100 companies with product lines
that range from high end commercial products to
lower cost controllers for the home market.
The RAID advisory board (RAB) was formed in 1992
to help minimize confusion within the industry by
standardizing terminology and maintaining stan-
dards for the classification and typing of controllers.
The board is comprised of over 40 members and
continues to promote the industry by encouraging
the development of hardware components that are
optimized for RAID applications. The goal of the
RAB is to become a compliance verification and
testing organization that will issue product approv-
als, act as a regulatory agency, and assure users
that the RAID level claimed by the manufacturer
meets RAB standards. The RAB also will perform
testing to certify that vendor hardware meets RAB
requirements for Array-Ready Disks, and verify Disk
Array Performance Benchmarks.
Array Management Software is usually defined as
firmware that executes in a dedicated control sys-
tem rather than the host computer and has two
major functions. Function one is to map the storage
space available and optimize system balance to
maximize disk I/O performance. Function two is to
present storage to the operating environment as vir-
tual disks by converting I/O requests to virtual disk I/
O requests. This gives the appearance of a single
large disk to the system and frees the administrator
from constantly having to tweak the data distribu-
tion. Disk arrays generally have improved I/O perfor-
mance, and simpler storage management
requirements than a string of parallel disks.
RAID Theory Overview
The next task facing the designer of RAID systems
is to assure that data stored in the array can never
be lost due to hardware failure. Major users of disk
array systems such as banks, airlines, and credit
agencies must be certain that they can never lose a
disk in such a manner that the data stored on that
disk is not recoverable. Even frequent and consci-
entious backing up of all disk storage does not
recover new data that has been written since the
last backup cycle was performed. A solution to this
data reliability problem is the use of a RAID Control-
ler. RAID Controllers are defined with 7 levels:
For disk I/O intensive systems there are two charac-
teristics that act as the primary system performance
bottlenecks:
1. Data Seek Time
2. I/O Transfer Rates
It would seem logical that all that is required to
reduce the time necessary for the computer to fetch
data from the disk is to use multiple disks in parallel
and distribute the data. While this solution sounds
easy and cheap, the realities of life aren’t so simple.
As any experienced system administrator can tell
you 80% of the total I/O load of a system is directed
at 20% of the I/O resources. This so-called 80/20
rule requires that the I/O system be tuned to distrib-
ute the load over the bank of parallel disks. This
Level 0 - Data Striping
Level 1 - Disk Mirroring
Level 2 - Hamming Code
Level 3 - Parallel Transfer Disks with Parity
8-25