Patents Assigned to Pure Storage
-
Patent number: 10693964Abstract: A storage system is provided. The storage system includes a plurality of storage nodes, each of the plurality of storage nodes having a plurality of storage units with storage memory. The system includes a first network coupling the plurality of storage nodes and a second network coupled to at least a subset of the plurality of storage units of each of the plurality of storage nodes such that one of the plurality of storage units of a first one of the plurality of storage nodes can initiate or relay a command to one of the plurality of storage units of a second one of the plurality of storage nodes via the second network without the command passing through the first network.Type: GrantFiled: January 7, 2019Date of Patent: June 23, 2020Assignee: Pure Storage, Inc.Inventors: Par Botes, John Hayes, Zhangxi Tan
-
Patent number: 10691567Abstract: Dynamically forming a failure domain in a storage system that includes a plurality of blades, each blade mounted within one of a plurality of chassis, including: identifying, in dependence upon a failure domain formation policy, an available configuration for a failure domain that includes a first blade mounted within a first chassis and a second blade mounted within a second chassis, wherein each chassis is configured to support multiple types of blades; and creating the failure domain in accordance with the available configuration.Type: GrantFiled: June 3, 2016Date of Patent: June 23, 2020Assignee: Pure Storage, Inc.Inventors: John Davis, Robert Lee
-
Patent number: 10686880Abstract: A dispersed storage and task (DST) processing unit receives a data access request corresponding to a data segment. Range availability information is obtained for a plurality of DST execution units of the DST network. A subset of the plurality of DST execution units is selected based on the range availability information and a threshold number corresponding to the data access request. Execution unit access requests are generated and sent to the subset of the plurality of DST execution units corresponding to a plurality of slices of the data segment, wherein the execution unit access requests include address information that is based on the range availability information.Type: GrantFiled: June 26, 2014Date of Patent: June 16, 2020Assignee: PURE STORAGE, INC.Inventors: Andrew George Peake, Jason K. Resch
-
Patent number: 10678622Abstract: Monitoring the health status of a distributed storage network (DSN) and scheduling maintenance tasks relating to identified memory failures. In various examples, monitoring the health status of the DSN can include obtaining status information regarding storage units of the DSN and, based thereon, determining that memory of one or more of the storage units requires repair. Physical locations for identified storage units are determined, as well as the level of data loss risk associated with encoded data stored in the storage units. Based on this information, a repair plan is generated for and issued to the identified storage units. A repair plan may include, for example, an ordered list of maintenance tasks that are prioritized to balance data loss risk considerations with repair effort efficiency considerations. The maintenance tasks may be mapped to available service operators for performing the desired repairs (e.g., based on physical locations of the storage units).Type: GrantFiled: February 7, 2017Date of Patent: June 9, 2020Assignee: PURE STORAGE, INC.Inventors: Manish Motwani, Jason K. Resch
-
Patent number: 10678619Abstract: 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. The computing device detects a state change within the DSN based on at least one signal received via an interface. The computing device obtains a state descriptor, a timestamp, and state parameters. The computing device then generates a log record entry based on aggregation of the state change, the state descriptor, the timestamp, and/or the state parameters. The computing device then facilitates storage of the log record entry within event memory of the DSN.Type: GrantFiled: September 26, 2017Date of Patent: June 9, 2020Assignee: Pure Storage, Inc.Inventors: Greg R. Dhuse, Yogesh R. Vedpathak
-
Patent number: 10681134Abstract: A method begins by obtaining scoring information for a rebuilding for one or more storage units of a set of storage units of the DSN. The method continues by determining based on the scoring information that a first input/output rate of a plurality of input/output rates for a first rebuilding rate of a plurality of rebuilding rates exceeds a difference threshold compared to an initial first input/output rate for the first rebuilding rate. The method continues by adjusting a plurality of initial input/output rates based on the first input/output rate to produce a plurality of updated input/output rates. The method continues by generating an updated plurality of scores for the plurality of rebuilding rates based on the plurality of updated IO rates and implementing the rebuilding in accordance with the updated plurality of scores.Type: GrantFiled: November 28, 2017Date of Patent: June 9, 2020Assignee: PURE STORAGE, INC.Inventors: Ravi V. Khadiwala, Asimuddin Kazi
-
Patent number: 10678433Abstract: In one implementation, a method includes receiving a request to add a new system resource to a client network. The method further includes establishing a first connection between the new system resource and the client network. The method further includes establishing a second connection between the new system resource and an existing system resource. The method further includes transferring, by a system controller, a system controller role from the existing system resource to the new system resource.Type: GrantFiled: April 27, 2018Date of Patent: June 9, 2020Assignee: PURE STORAGE, INC.Inventor: Peter E. Kirkpatrick
-
Patent number: 10678462Abstract: A method for execution by a dispersed storage and task (DST) execution unit includes generating location weight data that includes a plurality of location weights assigned to a plurality of memory devices of the DST execution unit. A first one of the plurality of memory devices and a second one of the plurality of memory devices are selected for reallocation based on the location weight data. The reallocation is executed by removing a data slice from the first one of the plurality of memory devices and storing the data slice in the second one of the plurality of memory devices.Type: GrantFiled: January 28, 2019Date of Patent: June 9, 2020Assignee: PURE STORAGE, INC.Inventors: Andrew D. Baptist, Ravi V. Khadiwala, Manish Motwani, Jason K. Resch, Trevor J. Vossberg, Ethan S. Wozniak
-
Patent number: 10678472Abstract: A method for execution by a computing device of a dispersed storage network. The method begins by determining whether frequency of access to a set of encoded data slices exceeds a frequently accessed threshold. The method continues, when the frequency of access exceeds the frequently accessed threshold, by determining an access amount indicative of a degree that the frequency of access exceeds the frequently accessed threshold. The method continues by generating a number of additional encoded data slices and storing the number of additional encoded data slices in a number of additional storage units, wherein the set of storage units and the number of additional storage units produce an expanded set of storage units. The method continues by sending a plurality of data access requests to subsets of the expanded set of storage units in a distributed manner to improve processing efficiency of the plurality of data access requests.Type: GrantFiled: November 15, 2018Date of Patent: June 9, 2020Assignee: PURE STORAGE, INC.Inventor: Andrew G. Peake
-
Patent number: 10678436Abstract: A storage system performs garbage collection with data compression. A storage controller in the storage system determines a garbage collection directive by evaluating the amount of reclaimable space relative to a target amount of reclaimable space. Garbage collection is performed using data compression tunable to compression aggressiveness according to the garbage collection directive.Type: GrantFiled: May 29, 2018Date of Patent: June 9, 2020Assignee: Pure Storage, Inc.Inventors: Yanwei Jiang, Aswin Karumbunathan, Naveen Neelakantam, Kiron Vijayasankar, Bo Feng, Joern Engel
-
Patent number: 10678754Abstract: A storage controller coupled to a multi-tenant storage array receives a request from a client device to write a data block to a volume resident on the storage array, wherein the client device is associated with a tenant of the storage array. The storage controller determines a tenant identifier associated with the tenant, generates a hash value for the data block based at least in part on the data block and the tenant identifier, and performs at least one data deduplication operation on the data block using the hash value by determining whether the hash value matches with any of the plurality of previous hash values that are identified in a deduplication map. Responsive to determining that the hash value does not match with any of the plurality of previous hash values that are identified in the deduplication map, the hash value is stored in the deduplication map.Type: GrantFiled: April 21, 2017Date of Patent: June 9, 2020Assignee: Pure Storage, Inc.Inventors: John Colgrove, Rajesh Kanungo, Ronald Karr, Ethan L. Miller
-
Patent number: 10681138Abstract: A method begins by a processing module of a dispersed storage network (DSN) receiving content from a data source for storage in the DSN. The method continues with the processing module transforming the content into a plurality of formats of a set of set of formats according to a formatting scheme and dispersed storage error encoding each format of the plurality formats to produce a corresponding plurality of sets of encoded data slices. The method continues with the processing module generating a logical address for each format, and generating a corresponding plurality of sets of slice names for each logical address. The method continues with the processing unit facilitating storage of the corresponding set of encoded data slices in a set of storage units using the corresponding plurality of sets of slice names.Type: GrantFiled: November 15, 2018Date of Patent: June 9, 2020Assignee: PURE STORAGE, INC.Inventors: S. Christopher Gladwin, Jason K. Resch, Manish Motwani
-
Patent number: 10678432Abstract: A storage controller coupled to a storage array includes a device driver running in a kernel space that receives an administrative command from an application running in a user space of the storage controller and writes the administrative command to a first submission queue of a plurality of submission queues associated with a storage device in the storage array, where the first submission queue is reserved for use by the device driver. An input/output (I/O) command received from the application running in the user space, however, is written directly to a second submission queue of the plurality of submission queues without being routed through the kernel space, where the second submission queue being reserved for direct access by the application running in the user space.Type: GrantFiled: January 26, 2017Date of Patent: June 9, 2020Assignee: Pure Storage, Inc.Inventors: Roland Dreier, Bryan Freed, Logan Jennings, Sandeep Mann
-
Patent number: 10678452Abstract: A method of distributed file deletion, performed by a storage system, is provided. The method includes receiving, at the storage system, a request to delete a directory and contents of the directory and adding the directory to a first set, listed in a memory in the storage system. The method includes operating on the first set, by examining each directory in the first set to identify subdirectories, adding each identified subdirectory to the first set as a directory, and adding each examined directory to a second set listed in the memory. The method includes deleting in a distributed manner across the storage system without concern for order, contents of directories, and the directories, listed in the second set.Type: GrantFiled: January 31, 2017Date of Patent: June 9, 2020Assignee: Pure Storage, Inc.Inventors: Ronald Karr, Robert Lee, Igor Ostrovsky
-
Patent number: 10678640Abstract: A computer readable storage medium includes memory sections that store operational instructions, the when executed by one or more computing devices of a dispersed storage network (DSN), cause the one or more computing devices to perform the following for a data access request. The computing device(s) access a plurality of estimated efficiency models of a plurality of dispersed storage (DS) processing units of the DSN. The computing device(s) select one of the DS processing units based on the plurality of estimated efficiency models, a type of request, and a randomizing factor. The computing device(s) send the data access request to the selected DS processing unit for execution. The computing device(s) determine an actual processing efficiency of the processing of the data access request by the selected DS processing unit and update the estimated efficiency model of the selected DS processing module based on the actual processing efficiency.Type: GrantFiled: January 24, 2019Date of Patent: June 9, 2020Assignee: PURE STORAGE, INC.Inventors: Ravi V. Khadiwala, Jason K. Resch
-
Patent number: 10678638Abstract: 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: September 28, 2018Date of Patent: June 9, 2020Assignee: PURE STORAGE, INC.Inventors: Zachary J. Mark, Ilya Volvovski, Greg R. Dhuse
-
Patent number: 10678450Abstract: A method begins by a processing module determining a priority access level of an encoded data slice stored on a memory device. The method continues by determining a soft failure level for the memory device, wherein the soft failure level includes a plurality of discrete usability levels with a highest usability level representing a maximum amount of usable memory, a second usability level representing a lower usability level than the highest usability level and a lowest usability level representing an unusable level when the usable memory is below a threshold. The method continues with the processing module determining whether to migrate the encoded data slice from the memory device based on the priority access level and the end-of-life memory level. The method continues with the processing module identifying another memory device. The method continues with the processing module facilitating migration of the encoded data slice to another memory device.Type: GrantFiled: October 30, 2018Date of Patent: June 9, 2020Assignee: PURE STORAGE, INC.Inventors: Gary W. Grube, Jason K. Resch, Timothy W. Markison, Ilya Volvovski, Manish Motwani
-
Patent number: 10678639Abstract: Methods for use in a dispersed storage network (DSN) to retrieve encoded data from memory device of an impaired storage unit. In various embodiments, a computing device of the DSN issues requests to a plurality of storage units, including the impaired storage unit, to recover at least a decode threshold number of encoded data slices of a set of encoded data slices. When the impaired storage unit determines that it is not able to quickly retrieve the requested data slice for provision to the computing device, the impaired storage unit promptly issues a quasi-error response instead. In response to receiving less than the decode threshold number of encoded data slices and a quasi-error response, the computing device determines to issue another slice request(s) to another storage unit(s) and/or issue a continue request instructing the impaired storage unit to continue processing the request to recover the data slice stored therein.Type: GrantFiled: November 16, 2018Date of Patent: June 9, 2020Assignee: PURE STORAGE, INC.Inventors: Niall J. McShane, Jason K. Resch
-
Patent number: 10680932Abstract: Managing connectivity to synchronously replicated storage systems, including: identifying a plurality of storage systems across which a dataset is synchronously replicated; identifying a host that can issue I/O operations directed to the dataset; identifying a plurality of data communications paths between the host and the plurality of storage systems across which a dataset is synchronously replicated; identifying, from amongst the plurality of data communications paths between the host and the plurality of storage systems across which a dataset is synchronously replicated, one or more optimal paths; and issuing, to the host, an identification of the one or more optimal paths.Type: GrantFiled: August 23, 2017Date of Patent: June 9, 2020Assignee: Pure Storage, Inc.Inventors: John Colgrove, Roland Dreier, David Grunwald, Steven Hodgson, Ronald Karr, Daquan Zuo
-
Patent number: 10678642Abstract: A method begins by a processing module determining, by a first storage unit, that a storage growth rate is unfavorable for the first storage unit over an estimated time frame of reallocating at least a portion of encoded data slices stored in the first storage unit to one or more additional storage units. The method continues with the processing module when the storage growth rate is unfavorable, selecting an unfavorable growth rate abatement approach to include prioritizing new deletes and outgoing allocations such that estimated required storage capacity is less than available storage capacity of the first storage unit for the estimated time frame of the reallocation of the at least a portion of encoded data slices. The method continues with the processing module facilitating implementation of the unfavorable growth rate abatement approach.Type: GrantFiled: August 21, 2018Date of Patent: June 9, 2020Assignee: PURE STORAGE, INC.Inventors: Bart R. Cilfone, Ravi V. Khadiwala, Niall J. McShane, Manish Motwani, Jason K. Resch, Shikha Shree