This section summarizes the specifications and standards for Windows-compatible IDE controllers.
1. Controller complies with ATA-2 specification
Required
Recommended: ATA-3 compliance.
All IDE adapters (and peripherals) must meet the hardware and software design requirements listed in the current version of the AT Attachment 2 specification.
2. Bootable IDE controller supports El Torito No Emulation mode
Required
A bootable IDE storage controller must support the No Emulation mode defined in El Torito—Bootable CD-ROM Format Specification, Version 1.0, by IBM and Phoenix, or an equivalent method that supports the Windows NT CD-ROM installation process.
3. System BIOS and option ROMs support Int 13h Extensions
Required
The Int 13h Extensions ensure correct support for high-capacity drives, consistent drive-letter mapping between real mode and protected mode, and other capabilities for both Windows and Windows NT. Support for the fixed-disk access subset of Int 13h Extensions must be provided in the system BIOS and in any option ROMs for storage devices that include BIOS support.
The Int 13h Extensions are defined in the Windows NT 5.0 DDK and in the “Layered Block Device Drivers” section of the Windows 98 DDK.
4. Controller and peripherals support media status notification
Required
For CD-ROM and DVD-ROM, manufacturers must comply with all provisions defined in the Media Status Event Notification subsection of SFF 8090 (Mt. Fuji specification). This specification is available from the SFF Committee and from ftp://fission.dt.wdc.com/pub/standards/SFF/specs/.
For ATAPI floppy drives, manufacturers must implement media status notification as defined in SFF 8070.
For other ATA and ATAPI devices, Media Status Notification Support Specification, Version 1.03 or higher, by Microsoft Corporation, defines the protocol to use for communicating about the current state of removable media. This specification is available at http://www.microsoft.com/hwdev/specs/.
For other ATAPI devices such as tape drives, media status notification is not required, but if it is implemented, the support must comply with SFF 8090.
Important: For CD-ROM and DVD-ROM devices, do not use Media Status Notification Support Specification, Version 1.03 or earlier, as the guideline for implementing status notification on optical storage devices. This specification does not apply to optical storage devices because it does not contain packet-based support.
5. Dual IDE adapters use single FIFO with asynchronous access or dual FIFOs and channels
Required
PCI dual IDE adapters must be designed so that either channel might be used at any time; that is, the operating system does not have to serialize access between the primary and secondary channel at any time. This means either that the two channels are totally independent or that anything shared, such as a programmed I/O (PIO) read pre-fetch buffer, is protected by a hardware arbitrator.
A design implementing a single first in/first out (FIFO) that uses a hardware solution to synchronize access to both channels meets this requirement if the design does not require that a request on one channel be completed before another can be started.
Section 5.0 of the Compaq, Intel, Phoenix BIOS Boot Specification defines the implementation for dual asynchronous channels.
Dual-channel controllers that require special software to serialize channel I/O for a single prefetch FIFO do not meet these requirements. Such designs require serial access to one of four devices, defeating the primary advantage of asynchronous dual-channel controllers. Furthermore, such devices are non-standard and require custom driver support.
The introduction of non-standard IDE hardware is strongly discouraged because it negatively impacts traditional compatibility of the IDE interface. Notice, however, that dual-channel controllers which do not require special software to serialize channel I/O do meet these requirements.
6. System BIOS and devices support LBA
Required
To enable support for IDE disk drives that are larger than 528 MB, the system BIOS must use a logical block addressing (LBA) scheme that is compatible with the BIOS/CMOS and IDE register set constraints. The system BIOS must also be able to enable and disable block mode, and must be able to disable 32-bit mode.
Although ATAPI was defined to be transparent to the BIOS, the BIOS must recognize the presence of ATAPI devices using the signature defined in SFF 8020i. In some cases, without such support, the BIOS might fail to configure the adapter if it does not see a device.
7. Controller and peripherals support PCI IDE bus mastering
Required
The programming register set for PCI IDE bus master DMA is defined in SFF 8038i. IDE drives must comply with SFF 8038i to ensure fully featured hardware and Windows-compatible device driver support.
With ATAPI CD-ROM, PIO demands placed on the system CPU can have a negative impact on performance and application processing, especially for multimedia. Bus master DMA IDE adapters, which leverage local bus data rates, can provide higher data rates and the ability to offload the system CPU from I/O transfers.
Other factors that encourage the adoption of bus master DMA include the increased disk media transfer rates, plus demands made by multitasking operating systems and multichannel/multidevice IDE configurations.
Controllers and peripherals must also support Ultra DMA/33 (also known as Ultra-ATA) as defined in the “ATAPI Peripheral General Requirements” section later in this chapter.
8. Controller and peripheral connections include Pin 1 cable designation with keyed and shrouded connectors
Required
Pin 1 orientation must be designated by one edge of the keyed ribbon cable and also on the keyed connector of the IDE or ATAPI controller and peripheral device. Designation of the keyed connector must be clearly indicated on or near the connector.