Patents Assigned to Pure Storage
-
Patent number: 10802763Abstract: 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: GrantFiled: September 20, 2018Date of Patent: October 13, 2020Assignee: PURE STORAGE, INC.Inventors: Jason K. Resch, Greg R. Dhuse
-
Patent number: 10802732Abstract: 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: GrantFiled: May 14, 2019Date of Patent: October 13, 2020Assignee: PURE STORAGE, INC.Inventors: Andrew D. Baptist, Jason K. Resch, Ilya Volvovski
-
Patent number: 10802915Abstract: 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: GrantFiled: April 23, 2019Date of Patent: October 13, 2020Assignee: PURE STORAGE, INC.Inventors: S. Christopher Gladwin, Gary W. Grube, Jason K. Resch
-
Patent number: 10805042Abstract: 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: GrantFiled: February 15, 2017Date of Patent: October 13, 2020Assignee: 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: 10798169Abstract: 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: GrantFiled: April 22, 2019Date of Patent: October 6, 2020Assignee: PURE STORAGE, INC.Inventor: Thomas D. Cocagne
-
Patent number: 10795598Abstract: 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: GrantFiled: December 7, 2017Date of Patent: October 6, 2020Assignee: PURE STORAGE, INC.Inventor: Taher Vohra
-
Patent number: 10795766Abstract: 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: GrantFiled: July 26, 2018Date of Patent: October 6, 2020Assignee: PURE STORAGE, INC.Inventor: Greg R. Dhuse
-
Patent number: 10789020Abstract: 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: GrantFiled: April 30, 2018Date of Patent: September 29, 2020Assignee: Pure Storage, Inc.Inventors: Ronald Karr, Constantine Sapuntzakis, Mark McAuliffe, Farhan Abrol, Neil Vachharajani, Timothy Brennan
-
Patent number: 10789211Abstract: 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: GrantFiled: October 4, 2017Date of Patent: September 29, 2020Assignee: PURE STORAGE, INC.Inventors: Ethan L. Miller, Marco Sanvido
-
Patent number: 10789128Abstract: 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: GrantFiled: February 28, 2017Date of Patent: September 29, 2020Assignee: PURE STORAGE, INC.Inventors: Greg R. Dhuse, Ilir Iljazi
-
Patent number: 10783131Abstract: 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: GrantFiled: January 3, 2018Date of Patent: September 22, 2020Assignee: Pure Storage, Inc.Inventors: Marco Sanvido, Richard Hankins, John Hayes, Steve Hodgson, Feng Wang, Sergey Zhuravlev, Andrew Kleinerman
-
Patent number: 10782892Abstract: 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: GrantFiled: January 31, 2017Date of Patent: September 22, 2020Assignee: Pure Storage, Inc.Inventors: Frederic Lherault, Neil Vachharajani
-
Patent number: 10776046Abstract: 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: GrantFiled: July 6, 2018Date of Patent: September 15, 2020Assignee: PURE STORAGE, INC.Inventors: Roland Dreier, Peter E. Kirkpatrick, Naveen Neelakantam
-
Patent number: 10776034Abstract: 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: GrantFiled: January 31, 2019Date of Patent: September 15, 2020Assignee: Pure Storage, Inc.Inventors: Boris Feigin, Andrew Kleinerman, Svitlana Tumanova, Taher Vohra, Xiaohui Wang
-
Patent number: 10776204Abstract: 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: GrantFiled: October 26, 2018Date of Patent: September 15, 2020Assignee: PURE STORAGE, INC.Inventors: Jason K. Resch, Greg Dhuse, Andrew Baptist
-
Patent number: 10776202Abstract: 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: GrantFiled: September 22, 2017Date of Patent: September 15, 2020Assignee: PURE STORAGE, INC.Inventor: Marco Sanvido
-
Patent number: 10768815Abstract: 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: GrantFiled: April 27, 2018Date of Patent: September 8, 2020Assignee: Pure Storage, Inc.Inventors: Jianting Cao, Wentian Cui, Christopher Golden, David Grunwald, Scott Smith, Qi Zhou
-
Patent number: 10768833Abstract: 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: GrantFiled: November 21, 2017Date of Patent: September 8, 2020Assignee: PURE STORAGE, INC.Inventors: Gary W. Grube, Greg R. Dhuse, Wesley B. Leggette, Jason K. Resch, Andrew D. Baptist, Ilya Volvovski
-
Patent number: 10769016Abstract: 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: GrantFiled: September 28, 2018Date of Patent: September 8, 2020Assignee: PURE STORAGE, INC.Inventors: Wesley B. Leggette, Jason K. Resch, Greg R. Ohuse
-
Patent number: RE48222Abstract: 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: GrantFiled: January 5, 2018Date of Patent: September 22, 2020Assignee: PURE STORAGE, INC.Inventors: John Colgrove, John Hayes, Bo Hong, Ethan Miller