Patents Assigned to Pure Storage
-
Patent number: 10768819Abstract: A method for non-disruptive upgrade of a storage system is provided. The method includes disabling, by an interlock, access by one or more processors of the storage system to the first memory, responsive to a request. The method includes persisting configuration information in the first memory to the solid-state memory, with the access to the first memory disabled by the interlock, wherein the persisting, the first memory and the solid-state memory are supported by an energy reserve. The method includes enabling, by the interlock, access by the one or more processors to the first memory, responsive to completing the persisting, and writing, by the one or more processors of the storage system, to the first memory, to perform the upgrade with further configuration information, with the access enabled by the interlock and wherein at least the persisting is accomplished without power cycling.Type: GrantFiled: October 27, 2016Date of Patent: September 8, 2020Assignee: Pure Storage, Inc.Inventors: Hari Kannan, Robert Lee
-
Patent number: 10769177Abstract: An exemplary method includes identifying, within a first data item stored in a data storage system, a reference to a second data item stored in the data storage system, determining, based on the reference, that a storage location of the second data item is within a cluster of storage nodes included in the data storage system, sending, based on the determining that the storage location of the second data item is within the cluster of storage nodes, a request for the second data item to the storage nodes included in the cluster, and receiving, based on the request, the second data item from a particular storage node included in the cluster.Type: GrantFiled: May 13, 2019Date of Patent: September 8, 2020Assignee: Pure Storage, Inc.Inventors: Stefan Bernbo, Christian Melander, Gustav Petersson, Roger Persson
-
Patent number: 10761917Abstract: A method begins with a processing module of a dispersed storage network (DSN) receiving a first data object for storage in the DSN from a requesting entity based on an identifier associated with the first data object. The method continues with the processing module storing the first data object in the DSN, facilitating storage of the first data object in a cache memory using an address-based map and determining whether to transfer one or more data objects of a plurality of data objects from the cache memory. Based on a determination to transfer one or more data objects, the method continues by identifying a data object and another processing module to receive the data object, initiating a capacity query for the other processing module. The method continues with the processing module facilitating transfer of the second data object to the other processing module, receiving a transfer confirmation message; and facilitating updating the address-based map.Type: GrantFiled: November 29, 2018Date of Patent: September 1, 2020Assignee: PURE STORAGE, INC.Inventors: S. Christopher Gladwin, Jason K. Resch
-
Patent number: 10762069Abstract: A processor-based method for locating data and metadata closely together in a storage system is provided. The method includes writing a first range of a file and a first metadata relating to attributes of the file into at least one segment controlled by a first authority of the file. The method includes delegating, by the first authority, a second authority for a second range of the file, and writing the second range of the file and second metadata relating to the attributes of the file into at least one segment controlled by the second authority.Type: GrantFiled: September 30, 2015Date of Patent: September 1, 2020Assignee: Pure Storage, Inc.Inventors: John Hayes, Robert Lee, Igor Ostrovsky, Peter Vajgel
-
Patent number: 10761759Abstract: Preventing duplicate entries of identical data in a storage device, including: receiving a write request to write data to the storage device; calculating one or more signatures for the data associated with the write request; determining whether any of the calculated signatures match a calculated signature contained in a recently read signature buffer, each entry in the recently read signature buffer associating a calculated signature for data that has been read with an address of a storage location within the storage device where the data is stored; and responsive to determining that one of the calculated signatures matches a calculated signature contained in the recently read signature buffer, determining whether the data associated with the calculated signature is a duplicate of data stored at a particular address that is associated with the calculated signature contained in the recently read signature buffer.Type: GrantFiled: January 27, 2017Date of Patent: September 1, 2020Assignee: Pure Storage, Inc.Inventors: Ronald S. Karr, Ethan L. Miller
-
Patent number: 10757187Abstract: A method comprises dividing a data segment of a data object into a plurality of data chunks. The method continues with all-or-nothing (AONT) encoding each data chunk of the plurality of data chunks to produce a plurality of sets of AONT encoded data pieces. Note a set of AONT encoded data pieces includes T number of AONT encoded data pieces. The method continues by splitting and rearranging the plurality of sets of AONT encoded data pieces to produce the T number of sets of AONT encoded data pieces. The method continues by dispersed storage error encoding the T number of sets of AONT encoded data pieces to produce a set of encoded data slices, which include the T number+an R number of encoded data slices.Type: GrantFiled: November 27, 2017Date of Patent: August 25, 2020Assignee: PURE STORAGE, INC.Inventors: Jason K. Resch, Wesley B. Leggette
-
Patent number: 10756816Abstract: A storage controller includes a plurality of submission queues corresponding to an initiator device and a processing device, the processing device to receive a Fibre Channel Protocol (FCP) command from the initiator device and send the FCP command to a first submission queue of the plurality of submission queues, the first submission queue being reserved for use by a kernel space of the storage controller. The processing device further to receive a Non-Volatile Memory Express over Fibre Channel (NVMe/FC) command from the initiator device. The processing device further to send the NVMe/FC command to a second submission queue of the plurality of submission queues without routing the NVMe/FC command through the kernel space, the second submission queue being reserved for direct access by the initiator device to a user space of the storage controller.Type: GrantFiled: March 29, 2019Date of Patent: August 25, 2020Assignee: Pure Storage, Inc.Inventor: Roland Dreier
-
Patent number: 10748055Abstract: A method for execution by a dispersed storage and task (DST) execution unit includes receiving system registry integrity data via a network that corresponds to a plurality of system registry files, a request for a subset of the plurality of system registry files is generated for transmission to a dispersed storage network (DSN) unit via the network. The subset of system registry files are received from the DSN unit via the network. Integrity check data is generated based on the received subset of the plurality of system registry files and the system registry integrity data, where the integrity check data includes a verification indicator. The system registry files are stored in memory when the verification indicator indicates that verification was successful.Type: GrantFiled: September 28, 2018Date of Patent: August 18, 2020Assignee: PURE STORAGE, INC.Inventors: Thomas D. Cocagne, Jason K. Resch
-
Patent number: 10747616Abstract: A method for execution by a storage unit of a dispersed storage network includes updating a rebuilding task list based on detecting at least one storage error associated with storage of encoded data slices in a set of storage units that includes the storage unit. An encoded data slice is rebuilt based on the rebuilding task list and an affinity with the encoded data slice. The rebuilding task list is again updated based on detecting execution of at least one task of the rebuilding task list. The rebuilding task list is further updated based on detecting expiration of an execution time frame between sequential tasks of the rebuilding task list.Type: GrantFiled: December 15, 2017Date of Patent: August 18, 2020Assignee: PURE STORAGE, INC.Inventors: Greg R. Dhuse, Ravi V. Khadiwala, Jason K. Resch, Ilya Volvovski, Wesley B. Leggette, Andrew D. Baptist
-
Patent number: 10740180Abstract: A method begins by a storage unit receiving a read request for a decode threshold number of encoded data slices (EDSs) of a set of EDSs. The method continues with the first storage unit determining whether to service the read request for an EDS stored in the storage unit, and when determining not to service the request, generating, by the storage unit, a read request for a second storage unit, where the second storage unit is in substantially the same geographic location, and stores one or more EDS of the set of EDSs that is not included in the decode threshold number of EDSs. The storage unit then transmits the read request for the second SU, instructing the second SU to service the request.Type: GrantFiled: August 8, 2017Date of Patent: August 11, 2020Assignee: PURE STORAGE, INC.Inventors: Jason K. Resch, Wesley B. Leggette, Greg R. Dhuse, S. Christopher Gladwin
-
Patent number: 10740294Abstract: An indication to perform a garbage collection process for multiple erase blocks at a storage array that includes multiple storage devices may be received. Characteristics for each of the erase blocks may further be received. Valid data at each of the erase blocks may be identified. Furthermore, valid data from different erase blocks of the multiple erase blocks may be grouped based on a similarity of the plurality of characteristics between the valid data from the different erase blocks. The valid data from the different erase blocks may subsequently be stored at another erase block at the storage array.Type: GrantFiled: July 12, 2017Date of Patent: August 11, 2020Assignee: Pure Storage, Inc.Inventors: Ronald Karr, Peter E. Kirkpatrick
-
Patent number: 10733053Abstract: A method for disaster recovery for distributed storage is provided. The method includes distributing erasure coded data to N storage systems at N sites so that the data is recoverable from N?1 storage systems at N?1 sites in case of failure of one of the N storage systems. The method includes coordinating movement of one or more storage devices of a replacement storage system to each of the N?1 sites and transferring data for rebuilding the erasure coded data, from each of the N?1 storage systems to the one or more storage devices of the replacement storage system, responsive to the failure of the one of the N storage systems. The method includes coordinating movement of the one or more storage devices of the replacement storage system to the one of the N sites or a further replacement site, to restore recoverability of the distributed archival storage.Type: GrantFiled: January 31, 2018Date of Patent: August 4, 2020Assignee: Pure Storage, Inc.Inventors: Ethan L. Miller, Ronald Karr
-
Patent number: 10719265Abstract: A method for device reservations in a storage system, performed by the storage system is provided. The method includes maintaining a list of a plurality of storage devices of the storage system or slots for the storage devices, and a status of each of the plurality of storage devices or slots for the storage devices. The method includes determining whether granting a request for a reservation of one of the plurality of storage devices or slots would result in the storage system having less than a quorum of online storage devices, and granting or rejecting the reservation, based on the determining.Type: GrantFiled: December 8, 2017Date of Patent: July 21, 2020Assignee: Pure Storage, Inc.Inventors: Andrew R. Bernat, Grigori Inozemtsev, Iris McLeary, Benjamin Scholbrock
-
Patent number: 10713374Abstract: A method for execution by a storage unit of a dispersed storage network includes receiving an access request from a requestor. An access anomaly of the access request is detected, and the access request is queued for processing in response. An anomaly detection indicator is issued to a plurality of other storage units. A secondary authentication process is initiated with the requestor, and a secondary authentication response from the requestor. The access request is processed when the secondary authentication response is favorable.Type: GrantFiled: December 18, 2017Date of Patent: July 14, 2020Assignee: PURE STORAGE, INC.Inventors: Teague S. Algie, Jason K. Resch
-
Patent number: 10712948Abstract: A method for mapping storage system resources is provided. The method includes receiving identification information from a plurality of storage system resources of at least one data center, and receiving performance information from the plurality of storage system resources. The method includes generating a physical or virtual mapping, in one or more dimensions, of locations of each of the plurality of storage system resources, relative to the at least one data center, and representing the identification information and the performance information in the physical or virtual mapping of each of the plurality of storage system resources.Type: GrantFiled: October 28, 2016Date of Patent: July 14, 2020Assignee: Pure Storage, Inc.Inventor: John D. Davis
-
Patent number: 10712942Abstract: A method for updates in a storage system is provided. The method includes writing identifiers, associated with data to be stored, to storage units of the storage system and writing trim records indicative of identifiers that are allowed to not exist in the storage system to the storage units. The method includes determining whether stored data corresponding to records of identifiers is valid based on the records of the identifiers and the trim records.Type: GrantFiled: November 9, 2017Date of Patent: July 14, 2020Assignee: Pure Storage, Inc.Inventors: Brian T. Gold, John Hayes, Robert Lee
-
Patent number: 10705923Abstract: A method begins with a processing module selecting one of a plurality of dispersed storage (DS) processing modules for facilitating access to a dispersed storage network (DSN) memory. The method continues with the processing module sending a DSN memory access request to the one of the plurality of DS processing modules. The method continues with the processing module selecting another one of the plurality of DS processing modules when no response is received within a given time frame or when the response to the access request does not include an access indication. The method continues with the processing module sending the DSN memory access request to the another one of the plurality of DS processing modules.Type: GrantFiled: November 9, 2018Date of Patent: July 7, 2020Assignee: PURE STORAGE, INC.Inventors: Jason K. Resch, Wesley Leggette
-
Patent number: 10705732Abstract: A method for taking a storage device offline, performed by a storage system, is provided. The method includes reserving the storage device and stopping direction to increment a heartbeat counter of the storage device. The method includes verifying the heartbeat counter of the storage device is static, and performing, responsive to the verifying, an operation on the storage device, with the storage device offline relative to the storage system I/O of user data.Type: GrantFiled: December 13, 2017Date of Patent: July 7, 2020Assignee: Pure Storage, Inc.Inventors: Andrew R. Bernat, Grigori Inozemtsev, Iris McLeary, Benjamin Scholbrock
-
Patent number: 10698778Abstract: A dispersed storage network (DSN) includes multiple storage units. A processing unit included in the DSN issues an access request to one of the storage units, and identifies the storage unit as a failing storage unit based, at least in part, on a rate of growth of a network queue associated with the storage unit. the processing unit then issues an error indicator to a recovery unit for further action.Type: GrantFiled: January 2, 2019Date of Patent: June 30, 2020Assignee: PURE STORAGE, INC.Inventors: Kumar Abhijeet, Andrew D. Baptist, Ilir Iljazi, Gregory A. Papadopoulos, Jason K. Resch
-
Patent number: 10691812Abstract: A method for securing data in a storage grid is provided. The method includes generating a storage key from key shares of at least two storage clusters of a storage grid having at least three storage clusters and generating a grid key from the storage key and an external secret. The method includes encrypting data with the grid key to yield once encrypted data and encrypting the once encrypted data with the storage key to yield twice encrypted data. The method includes storing the twice encrypted data in a first storage cluster of the storage grid and storing the twice encrypted data in a second storage cluster of the storage grid, wherein at least one method operation is performed by a processor.Type: GrantFiled: November 3, 2017Date of Patent: June 23, 2020Assignee: Pure Storage, Inc.Inventors: Par Botes, John Hayes, Ethan Miller