IP Library Granted Patent US 11,573,718
Granted Patent B2
US 11,573,718 · App. 17/175,170 · Granted Feb 7, 2023

Disaggregation of control path and data path

Inventors: Qingbo Wang (Irvine, CA); Martin Lueker-Boden (Freemont, CA); Dejan Vucinic (San Jose, CA)
Assignee: Western Digital Technologies, Inc.
G06F3/0635G06F3/067G06F3/0619G06F3/0659
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,573,718
App. No.
17/175,170
Granted
Feb 7, 2023
Kind
B2
Abstract

A network device includes at least one control path port and data path ports configured to communicate on a network. A connection request is received from a host via a control path port, and a resource of the network device is allocated to the host. A data path port is determined from among the plurality of data path ports for communication between the host and the allocated resource. An indication of the determined data path port is sent to the host via the control path port for communication on a data path between the host and the allocated resource. In one aspect, a network interface includes at least one control path port and a first plurality of data path ports configured to communicate on a network. A connection request is received from a host via a control path port, and a locally connected device is allocated to the host.

Claims (43)

1. A network device, comprising:

at least one control path port configured to communicate on a network external to the network device, wherein the at least one control path port is reserved for control plane operations via the network;

a plurality of data path ports configured to communicate on the network, wherein the plurality of data path ports is reserved for data plane operations via the network; and

circuitry configured to:

receive a connection request from a host via a control path port of the at least one control path port;

allocate a resource of the network device to the host;

determine a data path port from among the plurality of data path ports for communication between the host and the allocated resource; and

send an indication of the determined data path port to the host via the control path port for communication on a data path between the host and the allocated resource.

2. The network device of claim 1 , wherein the circuitry is further configured to provide, using the control path port, control plane operations including at least one of device discovery, connection teardown, error handling, and negotiating connection parameters.

3. The network device of claim 1 , wherein the circuitry is further configured to allocate the resource based on at least one of a message type indicated by the host via the control path port and a storage protocol indicated by the host via the control path port.

4. The network device of claim 1 , wherein the circuitry is further configured to allocate the resource based on at least one of a priority indicated by the host via the control path port and an activity level of the resource.

5. The network device of claim 1 , wherein the circuitry is further configured to:

receive an indication from the host via the control path port that the data path has failed or indicating a change in demand for the allocated resource or a different resource of the network device; and

in response to the received indication, determine at least one new data path port from among the plurality of data path ports for communication between the host and the allocated resource or the different resource.

6. The network device of claim 1 , wherein the circuitry is further configured to provide, using the determined data path port, data plane operations including at least one of sending packets including data payloads to the host via the network and receiving packets including data payloads from the host via the network.

7. The network device of claim 1 , wherein the network device includes a server or a compute node on the network.

8. The network device of claim 1 , wherein the allocated resource includes at least one of a data storage device of the network device, a processor of the network device, a memory of the network device, and a process or application executing on a processor of the network device.

9. A method performed by a network device, the method comprising:

receiving a connection request from a host via a control path port of the network device wherein the control path port is reserved for control plane operations via a network external to the network device;

allocating a resource of the network device to the host;

determining a data path port of the network device for communication between the host and the allocated resource, wherein the determined data path port is reserved for data plane operations via the network; and

sending an indication of the determined data path port to the host via the control path port for communication on a data path between the host and the allocated resource.

10. The method of claim 9 , further comprising performing control plane operations including at least one of device discovery, connection teardown, error handling, and negotiating connection parameters using the control path port.

11. The method of claim 9 , further comprising allocating the resource based on at least one of a message type indicated by the host via the control path port and a storage protocol indicated by the host via the control path port.

12. The method of claim 9 , further comprising allocating the resource based on at least one of a priority indicated by the host via the control path port and an activity level of the resource.

13. The method of claim 9 , further comprising:

receiving an indication from the host via the control path port that the data path has failed or indicating a change in demand for the allocated resource or a different resource of the network device; and

in response to the received indication, determining at least one new data path port from among a plurality of data path ports of the network device for communication between the host and the allocated resource or the different resource.

14. The method of claim 9 , further comprising providing, using the determined data path port, data plane operations including at least one of sending packets including data payloads to the host via the network and receiving packets including data payloads from the host via the network.

15. The method of claim 9 , wherein the network device includes a server or a compute node on the network.

16. The method of claim 9 , wherein the allocated resource includes at least one of a data storage device of the network device, a processor of the network device, a memory of the network device, and a process or application executing on a processor of the network device.

17. A network interface, comprising:

at least one control path port configured to communicate on a network external to the network interface, wherein the at least one control path port is reserved for control plane operations via the network;

a first plurality of data path ports configured to communicate on the network, wherein the first plurality of data path ports is reserved for data plane operations via the network;

a second plurality of data path ports configured to communicate with a plurality of locally connected devices; and

means for:

receiving a connection request from a host via a control path port of the at least one control path port;

allocating a locally connected device to the host from among the plurality of locally connected devices;

determining a data path port from among the first plurality of data path ports for communication between the host and the allocated locally connected device; and

sending an indication of the determined data path port to the host via the control path port for communication on a data path between the host and the allocated locally connected device.

18. The network interface of claim 17 , further comprising means for performing, using the control path port, control plane operations including at least one of device discovery, connection teardown, error handling, and negotiating connection parameters using the control path port.

19. The network interface of claim 17 , further comprising means for allocating the locally connected device based on at least one of a storage protocol indicated by the host via the control path port, a message type indicated by the host via the control path port, a priority indicated by the host via the control path port, and an activity level of the locally connected internal device.

20. The network interface of claim 17 , wherein the network interface includes an Ethernet switch, a Data Processing Unit (DPU), a Peripheral Component Interconnect express (PCIe) switch, or a router.

Assignments (5)
PATENT COLLATERAL AGREEMENT - DDTL LOAN AGREEMENT Recorded Aug 21, 2023
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 067045/0156 →
PATENT COLLATERAL AGREEMENT - A&R LOAN AGREEMENT Recorded Aug 21, 2023
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 064715/0001 →
RELEASE OF SECURITY INTEREST AT REEL 056285 FRAME 0292 Recorded Feb 8, 2022
From: JPMORGAN CHASE BANK, N.A.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 058982/0001 →
SECURITY INTEREST Recorded May 19, 2021
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS AGENT
Reel/Frame 056285/0292 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 12, 2021
From: WANG, QINGBO; LUEKER-BODEN, MARTIN; VUCINIC, DEJAN
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 055248/0756 →