Claims
- 1. A data processing system comprising:
a host central processing unit (CPU); a mass storage device; a boot process optimizer that learns the extent of data that is accessed during a start up process, and stores that extent data in a non-volatile memory, such that on subsequent start up processes, the extent data can be used to predictively read data from the mass storage device into memory prior to their being requested by the host CPU.
- 2. An apparatus as in claim 1 wherein the extent data are further processed to merge adjacent extents and/or overlapping extents into contiguous extent data.
- 3. An apparatus as in claim 1 additionally comprising:
means for reserving a region of a battery backed up memory as the non volatile memory for extent data.
- 4. An apparatus as in claim 1 wherein the boot process optimizer is implemented in dedicated disk controller hardware.
- 5. An apparatus as in claim 1 wherein the boot process optimizer is implemented in a host computer as a filter driver.
- 6. An apparatus as in claim 1 wherein the extent data is not known prior to at least one boot process, and is read during at least one initial boot processes, so that the implementation of the boot process optimizer is operating system independent.
- 7. An apparatus as in claim 1 wherein the boot extents are determined to be read requests from the host CPU to the mass storage device that occurs during a finite amount of time after a power on event.
- 8. An apparatus as in claim 1 wherein the mass storage device is a disk drive.
- 9. An apparatus as in claim 1 wherein a usage counter is included with the extent data.
- 10. An apparatus as in claim 9 wherein each time that extent data from a current boot matches extent data read from non volatile memory, the usage counter is incremented.
- 11. An apparatus as in claim 10 wherein if an extent in non volatile memory is found not to have been used during a current boot process, its respective usage counter is decremented by a predetermined factor.
- 12. An apparatus as in claim 11 wherein the amount by which the usage counter is incremented is greater than the amount by which the usage counter is decremented, so that more frequently accessed extent data is given priority over less frequently accessed extent data.
- 13. An apparatus as in claim 10 wherein if the usage counter is reduced to a predetermined value, the corresponding extent data is removed from the non volatile memory.
- 14. An apparatus as in claim 1 wherein the non volatile memory is a battery back up memory.
- 15. An apparatus as in claim 1 wherein the non volatile memory is a semiconductor Non Volatile Random Access Memory (NVRAM).
- 16. An apparatus as in claim 1 wherein the boot extent data is operating system data.
- 17. An apparatus as in claim 1 wherein the boot extent is application program data.
- 18. An apparatus as in claim 1 wherein the boot extent data is host CPU and operating system independent.
RELATED APPLICATIONS
[0001] This application claims the benefit of U.S. Provisional Application No. 60/340,344, filed Dec. 14, 2001 and also No. 60/340,656, filed Dec. 14, 2001. The entire teachings of the above applications are incorporated herein by reference.
Provisional Applications (2)
|
Number |
Date |
Country |
|
60340344 |
Dec 2001 |
US |
|
60340656 |
Dec 2001 |
US |