IP Library Granted Patent US 7,284,080
Granted Patent B2
US 7,284,080 · App. 10/614,676 · Granted Oct 16, 2007

Memory bus assignment for functional devices in an audio/video signal processing system

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,284,080
App. No.
10/614,676
Granted
Oct 16, 2007
Kind
B2
Abstract

The invention provides a system and method for memory bus assignment for a plurality of functional devices. According to a preferred embodiment, the invention provides a system comprising a plurality of functional devices accessing a memory bus wherein the memory bus allows access by one of the functional devices for one cycle of period of time, a plurality of request agents corresponding to the functional devices, a control register respectively storing access priority grades for the request agents, a plurality of counter timers respectively loading the access priority grades; and a bus elector coupled with the counter timers wherein the bus elector respectively compares the loaded access priority grades and elects one out of the request agents according to the compared access priority grades. The memory bus accordingly allows access by one of the functional devices corresponding to the elected request agent for one cycle of period of time.

Claims (53)

1. A method of managing a memory bus, the method comprising:

receiving a first memory access request from a first request agent that represents a first functional device and a second memory access request from a second request agent that represents a second functional device;

loading a first access priority value into a first counter timer, wherein the first access priority value corresponds to a processing function that is provided by the first functional device;

loading a second access priority value into a second counter timer, wherein the second access priority value corresponds to a different processing function that is provided by the second functional device;

loading a timer resolution parameter into a control register, wherein the timer resolution parameter relates to an amount of time associated with a first counting cycle of the first counter timer and a second counting cycle of the second counter timer;

dynamically adjusting a plurality of priority access values that includes the first priority access value and the second priority access value, wherein the plurality of priority access values are stored in the control register; and

dynamically adjusting the timer resolution parameter based on the activity level of the memory bus;

wherein the first functional device accesses the memory bus before the second functional device when the first access priority value represents a higher priority than the second access priority value; and

wherein the second functional device accesses the memory bus before the first functional device when the second access priority value represents a higher priority than the first access priority value.

2. The method of claim 1 , wherein a bus elector compares the first access priority value to the second access priority value.

3. The method of claim 1 , wherein the first access priority value represents the higher priority when the first access priority value is greater than the second access priority value.

4. The method of claim 1 , wherein the first access priority value represents the higher priority when the first access priority value is lower than the second access priority value.

5. The method claim 4 , further comprising:

starting a first clock cycle when the first functional device accesses the memory bus; and

decrementing the second access priority value after the first clock cycle has expired.

6. The method of claim 5 , further comprising:

receiving a third memory access request from a third request agent that represents a third functional device;

loading a third access priority value into a third counter timer, wherein the third access priority value corresponds to another processing function that is provided by the third functional device;

wherein the second functional device has priority access to the memory bus when the decremented second access priority value represents a higher priority than the third access priority value; and

wherein the third functional device has priority access to the memory bus when the third access priority value represents a higher priority than the decremented second access priority value.

7. The method of claim 6 , further comprising:

decrementing the third access priority value, when the second functional device accesses the memory bus and a second clock cycle ends;

receiving a next memory access request from the second request agent;

resetting the decremented second access priority value to the second access priority value;

wherein the second functional device has priority access to the memory bus when the second access priority value represents a higher priority than the decremented third access priority value; and

wherein the third functional device accesses the memory bus when the decremented third access priority value represents a higher priority than the second access priority value.

8. The method of claim 1 , further comprising:

determining whether the memory bus is locked; and

preventing the first functional device and the second functional device from accessing the memory bus when the memory bus is locked.

9. The method of claim 1 , wherein the amount of time associated with the first counting cycle is the same as the amount of time associated with the second counting cycle.

10. The method of claim 1 , further comprising:

loading a first timer resolution parameter into the control register, the first timer resolution parameter corresponding to a first amount of time associated with the first counting cycle; and

loading a second timer resolution parameter into the control register, the second timer resolution parameter corresponding to a second amount of time associated with the second counting cycle;

wherein the first timer resolution parameter relates to an amount of activity by the first functional device on the system bus and the second timer resolution parameter relates to an amount of activity by the second functional device on the system bus.

11. A system to manage a memory bus, the system comprising:

a memory bus configured to communicate with a first functional device that provides a first processing function and with a second functional device that provides a second processing function;

wherein the first functional device is represented by a first request agent and the second functional device is represented by a second request agent;

