Patents by Inventor Nimrod SHANI

Nimrod SHANI 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: 20240028240
    Abstract: A technique for copying data from a source range to a destination range includes identifying a chunk of the source range. The chunk includes multiple logical blocks that map, through a series of source-mapping pages, to a set of virtual pages that point to physical data of the chunk. The technique further includes copying the series of source-mapping pages to form a corresponding series of destination-mapping pages pointed to by the destination range, so that a corresponding chunk of the destination range maps, via the series of destination-mapping pages, to the same set of virtual pages mapped to by the series of source mapping pages.
    Type: Application
    Filed: July 22, 2022
    Publication date: January 25, 2024
    Inventors: Nimrod Shani, Tal Zohar, Vamsi K. Vankamamidi
  • Patent number: 11847346
    Abstract: A method, computer program product, and computing system for receiving data for storage in a storage system. The data may be written to a head entry of a log buffer, wherein the log buffer includes a plurality of data entries for flushing to the storage system. At least a portion of the plurality of data entries of the log buffer may be flushed, via a plurality of threads, to the storage system based upon, at least in part, a tail entry of the log buffer. A queue of committed data entries may be updated, via each thread of the plurality of threads, with one or more data entries of the log buffer flushed to the storage system by each thread. A new tail entry of the log buffer may be determined, via a thread of the plurality of threads, based upon, at least in part, the queue of committed data entries.
    Type: Grant
    Filed: June 10, 2020
    Date of Patent: December 19, 2023
    Assignee: EMC IP Holding Company, LLC
    Inventors: Nimrod Shani, Ronen Gazit, Uri Shabi
  • Patent number: 11635897
    Abstract: A method, computer program product, and computer system for receiving an XCopy command is provided. The XCopy command may be in the form of an IO operation. The IO operation may be a subextent block operation. A source range and a destination range of the XCopy command may be determined to be aligned within an alignment boundary. The Xcopy command may be determined to be smaller than a predetermined size. In response to determining the source range and destination range of the XCopy command are aligned within the alignment boundary and the XCopy command is smaller than a predetermined size, the XCopy command may be processed. The receiving of the XCopy command may be recorded in a log.
    Type: Grant
    Filed: July 30, 2021
    Date of Patent: April 25, 2023
    Assignee: EMC IP Holding Company, LLC
    Inventors: Nimrod Shani, Shari A. Vietry, Vikram A. Prabhakar, Vamsi K. Vankamamidi
  • Publication number: 20230035390
    Abstract: A method, computer program product, and computer system for receiving an XCopy command is provided. The XCopy command may be in the form of an IO operation. The IO operation may be a subextent block operation. A source range and a destination range of the XCopy command may be determined to be aligned within an alignment boundary. The Xcopy command may be determined to be smaller than a predetermined size. In response to determining the source range and destination range of the XCopy command are aligned within the alignment boundary and the XCopy command is smaller than a predetermined size, the XCopy command may be processed. The receiving of the XCopy command may be recorded in a log.
    Type: Application
    Filed: July 30, 2021
    Publication date: February 2, 2023
    Inventors: Nimrod Shani, Shari A. Vietry, Vikram A. Prabhakar, Vamsi K. Vankamamidi
  • Patent number: 11314809
    Abstract: A method, computer program product, and computing system for identifying one or more first layer metadata blocks with a plurality of entries mapping to a plurality of entries of one or more second layer metadata blocks. The one or more second layer metadata blocks mapped to by the one or more first layer metadata blocks may be identified. A common back pointer for at least a subset of the plurality of entries of the one or more second layer metadata blocks may be generated, the common back pointer pointing from the at least a subset of the plurality of entries of the one or more second layer metadata blocks to the one or more first layer metadata blocks.
    Type: Grant
    Filed: January 30, 2019
    Date of Patent: April 26, 2022
    Assignee: EMC IP HOLDING COMPANY, LLC
    Inventors: Nimrod Shani, Amir Kredi
  • Publication number: 20210389905
    Abstract: A method, computer program product, and computing system for receiving data for storage in a storage system. The data may be written to a head entry of a log buffer, wherein the log buffer includes a plurality of data entries for flushing to the storage system. At least a portion of the plurality of data entries of the log buffer may be flushed, via a plurality of threads, to the storage system based upon, at least in part, a tail entry of the log buffer. A queue of committed data entries may be updated, via each thread of the plurality of threads, with one or more data entries of the log buffer flushed to the storage system by each thread. A new tail entry of the log buffer may be determined, via a thread of the plurality of threads, based upon, at least in part, the queue of committed data entries.
    Type: Application
    Filed: June 10, 2020
    Publication date: December 16, 2021
    Inventors: Nimrod Shani, Ronen Gazit, Uri Shabi
  • Patent number: 10970172
    Abstract: A method is disclosed for recovering metadata, the method comprising: identifying a corrupt or missing metadata entry, the corrupt or missing metadata entry being part of a mapping structure that is stored in a random-access memory (RAM) of a storage system; selecting a metadata backup page that is associated with the mapping structure; identifying a plurality of copies of the selected metadata backup page; identifying a most recent copy among the plurality of copies of the selected metadata backup page; and recovering the corrupt or missing metadata entry based on the most recent one of the plurality of copies of the metadata backup page.
    Type: Grant
    Filed: April 29, 2019
    Date of Patent: April 6, 2021
    Assignee: EMC IP Holding Company LLC
    Inventors: Nimrod Shani, Tal Zohar, Nadav Krispin, Leron Fliess
  • Patent number: 10951550
    Abstract: A method is provided for storing log data in a logging system, comprising: instantiating a plurality of buffers in the logging system, the plurality of buffers including one or more type-1 buffers and one or more type-2 buffers; retrieving a log data item from a temporary storage of the logging system, and identifying a type of the log data item; when the log data item is from a first type: identifying a current type-1 buffer, detecting whether the current type-1 buffer is full, when the current type-1 buffer is not full, storing the log data item in the current type-1 buffer, when the current type-1 buffer is full, designating another buffer as the current type-1 buffer, and storing the log data item in the newly-designated current type-1 buffer.
    Type: Grant
    Filed: January 29, 2019
    Date of Patent: March 16, 2021
    Assignee: EMC IP Holding Company LLC
    Inventors: Nimrod Shani, Leron Fliess
  • Patent number: 10901847
    Abstract: An apparatus comprises at least one processing device comprising a processor coupled to a memory that is configured to initiate a read data request utilizing a logical address of a content addressable storage system that maps to a physical address comprising an offset on a storage device that internally maps the offset to a first sector. The processing device is also configured to determine a health of the first sector responsive to the read data request failing, to recover data stored in the first sector responsive to the first sector being a bad sector, and to overwrite the recovered data to the logical address while maintaining the mapping to the physical address by directing a write of the recovered data to the offset to update the internal mapping of the offset in the storage device to a new physical location corresponding to a second sector different than the first sector.
    Type: Grant
    Filed: July 31, 2018
    Date of Patent: January 26, 2021
    Assignee: EMC IP Holding Company LLC
    Inventors: Nimrod Shani, Anton Kucherov, Lior Kamran, Leron Fliess
  • 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: 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
  • Publication number: 20200341849
    Abstract: A method is disclosed for recovering metadata, the method comprising: identifying a corrupt or missing metadata entry, the corrupt or missing metadata entry being part of a mapping structure that is stored in a random-access memory (RAM) of a storage system; selecting a metadata backup page that is associated with the mapping structure; identifying a plurality of copies of the selected metadata backup page; identifying a most recent copy among the plurality of copies of the selected metadata backup page; and recovering the corrupt or missing metadata entry based on the most recent one of the plurality of copies of the metadata backup page.
    Type: Application
    Filed: April 29, 2019
    Publication date: October 29, 2020
    Applicant: EMC IP Holding Company LLC
    Inventors: Nimrod Shani, Tal Zohar, Nadav Krispin, Leron Fliess
  • Patent number: 10783079
    Abstract: A method is disclosed for recovering data, the method comprising: retrieving a mapping structure associated with a volume in a storage system, the mapping structure including a plurality of entries, each entry including a respective short hash digest of a data block stored in the volume and an identifier of a location where the data block is stored; generating a plurality of long hash digests, each of the long hash digests being generated based on a different one of a plurality of data blocks that are stored in the storage system; comparing each of the long hash digests to a short hash digest of a missing data block, and adding the long hash digest to a candidate list when the long hash digest matches the short hash digest of the missing data block; generating a filtered candidate based on the candidate list; and recovering the missing data.
    Type: Grant
    Filed: January 28, 2019
    Date of Patent: September 22, 2020
    Assignee: EMC IP Holding Company LLC
    Inventors: Nimrod Shani, Tal Zohar
  • Patent number: 10754736
    Abstract: A storage system in one embodiment comprises a plurality of storage devices and a storage controller. The storage controller is configured to scan data pages and associated metadata structures of the storage system, the metadata structures comprising at least a first metadata structure associating unique hash identifiers with physical locations of respective data pages in the storage system and a second metadata structure associating the physical locations of respective data pages with hash digests of the data pages and the unique hash identifiers. The storage controller is further configured to detect an error in one of the first and second metadata structures. Responsive to the detected error, the storage controller recovers a corresponding portion of the metadata based at least in part on one or more entries of the other one of the first and second metadata structures.
    Type: Grant
    Filed: October 25, 2018
    Date of Patent: August 25, 2020
    Assignee: EMC IP Holding Company LLC
    Inventors: Nimrod Shani, Leron Fliess, Tal Zohar
  • Publication number: 20200244600
    Abstract: A method is provided for storing log data in a logging system, comprising: instantiating a plurality of buffers in the logging system, the plurality of buffers including one or more type-1 buffers and one or more type-2 buffers; retrieving a log data item from a temporary storage of the logging system, and identifying a type of the log data item; when the log data item is from a first type: identifying a current type-1 buffer, detecting whether the current type-1 buffer is full, when the current type-1 buffer is not full, storing the log data item in the current type-1 buffer, when the current type-1 buffer is full, designating another buffer as the current type-1 buffer, and storing the log data item in the newly-designated current type-1 buffer.
    Type: Application
    Filed: January 29, 2019
    Publication date: July 30, 2020
    Applicant: EMC IP Holding Company LLC
    Inventors: Nimrod Shani, Leron Fliess
  • Publication number: 20200242039
    Abstract: A method is disclosed for recovering data, the method comprising: retrieving a mapping structure associated with a volume in a storage system, the mapping structure including a plurality of entries, each entry including a respective short hash digest of a data block stored in the volume and an identifier of a location where the data block is stored; generating a plurality of long hash digests, each of the long hash digests being generated based on a different one of a plurality of data blocks that are stored in the storage system; comparing each of the long hash digests to a short hash digest of a missing data block, and adding the long hash digest to a candidate list when the long hash digest matches the short hash digest of the missing data block; generating a filtered candidate based on the candidate list; and recovering the missing data.
    Type: Application
    Filed: January 28, 2019
    Publication date: July 30, 2020
    Applicant: EMC IP Holding Company LLC
    Inventors: Nimrod Shani, Tal Zohar
  • Publication number: 20200242165
    Abstract: A method, computer program product, and computing system for identifying one or more first layer metadata blocks with a plurality of entries mapping to a plurality of entries of one or more second layer metadata blocks. The one or more second layer metadata blocks mapped to by the one or more first layer metadata blocks may be identified. A common back pointer for at least a subset of the plurality of entries of the one or more second layer metadata blocks may be generated, the common back pointer pointing from the at least a subset of the plurality of entries of the one or more second layer metadata blocks to the one or more first layer metadata blocks.
    Type: Application
    Filed: January 30, 2019
    Publication date: July 30, 2020
    Inventors: Nimrod Shani, Amir Kredi
  • Patent number: 10725855
    Abstract: A storage system in one embodiment comprises a plurality of storage devices and a storage controller. The storage controller is configured to identify data to be moved internally within the storage system, to compute a fingerprint for the data, and to compare the computed fingerprint to a previously-stored metadata fingerprint for the data. Responsive to the computed fingerprint being consistent with the metadata fingerprint, the data is moved to its new location within the storage system. Responsive to the computed fingerprint being inconsistent with the metadata fingerprint, the data is reconstructed and at least the computing and comparing are repeated utilizing the reconstructed data.
    Type: Grant
    Filed: October 22, 2018
    Date of Patent: July 28, 2020
    Assignee: EMC IP Holding Company LLC
    Inventors: Nimrod Shani, Lior Kamran
  • Publication number: 20200133794
    Abstract: A storage system in one embodiment comprises a plurality of storage devices and a storage controller. The storage controller is configured to scan data pages and associated metadata structures of the storage system, the metadata structures comprising at least a first metadata structure associating unique hash identifiers with physical locations of respective data pages in the storage system and a second metadata structure associating the physical locations of respective data pages with hash digests of the data pages and the unique hash identifiers. The storage controller is further configured to detect an error in one of the first and second metadata structures. Responsive to the detected error, the storage controller recovers a corresponding portion of the metadata based at least in part on one or more entries of the other one of the first and second metadata structures.
    Type: Application
    Filed: October 25, 2018
    Publication date: April 30, 2020
    Inventors: Nimrod Shani, Leron Fliess, Tal Zohar
  • Publication number: 20200125276
    Abstract: A storage system in one embodiment comprises a plurality of storage devices and a storage controller. The storage controller is configured to identify data to be moved internally within the storage system, to compute a fingerprint for the data, and to compare the computed fingerprint to a previously-stored metadata fingerprint for the data. Responsive to the computed fingerprint being consistent with the metadata fingerprint, the data is moved to its new location within the storage system. Responsive to the computed fingerprint being inconsistent with the metadata fingerprint, the data is reconstructed and at least the computing and comparing are repeated utilizing the reconstructed data.
    Type: Application
    Filed: October 22, 2018
    Publication date: April 23, 2020
    Inventors: Nimrod Shani, Lior Kamran