Scott Drummonds on Virtualization

Flash Or SSD? (or: Why Interfaces Matter)

Comments Off on Flash Or SSD? (or: Why Interfaces Matter)

In my three part series on flash I interchangeably used the terms “flash” and “SSD”.  In a recent article on this subject, Steven Foskett on IBM’s Storage Community successfully convinced me that I should stop using these terms interchangeably.  He then suggested that flash would persevere while SSD would not.  I disagree.

First, let me quote what I know Steven got right:

Flash memory is the dominant underlying chip technology for solid-state storage. But solid-state disk drives are just one packaging option for flash.

Steven then explains that flash can be added to the enterprise in a variety of ways.  Today’s most common alternative to SSD is the PCI expansion card.  Steven next extols the benefits of PCI-based flash and the drawbacks of SSD-based flash.  These include:

  • Simplicity of design in PCI flash.  No SCSI or ATA controllers needed for PCI flash.
  • Improved performance of PCI flash, for lack of bottleneck-inducing SCSI or ATA controllers.

Steven then concludes:

In a decade, SSD will seem a quaint throwback while flash memory will roar ahead.

I doubt this conclusion.

First, the argument that flash in PCI is faster than flash in SSD because SSD controllers will always be a bottleneck is nonsense.  Those controllers are created in the same silicon that creates microprocessors.  They can be implemented as fast as the hardware that drives the PCI-e bus.  The reason why PCI cards are faster is because the PCI-e bus can support up to 16GB/s of throughput while no storage array (today) can drive a single connection beyond 10Gb/s.  There is no need to create an SSD disk that supports 16 GB/s of throughput because no flash can serve it and no array can deliver it.  This is an example of designing to the current needs and this limitation will change.

A Standard Interface Common In the US.

But more importantly, one of the things we have learned in decades of computer science is that interfaces matter. Interfaces endure. Examples abound of good interfaces outliving their initial implementations. Instead of deciding to throw away a design and start from scratch, we improve the implementation and keep the interface, even if it is sub-optimal. One such example is the x86 architecture. It seems that the entire world has nearly agreed that this interface is how we want enterprise operating systems to communicate to processors.

(The funny thing about x86 is that years ago Intel abandoned the basic principle of their early architecture: complex instruction set computing (CISC). They designed their processors so programming the CPU would be easy but implementing it would be tough. Decades later, Intel introduced decoders on their processors that effectively translated CISC instructions to RISC microcode. They simultaneously offered a “better” pure RISC/VLIW architecture in the Itanium line. But the industry responded loudly: stay with the x86 interface that an ecosystem has come to depend on.)

I believe hard drives should be thought of as an interface.  Not just the protocol and connection by which data is read and written, but also the form factor that humans handle and that hardware vendors build around.

Why is it that the industry likes the hard drive “interface”?  Consider the following:

  1. Hard drives have reasonable high-density form factors.  They are uniform size, fully enclosed, and rugged enough that an exposed component will not snag on a sweater and break.
  2. Hard drive interfaces (SCSI, SATA, SAS, etc.) are created to be used frequently.  They are designed to be plugged and unplugged.  Pull and replace a SATA plug a thousand times and the connector will survive.  Try pulling and replacing a PCI-e card 1000 times.
  3. We have existing means of aggregating thousands of hard drives into an array.  Because of the capacity drain of more PCI devices it is tougher to scale PCI cards to the same limits.
While my crystal ball is not any clearer than Steven’s, I think that anyone that discounts the endurance of a popular interface is not seeing the full picture.  As long as people are touching the interface, while consumers are using devices that implement it, while competitors are designing products to it, and while it is successfully evolving with demands, the interface will be tough to replace.  The hard drive SSD interface meets these criteria.

Comments are closed.