IP Library › Granted Patent US 12,292,849
Granted Patent B2
US 12,292,849 · App. 18/406,919 · Granted May 6, 2025

PCIe device

Inventors: Yong Tae Jeon (Icheon, KR); Byung Cheol Kang (Icheon, KR); Seung Duk Cho (Icheon, KR); Sang Hyun Yoon (Icheon, KR); Se Hyeon Han (Icheon, KR); Jae Young Jang (Icheon, KR)
Assignee: SK hynix Inc.
G06F13/4221G06F1/08G06F7/588G06F13/4045
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,292,849
App. No.
18/406,919
Granted
May 6, 2025
Kind
B2
Abstract

A peripheral component interconnect express (PCIe) device includes a common function performing operations associated with a PCIe interface according to a function type, the common function being programmable to be a function type selected from a plurality function types, an access identification information controller generating first access identification information for allowing an access to the common function, and providing the first access identification information to an assigned system image to which the common function has been assigned, a data packet receiver receiving a data packet including target identification information indicating a target system image from the target system image, and an access allowance determiner determining whether or not to allow the target system image to access the common function based on the first access identification information and the target identification information.

Claims (23)

1. A method for operating a Peripheral Component Interconnect Express (PCIe) device including a plurality of common functions performing operations associated with a PCIe interface, the method comprising:

receiving function type setting information from a host;

changing function types of at least one of the plurality of common functions based on the function type setting information as one of a plurality of function types including a physical function (PF) type, a virtual function (VF) type, and a disable function type in which the operations are disabled;

controlling the plurality of common functions according to the function types to perform the operations, and

providing the host with PCIe device completion information according to an operation mode of a common function among the plurality of common functions.

2. The method of claim 1 , wherein controlling the plurality of common functions according to the function types, respectively, comprises changing values of registers included in respective configuration spaces of the plurality of common functions based on the function type setting information.

3. The method of claim 2 , wherein controlling the plurality of common functions comprises controlling a first common function determined as the physical function type among the plurality of common functions to perform the operations based on registers corresponding to the operations, the registers included in the configuration space of the first common function.

4. The method of claim 2 , wherein controlling the plurality of common functions comprises controlling a second common function determined as the virtual function type among the plurality of common functions to perform the operations based on registers corresponding to the operations that are included in the configuration space of a function associated with the second common function.

5. The method of claim 2 , wherein controlling the plurality of common functions comprises disabling registers included in a configuration space of a third common function determined as the disable function type among the plurality of common functions.

6. The method of claim 1 , wherein further comprises receiving function mode control information indicating an operation mode of the at least one of the plurality of common functions from the host.

7. The method of claim 6 , wherein receiving the function mode control information comprises receiving the function mode control information through a common function determined as the physical function type.

8. The method of claim 6 , wherein receiving the function mode control information comprises receiving the function mode control information 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.

9. The method of claim 1 , wherein the common function is determined as the virtual function type.

10. The method of claim 1 , wherein providing the host with the PCIe device completion information comprises providing the host with Unsupported Request (UR) information when the common function is set to an inactive mode.

11. The method of claim 1 , wherein providing the host with the PCIe device completion information comprises providing the host with Successful Completion (SC) information when the common function is set to an active mode.

12. The method of claim 1 , wherein providing the host with the PCIe device completion information comprises providing the host with Configuration Request Retry Status (CRS) information when the common function is not set to an active mode.

13. The method of claim 1 , wherein providing the host with the PCIe device completion information comprises providing the host with Configuration Request Retry Status (CRS) information when the PCIe device receives a request from the host while the common function is being set to an active mode or is being set to an inactive mode.

14. The method of claim 1 , wherein changing the function types of the at least one of the plurality of common functions comprises changing the function types of at least some of the plurality of common functions, respectively, based on the function type setting information, each function type being one of the PF type, the VF type and the disable function type.

15. The method of claim 1 , wherein changing the function types of the at least one of the plurality of common functions comprises changing a function type of the common function from among the plurality of function types by changing values of registers included in configuration space of the common function based on the function type setting information.

16. The method of claim 1 , wherein changing the function types of the at least one of the plurality of common functions comprises changing a function type of the common function as being one of the PF type, the VF type and the disable function type.

17. The method of claim 1 , wherein changing the function types of the at least one of the plurality of common functions comprises enabling capabilities associated with a function type determined for the common function based on pointer values indicating capabilities to be enabled among values of registers.

18. The method of claim 1 , wherein changing the function types of the at least one of the plurality of common functions comprises disabling registers included in configuration space of the common function when the common function is changed to be the disable function type.

19. The method of claim 1 , wherein changing the function types of the at least one of the plurality of common functions comprises performing clock gating on register when the common function is changed to be the disable function type.

Priority Claims (3)
KR 10-2021-0048063 · Apr 13, 2021 · national
KR 10-2021-0048073 · Apr 13, 2021 · national
KR 10-2021-0048077 · Apr 13, 2021 · national
Continuity (2)
Continuation 17506610 · Oct 20, 2021
Related Publication 20240168911A1 · May 23, 2024
References Cited (47)
US 6647434B1 · Kamepalli · 2003 [cited by applicant]
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 20080147943A1 · Freimuth et al. · 2008 [cited by applicant]
US 20100115174A1 · Akyol et al. · 2010 [cited by applicant]
US 20110106981A1 · Watkins et al. · 2011 [cited by applicant]
US 20120131232A1 · Brownlow et al. · 2012 [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 et al. · 2019 [cited by applicant]
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 et al. · 2021 [cited by applicant]
US 20210247935A1 · Beygi et al. · 2021 [cited by applicant]
US 20220188073A1 · Bowman et al. · 2022 [cited by applicant]
US 20220300442A1 · Jeon · 2022 [cited by examiner]
US 20220300448A1 · Jeon · 2022 [cited by examiner]
US 20220327080A1 · Jeon · 2022 [cited by examiner]
US 20220327081A1 · Jeon · 2022 [cited by examiner]
US 20220327082A1 · Jeon et al. · 2022 [cited by applicant]
US 20220327228A1 · Jeon · 2022 [cited by examiner]
CN 108028813A · 2018 [cited by applicant]
JP 2010016819A · 2010 [cited by applicant]
KR 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]
“A PCIe DMA engine to support the virtualization of 40 Gbps FPGA-accelerated network appliances”—by Jose Fernando Zazo, Sergio Lopez-Buedo, Yury Audzevich, and Andrew W. Moore; Dated Dec. 7, 2015; 6 Pages (Year: 2015). [cited by examiner]
“PCI Express® Base Specification Revision 4.0 Version 1.0”, PCI Express, Sep. 27, 2017. [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]
PCIe Express, PCI Express Base Specification 3.0, Nov. 10, 2010, pp. 1-4, 97-122 (Year: 2010). [cited by applicant]
Final Office Action dated Sep. 14, 2023 for U.S. Appl. No. 17/504,351. [cited by applicant]
Office Action dated Jan. 18, 2024 for the U.S. Appl. No. 17/504,346. [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 Nov. 27, 2024 for U.S. Appl. No. 18/659,773. [cited by applicant]
Final Office Action issued for U.S. Appl. No. 18/659,773, dated Mar. 17, 2025. [cited by applicant]