Storage device and storage device management method

By dynamically adjusting the temperature threshold and power state, the data error problem caused by temperature increase in the storage device is solved, and the reliability and data accuracy of the storage device are improved.

CN114765035BActive Publication Date: 2025-09-09COMPAL ELECTRONICS INC
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202110161652.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2021-01-04
Filing Date
2021-02-05
Publication Date
2025-09-09
Estimated Expiration
2041-02-05

AI Technical Summary

Technical Problem

In conventional storage devices, rewritable non-volatile memory modules may suffer from data errors due to temperature increases.

Method used

By dynamically adjusting the temperature threshold, using a temperature sensor to detect the temperature of the storage device, and controlling the power state of the storage device according to different temperature thresholds, including normal working state, inhibition mode and standby state, the temperature is controlled and data errors are avoided.

Benefits of technology

This effectively reduces data errors caused by excessive temperature in storage devices, thereby improving the reliability and data accuracy of storage devices.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114765035B_ABST
    Figure CN114765035B_ABST
Patent Text Reader

Abstract

The present invention provides a storage device and a storage device management method applicable thereto. The method comprises periodically obtaining a current device temperature corresponding to the storage device via a temperature sensor of the storage device; accumulating a first count value in response to determining that the current device temperature is greater than a first temperature threshold; adjusting the first temperature threshold in response to determining that the first count value is greater than a first count threshold; accumulating a second count value in response to determining that the current device temperature is greater than a second temperature threshold; adjusting the second temperature threshold in response to determining that the second count value is greater than a second count threshold; and controlling the storage device to enter a target system state in response to determining that the current device temperature is not less than a critical temperature threshold.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to a storage device, and in particular to a storage device equipped with a rewritable non-volatile memory module, and a storage device management method used by the storage device. Background Art

[0002] With the advancement of technology, storage devices are gradually using rewritable non-volatile memory modules with higher access speeds, such as flash memory, to store data. However, this type of rewritable non-volatile memory module may cause errors in the accessed data due to the increase in device temperature.

[0003] Therefore, how to prevent data errors in storage devices caused by temperature increase has become a goal that people in this field are working hard to develop. Summary of the Invention

[0004] The present invention provides a storage device and a storage device management method used by the storage device, which can dynamically adjust different temperature thresholds according to the current device temperature of the storage device, so as to more actively control the temperature of the storage device through the adjusted temperature thresholds.

[0005] One embodiment of the present invention provides a storage device. The storage device includes a rewritable non-volatile memory module, a connection interface circuit, a temperature sensor, and a storage controller. The connection interface circuit is used to electrically connect to a host system. The temperature sensor is used to detect the current device temperature of the storage device. The storage controller is electrically connected to the rewritable non-volatile memory module, the connection interface circuit, and the temperature sensor. In addition, the storage controller is used to periodically obtain the current device temperature of the storage device via the temperature sensor, wherein in response to determining that the current device temperature is greater than a first temperature threshold value, the storage controller is further used to accumulate a first count value. The storage controller is further used to determine whether the first count value is greater than a first count threshold value, wherein in response to determining that the first count value is greater than the first count threshold value, the storage controller is further used to adjust the first temperature threshold value. In response to determining that the current device temperature is greater than a second temperature threshold, the storage controller is further configured to accumulate a second count value, and the storage controller is further configured to determine whether the second count value is greater than a second count threshold, wherein in response to determining that the second count value is greater than the second count threshold, the storage controller is further configured to adjust the second temperature threshold. The storage controller is further configured to determine whether the current device temperature is greater than a critical temperature threshold, wherein in response to determining that the current device temperature is not less than the critical temperature threshold, the storage controller is further configured to control the storage device to enter a target system state.

[0006] One embodiment of the present invention provides a storage device management method applicable to a storage device. The method includes periodically obtaining the current device temperature corresponding to the storage device via a temperature sensor of the storage device; accumulating a first count value in response to determining that the current device temperature is greater than a first temperature threshold value; determining whether the first count value is greater than a first count threshold value, wherein the first temperature threshold value is adjusted in response to determining that the first count value is greater than the first count threshold value; accumulating a second count value in response to determining that the current device temperature is greater than a second temperature threshold value; determining whether the second count value is greater than a second count threshold value, wherein the second temperature threshold value is adjusted in response to determining that the second count value is greater than the second count threshold value; and determining whether the current device temperature is greater than a critical temperature threshold value, wherein the storage device is controlled to enter a target system state in response to determining that the current device temperature is not less than the critical temperature threshold value.

[0007] In one embodiment of the present invention, the storage device management method further includes: in response to determining that the first count value is not greater than the first count threshold value, executing the step of periodically obtaining the current device temperature via the temperature sensor of the storage device; in response to determining that the second count value is not greater than the second count threshold value, executing the step of periodically obtaining the current device temperature via the temperature sensor of the storage device; and in response to determining that the current device temperature is not greater than the critical temperature threshold value, executing the step of periodically obtaining the current device temperature via the temperature sensor of the storage device.

[0008] In one embodiment of the present invention, the step of adjusting the first temperature threshold value includes setting a first adjustment flag, wherein the first adjustment flag is used to indicate that the first temperature threshold value has been adjusted. Furthermore, the step of adjusting the second temperature threshold value includes setting a second adjustment flag, wherein the second adjustment flag is used to indicate that the second temperature threshold value has been adjusted.

[0009] In an embodiment of the present invention, the target system state is a standby state or a sleep state.

[0010] In one embodiment of the present invention, the step of adjusting the first temperature threshold value includes adjusting the first temperature threshold value to a first target value, wherein the first target value is smaller than a first preset value corresponding to the first temperature threshold value. The step of adjusting the second temperature threshold value includes adjusting the second temperature threshold value to a second target value, wherein the second target value is smaller than a second preset value corresponding to the second temperature threshold value.

[0011] In one embodiment of the present invention, the storage device management method further includes: when the storage device enters a normal working state, determining whether the first temperature threshold value and the second temperature threshold value have been adjusted, wherein in response to determining that the first temperature threshold value has been adjusted, the first temperature threshold value is set to the first target value, wherein in response to determining that the second temperature threshold value has been adjusted, the second temperature threshold value is set to the second target value, wherein in response to determining that the first temperature threshold value has not been adjusted, the first temperature threshold value is set to the first preset value, wherein in response to determining that the second temperature threshold value has not been adjusted, the second temperature threshold value is set to the second preset value.