a control register configured to store a first access priority value associated with the first request agent, a second access priority value associated with the second request agent, and a timer resolution parameter;

wherein the first access priority value corresponds to the first processing function and the second access priority value corresponds to the second processing function;

wherein the control register is configured to dynamically adjust a plurality of priority access values that includes the first priority access value and the second priority access value in response to a user request and to dynamically adjust the timer resolution parameter based on the activity level of the memory bus;

wherein the timer resolution parameter relates to an amount of time associated with a first counting cycle of the first counter timer and a second counting cycle of the second counter timer;

a control unit configured to load the first access priority value into a first counter timer when the first request agent issues a first memory access request, and to load the second access priority value into a second counter timer when the second request agent issues a second memory access request;

wherein the first functional device accesses the memory bus before the second functional device when the first access priority value represents a higher priority than the second access priority value; and

wherein the second functional device accesses the memory bus before the first functional device when the second access priority value represents a higher priority than the first access priority value.

12. The system of claim 11 , wherein the first memory access request and the second memory access request are received by a bus arbiter.

13. The system of claim 11 , further comprising a bus elector coupled to the first counter timer and the second counter timer, wherein the bus elector is configured to compare the first access priority value to the second access priority value.

14. The system of claim 11 , wherein the first functional device and the second functional device are included within a moving picture experts group (MPEG) video codec processor.

15. The system of claim 11 , further comprising a control unit coupled to the request agents for respectively receiving corresponding requests for access to the memory bus.

16. The system of claim 11 , wherein the first functional device and the second functional device are selected from a group consisting of memory controllers, image processors, motion estimation processors, and host/peripheral interfaces.

17. The system of claim 11 , wherein the first access priority value represents a first maximum latency count and the second access priority value represents a second maximum latency count.

18. The system of claim 11 , further comprising a plurality of clocks that time a clock cycle when the memory bus is accessed.

19. The system of claim 18 , further comprising a bus release mechanism, wherein the plurality of clocks begin the clock cycle when the bus release mechanism releases the first functional device or the second functional device to access the memory bus.

20. The system of claim 18 , further comprising a bus release mechanism, wherein the bus release mechanism releases the first functional device or the second functional device to access the memory bus alter at least one of the plurality of clocks begin to time the clock cycle.

Assignments (13)
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE NAME PREVIOUSLY RECORDED AT REEL: 037354 FRAME: 0773. ASSIGNOR(S) HEREBY CONFIRMS THE PATENT RELEASE. Recorded Aug 15, 2016
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: SIGMATEL, LLC
Reel/Frame 039723/0777 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 25, 2016
From: SIGMATEL, LLC
To: NORTH STAR INNOVATIONS INC.
Reel/Frame 037583/0428 →
PATENT RELEASE Recorded Dec 21, 2015
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: SIGMATEL, INC.
Reel/Frame 037354/0734 →
PATENT RELEASE Recorded Dec 21, 2015
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: SIGMATEL, INC.
Reel/Frame 037354/0773 →
PATENT RELEASE Recorded Dec 21, 2015
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: SIGMATEL, INC.
Reel/Frame 037355/0838 →
CHANGE OF NAME Recorded Nov 23, 2015
From: SIGMATEL INC.
To: SIGMATEL, LLC
Reel/Frame 037152/0127 →
SECURITY AGREEMENT Recorded Nov 12, 2013
From: SIGMATEL, LLC
To: CITIBANK, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 031626/0218 →
SECURITY AGREEMENT Recorded Jun 17, 2013
From: SIGMATEL, LLC
To: CITIBANK, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 030628/0636 →
SECURITY AGREEMENT Recorded May 10, 2010
From: SIGMATEL, LLC
To: CITIBANK, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 024358/0439 →
SECURITY AGREEMENT Recorded Mar 16, 2010
From: SIGMATEL, LLC
To: CITIBANK, N.A.
Reel/Frame 024079/0406 →
SECURITY AGREEMENT Recorded Jul 9, 2008
From: SIGMATEL, INC.
To: CITIBANK, N.A.
Reel/Frame 021212/0372 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 23, 2005
From: PROTOCOM TECHNOLOGY CORPORATION
To: SIGMATEL, INC.
Reel/Frame 017143/0082 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 4, 2003
From: LIN, CHIN-LONG; WANG, REN-YUH
To: PROTOCOM TECHNOLOGY CORPORATION
Reel/Frame 014280/0169 →