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.


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.

  • I'm averse to putting any OS on flash memory, save for SSDs, because of the limited lifespan. That said, you may be happy with the CF via CardBus, as you suggest.
    – user3463
    Jan 11 '11 at 8:04
  • I don't plan putting /tmp, /var/log or /home on it and will use btrfs so I think it won't really have problems with limited lifespan. Jan 11 '11 at 15:04

Hubert, good summary of the various options. What did you ultimately go with?

One user says that the SuperTalent SR32C7MME is a true mini-PCIe card, not mSATA. If that's true, its claimed 350/80 MB/s read/write write speeds should make it the best choice: http://communities.intel.com/message/143517#143517

As you note, what definitely won't work are the mSATA cards. They physically fit in a latop's mini-PCIe slot, but use a different protocol, which only some very new laptops support.

At first I thought using the laptop's "PC Card" (PCMCIA) slot would make the most sense, but very few SSDs are made in the CardBus form factor, they're all fairly small and expensive, it's not clear whether a CardBus SSD will even work correctly in an adapter in a PC Card slot.

The newer SDXC cards, although not that fast, might still be a good choice, if they actually work in your laptop's SD slot. It sounds like they might not. As you point out, a Compact Flash card in the PC Card should work, but I haven't tried that either.

Hardware examples of each of the above (this stupid website will not let me post actual links to the products, so you'll have to google):

  • $116, 32 GB SuperTalent SR32C7MME:
  • $180, Intel 310 Series 80GB mSATA Enterprise Solid State Disk SSDMAEMC080G2C1 (will not work):
  • $230, Wintec FileMate 96GB 3FMS4D096JM-R:
  • $78, Wintec FileMate 64GB Secure Digital Extended Capacity (SDXC) Model 3FMSD64GBXC-R:
  • $160, Transcend 64GB Compact Flash 400X Model TS64GCF400:
  • Thanks for the info! I'll probably try one of them when I have some spare cash as all the others have failed. I've added answer with details. SDXC should work as the X61s card slot is a real card slot, not a SD-to-USB adapter, so the SD protocol is used by the OS, not hardware. I have doubts about performance though... Dec 19 '11 at 11:00

I've currently explored 4 out of 5 options:

SATA-ATA caddy: flaky at best (I couldn't buy genuine IBM one, maybe they are better)

SDHC: crappy performance even with Sandisk Extreme HD Video (30MiB/s, Class 10) cards, after installing system on it, few package upgrades later I could barely get 1MiB/s write speed out of it. It looks like they are really optimised for streaming camera writes. After formatting in EOS 400D, it was back to its quoted performance. To make suspend work I would need to recompile kernel.

PCMCIA: computer was completely unusable when there was any kind of communication with the card. I mean a downgrade to a 200MHz first gen Pentium. Pathetic performance, of about 500-700KiB/s write to a clean card.

CardBus: (Using Pretec/Lexar adapter, the only one with any drivers for Linux), the driver supports only PIO mode 1 so the performance is appealing: 1-2MiB/s write to a clean card. This time I used Sandisk Extreme (60MiB/s UDMA). I haven't tried suspend, but I'm afraid it would require kernel recompilation too.

USB is out because of the form factor.

The only unexplored alternative is a miniPCIe SSD...

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.