Patents by Inventor Ronen Gazit

Ronen Gazit 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: 10996882
    Abstract: A method for storing data in a storage system is provided, the method including: receiving a request to store data in a RAID volume of the storage system; selecting a stripe block size that is supported by the RAID volume, the RAID volume including a plurality of stripes that are formed of blocks having the selected stripe block size; and identifying a given one of the plurality of stripes that includes enough free space to accommodate the data and storing the data in the given stripe, the given stripe including a smaller amount of free space than at least some of the stripes in the plurality that have sufficient free space to accommodate the data.
    Type: Grant
    Filed: January 29, 2019
    Date of Patent: May 4, 2021
    Assignee: EMC IP Holding Company LLC
    Inventors: Lior Kamran, Alex Soukhman, Marcelo Taube, Ronen Gazit
  • Publication number: 20210124516
    Abstract: A method, computer program product, and computing system for remotely storing first content received on a first processing node of a clustered computing environment onto a storage platform, wherein the clustered computing environment includes a plurality of processing nodes; locally storing metadata that identifies the location of the first content within the storage platform on the first processing node, thus defining first locally-stored differential metadata; and after the occurrence of a storage trigger event, instructing the first processing node write the first locally-stored differential metadata to a cluster metadata pool within the storage platform.
    Type: Application
    Filed: October 25, 2019
    Publication date: April 29, 2021
    Inventors: Philip Love, Ronen Gazit
  • Publication number: 20210124714
    Abstract: A method, computer program product, and computer system for creating, by a computing device, a snapshot related to a snapshot family, wherein an inheritance tree may be maintained for each snapshot family. A write to the snapshot may be received. A hash-based overwrite mapping data structure may be updated based upon, at least in part, receiving the write to the snapshot.
    Type: Application
    Filed: October 24, 2019
    Publication date: April 29, 2021
    Inventors: VLADIMIR SHVEIDEL, Ronen Gazit
  • Publication number: 20210124689
    Abstract: Techniques for performing cache management may include: partitioning entries of a hash table into buckets, wherein each of the buckets includes a portion of the entries of the hash table; configuring a cache, wherein said configuring includes allocating a section of the cache for exclusive use by each bucket; and performing first processing that stores a data block in the cache. The first processing may include: determining a hash value for a data block; selecting, in accordance with the hash value, a first bucket of the plurality of buckets, wherein a first section of the cache is used exclusively for storing cached data blocks of the first bucket; storing metadata used in connection with caching the data block in a first entry of the first bucket; and storing the data block in a first cache location of the first section of the cache.
    Type: Application
    Filed: October 28, 2019
    Publication date: April 29, 2021
    Applicant: EMC IP Holding Company LLC
    Inventors: Anton Kucherov, Ronen Gazit, Vladimir Shveidel, Uri Shabi
  • Publication number: 20210124608
    Abstract: A method, computer program product, and computer system for identifying, by a computing device, an attribute of a lock object associated with data. It may be determined that the lock object is acquired by a first task performing a transaction with the data based upon, at least in part, the attribute of the lock object. The lock object may be acquired by a second task by releasing the lock object from the first task prior to the transaction with the data being completed, wherein the second task is a higher priority task than the first task.
    Type: Application
    Filed: October 24, 2019
    Publication date: April 29, 2021
    Inventors: VLADIMIR SHVEIDEL, Ronen Gazit
  • Publication number: 20210117238
    Abstract: A method is provided for use in computing system, comprising: instantiating a plurality of scheduler queues; instantiating a plurality of type-1 threads; assigning each of the plurality of type-1 threads to a respective scheduler queue; allocating a plurality of budgets to the plurality of scheduling of queues, each of the plurality of budgets being allocated to a different one of the plurality of scheduling queues; selecting one of the plurality of scheduling queues; retrieving a type-1 thread from the selected scheduling queue when one of a first condition or a second condition is satisfied, the first condition being satisfied when the respective budget of the queue is not exhausted, and the second condition being satisfied when another one of the plurality of scheduling queues are empty; and executing the retrieved type-1 thread.
    Type: Application
    Filed: October 16, 2019
    Publication date: April 22, 2021
    Applicant: EMC IP HOLDING COMPANY LLC
    Inventors: Vladimir Shveidel, Ronen Gazit
  • Publication number: 20210117227
    Abstract: A method is provided comprising: initializing a first thread based on a first work request; and executing the first thread to complete the first work request, wherein the first thread is initialized and executed by using an Application Programming Interface (API) that is arranged to emulate a work request queue by initializing a different respective thread for each work request that is submitted to the API for addition to the work request queue.
    Type: Application
    Filed: October 18, 2019
    Publication date: April 22, 2021
    Applicant: EMC IP HOLDING COMPANY LLC
    Inventors: Vladimir Shveidel, Ronen Gazit, Bar David
  • Publication number: 20210109865
    Abstract: An aspect of implementing globally optimized partial deduplication of storage objects includes gathering pages that share a common feature, dividing the pages into groups based on commonality with corresponding representative pages, where each is assigned as a representative dedupe page for the corresponding groups. For each group in the groups of pages, an aspect also includes writing the pages to a corresponding physical container.
    Type: Application
    Filed: October 11, 2019
    Publication date: April 15, 2021
    Applicant: EMC IP Holding Company LLC
    Inventors: Uri Shabi, Ronen Gazit
  • Publication number: 20210109869
    Abstract: An aspect of determining per volume exclusive capacity in a deduplication system includes setting a percentage of a population of pages for selection. For each of the pages, an aspect includes selecting a page in the population, providing a data segment facilitating multiple references of the segment by at least one storage entity, maintaining counts corresponding with each segment in the page, and determining exclusive ownership of the page based on the counts and a key value of one of a plurality of storage entities.
    Type: Application
    Filed: October 15, 2019
    Publication date: April 15, 2021
    Applicant: EMC IP Holding Company LLC
    Inventors: Uri Shabi, Ronen Gazit
  • Publication number: 20210109671
    Abstract: An aspect of performance optimization in a storage system environment includes providing a metadata structure that describes a storage space of a storage system. For each storage object of a plurality of storage objects, an aspect includes monitoring input/output (IO) patterns for IO operations conducted, monitoring deduplication characteristics of the storage object, and configuring local mapping layer parameters. An aspect further includes modifying local object metadata in the metadata structure as a function of the monitoring and the configuring.
    Type: Application
    Filed: October 11, 2019
    Publication date: April 15, 2021
    Applicant: EMC IP Holding Company LLC
    Inventors: Uri Shabi, Ronen Gazit
  • Publication number: 20210034543
    Abstract: A method comprising: storing, in a memory, a mapping tree that is implemented by using an array of mapping pages, the mapping tree having a depth of D, wherein D is an integer greater than or equal to 0; receiving a write request that is associated with a first type-1 address; storing, in a storage device, data associated with the write request, the data associated with the write request being stored in the storage device based on a first type-2 address; generating a map entry that maps the first type-1 address to the first type-2 address; calculating a first hash digest of the first type-1 address; and storing the map entry in a first mapping page.
    Type: Application
    Filed: July 30, 2019
    Publication date: February 4, 2021
    Applicant: EMC IP HOLDING COMPANY LLC
    Inventors: Vladimir Shveidel, Ronen Gazit, Uri Shabi, Tal Ben-Moshe
  • Publication number: 20210034247
    Abstract: Techniques for determining unique ownership of data blocks includes selecting a first data block referenced by a first logical address of a first logical device, wherein first metadata for the first data block includes a reference count and a result used in determining sole unique ownership of the first data block; determining C1, an expected value of the result of the first metadata when the first logical device is a sole unique owner of the first data block; and performing first processing that determines whether the first logical device is the sole unique owner of the first data block. The first processing includes: determining whether C1 equals a current value of the result of the first metadata; and determining that the first logical device is the sole unique owner of the first data block if C1 equals the current value of the result of the first metadata.
    Type: Application
    Filed: July 30, 2019
    Publication date: February 4, 2021
    Applicant: EMC IP Holding Company LLC
    Inventors: Anton Kucherov, Uri Shabi, Ronen Gazit, Vladimir Shveidel
  • Publication number: 20210034430
    Abstract: A method, computer program product, and computer system for partitioning, by a computing device, resources between a plurality of central processing unit (CPU) cores. A logical block address (LBA) space of a user may be divided into a slice with an affinity to a CPU core of the plurality of CPU cores. IO flow processing may be processed by the CPU core of the plurality of CPU cores associated with the LBA space divided into the slice.
    Type: Application
    Filed: July 31, 2019
    Publication date: February 4, 2021
    Inventors: Ronen Gazit, Vladimir Shveidel
  • Publication number: 20210034287
    Abstract: A method for use in a storage node, the method comprising: instantiating a first poller for detecting whether pending storage device operations have been completed; executing the first poller to identify a first storage device operation that has been completed, wherein executing the first poller includes: (a) executing a first function to detect whether a completion queue corresponding to a storage device driver is empty, the first function being arranged to read a content of a memory location that is associated with the completion queue, (b) terminating the execution of the first poller when the completion queue is empty, and (c) executing a system call function to the storage device driver when the completion queue is non-empty; identifying a first thread that is waiting for the first storage device operation to be completed; and transitioning the first thread from a waiting state to a ready state.
    Type: Application
    Filed: July 29, 2019
    Publication date: February 4, 2021
    Applicant: EMC IP HOLDING COMPANY LLC
    Inventors: Vladimir Shveidel, Ronen Gazit
  • Publication number: 20210026541
    Abstract: A method for use in a storage system, the method comprising: receiving, at a first storage processor in the plurality, an Input/Output (I/O) request that is associated with a storage object; identifying an entity associated with the I/O request and the storage object; detecting, by the first storage processor, whether the first storage processor is a current owner of the storage object; when the first storage processor is the current owner of the storage object, setting a lock on the entity, the lock being set by the first storage processor, the lock being set independently of any other storage processors in the storage system; when the first storage processor is not the current owner of the storage object, setting the lock in cooperation with the current owner of the storage object; and executing the I/O request based on the entity after the lock has been set
    Type: Application
    Filed: July 24, 2019
    Publication date: January 28, 2021
    Applicant: EMC IP HOLDING COMPANY LLC
    Inventors: Vladimir Shveidel, Ronen Gazit
  • Publication number: 20210011667
    Abstract: Virtual block redirection clean-up is accomplished for a virtual block in a mapper tree for a logical volume that is redirected to a destination virtual block in the mapper tree. In response to redirection of the virtual block, a redirection notification is sent to each component in a set of dependent components. Each dependent component may store one or more pointers to pointers located within virtual blocks of the mapper tree. The redirected virtual block is cleaned up in response to determining that each dependent component has expressly indicated, in response to the redirection notification, that it does not store any pointer to any pointer that is located within the redirected virtual block.
    Type: Application
    Filed: July 11, 2019
    Publication date: January 14, 2021
    Inventors: Alex Soukhman, Vladimir Shveidel, Ronen Gazit, Uri Shabi
  • Patent number: 10860221
    Abstract: Modifications to be made to a page of non-volatile data storage and a current transaction sequence number are store into a protected memory. The current transaction sequence number is added to a previous version of the page and the modifications are applied to the previous version of the page to create a new version of the page that is written to the non-volatile data storage. A failure of the write may cause the stored modifications to be re-applied to the page in response to a transaction sequence number in a retrieved version of the page not matching the saved current transaction sequence number. A write completion status stored in a protected memory may indicate which ones of multiple copies of the page have been overwritten with the new version. Alternatively, an error-detecting code may be generated and written to non-volatile data storage with the new version to the multiple copies.
    Type: Grant
    Filed: July 5, 2019
    Date of Patent: December 8, 2020
    Assignee: EMC IP Holding Company LLC
    Inventors: Vladimir Shveidel, Ronen Gazit
  • Patent number: 10860483
    Abstract: A technique handles metadata corruption to avoid data unavailability. The technique involves performing metadata evaluation operations on metadata describing pages of written data in a data-log that holds data en route to volumes in secondary storage. The technique further involves, while results of the metadata evaluation operations indicate that there is no corrupt metadata, flushing the pages of written data from the data-log to the volumes in the secondary storage. The technique further involves, in response to a result of a particular metadata evaluation operation indicating that metadata for a particular page of written data in the data-log is corrupt, quarantining the particular page of written data from the data-log to a containment cache to enable further flushing of other pages of written data from the data-log to the volumes in the secondary storage.
    Type: Grant
    Filed: April 30, 2019
    Date of Patent: December 8, 2020
    Assignee: EMC IP Holding Company LLC
    Inventors: Leron Fliess, Nimrod Shani, Ronen Gazit
  • Publication number: 20200348862
    Abstract: A method, computer program product, and computing system for during a high IOPs period, receiving content to be written to a storage system; storing the content to a specific location within a storage device associated with the storage system; updating a temporary map to include an entry that defines the specific location of the content; and during a subsequent period, binding the content with respect to the storage device.
    Type: Application
    Filed: May 3, 2019
    Publication date: November 5, 2020
    Inventors: Vladimir Shveidel, Ronen Gazit
  • Publication number: 20200349072
    Abstract: A technique handles metadata corruption to avoid data unavailability. The technique involves performing metadata evaluation operations on metadata describing pages of written data in a data-log that holds data en route to volumes in secondary storage. The technique further involves, while results of the metadata evaluation operations indicate that there is no corrupt metadata, flushing the pages of written data from the data-log to the volumes in the secondary storage. The technique further involves, in response to a result of a particular metadata evaluation operation indicating that metadata for a particular page of written data in the data-log is corrupt, quarantining the particular page of written data from the data-log to a containment cache to enable further flushing of other pages of written data from the data-log to the volumes in the secondary storage.
    Type: Application
    Filed: April 30, 2019
    Publication date: November 5, 2020
    Inventors: Leron Fliess, Nimrod Shani, Ronen Gazit