Patents by Inventor Lior Kamran

Lior Kamran 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: 20200250089
    Abstract: A storage system in one embodiment comprises a plurality of storage devices and at least one processing device. In conjunction with destaging data corresponding to an entry in a write cache, the at least one processing device determines a value of a release indication of an entry in a destage data structure that corresponds to the entry in the write cache. Responsive to determining that the value is a first value, the at least one processing device adds an entry that corresponds to the entry in the write cache to a release data structure. The storage system polls the release data structure and releases entries in the write cache that correspond to entries found in the release data structure. Responsive to determining that the value is a second value, an entry corresponding to the entry in the write cache is not added to the release data structure.
    Type: Application
    Filed: February 1, 2019
    Publication date: August 6, 2020
    Inventors: Lior Kamran, Vladimir Shveidel, David Krakov
  • Publication number: 20200241785
    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: Application
    Filed: January 29, 2019
    Publication date: July 30, 2020
    Applicant: EMC IP Holding Company LLC
    Inventors: Lior Kamran, Alex Soukhman, Marcelo Taube, Ronen Gazit
  • Publication number: 20200241933
    Abstract: A method is disclosed comprising: detecting an event that is generated within a storage system; identifying a plurality of barrier objects that are associated with the event, each of the plurality of barrier objects being associated with a different respective set function, each of the plurality of barrier objects being associated with a different respective wait function, and each of the plurality of barrier objects being associated with a different respective release function; calling the respective set function of each of the barrier objects; calling the respective wait function of each of the barrier objects, wherein at least one of the respective wait functions is called before another one of the respective wait functions has returned; reconfiguring the storage system after all of the respective wait functions have returned; and calling the respective release function of each of the barrier objects.
    Type: Application
    Filed: January 29, 2019
    Publication date: July 30, 2020
    Applicant: EMC IP Holding Company LLC
    Inventors: Vladimir Shveidel, Lior Kamran
  • 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
  • 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: 20200233704
    Abstract: At least one processor of a storage system comprises a plurality of cores and is configured to execute a first thread on a first core of the plurality of cores. The first thread polls at least one interface for an indication of data and, responsive to a detection of an indication of data, processes the data. Responsive to the first thread having no remaining data to be processed, the first thread suspends execution on the first core. The at least one processor is further configured to execute a second thread of a second type on a second core of the plurality of cores. The second thread polls the at least one interface for an indication of data to be processed by the first thread. Responsive to a detection of an indication of data, the second thread causes the first thread to resume execution on the first core.
    Type: Application
    Filed: January 18, 2019
    Publication date: July 23, 2020
    Inventors: Amitai Alkalay, Lior Kamran, Eldad Zinger
  • Publication number: 20200233705
    Abstract: At least one processor of a storage system comprises a plurality of cores and is configured to execute a first thread in a plurality of modes of operation. When operating in a first mode of operation, the first thread polls at least one interface of the storage system for data to be processed. Responsive to detecting the data, the first thread processes the data. Responsive to having no remaining data to be processed, the first thread suspends execution on the first core if another thread is executing on a second core and operating in a second mode of operation. When operating in the second mode of operation, the first thread polls at least one interface associated with a second thread operating executing on a second core and operating in the first mode of operation for data to be processed. Responsive to detecting the data, the first thread causes the second thread to resume execution.
    Type: Application
    Filed: January 18, 2019
    Publication date: July 23, 2020
    Inventors: Amitai Alkalay, Lior Kamran
  • Publication number: 20200218601
    Abstract: An apparatus comprises at least one processing device comprising a processor coupled to a memory. The processing device is configured to select a stripe column size for stripes of a data storage system, to determine a first compress block size for a first one of the stripes based on compressibility of data to be stored, to select a first prime number for computing parity blocks for the first stripe and a first number of sub-stripes for splitting stripe columns of the first stripe, to generate metadata specifying the first compress block size, the first prime number and the first number of sub-stripes for the first stripe, and to store data compressed using the first compress block size in the first stripe. The first prime number and first number of sub-stripes for the first stripe is different than a second prime number and second number of sub-stripes for a second stripe.
    Type: Application
    Filed: March 23, 2020
    Publication date: July 9, 2020
    Inventors: Zvi Schneider, Marcelo Taube, Lior Kamran, Alex Soukhman, David Krakov
  • Patent number: 10691616
    Abstract: A method is provided for use in a distributed storage system having a write cache, the method comprising: receiving, by a first node in the distributed storage system, a first Remote Procedure Call (RPC) command to perform a partial update to a buffer that is stored in a memory of the first node, the partial update including replacing old data that is present in the buffer with new data that is stored in the write cache; transmitting, from the first node to a second node, a second RPC command instructing the second node to provide the new data to the first node by executing a Remote Direct Memory Access (RDMA) write operation into the memory of the first node; and performing the partial update based on the new data when the RDMA. write operation is completed and the new data is received by the first node as a result.
    Type: Grant
    Filed: January 29, 2019
    Date of Patent: June 23, 2020
    Assignee: EMC IP Holding Company LLC
    Inventors: Vladimir Shveidel, Lior Kamran
  • Patent number: 10684915
    Abstract: An apparatus comprises at least one processing device comprising a processor coupled to a memory. The processing device is configured to select a stripe column size for stripes of a data storage system, to determine a first compress block size for a first one of the stripes based on compressibility of data to be stored, to select a first prime number for computing parity blocks for the first stripe and a first number of sub-stripes for splitting stripe columns of the first stripe, to generate metadata specifying the first compress block size, the first prime number and the first number of sub-stripes for the first stripe, and to store data compressed using the first compress block size in the first stripe. The first prime number and first number of sub-stripes for the first stripe is different than a second prime number and second number of sub-stripes for a second stripe.
    Type: Grant
    Filed: July 25, 2018
    Date of Patent: June 16, 2020
    Assignee: EMC IP Holding Company LLC
    Inventors: Zvi Schneider, Marcelo Taube, Lior Kamran, Alex Soukhman, David Krakov
  • Patent number: 10671453
    Abstract: Two-level multitasked operation of a data storage system includes, at a first level, performing event-driven, preemptive scheduling between a first application and a second application such as a file application. First threads are distributed among processing cores and each has a set of IO providers for polling respective interfaces for events. The first application also includes wakeup threads scheduled upon occurrence of the events. At a second level, additional operations include: (1) by the wakeup thread upon occurrence of the events, activating the first threads on respective cores, and (2) by each of the first threads upon being activated, (i) continually polling the interfaces for events requiring processing, and (ii) performing associated processing tasks for the events until there are no unprocessed events, and thereupon returning control over use of the processing core to the first-level scheduling.
    Type: Grant
    Filed: April 29, 2019
    Date of Patent: June 2, 2020
    Assignee: EMC IP Holding Company LLC
    Inventors: Lior Kamran, Amitai Alkalay
  • Patent number: 10671320
    Abstract: A clustered storage system in one embodiment comprises a plurality of nodes, with each of at least a subset of the nodes comprising a set of processing modules configured to communicate over one or more networks with corresponding sets of processing modules on other ones of the nodes. In conjunction with a failure of a first instance of a process running on a given one of the nodes and a subsequent restart of a second instance of the process, at least one of the processing modules is to identify at least one transfer buffer command of the first instance of the process, to identify a plurality of logically ordered commands of the first instance of the process, and to provide distinct treatment of the transfer buffer command relative to treatment of the logically ordered commands in a manner that ensures that the restart of the second instance of the process is not delayed to await completion of the transfer buffer command or the logically ordered commands.
    Type: Grant
    Filed: July 24, 2018
    Date of Patent: June 2, 2020
    Assignee: EMC IP Holding Company LLC
    Inventors: Hillel Costeff, Lior Kamran, Zvi Schneider, Anton Kucherov
  • Patent number: 10664397
    Abstract: An aspect of cache recovery includes transmitting entries of a write cache (WC) journal (“entries”) to all nodes and, for each node, recovering the entries, detecting entries with a logical address owned by the node, and performing a recovery operation. The operation includes for each entry, and upon determining the node owns the A2N slice: if the A2N slice has been continuously owned (CO) by the node, and the entry is not owned by the node, marking the entry as WC remote and entry updates are requested from a remote WC owner; if the A2N slice has not been CO by the node, and the entry is not owned by the node, maintaining the entry and continuing write flow operations, marking the entry as WC remote and all entry updates are requested from the remote WC owner and inserting the entry to a recovery list.
    Type: Grant
    Filed: July 31, 2018
    Date of Patent: May 26, 2020
    Assignee: EMC IP Holding Company LLC
    Inventors: Vladimir Shveidel, Lior Kamran
  • Publication number: 20200142859
    Abstract: A storage system in one embodiment comprises a plurality of storage devices storing data pages. Each data page has a content-based signature derived from that data page. The content-based signatures are associated with physical locations storing the data pages. In response to receipt of a write input/output (IO) request that includes a data segment that is smaller than a page granularity of the storage devices, a content-based signature associated with the data segment is determined which also corresponds to a target data page stored at one of the physical locations. In response to determining the content-based signature, an inflight write count corresponding to the content-based signature is incremented. In response to a decrement request to decrement a reference count of the physical location corresponding to the content-based signature, a decrement flag corresponding to the content-based signature is set in the data structure and the decrement request is postponed.
    Type: Application
    Filed: January 2, 2020
    Publication date: May 7, 2020
    Inventors: Vladimir Shveidel, Lior Kamran, Oran Baruch
  • 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
  • Publication number: 20200125473
    Abstract: A method is disclosed, comprising: storing, in a memory of a first computing device, a log filter list that identifiers a plurality of log filters, each of the plurality of log filters being executed on a respective one of a plurality of nodes in a distributed computing system; removing a first log message from a data structure that is stored in the memory of the first computing device, the first log message being obtained by the first computing device from a first one of the plurality of log filters that is associated with a first log source; detecting whether the first log message includes a placeholder message that is generated by the first log filter while the first log source is in a paused state; and selecting the first log message for further processing, when the first log message does not include a placeholder message.
    Type: Application
    Filed: October 17, 2018
    Publication date: April 23, 2020
    Applicant: EMC IP Holding Company LLC
    Inventors: Lior Kamran, Amir Kredi, Amir Miron
  • Publication number: 20200125403
    Abstract: A method is disclosed for dynamic multitasking in a storage system, the storage system including a first storage server configured to execute a first I/O service process and one or more second storage servers, the method comprising: detecting a first event for triggering a context switch; transmitting to each of the second storage servers an instruction to stop transmitting internal I/O requests to the first I/O service process, the instruction including an identifier corresponding to the first I/O service process, the identifier being arranged to distinguish the first I/O service process from other first I/O service processes that are executed by the first storage server concurrently with the first I/O service process; deactivating the first I/O service process by pausing a frontend of the first I/O service process, and pausing one or more I/O providers of the first I/O service process; and executing a first context switch between the first I/O service process and a second process.
    Type: Application
    Filed: September 19, 2019
    Publication date: April 23, 2020
    Applicant: EMC IP Holding Company LLC
    Inventors: Lior Kamran, Amitai Alkalay, Zvi Schneider
  • Patent number: 10558613
    Abstract: A storage system in one embodiment comprises a plurality of storage devices storing data pages. Each data page has a content-based signature derived from that data page. The content-based signatures are associated with physical locations storing the data pages. In response to receipt of a write input/output (IO) request that includes a data segment that is smaller than a page granularity of the storage devices, a content-based signature associated with the data segment is determined which also corresponds to a target data page stored at one of the physical locations. In response to determining the content-based signature, an inflight write count corresponding to the content-based signature is incremented. In response to a decrement request to decrement a reference count of the physical location corresponding to the content-based signature, a decrement flag corresponding to the content-based signature is set in the data structure and the decrement request is postponed.
    Type: Grant
    Filed: July 19, 2018
    Date of Patent: February 11, 2020
    Assignee: EMC IP Holding Company LLC
    Inventors: Vladimir Shveidel, Lior Kamran, Oran Baruch
  • Publication number: 20200044826
    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: Application
    Filed: July 31, 2018
    Publication date: February 6, 2020
    Applicant: EMC IP Holding Company LLC
    Inventors: Zvi Schneider, Amitai Alkalay, Lior Kamran
  • Publication number: 20200042387
    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: Application
    Filed: July 31, 2018
    Publication date: February 6, 2020
    Inventors: Nimrod Shani, Anton Kucherov, Lior Kamran, Leron Fliess