Skip navigation
Electronic Design
NVM Express: Flash At PCI Express Speeds

NVM Express: Flash At PCI Express Speeds

Solid-State drives (SSD) are quickly dominating mobile devices. SATA and SAS SSDs are also the base layer of enterprise storage systems including disk caching support. Typically, a SATA or SAS controller supports these drives, and the controller interfaces with the host processor using PCI Express.

SATA and SAS interfaces provide a standard interface for flash and hard drives. Advanced RAID controllers often include hierarchical caching support allowing one flash drive or more transparent accelerated access to hard drives (see “SAS RAID Controller Handles Hierarchical Storage”).

Unfortunately, the SATA and SAS interfaces have protocol overhead and are bandwidth limited compared to flash, which is significantly faster than hard drives. One option is to access flash directly as many microcontrollers do on devices like smart phones, but this approach does not scale well and requires more processing on the host.

The other alternative is to come up with a PCI Express-based flash controller, and that’s what Fusion-io did with its ioDrive (see “The Storage Hierarchy Gets More Complex”). The ioDrive has its own interface and driver, but it is unique to Fusion-io.

NVM Express is a new standard that provides similar functionality (see “NVM Express Delivers PCIe SSD Access”). The idea is that an operating system needs a single, generic NVM Express (NMVe) driver for any NVM Express-compatible board. This puts it on par with SATA controllers that use a standard driver.

NVM Express Gets Real

Micron and Integrated Device Technology (IDT) worked together to create Micron’s RealSSD P320h flash memory board with up to 700 Gbytes of single-level cell (SLC) NAND storage (see the figure). The current version of the board uses its own device drivers like Fusion-io does. Micron’s NAND-Management GUI software uses these drivers.

IDT’s next controller chip will support NVM Express. This will allow the standard NVM Express driver for Linux or Windows is all that’s needed to take advantage of the board.

The board’s maximum draw is 25 W. Idle power is just 6.1 mW. Its performance specifications are impressive too. Using a 4-kbyte block size, the RealSSD board delivers up to 750,000 read and 200,000 write IOPS (I/O operations/s). This is pushing the flash memory to the limit, enabling the host processor to take advantage of all the performance available. Sequential read speed is a blazing 3 Gbytes/s using 128-kbyte blocks.

The board and IDT controller chip have a x8 PCI Express interface. The controller handles everything needed for proper operation including load leveling and bad block management. The standard supports options like encryption and I/O virtualization.

NVM Express targets the enterprise storage arena. Multiple boards can be combined to deliver larger amounts of storage. The architecture and boards will work equally well for embedded applications, though initially developers will have to use boards designed for the enterprise.

It is possible to boot from NVM Express storage so it can be the only storage device in a system. This can be useful in embedded applications.

Integrated Device Technology


NVM Express

Hide comments


  • Allowed HTML tags: <em> <strong> <blockquote> <br> <p>

Plain text

  • No HTML tags allowed.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.