Patents Assigned to Pure Storage
-
Patent number: 11296944Abstract: Policy based path management, including: identifying a plurality of data communications paths between a storage system and an entity that issues input/output (‘I/O’) operations to the storage system; selecting, in dependence upon a path selection policy, a subset of data communications paths from the plurality of data communications paths between the entity and the storage system; and issuing, from the entity to the storage system, I/O operations using only the subset of data communications paths.Type: GrantFiled: March 16, 2018Date of Patent: April 5, 2022Assignee: Pure Storage, Inc.Inventors: Taher Vohra, Patrick East, Neil Vachharajani
-
Patent number: 11294765Abstract: A method for execution by a dispersed storage and task (DST) execution unit includes receiving a write slice request from a requesting entity, where the write slice request includes a plurality of encoded data slices and a corresponding plurality of slice names. The plurality of slice names are interpreted to produce a slice name range. Whether a write lock conflict exists is determined based on the slice name range. An unfavorable write slice response is issued to the requesting entity when the write lock conflict is determined to exist. When the write lock conflict is determined to not exist, local storage of the plurality of encoded data slices is initiated, a favorable write slice response is issued to the requesting entity, and the processing system indicates that the slice name range is not locked when completing the local storage of the plurality of encoded data slices.Type: GrantFiled: April 28, 2020Date of Patent: April 5, 2022Assignee: PURE STORAGE, INC.Inventors: Zachary J. Mark, Ilya Volvovski, Greg R. Dhuse
-
Patent number: 11294568Abstract: A request to store a file is received, an in response to that request multiple data segments are stored in a buffer memory. A first one of those data segments is selected for migration based on a life expectancy of the first data segment, and is migrated from the buffer memory to another memory. Migrating the first data segment includes generating at least one encoded data segment by encoding the first data segment, storing the first data segment to a location in the another memory, and storing addressing information indicating the location in the another memory.Type: GrantFiled: June 2, 2021Date of Patent: April 5, 2022Assignee: PURE STORAGE, INC.Inventors: Andrew Baptist, Jason K. Resch
-
Patent number: 11294893Abstract: A method for querying a storage system is provided. The method includes receiving, at one of a plurality of storage nodes of the storage system, a query relating to metadata of the storage system. The method includes determining which authorities have ownership of ranges of user data to which the query pertains and distributing the query or portions of the query to the authorities that have ownership of the data, wherein each of the authorities access the metadata of the storage system associated with the query. The method includes aggregating replies to the query from the authorities that have ownership of the ranges of user data, to form a query reply.Type: GrantFiled: May 3, 2016Date of Patent: April 5, 2022Assignee: Pure Storage, Inc.Inventor: Par Botes
-
Patent number: 11289169Abstract: A method for processing blocks of flash memory to decrease raw bit errors from the flash memory is provided. The method includes identifying one or more blocks of the flash memory for a refresh operation and writing information regarding the identified blocks, to a data structure. The method includes issuing background reads to the identified blocks, according to the data structure, as the refresh operation. The method may be embodied on a computer readable medium. In some embodiments the background reads may be based on a time based refresh responsive to an increase in raw bit error count in the flash memory over time.Type: GrantFiled: April 10, 2020Date of Patent: March 29, 2022Assignee: Pure Storage, Inc.Inventors: Hari Kannan, Robert Lee, Yuhong Mao
-
Patent number: 11288138Abstract: Recovery in a cloud-based storage system, including: receiving, by the cloud-based storage system among a plurality of storage systems synchronously replicating a dataset, a request to modify the dataset; generating recovery information indicating whether the request to modify the dataset has been applied on all storage systems in the plurality of storage systems synchronously replicating the dataset; and responsive to a system fault, applying a recovery action in dependence upon the recovery information indicating whether the request to modify the dataset has been applied on all storage systems in the plurality of storage systems synchronously replicating the dataset.Type: GrantFiled: July 29, 2019Date of Patent: March 29, 2022Assignee: Pure Storage, Inc.Inventors: Joshua Freilich, Aswin Karumbunathan, Naveen Neelakantam, Ronald Karr
-
Publication number: 20220091937Abstract: A method begins by receiving data to be distributedly stored in a storage network and continues by determining a decode threshold value for storage of the data, wherein the data is to be distributedly stored in the storage network. The method continues by determining a preferred encoded data slice size for storage of the data, where the preferred encoded data slice size is based on a minimum performance level requirement and based on the preferred encoded data slice size and the decode threshold value the method continues by determining a preferred segment size for the data. The method then continues by determining a segmentation scheme for the data based on the preferred segment size for the data and segmenting the data into a plurality of data segments in accordance with the segmentation scheme. The method then continues by determining dispersed error encoding parameters for encoding each data segment and encoding each data segment to produce a set of error encoded data slices.Type: ApplicationFiled: November 30, 2021Publication date: March 24, 2022Applicant: PURE STORAGE, INC.Inventors: Andrew D. Baptist, Jason K. Resch
-
Publication number: 20220091925Abstract: A method includes determining, by a computing device of a storage network, a storage inconsistency exists for a set of encoded data slices based on an indicator of a difference list, where the difference list is regarding storage of the set of encoded data slices within a set of storage units of the storage network and where a data segment is error encoded into the set of encoded data slices. The method further includes determining a storage resolution of a plurality of storage resolutions for the storage inconsistency based on the one or more indicators. The method further includes facilitating the storage resolution to resolve the storage inconsistency for the set of encoded data slices.Type: ApplicationFiled: October 19, 2021Publication date: March 24, 2022Applicant: Pure Storage, Inc.Inventors: Andrew D. Baptist, Ravi V. Khadiwala, Jason K. Resch
-
Patent number: 11281577Abstract: A storage system determines a present amount of reclaimable space in storage memory. The storage system determines a garbage collection directive based on the present amount of reclaimable space in comparison to a target amount of reclaimable space. The storage system selects blocks of storage memory for a group of blocks for garbage collection. Each block selected has greater than or equal to a threshold amount of reclaimable space in accordance with the garbage collection directive. The storage system performs garbage collection, using blocks from the group.Type: GrantFiled: June 19, 2018Date of Patent: March 22, 2022Assignee: Pure Storage, Inc.Inventors: Aswin Karumbunathan, Yanwei Jiang, Naveen Neelakantam, Scott Chao, Bo Feng, Kiron Vijayasankar
-
Patent number: 11281375Abstract: Intelligently compressing data in a storage array that includes a plurality of storage devices, including: prioritizing, in dependence upon an expected benefit to be gained from compressing each data element, one or more data elements; receiving an amount of processing resources available for compressing the one or more of the data elements; and selecting, in dependence upon the prioritization of the one or more data elements and the amount of processing resources available for compressing one or more of the data elements, a data compression algorithm to utilize on one or more of the data elements.Type: GrantFiled: June 28, 2019Date of Patent: March 22, 2022Assignee: Pure Storage, Inc.Inventors: Christopher Golden, Richard Hankins, Aswin Karumbunathan, Naveen Neelakantam, Neil Vachharajani
-
Processing data access requests for different types of data using a decentralized agreement protocol
Patent number: 11283871Abstract: A method includes receiving a data access request regarding a data segment of a data object, where the data segment is one of a plurality of data types and is stored in accordance with a distributed agreement protocol (DAP). The method continues with determining a data type of the data segment. When the data type is a first data type, the method continues with obtaining a first set of DAP configuration information of a plurality of sets of DAP configuration information, where each set of DAP configuration information corresponds to the data type utilized in the storage network. The method continues with performing one or more distributed agreement protocol functions utilizing an identifier of the data segment and the corresponding set of DAP configuration information to select storage units of the storage network. The method continues with sending the data access request to the selected storage units for execution.Type: GrantFiled: April 29, 2020Date of Patent: March 22, 2022Assignee: Pure Storage, Inc.Inventors: Niall J. McShane, Tavis L. Potter, Jason K. Resch -
Patent number: 11281394Abstract: A method of replication in a distributed storage system, performed by the distributed storage system is provided. The method includes managing a first index for data or metadata in a first storage system, the first storage system having a first partitioning scheme. The method includes managing a second index for data or metadata in a second storage system, the second storage system having a second partitioning scheme. The method includes replicating the data or metadata from the first storage system to the second storage system, translating an identifier of the data or metadata from the first storage system, and mapping the replicated data or metadata into the second partitioning scheme, via the translating of the identifier of the data or metadata from the first storage system.Type: GrantFiled: June 24, 2019Date of Patent: March 22, 2022Assignee: Pure Storage, Inc.Inventors: Richard A. Hankins, Igor Ostrovsky, John Colgrove, Cary A. Sandvig, Ronald Karr, Victor Yip, Zong Miao, Abhishek Jain
-
Patent number: 11281532Abstract: A method begins with a processing module obtaining a data object from a user and identifying a plurality of virtual storage vaults (VSVs) for storage of the data object. The method continues with the processing module determining dispersal error encoding parameters associated with a first virtual storage vault and error encoding the data object in accordance with those dispersal error encoding parameters to produce a corresponding plurality of sets of encoded data slices (EDSs), issuing write slice requests for the EDSs and receiving EDS information from at least some of the plurality of VSVs. When the EDS information indicates that a threshold number of VSVs have successfully stored the plurality of sets of encoded data slices within a synchronization timeframe, the method continues with the processing module issuing a favorable response to the user, or when a threshold number of VSVs have not successfully stored the plurality of sets of encoded data slices initiating a retry process.Type: GrantFiled: August 8, 2019Date of Patent: March 22, 2022Assignee: PURE STORAGE, INC.Inventors: Adam M. Gray, Greg R. Dhuse, Andrew D. Baptist, Ravi V. Khadiwala, Wesley B. Leggette, Scott M. Horan, Franco V. Borich, Bart R. Cilfone, Daniel J. Scholl
-
Publication number: 20220083415Abstract: A method for execution by a storage network begins by issuing a decode threshold number of read requests for a set of encoded data slices to a plurality of storage units of a set of storage units and continues by determining whether less than a decode threshold number of read requests has been received in a time window. The method continues by identifying one or more encoded data slices encoded data slices associated with read requests of the decode threshold number of read requests that have not been received and for an encoded data slice of the one or more encoded data slices, issuing a priority read request to a storage unit storing a copy of the encoded data slice. The method then continues by receiving a response from the storage unit storing the copy of the encoded data, where the storage unit storing the copy of the encoded data slice is adapted to delay one or more maintenance tasks in response to the priority read request.Type: ApplicationFiled: November 30, 2021Publication date: March 17, 2022Applicant: Pure Storage, Inc.Inventor: Ilir Iljazi
-
Patent number: 11275681Abstract: A storage array controller may receive a write request comprising data to be stored at one or more solid-state storage devices. A write granularity associated with the write request may be generated that is less than a logical block size associated with the storage array controller. The data associated with the write request may be segmented based on the generated write granularity. The write request may be executed to store the segmented data at the one or more solid-state storage devices.Type: GrantFiled: December 7, 2020Date of Patent: March 15, 2022Assignee: Pure Storage, Inc.Inventors: Gordon James Coleman, Eric Seppanen
-
Patent number: 11275509Abstract: A computer system comprising: a data storage medium comprising a plurality of storage devices configured to store data; and a data storage controller coupled to the data storage medium; wherein the data storage controller is configured to: receive read and write requests targeted to the data storage medium; schedule said read and write requests for processing by said plurality of storage devices; detect a given device of the plurality of devices is exhibiting an unscheduled behavior comprising variable performance by one or more of the plurality of storage devices, wherein the variable performance comprises at least one of a relatively high response latency or relatively low throughput; and schedule one or more reactive operations in response to detecting the occurrence of the unscheduled behavior, said one or more reactive operations being configured to cause the given device to enter a known state.Type: GrantFiled: February 4, 2019Date of Patent: March 15, 2022Assignee: Pure Storage, Inc.Inventors: John Colgrove, Craig Harmer, John Hayes, Bo Hong, Ethan Miller, Feng Wang
-
Patent number: 11269884Abstract: A method for efficiently supporting deletion in a probabilistic data structure, and related computing or storage system are described. A processor, computing system or storage system constructs a table and a summary table for determining whether there is an entry for a value in the table. The summary table has buckets pointed to by address fields of values. Each bucket has a prefix table, a transit table, signature table and a first indicator. The system tracks deletion and addition of items of the table and summary table through the first indicators.Type: GrantFiled: January 15, 2020Date of Patent: March 8, 2022Assignee: Pure Storage, Inc.Inventor: Ethan L. Miller
-
Patent number: 11269230Abstract: An electrochromic device, with an external power supply configured to supply a limited amount of power to the electrochromic device and a boost circuit power supply that is local to the electrochromic device and configured to supply power to the electrochromic device that is larger than the limited amount of power supplied by the external power supply is provided.Type: GrantFiled: August 24, 2017Date of Patent: March 8, 2022Assignee: Pure Storage, Inc.Inventors: Stephen Coffin, Douglas F. Brainard
-
Patent number: 11272009Abstract: A computing device includes an interface configured to interface and communicate with a storage network, 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 determines to execute maintenance operations on a set of memory devices, selects a subset of the set of memory devices for the maintenance operations and initiates execution of the maintenance operations on the subset of memory devices.Type: GrantFiled: March 17, 2021Date of Patent: March 8, 2022Assignee: PURE STORAGE, INC.Inventor: Thomas D. Cocagne
-
Patent number: RE49011Abstract: A system and method for maintaining a mapping table in a data storage subsystem. A data storage subsystem supports multiple mapping tables. Records within a mapping table are arranged in multiple levels which may be logically ordered by time. Each level stores pairs of a key value and a pointer value. New records are inserted in a created new (youngest) level. All levels other than the youngest may be read only. In response to detecting a flattening condition, a data storage controller is configured to identify a group of two or more adjacent levels of the plurality of levels for flattening which are logically adjacent in time. A new level is created and one or more records stored within the group are stored in the new level, in response to detecting each of the one or more records stores a unique key among keys stored within the group.Type: GrantFiled: January 18, 2018Date of Patent: April 5, 2022Assignee: Pure Storage, Inc.Inventors: John Colgrove, John Hayes, Ethan Miller, Cary Sandvig