WO2021146979A1 - Data storage system and method - Google Patents

Data storage system and method Download PDF

Info

Publication number
WO2021146979A1
WO2021146979A1 PCT/CN2020/073701 CN2020073701W WO2021146979A1 WO 2021146979 A1 WO2021146979 A1 WO 2021146979A1 CN 2020073701 W CN2020073701 W CN 2020073701W WO 2021146979 A1 WO2021146979 A1 WO 2021146979A1
Authority
WO
WIPO (PCT)
Prior art keywords
temperature
memory
temperature detection
controller
detection
Prior art date
Application number
PCT/CN2020/073701
Other languages
French (fr)
Chinese (zh)
Inventor
刘荣斌
王正波
伍青青
Original Assignee
华为技术有限公司
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 华为技术有限公司 filed Critical 华为技术有限公司
Priority to CN202080081681.2A priority Critical patent/CN114730594A/en
Priority to PCT/CN2020/073701 priority patent/WO2021146979A1/en
Publication of WO2021146979A1 publication Critical patent/WO2021146979A1/en

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/406Management or control of the refreshing or charge-regeneration cycles

Definitions

  • This application relates to the field of memory technology, and in particular to a data storage system and method.
  • the memory generally stores data according to the level state; and in the dynamic random access memory (Dynamic Random Access Memory, DRAM), the charge stored in the capacitor will disappear after a relatively short period of time, resulting in data failure, so it is to maintain storage If the data is not lost, the DRAM must be refreshed periodically, that is, the device must be charged to the initial charge level after reading the data repeatedly.
  • the maximum allowable time between refresh operations is determined by the charge storage capacity of the capacitors that make up the DRAM cell array.
  • the DRAM refresh frequency is adjusted according to the temperature of the DRAM.
  • a temperature detection circuit is built into the DRAM. Adjust the desired refresh frequency according to the temperature detection result of the circuit module; generally, the higher the temperature, the higher the desired refresh frequency.
  • the controller reads the mode register inside the DRAM, obtains the current temperature detection result of the DRAM, and determines the corresponding expected refresh frequency. For example, in a high bandwidth memory (High Bandwidth Memory, HBM) application, the DRAM outputs a 3-bit result in real time to indicate the desired refresh frequency.
  • HBM High Bandwidth Memory
  • the controller needs to read the mode register inside the DRAM periodically or in real time; as the number of reads increases, the data bus occupies more times, which increases the overhead and affects the effective memory access bandwidth of the DRAM; and, the detection cycle of the temperature detection circuit Can't be adjusted flexibly.
  • DRAM not only outputs temperature detection results in real time, but the detection temperature range corresponding to the output 3bit results cannot be adjusted; when the temperature fluctuates at the critical point of different temperature ranges (such as 16°C-25°C and 25°C) The critical point of -40°C is 25°C), there are mis-sampling results that lead to multiple adjustments of the refresh frequency; and real-time output of temperature detection results will cause a certain amount of energy consumption.
  • the embodiments of the present application provide a data storage system and method, which can configure the temperature detection period of the memory; and according to the obtained temperature detection results, adjust the refresh frequency of the memory effectively and reasonably.
  • an embodiment of the present application provides a data storage system, including:
  • a memory a controller, and a temperature detection circuit; the controller is connected with the temperature detection circuit; the memory is connected with the controller;
  • the controller is used to set the temperature detection period of the memory
  • the temperature detection circuit is used for:
  • the controller is further configured to set the refresh frequency of the memory according to the detection information
  • the memory is used for refreshing according to the refresh frequency.
  • the embodiment of the application mainly configures the temperature detection cycle of the memory by the controller, so that the controller can obtain the temperature of the memory according to a certain cycle (for example, the temperature range of the memory temperature at a certain moment); according to the temperature of the memory, pass The controller adjusts the refresh frequency in the memory.
  • the temperature detection cycle of the memory is set by the controller; when the count value reaches the temperature detection cycle (for example, the cycle is 50us, and the count value corresponding to 50us is reached after resetting the detection cycle), the temperature detection circuit detects the memory The current temperature, and the target detection information corresponding to the current temperature is sent to the controller; after the controller receives the target detection information, the corresponding refresh frequency is determined to instruct the memory to refresh to maintain the stored data.
  • the temperature detection cycle cannot be changed by the controller, and is usually a fixed value or real-time temperature detection, which makes it difficult to obtain memory temperature information reasonably; and the acquisition of temperature information requires occupying a data bus, which causes an increase in overhead.
  • the embodiments of the present application not only can different temperature detection periods be configured according to system requirements, but also the energy consumption generated by real-time monitoring can be reduced. Further, the refresh frequency of the memory is adjusted in time according to the temperature information, and the data bus is not occupied to obtain the temperature detection result, which effectively improves the memory access efficiency.
  • the system further includes: a counter connected to the controller; the controller is further configured to send the temperature detection period to the counter; the counter is configured to : Cycle counting until the count value reaches the temperature detection period; when the count value reaches the temperature detection period, send a detection instruction to the temperature detection circuit; the temperature detection circuit is specifically used to: When the instruction is detected, the temperature of the memory is detected, and the detection information corresponding to the temperature is sent to the controller.
  • the set temperature detection period is sent to the counter through the controller; after receiving the temperature detection period, the counter starts to count from the initial value (for example, 0) until the count value (corresponding time) reaches the detection period value.
  • the counter triggers the temperature detection circuit to perform temperature detection.
  • the accurate calculation of the relationship between the time and the set period through the counting of the counter helps the temperature detection circuit to accurately detect the temperature according to the period.
  • the controller is further configured to send a detection instruction to the temperature detection circuit according to the temperature detection cycle; the temperature detection circuit is specifically configured to detect when the detection instruction is received The temperature of the memory, and sending detection information corresponding to the temperature to the controller.
  • the controller sends a detection instruction to the temperature detection circuit according to the temperature detection cycle.
  • the controller integrates the function of cycle counting, and sends a detection command at a certain moment to make the temperature detection circuit enter the enabled state.
  • the temperature detection circuit is specifically configured to: determine a target temperature range in which the temperature of the memory is located, and the target temperature range is among the multiple temperature ranges managed by the temperature detection circuit One of; sending detection information corresponding to the target temperature range to the controller.
  • the temperature range of the temperature is a certain temperature range of the multiple temperature ranges (for example, the temperature range is -40 to -10).
  • °C Send the target detection information corresponding to the temperature range to the controller (such as 000 in the 3bit temperature data).
  • a variety of temperature ranges are sent as the basis for adjusting the refresh frequency.
  • the use of the output temperature range can reduce the occupation of I/O and
  • the temperature range (for example, the number of bits corresponding to the output) can be adjusted to increase or decrease the use of the I/O port to adapt to the specific memory configuration.
  • the system further includes: a register connected to the controller; the register is also connected to the temperature detection circuit; the register is used to store one or more detection information A plurality of first temperature ranges corresponding to each detection information in the plurality of first temperature ranges, the one or more detection information includes the target detection information; the controller is further configured to: determine from the plurality of first temperature ranges The second temperature range matched by each detection information; the register is further used to send the second temperature range matched by each detection information to the temperature detection circuit.
  • the controller selects the second temperature range that each detection information matches; for example, the detection information is 000 in 3bit data, and the register stores the corresponding value of 000.
  • the default temperature range corresponding to 000 is -40 ⁇ -10°C.
  • the temperature range corresponding to 000 can be changed by the controller, that is, the temperature range corresponding to the configuration detection information can be configured, and the temperature range configuration can be performed on 8 kinds of detection information to meet the refreshing requirements of different memories or the adaptable temperature under different conditions of the same memory.
  • the detection information includes information used to indicate a target temperature range in which the temperature of the memory is located, and the controller is specifically configured to: determine the target according to the detection information Temperature range; according to the target temperature range, the refresh frequency of the memory is determined.
  • the target detection information is obtained from the temperature detection circuit by the controller; the temperature range corresponding to the detection information is determined according to the target detection information; the refresh frequency corresponding to the temperature range is determined by the controller. According to the detection information in different temperature ranges, different refresh frequencies can be determined to adapt to the temperature changes of the memory.
  • the temperature detection circuit is specifically configured to: send the target detection information to the controller through a pin.
  • the target detection information is directly sent to the controller through the pins of the temperature detection circuit, so as to avoid the situation that the controller reads the target temperature detection from the register and causes the bus occupation.
  • the controller is further configured to send a refresh instruction to the memory according to the refresh frequency; the memory is specifically configured to: receive the refresh instruction, and according to the refresh instruction Perform automatic refresh to maintain the data stored in the memory.
  • the controller sends a refresh instruction to the memory according to the determined refresh frequency to instruct the memory to refresh in time, so as to keep the stored data from being lost.
  • the temperature detection cycle is 64 clock cycles, 128 clock cycles, 256 clock cycles, 512 clock cycles, 1024 clock cycles, 2048 clock cycles, or 4096 clock cycles.
  • the embodiments of the present application provide a variety of different cycle configurations to meet different energy consumption requirements. For example, if 4096 clock cycles (ie, temperature detection cycles) are configured to perform a temperature detection, and the temperature detection enable time is 8 clock cycles, then the energy consumption after the configuration cycle is reduced to 1/512 compared with the case of real-time detection.
  • the controller is further configured to shorten the temperature detection period when the degree of change of the detection information in the temperature detection period is greater than a preset change threshold.
  • the temperature detection period is adjusted according to the temperature change of the memory or the requirements of the system to adapt to the current operating condition of the memory.
  • the controller is further configured to send one or more temperature configuration parameters to the register, and the one or more temperature configuration parameters are used to determine one or more temperature configuration parameters stored in the register.
  • the temperature configuration parameter sent by the controller to the register is used to accurately adjust and configure the temperature range corresponding to the detection information.
  • an embodiment of the present application provides a data storage device applied to a dynamic random access memory, including: a memory, a controller connected to the memory, the memory including a temperature detection circuit; the controller, The temperature detection circuit is used to set a temperature detection period for the memory; the temperature detection circuit is used to: detect the temperature of the memory when the count value reaches the temperature detection period; and send the temperature to the controller Corresponding target detection information; the controller is further configured to: determine the refresh frequency of the memory according to the target detection information; the memory is configured to refresh according to the refresh frequency to maintain the memory storage The data.
  • the memory further includes a counter connected to the temperature detection circuit; the controller is further configured to send the temperature detection period to the counter; and the counter is configured to : Cycle counting until the count value reaches the temperature detection period; when the count value reaches the temperature detection period, send a detection instruction to the temperature detection circuit; the temperature detection circuit is specifically used to: In the detection instruction, the temperature of the memory is detected, and target detection information corresponding to the temperature is sent to the controller.
  • the temperature detection circuit is specifically configured to: determine the target temperature range in which the temperature is located from one or more first temperature ranges; and determine the target temperature range that matches the target temperature range.
  • Target detection information sending the target detection information to the controller.
  • the memory further includes a register connected to the temperature detection circuit for storing multiple first temperature ranges corresponding to each detection information in one or more detection information, and The one or more detection information includes the target detection information; the controller is further configured to: determine a second temperature range matched by each detection information from the plurality of first temperature ranges; the register It is also used to send the second temperature range matched by each detection information to the temperature detection circuit.
  • the controller is specifically configured to: determine the target temperature range according to the detection information; and determine the refresh frequency of the memory according to the target temperature range.
  • the temperature detection circuit is specifically configured to: send the detection information to the controller through a pin.
  • the controller is further configured to send a refresh instruction to the memory according to the refresh frequency; the memory is specifically configured to: receive the refresh instruction, and according to the refresh instruction Refresh is performed to maintain the data stored in the memory.
  • the temperature detection cycle is 64 clock cycles, 128 clock cycles, 256 clock cycles, 512 clock cycles, 1024 clock cycles, 2048 clock cycles, or 4096 clock cycles.
  • the controller is further configured to shorten the temperature detection period when the degree of change of the detection information in the temperature detection period is greater than a preset change threshold.
  • an embodiment of the present application provides a data storage method, including: setting a temperature detection period of a memory, and the temperature detection period is a period in which a temperature detection circuit detects the temperature of the memory and sends detection information corresponding to the temperature. cycle;
  • the refresh frequency of the memory is set according to the detection information.
  • the method further includes:
  • a detection instruction is sent to the temperature detection circuit through the counter, and the detection instruction is used to instruct the temperature detection circuit to detect the temperature of the memory and send the Detection information corresponding to temperature.
  • the method further includes:
  • the detection instruction is used to instruct the temperature detection circuit to detect the temperature of the memory, and send detection information corresponding to the temperature.
  • the detection information includes information used to indicate a target temperature range in which the temperature of the memory is located, and the refresh frequency of the memory is set according to the detection information, include:
  • the refresh frequency of the memory is set.
  • the method further includes:
  • a refresh instruction is sent to the memory; the refresh instruction is used to instruct the memory to refresh.
  • the temperature detection cycle is 64 clock cycles, 128 clock cycles, 256 clock cycles, 512 clock cycles, 1024 clock cycles, 2048 clock cycles, or 4096 clock cycles.
  • the method further includes:
  • the temperature detection period is shortened.
  • the receiving the detection information from the temperature detection circuit includes:
  • the detection information is received from the temperature detection circuit through a pin.
  • an embodiment of the present application provides a chip system, which can be implemented by executing the method described in any one of the third aspect.
  • an embodiment of the present application provides an electronic device, which may include: the data storage device as described in the first or second aspect above, and a discrete device coupled to the outside of the data storage device.
  • an embodiment of the present application provides a terminal, the terminal includes a processor, and the processor is configured to support the terminal to perform a corresponding function in the data storage method provided in the third aspect.
  • the terminal may also include a memory, which is used for coupling with the processor and stores necessary program instructions and data for the terminal.
  • the terminal may also include a communication interface for the terminal to communicate with other devices or communication networks.
  • FIG. 1 is a schematic diagram of a data storage system architecture provided by an embodiment of the present application
  • FIG. 2 is a schematic diagram of another data storage system architecture provided by an embodiment of the present application.
  • FIG. 3 is a schematic diagram of a data storage function corresponding to FIG. 2 provided by an embodiment of the present application;
  • FIG. 4 is a schematic diagram of a part of the structure of a data storage device provided by an embodiment of the present application.
  • FIG. 5 is a schematic diagram of a part of the structure of another data storage device provided by an embodiment of the present application.
  • FIG. 6 is a schematic diagram of a periodic detection process of a temperature detection circuit provided by an embodiment of the present application.
  • FIG. 7 is a schematic partial structural diagram of yet another data storage device provided by an embodiment of the present application.
  • FIG. 8 is a schematic flowchart of a data storage method provided by an embodiment of the present application.
  • FIG. 9 is a schematic structural diagram of a device provided by an embodiment of the present application.
  • first”, “second”, “third” and “fourth” in the specification and claims of this application and the drawings are used to distinguish different objects, not to describe a specific order ; And the objects described by the terms “first”, “second”, “third” and “fourth” may also be the same objects, or contain each other or have other relationships.
  • the terms “including” and “having” and any variations of them are intended to cover non-exclusive inclusions. For example, a process, method, system, product, or device that includes a series of steps or units is not limited to the listed steps or units, but optionally includes unlisted steps or units, or optionally also includes Other steps or units inherent to these processes, methods, products or equipment.
  • component used in this specification are used to denote computer-related entities, hardware, firmware, a combination of hardware and software, software, or software in execution.
  • the component may be, but is not limited to, a process, a processor, an object, an executable file, an execution thread, a program, and/or a computer running on a processor.
  • the application running on the computing device and the computing device can be components.
  • One or more components may reside in processes and/or threads of execution, and components may be located on one computer and/or distributed among two or more computers.
  • these components can be executed from various computer readable media having various data structures stored thereon.
  • the component can be based on, for example, a signal having one or more data packets (e.g. data from two components interacting with another component in a local system, a distributed system, and/or a network, such as the Internet that interacts with other systems through a signal) Communicate through local and/or remote processes.
  • a signal having one or more data packets (e.g. data from two components interacting with another component in a local system, a distributed system, and/or a network, such as the Internet that interacts with other systems through a signal) Communicate through local and/or remote processes.
  • module in the embodiment of the present application can be understood as a coupling of a circuit or a device; the embodiment of the present application does not limit this.
  • Dynamic random access memory is a type of semiconductor memory. Its main function is to use the amount of charge stored in a capacitor to represent whether a binary bit (bit) is 1 or 0. Due to the leakage current phenomenon of the transistor, the amount of charge stored on the capacitor is not enough to correctly distinguish the data, which leads to data corruption. Therefore, for DRAM, it needs to be charged periodically to store data normally.
  • Enable which can be an input pin of the chip or an input port of the circuit. Only when the pin is activated, for example, when it is set to a high level, the entire module can work normally. Enabling is not just about controlling, it is a kind of demand response that needs to meet certain conditions. For example, when the enable terminal is active at low level, the circuit realizes the NAND function; when the enable terminal is at high level, the circuit is in a high impedance state. The enabling application range is also very wide. For example, the flip-flops and counters of the power number will have an enable terminal to control their work or other components to work.
  • the clock period also known as the oscillation period, is defined as the reciprocal of the clock frequency.
  • the clock cycle is the most basic and smallest unit of time in a computer. In one clock cycle, the CPU only completes one of the most basic actions.
  • a clock period is a quantity of time.
  • the clock cycle can represent the highest frequency that the memory (such as synchronous dynamic random access memory) can run. A smaller clock cycle means a higher operating frequency.
  • Bit (binary digit, bit) is the smallest unit of information, which is the information contained in one bit of a binary number or the amount of information required to specify one of the two options. Generally speaking, the amount of information of n bits can show 2 n-th power options. For example: the word length of a computer is 16 bits, that is, 16 binary bits, the numerical information it represents is 0-65535.
  • Decoding is the inverse process of encoding, and at the same time removes the noise mixed in the bit stream during the propagation process.
  • the process of using a decoding table to translate text into a group of numbers or using a decoding table to translate a series of signals representing a certain item of information into text is called decoding.
  • Refresh means that the capacitor used to record the logical value of DRAM has a significant leakage phenomenon (discharge phenomenon) due to technical difficulties in all aspects, and the potential drops, and the high-potential capacitor is periodically charged and maintained. Its a stable process.
  • Registers are small storage areas used to store data. They are used to temporarily store data and calculation results involved in operations. They are a commonly used sequential logic circuit, but this sequential logic circuit only contains memory circuits.
  • the storage circuit of the register is composed of latches or flip-flops. Because a latch or flip-flop can store a 1-bit binary number, N latches or flip-flops can form an N-bit register.
  • the register is an integral part of the central processing unit. Registers are high-speed storage components with limited storage capacity. They can be used to temporarily store instructions, data, and addresses.
  • Figure 1 is a schematic diagram of a data storage system architecture provided by an embodiment of the present application.
  • the system architecture includes a controller. 10.
  • the memory 20 and the temperature detection circuit 30 may be three independent logic circuits or devices; or, the memory 20 may include the temperature detection circuit 30 and the controller 10; or, the memory 20 may include a temperature detection circuit 30.
  • the controller 10 may be an independent device independent of the memory 20; this is not limited in the embodiment of the present application. in,
  • the controller 10 is used to set a temperature detection cycle for the memory 20; before the controller 10 configures the temperature detection cycle, the temperature detection circuit 30 can detect the temperature of the memory 20 in real time and feed back detection information to the controller 10, or according to a preset fixed Detect and feedback periodically.
  • the temperature detection circuit 30 (or temperature detection circuit) is triggered to detect the temperature of the memory and feedback corresponding detection information to the controller 10.
  • the controller 10 adjusts the refresh frequency of the memory 20 according to the target detection information.
  • the memory 20 is used to store data and automatically refresh according to the refresh frequency set by the controller 10 (that is, the memory performs self-refresh), so as to maintain the data stored in the memory.
  • the temperature detection circuit 30 is configured to detect the temperature of the memory 20 according to the temperature detection period set by the controller 10 and feed back target detection information corresponding to the detected temperature to the controller 10.
  • the controller 10 may analyze the target detection information to obtain the corresponding temperature range, and then determine the refresh frequency according to the temperature range. Alternatively, the controller 10 may directly determine the refresh frequency according to the target detection information.
  • system architecture in FIG. 1 is only an exemplary implementation in the embodiment of the present application, and the system architecture in the embodiment of the present application includes but is not limited to the above system architecture.
  • Figure 2 is a schematic diagram of another data storage system architecture provided by an embodiment of the present application
  • Figure 3 is a schematic diagram of a data storage function corresponding to Figure 2 provided by an embodiment of the present application
  • the system architecture includes a memory 20 (taking DRAM as an example) and a controller 10; among them,
  • the memory 20 includes a register 201, a temperature detection circuit 30, and a counter 202; the register 201 is connected to the temperature detection circuit 30; the counter 202 is connected to the temperature detection circuit 30; specifically, the register 201 can store multiple detection information and the temperature range corresponding to the detection information It is sent to the temperature detection circuit 30 to configure the temperature detection range; when the temperature detection circuit 30 detects the current temperature of the memory 20, it is determined according to the received multiple temperature ranges that the current temperature is within the temperature range of the multiple temperature ranges Which range.
  • the counter 202 is used to receive the temperature detection period configured by the controller, and when the count value reaches the temperature detection period, trigger the temperature detection circuit to perform temperature detection and feed back the temperature result to the controller 10.
  • the controller 10 includes a first circuit 101, a second circuit 102, and a third circuit 103; the first circuit 101 is used to set the temperature range matched by each detection information from a plurality of temperature ranges stored in the register; the second circuit 102 uses To receive the target detection information, and determine the refresh frequency according to the target detection information; send a refresh command to the temperature detection circuit according to the refresh frequency; the third circuit 103 is used to set the temperature detection period and send the temperature detection period to the counter.
  • FIG. 2 is only an exemplary implementation in the embodiments of the present application, and the application scenarios in the embodiments of the present application include but are not limited to the above application scenarios.
  • FIG. 4 is a partial structural diagram of a data storage device provided by an embodiment of the present application; the data storage device can be applied to a data storage system architecture (including the system architecture shown in FIG. 2 above).
  • the data storage device includes DRAM 20 (ie, memory 20) and a controller 10; the controller 10 is connected to the DRAM 20; specifically, the DRAM includes a built-in temperature detection circuit 30 and a refresh command decoding module 203; the controller 10 includes The temperature structure receiving module 104 and the refresh operation management module (ie, the second circuit) 102. in,
  • the controller 10 is used to set the temperature detection period of the memory (ie, the timing period shown in the figure). Specifically, the controller may adjust the temperature detection period of the memory through a built-in circuit (such as a counting circuit or a counting module). Before setting a new temperature detection period by the controller, the temperature detection period is a preset default temperature detection period or a temperature detection period before the setting. Optionally, after a new temperature detection period is set by the controller, the controller may output a detection instruction (for example, an enable signal) according to the temperature detection period to instruct the temperature detection circuit to perform temperature detection on the memory. For example, after receiving the detection instruction, the temperature detection circuit ends the sleep state and starts to detect the temperature of the memory according to the preset detection frequency.
  • a detection instruction for example, an enable signal
  • the temperature detection circuit 20 outputs a 3bit temperature result, and uses the corresponding interface to directly send a 3bit interface signal corresponding to the 3bit temperature result to the controller; optionally, the 3bit interface information can be obtained by encoding according to the 3bit temperature result data.
  • the controller 10 receives the 3bit interface signal sent by the DRAM through the interface or pin, it receives and parses the interface signal through the built-in temperature result receiving module.
  • the controller obtains the corresponding 3bit temperature result through analysis, and determines the temperature range of the current temperature of the memory according to the 3bit temperature result; then adjusts the timing period according to the temperature range.
  • the adjusted timing period data is sent to the refresh operation management module 102 (that is, the second circuit 102 shown in FIG.
  • the refresh operation management module sends the new timing period data to the DRAM through the memory control interface in the controller.
  • Cycle change instructions After the DRAM receives the cycle change instruction including the new timing cycle data, the instruction decoding module 203 decodes the instruction. In the new timing period, control the built-in temperature detection circuit to detect its own temperature.
  • the controller 10 is specifically configured to determine the target temperature range according to the detection information; and determine the refresh frequency of the memory according to the target temperature range.
  • the temperature range corresponding to the target detection information is 6-40°C
  • the refresh frequency suitable for the memory is determined according to the temperature range 6-40°C.
  • the detection information may correspond to a specific temperature of the memory or a temperature range in which the specific temperature of the memory is located.
  • the controller can obtain the specific temperature situation of the memory at a certain moment or within a certain period of time through the detection information.
  • the controller can determine the temperature range of the memory through the detection information, and then match with multiple preset temperature ranges to determine the refresh frequency of the memory.
  • the controller 10 is further configured to send a refresh instruction to the memory according to the refresh frequency; the memory is specifically configured to receive the refresh instruction, and automatically refresh according to the refresh instruction, To keep the data stored in the memory. For example, if the refresh frequency of the memory suitable for the current temperature is determined according to the target detection information (such as refreshing the data stored in the memory every 5s), then the data of the memory is refreshed every 5s to ensure that the data is not lost.
  • the target detection information such as refreshing the data stored in the memory every 5s
  • the controller is further configured to: shorten the temperature detection period when the degree of change of the target detection information within a preset number of temperature detection cycles is greater than a preset change threshold.
  • the controller adjusts the temperature detection cycle of the memory according to the system demand or the historical temperature change trend of the DRAM. For example, in summer or in an environment where the temperature is relatively high, the temperature detection cycle is shortened to accurately obtain the temperature information of the memory (such as DRAM) to avoid data loss. In a low-temperature environment or the memory temperature changes slowly, the temperature detection cycle can be extended (for example, 128 clock cycles are set to 512 clock cycles) to reduce the energy consumption of the device without data loss.
  • the device further includes a counter connected to the controller; the counter is also connected to the temperature detection circuit; the controller sends the temperature detection period to the counter
  • the counter is used to count cyclically until the count value reaches the temperature detection period; when the count value reaches the temperature detection period, send a detection instruction to the temperature detection circuit; the temperature detection circuit, Specifically, when receiving the detection instruction, detect the temperature of the memory, and send target detection information corresponding to the temperature to the controller.
  • the temperature detection circuit is configured to detect the temperature of the memory when the count value reaches the temperature detection period; send target detection information corresponding to the temperature to the controller; the controller is also configured to The target detection information determines the refresh frequency of the memory; the memory is used to refresh according to the refresh frequency.
  • FIG. 5 is a partial structural diagram of another data storage device provided by an embodiment of the present application; as shown in FIG. 5, the data storage device can be applied to a data storage system architecture (including the system shown in FIG. 1 above). Architecture).
  • the controller 10 includes a counter 202, a temperature detection cycle configuration register (that is, a third circuit) 103, and an enable control module 105; wherein, the enable control module 105 is used to control the enable of DRAM memory temperature reading; for example, The enable control module 105 updates the memory temperature enable command to instruct the memory to stop or start temperature detection.
  • the counter 202 is built in the controller 10 and is used for timing or counting according to the configured time period.
  • the counter 202, the temperature detection period configuration register 101, and the enable control module 105 may be devices independent of the controller 10.
  • the controller 10 can be connected to the DRAM through a preset memory control interface.
  • the counter 202 may be integrated in the memory or connected to the controller in other ways.
  • the DRAM 20 includes a temperature detection circuit 30, a temperature detection enable module 204, and a command decoding module 203.
  • the command decoding module 203 is also used to decode the commands received by the memory, so as to control the operation of the temperature detection enabling module.
  • the DRAM may also decode the commands through other command decoding modules; this embodiment of the present application does not limit this.
  • the working enable period of the temperature detection circuit of the DRAM is configurable.
  • the controller sends the cycle configuration parameter 000 to the counter 3Bit data is used as an example in this application
  • the counter monitors the temperature of the memory in real time; if the controller sends the cycle configuration parameter 001 to the counter, the counter every 64 clock cycles Check the temperature once. Please refer to Table 1 for specific other period configuration parameters, as shown in the following table:
  • Period configuration meaning 000 Detect the temperature of DRAM in real time 001 64*clock cycle 010 128*clock cycle 011 256*clock cycle 100 512*clock cycle 101 1024*clock cycle 110 2048*clock period 111 4096*clock cycle
  • the controller Configure the temperature detection cycle through the controller, and judge whether the configured cycle time is reached according to the counting result of the counter. After reaching the cycle time, the counter triggers the temperature detection circuit to perform temperature detection.
  • a high level that is, a detection command
  • the temperature detection circuit performs temperature detection after receiving the high level. It should be understood that the high level is an exemplary detection instruction; the embodiment of the present application does not limit the specific enabling mode.
  • the temperature detection circuit is specifically configured to determine the target temperature range in which the temperature is located from one or more first temperature ranges; determine the target detection information that matches the target temperature range; send to the controller
  • the target detection information (the detection information in this embodiment of the application is 3bit data).
  • the temperature detection circuit can be composed of a comparator, a resistor divider circuit, a counter and other circuits. After the temperature detection circuit obtains the current temperature of the DRAM, the temperature range of the temperature is determined. When only one temperature range is set, then the current temperature can only correspond to the preset temperature range.
  • the temperature value can be used to determine which temperature range the temperature is in. For example, if it is detected that the current DRAM temperature is 10°C and the preset temperature range is 1-25°C, then it can be judged that the current temperature is in the temperature range 1-25°C.
  • the temperature detection circuit detects the temperature of the DRAM by detecting the voltage change of the circuit. The embodiment of the present application does not limit the specific method of detecting the temperature.
  • FIG. 6 is a schematic diagram of the cycle detection process of a temperature detection circuit provided by an embodiment of the present application; as shown in FIG. 6, after the temperature detection cycle is set by the controller, the counter receives the cycle of the temperature detection cycle.
  • the counter When counting, start counting until the count value reaches the corresponding number of cycles; the counter triggers the temperature detection circuit to detect the temperature; the temperature detection circuit detects the temperature and outputs the detection information (ie, the temperature detection result) to the controller, and then makes the temperature detection circuit enable invalid.
  • the counter can set an initial value of the count, start counting from the initial value, and compare with the preset number of cycles after each count is completed to determine whether to adjust the counting cycle.
  • the temperature detection circuit After determining the temperature range corresponding to the current DRAM temperature, the temperature detection circuit outputs detection information matching the temperature range to the controller.
  • the detection information corresponding to 1-25°C is 001
  • the detection information 001 is sent to the controller.
  • the detection information may be 4 bits or other bits of data.
  • the detection information is 3bit data
  • 8 temperature ranges can be set. Set the number of bits of the detection information according to the actual temperature detection requirements and temperature range requirements.
  • the output result of the temperature detection circuit in the embodiment of this application uses the temperature range as an example; however, this application does not limit the actual output result, that is, the temperature detection circuit can output the actual temperature value of the memory or the temperature of the memory. temperature range.
  • the embodiment of the application mainly configures the temperature detection cycle of the memory by the controller, so that the controller can obtain the temperature of the memory according to a certain cycle (for example, the temperature range of the memory temperature at a certain moment); according to the temperature of the memory, pass The controller adjusts the refresh frequency in the memory.
  • the temperature detection cycle of the memory is set by the controller; when the count value reaches the temperature detection cycle (for example, the cycle is 50us, and the count value corresponding to 50us is reached after resetting the detection cycle), the temperature detection circuit detects the memory The current temperature, and the target detection information corresponding to the current temperature is sent to the controller; after the controller receives the target detection information, the corresponding refresh frequency is determined to instruct the memory to refresh the stored data.
  • the temperature detection cycle cannot be changed by the controller, and is usually a fixed value or real-time temperature detection, which makes it difficult to obtain memory temperature information reasonably; and the acquisition of temperature information requires occupying a data bus, which causes an increase in overhead.
  • the embodiments of the present application not only can different temperature detection periods be configured according to system requirements, but also the energy consumption generated by real-time monitoring can be reduced. Further, the refresh frequency of the memory is adjusted in time according to the temperature information, and the data bus is not occupied to obtain the temperature detection result, which effectively improves the memory access efficiency.
  • the device further includes a register connected to the controller; the register is also connected to the temperature detection circuit; the register is used to store each of one or more detection information A plurality of first temperature ranges corresponding to one piece of detection information, the one or more pieces of detection information includes the target detection information; the controller is further configured to determine each of the plurality of first temperature ranges A first temperature range matched by the detection information; the register is also used to send the first temperature range matched by each detection information to the temperature detection circuit.
  • FIG. 7 is a partial structural diagram of another data storage device provided by an embodiment of the present application; as shown in FIG. 7, the data storage device can be applied to a data storage system architecture (including the above-mentioned FIG. 1 or FIG. 2). System architecture shown). specifically,
  • the controller 10 includes a temperature detection configuration management module (first circuit) 101.
  • the controller is configured to connect the temperature range configuration management module 101 and the temperature adjustment register 201 by configuring a corresponding interface.
  • the temperature adjustment register can send seven temperature parameters to the temperature detection circuit 30, for example, temperature adjustment G1, temperature adjustment G2, ..., temperature adjustment G1.
  • the embodiment of the present application takes the output of a 3-bit temperature value result and the 2-bit temperature adjustment parameter as an example.
  • temperature adjustment G7 is 2bit data, which can include four adjustment values of 00, 01, 10, and 11.
  • the number of output parameters for the 2-bit temperature adjustment parameter for the 3-bit temperature range (that is, including 8 temperature adjustable temperature ranges such as 000-111) is 7 types.
  • the embodiments of the present application do not limit other digits and temperature ranges. It should be noted that the upper and lower limits of the total temperature range generally cannot be adjusted. The embodiment of the present application does not limit the upper or lower limit of the adjustable temperature range corresponding to the temperature adjustment parameter.
  • the DRAM 20 includes a temperature adjustment register 201 and a temperature detection circuit 30; the temperature detection circuit 30 is used to output a 3bit temperature value result after temperature detection, and send a 3bit interface signal to the corresponding interface of the controller 10, or directly send the 3bit temperature value result to the control ⁇ 10. It is understandable that the controller 10 can obtain the current temperature range of the DRAM by analyzing the 3bit interface signal, which will not be repeated here.
  • the temperature adjustment register 201 describes the temperature range adjustment of the temperature detection circuit. Please refer to Table 2. As shown in Table 2, the register stores 8 detection information (ie 000 ⁇ 111), each of which is stored The candidate temperature ranges corresponding to one detection information (ie the output result of the temperature detection circuit) can be 4 types; for example, the candidate temperature ranges corresponding to 000 are -40 ⁇ -10°C, -40 ⁇ -15°C, -40 ⁇ - 5°C, -40 ⁇ 0°C.
  • the first column is the default temperature range, that is, the temperature range that the detection information output by the temperature detection circuit matches when the temperature range is not selected; for example, the default temperature range for 000 matching is -40 to -10°C.
  • the temperature detection circuit detects that the temperature of the DRAM falls within the range of -40 to 0°C, and then controls The output of the device is 000; the controller determines the current temperature range of the DRAM is -40 to 0°C through the temperature configuration parameter and 000, so as to determine the temperature refresh frequency within the temperature range.
  • the output results of the temperature detection circuit shown in Table 2 in the embodiments of the present application are all exemplary descriptions; embodiments of the present application There is no restriction on this.
  • 5bit data corresponds to 32 types of configuration options, which can be the configuration of the temperature range, the configuration of the detection period, or the configuration of the detection information.
  • the controller adjusts the temperature range corresponding to the detection information through temperature configuration parameters. As shown in Table 2, 00-11 is part of the 2bit temperature configuration parameters, used to select the temperature range matched by the corresponding detection information. For example, the controller sends 5 bits of data (such as 00011) to the register. The first 3 bits are used to determine the detection information 000 among the 8 detection information stored in the register; the last 2 bits (ie 11) are used to determine the temperature range corresponding to the detection information 000. -40 ⁇ 0°C.
  • the temperature detection circuit is specifically configured to send the target detection information to the controller through a pin.
  • the pins of the temperature detection circuit responsible for outputting detection information are directly connected to the input pins of the controller. After the temperature detection circuit obtains the detection information, the pins directly output the detection information to the controller without passing through the bus.
  • the data storage device is a DRAM as an example for description.
  • the DRAM includes: a memory (that is, a memory array), a controller connected to the memory, the memory includes a temperature detection circuit; the controller is used to set a temperature detection period for the memory; the temperature detection circuit , Used to: when the count value reaches the temperature detection period, detect the temperature of the memory; send target detection information corresponding to the temperature to the controller; the controller is further used to: The target detection information determines the refresh frequency of the memory; the memory is configured to refresh according to the refresh frequency to maintain the data stored in the memory.
  • the memory further includes a counter connected to the temperature detection circuit; the controller is further configured to send the temperature detection period to the counter; and the counter is configured to : Cycle counting until the count value reaches the temperature detection period; when the count value reaches the temperature detection period, send a detection instruction to the temperature detection circuit; the temperature detection circuit is specifically used to: In the detection instruction, the temperature of the memory is detected, and target detection information corresponding to the temperature is sent to the controller.
  • the temperature detection circuit is specifically configured to: determine the target temperature range in which the temperature is located from one or more first temperature ranges; and determine the target temperature range that matches the target temperature range.
  • Target detection information sending the target detection information to the controller.
  • the memory further includes a register connected to the temperature detection circuit for storing multiple first temperature ranges corresponding to each detection information in one or more detection information, and The one or more detection information includes the target detection information; the controller is further configured to: determine a first temperature range matched by each of the detection information from the plurality of first temperature ranges; the register It is also used to send the first temperature range matched by each detection information to the temperature detection circuit.
  • the controller is specifically configured to: determine the target temperature range according to the target detection information; and determine the refresh frequency of the memory according to the target temperature range.
  • the temperature detection circuit is specifically configured to: send the target detection information to the controller through a pin.
  • the controller is further configured to send a refresh instruction to the memory according to the refresh frequency; the memory is specifically configured to: receive the refresh instruction, and according to the refresh instruction Refresh is performed to maintain the data stored in the memory.
  • the temperature detection cycle is 64 clock cycles, 128 clock cycles, 256 clock cycles, 512 clock cycles, 1024 clock cycles, 2048 clock cycles, or 4096 clock cycles.
  • the controller is further configured to: shorten the temperature detection period when the degree of change of the target detection information within a preset number of temperature detection cycles is greater than a preset change threshold.
  • FIG. 8 is a schematic flowchart of a data storage method provided by an embodiment of the present application; the data storage method is applied to a data storage system (including the aforementioned system architecture).
  • the data storage system includes a controller, a memory, and a temperature detection circuit, which will be described from a single side of the controller with reference to FIG. 8.
  • the method may include the following steps S801 to S803.
  • Step S801 Set a temperature detection period for the memory.
  • the controller sets a temperature detection period for detecting the temperature of the memory by sending an instruction to the memory.
  • the temperature detection period is a period during which the temperature detection circuit detects the temperature of the memory and sends target detection information corresponding to the temperature.
  • the setting the temperature detection period for the memory includes: sending the temperature detection period to a counter; counting cyclically through the counter until the count value reaches the temperature detection period; A detection instruction is sent to the temperature detection circuit through the counter, and the detection instruction is used to instruct the temperature detection circuit to send the target detection information.
  • Step S802 When the count value reaches the temperature detection period, receive the target detection information from the temperature detection circuit.
  • the controller receives target detection information (or temperature detection result information) from the temperature detection circuit.
  • target detection information or temperature detection result information
  • Step S803 Determine the refresh frequency of the memory according to the target detection information.
  • the controller parses the received target detection information, and determines, according to the target detection information, that the current temperature range of the memory belongs to a certain range of the preset temperature range; determines the refresh frequency of the memory according to the temperature range; wherein, The refresh frequency is the frequency at which the memory is refreshed.
  • the method further includes: determining a first temperature range matched by each detection information from a plurality of first temperature ranges stored in a register; The circuit sends the first temperature range matched by each detection information.
  • the determining the refresh frequency of the memory according to the target detection information includes: determining the target temperature range according to the target detection information; determining the target temperature range according to the target temperature range The refresh frequency of the memory.
  • the receiving the target detection information from the temperature detection circuit includes: receiving the target detection information from the temperature detection circuit through a pin.
  • the method further includes: sending a refresh instruction to the memory according to the refresh frequency; the refresh instruction is used to instruct the memory to refresh so as to maintain the stored data.
  • the temperature detection cycle is 64 clock cycles, 128 clock cycles, 256 clock cycles, 512 clock cycles, 1024 clock cycles, 2048 clock cycles, or 4096 clock cycles.
  • the method further includes: shortening the temperature detection period when the degree of change of the target detection information within a preset number of temperature detection cycles is greater than a preset change threshold.
  • the embodiment of the application mainly configures the temperature detection cycle of the memory by the controller, so that the controller can obtain the temperature of the memory according to a certain cycle (for example, the temperature range of the memory temperature at a certain moment); according to the temperature of the memory, pass The controller adjusts the refresh frequency in the memory.
  • the temperature detection cycle of the memory is set by the controller; when the count value reaches the temperature detection cycle (for example, the cycle is 50us, and the count value corresponding to 50us is reached after resetting the detection cycle), the temperature detection circuit detects the memory The current temperature, and the target detection information corresponding to the current temperature is sent to the controller; after the controller receives the target detection information, the corresponding refresh frequency is determined to instruct the memory to refresh to maintain the stored data.
  • the temperature detection cycle cannot be changed by the controller, and is usually a fixed value or real-time temperature detection, which makes it difficult to obtain memory temperature information reasonably; and the acquisition of temperature information requires occupying a data bus, which causes an increase in overhead.
  • the embodiments of the present application not only can different temperature detection periods be configured according to system requirements, but also the energy consumption generated by real-time monitoring can be reduced. Further, the refresh frequency of the memory is adjusted in time according to the temperature information, and the data bus is not occupied to obtain the temperature detection result, which effectively improves the memory access efficiency.
  • FIG. 9 is a schematic structural diagram of a device provided by an embodiment of the present application.
  • the data storage apparatus may be implemented with the structure in FIG. 9, and the device 90 includes at least one processor 901 and at least one memory 902.
  • the device may also include general components such as a power supply, which will not be described in detail here.
  • the processor 901 may be a general-purpose central processing unit (CPU), a microprocessor, an application-specific integrated circuit (ASIC), or one or more integrated circuits used to control the execution of the above program programs.
  • CPU central processing unit
  • ASIC application-specific integrated circuit
  • the memory 902 may be a read-only memory (ROM) or other types of static storage devices that can store static information and instructions, random access memory (RAM), or other types that can store information and instructions
  • the dynamic storage device can also be electrically erasable programmable read-only memory (Electrically Erasable Programmable Read-Only Memory, EEPROM), CD-ROM (Compact Disc Read-Only Memory, CD-ROM) or other optical disc storage, optical disc storage (Including compact discs, laser discs, optical discs, digital versatile discs, Blu-ray discs, etc.), magnetic disk storage media or other magnetic storage devices, or can be used to carry or store desired program codes in the form of instructions or data structures and can be used by a computer Any other media accessed, but not limited to this.
  • the memory can exist independently and is connected to the processor through a bus.
  • the memory can also be integrated with the processor.
  • the memory 902 is used to store application program codes for executing the above solutions, and the processor 901 controls the execution.
  • the processor 901 is configured to execute application program codes stored in the memory 902.
  • the code stored in the memory 902 can execute the data storage method provided in FIG. 8, for example, setting a temperature detection cycle for the memory, the temperature detection cycle being temperature detection
  • the circuit detects the temperature of the memory and sends the cycle of target detection information corresponding to the temperature; when the count value reaches the temperature detection cycle, receives the target detection information from the temperature detection circuit; according to the target detection information , Determine the refresh frequency of the memory; the refresh frequency is the frequency at which the memory refreshes data.
  • the hardware analysis circuit built in the memory can analyze the related instructions sent by the controller; the controller inputs the instructions into the memory, and the memory completes the analysis of the instructions through the corresponding hardware analysis circuit (ie command analysis circuit) , So as to complete the refresh operation and temperature detection operation.
  • the embodiment of the present application does not limit the specific connection relationship between the device 90, the controller 901, and the memory 902.
  • the disclosed device may be implemented in other ways.
  • the device embodiments described above are only illustrative, for example, the division of the above-mentioned units is only a logical function division, and there may be other divisions in actual implementation, for example, multiple units or components can be combined or integrated. To another system, or some features can be ignored, or not implemented.
  • the displayed or discussed mutual coupling or direct coupling or communication connection may be indirect coupling or communication connection through some interfaces, devices or units, and may be in electrical or other forms.
  • the units described above as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, they may be located in one place, or they may be distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the objectives of the solutions of the embodiments.
  • the functional units in the embodiments of the present application may be integrated into one processing unit, or each unit may exist alone physically, or two or more units may be integrated into one unit.
  • the above-mentioned integrated unit can be implemented in the form of hardware or software functional unit.
  • the above integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer readable storage medium.
  • the technical solution of the present application essentially or the part that contributes to the existing technology or all or part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium , Including several instructions to make a computer device (which may be a personal computer, a server, or a network device, etc., specifically a processor in a computer device) execute all or part of the steps of the foregoing methods of the various embodiments of the present application.
  • the aforementioned storage media may include: U disk, mobile hard disk, magnetic disk, optical disk, read-only memory (Read-Only Memory, abbreviation: ROM) or Random Access Memory (Random Access Memory, abbreviation: RAM), etc.
  • U disk mobile hard disk
  • magnetic disk magnetic disk
  • optical disk read-only memory
  • Read-Only Memory abbreviation: ROM
  • Random Access Memory Random Access Memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • Dram (AREA)

