IP Library Granted Patent US 6,865,669
Granted Patent B1
US 6,865,669 · App. 09/910,580 · Granted Mar 8, 2005

Methods for optimizing memory resources during initialization routines of a computer system

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 6,865,669
App. No.
09/910,580
Granted
Mar 8, 2005
Kind
B1
Abstract

Methods for optimizing of memory resources during an initialization routine of a computer system which prepares the computer system for loading of an operating system is disclosed. One exemplary method includes receiving a request from a system BIOS to locate an amount of conventional memory where the amount of conventional memory accommodates at least a decompressed version of data located in an option ROM BIOS. Then the amount of conventional memory requested by the system BIOS is determined. If the amount of conventional memory requested by the system BIOS is not available, the method continues and system BIOS data located within the conventional memory is read where the system BIOS data occupies at least the amount of conventional memory requested by the system BIOS. After the system BIOS data is read, the system BIOS data is written from the conventional memory to an extended memory, and the system BIOS data located in the conventional memory that has been written into the extended memory is deleted.

Claims (55)

1. A method for optimizing of memory resources during an initialization routine of a computer system which prepares the computer system for loading of an operating system, comprising:

receiving a request from a system BIOS to locate an amount of conventional memory where the amount of conventional memory accommodates at least a decompressed version of data located in an option ROM BIOS;

determining availability of the amount of conventional memory requested by the system BIOS;

if it is determined that the amount of conventional memory requested by the system BIOS is not available, the method includes,

reading a system BIOS data located within the conventional memory where the system BIOS data occupies at least the amount of conventional memory requested by the system BIOS;

writing the system BIOS data from the conventional memory to an extended memory; and

deleting the system BIOS data located in the conventional memory that has been written into the extended memory.

2. A method for optimizing of memory resources during an initialization routine of a computer system which prepares the computer system for loading of an operating system as recited in claim 1 , further comprising:

deleting a decompressed code from the option ROM BIOS located in the conventional memory where the system BIOS data originally resided;

reading the system BIOS data in the extended memory after an initialization code has been executed to initialize a processing component;

writing the system BIOS data from the extended memory to the conventional memory address where the system BIOS data originally resided before the system BIOS data was migrated to the extended memory.

3. A method for optimizing of memory resources during an initialization routine of a computer system which prepares the computer system for loading of an operating system as recited in claim 1 , wherein the data located in the option ROM BIOS to be decompressed includes at least an initialization code, decompressor interim segment, and decompressing parameters.

4. A method for optimizing of memory resources during an initialization routine of a computer system which prepares the computer system for loading of an operating system as recited in claim 1 , wherein the system BIOS data is located between the memory addresses of about 2000:00 and about 9000:00 of the conventional memory.

5. A method for optimizing of memory resources during an initialization routine of a computer system which prepares the computer system for loading of an operating system as recited in claim 3 , wherein the size of the initialization code is about 64k, the size of the decompressor interim segment is about 64k, and the size of the decompressing parameters is about 16k.

6. A method for optimizing of memory resources during an initialization routine of a computer system which prepares the computer system for loading of an operating system as recited in claim 1 wherein the writing the system BIOS data from the conventional memory to an extended memory is done in a protected mode.

7. A method for optimizing of memory resources during an initialization routine of a computer system which prepares the computer system for loading of an operating system as recited in claim 1 , wherein the deleting the system BIOS data located in the conventional memory that has been written into the extended memory is done in real mode.

8. A method for optimizing of memory resources during an initialization routine of a computer system which prepares the computer system for loading of an operating system as recited in claim 2 , wherein the reading the system BIOS data in the extended memory after an initialization code has been executed to initialize a processing component is done in protected mode.

9. A method for optimizing of memory resources during an initialization routine of a computer system which prepares the computer system for loading of an operating system as recited in claim 2 , wherein the deleting a decompressed code from the option ROM BIOS located in the conventional memory where the system BIOS data originally resided is done in real mode.

10. A computer readable media having program instructions for optimizing of memory resources during an initialization routine of a computer system which prepares the computer system for loading of an operating system, the computer readable media comprising:

program instructions for receiving a request from a system BIOS to locate an amount of conventional memory where the amount of conventional memory accommodates at least a decompressed version of data located in an option ROM BIOS;

program instructions for determining availability of the amount of conventional memory requested by the system BIOS;

program instructions for reading a system BIOS data located within the conventional memory where the system BIOS data occupies at least the amount of conventional memory requested by the system BIOS if it is determined that the amount of conventional memory requested is not available;

