Temperature-Controlled Storage Module
A temperature-controlled storage module is disclosed. In one embodiment, a storage module is provided comprising a memory, a temperature sensor, a thermoelectric cooler, and a controller. The controller compares a temperature reading from the temperature sensor to a target temperature. If the temperature reading differs from the target temperature, the controller activates the thermoelectric cooler. For example, if the temperature reading is higher than the target temperature, the thermoelectric cooler can be activated to cool the memory. This allows the memory (e.g., NAND die(s)) to operate in a narrow range of temperatures providing better system tradeoffs on memory (e.g., NAND) characteristics.
The behavior of memories, such as NAND flash memories, is often very dependent on its operating and storage temperature. In high temperatures, the endurance is improved due to better annealing, but data retention is degraded according to the Arrhenius equation. In very low temperatures, other effects are prominent. Memory designers take this dependence into consideration to produce a memory that operates in a wide range of temperatures, which provides a compromise between data retention, endurance, and other memory characteristics. However, operating at wide range of temperatures is a compromise, as certain characteristics are better suited for a smaller temperature range tailored to their specific operations.
Temperature-related issues affect storage modules is other ways as well. For example, increases in read and write performance often require multiple memory dies or plane parallelism to achieve the desired performance. Current consumption and heat dissipation are two major factors that may limit the amount of parallelism in a storage module. Even if there is no limitation on current consumption and the host can guarantee a required housing temperature, there can still be a heat problem due to the passive heat resistance between the memory dies and the housing. Moreover, typical host access to the storage module is often in short, intensive demands for data known as bursts. During the time of a burst, more demand is placed on the memory, which can increase the temperature of the memory to levels at or above the maximum operating temperature rating.
OVERVIEWEmbodiments of the present invention are defined by the claims, and nothing in this section should be taken as a limitation on those claims.
By way of introduction, the below embodiments relate to a temperature-controlled storage module. In one embodiment, a storage module is provided comprising a memory, a temperature sensor, a thermoelectric cooler, and a controller. The controller compares a temperature reading from the temperature sensor to a target temperature. If the temperature reading differs from the target temperature, the controller activates the thermoelectric cooler. For example, if the temperature reading is higher than the target temperature, the thermoelectric cooler can be activated to cool the memory. This allows the memory (e.g., NAND die(s)) to operate in a narrow range of temperatures providing better system tradeoffs on memory (e.g., NAND) characteristics.
Other embodiments are possible, and each of the embodiments can be used alone or together in combination. Accordingly, various embodiments will now be described with reference to the attached drawings.
Turning to the drawings,
The storage module 100 in
Because a thermoelectric cooler is a heat pump that transfers heat from one side of the device to the other with consumption of electrical energy, a thermoelectric cooler can be used either for cooling (refrigeration) or heating depending on the direction of the current. As will be discussed below, in these embodiments, the thermoelectric cooler is used to cool or heat the memory dies 120 in order to keep a desired temperature. Because cooling and heating requires extra current from a power supply, such power requirements should be taken into considerations when designing a system for use with the storage module 100 to ensure adequate power is being supplied to the storage module 100. Due to the power requirements, the storage module 100 may find particular use where there is no shortage of power, such as in a solid-state drive or in a host device (e.g., a set-top box) with embedded memory. However, these embodiments can also be used with removable storage devices. For example, the storage module 100 can receive power from an outside source to power the controller 110 and memory 120 or can have its own power source (e.g., a battery). Further, as will be described below, there can be additional TECs internal to or external to (such as (TEC 2) 150) the storage module 100. The use of the thermoelectric cooler 130 will be discussed in detail below.
As shown in
As shown in
In
Returning to
The host interface module 111 receives host commands (e.g., read and write commands) through a storage interface, such as eMMC or any of the other interface listed above, for example. The flash management module 112 is firmware executed by the controller 110 to handle host requests and translate them to NAND flash operations, and the flash interface module 113 performs memory operation according to instructions provided by the flash management module 112.
The TEC controller 115 is used in conjunction with the TEC 130 to provide power to the TEC 130 to heat or cool the NAND memory dies 120, as appropriate. As discussed above, the behavior of memories, such as NAND flash memories, is often very dependent on temperature. In high temperatures, the endurance is improved due to better annealing, but data retention is degraded. In very low temperatures, other effects are prominent. Memory designers take this dependence into consideration to produce a memory that operates in a wide range of temperatures, but using a wide range of temperatures is often not optimal, as certain characteristics are better suited for a smaller temperature range tailored to their specific operations.
This embodiment can be used to set the temperature of the storage module 100 at a temperature best suited for its particular operation. Further, with this embodiment, the end user of the storage module 100 can be given the ability to control the storage module's temperature to emphasize a desired system or memory (e.g., NAND) characteristic, such as endurance or data retention. For example, with some memory technologies, a temperature range of 0 C to 40 C is preferred for high data retention, while a temperature range of 55 C to 85 C is preferred for high endurance.
In operation, the TEC controller 115 compares a temperature reading from the temperature sensor 125 to a target temperature. The target temperature can be provided to the TEC controller 115 by the flash management module 112, and the TEC controller 115 can obtain the temperature reading from the temperature sensor 125 through a NAND command. If the temperature reading from the temperature sensor 125 differs from the target temperature, the TEC controller 115 can activate the TEC 130 to either cool or heat the memory 120, as appropriate. This operation is shown in the flow chart 300 in
As shown in
There are many configurations and alternatives to these embodiments. For example, in the embodiment above, the temperature sensor 125 was part of the memory dies 120. However, instead of or in addition to the temperature sensor 125 in the memory dies 120, the storage module 110 can have a temperature sensor 117 in the ASIC of the controller 110 or in another location in the storage module 100 (see
The TEC 130 can be located in any suitable location in the storage module 100, and
If there is a significant temperature gradient between the closest die to the TEC 130 and the farthest, additional heating/cooling may be needed, and one or more additional TECs can be added to the storage module 100. For example, in
It should be noted that while the TEC(s) were internal to the packaging 50 (housing) of the storage module 100 in the above examples, a TEC external to the packaging 50 (see
In the above example, it was assumed that a target temperature was desired for the entire memory die 120 to optimize one NAND characteristic. However, there may be more than one NAND characteristic for which different target temperatures are desired. For example, it may be desired to design a storage module that has very long data retention for user content and very high endurance for a single-level cell (SLC) cache, both of which cannot be optimally achieved at the same temperature. To address this situation, a memory die can be divided into a plurality of regions, with each region being associated with a different target temperature. The TEC can also be divided into a corresponding plurality of regions that are independently controlled by the TEC controller. So, for the above example, advantage can be taken of the planarity of the TEC and memory to divide the memory and TEC into two separate independent units. The first TEC region can heat the cache blocks and guarantee high endurance, while, at the same time, the second TEC region can cool the user content blocks (intact blocks) and guarantee high data retention. In this way, a non-uniform temperature profile across the TEC is used to achieve different temperature conditions for different memory uses (here, caching and storage of intact blocks).
In another embodiment, temperature control of a storage module is used to prevent the temperature of the memory from rising to levels at or above the maximum operating temperature rating when a host is sending a burst of data. As used herein, a “burst of data” refers to a relatively-high load period by the host (i.e., a period in which the host is writing a relatively-high amount of data and/or issues a relatively-high number of write commands). That is, bursts are periods of time when a higher-than-average performance by the storage module 100 is required to satisfy the write activity of the host. In many situations, the host is operating in a near-idle mode most of the time and occasionally sends a burst of data when there is a high demand for data (e.g., when a user activates a host device (such as a camera or mobile phone) or when an email arrives with a large attachment). The typical duration of a burst of data is a few seconds, and the required performance is higher than while in other modes. This short and intensive demand for data can increase the temperature of the memory to dangerous levels and can negatively affect the system's responsiveness, especially when multiple die parallelism is used to meet increasing read and write performance requirements.
To address this concern, in another embodiment (which can be used together with or separately from the embodiments discussed above, the TEC controller 115 determines that the host is about to send a data burst and then activates the TEC 130 to cool the memory 120 prior to the receiving of the data burst.
The TEC controller 115 can determiner that the host is about to send a data burst in any suitable manner. For example, the TEC controller 115 can receive a notification (e.g., via a storage protocol command) that the host is about to send a data burst. This notification can expressly indicate that a data burst is upcoming or can contain some other message that is indicative of an upcoming burst (e.g., that the host buffer is full). As another example, the storage module 100 can have an internal detection mechanism for inferring when the burst is about to occur based on host activity. For example, the storage module 100 can determine if the write activity of the host over a time period exceeds a threshold. The write activity can be, for example, an amount of data received from the host to be written in the storage module 100 and/or a number of write commands received from the host (e.g., the number of input/output operations per second (“IOPS”)). It is preferred that the time period over which the storage module 100 assesses whether there is a burst of data be small enough to enable fast detection of the data burst but large enough to eliminate noise in the detection (e.g., 100-200 msec). Additionally, the threshold against which to measure write activity can be static (an absolute number) (e.g., data being received from the host at a rate of 40 MB/sec and/or 200-2,000 write commands being received from the host over a 100-200 msec window) or dynamic (a relative number) (e.g., as a percentage based on previous write activity of the host (over the same or different time period) in a weighted or unweighted manner). If the storage module 100 is designed to both accept a notification from the host and to have an internal detection mechanism, rules can be set to determine which indication to follow if there is a clash (e.g., the notification from the host would trigger the cooling operation, and the later indication from the internal detection mechanism would be ignored).
Irrespective of the method used, when the TEC controller 115 determines that the host is about to send the burst, the TEC controller 115 activates the TEC 130 to cool the memory 120 prior to the host sendng the burst. A target low temperature can be set, or the TEC 130 can just run until turned off. This “pre-cools” the memory 120 to account for the heat to be generated when the host sends the burst. The TEC controller 115 can determine when to stop cooling the memory 120 either in response to a notification from the host or by making an inference from the write activity of the host.
Using the method of this embodiment, when the storage module 100 receives a burst notification from the host, it begins to cool the memory 120 before burst is received. This lowers the temperature floor of the memory 120, so that even with a temperature rise of 2× delta T, the temperature is lower than the maximum operating temperature.
There are many alternatives that can be used with this embodiment. For example, instead of stopping the cooling of the memory at the end of the burst, the TEC controller 115 can provide further cooling after the end of the burst to prepare for the next burst, especially if the next burst will occur a short time (e.g., 15 seconds) later or when the start of the burst is detected internally by the storage device 100 (since the internal detection may cause the cooling to start after the burst has started). In another alternate embodiment (shown in
It is intended that the foregoing detailed description be understood as an illustration of selected forms that the invention can take and not as a definition of the invention. It is only the following claims, including all equivalents, that are intended to define the scope of the claimed invention. Finally, it should be noted that any aspect of any of the preferred embodiments described herein can be used alone or in combination with one another.
Claims
1. A storage module comprising:
- a memory;
- a temperature sensor;
- a thermoelectric cooler; and
- a controller in communication with the memory, the temperature sensor, and the thermoelectric cooler, wherein the controller is configured to: compare a temperature reading from the temperature sensor to a target temperature; and if the temperature reading differs from the target temperature, activate the thermoelectric cooler.
2. The storage module of claim 1, wherein the target temperature is predetermined.
3. The storage module of claim 1, wherein the target temperature is adjustable by a user of the storage module.
4. The storage module of claim 1, wherein the target temperature is a single temperature.
5. The storage module of claim 1, wherein the target temperature is a temperature range.
6. The storage module of claim 1, wherein if the temperature reading is higher than the target temperature, the controller activates the thermoelectric cooler to cool the memory.
7. The storage module of claim 6, wherein if the temperature reading is lower than the target temperature, the controller activates the thermoelectric cooler to heat the memory.
8. The storage module of claim 1, wherein the memory comprises a memory die and a substrate, and wherein the thermoelectric cooler is located between the memory die and the substrate.
9. The storage module of claim 8 further comprising a printed circuit board and a plurality of solder balls thermally and electrically coupling the substrate with the printed circuit board.
10. The storage module of claim 1, wherein the memory comprises a plurality of memory dies, wherein the storage module comprises an additional thermoelectric cooler, and wherein the plurality of memory dies are located between the thermoelectric cooler and the additional thermoelectric cooler.
11. The storage module of claim 1 further comprising packaging housing the controller and the memory, and wherein the thermoelectric cooler is internal to the packaging.
12. The storage module of claim 1 further comprising packaging housing the controller and the memory, and wherein the thermoelectric cooler is external to the packaging.
13. The storage module of claim 1, wherein the temperature sensor is located in the memory.
14. The storage module of claim 1, wherein the temperature sensor is located in the controller.
15. The storage module of claim 1, wherein the memory is divided into a plurality of regions, each associated with a different target temperature, and wherein the thermoelectric cooler is divided into a corresponding plurality of regions that are independently controlled by the controller.
16. The storage module of claim 1, wherein the storage module is embedded in a host.
17. The storage module of claim 1, wherein the storage module is removably connected to a host.
18. The storage module of claim 1, wherein the memory is a NAND memory.
19. The storage module of claim 1, wherein the storage module is a solid-state drive.
20. A storage module comprising:
- a substrate;
- a memory die;
- a thermoelectric cooler located between the memory die and the substrate; and
- packaging that houses the substrate, memory die, and thermoelectric cooler.
21. The storage module of claim 20 further comprising a second thermoelectric cooler located on an other side of the memory die.
22. The storage module of claim 21 further comprising at least one additional memory die located between the memory die and the second thermoelectric cooler.
23. The storage module of claim 20 further comprising a controller located on an other side of the memory die.
24. The storage module of claim 23 further comprising at least one additional memory die located between the memory die and the controller.
25. The storage module of claim 20 further comprising a controller located between the memory die and the thermoelectric cooler.
26. The storage module of claim 20, wherein the storage module is embedded in a host.
27. The storage module of claim 20, wherein the storage module is removably connected to a host.
28. The storage module of claim 20, wherein the memory die is a NAND memory die.
29. The storage module of claim 20, wherein the storage module is a solid-state drive.
30. A method of controlling temperature of a storage module, the method comprising:
- performing the following in a memory module having a memory, a temperature sensor, and a thermoelectric cooler: comparing a temperature reading from the temperature sensor to a target temperature; and if the temperature reading differs from the target temperature, activating the thermoelectric cooler.
31. The method of claim 30, wherein the target temperature is predetermined.
32. The method of claim 30, wherein the target temperature is adjustable by a user of the storage module.
33. The method of claim 30, wherein the target temperature is a single temperature.
34. The method of claim 30, wherein the target temperature is a temperature range.
35. The method of claim 30, wherein if the temperature reading is higher than the target temperature, the thermoelectric cooler is activated to cool the memory.
36. The method of claim 35, wherein if the temperature reading is lower than the target temperature, the thermoelectric cooler is activated to heat the memory.
37. The method of claim 30, wherein the memory comprises a memory die and a substrate, and wherein the thermoelectric cooler is located between the memory die and the substrate.
38. The method of claim 37 further comprising a printed circuit board and a plurality of solder balls thermally and electrically coupling the substrate with the printed circuit board.
39. The method of claim 30, wherein the memory comprises a plurality of memory dies, wherein the storage module comprises an additional thermoelectric cooler, and wherein the plurality of memory dies are located between the thermoelectric cooler and the additional thermoelectric cooler.
40. The method of claim 30, wherein the storage module comprises packaging housing the controller and the memory, and wherein the thermoelectric cooler is internal to the packaging.
41. The method of claim 30, wherein the storage module comprises packaging housing the controller and the memory, and wherein the thermoelectric cooler is external to the packaging.
42. The method of claim 30, wherein the temperature sensor is located in the memory.
43. The method of claim 30, wherein the temperature sensor is located in the controller.
44. The method of claim 30, wherein the memory is divided into a plurality of regions, each associated with a different target temperature, and wherein the thermoelectric cooler is divided into a corresponding plurality of regions that are independently controlled by the controller.
45. The method of claim 30, wherein the storage module is embedded in a host.
46. The method of claim 30, wherein the storage module is removably connected to a host.
47. The method of claim 30, wherein the memory is a NAND memory.
48. The method of claim 30, wherein the storage module is a solid-state drive.
Type: Application
Filed: Sep 30, 2013
Publication Date: Apr 2, 2015
Inventors: Yacov Duzly (Raanana), Alon Marcu (Tel Mond)
Application Number: 14/041,821
International Classification: F25B 21/04 (20060101);