Computers, such as personal computers (PCs), typically comprise one or more storage devices that are used to store computer programs and/or various data. For instance, it is common for PCs to comprise a hard drive, a floppy disk drive, and one or two compact disc (CD) drives.
Storage devices such as those noted above generate heat during operation. For example, the motors used to spin storage media during reading and writing create heat energy. Various other components within the computer also generate heat. One example is the processor (e.g., central processing unit (CPU)) that may generate so much heat that a heat sink may be required to dissipate some of that heat to prevent the processor from overheating.
Most computers comprise cooling systems that include one or more fans that are used to cool the various components within the computer. In order to reduce power consumption and noise, fan speed is dynamically regulated so that the fan only spins fast when the temperature of the processor or the ambient air within the computer exceeds predefined threshold temperatures. If, for example, the processor begins to overheat, the fan may be operated at an elevated speed until the processor temperature returns to an acceptable level.
Although computers typically monitor the temperature of the processor or ambient air within the computer and take appropriate steps to cool the computer when those temperatures become too high, computers typically do not specifically monitor the temperature of the storage devices or cool the computer in response to one or more storage devices becoming too hot. Because of that, the temperature of the storage devices may exceed the proper temperature operating range even if the temperature of the processor and/or the air in the computer are within acceptable levels. In the case of storage devices used to store data on removable media (e.g., floppy disk or compact disc) the storage devices are now typically stacked on top of each other in close proximity at the top of the computer box where the temperature within the computer is greatest. Even though the computer fan is intended to cool the storage devices, the forced airflow may not be enough to overcome the conditions in which the mass storage devices work. For instance, floppy and compact disc drives are often housed within cages that tend to insulate the devices from the flowing air.
Various negative results can occur when a storage device overheats. By way of example, data integrity problems may result from writing or reading errors that occur when a storage device overheats. Furthermore, data stored on the storage media of the device can be permanently lost. In some cases, permanent damage may be inflicted upon the device or the storage media that it manipulates. Even when such damage does not completely disable the device, that damage can reduce the longevity of the device.
In one embodiment, a system and a method for cooling a storage device pertain to determining the temperature of the storage device and adjusting computer operation so as to reduce the temperature of the storage device if that temperature is deemed to be too high.
In another embodiment, a system and a method for cooling a storage device pertain to periodically measuring the temperature of the storage device with a temperature sensor provided in or on the storage device, and periodically providing temperature data including the measured temperature and temperature operating parameters for the storage device to a basic input/output system (BIOS) so that the BIOS can control operation of the computer in an effort to cool the storage device.
The disclosed systems and methods can be better understood with reference to the following drawings. The components in the drawings are not necessarily to scale.
Disclosed herein are systems and methods for cooling a storage device, such as a hard drive, floppy disk, drive or a compact disc (CD) drive. In some embodiments, a computer monitors the temperature of a storage device using a temperature sensor provided in or on the storage device and regulates computer operation in a manner intended to reduce the temperature of the storage device if that temperature is higher than desired. Examples of such computer operation regulation include increasing cooling system fan speed, reducing processor clock speed, reducing processor voltage, and shutting the computer down.
Referring now to the drawings, in which like numerals identify corresponding parts throughout the several views,
The computer processor 200 can include a central processing unit (CPU) or an auxiliary processor among a group of processors associated with the computer 100. The memory 202 includes any one of or a combination of volatile memory elements (e.g., RAM) and nonvolatile memory elements (e.g., read only memory (ROM), flash memory, hard disk, etc.).
The cooling system 204 comprises at least one element that can be used to reduce the temperature of the computer's components. By way of example, the cooling system comprises at least one fan and any elements that are used to direct the flow of air into, throughout, and out from the computer housing 102. When a fan is provided, the fan typically is a variable-speed fan such that the airflow created by the fan can be adjusted.
The temperature sensor 206 is used to measure the temperature of the processor 200, the ambient air within the computer, or both. In the latter case, the temperature sensor 206 may actually comprise two or more individual sensor units that are positioned in appropriate locations within the computer. By way of example, the temperature sensor 206 comprises a thermal diode that indicates temperature by the amount of current that flows through the diode with a given input. Other types of temperature sensors can be used. For instance, the temperature sensor 206 can comprise one or more thermocouples. Although the temperature sensor 206 is normally provided, it is not necessary in all embodiments because, as is described below, the storage device 210 comprises its own temperature sensor.
The thermal management controller 208 comprises logic that is used to regulate the cooling system 204, either in response to data collected using the temperature sensor 206 or in response to another signal provided to the controller. In some embodiments, the thermal management controller 208 comprises an application-specific integrated circuit (ASIC) that includes a plurality of registers whose values affect the manner in which the controller operates the cooling system 204. As is described below, the values within the registers can be changed by the system basic input/output system (BIOS) such that the BIOS can control cooling within the computer 100.
Stored in memory 202 are various programs including a system BIOS 214, an operating system 216, and a device driver 218. The BIOS 214 is normally stored in ROM or flash memory and comprises the logic that maintains control over the low-level operation of the computer components (e.g., storage devices, cooling system, etc.) and any input/output (I/O) devices that are used with the computer (e.g., keyboard, mouse, monitor, etc.). As is discussed below, the BIOS 214 receives temperature data regarding the storage device 210 and, if necessary, modifies computer operation to lower the temperature of that device.
The operating system 216 comprises software that is typically stored in a mass storage device, such as a hard drive, and controls the execution of other software and provides scheduling, input-output control, file and data management, memory management, and communication control and related services. The device driver 218 comprises a program that communicates with the storage device 210 on behalf of the operating system 216 and controls operation of the storage device. In the embodiment of
With further reference to
The processor 224 controls operation of the storage device 210 in accordance with boot and operating code stored within memory 226 (e.g., ROM). In addition, the memory 226 comprises logic used to respond to commands or queries for temperature data pertaining to the storage device 210. The processor 200 is configured to receive storage commands from the host system (i.e., operating system 216) and control the delivery of blocks of data to designated storage device addresses of the storage media 228. That media may comprise one or more floppy disks or compact discs, or some form of nonvolatile, solid-state memory (e.g., flash memory, atomic resolution storage memory, and magnetic random access memory (MRAM)).
The temperature sensor 230 is either provided inside or on the storage device 210 and can be similar in configuration to the temperature sensor 206 described above. Accordingly, the temperature sensor 230 may comprise a thermal diode (e.g., integrated into a device circuit board), thermocouple, or other suitable thermal sensor. Regardless, the temperature data measured by the sensor 230 can be read by the controller 222 and therefore provided to an inquiring element (e.g., device driver 218).
Various programs and modules (logic) have been described above. These programs and modules can be stored on any computer-readable medium for use by or in connection with any computer-related system or method. In the context of this disclosure, a computer-readable medium is an electronic, magnetic, optical, or other physical device or means that contains or stores a computer program or module for use by or in connection with a computer-related system or method. Programs can be embodied in any computer-readable medium for use by or in connection with an instruction execution system, apparatus, or device, such as a computer-based system, processor-containing system, or other system that can fetch the instructions from the instruction execution system, apparatus, or device and execute the instructions.
With reference to decision block 306, the computer determines if the storage device temperature is too high. Such a determination may be reached, for example, if the device temperature is above the ideal temperature operating range or approaching the upper limit of that range. If the temperature is not too high, additional cooling measures are not needed and flow returns to block 302 at which the computer again (e.g., on a periodic schedule) determines the temperature of the storage device. If the temperature is determined to be too high, however, flow continues to block 308 at which the computer controls operation of its components in a manner intended to reduce the temperature of the storage device. As mentioned above, such control may effect changes in computer operation in the form of one or more of increasing cooling system fan speed, reducing processor clock speed, reducing processor voltage, and shutting the computer down. These measures are described in greater detail below.
Next, with reference to decision block 310, the computer determines whether the computer is shutting down. That condition may occur in response to the computer determining to shut down due to overheating of the storage device, or simply in response to the user commanding shut down for some other reason. If shut down is occurring or has occurred, flow for the session is terminated. If not, however, flow continues back to block 302 and the process described above is repeated. Therefore, if the temperature of the storage device is still too high (e.g., the same temperature or even higher), other measures can be taken by the computer in a further effort to reduce that temperature.
Irrespective of the specific nature of the command, the device driver 218 receives the command and, in turn, commands the storage device to provide its current temperature data to the driver, as indicated in block 402. By way of example, that command comprises a self-monitoring, analysis, and reporting technology (SMART) command of the type that is normally used to monitor the operating state of various media drives.
Turning now to
Once the temperature data has been read, the storage device controller 222 sends temperature data to the device driver 218, as indicated in block 504, as a response to the command the driver issued to the storage device. The temperature data at least includes the temperature that the controller 222 read in block 502. In addition, however, the temperature data may include information pertaining to the ideal temperature operating range of the storage device, temperature ranges in which operation of the device is not ideal, and one or more critical temperatures beyond which the storage device is likely to be unreliable or damaged (e.g., a peak operating temperature). The provision of such other data by the controller 222 is beneficial given that it is possible that the computer operating system or BIOS may not already have that information, particularly in cases in which the storage device was added after system configuration (e.g., as a replacement or auxiliary device).
Next, with reference to block 506, flow depends upon whether the computer is being shut down. If so, flow for the controller 222 is terminated. If not, flow returns to block 500 at which the controller 222 receives the next (e.g., periodic) command from the device driver 218.
Returning to
With reference next to decision block 408, flow again depends upon whether the computer is being shut down. If so, flow for the device driver 218 (and its thermal monitor 220) is terminated. If not, however, flow returns to block 400 at which the thermal monitor 220 provides another command (e.g., at the next periodic instance) to the device driver 218 to collect temperature data from the storage device.
If it is determined that the temperature is too high, for instance the temperature is within or above the high end of the ideal operating range, the BIOS 214 determines whether an airflow increase is appropriate, as indicated in block 604. That determination is made in view of the various conditions under which the computer is currently operating. For instance, if the airflow was recently increased (e.g., in a previous monitoring cycle), a further increase may not yet be warranted and such increase may be delayed in order to give the previous increase a chance to lower the storage device temperature. In another case, the airflow may already be at a maximum for the cooling system. For instance, if the fan or fans is/are already operating at the highest possible speed, an airflow increase is not an available option for lowering the temperature of the storage device.
If an airflow increase is not appropriate, flow continues down to decision element 608 described below. If, on the other hand, and airflow increase is appropriate (e.g., the fan is not currently at its highest speed and speed increases have not been recently implemented), the BIOS 214 controls the temperature management controller (e.g., controller 208,
With reference to decision block 608, if an airflow increase was not appropriate, the BIOS 214 determines whether to adjust the processor operation to reduce its heat generation. Such adjustment may comprise, for example, one or both of reducing the clock speed of the processor (i.e., throttle the processor) or reducing the voltage provided to the processor. Given that computer processors often generate the bulk of the heat within modem computers, either action could significantly reduce heat within the computer and, therefore, the storage devices. If such an adjustment is deemed warranted, flow continues to block 610 at which processor operation is so adjusted. Flow then returns to block 600.
If adjustment of processor operation is not appropriate, for instance a reduction in clock speed or processor voltage would result in unacceptable performance or if such a reduction were already implemented, flow continues to decision block 612 at which the BIOS 214 determines whether to shut down the computer to avoid damage to the storage device. Normally, such a measure is only deemed appropriate in cases in which the temperature of the storage device is near, at, or exceeds the critical temperature. In such a situation, the BIOS 214 may instruct the operating system to present a pop-up warning to the user that identifies the problem and indicates that the computer is going to be shut down. If such shut down is warranted, flow continues to block 614 at which the shut down process is initiated. At this point, flow for the BIOS in a temperature regulation capacity is terminated. If shut down is not warranted, however, flow returns to block 600.
Returning to decision block 602, if the storage device temperature is not too high, for instance if one or more of the measures described above were sufficient to reduce the temperature of the storage device or if no such measures were necessary in the first place, flow continues to decision block 616 at which the BIOS 214 determines whether reversal of a temperature-reducing action is appropriate. Such a reversal may comprise, for example, reducing the speed of a fan and/or increasing the speed or voltage of the processor after the storage device has cooled. In such a case, the BIOS 214 may reverse one or more of the temperature-reducing actions, as indicated in block 618, and flow will return to block 600. If reversal is not appropriate, for example no such measures were taken in the first place, flow returns directly to block 600.
Although not shown in
A further method 700 for cooling a storage device is described with reference to
Another method 800 for cooling a storage device is described with reference to