US11703935B2 - Mechanism for saving power on a bus interface - Google Patents

Mechanism for saving power on a bus interface Download PDF

Info

Publication number
US11703935B2
US11703935B2 US16/947,440 US202016947440A US11703935B2 US 11703935 B2 US11703935 B2 US 11703935B2 US 202016947440 A US202016947440 A US 202016947440A US 11703935 B2 US11703935 B2 US 11703935B2
Authority
US
United States
Prior art keywords
host
wake
bus
repeater
event
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
US16/947,440
Other versions
US20220035433A1 (en
Inventor
Itay Franko
Derek Iwamoto
Mark Ferdinand Damarillo
William O. Ferry
Yi-Chun Chen
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Apple Inc
Original Assignee
Apple Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Apple Inc filed Critical Apple Inc
Priority to US16/947,440 priority Critical patent/US11703935B2/en
Assigned to APPLE INC. reassignment APPLE INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: FRANKO, ITAY, CHEN, YI-CHUN, DAMARILLO, MARK FERDINAND, FERRY, WILLIAM O., IWAMOTO, DEREK
Publication of US20220035433A1 publication Critical patent/US20220035433A1/en
Priority to US18/337,189 priority patent/US20240028103A1/en
Application granted granted Critical
Publication of US11703935B2 publication Critical patent/US11703935B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/325Power saving in peripheral device
    • G06F1/3253Power saving in bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3209Monitoring remote activity, e.g. over telephone lines or network connections
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3287Power saving characterised by the action undertaken by switching off individual functional units in the computer system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3296Power saving characterised by the action undertaken by lowering the supply or operating voltage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3027Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3058Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations
    • G06F11/3062Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations where the monitored property is the power consumption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B3/00Line transmission systems
    • H04B3/02Details
    • H04B3/36Repeater circuits
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Definitions

  • Embodiments described herein relate to the field of computing systems and, more particularly, to saving power on a bus interface between a host and a device.
  • Transistor dimensions continue to decrease enabling more transistors to be packed into a single integrated circuit (IC) or system on chip (SOC).
  • SOC system on chip
  • USB universal serial bus
  • Some modern SOCs with external connections use a USB type-C connector. This connector can use different types of protocols, such as the USB3.x protocol with the SOC acting as a host. If a USB host and a USB device do not communicate during some threshold amount of time, the USB host can suspend the USB interface and enter a low-power mode so as to conserve power.
  • the USB3.x host is required to check every 100 milliseconds (ms) to determine if the device is still connected. However, if the host is checking for activity by the device every 100 ms, this requires the host to keep its physical interface (PHY) unit powered on, increasing the power consumed by the host during low-power mode.
  • PHY physical interface
  • a system includes a device, a repeater connected to the device via a first bus, and a host connected to the repeater via a second bus.
  • the host and the device would be connected directly to each other, but the repeater is placed in between the host and the device to create a more efficient and versatile interface.
  • the host and device go into a low-power state during periods of low activity in order to reduce power consumption.
  • the repeater monitors the first bus to determine if the device has woken up.
  • the repeater detects a remote wake-up event initiated by the device, the repeater generates an interrupt which is sent to the host.
  • the host responds to the interrupt by initiating a procedure as if the host itself is initiating a resume wake-up event. In this way, the host is able to reduce power consumption during the low-power state. Also, this scheme does not require the host to modify its wake-up procedure to account for the presence of the repeater in between the host and the device.
  • FIG. 1 is a generalized block diagram of one embodiment of a prior art computing system.
  • FIG. 2 is a generalized block diagram illustrating one embodiment an apparatus for reducing power consumption during a low-power state.
  • FIG. 3 is a timing diagram of one embodiment of a sequence of events for a USB device waking up from a low-power state.
  • FIG. 4 is a flow diagram of one embodiment of a method for managing a bus idle state.
  • FIG. 5 is a flow diagram of one embodiment of a method for managing a low-power state for a host-device pair.
  • FIG. 6 is a flow diagram of one embodiment of a method for converting a first type of wake-up event into a second type of wake-up event.
  • FIG. 7 is a block diagram of one embodiment of a system.
  • circuits, or other components may be described as “configured to” perform a task or tasks.
  • “configured to” is a broad recitation of structure generally meaning “having circuitry that” performs the task or tasks during operation.
  • the unit/circuit/component can be configured to perform the task even when the unit/circuit/component is not currently on.
  • the circuitry that forms the structure corresponding to “configured to” may include hardware circuits.
  • various units/circuits/components may be described as performing a task or tasks, for convenience in the description.
  • system includes a host 110 , an interface 120 , and a device 130 .
  • interface 120 is a universal serial bus (USB) interface.
  • USB universal serial bus
  • interface 120 is any of various other types of interfaces.
  • PHY physical interface unit
  • a “low-power state” as defined herein can be a state in which a voltage supplied to one or more components is reduced from its maximum, a state in which the frequency of the clock signal is reduced from its maximum, a state in which the clock signal is inhibited from the component(s) (clock-gated), one in which power is removed from the component(s) (power-gated), or a combination of any of the former. It is noted that the terms “low-power state”, “reduced power state”, and “sleep state” may be used interchangeably herein.
  • apparatus 200 includes system on chip (SOC) 202 coupled to repeater 212 , with repeater 212 coupled to device 222 .
  • SOC system on chip
  • device 222 is a USB device, and the signals transmitted between repeater 212 and device 222 are compliant with the USB protocol.
  • device 222 may be connected to repeater 212 using other types of interfaces, and the signals transmitted between repeater 212 and device 222 may be compliant with other types of protocols.
  • neither SOC 202 nor device 222 are aware that repeater 212 is interposed between them. In other words, in this embodiment, from the point of view of SOC 202 and device 222 , a direct connection exists between device 222 and SOC 202 .
  • SOC 202 includes processing unit 204 , interface unit 206 , controller 208 , and PHY unit 210 . It is noted that SOC 202 may also include (or be connected to) any number of other components (e.g., cache, memory device) which are not shown to avoid obscuring the figure.
  • processing unit 204 executes software instructions of an operating system and/or one or more applications. Processing unit 204 is representative of any number and type of processing units and/or control logic.
  • processing unit 204 includes an interrupt handler for processing interrupts generated by repeater 212 .
  • Interface unit (or IF unit) 206 provides the interface between processing unit 204 and repeater 212 .
  • interface unit 206 communicates according to the inter-integrated circuit (I2C) protocol. In other embodiments, interface unit 206 is compliant with any of various other protocols.
  • I2C inter-integrated circuit
  • various components of SOC 202 may enter a reduced power state so as to reduce power consumption. For example, if device 222 becomes inactive or stops communicating to SOC 202 , the various components such as controller 208 and PHY unit 210 may enter a low-power state to reduce power consumption of SOC 202 . PHY unit 210 is able to enter the low-power state since repeater 212 can monitor the interface to device 222 to periodically check if device 222 has woken up. In one embodiment, if device 222 wakes up while PHY unit 210 is in the low-power state, resume detection and driver 216 will detect electrical activity on the interface connection to device 222 . In response to detecting the electrical activity when PHY unit 210 is in the low-power state, resume detection and driver 216 generates an interrupt, and the interrupt is conveyed to processing unit 204 via interface unit 206 .
  • interface 221 is in a sleep state and interface 221 is a USB interface
  • remote wake-up event if device 222 is the first component to wake up, this is referred to as remote wake-up event.
  • SOC 202 acts as a host
  • this is referred to as a resume wake-up event.
  • SOC 202 implements a resume wake-up event procedure in response to repeater 212 detecting a remote wake-up event initiated by device 222 .
  • a remote wake-up event is converted into a resume wake-up event.
  • This conversion helps to simplify the response to the wake-up event for scenarios where SOC 202 is unaware of the presence of repeater 212 .
  • the procedure for SOC 202 to exit the low-power state is less complex and more power efficient than if SOC 202 were to respond to a remote wake-up event.
  • repeater 212 includes interface unit 214 , resume detection and driver 216 , level translator 218 , and switch 220 .
  • repeater 212 may include other components arranged in other suitable manners.
  • level translator 218 translates signals received from PHY unit 210 from a first voltage to a second voltage when conveying the signals to device 222 via switch 220 .
  • the second voltage is at a higher voltage level than the first voltage.
  • level translator 218 translates the signals from the second voltage to the first voltage.
  • Switch 220 allows signals to pass from device 222 to level translator 218 when interface 221 and device 222 are active.
  • a software select signal (or sw_sel) from interface unit 214 causes switch 220 to route the signals to resume detection and driver 216 , allowing resume detection and driver 216 to monitor the interface 221 for electrical signals generated by device 222 .
  • FIG. 3 a timing diagram 300 of one embodiment of a sequence of events for a USB device waking up from a low-power state is shown.
  • the components that are included in a given computing system in accordance with one embodiment are shown.
  • the system includes at least USB controller 302 , PHY unit 304 , repeater 306 , and USB2 device 308 .
  • the waveforms are shown to the right of the components for the signals generated or received by these components.
  • device 308 being a USB2 device is merely indicative of one particular embodiment.
  • the system components may utilize other types of protocols and/or interfaces.
  • the sequence of events for implementing a sleep state and performing wake-up detection are the following:
  • the USB port of repeater 306 enters the low-power (or L2) state.
  • PHY unit 304 sends out a command to repeater 306 to put the USB port into the low-power state when a suspend signal is asserted.
  • the software executing on the SOC e.g., SOC 202 of FIG. 2
  • the USB2 device 308 sends out a remote wakeup signal.
  • repeater 306 asserts the interrupt to the SOC in response to detecting the remote wakeup signal, and repeater 306 reflects a resume state on the USB2 bus.
  • software executing on the SOC clears the interrupt.
  • software executing on the SOC disables the interrupt for the USB remote wakeup event.
  • software executing on the SOC initiates a resume event, and the suspend signal is de-asserted.
  • PHY unit 304 starts to generate the PHY clock.
  • the repeater 306 starts to drive a resume signal on the bus to USB controller 302 .
  • a resume signal is a change of the bus state from a J state to a K state for at least 20 ms.
  • a J state is a differential 1 for a full-speed bus and a K state is a differential 0 for the full-speed bus.
  • a differential 1 is when the D+ line is a logic high and the D ⁇ line is a logic low.
  • a differential 0 exists when the D+ line is a logic low and the D ⁇ line is a logic high.
  • other types of resume signals may be utilized.
  • PHY unit 304 drives a resume signal on the embedded USB (eUSB) bus to repeater 306 .
  • the eUSB bus is in the Single-Ended-Zero (SE0) state, with the SE0 state defined as the D+ and D ⁇ lines being at a logic low level.
  • repeater 306 drives a resume signal on the USB bus to USB2 device 308 .
  • the events t0-t10 shown in timing diagram 300 are merely indicative of one particular embodiment. In other embodiments, the order of events may vary and/or other events may occur as part of the wake-up process.
  • FIG. 4 a generalized flow diagram of one embodiment of a method 400 for managing a bus idle state is shown.
  • the steps in this embodiment (as well as for FIGS. 5 - 6 ) are shown in sequential order. However, in other embodiments some steps may occur in a different order than shown, some steps may be performed concurrently, some steps may be combined with other steps, and some steps may be absent.
  • a first bus between a repeater and a host enters an idle state (block 405 ).
  • the first bus enters the idle state when no data has been sent over the first bus for a threshold amount of time. The duration of the threshold amount of time may vary according to the embodiment.
  • the repeater monitors the first bus during the idle state (block 410 ). If the repeater detects a first condition on the first bus while the first bus is in an idle state (conditional block 415 , “yes” leg), then the repeater sends an indication of a first type of wake-up event to the host (block 420 ). Otherwise, if the repeater does not detect the first condition (conditional block 415 , “no” leg), then method 400 returns to block 410 .
  • the first condition electrical activity i.e., a voltage transition
  • the repeater triggers an interrupt on the host, with the interrupt being associated with the first type of wake-up event.
  • the first type of wake-up event is the device attempting to reestablish a connection to the host.
  • the first condition may be other types of conditions (e.g., detecting a sideband signal), the first type of wake-up event may be other types of wake-up events (e.g., a restart), and/or the repeater may send other types of indications of the first type of wake-up event to the host.
  • the host initiates a second type of wake-up event to reestablish a connection over a second bus to the repeater in response to receiving the indication of the first type of wake-up event (block 425 ).
  • method 400 ends.
  • the second type of wake-up event is the host attempting to reestablish a connection to the device.
  • the second type of wake-up event may be other types of wake-up events.
  • signals on the first bus are transmitted at a first voltage level, wherein signals on the second bus are transmitted at a second voltage level. In some embodiments, the first voltage level is greater than the second voltage level.
  • a low-power state is initiated for a host-device pair (block 505 ).
  • initiating the low-power state involves sending a low-power state initiation command to a repeater and enabling an interrupt at the host.
  • a repeater enters listen mode on a first bus while the host and device go into the low-power state (block 510 ).
  • repeater If the repeater does not detect a remote wakeup by the device (conditional block 515 , “no” leg), but the repeater detects a resume wakeup by the host (conditional block 520 , “yes” leg), then the repeater wakes up the device (block 525 ). Otherwise, if the repeater does not detect a resume wakeup by the host (conditional block 520 , “no” leg), then method 500 returns to block 510 .
  • the repeater detects a remote wakeup by the device (conditional block 515 , “yes” leg), then the repeater generates an interrupt which is conveyed to the host (block 530 ).
  • the interrupt is conveyed from the repeater to the host on a sideband path that is separate from the first bus.
  • the host initiates a resume wake-up event procedure and de-asserts a suspension of the interface (block 535 ).
  • a PHY unit on the host regenerates a PHY clock (block 540 ). Additionally, the PHY unit generates a resume signal to send to the controller on the host (block 545 ).
  • the PHY unit generates a resume signal to send on a second bus between the host and the repeater (block 550 ). Then, the repeater generates a resume signal to send on the first bus to the device (block 555 ). After block 555 , method 500 ends.
  • a repeater detects a first type of wake-up event while monitoring a first bus (block 605 ).
  • the first type of wake-up event is a remote wake-up event initiated by a device on the first bus.
  • the term “remote wake-up event” is defined as an event triggered by a device during a low-power or suspend state when the device wakes up prior to a host.
  • the repeater sends an interrupt to a host responsive to detecting the first type of wake-up event (block 610 ).
  • the host sends an indication of a second type of wake-up event to a local PHY unit (block 615 ).
  • the second type of wake-up event is a resume wake-up event.
  • resume wake-up event is defined as an event during a low-power or suspend state when the host wakes up and assumes that the device is still asleep.
  • the PHY unit In response to receiving the indication of the second type of wake-up event, the PHY unit starts to generate a PHY clock on a second bus (block 620 ). Also, in response to receiving the indication of the second type of wake-up event, the PHY unit sends a second type of wake-up signal to a controller (block 625 ). In one embodiment, the second type of wake-up signal is a resume signal. In this embodiment, the first type of wake-up signal is a remote signal. For example, in one embodiment, the remote signal is putting the first bus in the K state for greater than 1 ms but less than 15 ms. In another embodiment, the remote signal is an interrupt signal. In other embodiments, other types of wake-up signals may be utilized.
  • the PHY unit in response to receiving the indication of the second type of wake-up event, sends the second type of wake-up signal on the second bus to the repeater (block 630 ). In response to receiving the resume signal, the repeater sends the second type of wake-up signal on the first bus to a connected device (block 635 ). After block 635 , method 600 ends.
  • system 700 may represent chip, circuitry, components, etc., of a desktop computer 710 , laptop computer 720 , tablet computer 730 , cell or mobile phone 740 , television 750 (or set top box configured to be coupled to a television), wrist watch or other wearable item 760 , or otherwise.
  • the system 700 includes at least a portion of apparatus 200 (of FIG. 2 ) coupled to one or more peripherals 704 and the external memory 702 .
  • a power supply 706 is also provided which supplies the supply voltages to apparatus 200 as well as one or more supply voltages to the memory 702 and/or the peripherals 704 .
  • power supply 706 may represent a battery (e.g., a rechargeable battery in a smart phone, laptop or tablet computer).
  • more than one instance of apparatus 200 may be included (and more than one external memory 702 may be included as well).
  • the memory 702 may be any type of memory, such as dynamic random access memory (DRAM), synchronous DRAM (SDRAM), double data rate (DDR, DDR2, DDR3, etc.) SDRAM (including mobile versions of the SDRAMs such as mDDR3, etc., and/or low power versions of the SDRAMs such as LPDDR2, etc.), RAMBUS DRAM (RDRAM), static RAM (SRAM), etc.
  • DRAM dynamic random access memory
  • SDRAM synchronous DRAM
  • SDRAM double data rate SDRAM
  • DDR double data rate SDRAM
  • RDRAM RAMBUS DRAM
  • SRAM static RAM
  • One or more memory devices may be coupled onto a circuit board to form memory modules such as single inline memory modules (SIMMs), dual inline memory modules (DIMMs), etc.
  • SIMMs single inline memory modules
  • DIMMs dual inline memory modules
  • the devices may be mounted with apparatus 200 in a chip-on-chip configuration, a package-
  • the peripherals 704 may include any desired circuitry, depending on the type of system 700 .
  • peripherals 704 may include devices for various types of wireless communication, such as wifi, Bluetooth, cellular, global positioning system, etc.
  • the peripherals 704 may also include additional storage, including RAM storage, solid state storage, or disk storage.
  • the peripherals 704 may include user interface devices such as a display screen, including touch display screens or multitouch display screens, keyboard or other input devices, microphones, speakers, etc.
  • program instructions of a software application may be used to implement the methods and/or mechanisms previously described.
  • the program instructions may describe the behavior of hardware in a high-level programming language, such as C.
  • a hardware design language HDL
  • the program instructions may be stored on a non-transitory computer readable storage medium. Numerous types of storage media are available. The storage medium may be accessible by a computer during use to provide the program instructions and accompanying data to the computer for program execution.
  • a synthesis tool reads the program instructions in order to produce a netlist comprising a list of gates from a synthesis library.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Quality & Reliability (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • Power Sources (AREA)

Abstract

Systems, apparatuses, and methods for saving power on a bus interface are described. A system includes a host, a device, and a repeater interposed between the host and the device. While the host and device are in a low-power state, the repeater monitors a first bus to determine if the device has woken up. When the repeater detects a remote wake-up event initiated by the device, the repeater generates an interrupt which is sent to the host. The host responds to the interrupt by initiating a resume wake-up event procedure that assumes the device is still asleep. In this way, the host is able to stay in the low-power state longer while also using a wake-up procedure that does not require the host to be aware of the existence of the repeater.

Description

TECHNICAL FIELD
Embodiments described herein relate to the field of computing systems and, more particularly, to saving power on a bus interface between a host and a device.
DESCRIPTION OF THE RELATED ART
Transistor dimensions continue to decrease enabling more transistors to be packed into a single integrated circuit (IC) or system on chip (SOC). This allows a SOC to contain more functionality, and the functional units in an SOC are often connected to other devices via different types of interfaces. One example of an industry standard interface for providing connections between components is the universal serial bus (USB) interface. Some modern SOCs with external connections use a USB type-C connector. This connector can use different types of protocols, such as the USB3.x protocol with the SOC acting as a host. If a USB host and a USB device do not communicate during some threshold amount of time, the USB host can suspend the USB interface and enter a low-power mode so as to conserve power. According to the USB3.x protocol, during low power mode, the USB3.x host is required to check every 100 milliseconds (ms) to determine if the device is still connected. However, if the host is checking for activity by the device every 100 ms, this requires the host to keep its physical interface (PHY) unit powered on, increasing the power consumed by the host during low-power mode.
SUMMARY
Systems, apparatuses, and methods for saving power on a bus interface are contemplated. In one embodiment, a system includes a device, a repeater connected to the device via a first bus, and a host connected to the repeater via a second bus. Traditionally, the host and the device would be connected directly to each other, but the repeater is placed in between the host and the device to create a more efficient and versatile interface. The host and device go into a low-power state during periods of low activity in order to reduce power consumption. When the host and device are in the low-power state, the repeater monitors the first bus to determine if the device has woken up. When the repeater detects a remote wake-up event initiated by the device, the repeater generates an interrupt which is sent to the host. The host responds to the interrupt by initiating a procedure as if the host itself is initiating a resume wake-up event. In this way, the host is able to reduce power consumption during the low-power state. Also, this scheme does not require the host to modify its wake-up procedure to account for the presence of the repeater in between the host and the device.
These and other embodiments will be further appreciated upon reference to the following description and drawings.
BRIEF DESCRIPTION OF THE DRAWINGS
The above and further advantages of the methods and mechanisms may be better understood by referring to the following description in conjunction with the accompanying drawings, in which:
FIG. 1 is a generalized block diagram of one embodiment of a prior art computing system.
FIG. 2 is a generalized block diagram illustrating one embodiment an apparatus for reducing power consumption during a low-power state.
FIG. 3 is a timing diagram of one embodiment of a sequence of events for a USB device waking up from a low-power state.
FIG. 4 is a flow diagram of one embodiment of a method for managing a bus idle state.
FIG. 5 is a flow diagram of one embodiment of a method for managing a low-power state for a host-device pair.
FIG. 6 is a flow diagram of one embodiment of a method for converting a first type of wake-up event into a second type of wake-up event.
FIG. 7 is a block diagram of one embodiment of a system.
While the embodiments described in this disclosure may be susceptible to various modifications and alternative forms, specific embodiments thereof are shown by way of example in the drawings and will herein be described in detail. It should be understood, however, that the drawings and detailed description thereto are not intended to limit the embodiments to the particular form disclosed, but on the contrary, the intention is to cover all modifications, equivalents and alternatives falling within the spirit and scope of the appended claims. As used throughout this application, the word “may” is used in a permissive sense (i.e., meaning having the potential to), rather than the mandatory sense (i.e., meaning must). Similarly, the words “include,” “including,” and “includes” mean including, but not limited to.
Various units, circuits, or other components may be described as “configured to” perform a task or tasks. In such contexts, “configured to” is a broad recitation of structure generally meaning “having circuitry that” performs the task or tasks during operation. As such, the unit/circuit/component can be configured to perform the task even when the unit/circuit/component is not currently on. In general, the circuitry that forms the structure corresponding to “configured to” may include hardware circuits. Similarly, various units/circuits/components may be described as performing a task or tasks, for convenience in the description. Such descriptions should be interpreted as including the phrase “configured to.” Reciting a unit/circuit/component that is configured to perform one or more tasks is expressly intended not to invoke 35 U.S.C. § 112(f) for that unit/circuit/component.
DETAILED DESCRIPTION OF EMBODIMENTS
In the following description, numerous specific details are set forth to provide a thorough understanding of the embodiments described in this disclosure. However, one having ordinary skill in the art should recognize that the embodiments might be practiced without these specific details. In some instances, well-known circuits, structures, and techniques have not been shown in detail for ease of illustration and to avoid obscuring the description of the embodiments.
Referring to FIG. 1 , a block diagram of one embodiment of a prior art computing system 100 is shown. As shown in FIG. 1 , system includes a host 110, an interface 120, and a device 130. In one embodiment, interface 120 is a universal serial bus (USB) interface. In other embodiments, interface 120 is any of various other types of interfaces. When the host 110 and device 130 are not communicating over interface 120, the communication elements and/or processing elements of host 110 and device 130 can go into a low-power state to conserve power. However, even when host 110 enters a low-power state, physical interface unit (PHY) 115 is required to stay on to monitor interface 120 for any electrical activity by device 130. This causes PHY unit 115 to remain on and consume power. Unfortunately, this results in a constant drain of power during the low-power state.
It is noted that a “low-power state” as defined herein can be a state in which a voltage supplied to one or more components is reduced from its maximum, a state in which the frequency of the clock signal is reduced from its maximum, a state in which the clock signal is inhibited from the component(s) (clock-gated), one in which power is removed from the component(s) (power-gated), or a combination of any of the former. It is noted that the terms “low-power state”, “reduced power state”, and “sleep state” may be used interchangeably herein.
Turning now to FIG. 2 , a block diagram of one embodiment of an apparatus 200 for reducing power consumption during a low-power state is shown. As shown in FIG. 2 , apparatus 200 includes system on chip (SOC) 202 coupled to repeater 212, with repeater 212 coupled to device 222. In one embodiment, device 222 is a USB device, and the signals transmitted between repeater 212 and device 222 are compliant with the USB protocol. In other embodiments, device 222 may be connected to repeater 212 using other types of interfaces, and the signals transmitted between repeater 212 and device 222 may be compliant with other types of protocols. In one embodiment, neither SOC 202 nor device 222 are aware that repeater 212 is interposed between them. In other words, in this embodiment, from the point of view of SOC 202 and device 222, a direct connection exists between device 222 and SOC 202.
In one embodiment, SOC 202 includes processing unit 204, interface unit 206, controller 208, and PHY unit 210. It is noted that SOC 202 may also include (or be connected to) any number of other components (e.g., cache, memory device) which are not shown to avoid obscuring the figure. In one embodiment, processing unit 204 executes software instructions of an operating system and/or one or more applications. Processing unit 204 is representative of any number and type of processing units and/or control logic. In one embodiment, processing unit 204 includes an interrupt handler for processing interrupts generated by repeater 212. Interface unit (or IF unit) 206 provides the interface between processing unit 204 and repeater 212. In one embodiment, interface unit 206 communicates according to the inter-integrated circuit (I2C) protocol. In other embodiments, interface unit 206 is compliant with any of various other protocols.
In scenarios where SOC 202 or portions thereof are relatively inactive, various components of SOC 202 may enter a reduced power state so as to reduce power consumption. For example, if device 222 becomes inactive or stops communicating to SOC 202, the various components such as controller 208 and PHY unit 210 may enter a low-power state to reduce power consumption of SOC 202. PHY unit 210 is able to enter the low-power state since repeater 212 can monitor the interface to device 222 to periodically check if device 222 has woken up. In one embodiment, if device 222 wakes up while PHY unit 210 is in the low-power state, resume detection and driver 216 will detect electrical activity on the interface connection to device 222. In response to detecting the electrical activity when PHY unit 210 is in the low-power state, resume detection and driver 216 generates an interrupt, and the interrupt is conveyed to processing unit 204 via interface unit 206.
For embodiments where interface 221 is in a sleep state and interface 221 is a USB interface, if device 222 is the first component to wake up, this is referred to as remote wake-up event. In these embodiments, when SOC 202 (acting as a host) is the first component to wake up from the low-power state, this is referred to as a resume wake-up event. In one embodiment, in order to streamline the wake-up procedure from an interface 221 sleep state, SOC 202 implements a resume wake-up event procedure in response to repeater 212 detecting a remote wake-up event initiated by device 222. In other words, a remote wake-up event is converted into a resume wake-up event. This conversion helps to simplify the response to the wake-up event for scenarios where SOC 202 is unaware of the presence of repeater 212. By converting the remote wake-up event into a resume wake-up event, the procedure for SOC 202 to exit the low-power state is less complex and more power efficient than if SOC 202 were to respond to a remote wake-up event.
In one embodiment, repeater 212 includes interface unit 214, resume detection and driver 216, level translator 218, and switch 220. In other embodiments, repeater 212 may include other components arranged in other suitable manners. In one embodiment, level translator 218 translates signals received from PHY unit 210 from a first voltage to a second voltage when conveying the signals to device 222 via switch 220. In one embodiment, the second voltage is at a higher voltage level than the first voltage. For signals received from device 222, level translator 218 translates the signals from the second voltage to the first voltage. Switch 220 allows signals to pass from device 222 to level translator 218 when interface 221 and device 222 are active. When interface 221 goes into a sleep state, a software select signal (or sw_sel) from interface unit 214 causes switch 220 to route the signals to resume detection and driver 216, allowing resume detection and driver 216 to monitor the interface 221 for electrical signals generated by device 222.
Referring now to FIG. 3 , a timing diagram 300 of one embodiment of a sequence of events for a USB device waking up from a low-power state is shown. On the left-side of FIG. 3 , the components that are included in a given computing system in accordance with one embodiment are shown. For example, in one embodiment, the system includes at least USB controller 302, PHY unit 304, repeater 306, and USB2 device 308. The waveforms are shown to the right of the components for the signals generated or received by these components. It should be understood that the example of device 308 being a USB2 device is merely indicative of one particular embodiment. In other embodiments, the system components may utilize other types of protocols and/or interfaces.
The sequence of events for implementing a sleep state and performing wake-up detection are the following: At time t0, the USB port of repeater 306 enters the low-power (or L2) state. In one embodiment, PHY unit 304 sends out a command to repeater 306 to put the USB port into the low-power state when a suspend signal is asserted. At time t1, the software executing on the SOC (e.g., SOC 202 of FIG. 2 ) enables an interrupt for a USB remote wakeup event generated by repeater 306. Next, at time t2, the USB2 device 308 sends out a remote wakeup signal.
At time t3, repeater 306 asserts the interrupt to the SOC in response to detecting the remote wakeup signal, and repeater 306 reflects a resume state on the USB2 bus. At time t4, software executing on the SOC clears the interrupt. Then, at time t5, software executing on the SOC disables the interrupt for the USB remote wakeup event. Next, at time t6, software executing on the SOC initiates a resume event, and the suspend signal is de-asserted. Then, at time t7, PHY unit 304 starts to generate the PHY clock. At time t8, the repeater 306 starts to drive a resume signal on the bus to USB controller 302. In one embodiment, a resume signal is a change of the bus state from a J state to a K state for at least 20 ms. As defined by the USB protocol, a J state is a differential 1 for a full-speed bus and a K state is a differential 0 for the full-speed bus. A differential 1 is when the D+ line is a logic high and the D− line is a logic low. A differential 0 exists when the D+ line is a logic low and the D− line is a logic high. In other embodiments, other types of resume signals may be utilized.
At time t9, PHY unit 304 drives a resume signal on the embedded USB (eUSB) bus to repeater 306. Previously, before time t9, the eUSB bus is in the Single-Ended-Zero (SE0) state, with the SE0 state defined as the D+ and D− lines being at a logic low level. At time t10, repeater 306 drives a resume signal on the USB bus to USB2 device 308. It is noted that the events t0-t10 shown in timing diagram 300 are merely indicative of one particular embodiment. In other embodiments, the order of events may vary and/or other events may occur as part of the wake-up process.
Turning now to FIG. 4 , a generalized flow diagram of one embodiment of a method 400 for managing a bus idle state is shown. For purposes of discussion, the steps in this embodiment (as well as for FIGS. 5-6 ) are shown in sequential order. However, in other embodiments some steps may occur in a different order than shown, some steps may be performed concurrently, some steps may be combined with other steps, and some steps may be absent.
A first bus between a repeater and a host enters an idle state (block 405). In one embodiment, the first bus enters the idle state when no data has been sent over the first bus for a threshold amount of time. The duration of the threshold amount of time may vary according to the embodiment. Next, the repeater monitors the first bus during the idle state (block 410). If the repeater detects a first condition on the first bus while the first bus is in an idle state (conditional block 415, “yes” leg), then the repeater sends an indication of a first type of wake-up event to the host (block 420). Otherwise, if the repeater does not detect the first condition (conditional block 415, “no” leg), then method 400 returns to block 410. In one embodiment, the first condition electrical activity (i.e., a voltage transition) generated by the device on the first bus. In one embodiment, the repeater triggers an interrupt on the host, with the interrupt being associated with the first type of wake-up event. In one embodiment, the first type of wake-up event is the device attempting to reestablish a connection to the host. In other embodiments, the first condition may be other types of conditions (e.g., detecting a sideband signal), the first type of wake-up event may be other types of wake-up events (e.g., a restart), and/or the repeater may send other types of indications of the first type of wake-up event to the host.
After block 420, the host initiates a second type of wake-up event to reestablish a connection over a second bus to the repeater in response to receiving the indication of the first type of wake-up event (block 425). After block 425, method 400 ends. In one embodiment, the second type of wake-up event is the host attempting to reestablish a connection to the device. In other embodiments, the second type of wake-up event may be other types of wake-up events. Additionally, it is noted that in one embodiment, signals on the first bus are transmitted at a first voltage level, wherein signals on the second bus are transmitted at a second voltage level. In some embodiments, the first voltage level is greater than the second voltage level.
Referring now to FIG. 5 , a generalized flow diagram of one embodiment of a method 500 for managing a low-power state for a host-device pair is shown. A low-power state is initiated for a host-device pair (block 505). In one embodiment, initiating the low-power state involves sending a low-power state initiation command to a repeater and enabling an interrupt at the host. Next, a repeater enters listen mode on a first bus while the host and device go into the low-power state (block 510). If the repeater does not detect a remote wakeup by the device (conditional block 515, “no” leg), but the repeater detects a resume wakeup by the host (conditional block 520, “yes” leg), then the repeater wakes up the device (block 525). Otherwise, if the repeater does not detect a resume wakeup by the host (conditional block 520, “no” leg), then method 500 returns to block 510.
If the repeater detects a remote wakeup by the device (conditional block 515, “yes” leg), then the repeater generates an interrupt which is conveyed to the host (block 530). In one embodiment, the interrupt is conveyed from the repeater to the host on a sideband path that is separate from the first bus. In response to receiving the interrupt, the host initiates a resume wake-up event procedure and de-asserts a suspension of the interface (block 535). Also, a PHY unit on the host regenerates a PHY clock (block 540). Additionally, the PHY unit generates a resume signal to send to the controller on the host (block 545). Next, the PHY unit generates a resume signal to send on a second bus between the host and the repeater (block 550). Then, the repeater generates a resume signal to send on the first bus to the device (block 555). After block 555, method 500 ends.
Turning now to FIG. 6 , one embodiment of a method 600 for converting a first type of wake-up event into a second type of wake-up event is shown. A repeater detects a first type of wake-up event while monitoring a first bus (block 605). In one embodiment, the first type of wake-up event is a remote wake-up event initiated by a device on the first bus. As used herein, the term “remote wake-up event” is defined as an event triggered by a device during a low-power or suspend state when the device wakes up prior to a host. Next, the repeater sends an interrupt to a host responsive to detecting the first type of wake-up event (block 610). Then, the host sends an indication of a second type of wake-up event to a local PHY unit (block 615). In one embodiment, the second type of wake-up event is a resume wake-up event. As used herein, the term “resume wake-up event” is defined as an event during a low-power or suspend state when the host wakes up and assumes that the device is still asleep.
In response to receiving the indication of the second type of wake-up event, the PHY unit starts to generate a PHY clock on a second bus (block 620). Also, in response to receiving the indication of the second type of wake-up event, the PHY unit sends a second type of wake-up signal to a controller (block 625). In one embodiment, the second type of wake-up signal is a resume signal. In this embodiment, the first type of wake-up signal is a remote signal. For example, in one embodiment, the remote signal is putting the first bus in the K state for greater than 1 ms but less than 15 ms. In another embodiment, the remote signal is an interrupt signal. In other embodiments, other types of wake-up signals may be utilized. Still further, in response to receiving the indication of the second type of wake-up event, the PHY unit sends the second type of wake-up signal on the second bus to the repeater (block 630). In response to receiving the resume signal, the repeater sends the second type of wake-up signal on the first bus to a connected device (block 635). After block 635, method 600 ends.
Referring now to FIG. 7 , a block diagram of one embodiment of a system 700 is shown. As shown, system 700 may represent chip, circuitry, components, etc., of a desktop computer 710, laptop computer 720, tablet computer 730, cell or mobile phone 740, television 750 (or set top box configured to be coupled to a television), wrist watch or other wearable item 760, or otherwise. Other devices are possible and are contemplated. In the illustrated embodiment, the system 700 includes at least a portion of apparatus 200 (of FIG. 2 ) coupled to one or more peripherals 704 and the external memory 702. A power supply 706 is also provided which supplies the supply voltages to apparatus 200 as well as one or more supply voltages to the memory 702 and/or the peripherals 704. In various embodiments, power supply 706 may represent a battery (e.g., a rechargeable battery in a smart phone, laptop or tablet computer). In some embodiments, more than one instance of apparatus 200 may be included (and more than one external memory 702 may be included as well).
The memory 702 may be any type of memory, such as dynamic random access memory (DRAM), synchronous DRAM (SDRAM), double data rate (DDR, DDR2, DDR3, etc.) SDRAM (including mobile versions of the SDRAMs such as mDDR3, etc., and/or low power versions of the SDRAMs such as LPDDR2, etc.), RAMBUS DRAM (RDRAM), static RAM (SRAM), etc. One or more memory devices may be coupled onto a circuit board to form memory modules such as single inline memory modules (SIMMs), dual inline memory modules (DIMMs), etc. Alternatively, the devices may be mounted with apparatus 200 in a chip-on-chip configuration, a package-on-package configuration, or a multi-chip module configuration.
The peripherals 704 may include any desired circuitry, depending on the type of system 700. For example, in one embodiment, peripherals 704 may include devices for various types of wireless communication, such as wifi, Bluetooth, cellular, global positioning system, etc. The peripherals 704 may also include additional storage, including RAM storage, solid state storage, or disk storage. The peripherals 704 may include user interface devices such as a display screen, including touch display screens or multitouch display screens, keyboard or other input devices, microphones, speakers, etc.
In various embodiments, program instructions of a software application may be used to implement the methods and/or mechanisms previously described. The program instructions may describe the behavior of hardware in a high-level programming language, such as C. Alternatively, a hardware design language (HDL) may be used, such as Verilog. The program instructions may be stored on a non-transitory computer readable storage medium. Numerous types of storage media are available. The storage medium may be accessible by a computer during use to provide the program instructions and accompanying data to the computer for program execution. In some embodiments, a synthesis tool reads the program instructions in order to produce a netlist comprising a list of gates from a synthesis library.
It should be emphasized that the above-described embodiments are only non-limiting examples of implementations. Numerous variations and modifications will become apparent to those skilled in the art once the above disclosure is fully appreciated. It is intended that the following claims be interpreted to embrace all such variations and modifications.

Claims (20)

What is claimed is:
1. An apparatus comprising:
a host; and
a repeater interposed between the host and a device, wherein the repeater is connected to the device via a first bus, wherein the repeater is connected to a host interface of the host via a second bus;
wherein while the host interface is in one of a power-gated state and a clock-gated state, the repeater is configured to:
detect a first condition on the first bus while each of the device and the first bus is in a low-power state; and
send an indication of a first type of wake-up event to the host responsive to detecting the first condition, wherein the first type of wake-up event comprises the device attempting to wake-up the host; and
wherein the host is configured to convert the first type of wake-up event into a second type of wake-up event by initiating the second type of wake-up event to establish a connection over the second bus to the repeater, in response to receiving the indication of the first type of wake-up event, wherein the second type of wake-up event comprises the host attempting to wake-up the device.
2. The apparatus as recited in claim 1, wherein the first type of wake-up event is in compliance with a universal serial bus (USB) protocol, and wherein the second type of wake-up event is in compliance with the USB protocol.
3. The apparatus as recited in claim 1, wherein the repeater is configured to monitor the first bus to detect if the device has woken up, and wherein the first condition is a voltage transition generated by the device on the first bus.
4. The apparatus as recited in claim 1, wherein the repeater is further configured to send the indication by triggering an interrupt on the host.
5. The apparatus as recited in claim 4, wherein the repeater is further configured to send the indication to the host on a sideband path separate from the first bus and the second bus.
6. The apparatus as recited in claim 1, wherein the host is located on a first integrated circuit (IC), and wherein the repeater is located on a second IC.
7. The apparatus as recited in claim 1, wherein the first bus is configured to convey signals at a first voltage level, wherein the second bus is configured to convey signals at a second voltage level, and wherein the first voltage level is greater than the second voltage level.
8. A method comprising:
detecting, by a repeater, a first condition on a first bus while each of a device and the first bus is in a low-power state, wherein the repeater is connected to the device via the first bus and a host interface of a host via a second bus;
sending, by the repeater, while the host interface is in one of a power-gated state and a clock-gated state, an indication of a first type of wake-up event to the host responsive to detecting the first condition, wherein the first type of wake-up event comprises the device attempting to wake-up the host; and
converting, by the host, the first type of wake-up event into a second type of wake-up event by initiating, a second type of wake-up event to establish a connection over the second bus to the repeater in response to receiving the indication of the first type of wake-up event, wherein the second type of wake-up event comprises the host attempting to wake-up the device.
9. The method as recited in claim 8, wherein the first type of wake-up event is in compliance with a universal serial bus (USB) protocol, and wherein the second type of wake-up event is in compliance with the USB protocol.
10. The method as recited in claim 8, further comprising the repeater monitoring the first bus to detect if the device has woken up, wherein the first condition is a voltage transition generated by the device on the first bus.
11. The method as recited in claim 8, further comprising the repeater sending the indication by triggering an interrupt on the host.
12. The method as recited in claim 11, further comprising sending the interrupt from the repeater to the host on a sideband path which is separate from the first bus and the second bus.
13. The method as recited in claim 8, wherein the host is located on a first integrated circuit (IC), and wherein the repeater is located on a second IC.
14. The method as recited in claim 8, further comprising conveying signals on the first bus at a first voltage level and conveying signals on the second bus at a second voltage level, wherein the first voltage level is greater than the second voltage level.
15. A system comprising:
a host;
a device connected to a first bus; and
a repeater interposed between the host and a device, wherein the repeater is connected to the device via a first bus, wherein the repeater is connected to a host interface of the host via a second bus;
wherein while the host interface is in one of a power-gated state and a clock-gated state, the repeater is configured to:
detect a first condition on the first bus while each of the device and the first bus is in a low-power state; and
send an indication of a first type of wake-up event to the host responsive to detecting the first condition, wherein the first type of wake-up event comprises the device attempting to wake-up the host;
wherein the host is configured to convert the first type of wake-up event into a second type of wake-up event by initiating the second type of wake-up event to establish a connection over the second bus to the repeater in response to receiving the indication of the first type of wake-up event, wherein the second type of wake-up event comprises the host attempting to wake-up the device.
16. The system as recited in claim 15, wherein the first type of wake-up event is in compliance with a universal serial bus (USB) protocol, and wherein the second type of wake-up event is in compliance with the USB protocol.
17. The system as recited in claim 15, wherein the repeater is configured to monitor the first bus to detect if the device has woken up, and wherein the first condition is a voltage transition generated by the device on the first bus.
18. The system as recited in claim 15, wherein the repeater is further configured to send the indication by triggering an interrupt on the host.
19. The system as recited in claim 18, wherein the repeater is further configured to send the indication to the host on a sideband path which is separate from the first bus and the second bus.
20. The system as recited in claim 15, wherein the host is located on a first integrated circuit (IC), and wherein the repeater is located on a second IC.
US16/947,440 2020-07-31 2020-07-31 Mechanism for saving power on a bus interface Active US11703935B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US16/947,440 US11703935B2 (en) 2020-07-31 2020-07-31 Mechanism for saving power on a bus interface
US18/337,189 US20240028103A1 (en) 2020-07-31 2023-06-19 Mechanism for Saving Power on a Bus Interface

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US16/947,440 US11703935B2 (en) 2020-07-31 2020-07-31 Mechanism for saving power on a bus interface

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US18/337,189 Continuation US20240028103A1 (en) 2020-07-31 2023-06-19 Mechanism for Saving Power on a Bus Interface

Publications (2)

Publication Number Publication Date
US20220035433A1 US20220035433A1 (en) 2022-02-03
US11703935B2 true US11703935B2 (en) 2023-07-18

Family

ID=80004278

Family Applications (2)

Application Number Title Priority Date Filing Date
US16/947,440 Active US11703935B2 (en) 2020-07-31 2020-07-31 Mechanism for saving power on a bus interface
US18/337,189 Pending US20240028103A1 (en) 2020-07-31 2023-06-19 Mechanism for Saving Power on a Bus Interface

Family Applications After (1)

Application Number Title Priority Date Filing Date
US18/337,189 Pending US20240028103A1 (en) 2020-07-31 2023-06-19 Mechanism for Saving Power on a Bus Interface

Country Status (1)

Country Link
US (2) US11703935B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20240028103A1 (en) * 2020-07-31 2024-01-25 Apple Inc. Mechanism for Saving Power on a Bus Interface

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11513584B2 (en) * 2021-03-04 2022-11-29 Cypress Semiconductor Corporation Method and apparatus to save power in USB repeaters/re-timers
US20240045819A1 (en) * 2022-08-03 2024-02-08 Texas Instruments Incorporated Repeater babble detection
US20240184733A1 (en) * 2022-12-01 2024-06-06 Nxp Usa, Inc. Repeater generated forced resume for hosts with an eusb repeater

Citations (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5799196A (en) * 1996-07-02 1998-08-25 Gateway 2000, Inc. Method and apparatus of providing power management using a self-powered universal serial bus (USB) device
US6272644B1 (en) * 1999-01-06 2001-08-07 Matsushita Electrical Industrial Co., Ltd. Method for entering powersave mode of USB hub
US20030204652A1 (en) * 2002-04-26 2003-10-30 Seiko Epson Corporation Data transfer control device, electronic equipment and data transfer control method
US6772241B1 (en) * 2000-09-29 2004-08-03 Intel Corporation Selective interrupt delivery to multiple processors having independent operating systems
US20050198407A1 (en) * 2004-03-04 2005-09-08 Johnson Lee Usb connector with card detector
US20060020736A1 (en) * 1999-04-30 2006-01-26 Jackson Daniel K Method and apparatus for extending communications over USB
US20060065743A1 (en) * 2004-09-30 2006-03-30 Stmicroelectronics, Inc. USB device with secondary USB on-the-go function
US7197578B1 (en) * 2002-06-28 2007-03-27 Cypress Semiconductor Corp. Power management system for bridge circuit
US20080005445A1 (en) * 2006-06-30 2008-01-03 Paul Diefenbaugh Power efficient flow control model for usb asynchronous transfers
US7346728B1 (en) * 2005-04-18 2008-03-18 Intel Corporation Method and apparatus for a hub capable of being self-powered for use in a USB-compliant system
US20080178011A1 (en) * 2007-01-18 2008-07-24 Nokia Corporation Method and apparatus for usb/otg connection providing active hnp requests and saving host power
US20080307140A1 (en) * 2007-06-08 2008-12-11 Igt Sideband signal for usb with interrupt capability
US20080320202A1 (en) * 2007-06-19 2008-12-25 Monks Morgan H Physical Device (PHY) Support Of The USB2.0 Link Power Management Addendum Using A ULPI PHY Interface Standard
US20090210734A1 (en) * 2008-02-19 2009-08-20 Winbond Electronics Corporation Wakeup of a non-powered universal serial bus
US20120023344A1 (en) * 2009-10-02 2012-01-26 Rohm Co., Ltd. Semiconductor apparatus
US20130169053A1 (en) * 2011-12-28 2013-07-04 Realtek Semiconductor Corp. Detection control device and method thereof
US20130304961A1 (en) * 2012-05-09 2013-11-14 Via Technologies, Inc. Hub control chip
US8645724B2 (en) 2011-06-03 2014-02-04 Nxp B.V. Redriver circuits with power saving modes
US20140365690A1 (en) * 2013-06-11 2014-12-11 Apple, Inc. Methods and apparatus for reliable detection and enumeration of devices
US20150253842A1 (en) * 2014-03-10 2015-09-10 Kabushiki Kaisha Toshiba Semiconductor device, and power control method for usbotg
US20160043891A1 (en) * 2013-04-22 2016-02-11 Tlv Co., Ltd. Terminal Control System
US20160162427A1 (en) * 2014-12-09 2016-06-09 Broadcom Corporation Integrated systems with universal serial bus 2.0 and embedded universal serial bus 2 connectivity
US20170286360A1 (en) * 2016-03-29 2017-10-05 Intel Corporation Usb interface using repeaters with guest protocol support
US20180173666A1 (en) * 2016-12-16 2018-06-21 Intel Corporation APPARATUSES AND METHODS TO COUPLE AN EMBEDDED UNIVERSAL SERIAL BUS (eUSB) CIRCUIT TO A UNIVERSAL SERIAL BUS (USB) TRANSCEIVER INTERFACE CIRCUIT
US20180189222A1 (en) * 2016-12-30 2018-07-05 Intel Corporation APPARATUSES AND METHODS FOR MULTILANE UNIVERSAL SERIAL BUS (USB2) COMMUNICATION OVER EMBEDDED UNIVERSAL SERIAL BUS (eUSB2)
US10084698B2 (en) 2015-03-26 2018-09-25 Intel Corporation Selectively enabling first and second communication paths using a repeater
US20180335830A1 (en) 2015-12-25 2018-11-22 Intel Corporation Power management system

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7149825B2 (en) * 2003-08-08 2006-12-12 Hewlett-Packard Development Company, L.P. System and method for sending data at sampling rate based on bit transfer period
US11703935B2 (en) * 2020-07-31 2023-07-18 Apple Inc. Mechanism for saving power on a bus interface

Patent Citations (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5799196A (en) * 1996-07-02 1998-08-25 Gateway 2000, Inc. Method and apparatus of providing power management using a self-powered universal serial bus (USB) device
US6272644B1 (en) * 1999-01-06 2001-08-07 Matsushita Electrical Industrial Co., Ltd. Method for entering powersave mode of USB hub
US20060020736A1 (en) * 1999-04-30 2006-01-26 Jackson Daniel K Method and apparatus for extending communications over USB
US6772241B1 (en) * 2000-09-29 2004-08-03 Intel Corporation Selective interrupt delivery to multiple processors having independent operating systems
US20030204652A1 (en) * 2002-04-26 2003-10-30 Seiko Epson Corporation Data transfer control device, electronic equipment and data transfer control method
US7197578B1 (en) * 2002-06-28 2007-03-27 Cypress Semiconductor Corp. Power management system for bridge circuit
US20050198407A1 (en) * 2004-03-04 2005-09-08 Johnson Lee Usb connector with card detector
US20060065743A1 (en) * 2004-09-30 2006-03-30 Stmicroelectronics, Inc. USB device with secondary USB on-the-go function
US7346728B1 (en) * 2005-04-18 2008-03-18 Intel Corporation Method and apparatus for a hub capable of being self-powered for use in a USB-compliant system
US20080005445A1 (en) * 2006-06-30 2008-01-03 Paul Diefenbaugh Power efficient flow control model for usb asynchronous transfers
US20080178011A1 (en) * 2007-01-18 2008-07-24 Nokia Corporation Method and apparatus for usb/otg connection providing active hnp requests and saving host power
US20080307140A1 (en) * 2007-06-08 2008-12-11 Igt Sideband signal for usb with interrupt capability
US20080320202A1 (en) * 2007-06-19 2008-12-25 Monks Morgan H Physical Device (PHY) Support Of The USB2.0 Link Power Management Addendum Using A ULPI PHY Interface Standard
US20090210734A1 (en) * 2008-02-19 2009-08-20 Winbond Electronics Corporation Wakeup of a non-powered universal serial bus
US20120023344A1 (en) * 2009-10-02 2012-01-26 Rohm Co., Ltd. Semiconductor apparatus
US8645724B2 (en) 2011-06-03 2014-02-04 Nxp B.V. Redriver circuits with power saving modes
US20130169053A1 (en) * 2011-12-28 2013-07-04 Realtek Semiconductor Corp. Detection control device and method thereof
US20130304961A1 (en) * 2012-05-09 2013-11-14 Via Technologies, Inc. Hub control chip
US20160043891A1 (en) * 2013-04-22 2016-02-11 Tlv Co., Ltd. Terminal Control System
US20140365690A1 (en) * 2013-06-11 2014-12-11 Apple, Inc. Methods and apparatus for reliable detection and enumeration of devices
US20150253842A1 (en) * 2014-03-10 2015-09-10 Kabushiki Kaisha Toshiba Semiconductor device, and power control method for usbotg
US20160162427A1 (en) * 2014-12-09 2016-06-09 Broadcom Corporation Integrated systems with universal serial bus 2.0 and embedded universal serial bus 2 connectivity
US10084698B2 (en) 2015-03-26 2018-09-25 Intel Corporation Selectively enabling first and second communication paths using a repeater
US20180335830A1 (en) 2015-12-25 2018-11-22 Intel Corporation Power management system
US20170286360A1 (en) * 2016-03-29 2017-10-05 Intel Corporation Usb interface using repeaters with guest protocol support
US10339093B2 (en) 2016-03-29 2019-07-02 Intel Corporation USB interface using repeaters with guest protocol support
US20180173666A1 (en) * 2016-12-16 2018-06-21 Intel Corporation APPARATUSES AND METHODS TO COUPLE AN EMBEDDED UNIVERSAL SERIAL BUS (eUSB) CIRCUIT TO A UNIVERSAL SERIAL BUS (USB) TRANSCEIVER INTERFACE CIRCUIT
US20180189222A1 (en) * 2016-12-30 2018-07-05 Intel Corporation APPARATUSES AND METHODS FOR MULTILANE UNIVERSAL SERIAL BUS (USB2) COMMUNICATION OVER EMBEDDED UNIVERSAL SERIAL BUS (eUSB2)

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Universal Serial Bus 3.0 Specification Revision 1.0 Nov. 12, 2008 (Year: 2008). *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20240028103A1 (en) * 2020-07-31 2024-01-25 Apple Inc. Mechanism for Saving Power on a Bus Interface

Also Published As

Publication number Publication date
US20220035433A1 (en) 2022-02-03
US20240028103A1 (en) 2024-01-25

Similar Documents

Publication Publication Date Title
US11703935B2 (en) Mechanism for saving power on a bus interface
EP2239647B1 (en) Motherboard with electronic device for reducing power consumption during sleep mode of computer motherboard
US10817043B2 (en) System and method for entering and exiting sleep mode in a graphics subsystem
EP3659010B1 (en) Power down mode for universal flash storage (ufs)
US9383813B2 (en) Dynamic control of reduced voltage state of graphics controller component of memory controller
US5465367A (en) Slow memory refresh in a computer with a limited supply of power
US10175905B2 (en) Systems and methods for dynamically switching memory performance states
US9310838B2 (en) Power management method for switching power mode of a computer system based on detection of a human interface device
US7039755B1 (en) Method and apparatus for powering down the CPU/memory controller complex while preserving the self refresh state of memory in the system
US10248183B2 (en) System and method for power management
US20070288782A1 (en) Method for reducing power consumption of a computer system in the working state
US20130191677A1 (en) Regional Clock Gating and Dithering
US9552051B2 (en) Block partition to minimize power leakage
TW201416844A (en) Electronic system and power management method
US20120278542A1 (en) Computer system and sleep control method thereof
WO2019129026A1 (en) Noise shielding circuit and chip
US7975157B2 (en) Host device with power-saving function
US8310291B2 (en) DLL having a different training interval during a voltage change
US9529405B2 (en) Subsystem idle aggregation
TW201416847A (en) Computer device and wake-up method therefore

Legal Events

Date Code Title Description
AS Assignment

Owner name: APPLE INC., CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:FRANKO, ITAY;IWAMOTO, DEREK;DAMARILLO, MARK FERDINAND;AND OTHERS;SIGNING DATES FROM 20200721 TO 20200731;REEL/FRAME:053374/0761

FEPP Fee payment procedure

Free format text: ENTITY STATUS SET TO UNDISCOUNTED (ORIGINAL EVENT CODE: BIG.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

STPP Information on status: patent application and granting procedure in general

Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER

STPP Information on status: patent application and granting procedure in general

Free format text: FINAL REJECTION MAILED

STPP Information on status: patent application and granting procedure in general

Free format text: RESPONSE AFTER FINAL ACTION FORWARDED TO EXAMINER

STPP Information on status: patent application and granting procedure in general

Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION

STPP Information on status: patent application and granting procedure in general

Free format text: NON FINAL ACTION MAILED

STCF Information on status: patent grant

Free format text: PATENTED CASE

STCF Information on status: patent grant

Free format text: PATENTED CASE