ACCELERATING AND OFFLOADING LOCK ACCESS OVER A NETWORK
First Claim
1. A method of communication comprising the steps of:
- in a data network connecting an initiator and a remote target, the initiator having an initiator network interface controller, and the remote target having a target network interface controller and a memory location that is accessible by at least a first process of the initiator and by a second process;
issuing an atomic read-modify-write lock command from the first process to the remote target via the initiator network interface controller to establish a lock on the memory location against the second process;
prior to receiving a reply to the atomic read-modify-write lock command, communicating a data access request to the memory location from the initiator network interface controller;
prior to receiving a reply to the data access request issuing an atomic unlock command from the initiator network interface controller to release the lock on the memory location;
receiving the atomic read-modify-write lock command and the data access request in the target network interface controller;
with the target network interface controller determining a content of the lock on the memory location;
when the content of the lock does not prevent execution of the data access request accessing the memory location; and
after accessing the memory location executing the unlock command with the target network interface controller.
3 Assignments
0 Petitions
Accused Products
Abstract
Lock access is managed in a data network having an initiator node and a remote target by issuing a lock command from a first process to the remote target via an initiator network interface controller to establish a lock on a memory location, and prior to receiving a reply to the lock command communicating a data access request to the memory location from the initiator network interface controller. Prior to receiving a reply to the data access request, an unlock command issues from the initiator network interface controller. The target network interface controller determines the lock content, and when permitted by the lock accesses the memory location. After accessing the memory location the target network interface controller executes the unlock command. When the lock prevents data access, the lock operation is retried a configurable number of times until data access is allowed or a threshold is exceeded.
-
Citations
16 Claims
-
1. A method of communication comprising the steps of:
-
in a data network connecting an initiator and a remote target, the initiator having an initiator network interface controller, and the remote target having a target network interface controller and a memory location that is accessible by at least a first process of the initiator and by a second process; issuing an atomic read-modify-write lock command from the first process to the remote target via the initiator network interface controller to establish a lock on the memory location against the second process; prior to receiving a reply to the atomic read-modify-write lock command, communicating a data access request to the memory location from the initiator network interface controller; prior to receiving a reply to the data access request issuing an atomic unlock command from the initiator network interface controller to release the lock on the memory location; receiving the atomic read-modify-write lock command and the data access request in the target network interface controller; with the target network interface controller determining a content of the lock on the memory location; when the content of the lock does not prevent execution of the data access request accessing the memory location; and after accessing the memory location executing the unlock command with the target network interface controller. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A communications apparatus comprising:
-
an initiator having an initiator network interface controller; a remote target connected to the initiator by a data network, the remote target having a target network interface controller and a memory location that is accessible by at least a first process of the initiator and by a second process, wherein the initiator and the remote target are cooperative to perform the steps of; issuing an atomic read-modify-write lock command from the first process to the remote target via the initiator network interface controller to establish a lock on the memory location against the second process; prior to receiving a reply to the atomic read-modify-write lock command, communicating a data access request to the memory location from the initiator network interface controller; prior to receiving a reply to the data access request issuing an atomic unlock command from the initiator network interface controller to release the lock on the memory location; receiving the atomic read-modify-write lock command and the data access request in the target network interface controller; with the target network interface controller determining a content of the lock on the memory location; when the content of the lock does not prevent execution of the data access request accessing the memory location; and after accessing the memory location executing the unlock command with the target network interface controller. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
Specification