# US 12,117,900 B2 · Intelligent power loss protection allocation

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

- Number: US 12,117,900 B2
- Document ID: US12117900B2
- Status: Granted
- Kind: B2
- Application number: 18/340,057
- Filed: 2023-06-23
- Published: 2023-10-26
- Granted: 2024-10-15
- Earliest claimed: 2019-12-12
- Assignees: Pure Storage, Inc.
- Applicants: Pure Storage, Inc.
- Inventors: Andrew R. Bernat; Matthew Paul Fay; Ronald Karr
- Web page: https://patentgrep.com/patent/US12117900B2

## CPC

- G06F 1/30: Means for acting in the event of power-supply failure or interruption, e.g. power-supply fluctuations (for resetting only G06F1/24)
- G06F 11/1048: {using arrangements adapted for a specific error detection or correction feature}
- G06F 9/5072: {Grid computing}
- G06F 11/3034: {where the computing system component is a storage system, e.g. DASD based or network based (digital input from or digital output to record carriers G06F3/06; digital recording or reproducing G11B20/18; for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS], H04L67/1097)}
- G06F 12/0246: {in block erasable memory, e.g. flash memory}
- G06F 12/0804: with main memory updating (G06F12/0806 takes precedence)
- G06F 12/0868: Data transfer between cache memory and other subsystems, e.g. storage devices or host systems
- G06F 3/0623: {in relation to content}
- G06F 3/064: {Management of blocks}
- G06F 3/0644: {Management of space entities, e.g. partitions, extents, pools}
- G06F 3/0679: {Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]}
- G06F 11/108: {Parity data distribution in semiconductor storages, e.g. in SSD}
- G06F 11/201: {between storage system components}
- G06F 11/2089: {Redundant storage control functionality}
- G06F 2212/1032: Reliability improvement, data loss prevention, degraded operation etc
- G06F 2212/1052: Security improvement
- G06F 2212/214: Solid state disk
- G06F 2212/262: configured as RAID
- G06F 2212/7203: Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks
- G06F 2212/7204: Capacity control, e.g. partitioning, end-of-life degradation
- G06F 2212/7207: management of metadata or control data
- G06F 2212/7208: Multiple device management, e.g. distributing data over multiple flash devices
- Y02D 10/00: Energy efficient computing, e.g. low power processors, power management or thermal management
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- Y02D: CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE

## Abstract

A storage system has zones in solid-state storage memory, with power loss protection. The system identifies portions of data for processes that utilize power loss protection. The system determines to activate or deactivate power loss protection for the portions of data for the processes. The system tracks activation and deactivation of power loss protection in zones in the solid-state storage memory, in accordance with the portions of data having power loss protection activated or deactivated.

## Claims

### Claim 1

A method, comprising:
determining, by a processing device, whether to apply power loss protection for data for one or more processes based on which zones of a storage device have particular portions of the data for the one or more processes and when the one or more processes utilize the power loss protection; and
in response to determining to apply the power loss protection for the data, arranging to fulfill an input/output (I/O) requirement in a zone that has the power loss protection activated with power loss support utilizing revocable credits that are redistributable among the one or more processes.

### Claim 2 (depends on 1)

The method of claim 1, further comprising:
determining whether to apply the power loss protection on a dynamic basis throughout a lifespan of the data.

### Claim 3 (depends on 1)

The method of claim 1, further comprising:
fulfilling a data write requirement for data reads in each zone that has the power loss protection activated.

### Claim 4 (depends on 1)

The method of claim 1, further comprising:
changing the power loss protection applied to one or more zones based on a change of the power loss protection applied to at least one portion of the data.

### Claim 5 (depends on 1)

The method of claim 1, further comprising:
tracking the revocable credits for the power loss protection, wherein a total amount of the revocable credits available is proportional to an amount of random access memory (RAM) available for data transfers to solid-state storage memory during the power loss support.

### Claim 6 (depends on 1)

The method of claim 1, further comprising:
activating the power loss protection for the data during a commitment stage of a data transaction.

### Claim 7 (depends on 1)

The method of claim 1, further comprising:
determining to deactivate the power loss protection for one or more portions of the data during one or more intermediate steps of a log process.

### Claim 8 (depends on 1)

The method of claim 1, further comprising:
defining one or more of the zones in which the power loss protection is applied based on data persistence requirements of the one or more processes.

### Claim 9

A storage system, comprising:
a plurality of storage devices; and
a processing device, operatively coupled to the plurality of storage devices, to:
determine whether to apply power loss protection for data for one or more processes based on which zones of a storage device have particular portions of the data for the one or more processes and when the one or more processes utilize the power loss protection; and
in response to determining to apply the power loss protection for the data, arrange to fulfill an I/O requirement in a zone that has the power loss protection activated with power loss support utilizing revocable credits that are redistributable among the one or more processes.

### Claim 10 (depends on 9)

The storage system of claim 9, the processing device further to:
determine whether to apply the power loss protection on a dynamic basis throughout a lifespan of the data.

### Claim 11 (depends on 9)

The storage system of claim 9, the processing device further to:
fulfill a data write requirement for data reads in each zone that has the power loss protection activated.

### Claim 12 (depends on 9)

The storage system of claim 9, the processing device further to:
change the power loss protection applied to one or more zones based on a change of the power loss protection applied to at least one portion of the data.

### Claim 13 (depends on 9)

The storage system of claim 9, the processing device further to:
track the revocable credits for the power loss protection, wherein a total amount of the revocable credits available is proportional to an amount of random access memory (RAM) available for data transfers to solid-state storage memory during the power loss support.

### Claim 14 (depends on 9)

The storage system of claim 9, the processing device further to:
activate the power loss protection for the data during a commitment stage of a data transaction.

### Claim 15 (depends on 9)

The storage system of claim 9, the processing device further to:
determine to deactivate the power loss protection for one or more portions of the data during one or more intermediate steps of a log process.

### Claim 16 (depends on 9)

The storage system of claim 9, the processing device further to:
define one or more of the zones in which the power loss protection is applied based on data persistence requirements of the one or more processes.

### Claim 17

A non-transitory, computer-readable storage medium containing instructions which, when executed by a processing device, cause the processing device to:
determine whether to apply power loss protection for data for one or more processes based on which zones of a storage device have particular portions of the data for the one or more processes and when the one or more processes utilize the power loss protection; and
in response to determining to apply the power loss protection for the data, arrange to fulfill an I/O requirement in a zone that has the power loss protection activated with power loss support utilizing revocable credits that are redistributable among the one or more processes.

### Claim 18 (depends on 17)

The non-transitory, computer-readable storage medium of claim 17, the processing device further to:
determine whether to apply the power loss protection on a dynamic basis throughout a lifespan of the data.

### Claim 19 (depends on 17)

The non-transitory, computer-readable storage medium of claim 17, the processing device further to:
fulfill a data write requirement for data reads in one or more zones that have the power loss protection activated.

### Claim 20 (depends on 17)

The non-transitory, computer-readable storage medium of claim 17
change the power loss protection applied to one or more zones based on a change of the power loss protection applied to at least one portion of the data.
