Compact Flash or SSD for your boot disk?

When you build a Network Attached Storage device or any other sort of computer, flash memory will give you a faster start up time and speed up some subsequent activities. Should you use a Compact Flash (CF) card for the boot disk, as suggested in many articles, or use a Solid State Disk (SSD)?

Speed

You can read the fastest SSD several times faster than the fastest CF card. You can write to the fastest SSD many times faster than the fastest CF card.

A small boot disk will read quickly because there is not much to read. Read speed becomes important when you start applications from the same disk and the applications read endless configuration files from the same disk. A magnetic disk can read data a little bit faster than a typical CF card but the CF card saves time because there is no seek delay. The magnetic disk seek delay really shows up when your system is jumping all over a disk looking for thousands of little configuration cards. Both CF and SSD save time when you include more than the basic boot code on your boot disk.

A boot disk should be read once then not used after that, making the write speed less important. The boot code will be only a couple of gigabytes then you need page files and work spaces. If you include those temporary files on the boot disk, you need the speed of an SSD.

Size

You can boot Linux from less than a gigabyte. Any extra space is required for applications and their data. A 4 GB CF or SSD could start up a NAS or Web server. An 8 GB device could start a desktop computer with a whole range of office applications. Your page file might be 4 GB. Your user data would then be on separate magnetic disks.

The slow write speeds of a CF card would work for the 4 GB or 8 GB of code then have your page and temporary files on the magnetic disk. The 32 GB size of an entry level SSD coupled with the faster write speed would work well for the code plus the page file plus some temporary files.

I use a 64 GB SSD for desktops to allow for expansion and the fact that they fit in a really nice price range. 32 GB cards are cheaper but significantly slower.

Reliability

Good CF cards are reliable but they are designed to survive only fifty or one hundred thousand writes, a number that is huge when used in digital cameras. You will not boot your computer that many times so a CF card should survive.

Now think about a boot disk that also contains a page file or Firefox configuration files or access update recording as used in Linux Ext 3. One file might be updated every couple of seconds. That is 1800 times per hour or 14400 times across a typical eight hour day. You hit one hundred thousand writes in just 7 days. My one test of a CF card as the boot disk of a Linux desktop made sure the page file and everything else was off the boot disk but I forgot the access time setting and some small system configuration files. The system died within two weeks.

What does SSD do differently? An SSD can survive a million or more writes in any one spot. SSD includes a controller chip to move writes around. Not many writes hit the same spot even if they are to the same record in the same file. As a result the best SSD devices claim reliability greater than magnetic disks.

SSD increases in reliability when you have lots of spare space because writes are spread over a larger area. If you were to put 30 GB on a 32 GB SSD then updates would spread over 2 GB. The same 30 GB of data on a 64 GB SSD would spread the updates over 34 GB or sixteen times more space and potentially last sixteen times longer.

Given the price drop and speed increase in the middle of the SSD size range, you are often better off stepping up from a small SSD to a medium SSD for desktop computers and servers. A completely dedicated server, a NAS server configured with all updates off the boot disk, will benefit more from the cost savings of a CF card. Print servers and some other applications are in the middle because you can use a small CF card for just the boot partition or you can buy a large SSD and use all that extra space for temporary print files.

Linux Ext3 file system

The Linux Ext3 file system has some weird options you do not normally see when installing Linux. One is the option to update files and directories with date date and time of last access. Updating the access time on a boot disk is stupid because everything is accessed once every boot and the updating kills the boot speed. Switch off the update for everything on your boot disk no matter what type of boot disk you use.

Ease of use

An SSD plugs in like a disk and is only a problem when you run out of slots for disks or SATA connections. SSD fits in the empty floppy disk drive slot in older computers. SSD is almost always easier for everything except rack mount computers where disk slots are always in short supply.

CF cards require a socket that usually replaces the old floppy disk disk drive and may contain extra sockets for other memory cards and USB connections. Lots of CF cards disappear from office computers late at night. You might want to use a computer with a lockable door or use an internal CF drive. Internal CF drives cost a lot of money compared to their manufacturing cost, can be time consuming to install, and their price difference makes the lower cost SSDs comparable to the better CF cards.

Conclusion

SSD is easier to use, faster, more reliable, and costs more but the extra cost disappears when you also use the boot drive for paging, temporary files, and a lot of other things you cannot safely use on CF cards.