-
公开(公告)号:US20190065391A1
公开(公告)日:2019-02-28
申请号:US16174124
申请日:2018-10-29
Applicant: Pure Storage, Inc.
Inventor: John Davis , John Hayes , Brian Gold , Shantanu Gupta , Zhangxi Tan
CPC classification number: G06F12/10 , G06F3/061 , G06F3/0619 , G06F3/0638 , G06F3/0652 , G06F3/0679 , G06F3/0683 , G06F3/0688 , G06F12/0246 , G06F2212/7201 , G11C16/16
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.
-
公开(公告)号:US10185506B2
公开(公告)日:2019-01-22
申请号:US15357243
申请日:2016-11-21
Applicant: Pure Storage, Inc.
Inventor: John Hayes , Shantanu Gupta , John Davis , Brian Gold , Zhangxi Tan
Abstract: A method of applying scheduling policies is provided. The method includes distributing user data throughout a plurality of storage nodes through erasure coding, wherein the plurality of storage nodes are housed within a single chassis coupling the storage nodes as a cluster. The method includes receiving operations relating to a non-volatile memory of one of the plurality of storage nodes into a plurality of operation queues. The method includes evaluating each of the operations in the plurality of operation queues as to benefit to the non-volatile solid-state storage according to a plurality of policies. For each channel of a plurality of channels coupling the operation queues to the non-volatile memory, the method includes iterating a selection and an execution of a next operation from the plurality of operation queues, with each next operation having a greater benefit than at least a subset of operations remaining in the operation queues.
-
公开(公告)号:US10140149B1
公开(公告)日:2018-11-27
申请号:US14716543
申请日:2015-05-19
Applicant: Pure Storage, Inc.
Inventor: John Hayes , Brian Gold , Shantanu Gupta , Robert Lee , Hari Kannan
IPC: G06F17/30 , G06F9/46 , G06F12/0802 , G06F3/06
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.
-
公开(公告)号:US10114714B2
公开(公告)日:2018-10-30
申请号:US15213271
申请日:2016-07-18
Applicant: PURE STORAGE, INC.
Inventor: John Hayes , Robert Lee , Peter Vajgel , Joshua Robinson
IPC: G06F11/20 , G06F11/16 , G06F11/14 , G06F12/02 , G06F12/0875 , G06F12/0813
Abstract: A method of operating a remote procedure call cache in a storage cluster is provided. The method includes receiving a remote procedure call at a first storage node having solid-state memory and writing information, relating to the remote procedure call, to a remote procedure call cache of the first storage node. The method includes mirroring the remote procedure call cache of the first storage node in a mirrored remote procedure call cache of a second storage node. A plurality of storage nodes and a storage cluster are also provided.
-
公开(公告)号:US10079711B1
公开(公告)日:2018-09-18
申请号:US14464552
申请日:2014-08-20
Applicant: PURE STORAGE, INC.
Inventor: John Hayes , Peter Vajgel , Robert Lee , Par Botes
CPC classification number: G06F12/10 , H04L12/4641 , H04L41/0806 , H04L61/103 , H04L61/2007 , H04L61/2038 , H04L61/6022
Abstract: A method for preserving a media access control (MAC) address of a virtual server is provided. The method includes assigning a physical computing resource to a virtual server, assigning a physical storage memory resource to the virtual server, and assigning a physical network resource to the virtual server. The method includes assigning a virtual MAC address to the virtual server, the virtual MAC address to remain with the virtual server despite reassignment of one or more of the physical computing resource, the physical storage memory resource or the physical network resource, wherein at least one method operation is performed by a processor. A computing and storage system is also provided.
-
公开(公告)号:US10013317B1
公开(公告)日:2018-07-03
申请号:US15291373
申请日:2016-10-12
Applicant: Pure Storage, Inc.
Inventor: John Colgrove , Ethan Miller , John Hayes , Cary Sandvig , Christopher Golden , Jianting Cao
IPC: G06F11/00 , G06F11/14 , G06F3/06 , G06F12/10 , G06F12/0875
CPC classification number: G06F3/065 , G06F3/0604 , G06F3/0605 , G06F3/0608 , G06F3/061 , G06F3/0611 , G06F3/0614 , G06F3/0619 , G06F3/0626 , G06F3/0632 , G06F3/0641 , G06F3/0644 , G06F3/0652 , G06F3/0655 , G06F3/0664 , G06F3/0665 , G06F3/0667 , G06F3/067 , G06F3/0671 , G06F3/0673 , G06F3/0683 , G06F3/0685 , G06F3/0689 , G06F11/1451 , G06F11/1469 , G06F12/0875 , G06F12/0891 , G06F12/10 , G06F12/1009 , G06F12/121 , G06F16/1748 , G06F16/23 , G06F2212/1008 , G06F2212/1016 , G06F2212/1032 , G06F2212/1044 , G06F2212/152 , G06F2212/154 , G06F2212/163 , G06F2212/261 , G06F2212/263
Abstract: A system and method for performing search optimization operations. In order to optimize lookups for received data requests, a storage controller attempts to collapse the medium graph, thus reducing the number of mediums in which the storage controller must look to find a given block. One technique for collapsing the medium graph involves promoting individual mappings from a lower-level medium to a higher-level medium. Another technique for collapsing the medium graph involves pushing medium range pointers higher up in the medium mapping table to reduce the number of mediums that must be searched.
-
公开(公告)号:US09967342B2
公开(公告)日:2018-05-08
申请号:US15376220
申请日:2016-12-12
Applicant: Pure Storage, Inc.
Inventor: John Colgrove , John D. Davis , John Hayes
CPC classification number: H04L67/1097 , G06F3/06 , G06F3/0604 , G06F3/061 , G06F3/0611 , G06F3/0613 , G06F3/0635 , G06F3/065 , G06F3/0655 , G06F3/0659 , G06F3/067 , G06F3/0685 , G06F3/0688 , G06F3/0689 , G06F11/1068 , G06F11/108 , G06F11/2092 , G06F12/0246 , G06F13/4022 , G06F13/4282 , G06F2201/805 , G06F2201/845 , G06F2212/7206 , G06F2212/7207 , G11C29/52 , H03M13/154 , H04L12/40169 , H04L49/10 , H04L67/16
Abstract: A storage system is provided. The storage system includes a plurality of storage units, each of the plurality of storage units having storage memory for user data and a plurality of storage nodes, each of the plurality of storage nodes configured to have ownership of a portion of the user data. The storage system includes a first pathway, coupling the plurality of storage units such that each of the plurality of storage units can communicate with at least one other of the plurality of storage units via the first pathway without assistance from the plurality of storage nodes.
-
公开(公告)号:US09959170B2
公开(公告)日:2018-05-01
申请号:US15476331
申请日:2017-03-31
Applicant: PURE STORAGE, INC.
Inventor: John Hayes , John Colgrove , Robert Lee , Igor Ostrovsky , Joshua Robinson , Peter Vajgel
CPC classification number: G06F12/0238 , G06F3/06 , G06F3/0619 , G06F3/0629 , G06F3/0632 , G06F3/0638 , G06F3/0647 , G06F3/065 , G06F3/067 , G06F3/0688 , G06F11/1004 , G06F11/1076 , G06F11/1096 , G06F12/0246 , G06F2211/1004 , G06F2212/7208
Abstract: A storage cluster is provided. The storage cluster includes a plurality of storage nodes within a single chassis. Each of the plurality of storage nodes has nonvolatile solid-state memory for storage of user data. The plurality of storage nodes are configured to distribute the user data and metadata throughout the plurality of storage nodes with erasure coding of the user data such that the plurality of storage nodes can access the user data, via the erasure coding, with a failure of two of the plurality of storage nodes. The plurality of storage nodes are configured to employ the erasure coding to reconfigure redundancy of the user data responsive to one of adding or removing a storage node.
-
公开(公告)号:US20180088820A1
公开(公告)日:2018-03-29
申请号:US15830984
申请日:2017-12-04
Applicant: PURE STORAGE, INC.
Inventor: John Davis , John Hayes , Brian Gold , Shantanu Gupta , Zhangxi Tan
CPC classification number: G06F3/065 , G06F3/0619 , G06F3/0688 , G06F11/1004 , G06F11/108 , G06F13/28
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.
-
公开(公告)号:US20180039431A1
公开(公告)日:2018-02-08
申请号:US15789859
申请日:2017-10-20
Applicant: Pure Storage, Inc.
Inventor: Par Botes , John Colgrove , John Davis , John Hayes , Robert Lee , Joshua Robinson , Peter Vajgel
CPC classification number: G06F3/0617 , G06F3/0607 , G06F3/0608 , G06F3/0619 , G06F3/0631 , G06F3/0632 , G06F3/065 , G06F3/067 , G06F3/0688 , G06F11/00 , G06F11/2064
Abstract: A plurality of storage nodes cooperating as a storage cluster is provided. Each of the plurality of storage nodes has storage memory. Each storage node of the plurality of storage nodes is configurable to direct erasure coded striping of data of one of an Mode or data segment across the plurality of storage nodes of the storage cluster, with at least one storage node of the plurality of storage nodes having a differing amount of storage capacity of the storage memory from an amount of storage capacity of another storage node in the plurality of storage nodes. A method of storing data in a storage cluster is also provided.
-
-
-
-
-
-
-
-
-