A well-known characteristic of CompactFlash cards is that they do such things as write-leveling and caching to boost performance and longevity.

These characteristics make them fairly poor choices as an SSD replacement (using a SATA adapter, or on an embedded board that takes them directly) because even if they report to the OS that a write has completed, they may still be busy.

Nevertheless, some embedded manufacturers still use CF cards as the means for primary storage. In particular, the Alix series of boards do this.

If write-caching is disabled using hdparm, will a CF card still do its own caching and such, or will I have guaranteed writes? Is there any way to guarantee a write has completed? Write-mounted journaled file systems rely on an underlying guarantee of writes completed when they say so, and so suffer routine corruption on CF devices in my experience in environments where the machine is power-cycled routinely.

  • Can you show an example or proof that CF cards actually do write caching? All cards that I've used in the past always blocked the write process until it was actually written. Write caching would mean that the card has an onboard RAM cache, which is hard to fit onto such a small space. – Stefan Seidel Sep 13 '12 at 11:09
  • agreed, years of using Alix with ext3 no swap and a couple of tweaks and never got a problem... – Pat Oct 9 '12 at 22:28
  • I've had repeated failures on rw mounted cards. My devices power cycle 10-15 times a day though. Disk caching might be done by the OS, not the card, but still cannot be reliably disabled. – David Pfeffer Oct 10 '12 at 11:54

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Browse other questions tagged or ask your own question.