Group 2 NVM Command Set的第1项是Compare command测试。
Case 1: Valid SLBA
测试步骤:
- 检查SSD是否支持Compare command,如果不支持该case无效;
- Host发送write command,写入指定数据到LBA 0000h;
- Host发送compare command,指定待比较的数据为步骤2写入数据;
期望结果:
- SSD正常回复所有命令的CQ;
- Compare命令正确完成;
Case 2: SLBA Out of Range
测试步骤:
- 检查SSD是否支持Compare command,如果不支持该case无效;
- Host发送write command,写入指定数据到LBA 0000h;
- Host发送compare command,指定待比较的数据为步骤2写入数据, 指定SLBA地址超出SSD空间;
期望结果:
- SSD返回该Compare命令状态为”LBA out of Range”;
Case 3: SLBA in Range, NLB Goes out of range
测试步骤:
- 检查SSD是否支持Compare command,如果不支持该case无效;
- Host发送write command,写入指定数据到LBA 0000h;
- Host发送compare command,指定待比较的数据为步骤2写入数据, 指定SLBA在SSD空间范围内,同时设置NLB值使其在SLBA的基础超出namespace的空间;
期望结果:
- SSD返回该Compare命令状态为”LBA out of Range”;
Case 4: SLBA Out of Range, NLB> MDTS
测试步骤:
- 检查SSD是否支持Compare command,如果不支持该case无效;
- Host发送write command,写入指定数据到LBA 0000h;
- Host发送compare command,指定待比较的数据为步骤2写入数据, 指定SLBA地址超出SSD空间;并且设置NLB> MDTS;(如果MDTS值为0,本case无效)
期望结果:
- SSD返回该Compare命令状态错误,可以是任意error status code;
Case 5: SLBA Out of Range, but lower Dword=00000000
测试步骤:
- 检查SSD是否支持Compare command,如果不支持该case无效;
- Host发送write command,写入指定数据到LBA 0000h;
- Host发送compare command,指定待比较的数据为步骤2写入数据, 指定SLBA地址=FFFFFFFF00000000h, 当作为64位值时超过SSD地址空间,并且NLB< MDTS
期望结果:
- SSD返回该Compare命令状态为”LBA out of Range”;
Case 6: Invalid Namespace ID
测试步骤:
- 检查SSD是否支持Compare command,如果不支持该case无效;
- Host发送write command,写入指定数据到LBA 0000h;
- Host发送compare command,指定待比较的数据为步骤2写入数据, 设置一个无效的Namespace ID(超过SSD上报值),如果SSD上报值为0xFFFFFFFF,本测试无效;
期望结果:
SSD返回该Compare命令状态为”Invalid Namespace or Format”;