Image

PCI Express Mixes Flash And DRAM For New Addition To Storage Hierarchy

Aug. 7, 2014
PMC’s Flashtec PMC drives add another high speed layer to the storage hierarchy. It combines DRAM and flash onto to a PCI Express adapter.

PCI Express-based NMVe has brought flash storage closer to the processor providing fast access with low overhead. It delivers a more efficient link to flash than disk interfaces like SATA and SAS (see “What's The Difference Between SATA And NVMe?”). Even faster access is possible with NV-DRAMs (see “Non-Volatile DIMMs and NVMe Spice Up The Flash Memory Summit”) placing non-volatile storage directly on a processor’s memory bus but space constraints and slot count limit the amount of storage that can be added using this approach.

PMC’s Flashtec PMC drives (Fig. 1) add another high speed layer to the storage hierarchy. It combines the speed of DRAM and the non-volatility of flash onto to a PCI Express adapter.

Figure 1. PMC’s Flashtec PMC drives blend DRAM and flash into a new high speed layer in a storage hierarchy.

The Flashtec drives are very similar to NV-DRAMs that use flash to back up DRAM providing DRAM speeds and lifetime with non-volatile storage. In both cases, a supercap provides the system with power when system power is lost. It provides enough time to copy the contents to DRAM into flash. This is transparent to software and occurs automatically.

The big difference between the NV-DRAM approach and Flashtec is the PCI Express 3 interface. The latency is lower for NV-DRAM but both provide high bandwidth and Flashtec has the size advantage since there is a lot of board space. Flashtec has scalability advantages as well since PCI Express can easily handle a large number of adapters.

Flashtec provides two PCI Express-based interfaces. NVMe is a standards-based PCI Express protocol already utilized with flash-only solutions. PMC also provides a PCI Express memory interface (Fig. 2) that can operate with smaller data packets than the larger blocks used by NVMe.

Figure 2. PMC’s Flashtec supports two interfaces: PCI Express memory and NVMe.

The NVMe provides a standard access mechanism that is already available with all major operating systems. The direct memory interface will require different load/store support but it provides the advantage of small transactions that can be more efficient for many applications. The 64-bit PCI Express memory map can span multiple boards. Boards can support both types of interfaces at the same time.

Flasthtec also exceeds the performance of PCI Express-based flash storage devices by delivering more than 10 million IOPS. It can deliver 15 million IOPS using 64 byte transactions. Smaller transactions can be used for direct record updates.

The board is available in 4, 8 and 16 Gbyte versions. More storage can be attached to a system using multiple boards. The boards are built around PMC’s NVMe flash memory controllers that are available in 16- and 32-channels implementations.

PMC is initially targeting large enterprise systems that are demanding more and faster non-volatile storage. The approach would be ideal for embedded applications as well especially high speed logging applications.

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!