NVM Express: Flash At PCI Express Speeds

July 7, 2011
Micron's RealSSD P320h board delivers up to 700 Gybtes of flash storage. The host can access storage directly through a PCI Express interface using IDT's controller chip.

Micron uses IDT’s controller chip in its RealSSD P320h board, which delivers up to 700 Gbytes of memory that can be read at speeds up to 750,000 read IOPS.

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
www.idt.com

Micron
www.micron.com

NVM Express
nvmexpress.org

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!