Compact Flash Drives and BIOS settings

Compact Flashes are supposed to be but are not created equal.Years ago SanDisk wrote the specification for the Compact Flash form factor, the IDE compatibility, and other features of the standard.

Compact Flashes are supposed to be but are not created equal.

Years ago SanDisk wrote the specification for the Compact Flash form factor, the IDE compatibility, and other features of the standard. One of the specifications was the ability to boot up at least from a FAT formatted volume on the flash. Since then they have become excellent storage media for embedded computers and dedicated special purpose systems.

I've written elsewhere on this site about Compact Flashes used as IDE/PATA hard drive substitutes. Some experiments or at the very least let's call it experiences have given me some heartburn because the CF standard, although fairly specific, may have some holes. Or at least some manufacturers aren't keeping close tabs on how their systems are performing at the IDE interface. That goes for both the board manufacturers and the CF manufacturers.

Some of the most recent Compact Flashes when combined with industrial single board computers (SBC) can display some issues. The latest industrial compact flashes are much faster than their predecessors. Current ones are comparable to ATA33 or ATA66 speed for a standard hard drive. Differences in timing between the Compact Flash and the IDE interface seem to cause problems most frequently when the BIOS is in control of the UDMA capabilities programmed into most CPU boards. That's usually the “Auto” mode for the IDE port BIOS parameters.

The symptoms on a couple SBC's was that the system would get through the 16 bit portion of the boot up (Windows Flag logo – ntldr) and during the hand-off to the 32 bit portion (blue desktop, no mouse cursor - ntkernal) it would throw out a BSOD with a stop code of 7B.

Similar issues have been experienced before by OEMs with standard 3 1/2” format hard drives at various times.

I haven't had time yet to try out the new high speed CF's with any of the standard Linux distributions. The trick with Windows XP Embedded is to turn the UDMA off before the new system image goes through its initial configuration boot-up with a newly compiled operating system image. UDMA is then turned on before the next boot-up. The CF seems to work fine but the read speed is slower than it is in later versions of the same SBC. The older slower versions of the board will boot to the Windows desktop in 45 seconds and the newer and faster versions of the board will boot in 35 seconds.

I would expect similar performance with Linux but we'll see.

Newsletters

You have been successfully signed up. To sign up for more newsletters or to manage your account, visit the Newsletter Subscription Center.
See All
See All