IP Library › Granted Patent US 12,216,575
Granted Patent B2
US 12,216,575 · App. 17/858,104 · Granted Feb 4, 2025

Patterned memory-network data transfer

Inventors: Daniel Marcovitch (Yokneam Illit, IL); Gil Bloch (Zichron Yaakov, IL); Richard Graham (Knoxville, TN); Yossef Itigin (Hod Hasharon, IL); Ortal Ben Moshe (Moshav Ein Haemek, IL); Roman Nudelman (Kiryat Bialik, IL)
Assignee: Mellanox Technologies, Ltd
G06F12/0653G06F12/0835G06F13/4027G06F15/17331
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,216,575
App. No.
17/858,104
Granted
Feb 4, 2025
Kind
B2
Abstract

A network device includes a first interface, a second interface, and circuitry. The first interface is configured to communicate at least with a memory. The second interface is configured to communicate over a network with a peer network device. The circuitry is configured to receive a request to transfer data over the network between the memory and the peer network device in accordance with (i) a pattern of offsets to be accessed in the memory and (ii) a memory key representing a memory space to be accessed using the pattern, and to transfer the data in accordance with the request.

Claims (34)

1. A network device, comprising:

a first interface, configured to communicate at least with a memory;

a second interface, configured to communicate over a network with a peer network device; and

circuitry, configured to pre-register a plurality of patterns of offsets, to pre-associate a memory key representing a memory space to be accessed with a given pattern from the plurality of patterns of offsets, to receive a request to transfer data over the network between the memory and the peer network device, wherein the request indicates the memory key, but not the given pattern pre-associated with the memory key, and to transfer the data in accordance with the request using the memory key and the given pattern pre-associated with the memory key.

2. The network device according to claim 1 , wherein the circuitry is configured to receive the request as a work-request via the first interface.

3. The network device according to claim 1 , wherein each of the pre-registered patterns of offsets comprises one of (i) a pattern that accesses a contiguous memory space, (ii) a pattern that accesses a non-contiguous memory space, and (iii) a strided pattern.

4. The network device according to claim 1 , wherein the request specifies multiple memory keys representing respective memory spaces to be accessed using the pattern.

5. The network device according to claim 1 , wherein the memory space represented by the memory key is one of a virtual memory space and a physical memory space.

6. The network device according to claim 1 , wherein, in response to receiving a re-association instruction, the circuitry is configured to associate the memory key with a different pattern.

7. The network device according to claim 1 , wherein the pattern is pre-associated in the network device with at least one additional memory key.

8. The network device according to claim 1 , wherein the request specifies a starting virtual address or initial offset parameter for the pattern.

9. The network device according to claim 1 , wherein the pattern specifies the offsets using a nested representation that comprises at least one internal pattern.

10. The network device according to claim 1 , wherein the pattern specifies the offsets using an iterative representation that defines (i) a basic pattern to be iterated multiple times, (ii) a number of times the basic pattern is to be iterated, and (iii) an offset between successive iterations of the basic pattern.

11. The network device according to claim 1 , wherein the request is associated with a scatter or gather command.

12. The network device according to claim 1 , wherein the request is associated with an InfiniBand transaction.

13. The network device according to claim 1 , wherein the request is associated with an Ethernet transaction.

14. A method for data transfer, comprising:

in a network device, communicating with a memory and, over a network, with a peer network device;

pre-registering, in the network device, a plurality of patterns of offsets;

pre-associating a memory key representing a memory space to be accessed with a given pattern from the plurality of patterns of offsets;

receiving in the network device a request to transfer data over the network between the memory and the peer network device, wherein the request indicates the memory key, but not the given pattern pre-associated with the memory key; and

transferring the data in accordance with the request using the memory key and the given pattern pre-associated with the memory key.

15. The method according to claim 14 , wherein receiving the request comprises receiving the request as a work-request via the first interface.

16. The method according to claim 14 , wherein each of the multiple pre-registered patterns of offsets comprises one of (i) a pattern that accesses a contiguous memory space, (ii) a pattern that accesses a non-contiguous memory space, and (iii) a strided pattern.

