# US 9,519,427 B2 · Triggering, at a host system, a process to reduce declared capacity of a storage device

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 9,519,427 B2
- Document ID: US9519427B2
- Status: Granted
- Kind: B2
- Application number: 14/621,219
- Filed: 2015-02-12
- Published: 2016-03-03
- Granted: 2016-12-13
- Earliest claimed: 2014-09-02
- Assignees: SanDisk Technologies LLC
- Applicants: SanDisk Technologies LLC
- Inventors: Allen Samuels; Warren Fritz Kruger; Linh Tien Truong
- Web page: https://patentgrep.com/patent/US9519427B2

## CPC

- G06F 3/0608: {Saving storage space on storage systems}
- G06F 3/0619: {in relation to data integrity, e.g. data losses, bit errors}
- G06F 3/0631: {by allocating resources to storage systems}
- G06F 3/0644: {Management of space entities, e.g. partitions, extents, pools}
- G06F 3/0661: {Format or protocol conversion arrangements}
- G06F 3/0679: {Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]}
- G06F 3/0688: {Non-volatile semiconductor memory arrays}
- G06F 12/0238: {Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory}
- G06F 12/0246: {in block erasable memory, e.g. flash memory}
- G06F 12/0253: {Garbage collection, i.e. reclamation of unreferenced memory}
- G06F 2212/7201: Logical to physical mapping or translation of blocks or pages
- G06F 2212/7204: Capacity control, e.g. partitioning, end-of-life degradation
- G06F 2212/7205: Cleaning, compaction, garbage collection, erase control
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Systems, methods and/or devices are used to enable triggering, at a host system, a process to reduce declared capacity of a storage device. In one aspect, the method includes, at a host to which a storage device of the storage system is operatively coupled: (1) obtaining one or more metrics of the storage device, the storage device including non-volatile memory, (2) detecting a trigger condition in accordance with the one or more metrics of the storage device, and (3) enabling an amelioration process associated with the detected trigger condition, the amelioration process to reduce declared capacity of the non-volatile memory of the storage device. In some embodiments, the storage device includes one or more flash memory devices.

## Claims

### Claim 1

A method of managing a storage system, the method comprising:
at a host to which a storage device of the storage system is operatively coupled:
obtaining one or more metrics of the storage device, the storage device including non-volatile memory;
detecting a trigger condition in accordance with the one or more metrics of the storage device;
enabling an amelioration process associated with the detected trigger condition, the amelioration process to reduce declared capacity of the non-volatile memory of the storage device, wherein declared capacity is storage capacity available to the host;
prior to detecting the trigger condition, detecting a first wear condition of the non-volatile memory of the storage device, wherein a total storage capacity of the non-volatile memory of the storage device includes declared capacity and over-provisioning; and
in response to detecting the first wear condition, performing a remedial action that reduces over-provisioning of the non-volatile memory of the storage device without reducing declared capacity of the non-volatile memory of the storage device.

### Claim 2 (depends on 1)

The method of claim 1, wherein detecting the trigger condition comprises detecting a second wear condition distinct from the first wear condition.

### Claim 3 (depends on 1)

The method of claim 1, wherein the host includes a client on behalf of which data is stored in the storage system.

### Claim 4 (depends on 1)

The method of claim 1, wherein the host includes a cluster controller of the storage system.

### Claim 5 (depends on 1)

The method of claim 1, wherein enabling the amelioration process associated with the detected trigger condition includes scheduling the amelioration process to be performed on the storage device.

### Claim 6 (depends on 1)

The method of claim 1, wherein enabling the amelioration process associated with the detected trigger condition includes determining one or more parameters for the amelioration process.

### Claim 7 (depends on 6)

The method of claim 6, wherein enabling the amelioration process associated with the detected trigger condition further includes conveying at least a subset of the one or more parameters for the amelioration process to the storage device.

### Claim 8 (depends on 1)

The method of claim 1, wherein obtaining one or more metrics of the storage device includes obtaining at least one metric, of the one or more metrics, for each memory portion of a plurality of memory portions of the storage device.

### Claim 9 (depends on 1)

The method of claim 1, wherein the one or more metrics of the storage device include one or more status metrics corresponding to the storage device's ability to retain data.

### Claim 10 (depends on 1)

