Three of the systems use a similar approach – this is the NV-DIMM sold by Cypress Semiconductor’s AGIGA, Viking Technology and Micron Technology. All three have created blends of DRAM and flash memory. Essentially they added flash memory as a backup to the DRAM on a DIMM. If the server loses power there is a supercapacitor on the chip that allows the copying the active DRAM to the flash in order to prevent data loss. The challenge with using this type of hybrid memory is that the software needs to account for the nonvolatile feature. But for some enterprise environments this could be something useful.
The next technology player in this field is Diablo Technologies with their Memory Channel Storage solution. MCS allows flash to be accessed through the DDR3 Interface of the CPU by using a controller chip that implements the DDR3 protocol and interfaces with the on-module flash memory chips. This controller chip enables support for advanced flash memory features such as wear leveling and the reporting of health and diagnostic information via S.M.A.R.T. attributes. The biggest advantage of this technology is the lower latency and the fact that all write transactions are pushed to the flash storage so there is nothing special to do when power is lost.
Diablo Technologies have partnered with SMART Storage to develop and manufacture the ULLtraDIMM. The DIMMs are available in 200-Gbyte and 400-Gbyte versions and unlike traditional DDR3 memory they do not have to be paired and can be mixed with traditional DIMMs. Since they are separate physical devices, as capacity grows latency will stay constant. Below are some of the numbers:
- The ULLtraDIMM has less than 3-5-µs write latency and a read latency of <125 µs.
- It has a random performance of 150kread IOPS and 65kwrite IOPS at 4K Block size.
- The sustained read and write performance is 1 Gbyte/s and 760 Mbytes/s, respectively.
At this point, the ULLtraDIMM is accessed using one of two methods, both employing a device driver. The first is to present the storage as a device just like a conventional PCI Express flash device or a SATA/SAS device. Its block-oriented interface works with typical server operating systems like Windows and Linux.
The other approach is to take advantage of the way the ULLtraDIMM storage is mapped onto the processor’s virtual memory system. This requires more coordination with the applications, but it provides direct access to the storage. The application simply reads and writes to virtual memory, and the ULLtraDIMM ASIC handles the operations. The only difference between it and DRAM is volatility and speed.
ULLtraDIMM drivers are available for Windows Server 2008/12, CentOS, RedHat, and SUSE Linux, and VMware. Potential application scenarios are financial services, database, cloud, virtualization, blade servers, and big data analytics, and they can be used as either block devices and/or as a memory extension.
The key for this type of flash storage to be successful is to balance conventional memory with Memory Channel Storage. I, for one, believe this will take off in 2014 and beyond.
By: Michael Kleid, Customer Solution Center U.S. Manager, CTO Group