program instructions for writing the system BIOS data from the conventional memory to an extended memory; and

program instructions for deleting the system BIOS data located in the conventional memory that has been written into the extended memory.

11. A computer readable media having program instructions for optimizing of memory resources during an initialization routine of a computer system which prepares the computer system for loading of an operating system as recited in claim 10 , the computer readable media further comprising:

program instructions for reading the system BIOS data in the extended memory after initialization code has been executed to initialize a processing component;

program instructions for deleting a decompressed code from the option ROM BIOS located in the conventional memory where the system BIOS data originally resided;

program instructions for writing the system BIOS data from the extended memory to the conventional memory address where the system BIOS data originally resided before the system BIOS data was migrated to the extended memory.

12. A computer readable media having program instructions for optimizing of memory resources during an initialization routine of a computer system which prepares the computer system for loading of an operating system as recited in claim 10 , wherein the data located in the option ROM BIOS to be decompressed includes at least an initialization code, decompressor interim segment, and decompressing parameters.

13. A computer readable media having program instructions for optimizing of memory resources during an initialization routine of a computer system which prepares the computer system for loading of an operating system as recited in claim 10 , wherein the system BIOS data located is between the memory addresses of about 2000:00 and about 9000:00 of the conventional memory.

14. A computer readable media having program instructions for optimizing of memory resources during an initialization routine of a computer system which prepares the computer system for loading of an operating system as recited in claim 12 , wherein the size of the initialization code is about 64k, the size of the decompressor interim segment is about 64k, and the size of the decompressing parameters is about 16k.

15. A computer readable media having program instructions for optimizing of memory resources during an initialization routine of a computer system which prepares the computer system for loading of an operating system as recited in claim 10 , wherein the writing the system BIOS data from the conventional memory to an extended memory is done in protected mode.

16. A computer readable media having program instructions for optimizing of memory resources during an initialization routine of a computer system which prepares the computer system for loading of an operating system as recited in claim 10 , wherein the deleting the system BIOS data located in the conventional memory that has been written into the extended memory is done in real mode.

17. A computer readable media having program instructions for optimizing of memory resources during an initialization routine of a computer system which prepares the computer system for loading of an operating system as recited in claim 11 , wherein the reading the system BIOS data in the extended memory after an initialization code has been executed to initialize a processing component is done in protected mode.

18. A computer readable media having program instructions for optimizing of memory resources during an initialization routine of a computer system which prepares the computer system for loading of an operating system as recited in claim 11 , wherein the deleting a decompressed code from the option ROM BIOS located in the conventional memory where the system BIOS data originally resided is done in real mode.

19. A computer implemented method for optimizing of memory resources during an initialization routine of a computer system which prepares the computer system for loading of an operating system, comprising:

executing a request from a system BIOS to locate an amount of conventional memory where the amount of conventional memory accommodates at least a decompressed version of data located in an option ROM BIOS;

determining availability of the amount of conventional memory requested by the system BIOS;

migrating a system BIOS data located within the conventional memory to an extended memory if it is determined that the amount of conventional memory requested is not available;

deleting the system BIOS data remaining in the conventional memory; and

returning a migrated system BIOS data in the extended memory to the conventional memory after an initialization code has been executed to initialize a processing component.

20. A computer implemented method for optimizing of memory resources during an initialization routine of a computer system which prepares the computer system for loading of an operating system as recited in claim 19 , wherein the data located in the option ROM BIOS to be decompressed includes at least an initialization code, decompressor interim segment, and decompressing parameters.

21. A computer implemented method for optimizing of memory resources during an initialization routine of a computer system which prepares the computer system for loading of an operating system as recited in claim 19 , wherein the system BIOS data is located between the memory addresses of about 2000:00 and about 9000:00 of the conventional memory.

22. A computer implemented method for optimizing of memory resources during an initialization routine of a computer system which prepares the computer system for loading of an operating system as recited in claim 20 , wherein the size of the initialization code is about 64k, the size of the decompressor interim segment is about 64k, and the size of the decompressing parameters is about 16k.

23. A method for optimizing memory resources during an initialization routine of a computer system, comprising:

executing a request to locate an amount of conventional memory, where the amount of conventional memory accommodates at least a decompressed version of BIOS data;

determining availability for the requested amount of conventional memory,

migrating a system BIOS data located within the conventional memory to an extended memory if it is determined that the amount of conventional memory requested is not available;

