Sub-lun input/output profiling for SSD devices

US10031696B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10031696-B2
Application numberUS-201715816477-A
CountryUS
Kind codeB2
Filing dateNov 17, 2017
Priority dateApr 19, 2010
Publication dateJul 24, 2018
Grant dateJul 24, 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 read/write ratio for each of a plurality of data segments classified in a hot category as hot data segments is determined. Each of the plurality of hot data segments is ordered by the read/write ratio in a descending order. Each of a plurality of available SSD devices is ordered by a remaining life expectancy in an ascending order. Those of the plurality of hot data segments are matched with those of the plurality of hot data segments with those of the plurality of available SSD devices such that a hot data segment having a higher read/write ratio is provided to an SSD device having a smaller remaining life expectancy than another hot data segment having a lower read/write ratio.

First claim

Opening claim text (preview).

What is claimed is: 1. A system for profiling input/output (I/O) for solid state drive (SSD) devices in a computing storage environment including a storage device hierarchy, comprising: a processor device executing instructions stored in a memory, wherein the processor device, when executing the instructions, performs each of: iterating through each data segment of a plurality of data segments in a candidate group to determine if the data segment has been accessed greater than a first predefined threshold, the candidate group including data segments that have been accessed less than the first predefined threshold and data segments that have been accessed greater than the first predefined threshold, if the data segment has been accessed less than the first predefined threshold, maintaining the data segment in a storage device in a lower level of the storage device hierarchy than the SSD devices, if the data segment has been accessed greater than the first predefined threshold, adding the data segment to a hot list, the hot list being a subgroup of the candidate group including one or more other data segments previously selected from the candidate group that have been accessed greater than the first predefined threshold, after each data segment of the plurality of data segments in the candidate group has been iterated, ordering each data segment on the hot list based on frequency of access in descending order, iterating through the ordered hot list of data segments, determining whether a read-to-write ratio for each data segment on the hot list is greater than a second predefined threshold, if the read-to-write ratio for the data segment on the hot list is greater than the second predefined threshold, adding the data segment to a ratio list, the ratio list being a subgroup of the hot list, ordering each data segment on the ratio list by the read-to-write ratio in a descending order, ordering each of a plurality of available SSD devices by a remaining life expectancy in ascending order, matching those data segments on the ratio list with those of the plurality of available SSD devices such that a data segment on the ratio list having a higher read-to-write ratio is provided to an SSD device having a smaller remaining life expectancy than another data segment on the ratio list having a lower read-to-write ratio, storing each data segment on the ratio list with each respective matched available SSD device, and determining the remaining life expectancy for each of the plurality of available SSD devices by calculating statistics of an aggregate read and write count obtained from a log for each of the plurality of available SSD devices. 2. The system of claim 1 , wherein determining the remaining life expectancy for each of the plurality of available SSD devices includes examining a plurality of physical profiles stored for each of the plurality of available SSD devices. 3. The system of claim 2 , wherein determining the remaining life expectancy for each of the plurality of available SSD devices includes calculating a current lifespan by considering at least one of an installation date and a time of use counter. 4. The system of claim 3 , wherein determining the remaining life expectancy for each of the plurality of available SSD devices further includes comparing, for each of the plurality of available SSD devices, the current lifespan against a predetermined service life. 5. A computer program product for profiling input/output (I/O) for solid state drive (SSD) devices in a computing storage environment including a storage device hierarchy by a processor device, the computer program product embodied on a non-transitory computer-readable storage medium having computer-readable program code portions stored therein, the computer-readable program code portions comprising: an executable portion that iterates through each data segment of a plurality of data segments in a candidate group to determine if the data segment has been accessed greater than a first predefined threshold, the candidate group including data segments that have been accessed less than the first predefined threshold and data segments that have been accessed greater than the first predefined threshold, an executable portion that, if the data segment has been accessed less than the first predefined threshold, maintains the data segment in a storage device in a lower level of the storage device hierarchy than the SSD devices, an executable portion that, if the data segment has been accessed greater than the first predefined threshold, adds the data segment to a hot list, the hot list being a subgroup of the candidate group including one or more other data segments previously selected from the candidate group that have been accessed greater than the first predefined threshold, an executable portion that, after each data segment of the plurality of data segments in the candidate group has been iterated, orders each data segment on the hot list based on frequency of access in descending order, an executable portion that iterates through the ordered hot list of data segments, an executable portion that determines whether a read-to-write ratio for each data segment on the hot list is greater than a second predefined threshold, an executable portion that, if the read-to-write ratio for the data segment on the hot list is greater than the second predefined threshold, adds the data segment to a ratio list, the ratio list being a subgroup of the hot list, an executable portion that orders each data segment on the ratio list by the read-to-write ratio in a descending order, an executable portion that orders each of a plurality of available SSD devices by a remaining life expectancy in ascending order, an executable portion that matches those data segments on the ratio list with those of the plurality of available SSD devices such that a data segment on the ratio list having a higher read-to-write ratio is provided to an SSD device having a smaller remaining life expectancy than another data segment on the ratio list having a lower read-to-write ratio, an executable portion that stores each data segment on the ratio list with each respective matched available SSD device, and an executable portion that determines the remaining life expectancy for each of the plurality of available SSD devices by calculating statistics of an aggregate read and write count obtained from a log for each of the plurality of available SSD devices. 6. The computer program product of claim 5 , wherein determining the remaining life expectancy for each of the plurality of available SSD devices includes examining a plurality of physical profiles stored for each of the plurality of available SSD devices. 7. The computer program product of claim 6 , wherein determining the remaining life expectancy for each of the plurality of available SSD devices includes calculating a current lifespan by considering at least one of an installation date and a time of use counter. 8. The computer program product of claim 7 , wherein determining the remaining life expectancy for each of the plurality of available SSD devices further includes comparing, for each of the plurality of available SSD devices, the current lifespan against a predetermined service life.

Assignees

Inventors

Classifications

  • in block erasable memory, e.g. flash memory · CPC title

  • G06F3/0655Primary

    Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices · CPC title

  • in relation to life time, e.g. increasing Mean Time Between Failures [MTBF] · CPC title

  • G06F3/064Primary

    Management of blocks · 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 US10031696B2 cover?
A read/write ratio for each of a plurality of data segments classified in a hot category as hot data segments is determined. Each of the plurality of hot data segments is ordered by the read/write ratio in a descending order. Each of a plurality of available SSD devices is ordered by a remaining life expectancy in an ascending order. Those of the plurality of hot data segments are matched with …
Who is the assignee on this patent?
IBM
What technology area does this patent fall under?
Primary CPC classification G06F3/0655. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jul 24 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 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).