HostNvmeNamespace

HostNvmeNamespace
HostNvmeNamespace

This data object represents an NVM Express Namespace.

In the NVME model, the underlying non-volatile storage medium is exposed via namespaces. For further information, see:

  • "NVM Express over Fabrics 1.0", Section 1.5.2, "NVM Subsystem".
  • "NVM Express 1.3", section 6.1, "Namespaces".
AllOf
This class requires all of the following:
JSON Example
{
    "_typeName": "string",
    "key": "string",
    "name": "string",
    "id": 0,
    "blockSize": 0,
    "capacityInBlocks": 0
}
string
key
Required

The linkable identifier.

This is a unique identifier of the NVME namespace within the host system.

string
name
Required

The name of the namespace.

The name identifies the underlying storage exposed by the NvmeNamespace. In multipath scenarios, two namespaces can have the same name if they expose the same underlying storage through different NVME controllers.

integer As int32 As int32
id
Required

The namespace ID is an identifier used by an NVME controller to provide access to a namespace.

The namespace ID is only unique among the namespaces attached to the same controller. For details, see:

  • "NVM Express 1.3", section 6.1, "Namespaces".
integer As int32 As int32
blockSize
Required

Block size of the namespace in bytes.

Namespaces are comprised of a number of logical blocks with a fixed size - the smallest units of data that may be read or written by the NVME controller.

integer As int64 As int64
capacityInBlocks
Required

The maximum number of logical blocks that may be allocated in the namespace at any point in time.

Corresponds to the NCAP field in the Identify Namespace data structure:

  • "NVM Express 1.3", Section 5.15, Figure 114, "Identify Namespace Data Structure"