Patents by Inventor Richard Hankins

Richard Hankins 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: 11822807
    Abstract: A method of replication in a distributed storage system, performed by the distributed storage system is provided. The method includes managing a first index for data or metadata in a first storage system, the first storage system having a first partitioning scheme. The method includes managing a second index for data or metadata in a second storage system, the second storage system having a second partitioning scheme. The method includes replicating the data or metadata from the first storage system to the second storage system, translating an identifier of the data or metadata from the first storage system, and mapping the replicated data or metadata into the second partitioning scheme, via the translating of the identifier of the data or metadata from the first storage system.
    Type: Grant
    Filed: February 10, 2022
    Date of Patent: November 21, 2023
    Assignee: PURE STORAGE, INC.
    Inventors: Richard A. Hankins, Igor Ostrovsky, John Colgrove, Cary A. Sandvig, Ronald Karr, Victor Yip, Zong Miao, Abhishek Jain
  • 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: 11561949
    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.
    Type: Grant
    Filed: July 22, 2020
    Date of Patent: January 24, 2023
    Assignee: Pure Storage, Inc.
    Inventors: Marco Sanvido, Richard Hankins, John Hayes, Steve Hodgson, Feng Wang, Sergey Zhuravlev, Andrew Kleinerman
  • 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: 20220164109
    Abstract: A method of replication in a distributed storage system, performed by the distributed storage system is provided. The method includes managing a first index for data or metadata in a first storage system, the first storage system having a first partitioning scheme. The method includes managing a second index for data or metadata in a second storage system, the second storage system having a second partitioning scheme. The method includes replicating the data or metadata from the first storage system to the second storage system, translating an identifier of the data or metadata from the first storage system, and mapping the replicated data or metadata into the second partitioning scheme, via the translating of the identifier of the data or metadata from the first storage system.
    Type: Application
    Filed: February 10, 2022
    Publication date: May 26, 2022
    Inventors: Richard A. Hankins, IGOR OSTROVSKY, JOHN COLGROVE, CARY A. SANDVIG, RONALD KARR, VICTOR YIP, ZONG MIAO, ABHISHEK JAIN
  • Publication number: 20220091743
    Abstract: A storage system stores objects in a bucket at a storage device of the storage system. Each of the objects has a corresponding version. A processing device generates a snapshot of the bucket. The snapshot captures the corresponding version of each of the objects at a time associated with the generation of the snapshot.
    Type: Application
    Filed: September 24, 2020
    Publication date: March 24, 2022
    Inventors: Shao-Ting Chang, Richard A. Hankins, Cary A. Sandvig, Mark Alexander Hugh Emberson, Keshav Sethi Attrey, Andrew Kutner, Karthikeyan Srinivasan, Puneet Venkatraman Shenoy
  • Patent number: 11281375
    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.
    Type: Grant
    Filed: June 28, 2019
    Date of Patent: March 22, 2022
    Assignee: Pure Storage, Inc.
    Inventors: Christopher Golden, Richard Hankins, Aswin Karumbunathan, Naveen Neelakantam, Neil Vachharajani
  • Patent number: 11281394
    Abstract: A method of replication in a distributed storage system, performed by the distributed storage system is provided. The method includes managing a first index for data or metadata in a first storage system, the first storage system having a first partitioning scheme. The method includes managing a second index for data or metadata in a second storage system, the second storage system having a second partitioning scheme. The method includes replicating the data or metadata from the first storage system to the second storage system, translating an identifier of the data or metadata from the first storage system, and mapping the replicated data or metadata into the second partitioning scheme, via the translating of the identifier of the data or metadata from the first storage system.
    Type: Grant
    Filed: June 24, 2019
    Date of Patent: March 22, 2022
    Assignee: Pure Storage, Inc.
    Inventors: Richard A. Hankins, Igor Ostrovsky, John Colgrove, Cary A. Sandvig, Ronald Karr, Victor Yip, Zong Miao, Abhishek Jain
  • 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: 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
  • Publication number: 20200401316
    Abstract: A method of replication in a distributed storage system, performed by the distributed storage system is provided. The method includes managing a first index for data or metadata in a first storage system, the first storage system having a first partitioning scheme. The method includes managing a second index for data or metadata in a second storage system, the second storage system having a second partitioning scheme. The method includes replicating the data or metadata from the first storage system to the second storage system, translating an identifier of the data or metadata from the first storage system, and mapping the replicated data or metadata into the second partitioning scheme, via the translating of the identifier of the data or metadata from the first storage system.
    Type: Application
    Filed: June 24, 2019
    Publication date: December 24, 2020
    Inventors: Richard A. Hankins, Igor Ostrovsky, John Colgrove, Cary A. Sandvig, Ronald Karr, Victor Yip, Zong Miao, Abhishek Jain
  • 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: 10783131
    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.
    Type: Grant
    Filed: January 3, 2018
    Date of Patent: September 22, 2020
    Assignee: Pure Storage, Inc.
    Inventors: Marco Sanvido, Richard Hankins, John Hayes, Steve Hodgson, Feng Wang, Sergey Zhuravlev, Andrew Kleinerman
  • Patent number: 10474363
    Abstract: Space reporting in a storage system, including: determining, for one or more system-visible objects in the storage system, an amount of physical space consumed by each system-visible object and an amount of logical space consumed by each system-visible object; identifying, for each of the one or more system-visible objects in the storage system, one or more user-visible objects that reference the system-visible object; determining, for each of the one or more user-visible objects, an amount of physical space consumed by the user-visible object in dependence upon the amount of physical space consumed by each system-visible object referenced by the user-visible object; and determining, for each of the one or more user-visible objects, an amount of logical space consumed by the user-visible object in dependence upon the amount of logical space consumed by each system-visible object referenced by the user-visible object.
    Type: Grant
    Filed: October 31, 2016
    Date of Patent: November 12, 2019
    Assignee: Pure Storage, Inc.
    Inventors: Wentian Cui, Matthew Fay, Marina Galata, Richard Hankins, Ganesh Ramanarayanan, Cary Sandvig, Zoheb Shivani, Scott Smith, Shishir Yadav
  • Patent number: 10452403
    Abstract: In an embodiment, a method is provided. The method includes managing user-level threads on a first instruction sequencer in response to executing user-level instructions on a second instruction sequencer that is under control of an application level program. A first user-level thread is run on the second instruction sequencer and contains one or more user level instructions. A first user level instruction has at least 1) a field that makes reference to one or more instruction sequencers or 2) implicitly references with a pointer to code that specifically addresses one or more instruction sequencers when the code is executed.
    Type: Grant
    Filed: September 26, 2015
    Date of Patent: October 22, 2019
    Assignee: Intel Corporation
    Inventors: Hong Wang, John P. Shen, Edward T. Grochowski, Richard A. Hankins, Gautham N. Chinya, Bryant E. Bigbee, Shivnandan D. Kaushik, Xiang Chris Zou, Per Hammarlund, Scott Dion Rodgers, Xinmin Tian, Anil Aggawal, Prashant Sethi, Baiju V. Patel, James P Held
  • Patent number: 10346043
    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.
    Type: Grant
    Filed: December 28, 2015
    Date of Patent: July 9, 2019
    Assignee: Pure Storage, Inc.
    Inventors: Christopher Golden, Richard Hankins, Aswin Karumbunathan, Naveen Neelakantam, 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: 10184876
    Abstract: A particulate matter sensor assembly including a resistance sensor and a resonance sensor. Each one of the resistance sensor and the resonance sensor is configured to measure particulate matter present in engine exhaust.
    Type: Grant
    Filed: September 13, 2016
    Date of Patent: January 22, 2019
    Assignee: DENSO International America, Inc.
    Inventors: Edward Szczepanski, Richard Hankins, Rafal Kaput, Michael Lewis, Masayuki Kobayashi