IP Library › Granted Patent US 12,639,254
Granted Patent B2
US 12,639,254 · App. 18/938,353 · Granted May 26, 2026

Multi-cast snoop vectors within a mesh topology

Inventors: Madhavi Kondapaneni (Cupertino, CA); Aqdas Javaid (Islamabad, PK); Ayesha Zahid (Rawalpindi, PK)
Assignee: Akeana, Inc.
G06F15/17381G06F12/0831G06F15/17337
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,639,254
App. No.
18/938,353
Filed
Nov 6, 2024
Granted
May 26, 2026
Kind
B2
Art Unit
2184
USPC
712/28
Abstract

Techniques for sharing processor data within a network are disclosed. A system-on-a-chip (SOC) is accessed. The SOC includes a network-on-a-chip (NOC), which comprises an M×N mesh topology. The mesh includes a coherent tile at each mesh point. Each tile includes local snoop vectors (LSVs). A first coherent tile initiates a snoop operation. The tile generates a snoop vector that indicates other tiles to be notified of the snoop operation. The first coherent tile creates directional snoop vectors (DSVs). The creating logically combines the snoop vector with each of the LSVs. A coherent tile adjacent to the first coherent tile is selected. The adjacent tile is located in a cardinal direction from the first tile. A first DSV is chosen based on the cardinal direction. The first tile sends the snoop operation and the chosen first DSV to the selected adjacent tile.

Claims (50)

1 . A processor-implemented method for sharing data comprising:

accessing a system-on-a-chip (SOC), wherein the SOC includes a network-on-a-chip (NOC), wherein the NOC includes an M×N mesh topology, wherein M and N are both integers greater than 1, wherein the M×N mesh topology includes a coherent tile at each point of the M×N mesh topology, and wherein each coherent tile in the M×N mesh topology includes one or more local snoop vectors (LSVs);

initiating, by a first coherent tile within the M×N mesh topology, a snoop operation;

generating, by the first coherent tile, a snoop vector, wherein the snoop vector indicates one or more other tiles within the M×N mesh topology to be notified of the snoop operation;

creating, by the first coherent tile, one or more directional snoop vectors (DSVs), wherein the creating includes logically combining the snoop vector that was generated with each of the one or more LSVs;

selecting an adjacent coherent tile to the first coherent tile, wherein the adjacent coherent tile is located in a cardinal direction from the first coherent tile;

choosing a first DSV from the one or more DSVs, wherein the choosing is based on the cardinal direction; and

sending, by the first coherent tile, to the adjacent coherent tile that was selected, the snoop operation and the first DSV that was chosen.

2 . The method of claim 1 further comprising generating, by the adjacent coherent tile, one or more second DSVs, wherein the generating includes logically combining the first DSV with each of one or more adjacent LSVs.

3 . The method of claim 2 wherein the logically combining is based on an AND function.

4 . The method of claim 2 further comprising identifying a second adjacent coherent tile, wherein the second adjacent coherent tile is located in a second cardinal direction from the adjacent coherent tile.

5 . The method of claim 4 wherein the second adjacent coherent tile is not the first coherent tile.

6 . The method of claim 5 further comprising picking a second DSV from the one or more second DSVs, wherein the picking is based on the second cardinal direction.

7 . The method of claim 6 further comprising forwarding, by the adjacent coherent tile, to the second adjacent coherent tile that was identified, the snoop operation and the second DSV that was picked.

8 . The method of claim 1 further comprising determining the one or more other tiles within the M×N mesh topology to be notified, wherein the determining is based on a directory-based snoop filter (DSF) within the first coherent tile.

9 . The method of claim 1 wherein the selecting includes a second adjacent coherent tile.

10 . The method of claim 9 wherein the choosing includes an additional DSV.

11 . The method of claim 10 further comprising transmitting, by the first coherent tile, the snoop operation and the additional DSV to the second adjacent coherent tile.

12 . The method of claim 1 wherein the one or more LSVs are based on a cardinal direction priority.

