Storage Class Memory is a technology that places memory and storage on what looks like a standard DIMM board. The DIMM is installed in the memory channel similar to a DRAM DIMM. Supporting storage in the memory channel is challenging as it was originally designed exclusively for high-performance memory. The problem is how to get the system and applications to recognize that something beyond just DRAM is available for use and that it can be used as either storage or persistent memory.
One approach is to get server hardware vendors to modify their system BIOS to support the new DIMM type. This approach is problematic for two reasons: First, BIOS changes require engineering efforts and additional test and validation, neither of which are viewed favorably by system vendors today. Second, changes tied to the memory channel will affect memory channel bandwidth and performance because they are changing the way the system and memory controller were designed to operate.
An alternative approach is to develop a DIMM that can work with the standard system BIOS. For this type of DIMM to work it has to emulate a standard memory DIMM so that the operating system recognizes it. The value of this approach is that the solution is usable right now with any x86 systems.
Introducing Netlist’s HybriDIMM
Netlist is a company that’s been developing non-volatile memory solutions for years. Storage Switzerland wrote about Netlist last year in our briefing note “Netlist Readies PCIe Based High Performance NVRAM”. The HybriDIMM is their latest solution and seems to be a reasonable compromise for organizations looking to use DIMM slots for more than just DRAM.
The HybriDIMM consists of DRAM, flash, and a co-processor to manage the data transfer between the DIMM and the system. The current version offers 8GB of DRAM and 256GB of Flash, but will eventually be offered in capacities of up to 1TB. As new servers will have 24 and 32 DIMM slots available there is opportunity for massive internal, high performance capacity.
The 1TB of flash can be used as storage, or with the use of the Non-Volatile Memory Library (NVM-L) it can be used as persistent memory. Further, the flash can be sub allocated, part for storage and part for persistent memory. The application or the operating system will have to support NVM-L but Netlist claims that many applications either already do support the standard or are close to it.
The HybriDIMM Use Cases
The HybriDIMM opens up many possibilities. First, there are plenty of application environments that leverage local flash storage to eliminate the latency of the network. Lowering the latency even further by placing that flash on a higher performing bus than even PCIe makes sense. Second, administrators can use the technology as a tier of storage that front ends a SAS SSD tier. A 1TB cache in front of a multi-TB SSD tier is very compelling and something that storage system builders should carefully consider. Finally, there is the opportunity that persistent memory brings to in-memory databases and similar applications.
The concept behind a Flash DIMM has always made sense. The memory bus is the highest performing, lowest latency interface on a server’s motherboard, why not use it for more than just standard memory? The challenge has not been getting support for the concept, but how can you implement without major changes to system or applications – or even introduce a new material and architecture. The options are to have server vendors update the BIOS, introduce a totally new server architecture or develop a way to get the technology to work with today’s servers as Netlist did. The result is a more ubiquitous solution that should appeal to a broader set of data centers.