All Products
Search
Document Center

Elastic Compute Service:NVMe protocol

Last Updated:Aug 19, 2024

Non-Volatile Memory Express (NVMe) helps you improve the storage performance of your Elastic Compute Service (ECS) instances. This topic describes the limits of NVMe in terms of ECS instance families, images, and cloud disks and the operations that you can perform on NVMe disks.

NVMe is a high-speed interface protocol for solid-state storage such as flash-based SSDs. NVMe allows storage devices to communicate directly with CPUs without using controllers that are required by traditional storage interfaces and protocols, such as serial advanced technology attachment (SATA) and Serial Attached SCSI (SAS). This helps reduce data transfer latency. When a cloud disk is attached to an ECS instance based on NVMe, the NVMe disk can communicate with the CPUs of the ECS instance. This significantly shortens data transmission paths and reduces I/O access latency.

Limits

To use NVMe on an ECS instance, the instance family, image, and cloud disks of the ECS instance must meet the requirements in the following table.

Resource

Limit

Instance family

The instance family must support NVMe.

Note

To query instance families and check whether an instance family supports NVMe, call the DescribeInstanceTypes operation and view the value of the NvmeSupport parameter in the response.

Image

The image must contain the NVMe driver.

Note

Cloud disk

Only Enterprise SSDs (ESSDs) and ESSD AutoPL disks support NVMe.

Note
  • ESSDs that support NVMe are called NVMe disks.

  • NVMe disks for which the multi-attach feature is enabled are called shared NVMe disks. You can attach a shared NVMe disk to multiple ECS instances to share data. For more information, see Multi-attach for cloud disks.

Billing

NVMe is provided free of charge. You are charged for resources that support NVMe based on their corresponding billing methods. For information about the billing of ECS resources, see Billing overview.

Related operations

You can perform operations to use NVMe to improve the storage performance of ECS instances. The following table describes the related operations.

Operation

Description

Create an ECS instance that supports NVMe

When you purchase a custom instance, you can create ESSDs or ESSD AutoPL disks together with the instance. For more information, see Create an instance on the Custom Launch tab.

Separately create an ESSD, an ESSD AutoPL disk, or a Regional ESSD and attach the cloud disk to an ECS instance

  1. Create an empty data disk.

    Note

    When you separately create an ESSD or ESSD AutoPL disk, you can enable the multi-attach feature for the cloud disk. For more information, see Multi-attach for cloud disks.

  2. Attach a data disk.

Initialize an NVMe disk

Before you can use NVMe disks, you must initialize the disks regardless of whether the disks are created with instances or separately created. For more information, see Initialize a data disk.

Note

When you initialize an NVMe disk, make sure that the device name and partition name of the cloud disk are different from the device names and partition names of other cloud disks. For more information, see the Device names of NVMe disks section of this topic.

Other operations on NVMe disks are similar to the operations performed on cloud disks. For more information, see Disks.

Device names of NVMe disks

If an ESSD or ESSD AutoPL disk is attached to a Linux instance based on NVMe, the device name and partition name of the cloud disk are different from the device names and partition names of other cloud disks. To view the device names and partition names of NVMe disks, run the sudo fdisk -lu command.

For example, the following figure shows that three cloud disks are attached to the ECS instance. The cloud disks are NVMe disks.

  • The device names of the cloud disks are displayed in the /dev/nvmeXn1 format.

    • System disk: /dev/nvme0n1.

    • Data disks: /dev/nvme1n1, /dev/nvme2n1, and so on.

  • The partition names of the cloud disks are displayed in the <Device name>p<Partition number> format. For example, the system disk named /dev/nvme0n1 has the following partitions: /dev/nvme0n1p1, /dev/nvme0n1p2, and /dev/nvme0n1p3.

image