Claims
- 1. A switch fabric with a dual port memory emulation scheme, the switch fabric comprising:
an input; and a memory coupled to the input including a first memory unit and a second memory unit, characterized in that either the first memory unit or the second memory unit is selected for performing a first memory access operation on at least a portion of a first packet, the selection being based on the memory unit selected for performing a second memory access operation on at least a portion of a second packet.
- 2. The switch fabric of claim 1, wherein the first memory access operation is a write operation.
- 3. The switch fabric of claim 1, wherein the second memory access operation is a read operation.
- 4. The switch fabric of claim 1, wherein if the first memory unit is selected for performing the second memory access operation, the second memory unit is selected for performing the first memory access operation, and if the second memory unit is selected for performing the second memory access operation, the first memory unit is selected for performing the first memory access operation.
- 5. The switch fabric of claim 1 wherein each memory unit is a single port memory unit including a single data-in port, a single address port, and a single data-out port.
- 6. The switch fabric of claim 1 further comprising a buffer storing a previous reference to a memory location accessed for a previous first memory access operation.
- 7. The switch fabric of claim 6 characterized in that the first memory access operation stores the previous reference retrieved from the buffer.
- 8. The switch fabric of claim 7, wherein the previous reference is a NULL pointer.
- 9. The switch fabric of claim 6, wherein the buffer is updated with a reference to a memory location in the first or second memory unit selected for performing the first memory access operation.
- 10. The switch fabric of claim 1, wherein the first packet includes a plurality of first data words and the second packet includes a plurality of second data words, the first data words being selected according to a first order for the first memory access operation and the second data words being selected according to a second order for the second memory access operation.
- 11. The switch fabric of claim 10, wherein the first order operates on a data word associated with a start of the first packet prior to operating on a data word associated with an end of the first packet, and the second order operates on a data word associated with an end of the second packet prior to operating on a data word associated with a start of the second packet.
- 12. A switch fabric with a dual port memory emulation scheme, the switch fabric comprising:
a first single port memory including a single first input port, a single first address port, and a single first output port; and a second single port memory including a single second input port, a single second address port, and a single second output port, characterized in that if a second memory access operation is to be performed on the first single port memory, a first memory access operation is performed on the second single port memory, and if the second memory access operation is to be performed on the second single port memory, the first memory access operation is performed on the first single port memory.
- 13. The switch fabric of claim 12, wherein the first memory access operation is a write operation.
- 14. The switch fabric of claim 12, wherein the second memory access operation is a read operation.
- 15. The switch fabric of claim 12 wherein the first and second access operations are performed concurrently in a non-blocking manner.
- 16. A method for accessing a switch fabric having a memory with a first single port memory including a single first input port, a single first address port, and a single first output port, and a second single port memory including a single second input port, a single second address port, and a single second output port, the method comprising:
determining a memory address for a second memory access operation; if the memory address is associated with the first single port memory, performing a first memory access operation on the second single port memory; and if the memory address is associated with the second single port memory, performing the first memory access operation on the first single port memory.
- 17. The method of claim 16, wherein the first memory access operation is a write operation.
- 18. The method of claim 16, wherein the second memory access operation is a read operation.
- 19. The method of claim 16, wherein the first and second memory access operations are performed concurrently in a non-blocking manner.
- 20. The method of claim 16 further comprising maintaining in a buffer a previous reference to a memory location accessed during a previous first memory access operation.
- 21. The method of claim 20 further comprising retrieving the previous reference from the buffer and storing the previous reference retrieved from the buffer during the first memory access operation.
- 22. The method of claim 21, wherein the previous reference is a NULL pointer.
- 23. The method of claim 20 further comprising updating the buffer with a reference to a memory location in the first or second memory unit selected for performing the first memory access operation.
- 24. The method of claim 16, wherein the first memory access operation is performed on a first packet including a plurality of first data words and the second memory access operation is performed on a second packet including a plurality of second data words, the method further comprising selecting the first data words according to a first order for the first memory access operation and selecting the second data words according to a second order for the second memory access operation.
- 25. The method of claim 24, wherein the first order operates on a data word associated with a start of the first packet prior to operating on a data word associated with an end of the first packet, and the second order operates on a data word associated with an end of the second packet prior to operating on a data word associated with a start of the second packet.
- 26. A method for storing and retrieving packets from a switch fabric having a memory with a first memory unit and a second memory unit, the method comprising:
receiving an inbound packet; retrieving a first reference to an available memory location in the first memory unit; retrieving a second reference to an available memory location in the second memory unit; selecting either the first reference or the second reference, the selection being based on the memory unit selected for performing a read action of a stored packet; and writing at least a portion of the inbound packet in the memory location referred to by the selected reference.
CROSS-REFERENCE TO RELATED APPLICATION(S)
[0001] This application claims the benefit of U.S. provisional application No. 60/306,174, filed on Jul. 17, 2001, the content of which is incorporated herein by reference.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60306174 |
Jul 2001 |
US |