Patents by Inventor Mark McAuliffe
Mark McAuliffe has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).
-
Patent number: 11947968Abstract: 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.Type: GrantFiled: January 31, 2022Date of Patent: April 2, 2024Assignee: PURE STORAGE, INC.Inventors: Ronald Karr, Mark McAuliffe
-
Publication number: 20230359402Abstract: Variable redundancy for metadata in storage systems, including: gathering information describing one or more failure characteristics for a plurality of storage devices of a storage system; determining, based on the one or more failure characteristics, a degree of redundancy for metadata stored in the storage system; and applying the degree of redundancy to the metadata.Type: ApplicationFiled: June 12, 2023Publication date: November 9, 2023Inventors: ANDREW BERNAT, MARK McAULIFFE, CONSTANTINE SAPUNTZAKIS
-
Publication number: 20230267054Abstract: 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.Type: ApplicationFiled: May 1, 2023Publication date: August 24, 2023Inventors: MARK McAULIFFE, NEIL VACHHARAJANI, FARHAN ABROL
-
Publication number: 20230229363Abstract: 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.Type: ApplicationFiled: March 20, 2023Publication date: July 20, 2023Inventors: RONALD KARR, CONSTANTINE SAPUNTZAKIS, MARK McAULIFFE, FARHAN ABROL, NEIL VACHHARAJANI, TIMOTHY BRENNAN
-
Patent number: 11662909Abstract: 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.Type: GrantFiled: February 9, 2022Date of Patent: May 30, 2023Assignee: PURE STORAGE, INCInventors: Marco Sanvido, Richard Hankins, Mark McAuliffe, Neil Vachharajani
-
Patent number: 11663097Abstract: 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.Type: GrantFiled: February 28, 2022Date of Patent: May 30, 2023Assignee: Pure Storage, Inc.Inventors: Mark McAuliffe, Neil Vachharajani, Farhan Abrol
-
Patent number: 11609718Abstract: 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.Type: GrantFiled: July 23, 2020Date of Patent: March 21, 2023Assignee: PURE STORAGE, INC.Inventors: Ronald Karr, Constantine Sapuntzakis, Mark McAuliffe, Farhan Abrol, Neil Vachharajani, Timothy Brennan
-
Publication number: 20220269417Abstract: 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.Type: ApplicationFiled: February 9, 2022Publication date: August 25, 2022Inventors: MARCO SANVIDO, RICHARD HANKINS, MARK McAULIFFE, NEIL VACHHARAJANI
-
Publication number: 20220179761Abstract: 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.Type: ApplicationFiled: February 28, 2022Publication date: June 9, 2022Inventors: MARK McAULIFFE, NEIL VACHHARAJANI, FARHAN ABROL
-
Publication number: 20220156087Abstract: 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.Type: ApplicationFiled: January 31, 2022Publication date: May 19, 2022Inventors: RONALD KARR, MARK McAULIFFE
-
Publication number: 20220147365Abstract: Accelerating segment metadata head scans for storage system controller failover, including: receiving, by a secondary storage unit corresponding to a primary storage unit, a request to store a data segment; storing the data segment and segment metadata at the head of the data segment; and storing, in a data structure, data indicating an erase block storing the segment metadata and indicating an offset in the erase block where the segment metadata is stored.Type: ApplicationFiled: January 20, 2022Publication date: May 12, 2022Inventors: ANDREW BERNAT, BENJAMIN SCHOLBROCK, MARK McAULIFFE, ZOLTAN DEWITT, NAVEEN NEELAKANTAM
-
Publication number: 20220066786Abstract: 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.Type: ApplicationFiled: November 9, 2021Publication date: March 3, 2022Inventors: MARCO SANVIDO, RICHARD HANKINS, MARK McAULIFFE, HUIHUI CHENG, NIDHI DOSHI, NAVEEN NEELAKANTAM, NEIL VACHHARAJANI
-
Patent number: 11263096Abstract: 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.Type: GrantFiled: July 23, 2020Date of Patent: March 1, 2022Assignee: Pure Storage, Inc.Inventors: Mark McAuliffe, Neil Vachharajani, Farhan Abrol
-
Patent number: 11169817Abstract: 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.Type: GrantFiled: May 2, 2019Date of Patent: November 9, 2021Assignee: Pure Storage, Inc.Inventors: Marco Sanvido, Richard Hankins, Mark McAuliffe, HuiHui Cheng, Nidhi Doshi, Naveen Neelakantam, Neil Vachharajani
-
Patent number: 10838834Abstract: 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.Type: GrantFiled: February 19, 2019Date of Patent: November 17, 2020Assignee: Pure Storage, Inc.Inventors: Marco Sanvido, Richard Hankins, Naveen Neelakantam, Xiaohui Wang, Mark McAuliffe, Taher Vohra
-
Patent number: 10817392Abstract: 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.Type: GrantFiled: January 31, 2019Date of Patent: October 27, 2020Assignee: Pure Storage, Inc.Inventors: Mark McAuliffe, Neil Vachharajani, Farhan Abrol
-
Patent number: 10789020Abstract: 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.Type: GrantFiled: April 30, 2018Date of Patent: September 29, 2020Assignee: Pure Storage, Inc.Inventors: Ronald Karr, Constantine Sapuntzakis, Mark McAuliffe, Farhan Abrol, Neil Vachharajani, Timothy Brennan
-
Patent number: 10756759Abstract: In column domain dictionary compression, column values in one or more columns are tokenized by a single dictionary. The domain of the dictionary is the entire set of columns. A dictionary may not only map a token to a tokenized value, but also to a count (“token count”) of the number of occurrences of the token and corresponding tokenized value in the dictionary's domain. Such information may be used to compute queries on the base table.Type: GrantFiled: September 2, 2011Date of Patent: August 25, 2020Assignee: Oracle International CorporationInventors: Tirthankar Lahiri, Chi-Kim Hoang, Dina Thomas, Kirk Meredith Edson, Subhradyuti Sarkar, Mark McAuliffe, Marie-Anne Neimat, Chih-Ping Wang
-
Patent number: 10671494Abstract: 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.Type: GrantFiled: November 1, 2017Date of Patent: June 2, 2020Assignee: PURE STORAGE, INC.Inventors: Farhan Abrol, Mark McAuliffe, Neil Vachharajani
-
Patent number: 10509581Abstract: Maintaining identifier service consistency within a storage system, including, responsive to a write operation for a dataset: assigning an identifier for the write operation, wherein the identifier is equal to a current identifier from an allowable set of identifiers; storing, within a metadata header for the dataset, metadata indicating the assigned identifier; and incrementing the current identifier; and responsive to determining that the incremented current identifier has caused a reservation event: updating a range corresponding to the allowable set of identifiers.Type: GrantFiled: November 1, 2017Date of Patent: December 17, 2019Assignee: Pure Storage, Inc.Inventors: Farhan Abrol, Mark Mcauliffe, Neil Vachharajani