Retrieving boot instructions from nonvolatile memory
First Claim
1. A method for booting a computing device, the method comprising:
- detecting a reset signal by a non-volatile memory die, wherein the non-volatile memory die includes an internal controller, a register, and non-volatile memory, and wherein the non-volatile memory includes a plurality of pages of data;
retrieving, by the internal controller, a predetermined page of data from the non-volatile memory responsive to detecting the reset signal, wherein each of the plurality of pages of data is retrieved from the non-volatile memory as a unit and the predetermined page of data includes at least one instruction for booting the computing device;
storing, by the internal controller, the predetermined page of data into the register;
fetching, by a host processor, the at least one instruction from the register using at least one simple read command, wherein the simple read command includes an address for randomly accessing locations within the predetermined page of data;
executing the at least one instruction by the host processor; and
fetching, by the host processor, a second page of data from the non-volatile memory using a read command, wherein the read command retrieves the second page of data, and wherein the second page of data is different from the predetermined page of data.
0 Assignments
0 Petitions
Accused Products
Abstract
Systems and processes for booting a device can be implemented by detecting a reset signal associated with the device and retrieving a predetermined page of data from a nonvolatile memory location into a register associated with the nonvolatile memory. The nonvolatile memory may be designed and implemented such that each page of data is retrieved from the nonvolatile memory as a unit, and the page of data includes instructions for use in booting the device. A command to read data stored in the register is received, and the command can include an address identifying a location of one or more instructions within the register. In response, the one or more instructions are retrieved from the register for execution by a processor.
32 Citations
20 Claims
-
1. A method for booting a computing device, the method comprising:
-
detecting a reset signal by a non-volatile memory die, wherein the non-volatile memory die includes an internal controller, a register, and non-volatile memory, and wherein the non-volatile memory includes a plurality of pages of data; retrieving, by the internal controller, a predetermined page of data from the non-volatile memory responsive to detecting the reset signal, wherein each of the plurality of pages of data is retrieved from the non-volatile memory as a unit and the predetermined page of data includes at least one instruction for booting the computing device; storing, by the internal controller, the predetermined page of data into the register; fetching, by a host processor, the at least one instruction from the register using at least one simple read command, wherein the simple read command includes an address for randomly accessing locations within the predetermined page of data; executing the at least one instruction by the host processor; and fetching, by the host processor, a second page of data from the non-volatile memory using a read command, wherein the read command retrieves the second page of data, and wherein the second page of data is different from the predetermined page of data. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. An apparatus comprising:
-
a plurality of non-volatile memory blocks, wherein each memory block includes a plurality of pages of data, wherein each of the plurality of pages of data is retrieved from a respective non-volatile memory block as a unit; a register configured to store at least a page of data; and circuitry configured to; detect a reset signal; retrieve a predetermined page of data from a first non-volatile memory block of the plurality of non-volatile memory blocks responsive to detecting the reset signal, wherein the predetermined page of data includes at least one instruction for booting the host processor; and store the predetermined page of data including the at least one instruction in the register; wherein the register is further configured to provide the at least one instruction to the host processor responsive to receiving at least one simple read command from the host processor, wherein the simple read command includes an address for randomly accessing locations within the predetermined page of data; and wherein the circuitry is further configured to; retrieve a second page of data from a second non-volatile memory block in response to receiving a read command from the host processor, wherein the read command retrieves the second page of data, and wherein the second page of data is different from the predetermined page of data; and sending the second page of data to the host processor. - View Dependent Claims (9, 10, 11, 12, 13)
-
-
14. A system comprising:
-
a host processor; and a non-volatile memory device, separate from the host processor, wherein the non-volatile memory device includes; one or more non-volatile memory blocks, wherein each memory block includes a plurality of pages of data, wherein each of the plurality of pages of data is retrieved from a respective non-volatile memory block as a unit; and a register; wherein the non-volatile memory device is configured to; detect a reset signal; retrieve a predetermined page of data from a first non-volatile memory block responsive to detecting the reset signal, wherein the predetermined page of data includes at least one instruction for booting the host processor; and store the predetermined page of data including the at least one instruction in the register; wherein the host processor is configured to; fetch the at least one instruction from the register using at least one simple read command, wherein the simple read command includes an address for randomly accessing locations within the predetermined page of data; and execute the at least one instruction; fetch a second page of data from a second non-volatile memory block using a read command, wherein the read command retrieves the second page of data, and wherein the second page of data is different from the predetermined page of data. - View Dependent Claims (15, 16, 17, 18, 19, 20)
-
Specification