IP Library Granted Patent US 12,244,494
Granted Patent B2
US 12,244,494 · App. 18/778,611 · Granted Mar 4, 2025

Server fabric adapter for I/O scaling of heterogeneous and accelerated compute systems

Inventors: Rochan Sankar (Mountain View, CA); Shrijeet Mukherjee (Mountain View, CA); Ariel Hendel (Mountain View, CA); Carlo Contavalli (Mountain View, CA); Shimon Muller (Mountain View, CA)
Assignee: Enfabrica Corporation
H04L45/566H04L45/38H04L47/2483H04L47/30H04L49/9057H04L69/22
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,244,494
App. No.
18/778,611
Granted
Mar 4, 2025
Kind
B2
Abstract

A server fabric adapter (SFA) communication system is disclosed. In some embodiments, the SFA communication system comprises an SFA communicatively coupled to a plurality of controlling hosts, a plurality of endpoints, and a plurality of network ports. The SFA is configured to receive a network packet from a network port of the plurality of network ports; separate the network packet into different portions, each portion including a header or a payload; map each portion of the network packet to: (i) a controlling host of the plurality controlling hosts, the controlling host being designated as a destination controlling host, or (ii) an endpoint of the plurality of endpoints, the endpoint being designated as a destination endpoint; and forward a respective portion of the network packet to the destination controlling host or the destination endpoint.

Claims (33)

1. A method comprising:

providing an endpoint port that connects a fabric adapter to an endpoint, wherein the endpoint port has a queue for the endpoint to submit one or more scatter-gather lists (SGLs);

providing a host port that connects the fabric adapter to a controlling host, wherein the host port includes a header queue; and

combining, by the fabric adapter, data from the header queue with an SGL of the one or more SGLs to generate a network packet.

2. The method of claim 1 , wherein the network packet is used in peer-to-peer traffic.

3. The method of claim 1 , further comprising dividing, by the fabric adapter, the network packet into one or more headers and a payload.

4. The method of claim 3 , wherein the payload is transmitted to or received from an arbitrary memory geometry based on the SGL of memory locations.

5. The method of claim 1 , further comprising transmitting and receiving, by the fabric adapter, network packets between one or more endpoints and one or more networks, between two endpoints, or between two networks.

6. The method of claim 5 , wherein the networks are associated with a plurality of network ports that include one or more Ethernet ports.

7. The method of claim 1 , wherein the fabric adapter is a scalable and aggregated input/output (I/O) hub.

8. The method of claim 1 , wherein the endpoint is one of a storage element, a memory element, a graphics processing unit (GPU), an accelerator, or a field programmable gate array (FPGA).

9. The method of claim 1 , wherein the endpoint is one of a plurality of endpoints, the method further comprising:

receiving, by the fabric adapter, a trigger event;

retrieving, by the fabric adapter, payload data of a second network packet from a source endpoint of the plurality of endpoints; and

routing, based on associated descriptors and by the fabric adapter, the payload data to a destination endpoint of the plurality of endpoints.

10. The method of claim 9 , wherein the associated descriptors include at least one of a data descriptor or a header descriptor.

11. The method of claim 10 , wherein the trigger event is one of a host-initiated cache line operation or a SGL write initiated by the source endpoint to a memory address of the destination endpoint.

12. A system comprising:

a fabric adapter comprising a processor, memory, a plurality of endpoint ports, and a plurality of host ports and communicatively coupled to a plurality of controlling hosts, a plurality of endpoints, and a plurality of network ports, the fabric adapter configured to:

provide an endpoint port of the plurality of endpoint ports that connects the fabric adapter to an endpoint of the plurality of endpoints, wherein the endpoint port has a queue for the endpoint to submit one or more scatter-gather lists (SGLs);

provide a host port of the plurality of host ports that connects the fabric adapter to a controlling host of the plurality of controlling hosts, wherein the host port includes a header queue; and

combine data from the header queue with an SGL of the one or more SGLs to generate a network packet.

13. The system of claim 12 , wherein the network packet is used in peer-to-peer traffic.

