IP Library › Granted Patent US 12,007,918
Granted Patent B2
US 12,007,918 · App. 17/467,070 · Granted Jun 11, 2024

Peripheral component interconnect express interface device and method of operating the same

Inventors: Yong Tae Jeon (Icheon, KR); Ji Woon Yang (Icheon, KR); Sang Hyun Yoon (Icheon, KR); Se Hyeon Han (Icheon, KR)
Assignee: SK hynix Inc.
G06F13/24G06F13/4221G06F2213/0026
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 12,007,918
App. No.
17/467,070
Granted
Jun 11, 2024
Kind
B2
Abstract

Provided are a Peripheral Component Interconnect Express (PCIe) interface device and a method of operating the same. The PCIe interface device may include a performance analyzer and a traffic class controller. The performance analyzer may be configured to measure throughputs of multiple functions executed on one or more Direct Memory Access (DMA) devices. The traffic class controller may be configured to allocate traffic class values to transaction layer packets received from the multiple functions based on the throughputs of the multiple functions.

Claims (30)

1. A Peripheral Component Interconnect Express (PCIe) interface device, comprising:

a performance analyzer configured to calculate throughputs of multiple functions executed on one or more Direct Memory Access (DMA) devices by counting a number of transaction layer packets transferred between the one or more DMA devices and a host system per unit time; and

a traffic class controller configured to allocate traffic class values to transaction layer packets received from the multiple functions based on the throughputs of the multiple functions, and to reallocate the traffic class values of the transaction layer packets when rankings of the throughputs of the multiple functions are changed,

wherein the traffic class values indicate virtual channels to which the transaction layer packets are mapped.

2. The PCIe interface device according to claim 1 , wherein the performance analyzer is configured to calculate the throughputs of the multiple functions based on occupation rates of the multiple functions for a data path that couples the one or more DMA devices to the PCIe interface device.

3. The PCIe interface device according to claim 2 , wherein the performance analyzer is configured to calculate an occupation rate of each of the multiple functions based on the number of transaction layer packets transferred through the data path per unit time.

4. The PCIe interface device according to claim 1 , wherein the traffic class controller is configured to allocate a default value as initial values for traffic classes of the transaction layer packets received from the multiple functions.

5. The PCIe interface device according to claim 4 , wherein the traffic class controller is configured to allocate different traffic class values to the transaction layer packets based on results of comparing the throughputs of the multiple functions with a threshold value.

6. The PCIe interface device according to claim 5 , wherein the traffic class controller is configured to allocate the default value as a traffic class value of a transaction layer packet received from a function for which a throughput is greater than the threshold value, among the multiple functions.

7. The PCIe interface device according to claim 5 , wherein the traffic class controller is configured to allocate a ranking of traffic class values to transaction layer packets received from functions for which throughputs are less than or equal to the threshold value, among the multiple functions, in a reverse order of a ranking of the throughputs of the multiple functions.

8. The PCIe interface device according to claim 4 , wherein the traffic class controller is configured to allocate the default value as a traffic class value of a transaction layer packet received from an interrupted function, among the multiple functions.

9. The PCIe interface device according to claim 1 , wherein the virtual channels are determined by a switch or a root complex depending on the traffic class values allocated to the transaction layer packets.

10. The PCIe interface device according to claim 9 , wherein an order in which the transaction layer packets are to be output is determined by the switch or the root complex based on the virtual channels mapped to the transaction layer packets.

11. The PCIe interface device according to claim 1 , wherein the one or more DMA devices comprise one or more of a NonVolatile Memory Express (NVMe) device, a Solid State Drive (SSD) device, an Artificial Intelligence Central Processing Unit (AI CPU), an Artificial Intelligence System on Chip (AI SoC), an Ethernet device, a sound card, and a graphics card.

12. A method of operating a Peripheral Component Interconnect Express (PCIe) interface device, the method comprising:

counting a number of transaction layer packets transferred between multiple functions executed on one or more Direct Memory Access (DMA) devices and a host system per unit time;

calculating throughputs of the multiple functions based on the number of transaction layer packets transferred per unit time;

allocating traffic class values to transaction layer packets received from the multiple functions based on the throughputs of the multiple functions;

outputting the transaction layer packets through virtual channels to which the transaction layer packets are mapped based on the traffic class values; and

reallocating the traffic class values of the transaction layer packets when rankings of the throughputs of the multiple functions are changed.

13. The method according to claim 12 , wherein the throughputs of the multiple functions are calculated based on occupation rates of the multiple functions for a data path that couples the one or more DMA devices to the PCIe interface device.

14. The method according to claim 13 , wherein an occupation rate of each of the multiple functions is calculated based on the number of transaction layer packets transferred through the data path per unit time.

15. The method according to claim 12 , wherein allocating the traffic class values to the transaction layer packets comprises:

allocating a default value as initial values for traffic classes to the transaction layer packets received from the multiple functions; and

allocating different traffic class values to the transaction layer packets based on results of comparing the throughputs of the multiple functions with a threshold value.

16. The method according to claim 15 , wherein allocating the different traffic class values to the transaction layer packets comprises:

allocating the default value as a traffic class value of a transaction layer packet received from a function for which a throughput is greater than the threshold value or from an interrupted function, among the multiple functions.

17. The method according to claim 15 , wherein allocating the different traffic class values to the transaction layer packets comprises:

allocating a ranking of traffic class values to transaction layer packets received from functions for which throughputs are less than or equal to the threshold value, among the multiple functions, in a reverse order of a ranking of the throughputs of the multiple functions.

18. The method according to claim 12 , wherein the virtual channels are determined by a switch or a root complex depending on the traffic class values allocated to the transaction layer packets, and an order in which the transaction layer packets are to be output is determined by the switch or the root complex based on the virtual channels mapped to the transaction layer packets.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 7, 2021
From: JEON, YONG TAE; YANG, JI WOON; YOON, SANG HYUN; HAN, SE HYEON
To: SK HYNIX INC.
Reel/Frame 057507/0983 →
Priority Claims (1)
KR 10-2021-0037503 · Mar 23, 2021 · national
Continuity (1)
Related Publication 20220309014A1 · Sep 29, 2022