-
公开(公告)号: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.
-
公开(公告)号:US20210373762A1
公开(公告)日:2021-12-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.
-
公开(公告)号:US10884919B2
公开(公告)日:2021-01-05
申请号:US16381610
申请日:2019-04-11
Applicant: Pure Storage, Inc.
Inventor: Andrew R. Bernat , Timothy W. Brennan , Mark L. McAuliffe , Neil Buda Vachharajani
IPC: G06F12/12 , G06F12/08 , G06F9/50 , G06F11/10 , G06F3/06 , G06F12/02 , G06F12/0882 , G06F12/0873 , G06F12/0811
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.
-
公开(公告)号:US20200050361A1
公开(公告)日:2020-02-13
申请号: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.
-
公开(公告)号:US10540095B1
公开(公告)日:2020-01-21
申请号:US15416385
申请日:2017-01-26
Applicant: PURE STORAGE, INC.
Inventor: Huihui Cheng , Gunjan Dang , Michael Goldsby , Yanwei Jiang , Aswin Karumbunathan , Pete Kirkpatrick , Naveen Neelakantam , Neil Buda Vachharajani , Junming Zhu
Abstract: A storage controller coupled to a storage array comprising one or more storage devices performs a uniform sampling of data storage items in an append-only file system to identify a sample set and identifies at least two data storage item groups based on an age of the data storage items. The storage controller performs a garbage collection process on the append-only file system to identify stale data storage items in a first logical storage segment and active data storage items in the first logical storage segment and writes a first active data storage item associated with a first group of the two data storage item groups from the first logical storage segment to a second logical storage segment, the second logic storage segment comprising other active data storage items associated with the first group.
-
公开(公告)号: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.
-
-
-
-
-
-
-
-
-