Patent Description:
<CIT> discloses an electrical connector includes a housing and an arrangement. The arrangement includes microelectromechanical systems (MEMS) or a piezoelectric element or a combination thereof, configured to displace a temperature controlling medium. The electrical connector also includes at least one opening in the housing for transporting the temperature controlling medium displaced by the arrangement through the opening.

Advantageous, optional features of the invention are set out in the appended dependent claims.

The thermal constraints placed on mobile computing device performance by a passive cooling thermal management solution (e.g., heat pipes, heat spreaders, heat sinks, vapor chambers) can preclude the use of adaptive performance technologies that allow for the dynamic adjustment of device performance in such devices (e.g., Intel@ Dynamic Thermal and Performance Framework (DTPF) and Intel® Dynamic Tuning Technology (DTT)). Even when a passively cooled mobile computing device is connected to an external power source, the performance of the device may not be able to be increased as an increase in power consumption may cause the device to exceed its thermal limits.

The external cooling technologies described herein provide for the enhanced air cooling of computing devices. Passively cooled mobile computing devices in particular can take advantage of the disclosed technologies. The addition of the flow of forced air over heat-generating components in a passively cooled device can create a power budget margin that can be utilized to operate the device at a higher level of power consumption and remain within thermal limits. The enhanced air cooling is provided by an air mover located external to a computing device. The air mover can be integrated into or attached to a cable that provides power (and additionally, in some embodiments, data connections) to a computing device. The enhanced air cooling can dynamically adjust the amount of forced air supplied to the computing device based on the performance or operational state of the computing device. The increased cooling of mobile computing devices can further allow for more comfortable usage by a user. For example, a user who is using a laptop computer or tablet computing device that employs the technologies described herein may find the device more comfortable to use since the device may be less prone to overheating the user's lap due to the device operating at a lower temperature. That is, the power budget margin created by the enhanced air cooling is utilized to operate the device at a lower temperature rather than to increase its performance. Further, utilization of the enhanced air cooling technologies disclosed herein may allow for the incorporation of adaptive performance technologies, such as Intel@ DTPF and DTT, into passively cooled mobile computing devices.

In the following description, specific details are set forth, but embodiments of the technologies described herein may be practiced without these specific details. Well-known circuits, structures, and techniques have not been shown in detail to avoid obscuring an understanding of this description. Phrases such as "an embodiment," "various embodiments," "some embodiments," and the like may include features, structures, or characteristics, but not every embodiment necessarily includes the particular features, structures, or characteristics.

Some embodiments may have some, all, or none of the features described for other embodiments. "First," "second," "third," and the like describe a common object and indicate different instances of like objects being referred to. Such adjectives do not imply objects so described must be in a given sequence, either temporally or spatially, in ranking, or any other manner. "Connected" may indicate elements are in direct physical or electrical contact with each other and "coupled" may indicate elements co-operate or interact with each other, but they may or may not be in direct physical or electrical contact. Terms modified by the word "substantially" include arrangements, orientations, dimensions, spacings, or positions that vary slightly from the meaning of the unmodified term. For example, reference to a dimension that is substantially an indicated amount covers dimensions that vary within a few percent of the indicated amount.

As used herein, the term "integrated circuit component" refers to a packaged or unpacked integrated circuit product. A packaged integrated circuit component comprises one or more integrated circuits mounted on a package substrate. In one example, a packaged integrated circuit component contains one or more processor units mounted on a substrate, with an exterior surface of the substrate comprising a solder ball grid array (BGA). In one example of an unpackaged integrated circuit component, a single monolithic integrated circuit die comprises solder bumps attached to contacts on the die. The solder bumps allow the die to be directly attached to a printed circuit board. An integrated circuit component can comprise one or more of any computing system component described or referenced herein or any other computing system component, such as a processor unit (e.g., system-on-a-chip (SoC), processor core, graphics processor unit (GPU), accelerator), I/O controller, chipset processor, memory, or network interface controller.

Reference is now made to the drawings, which are not necessarily drawn to scale, wherein similar or same numbers may be used to designate same or similar parts in different figures. The use of similar or same numbers in different figures does not mean all figures including similar or same numbers constitute a single or same embodiment.

It may be evident, however, that the novel embodiments can be practiced without these specific details. In other instances, well known structures and devices are shown in block diagram form in order to facilitate a description thereof. The intention is to cover all modifications, equivalents, and alternatives within the scope of the claims.

<FIG> illustrate perspective and cross-sectional views of an example external air mover that can provide forced air to a mobile computing device. <FIG> illustrates a first perspective view of an air mover <NUM> connected to a mobile computing device <NUM>, <FIG> illustrates a perspective cross-sectional view of the air mover <NUM> taken along the line A-A' of <FIG>, and <FIG> illustrates a second perspective view of the air mover <NUM>. The air mover <NUM> generates forced air and provides the forced air to the cooling channels <NUM>, which deliver the forced air to the mobile computing device <NUM>. The air mover <NUM> is integrated into a cable <NUM> that encloses (or carries) one or more wires (or lines) that provide power, ground, and/or data signals to the mobile computing device <NUM>. A connector <NUM> connects the cooling channels <NUM> to cooling channel chassis openings <NUM> in a chassis <NUM> of the mobile computing device <NUM> and also connects the wires enclosed in the cable <NUM> to the device <NUM>. The wires in the cable <NUM> are connected to the device <NUM> by an electrical connector <NUM> of the cable <NUM>. The forced air flows through the cooling channels <NUM> and the mobile computing device <NUM> as indicated by arrows <NUM>. After flowing through the cooling channels <NUM> and into the mobile computing device <NUM>, the forced air can pass over one or more device components, such as an SoC, charging circuitry, or one or more other integrated circuit components to absorb heat generated by components. The heated forced air can exit the device <NUM> at one or more exhaust vents.

