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: 12248379
    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: May 1, 2023
    Date of Patent: March 11, 2025
    Assignee: PURE STORAGE, INC.
    Inventors: Mark McAuliffe, Neil Vachharajani, Farhan Abrol
  • 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
  • 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: 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: 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
  • 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
  • Patent number: 10467107
    Abstract: Maintaining metadata consistency among storage devices failures, which includes: for each of a plurality of datasets: writing, on different storage devices of a respective write group, a respective plurality of copies of a respective dataset corresponding to a respective identifier, where at least one copy of the respective dataset remains readable after less than a threshold number of storage device failures within the write group; and responsive to recovering from a system interruption: generating a catalog of valid datasets based on one or more identifiers stored among readable storage devices of the respective write groups.
    Type: Grant
    Filed: November 1, 2017
    Date of Patent: November 5, 2019
    Assignee: Pure Storage, Inc.
    Inventors: Farhan Abrol, Mark McAuliffe, Neil Vachharajani
  • Patent number: 10296354
    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: January 21, 2015
    Date of Patent: May 21, 2019
    Assignee: Pure Storage, Inc.
    Inventors: Marco Sanvido, Richard Hankins, Mark McAuliffe, HuiHui Cheng, Nidhi Doshi, Naveen Neelakantam, Neil Vachharajani
  • Patent number: 10254964
    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: April 30, 2018
    Date of Patent: April 9, 2019
    Assignee: Pure Storage, Inc.
    Inventors: Marco Sanvido, Richard Hankins, Mark McAuliffe, Neil Vachharajani
  • Patent number: 10248516
    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: January 26, 2017
    Date of Patent: April 2, 2019
    Assignee: Pure Storage, Inc.
    Inventors: Marco Sanvido, Richard Hankins, Naveen Neelakantam, Xiaohui Wang, Mark McAuliffe, Taher Vohra
  • Patent number: 9977600
    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: June 30, 2017
    Date of Patent: May 22, 2018
    Assignee: Pure Storage, Inc.
    Inventors: Marco Sanvido, Richard Hankins, Mark McAuliffe, Neil Vachharajani
  • Patent number: 9727485
    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: November 24, 2014
    Date of Patent: August 8, 2017
    Assignee: Pure Storage, Inc.
    Inventors: Marco Sanvido, Richard Hankins, Mark McAuliffe, Neil Vachharajani
  • Patent number: 9588842
    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: December 11, 2014
    Date of Patent: March 7, 2017
    Assignee: Pure Storage, Inc.
    Inventors: Marco Sanvido, Richard Hankins, Naveen Neelakantam, Xiaohui Wang, Mark McAuliffe, Taher Vohra