IP Library › Granted Patent US 12,242,625
Granted Patent B2
US 12,242,625 · App. 17/504,346 · Granted Mar 4, 2025

PCIe function and operating method thereof

Inventors: Yong Tae Jeon (Icheon, KR); Jae Young Jang (Icheon, KR); Seung Duk Cho (Icheon, KR)
Assignee: SK hynix Inc.
G06F21/6218G06F13/4282G06F2213/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,242,625
App. No.
17/504,346
Granted
Mar 4, 2025
Kind
B2
Abstract

A Peripheral Component Interconnect Express (PCIe) function includes an access identification information controller generating first access identification information for allowing an access to the PCIe function, and providing the first access identification information to an assigned system image to which the PCIe function has been assigned, the assigned system image being one of a plurality of system images, a data packet receiver receiving a data packet including target identification information indicating a target system image selected from the plurality of system images from the target system image, and an access allowance determiner determining whether or not to allow an access of the target system image based on the first access identification information and the target identification information.

Claims (80)

1. A Peripheral Component Interconnect Express (PCIe) function, the PCIe function comprising:

an access identification information controller generating first access identification information for allowing an access to the PCIe function, and providing the first access identification information to an assigned system image to which the PCIe function has been assigned, the assigned system image being one of a plurality of system images;

a data packet receiver receiving a data packet including target identification information indicating a target system image selected from the plurality of system images from the target system image; and

an access allowance determiner determining whether or not to allow an access of the target system image based on the first access identification information and the target identification information.

2. The PCIe function of claim 1 , wherein the PCIe function is one of a physical function, a virtual function and a base function.

3. The PCIe function of claim 1 , wherein the target identification information is included in a prefix of the data packet.

4. The PCIe function of claim 1 , wherein the access allowance determiner allows the access of the target system image when the first access identification information and the target identification information are consistent with each other, or

the access allowance determiner provides completer abort (CA) information to the target system image when the first access identification information and the target identification information are not consistent with each other.

5. The PCIe function of claim 1 , wherein the PCIe function is a first PCIe function and the access identification information controller comprises:

an access identification information generator generating a random number according to a random number generation scheme, where the random number is used to generate the first access identification information;

an access identification information storage storing the first access identification information; and

an access identification information provider providing the first access identification information to the assigned system image.

6. The PCIe function of claim 5 , wherein the access identification information generator generates the random number based on a different seed from a seed used in a second PCIe function different from the first PCIe function.

7. The PCIe function of claim 5 , wherein the access identification information generator receives access identification information of a second PCIe function from the second PCIe function, and re-generates the first access identification information of the PCIe function when the access identification information of the second PCIe function and the first access identification information generated by the access identification information generator are consistent with each other.

8. The PCIe function of claim 5 , wherein the access identification information generator generates second access identification information at a predetermined time after generating the first access identification information,

wherein the access identification information storage stores the second access identification information, and

wherein the access identification information provider provides the second access identification information to the assigned system image.

9. The PCIe function of claim 8 , wherein when the first access identification information and the second access identification information are stored in the access identification information storage:

the access allowance determiner allows the access of the target system image when the second access identification information or the first access identification information is consistent with the target identification information, and

the access allowance determiner provides completer abort (CA) information to the target system image when the second access identification information is not consistent with the target identification information and the first access identification information is not consistent with the target identification information.

10. The PCIe function of claim 8 , wherein the access identification information storage removes the first access identification information when the data packet receiver receives a data packet including target identification information consistent with the second access identification information.

11. The PCIe function of claim 10 , wherein the access allowance determiner allows the access of the target system image when the second access identification information and the target identification information are consistent with each other, and

the access allowance determiner provides completer abort (CA) information to the target system image when the second access identification information and the target identification information are not consistent with each other.

12. The PCIe function of claim 5 , wherein the access identification information provider provides the first access identification information to the assigned system image by using one of a vendor-defined message, a vendor-defined capability, a new PCIe capability defined by a user, Management Component Transport Protocol (MCTP) over SMbus (System Manager bus), and MCTP over PCIe.

13. A computing system, comprising:

a plurality of Peripheral Component Interconnect Express (PCIe) functions; and

a host including a plurality of system images, the host configured to perform:

generating access identification information for allowing an access to a PCIe function among the plurality of PCIe function that is assigned to a corresponding system image of the plurality of system images, and

providing the access identification information to the PCIe function; and

the PCIe function configured to perform:

storing the access identification information provided from the host,

receiving a data packet including target identification information indicating a target system image from the target system image, the target system image being one of the plurality of system images, and

determining whether or not to allow an access of the target system image based on the access identification information and the target identification information.

14. The computing system of claim 13 , wherein the corresponding system image stores the access identification information, generates a data packet including the access identification information, and provides the data packet to the PCIe function to access the PCIe function.

