CN115729767A - Temperature detection method and device for memory - Google Patents

Temperature detection method and device for memory Download PDF

Info

Publication number
CN115729767A
CN115729767A CN202111005501.5A CN202111005501A CN115729767A CN 115729767 A CN115729767 A CN 115729767A CN 202111005501 A CN202111005501 A CN 202111005501A CN 115729767 A CN115729767 A CN 115729767A
Authority
CN
China
Prior art keywords
temperature
storage
storage area
memory
weight
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202111005501.5A
Other languages
Chinese (zh)
Inventor
吴全潭
陈一峰
李响
童浩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN202111005501.5A priority Critical patent/CN115729767A/en
Priority to PCT/CN2022/111681 priority patent/WO2023029931A1/en
Publication of CN115729767A publication Critical patent/CN115729767A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/56External testing equipment for static stores, e.g. automatic test equipment [ATE]; Interfaces therefor

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

The application provides a temperature detection method and a temperature detection device for a memory, wherein the method comprises the following steps: obtaining operating parameters of a storage area in the memory, wherein the operating parameters are used for: indicating the number of times that the storage region performs storage operation at historical time, and/or indicating the time interval between the historical time and the current time; wherein the storage operation comprises at least one of a write operation and an erase operation; calculating the temperature of the storage area based on the value of the operating parameter. The scheme provided by the application can improve the accuracy of detecting the temperature distribution in the storage area of the memory, and further more accurate control is carried out on the memory.

Description

