METHOD AND DEVICES FOR MITIGATING TEMPERATURE INCREAS IN A SOLID-STATE DEVICE (SSD)

The controller in SSDs manages temperature by activating TEC devices based on load and temperature thresholds, addressing heat-related performance issues while maintaining user experience.

DE102019116002B4Undetermined Publication Date: 2026-06-25SANDISK TECHNOLOGIES LLC

Patent Information

Authority / Receiving Office
DE · DE
Patent Type
Patents
Current Assignee / Owner
SANDISK TECHNOLOGIES LLC
Filing Date
2019-06-12
Publication Date
2026-06-25

AI Technical Summary

Technical Problem

Solid-state drives (SSDs) generate excessive heat during operation, leading to temperature increases that can negatively impact performance and potentially cause shutdowns, with existing cooling methods like thermal throttling affecting user experience.

Method used

Implementing a controller that manages SSD temperature by activating thermoelectric cooling (TEC) devices based on load thresholds and temperature measurements, while avoiding thermal throttling when it would negatively impact user experience.

Benefits of technology

Effectively mitigates SSD temperature without degrading performance by selectively using TEC devices, ensuring efficient cooling and reducing the risk of shutdowns.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

A method for operating a controller (108, 208) to manage the temperature of a data storage device (1045, 202), comprising: receiving a command for a storage operation; determining a storage operation load of the controller (108, 208); activating one or more thermoelectric cooler (TEC) devices (118, 218a-c) when the storage operation load of the controller (108, 208) exceeds at least a first load threshold or a second load threshold, wherein the second load threshold is greater than the first load threshold; and executing the command, wherein the command is executed while thermal throttling is omitted when the storage operation load is above the first load threshold, and wherein the command is executed with thermal throttling when the storage operation load is above the second load threshold.
Need to check novelty before this filing date? Find Prior Art

Description

