Some of the early implementations of mirrored-disk systems attempted to improve random read performance by taking
advantage of the separate actuators. The usual technique is to alternate read accesses to the two drives, or to assign reads
to drives based on the one that would have the shortest seek time to reach the data. This technique can double the random
read performance, but does nothing to improve the streaming read rate because a single drive services each read.
Disk striping of two drives, known as RAID 0, places even blocks of data on one drive and odd blocks on another drive. The
main disadvantage of a standard RAID 0 configuration is that reliability is worse than a single drive because a failure of
either drive leaves no complete copy of any file.
RAID 5 is another RAID level that provides a way to recover from a drive failure. For each block of data, the parity of N-1
blocks is computed and stored on the nth drive. The primary drawbacks of a RAID 5 configuration is that it requires at least
three drives and it sharply decreases the write performance relative to a single drive.
RAID 10, a combination of RAID 1 and RAID 0, provides both data redundancy and improved streaming performance. The
drawback of a standard RAID 10 configuration is that it requires four drives but cannot attain more than two times the
performance of a single drive.
3ware’s TwinStor Technology
TwinStor’s mirrored approach optimizes the performance of RAID 1 configurations by algorithmically distributing operations
between each drive such that the mechanical overhead of each disk is kept to a minimum. 3ware’s new algorithms for
intelligent performance optimization, achieve this in several ways:
•
Profiling disk drives to obtain drive-specific parameters needed for optimal performance
•
Optimizing performance with adaptive algorithms based on the recent access history
•
Optimizing for applications that have special performance or reliability requirements
These techniques are applied to pairs of drives, which maintain identical copies of data. All writes are sent to both drives, but
reads are free to access whichever copy of the data gives the best performance. Profiling and adaptation are required to
carefully orchestrate the actions of both drives to optimize for the best average performance.
To gain insights into how these optimizations are implemented requires a basic understanding of disk drive technology:
A drive contains one or more platters, each with two surfaces and a head per surface. Typical drives today have two to eight
heads. All heads are attached to a single actuator, but the fine precision needed to position a head over the data means that
the servo electronics can position the actuator to read from only one head at any point in time. Data is organized in tracks; a
track contains all the data positioned beneath one head around the entire circumference. Typical disks today have a few
hundred 512-byte sectors per track. Outer tracks are longer than inner tracks and hence have more data. Most drives today
divide groups of tracks into a small number of zones (16, for instance) and the number of sectors per track stays constant
within a zone. Data is typically formatted by starting at the outside of the disk at one head, sequencing through the rest of the
heads, and then seeking to the next track location closer to the inside of the disk.