-
公开(公告)号:US11640244B2
公开(公告)日:2023-05-02
申请号:US17401436
申请日:2021-08-13
Applicant: PURE STORAGE, INC.
Inventor: Eric D. Seppanen , Neil Buda Vachharajani , Nidhi Pankaj Doshi
Abstract: A first data block on a storage device including a data structure of deallocated data blocks on the storage device and a corresponding program erase count value for each of the deallocated data blocks is identified. A determination as to whether a second data block from the data structure of deallocated data blocks remains deallocated after being added to the data structure of deallocated data blocks based on the program erase count value is made. The data is stored at the second data block upon determining that the second data block remains deallocated after being added to the data structure of deallocated data blocks.
-
公开(公告)号: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.
-
公开(公告)号:US20200159423A1
公开(公告)日:2020-05-21
申请号:US16751211
申请日:2020-01-24
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.
-
公开(公告)号:US20190236004A1
公开(公告)日:2019-08-01
申请号:US16381610
申请日:2019-04-11
Applicant: Pure Storage, Inc.
Inventor: Andrew R. Bernat , Timothy W. Brennan , Mark L. McAuliffe , Neil Buda Vachharajani
IPC: G06F12/02 , G06F12/0882 , G06F12/0811 , G06F12/0873 , G06F9/50
CPC classification number: G06F12/0246 , G06F9/5016 , G06F12/0811 , G06F12/0873 , G06F12/0882
Abstract: A method for memory management in a storage system is provided. The method includes defining a required set of pages for writes to solid-state memory and defining multiple levels of indirection for writing data to the solid-state memory, comprising data stripes, each having a plurality of allocation units and each of the allocation units having a plurality of data units. The method includes assigning portions of an allocation unit to a plurality of data units such that one portion of the allocation unit fills an instance of the required set of pages that straddles a boundary between a first data unit and a second data unit, and writing the plurality of data units to the solid-state memory, with the plurality of data units satisfying the required set of pages for writes to solid-state memory.
-
公开(公告)号:US20180121088A1
公开(公告)日:2018-05-03
申请号:US15337151
申请日:2016-10-28
Applicant: PURE STORAGE, INC.
Inventor: Nidhi Pankaj Doshi , Eric D. Seppanen , Neil Buda Vachharajani
IPC: G06F3/06
CPC classification number: G06F3/061 , G06F3/064 , G06F3/0688 , G06F12/0246 , G06F2212/1016 , G06F2212/7202 , G06F2212/7207
Abstract: A storage controller coupled to a storage array comprising one or more storage devices receive a request to write data to one of the storage devices. The storage controller determines a first data block on the storage device comprising a list of deallocated data blocks on the storage device, the list comprising a block number of each deallocated data block and an access operation count value at which each deallocated data block was deallocated. The storage controller identifies a second data block from the list of deallocated data blocks on the storage device based on a corresponding access operation count value from the list and writes the data to the second data block.
-
公开(公告)号:US12067236B2
公开(公告)日:2024-08-20
申请号:US16714029
申请日:2019-12-13
Applicant: PURE STORAGE, INC.
Inventor: Huihui Cheng , Gunjan Dang , Michael Goldsby , Yanwei Jiang , Aswin Karumbunathan , Peter E. Kirkpatrick , Naveen Neelakantam , Neil Buda Vachharajani , Junming Zhu
CPC classification number: G06F3/061 , G06F3/0665 , G06F3/0685 , G06F12/0261 , G06F16/13 , G06F16/14 , G06F16/16
Abstract: A system and method of uniform sampling in an append-only database to determine temporal distribution of data.
-
公开(公告)号: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.
-
公开(公告)号:US20210365190A1
公开(公告)日:2021-11-25
申请号:US17396882
申请日:2021-08-09
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.
-
公开(公告)号:US11119657B2
公开(公告)日:2021-09-14
申请号:US16655792
申请日:2019-10-17
Applicant: PURE STORAGE, INC.
Inventor: Nidhi Pankaj Doshi , Eric D. Seppanen , Neil Buda Vachharajani
Abstract: A storage controller coupled to a storage array comprising one or more storage devices receive a request to write data to one of the storage devices. The storage controller determines a first data block on the storage device comprising a list of deallocated data blocks on the storage device, the list comprising a block number of each deallocated data block and an access operation count value at which each deallocated data block was deallocated. The storage controller identifies a second data block from the list of deallocated data blocks on the storage device based on a corresponding access operation count value from the list and writes the data to the second data block.
-
公开(公告)号:US10481798B2
公开(公告)日:2019-11-19
申请号:US15337151
申请日:2016-10-28
Applicant: PURE STORAGE, INC.
Inventor: Nidhi Pankaj Doshi , Eric D. Seppanen , Neil Buda Vachharajani
Abstract: A storage controller coupled to a storage array comprising one or more storage devices receive a request to write data to one of the storage devices. The storage controller determines a first data block on the storage device comprising a list of deallocated data blocks on the storage device, the list comprising a block number of each deallocated data block and an access operation count value at which each deallocated data block was deallocated. The storage controller identifies a second data block from the list of deallocated data blocks on the storage device based on a corresponding access operation count value from the list and writes the data to the second data block.
-
-
-
-
-
-
-
-
-