[0012] In one embodiment of the present invention, the storage device management method further includes: after setting the first temperature threshold value as the first target value and the second temperature threshold value as the second target value, determining whether the current device temperature is greater than or equal to a recovery temperature threshold value and less than the first target value set as the first temperature threshold value; in response to determining that the current device temperature is greater than or equal to the recovery temperature threshold value and less than the first target value set as the first temperature threshold value, accumulating a third count value; determining whether the third count value is greater than a third count threshold value; in response to determining that the third count value is greater than the third count threshold value, adjusting the first temperature threshold value to a first recovery value; in response to determining that the third count value is not greater than the third count threshold value, determining whether the current device temperature is not less than the first target value set as the first temperature threshold value. The first target value of a temperature threshold value; in response to determining that the current device temperature is less than the first target value set as the first temperature threshold value, adjusting the first temperature threshold value to the first recovery value; in response to determining that the current device temperature is not less than the first target value set as the first temperature threshold value, judging whether the current device temperature is less than the second target value set as the second temperature threshold value; in response to determining that the current device temperature is not less than the second target value set as the second temperature threshold value, accumulating a fourth count value; judging whether the fourth count value is greater than a fourth count threshold value; and in response to determining that the fourth count value is greater than the fourth count threshold value, adjusting the second temperature threshold value to a second recovery value, wherein the first recovery value is greater than the first target value, and the second recovery value is greater than the second target value.

[0013] In one embodiment of the present invention, the storage device management method also includes: in response to determining that the current device temperature is greater than the first temperature threshold value and less than the second temperature threshold value, controlling the storage device in a first inhibition mode, wherein in the first inhibition mode, the storage device operates at a first power; and in response to determining that the current device temperature is greater than the second temperature threshold value and less than the critical temperature threshold value, controlling the storage device in a second inhibition mode, wherein in the second inhibition mode, the storage device operates at a second power; and in response to determining that the current device temperature is not greater than the first temperature threshold value, controlling the storage device in a normal working state, wherein in the normal working state, the storage device operates at normal power, wherein the normal power is greater than the first power, and the first power is greater than the second power.

[0014] In one embodiment of the present invention, the storage device management method further includes: resetting the first count value in response to determining that the current device temperature is not greater than the first temperature threshold value; and resetting the second count value in response to determining that the current device temperature is not greater than the second temperature threshold value.

[0015] Based on the above, the storage device and storage device management method provided by the embodiments of the present invention can dynamically lower one or more corresponding temperature thresholds in response to a temperature increase in the storage device. This allows the storage device to further reduce the operating power of the storage device based on the adjusted one or more temperature thresholds, thereby more actively suppressing the temperature increase caused by the operation of the storage device and avoiding data errors caused by excessive temperature in the storage device. In this way, the storage device and storage device management method provided by the embodiments of the present invention can effectively improve the reliability of the storage device and the accuracy of the stored data. BRIEF DESCRIPTION OF THE DRAWINGS

[0016] Figure 1A is a block diagram of a storage device and a host system according to an embodiment of the present invention;

[0017] Figure 1B is a block diagram of a storage controller according to an embodiment of the present invention;

[0018] Figure 2 is a flowchart of a storage device management method according to an embodiment of the present invention;

[0019] Figure 3 is a flowchart of a storage device management method according to another embodiment of the present invention;

[0020] Figure 4Ais a schematic diagram showing management of performance / power of a storage device based on a temperature threshold according to an embodiment of the present invention;

[0021] Figure 4B is a schematic diagram illustrating managing the performance / power of a storage device based on a temperature threshold according to an embodiment of the present invention;

[0022] Figure 5 FIG. 4 is a flow chart of a storage device management method for restoring an adjusted temperature threshold value according to an embodiment of the present invention. DETAILED DESCRIPTION

[0023] Reference will now be made in detail to exemplary embodiments of the present invention, examples of which are illustrated in the accompanying drawings. Whenever possible, the same reference numerals are used in the drawings and the description to refer to the same or like parts.

[0024] In this embodiment, the storage device includes a rewritable non-volatile memory module and a storage device controller (also known as a storage controller or storage control circuit). Furthermore, the storage device is used in conjunction with a host system so that the host system can write data to the storage device or read data from the storage device.

[0025] Figure 1A FIG. 1 is a block diagram illustrating a storage device and a host system according to an embodiment of the present invention. Figure 1B FIG. 4 is a block diagram of a storage controller according to an embodiment of the present invention.

[0026] Please refer to Figure 1A and 1B The host system 10 includes a processor 110, a host memory 120, and a data transfer interface circuit 130. In this embodiment, the data transfer interface circuit 130 is coupled (also known as electrically connected) to the processor 110 and the host memory 120. In another embodiment, the processor 110, the host memory 120, and the data transfer interface circuit 130 are coupled to each other via a system bus.

[0027] The storage device 20 includes a storage controller 210, a rewritable non-volatile memory module 220, a connection interface circuit 230, and a temperature sensor (thermal sensor) 240. The storage controller 210 includes a processor 211, a data management circuit 212, a memory interface control circuit 213, an error checking and correction circuit 214, a buffer memory 215, and a power management circuit 216. It should be noted that the operations performed by the various components of the storage controller 210 may also be considered as operations performed by the storage controller 210.

[0028] In this embodiment, the host system 10 is coupled to the storage device 20 via the data transmission interface circuit 130 and the connection interface circuit 230 of the storage device 20 to perform data access operations. For example, the host system 10 can store data to the storage device 20 or read data from the storage device 20 via the data transmission interface circuit 130.

[0029] In this embodiment, the processor 110, the host memory 120, and the data transmission interface circuit 130 may be disposed on a motherboard of the host system 10. The number of data transmission interface circuits 130 may be one or more. Through the data transmission interface circuit 130, the motherboard may be coupled to the storage device 20 via a wired or wireless method. The storage device 20 may be, for example, a USB flash drive, a memory card, a solid state drive (SSD), or a wireless memory storage device.

[0030] In this embodiment, the data transmission interface circuit 130 and the connection interface circuit 230 are interface circuits compatible with the Peripheral Component Interconnect Express (PCI Express) standard. Furthermore, data transmission between the data transmission interface circuit 130 and the connection interface circuit 230 utilizes the Non-Volatile Memory Express (NVMe) communication protocol.

