Group 1 Admin Command Set的第五项是Abort Command测试。
Case1:Basic Operation
- 测试方法:
- Host发送10个Read command给SSD
- Host发送1个Abort command给SSD,指定abort前面某一个read command
- 期望结果:
- SSD针对每一个接收的命令,正确回复CQ
- SSD回复Abort command的CQ到Admin CQ以后,正确回复被Abort的read command的CQ
- 检查Abort command的CQ的Dword 0 bit 0判断Abort是否成功,如果成功检查被abort的read command的CQ的状态应该为 “Command Abort
Requested” - SSD回复信息所有的Reserved字段为0
Group 1 Admin Command Set的第六项是Format Command测试。
Case1:Valid LBAF, SES=000b
- 测试方法:
- 确认SSD是否支持Format命令,如果不支持,该Case无效;
- 向SSD写入一笔指定pattern的数据到指定LBA;
- 发送read command,读取步骤2写入的LBA;
- 发送Format命令,设置SES=000b,NamespaceID=FFFFFFFFh;
- 发送read command,读取步骤2写入的LBA;
- SSD回复信息所有的Reserved字段应该为0
- 期望结果:
- SSD针对每一个接收的命令,正确回复CQ
- 步骤3能够读回指定pattern数据
- 步骤5无法读回指定pattern数据
Case2:Valid LBAF, SES=001b
- 测试方法:
- 确认SSD是否支持Format命令,如果不支持,该Case无效;
- 向SSD写入一笔指定pattern的数据到指定LBA;
- 发送read command,读取步骤2写入的LBA;
- 发送Format命令,设置SES=001b,NamespaceID=FFFFFFFFh;
- 发送read command,读取步骤2写入的LBA;
- SSD回复信息所有的Reserved字段应该为0
- 期望结果:
- SSD针对每一个接收的命令,正确回复CQ
- 步骤3能够读回指定pattern数据
- 步骤5无法读回指定pattern数据
Case3:Valid LBAF, SES=010b
- 测试方法:
- 确认SSD是否支持Format命令,如果不支持,该Case无效;
- 向SSD写入一笔指定pattern的数据到指定LBA;
- 发送read command,读取步骤2写入的LBA;
- 发送Format命令,设置SES=010b,NamespaceID=FFFFFFFFh;
- 发送read command,读取步骤2写入的LBA;
- SSD回复信息所有的Reserved字段应该为0
- 期望结果:
- SSD针对每一个接收的命令,正确回复CQ
- 步骤3能够读回指定pattern数据
- 步骤5无法读回指定pattern数据
Case4:Valid LBAF, SES=111b (reserved value)
- 测试方法:
- 确认SSD是否支持Format命令,如果不支持,该Case无效;
- 向SSD写入一笔指定pattern的数据到指定LBA;
- 发送read command,读取步骤2写入的LBA;
- 发送Format命令,设置SES=111b,NamespaceID=FFFFFFFFh;
- 发送read command,读取步骤2写入的LBA;
- SSD回复信息所有的Reserved字段应该为0
- 期望结果:
- SSD针对每一个接收的命令,正确回复CQ
- 步骤3能够读回指定pattern数据
- 步骤5能够读回指定pattern数据
- 针对Format命令,SSD回复错误 – Invalid Field
Case5:Invalid LBAF, SES=000b
- 测试方法:
- 确认SSD是否支持Format命令,如果不支持,该Case无效;
- 向SSD写入一笔指定pattern的数据到指定LBA;
- 发送read command,读取步骤2写入的LBA;
- 发送Format命令,设置Invalid LBAF;
- 发送read command,读取步骤2写入的LBA;
- SSD回复信息所有的Reserved字段应该为0
- 期望结果:
- SSD针对每一个接收的命令,正确回复CQ
- 步骤3能够读回指定pattern数据
- 步骤5能够读回指定pattern数据
- 针对Format命令,SSD回复错误 – Invalid Format
Case6:Invalid LBAF, SES=111b
- 测试方法:
- 确认SSD是否支持Format命令,如果不支持,该Case无效;
- 向SSD写入一笔指定pattern的数据到指定LBA;
- 发送read command,读取步骤2写入的LBA;
- 发送Format命令,设置Invalid LBAF,设置SES=111b;
- 发送read command,读取步骤2写入的LBA;
- SSD回复信息所有的Reserved字段应该为0
- 期望结果:
- SSD针对每一个接收的命令,正确回复CQ
- 步骤3能够读回指定pattern数据
- 步骤5能够读回指定pattern数据
- 针对Format命令,SSD回复错误 – Invalid Format + Invalid Field
Case7:Valid LBAF, SES=000b, PI is non-zero
- 测试方法:
- 确认SSD是否支持Format命令,如果不支持,该Case无效;
- 向SSD写入一笔指定pattern的数据到指定LBA;
- 发送read command,读取步骤2写入的LBA;
- 发送Format命令,设置SES=000b,NamespaceID=FFFFFFFFh,PI=001b;
- 发送read command,读取步骤2写入的LBA;
- SSD回复信息所有的Reserved字段应该为0;
- 设置PI=010b和011b并重复以上测试;
- 期望结果:
- 如果SSD支持E2E Data Protection:
- SSD针对每一个接收的命令,正确回复CQ
- 步骤3能够读回指定pattern数据
- 步骤5无法读回指定pattern数据
- 如果SSD支持E2E Data Protection:
如果SSD不支持E2E Data Protection,针对Format命令,SSD回复错误 –Invalid Field