IP Library Granted Patent US 9,892,088
Granted Patent B2
US 9,892,088 · App. 14/358,049 · Granted Feb 13, 2018

Data processing system and method of controlling access to a shared memory unit

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 9,892,088
App. No.
14/358,049
Granted
Feb 13, 2018
Kind
B2
Abstract

A data processing system comprising at least a memory unit, a first client connected to the memory unit, and a second client connected to the memory unit is proposed. The first client may comprise a first memory access unit and an information unit. The first memory access unit may read data from or write data to the memory unit at a first data rate. The information unit may update internal data correlating with a minimum required value of the first data rate. The second client may comprise a second memory access unit and a data rate limiting unit. The second memory access unit may read data from or write data to the memory unit at a second data rate. The data rate limiting unit may limit the second data rate in dependence on the internal data. The first memory access unit may, for example, read data packets sequentially from the memory unit, and the information unit may update the internal data at least per data packet. A method of controlling access to a shared memory unit is also proposed.

Claims (39)

1. A data processor comprising a memory, a first client connected to said memory, and a second client connected to said memory,

said first client comprising first memory access circuitry and information circuitry, said first memory access circuitry arranged to read data from or write data to said memory at a first data rate, said information circuitry arranged to update internal data correlating with a minimum required value of said first data rate,

said second client comprising a second memory access circuitry and a data rate limiting circuitry, said second memory access circuitry arranged to read data from or write data to said memory at a second data rate, said data rate limiting circuitry arranged to limit said second data rate in dependence on said internal data identifying the minimum required value of said first data rate.

2. The data processing system of claim 1 , said first client comprising one or more buffers, said internal data indicating, for at least one of said buffers, a fill level of the respective buffer.

3. The data processing system of claim 1 , said first memory access circuitry being arranged to read data packets sequentially from said memory circuitry, said information circuitry being arranged to update said internal data at least once per data packet.

4. The data processing system of claim 3 , said information circuitry being arranged to update said internal data on the basis of a size of the respective data packet or on the basis of a bit-rate associated with the respective data packet.

5. The data processing system of claim 3 , said data rate limiting circuitry being arranged to adjust an upper limit of said second data rate at least once per data packet.

6. The data processing system of claim 3 , said data packets forming an audio or video stream.

7. The data processing system of claim 3 , said first client being arranged to generate video frames sequentially, said first memory access circuitry being arranged to read at least one of said data packets per frame.

8. The data processing system of claim 7 , said first client being arranged to generate said frames by determining pixel states for each pixel group among a set of pixel groups of a screen, said first memory access circuitry being arranged to read at least one of said data packets per pixel group.

9. The data processing system of claim 8 , each pixel group being a single pixel or a line of pixels.

10. The data processing system of claim 8 , said data packets to be read for a respective pixel group comprising image data from none, one, or more digital images, the number of said digital images depending on the respective pixel group.

11. The data processing system of claim 1 , said data rate limiting circuitry being arranged to limit said second data rate by throttling said second data rate, or by postponing or canceling tasks to be performed by said second client, or by setting a maximum allowed packet size for data packets to be transferred between said second memory access circuitry and said memory.

12. The data processing system of claim 1 , said data rate limiting circuitry being connected to said information circuitry via a control line, said control line being reserved for communication between said information circuitry and said data rate limiting circuitry.

13. The data processing system of claim 1 , further comprising arbiter circuitry arranged to receive memory access requests from at least said second client and to grant access to said memory on the basis of said memory access requests, said data rate limiting circuitry being connected to said information unit via a control line which bypasses said arbiter unit.

14. The data processing system of claim 1 , comprising a third client connected to said memory,

said second client comprising a second information circuitry arranged to update second internal data correlating with a minimum required value of said second data rate,

said third client comprising a third memory access circuitry and a second data rate limiting circuitry, said third memory access circuitry arranged to read data from or write data to said memory at a third data rate, said second data rate limiting circuitry arranged to limit said third data rate in dependence on said second internal data.

15. A method of controlling access to a shared memory, said memory being shared among at least a first client and a second client, said method comprising:

operating said first client to read data from or write data to said memory at a first data rate and to update internal data correlating with a minimum required value of said first data rate; and

operating said second client to read data from or write data to said memory at a second data rate and to limit said second data rate in dependence on said internal data identifying the minimum required value of said first data rate.

16. The method of claim 15 , further comprising:

reading, by the first client, data packets sequentially from said memory unit, said information unit being arranged to update said internal data at least once per data packet.

17. The method of claim 16 , further comprising:

generating, by the first client, video frames sequentially; and

reading at least one of said data packets per frame.

18. The method of claim 17 , further comprising:

generating said frames by determining pixel states for each pixel group among a set of pixel groups of a screen; and

reading at least one of said data packets per pixel group.

19. The method of claim 18 , further comprising:

reading said data packets for a respective pixel group comprising image data from none, one, or more digital images, the number of said digital images depending on the respective pixel group.

20. A data processing system comprising:

a memory:

