Добавлен: 03.02.2019

Просмотров: 21729

Скачиваний: 19

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
background image

9-12 Audio Recording Systems

independent interface so the host computer requires no details about the peripherals that it con-
trols.

As the SCSI standard has evolved, various levels have been produced, the most common

being:

Standard SCSI, with a 5 MB/s transfer rate

Fast SCSI, with a 10 MB/s transfer rate

Ultra SCSI, with a 20 MB/s transfer rate

Ultra SCSI-2, with a 40 MB/s transfer rate

For each of these schemes, there is the 8-bit normal or so-called narrow bus (1 byte per trans-

fer) or the 16-bit wide bus (2 bytes per transfer). Therefore, for example, Ultra SCSI-2 is
designed to transfer data at a maximum rate of 80 MB/s. Actual continuous rates achieved from
the disk drive will typically be considerably less, however.

9.1.3a

RAID Levels

The RAID 0 through 5 standards offer users a host of configuration options [3]. These options
permit the arrays to be tailored to their application environments, for our purposes an audio/
video server. Each of the various configurations focus on maximizing the abilities of an array in
one or more of the following areas:

Capacity

Data availability

Performance

Fault tolerance

 RAID Level 0

An array configured to RAID Level 0 is an array optimized for performance, but at the expense
of fault tolerance or data integrity [3]. RAID Level 0 is achieved through a method known as
striping. The collection of drives (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, 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 such that data would be organized in the manner
depicted in Figure 9.1.5. Practically any number of stripes can be created on a given RAID sub-
system for any number of drives. Two hundred stripes on two disk drives is just as feasible as 50
stripes across 50 hard drives (data management “overhead” notwithstanding). Most RAID sub-
systems, 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, because the data is
spread out across a number of drives in the array, it can be accessed faster because it is not bot-

Audio/Video Server Systems

Downloaded from Digital Engineering Library @ McGraw-Hill (www.digitalengineeringlibrary.com)

Copyright © 2004 The McGraw-Hill Companies. All rights reserved.

Any use is subject to the Terms of Use as given at the website.


background image

Audio/Video Server Systems 9-13

tled up on a single drive. This is especially beneficial for retrieving a very large file, because it
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. By any measure of comparison, video files
qualify as “very large files.”

The downside to the RAID Level 0 configuration is that it sacrifices fault tolerance, raising

the risk of data loss because no room is made available to store redundant information. 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. 

RAID Level 1

The RAID Level 1 configuration employs what is known as disk mirroring, and is done to ensure
data reliability (a high degree of fault tolerance) [3]. 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 scheme, the RAID management software instructs the sub-
system’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 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 of a different capacity. Usually, the drives making up a mirrored set are of the same capac-
ity. 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

Figure 9.1.5

 In a RAID Level 0 configuration, a virtual drive is comprised of several stripes of infor-

mation. Each consecutive stripe is located on the next drive in the chain, evenly distributed over
the number of drives in the array. (

From [3]. Used with permission.)

Audio/Video Server Systems

Downloaded from Digital Engineering Library @ McGraw-Hill (www.digitalengineeringlibrary.com)

Copyright © 2004 The McGraw-Hill Companies. All rights reserved.

Any use is subject to the Terms of Use as given at the website.


background image

9-14 Audio Recording Systems

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
(see Figure 9.1.6). The first request looks for data in the first block of the virtual drive; the sec-
ond request goes to block 0, and the third seeks from block 2. The host-resident RAID manage-
ment 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
the data access time.

RAID Level 2

RAID Level 2, rarely used in audio/video applications, is another means of ensuring that data is
protected in the event drives in the subsystem incur problems or otherwise fail [3]. 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 formula that
yields a checksum. The checksum is then appended to the end of the data block for verification
of data integrity when needed. 

As data is 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.

This form of ECC is actually different from the ECC technologies employed within the drives

themselves. The topological formats for storing data in a RAID Level 2 array is somewhat lim-
ited, however, compared to the capabilities of other RAID implementations, which is why it is
not commonly used in commercial applications.

Figure 9.1.6

 A RAID Level 1 subsystem provides high data reliability by replicating (

mirroring)

data between physical hard drives. In addition, I/O performance is boosted as the RAID manage-
ment software allocates simultaneous read requests among several drives. (

From [3]. Used with

permission.)

Audio/Video Server Systems

Downloaded from Digital Engineering Library @ McGraw-Hill (www.digitalengineeringlibrary.com)

Copyright © 2004 The McGraw-Hill Companies. All rights reserved.

Any use is subject to the Terms of Use as given at the website.


background image

Audio/Video Server Systems 9-15

RAID Level 3

This RAID level is essentially 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 [3]. It
takes advantage of RAID Level 0 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 for maintenance of
data integrity across all drives in the subsystem. The parity drive itself is divided into stripes, and
each parity drive stripe is used to store parity information for the corresponding data stripes dis-
persed throughout the array. This method achieves high data transfer performance by reading
from or writing to all of the drives in parallel or simultaneously, but retains the means to recon-
struct data if a given drive fails, maintaining data integrity for the system. This concept is illus-
trated in Figure 9.1.7. RAID Level 3 is an excellent configuration for moving very large
sequential files, such as video, in a timely manner.

The stripes of parity information stored on the dedicated drive are calculated using the Exclu-

sive OR function. By using Exclusive OR with a series of data stripes in the RAID, lost data can
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.

RAID Level 4

This level of RAID is similar in concept to RAID Level 3, but emphasizes performance for par-
ticular applications, e.g. database files versus large sequential files [3]. 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 disks more independently than RAID
Level 3 (which controls the disks in unison). This essentially replaces the high data throughput
capability of RAID Level 3 with faster data access in read-intensive applications. (See Figure
9.1.8.)

Figure 9.1.7

 A RAID Level 3 configuration is similar to a RAID Level 0 in its utilization of data

stripes dispersed over a series of hard drives to store data. In addition to these data stripes, a spe-
cific drive is configured to hold parity information for the purpose of maintaining data integrity
throughout the RAID subsystem. (

From [3]. Used with permission.)

Audio/Video Server Systems

Downloaded from Digital Engineering Library @ McGraw-Hill (www.digitalengineeringlibrary.com)

Copyright © 2004 The McGraw-Hill Companies. All rights reserved.

Any use is subject to the Terms of Use as given at the website.


background image

9-16 Audio Recording Systems

A shortcoming of RAID level 4 is rooted in an inherent bottleneck on the parity drive. As data

is 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 Level 2, Level
4 does not see much common use in commercial applications.

RAID Level 5

Level 5 is the last of the common RAID levels in general use, and is probably the most frequently
implemented [3]. RAID Level 5 minimizes the write bottlenecks of RAID Level 4 by distribut-
ing parity stripes over a series of hard drives. In so doing, it provides relief to the concentration
of write activity on a single drive, which in turn enhances overall system performance. (See Fig-
ure 9.1.9.)

The way RAID Level 5 reduces parity write bottlenecks is relatively simple. Instead of allow-

ing any one drive in the array to assume the risk of a bottleneck, all of the drives in the array
assume write activity responsibilities. This distribution eliminates the concentration on a single
drive, improving overall subsystem throughput. The RAID Level 5 parity encoding scheme is the
same as Levels 3 and 4, and maintains the system’s ability to recover lost data should a single
drive fail. This recovery capability is possible 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 ven-
dors, including:

Figure 9.1.8

 RAID Level 4 builds on RAID Level 3 technology by configuring parity stripes to store

data stripes in a non-consecutive fashion. This enables independent disk management, ideal for
multiple-read-intensive environments. (

From [3]. Used with permission.)

Audio/Video Server Systems

Downloaded from Digital Engineering Library @ McGraw-Hill (www.digitalengineeringlibrary.com)

Copyright © 2004 The McGraw-Hill Companies. All rights reserved.

Any use is subject to the Terms of Use as given at the website.