throbber
(12) United States Patent
`Howard et al.
`
`(10) Patent No.:
`(45) Date of Patent:
`
`US 6,708,278 B2
`Mar.16,2004
`
`I 1111111111111111 11111 111111111111111 1111111111 1111111111 111111111111111111
`US006708278B2
`
`(54) APPARATUS AND METHOD FOR
`AWAKENING BUS CIRCUITRY FROM A
`LOW POWER STATE
`
`(75)
`
`Inventors: Brian D. Howard, Portola Valley, CA
`(US); Michael F. Culbert, San Jose,
`CA (US); Robert Bailey, La Selva
`Beach, CA (US)
`
`(73) Assignee: Apple Computer, Inc., Cupertino, CA
`(US)
`
`(*) Notice:
`
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`U.S.C. 154(b) by O days.
`
`(21) Appl. No.: 10/210,734
`
`(22) Filed:
`
`Jul. 31, 2002
`
`(65)
`
`Prior Publication Data
`
`US 2003/0014677 Al Jan. 16, 2003
`
`Related U.S. Application Data
`
`(63) Continuation of application No. 09/340,762, filed on Jun.
`28, 1999, now Pat. No. 6,460,143.
`
`(51)
`Int. CI.7.................................................. G06F 1/26
`(52) U.S. Cl........................................................ 713/323
`(58) Field of Search.. ……..…………..……… 713/300, 310,
`713/320, 323, 324, 340
`
`(56)
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`5,471,625 A * 11/1995 Mussemann et al. …….713/322
`
`5,557,777 A
`9/1996 Culbert
`2/1997 Culbert
`5,600,841 A
`1/1998 Culbert
`5,708,816 A
`9/1998 Broedner et al.
`5,812,796 A
`6,105,097 A * 8/2000 Larky et al. …………….713/324
`6,119,194 A * 9/2000 Miranda et al. ………… 713/310
`5/2001 Nakaoka et al.
`6,230,277 Bl
`6,272,644 Bl * 8/2001 Urade et al. …………….713/320
`6,308,278 Bl * 10/2001 Khouli et al.. ………..… 713/323
`6,460,143 Bl * 10/2002 Howard et al. ………….713/323
`6,567,921 Bl * 5/2003 Guziak. …………..…… ..713/322
`6,601,178 Bl * 7/2003 Gulick. …………..…… ..713/322
`OTHER PUBLICATIONS
`
`"Universal Serial Bus Specification", Revision 1.0, Jan. 15,
`1996.
`* cited by examiner
`Primary Examiner----Glenn A. Auve
`(74) Attorney, Agent, or Firm---Beyer Weaver & Thomas,
`LLP
`
`(57)
`
`ABSTRACT
`
`Apparatus and techni aratus and techniques for awakening bus circuitry from
`
`an inactive state as needed are described. The bus circuitry
`forms part of a computer system and is placed in the inactive
`state (i.e., shut down) when not needed so as to conserve
`power. The bus circuitry is associated with a bus and can be
`awakened out of the inactive state when certain bus events,
`including resume, connect or disconnect, occur on the bus.
`The invention is particularly advantageous for computing
`devices (e.g., portable computers, desktop computers, server
`computers) where it is desirous to shut down bus circuitry as
`well as other circuitry (e.g., microprocessor) when not
`needed so as to reduce power consumption.
`
`15 Claims, 10 Drawing Sheets
`
`200/
`
`USB
`PORT
`
`214_1
`
`Vbus
`
`VD+ rl
`
`212
`
`USB
`HOST
`CONTROLLER
`
`VD-
`
`GND
`
`PCIBUS
`216_1
`丿 NTROLLER
`
`口p
`
`I__J13Q
`
`USB
`WAKEUP
`CIRCUIT
`
`222
`
`MICROPROCESSOR
`
`POWER
`MANAGER
`
`INTERRUPT
`CONTROLLER
`
`Petitioners Ex. 1025
`IPR USP 7,834,586
`Page 1 of 20
`
`

`

`B2
`
`6,708,278
`
`US
`
`10
`of
`1
`
`Sheet
`
`Mar.16,2004
`
`Patent
`
`U.S.
`
`1
`
`FIG.
`
`118
`
`CIRCUIT
`
`USB WAKEUP
`
`108
`
`MICROPROCESSOR
`
`104
`
`109
`
`12
`
`120
`
`CIRCUITRY
`PERIPHERAL
`
`INTERFACE
`BUS
`PERIPHERAL
`USB
`
`/ 100
`
`CNTLR
`HOST
`USB
`
`115
`
`116
`
`102
`
`Petitioners Ex. 1025
`IPR USP 7,834,586
`Page 2 of 20
`
`

`

