Dynamic non-volatile memory operation scheduling for controlling power consumption of solid-state drives

US9977487B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9977487-B2
Application numberUS-201715615910-A
CountryUS
Kind codeB2
Filing dateJun 7, 2017
Priority dateSep 22, 2015
Publication dateMay 22, 2018
Grant dateMay 22, 2018

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

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.

First claim

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;

Assignees

Inventors

Classifications

  • G06F1/329Primary

    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

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9977487B2 cover?
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 estim…
Who is the assignee on this patent?
Samsung Electronics Co Ltd
What technology area does this patent fall under?
Primary CPC classification G06F1/329. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue May 22 2018 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 2 related publications on this page (citations in our corpus or others sharing the same primary CPC).