Method and apparatus for using ATM queues for segmentation and reassembly of data frames
First Claim
1. A method comprising:
- generating a data frame having data information at a processor;
storing the data frame in a memory;
providing the data frame to a processor interface having a segmentation engine and a direct memory access (DMA) engine;
segmenting the data frame into a plurality of cells at the processor interface using the segmentation engine and the DMA engine; and
injecting each of said cells into a cell input engine by transferring each of said cells to a number of memory locations by DMA transfer within a cell memory; and
establishing a series of linked list pointers associated with said memory locations, wherein said series of linked list pointers includes a logical queue;
wherein the number of memory locations is based on a length of the data frame.
3 Assignments
0 Petitions
Accused Products
Abstract
A plurality of cells are received from a digital network and stored in a logical queue. The cells contain data information and logical connection information and the logical queue corresponds to the logical connection identified by the logical connection information. The cells are combined into a frame by extracting the cells from the logical queue and storing the cells to a local memory so that the data information is preserved. Extraction may be accomplished by notifying a local processor that the frame'"'"'s worth of data is ready and then transferring the data information of the cells to a local memory at the direction of the local processor. During the transfer, error detection operations may be performed. Information may be transmitted into the digital network by segmenting a frame of data into a plurality of cells and injecting each of the cells into a logical queue. The logical queue may be constructed with a series of linked list pointers associated with the memory locations. The cells may then be transmitted into the digital network in an order consistent with the linked list pointers.
-
Citations
7 Claims
-
1. A method comprising:
-
generating a data frame having data information at a processor;
storing the data frame in a memory;
providing the data frame to a processor interface having a segmentation engine and a direct memory access (DMA) engine;
segmenting the data frame into a plurality of cells at the processor interface using the segmentation engine and the DMA engine; and
injecting each of said cells into a cell input engine by transferring each of said cells to a number of memory locations by DMA transfer within a cell memory; and
establishing a series of linked list pointers associated with said memory locations, wherein said series of linked list pointers includes a logical queue;
wherein the number of memory locations is based on a length of the data frame. - View Dependent Claims (2)
-
-
3. A digital switch comprising:
-
a queuing circuit having a number of connection queues and class of service queues and configured to store a plurality of ATM cells, said cells including payload information and header information within said connection queues and said class of service queues based upon said header information; and
a segmentation and reassembly (SAR) engine coupled to said queuing circuit and configured to extract cells from said queuing circuit that are bound for a local processor of said switch so as to preserve said payload information and to create and inject cells formed from data frames originated by said local processor into said queuing circuit;
wherein said segmentation and reassembly engine includes a direct memory access (DMA) engine having a DMA channel, and a segmentation engine to segment a frame into a plurality of cells by using the DMA channel of the DMA engine, wherein the SAR engine is configured to input cells into the queuing circuit by transferring each of said cells to a number of memory locations by DMA transfer within a cell memory; and
establishing a series of linked list pointers associated with said memory locations, wherein said series of linked list pointers includes a logical queue.- View Dependent Claims (4, 5, 6, 7)
-
Specification