1. Field of the Invention
The present invention relates generally to computers and, more specifically, to power management.
2. Description of the Related Art
A Universal Serial Bus (USB) allows coupling of peripheral devices to a computer system. USB is a serial cable bus for data exchange between a host computer and a wide range of simultaneously accessible devices. The bus allows peripherals to be attached, configured, used, and detached while the host is in operation. USB based systems may require that a host controller be present in the host system, and that the operating system (OS) of the host system support USB devices.
In general, a USB device attached to the host controller of the computer may prevent the central processing unit (CPU) of the computer from entering a low power state—e.g., the C3 state. The host controller, as a bus mastering peripheral, may keep the Peripheral Component Interconnect (PCI) bus active as long as the host controller is attached to a USB device. The active PCI bus may prevent the CPU from going into a low power state.
Portable computers may not be able to provide full, aggressive power and system management of USB devices and peripherals through a USB only interface. The USB interface may not provide sufficient information between the USB device and a power management entity of the portable computer to implement aggressive power management.
In various embodiments, a computer system (e.g., a portable computer system) may be coupled to one or more USB devices. In some embodiments, the computer system may be coupled to an embedded USB device (e.g., an embedded USB keyboard). The computer system may communicate with the USB device through a host controller for USB functions. In addition, the computer system may be coupled to a computer controller to send and/or receive sideband signals to/from the USB device. In some embodiments, the computer controller may be an embedded controller. In some embodiments, the USB device may include a USB controller to send/receive sideband signals to/from the computer controller. In some embodiments, the USB controller may be a microcontroller.
In some embodiments, the computer controller and USB controller may allow communications between the computer system and the USB device when either of the computer system or USB device is in a low power state. The sideband signal sent between the computer system and the USB device may trigger the other of the computer system or USB device to enter a normal power state. Because the computer system and USB device can communicate through sideband signals while one of the computer system and USB device is in a low power state, the computer system and/or USB device may be allowed to enter a low power state. Without sideband signals, the computer system and/or USB device may not be able to awaken from a low power state and therefore, may have to be maintained at a normal power state.
In some embodiments, the computer controller and/or USB controller may be further coupled to a memory to buffer data to be sent to the computer system or USB device after the computer system or USB device returns to a normal power state. For example, keystrokes typed by a user may be stored in a memory coupled to the USB controller of an embedded USB keyboard and then the keystrokes may be sent to the computer system after the computer system returns to a normal power state (e.g., after receiving a sideband signal from the USB device's microcontoller).
A better understanding of the present invention may be obtained when the following detailed description is considered in conjunction with the following drawings, in which:
While the invention is susceptible to various modifications and alternative forms, specific embodiments thereof are shown by way of example in the drawings and will herein be described in detail. It should be understood, however, that the drawings and detailed description thereto are not intended to limit the invention to the particular form disclosed, but on the contrary, the intention is to cover all modifications, equivalents, and alternatives falling within the spirit and scope of the present invention as defined by the appended claims. Note, the headings are for organizational purposes only and are not meant to be used to limit or interpret the description or claims. Furthermore, note that the word “may” is used throughout this application in a permissive sense (i.e., having the potential to, being able to), not a mandatory sense (i.e., must). The term “include”, and derivations thereof, mean “including, but not limited to”. The term “coupled” means “directly or indirectly connected”.
In some embodiments, portable computer 101 may be used with multiple peripheral devices such as, but not limited to, Universal Serial Bus (USB) devices (e.g., computer mouse 111, scanners, printers, external memory devices, cameras, personal digital assistants (PDAs), keyboards, touchscreens, and joysticks). In some embodiments, USB devices may be embedded in the portable computer 101 (e.g., embedded USB keyboard 151). Other devices coupled to the computer system are also contemplated.
In some embodiments, USB devices may be coupled to portable computer 101 through one or more USB ports 103. USB ports 103 may be on portable computer 101 or on a docking station (not shown) coupled to portable computer 101. USB connector 109 may plug into USB port 103 to couple a USB device to portable computer 101.
In some embodiments, the USB devices may be configured to send and/or receive data from the computer system. For example, a USB device may send data such as keystrokes, joystick movements, etc. to the computer system. The USB device may also receive data (e.g., a USB printer may receive data corresponding to a print job). In some embodiments, the USB device may be a trusted device (e.g., a keyboard with a trusted mobile keyboard controller). In some embodiments, data sent between the computer system and the USB device may be encrypted.
As seen in
In various embodiments, sideband signals may be sent between computer system 351 and USB device 215 to communicate information and/or signals between computer system 351 and USB device 215 when each is in varying power states. For example, sideband signals may be sent between computer system 351 and USB device 215 to trigger computer system 351 or USB device 215 to return to a normal power state (from a low power state). For example, computer system 351 may send a sideband signal to USB device 215 to trigger USB device 215 to return to a normal power state. In some embodiments, USB device 215 may send a sideband signal to computer system 351 to trigger computer system 351 to enter a normal power state.
In various embodiments, computer controller 251 may be coupled to memory medium 371 to buffer data to be sent to or received from USB device 215. In some embodiments, USB device 215 may include memory medium 373 to buffer data to be sent to or received from computer system 351. The memory medium on computer system 351 and/or USB device 215 may be used to buffer data when computer system 351 or USB device 215 is in a low power state (and, therefore, may not be able to receive the data). For example, keystrokes on an embedded USB keyboard may be buffered if computer system 351 is in a low power state. The keystrokes may be buffered on memory medium 373 on the embedded USB keyboard or may be sent to memory medium 371 on computer system 351 to be buffered until computer system 351 returns to a normal power state. In some embodiments, if computer system 351 is not in a normal power state, data may not be buffered on memory medium 371 on computer system 351. In some embodiments, data may be buffered on computer system memory medium 371 when USB device 215 is in a low power state. For example, instructions to a USB printer may be buffered until the USB printer returns to a normal power state (e.g., after receiving a sideband signal from the computer system to return to the normal power state). In some embodiments, the instructions may be buffered on computer system 351 and sent after the USB printer returns to the normal power state or the instructions/data may be sent to the USB printer and buffered until the USB printer returns to a normal power state. In some embodiments, USB device 215 may not buffer data if USB device 215 is in a low power state.
In some embodiments, USB device 215 (e.g., a USB printer) may receive a sideband signal indicating the power state of computer system 351. If USB device 215 has a warm-up period, USB device 215 may be able to indicate a warm up when computer system 351 wakes up. The warm up may begin even before the host controller initializes the USB interface. USB device 215 may not require a warm-up period when a request is received. Other USB devices may also have latency periods that may be reduced with a sideband signal indicating the computer system is waking up.
In some embodiments, embedded USB device 215 (e.g., embedded USB keyboard 151) may be electrically connected to portable computer 101 when portable computer 101 is first powered up. USB keyboard 151 may communicate with host controller 211 of portable computer 101 through power line 321, ground 324, and a pair of data lines 322, 323 (D+ and D−) to transfer data and power between portable computer 101 and embedded USB keyboard 151. In some embodiments, the D+ and D− lines (322, 323) may interact with physical interface 303 through attachment indicator mechanism 302.
In some embodiments, an algorithm (e.g., stored in firmware on a memory coupled to USB device 215) may be implemented to electrically disconnect the USB device (e.g., USB keyboard 151) from host controller 211. Firmware may be on a read only memory (ROM) or a programmable read only memory (PROM) accessible by USB device 215 (e.g., internal or external memory). For example, firmware may be on an Electrically Erasable Programmable Read-Only Memory (EEPROM) that may be externally attached/detached to USB device 215 to activate/deactivate the electrical disconnect feature.
In some embodiments, for full speed USB devices, when the USB device is electrically attached to host controller 211, the USB device may electrically connect to the computer system by pulling D+ line 322 high to approximately 3.3 volts using a pull up resistor (not shown) on D+ line 322. Host controller 211 may then detect the presence of the USB device on the bus and reset the USB device. High speed USB devices may connect the same way as full speed devices except, during reset, the high speed device “chirps” by driving D− line 323 high. Host controller 211 responds by alternately driving the D+ and D− lines high. When the high speed USB device detects the alternating chirps, the high speed USB device electrically removes the pull up resistor to balance the line and continues communicating at high speed.
In some embodiments, to electrically disconnect, full speed USB devices may electrically remove the pull up resistor (i.e., set to high impedance or “tri-stated”) from the D+ line. Host controller 211 may interpret this as a disconnect. To electronically disconnect high speed USB devices the D+ and D− lines may both be tri-stated (set to high impedance).
Referring to
For example, if computer system 351 receives a signal from the user to return to a normal power state, computer system 351 may send a sideband signal to USB device 215 to return to a normal power state and/or electrically connect to computer system 351. In some embodiments, if USB device 215 is used while computer system 351 is in a low power state, USB device 215 may send a sideband signal to computer system 351 to signal computer system 351 to return to a normal power state and connect USB device 215.
In various embodiments, because the sideband signals are available for embedded USB devices 215, the driver model for computer system 351 (especially portable computer systems) may be unified for all human interface device (HID) (e.g., switches, buttons, keyboard, mouse, pointer, etc.). In some embodiments, the portable computer may use a low pin count (LPC) interface for embedded devices and a PS/2 or USB interface for external HID devices. If using the sideband signals, the PS/2 or USB interface may be used for all devices (including devices previously handled with the LPC bus).
In some embodiments, legacy HID driver 613 and secure HID driver 615 may communicate with USB transport driver 616. USB transport driver 616 may communicate with USB interface 622 of USB device 691. USB interface 622 may communicate with microcontroller/memory 629 which may also be coupled to system wake interface 632. In some embodiments, communications between the system and USB device 691 may include an interface and sideband signals (e.g., through system wake interface 632). In some embodiments, the use of USB for a secure keyboard controller (KBC) interface may reduce the number of secure channels for which logical functionality must be created and for which secure device drivers must be written. In some embodiments, microcontroller 651 (e.g., on south bridge 209) may receive sideband wake signal 653 from system wake interface 632 to driver 611.
At 901, a USB device may be placed in a low power state. For example, if the USB device has not been used for a pre-specified amount of time, the USB device may be configured to enter a low power state. In some embodiments, the computer system may send the USB device a sideband signal to signal the USB device to enter a low power state (e.g., if the computer system is about to enter a low power state, the computer system may signal USB devices coupled to the computer system to enter a low power state).
At 903, the computer system may be placed in a low power state. The computer system may enter a low power state if there is no system activity occurring on the PCI bus from a bus mastering peripheral.
At 905, the computer system may be placed in a normal power state. For example, the computer system may be placed into a normal power state upon receiving an indication from a user. For example, a user may use a device coupled to the computer system. In some embodiments, the computer may receive a different signal to return to a normal power state (e.g., a signal may be received over a network). In some embodiments, the computer system may automatically return to a normal power state after a specific time interval.
At 907, data to send to the USB device may be buffered. For example, a memory on the computer system may be used to buffer data to send to the USB device. In some embodiments, the memory may be coupled to the USB device. The buffer may be used for data that may otherwise not be receivable by the USB device until the USB device enters a normal power state.
At 909, a sideband signal may be sent to the USB device from a computer controller in the computer system. In some embodiments, the sideband signal may be sent to the USB device when the computer system enters a normal power state. The sideband signal may be sent over the sideband signal line from the computer system to a USB controller on the USB device.
At 911, the USB device may enter a normal power state after receiving the sideband signal. In some embodiments, the USB device may include a USB controller for receiving the sideband signal from the computer system.
At 913, the buffered data may be sent to the USB device.
At 1001, the USB device may be placed in a low power state. For example, if the USB device has not been used in a specified amount of time, the USB device may enter a low power state. The USB device may or may not electrically disconnect the USB interface from the computer system when the USB device enters a low power state.
At 1003, a computer system may be placed into a low power state.
At 1005, the USB device may be placed in a normal power state. In some embodiments, the USB device may enter a normal power state upon receiving an indication from the user (e.g., the user may use the USB device). If the USB device is an embedded USB keyboard, the user's keystrokes on the keyboard may signal the keyboard to return to a normal power state.
At 1007, data may be buffered at the USB device to send to the computer system. In some embodiments, data that may otherwise not be receivable until the computer system enters a normal power state may be stored in a memory coupled to the USB device. For example, keystrokes typed by a user may be stored in a memory coupled to the USB controller of an embedded USB keyboard and then the keystrokes may be sent to the computer system after the computer systems returns to a normal power state (after receiving a sideband signal from the USB device). In some embodiments, the data may be stored on a memory coupled to the computer system.
At 1009, a sideband signal may be sent to the computer system from the USB device. In some embodiments, the sideband signal may be sent to the computer system when the USB device enters the normal power state.
At 1011, the computer system may enter a normal power state after receiving the sideband signal. In some embodiments, the computer system may include a computer controller to receive sideband signals from the USB device.
At 1013, the buffered data may be sent to the computer system.
Further modifications and alternative embodiments of various aspects of the invention may be apparent to those skilled in the art in view of this description. Accordingly, this description is to be construed as illustrative only and is for the purpose of teaching those skilled in the art the general manner of carrying out the invention. It is to be understood that the forms of the invention shown and described herein are to be taken as embodiments. Elements and materials may be substituted for those illustrated and described herein, parts and processes may be reversed, and certain features of the invention may be utilized independently, all as would be apparent to one skilled in the art after having the benefit of this description of the invention. Changes may be made in the elements described herein without departing from the spirit and scope of the invention as described in the following claims.
This application is a continuation-in-part of U.S. patent application Ser. No. 10/762,684 titled “Systems and Methods for Power Reduction in Systems Having Removable Media Devices” filed on Jan. 20, 2004, now U.S. Pat. No. 7,086,583 whose inventor is Henry Wurzburg, and which is hereby incorporated by reference as though fully and completely set forth herein.
Number | Name | Date | Kind |
---|---|---|---|
4390964 | Horky et al. | Jun 1983 | A |
5541985 | Ishii et al. | Jul 1996 | A |
5630081 | Rybicki et al. | May 1997 | A |
5786769 | Coteus et al. | Jul 1998 | A |
5793359 | Ushikubo | Aug 1998 | A |
5815426 | Jigour et al. | Sep 1998 | A |
5841654 | Verissimo et al. | Nov 1998 | A |
5877483 | Bilich et al. | Mar 1999 | A |
5953511 | Sescila, III et al. | Sep 1999 | A |
6000607 | Ohki et al. | Dec 1999 | A |
6012103 | Sartore et al. | Jan 2000 | A |
6168077 | Gray et al. | Jan 2001 | B1 |
6230277 | Nakaoka et al. | May 2001 | B1 |
6279060 | Luke et al. | Aug 2001 | B1 |
6317839 | Wells | Nov 2001 | B1 |
6349878 | Imai | Feb 2002 | B2 |
6389544 | Katagiri | May 2002 | B1 |
6405362 | Shih et al. | Jun 2002 | B1 |
6408351 | Hamdi et al. | Jun 2002 | B1 |
6435904 | Herbst et al. | Aug 2002 | B1 |
6438638 | Jones et al. | Aug 2002 | B1 |
6460106 | Stufflebeam | Oct 2002 | B1 |
6460143 | Howard et al. | Oct 2002 | B1 |
6467042 | Wright et al. | Oct 2002 | B1 |
6505267 | Luke et al. | Jan 2003 | B2 |
6510524 | Osborn et al. | Jan 2003 | B1 |
6519669 | Yanagisawa | Feb 2003 | B1 |
6557754 | Gray et al. | May 2003 | B2 |
6598100 | Shu et al. | Jul 2003 | B2 |
6601180 | Paredes et al. | Jul 2003 | B1 |
6654841 | Lin | Nov 2003 | B2 |
6662258 | Lukanc et al. | Dec 2003 | B1 |
6681991 | Li | Jan 2004 | B1 |
6714215 | Flora et al. | Mar 2004 | B1 |
6714891 | Dendinger | Mar 2004 | B2 |
6738068 | Cohen et al. | May 2004 | B2 |
6804740 | Watts, Jr. | Oct 2004 | B1 |
6910627 | Simpson-Young et al. | Jun 2005 | B1 |
6928562 | Cohen et al. | Aug 2005 | B2 |
6945454 | Tournemille et al. | Sep 2005 | B2 |
6990549 | Main et al. | Jan 2006 | B2 |
7039727 | Camara et al. | May 2006 | B2 |
7047343 | Shaw | May 2006 | B2 |
7051218 | Gulick et al. | May 2006 | B1 |
7149888 | Hart et al. | Dec 2006 | B1 |
7210619 | Wurzburg | May 2007 | B2 |
7302512 | Currid et al. | Nov 2007 | B1 |
7660938 | Chow et al. | Feb 2010 | B1 |
7802034 | Liu et al. | Sep 2010 | B2 |
8332676 | Lyra et al. | Dec 2012 | B2 |
20020056142 | Redmond | May 2002 | A1 |
20020155893 | Swanberg et al. | Oct 2002 | A1 |
20030058284 | Toh et al. | Mar 2003 | A1 |
20030115013 | Dendinger | Jun 2003 | A1 |
20030167345 | Knight et al. | Sep 2003 | A1 |
20040027879 | Chang | Feb 2004 | A1 |
20040078514 | Kung et al. | Apr 2004 | A1 |
20040130505 | Lee et al. | Jul 2004 | A1 |
20040143768 | Calhoon | Jul 2004 | A1 |
20040163003 | Dutton | Aug 2004 | A1 |
20040221181 | Yu | Nov 2004 | A1 |
20050055592 | Velasco et al. | Mar 2005 | A1 |
20050114716 | O | May 2005 | A1 |
20050156041 | Wurzburg | Jul 2005 | A1 |
20070023499 | Wurzburg et al. | Feb 2007 | A1 |
20070139705 | Ogiwara et al. | Jun 2007 | A1 |
20080046608 | Lee et al. | Feb 2008 | A1 |
20080147907 | Triece et al. | Jun 2008 | A1 |
20080162753 | Liu et al. | Jul 2008 | A1 |
20130013825 | Muto | Jan 2013 | A1 |
Number | Date | Country |
---|---|---|
693723 | Jan 1996 | EP |
07-334633 | Dec 1995 | JP |
08050643 | Feb 1996 | JP |
408050643 | Feb 1996 | JP |
2000035837 | Feb 2000 | JP |
2003140784 | May 2003 | JP |
2003280775 | Oct 2003 | JP |
Entry |
---|
‘Universal Serial Bus Specification’ Revision 2.0 Compaq et al. Apr. 27, 2000 pp. 21,32,33,60,65,66,80,156. |
‘PCI Bus Power Management Interface Specification’ Revision 1.1 PCI Special Interest Group Dec. 18, 1998 pp. 55-59. |
‘Power Saving of Using USB Selective Suspend Support Whitepaper’ Version 0.6 Kris Fleming May 20, 2003 pp. 1-7. |
Universal Serial Bus Specification Revision 2.0, Apr. 27, 2000. |
‘Distributed Topology Construction of Bluetooth Personal Area Networks’ by Salonidis et al., copyright 2001, IEEE. |
‘Universal Serial Bus Specification’ Revision 2.0, Compaq et al., Apr. 27, 2000, pp. i, ii, and 23. |
“Universal Serial Bus—Understanding WDM Power Management” Version 1.1, Aug. 7, 2000 by Kosta Koeman, Intel Corporation. |
U.S. Appl. No. 10/762,767, filed Jan. 20, 2004, Wurzburg et al. |
“The Laptop Computer May Be Unable to Enter the C3 Processor Power-Saving State”; printed from the Internet: http://support.microsoft.com/default.aspx?scid=kbjen-us;297045; (Article publication date is unknown). |
“Advanced Configuration and Power Interface Specification,” Revision 2.0c, Aug. 25, 2003; pp. 1-200. |
“Advanced Configuration and Power Interface Specification,” Revision 2.0c, Aug. 25, 2003; pp. 201-518. |
Prior Art Statement (2 pages). |
Number | Date | Country | |
---|---|---|---|
20050160196 A1 | Jul 2005 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 10762684 | Jan 2004 | US |
Child | 11071961 | US |