IP Library Granted Patent US 7,017,038
Granted Patent B1
US 7,017,038 · App. 10/229,322 · Granted Mar 21, 2006

Method and system to provide first boot to a CPU 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 7,017,038
App. No.
10/229,322
Granted
Mar 21, 2006
Kind
B1
Abstract

A boot-up operation system is provided. In one exemplary embodiment, the system includes a CPU, a bootstrap memory, a boot memory, a main memory, an I/O port and CPU operating system code. When the system is turned on, the CPU executes the bootstrap program which directs it to determine whether the boot memory contains the necessary code to perform the boot-up operation. If the boot memory contents are usable for boot-up operation, the CPU starts executing a boot program that is stored in the boot memory. If the boot memory contents are not usable for boot-up operation, the bootstrap program directs the CPU to download a copy of the CPU operating system code from outside the system using the I/O port. After the download, the CPU stores a copy of the downloaded operating system code and the boot program into the boot memory for future use.

Claims (67)

1. A system for providing a boot-up operation for a computer system, comprising:

a CPU;

a main memory;

a boot memory configured to store contents including a boot program and CPU operating system code, wherein the boot program is configured to initiate a boot up operation of the computer system;

a bootstrap memory configured to store a bootstrap program; and

an I/O port;

wherein upon system initiation and before the boot program initiates the boot up operation of the computer system, the CPU executes the bootstrap program, wherein the bootstrap program checks the boot memory to determine if the boot memory contents are usable for the boot-up operation; and

wherein upon determining that the boot memory contents are not usable for the boot-up operation, the CPU is directed by the bootstrap program to download a copy of the CPU operating system code via the I/O port into the main memory to allow the boot-up operation to be continued.

2. The system of claim 1 wherein upon the CPU executing the bootstrap program, the CPU is directed to check the main memory for error; and

wherein if an error is found in the main memory, the CPU is directed to suspend any further operations.

3. The system of claim 1 wherein after the copy of the CPU operating system code has been downloaded into the main memory, the CPU executes the copy of the CPU operating system code thereby causing the copy of the CPU operating system code in the main memory and a copy of the boot program retrieved via the I/O port to be copied into the boot memory; and

wherein copies of the boot program and the CPU operating system code in the boot memory are used to initiate the next boot-up operation.

4. The system of claim 1 wherein upon determining that the boot memory contents are usable for the boot-up operation, the CPU is directed by the bootstrap program to perform the boot-up operation using the boot program and the CPU operating system code that are stored in the boot memory.

5. The system of claim 1 wherein the boot memory is implemented using a FLASH memory that is programmable.

6. The system of claim 1 wherein the bootstrap memory is implemented using a field programmable gate array.

7. A system for providing a boot-up operation for a computer system, comprising:

a CPU;

a main memory;

a boot memory having a boot program and CPU operating system code stored therein, wherein the boot program is configured to initiate a boot up operation of the computer system;

a bootstrap memory having a bootstrap program stored therein; and

an I/O port;

wherein upon system initiation, and before the boot program initiates the boot up operation of the computer system, the CPU executes the bootstrap program, wherein the bootstrap program checks the boot memory to determine if the boot program and the CPU operating system code stored therein are usable for the boot-up operation;

wherein upon determining that the boot program and the CPU operating system code being stored in the boot memory are not usable for the boot-up operation, the CPU is directed by the bootstrap program to download a copy of the CPU operating system code from an external source via the I/O port into the main memory to allow the boot-up operation to be continued.

8. The system of claim 7 wherein upon determining that the boot program and the CPU operating system code that are stored in the boot memory are usable for the boot-up operation, the CPU is directed by the bootstrap program to perform the boot-up operation using the boot program and the CPU operating system code being stored in the boot memory.

9. The system of claim 7 wherein after the copy of the CPU operating system code has been downloaded into the main memory, the CPU executes the copy of the CPU operating system code thereby causing the copy of the CPU operating system code in the main memory and a copy of the boot program retrieved via the I/O port to be copied into the boot memory to replace the boot program and the CPU operating system code that are currently stored in the boot memory; and

