Boot Function
Fast Boot and Secure Boot features give cards the ability to serve as a device’s boot code memory by using a simple and easy fast boot code uploading process along with secured methods of providing boot code updates.
Boot is an optional features supported since SD Specification Part 1 v9.0.
It is assumed to be used mainly in semi-embedded usages of SD card in which the card include the boot code of the host. It allows systems with single non volatile memory device enabling easy serviceability and maintenance, in case that such device need to be replaced or expanded. The Boot function may be helpful for many small, light and thin hosts. IoT or mobile hosts can especially benefit because storage media for both boot code and general data, like images or text, can be unified
For hosts that will use the boot function it is important to fetch their boot code promptly after power-up because they need to be activated as soon as possible. To achieve that requirement, two Boot Partitions and Fast Boot capability are supported as key functionalities of Boot.
Boot function may be supported by any SD memory card, either through the SD protocol over the SD interface or through the NVMe protocol over the PCIe interface on SD Express cards. An exception is the fast boot operation, which may be implemented on the SD interface only.
Host may read any of the two boot partitions either by using a specified command or using the so called Fast Boot by setting a specific line conditions on the SD interface upon power up – action that will automatically cause the pre-set boot code to be uploaded to the host using a pre-defined speed mode of operation.
To secure the boot code, RPMB authentication is required before when writing data to the Boot Partition or erasing data in it. The two boot partitions are available allowing easy rollback in case of an issue raised with a specific loaded boot code.
Newly added memory structure for Boot and RPMB