# US 12,216,524 B2 · Log data generation based on performance analysis of 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,216,524 B2
- Document ID: US12216524B2
- Status: Granted
- Kind: B2
- Application number: 18/366,095
- Filed: 2023-08-07
- Published: 2023-11-23
- Granted: 2025-02-04
- Earliest claimed: 2017-01-27
- Assignees: Pure Storage, Inc.
- Applicants: Pure Storage, Inc.
- Inventors: John Colgrove; Sergey Zhuravlev
- Web page: https://patentgrep.com/patent/US12216524B2

## CPC

- G06F 11/0727: {in a storage system, e.g. in a DASD or network based storage system (drivers for digital recording or reproducing units G06F3/06; circuits for error detection or correction within digital recording or reproducing units 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/0757: {by exceeding a time limit, i.e. time-out, e.g. watchdogs}
- G06F 11/076: {by exceeding a count or rate limit, e.g. word- or bit count limit}
- G06F 11/0787: {Storage of error reports, e.g. persistent data storage, storage using memory protection}
- 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/3072: {where the reporting involves data filtering, e.g. pattern matching, time or event triggered, adaptive or policy-based reporting}
- G06F 17/40: Data acquisition and logging (for input to computer G06F3/00)
- G06F 11/079: {Root cause analysis, i.e. error or fault diagnosis (in a hardware test environment G06F11/22; in a software test environment G06F11/36)}
- G06F 11/3409: {for performance assessment}
- G06F 11/3476: {Data logging (G06F11/14, G06F11/2205 take precedence)}
- G06F 11/3485: {for I/O devices}
- G06F 2201/81: Threshold
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Dynamically adjusting an amount of log data generated for a storage system that includes a plurality of storage devices, including: detecting that a value for a performance-related characteristic of a component of a storage system has reached a performance threshold, and based on the detection, changing an extent to which log data should be generated for the component.

## Claims

### Claim 1

A method comprising:
detecting that a value for a performance-related characteristic of a component of a storage system has reached a performance threshold; and
based on the detection, changing a logging level that was set for the component that specifies an extent to which log data should be generated for the component.

### Claim 2 (depends on 1)

The method of claim 1 wherein the performance-related characteristic of the component include a measured number of requests serviced during a predetermined period of time and the performance threshold specifies a threshold number of requests serviced during the predetermined period of time.

### Claim 3 (depends on 1)

The method of claim 1 wherein the performance-related characteristic of the component include a measured amount of data transferred during a predetermined period of time and the performance threshold specifies a threshold amount of data transferred during the predetermined period of time.

### Claim 4 (depends on 1)

The method of claim 1 wherein the performance-related characteristic of the component include a measured average response time taken to service a request and the performance threshold specifies a threshold average response time taken to service requests.

### Claim 5 (depends on 1)

The method of claim 1 further comprising changing the extent to which log data should be generated in response to detecting that an error has been encountered by one or more components in the storage system.

### Claim 6 (depends on 1)

The method of claim 1 further comprising changing the extent to which log data should be generated in response to detecting that one or more operating characteristics of the storage system match a predetermined operating characteristic fingerprint.

### Claim 7 (depends on 6)

The method of claim 6 wherein detecting that one or more operating characteristics of the storage system matches a predetermined operating characteristic fingerprint further comprises comparing log data generated by the storage system to one or more operating characteristic fingerprints.

### Claim 8 (depends on 1)

The method of claim 1 wherein detecting that the value for the performance-related characteristic of the component of the storage system has reached the performance threshold further comprises evaluating results from a health check of the storage system.

### Claim 9 (depends on 1)

The method of claim 1 wherein changing the extent to which log data should be generated further comprises detecting that a predetermined amount of time has lapsed since an error has been encountered by one or more components in the storage system.

### Claim 10

An apparatus comprising a computer processor, a computer memory operatively coupled to the computer processor, the computer processor configured to:
detect that a value for a performance-related characteristic of a component of a storage system has reached a performance threshold; and
based on the detection, change a logging level that was set for the component that specifies an extent to which log data should be generated for the component.

### Claim 11 (depends on 10)

The apparatus of claim 10 wherein the performance-related characteristic of the component include a measured number of requests serviced during a predetermined period of time and the performance threshold specifies a threshold number of requests serviced during the predetermined period of time.

### Claim 12 (depends on 10)

The apparatus of claim 10 wherein the performance-related characteristic of the component include a measured amount of data transferred during a predetermined period of time and the performance threshold specifies a threshold amount of data transferred during the predetermined period of time.

### Claim 13 (depends on 10)

The apparatus of claim 10 wherein the performance-related characteristic of the component include a measured average response time taken to service a request and the performance threshold specifies a threshold average response time taken to service requests.

### Claim 14 (depends on 10)

The apparatus of claim 10 wherein to change the extent to which log data should be generated, the computer processor is further configured to detect that an error has been encountered by one or more components in the storage system.

### Claim 15 (depends on 10)

The apparatus of claim 10 wherein to change the extent to which log data should be generated, the computer processor is further configured to detect that one or more operating characteristics of the storage system matches a predetermined operating characteristic fingerprint.

### Claim 16 (depends on 15)

The apparatus of claim 15 wherein to detect that one or more operating characteristics of the storage system matches a predetermined operating characteristic fingerprint, the computer processor is further configured to compare log data generated by the storage system to one or more operating characteristic fingerprints.

### Claim 17 (depends on 10)

The apparatus of claim 10 wherein to detect that the value for the performance-related characteristic, the computer processor is further configured to evaluate results from a health check of the storage system.

### Claim 18 (depends on 10)

The apparatus of claim 10 wherein to change the extent to which log data should be generated, the computer processor is further configured to detect that a predetermined amount of time has lapsed since an error has been encountered by one or more components in the storage system.

### Claim 19

A computer program product, the computer program product disposed on a non-transitory computer readable storage medium, the computer program product storing computer program instructions which, when executed by a processing device, cause the processing device to carry out the steps for:
detecting that a value for a performance-related characteristic of a component of a storage system has reached a performance threshold; and
based on the detection, changing a logging level that was set for the component that specifies an extent to which log data should be generated for the component.

### Claim 20 (depends on 19)

The non-transitory computer readable storage medium of claim 19 wherein the computer program instructions for changing the logging level further comprise computer program instructions for detecting that one or more operating characteristics of the storage system matches a predetermined operating characteristic fingerprint.