Temperature detection method and device for memory
Technical Field
The present disclosure relates to the field of storage technologies, and in particular, to a method and an apparatus for detecting a temperature of a memory.
Background
A Phase Change Memory (PCM) is a memory that stores data by using a difference in conductivity exhibited when a particular material is transformed between a crystalline state and an amorphous state. The phase change memory may generate a large amount of heat during operation, which may cause the temperature of the storage region to be too high, thereby affecting the operation performance of the phase change memory. For example, during the operation of the phase change memory, when the amount of heat generated by a single operation is greater than a certain value or the total amount of heat generated by multiple operations is greater than a certain value, the phase change memory may be failed. Therefore, it is very important to ensure uniform distribution of heat or temperature in the phase change memory for stability of operation of the phase change memory and reliability of data storage.
At present, one scheme is to perform partitioned storage and management on data according to the temperature of the data, so as to improve the uniformity of heat or temperature distribution in the phase change memory. However, in this scheme, the storage areas in the phase change memory need to be distinguished, so that cold data and hot data are stored in different areas, and therefore, the requirement on peripheral control of the phase change memory is high, and the temperature distribution in the storage areas cannot be monitored. Alternatively, a temperature sensor may be used to monitor the temperature of the phase change memory in order to monitor the temperature distribution in the phase change memory. However, in this scheme, the temperature of the phase change memory detected differs from the temperature of each storage region in the memory, and therefore the detected temperature cannot accurately reflect the temperature distribution in the storage region of the memory.
In summary, the two temperature control schemes of the phase change memory have a problem that the temperature distribution in the storage area of the phase change memory cannot be detected more accurately.
Disclosure of Invention
The application provides a temperature detection method and device of a memory, which are used for improving the accuracy of detecting the temperature distribution in the storage area of the memory and further more accurately controlling the memory.
In a first aspect, the present application provides a method for detecting a temperature of a memory, the method including: obtaining operating parameters of a storage area in the memory, wherein the operating parameters are used for: indicating the number of times that the storage region executes storage operation at a historical time, and/or indicating the time interval between the historical time and the current time; wherein the storage operation comprises at least one of a write operation and an erase operation; calculating the temperature of the storage area based on the value of the operating parameter.
According to the method, based on the principle that different times and different times of storage operations generate different heat in the memory, the temperature of the storage area is calculated according to the times of the storage operations performed in the storage area of the memory at the historical time and/or the time interval between the historical time and the current time, so that the relatively accurate temperature of the storage area can be predicted, the temperature distribution of the storage area of the memory can be monitored more accurately, the memory can be operated and controlled more accurately according to the temperature distribution of the storage area, and the storage performance of the memory is improved.
In a possible design, the number of times that the storage area performs the storage operation at the historical time specifically includes: and the storage unit of the storage area performs the sum of the times of the storage operation at the historical time.
In the method, the storage area in the memory may include one or more storage units, and the number of times the storage operation is performed in the storage area includes a sum of the number of times the storage operation is performed in the respective storage units of the storage area. This allows for the counting of all storage operations performed in the storage area, improving the accuracy of the temperature calculation.
In one possible design, the storage area is in a usable state, and the method further includes: setting the storage area to a disabled state when it is determined that the temperature is greater than or equal to a threshold.
When the temperature of the storage area is overhigh, the storage area is set to be in a forbidden state, so that the continuous operation in the storage area can be avoided, the continuous increase of the temperature of the storage area can be further avoided, certain cooling time can be provided for the storage area, and the temperature of the storage area is reduced.
In one possible design, the storage area is in a disabled state, and the method further includes: setting the storage area to an available state when it is determined that the temperature is less than a threshold.
In the method, when the storage area is in the forbidden state and the temperature of the storage area is lower than a set threshold value, the storage area in the forbidden state is set to be in an available state, and the storage space corresponding to the storage area can be released in time.
In one possible design, calculating the temperature of the storage region based on the value of the operating parameter includes: acquiring the weight corresponding to the operating parameter; wherein the weight is indicative of a degree of influence of the value of the operating parameter on the temperature of the storage region; calculating the temperature of the storage region according to the value of the operating parameter and the weight.
In the method, when the values of the operating parameters are different, the influence on the temperature of the storage region is also different, so that the weight corresponding to the operating parameter is determined, the temperature of the storage region is calculated according to the values of the operating parameter and the corresponding weight, the influence degree of the values of the operating parameter on the temperature of the storage region can be fully reflected, and the accuracy of calculating the temperature of the storage region is further improved.
In one possible design, the weight is positively correlated with the number of the storage operations; or, the weight is inversely related to the time interval.
In the method, the temperature of the storage area is mainly related to the number of storage operations in a period of time closest to the current time, and the more the number of storage operations is, the greater the influence on the temperature of the storage area is, and the closer the storage operations are to the current time, the greater the influence on the temperature of the storage area is. Therefore, the weight is changed according to the size of the storage operation times and the distance of the storage operation time, so that the influence of the storage operation times and the storage operation time on the temperature of the storage area is accurately reflected.
In one possible design, the method further includes: writing or updating the temperature and the address of the storage area into a temperature recording table; the address comprises at least one logical address and/or physical address corresponding to the storage area, and the temperature record table is used for storing the mapping relationship between the temperature and the address of the storage area.
According to the method, the temperature and the address of the storage area are stored through the temperature recording table, so that the temperature of the storage area can be conveniently, conveniently and quickly recorded and stored, and can be conveniently and quickly subjected to subsequent processing such as inquiry, monitoring and real-time updating, and the temperature of the storage area can be dynamically monitored and adjusted.
In one possible design, the memory is a phase change memory.
In a second aspect, the present application provides an apparatus comprising a data acquisition unit and a data processing unit; the data obtaining unit is configured to obtain an operating parameter of a storage area in the memory, where the operating parameter is used to: indicating the number of times that the storage region performs storage operation at historical time, and/or indicating the time interval between the historical time and the current time; wherein the storage operation comprises at least one of a write operation and an erase operation; the data processing unit is used for calculating the temperature of the storage area according to the value of the operating parameter.
In a possible design, the number of times that the storage area performs the storage operation at the historical time specifically includes: the storage unit of the storage area performs the sum of the number of times of the storage operation at the history time.
In one possible design, the storage area is available, and the data processing unit is further configured to: setting the storage area to a disabled state when it is determined that the temperature is greater than or equal to a threshold.
In one possible design, the memory region is in a disabled state, and the data processing unit is further configured to: setting the storage area to an available state when it is determined that the temperature is less than a threshold.
In one possible design, the data processing unit calculates the temperature of the storage area based on the value of the operating parameter, including: acquiring the weight corresponding to the operating parameter; wherein the weight is indicative of a degree of influence of the value of the operating parameter on the temperature of the storage region; calculating the temperature of the storage region according to the value of the operating parameter and the weight.
In one possible design, the weight is positively correlated with the number of the storage operations; or, the weight is inversely related to the time interval.
In one possible design, the data processing unit is further configured to: writing or updating the temperature and the address of the storage area into a temperature recording table; the address comprises at least one logical address and/or physical address corresponding to the storage area, and the temperature record table is used for storing the mapping relationship between the temperature and the address of the storage area.
In one possible design, the memory is a phase change memory.
In a third aspect, the present application provides a memory comprising a storage medium and a controller; the controller is adapted to perform the method described in the first aspect or any of the possible designs of the first aspect on a storage area in the storage medium.
In one possible design, the memory is a phase change memory.
In a fourth aspect, the present application provides a computing device comprising a memory as described in the third aspect or any one of the possible designs of the third aspect.
In a fifth aspect, the present application provides a computer readable storage medium having a computer readable program stored thereon, which when run on a computer causes the computer to perform the method as described in the first aspect or any of the possible designs of the first aspect.
In a sixth aspect, the present application provides a computer program product for causing a computer to perform the method as described in the first aspect or any one of the possible designs of the first aspect when the computer program product runs on the computer.
For the beneficial effects of the second aspect to the sixth aspect, please refer to the description of the beneficial effects of the first aspect, and the description is not repeated here.
Drawings
Fig. 1 is a schematic diagram of a possible application scenario of a temperature detection method for a memory according to an embodiment of the present disclosure;
FIG. 2 is a schematic diagram illustrating another possible application scenario of a temperature detection method for a memory according to an embodiment of the present disclosure;
FIG. 3 is a schematic diagram illustrating a possible application system of the method for detecting a temperature of a memory according to an embodiment of the present disclosure;
FIG. 4 is a schematic diagram illustrating a method for detecting a temperature of a memory according to an embodiment of the present disclosure;
FIG. 5 is a schematic flowchart illustrating a method for detecting a temperature of a memory according to an embodiment of the present disclosure;
FIG. 6 is a schematic diagram illustrating a write/erase operation and a temperature distribution of a storage area according to an embodiment of the present disclosure;
fig. 7 is a schematic diagram of an apparatus according to an embodiment of the present disclosure.
Detailed Description
In order to make the objects, technical solutions and advantages of the embodiments of the present application clearer, the embodiments of the present application will be described in further detail below with reference to the accompanying drawings. In the description of the embodiments of the present application, the terms "first" and "second" are used for descriptive purposes only and are not to be construed as indicating or implying relative importance or implying any number of technical features indicated. Thus, a feature defined as "first" or "second" may explicitly or implicitly include one or more of that feature.
For ease of understanding, an explanation of concepts related to the present application is given by way of example for ease of understanding.
1) Phase Change Memory (PCM) is a new type of nonvolatile memory made of chalcogenide materials. Phase change memories store information using reversible physical changes in state of a material. The dielectric material of the phase change memory can be transformed between an amorphous state and a crystalline state under certain conditions, and the amorphous state and the crystalline state in the process can present different resistance characteristics and optical characteristics, so that the phase change memory can store data by using the difference of characteristics such as conductivity and the like presented when the dielectric material is transformed between the crystalline state and the amorphous state, for example, 0 and 1 can respectively represent the amorphous state and the crystalline state to store data.
2) A computing device, is a device having a memory or memory chip. In an embodiment of the present application, the computing Device includes, but is not limited to, a Mobile Phone (Mobile Phone), a tablet computer, a laptop computer, a palmtop computer, a Mobile Internet Device (MID), a wearable Device (e.g., a Smart watch, a Smart bracelet, etc.), a vehicle-mounted Device (e.g., an automobile, an electric vehicle, an airplane, a ship, a train, a high-speed rail, etc.), a Virtual Reality (VR) Device, an Augmented Reality (AR) Device, a wireless terminal in Industrial Control (Industrial Control), a Smart Home Device (e.g., a refrigerator, a television, an air conditioner, an electric meter, etc.), a Smart robot, a workshop Device, a wireless terminal in a pilotless (Self Driving), a wireless terminal in a Remote Surgery (Remote Medical Surgery), a wireless terminal in a Smart Grid, a wireless terminal in a transport security (Transportation), a wireless terminal in a City (Smart terminal), or a Smart terminal in a Home (Smart Phone), a wireless terminal in a drone, a hot air balloon, etc.
For example, the computing device in the embodiment of the present application includes but is not limited to a carry-on
Figure BDA0003237028630000041
Or other operating system.
It should be understood that "at least one" in the embodiments of the present application means one or more, "a plurality" means two or more. "and/or" describes the association relationship of the associated objects, meaning that there may be three relationships, e.g., a and/or B, which may mean: a alone, both A and B, and B alone, where A, B may be singular or plural. The character "/" generally indicates that the former and latter associated objects are in an "or" relationship. "at least one of the following" or similar expressions refer to any combination of these items, including any combination of the singular or plural items. For example, at least one (one) of a, b, or c, may represent: a, b, c, a and b, a and c, b and c, or a, b and c, wherein a, b and c can be single or multiple.
According to moore's law, as the minimum feature size of semiconductor processes is continuously reduced, the device size and the device-to-device spacing are also continuously reduced, resulting in more and more severe thermal crosstalk between devices. And an important mode of failure for phase change memories is: when the phase change memory works, a large amount of heat is generated, and when the heat generated by single operation is larger than a certain value and/or the total heat generated by multiple operations is larger than a certain value, the phase change memory can be caused to fail. Therefore, the heat generated by the phase change memory or the uniform distribution of temperature (the accumulation of heat affects temperature) is very important to the reliability of data storage.
In view of this, embodiments of the present disclosure provide a method and an apparatus for detecting a temperature of a memory, which are used to monitor temperature distributions of a plurality of storage areas in the memory, so as to improve accuracy of detecting the temperature distributions of the storage areas of the memory, and further more accurately control the memory, thereby improving reliability of the memory.
Fig. 1 is a schematic diagram of a possible application scenario of the scheme provided in the embodiment of the present application. As shown in fig. 1, a circuit board (e.g., a motherboard, an integrated circuit board, etc.), a board, etc. may be deployed in a computing device, e.g., a host; multiple memory chips may be disposed in the circuit board. Illustratively, the circuit board may communicate with the host based on a peripheral component interconnect express (PCIe) standard, and the memory chips in the circuit board may communicate with the circuit board control center based on a third generation double-data-rate synchronous dynamic random access (ddr 3) standard.
The memory chip can integrate a plurality of memory functions into a single chip to realize the memory function, and generally comprises a decoder, a comparator, a sensitive amplifying circuit and a storage medium, and can also comprise other peripheral circuits and the like. The decoder, the comparator, the sensitive amplifying circuit and the like can form a controller, and the controller can be used for controlling the storage chip. The memory array is used for storing data. The memory array is an array composed of a plurality of memory cells, and thus, the memory array is a collection of memory cells, and the memory array may be composed of one or more memory regions in the embodiment of the present application.
As shown in fig. 1, the storage medium in the memory chip is composed of a storage array, and the storage array may be further divided into a plurality of sub-arrays, and the plurality of sub-arrays are connected to each other through an internal data bus (internal data bus). Illustratively, when each sub-array is 512 × 8kb in size, each sub-array may store 4096kb of data.
As shown in fig. 1, a plurality of memory cells may be included in each sub-array, each memory cell capable of storing 1-bit binary data (0 or 1). Memory cells included in one sub-array are generally arranged in a matrix form of a plurality of rows and a plurality of columns. The memory cells in the sub-array are each connected to an associated circuit structure in the controller (e.g., a sense amplifier (sense amplifier), a precharge unit (precharge unit), a row decoder (row decoder), etc., as shown in fig. 1), and are controlled by the associated circuit structure in the controller.
The method provided by the embodiment of the application can be applied to the controller in the memory chip to realize the temperature detection of the storage medium in the memory chip. Further, the memory chip may be included in a circuit board or a computing device.
It should be noted that, the current memory chip is a minimum unit of memory, and therefore, fig. 1 exemplifies a memory chip as an example, but an implementation form of the memory in the embodiment of the present application is not limited to the memory chip shown in fig. 1.
Fig. 2 is a schematic diagram of another possible application scenario of the scheme provided in the embodiment of the present application. Several types of memory commonly used today are shown in fig. 2, such as a central processing unit (cache), a high/low speed Random Access Memory (RAM), a Storage Class Memory (SCM), a Solid State Drive (SSD), a disk (disk), and so on. The memory capacity or delay of the memories is increased in sequence, and the specific application of the memory chip technology is different. For example, dynamic Random Access Memory (DRAM) is mainly used in RAM, phase change memory is mainly used in SCM, and NAND flash memory is mainly used in SSD.
Due to the fact that the influence of temperature change on the performance of the phase change memory is large, the method provided by the embodiment of the application can be mainly applied to temperature monitoring of the phase change memory. The main application form of the phase change memory is SCM in the above memories, and may also be partially applied in SSD. Therefore, for the product form of the memory, the method provided by the embodiment of the present application is preferably applied in the SCM, and can also be applied in the SSD.
It should be understood that the application scenarios shown in fig. 1 and fig. 2 are only exemplary illustrations of application scenarios applicable to the present application, and do not limit the applicable scenarios of the present application.
When the method provided by the embodiment of the present application is used to detect the temperature of the phase change memory, a possible application system of the method has an architecture as shown in fig. 3, and includes a memory controller (also referred to as a controller) and a PCM storage region, where the PCM storage region may be used to store data. The storage controller is used for controlling the PCM storage area and realizing the temperature detection and other processing of the PCM storage area.
Optionally, the system may further include a host interface controller (host interface controller) configured to connect the storage controller and the host device, so as to control the storage controller by the host device, and further control the PCM storage area by the host device.
In the system, the storage controller may further include a processor (processor), a PCM controller (PCM controller), a buffer manager (buffer manager), and the like. The processor may control the PCM controller and the cache manager, interact with other devices or upper layer controllers (e.g., a main interface controller), and the like. The PCM controller may directly control the PCM storage area. The cache manager is used for carrying out approximate calculation and balanced regulation on the temperature related to time and the erasing times of the PCM storage area, and detecting the temperature distribution of the PCM storage area.
The cache manager may include address control circuitry, a thermal distribution processing unit, a recording unit, etc. The address control circuit is used for receiving and forwarding control commands, converting between logical addresses and physical addresses and the like. The recording unit can count the erasing condition in the PCM storage area. The thermal distribution processing unit may execute the temperature detection method provided in the embodiment of the present application according to the information counted by the recording unit, predict and obtain temperature approximate distribution information of the PCM storage area, and record and store the obtained information of the storage area, such as a logical address (X), a physical address (Y), and a temperature (T), in the thermal distribution approximate parameter table.
The method provided by the embodiment of the present application is described below by taking the application of the method provided by the embodiment of the present application to the memory controller shown in fig. 3 as an example.
It is to be understood that the method provided by the embodiment of the present application is not limited to be applied to the above-mentioned memory controller, and may also be applied to any other device, apparatus or application capable of acquiring the memory state information and controlling the memory, and will not be described in detail herein.
Fig. 4 is a method for detecting a temperature of a memory according to an embodiment of the present disclosure. As shown in fig. 4, the method includes:
s401: the storage controller acquires the operating parameters of the storage area in the storage, and the operating parameters are used for: indicating the number of times that the storage region performs storage operation at historical time, and/or indicating the time interval between the historical time and the current time; wherein the storage operation comprises at least one of a write operation and an erase operation.
In the embodiment of the application, the memory can be a phase change memory. When the storage controller detects the temperature of the storage, the whole storage area of the storage may be divided into a plurality of storage areas, and then the temperature of the storage area is determined for each storage area according to the operation information in the storage area in the latest period of time, so as to obtain the temperature distribution condition in the whole storage area of the storage according to the temperatures of the plurality of storage areas.
When the memory controller divides the whole memory area of the memory, the whole memory area can be divided into a plurality of memory areas with set sizes, or the whole memory area can be divided into a set number of memory areas with the same size. Each divided memory region may include at least one memory cell.
After dividing the entire storage area of the memory into a plurality of storage areas, the storage controller may perform the temperature detection method provided by the embodiment of the present application for each storage area, which will be described in detail below.
For each storage region, when determining the temperature of the storage region, the storage controller firstly obtains an operating parameter of the storage region, wherein the operating parameter is used for indicating the number of times of executing storage operation of the storage region at the historical time and/or the time interval between the historical time and the current time. The storage operation includes at least one of a write operation and an erase operation. Optionally, a time interval between the historical time and the current time is less than or equal to a set threshold.
In a specific implementation, as an optional implementation manner, the storage controller may count each time when a write operation and/or an erase operation exists in the storage area within a period of time that is closest to the current time and has a set duration, and count the number of times of the write operation and/or the erase operation that occurs in the storage area corresponding to each time. The writing operation performed in the storage area is writing data in the storage area, and the erasing operation performed in the storage area is deleting part or all of the data in the storage area.
As another alternative, the storage controller may count a set number of times that the write operation and/or the erase operation exist in the storage area, which is closest to the current time, and the number of times of the write operation and/or the erase operation that occurs in the storage area corresponding to each time.
For example, when the method provided by the embodiment of the present application is applied to the system shown in fig. 3, the method for counting the time and the number of operations corresponding to the storage area may be executed by the recording unit shown in fig. 3.
S402: the storage controller calculates a temperature of the storage area based on the value of the operating parameter.
After the storage controller obtains the operating parameters of the storage area, the storage controller may perform approximate calculation on the temperature of the storage area according to the obtained operating parameters.
Specifically, the storage controller first obtains a weight corresponding to an operating parameter of the storage region, where the weight of the operating parameter is used to represent a degree of influence of the operating parameter on the temperature of the storage region.
The temperature of the storage area is mainly related to the number of times of erasing (including the number of times of writing and/or erasing) within a period of time nearest to the current time, and the erasing operation closer to the current time has a larger influence on the temperature of the storage area, so the weight corresponding to each operation parameter is related to the historical time corresponding to the operation parameter and the number of times of the storage operation included in the operation parameter.
Specifically, in the embodiment of the present application, the weight of the operation parameter has a positive correlation with the number of times of executing the storage operation included in the operation parameter; or the weight of the operation parameter and the time interval corresponding to the operation parameter have a negative correlation relationship, or the two conditions are both satisfied. And the time interval is the time interval between the historical time and the current time corresponding to the operation parameter. That is, the closer the time corresponding to the operation parameter is to the current time, the greater the weight corresponding to the operation parameter, and the greater the number of operations in the operation parameter, the greater the weight corresponding to the operation parameter.
In one embodiment, the weights may be preset. For example, corresponding weights may be set for different values of the number of times of performing the storage operation and/or the time interval between the historical time of performing the storage operation and the current time, and the storage controller may directly select the weight corresponding to the acquired operation parameter from preset weights after acquiring the operation parameter.
In another embodiment, the value range of the weight is preset. The storage controller may configure, after obtaining the operating parameter, a weight that meets the value range and satisfies the correlation for the obtained operating parameter.
In another embodiment, the weight of the operation parameter and the operation parameter conform to a set operation rule. Based on the operation rule, the storage controller may calculate a weight corresponding to the operation parameter according to the obtained operation parameter. For example, the relationship between the weight of the operation parameter and the number of times the storage operation is performed, which is included in the operation parameter, may be a direct proportional relationship, and the corresponding proportional coefficient may be set in advance. After the storage controller acquires the operation parameters, the number of times of performing the storage operation included in the acquired operation parameters is multiplied by a preset scaling factor, and a corresponding weight can be obtained.
In some embodiments of the present application, when the operation parameter includes the number of times of performing the storage operation and a time interval, the weight of the operation parameter may also be a sum of two weights, where the two weights are a weight corresponding to the number of times of performing the storage operation in the operation parameter and a weight corresponding to the time interval corresponding to the operation parameter.
After the storage controller obtains the weight corresponding to the operating parameter of the storage area, the temperature of the storage area is calculated according to the operating parameter and the weight corresponding to the operating parameter.
Specifically, the storage controller may calculate the temperature of the storage region based on the following equation:
T=f(k×W×C)
wherein T is a temperature of the storage region, f (·) is a set temperature calculation function, k is a set coefficient, C is an operating parameter of the storage region, and W is a weight corresponding to the operating parameter.
In some embodiments of the present application, after the storage controller calculates the temperature of the storage area, the storage controller may store the temperature of the storage area and the address of the storage area, so as to monitor and update the temperature of the storage area.
Optionally, the storage controller may pre-establish a temperature record table corresponding to the memory, where the temperature record table is used to store mapping relationships between the temperatures and addresses of the multiple storage areas of the memory. The address comprises a logical address and/or a physical address. When the storage area comprises a plurality of storage units, each storage unit has an address, and the address of the storage area comprises the addresses of the plurality of storage units.
The memory controller may write the temperature of the memory region and the address of the memory region into the temperature record table after first calculating the temperature of the memory region. The address includes at least one logical address and/or physical address corresponding to the storage area, and the temperature record table may be configured to store a mapping relationship between the temperature and the address of the storage area. After the subsequent storage controller calculates the new temperature of the storage area, the temperature of the storage area stored in the temperature log table may be updated, that is, the calculated temperature of the storage area is used to replace the temperature of the storage area already stored in the temperature log table. Thus, the real-time temperature of a plurality of storage areas of the memory can be reflected in real time through the temperature recording table.
In some embodiments of the present application, after the storage controller calculates the temperature of the storage area, the storage controller may further control the operation performed in the storage area according to the temperature of the storage area, so as to avoid a problem of an excessively high temperature caused by frequent operations of the temperature in the storage area.
Specifically, the storage controller sets the storage area to the disabled state when the storage area is in the available state and the temperature is determined to be greater than or equal to the set threshold. And when the temperature of the storage area is determined to be less than the set threshold value and the storage area is in the forbidden state currently, setting the storage area to be in the usable state.
The storage controller sets the storage area to be in a forbidden state when the temperature of the storage area is too high, so that the storage controller can avoid continuous operation in the storage area, further avoid continuous increase of the temperature of the storage area, and provide certain cooling time for the storage area, so that the temperature of the storage area is reduced. After the storage area is set to be in the forbidden state, the storage controller still adopts the temperature calculation method to calculate the temperature of the storage area in real time, and when the temperature is lower than a set threshold value, the storage area is set to be in the usable state, so that the storage space corresponding to the storage area is released.
For example, when the method provided by the embodiment of the present application is applied to the system shown in fig. 3, the method for calculating the temperature of the storage area may be performed by the thermal distribution processing unit shown in fig. 3. The heat distribution approximation parameter table shown in fig. 3 may be used as a temperature recording table to record and hold temperature information of each storage area of the memory. The relevant control scheme after calculating the temperature of the storage area may be performed by the PCM controller shown in fig. 3.
In the scheme provided by the application, the storage controller can predict and calculate the temperature of the storage area based on the principle that the heat generated by erasing and writing operations of different times and different times in the storage is different, so that the temperature information in the storage area can be obtained, the temperature distribution of the storage area of the storage can be accurately monitored, the storage can be more accurately controlled according to the temperature distribution of the storage area, and the storage performance of the storage is improved.
The following describes a method for detecting a temperature of a memory according to an embodiment of the present application with reference to a specific example.
Fig. 5 is a flowchart illustrating a method for detecting a temperature of a memory according to an embodiment of the present disclosure. Referring to fig. 5, the process includes:
s501: the memory controller determines the number of write and erase operations performed in each memory area of the memory within a period of time closest to the current time and corresponding time information according to request (IO) data input to the memory.
When the storage controller acquires the number of times of writing and erasing operations corresponding to each storage area and the corresponding time information, the corresponding weight can be determined at the same time, and all the parameters are recorded.
Illustratively, the following table 1 is a parameter statistical example table provided in the embodiments of the present application.
TABLE 1 parameter statistics example table
Time of writing and erasing operation t 8 t 7 t 6 t 5 t 4 t 3 t 2 t 1 t 0
Number of write and erase operations c 8 c 7 c 6 c 5 c 4
Weight of w 8 w 7 w 6 w 5 w 4
Referring to the above table 1, t is a storage area of the memory 0 ~t 8 Respectively, a plurality of moments when a write-erase operation (including a write operation and/or an erase operation) exists in a history time, wherein t 0 At the time of the first write/erase operation, t 8 The time corresponding to the latest writing and erasing operation. The memory controller may count the time of the last write or erase operation, e.g., t shown in Table 1 4 ~t 8 Wherein, t 0 ~t 3 The time of the step (2) is far away from the current time, and can not be considered. The memory controller also counts the number of write and erase operations occurring in the memory region at each time, e.g., as shown in Table 1 and t, respectively 4 ~t 8 Corresponding number of write and erase times c 4 ~c 8 . At the same time, the memory controller determines the weight corresponding to each set of parameters, such as the weight w shown in Table 1 4 ~w 8 . Illustratively, the more recent write and erase operations have a greater effect on temperature, and thus the greater its weight, may be w 8 >w 7 >w 6 >w 5 >w 4
Each time there is a new write/erase operation in the storage area, the storage controller may update the statistical information shown in table 1, so as to update the operation parameters corresponding to the storage area in real time.
S502: the memory controller calculates a temperature of each memory region of the memory.
For example, the storage controller may calculate the temperature of each storage region according to the following formula:
T=f(k×W(N,t N )×C(N,t N ))
wherein T is the temperature of the storage region, f (·) is a set temperature calculation function, k is a set coefficient, the value is constant, and C (N, T) N ) Operating parameters corresponding to write and erase operations counted in the last period of time, W (N, t) N ) As a weight or weight function, t N At the time of performing the write/erase operation, N is t N The number of write and erase operations performed at a time.
S503: the memory controller stores the temperature and address of each area of the memory in a temperature log table.
After calculating the temperature of each storage area, the storage controller stores the temperature of each storage area in a temperature recording table, and the temperature is corresponding to the logical address and the physical address of the storage area.
Illustratively, the following table 2 is an exemplary temperature recording table provided in the embodiments of the present application.
TABLE 2 examples of temperature recording
Logical Address (X) Physical address (Y) Temperature (T)
LA_1 PA_1 T_1
LA_2 PA_2 T_2
LA_n PA_n T_n
In table 2, the logical addresses of the n storage areas included in the memory are denoted by LA _1 to LA _ n, the physical addresses of the n storage areas included in the memory are denoted by PA _1 to PA _ n, and the temperatures of the n storage areas included in the memory are denoted by T _1 to T _ n, where n is a positive integer. In this way, the logical address, physical address and temperature of each memory region may be taken as a set of parameters. According to the logical address or the physical address recorded in the temperature recording table, the storage controller can be positioned to the corresponding storage area, and then the temperature corresponding to the storage area is determined. Therefore, based on the temperature recording table, the storage controller can simply, conveniently and quickly record and store the temperature information of each storage area in the memory, and then inquire and update the temperature information.
S504: for each storage area of the memory, the storage controller determines whether the temperature of the storage area is greater than a set threshold, if so, step S505 is executed, otherwise, step S501 is executed.
S505: the storage controller sets the storage area to be in a disabled state, suspends the writing and erasing operation in the storage area, and sets the storage area to be in an available state until the temperature of the storage area is lower than a set threshold value.
The detailed implementation of each step above can refer to the related description in the foregoing, and is not described here again.
For example, fig. 6 is a schematic diagram of a write/erase operation and a temperature distribution of a storage area according to an embodiment of the present disclosure. Referring to fig. 6, taking the example that the memory includes 9 storage areas, each storage area includes 9 storage units, the states 1 to 3 are respectively the write/erase operation and the temperature distribution state of the storage areas corresponding to three different times. Fig. 6 (a) is a schematic diagram showing statistical information of the corresponding write and erase operations of the storage area in state 1, and fig. 6 (b) is a schematic diagram showing a corresponding temperature distribution of the storage area in state 1. The graph (c) in fig. 6 shows the corresponding statistical information of the writing and erasing operations of the storage area in the state 2, and the graph (d) in fig. 6 shows the corresponding temperature distribution of the storage area in the state 2. The diagram (e) in fig. 6 shows the corresponding statistical information of the write and erase operations when the storage area is in the state 1, and the diagram (f) in fig. 6 shows the corresponding temperature distribution when the storage area is in the state 1.
In the schematic diagrams (a), (c), and (e) in fig. 6, the minimum squares represent 1 memory cell, 9 minimum squares are divided into one memory area, and the number represents that the nth (value is 1 to 9) th time performs the write/erase operation on the corresponding memory area. For example, as can be seen in the schematic diagram of (a) in fig. 6, the 1 st write-erase operation performed in the memory occurs in the storage area 1, the 2 nd write-erase operation performed in the memory occurs in the storage area 2, and the 3 rd write-erase operation performed in the memory occurs in the storage area 3.
The diagrams (b), (d), and (f) in fig. 6 are thumbnails showing the temperature distribution of the storage area in the state 1, the state 2, and the state 3, respectively. In the schematic diagrams (b), (d) and (f), the density of the line distribution in the storage region indicates the temperature of the storage region, and the more sparse the line distribution, the lower the temperature, and the denser the line distribution, the higher the temperature.
As can be seen from the schematic diagrams (a) and (b) in fig. 6, in the state 1, in a statistical period of time, the continuous multiple write and erase operations respectively and uniformly occur in different storage regions, the correspondingly determined temperature distribution is very even, and the problem of device failure due to local over-high temperature does not occur, so that no additional operation control is required in the state 1.
As can be seen from the schematic diagrams (c) and (d) in fig. 6, in the state 2, within a statistical period of time, the continuous multiple writing and erasing operations respectively occur in several different storage regions, which are relatively dispersed, the correspondingly determined temperature distribution condition is appropriate, and the problem of device failure due to local over-temperature generally does not occur, so that no additional operation control may be performed in the state 2.
As can be seen from the diagrams (e) and (f) in fig. 6, in state 3, in a statistical period of time, multiple consecutive write and erase operations all occur in a single storage region, and in a corresponding determined temperature distribution, the temperature of a local storage region is high, which may cause device failure, so that additional operation control is required in state 3. For example, the operation control method described in the above step S505 may be performed.
In the embodiment, the number information of the write-erase operations occurring in the latest period of time and the corresponding time information are counted for each storage area of the memory, different weights are given to calculate the temperature of the memory, so that the temperature approximate distribution map of the whole memory is obtained, the temperature of the storage area of the memory can be monitored, and the accuracy and the reliability of temperature detection are improved. Meanwhile, the operation of the memory can be controlled according to the monitored temperature, so that the problem of thermal crosstalk among devices is relieved, the loss balance of a storage area is realized, and the performance of the memory is improved.
Based on the above embodiments and the same concept, the embodiments of the present application further provide an apparatus. As shown in fig. 7, the apparatus 700 may include: a data acquisition unit 701 and a data processing unit 702; the data obtaining unit 701 is configured to obtain an operating parameter of a storage area in the memory, where the operating parameter is used to: indicating the number of times that the storage region performs storage operation at historical time, and/or indicating the time interval between the historical time and the current time; wherein the storage operation comprises at least one of a write operation and an erase operation; the data processing unit 702 is configured to calculate the temperature of the storage area according to the value of the operating parameter.
In a possible design, the number of times that the storage area performs the storage operation at the historical time specifically includes: the storage unit of the storage area performs the sum of the number of times of the storage operation at the history time.
In one possible design, the storage area is in a usable state, and the data processing unit 702 is further configured to: setting the storage area to a disabled state when it is determined that the temperature is greater than or equal to a threshold.
In one possible design, the memory area is in a disabled state, and the data processing unit 702 is further configured to: setting the storage area to an available state when it is determined that the temperature is less than a threshold.
In a possible design, the data processing unit 702 is specifically configured to, when calculating the temperature of the storage area according to the value of the operating parameter: acquiring the weight corresponding to the operating parameter; wherein the weight is indicative of a degree of influence of the value of the operating parameter on the temperature of the storage region; calculating the temperature of the storage region according to the value of the operating parameter and the weight.
In one possible design, the weight is positively correlated with the number of the storage operations; or, the weight is inversely related to the time interval.
In one possible design, the data processing unit 702 is further configured to: writing or updating the temperature and the address of the storage area into a temperature recording table; the address comprises at least one logical address and/or physical address corresponding to the storage area, and the temperature record table is used for storing the mapping relationship between the temperature and the address of the storage area.
In one possible design, the memory is a phase change memory.
The division of the units in the embodiments of the present application is schematic, and is only a logical function division, and in actual implementation, there may be another division manner, and in addition, each functional unit in each embodiment of the present application may be integrated in one processor, may also exist alone physically, or may also be integrated in one unit by two or more units. The integrated unit can be realized in a form of hardware, and can also be realized in a form of a software functional unit.
Only one or more of the various elements in fig. 7 may be implemented in software, hardware, firmware, or a combination thereof. The software or firmware includes, but is not limited to, computer program instructions or code and may be executed by a hardware processor. The hardware includes, but is not limited to, various integrated circuits such as a Central Processing Unit (CPU), a Digital Signal Processor (DSP), a Field Programmable Gate Array (FPGA), or an Application Specific Integrated Circuit (ASIC).
Based on the above embodiments and the same concept, embodiments of the present application further provide a memory, where the memory includes a storage medium and a controller; the controller is configured to execute the temperature detection method for a memory provided by the embodiment of the present application on the storage area in the storage medium.
In one possible design, the memory is a phase change memory.
Based on the above embodiments and the same concept, embodiments of the present application further provide a computing device, which includes the memory provided by the above embodiments.
Based on the above embodiments and the same concept, embodiments of the present application further provide a computer-readable storage medium, where a computer-readable program is stored, and when the computer-readable program runs on a computer, the computer is caused to execute the temperature detection method of the memory provided in the above embodiments.
Based on the above embodiments and the same concept, embodiments of the present application further provide a computer program product, which when running on a computer, causes the computer to execute the method for detecting the temperature of the memory provided by the above embodiments.
The method provided by the embodiment of the present application may be implemented in whole or in part by software, hardware, firmware, or any combination thereof. When implemented in software, may be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When loaded and executed on a computer, cause the processes or functions described in accordance with the embodiments of the invention to occur, in whole or in part. The computer may be a general purpose computer, a special purpose computer, a computer network, a network appliance, a user device, or other programmable apparatus. The computer instructions may be stored in or transmitted from a computer-readable storage medium to another computer-readable storage medium, e.g., from one website, computer, server, or data center, over a wired (e.g., coaxial cable, fiber optic, digital Subscriber Line (DSL), or wireless (e.g., infrared, wireless, microwave, etc.) network, the computer-readable storage medium may be any available medium that can be accessed by a computer or a data storage device including one or more integrated servers, data centers, etc. the available medium may be magnetic (e.g., floppy disk, hard disk, magnetic tape), optical (e.g., digital Video Disc (DVD), or semiconductor medium (e.g., SSD), etc.
It will be apparent to those skilled in the art that various changes and modifications may be made in the present application without departing from the scope of the application. Thus, if such modifications and variations of the present application fall within the scope of the claims of the present application and their equivalents, the present application is intended to include such modifications and variations as well.

Claims (19)

1. A method for detecting a temperature of a memory, the method comprising:
obtaining operating parameters of a storage area in the memory, wherein the operating parameters are used for: indicating the number of times that the storage region executes storage operation at a historical time, and/or indicating the time interval between the historical time and the current time; wherein the storage operation comprises at least one of a write operation and an erase operation;
calculating the temperature of the storage area based on the value of the operating parameter.
2. The method according to claim 1, wherein the number of times the storage operation is performed by the storage area at the historical time specifically includes:
the storage unit of the storage area performs the sum of the number of times of the storage operation at the history time.
3. The method of claim 1 or 2, wherein the storage area is available, the method further comprising:
setting the storage area to a disabled state when it is determined that the temperature is greater than or equal to a threshold.
4. The method of claim 1 or 2, wherein the storage area is in a disabled state, the method further comprising:
setting the storage area to an available state when it is determined that the temperature is less than a threshold.
5. The method of any of claims 1-4, wherein calculating the temperature of the storage area based on the value of the operating parameter comprises:
acquiring the weight corresponding to the operating parameter; wherein the weight is indicative of a degree of influence of the value of the operating parameter on the temperature of the storage region;
calculating the temperature of the storage region according to the value of the operating parameter and the weight.
6. The method of claim 5,
the weight is positively correlated with the number of the storage operations; or
The weight is inversely related to the time interval.
7. The method of any one of claims 1 to 6, further comprising:
writing or updating the temperature and the address of the storage area into a temperature recording table; the address comprises at least one logical address and/or physical address corresponding to the storage area, and the temperature record table is used for storing the mapping relationship between the temperature and the address of the storage area.
8. The method of any of claims 1-7, wherein the memory is a phase change memory.
9. An apparatus comprising a data acquisition unit and a data processing unit;
the data acquisition unit is configured to acquire operating parameters of a storage area in the memory, where the operating parameters are used to: indicating the number of times that the storage region performs storage operation at historical time, and/or indicating the time interval between the historical time and the current time; wherein the storage operation comprises at least one of a write operation and an erase operation;
the data processing unit is used for calculating the temperature of the storage area according to the value of the operating parameter.
10. The apparatus according to claim 9, wherein the number of times the storage area performs the storage operation at the historical time specifically includes:
the storage unit of the storage area performs the sum of the number of times of the storage operation at the history time.
11. The apparatus according to claim 9 or 10, wherein the storage area is available, and the data processing unit is further configured to:
setting the storage area to a disabled state when it is determined that the temperature is greater than or equal to a threshold.
12. The apparatus of claim 9 or 10, wherein the memory region is in a disabled state, and wherein the data processing unit is further configured to:
setting the storage area to an available state when it is determined that the temperature is less than a threshold.
13. The apparatus of any of claims 9 to 12, wherein the data processing unit calculates the temperature of the storage area based on the value of the operating parameter, comprising:
acquiring the weight corresponding to the operating parameter; wherein the weight is indicative of a degree of influence of the value of the operating parameter on the temperature of the storage region;
calculating the temperature of the storage region according to the value of the operating parameter and the weight.
14. The apparatus of claim 13,
the weight is positively correlated with the number of the storage operations; or
The weight is inversely related to the time interval.
15. The apparatus according to any of claims 9 to 14, wherein the data processing unit is further configured to:
writing or updating the temperature and the address of the storage area into a temperature recording table; the address comprises at least one logical address and/or physical address corresponding to the storage area, and the temperature record table is used for storing the mapping relationship between the temperature and the address of the storage area.
16. The apparatus of any of claims 9 to 15, wherein the memory is a phase change memory.
17. A memory comprising a storage medium and a controller;
the controller is configured to perform the method of any one of claims 1 to 8 on a storage area in the storage medium.
18. The memory of claim 17, wherein the memory is a phase change memory.
19. A computing device, characterized in that it comprises a memory as claimed in claim 17 or 18.
CN202111005501.5A 2021-08-30 2021-08-30 Temperature detection method and device for memory Pending CN115729767A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202111005501.5A CN115729767A (en) 2021-08-30 2021-08-30 Temperature detection method and device for memory
PCT/CN2022/111681 WO2023029931A1 (en) 2021-08-30 2022-08-11 Temperature measurement method and apparatus for memory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111005501.5A CN115729767A (en) 2021-08-30 2021-08-30 Temperature detection method and device for memory

Publications (1)

Publication Number Publication Date
CN115729767A true CN115729767A (en) 2023-03-03

Family

ID=85290917

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111005501.5A Pending CN115729767A (en) 2021-08-30 2021-08-30 Temperature detection method and device for memory

Country Status (2)

Country Link
CN (1) CN115729767A (en)
WO (1) WO2023029931A1 (en)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004206795A (en) * 2002-12-25 2004-07-22 Toshiba Corp Disk storage device and light control method
US9218885B2 (en) * 2014-02-17 2015-12-22 Seagate Technology Llc System to control a width of a programming threshold voltage distribution width when writing hot-read data
CN106649139B (en) * 2016-12-29 2020-01-10 北京奇虎科技有限公司 Data elimination method and device based on multiple caches
US10146459B1 (en) * 2017-04-28 2018-12-04 EMC IP Holding Company LLC Disk activity balancing in mapped raid storage arrays by data remapping
JP7353889B2 (en) * 2019-09-19 2023-10-02 キオクシア株式会社 Memory systems and methods

Also Published As

Publication number Publication date
WO2023029931A1 (en) 2023-03-09

Similar Documents

Publication Publication Date Title
US11422722B2 (en) Intelligent wide port PHY usage
US9122607B1 (en) Hotspot detection and caching for storage devices
WO2017076184A1 (en) Data writing method and device in distributed file system
US20130080679A1 (en) System and method for optimizing thermal management for a storage controller cache
US9606937B1 (en) Cache insertion based on threshold access frequency
US10482033B2 (en) Method and device for controlling memory
US11467767B2 (en) Storage device throttling amount of communicated data depending on suspension frequency of operation
US20190004723A1 (en) Throttling components of a storage device
US10514848B2 (en) Data storage method for selectively storing data in a buffer preset in a memory of an electronic device or an inherent buffer in an SSD
WO2023207562A1 (en) Data processing method and apparatus, and device
WO2022227373A1 (en) Hard disk health evaluation method and storage device
US11507484B2 (en) Ethod and computer storage node of shared storage system for abnormal behavior detection/analysis
JP2019128948A (en) Integrated circuit device and storage device
US11243586B2 (en) System and method for optimizing system power and performance with high power memory modules
CN115729767A (en) Temperature detection method and device for memory
US20240061782A1 (en) Method and device for data caching
US10949359B2 (en) Optimizing cache performance with probabilistic model
JP2018005686A (en) Solid state drive
TWI510922B (en) Augmenting memory capacity for key value cache
US11720282B2 (en) Stack management in memory systems
US11544168B2 (en) Memory system
US11868223B2 (en) Read-disturb-based read temperature information utilization system
US11928354B2 (en) Read-disturb-based read temperature determination system
US11983431B2 (en) Read-disturb-based read temperature time-based attenuation system
US11922035B2 (en) Read-disturb-based read temperature adjustment system

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication