# US 2025/0097006 A1 · Policy Driven Data Migration in a Distributed Storage System

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

- Number: US 2025/0097006 A1
- Document ID: US20250097006A1
- Status: Published application
- Kind: A1
- Application number: 18/969,442
- Filed: 2024-12-05
- Published: 2025-03-20
- Earliest claimed: 2014-07-31
- Assignees: Pure Storage, Inc.
- Applicants: Pure Storage, Inc.
- Inventors: Asimuddin Kazi; Joseph M. Kaczmarek; Jason K. Resch
- Web page: https://patentgrep.com/patent/US20250097006A1

## CPC

- G06F 3/0647: {Migration mechanisms}
- H04L 9/002: {Countermeasures against attacks on cryptographic mechanisms (network architectures or network communication protocols for protection against malicious traffic H04L63/1441)}
- G06F 3/0611: {in relation to response time}
- 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 3/0683: {Plurality of storage devices}
- G06F 21/31: User authentication
- G06F 21/602: {Providing cryptographic facilities or services}
- G06F 21/6218: {to a system of files or objects, e.g. local or distributed file system or database}
- H04L 9/085: {Secret sharing or secret splitting, e.g. threshold schemes}
- H04L 9/0863: {involving passwords or one-time passwords (network architectures or network communication protocols for using one-time keys in a packet data network H04L63/067)}
- H04L 9/0869: {involving random numbers or seeds}
- H04L 9/3226: {using a predetermined code, e.g. password, passphrase or PIN (network architectures or network communication protocols for supporting authentication of entities using passwords in a packet data network H04L63/083)}
- H04L 63/04: {for providing a confidential data exchange among entities communicating through data packet networks}
- H04L 63/06: {for supporting key management in a packet data network (cryptographic mechanisms or cryptographic arrangements for key management H04L9/08)}
- G06F 3/0619: {in relation to data integrity, e.g. data losses, bit errors}
- G06F 3/065: {Replication mechanisms}
- H04L 67/1097: 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]
- H04L 67/535: {Tracking the activity of the user (network monitoring arrangements H04L43/00; recording of computer activity G06F11/34)}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A method for storage units of a storage network begins by determining whether a first memory compares favorably to a predetermined performance level and determining whether a data access response activity associated with the first memory compares favorably to a data access response activity threshold. The method continues when the first memory compares unfavorably to the predetermined performance level and the data access response activity associated with the first memory compares unfavorably to a data access response activity threshold, by determining to migrate a set of encoded data slices stored in a first format from the first memory to a second memory, where a data object is dispersed error encoded in accordance with dispersed error encoding parameters to produce the set of encoded data slices. The method then continues, by selecting a second format for storing the set of encoded data slices and migrating the set of encoded data slices from the first memory to the second memory.

## Claims

### Claim 1

A method for execution by one or more processing modules of one or more storage units of a storage network, the method comprises:
determining whether a first memory compares favorably to a predetermined performance level;
determining whether a data access response activity associated with the first memory compares favorably to a data access response activity threshold;
in response to a determination that the first memory compares unfavorably to the predetermined performance level and the data access response activity associated with the first memory compares unfavorably to a data access response activity threshold, determining to migrate a set of encoded data slices stored in a first format from the first memory to a second memory, wherein a data object is dispersed error encoded in accordance with dispersed error encoding parameters to produce the set of encoded data slices;
selecting a second format for the set of encoded data slices, wherein the second memory is configured to store the set of encoded data slices based on the second format; and
migrating the set of encoded data slices from the first memory to the second memory.

### Claim 2 (depends on 1)

The method of claim 1, wherein the data access response activity threshold is based on at least one of, a data type, a storage configuration information and a predetermined storage efficiency level.

### Claim 3 (depends on 1)

The method of claim 1, wherein the first memory and the second memory are common to a same memory device.

### Claim 4 (depends on 1)

The method of claim 1, wherein the data access response activity is associated with at least one of rebuilding encoded data slices, writing encoded data slices, retrieving encoded data slices, listing encoded data slices, performing storage unit maintenance tasks and performing storage unit balancing tasks.

