FC Demands New XOR Calculations.
Increased performance demands require new approaches for generating parity in RAID controllers. New methods have been developed that migrate the responsibility for generating parity from the RAID controller to the disk drives. This article discusses various XOR calculation methods and their advantages and disadvantages. It will be shown that traditional XOR generating methods no longer meet the demands of today's faster disk storage requirements.
XOR Calculation Methods
Parallel SCSI-based RAID disk controllers on the market today use one of two available methods for generating XOR parity data for RAID levels such as 3 and 5. One method uses a CPU, another method uses custom hardware, or a XOR engine in the array controller to calculate the XOR data. These methods are sufficient for meeting the performance requirements in most parallel SCSI and IDE RAID disk arrays, but lack the scalability needed for existing and future Fibre Channel performance needs.
Fibre Channel technology brings the possible performance levels up one step further compared to parallel SCSI. With Fibre Channel technology, it becomes possible to build disk arrays in the multiple terabyte range and obtain transfer rates up to several hundred megabytes per second. These performance levels require a new approach for generating XOR parity data in RAID configurations. It is no longer possible to use a CPU for this task and designing custom XOR generating hardware becomes increasingly more complex and difficult.
To address this increased performance, Fibre Channel disk drives implement a new method for calculating XOR data in a disk array. This method, normally referred to as array controller-supervised XOR operation, uses a new SCSI command set in the disk drives for calculating the XOR parity. The disk drives' internal data buffer is used as a temporary storage buffer during these XOR calculations. The disk drives themselves are now participating in panty generation. The array controller no longer performs any type of XOR calculation.
With array controller-supervised XOR calculation, it is now possible to design disk arrays with performance levels beyond what has been previously achieved. The RAID controller is no longer the bottleneck during RAID parity operations. Since every disk drive in the array has the same XOR capability, it now becomes possible to have multiple XOR calculations executing in parallel on several disk drives.
Limitations With Current Technologies
* CPU-based XOR parity Generation
CPU-based XOR calculation is the simplest and easiest method of calculating XOR data. Here, it is the RAID controller's CPU that executes a tightly coded procedure that generates the XOR data. Although still a popular method for executing XOR functions, this is the slowest method for obtaining parity calculations. It also has many disadvantages.
Disk arrays based on RAID controllers using CPU-based XOR calculations normally perform RAID 5 writes in the 5MB/sec-l5MB/sec range. The upper maximum performance level is determined by the speed of the CPU, the memory buffer bandwidth, and the general firmware implementation in the controller. The speed of the disk drives does not have any effect on the upper maximum performance levels (Fig 1).
This calculation method cannot take advantage of improvements in disk drive technology. It is not scalable. Faster disk drives do not translate into faster performance. The lifetime of the RAID controller is, therefore, significantly reduced. Disk drive performance increases very rapidly every year and, to keep up with these performance increases, it becomes necessary to upgrade the RAID controller, as well.
CPU-based parity generation is also the method used by various RAID software packages. These software packages normally consist of device drivers that must be installed in the operating system. Different operating systems require different device drivers. In some cases, different host adapters also require different device drivers. When the operating system or the host adapter is upgraded, it will most likely also require an upgrade of the RAID device driver.
Another disadvantage of using CPU-based XOR calculations comes when RAID software is installed in the host computer system. The overall performance of the operating system will be degraded. The CPU now has the responsibility to handle the RAID functionality in the disk array, as well as running the operating system and various applications. Data buffers for the RAID operations must be allocated in system memory, as well, reducing the operating system's own resources.
One of the main disadvantages, however, is that it is not possible to share disk storage between multiple host computer systems with CPU-based software RAID solutions. Since the RAID device drivers must be installed in one host system, it is not possible to have other systems sharing the storage. Other systems will not be aware of the fact that the disk drives are part of a software RAID set in another system. Only one system can have control over the RAID functionality (drive failures, hot sparing, and regeneration of failed disk drives).
The second part of this article will appear in the March issue of CTR.
Johan Olstenius is the president of OneofUs (Taipei, Taiwan).
|Printer friendly Cite/link Email Feedback|
|Title Annotation:||Technology Information|
|Publication:||Computer Technology Review|
|Date:||Feb 1, 2000|
|Previous Article:||Everything You Wanted To Know About DVD-R.|
|Next Article:||SMART Integrators Shop The DATAMART.|