IP Library Granted Patent US 12,373,355
Granted Patent B2
US 12,373,355 · App. 18/353,123 · Granted Jul 29, 2025

Network adapter providing address translation as a service

Inventors: Daniel Marcovitch (Yokneam Illit, IL); Eliav Bar-Ilan (Or Akiva, IL); Liran Liss (Atzmon-Segev, IL)
Assignee: Mellanox Technologies, Ltd
G06F12/1072H04L67/1097
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,373,355
App. No.
18/353,123
Granted
Jul 29, 2025
Kind
B2
Abstract

A network adapter including a host interface, a network interface, packet processing circuitry, and Translation-as-a-Service (TaaS) circuitry. The host interface is to communicate with a host over a peripheral bus. The network interface is to send and receive packets to and from a network for the host. The packet processing circuitry is to process the packets. The TaaS circuitry is integrated in the network adapter and is to (i) receive from a requesting device a request to translate an input address into a requested address in a requested address space, (ii) translate the input address into the one or more requested addresses, and (iii) return the one or more requested addresses to the requesting device.

Claims (38)

1. A network adapter, comprising:

a host interface, to communicate with a host over a peripheral bus;

a network interface, to send and receive packets to and from a network for the host;

packet processing circuitry, to process the packets; and

Translation-as-a-Service (TaaS) circuitry, which is integrated in the network adapter and is to:

receive from a requesting device a request to translate an input address into one or more requested addresses in a requested address space;

translate the input address into the one or more requested addresses independently of any actual memory access operation; and

return the one or more requested addresses to the requesting device.

2. The network adapter according to claim 1 , wherein the TaaS circuitry is to receive a translation request specifying an input address for which no translation exists, and to respond to the translation request with a translation response indicating that no translation exists.

3. The network adapter according to claim 1 , wherein the request specifies a requested size, and wherein the TaaS circuitry is to return, in the response, a memory range having the requested size.

4. The network adapter according to claim 1 , wherein the input address comprises a network-adapter Virtual Address (VA).

5. The network adapter according to claim 1 , wherein the input address comprises a key-address pair.

6. The network adapter according to claim 1 , wherein the input address comprises a transport address.

7. The network adapter according to claim 1 , wherein, in addition to returning the one or more requested addresses, the TaaS circuitry is to further return metadata corresponding to the one or more requested addresses.

8. The network adapter according to claim 1 , wherein the one or more requested addresses comprise one of (i) a Virtual Address (VA), (ii) a Physical Address (PA) and (iii) a Machine Address (MA).

9. The network adapter according to claim 1 , wherein the TaaS circuitry is to receive the request as a work-request posted on a queue pair (QP), and to return the one or more requested addresses by posting on the QP a completion notification specifying the one or more requested addresses.

10. The network adapter according to claim 1 , wherein the input address points to one of (i) a contiguous memory range and (ii) a pattern of memory addresses.

11. The network adapter according to claim 1 , wherein the request is received in response to an On-Demand Paging (ODP) page-fault notification in which the network adapter notifies the requesting device of an unmapped memory page, the request requesting an input address to which the unmapped memory page is to be mapped.

12. The network adapter according to claim 1 , wherein the request specifies a Virtual Address (VA) in a logical volume defined on a storage device, the request requesting a corresponding address on the storage device.

13. The network adapter according to claim 1 , wherein the request requests translation of a Virtual Address (VA) into a Physical Address (PA) responsively to receiving a storage command of a remote storage access protocol, the command specifying the VA.

14. The network adapter according to claim 1 , wherein the request requests translation of the VA into a Physical Address (PA) responsively to encountering an Address Translation Service (ATS) permission error.

15. The network adapter according to claim 1 , wherein the request requests translation of the input address into a Machine Address (MA).

16. A method in a network adapter, the method comprising:

communicating with a host over a peripheral bus;

sending and receiving packets to and from a network for the host; and

