throbber
US007263716B1
`
`(12)
`
`United States Patent
`Gulick
`
`(10) Patent N0.:
`(45) Date of Patent:
`
`US 7,263,716 B1
`Aug. 28, 2007
`
`(54) REMOTE MANAGEMENT MECHANISM TO
`PREVENT ILLEGAL SYSTEM COMMANDS
`
`5,978,912 A * 11/1999 Rakavy et a1. ............... .. 713/2
`6,223,284 B1 *
`4/2001 Novoa et a1. ....... ..
`.. 713/100
`
`(75) Inventor; Dale E, Gulick, Austin, TX (Us)
`
`Assigneej Advanced Micro Devices, Inc,’ AqJstins
`TX (Us)
`
`( * ) Notice:
`
`Subject to any disclaimer, the tenn Qfthjs
`patent is extended or adjusted under 35
`U.S.C. 154(1)) by 1006 days.
`
`(21) Appl. N0.: 10/066,948
`
`.
`(22) Flled:
`
`Feb' 4’ 2002
`
`.
`.
`Related US. Application Data
`(63) Continuation-in-part of application No. 10/033,142,
`?led on Nov. 1, 2001, and a continuation-in-part of
`application No. 10/005,648, ?led on Dec. 3, 2001.
`
`(51) Int CL
`(200601)
`H04L 9/32
`(200601)
`G06F 9/00
`726/3_ 713/2_ 713/151
`(52) U 5 Cl
`’
`’
`_'
`'
`' """" """ "I """""" "
`(58) Field of Classi?cation Search .............. .. 713/200;
`_
`_
`_
`714/55
`See apphcanon ?le for Complete Search hlstory'
`References Cited
`
`(56)
`
`U.S. PATENT DOCUMENTS
`
`6,263,431 B1* 7/2001 Lovelace et al. . . . . .
`. . . . .. 713/2
`6,282,642 B1 *
`8/2001 Cromer et a1. ............... .. 713/2
`6,438,711 B2 *
`8/2002 Woodruif ................... .. 714/27
`6,618,810 B1 *
`9/2003 Dirie .............. ..
`.. 713/201
`2003/0037231 A1* 2/2003 Goodman et al.
`.... .. 713/2
`2004/0117609 A1* 6/2004 Stalker et al. ............... .. 713/2
`2005/0071619 A1* 3/2005 Chu et a1. .................... .. 713/2
`2005/0149924 A1* 7/2005 Komarla et al. .......... .. 717/176
`
`* Cited by examiner
`
`Primar ExamineriKambiZ Zand
`Assislaiil ExamineriThomas M. SZymanski
`(74) Attorney, Agent, or FirmiWilliams, Morgan &
`Amerson, RC‘
`
`(57)
`
`ABSTRACT
`
`An integrated circuit, a computer system,‘ and a method ‘for
`author1Z1ng RMCP requests. The method mcludes rece1v1ng
`a request for a system action and initiating a timer. The
`method also mcludes generatmg an author1Zat1on request for
`the system action and evaluating a result of the authorization
`request for the System actionifreceived before an expiration
`of the timer. The method also includes granting the request
`for the system action if the expiration of the timer occurs
`before the result of the authorization request for the system
`action is received.
`
`5,675,800 A * 10/1997 Fisher et a1. ................. .. 713/2
`
`28 Claims, 15 Drawing Sheets
`
`RECEIVE REQUEST FOR A SYSTEM RESET w
`
`K 800
`
`1
`
`CHECK FOR WATCHDOG TIMER EXPIRATION @
`
`// K 830
`
`\ NO
`/
`
`ABORT SYSTEM RESET
`m
`
`§\
`
`TIMER
`EXPIRED?
`
`YES
`
`'
`
`i
`
`PERFORM SYSTEM RESET @530
`
`Lenovo
`Ex. 1038 - Page 1
`
`

`

`U.S. Patent
`
`Aug. 28, 2007
`
`Sheet 1 0f 15
`
`US 7,263,716 B1
`
`PROCESSOR
`m
`
`K 100
`
`MEMORY
`E?
`
`NORTH BRIDGE
`M
`
`AGP
`£5
`
`PC]
`/ 110
`k
`SMBUS
`115
`
`IDE @
`114 \
`*————
`SOUTH BRIDGE
`112
`‘_____ _
`
`LPC BUS
`118
`
`USB /
`116
`
`1; PCI
`‘\
`C‘ONNECTOR
`1“
`
`N10
`E
`
`‘
`'
`
`SUPER
`HO
`120
`
`BIOS
`E
`
`Fig. 1A
`(Prior Art)
`
`Lenovo
`Ex. 1038 - Page 2
`
`

