IP Library Granted Patent US 7,398,300
Granted Patent B2
US 7,398,300 · App. 10/642,023 · Granted Jul 8, 2008

One shot RDMA having a 2-bit state

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 7,398,300
App. No.
10/642,023
Granted
Jul 8, 2008
Kind
B2
Abstract

A system and method for managing memory resources in a system that allows remote direct access of memory. An aspect of the invention provides for automatically un-binding bound direct-access memory resources based on information received in messages from a remote source. The information may, for example, include a last-segment indicator to indicate that the message segment is the last expected message segment for a message. Another aspect of the invention provides for memory management of directly-accessible sections of memory by assigning a flag to indicate when the section of memory has special access restrictions, such as a set number of allowable accesses. Yet another aspect of the invention provides for a flag to represent when the access restrictions associated with a particular section of memory have been met.

Claims (43)

1. A method for managing memory resources in a system that allows remote direct access of memory, the method comprising:

at a local system that allows a remote system to directly access memory of the local system through a communication network, receiving a message segment from the remote system over the communication network, the received message segment directly accessing a section of memory of the local system that is designated to operate in a first mode, where the first mode is characterized by a maximum number of N remote direct accesses to the section of memory by the remote system; and

at the local system, setting an N-shot fired (NSF) flag associated with the section of memory in response to at least the received message segment.

2. The method of claim 1 , further comprising determining if the received message segment includes a last-segment indicator.

3. The method of claim 2 , wherein the last-segment indicator is an L-bit in RDMA communications.

4. The method of claim 2 , wherein the NSF flag-setting step comprises setting the NSF flag if the received message segment includes information indicating that the received message segment is a last message segment of a message.

5. The method of claim 1 , wherein:

N=1;

the first mode is a one-shot mode (OSM); and

the N-shot-fired (NSF) flag comprises a one-shot-fired (OSF) flag associated with the section of memory.

6. The method of claim 5 , further comprising setting an OSM flag associated with the section of memory to indicate that the section of memory is in a one-shot-mode, and wherein setting an NSF flag in response to at least the received message segment comprises setting the OSF flag associated with the section of memory to indicate that a one-shot access of the section of memory is complete.

7. The method of claim 6 , wherein at least one of the OSM flag and the OSF flag is a single bit.

8. The method of claim 6 , wherein the flag-setting steps are performed by a network interface card.

9. The method of claim 5 , wherein receiving a message segment from the remote system over the communication network, the received message segment directly accessing a section of memory of the local system that is designated to operate in a first mode, comprises receiving the message segment from the remote system over the communication network, the received message segment attempting to access a section of memory that is designated to operate in a one-shot mode, the method further comprising determining if the OSF flag associated with the section of memory is set.

10. The method of claim 9 , further comprising:

accessing the section of memory according to the received message segment if the OSF flag is not set; and

denying access to the section of memory if the OSF flag is set.

11. The method of claim 10 , further comprising generating an error message if the OSF flag is set.

12. The method of claim 9 , further comprising configuring the system to only receive message segments that are in order.

13. The method of claim 9 , further comprising storing out-of-order received message segments in a buffer at least until preceding TCP holes are plugged.

14. The method of claim 1 , further comprising setting an N-shot-mode (NSM) flag associated with the section of memory, and wherein receiving a message segment from the remote system over the communication network, the received message segment directly accessing a section of memory of the local system that is designated to operate in a first mode comprises:

receiving a message segment from the remote system over the communication network, the received message segment attempting to directly access the section of memory of the local system;

analyzing the NSM flag to determine if the section of memory has been designated to operate in an N-shot mode; and

processing the received message segment according to the results of the analyzing step.

15. The method of claim 14 , wherein the message segment processing step comprises analyzing the received message segment to determine if the received message segment includes information indicating that the received message segment is a last message segment of a message.

16. The method of claim 15 , wherein setting an NSF flag associated with the section of memory in response to at least the received message segment comprises setting the NSF flag if it is determined that the received message segment includes a last-segment indicator corresponding to a last segment of a message, and N- 1 previous message segments have been received accessing the section of memory.

17. The method of claim 15 , wherein the message segment processing step further comprises incrementing a shots-fired counter associated with the section of memory in response to the received message segment.

18. The method of claim 14 , wherein the message segment processing step comprises analyzing the NSF flag to determine if the section of memory is closed to further access.

19. The method of claim 18 , wherein the message segment processing step comprises generating an error message if the NSF flag indicates that the section of memory is closed to further access.

20. The method of claim 1 , wherein N=1, and the first mode is a one-shot mode.

21. A network interface for managing remote direct access of memory, the network interface comprising at least one circuit operable to, at least:

at a local system that allows a remote system to directly access memory of the local system through a communication network, receive a message segment from the remote system over the communication network, the received message segment directly accessing a section of memory of the local system that is designated to operate in a first mode, where the first mode is characterized by a maximum number of N remote direct accesses to the section of memory by the remote system; and

at the local system, set an N-shot (NSF) flag associated with the section of memory in response to at least the received message segment.

22. The network interface of claim 21 , wherein:

N=1;

the first mode is a one-shot mode (OSM); and

the N-shot-fired (NSF) flag is a one-shot-fired (OSF) flag associated with the section of memory.

23. The network interface of claim 21 , wherein the at least one circuit is further operable to:

set an N-shot-mode (NSM) flag associated with the section of memory to indicate that the section of memory has been designated to operate in an N-shot mode;

receive a message segment from a remote system over a communication network, the message segment attempting to directly access the section of memory;

analyze the NSM flag to determine if the section of memory has been designated to operate in an N-shot mode; and

process the received message segment according to the results of analyzing the NSM flag.

24. The network interface of claim 21 , wherein the at least one circuit is disposed on a network interface card.

Assignments (7)
CORRECTIVE ASSIGNMENT TO CORRECT THE ERROR IN RECORDING THE MERGER PREVIOUSLY RECORDED AT REEL: 047357 FRAME: 0302. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Mar 22, 2019
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 048674/0834 →
CORRECTIVE ASSIGNMENT TO CORRECT THE EFFECTIVE DATE OF MERGER PREVIOUSLY RECORDED ON REEL 047195 FRAME 0658. ASSIGNOR(S) HEREBY CONFIRMS THE THE EFFECTIVE DATE IS 09/05/2018. Recorded Oct 29, 2018
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 047357/0302 →
MERGER Recorded Oct 4, 2018
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 047195/0658 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Feb 3, 2017
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: BROADCOM CORPORATION
Reel/Frame 041712/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 1, 2017
From: BROADCOM CORPORATION
To: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
Reel/Frame 041706/0001 →
PATENT SECURITY AGREEMENT Recorded Feb 11, 2016
From: BROADCOM CORPORATION
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 037806/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 21, 2003
From: ELZUR, URI
To: BROADCOM CORPORATION
Reel/Frame 014148/0742 →