A system and method to reduce the time for system initializations is disclosed. In accordance with the invention, data accessed during a system initialization is loaded into a non-volatile cache and is pinned to prevent eviction. By pinning data into the cache, the data required for system initialization is pre-loaded into the cache on a system reboot, thereby eliminating the need to access a disk.
The present invention discloses an information handling system that reduces POST time in a boot operation. The information handling system includes a processor, a memory and a BIOS unit. The BIOS also includes memory test pointer and a test block size indicator. During the POST routine, the BIOS tests at least one test block during at least one idle period.
The invention discloses a method for loading data from a disk. The method may comprise comparing a current sequence of disk requests to data indicative of a previous disk request sequence. Responsive to detecting a match between the current disk sequence and the previous disk I/O sequence, a copy of data blocks accessed during the current disk sequence may be stored in a contiguous portion of the disk. Responsive to a subsequent request for data in the disk sequence, the request may be mapped to and serviced from the sequential portion of the disk: The continuous portion of the disk to which the data is copied may be on a different partition of the disk than a disk partition on which the original data is stored. A sequence of disk accesses may be recorded. Responsive to retrieving data from the continuous portion, additional data from the contiguous portion of the disk may be prefetched and may be cached in a buffer. Responsive to an I/O request, it may be determined whether the requested data resides in the buffer, and if so, the data from the buffer may be retrieved without accessing the hard disk. In an exemplary embodiment, the disk sequence may represent a boot sequence of the system.
A method for accelerating an operating system boot process is disclosed. In one exemplary embodiment, during a first operating system boot, information regarding the physical locations of disk access performed by the operating system to complete the boot are recorded and stored in a control data file. The control data file is used during a second operating system boot to predict which data will be required during the second operating system, and to populate a cache with that data. The cache can then be used to improve the second operating system boot to improve the boot time. In one embodiment, the information is independent of a file system of the operating system. In another embodiment, the cache can be populated by copying data from a mass storage device to a cache, and when the data is used, it can be moved from the cache to another cache.
Briefly, in accordance with an embodiment of the invention, a method to generate cache data is provided, wherein the method includes identifying access data transmitted from a storage device during execution of a predetermined software program and generating cache data using the identified access data.
An apparatus and method to de-allocate data in a cache memory is disclosed. Using a clock that has a predetermined number of periods, the invention provides a usage timeframe information to approximate the usage information. The de-allocation decisions can then be made based on the usage timeframe information.