-
公开(公告)号:US10810083B1
公开(公告)日:2020-10-20
申请号:US16231027
申请日:2018-12-21
Applicant: Pure Storage, Inc.
Inventor: John Colgrove , John Hayes , Bo Hong , Ethan Miller
Abstract: A system and method for offset protection data in a RAID array. A computer system comprises client computers and data storage arrays coupled to one another via a network. A data storage array utilizes solid-state drives and Flash memory cells for data storage. A storage controller within a data storage array is configured to store user data in a first page of a first storage device of the plurality of storage devices; generate intra-device protection data corresponding to the user data, and store the intra-device protection data at a first offset within the first page. The controller is further configured to generate inter-device protection data corresponding to the first page, and store the inter-device protection data at a second offset within a second page in a second storage device of the plurality of storage devices, wherein the first offset is different from the second offset.
-
公开(公告)号:USRE48222E1
公开(公告)日:2020-09-22
申请号:US15863777
申请日:2018-01-05
Applicant: PURE STORAGE, INC.
Inventor: John Colgrove , John Hayes , Bo Hong , Ethan Miller
Abstract: A system and method for dynamic RAID geometries. A computer system comprises client computers and data storage arrays coupled to one another via a network. A data storage array utilizes solid-state drives and Flash memory cells for data storage. A storage controller within a data storage array is configured to configure a first subset of the storage devices for use in a first RAID layout, the first RAID layout including a first set of redundant data. The controller further configures a second subset of the storage devices for use in a second RAID layout, the second RAID layout including a second set of redundant data. Additionally, the controller configure an additional device not included in either the first subset or the second subset to store redundant data for both the first RAID layout and the second RAID layout. The controller is further configured to initiate a reconstruct read corresponding to a given read request directed to a particular storage device of the plurality of storage devices, in response to determining the particular storage device is exhibiting a non-error related relatively slow read response.
-
公开(公告)号:US10693964B2
公开(公告)日:2020-06-23
申请号:US16241320
申请日:2019-01-07
Applicant: Pure Storage, Inc.
Inventor: Par Botes , John Hayes , Zhangxi Tan
IPC: H04L12/24 , H04L29/08 , H04L12/933 , G06F3/06
Abstract: A storage system is provided. The storage system includes a plurality of storage nodes, each of the plurality of storage nodes having a plurality of storage units with storage memory. The system includes a first network coupling the plurality of storage nodes and a second network coupled to at least a subset of the plurality of storage units of each of the plurality of storage nodes such that one of the plurality of storage units of a first one of the plurality of storage nodes can initiate or relay a command to one of the plurality of storage units of a second one of the plurality of storage nodes via the second network without the command passing through the first network.
-
公开(公告)号:US10671480B2
公开(公告)日:2020-06-02
申请号:US15941580
申请日:2018-03-30
Applicant: Pure Storage, Inc.
Inventor: John Hayes , John Colgrove , John D. Davis
Abstract: A plurality of storage nodes in a single chassis is provided. The plurality of storage nodes in the single chassis is configured to communicate together as a storage cluster. Each of the plurality of storage nodes includes nonvolatile solid-state memory for user data storage. The plurality of storage nodes is configured to distribute the user data and metadata associated with the user data throughout the plurality of storage nodes such that the plurality of storage nodes maintain the ability to read the user data, using erasure coding, despite a loss of two of the plurality of storage nodes. A plurality of compute nodes is included in the single chassis, each of the plurality of compute nodes is configured to communicate with the plurality of storage nodes. A method for accessing user data in a plurality of storage nodes having nonvolatile solid-state memory is also provided.
-
公开(公告)号:US10572176B2
公开(公告)日:2020-02-25
申请号:US15830984
申请日:2017-12-04
Applicant: PURE STORAGE, INC.
Inventor: John Davis , John Hayes , Brian Gold , Shantanu Gupta , Zhangxi Tan
Abstract: A non-volatile solid-state storage is provided. The non-volatile solid state storage includes a non-volatile random access memory (NVRAM) addressable by a processor external to the non-volatile solid state storage. The NVRAM is configured to store user data and metadata relating to the user data. The non-volatile solid state storage includes a flash memory addressable by the processor. The flash memory is configured to store the user data responsive to the processor directing transfer of the user data from the NVRAM to the flash memory.
-
公开(公告)号:US20200012578A1
公开(公告)日:2020-01-09
申请号:US16576084
申请日:2019-09-19
Applicant: Pure Storage, Inc.
Inventor: John Hayes , John Davis , Brian Gold , Shantanu Gupta , Robert Lee , Igor Ostrovsky , Rusty Sears
Abstract: A plurality of storage nodes is provided. Each of the plurality of storage nodes includes nonvolatile solid-state memory for user data storage. The plurality of storage nodes is configured to distribute the user data and metadata associated with the user data throughout the plurality of storage nodes such that the plurality of storage nodes maintain the ability to read the user data, using erasure coding, despite a loss of two of the plurality of storage nodes. The plurality of storage nodes is configured to initiate an action based on the redundant copies of the metadata, responsive to achieving a level of redundancy for the redundant copies of the metadata. A method for accessing user data in a plurality of storage nodes having nonvolatile solid-state memory is also provided.
-
公开(公告)号:US10528419B2
公开(公告)日:2020-01-07
申请号:US15705691
申请日:2017-09-15
Applicant: Pure Storage, Inc.
Inventor: John D. Davis , John Hayes , Hari Kannan , Nenad Miladinovic , Zhangxi Tan
IPC: G06F11/10 , H03M13/37 , H03M13/11 , H03M13/09 , H03M13/15 , G11C29/00 , G06F12/08 , G06F12/06 , G06F12/02 , H03M13/05
Abstract: A method of failure mapping is provided. The method includes determining that a non-volatile memory block in the memory has a defect and generating a mask that indicates the non-volatile memory block and the defect. The method includes reading from the non-volatile memory block with application of the mask, wherein the reading and the application of the mask are performed by the non-volatile solid-state storage.
-
公开(公告)号:US10310753B1
公开(公告)日:2019-06-04
申请号:US15967250
申请日:2018-04-30
Applicant: PURE STORAGE, INC.
Inventor: Jianting Cao , Martin Harriman , John Hayes , Cary Sandvig
Abstract: Attributing consumed storage capacity among entities storing data in a storage array includes: identifying a data object stored in the storage array and shared by a plurality of entities, where the data object occupies an amount of storage capacity of the storage array; and attributing to each entity a fractional portion of the amount of storage capacity occupied by the data object.
-
公开(公告)号:US10268548B2
公开(公告)日:2019-04-23
申请号:US15418333
申请日:2017-01-27
Applicant: PURE STORAGE, INC.
Inventor: John D. Davis , John Hayes , Hari Kannan , Nenad Miladinovic , Zhangxi Tan
IPC: G06F11/00 , G06F11/14 , G06F11/16 , G11C29/00 , G06F11/10 , G06F12/1009 , G11C29/36 , G11C29/38 , G11C29/44
Abstract: A storage cluster is provided. The storage cluster includes a plurality of storage nodes within a chassis. The plurality of storage nodes has flash memory for storage of user data and is configured to distribute the user data and metadata throughout the plurality of storage nodes such that the storage nodes can access the user data with a failure of two of the plurality of storage nodes. Each of the storage nodes is configured to generate at least one address translation table that maps around defects in the flash memory on one of a per flash package basis, per flash die basis, per flash plane basis, per flash block basis, per flash page basis, or per physical address basis. Each of the plurality of storage nodes is configured to apply the at least one address translation table to write and read accesses of the user data.
-
230.
公开(公告)号:US10228865B1
公开(公告)日:2019-03-12
申请号:US15967408
申请日:2018-04-30
Applicant: PURE STORAGE, INC.
Inventor: John Colgrove , John Hayes , Bo Hong , Feng Wang , Ethan Miller , Craig Harmer
IPC: G06F3/06
Abstract: A system and method for effectively scheduling read and write operations among a plurality of solid-state storage devices. A computer system comprises client computers and data storage arrays coupled to one another via a network. A data storage array utilizes solid-state drives and Flash memory cells for data storage. A storage controller within a data storage array comprises an I/O scheduler. The characteristics of corresponding storage devices are used to schedule I/O requests to the storage devices in order to maintain relatively consistent response times at predicted times. Should a device exhibit an unscheduled behavior which may be indicative of the device being in an unknown state, the scheduler may schedule one or more reactive operations on the device configured to cause the device to enter a known state.
-
-
-
-
-
-
-
-
-