The air mover <NUM> can comprise a fan, blower, synthetic jet, or another component suitable for generating forced air. A portion of the cable <NUM> is enclosed by an air mover housing <NUM> and the air mover <NUM> is powered through connection to one or more of the wires in the cable <NUM> that deliver power to the mobile computing device <NUM>. An air mover can be considered to be integrated into a cable if wires carried by the cable pass through an air mover housing or if the air mover is connected to one or more wires enclosed by the cable to, for example, receive power or data. An air mover can be considered to be external to a cable if air mover housing is separate from and external to a housing of the cable (e.g., housing <NUM>) and receives power in a manner other than being connected to a power wire carried by the cable. For example, the air mover can be powered by a power wire carried by a second cable. Although the air mover <NUM> is illustrated in <FIG> as being cylindrical and axially aligned with the cable <NUM>, the air mover <NUM> can have any shape and can be oriented in any manner relative to the cable <NUM>. The mobile computing device <NUM> can be any mobile computing device described or referenced herein, such as a laptop, tablet, or smartphone, or any other mobile computing device.

<FIG> illustrates a side view of a portion of the mobile computing device chassis of <FIG>. The chassis <NUM> comprises an electrical connection opening <NUM> through which the electrical connector <NUM> of the connector <NUM> can be inserted to connect the electrical connector <NUM> to a corresponding connector of a mobile computing device. In some embodiments, the electrical connector <NUM> can be a Universal Serial Bus Type-C (USB-C) plug that connects to a USB-C receptacle of the mobile computing device <NUM>. When the electrical connector <NUM> is plugged into the electrical connector opening <NUM>, the cooling channels <NUM> align with and connect to the cooling channel chassis openings <NUM>. Although two cooling channel chassis openings <NUM> are illustrated in <FIG> and <FIG>, in other embodiments, the chassis <NUM> can comprise additional or fewer cooling channel chassis openings <NUM>. A first cooling channel chassis opening 132A is located adjacent to a first edge or end <NUM> of the electrical connection opening <NUM> and a second cooling channel chassis opening 132B is located adjacent to a second edge or end <NUM> of the opening <NUM>. In other embodiments, the cooling channel openings <NUM> can be located adjacent to additional or other edges or ends of the opening <NUM>, such as a top edge or end <NUM> and a bottom edge or end <NUM>. For example, in some embodiments, a chassis can comprise four cooling channel chassis openings, with one cooling channel chassis opening being adjacent to each of the end or edges <NUM>, <NUM>, <NUM>, and <NUM> of the opening <NUM>. In other embodiments, a chassis with two cooling channel chassis openings can be present, with the openings adjacent to the top and bottom edges <NUM> and <NUM>. In some embodiments, more than one cooling channel chassis opening can be adjacent to an electrical connection chassis opening edge or end.

In some embodiments, the chassis <NUM> comprises spring-loaded doors <NUM> that open toward the interior of a mobile computing device to cover the cooling channel chassis openings <NUM> when cooling channels are not connected to the chassis openings <NUM>. The doors <NUM> can aid in providing a more esthetically pleasing industrial design or keep dust and other debris from entering the mobile computing device <NUM>. In some embodiments, elastomeric rings can be fitted to the cooling channel chassis openings <NUM> to prevent forced air from leaking from the cooling channels <NUM> to the outside environment when cooling channels <NUM> are connected.

Returning to <FIG>, the air mover <NUM> is positioned at a point along the cable <NUM> that is proximate to the end of the cable comprising the connector <NUM>. The closer an air mover is positioned to the connector that connects to a computing device, the lower the resistance that the cooling channels <NUM> present to the forced air. Thus, the closer an air mover is located to a connector <NUM>, the higher the flow rate the air mover <NUM> may be able to provide to a connected mobile computing device. In other embodiments, an air mover can be positioned at any point along a cable between the connectors located at the cable ends. The air mover <NUM> can tap into a power line of the cable at any point along the cable to power the air mover <NUM>. The cooling channels <NUM> are external to the cable <NUM>. That is, a cable housing <NUM> does not enclose the cooling channels <NUM>. In other embodiments, the cooling channels <NUM> are internal to the cable <NUM> and the cable housing <NUM> encloses the cooling channels <NUM>. A housing <NUM> of the connector <NUM> encloses a portion of the cooling channels <NUM> and the electrical connector <NUM>.

The cable <NUM> can be of any length, comprise any number of wires, and comprise connectors of any type. In some embodiments, the cable <NUM> can be part of a power adapter that converts an external power supply signal (e.g., "wall power") to an input power supply signal suitable for use by the mobile computing device. In other embodiments, the cable <NUM> can be a charging cable, such as a USB, Ethernet, Thunderbolt, or HDMI (High-Definition Multimedia Interface) cable that delivers power to the mobile computing device in addition to providing data communication capabilities between the mobile computing device <NUM> and another computing device.

In some embodiments, the air mover <NUM> and the cooling channels <NUM> can be part of an air mover component that is separate from the cable <NUM>. In such embodiments, the cooling channels <NUM> can connect to the mobile computing device <NUM> via a connector that is separate from a connector that connects wires carried by a cable to a mobile computing device. In some embodiments, the separate air mover component is releasably attachable to the cable and/or the cable connector. For example, the air mover component can be snapped to, clipped to, pulled over, or otherwise releasably attached to the cable and/or the cable connector. The air mover component can comprise one or more cooling channel connectors that house a portion of the cooling channels and releasably attach to a cable connector. Thus, in embodiments where a separate air mover component is releasably attachable to an electrical connector of a cable, a connector that connects the cooling channels and the wires carried by the cable to a mobile computing device can comprise a first connector portion (e.g., electrical connector <NUM>) that connects the cable wires to the device and one or more second connector portions that connect the cooling channels the device, with the second connector portions being releasably attachable to the first connector portion.

