Boot data storage schemes for electronic devices
AssigneeApple Inc.
InventorsDaniel J. Post, Matthew Byom
Life of this patent
Estimating the term…
Abstract
Systems and methods are provided for storing and retrieving boot data (e.g., a first stage bootloader) in and from a non-volatile memory (“NVM”), such as a NAND flash memory. To increase storage reliability, the boot data may be stored in a subset of the pages in a boot data storage area, such as in only lower pages. The subset may be selected based on the specific operating specifications and characteristics of the NVM. To prevent a boot ROM from having to maintain a NVM-specific map of which pages are used to store boot data, the map may be maintained in the NVM itself. For example, the map may be in the form of a linked list, where each page storing boot data can include a pointer that points to the next page that stores boot data.
Claims19
A system comprising:
- a volatile memory;
- a boot ROM for storing program code to begin loading boot data from non-volatile memory to the volatile memory:
- a non-volatile memory comprising:
- a plurality of pages that store boot data for booting up the system;
- and
- a map indicating nonconsecutive pages of the non-volatile memory in which the boot data is stored, wherein the map enables execution of the same program code regardless of a manufacturer of the non-volatile memory;
- control circuitry that:
- reads an initial page of boot data based on the boot ROM;
- reads, from the non-volatile memory, the map to ascertain the location of the boot data stored in the nonconsecutive pages other than the initial page;
- and
- loads the boot data from the nonconsecutive pages into the volatile memory using the map.
An electronic device comprising:
- a volatile memory;
- a non-volatile memory comprising a plurality of pages;
- a boot ROM for storing program code that configures the electronic device at bootup to:
- read a first page of the non-volatile memory, the first page having boot data and a next page pointer that references a second page of the non-volatile memory, wherein the next page pointer is part of a map indicating nonconsecutive pages of the non-volatile memory in which the boot data is stored, wherein the map enables execution of the same program code regardless of a manufacturer of the non-volatile memory;
- and
- control circuitry operative to:
- receive the next page pointer from the first page;
- read the second page of the non-volatile memory;
- verify that the second page contains boot data;
- and
- load the boot data from the first and second pages into the volatile memory.
Dependencies are inferred from the claim text.