14. The system of claim 12 , wherein the fabric adapter is further configured to transmit and receive network packets between one or more endpoints and one or more networks, between two endpoints, or between two networks.

15. The system of claim 12 , wherein the plurality of network ports comprise one or more Ethernet ports.

16. The system of claim 12 , wherein the fabric adapter is a scalable and aggregated input/output (I/O) hub.

17. The system of claim 12 , wherein the plurality of endpoints comprise storage elements, memory elements, graphics processing units (GPUs), accelerators, or a field programmable gate arrays (FPGAs).

18. The system of claim 12 , wherein the fabric adapter is further configured to:

receive a trigger event;

retrieve payload data of a second network packet from a source endpoint of the plurality of endpoints; and

route, based on associated descriptors, the payload data to a destination endpoint of the plurality of endpoints.

19. The system of claim 12 , wherein the associated descriptors include at least one of a data descriptor or a header descriptor.

20. The system of claim 12 , wherein the trigger event is one of a host-initiated cache line operation or a SGL write initiated by the source endpoint to a memory address of the destination endpoint.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 13, 2025
From: SANKAR, ROCHAN; MUKHERJEE, SHRIJEET; HENDEL, ARIEL; CONTAVALLI, CARLO; MULLER, SHIMON
To: ENFABRICA CORPORATION
Reel/Frame 069845/0203 →
Continuity (3)
Continuation 17570261 · Jan 6, 2022
Provisional Application 63134586 · Jan 6, 2021
Related Publication 20240372805A1 · Nov 7, 2024
References Cited (113)
US 6594712B1 · Pettey et al. · 2003 [cited by applicant]
US 7181541B1 · Burton et al. · 2007 [cited by applicant]
US 7937447B1 · Cohen et al. · 2011 [cited by applicant]
US 8301717B2 · Deshpande · 2012 [cited by applicant]
US 8719456B2 · Wilkinson · 2014 [cited by applicant]
US 9448901B1 · Aslam et al. · 2016 [cited by applicant]
US 9684597B1 · Eiriksson · 2017 [cited by applicant]
US 9864519B2 · Meyer et al. · 2018 [cited by applicant]
US 9934152B1 · Bryant et al. · 2018 [cited by applicant]
US 10152428B1 · Alshawabkeh et al. · 2018 [cited by applicant]
US 10447767B2 · Baptist et al. · 2019 [cited by applicant]
US 10503658B2 · Basu et al. · 2019 [cited by applicant]
US 10778521B2 · Liguori et al. · 2020 [cited by applicant]
US 20010046212A1 · Nakajima · 2001 [cited by applicant]
US 20020078271A1 · Berry · 2002 [cited by applicant]
US 20020129272A1 · Terrell et al. · 2002 [cited by applicant]
US 20020159385A1 · Susnow et al. · 2002 [cited by applicant]
US 20020184452A1 · Simmons et al. · 2002 [cited by applicant]
US 20020191599A1 · Parthasarathy et al. · 2002 [cited by applicant]
US 20030058875A1 · Arndt et al. · 2003 [cited by applicant]
US 20030154412A1 · Hetzler et al. · 2003 [cited by applicant]
US 20040049603A1 · Boyd et al. · 2004 [cited by applicant]
US 20050068798A1 · Lee et al. · 2005 [cited by applicant]
US 20050080920A1 · Bender et al. · 2005 [cited by applicant]
US 20050089033A1 · Gupta et al. · 2005 [cited by applicant]
US 20050223118A1 · Tucker et al. · 2005 [cited by applicant]
US 20060004941A1 · Shah et al. · 2006 [cited by applicant]
US 20060056405A1 · Chang et al. · 2006 [cited by applicant]
US 20060236063A1 · Hausauer et al. · 2006 [cited by applicant]
US 20060271713A1 · Xie et al. · 2006 [cited by applicant]
US 20070038794A1 · Purcell et al. · 2007 [cited by applicant]
US 20070104102A1 · Opsasnick · 2007 [cited by applicant]
US 20070255802A1 · Aloni et al. · 2007 [cited by applicant]
US 20070283123A1 · Vick et al. · 2007 [cited by applicant]
US 20080043732A1 · Desai et al. · 2008 [cited by applicant]
US 20080168194A1 · Gregg et al. · 2008 [cited by applicant]
US 20090083392A1 · Wong et al. · 2009 [cited by applicant]
US 20090113143A1 · Domsch et al. · 2009 [cited by applicant]
US 20100064070A1 · Yoshimura et al. · 2010 [cited by applicant]
US 20100232448A1 · Sugumar et al. · 2010 [cited by applicant]
US 20110072234A1 · Chinya et al. · 2011 [cited by applicant]
US 20110268119A1 · Pong · 2011 [cited by examiner]
US 20110271010A1 · Kenchammana et al. · 2011 [cited by applicant]
US 20130024591A1 · Sun · 2013 [cited by applicant]
US 20130031328A1 · Kelleher et al. · 2013 [cited by applicant]
US 20130318322A1 · Shetty et al. · 2013 [cited by applicant]
US 20150082000A1 · Hong et al. · 2015 [cited by applicant]
US 20150089009A1 · Tsirkin et al. · 2015 [cited by applicant]
US 20160070475A1 · Zhang et al. · 2016 [cited by applicant]
US 20160085450A1 · Ahn et al. · 2016 [cited by applicant]
US 20160162422A1 · Weber · 2016 [cited by applicant]
US 20170097909A1 · Simionescu et al. · 2017 [cited by applicant]
US 20170132148A1 · Liu et al. · 2017 [cited by applicant]
US 20170177520A1 · Kampe et al. · 2017 [cited by applicant]
US 20170185528A1 · Hansson et al. · 2017 [cited by applicant]
US 20170372088A1 · Zhao et al. · 2017 [cited by applicant]
US 20180024938A1 · Paltashev et al. · 2018 [cited by applicant]
US 20180198715A1 · Shmilovici et al. · 2018 [cited by applicant]
US 20190141041A1 · Bhabbur et al. · 2019 [cited by applicant]
US 20190173810A1 · Shpiner et al. · 2019 [cited by applicant]
US 20190220425A1 · Zemach et al. · 2019 [cited by applicant]
US 20190258415A1 · Imamura · 2019 [cited by applicant]
US 20190294366A1 · Kawamura · 2019 [cited by examiner]
US 20190320019A1 · Hamrick, Jr. · 2019 [cited by applicant]
US 20190324917A1 · Cui et al. · 2019 [cited by applicant]
US 20190370173A1 · Boyer et al. · 2019 [cited by applicant]
US 20190379767A1 · Sharma et al. · 2019 [cited by applicant]
US 20200004685A1 · Guim Bernat et al. · 2020 [cited by applicant]
US 20200119753A1 · Chirca et al. · 2020 [cited by applicant]
US 20200159669A1 · Duncan et al. · 2020 [cited by applicant]
US 20200177513A1 · Zhang · 2020 [cited by applicant]
US 20200236052A1 · Srinivasan et al. · 2020 [cited by applicant]
US 20200280518A1 · Lee et al. · 2020 [cited by applicant]
US 20200371955A1 · Goodacre et al. · 2020 [cited by applicant]
US 20200387405A1 · Xiao et al. · 2020 [cited by applicant]
US 20210019069A1 · Sen et al. · 2021 [cited by applicant]
US 20210037107A1 · Klenk et al. · 2021 [cited by applicant]
US 20210075633A1 · Sen et al. · 2021 [cited by applicant]
US 20210083981A1 · Shmilovici et al. · 2021 [cited by applicant]
US 20210232312A1 · Prasad et al. · 2021 [cited by applicant]
US 20210234706A1 · Nair et al. · 2021 [cited by applicant]
US 20210345112A1 · Elliott et al. · 2021 [cited by applicant]
US 20220060422A1 · Sommers · 2022 [cited by applicant]
US 20220085916A1 · Debbage et al. · 2022 [cited by applicant]
US 20220109587A1 · Sapio et al. · 2022 [cited by applicant]
US 20220200906A1 · Ye et al. · 2022 [cited by applicant]
US 20220214912A1 · Julien et al. · 2022 [cited by applicant]
US 20220217085A1 · Sankar et al. · 2022 [cited by applicant]
US 20220222118A1 · Wang et al. · 2022 [cited by applicant]
US 20220283964A1 · Burstein et al. · 2022 [cited by applicant]
US 20220291875A1 · Diaz-Cuellar et al. · 2022 [cited by applicant]
US 20240098023A1 · Guo · 2024 [cited by applicant]
WO WO2005106693A2 · 2005 [cited by applicant]
WO WO2022108498A1 · 2022 [cited by applicant]
U.S. Appl. No. 17/570,261, filed Jan. 6, 2022, Server Fabric Adapter For I/O Scaling Of Heterogeneous And Accelerated Compute Systems, Rochan Sankar, et al. [cited by applicant]
U.S. Appl. No. 18/747,118, filed Jun. 18, 2024, Optimally Balanced Network Systems, Rochan Sankar, et al. [cited by applicant]
U.S. Appl. No. 17/836,532, filed Jun. 9, 2022, Transparent Remote Memory Access Over Network Protocol, Thomas Norrie, et al. [cited by applicant]
U.S. Appl. No. 18/755,372, filed Jun. 26, 224, Transparent Remote Memory Access Over Network Protocol, Thomas Norrie, et al. [cited by applicant]
U.S. Appl. No. 17/886,026, filed Aug. 11, 2022, System And Method For Congestion Control Using A Flow Level Transmit Mechanism, Shrijeet Mukherjee et al. [cited by applicant]
U.S. Appl. No. 18/102,033, filed Jan. 26, 2023, System And Method For One-Sided Read Rma Using Linked Queues, Shrijeet Mukherjee, et al. [cited by applicant]
U.S. Appl. No. 18/107,324, filed Feb. 8, 2023, System And Method For Using Dynamic Thresholds With Route Isolation For Heterogeneous Traffic In Shared Memory Packet Buffers, Ari Aravinthan, et al. [cited by applicant]
U.S. Appl. No. 18/447,180, filed Aug. 9, 2023, System And Method For Ghost Bridging, Thomas Norrie, et al. [cited by applicant]
U.S. Appl. No. 18/666,548, filed May 16, 2024, System And Method For An Optimized Staging Buffer For Broadcast/Multicast Operations, Shrijeet Mukherjee, et al. [cited by applicant]
U.S. Appl. No. 18/526,727, filed Dec. 1, 2023, A Modular Datacenter Interconnection System, David Skirmont, et al. [cited by applicant]
U.S. Appl. No. 18/785,542, filed Jul. 26, 2024, Method And System For Tracking And Moving Pages Within A Memory Hierarchy, Shrijeet Mukhrjee, et al. [cited by applicant]
Emulex Corporation. “Emulex provides 10Gb Ethernet Virtual Fabric Adapter 5 for New Lenovo Servers.” Business Wire. Dec. 15, 2014 (Dec. 15, 2014) Retrieved on Mar. 7, 2022 (Mar. 7, 2022 from: <https://www.businesswire.c… [cited by applicant]
International Search Report and Written Opinion for International Patent Application No. PCT/US2022/011491, dated Mar. 24, 2022 (8 pages). [cited by applicant]
International Search Report and Written Opinion for International Patent Application No. PCT/US2022/32841, dated Nov. 21, 2022 (10 pages). [cited by applicant]
International Search Report and Written Opinion for International Patent Application No. PCT/US2022/74833, dated Dec. 6, 2022 (8 pages). [cited by applicant]
International Search Report and Written Opinion for International Patent Application No. PCT/US2023/062168, dated May 12, 2023 (54 pages). [cited by applicant]
International Search Report and Written Opinion for International Patent Application No. PCT/US2023/61405, dated Jul. 11, 2023 (6 pages). [cited by applicant]
International Search Report and Written Opinion for International Patent Application No. PCT/US2023/082132, dated Jun. 6, 2024 (8 pages). [cited by applicant]
International Search Report and Written Opinion for International Patent Application No. PCT/US2024/029723, dated Aug. 22, 2024 (13 pages). [cited by applicant]