patch-2.0.37 linux/Documentation/ide.txt
Next file: linux/Documentation/isdn/README
Previous file: linux/Documentation/README.DAC960
Back to the patch index
Back to the overall index
- Lines: 146
- Date:
Sun Jun 13 10:20:59 1999
- Orig file:
v2.0.36/linux/Documentation/ide.txt
- Orig date:
Sun Nov 15 10:49:23 1998
diff -u --recursive --new-file v2.0.36/linux/Documentation/ide.txt linux/Documentation/ide.txt
@@ -5,6 +5,9 @@
Gadi Oxman <gadio@netvision.net.il> -- tapes, disks, whatever
Scott Snyder <snyder@fnald0.fnal.gov> -- cdroms, ATAPI, audio
+UDMA support was added for various chipsets, from kernel 2.0.35 on. Check
+the udma.txt file in this directory for details.
+
+-----------------------------------------------------------------+
| The hdparm utility for controlling various IDE features is |
| packaged separately. Look for it on popular linux FTP sites. |
@@ -483,3 +486,135 @@
For really high end systems, go for fast/wide 7200rpm SCSI. But it'll cost ya!
mlord@pobox.com
+================================================================================
+
+DMA Bus Master transfer
+-----------------------
+The triton.c driver provides support for the DMA Bus Mastering functions of
+the Intel PCI Triton I/II chipsets (i82371FB or i82371SB).
+
+Pretty much the same code will work for the OPTi "Viper" chipset. Look for
+DMA support for this in linux kernel 2.1.xx, when it appears.
+
+DMA is currently supported only for hard disk drives (not cdroms).
+
+Support for cdroms will likely be added at a later date, after broader
+experience has been obtained with hard disks.
+
+Up to four drives may be enabled for DMA, and the motherboard chipset will
+(hopefully) arbitrate the PCI bus among them. Note that the i82371 chip
+provides a single "line buffer" for the BM IDE function, so performance of
+multiple (two) drives doing DMA simultaneously will suffer somewhat, as they
+contest for that resource bottleneck. This is handled transparently inside
+the i82371 chip.
+
+The SiS 5513 controller has two completely independent IDE controller units,
+each with a 64-byte line buffer (same size as the Intel); there is no
+bottleneck in simultaneous (U)DMA transfers for this resource. The 5513 is
+built-in the SiS 5571, 5598 and 5591 chipsets.
+
+The VIA chipsets like the Intel have a single 64 byte line buffer, but it
+can be split 1/2-1/2 or 1/4-3/4 between both channels.
+
+By default, DMA support is prepared for use, but is currently enabled only
+for drives which support multi-word DMA mode2 (mword2), or which are
+recognized as "good" (see table below). Drives with only mode0 or mode1
+(single or multi) DMA should also work with this chipset/driver (eg.
+MC2112A) but are not enabled by default. Use "hdparm -i" to view modes
+supported by a given drive.
+
+The hdparm-3.3 (patched) utility can be used to manually enable /disable DMA
+support, but must be (re-)compiled against this kernel version or later.
+
+Michel Aubry has produced a patch against hdparm-3.3 to support UDMA.
+
+To enable DMA, use "hdparm -d1 /dev/hd?" on a per-drive basis after booting.
+If problems arise, ide.c will disable DMA operation after a few retries.
+This error recovery mechanism works and has been extremely well exercised.
+
+IDE drives, depending on their vintage, may support several different modes
+of DMA operation. The boot-time modes are indicated with a "*" in the
+"hdparm -I" listing, and can be changed with *knowledgeable* use of the
+"hdparm -X" feature (X32 for DMA 0, X33 for DMA 1, X34 for DMA 2, X64 for
+UDMA 0, X65 for UDMA 1 and X66 for UDMA 2).
+
+Testing was done with an ASUS P55TP4XE/100 system and the following drives:
+
+ Quantum Fireball 1080A (1Gig w/83kB buffer), DMA mode2, PIO mode4.
+ - DMA mode2 works well (7.4MB/sec), despite the tiny on-drive buffer.
+ - This drive also does PIO mode4, at about the same speed as DMA mode2.
+ An awesome drive for the price!
+
+ Fujitsu M1606TA (1Gig w/256kB buffer), DMA mode2, PIO mode4.
+ - DMA mode2 gives horrible performance (1.6MB/sec), despite the good
+ size of the on-drive buffer and a boasted 10ms average access time.
+ - PIO mode4 was better, but peaked at a mere 4.5MB/sec.
+
+ Micropolis MC2112A (1Gig w/508kB buffer), drive pre-dates EIDE and ATA2.
+ - DMA works fine (2.2MB/sec), probably due to the large on-drive buffer.
+ - This older drive can also be tweaked for fastPIO (3.7MB/sec) by using
+ maximum clock settings (5,4) and setting all flags except prefetch.
+
+ Western Digital AC31000H (1Gig w/128kB buffer), DMA mode1, PIO mode3.
+ - DMA does not work reliably. The drive appears to be somewhat tardy
+ in deasserting DMARQ at the end of a sector. This is evident in
+ the observation that WRITEs work most of the time, depending on
+ cache-buffer occupancy, but multi-sector reads seldom work.
+
+Testing was done with a Gigabyte GA-586 ATE system and the following drive:
+(Uwe Bonnes - bon@elektron.ikp.physik.th-darmstadt.de)
+
+ Western Digital AC31600H (1.6Gig w/128kB buffer), DMA mode2, PIO mode4.
+ - much better than its 1Gig cousin, this drive is reported to work
+ very well with DMA (7.3MB/sec).
+
+Other drives:
+
+ Maxtor 7540AV (515Meg w/32kB buffer), DMA modes mword0/sword2, PIO mode3.
+ - a budget drive, with budget performance, around 3MB/sec.
+
+ Western Digital AC2850F (814Meg w/64kB buffer), DMA mode1, PIO mode3.
+ - another "caviar" drive, similar to the AC31000, except that this one
+ worked with DMA in at least one system. Throughput is about 3.8MB/sec
+ for both DMA and PIO.
+
+ Conner CFS850A (812Meg w/64kB buffer), DMA mode2, PIO mode4.
+ - like most Conner models, this drive proves that even a fast interface
+ cannot improve slow media. Both DMA and PIO peak around 3.5MB/sec.
+
+ Maxtor 71260AT (1204Meg w/256kB buffer), DMA mword0/sword2, PIO mode3.
+ - works with DMA, on some systems (but not always on others, eg. Dell),
+ giving 3-4MB/sec performance, about the same as mode3.
+
+ IBM DHEA 36480 (6197Meg w/476kB buffer), DMA mode2, PIO mode4, UDMA mode2
+ - works with DMA and UDMA on systems that support it. This drive and its
+ larger 8.4GB cousin provide throughput of 9.8MB/sec under UDMA.
+
+If you have any drive models to add, email your results to: mlord@pobox.com
+Keep an eye on /var/adm/messages for "DMA disabled" messages.
+
+Some people have reported trouble with Intel Zappa motherboards.
+This can be fixed by upgrading the AMI BIOS to version 1.00.04.BS0,
+available from ftp://ftp.intel.com/pub/bios/10004bs0.exe
+(thanks to Glen Morrell <glen@spin.Stanford.edu> for researching this).
+
+And, yes, Intel Zappa boards really *do* use the Triton IDE ports.
+
+Changes by Michel Aubry, Andre Hedrick and Andrew D. Balsa, June 1998:
+ a) Added support for non-Intel chipsets that support Bus Mastering DMA.
+ b) Added support for UDMA (33Mb/s) drives and controllers. Note that UDMA
+ support must be enabled in the BIOS, and that both the hard disk drive
+ _and_ the chipset must support UDMA.
+ On the IBM DHEA-36480 drive, transfer rates go from 7.76Mb/s to 9.76Mb/s,
+ a 25% improvement with zero cost (DMA mode2 to UDMA mode2).
+
+Extra UDMA PCI controller card support by Andre M. Hedrick, June 1998:
+ - PDC20246 Promise Ultra33 UDMA.
+ - AEC6210 Artop Electronics Corp. ACARD
+ sold under SIIG CN2449 UltraIDE Pro.
+ - HPT343 Triones Technologies (HighPoint Technologies) Inc.
+ future support -- nonbooting cards, need MNDA approval for
+ information release.
+ sold under Digital Research DRIDEUDMA.
+
+For more information on UDMA support, check /Documentation/udma.txt.
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov