Patents by Inventor Philip N. Shilane

Philip N. Shilane 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: 20190114215
    Abstract: Systems and methods for writing data are provided. A lock-free container and methods of writing to the lock-free container are disclosed. The container is associated with a tail pointer that identifies free space in the container. Threads writing to the container access the tail pointer and update an offset in the tail pointer to account for a size of a write to the container. Multiple threads can write to the same container without having to contend for a container lock.
    Type: Application
    Filed: December 3, 2018
    Publication date: April 18, 2019
    Inventors: Grant R. Wallace, Philip N. Shilane
  • Patent number: 10261704
    Abstract: Systems and methods for managing content in a flash memory. A data structure such as a linked is implemented in flash memory. Nodes can be added to the linked list by overwriting portions of the node when only sets are required to update the node. The nodes may include multiple pointer portions such that existing pointers can be invalided and open pointer portions used for the update to the node.
    Type: Grant
    Filed: June 29, 2016
    Date of Patent: April 16, 2019
    Assignee: EMC IP HOLDING COMPANY LLC
    Inventors: Philip N. Shilane, Grant R. Wallace
  • Publication number: 20190107946
    Abstract: Systems and methods for managing data structures in a flash memory. A library is provided that supports read requests and write requests. The library allows reads and writes to be implemented without requiring the client to understand how the data structure is implemented in the flash memory.
    Type: Application
    Filed: December 4, 2018
    Publication date: April 11, 2019
    Inventors: Philip N. Shilane, Grant R. Wallace
  • Publication number: 20190102247
    Abstract: Systems and methods for recovering corrupted data or missing data from a cache are provided. When a data corruption is discovered in a storage system, the cache may be searched to determine if a valid copy of the corrupted data can be recovered from the cache.
    Type: Application
    Filed: December 3, 2018
    Publication date: April 4, 2019
    Inventors: Philip N. Shilane, Grant R. Wallace
  • Patent number: 10235397
    Abstract: Systems and methods for managing content in a flash memory. Data structures such as trees and graphs are implemented in a flash memory. Nodes or field nodes such as pointers or invalidation bits are updated using an overwrite operation where possible or by invalidating certain fields and temporarily storing changes in an in-memory table.
    Type: Grant
    Filed: September 30, 2016
    Date of Patent: March 19, 2019
    Assignee: EMC IP HOLDING COMPANY LLC
    Inventors: Philip N. Shilane, Grant R. Wallace
  • Patent number: 10228868
    Abstract: Systems and methods for managing content in a flash memory and to managing a lifespan of the flash memory. The lifespan is managed by throttling writes when usage exceeds certain quotas. The throttling may be performed in a cooperative manner such that the clients writing to the flash memory can implement their own throttling. The quotas are not rigid and allow flexibility to certain situations. When excessive quota is used, future quotas can be managed to bring the overall usage into an expected range.
    Type: Grant
    Filed: September 30, 2016
    Date of Patent: March 12, 2019
    Assignee: EMC IP HOLDING COMPANY LLC
    Inventors: Shuang Liang, Philip N. Shilane, Grant R. Wallace
  • Patent number: 10210087
    Abstract: Systems and methods for reducing input/output operations in a computing system that uses a cache. Input/output operations associated with cache index lookups are reduced by tracking the location of the requested data such that the data can be invalidated without having to access the cache index. Input/output operations can be reduced by invalidating the entry in the cache index when reading the corresponding data.
    Type: Grant
    Filed: March 31, 2015
    Date of Patent: February 19, 2019
    Assignee: EMC IP HOLDING COMPANY LLC
    Inventors: Philip N. Shilane, Grant R. Wallace
  • Publication number: 20190034100
    Abstract: Systems and methods for managing content in a flash memory. A data structure such as a Bloom filter is implemented in flash memory such that updates to the data can be performed by overwriting pages in the memory.
    Type: Application
    Filed: September 28, 2018
    Publication date: January 31, 2019
    Inventors: Grant R. Wallace, Philip N. Shilane
  • Publication number: 20190034341
    Abstract: Systems and methods for reducing input/output operations in a computing system that uses a cache. Input/output operations associated with cache index lookups are reduced by tracking the location of the requested data such that the data can be invalidated without having to access the cache index. Input/output operations can be reduced by invalidating the entry in the cache index when reading the corresponding data.
    Type: Application
    Filed: October 3, 2018
    Publication date: January 31, 2019
    Inventors: Philip N. Shilane, Grant R. Wallace
  • Patent number: 10176183
    Abstract: Techniques for reducing overheads of primary storage while transferring modified data are described. According to one embodiment, in response to a request at a primary storage for a backup of a plurality of data blocks, a snapshot of the plurality of data blocks is captured, wherein the snapshot represents a consistent state of the plurality of data blocks. Then a set of data block of the captured snapshot that are to be copied to a secondary storage is identified and the identified set of data blocks are transferred to a secondary storage over a network. In response to receiving data to be written to a first data block at the first primary storage during the transfer, current contents of the first data block is preserved if the first data block is in identified set of data blocks, and the received data is committed to the first data block.
    Type: Grant
    Filed: October 31, 2012
    Date of Patent: January 8, 2019
    Assignee: EMC IP Holding Company LLC
    Inventors: Hyong Shim, Philip N. Shilane, Windsor W. Hsu
  • Publication number: 20190004957
    Abstract: Systems and methods for a low-overhead index for a cache. The index is used to access content or segments in the cache by storing at least an identifier and a location. The index is accessed using the identifier. The identifier may be shortened or be a short identifier. Because a collision may occur, the index may also include one or more meta-data values associated with the data segment. Collisions can be resolved by also comparing the metadata of the segment with the metadata stored in the index. If both the short identifier and metadata match those of the segment, the segment is likely in the cache and can be accessed. Segments can also be inserted into the cache.
    Type: Application
    Filed: August 14, 2018
    Publication date: January 3, 2019
    Inventors: Grant R. Wallace, Philip N. Shilane
  • Patent number: 10146438
    Abstract: Systems and methods for managing data structures in a flash memory. A library is provided that supports read requests and write requests. The library allows reads and writes to be implemented without requiring the client to understand how the data structure is implemented in the flash memory.
    Type: Grant
    Filed: June 29, 2016
    Date of Patent: December 4, 2018
    Assignee: EMC IP HOLDING COMPANY LLC
    Inventors: Philip N. Shilane, Grant R. Wallace
  • Patent number: 10146616
    Abstract: Systems and methods for recovering corrupted data or missing data from a cache are provided. When a data corruption is discovered in a storage system, the cache may be searched to determine if a valid copy of the corrupted data can be recovered from the cache.
    Type: Grant
    Filed: March 31, 2015
    Date of Patent: December 4, 2018
    Assignee: EMC IP HOLDING COMPANY LLC
    Inventors: Philip N. Shilane, Grant R. Wallace
  • Patent number: 10146686
    Abstract: Systems and methods for writing data are provided. A lock-free container and methods of writing to the lock-free container are disclosed. The container is associated with a tail pointer that identifies free space in the container. Threads writing to the container access the tail pointer and update an offset in the tail pointer to account for a size of a write to the container. Multiple threads can write to the same container without having to contend for a container lock.
    Type: Grant
    Filed: January 23, 2018
    Date of Patent: December 4, 2018
    Assignee: EMC IP HOLDING COMPANY LLC
    Inventors: Grant R. Wallace, Philip N. Shilane
  • Publication number: 20180335948
    Abstract: Systems and methods for managing content in a flash memory. Content or data in a flash memory is overwritten when the write operation only requires bits to be set. This improves performance of the flash and extends the life of the flash memory.
    Type: Application
    Filed: July 31, 2018
    Publication date: November 22, 2018
    Inventors: Grant R. Wallace, Philip N. Shilane
  • Patent number: 10135462
    Abstract: A computer-implemented method and system for deduplicating sub-chunks in a data storage system selects a data chunk to deduplicate and generates a sketch for the selected data chunk. A similar data chunk is searched for using the sketch. A set of fingerprints corresponding to sub-chunks of the similar data chunk is loaded. The set of fingerprints for the similar data chunk is compared to a set of fingerprints of the selected data chunk and the selected chunk is encoded as a set of references to identical sub-chunks of the similar data chunk and at least one unmatched sub-chunk.
    Type: Grant
    Filed: June 13, 2012
    Date of Patent: November 20, 2018
    Assignee: EMC IP Holding Company LLC
    Inventors: Grant R. Wallace, Philip N. Shilane, Mark L. Huang, Edward K. Lee, Kai Li
  • Patent number: 10089025
    Abstract: Systems and methods for managing content in a flash memory. A data structure such as a Bloom filter is implemented in flash memory such that updates to the data can be performed by overwriting pages in the memory.
    Type: Grant
    Filed: June 29, 2016
    Date of Patent: October 2, 2018
    Assignee: EMC IP HOLDING COMPANY LLC
    Inventors: Grant R. Wallace, Philip N. Shilane
  • Patent number: 10055351
    Abstract: Systems and methods for a low-overhead index for a cache. The index is used to access content or segments in the cache by storing at least an identifier and a location. The index is accessed using the identifier. The identifier may be shortened or be a short identifier. Because a collision may occur, the index may also include one or more meta-data values associated with the data segment. Collisions can be resolved by also comparing the metadata of the segment with the metadata stored in the index. If both the short identifier and metadata match those of the segment, the segment is likely in the cache and can be accessed. Segments can also be inserted into the cache.
    Type: Grant
    Filed: June 29, 2016
    Date of Patent: August 21, 2018
    Assignee: EMC IP HOLDING COMPANY LLC
    Inventors: Grant R. Wallace, Philip N. Shilane
  • Patent number: 10037164
    Abstract: Systems and methods for managing content in a flash memory. Content or data in a flash memory is overwritten when the write operation only requires bits to be set. This improves performance of the flash and extends the life of the flash memory.
    Type: Grant
    Filed: June 29, 2016
    Date of Patent: July 31, 2018
    Assignee: EMC IP HOLDING COMPANY LLC
    Inventors: Grant R. Wallace, Philip N. Shilane
  • Publication number: 20180165192
    Abstract: Systems and methods for writing data are provided. A lock-free container and methods of writing to the lock-free container are disclosed. The container is associated with a tail pointer that identifies free space in the container. Threads writing to the container access the tail pointer and update an offset in the tail pointer to account for a size of a write to the container. Multiple threads can write to the same container without having to contend for a container lock.
    Type: Application
    Filed: January 23, 2018
    Publication date: June 14, 2018
    Inventors: Grant R. Wallace, Philip N. Shilane