The present invention relates to bifurcate space switches and is particularly concerned with those having very high speed buffers.
Peripheral Component Interconnect Express, PCIe 2.0 specifies 5.0 Gigbit/s symbol rate per lane. Multiple lanes can be used to fabricate larger port bandwidths. For example, a x4 port would have an aggregate symbol rate of 20B, and a bit rate of 16F, if 8b10b coding is used. A x8 port would have an aggregate symbol rate of 40G, and a bit rate of 32G. There are other serial interconnect protocols, for example serial rapid IO that have similar properties. This disclosure will focus on PCIe, but is not limited to that protocol.
In certain serial protocols (PCIe, SRIO, for example), a port can bifurcate. What this means is that a x8 port may split into two x4 ports. An example of a typical implementation of how this is achieved is shown in
Referring to
An object of the present invention is to provide an improved bifurcate buffer.
In accordance with an aspect of the present invention there is provided a bifurcate space switch comprising a space switch comprising a plurality n of buffers; a media access controller having data outputs coupled to the buffers, and a plurality of control outputs coupled to respective buffers for buffering input data at a clock rate one-nth that of the input data; and a switch fabric connected to the plurality of n buffers for matching buffer data throughput with switch data throughput.
In accordance with another aspect of the present invention there is provided a bifurcate space switch comprising a bifurcate space switch comprising a plurality of serial inputs; a plurality of de-serializers, each coupled to a respective input; two buffers; a media access controller having inputs coupled to the plurality of de-serializers, data outputs coupled to the buffers, and two control outputs coupled to respective buffers for buffering input data at a clock rate one-half that of the input data; and a switch fabric connected to the buffers for matching buffer data throughput with switch data throughput.
In accordance with a further aspect of the present invention there is provided a bifurcate space switch comprising a plurality of serial inputs; a plurality of de-serializers, each coupled to a respective input; two buffers; two media access controllers each having inputs coupled to one-half the plurality of de-serializers, data outputs coupled to the buffers, and a control output coupled to respective buffers for buffering input data at a clock rate one-half that of the input data; and a switch fabric connected to the buffers for matching buffer data throughput with switch data throughput.
By matching buffer throughput and switch fabric throughput a more effective use of buffers and fabric bandwidth is made.
The present invention will be further understood from the following detailed description with reference to the drawings in which:
Referring to
In operation, the data is written into two-x64 250 MHz dual port RAM 44 and 46. The memory management of the MAC 42 generates different addresses for each bank. In the configuration shown, the 1x8 port 40 is connected to the ISF 50 in such a way as to ensure that the external bandwidth and ISF bandwidth are the same, and that both buffers 44 and 46 are used.
Referring to
In operation, the upper x8 MAC 42 is configured to run in x4 mode. Here each buffer 44 and 46 is managed by its respective MAC 42 and 54. Again note that both buffers are used and the ISF bandwidth equals the port bandwidth.
Herein above, the port connection to the ISF 50 has been described. Now the operation of the ISF 50 is described. The problem now is how ports of different sizes connect to each other, and in such a way as to use the full ISF bandwidth. For example, a x8 port could talk to a x4 port at ½ the bandwidth, but that would waste bandwidth. The requirement is that a x8 port can send to two different x4 ports at the same time, and that two x4 ports can send to a x8 port at the same time. The principle behind this concept is that the ISF connections are time division multiplexed (TDM). There are two phases of the configuration (and thus the data path connectivity). There would be 4 phases to support quad-furcation, not described here.
In general, serial protocols transmit packets of varying length. The packet length is characterized as min, max and in certain quantized steps. In general a minimum size packet may take only one or two clock ticks to transverse the ISF, and maximum sized packets take many. For example, PCIe, can have a payload of 0-2 Kbytes, in DWORD increments, plus header. With a PCIe 5 G x8 port, switching 16 bytes per tick, it would take up to 128 ticks for the payload, and two ticks for the header. Once a packet starts transmitting from ingress to egress port the connection is held until the packet is completed. This significantly simplifies the egress and ingress buffer design, no need for segmentation and reassembly. This is not a requirement but is accepted as the simplest implementation.
Referring to
Referring to
Referring to
The preceding, examples describes a x8 5 Gig PICe port that can bifurcate to 2x4 5 Gig PCIe ports. The present embodiment can be adapted to other speeds, port segmentations for example quad-furcation, and protocols, to provide the benefit there from.
Numerous modifications, variations and adaptations may be made to the particular embodiments described above without departing from the scope patent disclosure, which is defined in the claims.
This application claims the benefit of U.S. Provisional Patent Application No. 60/870,866, filed on Dec. 20, 2006 by the same inventor, which is incorporated herein by reference in its entirety.
Number | Name | Date | Kind |
---|---|---|---|
5905726 | Gupta | May 1999 | A |
6763030 | Regev et al. | Jul 2004 | B1 |
7016377 | Chun et al. | Mar 2006 | B1 |
20030061528 | Blake et al. | Mar 2003 | A1 |
20040028164 | Jiang et al. | Feb 2004 | A1 |
20040037329 | Hein et al. | Feb 2004 | A1 |
20050063307 | Samuels et al. | Mar 2005 | A1 |
20050135398 | Muthukrishnan et al. | Jun 2005 | A1 |
20070058632 | Back et al. | Mar 2007 | A1 |
20070171754 | Nam et al. | Jul 2007 | A1 |
20070268931 | Shaikli | Nov 2007 | A1 |
20080052431 | Freking et al. | Feb 2008 | A1 |
20080151753 | Wynne | Jun 2008 | A1 |
Entry |
---|
Grant Wheeler/Ryan Haraden, Conversion of PCI-X ASIC to PCI Express 1.1, 2005 Conference, Published to the Internet Oct. 13, 2007—http://www.pcisig.com/developers/main/training—materials, pp. 20-21. |
Number | Date | Country | |
---|---|---|---|
20080205424 A1 | Aug 2008 | US |
Number | Date | Country | |
---|---|---|---|
60870866 | Dec 2006 | US |