Abstract

A data storage system and method. The data storage system comprises a memory (20), a controller (10), and a temperature measurement circuit (30). The controller (10) is used for setting a temperature measurement period of the memory (20); the temperature measurement circuit (30) is used for measuring the temperature of the memory (20) according to the temperature measurement period, and transmitting, to the controller (10), measurement information corresponding to the temperature; the controller (10) is further used for determining the refresh frequency of the memory (20) according to the measurement information; and the memory (20) is used for performing refreshing according to the refresh frequency, so as to hold data stored by the memory (20).

Description

一种数据存储系统以及方法Data storage system and method 技术领域Technical field
本申请涉及存储器技术领域,尤其涉及一种数据存储系统以及方法。This application relates to the field of memory technology, and in particular to a data storage system and method.
背景技术Background technique
存储器一般根据电平状态存储数据;而在动态随机存取存储器(Dynamic Random Access Memory,DRAM)中,电容器所存储的电荷在相对短暂的时间段后将会消失而导致数据失效,故而为保持存储的数据不丢失,必须周期性地刷新DRAM,即重复地将数据读出之后再对器件充电到初始的电荷水平。而刷新操作之间可允许的最大时间由组成DRAM单元阵列的电容器的电荷存储能力决定。The memory generally stores data according to the level state; and in the dynamic random access memory (Dynamic Random Access Memory, DRAM), the charge stored in the capacitor will disappear after a relatively short period of time, resulting in data failure, so it is to maintain storage If the data is not lost, the DRAM must be refreshed periodically, that is, the device must be charged to the initial charge level after reading the data repeatedly. The maximum allowable time between refresh operations is determined by the charge storage capacity of the capacitors that make up the DRAM cell array.
目前,DRAM刷新频率会根据DRAM的温度进行调整。一般在DRAM内置温度检测电路。根据该电路模块的温度检测结果调整期望的刷新频率;通常温度越高,期望的刷新频率越高。具体地,主要通过控制器读取DRAM内部的模式寄存器,获取当前DRAM的温度检测结果并确定对应的期望刷新频率。例如,在高带宽存储器(High Bandwidth Memory,HBM)应用中,DRAM实时输出3比特(bit)结果来指示期望的刷新频率。Currently, the DRAM refresh frequency is adjusted according to the temperature of the DRAM. Generally, a temperature detection circuit is built into the DRAM. Adjust the desired refresh frequency according to the temperature detection result of the circuit module; generally, the higher the temperature, the higher the desired refresh frequency. Specifically, the controller reads the mode register inside the DRAM, obtains the current temperature detection result of the DRAM, and determines the corresponding expected refresh frequency. For example, in a high bandwidth memory (High Bandwidth Memory, HBM) application, the DRAM outputs a 3-bit result in real time to indicate the desired refresh frequency.
但是通过控制器需要定时或者实时读取DRAM内部的模式寄存器;随着读取次数越多,数据总线占用次数越多,造成开销增加而影响DRAM有效访存带宽;并且,温度检测电路的检测周期不能灵活调整。在现有的HBM应用中,DRAM不但实时输出温度检测结果,而且输出的3bit结果对应的检测温度范围不可调整;当温度在不同温度范围的临界点浮动时(比如16℃-25℃和25℃-40℃的临界点25℃),存在误采样结果而导致刷新频率的多次调整;并且实时输出温度检测结果会造成一定能耗。However, the controller needs to read the mode register inside the DRAM periodically or in real time; as the number of reads increases, the data bus occupies more times, which increases the overhead and affects the effective memory access bandwidth of the DRAM; and, the detection cycle of the temperature detection circuit Can't be adjusted flexibly. In existing HBM applications, DRAM not only outputs temperature detection results in real time, but the detection temperature range corresponding to the output 3bit results cannot be adjusted; when the temperature fluctuates at the critical point of different temperature ranges (such as 16°C-25°C and 25°C) The critical point of -40°C is 25°C), there are mis-sampling results that lead to multiple adjustments of the refresh frequency; and real-time output of temperature detection results will cause a certain amount of energy consumption.
因此,如何合理根据温度情况调节存储器的温度刷新频率,是亟待解决的问题。Therefore, how to reasonably adjust the temperature refresh frequency of the memory according to the temperature situation is an urgent problem to be solved.
发明内容Summary of the invention
本申请实施例提供了一种数据存储系统以及方法,能够配置存储器的温度检测周期;并根据获取的温度检测结果,有效合理地调节存储器的刷新频率。The embodiments of the present application provide a data storage system and method, which can configure the temperature detection period of the memory; and according to the obtained temperature detection results, adjust the refresh frequency of the memory effectively and reasonably.
第一方面,本申请实施例提供了一种数据存储系统,包括:In the first aspect, an embodiment of the present application provides a data storage system, including:
存储器、控制器和温度检测电路;所述控制器与所述温度检测电路连接;所述存储器与所述控制器连接;A memory, a controller, and a temperature detection circuit; the controller is connected with the temperature detection circuit; the memory is connected with the controller;
所述控制器,用于设置所述存储器的温度检测周期;The controller is used to set the temperature detection period of the memory;
所述温度检测电路,用于:The temperature detection circuit is used for:
按照所述温度检测周期,检测所述存储器的温度;Detecting the temperature of the memory according to the temperature detection period;
向所述控制器发送所述温度对应的检测信息;Sending detection information corresponding to the temperature to the controller;
所述控制器,还用于根据所述检测信息,设置所述存储器的刷新频率;The controller is further configured to set the refresh frequency of the memory according to the detection information;
所述存储器,用于根据所述刷新频率进行刷新。The memory is used for refreshing according to the refresh frequency.
本申请实施例主要通过控制器配置对存储器的温度检测周期,使得控制器能够按照一定的周期获取存储器的温度情况(例如,某时刻存储器温度所处的温度范围);根据存储器 的温度情况,通过控制器调整存储器中刷新频率。具体地,通过控制器设置对存储器的温度检测周期;当计数值达到温度检测周期时(例如,周期为50us,在重新设置检测周期后达到50us对应的计数值时),温度检测电路检测存储器的当前温度,并向控制器发送与当前温度对应的目标检测信息;在控制器接收到目标检测信息后,确定与之对应的刷新频率,以指示存储器进行刷新,以保持存储的数据。而现有技术中温度检测周期无法通过控制器改变,通常是固定的数值或者实时检测温度,难以合理地获取存储器温度信息;并且获取温度信息需要占用数据总线而造成开销增大。通过实施本申请实施例,不仅能根据系统需求配置不同温度检测周期,还能降低实时监控产生的能耗。进一步地,根据温度信息及时调整存储器的刷新频率,且不占用数据总线来获取温度检测结果,有效提升访存效率。The embodiment of the application mainly configures the temperature detection cycle of the memory by the controller, so that the controller can obtain the temperature of the memory according to a certain cycle (for example, the temperature range of the memory temperature at a certain moment); according to the temperature of the memory, pass The controller adjusts the refresh frequency in the memory. Specifically, the temperature detection cycle of the memory is set by the controller; when the count value reaches the temperature detection cycle (for example, the cycle is 50us, and the count value corresponding to 50us is reached after resetting the detection cycle), the temperature detection circuit detects the memory The current temperature, and the target detection information corresponding to the current temperature is sent to the controller; after the controller receives the target detection information, the corresponding refresh frequency is determined to instruct the memory to refresh to maintain the stored data. However, in the prior art, the temperature detection cycle cannot be changed by the controller, and is usually a fixed value or real-time temperature detection, which makes it difficult to obtain memory temperature information reasonably; and the acquisition of temperature information requires occupying a data bus, which causes an increase in overhead. By implementing the embodiments of the present application, not only can different temperature detection periods be configured according to system requirements, but also the energy consumption generated by real-time monitoring can be reduced. Further, the refresh frequency of the memory is adjusted in time according to the temperature information, and the data bus is not occupied to obtain the temperature detection result, which effectively improves the memory access efficiency.
在一种可能的实现方式中,所述系统还包括:与所述控制器连接的计数器;所述控制器,还用于将所述温度检测周期发送至所述计数器;所述计数器,用于:循环计数直至计数值达到所述温度检测周期;当所述计数值达到所述温度检测周期时,向所述温度检测电路发送检测指令;所述温度检测电路,具体用于:当接收所述检测指令时,检测所述存储器的温度,并向所述控制器发送所述温度对应的检测信息。本申请实施例,通过控制器将设置的温度检测周期发送计数器;计数器在接收到温度检测周期后开始从初值(例如0)计数,直至计数值(对应的时间)达到检测周期值时,由计数器触发温度检测电路进行温度检测。通过计数器的计数准确地计算时间与设置周期之间的关系,有利于温度检测电路准确地按照周期检测温度。In a possible implementation manner, the system further includes: a counter connected to the controller; the controller is further configured to send the temperature detection period to the counter; the counter is configured to : Cycle counting until the count value reaches the temperature detection period; when the count value reaches the temperature detection period, send a detection instruction to the temperature detection circuit; the temperature detection circuit is specifically used to: When the instruction is detected, the temperature of the memory is detected, and the detection information corresponding to the temperature is sent to the controller. In the embodiment of this application, the set temperature detection period is sent to the counter through the controller; after receiving the temperature detection period, the counter starts to count from the initial value (for example, 0) until the count value (corresponding time) reaches the detection period value. The counter triggers the temperature detection circuit to perform temperature detection. The accurate calculation of the relationship between the time and the set period through the counting of the counter helps the temperature detection circuit to accurately detect the temperature according to the period.
在一种可能的实现方式中,所述控制器还用于按照所述温度检测周期向所述温度检测电路发送检测指令;所述温度检测电路,具体用于当接收所述检测指令时,检测所述存储器的温度,并向所述控制器发送所述温度对应的检测信息。本申请实施例,通过控制器按照温度检测周期,向温度检测电路发送检测指令。其中控制器集成了周期计数的功能,在一定的时刻发送检测指令,使得温度检测电路进入使能状态。In a possible implementation manner, the controller is further configured to send a detection instruction to the temperature detection circuit according to the temperature detection cycle; the temperature detection circuit is specifically configured to detect when the detection instruction is received The temperature of the memory, and sending detection information corresponding to the temperature to the controller. In the embodiment of the present application, the controller sends a detection instruction to the temperature detection circuit according to the temperature detection cycle. Among them, the controller integrates the function of cycle counting, and sends a detection command at a certain moment to make the temperature detection circuit enter the enabled state.
在一种可能的实现方式中,所述温度检测电路,具体用于:确定所述存储器的温度所处的目标温度范围,所述目标温度范围为所述温度检测电路管理的多个温度范围中的一个;向所述控制器发送所述目标温度范围对应的检测信息。本申请实施例,通过温度检测电路检测温度后,结合预设的多个温度范围,确定该温度所处的温度范围是多个温度范围中的某一个温度范围(如温度范围-40至-10℃);向控制器发送该温度范围对应的目标检测信息(如3bit的温度数据中的000)。本申请实施例,通过发送多种温度范围来作为刷新频率的调节依据,一方面符合存储器的温度与刷新频率之间的对应关系(即存储器的一段温度区间内对应的刷新频率一致,例如20-30℃内都适用同一个刷新频率);另一方面,由于存储器缺少足够的输入输出口(即I/O口)数量实现输出具体的温度数值,采用输出温度范围可以减少对I/O占用且能够通过对温度范围(例如对应输出的比特数)的调整以增加或减少对I/O口的使用,以适应具体的存储器配置。In a possible implementation manner, the temperature detection circuit is specifically configured to: determine a target temperature range in which the temperature of the memory is located, and the target temperature range is among the multiple temperature ranges managed by the temperature detection circuit One of; sending detection information corresponding to the target temperature range to the controller. In the embodiment of the present application, after the temperature is detected by the temperature detection circuit, combined with multiple preset temperature ranges, it is determined that the temperature range of the temperature is a certain temperature range of the multiple temperature ranges (for example, the temperature range is -40 to -10). ℃); Send the target detection information corresponding to the temperature range to the controller (such as 000 in the 3bit temperature data). In the embodiment of this application, a variety of temperature ranges are sent as the basis for adjusting the refresh frequency. On the one hand, it conforms to the corresponding relationship between the temperature of the memory and the refresh frequency (that is, the corresponding refresh frequency within a certain temperature range of the memory is consistent, such as 20- The same refresh frequency is applicable within 30°C); on the other hand, due to the lack of sufficient input and output ports (ie I/O ports) in the memory to output specific temperature values, the use of the output temperature range can reduce the occupation of I/O and The temperature range (for example, the number of bits corresponding to the output) can be adjusted to increase or decrease the use of the I/O port to adapt to the specific memory configuration.
在一种可能的实现方式中,所述系统还包括:与所述控制器连接的寄存器;所述寄存器还与所述温度检测电路连接;所述寄存器,用于:存储一个或多个检测信息中每一个检测信息对应的多个第一温度范围,所述一个或多个检测信息包括所述目标检测信息;所述控制器,还用于:从所述多个第一温度范围中,确定所述每一个检测信息匹配的第二温度 范围;所述寄存器还用于:向所述温度检测电路发送所述每一个检测信息匹配的第二温度范围。本申请实施例,从寄存器存储的多个第一温度范围中,通过控制器选择每一个检测信息匹配的第二温度范围;例如,检测信息为3bit数据中的000,寄存器中存储了000对应的4种温度范围(如-40~-10℃、-40~-15℃、-40~-5℃以及-40~0℃);默认000对应的温度范围为-40~-10℃。可以通过控制器改变000对应的温度范围,即配置检测信息对应的温度范围,可对8种检测信息进行温度范围配置,以满足不同存储器或者同一存储器不同情况下的适应温度的刷新需求。In a possible implementation manner, the system further includes: a register connected to the controller; the register is also connected to the temperature detection circuit; the register is used to store one or more detection information A plurality of first temperature ranges corresponding to each detection information in the plurality of first temperature ranges, the one or more detection information includes the target detection information; the controller is further configured to: determine from the plurality of first temperature ranges The second temperature range matched by each detection information; the register is further used to send the second temperature range matched by each detection information to the temperature detection circuit. In the embodiment of the present application, from the multiple first temperature ranges stored in the register, the controller selects the second temperature range that each detection information matches; for example, the detection information is 000 in 3bit data, and the register stores the corresponding value of 000. 4 temperature ranges (such as -40~-10℃, -40~-15℃, -40~-5℃ and -40~0℃); the default temperature range corresponding to 000 is -40~-10℃. The temperature range corresponding to 000 can be changed by the controller, that is, the temperature range corresponding to the configuration detection information can be configured, and the temperature range configuration can be performed on 8 kinds of detection information to meet the refreshing requirements of different memories or the adaptable temperature under different conditions of the same memory.
在一种可能的实现方式中,所述检测信息包括用于指示所述存储器的温度所处的目标温度范围的信息,所述控制器,具体用于:根据所述检测信息,确定所述目标温度范围;根据所述目标温度范围,确定所述存储器的刷新频率。本申请实施例,通过控制器从温度检测电路获得目标检测信息;根据目标检测信息,确定与该检测信息对应的温度范围;通过控制器确定与该温度范围相应的刷新频率。能够针对不同温度区间内的检测信息,确定不同的刷新频率以适应存储器的温度变化。In a possible implementation manner, the detection information includes information used to indicate a target temperature range in which the temperature of the memory is located, and the controller is specifically configured to: determine the target according to the detection information Temperature range; according to the target temperature range, the refresh frequency of the memory is determined. In the embodiment of the present application, the target detection information is obtained from the temperature detection circuit by the controller; the temperature range corresponding to the detection information is determined according to the target detection information; the refresh frequency corresponding to the temperature range is determined by the controller. According to the detection information in different temperature ranges, different refresh frequencies can be determined to adapt to the temperature changes of the memory.
在一种可能的实现方式中,所述温度检测电路,具体用于:通过引脚向所述控制器发送所述目标检测信息。本申请实施例,通过温度检测电路的引脚直接将目标检测信息发送给控制器,避免控制器从寄存器中读取目标温度检测而造成总线占用的情况。In a possible implementation manner, the temperature detection circuit is specifically configured to: send the target detection information to the controller through a pin. In the embodiment of the present application, the target detection information is directly sent to the controller through the pins of the temperature detection circuit, so as to avoid the situation that the controller reads the target temperature detection from the register and causes the bus occupation.
在一种可能的实现方式中,所述控制器,还用于根据所述刷新频率,向所述存储器发送刷新指令;所述存储器,具体用于:接收所述刷新指令,根据所述刷新指令进行自动刷新,以保持所述存储器存储的数据。本申请实施例,通过控制器按照确定的刷新频率向存储器发送刷新指令,以指示所述存储器及时刷新,以保持存储的数据不丢失。In a possible implementation manner, the controller is further configured to send a refresh instruction to the memory according to the refresh frequency; the memory is specifically configured to: receive the refresh instruction, and according to the refresh instruction Perform automatic refresh to maintain the data stored in the memory. In the embodiment of the present application, the controller sends a refresh instruction to the memory according to the determined refresh frequency to instruct the memory to refresh in time, so as to keep the stored data from being lost.
在一种可能的实现方式中,所述温度检测周期为64个时钟周期、128个时钟周期、256个时钟周期、512个时钟周期、1024个时钟周期、2048个时钟周期或4096个时钟周期。本申请实施例提供了多种不同的周期配置,以满足不同的能耗需求。例如,配置4096个时钟周期(即温度检测周期)进行一次温度检测,一次温度检测使能时间为8个时钟周期,那么配置周期后比实时检测的情况能耗下降为1/512。In a possible implementation manner, the temperature detection cycle is 64 clock cycles, 128 clock cycles, 256 clock cycles, 512 clock cycles, 1024 clock cycles, 2048 clock cycles, or 4096 clock cycles. The embodiments of the present application provide a variety of different cycle configurations to meet different energy consumption requirements. For example, if 4096 clock cycles (ie, temperature detection cycles) are configured to perform a temperature detection, and the temperature detection enable time is 8 clock cycles, then the energy consumption after the configuration cycle is reduced to 1/512 compared with the case of real-time detection.
在一种可能的实现方式中,所述控制器,还用于当所述检测信息在所述温度检测周期内变更程度大于预设变更阈值,缩短所述温度检测周期。本申请实施例,根据存储器的温度变化情况或者系统的需求,调整温度检测周期以与适应当前存储器的运行情况。In a possible implementation manner, the controller is further configured to shorten the temperature detection period when the degree of change of the detection information in the temperature detection period is greater than a preset change threshold. According to the embodiment of the present application, the temperature detection period is adjusted according to the temperature change of the memory or the requirements of the system to adapt to the current operating condition of the memory.
在一种可能的实现方式中,所述控制器还用于:向所述寄存器发送一个或多个温度配置参数,所述一个或多个温度配置参数用于确定所述寄存器存储的一个或多个检测信息中每一个检测信息匹配的第一温度范围。本申请实施例,通过控制器向寄存器发送的温度配置参数,准确地调整以及配置检测信息对应的温度范围。In a possible implementation manner, the controller is further configured to send one or more temperature configuration parameters to the register, and the one or more temperature configuration parameters are used to determine one or more temperature configuration parameters stored in the register. The first temperature range matched by each of the two detection information. In the embodiment of the application, the temperature configuration parameter sent by the controller to the register is used to accurately adjust and configure the temperature range corresponding to the detection information.
第二方面,本申请实施例提供了一种数据存储装置,应用于动态随机存取存储器,包括:存储器、与所述存储器连接的控制器,所述存储器包括温度检测电路;所述控制器,用于设置对所述存储器的温度检测周期;所述温度检测电路,用于:当所述计数值达到所述温度检测周期时,检测所述存储器的温度;向所述控制器发送所述温度对应的目标检测信息;所述控制器,还用于:根据所述目标检测信息,确定所述存储器的刷新频率;所述 存储器,用于根据所述刷新频率进行刷新,以保持所述存储器存储的数据。In a second aspect, an embodiment of the present application provides a data storage device applied to a dynamic random access memory, including: a memory, a controller connected to the memory, the memory including a temperature detection circuit; the controller, The temperature detection circuit is used to set a temperature detection period for the memory; the temperature detection circuit is used to: detect the temperature of the memory when the count value reaches the temperature detection period; and send the temperature to the controller Corresponding target detection information; the controller is further configured to: determine the refresh frequency of the memory according to the target detection information; the memory is configured to refresh according to the refresh frequency to maintain the memory storage The data.
在一种可能的实现方式中,所述存储器还包括与所述温度检测电路连接的计数器;所述控制器,还用于将所述温度检测周期发送至所述计数器;所述计数器,用于:循环计数直至所述计数值达到所述温度检测周期;当所述计数值达到所述温度检测周期时,向所述温度检测电路发送检测指令;所述温度检测电路,具体用于:当接收所述检测指令时,检测所述存储器的温度,并向所述控制器发送所述温度对应的目标检测信息。In a possible implementation manner, the memory further includes a counter connected to the temperature detection circuit; the controller is further configured to send the temperature detection period to the counter; and the counter is configured to : Cycle counting until the count value reaches the temperature detection period; when the count value reaches the temperature detection period, send a detection instruction to the temperature detection circuit; the temperature detection circuit is specifically used to: In the detection instruction, the temperature of the memory is detected, and target detection information corresponding to the temperature is sent to the controller.
在一种可能的实现方式中,所述温度检测电路,具体用于:从一个或多个第一温度范围中确定所述温度所处的目标温度范围;确定所述目标温度范围匹配的所述目标检测信息;向所述控制器发送所述目标检测信息。In a possible implementation manner, the temperature detection circuit is specifically configured to: determine the target temperature range in which the temperature is located from one or more first temperature ranges; and determine the target temperature range that matches the target temperature range. Target detection information; sending the target detection information to the controller.
在一种可能的实现方式中,所述存储器还包括与所述温度检测电路连接的寄存器,用于:存储一个或多个检测信息中每一个检测信息对应的多个第一温度范围,所述一个或多个检测信息包括所述目标检测信息;所述控制器,还用于:从所述多个第一温度范围中,确定所述每一个检测信息匹配的第二温度范围;所述寄存器还用于:向所述温度检测电路发送所述每一个检测信息匹配的第二温度范围。In a possible implementation manner, the memory further includes a register connected to the temperature detection circuit for storing multiple first temperature ranges corresponding to each detection information in one or more detection information, and The one or more detection information includes the target detection information; the controller is further configured to: determine a second temperature range matched by each detection information from the plurality of first temperature ranges; the register It is also used to send the second temperature range matched by each detection information to the temperature detection circuit.
在一种可能的实现方式中,所述控制器,具体用于:根据所述检测信息,确定所述目标温度范围;根据所述目标温度范围,确定所述存储器的刷新频率。In a possible implementation manner, the controller is specifically configured to: determine the target temperature range according to the detection information; and determine the refresh frequency of the memory according to the target temperature range.
在一种可能的实现方式中,所述温度检测电路,具体用于:通过引脚向所述控制器发送所述检测信息。In a possible implementation manner, the temperature detection circuit is specifically configured to: send the detection information to the controller through a pin.
在一种可能的实现方式中,所述控制器,还用于根据所述刷新频率,向所述存储器发送刷新指令;所述存储器,具体用于:接收所述刷新指令,根据所述刷新指令进行刷新,以保持所述存储器存储的数据。In a possible implementation manner, the controller is further configured to send a refresh instruction to the memory according to the refresh frequency; the memory is specifically configured to: receive the refresh instruction, and according to the refresh instruction Refresh is performed to maintain the data stored in the memory.
在一种可能的实现方式中,所述温度检测周期为64个时钟周期、128个时钟周期、256个时钟周期、512个时钟周期、1024个时钟周期、2048个时钟周期或4096个时钟周期。In a possible implementation manner, the temperature detection cycle is 64 clock cycles, 128 clock cycles, 256 clock cycles, 512 clock cycles, 1024 clock cycles, 2048 clock cycles, or 4096 clock cycles.
在一种可能的实现方式中,所述控制器,还用于当所述检测信息在所述温度检测周期内变更程度大于预设变更阈值,缩短所述温度检测周期。In a possible implementation manner, the controller is further configured to shorten the temperature detection period when the degree of change of the detection information in the temperature detection period is greater than a preset change threshold.
第三方面,本申请实施例提供了一种数据存储方法,包括:设置存储器的温度检测周期,所述温度检测周期为温度检测电路检测所述存储器的温度并发送所述温度对应的检测信息的周期;In a third aspect, an embodiment of the present application provides a data storage method, including: setting a temperature detection period of a memory, and the temperature detection period is a period in which a temperature detection circuit detects the temperature of the memory and sends detection information corresponding to the temperature. cycle;
按照所述温度检测周期,从所述温度检测电路接收所述检测信息;Receiving the detection information from the temperature detection circuit according to the temperature detection period;
根据所述检测信息设置所述存储器的刷新频率。The refresh frequency of the memory is set according to the detection information.
在一种可能的实现方式中,所述方法还包括:In a possible implementation manner, the method further includes:
将所述温度检测周期发送至计数器;Sending the temperature detection period to the counter;
通过所述计数器循环计数,直至计数值达到所述温度检测周期;Counting cyclically through the counter until the count value reaches the temperature detection period;
当所述计数值达到所述温度检测周期时,通过所述计数器向所述温度检测电路发送检测指令,所述检测指令用于指示所述温度检测电路检测所述存储器的温度,并发送所述温度对应的检测信息。When the count value reaches the temperature detection period, a detection instruction is sent to the temperature detection circuit through the counter, and the detection instruction is used to instruct the temperature detection circuit to detect the temperature of the memory and send the Detection information corresponding to temperature.
在一种可能的实现方式中,其特征在于,所述方法还包括:In a possible implementation manner, it is characterized in that the method further includes:
按照所述温度检测周期向所述温度检测电路发送检测指令;所述检测指令用于指示所述温度检测电路检测所述存储器的温度,并发送所述温度对应的检测信息。Send a detection instruction to the temperature detection circuit according to the temperature detection cycle; the detection instruction is used to instruct the temperature detection circuit to detect the temperature of the memory, and send detection information corresponding to the temperature.
在一种可能的实现方式中,其特征在于,所述检测信息包括用于指示所述存储器的温度所处的目标温度范围的信息,所述根据所述检测信息设置所述存储器的刷新频率,包括:In a possible implementation manner, the detection information includes information used to indicate a target temperature range in which the temperature of the memory is located, and the refresh frequency of the memory is set according to the detection information, include:
根据所述检测信息确定所述目标温度范围;Determining the target temperature range according to the detection information;
根据所述目标温度范围,设置所述存储器的刷新频率。According to the target temperature range, the refresh frequency of the memory is set.
在一种可能的实现方式中,其特征在于,所述方法还包括:In a possible implementation manner, it is characterized in that the method further includes:
根据所述刷新频率,向所述存储器发送刷新指令;所述刷新指令用于指示所述存储器进行刷新。According to the refresh frequency, a refresh instruction is sent to the memory; the refresh instruction is used to instruct the memory to refresh.
在一种可能的实现方式中,所述温度检测周期为64个时钟周期、128个时钟周期、256个时钟周期、512个时钟周期、1024个时钟周期、2048个时钟周期或4096个时钟周期。In a possible implementation manner, the temperature detection cycle is 64 clock cycles, 128 clock cycles, 256 clock cycles, 512 clock cycles, 1024 clock cycles, 2048 clock cycles, or 4096 clock cycles.
在一种可能的实现方式中,所述方法还包括:In a possible implementation manner, the method further includes:
当所述检测信息在所述温度检测周期内变更程度大于预设变更阈值,缩短所述温度检测周期。When the degree of change of the detection information in the temperature detection period is greater than a preset change threshold, the temperature detection period is shortened.
在一种可能的实现方式中,所述从所述温度检测电路接收所述检测信息,包括:In a possible implementation manner, the receiving the detection information from the temperature detection circuit includes:
通过引脚从所述温度检测电路接收所述检测信息。The detection information is received from the temperature detection circuit through a pin.
第四方面,本申请实施例提供一种芯片系统,所述芯片系统执行如第三方面中任意一项所述的方法得以实现。In a fourth aspect, an embodiment of the present application provides a chip system, which can be implemented by executing the method described in any one of the third aspect.
第五方面,本申请实施例提供了一种电子设备,可包括:如上述第一方面或第二方面所述的数据存储装置,以及耦合于所述数据存储装置外部的分立器件。In a fifth aspect, an embodiment of the present application provides an electronic device, which may include: the data storage device as described in the first or second aspect above, and a discrete device coupled to the outside of the data storage device.
第六方面,本申请实施例提供一种终端,该终端包括处理器,处理器被配置为支持该终端执行第三方面提供的一种数据存储的方法中相应的功能。该终端还可以包括存储器,存储器用于与处理器耦合,其保存终端必要的程序指令和数据。该终端还可以包括通信接口,用于该终端与其它设备或通信网络通信。In a sixth aspect, an embodiment of the present application provides a terminal, the terminal includes a processor, and the processor is configured to support the terminal to perform a corresponding function in the data storage method provided in the third aspect. The terminal may also include a memory, which is used for coupling with the processor and stores necessary program instructions and data for the terminal. The terminal may also include a communication interface for the terminal to communicate with other devices or communication networks.
附图说明Description of the drawings
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍。In order to more clearly describe the technical solutions in the embodiments of the present application, the following will briefly introduce the drawings that need to be used in the description of the embodiments.
图1是本申请实施例提供的一种数据存储系统架构示意图;FIG. 1 is a schematic diagram of a data storage system architecture provided by an embodiment of the present application;
图2是本申请实施例提供的另一种数据存储系统架构示意图;2 is a schematic diagram of another data storage system architecture provided by an embodiment of the present application;
图3是本申请实施例提供的一种与图2对应的数据存储功能示意图;FIG. 3 is a schematic diagram of a data storage function corresponding to FIG. 2 provided by an embodiment of the present application;
图4是本申请实施例提供的一种数据存储装置的部分结构示意图;4 is a schematic diagram of a part of the structure of a data storage device provided by an embodiment of the present application;
图5是本申请实施例提供的另一种数据存储装置的部分结构示意图;FIG. 5 is a schematic diagram of a part of the structure of another data storage device provided by an embodiment of the present application;
图6是本申请实施例提供的一种温度检测电路的周期检测流程示意图;FIG. 6 is a schematic diagram of a periodic detection process of a temperature detection circuit provided by an embodiment of the present application;
图7是本申请实施例提供的又一种数据存储装置的部分结构示意图;FIG. 7 is a schematic partial structural diagram of yet another data storage device provided by an embodiment of the present application; FIG.
图8是本申请实施例提供的一种数据存储方法的流程示意图;FIG. 8 is a schematic flowchart of a data storage method provided by an embodiment of the present application;
图9是本申请实施例提供的一种设备的结构示意图。FIG. 9 is a schematic structural diagram of a device provided by an embodiment of the present application.
具体实施方式Detailed ways
下面将结合本申请实施例中的附图,对本申请实施例进行描述。The embodiments of the present application will be described below in conjunction with the drawings in the embodiments of the present application.
本申请的说明书和权利要求书及所述附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序;并且术语“第一”、“第二”、“第三”和“第四”等描述的对象也可以是相同的对象,或者彼此存在包含或者其他关系。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。The terms "first", "second", "third" and "fourth" in the specification and claims of this application and the drawings are used to distinguish different objects, not to describe a specific order ; And the objects described by the terms "first", "second", "third" and "fourth" may also be the same objects, or contain each other or have other relationships. In addition, the terms "including" and "having" and any variations of them are intended to cover non-exclusive inclusions. For example, a process, method, system, product, or device that includes a series of steps or units is not limited to the listed steps or units, but optionally includes unlisted steps or units, or optionally also includes Other steps or units inherent to these processes, methods, products or equipment.
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。The reference to "embodiments" herein means that a specific feature, structure, or characteristic described in conjunction with the embodiments may be included in at least one embodiment of the present application. The appearance of the phrase in various places in the specification does not necessarily refer to the same embodiment, nor is it an independent or alternative embodiment mutually exclusive with other embodiments. Those skilled in the art clearly and implicitly understand that the embodiments described herein can be combined with other embodiments.
在本说明书中使用的术语“部件”、“模块”、“系统”等用于表示计算机相关的实体、硬件、固件、硬件和软件的组合、软件、或执行中的软件。例如,部件可以是但不限于,在处理器上运行的进程、处理器、对象、可执行文件、执行线程、程序和/或计算机。通过图示,在计算设备上运行的应用和计算设备都可以是部件。一个或多个部件可驻留在进程和/或执行线程中,部件可位于一个计算机上和/或分布在2个或更多个计算机之间。此外,这些部件可从在上面存储有各种数据结构的各种计算机可读介质执行。部件可例如根据具有一个或多个数据分组(例如来自与本地系统、分布式系统和/或网络间的另一部件交互的二个部件的数据,例如通过信号与其它系统交互的互联网)的信号通过本地和/或远程进程来通信。The terms "component", "module", "system", etc. used in this specification are used to denote computer-related entities, hardware, firmware, a combination of hardware and software, software, or software in execution. For example, the component may be, but is not limited to, a process, a processor, an object, an executable file, an execution thread, a program, and/or a computer running on a processor. Through the illustration, both the application running on the computing device and the computing device can be components. One or more components may reside in processes and/or threads of execution, and components may be located on one computer and/or distributed among two or more computers. In addition, these components can be executed from various computer readable media having various data structures stored thereon. The component can be based on, for example, a signal having one or more data packets (e.g. data from two components interacting with another component in a local system, a distributed system, and/or a network, such as the Internet that interacts with other systems through a signal) Communicate through local and/or remote processes.
需要说明的是,本申请实施例中模块可以理解为电路或者器件的耦合;本申请实施例对此不作限定。It should be noted that the module in the embodiment of the present application can be understood as a coupling of a circuit or a device; the embodiment of the present application does not limit this.
首先,对本申请中的部分用语进行解释说明,以便于本领域技术人员理解。First of all, some terms in this application are explained to facilitate the understanding of those skilled in the art.
(1)动态随机存取存储器(Dynamic Random Access Memory,DRAM)是一种半导体存储器,主要的作用原理是利用电容内存储电荷的多寡来代表一个二进制比特(bit)是1还是0。由于晶体管的漏电电流现象,导致电容上所存储的电荷数量并不足以正确的判别数据,而导致数据毁损。因此对于DRAM来说,需要进行周期性地充电以数据正常保存。(1) Dynamic random access memory (Dynamic Random Access Memory, DRAM) is a type of semiconductor memory. Its main function is to use the amount of charge stored in a capacitor to represent whether a binary bit (bit) is 1 or 0. Due to the leakage current phenomenon of the transistor, the amount of charge stored on the capacitor is not enough to correctly distinguish the data, which leads to data corruption. Therefore, for DRAM, it needs to be charged periodically to store data normally.
(2)使能,可以是芯片的一个输入引脚,或者电路的一个输入端口,只有该引脚激活,例如置于高电平时,整个模块才能正常工作。使能不仅仅是指控制,它是需要符合某种条件后所做出的一种需求反应。例如,使能端当为低电平有效时电路实现与非门功能;当为 高电平时电路呈高阻态。使能应用范围也很广,比如数电的触发器,计数器,都会有一个使能端,控制其工作或者其他部件进行工作。(2) Enable, which can be an input pin of the chip or an input port of the circuit. Only when the pin is activated, for example, when it is set to a high level, the entire module can work normally. Enabling is not just about controlling, it is a kind of demand response that needs to meet certain conditions. For example, when the enable terminal is active at low level, the circuit realizes the NAND function; when the enable terminal is at high level, the circuit is in a high impedance state. The enabling application range is also very wide. For example, the flip-flops and counters of the power number will have an enable terminal to control their work or other components to work.
(3)时钟周期,也称为振荡周期,定义为时钟频率的倒数。时钟周期是计算机中最基本的、最小的时间单位。在一个时钟周期内,CPU仅完成一个最基本的动作。时钟周期是一个时间的量。时钟周期可以表示存储器(如同步动态随机存取内存)所能运行的最高频率。更小的时钟周期就意味着更高的工作频率。(3) The clock period, also known as the oscillation period, is defined as the reciprocal of the clock frequency. The clock cycle is the most basic and smallest unit of time in a computer. In one clock cycle, the CPU only completes one of the most basic actions. A clock period is a quantity of time. The clock cycle can represent the highest frequency that the memory (such as synchronous dynamic random access memory) can run. A smaller clock cycle means a higher operating frequency.
(4)比特(binary digit,bit),是表示信息的最小单位,是二进制数的一位包含的信息或2个选项中特别指定1个的需要信息量。一般来说,n比特的信息量可以表现出2的n次方种选择。例如:一个计算机的字长为16比特,即16个二进制位,则它所表示的数值信息即为0—65535。(4) Bit (binary digit, bit) is the smallest unit of information, which is the information contained in one bit of a binary number or the amount of information required to specify one of the two options. Generally speaking, the amount of information of n bits can show 2 n-th power options. For example: the word length of a computer is 16 bits, that is, 16 binary bits, the numerical information it represents is 0-65535.
(5)译码是编码的逆过程,同时去掉比特流在传播过程中混入的噪声。利用译码表把文字译成一组组数码或用译码表将代表某一项信息的一系列信号译成文字的过程称之为译码。(5) Decoding is the inverse process of encoding, and at the same time removes the noise mixed in the bit stream during the propagation process. The process of using a decoding table to translate text into a group of numbers or using a decoding table to translate a series of signals representing a certain item of information into text is called decoding.
(6)刷新,是指用于记录DRAM逻辑值的电容因各方面的技术困难无可避免的有显著的漏电现象(放电现象)而使电位下降,周期性地对高电位电容进行充电而保持其稳定的过程。(6) Refresh means that the capacitor used to record the logical value of DRAM has a significant leakage phenomenon (discharge phenomenon) due to technical difficulties in all aspects, and the potential drops, and the high-potential capacitor is periodically charged and maintained. Its a stable process.
(7)寄存器,是用来存放数据的一些小型存储区域,用来暂时存放参与运算的数据和运算结果,是一种常用的时序逻辑电路,但这种时序逻辑电路只包含存储电路。寄存器的存储电路是由锁存器或触发器构成的,因为一个锁存器或触发器能存储1位二进制数,所以由N个锁存器或触发器可以构成N位寄存器。寄存器是中央处理器内的组成部分。寄存器是有限存储容量的高速存储部件,它们可用来暂存指令、数据和位址。(7) Registers are small storage areas used to store data. They are used to temporarily store data and calculation results involved in operations. They are a commonly used sequential logic circuit, but this sequential logic circuit only contains memory circuits. The storage circuit of the register is composed of latches or flip-flops. Because a latch or flip-flop can store a 1-bit binary number, N latches or flip-flops can form an N-bit register. The register is an integral part of the central processing unit. Registers are high-speed storage components with limited storage capacity. They can be used to temporarily store instructions, data, and addresses.
下面先对本申请实施例基于的一种系统架构进行描述,请参见图1,图1是本申请实施例提供的一种数据存储系统架构示意图;如图1所示,该系统架构包括了控制器10、存储器20和温度检测电路30。可选地,控制器10、存储器20和温度检测电路30可以是独立的三个逻辑电路或者器件;或者,存储器20可以包括温度检测电路30和控制器10;或者,存储器20可以包括温度检测电路30,控制器10可以是独立于存储器20的独立器件;本申请实施例对此不作限定。其中,The following first describes a system architecture based on the embodiment of the present application. Please refer to Figure 1. Figure 1 is a schematic diagram of a data storage system architecture provided by an embodiment of the present application. As shown in Figure 1, the system architecture includes a controller. 10. The memory 20 and the temperature detection circuit 30. Optionally, the controller 10, the memory 20, and the temperature detection circuit 30 may be three independent logic circuits or devices; or, the memory 20 may include the temperature detection circuit 30 and the controller 10; or, the memory 20 may include a temperature detection circuit 30. The controller 10 may be an independent device independent of the memory 20; this is not limited in the embodiment of the present application. in,
控制器10用于设置对存储器20的温度检测周期;在控制器10配置温度检测周期之前,温度检测电路30可以实时检测存储器20的温度并向控制器10反馈检测信息,或者按照预设的固定周期进行检测并反馈。当控制器10设置了温度检测周期且达到该温度检测周期时,触发温度检测电路30(或温度检测电路)对存储器的温度进行检测并向控制器10反馈相应的检测信息。控制器10根据目标检测信息调整对该存储器20的刷新频率。The controller 10 is used to set a temperature detection cycle for the memory 20; before the controller 10 configures the temperature detection cycle, the temperature detection circuit 30 can detect the temperature of the memory 20 in real time and feed back detection information to the controller 10, or according to a preset fixed Detect and feedback periodically. When the controller 10 sets the temperature detection period and reaches the temperature detection period, the temperature detection circuit 30 (or temperature detection circuit) is triggered to detect the temperature of the memory and feedback corresponding detection information to the controller 10. The controller 10 adjusts the refresh frequency of the memory 20 according to the target detection information.
存储器20用于存储数据和按照控制器10设置的刷新频率自动进行刷新(即存储器进行自刷新),以保持所述存储器存储的数据。The memory 20 is used to store data and automatically refresh according to the refresh frequency set by the controller 10 (that is, the memory performs self-refresh), so as to maintain the data stored in the memory.
温度检测电路30用于按照控制器10设置的温度检测周期对存储器20的温度进行检测,并向控制器10反馈与检测温度对应的目标检测信息。其中,控制器10可以根据目标检测信息分析得到对应的温度范围,再根据温度范围确定刷新频率。或者,控制器10可以根据 目标检测信息直接确定刷新频率。The temperature detection circuit 30 is configured to detect the temperature of the memory 20 according to the temperature detection period set by the controller 10 and feed back target detection information corresponding to the detected temperature to the controller 10. The controller 10 may analyze the target detection information to obtain the corresponding temperature range, and then determine the refresh frequency according to the temperature range. Alternatively, the controller 10 may directly determine the refresh frequency according to the target detection information.
可以理解的是,图1中的系统架构只是本申请实施例中的一种示例性的实施方式,本申请实施例中的系统架构包括但不仅限于以上系统架构。It can be understood that the system architecture in FIG. 1 is only an exemplary implementation in the embodiment of the present application, and the system architecture in the embodiment of the present application includes but is not limited to the above system architecture.
下面是本申请实施例所涉及的另一种系统架构。请参见图2和图3,图2是本申请实施例提供的另一种数据存储系统架构示意图;图3是本申请实施例提供的一种与图2对应的数据存储功能示意图;如图2和图3所示,该系统架构中包括了存储器20(以DRAM为例)和控制器10;其中,The following is another system architecture involved in the embodiments of the present application. Please refer to Figures 2 and 3. Figure 2 is a schematic diagram of another data storage system architecture provided by an embodiment of the present application; Figure 3 is a schematic diagram of a data storage function corresponding to Figure 2 provided by an embodiment of the present application; Figure 2 As shown in Figure 3, the system architecture includes a memory 20 (taking DRAM as an example) and a controller 10; among them,
存储器20包括寄存器201、温度检测电路30和计数器202;寄存器201与温度检测电路30连接;计数器202和温度检测电路30连接;具体地,寄存器201可以将多个检测信息以及检测信息对应的温度范围发送至温度检测电路30,用于配置温度检测的范围;当温度检测电路30检测存储器20的当前温度后,根据接收的多个温度范围确定当前温度所处的温度范围是多个温度范围中的哪一个范围。计数器202用于接收控制器配置的温度检测周期,在计数值达到温度检测周期时触发温度检测电路进行温度检测并反馈温度结果给控制器10。The memory 20 includes a register 201, a temperature detection circuit 30, and a counter 202; the register 201 is connected to the temperature detection circuit 30; the counter 202 is connected to the temperature detection circuit 30; specifically, the register 201 can store multiple detection information and the temperature range corresponding to the detection information It is sent to the temperature detection circuit 30 to configure the temperature detection range; when the temperature detection circuit 30 detects the current temperature of the memory 20, it is determined according to the received multiple temperature ranges that the current temperature is within the temperature range of the multiple temperature ranges Which range. The counter 202 is used to receive the temperature detection period configured by the controller, and when the count value reaches the temperature detection period, trigger the temperature detection circuit to perform temperature detection and feed back the temperature result to the controller 10.
控制器10包括第一电路101、第二电路102和第三电路103;第一电路101用于从寄存器存储的多个温度范围中,设置每一个检测信息匹配的温度范围;第二电路102用于接收目标检测信息,并根据目标检测信息确定刷新频率;按照刷新频率向温度检测电路发送刷新指令;第三电路103用于设置温度检测周期,并向计数器发送温度检测周期。The controller 10 includes a first circuit 101, a second circuit 102, and a third circuit 103; the first circuit 101 is used to set the temperature range matched by each detection information from a plurality of temperature ranges stored in the register; the second circuit 102 uses To receive the target detection information, and determine the refresh frequency according to the target detection information; send a refresh command to the temperature detection circuit according to the refresh frequency; the third circuit 103 is used to set the temperature detection period and send the temperature detection period to the counter.
可以理解的是,图2中的系统架构的只是本申请实施例中的一种示例性的实施方式,本申请实施例中的应用场景包括但不仅限于以上应用场景。It can be understood that the system architecture in FIG. 2 is only an exemplary implementation in the embodiments of the present application, and the application scenarios in the embodiments of the present application include but are not limited to the above application scenarios.
下面结合上述图2所示的系统架构,对本申请中提出的技术问题进行具体分析和解决。In the following, in conjunction with the system architecture shown in FIG. 2 above, the technical problems proposed in this application will be specifically analyzed and resolved.
请参见图4,图4是本申请实施例提供的一种数据存储装置的部分结构示意图;该数据存储装置可以应用于数据存储系统架构(包括上述图2所示系统架构)。其中,该数据存储装置包括DRAM20(即存储器20)和控制器10;所述控制器10与DRAM20连接;具体地,DRAM包括内置的温度检测电路30和刷新命令译码模块203;控制器10包括温度结构接收模块104和刷新操作管理模块(即第二电路)102。其中,Please refer to FIG. 4, which is a partial structural diagram of a data storage device provided by an embodiment of the present application; the data storage device can be applied to a data storage system architecture (including the system architecture shown in FIG. 2 above). Wherein, the data storage device includes DRAM 20 (ie, memory 20) and a controller 10; the controller 10 is connected to the DRAM 20; specifically, the DRAM includes a built-in temperature detection circuit 30 and a refresh command decoding module 203; the controller 10 includes The temperature structure receiving module 104 and the refresh operation management module (ie, the second circuit) 102. in,
所述控制器10,用于设置所述存储器的温度检测周期(即图中所示的计时周期)。具体地,控制器可以通过内置电路(如计数电路或者计数模块)调整对存储器的温度检测周期。在通过控制器设置新的温度检测周期之前,温度检测周期为预设的默认温度检测周期或者在设置前的某一个的温度检测周期。可选地,在通过控制器设置新的温度检测周期后,控制器可以按照所述温度检测周期输出检测指令(例如使能信号),指示温度检测电路对存储器进行温度检测。例如,温度检测电路在接收到检测指令后,结束休眠状态而开始对存储器按照预设的检测频率检测温度。The controller 10 is used to set the temperature detection period of the memory (ie, the timing period shown in the figure). Specifically, the controller may adjust the temperature detection period of the memory through a built-in circuit (such as a counting circuit or a counting module). Before setting a new temperature detection period by the controller, the temperature detection period is a preset default temperature detection period or a temperature detection period before the setting. Optionally, after a new temperature detection period is set by the controller, the controller may output a detection instruction (for example, an enable signal) according to the temperature detection period to instruct the temperature detection circuit to perform temperature detection on the memory. For example, after receiving the detection instruction, the temperature detection circuit ends the sleep state and starts to detect the temperature of the memory according to the preset detection frequency.
如图4所示,温度检测电路20输出3bit的温度结果,利用相应的接口直接向控制器发送3bit温度结果对应的3bit接口信号;可选地,3bit接口信息可以是根据3bit温度结果编码得到的数据。控制器10通过接口或引脚接收到DRAM发送的3bit接口信号后,通过内 置的温度结果接收模块接收并解析该接口信号。控制器经过解析获得对应的3bit温度结果,根据3bit温度结果确定存储器当前温度所处的温度范围;再根据温度范围调整计时周期。将调整后的计时周期数据发送至刷新操作管理模块102(即图2所示的第二电路102),由刷新操作管理模块通过控制器中的存储器控制接口向DRAM发送包含新的计时周期数据的周期变更指令。当DRAM接收到包含新的计时周期数据的周期变更指令后,通过命令译码模块203对该指令进行解码。在新的计时周期下,控制内置温度检测电路检测自身温度情况。As shown in Figure 4, the temperature detection circuit 20 outputs a 3bit temperature result, and uses the corresponding interface to directly send a 3bit interface signal corresponding to the 3bit temperature result to the controller; optionally, the 3bit interface information can be obtained by encoding according to the 3bit temperature result data. After the controller 10 receives the 3bit interface signal sent by the DRAM through the interface or pin, it receives and parses the interface signal through the built-in temperature result receiving module. The controller obtains the corresponding 3bit temperature result through analysis, and determines the temperature range of the current temperature of the memory according to the 3bit temperature result; then adjusts the timing period according to the temperature range. The adjusted timing period data is sent to the refresh operation management module 102 (that is, the second circuit 102 shown in FIG. 2), and the refresh operation management module sends the new timing period data to the DRAM through the memory control interface in the controller. Cycle change instructions. After the DRAM receives the cycle change instruction including the new timing cycle data, the instruction decoding module 203 decodes the instruction. In the new timing period, control the built-in temperature detection circuit to detect its own temperature.
可选地,所述控制器10,具体用于根据所述检测信息,确定所述目标温度范围;根据所述目标温度范围,确定所述存储器的刷新频率。例如,目标检测信息对应的温度范围为6~40℃,根据该温度范围6~40℃确定适合存储器的刷新频率。其中,所述检测信息可以对应存储器的具体温度或者对应该存储器具体温度所处的温度范围。例如,当检测信息对应肺存储器的具体温度时,控制器通过检测信息可以获取存储器某个时刻或者某时间段内的具体温度情况。再例如,当检测信息对应存储器温度所处的温度范围时,控制器通过检测信息可以确定存储器的温度范围,再与预设的多个温度范围进行匹配,从而确定该存储器的刷新频率。Optionally, the controller 10 is specifically configured to determine the target temperature range according to the detection information; and determine the refresh frequency of the memory according to the target temperature range. For example, the temperature range corresponding to the target detection information is 6-40°C, and the refresh frequency suitable for the memory is determined according to the temperature range 6-40°C. Wherein, the detection information may correspond to a specific temperature of the memory or a temperature range in which the specific temperature of the memory is located. For example, when the detection information corresponds to the specific temperature of the lung memory, the controller can obtain the specific temperature situation of the memory at a certain moment or within a certain period of time through the detection information. For another example, when the detection information corresponds to the temperature range of the memory temperature, the controller can determine the temperature range of the memory through the detection information, and then match with multiple preset temperature ranges to determine the refresh frequency of the memory.
进一步可选地,所述控制器10,还用于根据所述刷新频率,向所述存储器发送刷新指令;所述存储器,具体用于接收所述刷新指令,根据所述刷新指令自动进行刷新,以保持所述存储器存储的数据。例如,根据目标检测信息确定了适合当前温度的存储器的刷新频率(如每5s刷新一次存储器存储的数据),那么每过5s就刷新存储器的数据以保障数据不丢失。Further optionally, the controller 10 is further configured to send a refresh instruction to the memory according to the refresh frequency; the memory is specifically configured to receive the refresh instruction, and automatically refresh according to the refresh instruction, To keep the data stored in the memory. For example, if the refresh frequency of the memory suitable for the current temperature is determined according to the target detection information (such as refreshing the data stored in the memory every 5s), then the data of the memory is refreshed every 5s to ensure that the data is not lost.
在一种可能的实现方式中,所述控制器,还用于:当所述目标检测信息在预设的温度检测周期数内变更程度大于预设变更阈值,缩短所述温度检测周期。通过控制器根据系统需求或者DRAM的历史温度变化趋势,调整对存储器的温度检测周期。例如,在夏天或者温度较高的器件使用环境中,缩短温度检测周期以准确获知存储器(如DRAM)的温度信息,以免数据丢失。在低温环境中或者存储器温度变化较缓慢,那么可以延长温度检测周期(例如,由128个时钟周期设置为512个时钟周期),以达到数据不丢失的前提下降低器件的能耗。In a possible implementation manner, the controller is further configured to: shorten the temperature detection period when the degree of change of the target detection information within a preset number of temperature detection cycles is greater than a preset change threshold. The controller adjusts the temperature detection cycle of the memory according to the system demand or the historical temperature change trend of the DRAM. For example, in summer or in an environment where the temperature is relatively high, the temperature detection cycle is shortened to accurately obtain the temperature information of the memory (such as DRAM) to avoid data loss. In a low-temperature environment or the memory temperature changes slowly, the temperature detection cycle can be extended (for example, 128 clock cycles are set to 512 clock cycles) to reduce the energy consumption of the device without data loss.
在一种可能的实现方式中,所述装置还包括与所述控制器连接的计数器;所述计数器还与所述温度检测电路连接;所述控制器将所述温度检测周期发送至所述计数器;所述计数器,用于循环计数直至所述计数值达到所述温度检测周期;当所述计数值达到所述温度检测周期时,向所述温度检测电路发送检测指令;所述温度检测电路,具体用于:当接收所述检测指令时,检测所述存储器的温度,并向所述控制器发送所述温度对应的目标检测信息。所述温度检测电路,用于当计数值达到所述温度检测周期时,检测所述存储器的温度;向所述控制器发送所述温度对应的目标检测信息;所述控制器,还用于根据所述目标检测信息,确定所述存储器的刷新频率;所述存储器,用于根据所述刷新频率进行刷新。In a possible implementation manner, the device further includes a counter connected to the controller; the counter is also connected to the temperature detection circuit; the controller sends the temperature detection period to the counter The counter is used to count cyclically until the count value reaches the temperature detection period; when the count value reaches the temperature detection period, send a detection instruction to the temperature detection circuit; the temperature detection circuit, Specifically, when receiving the detection instruction, detect the temperature of the memory, and send target detection information corresponding to the temperature to the controller. The temperature detection circuit is configured to detect the temperature of the memory when the count value reaches the temperature detection period; send target detection information corresponding to the temperature to the controller; the controller is also configured to The target detection information determines the refresh frequency of the memory; the memory is used to refresh according to the refresh frequency.
请参见图5,图5是本申请实施例提供的另一种数据存储装置的部分结构示意图;如图5所示,该数据存储装置可以应用于数据存储系统架构(包括上述图1所示系统架构)。具体地,控制器10包括计数器202、温度检测周期配置寄存器(即第三电路)103和使能 控制模块105;其中,使能控制模块105用于控制DRAM存储器温度读取的使能;例如,使能控制模块105更新存储器温度使能命令,指示存储器停止或者开启温度检测。计数器202内置于控制器10,用于根据配置的时间周期进行计时或者计数。可选地,计数器202、温度检测周期配置寄存器101以及使能控制模块105可以是独立于控制器10的器件。控制器10可以通过预设的存储器控制接口与DRAM连接。Please refer to FIG. 5. FIG. 5 is a partial structural diagram of another data storage device provided by an embodiment of the present application; as shown in FIG. 5, the data storage device can be applied to a data storage system architecture (including the system shown in FIG. 1 above). Architecture). Specifically, the controller 10 includes a counter 202, a temperature detection cycle configuration register (that is, a third circuit) 103, and an enable control module 105; wherein, the enable control module 105 is used to control the enable of DRAM memory temperature reading; for example, The enable control module 105 updates the memory temperature enable command to instruct the memory to stop or start temperature detection. The counter 202 is built in the controller 10 and is used for timing or counting according to the configured time period. Optionally, the counter 202, the temperature detection period configuration register 101, and the enable control module 105 may be devices independent of the controller 10. The controller 10 can be connected to the DRAM through a preset memory control interface.
可选地,计数器202可以集成在存储器的内部或者以其他方式与控制器连接。Optionally, the counter 202 may be integrated in the memory or connected to the controller in other ways.
DRAM20包括温度检测电路30、温度检测使能模块204和命令译码模块203。其中,命令译码模块203还用于对存储器接收的命令进行译码,从而控制温度检测使能模块工作。可选地,DRAM还可以通过其他命令译码模块对命令进行译码;本申请实施例对此不作限定。The DRAM 20 includes a temperature detection circuit 30, a temperature detection enable module 204, and a command decoding module 203. Among them, the command decoding module 203 is also used to decode the commands received by the memory, so as to control the operation of the temperature detection enabling module. Optionally, the DRAM may also decode the commands through other command decoding modules; this embodiment of the present application does not limit this.
进一步可选地,DRAM的温度检测电路工作使能周期可配,检测周期越大,节省的功耗越大;例如,温度检测周期可以为64个时钟周期、128个时钟周期、256个时钟周期、512个时钟周期、1024个时钟周期、2048个时钟周期或4096个时钟周期。例如,如果控制器向计数器发送周期配置参数000(本申请实施例以3Bit数据为例),计数器就实时监测存储器的温度;如果控制器向计数器发送周期配置参数001,那么计数器每64个时钟周期检测一次温度。具体的其他周期配置参数请参见表1,如下表所示:Further optionally, the working enable period of the temperature detection circuit of the DRAM is configurable. The larger the detection period, the greater the power saving; for example, the temperature detection period can be 64 clock cycles, 128 clock cycles, and 256 clock cycles. , 512 clock cycles, 1024 clock cycles, 2048 clock cycles or 4096 clock cycles. For example, if the controller sends the cycle configuration parameter 000 to the counter (3Bit data is used as an example in this application), the counter monitors the temperature of the memory in real time; if the controller sends the cycle configuration parameter 001 to the counter, the counter every 64 clock cycles Check the temperature once. Please refer to Table 1 for specific other period configuration parameters, as shown in the following table:
表1Table 1
周期配置Period configuration 周期配置含义Period configuration meaning
000000 实时检测DRAM的温度Detect the temperature of DRAM in real time
001001 64*时钟周期64*clock cycle
010010 128*时钟周期128*clock cycle
011011 256*时钟周期256*clock cycle
100100 512*时钟周期512*clock cycle
101101 1024*时钟周期1024*clock cycle
110110 2048*时钟周期2048*clock period
111111 4096*时钟周期4096*clock cycle
如表1所示,若配置为4096个时钟周期,进行一次温度检测,假设一次温度检测使能时间为8个周期,那么因温度检测引入的功耗将比实时检测的情况下降为1/512。需要说明的是,本申请实施例对周期配置参数的形式不作限定。表1所示只是一种示例性的参数形式和含义。As shown in Table 1, if the configuration is 4096 clock cycles and a temperature detection is performed, assuming that the temperature detection enable time is 8 cycles, the power consumption introduced by the temperature detection will be reduced to 1/512 compared with the real-time detection. . It should be noted that the embodiment of the present application does not limit the form of the period configuration parameter. Table 1 shows only an exemplary parameter form and meaning.
通过控制器配置温度检测周期,根据计数器的计数结果判断是否达到配置的周期时间。在达到周期时间后,计数器触发温度检测电路进行温度检测。可选地,通过计数器向温度 检测电路发送高电平(即检测指令),温度检测电路在接收到高电平后进行温度检测。需要理解的是,高电平为示例性的一种检测指令;本申请实施例不对具体的使能方式作出限定。Configure the temperature detection cycle through the controller, and judge whether the configured cycle time is reached according to the counting result of the counter. After reaching the cycle time, the counter triggers the temperature detection circuit to perform temperature detection. Optionally, a high level (that is, a detection command) is sent to the temperature detection circuit through the counter, and the temperature detection circuit performs temperature detection after receiving the high level. It should be understood that the high level is an exemplary detection instruction; the embodiment of the present application does not limit the specific enabling mode.
所述温度检测电路,具体用于从一个或多个第一温度范围中确定所述温度所处的目标温度范围;确定所述目标温度范围匹配的所述目标检测信息;向所述控制器发送所述目标检测信息(本申请实施例中检测信息为3bit的数据)。具体地,温度检测电路在被使能后,开始检测当前DRAM的温度。本申请实施例对温度检测电路内部的具体电路设计以及检测温度的方式不作限定。例如,温度检测电路可以由比较器、电阻分压电路、计数器等电路组成。在温度检测电路获取当前DRAM的温度后,确定该温度所处的温度范围。当只设置了一个温度范围,那么当前温度就只能对应该预设的温度范围。当设置了多个温度范围,那么可以根据温度数值判断该温度处于哪一个温度范围。例如,检测到当前DRAM温度为10℃,预设的温度范围有1~25℃,那么可以判断当前的温度所处的温度范围为1~25℃。可选地,温度检测电路通过检测电路的电压变化以检测DRAM的温度。本申请实施例对检测温度的具体方式不作限定。The temperature detection circuit is specifically configured to determine the target temperature range in which the temperature is located from one or more first temperature ranges; determine the target detection information that matches the target temperature range; send to the controller The target detection information (the detection information in this embodiment of the application is 3bit data). Specifically, after the temperature detection circuit is enabled, it starts to detect the current temperature of the DRAM. The embodiment of the present application does not limit the specific circuit design inside the temperature detection circuit and the manner of detecting the temperature. For example, the temperature detection circuit can be composed of a comparator, a resistor divider circuit, a counter and other circuits. After the temperature detection circuit obtains the current temperature of the DRAM, the temperature range of the temperature is determined. When only one temperature range is set, then the current temperature can only correspond to the preset temperature range. When multiple temperature ranges are set, the temperature value can be used to determine which temperature range the temperature is in. For example, if it is detected that the current DRAM temperature is 10°C and the preset temperature range is 1-25°C, then it can be judged that the current temperature is in the temperature range 1-25°C. Optionally, the temperature detection circuit detects the temperature of the DRAM by detecting the voltage change of the circuit. The embodiment of the present application does not limit the specific method of detecting the temperature.
请参见图6,图6是本申请实施例提供的一种温度检测电路的周期检测流程示意图;如图6所示,在控制器设置了温度检测周期后,计数器从接收到温度检测周期的周期数时开始计数,直至计数值达到相应的周期数;计数器触发温度检测电路检测温度;温度检测电路检测温度并向控制器输出检测信息(即温度检测结果),再使得温度检测电路使能失效。可选地,在配置温度检测的周期后,计数器可以设置计数的初值,从该初值开始计数,并在每次计数完成后与预设周期数进行比较,判断是否调整计数循环。Please refer to FIG. 6, which is a schematic diagram of the cycle detection process of a temperature detection circuit provided by an embodiment of the present application; as shown in FIG. 6, after the temperature detection cycle is set by the controller, the counter receives the cycle of the temperature detection cycle. When counting, start counting until the count value reaches the corresponding number of cycles; the counter triggers the temperature detection circuit to detect the temperature; the temperature detection circuit detects the temperature and outputs the detection information (ie, the temperature detection result) to the controller, and then makes the temperature detection circuit enable invalid. Optionally, after configuring the temperature detection cycle, the counter can set an initial value of the count, start counting from the initial value, and compare with the preset number of cycles after each count is completed to determine whether to adjust the counting cycle.
可选地,在判断当前DRAM温度对应的温度范围后,温度检测电路向控制器输出与该温度范围匹配的检测信息。例如1~25℃对应的检测信息为001,向控制器发送检测信息001。可选地,检测信息可以为4bit或者其他bit数的数据。在检测信息为3bit数据的情况下,可以设置对应8种温度范围。根据实际的温度检测需求和温度范围需求,设置检测信息的比特数。Optionally, after determining the temperature range corresponding to the current DRAM temperature, the temperature detection circuit outputs detection information matching the temperature range to the controller. For example, the detection information corresponding to 1-25°C is 001, and the detection information 001 is sent to the controller. Optionally, the detection information may be 4 bits or other bits of data. When the detection information is 3bit data, 8 temperature ranges can be set. Set the number of bits of the detection information according to the actual temperature detection requirements and temperature range requirements.
需要说明的是,本申请实施例中温度检测电路的输出结果以温度范围为例;但本申请对实际的输出结果不作限定,即温度检测电路可以输出存储器的实际温度数值或者存储器温度所处的温度范围。It should be noted that the output result of the temperature detection circuit in the embodiment of this application uses the temperature range as an example; however, this application does not limit the actual output result, that is, the temperature detection circuit can output the actual temperature value of the memory or the temperature of the memory. temperature range.
本申请实施例主要通过控制器配置对存储器的温度检测周期,使得控制器能够按照一定的周期获取存储器的温度情况(例如,某时刻存储器温度所处的温度范围);根据存储器的温度情况,通过控制器调整存储器中刷新频率。具体地,通过控制器设置对存储器的温度检测周期;当计数值达到温度检测周期时(例如,周期为50us,在重新设置检测周期后达到50us对应的计数值时),温度检测电路检测存储器的当前温度,并向控制器发送与当前温度对应的目标检测信息;在控制器接收到目标检测信息后,确定与之对应的刷新频率,以指示存储器刷新存储的数据。而现有技术中温度检测周期无法通过控制器改变,通常是固定的数值或者实时检测温度,难以合理地获取存储器温度信息;并且获取温度信息需要占用数据总线而造成开销增大。通过实施本申请实施例,不仅能根据系统需求配置不同温度检测周期,还能降低实时监控产生的能耗。进一步地,根据温度信息及时调整存储器的刷新频率,且不占用数据总线来获取温度检测结果,有效提升访存效率。The embodiment of the application mainly configures the temperature detection cycle of the memory by the controller, so that the controller can obtain the temperature of the memory according to a certain cycle (for example, the temperature range of the memory temperature at a certain moment); according to the temperature of the memory, pass The controller adjusts the refresh frequency in the memory. Specifically, the temperature detection cycle of the memory is set by the controller; when the count value reaches the temperature detection cycle (for example, the cycle is 50us, and the count value corresponding to 50us is reached after resetting the detection cycle), the temperature detection circuit detects the memory The current temperature, and the target detection information corresponding to the current temperature is sent to the controller; after the controller receives the target detection information, the corresponding refresh frequency is determined to instruct the memory to refresh the stored data. However, in the prior art, the temperature detection cycle cannot be changed by the controller, and is usually a fixed value or real-time temperature detection, which makes it difficult to obtain memory temperature information reasonably; and the acquisition of temperature information requires occupying a data bus, which causes an increase in overhead. By implementing the embodiments of the present application, not only can different temperature detection periods be configured according to system requirements, but also the energy consumption generated by real-time monitoring can be reduced. Further, the refresh frequency of the memory is adjusted in time according to the temperature information, and the data bus is not occupied to obtain the temperature detection result, which effectively improves the memory access efficiency.
在一种可能的实现方式中,所述装置还包括与所述控制器连接的寄存器;所述寄存器还与所述温度检测电路连接;所述寄存器,用于存储一个或多个检测信息中每一个检测信息对应的多个第一温度范围,所述一个或多个检测信息包括所述目标检测信息;所述控制器,还用于从所述多个第一温度范围中,确定所述每一个检测信息匹配的第一温度范围;所述寄存器还用于向所述温度检测电路发送所述每一个检测信息匹配的第一温度范围。In a possible implementation manner, the device further includes a register connected to the controller; the register is also connected to the temperature detection circuit; the register is used to store each of one or more detection information A plurality of first temperature ranges corresponding to one piece of detection information, the one or more pieces of detection information includes the target detection information; the controller is further configured to determine each of the plurality of first temperature ranges A first temperature range matched by the detection information; the register is also used to send the first temperature range matched by each detection information to the temperature detection circuit.
请参见图7,图7是本申请实施例提供的又一种数据存储装置的部分结构示意图;如图7所示,该数据存储装置可以应用于数据存储系统架构(包括上述图1或图2所示系统架构)。具体地,Please refer to FIG. 7. FIG. 7 is a partial structural diagram of another data storage device provided by an embodiment of the present application; as shown in FIG. 7, the data storage device can be applied to a data storage system architecture (including the above-mentioned FIG. 1 or FIG. 2). System architecture shown). specifically,
控制器10包括温度检测配置管理模块(第一电路)101。可选地,控制器通过配置相应的接口,用于连接温度范围配置管理模块101和温度调整寄存器201。在检测温度总范围为-40~125℃的情况下,温度调整寄存器可以向温度检测电路30发送7种温度参数,例如,温度调整G1、温度调整G2、…、温度调整G1。本申请实施例以输出3bit温度值结果和通过2bit的温度调整参数为例。例如,温度调整G7为2bit数据,可以包括00、01、10和11四种调整数值。在前述的假设条件下,2bit的温度调整参数针对3bit温度范围(即包括000-111等8种温度可调整温度范围)输出的参数个数为7种。本申请实施例对其他位数和温度范围的情况不作限定。需要说明的是,温度总范围的上下限一般不能调整。本申请实施例对温度调整参数对应可调整的温度范围上限或下限不作限定。The controller 10 includes a temperature detection configuration management module (first circuit) 101. Optionally, the controller is configured to connect the temperature range configuration management module 101 and the temperature adjustment register 201 by configuring a corresponding interface. In the case that the total detection temperature range is -40 to 125°C, the temperature adjustment register can send seven temperature parameters to the temperature detection circuit 30, for example, temperature adjustment G1, temperature adjustment G2, ..., temperature adjustment G1. The embodiment of the present application takes the output of a 3-bit temperature value result and the 2-bit temperature adjustment parameter as an example. For example, temperature adjustment G7 is 2bit data, which can include four adjustment values of 00, 01, 10, and 11. Under the aforementioned assumptions, the number of output parameters for the 2-bit temperature adjustment parameter for the 3-bit temperature range (that is, including 8 temperature adjustable temperature ranges such as 000-111) is 7 types. The embodiments of the present application do not limit other digits and temperature ranges. It should be noted that the upper and lower limits of the total temperature range generally cannot be adjusted. The embodiment of the present application does not limit the upper or lower limit of the adjustable temperature range corresponding to the temperature adjustment parameter.
DRAM20包括温度调整寄存器201、温度检测电路30;温度检测电路30用于在温度检测后输出3bit温度值结果,向控制器10的相应接口发送3bit接口信号,或者直接将3bit温度值结果发送给控制器10。可以理解的是,控制器10可以根据3bit接口信号解析得到当前DRAM的温度范围,在此不再赘述。The DRAM 20 includes a temperature adjustment register 201 and a temperature detection circuit 30; the temperature detection circuit 30 is used to output a 3bit temperature value result after temperature detection, and send a 3bit interface signal to the corresponding interface of the controller 10, or directly send the 3bit temperature value result to the control器10. It is understandable that the controller 10 can obtain the current temperature range of the DRAM by analyzing the 3bit interface signal, which will not be repeated here.
结合图7所示,对温度调整寄存器201对温度检测电路的温度范围调整情况进行描述,请参见表2,如表2所示,寄存器存储8个检测信息(即000~111),存储的每一个检测信息(即温度检测电路输出结果)对应的备选温度范围可以为4种;例如,000对应的备选温度范围为-40~-10℃、-40~-15℃、-40~-5℃、-40~0℃。第一列为默认的温度范围,即在未选择温度范围的前提下温度检测电路输出的检测信息匹配的温度范围;例如,000匹配的默认温度范围为-40~-10℃。在控制器选择了000的四种备选温度范围中的一种温度范围(如-40~0℃)后,温度检测电路在检测DRAM温度落在-40~0℃区间内,就会向控制器输出000;控制器通过温度配置参数和000,确定当前DRAM所处的温度范围为-40~0℃,以便于确定该温度范围内的温度刷新频率。In conjunction with Figure 7, the temperature adjustment register 201 describes the temperature range adjustment of the temperature detection circuit. Please refer to Table 2. As shown in Table 2, the register stores 8 detection information (ie 000~111), each of which is stored The candidate temperature ranges corresponding to one detection information (ie the output result of the temperature detection circuit) can be 4 types; for example, the candidate temperature ranges corresponding to 000 are -40~-10℃, -40~-15℃, -40~- 5℃, -40~0℃. The first column is the default temperature range, that is, the temperature range that the detection information output by the temperature detection circuit matches when the temperature range is not selected; for example, the default temperature range for 000 matching is -40 to -10°C. After the controller selects one of the four alternative temperature ranges of 000 (such as -40 to 0°C), the temperature detection circuit detects that the temperature of the DRAM falls within the range of -40 to 0°C, and then controls The output of the device is 000; the controller determines the current temperature range of the DRAM is -40 to 0°C through the temperature configuration parameter and 000, so as to determine the temperature refresh frequency within the temperature range.
需要理解的是,本申请实施例中表2所示的温度检测电路输出结果、备选温度范围以及3bit数据(如000)、2bit数据(如01)都是示例性的描述;本申请实施例对此不作限定。例如,5bit的数据对应32种类型的配置选择,可以是温度范围的配置也可以是检测周期的配置或者检测信息的配置。It should be understood that the output results of the temperature detection circuit shown in Table 2 in the embodiments of the present application, the candidate temperature range, and 3bit data (such as 000) and 2bit data (such as 01) are all exemplary descriptions; embodiments of the present application There is no restriction on this. For example, 5bit data corresponds to 32 types of configuration options, which can be the configuration of the temperature range, the configuration of the detection period, or the configuration of the detection information.
表2Table 2
Figure PCTCN2020073701-appb-000001
Figure PCTCN2020073701-appb-000001
Figure PCTCN2020073701-appb-000002
Figure PCTCN2020073701-appb-000002
在一种可能的实现方式中,控制器通过温度配置参数来调整检测信息对应的温度范围。如表2所示,00-11为2bit的温度配置参数中的一部分,用于选择相应的检测信息匹配的温度范围。例如,控制器向寄存器发送5bit的数据(如00011),前3bit用于确定寄存器中存储的8种检测信息中检测信息000;后2bit(即11)用于确定检测信息000对应的温度范围为-40~0℃。In a possible implementation manner, the controller adjusts the temperature range corresponding to the detection information through temperature configuration parameters. As shown in Table 2, 00-11 is part of the 2bit temperature configuration parameters, used to select the temperature range matched by the corresponding detection information. For example, the controller sends 5 bits of data (such as 00011) to the register. The first 3 bits are used to determine the detection information 000 among the 8 detection information stored in the register; the last 2 bits (ie 11) are used to determine the temperature range corresponding to the detection information 000. -40~0℃.
在一种可能的实现方式中,所述温度检测电路,具体用于通过引脚向所述控制器发送所述目标检测信息。例如,温度检测电路的负责检测信息输出的引脚直接与控制器的输入引脚连接,在温度检测电路获得检测信息后不通过总线而是引脚直接向控制器输出检测信息。In a possible implementation manner, the temperature detection circuit is specifically configured to send the target detection information to the controller through a pin. For example, the pins of the temperature detection circuit responsible for outputting detection information are directly connected to the input pins of the controller. After the temperature detection circuit obtains the detection information, the pins directly output the detection information to the controller without passing through the bus.
在前述的系统和装置下,本申请实施例中以数据存储装置为DRAM为例进行说明。DRAM中包括:存储器(即存储阵列)、与所述存储器连接的控制器,所述存储器包括温度检测电路;所述控制器,用于设置对所述存储器的温度检测周期;所述温度检测电路,用于:当所述计数值达到所述温度检测周期时,检测所述存储器的温度;向所述控制器发送所述温度对应的目标检测信息;所述控制器,还用于:根据所述目标检测信息,确定所述存储器的刷新频率;所述存储器,用于根据所述刷新频率进行刷新,以保持所述存储器存储的数据。Under the aforementioned system and device, in the embodiment of the present application, the data storage device is a DRAM as an example for description. The DRAM includes: a memory (that is, a memory array), a controller connected to the memory, the memory includes a temperature detection circuit; the controller is used to set a temperature detection period for the memory; the temperature detection circuit , Used to: when the count value reaches the temperature detection period, detect the temperature of the memory; send target detection information corresponding to the temperature to the controller; the controller is further used to: The target detection information determines the refresh frequency of the memory; the memory is configured to refresh according to the refresh frequency to maintain the data stored in the memory.
在一种可能的实现方式中,所述存储器还包括与所述温度检测电路连接的计数器;所述控制器,还用于将所述温度检测周期发送至所述计数器;所述计数器,用于:循环计数直至所述计数值达到所述温度检测周期;当所述计数值达到所述温度检测周期时,向所述温度检测电路发送检测指令;所述温度检测电路,具体用于:当接收所述检测指令时,检 测所述存储器的温度,并向所述控制器发送所述温度对应的目标检测信息。In a possible implementation manner, the memory further includes a counter connected to the temperature detection circuit; the controller is further configured to send the temperature detection period to the counter; and the counter is configured to : Cycle counting until the count value reaches the temperature detection period; when the count value reaches the temperature detection period, send a detection instruction to the temperature detection circuit; the temperature detection circuit is specifically used to: In the detection instruction, the temperature of the memory is detected, and target detection information corresponding to the temperature is sent to the controller.
在一种可能的实现方式中,所述温度检测电路,具体用于:从一个或多个第一温度范围中确定所述温度所处的目标温度范围;确定所述目标温度范围匹配的所述目标检测信息;向所述控制器发送所述目标检测信息。In a possible implementation manner, the temperature detection circuit is specifically configured to: determine the target temperature range in which the temperature is located from one or more first temperature ranges; and determine the target temperature range that matches the target temperature range. Target detection information; sending the target detection information to the controller.
在一种可能的实现方式中,所述存储器还包括与所述温度检测电路连接的寄存器,用于:存储一个或多个检测信息中每一个检测信息对应的多个第一温度范围,所述一个或多个检测信息包括所述目标检测信息;所述控制器,还用于:从所述多个第一温度范围中,确定所述每一个检测信息匹配的第一温度范围;所述寄存器还用于:向所述温度检测电路发送所述每一个检测信息匹配的第一温度范围。In a possible implementation manner, the memory further includes a register connected to the temperature detection circuit for storing multiple first temperature ranges corresponding to each detection information in one or more detection information, and The one or more detection information includes the target detection information; the controller is further configured to: determine a first temperature range matched by each of the detection information from the plurality of first temperature ranges; the register It is also used to send the first temperature range matched by each detection information to the temperature detection circuit.
在一种可能的实现方式中,所述控制器,具体用于:根据所述目标检测信息,确定所述目标温度范围;根据所述目标温度范围,确定所述存储器的刷新频率。In a possible implementation manner, the controller is specifically configured to: determine the target temperature range according to the target detection information; and determine the refresh frequency of the memory according to the target temperature range.
在一种可能的实现方式中,所述温度检测电路,具体用于:通过引脚向所述控制器发送所述目标检测信息。In a possible implementation manner, the temperature detection circuit is specifically configured to: send the target detection information to the controller through a pin.
在一种可能的实现方式中,所述控制器,还用于根据所述刷新频率,向所述存储器发送刷新指令;所述存储器,具体用于:接收所述刷新指令,根据所述刷新指令进行刷新,以保持所述存储器存储的数据。In a possible implementation manner, the controller is further configured to send a refresh instruction to the memory according to the refresh frequency; the memory is specifically configured to: receive the refresh instruction, and according to the refresh instruction Refresh is performed to maintain the data stored in the memory.
在一种可能的实现方式中,所述温度检测周期为64个时钟周期、128个时钟周期、256个时钟周期、512个时钟周期、1024个时钟周期、2048个时钟周期或4096个时钟周期。In a possible implementation manner, the temperature detection cycle is 64 clock cycles, 128 clock cycles, 256 clock cycles, 512 clock cycles, 1024 clock cycles, 2048 clock cycles, or 4096 clock cycles.
在一种可能的实现方式中,所述控制器,还用于:当所述目标检测信息在预设的温度检测周期数内变更程度大于预设变更阈值,缩短所述温度检测周期。In a possible implementation manner, the controller is further configured to: shorten the temperature detection period when the degree of change of the target detection information within a preset number of temperature detection cycles is greater than a preset change threshold.
上面描述了具体的数据存储装置和应用场景,下面对本申请涉及的方法实施例进行描述。The specific data storage device and application scenarios are described above, and the method embodiments involved in the present application are described below.
请参见图8,图8是本申请实施例提供的一种数据存储方法的流程示意图;该数据存储方法应用于数据存储系统(包括上述的系统架构)。其中,所述数据存储系统包括控制器、存储器和温度检测电路,下面将结合附图8从控制器的单侧进行描述,该方法可以包括以下步骤S801-步骤S803。Please refer to FIG. 8. FIG. 8 is a schematic flowchart of a data storage method provided by an embodiment of the present application; the data storage method is applied to a data storage system (including the aforementioned system architecture). Wherein, the data storage system includes a controller, a memory, and a temperature detection circuit, which will be described from a single side of the controller with reference to FIG. 8. The method may include the following steps S801 to S803.
步骤S801:设置对存储器的温度检测周期。Step S801: Set a temperature detection period for the memory.
具体地,控制器通过向存储器发送指令,设置检测存储器温度的温度检测周期。所述温度检测周期为温度检测电路检测所述存储器的温度并发送所述温度对应的目标检测信息的周期。Specifically, the controller sets a temperature detection period for detecting the temperature of the memory by sending an instruction to the memory. The temperature detection period is a period during which the temperature detection circuit detects the temperature of the memory and sends target detection information corresponding to the temperature.
在一种可能的实现方式中,所述设置对存储器的温度检测周期,包括:将所述温度检测周期发送至计数器;通过所述计数器循环计数,直至所述计数值达到所述温度检测周期;通过所述计数器向所述温度检测电路发送检测指令,所述检测指令用于指示所述温度检测电路发送所述目标检测信息。In a possible implementation manner, the setting the temperature detection period for the memory includes: sending the temperature detection period to a counter; counting cyclically through the counter until the count value reaches the temperature detection period; A detection instruction is sent to the temperature detection circuit through the counter, and the detection instruction is used to instruct the temperature detection circuit to send the target detection information.
步骤S802:当计数值达到所述温度检测周期时,从所述温度检测电路接收所述目标检测信息。Step S802: When the count value reaches the temperature detection period, receive the target detection information from the temperature detection circuit.
具体地,当时间达到相应的温度检测周期后,控制器从温度检测电路接收目标检测信 息(或温度检测结果信息)。本申请实施例对此不作限定。Specifically, when the time reaches the corresponding temperature detection period, the controller receives target detection information (or temperature detection result information) from the temperature detection circuit. The embodiment of the application does not limit this.
步骤S803:根据所述目标检测信息,确定所述存储器的刷新频率。Step S803: Determine the refresh frequency of the memory according to the target detection information.
具体地,控制器解析接收的目标检测信息,根据目标检测信息确定存储器当前时刻所处的温度范围属于预设的温度范围中的某一个范围;根据该温度范围确定存储器的刷新频率;其中,所述刷新频率为所述存储器进行刷新的频率。Specifically, the controller parses the received target detection information, and determines, according to the target detection information, that the current temperature range of the memory belongs to a certain range of the preset temperature range; determines the refresh frequency of the memory according to the temperature range; wherein, The refresh frequency is the frequency at which the memory is refreshed.
在一种可能的实现方式中,所述方法还包括:从寄存器存储的多个第一温度范围中,确定所述每一个检测信息匹配的第一温度范围;通过所述寄存器向所述温度检测电路发送所述每一个检测信息匹配的第一温度范围。In a possible implementation manner, the method further includes: determining a first temperature range matched by each detection information from a plurality of first temperature ranges stored in a register; The circuit sends the first temperature range matched by each detection information.
在一种可能的实现方式中,所述根据所述目标检测信息,确定所述存储器的刷新频率,包括:根据所述目标检测信息,确定所述目标温度范围;根据所述目标温度范围,确定所述存储器的刷新频率。In a possible implementation manner, the determining the refresh frequency of the memory according to the target detection information includes: determining the target temperature range according to the target detection information; determining the target temperature range according to the target temperature range The refresh frequency of the memory.
在一种可能的实现方式中,所述从所述温度检测电路接收所述目标检测信息,包括:通过引脚从所述温度检测电路接收所述目标检测信息。In a possible implementation manner, the receiving the target detection information from the temperature detection circuit includes: receiving the target detection information from the temperature detection circuit through a pin.
在一种可能的实现方式中,所述方法还包括:根据所述刷新频率,向所述存储器发送刷新指令;所述刷新指令用于指示所述存储器进行刷新,以保持存储的数据。In a possible implementation manner, the method further includes: sending a refresh instruction to the memory according to the refresh frequency; the refresh instruction is used to instruct the memory to refresh so as to maintain the stored data.
在一种可能的实现方式中,所述温度检测周期为64个时钟周期、128个时钟周期、256个时钟周期、512个时钟周期、1024个时钟周期、2048个时钟周期或4096个时钟周期。In a possible implementation manner, the temperature detection cycle is 64 clock cycles, 128 clock cycles, 256 clock cycles, 512 clock cycles, 1024 clock cycles, 2048 clock cycles, or 4096 clock cycles.
在一种可能的实现方式中,所述方法还包括:当所述目标检测信息在预设的温度检测周期数内变更程度大于预设变更阈值,缩短所述温度检测周期。In a possible implementation manner, the method further includes: shortening the temperature detection period when the degree of change of the target detection information within a preset number of temperature detection cycles is greater than a preset change threshold.
本申请实施例主要通过控制器配置对存储器的温度检测周期,使得控制器能够按照一定的周期获取存储器的温度情况(例如,某时刻存储器温度所处的温度范围);根据存储器的温度情况,通过控制器调整存储器中刷新频率。具体地,通过控制器设置对存储器的温度检测周期;当计数值达到温度检测周期时(例如,周期为50us,在重新设置检测周期后达到50us对应的计数值时),温度检测电路检测存储器的当前温度,并向控制器发送与当前温度对应的目标检测信息;在控制器接收到目标检测信息后,确定与之对应的刷新频率,以指示存储器进行刷新,以保持存储的数据。而现有技术中温度检测周期无法通过控制器改变,通常是固定的数值或者实时检测温度,难以合理地获取存储器温度信息;并且获取温度信息需要占用数据总线而造成开销增大。通过实施本申请实施例,不仅能根据系统需求配置不同温度检测周期,还能降低实时监控产生的能耗。进一步地,根据温度信息及时调整存储器的刷新频率,且不占用数据总线来获取温度检测结果,有效提升访存效率。The embodiment of the application mainly configures the temperature detection cycle of the memory by the controller, so that the controller can obtain the temperature of the memory according to a certain cycle (for example, the temperature range of the memory temperature at a certain moment); according to the temperature of the memory, pass The controller adjusts the refresh frequency in the memory. Specifically, the temperature detection cycle of the memory is set by the controller; when the count value reaches the temperature detection cycle (for example, the cycle is 50us, and the count value corresponding to 50us is reached after resetting the detection cycle), the temperature detection circuit detects the memory The current temperature, and the target detection information corresponding to the current temperature is sent to the controller; after the controller receives the target detection information, the corresponding refresh frequency is determined to instruct the memory to refresh to maintain the stored data. However, in the prior art, the temperature detection cycle cannot be changed by the controller, and is usually a fixed value or real-time temperature detection, which makes it difficult to obtain memory temperature information reasonably; and the acquisition of temperature information requires occupying a data bus, which causes an increase in overhead. By implementing the embodiments of the present application, not only can different temperature detection periods be configured according to system requirements, but also the energy consumption generated by real-time monitoring can be reduced. Further, the refresh frequency of the memory is adjusted in time according to the temperature information, and the data bus is not occupied to obtain the temperature detection result, which effectively improves the memory access efficiency.
需要说明的是,本申请实施例中所描述的数据存储方法可参见上述图4-图6中所述的装置实施例中的数据存储装置的相关描述,此处不再赘述。It should be noted that, for the data storage method described in the embodiment of the present application, reference may be made to the related description of the data storage device in the device embodiment described in FIG. 4 to FIG. 6, which will not be repeated here.
如图9所示,图9是本申请实施例提供的一种设备的结构示意图。数据存储装置可以以图9中的结构来实现,该设备90包括至少一个处理器901和至少一个存储器902。此外,该设备还可以包括电源等通用部件,在此不再详述。As shown in FIG. 9, FIG. 9 is a schematic structural diagram of a device provided by an embodiment of the present application. The data storage apparatus may be implemented with the structure in FIG. 9, and the device 90 includes at least one processor 901 and at least one memory 902. In addition, the device may also include general components such as a power supply, which will not be described in detail here.
处理器901可以是通用中央处理器(CPU),微处理器,特定应用集成电路(application-specific integrated circuit,ASIC),或一个或多个用于控制以上方案程序执行的 集成电路。The processor 901 may be a general-purpose central processing unit (CPU), a microprocessor, an application-specific integrated circuit (ASIC), or one or more integrated circuits used to control the execution of the above program programs.
存储器902可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、只读光盘(Compact Disc Read-Only Memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器可以是独立存在,通过总线与处理器相连接。存储器也可以和处理器集成在一起。The memory 902 may be a read-only memory (ROM) or other types of static storage devices that can store static information and instructions, random access memory (RAM), or other types that can store information and instructions The dynamic storage device can also be electrically erasable programmable read-only memory (Electrically Erasable Programmable Read-Only Memory, EEPROM), CD-ROM (Compact Disc Read-Only Memory, CD-ROM) or other optical disc storage, optical disc storage (Including compact discs, laser discs, optical discs, digital versatile discs, Blu-ray discs, etc.), magnetic disk storage media or other magnetic storage devices, or can be used to carry or store desired program codes in the form of instructions or data structures and can be used by a computer Any other media accessed, but not limited to this. The memory can exist independently and is connected to the processor through a bus. The memory can also be integrated with the processor.
其中,所述存储器902用于存储执行以上方案的应用程序代码,并由处理器901来控制执行。所述处理器901用于执行所述存储器902中存储的应用程序代码。Wherein, the memory 902 is used to store application program codes for executing the above solutions, and the processor 901 controls the execution. The processor 901 is configured to execute application program codes stored in the memory 902.
图9所示的设备为数据存储装置(如DRAM)时,存储器902存储的代码可执行以上图8提供的数据存储方法,比如,设置对存储器的温度检测周期,所述温度检测周期为温度检测电路检测所述存储器的温度并发送所述温度对应的目标检测信息的周期;当计数值达到所述温度检测周期时,从所述温度检测电路接收所述目标检测信息;根据所述目标检测信息,确定所述存储器的刷新频率;所述刷新频率为所述存储器刷新数据的频率。在本申请实施例中,存储器中内置的硬件解析电路可以分析控制器发送的相关指令;控制器输入指令到存储器中,存储器通过相应的硬件解析电路(即命令解析电路)来完成对指令的解析,从而完成刷新操作和温度检测操作。本申请实施例对设备90、控制器901以及存储器902的具体连接关系不作限定。When the device shown in FIG. 9 is a data storage device (such as DRAM), the code stored in the memory 902 can execute the data storage method provided in FIG. 8, for example, setting a temperature detection cycle for the memory, the temperature detection cycle being temperature detection The circuit detects the temperature of the memory and sends the cycle of target detection information corresponding to the temperature; when the count value reaches the temperature detection cycle, receives the target detection information from the temperature detection circuit; according to the target detection information , Determine the refresh frequency of the memory; the refresh frequency is the frequency at which the memory refreshes data. In the embodiment of the present application, the hardware analysis circuit built in the memory can analyze the related instructions sent by the controller; the controller inputs the instructions into the memory, and the memory completes the analysis of the instructions through the corresponding hardware analysis circuit (ie command analysis circuit) , So as to complete the refresh operation and temperature detection operation. The embodiment of the present application does not limit the specific connection relationship between the device 90, the controller 901, and the memory 902.
需要说明的是,本申请实施例中所描述的设备90的功能可参见上述图4-图6中的所述的装置实施例中的相关描述,此处不再赘述。It should be noted that, for the functions of the device 90 described in the embodiment of the present application, reference may be made to the related description in the device embodiment described in the above-mentioned FIG. 4 to FIG. 6, which will not be repeated here.
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。In the above-mentioned embodiments, the description of each embodiment has its own emphasis. For parts that are not described in detail in an embodiment, reference may be made to related descriptions of other embodiments.
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可能可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。It should be noted that for the foregoing method embodiments, for the sake of simple description, they are all expressed as a series of action combinations, but those skilled in the art should know that this application is not limited by the described sequence of actions. Because according to this application, some steps may be performed in other order or at the same time. Secondly, those skilled in the art should also know that the embodiments described in the specification are all preferred embodiments, and the actions and modules involved are not necessarily required by this application.
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。In the several embodiments provided in this application, it should be understood that the disclosed device may be implemented in other ways. For example, the device embodiments described above are only illustrative, for example, the division of the above-mentioned units is only a logical function division, and there may be other divisions in actual implementation, for example, multiple units or components can be combined or integrated. To another system, or some features can be ignored, or not implemented. In addition, the displayed or discussed mutual coupling or direct coupling or communication connection may be indirect coupling or communication connection through some interfaces, devices or units, and may be in electrical or other forms.
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络 单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。The units described above as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, they may be located in one place, or they may be distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the objectives of the solutions of the embodiments.
另外,在本申请各实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。In addition, the functional units in the embodiments of the present application may be integrated into one processing unit, or each unit may exist alone physically, or two or more units may be integrated into one unit. The above-mentioned integrated unit can be implemented in the form of hardware or software functional unit.
上述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以为个人计算机、服务器或者网络设备等,具体可以是计算机设备中的处理器)执行本申请各个实施例上述方法的全部或部分步骤。其中,而前述的存储介质可包括:U盘、移动硬盘、磁碟、光盘、只读存储器(Read-Only Memory,缩写:ROM)或者随机存取存储器(Random Access Memory,缩写:RAM)等各种可以存储程序代码的介质。If the above integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer readable storage medium. Based on this understanding, the technical solution of the present application essentially or the part that contributes to the existing technology or all or part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium , Including several instructions to make a computer device (which may be a personal computer, a server, or a network device, etc., specifically a processor in a computer device) execute all or part of the steps of the foregoing methods of the various embodiments of the present application. Among them, the aforementioned storage media may include: U disk, mobile hard disk, magnetic disk, optical disk, read-only memory (Read-Only Memory, abbreviation: ROM) or Random Access Memory (Random Access Memory, abbreviation: RAM), etc. A medium that can store program codes.
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。As mentioned above, the above embodiments are only used to illustrate the technical solutions of the present application, but not to limit them; although the present application has been described in detail with reference to the foregoing embodiments, those of ordinary skill in the art should understand that: The technical solutions recorded in the embodiments are modified, or some of the technical features are equivalently replaced; and these modifications or replacements do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of the present application.

