Poor man’s SSD: Confusion and disappointment

I don’t know whether I should be embarrassed, worried or amused. For the greater part of a year I’ve been pushing CF cards as a method of rehabilitating out-of-date hardware.

They’re cheaper than full-size drives, vastly cheaper than SSDs, and in all the time I’ve used mine I haven’t had a single error.

Technically I still haven’t had a problem. But I realize now, that until yesterday, I had never put a CF card into a “new” machine.

In fact, the fastest machine I’d ever used one in … topped out at about 150Mhz. 😳

So you can probably imagine my confusion and disappointment when I put one in a 2.2Ghz Celeron, and wondered why in the heck it was taking so long to do its thing.

Yes, it’s sad but true: It appears that my savior for sub-200Mhz machines is the bane of the supra-1Ghz bracket. I should’ve guessed.

I say I should’ve guessed because I knew full well that the bottleneck on a system running with the card and the adapter is the connecting IO hardware.

In other words, the card works so well with old-old computers because the computer itself can barely keep up with the card.

Reverse the situation — put the card in a fast machine — and suddenly it’s the card that’s holding things up.

Write cycles were particularly bad; I could probably live with an installed system so long as I didn’t have to save a lot of stuff all the time.

And to be honest, I could probably see myself using one in much the same way I do already — with a built system that I turn on once a day, answer some e-mails, and never do much more than that.

But anything that needs heavy disk access — torrent slave, low-memory system — would be a nightmare. Brr, I shudder at the thought.

Tell me if your setup is working better for you. For me, this is a backup solution at best, and my “supra-1Ghz” comment above is really just a ballpark estimate.

If you’ve actually got something comparable in a 1.7Ghz machine and it’s working well for you with a CF card in it, I’ll assume the best, and figure the error is on my end.

Which it usually is. This time too, it seems. 😳

