Some of this isn't possible on the AVRs but as the group seems to be so diverse I thought I'd ask anyway. You never know.
I've just been thinking on how the transfer rate to and from an ATA harddrive could be increased. One way is to read the FAT TOC entries and cache the locations of the clusters for the particular file you want to read into memory therefore reducing the need to seek back to the TOC. I should imagine this will work quite well. (512bytes of RAM would allow 4Mbytes of file to be read in one go on 32k cluster) It could be taken one step further by caching the whole TOC into memory. Of course you'd need a processor with megabytes of RAM but hey! I am right in thinking that the size of the TOC is:
TOC size = Number of clusters * 4bytes + ancillary data.
Number of clusters = Drive size / Cluster Size
So for a 40Gbyte drive with a 32Kbyte cluster size the rough size of the TOC would be:
40,000,028,672 / 32768 * 4 = 4,882,816 bytes?
The second question is: has anyone out there ever tried to transfer data from a HDD to memory using DMA transfer? Do you have any links on where to look? I've tried googling but the overwhelming volume of PC related trouble shooting and FAQs just gets in the way of engineering. Doh! ;-)
Take care and thanks,