本文描述NVMe Spec中Namespace的概念,对于Multi-Namespace在企业级SSD应用较多,下面针对协议中定义的关键词进行介绍:
1. Namespace Overview
Namespace是一种可以由Host直接访问的格式化的non-volatile memory,Namespace ID (NSID) 是Controller用来提供对Namespace访问的标识符。
2. Valid and Invalid NSIDs
NVM Subsystem中可以使用的NSID为Valid NSID,如果NSID为0或超过identify中上报的Number of Namespaces field的值为Invalid NSID,NSID = FFFFFFFFh是一个广播值,用于指定所有的Namespace。
3. Allocated and Unallocated NSID Types
Allocated NSID Type: 指NVM Subsystem中存在的Namespace;
Unallocated NSID Type: 指NVM Subsystem中不存在的Namespace.
4. Active and Inactive NSID Types
Active NSID:是指关联在控制器的Namespace;
Inactive NSID:是指未附着在控制器的Namespace.
5. NSID and Namespace Relationships
除非特别说明,在使用NSID字段的Command中指定Inactive NSID,将导致Controller abort 该命令,返回状态码 Ivalid Field in Command。使用NSID字段指定Ivalid NSID,将导致Controller中止该命令,返回状态码Ivalid Namespace。