Claims (18)

  1. 一种数据存储系统,其特征在于,包括:A data storage system is characterized in that it comprises:
    存储器、控制器和温度检测电路;Memory, controller and temperature detection circuit;
    所述控制器,用于设置所述存储器的温度检测周期;The controller is used to set the temperature detection period of the memory;
    所述温度检测电路,用于:The temperature detection circuit is used for:
    按照所述温度检测周期,检测所述存储器的温度;Detecting the temperature of the memory according to the temperature detection period;
    向所述控制器发送所述温度对应的检测信息;Sending detection information corresponding to the temperature to the controller;
    所述控制器,还用于根据所述检测信息,设置所述存储器的刷新频率;The controller is further configured to set the refresh frequency of the memory according to the detection information;
    所述存储器,用于根据所述刷新频率进行刷新。The memory is used for refreshing according to the refresh frequency.
  2. 根据权利要求1所述的系统,其特征在于,所述系统还包括计数器;The system according to claim 1, wherein the system further comprises a counter;
    所述控制器,还用于:The controller is also used for:
    将所述温度检测周期发送至所述计数器;Sending the temperature detection period to the counter;
    所述计数器,用于:The counter is used for:
    循环计数直至计数值达到所述温度检测周期;Counting cyclically until the count value reaches the temperature detection period;
    当所述计数值达到所述温度检测周期时,向所述温度检测电路发送检测指令;When the count value reaches the temperature detection period, sending a detection instruction to the temperature detection circuit;
    所述温度检测电路,具体用于:The temperature detection circuit is specifically used for:
    当接收所述检测指令时,检测所述存储器的温度,并向所述控制器发送所述温度对应的检测信息。When the detection instruction is received, the temperature of the memory is detected, and the detection information corresponding to the temperature is sent to the controller.
  3. 根据权利要求1所述的系统,其特征在于,所述控制器还用于:The system according to claim 1, wherein the controller is further configured to:
    按照所述温度检测周期向所述温度检测电路发送检测指令;Sending a detection instruction to the temperature detection circuit according to the temperature detection cycle;
    所述温度检测电路,具体用于:The temperature detection circuit is specifically used for:
    当接收所述检测指令时,检测所述存储器的温度,并向所述控制器发送所述温度对应的检测信息。When the detection instruction is received, the temperature of the memory is detected, and the detection information corresponding to the temperature is sent to the controller.
  4. 根据权利要求1-3任一项所述的系统,其特征在于,所述温度检测电路,具体用于:The system according to any one of claims 1 to 3, wherein the temperature detection circuit is specifically used for:
    确定所述存储器的温度所处的目标温度范围,所述目标温度范围为所述温度检测电路管理的多个温度范围中的一个;Determining a target temperature range in which the temperature of the memory is located, where the target temperature range is one of a plurality of temperature ranges managed by the temperature detection circuit;
    向所述控制器发送所述目标温度范围对应的检测信息。Sending the detection information corresponding to the target temperature range to the controller.
  5. 根据权利要求1-4任一项所述的系统,其特征在于,所述检测信息包括用于指示所述存储器的温度所处的目标温度范围的信息,所述控制器,具体用于:The system according to any one of claims 1 to 4, wherein the detection information includes information used to indicate a target temperature range in which the temperature of the memory is located, and the controller is specifically configured to:
    根据所述检测信息确定所述目标温度范围;Determining the target temperature range according to the detection information;
    根据所述目标温度范围,确定所述存储器的刷新频率。According to the target temperature range, the refresh frequency of the memory is determined.
  6. 根据权利要求1-5任一项所述的系统,其特征在于,所述温度检测电路,具体用于:The system according to any one of claims 1-5, wherein the temperature detection circuit is specifically used for:
    通过引脚向所述控制器发送所述检测信息。The detection information is sent to the controller through a pin.
  7. 根据权利要求1-6任一项所述的系统,其特征在于,The system according to any one of claims 1-6, wherein:
    所述控制器,还用于根据所述刷新频率,向所述存储器发送刷新指令;The controller is further configured to send a refresh instruction to the memory according to the refresh frequency;
    所述存储器,具体用于接收所述刷新指令,并根据所述刷新指令进行刷新。The memory is specifically configured to receive the refresh instruction, and perform refresh according to the refresh instruction.
  8. 根据权利要求1-7任一项所述的系统,其特征在于,所述温度检测周期为64个时钟周期、128个时钟周期、256个时钟周期、512个时钟周期、1024个时钟周期、2048个时钟周期或4096个时钟周期。The system according to any one of claims 1-7, wherein the temperature detection cycle is 64 clock cycles, 128 clock cycles, 256 clock cycles, 512 clock cycles, 1024 clock cycles, 2048 clock cycles, Clock cycles or 4096 clock cycles.
  9. 根据权利要求1-8任一项所述的系统,其特征在于,所述控制器,还用于:The system according to any one of claims 1-8, wherein the controller is further configured to:
    当所述检测信息在所述温度检测周期内变更程度大于预设变更阈值,缩短所述温度检测周期。When the degree of change of the detection information in the temperature detection period is greater than a preset change threshold, the temperature detection period is shortened.
  10. 一种数据存储方法,其特征在于,包括:A data storage method, characterized in that it comprises:
    设置存储器的温度检测周期,所述温度检测周期为温度检测电路检测所述存储器的温度并发送所述温度对应的检测信息的周期;Setting a temperature detection period of the memory, the temperature detection period being a period during which the temperature detection circuit detects the temperature of the memory and sends detection information corresponding to the temperature;
    按照所述温度检测周期,从所述温度检测电路接收所述检测信息;Receiving the detection information from the temperature detection circuit according to the temperature detection period;
    根据所述检测信息设置所述存储器的刷新频率。The refresh frequency of the memory is set according to the detection information.
  11. 根据权利要求10所述的方法,其特征在于,所述方法还包括:The method according to claim 10, wherein the method further comprises:
    将所述温度检测周期发送至计数器;Sending the temperature detection period to the counter;
    通过所述计数器循环计数,直至计数值达到所述温度检测周期;Counting cyclically through the counter until the count value reaches the temperature detection period;
    当所述计数值达到所述温度检测周期时,通过所述计数器向所述温度检测电路发送检测指令,所述检测指令用于指示所述温度检测电路检测所述存储器的温度,并发送所述温度对应的检测信息。When the count value reaches the temperature detection period, a detection instruction is sent to the temperature detection circuit through the counter, and the detection instruction is used to instruct the temperature detection circuit to detect the temperature of the memory and send the Detection information corresponding to temperature.
  12. 根据权利要求10所述的方法,其特征在于,所述方法还包括:The method according to claim 10, wherein the method further comprises:
    按照所述温度检测周期向所述温度检测电路发送检测指令;所述检测指令用于指示所述温度检测电路检测所述存储器的温度,并发送所述温度对应的检测信息。Send a detection instruction to the temperature detection circuit according to the temperature detection cycle; the detection instruction is used to instruct the temperature detection circuit to detect the temperature of the memory, and send detection information corresponding to the temperature.
  13. 根据权利要求10-12任一项所述的方法,其特征在于,所述检测信息包括用于指示所述存储器的温度所处的目标温度范围的信息,所述根据所述检测信息设置所述存储器的刷新频率,包括:The method according to any one of claims 10-12, wherein the detection information includes information for indicating a target temperature range in which the temperature of the memory is located, and the detection information is used to set the The refresh frequency of the memory, including:
    根据所述检测信息确定所述目标温度范围;Determining the target temperature range according to the detection information;
    根据所述目标温度范围,设置所述存储器的刷新频率。According to the target temperature range, the refresh frequency of the memory is set.
  14. 根据权利要求10-13任一项所述的方法,其特征在于,所述方法还包括:The method according to any one of claims 10-13, wherein the method further comprises:
    根据所述刷新频率,向所述存储器发送刷新指令;所述刷新指令用于指示所述存储器进行刷新。According to the refresh frequency, a refresh instruction is sent to the memory; the refresh instruction is used to instruct the memory to refresh.
  15. 根据权利要求10-14任一项所述的系统,其特征在于,所述温度检测周期为64个时钟周期、128个时钟周期、256个时钟周期、512个时钟周期、1024个时钟周期、2048个时钟周期或4096个时钟周期。The system according to any one of claims 10-14, wherein the temperature detection cycle is 64 clock cycles, 128 clock cycles, 256 clock cycles, 512 clock cycles, 1024 clock cycles, 2048 clock cycles, Clock cycles or 4096 clock cycles.
  16. 根据权利要求10-15任一项所述的系统,其特征在于,所述方法还包括:The system according to any one of claims 10-15, wherein the method further comprises:
    当所述检测信息在所述温度检测周期内变更程度大于预设变更阈值,缩短所述温度检测周期。When the degree of change of the detection information in the temperature detection period is greater than a preset change threshold, the temperature detection period is shortened.
  17. 根据权利要求10-16任一项所述的方法,其特征在于,所述从所述温度检测电路接收所述检测信息,包括:The method according to any one of claims 10-16, wherein the receiving the detection information from the temperature detection circuit comprises:
    通过引脚从所述温度检测电路接收所述检测信息。The detection information is received from the temperature detection circuit through a pin.
  18. 一种芯片系统,其特征在于,所述芯片系统执行如权利要求10-17中任意一项所述的方法得以实现。A chip system, characterized in that the chip system is implemented by executing the method according to any one of claims 10-17.
