IP Library Granted Patent US 8,010,734
Granted Patent B2
US 8,010,734 · App. 10/875,000 · Granted Aug 30, 2011

Method and system for reading instructions from NAND flash memory and writing them into SRAM for execution by a processing device

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,010,734
App. No.
10/875,000
Granted
Aug 30, 2011
Kind
B2
Abstract

A method and system is provided for efficient execution of code in memory by a processing device and may comprise determining whether a first type of memory is present. If the first type of memory is present, at least a portion of code stored in the first type of memory may be copied to a second type of memory and executed in the latter. The first type of memory may be NAND flash memory and the second type of memory may be SDRAM. A loader image may be copied from the first type of memory to an instruction memory and a jump made to the entry of the copied loader image. Code for the loader image may then be executed. Vectors may also be copied from the first type of memory to the instruction memory and mapped to a startup address.

Claims (41)

1. A method for efficient execution of code in memory by a processing device, the method comprising:

determining whether a first type of memory is present;

if said first type of memory is present, copying a loader image stored in said first type of memory to instruction memory;

executing said copied loader image to copy application code from said first type of memory to a second type of memory; and

executing said copied application code from said second type of memory, wherein said instruction memory, which stores said copied loader image, is separate from said first type of memory, which stores said loader image and said application code, and said second type of memory.

2. The method according to claim 1 , wherein said first type of memory is a NAND flash memory.

3. The method according to claim 1 , wherein said second type of memory is an SDRAM.

4. The method according to claim 1 , comprising jumping to entry of said loader image.

5. The method according to claim 1 , comprising copying vectors to an instruction memory.

6. The method according to claim 5 , comprising executing code for said loader image.

7. The method according to claim 1 , comprising copying vectors from said first type of memory to an instruction memory.

8. The method according to claim 7 , comprising mapping said copied vectors to a startup address.

9. The method according to claim 1 , comprising copying system parameters from said first type of memory to said second type of memory.

10. The method according to claim 1 , comprising jumping to start of said application code in said second type of memory.

11. The method according to claim 10 , comprising initiating said execution of said copied application code from a location where said jump to start of said application code is.

12. A machine-readable storage having stored thereon, a computer program having at least one code section for efficient execution of code in memory by a processing device, the at least one code section being executable by a machine for causing the machine to perform steps comprising:

determining whether a first type of memory is present;

if said first type of memory is present, copying a loader image stored in said first type of memory to instruction memory;

executing said copied loader image to copy application code from said first type of memory to a second type of memory; and

executing said copied application code from said second type of memory, wherein said instruction memory, which stores said copied loader image, is separate from said first type of memory, which stores said loader image and said application code, and said second type of memory.

13. The machine-readable storage according to claim 12 , wherein said first type of memory is a NAND flash memory.

14. The machine-readable storage according to claim 12 , wherein said second type of memory is an SDRAM.

15. The machine-readable storage according to claim 12 , comprising code for jumping to entry of said loader image.

16. The machine-readable storage according to claim 12 , comprising code for copying vectors to an instruction memory.

17. The machine-readable storage according to claim 16 , comprising code for executing said loader image.

18. The machine-readable storage according to claim 12 , comprising code for copying vectors from said first type of memory to an instruction memory.

19. The machine-readable storage according to claim 18 , comprising code for mapping said copied vectors to a startup address.

20. The machine-readable storage according to claim 12 , comprising code for copying system parameters from said first type of memory to said second type of memory.

21. A system for efficient execution of code in memory by a processing device, the system comprising:

at least one processor that determines whether a first type of memory is present;

said at least one processor copies a loader image stored in said first type of memory to instruction memory, if said first type of memory is present;

said at least one processor executes said copied loader image to copy application code from said first type of memory to a second type of memory; and

said at least one processor executes said copied application code from said second type of memory, wherein said instruction memory, which stores said copied loader image, is separate from said first type of memory, which stores said loader image and said application code, and said second type of memory.

22. The system according to claim 21 , wherein said first type of memory is a NAND flash memory.

23. The system according to claim 21 , wherein said second type of memory is an SDRAM.

24. The system according to claim 21 , wherein said at least one processor jumps to entry of said loader image.

25. The system according to claim 21 , wherein said at least one processor copies vectors to an instruction memory.

26. The system according to claim 25 , wherein said at least one processor executes code for said loader image.

27. The system according to claim 21 , wherein said at least one processor copies vectors from said first type of memory to an instruction memory.

28. The system according to claim 27 , wherein said at least one processor maps said copied vectors to a startup address.

29. The system according to claim 21 , wherein said at least one processor copies system parameters from said first type of memory to said second type of memory.

Assignments (4)
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Feb 3, 2017
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: BROADCOM CORPORATION
Reel/Frame 041712/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 1, 2017
From: BROADCOM CORPORATION
To: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
Reel/Frame 041706/0001 →
PATENT SECURITY AGREEMENT Recorded Feb 11, 2016
From: BROADCOM CORPORATION
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 037806/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 18, 2004
From: GONG, ZHIJUN G.
To: BROADCOM CORPORATION
Reel/Frame 015072/0018 →