IP Library Granted Patent US 11,422,954
Granted Patent B2
US 11,422,954 · App. 16/147,241 · Granted Aug 23, 2022

Techniques for accelerating memory access operations

Inventors: Robert Pelt (Austin, TX); Arifur Rahman (San Jose, CA); Hong Wang (Santa Clara, CA)
Assignee: Intel Corporation
G06F13/1668G06F12/0862G06F13/28G06F2212/6026G06F2212/6028G06F2213/28
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 11,422,954
App. No.
16/147,241
Granted
Aug 23, 2022
Kind
B2
Abstract

A computer system includes a processor circuit, first and second memory systems, and a configurable memory assistance circuit. The processor circuit is used to run at least one application. The application issues a memory access operation. The configurable memory assistance circuit is in communication with the first and second memory systems and the processor circuit. The configurable memory assistance circuit accelerates the memory access operation for the application using data as the data is in transit between the first and second memory systems.

Claims (43)

1. A computer system comprising:

a processor circuit to run an application;

a first memory system;

a second memory system, wherein the application issues a memory access operation; and

a configurable memory assistance circuit in communication with the first and second memory systems and the processor circuit, wherein the configurable memory assistance circuit accelerates the memory access operation for the application by performing computations for the application on data as the data is in transit between the first and second memory systems.

2. The computer system of claim 1 further comprising:

a cache memory controller circuit that determines whether the data is to be transferred between the first and second memory systems in response to the memory access operation.

3. The computer system of claim 1 , wherein the first memory system is a cache memory circuit coupled to the processor circuit, and wherein the second memory system is a memory device that is external to a processor cluster that comprises the processor circuit and the cache memory circuit.

4. The computer system of claim 3 , wherein the computer system further comprises:

an additional processor circuit in the processor cluster;

a third memory system; and

an additional configurable memory assistance circuit in communication with the additional processor circuit and the third memory system, wherein the additional configurable memory assistance circuit accelerates an additional memory access operation for the additional processor circuit using additional data as the additional data is in transit between the third memory system and one of the first or second memory systems.

5. The computer system of claim 1 , wherein the configurable memory assistance circuit accelerates the memory access operation by converting the data between a first coordinate system and a second coordinate system.

6. The computer system of claim 1 , wherein the configurable memory assistance circuit accelerates the memory access operation by performing tile extraction and address translation of video data prefetched from the first memory system and then provides extracted and translated video data for storage in the second memory system.

7. The computer system of claim 1 , wherein the configurable memory assistance circuit comprises pointer logic and a buffer, wherein the buffer stores the data as the data is in transit between the first and second memory systems, and wherein the pointer logic accelerates the memory access operation by coordinating scheduling of memory accesses of the data that is being transferred between the first and second memory systems.

8. The computer system of claim 1 , wherein the configurable memory assistance circuit functions as a private direct memory access controller that allows an input/output device to send and receive data directly to and from the first or second memory system, bypassing the processor circuit.

9. The computer system of claim 1 , wherein the configurable memory assistance circuit performs speculative access of the data stored in the first memory system and then stores results of the speculative access of the data in the second memory system.

10. The computer system of claim 1 , wherein the configurable memory assistance circuit comprises configurable logic array blocks, random access memory blocks, and digital signal processing blocks.

11. A method for accelerating memory access operations using data in transit between memory systems in a computer system, the method comprising:

running an application on a processor circuit in the computer system;

storing data in a first memory system in the computer system;

transferring the data from the first memory system to a second memory system in the computer system in response to a memory access operation generated by the processor circuit; and

accelerating the memory access operation using the data with a configurable memory assistance circuit in the computer system by performing computations for the application on the data as the data is in transit between the first and second memory systems.

12. The method of claim 11 , wherein at least one of the first memory system or the second memory system is a cache memory circuit coupled to the processor circuit.

13. The method of claim 12 , wherein at least one of the first memory system or the second memory system is a memory device that is external to a processor cluster that comprises the processor circuit and the cache memory circuit.

14. The method of claim 11 , wherein both of the first memory system and the second memory system are memory devices that are external to the processor circuit and a circuit board coupled to the processor circuit.

15. The method of claim 11 , wherein accelerating the memory access operation using the data with the configurable memory assistance circuit in the computer system as the data is in transit between the first and second memory systems further comprises:

performing tile extraction and address translation of video data prefetched from the first memory system using the configurable memory assistance circuit; and

providing extracted and translated video data for storage in the second memory system.

16. The method of claim 11 , wherein accelerating the memory access operation using the data with the configurable memory assistance circuit in the computer system as the data is in transit between the first and second memory systems further comprises:

storing the data in a buffer in the configurable memory assistance circuit as the data is in transit between the first and second memory systems; and

transferring the data from the first memory system to the second memory system based on pointers stored in pointer logic in the configurable memory assistance circuit that indicate a source of the data, a destination of the data, and a location where the data is currently stored.

17. The method of claim 11 , wherein accelerating the memory access operation using the data with the configurable memory assistance circuit in the computer system as the data is in transit between the first and second memory systems further comprises:

converting the data between Cartesian coordinates and spherical or cylindrical coordinates with the configurable memory assistance circuit.

18. A computer system comprising:

a processor circuit;

a first memory system;

a second memory system, wherein the processor circuit issues a memory access operation; and

a configurable memory assistance circuit in communication with the first and second memory systems and the processor circuit, wherein the configurable memory assistance circuit comprises configurable logic circuits that are configurable to accelerate the memory access operation by performing computations on data while the data is in transit from the first memory system to the second memory system.

19. The computer system of claim 18 , wherein at least one of the first memory system or the second memory system is a memory device that is external to an integrated circuit that comprises the processor circuit and a cache memory circuit.

20. The computer system of claim 18 , wherein at least one of the first memory system or the second memory system is a cache memory circuit in an integrated circuit with the processor circuit.

21. The computer system of claim 18 further comprising:

a cache memory controller circuit that determines whether the data is to be transferred between the first and second memory systems in response to the memory access operation, wherein the cache memory controller circuit coordinates the transfer of the data between the first and second memory systems.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 15, 2026
From: INTEL CORPORATION
To: INTEL PRODUCTS IP LLC
Reel/Frame 076025/0828 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 25, 2018
From: PELT, ROBERT; RAHMAN, ARIFUR; WANG, HONG
To: INTEL CORPORATION
Reel/Frame 047312/0096 →
Continuity (1)
Related Publication 20190042494A1 · Feb 7, 2019