PCT/CN2020/073701 2020-01-22 2020-01-22 Data storage system and method WO2021146979A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202080081681.2A CN114730594A (en) 2020-01-22 2020-01-22 Data storage system and method
PCT/CN2020/073701 WO2021146979A1 (en) 2020-01-22 2020-01-22 Data storage system and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2020/073701 WO2021146979A1 (en) 2020-01-22 2020-01-22 Data storage system and method

Publications (1)

Publication Number Publication Date
WO2021146979A1 true WO2021146979A1 (en) 2021-07-29

Family

ID=76991929

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/073701 WO2021146979A1 (en) 2020-01-22 2020-01-22 Data storage system and method

Country Status (2)

Country Link
CN (1) CN114730594A (en)
WO (1) WO2021146979A1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040264288A1 (en) * 2003-06-24 2004-12-30 International Business Machines Corporation Timing circuit and method of changing clock period
CN108693938A (en) * 2017-03-29 2018-10-23 西部数据技术公司 The thermal throttle of memory devices
CN109949844A (en) * 2017-12-20 2019-06-28 三星电子株式会社 The method of storage system and operation storage system
CN110364201A (en) * 2018-04-09 2019-10-22 爱思开海力士有限公司 The method of the automatic refresh operation of memory device and control memory device

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040264288A1 (en) * 2003-06-24 2004-12-30 International Business Machines Corporation Timing circuit and method of changing clock period
CN108693938A (en) * 2017-03-29 2018-10-23 西部数据技术公司 The thermal throttle of memory devices
CN109949844A (en) * 2017-12-20 2019-06-28 三星电子株式会社 The method of storage system and operation storage system
CN110364201A (en) * 2018-04-09 2019-10-22 爱思开海力士有限公司 The method of the automatic refresh operation of memory device and control memory device