[0031] However, it should be understood that the present invention is not limited thereto, and the data transmission interface circuit 130 and the connection interface circuit 230 may also comply with the Parallel Advanced Technology Attachment (PATA) standard, the Institute of Electrical and Electronic Engineers (IEEE) 1394 standard, the Serial Advanced Technology Attachment (SATA) standard, the Universal Serial Bus (USB) standard, or other suitable standards.

[0032] In this embodiment, the host memory 120 is used to temporarily store instructions or data executed by the processor 110. For example, in this exemplary embodiment, the host memory 120 may be a dynamic random access memory (DRAM), a static random access memory (SRAM), etc. However, it should be understood that the present invention is not limited thereto, and the host memory 120 may also be other suitable memories.

[0033] The storage controller 210 is used to execute a plurality of logic gates or control instructions implemented in hardware or firmware and perform operations such as writing, reading, and erasing data in the rewritable non-volatile memory module 220 according to instructions from the host system 10 .

[0034] More specifically, the processor 211 in the storage controller 210 is hardware with computing capabilities that controls the overall operation of the storage controller 210. Specifically, the processor 211 has a plurality of control instructions, and when the storage device 20 operates, these control instructions are executed to perform operations such as writing, reading, and erasing data.

[0035] It is worth mentioning that in this embodiment, the processor 110 and the processor 211 are, for example, a central processing unit (CPU), a microprocessor, or other programmable processing unit (Programmable processing unit), a digital signal processor (DSP), a programmable controller, a programmable logic device (PLD) or other similar circuit elements, but the present invention is not limited thereto.

[0036] In one embodiment, the storage controller 210 further includes a read-only memory (not shown) and a random access memory (RAM) (not shown). Specifically, the read-only memory includes a boot code. When the storage controller 210 is enabled, the processor 211 first executes the boot code to load the control instructions / program code / firmware stored in the rewritable non-volatile memory module 220 into the RAM of the storage controller 210. The processor 211 then executes these control instructions / program code / firmware to perform data access operations such as writing, reading, and erasing data, as well as management operations related to the storage device.

[0037] The data management circuit 212 is coupled to the processor 211, the memory interface control circuit 213, and the connection interface circuit 230. The data management circuit 212 is configured to receive instructions from the processor 211 to transmit data. For example, the data management circuit 212 reads data from the host system 10 (e.g., the host memory 120) via the connection interface circuit 230 and writes the read data to the rewritable non-volatile memory module 220 via the memory interface control circuit 213 (e.g., performing a write operation based on a write instruction from the host system 10). For another example, the data management circuit 212 reads data from one or more physical units of the rewritable non-volatile memory module 220 via the memory interface control circuit 213 and writes the read data to the host system 10 (e.g., the host memory 120) via the connection interface circuit 230 (e.g., performing a read operation based on a read instruction from the host system 10). In another embodiment, the data management circuit 212 may also be integrated into the processor 211.

[0038] The memory interface control circuit 213 receives instructions from the processor 211 and cooperates with the data management circuit 212 to perform write (also known as programming), read, or erase operations on the rewritable non-volatile memory module 220. Furthermore, the data to be written to the rewritable non-volatile memory module 220 is converted by the memory interface control circuit 213 into a format acceptable to the rewritable non-volatile memory module 220.

[0039] The rewritable non-volatile memory module 220 is coupled to the memory controller 210 (memory interface control circuit 213 ) and is used to store data written by the host system 10 . The rewritable non-volatile memory module 220 may be a single-level cell (SLC) NAND flash memory module (i.e., a flash memory module in which one L1 cell can store one bit), a multi-level cell (MLC) NAND flash memory module (i.e., a flash memory module in which one L1 cell can store two bits), a triple-level cell (TLC) NAND flash memory module (i.e., a flash memory module in which one L1 cell can store three bits), a quadruple level cell (QLC) NAND flash memory module (i.e., a flash memory module in which one L1 cell can store four bits), a 3D NAND flash memory module, a vertical NAND flash memory module, or other flash memory modules, or other memory modules with similar characteristics. The third-level memory cells in the rewritable non-volatile memory module 220 are arranged in an array.

[0040] In this embodiment, the rewritable non-volatile memory module 220 has multiple word lines, each of which is coupled to multiple third-level memory cells. Multiple third-level memory cells on the same word line constitute one or more physical programming units. Furthermore, multiple physical programming units can constitute one physical unit (physical block or physical erase unit).

[0041] In this embodiment, the ECC circuit 214 is coupled to the processor 211 and is configured to perform error checking and correction (ECC) procedures to ensure data accuracy. Specifically, when the processor 211 receives a write command from the host system 10, the ECC circuit 214 generates an error correcting code (ECC) and / or an error detecting code (EDC) for the data corresponding to the write command. The processor 211 then writes the data corresponding to the write command and the corresponding ECC and / or EDC to the rewritable non-volatile memory module 220. Subsequently, when the processor 211 reads data from the rewritable non-volatile memory module 220, it also reads the ECC and / or EDC corresponding to the data. The ECC circuit 214 then performs error checking and correction procedures on the read data based on the ECC and / or EDC. Furthermore, after the ECC process is completed, if the read data is successfully decoded, the ECC circuit 214 can obtain a plurality of error bit counts corresponding to the plurality of physical pages and return the plurality of error bit counts corresponding to the plurality of physical pages to the processor 211.

[0042] In one embodiment, the storage controller 210 further includes a buffer memory 215 and a power management circuit 216. The buffer memory 215 (e.g., dynamic random access memory) is coupled to the processor 211 and is used to temporarily store data and instructions from the host system 10, data from the rewritable non-volatile memory module 220, or other system data used to manage the storage device 20, allowing the processor 211 to quickly access the data, instructions, or system data from the buffer memory 215. The power management circuit 216 is coupled to the processor 211 and is used to provide and manage power to the storage device 20.

[0043] In this embodiment, the temperature sensor 240 is used to detect temperature information corresponding to the storage device 20 (also known as the device temperature). The temperature information includes: (1) the overall temperature of the storage device 20; (2) the temperature of the rewritable non-volatile memory module 220; and (3) the temperature of the storage controller 210. The temperature sensor 240 can transmit the currently detected temperature information to the processor 211.

