MEMORY ACCESS SPEED ADJUSTMENT METHOD, CONTROL DEVICE AND MEMORY MODULE
20230236738 · 2023-07-27
Inventors
- CHUNG-TING HUANG (New Taipei City, TW)
- CHUNG-YI LAI (New Taipei City, TW)
- TING-CHIANG LIU (New Taipei City, TW)
Cpc classification
G06F3/0659
PHYSICS
G06F3/0679
PHYSICS
G06F3/0619
PHYSICS
International classification
Abstract
A memory access speed adjustment method, control device and memory module are provided. The method is for use in controlling a controller of a memory and includes steps of: obtaining a current temperature value of the memory; determining an access speed threshold of the memory according to a continuous variation relation with respect to a difference between the current temperature value and a target temperature value; and adjusting, by the controller, an access speed of the memory according to the access speed threshold.
Claims
1. A memory access speed adjustment method, for use in controlling a controller of a memory, comprising the steps of: obtaining a current temperature value of the memory; determining an access speed threshold of the memory according to a continuous variation relation with respect to a difference between the current temperature value and a target temperature value; and adjusting, by the controller, an access speed of the memory according to the access speed threshold.
2. The memory access speed adjustment method of claim 1, further comprising: determining that an absolute value of the difference between the current temperature value and the target temperature value is greater than or equal to an allowable temperature variation, wherein the step of determining the access speed threshold of the memory is performed in response to that the absolute value of the difference is greater than or equal to the allowable temperature variation.
3. The memory access speed adjustment method of claim 1, further comprising: determining that the current temperature value is greater than or equal to a start temperature value, wherein the step of determining the access speed threshold of the memory is performed in response to that the current temperature value is greater than or equal to the start temperature value.
4. The memory access speed adjustment method of claim 1, further comprising: determining that the current temperature value is greater than or equal to a start temperature value; and determining that an absolute value of the difference between the current temperature value and the target temperature value is greater than or equal to an allowable temperature variation, wherein the step of determining the access speed threshold of the memory is performed in response to that the current temperature value is greater than or equal to the start temperature value and that the absolute value of the difference is greater than or equal to the allowable temperature variation.
5. The memory access speed adjustment method of claim 1, further comprising: determining that the current temperature value is greater than or equal to a start temperature value; determining that an absolute value of the difference between the current temperature value and the target temperature value is greater than or equal to an allowable temperature variation; and determining that the current temperature value falls within an operating temperature range, wherein the step of determining the access speed threshold of the memory is performed in response to that the current temperature value is greater than or equal to the start temperature value, that the absolute value of the difference is greater than or equal to the allowable temperature variation, and that the current temperature value falls within the operating temperature range.
6. The memory access speed adjustment method of claim 1, wherein the continuous variation relation is based on a linear function relation with respect to the difference between the current temperature value and the target temperature value.
7. The memory access speed adjustment method of claim 1, wherein the continuous variation relation is based on a first linear function relation with respect to the difference between the current temperature value and the target temperature value and a second linear function relation with respect to another difference between the current temperature value and a previously measured temperature value.
8. A control device for controlling an access speed of a memory, comprising: a controller; and a memory device for storing executable code to be read and executed by the controller, so as to perform a plurality of operations comprising: obtaining a current temperature value of the memory; determining an access speed threshold of the memory according to a continuous variation relation with respect to a difference between the current temperature value and a target temperature value; and adjusting the access speed of the memory according to the access speed threshold.
9. The control device of claim 8, wherein the operations further comprise: determining that an absolute value of the difference between the current temperature value and the target temperature value is greater than or equal to an allowable temperature variation, wherein the operation of determining the access speed threshold of the memory is performed in response to that absolute value of the difference is greater than or equal to the allowable temperature variation.
10. The control device of claim 8, wherein the operations further comprise: determining that the current temperature value is greater than or equal to a start temperature value, wherein the operation of determining the access speed threshold of the memory is performed in response to that the current temperature value is greater than or equal to the start temperature value.
11. The control device of claim 8, wherein the operations further comprise: determining that the current temperature value is greater than or equal to a start temperature value; and determining that an absolute value of the difference between the current temperature value and the target temperature value is greater than or equal to an allowable temperature variation, wherein the operation of determining the access speed threshold of the memory is performed in response to that the current temperature value is greater than or equal to the start temperature value and that the absolute value of the difference is greater than or equal to the allowable temperature variation.
12. The control device of claim 8, wherein the operations further comprise: determining that the current temperature value is greater than or equal to a start temperature value; determining that an absolute value of the difference between the current temperature value and the target temperature value is greater than or equal to an allowable temperature variation; and determining that the current temperature value falls within an operating temperature range, wherein the operation of determining the access speed threshold of the memory is performed in response to that the current temperature value is greater than or equal to the start temperature value, that the absolute value of the difference is greater than or equal to the allowable temperature variation, and that the current temperature value falls within the operating temperature range.
13. The control device of claim 8, wherein the continuous variation relation is based on a linear function relation with respect to the difference between the current temperature value and the target temperature value.
14. The control device of claim 8, wherein the continuous variation relation is based on a first linear function relation with respect to the difference between the current temperature value and the target temperature value and a second linear function relation with respect to another difference between the current temperature value and a previously measured temperature value.
15. A memory module, comprising: a memory; a temperature sensor for sensing a current temperature value of the memory; a controller coupled to the memory and the temperature sensor and configured to control the memory; and a memory device for storing executable code to be read and executed by the controller, so as to perform a plurality of operations comprising: obtaining the current temperature value of the memory; determining an access speed threshold of the memory according to a continuous variation relation with respect to a difference between the current temperature value and a target temperature value; and adjusting the access speed of the memory according to the access speed threshold.
16. The memory module of claim 15, wherein the operations further comprise: determining that an absolute value of the difference between the current temperature value and the target temperature value is greater than or equal to an allowable temperature variation, wherein the operation of determining the access speed threshold of the memory is performed in response to that the absolute value of the difference is greater than or equal to the allowable temperature variation.
17. The memory module of claim 15, wherein the continuous variation relation is based on a linear function relation with respect to the difference between the current temperature value and the target temperature value.
18. The memory module of claim 15, wherein the access speed is an access speed between the controller and the memory.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0019]
[0020]
[0021]
[0022]
[0023]
[0024]
DETAILED DESCRIPTION OF THE INVENTION
[0025] Objectives, features, and advantages of the present disclosure are hereunder illustrated with specific embodiments, depicted with drawings, and described below.
[0026] Referring to
[0027] Referring to
[0028] As shown in step S10, a current temperature value of the memory is obtained. For instance, in the memory module 10, the controller 15 obtains the current temperature value of the memory 11 from the temperature sensor 13.
[0029] As shown in step S20, an access speed threshold of the memory is determined according to a continuous variation relation with respect to a difference between the current temperature value and a target temperature value. For instance, the controller 15 determines an access speed threshold (e.g., denoted by V.sub.ioth) of the memory 11 according to a continuous variation relation with respect to a difference between the current temperature value (e.g., denoted by T.sub.now) and the target temperature value (e.g., denoted by T.sub.target).
[0030] As shown in step S30, the access speed of the memory is adjusted according to the access speed threshold by the controller. Specifically, the controller 15 limits the number of data accesses according to the access speed threshold V.sub.ioth so that an upper limit of the number of data accesses allowable per unit time is set to the access speed threshold V.sub.ioth. If the upper limit of the number of data accesses decreases, the allowable memory access operations will decrease, and the corresponding temperature of the memory will gradually decrease and take the target temperature value T.sub.target as its target temperature. In this regard, the opposite is also true.
[0031] For instance, the controller 15 adjusts the access speed between the host 20 and the controller 15 according to the access speed threshold V.sub.ioth and thus adjusts the access speed of the memory 11. Alternatively, the controller 15 adjusts the access speed between the controller 15 and the memory 11 according to the access speed threshold V.sub.ioth. Alternatively, the controller 15 simultaneously adjusts the access speed between the host 20 and the controller 15 as well as the access speed between the controller 15 and the memory 11. For example, the controller 15 adjusts the access speed of the memory 11 according to the access speed threshold V.sub.ioth by controlling a flow rate threshold of data access (for example, a threshold of data flow rate per unit time) according to the access speed threshold V.sub.ioth, for example, managing the number of input/output instructions between the host 20 and the memory module 10 (for example, by the controller 15), or managing the number of input/output instructions between the controller 15 and the memory 11 according to the access speed threshold V.sub.ioth, or simultaneously managing the number of input/output instructions between the host 20 and the memory module 10 (for example, by the controller 15) and the number of input/output instructions between the controller 15 and the memory 11.
[0032] The above method of
[0033] By contrast, a continuous variation relation with respect to the difference between the current temperature value and target temperature value as well as the access speed threshold can be utilized or designed appropriately to effectuate application of the method based on
[0034] In implementation, for example, executable code for the method based on
[0035] In some embodiments, the continuous variation relation is based on a linear function relation with respect to the difference between the current temperature value and the target temperature value.
[0036] For instance, the access speed threshold is expressed by equation 1 below: V.sub.ioth=a.sub.1(T.sub.target−T.sub.now)+a.sub.0, where V.sub.ioth denotes an access speed threshold, T.sub.now denotes a current temperature value, T.sub.target denotes a target temperature value, a.sub.1, a.sub.0 denote control parameters, and a.sub.1 is not equal to zero.
[0037] In another example, the access speed threshold is expressed by equation 2 below:
where denotations of V.sub.ioth, T.sub.now, T.sub.target are stated in the preceding paragraph, T.sub.start denotes a start temperature value, k.sub.p denotes a control parameter, k.sub.p is not equal to zero, and V.sub.max denotes a maximum access speed allowable for memory. Computation will be performed with equation 2 only if the current temperature value is greater than or equal to the start temperature value T.sub.start.
[0038] In some embodiments, it is feasible to conduct an experiment and thereby plot a graph of steady temperature versus speed with respect to a memory or related electronic product, construct an equation by statistical regression analysis, and incorporate a constant or parameter into the target for a correctional purpose, so as to determine the aforesaid linear function relation.
[0039] With the aforesaid equation 1 or equation 2, the final access speed converges on in the vicinity of a steady value, and temperature ends up in the vicinity of the target temperature value T.sub.target.
[0040] Furthermore, considering that the temperature variation speed affects the precision of the overall control system, temperature variation (denoted with ΔT) can be incorporated into equation 1 or equation 2 to enhance the accuracy in system adjustment, where ΔT denotes the difference between the two temperatures measured in two instances of temperature measurement, respectively. The temperature variation ΔT is for use in controlling the temperature rising speed to augment thermal throttling, thereby mitigating the rise of temperature. Therefore, in some embodiments, the continuous variation relation is based on a first linear function relation with respect to the difference between the current temperature value and the target temperature value and a second linear function relation with respect to another difference between the current temperature value and a previously measured temperature value. For instance, the aforesaid equation 2 can be modified to equation 3 below:
where k.sub.i denotes a control parameter, k.sub.i is not equal to zero, and ΔT denotes temperature variation, for example, the difference between the current temperature value T.sub.now and a previously measured temperature value (T.sub.prv).
[0041] Referring to
[0042] Furthermore, to perform the thermal throttling based on the method illustrated by
[0043] Various ways of achieving memory access speed adjustment are illustrated with embodiments based on the method illustrated by
[0044] In order to further enhance the implementation of the method illustrated by
[0045] For example, the controller 15 performs temperature monitoring by dynamically obtaining an updated current temperature value (repeating step S10). When a criterion is (or more criteria are) satisfied (for example, as determined in step S15), the controller 15 determines the access speed threshold V.sub.ioth of the memory 11 (corresponding to step S20) in response to the criterion being satisfied and according to a continuous variation relation with respect to the difference between the current temperature value T.sub.now and target temperature value T.sub.target, so as to ensure that the adjustment of the access speed threshold V.sub.ioth will take place only if the criterion is satisfied and preclude overly frequent adjustment.
[0046] Referring to
[0047] Referring to
[0048] Referring to
[0049] Referring to
[0050] For example, step S15 may include: determining whether the current temperature value is greater than or equal to a start temperature value; and determining whether an absolute value of the difference between the current temperature value and the target temperature value is greater than or equal to an allowable temperature variation. Therefore, some embodiments based on the method illustrated by
[0051] For example, step S15 may include: determining whether the current temperature value is greater than or equal to a start temperature value; determining whether an absolute value of the difference between the current temperature value and the target temperature value is greater than or equal to an allowable temperature variation; and determining whether the current temperature value falls within an operating temperature range. Therefore, some embodiments based on the method illustrated by
[0052] Referring to
[0053] As shown in step S100 (for example, based on step S10 of
[0054] As shown in step S110, it is determined whether the current temperature value is greater than or equal to a start temperature value. If the current temperature value T.sub.now is greater than or equal to the start temperature value T.sub.start, step S120 is performed. If the current temperature value T.sub.now is less than the start temperature value T.sub.start, step S115 is performed. In step S115, the access speed threshold V.sub.ioth is set to an allowable maximum access speed, for example, an allowable maximum access speed normally applicable to the operation specification of the memory module 10. Furthermore, in step S115, the current temperature value is recorded and set to a previously measured temperature value T.sub.prv. After that, for example, step S300 is performed, and then the temperature of the memory is monitored by way of steps S100, S110 and so on.
[0055] As shown in step S120, it is determined whether an absolute value of the difference between the current temperature value and the target temperature value is greater than or equal to an allowable temperature variation. If the absolute value of the difference is greater than or equal to the allowable temperature variation (e.g., denoted by Rs), step S130 is performed. If the absolute value of the difference is less than the allowable temperature variation, step S125 is performed. In step S125, the access speed threshold (e.g., denoted by V.sub.ioth) need not be changed, but the current temperature value is recorded and set to the previously measured temperature value (e.g., denoted by T.sub.prv). After that, for example, step S300 is performed, and then the temperature of the memory is monitored by way of steps S100, S110 and so on.
[0056] As shown in step S130, it is determined whether the current temperature value falls within an operating temperature range. For instance, regarding the operation specification of the memory module 10, the operating temperature range has a lower limit and an upper limit, such as −40° C. and 125° C. If the current temperature value falls within the operating temperature range, step S140 is performed. If the current temperature value does not fall within the operating temperature range, the process flow of the method will go to step S135. In step S135, the access speed threshold V.sub.ioth is set to a maximum access speed allowable outside the operating temperature range, which must be less than the maximum access speed normally allowed for the memory module 10. After that, for example, step S300 is performed, and then the temperature of the memory is monitored by way of steps S100, S110 and so on.
[0057] As shown in step S140, it is determined whether the current temperature value T.sub.now is greater than the target temperature value T.sub.target and whether the current temperature value T.sub.now is greater than the previously measured temperature value T.sub.prv. If the determination result in step S140 is affirmative, it indicates that the measurement of the current temperature value T.sub.now is accurate and the access speed threshold V.sub.ioth needs to be reduced, and thus step S200 will be performed to calculate the new access speed threshold V.sub.ioth. If the determination result in step S140 is negative, step S150 is performed.
[0058] As shown in step S150, it is determined whether the current temperature value T.sub.now is less than the target temperature value T.sub.target and whether the current temperature value T.sub.now is less than the previously measured temperature value T.sub.prv. If the determination result in step S150 is affirmative, it indicates that the measurement of the current temperature value T.sub.now is accurate and the access speed threshold V.sub.ioth needs to be increased, and thus step S200 will be performed to calculate the new access speed threshold V.sub.ioth. If the determination result in step S150 is negative, it indicates that the measurement of the current temperature value T.sub.now may be inaccurate or another situation has occurred, and thus optionally the other steps or operations will be performed, for example, and then the temperature of the memory is monitored by way of steps S100, S110 and so on.
[0059] As shown in step S200 (for example, based on step S20 of
[0060] As shown in step S300 (for example, based on step S30 of
[0061] Referring to
[0062] The memory 1100 comprises a plurality of memory chips 1110. For example, the memory chips 1110 are flash memory, such as NOR flash and NAND flash. However, the implementation of the present disclosure is not limited thereto.
[0063] The temperature sensor 1030 is, for example, a semiconductor component or thermosensitive electronic component capable of temperature sensing. The temperature sensor 1030 is disposed on the memory module 1000 and electrically coupled to the controller 1500. The temperature sensor 1030 senses the temperature of the memory module 1000 or the memory 1100 so as to send a sensing signal to the controller 1500.
[0064] The controller 1500 comprises a processor 1510, a flash control circuit 1530 and a buffer management circuit 1520.
[0065] The memory device 1070 is, for example, ROM or flash memory and is configured to store system firmware of the memory module 1000. To implement the memory device 1070, for example, executable code for the method illustrated by
[0066] The memory module 1000 further comprises a host interface circuit 1090 for use between the memory module 1000 and the host 20. Furthermore, the memory module 1000 further comprises a buffering unit 1060 provided, for example, in the form of random access memory (RAM).
[0067] The controller 1500 communicates with the host 20 through the host interface circuit 1090 to receive a read request or write request from the host 20. The controller 1500 generates a read command or write command corresponding to the host's read request or the host's write request and sends the read command or write command to the flash control circuit 1530. The flash control circuit 1530 controls at least one memory chip. For instance, the flash control circuit 1530 sends a data read command to a specific memory chip and sends data thus read to the controller 1500, allowing the data thus read to be temporarily stored in the buffering unit 1060 through the buffer management circuit 1520. The controller 1500 sends to the host 20 the data requested by the host 20. For instance, the flash control circuit 1530 writes intended data into the memory chip according to the data write command. When the controller 1500 controls operations of the memory 1100, the buffering unit 1060 stores data to be used by the controller 1500 and the memory 1100, for example, data for use in various operations such as read operations, write operations, programmed operations and erase operations. However, the implementation of the present disclosure is not limited thereto. For instance, the controller 1500 or the flash control circuit 1530 can be implemented by using a processor, logical circuit or programmable circuit.
[0068] The host interface circuit 1090 processes commands and data provided by the host 20 and communicates with the host 20 through at least one of the following interface protocols: Universal Serial Bus (USB), MultiMedia Card (MMC), Peripheral Component Interconnect Express (PCI-E), Serial Attached SCSI (SAS), Serial Advanced Technology Attachment (SATA), Parallel Advanced Technology Attachment (PATA), Small Computer System Interface (SCSI), Enhanced Small Disk Interface (ESDI), Integrated Drive Electronics (IDE), Advanced Host Controller Interface (AHCI), and Non-Volatile Memory express (NVMe).
[0069] The memory module 1000 is for implementing the method illustrated by
[0070] Furthermore, in the embodiments of the memory module, the controller (shown in
[0071] Therefore, the present disclosure provides embodiments of a memory access speed adjustment technology and a controller for use in controlling memory and performs thermal throttling according to a continuous variation relation with respect to the difference between the current temperature value and target temperature value as well as an access speed threshold, so as for the thermal throttling thus performed to be distinguished from the conventional multi-stage thermal throttling. With the technology being applied to a controller of a memory, the thermal throttling thus performed is conducive to steady variation of the corresponding access speed, appropriate adjustment of the access speed, and improvement of user experience at the user end, for example, reduction or prevention of delays or jerks which may otherwise happen to video data displayed at the user end.
[0072] The present disclosure is disclosed above by preferred embodiments. However, persons skilled in the art should understand that the preferred embodiments are illustrative of the present disclosure only, but shall not be interpreted as restrictive of the scope of the present disclosure. Hence, all equivalent modifications and replacements made to the aforesaid embodiments shall fall within the scope of the present disclosure. Accordingly, the legal protection for the present disclosure shall be defined by the appended claims.