Group 9 测试 Namespace Management
Test 9.1 – Namespace Management Identify Command
Case 1:CNS 10h & 11h – Namespace Lists
测试步骤
- 检查SSD是否支持Namespace Management,如果不支持,本测试无效;
- Host发送Identify command,将CNS设为10h,将NSID设为 00h,获取包含所有被分配的Namespace的Namespace List;
- Host向Namespace List中的每一个Namespace发送Identify command,将CNS设为11h,将NSID设为相应值,获取每一个Namespace的Identify Namespace data structure;
期望结果
- Data structure被发送到PRP entry1,PRP entry 2以及Command Dword 10指定内存地址,SSD正常返回CQ;
- 所有的Identify Namespace data structure不是全‘0’填充;
- Namespace List中没有被使用的entry,为全‘0’填充;
Case 2: CNS 12h – Controller List – Controllers Attached to a Namespace
测试步骤
- 检查SSD是否支持Namespace Management,如果不支持,本测试无效;
- Host发送Identify command,将CNS设为02h,将NSID设为 00h,获取包含所有active的Namespace的Namespace List;
- Host向Namespace List中的每一个Namespace发送Identify command,将CNS设为12h,将CNTID设为00h,将CDW1.NSID设为相应值,获取包含所有attach到该Namespace的controller ID的Controller List;
期望结果
- Data structure被发送到PRP entry1,PRP entry 2以及Command Dword 10指定内存地址,SSD正常返回CQ;
- 返回的Controller List中包括当前被测试的Controller ID;
- Controller List包含有效值,有被使用的Entry为全‘0’填充;
Case 3: CNS 13h – Controller List – All Controller
测试步骤
- 检查SSD是否支持Namespace Management,如果不支持,本测试无效;
- Host发送Identify command,将CNS设为13h,将CNTID设为00h,获取包含该NVM subsystem中所有Controller ID的Controller List;
期望结果
- Data structure被发送到PRP entry1,PRP entry 2以及Command Dword 10指定内存地址,SSD正常返回CQ;
- 返回的Controller List中包括当前被测试的Controller ID;
- Controller List包含有效值,有被使用的Entry为全‘0’填充;
Case 4:Common Namespace Data Structure
测试步骤
- 检查SSD是否支持Namespace Management,如果不支持,本测试无效;
- Host发送Identify command,将CNS设为10h,将NSID设为 FFFFFFFFh,获取包含有各Namespace之间通用的specifies capabilities的Identify Namespace data structure;
期望结果
- Data structure被发送到PRP entry1,PRP entry 2以及Command Dword 10指定内存地址,SSD正常返回CQ;
Test 9.2 – Namespace Management command
Case 1: Namespace Creation – Exceed Number Supported
测试步骤
- 检查SSD是否支持Namespace Management,如果不支持,本测试无效;
- Host发送Namespace Management command,将Select字段设为0h(create),并为所带data structure设置合理值;
- Host发送Identify command,将CNS设为11h,将NSID设为步骤2刚创建的Namespace的ID,获取其Identify Namespace data structure;
- 重复步骤2创建更多Namespace,直到超过SSD支持的最大值;
期望结果
- SSD正常返回CQ;
- 步骤2成功创建一个inactive的Namespace,同时步骤3回复的Identify Namespace data structure中的capabilities与步骤2通过Namespace Management command设置的相同;
- 步骤4连续创建Namespace,超出SSD支持的最大数量时,SSD返回状态 “ Namespace Identifier Unavailable”;
Case 2: Namespace Deletion
测试步骤
- 检查SSD是否支持Namespace Management,如果不支持,本测试无效;
- Host发送Namespace Management command,将Select字段设为1h(create),将NSID设为一个active的Namespace;
- Host发送Identify command,将CNS设为02h,将NSID设为 00h,获取包含所有active的Namespace的Namespace List;
期望结果
- SSD正常返回CQ;
- 步骤2删除掉的Namespace,没有出现在步骤3返回的Namespace List中;
Case 3:Namespace Creation – Insufficient Capacity
测试步骤
- 检查SSD是否支持Namespace Management,如果不支持,本测试无效;
- Host发送Namespace Management command,将Select字段设为0h(create),并为所带data structure设置合理值;
- Host发送Identify command,将CNS设为11h,将NSID设为步骤2刚创建的Namespace的ID,获取其Identify Namespace data structure;
- 重复步骤2创建更多Namespace,直到占用空间超过SSD支持的最大容量;
期望结果
- SSD正常返回CQ;
- 步骤2成功创建一个inactive的Namespace,同时步骤3回复的Identify Namespace data structure中的capabilities与步骤2通过Namespace Management command设置的相同;
- 步骤4连续创建Namespace,占用空间超过SSD支持的最大容量时,SSD返回状态 “ Namespace Insufficient Capacity”;
Test 9.3 – Namespace Attachment Command
Case 1:Namespace Attachment
测试步骤
- 检查SSD是否支持Namespace Management,如果不支持,本测试无效;
- Host发送Namespace Attachment Command, 将Select字段设为0h(attach),NSID设为一个inactive的Namespace,并在自带的data structure中指定相应的Controller ID;
- Host发送Identify command,将CNS设为02h,将NSID设为 00h,获取包含所有active的Namespace的Namespace List;
- 重复步骤2进行Attach操作,使用与步骤2相同的Namespace ID;
期望结果
- SSD正常返回CQ;
- 步骤3返回的Namespace List中,包括步骤2中attach的Namespace;
- 步骤4的第二次Attach操作,SSD返回状态 – “Namespace Already Attached”;
Case 2: Namespace Detachment
测试步骤
- 检查SSD是否支持Namespace Management,如果不支持,本测试无效;
- Host发送Namespace Attachment Command, 将Select字段设为1h(Detach),NSID设为一个inactive的Namespace,并在自带的data structure中指定相应的Controller ID;
- Host发送Namespace Attachment Command, 将Select字段设为1h(Detach),NSID设为一个当前attach的Namespace,并在自带的data structure中指定相应的Controller ID;
- Host发送Identify command,将CNS设为02h,将NSID设为 00h,获取包含所有active的Namespace的Namespace List;
期望结果
- SSD正常返回CQ;
- 步骤2的Namespace Attachment Command,SSD返回状态 – “Namespace Not Attached”;
- 步骤4返回的Namespace List中不包括步骤3中被detach的Namespace;
Group 10 测试 System Bus Register
Test 10.1 PCI Express Capability Registers
测试步骤
- 配置Host与SSD建立PCIe link,enable NVMe controller;
- 检查PCIe bringup过程,检查PXCAP内容并记录,确定PCIe capability structure ID为0x10;
期望结果
- PCIe Capabilities寄存器 (PXCAP) 遵循NVMe协议 Section 2.5的规定;
所有reserved bit为0;