MCF54455EVB BSP ATA Question

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

MCF54455EVB BSP ATA Question

1,072 Views
simath
Contributor I
Thanks to kmahan (and others?) for the new BSP with ATA support!!!
 
As described in the known issues, DMA isn't working for this port, and transfers are MODE 4 PIO, which results in pretty poor performance (see below).
 
It is noted that DMA will be supported in a future release.  The project I'm working on (custom board) will be transferring image data from an ATA drive, so I'd like to get the best performance possible.
 
Questions:
1) Is "hdparm -t" reasonably accurate in reporting performance?
2) What kind of increase might we expect when DMA MODE 5 is supported?
 
Thanks again for getting this working!
 
Some stats:
/mnt # hdparm -T /dev/sda
/dev/sda:
 Timing buffer-cache reads:   128 MB in  8.07 seconds = 15.86 MB/sec
/mnt # hdparm -t /dev/sda
/dev/sda:
 Timing buffered disk reads:  64 MB in 21.33 seconds =  3.00 MB/sec
/mnt # hdparm -t /dev/sda1
/dev/sda1:
 Timing buffered disk reads:  64 MB in 35.02 seconds =  1.83 MB/sec
/mnt # hdparm -T /dev/sda1

My PC Core-Duo2 Fedora8 system (I know, not really comparable - running SATA-300, UDMA with much more memory, >20x CPU performance) - but for reference:

/dev/sda5:
 Timing buffered disk reads:  164 MB in  3.03 seconds =  54.16 MB/sec
/dev/sda:
 Timing buffered disk reads:  230 MB in  3.02 seconds =  76.12 MB/sec

 
Labels (1)
0 Kudos
1 Reply

278 Views
simath
Contributor I
Forgot to mention:  The USB Mass Storage "hdparm -t" rate is about 2x the ATA rate.  A "cp" transfer from USB MS to ATA of a 100Mbyte file seems to confirm an ATA rate of about 2.5-3.0 Mbytes/sec.  Note the USB to ATA timing was done after the file was fully cached (no USB drive accesses seen) - on copy pass #2.  The cached read access ("hdparm -T") is identical for both file systems, so I assume this is the max. memory transfer rate through the file system drivers (about 16 Mbytes/sec.).
 
Actually, the cached transfer rate seems a little on the slow side as well for DMA transfers from 16-bit 266MHz DDR2.  Can this be improved?  Does it have something to do with the Crossbar priority settings?
0 Kudos