|
ATA/ATAPI Controller (with Bus Master IDE) Device Driver
ATA/ATAPI are standard interfaces to connect storage devices to a host system. The ATA standards have a number of versions and varieties. ATA-1, ATA-2, ATA-3, ATA/ATAPI-4, ATA/ATAPI-5, ATA/ATAPI-6, ATA/ATAPI-7 and there maybe new ones. ATAPI is developed as a spin-off from ATA by CD-ROM drive manufacturers and later become an ANSI standard and combined with ATA specification.
There's a big confusion in storage drive terminology and standards. Many manufacturers use also alternative naming such as IDE, EIDE, FASTATA, FASTATA-2, ULTRA ATA and so on. These names are used for marketing purposes and usually correspond to transport mode's in ATA specification. Following transfer mode's and transfer rates (Mb/s) are available on ATA/ATAPI devices:
PIO Mode
DMA
(Single word)DMA
(Multi-word)Ultra DMA
Mode 0
3.3
2.1
4.2
16.7
Mode 1
5.2
4.2
13.3
25.0
Mode 2
8.3
8.3
16.7
33.3
Mode 3
11.1
44.4
Mode 4
16.7
66.7
Mode 5
100.0
PIO transfers are directly done by the host using the command/data port on the interface. DMA and Ultra DMA transfers are done through a special controller (Bus Master IDE) to reduce the load on the central processor. Although there's no official interface specification for the Bus Master IDE controllers, the "Programming Interface for Bus Master IDE Controller Revision 1.0" has become the de-facto standard for these controllers.
We have designed and developed the full ATA/ATAPI controller driver (object oriented, platform independent) and the test bed, which includes the features for PIO mode and Bus Master DMA/UDMA (EIDE) to verify the ATA interface of the ASIC. The verification package has been tested successfully on the Win32 (Intel based/PC) platform and the QNX Neutrino (Motorola PPC/RISC based) embedded platform.
Our Offer
We are happy to share our experience and know-how on ATA/ATAPI devices and help you with your projects. Please don't hesitate to contacts us if you require more information: info@centrillium-it.com