IP Library Granted Patent US 10,404,410
Granted Patent B2
US 10,404,410 · App. 15/839,639 · Granted Sep 3, 2019

Storage unit (SU) report cards

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 10,404,410
App. No.
15/839,639
Granted
Sep 3, 2019
Kind
B2
Abstract

A computing device includes an interface configured to interface and communicate with a dispersed storage network (DSN), a memory that stores operational instructions, and processing circuitry operably coupled to the interface and to the memory. The processing circuitry is configured to execute the operational instructions to perform various operations and functions. The computing device maintain memory ranking information for a set of storage units (SUs) and receives a read data request. The computing device selects a decode threshold number and/or a read threshold number of SUs to service the read data request based on the memory ranking information. The computing device recovers the data segment and transmits a read data response that is based on the processing the read data request.

Claims (62)

1. A computing device comprising:

an interface configured to interface and communicate with a dispersed or distributed storage network (DSN);

memory that stores operational instructions; and

processing circuitry operably coupled to the interface and to the memory, wherein the processing circuitry is configured to execute the operational instructions to:

maintain memory ranking information for a set of storage units (SUs) within the DSN based on data access operations associated therewith, wherein a data object is segmented into a plurality of data segments, wherein a data segment of the plurality of data segments is dispersed error encoded in accordance with dispersed error encoding parameters to produce a set of encoded data slices (EDSs) that are distributedly stored in the set of SUs within the DSN, wherein a decode threshold number of EDSs are needed to recover the data segment, wherein a read threshold number of EDSs provides for reconstruction of the data segment;

receive, from another computing device, a read data request;

select at least one of a decode threshold number of SUs or a read threshold number of SUs of the set of SUs to service the read data request based on the memory ranking information for the set of SUs;

recover the data segment from the at least one of the decode threshold number of SUs or the read threshold number of SUs of the set of SUs in accordance with processing the read data request; and

transmit, to the another computing device, a read data response that is based on the processing the read data request.

2. The computing device of claim 1 , wherein the processing circuitry is further configured to execute the operational instructions to:

maintain the memory ranking information for the set of SUs within the DSN based on updating a read ranking number corresponding to a SU of the set of SUs based on a number of EDSs of the set of EDSs that are received from the SU of the set of SUs that are successfully used to recover the data segment divided by a total number of corresponding read requests issued to the SU of the set of SUs.

3. The computing device of claim 1 , wherein the processing circuitry is further configured to execute the operational instructions to:

select at least one of the decode threshold number of SUs or the read threshold number of SUs of the set of SUs to service the read data request based on the memory ranking information for the set of SUs based on at least one of identifying the read threshold number of SUs as being associated with highest read ranking numbers or identifying the read threshold number of SUs as being associated with read ranking numbers greater than a minimum ranking threshold level.

4. The computing device of claim 1 , wherein the processing circuitry is further configured to execute the operational instructions to:

recover the data segment from the at least one of the decode threshold number of SUs or the read threshold number of SUs of the set of SUs in accordance with processing the read data request including to issue a read slice request to the at least one of the decode threshold number of SUs or the read threshold number of SUs of the set of SUs, dispersed error decode at least one of the decode threshold number of EDSs or the read threshold number of EDSs to reproduce the data segment, and aggregate the data segment with at least one other data segment to reproduce the data object.

5. The computing device of claim 1 , wherein:

a write threshold number of EDSs provides for a successful transfer of the set of EDSs from a first at least one location in the DSN to a second at least one location in the DSN;

the set of EDSs is of pillar width and includes a pillar number of EDSs;

each of the decode threshold number, the read threshold number, and the write threshold number is less than the pillar number; and

the write threshold number is greater than or equal to the read threshold number that is greater than or equal to the decode threshold number.

6. The computing device of claim 1 , wherein the computing device is located at a first premises that is remotely located from a second premises of at least one SU of the set of SUs within the DSN.

7. The computing device of claim 1 further comprising:

a SU of the set of SUs within the DSN, a wireless smart phone, a laptop, a tablet, a personal computers (PC), a work station, or a video game device.

8. The computing device of claim 1 , wherein the DSN includes at least one of a wireless communication system, a wire lined communication system, a non-public intranet system, a public internet system, a local area network (LAN), or a wide area network (WAN).

9. A computing device comprising:

an interface configured to interface and communicate with a dispersed or distributed storage network (DSN);

memory that stores operational instructions; and

processing circuitry operably coupled to the interface and to the memory, wherein the processing circuitry is configured to execute the operational instructions to:

maintain memory ranking information for a set of storage units (SUs) within the DSN based on data access operations associated therewith including based on updating a read ranking number corresponding to a SU of the set of SUs based on a number of encoded data slices (EDSs) of a set of EDSs that are received from the SU of the set of SUs that are successfully used to recover a data segment divided by a total number of corresponding read requests issued to the SU of the set of SUs, wherein a data object is segmented into a plurality of data segments, wherein a data segment of the plurality of data segments is dispersed error encoded in accordance with dispersed error encoding parameters to produce a set of EDSs that are distributedly stored in the set of SUs within the DSN, wherein a decode threshold number of EDSs are needed to recover the data segment, wherein a read threshold number of EDSs provides for reconstruction of the data segment;

receive, from another computing device, a read data request;

select at least one of a decode threshold number of SUs or a read threshold number of SUs of the set of SUs to service the read data request based on the memory ranking information for the set of SUs;

