Patents by Inventor Roy Koren

Roy Koren 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: 12675343
    Abstract: Techniques can include: thread TH1 acquiring a spinlock; while TH1 holds the spinlock, adding threads TH2 and TH3 to a wait queue based on a FIFO (first in first out) ordering in which threads attempt to acquire the spinlock, where TH1, TH2 and TH3 respectively have positions P1, P2 and P3 in the FIFO ordering; while TH1 holds the spinlock, pre-empting TH2; while TH2 is inactive and waiting at P2 in the FIFO ordering of the queue, TH1 releasing the spinlock; detecting that the spinlock is free and that TH3 is waiting in the queue at P3, where TH2 is next, in the FIFO ordering of threads in the queue, to acquire the spinlock after released by TH1; and responsive to said detecting, performing first processing including: cancelling the second position or index P2 of TH2 in the FIFO ordering; and TH3 acquiring the spinlock.
    Type: Grant
    Filed: August 20, 2024
    Date of Patent: July 7, 2026
    Assignee: Dell Products L.P.
    Inventors: Vladimir Shveidel, Roy Koren, Shaoqin Gong, Zhongyu Kang
  • Patent number: 12625736
    Abstract: A shared portion of processor cores is allocated within the processor cores of a data storage system. Each processor core in the shared portion of processor cores is shared between a storage system application executing in the data storage system and a containerized service also executing in the data storage system. A voluntary yield time interval is dynamically generated based on both a workload of the containerized service and a workload of the storage system application. Each processor core in the shared portion of the processor cores is periodically voluntarily yielded by the storage system application, based on the voluntary yield time interval, to allow execution of the containerized service on that processor core.
    Type: Grant
    Filed: August 30, 2023
    Date of Patent: May 12, 2026
    Assignee: Dell Products L.P.
    Inventors: Vladimir Shveidel, Roy Koren
  • Publication number: 20260119037
    Abstract: A host I/O (Input/Output) request workload including block I/O requests and file I/O requests is received by a data storage system. A file I/O share of the host I/O request workload is detected. The file I/O share of the host I/O request workload indicates a proportion of the host I/O request workload that consists of file I/O requests. The amount of block I/O request processing assigned to an individual shared processor core is modified based on the file I/O share of the host I/O request workload. The shared processor core is shared between a file I/O request processing component of the data storage system and a block I/O request processing component of the data storage system.
    Type: Application
    Filed: October 28, 2024
    Publication date: April 30, 2026
    Inventors: Vladimir Shveidel, Roy Koren
  • Patent number: 12613634
    Abstract: A host I/O (Input/Output) request workload including block I/O requests and file I/O requests is received by a data storage system. A file I/O share of the host I/O request workload is detected. The file I/O share of the host I/O request workload indicates a proportion of the host I/O request workload that consists of file I/O requests. The amount of block I/O request processing assigned to an individual shared processor core is modified based on the file I/O share of the host I/O request workload. The shared processor core is shared between a file I/O request processing component of the data storage system and a block I/O request processing component of the data storage system.
    Type: Grant
    Filed: October 28, 2024
    Date of Patent: April 28, 2026
    Assignee: Dell Products L.P.
    Inventors: Vladimir Shveidel, Roy Koren
  • Publication number: 20260056807
    Abstract: Techniques can include: thread TH1 acquiring a spinlock; while TH1 holds the spinlock, adding threads TH2 and TH3 to a wait queue based on a FIFO (first in first out) ordering in which threads attempt to acquire the spinlock, where TH1, TH2 and TH3 respectively have positions P1, P2 and P3 in the FIFO ordering; while TH1 holds the spinlock, pre-empting TH2; while TH2 is inactive and waiting at P2 in the FIFO ordering of the queue, TH1 releasing the spinlock; detecting that the spinlock is free and that TH3 is waiting in the queue at P3, where TH2 is next, in the FIFO ordering of threads in the queue, to acquire the spinlock after released by TH1; and responsive to said detecting, performing first processing including: cancelling the second position or index P2 of TH2 in the FIFO ordering; and TH3 acquiring the spinlock.
    Type: Application
    Filed: August 20, 2024
    Publication date: February 26, 2026
    Applicant: Dell Products L.P.
    Inventors: Vladimir Shveidel, Roy Koren, Shaoqin Gong, Zhongyu Kang
  • Patent number: 12468570
    Abstract: A shared portion of processor cores in a data storage system are allocated for sharing between a storage system application and a containerized service also executing in the data storage system. A non-shared portion of the processor cores are allocated for exclusive use by the storage system application. The storage system application preferentially uses processor cores in the shared portion of the processor cores to execute background tasks, and preferentially uses processor cores in the non-shared portion to perform host I/O request processing. The storage system application may from time to time voluntarily yield one or more of the processor cores in the shared portion of the processor cores for execution of the containerized service.
    Type: Grant
    Filed: July 7, 2022
    Date of Patent: November 11, 2025
    Assignee: Dell Products L.P.
    Inventors: Roy Koren, Vladimir Shveidel, Itai Shavit, Peleg Vigodny, Leron Fliess, Philip Love
  • Publication number: 20250077292
    Abstract: A shared portion of processor cores is allocated within the processor cores of a data storage system. Each processor core in the shared portion of processor cores is shared between a storage system application executing in the data storage system and a containerized service also executing in the data storage system. A voluntary yield time interval is dynamically generated based on both a workload of the containerized service and a workload of the storage system application. Each processor core in the shared portion of the processor cores is periodically voluntarily yielded by the storage system application, based on the voluntary yield time interval, to allow execution of the containerized service on that processor core.
    Type: Application
    Filed: August 30, 2023
    Publication date: March 6, 2025
    Inventors: Vladimir Shveidel, Roy Koren
  • Publication number: 20250021387
    Abstract: Performance metrics are continuously monitored for each processor core in a shared portion of multiple processor cores in a data storage system. Each processor core in the shared portion is shared between a storage system application located in the data storage system and a containerized service also located in the data storage system. The monitored performance metrics indicate I/O request processing latency and an amount of the processing capacity of each individual processor core in the shared portion of the processor cores that is available for use by the storage system application. Based on the performance metrics, the I/O request processing is preferentially assigned to processor cores that have relatively lower I/O request processing latency, and the background work item processing is preferentially assigned to processor cores that have relatively higher amounts of capacity available for use by the storage system application.
    Type: Application
    Filed: July 10, 2023
    Publication date: January 16, 2025
    Inventors: Vladimir Shveidel, Roy Koren
  • Patent number: 12079067
    Abstract: A method, computer program product, and computer system for generating, by a computing device, a debug message of a plurality of debug messages, wherein a format of the debug message may be a binary format that includes information, and wherein the information may include debug header information and one or more values of optional parameters. It may be determined that the debug message and a portion of the plurality of debug messages are associated with one or more debug levels. Each respective processor core may be allocated with a separate cyclic buffer that contains the information for each of the debug messages that are associated with the one or more debug levels and written while each respective processor core is active.
    Type: Grant
    Filed: January 26, 2023
    Date of Patent: September 3, 2024
    Assignee: Dell Products L.P.
    Inventors: Itai Shavit, Roy Koren, Vladimir Shveidel, Benny Kirenberg, Leron Fliess
  • Publication number: 20240256374
    Abstract: A method, computer program product, and computer system for generating, by a computing device, a debug message of a plurality of debug messages, wherein a format of the debug message may be a binary format that includes information, and wherein the information may include debug header information and one or more values of optional parameters. It may be determined that the debug message and a portion of the plurality of debug messages are associated with one or more debug levels. Each respective processor core may be allocated with a separate cyclic buffer that contains the information for each of the debug messages that are associated with the one or more debug levels and written while each respective processor core is active.
    Type: Application
    Filed: January 26, 2023
    Publication date: August 1, 2024
    Inventors: Itai Shavit, Roy Koren, Vladimir Shveidel, Benny Kirenberg, Leron Fliess
  • Publication number: 20240012679
    Abstract: A shared portion of processor cores in a data storage system are allocated for sharing between a storage system application and a containerized service also executing in the data storage system. A non-shared portion of the processor cores are allocated for exclusive use by the storage system application. The storage system application preferentially uses processor cores in the shared portion of the processor cores to execute background tasks, and preferentially uses processor cores in the non-shared portion to perform host I/O request processing. The storage system application may from time to time voluntarily yield one or more of the processor cores in the shared portion of the processor cores for execution of the containerized service.
    Type: Application
    Filed: July 7, 2022
    Publication date: January 11, 2024
    Inventors: Roy Koren, Vladimir Shveidel, Itai Shavit, Peleg Vigodny, Leron Fliess, Philip Love
  • Patent number: 11132258
    Abstract: A method, computer program product, and computing system for receiving a request to reconfigure a data array that currently includes N data drives and P parity drives to include N data drives and P+1 parity drives; confirming the availability of the P+1 parity drive; and distributing a plurality of new parity portions across the N data drives and P+1 parity drives.
    Type: Grant
    Filed: January 31, 2019
    Date of Patent: September 28, 2021
    Assignee: EMC IP Holding Company, LLC
    Inventors: Roy Koren, Yair Hershkovitz, Vladimir Shveidel
  • Publication number: 20200250037
    Abstract: A method, computer program product, and computing system for receiving a request to reconfigure a data array that currently includes N data drives and P parity drives to include N data drives and P+1 parity drives; confirming the availability of the P+1 parity drive; and distributing a plurality of new parity portions across the N data drives and P+1 parity drives.
    Type: Application
    Filed: January 31, 2019
    Publication date: August 6, 2020
    Inventors: Roy Koren, Yair Hershkovitz, Vladimir Shveidel