Patent US5836013A successfully refreshed from Google Patents.
← Back to Patent Explorer
US5836013A Expired / Lapsed US ⏱️ 0.0 years remaining

Method and apparatus for compressing system read only memory in a computing system

Assignee: Kinglite Holdings Inc
•
Filing: 1994-08-11
•
Granted: 1998-11-10
•
Expires: 2014-08-11
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A chipset (platform)-independent method and apparatus for compressing and decompressing a system ROM of a computer (e.g., BIOS, setup program, and one or more option ROMs) are disclosed. The setup program, option ROM, and part of the BIOS are compressed using a lossless compression algorithm. A non-compressible portion of the BIOS includes a decompression algorithm and a shadow RAM block table of chipset-specific registers and bit patterns to write-enable and read-enable shadow RAM (RAM that is mapped to the ROM address space). The compressed data is stored in a compressed data block format with the associated location in memory to decompress the compressed data. Thus, the data can be decompressed anywhere in memory of a target computer. For example, the BIOS is decompressed to shadow RAM and the setup program is decompressed to conventional memory. During the BIOS Power-On Self-Test (POST) process, the compressed system ROM is copied to conventional memory, and the decompression program is executed. The decompression program write-enables shadow RAM (with reference to the the chipset-specific information in the shadow RAM block table), copies the non-compressible BIOS from conventional memory to shadow RAM, and read-enables shadow RAM. The decompression program scans the compressed system ROM for compressed data blocks and decompresses the compressed data therein to the associated locations in memory. If compressed data is located in shadow RAM, shadow RAM is enabled for writing and reading with reference to the chipset-specific information in the shadow RAM block table. If compressed data was decompressed to conventional memory space, this space is cleared before exiting the POST process.

Inventors

  • 👤 Todd Michael Greene
  • 👤 John Edward Hallin, Jr.

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-07 10:37
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/44; G06F9/4401; G06F9/22; G06F9/24

Claims Analysis