13 . The method of claim 12 wherein the cardinal direction priority is east/west, then north/south.

14 . The method of claim 1 wherein the coherent tile at each point of the M×N mesh topology comprises a switching unit (SU).

15 . The method of claim 1 wherein the first coherent tile includes a cache coherency block (CCB) and a coherency ordering agent (COA).

16 . The method of claim 15 wherein the adjacent coherent tile includes a CCB and a COA.

17 . The method of claim 15 wherein the adjacent coherent tile includes one or more memory control interfaces (MCIs).

18 . The method of claim 17 wherein the adjacent coherent tile does not receive the snoop operation or the first DSV that was chosen.

19 . The method of claim 15 wherein the adjacent coherent tile includes one or more I/O control interfaces (ICIs).

20 . The method of claim 1 wherein the one or more LSVs comprises four LSVs.

21 . The method of claim 20 wherein the four LSVs comprise a LSV for each of four cardinal directions from the first coherent tile.

22 . The method of claim 1 wherein the logically combining comprises a logical AND function.

23 . The method of claim 1 wherein the one or more LSVs are unique to the first coherent tile.

24 . The method of claim 1 wherein the NOC includes a point-to-point packetized communication protocol.

25 . The method of claim 1 wherein the snoop operation is an invalidating snoop operation.

26 . A computer program product embodied in a non-transitory computer readable medium for sharing data, the computer program product comprising code which causes one or more processors to generate semiconductor logic for:

accessing a system-on-a-chip (SOC), wherein the SOC includes a network-on-a-chip (NOC), wherein the NOC includes an M×N mesh topology, wherein M and N are both integers greater than 1, wherein the M×N mesh topology includes a coherent tile at each point of the M×N mesh topology, and wherein each coherent tile in the M×N mesh topology includes one or more local snoop vectors (LSVs);

initiating, by a first coherent tile within the M×N mesh topology, a snoop operation;

generating, by the first coherent tile, a snoop vector, wherein the snoop vector indicates one or more other tiles within the M×N mesh topology to be notified of the snoop operation;

creating, by the first coherent tile, one or more directional snoop vectors (DSVs), wherein the creating includes logically combining the snoop vector that was generated with each of the one or more LSVs;

selecting an adjacent coherent tile to the first coherent tile, wherein the adjacent coherent tile is located in a cardinal direction from the first coherent tile;

choosing a first DSV from the one or more DSVs, wherein the choosing is based on the cardinal direction; and

sending, by the first coherent tile, to the adjacent coherent tile that was selected, the snoop operation and the first DSV that was chosen.

27 . A computer system for sharing data comprising:

a memory which stores instructions;

one or more processors coupled to the memory wherein the one or more processors, when executing the instructions which are stored, are configured to:

access a system-on-a-chip (SOC), wherein the SOC includes a network-on-a-chip (NOC), wherein the NOC includes an M×N mesh topology, wherein M and N are both integers greater than 1, wherein the M×N mesh topology includes a coherent tile at each point of the M×N mesh topology, and wherein each coherent tile in the M×N mesh topology includes one or more local snoop vectors (LSVs);

initiate, by a first coherent tile within the M×N mesh topology, a snoop operation;

generate, by the first coherent tile, a snoop vector, wherein the snoop vector indicates one or more other tiles within the M×N mesh topology to be notified of the snoop operation;

create, by the first coherent tile, one or more directional snoop vectors (DSVs), wherein the creating includes logically combining the snoop vector that was generated with each of the one or more LSVs;

select an adjacent coherent tile to the first coherent tile, wherein the adjacent coherent tile is located in a cardinal direction from the first coherent tile;

choose a first DSV from the one or more DSVs, wherein the choosing is based on the cardinal direction; and

