-
公开(公告)号:US11561949B1
公开(公告)日:2023-01-24
申请号:US16936172
申请日:2020-07-22
申请人: 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.
-
公开(公告)号:US11281375B1
公开(公告)日:2022-03-22
申请号:US16456719
申请日:2019-06-28
申请人: PURE STORAGE, INC.
发明人: Christopher Golden , Richard Hankins , Aswin Karumbunathan , Naveen Neelakantam , Neil Vachharajani
IPC分类号: G06F3/06
摘要: Intelligently compressing data in a storage array that includes a plurality of storage devices, including: prioritizing, in dependence upon an expected benefit to be gained from compressing each data element, one or more data elements; receiving an amount of processing resources available for compressing the one or more of the data elements; and selecting, in dependence upon the prioritization of the one or more data elements and the amount of processing resources available for compressing one or more of the data elements, a data compression algorithm to utilize on one or more of the data elements.
-
公开(公告)号:US10346043B2
公开(公告)日:2019-07-09
申请号:US14980632
申请日:2015-12-28
申请人: Pure Storage, Inc.
发明人: Christopher Golden , Richard Hankins , Aswin Karumbunathan , Naveen Neelakantam , Neil Vachharajani
IPC分类号: G06F3/06
摘要: Intelligently compressing data in a storage array that includes a plurality of storage devices, including: prioritizing, in dependence upon an expected benefit to be gained from compressing each data element, one or more data elements; receiving an amount of processing resources available for compressing the one or more of the data elements; and selecting, in dependence upon the prioritization of the one or more data elements and the amount of processing resources available for compressing one or more of the data elements, a data compression algorithm to utilize on one or more of the data elements.
-
公开(公告)号:US10296354B1
公开(公告)日:2019-05-21
申请号:US14602052
申请日:2015-01-21
申请人: PURE Storage, Inc.
发明人: Marco Sanvido , Richard Hankins , Mark McAuliffe , HuiHui Cheng , Nidhi Doshi , Naveen Neelakantam , Neil Vachharajani
IPC分类号: G06F9/00 , G06F9/24 , G06F9/4401
摘要: A system and method for efficiently starting up a plurality of solid-state storage devices. A computing system includes one or more storage devices storing data in multiple allocation units (AUs). In a boot region, a data storage controller maintains an AU management set that identifies a state of various AUs in the system. In various embodiments, the management set includes an identification of a subset of free AUs, transitional AU, unincorporated AUs, and speculative AUs. At various times, information corresponding to the AU management set is stored to non-volatile storage. During a boot sequence, the AU management set information is accessed and the identified AUs are searched to identify allocated AUs rather than performing a search of all of the AUs in the system.
-
公开(公告)号:US10254964B1
公开(公告)日:2019-04-09
申请号:US15966036
申请日:2018-04-30
申请人: Pure Storage, Inc.
IPC分类号: G06F3/06
摘要: 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.
-
公开(公告)号:US09727485B1
公开(公告)日:2017-08-08
申请号:US14552172
申请日:2014-11-24
申请人: PURE Storage, Inc.
IPC分类号: G06F12/00 , G06F12/121 , G06F12/02
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.
-
公开(公告)号:US20160171029A1
公开(公告)日:2016-06-16
申请号:US14569624
申请日:2014-12-12
申请人: PURE Storage, Inc.
发明人: Marco Sanvido , Richard Hankins , John Hayes , Steve Hodgson , Feng Wang , Sergey Zhuravlev , Andrew Kleinerman
IPC分类号: G06F17/30
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.
摘要翻译: 一种用于在存储系统中有效地存储数据的系统和方法。 除了至少一个映射表之外,数据存储子系统还包括多个存储设备上的多个数据存储位置。 数据存储控制器确定存储在存储子系统中的数据是否具有与所分配的块内的非模式数据混合的一个或多个数据模式。 控制器不是将一个或多个模式存储在存储设备上,而是将信息存储在存储设备的报头中。 该信息至少包括图案的第一实例的偏移,图案长度和图案的标识。 可以根据存储在头部中的信息为相应的读取请求重建数据。
-
公开(公告)号:US11662909B2
公开(公告)日:2023-05-30
申请号:US17667756
申请日:2022-02-09
申请人: PURE STORAGE, INC.
IPC分类号: G06F3/06 , G06F12/121 , G06F12/02
CPC分类号: G06F3/0608 , G06F3/0619 , G06F3/0641 , G06F3/0665 , G06F3/0689 , G06F12/023 , G06F12/0292 , G06F12/121 , G06F12/0238 , 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.
-
公开(公告)号:US11169817B1
公开(公告)日:2021-11-09
申请号:US16401369
申请日:2019-05-02
申请人: PURE STORAGE, INC.
发明人: Marco Sanvido , Richard Hankins , Mark McAuliffe , HuiHui Cheng , Nidhi Doshi , Naveen Neelakantam , Neil Vachharajani
IPC分类号: G06F9/00 , G06F15/177 , G06F9/4401
摘要: A system and method for efficiently starting up a plurality of solid-state storage devices. A computing system includes one or more storage devices storing data in multiple allocation units (AUs). In a boot region, a data storage controller maintains an AU management set that identifies a state of various AUs in the system. In various embodiments, the management set includes an identification of a subset of free AUs, transitional AU, unincorporated AUs, and speculative AUs. At various times, information corresponding to the AU management set is stored to non-volatile storage. During a boot sequence, the AU management set information is accessed and the identified AUs are searched to identify allocated AUs rather than performing a search of all of the AUs in the system.
-
公开(公告)号:US10474363B1
公开(公告)日:2019-11-12
申请号:US15339215
申请日:2016-10-31
申请人: Pure Storage, Inc.
发明人: Wentian Cui , Matthew Fay , Marina Galata , Richard Hankins , Ganesh Ramanarayanan , Cary Sandvig , Zoheb Shivani , Scott Smith , Shishir Yadav
IPC分类号: G06F3/06
摘要: Space reporting in a storage system, including: determining, for one or more system-visible objects in the storage system, an amount of physical space consumed by each system-visible object and an amount of logical space consumed by each system-visible object; identifying, for each of the one or more system-visible objects in the storage system, one or more user-visible objects that reference the system-visible object; determining, for each of the one or more user-visible objects, an amount of physical space consumed by the user-visible object in dependence upon the amount of physical space consumed by each system-visible object referenced by the user-visible object; and determining, for each of the one or more user-visible objects, an amount of logical space consumed by the user-visible object in dependence upon the amount of logical space consumed by each system-visible object referenced by the user-visible object.
-
-
-
-
-
-
-
-
-