Dynamic processing of storage command based on internal operations of storage system

US11733868B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11733868-B2
Application numberUS-202117382019-A
CountryUS
Kind codeB2
Filing dateJul 21, 2021
Priority dateJun 6, 2016
Publication dateAug 22, 2023
Grant dateAug 22, 2023

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.

Disclosed herein is a device and method for dynamically processing of a command within a storage system. This includes identifying a plurality of non-volatile memory storage locations of the storage system that have at least one operation parameter associated with the plurality of non-volatile memory storage locations. For each identified plurality of non-volatile memory storage locations, there is a determination whether a value of the at least one operation parameter exceeds a predetermined threshold value. That value is representative of operation effects of the storage system on a corresponding storage location of the identified plurality of non-volatile memory storage locations. During operation of the storage system, there is a throttling of execution of the command to access a storage location of the identified plurality of non-volatile memory storage locations that has the value determined to exceed the predetermined threshold value by a throttle amount determined to mitigate an effect of the value exceeding the predetermined threshold value.

First claim

Opening claim text (preview).

What is claimed is: 1. A method for dynamically optimizing processing of a command within a storage system, comprising: identifying a plurality of non-volatile memory storage locations of the storage system that have at least one operation parameter associated with the plurality of non-volatile memory storage locations; for each identified plurality of non-volatile memory storage locations, determining whether a value of the at least one operation parameter exceeds a predetermined threshold value, wherein the value is representative of operation effects of the storage system on a corresponding storage location of the identified plurality of non-volatile memory storage locations; during operation of the storage system, throttling execution of the command to access a storage location of the identified plurality of non-volatile memory storage locations that has the value determined to exceed the predetermined threshold value by a throttle amount determined to mitigate an effect of the value exceeding the predetermined threshold value; and ranking the non-volatile memory storage locations having a value of the at least one operation parameter that exceeds the predetermined threshold value. 2. The method of claim 1 , wherein ranking the non-volatile memory storage locations is performed according to a first weighted function. 3. The method of claim 2 , further comprising: calculating a throttling value for each non-volatile memory storage location of the plurality of non-volatile memory storage locations that exceeds the predetermined threshold value by a second weighted function. 4. The method of claim 3 , further comprising: selecting a highest ranked non-volatile memory storage location based on the first weighted function; throttling commands to the highest ranked non-volatile memory storage location based on the throttling value of the highest ranked non-volatile memory storage location; and writing data associated with the throttled commands to the highest ranked non-volatile memory storage location based on the first weighted function. 5. The method of claim 3 , further comprising: ranking the non-volatile memory storage locations having a value of the at least one operation parameter that does not exceed the predetermined threshold value according to a third weighted function; and writing data associated with a command to a highest ranked non-volatile memory storage location having a value of the at least one operation parameter that do not exceed the predetermined criteria according to the third weighted function. 6. The method of claim 5 , wherein the third weighted function comprises: f 2 =w 1 ·OP+w 2 ·power+ w 3 ·temperature+ w 4 ·endurance, where w 1 , w 2 , w 3 , and w 4 represent preset weighting values, OP represents a number of free pages, power represents a power consumption of the non-volatile memory storage locations, temperature represents an operating temperature of the non-volatile memory storage locations, and endurance represents an erase count of the non-volatile memory storage locations. 7. The method of claim 3 , wherein the first weighted function comprises: f 1 =w 1 ·OP+w 2 ·power+ w 3 ·temperature+ w 4 ·endurance+ w 5 ·IO, where w 1 , w 2 , w 3 , w 4 , and w 5 represent preset weighting values, OP represents a number of free pages, power represents a power consumption of the non-volatile memory storage locations, temperature represents an operating temperature of the non-volatile memory storage locations, endurance represents an erase count of the non-volatile memory storage locations, and IO represents the calculated throttling value of a respective non-volatile memory storage location. 8. The method of claim 3 , wherein the second weighted function comprises any one of: T=k 1 ×Δ; and T IO =k 1 ×Δ+k 2 ×∫Δ, where T and T IO are respective throttling values, Δ is the difference between a current value for an operation parameter and a predetermined value for that operation parameter, k 1 and k 2 are predetermined weighted variables, and ∫Δ represents a summation of deltas. 9. The method of claim 1 , wherein the at least one operation parameter comprises erase count, amount of current power consumption, current or average operating temperature, and amount of fragmentation. 10. The method of claim 1 , wherein the storage system is a solid-state drive and the non-volatile memory storage locations are non-volatile memory devices. 11. A device for dynamically optimizing processing of a command within a storage system, comprising: a plurality of non-volatile memory storage locations for storing data; a memory for storing one or more internal operation parameters for each of the non-volatile memory storage locations; and a controller configured to: identify a plurality of non-volatile memory storage locations of the storage system that have at least one operation parameter associated with the plurality of non-volatile memory storage locations, for each identified plurality of non-volatile memory storage locations, determine whether a value of the at least one operation parameter exceeds a predetermined threshold value, wherein the value is representative of operation effects of the storage system on a corresponding storage location of the identified plurality of non-volatile memory storage locations, during operation of the storage system, throttle execution of the command to access a storage location of the identified plurality of non-volatile memory storage locations that has the value determined to exceed the predetermined threshold value by a throttle amount determined to mitigate an effect of the value exceeding the predetermined threshold value, and rank the non-volatile memory storage locations having a value of the at least one operation parameter that exceeds the predetermined threshold value. 12. The device of claim 11 , wherein the controller ranks the non-volatile memory storage locations according to a first weighted function. 13. The device of claim 12 , wherein the controller is further configured to: calculate a throttling value for each non-volatile memory storage location of the plurality of non-volatile memory storage locations that exceeds the predetermined threshold value by a second weighted function. 14. The device of claim 13 , wherein the controller is further configured to: select a highest ranked non-volatile memory storage location based on the first weighted function; throttle commands to the highest ranked non-volatile memory storage location based on the throttling value of the highest ranked non-volatile memory storage location; and write data associated with the throttled commands to the highest ranked non-volatile memory storage location based on the first weighted function. 15. The device of claim 13 , wherein the controller is further configured to: rank the non-volatile memory storage locations having a value of the at least one operation parameter that does not exceed the predetermined threshold value according to a third weighted function; and write data associated with a command to a highest ranked non-volatile memory storage location having a value of the at least one operation parameter that do not exceed the predetermined criteria according to the third weighted function. 16. The device of claim 15 , wherein the third weighted function comprises: f 2 =w 1 ·OP+w 2 ·power+ w 3 ·temperature+ w 4 ·endurance, where w 1 , w 2 , w 3 , and w 4 represent preset weighting values, OP represents a number of fre

Assignees

Inventors

Classifications

  • G06F3/061Primary

    Improving I/O performance · CPC title

  • Monitoring storage devices or systems · CPC title

  • Command handling arrangements, e.g. command buffers, queues, command scheduling · CPC title

  • Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP] · 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 US11733868B2 cover?
Disclosed herein is a device and method for dynamically processing of a command within a storage system. This includes identifying a plurality of non-volatile memory storage locations of the storage system that have at least one operation parameter associated with the plurality of non-volatile memory storage locations. For each identified plurality of non-volatile memory storage locations, ther…
Who is the assignee on this patent?
Kioxia Corp
What technology area does this patent fall under?
Primary CPC classification G06F3/061. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Aug 22 2023 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 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).