Method for flashing a read only memory (ROM) chip of a host...

Electrical computers and digital processing systems: support – Reconfiguration

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C713S002000, C713S001000, C710S001000, C711S202000, C711S201000, C711S115000, C711S159000, C711S170000, C709S221000

Reexamination Certificate

active

06282647

ABSTRACT:

BACKGROUND OF THE INVENTION
1. Field of the Invention
This invention relates generally to computers systems, and more particularly to the updating of computer code implemented to boot up a computer system.
2. Description of the Related Art
Today's personal computer systems provide users with a high degree of flexibility in terms of the number of peripheral devices that may be connected to a given system. For instance, users are able to connect additional internal and external peripheral devices to meet the storage or data access demands required to complete the user's job. Such peripheral devices can include internal or external hard drives, compact disc (CD) players, digital video disc (DVD) players, compact disc recordables (CD-Rs), etc.
To meet the connection needs for these peripheral devices, most computers have IDE connectors and PCI connectors built into the computer's motherboard. Typically, the IDE connectors are used to connect internal devices, such as, hard drives and CD-ROM drives. The PCI connectors are generally configured to receive host adapter cards, which allow the connection of both internal and external devices. As is well known, there are numerous types of host adapters, some of the most commonly used are SCSI host adapters, redundant array of inexpensive disk (RAID) host adapters, and the like. SCSI host adapters are one of the most popular adapters due to peripheral device arrangement flexibility and performance. For instance, one SCSI host adapter can serve as the communication link for up to 15 internal and external peripheral devices.
Most host adapters have option ROM chips integrated onto the printed circuit board of the host adapter card. The option ROM chip is typically an electrically erasable programmable read only memory (EEPROM), which stores program instructions that are used during the boot process of the computer system that has the host adapter card connected thereto. Without these program instructions, the host adapter card and any of the peripheral devices connected to the host adapter card will not be able to communicate with the host computer system, and thus, will be rendered useless. From time to time, the manufacturers of these host adapters find it useful to update the program instructions that are resident in the option ROM chips. Unfortunately, because more than one host adapter card may be connected to a particular computer system, this updating can become problematic in view of the limited space available in the system RAM for this function.
To further elaborate on this problem, it is useful to generally understand the booting process of a computer system having PCI host adapters connected thereto. During bootup, the system BIOS will assign each PCI host adapter to certain memory space in the system RAM. This memory space is used to enable the computer's operating system to communicate with particular registers that are resident on the PCI host adapter card. In general, the system RAM will ask each host adapter to identify how much RAM memory space it needs, and then, that space is allocated. It should be noted that there is only a fixed range of memory space that can be used for PCI devices. A further complication is that different computer manufacturers utilize different system BIOS, which allocate the available RAM memory space in different ways. Accordingly, the memory address location allocated for a given PCI device by one system BIOS may well be different if it is allocated by a system BIOS of another manufacturer.
In order to effectuate an update of the program instructions of a given option ROM chip, the host adapter containing the desired option ROM chip is identified. To update these program instructions, the entire contents of the program instructions also have to be written to the system RAM, in the same location that was previously allocated for the host adapter. Because program instruction updates continue to provide added functionality or operate to fix errors in existing code, the size of the update can be quite large. The problem here is, that the new code may be of a size that it may require memory space that is already occupied by other PCI devices. When this occurs, the update will not be made because there will be no space available in the system RAM. As can be appreciated, there are many reasons why there is a need to update the code in option ROMs, and if this updating is not possible, the computer user can lose some or fail to utilize all of the functionality provided by the peripheral devices that are connected to the host adapter.
In view of the foregoing, there is a need for a method and computer code utility for programming code updates into option ROM chips of host adapters.
SUMMARY OF THE INVENTION
Broadly speaking, the present invention fills these needs by providing a computer implemented method for programming option ROM chips with updated code utilizing a free space memory allocation utility. The free space memory allocation utility is configured to intelligently redirect start address of memory space previously allocated by other host adapters which lie in memory space needed by the updated code. Once the updated code is flashed to the desired option ROM chip, the redirected start address are restored. It should be appreciated that the present invention can be implemented in numerous ways, including as a process, an apparatus, a system, computer readable media, or a device. Several inventive embodiments of the present invention are described below.
In one embodiment, a programming method for flashing a read only memory (ROM) chip of a host adapter with an updated BIOS code is disclosed. The host adapter is connected to a host computer system. The method includes building a table having start address information and memory size information of memory space occupied in the random access memory (RAM) of the host computer system by one or more PCI host adapters which are connected to the computer system via a PCI bus. The method then moves to identifying a selected PCI host adapter having a ROM chip. A desired amount of memory space for an updated option ROM code is then mapped between the RAM of the host computer system and the ROM chip. Now, a start address in RAM of an additional PCI host adapter that is determined to lie within the desired amount of memory space is redirected. Preferably, the redirection is temporarily made to zero. The method now moves to loading the updated option ROM code into the desired amount of memory space in RAM and in the ROM chip of the selected host adapter. In this preferred embodiment, the method also includes restoring the start address in RAM of the additional PCI host adapter after the loading of the updated option ROM code is complete. If there is more than one host adapter occupying space in the desired amount of memory space, each of the start addresses of those host adapters is also temporarily redirected to zero while the loading is performed.
In another embodiment, a method for programming a read only memory (ROM) chip of a host adapter that is connected to a computer system is disclosed. The method includes: (a) scanning for PCI host adapters that are connected to the computer system; (b) building a table having start address information and memory size information of memory space occupied in random access memory (RAM) by the PCI host adapters; (c) identifying a selected PCI host adapter having a ROM chip that is configured to be programmed with an updated option ROM code, such that the selected PCI host adapter is associated with a selected start address and a selected memory size; (d) mapping a desired amount of memory space for the updated option ROM code from RAM to the ROM chip; (e) identifying ones of the PCI host adapters having memory space in RAM in the desired amount of space beginning with the selected start address and extending for an update memory size; (f) redirecting start addresses of the ones of the PCI host adapters lying within the desired amount of space in RAM; and (g) loading the updated option ROM code into

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Method for flashing a read only memory (ROM) chip of a host... 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 for flashing a read only memory (ROM) chip of a host..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Method for flashing a read only memory (ROM) chip of a host... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-2495737

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.