控制器寄存器与属性配置 - 第72页
深入分析 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 位。启动分区内存缓冲区用于存放从启动分区读取的数据。
总结
这些属性涉及启动分区的读取和存储过程,它们为系统提供了在不同的存储位置之间传输启动分区数据的机制。通过 BPINFO、BPRSEL 和 BPMBL 属性,主机可以选择读取启动分区的数据、指定读取的偏移量和大小,并将数据传输到指定的内存缓冲区中。这些功能对于支持启动过程的控制器至关重要,尤其在不同的硬件环境和系统配置中。