IP Library › Granted Patent US 12,417,179
Granted Patent B2
US 12,417,179 · App. 18/399,283 · Granted Sep 16, 2025

Adaptive system probe action to minimize input/output dirty data transfers

Inventors: Li Ou (Austin, TX); Ganesh Balakrishnan (Austin, TX); Amit Apte (Austin, TX)
Assignee: Advanced Micro Devices, Inc.
G06F12/0815G06F12/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,417,179
App. No.
18/399,283
Granted
Sep 16, 2025
Kind
B2
Abstract

Adaptive system probe action to minimize input/output dirty data transfers is described. In one or more implementations, a system includes a processor, a memory configured to store data, and a cache configured to store a portion of the data stored in the memory for execution by the processor. The system also includes a cache coherence controller including a cache line history. The cache coherence controller is configured detect a direct memory access request from an input/output device. The direct memory access request is associated with an input/output operation involving the data. The cache coherence controller is further configured to identify a cache line associated with the direct memory access request, and, in response to the cache line history including a dirty data transfer record corresponding to the cache line, selectively send a probe to the cache based on a state of the cache line.

Claims (32)

1. A system comprising:

a processor;

a memory configured to store data;

a cache configured to store a portion of the data stored in the memory for execution by the processor; and

a cache coherence controller comprising a cache line history, the cache coherence controller configured to:

identify a cache line associated with a direct memory access request, the direct memory access request associated with an operation involving the data; and

responsive to the cache line history including a dirty data transfer record corresponding to the cache line, selectively send a probe to the cache, the dirty data transfer record including information that indicates whether a dirty transfer was triggered by a previous request for the cache line.

2. The system of claim 1 , wherein the cache coherence controller is configured to selectively send the probe to the cache based on a state of the cache line, the state of the cache line comprising a modified state, an exclusive state, a shared state, or an invalid state.

3. The system of claim 2 , wherein the cache coherence controller is further configured to, in response to determining that the state of the cache line is the exclusive state, send the probe to the cache to invalidate the cache line.

4. The system of claim 2 , wherein the cache coherence controller is further configured to, in response to determining that the state of the cache line is the shared state, send the probe to convert the state of the cache line from a dirty shared state to a clean shared state.

5. The system of claim 1 , wherein the processor comprises a first core and a second core, and wherein the cache comprises a first cache corresponding to the first core and a second cache corresponding to the second core.

6. The system of claim 5 , wherein the first cache stores the portion of the data in the cache line.

7. The system of claim 5 , wherein the first core transfers the portion of the data from the first cache to the second cache.

8. The system of claim 5 , wherein the first core modifies the portion of the data to create a new portion of the data that is different from the portion of the data.

9. The system of claim 8 , wherein the cache coherence controller is further configured to update the cache line history to reflect that the portion of the data was modified before being transferred to the second cache.

10. The system of claim 1 , wherein the operation involving the data comprises an input or output operation.

11. The system of claim 1 , wherein the cache coherence controller is configured to selectively send the probe to the cache by sending the probe to the cache if the information in the dirty data transfer record indicates that the dirty transfer was triggered by the previous request for the cache line.

12. The system of claim 1 , wherein the cache coherence controller is configured to selectively send the probe to the cache by not sending the probe to the cache if the information in the dirty data transfer record indicates that the dirty transfer was not triggered by the previous request for the cache line.

13. A cache coherence controller comprising:

a memory configured to store a cache line history; and

a hardware circuitry configured to:

identify a cache line associated with a direct memory access request, the direct memory access request associated with an operation involving data stored in a cache; and

responsive to the cache line history including a dirty data transfer record corresponding to the cache line, selectively send a probe to the cache, the dirty data transfer record including information that identifies whether a dirty transfer was triggered by a previous request for the cache line.

14. The cache coherence controller of claim 13 , wherein hardware circuitry comprises the memory.

15. The cache coherence controller of claim 13 , wherein the hardware circuitry is configured to selectively send the probe to the cache based on a state, the state comprising a modified state, an exclusive state, a shared state, or an invalid state.

16. The cache coherence controller of claim 15 , wherein the hardware circuitry is further configured to, in response to determining that the state of the cache line is the shared state, send the probe to convert the state of the cache line from a dirty shared state to a clean shared state.

17. The cache coherence controller of claim 13 , wherein the hardware circuitry is further configured to update the cache line history to reflect that a portion of the data was modified before being transferred to the cache.

18. The cache coherence controller of claim 13 , wherein the operation involving the data comprises an input operation or an output operation.

19. A method comprising:

detecting, by a cache coherence controller, a direct memory access request from a direct memory access engine of an input/output device, the direct memory access request associated with an input/output operation performed by the input/output device; and

responsive to detecting the direct memory access request, selectively executing, by the cache coherence controller, an adaptive algorithm to ensure coherency of data between a plurality of caches and a memory, the data associated with the input/output operation, wherein the cache coherence controller selectively executes the adaptive algorithm based on a dirty data transfer record that includes information regarding previous requests to the caches.

20. The method of claim 19 , wherein selectively executing, by the cache coherence controller, the adaptive algorithm comprises executing, by the cache coherence controller, the adaptive algorithm in response to the data being associated with a dirty data transfer from a first cache of the plurality of caches to a second cache of the plurality of caches.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 8, 2024
From: OU, LI; BALAKRISHNAN, GANESH; APTE, AMIT
To: ADVANCED MICRO DEVICES, INC.
Reel/Frame 067032/0248 →
Continuity (1)
Related Publication 20250217292A1 · Jul 3, 2025
References Cited (11)
US 20030115402A1 · Dahlgren et al. · 2003 [cited by applicant]
US 20040117559A1 · Glasco et al. · 2004 [cited by applicant]
US 20050033924A1 · Glasco · 2005 [cited by applicant]
US 20070186057A1 · Moll · 2007 [cited by examiner]
US 20130339610A1 · Collura · 2013 [cited by examiner]
US 20190332538A1 · Milojicic et al. · 2019 [cited by applicant]
US 20200104164A1 · Pawlowski · 2020 [cited by examiner]
US 20230067307A1 · Natarajan · 2023 [cited by examiner]
US 20230273731A1 · Ki et al. · 2023 [cited by applicant]
US 20240126538A1 · Koval · 2024 [cited by examiner]
PCT/US2024/034098 , “International Search Report and Written Opinion”, International Application No. PCT/US2024/034098, Sep. 27, 2024, 8 pages. [cited by applicant]
Cited By (1)
US 12,572,486