Methods and systems to dynamically improve low task storage depth latency in a solid-state drive device
Systems and methods are provided for dynamically changing the operating clock frequency of a circuit. Control circuitry determines a first workload value for a circuit operating at a first clock frequency. Control circuitry then detect a second workload value for the circuit, which is less than the first workload value. When the control circuitry detects the second workload value, the control circuitry calculates a second clock frequency which is greater than the first clock frequency. The control circuitry then causes the circuit to operate at the second clock frequency.
1 . A method comprising:
determining, using control circuitry, a first workload value for a circuit operating at a first clock frequency based on an inverse relationship between all workload values and clock frequencies for the circuit;
detecting, using the control circuitry, that a workload of the circuit changes to a second workload value for the circuit, less than the first workload value;
calculating, using the control circuitry, a second clock frequency for the circuit based on the second workload value and on the inverse relationship by calculating the second clock frequency using a linear function for all workload values for the circuit based on the second workload value, wherein using the linear function is based on:
a minimum operational clock frequency of the circuit;
a maximum operational clock frequency of the circuit; and
a ratio of the second workload value to a maximum workload capacity of the circuit; and
causing, using the control circuitry, the circuit to operate at the second clock frequency.
2 . The method of claim 1 , wherein the circuit is one of a Solid State Drive (SSD) pipelined hardware accelerator or a network controller pipelined hardware accelerator.
3 . The method of claim 1 , wherein the first workload value and the second workload value measure a number of instructions scheduled for execution by the circuit.
4 . The method of claim 3 , wherein the instructions are stored in a task storage communicatively coupled to the circuit.
5 . The method of claim 1 , wherein the calculating the second clock frequency comprises:
comparing the second workload value to a reference workload value;
in response to determining that the second workload value is less than the reference workload value, selecting a third clock frequency as the second clock frequency; and
in response to determining that the second workload value is greater than the reference workload value, selecting a fourth clock frequency that is lower than the third clock frequency, as the second clock frequency.
6 . The method of claim 1 , wherein the calculating the second clock frequency comprises:
determining a range from a plurality of ranges of workload value values to which the second workload value corresponds, wherein each range of the plurality of ranges of workload value values corresponds to a respective clock frequency; and
selecting a clock frequency corresponding to the determined range as the second clock frequency.
7 . The method of claim 1 , further comprising:
determining a third workload value for the circuit operating at a third clock frequency based on the inverse relationship;
detecting that a workload of the circuit changes to a fourth workload value for the circuit greater than the third workload value;
calculating a fourth clock frequency for the circuit based on the fourth workload value and on the inverse relationship; and
causing the circuit to operate at the fourth clock frequency.
8 . The method of claim 1 , wherein causing the circuit to operate at the second clock frequency comprises coupling the circuit to a voltage rail of a plurality of voltage rails selected based on the second clock frequency.
9 . The method of claim 1 , wherein causing the circuit to operate at the second clock frequency comprises using a power management integrated circuit (PMIC), coupled to the circuit, to change a voltage of the circuit.
10 . A system comprising:
a circuit; and
a control circuitry, communicatively coupled to the circuit, the control circuitry to:
determine a first workload value for a circuit operating at a first clock frequency based on an inverse relationship between all workload values and clock frequencies for the circuit;
detect that a workload of the circuit changes to a second workload value for the circuit, less than the first workload value;
calculate a second clock frequency for the circuit based on the second workload value and on the inverse relationship by calculating the second clock frequency using a linear function for all workload values for the circuit based on the second workload value, wherein using the linear function is based on:
a minimum operational clock frequency of the circuit;
a maximum operational clock frequency of the circuit; and
a ratio of the second workload value to a maximum workload capacity of the circuit; and
cause the circuit to operate at the second clock frequency.
11 . The system of claim 10 , wherein the first workload value and the second workload value measure a number of instructions scheduled for execution by the circuit.
12 . The system of claim 11 , wherein the instructions are stored in a task storage communicatively coupled to the circuit.
13 . The system of claim 10 , wherein the control circuitry further determines the second clock frequency by:
comparing the second workload value to a reference workload value;
in response to the determination that the second workload value is less than the reference workload value, cause the circuit to operate at a third clock frequency; and
in response to the determination that the second workload value is greater than the reference workload value, cause the circuit to operate at a fourth clock frequency that is lower than the third clock frequency.
14 . The system of claim 10 , wherein the control circuitry is further to determine the second clock frequency by:
determining a range from a plurality of ranges of workload value values to which the second workload value corresponds, wherein each range of the plurality of ranges of workload value values corresponds to a respective clock frequency; and
selecting the clock frequency corresponding to the determined range as the second clock frequency.
15 . The system of claim 10 , wherein the control circuitry is further to cause the circuit to operate at the second clock frequency by coupling the circuit to a voltage rail of a plurality of voltage rails selected based on the second clock frequency.
16 . The system of claim 10 , wherein the control circuitry is further to cause the circuit to operate at the second clock frequency by using a power management integrated circuit (PMIC), coupled to the circuit, to change a voltage of the circuit.
17 . A solid state drive (SSD) storage system comprising:
an SSD pipelined accelerator;
a storage controller, communicatively coupled to the SSD pipelined accelerator, the storage controller to:
determine a first workload value for the SSD pipelined accelerator operating at a first clock frequency based on an inverse relationship between all workload values and clock frequencies for the SSD pipelined accelerator;
detect that a workload of the SSD pipelined accelerator changes to a second workload value for the SSD pipelined accelerator, less than the first workload value;
calculate a second clock frequency for the SSD pipelined accelerator based on the second workload value and on the inverse relationship by calculating the second clock frequency using a linear function for all workload values for the SSD pipelined accelerator based on the second workload value, wherein using the linear function is based on:
a minimum operational clock frequency of the SSD pipelined accelerator;
a maximum operational clock frequency of the SSD pipelined accelerator; and
a ratio of the second workload value to a maximum workload capacity of the SSD pipelined accelerator; and
cause the SSD pipelined accelerator to operate at the second clock frequency.
18 . A method, comprising:
determining, using control circuitry, a first workload value for a circuit operating at a first clock frequency based on an inverse relationship between all workload values and clock frequencies for the circuit;
detecting, using the control circuitry, that a workload of the circuit changes to a second workload value for the circuit, less than the first workload value, wherein each of the first workload value and the second workload value is indicative of a respective count of stored instructions in a task storage of the circuit;
calculating, using the control circuitry, a second clock frequency for the circuit based on the second workload value and on the inverse relationship; and
causing, using the control circuitry, the circuit to operate at the second clock frequency.
19 . A system, comprising:
a circuit, wherein the circuit comprises a task storage to store instructions; and
a control circuitry, communicatively coupled to the circuit, the control circuitry to:
determine a first workload value for a circuit operating at a first clock frequency based on an inverse relationship between all workload values and clock frequencies for the circuit;
detect that a workload of the circuit changes to a second workload value for the circuit, less than the first workload value, wherein each of the first workload value and the second workload value is indicative of a respective count of stored instructions in the task storage;
calculate a second clock frequency for the circuit based on the second workload value and on the inverse relationship; and
cause the circuit to operate at the second clock frequency.