WARNING: Ultra-geeky sysadmin nerdishness follows. Tune out now if the phrase “random sustained throughput” doesn’t seize your attention.
I just came across the Texas Memory RamSan-440, and found it to be kinda silly. It’s a NAND (new-style flash) RAID array which will do “600,000 IOPS, 4,500MB/sec random sustained external throughput and latency under 15-microseconds” at a price of (USD) $150,000 for a 256GB model.
This seemed so ridiculous at first sight that I immediately wrote up and costed the problem of doing the same thing My Way. This is what I ended up with:
The ThorneSAN is a 4RU box, probably built in the chassis of some existing 12-slot RAID doohickey. It contains:
- A small RAIDed SATA disk array. Say 2x320GB disks in an R1 setup.
- Some bleedingly fast NICs, probably Fibre Channel.
- Lots of 4GB domestic-grade RAM modules. Say a hundred, for starters.
- Some very very fast RAID/NAS smarts (Note: this could potentially just be a fastish PC).
- An internal UPS. Maybe two, for redundancy. Should provide power for the device’s maximum load for long enough to write to every byte of the built-in hard drives and shut them down cleanly.
You put all that RAM into specially made banks of ten modules each, each of which goes in a drive-slot, so that you can pull them out to replace faulted modules. The RAM can be addressed at full speed through multiple conventional PC northbridge controllers. Because it’s domestic grade, you address it with its own internal RAID logic, to handle sporadic errors.
On boot, the device reads the contents of the RAID-1 disk pair into the huge memory RAID disk. Thereafter, all NAS operations are performed against this disk. The machine maintains its own table of ‘dirty’ blocks which have changed since they were written to the hard drives, and writes them back asynchronously. The async part is important: The hard drive is allowed to fall behind, including falling so far behind that the entire RAM disk is ‘dirty’. That’s what the UPS is for: in the event of a power failure, you should always have enough time to write all unsaved changes to HDD.
For argument’s sake, I’ve worked this out based on CPL’s price for 4GB DDR2 PC2-5300 modules: $105, and an estimate of $4500 for the controllers, chassis, and SATA disk pair. These memory modules should be able to comfortably sustain a read-write bandwidth of 2.5GB/s, so a ten-controller RAID array of them should make 20,000GB/s, with seek times under one microsecond (plus any interconnect overhead).
I’d expect this device to cost about $15,000.
…so in the end, I’m left puzzling: Where do Texas Memory piss away the other $135,000? And moreover, why NAND? What is flash memory gaining them here?