Patents by Inventor Cary Sandvig

Cary Sandvig 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).

  • 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: 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
  • Patent number: 11262929
    Abstract: An implementation of the disclosure provides a system comprising a storage array comprising a storage controller coupled to the storage array. The storage controller comprising a processing device to remap a plurality of deduplication references in a deduplication map to point to an earlier occurrence of duplicate data of a data block for the deduplication map. The processing device further to update an entry of the deduplication map associated with the plurality of deduplication references with a record indicating that the entry is no longer referenced and trim the entry from the deduplication map that is associated with the record.
    Type: Grant
    Filed: December 30, 2019
    Date of Patent: March 1, 2022
    Assignee: Pure Storage, Inc.
    Inventors: Cary A. Sandvig, Constantine P. Sapuntzakis, Feng Wang
  • Publication number: 20210382625
    Abstract: A system and method comprising: receiving a request to write data stored at a first range of a first volume to a second range of a second volume, where first metadata for the first range of the first volume is associated with a range of physical addresses where the data is stored in the storage system; and responsive to receiving the request: creating second metadata for the second range of the second volume, wherein the second metadata is associated with the range of physical addresses where the data is stored in the storage system; and associating the second volume with the second metadata.
    Type: Application
    Filed: August 19, 2021
    Publication date: December 9, 2021
    Inventors: ETHAN MILLER, JIANTING CAO, JOHN COLGROVE, CHRISTOPHER GOLDEN, JOHN HAYES, CARY SANDVIG, GRIGORI INOZEMTSEV
  • Publication number: 20210263651
    Abstract: Optimizing generalized transfers between storage systems including identifying, by a first storage system, a request to transfer source data from the first storage system to a second storage system, wherein the first storage system implements a first storage architecture and the second storage system implements a second storage architecture; identifying difference information between the source data that is stored on the first storage system using the first storage architecture and existing data that is stored on the second storage system using the second storage architecture; and transferring, in dependence upon the difference information, a subset of the source data from the first storage system to the second storage system.
    Type: Application
    Filed: April 29, 2021
    Publication date: August 26, 2021
    Inventor: CARY SANDVIG
  • Patent number: 11099769
    Abstract: A system and method for performing copy offload operations. When a copy offload operation from a first volume (pointing to a first medium) to a second volume (pointing to a second medium) is requested, the copy offload operation is performed without accessing the data being copied. A third medium is created, and the first medium is recorded as the underlying medium of the third medium. The first volume is re-pointed to the third medium. Also, a fourth medium is created, the second volume is re-pointed to the fourth medium, and the second medium is recorded as the underlying medium of the targeted range of the fourth medium. All other ranges of the fourth medium have the second medium as their underlying medium.
    Type: Grant
    Filed: February 12, 2020
    Date of Patent: August 24, 2021
    Assignee: Pure Storage, Inc.
    Inventors: John Colgrove, Ethan Miller, John Hayes, Cary Sandvig, Christopher Golden, Jianting Cao, Grigori Inozemtsev
  • Publication number: 20210174208
    Abstract: An apparatus for artificial intelligence acceleration is provided. The apparatus includes a storage and compute system having a distributed, redundant key value store for metadata. The storage and compute system having distributed compute resources configurable to access, through a plurality of authorities, data in the solid-state memory, run inference with a deep learning model, generate vectors for the data and store the vectors in the key value store.
    Type: Application
    Filed: January 27, 2021
    Publication date: June 10, 2021
    Inventors: Fabio Margaglia, Emily Potyraj, Hari Kannan, Cary A. Sandvig
  • Patent number: 10942869
    Abstract: A method for efficient name coding in a storage system is provided. The method includes identifying common prefixes, common suffixes, and midsections of a plurality of strings in the storage system, and writing the common prefixes, midsections and common suffixes to a string table in the storage system. The method includes encoding each string of the plurality of strings as to position in the string table of prefix, midsection and suffix of the string, and writing the encoding of each string to memory in the storage system for the plurality of strings, in the storage system.
    Type: Grant
    Filed: December 23, 2019
    Date of Patent: March 9, 2021
    Assignee: Pure Storage, Inc.
    Inventors: Robert Lee, Cary A. Sandvig
  • Patent number: 10915813
    Abstract: An apparatus for artificial intelligence acceleration is provided. The apparatus includes a storage and compute system having a distributed, redundant key value store for metadata. The storage and compute system having distributed compute resources configurable to access, through a plurality of authorities, data in the solid-state memory, run inference with a deep learning model, generate vectors for the data and store the vectors in the key value store.
    Type: Grant
    Filed: June 21, 2019
    Date of Patent: February 9, 2021
    Assignee: Pure Storage, Inc.
    Inventors: Fabio Margaglia, Emily Watkins, Hari Kannan, Cary A. Sandvig
  • Publication number: 20210019063
    Abstract: A storage system has filtered views of data. The storage system receives a read request for a filtered view of data in memory. The read request is associated with one or more permissions for viewing the data. The storage system identifies a subset of the data, based on the one or more permissions. The storage system provides the filtered view. The filtered view includes the subset of the data.
    Type: Application
    Filed: September 28, 2020
    Publication date: January 21, 2021
    Inventors: Robert Lee, John Colgrove, Bikash Roy Choudhury, Mandeep Arora, Roy Child, Purvaja Narayanaswamy, Cary A. Sandvig
  • 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: 10866744
    Abstract: Attributing consumed storage capacity among entities storing data in a storage array includes: identifying a data object stored in the storage array and shared by a plurality of entities, where the data object occupies an amount of storage capacity of the storage array; and attributing to each entity a fractional portion of the amount of storage capacity occupied by the data object.
    Type: Grant
    Filed: May 1, 2019
    Date of Patent: December 15, 2020
    Assignee: Pure Storage, Inc.
    Inventors: Jianting Cao, Martin Harriman, John Hayes, Cary Sandvig
  • Publication number: 20200174671
    Abstract: A method of operating an object-based storage system, practiced by the storage system, is provided. The method includes establishing a plurality of buckets for objects, in the storage system and establishing a plurality of bucket views in the storage system, each bucket view supporting access to objects of one of the plurality of buckets. The method includes accessing an object of a bucket through one of the plurality of bucket views.
    Type: Application
    Filed: April 29, 2019
    Publication date: June 4, 2020
    Inventors: Fabio Margaglia, Cary A. Sandvig, Deepak Chawla, Shao-Ting Chang
  • Publication number: 20200151164
    Abstract: System and methods for evicting and inserting eviction an entry for a deduplication table are described.
    Type: Application
    Filed: January 9, 2020
    Publication date: May 14, 2020
    Inventors: John Colgrove, Joseph S. Hasbani, John Martin Hayes, Ethan L. Miller, Cary A. Sandvig
  • Publication number: 20200133548
    Abstract: An implementation of the disclosure provides a system comprising a storage array comprising a storage controller coupled to the storage array. The storage controller comprising a processing device to remap a plurality of deduplication references in a deduplication map to point to an earlier occurrence of duplicate data of a data block for the deduplication map. The processing device further to update an entry of the deduplication map associated with the plurality of deduplication references with a record indicating that the entry is no longer referenced and trim the entry from the deduplication map that is associated with the record.
    Type: Application
    Filed: December 30, 2019
    Publication date: April 30, 2020
    Inventors: Cary A. Sandvig, Constantine P. Sapuntzakis, Feng Wang
  • Publication number: 20200133886
    Abstract: A method for efficient name coding in a storage system is provided. The method includes identifying common prefixes, common suffixes, and midsections of a plurality of strings in the storage system, and writing the common prefixes, midsections and common suffixes to a string table in the storage system. The method includes encoding each string of the plurality of strings as to position in the string table of prefix, midsection and suffix of the string, and writing the encoding of each string to memory in the storage system for the plurality of strings, in the storage system.
    Type: Application
    Filed: December 23, 2019
    Publication date: April 30, 2020
    Inventors: Robert Lee, Cary A. Sandvig
  • Patent number: 10585617
    Abstract: A system and method for performing copy offload operations. When a copy offload operation from a first volume (pointing to a first medium) to a second volume (pointing to a second medium) is requested, the copy offload operation is performed without accessing the data being copied. A third medium is created, and the first medium is recorded as the underlying medium of the third medium. The first volume is re-pointed to the third medium. Also, a fourth medium is created, the second volume is re-pointed to the fourth medium, and the second medium is recorded as the underlying medium of the targeted range of the fourth medium. All other ranges of the fourth medium have the second medium as their underlying medium.
    Type: Grant
    Filed: January 19, 2018
    Date of Patent: March 10, 2020
    Assignee: Pure Storage, Inc.
    Inventors: John Colgrove, Ethan Miller, John Hayes, Cary Sandvig, Christopher Golden, Jianting Cao, Grigori Inozemtsev
  • Patent number: 10540343
    Abstract: System and methods for detecting events based on data object attributes in a storage system are described.
    Type: Grant
    Filed: August 27, 2018
    Date of Patent: January 21, 2020
    Assignee: PURE STORAGE, INC.
    Inventors: John Colgrove, Joseph S. Hasbani, John Martin Hayes, Ethan L. Miller, Cary A. Sandvig
  • Patent number: 10528488
    Abstract: A method for efficient name coding in a storage system is provided. The method includes identifying common prefixes, common suffixes, and midsections of a plurality of strings in the storage system, and writing the common prefixes, midsections and common suffixes to a string table in the storage system. The method includes encoding each string of the plurality of strings as to position in the string table of prefix, midsection and suffix of the string, and writing the encoding of each string to memory in the storage system for the plurality of strings, in the storage system.
    Type: Grant
    Filed: April 27, 2017
    Date of Patent: January 7, 2020
    Assignee: Pure Storage, Inc.
    Inventors: Robert Lee, Cary A. Sandvig
  • Patent number: 10528280
    Abstract: An implementation of the disclosure provides a system comprising a storage array comprising a plurality of data blocks and a storage controller coupled to the storage array. The storage controller comprising a processing device to identify a canonical instance of a data block in a vector associated with a deduplication map. The vector represents a plurality of updates to the deduplication map over a determined time period. A deduplication reference representing duplicate data of the data block in the storage array is select from the deduplication map. The deduplication reference is remapped in the deduplication map to point to the canonical instance. Based on the remapping, an entry in the deduplication map for the deduplication reference is updated with a record. Responsive to detecting that the entry is in a location associated with an original entry of the data block in the deduplication map, delete the entry with the record.
    Type: Grant
    Filed: January 31, 2017
    Date of Patent: January 7, 2020
    Assignee: Pure Storage, Inc.
    Inventors: Cary A. Sandvig, Constantine P. Sapuntzakis, Feng Wang