-
公开(公告)号:US20220269417A1
公开(公告)日:2022-08-25
申请号:US17667756
申请日:2022-02-09
Applicant: PURE STORAGE, INC.
Inventor: MARCO SANVIDO , RICHARD HANKINS , MARK McAULIFFE , NEIL VACHHARAJANI
IPC: G06F3/06 , G06F12/02 , G06F12/121
Abstract: 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.
-
公开(公告)号:US20170185313A1
公开(公告)日:2017-06-29
申请号:US14980632
申请日:2015-12-28
Applicant: Pure Storage, Inc.
Inventor: CHRISTOPHER GOLDEN , RICHARD HANKINS , ASWIN KARUMBUNATHAN , NAVEEN NEELAKANTAM , NEIL VACHHARAJANI
IPC: G06F3/06
CPC classification number: G06F3/0608 , G06F3/0638 , G06F3/064 , G06F3/0661 , G06F3/067 , G06F3/0689
Abstract: 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.
-
公开(公告)号:US20230161748A1
公开(公告)日:2023-05-25
申请号:US18158256
申请日:2023-01-23
Applicant: PURE STORAGE, INC.
Inventor: MARCO SANVIDO , RICHARD HANKINS , JOHN HAYES , STEVE HODGSON , FENG WANG , SERGEY ZHURAVLEV , ANDREW KLEINERMAN
CPC classification number: G06F16/2237 , G06F3/0608 , G06F3/0641 , G06F3/067
Abstract: 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.
-
公开(公告)号:US20220066786A1
公开(公告)日:2022-03-03
申请号:US17522714
申请日:2021-11-09
Applicant: PURE STORAGE, INC.
Inventor: MARCO SANVIDO , RICHARD HANKINS , MARK McAULIFFE , HUIHUI CHENG , NIDHI DOSHI , NAVEEN NEELAKANTAM , NEIL VACHHARAJANI
IPC: G06F9/4401 , G06F12/02
Abstract: 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.
-
-
-