IP Library Granted Patent US 7,849,302
Granted Patent B2
US 7,849,302 · App. 11/400,854 · Granted Dec 7, 2010

Direct boot arrangement using a NAND flash memory

Assignee: Apple Inc.
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,849,302
App. No.
11/400,854
Granted
Dec 7, 2010
Kind
B2
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.

Claims (19)

1. An article comprising a non-transitory machine-readable tangible medium storing instructions for causing data processing apparatus to perform operations comprising:

receiving a simple read command for initial boot code from a microcontroller of a host device, the simple read command identifies one or more column addresses in a register of a NAND flash memory die, the simple read command different from conventional read commands, the NAND flash memory die includes NAND flash memory and the register;

loading a predetermined page including the initial boot code from a storage location in a NAND flash memory into the register of the NAND flash memory die in response to the simple read command;

directly transmitting the initial boot code from the register to the microprocessor of the external host device for execution independent of transferring the boot code to memory external to the NAND flash memory die;

receiving a conventional read command for subsequent boot code from the microcontroller of the external host device, the conventional read command identifies subsequent boot code stored in the NAND flash memory; and

directly transmitting the subsequent boot code to a Random Access Memory (RAM) of the host device for executing an operating system and software applications of the external host device.

2. The article of claim 1 wherein a reset signal is received by the microprocessor in the host device and the host device instructs the NAND flash memory to load the predetermined page of data.

3. The article of claim 2 wherein the reset signal is received by the NAND flash memory and the NAND flash memory loads the predetermined page of data in response to the reset signal.

4. The article of claim 1 wherein the machine-readable medium stores instructions for causing data processing apparatus to further perform operations comprising iteratively reading and executing code from different addresses within the register.

5. The article of claim 1 wherein the initial boot code in the register comprise loader code for reading subsequent boot loader code from the NAND flash memory into the RAM for execution by the microprocessor.

6. The article of claim 5 wherein the subsequent boot loader code retrieves application or operating system code from the NAND flash memory using a file system.

7. The article of claim 5 wherein the loader code and the boot loader code access data stored in the NAND flash memory using low-level access techniques.

8. A booting system, comprising:

a hardware means for receiving a simple read command for initial boot code from a microcontroller of an external host device, the simple read command identifies one or more column addresses in a register of a NAND flash memory die, the simple read command different from conventional read commands, the NAND flash memory die includes NAND flash memory and the register;

a hardware means for loading a predetermined page initial boot code from a storage location in a NAND flash memory into the register of the NAND flash memory die in response to the simple read command;

a hardware means for directly transmitting the initial boot code from the register to the microprocessor of the external host device for execution independent of transferring the boot code to memory external to the NAND flash memory die;

a hardware means for receiving a conventional read command for subsequent boot code from the microcontroller of the external host device, the conventional read command identifies subsequent boot code stored in the NAND flash memory; and

a hardware means for directly transmitting the subsequent boot code to a Random Access Memory (RAM) of the external host device that executes an operating system and software applications of the external host device.

9. The system of claim 8 wherein the initial boot code comprises instructions for retrieving the subsequent boot code from the nonvolatile memory, the system further comprising a hardware means for retrieving and executing the subsequent boot code.

Assignments (2)
CHANGE OF NAME Recorded Apr 10, 2007
From: APPLE COMPUTER, INC.
To: APPLE INC.
Reel/Frame 019142/0226 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 10, 2006
From: WU, STEPHEN
To: APPLE COMPUTER, INC.
Reel/Frame 017778/0510 →
Continuity (1)
Related Publication 20070239977A1 · Oct 11, 2007