[0044] The following will describe in detail a storage device and a storage device management method used by the storage device according to embodiments of the present invention with reference to a plurality of drawings.

[0045] Figure 2 This is a flow chart of a storage device management method according to an embodiment of the present invention. Figure 2 In step S210, the processor 211 periodically obtains the current device temperature of the corresponding storage device 20. Specifically, as described above, the storage controller 210 (e.g., the processor 211) may periodically obtain the current device temperature (i.e., the current device temperature) of the storage device 20 from the temperature sensor 240. It should be noted that the present invention does not limit the length of the period for obtaining the device temperature.

[0046] Next, in step S220, in response to determining that the current device temperature is greater than a first temperature threshold, the storage controller 210 increments a first count value. Specifically, the storage controller 210 may determine whether the obtained current device temperature is greater than the first temperature threshold value. The first temperature threshold value is initially set to a first preset value (e.g., 75 degrees Celsius). In one embodiment, in response to determining that the current device temperature is not greater than the first temperature threshold value, the storage controller resets the first count value. In other words, the first count value indicates the number of times that a plurality of consecutively obtained current device temperatures have exceeded the first temperature threshold value.

[0047] Next, in step S230, the storage controller 210 determines whether the first count value is greater than a first count threshold value. If the first count value is determined to be greater than the first count threshold value, step S240 is executed. If the first count value is determined not to be greater than the first count threshold value, step S210 is executed again (i.e., the current device temperature for the next cycle is obtained).

[0048] In step S240, the storage controller 210 adjusts the first temperature threshold. Specifically, the storage controller 210 adjusts the first temperature threshold to a first target value, wherein the first target value is less than the first preset value corresponding to the first temperature threshold. For example, the first target value may be set to a value that is 1 degree Celsius less than the first preset value. Furthermore, in one embodiment, during the operation of adjusting the first temperature threshold, the storage controller 210 further sets a first adjustment flag, wherein the first adjustment flag is used to indicate that the first temperature threshold has been adjusted.

[0049] Next, in step S250, in response to determining that the current device temperature is greater than the second temperature threshold, the storage controller 210 increments a second count value. Specifically, the storage controller 210 may determine whether the obtained current device temperature is greater than the second temperature threshold value. The second temperature threshold value is initially set to a second preset value. In one embodiment, in response to determining that the current device temperature is not greater than the second temperature threshold value, the storage controller resets the second count value. In other words, the second count value indicates the number of times that a plurality of consecutively obtained current device temperatures have exceeded the second temperature threshold value.

[0050] Next, in step S260, the storage controller 210 determines whether the second count value is greater than a second count threshold value. If the second count value is determined to be greater than the second count threshold value, step S270 is executed. If the second count value is determined not to be greater than the second count threshold value, step S210 is executed again (i.e., the current device temperature for the next cycle is obtained).

[0051] In step S270, the storage controller 210 adjusts the second temperature threshold. Specifically, the storage controller 210 adjusts the second temperature threshold to a second target value, wherein the second target value is less than the second preset value (e.g., 78 degrees Celsius) originally corresponding to the second temperature threshold. For example, the second target value may be set to a value that is 1 degree Celsius less than the second preset value. Furthermore, in one embodiment, during the operation of adjusting the second temperature threshold, the storage controller 210 further sets a second adjustment flag, wherein the second adjustment flag is used to indicate that the second temperature threshold has been adjusted.

[0052] Next, in step S280 , the storage controller 210 determines whether the current device temperature is less than a critical temperature threshold.

[0053] Specifically, the critical temperature threshold is used to protect the data stored in the storage device from serious errors caused by high temperatures. The critical temperature threshold is a pre-set value corresponding to the physical characteristics of the rewritable non-volatile memory module 220 (e.g., the ability of the tertiary memory cells in the rewritable non-volatile memory module 220 to store charge is weakened by a certain high temperature), such as 85 degrees Celsius.

[0054] In response to determining that the current device temperature is not less than the critical temperature threshold, step S290 is executed; in response to determining that the current device temperature is less than the critical temperature threshold, step S210 is continued to be executed again (ie, the current device temperature of the next cycle is obtained).

[0055] In step S290, the storage controller 210 controls the storage device 20 to enter a target system state. The target system state is a standby state or a sleep state, for example, the S3 (Suspend to RAM) system state among the multiple global system states in the Advanced Configuration and Power Interface (ACPI) specification.

[0056] It is worth mentioning that the above storage device management method focuses on the dynamic setting method and conditions of the first temperature threshold and the second temperature threshold, which can dynamically adjust the first temperature threshold and the second temperature threshold used by storage devices with frequently rising temperatures.

[0057] In this embodiment, the storage controller 210 can manage the overall performance / power of the storage device 20 according to the obtained current device temperature, the first temperature threshold value, and the second temperature threshold value to achieve the purpose of controlling the temperature of the storage device. Figure 3 To explain.

[0058] Figure 3 FIG2 is a flow chart illustrating a storage device management method according to another embodiment of the present invention. After the storage device 20 enters normal operating state, the storage controller 210 may determine whether the first temperature threshold (e.g., step S310) and the second temperature threshold (e.g., step S340) have been adjusted and perform corresponding processing procedures.

[0059] More specifically, in step S310, the storage controller 210 determines whether the first temperature threshold has been adjusted. If the first temperature threshold is determined to have been adjusted, step S320 is executed; if the first temperature threshold is determined not to have been adjusted, step S330 is executed. In step S330, the storage controller 210 sets the first temperature threshold to a first preset value. In step S320, the storage controller 210 sets the first temperature threshold to a first target value.

[0060] For example, in one embodiment, the storage controller 210 may determine whether the first temperature threshold has been adjusted based on whether the first adjustment flag is recorded as a first value (e.g., a true value or 1). For example, when the storage controller 210 identifies that the first adjustment flag is set from "0" to "1", the storage controller 210 may determine that the first temperature threshold has been adjusted and execute step S320.

[0061] On the other hand, in step S340, the storage controller 210 determines whether the second temperature threshold has been adjusted. If the second temperature threshold is determined to have been adjusted, step S350 is executed; if the second temperature threshold is determined not to have been adjusted, step S360 is executed. In step S360, the storage controller 210 sets the second temperature threshold to a second preset value. In step S350, the storage controller 210 sets the second temperature threshold to a second target value.

