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).

  • Patent number: 10997026
    Abstract: A method is disclosed for destaging data to a storage device set that is arranged to maintain M replicas of the data, the storage device set having M primary storage devices and N secondary storage devices, the method comprising: detecting a destage event; and in response to the destage event, destaging the data item that is stored in a journal, the destaging including: issuing M primary write requests for storing the data item, each of the M primary write requests being directed to a different one of the M primary storage devices; in response to detecting that L of the primary write requests have failed, issuing L secondary write requests for storing the data item, each of the L secondary write requests being directed to a different secondary storage device; updating a bitmap to identify all primary and secondary storage devices where the data item has been stored.
    Type: Grant
    Filed: October 30, 2019
    Date of Patent: May 4, 2021
    Assignee: EMC IP Holding Company LLC
    Inventors: Lior Kamran, Alex Soukhman, Hillel Costeff
  • 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: 20210124609
    Abstract: A method, computer program product, and computing system for determining a block application execution utilization on a central processing unit (CPU) of the computing device. A non-block application execution utilization on the CPU may be determined. A CPU execution release interval and CPU execution release duration for the block application may be generated based upon, at least in part, the block application execution utilization and the non-block application execution utilization.
    Type: Application
    Filed: October 28, 2019
    Publication date: April 29, 2021
    Inventors: Lior Kamran, Vitaly Zharkov, Amitai Alkalay
  • Publication number: 20210124619
    Abstract: A method, computer program product, and computing system for executing a first sub-thread of an operating system thread on a central processing unit (CPU) of the computing device. The CPU may be released for a defined period of time. One of an application and a second sub-thread of the operating system thread may be executed based upon, at least in part, an execution priority of the operating system thread and an execution priority of the application.
    Type: Application
    Filed: October 28, 2019
    Publication date: April 29, 2021
    Inventors: Lior Kamran, Amitai Alkalay
  • Publication number: 20210124657
    Abstract: An apparatus in one embodiment comprises at least one processing device comprising a processor coupled to a memory, with the processing device being configured to detect a failure of at least one storage node that impacts a write cache destaging process in a distributed content addressable storage (CAS) system comprising a plurality of storage nodes each associated with one or more storage devices. Responsive to the detected failure, the processing device issues one or more write cache metadata preload commands to direct one or more other ones of the storage nodes to preload from their associated storage devices metadata characterizing one or more data pages that are subject to the write cache destaging process, thereby illustratively reducing address lock contention in the CAS system. The processing device illustratively comprises at least a portion of a distributed storage controller of the CAS system. Other embodiments include methods and computer program products.
    Type: Application
    Filed: October 28, 2019
    Publication date: April 29, 2021
    Inventors: Lior Kamran, Vladimir Shveidel
  • Publication number: 20210124686
    Abstract: An apparatus in one embodiment comprises at least one processing device comprising a processor coupled to a memory, with the processing device being configured to maintain a content-based signature cache for a plurality of data pages. For each of a plurality of read operations to be directed to a distributed content addressable storage (CAS) system, the processing device determines if a data page targeted by the read operation has a corresponding content-based signature in the content-based signature cache. Responsive to the data page having a content-based signature in the content-based signature cache, the processing device identifies a particular storage node that stores the data page in the distributed CAS system, and directs the read operation to the identified storage node using the content-based signature to specify the data page targeted by the read operation. The processing device illustratively comprises a host device coupled to the CAS system over a network.
    Type: Application
    Filed: October 25, 2019
    Publication date: April 29, 2021
    Inventors: Lior Kamran, Amitai Alkalay
  • Patent number: 10990479
    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: March 23, 2020
    Date of Patent: April 27, 2021
    Assignee: EMC IP Holding Company LLC
    Inventors: Zvi Schneider, Marcelo Taube, Lior Kamran, Alex Soukhman, David Krakov
  • Patent number: 10970190
    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: Grant
    Filed: October 17, 2018
    Date of Patent: April 6, 2021
    Assignee: EMC IP Holding Company LLC
    Inventors: Lior Kamran, Amir Kredi, Amir Miron
  • Patent number: 10949265
    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: Grant
    Filed: January 29, 2019
    Date of Patent: March 16, 2021
    Assignee: EMC IP Holding Company LLC
    Inventors: Vladimir Shveidel, Lior Kamran
  • Patent number: 10942895
    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: January 2, 2020
    Date of Patent: March 9, 2021
    Assignee: EMC IP Holding Company LLC
    Inventors: Vladimir Shveidel, Lior Kamran, Oran Baruch
  • Patent number: 10922135
    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: Grant
    Filed: September 19, 2019
    Date of Patent: February 16, 2021
    Assignee: EMC IP Holding Company LLC
    Inventors: Lior Kamran, Amitai Alkalay, Zvi Schneider
  • Publication number: 20210029219
    Abstract: A method of multitasked operation of a data storage node includes executing provider threads of an application, the provider threads distributed among processing cores along with respective peek-poller threads, each provider thread having regular operations of (1) continually polling interfaces of the data storage node for application events requiring processing, and (2) performing processing tasks for the application events until there are no unprocessed additional events for the provider thread, and thereupon entering a sleep state. The method further includes regularly executing the peek-poller threads on the processing cores, each peek-poller thread having operations of (1) checking interfaces of the data storage node for new application events to be processed by respective provider threads currently in the sleep state, and (2) for each new application event, activating the respective provider thread on the respective processing core.
    Type: Application
    Filed: July 24, 2019
    Publication date: January 28, 2021
    Inventors: Lior Kamran, Amitai Alkalay
  • 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: 10884799
    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: Grant
    Filed: January 18, 2019
    Date of Patent: January 5, 2021
    Assignee: EMC IP Holding Company LLC
    Inventors: Amitai Alkalay, Lior Kamran
  • Patent number: 10871991
    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: Grant
    Filed: January 18, 2019
    Date of Patent: December 22, 2020
    Assignee: EMC IP Holding Company LLC
    Inventors: Amitai Alkalay, Lior Kamran, Eldad Zinger
  • Patent number: 10838863
    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: Grant
    Filed: February 1, 2019
    Date of Patent: November 17, 2020
    Assignee: EMC IP Holding Company LLC
    Inventors: Lior Kamran, Vladimir Shveidel, David Krakov
  • Patent number: 10831684
    Abstract: A method, computer program product, and computing system for deploying a kernel driver extension in a kernel of a storage processor communicatively coupled to one or more non-volatile memory express (NVMe) devices. The kernel driver extension may be communicatively coupled with a standard NVMe kernel driver deployed in the kernel of the storage processor. One or more input/output (I/O) operations may be performed on the one or more NVMe devices via the standard NVMe kernel driver and the kernel driver extension.
    Type: Grant
    Filed: July 31, 2019
    Date of Patent: November 10, 2020
    Assignee: EMC IP Holding Company, LLC
    Inventors: Lior Kamran, Amitai Alkalay, Eldad Zinger, Alexander Barabash, Leonid Ravich
  • Publication number: 20200348971
    Abstract: A method, computer program product, and computing system for defining an affined OS-thread on each core of a multicore microprocessor, thus defining a plurality of affined OS-threads; executing a sequentially-activated polling thread on each of the affined OS-threads, wherein the sequentially-activated polling thread is configured to detect waiting IO activity on IO interfaces associated with the affined OS-threads; and if waiting IO activity is detected, activating one or more X-threads on a specific affined OS-thread that is associated with a specific IO interface on which the waiting IO activity was detected.
    Type: Application
    Filed: May 3, 2019
    Publication date: November 5, 2020
    Inventors: Lior Kamran, Amitai Alkalay
  • 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
  • Patent number: 10747677
    Abstract: A storage system comprises a plurality of storage devices and an associated storage controller. The plurality of storage devices are configured to store a plurality of logical units (LUNs) and snapshot data structures associated with the plurality of LUNs. The storage controller is configured to determine a mapping of a logical address associated with a pending read or write operation to a snapshot address associated with a given snapshot data structure of the storage system that comprises a plurality of nodes generated during point-in-time snapshots taken based on at least one of the LUNs, lock at least a portion of the given snapshot data structure during the read or write operation based on the determined mapping, and release the lock on the at least a portion of the given snapshot data structure in response to a completion of the read or write operation.
    Type: Grant
    Filed: July 27, 2018
    Date of Patent: August 18, 2020
    Assignee: EMC IP Holding Company LLC
    Inventors: Vladimir Shveidel, Lior Kamran