Also Published As

Publication number Publication date
CN114730594A (en) 2022-07-08

Similar Documents

Publication Publication Date Title
US11099760B2 (en) Background data refresh using a system timestamp in storage devices
US9318182B2 (en) Apparatus, method and system to determine memory access command timing based on error detection
US20150378407A1 (en) Loading-Based Dynamic Voltage And Frequency Scaling
US20140254298A1 (en) Variable dynamic memory refresh
US10521294B2 (en) Patrol scrub periods based on power status
EP3586237B1 (en) Providing single data rate (sdr) mode or double data rate (ddr) mode for the command and address (ca) bus of registering clock drive (rcd) for dynamic random access memory (dram)
US11561710B2 (en) Programmable peak power management
US11068169B2 (en) Data storage device and method for memory operation and iterative polling
BR112015012559B1 (en) ADAPTIVE TENSION SCALE SYSTEM AND METHOD
US11268990B2 (en) Current measurement circuit for optimization of power consumption in electronic devices
WO2021146979A1 (en) Data storage system and method
US11138039B2 (en) Memory system for removing memory cell fault and method thereof
US11188244B2 (en) Adjusting trim settings to improve memory performance or reliability
CN111522587B (en) Electronic device and device wake-up method
US10622083B2 (en) Techniques for providing signal calibration data
KR20180091546A (en) Semiconductor device and semiconductor system
US20170249996A1 (en) Opportunistic memory tuning for dynamic workloads
US10631248B2 (en) Mid-cycle adjustment of internal clock signal timing
US9515663B2 (en) Dynamic prescaling for performance counters
JP2016514338A (en) Storage device reading apparatus and method
US20120124323A1 (en) Method for setting memory address space
US10725520B2 (en) Determining a power capping signal using direct memory access
US10473533B2 (en) Method and device for monitoring temperature of an electronic element
US20140192608A1 (en) Controlling method of connector, connector, and memory storage device
US11822418B2 (en) System and method for power consumption management

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20915954

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20915954

Country of ref document: EP

Kind code of ref document: A1