[0062] In one embodiment, the storage controller 210 may determine whether the second temperature threshold has been adjusted based on whether the second adjustment flag is recorded as a first value (e.g., a true value or 1). For example, when the storage controller 210 identifies that the second adjustment flag has been set from "0" to "1", the storage controller 210 may determine that the second temperature threshold has been adjusted and execute step S350.

[0063] It should be noted that the present invention is not limited to the above-described configuration of the first adjustment flag and the second adjustment flag. For example, in another embodiment, the storage controller may utilize a single flag (e.g., a two-bit value) to simultaneously identify whether the first temperature threshold value and the second temperature threshold value have been adjusted.

[0064] Next, in step S370, the storage controller 210 identifies the current device temperature. Specifically, the storage controller 210 identifies the most recently acquired current device temperature from the temperature sensor 240 and compares the identified current device temperature with the first temperature threshold, the second temperature threshold, and the critical temperature threshold.

[0065] More specifically, in response to determining that the current device temperature is not greater than the first temperature threshold value, the storage controller 210 executes step S380; in response to determining that the current device temperature is greater than the first temperature threshold value and less than the second temperature threshold value, the storage controller 210 executes step S390; in response to determining that the current device temperature is greater than the second temperature threshold value and less than the critical temperature threshold value, the storage controller 210 executes step S410; in response to determining that the current device temperature is not less than the critical temperature threshold value, the storage controller 210 executes step S420.

[0066] In step S380, the storage controller 210 controls the storage device to operate in a normal working state. In the normal working state, the storage device operates at normal power. For example, the storage device 20 is controlled to operate at 100% power and efficiency.

[0067] In step S390 , the memory controller 210 controls the memory device 20 to operate in a first suppression mode. For example, the memory device 20 is controlled to operate at 50% power and efficiency.

[0068] In step S410, the memory controller 210 controls the memory device to operate in a second suppression mode. In the second suppression mode, the memory device operates at a second power, for example, the memory device 20 is controlled to operate at 5% power and efficiency.

[0069] In step S420 , the storage controller 210 controls the storage device to enter the target system state.

[0070] It is worth noting that steps S310-S360 can also be omitted in the present invention. For example, in another embodiment, the storage controller 210 can record the adjusted first temperature threshold value and the adjusted second temperature threshold value in firmware. When the storage device 20 enters normal operation, the storage controller 210 can directly read the recorded adjusted first temperature threshold value and the adjusted second temperature threshold value to set the currently used first temperature threshold value and second temperature threshold value.

[0071] Figure 4A FIG is a schematic diagram showing how to manage the performance / power of a storage device according to a temperature threshold value according to an embodiment of the present invention. Figure 4A For example, assuming that the first preset value corresponding to the first temperature threshold value TTH1 is 75 degrees Celsius; the second preset value corresponding to the second temperature threshold value TTH2 is 78 degrees Celsius; the critical temperature threshold value CTH is pre-set to 85 degrees Celsius. Figure 4A As shown, in response to determining that the current device temperature is not greater than the first temperature threshold TTH1, the memory controller 210 controls the memory device 20 to operate in a normal operating state, that is, the memory device 20 operates at 100% efficiency / power. This normal operating state may also be referred to as the G0 or S0 state in the Advanced Configuration and Power Interface specification.

[0072] In response to determining that the current device temperature is greater than the first temperature threshold TTH1 and not greater than the second temperature threshold TTH2, as indicated by arrow A41, the storage controller 210 controls the storage device 20 to operate in the first suppression mode, i.e., the storage device 20 operates at 50% efficiency / power.

[0073] In response to determining that the current device temperature is greater than the second temperature threshold TTH2 and less than the critical temperature threshold CTH, as indicated by arrow A42, the memory controller 210 controls the memory device 20 to operate in the second suppression mode, i.e., the memory device 20 operates at 5% efficiency / power.

[0074] In response to determining that the current device temperature is not less than the critical temperature threshold CTH, as indicated by arrow A43 , the storage controller 210 controls the storage device 20 to enter the target system state, ie, the storage device 20 enters the standby mode or the sleep mode.

[0075] In one embodiment, the first throttling mode can be further divided into a first stage, a second stage, and a third stage based on the current device temperature. For example, in response to determining that the current device temperature is greater than the first temperature threshold value TTH1 but not greater than the first stage temperature threshold value TTH1.1, as indicated by arrow A41, the memory controller 210 controls the memory device 20 to operate at 50% efficiency / power in the first throttling mode. In response to determining that the current device temperature is greater than the first stage temperature threshold value TTH1.1 but not greater than the second stage temperature threshold value TTH1.2, as indicated by arrow A411, the memory controller 210 controls the memory device 20 to operate at 40% efficiency / power in the second stage of the first throttling mode. In response to determining that the current device temperature is greater than the second stage temperature threshold value TTH1.2 but not greater than the second temperature threshold value TTH2, as indicated by arrow A412, the memory controller 210 controls the memory device 20 to operate at 25% efficiency / power in the third stage of the first throttling mode. It should be noted that the first stage temperature threshold value TTH1.1 and the second stage temperature threshold value TTH1.2 can also be adjusted to the adjusted first stage temperature threshold value TTH1.1′ and the adjusted second stage temperature threshold value TTH1.2′ in a manner similar to adjusting the first temperature threshold value and the second temperature threshold value.

[0076] Figure 4B FIG. 1 is a schematic diagram illustrating managing the performance / power of a storage device according to a temperature threshold value according to an embodiment of the present invention. Figure 4A For example, in this example, the memory controller 210 determines that the first temperature threshold value TTH1 has been adjusted and the second temperature threshold value TTH2 has been adjusted. Based on this, the memory controller 210 sets the first temperature threshold value TTH1 to the first target value TTH1' (adjusted first temperature threshold value) and sets the second temperature threshold value TTH2 to the second target value TTH2' (adjusted second temperature threshold value). The memory controller 210 then controls the performance / power of the memory device 20 by comparing the obtained current device temperature with the adjusted first temperature threshold value TTH1', the adjusted second temperature threshold value TTH2', and the critical temperature threshold value CTH.

