Infiniband memory windows management directly in hardware
First Claim
1. A method for controlling access to memory areas within a computer, comprising:
- placing a first bind work queue element at the head of a work queue, wherein the first bind work queue element defines parameters associated with a first memory window;
placing a first plurality of work requests on the work queue, behind the first bind work queue element, wherein the work requests invoke operations that access the first memory window;
placing a second bind work queue element on the work queue, behind the first plurality of work requests, wherein the second bind work queue element defines parameters associated with a second memory window; and
placing a second plurality of work requests on the work queue behind the second bind work queue element, wherein the work requests invoke operations that access the second memory window.
1 Assignment
0 Petitions
Accused Products
Abstract
A method, system and program for controlling access to memory areas within a computer are provided. The invention comprises placing a first Bind Work Queue Element (WQE) at the head of a work queue, wherein the first Bind WQE defines parameters associated with a first Memory Window. A set of Work Requests is then placed on the work queue, behind the first Bind WQE wherein the work requests invoke operations that access the first Memory Window. A second Bind WQE is then placed on the work queue, behind the first set of Work Requests. This second Bind WQE defines parameters associated with a second Memory Window. A second set of Work Requests is placed on the work queue behind the second Bind WQE and invoke operations that access the second memory window. The Memory Windows can be associated with a common Memory Region and have different addresses and lengths or different access rights. In another embodiment, the first and second Memory Windows can be associated with different Memory Regions.
-
Citations
21 Claims
-
1. A method for controlling access to memory areas within a computer, comprising:
-
placing a first bind work queue element at the head of a work queue, wherein the first bind work queue element defines parameters associated with a first memory window;
placing a first plurality of work requests on the work queue, behind the first bind work queue element, wherein the work requests invoke operations that access the first memory window;
placing a second bind work queue element on the work queue, behind the first plurality of work requests, wherein the second bind work queue element defines parameters associated with a second memory window; and
placing a second plurality of work requests on the work queue behind the second bind work queue element, wherein the work requests invoke operations that access the second memory window. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
the protection table is accessed by means of a remote access key; and
the entries are accessed by means of an index portion of the remote access key.
-
-
10. The method according to claim 6, wherein:
-
the protection table is accessed by means of a local access key; and
the entries are accessed by means of an index portion of the local access key.
-
-
11. A computer program product for use in a data processing system, for controlling access to memory areas within a computer, the computer program product comprising:
-
first instructions for placing a first bind work queue element at the head of a work queue, wherein the first bind work queue element defines parameters associated with a first memory window;
second instructions for placing a first plurality of work requests on the work queue, behind the first bind work queue element, wherein the work requests invoke operations that access the first memory window;
third instructions for placing a second bind work queue element on the work queue, behind the first plurality of work requests, wherein the second bind work queue element defines parameters associated with a second memory window; and
fourth instructions for placing a second plurality of work requests on the work queue behind the second bind work queue element, wherein the work requests invoke operations that access the second memory window. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
the protection table is accessed by means of a remote access key; and
the entries are accessed by means of an index portion of the remote access key.
-
-
20. The computer program product according to claim 16, wherein:
-
the protection table is accessed by means of a local access key; and
the entries are accessed by means of an index portion of the local access key.
-
-
21. A system for controlling access to memory areas within a computer, comprising:
-
a first queuing component to place a first bind work queue element at the head of a work queue, wherein the first bind work queue element defines parameters associated with a first memory window;
a second queuing component to place a first plurality of work requests on the work queue, behind the first bind work queue element, wherein the work requests invoke operations that access the first memory window;
a third queuing component to place a second bind work queue element on the work queue, behind the first plurality of work requests, wherein the second bind work queue element defines parameters associated with a second memory window; and
a fourth queuing component to place a second plurality of work requests on the work queue behind the second bind work queue element, wherein the work requests invoke operations that access the second memory window.
-
Specification