VME Systems CF-IDE CompactFlash IDE adapter

Review date: 19 September 2000.
Last modified 03-Dec-2011.

 

Solid state drives (SSDs) are all-electronic non-volatile data storage, with no moving parts. They sound like a brilliant idea. By using memory chips instead of magnetic platters, you get lots of advantages.

Greater speed, for a start. "Seek time" is virtually nonexistent when there's no physical read/write head assembly that has to move around, and no rotating platter that makes the head assembly wait until the right bit of disk has spun under it.

And RAM can also deliver data, once it's found it, a lot faster than hard disk. A modest PC these days has a RAM subsystem good for a genuine sustained transfer rate in excess of 400 megabytes per second; the very fastest hard drives are just pushing a tenth of that figure. SSD transfer rates are limited only by the speed of the bus to which they're connected.

You get better data integrity from solid state storage, too. You can drop it, you can kick it, you can expose it to magnetic fields and temperature extremes and vibration and dirt and dust. A cosmic ray might manage to destroy your data, and RAM cells can and do fail now and then, but magnetic storage is much less tolerant of disrespect.

Solid state also consumes less power. It varies depending on the flavour of memory used, but solid state can use as little as 5% of the power needed to run a normal hard drive, and without any time-eating spin-down and spin-up power saving routines.

So why aren't we all using solid state drives?

Because they're awesomely, terrifyingly, bowel-looseningly expensive, that's why.

Solid state drives like most of Quantum's Rushmore series are, essentially, an X megabyte disk drive with an X megabyte RAM buffer, which prevents the disk having to serve any requests at all unless something's gone wrong.

The Rushmores use ordinary "volatile" RAM chips, pretty much like those used for plain system memory. If this RAM loses power, all of the data gets dropped on the floor.

So the drives have internal batteries.

If a power outage lasts long enough that the drive's worried about running out of battery power, it fires up its magnetic drive and dumps the memory contents to it.

There are also a couple of "Volatile Series" Rushmores, without the drive and batteries, for people who want to deal with the volatility issue some other way, like simply building their own small nuclear reactor.

When Quantum first launched the Rushmore series in 1997, the 134Mb base model drive had a list price of a mere $US6,750. Nowadays, these smaller Rushmores are still comfortably more than $US20 per megabyte.

Ordinary IDE drives are now dipping below one US cent per megabyte.

The current biggest Rushmore, the RU5320, is a 3.2 gigabyte unit. I suggest that those of weak constitution not even contemplate how much it costs.

Yikes!

But there's an alternative. Memory cards.

Digital cameras, MP3 players, palmtop computers - lots of things use memory cards now. And all of the popular memory card formats use "Flash RAM", non-volatile memory that doesn't need backup power to retain its contents.

One kind of memory card is more interesting than the others, from the point of view of someone looking for solid state storage on the (relative) cheap. CompactFlash.

Memory cards compared

That's a CompactFlash card in the middle. On the left, a Solid State Floppy Disk Card (SSFDC, mercifully usually referred to as "SmartMedia"). On the right, a Sony Memory Stick. There's also the teeny MultiMediaCard, not shown in this picture but even smaller, and gaining popularity.