[0077] For example, in response to determining that the current device temperature is not greater than the adjusted first temperature threshold TTH1 ′, the memory controller 210 controls the memory device 20 to operate in a normal state, ie, the memory device 20 operates at 100% efficiency / power.

[0078] In response to determining that the current device temperature is greater than the adjusted first temperature threshold TTH1′ and not greater than the adjusted second temperature threshold TTH2′, as indicated by arrow A44, the storage controller 210 controls the storage device 20 to operate in the first suppression mode, i.e., the storage device 20 operates at 50% efficiency / power.

[0079] In response to determining that the current device temperature is greater than the adjusted second temperature threshold TTH2′ and less than the critical temperature threshold CTH, as indicated by arrow A45, the memory controller 210 controls the memory device 20 to operate in the second suppression mode, i.e., the memory device 20 operates at 5% efficiency / power.

[0080] In response to determining that the current device temperature is not less than the critical temperature threshold CTH, as indicated by arrow A43 , the storage controller 210 controls the storage device 20 to enter the target system state, ie, the storage device 20 enters the standby mode or the sleep mode.

[0081] Furthermore, in one embodiment, in response to determining that the current device temperature is greater than the adjusted first temperature threshold TTH1′ but not greater than the adjusted first-stage temperature threshold TTH1.1′, as indicated by arrow A441, the memory controller 210 controls the memory device 20 to operate in the first stage of the first throttling mode, i.e., the memory device 20 operates at 50% efficiency / power. In response to determining that the current device temperature is greater than the adjusted first-stage temperature threshold TTH1.1′ but not greater than the second-stage temperature threshold TTH1.2, as indicated by arrow A411, the memory controller 210 controls the memory device 20 to operate in the second stage of the first throttling mode, i.e., the memory device 20 operates at 40% efficiency / power. In response to determining that the current device temperature is greater than the adjusted second-stage temperature threshold TTH1.2′ but not greater than the adjusted second temperature threshold TTH2, as indicated by arrow A442, the memory controller 210 controls the memory device 20 to operate in the third stage of the first throttling mode, i.e., the memory device 20 operates at 25% efficiency / power.

[0082] It should be noted that the specific values ​​of the above-mentioned temperature thresholds are merely exemplary and are not intended to limit the present invention.

[0083] Figure 5 FIG. 4 is a flow chart of a storage device management method for restoring an adjusted temperature threshold value according to an embodiment of the present invention.

[0084] It is worth mentioning that in one embodiment of the present invention, the storage controller 210 is further configured to execute a recovery mechanism to restore the adjusted first temperature threshold value and the adjusted second temperature threshold value to the first preset value and the second preset value respectively after the storage device 20 enters the normal working state or the first inhibition mode for a period of time. Figure 5 In step S510 , the storage controller 210 may periodically obtain the current device temperature of the corresponding storage device 20 from the temperature sensor 240 .

[0085] Next, in step S520, in response to determining that the current device temperature is greater than or equal to the recovery temperature threshold and less than the first target value set as the first temperature threshold, the storage controller 210 increments a third count value. Here, the recovery temperature threshold is, for example, 70 degrees Celsius, and the first target value set as the first temperature threshold is, for example, 74 degrees Celsius, which is set 1 degree Celsius less than the first preset value (e.g., 75 degrees Celsius) in the aforementioned exemplary embodiment. In one embodiment, in response to determining that the current device temperature is less than the recovery temperature threshold or greater than the first target value set as the first temperature threshold, the storage controller resets the third count value. In other words, the third count value indicates the number of times a plurality of consecutively obtained current device temperatures are between the recovery temperature threshold and the first target value.

[0086] Next, in step S530, the storage controller 210 determines whether the third count value is greater than a third count threshold value. In this example, the third count value is, for example, 20. In response to determining that the third count value is greater than the third count threshold value, step S540 is executed. That is, when the number of times the multiple current device temperatures obtained are between the recovery temperature threshold value and the first target value reaches the third count threshold value, it can be determined that the storage device 20 has entered a normal operating state for a stable period of time. Therefore, step S540 is executed to restore the first temperature threshold value to the first preset value. In response to determining that the third count value is not greater than the third count threshold value, the current device temperature is obtained again and step S550 is executed.

[0087] In step S540, the storage controller 210 adjusts the first temperature threshold to a first recovery value, where the first recovery value is greater than the adjusted first temperature threshold (i.e., the first target value, e.g., 74 degrees Celsius). For example, the first recovery value may be set to a value that is 1 degree Celsius greater than the adjusted first temperature threshold. That is, in this example, the storage controller 210 adjusts the first temperature threshold to the first recovery value of 75 degrees Celsius. In other words, the first temperature threshold is restored to its original first default value (i.e., 75 degrees Celsius).

[0088] In step S550, the storage controller 210 again obtains the current device temperature and determines whether the current device temperature is not less than the first target value set as the first temperature threshold. In response to the current device temperature being not less than the first target value set as the first temperature threshold, step S560 is executed. In response to the determination that the first count value is less than the first target value set as the first temperature threshold, step S540 is executed to restore the first temperature threshold to the first preset value. Step S540 has been described above and will not be repeated here.

[0089] In step S560, the storage controller 210 again obtains the current device temperature and determines whether the current device temperature is not less than the second target value set as the second temperature threshold. If the current device temperature is not less than the second target value set as the second temperature threshold, step S510 is executed again (i.e., obtaining the current device temperature for the next cycle). If the current device temperature is less than the second target value set as the second temperature threshold, step S570 is executed. Here, the second target value set as the second temperature threshold is, for example, 77 degrees Celsius, which is set 1 degree Celsius less than the second preset value (e.g., 78 degrees Celsius) in the aforementioned exemplary embodiment.

[0090] Next, in step S570, in response to determining that the current device temperature is not less than the second target value set as the second temperature threshold, the memory controller 210 increments a fourth count value. In one embodiment, in response to determining that the current device temperature is less than the second target value set as the second temperature threshold, the memory controller resets the fourth count value. In other words, the fourth count value indicates the number of times that a plurality of consecutive current device temperatures are less than the second target value set as the second temperature threshold.

