IP Library Granted Patent US 12,455,850
Granted Patent B2
US 12,455,850 · App. 15/718,110 · Granted Oct 28, 2025

Root complex integrated endpoint emulation of a discreet PCIE endpoint

Inventors: Eng Hun Ooi (Georgetown, MY); Su Wei Lim (Penang, MY); Kuan Hua Tan (Coquitlam, CA); Prashanth Kalluraya (Sunnyvale, CA)
G06F13/4282G06F30/20G06F30/33G06F30/331G06F2115/02G06F2213/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,455,850
App. No.
15/718,110
Granted
Oct 28, 2025
Kind
B2
Abstract

Aspects of the embodiments are directed to systems and methods for emulating a PCIe root complex integrated endpoint. The systems and methods can include hardware logic implemented in a root complex system-on-chip and/or a connected device. The hardware can receive a request message to access one or more registers of a hardware device; determine that the request message includes a request to access one or more Peripheral Component Interconnect Express (PCIe)-specific registers; and respond to the request message without providing information associated with the one or more PCIe-specific registers.

Claims (62)

1. An apparatus implemented at least partially in hardware, the apparatus comprising hardware logic to:

receive a request message to access one or more registers of a hardware device;

determine that the request message includes a request to access one or more Peripheral Component Interconnect Express (PCIe)-specific registers comprising a PCIe Capabilities Register or a PCIe Extended Capabilities register; and

respond to the request message without providing information associated with the one or more PCIe-specific registers.

2. The apparatus of claim 1 , further comprising logic to:

determine that the request message comprises a read request to read one or more PCIe registers; and wherein the logic responds to the read request by transmitting bit strings without PCIe-specific register values.

3. The apparatus of claim 1 , further comprising logic to:

determine that the request message comprises a write request to write to one or more PCIe-specific registers; and wherein the logic drops the write request.

4. The apparatus of claim 1 , further comprising logic to:

receive from an endpoint device a response message responding to the request message;

determine that the response message include PCIe-specific information; and

modify or drop the PCIe-specific information before transmitting the response message.

5. The apparatus of claim 1 , further comprising logic to:

receive from an endpoint device a PCIe-specific message; and

reroute the PCIe-specific message to an event handler.

6. The apparatus of claim 5 , wherein the PCIe-specific message comprises a PCIe error message, and the logic is to forward the PCIe error message to a PCIe error handler.

7. The apparatus of claim 1 , further comprising logic to:

determine that the request message includes a request to access PCIe-specific registers of an endpoint device and a request to access non-PCIe-specific registers of the endpoint device;

transmit the request message to access the non-PCIe-specific registers to the endpoint device; and

hide the PCIe-specific registers.

8. The apparatus of claim 1 , wherein the apparatus resides upstream of a PCIe-compliant root complex.

9. The apparatus of claim 1 , wherein the apparatus resides on a PCIe-compliant endpoint device.

10. The apparatus of claim 1 , wherein the PCIe-specific registers are registers associated with one or more of a PCIe-compliant root complex, a PCIe-compliant root complex controller, or a PCIe port.

11. A method performed by an emulation hardware element, the method comprising:

receiving a request message to access one or more registers of a hardware device;

determining that the request message includes a request to access one or more Peripheral Component Interconnect Express (PCIe)-specific registers comprising a PCIe Capabilities Register or a PCIe Extended Capabilities register; and

responding to the request message without providing information associated with the one or more PCIe-specific registers.

12. The method of claim 11 , further comprising:

determining that the request message comprises a read request to read one or more PCIe registers; and transmitting bit strings without register-specific values.

13. The method of claim 11 , further comprising:

determining that the request message comprises a write request to write to one or more PCIe registers; and dropping the write request.

14. The method of claim 11 , further comprising:

receiving from an endpoint device a response message responding to the request message;

determining that the response message include PCIe-specific information; and

modifying or dropping the PCIe-specific information before transmitting the response message.

15. The method of claim 11 , further comprising:

receiving from an endpoint device a PCIe-specific message; and

rerouting the PCIe-specific message to an event handler.

16. The method of claim 15 , wherein the PCIe-specific message comprises a PCIe error message, and the method further comprises forwarding the PCIe error message to a PCIe error handler.

17. The method of claim 11 , further comprising:

determining that the request message includes a request to access PCIe-specific registers of an endpoint device and a request to access non-PCIe-specific registers of the endpoint device;