The Type 1 CompactFlash Card is, at 43mm (1.7") by 36mm (1.4") by 3.3mm (0.13"), a bit of a fatty compared with SmartMedia and MultiMediaCard, but it's got a couple of attributes that make it rather interesting from a SSD point of view.

One, you can get it in big capacities, by memory card standards. You can get 192Mb Type 1 CompactFlash cards over the counter, right now.

And two, CompactFlash memory cards can behave like an ordinary IDE (ATA) disk drive. Just like other ATA devices, they have a controller on board, and all you really need to be able to plug them into an ordinary computer's IDE connector is an adapter board.

Like the CF-IDE made by Australian outfit VME Systems, for instance.

Ready to go!

Here one is, with CompactFlash card and IDE cable connected. Just plug in the standard four pin Molex power connector as well and you've got yourself an SSD.

What you get

CF-IDE

My review CF-IDE came from VME in bubble-wrap, without so much as a page of documentation. Fair enough; if you're ordering one of these things, you're expected to know how to plug in an IDE device.

If you were wondering whether CompactFlash cards really could work as plain old IDE devices, this adapter ought to put your doubts to rest. The thing's just, essentially, a pin converter. 40 pin IDE connector on one side, standard pushbutton-eject CompactFlash socket on the other, power connector hanging off on a wire. It doesn't even have an activity light.

It's only a CompactFlash Type 1 socket, so you can't plug in the 5mm thick Type 2 cards. The thickness is the only way in which Type 2 differs from Type 1, but it's not much of a loss to be unable to use them; sure, there are pro photographers out there with 300 megabyte Type 2 cards, but at the thick end of $AU1400 each, the big cards are not quite a household item.

A Type 2 slot would also have let you use IBM's tiny Microdrives, jewel-like hard drives in the CompactFlash form factor. They now come in capacities up to 1Gb, and cost considerably less per megabyte than Flash cards.

Sticking a hard drive that looks like a memory card into an adapter that lets memory cards look like hard drives, though, is just a little too kinky for me.

The only tweakable thing on the CF-IDE is a simple jumper which lets you change the drive status from master to slave. With the jumper on, it's a master, with the jumper off, it's a slave.

While the CompactFlash electronics are perfectly happy about hot-swapping - removing and replacing drives with the computer turned on - IDE is not. You won't blow anything up if you pop the card out with the computer turned on, but you will probably freeze the whole IDE subsystem until you replace the card. You have to turn the computer off to add or remove a CF-IDE device properly.

Alternatives

This isn't an especially amazing product, technically. Anyone who knows anything about CompactFlash cards will be able to tell you that it's actually a pretty bloomin' obvious sort of thing, and not new. It's been possible to buy PCMCIA-to-IDE drives that screw into a standard 3.5 inch drive bay for some time.

CompactFlash cards are, in many respects, half-size PCMCIA memory cards. Adapters to turn CompactFlash into PCMCIA only cost a few bucks.

But they cost $AU90 or so, and to use them with your CompactFlash card you need to drop a few more bucks on a PCMCIA adapter for the card. And the drives are standard 3.5 inch half height sized, so they're awkward for your fit-in-a-pencil-box Linux Internet appliance or terrain-learning robot experiment or whatever other teeny-tiny application has sprung from your fevered brain.

This take on the idea is small and cheap.

How small?

Small!

This small.

How cheap?

$AU38 from flashmemory.com.au, the retail side of VME Systems.

Thirty-eight Australian dollars is, for the benefit of overseas readers, equal to less than $US21 as I write this. And the adapter doesn't come with a big fancy box and manual, so it won't cost much to ship, either.

Of course, $AU38 isn't the whole price. You need a CompactFlash card, too. And if you want to get even vaguely near to the capacity of a hard drive, you're going to need a really expensive CompactFlash card.

A 192Mb CompactFlash card costs a hefty $AU775. But a dinky little 8Mb card's only $AU62, and if you need a bit more space, a 16Mb card's only $AU86.

You can buy dedicated, one-box Flash RAM "drives", again with the standard 3.5 inch form factor and ready to be screwed into any PC chassis. They're sort of the larval form of the scary-expensive big SSDs.

But a 32Mb 3.5 inch IDE flash memory drive - which is basically the same thing as a 32Mb CompactFlash card in the CF-IDE - costs $AU197. If you want 64Mb, that's $AU346 if you buy the stand-alone drive, but only a total of $AU302 if you get a card and the CF-IDE.

The CF-IDE option is cheaper, and lets you use a really big card if you want. It also lets you yank the card out and use it for something else, or write to it on a different machine. The memory in the dedicated drives can only be used by that dedicated drive.

So, you may be wondering, why does a 134Mb Quantum SSD cost $US2500 or so, and a 192Mb CompactFlash card cost $US450?

Because they're quite different animals, that's why.

Flash limitations

The super-expensive SSDs use fast standard RAM, which can stand zillions (a technical term) of read/write cycles before it fails.

Flash memory, on the other hand, is generally rated to endure at least 100,000 erase cycles - needed to change the data in a given memory cell - before failing. Different kinds of Flash memory may have considerably different durability - I've seen one million erase cycle figures for some Flash cards.

100,000 erase cycles may add up to 300,000 or more "I/O cycles" in marketing-speak, depending on the mix of read to write operations used to test the memory.

The durability of the memory is spread right over the entire capacity of the card by the use of "logical sectors". A logical sector is whatever part of the actual physical memory to which the card controller chooses to send a sector's worth of data. Flash devices do clever load-spreading to make sure that no chunk of the storage gets used more heavily than any other part.

Now, a hundred thousand write operations sounds like a lot, but it's not for a system scratch drive. The hard drive with the swap file on it in a normal Windows box generally takes a serious read/write hammering - especially if it's the only hard drive in the system, so data's being requested from or sent to other parts of the disk even as the swap file does its thing.

There's no OS RAM cache for a swap file - the swap file's what you use when you're out of RAM; caching it is like sticking a wind turbine out of the window of a plane and expecting to gain something - so all of the I/O operation enthusiasm is delivered straight to the storage device. Which can find itself having to serve a couple of dozen I/O operations per second, easily.

Subject a device that can only survive 300,000 operations to a 24 operation per second load, and you ought to be able to kill it well inside four hours. Ten times the durability? Well, goody for you. Now your drive might last a day and a half!

Hard drives are far better at this sort of thing, and non-Flash SSDs are better again, because it's practically impossible to "thrash" a device with a seek speed down in the nanoseconds.

So that's what you can't use Flash RAM SSDs for. Given that sensibly priced CompactFlash cards have too little capacity to make them very useful for swap file purposes anyway, though, this is not too big a deal. You're only going to use them as a system device when you're running an operating system that doesn't need a crocktillion (another technical term) megabytes of space just to install itself.

Like, for instance, Linux.

You can make useful Linux appliances that don't even have a hard disk. They boot the OS from floppy. But 1.4-odd megabytes is a painful limitation if you want your computer to do something more complex than just redirecting TCP/IP packets. A lot of Linux-appliance tinkerers could use just a few megabytes more.

Of course, you don't have to use a Flash SSD as a system drive at all. You can use it for data files if you like. It's certainly fast enough for pretty much any ordinary storage role.

Performance

There's not a lot of point running traditional hard disk benchmark software on a solid state drive that's not made to do the same things that a hard disk can.

For what it's worth, though, I gave the CF-IDE a 48Mb CompactFlash card, plugged it into a Win98 machine, and ran a quick comparison using HDTach 2.61 of the relative read performance of the CF-IDE drive, a 64Mb card in a USB reader (reviewed here) and an 8Gb Quantum Fireball 5400RPM hard drive. This Fireball is pretty much representative of the performance of current low-end consumer hard disks.

The hard drive's figures are unremarkable. Random access seek time of 15.3 milliseconds (ms), and a read burst speed of 52.9 megabytes per second.

Don't get excited about that number - it's just how fast the drive can throw a small amount of data down its ATA-66 cable. It manages such an impressive number, not too far shy of the theoretical 66 megabyte per second bandwidth ceiling of the ATA-66 interface, because the data's just coming from the drive's on-board cache memory. Nothing mechanical has to so much as twitch.

The sustained raw read rate of the Quantum drive is perfectly respectable; from 9337 to 15075 kilobytes per second, depending on what part of the disk you're reading. Since hard drives spin at a constant speed, outer tracks give better transfer rates than inner ones.

The average raw read rate was about 13 megabytes per second, which is a pretty honest figure. Copy large files from one of these drives to another one, both hanging off one motherboard connector, and you'll get about ten megabytes per second of throughput.

It matters very little whether you've got a newer ATA-66 capable motherboard and the 80 wire cable to match, or an older ATA-33 capable motherboard and an old-style 40 wire cable; the greater burst transfer speed makes bog-all difference in anything but benchmarks that specifically measure it, and 33 megabytes per second of theoretical bandwidth is plenty for cheap commodity drives, even ones rather newer than these Quantums.

On to the CompactFlash devices. In the Cobra USB reader running under Windows 98, the seek time was 9.8ms, the read burst speed was 700 kilobytes per second and, as you'd expect, so was the sustained transfer rate - there's no cache, and you don't get rotational geometry transfer rate changes when there's nothing spinning in there. This kind of performance is perfectly all right, particularly if you're only dealing with small card sizes.

In the CF-IDE adapter, though, the 48Mb card - a Sandisk unit, like the 64Mb card, with the same controller performance - clocked much tastier figures. 2ms seek time, 2.5 megabyte per second transfer.

The seek time could make a significant difference for some applications. Since read operations don't wear the memory out like write operations, you could use the drive quite profitably for a seldom-updated database or small-file repository. And the transfer rate, while not up to hard disk standards, certainly isn't too shabby.

The CompactFlash cards I've tried only use Programmed Input/Output (PIO) Mode 1. PIO Modes 0, 1 and 2 are the original three ATA data transfer modes, and PIO 1 has a ceiling bandwidth of 5.22 megabytes per second.

Interestingly, despite using PIO 1 itself, the CompactFlash card didn't seem to stop the CD-ROM drive hanging off it as a slave (and, I might add, working perfectly) from using PIO 4, which is the fastest of the PIO modes and has 16.67 megabyte per second bandwidth.

PIO Modes 3 and 4 were new additions to the ATA spec, made in 1996 when ATA-2 (also known as EIDE and Fast ATA) was first introduced. They preceded ATA-33 and ATA-66, which are also variously known as Ultra ATA modes and Ultra DMA modes, in order to make it as hard as possible for consumers to understand what's actually a very straightforward storage device system.

The only reason why all of this matters at all is that the lower PIO modes, while they may be slower, actually require more CPU time to do their thing. The CompactFlash card in the adapter sucked down almost 70% of the CPU time in the 500MHz Athlon test system, while the benchmark was in progress.

The USB card reader - which has nothing to do with the IDE interface - used about 5% of the CPU time, and the ATA-66 hard drive, with its Direct Memory Access (DMA) transfer mode, used no perceptible CPU time at all.

This doesn't mean that using a PIO 1 drive will paralyse your system, or even make a noticeable difference to the speed of a normal desktop PC. But it does mean that low-powered computers that are trying to do a lot of other things at once - which might well be the situation in which one of these adapters finds itself - might lose a bit of performance if they have to hit the "disk".

Overall

With small-ish CompactFlash cards quite affordable, the CF-IDE is definitely the cheapskate or experimenter's (strike out whichever does not apply) way into the world of SSDs. Many digital cameras come with a not-very-useful small card that could well find its way into the hands of an experimenter for a reasonable fee.

You can also use the CF-IDE drive like a normal cheap removable hard drive - the dumb ones, that don't have elegant hot-swap features and require you to power down to insert or remove a drive. Keep your sensitive data files (or whatever) on the flash-memory drive, pop it out at the end of the day, stick it in your pocket and leave, and feel like a secret agent.

Full-size removable hard drives are fragile and awkward to carry around; a CompactFlash card sure isn't.

Of course, the adapter doesn't give you a tidy way to reach your card - you'd have to pop off a front drive bay cover and trail an IDE cable out of it, or leave the side of the computer off, or something. But, even if it's untidy, an adapter like this solves the CompactFlash access problem for many people.

If you're running a Windows NT or current-kernel Linux machine, you can't use a USB card reader, because NT doesn't understand USB at all, and Linux is still in the process of getting USB support to work properly.

You could use a parallel-port reader, provided it had drivers for your OS, but parallel storage devices severely slow down the computer while they do their thing. And they're often flaky - parallel ports work surprisingly well for removable storage, but they're really not meant to be used for that.

There are other interfaces you can use flash card readers with - SCSI, IEEE-1394 ("FireWire"), proprietary interfaces with their own cheap controller card. That's great, if you've got the right kind of interface in whatever computers you want to use the drive with.

If you haven't, though, why not use the cheap option?

With this adapter, you can plug a CompactFlash card into any computer with an IDE interface, full stop. Which, of course, includes recent Macintoshes. No drivers, no USB, not much fiddling. You can tote the adapter around almost as easily as you can carry the card(s) to go in it.

Most modern PCs have a spare IDE and power connector inside the case, and will deal smoothly with a new IDE device being added, without any BIOS changes.

If you try to put two masters or two slaves on one IDE channel, neither drive will show up, but nothing will be hurt; change the newly added drive to the other setting and you're away. Heck, current motherboards let you run a solo slave on one channel, which shouldn't, strictly, be allowed. The slave just works as a master, if there's no real master on the channel. Simple as that.

A serious SSD a CompactFlash card is not. But what it does, it can do very well, and the price is finally right.


VME Systems

Capacity confusion

You've just bought a 64Mb memory card. Congratulations - it's got about 60.9 megabytes of actual capacity!

And yet, you have not been ripped off. Well, not any more than anybody else who buys a storage device. Makers of hard drives and memory cards uniformly overstate the capacity of their storage, by using powers of ten, instead of powers of two.

For them, a megabyte is 1,000,000 bytes. For everyone else, a megabyte is two to the power of 20 bytes - 1,048,576.

It gets worse as the devices get bigger. A real gigabyte is 1,073,741,824 bytes, so when you buy a "20 gigabyte" hard drive, there's a roughly 7% rip-off factor. When we start dealing with terabyte-sized storage devices, the stated capacity will be almost 1.1 times the real size.

This is just a general rule of thumb; there are other factors to consider, too. Partitioning and formatting a drive eats a bit of space, but how much it eats depends on the file system you're using. And different storage devices, especially solid state ones, use different amounts of their capacity for housekeeping tasks.

Plain Random Access Memory (RAM) for computers genuinely does give you the amount of storage specified on the label, because it works in real live powers of two. A "64 megabyte" memory module really and truly does have 67,108,864 bytes of useable storage. Memory cards are based on powers-of-two hardware as well, so you'd think they'd be the same. But memory cards use some of their memory for housekeeping and error correction, and their memory units are small enough, and can be used in flexible enough configurations, that they're not stuck to the simple 32Mb, 64Mb, 128Mb sequence of ordinary RAM modules.

Hence, the "64Mb" CompactFlash card ends up giving a ready-to-go MS-DOS-formatted capacity very close to the 61Mb you'd expect from dividing 64 by 1.048576. But SSFDC ("SmartMedia") memory cards have less capacity overhead - mainly because they don't have an on-board controller - and so you'll get about 62.4Mb of formatted capacity from a "64Mb" SmartMedia card.

 



Give Dan some money!
(and no-one gets hurt)