Total Claims: 36
Claim 1
Independent Claim 130 words
In a computer having a processor and storage, a computer-implemented method for generating a system read only memory (ROM) computer file that can access the ROM of a target computer, the method comprising the steps of: receiving, for processing by the processor, a system ROM computer file comprising a non-compressible portion and one or more compressible portions, including a setup program and one or more option ROM images, the non-compressible portion comprising a decompression program; appending, to the non-compressible portion, information on accessing the ROM of a target computer; compressing, via the processor, each compressible portion to generate compressed data; generating, via the processor, a compressed system ROM computer file comprising the compressed data and the appended non-compressible portion; and storing the compressed system ROM computer file in the storage.
Claim 2
Dependent Claim 130 words
In a computer having a processor and storage, a computer-implemented method for generating a system read only memory (ROM) computer file that can access the ROM of a target computer, the method comprising the steps of: receiving, for processing by the processor, a system ROM computer file comprising a non-compressible portion and one or more compressible portions, including a setup program and one or more option ROM images, the non-compressible portion comprising a decompression program; appending, to the non-compressible portion, information on accessing the ROM of a target computer; compressing, via the processor, each compressible portion to generate compressed data; generating, via the processor, a compressed system ROM computer file comprising the compressed data and the appended non-compressible portion; and storing the compressed system ROM computer file in the storage.
Claim 3
Dependent Claim 23 words
The method of claim 1 wherein the system ROM computer file comprises a basic input/output system (BIOS), the BIOS comprising the non-compressible portion.
Claim 4
Dependent Claim 31 words
The method of claim 1 wherein the information on accessing the ROM comprises a table of chipset-specific information on accessing shadow RAM in the ROM address space of the target computer.
Claim 5
Dependent Claim 23 words
The method of claim 1 wherein the ROM of the target computer is shadow random access memory (RAM) in the ROM address space.
Claim 6
Dependent Claim 39 words
The method of claim 1 wherein each compressible portion is compressed into a compressed data block comprising compressed data and a location in memory of the target computer for placing the compressed data when the compressed data is decompressed.
Claim 7
Dependent Claim 24 words
The method of claim 5 wherein the location is in shadow random access memory (RAM) in the ROM address space of the target computer.
Claim 8
Dependent Claim 24 words
The method of claim 1 further comprising the step of: storing the compressed system ROM computer file in the ROM of the target computer.
Claim 9
Dependent Claim 165 words
In a computer having a processor and storage, a computer-implement method for generating a system read only memory (ROM) computer file that can access the ROM of a target computer, the method comprising the steps of: receiving, for processing by the processor, a system ROM computer file comprising a non-compressible portion and one or more compressible portions, including a setup program, the non-compressible portion comprising a decompression program; appending, to the non-compressible portion, information on accessing shadow random access memory (ram) in the ROM address space of a target computer; compressing, via the processor, each compressible portion using a lossless compression algorithm to generate compressed portions; associating each compressed portion with a location in shadow RAM of the target computer for placing the compressed portion when the compressed portion is decompressed generating, via the processor, a compressed system ROM computer file comprising the appended non-compressible portion, the compressed portions and associated locations in memory; and storing the compressed system ROM computer file in the storage.
Claim 10
Dependent Claim 165 words
In a computer having a processor and storage, a computer-implement method for generating a system read only memory (ROM) computer file that can access the ROM of a target computer, the method comprising the steps of: receiving, for processing by the processor, a system ROM computer file comprising a non-compressible portion and one or more compressible portions, including a setup program, the non-compressible portion comprising a decompression program; appending, to the non-compressible portion, information on accessing shadow random access memory (ram) in the ROM address space of a target computer; compressing, via the processor, each compressible portion using a lossless compression algorithm to generate compressed portions; associating each compressed portion with a location in shadow RAM of the target computer for placing the compressed portion when the compressed portion is decompressed generating, via the processor, a compressed system ROM computer file comprising the appended non-compressible portion, the compressed portions and associated locations in memory; and storing the compressed system ROM computer file in the storage.
Claim 11
Dependent Claim 24 words
The method of claim 8 further comprising the step of: storing the compressed system ROM computer file in the ROM of the target computer.
Claim 12
Dependent Claim 122 words
In a computer having a processor and a conventional memory and a read only memory (ROM), a computer-implement method for decompressing a compressed system ROM computer file stored in the ROM, the method compressing the steps of: receiving, for processing by the processor, a compressed system ROM computer file comprising one or more compressed portions, including a setup program, and a non-compressed portion comprising a decompression program and information on accessing the ROM of the computer; copying the compressed system ROM computer file from the ROM to conventional memory; and decompressing each compressed portion in the conventional memory to a location in the memory according to program instructions in the decompression program copied to the conventional memory and executed on the processor.
Claim 13
Dependent Claim 122 words
In a computer having a processor and a conventional memory and a read only memory (ROM), a computer-implement method for decompressing a compressed system ROM computer file stored in the ROM, the method compressing the steps of: receiving, for processing by the processor, a compressed system ROM computer file comprising one or more compressed portions, including a setup program, and a non-compressed portion comprising a decompression program and information on accessing the ROM of the computer; copying the compressed system ROM computer file from the ROM to conventional memory; and decompressing each compressed portion in the conventional memory to a location in the memory according to program instructions in the decompression program copied to the conventional memory and executed on the processor.
Claim 14
Dependent Claim 24 words
The computer-implemented method of claim 10 wherein the system ROM computer file comprises a basic input/output system (BIOS), the BIOS comprising the non-compressed portion.
Claim 15
Dependent Claim 35 words
The computer-implemented method of claim 10 wherein the compressed system ROM computer file comprises a basic input/output system (BIOS) and the BIOS is decompressed to a location in shadow RAM in the ROM address space.
Claim 16
Dependent Claim 36 words
The computer-implemented method of claim 12 further comprising the step of: executing program instructions in the BIOS located in the shadow RAM on the processor, wherein the BIOS is executed upon exit of the decompression program.
Claim 17
Dependent Claim 15 words
The computer-implemented method of claim 10 wherein a compressed portion comprises an option ROM image.
Claim 18
Dependent Claim 30 words
The computer-implemented method of claim 10 wherein each compressed portion comprises compressed data and the location in the memory for placing the compressed data when the compressed data is decompressed.
Claim 19
Dependent Claim 20 words
The computer-implemented method of claim 15 wherein the location in memory is in shadow RAM in the ROM address space.
Claim 20
Dependent Claim 72 words
The computer-implemented method of claim 16 wherein the decompressing step further comprises the steps of: write-enabling shadow RAM in the ROM address space according to instructions in the decompression program with reference to the information on accessing the ROM; decompressing a compressed portion to the write-enabled shadow RAM; and read-enabling the write-enabled shadow RAM address space according to instructions in the decompression program with reference to the information on accessing the ROM.
Claim 21
Dependent Claim 17 words
The computer-implemented method of claim 10 wherein the location in memory is in the RAM address space.
Claim 22
Dependent Claim 24 words
The computer-implemented method of claim 18 further comprising the step of: clearing the contents of the RAM upon exit of a power-on self-test process.
Claim 23
Dependent Claim 28 words
The computer-implemented method of claim 10 wherein the information on accessing the ROM comprises a table of chipset-specific information on accessing shadow RAM in the ROM address space.
Claim 24
Dependent Claim 165 words
In a computer having a processor and a memory including a random access memory (RAM) and a read only memory (ROM), a computer-implemented method for decompressing a compressed system ROM computer file, the method comprising the steps of: receiving a compressed system ROM computer file stored in the ROM comprising a non-compressed decompression program, non-compressed information on accessing the ROM, and one or more compressed data blocks, each compressed data block comprising compressed data and an associated location in the memory to place the compressed data when decompressed; copying the compressed system ROM computer file from the ROM to the RAM; and executing program instructions in the non-compressed decompression program in the RAM on the computer processor, wherein the non-compressed decompression program executes the steps of: scanning the compressed system ROM computer file in the RAM for compressed data blocks; and for each compressed data block found, decompressing the compressed data from the RAM to the location in memory specified in the compressed data block.
Claim 25
Dependent Claim 165 words
In a computer having a processor and a memory including a random access memory (RAM) and a read only memory (ROM), a computer-implemented method for decompressing a compressed system ROM computer file, the method comprising the steps of: receiving a compressed system ROM computer file stored in the ROM comprising a non-compressed decompression program, non-compressed information on accessing the ROM, and one or more compressed data blocks, each compressed data block comprising compressed data and an associated location in the memory to place the compressed data when decompressed; copying the compressed system ROM computer file from the ROM to the RAM; and executing program instructions in the non-compressed decompression program in the RAM on the computer processor, wherein the non-compressed decompression program executes the steps of: scanning the compressed system ROM computer file in the RAM for compressed data blocks; and for each compressed data block found, decompressing the compressed data from the RAM to the location in memory specified in the compressed data block.
Claim 26
Dependent Claim 86 words
The computer-implemented method of claim 21, wherein, for each compressed data block found, the decompressing step further comprises the steps of: determining if the compressed data resides in shadow RAM in the ROM address space, and if so: write-enabling shadow RAM in the ROM address space according to instructions in the decompression program with reference to the information on accessing the ROM; and read-enabling the write-enabled shadow RAM address space according to instructions in the decompression program with reference to the information on accessing the ROM.
Claim 27
Dependent Claim 170 words
A computer-implemented system for generating a compressed system read only memory (ROM) computer file, the system comprising: a processor for executing program instructions; memory, coupled to the processor, for storing instructions for execution by the processor and for storing data; a system ROM computer file, stored in the memory, comprising one or more compressible portions, a non-compressible decompression program for decompressing the compressible portions, and non-compressible information on accessing the shadow random access memory (RAM) in the ROM of a target computer; a compression utility, stored in the memory, comprising a lossless compression algorithm and program instructions executable on the processor for compressing each compressible portion into a compressed data block comprising compressed data and a location in memory of the target computer for placing the compressed data when the compressed data is decompressed, wherein a compressed system ROM computer file comprising the compressed data blocks, the non-compressible decompression program, and the non-compressible information is generated; and storage, coupled to the processor, for storing the compressed system ROM computer file.
Claim 28
Dependent Claim 170 words
A computer-implemented system for generating a compressed system read only memory (ROM) computer file, the system comprising: a processor for executing program instructions; memory, coupled to the processor, for storing instructions for execution by the processor and for storing data; a system ROM computer file, stored in the memory, comprising one or more compressible portions, a non-compressible decompression program for decompressing the compressible portions, and non-compressible information on accessing the shadow random access memory (RAM) in the ROM of a target computer; a compression utility, stored in the memory, comprising a lossless compression algorithm and program instructions executable on the processor for compressing each compressible portion into a compressed data block comprising compressed data and a location in memory of the target computer for placing the compressed data when the compressed data is decompressed, wherein a compressed system ROM computer file comprising the compressed data blocks, the non-compressible decompression program, and the non-compressible information is generated; and storage, coupled to the processor, for storing the compressed system ROM computer file.
Claim 29
Dependent Claim 146 words
A computer-implemented system for decompressing a compressed system ROM computer file, the system comprising: a processor for executing program instructions; memory, coupled to the processor, for storing instructions for execution by the processor and for storing data, the memory including a random access memory (RAM) and a read only memory (ROM); and a compressed system ROM computer file, stored in the ROM, comprising a non-compressed decompression program, non-compressed information on accessing shadow RAM in the ROM of the memory, and one or more compressed data blocks, each compressed data block comprising compressed data and an associated location in the memory to place the compressed data when decompressed, wherein the processor executes instructions in the decompression program to copy the compressed system ROM computer file from the ROM to the RAM and to decompress the compressed data from the RAM to the associated location in the memory.
Claim 30
Dependent Claim 146 words
A computer-implemented system for decompressing a compressed system ROM computer file, the system comprising: a processor for executing program instructions; memory, coupled to the processor, for storing instructions for execution by the processor and for storing data, the memory including a random access memory (RAM) and a read only memory (ROM); and a compressed system ROM computer file, stored in the ROM, comprising a non-compressed decompression program, non-compressed information on accessing shadow RAM in the ROM of the memory, and one or more compressed data blocks, each compressed data block comprising compressed data and an associated location in the memory to place the compressed data when decompressed, wherein the processor executes instructions in the decompression program to copy the compressed system ROM computer file from the ROM to the RAM and to decompress the compressed data from the RAM to the associated location in the memory.
Claim 31
Dependent Claim 44 words
The system of claim 24 wherein the location in memory is in shadow RAM in the ROM address space, and the processor executes instructions in the decompression program and references the information on accessing the shadow RAM, to write-enable and read-enable the shadow RAM.
Claim 32
Dependent Claim 142 words
A compressed system read only memory (ROM) computer chip, prepared by the method comprising the steps of: receiving, for processing by the processor, a system ROM computer file comprising a non-compressible portion and one or more compressible portions, the non-compressible portion comprising a decompression program; appending, to the non-compressible portion, information on accessing shadow random access memory (RAM) in the ROM address space of a target computer; compressing, via the processor, each compressible portion using a lossless compression algorithm to generate compressed portions; associating each compressed portion with a location in memory of the target computer for placing the compressed portion when the compressed portion is decompressed generating, via the processor, a compressed system ROM computer file comprising the appended non-compressible portion, the compressed portions and associated locations in memory; and storing the compressed system ROM computer file in a ROM chip.
Claim 33
Dependent Claim 142 words
A compressed system read only memory (ROM) computer chip, prepared by the method comprising the steps of: receiving, for processing by the processor, a system ROM computer file comprising a non-compressible portion and one or more compressible portions, the non-compressible portion comprising a decompression program; appending, to the non-compressible portion, information on accessing shadow random access memory (RAM) in the ROM address space of a target computer; compressing, via the processor, each compressible portion using a lossless compression algorithm to generate compressed portions; associating each compressed portion with a location in memory of the target computer for placing the compressed portion when the compressed portion is decompressed generating, via the processor, a compressed system ROM computer file comprising the appended non-compressible portion, the compressed portions and associated locations in memory; and storing the compressed system ROM computer file in a ROM chip.
Claim 34
Dependent Claim 170 words
In a computer having a processor and a memory including a random access memory (RAM) and a read only memory (ROM), a decompressed system ROM program, generated in accordance with the method comprising the steps of: receiving a compressed system ROM computer file stored in the ROM comprising a non-compressed decompression program, non-compressed information on accessing the ROM, and one or more compressed data blocks, each compressed data block comprising compressed data and an associated location in the memory to place the compressed data when decompressed; copying the compressed system ROM computer file from the ROM to the RAM; and executing program instructions in the non-compressed decompression program in the RAM on the computer processor, wherein the non-compressed decompression program executes the steps of: scanning the compressed system ROM computer file in the RAM for compressed data blocks; and for each compressed data block found, decompressing the compressed data from the RAM to the location in memory specified in the compressed data block, thereby generating a decompressed system ROM program.
Claim 35
Dependent Claim 170 words
In a computer having a processor and a memory including a random access memory (RAM) and a read only memory (ROM), a decompressed system ROM program, generated in accordance with the method comprising the steps of: receiving a compressed system ROM computer file stored in the ROM comprising a non-compressed decompression program, non-compressed information on accessing the ROM, and one or more compressed data blocks, each compressed data block comprising compressed data and an associated location in the memory to place the compressed data when decompressed; copying the compressed system ROM computer file from the ROM to the RAM; and executing program instructions in the non-compressed decompression program in the RAM on the computer processor, wherein the non-compressed decompression program executes the steps of: scanning the compressed system ROM computer file in the RAM for compressed data blocks; and for each compressed data block found, decompressing the compressed data from the RAM to the location in memory specified in the compressed data block, thereby generating a decompressed system ROM program.
Claim 36
Dependent Claim 79 words
The program of claim 27 wherein the decompressing step further comprises the steps of: determining if the compressed data resides in shadow RAM in the ROM address space, and if so: write-enabling shadow RAM in the ROM address space according to instructions in the decompression program with reference to the information on accessing the ROM; and read-enabling the write-enabled shadow RAM address space according to instructions in the decompression program with reference to the information on accessing the ROM.

References Cited (Backward Citations)

US5123098A Cited
US5459867A Cited
US5303326A Cited
US5291585A Cited
US5463766A Cited
US5530847A Cited
US5455933A Cited
US5379431A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2001-11-09 2002-05-11 2002-11-10 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2005-11-09 2006-05-11 2006-11-10 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2009-11-09 2010-05-11 2010-11-10 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag