IP Library › Granted Patent US 12,455,827
Granted Patent B2
US 12,455,827 · App. 17/645,481 · Granted Oct 28, 2025

System, apparatus and methods for performing shared memory operations

Inventors: Debendra Das Sharma (Saratoga, CA); Robert Blankenship (Tacoma, WA)
Assignee: Intel Corporation
G06F12/084G06F12/0815G06F13/1668G06F13/4027G06F2212/1016
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,827
App. No.
17/645,481
Granted
Oct 28, 2025
Kind
B2
Abstract

In an embodiment, an apparatus for memory access may include: a memory comprising at least one atomic memory region, and a control circuit coupled to the memory, The control circuit may be to: for each submission queue of a plurality of submission queues, identify an atomic memory location specified in a first entry of the submission queue, wherein each submission queue is to store access requests from a different requester; determine whether the atomic memory location includes existing requester information; and in response to a determination that the atomic memory location does not include existing requester information, perform an atomic operation for the atomic memory location based at least in part on the first entry of the submission queue. Other embodiments are described and claimed.

Claims (45)

1 . An apparatus comprising:

a memory comprising at least one atomic memory region;

a control circuit coupled to the memory, the control circuit to:

for each submission queue of a plurality of submission queues, identify an atomic memory location specified in a first entry of the submission queue, wherein each submission queue is to store access requests from a different requester;

determine whether the atomic memory location includes existing requester information that matches requester information from the first entry; and

in response to a determination that the atomic memory location does not include existing requester information that matches requester information from the first entry, perform an atomic operation for the atomic memory location based at least in part on the first entry of the submission queue.

2 . The apparatus of claim 1 , wherein the control circuit is further to, in response to the determination that the atomic memory location does not include existing requester information:

write new requester information to the atomic memory location.

3 . The apparatus of claim 2 , wherein the new requester information is included in the first entry of the submission queue, and wherein the new requester information comprises at least a virtual hierarchy identifier, a bus identifier, a device identifier, and a function identifier.

4 . The apparatus of claim 1 , wherein the control circuit is further to, in response to a determination that the atomic memory location does include existing requester information:

move the first entry to a tail end of the submission queue.

5 . The apparatus of claim 1 , wherein the plurality of submission queues are stored in an enqueue memory region of the apparatus.

6 . The apparatus of claim 1 , wherein each submission queue of the plurality of submission queues is stored in local memory of a different host device.

7 . The apparatus of claim 1 , wherein the control circuit comprises a directory cache, and wherein the control circuit is to coordinate coherence across a plurality of cache coherence domains using the directory cache.

8 . The apparatus of claim 7 , wherein each entry of the directory cache comprises a directory vector, and wherein each directory vector is to indicate coherency states and owner entities of a plurality of shared memory locations.

9 . The apparatus of claim 1 , wherein the control circuit is to, in response to a determination that a requested shared memory location is exclusively owned by an entity:

issue a back invalidate command to the entity.

10 . A method comprising:

accessing, by a control circuit of a device, a plurality of submission queues, wherein each submission queue is to store access requests from a different requester coupled to the device;

for each submission queue of the plurality of submission queues, identifying, by the control circuit, an atomic memory location specified in a first entry of the submission queue;

determining, by the control circuit, whether the atomic memory location includes existing requester information that matches requester information from the first entry; and

in response to a determination that the atomic memory location does not include existing requester information that matches requester information from the first entry, performing, by the control circuit, an atomic operation for the atomic memory location based on the first entry of the submission queue.

11 . The method of claim 10 , further comprising:

in response to the determination that the atomic memory location does not include existing requester information, writing new requester information to the atomic memory location.

12 . The method of claim 11 , wherein the new requester information is included in the first entry of the submission queue, and wherein the new requester information comprises at least a virtual hierarchy identifier, a bus identifier, a device identifier, and a function identifier.

13 . The method of claim 10 , wherein the plurality of submission queues are stored in an enqueue memory region of the device.

14 . The method of claim 10 , further comprising:

coordinating, by the control circuit, coherence across a plurality of cache coherence domains using a directory cache included in the control circuit.

15 . The method of claim 14 , wherein each entry of the directory cache comprises a directory vector, and wherein each directory vector is to indicate coherency states and owner entities of a plurality of shared memory locations.

16 . The method of claim 10 , further comprising:

determining, by the control circuit, whether a requested shared memory location is exclusively owned by an entity; and

in response to a determination that the requested shared memory location is exclusively owned by the entity, issuing, by the control circuit, a back invalidate command to the entity.

17 . A system comprising:

a plurality of host devices;

at least one memory expansion device;

a switch to couple the plurality of host devices and the at least one memory expansion device via Compute Express Link (CXL) interconnects,

wherein the at least one memory expansion device comprises a control circuit to:

for each submission queue of a plurality of submission queues, identify an atomic memory location specified in a first entry of the submission queue, wherein each submission queue is to store access requests from a different host device of the plurality of host devices;

determine whether the atomic memory location includes existing requester information that matches requester information from the first entry; and

in response to a determination that the atomic memory location does not include existing requester information that matches requester information from the first entry, perform an atomic operation for the atomic memory location based on the first entry of the submission queue.

18 . The system of claim 17 , wherein the control circuit is further to, in response to the determination that the atomic memory location does not include existing requester information:

write new requester information to the atomic memory location.

19 . The system of claim 17 , wherein the control circuit comprises a directory cache, and wherein the control circuit is to coordinate coherence across a plurality of cache coherence domains using the directory cache.

20 . The system of claim 17 , wherein the control circuit is to, in response to a determination that a requested shared memory location is exclusively owned by an entity:

issue a back invalidate command to the entity.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 22, 2021
From: DAS SHARMA, DEBENDRA; BLANKENSHIP, ROBERT
To: INTEL CORPORATION
Reel/Frame 058457/0114 →
Continuity (1)
Related Publication 20220114098A1 · Apr 14, 2022
References Cited (23)
US 9164911B2 · Farrell et al. · 2015 [cited by applicant]
US 11604737B1 · Greathouse · 2023 [cited by examiner]
US 20170097867A1 · Glaser et al. · 2017 [cited by applicant]
US 20180011792A1 · Koker · 2018 [cited by applicant]
US 20190324928A1 · Brewer · 2019 [cited by examiner]
US 20200186414A1 · Sharma · 2020 [cited by applicant]
US 20200293480A1 · Iyer et al. · 2020 [cited by applicant]
US 20200394150A1 · Lanka et al. · 2020 [cited by applicant]
US 20210011864A1 · Guim Bernat et al. · 2021 [cited by applicant]
US 20210112132A1 · Paliwal et al. · 2021 [cited by applicant]
US 20210149600A1 · Brewer · 2021 [cited by applicant]
US 20210200545A1 · Marolia et al. · 2021 [cited by applicant]
US 20210232520A1 · Choudhary et al. · 2021 [cited by applicant]
US 20210349512A1 · Bernat et al. · 2021 [cited by applicant]
US 20220114098A1 · Das Sharma et al. · 2022 [cited by applicant]
EP 3588317 · 2020 [cited by applicant]
Patent Cooperation Treaty, International Search Report and Written Opinion mailed Jan. 5, 2022 in PCT Application No. PCT/US2021/050772 (12 pages). [cited by applicant]
Intel Corporation, Logical PHY Interface (LPIF) Specification, Version 1, Mar. 23, 2019, pp. 1-63. [cited by applicant]
Intel Corporation, “Compute Express Link, Specification, Mar. 2019, Revision 1.0,” Mar. 2019, 206 pages. [cited by applicant]
Intel Corporation, Compute Express Link™ 2.0 White Paper, 4 pages. [cited by applicant]
Blankenship et al., U.S. Appl. No. 17/645,485 entitled System, Apparatus and Methods for Direct Data Reads From Memory filed Dec. 22, 2021 (43 pages). [cited by applicant]
Choudhary et al., U.S. Appl. No. 17/645,828 entitled Selection of Processing Mode for Receiver Circuit filed Dec. 23, 2021 (47 pages). [cited by applicant]
Korean Intellectual Property Office, International Search Report and Written Opinion for Appl. No. PCT/US2022/047966 dated Feb. 27, 2023 (10 pages). [cited by applicant]