recover the data segment from the at least one of the decode threshold number of SUs or the read threshold number of SUs of the set of SUs in accordance with processing the read data request including to issue a read slice request to the at least one of the decode threshold number of SUs or the read threshold number of SUs of the set of SUs, dispersed error decode at least one of the decode threshold number of EDSs or the read threshold number of EDSs to reproduce the data segment, and aggregate the data segment with at least one other data segment to reproduce the data object; and

transmit, to the another computing device, a read data response that is based on the processing the read data request.

10. The computing device of claim 9 , wherein the processing circuitry is further configured to execute the operational instructions to:

select at least one of the decode threshold number of SUs or the read threshold number of SUs of the set of SUs to service the read data request based on the memory ranking information for the set of SUs based on at least one of identifying the read threshold number of SUs as being associated with highest read ranking numbers or identifying the read threshold number of SUs as being associated with read ranking numbers greater than a minimum ranking threshold level.

11. The computing device of claim 9 , wherein:

a write threshold number of EDSs provides for a successful transfer of the set of EDSs from a first at least one location in the DSN to a second at least one location in the DSN;

the set of EDSs is of pillar width and includes a pillar number of EDSs;

each of the decode threshold number, the read threshold number, and the write threshold number is less than the pillar number; and

the write threshold number is greater than or equal to the read threshold number that is greater than or equal to the decode threshold number.

12. The computing device of claim 9 , wherein the computing device is located at a first premises that is remotely located from a second premises of at least one SU of the set of SUs within the DSN.

13. The computing device of claim 9 further comprising:

a SU of the set of SUs within the DSN, a wireless smart phone, a laptop, a tablet, a personal computers (PC), a work station, or a video game device.

14. A method for execution by a computing device, the method comprising:

maintain memory ranking information for a set of storage units (SUs) within a dispersed or distributed storage network (DSN) based on data access operations associated therewith, wherein a data object is segmented into a plurality of data segments, wherein a data segment of the plurality of data segments is dispersed error encoded in accordance with dispersed error encoding parameters to produce a set of encoded data slices (EDSs) that are distributedly stored in the set of SUs within the DSN, wherein a decode threshold number of EDSs are needed to recover the data segment, wherein a read threshold number of EDSs provides for reconstruction of the data segment;

receiving, via an interface of the computing device that is configured to interface and communicate with a dispersed or distributed storage network (DSN) and from another computing device, a read data request;

selecting at least one of a decode threshold number of SUs or a read threshold number of SUs of the set of SUs to service the read data request based on the memory ranking information for the set of SUs;

recovering the data segment from the at least one of the decode threshold number of SUs or the read threshold number of SUs of the set of SUs in accordance with processing the read data request; and

transmitting, via the interface and to the another computing device, a read data response that is based on the processing the read data request.

15. The method of claim 14 further comprising:

maintaining the memory ranking information for the set of SUs within the DSN based on updating a read ranking number corresponding to a SU of the set of SUs based on a number of EDSs of the set of EDSs that are received from the SU of the set of SUs that are successfully used to recover the data segment divided by a total number of corresponding read requests issued to the SU of the set of SUs.

16. The method of claim 14 further comprising:

selecting at least one of the decode threshold number of SUs or the read threshold number of SUs of the set of SUs to service the read data request based on the memory ranking information for the set of SUs based on at least one of identifying the read threshold number of SUs as being associated with highest read ranking numbers or identifying the read threshold number of SUs as being associated with read ranking numbers greater than a minimum ranking threshold level.

17. The method of claim 14 further comprising:

recovering the data segment from the at least one of the decode threshold number of SUs or the read threshold number of SUs of the set of SUs in accordance with processing the read data request including to issue a read slice request to the at least one of the decode threshold number of SUs or the read threshold number of SUs of the set of SUs, dispersed error decode at least one of the decode threshold number of EDSs or the read threshold number of EDSs to reproduce the data segment, and aggregate the data segment with at least one other data segment to reproduce the data object.

18. The method of claim 14 , wherein:

a write threshold number of EDSs provides for a successful transfer of the set of EDSs from a first at least one location in the DSN to a second at least one location in the DSN;

the set of EDSs is of pillar width and includes a pillar number of EDSs;

each of the decode threshold number, the read threshold number, and the write threshold number is less than the pillar number; and

the write threshold number is greater than or equal to the read threshold number that is greater than or equal to the decode threshold number.

19. The method of claim 14 , wherein the computing device includes a SU of the set of SUs within the DSN, a wireless smart phone, a laptop, a tablet, a personal computers (PC), a work station, or a video game device.

20. The method of claim 14 , wherein the DSN includes at least one of a wireless communication system, a wire lined communication system, a non-public intranet system, a public internet system, a local area network (LAN), or a wide area network (WAN).

Assignments (4)
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS Recorded Jun 11, 2025
From: BARCLAYS BANK PLC, AS ADMINISTRATIVE AGENT
To: PURE STORAGE, INC.
Reel/Frame 071558/0523 →
SECURITY INTEREST Recorded Aug 26, 2020
From: PURE STORAGE, INC.
To: BARCLAYS BANK PLC AS ADMINISTRATIVE AGENT
Reel/Frame 053867/0581 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 21, 2019
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: PURE STORAGE, INC.
Reel/Frame 049556/0288 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 12, 2017
From: RESCH, JASON K.; WOZNIAK, ETHAN S.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 044375/0009 →