<FIG> illustrates a cross-sectional view of an example cooling channel. The cooling channel <NUM> comprises an internal volume <NUM>, a metal coil spring <NUM>, and a shim <NUM> between the internal volume <NUM> and the metal coil spring <NUM>. The shim <NUM> can provide an airtight structure to prevent leakage of forced air from the internal volume <NUM> to the external environment, have a smooth interior surface (e.g., a surface with a low surface roughness (Ra)) to present a low resistance to forced air flowing through the cooling channel <NUM>, and provide stiffness to prevent sharp bends in the cooling channel <NUM>. The metal coil spring <NUM> can reinforce the shim <NUM> and allow for some bending of the channel <NUM>. The thickness of the shim <NUM>, the thickness of the metal coil spring <NUM>, and the inner and outer diameters of the cooling channel <NUM> can have any suitable values. In some embodiments, the shim <NUM> can have a thickness in the range of <NUM>-<NUM>. In some embodiments, the metal coil spring <NUM> can have a thickness <NUM> in the range of <NUM>-<NUM>. In some embodiments, the cooling channel <NUM> can have an inner diameter <NUM> of substantially <NUM> and an outer diameter <NUM> of substantially <NUM>.

The external cooling technologies disclosed herein can adjust the rate at which forced air flows through cooling channels based on information indicating the mobile computing device's performance (e.g., power consumption information, current consumption information, temperature information) or operational state, or by determining the amount of current flowing through a power line in a cable connected to the computing device.

<FIG> is a block diagram of an example cable with an integrated air mover connected to a mobile computing device. The air mover <NUM> is integrated into a cable <NUM> that connects a mobile computing device <NUM> to a remote device <NUM> (e.g., power adapter, computing device). The air mover <NUM> is in-line with the cable <NUM> and is powered by a power line <NUM> that delivers power to the mobile computing device <NUM> and receives data carried on one or more data wires <NUM> that allow communication between the mobile computing device <NUM> and a remote device <NUM>.

The air mover <NUM> comprises an air mover controller <NUM> and a blower, fan, or another component <NUM> capable of generating forced air that is provided to the device <NUM> by one or more cooling channels <NUM>. The air mover controller <NUM> can control a flow rate of the generated forced air based on information received from the mobile computing device <NUM> over the data lines <NUM>. For example, in embodiments where the forced air is generated by a blower or fan, the air mover controller <NUM> can control the flow rate of the forced air by controlling the speed at which the fan or blower spins. In embodiments where the flow rate of the forced air is based on a frequency at which a component vibrates, such as in piezoelectrically-driven synthetic jets, the air mover controller <NUM> can control the flow rate of the forced air by controlling the frequency at which the vibrating component vibrates. In some embodiments, the blower, fan, or another component <NUM> can be controlled via a pulse width modulated control signal or a variable supply voltage generated by the air mover controller <NUM>. In some embodiments, the air mover controller <NUM> can comprise any of the processing units described herein.

In some embodiments, the air mover controller <NUM> can control the flow rate of the forced air based on information received over the one or more data wires <NUM>, such as mobile computing device performance information (e.g., power consumption information, current consumption information, temperature information), mobile computing device operational state information, or user presence information. Mobile computing device power consumption information can comprise, for example, information indicating an amount of power consumed by the device <NUM> as a whole, the amount of power consumed by an individual component of the device <NUM> (such as an SoC or a charging circuit), or the amount of power consumed by multiple components of the device <NUM>. Mobile computing device current consumption information can comprise, for example, information indicating an amount of current drawn by the device <NUM>, a component of the device <NUM>, or multiple components of the device <NUM>. Mobile computing device temperature information can comprise, for example, information indicating an operating temperature of the device <NUM> or of a component of the device <NUM>. The power consumption information, current consumption information, or temperature information can comprise a power consumption metric, current consumption metric, or temperature metric sampled on a periodic or another basis, a power consumption metric, current consumption metric, or temperature metric averaged over a period, or information derived from a power consumption metric, current consumption metric, or temperature metric on another suitable basis.

In some embodiments, the mobile computing device performance information can comprise critical temperature information. The critical temperature information can comprise information indicating a critical temperature that a component of the mobile computing device <NUM> (e.g., charging circuitry, SoC, another integrated circuit component) or the mobile computing device <NUM> is not to exceed. In such embodiments, the air mover controller <NUM> can determine a difference between the operating temperature of the mobile computing device <NUM> or a mobile computing device component and the critical temperature of the mobile computing device <NUM> or the mobile computing device component and control the flow rate of the forced air based on the temperature difference.

Mobile computing device operational state information can comprise information indicating that the device <NUM> or a device component is in a particular state, such as a processing unit or integrated circuit component being in a particular active state or idle state, or that a particular feature or mode of the device <NUM> is active. As used herein, the term "active state" when referring to the state of a processor unit refers to a state in which the processor unit is executing instructions. As used herein, the term "idle state" means a state in which a processor unit is not executing instructions. Modern processor units can have various sleep states in which they can be placed, with the varying idle states being distinguished by how much power the processor unit consumes in the idle state and idle state exit costs (e.g., how much time and how much power it takes for the processor unit to transition from the idle state to an active state).

