RESET CYCLE ENDS I

US006553491B1
(12) United States Patent
(10) Patent N0.2
Dover
(45) Date of Patent:
(54) CONFIGURING DEVICES IN A COMPUTER
(56)
Inventor:
U.S. PATENT DOCUMENTS
Lance Dover, Fair Oaks, CA (US)
.
(73)
.
Asslgnee: Intel Corporatlom Santa C1ara>CA
(Us)
(*)
Notice:
Apr. 22, 2003
References Cited
SYSTEM
(75)
US 6,553,491 B1
Subject to any disclaimer, the term of this
2/2000 Lawman .................... .. 326/38
*
7/2000
6,282,640 B1 *
8/2001
6,430,687 B1 *
8/2002 Aguilar et al.
8
'th ................. .. 713/1
................. .. 713/1
.... .. 713/2
* Cited by examiner
patent is extended or adjusted under 35
U_S_C_ 154(b) by 0 days'
6,028,445 A *
6,085,317 A
_
_
Primary Examtner—Thomas M. Heckler
(74) Attorney, Agent, or Firm—Fish & Richardson RC.
(21) Appl. No.: 09/474,647
(22) Filed;
(57)
D99 29, 1999
ABSTRACT
Computer system information prompting a recon?guration
(51)
Int. C].7 ................................................ .. G06F 9/44
of a target device that is part of the system is received, and
in response to the information, the target device is recon
?gured using Con?guration data for the target device that has
(52)
US. Cl. ..................................................... .. 713/100
been stored in non-volatile memory of a second self
Con?guring device that is part of the System
(58)
Field of Search .................................... .. 713/1, 100
29 Claims, 3 Drawing Sheets
30\\
RESET SIGNAL
SENT
"
NVS DEVICE
SELF-CONFIGURES
‘I
NVS DEVICE
PLACES CONFIGURATION
DATA ON BUS
38\
v
NON-NVS DEVICE
USES DATA FOR
CONFIGURATION
40\
_
v
RESET CYCLE ENDS I
U.S. Patent
Apr. 22,2003
Sheet 1 of3
15 \‘
US 6,553,491 B1
24
INFORMATION
OR
TR
INS UCTIONS
17\
RESET
SIGNAL
14
16 \
REOUES TS
FOR
CONFIGURATION
DATA
12/
\ 19
FIG. 1
30\
RESET SIGNAL
SENT
NVS DEVICE
SELF-CONF/GURES
NVS DEVICE
PLACES CONFIGURATION
DATA ON BUS
NON-NVS DEVICE
USES DATA FOR
CONFIGURATION
40\
‘
RESET CYCLE ENDS
FIG. 2
22
20
U.S. Patent
Apr. 22, 2003
Sheet 2 0f 3
US 6,553,491 B1
RESET SIGNAL
SENT
II
RESET SIGNAL
SENT
NVS DE VICE
SELF-CONFIGURES
V
V
NVS DEVICE
SELF-CONFIGURES
NVS DEVICE
PLACES CONFIGURATION
DATA ON BUS
I
NON-NVS DE VICE
REQUESTS
CONFIGURATION DATA
FIRST NON-NVS DE VICE
USES DATA FOR
CONFIGURATION
v
NVS DEVICE
PLACES CONFIGURATION
DATA ON BUS
FIRST NON-N VS DE VICE
PLACES CONFIGURATION
DATA ON BUS
II
\
NON-NVS DEVICE
SECOND NON-NVS
DEVICE USES DATA FOR
CONFIGURATION
USES DATA FOR
CONFIGURATION
V
RESET CYCLE ENDS
RESET CYCLE ENDS
FIG. 3
FIG. 4
U.S. Patent
Apr. 22, 2003
Sheet 3 of3
US 6,553,491 B1
92
94
PROCESSOR
104
110
97
RESET
SIGNAL
FIG. 5
US 6,553,491 B1
1
2
CONFIGURING DEVICES IN A COMPUTER
SYSTEM
FIG. 2 is a ?oWchart shoWing steps in various implemen
tations of the invention.
FIG. 3 is ?oWchart shoWing steps in various implemen
tations of the invention.
FIG. 4 is a ?oWchart shoWing steps in various implemen
tations of the invention.
TECHNICAL FIELD
This invention relates to con?guring devices in a com
puter system.
FIG. 5 a block diagram of an implementation of the
invention.
BACKGROUND
Special purpose integrated circuit chips, for example,
Like reference symbols in the, various draWings indicate
10
like elements.
typically cannot perform their normal functions until they
are con?gured, Which is usually done When the computer
DETAILED DESCRIPTION
system is poWered up or reset. Con?guration information is
usually stored on the device itself in non-volatile memory.
Some implementations of the invention include groups of
chips in a chipset, Where at least one chip in the chipset has
For so-called programmable logic devices (PLD’s) and ?eld
15
programmable gate arrays (FPGA’s), the con?guration
information may be stored in a non-volatile memory located
off the device. By changing the con?guration information,
the functions of the PLD’s and FPGA’s may be changed.
In some computer systems, the chips that need to be
con?gured are part of a chipset and a local channel is
provided to enable communication betWeen the chips in a
Way that does not directly use and is not disruptive of the
operation of the main system bus. The local channel can be
called a local bus.
Which in turn may provide con?guration data to another chip
in the chipset. The con?guration data are provided on a local
bus, making the con?guration process invisible to the sys
tem and the user.
25
Typically the chips Within the computer system must be
customiZed to particular tasks, that is, con?gured to function
bond pads or pin straps.
In another approach, the con?guration is done based on
data sent to the chip (for example, a PLD or an FPGA) on
chipset 10.
the system bus, e.g., during a reset cycle. This approach has
After receiving a reset signal 17 from the computer
the advantage that the chip may be customiZed to a particular
35
system (not shoWn), the NVS device 12 places con?guration
data on a local bus 16 connecting the NVS device 12 With
the non-NVS devices 18, 20, 22 in the chipset 10. The NVS
device 12 may also place con?guration data on local bus 16
in response to requests for con?guration data 19 placed upon
the chip’s oWn non-volatile memory or non-volatile storage
(NVS). Non-volatile storage is able to retain data in the
absence of main poWer. There are many kinds of non
the bus by the non-NVS devices 18, 20, 22. Con?guration
volatile memory, such as read-only memory (ROM), pro
data may be sent by the NVS device 12 on local bus 16
grammable read-only memory (PROM) and erasable pro
grammable read-only memory (EPROM). Some types of
directly to each non-NVS device 18, 20, 22 in turn. Or,
battery-backed random-access memory (RAM) also may be
considered to be non-volatile.
If a chip is not self-con?guring, it receives its con?gura
In one implementation, shoWn in FIG. 1, integrated circuit
chips 12, 18, 20, 22 form part of a chipset 10. One chip 12
in the chipset has non-volatile storage 14, making it an NVS
device. The NVS device 12 includes Within its non-volatile
memory 14 information or instructions 15 for con?guring
the NVS device 12 and-other non-NVS devices 18, 20, 22 in
the chipset 10. The information or instructions 15 Within
non-volatile memory 14 include con?guration data for the
as desired. One expensive Way to con?gure a chip is to alter
the chip hardWare during construction, using, for example,
application Without hardWiring. In so-called “self
con?guring” chips, the con?guration instructions are kept in
some form of non-volatile storage. In response to a reset
signal, the chip With NVS con?gures itself and also supplies
the con?guration data to con?gure other chips in the chipset
using a con?guration bus cycle. The self-con?guring chip
may con?gure multiple chips in a chipset directly. The
self-con?guring chip may also con?gure another chip,
45
con?guration data may be sent by the NVS device 12 on
local bus 16 to one of the non-NVS devices 18, Which may
in turn pass along con?guration data to other non-NVS
devices 20, 22 on a bus 24. Bus 24 may be the same
communication channel as bus 16.
tion instructions over a communications channel or bus from
an external source. Con?guration activity occurring on the
bus may be referred to as the “con?guration bus cycle.”
FIG. 2 shoWs a ?oWchart for a con?guration bus cycle 30.
The cycle begins When a reset signal is sent (32), e.g., in
SUMMARY
response to a system poWer-up or as commanded by a user
In general, in one aspect, the invention features storing
con?guration data for a target device in non-volatile
memory of a second self-con?guring device. The target
(many of my comments, such as the ones in this sentence,
are stylistic). In response to the reset signal, the NVS device
uses the con?guration data stored Within its non-volatile
memory to self-con?gure 34. The NVS device then places
device and the second self-con?guring device are a part of
a computer system. The invention further features receiving
55
computer system information prompting a recon?guration
of the target device, and in response to the information,
recon?guring the target device using the con?guration data.
con?guration 38. Con?guration of all devices is completed
before the end of the reset cycle 40.
FIG. 3 shoWs a ?oWchart for another kind of con?guration
bus cycle 50. Steps 52 and 54 are like steps 32 and 34 of
FIG. 2. Unlike FIG. 2, in response to the reset signal, here
it is the non-NVS device that places (56) a request for
con?guration data on the bus. The NVS device responds by
placing the con?guration data on the bus (58), Which the
The details of one or more embodiments of the invention
are set forth in the accompanying draWings and the descrip
tion beloW. Other features, objects, and advantages of the
invention Will be apparent from the description and
draWings, and from the claims.
DESCRIPTION OF DRAWINGS
FIG. 1 is a block diagram of an implementation of the
invention.
con?guration data stored Within its non-volatile memory on
the bus 36, and a non-NVS device uses this data for
65
non-NVS device uses-for con?guration (60). Con?guration
of all devices is completed before the end of the reset cycle
(62).
US 6,553,491 B1
4
3
In another kind of con?guration bus cycle, shoWn in FIG.
4, steps 72 and 74 are again like steps 32 and 34 of FIG. 2.
Step 76 is also like step 36 of FIG. 2. In the implementation
of FIG. 4, hoWever, the ?rst non-NVS device uses the data
for con?guration 78. Then, the ?rst non-NVS device places
in response to the information, recon?guring the target
device using the con?guration data.
12. A method comprising
receiving, at a target device that is part of a computer
system, computer system information prompting a
recon?guration of the target device, and
at the target device, requesting con?guration information
con?guration data on the bus 80. A second non-NVS device
uses this data for con?guration 82. Con?guration of all
devices is completed before the end of the reset cycle 84.
from a second device using a local communication
FIG. 5 shoWs the invention implemented Within a com
puter system 90. The system has central processor 92, Which
is served by memory 94. A communication channel or main
system bus 96 connects the processor to other devices 98,
106 in the system. One of the devices 98 is an NVS device
With non-volatile memory 100, like chip 12 With non
volatile memory 14 in FIG. 1. NVS device 98 is connected
to non-NVS device 104 by a local bus 102, like non-NVS
device 18 is connected to NVS device 12 by a local bus 16
in FIG. 1. Communication along local bus 102 is non
channel connecting the devices.
10
memory.
14. The method of claim 12 in Which the target device
15
system, computer system information prompting a
recon?guration of a target device that is part of the
computer system, and
the ?rst device initiating the sending of con?guration
non-NVS device 106 receiving the reset signal 97 from the
system bus 96. The non-NVS device 106 may request
con?guration information from a device 110 With non
25
on a local bus 108.
Other embodiments are Within the scope of the folloWing
claims.
What is claimed is:
additional target device.
18. The method of claim 15 in Which the ?rst device sends
con?guration information in response to signals from the
target device.
19. The method of claim 15 in Which the communicating
a computer system in non-volatile memory of a second
self-con?guring device that is also part of the computer
2. The method of claim 1 further comprising communi
cating the con?guration data from the second device to the
target device using a local bus betWeen the devices.
3. The method of claim 1 in Which the prompting com
prises signaling a poWer up or process of the system.
4. The method of claim 1 in Which the communicating
35
20. The method of claim 15 in Which the target device has
21. An apparatus comprising
a con?gurable computer system device having a port for
connection to a communication channel, the commu
nication channel permitting non-system-level commu
nication by the con?gurable.computer system device,
and
a mechanism that enables the con?gurable computer
45
?gurable computer system device is connected to a
computer system that is undergoing a reset or poWer up
done before the poWer up or reset process ?nishes.
6. The method of claim 5, in Which the con?guring is
process.
invisible to the system user.
22. The apparatus of claim 21 in Which the con?gurable
7. The method of claim 1 in Which the communicating is
device has no non-volatile memory.
initiated by the target device.
55
no non-volatile memory.
23. The apparatus of claim 21 in Which information
carried on the communication channel is originated Within
the non-volatile memory of a second device connected to the
channel.
24. The apparatus of claim 21 Wherein the con?gurable
device, is not self-con?gurable.
25. A computer system-comprising
10. The method of claim 1 in Which additional target
devices are con?gured based on con?guration data stored in
the second device.
a central processor,
11. Amedium storing machine-readable softWare capable
of con?guring a machine to perform the folloWing steps:
storing con?guration data for a target device that is part of
a memory serving the central processor,
a system-bus,
a con?gurable computer system device having a port for
a computer system in non-volatile memory of a second
connection to a communication channel that permits
self-con?guring device that is also part of the computer
recon?guration of a target device, and
system device to be recon?gured using information
carried on the communication channel, While the con
5. The method of claim 4 in Which the communicating is
system,
receiving computer system information prompting a
or con?guring is invisible to the system user.
no non-volatile memory.
occurs during a poWer up or reset process of the system.
8. The method of claim 1 in Which the communicating is
initiated by the second device.
9. The method of claim 1 in Which the target device has
information associated With the target device to the
target device using a local communication channel.
16. The method of claim 15 in Which con?guration
information is stored Within non-volatile memory of the ?rst
device.
17. The method of claim 15 in Which con?guration
information is communicated from one target device to an
1. A method comprising
storing con?guration data for a target device that is part of
system,
from the second device.
15. A method comprising
?guration data on a local bus 102. FIG. 5 also shoWs a
receiving computer system information prompting a
recon?guration of a target device, and
in response to the information, recon?guring the target
device using the con?guration data.
requests con?guration information in response to signals
receiving, at a ?rst device that is part of a computer
system-level communication. After receiving a reset signal
97 from the processor 92, the NVS device 98 places con
volatile storage 112. The devices 106 and 110 communicate
13. The method of claim 12 in Which the second device
stores con?guration information Within non-volatile
65
non-system-level communication by the device, and
a mechanism that enables the con?gurable device to be
recon?gured using information carried on the commu
US 6,553,491 B1
6
5
nication channel, While the con?gurable device is con
nected to the computer system and the computer system
a communication channel betWeen the ?rst device and the
second device,
the method comprising:
is undergoing a reset or poWer up process.
in response to a reset signal, sending con?guration data
26. The system of claim 25, further comprising a second
device With non-volatile memory connected to the channel,
the con?guration information being stored Within the non
volatile memory of the second device.
along the communication channel.
28. The method of claim 27, the method further compris
ing the ?rst device sending a request for con?guration data
along the communication channel.
29. The method of claim 27, the method further compris
27. A method for use in a system that includes:
a ?rst device With non-volatile memory,
a second device lacking non-volatile memory, capable of
being con?gured by con?guration data,
10
ing sending con?guration data to additional con?gurable
devices attached to the channel.