Performance optimization of computer system by dynamically and immediately updating a configuration setting based on detected change in preferred use
First Claim
1. A method of optimizing performance of a computer system, comprising:
- detecting a modification of a use preference of said computer system when running an operating system, comprising;
receiving a change notification signal from executive services of said computer system upon a newly made selection by a user; and
dynamically and immediately updating a configuration setting of at least one of a system BIOS, a firmware component, and system hardware of said computer system based on said detected modification of said use preference without the need for re-booting of the computer system.
5 Assignments
0 Petitions
Accused Products
Abstract
An apparatus and method for optimizing the performance of a computer system based on the preferred use of the computer system are described. Upon an indication by the user of the computer system of the primary role, i.e., a file server or a desk top publisher, etc., which the computer is to play, the inventive performance optimization process, which may be implemented as the hardware abstraction layer (HAL) of the operating system (OS), detects the indicated use preference, and updates the system BIOS settings and/or configuration register settings of any other firmware throughout the computer system to optimize the entire computer system for the indicated use of the computer system. A tuning table that maps the use preference to the optimal configuration settings of the BIOS and/or the firmware may be stored in a non-volatile memory for a fast and convenient performance optimization. The optimal configuration settings may be determined empirically for a continuous enhancement of the optimization scheme. The enhancement upgrade of the tuning table may be downloaded from a remote server.
120 Citations
20 Claims
-
1. A method of optimizing performance of a computer system, comprising:
-
detecting a modification of a use preference of said computer system when running an operating system, comprising;
receiving a change notification signal from executive services of said computer system upon a newly made selection by a user; and
dynamically and immediately updating a configuration setting of at least one of a system BIOS, a firmware component, and system hardware of said computer system based on said detected modification of said use preference without the need for re-booting of the computer system. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
making a copy of said use preference; and
storing said copy of said use preference in a non-volatile memory.
-
-
3. The method of optimizing performance of a computer system in accordance with claim 2, further comprising:
providing a tuning table in said non-volatile memory, said tuning table defined a relationship between said use preference and said configuration setting.
-
4. The method of optimizing performance of a computer system in accordance with claim 3, wherein:
said relationship between said use preference and said configuration setting of said at least one of said system BIOS and said firmware component is defined empirically.
-
5. The method of optimizing performance of a computer system in accordance with claim 3, further comprising:
updating said tuning table with a newly defined relationship between said use preference and said configuration setting.
-
6. The method of optimizing performance of a computer system in accordance with claim 5, wherein said step of updating said tuning table comprises:
downloading said newly defined relationship from a remote server.
-
7. The method of optimizing performance of a computer system in accordance with claim 5, wherein said step of updating said tuning table comprises:
receiving said newly defined relationship directly inputted by a user of said computer system.
-
8. The method of optimizing performance of a computer system in accordance with claim 5, wherein said step of updating said tuning table comprises:
-
monitoring performance of said computer system;
re-defining said relationship between said use preference and said configuration setting based on said monitored performance of said computer system to produce said newly defined relationship; and
replacing said relationship between said use preference and said configuration setting with said newly defined relationship.
-
-
9. An apparatus for optimizing performance of a computer system, comprising:
-
a modification detector adapted to detect, when running an operating system, a modification of a use preference of said computer system by receiving a change notification signal from executive services of said computer system upon a newly made selection by a user; and
a firmware optimizer adapted to dynamically and immediately update a configuration setting of at least one of a system BIOS, a firmware component, and system hardware of said computer system based on said detected modification of said use preference. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16, 17, 18, 19)
a non-volatile memory operable to store said use preference.
-
-
11. The apparatus for optimizing performance of a computer system according to claim 10, further comprising:
a tuning table stored in said non-volatile memory, said tuning table defining a relationship between said use preference and said configuration setting.
-
12. The apparatus for optimizing performance of a computer system according to claim 11, further comprising:
communication means for downloading a newly defined relationship from a remote server, said newly defined relationship being an empirically determined enhancement of said relationship between said use preference and said configuration setting.
-
13. The apparatus for optimizing performance of a computer system according to claim 11, further comprising:
user input means for receiving a newly defined relationship directly inputted by a user of said computer system, said newly defined relationship being an empirically determined enhancement.
-
14. The apparatus for optimizing performance of a computer system according to claim 11, further comprising:
-
a performance monitoring logic for monitoring performance of said computer system; and
a tuning table update logic for replacing said relationship between said use preference and said configuration setting with a newly defined relationship, said newly defined relationship being determined according to said monitored performance of said computer system.
-
-
15. The apparatus for optimizing performance of a computer system according to claim 9, wherein said configuration setting component of said computer system comprises:
a content of at least one register of a DMA handler of an I/O bridge device.
-
16. The apparatus for optimizing performance of a computer system according to claim 9, wherein said configuration setting of said computer system comprises:
a content of at least one register of a cache controller device.
-
17. The apparatus for optimizing performance of a computer system according to claim 9, wherein said configuration setting of said computer system comprises:
a content of at least one register of a memory controller device.
-
18. The apparatus for optimizing performance of a computer system according to claim 10, wherein said non-volatile memory comprises:
a non-volatile random access memory (NVRAM).
-
19. The apparatus for optimizing performance of a computer system according to claim 10, wherein said non-volatile memory comprises:
an EEPROM.
-
20. A hardware abstraction layer (HAL) of an operating system for a computer system, comprising:
-
a modification detector adapted to detect, when running an operating system, a modification of a use preference of said computer system by receiving a change notification signal from executive services of said computer system upon a newly made selection by a user; and
a firmware optimizer adapted to dynamically and immediately update a configuration setting of at least one of a system BIOS, a firmware component, and system hardware of said computer system based on said detected modification of said use preference.
-
Specification