`

`U.S. Patent
`
`BATTERY
`113
`
`Aug. 28, 2007
`
`Sheet 2 of 15
`
`US 7,263,716 B1
`
`SOUTH BRIDGE
`112
`| RTCBATTERYWELLI25
`
`eeeeeeses.
`
`|
`
`|
`l
`
`CLOCKCIRCUIT
`128
`
`RTC RAM 126
`
`CLOCK DATA
`
`CHECKSUM
`DATA 127
`
`CMOS RAM 126
`
`SBRAM 126
`
`CPU
`INTERFACE
`132
`
`POWER/SYSTEM
`MANAGEMENT
`133
`
`BUS
`INTERFACE
`LOGICS
`134
`
`Fig. 1B
`(Prior Art)
`
`Lenovo
`
`Ex. 1038 - Page 3
`
`Lenovo
`Ex. 1038 - Page 3
`
`

`

`U.S. Patent
`
`Aug. 28, 2007
`
`Sheet 3 0f 15
`
`US 7,263,716 B1
`
`SOUTH BRIDGE
`M
`
`PCI
`
`110 \
`
`SMBus
`/ 115
`
`MOTHERBOARD Q1
`
`SENSOR
`103A
`
`———
`
`SENSOR
`103B
`
`MICRO
`CONTROLLER
`11g
`
`ETHERNET
`E5.
`
`PC‘
`
`A
`
`ASF NIC lgg
`
`CONNECTOR
`111
`
`V
`REMOTE
`MANAGEMENT
`SERVER
`Q
`
`Fig. 1C
`(Prior Art)
`
`Lenovo
`Ex. 1038 - Page 4
`
`

`

`U.S. Patent
`
`Aug. 28, 2007
`
`Sheet 4 0f 15
`
`US 7,263,716 B1
`
`/135
`POWER SUPPLY INITIALIZATION POWER SUPPLY GENERATES A POWER
`GOOD SIGNAL TO THE NORTH BRIDGE 1_?@
`I
`UPON RECEIVING THE POWER GOOD SIGNAL, THE SOUTH BRIDGE STOPS
`‘ASSERTING THE RESET SIGNAL FOR THE PROCESSOR @
`I
`THE PROCESSOR READS THE DEFAULT JUMP LOCATION, USUALLY AT
`FFFFOh @
`I
`THE PROCESSOR JUMPS TO THE BIOS CODE LOCATION IN THE ROM BIOS,
`COPIES THE BIOS CODE TO RAM, AND BEGINS PROCESSING BIOS CODE
`INSTRUCTIONS FROM RAM @
`I
`BIOS CODE PERFORMS POWER ON SELF TEST (POST) £15
`I
`BIOS CODE LOOKS FOR ADDITIONAL BIOS CODE, SUCH AS VIDEO @ COOOh
`AND ATA/IDE HARD DRIVE BIOS CODE @ C800h, AND DISPLAYS A START-UP
`INFORMATION SCREEN ??
`
`I
`BIOS CODE PERFORMS ADDITIONAL SYSTEM TESTS, SUCH AS THE RAM
`COUNT-UP TEST, AND SYSTEM INVENTORY, SUCH AS IDENTIFYING COM
`AND LPT PORTS AND INITIALIZING THE ASF NIC E
`
`BIOS CODE IDENTIFIES PLUG-N-PLAY AND OTHER SIMILAR DEVICES AND
`DISPLAYS A SUMMARY SCREEN j5_0
`
`V
`
`BIOS CODE IDENTIFIES THE BOOT LOCATION £32
`I
`510s CODE CALLS THE BOOT SECTOR CODE TO BOOT THE COMPUTER
`SYSTEM @4
`Fig. 2
`(Prior Art)
`
`Lenovo
`Ex. 1038 - Page 5
`
`

`

`U.S. Patent
`
`Aug. 28, 2007
`
`Sheet 5 0f 15
`
`US 7,263,716 B1
`
`PROCESSOR
`E
`
`/ 200A
`
`!
`\
`
`MEMORY
`E
`
`NORTH BRIDGE
`215
`
`AGP
`E
`
`PCI
`210
`’/
`\
`SMBus
`215
`
`IDE @
`214 \
`<_—— ASF
`SOUTH BRIDGE
`<——- m
`USB /‘
`216
`
`; PC!
`‘\CONNECTOR
`211
`
`LPC BUS
`21s\
`
`4,
`
`T
`SUPER EXTENDED
`v0
`BIOS
`2_29
`E
`
`CRYPTO
`PROCESSOR
`21
`
`L
`
`T
`
`-
`
`PROTECTED
`STORAGE
`
`Lenovo
`Ex. 1038 - Page 6
`
`

`

`U.S. Patent
`
`Aug. 28, 2007
`
`Sheet 6 6f 15
`
`US 7,263,716 B1
`
`PROCESSOR
`@
`
`K 2005
`
`MEMORY
`2%
`
`NORTH BRIDGE
`.20_4
`
`AGP
`2%
`
`PCI
`/ 210
`\
`SMBUS
`215
`
`lDE @
`214 \
`¢———— ASF
`SOUTH BRIDGE
`<————
`22
`USB /
`216
`
`: PCI
`‘\OONNEOTOR
`NIC
`211
`@
`
`LPC BUS
`218\
`
`E
`
`SUPER EXTENDED?
`|/O
`BIOS
`2L0
`2;
`
`CRYPTO
`PROCESSOR
`22A
`
`Fig. 3B
`
`PROTECTED
`STORAGE
`gg
`
`Lenovo
`Ex. 1038 - Page 7
`
`

