Patents Assigned to Pure Storage
  • Patent number: 10802763
    Abstract: A method for execution by one or more processing modules of one or more computing devices of a dispersed storage network (DSN), the method begins by determining a slice name of an encoded data slice to verify, obtaining the encoded data slice and compressing the encoded data slice to produce a compressed encoded data slice, determining a storage set of DS units associated with the slice name, sending compressed encoded data slice partial request messages to the storage set of DS units, and receiving at least a decode threshold number of compressed encoded data slice partial response messages to produce compressed encoded data slice partials. The method continues by determining whether a sum of the compressed encoded data slice partials compares favorably to the compressed encoded data slice and indicating a failed test when the comparison is not favorable and indicating a passed test when the comparison is favorable.
    Type: Grant
    Filed: September 20, 2018
    Date of Patent: October 13, 2020
    Assignee: PURE STORAGE, INC.
    Inventors: Jason K. Resch, Greg R. Dhuse
  • Patent number: 10802732
    Abstract: A method includes obtaining a plurality of sets of write requests regarding a plurality of sets of encoded data slices. During a first time period, the method continues by identifying a set of storage units of a dispersed storage network and identifying a first namespace subrange of a namespace associated with the set of storage units. The method continues by issuing a first set of write requests of the plurality of sets of write requests to a first subset of storage units of the set of storage units regarding first sets of encoded data slices to be stored in the first namespace subrange. The method continues by issuing a second set of write requests of the plurality of sets of write requests to a second subset of storage units of the set of storage units regarding second sets of encoded data slices to be stored in the first namespace subrange.
    Type: Grant
    Filed: May 14, 2019
    Date of Patent: October 13, 2020
    Assignee: PURE STORAGE, INC.
    Inventors: Andrew D. Baptist, Jason K. Resch, Ilya Volvovski
  • Patent number: 10802915
    Abstract: A method includes upon storage of a set of encoded data slices in one or more sets of storage units of a dispersed storage network (DSN), setting, by a computing device of the DSN, a deletion time for the set of encoded data slices and an encoded data slice reduction time for the set of encoded data slices. The encoded data slice reduction time is set at a time prior to the deletion time. Upon expiration of the encoded data slice reduction time, the method further includes implementing an encoded data slice reduction scheme. The encoded data slice reduction scheme includes one or more of: a reduced rebuild operation and an explicit deletion. The explicit deletion includes deleting encoded data slices such that a remaining number of encoded data slices is equal to or exceeds a decode threshold number and is less than a pillar width number.
    Type: Grant
    Filed: April 23, 2019
    Date of Patent: October 13, 2020
    Assignee: PURE STORAGE, INC.
    Inventors: S. Christopher Gladwin, Gary W. Grube, Jason K. Resch
  • Patent number: 10805042
    Abstract: A method for execution by a computing device of a dispersed storage network (DSN). The method begins by dispersed storage error encoding a data segment of data into a set of encoded data slices, wherein data blocks of the data segment are arranged into a data matrix, wherein the data matrix is multiplied by an encoding matrix to create the set of encoded data slices. The method continues by arranging data blocks of an encoded data slice into a second data matrix and multiplying the second data matrix with a second encoding matrix to produce a set of transmission data slices. The method continues with identifying a plurality of paths for transmitting a decode threshold number of transmission data slices to a storage unit of the DSN. The method continues by transmitting the decode threshold number of transmission data slices to the storage unit via the plurality of paths.
    Type: Grant
    Filed: February 15, 2017
    Date of Patent: October 13, 2020
    Assignee: PURE STORAGE, INC.
    Inventors: Andrew D. Baptist, Greg R. Dhuse, S. Christopher Gladwin, Gary W. Grube, Timothy W. Markison, Jason K. Resch, Ilya Volvovski
  • Patent number: 10798169
    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 detects memory error(s) associated with memory device(s) of set(s) of storage units (SUs). The computing device processes the memory error(s) to generate a rebuilding priority level for at least some EDS(s) and establishes an EDS scanning rate. The computing device scans the EDS(s) based on the EDS scanning rate. When an EDS error is detected, the computing device updates the rebuilding priority level to generate an updated rebuilding priority level for the at least some of the set of EDSs and facilitates generation at least one rebuilt EDS for the EDS error based on the updated rebuilding priority level.
    Type: Grant
    Filed: April 22, 2019
    Date of Patent: October 6, 2020
    Assignee: PURE STORAGE, INC.
    Inventor: Thomas D. Cocagne
  • Patent number: 10795598
    Abstract: Volume migration among a set of storage systems synchronously replicating a dataset for a volume, where volume migration includes: initiating a transfer of the volume in dependence upon determining that a performance metric for accessing the volume stored on a first storage system would improve if transferred to a second storage system; and during the transfer of the volume: determining status information for the transfer; intercepting an I/O operation directed to the volume; and directing, in dependence upon the status information, the I/O operation to either the first storage system or the second storage system.
    Type: Grant
    Filed: December 7, 2017
    Date of Patent: October 6, 2020
    Assignee: PURE STORAGE, INC.
    Inventor: Taher Vohra
  • Patent number: 10795766
    Abstract: A method for a distributed storage network (DSN) includes retrieving a slice of a chunk for execution of a partial task, identifying a record configuration of the slice, facilitating processing of a partial task on at least one record of the slice, and when the slice includes a partial record, identifying a slice location of another slice that includes a remaining partial record corresponding to the partial record, and when the slice location is favorable, retrieving the other slice from the slice location, and facilitating processing of the partial task on at least one record of the other slice.
    Type: Grant
    Filed: July 26, 2018
    Date of Patent: October 6, 2020
    Assignee: PURE STORAGE, INC.
    Inventor: Greg R. Dhuse
  • Patent number: 10789020
    Abstract: Staging data on a storage element integrating fast durable storage and bulk durable storage, including: receiving, at a storage element integrating fast durable storage and bulk durable storage, a data storage operation from a host computer; storing data corresponding to the data storage operation within fast durable storage in accordance with a first data resiliency technique; and responsive to detecting a condition for transferring data between fast durable storage and bulk durable storage, transferring the data from fast durable storage to bulk durable storage in accordance with a second data resiliency technique.
    Type: Grant
    Filed: April 30, 2018
    Date of Patent: September 29, 2020
    Assignee: Pure Storage, Inc.
    Inventors: Ronald Karr, Constantine Sapuntzakis, Mark McAuliffe, Farhan Abrol, Neil Vachharajani, Timothy Brennan
  • Patent number: 10789211
    Abstract: In one implementation, a method includes identifying, by a storage system controller associated with a plurality of storage devices, a first content-dependent feature associated with a data sector and determining, by the storage system controller, a baseline data sector associated with the data sector. The method further includes determining, by the storage system controller, a content-dependent delta between the first content-dependent feature and a second content-dependent feature of the baseline data sector and providing the content-dependent delta and an indicator to the baseline data sector for storage on the plurality of storage devices.
    Type: Grant
    Filed: October 4, 2017
    Date of Patent: September 29, 2020
    Assignee: PURE STORAGE, INC.
    Inventors: Ethan L. Miller, Marco Sanvido
  • Patent number: 10789128
    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 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. Based on a detected storage error, the computing device is configured to determine availability status of encoded data slices (EDSs) within a set of EDSs. When at least a threshold number of EDSs are available, the computing device is configured to initiate a rebuilding function to abate the detected storage error. When less than the threshold number of EDSs are available, the computing device is configured to initiate a slice repair function to at least one storage unit (SU) to abate the detected storage error.
    Type: Grant
    Filed: February 28, 2017
    Date of Patent: September 29, 2020
    Assignee: PURE STORAGE, INC.
    Inventors: Greg R. Dhuse, Ilir Iljazi
  • Patent number: 10783131
    Abstract: A system and method for efficiently storing data in a storage system. A data storage subsystem includes multiple data storage locations on multiple storage devices in addition to at least one mapping table. A data storage controller determines whether data to store in the storage subsystem has one or more patterns of data intermingled with non-pattern data within an allocated block. Rather than store the one or more pattern on the storage devices, the controller stores information in a header on the storage devices. The information includes at least an offset for the first instance of a pattern, a pattern length, and an identification of the pattern. The data may be reconstructed for a corresponding read request from the information stored in the header.
    Type: Grant
    Filed: January 3, 2018
    Date of Patent: September 22, 2020
    Assignee: Pure Storage, Inc.
    Inventors: Marco Sanvido, Richard Hankins, John Hayes, Steve Hodgson, Feng Wang, Sergey Zhuravlev, Andrew Kleinerman
  • Patent number: 10782892
    Abstract: Systems, methods, and computer readable storage mediums for discovering volumes which are good candidates for space reclamation. A storage subsystem identifies the file system storage capacity for a given volume from the file system metadata of the given volume. Then, the storage subsystem compares the file system capacity of the given volume to the allocated capacity on the storage subsystem. If the allocated capacity is greater than the file system capacity by a given threshold, the storage subsystem marks the given volume as a candidate for space reclamation and generates an alert to the user to reclaim the space of the given volume.
    Type: Grant
    Filed: January 31, 2017
    Date of Patent: September 22, 2020
    Assignee: Pure Storage, Inc.
    Inventors: Frederic Lherault, Neil Vachharajani
  • Patent number: 10776046
    Abstract: In one implementation, a method includes receiving code associated with two or more cores of a storage array controller. The method further includes determining, by the storage array controller, that the code is executable and read-only. The method further includes loading, based on the determination, the code into two or more memory pages corresponding to the two or more cores, wherein each of the two or more memory pages is local to each of the two or more cores, respectively.
    Type: Grant
    Filed: July 6, 2018
    Date of Patent: September 15, 2020
    Assignee: PURE STORAGE, INC.
    Inventors: Roland Dreier, Peter E. Kirkpatrick, Naveen Neelakantam
  • Patent number: 10776034
    Abstract: A method for migration of data is provided. The method includes triggering a rebuild of data according to a first migration mechanism from a first storage drive to a second storage drive. Monitoring space utilization associated with the second storage drive, and adaptively switching the migration of the data from the first migration mechanism to a second migration mechanism based on the monitoring.
    Type: Grant
    Filed: January 31, 2019
    Date of Patent: September 15, 2020
    Assignee: Pure Storage, Inc.
    Inventors: Boris Feigin, Andrew Kleinerman, Svitlana Tumanova, Taher Vohra, Xiaohui Wang
  • Patent number: 10776204
    Abstract: A method includes identifying an independent data object of a plurality of independent data objects for retrieval from dispersed storage network (DSN) memory. The method further includes determining a mapping of the plurality of independent data objects into a data matrix, wherein the mapping is in accordance with the dispersed storage error encoding function. The method further includes identifying, based on the mapping, an encoded data slice of the set of encoded data slices corresponding to the independent data object. The method further includes sending a retrieval request to a storage unit of the DSN memory regarding the encoded data slice. When the encoded data slice is received, the method further includes decoding the encoding data slice in accordance with the dispersed storage error encoding function and the mapping to reproduce the independent data object.
    Type: Grant
    Filed: October 26, 2018
    Date of Patent: September 15, 2020
    Assignee: PURE STORAGE, INC.
    Inventors: Jason K. Resch, Greg Dhuse, Andrew Baptist
  • Patent number: 10776202
    Abstract: In one implementation, a method includes detecting, by a storage system controller associated with a plurality of storage devices, a first anomaly corresponding to a first data shard of a redundant array of independent disks (RAID) group and determining, by the storage system controller, that the first anomaly corresponding to the first data shard is not to be corrected within the RAID group. The method further includes removing the first data shard from the RAID group and recalculating, by the storage system controller, one or more error recovery codes corresponding to the RAID group from a plurality of remaining data shards of the RAID group, without the first data shard.
    Type: Grant
    Filed: September 22, 2017
    Date of Patent: September 15, 2020
    Assignee: PURE STORAGE, INC.
    Inventor: Marco Sanvido
  • Patent number: 10768815
    Abstract: Performing a non-disruptive upgrade of data in a storage system that includes a plurality of storage devices and a storage controller, including: creating new data in a new data format, wherein the new data includes a reference to old data in an old data format, wherein system software in the storage system can utilize data in the new data format and the old data format; determining that a portion of the volume has changed; and responsive to determining that the portion of the volume has changed, updating the new data to include a reference to old data associated with a portion of the volume that precedes the changed portion of the volume, new data associated with the changed portion of the volume, and a reference to old data associated with a portion of the volume that follows the changed portion of the volume.
    Type: Grant
    Filed: April 27, 2018
    Date of Patent: September 8, 2020
    Assignee: Pure Storage, Inc.
    Inventors: Jianting Cao, Wentian Cui, Christopher Golden, David Grunwald, Scott Smith, Qi Zhou
  • Patent number: 10768833
    Abstract: A method includes dividing dispersed storage error encoding of a data object into a plurality of operations based on at least one of the data object and available computing devices for executing the dispersed storage error encoding. The method further includes allocating the plurality of operations to the available computing devices, where a first encoding operation of the plurality of encoding operations is allocated to a first computing device of the available computing devices. The method further includes coordinating execution of the plurality of operations by the available computing devices to dispersed storage error encode the data object into a plurality of sets of encoded data slices and a corresponding plurality of sets of slice names, and write the plurality of sets of encoded data slices based on the corresponding plurality of sets of slice names to a set of storage units.
    Type: Grant
    Filed: November 21, 2017
    Date of Patent: September 8, 2020
    Assignee: PURE STORAGE, INC.
    Inventors: Gary W. Grube, Greg R. Dhuse, Wesley B. Leggette, Jason K. Resch, Andrew D. Baptist, Ilya Volvovski
  • Patent number: 10769016
    Abstract: A method for execution by a dispersed storage and task (DST) client module includes obtaining a plurality of sorted data entries. A data access performance goal level associated with the plurality of sorted data entries is obtained, and obtaining DSN performance information is obtained. Compression parameters are selected based on the data access performance goal level and the DSN performance information. Sorted data entries of the plurality of sorted data entries are selected based on the selected compression parameters to produce a data object. The data object is compressed to produce a compressed data object using the selected compression parameters. The compressed data object is dispersed storage error encoded to produce one or more sets of encoded data slices for storage in a set of storage units.
    Type: Grant
    Filed: September 28, 2018
    Date of Patent: September 8, 2020
    Assignee: PURE STORAGE, INC.
    Inventors: Wesley B. Leggette, Jason K. Resch, Greg R. Ohuse
  • Patent number: RE48222
    Abstract: A system and method for dynamic RAID geometries. A computer system comprises client computers and data storage arrays coupled to one another via a network. A data storage array utilizes solid-state drives and Flash memory cells for data storage. A storage controller within a data storage array is configured to configure a first subset of the storage devices for use in a first RAID layout, the first RAID layout including a first set of redundant data. The controller further configures a second subset of the storage devices for use in a second RAID layout, the second RAID layout including a second set of redundant data. Additionally, the controller configure an additional device not included in either the first subset or the second subset to store redundant data for both the first RAID layout and the second RAID layout.
    Type: Grant
    Filed: January 5, 2018
    Date of Patent: September 22, 2020
    Assignee: PURE STORAGE, INC.
    Inventors: John Colgrove, John Hayes, Bo Hong, Ethan Miller