USRE39284EExpiredUtilityPatentIndex 83
Method and apparatus for reducing power consumption in a system using power management software capable of placing multiple configurable system devices in a reduced power consumption state
Est. expiryNov 29, 2014(expired)· nominal 20-yr term from priority
Inventors:MARISETTY SURESH K
Y02D30/50Y02D10/00G06F 11/348G06F 1/3203G06F 1/325G06F 11/3423
83
PatentIndex Score
12
Cited by
6
References
78
Claims
Abstract
A power management mechanism for use in a computer system having a bus, a memory for storing data and instructions, and a central processing unit (CPU). The CPU runs an operating system having a power management virtual device driver (PMV×D) responsible for performing idle detection for devices. The PMV×D performs idle detection using event timers that provide an indicator as to the activity level. The PMV×D places idle local devices in a reduced power consumption state when no activity has occurred for a predetermined period of time.
Claims
exact text as granted — not AI-modified1. A computer system comprising:
a bus;
at least one memory coupled to the bus for storing data, including an operating system; and
a central processing unit (CPU) coupled to the bus running the operating system with a virtual device driver (V×D), wherein the virtual device driver performs device idle detection using one or more events timers indicating the activity level of at least one local device, and further wherein the virtual device driver places idle local devices in a reduced power consumption state when associated events timers indicate that no activity has occurred for a predetermined period of time.
2. The computer system defined in claim 1 wherein the virtual device driver performs system idle detection.
3. The computer system defined in claim 1 wherein the virtual device driver comprises I/O trapping capabilities to perform idle detection.
4. The computer system defined in claim 1 wherein the virtual device driver comprises a V×D trap handler to perform idle detection.
5. The computer system defined in claim 1 wherein the virtual device driver comprises a chained-interrupt trap handier handler to perform idle detection.
6. The computer system defined in claim 1 wherein the memory stores data structures indicating enabled local devices being monitored by the device driver.
7. The computer system defined in claim 1 wherein the memory stores data structures indicating events being monitored by the device driver.
8. The computer system defined in claim 1 wherein the memory stores data structures indicating I/O address ranges for local devices.
9. The computer system defined in claim 1 wherein the memory stores data structures indicating activity level of local devices to the device driver.
10. The computer system defined in claim 1 wherein the memory stores data structures indicating power management states into which the device driver may place the computer system.
11. A computer system comprising:
a bus;
a central processing unit (CPU) coupled to the bus running an operating system and at least one power-unaware application, wherein the operating system has a virtual device driver performing device idle detection using one or more events timers indicating the activity level of at least one local device, and further wherein the virtual device driver places idle local devices in a reduced power consumption state when associated events timers indicate that no activity has occurred for a predetermined period of time transparent to said at least one power-unaware application.
12. The computer system defined in claim 11 wherein the virtual device driver performs system idle detection.
13. The computer system defined in claim 11 wherein the virtual device driver comprises I/O trapping capabilities to perform idle detection.
14. The computer system defined in claim 11 wherein the virtual device driver comprises a V×D trap handler to perform idle detection.
15. The computer system defined in claim 11 wherein the virtual device driver comprises a chained-interrupt trap handler to perform idle detection.
16. The computer system defined in claim 11 wherein the memory stores data structures indicating enabled local devices being monitored by the virtual device driver.
17. The computer system defined in claim 11 wherein the memory stores data structures indicating events being monitored by the virtual device driver.
18. The computer system defined in claim 11 wherein the memory stores data structures indicating I/O address ranges for local devices.
19. The computer system defined in claim 11 wherein the memory stores data structures indicating activity level of local devices to the virtual device driver.
20. The computer system defined in claim 11 wherein the memory stores data structures indicating power management states into which the virtual device driver may place the computer system.
21. A computer system comprising:
at least one bus;
a memory coupled to said at least one bus;
a device coupled to said at least one bus;
a processor coupled to said at least one bus, wherein the processor is configured to execute a virtual device driver to control placement of said device into a reduced power consumption state.
22. The computer system defined in claim 21 wherein the virtual device driver performs idle detection for the device.
23. The computer system defined in claim 21 wherein the virtual device driver performs idle detection for the device using at least one event timer indicating the activity level of the device.
24. The computer system defined in claim 23 wherein the virtual device driver places the device in a reduced power consumption state when said at least one events timer indicates that no activity has occurred for a predetermined period of time.
25. The computer system defined in claim 21 wherein the processor runs at least one power-unaware application and the virtual device driver places the device in the reduced power consumption state transparent to said at least one power-unaware application.
26. The computer system defined in claim 21 wherein the memory stores data structures indicating enabled local devices being monitored by the virtual device driver, events being monitored by the virtual device driver, I/O address ranges for local devices, and activity level of local devices to the virtual device driver.
27. The computer system defined in claim 21 wherein the virtual device driver comprises a V×D trap handler to perform idle detection.
28. The computer system defined in claim 21 wherein the device comprises an I/O device.
29. A method for controlling an input/output (I/O) device, said method comprising the steps of:
executing a virtual device driver;
monitoring activity of the I/O device;
detecting the I/O device being inactive for a predetermined period of time; and
the virtual device driver placing the I/O device in a reduced power consumption state in response to the I/O device being detected as inactive.
30. The method defined in claim 29 further comprising the step of initializing, at boot-up time, a plurality of data structures associated with the virtual device driver.
31. The method defined in claim 29 wherein the step of monitoring comprises the virtual device driver monitoring activity of the I/O device at the occurrence of a system timer interrupt.
32. The method defined in claim 29 further comprising the step of varying the predetermiend period of time.
33. The method defined in claim 32 wherein the predetermined period of time is varied based on desired power savings.
34. The method defined in claim 29 further comprising the step of the virtual device driver adjusting an events timer according to activity of the device.
35. The method defined in claim 29 further comprising the steps of:
a configuration manager notifying the virtual device driver of system resources being remapped; and
the virtual device driver examining its data structures to adapt itself to the remapped system resources.
36. An article comprising:
a machine readable storage medium storing instructions comprising a device manager and power management software, said power management software, if executed by a system, performs operations comprising said power management software: cooperates with said device manager to allow power management of a plurality of devices in the system which are configurable devices; and manages a power level for each of the plurality of devices in the system and is capable of placing one or more of said plurality of devices in a reduced power consumption state.
37. The article of claim 36 wherein said power management software operates at a kernel level of an operating system.
38. The article of claim 37 wherein said device manager comprises a plug and play manager.
39. The article of claim 38 wherein said power management software comprises a power manager that forms a part of a kernel of the operating system.
40. The article of claim 38 wherein said power management software, if executed, communicates with said plug and play manager to update data structures if configuration changes occur to allow power management of dynamically reconfigurable devices.
41. The article of claim 40 wherein said power management software, if executed, places the system in a sleep state when the system is idle and keeps said system in said sleep state until activity is detected, and wherein the sleep state is one of a plurality of system power management states, and further wherein said system stops a clock for a system processor in said sleep state.
42. The article of claim 38 wherein said operating system, if executed, provides virtual memory organization and multitasking operation.
43. The article of claim 38 wherein said plurality of devices comprise:
an I/O device that is placed in a first reduced power consumption state by the power management software if the I/O device is inactive for a first period of time; and a processor that is placed in a second reduced power consumption state by the power management software if the system is idle for a second period of time.
44. The article of claim 36 wherein said power management software, if executed, registers with said device manager to be notified of configuration changes.
45. The article of claim 36 wherein said power management software comprises a power manager, said power manager, if executed, providing system level power management including the use of multiple system level power management states for said system, and providing multiple power management states for said plurality of devices.
46. The article of claim 36 wherein said power management software, if executed, provides support for idle detection for at least one of said plurality of devices.
47. The article of claim 36 wherein said power management software performs power management for said plurality of devices and lacks a permanent tie to a specific hardware device in the system.
48. An article comprising:
a machine readable storage medium storing power management software which, if executed by a system, performs operations comprising said power management software: coordinates power management for a plurality of devices; and registers with a configuration manager to be notified of configuration changes for any of said plurality of devices.
49. The article of claim 48 wherein said power management software comprises a device driver that manages a power state for said plurality of devices.
50. The article of claim 49 wherein said device driver, if executed, in response to a configuration change, examines its data structures to adapt to remapped system resources.
51. The article of claim 49 wherein said configuration manager is a plug and play manager.
52. The article of claim 48 wherein said power management software, if executed, alters data in a data structure in response to a configuration change to allow continued power management of said plurality of devices after said configuration change.
53. The article of claim 52 wherein said power management software, if executed, instructs the configuration manager to notify it when there has been the configuration change and wherein said power management software responds to a notification of the configuration change by updating data in said data structure in the same manner as when examining the data structure at system boot- up time.
54. An article comprising:
a computer readable storage medium storing power management software comprising a power manager and additional software which is operating system software, the power management software, if executed by a computer, performs operations comprising said power management software: forms a part of a kernel level of an operating system for the computer; cooperates with a device manager to allow power management of a plurality of system devices after reconfiguration of said plurality of system devices; and manages a power level of the computer.
55. The article of claim 54 wherein said power management software, if executed by said computer, provides support for idle detection for at least one of a plurality of devices.
56. The article of claim 55 wherein said power management software provides support for clock throttling of a system processor.
57. An article comprising:
a computer readable medium storing a plurality of computer executable instructions including power management software and additional software to implement an operating system, the power management software, if executed by a computer system, operates in an operating system cooperative manner with said operating system at a kernel level which is a highest privilege level of the operating system, and causes the computer system to perform operations comprising: providing support for device idle detection for an input/output device in said computer system to determine when said input/output device has been inactive for a first duration, the first duration being a user configurable duration that may be varied based on desired power savings using a graphical user interface; placing said input/output device in a reduced power consumption state if said input/output device has been inactive for the first duration; cooperating with a plug and play manager that, in cooperation with said power management software, allows power management of said input/output device even though said input/output device is a plug and play configurable device; providing support for system level power management by monitoring global events; placing said computer system into one of a plurality of system level power management states as a part of system level power management implemented by said power management software, one of said plurality of system level power management states being a sleep state into which the computer system is placed due to the system remaining idle.
58. A method comprising:
monitoring, using power management software, a power level of a plurality of devices in a system; detecting an inactive device; placing one of said plurality of devices in a reduced power consumption state due to detected inactivity; performing system level power management using said power management software; and allowing continued power management of devices after device reconfiguration.
59. The method of claim 58 wherein allowing comprises communicating with a device manager to update data structures if configuration changes occur.
60. The method of claim 59 wherein the device manager comprises a plug and play manager.
61. The method of claim 58 further comprising:
programming a first duration of inactivity required to place one of said plurality of devices in said reduced power consumption state based on desired power savings.
62. The method of claim 58 wherein performing system level power management comprises:
placing said system in a sleep mode that stops a clock to a system processor until system activity is detected.
63. The method of claim 58 wherein said power management software operates at a kernel level of an operating system for the system and wherein said power management software cooperates with operating system routines in performing system power management.
64. A method comprising:
coordinating power management for a plurality of devices; registering with a configuration manager to be notified of configuration changes for any of said plurality of devices.
65. The method of claim 64 wherein power management software for said plurality of devices controls a power state for said plurality of devices and performs coordinating power management for said plurality of devices and registering with the configuration manager to be notified of configuration changes for any of said plurality of devices.
66. The method of claim 65 further comprising:
instructing the configuration manager to notify the device driver when there has been a configuration change; and responding to notification by updating data in a data structure in the same manner as when examining the data structure at system boot - up time.
67. The method of claim 65 wherein said power management software operates at a kernel level of an operating system and wherein said power management software cooperates with operating system routines in performing power management.
68. The method of claim 64 wherein said configuration manager is a plug and play manager.
69. The method of claim 64 further comprising:
altering data in a data structure in response to a configuration change to allow continued power management of said plurality of devices after a configuration change.
70. A system comprising:
a bus; a plurality of devices coupled to said bus, the plurality of devices being configurable devices, the system being capable of reconfiguring said plurality of devices; a memory containing a device manager and power management software which, if executed by the system, cooperates with said device manager to allow power management of said plurality of devices in the system and manages a power level of said plurality of devices.
71. The system of claim 70 wherein the plurality of devices are plug and play configurable devices.
72. The system of claim 70 wherein said plurality of devices comprises:
an I/O device; and a processor.
73. The system of claim 72 wherein said power management software, if executed, places said I/O device in a reduced power consumption state if said I/O device is inactive for a first duration.
74. The system of claim 73 wherein said power management software, if executed, places said processor in a reduced processor power consumption state if said system is inactive for a second duration.
75. The system of claim 73 wherein the power manager operates at a kernel level of an operating system for the system, and wherein said device manager comprises a plug and play manager.
76. The system of claim 75 wherein said power management software, if executed, communicates with said plug and play manager to update data structures if configuration changes occur to allow power management of dynamically reconfigurable devices.
77. The system of claim 70 wherein said power management software, if executed, provides support for idle detection said plurality of devices.
78. A system comprising:
a device; a processor; a memory containing power management software which, if executed by said system coordinates power management for a plurality of devices; and registers with a configuration manager to be notified of configuration changes for any of said plurality of devices.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.