Unified sequencer concurrency controller for a memory sub-system
A temperature value associated with a memory device is identified. A power limit for the memory device is determined based on the temperature value. A current power usage level of the memory device is determined. Responsive to determining that the current power usage level of the memory device does not satisfy the power limit, a power-limited mode for the memory device is determined to be entered.
1 . A system comprising:
a memory device; and
a processing device, operatively coupled with the memory device, to perform operations comprising:
identifying a temperature value associated with the memory device;
identifying a set of power consumption thresholds for the memory device, wherein each power consumption threshold in the set of power consumption thresholds corresponds to a respective range of temperature values of a plurality of ranges of temperature values;
selecting, based on the temperature value associated with the memory device, a power consumption threshold of the set of power consumption thresholds for the memory device;
determining a current power usage level of the memory device based on a weighted sum of numbers of partitions of the memory device executing respective types of commands, each number of partitions weighted by a respective command power usage value representing a power consumption associated with executing the respective type of command;
comparing the current power usage level to the power consumption threshold; and
responsive to determining, based on the comparison, that the current power usage level of the memory device exceeds the power consumption threshold, determining to enter a power-limited mode for the memory device.
2 . The system of claim 1 , wherein determining the current power usage level of the memory device comprises:
identifying a first number of partitions of the numbers of partitions of the memory device executing read commands, a second number of partitions of the numbers of partitions of the memory device executing write commands, a third number of partitions of the numbers of partitions of the memory device executing force write commands, and a fourth number of partitions of the numbers of partitions of the memory device executing refresh commands; and
wherein determining the current power usage level comprises adding a base power usage of the memory device to the first number of partitions weighted by a read command power usage value, the second number of partitions weighted by a write command power usage value, the third number of partitions weighted by a force write command power usage value, and the fourth number of partitions weighted by a refresh command power usage value.
3 . The system of claim 2 , wherein the base power usage of the memory device, the read command power usage value, the write command power usage value, the force write command power usage value, and the refresh command power usage value are predefined values based on the memory device.
4 . The system of claim 1 , wherein determining to enter the power-limited mode for the memory device comprises throttling input/output (I/O) throughput associated with the memory device.
5 . The system of claim 1 , wherein identifying the temperature value associated with the memory device comprises receiving a temperature reading from a thermal sensor connected to the memory device.
6 . The system of claim 1 , wherein the operations further comprise:
responsive to determining that the current power usage level of the memory device satisfies the power consumption threshold, identifying an input/output (I/O) command referencing the memory device;
estimating a power level associated with executing the I/O command; and
responsive to determining that the power level satisfies the power consumption threshold, executing the I/O command.
7 . The system of claim 1 , wherein the operations further comprise:
identifying an input/output (I/O) command referencing the memory device;
determining, prior to execution of the I/O command, a predicted power usage level of the memory device by combining the current power usage level with an additional power usage associated with execution of the I/O command;
comparing the predicted power usage level to the power consumption threshold; and
responsive to determining, based on the comparison, that the predicted power usage level of the memory device exceeds the power consumption threshold, determining to enter the power-limited mode for the memory device, wherein the power-limited mode comprises selectively inhibiting execution of the I/O command based on the comparison.
8 . A method comprising:
identifying a temperature value associated with a memory device;
identifying a set of power consumption thresholds for the memory device, wherein each power consumption threshold in the set of power consumption thresholds corresponds to a respective range of temperature values of a plurality of ranges of temperature values;
selecting, based on the temperature value associated with the memory device, a power consumption threshold of the set of power consumption thresholds for the memory device;
determining a current power usage level of the memory device based on a weighted sum of numbers of partitions of the memory device executing respective types of commands, each number of partitions weighted by a respective command power usage value representing a power consumption associated with executing the respective type of command;
comparing the current power usage level to the power consumption threshold; and
responsive to determining, based on the comparison, that the current power usage level of the memory device exceeds the power consumption threshold, determining to enter a power-limited mode for the memory device.
9 . The method of claim 8 , wherein determining the current power usage level of the memory device comprises:
identifying a first number of partitions of the numbers of partitions of the memory device executing read commands, a second number of partitions of the numbers of partitions of the memory device executing write commands, a third number of partitions of the numbers of partitions of the memory device executing force write commands, and a fourth number of partitions of the numbers of partitions of the memory device executing refresh commands; and
wherein determining the current power usage level comprises adding a base power usage of the memory device to the first number of partitions weighted by a read command power usage value, the second number of partitions weighted by a write command power usage value, the third number of partitions weighted by a force write command power usage value, and the fourth number of partitions weighted by a refresh command power usage value.
10 . The method of claim 9 , wherein the base power usage of the memory device, the read command power usage value, the write command power usage value, the force write command power usage value, and the refresh command power usage value are predefined values based on the memory device.
11 . The method of claim 8 , wherein determining to enter the power-limited mode for the memory device comprises throttling input/output (I/O) throughput associated with the memory device.
12 . The method of claim 8 , wherein identifying the temperature value associated with the memory device comprises receiving a temperature reading from a thermal sensor connected to the memory device.
13 . The method of claim 8 , further comprising:
responsive to determining that the current power usage level of the memory device satisfies the power consumption threshold, identifying an input/output (I/O) command referencing the memory device;
estimating a power level associated with executing the I/O command; and
responsive to determining that the power level satisfies the power consumption threshold, executing the I/O command.
14 . A non-transitory computer-readable storage medium comprising instructions that, when executed by a processing device, cause the processing device to perform operations comprising:
identifying a temperature value associated with a memory device;
identifying a set of power consumption thresholds for the memory device, wherein each power consumption threshold in the set of power consumption thresholds corresponds to a respective range of temperature values of a plurality of ranges of temperature values;
selecting, based on the temperature value associated with the memory device, a power consumption threshold of the set of power consumption thresholds for the memory device;
determining a current power usage level of the memory device based on a weighted sum of numbers of partitions of the memory device executing respective types of commands, each number of partitions weighted by a respective command power usage value representing a power consumption associated with executing the respective type of command;
comparing the current power usage level to the power consumption threshold; and
responsive to determining, based on the comparison, that the current power usage level of the memory device exceeds the power consumption threshold, determining to enter a power-limited mode for the memory device.
15 . The non-transitory computer-readable storage medium of claim 14 , wherein determining the current power usage level of the memory device comprises:
identifying a first number of partitions of the numbers of partitions of the memory device executing read commands, a second number of partitions of the numbers of partitions of the memory device executing write commands, a third number of partitions of the numbers of partitions of the memory device executing force write commands, and a fourth number of partitions of the numbers of partitions of the memory device executing refresh commands; and
wherein determining the current power usage level comprises adding a base power usage of the memory device to the first number of partitions weighted by a read command power usage value, the second number of partitions weighted by a write command power usage value, the third number of partitions weighted by a force write command power usage value, and the fourth number of partitions weighted by a refresh command power usage value.
16 . The non-transitory computer-readable storage medium of claim 15 , wherein the base power usage of the memory device, the read command power usage value, the write command power usage value, the force write command power usage value, and the refresh command power usage value are predefined values based on the memory device.
17 . The non-transitory computer-readable storage medium of claim 14 , wherein determining to enter the power-limited mode for the memory device comprises throttling input/output (I/O) throughput associated with the memory device.
18 . The non-transitory computer-readable storage medium of claim 17 , wherein identifying the temperature value associated with the memory device comprises receiving a temperature reading from a thermal sensor connected to the memory device.
19 . The non-transitory computer-readable storage medium of claim 18 , wherein the operations further comprise:
responsive to determining that the current power usage level of the memory device satisfies the power consumption threshold, identifying an input/output (I/O) command referencing the memory device;
estimating a power level associated with executing the I/O command; and
responsive to determining that the power level satisfies the power consumption threshold, executing the I/O command.
20 . The non-transitory computer-readable storage medium of claim 14 ,
wherein the operations further comprise:
identifying an input/output (I/O) command referencing the memory device;
determining, prior to execution of the I/O command, a predicted power usage level of the memory device by combining the current power usage level with an additional power usage associated with execution of the I/O command;
comparing the predicted power usage level to the power consumption threshold; and
responsive to determining, based on the comparison, that the predicted power usage level of the memory device exceeds the power consumption threshold, determining to enter the power-limited mode for the memory device, wherein the power-limited mode comprises selectively inhibiting execution of the I/O command based on the comparison.