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.
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.
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.