• 5.8 Device Self-test command


    5.8 Device Self-test command

    Device Self-test 命令是被用来执行了一个设备自检操作或者中断一个设备自检操作。通常是一下操作:
    a) 开始一个简短的自检操作。
    b) 开始一个扩展的自检操作。
    c) 开始一个自定义的自检操作。
    d) 中断一个正在进行的自检操作
    自检操作在controller 提交一个了一个自检命令后被执行。命名空间标识符字段控制哪些命名空间包含在设备自检操作中,如图165所示。
    Figure 165: Device Self-test Namespace Test Action
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    ValueDescription
    00000000h指定设备自检操作不应包括任何namespace,并且只有控制器作为设备自检操作的一部分
    00000001h toFFFFFFFEh自检操作指定该namespace,如果namespace ID无效,命令会被中断,并返回错误状态是“Invalid Namespace” or “Format”,如果namespace ID没有激活,命令会被中断,并返回错误状态是“Invalid Filed”
    FFFFFFFFh指定设备之间操作包括当前controller 可以访问的所有已激活的namespace
    Device Self-test 命令需要使用Dword10字段,其他指定字段都是保留的。
    Figure 166: Device Self-test – Command Dword 10
    
    • 1
    • 2
    BitsDescription
    31:04Reserved
    03:00Self-test Code (STC): 此字段指定设备自检命令所采取的操作。具体定义看 Figure 1.

    Figure 1 Self-test Code

    ValueDefinition
    0hReserved
    1h开始一个简短的自检操作
    2h开始一个扩展的自检操作
    3h to DhReserved
    Ehvendor 自定义
    Fh中断自检操作
    设备自检命令的处理以及与已经进行的设备自检操作的交互如图167所示。
    
    • 1

    5.8.1 Command Completion

    如图167所示,在采取适当的操作后,完成队列条目被发布到AdminCompletionQueue。设备自检命令特定状态值如图168所示
    Figure 168: Device Self-test – Command Specific Status Values
    
    • 1
    • 2
    ValueDescription
    1DhDevice Self-test in Progress: controller 或者一个NVM子系统有一个自检操作正在进行中
  • 相关阅读:
    【Unity2D】关卡编辑好帮手——TileMap
    初涉Django(创建第一个Django项目)
    基于Springboot实现汽车4S店销售管理系统
    商业银行如何构建一体化监控
    socket开发步骤及相关API介绍
    阿里Java面试参考指南
    m短波宽带通信系统的信道建模matlab仿真
    Leo赠书活动-07期 【嵌入式虚拟化技术与应用】文末送书
    讲一个linux服务启动报错问题排查
    SimaPro生命周期评估建模与碳足迹分析流程
  • 原文地址:https://blog.csdn.net/hongfuhaocomon/article/details/132902633