# US 12,008,271 B1 · Adaptive raid width and distribution for flexible storage

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

- Number: US 12,008,271 B1
- Document ID: US12008271B1
- Status: Granted
- Kind: B1
- Application number: 18/302,837
- Filed: 2023-04-19
- Granted: 2024-06-11
- Earliest claimed: 2023-04-19
- Assignees: Dell Products L.P.
- Applicants: Dell Products L.P.
- Inventors: Kuolin Hua
- Web page: https://patentgrep.com/patent/US12008271B1

## CPC

- G06F 3/0604: {Improving or facilitating administration, e.g. storage management}
- G06F 3/067: {Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]}
- 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: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A software-defined, server-based storage system is configured to support single node granular scaling and adaptive RAID width capabilities. The storage system includes multiple homogeneous storage nodes, each including a server and local storage. Aggregate storage is organized into same-size cells. RAID group members are distributed in cells across storage nodes in a recursive fractal pattern. The storage system is scaled by metamorphosing between recursive fractal distribution of the RAID groups and linear distribution of the RAID groups and splitting matrices of cells. When a sufficient number of new storage nodes have been added, new larger width RAID groups will be formed.

## Claims

### Claim 1

An apparatus comprising:
a plurality of homogeneous storage nodes that are interconnected via a network, each storage node comprising a server and local storage, each server comprising a multi-core processor, memory, and a storage controller configured to:
subdivide storage capacity of the local storage into indexed same-size cells;
create and distribute members of protection groups across the storage nodes in the cells in a recursive fractal distribution pattern; and
metamorphose distribution of sets of the members of the protection groups from the recursive fractal distribution pattern to a linear distribution pattern in response to addition of new storage nodes, thereby enabling scaling in increments of single storage nodes.

### Claim 2 (depends on 1)

The apparatus of claim 1 further comprising the storage controller being configured to metamorphose distribution of the protection groups from the recursive fractal distribution pattern to the linear distribution pattern until all protection groups are linearly distributed.

### Claim 3 (depends on 2)

The apparatus of claim 2 further comprising the storage controller being configured to metamorphose distribution of the protection groups from the recursive fractal distribution pattern to the linear distribution pattern via group-wise rotation of same-cell-index protection group members to cells on a new storage node, iteratively for each new storage node with sequentially indexed cells.

### Claim 4 (depends on 3)

The apparatus of claim 3 further comprising the storage controller being configured to split the protection groups into two subsets and metamorphose distribution of the protection groups of one of the subsets from the linear distribution pattern to the recursive fractal distribution pattern in response to addition of new storage nodes.

### Claim 5 (depends on 4)

The apparatus of claim 4 further comprising the storage controller being configured to metamorphose distribution of the protection groups of one of the subsets from the linear distribution pattern to the recursive fractal distribution pattern by selecting protection group members corresponding to superimposition of a recursive fractal matrix on the linear distribution pattern.

### Claim 6 (depends on 5)

The apparatus of claim 5 further comprising the storage controller being configured to split the protection groups into two subsets: a first subset that is distributed in a linear pattern and a second subset that is distributed in a recursive fractal pattern.

### Claim 7 (depends on 6)

The apparatus of claim 6 further comprising the storage controller being configured to combine pairs of protection groups with the same cell index into single wider protection groups responsive to addition of a sufficient number of storage nodes.

### Claim 8

A method comprising:
subdividing storage capacity of local storage of a plurality of homogeneous storage nodes that are interconnected via a network into indexed same-size cells;
creating and distributing members of protection groups across the storage nodes in the cells in a recursive fractal distribution pattern; and
metamorphosing distribution of sets of the members of the protection groups from the recursive fractal distribution pattern to a linear distribution pattern in response to addition of new storage nodes, thereby enabling scaling in increments of single storage nodes.

### Claim 9 (depends on 8)

The method of claim 8 further comprising metamorphosing distribution of the protection groups from the recursive fractal distribution pattern to the linear distribution pattern until all protection groups are linearly distributed.

### Claim 10 (depends on 9)

The method of claim 9 further comprising metamorphosing distribution of the protection groups from the recursive fractal distribution pattern to the linear distribution pattern by group-wise rotating same-cell-index protection group members to cells on a new storage node, iteratively for each new storage node with sequentially indexed cells.

### Claim 11 (depends on 10)

The method of claim 10 further comprising splitting the protection groups into two subsets and metamorphosing distribution of the protection groups of one of the subsets from the linear distribution pattern to the recursive fractal distribution pattern in response to addition of new storage nodes.

### Claim 12 (depends on 11)

The method of claim 11 further comprising metamorphosing distribution of the protection groups of one of the subsets from the linear distribution pattern to the recursive fractal distribution pattern by selecting protection group members corresponding to superimposition of a recursive fractal matrix on the linear distribution pattern.

### Claim 13 (depends on 12)

The method of claim 12 further comprising splitting the protection groups into two subsets: a first subset that is distributed in a linear pattern and a second subset that is distributed in a recursive fractal pattern.

### Claim 14 (depends on 13)

The method of claim 13 further comprising combining pairs of protection groups with the same cell index into single wider protection groups responsive to addition of a sufficient number of storage nodes.

### Claim 15

A non-transitory computer-readable storage medium storing instructions that are executed by a computer to perform a method comprising:
subdividing storage capacity of local storage of a plurality of homogeneous storage nodes that are interconnected via a network into indexed same-size cells;
creating and distributing members of protection groups across the storage nodes in the cells in a recursive fractal distribution pattern; and
metamorphosing distribution of sets of the members of the protection groups from the recursive fractal distribution pattern to a linear distribution pattern in response to addition of new storage nodes, thereby enabling scaling in increments of single storage nodes.

### Claim 16 (depends on 15)

The non-transitory computer-readable storage medium of claim 15 in which the method further comprises metamorphosing distribution of the protection groups from the recursive fractal distribution pattern to the linear distribution pattern until all protection groups are linearly distributed.

### Claim 17 (depends on 16)

The non-transitory computer-readable storage medium of claim 16 in which the method further comprises metamorphosing distribution of the protection groups from the recursive fractal distribution pattern to the linear distribution pattern by group-wise rotating same-cell-index protection group members to cells on a new storage node, iteratively for each new storage node with sequentially indexed cells.

### Claim 18 (depends on 17)

The non-transitory computer-readable storage medium of claim 17 in which the method further comprises splitting the protection groups into two subsets and metamorphosing distribution of the protection groups of one of the subsets from the linear distribution pattern to the recursive fractal distribution pattern in response to addition of new storage nodes.

### Claim 19 (depends on 18)

The non-transitory computer-readable storage medium of claim 18 in which the method further comprises metamorphosing distribution of the protection groups of one of the subsets from the linear distribution pattern to the recursive fractal distribution pattern by selecting protection group members corresponding to superimposition of a recursive fractal matrix on the linear distribution pattern.

### Claim 20 (depends on 19)

The non-transitory computer-readable storage medium of claim 19 in which the method further comprises splitting the protection groups into a first subset that is distributed in a linear pattern and a second subset that is distributed in a recursive fractal pattern and combining pairs of protection groups with the same cell index into single wider protection groups responsive to addition of a sufficient number of storage nodes.
