What is NVM Express (NVMe)?

Current storage systems use SAS (serial-attached SCSI) links from their controller processors to communicate to flash. SAS uses the legacy protocol SCSI, which was designed for disk, yet presents a serial bottleneck for communicating to flash. Each connection from CPU core to flash is limited by the SAS host bus adapter (HBA) and synchronized locking. This serial bottleneck creates performance bottlenecks within the back-end of all-flash arrays. The Non-Volatile Memory Express (NVMe) over PCIe protocol holds the promise to eliminate the SAS (SCSI) bottleneck. NVMe brings massive parallelism with up to 64K queues and lockless connections that can provide each CPU core with dedicated queue access to each SSD.

In addition to NVMe, NVMe/F (NVMe channeled over RDMA-enabled fast Ethernet, FC, Infiniband or other fabrics) is another new protocol for dramatically faster, SCSI-less server-to-storage connections. 

In anticipation of the now inevitable shift to NVMe, we engineered FlashArray//M to be NVMe-Ready from the beginning, and believe that NVMe should be a non-disruptive, Evergreen upgrade, not a forklift migration. In fact, we are guaranteeing that every new FlashArray//m will be upgradable to NVMe.