Method and System for Limiting Write Command Execution
First Claim
1. A method of operation in a non-volatile memory system having a set of non-volatile memory devices, comprising:
- accessing in a holding queue one or more host-specified write commands specified by a host system, each of the one or more host-specified write commands specifying a number of pages to be written to the set of non-volatile memory devices of the non-volatile memory system;
in accordance with a determination that throttling is enabled;
determining a limit number of pages for a current throttle period in accordance with a throttle rate, the throttle rate being a maximum write rate for executing host-specified write commands; and
during the current throttle period, moving from the holding queue to a pending queue, for execution by the set of non-volatile memory devices, host-specified write commands whose total specified number of pages does not exceed the limit number of pages.
3 Assignments
0 Petitions
Accused Products
Abstract
Methods, systems and/or devices are used for limiting write command execution in a storage device comprising a set of non-volatile memory devices. In one aspect, the method includes (1) accessing in a holding queue host-specified write commands specified by a host system, each of the host-specified write commands specifying a number of pages to be written to the set of non-volatile memory devices; (2) in accordance with a determination that throttling is enabled: (3) determining a limit number of pages for a current throttle period in accordance with a throttle rate, the throttle rate being a maximum write rate for executing host-specified write commands; and (4) during the current throttle period, moving from the holding queue to a pending queue, for execution by the set of non-volatile memory devices, host-specified write commands whose total specified number of pages does not exceed the limit number of pages.
-
Citations
24 Claims
-
1. A method of operation in a non-volatile memory system having a set of non-volatile memory devices, comprising:
-
accessing in a holding queue one or more host-specified write commands specified by a host system, each of the one or more host-specified write commands specifying a number of pages to be written to the set of non-volatile memory devices of the non-volatile memory system; in accordance with a determination that throttling is enabled; determining a limit number of pages for a current throttle period in accordance with a throttle rate, the throttle rate being a maximum write rate for executing host-specified write commands; and during the current throttle period, moving from the holding queue to a pending queue, for execution by the set of non-volatile memory devices, host-specified write commands whose total specified number of pages does not exceed the limit number of pages. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A non-volatile memory system, comprising:
-
a set of non-volatile memory devices; and a storage controller having one or more processors configured to execute instructions in one or more programs, wherein the storage controller is configured to perform operations comprising; accessing in a holding queue one or more host-specified write commands specified by a host system, each of the one or more host-specified write commands specifying a number of pages to be written to the set of non-volatile memory devices of the non-volatile memory system; in accordance with a determination that throttling is enabled; determining a limit number of pages for a current throttle period in accordance with a throttle rate, the throttle rate being a maximum write rate for executing host-specified write commands; and moving, during the current throttle period, from the holding queue to a pending queue, for execution by the set of non-volatile memory devices, host-specified write commands whose total specified number of pages does not exceed the limit number of pages. - View Dependent Claims (17, 18, 19, 20, 21, 22)
-
-
23. A non-transitory computer readable storage medium, storing one or more programs configured for execution by one or more processors of a non-volatile memory system, the one or more programs including instructions for performing operations comprising:
-
accessing in a holding queue one or more host-specified write commands specified by a host system, each of the one or more host-specified write commands specifying a number of pages to be written to the set of non-volatile memory devices of the non-volatile memory system; in accordance with a determination that throttling is enabled; determining a limit number of pages for a current throttle period in accordance with a throttle rate, the throttle rate being a maximum write rate for executing host-specified write commands; and moving, during the current throttle period, from the holding queue to a pending queue, for execution by the set of non-volatile memory devices, host-specified write commands whose total specified number of pages does not exceed the limit number of pages. - View Dependent Claims (24)
-
Specification