1. Field of the Invention
The invention generally relates to communication in computer systems. More specifically the invention relates to a system having increased Peripheral Component Interconnect Express (PCIe) bandwidth.
2. Description of the Related Art
In some computer systems, a chipset communicates with one or more endpoint devices through a PCIe link.
System controller 110 includes PCIe interface 114 that is used to communicate with endpoint device 102, and endpoint device 102 includes a PCIe interface 116 that is used to communicate with system controller 110. PCIe interface 114 and PCIe interface 116 are connected to each other through a PCIe link, i.e., a plurality of PCIe lanes, typically 16. Endpoint device 102 communicates with CPU 106 and system memory 108 through system controller 110. Endpoint device 102 communicates with I/O devices connected to I/O controller 112 through system controller 110 and I/O controller 112. I/O controller 112 includes a plurality of expansion PCIe interfaces that are used for communication with I/O devices. Three of the expansion PCIe interfaces of I/O controller 112 are shown in
In the prior art computer system 100 described above, the PCIe bandwidth available to endpoint device 102 is limited. For graphics applications that employ turbo cache technology, where part of the frame buffer resides in system memory 108, PCIe bandwidth available to endpoint device 102 is becoming the bottleneck. Optimizing the bus utilization of the PCIe link can increase the PCIe bus throughput efficiency, but the efficiency can be increased only up to a certain limit.
There is therefore, a need for a system that can increase the PCIe bandwidth available to a PCIe endpoint device.
An aspect of the invention is to provide a computer system that increases the PCIe bandwidth available to an endpoint device. Another aspect of the invention is to provide an endpoint device for a computer system that is configured to use the increased PCIe bandwidth. Still another aspect of the invention is to provide a method of communication in a computer system that increases the PCIe bandwidth available to an endpoint device.
According to an embodiment of the invention, a computer system includes first and second controllers and an endpoint device that is connected to the first and second controllers respectively through first and second PCIe links. The endpoint device has a pair of PCIe interfaces, one of which provides the connection to the first PCIe link and the other of which provides the connection to the second PCIe link. Further, the first controller includes a PCIe interface that provides the connection to the first PCIe link, and the second controller includes a PCIe interface that provides the connection to the second PCIe link. With this configuration, the PCIe bandwidth available to the endpoint device is increased in proportion to the amount of PCIe lanes that are provided with the second PCIe link.
According to another embodiment of the invention, a method for communicating between the endpoint device and the first and second controllers includes the steps of sending a first read request to the first controller over a first PCIe link and a second read request to the second controller over a second PCIe link, and receiving read completion packets in response to the first read request and the second read request. When a read request is split up and issued as multiple read requests over multiple PCIe links, the multiple read completion packets that are received in response thereto are ordered in accordance with the timing of the multiple read requests.
The accompanying figures, where like reference numerals refer to identical or functionally similar elements throughout the separate views and which together with the detailed description below are incorporated in and form part of the specification, serve to further illustrate various embodiments and to explain various principles and advantages all in accordance with the invention:
Various embodiments of the invention provide methods and systems for communication in a computer system that employs PCI Express (PCIe) links. The PCI Express Base Specification, Version 1.0a dated Apr. 15, 2003 and Revision 1.1 dated Mar. 28, 2005, which provides a detailed description of the PCIe standard, is incorporated by reference herein.
System controller 206 communicates with endpoint device 220 through PCIe interface 210. PCIe interface 210 is directly connected to PCIe interface 222 of endpoint device 220 through a PCIe link. In the embodiment of the invention illustrated herein, the PCIe link is a 16-lane PCIe link, and PCIe interface 210 and PCIe interface 222 are 16-lane PCIe interfaces. I/O controller 208 communicates with endpoint device 220 through PCIe interface 212, which is one of the expansion PCIe interfaces of I/O controller 208. The expansion PCIe interfaces of I/O controller 208 (illustrated in
In the computer system illustrated in
While the invention has been described in conjunction with specific embodiments thereof, additional advantages and modifications will readily occur to those skilled in the art. The invention, in its broader aspects, is therefore not limited to the specific details, representative apparatus, and illustrative examples shown and described. Various alterations, modifications and variations will be apparent to those skilled in the art in light of the foregoing description. Thus, it should be understood that the invention is not limited by the foregoing description, but embraces all such alterations, modifications and variations in accordance with the spirit and scope of the appended claims.
Number | Name | Date | Kind |
---|---|---|---|
5394515 | Lentz et al. | Feb 1995 | A |
6148357 | Gulick et al. | Nov 2000 | A |
7222199 | Jolly et al. | May 2007 | B2 |
20040193757 | Creta et al. | Sep 2004 | A1 |
20040210678 | Pettey et al. | Oct 2004 | A1 |
20050088445 | Gonzalez et al. | Apr 2005 | A1 |
20050132118 | Chen et al. | Jun 2005 | A1 |
20050134593 | Janus et al. | Jun 2005 | A1 |
20060098016 | Chou et al. | May 2006 | A1 |
20060190663 | Lu | Aug 2006 | A1 |
20060232590 | Bakalash et al. | Oct 2006 | A1 |
20070294454 | Danilak | Dec 2007 | A1 |