Patents by Inventor Zvi Schneider

Zvi Schneider 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: 10909004
    Abstract: An aspect includes generating a checkpoint for a storage system containing an image for a point in time. An aspect also includes storing, in a reserved area, volume configuration data corresponding to volumes for the point in time, layers of metadata and physical data for the point in time. An aspect further includes creating consistent snapshots for the volumes, destaging a control module journal and persisting a hash tree and dirty tree metadata, destaging a code cache, dumping hash metadata and physical layout metadata to a separate location in the storage and enabling new metadata updates to a default location. An aspect also includes redirecting new data and metadata IOS to stripes reserved during preparation of the separate location relating to the checkpoint and protecting checkpointed data and metadata, and generating a consistent checkpoint copy of a management module repository in the reserved area of storage.
    Type: Grant
    Filed: July 15, 2019
    Date of Patent: February 2, 2021
    Assignee: EMC IP Holding Company LLC
    Inventors: Xiangping Chen, Anton Kucherov, Zvi Schneider, Ying Hu, Felix Shvaiger
  • Patent number: 10852965
    Abstract: A storage system comprising a plurality of storage devices and an associated storage controller. The plurality of storage devices are configured to store data blocks distributed across the plurality of storage devices in a plurality of data stripes. The plurality of data stripes comprise a first set of data stripes and a second set of data stripes. The storage controller is configured to receive data associated with at least one input-output request and to store the received data sequentially in at least one data stripe of the first set of data stripes. The controller is further configured to determine whether or not an amount of data stored in the first set of data stripes is greater than a threshold amount of data and in response to determining that the amount of data stored in the first set of data stripes is greater than the threshold amount of data, to destage the at least one data stripe of the first set of data stripes to the second set of data stripes.
    Type: Grant
    Filed: October 30, 2018
    Date of Patent: December 1, 2020
    Assignee: EMC IP Holding Company LLC
    Inventors: Boris Glimcher, Zvi Schneider, Amitai Alkalay, Kirill Shoikhet
  • Patent number: 10853286
    Abstract: An aspect of performance improvement for an active-active distributed non-ALUA (asymmetrical logical unit assignment) system with address ownerships includes receiving, by a routing module of a content-addressable storage system, an input/output (IO) request; and determining, by the routing module from a table that provides a listing of addresses and compute nodes having ownership to the address, a target location of the IO request. The target location specifies an address. An aspect also includes determining, by the routing module, a mapping between each of the compute modules and a physical path to corresponding storage controllers, an address owner of a storage controller port of a storage controller that owns the address of the IO; selecting a physical path associated with the address owner; and transmitting, by the routing module, the IO request to the storage controller port via a direct call.
    Type: Grant
    Filed: October 15, 2019
    Date of Patent: December 1, 2020
    Assignee: EMC IP HOLDING COMPANY LLC
    Inventors: Amitai Alkalay, Zvi Schneider, Assaf Natanzon
  • Patent number: 10852999
    Abstract: A storage system comprises a plurality of storage devices and an associated storage controller. The storage controller is configured to receive a request to copy a first range of logical addresses to a second range of logical addresses, determine at least one physical block of the storage devices to which the first range of logical addresses is mapped, map the second range of logical addresses to the determined at least one physical block, and add at least one content-based signature associated with the determined at least one physical block to a pending increment data structure that includes content-based signatures corresponding to physical blocks for which an increment of an associated reference count is pending. The storage controller is further configured to execute a pending increment of a reference count associated with a given physical block corresponding to at least one of the content-based signatures in the pending increment data structure.
    Type: Grant
    Filed: July 31, 2018
    Date of Patent: December 1, 2020
    Assignee: EMC IP Holding Company LLC
    Inventors: Zvi Schneider, Uri Shabi
  • Patent number: 10831407
    Abstract: A storage system comprises a plurality of enclosures and a storage controller. Each enclosure comprises at least one processing device and a plurality of drives configured in accordance with a redundant array of independent disks (RAID) arrangement. The storage controller obtains data pages associated with at least one input-output request and provides the obtained data pages to the at least one processing device of a given enclosure. The storage controller issues a command to the at least one processing device of the given enclosure to perform at least one operation based at least in part on the obtained data pages. The at least one processing device of the given enclosure receives the obtained data pages from the storage controller, calculates RAID parities based at least in part on the received data pages, and stores the data pages and RAID parities on the plurality of drives according to the RAID arrangement.
    Type: Grant
    Filed: January 31, 2019
    Date of Patent: November 10, 2020
    Assignee: EMC IP Holding Company LLC
    Inventors: Boris Glimcher, Amitai Alkalay, Anton Kucherov, Zvi Schneider
  • Patent number: 10831735
    Abstract: An apparatus in one embodiment comprises at least one processing device. The processing device is configured to generate a hash entry of a hash table implementing a key-value store that comprises a plurality of buckets associated with corresponding keys where a given bucket comprises a bucket index having two or more entries for storage of values that hash to a key associated with the given bucket. The processing device is also configured to allocate blocks in non-volatile memory, to split the given bucket into chunks each comprising at least one entry of the bucket index, and to persist the hash table to the non-volatile memory utilizing a direct mapping of the chunks of the given bucket to respective designated block offset positions in the allocated blocks. Persisting the hash table comprises storing first and second chunks of the given bucket in first and second allocated blocks.
    Type: Grant
    Filed: July 25, 2018
    Date of Patent: November 10, 2020
    Assignee: EMC IP Holding Company LLC
    Inventors: Zvi Schneider, Maor Rahamim, Uri Shabi
  • Patent number: 10824512
    Abstract: A storage system in one embodiment comprises a storage controller and a plurality of storage devices comprising a plurality of memory portions. The storage controller is configured to monitor a plurality of servers for a failure event. The servers store a plurality of copies of the memory portions. The storage controller is further configured to mark as invalid a copy of a memory portion on a failed server, search for and identify a location on an operational server for storing a new version of the copy, and communicate the copy invalidity and the identified location to a client device using the memory portion. The client device is configured to generate the new version of the copy for storage on the operational server, and the storage controller receives a notification from the client device regarding whether the new version of the copy was generated and stored on the operational server.
    Type: Grant
    Filed: July 31, 2018
    Date of Patent: November 3, 2020
    Assignee: EMC IP Holding Company LLC
    Inventors: Inna Resnik, Zvi Schneider, Dani Shemesh
  • Patent number: 10826990
    Abstract: A control module of a clustered storage system in one embodiment is configured to receive a write request for a data block of a page, to retrieve an existing content-based signature for the page, to identify from the existing content-based signature a first one of the data modules currently storing the page, and to compute a content-based signature of the data block. The control module is further configured to send the content-based signature of the data block to the first data module, to receive from the first data module an updated content-based signature for the page computed utilizing the content-based signature of the data block, to identify from the updated content-based signature a second one of the data modules that will store the page as updated to include the data block, and to provide information regarding the data block and the updated content-based signature to the second data module for utilization in storage of the updated page.
    Type: Grant
    Filed: July 23, 2018
    Date of Patent: November 3, 2020
    Assignee: EMC IP Holding Company LLC
    Inventors: Lior Kamran, Amitai Alkalay, Zvi Schneider, Vladimir Shveidel, Oran Baruch
  • Publication number: 20200327024
    Abstract: A storage system comprises a plurality of enclosures and a storage controller. Each enclosure comprises at least one processing device and a plurality of drives configured in accordance with a redundant array of independent disks (RAID) arrangement. The storage controller obtains an input-output request to read a target data page and issues a command to the at least one processing device of a given enclosure. Responsive to receiving the command, the at least one processing device of the given enclosure obtains data pages associated with a given stripe from the plurality of drives of the given enclosure. The at least one processing device rebuilds the given stripe based at least in part on the obtained data pages, obtains the target data page from the rebuilt given stripe and provides the obtained target data page to the storage controller.
    Type: Application
    Filed: April 12, 2019
    Publication date: October 15, 2020
    Inventors: Amitai Alkalay, Boris Glimcher, Zvi Schneider, Aric Hadav
  • Publication number: 20200322163
    Abstract: Example embodiments of the present invention relate and a method and an apparatus for double hashing. The method including receiving a hash signature, including a short hash handle, for a data block. The method then includes determining a bucket with which the hash signature should be associated and associating the hash signature with the bucket.
    Type: Application
    Filed: June 18, 2020
    Publication date: October 8, 2020
    Inventors: Kirill Shoikhet, Gilad Braunschvig, Eldad Zinger, Kobi Luz, Zvi Schneider
  • Publication number: 20200311030
    Abstract: A method for data defragmentation is disclosed, including: selecting a file that is stored in a content-addressable storage system, the file including a plurality of blocks, and the storage system including a plurality of deduplication chunks; arranging the plurality of blocks in block groups, each block group including a set of consecutive blocks having a combined size that matches a deduplication chunk size of the storage system; aligning each block group with a different one of the plurality of deduplication chunks of the storage system, such that the blocks in each block group are stored in the storage system in an order that is based on the order in which the blocks are positioned within the file.
    Type: Application
    Filed: March 28, 2019
    Publication date: October 1, 2020
    Applicant: EMC IP Holding Company LLC
    Inventors: Assaf Natanzon, Zvi Schneider, Amitai Alkalay
  • Patent number: 10761933
    Abstract: A storage system comprises a plurality of storage nodes each comprising one or more storage devices. At least a given one of the storage nodes is configured to read data blocks from its one or more storage devices, and for a given one of the data blocks, to determine based at least in part on a content-based signature of that data block whether or not the given data block is appropriate for use in a prefilling operation of the given storage node. Responsive to the given data block being appropriate for use in the prefilling operation of the given storage node, the given storage node uses the data block in the prefilling operation of the given storage node. Responsive to the given data block not being appropriate for use in the prefilling operation of the given storage node, the given storage node sends the data block to another one of the storage nodes for use in a prefilling operation of that other storage node.
    Type: Grant
    Filed: June 19, 2019
    Date of Patent: September 1, 2020
    Assignee: EMC IP Holding Company LLC
    Inventors: William F. Moore, Anton Kucherov, Boaz Binia, Zvi Schneider
  • Patent number: 10747667
    Abstract: An aspect of memory management is provided. An aspect includes evaluating performance parameters of caches of a control module. The caches of the control module have two types of entries: address, hash, and physical location values, and address-to-short-hash (A2SH) values. An aspect further includes evaluating performance parameters of caches of a data module of the multi-layer cache system. The caches of the data module cache include three types of entries: a short-hash-to-physical address, a full-hash-and-short-hash-to-physical address, and a filter mechanism. An aspect further includes predicting an effect that a modification to a size of one of the caches o is on performance of operations at the multi-level cache based on results of the calculating the performance parameters of the caches. Upon estimating an increase in performance, an aspect includes increasing allocation to the cache is determined to have increased performance responsive to the estimating, and decreasing allocation from another cache.
    Type: Grant
    Filed: November 2, 2018
    Date of Patent: August 18, 2020
    Assignee: EMC IP Holding Company LLC
    Inventors: Assaf Natanzon, Amitai Alkalay, Zvi Schneider
  • Patent number: 10747474
    Abstract: An apparatus in one embodiment comprises at least one processing device comprising a processor coupled to a memory. The processing device is configured, in conjunction with an online cluster expansion process for a clustered storage system having an address space distributed across a set of storage controllers each associated with one or more storage devices, to modify the distribution of the address space across the set of storage controllers responsive to adding at least one of compute and storage capacity to the set of storage controllers of the clustered storage system. The processing device is also configured to identify a set of pending input-output requests directed to deletion of data in the clustered storage system, and to execute the set of pending input-output requests prior to relocating data in the clustered storage system based at least in part on the modified distribution of the address space.
    Type: Grant
    Filed: October 22, 2018
    Date of Patent: August 18, 2020
    Assignee: EMC IP Holding Company LLC
    Inventors: Zvi Schneider, Uri Shabi, Maor Rahamim
  • Patent number: 10747618
    Abstract: An apparatus in one embodiment comprises at least one processing device comprising a processor coupled to a memory. The processing device is configured to capture metadata from a metadata area of a storage system for checkpointing, and to store the captured metadata as checkpointed metadata in a user data area of the storage system in association with mapping information relating portions of the checkpointed metadata to particular storage locations in the user data area. The processing device in some embodiments is implemented within the storage system, and may comprise a storage controller of the storage system. The mapping information illustratively comprises a plurality of page location arrays each having a plurality of entries specifying respective locations of checkpointed metadata pages in the user data area.
    Type: Grant
    Filed: November 28, 2018
    Date of Patent: August 18, 2020
    Assignee: EMC IP Holding Company LLC
    Inventors: Ying Hu, Anton Kucherov, Zvi Schneider, Xiangping Chen, Felix Shvaiger
  • Publication number: 20200249869
    Abstract: A storage system comprises a plurality of enclosures and a storage controller. Each enclosure comprises at least one processing device and a plurality of drives configured in accordance with a redundant array of independent disks (RAID) arrangement. The storage controller obtains data pages associated with an input-output request, provides the data pages to a processing device of a given enclosure, and issues a command to the processing device to perform at least one operation based at least in part on the data pages. The processing device of the given enclosure receives the data pages from the storage controller, generates compressed data pages based at least in part on the received data pages, stores one or more of the compressed data pages on the plurality of drives according to the RAID arrangement and returns information associated with the storage of the compressed data pages to the storage controller.
    Type: Application
    Filed: January 31, 2019
    Publication date: August 6, 2020
    Inventors: Boris Glimcher, Amitai Alkalay, Zvi Schneider
  • Publication number: 20200250144
    Abstract: A storage system in one embodiment comprises a plurality of storage devices and a storage controller. The storage controller is configured to receive information indicating whether target data is one of a non-deduplicatable type of data and a deduplicatable type of data. Responsive to the information indicating that the target data is of the deduplicatable type, the storage controller is configured to utilize a content-based mapping generated based on a content of the target data to identify a corresponding physical address for storing the target data. Responsive to the information indicating that the target data is of the non-deduplicatable type, the storage controller is configured to utilize an address-based mapping generated based on a logical address associated with the target data to identify a corresponding physical address for storing the target data.
    Type: Application
    Filed: February 4, 2019
    Publication date: August 6, 2020
    Inventors: Assaf Natanzon, Zvi Schneider, Amitai Alkalay
  • Publication number: 20200249868
    Abstract: A storage system comprises a plurality of enclosures and a storage controller. Each enclosure comprises at least one processing device and a plurality of drives configured in accordance with a redundant array of independent disks (RAID) arrangement. The storage controller obtains data pages associated with at least one input-output request and provides the obtained data pages to the at least one processing device of a given enclosure. The storage controller issues a command to the at least one processing device of the given enclosure to perform at least one operation based at least in part on the obtained data pages. The at least one processing device of the given enclosure receives the obtained data pages from the storage controller, calculates RAID parities based at least in part on the received data pages, and stores the data pages and RAID parities on the plurality of drives according to the RAID arrangement.
    Type: Application
    Filed: January 31, 2019
    Publication date: August 6, 2020
    Inventors: Boris Glimcher, Amitai Alkalay, Anton Kucherov, Zvi Schneider
  • Publication number: 20200241790
    Abstract: A method is disclosed for storing data in a storage system, comprising: receiving a write request at the storage system; detecting whether the write request is associated with one of a deduplication tier or a non-deduplication tier of the storage system; when the write request is associated with the deduplication tier of the storage system, storing data associated with the write request in the first portion of the volume and updating a first mapping structure to map the first LBA to at least one first hash digest that is generated based on the data; and when the write request is associated with the non-deduplication tier of the storage system, storing data associated with the write request in the second portion of the volume and updating the first mapping structure to map the first LBA to a second hash digest that is generated based on a second LBA.
    Type: Application
    Filed: January 29, 2019
    Publication date: July 30, 2020
    Applicant: EMC IP Holding Company LLC
    Inventors: Assaf Natanzon, Zvi Schneider, Amitai Alkalay
  • Patent number: 10728023
    Abstract: An aspect for implementing a hash function with content-based salt includes identifying a data block (block b) of a given size, dividing the data block into x number of segments, selecting y number of bytes from each of the segments, totaling y_total bytes, and performing a bitwise and/or on a z number of the y_total bytes. The bitwise and/or operation produces S(b). An aspect further includes calculating a hash function on the data block producing a number of bytes hash. The hash function results in a hash value (H?(b)). An aspect also includes calculating the hash function on a concatenation of the hash value and S(b).
    Type: Grant
    Filed: July 31, 2018
    Date of Patent: July 28, 2020
    Assignee: EMC IP Holding Company LLC
    Inventors: Zvi Schneider, Amitai Alkalay, Lior Kamran