• 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子系统有一个自检操作正在进行中
  • 相关阅读:
    一文搞定防盗链设计
    学习记录——day29 网络编程
    高性能计算和并行计算的关系
    13.文件输入/输出
    【SpringBoot】微服务中异步调用数据提交数据库的问题
    python蛇形填数
    spring源码解析、并发编程实战实践等深度进阶电子文档分享
    芒果改进YOLOv7系列:首发改进特征融合网络BiFPN结构,融合更多有效特征
    ASP.NET 身份认证框架 Identity(一)
    详细讲解网络协议:TCP和UDP什么区别?
  • 原文地址:https://blog.csdn.net/hongfuhaocomon/article/details/132902633