`B2
`8
`
`8,27
`
`6,70
`
`us
`
`10
`of
`2
`
`Sheet
`
`上
`
`Mar.16,200
`
`Patent
`
`U.S.
`
`CONTROLLER
`INTERRUPT
`
`MANAGER
`
`POWER
`
`MICROPROCESSOR
`
`200/
`
`FIG. 2
`
`PCI PORT
`
`CONTROLLER
`
`PCIBUS
`
`IRQ.
`
`WKUP
`
`222
`
`CIRCUIT
`WAKEUP
`
`USB
`
`CONTROLLER
`
`HOST
`USB
`
`212
`
`GND
`
`VD-
`
`VD+
`
`Vbus
`
`PORT
`USB
`
`214
`
`Petitioners Ex. 1025
`IPR USP 7,834,586
`Page 3 of 20
`
`

`

`B2
`
`,708,278
`6
`
`us
`
`10
`of
`3
`
`Sheet
`
`04
`
`6,20
`1
`
`Mar.
`
`Patent
`.
`u.s
`
`324
`
`Register
`Wakeup
`
`Bit
`
`302
`
`3
`
`FIG.
`
`Register
`Enable
`
`Bit
`
`s
`
`IRQ
`
`\1)
`6 2erBrt
`
`3thSo
`
`OUp (\
`
`WKUP
`
`310
`
`300 \
`
`VD-
`
`VD+
`
`Petitioners Ex. 1025
`IPR USP 7,834,586
`Page 4 of 20
`
`

`

`B2
`
`6,708,278
`
`US
`
`10
`of
`4
`
`Sheet
`
`Mar.16,2004
`
`Patent
`
`U.S.
`
`LINES
`READ
`EVENT
`
`LINES
`SELECT
`
`BIT
`
`REGISTER
`
`ENABLE
`
`ICS
`~04
`
`CIRCUIT
`
`DISCONNECT
`
`ENABLE
`
`FIG. 4
`
`STORAGE
`CONDITION
`INITIAL BUS
`
`GENERATOR
`
`SIGNAL
`WAKEUP
`
`418
`
`DES
`
`416
`
`CIRCUIT
`CONNECT
`ENABLE
`
`CES
`
`414
`
`CIRCUIT
`RESUME
`ENABLE
`
`RES
`
`400
`
`f
`
`412
`
`DETECTOR
`
`EVENT
`
`DISCONNECT
`
`DETECTOR
`
`EVENT
`
`CONNECT
`
`DETECTOR
`
`RESUME EVENT
`
`VD-
`
`VD+
`
`Petitioners Ex. 1025
`IPR USP 7,834,586
`Page 5 of 20
`
`

`

`U.S. Patent
`
`Mar.16,2004
`
`Sheet 5 of 10
`
`US 6,708,278 B2
`
`;- -
`
`- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -...............-....-......- ·一.....一.....一..一一一一一飞
`
`;
`:
`:
`
`I
`
`RES
`
`l
`
`502
`
`RESUME
`REGISTER
`BIT
`
`514
`
`:
`, :
`}
`!
`
`500
`~ : :
`(418)
`
`RESUME
`SELECT
`REGISTER
`
`I 508
`
`CES
`
`I 504
`
`CONNECT
`REGISTER
`BIT
`
`516
`
`CONNECT
`SELECT
`REGISTER
`
`DES
`
`DISCONNECT I 506
`REGISTER
`BIT
`
`518
`
`DISCONNECT
`SELECT
`REGISTER
`
`I S12
`
`(OTHER USB PORTS)
`524
`
`lWKUP-IRQ ;
`WKUP-PCI
`------····-----------------------------------·-------·-·•---·一一.........._ _ _ _...一'
`
`FIG. 5
`
`Petitioners Ex. 1025
`IPR USP 7,834,586
`Page 6 of 20
`
`

`

`B2
`
`6,708,278
`
`US
`
`10
`of
`6
`
`Sheet
`
`Mar.16,2004
`
`Patent
`
`U.S.
`
`FIG. 6A
`
`616
`
`(412}
`
`/ 600
`
`VD
`
`VD+
`
`Petitioners Ex. 1025
`IPR USP 7,834,586
`Page 7 of 20
`
`

