13.1 IDE
Integrated Drive Electronics
(IDE), more
properly called the AT
Attachment
(ATA)
interface, is the means used by most computers to interface hard
disks and other drives to the computer. Early hard disk interfaces
used a separate hard disk and controller card, which limited
throughput. In 1986, Compaq and Western Digital combined the hard
disk and controller card into one unit, thereby inventing IDE. Early
IDE drives used an expansion card called a paddle
card, but this card was not really a disk controller. It
simply provided an interface between the bus and the embedded disk
controller on the hard drive itself. All modern systems have IDE
interfaces embedded on the motherboard.
You may or may not need to understand much about IDE to install and
configure a hard drive, depending on how old your hardware is. The
most recent drives, motherboards, and BIOSes handle the hard parts
for you, automatically detecting and configuring the drive,
interface, and BIOS for optimum performance. So, if all
you're doing is installing a new IDE hard drive in a
recent PC, you can safely skip this entire section.
If, however, you're upgrading an older system with a
new drive, installing an older drive in a new system, or installing
an additional drive in a system more than a couple years old, keep
reading. If any of the components is more than a few years old, you
need to understand quite a bit about IDE, not just to configure the
PC for optimum performance, but to ensure that your data is not
corrupted by running data transfer rates higher than your hardware
can safely support. Understanding the fundamentals of IDE also helps
you make good decisions when you purchase drives, system boards, and
add-on IDE interface cards.
13.1.1 IDE/ATA Standards and Implementations
Although it was originally proprietary,
the cost and performance advantages of IDE quickly made it the
standard hard disk interface. By 1990, most computer systems came
with IDE hard disks. A slew of acronyms and standards has arisen as
IDE proliferates, some meaningful and many that are just marketing
hype. The formal ATA standards are maintained by
Technical Committee T13 of the National
Committee on Information
Technology Standards (NCITS), and may be viewed at http://www.t13.org. These standards include:
- ATA
-
The original IDE specification, ATA defines a standard 40-pin
interface that supports two hard disk devices on one cable.
- ATAPI (ATA Packet Interface)
-
The first ATA standard supported only hard disks. Manufacturers soon
realized that the ubiquity, high performance, and low cost of the IDE
interface also made it ideal for non-disk devices like CD-ROM and
tape drives. The ATAPI standard was developed to allow these non-disk
devices to be connected to a standard ATA port. ATAPI hardware
connects to and works with any standard IDE or EIDE port. Note that,
although ATAPI devices connect to ATA ports, they are not ATA
devices, and differ significantly from an ATA hard drive. This is not
a problem with most motherboard IDE ports and IDE interface cards,
but caching controllers and other intelligent interfaces must be
explicitly ATAPI compliant to support ATAPI devices.
- ATA-2
-
Advances in hard disk technology soon made it clear that the original
ATA standard was too confining. Since the original standard was
completed, several developments made it desirable to produce an
updated version of the specification. That updated specification,
ATA-2, adds faster PIO and DMA modes, improves Plug-N-Play support,
and adds Logical Block Addressing (LBA).
- ATA-3
-
Provided several minor improvements to the ATA-2 standard, including
enhanced reliability (especially for PIO-4), better power management,
and the incorporation of Self Monitoring Analysis and
Reporting Technology (SMART), which allows the drive to
warn the operating system of impending problems. ATA-3 did not add
any PIO or DMA modes faster than those defined in ATA-2.
- ATA/ATAPI-4
-
Merges ATA-3 and ATAPI into a single integrated book-length standard
and formalizes Ultra DMA 33 as a part of that standard.
- ATA/ATAPI-5
-
The current standard. ATA/ATAPI-5 formalizes Ultra DMA 66, but
otherwise makes only relatively minor enhancements to ATA/ATAPI-4.
- ATA/ATAPI-6
-
The forthcoming ATA/ATAPI standard, which is already implemented in
practice by drive makers. ATA/ATAPI-6 formalizes Ultra DMA 100 and
48-bit LBA, which expands the maximum disk size possible under ATA
from 128 GB to 128 PB (i.e., a binary million times larger), but
otherwise makes only relatively minor enhancements to ATA/ATAPI-5.
- ATA/ATAPI-7
-
The next and likely final ATA/ATAPI standard, before Serial ATA
supersedes ATA/ATAPI. ATA/ATAPI-7 is expected to formalize Ultra DMA
133, but otherwise make only relatively minor enhancements to
ATA/ATAPI-6. As with ATA/ATAPI-6, drive makers will incorporate the
important parts of ATA/ATAPI-7 before it is formally standardized. As
of June 2002, ATA/ATAPI-7 is still in development.
Although these formal standards define the ATA interface, the hard
drives and interfaces you can actually buy are marketed using the
following ad hoc standards:
- Enhanced IDE (EIDE)
-
A Western Digital IDE implementation that incorporates and
extends the ATA-2 and ATAPI standards. EIDE supports the following:
two devices each on primary and secondary ATA interfaces, for a total
of four devices; fast transfer modes (PIO-3 or better and multiword
DMA-1 or better); Logical Block Addressing (LBA) mode; and connecting
ATAPI devices such as CD-ROM and tape drives to the ATA interface.
EIDE includes the Western Digital Enhanced BIOS, which eliminates the
504/528 MB limitation under DOS. Recent Western Digital hard drives
and EIDE interfaces support the ATA/ATAPI-5 standard and the proposed
ATA/ATAPI-6 Ultra DMA standard.
- Fast ATA
-
A Seagate IDE implementation, later endorsed by Quantum, that
counters the Western Digital EIDE initiative.
Fast ATA and Fast
ATA-2 are based on ATA and ATA-2, but not on ATAPI. Fast ATA
supports: fast transfer modes (PIO-3 and multiword DMA-1); LBA mode;
and Read/Write Multiple commands, also called Block Mode. Fast ATA-2
adds support for PIO-4 and multiword DMA-2. Recent Fast-ATA hard
drives support Ultra ATA-33 and -66, and the nascent Ultra ATA-100
standard.
- Ultra ATA
-
An extension to ATA-2, first proposed by Quantum and Intel, and now a
part of the ATA/ATAPI-4 standard (as Ultra ATA-33 for UDMA modes 0
and 1), the ATA/ATAPI-5 standard (as Ultra ATA-66 for UDMA modes 2, 3, and 4),
and the proposed ATA/ATAPI-6 standard (as Ultra ATA-100 for UDMA mode
5). Ultra-ATA enhances the earlier SDMA and MDMA modes by adding
CRC error
detection to prevent data corruption during fast DMA transfers.
To benefit from the increased data transfer rates provided by
Ultra-DMA, the drive, the BIOS, the ATA interface, and the operating
system must all support it. By late 1997 some PCs and motherboards
included embedded Ultra ATA-33 support, and most shipped later than
late 1998 support Ultra ATA-33. Ultra ATA-66 drives and interfaces
began shipping in early 1999, and by fall 2000 had become ubiquitous.
ATA-100 drives and interfaces began shipping in volume in early 2001,
and are now standard on new systems and motherboards. ATA-133 drives
and interfaces began to appear by late 2001, and should be ubiquitous
by late 2002. You can add support for Ultra ATA-33, -66, -100, or
-133 to older PCs by installing an add-on IDE interface card like the
Promise Ultra133 or Ultra133 TX2 (http://www.promise.com) and upgrading the
system BIOS.
13.1.2 IDE/ATA Data Transfer Modes
To understand ATA data transfer modes,
it's necessary to understand something about how
data is read from and written to the hard drive. Real-mode operating
systems like 16-bit Windows and DOS make read and write requests to
the BIOS, which passes the command to
the drive. Protected-mode operating systems like Windows NT/2000/XP
and Unix bypass the real-mode BIOS and use their own protected-mode
I/O subsystems to accomplish the same
purpose.
Data transfer commands are controlled by the BIOS or I/O subsystem,
but execution speed—and therefore data transfer rate—is
determined by the strobe frequency of the ATA interface hardware. The
time needed to complete one full cycle, measured in nanoseconds (ns),
is called the cycle
time
for the interface. A shorter cycle time allows more cycles to be
completed in a given period, and therefore provides a higher data
transfer rate. For example, a 600 ns cycle time yields 1.66 million
cycles/second. Because each cycle transfers one word (16 bits or two
bytes), a 600 ns cycle time translates to a data transfer rate of
3.33 MB/sec.
ATA supports two data transfer modes, called Programmed
Input/Output (PIO) Mode and
Direct Memory Access (DMA)
Mode. Each of these has several
submodes that use different cycle times and have different data
transfer rates. When an ATA interface interrogates a modern drive
with the Identify
Drive command, the drive returns its model,
geometry, and a list of the PIO and DMA modes it supports, allowing
the interface, given proper BIOS support, to automatically configure
the best settings for optimum drive performance. With an older drive,
an older BIOS, or both, it's up to you to configure
these settings yourself, so it's important to
understand what they mean to avoid either crippling drive performance
by choosing too slow a mode or risking your data by choosing one
that's too fast for your hardware.
|
Your operating system also determines whether an ATA hard disk is
configured automatically for optimal performance. Windows 98 and
Windows 2000/XP (usually) detect DMA-capable interfaces and drives
and configure them automatically to operate in the more efficient DMA
mode. Windows 95 and Windows NT 4 use the less efficient PIO mode by
default, and must be configured manually to use DMA mode on hardware
that supports it. Configuring DMA mode on ATA drives is described in
Chapter 14.
|
|
13.1.2.1 Programmed Input/Output (PIO) Modes
Programmed Input/Output (PIO) is a means of data
transfer that requires that the CPU intermediate data exchanges
between the drive and memory. This dependence on the CPU places
unnecessary demands on it and slows CPU performance under
multitasking operating systems. Accordingly, modern drives and
interfaces substitute DMA modes, described below, to provide
high-speed data transfer. PIO modes remain important, however, when
connecting older drives to newer interfaces or vice versa. Table 13-1 lists PIO modes, not all of which are
supported by all drives and all interfaces.
Table 13-1. ATA programmed input/output (PIO) modes
PIO-0
|
600 ns
|
3.3 MB/sec
|
ATA
|
PIO-1
|
383 ns
|
5.2 MB/sec
|
ATA
|
PIO-2
|
330 ns
|
8.3 MB/sec
|
ATA
|
PIO-3
|
180 ns
|
11.1 MB/sec
|
ATA-2
|
PIO-4
|
120 ns
|
13.3 MB/sec
|
ATA-2
|
PIO-5
|
90 ns
|
22.2 MB/sec
|
Never implemented
|
PIO Modes 0, 1, and 2 are not used on recent systems except to
support older drives. Using PIO Mode 3 or 4 provides reasonably fast
transfer rates, but requires that the drive support using the IORDY
line for hardware flow control. If the interface delivers data faster
than a PIO Mode 3 or 4 drive can accept it, the drive de-asserts
IORDY to notify the interface to stop delivering data. Running a
drive that does not support IORDY on an interface configured for PIO
Mode 3 or 4 may appear to work, but risks corrupting data. If you are
not certain that your drive supports PIO Mode 3 or 4, configure the
interface to use PIO Mode 2.
13.1.2.2 Direct Memory Access (DMA) Modes
Direct Memory Access (DMA) is a data transfer mode that allows
bidirectional transfer of data between drives and memory without
intervention from the processor. If you use a multitasking operating
system like 32-bit Windows or Unix, using DMA mode increases
performance by freeing the CPU to do other things while data is being
transferred. DMA doesn't improve performance with
single-tasking operating systems like DOS or 16-bit Windows, because
the processor must wait until the transfer is complete before doing
anything else. Table 13-2 lists DMA modes, not all
of which are supported by all drives and all interfaces. Note that
ATA-3 introduced no new modes.
Table 13-2. ATA direct memory access (DMA) modes
Single Word Mode 0 (SDMA-0)
|
960 ns
|
2.1 MB/sec
|
ATA
|
Single Word Mode 1 (SDMA-1)
|
480 ns
|
4.2 MB/sec
|
ATA
|
Single Word Mode 2 (SDMA-2)
|
240 ns
|
8.3 MB/sec
|
ATA
|
Multiword Mode 0 (MDMA-0)
|
480 ns
|
4.2 MB/sec
|
ATA
|
Multiword Mode 1 (MDMA-1)
|
150 ns
|
13.3 MB/sec
|
ATA-2
|
Multiword Mode 2 (MDMA-2)
|
120 ns
|
16.6 MB/sec
|
ATA-2
|
Ultra-DMA Mode 0 (UDMA-0)
|
240 ns
|
16.6 MB/sec
|
ATA-4
|
Ultra-DMA Mode 1 (UDMA-1)
|
160 ns
|
25.0 MB/sec
|
ATA-4
|
Ultra-DMA Mode 2 (UDMA-2)
|
120 ns
|
33.3 MB/sec
|
ATA-4
|
Ultra-DMA Mode 3 (UDMA-3)
|
90 ns
|
44.4 MB/sec
|
ATA-5
|
Ultra-DMA Mode 4 (UDMA-4)
|
60 ns
|
66.7 MB/sec
|
ATA-5
|
Ultra-DMA Mode 5 (UDMA-5)
|
40 ns
|
100.0 MB/s
|
ATA-6
|
Ultra-DMA Mode 6 (UDMA-6)
|
30 ns
|
133.3 MB/s
|
ATA-6/7
|
The SDMA modes were obsoleted by ATA-3, and are useful only for older
drives and interfaces. MDMA modes provide reasonable transfer rates,
and are useful for drive/interface configurations that are ATA-2
compliant, but where the drive and/or interface is not Ultra-ATA
compliant. Using UDMA modes requires that the drive, interface, BIOS,
and operating system be Ultra-ATA compliant. MDMA-2 and UDMA-0
provide identical transfer rates, but MDMA-2 does not use hardware
flow control, while UDMA-0 uses CRC error detection to prevent data
corruption.
Hardware that supports UDMA Modes 3 and 4, also called UDMA/66, began
shipping in early 1999, and had become standard for new systems,
motherboards, and hard drives by mid-2000. UDMA/100, also called
Ultra ATA-100 or simply ATA-100, is an extension of UDMA/66 developed
by Maxtor Corporation and since licensed by other drive makers.
ATA-100 components began shipping in volume in early 2001, and are
now standard.
ATA-100 provides 100 MB/s throughput for reads, but only 88 MB/s
throughput for writes. ATA-100 uses the same 80-wire, 40-pin ATA
cable as UDMA/66, which is sufficient to reduce reflections, noise,
and inductive coupling to the level required by ATA-100, but reduces
signaling voltages to 3.3V from the 5.0V used by all previous ATA
standards. Installing a UDMA/66 or /100 drive on an older system
requires adding a UDMA/66 or /100 interface card and using a special
80-wire, 40-pin ATA cable.
Ultra ATA-133, also called FastDrive/133, is another Maxtor
initiative that as of June 2002 had not yet been adopted by other
manufacturers. It uses the same 80-wire, 40-pin cable as ATA-66 and
ATA-100, and ATA-133 drives and interfaces are backward compatible
with earlier standards.
|
ATA-100 and ATA-133 are
technologies ahead of their time. As of June 2002, no ATA hard drive
can saturate even an ATA-66 interface, although the fastest ATA hard
drives routinely exceed the 33 MB/s provided by ATA-33. Only one
device on an ATA channel can be active at a time, which means that
ATA-66 is likely to be fast enough for the next year or so at least.
Contrast this situation with SCSI, which does allow multiple devices
to use the channel simultaneously. The fastest SCSI hard drives can
exceed 50 MB/s throughput, which means that three drives on a channel
can saturate even an Ultra160 SCSI interface.
We think that fast IDE
hard drives will begin exceeding 66 MB/s sometime in the near future,
so having an ATA-100 adapter is worthwhile. However, we think it
unlikely that ATA hard drives will ever require more than an ATA-100
interface. Serial ATA will have replaced the current Parallel ATA by
the time drives can saturate an ATA-100 interface, so ATA-133 is a
more a marketing gimmick than a useful technology. Maxtor argues that
an ATA-100 interface may have an efficiency of only 62%, but even a
true 62 MB/s bandwidth is likely to suffice until Serial ATA devices
ship.
|
|
There are two ways to implement DMA.
First-party DMA, also
called bus- mastering DMA, uses a DMA controller embedded
in the device itself to arbitrate possession of the bus and data
transfer. Third-party DMA
instead depends on the DMA controller that resides on the
motherboard. If the motherboard is of recent vintage, either
first-party or third-party DMA can be used for high-speed DMA
transfer modes. A problem arises with older systems
boards, whose DMA controllers cannot support third-party DMA for fast
DMA modes. DMA controllers on ISA motherboards are too slow to
support ATA DMA. DMA controllers on VLB motherboards do not support
third-party DMA at all. In either of these situations, the best
solution is to replace the motherboard. The DMA controller on many
PCI motherboards, including some relatively recent ones, supports
third-party DMA, but only at lower rates. The solution here is to
install a first-party (bus-mastering) add-on ATA interface card that
supports high-speed DMA.
|
The CMD-640 and RZ-1000 PCI-to-IDE interfaces used on some older interface
cards and motherboards have bugs that may corrupt data. These bugs
are subtle, and may damage data for months before being noticed. For
detailed information about this problem and utilities to test for it,
download the file eidete20.zip (or later), which
is available from numerous Internet FTP sites.
|
|
13.1.3 ATA Multi-Channel Support
The original ATA specification defined one
dual-channel ATA interface that supported one or two ATA devices.
ATA-2 defines a second interface, with the primary
interface using standard ATA IRQ and base address, and the
secondary interface using the alternate IRQ and
base address that had always been set aside for that purpose. Any
modern motherboard or interface card provides dual-ported ATA
support.
Windows 9X and Windows NT/2000/XP recognize and use the secondary
interface automatically. DOS and 16-bit Windows are not dual-port
ATA-aware, so installing more than two ATA drives with these
operating systems requires either BIOS support for the secondary port
or supplemental drivers. If BIOS Setup allows you to enter drive
parameters for four drives, you already have the BIOS support you
need. If BIOS Setup lists only two drives, you must (in order of
desirability) install an updated system BIOS or
use a dual-ported bus-mastering ATA adapter with an on-board
dual-port BIOS or install dual-port device
drivers.
In addition to the well-standardized primary and secondary ATA
interfaces, some devices support semi-standard tertiary and
quaternary ATA interfaces. In theory, at least, you can support up to
eight ATA devices on one computer by adding a dual-ported interface
card that can be configured as tertiary/quaternary to a system that
includes a standard dual-ported ATA interface, assuming that you have
the four IRQs needed to support all four ports. We have not seen a
BIOS that includes direct support for ATA Ports 3 and 4, although the
current Phoenix BIOS specification allows ATA ports beyond 1 and 2 to be defined
arbitrarily. Table 13-3 lists the IRQs and base
addresses for ATA Ports 1 through 4.
Table 13-3. ATA port IRQ and base address assignments
Primary
|
14
|
0x1F0 - 0x1F7 and 0x3F6 - 0x3F7
|
Secondary
|
15 or 10
|
0x170 - 0x177 and 0x376 - 0x377
|
Tertiary
|
12 or 11
|
0x1E8 - 0x1EF and 0x3EE - 0x3EF
|
Quaternary
|
10 or 9
|
0x168 - 0x16F and 0x36E - 0x36F
|
13.1.4 The ATA Interface
Table 13-4 lists the pins and signal names for the ATA
interface. Signal names that end with # are active-low. Signal names
contained in square brackets are specific to the secondary ATA
interface.
Table 13-4. ATA interface pinout and signal definitions
1
|
Reset IDE
|
|
2
|
Ground
|
3
|
Data 7
|
|
4
|
Data 8
|
5
|
Data 6
|
|
6
|
Data 9
|
7
|
Data 5
|
|
8
|
Data 10
|
9
|
Data 4
|
|
10
|
Data 11
|
11
|
Data 3
|
|
12
|
Data 12
|
13
|
Data 2
|
|
14
|
Data 13
|
15
|
Data 1
|
|
16
|
Data 14
|
17
|
Data 0
|
|
18
|
Data 15
|
19
|
Ground
|
|
20
|
Key (no pin)
|
21
|
DDRQ0 [DDRQ1]
|
|
22
|
Ground
|
23
|
I/O Write#
|
|
24
|
Ground
|
25
|
I/O Read#
|
|
26
|
Ground
|
27
|
IOCHRDY
|
|
28
|
P_ALE (CSEL pull-up)
|
29
|
DDACK0# [DDACK1#]
|
|
30
|
Ground
|
31
|
IRQ 14 [IRQ 15]
|
|
32
|
(reserved)
|
33
|
DAG1 (Address 1)
|
|
34
|
GPIO_DMA66_Detect_Pri [GPIO_DMA66_Detect_Sec]
|
35
|
DAG0 (Address 0)
|
|
36
|
DAG2 (Address 2)
|
37
|
Chip Select 1P# [Chip Select 1S#]
|
|
38
|
Chip Select 3P# [Chip Select 3S#]
|
39
|
Activity#
|
|
40
|
Ground
|
41
|
+5VDC (logic)
|
|
42
|
+5VDC (motor)
|
43
|
Ground
|
|
44
|
-TYPE (0=ATA)
|
The standard ATA interface used in desktop systems uses only pins 1
through 40. Pins 41 through 44 are implemented only in notebook ATA
interfaces, for use with 2.5" and smaller drives. The additional four
pins provide power and ground to the drives, which are not large
enough to accept a standard power connector.
|
ATA interfaces are enabled or disabled in BIOS Setup. Disabling an
unused interface frees the interrupt that would otherwise be used by
that interface. If there are no devices connected to the secondary
ATA interface, disable it in BIOS. If you are running an all-SCSI
system, disable both the primary and secondary ATA interfaces.
Conversely, if you install an ATA/ATAPI device as the first device on
the secondary interface and find that it is not recognized, check
BIOS Setup to verify that the interface is enabled. Although most
recent systems automatically detect and configure PIO mode versus DMA
mode, some systems require you to specify PIO mode versus DMA mode
for each interface in Setup.
|
|
13.1.5 Configuring ATA Devices
Each
ATA interface (often loosely called a channel)
can have zero, one, or two ATA and/or ATAPI devices connected to it.
Every ATA and ATAPI device has an embedded controller, but ATA
permits only one active controller per interface. Therefore, if only
one device is attached to an interface, that device must have its
embedded controller enabled. If two devices are attached to an ATA
interface, one device must have its controller enabled and the other
must have its controller disabled.
In ATA terminology, a device whose controller is enabled is called a
Master; one whose controller is disabled is
called a Slave. In a standard PC with two ATA
interfaces, a device may therefore be configured in any one of four
ways: Primary Master, Primary
Slave, Secondary Master, or
Secondary Slave.
13.1.5.1 Assigning Masters and Slaves
ATA/ATAPI devices are assigned as
Master or Slave by setting jumpers on
the device. ATA devices have the following jumper selections:
- Master
-
Connecting a jumper in the Master position enables the on-board
controller. All ATA and ATAPI devices have this option. Select this
jumper position if this is the only device connected to the
interface, or if it is the first of two devices connected to the
interface.
- Slave
-
Connecting a jumper in the Slave position disables the on-board
controller. (One of our technical reviewers notes that he has taken
advantage of this to retrieve data from a hard drive whose controller
had failed, a very useful thing to keep in mind.) All ATA and ATAPI
devices can be set as Slave. Select this jumper position if this is
the second device connected to an interface that already has a Master
device connected.
|
When you jumper a device Master or Slave, it assumes that role
regardless of which position it connects to on the ATA cable. For
example, if you jumper a device as Master, it functions as Master
regardless of whether you connect it to the drive connector at the
end of the ATA cable or the drive connector in the middle of the ATA
cable.
|
|
- Cable Select
-
All recent ATA/ATAPI devices have a third
jumper position labeled Cable Select,
CS, or CSEL. Connecting a
jumper in the CSEL position instructs the device to configure itself
as Master or Slave based on its position on the ATA cable. When you
use CSEL, the device connected nearest the ATA interface is always
configured as Master and the device on the end of the cable is always
configured as Slave. CSEL has long been a part of the ATA PnP
standard and was first formalized in the Intel/Microsoft PC97
standard, but was little used until recently. If the CSEL jumper is
connected, no other jumpers may be connected. For more information
about CSEL, see the following section.
- Sole/Only
-
When functioning as Master, a few older ATA/ATAPI devices need to
know whether they are the only device on the channel, or if a Slave
device is also connected. Such devices may have an additional jumper
position labeled Sole or
Only. For such devices, jumper as Master if it
is the first of two devices on the interface, Slave if it is the
second of two devices on the interface, and Sole/Only if it is the
only device connected to the interface.
- Slave Present
-
A few older drives have a jumper designated Slave
Present, or SP. This jumper performs
the inverse function of the Sole/Only jumper, by notifying a device
jumpered as Master that there is also a Slave device on the channel.
For such devices, jumper as Master if it is the only device on the
interface, or Slave if it is the second of two devices on the
interface. If it is the Master on a channel that also has a Slave
installed, connect both the Master and Slave Present jumpers.
13.1.5.2 Using Cable Select
All recent ATA/ATAPI drives provide a Cable Select (CS or CSEL)
jumper in addition to the standard Master/Slave jumpers. If you
jumper a drive as Master (or Slave), that drive functions as Master
(or Slave) regardless of which connector it is attached to on the ATA
cable. If you jumper a drive as CSEL, the position of the drive on
the cable determines whether the drive functions as a Master or a
Slave.
CSEL was introduced in the ATA-2 and ATA-3 specifications as a means
to simplify ATA configuration. The goal was that eventually all
ATA/ATAPI devices would be configured to use CSEL. That would mean
that drives could simply be installed and removed without changing
jumpers, with no possibility of conflict due to improper jumper
settings. Although CSEL has been around for years, it has only
recently become popular with system makers. If you work on a PC built
in the last year or two, you may encounter CSEL, so
it's good to be aware of it.
Using CSEL requires the following:
If one drive is installed on the interface, that drive must support
and be configured to use CSEL. If two drives are installed, both must
support and be configured to use CSEL.
The ATA interface must support CSEL. For this to be true, the ATA
interface must ground pin 28. On many older ATA interfaces, pin 28 is
open or high, and so cannot be used for CSEL. If pin 28 is not
grounded on the interface, any drive configured as CSEL that connects
to that interface is configured as Slave.
The ATA cable must be a special CSEL cable. Unfortunately, there are
three types of CSEL cable:
A 40-wire standard CSEL cable differs from a 40-wire standard ATA
cable in that pin 28 is connected only between the ATA interface and
the first drive position on the cable (the middle connector). Pin 28
is not connected between the interface and the second drive position
(the end connector on the cable). With such a cable, the drive
attached to the middle connector (with pin 28 connected) is Master;
the drive attached to the connector furthest from the interface (with
pin 28 not connected) is Slave.
All 80-wire (Ultra DMA) ATA cables support CSEL, but with exactly the
opposite orientation of the 40-wire standard CSEL cable described
above. With such a cable, the drive attached to the middle connector
(with pin 28 not connected) is Slave; the drive attached to the
connector furthest from the interface (with pin 28 connected) is
Master. This is actually a better arrangement, if a bit
non-intuitive—how can a wire be connected to the end connector
but not to the one in the middle?—because the standard 40-wire
CSEL cable puts the Master drive on the middle connector. If only one
drive is installed on that cable, that leaves a long
"stub" of cable hanging free with
nothing connected to it. Electrically, that's a very
poor idea, because an unterminated cable allows standing waves to
form, increasing noise on the line and impairing data integrity.
A 40-wire CSEL Y-cable puts the interface connector in the middle
with a drive connector on each end, one labeled Master and one Slave.
Although this is a good idea in theory, in practice it seldom works.
The problem is that IDE cable length limits still apply, which means
that the drive connectors don't have enough cable to
get to the drives in all but the smallest cases. If you have a tower,
you can forget it.
40-wire CSEL cables are supposed to be clearly labeled, but we have
found that this is often not the case. It is not possible to identify
such cables visually, although you can verify the type using a DVM or
continuity tester between the two end connectors on pin 28. If there
is continuity, you have a standard ATA cable. If not, you have a CSEL
cable.
|
Keep unlabeled 40-wire CSEL cables segregated from standard cables.
If you substitute a CSEL cable for a standard cable, drives that are
jumpered Master or Slave function properly. If you substitute a
standard cable for a CSEL cable and connect one drive jumpered CSEL
to that cable, it will function properly as Master. But if you
connect two CSEL drives to a standard cable, both function as Master,
which may result in anything from subtle problems to (more likely)
the system being unable to access either drive.
|
|
13.1.5.3 Master/Slave Guidelines
When deciding how to allocate devices between two interfaces and
choosing Master versus Slave status for each, use the following
guidelines:
Always assign the main hard drive as Primary Master. Particularly if
your hard drive supports fast DMA modes (ATA-66 or ATA-100), do not
connect another device to the primary ATA interface unless both
positions on the secondary interface are occupied.
ATA forbids simultaneous I/O on an interface, which means that only
one device can be active at a time. If one device is reading or
writing, the other device cannot read or write until the active
device yields the channel. The implication of this is that if you
have two devices that need to perform simultaneous I/O, e.g., a CD
writer that you use to duplicate CDs from a CD-ROM drive, you should
place those two devices on separate interfaces.
If you are connecting an ATA device (a hard drive) and an ATAPI
device (e.g. an optical drive or a tape drive) to the same interface,
set the hard drive as Master and the ATAPI device as Slave.
If you are connecting two similar devices (ATA or ATAPI) to an
interface, it generally doesn't matter which device
is Master and which Slave. There are exceptions to this, however,
particularly with ATAPI devices, some of which really want to be
Master (or Slave) depending on which other ATAPI device is connected
to the channel.
If you are connecting an older device and a newer device to the same
ATA interface, it's generally better to configure
the newer device as Master because it is likely to have a more
capable controller than the older device.
Try to avoid sharing one interface between a DMA-capable device and a
PIO-only device. If both devices on an interface are DMA-capable,
both use DMA. If only one device is DMA-capable, both devices are
forced to use PIO, which reduces performance and increases CPU
utilization dramatically. Similarly, if both devices are DMA-capable,
but at different levels, the more capable device is forced to use the
slower DMA mode.
13.1.6 ATA Cables
All
desktop ATA cables have three 40-pin connectors, one that connects to
the ATA interface and two that connect to ATA/ATAPI drives. All
standards-compliant ATA cables—there are many that do not
comply—share the following characteristics:
An ATA cable must be at least 10" (0.254m) long, and no longer than
18" (0.457m) long.
The center-to-center distance between one end connector and the
middle connector must be 5" (0.127m) minimum to 12" (0.304m) maximum.
The distance between the center connector and the other end connector
must be 5" minimum to 6" (0.152m) maximum.
Pin 1 is indicated by a colored stripe on the cable (usually a red
stripe on a gray cable).
ATA cables are keyed, either by blocking pin 20, by using a keyed
shroud, or both.
ATA cables come in three varieties:
- Standard
-
A standard ATA cable uses a 40-wire ribbon cable and 40-pin
connectors in all three positions. All 40 conductors connect to all
three connectors. The only real variation, other than cable quality,
is the positioning of the three connectors. A standard ATA cable
requires using Master/Slave jumpering for connected devices. All
connectors on a standard ATA cable are interchangeable, which is to
say that any drive may be connected to any position, and the
interface itself may be connected to any position, including the
center connector. A standard ATA cable may be used with any ATA/ATAPI
device through ATA-33. If a standard ATA cable is used to connect
ATA-66/100 devices, those devices will function properly, but will
fall back to operating at ATA-33.
- Standard/CSEL
-
A standard/CSEL ATA cable is identical to a standard ATA cable except
that pin 28 is not connected between the middle drive connector and
the end drive connector. A standard/CSEL ATA cable supports either
Master/Slave jumpering or CSEL jumpering for connected devices.
Connector position is significant on a standard/CSEL cable. The
interface connector on a CSEL cable is either labeled or is a
different color than the drive connectors. The center connector is
for the Master device, and the end connector opposite the interface
connector is for the Slave device.
- Ultra DMA (80-wire)
-
An Ultra DMA cable uses an 80-wire ribbon cable and 40-pin connectors
in all three positions. The additional 40 wires are dedicated ground
wires, each assigned to one of the standard 40 ATA pins. An Ultra DMA
cable may be used with any ATA/ATAPI device—and should be for
more reliable functioning—but is required for full performance
with ATA-66 and ATA-100 devices. All Ultra DMA cables are CSEL
cables, and may be used either with drives jumpered CSEL or those
jumpered Master/Slave.
The following points about Ultra DMA cables are worth being aware of:
The Ultra DMA cable was first defined for UDMA Modes 0 through 2 for
transfer speeds up to 33 MB/s, but is optional for those modes. For
UDMA Mode 3 and higher, the Ultra DMA cable is required.
All Ultra DMA cables have pin 28 wired to support CSEL mode, and so
can be used to connect drives that use either CSEL or Master/Slave
jumpering.
Color-coded connectors were not specified for earlier ATA cables. The
Ultra DMA cable specification requires the following connector
colors:
- Blue
-
One end connector is blue, which indicates that it attaches to the
ATA interface.
- Black
-
The opposite end connector is black, and is used to attach the Master
drive (Device 0), or a single drive if only one is attached to the
cable. If CSEL is used, the black connector configures the drive as
Master. If standard Master/Slave jumpering is used, the Master drive
must still be attached to the black connector. This is true because
ATA-66 and ATA-100 do not allow a single drive to be connected to the
middle connector, which results in standing waves that interfere with
data communication.
- Gray
-
The middle connector is gray, and is used to attach the Slave drive
(Device 1), if present.
|
Note the difference between using a 40-wire CSEL cable and an 80-wire
cable for CSEL operation. Although all Ultra DMA cables support
drives jumpered either Master/Slave or CSEL, that does not mean you
can freely substitute an 80-wire cable for a 40-wire cable. If the
drives are jumpered Master/Slave, substituting an 80-wire cable works
fine. However, if the drives are jumpered CSEL, replacing a 40-wire
CSEL cable with an 80-wire cable causes the drives to exchange
settings. That is, the drive that was Master on the 40-wire cable
becomes Slave on the 80-wire cable, and vice versa.
|
|
Because an Ultra DMA cable is required
for ATA-66 or ATA-100 operation, the system must have a way to detect
if such a cable is installed. This is done by grounding pin 34 in the
blue connector, which attaches to the interface. Pin 34 carries the
GPIO_DMA66_Detect_Pri signal (primary interface)
or the GPIO_DMA66_Detect_Sec signal (secondary
interface). These signals are also referred to as
/PDIAG:/CBLID. Because 40-wire ATA cables do not
ground pin 34, the system can detect at boot whether a 40-wire or
80-wire cable is installed. In some Ultra ATA cables, the grounding
is done internally and is therefore invisible. In others, the signal
conductor for pin 34 is cut in the cable, as shown in Figure 13-1. Figure 13-2 shows a 40-wire
standard ATA cable and an 80-wire UltraATA cable side-by-side
for
comparison. Note that the 80-wire cable uses a gray end connector,
and so is not standards compliant.
13.1.7 Compatibility Between Old and New IDE Devices
With only minor exceptions, there are no
compatibility issues when using new ATA
devices with old ATA interfaces or vice versa. Newer drives cannot
yield their highest performance when connected to an ATA interface
that does not support the fastest transfer modes the drive is capable
of, just as a new interface can't improve the
performance of an older drive. But you can connect any ATA drive to
any ATA interface with reasonable assurance that it will function,
although perhaps not optimally.
Nearly all modern ATA interfaces—including the ubiquitous Intel
PIIX3 and PIIX4—support independent timing for Master and Slave
devices. This means that you can safely put an old, slow ATA or ATAPI
device on the same cable as a new, fast hard drive without concern
that the older device will cripple the throughput of the newer one.
|
Note that independent timing does not mean that you should mix
DMA and
PIO devices on the same interface. If an
interface has one PIO-mode device connected, the other device must
also run PIO. Also, independent timing does not mean that an
interface supports multiple DMA modes simultaneously. For example, if
you connect an ATA-66 drive and an ATA-33 drive to the same
interface, both run as ATA-33 devices.
|
|
13.1.8 IDE Capacity Limits
Various IDE capacity limits exist,
which depend on the BIOS, interface hardware,
operating system, and other factors. There's a lot
of information and misinformation about these limits, so
it's worth getting the facts straight before you
accept unnecessary limitations. Most of these limits are a result of
interactions between the methods that the BIOS and the ATA interface
use to address sectors on a hard disk. Even the oldest BIOS or ATA
interface can address large hard disks. In combination, however,
interactions between the BIOS and the interface may limit the number
of addressable sectors to a fraction of the number either could
address alone. Table 13-5 summarizes these limits.
Table 13-5. ATA addressing and BIOS addressing limitations
Cylinders
|
65,536 (216)
|
1,024 (210)
|
1,024
|
Heads
|
16 (24)
|
256 (216)
|
16
|
Sectors per track
|
255 (28 - 1)
|
63 (26 - 1)
|
63
|
Disk size (bytes)
|
136,902,082,560
|
8,455,716,864
|
528,482,304
|
ATA addressing uses four registers
that total 28 bits. ATA numbers cylinders starting at 0. The
cylinder address
is a 16-bit value, divided as a least-significant 8-bit
Cylinder Low register and a most-significant
8-bit Cylinder High register, allowing up to
65,536 cylinders to be addressed. Each cylinder has a number of
heads, also numbered starting at 0, which are addressed using a 4-bit
value stored in the lowest four bits of the
Device/Head register, allowing up to 16 heads
to be addressed. Sectors are numbered starting at 1, and are
addressed using an 8-bit value stored in the Sector
Number register, allowing up to 255 sectors
to be addressed. These capacities mean that ATA can address up to
(65,536 x 16 x 255) 512-byte sectors, which
equals 136,902,082,560 bytes.
BIOS Int13 API addressing uses three registers that total 24 bits.
Cylinder Low is an 8-bit register that stores
the least significant eight bits of the 10-bit cylinder address.
Cylinder High/Sector Number is an 8-bit register
whose least significant two bits store the most significant two bits
of the cylinder address and whose most significant six bits store the
sector number. In conjunction, these addresses allow up to 1,024
cylinders and 63 sectors/track to be addressed. Head
Number is an 8-bit register, which allows up to 256 heads
to be addressed. These capacities mean that Int13 can address up to
(1,024 x 256 x 63) 512-byte sectors, which
equals 8,455,716,864 bytes.
The impact of these limits depends entirely on the addressing method
used by the BIOS. From oldest to newest, here are the methods used by
various BIOSes:
- Cylinder-Head-Sectors (CHS)
-
Cylinder-Head-Sectors (CHS) is the access
method used by early BIOSes to address individual sectors on a hard
disk by identifying them directly by the cylinder, head, and sector
where they reside. CHS in an ATA/Int13 environment is subject to the
maximum common address register size supported for each element by
ATA and Int13 addressing. This means that CHS can address at most
1,024 cylinders, 16 heads, and 63 sectors per track, which results in
the 504/528 MB limit.
- Extended Cylinder-Head-Sectors (ECHS)
-
Extended
Cylinder-Head-Sectors
(ECHS) is the most
popular of several access methods (others being
Large and Big IDE) used by
so-called enhanced or translating
BIOSes to support hard disks larger than those supported
by CHS. ECHS or bit shift translation works by
lying about disk geometry, translating an unsupported physical
geometry to a supported logical geometry whose address will fit the
available registers. For example, ECHS translation may represent a 1
GB drive whose physical geometry is 2,048 cylinders, 16 heads, and 63
sectors per track as having a logical geometry of 1,024 cylinders, 32
heads, and 63 sectors per track, allowing the full 1 GB to be
recognized and used. The problem with ECHS translation is that it is
nonstandard, and different BIOSes handle it differently.
- Logical Block Addressing (LBA)
-
Logical Block Addressing
(LBA) dispenses with CHS addressing
entirely, and addresses each sector sequentially. With LBA
addressing, all 28 address bits (16+4+8) are used as one LBA address,
allowing up to 228 (268,435,456) sectors
or 137,438,953,472 bytes to be addressed. Note that, with LBA
addressing, sector numbers start at 0. LBA assist translation can be
used only with BIOSes and drives that support LBA addressing. With
LBA translation, the drive reports its actual geometry to the BIOS,
which then multiplies the cylinders, heads, and sectors reported by
the drive to determine the total number of sectors to be used for LBA
translation. All modern BIOSes support LBA.
Various environments may enforce the following limits:
- 504/528 MB
-
This limit results from the interaction between ATA addressing and
CHS Int13 addressing, which allows 1,024 cylinders, 16 heads, 63
sectors/track, limiting drive capacity to 528,482,304 bytes, or 504
MB. To get around this limit, you may upgrade the PC BIOS to one with
LBA support, disable the embedded interface and replace it with one
that has LBA support, or install a BIOS extender card that provides
LBA support with the existing interface. If a hardware solution is
not feasible, installing a third-party driver such as Ontrack Disk
Manager allows using large disks, but with some limitations relative
to the hardware solutions.
- 2.0/2.1 GB (hardware)
-
Various manufacturers attempted to solve the 504 MB limit by various
methods, including modifications to the way registers were
manipulated. One such method was to
"steal" the two previously unused
high-order bits assigned to the head register and assign them to the
cylinder register, expanding it from 10 to 12 bits. This increased
the number of addressable cylinders to 4,096, but in doing so limited
the number of heads that could be addressed to 64. Because this
translation method was not commonly used, the two high-order head
bits cannot safely be assumed to be assigned to either the head count
or the cylinder count, which allows 1,024 cylinders, 64 heads, and 63
sectors/track. Multiplying these numbers yields 2,113,929,216 bytes,
usually stated as 2.0 or 2.1 GB. You've encountered
this limit if the system hangs during POST when the BIOS attempts to
translate the cylinders and heads. The solutions are the same as for
the 504 MB limit.
- 2.0/2.1 GB (software)
-
This limit derives from how the FAT filesystem tracks hard disk
space. FAT16 cannot use clusters larger than 32,768 bytes, or 64
512-byte sectors per cluster, and can track at most 65,536 clusters.
Multiplying the numbers yields 2,147,483,648 bytes, or 2 GB. The only
solution is to use multiple partitions, each no larger than 2 GB. The
FAT32 filesystem used by Windows 95B/98/2000 and the NTFS filesystem
used by Windows NT/2000/XP are not subject to this limit.
- 3.27 GB
-
Some BIOSes do not properly handle cylinder counts over 6,322,
enforcing a limit of about 3.27 GB. A BIOS has this limit if the PC
hangs when you enter a value of 6,322 cylinders or more. The
solutions are the same as those listed for the 504 MB limit.
- 4.2 GB
-
Some interfaces store the number of heads reported by the BIOS as an
8-bit number, calculated modulo-256. If the BIOS reports 256 heads,
these interfaces fill the 8-bit register with zeros (the
least-significant eight bits), assume that the drive has zero heads,
and refuse to allow it to be configured. This problem occurs if the
drive reports 16 heads and 8,192 or more cylinders to the bit shift
translation, effectively limiting drive size to 1,024 cylinders
x 128 heads x 63 sectors/track x 512
bytes/sector = 4,227,858,432 bytes. Because LBA translation never
reports more than 255 heads, this problem does not occur with BIOSes
that use LBA translation. A BIOS has this limit if the computer hangs
at boot after you create partitions on the drive. The solutions are
the same as those listed for the 504 MB limit.
- 8.4 GB
-
LBA translation uses ID words 1, 3, and 6 of the Identify
Drive command. These three 8-bit words allow maximum LBA
values of 16,384 cylinders, 16 heads, and 63 sectors/track, for a
total capacity of 8,455,716,864 bytes. Exceeding this limit requires
BIOS support for extended Int13 functions, which is available with
recent BIOSes. Extended Int13 functions no longer transfer disk
addresses via host registers. Instead, they pass the
"address of an address" by placing
a 64-bit LBA Device Address packet in host
memory. The least-significant 28 bits of this packet contain a
standard 28-bit LBA address. If the drive uses LBA addressing, the
least-significant 28 bits of this packet may be passed directly to
the ATA registers. If the drive does not support LBA addressing, the
host translates the full LBA address to a CHS address, allowing the
full capacity of the disk drive to be used, within overall ATA and
LBA limitations.
The BIOS may have this limit if the PC hangs during POST when it
tries to translate cylinders and heads, if the total disk capacity
reported to the operating system is 8.4 GB or less, or if strange
things happen when you partition or format the disk. For example,
fdisk may refuse to partition the drive,
claiming that it is read-only, or format may
report a huge number of bad sectors. The solutions are the same as
those listed for the 504 MB limit.
- 32 GB
-
An Award BIOS dated earlier than June 1999 does not recognize drives
larger than 32 GB. Current versions of the Award BIOS no longer have
this limit. Many motherboard manufacturers have posted updates for
their products that use an Award BIOS.
- 128 GB / 137 GB
-
This is an absolute limit that results from the 28-bit addressing
used by ATA, which limits the total number of sectors to 268,435,456.
With standard 512-byte sectors, 137,438,953,472 bytes (128 GB) is the
largest drive that can be supported by ATA.
13.1.8.1 BIOS Upgrades for Extended Int13 Support
The
best solution for all of these capacity
limits (except the absolute 137 GB limit) is to update the BIOS or to
buy a motherboard with a more recent BIOS. The best (and possibly
only) place to get an updated BIOS is from the manufacturer of your
computer or system board. This is true because, although many
manufacturers use BIOSes based on the Phoenix, Award, and AMI core
BIOS code, they may have made changes to it that render an updated
generic BIOS unusable and may have also impacted the extended Int13
support present in the core BIOS code. That said, here are the BIOS
levels that eliminate limitations through the 8.4 GB limit:
- American Megatrends, Inc. (AMI)
-
AMI BIOSes dated January 1, 1998 or later
include extended Int13 support. Contact AMI directly for update
information. (800-828-9264 or http://www.ami.com)
- Award
-
Award BIOSes dated after November
1997 include extended Int13 support and can be used with disks larger
than 8.4 GB. Award recommends contacting Unicore for BIOS updates.
(800-800-2467 or http://www.unicore.com).
- Phoenix
-
All Phoenix BIOSes are Version 4.
It's the revision level that counts. Phoenix BIOSes
at Revision 6 or higher have extended Int13 support. Phoenix
recommends contacting Micro Firmware for BIOS updates. (800-767-5465
or http://www.firmware.com)
13.1.8.2 The Maxtor Big Drive Initiative
The 28-bit addressing used by the ATA interface limits ATA hard
drives to a maximum size of (228 sectors
x 512 bytes/sector) = 137,438,953,472 bytes = 128 GB.
Drive makers, who insist on defining a gigabyte as
109 bytes rather than the traditional
230 bytes, refer to this as the
"137 GB limit." Before 2001, this
limit was not an issue, but during 2001 drive makers began shipping
SCSI hard drives with capacities greater than 128 GB. Drive makers
would have liked to ship larger ATA drives as well, but the 28-bit
ATA addressing limit prevented them from doing so unless those drives
used nonstandard large sector sizes. Sector sizes larger than 512
bytes would have introduced all sorts of potential compatibility
problems, so there was no easy solution.
Until, that is, Maxtor Corporation
introduced their Big Drive initiative. Big Drive replaces the
existing 28-bit ATA interface with a new interface that uses 48-bit
Logical Block Addressing (LBA) rather than the 28-bit LBA used by
standard ATA interfaces. Those additional 20 bits mean that a Big
Drive interface can address a binary million
(220) times more sectors than a standard
ATA interface, or (248 x 512
bytes/sector) = 144,115,188,075,855,872 bytes = 128 PB, which drive
makers of course insist on calling "144
PB."
Compatibility between old and new drives and interfaces was a key
issue, and Maxtor did an excellent job of maintaining that. ATA
(28-bit) hard drives and other peripherals can be installed on a Big
Drive interface, although doing so limits that interface to using
28-bit addressing for all devices connected to it. Conversely, Big
Drive (48-bit) hard drives can be installed on a standard (28-bit)
ATA interface, although doing so limits that drive to 128 GB usable
capacity.
Big Drive is so important to the continuing development of ATA hard
drives that we expect nearly all manufacturers to begin shipping Big
Drive interfaces and devices in 2002. Note that having a Big Drive
interface is important even for such devices as DVD-ROM drives,
because installing an older 28-bit ATA drive on a Big Drive interface
limits that interface to using 28-bit ATA addressing.
|
Don't bother telling us that binary values are
actually kibibytes, mebibytes, and gibibytes, which use
"bi" to indicate binary rather than
decimal values. We're aware of this ill-considered
initiative, and we don't know anyone who uses those
words in real life. As an alternative, we propose everyone use the
original definition of a kilobyte as 1,024 bytes, and substitute
kidebyte, medebyte, or gidebyte when referring to decimal values. You
heard it here first.
|
|
13.1.9 ATA and RAID
RAID
(Redundant Array of
Inexpensive Disks) is a means by which data is distributed
over two or more physical hard drives to improve performance and
increase data safety. A RAID can survive the loss of any one drive
without losing data. Until recently, RAID was a SCSI-only technology
largely limited by cost to use on servers. That changed when Promise
Technology (http://www.promise.com) introduced a line of
ATA-based RAID controllers that combine the benefits of RAID with the
low cost of ATA, making RAID a realistic alternative for small
servers and individual PCs.
We've been using inexpensive Promise FastTrak cards
on a couple of our systems for years now to mirror large ATA drives.
Anything written to one drive is automatically mirrored to the other
drive. If either drive fails, the other drive continues to function
without loss of data. Although such an array leaves only 50% of the
installed disk space visible to the operating system, the low cost of
ATA drives means this is a small price to pay for improved
performance and greatly enhanced data safety. If
you're building a small server, or even if you just
want to protect the data on your standalone PC, look into the Promise
RAID products. Although other manufacturers, including Adaptec, now
also make ATA RAID cards, we have no experience with them and are
quite satisfied with Promise.
13.1.10 Serial ATA
The Serial ATA Working Group (http://www.serialata.org) is a group of
companies led by APT Technologies Inc., Dell Computer Corporation,
IBM Corporation, Intel Corporation, Maxtor Corporation, Quantum
Corporation, and Seagate Technology (Maxtor and Quantum merged in
April 2001). In December 2000, this group released the Serial ATA
Draft Specification 1.0, which defines a replacement for the current
parallel ATA physical storage interface. Although components based on
Serial ATA (SATA) technology are not yet
shipping, we expect SATA to begin volume shipments in late 2002 and
to replace standard (parallel) ATA and ATAPI by late 2003.
|
You needn't worry about current ATA motherboards and
drives being orphaned. During the transition, we expect most
motherboards to have both ATA and Serial ATA interfaces embedded, and
there will doubtless be add-on Serial ATA adapters available from
Adaptec, Promise Technology, and others. We expect ATA drives to be
available at least through 2006, and probably into 2007 or later.
|
|
SATA will be used to connect internal storage devices such as
hard drives, optical drives, and tape drives to the PC motherboard.
Serial ATA Revision 1.0, called Ultra SATA/1500 or SATA/150, operates
at 1.5 Gb/s, and provides 150 MB/s read/write performance for storage
peripherals. SATA Revision 2.0 (Ultra SATA/3000 or SATA/300) is
already in the works, and will operate at 3.0 Gb/s. SATA Revision 3.0
(Ultra SATA/4500 or SATA/450) is planned, and will operate at 4.5
Gb/s. Table 13-6 compares features of parallel ATA,
SATA, and other current high-speed bus standards.
Table 13-6. Serial ATA compared with other high-speed bus standards
Internal/External
|
/
|
/
|
/
|
/
|
/
|
Storage / I/O peripherals
|
/
|
/
|
/
|
/
|
/
|
2001 speed (MB/s)
|
100
|
n/a
|
160
|
1.5
|
50
|
2002 speed (MB/s)
|
100/133
|
150
|
160
|
60
|
50
|
2003 speed (MB/s)
|
133
|
150/300
|
320
|
60
|
200
|
Cable length (m)
|
0.45
|
1.0
|
12.0
|
5.0
|
4.5
|
Bootable?
|
Yes
|
Yes
|
Yes
|
No
|
No
|
Embedded interface?
|
Yes
|
Yes
|
Seldom
|
Yes
|
No
|
Hot pluggable?
|
No
|
Yes
|
Yes
|
Yes
|
Yes
|
SATA has the following important features:
- Reduced voltage
-
Current ATA standards use 5.0V or 3.3V (ATA-100/133). These
relatively high voltages in conjunction with high pin densities make
100 MB/s the highest data rate that is realistically achievable. SATA
uses 500 millivolt (0.5V) peak-to-peak signaling, which results in
much lower interference and crosstalk between conductors.
- Simplified cabling and connectors
-
SATA replaces the 40-pin/80-wire parallel ATA ribbon cable with a
7-wire cable. In addition to reducing costs and increasing
reliability, the smaller SATA cable eases cable routing and improves
air flow and cooling. An SATA cable may be as long as 1 meter (39+
inches), versus the 0.45 meter (18") limitation of standard ATA. This
increased length contributes to improved ease of use and flexibility
when installing drives, particularly in tower systems. The smaller
and less expensive SATA connector replaces the large, cumbersome
40-pin connectors used by standard ATA.
- Differential signaling
-
In addition to three ground wires, the 7-wire SATA cable uses a
differential transmit pair (TX+ and TX-) and a differential receive
pair (RX+ and RX-)
- Improved data robustness
-
In addition to using differential signaling, SATA incorporates
superior error detection and correction, which ensures the end-to-end
integrity of command and data transfers at speeds greatly exceeding
those available with standard ATA.
- Operating system compatibility
-
SATA appears identical to parallel ATA from the viewpoint of the
operating system. This means that current operating systems can
recognize and use SATA interfaces and devices using existing drivers.
- Forward and backward device compatibility
-
SATA backers appreciate that there will be a transition period during
which parallel ATA and Serial ATA must coexist. Inexpensive dongles
will adapt parallel ATA devices to SATA interfaces, and SATA devices
to parallel ATA interfaces.
|