Method and apparatus for using ATM queues for segmentation and reassembly of data frames
First Claim
1. A system comprising:
- means for generating a data frame having data information, the data frame originating at a local processor;
means for storing the data frame in a memory;
means for providing the data frame to a processor interface having a segmentation engine and a direct memory access (DMA) engine;
means for segmenting the data frame into a plurality of cells at the processor interface using the segmentation engine and the DMA engine; and
means for 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.
0 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.
80 Citations
7 Claims
-
1. A system comprising:
-
means for generating a data frame having data information, the data frame originating at a local processor;
means for storing the data frame in a memory;
means for providing the data frame to a processor interface having a segmentation engine and a direct memory access (DMA) engine;
means for segmenting the data frame into a plurality of cells at the processor interface using the segmentation engine and the DMA engine; and
means for 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)
means for transmitting said cells into a digital network in an order specified by said linked list pointers.
-
-
3. A computer readable medium containing executable instructions which, when executed in a processing system, cause the system to perform a method comprising:
-
generating a data frame having data information, the data frame originating at a local 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 (4)
transmitting said cells into a digital network in an order specified by said linked list pointers.
-
-
5. A method comprising:
-
generating a data frame having data information, the data frame originating at a local 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;
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; and
transmitting said cells into a network in an order specified by said linked list pointers;
wherein the number of memory locations is based on a length of the data frame.
-
-
6. 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, wherein said segmentation and reassembly engine is further configured to perform error detection operations for frames of data reconstructed from extracted cells using payload information therefrom. - View Dependent Claims (7)
-
Specification