Under The Hood Of The ioXtreme
Fusion-io sent us two cards for testing, an ioXtreme and their ioXtreme Pro. We're told the the Pro variant is identical to the standard card, in terms of performance, except for Fusion-io's "Xlink" technology which allows two cards to be ganged together in a RAID setup over PCI Express.
The cards themselves are a case study in simplicity and design elegance. The current ioXtreme design packs 80GB of MLC NAND flash in a half-height PCI Express X4 footprint and requires no external power beyond the PCIe slot power provided to the card.
The ioXtremes are also passively cooled with a rather small heasink mounted to the top of the board's controller ASIC. The ioXtreme's flash controller ASIC (Application Specific IC) is also supported by various other chips on the board, like Samsung DRAM cache and an Intel configuration Flash chip that is responsible for setting up the controller chip, since it is in fact a programmable device.
In reality, the proprietary controller ASICs on all ioXtreme boards currently are FPGAs (Field Programmable Gate Array) from Xilinx. The Xilinx Vertex 5 chip that Fusion-io chose to build their controller out of is a rather large 1136 ball grid array device that comes with 110,000 logic cells for programming as well as several blocks of configurable memory on board and multiple other serial IO blocks like PCI Express. These Xilinx FPGAs likely are few hundred dollars each and are easily the most costly component on the ioXtreme's bill of materials. In the future, Fusion-io can cost reduce the board significantly, once their controller design is stable, by going to a full custom, hard-wired ASIC, versus the programmable devices they're currently using now.
The controller design of the ioXtreme implements a 25 parallel channel (X4 bank) memory architecture, with one channel dedicated to error detection and correction, as well as self-healing (data recovery and remapping) capabilities for the flash memory at the cell level. By way of comparison, Intel's X25-M SSD implements a 10 channel design.