The boot procedure for a computer is typically executed by code stored partially in a firmware element and partially in block media. Historically, firmware was implemented in read-only memory (ROM), although modern devices typically implement firmware in flash memory, which retains its memory even when power is not applied. Non-volatile Memory Express (NVM Express or NVMe) is a logical device interface specification allowing access to non-volatile storage media attached via a Peripheral Component Interconnect Express (PCI Express or PCIe) bus. The PCIe bus is a high-speed serial computer expansion bus standard that is utilized in many modern PCs. The non-volatile storage media may be flash memory and may be used as solid-state drives (SSDs) for computers.
NVMe NAND technology and NVMe 3D XPoint Block technology media (both being technologies for non-volatile memory) may be designed to support system firmware (FW) specific partitions called “boot partitions” and a secure firmware specific data partition called Replay Protected Memory Block (RPMB). A boot partition is a primary partition containing a piece of software responsible for booting an operating system (OS) (boot loader). An RPMB permits a secure memory block for storing small amounts of secure information, enabling a secure relationship between a host controller and the memory device.
The Serial Peripheral Interface (SPI) is a synchronous serial communications interface typically utilized for short distance communications, and developed by Motorola in the last 1980s. SPI NOR (or Serial NOR) is a type of SPI storage that utilizes non-volatile memory.