Idle states for some existing processor units can be referred to as "C-states". In one example of a set of idle states, some Intel@ processors can be placed in C1, C1E, C3, C6, C7, and C8 idle states. This is in addition to a "C0" state, which is the processor's active state. P-states can further describe the active state of some Intel@ processors, with the various P-states indicating the processor's power supply voltage and operating frequency. The C1/C1E states are "auto halt" states in which all processes in a processor unit are performing a HALT or MWAIT instruction and the processor unit core clock is stopped. In the C1E state, the processor unit is operating in a state with its lowest frequency and supply voltage and with PLLs (phase-locked loops) still operating. In the C3 state, the processor unit's L1 (Level <NUM>) and L2 (Level <NUM>) caches are flushed to lower-level caches (e.g., L3 (Level <NUM>) or LLC (last level cache)), the core clock and PLLs are stopped, and the processor unit operates at an operating voltage sufficient to allow it to maintain its state. In the C6 and deeper idle states, the processor unit stores its state to memory and its operating voltage is reduced to zero. As modern integrated circuit components can comprise multiple processor units, the individual processor units can be in their own idle states. These states can be referred to as C-states (core-states). Package C-states (PC-states) refer to idle states of integrated circuit components comprising multiple cores.

In some embodiments, the operational state information can comprise information indicating a physical configuration of the mobile computing device <NUM>. For example, operational state information for a convertible mobile computing device can indicate that the mobile computing device is in a desktop configuration (in which the angle between a display portion of the device and a base portion of the device is within a first range of angles, the display portion rotated away from the base portion such that display portion is conveniently viewable by a user interacting with a keyboard of the base portion) or in a tent configuration (in which the angle between the display portion and the base portion is within a second range of angles that is greater than the first range of angles, the display portion rotated behind the base portion to act as a stand to support the display portion). In embodiments where the mobile computing device comprises a display portion that is separable from a base portion (such as an attachable keyboard), the operational state information can comprise information indicating that the device is in a tablet mode when the display portion is separated from the base portion. In some embodiments, if the operational state information indicates that the mobile computing device is in a desktop configuration, the air mover controller <NUM> can reduce the flow rate of the forced air or set the flow rate of the forced air to a minimum value or a lower value relative to other flow rate settings. In some embodiments, if the operational state information indicates that the mobile computing device is in a tent configuration, the air mover controller <NUM> can reduce the flow rate of the forced air or set the flow rate of the forced air to a minimum value or a lower value relative to other flow rate settings. In some embodiments, if the operational state information indicates that the mobile computing device is in a tablet configuration, the air mover controller <NUM> can increase the flow rate of the forced air or set the flow rate of the forced air to a maximum value or a higher value relative to other flow rate settings.

User presence information can indicate the presence of a user at the mobile computing device. User presence at a mobile computing device can be determined by, for example, an operating system of the mobile computing determining that input has been provided at an input device (e.g., keyboard, mouse, microphone) within a threshold period of time or by determining the presence of a user based on image data generated by a camera of a mobile computing device. If the user presence information indicates that no user is present, the air mover controller <NUM> can increase the flow rate of the forced air or set the flow rate of the forced air to a maximum value or a high value relative to other flow rate settings. Increasing the flow rate of the forced air if no user is present can serve, for example, to precool the mobile computing device prior to being used or to increase device performance to allow for quicker completion of one or more tasks, operations, or workloads executing on the device.

