-
公开(公告)号:US10324812B2
公开(公告)日:2019-06-18
申请号:US15351303
申请日:2016-11-14
Applicant: PURE STORAGE, INC.
Inventor: John D. Davis , John Hayes , Hari Kannan , Nenad Miladinovic , Zhangxi Tan
Abstract: A plurality of storage nodes within a single chassis is provided. The plurality of storage nodes is configured to communicate together as a storage cluster. The plurality of storage nodes has a non-volatile solid-state storage 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, with erasure coding of the user data. The plurality of storage nodes is configured to recover from failure of two of the plurality of storage nodes by applying the erasure coding to the user data from a remainder of the plurality of storage nodes. The plurality of storage nodes is configured to detect an error and engage in an error recovery via one of a processor of one of the plurality of storage nodes, a processor of the non-volatile solid state storage, or the flash memory.
-
公开(公告)号:US20190171594A1
公开(公告)日:2019-06-06
申请号:US16267163
申请日:2019-02-04
Applicant: Pure Storage, Inc.
Inventor: John Hayes , Shantanu Gupta , John Davis , Brian Gold , Zhangxi Tan
Abstract: A method of applying a data format in a direct memory access transfer 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 that couples the storage nodes as a cluster, each of the plurality of storage nodes having nonvolatile solid-state memory for user data storage. The method includes reading a self-describing data portion from a first memory of the nonvolatile solid-state memory and extracting a destination from the self-describing data portion. The method includes writing data, from the self-describing data portion, to a second memory of the nonvolatile solid-state memory according to the destination.
-
公开(公告)号:US10303547B2
公开(公告)日:2019-05-28
申请号:US15315676
申请日:2015-06-04
Applicant: Pure Storage, Inc.
Inventor: John Hayes , John Colgrove , Robert Lee , Joshua Robinson , Igor Ostrovsky
Abstract: A method for proactively rebuilding user data in a plurality of storage nodes of a storage cluster is provided. The method includes distributing user data and metadata throughout the plurality of storage nodes such that the plurality of storage nodes can read the user data, using erasure coding, despite loss of two of the storage nodes. The method includes determining that one of the storage nodes is unreachable and determining to rebuild the user data for the one of the storage nodes that is unreachable. The method includes reading the user data across a remainder of the plurality of storage nodes, using the erasure coding and writing the user data across the remainder of the plurality of storage nodes, using the erasure coding. A plurality of storage nodes within a single chassis that can proactively rebuild the user data stored within the storage nodes is also provided.
-
公开(公告)号:US20190141131A1
公开(公告)日:2019-05-09
申请号:US16241320
申请日:2019-01-07
Applicant: Pure Storage, Inc.
Inventor: Par Botes , John Hayes , Zhangxi Tan
IPC: H04L29/08 , G06F3/06 , 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.
-
公开(公告)号:US20180364951A1
公开(公告)日:2018-12-20
申请号:US16050465
申请日:2018-07-31
Applicant: Pure Storage, Inc.
Inventor: John Hayes , Par Botes
CPC classification number: G06F3/0665 , G06F3/0607 , G06F3/0611 , G06F3/0617 , G06F3/0619 , G06F3/0631 , G06F3/0688 , G06F3/0689 , G06F11/1076 , G06F2206/1012
Abstract: A storage cluster is provided. The storage cluster includes a plurality of storage nodes coupled together as the storage cluster. The plurality of storage nodes is configured to assign data to two or more logical arrays and the plurality of storage nodes is configured to establish data striping across the plurality of storage nodes for user data of each of the two or more logical arrays.
-
公开(公告)号:US10152397B2
公开(公告)日:2018-12-11
申请号:US14712761
申请日:2015-05-14
Applicant: Pure Storage, Inc.
Inventor: John Hayes , Par Botes
Abstract: A storage grid is provided. The storage grid includes a first cluster, a second cluster, and a third cluster. Each of the first cluster, the second cluster and the third cluster is configured to store an amount of data ranging from a portion of a copy of the data to a full copy of the data. The first cluster has a full copy of data written to the first cluster and at least a partial copy of data written to the second and third cluster. The second cluster has a full copy of data written to the second cluster, and at least a partial copy of the data written to the first and third cluster. The third cluster has a full copy of data written to the third cluster and at least a partial copy of the data written to the first and second cluster. A method of storing data is also provided.
-
公开(公告)号:US20180165154A1
公开(公告)日:2018-06-14
申请号:US15882886
申请日:2018-01-29
Applicant: PURE STORAGE, INC.
Inventor: John D. Davis , John Hayes , Hari Kannan , Nenad Miladinovic , Zhangxi Tan
CPC classification number: G06F11/1068 , G06F11/076 , G06F11/1048 , G06F12/0246 , G06F16/182 , G06F16/1827 , G06F2212/7207 , G06F2212/7208 , G06F2212/7211 , G11C16/349 , G11C29/44 , G11C29/52 , G11C2029/0409 , G11C2029/0411
Abstract: In some embodiments, a method for die-level monitoring 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 chassis that couples the storage nodes. Each of the storage nodes has a non-volatile solid-state storage with non-volatile memory and the user data is accessible via the erasure coding from a remainder of the storage nodes in event of two of the storage nodes being unreachable. The method includes producing diagnostic information that diagnoses the non-volatile memory on a basis of per package, per die, per plane, per block, or per page, the producing performed by each of the plurality of storage nodes. The method includes writing the diagnostic information to a memory in the storage cluster.
-
38.
公开(公告)号:US09672125B2
公开(公告)日:2017-06-06
申请号:US14684183
申请日:2015-04-10
Applicant: Pure Storage, Inc.
Inventor: Par Botes , John Colgrove , John Hayes
CPC classification number: G06F3/0619 , G06F3/0644 , G06F3/065 , G06F3/0665 , G06F3/0689 , G06F11/1076 , G06F11/1441 , G06F11/2094
Abstract: A plurality of storage nodes in a single chassis is provided. The plurality of storage nodes includes a first plurality of storage nodes configured to communicate together as a first storage cluster and a second plurality of storage nodes configured to communicate together as a second storage cluster. Each of the first and second pluralities of storage nodes has nonvolatile solid-state memory for user data storage and each of the first and second pluralities of storage nodes is configured to distribute user data and metadata associated with the user data throughout a respective plurality of storage nodes such that a respective storage cluster maintains ability to read the user data, using erasure coding, despite a loss of one or more of the respective plurality of storage nodes.
-
公开(公告)号:US20170093980A1
公开(公告)日:2017-03-30
申请号: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.
-
公开(公告)号:US09569116B1
公开(公告)日:2017-02-14
申请号:US15000602
申请日:2016-01-19
Applicant: Pure Storage, Inc.
Inventor: John Colgrove , John Hayes , Bo Hong , Feng Wang , Ethan Miller , Craig Harmer
CPC classification number: G06F3/0611 , G06F3/061 , G06F3/0613 , G06F3/0629 , G06F3/0653 , G06F3/0655 , G06F3/0659 , G06F3/0688 , G06F11/0727 , G06F11/0751 , G06F11/1076 , G06F11/3034 , G06F11/3055 , G06F11/3409 , G06F11/3485 , G06F12/0804 , G06F12/0866 , G06F2212/262 , G06F2212/502
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.
Abstract translation: 一种用于在多个固态存储设备之间有效地调度读取和写入操作的系统和方法。 计算机系统包括经由网络彼此耦合的客户端计算机和数据存储阵列。 数据存储阵列利用固态驱动器和闪存单元进行数据存储。 数据存储阵列中的存储控制器包括I / O调度器。 相应的存储设备的特性用于将I / O请求调度到存储设备,以便在预测时间内保持相对一致的响应时间。 为了减少存储设备的非预定行为的可能性,存储控制器被配置为对存储设备上的主动操作进行调度,这将减少多个未排程行为的发生。
-
-
-
-
-
-
-
-
-