System for, and method of, ATM segmentation and re-assembly of cells providing streaming data
First Claim
1. A system, operable with a streaming data device for transferring, in an asynchronous transfer mode (ATM), a cell which has a header and which has a payload comprising streaming data, the system comprising:
- a FIFO connected to the streaming data device and having a plurality of addresses for receiving, storing and transferring the payload, interface means, state machine means responsive to the cell for separating the payload in the cell and the header in the cell, a control memory means being responsive to the header, without the payload, for selecting a FIFO address based on the header and for providing for the transfer of the payload, without the header, between at least one of the addresses of the FIFO, identified by the FIFO address, and the interface means, payload transfer means for transferring the payload, without the header, between the at least one of the addresses of the FIFO identified by the FIFO address and the interface means, means for providing in the control memory means a state table entry comprising the header for the payload, the FIFO address and an indication that the payload comprises the streaming data, means for transferring the payload, without the header, to the FIFO through the interface at the FIFO address identified in the state table entry, means for providing in the state table entry an indication of whether the transfer of the payload, without the header, to the FIFO address is to be provided or skipped, and means for transferring or skipping the transfer of the payload, without the header, into the FIFO in accordance with the indication of whether the transfer of the payload is to be provided or skipped.
11 Assignments
0 Petitions
Accused Products
Abstract
Data (e.g. legacy LAN traffic) segmented into packets provide a header and a cell payload for each cell in each packet. The cell payloads are transferred to a region address in a host memory in accordance with determinations by a control memory. When the cell payload is to be transmitted from the host memory, the cell payload for a particular region address is combined with the header stored in the control memory for such address. Streaming data (e.g. voice or video) occurs at a regular rate and is not necessarily broken into packets. The streaming data is segmented to provide cell headers and cell payloads. The cell payloads are then transferred to a host receive FIFO in accordance with a determination by the control memory and are stored in a data sink. Cell payloads from a data source are transferred into a host transmit FIFO at a particular rate and are transferred from the host transmit FIFO preferably at a substantially constant rate higher than the particular rate. These FIFO cell payloads are combined with the headers in the control memory. When the cell payloads in the host transmit FIFO become almost depleted, the transmission of the cell payloads from the host transmit FIFO is skipped to allow the host transmit FIFO to receive additional cell payloads from the data source. The transmit and receive FIFO'"'"'s respectively maintain cell alignment by providing particular controls with respect to the minimum and maximum number of cell payloads in the FIFO'"'"'s.
27 Citations
22 Claims
-
1. A system, operable with a streaming data device for transferring, in an asynchronous transfer mode (ATM), a cell which has a header and which has a payload comprising streaming data, the system comprising:
-
a FIFO connected to the streaming data device and having a plurality of addresses for receiving, storing and transferring the payload, interface means, state machine means responsive to the cell for separating the payload in the cell and the header in the cell, a control memory means being responsive to the header, without the payload, for selecting a FIFO address based on the header and for providing for the transfer of the payload, without the header, between at least one of the addresses of the FIFO, identified by the FIFO address, and the interface means, payload transfer means for transferring the payload, without the header, between the at least one of the addresses of the FIFO identified by the FIFO address and the interface means, means for providing in the control memory means a state table entry comprising the header for the payload, the FIFO address and an indication that the payload comprises the streaming data, means for transferring the payload, without the header, to the FIFO through the interface at the FIFO address identified in the state table entry, means for providing in the state table entry an indication of whether the transfer of the payload, without the header, to the FIFO address is to be provided or skipped, and means for transferring or skipping the transfer of the payload, without the header, into the FIFO in accordance with the indication of whether the transfer of the payload is to be provided or skipped.
-
-
2. A method of operating a system having a streaming data source and for providing, in an asynchronous transfer mode (ATM), a cell which has a header and which has a payload comprising streaming data, a method comprising the steps of:
-
providing interface means, providing a FIFO connected to the streaming data source and having a plurality of addresses for receiving and transferring the payload, separating the header and the payload in the cell, providing a control memory, modifying the header in the control memory in accordance with the direction of transfer of the payload between the interface means and the FIFO, transferring the payload, without the header, between the interface means and the FIFO in accordance with the modified header, and skipping the transfer of the payload, without the header, between the FIFO to the interface means when a particular number of cells remain in the FIFO, thereby giving the FIFO an opportunity during such skipping to become at least partially filled with additional payloads, without headers, transferred from the streaming data source.
-
-
3. A Segmentation And Re-Assembly (SAR) system for use with a system bus and host system, the host system comprising a host memory coupled to the system bus and a receive FIFO coupled to the system bus that is separate from the host memory, the SAR system comprising:
-
a receive interface configured to receive a first cell having a header and a payload; and
SAR circuitry configured to;
determine whether the first cell comprises streaming data or non-streaming data, if the first cell comprises streaming data, the operate in FIFO mode to transfer the payload of the first cell to the receive FIFO, and if the first cell comprises non-streaming data, then transfer the payload of the first cell to the host memory. - View Dependent Claims (4, 5, 6, 7, 8, 9, 10, 11, 12)
transfer the payload of the first cell to an address of the receive FIFO that corresponds to the header of the first cell.
-
-
5. The SAR system of claim 4 wherein the SAR circuitry is further configured to:
remember the address of the receive FIFO if the transfer of the payload of the first cell is interrupted on the system bus.
-
6. The SAR system of claim 3:
-
wherein the host system further comprises a transmit FIFO coupled to the system bus that is separate from the host memory, wherein the SAR system further comprises a transmit interface, and wherein the SAR circuitry is further configured to;
schedule a transfer of a second cell having a header and a payload over the transmit interface, determine whether the second cell comprises streaming data or non-streaming data, if the second cell comprises streaming data, then operate in the FIFO mode to retrieve the payload of the second cell from the transmit FIFO, and if the second cell comprises non-streaming data, the retrieve the payload of the second cell from the host memory.
-
-
7. The SAR system of claim 6 wherein the SAR circuitry is further configured to:
-
determine the header for the second cell; and
retrieve the payload of the second cell from an address in the transmit FIFO that corresponds to the header for the second cell.
-
-
8. The SAR system of claim 7 wherein the SAR circuitry is further configured to:
remember the address in the transmit FIFO if the retrieval of the payload of the second cell is interrupted.
-
9. The SAR system of claim 7 wherein the SAR circuitry is further configured to:
combine the header for the second cell and the payload of the second cell.
-
10. The SAR system of claim 6 wherein the SAR circuitry is further configured to:
interrupt the retrieval of the payload of the second cell from the transmit FIFO responsive to receiving an indication from the transmit FIFO.
-
11. The SAR system of claim 3 wherein the streaming data comprises video data.
-
12. The SAR system of claim 3 wherein the streaming data comprises audio data.
-
13. A method of operating a Segmentation And Re-Assembly (SAR) system for use with a system bus and a host system, wherein the host system comprises a host memory coupled to the system bus and a receive FIFO coupled to the system bus that is separate from the host memory, the method comprising:
-
receiving a first cell having a header and a payload, determining whether the first cell comprises streaming data or non-streaming data, if the first cell comprises streaming data, then operating in FIFO mode to transfer the payload of the first cell to the receive FIFO, and if the first cell comprises non-streaming data, then transferring the payload of the first cell to the host memory. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21, 22)
transferring the payload of the first cell to an address of the receive FIFO that corresponds to the header of the first cell.
-
-
15. The method of claim 14 further comprising:
remembering the address of the receive FIFO if the transfer of the payload of the first cell is interrupted on the system bus.
-
16. The method of claim 13 wherein the host system further comprises a transmit FIFO separate from the host memory and wherein the method further comprises:
-
scheduling a transfer of a second cell having a header and a payload, determining whether the second cell comprises streaming data or non-streaming data, if the second cell comprises streaming data, then operating in the FIFO mode to retrieve the payload of the second cell from the transmit FIFO, and if the second cell comprises non-streaming data, then retrieving the payload of the second cell from the host memory.
-
-
17. The method of claim 16 further comprising:
-
determining the header for the second cell; and
retrieving the payload of the second cell from an address in the transmit FIFO that corresponds to the header of the second cell.
-
-
18. The method of claim 17 further comprising:
remembering the address in the transmit FIFO if the retrieval of the payload of the second cell is interrupted.
-
19. The method of claim 17 further comprising;
combining the header for the second cell and the payload of the second cell.
-
20. The method of claim 16 further comprising:
interrupting the retrieval of the payload of the second cell from the transmit FIFO responsive to receiving an indication from the transmit FIFO.
-
21. The method of claim 13 wherein the streaming data comprises video data.
-
22. The method of claim 13 wherein the streaming data comprises audio data.
Specification