Claims
- 1. An information handling device, comprising:
a) an input port coupled to an external data bus to receive and buffer a data packet; b) a data manipulation device comprising:
1) a first data path controller coupled to the input port to receive a first portion of the data packet; and 2) a second data path controller coupled to the input port to concurrently receive a second portion of the data packet; and c) a memory coupled to the data manipulation device to concurrently receive and store therein the first portion of the data packet from the first data path controller and the second portion of the data packet from the second data path controller.
- 2. The information handling device of claim 1, wherein the first data path controller is implemented in a first integrated circuit and the second data path controller is implemented in a second, separate integrated circuit.
- 3. A method for processing data packets in a memory of a information handling device, comprising the steps of:
a) receiving a data packet at an input port of the information handling device; b) splitting the data packet into at least a first and second portion; c) transferring the first portion of the data packet on a first receive data path in the information handling device; d) transferring the second portion of the data packet on a second receive data path in the information handling device; e) receiving the first portion of the data packet at a first data path controller coupled to the first receive data path concurrently with receiving the second portion of the data packet at a second data path controller coupled to the second receive data path; and f) subsequently transferring the first portion and the second portion of the data packet concurrently to the memory via a data path.
- 4. The method of claim 3, further comprising the steps of:
g) subsequently transferring the first portion and the second portion of the data packet from the memory via the data path; h) receiving via the data path the first portion of the data packet at the first data path controller concurrently with receiving via the data path the second portion of the data packet at the second data path controller; i) transmitting the first portion of the data packet on a first transmit data path to an output port coupled to the first transmit data path; j) transmitting the second portion of the data packet on a second transmit data path to the output port coupled to the second transmit data path; k) combining the first and second portions of the data packet at the output port; and l) transmitting the data packet from the output port of the information handling device.
- 5. A packet switch comprising:
a) an interface coupled to a medium to receive a data packet therefrom; b) a data manipulation device coupled to the interface via an m-bit wide data path, the data manipulation device comprising a number of data path controllers each coupled to a separate n-bit wide portion of the m-bit wide data path to receive n bits of the data packet, wherein n times the number of data path controllers equals m, the data path controllers each comprising a buffer to hold x bits of the data packet, wherein x is a multiple of n; and c) a memory coupled to the data manipulation device via ay-bit wide data path, the data path controllers each coupled to a separate x-bit wide portion of the y-bit wide data path to concurrently transmit x bits of the data packet to the memory.
- 6. The packet switch of claim 5, wherein the number of data path controllers is implemented in at least two separate integrated circuits.
- 7. The packet switch of claim 5, wherein the number of data path controllers is eight.
- 8. The packet switch of claim 7, wherein the eight data path controllers are implemented in two integrated circuits, four data path controllers to each integrated circuit.
- 9. The packet switch of claim 7, wherein the eight data path controllers are implemented in four integrated circuits, two data path controllers to each integrated circuit.
- 10. The packet switch of claim 7, wherein the eight data path controllers are implemented in eight integrated circuits, one data path controller to each integrated circuit.
- 11. The packet switch of claim 5, wherein the y-bit wide data path is twice the width of the m-bit wide data path.
- 12. In a packet switch, a method of receiving a data packet from a communications medium coupled thereto, comprising the steps of:
a) receiving the data packet at an interface coupled to the communications medium; b) transmitting m bits of the data packet at a time over an m-bit wide data path; c) routing separate n-bit portions of the m bits via p n-bit wide data paths coupled to the m-bit wide data path, wherein m divided by n equals p; d) buffering x bits at each n-bit wide data path, where x is a multiple of n; and e) concurrently forwarding y bits from the p n-bit wide data paths, where y equals x times p.
- 13. A data path architecture for receiving a data packet in a memory of packet switching device, comprising:
a) a first input port coupled to a first external data bus to receive a first data packet therefrom; b) a second input port coupled to a second external data bus to receive a second data packet therefrom; and c) a data manipulation device, comprising:
1) a first buffer coupled to the first input port to receive and hold a first portion of the first data packet; 2) a second buffer coupled to the first input port to receive and hold a second portion of the first data packet; 3) a third buffer coupled to the second input port to receive and hold a first portion of the second data packet; 4) a fourth buffer coupled to the second input port to receive and hold a second portion of the second data packet; and 5) a selector coupled to the first, second, third and fourth buffers to first select the first and second portions of the first data packet from the first and second buffers for concurrent transfer to the memory and subsequently select the first and second portions of the second data packet from the third and fourth buffers for concurrent transfer to the memory.
- 14. The data path architecture of claim 13, wherein a first data path controller comprises the first and third buffers and a second data path controller comprises the second and fourth buffers.
- 15. The data path architecture of claim 14, wherein the first and second data path controllers are implemented in separate integrated circuits.
- 16. A method for transferring a data packet from a communications medium to a memory of a packet switching device coupled to the communications medium, comprising the steps of:
a) receiving a first data packet at a first input port coupled to a first communications medium; b) receiving a second data packet at a second input port coupled to a second communications medium; c) receiving and holding a first portion of the first data packet in a first buffer; d) receiving and holding a first portion of the second data packet in a second buffer; e) receiving and holding a second portion of the first data packet in a third buffer; f) receiving and holding a second portion of the second data packet in a fourth buffer; g) selecting the first and second portions of the first data packet for transfer to the memory; h) concurrently transferring the first and second portions of the first data packet from the first and third buffers to memory; i) subsequently selecting the first and second portions of the second data packet for transfer to the memory; and j) concurrently transferring the first and second portions of the second data packet from the second and fourth buffers to memory.
- 17. A data packet switching device having a central shared memory, comprising:
a) a number of medium access controllers each coupled to a separate and like number of communications media to exchange data packets therewith; b) a controller coupled to each medium access controller via a data path to exchange data packets therewith, the controller comprising a number of data path controllers each coupled to each of the number of medium access controllers via a separate and like portion of the data path to exchange a corresponding portion of the data packets therewith, the data path controllers each comprising:
1) a number of buffers each coupled to one of the medium access controllers to which the data path controller is coupled, each to hold the portion of the data packets exchanged with the corresponding medium access controller; and 2) a selector that selects the buffer from which to transmit or receive the portion of the data packets with the central shared memory; and c) control logic that controls the selector in each data path controller to concurrently select the buffer corresponding to the same medium access controller.
Parent Case Info
[0001] This application claims the benefit of U.S. Provisional Application No. 60/057,402, filed Aug. 29, 1997.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60057402 |
Aug 1997 |
US |
Continuations (1)
|
Number |
Date |
Country |
Parent |
09016017 |
Jan 1998 |
US |
Child |
09952274 |
Sep 2001 |
US |