### Claim 5 (depends on 1)

The method of claim 1, wherein the dispersed error encoding parameters associated with the first format are different than the dispersed error encoding parameters associated with the second format.

### Claim 6 (depends on 1)

The method of claim 1, wherein the predetermined performance level is based on at least one of storage efficiency, detection of one or more error messages, interpretation of an error message and detection of an available storage level that compares favorably to an available storage threshold level.

### Claim 7 (depends on 1)

The method of claim 1, wherein the predetermined performance level is based on a network administration preference.

### Claim 8 (depends on 7)

The method of claim 7, wherein the network administration preference is associated with a user profile.

### Claim 9 (depends on 8)

The method of claim 8, wherein the user profile includes authentication information.

### Claim 10

A computer readable storage medium comprises:
at least one memory section that stores operational instructions that, when executed by one or more processing modules of a storage unit of a storage network, causes the storage unit to:
determine whether a first memory compares favorably to a predetermined performance level;
determine whether a data access response activity associated with the first memory compares favorably to a data access response activity threshold;
in response to a determination that the first memory compares unfavorably to the predetermined performance level and the data access response activity associated with the first memory compares unfavorably to a data access response activity threshold, determine to migrate a set of encoded data slices stored in a first format from the first memory to a second memory, wherein a data object is dispersed error encoded in accordance with dispersed error encoding parameters to produce the set of encoded data slices;
select a second format for the set of encoded data slices, wherein the second memory is configured to store the set of encoded data slices based on the second format; and
migrate the set of encoded data slices from the first memory to the second memory.

### Claim 11 (depends on 10)

The computer readable storage medium of claim 10, wherein the data access response activity threshold is based on at least one of, a data type, a storage configuration information and a predetermined storage efficiency level.

### Claim 12 (depends on 10)

The computer readable storage medium of claim 10, wherein the first memory and the second memory are common to a same memory device.

### Claim 13 (depends on 10)

The computer readable storage medium of claim 10, wherein the data access response activity is associated with at least one of rebuilding encoded data slices, writing encoded data slices, retrieving encoded data slices, listing encoded data slices, performing storage unit maintenance tasks and performing storage unit balancing tasks.

### Claim 14 (depends on 10)

The computer readable storage medium of claim 10, wherein the dispersed error encoding parameters associated with the first format are different than the dispersed error encoding parameters associated with the second format.

### Claim 15 (depends on 10)

The computer readable storage medium of claim 10, wherein the predetermined performance level is based on at least one of storage efficiency, detection of one or more error messages, interpretation of an error message and detection of an available storage level that compares favorably to an available storage threshold level.

### Claim 16 (depends on 10)

The computer readable storage medium of claim 10, wherein the predetermined performance level is based on a network administration preference.

### Claim 17 (depends on 16)

The computer readable storage medium of claim 16, wherein the network administration preference is associated with a user profile.

### Claim 18 (depends on 17)

The computer readable storage medium of claim 17, wherein the user profile includes authentication information.

### Claim 19

A storage unit of a group of storage units of a dispersed storage network (DSN), the storage unit comprises:
an interface;
a local memory; and
a processing module operably coupled to the interface and the local memory, wherein the processing module functions to:
determine whether a first memory compares favorably to a predetermined performance level;
determine whether a data access response activity associated with the first memory compares favorably to a data access response activity threshold;
in response to a determination that the first memory compares unfavorably to the predetermined performance level and the data access response activity associated with the first memory compares unfavorably to a data access response activity threshold, determine to migrate a set of encoded data slices stored in a first format from the first memory to a second memory, wherein a data object is dispersed error encoded in accordance with dispersed error encoding parameters to produce the set of encoded data slices;
select a second format for the set of encoded data slices, wherein the second memory is configured to store the set of encoded data slices based on the second format; and
migrate the set of encoded data slices from the first memory to the second memory.

### Claim 20 (depends on 19)

The storage unit of claim 19, wherein the dispersed error encoding parameters associated with the first format are different than the dispersed error encoding parameters associated with the second format.
