Systems and methods for identifying and booting a computer architecture
AssigneeSanDisk Corporation
InventorPaul McAvoy
Life of this patent
Estimating the term…
Abstract
Methods, systems, and architectures for multiplatform booting from a portable module with nonvolatile memory. Preferably the portable module carries the correct binaries for booting multiple system architectures, together with a table from which the host, at power-up, can calculate the correct offset to load the appropriate binary.
Claims24
A removable memory system configured to interface with a host system in order to boot only a single architecture type for the host system, the memory system comprising:
- a memory containing:
- boot codes for at least two mutually incompatible computer system architecture types, and
- a data structure which correlates the incompatible architecture types with memory locations of said boot codes;
- and
- an interface in communication with the memory, the interface for removably interfacing with the host system and configured to:
- receive a first request from the host system, the first request for the host system to access the data structure in order to identify a boot code memory location based on the single architecture type of the host system, and
- receive a second request from the host system to load the boot code for the architecture type from the boot code memory location, the second request in order to commence booting of the host system.
A computer system comprising:
- a stored identifier that identifies a type of architecture of the computer system;
- a read only memory (ROM) having a basic input/output system (BIOS) code stored therein, where the BIOS code has knowledge of the identifier and knowledge of a predefined memory location having a table that identifies a plurality of memory locations within a removable storage device where a plurality of bootstrap code for a plurality of computer architectures are stored;
- an external interface configured to interface with the removable storage device;
- and
- a processor, in communication with the ROM and the external interface, that executes the BIOS code, detects the removable storage device and if detected, locates the predefined memory location in the removable storage device, uses the identifier to determine from the table a location of bootstrap code compatible with the type of architecture of the computer system, loads the bootstrap code into the computer system and executes the bootstrap code in order to commence booting of the computer system.
A method for a host computer system to boot using a removable memory system interfacing with the host system, the method comprising:
- powering up the host computer system using an initial instruction sequence stored in a host computer system;
- detecting the removable storage device, the removable storage device interfacing with the host computer system via an external interface;
- reading an identifier stored in the host computer system, the identifier identifying a type of architecture of the host computer system;
- locating a predefined memory location in the removable storage device, the predefined memory having a table that identifies a plurality of memory locations in the removable storage device where a plurality of bootstrap code for a plurality of computer architectures are stored;
- using the identifier to determine from the table a location in the removable storage device of bootstrap code compatible with the type of architecture of the host computer system;
- loading the bootstrap code into the host computer system;
- and
- executing the bootstrap code in order to commence booting of the host computer system.
Dependencies are inferred from the claim text.