`

`U.S. Patent
`
`Mar.16,2004
`
`Sheet 7 of 10
`
`US 6,708,278 B2
`
`ERS1
`
`ERS2 / 650
`
`(406)
`
`656
`
`DES
`
`IC+
`
`IC-
`
`ES
`
`FIG. 6B
`
`Petitioners Ex. 1025
`IPR USP 7,834,586
`Page 8 of 20
`
`

`

`B2
`
`ES
`
`DES
`
`DS
`
`7B
`
`FIG.
`
`6,708,278
`
`US
`
`10
`of
`8
`
`Sheet
`
`Mar.16,2004
`
`Patent
`
`U.S.
`
`FIG. 7A
`
`ECS
`
`(408)
`
`/ 750
`
`718
`
`VD-
`
`VD+
`
`芯\
`
`Petitioners Ex. 1025
`IPR USP 7,834,586
`Page 9 of 20
`
`

`

`U.S. Patent
`
`Mar.16,2004
`
`Sheet 9 of 10
`
`US 6,708,278 B2
`
`8 0~
`
`VD+
`VD-
`
`Q I DES
`
`EDS
`
`FIG. BA
`
`850
`
`/
`
`ES
`
`IC+
`
`IC-
`
`FIG. BB
`
`Petitioners Ex. 1025
`IPR USP 7,834,586
`Page 10 of 20
`
`

`

`B2
`
`6,708,278
`
`US
`
`10
`of
`10
`
`Sheet
`
`9
`
`FIG.
`
`ERS2
`
`D
`
`628
`
`624
`
`Mar.16,2004
`
`634
`
`/ 900
`
`Patent
`
`U.S.
`
`610
`
`614
`
`VD-
`
`VD+
`
`Petitioners Ex. 1025
`IPR USP 7,834,586
`Page 11 of 20
`
`

`

`1
`
`US 6,708,278 B2
`
`2
`
`APPARATUS AND METHOD FOR
`AWAKENING BUS CIRCUITRY FROM A
`LOW POWER STATE
`
`CROSS-REFERENCE TO RELATED
`APPLICATIONS
`
`BACKGROUND OF THE INVENTION
`
`This application is a continuation application which
`claims the benefit of priority from U.S. application Ser. No.
`09/340,762, filed Jun. 28, 1999 now U.S. Pat. No. 6,460,143
`and entitled "APPARATUS AND METHOD FOR AWAK- 10
`ENING BUS CIRCUITRY FROM A LOW POWER
`STATE," the content of which is hereby incorporated by
`reference in its entirety

