|
|  Get related patents on CD |
| United States Patent | 7136953 |
| Link to this page | http://www.wikipatents.com/7136953.html |
| Inventor(s) | Bisson; Luc R. (San Jose, CA), Rubinstein; Oren (Sunnyvale, CA), Huang; Wei-Je (Fremont, CA), Diamond; Michael B. (Los Gatos, CA) |
| Abstract | A bus permits the number of active serial data lanes of a data link to be
re-negotiated in response to changes in bus bandwidth requirements. In
one embodiment, one of the bus interfaces triggers a re-negotiation of
link width and places a constraint on link width during the
re-negotiation. |
| |
|
Title Information  |
|
|
|
|
|
Drawing from US Patent 7136953 |
|
|
Apparatus, system, and method for bus link width optimization |
|
|
|
|
|
| Publication Date |
November 14, 2006 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Title Information  |
|
|
References  |
|
|
| *references marked with an asterisk below are user-added references |
|
U.S. References |
|
|
|
|
|
|
U.S. References |
|
|
Foreign References |
|
|
|
|
|
|
Foreign References |
|
|
Other References |
|
|
| Add a new Other reference: |
| Post related web sites and other references in this section |
| | Reference | Relevancy | Comments | Gerald Holzhammer, Intel, Developer Update Magazine, "Creating a Third Generation I/O Bus," Sep. 2001, pp. 1-5, Copyright .COPYRGT. Intel
Corporation 2001. cited by other
. Nov,2006 |      Your vote accepted [0 after 0 votes] | | Seh Kwa and Debra T. Cohen--Intel Corporation, "PCI Express, Architecture Power Management," Nov. 8, 2002, pp. 1-14, Copyright .COPYRGT. Intel Corporation 2002. cited by other
. Nov,2006 |      Your vote accepted [0 after 0 votes] | | PCI EXPRESS, "Base Specification," Revision 1.0a, Apr. 15, 2003, pp. 1-426, Copyright .COPYRGT. 2002, 2003, PCI-SIG. cited by other
. Nov,2006 |      Your vote accepted [0 after 0 votes] | | Ajy V. Bhatt (Technology and Research Labs, Intel Corporation), "Creating a Third Generation I/O Interconnect," pp. 1-8. Copyright .COPYRGT. 2002. cited by other. Nov,2006 |      Your vote accepted [0 after 0 votes] | | |
|
|
|
|
Other References |
|
|
|
|
|
References  |
|
|
|
|
|
|
|
|
|
|
|
Public's "Guesstimation" of Royalty Value
| |
|
|
|
|
|
|
|
|
|
|
|
|
Market Review  |
|
|
Technical Review  |
|
|
Claims  |
|
|
What is claimed is:
1. A method of bus power management, comprising: for a first operational state having a first link bandwidth requirement for a bus, negotiating a first link width between a
first bus interface and a second bus interface disposed at opposite ends of said bus based on said first link bandwidth requirement, said first link width having a first integer number, M, of active data lanes that is less than or equal to a maximum
integer number, K, of operable data lanes; and in response to detecting a second operational state having a second link bandwidth requirement, negotiating a second link width between said first bus interface and said second bus interface based on said
second link bandwidth requirement said second link width having a second integer number, N, of active data lanes, where N is not equal to M, and N is also less than or equal to K; wherein the number of active data lanes that is negotiated is based on a
bandwidth constraint to reduce the power consumption associated with active data lanes.
2. The method of claim 1, wherein said negotiating said first link width comprises: selecting M=K.
3. The method of claim 2, wherein negotiating said second link width comprises: selecting N to be a minimum number sufficient to provide the bandwidth required for said second operational state.
4. The method of claim 1, further comprising: prior to negotiating said first link width, detecting operable data lanes and establishing common communication parameters on said lanes.
5. The method of claim 4, further comprising: storing initialization data describing operable data lanes and their communication parameters for subsequent negotiations.
6. The method of claim 1, wherein said second operational state is associated with a change in a type of software application being executed.
7. The method of claim 1, wherein said second operational state is associated with a change in a state of operation of a central processing unit.
8. The method of claim 7, wherein said state of operation of said central processing unit is selected from the group consisting of a busy state, an idle state, and a run state.
9. The method of claim 1, wherein said negotiating said second link width comprises: generating a disable signal to disable operable data lanes to reduce link bandwidth.
10. The method of claim 1, wherein said negotiating said second link width comprises: enabling previously disabled operable data lanes to increase link bandwidth.
11. The method of claim 1, wherein negotiating said second link width further comprises: a first component triggering entry of a second component into a recovery state; said first component further generating training sets during said recovery
state to trigger said first component and said second component to enter a configuration state in which lane widths are negotiated for said bus.
12. The method of claim 11, wherein said first component generates training sets in said configuration state that selectively disable a subset of operable data lanes.
13. The method of claim 1, wherein negotiating said second link width further comprises: a first component triggering entry of a second component into a recovery state; said first component further generating training sets during said recovery
state to initiate said second component to enter a loopback state; said first component generating training sets during loopback to initiate said second component to enter a detect state, from which a configuration state is entered in which lane width
is negotiated; wherein re-negotiation of lane widths occurs without a reset phase.
14. A method of bus power management: detecting operable data lanes in a detect state; establishing common communication parameters for said data lanes in a subsequent polling state; entering a configuration state; for a first operational
state having a first link bandwidth requirement, negotiating a first link width between a first bus interface at one end of a bus and a second bus interface at another end of the bus, said first link width having a first integer number, M, of active data
lanes that is less than or equal to a maximum integer number, K, of operable data lanes; entering an operational state with said first integer number, M, of active data lanes associated as a link between bus components; triggering entry back into said
configuration state in response to detecting a second operational state having a second link bandwidth requirement; negotiating a second link width between said first bus interface and said second bus interface, said second link width having a second
integer number, N, of active data lanes, where N is not equal to M, and N is also less than or equal to K; and entering said second operational state with said second integer number, N, of active data lanes associated as said link between said bus
components wherein the number of active data lanes that is negotiated is based on a bandwidth constraint to reduce the power consumption associated with active data lanes.
15. The method of claim 14, wherein triggering entry back into said configuration state comprises: in response to detecting said second operational state, entering a recovery state; and from said recovery state, entering said configuration
state.
16. The method of claim 14, wherein triggering entry back into said configuration state further comprises: in response to detecting said second operational state, entering a recovery state; and from said recovery state, entering a loopback
state; from said loopback state, re-entering said detect state; wherein a reset state is avoided.
17. A data bus, comprising: a first data interface disposed at one end of said data bus; a second data interface disposed at the other end of said data bus; a plurality of data lanes for communicating data between said first data interface
and said second data interface; said first data interface and said second data interface adapted to initiate a negotiation for a number of active lanes corresponding to a subset of operable data lanes; said first data interface and said second data
interface re-negotiating the number of active data lanes to place a constraint on the number of active data lanes associated to form a link in response to a re-negotiation signal; wherein the number of active data lanes that is negotiated is based on a
bandwidth constraint to reduce the power consumption associated with active data lanes.
18. The bus of claim 17, wherein said first and second interfaces are PCI Express.TM. compliant.
19. The bus of claim 17, wherein one of said interfaces selectively disables a number of operable data lanes to adjust bandwidth.
20. The bus of claim 17, wherein one of the interfaces selectively enables a number of operable data lanes to adjust bandwidth.
21. A computing system, comprising: a root complex; a CPU coupled to the root complex for executing a software application stored in a memory; an endpoint device associating a graphical processing unit (GPU); a bus having a plurality of data
lanes coupling the root complex to the endpoint device; the bus having bus interface disposed at two ends of the bus configured to associate active data lanes into a common link having a lane width corresponding to a number of active data lanes selected
to adapt to the bandwidth requirements of the GPU; wherein the number of active data lanes that is negotiated is based on a bandwidth constraint to reduce the power consumption associated with active data lanes.
22. The computing system of claim 21, wherein the bus includes bus interfaces disposed in the root complex and the endpoint device, wherein the interfaces are configured to re-negotiate a lane width of the bus in response to a re-negotiation
signal.
23. The computing system of claim 21, wherein the bus retains detect and polling information from an initial set-up procedure for use during subsequent lane width negotiations. |
|
|
|
|
Claims  |
|
|
Description  |
|
|
|
|
|