IP Library Granted Patent US 12,455,821
Granted Patent B2
US 12,455,821 · App. 17/849,387 · Granted Oct 28, 2025

Memory access tracing

Inventors: Ankit Patel (Folsom, CA); Lidia Warnes (Roseville, CA); Donald L. Faw (Hillsboro, OR); Bassam N. Coury (Portland, OR); Douglas Carrigan (Chandler, AZ); Hugh Wilkinson (Newton, MA); Ananthan Ayyasamy (Beaverton, OR); Michael F. Fallon (Wellesley, MA)
Assignee: Intel Corporation
G06F12/0646G06F12/0868G06F12/0877
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 12,455,821
App. No.
17/849,387
Granted
Oct 28, 2025
Kind
B2
Abstract

Examples described herein relate to circuitry, when operational, configured to: store records of memory accesses to a memory device by at least one requester based on a configuration, wherein the configuration is to specify a duration of memory access capture. In some examples, the at least one requester comprises one or more workloads running on one or more processors. In some examples, the configuration is to specify collection of one or more of: physical address ranges or read or write access type.

Claims (42)

1. An apparatus comprising:

a hardware interconnect to communicatively couple at least one device and a memory via a memory controller and

circuitry, when operational, configured to:

trace requests for memory access to the memory from multiple requesters and

store records of the memory accesses to the memory based on a configuration, wherein:

the configuration is to specify a duration of memory access capture for the multiple requesters, requester identifier to track memory accesses, physical address ranges, or read or write access type,

the multiple requesters are associated with the at least one device,

the records of the memory accesses comprise a requester identifier and two or more of: event type, time value of elapsed duration since storage of data in a buffer, or address,

the memory comprises a memory pool, and

the memory pool comprises at least one dual inline memory module (DIMM).

2. The apparatus of claim 1 , wherein the multiple requesters comprise workloads executing on the at least one device.

3. The apparatus of claim 1 , wherein the event type comprises one or more of: memory access requests not captured, memory device is idle or non-operational, or no power to memory device.

4. The apparatus of claim 1 , wherein the circuitry and the memory are associated with a security boundary and the circuitry is permitted merely to store records of memory accesses to the memory.

5. The apparatus of claim 1 , comprising:

the memory and

the memory controller.

6. The apparatus of claim 1 , wherein the at least one device comprises one or more of: a microcontroller, central processing unit (CPU), graphics processing unit (GPU), network interface device, accelerator, storage device, graphics processing unit, audio or sound processing device.

7. A method comprising:

an interconnect to a network on chip (NOC), that communicatively couples at least one device and a memory via a memory controller, wherein the interconnect performs:

storing records of memory accesses to the memory by at least one requester based on a configuration, wherein:

the configuration is to specify a duration of memory access capture, requester identifier to track memory accesses, physical address ranges, or read or write access type,

the at least one requester is associated with the at least one device, and

the records of the memory accesses comprise a requester identifier and two or more of: event type, time value of elapsed duration since storage of data in a buffer, or memory address.

8. The method of claim 7 , wherein the records comprise one or more of: identifier of read request, identifier of write request, cache line address, page address, time stamp of capture, or timer value at capture.

9. The method of claim 8 , wherein the event type comprises one or more of: memory access requests not captured, memory device is idle or non-operational, or no power to memory device.

10. The method of claim 7 , comprising:

pre-fetching data from the memory based on the records of the memory accesses for processing by a requester of the at least one requester.

11. The method of claim 7 , comprising:

the interconnect intercepting a request for a memory access of the memory accesses from a requester of the at least one requester and performing the storing the records of the memory accesses to the memory based on the intercepted request.

12. The method of claim 7 , wherein the interconnect is to operate in a manner consistent with Compute Express Link (CXL).

13. The method of claim 7 , wherein the records of memory accesses are to indicate a number of clock cycles of no operations (NOP).

14. The method of claim 7 , wherein the records of memory accesses are stored in trace data and wherein the trace data indicates a clock cycle number, an event information, packet number, and indication of no operation (NOP).

15. At least one non-transitory computer-readable medium comprising instructions stored thereon, that if executed by one or more processors, cause the one or more processors to:

configure circuitry to store records of memory accesses to a memory device by at least one requester based on a configuration, wherein:

the configuration is to specify a duration of memory access capture,

the circuitry communicatively couples at least one device and a memory via a memory controller,

multiple requesters are associated with the at least one device,

the records of the memory accesses comprise a requester identifier and two or more of: event type, time value of elapsed duration since storage of data in a buffer, or address, and

the memory comprises a memory pool and the memory pool comprises at least one dual inline memory module (DIMM).

16. The computer-readable medium of claim 15 , wherein the configuration is to specify collection of one or more of: physical address ranges or read or write access type.

17. The computer-readable medium of claim 15 , wherein the records comprise one or more of: read request, write request, memory address, cache line address, page address, event type, time stamp of capture, or timer value at capture.

18. The computer-readable medium of claim 15 , wherein the records comprise one or more of: trace information of accesses of memory addresses and time between accesses of memory addresses.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 26, 2023
From: PATEL, ANKIT; WARNES, LIDIA; FAW, DONALD L.; COURY, BASSAM N.; CARRIGAN, DOUGLAS; WILKINSON, HUGH; AYYASAMY, ANANTHAN; FALLON, MICHAEL F.
To: INTEL CORPORATION
Reel/Frame 062498/0041 →
Continuity (2)
Provisional Application 63252018 · Oct 4, 2021
Related Publication 20220334963A1 · Oct 20, 2022
References Cited (6)
US 20070011330A1 · Dinker · 2007 [cited by examiner]
US 20210034499A1 · Hershkovitz · 2021 [cited by examiner]
US 20220075731A1 · Dong · 2022 [cited by examiner]
US 20220197819A1 · Kumar · 2022 [cited by examiner]
Ohba, Nobuyuki et al., “Non-intrusive Scalable Memory Access Tracer”, https://link.springer.com/chapter/10.1007/978-3-319-10696-0_20, QEST 2014, pp. 245-248. [cited by applicant]
Schmidt, Thomas, “Evaluating Techniques for Full System Memory Tracing”, https://os.itec.kit.edu/downloads/ba_2017_Thomas-Schmidt_Techniques-for-full-system-memory-tracing.pdf, Oct. 2017, 41 pages. [cited by applicant]