`-

`
`logical devices, while other information is specific to the
`functionality provided by the device. Before a peripheral
`device can be used, it must be configured by the host. This
`configuration includes allocating USE bandwidth and
`s selecting function specific configuration options. Examples
`of functions provided by peripheral devices include: locator
`devices such as a mouse, tablet, or light pen; input devices
`such as a keyboard; output devices such as a printer or
`scanner; and telephony adapters such as an ISDN adapter
`The USE specification also covers power management
`aspects. Each USE segment provides a limited amount of
`~~)':'_er _over the_ cable. T~e h~st supplies ~ower_ for use ~y
`USE. devices_ thitt are. directly. connected to the host. In
`add山on, any USE device may have its own power supply
`15 USE devices that rely totally on the power from the cable are
`called bus-powered devices. In contrast, those USE devices
`1. Field of the Invention
`that have an alternate source of power are called self(cid:173)
`The p resent invention relates to computer systems and,
`powered devices.
`more particularly, to bus control for computer systems.
`A USE host has a power management system which is
`20 independent from that- of USE. The USE system software
`2. Description of the Related Art
`interacts with the host's power management system to
`Computer systems typically include a bus over which data
`handle system power events such as Suspend or Resume. In
`and control signals are exchanged with peripheral devices.
`particular, USE allows the host computer to command
`These buses are often categorized as either parallel buses or
`serial buses. Parallel buses include multiple data lines, _ _ connected USE devices to enter a low-power Suspend state.
`whereas serial buses include a single data line (or a differ- 25 A suspended full-speed device pulls th~ VD+ dat~ line high,
`ential pair of lines). Examples of parallel buses are Interface
`while the host's pull-down resistor to ground pulls the VD-
`Standard Association (ISA) and Peripheral Component
`data line low. S皿larly, a suspended low-speed device pulls
`Interface (PCI). Examples of serial buses are Apple Desktop
`the VD- line high, while the host's pull-down resistor to
`Eus (ADE), Access.bus, IEEE P1394, Concentration High-
`__ ground pulls the USE VD+ data line low. The state of the
`30 USE b us when a suspended device is connected is also
`way Interface (CHI), and GeoPort.
`Recently, a serial bus known as Universal Serial Eus
`called the Idle state. When a suspended device experiences
`(USB) has been developed USB lS an mdustry standard
`a wakeup event (such as a key press, modem nng detect,
`etc.), it generates a Resume event by driving the low data
`extension to the personal computer architecture with a focus
`on Computer Telephony Integration (CTI), consumer and 00 line high and driving the high data line low. Normally, the
`35
`productivity applications. The USE is described in a Uni-
`J J host computer's USE c订cuitry detects the Resume event,
`versal Serial Eus Specification, Revision 1.0, dated Jan. 15,
`and resumes normal USE communication with the device.
`1996, which is hereby incorporated by reference.
`When a device is unplugged from a USE port, the host
`USE is a cable bus that supports data exchange between
`computer's pull-down resistors cause both data lines to be
`a host computer and a wide range of simultaneously acces- 40 pulled low. The host computer's USE c订cuitry detects this
`· · as a disconnect event. If a device is later plugged into the
`sible peripherals. The USE bus is a four wire bus, with a
`power hne (Vbus), a ground hne (GND), and two data hnes
`port, the dewce pulls one of the data hnes hlgh The
`(VD+ and VD-). Data is transmitted over the data lines in
`particular one of the data lines pulled high depends on
`a differential manner. The peripherals attached to a USE
`whether it is a full-speed or a low-speed device. The host
`share the bandwidth of the USE through a host scheduled 45 computer's USE circuitry detects this connect event, and
`·· begins USE communication with the device.
`token based protocol. The USE specification allows periph-
`However, all of these operations require the host com-
`erals to be attached, configured, used and detached while the
`puter's USE c订cuitry to be awake (powered and clocked) at
`host and other peripherals are in operation. Such is often
`referred to as dynamic (or hot) attachment and removal.
`all times, in order to detect resume, disconnect or connect
`A USE bus connects USE devices with a USE host. A host so events. In many cases, especially in portable computers or
`controller interfaces the USE bus to the host computer
`other battery-powered devices, it is desirable to shut down
`system. The host controller may be implemented in a
`the USE circuitry (stop its clocks and possibly turn off its
`combination of hardware, firmware or software. The USE
`power) when it is not needed so as to reduce the host
`host interacts with the USE devices through the host con-
`computer's power consumption. For example, this might
`troller. The host and its associated host controller are respon- 55 occur when the host computer is in a sleep state, or when no
`sible for managing the use of the USE. Specifically, the host
`USE devices are presently connected to the host computer
`is responsible for detecting the attachment and removal of
`Although such power management advantageously reduces
`USE devices, managing control flow between the host and
`power consumption and thus extends battery life, a serious
`USE devices, managing data flow between the host and USE
`problem is presented because these bus events (resume,
`devices, collecting status and activity statistics, and provid- 60 connect and disconnect) are not able to be detected when the
`host computer's USE circuitry has been shut down. This
`ing a limited amount of power to attached USE devices.
`problem leads to improper operation of the host computer,
`USE devices are peripheral devices that add additional
`functionality to the host computer. The types of functionality
`namely, unresponsiveness to bus events, and thus user
`provided by the USE devices varies widely. To assist the
`dissatisfaction
`USE host in identifying and configuring USE devices, each 65
`Thus, there is a need for improved bus control such that
`US~ de"_ice can:i~s a~~ repor~s configur~t~on related info~:
`p~rip?era~ de~ic~s ca~ ut~lize _a bus ~ven though the host bus
`mation. Some of the information reported is common to all
`circuitry for the bus is shut down for power management
`
`Petitioners Ex. 1025
`IPR USP 7,834,586
`Page 12 of 20
`
`

`

`3
`
`US 6,708,278 B2
`
`4
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`a current bus state of the bus using the bus monitor circuit
`SUMMARY OF THE INVENTION
`to detect certain bus events occurring on the bus, the certain
`Broadly speaking, the invention relates to apparatus and
`bus events being detected based on the initial bus state and
`;"""tiuP
`techniques for awakening bus circuitry from an inactive
`the current bus state; and awakening the bus controller when
`state as needed. The bus circuitry forms part of a computer
`system and is placed in the inactive state (i.e., shut down) s at least one of the certain bus events are detected.
`when not needed so as to conserve power. The bus circuitry
`The advantages of the invention are numerous. Different
`is associated with a bus and can be awakened out of the
`embodiments or implementations may have one or more of
`inactive state when certain bus events, including resume,
`the following advantages. One advantage of the invention is
`connect or disconnect, occur on the bus. The invention is
`that bus events invoked on a bus by a peripheral device are
`particularly advantageous for battery-powered computing 10 able to be noticed and responded to even though bus
`devices (e.g., portable computers) where it is desirous to
`circuitry is shut down (i.e., inactive state). Another advan-
`shut down bus circuitry as well as other circuitry (e.g.,
`tage of the invention is that power management can be had
`microprocessor) when not needed so as to reduce power
`for bus circuitry without loss of important bus events while
`the bus circuitry is shut down. Still another advantage of the
`consumption.
`The invention can be implemented in numerous ways, 15 invention is that resistance to noise present on the bus is
`provided so that bus events are not erroneously detected. Yet
`including as a system, a device, an apparatus, and a method
`another advantage of the invention is that the particular type
`;7,,.rl
`Several embodiments of the invention are summarized
`of event inducing the awakening of the bus circuitry can be
`below.
`made known to the computer system (e.g., operating
`As a computer system, one embodiment of the invention
`in~ludes: a me1:1ory for ~tori~g. at leas_t instruct~o_ns;. a 20 system).
`microprocessor for processing the instructions stored in the
`Other aspects and advantages of the invention will
`memory, the microprocessor having an active state and a
`become apparent from the following detailed description,
`sleep state; a peripheral bus; a bus host controller for
`taken in conjunction with the accompanying drawings,
`managing data transfer over the peripheral bus, the bus host "'illustrating by way of example the principles of the inven-
`25.
`controller having an operational mode and a shut-down ~" hon.
`mode, the shut-down mode providing power savings; and a
`wakeup circuit operatively connected to the peripheral bus,
`The present invention will be readily understood by the
`the wakeup circuit operates to detect bus events on the
`peripheral bus when the bus host controller is in the shut- 30 following detailed description in conjunction with the
`down mode and to initiate awakening of the host bus
`accompanying drawings, wherein like reference numerals
`controller to the operational mode when bus events have
`designate like structural elements, and in which
`been detected.
`FIG. 1 is a block diagram of a computer system according
`As a computer system, another embodiment of the inven-
`to one embodiment ofthe invention;
`tion includes: a memory for storing at least instructions; a
`FIG. 2 is a block diagram of a computer system according
`microprocessor for processing the instructions stored in the
`to another embodiment of the invention;
`memory; a power manager for managing power consump-
`FIG. 3 is a schematic diagram of a bus wakeup circuit
`tion of the computer system; a peripheral bus; a bus host
`according to one embodiment of the invention;
`controller for managing data transfer over the peripheral bus,
`FIG. 4 is a block diagram of a bus wakeup circuit
`the bus host controller being shut-down when the peripheral 40
`bus is not needed; and a wakeup circuit operatively con-
`·- according to another embodiment of the invention;
`nected to the peripheral bus, the wakeup circuit operates to
`FIG. 5 is a schematic diagram of a wakeup signal gen-
`detect bus events on the peripheral bus when the bus host
`erator according to one embodiment of the invention;
`controller is shut~down and to in山ate awakening of the host
`FIG. 6Ais a schematic diagram of a resume event detector
`bus controller when bus events have been detected.
`45 according to one embodime~t of the invention;
`As a wakeup circuit for awakening a bus controller from
`FIG. 6B is a schematic diagram of an enable resume
`a low-power mode, where the bus controller controls com-
`"ir"";
`circuit according to one embodiment of the invention;
`munications with a bus, an embodiment of the invention
`FIG. 7A is a schematic diagram of a connect event
`::;:~-·;
`includes: an initial bus condition store that stores in山al
`:_:::;:·;:
`detector according to one embodiment of the invention;
`conditions residing on the bus when the wakeup circuit is 50
`FIG. 7B is a schematic diagram of an enable connect
`activated; and event detection circuitry that detects at least
`circuit according to one embodiment of the invention;
`one type of bus event on the bus based on current bus
`conditions and the initial conditions stored in the initial bus
`FIG. SA is a schematic diagram of a disconnect event
`condition store.
`detector according to one embodiment of the invention;
`A wakeup circuit for awakening a bus controller from a 55
`FIG. SB is a schematic diagram of an enable disconnect
`low-power mode, where the bus controller controls commu-
`circuit according to one embodiment of the invention; and
`nications with a bus, another embodiment of the invention
`FIG. 9 is a block diagram of a schematic diagram of a
`includes: event detection circuitry that detects at least one
`resume event detector according to another embodiment of
`type of bus event on the bus based on current bus conditions;
`the invention.
`and a wakeup signal generator that operates to produce a bus 60
`DETAILED DESCRIPTION OF THE
`wakeup signal that is used in awakening the bus controller
`INVENTION
`As a method for monitoring bus activity on a bus of a
`computing device when a bus controller for the bus is
`The invention relates to apparatus and techniques for
`awakening bus circuitry from an inactive state as needed
`inactive, an embodiment of the invention includes the opera-
`tions of: activating a bus monitor circuit when the bus 65 The bus circuitry forms part of a computer system and is
`controller becomes inactive; saving an initial bus state when
`placed in the inactive state (i.e., shut down) when not needed
`so as to conserve power. The bus circuitry is associated with
`the bus monitor circuit is activated; subsequently monitoring
`
`35
`
`Petitioners Ex. 1025
`IPR USP 7,834,586
`Page 13 of 20
`
`

`

`5
`
`US 6,708,278 B2
`
`6
`
`computer system 200 includes a microprocessor 202, a
`a bus and can be awakened out of the inactive state when
`random access memory (RAM) 204, and a read-only
`certain bus events, including resume, connect or disconnect,
`memory (ROM) 206. The RAM 204 and the ROM 206 are
`occur on the bus. The invention is preferably implemented
`coupled to the mlCroprocessor 202 through a system bus
`as an electncal c1rcuU, wh1ch can be a separate Clrcuu or
`s 208. The microprocessor 202 executes i:1~tru~tion~ t~ ~':rE)'.
`integrated within the bus circuitry. The invention is particu-
`out operations for the computer system 200. The RAM 204
`ino- -rl.,vice,,;
`larly advantageous for battery-powered computing devices
`provides temporary data storage for use by at least the
`(e.g., portable computers) where it is desirous to shut down
`microprocessor 108. The ROM 206 typically stores pro-
`irrnnrnrPs:s:nr°\
`bus circuitry as well as other circuitry (e.g., microprocessor)
`gramming ~nstructions for use ~ith the micr?proc_essor !0~.
`when not needed so as to reduce power consumption.
`An operating system (or at least a portion thereof) is
`Embodiments of the invention are discussed below with 10
`normally stored in the RAM 204 or the ROM 206. The
`reference to FIGS.1-9. However, those skilled in the art will
`computer system 200 also includes a power manager 210
`,::::, -~::~~:
`readily appreciate that the detailed description given herein
`that manages power consumption by the computer system
`with respect to these figures is for explanatory purposes as
`200. The power manager works with the operating system in
`the invention extends beyond these limited embodiments.
`15 managing the power consumption of the computer system
`FIG. 1 is a block diagram of a computer system 100
`200. The power manager 210 can be used to power manage
`according to one embodiment of the invention. The com-
`various components of the computer system 200, including
`puter system 100 includes a computer 102 that couples to a
`the microprocessor 202, various bus controllers, and other
`peripheral device 104 via a USE bus 106. The computer 102
`subsystems within the computer system 200. The computer
`includes a microprocessor 108 that executes instructions to 20 system 200 could also be a multiprocessor system in which
`carry out operations for the computer 102. The micropro-
`case the power manager 210 could power manage a plurality
`cessor 108 couples to a system bus 109. Also coupled to the
`of microprocessors.
`system bus 109 is a random-access memory (RAM) 110, a
`Still further, the computer system 200 includes a USE
`read-only memory (ROM) 112, and a USE host controller
`host controller 212 that controls interaction with a USE bus
`114. The RAM 110 provides temporary data storage for use 25 that couples to a USE port 214. The USE bus is a serial bus
`by at least the microprocessor 108. The ROM 112 typically
`that is able to support one or more peripheral devices that
`cl~c;
`stores programming instructions for use with the micropro-
`desire to communicate with the computer system 200. The
`cessor 108 (including at least a portion of an operating
`( )
`USE bus is a four wire bus, with a power line (Vbus), a
`system). The USE host controller 114 operates to manage
`ground line (GND), and two data lines (VD+ and VD-)
`the USB bus 106 in accordance with the USB specification.

`30 Data is transmitted over the data lines in a differential
`More particularly, the USE host controller 114 is used to
`manner. Eesides the USE bus, the computer system 200 also
`transmit and receive data over the USE bus 106.
`supports a PCI bus. The PCI bus is supported by a PCI bus
`The computer 102 also includes a USE port 116 and a
`controller 216 and the PCI bus couples to a PCI port 218 of
`USE wakeup circuit 118. The USE port 116 is used to couple
`the computer system 200. The USE host controller 212 and
`an internal link 115 of the USE bus 106 from the USE host 35 the PCI bus controller 216 are coupled to the system bus 208
`controller 114 to a cable carrying the USE bus 106. Accord-
`-- of the computer system 200. The ~omputer system 200 also
`ing to the USE specification, the cable for the USE bus 106
`includes an interrupt controller 220- that, when needed,
`mcludesfourW1res, two ofwh1ch carrypowersupplySlgnals
`supphes mterrupt requests to the mlCroprocessor 202 The
`and the other two carry differential data. The USE wakeup
`inte-rrupt controller 220 can also supply an interrupt request
`circuit 118 is coupled to the internal link 115 of the USE bus 40 to the power manager 210 in cases where the computer
`· - system -200 is in a shutdown state (or sleep mode)
`106 so that bus events occurring on the USE bus 106 by the
`peripheral device 104 (or other peripheral devices) can be
`The operating system (or other software) controls the
`detected when the USE host controller is shut down. In other
`overall power consumption of the computer system 220 and
`words, when the USE host controller 114 shuts down,
`uses the power manager 210 (hardware) to perform some of
`typically for power conservation reasons, the USE wakeup 45 the shutdown operations such as stopping clocks, stopping
`circuit 188 is activated to monitor the USE bus 106 for
`power, and interrupt handling. In this regard, the operating
`certain bus events that should be serviced. When such of the
`system or the power manager 210 can place various com-
`certain bus events have been detected, the USE wakeup
`n:.n,,nts: i
`ponents in a shutdown state (or sleep mode) so as to
`circuit 118 causes the USE host controller 114 to awaken. In
`conserve power. Namely, the microprocessor 202 can be
`one embodiment, the USE wakeup circuit 118 notifies the so placed in a sleep mode when its processing capab山ties are
`microprocessor 108, and then the microprocessor 108
`not needed. The operating system or the power manager 210
`together W1th an operatmg system (res1dmg m ROM ll2 or
`can also place the USB host controller 2l2 (or the PCI bus
`the RAM 110) causes the USE host controller 114 to be
`controller 216) in an inactive state (i.e., shut down) or
`awakened. Once awakened, the USE host controller 114 is
`awaken the USE host controller 212 (or the PCI bus con-
`able to service the detected bus events.
`55 troller 216) from the inactive state to the active state. In one
`The peripheral device 104 includes a USE peripheral bus
`embodiment, when the computer system 200 is to be
`interface 120 that couples to the cable carrying the USE bus
`awakened, the power manager 210 can awaken other parts
`106. The USE peripheral bus interface 120 interacts with the
`of the computer system 200 (e.g., the microprocessor 202)
`USE host controller 114 to facilitate the transfer and recep-
`and thereafter the operating system (or other software) can
`tion of data over the USE bus 106. The peripheral device 60 activate the USE host controller 212. Alternatively, the
`104 also includes peripheral circuitry 122. The peripheral
`power manager 210 could activate the USE host controller
`circuitry 122 performs a variety of difference operations
`212 as the computer system 200 is being awakened
`depending on the type of the peripheral device 104. As
`Unfortunately, when the USE host controller 212 is in the
`examples, the peripheral device 104 could be a keyboard, a
`inacti
`inactive state, events occurring on the USE bus are not able
`g
`monitor, a modem, a camera, a scanner, etc.
`65 to be detected by the USE ho-st controller 212. As a result,
`FIG. 2 is a block diagram of a computer system 200
`the computer system 200 is not able to utilize the USE bus
`according to another embodiment of the invention. The
`when the USE host controller 212 is in the inactive state.
`
`Petitioners Ex. 1025
`IPR USP 7,834,586
`Page 14 of 20
`
`

`

`7
`
`US 6,708,278 B2
`
`8
`
`is then delayed by the delay element 316 to yield the clock
`This is problematic because often peripheral devices on the
`USE bus desire to initiate communications with the USE
`signal being supplied to the clock terminal of the flip-flop
`host controller 212, and are conventionally unable to do so.
`310. A clock signal for the clock terminal of the flip-flop 312
`However, to conserve power, it is desirable to retain the USE
`is provided by AND gate 318 and delay element 320. The
`host controller 212 in the inactive stat~-~~ as to conserve s AND gate 318 receives as inputs the negative data line
`power when there ~~~o. ac_tivi!y o~ th~ USE bus, :"hen. the
`(VD-)-and the output from th~ OR gate 308. The output
`co~p~ter s~stem 2~~~}_s,in _the shutdown st~te (~r ~l,e~g
`from the AND gate 318 is then delayed by the delay elem~nt
`mode), or when no USE devices are connected to the USE
`320 to yield the clock signal being supplied to the clock
`bus.
`terminal of the flip-flop 312.
`To allow the use of the USE bus even when the USE host
`The bus wakeup c订cuit 300 also includes an OR gate 322
`10
`controller 212 is in the inactive state, the computer system,L:·:=-:~
`that receives the output signals from the output terminals of
`200 further includes a USE wakeup circuit 222. The USE
`the flip-flops 310 and 312. The output of the OR gate 322
`wakeup circuit 222 couples to the differential data lines of
`indicates whether the bus wakeup circuit 300 has detected an
`the USB bus and monitors activity on these differential d a t a .
`event on the particular bus port being monitored. More
`lines to detect bus events that should wakeup the USE host
`15 particularly, when the output of the OR gate 322 is HIGH,
`controller 212 (as well as perhaps the microprocessor 2O2 i f .
`bus wakeup is requested; whereas, when the output of the
`sleeping). When the USE wakeup circuit 222 detects such a
`OR gate 322 is LOW, bus wakeup is not requested. A
`bus event on the differential data lines, the USE wakeup
`wakeup register bit 324 can be coupled to the output of the
`circuit 222 causes the USE host controller 212 to awaken for
`OR gate 322 to provide a software access point to the output
`servicing the detected bus event. When the computer system
`200 (including the microprocessor 202) is also in the shut- 20 from the OR gate 322, namely, a bit indicating whether or
`not a wakeup request is being made. A microprocessor or
`down state (or sleep mode), the USE wakeup c订cuit 222 can
`software (e.g., operating system) can then access the wakeup
`also cause the computer system 200 to wakeup from its sleep
`register bit 324 to determine whether the particular bus
`mode (often prior to awakening the USE host controller
`associated with the bus wakeup circuit 300 is requesting the
`212).
`25 wakeup. The microprocessor or software can also clear the
`In one embodiment, the USE wakeup circuit 222 issues
`wakeup register bit 324 and any bus wakeup event that has
`either a wakeup interrupt signal to the interrupt controller
`been detected by clearing the enable register bit 302
`220 or a wakeup signal to the power manager 210. The
`The output of the OR gate 322 is also supplied to NOR
`wakeup signal is used when the computer system 200 is in
`the shutdown state and operates to tell the power manager 30 gate 326. The NOR gate 326 also receives 1出e inputs from
`other bus ports that are supported by the computer system.
`210 to wakeup the computer system 200 (including the
`In other words, for each of the bus ports provided in the
`microprocessor 202) and then the operating system (or other
`computer system, the circuitry 302-324 is repeated. In any
`software) can awaken the USE host controller 212. When
`case, the output of the NOR gate 326 can serve as a wakeup
`the microprocessor 202 is already in an active mode, the
`wakeup interrupt signal is supplied to the interrupt controller 35 request which directs the computer system to awaken the
`host bus controller.
`220 which will interrupt the microprocessor 202 to initiate
`software that awakens the USE host controller 212 and
`In one embodiment, the wakeup request is a wakeup
`services the bus event.
`interrupt request (IRQ). Further, in one embodiment, the
`FIG. 3 is a schematic diagram of a bus wakeup c订cuit 300
`?u~~ut _<:_f- th~ _N_O_R gate 326 can ~e supplied to a.. tri.-sate
`according to one embodiment

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