# US 10,761,590 B1 · Data storage performance scaling based on external energy

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

- Number: US 10,761,590 B1
- Document ID: US10761590B1
- Status: Granted
- Kind: B1
- Application number: 15/706,565
- Filed: 2017-09-15
- Granted: 2020-09-01
- Earliest claimed: 2017-09-15
- Assignees: Seagate Technology LLC
- Applicants: Seagate Technology LLC
- Inventors: Robert W Dixon; Steven S Williams
- Web page: https://patentgrep.com/patent/US10761590B1

## 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 1/3268: {Power saving in hard disk drive}
- G06F 1/3275: {Power saving in memory, e.g. RAM, cache}
- G06F 3/0602: {specifically adapted to achieve a particular effect}
- G06F 3/0619: {in relation to data integrity, e.g. data losses, bit errors}
- G06F 3/0634: {by changing the state or mode of one or more devices}
- G06F 3/0683: {Plurality of storage 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

Systems and methods are disclosed for data storage performance scaling based on external energy. In certain embodiments, a system may comprise a data storage device having an interface to communicate with an external device, a nonvolatile memory, and a circuit. The circuit may be configured to receive an indication via the interface of power resources available to the data storage device from the external device in case of a power loss event, adjust a performance metric of the data storage device to apply when accessing the nonvolatile memory during normal power availability based on the indication, and perform operations during normal power availability based on the performance metric.

## Claims

### Claim 1

A system comprising:
a data storage device having:
an interface to communicate with an external device;
a nonvolatile memory;
a circuit configured to adjust performance during normal power availability based on an amount of power resources available from the external device in case of normal power availability being unexpectedly cut off, including:
receive an indication, via the interface, of an amount of power resources available to the data storage device from the external device in case of a power loss event;
adjust a performance metric of the data storage device to apply when accessing the nonvolatile memory during normal power availability based on the indication; and
perform operations during normal power availability based on the performance metric;
the external device, including a host device connected to a plurality of devices including the data storage device, the host device configured to:
determine an amount of backup power available to provide to the plurality of devices in case of the power loss event;
determine priorities of workloads provided from the host device to the plurality of devices;
determine a backup power distribution among the plurality of devices based on the determined priorities of workloads, including prioritizing backup power distribution to devices from the plurality of devices to which the host device sends streaming data write commands, streaming data write commands including data write commands grouped according to a stream identifier; and
send the indication to the data storage device, the indication identifying an amount of backup power available to the data storage device based on the backup power distribution.

### Claim 2 (depends on 1)

The system of claim 1 further comprising:
the performance metric includes a streamed data write size, indicating an amount of data from a write stream that is written at one time.

### Claim 3 (depends on 1)

The system of claim 1 further comprising:
the nonvolatile memory includes a solid state memory; and
the external device includes a hard disc drive.

### Claim 4 (depends on 1)

The system of claim 1 comprising the circuit further configured to:
calculate a number of data access operations to the nonvolatile memory that can be completed in the event of a power loss based on the indication; and
determine the performance metric to apply based on the number of data access operations.

### Claim 5 (depends on 1)

The system of claim 1, the data storage device further comprising:
an internal energy storage unit to store internal backup power; and
the circuit further configured to:
adjust the performance metric based on both the indication and an amount of the internal backup power.

### Claim 6 (depends on 1)

The system of claim 1 comprising the circuit further configured to:
adjust the performance metric based on the indication, including:
apply a first operating mode having first performance characteristics when the indication signals that the power resources from the external device is are below a threshold value; and
apply a second operating mode having second performance characteristics reliant on more power resources in the case of the power loss event than the first performance characteristics when the indication signals that the power resources are above the threshold value.

### Claim 7 (depends on 1)

The system of claim 1 comprising the circuit further configured to:
monitor, during normal power operations, changes to the amount of power resources available from the external device in case of a power loss event; and
adjust the performance metric based on changes to the amount of power resources available from the external device.

### Claim 8 (depends on 1)

The system of claim 1 comprising the host device further configured to:
determine the amount of backup power available, including determining power available from other devices connected to the host device.

### Claim 9 (depends on 1)

The system of claim 1 further comprising:
performing operations during normal power availability based on the performance metric includes returning write completion notifications from the data storage device to a host device for uncompleted buffered write operations at regular intervals during an interruption of write executions at the data storage device.

### Claim 10

A method comprising:
determining, at a host device, an amount of backup power available to provide to a plurality of devices connected to the host device in case of a power loss event;
determining priorities of workloads provided from the host device to the plurality of devices;
determining a backup power distribution among the plurality of devices based on the determined priorities of workloads, including prioritizing backup power distribution to devices from the plurality of devices to which the host device sends streaming data write commands, streaming data write commands including data write commands grouped according to a stream identifier; and
sending an indication to at least one device from the plurality of devices, the indication identifying an amount of backup power available to the at least one device based on the backup power distribution.

### Claim 11 (depends on 10)

The method of claim 10 further comprising determining, at the host device, the amount of backup power available, including determining power available from other devices connected to the host device.

### Claim 12 (depends on 10)

The method of claim 10 further comprising:
receiving, at a data storage device from the plurality of devices, the indication from the host device identifying the amount of backup power available to the data storage device;
adjusting, at the data storage device, a performance metric of the data storage device to apply when accessing a nonvolatile memory during normal power availability based on the indication; and
performing operations during normal power availability at the data storage device based on the performance metric.

### Claim 13 (depends on 12)

The method of claim 12 further comprising:
adjusting, at the data storage device, the performance metric based on the indication, including:
applying a first operating mode having first performance characteristics when the indication signals that the amount of backup power from the host device is below a threshold value; and
applying a second operating mode having second performance characteristics when the indication signals that the amount of backup power is above the threshold value.

### Claim 14 (depends on 12)

The method of claim 12 further comprising adjusting the performance metric includes returning write completion notifications from the data storage device to a host device for uncompleted buffered write operations at regular intervals during an interruption of write executions at the data storage device.

### Claim 15 (depends on 12)

The method of claim 12 further comprising:
determining, at the data storage device, an amount of internal backup power available from an internal energy storage unit of the data storage device; and
adjusting, at the data storage device, the performance metric based on both the indication and the amount of the internal backup power.

### Claim 16

A method comprising:
receiving, at a data storage device, an indication from an external device of power resources available to the data storage device from the external device in case of a power loss event;
calculating, at the data storage device, a number of data access operations to the nonvolatile memory that can be completed in the event of a power loss based on the indication;
determining a performance metric of the data storage device to apply when accessing a nonvolatile memory during normal power availability based on the number of data access operations;
adjusting the performance metric based on the indication; and
performing operations at the data storage device during normal power availability based on the performance metric, the performance metric to apply during normal power availability based on the indication includes returning write completion notifications from the data storage device to a host device for uncompleted buffered write operations at regular intervals during an interruption of write executions at the data storage device.

### Claim 17 (depends on 16)

The method of claim 16 further comprising:
adjusting the performance metric based on the indication, including:
applying a first operating mode having first performance characteristics when the indication signals that the power resources from the external device are below a threshold value; and
applying a second operating mode having second performance characteristics when the indication signals that the power resources are above the threshold value.

### Claim 18 (depends on 16)

The method of claim 16 further comprising:
the external device includes a host device connected to a plurality of devices including the data storage device;
determining, at the host device, an amount of backup power available to provide to the plurality of devices in case of the power loss event;
determining, at the host device, priorities of workloads provided from the host device to the plurality of devices;
determining, at the host device, a backup power distribution among the plurality of devices based on the determined priorities of workloads; and
sending the indication from the host device to the data storage device, the indication identifying an amount of backup power available to the data storage device based on the backup power distribution.

### Claim 19 (depends on 18)

The method of claim 18 further comprising:
determining the priorities of workloads provided from the host device to the plurality of devices includes prioritizing backup power distribution to devices from the plurality of devices to which the host device sends streaming data write commands, streaming data write commands including data write commands grouped according to a stream identifier.

### Claim 20 (depends on 16)

The method of claim 16 further comprising:
determining, at the data storage device, an amount of internal backup power available from an internal energy storage unit of the data storage device; and
adjusting, at the data storage device, the performance metric based on both the indication and the amount of the internal backup power.
