Claims
- 1. A method comprising:
receiving a SONET frame carrying payload segments associated with N time-slots of concatenated channels; extracting a multi-frame indicator for each of the N time-slots; storing each payload segment in a memory location pointed to by a write pointer; retrieving each payload segment from its stored memory location and in accordance with a read pointer; and aligning the payload segments in accordance with the extracted multi-frame indicators.
- 2. The method of claim 1 wherein the aligning of the payload segments is done during the storing and prior to retrieving the per time-slot payload segments.
- 3. The method of claim 2 wherein the alignment is done by adjusting the write pointer and in accordance with a multi-frame indicator.
- 4. The method of claim 3 wherein said retrieving is performed after all constituent time-slots have received frames having a same multi-frame indicator.
- 5. The method of claim 4 wherein said concatenated channels include contiguously concatenated channels.
- 6. The method of claim 4 wherein said concatenated channels include virtually concatenated channels.
- 7. The method of claim 4 wherein said concatenated channels include both contiguously and virtually concatenated channels.
- 8. The method of claim 5 wherein the contiguously concatenated channels are adapted to carry STS-Mc traffic, wherein M is a multiple integer of three and greater than zero.
- 9. The method of claim 5 wherein said time-slot interleaved data are carried via SONET frames carrying STS-12N traffic, wherein N is a multiple integer of four.
- 10. The method of claim 6 further comprising:
mapping each portion of data received from the virtually concatenated channels to a time-slot associated with STS-1 traffic to form STS-1-Mv traffic, where M is an integer greater than zero.
- 11. The method of claim 6 further comprising:
mapping each portion of data received from the virtually concatenated channels to a time-slot associated with STS-3c traffic to form STS-3c-Mv traffic, where M is an integer greater than zero.
- 12. The method of claim 6 further comprising:
mapping a first portion of data received from the virtually concatenated channels to a number of time-slots associated with STS-1 traffic to form STS-1-Mv traffic and further to map a second portion of data received from the virtually concatenated channels to a second number of time-slots associated with STS-3c traffic to form STS-3c-Ov traffic, wherein M and O each is an integer greater than zero.
- 13. The method of claim 10 wherein each payload segment is 32 bits.
- 14. The method of claim 1 further comprising:
extracting each MFI using a 3-bit row counter.
- 15. The method of claim 1 further comprising:
pre-incrementing each MFI after it is accumulated; and thereafter confirming each pre-incremented MFI.
- 16. The method of claim 1 wherein said extracting is carried out in parallel for a number of streams each carrying a subset of time-slot interleaved SONET data.
- 17. The method of claim 6 further comprising:
storing an expected sequence number associated with each time-slot in a first RAM; storing a virtual channel number associated with each of the virtually concatenated channels in a second RAM; wherein each of the first and second RAMs are doubled buffered to enable hitless provisioning.
- 18. The method of claim 1 wherein the write pointer is adjusted relative to its previous position to overcome aliasing.
- 19. The method of claim 1 further comprising:
storing one MFI for each time-slot to synchronize all time-slots associated with the same channel.
- 20. A circuit comprising:
a multi-frame extractor adapted to receive a SONET frame carrying payload segments associated with N time-slots of concatenated channels; said multi-frame extractor further adapted to extract a multi-frame indicator for each of the N time-slots; and an alignment logic having a write pointer, a read pointer and a memory; wherein said alignment logic stores each payload segment in a memory location pointed to by the write pointer; said alignment logic further adapted to retrieve each payload segment from its stored memory location in accordance with the read pointer and to further align the payload segments in accordance with the extracted multi-frame indicators.
- 21. The circuit of claim 20 wherein the circuit aligns the payload segments before it retrieves the payload segments.
- 22. The circuit of claim 21 wherein the circuit aligns the payload segments by adjusting the write pointer and in accordance with a multi-frame indicator.
- 23. The circuit of claim 22 wherein the circuit retrieves the payload segments after all constituent time-slots have received frames having a same multi-frame indicator.
- 24. The circuit of claim 23 wherein said concatenated channels include contiguously concatenated channels.
- 25. The circuit of claim 23 wherein said concatenated channels include virtually concatenated channels.
- 26. The circuit of claim 23 wherein said concatenated channels include both contiguously and virtually concatenated channels.
- 27. The circuit of claim 24 wherein the contiguously concatenated channels are adapted to carry STS-Mc traffic, wherein M is a multiple integer of three and greater than zero.
- 28. The circuit of claim 24 wherein said time-slot interleaved data are carried via SONET frames carrying STS-12N traffic, wherein N is a multiple integer of four.
- 29. The circuit of claim 25 wherein said circuit is further adapted to map each portion of data received from the virtually concatenated channels to a time-slot associated with STS-1 traffic to form STS-1-Mv traffic, where M is an integer greater than zero.
- 30. The circuit of claim 25 wherein said circuit is further adapted to map each portion of data received from the virtually concatenated channels to a time-slot associated with STS-3c traffic to form STS-3c-Mv traffic, where M is an integer greater than zero.
- 31. The circuit of claim 25 wherein said circuit is further adapted to map a first portion of data received from the virtually concatenated channels to a number of time-slots associated with STS-1 traffic to form STS-1-Mv traffic and further to map a second portion of data received from the virtually concatenated channels to a second number of time-slot associated with STS-3c traffic to form STS-3c-Ov traffic, wherein M and O each is an integer greater than zero.
- 32. The circuit of claim 30 wherein each payload segment is 32 bits.
- 33. The circuit of claim 20 further comprising:
a 3-bit row counter adapted to extract each MFI.
- 34. The circuit of claim 20 further comprising:
an incrementer further adapted to pre-increment each accumulated MFI and to confirm each pre-incremented MFI.
- 35. The circuit of claim 20 wherein said circuit is further adapted to extract a multi-frame indicator in parallel for a number of streams each carrying payload segments of the SPE.
- 36. The circuit of claim 25 further comprising:
a sequence RAM adapted to store an expected sequence number associated with each time-slot; and a virtual channel number RAM adapted to store a virtual channel number associated with each of the virtually concatenated channels; wherein each of the first and second RAMs are doubled buffered to enable hitless provisioning.
- 37. The circuit of claim 20 wherein the write pointer is adjusted relative to its previous position to overcome aliasing.
- 38. The circuit of claim 20, wherein the circuit is further adapted to store one MFI for each time-slot to synchronize all time-slots associated with the same channel.
CROSS-REFERENCES TO RELATED APPLICATIONS
[0001] The present application claims priority from the U.S. provisional patent application, serial No. 60/316,375, filed Aug. 30, 2001 and entitled “RECEIVE VIRTUAL CONCATENATION PROCESSOR”, the content of which is herein incorporated by reference in its entirety.
[0002] The present application is also related to the following U.S. patent applications, the contents of each of which is herein incorporated by reference in its entirety:
[0003] U.S. patent application Ser. No. 09/943,386, attorney docket no. 016491-004000US, filed Aug. 30, 2001, and entitled “TRANSMIT VIRTUAL CONCATENATION PROCESSOR”,
[0004] U.S. patent application Ser. No. 10/126,466, filed Apr. 19, 2002, and entitled “DATA STREAM PERMUTATION APPLICABLE TO LARGE DIMENSIONS”.
[0005] The present application is also related to copending application serial number ______, entitled “RECEIVE VIRTUAL CONCATENATION PROCESSOR”, filed contemporaneously herewith, attorney docket no. 016491-004110US, and copending application Ser. No. ______, entitled “DATA FORMAT CONVERSION FOR VIRTUAL CONCATENATION PROCESSING”, filed contemporaneously herewith, attorney docket no. 016491-004120US, both assigned to the same assignee, and both incorporated herein by reference in their entirety.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60316375 |
Aug 2001 |
US |