IP Library Granted Patent US 9,959,593
Granted Patent B2
US 9,959,593 · App. 15/638,868 · Granted May 1, 2018

Memory controller having plurality of channels that provides simultaneous access to data when accessing unified graphics memory

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,959,593
App. No.
15/638,868
Granted
May 1, 2018
Kind
B2
Abstract

An apparatus includes a unified system/graphics memory and a memory controller. The memory controller is operative to receive client data access requests associated with one or more clients and a central processing unit (CPU) data access request associated with a CPU, to a plurality of memory channels for accessing the unified system/graphics memory. The memory controller is operative to provide access to the plurality of memory channels, in parallel, by the CPU and at least one client of the one or more clients. The memory controller is operative to prioritize the CPU data access request to the unified memory over the client data access requests to the unified memory and control the plurality of memory channels to access, in parallel, data for the CPU and data for the at least one client based on a request of the client data access requests and the CPU data access request.

Claims (49)

1. A method, carried out by a memory controller, the method comprising:

receiving client data access requests associated with one or more clients and a central processing unit (CPU) data access request associated with a CPU, to a plurality of memory channels for accessing unified system/graphics memory, wherein the plurality of memory channels is accessible, simultaneously, by the CPU and at least one client of the one or more clients through the memory controller;

prioritizing the CPU data access request to the unified memory over the client data access requests to the unified memory; and

controlling the plurality of memory channels to access, simultaneously, data for the CPU and data for the at least one client based on a request of the client data access requests and the CPU data access request.

2. The method of claim 1 , further comprising:

communicating data with the CPU at a first rate; and

communicating data with the same unified system/graphics memory at a second rate, the second rate being substantially different from the first rate.

3. The method of claim 2 , wherein the first rate is substantially higher than the second rate.

4. The method of claim 1 , further comprising:

receiving the client data access requests;

translating the client data access requests to a plurality of requested data access addresses; and

arbitrating the plurality of requested data access addresses.

5. The method of claim 1 , further comprising:

receiving the client data access requests and the CPU data access request;

translating the client data access requests and the CPU data access request to a plurality of requested data access addresses; and

arbitrating the plurality of requested data access addresses.

6. The method of claim 1 , further comprising:

receiving the client data access requests and the CPU data access request simultaneously; and

providing simultaneous data access to the same unified system/graphics memory in response to the client data access requests and the CPU data access request.

7. The method of claim 1 , wherein the one or more clients are one or more video/graphics engines and the CPU is connected to the one or more video/graphics engines comprising a monolithic semiconductor device.

8. The method of claim 1 ,

wherein the at least one client is a video/graphics engine and the data accessed by the video/graphics engine is video/graphics engine data.

9. The method of claim 1 , wherein the plurality of memory channels each comprise an address bus portion, a control bus portion, and a data bus portion.

10. The apparatus of claim 9 , wherein the plurality of memory channels each comprise a plurality of read and write buses.

11. The method of claim 1 , wherein the providing further comprises:

providing data access simultaneously to the same unified video/graphics memory in response to the client data access requests and the CPU data access request by providing data access to the CPU over a first memory channel among the plurality of memory channels and providing data access for the at least one client over a second memory channel among the plurality of memory channels.

12. The method of claim 1 , wherein the unified system/graphics memory is accessible by each memory channel of the plurality of memory channels.

13. An apparatus comprising:

a unified system/graphics memory; and

a memory controller, operatively coupled to the unified system/graphics memory, the memory controller operative to receive client data access requests associated with one or more clients and a central processing unit (CPU) data access request associated with a CPU, to a plurality of memory channels for accessing the unified system/graphics memory, wherein the memory controller is operative to provide access to the plurality of memory channels, simultaneously, by the CPU and at least one client of the one or more clients,

the memory controller operative to prioritize the CPU data access request to the unified memory over the client data access requests to the unified memory and operative to control the plurality of memory channels to access, simultaneously, data for the CPU and data for the at least one client based on a request of the client data access requests and the CPU data access request.

14. The apparatus of claim 13 wherein the memory controller is operative to communicate data with the CPU at a first rate and communicate data with the same unified system/graphics memory at a second rate, the second rate being substantially different from the first rate.

15. The apparatus of claim 14 , wherein the first rate is substantially higher than the second rate.

16. The apparatus of claim 13 , wherein the memory controller is operative to:

receive the client data access requests;

translate the client data access requests to a plurality of requested data access addresses; and

arbitrate the plurality of requested data access addresses.

17. The apparatus of claim 13 wherein the memory controller is operative to:

receive the client data access requests and the CPU data access request;

translate the client data access requests and the CPU data access request to a plurality of requested data access addresses; and

arbitrate the plurality of requested data access addresses.

18. The apparatus of claim 13 , wherein the memory controller is operative to:

receive the client data access requests and the CPU data access request simultaneously; and

provide simultaneous data access to the same unified system/graphics memory in response to the client data access requests and the CPU data access request.

19. The apparatus of claim 13 comprising the one or more clients and the CPU and wherein the one or more clients are one or more video/graphics engines and the CPU is connected to the one or more video/graphics engines comprising a monolithic semiconductor device.

20. The apparatus of claim 13 , wherein the memory controller is operative to provide data access simultaneously to the same unified video/graphics memory in response to the client data access requests and the CPU data access request by providing data access to the CPU over a first memory channel among the plurality of memory channels and providing data access for the at least one client over a second memory channel among the plurality of memory channels.

21. The apparatus of claim 13 , wherein the unified system/graphics memory is accessible by each memory channel of the plurality of memory channels.

22. The apparatus of claim 13 , wherein the plurality of memory channels each comprise an address bus portion, a control bus portion, and a data bus portion.

23. The apparatus of claim 22 , wherein the plurality of memory channels each comprise a plurality of read and write buses.

Assignments (7)
QUIT CLAIM ASSIGNMENT Recorded Jun 3, 2020
From: ATI TECHNOLOGIES ULC
To: VANTAGE MICRO LLC
Reel/Frame 052832/0269 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 23, 2019
From: FULLBRITE CAPITAL PARTNERS, LLC
To: VANTAGE MICRO LLC
Reel/Frame 051360/0674 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 23, 2019
From: ADVANCED MICRO DEVICES, INC.
To: FULLBRITE CAPITAL PARTNERS, LLC
Reel/Frame 051360/0220 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 8, 2017
From: ALEKSIC, MILIVOJE; LI, RAYMOND M.; CHENG, DANNY H.M.; MIZUYABU, CARL K.; ASARO, ANTONIO
To: ATI INTERNATIONAL SRL
Reel/Frame 044710/0684 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 8, 2017
From: ATI INTERNATIONAL SRL
To: ATI TECHNOLOGIES ULC
Reel/Frame 044710/0691 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 16, 2017
From: ALEKSIC, MILIVOJE; LI, RAYMOND M.; CHENG, DANNY H.M.; MIZUYABU, CARL K.; ASARO, ANTONIO
To: ATI INTERNATIONAL SRL
Reel/Frame 044210/0879 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 16, 2017
From: ATI INTERNATIONAL SRL
To: ATI TECHNOLOGIES ULC
Reel/Frame 044265/0247 →