send, by the first coherent tile, to the adjacent coherent tile that was selected, the snoop operation and the first DSV that was chosen.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 18, 2025
From: KONDAPANENI, MADHAVI; JAVAID, AQDAS; ZAHID, AYESHA
To: AKEANA, INC.
Reel/Frame 071452/0978 →
Continuity (21)
Provisional Application 63714529 · Oct 31, 2024
Provisional Application 63702192 · Oct 2, 2024
Provisional Application 63699245 · Sep 26, 2024
Provisional Application 63691351 · Sep 6, 2024
Provisional Application 63690822 · Sep 5, 2024
Provisional Application 63687795 · Aug 28, 2024
Provisional Application 63679685 · Aug 6, 2024
Provisional Application 63679192 · Aug 5, 2024
Provisional Application 63653402 · May 30, 2024
Provisional Application 63641045 · May 1, 2024
Provisional Application 63640921 · May 1, 2024
Provisional Application 63570281 · Mar 27, 2024
Provisional Application 63564529 · Mar 13, 2024
Provisional Application 63563492 · Mar 11, 2024
Provisional Application 63563102 · Mar 8, 2024
Provisional Application 63556944 · Feb 23, 2024
Provisional Application 63556951 · Feb 23, 2024
Provisional Application 63605620 · Dec 4, 2023
Provisional Application 63602514 · Nov 24, 2023
Provisional Application 63547574 · Nov 7, 2023
Related Publication 20250147919A1 · May 8, 2025
References Cited (33)
US 6934809B2 · Tremblay et al. · 2005 [cited by applicant]
US 7506105B2 · Al-Sukhni et al. · 2009 [cited by applicant]
US 7805575B1 · Agarwal · 2010 [cited by examiner]
US 9672154B1 · Hsu et al. · 2017 [cited by applicant]
US 9830097B2 · Susarla et al. · 2017 [cited by applicant]
US 10013356B2 · Chou · 2018 [cited by applicant]
US 10031851B2 · Sundaram et al. · 2018 [cited by applicant]
US 10671394B2 · Britto et al. · 2020 [cited by applicant]
US 10929948B2 · Benthin et al. · 2021 [cited by applicant]
US 11163684B1 · Gray et al. · 2021 [cited by applicant]
US 11288405B2 · Belgarric et al. · 2022 [cited by applicant]
US 11385896B2 · Shulyak et al. · 2022 [cited by applicant]
US 11403099B2 · Cerny et al. · 2022 [cited by applicant]
US 11403225B2 · Zheng et al. · 2022 [cited by applicant]
US 11429529B2 · Hornung et al. · 2022 [cited by applicant]
US 11442863B2 · Shulyak et al. · 2022 [cited by applicant]
US 11474130B2 · Lentz et al. · 2022 [cited by applicant]
US 11486911B2 · Tuncer et al. · 2022 [cited by applicant]
US 20170060786A1 · Morales · 2017 [cited by examiner]
US 20190004921A1 · Fahim · 2019 [cited by examiner]
US 20200301854A1 · Ramagiri · 2020 [cited by examiner]
US 20200394141A1 · Ramagiri · 2020 [cited by examiner]
US 20220004639A1 · Yardi et al. · 2022 [cited by applicant]
US 20220029780A1 · Dafali · 2022 [cited by applicant]
US 20220197657A1 · Soundararajan et al. · 2022 [cited by applicant]
US 20220382703A1 · Hayes · 2022 [cited by examiner]
US 20240202125A1 · Gholkar · 2024 [cited by examiner]
US 20250173268A1 · Kondapaneni · 2025 [cited by examiner]
US 20250272246A1 · Kondapaneni · 2025 [cited by examiner]
US 20250370932A1 · Kondapaneni · 2025 [cited by examiner]
WO 2022117687A1 · 2022 [cited by applicant]
Agarwal et al., ‘In-Network Coherence Filtering: Snoopy Coherence without Broadcasts’ from MICRO'09, Dec. 12-16, 2009. (Year: 2009). [cited by examiner]
Xilinx, ‘Versal ACAP CPM CCIX—Architecture Manual—AM016 (v1.1)’ Nov. 24, 2020. (Year: 2020). [cited by examiner]