# US 2025/0094282 A1 · Updating RAID Protection Based on Storage System Characteristics

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

- Number: US 2025/0094282 A1
- Document ID: US20250094282A1
- Status: Published application
- Kind: A1
- Application number: 18/907,780
- Filed: 2024-10-07
- Published: 2025-03-20
- Earliest claimed: 2010-09-28
- Assignees: Pure Storage, Inc.
- Applicants: Pure Storage, Inc.
- Inventors: JOHN COLGROVE; JOHN HAYES; BO HONG; ETHAN MILLER
- Web page: https://patentgrep.com/patent/US20250094282A1

## CPC

- G06F 11/108: {Parity data distribution in semiconductor storages, e.g. in SSD}
- G06F 3/0619: {in relation to data integrity, e.g. data losses, bit errors}
- G06F 3/0646: {Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems}
- G06F 3/0665: {at area level, e.g. provisioning of virtual or logical volumes}
- G06F 3/0688: {Non-volatile semiconductor memory arrays}
- G06F 3/0689: {Disk arrays, e.g. RAID, JBOD}
- G06F 11/1076: {Parity data used in redundant arrays of independent storages, e.g. in RAID systems}
- G06F 11/1008: {in individual solid state devices (G06F11/1004 takes precedence)}
- G06F 11/1068: {in sector programmable memories, e.g. flash disk (G06F11/1072 takes precedence)}
- G06F 11/2053: {where persistent mass storage functionality or persistent mass storage control functionality is redundant (error detection or correction in information storage based on relative movement between record carrier and transducer G11B20/18)}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A system, method, and product for flexible RAID layouts in a storage system, including: determining a reliability of an individual storage device of a plurality of storage devices, the individual storage device containing a plurality of portions of a Redundant Array of Independent Disks (RAID) stripe in a storage system, wherein the RAID stripe includes user data and inter-device parity data; detecting a change in the reliability of the individual storage device that contains the portion corresponding to the RAID stripe; and changing an amount of intra-device protection corresponding to the RAID stripe by decreasing, in the RAID stripe, an amount of space used to store the inter-device protection data.

## Claims

### Claim 21

A method comprising:
identifying a change in system characteristics of a storage resource that contains a portion of a Redundant Array of Independent Disks (RAID) stripe stored across a plurality of storage resources in a storage system, wherein the RAID stripe includes an amount of intra-device protection data; and
based on the change, changing the amount of intra-device protection data on at least one storage resource of the plurality of storage resources corresponding to the RAID stripe.

### Claim 22 (depends on 21)

The method of claim 21 wherein identifying the change in system characteristics of the storage resource that contains the portion of the RAID stripe further comprises determining an error rate for the storage resource.

### Claim 23 (depends on 21)

The method of claim 21 wherein identifying the change in system characteristics of the storage resource that contains the portion of the RAID stripe further comprises determining an age of the storage resource.

### Claim 24 (depends on 21)

The method of claim 21 wherein identifying the change in system characteristics of the storage resource that contains a portion of the RAID stripe further comprises detecting a change in an error rate associated with the storage resource.

### Claim 25 (depends on 21)

The method of claim 21 further comprising changing an amount of inter-device parity information stored in the storage system.

### Claim 26 (depends on 21)

The method of claim 21 wherein changing the amount of intra-device protection includes increasing an intra-device parity protection level of the storage resource from single parity to double parity.

### Claim 27 (depends on 21)

The method of claim 21 wherein the RAID stripe includes intra-device protection data, the method further comprising changing an amount of intra-device protection data in one or more storage resources that store at least a portion of the RAID stripe.

### Claim 28

An apparatus comprising a computer processor and a computer memory, the computer memory including computer program instructions that, when executed by the computer processor, cause the apparatus to perform:
identifying a change in system characteristics of a storage resource that contains a portion of a Redundant Array of Independent Disks (RAID) stripe stored across a plurality of storage resources in a storage system, wherein the RAID stripe includes an amount of intra-device protection data; and
based on the change, changing the amount of intra-device protection data on at least one storage resource of the plurality of storage resources corresponding to the RAID stripe.

### Claim 29 (depends on 28)

The apparatus of claim 28 wherein identifying the change in system characteristics of the storage resource that contains the portion of the RAID stripe further comprises determining an error rate for the storage resource.

### Claim 30 (depends on 28)

The apparatus of claim 28 wherein identifying the change in system characteristics of the storage resource that contains the portion of the RAID stripe further comprises determining an age of the storage resource.

### Claim 31 (depends on 28)

The apparatus of claim 28 wherein identifying the change in system characteristics of the storage resource that contains a portion of the RAID stripe further comprises detecting a change in an error rate associated with the storage resource.

### Claim 32 (depends on 28)

The apparatus of claim 28 further comprising changing an amount of inter-device parity information stored in the storage system.

### Claim 33 (depends on 28)

The apparatus of claim 28 wherein changing the amount of intra-device protection includes increasing an intra-device parity protection level of the storage resource from single parity to double parity.

### Claim 34 (depends on 28)

The apparatus of claim 28 wherein the RAID stripe includes intra-device protection data, the apparatus further comprising computer program instructions that, when executed by the computer processor, cause the apparatus to perform changing an amount of intra-device protection data in one or more storage resources that store at least a portion of the RAID stripe.

### Claim 35

A computer program product comprising a non-transitory storage medium, the computer program product including computer program instructions that, when executed by a computer processor, cause the computer processor to perform:
identifying a change in system characteristics of a storage resource that contains a portion of a Redundant Array of Independent Disks (RAID) stripe stored across a plurality of storage resources in a storage system, wherein the RAID stripe includes an amount of intra-device protection data; and
based on the change, changing the amount of intra-device protection data on at least one storage resource of the plurality of storage resources corresponding to the RAID stripe.

### Claim 36 (depends on 35)

The computer program product of claim 35 wherein identifying the change in system characteristics of the storage resource that contains the portion of the RAID stripe further comprises determining an error rate for the storage resource.

### Claim 37 (depends on 35)

The computer program product of claim 35 wherein identifying the change in system characteristics of the storage resource that contains the portion of the RAID stripe further comprises determining an age of the storage resource.

### Claim 38 (depends on 35)

The computer program product of claim 35 identifying the change in system characteristics of the storage resource that contains a portion of the RAID stripe further comprises detecting a change in an error rate associated with the storage resource.

### Claim 39 (depends on 35)

The computer program product of claim 35 further comprising changing an amount of inter-device parity information stored in the storage system.

### Claim 40 (depends on 35)

The computer program product of claim 35 wherein changing the amount of intra-device protection includes increasing an intra-device parity protection level of the storage resource from single parity to double parity.