AREA The present invention, which exists in various embodiments, relates to data storage systems, such as solid-state drives (SSDs). More precisely, the present disclosure relates to approaches for mitigating temperature increases in SSDs. INTRODUCTION Data storage devices, such as solid-state drives (SSDs), can generate a significant amount of heat during operation. For example, an SSD's controller (e.g., a host) might be instructed to perform a series of write operations (e.g., read, write, etc.) against one or more non-volatile memory devices (e.g., NAND flash memory devices). To meet end-user performance demands, the rapid execution of these write operations can cause excess heat to build up within the SSD. This excess heat can raise the SSD's temperature to a critical level (e.g., a temperature at which the SSD shuts down to prevent damage to its components), which can negatively impact performance. In one exemplary approach to mitigating temperature increases in an SSD, the SSD's control system can be configured to temporarily pause write operations when a certain temperature is reached, allowing the SSD to cool down. However, such pauses are likely to have a negative impact on performance. Therefore, improved techniques for mitigating temperature increases in SSDs are needed. Furthermore, the disclosures of US 2015 0 089 961 A1 and US 2017 0 038 805 A1 may be helpful for understanding the present invention. US 2015 0 089 961 A1 relates to a temperature-controlled memory module. In one embodiment, a memory module is provided that includes a memory, a temperature sensor, a thermoelectric cooler, and a control unit. The control unit compares a temperature reading from the temperature sensor with a target temperature.If the temperature reading deviates from the setpoint temperature, the control unit activates the thermoelectric cooler. For example, if the temperature reading is higher than the setpoint temperature, the thermoelectric cooler can be activated to cool the memory. This allows the memory (e.g., NAND chip(s)) to operate within a narrow temperature range, resulting in better system trade-offs regarding memory characteristics (e.g., NAND). US 2017 0 038 805 A1, on the other hand, relates to systems, methods, and computer programs embodied in or as a memory management module for thermally controlling memory and improving its performance. An exemplary embodiment includes memory, one or more processors, and a thermoelectric cooling device. The one or more processors access the memory through a memory controller electrically coupled to the memory.The thermoelectric cooling device is configured to thermally control the storage unit in response to a predicted temperature change of the storage unit. SUMMARY The present invention relates to a method according to claim 1 and a device according to claim 6. Advantageous embodiments may include features of dependent claims. According to the invention, a method for operating a controller to manage the temperature of an SSD is therefore provided.In one example, the procedure includes: receiving a command for a storage operation; determining a load of the controller's storage operation; activating one or more thermoelectric cooling (TEC) devices if the load of the controller's storage operation exceeds at least a first load threshold or a second load threshold, where the second load threshold is greater than the first load threshold; and executing the command, wherein the command is executed while thermal throttling is omitted if the load of the storage operation is above the first load threshold, and wherein the command is executed with thermal throttling if the load of the storage operation is above the second load threshold. Another aspect of the present disclosure provides a controller configured to manage the temperature of an SSD. In one example, the controller includes a processor configured to: monitor the temperature of one or more areas of the SSD; determine whether the temperature exceeds a threshold temperature; activate one or more thermoelectric cooling (TEC) devices to reduce the temperature when the temperature exceeds the threshold temperature; and deactivate the one or more thermoelectric cooling (TEC) devices that have been activated when the temperature no longer exceeds the threshold temperature. Another aspect of the present disclosure provides a controller that is set up to manage the temperature of an SSD.In one example, the controller includes a processor configured to: monitor the temperature of one or more areas of the SSD; determine whether the temperature exceeds at least a first threshold temperature or a second threshold temperature, where the second threshold temperature is greater than the first threshold temperature; activate one or more thermoelectric cooling (TEC) devices when the temperature exceeds the first threshold temperature or the second threshold temperature, with the one or more TEC devices being activated using a first TEC activation configuration when the temperature exceeds the first threshold temperature, and with the one or more TEC devices being activated using a second TEC activation configuration when the temperature exceeds the second threshold temperature. Another aspect of the present disclosure provides a device configured to manage the temperature of an SSD. In one example, the device includes means for monitoring the temperature of one or more areas of the SSD; means for determining whether the temperature exceeds a threshold temperature; means for reducing the temperature based on thermoelectric cooling; and means for activating the means for reducing the temperature when the temperature exceeds a threshold temperature. Another aspect of the present disclosure provides a method for operating a controller to manage the temperature of a solid-state device (SSD). In an example, the method includes: receiving a command for a storage operation; analyzing the command to determine whether executing the command with thermal throttling would have a negative impact on the user experience; and, in the case of a negative impact on the user experience after command execution, activating one or more thermoelectric cooling (TEC) devices while omitting thermal throttling. BRIEF DESCRIPTION OF THE DRAWINGS A more specific description is included below with reference to specific embodiments illustrated in the accompanying drawings. Given that these drawings represent only certain embodiments of the disclosure and therefore should not be considered as limiting its scope, the disclosure is described and explained with additional specificity and detail by the use of the accompanying drawings, in which: Fig. 1 is a block diagram of a system incorporating an exemplary solid-state device (SSD) according to embodiments of the disclosure. Fig. 2 is a side view of an exemplary system incorporating an exemplary SSD according to some embodiments of the disclosure. Fig. 3 illustrates the temperature in a non-volatile storage device with respect to time in an exemplary scenario.Figure 4 is a block diagram of an exemplary SSD according to some embodiments of the disclosure. Figure 5 is a block diagram of an exemplary SSD according to some embodiments of the disclosure. Figure 6 is a block diagram of an exemplary SSD according to some embodiments of the disclosure. Figure 7 is a block diagram of an exemplary SSD according to some embodiments of the disclosure. Figure 8 summarizes, in the broadest sense, exemplary operations for use by a controller of an SSD. Figure 9 summarizes, in the broadest sense, exemplary operations for use by a controller of an SSD. Figure 10 summarizes, in the broadest sense, exemplary operations for use by a controller of an SSD. Figure 11 summarizes, in the broadest sense, exemplary operations for use by a controller of an SSD. Figure 12 illustrates, in the broadest sense, a temperature attenuation control block of an SSD. DETAILED DESCRIPTION The following detailed description refers to the accompanying drawings, which form an integral part thereof. In addition to the illustrative aspects, embodiments, and features described above, further aspects, embodiments, and features will become clear with reference to the drawings and the following detailed description. The description of elements in each figure may refer to elements of consecutive figures. Identical reference numerals may refer to identical elements in the figures, including alternative embodiments of the same elements. Figure 1 is a block diagram of a system 100 that includes an exemplary solid-state drive (SSD) according to embodiments of the disclosure. The system 100 includes a host 102 and an SSD 104 connected to the host 102. In some embodiments of the disclosure, the SSD 104 may be a solid-state drive. The host 102 provides commands to the SSD 104 for transferring data between the host 102 and the SSD 104. For example, the host 102 may provide a write command to the SSD 104 to write data to the SSD 104 or a read command to the SSD 104 to read data from the SSD 104. The host 102 may be any system or device that needs to store or retrieve data and has a compatible interface for communicating with the SSD 104.For example, the host 102 could be a computing device, a personal computer, a portable computer, a workstation, a server, a personal digital assistant, a digital camera or a digital phone, to name just a few examples. The SSD 104 includes a host interface 106, a controller 108 (or alternatively an NVM controller 108 or a memory controller 108), which also includes a flash translation layer (FTL) 109 and a temperature attenuation controller 116, a volatile memory device 110 (e.g., a random access memory (RAM) device), a non-volatile memory interface (NVM) 112 (which in one embodiment may also be referred to as a flash memory interface), a non-volatile memory device (NVM or NVM device) 114 (e.g., a NAND flash memory), and thermoelectric cooling (TEC) device(s) 118. The host interface 106 is connected to the controller 108 and facilitates communication between the host 102 and the controller 108. Additionally, the controller 108 is connected to the volatile storage device 110, the NVM 114 via the NVM interface 112 and the TEC device(s) 118.The host interface 106 can be any type of communication interface, such as an IDE (Integrated Drive Electronics) interface, a USB (Universal Serial Bus) interface, an SP (Serial Peripheral) interface, an ATA (Advanced Technology Attachment) interface or SATA (Serial Advanced Technology Attachment) interface, a SCSI (Small Computer System Interface), an IEEE 1394 (FireWire) interface, a PCI / PCIe (Peripheral Component Interconnect Express) interface, an NVMe-oF interface, or the like. In some embodiments, the host 102 includes the SSD 104. In other embodiments, the SSD 104 is remotely connected to the host 102 or is located in a remote computing system. For example, the host 102 can communicate with the SSD 104 via a wireless communication link. The controller 108 manages the operation of the SSD 104. In various embodiments, the controller 108 receives commands from the host 102 via the host interface 106 and executes the commands for transferring data between the host 102 and the NVM 114. Furthermore, the controller 108 can manage reading and writing to the volatile storage device 110 in order to perform the various functions effected by the controller and to store and manage the cached information stored in the volatile storage device 110. The controller 108 can include any type of processing device, such as a microprocessor, microcontroller, embedded controller, logic circuit, software, firmware, or the like, for controlling the operation of the SSD 104. In some embodiments, some or all of the functions described herein as being performed by the controller 108 can instead be performed by another element of the SSD 104. For example, the SSD 104 can include a microprocessor, microcontroller, embedded controller, logic circuit, software, firmware, or any type of processing device for performing one or more of the functions described herein as being performed by the controller 108. According to other embodiments, one or more of the functions described herein as being performed by the controller 108 are instead performed by the host 102.In further embodiments, some or all of the functions described here as being performed by the controller 108 can instead be performed by another element, such as a controller in a hybrid drive that includes both non-volatile memory elements and magnetic memory elements. The volatile storage device 110 can be any memory, computing device, or system capable of storing data. For example, the memory 110 can be random access memory (RAM), dynamic random access memory (DRAM), double data rate DRAM (DDR), static random access memory (SRAM), synchronous dynamic random access memory (SDRAM), flash memory, erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), or the like. In various embodiments of the disclosure, the controller 108 uses the volatile storage device 110, or a portion thereof, to store data during data transmission between the host 102 and the NVM 114. For example, the volatile storage device 110, or a portion thereof, can be a cache memory. The NVM 114 receives data from the controller 108 via the NVM interface 112 and stores the data. The NVM 114 can be any type of non-volatile memory, such as a flash memory system, NAND flash memory, a flash memory card, a secure digital memory card (SD card), a USB (Universal Serial Bus) storage device, a CompactFlash card, a SmartMedia device, a flash memory array, or the like. In the example shown in Fig. 1, read queries generally involve querying host 102 via interface 106 to read the data within a given logical block address associated with the NVM 114. Each logical block address is associated with a specific physical address within the NVM 114 through the use of the Logical-to-Physical (L2P) table, which is managed by the control controller 108, specifically by FTL 109. In general, the table maps each logical block address to a physical block address in the NVM 114. The use of logical block addresses and Logical-to-Physical block address conversion enables the control controller 108 to effectively manage the memory within the NVM 114 and to implement various mappings and mechanisms. In another embodiment, FTL 109 can include an address converter for performing the translation between logical and physical addresses, as well as partially implementing the L2P table. Furthermore, FTL 109 can include automatic garbage collection, a memory module, or an algorithm that copies valid data to new or free areas and deletes invalid data in physical block positions of the NVM 114 to free up this invalid memory space. Additionally, FTL 109 can include a utilization balancing process, a module, or an algorithm used to ensure that deletes and rewrites are evenly distributed across the NVM 114. Embodiments of the present disclosure provide various devices, equipment, systems, and methods for mitigating (e.g., cooling) the temperature of solid-state devices (SSDs). Fig. 2 is a side view of an exemplary system 200 that includes an exemplary SSD 202 according to some embodiments of the disclosure. For example, the system 200 may be a computing device, such as a smartphone, a laptop computer, or another suitable computing device. As shown in Fig. 2, the SSD 202 may be mounted on a motherboard 204 (also referred to as the mainboard) of the system 200 via a connector 216.For example, connector 216 can be a Serial Advanced Technology Attachment (SATA) connector or another suitable connector that enables communication of electronic signals between the SSD 202 and one or more devices (not shown) that may be installed on the mainboard 204, such as a processing device (e.g., a central processing unit (CPU)). As shown in Fig. 2, the SSD 202 includes a controller 208, a volatile storage device (VM) 210, and a non-volatile storage device (NVM) 212, all mounted on a printed circuit board (PCB) 206. For example, the volatile storage device 210 can be a double data rate synchronous dynamic random access memory (SRAM) device, and the NVM 212 can be a NAND flash storage device (e.g., a NAND flash memory chip). As shown in Fig. 2, the SSD 202 can further include one or more thermoelectric cooling (TEC) devices, such as TEC devices 218a, 218b, and 218c. For example, each TEC device 218a, 218b, and 218c can be a Peltier device. According to some aspects, each TEC device 218a, 218b, 218c can be installed on or near a respective component (e.g., a component that generates a considerable amount of heat during operation) of the SSD 202.For example, in the configuration shown in Fig. 2, the TEC device 218a can be installed on or above at least one section of the controller 208, the TEC device 218b can be installed on or above at least one section of the volatile storage device 210, and the TEC device 218c can be installed on or above at least one section of the non-volatile storage device 212. In the embodiments described herein, TEC 218a can be thermally coupled to the controller 208, TEC device 218b can be thermally coupled to the volatile storage device 210, and TEC device 218c can be thermally coupled to the non-volatile storage device 212. For example, such thermal coupling can be achieved by providing a thermally conductive path between a component of the SSD 202 (e.g., the controller 208) and a corresponding TEC (e.g., the controller 218b).TEC 218a) is provided to transfer excess heat from the component to the corresponding TEC. According to some embodiments, as shown in Fig. 2, each TEC device 218a, 218b, 218c can be thermally coupled to a first heat sink 220. For example, the first heat sink 220 can include one or more materials that have high thermal conductivity, such as copper and / or aluminum. In some embodiments, a thermal interface material can be applied between the TEC devices 218a, 218b, 218c and the heat sink 220 to improve the heat transfer from the TEC devices 218a, 218b, 218c to the heat sink 220. In some embodiments, the SSD 202 may include one or more temperature sensors, such as the temperature sensors 230a, 230b and 230c.In some embodiments of the disclosure, the one or more temperature sensors are configured to measure the temperature at one or more areas of the SSD that are known to generate more heat relative to other areas of the SSD. In the exemplary configuration of Fig. 2, the temperature sensor 230a is configured to measure the temperature at or near the controller 208, the temperature sensor 230b is configured to measure the temperature at or near the volatile storage device 210, and the temperature sensor 230c is configured to measure the temperature at or near the non-volatile storage device 212. In some embodiments of the disclosure, the controller 208 may correspond to the controller 108 in Fig. 1, and the volatile storage device 210 may correspond to the volatile storage device 110 in Fig. 2.1, the non-volatile storage device 212 can correspond to the non-volatile storage device 114 in Fig. 1, and one or more TEC devices 218a, 218b, 218c can correspond to the TEC device(s) 118 in Fig. 1. In one example, when the SSD 202 is operating, one or more of the TEC devices 218a, 218b, 218c can be activated (e.g., switched on) to cool one or more of the corresponding components of the SSD 202. For example, as shown in Fig. 2, TEC 218c can be activated to transfer heat (e.g., indicated by arrow 224 in Fig. 2) from the non-volatile storage device 212 to the first heat sink 220. According to some embodiments, the first heat sink 220 can be thermally coupled to the mainboard 204. For example, in the configuration of system 200, the first heat sink 220 can be thermally connected to the mainboard 204 via a mounting device 222 (e.g., a screw) and a PCB stand 228. According to some embodiments, the system 200 may further include a second heat sink 232, which may be thermally connected to the main board 204. In these embodiments and as shown in Fig.As shown in Fig. 2, heat that has accumulated at the first heat sink 220 can be transferred via the mounting device 222, the PCB stand 228 and the main board 204 to a second heat sink 232 (shown with the arrow 226 in Fig. 2). In some embodiments of the disclosure, the controller 208 can be configured to mitigate the temperature of the SSD 202 based on a command (e.g., read, write, etc.) to perform a storage operation. For example, the command can be an input / output (I / O) command from the host, such as a command to read data from the non-volatile storage device 212. In these embodiments, the controller 208 cannot rely on temperature measurements of the SSD 202 to mitigate its temperature (e.g., also referred to as the device temperature or operating temperature). In one approach, for example, the controller 208 can receive a command and analyze the command to determine whether executing the command using thermal throttling methods would have a negative impact on the user experience.As described in detail herein, the controller 208 may refrain from executing thermal throttling procedures and other temperature attenuation procedures (e.g., activating one or more TEC devices 218a, 218b, 218c) if executing the command using thermal throttling procedures would have a negative impact on the user experience. For example, a negative impact on the user experience could be a noticeable degradation in the performance of a user application running on a host. In some aspects of the disclosure, the controller can analyze the instruction to determine whether executing the instruction using thermal throttling techniques would have a negative impact on the user experience by comparing a known or expected execution time of the instruction with the execution time of a threshold. The controller can determine that executing the instruction with thermal throttling would negatively affect the user experience if the known or expected execution time exceeds the execution time of the threshold, or it can determine that executing the instruction with thermal throttling would not negatively affect the user experience if the known or expected execution time is less than or equal to the execution time of the threshold. In some aspects of the disclosure, the controller can determine the execution time of the threshold based on the application (e.g.,The controller selects the type of application running on the host. For example, if the application is a game, the controller can select an initial threshold execution duration, whereas if the application is a word processor, the controller can select a second threshold execution duration that is greater than the initial threshold execution duration. If the controller determines that using thermal throttling techniques would negatively impact the user experience, the controller can activate one or more of the TEC devices 218a, 218b, or 218c and refrain from executing the thermal throttling techniques. Therefore, with this approach, the controller can mitigate the temperature of the SSD 202 without affecting the performance of the SSD 202 and / or the host.In some embodiments of the disclosure, the controller 208 can control the power supplied to the one or more TEC devices 218a, 218b, 218c in order to increase or decrease the cooling effect of the one or more TEC devices 218a, 218b, 218c. In some aspects of the disclosure, the controller 208 can analyze the instruction to determine whether executing the instruction using thermal throttling techniques will have a negative impact on the user experience by determining a process type (e.g., read versus write), a streaming type (e.g., random versus sequential), the block size of data associated with the instruction (e.g., large versus small), and queue parameters associated with the instruction (e.g., queue utilization and / or depth). The controller 208 can analyze the instruction to identify the instruction and the operation that needs to be performed. In one example, the controller 208 can identify whether the command is to read data from the non-volatile storage device 212 or to write data to the non-volatile storage device 212. Delays in read operations generally have a more negative impact than delays in write operations because a user typically expects something to happen in response to a read command (e.g., waiting for the results of a browsing operation). Thus, a host generally does not wait for write operations to complete. Therefore, slow writes may not affect the user experience as significantly as slow reads. For this reason, in some embodiments, the controller 208 may be configured to consider a read command as having a negative impact on the user experience and may take into account that a write command does not. In another example, the controller 208 can analyze a command stream and determine its streaming type to ascertain whether executing the command using thermal throttling would negatively impact the user experience. If the streaming type is random, the controller 208 can determine that the command originates from a user, since random streams are often indicative of user behavior. In this case, the controller 208 can execute the command without thermal throttling to avoid delays that might be perceived by the user. However, if the streaming type is sequential, the controller 208 can execute the command with thermal throttling (e.g., by inserting a delay), since a sequential stream is typically indicative of an application, not a user.Therefore, the controller can execute 208 random instructions without thermal throttling, but can execute sequential instructions with thermal throttling. This approach is also based on the consideration that a long sequence can generate a significant thermal impact, while short random operations are likely to have less of an effect on the temperature. In some embodiments of the disclosure, the controller 208 can be configured to attenuate the temperature of the SSD 202 based on temperature measurements from one or more areas of the SSD 202. For example, the controller 208 can receive temperature measurements at or near the controller 208, the volatile storage device 210, and / or the non-volatile storage device 212. In one exemplary approach, the controller 208 can determine whether any of the received temperature measurements exceed a threshold temperature. If the received temperature measurements exceed the threshold temperature, the controller 208 can be configured to activate one or more of the TEC devices 218a, 218b, 218c to reduce the temperature to less than or equal to the threshold temperature or at least to decrease the rate at which the temperature of the SSD 202 increases.According to one embodiment, the controller 208 can determine whether the temperature measurements received, corresponding to a specific component in the SSD 202, exceed a threshold temperature. For example, the controller 208 can determine whether the temperature measurements received from the temperature sensor 230c at or near the non-volatile storage device 212 exceed a threshold temperature. If the temperature measurements exceed the threshold temperature, the controller 208 can be configured to activate TEC 218c, corresponding to the non-volatile storage device 212, to reduce the temperature at or near the non-volatile storage device 212 to less than or equal to the threshold temperature.In some embodiments, if the controller 208 determines that the temperature measurements are less than or equal to the threshold temperature during the activation of one or more of the TEC devices 218a, 218b, 218c, the controller 208 can deactivate one or more of the TEC devices 218a, 218b, 218c. According to some embodiments, the controller 208 can deactivate one or more of the TEC devices 218a, 218b, 218c until the controller 208 detects a temperature measurement that exceeds the threshold temperature. It is understood that by deactivating one or more of the TEC devices 218a, 218b, 218c during periods in which the temperature does not exceed the threshold temperature, the power consumption of the SSD 202 can be reduced. In another exemplary approach, the controller 208 can determine whether temperature measurements from one or more areas of the SSD 202 exceed one or more threshold temperatures from a set of threshold temperatures. For example, the controller 208 can receive temperature measurements at or near the controller 208, the volatile storage device 210, and / or the non-volatile storage device 212. For example, the set of threshold temperatures can include a first threshold temperature and a second threshold temperature, the second threshold temperature being higher than the first threshold temperature. In an exemplary scenario, the controller 208 can determine whether the received temperature measurements exceed the first threshold temperature without exceeding the second threshold temperature.If the received temperature measurements exceed the first threshold temperature without exceeding the second threshold temperature, the controller 208 can be configured to activate one or more of the TEC devices 218a, 218b, 218c using a first TEC activation configuration to reduce the temperature to less than or equal to the first threshold temperature. For example, the first TEC activation configuration can activate one or more of the TEC devices 218a, 218b, 218c by supplying an initial amount of energy to one or more of the TEC devices 218a, 218b, 218c. In another exemplary scenario, the controller 208 can determine whether the received temperature measurements exceed the second threshold temperature.If the received temperature measurements exceed the second threshold temperature, the controller 208 can be configured to activate one or more of the TEC devices 218a, 218b, 218c using a second TEC activation configuration to reduce the temperature to less than or equal to the second threshold temperature. For example, the second TEC activation configuration can activate one or more of the TEC devices 218a, 218b, 218c by supplying a second amount of energy to one or more of the TEC devices 218a, 218b, 218c. In this example, the second amount of energy can be greater than the first amount of energy.In one embodiment, the first amount of energy can be supplied by applying a first voltage level to one or more of the TEC devices 218a, 218b, 218c, and the second amount of energy can be supplied by applying a second voltage level to one or more of the TEC devices 218a, 218b, 218c, wherein the second voltage level is greater than the first voltage level. It is understood that the second TEC activation configuration allows one or more of the TEC devices 218a, 218b, 218c to provide a greater cooling effect compared to the first TEC activation configuration. In one embodiment, the controller 208 can determine whether any of the obtained temperature measurements corresponding to a specific component in the SSD 202 exceed one or more threshold temperatures from a set of threshold temperatures. Referring to Fig. 3, which illustrates the temperature 302 of the non-volatile storage device 212 over time in an exemplary scenario, the set of threshold temperatures can include a first threshold temperature 304 and a second threshold temperature 306, the second threshold temperature 306 being higher than the first threshold temperature 304. In an exemplary scenario, the controller 208 can determine whether any temperature measurements at or near the non-volatile storage device 212, obtained from the temperature sensor 230c, exceed the first threshold temperature 304 and / or the second threshold temperature 306.If the received temperature measurements exceed the first threshold temperature 304 (e.g., by approximately t1 in Fig. 3), but not the second threshold temperature 306, the controller 208 can be configured to activate TEC 218c (e.g., the one corresponding to the non-volatile storage device 212) using the first TEC activation configuration to reduce the temperature at or near the non-volatile storage device 212 to equal to or less than the first threshold temperature 304. In another exemplary scenario, the controller 208 can determine whether temperature measurements at or near the non-volatile storage device 212, obtained from the temperature sensor 230c, exceed the second threshold temperature 306. If one of the received temperature measurements exceeds the second threshold temperature 306 (e.g. by about t3 in Fig. 3), the controller 208 can be set up to TEC 218c (e.g.to activate the first non-volatile storage device 214) using the second TEC activation configuration in order to reduce the temperature at or near the non-volatile storage device 212 to equal to or less than the second threshold temperature. It is understood that the second TEC activation configuration allows the TEC device 218c to provide a greater cooling effect compared to the first TEC activation configuration. In some embodiments of the disclosure, the controller 208 can activate the TEC device 218c for a first period 308 when the obtained temperature measurements exceed the first threshold temperature 304, and can activate the TEC device 218c for a second period 310 when the obtained temperature measurements exceed the second threshold temperature 306. For example, the first period 308 may differ from the second period 310.According to some embodiments, the length of the first period 308 and / or the length of the second period 310 can be preset in the controller 208 or dynamically provided to the controller 208. According to some embodiments of the disclosure, the controller 208 can be configured to mitigate the temperature of the SSD 202 based on the load of the controller 208's storage operation. In these embodiments, the controller 208 can determine its load and can determine whether the load exceeds one or more load thresholds from a set of load thresholds. In some embodiments, the controller 208 can determine the load of the storage operation by determining at least one energy consumption of the controller 208, a total number of command queues of the controller 208 that have reached maximum capacity, a total number of queued commands at the controller 208, or a data throughput of the controller 208. For example, the controller 208 can determine whether the utilization exceeds a first utilization threshold and / or a second utilization threshold, wherein the controller 208 is configured to perform a first temperature attenuation when the first utilization threshold is exceeded and wherein the controller 208 is configured to perform a second temperature attenuation when the second utilization threshold is exceeded. In some embodiments, the first utilization threshold can be exceeded when more than a first number of the controller 208's command queues have reached their maximum capacity, and the second utilization threshold can be exceeded when more than a second number of the controller 208's command queues have reached their maximum capacity. For example, the second number can be greater than the first number. In one example scenario, the controller 208 can determine that its load exceeds a first load threshold without exceeding a second load threshold. If the load exceeds the first load threshold without exceeding the second, the controller 208 can be configured to perform the first thermal attenuation by activating one or more of the TEC devices 218a, 218b, or 218c, and to refrain from thermal throttling (e.g., during command execution for a save operation) to avoid a negative impact on the user experience. In another example scenario, the controller 208 can determine that the load exceeds the second load threshold.If the utilization exceeds the second utilization threshold, the controller 208 can be configured to perform the second temperature attenuation by activating one or more of the TEC devices 218a, 218b, 218c and also by thermal throttling (e.g., during instruction execution for a storage operation) to prevent the SSD 202 from reaching a critical temperature (e.g., a shutdown temperature) and thereby damaging components of the SSD 202. In some embodiments, the controller 208 can provide a first amount of energy to one or more of the TEC devices 218a, 218b, 218c when the utilization of the storage operation of the controller 208 exceeds the first utilization threshold, and can supply a second amount of energy to one or more of the TEC devices 218a, 218b, 218c when the utilization of the storage operation exceeds the second utilization threshold.For example, the second amount of energy is greater than the first amount of energy. Fig. 4 is a block diagram of an exemplary solid-state device (SSD) 400 according to some embodiments of the disclosure. As shown in Fig. 4, the SSD 400 includes a power source 402, a non-volatile storage device 401, a volatile storage device 404, a controller 406, a thermoelectric cooling (TEC) power source 408, a switch 410, and thermoelectric cooling (TEC) devices 412a, 412b, and 412c. The SSD power source 402 can receive an input current 414 and supply current to components of the SSD 400, such as the controller 406, the non-volatile storage device 401, and the volatile storage device 404. In the embodiment shown in Fig. 4, the TEC devices 412a, 412b and 412c are connected to the TEC power source 408 in a serial configuration via the switch 410. Therefore, the serially connected TEC devices 412a, 412b, 412c can be activated when the switch 410 is closed (e.g.,(when the switch 410 is activated or switched ON) and the current 416 is supplied from the TEC power source 408 to the TEC devices 412a, 412b, and 412c. In some embodiments of the disclosure, the controller 406 can activate or deactivate the TEC devices 412a, 412b, and 412c by opening or closing the switch 410 via the signal 418. In some embodiments of the disclosure, the non-volatile storage device 401 in Fig. 4 can correspond to the non-volatile storage device 212 in Fig. 2, the volatile storage device 404 in Fig. 4 can correspond to the volatile storage device 210 in Fig. 2, the controller 406 in Fig. 4 can correspond to the controller 208 in Fig. 2, and the TEC devices 412a, 412b, 412c in Fig. 4 can correspond to the TEC devices 218a, 218b, 218c in Fig. 2. Fig. 5 is a block diagram of an exemplary solid-state device (SSD) 500 according to some embodiments of the disclosure. As shown in Fig. 5, the SSD 500 includes an SSD power source 502, a non-volatile storage device 501, a volatile storage device 504, a controller 506, a thermoelectric cooling (TEC) power source 510, a switch 512, and thermoelectric cooling (TEC) devices 508a, 508b, and 508c. The SSD power source 502 can receive an input current 514 and supply power to components of the SSD 500 such as the controller 506, the non-volatile storage device 501, and the volatile storage device 504. In the embodiment shown in Fig. 5, the TEC devices 508a, 508b and 508c are connected to the TEC power source 510 in a parallel configuration via the switch 512. Therefore, the TEC devices 508a, 508b and 508c can be activated simultaneously when the switch 512 is closed (e.g.,(when the switch 512 is activated or switched ON) and the current 516 is supplied from the TEC power source 510 to the TEC devices 508a, 508b, 508c. In some embodiments of the disclosure, the controller 506 can activate or deactivate the TEC devices 508a, 508b, 508c by opening or closing the switch 512 via the signal 518. In some embodiments of the disclosure, the non-volatile storage device 501 in Fig. 5 can correspond to the non-volatile storage device 212 in Fig. 2, the volatile storage device 504 in Fig. 5 can correspond to the volatile storage device 210 in Fig. 2, the controller 506 in Fig. 5 can correspond to the controller 208 in Fig. 2, and the TEC devices 508a, 508b, 508c in Fig. 5 can correspond to the TEC devices 218a, 218b, 218c in Fig. 2. Fig. 6 is a block diagram of an exemplary solid-state device (SSD) 600 according to some embodiments of the disclosure. As shown in Fig. 6, the SSD 600 includes an SSD power source 602, a non-volatile storage device 601, a volatile storage device 604, a controller 606, a thermoelectric cooling (TEC) power source 610, and thermoelectric cooling (TEC) devices 608a, 608b, and 608c. The SSD power source 602 can receive an input current 612 and supply power to components of the SSD 600 such as the controller 606, the non-volatile storage device 601, and the volatile storage device 604. In the embodiment shown in Fig. 6, the TEC devices 608a, 608b and 608c are connected to the TEC power source 610 in a parallel configuration. Therefore, the TEC devices 608a, 608b and 608c can be activated simultaneously when current 614 is supplied from the TEC power source 610 to the TEC devices 608a, 608b, 608c.In some embodiments of the disclosure, the controller 606 can activate or deactivate the TEC devices 608a, 608b, and 608c by instructing the TEC power source 610 to enable or disable the current 614. In some embodiments, the controller 606 can instruct the TEC power source 610 to enable or disable the current 614 via the control signal 616. For example, the control signal 616 can be an integrated circuit (I2C) signal. In some embodiments of the disclosure, the controller 606 can further instruct the TEC power source 610 to increase the current 614 (e.g., to increase the voltage supplied by the TEC power source 610) supplied to the TEC devices 608a, 608b, and 608c, or to decrease the current 614 (e.g., to decrease the voltage supplied by the TEC power source 610) supplied to the TEC devices 608a, 608b, and 608c via the control signal 616.According to some embodiments of the disclosure, the non-volatile storage device 601 in Fig. 6 can correspond to the non-volatile storage device 212 in Fig. 2, the volatile storage device 604 in Fig. 6 can correspond to the volatile storage device 210 in Fig. 2, the controller 606 in Fig. 6 can correspond to the controller 208 in Fig. 2, and the TEC devices 608a, 608b and 608c in Fig. 6 can each correspond to the TEC devices 218a, 218b, 218c in Fig. 2. Fig. 7 is a block diagram of an exemplary solid-state device (SSD) 700 according to some embodiments of the disclosure. As shown in Fig. 7, the SSD 700 includes an SSD power source 702, a non-volatile storage device 701, a volatile storage device 704, a controller 706, a thermoelectric cooling (TEC) power source 710, switches 720a, 720b and 720c, and the TEC devices 708a, 708b and 708c. The SSD power source 702 can receive an input current 714 and supply power to components of the SSD 700 such as the controller 706, the non-volatile storage device 701 and the volatile storage device 704. In the embodiment shown in Fig. 7, the TEC devices 708a, 708b and 708c are connected in a parallel configuration to the TEC power source 710 via the respective switches 720a, 720b and 720c.Therefore, in some embodiments, one or more of the TEC devices 708a, 708b, 708c can be selectively activated when a corresponding switch (e.g., switch 720a, 720b, and / or 720c) is closed (e.g., activated or switched ON) to allow the supply of current 716 from the TEC power source 710. In some embodiments of the disclosure, the controller 706 can activate or deactivate the TEC devices 708a, 708b, and / or 708c by opening or closing a corresponding switch (e.g., switch 720a, 720b, and / or 720c) via a corresponding control signal 722, 726, and / or 730. According to some embodiments of the disclosure, the non-volatile storage device 701 in Fig. 7 can correspond to the non-volatile storage device 212 in Fig. 2, the volatile storage device 704 in Fig. 7 can correspond to the volatile storage device 210 in Fig. 2, and the control 706 in Fig. 7 can correspond to the control 208 in Fig.2 correspond, and the TEC devices 708a, 708b and 708c in Fig. 7 can each correspond to the TEC devices 218a, 218b, 218c in Fig. 2. Figure 8 summarizes, in the broadest sense, exemplary operations 800 for use by an SSD controller. It should be noted that the operations with dashed lines in Figure 8 are optional. In short, in 802, the controller (e.g., controller 108, 208) receives a command for a storage operation. For example, the command may originate from a host (e.g., host 102) to read data from a non-volatile storage device (e.g., non-volatile storage device 114, 212). In 804, the controller analyzes the command to determine whether executing the command with thermal throttling would have a negative impact on the user experience. In one exemplary approach, the controller may analyze the command by comparing a known or expected execution time of the command with the execution time of a threshold.The controller may determine that executing the instruction with thermal throttling would negatively impact the user experience if the known or expected execution time exceeds the threshold execution time, or it may determine that executing the instruction with thermal throttling would not negatively impact the user experience if the known or expected execution time is less than or equal to the threshold execution time. If the controller has determined in 806 that thermal throttling would negatively impact the user experience, the controller in 808 activates one or more of the TEC devices (e.g., while thermal throttling is omitted during instruction execution). In 810, the controller dynamically increases or decreases the current supplied to the one or more TEC devices (e.g.,TEC device(s) 118, TEC devices 218a, 218b, 218c). According to some embodiments, the controller increases or decreases the current supplied to one or more TEC devices based on the command. For example, the supplied current may be increased for a command associated with higher energy consumption, such as a read command, or decreased for a command with lower energy consumption, such as a write command. If the controller in 806 has determined that thermal throttling would not adversely affect the user experience, the controller in 812 performs thermal throttling when the command is executed without activating the TEC devices. In at least some examples, means for performing the functions shown in Fig. 8 and / or other functions illustrated or described herein may be provided. For example, a device (e.g., the controller 208 of Fig. 2) may be provided for use with a storage device (e.g., a non-volatile storage device 212), wherein the device includes: means for receiving an instruction for a storage operation (where the means for receiving may be, for example, the instruction receiving circuit 1204 in Fig. 12), means for analyzing the instruction to determine whether executing the instruction with thermal throttling would have a negative impact on the user experience (where the means for analysis may be, for example, the instruction analysis circuit 1206 in Fig. 12).12), and means for activating, when thermal throttling would have a negative impact on the user experience, one or more thermoelectric cooling (TEC) devices while omitting thermal throttling (where the means for activating one or more thermoelectric cooling (TEC) devices may be, for example, the activation / deactivation circuit 1212 of the thermoelectric cooling (TEC) device in Fig. 12). In some embodiments, the device further includes means for dynamically controlling an amount of energy supplied to the one or more TEC devices that have been activated on the basis of the command (where the means for dynamic control may be, for example, the control circuit 1214 of the thermoelectric cooling (TEC) device in Fig. 12). Figure 9 summarizes, in the broadest sense, exemplary operations 900 for use by an SSD controller. In short, the controller (e.g., controller 108, 208) receives a command for a storage operation in 902. For example, the command may originate from a host (e.g., host 102) to read data from a non-volatile storage device (e.g., non-volatile storage device 114, 212). In 904, the controller determines the load of a storage operation. In 906, the controller determines whether the load of the storage operation exceeds a first load threshold. If the load of the storage operation does not exceed the first load threshold, the controller executes the command in 908 without thermal attenuation. If the load of the storage operation exceeds the first load threshold, the controller activates one or more TEC devices in 910.In operation 912, the controller determines whether the load on the storage operation exceeds a second load threshold. If the load on the storage operation does not exceed the second load threshold, the controller executes the command in operation 914 and omits thermal throttling. If the load on the storage operation exceeds the second load threshold, the controller executes the command in operation 916 with thermal throttling. It should be noted that one or more TEC devices may remain activated while the command in operation 914 or operation 916 is being executed. In at least some examples, means for performing the functions shown in Fig. 9 and / or other functions illustrated or described herein may be provided. For example, a device (e.g., the controller 204 of Fig. 2) may be provided for use with a storage device (e.g., a non-volatile storage device 212), the device including: means for receiving a command for a storage operation (where the means for receiving may be, for example, the command-receiving circuit 1204 in Fig. 12), means for determining a utilization of a storage operation of the controller (where the means for determining may be, for example, the utilization-determining circuit 1216 in Fig. 12), means for determining whether the utilization of the storage operation exceeds a first utilization threshold and / or a second utilization threshold (where the means for determining may be, for example, the utilization-determining circuit 1216 in Fig. 12).12), means for executing the command without temperature attenuation (where the means for execution can be, for example, the command execution circuit 1208 in Fig. 12), means for activating one or more TEC devices (where the means for activation can be, for example, the activation / deactivation circuit 1212 of the thermoelectric cooler (TEC) device in Fig. 12), means for executing the command when thermal throttling is omitted (where the means for executing the command while thermal throttling is omitted can be, for example, the command execution circuit 1208 in Fig. 12), and means for executing the command with thermal throttling (where the means for executing the command with thermal throttling can be, for example, the command execution circuit 1208 in Fig. 12). Figure 10 summarizes, in the broadest sense, exemplary operations 1000 for use by a controller of an SSD. It should be noted that the operations with dashed lines in Figure 10 are optional. In short, the controller (e.g., controller 108, 208) in 1002 monitors the temperature of one or more areas of the SSD. In 1004, the controller determines whether the temperature exceeds a threshold temperature. If the controller determines that the temperature exceeds the threshold temperature, the controller in 1006 activates one or more thermoelectric cooling (TEC) devices. In 1008, the controller dynamically increases or decreases the current supplied to the one or more TEC devices.For example, the controller increases the amount of energy supplied to one or more TEC devices that have been activated if the temperature does not decrease after an initial period, or decreases the amount of energy supplied to one or more TEC devices that have been activated if the temperature does not rise after a second period. If the controller determines that the temperature will not exceed the threshold temperature, the controller in 1010 deactivates all active thermoelectric cooling (TEC) devices. In at least some examples, means for performing the functions shown in Fig. 10 and / or other functions illustrated or described herein may be provided. For example, a device (e.g., the controller 204 of Fig. 2) may be provided for use with a storage device (e.g., the non-volatile storage device 212), wherein the device includes: means for monitoring a temperature of one or more areas of the SSD (where the means for monitoring may be, for example, the temperature monitoring circuit 1210 in Fig. 12), means for determining whether the temperature exceeds a threshold temperature (where the means for determining may be, for example, the temperature monitoring circuit 1210 in Fig. 12), means for activating one or more thermoelectric cooling (TEC) devices to reduce the temperature when the temperature exceeds the threshold temperature (where the means for activating may be, for example, the temperature monitoring circuit 1210 in Fig. 12).the activation / deactivation circuit 1212 in Fig. 12 of the thermoelectric cooling (TEC) device), means for deactivating the one or more thermoelectric cooling (TEC) devices that have been activated when the temperature no longer exceeds the threshold temperature (where the means for deactivation may be, for example, the activation / deactivation circuit 1212 in Fig. 12 of the thermoelectric cooling (TEC) device). Figure 11 summarizes, in the broadest sense, exemplary operations 1100 for use by a controller of an SSD. In short, the controller (e.g., the controller 108, 208) in 1102 monitors the temperature of one or more areas of the SSD. In 1104, the controller determines whether the temperature exceeds a first threshold temperature. If the controller determines that the temperature does not exceed the first threshold temperature, the controller in 1112 can deactivate all active thermoelectric cooling (TEC) devices and continue monitoring the temperature. If the controller determines that the temperature exceeds the first threshold temperature, the controller in 1106 activates one or more thermoelectric cooling (TEC) devices using a first TEC activation configuration. In 1108, the controller determines whether the temperature exceeds a second threshold temperature.If the temperature exceeds the second threshold temperature, the controller in 1110 activates one or more thermoelectric cooling (TEC) devices using a second TEC activation configuration. If the temperature does not exceed the second threshold temperature, the controller returns to operation 1104 to determine whether the temperature exceeds the first threshold temperature. In some embodiments, the first TEC activation configuration supplies an initial amount of energy to the one or more TEC devices, and the second TEC activation configuration supplies a second amount of energy to the one or more TEC devices. The second amount of energy may be greater than the first amount of energy. In some embodiments, the one or more TEC devices are located on or near one or more heat-generating components of the SSD. In at least some examples, means for performing the functions shown in Fig. 11 and / or other functions illustrated or described herein may be provided. For example, a device (e.g., the controller 204 of Fig. 2) may be provided for use with a storage device (e.g., the non-volatile storage device 212), wherein the device includes: means for monitoring a temperature of one or more areas of the SSD (where the monitoring means may be, for example, the temperature monitoring circuit 1210 in Fig. 12), means for determining whether the temperature exceeds a first and / or a second threshold temperature (where the determining means may be, for example, the temperature monitoring circuit 1210 in Fig. 12).12), means for activating one or more thermoelectric cooling (TEC) devices when the temperature exceeds at least one of the first threshold temperatures or the second threshold temperature, wherein the one or more TEC devices are activated using a first TEC activation configuration when the temperature exceeds the first threshold temperature, and wherein the one or more TEC devices are activated using a second TEC activation configuration when the temperature exceeds the second threshold temperature (where the means for activation may be, for example, the activation / deactivation circuit 1212 of the thermoelectric cooling (TEC) device in Fig. 12), and means for deactivating the one or more TEC devices that have been activated when the temperature no longer exceeds the first threshold temperature (where the means for deactivation may be, for example,the activation / deactivation circuit 1212 of the thermoelectric cooling (TEC) device in Fig. 12). In some embodiments of the disclosure, and as previously described with reference to Fig. 1, the controller 108 may include the temperature attenuation control block 116. The temperature attenuation control block 116 may be implemented in software, hardware, firmware, or a combination thereof to perform various functions described herein for attenuating the temperature of an SSD. In some further embodiments of the disclosure, the temperature attenuation control block 116, with reference to Fig. 12, may include a command reception circuit 1204, a command analysis circuit 1206, a command execution circuit 1208, a temperature monitoring circuit 1210, an activation / deactivation circuit 1212 of a thermoelectric cooling (TEC) device, a control circuit 1214 of a thermoelectric cooling (TEC) device, and a load determination circuit 1216. The command receive circuit 1204 can be configured to receive a command for a memory operation. The command analyzer circuit 1206 can be configured to analyze a command to determine whether executing the command with thermal throttling would have a negative impact on the user experience. The command execution circuit 1208 can be configured to execute a command. In some embodiments, the command can be executed with thermal throttling disabled (e.g., when the memory operation load exceeds a first load threshold), or the command can be executed with thermal throttling (e.g., when the memory operation load exceeds a second load threshold). The temperature monitoring circuit 1210 can be configured to monitor the temperature of one or more areas of the SSD.According to some embodiments, the temperature monitoring circuit 1210 may further be configured to determine whether the temperature exceeds a threshold temperature and / or to determine whether the temperature exceeds at least a first threshold temperature or a second threshold temperature. The activation / deactivation circuit 1212 of the thermoelectric cooling (TEC) device can be configured to activate one or more thermoelectric cooling (TEC) devices. In some embodiments, the activation / deactivation circuit 1212 of the thermoelectric cooling (TEC) device can be configured to activate one or more thermoelectric cooling (TEC) devices when the load of the controller's storage operation exceeds at least a first load threshold or a second load threshold.In some embodiments, the activation / deactivation circuit of the thermoelectric cooling (TEC) device 1212 may be configured to activate one or more thermoelectric cooling (TEC) devices to reduce the temperature when the temperature exceeds a threshold temperature, and to deactivate the one or more thermoelectric cooling (TEC) devices that have been activated when the temperature no longer exceeds the threshold temperature.In some embodiments, the activation / deactivation circuit 1212 of the thermoelectric cooling (TEC) device can be configured to activate one or more thermoelectric cooling (TEC) devices when at least one of a first threshold temperature or a second threshold temperature is exceeded, such that the one or more TEC devices are activated using a first TEC activation configuration when the temperature exceeds the first threshold temperature, and the one or more of the TEC devices are activated using a second TEC activation configuration when the temperature exceeds the second threshold temperature.According to some embodiments, the first TEC activation configuration can supply a first amount of energy to the one or more TEC devices, and the second TEC activation configuration can supply a second amount of energy to the one or more TEC devices. The control circuit of the thermoelectric cooling (TEC) device 1214 can be configured to increase the amount of energy supplied to one or more TEC devices that have been activated if the temperature does not decrease after a first period, and can decrease the amount of energy supplied to one or more TEC devices that have been activated if the temperature does not increase after a second period. The load determination circuit 1216 can be configured to determine the load of the control's storage operation. According to some embodiments, the load determination circuit 1216 can further be configured to determine whether the load of the control's storage operation exceeds a first load threshold and / or a second load threshold. Although the above descriptions contain many specific embodiments of the invention, these should not be interpreted as limitations on the scope of the invention, but rather as examples of specific embodiments thereof. Accordingly, the scope of protection of the invention should be determined not by the embodiments described, but by the appended claims and their equivalents. Furthermore, reference in this description to an embodiment, and in an embodiment or similar language, means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the present disclosure.Therefore, the use of terms such as "in one embodiment," "in another embodiment," and similar language in this description does not necessarily refer to the same embodiment, but may encompass one or more, but not all, embodiments, unless expressly stated otherwise. The terms "including," "comprising," "possessing," and variations thereof mean "including but not limited to," unless expressly stated otherwise. An enumerative listing of elements does not imply that any or all of the elements are mutually exclusive and / or mutually inclusive, unless expressly stated otherwise. The terms "one" and "the" also refer to "one or more," unless expressly stated otherwise. Aspects of this disclosure have been described above with reference to schematic flowcharts and / or schematic block diagrams of processes, devices, systems, and computer program products according to embodiments of the disclosure. It is understood that each block of the schematic flowcharts and / or schematic block diagrams, and combinations of blocks in the schematic flowcharts and / or schematic block diagrams, can be implemented by computer program instructions.These computer program instructions can be provided to a processor of a computer or other programmable data processing device to create a machine such that the instructions executed via the processor or other programmable data processing device generate means for implementing the functions and / or steps specified in the schematic flowcharts and / or schematic block diagrams. It should also be noted that in some alternative implementations, the functions specified in the block may occur out of the order shown in the figures. For example, two blocks shown consecutively may actually be executed essentially simultaneously, or the blocks may sometimes be executed in reverse order, depending on the functionality involved. Other steps and procedures that are equivalent in function, logic, or effect to one or more blocks or parts thereof in the figures shown may be conceived. Although different arrow and line styles may be used in the flowchart and / or block diagrams, they should be understood as not limiting the scope of the corresponding embodiments.For example, an arrow can indicate a maintenance or monitoring period of unspecified duration between enumerated steps of the illustrated embodiment.

