RaidHelp v1.0

 

Home | Contents | Help
  Raidhelp
 
 

Interfaces: IDE/EIDE/ATA/Serial ATA

The IDE or ATA interface offers little in the way of valued performance increases when implemented as a RAID array due to the limitations in both the number of devices allowed per bus, together with the strict limits on access. ATA remains a single-threaded I/O interface with the ability to execute only one I/O request at a time, which restricts total data throughput speeds.

IDE controllers allow a maximum of two devices per bus or channel - a Master and a Slave. Of these two devices only a single device on any IDE channel at any single point of time is permitted I/O access by the system. Further, the drives are the bottleneck, not allowing ATA to perform at its theoretical transfer rates. Therefore, doubling the maximum transfer rate to 33 or even 66MB/sec by way of UltraDMA implementations improves overall throughput by very little as the limitation still remains the drive.

Conversely, any Ultra DMA performance benefits do not come from improvements in the IDE/ATA interface. Instead, performance improvements come from the improved data rate of the drives themselves. Unlike SCSI controllers which offer a multi-threaded I/O interface, an IDE/ATA controller cannot queue I/O requests (Tag Queue). If the requested device is already in use, or there is any delay in retrieving the required data, IDE/ATA controllers have no way in which to accept further I/O requests until the present I/O request is dealt with.

This inability to utilise delays such as seek, access, read, and write times - the general delays caused by all mechanical drives, renders other devices attached to the ATA controller inaccessible. Any I/O requests attempted during this downtime are returned or ignored and the system must resend the request until the channel is clear.

This reliance upon the host system to handle I/O access produces an overhead that is unacceptable in a RAID environment. Implementing ATA controllers and drives in a RAID array within a high transaction environment may render the entire storage system inaccessible to the majority of I/O requests. To implement a fully functional IDE-based RAID array each drive would need to use a separate IDE controller to allow simultaneous access of all the drives. Commercially available IDE RAID systems may incorporate multiple IDE/ATA channels to establish simultaneous device access across all array members. However, this still does not address the delays that multiple I/O requests will suffer.

IDE has a theoretical maximum bandwidth of 66MB/sec (DMA66) with the majority of controllers offering 33MB/sec (DMA33) as standard. This figure is still higher than the maximum data transfer rate of hard drives, and as each IDE channel should ideally have only a single drive attached, when implemented in a RAID systems, IDE controllers offer more bandwidth than can be practically used.

One important factor often forgotten is that all IDE, SCSI, Fibre Channel, and SSA drives are identical internally and all offer the same data transfer rates from the platters to the interface. The quality of the interface in relation to bandwidth, device quantity, and intelligence only becomes a factor once the data reaches the integrated interface controller on the drive. IDE controllers are simpler and cheaper than SCSI which in turn are cheaper than Fibre Channel. This is the only difference between drives and their relative cost. SCSI versions of new higher capacity or higher performance drives are simply manufactured and marketed first with the IDE version following at a later date when manufacturing costs of the hard drive are lower and the investment in the new drive has been largely recouped.

Related topics:

  Raidhelp
 

RAIDhelp© Copyright 1999-2004 Antony Kershaw