deleting the migrated system BIOS data from the conventional memory; and

returning the migrated system BIOS data from the extended memory to the conventional memory after the BIOS data has been initialized in the conventional memory.

24. A method for optimizing memory resources during an initialization routine of a computer system as recited in claim 23 , wherein the BIOS data is associated with an Option ROM BIOS.

25. A method for optimizing memory resources during an initialization routine of a computer system as recited in claim 23 , wherein the BIOS data is initialized to run a processing component.

26. A method for optimizing memory resources during an initialization routine of a computer system as recited in claim 25 , wherein the processing component is a host adapter.

27. A method for optimizing memory resources during an initialization routine of a computer system as recited in claim 26 , wherein one or more peripheral devices are connected to the host adapter.

28. A method for optimizing memory resources during an initialization routine of a computer system as recited in claim 26 , wherein the host adapter is one of a SCSI controller and a RAID controller.

Assignments (18)
RELEASE OF SECURITY INTEREST Recorded Mar 14, 2022
From: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: MICROCHIP TECHNOLOGY INCORPORATED; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
Reel/Frame 060894/0437 →
RELEASE OF SECURITY INTEREST Recorded Mar 11, 2022
From: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: MICROCHIP TECHNOLOGY INCORPORATED; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
Reel/Frame 059363/0001 →
RELEASE OF SECURITY INTEREST Recorded Mar 10, 2022
From: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: MICROCHIP TECHNOLOGY INCORPORATED; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
Reel/Frame 059863/0400 →
RELEASE OF SECURITY INTEREST Recorded Mar 9, 2022
From: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: MICROCHIP TECHNOLOGY INCORPORATED; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
Reel/Frame 059358/0001 →
RELEASE OF SECURITY INTEREST Recorded Feb 25, 2022
From: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
To: MICROCHIP TECHNOLOGY INCORPORATED; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
Reel/Frame 059333/0222 →
SECURITY INTEREST Recorded Jun 4, 2021
From: MICROCHIP TECHNOLOGY INCORPORATED; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 057935/0474 →
SECURITY INTEREST Recorded Dec 24, 2020
From: MICROCHIP TECHNOLOGY INCORPORATED; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 055671/0612 →
SECURITY INTEREST Recorded Jun 5, 2020
From: MICROCHIP TECHNOLOGY INC.; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION
Reel/Frame 053468/0705 →
RELEASE OF SECURITY INTEREST Recorded May 30, 2020
From: JPMORGAN CHASE BANK, N.A, AS ADMINISTRATIVE AGENT
To: MICROCHIP TECHNOLOGY INC.; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
Reel/Frame 053466/0011 →
SECURITY INTEREST Recorded Apr 24, 2020
From: MICROCHIP TECHNOLOGY INC.; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 053311/0305 →
SECURITY INTEREST Recorded Sep 18, 2018
From: MICROCHIP TECHNOLOGY INCORPORATED; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 047103/0206 →
SECURITY INTEREST Recorded Jun 25, 2018
From: MICROCHIP TECHNOLOGY INCORPORATED; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 046426/0001 →
RELEASE OF SECURITY INTEREST Recorded May 29, 2018
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: MICROSEMI STORAGE SOLUTIONS, INC.; MICROSEMI STORAGE SOLUTIONS (U.S.), INC.
Reel/Frame 046251/0271 →
PATENT SECURITY AGREEMENT Recorded Feb 3, 2016
From: MICROSEMI STORAGE SOLUTIONS, INC. (F/K/A PMC-SIERRA, INC.); MICROSEMI STORAGE SOLUTIONS (U.S.), INC. (F/K/A PMC-SIERRA US, INC.)
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 037689/0719 →
RELEASE OF SECURITY INTEREST Recorded Feb 1, 2016
From: BANK OF AMERICA, N.A.
To: PMC-SIERRA, INC.; PMC-SIERRA US, INC.; WINTEGRA, INC.
Reel/Frame 037675/0129 →
SECURITY INTEREST IN PATENTS Recorded Aug 6, 2013
From: PMC-SIERRA, INC.; PMC-SIERRA US, INC.; WINTEGRA, INC.
To: BANK OF AMERICA, N.A.
Reel/Frame 030947/0710 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 29, 2013
From: ADAPTEC, INC.
To: PMC-SIERRA, INC.
Reel/Frame 030899/0567 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 20, 2001
From: MAHMOUD, FADI
To: ADAPTEC, INC.
Reel/Frame 012019/0728 →