PCI Express Storage Concepts
The challenge in the storage space is to create products that deliver maximum performance and useful capacities at acceptable price points. Obviously we’re focusing on performance today, which is why we want to look at different ways of creating more bandwidth and better I/O performance.
The first image lays out how a typical solid state drive works. First, there is a flash storage controller like SandForce's SF-1xxx. Then, a vendor adds a certain amount of NAND flash memory organized into multiple channels. This is done to increase bandwidth and facilitate flexible capacity configurations. Typically four, five, eight, or 10 flash memory channels are used in most of today's drives. Those storage controllers connect to the host through Serial ATA running at either 3 Gb/s or 6 Gb/s transfer rates. Needless to say, this theoretically limits each drive's maximum bandwidth to either 300 MB/s (over a 3 Gb/s link) or 600 MB/s (across a 6 Gb/s link). Typically, overhead prevents those ceilings from being reached, though.
Fusion-io started from scratch and created a storage controller that links directly to PCI Express. In the process of bypassing SATA altogether, it potentially operates under less latency/overhead. Simultaneously, this custom logic loses functionality that you get with SATA-based alternatives: mainly, the ability to boot from the device.
Obviously, designing a custom controller is expensive. So, LSI and OCZ lean on existing hardware, creating self-contained RAID-based solutions. Users don’t have to worry about stringing together individual drives. Instead, you get a storage solution that can be plugged right into a PCI Express interface. LSI has its own RAID controllers, while OCZ relies on a Silicon Image controller to link up the on-board SSDs. Physically, you end up with six SSDs on the LSI card and four in the OCZ drive.