The component <NUM> of the air mover <NUM> that generates the forced air can be sized based on the resistance presented by the cooling channel <NUM> to the forced air. For example, based on analytical calculations, a cooling channel <NUM> in length and having an inner diameter of <NUM> has an estimated pressure drop along the length of the cooling channel of <NUM> inches of water (<NUM> Pa). Some existing miniature air movers have a size of <NUM> x <NUM> x <NUM> and can provide <NUM> cubic feet per minute (CFM of air flow at <NUM> inches of water.

Thus, in embodiments where the operational information received by the air mover <NUM> comprising information indicating an active or idle state for a processing unit, package, or system (e.g., P-state, C-state, PC-state), the air mover can access a look-up table or other suitable data structure that indicates the control signal that the air mover controller <NUM> is to send to the component <NUM>.

The air mover controller <NUM> can similarly control the component <NUM> based on operational state information indicating that a particular feature or mode of the device <NUM> is enabled. For example, in response to the air mover controller <NUM> receiving information indicating that a fast charging feature of the computing device <NUM> is enabled, the air mover controller <NUM> can access a look-up table or other data structure to retrieve information indicating the control signal that the air mover controller <NUM> is to send to the component <NUM>. A fast charging mode of a computing device can be any charging mode in which a battery internal to the device <NUM> is charged at a faster rate than that in one or more other charging modes of the device <NUM>. The amount of heat generated by the device's charging circuitry can scale with the rate at which the charging circuitry charges the battery. Fast charging rates that are achievable in some existing computing devices may not be achievable in passively cooled mobile computing devices due to thermal limitations.

In some embodiments, the air mover controller <NUM> can control the flow rate of the forced air based on current consumption information passed over one or more data lines in the cable in accordance with a cable or connector protocol (e.g., USB-C). For example, the air mover controller <NUM> can receive information being passed along one or more data lines of a cable in accordance with a cable or connector protocol indicating an amount of current being drawn by the mobile computing device <NUM>, an amount of current being consumed by a charging component or charging circuitry of the device <NUM>, and/or an amount of current being consumed by a component of the device <NUM>.

In some embodiments, the air mover controller <NUM> can adjust a flow rate of the forced air based on air mover control information received from the mobile computing device <NUM>. For example, the air mover control information can indicate that the air mover is not to provide forced air, is to be powered down, is to be powered up, or is to be provide forced air at a specified flow rate. The specified flow rate can be relative flow rate (e.g., low, medium, high; level <NUM>, <NUM>, <NUM>, <NUM>, <NUM>) or a specific flow rate (e.g., a flow rate indicated in cubic feet per minute).

In some embodiments, the air mover controller <NUM> can control the forced air flow rate based on a measure of how much current is flowing through a power line carried by the cable <NUM>. The current flowing through the power line can be used as a proxy for how much power is being consumed by the device <NUM>. The measure of how much current is flowing through the power line carried by the cable <NUM> can be an analog or digital signal generated by current sensing circuitry located in the air mover <NUM>. In some embodiments, the current sensing circuitry can comprise a current sensing resistor located in-line with a power wire carried by the cable <NUM> and the measure of how much current is flowing through the power line is a measure of how much current is flowing through the current sensing resistor as sensed or determined by the current sensing circuitry. In some embodiments, the air mover controller <NUM> can cease providing forced air based on the information received from the mobile computing device. For example, the air mover controller <NUM> can cease providing forced air if it receives operational state information indicating the mobile computing device is in an idle state.

Thus, by being able to adjust the flow rate of forced air provided to a mobile computing device based on the performance or operational state information of the mobile computing device, the technologies described herein provide a closed-loop dynamic cooling solution.

<FIG> illustrates a first example method of controlling the flow rate of forced air provided to a mobile computing device. At <NUM> of method <NUM>, forced air is provided to a mobile computing device by an air mover via one or more cooling channels connected to the air mover and the mobile computing device. At <NUM>, a measure of current flowing through a power wire carried by a cable connected to the mobile computing device is determined by the air mover. At <NUM>, a flow rate of the forced air is controlled by the air mover based on the measure of how much current is flowing through the power wire.

<FIG> illustrates a second example method of controlling the flow rate of forced air provided to a mobile computing device. At <NUM> of method <NUM>, forced air is provided to a mobile computing device by an air mover via one or more cooling channels connected to the air mover and the mobile computing device. At <NUM>, mobile computing device performance information is received by the air mover over one or more data wires carried by a cable connected to the mobile computing device. At <NUM>, a flow rate of the forced air is controlled by the air mover based on the mobile computing device performance information.

<FIG> illustrates a third example method of controlling the flow rate of forced air provided to a mobile computing device. At <NUM> of method <NUM>, forced air is provided to a mobile computing device by an air mover via one or more cooling channels connected to the air mover and the mobile computing device. At <NUM>, mobile computing device performance information is received by the air mover over one or more data wires carried by a cable connected to the mobile computing device. At <NUM>, a flow rate of the forced air is controlled by the air mover based on the mobile computing device operational state information.

<FIG> illustrates a fourth example method of controlling the flow rate of forced air provided to a mobile computing device. At <NUM> of method <NUM>, forced air is provided to a mobile computing device by an air mover via one or more cooling channels connected to the air mover and the mobile computing device. At <NUM>, user presence information is received by the air mover over one or more data wires carried by a cable connected to the mobile computing device. At <NUM>, a flow rate of the forced air is controlled by the air mover based on the user presence information.

The technologies described herein can be performed by or implemented in any of a variety of computing devices, including mobile computing devices (e.g., smartphones, handheld computers, tablet computers, laptop computers, portable gaming consoles, <NUM>-in-<NUM> convertible computers, portable all-in-one computers), non-mobile computing systems (e.g., desktop computers, servers, workstations, stationary gaming consoles, set-top boxes, smart televisions, rack-level computing solutions (e.g., blade, tray, or sled computing systems)), and embedded computing systems (e.g., computing systems that are part of a vehicle, smart home appliance, consumer electronics product or equipment, manufacturing equipment). As used herein, the term "computing system" includes computing devices and includes systems comprising multiple discrete physical components. In some embodiments, the computing systems are located in a data center, such as an enterprise data center (e.g., a data center owned and operated by a company and typically located on company premises), managed services data center (e.g., a data center managed by a third party on behalf of a company), a colocated data center (e.g., a data center in which data center infrastructure is provided by the data center host and a company provides and manages their own data center components (servers, etc.)), cloud data center (e.g., a data center operated by a cloud services provider that host companies applications and data), and an edge data center (e.g., a data center, typically having a smaller footprint than other data center types, located close to the geographic area that it serves).

<FIG> is a block diagram of an example computing system in which technologies described herein may be implemented. Generally, components shown in <FIG> can communicate with other shown components, although not all connections are shown, for ease of illustration. The computing system <NUM> is a multiprocessor system comprising a first processor unit <NUM> and a second processor unit <NUM> comprising point-to-point (P-P) interconnects. A point-to-point (P-P) interface <NUM> of the processor unit <NUM> is coupled to a point-to-point interface <NUM> of the processor unit <NUM> via a point-to-point interconnection <NUM>. It is to be understood that any or all of the point-to-point interconnects illustrated in <FIG> can be alternatively implemented as a multi-drop bus, and that any or all buses illustrated in <FIG> could be replaced by point-to-point interconnects.

The processor units <NUM> and <NUM> comprise multiple processor cores. Processor unit <NUM> comprises processor cores <NUM> and processor unit <NUM> comprises processor cores <NUM>. Processor cores <NUM> and <NUM> can execute computer-executable instructions in a manner similar to that discussed below in connection with <FIG>, or other manners.

Processor units <NUM> and <NUM> further comprise cache memories <NUM> and <NUM>, respectively. The cache memories <NUM> and <NUM> can store data (e.g., instructions) utilized by one or more components of the processor units <NUM> and <NUM>, such as the processor cores <NUM> and <NUM>. The cache memories <NUM> and <NUM> can be part of a memory hierarchy for the computing system <NUM>. For example, the cache memories <NUM> can locally store data that is also stored in a memory <NUM> to allow for faster access to the data by the processor unit <NUM>. In some embodiments, the cache memories <NUM> and <NUM> can comprise multiple cache levels, such as level <NUM> (L1), level <NUM> (L2), level <NUM> (L3), level <NUM> (L4) and/or other caches or cache levels. In some embodiments, one or more levels of cache memory (e.g., L2, L3, L4) can be shared among multiple cores in a processor unit or among multiple processor units in an integrated circuit component. In some embodiments, the last level of cache memory on an integrated circuit component can be referred to as a last level cache (LLC). One or more of the higher levels of cache levels (the smaller and faster caches) in the memory hierarchy can be located on the same integrated circuit die as a processor core and one or more of the lower cache levels (the larger and slower caches) can be located on an integrated circuit dies that are physically separate from the processor core integrated circuit dies.

Although the computing system <NUM> is shown with two processor units, the computing system <NUM> can comprise any number of processor units. Further, a processor unit can comprise any number of processor cores. A processor unit can take various forms such as a central processing unit (CPU), a graphics processing unit (GPU), general-purpose GPU (GPGPU), accelerated processing unit (APU), field-programmable gate array (FPGA), neural network processing unit (NPU), data processor unit (DPU), accelerator (e.g., graphics accelerator, digital signal processor (DSP), compression accelerator, artificial intelligence (AI) accelerator), controller, or other types of processing units. As such, the processor unit can be referred to as an XPU (or xPU). Further, a processor unit can comprise one or more of these various types of processing units. In some embodiments, the computing system comprises one processor unit with multiple cores, and in other embodiments, the computing system comprises a single processor unit with a single core. As used herein, the terms "processor unit" and "processing unit" can refer to any processor, processor core, component, module, engine, circuitry, or any other processing element described or referenced herein.

In some embodiments, the computing system <NUM> can comprise one or more processor units that are heterogeneous or asymmetric to another processor unit in the computing system. There can be a variety of differences between the processing units in a system in terms of a spectrum of metrics of merit including architectural, microarchitectural, thermal, power consumption characteristics, and the like. These differences can effectively manifest themselves as asymmetry and heterogeneity among the processor units in a system.

The processor units <NUM> and <NUM> can be located in a single integrated circuit component (such as a multi-chip package (MCP) or multi-chip module (MCM)) or they can be located in separate integrated circuit components. An integrated circuit component comprising one or more processor units can comprise additional components, such as embedded DRAM, stacked high bandwidth memory (HBM), shared cache memories (e.g., L3, L4, LLC), input/output (I/O) controllers, or memory controllers. Any of the additional components can be located on the same integrated circuit die as a processor unit, or on one or more integrated circuit dies separate from the integrated circuit dies comprising the processor units. In some embodiments, these separate integrated circuit dies can be referred to as "chiplets". In some embodiments where there is heterogeneity or asymmetry among processor units in a computing system, the heterogeneity or asymmetric can be among processor units located in the same integrated circuit component. In embodiments where an integrated circuit component comprises multiple integrated circuit dies, interconnections between dies can be provided by the package substrate, one or more silicon interposers, one or more silicon bridges embedded in the package substrate (such as Intel® embedded multi-die interconnect bridges (EMIBs)), or combinations thereof.

Processor units <NUM> and <NUM> further comprise memory controller logic (MC) <NUM> and <NUM>. As shown in <FIG>, MCs <NUM> and <NUM> control memories <NUM> and <NUM> coupled to the processor units <NUM> and <NUM>, respectively. The memories <NUM> and <NUM> can comprise various types of volatile memory (e.g., dynamic random-access memory (DRAM), static random-access memory (SRAM)) and/or non-volatile memory (e.g., flash memory, chalcogenide-based phase-change non-volatile memories), and comprise one or more layers of the memory hierarchy of the computing system. While MCs <NUM> and <NUM> are illustrated as being integrated into the processor units <NUM> and <NUM>, in alternative embodiments, the MCs can be external to a processor unit.

Processor units <NUM> and <NUM> are coupled to an Input/Output (I/O) subsystem <NUM> via point-to-point interconnections <NUM> and <NUM>. The point-to-point interconnection <NUM> connects a point-to-point interface <NUM> of the processor unit <NUM> with a point-to-point interface <NUM> of the I/O subsystem <NUM>, and the point-to-point interconnection <NUM> connects a point-to-point interface <NUM> of the processor unit <NUM> with a point-to-point interface <NUM> of the I/O subsystem <NUM>. Input/Output subsystem <NUM> further includes an interface <NUM> to couple the I/O subsystem <NUM> to a graphics engine <NUM>. The I/O subsystem <NUM> and the graphics engine <NUM> are coupled via a bus <NUM>.

The Input/Output subsystem <NUM> is further coupled to a first bus <NUM> via an interface <NUM>. The first bus <NUM> can be a Peripheral Component Interconnect Express (PCIe) bus or any other type of bus. Various I/O devices <NUM> can be coupled to the first bus <NUM>. A bus bridge <NUM> can couple the first bus <NUM> to a second bus <NUM>. In some embodiments, the second bus <NUM> can be a low pin count (LPC) bus. Various devices can be coupled to the second bus <NUM> including, for example, a keyboard/mouse <NUM>, audio I/O devices <NUM>, and a storage device <NUM>, such as a hard disk drive, solid-state drive, or another storage device for storing computer-executable instructions (code) <NUM> or data. The code <NUM> can comprise computer-executable instructions for performing methods described herein. Additional components that can be coupled to the second bus <NUM> include communication device(s) <NUM>, which can provide for communication between the computing system <NUM> and one or more wired or wireless networks <NUM> (e.g. Wi-Fi, cellular, or satellite networks) via one or more wired or wireless communication links (e.g., wire, cable, Ethernet connection, radiofrequency (RF) channel, infrared channel, Wi-Fi channel) using one or more communication standards (e.g., IEEE <NUM> standard and its supplements).

In embodiments where the communication devices <NUM> support wireless communication, the communication devices <NUM> can comprise wireless communication components coupled to one or more antennas to support communication between the computing system <NUM> and external devices. The wireless communication components can support various wireless communication protocols and technologies such as Near Field Communication (NFC), IEEE <NUM> (Wi-Fi) variants, WiMax, Bluetooth, Zigbee, <NUM> Long Term Evolution (LTE), Code Division Multiplexing Access (CDMA), Universal Mobile Telecommunication System (UMTS) and Global System for Mobile Telecommunication (GSM), and <NUM> broadband cellular technologies. In addition, the wireless modems can support communication with one or more cellular networks for data and voice communications within a single cellular network, between cellular networks, or between the computing system and a public switched telephone network (PSTN).

The system <NUM> can comprise removable memory such as flash memory cards (e.g., SD (Secure Digital) cards), memory sticks, Subscriber Identity Module (SIM) cards). The memory in system <NUM> (including caches <NUM> and <NUM>, memories <NUM> and <NUM>, and storage device <NUM>) can store data and/or computer-executable instructions for executing an operating system <NUM> and application programs <NUM>. Example data includes web pages, text messages, images, sound files, and video data to be sent to and/or received from one or more network servers or other devices by the system <NUM> via the one or more wired or wireless networks <NUM>, or for use by the system <NUM>. The system <NUM> can also have access to external memory or storage (not shown) such as external hard drives or cloud-based storage.

