|
Rockbox mail archiveSubject: Re: slow/delaying usb connection to archos/rockboxRe: slow/delaying usb connection to archos/rockbox
From: Paul Suade <paul.suade_at_laposte.net>
Date: Sat, 21 Sep 2002 15:47:46 +0200 Just a precision : I'm totally okay with you when you talked about the FAT caching of clusters which is done just after the jukebox plugging. No doubt it is the major culprit. ----- Original Message ----- From: "Björn Stenberg" <bjorn_at_haxx.se> To: <rockbox_at_cool.haxx.se> Sent: Saturday, September 21, 2002 2:10 PM Subject: Re: slow/delaying usb connection to archos/rockbox > I'm not talking about the READ MULTIPLE SECTORS ata command. I'm talking about the fat file system driver, which requests one sector, examines it, requests another etc. The ATA multisector transfer feature is not relevant to this. Okay, the use of multisector was disturbing here since I never heard about it else as an IDE feature. By the way, you use this name as a variable in ata.c for this feature, which is much more disturbing. I will have a better look upon linux FAT code, but I'm pretty sure there is no reason that FAT code cannot read n sectors at once to have cluster. So let us consider the term multisector for transfering several sectors at once per call. I don't see why FAT code would read one sector per call to get a cluster (ususally 8 sectors or above) instead of reading 8 sectors or above per call : so we are okay to say the fat code uses multisector call to read a cluster according to the definition you give to "multisector". > Also USB disks don't involve ide-disk.c at all, they are all handled as SCSI disks. > > > FAT drivers doesn't know about multisector feature or DMA feature > > No, but they do know how to read and write more than one sector at a time. Otherwise normal file copying would be horribly slow too. According to your definition, yes FAT driver must surely use multisector at least for file copying. But nothing say that ISD200/300 really use the ATA MULTIPLE SECTOR READ/WRITE to speedup much more. > > Another important point : the ISD200 or ISD300 might not handle multisector > > transfers. > > Of course they do. Read the driver code or the data sheets. Driver code ? you mean yours ? okay, if I remember well, ISD200 is just, to be short, a USB packet <-> IDE taskfile/transfer (in & out ATA registers to write or read) converter, so theorically ISD200/300 can execute any ATA commands, including DMA operations. In reality, USB 1.1 or USB 2.2 cannot use mode PIO or DMA which demand a higher byterate transfer than can USB handle. So I'm not sure UDMA could be used. I'm not sure DMA can be used too. For "ATA" multiple sector mode, I don't know if ISD has an internal buffer to read or write a sector in harddisk. If so, having a multiple sector of 16 sectors means we need a buffer of 16 sectors in ISD chipset. Does this buffer exist ? maybe not and so "ATA" multiple sector mode might not be used because ISD cannot would not handle them properly. Supposedly ISD can use "ATA" multiple sector mode and handle it. We know it is a SCSI driver which communicate with ISD, so we are not sure that sending a multisector transfer to SCSI driver would be transformed in a ATA MULTIPLE READ command embbeded in a USB packet sent to ISD. I would be gladful if you can answer this question to me because I don't know the SCSI details. Now I hope you undestand why I think it is not only a FAT problem for me. Of course, according to your definition, ISD must needs be able to handle "multisector" transfers. > Please do at least a little bit of research before throwing out wild speculations and accusing others of being wrong. I was not stating you're wrong but incompletely right (half wrong) due to a misunderstanding of a word. Received on 2002-09-21 Page template was last modified "Tue Sep 7 00:00:02 2021" The Rockbox Crew -- Privacy Policy |