`

`U.S. Patent
`
`Aug. 28, 2007
`
`Sheet 7 0f 15
`
`US 7,263,716 B1
`
`INTERNAL
`SB
`BUS 302
`— l
`
`INTERNAL
`BUS
`
`Rx BUFFER
`32
`
`M"
`ETHERNET I‘
`E / PHy
`'-
`£3
`
`INTERFACE
`Q?
`
`TX BUFFER
`@
`
`REGISTER
`@
`
`F
`
`L
`
`I
`‘
`{I
`E
`ASF TX BUFFER ASF RX BUFFER‘
`g I @
`
`MEMORY
`g
`
`1
`LPC
`BRIDGE
`gag
`
`W
`SOUTH
`BRIDGE
`REGISTER
`@
`
`l
`‘ MCA/D BUST
`I
`I SoUTI-I
`RMCP ‘
`322
`BRIDGE
`SET
`REGISTER
`CMD
`BRIDGE
`g
`5%
`i"
`|—————' SMI REQ
`ASF CONFIG
`REG'STER E
`_ REGISTER 5g;
`
`MC
`29
`
`“ I
`
`T
`215
`
`WDT
`m
`
`WW INT
`REGISTER g;
`
`CPU-MC DATA EXCHANGE
`REGISTER g4
`
`SCI INT REQ
`<____ ACPI INTERFACE
`3E
`
`INT
`
`ASiF STATUS
`‘NT
`REQ<_____ REGISTER 3_1§
`
`I
`I
`
`Fi 4
`g
`
`Lenovo
`Ex. 1038 - Page 8
`
`

`

`U.S. Patent
`
`Aug. 28, 2007
`
`Sheet 8 0f 15
`
`US 7,263,716 B1
`
`l- — _ _ — _ _ — _ — _ _ — — — _ _ _ ‘I
`
`ASF SOUTH BRIDGE
`H
`RTC BATTERY WELL@
`
`|
`l
`I I
`:
`I
`|
`____ _ _|
`I
`l
`:
`:
`|
`I
`
`BATTERY
`?i
`
`CLOCK CIRCUIT
`E
`
`ASF
`STATUS
`REGISTER
`m
`ASF
`ENABLE
`REGISTER
`2.52
`
`I
`I
`I
`RTC RAM 2268
`— |
`CLOCK DATA
`:
`2_22
`I
`|
`|
`I
`I
`:
`CMOS RAM 226A
`— :
`I
`'
`
`CHECKSUM
`DATA 2y
`
`SB RAM gag
`
`|_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|
`
`CPU
`INTERFACE
`E
`
`POWER/SYSTEM
`MANAGEMENT
`E
`
`BUS
`INTERFACE
`LOGIC
`CIRCUITS
`&
`
`Lenovo
`Ex. 1038 - Page 9
`
`

`

`U.S. Patent
`
`Aug. 28, 2007
`
`Sheet 9 0f 15
`
`US 7,263,716 B1
`
`/ 400
`
`THE PROCESSOR JUMPS TO THE BIOS CODE LOCATION IN THE ROIvI BIOS,
`COPIES THE BIOS CODE TO RAIvI, AND PROCESSES THE BIOS CODE
`INSTRUCTIONS FROM RAM, INCLUDING CHECKING FOR THE PRESENCE OF
`AN ASF NIC @
`
`l K 410
`
`MSF NW
`
`v
`
`\\PRESENT?
`
`\/
`
`i
`
`ASF SOUTH BRIDGE CONFIGURED
`AS A SLAVE TO THE ASF NIC 4_1_5
`
`ASF SOUTH BRIDGE CONFIGURED
`AS AN ASF MASTER @
`
`V
`
`V
`
`BIOS CODE PERFORMS POWER ON SELF TEST (POST) 4_2§
`I,
`BIOS CODE LOOKS FOR ADDITIONAL BIOS CODE AT LOCATIONS OTHER
`THAN THE BIOS ROM AND DISPLAYS A START-UP INFORMATION SCREEN
`4_32
`I
`BIOS CODE PERFORMS ADDITIONAL sYsTEIvI TESTS, SUCH AS THE RAM
`COUNT-UP TEsT, AND SYSTEM INVENTORY, SUCH AS IDENTIFYING COM
`AND LPT PORTS 5g
`
`BIOS CODE IDENTIFIES PLUG-N-PLAY AND OTHER SIMILAR DEVICES AND
`DISPLAYS A SUMMARY SCREEN @
`
`BIOS CODE IDENTIFIES THE BOOT LOCATION @
`
`V
`
`Lenovo
`Ex. 1038 - Page 10
`
`

`

`U.S. Patent
`
`Aug. 28, 2007
`
`Sheet 10 0f 15
`
`US 7,263,716 B1
`
`ASF SOUTH BRIDGE IN SLAVE MODE RESPONDS TO REQUESTS FROM THE
`ASF NIC FOR INTERNAL SENSOR STATUS 5%
`
`/ 500
`
`ASF SOUTH BRIDGE IN SLAVE MODE RESPONDS TO SMBUS POLLS FROM
`THE ASF NIC m
`
`Fig. 7A
`
`/ 600
`
`ASF SOUTH BRIDGE IN MASTER MODE ACTIVELY POLLS EXTERNAL
`SENSORS COUPLED TO THE SMBUS Q5
`
`ASF SOUTH BRIDGE IN MASTER MODE ACTIVELY POLLS INTERNAL
`SENSORS _€_51_0
`
`ASF SOUTH BRIDGE IN MASTER MODE GENERATES INTERRUPTS AND
`RESPONDS TO INTERRUPTS @
`
`V
`
`I
`
`ASF SOUTH BRIDGE IN MASTER MODE REPORTS INTERNAL AND EXTERNAL
`SENSOR STATES TO THE REMOTE MANAGEMENT SERVER §_2_0
`Fig. 7B
`
`Lenovo
`Ex. 1038 - Page 11
`
`

`

`U.S. Patent
`
`Aug. 28, 2007
`
`Sheet 11 0f 15
`
`US 7,263,716 B1
`
`SYSTEM ENTERS A NEW STATE _71_0
`
`/ 700A
`
`V
`
`,
`
`SYSTEM RESETS THE WATCHDOG TIMER E
`
`EXPIRED?
`
`YES
`
`NOTIFY MICROCONTROLLER THAT WATCHDOG TIMER HAS
`EXPIRED m
`
`EVALUATE CURRENT SYSTEM STATE 1Q
`
`NO
`
`SYSTEM
`ERROR?
`
`MICROCONTROLLER RESPONDS TO SYSTEM ERROR m
`
`Fig. 8A
`
`Lenovo
`Ex. 1038 - Page 12
`
`

`

`U.S. Patent
`
`Aug. 28, 2007
`
`Sheet 12 0f 15
`
`US 7,263,716 B1
`
`/ 7008
`
`UPDATE STATUS REGISTER Z1_5
`
`V
`
`RESET THE WATCHDOG TIMER E
`
`EXPIRED?
`
`YES
`
`NOTIFY MICROCONTROLLER THAT WATCHDOG TIMER HAS
`EXPIRED @
`
`MICROCONTROLLER READS STATUS REGISTER EQ
`
`NO
`
`SYSTEM
`ERROR?
`
`MICROCONTROLLER NOTIFIES A REMOTE MANAGEMENT
`CONSOLE OVER THE NEWTWORK E '
`
`Fig. 8B
`
`Lenovo
`Ex. 1038 - Page 13
`
`

`

`U.S. Patent
`
`Aug. 28, 2007
`
`Sheet 13 0f 15
`
`US 7,263,716 B1
`
`RECEIVE REQUEST FOR A SYSTEM RESET m
`
`CHECK FOR WATCHDOG TIMER EXPIRATION @
`
`\\\ {830
`\
`ABORT SYSTEM RESET
`WATCHDOG \\ NO
`TIMER
`>——>
`EXPIRED? /
`\\ /
`YES
`
`g9
`
`PERFORM SYSTEM RESET Qf?
`
`Fig. 9
`
`Lenovo
`Ex. 1038 - Page 14
`
`

`

`U.S. Patent
`
`Aug. 28, 2007
`
`Sheet 14 0f 15
`
`US 7,263,716 B1
`
`RMCP SET CMD j?
`
`WATCHDOG TIMER CHECK
`ENTRY w
`
`LOCK ENTRY E
`
`ASP CONFIG
`REGISTER @
`
`LOCK REGISTER'COMMAND
`ENTRY M
`
`Fig. 1 0
`
`Fig. 11
`
`Lenovo
`Ex. 1038 - Page 15
`
`

`

`U.S. Patent
`
`Aug. 28, 2007
`
`Sheet 15 0f 15
`
`US 7,263,716 B1
`
`K1100
`
`RECEIVE RMCP REQUEST 11
`
`INITIATE SECURITY TIMER j12_0
`
`GENERATE SMI REQUEST FOR AUTHORIZATION TO PERFORM
`RMCP REQUEST @
`
`EVALUATE RESULT OF SMI REQUEST AND SECURITY TIMER
`VALUE 1140
`
`SECURITY
`REQUIREMENTS MET?
`
`REFUSE RMCP REQUEST
`1160
`
`V
`
`PERFORM RMCP REQUEST ?7_0
`
`Fig. 12
`
`Lenovo
`Ex. 1038 - Page 16
`
`

`

`US 7,263,716 B1
`
`1
`REMOTE MANAGEMENT MECHANISM TO
`PREVENT ILLEGAL SYSTEM COMMANDS
`
`PRIORITY DATA
`
`This application is a continuation-in-part of US. patent
`application Ser. 10/045,117, ?led on Nov. 1, 2001, entitled,
`“Microcomputer Bridge for Remote Manageability,” and
`Whose inventor is Dale E. Gulick.
`This application is also a continuation-in-part of US.
`patent application Ser. No. 10/033,142, ?led on Nov. 1,
`2001, entitled, “Microcomputer Bridge Architecture With an
`Embedded Microcontroller,” and Whose inventor is Dale E.
`Gulick.
`This application is also a continuation-in-part of US.
`patent application Ser. No. 10/005,648, ?led on Dec. 3,
`2001, entitled, “Embedded Processor Supporting Both ACPI
`and ASF Operations,” and Whose inventor is Dale E. Gulick.
`This application is also a continuation-in-part of US.
`patent application Ser. No. 10/066,879, ?led on Feb. 4, 2002,
`entitled, “ASF State Determination using Chipset-Resident
`Watchdog Timer,” and Whose inventor is Dale E. Gulick.
`This application is also a continuation-in-part of US.
`patent application Ser. No. 10/067,175, ?led on Feb. 4, 2002,
`entitled, “HardWare Interlock Mechanism Using a Watchdog
`Timer,” and Whose inventor is Dale E. Gulick.
`
`BACKGROUND OF THE INVENTION
`
`1. Field of the Invention
`This invention relates generally to computing systems,
`and, more particularly, to a system and method for prevent
`ing unWanted system state changes using a security timer,
`such as in a personal computer system.
`2. Description of the Related Art
`FIG. 1A illustrates an exemplary computer system 100.
`The computer system 100 includes a processor 102, a north
`bridge 104, memory 106, Advanced Graphics Port (AGP)
`device 108, a netWork interface card (N IC) 109, a Peripheral
`Component Interconnect (PCI) bus 110, a PCI connector
`111, a south bridge 112, a battery 113, an AT Attachment
`(ATA) interface 114 (more commonly knoWn as an Inte
`grated Drive Electronics (IDE) interface), an SMBus 115, a
`universal serial bus (U SB) interface 116, a LoW Pin Count
`(LPC) bus 118, an input/output controller chip (SuperI/OTM)
`120, and BIOS memory 122. It is noted that the north bridge
`104 and the south bridge 112 may include only a single chip
`or a plurality of chips, leading to the collective term
`“chipset.” It is also noted that other buses, devices, and/or
`subsystems may be included in the computer system 100 as
`desired, e.g. caches, modems, parallel or serial interfaces,
`SCSI interfaces, etc.
`The processor 102 is coupled to the north bridge 104. The
`north bridge 104 provides an interface betWeen the proces
`sor 102, the memory 106, the AGP device 108, and the PCI
`bus 110. The south bridge 112 provides an interface betWeen
`the PCI bus 110 and the peripherals, devices, and sub
`systems coupled to the IDE interface 114, the SMBus 115,
`the USB interface 116, and the LPC bus 118. The battery 113
`is shoWn coupled to the south bridge 112. The Super I/OTM
`chip 120 is coupled to the LPC bus 118.
`The north bridge 104 provides communications access
`betWeen and/or among the processor 102, memory 106, the
`AGP device 108, devices coupled to the PCI bus 110, and
`devices and subsystems coupled to the south bridge 112.
`Typically, removable peripheral devices are inserted into
`PCI “slots,” shoWn here as the PCI connector 111, that
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`2
`connect to the PCI bus 110 to couple to the computer system
`100. Alternatively, devices located on a motherboard may be
`directly connected to the PCI bus 110. The SMBus 115 may
`be “integrated” With the PCI bus 110 by using pins in the PCI
`connector 111 for a portion of the SMBus 115 connections.
`The south bridge 112 provides an interface betWeen the
`PCI bus 110 and various devices and subsystems, such as a
`modem, a printer, keyboard, mouse, etc., Which are gener
`ally coupled to the computer system 100 through the LPC
`bus 118, or one of its predecessors, such as an X-bus or an
`Industry Standard Architecture (ISA) bus. The south bridge
`112 includes logic used to interface the devices to the rest of
`computer system 100 through the IDE interface 114, the
`USB interface 116, and the LPC bus 118. The south bridge
`112 also includes the logic to interface With devices through
`the SMBus 115, an extension of the tWo-Wire inter-IC bus
`protocol.
`FIG. 1B illustrates certain aspects of the south bridge 112,
`including reserve poWer by the battery 113, so-called “being
`inside the RTC (real time clock) battery Well” 125. The south
`bridge 112 includes south bridge (SB) RAM 126 and a clock
`circuit 128, both inside the RTC battery Well 125. The SB
`RAM 126 includes CMOS RAM 126A and RTC RAM
`126B. The RTC RAM 126B includes clock data 129 and
`checksum data 127. The south bridge 112 also includes,
`outside the RTC battery Well 125, a CPU interface 132,
`poWer and system management units 133, and various bus
`interface logic circuits 134.
`Time and date data from the clock circuit 128 are stored
`as the clock data 129 in the RTC RAM 126B. The checksum
`data 127 in the RTC RAM 126B may be calculated based on
`the CMOS RAM 126A data and stored by BIOS during the
`boot process, such as is described beloW, e.g. block 148,
`With respect to FIG. 2. The CPU interface 132 may include
`interrupt signal controllers and processor signal controllers.
`FIG. 1C illustrates a prior art remote management con
`?guration for the computer system 100. A motherboard 101
`provides structural and base electrical support for the south
`bridge 112, the PCI bus 110, the PCI connector 111, the
`SMBus 115, and sensors 103A and 103B. The NIC 109, a
`removable add-in card, couples to the motherboard 101, the
`PCI bus 110, and the SMBus 115 through the PCI connector
`111. The NIC 109 includes an Ethernet controller 105 and an
`ASF microcontroller 107. The Ethernet controller 105 com
`municates With a remote management server 90, passing
`management data and commands betWeen the ASF micro
`controller 107 and the remote management server 90. The
`remote management server 90 is external to the computer
`system 100
`An industry standard speci?cation, generally referred to
`as the Alert Standard Format (ASF) Speci?cation, de?nes
`one approach to “system manageability” using the remote
`management server 90. The ASF Speci?cation de?nes
`remote control and alerting interfaces capable of operating
`When an operating system of a client system, such as the
`computer system 100, is not functioning. Generally, the
`remote management server 90 is con?gured to monitor and
`control one or more client systems. Typical operations of the
`ASF alerting interfaces include transmitting alert messages
`from a client to the remote management server 90, sending
`remote control commands from the remote management
`server 90 to the client(s) and responses from the client(s) to
`the remote management server 90, determining and trans
`mitting to the remote management server 90 the client
`speci?c con?gurations and assets, and con?guring and con
`trolling the client(s) by interacting With the operating system
`(s) of the client(s). In addition, the remote management
`
`Lenovo
`Ex. 1038 - Page 17
`
`

`

`US 7,263,7l6 B1
`
`3
`server 90 communicates with the ASF NIC 109 and the
`client(s)’ ASF NIC 109 communicates with local client
`sensors 103 and the local client host processor.
`When the client has an ACPI-aware operating system
`functioning, con?guration software for the ASF NIC 109
`runs during a “one good boot” to store certain ASF, ACPI
`(Advanced Con?guration and Power Interface), and client
`con?guration data.
`The transmission protocol in ASP for sending alerts from
`the client to the remote management server 90 is the
`Platform Event Trap (PET). A PET frame consists of a
`plurality of ?elds, including GUID (globally unique identi
`?er), sequence number, time, source of PET frame at the
`client, event type code, event level, sensor device that
`caused the alert, event data, and ID ?elds.
`Many events may cause an alert to be sent. The events
`may include temperature value over or under a set-point,
`voltage value over or under a set-point, fan actual or
`predicted failure, fan speed over or under a set-point, and
`physical computer system intrusion. System operation errors
`may also be alerts, such as memory errors, data device
`errors, data controller errors, CPU electrical characteristic
`mismatches, etc. Alerts may also correspond to BIOS or
`?rmware progression during booting or initialiZation of any
`part of the client. Operating system (OS) events may also
`generate alerts, such as OS boot failure or OS timeouts. The
`ASF Speci?cation provides for a “heartbeat” alert with a
`programmable period typically one minute but not to exceed
`10 minutes, when the client does not send out the heartbeat,
`or “I am still here,” message.
`Client control functions are implemented through a
`remote management and control protocol (RCMP) that is a
`user datagram protocol (UDP) based protocol. RCMP is
`used when the client is not running the operating system.
`RCMP packets are exchanged during reset, power-up, and
`power-down cycles, each having a different message type.
`The remote management server 90 determines the ASF
`RCMP capabilities of the client(s) by a handshake protocol
`using a presence-ping-request that is acknowledged by the
`client(s) and followed-up with a presence-pong that indi
`cates the ASF version being used. The remote management
`server 90 then sends a request to the client to indicate the
`con?guration of the client, which the client acknowledges
`and follows with a message giving the con?guration of the
`client as stored in non-volatile memory during the “one good
`boot.” The RCMP packets include a contents ?eld, a type
`?eld, an offset ?eld, and a value ?eld.
`RCMP message transactions involve a request from the
`remote management server 90, a timed wait for an acknowl
`edgement followed by a second timed wait for a response.
`If either of the time limits for the acknowledgement or the
`response is exceeded, then the remote management server 90
`knows that either the client needs some of the packets resent
`or the client has lost contact due to failure of either the client
`or the communications link.
`The ASF NIC 109 must be able to report its IP (Internet
`protocol) address (or equivalent) without the intervention of
`the operating system. Thus, the ASF NIC 109 must be able
`to receive and reply to ARP (Address Resolution Protocol)
`requests with the operating system, not interfere with ARP
`packets when the operating system is running, and wake-up
`for ARP packets when con?gured to do so. Note that ACPI
`includes waking-up for ARP packets as a standard con?gu
`ration.
`The following information is sent to the remote manage
`ment server 90 from the client as an indication of the
`con?guration of the client: an ACPI description table iden
`
`50
`
`55
`
`60
`
`65
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`4
`tifying sensors and their characteristics, ASF capabilities
`and system type for PET messages, and the client’s support
`for RMCP and the last RCMP command; how the client
`con?gures an optional operating system boot hang watchdog
`timer; and the SMBIOS identi?cation of the UUID/GUID
`for PET messages. ASF objects follow the ASL (ACPI
`Software Language) naming convention of ACPI.
`In FIG. 2, a ?owchart of a conventional method of
`initialiZing a computer system using code stored in the BIOS
`122 is shown. During initialization of the power supply, the
`power supply generates a power good signal to the north
`bridge 104, in block 136. Upon receiving the power good
`signal from the power supply, the south bridge 112 (or north
`bridge 104) stops asserting the reset signal for the processor
`102, in block 138.
`During initialization, the processor 102 reads a default
`jump location, in block 140. The default jump location in
`memory is usually at a location such as FFFFOh. The
`processor 102 performs a jump to the appropriate BIOS code
`location (eg FFFFOh) in the ROM BIOS 122, copies the
`BIOS code to the RAM memory 106, and begins processing
`the BIOS code instructions from the RAM memory 106, in
`block 142. The BIOS code, processed by the processor 102,
`performs a power-on self test (POST), in block 144.
`The BIOS code next looks for additional BIOS code, such
`as from a video controller, IDE controller, SCSI controller,
`etc. and displays a start-up information screen, in block 146.
`As examples, the video controller BIOS is often found at
`C000h, while the IDE controller BIOS code is often found
`at C800h. The BIOS code may perform additional system
`tests, such as a RAM memory count-up test, and a system
`inventory, including identifying COM (serial) and LPT
`(parallel) ports, in block 148. The additional system tests
`may include ASF, ACPI, and Ethernet initialiZations, includ
`ing initiating a communications link with the remote man
`agement server 90. The BIOS code also identi?es plug-and
`play devices and other similar devices and then displays a
`summary screen of devices identi?ed, in block 150.
`The BIOS code identi?es the boot location, and the
`corresponding boot sector, in block 152. The boot location
`may be on a ?oppy drive, a hard drive, a CDROM, a remote
`location, etc. The BIOS code next calls the boot sector code
`at the boot location to boot the computer system, such as
`with an operating system, in block 154.
`It is noted that for a cold boot or a hard (re)boot, all or
`most of the descriptions given in blocks 136-154 may occur.
`During a warm boot or a soft (re)boot the BIOS code usually
`jumps from block 142 into block 148, skipping the POST,
`memory tests, etc.
`Remote management techniques such as ASF are predi
`cated on the NIC 109 being installed for “one good boot” of
`the operating system so that initialiZation of the remote
`management hardware and/ or ?rmware can be supervised by
`the operating system. Improvements in remote management
`for personal computers may speed the initialiZation of
`remote management hardware and/or ?rmware and may
`lessen the dependence on the operating system. A computer
`system 100 with a long boot time slows productivity and, at
`a minimum, irritates users. It would be desirable to shorten
`boot times if possible, and to avoid unnecessary reboots.
`
`SUMMARY OF THE INVENTION
`
`In one aspect of the present invention, a method of
`operating a computer system is disclosed. The method
`includes receiving a request for a system action and initiat
`ing a timer. The method also includes generating an autho
`
`Lenovo
`Ex. 1038 - Page 18
`
`

`

`US 7,263,716 B1
`
`5
`rization request for the system action and evaluating a result
`of the authorization request for the system action if received
`before an expiration of the timer. The method also includes
`granting the request for the system action if the expiration of
`the timer occurs before the result of the authorization request
`for the system action is received.
`In another aspect of the present invention, another method
`of operating a computer system is disclosed. This method
`includes the steps of receiving a request for a system action
`and initiating a timer. The method also includes the steps of
`generating an authorization request for the system action and
`evaluating a result of the authorization request for the
`system action if received before an expiration of the timer.
`The method also includes the step of granting the request for
`the system action if the expiration of the timer occurs before
`the result of the authorization request for the system action
`is received.
`In still another aspect of the present invention, a computer
`readable medium encoded with instructions that, when
`executed by a computer system, performs a method for
`operating the computer system is disclosed. The method
`includes receiving a request for a system action and initiat
`ing a timer. The method also includes generating an autho
`rization request for the system action and evaluating a result
`of the authorization request for the system action if received
`before an expiration of the timer. The method also includes
`granting the request for the system action if the expiration of
`the timer occurs before the result of the authorization request
`for the system action is received.
`In yet another aspect of the present invention, a computer
`system is disclosed. The computer system includes a timer,
`an SMI request register, and a processor. The processor is
`coupled to the timer and coupled to the SMI request register.
`The processor is con?gured to receive an authorization
`request for a system action. The processor is further con
`?gured to initialize the timer in response to receiving the
`authorization request for the system action.
`In still another aspect of the present invention, another
`computer system is disclosed. This computer system
`includes a timing means, an SMI request means, and a
`processing means. The processing means is coupled to the
`timing means and coupled to the SMI request means. The
`processing means is con?gured to receive an authorization
`request for a system action. The processing means is further
`con?gured to initialize the timing means in response to
`receiving the authorization request for the system action.
`In still yet another aspect of the present invention, another
`computer system is disclosed. This computer system
`includes means for receiving a request for a system action
`and means for initiating a timer. The computer system also
`includes means for generating an authorization request for
`the system action and means for evaluating a result of the
`authorization request for the system action if received before
`an expiration of the timer. The computer system also
`includes means for granting the request for the system action
`if the expiration of the timer occurs before the result of the
`authorization request for the system action is received.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`The invention may be understood by reference to the
`following description taken in conjunction with the accom
`panying drawings, in which like reference numerals identify
`similar elements, and in which:
`FIG. 1Aillustrates a block diagram of a prior art computer
`system;
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`6
`FIG. 1B illustrates a block diagram of a prior art south
`bridge; and
`FIG. 1C illustrates a prior art remote management
`arrangement;
`FIG. 2 illustrates a ?owchart of a prior art method for
`booting a computer system using code stored in ROM;
`FIGS. 3A and 3B illustrate block diagrams of embodi
`ments of computer systems having remote management
`arrangements, according to various aspects of the present
`invention;
`FIG. 4 illustrates a block diagram of an embodiment of an
`ASP south bridge including integrated ASF, ACPI, and/or
`Ethernet capabilities, according to various aspects of the
`present invention;
`FIG. 5 illustrates a block diagram of an embodiments of
`the ASF south bridge including ASF registers in the RTC
`battery well of the ASF south bridge, according to various
`aspects of the present invention;
`FIG. 6 illustrates a ?owchart an embodiment of a method
`for booting a computer system including the ASF south
`bridge of FIG. 4, according to one aspect of the present
`invention;
`FIGS. 7A and 7B illustrate ?owcharts of embodiments of
`methods for operating a computer system including the ASF
`south bridge of FIG. 4, according to various aspects of the
`present invention;
`FIGS. 8A and 8B illustrate ?owcharts of embodiments of
`methods for determining system state upon an expiration of
`a watchdog timer, according to various aspects of the present
`invention;
`FIG. 9 illustrates a ?owchart of an embodiment of a
`method for evaluating requests for system resets, according
`to one aspect of the present invention;
`FIGS. 10 and 11 illustrate embodiments of functional
`parts of the ASF south bridge, according to various aspects
`of the present invention; and
`FIG. 12 illustrates a ?owchart of an embodiment of a
`method for verifying RCMP requests, according to one
`aspect of the present invention.
`While the invention is susceptible to various modi?ca
`tions and alternative forms, speci?c embodiments thereof
`have been shown by way of example in the drawings and are
`herein described in detail. It should be understood, however,
`that the description herein of speci?c embodiments is not
`intended to limit the invention to the particular forms
`disclosed, but on the contrary, the intention is to cover all
`modi?cations, equivalents, and alternatives falling within
`the spirit and scope of the invention as de?ned by the
`appended claims.
`
`DETAILED DESCRIPTION OF SPECIFIC
`EMBODIMENTS
`
`Illustrative embodiments of the invention are described
`below. In the interest of clarity, not all features of an actual
`implementation are described in this speci?cation. It will, of
`course, be appreciated that in the development of any such
`actual embodiment, numerous implementation-speci?c
`decisions must be made to achieve the developers’ speci?c
`goals, such as compliance with system-related and business
`related constraints, which will vary from one implementa
`tion to another. Moreover, it will be appreciated that such a
`development effort might be complex and time-consuming,
`but would nevertheless be a routine undertaking for those of
`ordinary skill in the art having the bene?t of this disclosure.
`The use of a letter in association with a reference number is
`
`Lenovo
`Ex. 1038 - Page 19
`
`

`

`US 7,263,716 B1
`
`7
`intended to show alternative embodiments or examples of
`the item to which the reference number is connected.
`The following co-pending US. patent applications are
`hereby incorporated by reference in their entireties, as if set
`forth fully herein:
`[LPC Extension Application] “Method And Apparatus For
`Extending Legacy Computer Systems”, US. patent appli
`cation Ser. No. 09/544,858, ?led on Apr. 7, 2000, whose
`inventor is Dale E. Gulick; and
`[Secure Execution Mode Applications] US. patent applica
`tion Ser. No. 09/ 852,372, entitled, “Secure Execution Box
`and Method,” ?led on May 10, 2001, whose inventors are
`Dale E. Gulick and Geoffrey S. Strongin;
`US. patent application Ser. No. 09/852,942, entitled, “Com
`puter System Architecture for En

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket