Reply 20 of 64, by douglar
- Rank
- l33t
Chkcpu wrote on 2024-06-23, 17:36:When Enabled it speeds up hard disk drive access by transferring multiple sectors of data per interrupt instead of using the basic single-sector transfer mode.
Most harddisks support these multi-sectors transfers, but if your CF card doesn’t, the BIOS is smart enough to detect that and use the single-sector mode instead.
Most Compact flash devices will report via ATA info commands that they support block transfer mode, but ironically, almost all of them report a max block size = 1. Block transfer mode with max block size = 1 is the same thing as not supporting block mode. So don't expect to see block transfer mode help a CF. I'm still looking for a CF that supports block transfer mode with a max block size > 1. Maybe some of the San Disk Ultras.
This isn't necessarily a big performance disadvantage for CFs vs most physical disks in the faster UDMA modes, because the UDMA modes > 3 give have more bandwidth than legacy spinning platters and 1&2 chip CF flash implementations can use. The extra available bandwidth hides much of the extra CF chatter and lets the CF's pull ahead on buffered and linear read tests. But on slower ATA transfer modes that are bandwidth limited, it's not uncommon to see a physical disk that supports block mode pull head in buffered and linear read tests because it's transferring more efficiently with less back and forth chatter. CF's almost always win on track seeks & random access by such a large degree that they usually "feel" faster in windows even if they fall behind on linear read tests in some cases because of a lack of block transfers > 1.
ux-3 wrote on 2024-06-23, 12:20:I have disabled UltraDMA in bios to get DMA in windows for my CF cards. […]
I have disabled UltraDMA in bios to get DMA in windows for my CF cards.
My bios also offers the three following options which I don't know how to set best for CF cards.
IDE Burst Mode
IDE Data Port Post Write
IDE HDD Block modeAny idea how to set these to improve performance?
UDMA it is much faster than WDMA and should be the goal if your drive and controller both support it. Use an 80 conductor IDE cable if you can.
The transfer mode that is used by your device is an interplay between the controller, the driver, and the storage devices. In DOS, your BIOS is the default driver. In Win9x, ideally your protected mode driver can pick up from the BIOS and using the power of newer programming, even select a faster mode when possible. But there are certainly cases where that hand off isn't smooth, and the windows driver falls back to a slower mode, or is unable to take over from the BIOS at all and your system goes into the dreaded compatibility mode.
I don't have any magic advice for fixing a UDMA issue other than upgrade your bios, look for a newer Win9x device driver, buy a 3rd party IDE controller, or try a different storage device.