|
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:
|