-
公开(公告)号:US11609718B1
公开(公告)日:2023-03-21
申请号:US16937331
申请日:2020-07-23
申请人: PURE STORAGE, INC.
发明人: Ronald Karr , Constantine Sapuntzakis , Mark McAuliffe , Farhan Abrol , Neil Vachharajani , Timothy Brennan
摘要: 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.
-
公开(公告)号:US11487438B1
公开(公告)日:2022-11-01
申请号:US17025036
申请日:2020-09-18
申请人: PURE STORAGE, INC.
摘要: 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.
-
公开(公告)号:US11296944B2
公开(公告)日:2022-04-05
申请号:US15922974
申请日:2018-03-16
申请人: Pure Storage, Inc.
发明人: Taher Vohra , Patrick East , Neil Vachharajani
IPC分类号: H04L12/24 , H04L41/0893 , H04L41/22 , G06F3/06 , H04L45/24 , H04L67/1097 , H04L41/12 , H04L41/0803
摘要: 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.
-
公开(公告)号:US10929231B1
公开(公告)日:2021-02-23
申请号:US15967431
申请日:2018-04-30
申请人: PURE STORAGE, INC.
发明人: Andrew Bernat , Timothy Brennan , Jimmy Chi-Wai Chui , Alan Driscoll , Grigori Inozemtsev , Benjamin Scholbrock , Neil Vachharajani
摘要: Ensuring crash-safe forward progress of a system configuration update in a storage system that includes a storage array controller and a plurality of storage devices, including: determining a number of storage devices in the storage system; determining a number of unavailable storage devices in the storage system; and determining, for the one or more system configurations, whether the system configuration can be reconstructed in dependence upon the number of storage devices in the storage system and the number of unavailable storage devices in the storage system.
-
公开(公告)号:US10509581B1
公开(公告)日:2019-12-17
申请号:US15800518
申请日:2017-11-01
申请人: Pure Storage, Inc.
发明人: Farhan Abrol , Mark Mcauliffe , Neil Vachharajani
摘要: Maintaining identifier service consistency within a storage system, including, responsive to a write operation for a dataset: assigning an identifier for the write operation, wherein the identifier is equal to a current identifier from an allowable set of identifiers; storing, within a metadata header for the dataset, metadata indicating the assigned identifier; and incrementing the current identifier; and responsive to determining that the incremented current identifier has caused a reservation event: updating a range corresponding to the allowable set of identifiers.
-
公开(公告)号:US10353777B2
公开(公告)日:2019-07-16
申请号:US14927977
申请日:2015-10-30
申请人: Pure Storage, Inc.
发明人: Andrew Bernat , Timothy Brennan , Jimmy Chi-Wai Chui , Alan Driscoll , Grigori Inozemtsev , Benjamin Scholbrock , Neil Vachharajani
摘要: Ensuring crash-safe forward progress of a system configuration update in a storage system that includes a storage array controller and a plurality of storage devices, including: determining a number of storage devices in the storage system; determining a number of unavailable storage devices in the storage system; and determining, for the one or more system configurations, whether the system configuration can be reconstructed in dependence upon the number of storage devices in the storage system and the number of unavailable storage devices in the storage system.
-
公开(公告)号:US11762764B1
公开(公告)日:2023-09-19
申请号:US17223522
申请日:2021-04-06
申请人: PURE STORAGE, INC.
CPC分类号: G06F12/023 , G06F3/068 , G06F3/0619 , G06F3/0631 , G06F3/0659 , G06F3/0683 , G06F3/0685 , G06F12/10 , G06F2212/1044
摘要: 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.
-
公开(公告)号:US11662909B2
公开(公告)日:2023-05-30
申请号:US17667756
申请日:2022-02-09
申请人: PURE STORAGE, INC.
IPC分类号: G06F3/06 , G06F12/121 , G06F12/02
CPC分类号: G06F3/0608 , G06F3/0619 , G06F3/0641 , G06F3/0665 , G06F3/0689 , G06F12/023 , G06F12/0292 , G06F12/121 , G06F12/0238 , G06F2212/401 , G06F2212/7201
摘要: 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.
-
公开(公告)号:US11169817B1
公开(公告)日:2021-11-09
申请号:US16401369
申请日:2019-05-02
申请人: PURE STORAGE, INC.
发明人: Marco Sanvido , Richard Hankins , Mark McAuliffe , HuiHui Cheng , Nidhi Doshi , Naveen Neelakantam , Neil Vachharajani
IPC分类号: G06F9/00 , G06F15/177 , G06F9/4401
摘要: A system and method for efficiently starting up a plurality of solid-state storage devices. A computing system includes one or more storage devices storing data in multiple allocation units (AUs). In a boot region, a data storage controller maintains an AU management set that identifies a state of various AUs in the system. In various embodiments, the management set includes an identification of a subset of free AUs, transitional AU, unincorporated AUs, and speculative AUs. At various times, information corresponding to the AU management set is stored to non-volatile storage. During a boot sequence, the AU management set information is accessed and the identified AUs are searched to identify allocated AUs rather than performing a search of all of the AUs in the system.
-
10.
公开(公告)号:US10970202B1
公开(公告)日:2021-04-06
申请号:US16293386
申请日:2019-03-05
申请人: Pure Storage, Inc.
摘要: 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.
-
-
-
-
-
-
-
-
-