High performance memory based communications interface
First Claim
Patent Images
1. A method for transmitting a data packet to a communications medium, the data packet including a header and a payload, the method comprising the steps of:
- segmenting the data packet into one or more segments, each of the segments including a plurality of fragments stored in non-contiguous portions of a computer memory;
generating a segment descriptor for each segment, each segment descriptor including a fragment descriptor for each of the plurality of fragments in a respective segment such that one of the generated fragment descriptors is exclusively associated with the header and at least one other of the generated fragment descriptors is associated with at least a portion of the payload;
storing the generated fragment descriptors for each segment descriptor in contiguous portions of the computer memory;
sending the plurality of fragment descriptors for each segment descriptor across an interface;
retrieving the fragment descriptors from the interface;
reassembling each segment of the data packet by retrieving the header and the payload associated with the retrieved fragment descriptors for a respective segment descriptor from the computer memory, andtransmitting the reassembled data packet segments to the communications medium.
3 Assignments
0 Petitions
Accused Products
Abstract
Embodiments of the present invention include enhanced functionalities and components within a Communication Endpoint Processor (CEP) that act as an interface between computational and communications domains. The embodiments disclosed herein deliver a complete memory mapped high performance interface that has the ability to support the simultaneous transmission of multiple frames of multiple sizes, and that has the ability to interrupt the transmission of lower priority frames in order to send higher priority frames.
-
Citations
32 Claims
-
1. A method for transmitting a data packet to a communications medium, the data packet including a header and a payload, the method comprising the steps of:
-
segmenting the data packet into one or more segments, each of the segments including a plurality of fragments stored in non-contiguous portions of a computer memory; generating a segment descriptor for each segment, each segment descriptor including a fragment descriptor for each of the plurality of fragments in a respective segment such that one of the generated fragment descriptors is exclusively associated with the header and at least one other of the generated fragment descriptors is associated with at least a portion of the payload; storing the generated fragment descriptors for each segment descriptor in contiguous portions of the computer memory; sending the plurality of fragment descriptors for each segment descriptor across an interface; retrieving the fragment descriptors from the interface; reassembling each segment of the data packet by retrieving the header and the payload associated with the retrieved fragment descriptors for a respective segment descriptor from the computer memory, and transmitting the reassembled data packet segments to the communications medium. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17)
-
-
18. A computer communications interface for transmitting a data packet to a communications medium, the data packet including a header and a payload, comprising:
-
a communications endpoint processor (CEP) interface; a CEP kernel coupled to the CEP interface, the CEP kernel being configured to segment the data packet into one or more segments, each of the segments including a plurality of fragments stored in non-contiguous portions of a computer memory, to generate a segment descriptor for each segment, each segment descriptor including a fragment descriptor for each of the plurality of fragments in a respective segment such that one of the generated fragment descriptors is exclusively associated with the header and at least one other of the generated fragment descriptors is associated with at least a portion of the payload, to store the fragment descriptors for each segment descriptor in contiguous portions of the computer memory and to send the plurality of fragment descriptors for each segment descriptor across the CEP interface, and a CEP engine coupled to the CEP interface, the CEP engine being configured to retrieve the fragment descriptors from the interface, to reassemble each segment of the data packet by retrieving the header and the payload associated with the fragment descriptors for a respective segment descriptor from the computer memory, and to transmit the reassembled data packet segments to the communications medium. - View Dependent Claims (19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32)
-
Specification