IP Library Granted Patent US 7,089,390
Granted Patent B2
US 7,089,390 · App. 10/003,563 · Granted Aug 8, 2006

Apparatus and method to reduce memory footprints in processor architectures

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,089,390
App. No.
10/003,563
Granted
Aug 8, 2006
Kind
B2
Abstract

The present invention provides an apparatus and method to reduce the memory footprint of a processor architecture by structuring processor code to be stored in an external device, and transferring into the processor certain code and associated data as it is needed. The processor code or algorithm is divided into a controlling piece and a working piece. The controlling piece can be located on a low-MIPS, high memory-footprint device, whereas the working piece can be located on a high-MIPS, low memory-footprint device. The working piece can also be broken down into phases or segments, which are put in a data store. The segments are then transferred, on an as-needed basis along with associated data, from the store into the constrained memory of the low memory-footprint device. Transfer is facilitated by a segment manager which can be processed from the low-MIPS device, or alternatively from the high-MIPS device.

Claims (39)

1. An apparatus for reducing the memory footprint of a first processor device, the apparatus comprising:

a segment of program code which is split into portions including at least one controlling piece and at least one separate working piece;

a storage area for storing certain pieces of the program code;

a first memory area associated with the first processor device for receiving certain portions of the program code; and

a hardware transfer mechanism for efficiently linking the storage area with the first memory area,

wherein the memory footprint of the first processor device is reduced by locating certain controlling pieces of the program code in the storage area, and transferring only certain working pieces of the program code in the first memory area.

2. The apparatus of claim 1 , wherein the storage area includes a second memory area associated with second processor device.

3. The apparatus of claim 2 , wherein the first processor device includes a high-MIPS processor device having higher-cost memory.

4. The apparatus of claim 3 , wherein the second processor device include a low-MIPS processor device having lower-cost memory.

5. The apparatus of claim 3 , wherein the high-MIPS processor device includes a digital signal processor (DSP) device.

6. The apparatus of claim 4 , wherein the low-MIPS processor device includes a general microcontroller unit (MCU) device.

7. The apparatus of claim 2 , wherein the working piece is further split into code phases and associated data blocks, which are arranged into code and data segments.

8. The apparatus of claim 7 , wherein a store exists in the second memory area for the segments.

9. The apparatus of claim 8 , wherein further included is a segment manager which copies the segments between the store and the first memory area on an as-needed basis.

10. The apparatus of claim 9 , wherein the segment manager utilizes hardware acceleration to achieve efficient transfers.

11. The apparatus of claim 9 , wherein the segment manager is used to schedule segment management from the first processor.

12. The apparatus of claim 9 , wherein the segment manager is used to schedule segment management from the second processor.

13. An method for reducing the memory footprint of a first processor device, the method comprising the steps of:

splitting a segment of program code into portions including at least one controlling piece and at least one separate working piece;

storing certain portions of the program code in a storage area;

receiving certain portions of the program code in a first memory area associated with the first processor device; and

linking the storage area with the first memory area using an efficient hardware transfer mechanism,

wherein the memory footprint of the first processor device is reduced by locating certain controlling pieces of the program code in the storage area, and only certain working pieces of the program code in the first memory area.

14. The method of claim 13 , wherein the storage area includes a second memory area associated with second processor device.

15. The method of claim 14 , wherein the first processor device includes a high-MIPS processor device having higher-cost memory.

16. The method of claim 15 , wherein the second processor device include a low-MIPS processor device having lower-cost memory.

17. The method of claim 15 , wherein the high-MIPS processor device includes a digital signal processor (DSP) device.

18. The method of claim 16 , wherein the low-MIPS processor device includes a general microcontroller unit (MCU) device.

19. The method of claim 14 , wherein the steps further include: splitting the working piece into code phases and associated data blocks, and arranging them into code and data segments.

20. The method of claim 19 , wherein the steps further include creating a store in the second memory area for the segments.

21. The method of claim 19 , wherein the steps further include utilizing a segment manager to copy the segments between the store and the first memory area on an as-needed basis.

22. The method of claim 21 , wherein the segment manager further includes the step of utilizing hardware acceleration to achieve efficient transfers.

23. The method of claim 21 , wherein the steps further include scheduling the segment management, using the segment manager, from the first processor.

24. The method of claim 21 , wherein the steps further include scheduling the segment management, using the segment manager, from the second processor.

25. A distributed signal processing framework for reducing the memory footprint of a digital signal processing device, the framework comprising:

at least one signal processing algorithm, the algorithm being split into a controlling piece and at least one separate processing piece;

a low-MIPS processor device having a high-memory footprint, whereby the controlling piece is stored and runs on the low-MIPS processor device;

a high-MIPS processor having a low-memory footprint, whereby at least one of the separate processing pieces is stored and runs on the high-MIPS processor device; and

a hardware transfer mechanism for efficiently linking the pieces through the distributed framework.

Assignments (5)
CORRECTIVE ASSIGNMENT TO CORRECT THE EXECUTION DATE OF THE MERGER PREVIOUSLY RECORDED ON REEL 047642 FRAME 0417. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT, Recorded Mar 6, 2019
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 048521/0395 →
MERGER Recorded Oct 5, 2018
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 047642/0417 →
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 →