Patents by Inventor Leonid Ravich
Leonid Ravich 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: 11899935Abstract: 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: GrantFiled: April 16, 2021Date of Patent: February 13, 2024Assignee: EMC IP Holding Company, LLCInventors: Alexander Barabash, Eldad Zinger, Leonid Ravich, Or Idgar, Vitaly Zharkov
-
Patent number: 11841808Abstract: 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: GrantFiled: July 14, 2021Date of Patent: December 12, 2023Assignee: EMC IP Holding Company, LLCInventors: Eldad Zinger, Leonid Ravich, Elad Grupi
-
Patent number: 11748181Abstract: 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: GrantFiled: April 28, 2021Date of Patent: September 5, 2023Assignee: EMC IP Holding Company, LLCInventors: Eldad Zinger, Leonid Ravich, Ran Anner, Amit Engel, Elad Grupi
-
Patent number: 11662917Abstract: Techniques for avoiding race conditions in high availability (HA) storage systems that employ disk array enclosures (DAEs). The techniques include receiving a notification of an input/output (IO) error from a storage node, in which the IO error occurs subsequent to the storage node issuing, to a first DAE controller, an IO operation to access data at a logical address of a storage device. The techniques further include, in response to the notification of the IO error, issuing, over an out-of-band channel, a flush command to the first DAE controller, causing data stored in cache memory of the first DAE controller to be written to the storage device, and receiving, over the out-of-band channel, an acknowledgement of completion of the flush operation from the first DAE controller. The techniques further include sending a notification of the completion of the flush operation to the storage node.Type: GrantFiled: March 30, 2022Date of Patent: May 30, 2023Assignee: Dell Products L.P.Inventors: Eran Banin, Leonid Ravich, Omer Margolin
-
Publication number: 20230128503Abstract: A method, computer program product, and computing system for defining a first flow for one or more processing threads with access to shared data within the storage system. The one or more processing threads may be executed using the first flow. A processing thread reference count may be determined for the one or more processing threads being executed using the first flow. One or more management threads may be executed on the shared data within the storage system based upon, at least in part, the processing thread reference count.Type: ApplicationFiled: October 27, 2021Publication date: April 27, 2023Inventors: Vitaly Zharkov, Leonid Ravich, Or Idgar
-
Patent number: 11606437Abstract: 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: GrantFiled: April 23, 2021Date of Patent: March 14, 2023Assignee: EMC IP Holding Company, LLCInventors: Eldad Zinger, Leonid Ravich, Ran Anner, Elad Grupi
-
Patent number: 11586569Abstract: 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: GrantFiled: July 23, 2021Date of Patent: February 21, 2023Assignee: EMC IP Holding Company, LLCInventors: Leonid Ravich, Eldad Zinger, Amit Engel
-
Publication number: 20230025907Abstract: 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: ApplicationFiled: July 23, 2021Publication date: January 26, 2023Inventors: Leonid Ravich, Eldad Zinger, Amit Engel
-
Publication number: 20230013913Abstract: 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: ApplicationFiled: July 14, 2021Publication date: January 19, 2023Inventors: Eldad Zinger, Leonid Ravich, Elad Grupi
-
Patent number: 11507441Abstract: A method of performing a remotely-initiated procedure on a computing device is provided. The method includes (a) receiving, by memory of the computing device, a request from a remote device via remote direct memory access (RDMA); (b) in response to receiving the request, assigning processing of the request to one core of a plurality of processing cores of the computing device, wherein assigning includes the one core receiving a completion signal from a shared completion queue (Shared CQ) of the computing device, the Shared CQ being shared between the plurality of cores; and (c) in response to assigning, performing, by the one core, a procedure described by the request. An apparatus, system, and computer program product for performing a similar method are also provided.Type: GrantFiled: January 21, 2021Date of Patent: November 22, 2022Assignee: EMC IP Holding Company LLCInventors: Leonid Ravich, Yuri Chernyavsky
-
Publication number: 20220350684Abstract: 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: ApplicationFiled: April 28, 2021Publication date: November 3, 2022Inventors: ELDAD ZINGER, Leonid Ravich, Ran Anner, Amit Engel, Elad Grupi
-
Publication number: 20220345538Abstract: 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: ApplicationFiled: April 23, 2021Publication date: October 27, 2022Inventors: Eldad Zinger, Leonid Ravich, Ran Anner, Elad Grupi
-
Publication number: 20220334717Abstract: 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: ApplicationFiled: April 16, 2021Publication date: October 20, 2022Inventors: Alexander Barabash, Eldad Zinger, Leonid Ravich, Or Idgar, Vitaly Zharkov
-
Patent number: 11416441Abstract: Techniques for providing an RPC-less locking mechanism based on RDMA CAW for a storage cluster with an active-active architecture. The techniques include, in response to receipt at a storage node of a lock request for accessing an LBA of a storage object, synchronizing, between the storage node and a remote node, a state of a lock for the LBA. The synchronizing of the lock state includes locating an ALS object having a field containing the LBA, updating a field of the ALS object to include the storage node, and setting a field of the ALS object to a type of lock specified in the lock request. If the storage node locates the ALS object in an array maintained within visible memory on the remote node, then the storage node updates/sets corresponding fields of the ALS object by performing atomic CAW operations supported by an RDMA channel between the respective nodes.Type: GrantFiled: January 11, 2021Date of Patent: August 16, 2022Assignee: EMC IP Holding Company LLCInventors: Vladimir Shveidel, Leonid Ravich
-
Publication number: 20220229711Abstract: A method of performing a remotely-initiated procedure on a computing device is provided. The method includes (a) receiving, by memory of the computing device, a request from a remote device via remote direct memory access (RDMA); (b) in response to receiving the request, assigning processing of the request to one core of a plurality of processing cores of the computing device, wherein assigning includes the one core receiving a completion signal from a shared completion queue (Shared CQ) of the computing device, the Shared CQ being shared between the plurality of cores; and (c) in response to assigning, performing, by the one core, a procedure described by the request. An apparatus, system, and computer program product for performing a similar method are also provided.Type: ApplicationFiled: January 21, 2021Publication date: July 21, 2022Inventors: Leonid Ravich, Yuri Chernyavsky
-
Publication number: 20220222201Abstract: Techniques for providing an RPC-less locking mechanism based on RDMA CAW for a storage cluster with an active-active architecture. The techniques include, in response to receipt at a storage node of a lock request for accessing an LBA of a storage object, synchronizing, between the storage node and a remote node, a state of a lock for the LBA. The synchronizing of the lock state includes locating an ALS object having a field containing the LBA, updating a field of the ALS object to include the storage node, and setting a field of the ALS object to a type of lock specified in the lock request. If the storage node locates the ALS object in an array maintained within visible memory on the remote node, then the storage node updates/sets corresponding fields of the ALS object by performing atomic CAW operations supported by an RDMA channel between the respective nodes.Type: ApplicationFiled: January 11, 2021Publication date: July 14, 2022Inventors: Vladimir Shveidel, Leonid Ravich
-
Publication number: 20210389906Abstract: 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: ApplicationFiled: June 11, 2020Publication date: December 16, 2021Inventors: ELDAD ZINGER, Leonid Ravich
-
Patent number: 11095698Abstract: Techniques for processing messages may include: establishing a plurality of streams between a source system and a target system; reserving one or more streams of the plurality of streams, wherein the one or more streams are reserved and used in transmitting only management messages, wherein the one or more streams includes a first stream of the plurality of streams; transmitting a first management message over the first stream from the source system to the target system; and transmitting a first data message over a second of the plurality of streams, wherein the second stream is not included in the one or more streams reserved for use in transmitting only management messages.Type: GrantFiled: July 23, 2019Date of Patent: August 17, 2021Assignee: EMC IP Holding Company LLCInventors: Leonid Ravich, Eyal Ben Ner
-
Patent number: 11093435Abstract: 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: GrantFiled: October 3, 2019Date of Patent: August 17, 2021Assignee: EMC IP HOLDING COMPANY LLCInventors: Leonid Ravich, Eldad Zinger
-
Patent number: 11070654Abstract: A method is disclosed comprising: instantiating a first plurality of type-1 network sockets on a source computing system, each of the type-1 network sockets having a first queue depth; instantiating a second plurality of type-2 network sockets on the source computing system, each of the type-2 network sockets having a second queue depth that is greater than the first queue depth; transitioning the source computing system into a first state, the first state being one in which data replication messages are transmitted by the source computing system to a target computing system by using both the type-1 and type-2 network sockets; transitioning the source computing system from the first state into a second state, the second state being one in which data replication messages are transmitted by the source computing system to the target computing system by using the type-2 network sockets.Type: GrantFiled: October 3, 2019Date of Patent: July 20, 2021Assignee: EMC IP HOLDING COMPANY LLCInventors: Alexander Barabash, Leonid Ravich, Eyal Ben Ner, Xiangping Chen