GB2399188A - Reducing the boot-up time of a computer system - Google Patents

Reducing the boot-up time of a computer system Download PDF

Info

Publication number
GB2399188A
GB2399188A GB0304873A GB0304873A GB2399188A GB 2399188 A GB2399188 A GB 2399188A GB 0304873 A GB0304873 A GB 0304873A GB 0304873 A GB0304873 A GB 0304873A GB 2399188 A GB2399188 A GB 2399188A
Authority
GB
United Kingdom
Prior art keywords
segments
sequence
storage
boot
disk
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
GB0304873A
Other versions
GB2399188B (en
GB0304873D0 (en
Inventor
Albert Stephen Hilditch
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Services Ltd
Original Assignee
Fujitsu Services Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Services Ltd filed Critical Fujitsu Services Ltd
Priority to GB0304873A priority Critical patent/GB2399188B/en
Publication of GB0304873D0 publication Critical patent/GB0304873D0/en
Publication of GB2399188A publication Critical patent/GB2399188A/en
Application granted granted Critical
Publication of GB2399188B publication Critical patent/GB2399188B/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping

Abstract

A technique is described for reducing the time required for a computer system to boot up from a storage unit, having a dedicated microcontroller with firmware for controlling storage accesses. The microcontroller firmware records the addresses of the sequence of segments accessed during a predetermined period following powering-up of the system, and then reorders the segments on the storage so as to reduce the access time for this sequence of segments the next time the system is booted up.

Description

2399 1 88 Reducing the boot-up time of a computer system
Background to the invention
This invention relates to computer systems. More specifically, the invention is concerned with reducing the boot-up time of a computer system.
Each time a computer system is powered up, it goes through a boot-up sequence. This typically performs a power-on self test, and then loads the operating system kernel and essential device drivers from the disk drive into the main system memory. The boot-up sequence can take a significant time, which can be very inconvenient for the user.
US Patent No. 5920896 describes a proposal for reducing boot-up time. During an initial phase of the system start-up, a tracer program is loaded. This logs disk accesses made during the boot-up sequence, and stores the results in a temporary buffer in memory. The trace data is then processed to generate a reallocation vector, specifying how the disk blocks should be reallocated so as to speed up the sequence of disk accesses.
The blocks are then relocated on the disk as stipulated by the reallocation vector. As a result, the next time the system is started up, the boot-up will be faster.
However, a problem with this is that it cannot optimise the entire boot sequence; it can only optimise the portion of the boot sequence after the trace program has been loaded. Another problem is that the trace program and reallocation programs are both dependent on the operating system, and therefore have to be tailored to the particular operating system.
The object of the present invention is to provide an improved technique for reducing the boot-up time of a computer system, which does not suffer from these problems.
Summary of the invention
According to the invention, a computer system includes a storage unit having a dedicated microcontroller with firmware for controlling storage accesses, the microcontroller firmware including! À means for recording the addresses of the sequence of segments accessed during a predetermined period following powering-up of the system, and À means for reordering the segments on the storage so as to reduce the access time for this sequence of segments the next time the system is powered up.
Because this technique is implemented by the storage unit sub- system firmware, rather than the operating system, the whole of the boot sequence can be optimized, not just those portions of the boot sequence subsequent to loading of a tracer program.
Moreover, because it is not dependent on the operating system, it is cheaper to implement.
As will be described, the reordering of the segments may be performed either by moving the segments, or by copying them.
Brief description of the drawing
Figure 1 is a block schematic diagram of a computer system including a disk sub-system.
Figure 2 is a flow chart showing the operation of a sequence in the disk sub-system firmware for accessing a disk segment.
Figure 3 is a schematic diagram showing the allocation of boot sectors on the disk before optimization.
Figure 4 is a schematic diagram showing the allocation of boot sectors on the disk after optimization by moving segments.
Figure 5 is a schematic diagram showing the allocation of boot sectors on the disk after optimization by copying segments.
Description of an embodiment of the invention
Figure 1 shows a computer system, which in this example is a personal computer (PC) system. The system comprises a central processing unit (CPU) 10, connected by a system bus 11 to a number of other units, including a main memory (RAM) 12, a read- only memory (ROM) 13, and at least one disk sub-system 14.
The ROM 13 holds primary boot-up code, which runs whenever the system is powered up. This code performs a power-on self test, and then loads the operating system kernel and essential device drivers from the disk subsystem 14 (or from a designated one of the disk sub-systems, if there are more than one of them) into the main system memory.
The (or each) disk sub-system 14 includes a magnetic fixed disk drive (hard disk) 15, a dedicated microcontroller 16, and a ROM 17. The ROM 17 stores firmware for controlling the microcontroller in response to commands from the CPU 10. These include firmware sequences for reading and writing specified disk segments.
The firmware uses two parameters, Observation and BootCountDown.
À Observation is a boolean parameter, which indicates whether the sequence of disk accesses is to be observed and recorded.
In the case of a boot disk, Observation is initially turned ON when the disk drive is powered up. In the case of a non-boot disk, Observation is initially turned OFF. The initial setting of Observation can be controlled by a jumper switch (not shown) on the outside of the disk sub-system, or by a SCSI or IDE command from the primary boot up code.
À BootCountDown is a count value, which defines the period during which the observation (if any) is to take place.
BootCountDown is initially set to a predetermined value. This I period is chosen to be long enough to include the loading time of all the programs that are to be loaded in the normal boot up process. I Figure 2 shows the firmware sequence performed when the disk sub-system receives a command for accessing a disk segment (for read or write).
(Step 21) The firmware first accesses the required disk segment, and reads or writes the data to or from the CPU.
(Step 22) The firmware then tests the Observation parameter. If Observation is OFF, the sequence exits.
(Step 23) If Observation is ON, the firmware records the segment address in a temporary buffer. This buffer may be on the disk I or, for better performance, in the microcontroller's volatile memory (not shown).
(Step 24) BootCountDown is decremented by one.
(Step 25) If BootCountDown is greater than zero, the sequence exits.
(Step 26) If on the other hand BootCountDown has now reached zero, the firmware switches Observation OFF, and initiates a remapping process (Step 27), before exiting.
The remapping process runs as a background task on the microcontroller 16. The process re-orders all the segments that were accessed during the BootTime period, so as to physically relocate them in a series of contiguous locations of the disk, in the order in which they were accessed. The re-ordering may be done either by moving or by copying the segments.
For example, figure 3 shows a number of segments on the disk, prior to reordering. These segments are labelled 1 - 6 to indicate the order in which they were accessed during boot-up.
It can be seen that these segments are scattered around the disk in a random manner, resulting in excessive head movement and hence slow access.
In the case where re-ordering is done by moving the segments, each segment in turn (other than the first) is moved to a position on the disk immediately following the previously accessed segment in the sequence. This is illustrated in figure 4.
In the case where re-ordering is done by copying the segments, each of the segments in turn is copied to a reserved cache area on the disk. This is illustrated in figure 5. In this case, the firmware sequence for accessing the disk (figure 2) is modified so as to access the cache copy of the segments, rather than the original.
In either case, it can be seen that the result of the re- ordering is to arrange the segments in contiguous sequential locations, in the order in which they were accessed during boot- up. As a result, the next time the system is booted up, the segments can be accessed much more quickly, thereby reducing the time taken for boot- up.
Some possible modifications It will be appreciated by those skilled in the art that many modifications may be made to the example as described above without departing from the scope of the invention.
For example, instead of defining the observation period in terms of the number of accesses (by means of the BootCountDown parameter), the observation period could alternatively be defined in terms of an actual time value (e.g. a number of seconds).
Means could be provided for allowing the user to switch between the two reordering modes (moving and copying) described above.
The invention could also be used within a SCSI controller card or disk sub-system controller card.
Although the example described above is a personal computer system, the invention is equally applicable to other types of computer system where a boot-up sequence is performed.
Although the example described above uses a magnetic hard disk, it will be appreciated that the invention is equally applicable to other types of storage device that may be used for boot-up.

Claims (9)

1. A computer system including a storage unit having a dedicated microcontroller with firmware for controlling storage accesses, wherein the microcontroller firmware includes À means for recording the addresses of the sequence of segments accessed during a predetermined period following powering-up of the system, and À means for reordering the segments on the storage so as to reduce the access time for this sequence of segments the next time the system is powered up.
2. A system according to claim 1 wherein the segments are reordered by moving them to new locations on the storage.
3. A system according to claim 1 wherein the segments are reordered by copying them to new locations on the storage.
4. A system according to any preceding claim wherein the segments are reordered into contiguous sequential locations.
5. A system according to any preceding claim wherein the storage unit is a magnetic disk unit.
6. A system according to any preceding claim wherein the predetermined period is user-configurable.
7. A storage unit having a dedicated microcontroller with firmware for controlling storage accesses, wherein the microcontroller firmware includes À means for recording the addresses of the sequence of segments accessed during a predetermined period following powering-up of the unit, and À means for reordering the segments on the storage so as to reduce the access time for this sequence of segments the next time the unit is powered up.
8. A computer system substantially as hereinbefore described with reference to the accompanying drawings.
9. A storage unit substantially as hereinbefore described with reference to the accompanying drawings.
GB0304873A 2003-03-04 2003-03-04 Reducing the boot-up time of a computer system Expired - Lifetime GB2399188B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
GB0304873A GB2399188B (en) 2003-03-04 2003-03-04 Reducing the boot-up time of a computer system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
GB0304873A GB2399188B (en) 2003-03-04 2003-03-04 Reducing the boot-up time of a computer system

Publications (3)

Publication Number Publication Date
GB0304873D0 GB0304873D0 (en) 2003-04-09
GB2399188A true GB2399188A (en) 2004-09-08
GB2399188B GB2399188B (en) 2005-11-30

Family

ID=9954050

Family Applications (1)

Application Number Title Priority Date Filing Date
GB0304873A Expired - Lifetime GB2399188B (en) 2003-03-04 2003-03-04 Reducing the boot-up time of a computer system

Country Status (1)

Country Link
GB (1) GB2399188B (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102004047369A1 (en) * 2004-09-29 2006-03-30 Siemens Ag Data processing device e.g. smart-phone, has tree manager to execute booting operation by transferring data segments from hard disk into read only memory based on shortest path
US11416263B1 (en) * 2021-02-12 2022-08-16 Western Digital Technologies, Inc. Boosted boot procedure by background re-arrangement of read patterns

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5920896A (en) * 1997-03-21 1999-07-06 Intel Corporation Reducing operating system start-up/boot time through disk block relocation
US6202121B1 (en) * 1998-04-15 2001-03-13 Microsoft Corporation System and method for improved program launch time
US6240527B1 (en) * 1997-09-05 2001-05-29 Roxio, Inc. Method software and apparatus for saving using and recovering data
US6317875B1 (en) * 1999-01-15 2001-11-13 Intel Corporation Application execution performance through disk block relocation

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5920896A (en) * 1997-03-21 1999-07-06 Intel Corporation Reducing operating system start-up/boot time through disk block relocation
US6240527B1 (en) * 1997-09-05 2001-05-29 Roxio, Inc. Method software and apparatus for saving using and recovering data
US6202121B1 (en) * 1998-04-15 2001-03-13 Microsoft Corporation System and method for improved program launch time
US6317875B1 (en) * 1999-01-15 2001-11-13 Intel Corporation Application execution performance through disk block relocation

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102004047369A1 (en) * 2004-09-29 2006-03-30 Siemens Ag Data processing device e.g. smart-phone, has tree manager to execute booting operation by transferring data segments from hard disk into read only memory based on shortest path
US11416263B1 (en) * 2021-02-12 2022-08-16 Western Digital Technologies, Inc. Boosted boot procedure by background re-arrangement of read patterns
US20220261255A1 (en) * 2021-02-12 2022-08-18 Western Digital Technologies, Inc. Boosted Boot Procedure By Background Re-Arrangement Of Read Patterns
CN114968381A (en) * 2021-02-12 2022-08-30 西部数据技术公司 Improving boot process by background rearrangement of read modes

Also Published As

Publication number Publication date
GB2399188B (en) 2005-11-30
GB0304873D0 (en) 2003-04-09

Similar Documents

Publication Publication Date Title
US6963951B2 (en) Partition recovery method
US6408357B1 (en) Disk drive having a cache portion for storing write data segments of a predetermined length
JP4422652B2 (en) Incremental merge method and memory system using the same
US20090049255A1 (en) System And Method To Reduce Disk Access Time During Predictable Loading Sequences
US8266611B2 (en) Hard disk drive with disk embedded DOS boot image and firmware download method
EP0978040B1 (en) Memory device
US20040268070A1 (en) Method and apparatus for backing up data in virtual storage medium
US20040044886A1 (en) Partition recovery method
US11188267B2 (en) Method and apparatus and computer program product for handling sudden power off recovery
US7174421B2 (en) HDD with rapid availability of critical data after critical event
US20060277353A1 (en) Virtual tape library device, virtual tape library system, and method for writing data to a virtual tape
US20060218361A1 (en) Electronic storage device with rapid data availability
JPH0115903B2 (en)
DE102005051265A1 (en) Method and system for accessing audiovisual data in a computer
GB2399188A (en) Reducing the boot-up time of a computer system
JP6100750B2 (en) Device with memory and controller and device with data storage device
US6209057B1 (en) Storage device having data buffer
US20050240686A1 (en) Method for downloading firmware of peripheral equipment, and peripheral equipment
KR100692958B1 (en) Portable solid state drive with emulator
US20050125651A1 (en) Method for providing critical data in an HDD after critical event
CN103631564A (en) Method for protecting a gpt cached disks data integrity in an external operating system environment
JP3951808B2 (en) Hard disk drive subsystem
JPH0635622A (en) External storage device
US20050071558A1 (en) Method and apparatus for increasing storage capacity in a disk array system
JP2010027140A (en) Reading device for hard disk driving device, and copying device with reading device for hard disk driving device

Legal Events

Date Code Title Description
PE20 Patent expired after termination of 20 years

Expiry date: 20230303