The operating system <NUM> can control the allocation and usage of the components illustrated in <FIG> and support the one or more application programs <NUM>. The application programs <NUM> can include common computing system applications (e.g., email applications, calendars, contact managers, web browsers, messaging applications) as well as other computing applications.

The computing system <NUM> can support various additional input devices, such as a touchscreen, microphone, monoscopic camera, stereoscopic camera, trackball, touchpad, trackpad, proximity sensor, light sensor, electrocardiogram (ECG) sensor, PPG (photoplethysmogram) sensor, galvanic skin response sensor, and one or more output devices, such as one or more speakers or displays. Other possible input and output devices include piezoelectric and other haptic I/O devices. Any of the input or output devices can be internal to, external to, or removably attachable with the system <NUM>. External input and output devices can communicate with the system <NUM> via wired or wireless connections.

In addition, the computing system <NUM> can provide one or more natural user interfaces (NUIs). For example, the operating system <NUM> or applications <NUM> can comprise speech recognition logic as part of a voice user interface that allows a user to operate the system <NUM> via voice commands. Further, the computing system <NUM> can comprise input devices and logic that allows a user to interact with computing the system <NUM> via body, hand, or face gestures.

The system <NUM> can further include at least one input/output port comprising physical connectors (e.g., USB, IEEE <NUM> (FireWire), Ethernet, RS-<NUM>), a rechargeable battery, charging circuitry to charge the battery, a global satellite navigation system (GNSS) receiver (e.g., GPS receiver); a gyroscope; an accelerometer; and/or a compass. A GNSS receiver can be coupled to a GNSS antenna. The computing system <NUM> can further comprise one or more additional antennas coupled to one or more additional receivers, transmitters, and/or transceivers to enable additional functions.

