IP Library Granted Patent US 11,606,437
Granted Patent B2
US 11,606,437 · App. 17/239,102 · Granted Mar 14, 2023

System and method for boosting up performance of NVMe-TCP transport

Inventors: Eldad Zinger (Ra'anana, IL); Leonid Ravich (Ra'anana, IL); Ran Anner (Kfar Saba, IL); Elad Grupi (Tel Aviv, IL)
Assignee: EMC IP Holding Company, LLC
H04L67/133G06F9/48G06F9/4806G06F9/4812G06F9/4843H04L67/025H04L67/1072H04L69/163
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,606,437
App. No.
17/239,102
Granted
Mar 14, 2023
Kind
B2
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.

Claims (19)

1. A computer-implemented method comprising:

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;

wherein using the free CPU cycles for processing the NVMeoF/TCP sockets includes exposing a character device with a callback that iterates over the NVMeoF/TCP sockets for processing, wherein the callback includes an Input Output Control (IOCTL) callback; and

adding the NVMeoF/TCP sockets to a waiting list, wherein each of the NVMeoF/TCP sockets holds an atomic state and each of the NVMeoF/TCP sockets is configured to be processed by a storage management application thread or a kernel thread (kthread), and wherein a software interrupt adds the NVMeoF/TCP sockets to the waiting list to process the NVMeoF/TCP sockets upon the IOCTL callback being called by the storage management application thread.

2. The computer-implemented method of claim 1 wherein the software interrupt is processed by a frontend CPU core.

3. The computer-implemented method of claim 1 wherein the kthread is woken up by a software interrupt based upon, at least in part, adding the NVMeoF/TCP sockets to the waiting list.

4. A computer program product residing on a non-transitory computer readable storage medium having a plurality of instructions stored thereon which, when executed across one or more processors, causes at least a portion of the one or more processors to perform operations comprising:

using free central processing unit (CPU) cycles for processing Non-Volatile Memory express Over Fiber (NVMeoF)/Transmission Control Protocol (TCP) sockets;

wherein using the free CPU cycles for processing the NVMeoF/TCP sockets includes exposing a character device with a callback that iterates over the NVMeoF/TCP sockets for processing, wherein the callback includes an Input Output Control (IOCTL) callback; and

adding the NVMeoF/TCP sockets to a waiting list, wherein each of the NVMeoF/TCP sockets holds an atomic state and each of the NVMeoF/TCP sockets is configured to be processed by a storage management application thread or a kernel thread (kthread), and wherein a software interrupt adds the NVMeoF/TCP sockets to the waiting list to process the NVMeoF/TCP sockets upon the IOCTL callback being called by the storage management application thread.

5. The computer program product of claim 4 wherein the software interrupt is processed by a frontend CPU core.

6. The computer program product of claim 4 wherein the kthread is woken up by a software interrupt based upon, at least in part, adding the NVMeoF/TCP sockets to the waiting list.

7. A computing system including one or more processors and one or more memories configured to perform operations comprising:

using free central processing unit (CPU) cycles for processing Non-Volatile Memory express Over Fiber (NVMeoF)/Transmission Control Protocol (TCP) sockets;

wherein using the free CPU cycles for processing the NVMeoF/TCP sockets includes exposing a character device with a callback that iterates over the NVMeoF/TCP sockets for processing, wherein the callback includes an Input Output Control (IOCTL) callback; and

adding the NVMeoF/TCP sockets to a waiting list, wherein a software interrupt adds the NVMeoF/TCP sockets to the waiting list to process the NVMeoF/TCP sockets upon the IOCTL callback being called by a storage application thread.

8. The computing system of claim 7 wherein the software interrupt is processed by a frontend CPU core.

9. The computing system of claim 7 wherein a kernel thread (kthread) is woken up by the software interrupt based upon, at least in part, adding the NVMeoF/TCP sockets to the waiting list.

10. The computing system of claim 9 wherein each of the NVMeoF/TCP sockets holds an atomic state.

Assignments (10)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (056295/0280) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 062022/0255 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (056295/0124) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 062022/0012 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (056295/0001) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 062021/0844 →
RELEASE OF SECURITY INTEREST Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058297/0332 →
SECURITY INTEREST Recorded May 19, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 056295/0124 →
SECURITY INTEREST Recorded May 19, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 056295/0001 →
SECURITY INTEREST Recorded May 19, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 056295/0280 →
CORRECTIVE ASSIGNMENT TO CORRECT THE MISSING PATENTS THAT WERE ON THE ORIGINAL SCHEDULED SUBMITTED BUT NOT ENTERED PREVIOUSLY RECORDED AT REEL: 056250 FRAME: 0541. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded May 17, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 056311/0781 →
SECURITY AGREEMENT Recorded May 14, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 056250/0541 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 23, 2021
From: ZINGER, ELDAD; RAVICH, LEONID; ANNER, RAN; GRUPI, ELAD
To: EMC IP HOLDING COMPANY, LLC
Reel/Frame 056025/0241 →