-
公开(公告)号:US20210279148A1
公开(公告)日:2021-09-09
申请号:US17307283
申请日:2021-05-04
Applicant: PURE STORAGE, INC.
Inventor: Gordon James Coleman , Andrew R. Bernat , Peter E. Kirkpatrick
Abstract: Data associated with a write request is stored at a storage device of multiple solid-state storage devices. A determination as to whether the data stored at the storage device is readable is made by determining whether a number of subsequent programming operations have been performed since the data was stored at the storage device. A notification that the stored data is readable from the storage device is generated upon determining that the data is readable.
-
22.
公开(公告)号:US11036596B1
公开(公告)日:2021-06-15
申请号:US16254326
申请日:2019-01-22
Applicant: PURE STORAGE, INC.
Inventor: Gordon James Coleman , Andrew R. Bernat , Peter E. Kirkpatrick
Abstract: A system includes a plurality of solid-state storage devices and a storage controller coupled to the plurality of solid-state storage devices. The storage controller includes a processing device, the processing device to receive a write request from a host computing device. The write request includes data to be stored at one or more of the plurality of solid-state storage devices. The processing device is to send an acknowledgement to the host computing device in response to receipt of the write request, store the data at the one or more of the plurality of solid-state storage devices, determine whether the data stored at the one or more of the plurality of solid-state storage devices is readable, and in response to determining that the data is readable, notify, by the processing device, the host computing device that the stored data is readable from the one or more of the plurality of solid-state storage devices.
-
公开(公告)号:US10929053B2
公开(公告)日:2021-02-23
申请号:US16258209
申请日:2019-01-25
Applicant: Pure Storage, Inc.
Inventor: Andrew R. Bernat , Pushkar Mahesh Shirali , Anthony Niven
Abstract: A method for reservations in a storage system, is provided. The method includes determining status of all storage devices expected to be in the storage system, receiving a request for a reservation of a storage device, and determining a type of service to be performed on the storage device. The method includes determining whether the type of service is in a first class of services or a second class of services and granting or denying the reservation based on the type of service, wherein a reservation to perform a service in the first class of services is granted as a result of determining all the storage devices expected are online and wherein a reservation to perform a service in the second class of services is granted as a result of determining a sufficient subset of all the storage devices expected are online to perform reading and writing with redundancy.
-
公开(公告)号:US10719265B1
公开(公告)日:2020-07-21
申请号:US15836652
申请日:2017-12-08
Applicant: PURE STORAGE, INC.
Inventor: Andrew R. Bernat , Grigori Inozemtsev , Iris McLeary , Benjamin Scholbrock
Abstract: 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.
-
公开(公告)号:US10545687B1
公开(公告)日:2020-01-28
申请号:US15799955
申请日:2017-10-31
Applicant: Pure Storage, Inc.
Inventor: Andrew R. Bernat , Timothy W. Brennan , Mark L. McAuliffe , Neil Buda Vachharajani
Abstract: A method for rebuilding data when changing erase block sizes in a storage system is provided. The method includes determining one or more erase blocks to be rebuilt and allocating one or more replacement erase blocks, wherein the one or more erase blocks and the one or more replacement erase blocks have differing erase block sizes. The method includes mapping logical addresses, for the one or more erase blocks, to the one or more replacement erase blocks and rebuilding the one or more erase blocks into the one or more replacement erase blocks, in accordance with the mapping.
-
公开(公告)号:US12067274B2
公开(公告)日:2024-08-20
申请号:US17948064
申请日:2022-09-19
Applicant: Pure Storage, Inc.
Inventor: Benjamin Scholbrock , Andrew R. Bernat , Ronald Karr , Xiaohui Wang
IPC: G06F3/06
CPC classification number: G06F3/064 , G06F3/0617 , G06F3/0659 , G06F3/067
Abstract: A method is provided. The method includes receiving a set of data blocks to be stored in a storage system. The storage system includes a plurality of non-volatile memory modules. The method also includes generating a set of segments based on the set of data blocks. A respective segment comprising portions of one or more erase blocks. The method further includes writing the set of segments to the non-volatile memory modules based on orderings of the portions of the one or more erase blocks.
-
公开(公告)号:US12046292B2
公开(公告)日:2024-07-23
申请号:US17318534
申请日:2021-05-12
Applicant: PURE STORAGE, INC.
Inventor: Radek Aster , Andrew R. Bernat , Boris Feigin , Ronald Karr , Robert Lee
CPC classification number: G11C16/16 , G06F3/064 , G06F3/065 , G06F3/067 , G06F3/0689 , G06F11/1076 , G06F12/0246 , G06F12/0253 , G06F16/1752
Abstract: A method of using boot-time metadata in a storage system is provided. The method includes writing a fragmentation stride to a solid-state storage device of the storage system, the fragmentation stride defining a granularity on which fragmentation of erase blocks of the solid-state storage device occurs. The method includes allocating portions of erase blocks for at least one process in the storage system, in accordance with the fragmentation stride and writing boot up metadata at offsets that are based on the fragmentation stride, in the solid-state storage device.
-
公开(公告)号:US11934322B1
公开(公告)日:2024-03-19
申请号:US16249745
申请日:2019-01-16
Applicant: PURE STORAGE, INC.
Inventor: Ethan L. Miller , Andrew R. Bernat , Ronald Karr , Christopher Golden , Nicholas George Psaki , David Whitlock
CPC classification number: G06F12/1408 , G06F3/061 , G06F3/0659 , G06F3/067 , G06F9/546 , G06F12/1466 , G06F21/602 , G06F2209/548 , G06F2212/1052 , G06F2212/401 , G06F2212/402
Abstract: A system comprises a storage system comprising one or more storage devices and a storage controller operatively coupled to the storage system, the storage controller comprising a processing device, the processing device to receive first raw data from a first tenant of the storage system to a first non-volatile memory express (NVMe) input/output (I/O) queue of the storage system. The processing device further to determine that the first NVMe I/O queue corresponds to a first key, wherein the first key corresponds to the first tenant. The processing device further to encrypt the first raw data using the first key to generate first encrypted data. The processing device further to store the first encrypted data on the storage system.
-
公开(公告)号:US11846968B2
公开(公告)日:2023-12-19
申请号:US17981285
申请日:2022-11-04
Applicant: Pure Storage, Inc.
Inventor: Andrew R. Bernat , Peter E. Kirkpatrick , Gordon James Coleman , Wei Tang , John Roper
CPC classification number: G06F3/0647 , G06F3/0604 , G06F3/064 , G06F3/0608 , G06F3/0634 , G06F3/0673 , G06F3/0688 , G06F12/06 , G06F2212/1044
Abstract: A command to relocate data is transmitted by a storage controller. The command includes first address information associated with a first set of blocks storing the data at one or more storage devices using a first programming mode and second address information associated with a second set of blocks at the one or more storage devices to store the relocated data using a second programming mode. The command causes the relocation of the data from the first set of blocks to the second set of blocks while bypassing sending the data to the storage controller. An acknowledgement is received that the relocated data has been stored at the second number of blocks.
-
公开(公告)号:US11704066B2
公开(公告)日:2023-07-18
申请号:US17348325
申请日:2021-06-15
Applicant: Pure Storage, Inc.
Inventor: Eric D. Seppanen , Andrew R. Bernat , Timothy W. Brennan , Mark L. McAuliffe , Neil Buda Vachharajani
CPC classification number: G06F3/0659 , G06F3/0604 , G06F3/064 , G06F3/0631 , G06F3/0652 , G06F3/0688 , G06F12/0246 , G06F12/0253 , G11C16/16
Abstract: A method of using flash storage devices with different sized erase blocks is provided. The method includes allocating a plurality of erase blocks of heterogeneous erase block sizes to a RAID stripe, to form a tile pattern having the heterogeneous erase block sizes in the RAID stripe. The method includes writing the RAID stripe across the flash storage devices in accordance with the allocating, and stopping the writing the RAID stripe, responsive to contents of the RAID stripe reaching a threshold.
-
-
-
-
-
-
-
-
-