当前位置: 首页 > news >正文

Memory-based Controller Shutdown (PCIe)

        本文介绍NVMe协议中定义的Controller Shutdown流程,当Host需要下电或关机的情况下,应该按下面步骤对控制器进行有序的下电操作。

        Normal Controller Shutdown,Host应依次执行以下操作:

  1. 如果Controller是enabled(i.e., CC.EN is set to '1'):

    a.Host应该停止向Controller提交任何新的I/O Command,允许outstanding command完成;

    b.Host发送Delete I/O Submission Queue Command,删除之前Create的I/O Submission Queue,成功完成Delete I/O Submission Queue Command的结果就是,Submission Queue中任何剩余outstanding command都将被Aborted。

    c.Host发送Delete I/O Completion Queue,删除所有的I/O Completion Queue。

  2. Host应该将Shutdown Notification (CC.SHN)字段设置为01b,以指示Normal Controller shutdown操作。Controller通过将Shutdown Status (CSTS.SHST)字段更新为10b和Shutdown Type (CSTS.ST)字段清‘0’,来指示shutdown何时完成的。

        Abrupt Shutdown,Host应依次执行以下操作:

  1. 如果Controller是enabled(i.e., CC.EN is set to '1'),则停止向Controller提交任何新的I/O命令;
  2. Host应该将Shutdown Notification (CC.SHN)字段设置为10b,以指示Abrupt shutdown操作,Controller通过将Shutdown Status (CSTS.SHST)字段更新为10b和Shutdown Type (CSTS.ST)字段清‘0’,来指示shutdown何时完成的。

要进入D3电源状态,应该遵循Normal Controller Shutdown关闭步骤。

未完待续....

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 精通Redis-CLI:命令行玩转高效缓存
  • Ascend C算子开发(入门)—— 算子开发环境搭建
  • MyPrint打印设计器(四)vue3 函数式调用组件
  • python办公自动化:使用`Python-PPTX`创建和保存演示文稿
  • 常用的虚拟机连接工具(远程访问工具)
  • JVM中篇:字节码与类的加载篇-01-class文件结构
  • Android中apk安装过程源码解析
  • 以小搏大:Salesforce 十亿参数模型表现超过ChatGPT
  • 计算机的内存不足
  • 北峰370MHz应急窄带无线通信解决方案
  • (一)、软硬件全开源智能手表,与手机互联,标配多表盘,功能丰富(ZSWatch-Zephyr)
  • 酒店智能触摸开关的原理与应用
  • Linux 系统调优 2
  • 【PyTorch][chapter 27][李宏毅深度学习][transformer-1]
  • Qt与Python
  • 【EOS】Cleos基础
  • Android Studio:GIT提交项目到远程仓库
  • axios 和 cookie 的那些事
  • HTTP请求重发
  • Java 实战开发之spring、logback配置及chrome开发神器(六)
  • js算法-归并排序(merge_sort)
  • JWT究竟是什么呢?
  • spring + angular 实现导出excel
  • Zepto.js源码学习之二
  • 电商搜索引擎的架构设计和性能优化
  • 力扣(LeetCode)21
  • 文本多行溢出显示...之最后一行不到行尾的解决
  • 06-01 点餐小程序前台界面搭建
  • HanLP分词命名实体提取详解
  • 第二十章:异步和文件I/O.(二十三)
  • 格斗健身潮牌24KiCK获近千万Pre-A轮融资,用户留存高达9个月 ...
  • ​flutter 代码混淆
  • #NOIP 2014#day.2 T1 无限网络发射器选址
  • #我与Java虚拟机的故事#连载11: JVM学习之路
  • (06)Hive——正则表达式
  • (C#)获取字符编码的类
  • (done) 两个矩阵 “相似” 是什么意思?
  • (function(){})()的分步解析
  • (附源码)springboot学生选课系统 毕业设计 612555
  • (附源码)ssm高校社团管理系统 毕业设计 234162
  • (十六)一篇文章学会Java的常用API
  • (十一)图像的罗伯特梯度锐化
  • (学习日记)2024.03.25:UCOSIII第二十二节:系统启动流程详解
  • (原創) 如何解决make kernel时『clock skew detected』的warning? (OS) (Linux)
  • (转) Face-Resources
  • (转)Scala的“=”符号简介
  • .mat 文件的加载与创建 矩阵变图像? ∈ Matlab 使用笔记
  • .NET CF命令行调试器MDbg入门(四) Attaching to Processes
  • .NET Core/Framework 创建委托以大幅度提高反射调用的性能
  • .NET Core工程编译事件$(TargetDir)变量为空引发的思考
  • .net 开发怎么实现前后端分离_前后端分离:分离式开发和一体式发布
  • .NET 应用启用与禁用自动生成绑定重定向 (bindingRedirect),解决不同版本 dll 的依赖问题
  • /dev/VolGroup00/LogVol00:unexpected inconsistency;run fsck manually
  • /proc/interrupts 和 /proc/stat 查看中断的情况
  • @Bean, @Component, @Configuration简析