Claims

A method for operating a controller (108, 208) to manage the temperature of a data storage device (1045, 202), comprising: receiving a command for a storage operation; determining a storage operation load of the controller (108, 208); activating one or more thermoelectric cooler (TEC) devices (118, 218a-c) when the storage operation load of the controller (108, 208) exceeds at least a first load threshold or a second load threshold, wherein the second load threshold is greater than the first load threshold; and executing the command, wherein the command is executed while thermal throttling is omitted when the storage operation load is above the first load threshold, and wherein the command is executed with thermal throttling when the storage operation load is above the second load threshold. Method according to claim 1, wherein determining the storage operation utilization comprises determining at least one power consumption of the controller (108, 208), one total number of command queues that have reached a maximum capacity, one total number of queue commands or one data throughput of the controller (108, 208). Method according to claim 1, wherein the first utilization threshold is exceeded when more than a first number of a plurality of command queues have reached the maximum capacity and the second utilization threshold is exceeded when more than a second number of the plurality of command queues have reached the maximum capacity, wherein the second number is greater than the first number. Method according to claim 1, wherein the activation of one or more of the TEC devices (118, 218a-c) and the omission of thermal throttling reduce the temperature of the data storage device (104, 202) while avoiding a negative impact on the user experience when the storage operation utilization exceeds the first utilization threshold. The method according to claim 1, wherein the activation of the one or more TEC devices (118, 218a-c) comprises: supplying a first quantity of energy to the one or more TEC devices (118, 218a-c) when the storage operation utilization of the controller (108, 208) exceeds the first utilization threshold; and providing a second quantity of energy to the one or more TEC devices (118, 218a-c) when the storage operation utilization of the controller (108, 208) exceeds the second utilization threshold, wherein the second quantity of energy is greater than the first quantity of energy. A controller (108, 208) configured to manage the temperature of a data storage device (104, 202) comprising: a processor configured to execute the method according to any one of claims 1-5.