-
1.
公开(公告)号:US11385801B1
公开(公告)日:2022-07-12
申请号:US16369258
申请日:2019-03-29
Applicant: PURE STORAGE, INC.
Inventor: Eric D. Seppanen
Abstract: Offloading device management responsibilities from a storage device in an array of storage devices, including: retrieving, from the storage device, control information describing the state of one or more memory blocks in the storage device; and performing, in dependence upon the control information, a storage device management operation.
-
公开(公告)号: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.
-
公开(公告)号:US20180095788A1
公开(公告)日:2018-04-05
申请号:US15419747
申请日:2017-01-30
Applicant: PURE STORAGE, INC.
Inventor: Gordon James Coleman , Peter K. Kirkpatrick , Eric D. Seppanen
CPC classification number: G06F16/2282 , G06F3/0607 , G06F3/061 , G06F3/0619 , G06F3/0632 , G06F3/064 , G06F3/065 , G06F3/0652 , G06F3/0655 , G06F3/0665 , G06F3/0688 , G06F3/0689 , G06F9/4881 , G06F12/0246 , G06F12/0253 , G06F16/211 , G06F16/252 , G06F2209/482 , G06F2212/702 , G06F2212/7205
Abstract: A request to perform an operation at a storage device of a storage array may be received. Schedulable units of the storage device may be identified. An availability of each schedulable unit of the schedulable units of the storage device may be determined. The requested operation may be scheduled based on the availability of each of the schedulable units of the storage device. Furthermore, the requested operation may be performed at the storage device based on the scheduling.
-
公开(公告)号: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.
-
公开(公告)号:US11080254B2
公开(公告)日:2021-08-03
申请号:US15868604
申请日:2018-01-11
Applicant: PURE STORAGE, INC.
Inventor: Gordon James Coleman , Eric D. Seppanen , Wei Tang
Abstract: Maintaining data associate with a storage device is described. A method may include receiving, by an application executed by a storage array controller of a host server of a solid-state storage array comprising a plurality of solid-state storage devices, an indication of a change in state of a solid-state storage device of the plurality of solid-state storage devices. In response to receiving the indication, the method may also include retrieving a plurality of tables stored at a volatile memory of the solid-state storage device, the plurality of tables comprising information associated with characteristics of a plurality of data blocks of the solid-state storage device. The method may also include identifying one or more rules associated with the plurality of tables and creating, by the storage array controller, a new plurality of tables based on the one or more rules.
-
公开(公告)号: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.
-
公开(公告)号:US20230306010A1
公开(公告)日:2023-09-28
申请号:US18327606
申请日:2023-06-01
Applicant: PURE STORAGE, INC.
Inventor: Gordon James Coleman , Peter E. Kirkpatrick , Eric D. Seppanen
CPC classification number: G06F16/2282 , G06F9/4881 , G06F12/0253 , G06F3/0689 , G06F3/0619 , G06F3/0665 , G06F16/211 , G06F16/252 , G06F3/0607 , G06F3/064 , G06F3/0632 , G06F9/4401 , G06F21/572 , G06F3/061 , G06F3/065 , G06F3/0652 , G06F3/0655 , G06F3/0688 , G06F12/0246 , G06F2209/482 , G06F2212/702 , G06F2212/7205
Abstract: Characteristics associated with a device are received from the device. Firmware for the device is generated based on the received characteristics.
-
公开(公告)号: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.
-
公开(公告)号: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.
-
-
-
-
-
-
-
-
-