特性配置 - 1. 最大数据传输大小 (MDTS) (第253页)
NVME2.0协议解读 1 min read

特性配置 - 1. 最大数据传输大小 (MDTS) (第253页)

Blog Author

在《NVM Express® Base Specification, revision 2.0b》文档中,Identify命令的Identify Controller数据结构(CNS 01h)继续详细描述了控制器的其他关键参数。以下是对这些参数的深入分析:

1. 最大数据传输大小 (MDTS)

  • 描述:该字段指示主机与控制器之间数据传输的最大大小。也就是说,主机提交的任何数据传输命令的大小不能超过此字段指定的最大值。如果命令超出此最大传输大小,控制器将中止该命令,并返回“Invalid Field in Command”状态码。

  • 单位和计算:该值以最小内存页面大小(CAP.MPSMIN)为单位,并且以2的幂次方(2^n)表示。如果该值为0h,表示没有最大数据传输大小限制。需要注意的是,如果元数据与用户数据交织在一起,则该字段的大小计算应包括元数据的长度。

  • 适用范围:该字段适用于所有涉及数据传输的命令(例如读取和写入命令)。对于不涉及数据传输的命令(如Verify命令、Write Uncorrectable命令和Write Zeroes命令),该字段不适用。

  • SGL Bit Bucket描述符:如果支持SGL(Scatter-Gather List)Bit Bucket描述符,那么其目标数据缓冲区的长度应包括在判断是否超过最大数据传输大小的计算中;而源数据缓冲区的长度不包括在内。

2. 控制器ID (CNTLID)

  • 描述:该字段包含与控制器关联的NVM子系统唯一控制器标识符。控制器ID用于区分和识别不同的控制器,并确保命令在正确的控制器上执行。此ID对于系统中多个控制器的识别和管理至关重要。

3. 版本 (VER)

  • 描述:该字段包含版本号,表示控制器所报告的NVM实现版本。对于符合NVM Express Base Specification revision 1.2及更高版本的实现,该字段必须包含非零值。该版本值是从协议的第3.1.3.2节中定义的版本属性中提取的,用于标识控制器所实现的NVM协议版本。

4. RTD3恢复延迟 (RTD3R)

  • 描述:该字段指示从运行时D3(RTD3)状态恢复所需的预计延迟,单位为微秒。RTD3是低功耗状态,控制器可能会进入此状态以节省能源。该字段用于评估控制器从低功耗状态恢复到活动状态所需的时间。

  • 适用情况:该字段仅在RTD3恢复延迟得以报告时有效。如果值为0h,表示不报告该延迟。

5. RTD3进入延迟 (RTD3E)

  • 描述:该字段指示进入RTD3状态所需的典型延迟,单位为微秒。进入RTD3状态是为了使控制器进入低功耗模式,该延迟用于评估控制器从正常工作状态切换到低功耗模式的时间。

  • 适用情况:与RTD3恢复延迟类似,该字段只有在RTD3进入延迟得以报告时有效。如果值为0h,表示不报告该延迟。

总结

这些字段为控制器的性能和功能提供了详细的信息,尤其是在数据传输、功耗管理和版本控制方面。每个字段的具体用途如下:

  • MDTS:确保主机与控制器之间的数据传输不会超过控制器能够处理的最大值,这有助于优化性能和确保稳定性。
  • CNTLID:唯一标识控制器,尤其在多控制器环境中至关重要。
  • VER:标识控制器所实现的NVM协议版本,对于版本兼容性和功能扩展具有重要意义。
  • RTD3R和RTD3E:提供关于控制器进入和退出低功耗模式的延迟信息,这对于节能系统和高效能管理至关重要。

理解这些字段有助于全面把握控制器的性能特性、资源管理能力和与主机之间的接口规范。