System and method for secure image load boot flow using hashed metadata
AssigneeQUALCOMM Incorporated
InventorsAnushka Mihir Nabar, Sudan Vilas Landge, Srinivasulu Reddy Beerelli
Life of this patent
Estimating the term…
Abstract
Various embodiments of methods and systems for a power and performance-optimized secure image load boot flow in a specialty metering device (“SMD”) are disclosed. An exemplary method includes a CPU that transitions into an idle state, such as a WFI state, for durations of time during a boot sequence that coincide with processing by a DMA engine. That is, the CPU may “sleep” while the DMA engine processes workloads in response to instructions it received from the CPU.
Claims30
A method for secure image load boot flow, the method comprising:
- a. a central processing unit (“CPU”) initializing a direct memory access (“DMA”) engine, wherein the DMA engine is configured to read data from memory;
- b. the CPU instructing the DMA engine to read metadata associated with an image in the memory;
- c. the CPU, for one given data segment of the image, instructing the DMA engine to read chunks of the given data segment, wherein the DMA engine provides the CPU with each chunk of the given data segment upon completing a read of the previous chunk and before beginning a read of a next chunk;
- d. the CPU, upon receipt of each chunk of a given data segment of the image, hashing metadata associated with the chunk and transitioning into an idle state for a duration of time that ends with the DMA engine completing a read of a next chunk of the given data segment;
- e. the CPU, upon receipt of a last chunk of a given data segment of the image, hashing metadata associated with the last chunk and validating hash values for each of the chunks of the given data segment of the image;
- f. the CPU repeating steps c through e until all data segments of the image have been loaded, hashed and validated;
- and
- g. the CPU resetting a subsystem.
A method for secure image load boot flow, the method comprising:
- a. initializing a direct memory access (“DMA”) engine, wherein the DMA engine is configured to read data from memory;
- b. instructing the DMA engine to read metadata associated with a first segment of an image stored in the memory and a first chunk of the first segment;
- c. transitioning a central processing unit (“CPU”) from an active processing state into an idle state, wherein when the CPU is in the idle state it consumes less power than when in the active processing state;
- d. holding the CPU in the idle state for a duration of time;
- e. transitioning the CPU from the idle state to the active processing state;
- f. receiving from the DMA engine the metadata associated with the first segment and the first chunk of the first segment;
- g. instructing the DMA engine to read a next chunk of the first segment;
- h. calculating a hash value for the first chunk of the first segment;
- and
- i. transitioning the CPU from the active processing state to the idle state.
A computer system for secure image load boot flow, the system comprising:
- a central processing unit (“CPU”) configured to:
- a. initialize a direct memory access (“DMA”) engine, wherein the DMA engine is configured to read data from memory;
- b. instruct the DMA engine to read metadata associated with an image in the memory;
- c. instruct, for one given data segment of the image, the DMA engine to read chunks of the given data segment, wherein the DMA engine provides the CPU with each chunk of the given data segment upon completing a read of the previous chunk and before beginning a read of a next chunk;
- and
- d. hash, upon receipt of each chunk of a given data segment of the image, metadata associated with the chunk and transitioning into an idle state for a duration of time that ends coincidentally with the DMA engine completing a read of a next chunk of the given data segment.
A computer system for secure image load boot flow, the system comprising:
- a. means for initializing a direct memory access (“DMA”) engine, wherein the DMA engine is configured to read data from memory;
- b. means for instructing the DMA engine to read metadata associated with an image in the memory;
- c. means for, for one given data segment of the image, instructing the DMA engine to read chunks of the given data segment, wherein the DMA engine provides the CPU with each chunk of the given data segment upon completing a read of the previous chunk and before beginning a read of a next chunk;
- and
- d. means for, upon receipt of each chunk of a given data segment of the image, hashing metadata associated with the chunk and transitioning into an idle state for a duration of time that ends coincidentally with the DMA engine completing a read of a next chunk of the given data segment.
Dependencies are inferred from the claim text.