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: 11163492
    Abstract: A method for use in a storage system, the method comprising: receiving an I/O command; identifying a latency of a first storage device that is associated with the I/O command; and executing the I/O command at least in part based on the latency, wherein executing the I/O command based on the latency includes: performing a first action when the latency is less than a first threshold, and performing a second action when the latency is greater than the first threshold, wherein identifying the latency includes retrieving the latency from a latency database, and wherein the first storage device is part of a storage array, the storage array including one or more second storage devices in addition to the first storage device.
    Type: Grant
    Filed: February 13, 2020
    Date of Patent: November 2, 2021
    Assignee: EMC IP Holding Company LLC
    Inventors: Lior Kamran, Alex Soukhman
  • Patent number: 11151048
    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: Grant
    Filed: October 25, 2019
    Date of Patent: October 19, 2021
    Assignee: Dell Products L.P.
    Inventors: Lior Kamran, Amitai Alkalay
  • Patent number: 11144461
    Abstract: An apparatus comprises at least one processing device configured, in conjunction with processing of an input-output (IO) operation by a first storage node of a distributed storage system, where processing of the IO operation requires access to at least one persistent storage device remote from the first storage node but local to a second storage node of the distributed storage system, to send a request from the first storage node to the second storage node identifying data associated with the operation. The processing device determines a buffer of the second storage node that is allocated for use by the second storage node for temporary storage of the data, and utilizes the buffer to provide the data to the second storage node to allow the second storage node to write the data, and/or to obtain the data from the second storage node after the second storage node has read the data.
    Type: Grant
    Filed: March 9, 2020
    Date of Patent: October 12, 2021
    Assignee: EMC IP Holding Company LLC
    Inventors: Alex Soukhman, Lior Kamran
  • Patent number: 11126361
    Abstract: An apparatus comprises at least one processing device configured to maintain a metadata update journal for at least a first storage node of a plurality of storage nodes of a distributed storage system, and to destage the metadata update journal of the first storage node to one or more storage devices accessible to the first storage node. The metadata update journal of the first storage node utilizes a multi-level bucket aggregation of metadata updates in which metadata pages each comprising a plurality of address-to-hash mapping pairs are arranged in a plurality of first-level buckets containing respective subsets of the metadata pages for respective different logical storage volumes, and a plurality of second-level buckets are each configured to aggregate multiple metadata pages from different ones of the first-level buckets in order to increase a number of metadata updates in each second-level bucket relative to numbers of metadata updates in its corresponding first-level buckets.
    Type: Grant
    Filed: March 16, 2020
    Date of Patent: September 21, 2021
    Assignee: EMC IP Holding Company LLC
    Inventors: Vladimir Shveidel, Lior Kamran
  • Publication number: 20210286537
    Abstract: An apparatus comprises at least one processing device configured to maintain a metadata update journal for at least a first storage node of a plurality of storage nodes of a distributed storage system, and to destage the metadata update journal of the first storage node to one or more storage devices accessible to the first storage node. The metadata update journal of the first storage node utilizes a multi-level bucket aggregation of metadata updates in which metadata pages each comprising a plurality of address-to-hash mapping pairs are arranged in a plurality of first-level buckets containing respective subsets of the metadata pages for respective different logical storage volumes, and a plurality of second-level buckets are each configured to aggregate multiple metadata pages from different ones of the first-level buckets in order to increase a number of metadata updates in each second-level bucket relative to numbers of metadata updates in its corresponding first-level buckets.
    Type: Application
    Filed: March 16, 2020
    Publication date: September 16, 2021
    Inventors: Vladimir Shveidel, Lior Kamran
  • Publication number: 20210286757
    Abstract: A file storage application that processes file operations is communicably connected with a block storage application that processes block operations by establishing multiple communication sessions between the file storage application and the block storage application. Multiple logical volumes provided by the block storage application are exposed to the file storage application over the multiple communication sessions established between the file storage application and the block storage application using a total number of logical paths to the logical volumes that is equivalent to the total number of the logical volumes provided by the block storage application to the file storage application.
    Type: Application
    Filed: March 12, 2020
    Publication date: September 16, 2021
    Inventors: Lior Kamran, Amitai Alkalay
  • Publication number: 20210279178
    Abstract: An apparatus comprises at least one processing device configured, in conjunction with processing of an input-output (IO) operation by a first storage node of a distributed storage system, where processing of the IO operation requires access to at least one persistent storage device remote from the first storage node but local to a second storage node of the distributed storage system, to send a request from the first storage node to the second storage node identifying data associated with the operation. The processing device determines a buffer of the second storage node that is allocated for use by the second storage node for temporary storage of the data, and utilizes the buffer to provide the data to the second storage node to allow the second storage node to write the data, and/or to obtain the data from the second storage node after the second storage node has read the data.
    Type: Application
    Filed: March 9, 2020
    Publication date: September 9, 2021
    Inventors: Alex Soukhman, Lior Kamran
  • Patent number: 11106557
    Abstract: A processing device maintains a data structure for a set of process flows executing on one or more processing cores of a storage system. The data structure comprises entries identifying particular execution instances of one or more persistence point functions, each modifying persistent state, with the execution instances having been designated as tested in conjunction with testing of one or more process flows of the set of process flows. The processing device detects an execution instance of a persistence point function of a given one of the process flows, determines whether or not the detected execution instance of the persistence point function has a corresponding entry in the data structure, and responsive to the detected execution instance of the persistence point function not having a corresponding entry in the data structure, initiates a test of the given process flow that includes the detected execution instance of the persistence point function.
    Type: Grant
    Filed: January 21, 2020
    Date of Patent: August 31, 2021
    Assignee: EMC IP Holding Company LLC
    Inventors: Alex Soukhman, Lior Kamran
  • Publication number: 20210255940
    Abstract: A method for use in a storage system, comprising: detecting that at least one storage device in a redundant storage device array has failed, the redundant storage device array including a plurality of storage devices; storing, in a memory, a recovery cache containing recovered data blocks, the recovered data blocks containing data previously stored on the failed storage device that has been calculated as part of executing read commands before the redundant storage device array is rebuilt; receiving an I/O command that is associated with the redundant storage device array, the I/O command including one of a read command or a write command; and executing the I/O command by using the recovery cache, wherein the redundant storage device array includes a plurality of storage regions, wherein any of the storage regions includes a respective portion of each of the plurality of storage devices.
    Type: Application
    Filed: February 13, 2020
    Publication date: August 19, 2021
    Applicant: EMC IP Holding Company LLC
    Inventors: Lior Kamran, Alex Soukhman
  • Publication number: 20210255798
    Abstract: A method comprising: receiving, by a first storage node, an instruction to designate a first device file as the first storage node's primary device file for accessing a storage device designating, by the first storage node, the first device file as the first storage node's primary device file for accessing the storage device, the first device file being designated as the first storage node's primary device file for accessing the storage device in response to the first instruction; receiving, at the first storage node, an I/O command that is associated with the storage device; making a first attempt to complete the I/O command by using the first device file, detecting, by the first storage node, an error that is generated in response to the first attempt; designating, by the first storage node, a second device file as the first storage node's primary device file for accessing the storage device.
    Type: Application
    Filed: February 13, 2020
    Publication date: August 19, 2021
    Applicant: EMC IP Holding Company LLC
    Inventors: Lior Kamran, Alex Soukhman
  • Publication number: 20210255797
    Abstract: A method for use in a storage system, the method comprising: receiving an I/O command; identifying a latency of a first storage device that is associated with the I/O command; and executing the I/O command at least in part based on the latency, wherein executing the I/O command based on the latency includes: performing a first action when the latency is less than a first threshold, and performing a second action when the latency is greater than the first threshold, wherein identifying the latency includes retrieving the latency from a latency database, and wherein the first storage device is part of a storage array, the storage array including one or more second storage devices in addition to the first storage device.
    Type: Application
    Filed: February 13, 2020
    Publication date: August 19, 2021
    Applicant: EMC IP Holding Company LLC
    Inventors: Lior Kamran, Alex Soukhman
  • Patent number: 11079957
    Abstract: A storage system comprises a plurality of storage devices, with the storage devices comprising a first set of storage devices each having a first capacity and a second set of storage devices each having a second capacity higher than the first capacity. The storage system is further configured to establish an extended redundant array of independent disks (RAID) group to extend existing RAID stripes of the storage devices of the first set into the storage devices of the second set, and to establish an additional RAID group for the storage devices of the second set, the additional RAID group comprising one or more additional RAID stripes for the storage devices of the second set. The storage devices of the second set are illustratively added to the storage system to expand its capacity beyond that provided by the storage devices of the first set. Other embodiments include methods and computer program products.
    Type: Grant
    Filed: November 1, 2019
    Date of Patent: August 3, 2021
    Assignee: Dell Products L.P.
    Inventors: Lior Kamran, Vladimir Shveidel
  • Publication number: 20210224171
    Abstract: A processing device maintains a data structure for a set of process flows executing on one or more processing cores of a storage system. The data structure comprises entries identifying particular execution instances of one or more persistence point functions, each modifying persistent state, with the execution instances having been designated as tested in conjunction with testing of one or more process flows of the set of process flows. The processing device detects an execution instance of a persistence point function of a given one of the process flows, determines whether or not the detected execution instance of the persistence point function has a corresponding entry in the data structure, and responsive to the detected execution instance of the persistence point function not having a corresponding entry in the data structure, initiates a test of the given process flow that includes the detected execution instance of the persistence point function.
    Type: Application
    Filed: January 21, 2020
    Publication date: July 22, 2021
    Inventors: Alex Soukhman, Lior Kamran
  • Publication number: 20210224177
    Abstract: A processing device monitors performance of a first thread of a first application executing on one of a plurality of processing cores of a storage system. The first thread comprises an internal scheduler controlling switching between a plurality of sub-threads of the first thread, and an external scheduler controlling release of the processing core by the first thread for use by at least a second thread of a second application different than the first application. In conjunction with monitoring the performance of the first thread in executing the first application, the processing device maintains a cumulative suspend time of the first thread over multiple suspensions of the first thread, with one or more of the multiple suspensions allowing at least the second thread of the second application to execute on the processing core, and generates performance measurements for sub-threads of the first thread using the cumulative suspend time.
    Type: Application
    Filed: January 20, 2020
    Publication date: July 22, 2021
    Inventors: Lior Kamran, Vladimir Kleiner
  • Patent number: 11055028
    Abstract: A processing device is configured to receive a plurality of input-output requests in a storage system, the input-output requests comprising read requests and write requests, to determine priorities of respective ones of the read requests, to place one or more of the read requests each having a relatively low priority in a first one of a plurality of queues in one of a plurality of processing cores of the storage system, to place one or more of the read requests each having a relatively high priority in a second one of the plurality of queues in the processing core, and to place the write requests in the first queue. The storage system services the read requests and the write requests from their corresponding ones of the first and second queues, illustratively resulting in reduced read latency for one or more relatively high priority read requests placed in the second queue.
    Type: Grant
    Filed: February 3, 2020
    Date of Patent: July 6, 2021
    Assignee: EMC IP Holding Company LLC
    Inventors: Lior Kamran, Amitai Alkalay
  • Patent number: 11010251
    Abstract: At least one processing device is configured to detect a failure event impacting at least a first storage node of a distributed storage system, and responsive to the detected failure event, to initiate a metadata recovery process for at least the first storage node. In conjunction with the metadata recovery process, destaging of a metadata update journal of the first storage node is performed, the destaging of the metadata update journal of the first storage node being performed in multiple phases, including at least a preload phase in which, for each of a plurality of pages required for the destaging of the metadata update journal, one or more address locks are obtained for the page, the page is preloaded into a memory of the first storage node from persistent storage accessible to the first storage node, and the one or more address locks are released, and an update and write phase.
    Type: Grant
    Filed: March 10, 2020
    Date of Patent: May 18, 2021
    Assignee: EMC IP Holding Company LLC
    Inventors: Alex Soukhman, Lior Kamran
  • Patent number: 11005970
    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: Grant
    Filed: July 24, 2019
    Date of Patent: May 11, 2021
    Assignee: EMC IP Holding Company LLC
    Inventors: Lior Kamran, Amitai Alkalay
  • Publication number: 20210133030
    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: Application
    Filed: October 30, 2019
    Publication date: May 6, 2021
    Applicant: Dell Products L.P.
    Inventors: Lior Kamran, Alex Soukhman, Hillel Costeff
  • Publication number: 20210132858
    Abstract: A method, computer program product, and computing system for defining one or more quality of service (QOS) classes for a storage system, wherein the storage system includes a storage processor communicatively coupled to one or more non-volatile memory express (NVMe) devices. One or more queues associated with each QOS class may be generated. One or more input/output (IO) operations associated with the one or more QOS classes may be processed on the one or more NVMe devices via the one or more queues associated with each QOS class.
    Type: Application
    Filed: October 30, 2019
    Publication date: May 6, 2021
    Inventors: Lior Kamran, Amitai Alkalay
  • Publication number: 20210132839
    Abstract: A storage system comprises a plurality of storage devices, with the storage devices comprising a first set of storage devices each having a first capacity and a second set of storage devices each having a second capacity higher than the first capacity. The storage system is further configured to establish an extended redundant array of independent disks (RAID) group to extend existing RAID stripes of the storage devices of the first set into the storage devices of the second set, and to establish an additional RAID group for the storage devices of the second set, the additional RAID group comprising one or more additional RAID stripes for the storage devices of the second set. The storage devices of the second set are illustratively added to the storage system to expand its capacity beyond that provided by the storage devices of the first set. Other embodiments include methods and computer program products.
    Type: Application
    Filed: November 1, 2019
    Publication date: May 6, 2021
    Inventors: Lior Kamran, Vladimir Shveidel