OCP NVME SSD规范解读-5.命令超时限制

图片

图片

在"4.7 Command Timeout"章节中,详细定义了NVMe命令的超时要求和限制。

  1. CTO-1:NVMe管理命令和TCG(可信计算组)命令从提交到完成不应超过10秒,且没有其他命令未完成(QD1)。CTO-1不适用于由设备自测和净化命令启动的后台操作的时间。CTO-1也不适用于异步事件请求命令。

在CTO-1的要求中,规定在没有其他未完成命令的情况下,命令的执行时间不应超过10秒。这意味着在评估命令执行时间时,只考虑单个命令的情况,而不考虑队列中可能存在的其他命令。这是因为如果有其他未完成的命令,它们可能会共享系统资源,从而影响当前命令的执行时间。

  1. CTO-2:CTO-1的唯一例外是对于非加密擦除操作的Format NVM命令。Format NVM的加密擦除和TCG方法Revert, RevertSP和GenKey应符合CTO-1的要求。

  2. CTO-3:一旦满足TTR-2,单个I/O命令(QD1)从提交到完成不应超过8秒。在一个小时内,设备不应有超过7个I/O操作超过2秒

通过限定在QD1的情况下评估命令执行时间,可以更准确地衡量单个I/O命令的处理能力,而不受其他并发命令的影响。

图片

图片

这个要求的主要目的是为了确保NVMe设备在达到特定条件后能够及时、有效地处理I/O命令,防止由于个别命令执行时间过长而导致的系统性能下降和用户体验不佳。这个要求强调了设备在正常工作状态下对I/O请求的快速响应能力。

  1. CTO-4:I/O命令处理时间不应依赖于设备容量。

  2. CTO-5:设备供应商应披露任何可能导致违反CTO-1至CTO-4超时要求的I/O场景。

  3. CTO-6:设备应设置MDTS、Number of Queues特性(特性标识符07h)的属性和Maximum Queue Entries Supported,以确保不会违反CTO-3。

MDTS (Maximum Data Transfer Size): 这个设置定义了设备在单个I/O操作中能够传输的最大数据量。设备应设置这个值,以确保其符合特定的性能和兼容性要求。MDTS的大小可能会影响数据传输的效率和系统的整体性能。

图片

Number of Queues feature (Feature Identifier 07h): 在NVMe规范中,每个控制器可以支持多个队列,这些队列用于处理主机发出的I/O命令。特征标识符07h对应的是“队列数量特性”,这个特性定义了设备支持的队列数量。设备供应商需要设置这个特性的属性,以确保设备能够有效地处理多任务并行I/O操作。

图片

图片

Maximum Queue Entries Supported: 这个设置定义了每个队列可以容纳的最大命令数量。设备应设置这个值,以确定每个队列能够同时处理的并发命令数量。这直接影响到设备的并行处理能力和系统性能。

图片

图片

NVMe Spec对Admin SQ/CQ和IO SQ/CQ有不同的约定:

  • 系统中只有一对Admin SQ/CQ,则可以有最多64K对 IO SQ/CQ;

  • Admin SQ/CQ的队列深度是2~4K;而IO SQ/CQ的队列深度是2~64K;注: Admin/IO command大小为64B,对应的Completion大小为16B。

  • Admin SQ和CQ是一对一的,而IO SQ和CQ可以一对一,也可以多对一。多个SQ可以支持多线程工作,不同SQ之间可以赋予不同的优先级;

  1. CTO-7:这段话规定了设备在由TCG命令发起执行的Sanitize Crypto Erase擦除操作以及后台活动时,操作需要在10秒内完成。

  2. CTO-8:采用Block Erase和Format擦除用户数据擦除的命令,每TB执行时间不超过10s。如果一个4TB SSD,擦除就应在40秒内完成。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/303288.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

九州金榜|家庭教育小技巧如何培养优秀孩子

信任和期望可以激发孩子的智商和能力,孩子是否出色,取决于家长们如何去“套路”去“培养”。 优秀的孩子不是逼出来的,而是被父母套路出来的,引导孩子找到自我价值感,才是家庭教育中最重要的一课! 曾经看…

Python自动化办公之PDF拆分

今天我们继续分享真实的自动化办公案例,希望各位 Python 爱好者能够从中得到些许启发,在自己的工作生活中更多的应用 Python,使得工作事半功倍! 需求 需要从 PDF 中取出几页并将其保存为新的 PDF,为了后期使用方便&a…

21. Mysql 事件或定时任务,解放双手,轻松实现自动化

文章目录 概念常见操作事件调度器操作查看事件创建事件删除事件启动与关闭事件 精选示例构造实时数据定时统计数据 总结参考资料 概念 Mysql 事件是一种在特定时间点自动执行的数据库操作,也可以称呼为定时任务,它可以自动执行更新数据、插入数据、删除…

FileStream文件管理

文件管理 FileStream:是一个用于读写文件的一个类。它提供了基于流的方式操作文件,可以进行读取、写入、查找和关闭等操作。 第一个参数:path(路径) 相对路径:相对于当前项目的bin目录下的Debug和Realse来…

金蝶EAS pdfviewlocal 任意文件读取漏洞复现

0x01 产品简介 金蝶EAS 为集团型企业提供功能全面、性能稳定、扩展性强的数字化平台,帮助企业链接外部产业链上下游,实现信息共享、风险共担,优化生态圈资源配置,构筑产业生态的护城河,同时打通企业内部价值链的数据链…

Android Matrix (三)矩阵组合和应用变换

