A cheap SSD from a compact flash card

Addonics makes a nifty adapter called the AD44MIDE2CF, which converts one or two compact flash (CF) cards into one or two IDE drives (one card is the master drive, the second is the slave). Compact Flash is interesting because it is essentially the same ATA spec as a normal PATA IDE hard drive, just with a different pin layout and much smaller form factor. So really all this thing is is a pin adapter, not much tech to it. What is particular nifty about the Addonics adapter is that it is designed with the same shape as a normal 2.5″ hard drive would be, with the IDE pins coming out of the back so to speak, instead of out the top like most adapters do. Here is a picture comparing the original 2.5″ IDE drive, and the adapter with two CF cards in it:

Addonics AD44MIDE2CF compared to Toshiba 2.5

This means you can toss a CF card or two in it, and then plug it into your laptop/tablet/SSF PC in the same place your hard drive was. This is what I did for my Fujitsu Stylistic LT C-500, after cloning the Ubuntu install to a CF card.

The CF card I used is a Transcend TS8GCF133 8 GB “133x” card. It does udma 2/3/4, the Fujitsu only goes up to udma2, which is ATA-33. When testing the card in an old Athlon computer I have it was detected as udma4, or ATA-66.

To clone the drive, I yanked the drive out of the tablet, attached it to a 2.5″ to 3.5″ IDE converter and put it as the secondary master in an Athlon-based desktop running Ubuntu. After booting the system I dumped the filesystem:

dump -M -B 4000000 -0 -f /home/jpimble/japitablet.dump /dev/hdc1

If you have multiple filesystem partitions you will want to dump those to different files. You don’t have to dump the swap partition.

After that completed, I shut the computer down, and attached the CF card in it’s adapter in the place of the 2.5″ HD from the tablet. I then created a new partition table on the CF card using fdisk, mimicing the structure of the old drive (primary-1 (hdc1) was the root FS, logical-1 (hdc5) was a swap partition). After that was complete, it was time to restore the OS, this is done with these steps:

mkfs.ext3 /dev/hdc1
mount /dev/hdc1 /mnt
cd /mnt
restore -rf /home/jpimble/japitablet.dump

After that completes you have an OS but no boot loader. This is easy to fix with KNOPPIX. Shut the workstation down, move the CF card to be the primary-master drive, boot the KNOPPIX CD, then issue these commands:

sudo mount -o dev /mnt/hda1
sudo chroot /mnt/hda1 grub-install /dev/hda

If you get errors about /dev/hda or /dev/hda1 not existing, create them using mknod, and try again:

sudo chroot /mnt/hda1
mknod /dev/hda b 3 0
mknod /dev/hda1 b 3 1
grub-install /dev/hda
exit

I had a problem after doing this where Ubuntu was referencing the filesystem by UUID instead of device name. This process changed the UUID apparently (the root FS was not found at boot), so I had to edit /etc/fstab and /boot/grub/menu.lst to reference /dev/sda1 instead of UUID=really-long-hex-string.

After all of that, this is what the drive looks like inside the tablet:

CF SSD inside LT C-500

The first thing I noticed as it was booting up was how much quieter it was. It was actually silent, no fans had spun up, the unit was completely silent which is kinda weird when you are used to working with noisy computers. The only other completely-quiet machine I have is my network boot kitchen computer, but with that the monitor gives off a quiet high-pitched hum so it isn’t really completely silent.

Obviously since the system booted the primary-master drive was detected, and after boot I could see that the primary-slave drive was also detected, so both sockets on the adapter work, and the Fujitsu has no problem detecting/using them both.

Boot time of the tablet was not noticeably faster, later testing indicated that it was about 10% faster, taking 88 seconds instead of 96 seconds in my highly inaccurate testing. Power consumption, measured at the wall dropped from 15 watts to about 13-14 watts, a decent improvement. Bonnie++ numbers comparing the hard drive and the CF drive show block writes got much slower, going from about 8.3 megabytes/second on the hard drive to 5.9 MB/second on the CF card. CF is apparently not a very fast write media. Block read times however went from 9.2 MB/second on the hard drive to a respectable 23 MB/second on the CF card. So, if you are predominately doing reads, and you are using an ancient hard drive now, a CF card can be faster for block transfers. A modern, large drive is going to be faster then CF card for reads, and much much faster for writes. The CF card is much better for seeks though, scoring 305.5 seeks per second, compared to just 89.4 seeks per second that the hard drive could manage. This should make regular usage faster, since you are generally reading a bunch of small files scattered over the file system, not doing bulk reads/writes.

It is worth noting that a CF card is probably not of the same reliability as a commercial solid state disk (SSD). Flash media has a limited number of write cycles it can go through, generally about 100000 per bit. But the flash controllers generally do “wear leveling”, shuffling the writes around logically in the flash to prevent you from burning out one bit, but still having 64 billion other bits that have only been written once. Given the slow write times of the flash, it would take an awfully long time to even half-destroy the memory for a 8 GB card:

8192 MB / 5.9 MB/sec = 1389 seconds to write the entire card once.

1389 seconds times 50000 writes = 69450000 seconds = 803 days of non-stop writing to half-destroy the card.

But, to minimize unneeded writes you should mount the file system “noatime”, to prevent the updating of last-access times each time a file is read. This will also have the nice side effect of improving system performance considering how slow those writes are on the media.

In conclusion, a CF card can act as a SSD, it is just not too fast at writes but has decent read performance and great seek times thank to not having to move a mechanical head. It also does not need to spin up, which should make for less delays in real-world use where the drive would normally be spun down aggressively to conserve battery life. It also has the benefit of being silent and consuming less power. How much less exactly is something to be seen later.

The Addonics AD44MIDE2CF is available at Directron for about $25. The Transcend TS8GCF133 8GB CF card is available at NewEgg.com for about $39.

Leave a Comment