[0091] Next, in step S580, the storage controller 210 determines whether the fourth count value is greater than a fourth count threshold value. In this example, the fourth count value is, for example, 300. In response to determining that the fourth count value is greater than the fourth count threshold value, step S590 is executed. That is, when the obtained multiple current device temperatures are less than the second target value set as the second temperature threshold value, it can be determined that the storage device 20 has entered the first inhibition mode for a stable period of time. Therefore, step S590 is executed to restore the second temperature threshold value to the second preset value. Conversely, in response to determining that the fourth count value is not greater than the fourth count threshold value, step S510 is executed again (i.e., the current device temperature of the next cycle is obtained).

[0092] In step S590, the storage controller 210 adjusts the second temperature threshold to a second recovery value, where the second recovery value is greater than the adjusted second temperature threshold (i.e., the second target value, e.g., 77 degrees Celsius). For example, the second recovery value is set to a value that is 1 degree Celsius greater than the adjusted second temperature threshold. In other words, in this example, the storage controller 210 adjusts the second temperature threshold to a second recovery value of 78 degrees Celsius. In other words, the second temperature threshold is restored to its original second default value (i.e., 78 degrees Celsius).

[0093] In summary, the storage device and storage device management method provided by the embodiments of the present invention can dynamically lower the corresponding one or more temperature threshold values ​​in response to the temperature increase of the storage device, so that the storage device can further reduce the power of the storage device according to the adjusted one or more temperature threshold values, thereby more actively suppressing the temperature rise caused by the operation of the storage device, and avoiding data errors caused by excessive temperature of the storage device. On the other hand, the embodiments of the present invention further provide a recovery mechanism to restore the adjusted one or more temperature threshold values ​​when the temperature of the storage device reaches stability, thereby maintaining the operating performance of the storage device. In this way, the storage device and storage device management method provided by the embodiments of the present invention can effectively improve and enhance the reliability of the storage device and the accuracy of the stored data, while taking into account the overall operating performance of the storage device.

[0094] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention, rather than to limit it. Although the present invention has been described in detail with reference to the above embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the above embodiments, or replace some or all of the technical features therein with equivalents. However, these modifications or replacements do not cause the essence of the corresponding technical solutions to deviate from the scope of the technical solutions of the embodiments of the present invention.

Claims

1. A storage device comprising: Rewritable non-volatile memory module; A connection interface circuit for electrically connecting to a host system; a temperature sensor for detecting a current device temperature corresponding to the storage device; as well as A storage controller is electrically connected to the rewritable non-volatile memory module, the connection interface circuit and the temperature sensor, wherein The storage controller is configured to periodically obtain the current device temperature of the storage device via the temperature sensor. In response to determining that the current device temperature is greater than a first temperature threshold, the storage controller is further configured to accumulate a first count value. The storage controller is further configured to determine whether the first count value is greater than a first count threshold value. In response to determining that the first count value is greater than the first count threshold value, the memory controller is further configured to adjust the first temperature threshold value. In the operation of adjusting the first temperature threshold value, the memory controller adjusts the first temperature threshold value to a first target value, wherein the first target value is less than a first preset value corresponding to the first temperature threshold value. In response to determining that the current device temperature is greater than a second temperature threshold, the storage controller is further configured to accumulate a second count value. The storage controller is further configured to determine whether the second count value is greater than a second count threshold value. In response to determining that the second count value is greater than the second count threshold value, the memory controller is further configured to adjust the second temperature threshold value. In the operation of adjusting the second temperature threshold value, the memory controller adjusts the second temperature threshold value to a second target value, wherein the second target value is less than a second preset value originally corresponding to the second temperature threshold value. The storage controller is further configured to determine whether the current device temperature is greater than a critical temperature threshold. In response to determining that the current device temperature is not less than the critical temperature threshold, the storage controller is further configured to control the storage device to enter a target system state. In response to determining that the current device temperature is greater than the first temperature threshold and less than the second temperature threshold, the memory controller controls the memory device to a first inhibition mode, wherein in the first inhibition mode, the memory device operates at a first power. In response to determining that the current device temperature is greater than the second temperature threshold and less than the critical temperature threshold, the memory controller controls the memory device to operate in a second inhibition mode, wherein in the second inhibition mode, the memory device operates at a second power. In response to determining that the current device temperature is not greater than the first temperature threshold, the storage controller controls the storage device to operate in a normal operating state, wherein in the normal operating state, the storage device operates at normal power. The normal power is greater than the first power, and the first power is greater than the second power.

2. The memory device of claim 1 , wherein in response to determining that the first count value is not greater than the first count threshold value, the memory controller continues to perform an operation of periodically obtaining the current device temperature via the temperature sensor, In response to determining that the second count value is not greater than the second count threshold value, the operation of periodically obtaining the current device temperature via the temperature sensor is continued. In response to determining that the current device temperature is not greater than the critical temperature threshold, an operation of periodically obtaining the current device temperature via the temperature sensor is subsequently performed.

3. The storage device according to claim 1, wherein During the operation of adjusting the first temperature threshold, the storage controller further sets a first adjustment flag, wherein the first adjustment flag is used to indicate that the first temperature threshold has been adjusted. During the operation of adjusting the second temperature threshold, the storage controller further sets a second adjustment flag, wherein the second adjustment flag is used to indicate that the second temperature threshold has been adjusted. The storage device according to claim 1 , wherein the target system state is a standby state or a sleep state.

5. The storage device of claim 1 , wherein when the storage device enters a normal working state, the storage controller determines whether the first temperature threshold value and the second temperature threshold value have been adjusted. In response to determining that the first temperature threshold has been adjusted, the storage controller sets the first temperature threshold as the first target value. In response to determining that the second temperature threshold has been adjusted, the storage controller sets the second temperature threshold as the second target value. In response to determining that the first temperature threshold value has not been adjusted, the storage controller sets the first temperature threshold value to the first preset value. In response to determining that the second temperature threshold value has not been adjusted, the storage controller sets the second temperature threshold value to the second preset value.

