# US 12,001,684 B2 · Optimizing dynamic power loss protection adjustment in a storage system

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

- Number: US 12,001,684 B2
- Document ID: US12001684B2
- Status: Granted
- Kind: B2
- Application number: 17/487,137
- Filed: 2021-09-28
- Published: 2022-01-13
- Granted: 2024-06-04
- Earliest claimed: 2019-12-12
- Assignees: Pure Storage, Inc.
- Applicants: Pure Storage, Inc.
- Inventors: Gordon James Coleman; Andrew R. Bernat; Peter E. Kirkpatrick; Mark L. McAuliffe; Eric Kelly Blanchard; Benjamin Scholbrock; Zoltan DeWitt
- Web page: https://patentgrep.com/patent/US12001684B2

## 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 3/0619: {in relation to data integrity, e.g. data losses, bit errors}
- G06F 3/0631: {by allocating resources to storage systems}
- G06F 3/064: {Management of blocks}
- G06F 3/0659: {Command handling arrangements, e.g. command buffers, queues, command scheduling}
- G06F 3/067: {Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]}
- 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 11/3037: {where the computing system component is a memory, e.g. virtual memory, cache (accessing, addressing or allocating within memory systems or architectures G06F12/00; checking stores for correct operation G11C29/00)}
- G06F 12/0246: {in block erasable memory, e.g. flash memory}
- 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/0653: {Monitoring storage devices or systems}
- G06F 3/0679: {Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]}
- G06F 3/0683: {Plurality of storage devices}
- G06F 11/1441: {Resetting or repowering}
- G06F 11/1451: {by selection of backup contents}
- G06F 11/1469: {Backup restoration techniques}
- G06F 11/2015: {Redundant power supplies (power supply failure G06F1/30)}
- G06F 11/2056: {by mirroring}
- G06F 11/2089: {Redundant storage control functionality}
- G06F 11/2094: {Redundant storage or storage space (G06F11/2056 takes precedence)}
- 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/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 first amount of energy to be stored at one or more power loss protection (PLP) components is determined to enable storage of data at a plurality of storage devices of a storage system upon an occurrence of a power failure. A first voltage is provided to the one or more PLP components that corresponds to the first amount of energy. A second amount of energy to be stored at the one or more PLP components is determined based on a change in the storage system. A second voltage is provided to the one or more PLP components that corresponds to the second amount of energy.

## Claims

### Claim 1

A storage system, comprising:
a plurality of random access memory (RAM) devices comprising one or more power loss protection (PLP) components;
a plurality of storage devices operatively coupled to the plurality of RAM devices and the one or more PLP components; and
a storage controller operatively coupled to the RAM devices, the one or more PLP components, and the plurality of storage devices, the storage controller comprising a processing device, the processing device to:
determine a first amount of energy to be stored at the one or more PLP components to enable storage of data at the plurality of storage devices upon an occurrence of a power failure;
provide a first voltage to the one or more PLP components that corresponds to the first amount of energy;
determine a second amount of energy to be stored at the one or more PLP components based on a change in the storage system; and
provide a second voltage to the one or more PLP components that corresponds to the second amount of energy.

### Claim 2 (depends on 1)

The storage system of claim 1, wherein the change in the storage system comprises a change in a number of blocks of the plurality of RAM devices that are allocated for the storage of data.

### Claim 3 (depends on 1)

The storage system of claim 1, wherein the change in the storage system comprises a failure of a storage device of the plurality of storage devices.

### Claim 4 (depends on 3)

The storage system of claim 3, wherein the second voltage is greater than the first voltage.

### Claim 5 (depends on 1)

The storage system of claim 1, wherein the one or more PLP components comprise one or more supercapacitors.

### Claim 6 (depends on 1)

The storage system of claim 1, wherein the one or more PLP components are to provide power to the plurality of RAM devices upon the occurrence of the power failure to enable the plurality of RAM devices to transmit data stored at the plurality of RAM devices to the plurality of storage devices for storage.

### Claim 7 (depends on 1)

The storage system of claim 1, wherein the one or more PLP components are to provide power to the plurality of storage devices upon the occurrence of the power failure to enable the plurality of storage devices to complete programming of open blocks at the plurality of storage devices.

### Claim 8

A method, comprising:
determining, by a processing device, a first amount of energy to be stored at one or more power loss protection (PLP) components to enable storage of data at a plurality of storage devices of a storage system upon an occurrence of a power failure;
providing a first voltage to the one or more PLP components that corresponds to the first amount of energy;
determining a second amount of energy to be stored at the one or more PLP components based on a change in the storage system; and
providing a second voltage to the one or more PLP components that corresponds to the second amount of energy.

### Claim 9 (depends on 8)

The method of claim 8, wherein the change in the storage system comprises a change in a number of blocks of a plurality of random access memory (RAM) devices of the storage system that are allocated for the storage of data.

### Claim 10 (depends on 8)

The method of claim 8, wherein the change in the storage system comprises a failure of a storage device of the plurality of storage devices.

### Claim 11 (depends on 10)

The method of claim 10, wherein the second voltage is greater than the first voltage.

### Claim 12 (depends on 8)

The method of claim 8, wherein the one or more PLP components comprise one or more supercapacitors.

### Claim 13 (depends on 8)

The method of claim 8, wherein the one or more PLP components are to provide power to a plurality of random access memory (RAM) devices of the storage system upon the occurrence of the power failure to enable the plurality of RAM devices to transmit data stored at the plurality of RAM devices to the plurality of storage devices for storage.

### Claim 14 (depends on 8)

The method of claim 8, wherein the one or more PLP components are to provide power to the plurality of storage devices upon the occurrence of the power failure to enable the plurality of storage devices to complete programming of open blocks at the plurality of storage devices.

### Claim 15

A non-transitory computer-readable storage medium containing instructions which, when executed by a processing device of a storage controller, cause the processing device to:
determine, by the processing device, a first amount of energy to be stored at one or more power loss protection (PLP) components to enable storage of data at a plurality of storage devices of a storage system upon an occurrence of a power failure;
provide a first voltage to the one or more PLP components that corresponds to the first amount of energy;
determine a second amount of energy to be stored at the one or more PLP components based on a change in the storage system; and
provide a second voltage to the one or more PLP components that corresponds to the second amount of energy.

### Claim 16 (depends on 15)

The non-transitory computer-readable storage medium of claim 15, wherein the change in the storage system comprises a change in a number of blocks of a plurality of random access memory (RAM) devices of the storage system that are allocated for the storage of data.

### Claim 17 (depends on 15)

The non-transitory computer-readable storage medium of claim 15, wherein the change in the storage system comprises a failure of a storage device of the plurality of storage devices.

### Claim 18 (depends on 15)

The non-transitory computer-readable storage medium of claim 15, wherein the one or more PLP components comprise one or more supercapacitors.

### Claim 19 (depends on 15)

The non-transitory computer-readable storage medium of claim 15, wherein the one or more PLP components are to provide power to a plurality of random access memory (RAM) devices of the storage system upon the occurrence of the power failure to enable the plurality of RAM devices to transmit data stored at the plurality of RAM devices to the plurality of storage devices for storage.

### Claim 20 (depends on 15)

The non-transitory computer-readable storage medium of claim 15, wherein the one or more PLP components are to provide power to the plurality of storage devices upon the occurrence of the power failure to enable the plurality of storage devices to complete programming of open blocks at the plurality of storage devices.
