CREDIT BASED COMMAND SCHEDULING
First Claim
1. A memory system comprising:
- a memory controller having;
a bank command scheduler implemented in a hardware logic block, anda power budget controller including a budget register and a credit register;
a memory bank having an I/O bus; and
a channel connecting the I/O bus to the memory controller, the channel configured to transmit data between the memory bank and the memory controller and to transmit a command from the memory controller to the memory bank,wherein the hardware logic block is configured to;
determine a first command in a queue to be transmitted to the memory bank;
estimate a first power consumption value for the first command;
query the power budget controller to determine if the first power consumption value satisfies a threshold; and
if the first power consumption value satisfies the threshold;
transmit the first command to the memory bank over the channel; and
transmit a signal to the power budget controller indicating that the first command has been executed.
6 Assignments
0 Petitions
Accused Products
Abstract
A memory system includes a memory controller having a bank command scheduler implemented in a hardware logic block and a power budget controller including a power budget register and a credit register. The hardware logic block is able to determine a command in a queue to be transmitted to a memory bank over a channel, estimate a power consumption value for the command, and query the power budget controller to determine if the power consumption value is within a threshold. If the power consumption value is within the threshold, the hardware logic block receives a grant response from the power budget controller, adds the power consumption value to the credit register value, transmits the command over the channel, and transmits a signal to the power budget controller indicating that the command has been executed and that the power consumption value should be subtracted from the credit register value.
-
Citations
20 Claims
-
1. A memory system comprising:
-
a memory controller having; a bank command scheduler implemented in a hardware logic block, and a power budget controller including a budget register and a credit register; a memory bank having an I/O bus; and a channel connecting the I/O bus to the memory controller, the channel configured to transmit data between the memory bank and the memory controller and to transmit a command from the memory controller to the memory bank, wherein the hardware logic block is configured to; determine a first command in a queue to be transmitted to the memory bank; estimate a first power consumption value for the first command; query the power budget controller to determine if the first power consumption value satisfies a threshold; and if the first power consumption value satisfies the threshold; transmit the first command to the memory bank over the channel; and transmit a signal to the power budget controller indicating that the first command has been executed. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 15, 16, 17, 18, 19, 20)
-
-
14. A method of transmitting commands based on a power consumption budget, the method comprising:
-
selecting, by a hardware logic block, a first command to send to a NAND bank over a channel; selecting a first phase of the first command; estimating a first power consumption value of the first phase; comparing, at a power budget controller, the estimated first power consumption value to a difference between a value of a present power credit register and a value of a power budget register; if the estimated first power consumption value is less than the difference; adding the estimated first power consumption value to the value of the present power credit register; transmitting the first phase of the first command to the NAND bank over the channel; and subtracting, after the first phase of the first command has executed, the estimated first power consumption value from the value of the present power credit register.
-
Specification