Claims
- 1. A data processing system comprising:
a host central processing unit (CPU); a mass storage device; and a boot process optimizer, for storing copies of boot data requested from the mass storage device by the host CPU during a boot process, such stored boot data being determined during execution of an initial boot process by the CPU, and such boot data being stored in a nonvolatile cache memory, the non-volatile cache memory having a faster access time than the mass storage device, so that the boot data is available to be read from the cache memory to decrease the execution time of a subsequent boot process, with the boot process optimizer only using predetermined portions of the non-volatile cache memory for storing boot data, so that other regions of the cache memory are available for caching host CPU requests for data from the mass storage device subsequent to the boot processes.
- 2. An apparatus as in claim 1 wherein the boot data remains in the cache memory after the boot sequence terminates.
- 3. An apparatus as in claim 1 wherein the boot sequence processing is terminated after a maximum number of cache locations dedicated to storing boot data is reached.
- 4. An apparatus as in claim 1 wherein the cache memory comprises a plurality of cache slots, each cache slot containing one or more memory locations, and wherein a Locked in Memory (LIM) flag associated with each cache slot is used to determine if the respective slot is presently dedicated for storing boot data.
- 5. An apparatus as in claim 1 wherein the cache memory comprises a plurality of cache slots, each cache slot containing one or more memory locations, and wherein a usage counter is associated with each cache slot.
- 6. An apparatus as in claim 1 wherein the usage counter for a cache slot is incremented each time it is accessed during a boot sequence.
- 7. An apparatus as in claim 1 wherein the usage counters are decremented prior to the execution of a boot sequence, and wherein an associated Locked in Memory (LIM) flag is cleared if the usage counter is decremented to a predetermined value as a result.
- 8. An apparatus as in claim 1 wherein the boot data stored is determined from parameters of the requests made by the host CPU during the boot process, so that the boot process optimizer is capable of running independently of a host CPU operating system.
- 9. An apparatus as in claim 9 wherein the boot data is operating system data.
- 10. An apparatus as in claim 9 wherein the boot data is application program data.
- 11. An apparatus as in claim 1 wherein the boot process optimizer is implemented in a cache memory controller located in-line between the host CPU and the mass storage device.
- 12. An apparatus as in claim 1 wherein the boot process optimizer is implemented in an on-drive disk controller.
- 13. An apparatus as in claim 1 wherein the boot process optimizer is implemented in a cache memory controller located in the host CPU.
- 14. An apparatus as in claim 14 wherein the cache is an instruction cache.
- 15. An apparatus as in claim 1 wherein the boot process optimizer is implemented in a host input/output bus adapter.
- 16. An apparatus as in claim 1 wherein the mass storage device is a disk drive.
- 17. An apparatus as in claim 1 wherein the mass storage device is a semiconductor memory.
- 18. An apparatus as in claim 5 wherein any cache slot having its respective LIM flag set is not available for cache replacement during post boot operation.
RELATED APPLICATIONS
[0001] This application claims the benefit of U.S. Provisional Application No. 60/340,656, filed Dec. 14, 2001. The entire teachings of the above application are incorporated herein by reference.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60340656 |
Dec 2001 |
US |