15. The computing system of claim 14 , wherein the access identification information is included in a prefix of the data packet.

16. The computing system of claim 13 , wherein the host further comprises a virtualization intermediary managing the plurality of system images.

17. The computing system of claim 16 , wherein the access identification information is generated by one of the corresponding system image and the virtualization intermediary.

18. The computing system of claim 13 , wherein the host provides the access identification information to the assigned PCIe function by using one of a vendor-defined message, a vendor-defined capability, a new PCIe capability defined by a user, Management Component Transport Protocol (MCTP) over SMbus (System Manager bus), and MCTP over PCIe.

19. A Peripheral Component Interconnect Express (PCIe) function, the PCIe function comprising:

an access identification information controller configured to generate first access identification information for allowing an access to the PCIe function;

a data packet receiver configured to receive a data packet including target identification information indicating a target system image selected from the plurality of system images; and

an access allowance determiner configured to determine whether or not to allow an access of the target system image based on the first access identification information and the target identification information.

20. The PCIe function of claim 19 , wherein the access identification information controller is configured to provide the first access identification information to an assigned system image to which the PCIe function has been assigned, the assigned system image being one of a plurality of system images.

21. The PCIe function of claim 19 , wherein the PCIe function is one of a physical function, a virtual function and a base function.

22. The PCIe function of claim 19 , wherein the target identification information is included in a prefix of the data packet.

23. The PCIe function of claim 19 , wherein the access allowance determiner allows the access of the target system image when the first access identification information and the target identification information satisfy a condition.

24. The PCIe function of claim 23 , wherein the condition includes that the first access identification information and the target identification information are consistent with each other.

25. The PCIe function of claim 19 , wherein the access allowance determiner provides completer abort information to the target system image when the first access identification information and the target identification information does not satisfy a condition.

26. The PCIe function of claim 19 , wherein the PCIe function is a first PCIe function.

27. The PCIe function of claim 26 , wherein the access identification information controller comprises:

an access identification information generator configured to generate a random number according to a random number generation scheme, where the random number is used to generate the first access identification information;

an access identification information storage configured to store the first access identification information; and

an access identification information provider configured to provide the first access identification information to the assigned system image.

28. The PCIe function of claim 27 , wherein the access identification information generator generates the random number based on a different seed from a seed used in a second PCIe function different from the first PCIe function.

29. The PCIe function of claim 27 , wherein the access identification information generator receives access identification information of a second PCIe function from the second PCIe function, and re-generates the first access identification information of the PCIe function when the access identification information of the second PCIe function and the first access identification information generated by the access identification information generator satisfy a condition.

30. The PCIe function of claim 27 , wherein the access identification information generator generates second access identification information at a predetermined time after generating the first access identification information,

wherein the access identification information storage stores the second access identification information, and

wherein the access identification information provider provides the second access identification information to the assigned system image.

31. The PCIe function of claim 27 , wherein when the first access identification information and second access identification information are stored in the access identification information storage:

the access allowance determiner allows the access of the target system image when the second access identification information or the first access identification information is consistent with the target identification information, and

the access allowance determiner provides completer abort information to the target system image when the second access identification information is not consistent with the target identification information or the first access identification information is not consistent with the target identification information.

32. The PCIe function of claim 27 , wherein the access identification information storage removes the first access identification information when the data packet receiver receives a data packet including target identification information similar to second access identification information.

33. The PCIe function of claim 27 , wherein the access allowance determiner allows the access of the target system image when second access identification information and the target identification information satisfy a condition, and

the access allowance determiner provides completer abort information to the target system image when the second access identification information and the target identification information do not satisfy a condition.

34. The PCIe function of claim 27 , wherein the access identification information provider provides the first access identification information to the assigned system image by using one of a vendor-defined message, a vendor-defined capability, a new PCIe capability defined by a user, Management Component Transport Protocol (MCTP) over SMbus (System Manager bus), and MCTP over PCIe.

35. A computing system, comprising:

a plurality of Peripheral Component Interconnect Express (PCIe) functions, and

a PCIe function among the plurality of PCIe functions configured to:

store access identification information for allowing an access to the PCIe function provided from a host,

receive a data packet including target identification information indicating a target system image from the target system image, the target system image being one of a plurality of system images included in the host, and

determine whether or not to allow an access of the target system image based on the access identification information and the target identification information.

36. The computing system of claim 35 , wherein the computing system further comprising:

the host configured to:

generate the access identification information, and

provide the access identification information to the PCIe function.

37. The computing system of claim 35 , wherein the target system image stores the access identification information, generates a data packet including the access identification information, and provides the data packet to the PCIe function to access the PCIe function.

38. The computing system of claim 35 , wherein the access identification information is included in a prefix of the data packet.

