U.S. patent application number 11/146490 was filed with the patent office on 2005-12-01 for method and apparatus to boot system from the usb port.
Invention is credited to Poisner, David I..
Application Number | 20050268082 11/146490 |
Document ID | / |
Family ID | 34738893 |
Filed Date | 2005-12-01 |
United States Patent
Application |
20050268082 |
Kind Code |
A1 |
Poisner, David I. |
December 1, 2005 |
Method and apparatus to boot system from the USB port
Abstract
In one embodiment, a design is described for providing the BIOS
instructions to a computer through the USB port. At boot-up, a USB
controller checks the USB port for a bootable device containing
BIOS instructions. If a bootable device is connected, the USB
controller transfers the BIOS instructions through the USB port to
the processor. The computer then boots-up using the USB boot
instructions. If no bootable device is connected to the USB port,
the computer looks to a standard BIOS EPROM for boot
instructions.
Inventors: |
Poisner, David I.; (Folsom,
CA) |
Correspondence
Address: |
FISH & RICHARDSON, PC
12390 EL CAMINO REAL
SAN DIEGO
CA
92130-2081
US
|
Family ID: |
34738893 |
Appl. No.: |
11/146490 |
Filed: |
June 6, 2005 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
11146490 |
Jun 6, 2005 |
|
|
|
09560858 |
Apr 28, 2000 |
|
|
|
6920553 |
|
|
|
|
Current U.S.
Class: |
713/1 |
Current CPC
Class: |
G06F 9/4401 20130101;
G06F 11/1417 20130101 |
Class at
Publication: |
713/001 |
International
Class: |
G06F 009/00 |
Claims
What is claimed is:
1. A device and/or method substantially as shown and described.
Description
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application is a continuation application of and claims
priority to U.S. patent application Ser. No. 09/560,858, filed Apr.
28, 2000.
TECHNICAL FIELD
[0002] This invention relates to computer booting instructions, and
more particularly to providing the BIOS instructions through a USB
bus.
BACKGROUND
[0003] The BIOS (basic input/output system) is built-in software
that determines what a computer can do without accessing programs
from a disk. On PCs, the BIOS contains all the code required to
control the keyboard, display screen, disk drives, serial
communications, and a number of other functions. The BIOS is
typically placed on a writeable chip that comes on the motherboard.
This ensures that the BIOS will always be available and will not be
damaged by disk failures. The BIOS also contains a boot program
that provides the initial instructions to the computer processor at
startup. These initial instructions contained in the boot program
allow the computer to boot itself.
[0004] If the BIOS does not exist or has been corrupted, existing
systems allow the processor to boot from a peripheral component
interconnect (PCI) adapter. This requires a user to open the
housing of the computer to access the PCI adapter. It is typically
undesirable to have a user open the housing of a computer. Even
with trained service personnel, it would be more convenient to boot
the computer without accessing the PCI adapter. This is especially
true with systems having cases that are sealed or difficult to
open, such as notebook computers.
DESCRIPTION OF DRAWINGS
[0005] Features and advantages of the invention will become more
apparent upon reading the following detailed description and upon
reference to the accompanying drawings.
[0006] FIG. 1 illustrates the boot path of a computer according to
the prior art.
[0007] FIG. 2 illustrates the boot path of a computer according to
one embodiment of the present invention.
[0008] FIG. 3 is a flowchart showing the boot process used by a
computer according to one embodiment of the present invention.
DETAILED DESCRIPTION
[0009] FIG. 1 illustrates the boot path 100 of a typical computer
according to the prior art. The boot path includes a central
processing unit (CPU) 105, a chipset 110, and a BIOS EPROM
(erasable programmable read-only memory) 125. When a computer is
first powered on, an initial set of instructions must be executed
to allow the computer to boot itself. The CPU 105 is set to execute
instructions that are located at the top of the computers memory
located within the chipset 110. At power-up, there are typically no
instructions present at these locations. Thus, the computer cycles
forward to the BIOS EPROM 125. The BIOS EPROM 125 contains an
initial set of boot instructions which are transferred to the
chipset 110. The CPU 105 then reads the boot instructions from the
chipset 110 and executes the instructions to boot the computer.
[0010] If the BIOS EPROM 125 is corrupted or missing, the initial
set of boot instructions cannot be executed by the CPU 105. Thus,
the CPU 105 is unable to boot the computer. In this circumstance,
some computers allow the system to boot from the peripheral
component interconnect (PCI) adapter. To accomplish this, hardware
having a PCI interface is connected to the PCI bus. Because
connections to the PCI bus are located on the computers
motherboard, this procedure requires opening the housing of the
computer.
[0011] FIG. 2 illustrates the boot path 200 of a computer according
to one embodiment of the present invention. The boot path 200
includes the CPU 105, a chipset 210, a Universal Serial Bus (USB)
controller 220, a USB device having BIOS instructions 215, and the
BIOS EPROM 125. The USB controller 220 is a bus master device that
can be incorporated within the chipset 210 or may be separate from
the chipset 210. The USB controller 220 may follow the USB
protocol, or may use a different protocol if desired.
[0012] When the computer is powered on, the USB controller 220
checks the USB port of the computer to determine if any connected
USB device contains the BIOS instructions. If the USB device 215
includes BIOS instructions, these instructions are passed via the
USB controller 220 through the chipset 210 to the CPU 105. The CPU
105 can then execute the instructions to boot the computer. Of
course, the instructions on the USB port may be used to program the
BIOS EPROM 125 in a manner known to one of skill in the art.
[0013] If none of the devices connected to the USB port include
BIOS instructions, the USB controller may instruct the computer to
cycle forward to the BIOS EPROM 125. If the BIOS EPROM 124 is
present and not corrupted, the CPU 105 executes the instructions in
the BIOS EPROM 125 to boot the computer.
[0014] The boot process 300 used by a computer according to an
embodiment of the present invention is shown in FIG. 3. The process
begins in a start state 305. Proceeding to state 310, the computer
detects whether a USB controller is present. If no USB controller
is present, the computer does not attempt the boot process 300, but
proceeds with a normal boot process using the BIOS EPROM.
[0015] Proceeding to state 312, the computer attempts to
authenticate any device connected to the USB port. A bootable
device on the USB is capable of reprogramming the BIOS EPROM 125.
The authentication procedure ensures that only an authorized device
is used. Techniques to accomplish the authentication process are
well known in the art, and may include reading a code from the
device connected to the USB port, or a challenge and reply system.
If the device is not authorized, the computer will not boot using
the instruction on the USB device. If the device passed the
authentication, the process 300 continues to attempt to boot the
computer.
[0016] Proceeding to state 315, the USB controller determines
whether any of the devices attached to the USB port is a bootable
device containing BIOS instructions. The USB port is capable of
interfacing many devices to the computer. At startup, the USB
controller is only interested in devices that include boot
instructions for the computer. If a bootable device is connected to
the USB port, the process 300 proceeds along the YES branch to
state 320. In state 320, the process 300 reads the boot
instructions from the bootable USB device. The instructions are
read through the USB port via the USB controller.
[0017] Returning to state 315, if no bootable device exists on the
USB port, the process 300 proceeds along the NO branch to state
325. In state 325, the computer determines if a BIOS EPROM is
present and non-corrupt. If the BIOS EPROM is corrupted, the
computer treats it as if no BIOS EPROM is present. If no BIOS EPROM
is present, the process 300 proceeds along the NO branch to an END
state 340. In this situation, the computer is unable to boot due to
the lack of BIOS instructions available on either the USB port or
the BIOS EPROM.
[0018] Returning to state 325, if the BIOS EPROM is present, the
process 300 proceeds along the YES branch to state 330. In state
330, the initial boot instructions are read into the CPU from the
BIOS EPROM.
[0019] After the initial boot instructions are read from either the
USB port in state 320 or the BIOS EPROM in state 330, the process
300 proceeds to state 335. In state 335, the CPU 105 executes the
initial instructions necessary to boot the computer. After the
instructions are executed, the computer will boot-up and the boot
process 300 terminates in end state 340.
[0020] In an alternative embodiment, the CPU 105 may be preset to
either boot from either the USB port or the BIOS EPROM 125. The CPU
105 may contain an indicator such as a policy bit that directs the
CPU 105 to a desired boot path. For example, if the policy bit was
set to a logical high, the CPU 105 may boot through the USB port.
However, if the policy bit was set to a logical low, the CPU 105
may boot through the BIOS EPROM 125. The use of a boot indicator
directs the CPU 105 to a specific boot path regardless of whether a
bootable device is connected to the USB port.
[0021] Numerous variations and modifications of the invention will
become readily apparent to those skilled in the art. Accordingly,
the invention may be embodied in other specific forms without
departing from its spirit or essential characteristics.
* * * * *