NAND Storage Introduction
The era of consumer NAND flash started January 6th, 2004, when Apple introduced the first iPod without a hard disk drive. Financial analysts decried the introduction, saying that Apple was eating its own children. But the instant success of a technology that used less power, was resistant to being dropped, and had a smaller form factor changed the face of consumer electronics and the fortunes of Apple and Samsung (the NAND flash manufacturer).
EMC introduced NAND flash in the enterprise storage marketplace on January 14th, 2008, with the announcement of the first enterprise ready solid-state disk (SSD). Since then all the major storage vendors have introduced SSD models. Although these drives were and are still expensive compared with high performance FC or SAS drives, the ability of SSDs to use existing storage software stacks without modification meant that the adoption was relatively easy. The development of automated tiering systems by Compellent, EMC and others has improved the price-performance by placing only the active blocks of a volume in the expensive SSD tier. NetApp and other vendors have further refined flash storage use, creating flash read-only caches. Recently FalconStor took this a step further, implementing a read-write cache. These caches are dynamic and can adapt very quickly to changes, as opposed to the tiered storage implementations that take 24 hours or longer to adapt. As a result, the full read/write cache uses about 1/3rd the storage of a tiered storage system for most workloads.
In early 2009 Wikibon gave EMC a CTO Award for Storage Technology Innovation for the introduction of SSDs. At the time, I wrote blog entitled "Is Fusion-io Flashier than EMC SSD?", and concluded that the PCIe-based introduction by Fusion-io as a memory layer would have a much harder route to market because of the difficulty of changing operating systems, hypervisors, files systems, and databases to take advantage of this approach.
Ten months later, a lot of water has flowed under the bridge, and my analysis is that the Fusion-io approach will gain traction much more quickly than I previously thought. This started with another January announcement, the iPad introduced by Steve Jobs on 27th January 2010. This introduced a new generation mobile devices that will be supported by enterprise data centers; always on, endless battery, take it anywhere, use you fingers rather than a mouse or a stylus to operate it, masses of data at your fingertips.
The Fusion-io is the enterprise equivalent of flash as a low-cost seamless extension of RAM storage. In 2010, Fusion-io has made a raft of announcements, the most important being the the VSL announcement of a framework for the direct writing to the flash controller in a single pass. This eliminates multiple layers of complexity, elapsed time and overhead that is inherent in the quaqrter-century-old SCSI stack.
Adoption Timescale for NAND Flash as an Extension of RAM
The first steps have been taken and will continue to move forward in Open Source Linux. The ext3 file system already has an extension provided by William K. Josephson at Princeton to exploit Fusion-io’s VSL.
Oracle have already adopted flash for storing operating systems, flash cache (read only) and other system performance areas within the Exadata and Exalogic frames. Wikibon expects that Oracle Linux will have some aggressive extensions as Oracle finds new ways of directly providing databases with ways of enhancing performance. The Oracle purchase of MySQL, on the other hand, means is unlikely to see any extensions.
IBM DB2 will not lag far behind Oracle. All of the analytic tools have flash memory versions, and a number will have flash memory architecture extensions in 2011 in both Linux and AIX. IBM may either try to extend the architecture itself or may team with Fusion-io and others to slow Oracle down with a proposed IEEE standard.
Server vendors are already and will increasing use flash for holding operating systems and some system metadata. Microsoft’s priority with Windows desktop and server will probably be to support touch screen and mobile as they attempt to catch up with Apple's IOS and Google's Android. Microsoft should but probably will not address the real threat from flash as an extension of memory that Apple have already in place with the MacBook Air and iPad. In 2012 Microsoft will probably be playing catch-up with flash support for Windows server and SQL server. Microsoft and Intel may make an architectural move late in 2011 to try and attempt to stall the marketplace, with a good chance of succeeding; if they wait until 2012 they will risk missing a major technology disruption at a time when they can least afford it.
Storage vendors will downplay these trends and saying that SSDs can do the same job better. However, two separate solutions will evolve separately and complement each other. SSDs are a high performance but more expensive version of disk that will compete and probably displace FC/SAS high-speed disks but will not displace the much higher volume, high-capacity disks. There will be some friction to adoption. Flash memory as an extension of RAM memory will be both much cheaper that RAM and will provide persistence. Once the architecture and software is in place, flash as an extension of RAM will be a no-brainer facing almost zero friction to widespread adoption. Extensions have to be introduced to PCIe to make it more resilient and add multi-port access, but there is a road map in place for these functions.
In summary, 2011 will see the building blocks, frameworks and architectures put in place that will probably determine the vendors who will be winners in this space. 2012 will see serious adoption start in high-performance and scale-out database environments, and 2013 will steady adoption across the board.
Action Item: Organizations with large-scale and performance-sensitive databases, especially with a scale-out architecture, should follow the software frameworks of Fusion-io and other vendors avidly, as they will offer significantly more cost-effective ways of scaling database systems with very large amounts (terabytes) of memory. These RAM memory extensions will change the design of database systems more profoundly that any other technology since the advent of CMOS processors and allow the servers to provide the type of central support that the iPads and similar client systems will expect during the second decade of the 21st century.