-
公开(公告)号:US09977600B1
公开(公告)日:2018-05-22
申请号:US15638912
申请日:2017-06-30
申请人: Pure Storage, Inc.
IPC分类号: G06F3/06
CPC分类号: G06F3/0608 , G06F3/0619 , G06F3/0641 , G06F3/0665 , G06F3/0689 , G06F12/023 , G06F12/0238 , G06F12/0292 , G06F12/121 , G06F2212/401 , G06F2212/7201
摘要: A system and method for efficiently maintaining metadata stored among 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 at least pairs of a key value and a physical pointer value. The levels are sorted by time. New records are inserted in a created new highest (youngest) level. No edits are performed in-place. A data storage controller determines both a cost of searching a given table exceeds a threshold and an amount of memory used to flatten levels exceeds a threshold. In response, the controller incrementally flattens selected levels within the table based on key ranges. After flattening the records in the selected levels within the key range, the records may be removed from the selected levels. The process repeats with another different key range.
-
公开(公告)号:US09864769B2
公开(公告)日:2018-01-09
申请号:US14569624
申请日:2014-12-12
申请人: PURE Storage, Inc.
发明人: Marco Sanvido , Richard Hankins , John Hayes , Steve Hodgson , Feng Wang , Sergey Zhuravlev , Andrew Kleinerman
CPC分类号: G06F17/30324 , G06F3/0608 , G06F3/0641 , G06F3/067
摘要: A system and method for efficiently storing data in a storage system. A data storage subsystem includes multiple data storage locations on multiple storage devices in addition to at least one mapping table. A data storage controller determines whether data to store in the storage subsystem has one or more patterns of data intermingled with non-pattern data within an allocated block. Rather than store the one or more pattern on the storage devices, the controller stores information in a header on the storage devices. The information includes at least an offset for the first instance of a pattern, a pattern length, and an identification of the pattern. The data may be reconstructed for a corresponding read request from the information stored in the header.
-
公开(公告)号:US10783131B1
公开(公告)日:2020-09-22
申请号:US15861279
申请日:2018-01-03
申请人: Pure Storage, Inc.
发明人: Marco Sanvido , Richard Hankins , John Hayes , Steve Hodgson , Feng Wang , Sergey Zhuravlev , Andrew Kleinerman
摘要: A system and method for efficiently storing data in a storage system. A data storage subsystem includes multiple data storage locations on multiple storage devices in addition to at least one mapping table. A data storage controller determines whether data to store in the storage subsystem has one or more patterns of data intermingled with non-pattern data within an allocated block. Rather than store the one or more pattern on the storage devices, the controller stores information in a header on the storage devices. The information includes at least an offset for the first instance of a pattern, a pattern length, and an identification of the pattern. The data may be reconstructed for a corresponding read request from the information stored in the header.
-
公开(公告)号:US10248516B1
公开(公告)日:2019-04-02
申请号:US15416151
申请日:2017-01-26
申请人: Pure Storage, Inc.
发明人: Marco Sanvido , Richard Hankins , Naveen Neelakantam , Xiaohui Wang , Mark McAuliffe , Taher Vohra
摘要: A system and method for efficiently distributing data among multiple storage devices. A data storage array receives read and write requests from multiple client computers. The data storage array includes multiple storage devices, each with multiple allocation units (AUs). A storage controller within the data storage array determines a RAID layout for use in storing data. In response to determining a failure of a first AU, the storage controller begins reconstructing in a second AU the data stored in the first AU. For read and write requests targeting data in the first AU, the request is serviced by the first AU responsive to determining no error occurs when accessing the first AU.
-
公开(公告)号:US09588842B1
公开(公告)日:2017-03-07
申请号:US14567960
申请日:2014-12-11
申请人: PURE Storage, Inc.
发明人: Marco Sanvido , Richard Hankins , Naveen Neelakantam , Xiaohui Wang , Mark McAuliffe , Taher Vohra
CPC分类号: G06F11/108 , G06F11/1088 , G06F11/1092
摘要: A system and method for efficiently distributing data among multiple storage devices. A data storage array receives read and write requests from multiple client computers. The data storage array includes multiple storage devices, each with multiple allocation units (AUs). A storage controller within the data storage array determines a RAID layout for use in storing data. In response to determining a failure of a first AU, the storage controller begins reconstructing in a second AU the data stored in the first AU. For read and write requests targeting data in the first AU, the request is serviced by the first AU responsive to determining no error occurs when accessing the first AU.
摘要翻译: 一种用于在多个存储设备之间高效地分发数据的系统和方法。 数据存储阵列接收来自多个客户端计算机的读取和写入请求。 数据存储阵列包括多个存储设备,每个存储设备具有多个分配单元(AU)。 数据存储阵列中的存储控制器确定用于存储数据的RAID布局。 响应于确定第一AU的故障,存储控制器开始在第二AU中重建存储在第一AU中的数据。 对于针对第一AU中的数据的读取和写入请求,响应于确定在访问第一AU时不发生错误,该请求由第一AU服务。
-
-
-
-