6. The storage device of claim 5 , wherein after the storage controller sets the first temperature threshold value as the first target value and the second temperature threshold value as the second target value, the storage controller is further configured to determine whether the current device temperature is greater than or equal to a recovery temperature threshold value and less than the first target value set as the first temperature threshold value. In response to determining that the current device temperature is greater than or equal to the recovery temperature threshold and less than the first target value set as the first temperature threshold, the storage controller is further configured to accumulate a third count value. The storage controller is further configured to determine whether the third count value is greater than a third count threshold value. In response to determining that the third count value is greater than the third count threshold value, the storage controller is further configured to adjust the first temperature threshold value to a first recovery value. In response to determining that the third count value is not greater than the third count threshold value, the storage controller is further configured to determine whether the current device temperature is not less than the first target value set as the first temperature threshold value. In response to determining that the current device temperature is less than the first target value set as the first temperature threshold, the storage controller is further configured to adjust the first temperature threshold to the first recovery value. In response to determining that the current device temperature is not less than the first target value set as the first temperature threshold value, the storage controller is further configured to determine whether the current device temperature is not less than the second target value set as the second temperature threshold value. In response to determining that the current device temperature is not less than the second target value set as the second temperature threshold, the storage controller is further configured to accumulate a fourth count value. The storage controller is further configured to determine whether the fourth count value is greater than a fourth count threshold value. In response to determining that the fourth count value is greater than the fourth count threshold value, the storage controller is further configured to adjust the second temperature threshold value to a second recovery value. The first recovery value is greater than the first target value, and the second recovery value is greater than the second target value.

7. The storage device according to claim 1, wherein In response to determining that the current device temperature is not greater than the first temperature threshold, the storage controller resets the first count value. In response to determining that the current device temperature is not greater than the second temperature threshold, the memory controller resets the second count value.

8. A storage device management method, applicable to a storage device, the method comprising: periodically obtaining a current device temperature corresponding to the storage device via a temperature sensor of the storage device; In response to determining that the current device temperature is greater than a first temperature threshold, accumulating a first count value; determining whether the first count value is greater than a first count threshold value, wherein in response to determining that the first count value is greater than the first count threshold value, adjusting the first temperature threshold value, wherein the step of adjusting the first temperature threshold value comprises: adjusting the first temperature threshold value to a first target value, wherein the first target value is less than a first preset value corresponding to the first temperature threshold value; In response to determining that the current device temperature is greater than a second temperature threshold, accumulating a second count value; determining whether the second count value is greater than a second count threshold value, wherein in response to determining that the second count value is greater than the second count threshold value, adjusting the second temperature threshold value, wherein the step of adjusting the second temperature threshold value comprises: adjusting the second temperature threshold value to a second target value, wherein the second target value is less than a second preset value corresponding to the second temperature threshold value; and determining whether the current device temperature is greater than a critical temperature threshold, wherein in response to determining that the current device temperature is not less than the critical temperature threshold, controlling the storage device to enter a target system state, wherein in response to determining that the current device temperature is greater than the first temperature threshold and less than the second temperature threshold, controlling the storage device to a first inhibition mode, wherein in the first inhibition mode, the storage device operates at a first power; wherein in response to determining that the current device temperature is greater than the second temperature threshold and less than the critical temperature threshold, controlling the storage device to operate in a second inhibition mode, wherein in the second inhibition mode, the storage device operates at a second power; In response to determining that the current device temperature is not greater than the first temperature threshold, the storage device is controlled to operate in a normal operating state, wherein in the normal operating state, the storage device operates at normal power. The normal power is greater than the first power, and the first power is greater than the second power.

9. The storage device management method according to claim 8, further comprising: In response to determining that the first count value is not greater than the first count threshold value, performing the step of periodically obtaining the current device temperature via the temperature sensor of the storage device; In response to determining that the second count value is not greater than the second count threshold value, performing the step of periodically obtaining the current device temperature via the temperature sensor of the storage device; as well as In response to determining that the current device temperature is not greater than the critical temperature threshold, a step of periodically obtaining the current device temperature via the temperature sensor of the storage device is performed.

10. The storage device management method according to claim 8, wherein The step of adjusting the first temperature threshold value includes setting a first adjustment flag, wherein the first adjustment flag is used to indicate that the first temperature threshold value has been adjusted. The step of adjusting the second temperature threshold value includes setting a second adjustment flag, wherein the second adjustment flag is used to indicate that the second temperature threshold value has been adjusted. 11 . The storage device management method according to claim 8 , wherein the target system state is a standby state or a sleep state.

12. The storage device management method according to claim 8, further comprising: When the storage device enters a normal working state, it is determined whether the first temperature threshold value and the second temperature threshold value have been adjusted. In response to determining that the first temperature threshold value has been adjusted, the first temperature threshold value is set as the first target value, In response to determining that the second temperature threshold value has been adjusted, the second temperature threshold value is set as the second target value, In response to determining that the first temperature threshold value has not been adjusted, the first temperature threshold value is set to the first preset value, In response to determining that the second temperature threshold value has not been adjusted, the second temperature threshold value is set to the second preset value.

13. The storage device management method according to claim 12, further comprising: After setting the first temperature threshold value as the first target value and the second temperature threshold value as the second target value, determining whether the current device temperature is greater than or equal to the recovery temperature threshold value and less than the first target value set as the first temperature threshold value; In response to determining that the current device temperature is greater than or equal to the recovery temperature threshold and less than the first target value set as the first temperature threshold, accumulating a third count value; Determining whether the third count value is greater than a third count threshold value; In response to determining that the third count value is greater than the third count threshold value, adjusting the first temperature threshold value to a first recovery value; In response to determining that the third count value is not greater than the third count threshold value, determining whether the current device temperature is not less than the first target value set as the first temperature threshold value; In response to determining that the current device temperature is less than the first target value set as the first temperature threshold, adjusting the first temperature threshold to the first recovery value; In response to determining that the current device temperature is not less than the first target value set as the first temperature threshold value, determining whether the current device temperature is less than the second target value set as the second temperature threshold value; In response to determining that the current device temperature is not less than the second target value set as the second temperature threshold, accumulating a fourth count value; Determining whether the fourth count value is greater than a fourth count threshold value; as well as In response to determining that the fourth count value is greater than the fourth count threshold value, adjusting the second temperature threshold value to a second recovery value, The first recovery value is greater than the first target value, and the second recovery value is greater than the second target value.

14. The storage device management method according to claim 8, further comprising: In response to determining that the current device temperature is not greater than the first temperature threshold, resetting the first count value; as well as In response to determining that the current device temperature is not greater than the second temperature threshold, the second count value is reset.

Citation Information

Patent Citations

  • Temperature alert and low rate refresh for a non-volatile memory

    CN102369579A

  • Data storage device with temperature sensor and temperature calibration circuitry and method of operating same

    US20170249091A1