a first client connected to the memory, the first client being arranged to generate frames by determining pixel states for each pixel group among a set of pixel groups of a screen, the first client comprising:

first memory access circuitry arranged to read data from or write data to the memory at a first data rate, and to read a data packet per pixel group; and

information circuitry arranged to update internal data correlating with a minimum required value of the first data rate, the data packets to be read for a respective pixel group comprising image data from none, one, or more digital images, the number of the digital images depending on the respective pixel group; and

a second client connected to the memory, the second client comprising:

second memory access circuitry arranged to read data from or write data to the memory unit at a second data rate; and

second data rate limiting circuitry arranged to limit the second data rate in dependence on the internal data.

Assignments (27)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 13, 2025
From: NXP USA, INC.
To: TAIWAN SEMICONDUCTOR MANUFACTURING COMPANY LIMITED
Reel/Frame 072889/0939 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 11759915 AND REPLACE IT WITH APPLICATION 11759935 PREVIOUSLY RECORDED ON REEL 040925 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITY INTEREST. Recorded Feb 17, 2020
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP, B.V. F/K/A FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 052917/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 11759915 AND REPLACE IT WITH APPLICATION 11759935 PREVIOUSLY RECORDED ON REEL 040928 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITY INTEREST. Recorded Jan 17, 2020
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 052915/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12298143 PREVIOUSLY RECORDED ON REEL 042762 FRAME 0145. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded Oct 22, 2019
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 051145/0184 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12298143 PREVIOUSLY RECORDED ON REEL 039361 FRAME 0212. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded Oct 22, 2019
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 051029/0387 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12298143 PREVIOUSLY RECORDED ON REEL 038017 FRAME 0058. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded Oct 22, 2019
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 051030/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12298143 PREVIOUSLY RECORDED ON REEL 042985 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded Oct 22, 2019
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 051029/0001 →
RELEASE OF SECURITY INTEREST Recorded Sep 10, 2019
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 050745/0001 →
RELEASE OF SECURITY INTEREST Recorded Sep 10, 2019
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 050744/0097 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12681366 PREVIOUSLY RECORDED ON REEL 038017 FRAME 0058. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded May 9, 2017
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 042985/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12681366 PREVIOUSLY RECORDED ON REEL 039361 FRAME 0212. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded May 9, 2017
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 042762/0145 →
CORRECTIVE ASSIGNMENT TO CORRECT THE NATURE OF CONVEYANCE PREVIOUSLY RECORDED AT REEL: 040626 FRAME: 0683. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER AND CHANGE OF NAME EFFECTIVE NOVEMBER 7, 2016. Recorded Jan 12, 2017
From: NXP SEMICONDUCTORS USA, INC. (MERGED INTO); FREESCALE SEMICONDUCTOR, INC. (UNDER)
To: NXP USA, INC.
Reel/Frame 041414/0883 →
CHANGE OF NAME Recorded Nov 16, 2016
From: FREESCALE SEMICONDUCTOR INC.
To: NXP USA, INC.
Reel/Frame 040626/0683 →
RELEASE OF SECURITY INTEREST Recorded Nov 7, 2016
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 040928/0001 →
RELEASE OF SECURITY INTEREST Recorded Sep 21, 2016
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP, B.V., F/K/A FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 040925/0001 →
CORRECTIVE ASSIGNMENT OF INCORRECT APPLICATION 14/258,829 PREVIOUSLY RECORDED ON REEL 037444 FRAME 0109. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS. Recorded Aug 10, 2016
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 039639/0208 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 14/258,829 AND REPLACE ITWITH 14/258,629 PREVIOUSLY RECORDED ON REEL 037444 FRAME 0082. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT AND ASSUMPTION OFSECURITY INTEREST IN PATENTS. Recorded Aug 10, 2016
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 039639/0332 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12092129 PREVIOUSLY RECORDED ON REEL 038017 FRAME 0058. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded Jul 14, 2016
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 039361/0212 →
SUPPLEMENT TO THE SECURITY AGREEMENT Recorded Jun 16, 2016
From: FREESCALE SEMICONDUCTOR, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 039138/0001 →
SECURITY AGREEMENT SUPPLEMENT Recorded Mar 7, 2016
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 038017/0058 →
ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS Recorded Jan 5, 2016
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 037444/0082 →
ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS Recorded Jan 5, 2016
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 037444/0109 →
PATENT RELEASE Recorded Dec 21, 2015
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 037357/0903 →
SUPPLEMENT TO IP SECURITY AGREEMENT Recorded Aug 1, 2014
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 033462/0293 →
SUPPLEMENT TO IP SECURITY AGREEMENT Recorded Aug 1, 2014
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 033462/0267 →
SUPPLEMENT TO IP SECURITY AGREEMENT Recorded Aug 1, 2014
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 033460/0337 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 14, 2014
From: STAUDENMAIER, MICHAEL; AMON, YOSSI; AUBINEAU, VINCENT
To: FREESCALE SEMICONDUCTOR INC.
Reel/Frame 032883/0962 →