wherein copies of the boot program and the CPU operating system code that have been copied into the boot memory are used to initiate the next boot-up operation.

10. The system of claim 7 wherein the boot memory is implemented using a FLASH memory that is programmable.

11. The system of claim 7 wherein the bootstrap memory is implemented using a field programmable gate array.

12. A system for providing a boot-up operation for a computer system, comprising:

a CPU;

a main memory;

a boot memory configured to store contents including a boot program and CPU operating system code, wherein the boot program is configured to initiate a boot up operation of the computer system, and wherein the boot memory is implemented using a FLASH memory;

a bootstrap memory configured to store a bootstrap program, wherein the bootstrap memory is implemented using one or more memory blocks in a field-programmable gate array; and

an I/O port;

wherein upon system initiation, and before the boot program initiates the boot up operation of the computer system, the CPU executes the bootstrap program, wherein the bootstrap program checks the boot memory to determine if the boot memory contents are usable for the boot-up operation;

wherein upon determining that the boot memory contents are not usable for the boot-up operation, the CPU is directed by the bootstrap program to download a copy of the CPU operating system code via the I/O port into the main memory to allow the boot-up operation to be continued;

wherein after the copy of the CPU operating system code has been downloaded into the main memory, the CPU executes the copy of the CPU operating system code thereby causing the copy of the CPU operating system code in the main memory and a copy of the boot program retrieved via the I/O port to be copied into the boot memory; and

wherein copies of the boot program and the CPU operating system code in the boot memory are used to initiate the next boot-up operation.

13. The system of claim 12 wherein upon the CPU executing the bootstrap program, the CPU is directed to check the main memory for error; and

wherein if an error is found in the main memory, the CPU is directed to suspend any further operations.

14. The system of claim 12 wherein upon determining that the boot memory contents are usable for the boot-up operation, the CPU is directed by the bootstrap program to perform the boot-up operation using the boot program and the CPU operating system code that are stored in the boot memory.

15. A method for providing a boot-up operation for a computer system having a CPU, a main memory, a boot memory having a boot program and CPU operating system code residing therein, a bootstrap memory having a bootstrap program residing therein and an I/O port, wherein the boot program is configured to initiate a boot up operation of the computer system, comprising:

before the boot program initiates the boot up operation of the computer system, executing the bootstrap program residing in the bootstrap memory to check contents of the boot memory to determine if the boot memory contents are usable for the boot-up operation;

upon determining that the boot memory contents are not usable for the boot-up operation, downloading a copy of the CPU operating system code from an external source via the I/O port into the main memory; and

using the downloaded copy of the CPU operating system code to continue the boot-up operation.

16. The method claim 15 further comprising:

prior to executing the bootstrap program to check the contents of the boot memory, checking the main memory for error; and

suspending any further operations if an error is found in the main memory.

17. The method of claim 15 further comprising:

upon determining that the boot memory contents are usable for the boot-up operation, performing the boot-up operation using the boot program and the CPU operating system code that are currently stored in the boot memory.

18. The method of claim 15 further comprising:

after the copy of the CPU operating system code has been downloaded into the main memory, executing the copy of the CPU operating system code to cause the copy of the CPU operating system code in the main memory and a copy of the boot program retrieved via the I/O port to be copied into the boot memory; and

using copies of the boot program and the CPU operating system code in the boot memory to initiate the next boot-up operation.

19. The method of claim 15 wherein the boot memory is implemented using a FLASH memory that is programmable.

20. The method of claim 15 wherein the bootstrap memory is implemented using a field programmable gate array.

21. A method for providing a boot-up operation for a computer system having a CPU, a main memory, a boot memory having a boot program and CPU operating system code residing therein, a bootstrap memory having a bootstrap program residing therein and an I/O port, wherein the boot program is configured to initiate a boot up operation of the computer system, comprising:

before the boot program initiates the boot up operation of the computer system, executing the bootstrap program to determine if contents of the boot memory are usable for the boot-up operation;

upon determining that the boot memory contents are not usable for the boot-up operation, downloading a copy of the CPU operating system code via the I/O port into the main memory;

