IP Library Granted Patent US 8,621,194
Granted Patent B2
US 8,621,194 · App. 12/872,733 · Granted Dec 31, 2013

Processor NAND flash boot system and method

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 8,621,194
App. No.
12/872,733
Granted
Dec 31, 2013
Kind
B2
Abstract

A system for booting a processor from NAND flash, comprising a NAND agnostic boot controller and a NAND flash device, wherein the NAND flash device further comprises a boot wrapper storing boot code in a predetermined format.

Claims (31)

1. A system for booting a processor from NAND flash, comprising:

a NAND agnostic boot controller; and

a NAND flash device, wherein the NAND flash device further comprises a boot wrapper storing boot code in a predetermined format and a block walking structure configured to identify a process for moving from a current image of the NAND flash device to a next sequential image of the NAND flash device.

2. The system of claim 1 wherein the boot wrapper further comprises a page header structure configured to identify a start of each of a plurality of pages of the NAND flash device.

3. The system of claim 2 wherein the NAND agnostic boot controller comprises a page header processor configured to read the page header structure to identify the start of each of the plurality of pages of the NAND flash device.

4. The system of claim 2 wherein the NAND agnostic boot controller comprises a page header processor configured to read the start of each of the plurality of pages of the NAND flash device from the boot header structure of the boot wrapper.

5. The system of claim 1 wherein the boot wrapper further comprises a page payload structure configured to provide an array of data words.

6. The system of claim 5 wherein the NAND agnostic boot controller comprises a page payload processor configured to read the array of data words.

7. The system of claim 1 wherein the boot wrapper further comprises a page walking structure configured to identify a process for moving from a current page of the NAND flash device to a next sequential page of the NAND flash device.

8. The system of claim 7 wherein the NAND agnostic boot controller comprises a page walking processor configured to move from the current page of the NAND flash device to the next sequential page of the NAND flash device.

9. The system of claim 7 wherein the NAND agnostic boot controller comprises a page walking processor configured to read the process for moving from the current page of the NAND flash device to the next sequential page of the NAND flash device from the boot wrapper and to automatically implement the process.

10. The system of claim 1 wherein the NAND agnostic boot controller comprises a block walking processor configured to move from the current image of the NAND flash device to the next sequential image of the NAND flash device.

11. The system of claim 1 wherein the NAND agnostic boot controller comprises a block walking processor configured to read the process for moving from the current image of the NAND flash device to the next sequential image of the NAND flash device from the boot wrapper and to automatically implement the process.

12. The system of claim 1 wherein the boot wrapper further comprises a page payload structure storing a number of boot image dwords.

13. The system of claim 12 wherein the NAND agnostic boot controller comprises a page payload processor configured to read the number of boot image dwords from the boot wrapper and to process the boot wrapper using the number of boot image dwards.

14. The system of claim 1 wherein the boot wrapper further comprises a page walking structure storing a number of initialization operations.

15. The system of claim 14 wherein the NAND agnostic boot controller comprises a page walking processor configured to read the number of initialization operations from the boot wrapper and to process the boot wrapper using the number of initialization operations.

16. The system of claim 1 wherein the NAND agnostic boot controller is configured to initialize a running block page index value to zero, open a physical NAND page identified by block page index of the boot wrapper, read a page header structure to identify a start of a NAND page, process a signature field to identify a static value having a predetermined value, and process an image page index field of a boot wrapper to identify a current page index of an image.

17. The system of claim 16 wherein the NAND agnostic boot controller is further configured to process a block page index field to determine a current physical NAND page number, process an image identifier field to extract an image identifier code and to determine whether an image is corrupt.

18. The system of claim 17 wherein the NAND agnostic boot controller is further configured to determine if a current section of a boot wrapper is valid and to increment a block page index if the current section of the boot wrapper is invalid.

19. A system for booting a processor from NAND flash, comprising:

a NAND flash device, wherein the NAND flash device further comprises a boot wrapper storing boot code in a predetermined format, the boot wrapper further comprising:

a page header structure for identifying a start of each of a plurality of pages of the NAND flash device;

a block walking structure for identifying a process for moving from a current image of the NAND flash device to a next sequential image of the NAND flash device;

a page payload structure for providing an array of data words; and

a page walking structure for identifying a process for moving from a current page of the NAND flash device to a next sequential page of the NAND flash device; and

a NAND agnostic boot controller further comprising:

a page header processor for reading the page header structure to identify the start of each of the plurality of pages of the NAND flash device;

a block walking processor moving from the current image of the NAND flash device to the next sequential image of the NAND flash device;

a page payload processor for reading the array of data words; and

a page walking processor for moving from the current page of the NAND flash device to the next sequential page of the NAND flash device.

Assignments (9)
SECURITY INTEREST Recorded Sep 27, 2017
From: SYNAPTICS INCORPORATED
To: WELLS FARGO BANK, NATIONAL ASSOCIATION
Reel/Frame 044037/0896 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 7, 2017
From: CONEXANT SYSTEMS, LLC
To: SYNAPTICS INCORPORATED
Reel/Frame 043786/0267 →
CHANGE OF NAME Recorded Jun 26, 2017
From: CONEXANT SYSTEMS, INC.
To: CONEXANT SYSTEMS, LLC
Reel/Frame 042986/0613 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 23, 2016
From: LAKESTAR SEMI INC.
To: CONEXANT SYSTEMS, INC.
Reel/Frame 038803/0693 →
CHANGE OF NAME Recorded May 20, 2016
From: CONEXANT SYSTEMS, INC.
To: LAKESTAR SEMI INC.
Reel/Frame 038777/0885 →
RELEASE OF SECURITY INTEREST Recorded May 6, 2016
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
To: CONEXANT SYSTEMS, INC.; CONEXANT, INC.; CONEXANT SYSTEMS WORLDWIDE, INC.; BROOKTREE BROADBAND HOLDING, INC.
Reel/Frame 038631/0452 →
SECURITY AGREEMENT Recorded Sep 27, 2010
From: CONEXANT SYSTEMS, INC.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 025048/0758 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 1, 2010
From: DUDA, JAMES A.; HASSAN, ANDRE M.; DOHM, NATHAN J.; FLEMING, ROBERT SWOPE; SCHAFFSTEIN, MICHAEL JOSEPH
To: CONEXANT SYSTEMS, INC.
Reel/Frame 024922/0721 →
SECURITY AGREEMENT Recorded Sep 1, 2010
From: CONEXANT SYSTEMS, INC.
To: THE BANK OF NEW YORK TRUST COMPANY, N.A.
Reel/Frame 024922/0959 →