Claims
- 1. A switch for transmitting data from a plurality of external input links to a plurality of external output links, the switch comprising:
a plurality of inputs receiving data from external input links; a plurality of outputs transmitting data to external output links; a plurality of intermediate storage units coupled to each of the plurality of inputs, each intermediate storage unit storing input data from an input and providing an interface between the input and a subset of the plurality of outputs; and programmable selection storage enabling the transfer of selected data from the intermediate storage units to the plurality of outputs.
- 2. The switch of claim 1, wherein the subset of outputs comprises plural outputs.
- 3. The switch of claim 1, wherein each intermediate storage unit comprises P read ports and R/P intermediate storage units coupled to each input.
- 4. The switch of claim 3, wherein P is equal to eight (8) ports.
- 5. The switch of claim 1, wherein each intermediate storage unit comprises 2N locations and N is the number of multiplexing intervals in a multiplexing cycle.
- 6. The switch of claim 5, wherein N is equal to forty-eight (48) multiplexing intervals.
- 7. The switch of claim 5, wherein:
a first portion of the 2N locations store a current column from an N STS-1 frame; and a second portion of the 2N locations store a previous column from an N STS-1 frame.
- 8. The switch of claim 1, wherein the selection storage provides an address signal to select data from an intermediate storage unit and an enable signal to enable an output from one of plural intermediate storage units coupled to different inputs.
- 9. The switch of claim 1, wherein the selection storage comprises selection storage units, each of the selection storage units being associated with an output.
- 10. The switch of claim 1, wherein the plurality of intermediate storage units are demultiplexing register files.
- 11. The switch of claim 1, wherein each intermediate storage unit comprises N locations and N is the number of multiplexing intervals in a multiplexing cycle.
- 12. The switch of claim 11, wherein N is equal to forty-eight (48) multiplexing intervals.
- 13. The switch of claim 11, further comprising:
delay memory being coupled to each output, which reads from the delay memory when the output reads current data from the selected intermediate storage unit.
- 14. The switch of claim 13, wherein the output reads directly from the selected intermediate storage unit when the output reads previous data from the selected intermediate storage unit.
- 15. The switch of claim 11, wherein each output comprises an output processor, the output processor overwriting all of the subframes of a first column of a frame with a fixed value.
- 16. The switch of claim 1, wherein an intermediate storage unit comprises:
a cell array comprising at least N locations for storing data from an input timeslot; and a write select coupled to the cell array for enabling a location in the cell array to be written with data from one of the input time slots.
- 17. The switch of claim 16, wherein the intermediate storage unit further comprises:
a plurality of read decoders coupled to the cell array, each read decoder coupled to a selection storage unit; and each read decoder receiving an address signal from the selection storage unit and selecting data from a location in the cell array with the address signal for reading to an output.
- 18. The switch of claim 17, wherein the intermediate storage unit further comprises:
a comparator; the comparator receiving an enable signal from the selection storage unit and comparing the enable signal to an input port identifier, the comparator enabling the selected data from the cell array onto the output if the enable signal matches the input port identifier.
- 19. The switch of claim 16, wherein the cell array comprises:
a read circuit; at least one storage cell; and at least one write circuit; the write circuit transferring data from an input into the storage cell, the read circuit driving the value in the storage cell onto an output.
- 20. The switch of claim 19, wherein:
the cell array comprises two or more storage cells, the read circuit being shared across the two or more storage cells.
- 21. The switch of claim 20, wherein the read circuit is driven by a multiplexer, the multiplexer selecting a storage cell from the two or more storage cells having a value to be read onto an output.
- 22. The switch of claim 20, further comprises:
a write select circuit; and the cell array further comprising two or more write circuits; the write select circuit enabling the two or more write circuits to write in succession.
- 23. The switch of claim 20, wherein the two or more storage cells comprise:
a master storage cell; a slave storage cell; the at least one write circuit writing data into the master storage cell, the master storage cell transferring the data into the slave storage cell, the data being read from the slave storage cell by the read circuit.
- 24. The switch of claim 1, wherein each read port of the intermediate storage unit is coupled to plural outputs, which are enabled successively.
- 25. The switch of claim 24, wherein two or more outputs are coupled to each of the read ports of an intermediate storage unit.
- 26. The switch of claim 25, wherein the intermediate storage unit is read from the two or more outputs within a single clock cycle, reducing the number of intermediate storage units per input.
- 27. The switch of claim 13, wherein:
each of the plurality of inputs comprises an input processor; and each of the plurality of outputs comprises an output processor; the input processor writing columns of an input frame to intermediate storage units coupled to the input; the output processor reading a column for an output frame from intermediate storage units or delay memory, which are coupled to the output; the plurality of intermediate storage units operate at a frequency higher than the frequency of the input processor and the output processor.
- 28. The switch of claim 27, wherein the intermediate storage units operate at a frequency that is C+1/C times the frequency of the input processors and the output processors, where C is the number of column intervals in a frame.
- 29. The switch of claim 27, wherein the intermediate storage units operate at a frequency such that the intermediate storage units have C+1 columns during a frame period while the input processors and the output processors have C columns during the same frame period.
- 30. The switch of claim 28, wherein C is equal to 810 columns.
- 31. The switch of claim 28, wherein no data is input to the intermediate storage unit during the C+1st column of a frame and no data is output to the output processors during the first column of a frame.
- 32. The switch of claim 27, wherein an input FIFO is coupled between the input processor and the intermediate storage unit and an output FIFO is coupled between the intermediate storage unit and the output processor.
- 33. A method for transmitting data from a plurality of external input links to a plurality of external output links, comprising:
receiving data from external input links to a plurality of inputs; transmitting data to external output links from a plurality of inputs; coupling a plurality of intermediate storage units to each of the plurality of inputs, each of the plurality of intermediate storage units providing an interface between the input and a subset of the plurality of outputs; storing input data from an input in each intermediate storage unit; and enabling the transfer of selected data from the intermediate storage units to the plurality of outputs.
- 34. The method of claim 33, wherein the subset of outputs comprises plural outputs.
- 35. The method of claim 33, further comprising:
providing each intermediate storage unit with P read ports; and coupling R/P intermediate storage units to each input.
- 36. The method of claim 35, wherein P is equal to eight (8) ports.
- 37. The method of claim 33, further comprising:
providing 2N locations in each intermediate storage unit; and N is the number of multiplexing intervals in a multiplexing cycle.
- 38. The method of claim 37, wherein N is equal to forty-eight (48) multiplexing intervals.
- 39. The method of claim 37, further comprising:
storing a current column from an N STS-1 frame in a first portion of the 2N locations; and storing a previous column from an N STS-1 frame in a second portion of the 2N locations.
- 40. The method of claim 33, wherein the enabling the transfer of selected data further comprises:
providing an address signal to select data from an intermediate storage unit; and providing an enable signal to enable an output from one of plural intermediate storage units coupled to different inputs.
- 41. The method of claim 33, further comprising:
providing a plurality of selection storage units for enabling the transfer of selected data from the intermediate storage units to the plurality of outputs; and associating each of the plurality of selection storage units with an output.
- 42. The method of claim 33, wherein the plurality of intermediate storage units are demultiplexing register files.
- 43. The method of claim 33, further comprising:
providing N locations in each intermediate storage unit; and N is the number of multiplexing intervals in a multiplexing cycle.
- 44. The method of claim 43, wherein N is equal to forty-eight (48) multiplexing intervals.
- 45. The method of claim 43, further comprising:
coupling delay memory to each output; and reading from the delay memory when an output reads current data from a selected intermediate storage unit.
- 46. The method of claim 45, further comprising:
reading directly from the selected intermediate storage unit when the output reads previous data from the selected intermediate storage unit.
- 47. The method of claim 43, further comprising:
overwriting all of the subframes of a first column of a frame with a fixed value.
- 48. The method of claim 33, further comprising:
providing a cell array for each intermediate storage unit comprising at least N locations for storing data from an input timeslot; and enabling a location in the cell array to be written with data from one of the input time slots with a write select coupled to the cell array.
- 49. The method of claim 48, further comprising:
coupling a plurality of read decoders to the cell array; coupling each of the plurality of read decoders to a selection storage unit; transmitting an address signal from a selection storage unit to a read decoder; and selecting data from a location in the cell array with the address signal for reading to an output with the read decoder.
- 50. The method of claim 49, further comprising:
providing a comparator to each intermediate storage unit; transmitting an enable signal from the selection storage unit to the comparator; comparing the enable signal to an input port identifier with the comparator; and enabling the selected data from the cell array onto the output with the comparator if the enable signal matches the input port identifier.
- 51. The method of claim 48, further comprising:
providing the cell array with a read circuit; providing the cell array with at least one storage cell; providing the cell array with at least one write circuit; transferring data from an input into the storage cell with the at least one write circuit; and driving the value in the storage cell onto an output with the read circuit.
- 52. The method of claim 51, wherein the cell array comprises two or more storage cells, the method further comprising:
sharing the read circuit across the two or more storage cells.
- 53. The method of claim 52, further comprising:
driving the read circuit with a multiplexer by selecting a storage cell from the two or more storage cells having a value to be read onto an output.
- 54. The method of claim 52, wherein the cell array comprises two or more write circuits, the method further comprising:
coupling a write select circuit to the cell array; enabling the two or more write circuits to write in succession with the write select circuit.
- 55. The method of claim 52, further comprising:
providing the two or more storage cells with a master storage cell and a slave storage cell; writing data into the master storage cell with the at least one write circuit; transferring the data from the master storage cell into the slave storage cell; and reading the data from the slave storage cell by the read circuit.
- 56. The method of claim 33, further comprising:
coupling each read port of the intermediate storage unit to plural outputs; and enabling each of the plural outputs coupled to the read port successively.
- 57. The method of claim 56, wherein two or more outputs are coupled to each read port of the intermediate storage unit.
- 58. The method of claim 57, further comprising:
reading the intermediate storage unit from the two or more outputs within a single clock cycle, reducing the number of intermediate storage units per input.
- 59. The method of claim 45, further comprising:
providing each of the plurality of inputs with an input processor; providing each of the plurality of outputs with an output processor; and writing columns of an input frame to intermediate storage units coupled to the input with the input processor; reading a column for an output frame from intermediate storage units or delay memory, which are coupled to the output with the output processor; and operating the plurality of intermediate storage units at a frequency higher than the frequency of the input processor and the output processor.
- 60. The method of claim 59, wherein the intermediate storage units operate at a frequency that is C+1/C times the frequency of the input processors and the output processors, where C is the number of column intervals in a frame.
- 61. The method of claim 59, wherein the intermediate storage units operate at a frequency such that the intermediate storage units have C+1 columns during a frame period while the input processors and the output processors have C columns during the same frame period.
- 62. The method of claim 60, wherein C is equal to 810 columns.
- 63. The method of claim 60, further comprising:
inputting no data to the intermediate storage unit during the C+1st column of a frame; and outputting no data to the output processors during the first column of a frame.
- 64. The method of claim 59, further comprising:
coupling an input FIFO between the input processor and the intermediate storage unit; and coupling an output FIFO between the intermediate storage unit and the output processor.
- 65. A switch for transmitting data from a plurality of external input links to a plurality of external output links, the switch comprising:
a plurality of inputs receiving data from external input links; a plurality of outputs transmitting data to external output links; a plurality of means for storing input data from an input and for providing an interface between the input and a subset of the plurality of outputs; and means for enabling the transfer of selected data from the intermediate storage units to the plurality of outputs.
RELATED APPLICATION
[0001] This application claims the benefit of U.S. Provisional Application No. 60/287,252, filed on Apr. 27, 2001. The entire teachings of the above application are incorporated herein by reference.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60287252 |
Apr 2001 |
US |