IP Library › Granted Patent US 7,155,542
Granted Patent B2
US 7,155,542 · App. 09/893,947 · Granted Dec 26, 2006

Dynamic network interface with zero-copy frames

Assignee: Intel 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 7,155,542
App. No.
09/893,947
Granted
Dec 26, 2006
Kind
B2
Abstract

A dynamic network interface is described, intended to enable the efficient processing of received data within a computer network by a target computer system by reducing excessive copying of the received data prior to being accessed by a network software application.

Claims (13)

1. A method comprising:

receiving a frame of data transmitted across a network into a receiving buffer of a target computer system;

recognizing and initiating a copy of said frame of data, said initiating comprising identifying at least one available Application Memory (AM) buffer in which to store a payload of said frame of data;

storing a header of said frame of data to a Receiving Frame Descriptor (RFD), said header comprising at least one sequence number;

zero-copying said payload of said received frame of data to said at least one AM buffer, wherein said zero-copying is aborted if an available Receiving Buffer Descriptor (RBD) queue entry is not identified.

2. The method of claim 1 further comprising allocating a new AM buffer if at least one available AM buffer is not identified, said allocating comprising creating a Receiving Buffer Descriptor (RBD) within an available RBD queue entry, said RBD comprising a value corresponding to a start address and a value corresponding to a size of said new AM buffer.

3. The method of claim 2 further comprising creating a flow descriptor if said new AM buffer is allocated, said flow descriptor identifying a zero-copy flow.

4. The method of claim 2 wherein said identifying comprises searching a pre-defined number of RBD's within said RBD queue for an RBD corresponding to said at least one available AM buffer.

5. The method of claim 4 wherein said search is based on a difference between a an AM buffer size and a size of said payload of said frame of data.

6. The method of claim 5 wherein said search is aborted if said search is unsuccessful after searching said predefined number of RBD's within said RBD queue.

7. The method of claim 6 wherein said RBD queue is indexed by a head pointer, a tail pointer and a Last Completed RBD Number (LCRN) pointer, said head pointer comprising a value corresponding to an address of a next available RBD entry within said RBD queue and said tail pointer comprising a value corresponding to an address of an oldest incomplete RBD within said RBD queue and said LCRN pointer comprising a value corresponding to a full AM buffer.

8. The method of claim 7 wherein an RBD entry within said RBD queue corresponding to a full AM buffer is invalidated.

9. The method of claim 8 wherein said invalidated RBD entry is used to store future or pending RBD's.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 27, 2001
From: TRAININ, SOLOMON
To: INTEL CORPORATION
Reel/Frame 011963/0330 →
Continuity (1)
Related Publication 20030005164A1 · Jan 2, 2003