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: 11163492Abstract: 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: GrantFiled: February 13, 2020Date of Patent: November 2, 2021Assignee: EMC IP Holding Company LLCInventors: Lior Kamran, Alex Soukhman
-
Patent number: 11151048Abstract: 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: GrantFiled: October 25, 2019Date of Patent: October 19, 2021Assignee: Dell Products L.P.Inventors: Lior Kamran, Amitai Alkalay
-
Patent number: 11144461Abstract: 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: GrantFiled: March 9, 2020Date of Patent: October 12, 2021Assignee: EMC IP Holding Company LLCInventors: Alex Soukhman, Lior Kamran
-
Patent number: 11126361Abstract: 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: GrantFiled: March 16, 2020Date of Patent: September 21, 2021Assignee: EMC IP Holding Company LLCInventors: Vladimir Shveidel, Lior Kamran
-
Publication number: 20210286537Abstract: 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: ApplicationFiled: March 16, 2020Publication date: September 16, 2021Inventors: Vladimir Shveidel, Lior Kamran
-
Publication number: 20210286757Abstract: 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: ApplicationFiled: March 12, 2020Publication date: September 16, 2021Inventors: Lior Kamran, Amitai Alkalay
-
Publication number: 20210279178Abstract: 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: ApplicationFiled: March 9, 2020Publication date: September 9, 2021Inventors: Alex Soukhman, Lior Kamran
-
Patent number: 11106557Abstract: 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: GrantFiled: January 21, 2020Date of Patent: August 31, 2021Assignee: EMC IP Holding Company LLCInventors: Alex Soukhman, Lior Kamran
-
Publication number: 20210255940Abstract: 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: ApplicationFiled: February 13, 2020Publication date: August 19, 2021Applicant: EMC IP Holding Company LLCInventors: Lior Kamran, Alex Soukhman
-
Publication number: 20210255798Abstract: 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: ApplicationFiled: February 13, 2020Publication date: August 19, 2021Applicant: EMC IP Holding Company LLCInventors: Lior Kamran, Alex Soukhman
-
Publication number: 20210255797Abstract: 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: ApplicationFiled: February 13, 2020Publication date: August 19, 2021Applicant: EMC IP Holding Company LLCInventors: Lior Kamran, Alex Soukhman
-
Patent number: 11079957Abstract: 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: GrantFiled: November 1, 2019Date of Patent: August 3, 2021Assignee: Dell Products L.P.Inventors: Lior Kamran, Vladimir Shveidel
-
Publication number: 20210224171Abstract: 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: ApplicationFiled: January 21, 2020Publication date: July 22, 2021Inventors: Alex Soukhman, Lior Kamran
-
Publication number: 20210224177Abstract: 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: ApplicationFiled: January 20, 2020Publication date: July 22, 2021Inventors: Lior Kamran, Vladimir Kleiner
-
Patent number: 11055028Abstract: 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: GrantFiled: February 3, 2020Date of Patent: July 6, 2021Assignee: EMC IP Holding Company LLCInventors: Lior Kamran, Amitai Alkalay
-
Patent number: 11010251Abstract: 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: GrantFiled: March 10, 2020Date of Patent: May 18, 2021Assignee: EMC IP Holding Company LLCInventors: Alex Soukhman, Lior Kamran
-
Patent number: 11005970Abstract: 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: GrantFiled: July 24, 2019Date of Patent: May 11, 2021Assignee: EMC IP Holding Company LLCInventors: Lior Kamran, Amitai Alkalay
-
Publication number: 20210133030Abstract: 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: ApplicationFiled: October 30, 2019Publication date: May 6, 2021Applicant: Dell Products L.P.Inventors: Lior Kamran, Alex Soukhman, Hillel Costeff
-
Publication number: 20210132858Abstract: 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: ApplicationFiled: October 30, 2019Publication date: May 6, 2021Inventors: Lior Kamran, Amitai Alkalay
-
Publication number: 20210132839Abstract: 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: ApplicationFiled: November 1, 2019Publication date: May 6, 2021Inventors: Lior Kamran, Vladimir Shveidel