The field of the present invention pertains to electronic integrated circuits, and more particularly to configurable PCI-Express switches.
Until recently, computer systems have primarily utilized single-ended buses and interfaces. Single-ended signaling involves varying voltage with respect to a reference voltage, which is sometimes referred to as “ground,” to signal a logical “1” or “0.” When running multiple signals with respect to the same ground, single-ended signaling provides a cost-effective solution as it only requires one wire per signal.
Despite being less expensive to integrate, there are downsides to single-ended signaling that limit its performance potential. For example, multiple signals sharing the same ground path can lead to crosstalk. Also, differences between ground path and signal path length, coupled with the higher current in the ground path due to signal return-current sharing, can lead to ground potential variations throughout the system. These variations in the reference potential then translate into signaling errors given that the signal potential does not similarly vary with the ground potential. And given that the signal and ground paths do not run in the same proximity to one another, noise injected on the signal path is not similarly injected on the ground path, making single-ended signaling more susceptible to noise. Consequently, in order to maintain a sufficient signal-to-noise ratio, the signal voltages must remain relatively high. High signal voltages require higher transmission power, ultimately limiting transmission distance. And even more importantly, the higher rise and fall times of the higher signal voltages limit interface speed and bandwidth. Given these disadvantages, the computer industry is slowly moving toward differential signaling.
Differential signaling involves the use of two equal-length wires or traces, where each wire carries a mirror of the signal on the other wire. Subtraction of these signals is used to signal a logical “1” or “0.” Since each pair of wires or traces uses its own return path, crosstalk among signals is minimized. Also, equal-length signal paths minimize relative potential differences, providing more consistent readings as path length is varied. Finally, the two wires or traces can be run close to one another, thereby allowing common-mode noise to be cancelled when the signals are subtracted. Given that differential signaling is less susceptible to noise, lower voltages can be used to save transmitting power and allow the use of longer paths or traces. Also, the lower voltages allow higher interface speed and bandwidth given the smaller rise and fall times of the signal.
Having acknowledged the advantages of differential signaling, the computer industry is beginning to shift from single-ended interfaces to differential interfaces. For example, while the latest single-ended PCI interface (e.g., PCI-X 533) offers a theoretical bandwidth of 4.3 GB/s, the sustained bandwidth has shown to be much more modest. Moreover, the speed (e.g., 533 MHz for PCI-X 533) and additional hardware (e.g., almost twice as many pins used in the 64-bit PCI-X interfaces compared to the 32-bit PCI interfaces) used in the PCI-X interface makes it very costly to implement. As such, although PCI and PCI-X were adequate for some time, the need for increased performance at a lower cost has spurred the transition to the latest, full-duplex PCI-Express interface that enables bandwidths up to 8 GB/s in a ×16 configuration. And in the future, higher speeds and wider configurations will offer even more bandwidth to accommodate expected computing needs.
However, the transition to differential signaling will not occur immediately, thereby requiring video card manufacturers to implement backward compatibility with single-ended peripherals. For example, manufacturers of video cards generally agree that differential frame buffer memory offers significant performance improvements over single-ended frame buffer memory, but realize that a market still exists for products with single-ended frame buffer memory since the transition to differential I/O is in its early stages. Thus, manufacturers desiring to capture both markets are forced to make separate video cards, with one line incorporating single-ended frame buffer memory and another line incorporating differential frame buffer memory. Additionally, if the manufacturer wants to offer products with different amounts of frame buffer memory to satisfy varying performance needs, the manufacturer must make additional products in each line. As such, it becomes extremely costly for a manufacturer to research, design, manufacture, and market a multitude of products to satisfy the demands of each market.
Thus, a need exists for a differential interface for frame buffer memory that does not significantly increase the cost or complexity of the products comprising or utilizing the interface. Also, a need exists for a way to vary the amount of either differential or single-ended frame buffer memory, without requiring a separate product for each amount or type of frame buffer memory. Moreover, the solution to this need should not significantly increase the cost or complexity of the product. The present invention provides novel solutions to these requirements.
Embodiments of the present invention provide a system and method for digital communication with either differential or single-ended frame buffer memory, where the amount of frame buffer memory can be varied. And in contrast to prior art solutions, embodiments of the present invention provide these benefits without significantly increasing the cost or complexity of the interface.
In one embodiment, the present invention is implemented as a configurable PCI-Express switch. The configurable PCI-Express switch has both a differential I/O interface capable of being configured in a first or second configuration, and a switching unit for configuring the differential I/O interface in the first or second configuration. In the first configuration, the differential I/O interface implements a PCI-Express interface with a coupled device. In the second configuration, the differential I/O interface implements a differential interface other than PCI-Express with a coupled device. As such, the same interface may be reconfigured to communicate with a coupled device set up for PCI-Express or any other form of digital signaling (e.g., SATA, USB 2.0, or other differential signaling protocols).
In another embodiment of the present invention, the coupled device may be a detachable frame buffer memory. As such, an existing PCI-Express interface may be reconfigured to provide a differential interface for communication with frame buffer memory, thereby obviating the need for an additional interface. Thus, embodiments of the present invention represent significant cost savings without increasing the complexity of the products comprising and utilizing the interface.
In another embodiment of the present invention, an expansion interface device comprises a differential I/O interface, a plurality of memory devices, and a bus for coupling the differential I/O interface to the plurality of memory devices. The plurality of memory devices can be differential frame buffer memory. Alternatively, the plurality of memory devices can be single-ended frame buffer memory coupled to the differential I/O interface via a controller for converting the differential signal to a single-ended signal. Thus, embodiments of the present invention obviate the need to research, design, manufacture, and market a multitude of video cards with different amounts and types of frame buffer memory. As a result, the manufacturer can vary the amount of differential or single-ended frame buffer memory utilized by a single product, thereby saving the cost of producing many products without significantly increasing the complexity of the product.
The present invention is illustrated by way of example, and not by way of limitation, in the figures of the accompanying drawings and in which like reference numerals refer to similar elements.
Reference will now be made in detail to the preferred embodiments of the present invention, examples of which are illustrated in the accompanying drawings. While the invention will be described in conjunction with the preferred embodiments, it will be understood that they are not intended to limit the invention to these embodiments. On the contrary, the invention is intended to cover alternatives, modifications, and equivalents, which may be included within the spirit and scope of the invention as defined by the appended claims. Furthermore, in the following detailed description of embodiments of the present invention, numerous specific details are set forth in order to provide a thorough understanding of the present invention. However, it will be recognized by one of ordinary skill in the art that the present invention may be practiced without these specific details. In other instances, well-known methods, procedures, components, and circuits have not been described in detail as not to unnecessarily obscure aspects of the embodiments of the present invention.
Embodiments of the present invention provide a system and method for digital communication with either differential or single-ended frame buffer memory, where the amount of frame buffer memory can be varied. And in contrast to prior art solutions, embodiments of the present invention provide these benefits without significantly increasing the cost or complexity of the interface. Embodiments of the present invention and their benefits are further described below.
Notation and Nomenclature:
Some portions of the detailed descriptions that follow are presented in terms of procedures, steps, logic blocks, processing, and other symbolic representations of operations on data bits within a computer memory. These descriptions and representations are the means used by those skilled in the data processing arts to most effectively convey the substance of their work to others skilled in the art. A procedure, computer-executed step, logic block, process, etc., is here and generally conceived to be a self-consistent sequence of steps or instructions leading to a desired result. The steps are those requiring physical manipulations of physical quantities. Usually, though not necessarily, these quantities take the form of electrical or magnetic signals capable of being stored, transferred, combined, compared, and otherwise manipulated in a computer system. It has proven convenient at times, principally for reasons of common usage, to refer to these signals as bits, values, elements, symbols, characters, terms, numbers, or the like.
It should be borne in mind, however, that all of these and similar terms are to be associated with the appropriate physical quantities and are merely convenient labels applied to these quantities. Unless specifically stated otherwise as apparent from the following discussions of the present invention, it is appreciated that the use of terms such as “processing” or “accessing” or “executing” or “storing” or “rendering” or “implementing” or “selecting” or “configuring” or the like, refer to the actions and processes of a computer system (e.g., computer system 100 of
Computer System Platform:
In general, computer system 100 comprises at least one CPU 105 coupled to graphics processing unit (GPU) 110 and system memory 115 via one or more buses leading to core logic 120 as shown in
As shown in
In other embodiments, computer system 100 may be configured such that CPU 105, GPU 110, system memory 115, core logic 120, and configurable PCI-Express switch are all removably coupled to the same device or circuit card. In other embodiments, these elements may be more rigidly affixed to the device or circuit card by soldering or the like. And in other embodiments, the elements of computer system 100 shown in
Embodiments of the Invention
Switching unit 205 comprises hardware and software for configuring coupled interfaces. In one embodiment, switching unit 205 comprises a physical layer consisting of hardware and logical components for sending data, receiving data, and performing other functions requested by the data link layer. In another embodiment, switching unit 205 comprises a data link layer for encoding and decoding data, and performing flow control initialization, flow control updates, cyclic redundancy checks, transaction sequencing, or the like. And in another embodiment, switching unit 205 comprises a transaction layer for transferring data through the interfaces. In another embodiment, switching unit 205 comprises an application layer for configuration, control, and communication with the interface. And in another embodiment, switching unit 205 comprises a switch logic for activating, deactivating, and sending and receiving data through the different interfaces coupled to switching unit 205. Additionally, the switch logic is able to further configure and switch between or among any of these interfaces coupled by one or more buses within switching unit 205. Although
As shown in
In the first configuration shown in
Both send signal 320 and receive signal 325 shown in
Switching unit 405, similar to switching unit 205 of
Similar to differential I/O interface 210 of
In the second configuration shown in
Moreover, configurable PCI-Express switch 400 can configure or optimize non-PCI-Express bus 420 to a given coupled device. As such, embodiments of the present invention allow a specific, customized interface to be implemented for a specific coupled device. For example, in one embodiment of the present invention, the coupled device could identify itself to configurable PCI-Express switch 400 through a handshake mechanism involving specific communication features (e.g., packet size, signal timing, sample and hold times, cyclic redundancy checks, etc.). Upon mutual identification, the switch could configure non-PCI-Express bus 420 to implement differential signaling such that the coupled device can communicate with the core logic components through configurable PCI-Express switch 400. Thus, embodiments of the present invention couple the device to other components of the computer system, such as the CPU, GPU, system memory, or the like, such that the coupled device may communicate using differential communication other than PCI-Express. Additionally, non-PCI-Express bus 420 may comprise any number of differential signaling paths depending upon the bandwidth required for the given configuration, thereby providing flexibility and expandability for future demands.
In one embodiment, device 500 is adapted to couple to a configurable PCI-Express switch (e.g., configurable PCI-Express switch 200 shown in
Alternatively, in another embodiment, device 500 is adapted to couple to a configurable PCI-Express switch (e.g., configurable PCI-Express switch 400 shown in
It should be noted that depending upon the requirements of any specific application, device 500 can function as a differential frame buffer memory for storing image data to be rendered by a GPU, or alternatively as a more general-purpose memory for storing computer readable data for use by some component or device within the computer system other than a GPU. Additionally, it should be noted that the memory devices 520-550 can be detachably coupled to device 500 (e.g., DIMMs, etc.), or can be more permanently affixed to device 500 (e.g., soldered, etc.). Also, although
Device 600 of
However, unlike device 500, embodiments of device 600 include controller 660. Controller 660 provides an additional degree of flexibility in the formatting and translating of I/O data to and from memory devices 620-650.
As shown in
In the embodiment of the present invention shown in
In sum, embodiments of the present invention provide for digital communication with differential devices, single-ended devices, and the like, by utilizing existing PCI-Express interfaces and switches. Where the coupled devices are frame buffer memory, embodiments of the present invention allow video card manufacturers to implement dedicated frame buffer memory into an existing interface, and further, to vary the size of the frame buffer memory without producing multiple video cards. Consequently, embodiments of the present invention represent significant cost savings for computer component and system manufacturers without appreciably increasing the complexity of the components or systems.
Number | Name | Date | Kind |
---|---|---|---|
3940740 | Coontz | Feb 1976 | A |
4541075 | Dill et al. | Sep 1985 | A |
4773044 | Sfarti et al. | Sep 1988 | A |
4885703 | Deering | Dec 1989 | A |
4951220 | Ramacher et al. | Aug 1990 | A |
4985988 | Littlebury | Jan 1991 | A |
5036473 | Butts et al. | Jul 1991 | A |
5125011 | Fung | Jun 1992 | A |
5276893 | Savaria | Jan 1994 | A |
5379405 | Ostrowski | Jan 1995 | A |
5392437 | Matter et al. | Feb 1995 | A |
5448496 | Butts et al. | Sep 1995 | A |
5455536 | Kono et al. | Oct 1995 | A |
5513144 | O'Toole | Apr 1996 | A |
5513354 | Dwork et al. | Apr 1996 | A |
5578976 | Yao | Nov 1996 | A |
5630171 | Chejlava et al. | May 1997 | A |
5634107 | Yumoto et al. | May 1997 | A |
5638946 | Zavracky | Jun 1997 | A |
5671376 | Bucher et al. | Sep 1997 | A |
5694143 | Fielder et al. | Dec 1997 | A |
5705938 | Kean | Jan 1998 | A |
5766979 | Budnaitis | Jun 1998 | A |
5768178 | McLaury | Jun 1998 | A |
5805833 | Verdun | Sep 1998 | A |
5884053 | Clouser et al. | Mar 1999 | A |
5896391 | Solheim et al. | Apr 1999 | A |
5909595 | Rosenthal et al. | Jun 1999 | A |
5913218 | Carney et al. | Jun 1999 | A |
5937173 | Olarig et al. | Aug 1999 | A |
5956252 | Lau et al. | Sep 1999 | A |
5996996 | Brunelle | Dec 1999 | A |
5999990 | Sharrit et al. | Dec 1999 | A |
6003100 | Lee | Dec 1999 | A |
6049870 | Greaves | Apr 2000 | A |
6065131 | Andrews et al. | May 2000 | A |
6067262 | Irrinki et al. | May 2000 | A |
6069540 | Berenz et al. | May 2000 | A |
6072686 | Yarbrough | Jun 2000 | A |
6085269 | Chan et al. | Jul 2000 | A |
6094116 | Tai et al. | Jul 2000 | A |
6219628 | Kodosky et al. | Apr 2001 | B1 |
6249288 | Campbell | Jun 2001 | B1 |
6255849 | Mohan | Jul 2001 | B1 |
6307169 | Sun et al. | Oct 2001 | B1 |
6323699 | Quiet | Nov 2001 | B1 |
6348811 | Haycock et al. | Feb 2002 | B1 |
6363285 | Wey | Mar 2002 | B1 |
6363295 | Akram et al. | Mar 2002 | B1 |
6370603 | Silverman et al. | Apr 2002 | B1 |
6377898 | Steffan et al. | Apr 2002 | B1 |
6388590 | Ng | May 2002 | B1 |
6389585 | Masleid et al. | May 2002 | B1 |
6392431 | Jones | May 2002 | B1 |
6429288 | Esswein et al. | Aug 2002 | B1 |
6429747 | Franck et al. | Aug 2002 | B2 |
6433657 | Chen | Aug 2002 | B1 |
6437657 | Jones | Aug 2002 | B1 |
6486425 | Seki | Nov 2002 | B2 |
6504841 | Larson et al. | Jan 2003 | B1 |
6530045 | Cooper et al. | Mar 2003 | B1 |
6535986 | Rosno et al. | Mar 2003 | B1 |
6598194 | Madge et al. | Jul 2003 | B1 |
6629181 | Alappat et al. | Sep 2003 | B1 |
6662133 | Engel et al. | Dec 2003 | B2 |
6700581 | Baldwin et al. | Mar 2004 | B2 |
6701466 | Fiedler | Mar 2004 | B1 |
6717474 | Chen et al. | Apr 2004 | B2 |
6718496 | Fukuhisa et al. | Apr 2004 | B1 |
6734770 | Aigner et al. | May 2004 | B2 |
6738856 | Milley et al. | May 2004 | B1 |
6741258 | Peck, Jr. et al. | May 2004 | B1 |
6747483 | To et al. | Jun 2004 | B2 |
6782587 | Reilly | Aug 2004 | B2 |
6788101 | Rahman | Sep 2004 | B1 |
6794101 | Liu et al. | Sep 2004 | B2 |
6806788 | Marumoto | Oct 2004 | B1 |
6823283 | Steger et al. | Nov 2004 | B2 |
6825847 | Molnar et al. | Nov 2004 | B1 |
6849924 | Allison et al. | Feb 2005 | B2 |
6850133 | Ma | Feb 2005 | B2 |
6879207 | Nickolls | Apr 2005 | B1 |
6938176 | Alben et al. | Aug 2005 | B1 |
6956579 | Diard et al. | Oct 2005 | B1 |
6982718 | Kilgard et al. | Jan 2006 | B2 |
7020598 | Jacobson | Mar 2006 | B1 |
7058738 | Stufflebeam, Jr. | Jun 2006 | B2 |
7069369 | Chou et al. | Jun 2006 | B2 |
7069458 | Sardi et al. | Jun 2006 | B1 |
7075542 | Leather | Jul 2006 | B1 |
7075797 | Leonard et al. | Jul 2006 | B1 |
7085824 | Forth et al. | Aug 2006 | B2 |
7136953 | Bisson et al. | Nov 2006 | B1 |
7170315 | Bakker et al. | Jan 2007 | B2 |
7174407 | Hou et al. | Feb 2007 | B2 |
7174411 | Ngai | Feb 2007 | B1 |
7185135 | Briggs et al. | Feb 2007 | B1 |
7187383 | Kent | Mar 2007 | B2 |
7246274 | Kizer et al. | Jul 2007 | B2 |
7260007 | Jain et al. | Aug 2007 | B2 |
RE39898 | Nally et al. | Oct 2007 | E |
7293127 | Caruk | Nov 2007 | B2 |
7305571 | Cranford, Jr. et al. | Dec 2007 | B2 |
7324458 | Schoenbom et al. | Jan 2008 | B2 |
7340541 | Castro et al. | Mar 2008 | B2 |
7398336 | Feng et al. | Jul 2008 | B2 |
7415551 | Pescatore | Aug 2008 | B2 |
7424564 | Mehta et al. | Sep 2008 | B2 |
7480808 | Caruk et al. | Jan 2009 | B2 |
7525986 | Lee et al. | Apr 2009 | B2 |
7594061 | Shen et al. | Sep 2009 | B2 |
7663633 | Diamond et al. | Feb 2010 | B1 |
7782325 | Gonzalez et al. | Aug 2010 | B2 |
7793029 | Parson et al. | Sep 2010 | B1 |
8132015 | Wyatt | Mar 2012 | B1 |
20020005729 | Leedy | Jan 2002 | A1 |
20020026623 | Morooka | Feb 2002 | A1 |
20020031025 | Shimano et al. | Mar 2002 | A1 |
20020158869 | Ohba et al. | Oct 2002 | A1 |
20030020173 | Huff et al. | Jan 2003 | A1 |
20030046472 | Morrow | Mar 2003 | A1 |
20030051091 | Leung et al. | Mar 2003 | A1 |
20030061409 | RuDusky | Mar 2003 | A1 |
20030093506 | Oliver et al. | May 2003 | A1 |
20030115500 | Akrout et al. | Jun 2003 | A1 |
20030164830 | Kent | Sep 2003 | A1 |
20040012082 | Dewey et al. | Jan 2004 | A1 |
20040012597 | Zatz et al. | Jan 2004 | A1 |
20040064628 | Chiu | Apr 2004 | A1 |
20040085313 | Moreton et al. | May 2004 | A1 |
20040102187 | Moller et al. | May 2004 | A1 |
20040183148 | Blasko, III | Sep 2004 | A1 |
20040188781 | Bar | Sep 2004 | A1 |
20040227599 | Shen et al. | Nov 2004 | A1 |
20050041031 | Diard | Feb 2005 | A1 |
20050044284 | Pescatore | Feb 2005 | A1 |
20050045722 | Park | Mar 2005 | A1 |
20050060601 | Gomm | Mar 2005 | A1 |
20050088445 | Gonzalez et al. | Apr 2005 | A1 |
20050173233 | Kaelberer | Aug 2005 | A1 |
20050182881 | Chou et al. | Aug 2005 | A1 |
20050237083 | Bakker et al. | Oct 2005 | A1 |
20050246460 | Stufflebeam, Jr. | Nov 2005 | A1 |
20050251358 | Van Dyke et al. | Nov 2005 | A1 |
20050251761 | Diamond et al. | Nov 2005 | A1 |
20050261863 | Van Dyke et al. | Nov 2005 | A1 |
20050278666 | Diamond | Dec 2005 | A1 |
20050285863 | Diamond | Dec 2005 | A1 |
20060004536 | Diamond et al. | Jan 2006 | A1 |
20060055641 | Robertus et al. | Mar 2006 | A1 |
20060106911 | Chapple et al. | May 2006 | A1 |
20060123177 | Chan et al. | Jun 2006 | A1 |
20060190663 | Lu | Aug 2006 | A1 |
20060221086 | Diard | Oct 2006 | A1 |
20060252285 | Shen | Nov 2006 | A1 |
20060267981 | Naoi | Nov 2006 | A1 |
20060267987 | Litchmanov | Nov 2006 | A1 |
20060282604 | Temkine et al. | Dec 2006 | A1 |
20070038794 | Purcell et al. | Feb 2007 | A1 |
20070067535 | Liu | Mar 2007 | A1 |
20070088877 | Chen et al. | Apr 2007 | A1 |
20070115271 | Seo et al. | May 2007 | A1 |
20070115290 | Polzin et al. | May 2007 | A1 |
20070115291 | Chen et al. | May 2007 | A1 |
Number | Date | Country |
---|---|---|
093127712 | Jul 2005 | TW |
2004030127 | Mar 2005 | WO |
2005029329 | Mar 2005 | WO |
Entry |
---|
‘OSI Reference Model—The ISO Model of Architecture for Open Systems Interconnection,’ by Zimmermann, IEEE Transactions on Communications, Apr. 1980. |
‘SuperPaint: An Early Frame Buffer Graphics System’ by Richard Shoup, IEEE Annals of the History of Computing, copyright 2001. |
‘Multimedia Processors’ by Kuroda et al., Proceedings of the IEEE, Jun. 1998. |
‘Test Requirements for Embedded Core-based Systems and IEEE P1500’ by Yervant Zorian, International Test Conference, copyright IEEE 1997. |
‘Addressing the System-on-a-Chip Interconnect Woes Through Communication-Based Design’ by Sgroi et al., DAC 2001, Jun. 18-22, 2001, copyright ACM. |
Welch, D. “Building Self-Reconfiguring Distributed Systems Using Compensating Reconfiguration”, Proceedings Fourth International Journal Conference on Configurable Distributed Systems, May 4-6, 1998, pp. 18-25. |
International Search Report. PCT/US2004/030127. Mail Date Jun. 30, 2005. |
European Patent Office E-Space Family List for: WO200529329 (PCT/US 2004/030127). |
PCT International Preliminary Report on Patentability. PCT/US2004/030127. International Filing Date Sep. 13, 2004. Application: Nvidia Corporation. Date of Issuance of this Report: Mar. 16, 2006. |
PCI Express Card Electromechanical Specification Rev. 1.1, 2005, p. 87. |
Number | Date | Country | |
---|---|---|---|
20070162624 A1 | Jul 2007 | US |