-
公开(公告)号: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请求调度到存储设备,以便在预测时间内保持相对一致的响应时间。 为了减少存储设备的非预定行为的可能性,存储控制器被配置为对存储设备上的主动操作进行调度,这将减少多个未排程行为的发生。
-
公开(公告)号:US09548972B2
公开(公告)日:2017-01-17
申请号:US14258826
申请日:2014-04-22
Applicant: PURE Storage, Inc.
Inventor: Ethan Miller , John Colgrove , John Hayes
CPC classification number: H04L63/061 , G06F21/78 , G06F2221/2107 , G06F2221/2131 , H04L9/085
Abstract: A system, method, and computer-readable storage medium for protecting a set of storage devices using a secret sharing scheme. The data of each storage device is encrypted with a key, and the key is encrypted based on a shared secret and a device-specific value. Each storage device stores a share and its encrypted key, and if a number of storage devices above a threshold are available, then the shared secret can be reconstructed from the shares and used to decrypt the encrypted keys. Otherwise, the secret cannot be reconstructed if less than the threshold number of storage devices are accessible, and then data on the storage devices will be unreadable.
Abstract translation: 一种用于使用秘密共享方案保护一组存储设备的系统,方法和计算机可读存储介质。 每个存储设备的数据用密钥加密,密钥根据共享密钥和设备特定值进行加密。 每个存储设备存储共享及其加密密钥,并且如果高于阈值的多个存储设备可用,则可以从共享中重建共享密钥并用于对加密的密钥进行解密。 否则,如果小于阈值数量的存储设备可访问,则无法重建秘密,然后存储设备上的数据将无法读取。
-
公开(公告)号:US09547441B1
公开(公告)日:2017-01-17
申请号:US14747842
申请日:2015-06-23
Applicant: Pure Storage, Inc.
Inventor: John Colgrove , Peter E. Kirkpatrick
CPC classification number: G06F3/0608 , G06F3/0604 , G06F3/0632 , G06F3/0644 , G06F3/0653 , G06F3/0673 , G06F3/0689
Abstract: Exposing a geometry of a storage device, including: sending, by the storage device, information describing the layout of memory in the storage device; receiving, by the storage device, a write request, the write request associated with an amount of data sized in dependence upon the layout of memory in the storage device; and writing, by the storage device, the data to a memory unit, the data written to a location within the memory unit in dependence upon the layout of memory in the storage device.
Abstract translation: 公开存储设备的几何形状,包括:由存储设备发送描述存储设备中存储器布局的信息; 由所述存储装置接收写入请求,所述写请求与根据所述存储装置中的存储器布局尺寸大小的数据量相关联; 以及由所述存储装置将所述数据写入存储器单元,所述数据根据所述存储装置中的存储器的布局写入所述存储器单元内的位置。
-
公开(公告)号:US09525738B2
公开(公告)日:2016-12-20
申请号:US15167792
申请日:2016-05-27
Applicant: Pure Storage, Inc.
Inventor: John Hayes , John Colgrove , John D. Davis
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.
-
公开(公告)号:US09454477B2
公开(公告)日:2016-09-27
申请号:US14477470
申请日:2014-09-04
Applicant: PURE Storage, Inc.
Inventor: John Colgrove , John Hayes , Ethan Miller , Feng Wang
CPC classification number: G06F12/0246 , G06F3/0608 , G06F3/061 , G06F3/0638 , G06F3/0665 , G06F3/067 , G06F12/0802 , G06F12/1009 , G06F2212/50 , G06F2212/7201
Abstract: A system and method for efficiently performing user storage virtualization for data stored in a storage system including a plurality of solid-state storage devices. A data storage subsystem supports multiple mapping tables. Records within a mapping table are arranged in multiple levels. Each level stores pairs of a key value and a pointer value. The levels are sorted by time. New records are inserted in a created newest (youngest) level. No edits are performed in-place. All levels other than the youngest may be read only. The system may further include an overlay table which identifies those keys within the mapping table that are invalid.
Abstract translation: 一种用于对存储在包括多个固态存储设备的存储系统中的数据有效地执行用户存储虚拟化的系统和方法。 数据存储子系统支持多个映射表。 映射表中的记录以多个级别排列。 每个级别存储键值和指针值的对。 级别按时间排序。 新记录插入到创建的最新(最小)级别中。 没有就地进行编辑。 除最小的以外的所有级别可能只读。 该系统还可以包括标识映射表内无效的那些密钥的覆盖表。
-
公开(公告)号:US09454476B2
公开(公告)日:2016-09-27
申请号:US14312088
申请日:2014-06-23
Applicant: PURE Storage, Inc.
Inventor: John Colgrove , John Hayes , Ethan Miller , Feng Wang
CPC classification number: G06F12/0246 , G06F3/0608 , G06F3/061 , G06F3/0638 , G06F3/0665 , G06F3/067 , G06F12/0802 , G06F12/1009 , G06F2212/50 , G06F2212/7201
Abstract: A system and method for efficiently performing user storage virtualization for data stored in a storage system including a plurality of solid-state storage devices. A data storage subsystem supports multiple mapping tables. Records within a mapping table are arranged in multiple levels. Each level stores pairs of a key value and a pointer value. The levels are sorted by time. New records are inserted in a created newest (youngest) level. No edits are performed in-place. All levels other than the youngest may be read only. The system may further include an overlay table which identifies those keys within the mapping table that are invalid.
-
公开(公告)号:US20160277503A1
公开(公告)日:2016-09-22
申请号:US15167792
申请日:2016-05-27
Applicant: Pure Storage, Inc.
Inventor: John Hayes , John Colgrove , John D. Davis
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.
Abstract translation: 提供存储系统。 所述存储系统包括多个存储单元,所述多个存储单元中的每一个具有用于用户数据的存储存储器和多个存储节点,所述多个存储节点中的每一个被配置为具有用户数据的一部分的所有权。 存储系统包括第一路径,耦合多个存储单元,使得多个存储单元中的每一个可经由第一路径与多个存储单元中的至少另一个通信,而无需来自多个存储节点的帮助。
-
公开(公告)号:US09405486B2
公开(公告)日:2016-08-02
申请号:US14243421
申请日:2014-04-02
Applicant: PURE Storage, Inc.
Inventor: Ethan Miller , John Colgrove , John Hayes , Cary Sandvig
CPC classification number: G06F3/0608 , G06F3/061 , G06F3/0619 , G06F3/064 , G06F3/0664 , G06F3/0665 , G06F3/0683 , G06F3/0689 , G06F12/00 , G06F12/0292 , G06F12/06 , G06F12/10 , G06F12/1009 , G06F12/1027 , G06F2212/1044
Abstract: A system, method, and computer-readable storage medium for mapping block numbers within a region to physical locations within a storage system. Block numbers are mapped within a region according to a fractal-based space-filling curve. If the region is not a 2k by 2k square, then the region is broken up into one or more 2k by 2k squares. Any remaining sub-region is centered within a 2k by 2k square, the 2k by 2k square is numbered using a fractal-based space-filling curve, and then the sub-region is renumbered by assigning numbers based on the order of the original block numbers of the sub-region.
Abstract translation: 一种用于将区域内的块号映射到存储系统内的物理位置的系统,方法和计算机可读存储介质。 块号根据基于分形的空间填充曲线在一个区域内映射。 如果该区域不是2k乘2k平方,那么该区域被分解成一个或多个2k乘2k的正方形。 任何剩余的子区域居中在2k×2k平方的范围内,使用基于分形的空间填充曲线编号2k×2k平方,然后通过基于原始块的顺序分配编号来重新编号子区域 子区域的数量。
-
公开(公告)号:US09357010B1
公开(公告)日:2016-05-31
申请号:US14961665
申请日:2015-12-07
Applicant: Pure Storage, Inc.
Inventor: John Hayes , John Colgrove , John D. Davis
IPC: G06F12/02 , H04L29/08 , H04L12/933
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.
-
公开(公告)号:US09218244B1
公开(公告)日:2015-12-22
申请号:US14296160
申请日:2014-06-04
Applicant: Pure Storage, Inc.
Inventor: John Hayes , John Colgrove , Robert Lee , Joshua Robinson , Igor Ostrovsky
CPC classification number: G06F11/1096 , G06F11/1076 , G06F11/108 , G06F11/1088 , G06F11/1415
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.
Abstract translation: 提供了一种在存储集群的多个存储节点中主动重建用户数据的方法。 该方法包括在整个多个存储节点中分配用户数据和元数据,使得多个存储节点可以使用擦除编码来读取用户数据,尽管存在两个存储节点。 该方法包括确定存储节点中的一个是不可达的并且确定重新生成不可达的存储节点之一的用户数据。 该方法包括使用擦除编码在多个存储节点的剩余部分中使用擦除编码和写入用户数据来跨多个存储节点的其余部分读取用户数据。 还提供了可以主动地重建存储在存储节点内的用户数据的单个机架内的多个存储节点。
-
-
-
-
-
-
-
-
-