Electrical computers and digital processing systems: support – Digital data processing system initialization or configuration – Loading initialization program
Reexamination Certificate
1999-12-06
2003-05-20
Lee, Thomas (Department: 2185)
Electrical computers and digital processing systems: support
Digital data processing system initialization or configuration
Loading initialization program
C713S001000, C711S100000
Reexamination Certificate
active
06567911
ABSTRACT:
BACKGROUND OF THE INVENTION
1. Field of the Invention
This invention relates generally to the field of computing technology and more particularly concerns the initialization routine of a computer system which prepares the system for the loading of an operating system.
2. Description of the Related Art
During a computer system's initialization routine, commonly referred to as a boot sequence, a variety of diagnostics are performed to ascertain the availability and status of hardware devices and ensure proper operation of components. For example, during initialization, a system BIOS executes a boot program which invokes a series of system checks to ascertain the location, number and identity of various devices connected to the computer system. The processing components may be a variety of host adapter cards including, by way of example only, a video display adapter, a network adapter, a SCSI adapter or other similar device. Further, these host adapters cards may either be non-processor based, such as some SCSI and RAID controllers, or may be processor based, such as some high end or low end RAID controllers.
In any event, each of these processing components have an associated option ROM BIOS chip
20
, as shown in FIG.
1
A. The option ROM BIOS chip
20
includes program instructions known as the option ROM BIOS, and is also referred to herein as a BIOS image
22
. As the need for more functionality in the initialization process continues to grow, the BIOS image
22
necessarily grows in size. A typical size of a BIOS images
22
utilized in RAID controller applications is about 64K. The contents of the BIOS image
22
includes, among other things, a header, memory allocator code, decompressor code, runtime code, initialization code, and configuration utility code. A typical processor-based RAID controller, such as the AAA-130SA U
LTRA
W
IDE
SCSI RAID Card manufactured by the Adaptec, Inc. of Milpitas, Calif. may have a compressed BIOS image size of approximately 64K.
At boot-up, the system BIOS loads the BIOS image
22
to the system RAM
40
. As is well known, the BIOS image
22
is loaded to an area of the system RAM that is dedicated for this use. As shown in
FIG. 1B
, a hexadecimal address range between C800:00 and DFFF:00 is often referred to as option ROM memory space. For discussion purposes, it should be assumed that BIOS image-
1
22
a
represents the copied 64K BIOS image
22
. Once the BIOS image is copied to this memory space, selected portions of the BIOS image are decompressed and copied to conventional memory
42
. The decompressed code is then implemented to initialize the host adapter associated with the option ROM BIOS chip
20
.
Although no problems arise during the initialization of option ROM BIOS chip
20
, there many situations in which a computer system needs to initialize several option ROM BIOS chips. Because the size of the BIOS image continues to grow, the option ROM memory space can be quickly consumed. This problem is pictorially illustrated in
FIG. 1B
, where four BIOS images
22
a
,
22
b
,
22
c
and
22
d
need to be copied to the option ROM memory space. In this example, BIOS image-
1
22
a
, BIOS image-
2
22
b
, and BIOS image-
3
22
c
were successfully copied, however, BIOS image-
4
22
d
did not fit within the fixed option ROM memory space. As such, the controller having the BIOS image
22
d
will not be initialized. Of course, if a controller is not initialized, the devices (e.g., hard disks, CD-ROMs, etc.) connected to the controller will not be available to the user of the computer system.
Were system BIOS to encounter uncompressed BIOS images, there might also be a problem because these uncompressed BIOS images might occupy a footprint of more than 64K. This would initially occupy even more memory when initially copied from an associated option ROM BIOS chip into the option ROM memory space. This problem of insufficient memory is further exacerbated by those systems operating in a BIOS boot specification (BBS) environment. In BBS, the system BIOS actually passes through an option ROM twice during a boot sequence, and each time the option ROM has a different size.
In view of the foregoing, what is needed is a new and improved methodology for conserving memory resources available to a computer system during execution of the system BIOS in order to reduce the amount of memory area that is occupied by the system's various BIOS images. Such an approach would thereby ensure proper initialization of the computer system.
SUMMARY OF THE INVENTION
Broadly speaking, the present invention fills these needs by providing computer implemented methods for conserving memory resources available to a computer system during execution of the system BIOS. To this end, the computer system includes a processing component, such as an adapter card or a controller, having an associated BIOS image. The BIOS image is characterized at least in part by a header, a runtime code and an initialization code. The computer system also preferably includes system memory (e.g., a system RAM) having an option ROM memory space of a confined size for accommodating a reduced portion of the BIOS image (e.g., a reduced footprint). The methods of the present invention are thus adapted to reduce the amount of memory within the option ROM memory space that is occupied by the BIOS image during execution of a boot sequence thereby to allow for proper initialization of the adapter card. In one embodiment, the BIOS image is contained in an option ROM BIOS chip, and the chip can be integrated onto a host adapter card or a motherboard. It should be appreciated that the present invention can be implemented in numerous ways, including as a process, an apparatus, a system, a device, a method, or a computer readable medium. Several inventive embodiments of the present invention are described below.
In one embodiment, a method of conserving memory resources available to a computer system during execution of system BIOS is provided. The computer system includes a processing component (e.g., a chip) having an associated BIOS image that is characterized at least in part by a header, a runtime code and an initialization code. The computer system further including a system RAM having an option ROM memory space of a confined size for accommodating at least a portion of the BIOS image, and the method is adapted to reduce the amount of memory within the option ROM memory space that is occupied by the BIOS image during execution of a boot sequence to allow for proper initialization of the processing component. The method includes loading into the option ROM memory space the portion including at least the header and runtime code that is associated with the BIOS image. The method then allocates conventional memory of the system RAM, and the allocated conventional memory is sized to accommodate at least a decompressed version of the initialization code associated with the BIOS image. Next, the method loads the decompressed version of the initialization code directly from the BIOS image into the allocated conventional memory. The decompressed version of the initialization code is then executed to initialize the processing component.
In another embodiment, a method of conserving memory resources available to a computer system during execution of a system BIOS is disclosed. The computer system includes an adapter card having an associated option ROM BIOS chip that includes a compressed BIOS image characterized at least by a header, a runtime code, a memory allocator code, a compressed initialization code, a compressed configuration utility and a decompressor code. The computer system further including a system RAM having an option ROM memory space of a confined size for accommodating at least a portion of the BIOS image. The method includes (a) executing the system BIOS; (b) loading the header, runtime code, and memory allocator code associated with the option ROM BIOS chip into the option ROM memory space; (c) passing control to the memory allocator code; (d) executing the memory allocator code t
Adaptec, Inc.
Cao Chun
Lee Thomas
Martine & Penilla LLP
LandOfFree
Method of conserving memory resources during execution of... does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Method of conserving memory resources during execution of..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Method of conserving memory resources during execution of... will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-3047232