24 thoughts on “Poor man’s SSD: Confusion and disappointment

  1. knopwob

    Hi,

    I’m using a cf-card in my thinkpad x40 (1,2Ghz, 1,5GB ram)as my root partition (The original harddrive died and it’s almost impossible to find a replacement harddrive for the X40 series, because they use a unique form for the harddrives, stupid stupid stupid).
    I’m running this setup for almost a year now and i can’t complain. You can’t expect a speed wonder from this, but it’s very usable with a lightweight setup (archlinux + ratpoison + a lightweight browser. Firefox takes ages to start but opera or chromium are working fine). At the beginning I had a 8Gb cf-card in a raid 0 with a 8gb sd-card in the card-reader, but the sd-card was slowing everything down. And that setup just felt too risky 🙂

    If you’re interested I can do some performance tests later this day (don’t have much time at the moment).

    I would say it’s comparable to the first acer aspire ones with their 8Gb ssds.

    Reply
    1. K.Mandla Post author

      Perhaps I’ll try it again. I literally installed Arch Linux twice to a CF and was tapping my toes, waiting for it to cache to the card. It’s possible I need to adjust a BIOS setting or something, but it was taking considerably longer to write the CF than it did to write to a 4200rpm hard drive.

      In any case, I’m glad to hear it’s not a problem for you. I’ll give it another go. … 😐

      Reply
  2. knopwob

    Have you tried a different cf card? I don’t know how much the speed varies with the quality of the card.
    Oh and i Forgot to mention that I compress my /usr following this how to https://wiki.archlinux.org/index.php/Maximizing_Performance#Compressing_.2Fusr

    It doesn’t help with writing speed but reading is notacibly faster and it saves me almost 1,5GB of space. Which is a lot when you only have 8Gb available.
    Just a note to save you from headache: I’ve you compress your /usr like mentioned above, make sure you wait for the update of auf2 hitting the repo when there’s a kernel update^^.
    Otherwise you can’t mount your /usr after the next reboot 😉

    Reply
  3. evidex

    I’ve a CF card in my 1.7Ghz Toshiba Tecra.
    http://linuxexpresso.wordpress.com/hardware/#Tecra

    It’s worked great for me, and has been much faster than the 30GB Toshiba harddrive. I’d imagine your problems could be attributed somewhat to the card you’re using. In my experience, CF card vary hugely in speed, in the same way USB drives do. I used a good 8GB Kingston card, and I’ve had no problems 🙂

    Copy Cat

    Reply
  4. knopwob

    I just made a small test:

    dd if=/dev/zero of=testfile bs=1024 count=1000000
    gives me a writing speed of 10.8 MB/s

    and dd if=1GB_File of=/dev/null (after reboot, so nothing is cached)
    gives me a reading speed of 28.6 MB/s

    I don’t know, how much these values say about realworld usage though. The filesystem is ext2.
    It’s a “SanDisk Ultra II 15Mb/s 8GB” which I bought for about 15 euros (about 22 us dollar)

    Let me know if there’s anything else, that could be interesting.

    Reply
  5. demonicmaniac

    I’ve been using a 133x Kingston Elite 16GB for like 25 Euros in my 600E for about a year now and it’s been miles better than the previous 4200rpm IDE, but in that case the ata33 on the notebook limits transfers to 30mb/s anyhow. R/W is like 25/20 which is ok.
    In a 1.8 machine a decent CF Card will still be considerably faster than the clunky 4200er mechanic…
    An alternative i’m about to explore is kingspec. They’ve got 90/50 r/w 2.5 ide SSDs, 16gb for 50 euros and 32gb for 70 euros. access times are ok, sequential is ok, just random write is a bit disappointing.
    But for that price when figuring in the CF adapter it’s hard to beat

    Reply
  6. Pingback: Links 30/4/2011: Systemd and a Lot of Ubuntu Coverage | Techrights

  7. mulenmar

    I have these entries in my fstab specifically to avoid as much writing to the CF card as possible — if the code tags don’t work, please feel free to remove/fix them! 🙂

    # Mount often-written directories in memory to avoid CF card wear
    tmpfs		/tmp		tmpfs	noatime,nosuid		0	0
    tmpfs		/var/log	tmpfs	noatime			0	0
    tmpfs		/var/run	tmpfs	noatime			0	0
    tmpfs		/var/lock	tmpfs	noatime			0	0
    tmpfs		/var/tmp	tmpfs	noatime			0	0

    I also disable the disk cache for Firefox AND set it to zero — I perceived a difference even with the disk cache already disabled.

    Finally (of what I can recall off-hand), I use hdparm to force-enable write caching, which doesn’t seem to be enabled by default on CF cards — they’re removable when not used in IDE adapters, so this is a wise default.

    The command to enable it is:

    sudo hdparm -W 1 /dev/sdX

    Where, of course, X is replaced by the assigned label of the CF card drive.

    These tweaks all Work happily with a medium-weight Debian setup on a 600MHz-1.6GHz Pentium M laptop . . . still have occasional writes out to disk that spike CPU usage, but it works much better than without these tweaks.

    Reply
    1. Bill Frankenhopper

      two thoughts on this:

      – it could be worthwile to disable logging altogether. I mean, how often goes something wrong and how often do you peruse log files anyway? Furthermore, if something really goes wrong and isn’t fixed by rebooting 😉 you could then always re-enable logging and go bug hunting.

      – you could also put the browser cache into memory. Saves some bandwidth and improves your ‘browsing experience’… 😉

      Reply
      1. mulenmar

        The browser has an in-memory cache, and this laptop has only 512 MiB of memory, so that’s as good as I know how to get it.

        As for disabling the logs, that requires hunting down everything that generates a log, and I haven’t been successful in that yet. Until I get around to finishing that, forcing them all to write to memory instead of the CF card seems to be good enough.

        Reply
  8. George Thomas

    I have dual 8GB CF connected through the IDE bus in a Dell Precision M60 notebook. The results are less than spectacular.

    The write cache on these things are in the 1-4 kB range, so you see a high percentage of “Wa” in ‘top’. If there were a bigger write cache on the devices, I am sure they would work better as a general purpose hard drive.

    The kernel is booted with “elevator=noop”, disks mounted with “noatime”, but I was unable to do much with ‘hdparm’ to attempt to control cache. Moving and disabling cache for browsers helped some, as did putting tmp and var/log onto tmpfs mount points (2 GB RAM has lots to spare).

    I’d like to move to a compressed file system that reads from CF on boot, caches all changes in RAM, then commits changes back to the CF during shutdown. I just haven’t put in the effort to follow up on the few articles on the web to set this up.

    Reply
  9. ancientforest

    I have a 400x speed Transcend card in my 1 GHz ThinkPad. It easily saturates the buss. Cheers.

    Reply
  10. tidux

    I’d recommend SDHC cards with a decent filesystem on them (ext3 or jfs – ext2 if you have a crappy card and want to preserve write cycles) for more modern systems. They come in sizes up to 32GB, and you can always swap them out like system floppies back in the dark ages if you want to try a different OS. Linux on one card, Haiku on a second, FreeDOS on a 1B FAT32 card if you need to do BIOS hackery, etc. Sort of GRUB version -1.

    Reply
  11. Jose Catre-Vandis

    Got fed up with the noise from my 4GB Fujitsu HDD in my ageing Dell Cpt 333GT Latitude I bit the bullet and bought a cf adapter and an 8 gb cf card. The card hasn’t arrived yet, so I threw a 256mb cf card in that I have in my ancient Kodak camera

    Booted up Slitaz cooking 3, formatted with gparted and installed slitaz

    Rebooted, and oh the silence. Its quick of course as Slitaz is running from ram, when the new card comes I’ll try out my xubuntu respin (1.5gb installed)

    Thanks for the tips

    Reply

Leave a reply to ancientforest Cancel reply