NVMe Base 2.4: Boot Partitions: reading, updating, and write protection
00.01.Boot Partitions store boot images. Start with how a host retrieves boot data before normal I/O queues exist, then follow image updates, active-partition selection, and write protection.
- Host
- The system running the operating system and issuing NVMe commands.
- I/O
- Input/Output, the class of data operations performed on a namespace.
The main ideas
Retrieve a boot image
01-01Follow partition selection, range selection, and transfer into host memory as one boot-read workflow.
Update and activate an image
02-01Separate transferring a new image, replacing partition contents, and selecting the active partition.
Protect written contents
03-01Compare write-protection states and the restrictions that persist across resets or power loss.
Connecting the main ideas
00.02.Reading selects a partition and range and supplies host destination memory. Updating separates image transfer, replacement, and active-partition selection. Write protection constrains updates; its persistence depends on the reset or power condition.
01 Two Boot read paths
01.01.First determine whether an Admin-command environment exists, then choose properties or LID 15h. Both access boot contents, but their return formats and observation points differ.
- Admin
- Administrative, the control path used to create, configure, query, or manage controllers and queues.
- LID
- Log Page Identifier: selects the type of log page to read.
01.02.Boot Partitions are optional; support provides two equally sized partitions with IDs 0h and 1h. A host can read through properties without creating queues or enabling the controller.
- controller
- Controller, the entity that implements the NVMe interface, fetches commands, and reports completions.
Sources: Base 2.4 §8.1.3
Source: NVME-BASE-2.4, Rev. 2.4, §8.1.3, printed pages 586, PDF pages 612
| Read path or field | Where data or status is obtained | Operating context and unit |
|---|---|---|
| Properties | BRS reports read state | Does not require CC.EN=1 |
| LID 15h | 16-byte header + data | The Admin-command CQE reports the command result |
| BPID | Selects the partition to read | Not the active ID |
| BPSZ | 128 KiB per unit | Not a byte count |
- BPID
- Boot Partition Identifier; selects 0 or 1 independently of the active partition.
- BPSZ
- Boot Partition Size; each unit is 128 KiB.
- BRS
- Boot Read Status: 00b no request, 01b in progress, 10b success, 11b error.
- CQE
- Completion Queue Entry, one completion-result structure in a CQ.
- CC
- Controller Configuration, the property through which the host selects settings and enables or disables a controller.
- EN
- Enable, the CC bit controlling controller enable state.
02 The complete update and protection lifecycle
02.01.Track image transfer, partition contents, active selection, and write protection separately. Successful download has not yet written a Boot Partition, and a successful write has not automatically activated it.
02.02.A boot image is downloaded in order from its beginning using Firmware Image Download. After unlocking the target, Firmware Commit CA=110b writes the partition selected by BPID. The host may read it back, use CA=111b to change the active ID, and relock it. An interrupted update can leave mixed old/new contents, so verification before activation is recommended.
- CA
- Commit Action, the Firmware Commit field selecting replacement, activation, and reset policy.
Sources: Base 2.4 §8.1.3.2
Source: NVME-BASE-2.4, Rev. 2.4, §8.1.3.2, printed pages 587-588, PDF pages 613-614
| Current mechanism and state | After Controller Level Reset | After power cycle |
|---|---|---|
| Set Features: Write Unlocked | Remains Write Unlocked | Returns to Write Locked |
| Set Features: Write Locked Until Power Cycle | State is retained | Returns to Write Locked; writing requires a separate unlock |
| RPMB enabled: Write Unlocked | Returns to Write Locked | Returns to Write Locked |
Where to continue in the specification
03.01.Use the flow above to frame the problem, then open the corresponding sections for fields and full conditions. The Chinese tutorial also explains every in-scope figure with its takeaway, example, and details.
| Concept to explain | Specification sections |
|---|---|
| Two Boot read paths | Base 2.4 §8.1.3 · Base 2.4 §8.1.3.1 · Base 2.4 §5.2.13.1.21 |
| The complete update and protection lifecycle | Base 2.4 §8.1.3.2 · Base 2.4 §8.1.3.3 · Base 2.4 §5.2.30.1.39 · Base 2.4 §8.1.3.3.1-8.1.3.3.3 · Base 2.4 §5.2.30.1.39; 8.1.3.3.3 |
Check your understanding
1. Does writing a new boot image to a partition also change the active partition?
04.01.Writing and selecting the active ID are separate actions. CA=110b writes the selected partition; after an optional readback, CA=111b selects the active ID. This separation allows checking the image before switching.
Sources
Source: NVME-BASE-2.4, Rev. 2.4, §8.1.3.2, printed pages 587-588, PDF pages 613-614
Source: NVME-BASE-2.4, Rev. 2.4, §8.1.3, printed pages 586, PDF pages 612
2. Must a Controller Level Reset relock an unlocked Boot Partition?
04.02.First identify the controlling mechanism. The Set Features unlocked state survives this reset but a power cycle relocks it. With RPMB protection enabled, either event relocks it.
Sources
Source: NVME-BASE-2.4, Rev. 2.4, §5.2.30.1.39, printed pages 513-514, PDF pages 539-540
Source: NVME-BASE-2.4, Rev. 2.4, §8.1.3.3.1-8.1.3.3.3, printed pages 589-594, PDF pages 615-620


Comments