using Translation-as-a-Service (TaaS) circuitry, which is integrated in the network adapter:

receiving from a requesting device a request to translate an input address into a one or more requested addresses in a requested address space;

translating the input address into the one or more requested addresses independently of any actual memory access operation; and

returning the one or more requested addresses to the requesting device.

17. The method according to claim 16 , wherein receiving the request comprises receiving a translation request specifying an input address for which no translation exists, and comprising responding to the translation request with a translation response indicating that no translation exists.

18. A network adapter, comprising:

a host interface, to communicate with a host over a peripheral bus;

a network interface, to send and receive packets to and from a network for the host;

packet processing circuitry, to process the packets; and

Translation-as-a-Service (TaaS) circuitry, which is integrated in the network adapter and is to:

receive from a requesting device a request to translate an input address into one or more requested addresses in a requested address space, wherein the input address comprises a network-adapter Virtual Address (VA), a key-address pair or a transport address;

translate the input address into the one or more requested addresses; and

return the one or more requested addresses to the requesting device.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 17, 2023
From: MARCOVITCH, DANIEL; BAR-ILAN, ELIAV; LISS, LIRAN
To: MELLANOX TECHNOLOGES, LTD.
Reel/Frame 064277/0281 →
Continuity (1)
Related Publication 20250028648A1 · Jan 23, 2025
References Cited (27)
US 9298642B2 · Kagan et al. · 2016 [cited by applicant]
US 9632901B2 · Raikin et al. · 2017 [cited by applicant]
US 9639487B1 · Wentzlaff et al. · 2017 [cited by applicant]
US 9648081B2 · Raikin et al. · 2017 [cited by applicant]
US 9996498B2 · Shahar et al. · 2018 [cited by applicant]
US 10031857B2 · Menachem et al. · 2018 [cited by applicant]
US 10120832B2 · Raindel et al. · 2018 [cited by applicant]
US 10367741B1 · Ramey et al. · 2019 [cited by applicant]
US 10789175B2 · Tal et al. · 2020 [cited by applicant]
US 11502912B2 · Levy et al. · 2022 [cited by applicant]
US 11620245B2 · Oved et al. · 2023 [cited by applicant]
US 20110083064A1 · Kagan et al. · 2011 [cited by applicant]
US 20130315237A1 · Kagan et al. · 2013 [cited by applicant]
US 20140089450A1 · Raindel et al. · 2014 [cited by applicant]
US 20140089528A1 · Bloch et al. · 2014 [cited by applicant]
US 20140122828A1 · Kagan et al. · 2014 [cited by applicant]
US 20160077946A1 · Raikin · 2016 [cited by examiner]
US 20190173810A1 · Shpiner · 2019 [cited by examiner]
US 20200278935A1 · Borikar et al. · 2020 [cited by applicant]
US 20210216215A1 · Wigmore · 2021 [cited by examiner]
US 20230409487A1 · Sandberg · 2023 [cited by applicant]
PCI-SIG, “PCI Express® Base Specification Revision 6.0,” version 1.0, published document, pp. 1-1923, Dec. 16, 2021. [cited by applicant]
CXL Consortium, “CXL™ Consortium Releases Compute Express Link™ 2.0 Specification”, Press Release, pp. 1-2 Nov. 10, 2020. [cited by applicant]
NVIDIA Corporation, “NVIDIA Opens NVLink for Custom Silicon Integration”, Press release, pp. 1-2, Mar. 22, 2022. [cited by applicant]
Shalom et al., U.S. Appl. No. 18/299,732, filed Apr. 13, 2023. [cited by applicant]
U.S. Appl. No. 18/299,732 Office Action dated Aug. 14, 2024. [cited by applicant]
PCI-SIG, “PCI Express® Base Specification Revision 5.0,” version 1.0, chapter 10, pp. 1169-1209, May 22, 2019. [cited by applicant]