OCP NVME SSD规范解读-2.复位与控制器配置要求-part2

  1. Maximum Data Transfer Size (MDTS):设备应支持至少256KB的最大数据传输大小。

  2. CSTS.CFS Reporting: 设备固件应支持报告CSTS.CFS(Controller Status and Capabilities Field in the Status Register)。

  3. Queue Depths: 每个提交队列的SQ最小支持队列深度应为1024,且最小I/O队列对数应为512。

  4. Namespace Unique Identifiers: 默认的单个命名空间应在Identify Namespace数据结构的EUI64字段中有一个唯一的非零值。对于在工厂配置的初始命名空间之外创建的每个命名空间,设备应将Identify Namespace数据结构中的EUI64字段清零。

  5. Non-Zero NGUID per Namespace: 设备应支持每个命名空间的非零NGUID,并且这个值永远不会被重用(即Identify Namespace数据结构的Common Namespace Features字段中的UIDREUSE位应设置为'1')。

  6. Doorbell Stride and Location: Doorbell Stride字段应清零,所有Doorbells应放置在单一连续的4096字节MMIO空间中,并且对齐到4096字节边界。

Doorbells在NVMe系统中扮演着关键的角色。当主机想要向NVMe设备提交新的I/O请求时,它会通过写入相应的Doorbell寄存器来通知设备。每个提交队列都有一个关联的Doorbell寄存器。主机写入该Doorbell寄存器的值通常表示要处理的新命令的数量或者队列头部的更新位置。

由于Doorbell寄存器的位置和布局是标准化的,所以主机软件可以很容易地找到并操作这些寄存器,从而有效地与NVMe设备交互。这有助于提高数据传输的效率和性能。

Doorbell Stride and Location在NVMe(Non-Volatile Memory Express)控制器配置中是非常重要的参数,它们影响着主机如何与NVMe设备进行通信。

Doorbell Stride:

Doorbell Stride,也称为Doorbell Shift Count或Doorbell Register Stride,是描述在MMIO(Memory Mapped Input/Output)空间中相邻Doorbell寄存器之间的偏移量的字段。这个值通常以字节为单位。在NVMe规范中,要求将Doorbell Stride字段(CAP.DSTRD)清零,这意味着Doorbell寄存器之间没有偏移,即它们是连续排列的。

Doorbell Location:

Doorbell Location是指在MMIO空间中Doorbell寄存器开始的位置。根据NVMe规范的要求,所有Doorbells应放置在单一连续的4096字节MMIO空间中,并且对齐到4096字节边界。这意味着Doorbell寄存器的起始地址应该是4096的倍数。

  1. Controller Memory Buffer (CMB) Support: 如果支持CMB,实施应符合NVM Express Base 2.0 Specification或更高版本的要求,包括默认禁用CMB的要求。禁止使用符合NVM Express Base Specification 1.4版本之前的任何版本的CMB实现。

CMB被纳入到NVMe 1.2标准中,其目的是减少主机和设备之间的数据移动 。CMB是控制器内部的一块专用内存,通过PCIe总线访问。当CPU需要访问存储设备的数据时,它可以通过内存读写事务层封装(MRd或MRw)直接访问CMB,而不需要将整个数据块传输到主机内存。

  1. Controller Power Scope: 控制器能力属性中的Controller Power Scope字段应设置为11b,表示它是NVM子系统的范围(即NVM子系统不支持多个域)。

  2. NVM Command Set Support: 设备应支持NVM命令集(即Controller Capabilities属性中的Command Sets Supported字段应设置位0为1b,且Identify Controller数据结构中的Controller Type字段应设置为01h)。

  3. Submission and Completion Queue Entry Sizes: 设备应支持最大64字节的提交队列条目大小和最大16字节的完成队列条目大小。

  4. Memory Page Size Minimum: 设备应将Memory Page Size Minimum字段清零(表示最小页面大小为4 KiB)。

小编每日撰文不易,如果您看完有所受益,欢迎点击文章底部左下角"关注 "并点击"分享 "、"在看",非常感谢!

精彩推荐:

相关推荐
simodai7 小时前
机器学习1.Anaconda安装+环境配置
人工智能·机器学习
Agatha方艺璇7 小时前
CentOS7 Hive2.3.8 安装图文教程
大数据·数据库
SEO_juper7 小时前
SEO新手入门:什么是SEO及其作用
运维·服务器·搜索引擎·seo·数字营销·seo优化
IT_陈寒7 小时前
JavaScript 2024:10个颠覆你认知的ES新特性实战解析
前端·人工智能·后端
ModelWhale8 小时前
AI教育白皮书解读 | 医学教育数智化转型新机遇,“人工智能+”行动实践正当时
人工智能·ai
大模型真好玩8 小时前
大模型工程面试经典(五)—大模型微调与RAG该如何选?
人工智能·面试·deepseek
云手机掌柜8 小时前
下一代社媒运营工具:亚矩阵云手机集成AIGC与数字人技术引领内容革命
大数据·线性代数·智能手机·矩阵·aigc
ZYMFZ9 小时前
Linux 防火墙 Firewalld
linux·运维·服务器
九章云极AladdinEdu9 小时前
临床数据挖掘与分析:利用GPU加速Pandas和Scikit-learn处理大规模数据集
人工智能·pytorch·数据挖掘·pandas·scikit-learn·paddlepaddle·gpu算力
上海锝秉工控9 小时前
超声波风向传感器:以科技之翼,捕捉风的每一次呼吸
大数据·人工智能·科技