-
公开(公告)号:US11609718B1
公开(公告)日:2023-03-21
申请号:US16937331
申请日:2020-07-23
申请人: PURE STORAGE, INC.
发明人: Ronald Karr , Constantine Sapuntzakis , Mark McAuliffe , Farhan Abrol , Neil Vachharajani , Timothy Brennan
摘要: Staging data on a storage element integrating fast durable storage and bulk durable storage, including: receiving, at a storage element integrating fast durable storage and bulk durable storage, a data storage operation from a host computer; storing data corresponding to the data storage operation within fast durable storage in accordance with a first data resiliency technique; and responsive to detecting a condition for transferring data between fast durable storage and bulk durable storage, transferring the data from fast durable storage to bulk durable storage in accordance with a second data resiliency technique.
-
公开(公告)号:US10671494B1
公开(公告)日:2020-06-02
申请号:US15800280
申请日:2017-11-01
申请人: Pure Storage, Inc.
发明人: Farhan Abrol , Mark McAuliffe , Neil Vachharajani
摘要: Consistently selecting a group of datasets during recovery, including: for each of a plurality of datasets: generating a respective identifier corresponding to a respective dataset, wherein the respective identifier is different from each other identifier; and storing the respective identifier to represent successful storage of the respective dataset; and responsive to recovering from a system interruption: extracting identifier information from all readable datasets; and generating, in dependence upon the extracted identifiers, a group of datasets from among the readable datasets.
-
公开(公告)号: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.
-
公开(公告)号:US10817392B1
公开(公告)日:2020-10-27
申请号:US16263345
申请日:2019-01-31
申请人: PURE STORAGE, INC.
发明人: Mark McAuliffe , Neil Vachharajani , Farhan Abrol
摘要: Ensuring resiliency to storage device failures in a storage system, including: determining a number of storage device failures within a particular write group that are to be tolerated by the storage system; for a plurality of datasets stored within the storage system, writing each dataset to at least a predetermined number of storage devices within the particular write group, wherein the predetermined number of storage devices is greater than the number of storage device failures within the particular write group that are to be tolerated by the storage system; and responsive to recovering from a system interruption: determining a number of readable storage devices that contain a copy of the dataset; and if the number of readable storage devices that contain a copy of the dataset is not greater than the number of failures that are to be tolerated, writing the dataset to one or more additional storage devices.
-
公开(公告)号: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.
-
公开(公告)号: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.
-
公开(公告)号: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.
-
公开(公告)号:US11947968B2
公开(公告)日:2024-04-02
申请号:US17649396
申请日:2022-01-31
申请人: PURE STORAGE, INC.
发明人: Ronald Karr , Mark McAuliffe
IPC分类号: G06F9/00 , G06F9/4401 , G06F12/02 , G06F15/177
CPC分类号: G06F9/4401 , G06F9/4408 , G06F12/02
摘要: A system and method for efficient use of zones in a storage system. The method includes: building a frontier set comprising one or more zones of one or more storage devices for writing to; writing data to at least one zone of the one or more zones included in the frontier set; and during a bootup sequence: accessing a frontier set list to identify the one or more zones in the frontier set; and scanning the one or more zones to identify the at least one zone that data was written to.
-
-
-
-
-
-
-
-
-