Patents by Inventor Elad GRUPI

Elad GRUPI 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: 12223168
    Abstract: Technology is disclosed for QoS (Quality of Service) enforcement with reduced contention. For commands where the QoS wait queue is empty and the QoS credit count is sufficient, an atomic operation subtracts the credits required to process the command from the QoS credit count without locking, and the command is processed. For other commands, credit generation is attempted by first reading a lock flag without obtaining a lock. If the lock flag is clear, an atomic operation sets it, and credit generation is performed if sufficient time has passed since a last credit generation. Credit generation stores a sum of the current QoS credit count and the number of newly generated credits into a local credit count, and processes commands in the QoS wait queue for which sufficient credits exist in the local credit count. When credit generation completes, the local credit count is stored into the QoS credit count.
    Type: Grant
    Filed: July 31, 2023
    Date of Patent: February 11, 2025
    Assignee: Dell Products L.P.
    Inventors: Eldad Zinger, Elad Grupi, Vitaly Zharkov
  • Publication number: 20250044940
    Abstract: Technology is disclosed for QoS (Quality of Service) enforcement with reduced contention. For commands where the QoS wait queue is empty and the QoS credit count is sufficient, an atomic operation subtracts the credits required to process the command from the QoS credit count without locking, and the command is processed. For other commands, credit generation is attempted by first reading a lock flag without obtaining a lock. If the lock flag is clear, an atomic operation sets it, and credit generation is performed if sufficient time has passed since a last credit generation. Credit generation stores a sum of the current QoS credit count and the number of newly generated credits into a local credit count, and processes commands in the QoS wait queue for which sufficient credits exist in the local credit count. When credit generation completes, the local credit count is stored into the QoS credit count.
    Type: Application
    Filed: July 31, 2023
    Publication date: February 6, 2025
    Inventors: Eldad Zinger, Elad Grupi, Vitaly Zharkov
  • Publication number: 20250036286
    Abstract: Deferred memory page allocation commands and non-deferred memory page allocation commands are identified within host I/O commands received by a data storage system. For each one of those received host I/O commands that are identified as a deferred memory page allocation command, QoS (Quality of Service) policy enforcement is performed before any memory pages are allocated by the data storage system to store host data indicated by the received command. Host I/O commands that are identified as deferred memory page allocation commands include read commands, and host I/O commands that are identified as non-deferred memory page allocation commands include in-capsule write commands. For commands identified as deferred memory page allocation commands, enforcing QoS policy before any memory pages are allocated to store host data indicated by the command avoids the possibility of enqueueing the allocated memory pages onto the QoS wait queue, thus conserving data storage system memory resources.
    Type: Application
    Filed: July 27, 2023
    Publication date: January 30, 2025
    Inventors: Eldad Zinger, Vitaly Zharkov, Elad Grupi
  • Patent number: 11841808
    Abstract: A method, computer program product, and computing system for associating a plurality of NVMe IO submission queues with an NVMe IO completion queue. An NVMe IO completion queue polling frequency may be defined for a plurality of threads configured to provide one or more IO requests to the plurality of NVMe IO submission queues. The NVMe IO completion queue may be polled based upon, at least in part, the NVMe IO completion queue polling frequency defined for the plurality of threads.
    Type: Grant
    Filed: July 14, 2021
    Date of Patent: December 12, 2023
    Assignee: EMC IP Holding Company, LLC
    Inventors: Eldad Zinger, Leonid Ravich, Elad Grupi
  • Patent number: 11748181
    Abstract: A method, computer program product, and computer system for directing, by a computing device, an incoming Non-Volatile Memory express (NVMe) command to a kernel driver. The kernel driver may enqueue the incoming NVMe command until fetched by a user space. The NVMe command may be fetched from the kernel driver for processing. The NVMe command may be pushed to a user space block device of the user space.
    Type: Grant
    Filed: April 28, 2021
    Date of Patent: September 5, 2023
    Assignee: EMC IP Holding Company, LLC
    Inventors: Eldad Zinger, Leonid Ravich, Ran Anner, Amit Engel, Elad Grupi
  • Patent number: 11606437
    Abstract: A method, computer program product, and computer system for using, by a computing device, free central processing unit (CPU) cycles for processing Non-Volatile Memory express Over Fiber (NVMeoF)/Transmission Control Protocol (TCP) sockets. Using the free CPU cycles for processing the NVMeoF/TCP sockets may include exposing a character device with a callback that iterates over the NVMeoF/TCP sockets for processing.
    Type: Grant
    Filed: April 23, 2021
    Date of Patent: March 14, 2023
    Assignee: EMC IP Holding Company, LLC
    Inventors: Eldad Zinger, Leonid Ravich, Ran Anner, Elad Grupi
  • Publication number: 20230013913
    Abstract: A method, computer program product, and computing system for associating a plurality of NVMe IO submission queues with an NVMe IO completion queue. An NVMe IO completion queue polling frequency may be defined for a plurality of threads configured to provide one or more IO requests to the plurality of NVMe IO submission queues. The NVMe IO completion queue may be polled based upon, at least in part, the NVMe IO completion queue polling frequency defined for the plurality of threads.
    Type: Application
    Filed: July 14, 2021
    Publication date: January 19, 2023
    Inventors: Eldad Zinger, Leonid Ravich, Elad Grupi
  • Publication number: 20220350684
    Abstract: A method, computer program product, and computer system for directing, by a computing device, an incoming Non-Volatile Memory express (NVMe) command to a kernel driver. The kernel driver may enqueue the incoming NVMe command until fetched by a user space. The NVMe command may be fetched from the kernel driver for processing. The NVMe command may be pushed to a user space block device of the user space.
    Type: Application
    Filed: April 28, 2021
    Publication date: November 3, 2022
    Inventors: ELDAD ZINGER, Leonid Ravich, Ran Anner, Amit Engel, Elad Grupi
  • Publication number: 20220345538
    Abstract: A method, computer program product, and computer system for using, by a computing device, free central processing unit (CPU) cycles for processing Non-Volatile Memory express Over Fiber (NVMeoF)/Transmission Control Protocol (TCP) sockets. Using the free CPU cycles for processing the NVMeoF/TCP sockets may include exposing a character device with a callback that iterates over the NVMeoF/TCP sockets for processing.
    Type: Application
    Filed: April 23, 2021
    Publication date: October 27, 2022
    Inventors: Eldad Zinger, Leonid Ravich, Ran Anner, Elad Grupi
  • Patent number: 10681110
    Abstract: A system and method for optimized stream management are provided. The method includes retrieving priority data; determining, in real-time, a current priority tree based on the retrieved priority data, wherein the priority tree includes at least one node representing a stream; identifying, based on the retrieved priority data, at least one relative weight of the at least one node; determining an effective weight based on each identified relative weight; and filling a buffer based on the current priority tree and the at least one effective weight.
    Type: Grant
    Filed: May 4, 2016
    Date of Patent: June 9, 2020
    Assignee: RADWARE, LTD.
    Inventors: Roy Berland, Elad Grupi
  • Publication number: 20170324677
    Abstract: A system and method for optimized stream management are provided. The method includes retrieving priority data; determining, in real-time, a current priority tree based on the retrieved priority data, wherein the priority tree includes at least one node representing a stream; identifying, based on the retrieved priority data, at least one relative weight of the at least one node; determining an effective weight based on each identified relative weight; and filling a buffer based on the current priority tree and the at least one effective weight.
    Type: Application
    Filed: May 4, 2016
    Publication date: November 9, 2017
    Applicant: RADWARE, LTD.
    Inventors: Roy BERLAND, Elad GRUPI