CPC G06F 1/206 (2013.01) [G06F 3/0604 (2013.01); G06F 3/0613 (2013.01); G06F 3/0653 (2013.01); G06F 3/0659 (2013.01); G06F 3/0679 (2013.01)] | 17 Claims |
10. A method comprising:
performing the following in a storage system:
taking samples of temperatures of a memory over a rolling window;
dynamically changing, based on a temperature of the memory, a length of the rolling window, a frequency of temperature sampling of the memory in the rolling window, and a movement of the rolling window over time;
generating estimated future temperature curves from the samples of temperatures of the memory;
determining memory throttling delays to apply based on each estimated future temperature curve; and
reducing a number of program command sequences sent to the memory and a number of program operations performed by the memory by dynamically applying the memory throttling delays based on each estimated future temperature curve, wherein each estimated future temperature curve is associated with a relationship between performance and saturation temperature, which is used to determine the memory throttling delays.
|