Patents by Inventor Bruno H. Cabral

Bruno H. Cabral has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Patent number: 11922015
    Abstract: A storage network operates by: issuing a read threshold number of read slice requests to storage units of a set of storage units, where the read threshold number of read slice requests identifies a read threshold number of encoded slices of a set of encoded slices corresponding to a data segment; when one or more other encoded data slices of the read threshold number of encoded slices is not received within a time threshold, facilitating receiving a decode threshold number of encoded slices of the set of encoded slices; decoding the decode threshold number of encoded slices to produce recovered encoded data slices, wherein a number of the recovered encoded data slices corresponds to the read threshold number minus a number of the encoded slices received within the time threshold; and outputting the recovered encoded data slices and the encoded slices of the read threshold number of encoded slices received within the time threshold.
    Type: Grant
    Filed: October 11, 2022
    Date of Patent: March 5, 2024
    Assignee: Pure Storage, Inc.
    Inventors: Bruno H. Cabral, Wesley B. Leggette
  • Publication number: 20240045777
    Abstract: A method for processing data access requests in a storage network. The method includes receiving, by one or more processing modules, a data access request for a data object. A plurality of encoded data slices corresponding to the data object are stored in a distributed manner among a plurality of storage units associated with a plurality of storage sites of the storage network. The method continues with the one or more processing modules selecting respective numbers of storage units at each of the plurality of storage sites to support the data access request. A first computing device that is associated with a first storage site of the plurality of storage sites is also selected to further process the data access request. The method continues with the one or more processing modules transmitting the data access request to the first computing device to be further processed.
    Type: Application
    Filed: October 16, 2023
    Publication date: February 8, 2024
    Applicant: Pure Storage, Inc.
    Inventors: Jason K. Resch, Wesley B. Leggette, Ravi V. Khadiwala, Bruno H. Cabral
  • Publication number: 20230205630
    Abstract: A processing system of a storage network operates by: sending, to at least one storage unit of the storage network, at least one read request corresponding to at least a read threshold number of a set of encoded data slices to be retrieved, wherein the set of encoded data slices correspond to data, wherein the data is coded in accordance with dispersed error coding parameters that include a write threshold number and the read threshold number, wherein the write threshold number is a number of encoded data slices in the set of encoded data slices and wherein the read threshold number is a number of the set of encoded data slices that is required to decode the data; receiving, via the at least one processing circuit and from the at least one storage unit, a first subset of the set of encoded data slices, wherein the first subset is missing at least one missing encoded data slice that was not received from the at least one storage unit in response to the at least one read request and wherein a number of encoded
    Type: Application
    Filed: February 27, 2023
    Publication date: June 29, 2023
    Applicant: Pure Storage, Inc.
    Inventors: Ilya Volvovski, Bruno H. Cabral, Manish Motwani, Thomas D. Cocagne, Timothy W. Markison, Gary W. Grube, Wesley B. Leggette, Jason K. Resch, Michael C. Storm, Greg R. Dhuse, Yogesh R. Vedpathak, Ravi V. Khadiwala
  • Patent number: 11625300
    Abstract: A processing system of a storage network operates by: sending, to at least one storage unit of the storage network, at least one read request corresponding to at least a read threshold number of a set of encoded data slices to be retrieved, wherein the set of encoded data slices correspond to a data segment, wherein the data segment is coded in accordance with dispersed error coding parameters that include a write threshold number and the read threshold number, wherein the write threshold number is a number of encoded data slices in the set of encoded data slices and wherein the read threshold number is a number of the set of slices that is required to decode the data segment; receiving, via the at least one processing circuit and from the at least one storage unit, a first subset of encoded data slices of the set of encoded data slices, wherein the first subset of encoded data slices is missing at least one missing encoded data slice that was not received from the at least one storage unit in response to the
    Type: Grant
    Filed: September 20, 2022
    Date of Patent: April 11, 2023
    Assignee: Pure Storage, Inc.
    Inventors: Ilya Volvovski, Bruno H. Cabral, Manish Motwani, Thomas D. Cocagne, Timothy W. Markison, Gary W. Grube, Wesley B. Leggette, Jason K. Resch, Michael C. Storm, Greg R. Dhuse, Yogesh R. Vedpathak, Ravi V. Khadiwala
  • Publication number: 20230056072
    Abstract: A storage network operates by: issuing a read threshold number of read slice requests to storage units of a set of storage units, where the read threshold number of read slice requests identifies a read threshold number of encoded slices of a set of encoded slices corresponding to a data segment; when one or more other encoded data slices of the read threshold number of encoded slices is not received within a time threshold, facilitating receiving a decode threshold number of encoded slices of the set of encoded slices; decoding the decode threshold number of encoded slices to produce recovered encoded data slices, wherein a number of the recovered encoded data slices corresponds to the read threshold number minus a number of the encoded slices received within the time threshold; and outputting the recovered encoded data slices and the encoded slices of the read threshold number of encoded slices received within the time threshold.
    Type: Application
    Filed: October 11, 2022
    Publication date: February 23, 2023
    Applicant: Pure Storage, Inc.
    Inventors: Bruno H. Cabral, Wesley B. Leggette
  • Publication number: 20230009883
    Abstract: A processing system of a storage network operates by: sending, to at least one storage unit of the storage network, at least one read request corresponding to at least a read threshold number of a set of encoded data slices to be retrieved, wherein the set of encoded data slices correspond to a data segment, wherein the data segment is coded in accordance with dispersed error coding parameters that include a write threshold number and the read threshold number, wherein the write threshold number is a number of encoded data slices in the set of encoded data slices and wherein the read threshold number is a number of the set of slices that is required to decode the data segment; receiving, via the at least one processing circuit and from the at least one storage unit, a first subset of encoded data slices of the set of encoded data slices, wherein the first subset of encoded data slices is missing at least one missing encoded data slice that was not received from the at least one storage unit in response to the
    Type: Application
    Filed: September 20, 2022
    Publication date: January 12, 2023
    Applicant: Pure Storage, Inc.
    Inventors: Ilya Volvovski, Bruno H. Cabral, Manish Motwani, Thomas D. Cocagne, Timothy W. Markison, Gary W. Grube, Wesley B. Leggette, Jason K. Resch, Michael C. Storm, Greg R. Dhuse, Yogesh R. Vedpathak, Ravi V. Khadiwala
  • Patent number: 11513685
    Abstract: A method for execution by a dispersed storage and task (DST) client module includes issuing a read threshold number of read slice requests are issued to storage units of the set of storage units. One or more encoded slices of a selected read threshold number of encoded slices are received. When a next encoded data slice of a decode threshold number of encoded data slices is received within a response timeframe, outputting of the next encoded data slice is initiated. When the next encoded data slice is not received within the response timeframe, receiving of another decode threshold number of encoded slices of the set of encoded slices is facilitated. The other decode threshold number of encoded slices are decoded to produce recovered encoded data slices, where the recovered encoded data slices includes at least a recovered next encoded data. Outputting of the recovered next encoded data slice is initiated.
    Type: Grant
    Filed: September 3, 2021
    Date of Patent: November 29, 2022
    Assignee: PURE STORAGE, INC.
    Inventors: Bruno H. Cabral, Wesley B. Leggette
  • Patent number: 11487620
    Abstract: A network storage system operates by: sending, to at least one storage unit of a storage network, at least one read request corresponding to at least a read threshold number of a set of encoded data slices to be retrieved, wherein the set of encoded data slices correspond to a data segment, wherein the data segment is codable in accordance with dispersed error coding parameters that include a write threshold number and the read threshold number, wherein the write threshold number is a number of encoded data slices in the set of encoded data slices and wherein the read threshold number is a number of the set of slices that is required to decode the data segment; receiving from the at least one storage unit, a first subset of encoded data slices of the set of encoded data slices, wherein the first subset of encoded data slices is missing at least one missing encoded data slice from the number of the set of slices that is required to decode the data segment and that was not received from the at least one storage
    Type: Grant
    Filed: June 27, 2022
    Date of Patent: November 1, 2022
    Assignee: PURE STORAGE, INC.
    Inventors: Ilya Volvovski, Bruno H. Cabral, Manish Motwani, Thomas D. Cocagne, Timothy W. Markison, Gary W. Grube, Wesley B. Leggette, Jason K. Resch, Michael C. Storm, Greg R. Dhuse, Yogesh R. Vedpathak, Ravi V. Khadiwala
  • Publication number: 20220327022
    Abstract: A network storage system operates by: sending, to at least one storage unit of a storage network, at least one read request corresponding to at least a read threshold number of a set of encoded data slices to be retrieved, wherein the set of encoded data slices correspond to a data segment, wherein the data segment is codable in accordance with dispersed error coding parameters that include a write threshold number and the read threshold number, wherein the write threshold number is a number of encoded data slices in the set of encoded data slices and wherein the read threshold number is a number of the set of slices that is required to decode the data segment; receiving from the at least one storage unit, a first subset of encoded data slices of the set of encoded data slices, wherein the first subset of encoded data slices is missing at least one missing encoded data slice from the number of the set of slices that is required to decode the data segment and that was not received from the at least one storage
    Type: Application
    Filed: June 27, 2022
    Publication date: October 13, 2022
    Applicant: Pure Storage, Inc.
    Inventors: Ilya Volvovski, Bruno H. Cabral, Manish Motwani, Thomas D. Cocagne, Timothy W. Markison, Gary W. Grube, Wesley B. Leggette, Jason K. Resch, Michael C. Storm, Greg R. Dhuse, Yogesh R. Vedpathak, Ravi V. Khadiwala
  • Patent number: 11429486
    Abstract: In various embodiments, a method is presented for execution by a processing circuit of a storage network device that includes a processor. The method comprises: receiving, via the processing circuit, a first subset of encoded data slices of a set of encoded data slices corresponding to a data segment; identifying, via the processing circuit, at least one missing encoded data slice of the first subset of slices that is required to decode the data segment; generating, via the processing circuit, at least one rebuilt encoded data slice corresponding to the at least one missing encoded data slice utilizing locally decodable redundancy data; and recovering, via the processing circuit, the data segment based on the at least one rebuilt encoded data slice and the first subset of encoded data slices.
    Type: Grant
    Filed: October 30, 2020
    Date of Patent: August 30, 2022
    Assignee: PURE STORAGE, INC.
    Inventors: Ilya Volvovski, Bruno H. Cabral, Manish Motwani, Thomas D. Cocagne, Timothy W. Markison, Gary W. Grube, Wesley B. Leggette, Jason K. Resch, Michael C. Storm, Greg R. Dhuse, Yogesh R. Vedpathak, Ravi V. Khadiwala
  • Publication number: 20220261155
    Abstract: A computing device includes an interface configured to interface and communicate with a storage network, a memory that stores operational instructions, and a processing module operably coupled to the interface and memory such that the processing module, when operable within the computing device based on the operational instructions, is configured to perform various operations. A computing device receives a data access request for an encoded data slice associated with a data object, determines whether the encoded data slice is stored in the first memory and in response to a determination that the encoded data slice is not stored in the first memory, issues another data access request for the encoded data slice to a second memory, where the first memory includes access characteristics that are faster than the second memory. When a data access response including the encoded data slice is received from the second memory, a response including the encoded data slice is transmitted.
    Type: Application
    Filed: April 29, 2022
    Publication date: August 18, 2022
    Applicant: Pure Storage, Inc.
    Inventors: Bruno H. Cabral, Joseph M. Kaczmarek, Ravi V. Khadiwala, Ilya Volvovski, Manish Motwani, Ethan S. Wozniak
  • Publication number: 20210397349
    Abstract: A method for execution by a dispersed storage and task (DST) client module includes issuing a read threshold number of read slice requests are issued to storage units of the set of storage units. One or more encoded slices of a selected read threshold number of encoded slices are received. When a next encoded data slice of a decode threshold number of encoded data slices is received within a response timeframe, outputting of the next encoded data slice is initiated. When the next encoded data slice is not received within the response timeframe, receiving of another decode threshold number of encoded slices of the set of encoded slices is facilitated. The other decode threshold number of encoded slices are decoded to produce recovered encoded data slices, where the recovered encoded data slices includes at least a recovered next encoded data. Outputting of the recovered next encoded data slice is initiated.
    Type: Application
    Filed: September 3, 2021
    Publication date: December 23, 2021
    Inventors: Bruno H. Cabral, Wesley B. Leggette
  • Patent number: 11144204
    Abstract: A method for execution by a dispersed storage and task (DST) client module includes issuing a read threshold number of read slice requests are issued to storage units of the set of storage units. One or more encoded slices of a selected read threshold number of encoded slices are received. When a next encoded data slice of a decode threshold number of encoded data slices is received within a response timeframe, outputting of the next encoded data slice is initiated. When the next encoded data slice is not received within the response timeframe, receiving of another decode threshold number of encoded slices of the set of encoded slices is facilitated. The other decode threshold number of encoded slices are decoded to produce recovered encoded data slices, where the recovered encoded data slices includes at least a recovered next encoded data. Outputting of the recovered next encoded data slice is initiated.
    Type: Grant
    Filed: April 16, 2020
    Date of Patent: October 12, 2021
    Assignee: PURE STORAGE, INC.
    Inventors: Bruno H. Cabral, Wesley B. Leggette
  • Patent number: 10831600
    Abstract: A method for execution by a dispersed storage and task (DST) execution unit includes identifying a plurality of pending operations. A resource availability level to support execution of at least one of the plurality of pending operations is determined, and a required resource level to execute the at least one of the plurality of pending operations is determined. A balance factor between at least two types of the plurality of pending operations is determined based on the resource availability level and the required resource level. Determination of required timing of the execution of the at least one of the plurality of pending operations is coordinated with at least one other DST execution unit. An operation execution schedule is updated based on the required resource levels, the resource availability level, the balance factor, and the required timing of the execution.
    Type: Grant
    Filed: April 21, 2020
    Date of Patent: November 10, 2020
    Assignee: PURE STORAGE, INC.
    Inventors: Ilya Volvovski, Bruno H. Cabral, Manish Motwani, Thomas D. Cocagne, Timothy W. Markison, Gary W. Grube, Wesley B. Leggette, Jason K. Resch, Michael C. Storm, Greg R. Dhuse, Yogesh R. Vedpathak, Ravi V. Khadiwala
  • Patent number: 10635312
    Abstract: A method for execution by a dispersed storage and task (DST) client module includes issuing a read threshold number of read slice requests are issued to storage units of the set of storage units. One or more encoded slices of a selected read threshold number of encoded slices are received. When a next encoded data slice of a decode threshold number of encoded data slices is received within a response timeframe, outputting of the next encoded data slice is initiated. When the next encoded data slice is not received within the response timeframe, receiving of another decode threshold number of encoded slices of the set of encoded slices is facilitated. The other decode threshold number of encoded slices are decoded to produce recovered encoded data slices, where the recovered encoded data slices includes at least a recovered next encoded data.
    Type: Grant
    Filed: October 19, 2018
    Date of Patent: April 28, 2020
    Assignee: PURE STORAGE, INC.
    Inventors: Bruno H. Cabral, Wesley B. Leggette
  • Patent number: 10509577
    Abstract: A method for execution by a processing system of a dispersed storage and task (DST) processing unit comprises: receiving one or more encoded data slices for storage; storing the one or more encoded data slices in one or more memories of a set of memories; determining a level redundancy for the one or more encoded data slices; generating redundancy information for the one or more encoded data slices in accordance with the level redundancy; storing the redundancy information in another one or more memories of the set of memories; determining to update the level of redundancy; determining an updated level of redundancy based on one or more of a storage utilization level and a storage reliability level; updating the redundancy information based on the updated level of redundancy and updating storage of the redundancy information based on the updated redundancy information.
    Type: Grant
    Filed: July 11, 2018
    Date of Patent: December 17, 2019
    Assignee: PURE STORAGE, INC.
    Inventors: Ilya Volvovski, Bruno H. Cabral, Manish Motwani, Thomas D. Cocagne, Timothy W. Markison, Gary W. Grube, Wesley B. Leggette, Jason K. Resch, Michael Colin Storm, Greg R. Dhuse, Yogesh R. Vedpathak, Ravi V. Khadiwala
  • Publication number: 20190056868
    Abstract: A method for execution by a dispersed storage and task (DST) client module includes issuing a read threshold number of read slice requests are issued to storage units of the set of storage units. One or more encoded slices of a selected read threshold number of encoded slices are received. When a next encoded data slice of a decode threshold number of encoded data slices is received within a response timeframe, outputting of the next encoded data slice is initiated. When the next encoded data slice is not received within the response timeframe, receiving of another decode threshold number of encoded slices of the set of encoded slices is facilitated. The other decode threshold number of encoded slices are decoded to produce recovered encoded data slices, where the recovered encoded data slices includes at least a recovered next encoded data.
    Type: Application
    Filed: October 19, 2018
    Publication date: February 21, 2019
    Inventors: Bruno H. Cabral, Wesley B. Leggette
  • Publication number: 20180365105
    Abstract: A method for execution by a dispersed storage and task (DST) execution unit includes identifying a plurality of pending operations. A resource availability level to support execution of at least one of the plurality of pending operations is determined, and a required resource level to execute the at least one of the plurality of pending operations is determined. A balance factor between at least two types of the plurality of pending operations is determined based on the resource availability level and the required resource level. Determination of required timing of the execution of the at least one of the plurality of pending operations is coordinated with at least one other DST execution unit. An operation execution schedule is updated based on the required resource levels, the resource availability level, the balance factor, and the required timing of the execution.
    Type: Application
    Filed: August 22, 2018
    Publication date: December 20, 2018
    Inventors: Ilya Volvovski, Bruno H. Cabral, Manish Motwani, Thomas D. Cocagne, Timothy W. Markison, Gary W. Grube, Wesley B. Leggette, Jason K. Resch, Michael C. Storm, Greg R. Dhuse, Yogesh R. Vedpathak, Ravi V. Khadiwala
  • Publication number: 20180341417
    Abstract: A method for execution by a processing system of a dispersed storage and task (DST) processing unit comprises: receiving one or more encoded data slices for storage; storing the one or more encoded data slices in one or more memories of a set of memories; determining a level redundancy for the one or more encoded data slices; generating redundancy information for the one or more encoded data slices in accordance with the level redundancy; storing the redundancy information in another one or more memories of the set of memories; determining to update the level of redundancy; determining an updated level of redundancy based on one or more of a storage utilization level and a storage reliability level; updating the redundancy information based on the updated level of redundancy and updating storage of the redundancy information based on the updated redundancy information.
    Type: Application
    Filed: July 11, 2018
    Publication date: November 29, 2018
    Inventors: Ilya Volvovski, Bruno H. Cabral, Manish Motwani, Thomas D. Cocagne, Timothy W. Markison, Gary W. Grube, Wesley B. Leggette, Jason K. Resch, Michael Colin Storm, Greg R. Dhuse, Yogesh R. Vedpathak, Ravi V. Khadiwala