RAID-on-a-chip [ROC] processors change the storage equation: Part 2.
To understand the advantages of a RAID Storage Processor, we must first understand the evolution of RAID. In the early days of RAID, storage system OEMs were required to write their own RAID algorithms from scratch. These algorithms and error recovery policies were considered key product differentiators. At this point, the basic level of RAID functions was very well understood and stopped evolving. At present, basic RAID functionality has become a commodity function, and OEMs add their differentiating value through higher-level functions such as policy management and storage services.
Since RAID algorithms are so well understood, they lend themselves to implementation in hardware. It is accepted that dedicated hardware outperforms a general-purpose processor executing software instructions. Even with the best available clock rates, general-purpose CPUs simply were not designed to speed data flows, which is the essence of storage processing.
To understand the processing steps required to flow data through a storage controller, let's look at a typical RAID-5 write command (see Table). The transaction is an example of an algorithm that is performed repeatedly in storage, and would be ideally suited to hardware implementation. It clearly illustrates the complexity of a typical storage transaction, requiring multiple buffer accesses and computations. A microprocessor would have been interrupted numerous times and had to switch contexts in order to complete this transaction, whereas the RAID Storage Processor would redirect the algorithms into hardware, thereby minimizing the impact on normal operations.
RAID Storage Processor Highlights
A RAID Storage Processor set up as a scalable fabric of programmable processing elements allows for the acceleration of compute-intensive storage routines. Multiple task-specific hardware engines perform repetitive and algorithmic tasks in parallel, with minimal system latency. Read and write commands are fully automated end-to-end, without intervention from an external processor. In essence, all performance-critical storage and bandwidth-intensive processing is completely offloaded from the management processor, resulting in a highly optimized data path. Execution speed comes from having multiple commands simultaneously in the pipeline and hardware acceleration of various compute-intensive steps in the flow.
Each custom processor within the RAID Storage Processor has its own dedicated memory and data path for code fetch, virtually eliminating interrupts. The deterministic nature of most storage algorithms means that the dedicated processors of the RAID Storage Processor accelerate storage functions such as cache state management, host access permission checking, and volume mapping, to name a few.
The RAID Storage Processor is also storage specific; CRC headers for enterprise-level data integrity are calculated on the fly. In comparison, traditional controller implementation and firmware are unable to match the data integrity capabilities of the RAID Storage Processor. Each time data is moved or manipulated, the data blocks must be checked and rechecked for consistency. In a traditional architecture, this requires an action and overhead from the microprocessor each time data is moved. RAID Storage Processors eliminate the need for outboard processing, and minimize the need for overhead.
The end result is a controller system that provides an enormous increase in IOP capabilities when compared to conventional controllers. Whereas a standard controller might be limited to 1,000 disk IOPS per port, a RAID Storage Processor-based system is capable of 15,000-20,000 disk IOPS per port. Furthermore, since all parity calculations are computed on the processor, the limiting factor on rebuild time is the speed of the disks, rather than the available processor cycles. Disk rebuilds can be completed in hours instead of days, with only minimal impact on normal operations.
Currently available midrange systems that quote cached IOP read numbers of over 100k IOPS can have IOP-to-disk performance numbers as low as 6,000-7,000 IOPS, roughly the capability of 20-25 15K-RPM disks. A RAID System Processor-based system with comparable cache read numbers, would be expected to maintain IOP-to-disk numbers of approximately 50K IOPS (an 8X performance increase). In most cases, the RAID controller is limited only by the IOP capability of the disks. This truly powerful RAID system allows customers to install much larger disk environments, yet reduce the overall number of RAID controllers under management.
By placing so much of the RAID controller function in silicon, the RAID controller becomes segmented. Standard RAID operations are executed by the RAID Storage Processor that is itself under the management of a separate, low-cost processor responsible for the storage management features. System designers can use rich operating systems without impacting performance and can program management features such as data services and resource management in high-level languages such as C++. Features are delivered more quickly, and code is more easily maintained as new features are added. Controllers can be given new personalities quickly, allowing optimization towards diverse application segments such as rich media, which requires Enforced QOS, or OLTP that requires guaranteed consistent I/O rates at the expense of other applications or data within the customer environment.
The volume of stored data is increasing by approximately 100% each year, and shows no sign of slowing. Current system architectures can no longer manage the increased user demands without compromising performance and reliability. RAID Storage Processors establish a new standard for scalable, cost-effective storage management, addressing today's demands while anticipating tomorrow's.
Fast, flexible and functional, RAID Storage Processors provide uninterrupted data access with uncompromised reliability, all at a competitive price point. Storage systems using RAID Storage Processors are expected to enter the market early in 2005. With the transition to a 4GB Fibre infrastructure, and the resulting increase in available bandwidth, it is expected that the majority of RAID systems will be using these powerful new RAID Storage Processors by the end of 2006.
* Primary controller receives a write command
* Primary controller computes a Data Integrity CRC
* Primary controller transfers the data into the primary cache
* Primary controller mirrors the write data to a redundant cache in a redundant controller
* Redundant controller receives the data, checks the CRC and sends status good back to primary controller
* Primary controller sends good status to the host that the write command has completed
* Primary controller coalesces adjacent write data (if any) and starts the RAID 5 write operation
* Primary controller computes the physical location of the write data and parity within the RAID set
* Primary controller reads the old write data from the RAID set
* Primary controller checks CRC
* Primary controller reads old parity from the RAID set
* Primary controller checks CRC on old parity
* Primary controller mirrors old parity to the redundant controller
* Redundant controller receives the old parity data, checks the CRC and sends good status back to primary controller
* Primary controller XORs old write data with old parity data
* Primary controller XORs results (from step above) with new write data
* Primary controller computes a new CRC for the new parity and transfers the data to the primary cache
* Primary controller performs a write of the new data to the RAID set and completes an in-flight check of the CRC
* Primary controller performs a write of the new parity to the RAID set and completes an in-flight check of the CRC
John Howarth is senior director of product marketing and Tim Piper is director of product marketing at Xyratex International (San Jose, CA)
|Printer friendly Cite/link Email Feedback|
|Title Annotation:||Storage Management|
|Publication:||Computer Technology Review|
|Date:||Oct 1, 2004|
|Previous Article:||There's a "great white" inside every SAN: and this man-eater's name is complexity.|
|Next Article:||E-mail archiving is a "win-win" proposition.|