System for accessing a region of memory using remote address translation and using a memory window table and a memory region table
First Claim
Patent Images
1. A system for accessing a region of memory in a computer, the system comprising:
- a network interconnect;
a first node coupled to the interconnect, wherein the first node includes;
a memory configured to store data;
a memory region table;
a memory window table, said memory window table being in communication with the memory region table; and
circuitry configured to control access to the memory;
a second node coupled to the first node via the interconnect, wherein the second node is configured to convey a request for access to the memory in the first node, the request including a first virtual address and a remote access key;
wherein in response to receiving the request, the first node is configured to;
determine whether the request corresponds to a memory region or a memory window;
if the request corresponds to a memory region;
combine the first virtual address and the remote access key to form an index into a first entry of the memory region table; and
if the request corresponds to a memory window;
(i) use a first portion of the remote access key to index into a first entry of the memory window table;
(ii) compare a second portion of the remote access key to a window table access key stored within the first entry of the memory window table; and
(iii) allow processing to continue if the second portion of the remote access key matches the window table access key.
2 Assignments
0 Petitions
Accused Products
Abstract
A system for permitting remote user access to regions of memory that have been exported for remote direct memory access purposes. The system supports dynamically changing access privileges to remote users without requiring intervention from an operating system. The system may include a memory region table and a memory window table for supporting address translations. Entries in the memory window table may include a region remote access key and a window remote access key. The memory region table may include fields for a physical address, an access value, a protection domain value, and a length of memory region.
29 Citations
22 Claims
-
1. A system for accessing a region of memory in a computer, the system comprising:
-
a network interconnect;
a first node coupled to the interconnect, wherein the first node includes;
a memory configured to store data;
a memory region table;
a memory window table, said memory window table being in communication with the memory region table; and
circuitry configured to control access to the memory;
a second node coupled to the first node via the interconnect, wherein the second node is configured to convey a request for access to the memory in the first node, the request including a first virtual address and a remote access key;
wherein in response to receiving the request, the first node is configured to;
determine whether the request corresponds to a memory region or a memory window;
if the request corresponds to a memory region;
combine the first virtual address and the remote access key to form an index into a first entry of the memory region table; and
if the request corresponds to a memory window;
(i) use a first portion of the remote access key to index into a first entry of the memory window table;
(ii) compare a second portion of the remote access key to a window table access key stored within the first entry of the memory window table; and
(iii) allow processing to continue if the second portion of the remote access key matches the window table access key. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method for controlling access to a memory in a computing node, said method comprising:
-
receiving a request for access to the memory, the request including a first virtual address and a remote access key;
determining whether the request corresponds to a memory region or a memory window by examining a bit included within the request;
in response to determining the request corresponds to a memory region, combining the virtual address and the remote access key to form an index into a first entry of a memory region table, in response to determining the request corresponds to a memory region; and
in response to determining the request corresponds to a memory window, (i) utilizing a first portion of the remote access key to index into a first entry of a memory window table, (ii) comparing a second portion of said remote access key to a window table access key stored within the first entry of the memory window table, and (iii) allowing processing to continue if the second portion of the remote access key matches the window table access key. - View Dependent Claims (11, 12, 13, 14, 15, 16)
-
-
17. A node for use in a system area network, the node comprising:
-
an adapter configured to receive a memory access request via a network interconnect, said request including a virtual memory address and a remote access key;
a memory configured to store data; and
circuitry configured to control accesses to said memory, wherein in response to receiving a memory access request, said circuitry is configured to;
determine whether the request corresponds to a memory region or a memory window, responsive to examining a bit included within the request;
if the request corresponds to a memory region;
combine the first virtual address and the remote access key to form an index into a first entry of a memory region table; and
if the request corresponds to a memory window;
(i) use a first portion of the remote access key to index into a first entry of a memory window table;
(ii) compare a second portion of the remote access key to a window table access key stored within the first entry of the memory window table; and
(iii) allow processing to continue if the second portion of the remote access key matches the window table access key. - View Dependent Claims (18, 19, 20, 21, 22)
-
Specification