Adaptive throttling
阅读说明:本技术 自适应节流 (Adaptive throttling ) 是由 S·D·巴赫拉特 A·P·库尔卡尼 于 2018-06-12 设计创作,主要内容包括:本发明涉及一种设备,其可包含第一自适应滤波器、第二自适应滤波器和第三自适应滤波器。所述第一自适应滤波器可经配置以基于来自传感器的信号的量值确定与控制量度相关的控制信号的估计量值,其中所述信号指示存储器系统的操作温度。所述第二自适应滤波器可经配置以基于所述控制信号的量值确定估计的操作温度。所述滤波器可经配置以基于来自所述传感器的所述信号的所述量值与阈值操作温度之间的差确定所述控制信号的改变量值。所述第三自适应滤波器可经配置以基于所述控制信号的改变量值确定施加所述控制信号的节流速率。(The apparatus may include a adaptive filter, a second adaptive filter, and a third adaptive filter, the adaptive filter may be configured to determine an estimated magnitude of a control signal related to a control metric based on a magnitude of a signal from a sensor, wherein the signal is indicative of an operating temperature of a memory system, the second adaptive filter may be configured to determine an estimated operating temperature based on the magnitude of the control signal, the filter may be configured to determine a change amount value of the control signal based on a difference between the magnitude of the signal from the sensor and a threshold operating temperature.)
An apparatus of the type , comprising:
an adaptive filter configured to determine an estimated magnitude of a control signal related to a control metric based on a magnitude of a signal from a sensor, wherein the signal from the sensor is indicative of an operating temperature of a memory system;
a second adaptive filter configured to determine an estimated operating temperature based on a magnitude of the control signal;
a filter configured to determine a change amount value of the control signal based on a difference between the magnitude of the signal from the sensor and a threshold operating temperature; and
a third adaptive filter configured to determine a throttle rate at which to apply the control signal based on the amount of change of the control signal,
wherein the th adaptive filter, the second adaptive filter, and the third adaptive filter are configured to use the same adaptive algorithm.
2. The apparatus of claim 1, wherein the adaptive filter is further configured to determine the estimated magnitude of the control signal based on a difference between the estimated magnitude of the control signal and the magnitude of the control signal.
3. The apparatus of claim 1, wherein the second adaptive filter is further configured to determine the estimated operating temperature based on a difference between the magnitude of the signal from the sensor and the estimated operating temperature.
4. The apparatus of claim 1, wherein the third adaptive filter is further configured to determine the throttle rate based on the magnitude of the control signal.
5. The apparatus according to claim 1, wherein said -th adaptive filter, said second adaptive filter, and said third adaptive filter are configured to apply weights that are related to the control measure.
6. The apparatus according to claim 1, wherein said -th adaptive filter, said second adaptive filter, and said third adaptive filter are configured to update weights used in the adaptive algorithm.
7. The apparatus according to claim 1, wherein said -th adaptive filter, said second adaptive filter, and said third adaptive filter are configured to accumulate weights for use in the adaptive algorithm.
8. The apparatus according to claim 1, wherein the -th adaptive filter, the second adaptive filter, and the third adaptive filter are each Finite Impulse Response (FIR) filters.
9. The apparatus of claim 1, wherein the th filter, the second filter, and the third filter are first configured to apply a th plurality of weights associated with a th performance mode, and
wherein the th filter, the second filter, and the third filter are configured to apply a second plurality of weights associated with a second performance mode during continuous operation within the memory system.
10. The apparatus of any of claims 1-9, wherein the filter is further -step configured to determine the change value of the control signal based on weights used by the -th adaptive filter to determine the estimated magnitude of the control signal.
11. The apparatus of any of claims 1-9, , further comprising a control mechanism configured to:
applying said control signal to said control metric at said throttle rate;
controlling the hysteresis phenomenon; and
preventing an abrupt switch from an th performance mode that includes a throttling of the control signal and a second performance mode that does not include a throttling of the control signal.
12. The apparatus of any one of claims 1-9, , wherein the adaptive filter is coupled to the filter,
wherein the filter is coupled to the third adaptive filter, an
Wherein the third adaptive filter is coupled to the second adaptive filter.
A method of operating a memory device of , comprising:
obtaining weights from a cross-correlation matrix corresponding to the performance modes;
adapting a transfer function between a magnitude of a control signal associated with a particular control metric and an estimated operating temperature of a Solid State Drive (SSD);
adapting a transfer function between a measured operating temperature of the SSD and an estimated magnitude of the control signal;
determining a change amount value for the control signal based on a difference between the measured operating temperature and a threshold operating temperature; and
throttling the change value of the control signal as the control signal is applied to the SSD.
14. The method of claim 13, further comprising:
applying the weights from the cross-correlation matrix to a plurality of signals from a plurality of sensors, wherein each signal from each of the plurality of sensors indicates an operating temperature of the SSD, and
selecting a signal from of the plurality of sensors based on the application of the weight, wherein a magnitude of the signal is related to the measured operating temperature.
15. The method of claim 14, wherein selecting the signal comprises determining that of the plurality of sensors correspond to a control metric that affects the temperature of the SSD, wherein the plurality of sensors comprises a plurality of types of sensors.
16. The method of claim 14, wherein selecting the signal comprises determining a time delay between changes in the signal in response to changes in the control signal.
17. The method of any of claims 13-16, wherein:
applying the weights from the cross-correlation matrix to a plurality of signals from a plurality of sensors, wherein each signal from each of the plurality of sensors indicates an operating temperature of the SSD, and
generating a weighted sum of signals from the plurality of sensors, wherein a magnitude of the weighted sum is related to the measured operating temperature.
18. The method of any one of claims 13-16, , further step comprising determining the particular control metric based on the performance mode.
19, a non-transitory computer readable medium storing instructions executable by a processing resource to:
identifying a signal from a sensor that is responsive to a change in a control signal associated with the control metric;
determining a time delay between a change in the signal and the change in the control signal;
determining an estimated operating temperature based on a magnitude of the control signal;
determining an estimate value for the control signal based on the signal;
determining a change amount value of the control signal; and
throttling the change value of the control signal based on a bandwidth associated with a performance mode.
20. The medium of claim 19, further comprising instructions to:
determining the estimated magnitude of the control signal based on a weighted sum of a plurality of signals from a plurality of sensors including the signal; and
changing from the control metric to another control metric in response to changing from the performance mode to a different performance mode during continuous operation of the memory.
Technical Field
The present disclosure relates generally to semiconductor memories and methods, and more specifically to adaptive control systems.
Background
Memory devices are typically provided as internal semiconductor integrated circuits and/or externally removable devices in computers or other electronic devices. There are many different types of memory, including volatile and non-volatile memory. Volatile memory may require power to maintain its data and may include Random Access Memory (RAM), Dynamic Random Access Memory (DRAM), Static Random Access Memory (SRAM), Synchronous Dynamic Random Access Memory (SDRAM), and the like. Non-volatile memory may hold stored data when not powered and may include NAND flash memory, NOR flash memory, Phase Change Random Access Memory (PCRAM), Resistive Random Access Memory (RRAM), and Magnetic Random Access Memory (MRAM), among others.
Memory devices may be combined to form a Solid State Drive (SSD). SSDs may include non-volatile memory (e.g., NAND flash memory and NOR flash memory) and/or may include various other types of non-volatile and volatile memory, such as volatile memory (e.g., DRAM and/or SRAM). flash memory devices may include memory cells that store data in a charge storage structure (e.g., floating gate) and may be used as non-volatile memory for -wide range electronic applications.
An SSD may be used to replace hard disk drives as the primary storage volume of a computer because solid state drives may be superior to hard disk drives in terms of performance, size, weight, durability, operating temperature range, and power consumption. For example, when compared to a disk drive, an SSD may have better performance due to its lack of moving parts, which may avoid seek time, latency, and other electromechanical delays associated with the disk drive.
Memory cells in an array architecture can be programmed to a target (e.g., intended) state. For example, charge can be placed on or from a charge storage structure (e.g., floating gate) of a memory cellThe structure is removed to program the cell to a particular data state. The stored charge on the charge storage structure of a memory cell may be indicative of the threshold voltage (V) of the cellt) And may be determined by sensing the stored charge (e.g., V) of the cellt) The state of the cell is determined.
For example, Single Level Cells (SLCs) may be programmed to target states of two different data states, which may be represented by
Drawings
FIG. 1 is a functional block diagram of an apparatus in the form of a computing system including a memory system according to several embodiments of the present invention.
Fig. 2 illustrates a block diagram of an adaptive control architecture in accordance with several embodiments of the present invention.
Fig. 3 illustrates a sensor network that may be coupled to a controller, according to several embodiments of the invention.
Fig. 4 illustrates an inverse adaptive filter of an adaptive control architecture according to several embodiments of the present invention.
Fig. 5 illustrates portions of an adaptive control architecture according to several embodiments of the present invention.
Fig. 6 illustrates portions of an adaptive control architecture in accordance with several embodiments of the present invention.
Fig. 7 illustrates a forward adaptive filter of an adaptive control architecture according to several embodiments of the present invention.
FIG. 8 illustrates graphical performance comparisons of previous methods and adaptive control architectures according to several embodiments of the present invention.
FIG. 9 illustrates simulation results from a controller according to several embodiments of the invention.
Detailed Description
An apparatus and method for adaptive throttling are provided. Memory systems (e.g., SSDs) may be used in data centers and enterprises. SSDs can be subjected to heavy workloads, which can increase the operating temperature of the SSD beyond the thermal throttling limits. Over-control (e.g., over-throttling) may result in reduced performance of the SSD, while under-control (e.g., under-throttling) may increase power consumption for system-level cooling. For example, consider an SSD with an operating temperature of 70 ℃. Assume that the threshold operating temperature is 60 ℃. Excessive thermal throttling may reduce the operating temperature from 70 ℃ to 55 ℃. Because the operating temperature will be 5 ℃ below the threshold operating temperature, the SSD may have lower performance associated with changing the operating temperature to 55 ℃ compared to the performance of the SSD associated with the threshold operating temperature of 60 ℃. In contrast, under-heating throttling can reduce the operating temperature from only 70 ℃ to 65 ℃. Because the operating temperature will be 5 ℃ higher than the threshold operating temperature, the system-level cooling system may consume more power in order to cool an SSD operating at a temperature 5 degrees higher than the threshold operating temperature. It may be advantageous to have a memory system (e.g., SSD) that can be precisely controlled (e.g., precisely throttled).
In contrast, workload requirements and/or performance modes associated with high performance or time critical applications may require a high performance SSD at the expense of a higher operating temperature.SSDs may include a plurality of sensors that may measure and/or indicate the operating temperature of the SSD.
In some previous methods, time and resources may be spent adjusting and optimizing the throttle control algorithm of the SSD to meet only sets of requirements.
An interface (e.g., peripheral component interconnect express (PCIe) or non-volatile memory express (NVMe)) may enable an SSD to be placed close to a Central Processing Unit (CPU). this may be beneficial to the physical link layer by reducing transaction overhead.because an SSD may have a bandwidth ten to hundred times greater than that of a hard disk drive (HHD), an SSD may handle workload demands related to multiple applications.
In contrast to , which is a reversible forward adaptive filter (e.g., a feedforward estimator), at least embodiments include a backward adaptive filter that is separate and distinct from the forward adaptive filter.
At least embodiments may include thermal throttling capabilities that may be used with multiple performance modes by adapting the algorithm to the requirements of the current one of the multiple performance modes at least embodiments may achieve an optimal level of performance at any ambient operating conditions and/or workload requirements without manual adjustment in some previous methods the performance of the memory system may be sub-optimal if the thermal throttling algorithm is not properly adjusted at least embodiments may implement a single adaptive algorithm in each adaptive filter at least embodiments may implement a plurality of control metrics.
As used herein, "operating temperature" refers to the temperature at which a memory or memory system of the memory or memory system is operated.
Additionally, the indicators "N", "B", "R", and "S" as used herein (particularly with respect to the element symbols in the figures) indicate that a number of particular features so specified may be included within a number of embodiments of the present invention.
The figures herein follow a numbering convention in which the th or first few digits correspond to the figure number and the remaining digits identify an element or component in the figure similar elements or components between different figures may be identified by using similar digits.e.234 may refer to element "34" in FIG. 2 and similar elements may be referred to in FIG. 7 as 734. similar elements within the figures may be referred to with hyphens and additional numbers or letters.e.g., see elements 350-1, 350-2, 350-3, 350-4 and 350-5 in FIG. 3. such similar elements may be referred to generally without hyphens and additional numbers or letters.e.g., elements 350-1, 350-2, 350-3, 350-4 and 350-5 may be referred to generally as 350.
As used herein, an "apparatus" may refer to, but is not limited to, any of various structures or combinations of structures, such as a circuit or circuits, a die or dies, a module or modules, a device or devices or systems, according to several embodiments of the invention.
The
Memory devices 110-1, 110-2, … 110-N may include, for example, several non-volatile memory arrays (e.g., arrays of non-volatile memory cells). For example, memory devices 110-1, 110-2, … 110-N may include several memory arrays.
In some embodiments, the memory devices 110-1, 110-2, …, 110-N may include an array of a number of memory cells (e.g., non-volatile memory cells). The array may be, for example, a flash memory array having a NAND architecture, however, embodiments are not limited to a particular type of memory array or array architecture. As described above in connection with FIG. 1, the memory cells may be, for example, grouped into blocks including physical pages of memory cells.
In operation, data may be written to and/or read from a memory device of a memory system (e.g., memory devices 110-1, 110-2 … -N of memory system 104), for example, as pages of data.
The
The
The embodiment illustrated in fig. 1 may include additional circuits, logic, and/or components that have not been illustrated so as not to obscure the embodiments of the invention. For example, the
Fig. 2 illustrates a block diagram 230 of an adaptive control architecture according to several embodiments of the invention the adaptive control architecture illustrated in fig. 2 may be implemented in the
For example, as discussed in further detail below in connection with FIG. 3 at , the
The inverse
The
The adaptive control architecture illustrated by
As shown in
FIG. 3 illustrates a
The sensors 350 may be weighted based on the correlation of the sensors with adjusting the operating temperature of the memory device or memory system. For example, a sensor that directly measures the operating temperature of a memory system may be more relevant to achieving and/or maintaining a threshold operating temperature than, for example, a fan speed sensor. The weights from the cross-correlation matrix may ensure that the signal from a particular sensor is responsive to changes in the control signal that are related to the control metric. For example, as discussed above, a signal from a fan speed sensor of the host may indicate an operating temperature of the memory system. Thus, the fan speed may be controlled to affect the operating temperature of the memory system. However, the signals from the sensors that determine the operating temperature of the host's Graphics Processing Unit (GPU) may not respond to changes in the control signals.
The weights from the cross-correlation matrix may be used to determine a signal (e.g., signal W) from the sensor in response to changes in the correlation control signal1) Time delay between changes in. For example, the control metric may be a number of activity traces of the memory system. If the number of activity traces increases from ten to twelve activity traces, the number of activity traces is changed from ten to twelve times the time between the change in the signal from the sensor (e.g., the measured operating temperature).
Fig. 4 illustrates an inverse
The inverse
The following pseudo-code is an example of an adaptive algorithm that may be used by the inverse adaptive filter 436:
the above pseudo-code defines the LMS adaptation algorithm. The inputs to the adaptive algorithm are the time delay (line delay), the result of the transfer function between the signal from the sensor and the control signal (y), the weight(s) of the filter (wt), the output of the filter (Pred), the difference between the output of the filter and the expected output of the filter (Err), the expected output of the filter (un) and the input to the filter (rd). The weights may correspond to control metrics and/or performance modes. The filter adaptation rate may vary depending on the input (rd) to the filter. The filter adaptation rate controls how fast or how slow the adaptation takes place. The smaller the filter adaptation rate, the slower the adaptation. The filter adaptation rate can be controlled independently rather than varying depending on the input (rd) to the filter.
The adaptive algorithm may be used with weights associated with a plurality of performance modes during ongoing operation of the memory system.
At least embodiments can implement multiple PID algorithms, as opposed to some previous methods (e.g., PID filters). The multiple PID algorithms can be adjusted manually so that they perform adequately in various operating conditions.
For example, assume that the control metric is the number of activity trails. The adaptive algorithm pseudo-code described above may be invoked by the inverse
AdaptiveLms(active_inverse,y_inv,wti,ssdInversePred,ssdInverseErr,temp,adie)
the estimated number of active traces (y _ inv + active _ invert [ idx ]. wti [ idx ] and ssdlnverse pred.apend (y _ inv)) may be determined based on a time delay (active _ invert) and a weight (wti) (which is initialized to ). the time delay and weight may be accumulated to produce an output of the adaptive algorithm (ssdlnverser). the difference (ssdlnverser) may be fed back to the inverse
The portion of the adaptive control architecture illustrated in FIG. 5 shows how the inverse
The following pseudo-code may be used by filter 537:
the inputs to the adaptive algorithm are the difference between the signal from the sensor network (e.g., the measured operating temperature) and the threshold operating temperature (error _ signal), the result (y) of the
if len(ssdInversePred)>0:
error_signal.append(ssdInversePred[-1]-50)
AdaptiveControl(error_signal,y_cont,wti,Control)
the weights (wti) used by the inverse adaptive filter may be used by the
The measured operating temperature represented by
Fig. 6 illustrates portions of an adaptive control architecture in accordance with several embodiments of the present invention. Fig. 6 shows a plurality of performance modes represented by line 672, which may be similar to the plurality of performance modes represented by
The memory system may be controlled by a host such as a flash memory system, such as a flash memory system, a system.
The adaptive filter 670 may be a FIR filter. The adaptive filter 670 may use an LMS algorithm or an NLMS algorithm. The adaptive filter 670 may determine a throttle rate that applies the change amount value of the control signal based on the performance mode. The adaptive filter 670 may estimate the impact of the changing amount of the control signal on the performance of the memory system. The adaptive filter 670 may implement the same adaptive algorithm as the backward adaptive filter and the forward adaptive filter. For example, adaptive filter 670 may implement an adaptive algorithm defined by the pseudo-code described above in association with fig. 4.
The magnitude of the change in the control signal from
Fig. 7 illustrates a forward adaptive filter 734 of an adaptive control architecture in accordance with several embodiments of the present invention. The forward adaptive filter 734 may be similar to the forward
Because the inverse adaptive filter may use the same time delay as the forward adaptive filter 734, the forward adaptive filter 734 need not be inverted. While the reverse adaptive filter may determine that the amount of change in the control signal achieves an operating temperature that is less than or equal to the threshold operating temperature, the forward adaptive filter 734 may verify that the amount of change in the control signal causes the operating temperature to be less than or equal to the threshold operating temperature.
The forward adaptive filter 734 may be a FIR filter. The forward adaptive filter 734 may use an LMS algorithm or an NLMS algorithm. The forward adaptive filter 734 may use the time delay found by applying the weights from the cross-correlation matrix to the sensor network described above in association with the
As used herein, "sampling rate" refers to the time interval between receiving signals from the sensor network (e.g., the time interval between operating temperature measurements),. the number of taps of the forward adaptive filter 734 may be tuned.
Forward adaptive filter 734 may implement the same adaptive algorithm as reverse
AdaptiveLms(activ_delay,y_act,wta,ssdActivePred,ssdActiveErr,adie,temp)
based on the time delay (activ _ delay) and the weight (wta), which is initialized to , estimated operating temperatures (y _ act + activ _ delay [ idx ] & wta [ idx ] and ssdactive pred.applied (y _ act)) may be determined, the time delay and weight may be accumulated to produce an output of the adaptive algorithm (ssdactive pred). a difference (ssdactiveer) may be fed back to the forward adaptive filter 734. each weight may be updated with a multiplication of the difference between the measured operating temperature (temp) and the estimated operating temperature (y _ act) from the summing node 756 and the number of activity trails (adie).
FIG. 8 illustrates graphical performance comparisons of previous methods and adaptive control architectures according to several embodiments of the present invention the horizontal axis of the graph illustrated in FIG. 8 is time and the vertical axis is bandwidth of a memory system (e.g.,
At time t1The performance mode changes, resulting in a change in the threshold operating temperature. The performance mode is changed from the initial performance mode to a performance mode associated with reduced power consumption (e.g., a low power consumption mode). In the example of fig. 8, the control metric is the number of activity traces. To reduce the operating temperature to less than or equal to the threshold operating temperature associated with the low power mode, the number of activity traces is reduced. Reducing the number of activity traces reduces the bandwidth of the memory system.
At time t1Line 880 starts from bandwidth b as the number of activity traces decreases0And (4) descending. Bandwidth b0May be a steady state bandwidth associated with the initial performance mode. Time t1Shortly thereafter,
At time t1Line 882 begins to ramp from bandwidth b as the number of activity traces decreases0And (4) descending. Time t1Shortly thereafter, line 882 has a bandwidth b2A steady state is reached. Bandwidth b2Greater than the steady state bandwidth b achieved by prior methods1Accurately controlling the number of activity tracks such that the operating temperature is less than or equal to the threshold operating temperature without sacrificing additional bandwidth (bandwidth b)2And bandwidth b1The difference therebetween). The bandwidth of the memory system may indicate the power consumption of the memory system. Thus, compared to the bandwidth b1Greater bandwidth b2Meaning that at least embodiments may allow the memory system to operate at higher powerOperating at a drain rate while maintaining the operating temperature less than or equal to the threshold operating temperature.
At time t2The performance mode change is changed from the low power consumption mode to the initial performance mode. From time t2To time t4Line 882 slave bandwidth b as the number of activity traces increases2Up to bandwidth b0Note that the slave performance mode is at time t, compared to some previous approaches2There is little or no delay in the change and when the bandwidth begins to change rapidly, at least embodiments can reach bandwidth b in about -half of the time of prior methods0(comparison time t3And time t4) As used herein, "steady state error" refers to the difference between the input to the system (e.g., a control signal associated with a particular operating temperature) and the output of the system (e.g., a measured operating temperature).
FIG. 9 illustrates simulation results from an adaptive control architecture, according to several embodiments of the invention. Fig. 986, 988, and 990 illustrate errors from an adaptive algorithm according to several embodiments of the invention. In the example of fig. 986, the temperature signal from the sensor network is the input and the power is the output. In the example of fig. 988, the measured operating temperature is an input and the estimated operating temperature is an output. In the example of the
Figures 992, 994, and 996 illustrate control signals from an adaptive algorithm in accordance with several embodiments of the present invention. The adaptive algorithm is described above in association with fig. 4. The horizontal axis of figures 992, 994, and 996 is clock cycles. Figure 992 shows the estimated operating temperature and the number of activity tracks (the magnitude of the control signal) from a forward adaptive filter, such as the forward
Although specific embodiments have been illustrated and described herein, it will be appreciated by those of ordinary skill in the art that an arrangement calculated to achieve the same results can be substituted for the specific embodiments shown.
Thus, the following claims are hereby incorporated into the detailed description, with each claim standing on its own as a separate embodiment.
- 上一篇:一种医用注射器针头装配设备
- 下一篇:用于利用传热流体冷却航空机架的设备