This document relates to systems and methods for providing cooling to electronic equipment, such as computer server racks and related equipment in computer data centers, with a cold plate.
Computer users often focus on the speed of computer microprocessors (e.g., megahertz and gigahertz). Many forget that this speed often comes with a cost—higher power consumption. This power consumption also generates heat. That is because, by simple laws of physics, all the power has to go somewhere, and that somewhere is, in the end, conversion into heat. A pair of microprocessors mounted on a single motherboard can draw hundreds of watts or more of power. Multiply that figure by several thousand (or tens of thousands) to account for the many computers in a large data center, and one can readily appreciate the amount of heat that can be generated. The effects of power consumed by the critical load in the data center are often compounded when one incorporates all of the ancillary equipment required to support the critical load.
Many techniques may be used to cool electronic devices (e.g., processors, memories, networking devices, and other heat generating devices) that are located on a server or network rack tray. For instance, forced convection may be created by providing a cooling airflow over the devices. Fans located near the devices, fans located in computer server rooms, and/or fans located in ductwork in fluid communication with the air surrounding the electronic devices, may force the cooling airflow over the tray containing the devices. In some instances, one or more components or devices on a server tray may be located in a difficult-to-cool area of the tray; for example, an area where forced convection is not particularly effective or not available.
The consequence of inadequate and/or insufficient cooling may be the failure of one or more electronic devices on the tray due to a temperature of the device exceeding a maximum rated temperature. While certain redundancies may be built into a computer data center, a server rack, and even individual trays, the failure of devices due to overheating can come at a great cost in terms of speed, efficiency, and expense.
This disclosure describes a cooling system, for example, for rack mounted electronic devices (e.g., servers, processors, memory, networking devices or otherwise) in a data center. In various disclosed implementations, the cooling system may be or include a cold plate cooling system according to the present disclosure provides controllable liquid (e.g., water) cooling for server or network heat generating devices, such as processors, memory modules, switches, and other devices. The cold plate cooling system, in some aspects, includes a tray-mounted control valve to meter a cooling liquid flow based on particular tray operating parameters and computer-implemented methods.
In an example implementation, a data center cooling system includes a server rack sub-assembly that includes at least one motherboard mounted on a support member and a plurality of heat generating electronic devices mounted on the at least one motherboard; at least one cold plate positioned in thermal communication with at least a portion of the plurality of heat generating electronic devices, the cold plate configured to receive a flow of a cooling liquid circulated through a supply conduit fluidly coupled to a liquid inlet of the at least one cold plate, through the at least one cold plate, and through a return conduit fluidly coupled to a liquid outlet of the at least one cold plate; and a modulating control valve attached to either of the motherboard or the support member and positioned in either of the supply conduit or the return conduit, the modulating control valve configured to adjust a rate of the flow of the cooling liquid based at least in part on an operating condition of at least one of the plurality of heat generating electronic devices.
In an aspect combinable with the example implementation, the at least one cold plate includes a plurality of cold plates.
In another aspect combinable with any one of the previous aspects, each of the plurality of cold plates is mounted to a respective heat generating electronic device of the plurality of heat generating electronic devices.
In another aspect combinable with any one of the previous aspects, the supply conduit is directly coupled to each liquid inlet of the plurality of cold plates, and the return conduit is directly coupled to each liquid outlet of the plurality of cold plates.
In another aspect combinable with any one of the previous aspects, the supply conduit is directly coupled to a liquid inlet of one of the plurality of cold plates, and the return conduit is directly coupled to a liquid outlet of one of the plurality of cold plates.
In another aspect combinable with any one of the previous aspects, the supply conduit is directly coupled to liquid inlets of a portion of the plurality of cold plates, and the return conduit is directly coupled to liquid outlets of a portion of the plurality of cold plates.
Another aspect combinable with any one of the previous aspects further includes a controller communicably coupled to the modulating control valve.
In another aspect combinable with any one of the previous aspects, the controller is attached to either of the motherboard or the support member.
In another aspect combinable with any one of the previous aspects, the controller is configured to perform operations including determining a value of the operating condition of the at least one heat generating electronic device; and adjusting the modulating control valve to open or close based on the determined value.
In another aspect combinable with any one of the previous aspects, determining the value of the operating condition of the at least one heat generating electronic device includes determining an operating temperature for each of the plurality heat generating electronic devices; determining a maximum operating temperature from the determined operating temperatures; and calculating a thermal margin between the maximum operating temperature and at least one of the operating temperatures.
In another aspect combinable with any one of the previous aspects, adjusting the modulating control valve to open or close based on the determined value includes adjusting the modulating control valve to open based on the calculated thermal margin greater than a threshold thermal margin value.
In another aspect combinable with any one of the previous aspects, determining the value of the operating condition of the at least one heat generating electronic device includes determining a supply cooling liquid temperature; determining a return cooling liquid temperature; and calculating a temperature difference between the supply cooling liquid temperature and the return cooling liquid temperature.
In another aspect combinable with any one of the previous aspects, adjusting the modulating control valve to open or close based on the determined value includes adjusting the modulating control valve to open based on the calculated temperature difference greater than a threshold temperature difference value.
In another aspect combinable with any one of the previous aspects, determining a supply cooling liquid temperature includes receiving a measured temperature value from an inlet temperature sensor in thermal communication with the flow of the cooling liquid through the supply conduit.
In another aspect combinable with any one of the previous aspects, determining a return cooling liquid temperature includes receiving a measured temperature value from an outlet temperature sensor in thermal communication with the flow of the cooling liquid through the return conduit.
In another example implementation, a method for cooling heat generating devices in a data center includes circulating a flow of a cooling liquid to a server rack sub-assembly that includes at least one motherboard mounted on a support member and a plurality of heat generating electronic devices mounted on the at least one motherboard; circulating the flow of the cooling liquid through a supply conduit to a liquid inlet of at least one cold plate positioned in thermal communication with at least a portion of the plurality of heat generating electronic devices; circulating the flow of the cooling liquid through the at least one cold plate to receive heat into the cooling liquid from the portion of the plurality of heat generating electronic devices; circulating the flow of the heated cooling liquid from a liquid outlet of the at least one cold plate through a return conduit; and controlling a modulating control valve attached to either of the motherboard or the support member to adjust a rate of the flow of the cooling liquid based at least in part on an operating condition of at least one of the plurality of heat generating electronic devices.
In an aspect combinable with the example implementation, the at least one cold plate includes a plurality of cold plates, each of the plurality of cold plates mounted to a respective heat generating electronic device of the plurality of heat generating electronic devices.
Another aspect combinable with any one of the previous aspects further includes circulating the flow of cooling liquid directly from the supply conduit to each liquid inlet of the plurality of cold plates; and circulating the flow of the heated cooling liquid directly from each liquid outlet of the plurality of cold plates to the return conduit.
Another aspect combinable with any one of the previous aspects further includes circulating the flow of cooling liquid directly from the supply conduit to a liquid inlet of one of the plurality of cold plates; heating the cooling liquid in the one of the plurality of cold plates; circulating the flow of the heated cooling liquid from a liquid outlet of the one of the plurality of cold plates to a liquid inlet of another of the plurality of cold plates; further heating the heated cooling liquid in the another of the plurality of cold plates; and circulating the flow of the further heated cooling liquid directly from a liquid outlet of the another of the plurality of cold plates to the return conduit.
Another aspect combinable with any one of the previous aspects further includes circulating the flow of cooling liquid directly from the supply conduit to liquid inlets of a first portion of the plurality of cold plates; heating the cooling liquid in the portion of the plurality of cold plates; circulating the flow of the heated cooling liquid from liquid outlets of the first portion of the plurality of cold plates to liquid inlets of a second portion of the plurality of cold plates; further heating the heated cooling liquid in the second portion of the plurality of cold plates; and circulating the flow of the further heated cooling liquid directly from liquid outlets of the second portion of the plurality of cold plates to the return conduit.
Another aspect combinable with any one of the previous aspects further includes determining a value of the operating condition of the at least one heat generating electronic device; and adjusting the modulating control valve to open or close based on the determined value.
In another aspect combinable with any one of the previous aspects, determining the value of the operating condition of the at least one heat generating electronic device includes determining an operating temperature for each of the plurality heat generating electronic devices; determining a maximum operating temperature from the determined operating temperatures; and calculating a thermal margin between the maximum operating temperature and at least one of the operating temperatures.
In another aspect combinable with any one of the previous aspects, adjusting the modulating control valve to open or close based on the determined value includes adjusting the modulating control valve to open based on the calculated thermal margin greater than a threshold thermal margin value.
In another aspect combinable with any one of the previous aspects, determining the value of the operating condition of the at least one heat generating electronic device includes determining a supply cooling liquid temperature; determining a return cooling liquid temperature; and calculating a temperature difference between the supply cooling liquid temperature and the return cooling liquid temperature.
In another aspect combinable with any one of the previous aspects, adjusting the modulating control valve to open or close based on the determined value includes adjusting the modulating control valve to open based on the calculated temperature difference greater than a threshold temperature difference value.
In another aspect combinable with any one of the previous aspects, determining a supply cooling liquid temperature includes receiving a measured temperature value from an inlet temperature sensor in thermal communication with the flow of the cooling liquid through the supply conduit.
In another aspect combinable with any one of the previous aspects, determining a return cooling liquid temperature includes receiving a measured temperature value from an outlet temperature sensor in thermal communication with the flow of the cooling liquid through the return conduit.
Various implementations of a data center cooling system according to the present disclosure may include one, some, or all of the following features. For example, a server rack cold plate cooling system may allow for increased cooling (e.g., through an increase in a cooling fluid flow rate or decrease in cooling fluid temperature) for high power (or high density) servers or other data center electronic devices, while also allowing decreased cooling (e.g., through a decrease in a cooling fluid flow rate or increase in cooling fluid temperature) for low power (or low density) servers or other data center electronic devices. Thus, the server rack cold plate cooling system may provide cooling “on demand” for each specific server tray sub-assembly within a data center (which may be hundreds, thousands, tens of thousands or more). As another example, the server rack cold plate cooling system may provide for lower total time average cooling fluid flow usage and higher efficiency at the data center level. Further, the server rack cold plate cooling system may allow for short periods of time when power can be high by enabling high cooling fluid flow rate usage at such times. For example, peak server performance may be achievable without limiting the demands of the server rack. Thus, a data center may be more easily provisioned on average power load usage rather than peak (or nameplate, or worst case) power load usage.
The details of one or more embodiments are set forth in the accompanying drawings and the description below. Other features, objects, and advantages will be apparent from the description and drawings, and from the claims.
In some example implementations, a cold plate cooling system according to the present disclosure provides controllable liquid (e.g., water) cooling for server or network heat generating devices, such as processors, memory modules, switches, and other devices. The cold plate cooling system, in some aspects, includes a tray-mounted control valve to meter a cooling liquid flow based on particular tray operating parameters and computer-implemented methods. For example, in some aspects, the control valve is embedded inside a cold plate loop, which is thermally coupled to the heat generating devices of a server tray (or server tray sub-assembly). There may be tens, hundreds, thousands, tens of thousands or more of such trays in a data center.
The cooling liquid (e.g., water) control may allow for scalability and a high level of modularity and allows each tray to function at a different liquid flow rate depending on the potentially unique configuration (or operating condition) of each tray. Thus, cold plate cooling systems of the present disclosure may accommodate variability in tray-to-tray power levels as well as variability of the cooling solution in terms of manufacturing variation and variability of assembly.
In an example operation of the cold plate cooling system, the tray-mounted control valve (or valves) can be adjusted between a minimum to a maximum level. In some aspects, the minimum level is zero percent open, and in some aspects, the maximum level is 100 percent open. A control algorithm executed by a control system may determine or measure particular temperatures associated with the tray for which the cold plate cooling system is providing cooling. If heat generating device power increases, thereby increasing such temperatures, the control valve may be actuated to open more to reduce such temperatures to a target value (or values). In contrast, if heat generating device power decreases, thereby decreasing such temperatures, the control valve may be actuated to close more to allow such temperatures to rise to a target value (or values).
The slots 107, and the server rack sub-assemblies 110, can be oriented with the illustrated horizontal arrangement (with respect to gravity). Alternatively, the slots 107, and the server rack sub-assemblies 110, can be oriented vertically (with respect to gravity), although this would require some reconfiguration of the evaporator and condenser structures described below. Where the slots are oriented horizontally, they may be stacked vertically in the rack 105, and where the slots are oriented vertically, they may be stacked horizontally in the rack 105.
Server rack 105, as part of a larger data center for instance, may provide data processing and storage capacity. In operation, a data center may be connected to a network, and may receive and respond to various requests from the network to retrieve, process, and/or store data. In operation, for example, the server rack 105 typically facilitates the communication of information over a network with user interfaces generated by web browser applications of users who request services provided by applications running on computers in the datacenter. For example, the server rack 105 may provide or help provide a user who is using a web browser to access web sites on the Internet or the World Wide Web.
The server rack sub-assembly 110 may be one of a variety of structures that can be mounted in a server rack. For example, in some implementations, the server rack sub-assembly 110 may be a “tray” or tray assembly that can be slidably inserted into the server rack 105. The term “tray” is not limited to any particular arrangement, but instead applies to motherboard or other relatively flat structures appurtenant to a motherboard for supporting the motherboard in position in a rack structure. In some implementations, the server rack sub-assembly 110 may be a server chassis, or server container (e.g., server box). In some implementations, the server rack sub-assembly 110 may be a hard drive cage.
Referring to
The frame 120 can include or simply be a flat structure onto which the motherboard 122 can be placed and mounted, so that the frame 120 can be grasped by technicians for moving the motherboard into place and holding it in position within the rack 105. For example, the server rack sub-assembly 110 may be mounted horizontally in the server rack 105 such as by sliding the frame 120 into the slot 107 and over a pair of rails in the rack 105 on opposed sides of the server rack sub-assembly 110—much like sliding a lunch tray into a cafeteria rack. Although
The illustrated server rack sub-assembly 110 includes a printed circuit board 122, e.g., a motherboard, on which a variety of components are mounted, including heat-generating electronic devices 124. Although one motherboard 122 is illustrated as mounted on the frame 120, multiple motherboards may be mounted on the frame 120, depending on the needs of the particular application. In some implementations, the one or more fans (not shown) can be placed on the frame 120 so that air enters at the front edge (at the left hand side in
As shown, each cold plate heat exchanger (or “cold plate”) 132 contacts the electronic device 124 so that heat is drawn by conductive heat transfer from the electronic device 124 to the cold plate 132. For example, the cold plate 132 is in conductive thermal contact with the electronic device 124. In particular, the bottom of the cold plate 132 contacts the top of the electronic device 124. In operation, a working liquid 135, such as water, glycol, or another cooling liquid, is circulated (e.g., pumped) from a cooling liquid source (not shown) through a supply conduit 144 to each cold plate 132. Heat from the electronic device 124 causes the working liquid 135 in the cold plate 132 to rise in temperature. The heated liquid 135 then passes through return conduit 142, through control valve 138 to the cooling liquid source. The cooling liquid source may be a mechanical refrigeration cooling source or an evaporative cooling source, for example. Thus, the cooling liquid 135 may remove heat from the electronic device 124.
As shown, the control valve 138 (positioned in the return conduit 142 in this example) is mounted on the server tray sub-assembly 110, and in this example, on the frame 120. In alternative examples, the control valve 138, which may be a plug or ball valve as examples, may be mounted on another component of the server tray sub-assembly 110, such as the mother board 122.
As further shown in this example, the control valve 138 is communicably coupled (e.g., through a wired or wireless connection) to a controller 140. More specifically, a valve actuator (not shown) that is part of or attached to the control valve 138 may be communicably coupled to the control 140 to receive commands (e.g., to open or close) from the controller 140. In example implementations, the controller 140 is a proportional integral derivative (PID) controller. But in alternative implementations, the controller 140 may be another form of a microprocessor-based controller or even a mechanical, electro-mechanical, pneumatic, or hydraulic controller.
In some aspects, the controller 140 may also be communicably coupled to other components on the server rack sub-assembly 110 that are not shown, such as for example, temperature sensors, pressure sensors, or the electronic devices 124 themselves. For example, the controller 140 may be communicably coupled to temperature sensors in thermal communication with the electronic devices 124 so as to measure or determine an operating temperature of the respective electronic devices 124. In some aspects, such temperature sensors may be mounted on the presumed hottest portion of the respective electronic devices 124. In addition or alternatively, the controller 140 may be communicably coupled to temperature sensors positioned on the sub-assembly 110 to measure operating temperature of the sub-assembly 110, generally.
In some aspects, the controller 140 may be in communication with the electronic devices 124 to determine or measure, for example, operating power, operating utilization, or both. For example, in some aspects, heat generated by the electronic devices 124 may be related (directly or otherwise) to an amount of electric power consumed by the devices 124. Further, heat generated by the electronic devices 124 may be related (directly or otherwise) to a utilization percentage of the devices 124. Thus, by determining or measuring consumed electrical power or utilization of the electronic devices 124, an amount of heat (and thus temperature) may be at least indirectly determined by the controller 140.
As shown in these example, a supply conduit 144 is fluidly coupled to inlets of the cold plates 132 while a return conduit 142 is fluidly coupled to outlets of the cold plates 132. Generally, the supply conduit 144 is fluidly coupled to a supply side of a cooling liquid source (not shown), such as, for example, a chiller, evaporative cooling source, or otherwise, while the return conduit 142 is fluidly coupled to a return side of the cooling liquid source. In this example, the control valve 138 is fluidly coupled within the return conduit 142; alternatively, the control valve 138 is fluidly coupled within the supply conduit 144.
In some aspects, the controller 140 may be communicably coupled to temperature sensors (not shown) that are on or in thermal contact with the electronic devices 124 on which the cold plates 132 are mounted. Such temperature sensors may measure operating temperature values of each of the electronic devices 124.
Each of
Turning to
Turning to
Turning to
Turning to
Method 400 may continue at step 404, which includes determining a hottest heat generating device on a server tray, such as the server rack sub-assembly 110. For example, upon polling each of the electronic devices 124 for operational temperature values (or temperature sensors thermally coupled to the electronic devices 124), the controller 140 may determine the highest operating temperature, e.g., the hottest electronic device 124.
Method 400 may continue at step 406, which includes calculating a thermal margin between a temperature of the hottest heat generating device and at least one of the other measured temperatures (e.g., in step 402). For example, the controller 140 may calculate the thermal margin by calculating the difference between the temperature of the hottest electronic device 124 and, for example, the temperature of the coldest electronic device 124 on the server tray sub-assembly 110. Alternatively, the controller 140 may calculate the thermal margin by calculating the difference between the temperature of the hottest electronic device 124 and, for example, an average temperature of all of the electronic devices 124 on the server tray sub-assembly 110. In some aspects, there is an actual thermal margin (ATM) (e.g., based on actual temperatures being measured) and a target or threshold thermal margin (TTM) (e.g., which is a setpoint or specified value).
Method 400 may continue at step 408, which includes a determination of whether the calculated thermal margin meets a threshold thermal margin value. For example, after the thermal margin is calculated by the controller 140, the controller 140 may compare the calculated thermal margin to a pre-determined or otherwise programmed thermal margin setpoint (or threshold). For example, an example thermal margin setpoint may be 10° C. If the calculated thermal margin is less than the setpoint (e.g., the electronic devices 124 are being adequately cooled), the controller 140 determines that the decision in step 408 is “yes” and method 400 may end or repeat at step 402.
If the calculated thermal margin is greater than the setpoint (e.g., the electronic devices 124 are not being adequately cooled), the controller 140 determines that the decision in step 408 is “no” and method 400 may continue at step 410, which includes adjusting a position (e.g., a percentage open) of a control valve. For example, the controller 140 may actuate the control valve 138 to open more than a current position of the valve 138 to, e.g., allow a greater flow rate of the cooling liquid to flow through the cold plate cooling system to increase a heat dissipation rate of the electronic devices 124 into the cold plates 132. Step 410 may continue, for example, back to step 402 after the control valve 138 is adjusted.
In this example, a temperature sensor 148 is mounted in or to the supply conduit 144 (or in thermal communication with the supply conduit 144). Also, as shown, a temperature sensor 146 is mounted in or to the return conduit 142 (or in thermal communication with the return conduit 142). Thus, temperature sensor 148 can measure a temperature of the cooling liquid in the supply conduit 144, while the temperature sensor 146 can measure a temperature of the cooling liquid in the return conduit 142.
These temperature sensors 146 and 148 may be communicably coupled to the controller 140. Thus, the cold plate cooling system shown in this example of
Method 700 may continue at step 704, which includes measuring an outlet cooling liquid temperature (Tout). For example, the controller 140 may poll (or receive from) the temperature sensor 146 a temperature of the cooling liquid that is flowing through the return conduit 142. Steps 702 and 704 may be performed in an alternative order, or may be performed simultaneously as well.
Method 700 may continue at step 706, which includes calculating a temperature delta between Tin and Tout (Tdelta=Tout−Tin). For example, the controller 140 may calculate Tdelta at a particular time of operation of the cold plate cooling system.
Method 700 may continue at step 708, which includes a determination of whether the calculated temperature delta meets a threshold temperature delta value. For example, after the Tdelta is calculated by the controller 140, the controller 140 may compare the calculated Tdelta to a pre-determined or otherwise programmed Tdelta setpoint (or threshold). For example, an example Tdelta setpoint may be 10° C. If the calculated Tdelta is less than the setpoint (e.g., the electronic devices 124 are being adequately cooled), the controller 140 determines that the decision in step 708 is “yes” and method 700 may end or repeat at step 702.
If the calculated Tdelta is greater than the setpoint (e.g., the electronic devices 124 are not being adequately cooled), the controller 140 determines that the decision in step 708 is “no” and method 700 may continue at step 710, which includes adjusting a position (e.g., a percentage open) of a control valve. For example, the controller 140 may actuate the control valve 138 to open more than a current position of the valve 138 to, e.g., allow a greater flow rate of the cooling liquid to flow through the cold plate cooling system to increase a heat dissipation rate of the electronic devices 124 into the cold plates 132. Step 710 may continue, for example, back to step 702 after the control valve 138 is adjusted.
Method 800 may continue at step 804, which includes determining a hottest heat generating device on a server tray, such as the server rack sub-assembly 110. For example, upon polling each of the electronic devices 124 for operational temperature values (or temperature sensors thermally coupled to the electronic devices 124), the controller 140 may determine the highest operating temperature, e.g., the hottest electronic device 124.
Method 800 may continue at step 806, which includes calculating a thermal margin between a temperature of the hottest heat generating device and at least one of the other measured temperatures (e.g., in step 402). For example, the controller 140 may calculate the thermal margin by calculating the difference between the temperature of the hottest electronic device 124 and, for example, the temperature of the coldest electronic device 124 on the server tray sub-assembly 110. Alternatively, the controller 140 may calculate the thermal margin by calculating the difference between the temperature of the hottest electronic device 124 and, for example, an average temperature of all of the electronic devices 124 on the server tray sub-assembly 110.
Method 800 may continue at step 808, which includes a determination of whether the calculated thermal margin meets a threshold thermal margin value. For example, after the thermal margin is calculated by the controller 140, the controller 140 may compare the calculated thermal margin to a pre-determined or otherwise programmed thermal margin setpoint (or threshold). For example, an example thermal margin setpoint may be 10° C. If the calculated thermal margin is less than the setpoint (e.g., the electronic devices 124 are being adequately cooled), the controller 140 determines that the decision in step 808 is “yes” and method 800 may repeat at step 802.
If the calculated thermal margin is greater than the setpoint (e.g., the electronic devices 124 are not being adequately cooled), the controller 140 determines that the decision in step 808 is “no” and method 800 may continue at step 810, which includes adjusting a position (e.g., a percentage open) of a control valve. For example, the controller 140 may actuate the control valve 138 to open more than a current position of the valve 138 to, e.g., allow a greater flow rate of the cooling liquid to flow through the cold plate cooling system to increase a heat dissipation rate of the electronic devices 124 into the cold plates 132.
Method 800 may continue at step 812, which includes determining the new valve position to which the control valve 138 was adjusted in step 810. Steps 810 and 812 may, in some aspects, be performed by the controller 140 simultaneously.
Method 800 may continue at step 814, which includes a determination of whether the new valve position (determined in step 812) is less than a minimum open percentage. If the controller 140 determines that the determined valve percent open position is less than the minimum open percentage, then method 800 continues to step 816, which includes setting (e.g., actuating) the control valve 138 to the minimum percent open position (which may be predetermined or otherwise programmed in the controller 140).
If the controller 140 determines that the determined valve percent open position is greater than the minimum open percentage, then method 800 continues to step 818, which includes a determination of whether the new valve position (determined in step 812) is greater than a maximum open percentage. If the controller 140 determines that the determined valve percent open position is greater than the maximum open percentage, then method 800 continues to step 820, which includes setting (e.g., actuating) the control valve 138 to the maximum percent open position (which may be predetermined or otherwise programmed in the controller 140). If the controller 140 determines, based on steps 814 and 818, that the control valve open percentage is between the minimum and maximum set positions, then method 800 may end or continue back to step 802.
The system 1000 is intended to include various forms of digital computers, such as laptops, desktops, workstations, personal digital assistants, servers, blade servers, mainframes, and other appropriate computers. The system 1000 can also include mobile devices, such as personal digital assistants, cellular telephones, smartphones, and other similar computing devices. Additionally the system can include portable storage media, such as, Universal Serial Bus (USB) flash drives. For example, the USB flash drives may store operating systems and other applications. The USB flash drives can include input/output components, such as a wireless transmitter or USB connector that may be inserted into a USB port of another computing device.
The system 1000 includes a processor 1010, a memory 1020, a storage device 1030, and an input/output device 1040. Each of the components 1010, 1020, 1030, and 1040 are interconnected using a system bus 1050. The processor 1010 is capable of processing instructions for execution within the system 1000. The processor may be designed using any of a number of architectures. For example, the processor 1010 may be a CISC (Complex Instruction Set Computers) processor, a RISC (Reduced Instruction Set Computer) processor, or a MISC (Minimal Instruction Set Computer) processor.
In one implementation, the processor 1010 is a single-threaded processor. In another implementation, the processor 1010 is a multi-threaded processor. The processor 1010 is capable of processing instructions stored in the memory 1020 or on the storage device 1030 to display graphical information for a user interface on the input/output device 1040.
The memory 1020 stores information within the system 1000. In one implementation, the memory 1020 is a computer-readable medium. In one implementation, the memory 1020 is a volatile memory unit. In another implementation, the memory 1020 is a non-volatile memory unit.
The storage device 1030 is capable of providing mass storage for the system 1000. In one implementation, the storage device 1030 is a computer-readable medium. In various different implementations, the storage device 1030 may be a floppy disk device, a hard disk device, an optical disk device, or a tape device.
The input/output device 1040 provides input/output operations for the system 1000. In one implementation, the input/output device 1040 includes a keyboard and/or pointing device. In another implementation, the input/output device 1040 includes a display unit for displaying graphical user interfaces.
The features described can be implemented in digital electronic circuitry, or in computer hardware, firmware, software, or in combinations of them. The apparatus can be implemented in a computer program product tangibly embodied in an information carrier, e.g., in a machine-readable storage device for execution by a programmable processor; and method steps can be performed by a programmable processor executing a program of instructions to perform functions of the described implementations by operating on input data and generating output. The described features can be implemented advantageously in one or more computer programs that are executable on a programmable system including at least one programmable processor coupled to receive data and instructions from, and to transmit data and instructions to, a data storage system, at least one input device, and at least one output device. A computer program is a set of instructions that can be used, directly or indirectly, in a computer to perform a certain activity or bring about a certain result. A computer program can be written in any form of programming language, including compiled or interpreted languages, and it can be deployed in any form, including as a stand-alone program or as a module, component, subroutine, or other unit suitable for use in a computing environment.
Suitable processors for the execution of a program of instructions include, by way of example, both general and special purpose microprocessors, and the sole processor or one of multiple processors of any kind of computer. Generally, a processor will receive instructions and data from a read-only memory or a random access memory or both. The essential elements of a computer are a processor for executing instructions and one or more memories for storing instructions and data. Generally, a computer will also include, or be operatively coupled to communicate with, one or more mass storage devices for storing data files; such devices include magnetic disks, such as internal hard disks and removable disks; magneto-optical disks; and optical disks. Storage devices suitable for tangibly embodying computer program instructions and data include all forms of non-volatile memory, including by way of example semiconductor memory devices, such as EPROM, EEPROM, and flash memory devices; magnetic disks such as internal hard disks and removable disks; magneto-optical disks; and CD-ROM and DVD-ROM disks. The processor and the memory can be supplemented by, or incorporated in, ASICs (application-specific integrated circuits).
To provide for interaction with a user, the features can be implemented on a computer having a display device such as a CRT (cathode ray tube) or LCD (liquid crystal display) monitor for displaying information to the user and a keyboard and a pointing device such as a mouse or a trackball by which the user can provide input to the computer. Additionally, such activities can be implemented via touchscreen flat-panel displays and other appropriate mechanisms.
The features can be implemented in a control system that includes a back-end component, such as a data server, or that includes a middleware component, such as an application server or an Internet server, or that includes a front-end component, such as a client computer having a graphical user interface or an Internet browser, or any combination of them. The components of the system can be connected by any form or medium of digital data communication such as a communication network. Examples of communication networks include a local area network (“LAN”), a wide area network (“WAN”), peer-to-peer networks (having ad-hoc or static members), grid computing infrastructures, and the Internet.
While this specification contains many specific implementation details, these should not be construed as limitations on the scope of any inventions or of what may be claimed, but rather as descriptions of features specific to particular implementations of particular inventions. Certain features that are described in this specification in the context of separate implementations can also be implemented in combination in a single implementation. Conversely, various features that are described in the context of a single implementation can also be implemented in multiple implementations separately or in any suitable subcombination. Moreover, although features may be described above as acting in certain combinations and even initially claimed as such, one or more features from a claimed combination can in some cases be excised from the combination, and the claimed combination may be directed to a subcombination or variation of a subcombination.
Similarly, while operations are depicted in the drawings in a particular order, this should not be understood as requiring that such operations be performed in the particular order shown or in sequential order, or that all illustrated operations be performed, to achieve desirable results. In certain circumstances, multitasking and parallel processing may be advantageous. Moreover, the separation of various system components in the implementations described above should not be understood as requiring such separation in all implementations, and it should be understood that the described program components and systems can generally be integrated together in a single software product or packaged into multiple software products.
A number of embodiments have been described. Nevertheless, it will be understood that various modifications may be made without departing from the spirit and scope of what is described. For example, the steps of the exemplary flow charts in
Number | Name | Date | Kind |
---|---|---|---|
5774334 | Kawamura | Jun 1998 | A |
6292365 | Ashiwake | Sep 2001 | B1 |
6317326 | Vogel | Nov 2001 | B1 |
6388882 | Hoover et al. | May 2002 | B1 |
6952346 | Tilton et al. | Oct 2005 | B2 |
6973801 | Campbell et al. | Dec 2005 | B1 |
7086247 | Campbell et al. | Aug 2006 | B2 |
7233494 | Campbell et al. | Jun 2007 | B2 |
7272005 | Campbell et al. | Sep 2007 | B2 |
7274566 | Campbell et al. | Sep 2007 | B2 |
7277283 | Campbell et al. | Oct 2007 | B2 |
7298617 | Campbell et al. | Nov 2007 | B2 |
7298618 | Campbell et al. | Nov 2007 | B2 |
7301770 | Campbell et al. | Nov 2007 | B2 |
7349213 | Campbell et al. | Mar 2008 | B2 |
7362574 | Campbell et al. | Apr 2008 | B2 |
7375962 | Campbell et al. | May 2008 | B2 |
7380409 | Campbell et al. | Jun 2008 | B2 |
7385817 | Campbell et al. | Jun 2008 | B2 |
7400504 | Campbell et al. | Jul 2008 | B2 |
7400505 | Campbell et al. | Jul 2008 | B2 |
7405936 | Campbell et al. | Jul 2008 | B1 |
7408776 | Campbell et al. | Aug 2008 | B2 |
7420808 | Campbell et al. | Sep 2008 | B2 |
7450385 | Campbell et al. | Nov 2008 | B1 |
7486514 | Campbell et al. | Feb 2009 | B2 |
7511957 | Campbell et al. | Mar 2009 | B2 |
7516776 | Bezama et al. | Apr 2009 | B2 |
7518871 | Campbell et al. | Apr 2009 | B2 |
7593227 | Campbell | Sep 2009 | B2 |
7609519 | Campbell et al. | Oct 2009 | B2 |
7639498 | Campbell et al. | Dec 2009 | B2 |
7639499 | Campbell et al. | Dec 2009 | B1 |
7641101 | Campbell et al. | Jan 2010 | B2 |
7651260 | Hamann et al. | Jan 2010 | B2 |
7665325 | Campbell et al. | Mar 2010 | B2 |
7724524 | Campbell et al. | May 2010 | B1 |
7731079 | Campbell et al. | Jun 2010 | B2 |
7762314 | Campbell et al. | Jul 2010 | B2 |
7787248 | Campbell et al. | Aug 2010 | B2 |
7791882 | Chu et al. | Sep 2010 | B2 |
7808781 | Colgan et al. | Oct 2010 | B2 |
7830664 | Campbell et al. | Nov 2010 | B2 |
7841385 | Campbell et al. | Nov 2010 | B2 |
7885074 | Campbell et al. | Feb 2011 | B2 |
7905096 | Campbell et al. | Mar 2011 | B1 |
7907406 | Campbell | Mar 2011 | B1 |
7916483 | Campbell et al. | Mar 2011 | B2 |
7948757 | Campbell et al. | May 2011 | B2 |
7963119 | Campbell et al. | Jun 2011 | B2 |
7965509 | Campbell et al. | Jun 2011 | B2 |
7967062 | Campbell et al. | Jun 2011 | B2 |
7978472 | Campbell et al. | Jul 2011 | B2 |
7978473 | Campbell et al. | Jul 2011 | B2 |
7990709 | Campbell et al. | Aug 2011 | B2 |
7992627 | Bezama et al. | Aug 2011 | B2 |
8014150 | Campbell et al. | Sep 2011 | B2 |
8018720 | Campbell et al. | Sep 2011 | B2 |
8027162 | Campbell et al. | Sep 2011 | B2 |
8029186 | Hamann et al. | Oct 2011 | B2 |
8038343 | Hamann et al. | Oct 2011 | B2 |
8051897 | Campbell et al. | Nov 2011 | B2 |
8056615 | Downing | Nov 2011 | B2 |
8059405 | Campbell et al. | Nov 2011 | B2 |
8077462 | Barringer et al. | Dec 2011 | B2 |
8094453 | Campbell et al. | Jan 2012 | B2 |
8144467 | Campbell et al. | Mar 2012 | B2 |
8179674 | Carter et al. | May 2012 | B2 |
8179677 | Campbell et al. | May 2012 | B2 |
8189334 | Campbell et al. | May 2012 | B2 |
8194406 | Campbell et al. | Jun 2012 | B2 |
8203842 | Campbell et al. | Jun 2012 | B2 |
8208258 | Campbell et al. | Jun 2012 | B2 |
8210741 | Hamann et al. | Jul 2012 | B2 |
8230906 | Campbell et al. | Jul 2012 | B2 |
8248801 | Campbell et al. | Aug 2012 | B2 |
8266802 | Campbell et al. | Sep 2012 | B2 |
8274790 | Campbell et al. | Sep 2012 | B2 |
8279597 | El-Essawy et al. | Oct 2012 | B2 |
8322029 | Campbell et al. | Dec 2012 | B2 |
8322154 | Campbell et al. | Dec 2012 | B2 |
8345423 | Campbell et al. | Jan 2013 | B2 |
8358503 | Carter et al. | Jan 2013 | B2 |
8369091 | Campbell et al. | Feb 2013 | B2 |
8387249 | Campbell et al. | Mar 2013 | B2 |
8437129 | Tung | May 2013 | B2 |
8472182 | Campbell et al. | Jun 2013 | B2 |
8490679 | Campbell et al. | Jul 2013 | B2 |
8493738 | Chainer et al. | Jul 2013 | B2 |
8547692 | El-Essawy et al. | Oct 2013 | B2 |
8564952 | Campbell et al. | Oct 2013 | B2 |
8583290 | Campbell et al. | Nov 2013 | B2 |
8619425 | Campbell et al. | Dec 2013 | B2 |
8636406 | Hamann et al. | Jan 2014 | B2 |
8649177 | Chainer et al. | Feb 2014 | B2 |
8687364 | Chainer et al. | Apr 2014 | B2 |
8689861 | Campbell et al. | Apr 2014 | B2 |
8711563 | Campbell et al. | Apr 2014 | B2 |
8713955 | Campbell et al. | May 2014 | B2 |
8713957 | Campbell et al. | May 2014 | B2 |
8739406 | Campbell et al. | Jun 2014 | B2 |
8743545 | Campbell et al. | Jun 2014 | B2 |
8760863 | Campbell et al. | Jun 2014 | B2 |
8783052 | Campbell et al. | Jul 2014 | B2 |
8789385 | Campbell et al. | Jul 2014 | B2 |
8797740 | Campbell et al. | Aug 2014 | B2 |
8806749 | Campbell et al. | Aug 2014 | B2 |
8813515 | Campbell et al. | Aug 2014 | B2 |
8817465 | Campbell et al. | Aug 2014 | B2 |
8817474 | Campbell et al. | Aug 2014 | B2 |
8824143 | Campbell et al. | Sep 2014 | B2 |
8833096 | Campbell et al. | Sep 2014 | B2 |
8879257 | Campbell et al. | Nov 2014 | B2 |
8899052 | Campbell et al. | Dec 2014 | B2 |
8913384 | David et al. | Dec 2014 | B2 |
8922998 | Campbell et al. | Dec 2014 | B2 |
8925333 | Campbell et al. | Jan 2015 | B2 |
8929080 | Campbell et al. | Jan 2015 | B2 |
8934250 | Campbell et al. | Jan 2015 | B2 |
8941994 | Campbell et al. | Jan 2015 | B2 |
8947873 | Campbell et al. | Feb 2015 | B2 |
8953317 | Campbell et al. | Feb 2015 | B2 |
8955346 | Campbell et al. | Feb 2015 | B2 |
8964390 | Campbell et al. | Feb 2015 | B2 |
8964391 | Campbell et al. | Feb 2015 | B2 |
8966922 | Campbell et al. | Mar 2015 | B2 |
8985847 | Campbell et al. | Mar 2015 | B2 |
9009968 | Campbell et al. | Apr 2015 | B2 |
9009971 | Campbell et al. | Apr 2015 | B2 |
9013872 | Campbell et al. | Apr 2015 | B2 |
9027360 | Chainer et al. | May 2015 | B2 |
9038406 | Campbell et al. | May 2015 | B2 |
9043035 | Chainer et al. | May 2015 | B2 |
9045995 | Graybill et al. | Jun 2015 | B2 |
9052722 | Chainer et al. | Jun 2015 | B2 |
9078379 | Campbell et al. | Jul 2015 | B2 |
9095889 | Campbell et al. | Aug 2015 | B2 |
9095942 | Campbell et al. | Aug 2015 | B2 |
9101078 | Campbell et al. | Aug 2015 | B2 |
9110476 | David et al. | Aug 2015 | B2 |
9148982 | Campbell et al. | Sep 2015 | B2 |
9148983 | Campbell et al. | Sep 2015 | B2 |
9167721 | Campbell et al. | Oct 2015 | B2 |
9173324 | Campbell et al. | Oct 2015 | B2 |
9179574 | Canney et al. | Nov 2015 | B2 |
9185830 | Chainer et al. | Nov 2015 | B2 |
9200851 | Campbell et al. | Dec 2015 | B2 |
9207002 | Campbell et al. | Dec 2015 | B2 |
9210830 | Campbell et al. | Dec 2015 | B2 |
9213343 | Campbell et al. | Dec 2015 | B2 |
9218008 | Campbell et al. | Dec 2015 | B2 |
9250024 | Campbell et al. | Feb 2016 | B2 |
9253921 | Campbell et al. | Feb 2016 | B2 |
9261308 | Campbell et al. | Feb 2016 | B2 |
9282675 | Campbell et al. | Mar 2016 | B2 |
9282678 | Campbell et al. | Mar 2016 | B2 |
9285050 | Campbell et al. | Mar 2016 | B2 |
9288932 | Campbell et al. | Mar 2016 | B2 |
9291281 | Campbell et al. | Mar 2016 | B2 |
9295181 | Campbell et al. | Mar 2016 | B2 |
9301433 | Campbell et al. | Mar 2016 | B2 |
9303926 | Campbell et al. | Apr 2016 | B2 |
9307674 | Chainer et al. | Apr 2016 | B2 |
9313920 | Campbell et al. | Apr 2016 | B2 |
9332674 | Campbell et al. | May 2016 | B2 |
9338924 | Campbell et al. | May 2016 | B2 |
9342079 | David et al. | May 2016 | B2 |
9351431 | Campbell et al. | May 2016 | B2 |
9357674 | Campbell et al. | May 2016 | B2 |
9357675 | Campbell et al. | May 2016 | B2 |
9357682 | Campbell et al. | May 2016 | B2 |
9363924 | Campbell et al. | Jun 2016 | B2 |
9386727 | Barringer et al. | Jul 2016 | B2 |
9410751 | David et al. | Aug 2016 | B2 |
9414519 | Campbell et al. | Aug 2016 | B2 |
9414523 | Chainer et al. | Aug 2016 | B2 |
9414525 | Campbell et al. | Aug 2016 | B2 |
9439325 | Campbell et al. | Sep 2016 | B2 |
9445529 | Chainer et al. | Sep 2016 | B2 |
9460985 | Joshi et al. | Oct 2016 | B2 |
9470439 | Campbell et al. | Oct 2016 | B2 |
9474186 | Campbell et al. | Oct 2016 | B2 |
9518875 | Chainer et al. | Dec 2016 | B2 |
9655282 | Barringer et al. | May 2017 | B2 |
9686889 | Campbell et al. | Jun 2017 | B2 |
9719865 | Chainer et al. | Aug 2017 | B2 |
9750159 | Campbell et al. | Aug 2017 | B2 |
9763357 | Campbell et al. | Sep 2017 | B2 |
9831151 | Schultz | Nov 2017 | B1 |
9879926 | David et al. | Jan 2018 | B2 |
20030147214 | Patel et al. | Aug 2003 | A1 |
20040061218 | Tilton | Apr 2004 | A1 |
20070023879 | Pandey et al. | Feb 2007 | A1 |
20070121295 | Campbell et al. | May 2007 | A1 |
20070125523 | Bhatti et al. | Jun 2007 | A1 |
20090140417 | Refai-Ahmed | Jun 2009 | A1 |
20090218078 | Brunschwiler | Sep 2009 | A1 |
20100252234 | Cambell | Oct 2010 | A1 |
20110240281 | Avery | Oct 2011 | A1 |
20130027878 | Campbell | Jan 2013 | A1 |
20130027884 | Campbell et al. | Jan 2013 | A1 |
20140015106 | Hsieh | Jan 2014 | A1 |
20140085817 | Campbell et al. | Mar 2014 | A1 |
20140146467 | Campbell | May 2014 | A1 |
20150319883 | Branton | Nov 2015 | A1 |
20160262288 | Chainer et al. | Sep 2016 | A1 |
20160338226 | Sakamoto et al. | Nov 2016 | A1 |
20170127565 | Campbell | May 2017 | A1 |
20180005921 | Takemura et al. | Jan 2018 | A1 |
20180090417 | Gutala | Mar 2018 | A1 |
20180211900 | Gutala | Jul 2018 | A1 |
20190103290 | Medina | Apr 2019 | A1 |
20190206764 | Kulkarni | Jul 2019 | A1 |
Entry |
---|
Alavi et al. “Fabrications of microchannels by laser machining and anisotropic,” Sensor and Actuators A: Physical, vol. 32, Issues 1-3, Apr. 1992, 4 pages. |
PCT International Search Report and Written Opinion in International Application No. PCT/US2019/028109, dated Jun. 28, 2019, 16 pages. |
PCT International Search Report and Written Opinion in International Application No. PCT/US2019/046794, dated Nov. 15, 2019, 15 pages. |
PCT International Search Report and Written Opinion in International Application No. PCT/US2019/027909, dated Aug. 13, 2019, 14 pages. |
Number | Date | Country | |
---|---|---|---|
20190327860 A1 | Oct 2019 | US |