Patents by Inventor Eldad Zinger

Eldad Zinger 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: 11899935
    Abstract: A method, computer program product, and computer system for exposing, by a user block layer of a computing device, a storage device as a block device to an application associated with an IO request. A Non-Volatile Memory Express (NVMe) protocol layer of the computing device may expose a NVMe storage device associated with the IO request to the user block layer. A NVMe-over-RDMA layer of the computing device may create a NVMe RDMA queue for the IO request to be processed.
    Type: Grant
    Filed: April 16, 2021
    Date of Patent: February 13, 2024
    Assignee: EMC IP Holding Company, LLC
    Inventors: Alexander Barabash, Eldad Zinger, Leonid Ravich, Or Idgar, Vitaly Zharkov
  • 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: 11669471
    Abstract: A method, computer program product, and computing system for receiving an input/output (IO) command for processing data within a storage system. An IO command-specific entry may be generated in a register based upon, at least in part, the IO command. An compare-and-swap operation may be performed on the IO command-specific entry to determine an IO command state associated with the IO command. The IO command may be processed based upon, at least in part, the IO command state associated with the IO command.
    Type: Grant
    Filed: October 21, 2021
    Date of Patent: June 6, 2023
    Assignee: EMC IP Holding Company, LLC
    Inventors: Eldad Zinger, Ran Anner, Amit Engel
  • Publication number: 20230126265
    Abstract: A method, computer program product, and computing system for receiving an input/output (IO) command for processing data within a storage system. An IO command-specific entry may be generated in a register based upon, at least in part, the IO command. An compare-and-swap operation may be performed on the IO command-specific entry to determine an IO command state associated with the IO command. The IO command may be processed based upon, at least in part, the IO command state associated with the IO command.
    Type: Application
    Filed: October 21, 2021
    Publication date: April 27, 2023
    Inventors: Eldad Zinger, Ran Anner, Amit Engel
  • 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
  • Patent number: 11586569
    Abstract: A method, computer program product, and computing system for assigning a first set of interrupts for exclusive processing by a first set of central processing units (CPU) cores. A second set of interrupts may be assigned for processing by a second set of CPU cores. The first set of interrupts may be processed using the first set of CPU cores. The second set of interrupts may be converted to a set of polling operations, thus defining a set of converted polling operations. The set of converted polling operations may be processed using the second set of CPU cores.
    Type: Grant
    Filed: July 23, 2021
    Date of Patent: February 21, 2023
    Assignee: EMC IP Holding Company, LLC
    Inventors: Leonid Ravich, Eldad Zinger, Amit Engel
  • Publication number: 20230025907
    Abstract: A method, computer program product, and computing system for assigning a first set of interrupts for exclusive processing by a first set of central processing units (CPU) cores. A second set of interrupts may be assigned for processing by a second set of CPU cores. The first set of interrupts may be processed using the first set of CPU cores. The second set of interrupts may be converted to a set of polling operations, thus defining a set of converted polling operations. The set of converted polling operations may be processed using the second set of CPU cores.
    Type: Application
    Filed: July 23, 2021
    Publication date: January 26, 2023
    Inventors: Leonid Ravich, Eldad Zinger, Amit Engel
  • 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
  • Publication number: 20220334717
    Abstract: A method, computer program product, and computer system for exposing, by a user block layer of a computing device, a storage device as a block device to an application associated with an IO request. A Non-Volatile Memory Express (NVMe) protocol layer of the computing device may expose a NVMe storage device associated with the IO request to the user block layer. A NVMe-over-RDMA layer of the computing device may create a NVMe RDMA queue for the IO request to be processed.
    Type: Application
    Filed: April 16, 2021
    Publication date: October 20, 2022
    Inventors: Alexander Barabash, Eldad Zinger, Leonid Ravich, Or Idgar, Vitaly Zharkov
  • Patent number: 11381400
    Abstract: Example embodiments of the present invention relate and a method and an apparatus for double hashing. The method including receiving a hash signature, including a short hash handle, for a data block. The method then includes determining a bucket with which the hash signature should be associated and associating the hash signature with the bucket.
    Type: Grant
    Filed: June 18, 2020
    Date of Patent: July 5, 2022
    Assignee: EMC IP Holding Company LLC
    Inventors: Kirill Shoikhet, Gilad Braunschvig, Eldad Zinger, Kobi Luz, Zvi Schneider
  • Patent number: 11314447
    Abstract: A method, computer program product, and computer system for maintaining a federation of a plurality of appliances as a single subsystem, wherein maintaining the federation as the single subsystem may include maintaining a centralized discovery mechanism across the plurality of appliances, wherein a discovery service of the centralized discovery mechanism may return a list of all ports in the federation. Controller IDs for a predefined range of controller IDs may be allocated for a plurality of dynamic controllers per appliance of the plurality of appliances, wherein the controller IDs may be allocated as a response to a connect command from a host. An empty namespace list for the plurality of dynamic controllers on the plurality of appliances in the federation may be exposed. The host may receive a notification from at least one dynamic controller of the plurality of dynamic controllers on at least one appliance of the plurality of appliances in the federation.
    Type: Grant
    Filed: July 21, 2020
    Date of Patent: April 26, 2022
    Assignee: EMC IP HOLDING COMPANY, LLC
    Inventors: Chen Reichbach, Marina Shem Tov, Eldad Zinger, Dmitry Tylik
  • Patent number: 11301263
    Abstract: A method, computer program product, and computing system for receiving a plurality of input/output (IO) commands for a plurality of configuration objects of a storage system. A modification command for a configuration object of the plurality of configuration objects may be received. The configuration object may be suspended in response to receiving the modification command. One or more IO commands directed to the suspended configuration object from the plurality of IO commands may be processed before the configuration object is modified.
    Type: Grant
    Filed: October 30, 2019
    Date of Patent: April 12, 2022
    Assignee: EMC IP HOLDING COMPANY, LLC
    Inventors: Eldad Zinger, Ran Anner
  • Publication number: 20220027076
    Abstract: A method, computer program product, and computer system for maintaining a federation of a plurality of appliances as a single subsystem, wherein maintaining the federation as the single subsystem may include maintaining a centralized discovery mechanism across the plurality of appliances, wherein a discovery service of the centralized discovery mechanism may return a list of all ports in the federation. Controller IDs for a predefined range of controller IDs may be allocated for a plurality of dynamic controllers per appliance of the plurality of appliances, wherein the controller IDs may be allocated as a response to a connect command from a host. An empty namespace list for the plurality of dynamic controllers on the plurality of appliances in the federation may be exposed. The host may receive a notification from at least one dynamic controller of the plurality of dynamic controllers on at least one appliance of the plurality of appliances in the federation.
    Type: Application
    Filed: July 21, 2020
    Publication date: January 27, 2022
    Inventors: Chen Reichbach, Marina Shem Tov, Eldad Zinger, Dmitry Tylik
  • Publication number: 20210389906
    Abstract: A method, computer program product, and computer system for receiving, by a computing device, a command, wherein the command may include one of a write command and a read command. A completion request for a first portion of the command may be placed in a first queue when the completion request is a first type of completion request. An interrupt operation for the completion request may be executed when the completion request is the first type of completion request. The completion request for a second portion of the command may be placed in a second queue when the completion request is a second type of completion request. A polling operation for the completion request may be executed when the completion request is the second type of completion request.
    Type: Application
    Filed: June 11, 2020
    Publication date: December 16, 2021
    Inventors: ELDAD ZINGER, Leonid Ravich
  • Patent number: 11093435
    Abstract: A method is disclosed comprising: instantiating, on a first device, a plurality of first connection objects; generating, by the first device, a first set of connection parameters that is associated with the plurality of first connection objects; transmitting the first set of connection parameters from the first device to a second device; receiving from the second device a second set of connection parameters, the second set of connection parameters being associated with a plurality of second connection objects that are instantiated on the second device; updating, by the first device, each of the first connection objects based on the second set of connection parameters; and transmitting, from the first device to the second device, a confirmation that a plurality of communications channels is established.
    Type: Grant
    Filed: October 3, 2019
    Date of Patent: August 17, 2021
    Assignee: EMC IP HOLDING COMPANY LLC
    Inventors: Leonid Ravich, Eldad Zinger
  • Patent number: 11010274
    Abstract: A method is provided for collecting trace data items generated by a plurality of trace points, the method comprising: allocating a ring buffer in a first memory, the ring buffer including a plurality of trace buffers; when any of the trace points is executed, storing a trace data item generated by the trace point in one of the plurality of trace buffers that is identified by a given value of a ring pointer; retrieving the trace data item from the trace buffer based on at least one of: (i) a first timestamp that is generated when the trace data item is stored in the trace buffer, and (ii) a second timestamp indicating a time when the ring pointer was assigned the given value; and storing the retrieved trace data item in a second memory device.
    Type: Grant
    Filed: July 30, 2018
    Date of Patent: May 18, 2021
    Assignee: EMC IP Holding Company LLC
    Inventors: Eldad Zinger, Eyal Harari
  • Publication number: 20210132958
    Abstract: A method, computer program product, and computing system for receiving a plurality of input/output (IO) commands for a plurality of configuration objects of a storage system. A modification command for a configuration object of the plurality of configuration objects may be received. The configuration object may be suspended in response to receiving the modification command. One or more IO commands directed to the suspended configuration object from the plurality of IO commands may be processed before the configuration object is modified.
    Type: Application
    Filed: October 30, 2019
    Publication date: May 6, 2021
    Inventors: Eldad Zinger, Ran Anner