-
公开(公告)号:US10296469B1
公开(公告)日:2019-05-21
申请号:US14340169
申请日:2014-07-24
Applicant: PURE Storage, Inc.
Inventor: Joern Engel , Alan Driscoll , Neil Vachharajani , Ronald S. Karr
IPC: G06F12/14
Abstract: Systems, apparatuses, methods, and computer-readable storage mediums for performing lease-based fencing using a time-limited lease window. During the time-limited lease window, writes to a shared storage medium are permitted, while writes are denied for expired leases. When a successful heartbeat is generated for a primary storage controller, the lease window is extended for the primary storage controller from the time of a previous heartbeat. Accordingly, a prolonged stall between successive heartbeats by the primary storage controller will result in the newly extended lease being expired at the time it is granted. This scheme prevents a split brain scenario from occurring when a secondary storage controller takes over as the new primary storage controller in response to detecting the stall.
-
公开(公告)号:US09773007B1
公开(公告)日:2017-09-26
申请号:US14556611
申请日:2014-12-01
Applicant: PURE Storage, Inc.
Inventor: Christopher Golden , Neil Vachharajani , David Grunwald , Scott Smith , Jianting Cao , Luke Paulsen , Ricardo Gonzalez
CPC classification number: G06F17/30088 , G06F3/0608 , G06F3/0646 , G06F3/065 , G06F3/0652 , G06F3/0688 , G06F3/0689
Abstract: Systems, methods, and computer readable storage mediums for optimizing performance in a storage system. A volume may be mapped to an anchor medium through an indirection layer. When a snapshot is taken of the volume, the allocation of a new anchor medium is delayed until a write operation targeting the volume is received. When a write operation targeting the volume is received, a new anchor medium may be allocated for only a portion of the volume corresponding to the portion of the volume which is targeted by the write operation. Also, when a snapshot is taken of the volume, read optimization operations are performed only the portions of the volume which have changed since the previous snapshot.
-
公开(公告)号:US09760479B2
公开(公告)日:2017-09-12
申请号:US14956841
申请日:2015-12-02
Applicant: Pure Storage, Inc.
Inventor: John Colgrove , Peter Kirkpatrick , Neil Vachharajani
CPC classification number: G06F12/023 , G06F3/0619 , G06F3/0631 , G06F3/0659 , G06F3/068 , G06F3/0683 , G06F3/0685 , G06F12/10 , G06F2212/1044
Abstract: Writing data in a storage system that includes a first type of storage device and a second type of storage device, including: selecting, for one or more unprocessed write requests, a target storage device type from the first type of storage device and the second type of storage device; issuing a first group of write requests to the first type of storage device, the first group of write requests addressed to one or more locations selected in dependence upon an expected address translation to be performed by the first type of storage device; and issuing a second group of write requests to the second type of storage device, the second group of write requests addressed to one or more locations selected in dependence upon a layout of memory in the second type of storage device.
-
公开(公告)号:US09727485B1
公开(公告)日:2017-08-08
申请号:US14552172
申请日:2014-11-24
Applicant: PURE Storage, Inc.
Inventor: Marco Sanvido , Richard Hankins , Mark McAuliffe , Neil Vachharajani
IPC: G06F12/00 , G06F12/121 , G06F12/02
CPC classification number: G06F3/0608 , G06F3/0619 , G06F3/0641 , G06F3/0665 , G06F3/0689 , G06F12/023 , G06F12/0238 , G06F12/0292 , G06F12/121 , G06F2212/401 , G06F2212/7201
Abstract: A system and method for efficiently maintaining metadata stored among a plurality of solid-state storage devices. A data storage subsystem supports multiple mapping tables. Records within a mapping table are arranged in multiple levels. Each level stores at least pairs of a key value and a physical pointer value. The levels are sorted by time. New records are inserted in a created new highest (youngest) level. No edits are performed in-place. A data storage controller determines both a cost of searching a given table exceeds a threshold and an amount of memory used to flatten levels exceeds a threshold. In response, the controller incrementally flattens selected levels within the table based on key ranges. After flattening the records in the selected levels within the key range, the records may be removed from the selected levels. The process repeats with another different key range.
-
公开(公告)号:US11936654B2
公开(公告)日:2024-03-19
申请号:US18053402
申请日:2022-11-08
Applicant: PURE STORAGE, INC.
Inventor: Jimmy T. Hu , Benjamin Borowiec , Ethan Miller , Terence Noonan , Constantine Sapuntzakis , Neil Vachharajani , Daquan Zuo
IPC: H04L9/40 , G06F9/455 , H04L9/32 , H04L67/1097
CPC classification number: H04L63/101 , G06F9/45533 , H04L9/3242 , H04L9/3247 , H04L63/0815 , H04L67/1097 , H04L2209/24 , H04L2209/72
Abstract: Providing authorization and authentication in a cloud for a user of a storage array includes: receiving, by a storage array access module from a client-side array services module, a token representing authentication of user credentials and authorized access privileges defining one or more storage array services accessible by the user, where the token is generated by a cloud-based security module upon authentication of the user credentials and identification of authorized access privileges for the user; receiving, by the storage array access module from the user, a user access request to one or more storage array services; and determining, by the storage array access module, whether to grant the user access request in dependence upon the authorized access privileges represented by the token.
-
公开(公告)号:US11886707B2
公开(公告)日:2024-01-30
申请号:US17936484
申请日:2022-09-29
Applicant: PURE STORAGE, INC.
Inventor: Frederic Lherault , Neil Vachharajani
CPC classification number: G06F3/0608 , G06F3/0619 , G06F3/0641 , G06F3/0665 , G06F3/0689 , G06F9/45558 , G06F12/0253 , G06F2009/45583 , G06F2212/702
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.
-
公开(公告)号:US11663097B2
公开(公告)日:2023-05-30
申请号:US17682807
申请日:2022-02-28
Applicant: PURE STORAGE, INC.
Inventor: Mark McAuliffe , Neil Vachharajani , Farhan Abrol
IPC: G06F11/20 , H04L67/1097 , G06F11/14 , G06F11/07
CPC classification number: G06F11/2058 , G06F11/076 , G06F11/0727 , G06F11/1441 , G06F11/2023 , G06F11/2064 , G06F11/2094 , H04L67/1097
Abstract: Ensuring resiliency to storage device failures in a storage system, including: determining a number of storage device failures within a particular write group that are to be tolerated by the storage system; for a plurality of datasets stored within the storage system, writing each dataset to at least a predetermined number of storage devices within the particular write group, wherein the predetermined number of storage devices is greater than the number of storage device failures within the particular write group that are to be tolerated by the storage system; and responsive to recovering from a system interruption: determining a number of readable storage devices that contain a copy of the dataset; and if the number of readable storage devices that contain a copy of the dataset is not greater than the number of failures that are to be tolerated, writing the dataset to one or more additional storage devices.
-
公开(公告)号:US11263096B1
公开(公告)日:2022-03-01
申请号:US16937354
申请日:2020-07-23
Applicant: PURE STORAGE, INC.
Inventor: Mark McAuliffe , Neil Vachharajani , Farhan Abrol
IPC: G06F11/07 , G06F11/20 , G06F11/14 , H04L67/1097
Abstract: Ensuring resiliency to storage device failures in a storage system, including: determining a number of storage device failures within a particular write group that are to be tolerated by the storage system; for a plurality of datasets stored within the storage system, writing each dataset to at least a predetermined number of storage devices within the particular write group, wherein the predetermined number of storage devices is greater than the number of storage device failures within the particular write group that are to be tolerated by the storage system; and responsive to recovering from a system interruption: determining a number of readable storage devices that contain a copy of the dataset; and if the number of readable storage devices that contain a copy of the dataset is not greater than the number of failures that are to be tolerated, writing the dataset to one or more additional storage devices.
-
公开(公告)号:US10992533B1
公开(公告)日:2021-04-27
申请号:US15883789
申请日:2018-01-30
Applicant: Pure Storage, Inc.
Inventor: Taher Vohra , Patrick East , Neil Vachharajani
IPC: H04L12/24 , H04L29/08 , H04L12/707 , G06F3/06
Abstract: 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.
-
公开(公告)号:US10789020B2
公开(公告)日:2020-09-29
申请号:US15966025
申请日:2018-04-30
Applicant: Pure Storage, Inc.
Inventor: Ronald Karr , Constantine Sapuntzakis , Mark McAuliffe , Farhan Abrol , Neil Vachharajani , Timothy Brennan
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.
-
-
-
-
-
-
-
-
-