CompactFlash (often abbreviated CF) is a pin-for-pin IDE compatible technology that can be used in retro PC setups. However, CF cards are not all the same.

NAND Flash Types

NAND memory uses cells to store data. Cells are the smallest individually addressable unit of memory. There are multiple types of NAND flash memory. I will be covering SLC and MLC here, which are most commonly found. For a more in-depth article on the differences, check out this Solid State Buyer's Guide from Tom's Guide. (It's from 2009, and the manufacturing processes that drive this technology have gotten a little better since, but it still describes the technology itself in a correct and detailed manner.)

SLC (Single Layer Cell)

SLC is the more basic of the two cell types. Each cell corresponds to exactly one bit of data, which can be individually accessed and turned on or off. Due to the greater density of circuitry required in order to achieve this precision, this type of flash memory tends to be noticeably more expensive when compared among similar capacity cards.

SLC tends to last longer, be more reliable, and perform better in throughput tests than its MLC counterpart. Industrial CF cards will often (but not always) feature SLC flash memory.

MLC (Multi Layer Cell)

MLC is the more common of the two cell types. Each cell corresponds to two or more bits of data. Reading data from MLC flash memory is at best no more reliable than with SLC, and often less so. It also tends to be slightly slower for read access and much slower for write access due to needing to access greater portions of the memory at once in order to perform operations.

MLC tends to be more readily available and is priced far more favorably than its SLC counterpart. Consumer CF cards are almost always MLC.

CF Types

In addition to differences in flash memory type, there's a distinction between consumer and industrial CF cards that may make a difference depending on the operating system that is being used. Even though CF cards can be connected to an IDE header on the board using a simple adapter, some of their properties can still be discerned.

There is a bit which is set or cleared depending if the CF card reports itself as a removable disk or a fixed disk.

On MS-DOS, Windows 95, Windows 98 and Windows Me, a CF card will always appear as a fixed disk. The operating system does not make a distinction.

On Windows 2000 and later, industrial CF cards will appear as fixed disks and consumer CF cards will appear as removable disks. This changes the way in which the operating system treats file access. It also determines eligibility for disk defragmentation.

Some operating systems will refuse to be installed on a removable disk altogether.

Which To Get?

There's a huge supply of CF cards out there. Most of the reasonably priced ones by this point are used. It's not feasible to get industrial CF cards from consumer retailers; they're generally only available second-hand from auction sites or through industrial electronics suppliers. I'm going to list a few I've used here.

Lexar Professional 1066x 128GB

These cards show up as removable disks. I'm unsure what 'Professional' is supposed to signify here. They have decent throughput, although when you start to do a lot of reads and writes in close proximity - copying a file, for example - the transfer rate begins to drop drastically. I don't imagine rapid R/W is a typical use case for these, though. It's probably the fastest of the consumer CF cards I've got, and the read speed is actually quite good. I've had a couple errors crop up while using it heavily though, which is what prompted me to look into industrial CF cards in the first place. (I don't know for certain that this was a problem with the card.) The card I got cost about $100, though the capacity is something I discovered later I did not need so much of.

SanDisk Extreme IV 4GB

This line is a bit older, introduced in 2006. These cards show up as removable disks. SanDisk advertises these to have a 40MB/sec transfer rate. But it took over two hours to install Windows 98SE on one of these. It was probably great for cameras of the time, but absolutely not good for installing an operating system. Lesson: don't buy cheap just because it's cheap. What's wild is this thing cost $319 on release. I got them for about $5/ea.

Transcend Industrial CF170 16GB

This is a very solid choice for retro computing. I split this card up into a few partitions roughly 4GB in size. Formatting is fast. I have had no issues installing a mix of Windows 98SE, Windows 2000 and even Windows XP on it. It cost $35 from an auction site. A bit more than I would have liked to spend for a CF card, but it's lasted for 3 years now under constant use without a single hiccup.

Transcend Industrial CF300 4GB

Probably the fastest still-reliable CF card I own. Like the Transcend CF170 above, formatting is extremely fast and I have not experienced corruption or errors. They've also got a pretty rainbow holographic sticker which makes the card even faster [Ed: citation needed]. This is what I currently use in all my CF setups. I was able to get these for about $17/ea. It's not much space for Windows games - I use a network share for that. MS-DOS games on the other hand don't require much to begin with.

Western Digital SiliconDrive SSD-C04G-3500 4GB

This came on recommendation from a friend on Twitter. I picked up a couple of these and found them to be rock stable. They were slow to format which made me a little nervous at first. But after formatting, reading and writing were plenty fast. I would say this card is my second choice after the Transcend Industrial CF cards listed above.

Closing

Overall, CompactFlash has been a better experience than dealing with IDE spinning disks. That said, it's also quite a bit more complex to navigate, and quality CF cards are harder to get than quality IDE compatible disk drives. I'd also argue that a good spinning disk is more likely to be reliable than one of these- although I have not had any of my CF cards fail on me, it's only been about 3-4 years of alternating use. Time will tell.

I'll update this article with more of what I find, and maybe some actual benchmarks if I get around to it.