MayaScale: NVMe over Fabrics (NVMe-oF) on Cloud

MayaScale NVMe Fabric overview

Posted on Sep 30, 2018 at 10:00 AM

Introducing NVMe over Fabrics (NVMe-oF) on public cloud with MayaScale.

NVMe is already revolutionizing data-centers as NVMe SSDs can deliver low latency and high-performance required by the most demanding application workloads. But the downside is that they are available as direct attached storage (DAS) and subject to problems such as under-utilization, over-provisioning, and scalability limitations, which have negative CapEx and OpEx implications.

MayaScale extends all of NVMe benefits and solves the above problems with NVMe-oF, by pooling all NVMe storage in a central server, which can be accessed by compute nodes over existing network infrastructure deployed using RDMA technology or the standard TCP Ethernet. In the quest for separation of compute and storage, MayaScale is a blessing.

With major innovations from public cloud providers, NVMe storage is also available on cloud as local NVMe SSDs, especially Google Cloud SSDs which have amazing price to performance. But in addition to the direct attached storage limitations mentioned above, NVMe on cloud poses new problems:

  • NVMe SSDs for application is ephemeral in nature and cannot be used when persistence is required, as the contents do not survive power-off.
  • Compute instances cannot be stopped and it requires removal and recreation of instance if one does. Now your applications need to worry about this unnecessarily.
  • The capacity available to compute instance may not match your application requirement. Either they are available in fixed sizes or you may have to hunt for a specific VM configuration that may overwhelm application requirement.
  • Hinder any solution that require separation of storage and compute.

MayaScale on Cloud not only provides a software only solution for NVMe over Fabric using TCP, but also solves the above deployment problems with its centrally managed and provisioned pooled NVMe storage server. You can easily make those ephemeral NVMe SSDs to be persistent by setting up an Active-Active High-Availability pair. With MayaScale you are in full control of provisioning as follows:

  • Create arbitrary NVMe namespaces and controllers even from a single attached NVMe device.
  • To clients available as multiple NVMe controllers with single namespace each or as a single NVMe controller with multiple namespaces
  • Enforce easy access control for clients to connect.
  • Clients can connect and consume when the application needs them and can disconnect to return it back to the pool.
  • Clients see them as real NVMe devices managed by the NVMe host driver, not as vda or xda block device. So the application will know that it is a SSD device and deal with it accordingly by issuing TRIM commands.

We have the performance characterization done using FIO that shows very little impact on IOPS and performance.


MayaScale is a high-performance shared storage solution for applications demanding more performance than what is available from other Cloud native block storages.
Thanks for reading, you can also experience MayaScale NVMe Fabric on Cloud under 10 mins by downloading.