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: 11947968
    Abstract: 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: Grant
    Filed: January 31, 2022
    Date of Patent: April 2, 2024
    Assignee: PURE STORAGE, INC.
    Inventors: Ronald Karr, Mark McAuliffe
  • Publication number: 20230359402
    Abstract: 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: Application
    Filed: June 12, 2023
    Publication date: November 9, 2023
    Inventors: ANDREW BERNAT, MARK McAULIFFE, CONSTANTINE SAPUNTZAKIS
  • Publication number: 20230267054
    Abstract: 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: Application
    Filed: May 1, 2023
    Publication date: August 24, 2023
    Inventors: MARK McAULIFFE, NEIL VACHHARAJANI, FARHAN ABROL
  • Publication number: 20230229363
    Abstract: 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: Application
    Filed: March 20, 2023
    Publication date: July 20, 2023
    Inventors: RONALD KARR, CONSTANTINE SAPUNTZAKIS, MARK McAULIFFE, FARHAN ABROL, NEIL VACHHARAJANI, TIMOTHY BRENNAN
  • Patent number: 11662909
    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.
    Type: Grant
    Filed: February 9, 2022
    Date of Patent: May 30, 2023
    Assignee: PURE STORAGE, INC
    Inventors: Marco Sanvido, Richard Hankins, Mark McAuliffe, Neil Vachharajani
  • Patent number: 11663097
    Abstract: 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: Grant
    Filed: February 28, 2022
    Date of Patent: May 30, 2023
    Assignee: Pure Storage, Inc.
    Inventors: Mark McAuliffe, Neil Vachharajani, Farhan Abrol
  • Patent number: 11609718
    Abstract: 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: Grant
    Filed: July 23, 2020
    Date of Patent: March 21, 2023
    Assignee: PURE STORAGE, INC.
    Inventors: Ronald Karr, Constantine Sapuntzakis, Mark McAuliffe, Farhan Abrol, Neil Vachharajani, Timothy Brennan
  • Publication number: 20220269417
    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.
    Type: Application
    Filed: February 9, 2022
    Publication date: August 25, 2022
    Inventors: MARCO SANVIDO, RICHARD HANKINS, MARK McAULIFFE, NEIL VACHHARAJANI
  • Publication number: 20220179761
    Abstract: 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: Application
    Filed: February 28, 2022
    Publication date: June 9, 2022
    Inventors: MARK McAULIFFE, NEIL VACHHARAJANI, FARHAN ABROL
  • Publication number: 20220156087
    Abstract: 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: Application
    Filed: January 31, 2022
    Publication date: May 19, 2022
    Inventors: RONALD KARR, MARK McAULIFFE
  • Publication number: 20220147365
    Abstract: 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: Application
    Filed: January 20, 2022
    Publication date: May 12, 2022
    Inventors: ANDREW BERNAT, BENJAMIN SCHOLBROCK, MARK McAULIFFE, ZOLTAN DEWITT, NAVEEN NEELAKANTAM
  • Publication number: 20220066786
    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.
    Type: Application
    Filed: November 9, 2021
    Publication date: March 3, 2022
    Inventors: MARCO SANVIDO, RICHARD HANKINS, MARK McAULIFFE, HUIHUI CHENG, NIDHI DOSHI, NAVEEN NEELAKANTAM, NEIL VACHHARAJANI
  • Patent number: 11263096
    Abstract: 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: Grant
    Filed: July 23, 2020
    Date of Patent: March 1, 2022
    Assignee: Pure Storage, Inc.
    Inventors: Mark McAuliffe, Neil Vachharajani, Farhan Abrol
  • Patent number: 11169817
    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.
    Type: Grant
    Filed: May 2, 2019
    Date of Patent: November 9, 2021
    Assignee: Pure Storage, Inc.
    Inventors: Marco Sanvido, Richard Hankins, Mark McAuliffe, HuiHui Cheng, Nidhi Doshi, Naveen Neelakantam, Neil Vachharajani
  • Patent number: 10838834
    Abstract: 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: Grant
    Filed: February 19, 2019
    Date of Patent: November 17, 2020
    Assignee: Pure Storage, Inc.
    Inventors: Marco Sanvido, Richard Hankins, Naveen Neelakantam, Xiaohui Wang, Mark McAuliffe, Taher Vohra
  • Patent number: 10817392
    Abstract: 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: Grant
    Filed: January 31, 2019
    Date of Patent: October 27, 2020
    Assignee: Pure Storage, Inc.
    Inventors: Mark McAuliffe, Neil Vachharajani, Farhan Abrol
  • Patent number: 10789020
    Abstract: 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: Grant
    Filed: April 30, 2018
    Date of Patent: September 29, 2020
    Assignee: Pure Storage, Inc.
    Inventors: Ronald Karr, Constantine Sapuntzakis, Mark McAuliffe, Farhan Abrol, Neil Vachharajani, Timothy Brennan
  • Patent number: 10756759
    Abstract: 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: Grant
    Filed: September 2, 2011
    Date of Patent: August 25, 2020
    Assignee: Oracle International Corporation
    Inventors: Tirthankar Lahiri, Chi-Kim Hoang, Dina Thomas, Kirk Meredith Edson, Subhradyuti Sarkar, Mark McAuliffe, Marie-Anne Neimat, Chih-Ping Wang
  • Patent number: 10671494
    Abstract: 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: Grant
    Filed: November 1, 2017
    Date of Patent: June 2, 2020
    Assignee: PURE STORAGE, INC.
    Inventors: Farhan Abrol, Mark McAuliffe, Neil Vachharajani
  • Patent number: 10509581
    Abstract: 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: Grant
    Filed: November 1, 2017
    Date of Patent: December 17, 2019
    Assignee: Pure Storage, Inc.
    Inventors: Farhan Abrol, Mark Mcauliffe, Neil Vachharajani