在 Android 开发中,Matrix 类不仅提供了 mapPoints 方法来变换点坐标,还提供了多种其他用法,使其成为处理图像和视图变换的强大工具。以下是 Matrix 类的一些关键用法: 1. 变换方法 setTranslate(float dx, float dy): 设置矩阵…

Qt/QML编程学习之心得:一个音频播放器的实现(29)

在window下,打开音乐播放器,然后打开一个.mp3文件,就可以实现播放了,那么在Qt/QML中如何实现呢?首先所有的设计都是基于音乐播放器的,嵌入式linux下同样也有音乐播放器,比如mplayer。其调用方法…

用通俗易懂的方式讲解:2024 检索增强生成技术(RAG)研究进展

本篇内容1w字左右,稍微有点长,相对不容易理解,喜欢可以收藏、关注、点赞。 一、前言 在过去的一两年里,人工智能领域目睹了检索增强生成技术(RAG)的迅猛发展,这种技术结合了强大的语言模型与信…

Tracert 与 Ping 程序设计与实现(2024)

1.题目描述 了解 Tracert 程序的实现原理,并调试通过。然后参考 Tracert 程序和计算机网络教材 4.4.2 节, 计算机网络 课程设计指导书 2 编写一个 Ping 程序,并能测试本局域网的所有机器是否在线,运行界面如下图所示的 QuickPing …

基于深度学习的PCB板缺陷检测系统(含UI界面、yolov5、Python代码、数据集)

项目介绍 项目中所用到的算法模型和数据集等信息如下: 算法模型:     yolov5 yolov5主要包含以下几种创新:         1. 添加注意力机制(SE、CBAM、CA等)         2. 修改可变形卷积(DySnake-主…

linux执行.sh文件出现问题--排查以及解决

阿丹问题描述: 今天在运行.sh文件的时候出现 现象1: 现象2: 现象3: 出现这三种问题 问题解释以及问题排查: 现象1: 排查: 1、判断文件是否存在 2、判断权限是否足够 解决&#xff1…

【AI视野·今日Sound 声学论文速览 第四十二期】Fri, 5 Jan 2024

AI视野今日CS.Sound 声学论文速览 Fri, 5 Jan 2024 Totally 10 papers 👉上期速览✈更多精彩请移步主页 Daily Sound Papers PosCUDA: Position based Convolution for Unlearnable Audio Datasets Authors Vignesh Gokul, Shlomo Dubnov深度学习模型需要大量干净的…

1.8 day6 IO进程线程

使用有名管道实现两个进程之间的通信 进程A #include <myhead.h> int main(int argc, const char *argv[]) {//创建两个文件描述符用于打开两个管道int fd1-1;int fd2-1;//创建一个子进程int pid-1;if((fd1open("./mkfifo1",O_RDWR))-1){perror("open er…

java中常见的一些小知识(1)

1.数组转List 1.1. Arrays.asList public class Tesr {public static void main(String[] args) {String[] ary new String[]{ "1", "a"};List<String> list Arrays.asList((ary));list.add("ddsdsa");System.out.println(list);}}但是…

SCI一区级 | Matlab实现RIME-CNN-LSTM-Mutilhead-Attention多变量多步时序预测

SCI一区级 | Matlab实现RIME-CNN-LSTM-Mutilhead-Attention多变量多步时序预测 目录 SCI一区级 | Matlab实现RIME-CNN-LSTM-Mutilhead-Attention多变量多步时序预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 1.Matlab实现RIME-CNN-LSTM-Mutilhead-Attention霜冰算法…

简单几步,实现餐厅扫码点餐

越来越多的人选择外出就餐&#xff0c;而餐厅的点餐方式也随着科技的发展而不断进步。其中&#xff0c;扫码点餐是最为常见的一种方式&#xff0c;它不仅方便快捷&#xff0c;还能节省人力成本。本文将介绍一种简单易行的餐厅扫码点餐解决方案。 打开乔拓云平台&#xff0c;登录…

华为认证 | 这门HCIE认证正式发布!

华为认证openEuler专家HCIE-openEuler V1.0&#xff08;中文版&#xff09;自2023年12月29日起&#xff0c;正式在中国区发布。 01 发布概述 基于“平台生态”战略&#xff0c;围绕“云-管-端”协同的新ICT技术架构&#xff0c;华为公司打造了覆盖ICT领域的认证体系&#xff0…

【JavaSE】Java中的反射动态代理

本篇文章整理的内容来源于: 反射原理 文章目录 一. 动态代理1. 优点2. 动态代理三要素3. 创建代理对象并使用 二. 反射1. 什么是反射2. 获取字节码文件对象的三种方式(1) Class.forName()获取 (源代码阶段)(2) 通过class属性获取(3) 通过对象获取字节码文件对象 3. 获取构造方…

基于深度学习的停车位关键点检测系统(代码+原理)

摘要&#xff1a; DMPR-PS是一种基于深度学习的停车位检测系统&#xff0c;旨在实时监测和识别停车场中的停车位。该系统利用图像处理和分析技术&#xff0c;通过摄像头获取停车场的实时图像&#xff0c;并自动检测停车位的位置和状态。本文详细介绍了DMPR-PS系统的算法原理、…

django websocket实现聊天室功能

注意事项channel版本 django2.x 需要匹配安装 channels 2 django3.x 需要匹配安装 channels 3 Django3.2.4 channels3.0.3 Django3.2.* channels3.0.2 Django4.2 channles3.0.5 是因为最新版channels默认不带daphne服务器 直接用命令 python manage.py runsever 默认运行的是w…