控制器寄存器与属性配置 - 第72页
NVME2.0协议解读 1 min read

控制器寄存器与属性配置 - 第72页

Blog Author

深入分析 NVM Express® Base Specification, revision 2.0b

3.1.3.13 BPINFO – Boot Partition Information(启动分区信息)

该属性提供了有关启动分区的信息。它用于标识当前活动的启动分区以及启动分区读取操作的状态。

字段解析:

  • Active Boot Partition ID (ABPID)
    此位指示当前活动的启动分区的标识符。它用于确认哪个分区正在作为启动分区进行操作。

  • Boot Read Status (BRS)
    该字段指示主机发起的启动分区读取操作的状态。其值的定义如下:

  • 00b:未请求启动分区读取操作。
  • 01b:启动分区读取操作正在进行。
  • 10b:启动分区读取操作成功完成。
  • 11b:启动分区读取操作出现错误。

当主机写入 BPRSEL.BPID 字段时,该字段将变为 01b,表示启动分区读取操作正在进行。如果操作成功完成,该字段将变为 10b,如果操作失败,则将其设置为 11b,并且启动分区读取内容将是未定义的。

  • Boot Partition Size (BPSZ)
    该字段定义了每个启动分区的大小,以 128 KiB 为单位。两个启动分区的大小相同。

3.1.3.14 BPRSEL – Boot Partition Read Select(启动分区读取选择)

这是一个可选属性,用于发起启动分区的数据传输(参见第 8.2 节)。如果控制器不支持启动分区功能,则此属性应清除为 0h

字段解析:

  • Boot Partition Identifier (BPID)
    该字段指定要读取的启动分区标识符。

  • Boot Partition Read Offset (BPROF)
    该字段选择启动分区中的偏移量(以 4 KiB 为单位),控制器将从该位置开始复制数据到启动分区内存缓冲区。

  • Boot Partition Read Size (BPRSZ)
    该字段选择要读取的数据大小(以 4 KiB 为单位),并将数据复制到启动分区内存缓冲区。


3.1.3.15 BPMBL – Boot Partition Memory Buffer Location(启动分区内存缓冲区位置)

这是一个可选属性,指定用于存放启动分区读取数据的内存缓冲区(参见第 8.2 节)。如果控制器不支持启动分区功能,则此属性应清除为 0h

字段解析:

  • Boot Partition Memory Buffer Base Address (BMBBA)
    该字段指定启动分区内存缓冲区的 64 位物理地址的高 52 位。启动分区内存缓冲区用于存放从启动分区读取的数据。

总结

这些属性涉及启动分区的读取和存储过程,它们为系统提供了在不同的存储位置之间传输启动分区数据的机制。通过 BPINFOBPRSELBPMBL 属性,主机可以选择读取启动分区的数据、指定读取的偏移量和大小,并将数据传输到指定的内存缓冲区中。这些功能对于支持启动过程的控制器至关重要,尤其在不同的硬件环境和系统配置中。