39. The computing system of claim 36 , wherein the host further comprises a virtualization intermediary managing the plurality of system images.

40. The computing system of claim 35 , wherein the access identification information is generated by one of the corresponding system image and the virtualization intermediary.

41. The computing system of claim 35 , wherein the host provides the access identification information to the PCIe function by using one of a vendor-defined message, a vendor-defined capability, a new PCIe capability defined by a user, Management Component Transport Protocol (MCTP) over SMbus (System Manager bus), and MCTP over PCIe.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 19, 2021
From: JEON, YONG TAE; JANG, JAE YOUNG; CHO, SEUNG DUK
To: SK HYNIX INC.
Reel/Frame 057833/0598 →
Priority Claims (1)
KR 10-2021-0048077 · Apr 13, 2021 · national
Continuity (1)
Related Publication 20220327228A1 · Oct 13, 2022
References Cited (46)
US 6647434B1 · Kamepalli · 2003 [cited by examiner]
US 7979592B1 · Pettey et al. · 2011 [cited by applicant]
US 8503468B2 · Akyol et al. · 2013 [cited by applicant]
US 10007545B2 · Graham et al. · 2018 [cited by applicant]
US 10635499B2 · Huynh · 2020 [cited by applicant]
US 11928070B2 · Jeon · 2024 [cited by examiner]
US 20100115174A1 · Akyol · 2010 [cited by examiner]
US 20110106981A1 · Watkins et al. · 2011 [cited by applicant]
US 20130339955A1 · Prawer et al. · 2013 [cited by applicant]
US 20170277573A1 · Huynh · 2017 [cited by applicant]
US 20180239737A1 · Cha et al. · 2018 [cited by applicant]
US 20180367518A1 · Singh et al. · 2018 [cited by applicant]
US 20190042350A1 · Nadathur · 2019 [cited by examiner]
US 20190042741A1 · Abodunrin et al. · 2019 [cited by applicant]
US 20200004703A1 · Sankaran et al. · 2020 [cited by applicant]
US 20200278935A1 · Borikar et al. · 2020 [cited by applicant]
US 20200409732A1 · Kovacevic · 2020 [cited by applicant]
US 20210200703A1 · Simionescu · 2021 [cited by examiner]
US 20210247935A1 · Beygi · 2021 [cited by examiner]
US 20220188073A1 · Bowman et al. · 2022 [cited by applicant]
US 20220300442A1 · Jeon et al. · 2022 [cited by applicant]
US 20220300448A1 · Jeon · 2022 [cited by applicant]
US 20220327080A1 · Jeon · 2022 [cited by examiner]
US 20220327081A1 · Jeon et al. · 2022 [cited by applicant]
US 20220327082A1 · Jeon · 2022 [cited by examiner]
US 20220327228A1 · Jeon · 2022 [cited by examiner]
US 20240168911A1 · Jeon · 2024 [cited by examiner]
CN 108028813A · 2018 [cited by applicant]
JP 2010016819A · 2010 [cited by applicant]
KR 1020130034036A · 2013 [cited by applicant]
KR 101704776B1 · 2017 [cited by applicant]
KR 1020170013713A · 2017 [cited by applicant]
KR 1020170051475A · 2017 [cited by applicant]
KR 1020170057237A · 2017 [cited by applicant]
KR 1020210024195A · 2021 [cited by applicant]
PCIe Express, PCI Express Base Specification 3.0, Nov. 10, 2010, pp. 1-4, 97-122 (Year: 2010). [cited by applicant]
Office Action dated Mar. 30, 2023 for U.S. Appl. No. 17/504,351. [cited by applicant]
Office Action dated Mar. 2, 2023 for U.S. Appl. No. 17/504,884. [cited by applicant]
Office Action dated Apr. 6, 2023 for U.S. Appl. No. 17/506,610. [cited by applicant]
Final Office Action dated Sep. 14, 2023 for U.S. Appl. No. 17/504,351. [cited by applicant]
“PCI Express® Base Specification Revision 4.0 Version 1.0”, PCI Express, Sep. 27, 2017. [cited by applicant]
Notice of Allawance dated Mar. 7, 2024 for U.S. Appl. No. 17/504,351. [cited by applicant]
“Virtual Function Number Assignment”, An IP.com Prior Art Database Technical Disclosure, Jul. 11, 2008, URL:https://priorart.ip.com/IPCOM/000172526. [cited by applicant]
Office Action dated Jul. 30, 2024 for the U.S. Appl. No. 18/406,919. [cited by applicant]
Jose Fernando Zazo et al., “A PCle OMA engine to support the virtualization of 40 Gbps FPGA-accelerated network appliances,” IFEE, Dec. 7, 2015. [cited by applicant]
Office Action dated Nov. 27, 2024 for U.S. Appl. No. 18/659,773. [cited by applicant]