The method of claim 1, wherein the one or more metrics of the storage device include one or more performance metrics corresponding to performance of the storage device.

### Claim 11 (depends on 1)

The method of claim 1, wherein the one or more metrics of the storage device include one or more wear metrics corresponding to wear on the storage device.

### Claim 12 (depends on 1)

The method of claim 1, wherein the one or more metrics of the storage device include one or more time metrics.

### Claim 13 (depends on 1)

The method of claim 1, wherein the one or more metrics of the storage device include values of the one or more metrics from more than one time.

### Claim 14 (depends on 1)

The method of claim 1, further comprising:
after enabling the amelioration process,
re-evaluating the trigger condition in accordance with the one or more metrics of the storage device, and
in accordance with a determination that the trigger condition is no longer valid, aborting the amelioration process to reduce declared capacity of the non-volatile memory of the storage device.

### Claim 15 (depends on 1)

The method of claim 1, wherein the amelioration process to reduce declared capacity of the non-volatile memory of the storage device includes a process to reduce utilization of the non-volatile memory of the storage device.

### Claim 16 (depends on 1)

The method of claim 1, wherein the storage device comprises one or more flash memory devices.

### Claim 17

A storage system, comprising:
one or more storage devices; and
a host to which the one or more storage devices are operatively coupled, the host including:
one or more processors; and
host memory storing one or more programs, which when executed by the one or more processors cause the host to perform operations comprising:
obtaining one or more metrics of a storage device of the one or more storage devices, the storage device including non-volatile memory;
detecting a trigger condition in accordance with the one or more metrics of the storage device;
enabling an amelioration process associated with the detected trigger condition, the amelioration process to reduce declared capacity of the non-volatile memory of the storage device, wherein declared capacity is storage capacity available to the host;
prior to detecting the trigger condition, detecting a first wear condition of the non-volatile memory of the storage device, wherein a total storage capacity of the non-volatile memory of the storage device includes declared capacity and over-provisioning; and
in response to detecting the first wear condition, performing a remedial action that reduces over-provisioning of the non-volatile memory of the storage device without reducing declared capacity of the non-volatile memory of the storage device.

### Claim 18 (depends on 17)

The storage system of claim 17, wherein detecting the trigger condition comprises detecting a second wear condition distinct from the first wear condition.

### Claim 19 (depends on 17)

The storage system of claim 17, wherein the one or more metrics of the storage device include one or more status metrics corresponding to the storage device's ability to retain data.

### Claim 20 (depends on 17)

The storage system of claim 17, wherein the one or more metrics of the storage device include one or more performance metrics corresponding to performance of the storage device.

### Claim 21 (depends on 17)

The storage system of claim 17, wherein the storage device comprises one or more flash memory devices.

### Claim 22

A non-transitory computer readable storage medium, storing one or more programs configured for execution by one or more processors of a host system, the one or more programs including instructions for:
obtaining one or more metrics of a storage device coupled to the host system, the storage device including non-volatile memory;
detecting a trigger condition in accordance with the one or more metrics of the storage device;
enabling an amelioration process associated with the detected trigger condition, the amelioration process to reduce declared capacity of the non-volatile memory of the storage device, wherein declared capacity is storage capacity available to the host;
prior to detecting the trigger condition, detecting a first wear condition of the non-volatile memory of the storage device, wherein a total storage capacity of the non-volatile memory of the storage device includes declared capacity and over-provisioning; and
in response to detecting the first wear condition, performing a remedial action that reduces over-provisioning of the non-volatile memory of the storage device without reducing declared capacity of the non-volatile memory of the storage device.

### Claim 23 (depends on 22)

The non-transitory computer readable storage medium of claim 22, wherein detecting the trigger condition comprises detecting a second wear condition distinct from the first wear condition.

### Claim 24 (depends on 22)

The non-transitory computer readable storage medium of claim 22, wherein the one or more metrics of the storage device include one or more status metrics corresponding to the storage device's ability to retain data.

### Claim 25 (depends on 22)

The non-transitory computer readable storage medium of claim 22, wherein the one or more metrics of the storage device include one or more performance metrics corresponding to performance of the storage device.

### Claim 26 (depends on 22)

The non-transitory computer readable storage medium of claim 22, wherein the storage device comprises one or more flash memory devices.
