Dynamic non-volatile memory operation scheduling for controlling power consumption of solid-state drives
US-9711232-B2 · Jul 18, 2017 · US
US9977487B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9977487-B2 |
| Application number | US-201715615910-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jun 7, 2017 |
| Priority date | Sep 22, 2015 |
| Publication date | May 22, 2018 |
| Grant date | May 22, 2018 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
A memory device and a method for rescheduling memory operations is disclosed. The method includes receiving memory operations for memory arrays of a memory device; storing the memory operations in queues associated with the memory array; estimating power consumption for each of the memory operations queued in the queues based on a power model; determining that a memory operation causes an estimated power consumption of the memory device to be exceeded over an allowable power budget within a first time window; determining a candidate memory operation in the queues that is scheduled to operate in a second time window after the first time window, wherein the candidate memory operation has less power consumption than the memory operation according to the power model; and dynamically reordering the memory operations in the queues and generating rescheduled memory operations by reordering the memory operation out of the first time window and reordering the candidate memory operation into the first time window.
Opening claim text (preview).
What is claimed is: 1. A method comprising: receiving a plurality of memory operations for one or more memory arrays of a memory device via a memory channel; storing the plurality of memory operations in one or more queues associated with the memory arrays; estimating power consumption for each of the plurality of memory operations queued in the one or more queues based on a power model; determining that at least one memory operation causes an estimated power consumption of the memory device to be exceeded over an allowable power budget within a first time window; determining one or more candidate memory operations in the one or more queues that are scheduled to operate in a second time window after the first time window, wherein the one or more candidate memory operations have less power consumption than the at least one memory operation according to the power model; dynamically reordering the plurality of memory operations in the one or more queues and generating rescheduled memory operations by reordering the at least one memory operation out of the first time window and reordering the one or more candidate memory operations into the first time window; and fetching the rescheduled memory operations to the one or more memory arrays. 2. The method of claim 1 further comprising: receiving a temperature reading from a thermal sensor associated with the one or more memory arrays; and determining that at least one memory operation causes a temperature of the memory device to be exceeded over an allowable temperature within the first time window based on the estimated power consumption of the at least one memory operation. 3. The method of claim 1 , further comprising: calculating the estimated power consumption for each of the plurality of memory operations based on at least one parameter associated with a physical attribute of the one or more memory arrays. 4. The method of claim 3 , wherein each of the at least one parameter is given a weight to estimate the power consumption. 5. The method of claim 4 , wherein the at least one parameter includes one or more of a set comprising: a channel identity, a die identity, a plane identity, a block size, a page size, and a NAND type of the memory device. 6. The method of claim 1 , further comprising: recording an actual power consumption; comparing the actual power consumption with the estimated power consumption; and updating the power model based on a comparison result of the actual power consumption against the estimated power consumption. 7. A method comprising: receiving a plurality of memory operations for one or more memory arrays of a memory device via a memory channel; storing the plurality of memory operations in one or more queues associated with the memory arrays; grouping the plurality of memory operations in a plurality of groups of memory operations; estimating power consumption for each of the plurality of groups of memory operations; determining that a first group of memory operations causes an estimated power consumption of the memory device to be exceeded over an allowable power budget within a first time window; determining a second group of memory operations that are scheduled to operate in a subsequent time window after the first time window, wherein the second group of memory operations have less power consumption than the first group of memory operations; and dynamically reordering the groups of memory operations in one or more queues and generating rescheduled memory operations by reordering the first group of memory operation out of the first time window and reordering the second group of memory operations into the first time window. 8. The method of claim 1 , wherein the memory device is a non-volatile dual in-line memory module (NVDIMM) including a DRAM and one or more NAND arrays. 9. The method of claim 8 , wherein the NVDIMM has one or more chips corresponding one or more NAND arrays, and a power model corresponding to each of one or more chips is used for estimating the power consumption. 10. The method of claim 1 , wherein the memory device includes a cache, and the plurality of memory operations corresponds to memory operations affecting the cache. 11. The method of claim 10 , wherein a cache policy is switched depending on the power consumption. 12. A memory device comprising: one or more memory arrays; a memory channel configured to receive a plurality of memory operations for the one or more memory arrays from a host computer; one or more queues configured to store the memory operations; and a scheduler configured to: store the plurality of memory operations in one or more queues associated with the one or more memory arrays; estimate power consumption for each of the plurality of memory operations queued in the one or more queues based on a power model; determine that at least one memory operation causes an estimated power consumption of the memory device to be exceeded over an allowable power budget within a first time window; determine one or more candidate memory operations in the one or more queues that are scheduled to operate in a second time window after the first time window, wherein the one or more candidate memory operations have less power consumption than the at least one memory operation according to the power model; dynamically reorder the plurality of memory operations in the one or more queues and generating rescheduled memory operations by reordering the at least one memory operation out of the first time window and reordering the one or more candidate memory operations into the first time window; and fetch the rescheduled memory operations to the one or more memory arrays. 13. The memory device of claim 11 , wherein the scheduler is further configured to: receive a temperature reading from a thermal sensor associated with the one or more memory arrays; and determine that at least one memory operation causes a temperature of the memory device to be exceeded over an allowable temperature within the first time window based on the estimated power consumption of the at least one memory operation. 14. The memory device of claim 12 , wherein the scheduler is further configured to: calculate the estimated power consumption for each of the plurality of memory operations based on at least one parameter associated with a physical attribute of the one or more memory arrays. 15. The memory device of claim 14 , wherein each of the at least one parameter is given a weight to estimate the power consumption. 16. The memory device of claim 15 , wherein the at least one parameter includes one or more of a set comprising: a channel identity, a die identity, a plane identity, a block size, a page size, and a NAND type of the memory device. 17. The memory device of claim 12 , wherein the scheduler is further configured to: record an actual power consumption; compare the actual power consumption with the estimated power consumption; and update the power model based on a comparison result of the actual power consumption against the estimated power consumption. 18. A memory device comprising: one or more memory arrays; a memory channel configured to receive a plurality of memory operations for the one or more memory arrays from a host computer; one or more queues configured to store the memory operations; and a scheduler configured to: store the plurality of memory operations in one or more queues associated with the one or more memory arrays; group the plurality of memory operations in a plurality of groups of memory operations;
by task scheduling · CPC title
Message passing systems or structures, e.g. queues · CPC title
comprising thermal management · CPC title
Power saving in memory, e.g. RAM, cache · CPC title
Non-volatile semiconductor memory arrays · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.