transmitting the request message to access the non-PCIe-specific registers to the endpoint device; and

forgo transmitting the request to access the PCIe-specific registers.

18. The method of claim 11 , further comprising generating a type 0 configuration register access message, the type 0 configuration configured for a discreet endpoint device; and forwarding the type 0 configuration register to the discreet endpoint device across a PCIe-compliant link.

19. A host system comprising:

a processor running an operating system;

a Peripheral Component Interconnect Express (PCIe)-compliant root complex; and

emulation hardware comprising logic to:

receive a register access request message from the operating system;

determine one or more PCIe-specific registers in the request message, the PCIe-specific registers comprising a PCIe Capabilities Register or a PCIe Extended Capabilities register; and

hide the PCIe-specific registers from the operating system.

20. The host system of claim 19 , further comprising a PCIe-compliant port, the emulation hardware comprising logic to hide PCIe-specific registers associated with the PCIe-compliant port from the operating system.

21. The host system of claim 19 , further comprising a PCIe-compliant endpoint device, wherein the emulation hardware comprises logic to hide PCIe-specific registers associated with the PCIe-compliant endpoint device from the operating system.

22. The host system of claim 19 , wherein the emulation hardware comprises logic to hide PCIe-specific registers based on a type of register access identified from the register access request message.

23. The host system of claim 22 , wherein the emulation hardware comprises logic to drop write requests to PCIe-specific registers received from the operating system and provide null data in response to read requests to PCIe-specific registers received from the operating system.

24. The host system of claim 22 , wherein the emulation hardware comprises logic to modify PCIe-specific register information received in response to a register access request message by creating modified register information that is not compliant with a PCIe protocol; and transmit the modified register information to the operating system.

25. The host system of claim 19 , further comprising a PCIe-compliant event handler implemented at least partially in hardware, and wherein:

the emulation hardware comprises logic to:

receive one or more PCIe-specific messages from a PCIe-compliant connected device; and

reroute the one or more PCIe-specific messages to the PCIe-compliant event handler.

26. The apparatus of claim 1 , wherein the PCIe-specific registers comprise a Device/Port Type register.

27. The apparatus of claim 1 , wherein the PCIe-specific registers comprise a link-related register, a link power management related register, or a multi-function virtual channel capability register.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 11, 2025
From: INTEL CORPORATION
To: SK HYNIX NAND PRODUCT SOLUTIONS CORP. (DBA SOLIDIGM)
Reel/Frame 072549/0289 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 23, 2018
From: OOI, ENG HUN; LIM, SU WEI; TAN, KUAN HUA; KALLURAYA, PRASHANTH
To: INTEL CORPORATION
Reel/Frame 046428/0423 →
Continuity (1)
Related Publication 20190095554A1 · Mar 28, 2019
References Cited (18)
US 9842075B1 · Davis · 2017 [cited by examiner]
US 20070130453A1 · Lewites · 2007 [cited by examiner]
US 20110246686A1 · Cavanagh, Jr. · 2011 [cited by examiner]
US 20130007332A1 · Teh · 2013 [cited by examiner]
US 20140289436A1 · Lewis · 2014 [cited by examiner]
US 20140372641A1 · Hearn · 2014 [cited by examiner]
US 20140372657A1 · Jones et al. · 2014 [cited by applicant]
US 20140372741A1 · Gardiner et al. · 2014 [cited by applicant]
US 20160098365A1 · Bshara · 2016 [cited by examiner]
US 20180060080A1 · Spottswood · 2018 [cited by examiner]
US 20190095554A1 · Ooi · 2019 [cited by examiner]
CN 104471553A · 2015 [cited by applicant]
CN 105988877A · 2016 [cited by applicant]
CN 106796556A · 2017 [cited by applicant]
Sam Fleming, Accessing PCI Express* Configuration Registers using intel chipsets, Dec. 2008, Intel Corporation. [cited by examiner]
CNIPA Office Action in Chinese Patent Application No. 201810988355.4 mailed on Jul. 10, 2024 with English translation (11 pages). [cited by applicant]
Chinese Office Action received in Application No. 201810988355.4, dated Sep. 26, 2024, with English translation, 9 pages. [cited by applicant]
China Patent Office First Office Action in Chinese Application Serial No. 201810988355.4 mailed on Dec. 29, 2023 with english translation (24 pages). [cited by applicant]