Parallelizing Boot Operations
AssigneeMarvell World Trade Ltd.
InventorsVamsi Krishna Baratam, Tolga Nihat Aytek
Life of this patent
Estimating the term…
Abstract
The present disclosure describes apparatuses and techniques for parallelizing boot operations. In some aspects, an operation transferring a boot image from a non-volatile memory to a volatile memory is initiated prior to completion an operation validating another boot image previously-transferred into the volatile memory. This can be effective to enable transfer operations and validation operations of boot images to be performed in parallel. By so doing, delays between the transfer and validation operations can be minimized thereby reducing device boot times.
Claims20
A method comprising:
- initiating, via a direct memory access (DMA) controller, a first transfer operation transferring a first boot image from a first memory into a second memory;
- initiating, after completion of the first transfer operation, a validation operation of the first boot image in the first memory effective to verify that the first boot image is secure;
- and
- initiating, via the DMA controller and prior to completion of the validation operation, a second transfer operation transferring a second boot image from the first memory into the second memory.
A method comprising:
- retrieving, from a non-volatile memory, a header image describing multiple boot images stored in the non-volatile memory;
- constructing, based on the header image, a structure describing respective locations of the multiple boot images stored in the non-volatile memory;
- constructing, based on the header image, direct memory access (DMA) descriptors describing respective destinations of the multiple boot images in a volatile memory;
- and
- issuing the structure and DMA descriptors to a memory controller effective to cause the memory controller to transfer the multiple boot images from the non-volatile memory to the volatile memory, the transfer transferring at least one of the multiple boot images while a processor validates a previously-transferred one of the multiple boot images.
A System-on-Chip comprising:
- a processor configured to implement validation operations and other functionalities of a device;
- an interface to a non-volatile memory storing multiple boot images;
- a volatile memory configured to receive the multiple boot images;
- a memory controller configured to enable access to the non-volatile memory and the volatile memory;
- and
- a boot manager configured to:
- initiate, via the memory controller, a first direct memory access (DMA) transfer operation transferring a first of the multiple boot images from the non-volatile memory to the volatile memory;
- cause, after completion of the first DMA transfer operation, the processor to initiate a validation operation to validate the first boot image in the volatile memory;
- and
- initiate, via the memory controller and prior to completion of the validation operation, a second DMA transfer operation transferring a second of the multiple boot images from the non-volatile memory to the volatile memory.
Dependencies are inferred from the claim text.