Monitoring of control logic, and related system and method
Supervisory control logic automates monitoring and control tasks in heat transfer systems, addressing scalability issues by optimizing cooling capacity and reducing technician intervention, thus enhancing system efficiency and performance.
Patent Information
- Application Number
- JP2025129153
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2021-04-13
- Filing Date
- 2025-08-01
- Publication Date
- 2025-10-28
AI Technical Summary
Existing control logic for heat transfer systems, particularly in liquid cooling systems, requires significant technician intervention and limits the scalability of installations due to resource bottlenecks, as they lack automated monitoring and control capabilities.
Implementing supervisory control logic that monitors and directs the operation of system control logic, allowing automated tasks such as rebooting, updating, and refashing memory or firmware without human intervention, and adapting cooling capacity to actual heat dissipation levels.
Enhances the scalability and efficiency of heat transfer systems by reducing the need for manual technician intervention and optimizing cooling capacity based on workload, thereby improving overall system performance and resource utilization.
Smart Images

Figure 2025163150000001_ABST
Abstract
Description
[Technical Field]
[0001] (CROSS-REFERENCE TO RELATED APPLICATIONS) This application claims the benefit of and priority to U.S. Provisional Patent Application No. 63 / 163,661, filed March 19, 2021, and U.S. Patent Application No. 63 / 174,074, filed April 13, 2021.
[0002] Other relevant disclosures include U.S. Patent No. 8,746,330, U.S. Patent No. 9,052,252, U.S. Patent No. 9,453,691, U.S. Patent No. 9,496,200, U.S. Patent No. 10,364,809, and U.S. Patent No. 10,365,667, as well as U.S. Patent Application Publication No. 2015 / 0083368, co-pending U.S. Patent Application No. 16 / 158,227, and co-pending U.S. Patent Application No. 17 / 582,987.
[0003] Each of the foregoing patents, publications, and patent applications is hereby incorporated by reference in its entirety for all purposes as if fully set forth herein.
[0004] FIELD OF THE INVENTION TECHNICAL FIELD This application and the subject matter disclosed herein (collectively referred to as the "disclosure") generally relate to control logic, such as, for example, a microcontroller, for controlling heat transfer systems, and related systems and methods. [Background technology]
[0005] More particularly, but not exclusively, the present disclosure relates to systems, methods, and components for monitoring, effecting, or improving the health of a controller, e.g., a microcontroller that controls the operation of a heat transfer system, with limited or no intervention by a technician. As just one illustrative example, supervisory control logic can monitor and direct the operation of the system control logic, for example, by causing the system control logic to reboot, enter a selected boot mode, upgrade or install system or operating files, or reflash memory or firmware logic, etc.
[0006] The performance and heat dissipation density of computer systems continue to increase. As a result, traditional air cooling continues to be replaced by liquid cooling in some computer system applications, including, but not limited to, server and data center applications. While commercially available liquid cooling systems are considered reliable, automated control of cooling systems allows a single technician to oversee the operation of a significant number of servers, allowing server installations to grow in size with fewer technicians than would otherwise be required with manually controlled cooling systems. Nevertheless, known control logic for such heat transfer systems can still require attention from technicians. Summary of the Invention
[0007] According to aspects, the disclosed control logic can automate time-consuming tasks that would otherwise traditionally be performed manually by a technician. For example, the disclosed control logic can include system control logic configured to control the operation of a device or system, such as a heating or cooling device or system. The disclosed control logic can also include supervisory control logic configured to monitor the operation of the system control logic, direct the operation of the system control logic, or both. can.
[0008] In embodiments, the disclosed supervisory control logic can monitor the health status of the system control logic, for example, by monitoring an output from the system control logic indicative of the health status of the system control logic. In a practical embodiment, the supervisory control logic can monitor an output signal emitted by the system control logic, such as a strobe signal. For example, the supervisory control logic can monitor a change in the frequency of a periodic strobe signal. In this example, if the supervisory control logic detects a change in the frequency of the strobe signal that exceeds a threshold change in frequency, for example, the supervisory control logic can infer that the functionality of the system control logic has changed (e.g., degraded). In response to detecting a change in the health status of the system control logic, the supervisory control logic can issue a command or signal or otherwise cause the system control logic to perform one or more other actions selected from a plurality of actions. As merely a few illustrative examples, the supervisory control logic can issue a command or signal or otherwise cause the system control logic to reboot, enter a selected boot mode, upgrade or install system or operating files, or reflash a memory store or firmware storage.
[0009] According to another aspect, the present disclosure describes an automated method for monitoring the operation of system control logic, directing the operation of system control logic, or both. According to yet another aspect, a computing environment configured to perform such an automated method is disclosed. Also disclosed are related methods, as well as tangible, non-transitory computer-readable media containing computer-executable instructions that, when executed, cause the computing environment to implement one or more of the methods disclosed herein. Semiconductor processors embodied in software, firmware, or hardware and suitable for implementing such instructions are also disclosed, as are microcontrollers having a processing unit and memory combined within a common package or on a common digital signal board.
[0010] According to yet another aspect, a control system for a heat transfer system includes system control logic and supervisory control logic. The system control logic has a first processor, a first memory, and a first communication connection. The first memory stores first instructions that, when executed by the first processor, cause the control system to control operation of the heat transfer system and transmit an indicator of the health of the system control logic over the first communication connection. The supervisory control logic has a second processor, a second memory, and a second communication connection. The second communication connection is configured to receive the indicator of health from the first communication connection. The second memory stores second instructions that, when executed by the second processor, cause the supervisory control logic to determine a health status of the system control logic in response to the received indicator of health.
[0011] In an embodiment, the second instructions, when executed by the second processor, further cause the supervisory control logic to terminate power to the system control logic in response to the determined health condition falling below a threshold health condition.
[0012] The second instructions, when executed by the second processor, further cause the supervisory control logic to output a command signal over the second communication connection in response to the determined health condition falling below a threshold health condition. The first communication connection can be configured to receive the command signal over the second communication connection. The first instructions, when executed by the first processor, cause the system control logic to reboot, enter a selected boot mode, install system files, or install operating files. It can either stall, re-flash the memory or re-flash the firmware logic.
[0013] The act of transmitting the indication of the health of the system control logic from the first communication connection may include transmitting a strobe signal within a predetermined frequency range. In some embodiments, the act of determining the health status of the system control logic in response to the received indication of health includes evaluating whether the frequency of the strobe signal is within or outside the predetermined frequency range.
[0014] The first memory can include a removable memory card. In some embodiments, the second instructions, when executed by the second processor, further cause the supervisory control logic to output a command signal over the second communication connection. The first communication connection can be configured to receive the command signal over the second communication connection. The first instructions, when executed by the first processor, can cause the system control logic to read data from an external memory store and write data from the external memory store to the first memory in response to the command signal. The act of writing data from the external memory store to the first memory, in some embodiments, does not require removal of the removable memory card.
[0015] The second instructions, when executed by the second processor, further cause the supervisory control logic to output a command signal from the second communication connection in response to the determined health status falling below a threshold health status. The first communication connection can be configured to receive the command signal from the second communication connection, and the system control logic can be configured to reboot from a boot source external to the system control logic.
[0016] The system control logic may also be configured to overwrite a portion of the first memory with data received from a memory store external to the system control logic.
[0017] The second instructions, when executed by the second processor, also cause the supervisory control logic to output a further command signal over the second communication connection. For example, the system control logic can be further configured to restart and boot from the first memory in response to the further command signal.
[0018] A heat transfer system controlled by such monitored control logic is also disclosed. According to another aspect, the heat transfer system includes a pump for urging a liquid to flow through the heat transfer system, a valve for controlling the flow of the liquid through the heat transfer system, and a sensor configured to observe a condition of the heat transfer system. The heat transfer system can further include system control logic and supervisory control logic. The system control logic is configured to selectively operate the pump, the valve, or both in response to an output from the sensor. The system control logic is further configured to output an indicator of the health of the system control logic. The supervisory control logic is configured to receive the indicator of health from the first system control logic and determine a health status of the system control logic in response to the received indicator of health.
[0019] The supervisory control logic may be configured to terminate power to the system control logic in response to the determined health condition falling below a threshold health condition.
[0020] The supervisory control logic may be configured to issue a command to the system control logic in response to the determined health condition falling below a threshold health condition. For example, the system control logic may respond to the command by rebooting or entering a selected boot mode. The boot process may be configured to: install system files, install operating files, reflash memory, or reflash firmware logic.
[0021] In some embodiments, the system control logic has a processor and a primary memory that stores instructions that, when executed by the processor, cause the system control logic to selectively operate pumps, valves, or both in response to outputs from the sensors. The system control logic can also be configured to read data from the external memory store and overwrite the primary memory with data read from the external memory store in response to commands issued by the supervisory control logic.
[0022] Although the primary memory may be removable from the system control logic, the act of writing data from an external memory store to the primary memory does not, in some embodiments, require the primary memory to be removed from the system control logic.
[0023] In some embodiments, the system control logic is configured to reboot from a boot source external to the system control logic in response to a command issued by the supervisory control logic.
[0024] In some embodiments, the system control logic comprises a processor and a primary memory that stores instructions that, when executed by the processor, cause the system control logic to selectively operate pumps, valves, or both in response to outputs from the sensors. The system control logic can also be configured to overwrite a portion of the primary memory with data received from a memory store external to the system control logic in response to commands issued by the supervisory control logic.
[0025] The system control logic may also be configured to restart and boot from the primary memory after the data received from the external memory store has been overwritten in the primary memory.
[0026] The primary memory may include a removable memory card, and the act of overwriting a portion of the primary memory with data received from a memory store external to the system control logic, in some embodiments, does not require removing the removable memory card from the system control logic. The foregoing and other features and advantages will become more apparent from the following detailed description, which proceeds with reference to the accompanying drawings. [Brief explanation of the drawings]
[0027] Referring to the drawings, wherein like numerals refer to like parts throughout the several views and specification, aspects of the principles of the present disclosure are illustrated by way of example, but not by way of limitation. [Figure 1] 1 illustrates an architectural block diagram of supervisory control logic configured to monitor system control logic. [Figure 2] 1 illustrates schematically an embodiment of a monitored control logic. [Figure 2A] 10A and 10B illustrate schematically alternative embodiments of monitored control logic; [Figure 3] 1 shows multiple liquid-cooled servers mounted in a rack. [Figure 4] 4 illustrates a partially cutaway view of one of the servers shown in FIG. 3. [Figure 5] 4 illustrates schematically a closed-loop liquid cooling circuit suitable for cooling multiple rack-mounted servers such as those shown in FIG. 3. [Figure 6] 1 illustrates a block diagram of a suitable computing environment for implementing the disclosed techniques. DETAILED DESCRIPTION OF THE INVENTION
[0028] Below, various principles relating to control logic are described. For example, aspects of certain disclosed principles involve system control logic configured to control a given system and supervisory control logic configured to monitor the operation of the system control logic and / or direct the operation of the system control logic. That said, the descriptions herein of specific device and system configurations and combinations of method acts are merely particular examples selected for convenience in illustrating aspects of the disclosed principles. One or more of the principles of the present disclosure can be incorporated into a variety of other systems to achieve any of a variety of corresponding system characteristics.
[0029] Thus, systems having different attributes than the specific examples discussed herein may embody one or more principles of the present disclosure and may be used in applications not specifically described herein, and such alternative embodiments are also within the scope of the present disclosure.
[0030] I. Overview While prior system control logic improved upon prior devices and systems by automating the operation and control of such devices and systems (e.g., thermal devices and systems), prior architectures of system control logic required an engineer to monitor the operation of the system control logic and, under some conditions, direct (or re-direct) its operation. While this improved upon prior devices and systems, prior system control logic could still limit the scale at which prior devices and systems could operate.
[0031] For example, servers installed in a given rack in a data center may be cooled by a liquid cooling system. The liquid cooling system may generally have one or more pumps and one or more valves to control the flow of liquid coolant between the servers and remove heat dissipated by the servers, as described in U.S. Pat. No. 9,496,200. The cooling system may also include one or more sensors and system control logic. The system control logic may be configured to selectively operate the pumps and valves in response to system parameters observed by sensors, as described in U.S. Pat. No. 9,052,252 and pending U.S. patent applications Ser. Nos. 16 / 158,227 and 17 / 582,987, for example.
[0032] For example, as U.S. Patent Application No. 17 / 582,987 explains, component and overall heat dissipation during a computationally intensive workload can be much higher than component and overall heat dissipation during periods of low computational activity, such as when a server is primarily transferring data rather than rendering graphics or performing other computationally intensive work. Such an "I / O intensive" workload may occur, for example, when a server provides data over a network connection for a streaming application.
[0033] Also, while a typical server rack of the type used in data centers may house 42 individual servers, some server racks may house more or fewer individual servers. Furthermore, some server racks may not be completely filled, regardless of their capacity.
[0034] This allows, for example, a cooling system designed to provide a static amount of cooling to each server (or component or rack) assumed to be present in a given facility based on the expected upper threshold level of heat dissipation by each component in each server in each rack. A system may adequately cool its various components when they are all operating under a heavy or maximum computational workload. However, the cooling system may provide unnecessary excess cooling to various components, for example, under other workloads that cause one or more servers (or components) to dissipate less heat. In other words, a cooling system designed for an upper threshold power dissipation by all servers in a given rack (or all servers in a group of racks in a data center) may be over-designed when the upper threshold power dissipation occurs only occasionally per server (and possibly infrequently, if at all, across all servers associated with the cooling system). That is, the cooling system may have excess cooling capacity or margin under a "typical" data center workload.
[0035] While selecting a degree of margin or excess cooling capacity may be desirable, liquid cooling systems consume power to operate, for example, to pump coolant through various cooling system components. As such, providing "too much" excess cooling to a server (or group of servers) may not result in optimal overall efficiency for the installation. Therefore, some embodiments of the system control logic provide a means for matching the cooling capacity provided by a given cooling system to the actual amount of heat being dissipated by each component, server, and / or rack in the data center. Such matching of cooling capacity can improve the overall efficiency of the server facility compared to a server facility that relies on a cooling system that provides "too much" excess cooling.
[0036] In some embodiments, the system control logic can adapt the cooling capacity of a cooling system to the server equipment. Such adapting can involve, for example, reducing the amount of cooling provided by the cooling system to match the lower heat dissipation of the servers (or components or racks) during times of IO-intensive operation. According to another aspect, adapting the cooling capacity can involve matching the number of servers cooled by a given cooling system to the overall cooling capacity of that cooling system. According to yet another aspect, adapting the cooling capacity can involve adjusting one or more coolant temperatures, coolant flow rates, and / or other cooling system parameters to adjust the rate of cooling provided by the cooling system to one or more selected heat-dissipating components.
[0037] In embodiments, system control logic for a liquid cooling system can adapt the operation of one or more cooling nodes to the workload of a corresponding group of electronic components, a group of servers incorporating or associated with such components, and / or a group of racks incorporating or associated with such servers. For example, a liquid cooling system can control the flow of coolant throughout the cooling system, through one or more selected branches of a coolant circuit, and / or through one or more selected cooling nodes of the cooling system. In some embodiments, a controller can coordinate the operation of one or more pumps, one or more valves, or a combination of one or more pumps and one or more valves to adapt the cooling capacity of a selected cooling node to correspond to the heat dissipated by the components, servers, and / or racks cooled by the cooling node. Each system control logic (sometimes referred to as a “controller”) associated with a cooling system for a given rack of servers (or even multiple racks of servers) in a large data center with many racks of servers may require a finite amount of attention from a technician. This allows a finite number of cooling systems with such control logic to be installed before requiring attention from a second technician, and so on.
[0038] As a result, conventional system control logic architectures, for example, limit the available resources of engineers to devote to monitoring and directing the operation of the system control logic. This may limit the ability to scale the cooling (or other) system's capabilities to larger installations based on time and care. This general drawback of prior system control logic applies, possibly to varying degrees from embodiment to embodiment, whether the system control logic is embodied in a general-purpose computing environment, a programmable microcontroller, an ASIC (or other).
[0039] Nonetheless, a control logic architecture that provides supervisory control logic configured to monitor and direct (or redirect) the operation of system control logic can alleviate resource bottlenecks resulting from limited technician availability. For example, certain monitoring and operational tasks can be offloaded from technicians to the supervisory control logic to further automate the control and operation of a given device or system (e.g., the exemplary cooling system briefly described above).
[0040] More particularly, but not exclusively, the auxiliary microcontroller (also referred to herein as "supervisory control logic") can revive a main controller (also referred to herein as "system control logic") that is unbootable or otherwise inoperable due to corrupted data in its memory. Alternatively, the auxiliary microcontroller can reconfigure the main controller to reflect, for example, changes in the data center configuration (e.g., installation or removal of one or more servers from a rack, installation or removal of one or more racks from a plurality of racks, rearrangement of racks within the data center, rearrangement of servers within a rack, revised operating and / or cooling specifications, etc.).
[0041] By way of example only, the system control logic may be embodied in a specially programmed general-purpose computing environment, as described more fully below. For example, one such specially programmed general-purpose computing environment is commercially available under the name Raspberry Pi, although those skilled in the art will understand and appreciate from this description that the system control logic may be embodied in a variety of other forms without departing from the presently disclosed principles. Examples of alternative embodiments of the system control logic include a microcontroller, a single-board computer, a field-programmable gate array (FPGA), or a microcontroller, as described more fully below. , as well as other combinations of software, firmware, and hardware.
[0042] The supervisory control logic may be embodied as an “intermediate” component (e.g., software, firmware, or hardware) that serves as a “transparent” external interface to the main controller, for example, until a measure of the main controller’s health drops beyond a threshold, or until a software or firmware update to the main controller is necessary or appropriate given current circumstances. The supervisory control logic may assume a measure of control over the system control logic under predetermined conditions. For example, the supervisory control logic may reboot the system control logic. In some embodiments, the supervisory control logic may further cause the system control logic to reboot using a specified boot sequence and enter a selected boot mode. For example, the supervisory control logic may cause the system control logic to boot from a secondary file source (e.g., from the system control logic’s backup memory or redundant memory store, or even from the supervisory control logic’s memory store). In such embodiments, the supervisory control logic may further cause the system control logic to download updated system files, install an updated operating system, reinstall an uncorrupted version of the current operating system, or otherwise update or refresh its operation. In one embodiment, the supervisory control logic can be configured to operate without requiring intervention by a technician or even physical removal of the memory or control logic from its physical enclosure. The system control logic may be able to reflash its memory store (e.g., an EEPROM or flash memory on an otherwise removable SD card) without requiring the system control logic to physically remove the memory store. The installed or reflashed software may be available from any available data store, such as, for example, the system control logic's redundant memory store, the supervisory control logic's memory store, or a network-attached memory store. Such supervisory control logic may automatically repair data corruption errors in the system control logic (or otherwise update or revise the system control logic's software) without having to physically remove the system control logic's memory store (e.g., flash memory such as an SD card). Similarly, such supervisory control logic may provide a communications connection to the system control logic that may enable a technician to repair data corruption errors in the system control logic (or otherwise update or modify the system control logic's software) without requiring the system control logic or its memory store to be physically removed. As a result, the system control logic can be updated with new or replacement software or firmware outside of the facility, e.g., outside of the server rack, without having to otherwise disable the underlying system (e.g., the underlying cooling system) to service the system control logic.
[0043] The principles disclosed herein overcome many problems in the prior art and address one or more of the above-mentioned or other needs. Further details of the disclosed principles are described below. Section II describes principles relating to a general architecture of supervisory control logic configured to monitor and direct the operation of system control logic. Section III describes embodiments of a cooling system having monitored control logic as described herein. Section IV describes principles relating to general-purpose and special-purpose computing environments suitable for implementing the disclosed techniques. Additionally, Section V describes other embodiments of the disclosed techniques.
[0044] Other related principles are also disclosed. For example, the disclosed logic may be embodied in a machine-readable medium that includes instructions that, when executed, cause a processing unit, e.g., a processing unit of a computing environment, to perform one or more disclosed method acts. Such instructions may be embedded in software, firmware, or hardware, or in other embodiments, may be distributed among software, firmware, and hardware components. Additionally, the disclosed methods and techniques may be implemented in various forms of processors or controllers, such as in software, firmware, and hardware (and combinations thereof).
[0045] II. Architecture for Supervised Control Logic Referring now to FIG. 1, an architecture embodiment of the monitored control logic is described. As shown in FIG. 1, the monitored control logic 100 may include system control logic 110 and supervisory control logic 120 operatively coupled to each other. For example, one or more communication connections 130, 140 may communicatively couple the system control logic 110 to the supervisory control logic 120, allowing the system control logic and the supervisory control logic to communicate bidirectionally with each other. The communication connections 130, 140 may provide one or more communication channels 131, 132, each of which may provide bidirectional or unidirectional communication (as illustrated by the channels shown in FIG. 1). For communication connections that provide only unidirectional channels, bidirectional communication between the system control logic and the supervisory control logic may be achieved by providing two or more channels, as in FIG. 1, with at least one channel 131 providing unidirectional communication from the system control logic to the supervisory control logic and at least one channel 132 providing unidirectional communication from the supervisory control logic to the system control logic.
[0046] Supervisory control logic 120 can monitor the operation of system control logic 110 via a communications connection. For example, a signal output by system control logic 110 and received by supervisory control logic 120 can indicate the presence of the system control logic, which can, in effect, cause the supervisory control logic to enter a monitoring state, e.g., monitor an input from the system control logic that indicates that the system control logic is operating normally. For example, system control logic 110 can output a strobe signal, e.g., a “watchdog timer,” via communications channel 131. If the frequency of the strobe changes or the watchdog timer does not reset when expected (e.g., “times out”), supervisory control logic 120 can interpret such a change or failure to reset (or other signal indication) as a fault in the operation of the system control logic. Of course, other signals can indicate other operational or health status measures for the system control logic, as will be appreciated and understood by those skilled in the art after reviewing this disclosure.
[0047] When supervisory control logic 120 detects a failure or other selected operating condition of system control logic 110, the supervisory control logic can issue a command to system control logic via communication connection 140. System control logic 110 can receive, process, and respond to commands issued by supervisory control logic 120. For example, system control logic 110 can reboot, reset to factory settings, or enter a selected boot mode. According to an embodiment, system control logic 110 can boot from one or more alternate boot sources (e.g., different from the main memory store containing the primary boot software or other operating system software).
[0048] For example, supervisory control logic 120 can issue a command signal that causes system control logic 110 to boot from secondary memory store 112, a network-connected memory store (not shown), or even from supervisory control logic 120's memory store 122. When system control logic 110 boots from an alternate boot source, the system control logic may still maintain a communication connection with its primary memory 114, for example, via an internal bus, which can allow the system control logic to overwrite the primary memory. For example, the alternate boot source may include a memory partition having a stored (e.g., backup or updated) image of the operating system for the system control logic. Supervisory control logic 120 can issue a command to the rebooted system control logic 110 to copy the stored image of the operating system into the system control logic's primary memory 114. Once that process is complete and the image is verified, supervisory control logic 120 can issue a command to system control logic 110 to restart and boot from its primary memory 114. Once the system control logic 110 is booted and running, the supervisory control logic 120 can re-enter the monitoring mode of operation.
[0049] In a monitoring mode of operation, supervisory control logic 120 may output signals corresponding to the operating status of system control logic 110. For example, while the watchdog continues to reset in a timely manner, supervisory control logic 120 may output signals (e.g., via external communication connection 126) indicating that the system control logic appears to be operating normally.
[0050] Additionally, supervisory control logic 120 may receive data or other signals from system control logic 110 (e.g., via channel 131). The system control logic 110 may process the data or other signals, or pass the signals, with or without processing, to an external communication connection 126 to another computing environment (e.g., to a monitoring station to be observed by a technician). In another embodiment, the supervisory control logic 120 may process the data signals (e.g., received over channel 131) and output a processed version of the data signals over the external communication connection 126. Additionally or alternatively, the system control logic 110 may have an external communication connection (not shown) for communicating such data or other signals from the system control logic 110 to another computing environment. Furthermore, the supervisory control logic 120 may receive input from an external source (e.g., a user interface, another computing environment, a sensor, etc.) over the external communication connection 126.
[0051] The supervisory control logic 120 can process the external input and determine whether or to what extent to issue corresponding commands to the system control logic 110. For example, a technician may want to push a software update to the system control logic 110 while the system control logic remains operational. In such a case, the supervisory control logic 120 can receive a command from another boot source indicating that the system control logic 110 needs to be interrupted and rebooted. After the system control logic 110 boots from the secondary boot source, the supervisory control logic 120 can issue a command to the system control logic to write the updated software to the system control logic's primary memory 114 (e.g., partially by providing the updated software or by directing the system control logic to another data source that can receive the updated software).
[0052] 1, system control logic 110 includes a processing unit (CPU) 111 coupled to memory 114 and a bidirectional communication connection 130 or interface with supervisory control logic 120. A bus (not shown) provides communication between the CPU, memory 114, and communication connection 130 or interface. Memory 114 can store instructions that, when executed by processing unit 111, cause the system control logic to perform method acts as described herein.
[0053] Similarly, supervisory control logic 120 includes a processing unit (CPU) 121 coupled to a memory 124 and a bidirectional communication connection 140 or interface. A bus (not shown) provides communication between CPU 121, memory 124, and communication connection 140 or interface.
[0054] 1, the architecture is depicted as having two communicatively coupled, but separate, logic structures, e.g., system control logic 110 and supervisory control logic 120. In practice, system control logic 110 and supervisory control logic 120 may be embodied in or on physically separate devices or components, or they may be embodied in software or firmware that has a different physical division among the processing, memory, and communication resources shown in FIG. 1. Nevertheless, the logical relationships between those resources may remain substantially as shown in FIG. 1.
[0055] In a practical embodiment, system control logic 110 is implemented using a commercially available general-purpose computing environment provided under the trademark Raspberry Pi, and dedicated software stored in primary memory 1112, when operated, causes the general-purpose computing environment to control one or more functions of a liquid cooling system for a rack of servers. As noted above, such a liquid cooling system is described in U.S. Patent No. 9,496,200, and examples of such functions are found in U.S. Patent No. 9,052,252, as well as in pending U.S. patent application Ser. No. 2004 / 0109994. Nos. 16 / 158,227 and 17 / 582,987 to Wang, et al.
[0056] Figure 2 shows a simplified schematic diagram of such an embodiment. In Figure 2, system control logic 210 is distributed between a first microcontroller (MCU#1) 201 and a general-purpose computing environment (PI) 211, which are communicatively coupled to each other via multiple communication connections 215. While a particular communication protocol (e.g., UART, SPI) and a particular connector configuration (e.g., RS232) are shown in Figure 2, those skilled in the art will understand and appreciate that other communication protocols (e.g., USB, among various other protocols) and connector configurations are possible without departing from the principles of the disclosure. Figure 2 also shows supervisory control logic (MCU#2) 220, which is communicatively coupled to system control logic 210 using a UART connection 232. Similar to the architecture shown in FIG. 1 , supervisory control logic (MCU#2) 220 can monitor the activity of control logic 210 using, for example, a watchdog timer (WDT_strobe) or other strobe signal communicated over channel 231 and can otherwise communicate with the control logic over one or more other communication connections 232, 233. Additionally, the embodiment shown in FIG. 2 includes a physical external communication connector (RS232) 240 that can provide system 200 with a communication connection to an external device or system (not shown). For example, communication connection (UART) 234 extends between connector 240 and supervisory control logic (MCU#2) 220. Nevertheless, those skilled in the art will understand and appreciate that physical connection 240 need not be limited to an RS232 connector, but can be any suitable connector, whether standardized or proprietary.
[0057] Similarly, another communication connection (UART) 232 extends between supervisory control logic (MCU#2) 220 and system control logic 210. During normal operation, supervisory control logic 220 can receive incoming communication signals from an external connection (RS232) 240 and can output corresponding communication signals to system control logic 210 via connection 232. The output communication signals can be the same as the incoming communication signals, or can be different signals that correspond to the incoming signals but that have been processed by supervisory control logic (MCU#2) 220.
[0058] 2, one or more communication connections are provided between system control logic 210 and supervisory control logic 220. By way of example only, a USB communication connection (not shown) may be provided between system control logic 210 and supervisory control logic 220. In another embodiment, supervisory control logic 220 is provided with the illustrated connection 232 (UART, SPI, USB) as well as another (e.g., different) communication connection. Supervisory control logic 220 with an alternative communication connection may provide additional flexibility to the integrator, for example, when selecting an appropriate system control logic 210 that may be configured with a suitable communication connection.
[0059] Additionally, supervisory control logic 220 may be operatively coupled to a relay or other switching device 235 to open or close a power connection 236 to system control logic 210. In FIG. 2 , connection 237 extends along 5 volt power connection 236 between supervisory control logic 220 and relay 235. While relay 235 is shown, any suitable switching device controllable by supervisory control logic 220 may be used to cause system control logic 210 to power down and restart. In the illustrated embodiment 200, an input signal to supervisory control logic 220, such as received from system control logic 210 or from an external device (e.g., connector 240), may cause supervisory control logic 220 to open or close power connection 236.
[0060] FIG. 2A illustrates an alternative embodiment to that shown in FIG. 2. In FIG. 2A, most features of embodiment 200′ are equivalent to those shown in embodiment 200 illustrated in FIG. 2. Alternative embodiment 200′ adds an operable coupling 237″ between first microcontroller 201 and relay 235′ and maintains an operable coupling 237′ between second microcontroller 220 and relay 235′. As noted above, while relay 235′ is shown in FIG. 2A, any suitable switching device controllable by supervisory control logic 220 or first microcontroller 201 may be used to cause system control logic 210 to power down and restart, such as by interrupting power connection 236.
[0061] In a practical embodiment, supervisory control logic 220 is implemented using a commercially available microcontroller offered by STMicro under part number STM32F401RBT6TR. U.S. Provisional Patent Application Nos. 63 / 163,661 and 63 / 174,074 are attached with additional electrical schematic diagrams of supervisory control logic for a liquid cooling system for a server-mounted rack. The schematic diagrams illustrate various functions, operations, and connections not described in detail herein, but which will be readily ascertained by one of ordinary skill in the art from a review of this disclosure and the schematic diagrams. These attached schematic diagrams illustrate the control logic architecture as generally shown in FIGS. 1 and 2 and described herein.
[0062] The communication connections and interfaces described herein may be provided by electrical connections between packaged components (e.g., copper or other conductive traces in a printed circuit board) or by hardwiring the components together. Alternatively, the communication connection interfaces may use commonly available electrical connectors (e.g., RJ45 connectors, RS232 connectors) or proprietary electrical connectors, and commonly available communication protocols (e.g., UART, SPI, USB) or proprietary or less well-known protocols. Wireless communication connections and interfaces are also possible, for example, using common communication protocols such as WiFi or Bluetooth, or by using proprietary wireless communication protocols. While some example communication connections are shown as using physical communication connectors (e.g., RS232, RJ45 connectors), those skilled in the art will understand and appreciate that such communication connections and their corresponding physical connectors may be replaced by wireless communication interfaces (including wireless transmitters, receivers, or transceivers, and corresponding signal processing units).
[0063] The disclosed control unit may be embodied in software, firmware, or hardware (e.g., ASIC). The control unit processor may be an application specific integrated circuit (ASIC), a general-purpose microprocessor, or any combination thereof. The hardware may be a dedicated processor such as a processor, a field programmable gate array (FPGA), a digital signal controller, or a set of hardware logic structures (e.g., filters, arithmetic logic units, and dedicated state machines), and may be implemented in a general computing environment as described herein.
[0064] III. REFRIGERATION SYSTEM EMBODIMENTS WITH CONTROL LOGIC Exemplary embodiments of cooling systems that may incorporate or be controlled by the disclosed control logic are now described. The following embodiments and other embodiments are described in U.S. Patent Nos. 9,496,200, 9,052,252, 10,364,809, and 10,365,667, as well as U.S. Patent Application Publication No. 2015 / 0083368, co-pending U.S. Patent Application No. 10 / 109,236, and U.S. Patent Application No. 2015 / 0083368. No. 6 / 158,227, and one or more of co-pending U.S. patent applications Ser. No. 17 / 582,987.
[0065] As an example, Figure 3 illustrates an array 50 of independently operable servers 12a, 12b...12n mounted in a rack or chassis along with an embodiment of a modular heat transfer system for cooling the servers. In Figure 3, each server 12a-12n includes one or more corresponding electronic components that dissipate heat during operation. The heat transfer (e.g., cooling) system may use a liquid coolant to collect heat from each heat source and transport the heat to an appropriate heat sink, such as a radiator that rejects the heat from the coolant to the facility's liquid, atmosphere, and / or conditioned room air containing the server racks.
[0066] 3 also illustrates a rack-level coolant distribution unit 10. A coolant distribution unit may be referred to as a "coolant heat exchange unit" if it incorporates a heat exchanger to reject heat from the coolant passing through the coolant distribution unit. In the embodiment illustrated in FIG. 3, the coolant distribution unit 10 may have at least one pump and may also incorporate a reservoir and other components, regardless of whether the coolant distribution unit incorporates a heat exchanger.
[0067] In the embodiment shown in Figure 3, the coolant distribution unit 10 incorporates a heat exchanger. When a heat exchanger is contained within the boundaries of the coolant distribution unit 10, as in Figure 3, the coolant distribution unit 10 can receive warm coolant carrying heat from the servers 12a-12n and facilitate the transfer of that heat from the warm coolant to another medium. The coolant distribution unit 10 can return cooled coolant to the servers to collect additional heat from the servers.
[0068] In other embodiments, the coolant distribution unit receives chilled coolant from a heat exchanger outside the boundaries of the coolant distribution unit or delivers warm coolant to an external (e.g., outside the boundaries of the coolant distribution unit) heat exchanger (not shown). The external heat exchanger cools the coolant before it is distributed among and through the servers 12a-12n.
[0069] A modular cooling system such as that shown in Figures 3 and 4 can provide at least one cooling node for each server. As used herein, the term "node" means an identifiable component (or group of identifiable components) within the system, and the term "cooling node" means an identifiable component (or group of identifiable components) that absorbs heat from (e.g., cools) an external heat source.
[0070] For example, in the context of a modular heat transfer system for cooling a rack containing 42 individual servers, the cooling system 50 may have a cooling node 11 for each server. Stated another way, the cooling system may have 42 server cooling nodes 11, each corresponding to one of the 42 servers in the rack. For example, the portion of the modular cooling system shown in Figures 3 and 4 provides a server cooling node 11 for each server 12a-12n.
[0071] Similarly, in the context of a system for cooling multiple racks of servers, the modular cooling system may provide a rack cooling node for each rack of servers. For example, in Figure 1, the rack cooling node encompasses all 42 server cooling nodes 11.
[0072] Similarly, a given server cooling node (or two or more of them, or all of them) can incorporate one or more component cooling nodes. For example, if a given server has two electronic components (e.g., two processors) to be cooled by that server's server cooling nodes, that server's server cooling nodes can provide one component cooling node for each electronic component to be cooled. As shown in FIG. 4, the server cooling node 11 provides a first component cooling node 20a and a second component cooling node 20b. The first component cooling node 20a is thermally coupled to the first processor and transfers heat from the first processor to a liquid coolant passing through the first component cooling node 20a. Similarly, the second component cooling node 20b is thermally coupled to the second processor and transfers heat from the second processor to a liquid coolant passing through the second component cooling node 20b. Representative component cooling nodes are described in further detail in U.S. Pat. Nos. 8,746,330 and 9,453,691. The component cooling nodes may be passive, as in the '330 patent, or active, as in the '691 patent, and may include, for example, a pump.
[0073] FIG. 4 also shows a portion of a coolant loop or circuit that transports coolant to and from the server cooling node 11 and to and from each component cooling node 20a, 20b. For example, the coolant distribution unit 10 transports cold coolant to a distribution manifold and receives warmed coolant from a collection manifold. The coolant loop shown in FIGS. 3 and 4 provides a fluid circuit branch for each server 12a-12n. Each fluid circuit branch receives cold coolant from the distribution manifold and transports the cold coolant to the server cooling node 11, where it absorbs heat. Additionally, each fluid circuit branch transports warm coolant exiting the server cooling node 11 to a collection manifold, which returns warmed coolant to the coolant distribution unit 10. In the system shown in FIGS. 3 and 4, the fluid circuit branch of each server cooling node is fluidly coupled in parallel with the fluid circuit branch of each of the other server cooling nodes.
[0074] However, within the fluid circuit branch shown in Figure 4, the component cooling nodes 20a, 20b are fluidly coupled to each other in series. For example, in Figure 4, the component cooling node 20a receives cold coolant arriving from the coolant distribution manifold and heats the coolant with heat dissipated by the first processor. After exiting the first component cooling node 20a, the coolant heated by the first processor enters the second component cooling node 20b, where the coolant is further heated by the second processor before returning to the coolant distribution unit 10 by the collection manifold. Although not shown in Figure 4, the component cooling nodes 20a, 20b can be fluidly coupled to each other in parallel, with each component cooling node receiving coolant from a corresponding further branch of the coolant circuit.
[0075] The cooling capacity of a given cooling node depends on many parameters. However, in a general sense, the available cooling capacity corresponds to the temperature of the coolant entering the cooling node, the allowable rise in coolant temperature as the coolant passes through the cooling node, and the flow rate of the coolant through the cooling node. All else being equal, a cooling node with a higher mass flow rate of coolant passing through it has a higher cooling capacity than a cooling node with a lower mass flow rate of coolant passing through it. Thus, if the amount of heat dissipated by the heat source decreases and the mass flow rate of coolant through the cooling node remains unchanged, a cooling node that adequately cools a heat source (e.g., an electronic component, a server, or a rack of servers) dissipating an upper threshold amount of heat will provide excess cooling to the heat source.
[0076] In other words, as the amount of heat dissipated by a heat source decreases, the corresponding cooling The mass flow rate of coolant through a node can be reduced. As a result of reducing the flow rate through a cooling node, the pressure (or head) loss due to friction through the portion of the coolant loop corresponding to the cooling node is also reduced. With such a reduction in head loss, the pressure head source (e.g., a pump) driving the coolant through that cooling node can reduce its work on the coolant and thereby operate at reduced power. For example, if the mass flow rate of coolant through a portion of the coolant circuit can be reduced, a smaller pressure head may be required to force the coolant throughout the entire coolant loop, thus reducing pump speed and, in turn, the amount of energy consumed by the cooling system. For a given amount of heat dissipated by a heat source, a reduction in the mass flow rate of coolant through a cooling node results in a correspondingly higher coolant return temperature. For example, for a given amount of heat absorbed by a coolant (e.g., water, water-glycol mixture) assumed to be incompressible, the increase in coolant temperature over the area of heat transfer is linearly proportional to the coolant flow rate through that area. In addition to saving energy consumed by moving coolant through the cooling node, the relatively higher coolant return temperature improves the quality of the waste heat and increases the ability to recover the waste heat for useful purposes. As examples, recovered waste heat can be used to heat domestic hot water, to heat a working fluid (e.g., water) in a hydronic heating system, and / or to perform useful work (e.g., in an electricity generation or power conversion device).
[0077] According to aspects of the disclosure, a control system as described herein can receive real-time information related to the amount of heat dissipated by a heat source as well as real-time information related to the cooling capacity provided by a cooling node corresponding to the heat source. In response to the received real-time information, the control system can, for example, adjust the mass flow rate of coolant through the cooling node to match the cooling capacity of the cooling node to the amount of heat dissipated by the heat source. Similarly, the control system can adjust the mass flow rate of coolant through the cooling node to improve the quality of the waste heat for useful purposes.
[0078] In embodiments, the control system may reduce the pump speed or partially close the valve, or both, to reduce the flow rate of coolant through a given cooling node (such as when heat dissipation by the heat source decreases). Similarly, the control system may increase the pump speed or partially (or fully) open the valve, or both, to increase the flow rate of coolant through the cooling node (such as when heat dissipation by the heat source increases).
[0079] In accordance with another aspect of a cooling system suitable for being controlled by monitored control logic as described herein, FIG. 5 schematically illustrates a cooling system suitable for cooling an array of rack-mounted servers 350, similar to server-loaded rack 50 of FIGS. 3 and 4. In FIG. 5, fluid conditioning unit 300 is configured similarly to fluid conditioning unit 10 of FIG. 3. Conditioning unit 300 includes reservoir 310 and multiple distribution pumps 320-1 through 320-n. Coolant collected from server-loaded rack 350 (e.g., by collection manifold 354) can enter reservoir 310 and be pumped by distribution pumps 320-1 through 320-n to environmental couplers (e.g., heat exchangers 330). In the environmental couplers, heat carried by the coolant can be transferred to another medium (e.g., facility water cooled by environmental heat exchanger 360) to cool the coolant flowing through the environmental coupler. The cooled coolant may then be returned to the server-mounted rack 350 (eg, distributed among multiple servers within the rack by a distribution manifold 352).
[0080] In Figure 5, fluid regulation unit 300 includes control logic 340, which may be similar to the control logic described in connection with Figures 1 and 2, for example. The control logic may receive information from one or more sensors operatively coupled to any of the components, devices, structures, mechanisms, racks, servers, heat transfer systems, processing units, computing environments, actuators, etc. described herein. The control logic may process the received information and, in response to the output of such processing, issue one or more signals, commands, etc. The components, devices, structures, mechanisms, racks, servers, heat transfer systems, processing units, computing environments, actuators, etc. described herein may receive the issued signals or commands. Such components, devices, structures, mechanisms, racks, servers, heat transfer systems, processing units, computing environments, actuators, etc. described herein may respond to received signals or commands issued by the control logic. The control logic may be implemented in a general-purpose computing environment, in an application-specific integrated circuit, or in a combination of hardware and software (e.g., firmware).
[0081] As an example, a coolant distributor (sometimes referred to as a fluid conditioning unit) may have various temperature, flow, and / or pressure sensors positioned to monitor temperature, flow, and pressure (e.g., static and / or stagnant) at one or more selected locations within the fluid circuit (open or closed). A controller may adjust the operation of one or more coolant (e.g., pumps, valves) and / or heat transfer components (e.g., logic or other components of the computing environment) to achieve desired flow and / or cooling characteristics.
[0082] As just one example, if the static pressure difference between the inlet to and outlet from a selected fluid circuit (or branch thereof) exceeds a selected upper threshold pressure, one or more pumps can be throttled, such as by slowing down their impeller speed, thereby reducing the static pressure difference between the inlet and outlet. Alternatively, if the static pressure difference between the inlet and outlet falls below a selected lower pressure difference, one or more pumps can be operated at a higher impeller speed and / or one or more additional pumps can be "brought on-line" to supplement or augment the available pressure head and flow rate delivery.
[0083] As another example, measurements of observable situation variables (e.g., temperature, static pressure, mass, density) combined with selected properties of a given fluid (e.g., specific heat, heat capacity, compressibility, gas constant, situation equation), and / or known measurements of observable system performance characteristics (e.g., power dissipation from a heat source), the health and robustness of system sensors can be evaluated by control logic or the like and communicated to a system user or administrator. For example, some disclosed systems, controllers, and methods can calculate values of situation variables at one or more selected locations in a selected fluid circuit (or branch thereof) and compare the calculated values to observed values detected from a given sensor.
[0084] If the absolute value of the difference between the calculated and observed values exceeds a selected threshold difference, the innovative control logic, system, controller, or method implemented in the control logic may determine that a fault has occurred and may take corrective action, such as by setting a flag, sending an email, and / or activating an alarm to alert a user of the determined fault. Such a fault may indicate a failed or failing sensor, a leak, an over-temperature condition, a failed pump, an under-speed pump, an over-speed pump, a failed or failing controller (e.g., a pump controller).
[0085] The disclosed systems, controllers, control logic, and methods also provide for automatic control of external fill systems. For example, the disclosed coolant distributor may be configured to operate with an external pump (e.g., an external fill kit). The coolant distribution unit may have a relay or other control output to correspondingly activate a pump associated with the coolant distributor (e.g., a pump associated with the coolant distributor). The relay or other control output may be activated in response to observed and / or calculated conditions in the coolant circuit (or its branches). For example, a bleed valve may open to allow escape of compressible gas from a conduit when the conduit fills with cooling fluid (e.g., a substantially incompressible liquid). A fluid sensor or leak detector may determine that a conduit is full, such as when a selected amount of fluid is detected in or outside the conduit. In response to such detection, the relay or other control output may cause an external pump to slow down or stop operation, accelerate or increase operation, open or close selected valves, and / or cause an internal pump to slow down, stop, accelerate, or increase operation to achieve a desired result.
[0086] In yet another example, a pressure relief valve or check valve can open to allow fluid to bypass a selected fluid circuit or branch thereof in response to a selected measure of fluid condition exceeding or falling below a selected threshold. For example, a valve can open to allow fluid to bypass a closed fluid conduit to prevent the pump from "dead heading" (e.g., operating without fluid flow through the pump), which can cause the pump to overheat and ultimately fail or otherwise be damaged.
[0087] Control logic 340 (or any other control logic described herein) may include, for example, instructions stored in a memory and a processing unit configured to execute the instructions. Control logic 340 may be communicatively coupled to pump 320. Control logic 340 may be configured, for example, to start and stop pump 1420. Control logic 340 may receive information from any of pumps 320-1 through 320-n or from sensors that monitor operating parameters related to the pumps. Such sensors may include, among other things, a temperature sensor positioned relative to the fluid to provide a signal corresponding to the temperature of the fluid or the temperature of a surface within the conduit; a pressure sensor positioned to provide a signal corresponding to the relative pressure difference between the static pressure within the liquid and a selected reference pressure; a speed sensor (e.g., a tachometer) configured to provide a signal corresponding to the rotational speed of the pump; a float sensor or other sensor configured to provide a signal corresponding to the coolant level within the reservoir; and a humidity sensor configured to provide a signal corresponding to one or more of absolute humidity, relative humidity, wet-bulb temperature, and dry-bulb temperature. Generally, such sensors are capable of observing a thermodynamic quantity or an operating parameter indicative of a thermodynamic quantity.
[0088] The control logic 340 may be communicatively coupled to the operational block 1430. The control logic 340 may receive information from one or more sensors within the operational block 330. For example, the received information may include temperature, pressure, flow rate, or liquid level at one or more points within the block, or any other thermodynamic quantity related to the flow or state of a component within the conditioning unit 300, the pump 360, or another component.
[0089] The control logic 340 may be communicatively coupled to the various components of the fluid regulation unit 300 via wired connections, wireless connections, or both. The communication bus may be configured to transmit control signals and sensor information to and from the processing unit and / or memory of the control logic. Such signals may include wired and wireless signals, such as radio frequency (RF), infrared (IR), microwave, and photon signals. The signal may include any type of signal suitable for conveying information, including a digital signal.
[0090] The control logic 340 may also be communicatively coupled to a valve (not shown) positioned between the outlet of the pump 320 and the inlet 314 to the reservoir. , a signal may be communicated to the valve causing it to open in order to release gas from within the system.
[0091] IV. Computing Environment FIG. 6 illustrates a generalized example of a suitable computing environment 400 in which the described methods, embodiments, techniques, and technologies, for example, related to maintaining the temperature of logic components and / or power supply units below a threshold temperature, may be implemented. The computing environment 400 is not intended to suggest any limitation as to the scope of use or functionality of the technologies disclosed herein, and the technologies may be implemented in a variety of general-purpose or special-purpose computing environments. For example, the disclosed technologies may be implemented in other computer system configurations, multiprocessor systems, microprocessor-based or programmable consumer electronics, embedded platforms, network computers, minicomputers, mainframe computers, smartphones, tablet computers, data centers, audio equipment, etc. The disclosed technologies may also be practiced in distributed computing environments where tasks are performed by remote processing devices linked through a communications connection or network. In a distributed computing environment, program modules may be located in both local and remote memory storage devices.
[0092] The computing environment 400 includes at least one central processing unit 410 and memory 420. In Figure 6, this most basic configuration 430 is included within the dashed line. The central processing unit 410 executes computer-executable instructions and may be a real or virtual processor. In a multiprocessing system or multi-core central processing unit, multiple processing units execute computer-executable instructions (e.g., threads) to increase processing speed; thus, even though the processing unit 410 is represented by a single functional block, multiple processors can operate simultaneously. A processing unit may include an application-specific integrated circuit (ASIC), a general-purpose microprocessor, a field-programmable gate array (FPGA), a digital signal controller, or a set of hardware logic structures configured to process instructions.
[0093] The memory 420 may be volatile memory (e.g., registers, cache, RAM), non-volatile memory (e.g., ROM, EEPROM, flash memory, etc.), or some combination of the two. The memory 420 stores software 480a that, when executed by the processor, can implement, for example, one or more of the techniques described herein.
[0094] A computing environment may have additional features. For example, computing environment 400 includes storage 440, one or more input devices 450, one or more output devices 460, and one or more communication connections 470. An interconnection mechanism (not shown), such as a bus, controller, or network, interconnects the components of computing environment 400. Typically, operating system software 480b provides an operating environment for other software executing in computing environment 400 and coordinates the activities of the components of computing environment 400.
[0095] Storage 440 may be removable or non-removable and may include any selected form of machine-readable media. Generally, machine-readable media include magnetic disks, magnetic tapes or cassettes, non-volatile solid-state memory, CD-ROMs, CD-RWs, DVDs, magnetic tape, optical data storage devices, and carrier waves, or any other media that can be used to store information and that can be accessed within computing environment 400. The storage 440 may store instructions for software 480 that may implement the techniques described herein, including other machine-readable media.
[0096] Storage 440 may also be distributed over a network so that software instructions are stored and executed in a distributed fashion. In other embodiments, some of these operations may be performed by specific hardware components containing hardwired logic. These operations may alternatively be performed by any combination of programmed data processing components and fixed hardwired circuitry components.
[0097] Input device 450 may be any one or more of a touch input device such as a keyboard, keypad, mouse, pen, touch screen, touchpad, or trackball, a microphone transducer, an audio input device such as voice recognition software and processor, a scanning device, or another device that provides input to computing environment 400. In the case of audio, input device 450 may include a microphone or other transducer (e.g., a sound card or similar device that accepts audio input in analog or digital form), or a computer-readable media reader that provides audio samples to computing environment 400.
[0098] Output device(s) 460 may be any one or more of a display, printer, speaker converter, DVD writer, or another device that provides output from computing environment 400 .
[0099] The communication connection(s) 470 enable communication to another computing entity over or through a communication medium (e.g., a connected network). The communication connection(s) may include transmitters and receivers suitable for communicating over a local area network (LAN), a wide area network (WAN) connection, or both. LAN and WAN connections can be facilitated by wired or wireless connections. When a LAN or WAN connection is wireless, the communication connection can include one or more antennas or antenna arrays. The communication medium carries information such as computer-executable instructions, compressed graphics information, processed signal information (including processed audio signals), or other data in a modulated data signal. Examples of communication media for so-called wired connections include fiber optic cable and copper wire. The communication medium for wireless communication can include electromagnetic radiation within one or more selected frequency bands.
[0100] Machine-readable media are any available media that can be accessed within computing environment 400. By way of example and not limitation, in computing environment 400, machine-readable media include memory 420, storage 440, communication media (not shown), and combinations of any of the above. Tangible machine-readable (or computer-readable) media excludes transitory signals.
[0101] As explained above, some disclosed principles can be embodied in a tangible, non-transitory, machine-readable medium (such as a microelectronic memory) having stored thereon instructions. The instructions can program one or more data processing components (collectively referred to herein as a "processor") to perform the above-described processing operations, including estimating, calculating, computing, measuring, adjusting, sensing, measuring, filtering, adding, subtracting, inverting, comparing, and making decisions (such as by a control unit). In other embodiments, some of these operations (of machine processes) can be performed by specific electronic hardware components, including hardwired logic (e.g., dedicated digital filter blocks). These operations can be performed by alternative Alternatively, the processing may be performed by any combination of programmed data processing components and fixed hardwired circuit components.
[0102] V. Other Embodiments The above-described embodiments relate generally to apparatus, methods, and related systems for automating the control of machines, devices, or systems.
[0103] Nevertheless, the foregoing description is provided to enable any person skilled in the art to make or use the principles of the present disclosure. Embodiments other than those specifically described above are contemplated based on the principles disclosed herein, together with any accompanying changes in the configuration of the respective apparatus or changes in the order of the method acts described herein, without departing from the spirit or scope of the present disclosure. Various modifications to the examples described herein will be readily apparent to those skilled in the art.
[0104] For example, the description of each control logic example above is provided in the context of a heating device or system or a cooling device or system. Nevertheless, the disclosed control logic is not so limited. Rather, the control logic principles and techniques disclosed herein can be used in conjunction with countless other devices or systems. For example, the disclosed control logic can monitor, operate, or improve the health of a controller that itself controls any device or system subject to control or automation, whether the device or system is designed or used for personal, business, industrial, terrestrial or extraterrestrial, transportation, manufacturing, or other purposes. Such devices and systems can include, by way of example and not limitation, thermal (heating or cooling) devices or systems such as those used in the examples above, haptic devices or systems such as those used in single-user or multi-user gaming systems (e.g., e-sports), lighting devices or systems such as those used in residential, agricultural, office, leisure, and / or industrial environments, audio devices or systems, robotic devices or systems, transportation devices or systems, fuel devices or systems, industrial cleaning or assembly devices or systems, or any of countless other devices or systems implemented for a variety of other purposes.
[0105] Directions and other relative references (e.g., above, below, top, bottom, left, right, rear, front, etc.) may be used to facilitate discussion of the figures and principles herein but are not intended to be limiting. For example, specific terms such as “top,” “bottom,” “upper,” “lower,” “horizontal,” “vertical,” “left,” and “right” may be used. Such terms are used, where applicable, to provide some clarity when dealing with relative relationships, particularly with respect to the illustrated embodiments. However, such terms are not intended to imply absolute relationships, positions, and / or orientations. For example, with respect to an object, the “top” surface can become the “bottom” surface simply by flipping the object over. Nevertheless, it is still the same surface, and the object remains the same. As used herein, “and / or” means “and” or “or,” as well as “and” and “or.” Additionally, all patent and non-patent literature cited herein is incorporated by reference in its entirety for all purposes.
[0106] Those skilled in the art will also appreciate that the exemplary embodiments disclosed herein may be adapted for various configurations and / or uses without departing from the principles of the present disclosure. The principles disclosed herein can be applied to provide a wide variety of monitored control logic structures, devices, and systems, and related methods and system automation control. For example, the principles described above in connection with any particular example may be combined with principles described in connection with other examples described herein. As such, various embodiments known or implied by those skilled in the art may be combined. All structural and functional equivalents, now or later known, to the features and method acts of the various embodiments described throughout this disclosure are intended to be encompassed by the principles described herein and the features and acts claimed herein. Accordingly, neither the claims nor this detailed description should be construed in a limiting sense, as one skilled in the art, following a review of this disclosure, will appreciate the wide variety of monitored control logic embodiments that can be devised using the various concepts described herein.
[0107] Furthermore, nothing disclosed herein is intended to be dedicated to the public, regardless of whether such disclosure is expressly recited in the claims. A feature of a claim is not to be construed under the provisions of 35 U.S.C. 112(f) unless the feature is expressly recited using the phrase "means for" or "step for."
[0108] The present disclosure, including the accompanying drawings and electrical schematics, is not intended to be limited to the embodiments shown herein but is to be accorded the full scope consistent with the principles they represent. Reference to features in the singular, such as by use of the article "a" or "an," is not intended to mean "one and only one," unless specifically so stated, but rather "one or more." Moreover, in view of the many possible embodiments to which the principles of the present disclosure may be applied, we reserve the right to claim any and all combinations of the features and techniques described herein as would be understood by one of ordinary skill in the art, including, for example, the right to claim all combinations literally and equivalently recited within the scope and spirit of the foregoing description in any claims presented at any time throughout the prosecution of this application or any application claiming benefit of or priority from this application, and more particularly, but not exclusively, in the claims appended hereto.
Claims
1. 1. A control system for a heat transfer system, the control system comprising: system control logic having a first processor, a first memory, and a first communication connection, the first memory storing first instructions that, when executed by the first processor, cause the control system to transmit an indication of the health of the system control logic over the first communication connection and to control operation of the heat transfer system; a second processor; a second memory; and a second communication connection configured to receive the health indicators from the first communication connection, the second memory storing second instructions that, when executed by the second processor, cause the supervisory control logic to determine a health status of the system control logic in response to the received health indicators.
2. 2. The control system of claim 1, wherein the second instructions, when executed by the second processor, further cause the supervisory control logic to terminate power to the system control logic in response to the determined health condition falling below a threshold health condition.
3. 2. The control system of claim 1, wherein the second instructions, when executed by the second processor, further cause the supervisory control logic to output a command signal from the second communication connection in response to the determined health status falling below a threshold health status, the first communication connection being configured to receive the command signal from the second communication connection, and the first instructions, when executed by the first processor, cause the system control logic to reboot, enter a selected boot mode, install system files, install operating files, reflash memory, or reflash firmware logic.
4. The control system of claim 1 , wherein the act of transmitting the indication of the health of the system control logic from the first communication connection comprises transmitting a strobe signal within a predetermined frequency range.
5. 5. The control system of claim 4, wherein the act of determining the health status of the system control logic in response to the received health indicator comprises evaluating whether the frequency of the strobe signal is within the predetermined frequency range or outside the predetermined frequency range.
6. The control system of claim 1 , wherein the first memory comprises a removable memory card.
7. 7. The control system of claim 6, wherein the second instructions, when executed by the second processor, further cause the supervisory control logic to output command signals from the second communication connection, the first communication connection being configured to receive the command signals from the second communication connection, and the first instructions, when executed by the first processor, cause the system control logic to read data from an external memory store and write the data from the external memory store to the first memory in response to the command signals.
8. The control system of claim 7 , wherein the act of writing the data from the external memory store to the first memory does not require removal of the removable memory card.
9. The second instructions, when executed by the second processor, further 2. The control system of claim 1, wherein logic outputs a command signal from the second communication connection in response to the determined health status falling below a threshold health status, the first communication connection is configured to receive the command signal from the second communication connection, and the system control logic is configured to reboot from a boot source external to the system control logic.
10. 10. The control system of claim 9, wherein the system control logic is further configured to overwrite a portion of the first memory with data received from a memory store external to the system control logic.
11. 11. The control system of claim 10, wherein the second instructions, when executed by the second processor, further cause the supervisory control logic to output a further command signal from the second communication connection, the system control logic being further configured to restart and boot from the first memory in response to the further command signal.
12. 1. A heat transfer system comprising: a pump for urging a liquid to flow through the heat transfer system; a valve for controlling the flow of the liquid through the heat transfer system; and a sensor configured to monitor a condition of the heat transfer system, the heat transfer system comprising: system control logic configured to selectively operate the pump, the valve, or both in response to output from the sensor, the system control logic further configured to output an indication of the health of the system control logic; supervisory control logic configured to receive the indicator of health from a first system control logic and determine a health status of the system control logic in response to the received indicator of health.
13. The heat transfer system of claim 12 , wherein the supervisory control logic is configured to terminate power to the system control logic in response to the determined health condition falling below a threshold health condition.
14. 13. The heat transfer device of claim 12, wherein the supervisory control logic is configured to issue a command to the system control logic in response to the determined health status falling below a threshold health status, and the system control logic is configured to reboot, enter a selected boot mode, install system files, install operating files, reflash memory, or reflash firmware logic in response to the command.
15. 13. The heat transfer system of claim 12, wherein the supervisory control logic is configured to issue a command to the system control logic in response to the determined health condition falling below a threshold health condition, the system control logic comprising a processor and a primary memory storing instructions that, when executed by the processor, cause the system control logic to selectively operate the pump, the valve, or both in response to the output from the sensor, and the system control logic is further configured to, in response to the command, read data from an external memory store and overwrite the primary memory with the data read from the external memory store.
16. 16. The heat transfer system of claim 15, wherein the primary memory is removable from the system control logic and the act of writing the data from the external memory store to the primary memory does not require removal of the primary memory from the system control logic.
17. 13. The heat transfer system of claim 12, wherein the supervisory control logic is configured to issue a command to the system control logic in response to the determined health condition falling below a threshold health condition, and the system control logic is configured to reboot from a boot source external to the system control logic in response to the command issued by the supervisory control logic.
18. 20. The heat transfer system of claim 17, wherein the system control logic comprises a processor and a primary memory storing instructions that, when executed by the processor, cause the system control logic to selectively operate the pump, the valve, or both, in response to the output from the sensor, and the system control logic is further configured to, in response to the command, overwrite a portion of the primary memory with data received from a memory store external to the system control logic.
19. 20. The heat transfer system of claim 18, wherein the system control logic is further configured to restart and boot from the primary memory after the data received from the external memory store is overwritten in the primary memory.
20. 20. The heat transfer system of claim 18, wherein the primary memory comprises a removable memory card, and wherein overwriting a portion of the primary memory with data received from a memory store external to the system control logic does not require removing the removable memory card from the system control logic.