IP Library Granted Patent US 8,214,448
Granted Patent B2
US 8,214,448 · App. 12/763,469 · Granted Jul 3, 2012

Optimized utilization of DMA buffers for incoming data packets in a network protocol

Assignee: International Business Machines Corporation
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 8,214,448
App. No.
12/763,469
Granted
Jul 3, 2012
Kind
B2
Abstract

A method, system and computer program product for facilitating network data packet management. In one embodiment, a controller is configured to receive data packets. Incoming data packets are stored in DMA mapped packet buffers. A time stamp is associated with the packet buffers. When the associated time stamp exceeds a defined threshold, the controller is configured to copy the packet buffers stored in DMA memory to non-DMA memory. Once copied, the DMA memory previously used to store the packet buffers is available to receive new data packets. The controller is configured to continue copying aged packet buffers to non-DMA memory until an unallocated amount DMA memory is reached.

Claims (34)

1. A method for storing data packets in computer memory, the computer memory including DMA memory reserved for dynamic memory access (DMA) and non-DMA memory that is not reserved for DMA access, the method comprising:

transferring received data packets from a network adapter to packet buffers in the DMA memory;

associating with the packet buffers a time stamp of when the data packets are transferred to the packet buffers;

iteratively copying packet buffers with associated time stamps older than a threshold age to application buffers in the non-DMA memory if there is a shortage of available DMA memory to store additional data packets; and

indicating that the DMA memory previously used to store the packet buffers is available to store the additional data packet;

wherein iteratively copying the packet buffer of the DMA memory to non-DMA memory is terminated when a DMA buffer target value of available DMA memory to store the additional data packets is reached.

2. The method according to claim 1 , further comprising receiving data packets by the network adapter in a computer.

3. The method according to claim 1 , wherein associating with the packet buffers the time stamp of when the data packets are transferred to the packet buffers includes time stamping the DMA buffers when the DMA buffers are created.

4. The method according to claim 1 , wherein the threshold age is a predetermined constant.

5. The method according to claim 1 , wherein the shortage of available DMA memory is a predetermined constant.

6. The method according to claim 1 , wherein the DMA buffer target value is a predetermined constant.

7. A system for storing data packets in computer memory, the computer memory including DMA memory reserved for dynamic memory access (DMA) and non-DMA memory that is not reserved for DMA access, the system comprising:

a network adapter configured to transfer received data packets to packet buffers in the DMA memory;

a controller configured to associate with the packet buffers a time stamp of when the data packets are transferred to the packet buffers; and

a buffer stealer configured to:

iteratively copy the packet buffers with associated time stamps older than a threshold age to the application buffers in the non-DMA memory if there is a shortage of available DMA memory to store additional data packets; and

indicate that the DMA memory previously used to store the packet buffers is available to store the additional data packets;

wherein the controller is further configured to terminate the buffer stealer when a DMA buffer target value of available DMA memory to store the additional data packets is reached.

8. The system according to claim 7 wherein the network adapter is configured to receive the data packets in a computer.

9. The system according to claim 7 wherein the controller is further configured to time stamp the DMA buffers when the DMA buffers are created.

10. The system according to claim 7 wherein the controller is further configured to define the threshold age as a constant.

11. The system according to claim 7 wherein the controller is further configured to define the shortage of available DMA memory as a constant.

12. The system according to claim 7 , wherein the controller is configured to define the DMA buffer target value as a constant.

13. A computer program product for storing data packets in computer memory, the computer memory including DMA memory reserved for dynamic memory access (DMA) and non-DMA memory that is not reserved for DMA access, the computer program product comprising:

a non-transitory computer readable storage medium having computer readable program code embodied therewith, the computer readable program code configured to:

transfer received data packets from a network adapter to packet buffers in the DMA memory;

associate with the packet buffers a time stamp of when the data packets are transferred to the packet buffers;

iteratively copy packet buffers with associated time stamps older than a threshold age to application buffers in the non-DMA memory if there is a shortage of available DMA memory to store additional data packets; and

indicate that the DMA memory previously used to store the packet buffers is available to store the additional data packets;

wherein iteratively copy the packet buffer of the DMA memory to non-DMA memory is terminated when a DMA buffer target value of available DMA memory to store the additional data packets is reached.

14. The computer program product according to claim 13 , further configured to receive the data packets by the network adapter in a computer.

15. The computer program product according to claim 13 , further configured to associate with the packet buffers the time stamp of when the data packets are transferred to the packet buffers includes time stamping the DMA buffers when the DMA buffers are created.

16. The computer program product according to claim 13 , further configured to define the threshold age as a constant and define the shortage as a constant.

17. The computer program product according to claim 13 , further configured to define the DMA buffer target value as a constant.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 20, 2010
From: CANTU, EDGAR O.; MARQUARDT, DAVID R.; RIVERA, JOSE GERMAN; TRAN, THINH H.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 024259/0364 →
Continuity (1)
Related Publication 20110258282A1 · Oct 20, 2011