Sign In to Follow Application
View All Documents & Correspondence

Technologies For Offload Device Fetching Of Address Translations

Abstract: Techniques for offload device address translation fetching are disclosed. In the illustrative embodiment, a processor of a compute device sends a translation fetch descriptor to an offload device before sending a corresponding work descriptor to the offload device. The offload device can request translations for virtual memory address and cache the corresponding physical addresses for later use. While the offload device is fetching virtual address translations, the compute device can perform other tasks before sending the corresponding work descriptor, including operations that modify the contents of the memory addresses whose translation are being cached. Even if the offload device does not cache the translations, the fetching can warm up the cache in a translation lookaside buffer. Such an approach can reduce the latency overhead that the offload device may otherwise incur in sending memory address translation requests that would be required to execute the work descriptor.

Get Free WhatsApp Updates!
Notices, Deadlines & Correspondence

Patent Information

Application #
Filing Date
17 September 2021
Publication Number
25/2022
Publication Type
INA
Invention Field
COMPUTER SCIENCE
Status
Email
ipo@iphorizons.com
Parent Application

Applicants

INTEL CORPORATION
2200 Mission College Boulevard, Santa Clara, California 95054, USA

Inventors

1. Saurabh Gayen
1717 SE Main St. Portland, OR 97214 (US)
2. Philip Lantz
6845 Roy Road Comelius, OR 97113 (US)
3. Dhananjay A. Joshi
14364 NW Lilium Dr. Portland, OR 97229 (US)
4. Rupin H. Vakharwala
3703 SE Belle Oak Ct. Hillsboro OR 97123 (US)
5. Rajesh M. Sankaran
15132 NW Vance Drive Portland, OR 97229 (US)
6. Narayan Ranganathan
Adarsh Palm Retreat Villa 389, Outer Ring Road, Devarabisanahalli, Bangalore, Karnataka 560037 India
7. Sanjay Kumar
107 NE 64TH Terrace Hillsboro, OR 97124 (US)

Specification

Claims:1. An offload device comprising:
a processing engine implemented at least partially in hardware, wherein the processing engine is to:
receive a translation fetch descriptor from a processor of a compute device to be processed by the processing engine, the translation fetch descriptor comprising an indication of a plurality of virtual memory addresses;
send, in response to receipt of the translation fetch descriptor, a request for a physical memory address corresponding to each of the plurality of virtual memory addresses; and
send, without reading from or writing to any of the physical addresses corresponding to the plurality of virtual memory addresses, an indication to the processor that the translation fetch descriptor has been processed.
, Description:CROSS-REFERENCE TO RELATED APPLICATION
[0001] The present patent application claims the benefit of U.S. Non-Provisional Patent Application No. 17/129,496, filed December 21, 2020, and titled: “TECHNOLOGIES FOR OFFLOAD DEVICE FETCHING OF ADDRESS TRANSLATIONS”, which is incorporated herein by reference in its entirety.
BACKGROUND
[0002] Offload devices such as accelerators are a type of connected device or endpoint that can offload general purpose processing and execute certain workloads with additional capacity or more efficiently in terms of performance and power. Address virtualization capabilities allow for scalable, robust use of accelerators. An operating system can manage virtual address spaces and the assignment of real memory to virtual memory. Real memory is addressed using physical addresses while virtual memory is addressed using virtual addresses. Address translation hardware in the central processing unit, often referred to as a memory management unit or MMU, can translate virtual addresses to physical addresses.
BRIEF DESCRIPTION OF THE DRAWINGS
[0003] The concepts described herein are illustrated by way of example and not by way of limitation in the accompanying figures. For simplicity and clarity of illustration, elements illustrated in the figures are not necessarily drawn to scale. Where considered appropriate, reference labels have been repeated among the figures to indicate corresponding or analogous elements.
[0004] FIG. 1 is a simplified block diagram of at least one embodiment of a compute device with an offload device for fetching of address translations;
[0005] FIG. 2 is a simplified block diagram of at least one embodiment of an environment that may be established by the compute device of FIG. 1;
[0006] FIG. 3 is a simplified block diagram of at least one embodiment of an environment that may be established by the offload device of FIG. 1 and/or the RCiEP of FIG. 1;
[0007] FIG. 4 is a table depicting one embodiment of a translation fetch descriptor that may be used by the compute device of FIG. 1;
[0008] FIG. 5 is a table depicting one embodiment of a translation fetch completion record that may be used by the compute device of FIG. 1;
[0009] FIG. 6 is a simplified flow diagram of at least one embodiment of a method for off-loading a task that may be performed by the compute device of FIG. 1; and
[0010] FIGS. 7-10 are a simplified flow diagram of at least one embodiment of a method for fetching address translations that may be executed by the some or all components of the compute device of FIG. 1.
DETAILED DESCRIPTION OF THE DRAWINGS
[0011] While the concepts of the present disclosure are susceptible to various modifications and alternative forms, specific embodiments thereof have been shown by way of example in the drawings and will be described herein in detail. It should be understood, however, that there is no intent to limit the concepts of the present disclosure to the particular forms disclosed, but on the contrary, the intention is to cover all modifications, equivalents, and alternatives consistent with the present disclosure and the appended claims.
[0012] References in the specification to “one embodiment,” “an embodiment,” “an illustrative embodiment,” etc., indicate that the embodiment described may include a particular feature, structure, or characteristic, but every embodiment may or may not necessarily include that particular feature, structure, or characteristic. Moreover, such phrases are not necessarily referring to the same embodiment. Further, when a particular feature, structure, or characteristic is described in connection with an embodiment, it is submitted that it is within the knowledge of one skilled in the art to effect such feature, structure, or characteristic in connection with other embodiments whether or not explicitly described. Additionally, it should be appreciated that items included in a list in the form of “at least one A, B, and C” can mean (A); (B); (C); (A and B); (A and C); (B and C); or (A, B, and C). Similarly, items listed in the form of “at least one of A, B, or C” can mean (A); (B); (C); (A and B); (A and C); (B and C); or (A, B, and C).

Documents

Application Documents

# Name Date
1 202144042166-FORM 1 [17-09-2021(online)].pdf 2021-09-17
2 202144042166-DRAWINGS [17-09-2021(online)].pdf 2021-09-17
3 202144042166-DECLARATION OF INVENTORSHIP (FORM 5) [17-09-2021(online)].pdf 2021-09-17
4 202144042166-COMPLETE SPECIFICATION [17-09-2021(online)].pdf 2021-09-17
5 202144042166-FORM-26 [17-12-2021(online)].pdf 2021-12-17
6 202144042166-FORM 3 [17-03-2022(online)].pdf 2022-03-17
7 202144042166-FORM 3 [19-09-2022(online)].pdf 2022-09-19
8 202144042166-FORM 18 [16-12-2024(online)].pdf 2024-12-16