using the downloaded copy of the CPU operating system code to perform the boot-up operation;

copying the downloaded copy of the CPU operating system code and a copy of the boot program retrieved via the I/O port into the boot memory to replace the boot program and the CPU operating system code that are currently in the boot memory; and

using copies of the boot program and the CPU operating system code that have been copied into the boot memory to initiate the next boot-up operation;

wherein the boot memory is implemented using a FLASH memory and the bootstrap memory is implemented using one or more memory blocks in a field-programmable gate array.

22. The method of claim 21 further comprising:

upon determining that the boot memory contents are usable for the boot-up operation, performing the boot-up operation using the boot program and the CPU operating system code that are currently stored in the boot memory.

23. The method of claim 21 further comprising:

prior to executing the bootstrap program to check the contents of the boot memory, checking the main memory for error; and

suspending any further operations if an error is found in the main memory.

Assignments (9)
RELEASE OF SECURITY INTEREST Recorded Jun 24, 2024
From: CITIZENS BANK, N.A.
To: RIBBON COMMUNICATIONS OPERATING COMPANY, INC. (F/K/A GENBAND US LLC AND SONUS NETWORKS, INC.)
Reel/Frame 067822/0433 →
TERMINATION AND RELEASE OF FIRST SUPPLEMENT OT PATENT SECURITY AGREEMENT AT R/F 049035/0939 Recorded Dec 6, 2021
From: SILICON VALLEY BANK, AS ADMINISTRATIVE AGENT
To: RIBBON COMMUNICATIONS OPERATING COMPANY, INC. (F/K/A GENBAND US LLC AND SONUS NETWORKS, INC.)
Reel/Frame 058740/0265 →
SECURITY INTEREST Recorded Mar 3, 2020
From: RIBBON COMMUNICATIONS OPERATING COMPANY, INC.
To: CITIZENS BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 052076/0905 →
CORRECTIVE ASSIGNMENT TO CORRECT THE SCHEDULE PREVIOUSLY RECORDED ON REEL 049035 FRAME 0939. ASSIGNOR(S) HEREBY CONFIRMS THE FIRST SUPPLEMENT TO PATENT SECURITY AGREEMENT. Recorded Aug 22, 2019
From: GENBAND US LLC; RIBBON COMMUNICATIONS OPERATING COMPANY, INC., FORMERLY KNOWN AS SONUS NETWORKS, INC.
To: SILICON VALLEY BANK, AS ADMINISTRATIVE AGENT
Reel/Frame 050705/0001 →
FIRST SUPPLEMENT TO SECURITY AGREEMENT Recorded Apr 30, 2019
From: GENBAND US LLC; RIBBON COMMUNICATIONS OPERATING COMPANY, INC., FORMERLY KNOWN AS SONUS NETWORKS, INC.
To: SILICON VALLEY BANK, AS ADMINISTRATIVE AGENT
Reel/Frame 049035/0939 →
CHANGE OF NAME Recorded Jan 16, 2019
From: SONUS NETWORKS, INC.
To: RIBBON COMMUNICATIONS OPERATING COMPANY, INC.
Reel/Frame 048078/0036 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 18, 2017
From: NETWORK EQUIPMENT TECHNOLOGIES, INC.
To: SONUS NETWORKS, INC.
Reel/Frame 044904/0829 →
RELEASE OF SECURITY INTEREST Recorded Oct 24, 2017
From: BANK OF AMERICA, N.A.
To: SONUS NETWORKS, INC.; SONUS FEDERAL, INC.; NETWORK EQUIPMENT TECHNOLOGIES, INC.; PERFORMANCE TECHNOLOGIES, INCORPORATED; SONUS INTERNATIONAL, INC.; TAQUA, INC.
Reel/Frame 044283/0361 →
SECURITY INTEREST Recorded Sep 12, 2014
From: SONUS NETWORKS, INC.; SONUS FEDERAL, INC.; NETWORK EQUIPMENT TECHNOLOGIES, INC.; PERFORMANCE TECHNOLOGIES, INCORPORATED; SONUS INTERNATIONAL, INC.
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 033728/0409 →