Image

Cached Flash Uses DDR4 Sockets

Sept. 19, 2016
Diablo Technologies’ DMX caching software allows its 128 Gbyte Memory 1 DDR4 flash memory module to expand the amount of virtual RAM available on servers.
Diablo Technologies is using its Memory 1 flash memory module as an extension of DRAM instead of a solid state device (SSD).

Diablo Technologies’ latest Memory 1 module (see figure) puts 128 Gbytes of flash into a standard DDR4 socket. Its DMX software driver acts as a transparent cache between DRAM and the Memory 1 storage, effectively extending system memory to the higher-capacity Memory 1 modules while maintaining DRAM performance (most of the time).

The DMX software is a greatly improved version of the fast RAM mirroring technology from Diablo Technologies. In this case, the DMX software does not take advantage of the non-volatile nature of flash memory, although that is something that may be possible in the future. The reason for using DMX and Memory 1 is that the flash storage modules have a higher capacity than DRAM. The 128 Gbyte modules allows a two-processor system to host 2 Tbytes of storage.

The Linux-based DMX driver hooks into the virtual memory system. It implements a three-tier system that includes DRAM, Memory 1 and conventional disk storage that could include SSDs. The software handles movement of data between tiers in the same fashion as high-end microcontrollers using multiple levels of cache. A three-level cache system is common in high-end processors. The result is a six-level cache with multiple flash memory levels at the top end, as most enterprise systems are now using SSDs for disk storage.

Currently the software operates as a black box with limited configurability. An internal API is used by the support applications that can track the operation of the system. The modules support S.M.A.R.T. disk management, allowing flash memory lifetimes to be tracked so a device can be replaced before its write lifetime is exceeded.

Prior support of Diablo Technologies modules came in the form of SSDs. In this case, a disk device driver provided flash memory access to the operating system that had to manage the storage. Virtual memory support could swap DRAM contents to flash memory, but the overhead was significantly greater than with the DMX approach. It was still faster than using SATA, SAS, or even NVMe because the flash memory was plugged into the faster memory channel.

DMX takes into account write activity, keeping data that changes often in DRAM. It migrates data to flash memory as writes decrease. This is different from conventional disk caching approaches using virtual memory support, because they were designed to use the older memory/disk architecture where there is only a time penalty writing to disk.

DRAM capacities continue to rise, but flash is growing faster with stacked memory. Diablo’s approach is not applicable to all computing environments because memory latency is an issue. Still, it makes a lot of sense for memory-hungry applications, including many database and web servers. It could also be useful in a range of embedded applications, as well. Diablo Technologies is working with vendors to certify its Memory 1 and DMX software.

At this point, Linux support is available. Other platforms will likely garner support in the future such as Microsoft’s server software. It may also make sense to integrate the caching support to address external storage, as well as clustering support. In the meantime, the system is ideal for one- and two-processor systems that are memory hungry.

About the Author

William G. Wong | Senior Content Director - Electronic Design and Microwaves & RF

I am Editor of Electronic Design focusing on embedded, software, and systems. As Senior Content Director, I also manage Microwaves & RF and I work with a great team of editors to provide engineers, programmers, developers and technical managers with interesting and useful articles and videos on a regular basis. Check out our free newsletters to see the latest content.

You can send press releases for new products for possible coverage on the website. I am also interested in receiving contributed articles for publishing on our website. Use our template and send to me along with a signed release form. 

Check out my blog, AltEmbedded on Electronic Design, as well as his latest articles on this site that are listed below. 

You can visit my social media via these links:

I earned a Bachelor of Electrical Engineering at the Georgia Institute of Technology and a Masters in Computer Science from Rutgers University. I still do a bit of programming using everything from C and C++ to Rust and Ada/SPARK. I do a bit of PHP programming for Drupal websites. I have posted a few Drupal modules.  

I still get a hand on software and electronic hardware. Some of this can be found on our Kit Close-Up video series. You can also see me on many of our TechXchange Talk videos. I am interested in a range of projects from robotics to artificial intelligence. 

Sponsored Recommendations

Comments

To join the conversation, and become an exclusive member of Electronic Design, create an account today!