IP Library Granted Patent US 8,151,102
Granted Patent B2
US 8,151,102 · App. 12/412,758 · Granted Apr 3, 2012

System and methods for booting electronic devices

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,151,102
App. No.
12/412,758
Granted
Apr 3, 2012
Kind
B2
Abstract

The invention provides a boot method capable of reducing boot time even in the case of a change in the configuration of boot files. A boot file is booted from a hard disk drive in a computer equipped with a multitasking operating system. A plurality of tasks are observed, the tasks being created and sequentially executed in order to read out boot files. This observation is carried out at the corresponding boot and a log in the past boot is not used. On the basis of the observed boot files, a prefetch boot file is selected. The entire selected prefetch boot file is filled into a boot cache. The boot file is loaded from the boot cache to a main memory.

Claims (52)

1. A method comprising:

determining at least one prefetch boot file that when prefetched will optimally reduce delay in booting a multitasking operating system, the determining further comprising:

observing a plurality of tasks created and sequentially executed to be loaded from a hard disk drive; and

selecting the at least one prefetch boot file from the plurality of tasks;

filling a boot cache with the at least one prefetch boot file; and

loading the at least one prefetch boot file, read out after the filling step, from the boot cache during booting of the multitasking operating system.

2. The method according to claim 1 , wherein the determining step further comprises:

selecting boot files sequenced in an executable queue between two tasks reading out a same boot file as the at least one prefetch boot file.

3. The method according to claim 1 , wherein the determining step further comprises:

determining if a boot file exceeds a predetermined size value;

wherein, when it is determined that a boot file exceeds the predetermined size value, the boot file exceeding the predetermined size value is prefetched into the boot cache as the at least one prefetch boot file.

4. The method according to claim 1 , wherein the determining step further comprises:

determining an average read size per time for the at least one prefetch boot file;

determining a short-term moving average and a long-term moving average for the at least one prefetch boot file relative to a first cross point; and

determining the at least one prefetch boot file based on the short-term moving average and the long-term moving average;

wherein if the short term moving average is lower than the long term moving average, the at least one prefetch boot file comprises boot files executing after the first cross point.

5. The method according to claim 4 , wherein, when it is determined that the short-term moving average exceeds the long-term moving average at a second cross point, a prefetch to the boot cache is stopped.

6. The method according to claim 1 , wherein the filling step comprises filling an entire boot file.

7. The method according to claim 1 , wherein a boot driver releases the boot cache after completing the boot.

8. The method according to claim 1 , wherein the at least one prefetch boot file comprises boot files that are read by at least a predetermined number of tasks existing in a plurality of tasks registered in an executable queue; and

wherein the filling step comprises filling into the boot cache the boot files that are read by at least the predetermined number of tasks existing in the plurality of tasks registered in the executable queue.

9. The method according to claim 1 , wherein the plurality of tasks are observed by a boot driver loaded into memory during an initial stage of booting the multitasking operating system.

10. The method according to claim 1 , wherein the plurality of tasks are observed at regular time intervals during booting of the multitasking operating system.

11. The method according to claim 1 , wherein the boot cache is updated during booting of the multitasking operating system utilizing a least recently used (LRU) process.

12. An apparatus comprising:

a processor;

a tangible program storage device configured to store a program of instructions that when executed by the processor enable the apparatus to:

determine at least one prefetch boot file that when prefetched will optimally reduce delay in booting a multitasking operating system, determining at least one prefetch boot file comprising:

observing a plurality of tasks created and sequentially executed to be loaded from a hard disk drive; and

selecting the at least one prefetch boot file from the plurality of tasks;

fill a boot cache with the at least one prefetch boot file; and

load the at least one prefetch boot file, read out after filling, from the boot cache during booting of the multitasking operating system.

13. The apparatus according to claim 12 , wherein the program of instructions further enable the apparatus to select boot files sequenced in an executable queue between two tasks reading out a same boot file as the at least one prefetch boot file.

14. The apparatus according to claim 12 , wherein the program of instructions further enable the apparatus to determine if a boot file exceeds a predetermined size value;

wherein, when it is determined that a boot file exceeds the predetermined size value, the boot file exceeding the predetermined size value is prefetched into the boot cache as the at least one prefetch boot file.

15. The apparatus according to claim 12 , wherein the program of instructions further enable the apparatus to:

determine an average read size per time for the at least one prefetch boot file;

determine a short-term moving average and a long-term moving average for the at least one prefetch boot file relative to a first cross point; and

determine the at least one prefetch boot file based on the short-term moving average and the long-term moving average;

wherein if the short term moving average is lower than the long term moving average, the at least one prefetch boot file comprises boot files executing after the first cross point.

16. The apparatus according to claim 15 , wherein, when it is determined that the short-term moving average exceeds the long-term moving average at a second cross point, a prefetch to the boot cache is stopped.

17. The apparatus according to claim 12 , wherein the program of instructions further enable the apparatus to fill an entire boot file.

18. The apparatus according to claim 12 , wherein the program of instructions further enable the apparatus to release the boot cache after completing the boot.

19. The apparatus according to claim 12 , wherein:

the at least one prefetch boot file comprises boot files that are read by at least a predetermined number of tasks existing in a plurality of tasks registered in an executable queue;

wherein the program of instructions further enable the apparatus to fill into the boot cache the boot files that are read by at least the predetermined number of tasks existing in the plurality of tasks registered in the executable queue.

20. A program storage device readable by machine, tangibly embodying a program of instructions executable by a processor of the machine to:

determine at least one prefetch boot file that when prefetched will optimally reduce delay in booting a multitasking operating system via, determining at least one prefetch boot file comprising:

observing a plurality of tasks created and sequentially executed to be loaded from a hard disk drive; and

selecting the at least one prefetch boot file from the plurality of tasks;

fill a boot cache with the at least one prefetch boot file; and

load the at least one prefetch boot file, read out after filling, from the boot cache during booting of the multitasking operating system.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 10, 2025
From: LENOVO PC INTERNATIONAL LIMITED
To: LENOVO SWITZERLAND INTERNATIONAL GMBH
Reel/Frame 069870/0670 →
NUNC PRO TUNC ASSIGNMENT Recorded Nov 25, 2015
From: LENOVO (SINGAPORE) PTE LTD.
To: LENOVO PC INTERNATIONAL
Reel/Frame 037160/0001 →