The unified IDE patches provide support for many chipsets and offboard cards,
and are available for 2.0.x, 2.2.x, and the 2.3.x development kernels. If your
chipset isn't supported by a current stock kernel, you'll want to patch it with
The unified IDE code is maintained by
and patches are available at
your local kernel archive mirror.
UDMA support is provided for at least the following chipsets, and probably
many more I don't know about:
- All Intel chipsets: FX, HX, VX, TX, LX
- All SiS chipsets (only SiS5598 tested, but this entire family of
chipsets has the same bult-in 5513 interface device).
- VIA chipsets (only 82C586B tested, but again this family of
chipsets has the same interface structure). Special diagnostics
support is available for the VIA interfaces.
- Promise and Artop PCI UDMA interface cards support.
- Aladdin V (ALi15x3) chipset
- HPT343 board and HPT366 onboard chipset (caveat, see
It is also designed to be easy to extend to support other chipsets.
Here are a few notes from Andre Balsa, the author of an earlier patch:
Performance with IBM UDMA drives on a good motherboard approches the
maximum head transfer rates: about 10 Mb/s (measured with hdparm -t -T).
The Intel TX chipset has a single FIFO for hard disk data shared by
its two IDE interfaces, so using 2 UDMA drives will not yield such a
great improvement over a single UDMA drive.
However, the SiS5598 has two completely separate interfaces, each with
its own FIFO. Theoretically, one could approach 66Mb/s burt transfer
rates on motherboards with the SiS5598 chip, using the md driver and
data striping over two drives. The SiS5571 has the same interface
architecture, I think. I don't have the VIA chipsets datasheets, so I
can't say anything about those.
The Linux IDE (U)DMA kernel driver by Mark Lord has a particularly
low setup time (i.e. latency for data transfers). It is ideal for
frequent, small data transfers (such as those in Linux news servers),
and might be in some cases superior to its SCSI counterparts.