In addition to those already discussed, integrated circuit components, integrated circuit constituent components, and other components in the computing system <NUM> can communicate with interconnect technologies such as Intel@ QuickPath Interconnect (QPI), Intel® Ultra Path Interconnect (UPI), Computer Express Link (CXL), cache coherent interconnect for accelerators (CCIX®), serializer/deserializer (SERDES), Nvidia® NVLink, ARM Infinity Link, Gen-Z, or Open Coherent Accelerator Processor Interface (OpenCAPI). Other interconnect technologies may be used and a computing system <NUM> may utilize more or more interconnect technologies.

It is to be understood that <FIG> illustrates only one example computing system architecture. Computing systems based on alternative architectures can be used to implement technologies described herein. For example, instead of the processors <NUM> and <NUM> and the graphics engine <NUM> being located on discrete integrated circuits, a computing system can comprise an SoC (system-on-a-chip) integrated circuit incorporating multiple processors, a graphics engine, and additional components. Further, a computing system can connect its constituent component via bus or point-to-point configurations different from that shown in <FIG>. Moreover, the illustrated components in <FIG> are not required or all-inclusive, as shown components can be removed and other components added in alternative embodiments.

<FIG> is a block diagram of an example processor unit <NUM> to execute computer-executable instructions as part of implementing technologies described herein. The processor unit <NUM> can be a single-threaded core or a multithreaded core in that it may include more than one hardware thread context (or "logical processor") per processor unit.

<FIG> also illustrates a memory <NUM> coupled to the processor unit <NUM>. The memory <NUM> can be any memory described herein or any other memory known to those of skill in the art. The memory <NUM> can store computer-executable instructions <NUM> (code) executable by the processor core <NUM>.

The processor unit comprises front-end logic <NUM> that receives instructions from the memory <NUM>. An instruction can be processed by one or more decoders <NUM>. The decoder <NUM> can generate as its output a micro-operation such as a fixed width micro operation in a predefined format, or generate other instructions, microinstructions, or control signals, which reflect the original code instruction. The front-end logic <NUM> further comprises register renaming logic <NUM> and scheduling logic <NUM>, which generally allocate resources and queues operations corresponding to converting an instruction for execution.

