Loading boot code from multiple memories
First Claim
Patent Images
1. A method comprising:
- initiating, via a direct memory access (DMA) controller, a first transfer operation transferring a first portion of boot code from a first non-volatile memory of a device into a volatile memory of the device, the first portion of boot code including a first signature that indicates a presence of the first portion of boot code in the first non-volatile memory;
initiating, via the DMA controller and prior to completion of the first transfer operation, a second transfer operation that concurrently transfers a second portion of the boot code from a second non-volatile memory of the device into the volatile memory of the device, the second portion of boot code including a second signature that indicates a presence of the second portion of boot code in the second non-volatile memory; and
causing, after completion of at least the first transfer operation of the first portion of boot code, a processor of the device to execute of the first and second portions of the boot code from the volatile memory of the device effective to initiate boot operations of the device.
4 Assignments
0 Petitions
Accused Products
Abstract
The present disclosure describes apparatuses and techniques for loading boot code from multiple memories. In some aspects a transfer operation transferring a portion of boot code from a memory of a first type is initiated prior to completion of another transfer operation transferring another portion of the boot code from another memory of the first type. This can be effective to enable concurrent transfers of boot code from multiple memories of the first type into a memory of a second type for execution. By so doing, a speed at which boot code is transferred into the memory of the second type is increased, which may result in decreased device boot times.
258 Citations
20 Claims
-
1. A method comprising:
-
initiating, via a direct memory access (DMA) controller, a first transfer operation transferring a first portion of boot code from a first non-volatile memory of a device into a volatile memory of the device, the first portion of boot code including a first signature that indicates a presence of the first portion of boot code in the first non-volatile memory; initiating, via the DMA controller and prior to completion of the first transfer operation, a second transfer operation that concurrently transfers a second portion of the boot code from a second non-volatile memory of the device into the volatile memory of the device, the second portion of boot code including a second signature that indicates a presence of the second portion of boot code in the second non-volatile memory; and causing, after completion of at least the first transfer operation of the first portion of boot code, a processor of the device to execute of the first and second portions of the boot code from the volatile memory of the device effective to initiate boot operations of the device. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. One or more hardware-based computer-readable memory devices storing processor-executable instructions that, responsive to execution by a processor of a device, implement a boot manager to:
-
initiate, via a direct memory access (DMA) controller, a first transfer operation transferring a first portion of boot code from a first non-volatile memory of the device into a volatile memory of the device, the first portion of boot code including a first signature that indicates a presence of the first portion of boot code in the first non-volatile memory; initiate, via the DMA controller and prior to completion of the first transfer operation, a second transfer operation that concurrently transfers a second portion of the boot code from a second non-volatile memory of the device into the volatile memory of the device, the second portion of the boot code including a second signature that indicates a presence of the second portion of the boot code in the second non-volatile memory; and execute, via the processor and after completion of at least the first transfer operation of the first portion of boot code, the first and second portions of the boot code from the volatile memory of the device. - View Dependent Claims (9, 10, 11, 12, 13)
-
-
14. A System-on-Chip comprising:
-
a processor configured to execute code to boot and implement functionalities of a device; volatile memory from which boot code is executable by the processor; a memory controller configured to enable concurrent access of multiple non-volatile memories; and a boot manager configured to; determine, based on signatures within the boot code, which of the multiple non-volatile memories include a respective portion of boot code; initiate, via the memory controller, a direct memory access (DMA) transfer operation transferring one of the respective portions of boot code from one of the multiple non-volatile memories into the volatile memory; initiate, via the memory controller and prior to completion of the transfer operation, at least one other DMA transfer operation that simultaneously transfers another respective portion of the boot code from another of the multiple non-volatile memories into the volatile memory; and causing, responsive to completion of at least one of the DMA transfer operations, the processor to initiate execution of the respective portions of the boot code from the volatile memory. - View Dependent Claims (15, 16, 17, 18, 19, 20)
-
Specification