Using different SSDs types (not only SATA based) as system drive
- by Hubert Kario
Currently I have a Thinkpad X61s and want to make it both a bit faster and a bit more power efficient.
For that reason I thought that adding SSD drive would make most sense. Unfortunately, because of financial reasons, buying SSD of over 200GB capacity is out of reach for me (not only it would be worth more than the rest of the laptop, but also I currently have a 500GB drive in it, so even such a drive would be kind of a downgrade for me).
During preliminary testing with a cheap Transcend 4GB Class 6 (14MiB/s streaming, 9MiB/s random read) card I experienced boot times to be reduced by half so putting the OS only on it would already would be an improvement. Unfortunately, my system now is about 11GiB in size so anything less than 16GB would be constraining.
In this laptop I can connect additional drives on at least 5 different ways:
using SATA-ATA converter caddy in the X6 Ultrabase
using internal mini PCIe slot
using integrated SDHC slot
using CardBus (a.k.a PCMCIA or PC Card) slot
using USB
Thankfully, because I use only Linux on this PC the bootability of them is irrelevant as I can put the /boot partition on internal HDD and / on any of the above mentioned Flash memories (as I already did for the SDHC test).
From what I was able to research and from my own experience those options come with rather big downsides or other problems:
SATA-ATA caddy
It has three downsides:
I have to carry the Ultrabse with me at all times (it's not really inconvenient, but those grams do add) and couldn't disconnect it when I want to disconnect the battery
It makes the bay unusable for the optical drive and occasional quick access to other hard drives
the only caddies I could buy have rather flaky controllers in them so putting my OS on it would hamper its stability
Internal mini PCIe slot
This would be an ideal solution, if only I could find real PCIe SSDs, not only devices that could talk only SATA or ATA over PCIe mechanical connection (the ones used in Dell Mini or Asus EEE).
Theoretically Samsung did release such devices but I couldn't find them in retail anywhere.
Integrated SDHC slot
It's a nice solution with a single drawback: the fastest 16GB SDHC card on the market can only do around 35MiB/s read and 15MiB/s write while still costing like a normal 40GB SATA SSD that's 10 times faster. Not really cost-effective.
CardBus (a.k.a PCMCIA or PC Card) slot
Those cards are much faster than the SDHC option (there are ones that can do well over 50MiB/s read in benchmarks) and from what I could find the PCMCIA controller in my laptop does support UDMA so it should be able to deliver comparable speeds.
They still cost similarly to SD cards but at least they provide streaming performance comparable to my current HDD.
USB
That's the worst option. Not only is it limited to 20-30MiB/s by the interface itself the drive would stick out of the laptop so it's a big no no.
The question
As such I think that going the "CF in a CardBus adapter" route will be the best option. My question is: did anyone try using CF cards in CardBus adapters as system drives with Linux on Thinkpad laptops? Laptops in general? What was the real-world performance?
I don't have any CF cards so I can't check how well does it work with suspend/resume, or whatever it's easy to make it work in initramfs (I'm using ArchLinux and SD card was trivial — add 3 modules in single config line and rebuilding initramfs) so any tips/gotchas on this are welcome as well.