The processor unit <NUM> further comprises execution logic <NUM>, which comprises one or more execution units (EUs) <NUM>-<NUM> through <NUM>-N. Some processor unit embodiments can include a number of execution units dedicated to specific functions or sets of functions. Other embodiments can include only one execution unit or one execution unit that can perform a particular function. The execution logic <NUM> performs the operations specified by code instructions. After completion of execution of the operations specified by the code instructions, back-end logic <NUM> retires instructions using retirement logic <NUM>. In some embodiments, the processor unit <NUM> allows out of order execution but requires in-order retirement of instructions. Retirement logic <NUM> can take a variety of forms as known to those of skill in the art (e.g., re-order buffers or the like).

The processor unit <NUM> is transformed during execution of instructions, at least in terms of the output generated by the decoder <NUM>, hardware registers and tables utilized by the register renaming logic <NUM>, and any registers (not shown) modified by the execution logic <NUM>.

Software and firmware may be embodied as instructions and/or data stored on non-transitory computer-readable storage media. As used herein, the term "circuitry" can comprise, singly or in any combination, non-programmable (hardwired) circuitry, programmable circuitry such as processor units, state machine circuitry, and/or firmware that stores instructions executable by programmable circuitry. A computing system referred to as being programmed to perform a method can be programmed to perform the method via software, hardware, firmware, or combinations thereof.

Any of the disclosed methods (or a portion thereof) can be implemented as computer-executable instructions or a computer program product. Such instructions can cause a computing system or one or more processor units capable of executing computer-executable instructions to perform any of the disclosed methods. As used herein, the term "computer" refers to any computing system, device, or machine described or mentioned herein as well as any other computing system, device, or machine capable of executing instructions. Thus, the term "computer-executable instruction" refers to instructions that can be executed by any computing system, device, or machine described or mentioned herein as well as any other computing system, device, or machine capable of executing instructions.

The computer-executable instructions or computer program products as well as any data created and/or used during implementation of the disclosed technologies can be stored on one or more tangible or non-transitory computer-readable storage media, such as volatile memory (e.g., DRAM, SRAM), non-volatile memory (e.g., flash memory, chalcogenide-based phase-change non-volatile memory) optical media discs (e.g., DVDs, CDs), and magnetic storage (e.g., magnetic tape storage, hard disk drives). Computer-readable storage media can be contained in computer-readable storage devices such as solid-state drives, USB flash drives, and memory modules. Alternatively, any of the methods disclosed herein (or a portion) thereof may be performed by hardware components comprising non-programmable circuitry. In some embodiments, any of the methods herein can be performed by a combination of non-programmable hardware components and one or more processing units executing computer-executable instructions stored on computer-readable storage media.

The computer-executable instructions can be part of, for example, an operating system of the computing system, an application stored locally to the computing system, or a remote application accessible to the computing system (e.g., via a web browser). Any of the methods described herein can be performed by computer-executable instructions performed by a single computing system or by one or more networked computing systems operating in a network environment. Computer-executable instructions and updates to the computer-executable instructions can be downloaded to a computing system from a remote server.

Further, it is to be understood that implementation of the disclosed technologies is not limited to any specific computer language or program. For instance, the disclosed technologies can be implemented by software written in C++, C#, Java, Perl, Python, JavaScript, Adobe Flash, C#, assembly language, or any other programming language. Likewise, the disclosed technologies are not limited to any particular computer system or type of hardware.

Furthermore, any of the software-based embodiments (comprising, for example, computer-executable instructions for causing a computer to perform any of the disclosed methods) can be uploaded, downloaded, or remotely accessed through a suitable communication means. Such suitable communication means include, for example, the Internet, the World Wide Web, an intranet, cable (including fiber optic cable), magnetic communications, electromagnetic communications (including RF, microwave, ultrasonic, and infrared communications), electronic communications, or other such communication means.

As used in this application and the claims, a list of items joined by the term "and/or" can mean any combination of the listed items. For example, the phrase "A, B and/or C" can mean A; B; C; A and B; A and C; B and C; or A, B and C. As used in this application and the claims, a list of items joined by the term "at least one of" can mean any combination of the listed terms. For example, the phrase "at least one of A, B or C" can mean A; B; C; A and B; A and C; B and C; or A, B, and C. Moreover, as used in this application and the claims, a list of items joined by the term "one or more of" can mean any combination of the listed terms. For example, the phrase "one or more of A, B and C" can mean A; B; C; A and B; A and C; B and C; or A, B, and C.

The disclosed methods, apparatuses, and systems are not to be construed as limiting in any way. Instead, the present disclosure is directed toward all novel and nonobvious features and aspects of the various disclosed embodiments, alone and in various combinations and subcombinations with one another. The disclosed methods, apparatuses, and systems are not limited to any specific aspect or feature or combination thereof, nor do the disclosed embodiments require that any one or more specific advantages be present or problems be solved.

Theories of operation, scientific principles, or other theoretical descriptions presented herein in reference to the apparatuses or methods of this disclosure have been provided for the purposes of better understanding and are not intended to be limiting in scope. The apparatuses and methods in the appended claims are not limited to those apparatuses and methods that function in the manner described by such theories of operation.

Claim 1:
An apparatus (<NUM>), comprising:
a cable (<NUM>) comprising a plurality of wires;
a plurality of cooling channels (<NUM>) external to the cable;
an air mover (<NUM>) connected to the plurality of cooling channels, the air mover being arranged external to the cable in that the air mover housing is separate from and external to a housing of the cable and that the air mover receives power in a manner other than being connected to a power wire carried by the cable, and is configured to generate forced air and to provide the forced air to the plurality of cooling channels; and
a connector (<NUM>) located at an end of the cable to connect the wires and the plurality of cooling channels to a mobile computing device (<NUM>) to provide the forced air thereinto for passing over at least one device component of the mobile computing device to absorb heat generated by at least one device component,
wherein the air mover is arranged at a point along the cable that is proximate to the end of the cable comprising the connector.