17. The method according to claim 14 , wherein the request specifies multiple memory keys representing respective memory spaces to be accessed using the pattern.

18. The method according to claim 14 , wherein the memory space represented by the memory key is one of a virtual memory space and a physical memory space.

19. The method according to claim 14 , and comprising, in response to receiving a re-association instruction, associating the memory key with a different pattern.

20. The method according to claim 14 , wherein the pattern is pre-associated in the network device with at least one additional memory key.

21. The method according to claim 14 , wherein the request specifies a starting virtual address or initial offset parameter for the pattern.

22. The method according to claim 14 , wherein the pattern specifies the offsets using a nested representation that comprises at least one internal pattern.

23. The method according to claim 14 , wherein the pattern specifies the offsets using an iterative representation that defines (i) a basic pattern to be iterated multiple times, (ii) a number of times the basic pattern is to be iterated, and (iii) an offset between successive iterations of the basic pattern.

24. The method according to claim 14 , wherein the request is associated with a scatter or gather command.

25. The method according to claim 14 , wherein the request is associated with an InfiniBand transaction.

26. The method according to claim 14 , wherein the request is associated with an Ethernet transaction.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 12, 2022
From: MARCOVITCH, DANIEL; BLOCH, GIL; GRAHAM, RICHARD; ITIGIN, YOSSEF; BEN MOSHE, ORTAL; NUDELMAN, ROMAN
To: MELLANOX TECHNOLOGIES, LTD.
Reel/Frame 060479/0124 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 12, 2022
From: MARCOVITCH, DANIEL; BLOCH, GIL; GRAHAM, RICHARD; ITIGIN, YOSSEF; BEN MOSHE, ORTAL; NUDELMAN, ROMAN
To: MELLANOX TECHNOLOGIES, LTD.
Reel/Frame 060479/0136 →
Continuity (1)
Related Publication 20240012753A1 · Jan 11, 2024
References Cited (145)
US 4783698A · Harney · 1988 [cited by applicant]
US 4783736A · Ziegler et al. · 1988 [cited by applicant]
US 5668809A · Rostoker et al. · 1997 [cited by applicant]
US 5949441A · Ristau · 1999 [cited by applicant]
US 6041397A · Rickard et al. · 2000 [cited by applicant]
US 6097734A · Gotesman et al. · 2000 [cited by applicant]
US 6157955A · Narad et al. · 2000 [cited by applicant]
US 6321276B1 · Forin · 2001 [cited by applicant]
US 6766467B1 · Neal et al. · 2004 [cited by applicant]
US 6786143B2 · Craddock et al. · 2004 [cited by applicant]
US 6981027B1 · Gallo et al. · 2005 [cited by applicant]
US 7171484B1 · Krause et al. · 2007 [cited by applicant]
US 7263103B2 · Kagan et al. · 2007 [cited by applicant]
US 7298746B1 · De La Iglesia et al. · 2007 [cited by applicant]
US 7299266B2 · Boyd et al. · 2007 [cited by applicant]
US 7464198B2 · Martinez et al. · 2008 [cited by applicant]
US 7522606B1 · Sendrovitz · 2009 [cited by applicant]
US 7733464B2 · David et al. · 2010 [cited by applicant]
US 7760741B2 · Biran et al. · 2010 [cited by applicant]
US 7881496B2 · Camilleri et al. · 2011 [cited by applicant]
US 7930422B2 · Freimuth et al. · 2011 [cited by applicant]
US 8051212B2 · Kagan et al. · 2011 [cited by applicant]
US 8176252B1 · Alexander et al. · 2012 [cited by applicant]
US 8218770B2 · Arulambalam et al. · 2012 [cited by applicant]
US 8495301B1 · Alexander et al. · 2013 [cited by applicant]
US 8638796B2 · Dan et al. · 2014 [cited by applicant]
US 8682108B2 · Tian et al. · 2014 [cited by applicant]
US 8693551B2 · Zheludkov et al. · 2014 [cited by applicant]
US 8751701B2 · Shahar et al. · 2014 [cited by applicant]
US 9128924B2 · Tsadik et al. · 2015 [cited by applicant]
US 9131235B2 · Zheludkov et al. · 2015 [cited by applicant]
US 9143467B2 · Kagan et al. · 2015 [cited by applicant]
US 9270299B2 · Luby et al. · 2016 [cited by applicant]
US 9367746B2 · Ishihara · 2016 [cited by applicant]
US 9451266B2 · Zheludkov et al. · 2016 [cited by applicant]
US 9767529B1 · Liu et al. · 2017 [cited by applicant]
US 10210125B2 · Burstein · 2019 [cited by applicant]
US 10516710B2 · Levi et al. · 2019 [cited by applicant]
US 10637828B2 · Kahalon et al. · 2020 [cited by applicant]
US 10735339B1 · Matthews et al. · 2020 [cited by applicant]
US 11190462B2 · Levi et al. · 2021 [cited by applicant]
US 11531633B2 · Sikka et al. · 2022 [cited by applicant]
US 11669464B1 · Bilski et al. · 2023 [cited by applicant]
US 20020041089A1 · Yasui · 2002 [cited by applicant]
US 20020152327A1 · Kagan et al. · 2002 [cited by applicant]
US 20030005164A1 · Trainin · 2003 [cited by applicant]
US 20030046530A1 · Poznanovic · 2003 [cited by applicant]
US 20040013117A1 · Hendel et al. · 2004 [cited by applicant]
US 20040042483A1 · Elzur et al. · 2004 [cited by applicant]
US 20040073769A1 · Debes · 2004 [cited by examiner]
US 20040146203A1 · Yoshimura et al. · 2004 [cited by applicant]
US 20040156379A1 · Walls et al. · 2004 [cited by applicant]
US 20040165091A1 · Takemura et al. · 2004 [cited by applicant]
US 20040221128A1 · Beecroft et al. · 2004 [cited by applicant]
US 20040230979A1 · Beecroft et al. · 2004 [cited by applicant]
US 20050135395A1 · Fan et al. · 2005 [cited by applicant]
US 20050135415A1 · Fan et al. · 2005 [cited by applicant]
US 20060075119A1 · Hussain et al. · 2006 [cited by applicant]
US 20060180670A1 · Acosta et al. · 2006 [cited by applicant]
US 20060256851A1 · Wang et al. · 2006 [cited by applicant]
US 20070124378A1 · Elzur · 2007 [cited by applicant]
US 20070162619A1 · Aloni et al. · 2007 [cited by applicant]
US 20070208820A1 · Makhervaks et al. · 2007 [cited by applicant]
US 20070211157A1 · Humpoletz et al. · 2007 [cited by applicant]
US 20070296849A1 · Sano et al. · 2007 [cited by applicant]
US 20080109562A1 · Ramakrishnan et al. · 2008 [cited by applicant]
US 20080143732A1 · Shiozaki · 2008 [cited by applicant]
US 20090021612A1 · Hamilton, Jr. et al. · 2009 [cited by applicant]
US 20090034633A1 · Rodriguez et al. · 2009 [cited by applicant]
US 20090074079A1 · Lee et al. · 2009 [cited by applicant]
US 20090083517A1 · Riddle · 2009 [cited by applicant]
US 20090153699A1 · Satoh et al. · 2009 [cited by applicant]
US 20090244288A1 · Fujimoto et al. · 2009 [cited by applicant]
US 20100121971A1 · Shao et al. · 2010 [cited by applicant]
US 20100149393A1 · Zarnowski et al. · 2010 [cited by applicant]
US 20100262973A1 · Ernst et al. · 2010 [cited by applicant]
US 20100265316A1 · Sali et al. · 2010 [cited by applicant]
US 20100274876A1 · Kagan et al. · 2010 [cited by applicant]
US 20100281192A1 · Rakib et al. · 2010 [cited by applicant]
US 20110268194A1 · Nagano · 2011 [cited by applicant]
US 20110283156A1 · Hiie · 2011 [cited by applicant]
US 20120020413A1 · Chen et al. · 2012 [cited by applicant]
US 20120030451A1 · Pong et al. · 2012 [cited by applicant]
US 20120033039A1 · Sasaki et al. · 2012 [cited by applicant]
US 20120147975A1 · Ju · 2012 [cited by applicant]
US 20130067193A1 · Kagan et al. · 2013 [cited by applicant]
US 20130191549A1 · Williams et al. · 2013 [cited by applicant]
US 20130322753A1 · Lim et al. · 2013 [cited by applicant]
US 20130329006A1 · Boles et al. · 2013 [cited by applicant]
US 20140068168A1 · Murrin et al. · 2014 [cited by applicant]
US 20140201587A1 · Luby et al. · 2014 [cited by applicant]
US 20140269893A1 · Parikh et al. · 2014 [cited by applicant]
US 20150026542A1 · Brennum · 2015 [cited by applicant]
US 20150063358A1 · Wu et al. · 2015 [cited by applicant]
US 20150085863A1 · Wu et al. · 2015 [cited by applicant]
US 20150181211A1 · He · 2015 [cited by applicant]
US 20150261434A1 · Kagan · 2015 [cited by examiner]
US 20150373075A1 · Perlman et al. · 2015 [cited by applicant]
US 20160080755A1 · Toma et al. · 2016 [cited by applicant]
US 20160277473A1 · Botsford et al. · 2016 [cited by applicant]
US 20160337426A1 · Shribman et al. · 2016 [cited by applicant]
US 20170171167A1 · Suzuki · 2017 [cited by applicant]
US 20170242590A1 · Gokhale et al. · 2017 [cited by applicant]
US 20180367525A1 · Kassimis et al. · 2018 [cited by applicant]
US 20180367589A1 · Levi et al. · 2018 [cited by applicant]
US 20190018785A1 · Beard et al. · 2019 [cited by applicant]
US 20200076521A1 · Hammond · 2020 [cited by applicant]
US 20200245016A1 · Levi et al. · 2020 [cited by applicant]
US 20200341940A1 · Parambil et al. · 2020 [cited by applicant]
US 20210049097A1 · Fang et al. · 2021 [cited by applicant]
US 20220070797A1 · Berg et al. · 2022 [cited by applicant]
US 20220086105A1 · Levi et al. · 2022 [cited by applicant]
US 20220095007A1 · Levi et al. · 2022 [cited by applicant]
US 20220158955A1 · Yeh et al. · 2022 [cited by applicant]
US 20220283964A1 · Burstein et al. · 2022 [cited by applicant]
US 20220413886A1 · Griffy et al. · 2022 [cited by applicant]
U.S. Appl. No. 17/824,954 Office Action dated Apr. 28, 2023. [cited by applicant]
U.S. Appl. No. 17/858,097 Office Action dated Aug. 9, 2023. [cited by applicant]
U.S. Appl. No. 17/858,102 Office Action dated Oct. 24, 2023. [cited by applicant]
Infiniband Trade Association, “InfiniBandTM Architecture Specification”, vol. 1, release 1.2.1, pp. 1-1727, Nov. 2007. [cited by applicant]
“MPI: A Message-Passing Interface Standard”, version 2.2, Message Passing Interface Forum, pp. 1-647, Sep. 4, 2009. [cited by applicant]
Shah et al., “Direct Data Placement over Reliable Transports”, IETF Network Working Group, RFC 5041, pp. 1-38, Oct. 2007. [cited by applicant]
Culley et al., “Marker PDU Aligned Framing for TCP Specification”, IETF Network Working Group, RFC 5044, pp. 1-74, Oct. 2007. [cited by applicant]
“Linux kernel enable the IOMMU—input/output memory management unit support”, pp. 1-2, Oct. 15, 2007, as downloaded from http://www.cyberciti.biz/tips/howto-turn-on-linux-software-iommu-support.html. [cited by applicant]
SMPTE Standard 2110-20:2017, “Professional Media Over Managed IP Networks: Uncompressed Active Video”, The Society of Motion Picture and Television Engineers, pp. 1-23, Aug. 10, 2017. [cited by applicant]
SMPTE Standard 2110-30:201y, “Professional Media over IP Networks—PCM Digital Audio”, The Society of Motion Picture and Television Engineers, pp. 1-7, Jan. 26, 2017. [cited by applicant]
SMPTE Standard 2110-21:201y, “Professional Media Over IP Networks: Timing Model for Uncompressed Active Video”, The Society of Motion Picture and Television Engineers, pp. 1-15, Jan. 18, 2017. [cited by applicant]
SMPTE Standard 2110-10:201y, “Professional Media over IP Networks: System Timing and Definitions”, The Society of Motion Picture and Television Engineers, pp. 1-12, Jan. 26, 2017. [cited by applicant]
Wikipedia, “Common Public Radio Interface”, pp. 1-1, last edited Apr. 28, 2017, as downloaded from https://web.archive.org/web/20190620212239/https://en.wikipedia.org/wiki/Common_Public_Radio_Interface. [cited by applicant]
O-RAN Alliance, “O-RAN Fronthaul Working Group: Control, User and Synchronization Plane Specification”, ORAN-WG4.CUS.0-v01.00 Technical Specification, pp. 1-189, year 2019. [cited by applicant]
Wikipedia, “evolved Common Public Radio Interface (eCPRI)”, pp. 1-3, May 13, 2019, as downloaded from https://web.archive.org/web/20190513130801/https://wiki.wireshark.org/eCPRI. [cited by applicant]
Main Concept, “MainConcept Accelerates HEVC Encoding with NVIDIA RTX GPUs”, newsletter, pp. 1-4, Apr. 8, 2019, as downloaded from https://www.mainconcept.com/company/news/news-article/article/mainconcept-accelerates-hev… [cited by applicant]
Marcovitch et al., U.S. Appl. No. 17/590,339, filed Feb. 1, 2022. [cited by applicant]
Baker et al., “OpenSHMEM Application Programming Interface,” version 1.5, www.openshmem.org, pp. 1-180, Jun. 8, 2020. [cited by applicant]
Marcovitch et al, U.S. Appl. No. 17/858,102, filed Jul. 6, 2022. [cited by applicant]
Pismenny et al., U.S. Appl. No. 17/824,954, filed May 26, 2022. [cited by applicant]
Marcovitch et al, U.S. Appl. No. 17/858,097, filed Jul. 6, 2022. [cited by applicant]
Schulzrinne et al., “RTP: A Transport Protocol for Real-Time Applications,” Request for Comments 3550, pp. 1-104, Jul. 2003. [cited by applicant]
SMPTE Standard 2022-6:2012—“Transport of High Bit Rate Media Signals over IP Networks (HBRMT)”, The Society of Motion Picture and Television Engineers, pp. 1-16, Oct. 9, 2012. [cited by applicant]
Sjoberg et al., “RTP Payload Format and File Storage Format for the Adaptive Multi-Rate (AMR) and Adaptive Multi-Rate Wideband (AMR-WB) Audio Codecs,” Network Working Group, Request for Comments 4867, pp. 1-59, Apr. 200… [cited by applicant]
U.S. Appl. No. 17/542,426 Office Action dated Nov. 4, 2022. [cited by applicant]
U.S. Appl. No. 17/858,097 Office Action dated Dec. 13, 2023. [cited by applicant]
Brock et al., in “RDMA vs. RPC for Implementing Distributed Data Structures,” Proceedings of the 2019 IEEE/ACM 9th Workshop on Irregular Applications: Architectures and Algorithms (IA3), pp. 17-22, Nov. 2019. [cited by applicant]
U.S. Appl. No. 17/858,097 Office Action dated Mar. 15, 2024. [cited by applicant]
U.S. Appl. No. 17/858,102 Office Action dated May 9, 2024. [cited by applicant]