Patents by Inventor Cary A. Sandvig

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

  • 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
  • Patent number: 10521120
    Abstract: A system, method, and computer-readable storage medium for mapping block numbers within a region to physical locations within a storage system. Block numbers are mapped within a region according to a fractal-based space-filling curve. If the region is not a 2k by 2k square, then the region is broken up into one or more 2k by 2k squares. Any remaining sub-region is centered within a 2k by 2k square, the 2k by 2k square is numbered using a fractal-based space-filling curve, and then the sub-region is renumbered by assigning numbers based on the order of the original block numbers of the sub-region.
    Type: Grant
    Filed: September 26, 2018
    Date of Patent: December 31, 2019
    Assignee: Pure Storage, Inc.
    Inventors: Ethan Miller, John Colgrove, John Hayes, Cary Sandvig
  • Publication number: 20190356736
    Abstract: A method of operating a storage system is provided. The method includes establishing a security context between a client and the storage system, the security context comprising a single ticket for multiple nodes within the storage system. The method includes distributing a first request to a first blade within the storage system and distributing a second request to a second blade within the storage system. The distributing the first request and the second request includes determining a node for handling the first request and the second request based on data within the single ticket.
    Type: Application
    Filed: April 30, 2019
    Publication date: November 21, 2019
    Inventors: Purvaja Narayanaswamy, Cary A. Sandvig, Robert Lee
  • 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: 10467527
    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: January 31, 2018
    Date of Patent: November 5, 2019
    Assignee: Pure Storage, Inc.
    Inventors: Fabio Margaglia, Emily Watkins, Hari Kannan, Cary A. Sandvig
  • Patent number: 10452297
    Abstract: The method and system generates a first deduplication map (DDM) level including first data and a second DDM level including second data. The method or apparatus also generates a first index summary (IS) level corresponding to the first DDM level and a second IS level corresponding to the second DDM level. The method or apparatus merges the first data of the first DDM level and the second data of the second DDM level to generate a third DDM level comprising third data. The method or apparatus in response to generating the third DDM level, generates a third IS level to accelerate lookup within the third DDM level.
    Type: Grant
    Filed: October 31, 2016
    Date of Patent: October 22, 2019
    Assignee: Pure Storage, Inc.
    Inventors: Ronald Karr, Ethan L. Miller, Cary A. Sandvig, Feng Wang, Wei Zhang
  • Publication number: 20190318243
    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: June 21, 2019
    Publication date: October 17, 2019
    Inventors: Fabio Margaglia, Emily Watkins, Hari Kannan, Cary A. Sandvig
  • Publication number: 20190179535
    Abstract: A method including, responsive to receiving a request identifying a volume and indicating a command to take a snapshot of the volume, mapping a second logical grouping of data to reference the first logical grouping of data, and remapping the first volume to map to the second logical grouping of data instead of the first logical grouping of data such that the first volume remains addressable with similar access permissions before and after creating the snapshot. The method also includes, in response to receiving a write request targeting the second logical grouping, splitting the second logical grouping into a plurality of ranges including a first range and a second range; wherein the first range of the second logical grouping maps to the first logical grouping, and the write request is performed on the second range of the second logical grouping.
    Type: Application
    Filed: February 14, 2019
    Publication date: June 13, 2019
    Inventors: John Colgrove, Ethan L. Miller, John Martin Hayes, Cary A. Sandvig, Christopher Golden, Jianting Cao
  • Patent number: 10310753
    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: April 30, 2018
    Date of Patent: June 4, 2019
    Assignee: Pure Storage, Inc.
    Inventors: Jianting Cao, Martin Harriman, John Hayes, Cary Sandvig
  • Patent number: 10235093
    Abstract: A system and method for creating and managing snapshots. Mediums are recorded and maintained, all of which are read-only except for the most recent mediums in use by a volume. Multiple volumes may be maintained, including a first volume which points to a first medium. When a snapshot of the first volume is taken, a second medium is created that points to the first medium. The first volume is also updated to point to the second medium. The first medium becomes the underlying medium of the second medium, and lookups are performed initially on the second medium and then on the first medium if the data is not located in the second medium.
    Type: Grant
    Filed: April 11, 2017
    Date of Patent: March 19, 2019
    Assignee: Pure Storage, Inc.
    Inventors: John Colgrove, Ethan Miller, John Hayes, Cary Sandvig, Christopher Golden, Jianting Cao
  • Publication number: 20180365285
    Abstract: System and methods for detecting events based on data object attributes in a storage system are described.
    Type: Application
    Filed: August 27, 2018
    Publication date: December 20, 2018
    Inventors: John Colgrove, Joseph S. Hasbani, John Martin Hayes, Ethan L. Miller, Cary A. Sandvig
  • Patent number: 10089010
    Abstract: A system, method, and computer-readable storage medium for mapping block numbers within a region to physical locations within a storage system. Block numbers are mapped within a region according to a fractal-based space-filling curve. If the region is not a 2k by 2k square, then the region is broken up into one or more 2k by 2k squares. Any remaining sub-region is centered within a 2k by 2k square, the 2k by 2k square is numbered using a fractal-based space-filling curve, and then the sub-region is renumbered by assigning numbers based on the order of the original block numbers of the sub-region.
    Type: Grant
    Filed: August 22, 2017
    Date of Patent: October 2, 2018
    Assignee: Pure Storage, Inc.
    Inventors: Ethan Miller, John Colgrove, John Hayes, Cary Sandvig
  • Patent number: 10082971
    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: August 3, 2017
    Date of Patent: September 25, 2018
    Assignee: Pure Storage, Inc.
    Inventors: Jianting Cao, Martin Harriman, John Hayes, Cary Sandvig
  • Patent number: 10061798
    Abstract: A system and method for managing tables in a storage system is described.
    Type: Grant
    Filed: November 3, 2017
    Date of Patent: August 28, 2018
    Assignee: Pure Storage, Inc.
    Inventors: John Colgrove, Joseph S. Hasbani, John Hayes, Ethan Miller, Cary Sandvig
  • Patent number: 10013317
    Abstract: A system and method for performing search optimization operations. In order to optimize lookups for received data requests, a storage controller attempts to collapse the medium graph, thus reducing the number of mediums in which the storage controller must look to find a given block. One technique for collapsing the medium graph involves promoting individual mappings from a lower-level medium to a higher-level medium. Another technique for collapsing the medium graph involves pushing medium range pointers higher up in the medium mapping table to reduce the number of mediums that must be searched.
    Type: Grant
    Filed: October 12, 2016
    Date of Patent: July 3, 2018
    Assignee: Pure Storage, Inc.
    Inventors: John Colgrove, Ethan Miller, John Hayes, Cary Sandvig, Christopher Golden, Jianting Cao
  • Patent number: 9983822
    Abstract: The method generates a first deduplication map (DDM) level of a DDM pyramid. The DDM pyramid identifies locations of data stored in the persistent storage resource of the deduplication system. The method further determines a first false positive rate target for a first index summary (IS) level of an index pyramid based on a memory footprint for the first IS level and an aggregate false positive rate target for the index pyramid. The first IS level accelerates lookup into the first DDM level. The first false positive rate target indicates a rate that a hit for a value found in the first IS level is not found in the first DDM level. The method also generates the first IS level with a first false positive rate based on the determined first false positive rate target.
    Type: Grant
    Filed: October 31, 2016
    Date of Patent: May 29, 2018
    Assignee: PURE STORAGE, INC.
    Inventors: Ronald Karr, Ethan L. Miller, Cary A. Sandvig, Feng Wang, Wei Zhang
  • Patent number: 9940060
    Abstract: The method includes storing data including an index summary (IS) and a deduplication map (DDM) in volatile memory of a deduplication system. The method also includes detecting that the stored data exceeds a data allocation size limit for the volatile memory. The method includes evicting the data from the volatile memory using a memory eviction policy to meet the data allocation size limit. The method further includes performing a first eviction by evicting the DDM levels from an oldest DDM level to a newest DDM level until a first one of the data allocation size limit or a DDM threshold is met. The method also includes performing a second eviction by evicting the IS levels from an oldest IS level to a newest IS level until a first one of the data allocation size limit or IS threshold is met in response to the data allocation size limit not being met by the first eviction.
    Type: Grant
    Filed: October 21, 2016
    Date of Patent: April 10, 2018
    Assignee: Pure Storage, Inc.
    Inventors: John Colgrove, Ronald Karr, Ethan L. Miller, Vinay K. Perneti, Cary A. Sandvig, Feng Wang, Wei Zhang
  • Publication number: 20180060383
    Abstract: A system and method for managing tables in a storage system is described.
    Type: Application
    Filed: November 3, 2017
    Publication date: March 1, 2018
    Inventors: John Colgrove, Joseph S. Hasbani, John Hayes, Ethan Miller, Cary Sandvig
  • Patent number: 9891858
    Abstract: A system and method for performing coarse-grained deduplication of volume regions. A storage controller detects that a first region of a first volume is identical to a second region of a second volume, wherein the first volume points to a first medium and the second volume points to a second medium. In response to detecting the identical regions, the storage controller stores an indication that the first range of the first medium underlies the second range of the second medium. Also in response to detecting the identical regions, the mappings associated with the second range of the second medium are invalidated.
    Type: Grant
    Filed: January 26, 2017
    Date of Patent: February 13, 2018
    Assignee: Pure Storage, Inc.
    Inventors: John Colgrove, Ethan Miller, John Hayes, Cary Sandvig, Christopher Golden, Jianting Cao