-
公开(公告)号:US20190095240A1
公开(公告)日:2019-03-28
申请号:US16200310
申请日:2018-11-26
Applicant: PURE STORAGE, INC.
Inventor: John Hayes , Brian Gold , Shantanu Gupta , Robert Lee , Hari Kannan
IPC: G06F9/46 , G06F17/30 , G06F13/16 , G06F3/06 , G06F12/0868 , G06F12/0802
Abstract: A method for a transactional commit in a storage unit is provided. The method includes receiving a logical record from a storage node into a transaction engine of a storage unit of the storage node and writing the logical record into a data structure of the transaction engine. The method includes writing, to a command queue of the transaction engine, an indication to perform an atomic update using the logical record and transferring each portion of the logical record from the data structure of the transaction engine to non-persistent memory of the storage unit as a committed transaction. A storage unit for a storage system is also provided.
-
公开(公告)号:US10178169B2
公开(公告)日:2019-01-08
申请号:US14683083
申请日:2015-04-09
Applicant: Pure Storage, Inc.
Inventor: Par Botes , John Hayes , Zhangxi Tan
IPC: H04L29/06 , H04L29/08 , H04L12/933
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.
-
163.
公开(公告)号:US10156998B1
公开(公告)日:2018-12-18
申请号:US15418035
申请日:2017-01-27
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.
-
公开(公告)号:US10126982B1
公开(公告)日:2018-11-13
申请号:US15418944
申请日:2017-01-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. In order to reduce a likelihood of unscheduled behaviors of the storage devices, the storage controller is configured to schedule proactive operations on the storage devices that will reduce a number of occurrences of unscheduled behaviors.
-
公开(公告)号:US10114757B2
公开(公告)日:2018-10-30
申请号:US15321424
申请日:2015-07-02
Applicant: Pure Storage, Inc.
Inventor: John Hayes , Shantanu Gupta , John Davis , Brian Gold , Zhangxi Tan
Abstract: A method of applying an address space to data storage in a non-volatile solid-state storage is provided. The method includes receiving a plurality of portions of user data for storage in the non-volatile solid-state storage and assigning to each successive one of the plurality of portions of user data one of a plurality of sequential, nonrepeating addresses of an address space. The address range of the address space exceeds a maximum number of addresses expected to be applied during a lifespan of the non-volatile solid-state storage. The method includes writing each of the plurality of portions of user data to the non-volatile solid-state storage such that each of the plurality of portions of user data is identified and locatable for reading via the one of the plurality of sequential, nonrepeating addresses of the address space.
-
公开(公告)号:US20180307422A1
公开(公告)日:2018-10-25
申请号:US16017968
申请日:2018-06-25
Applicant: Pure Storage, Inc.
Inventor: John Hayes , Robert Lee , Igor Ostrovsky , Peter Vajgel
IPC: G06F3/06
CPC classification number: G06F3/0622 , G06F3/0637 , G06F3/0659 , G06F3/067 , G06F3/0688
Abstract: A method of processing transactions associated with a command in a storage system is provided. The method includes receiving, at a first authority of the storage system, a command relating to user data. The method includes sending a transaction of the command, from the first authority to a second authority of the storage system, wherein a token accompanies the transaction and writing data in accordance with the transaction as permitted by the token into a partition that is allocated to the second authority in a storage device of the storage system.
-
公开(公告)号:US20180225174A1
公开(公告)日:2018-08-09
申请号: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.
-
公开(公告)号:US10007457B2
公开(公告)日:2018-06-26
申请号:US14978073
申请日:2015-12-22
Applicant: Pure Storage, Inc.
Inventor: John Hayes , Robert Lee , Igor Ostrovsky , Peter Vajgel
CPC classification number: G06F3/0622 , G06F3/0637 , G06F3/0659 , G06F3/067 , G06F3/0688
Abstract: A method of processing transactions associated with a command in a storage system is provided. The method includes receiving, at a first authority of the storage system, a command relating to user data. The method includes sending a transaction of the command, from the first authority to a second authority of the storage system, wherein a token accompanies the transaction and writing data in accordance with the transaction as permitted by the token into a partition that is allocated to the second authority in a storage device of the storage system.
-
公开(公告)号:US20180144143A1
公开(公告)日:2018-05-24
申请号:US15803613
申请日:2017-11-03
Applicant: Pure Storage, Inc.
Inventor: Par Botes , John Hayes , Ethan Miller
Abstract: A method for securing data in a storage grid is provided. The method includes generating a storage key from key shares of at least two storage clusters of a storage grid having at least three storage clusters and generating a grid key from the storage key and an external secret. The method includes encrypting data with the grid key to yield once encrypted data and encrypting the once encrypted data with the storage key to yield twice encrypted data. The method includes storing the twice encrypted data in a first storage cluster of the storage grid and storing the twice encrypted data in a second storage cluster of the storage grid, wherein at least one method operation is performed by a processor.
-
公开(公告)号:US09934089B2
公开(公告)日:2018-04-03
申请号:US14954757
申请日:2015-11-30
Applicant: Pure Storage, Inc.
Inventor: John Hayes , John Colgrove , John D. Davis
CPC classification number: G06F11/1076 , G06F3/06 , G06F3/0607 , G06F3/0613 , G06F3/0619 , G06F3/0632 , G06F3/065 , G06F3/0655 , G06F3/067 , G06F3/0688 , G06F11/1068 , G06F11/108 , G06F11/1092 , G06F12/0246 , G06F2201/845 , G06F2212/7206 , G06F2212/7207 , H03M13/154
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.
-
-
-
-
-
-
-
-
-