IP Library Granted Patent US 11,762,745
Granted Patent B2
US 11,762,745 · App. 17/812,279 · Granted Sep 19, 2023

Encoding data based on targeted storage unit information

Inventors: Gary W. Grube (Barrington Hills, IL); Timothy W. Markison (Mesa, AZ)
Assignee: Pure Storage, Inc.
G06F11/2089G06F3/0604G06F3/067G06F3/0619G06F3/0629G06F3/0659G06F3/0683G06F12/0802G06F12/1009G06F12/1045G06F13/1668H04L45/00H04L67/06H04L67/1001H04L67/1097G06F2212/401H03M13/09H03M13/15H03M13/1515H03M13/23H04L41/06
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,762,745
App. No.
17/812,279
Granted
Sep 19, 2023
Kind
B2
Abstract

A method includes transmitting a solicitation message to target storage units of a plurality of storage units of a storage network, where the solicitation message solicits the target storage units to store encoded data slices of a first data segment of data, and where the message is not sent to other storage units of the plurality of storage units. The method further includes receiving favorable responses from at least some of target storage units, and determining an error coding function based on an amount of the favorable responses and data storage requirements for the first data segment. The method further includes encoding the first data segment in accordance with the error coding function to produce a plurality of encoded data slices. The method further includes outputting the plurality of encoded data slices to storage units of the at least some of the target storage units for storage therein.

Claims (42)

1. A method comprises:

transmitting, by a computing device of a storage network, a solicitation message to target storage units of a plurality of storage units of the storage network, wherein the solicitation message solicits the target storage units to store encoded data slices of a first data segment of data, and wherein the solicitation message is not sent to storage units of the plurality of storage units that are not included in the target storage units;

receiving, by the computing device, favorable responses from at least some of target storage units;

determining, by the computing device, an error coding function based on an amount of the favorable responses and data storage requirements for the first data segment;

encoding, by the computing device, the first data segment in accordance with the error coding function to produce a plurality of encoded data slices; and

outputting, by the computing device, the plurality of encoded data slices to storage units of the at least some of the target storage units for storage therein.

2. The method of claim 1 further comprises:

obtaining, by the computing device, the data for storage.

3. The method of claim 1 further comprises:

interpreting, by the computing device, metadata associated with the data to determine the data storage requirements.

4. The method of claim 1 further comprises:

selecting, by the computing device, the plurality of storage units of the storage network as the target storage units based on the data storage requirements and a storage sequence.

5. The method of claim 4 further comprises:

excluding, by the computing device, previously solicited storage units during a current storage sequence from being selected as the target storage units.

6. The method of claim 1 , wherein the determining the error coding function further comprises:

establishing, by the computing device, error coding function parameters based on the favorable responses from the target storage units, wherein the error coding function parameters includes a segmenting protocol.

7. The method of claim 1 , wherein the determining the error coding function further comprises:

establishing, by the computing device, error coding function parameters based on the favorable responses from the target storage units, wherein the error coding function parameters includes pre-slice data manipulation function.

8. The method of claim 1 , wherein the determining the error coding function further comprises:

establishing, by the computing device, error coding function parameters based on the favorable responses from the target storage units, wherein the error coding function parameters includes a slicing pillar width.

9. The method of claim 1 , wherein the determining the error coding function further comprises:

establishing, by the computing device, error coding function parameters based on the favorable responses from the target storage units, wherein the error coding function parameters includes a write threshold.

10. The method of claim 1 , wherein the determining the error coding function further comprises:

establishing, by the computing device, error coding function parameters based on the favorable responses from the target storage units, wherein the error coding function parameters includes a read threshold.

11. The method of claim 1 , wherein the transmitting the solicitation message comprises:

sending, by the computing device, a solicitation broadcast message to the target storage units.

12. The method of claim 1 , wherein the transmitting the solicitation message comprises

sending, by the computing device, a solicitation unicast message to each of the target storage units.

13. The method of claim 1 , wherein the transmitting the solicitation message comprises

sending, by the computing device, solicitation multicast messages to target storage unit subsets of the target storage units.

14. The method of claim 1 further comprises:

establishing, by the computing device, a slicing pillar width in accordance with metadata associated with the data;

encoding, by the computing device, the first data segment in accordance with the error coding function and the slicing pillar width when a number of the favorable responses is equal to or greater than the slicing pillar width; and

when the number of the favorable responses is less than the slicing pillar width, adjusting, by the computing device, the error coding function.

15. The method of claim 1 , wherein the favorable responses comprises:

first storage requirements that substantially match the data storage requirements.

16. The method of claim 15 , wherein the favorable responses further comprises:

second storage requirements that sufficiently encompass the data storage requirements.

17. The method of claim 1 , wherein the data storage requirements comprises a priority requirement.

18. The method of claim 1 , wherein the data storage requirements comprises a security requirement.

19. The method of claim 1 , wherein the data storage requirements comprises a storage location requirement.

20. The method of claim 1 , wherein the data storage requirements comprises a data type indicator.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 18, 2022
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: PURE STORAGE, INC.
Reel/Frame 060680/0485 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 15, 2022
From: CLEVERSAFE, INC.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 060667/0282 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 14, 2022
From: GRUBE, GARY W.; MARKISON, TIMOTHY W.
To: CLEVERSAFE, INC.
Reel/Frame 060503/0384 →
Continuity (4)
Continuation 17115020 · Dec 8, 2020
Continuation 12850606 · Aug 4, 2010
Provisional Application 61256314 · Oct 30, 2009
Related Publication 20220350537A1 · Nov 3, 2022