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.
© Copyright 2025 Paperzz