IP Library Granted Patent US 8,291,146
Granted Patent B2
US 8,291,146 · App. 12/836,731 · Granted Oct 16, 2012

System and method for accessing resources of a PCI express compliant device

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 8,291,146
App. No.
12/836,731
Granted
Oct 16, 2012
Kind
B2
Abstract

A system and method using messages to access registers and memory in a PCI Express communications link environment. Vendor defined PCI Express messages can be used to read and write to the memory-mapped or register space of a device. Four types of accesses are defined using this messaging approach, namely memory read, memory write, configuration read and configuration write. The type of register access desired is defined by the appropriate value in a vendor-specific type field in the header of the vendor defined message. If a PCI Express compliant device at the other end of the PCI Express link does not support these types of messages, the messages are silently discarded by the receiver and no error is reported.

Claims (28)

1. A method for accessing a functional space of a destination using a message originating from a source, comprising:

forming the message at the source, wherein the message is a vendor-defined message based on an indication provided in a vendor-specific type field defined in an associated message standard, and the message includes an access type value associated with an access and a destination offset value associated with the functional space; and

sending the message to the destination.

2. The method according to claim 1 , wherein the message is a PCI Express message.

3. The method according to claim 1 , wherein the access is one of a memory read operation, a memory write operation, a configuration read operation, a configuration write operation and a completion operation.

4. The method according to claim 1 , wherein the message further includes a data value and the access is one of a memory write operation, a configuration write operation and a completion operation.

5. The method according to claim 1 , wherein the functional space is one of a memory location and a register location.

6. The method according to claim 1 , wherein the forming and the sending are performed when an enablement location associated with the source is set to a value indicating messaging enablement.

7. The method according to claim 1 , further comprising:

indicating the message has been successfully sent by setting a status location associated with the source to a predetermined value.

8. The method according to claim 1 , further comprising:

indicating the message has been successfully sent by noting an availability of data to be read.

9. The method according to claim 1 , wherein the forming and the sending are performed after verifying a prior message formation at the source has completed.

10. The method according to claim 1 , wherein the forming a message further includes a route value set to a predetermined routing value associated with a single-step propagation.

11. The method according to claim 1 , wherein the forming a message further includes a route value set to a predetermined routing value associated with a multi-step propagation.

12. A method for accessing a functional space of a destination using a message originating from a source, comprising:

receiving the message at the destination, wherein the message is a vendor-defined message based on an indication provided in a vendor-specific type field defined in an associated message standard, and the message includes an access type value associated with an access and a destination offset value associated with the functional space; and

performing the access at the functional space based on the destination offset value and the access type value.

13. The method according to claim 12 , wherein the message is a PCI Express message.

14. The method according to claim 12 , wherein the access is one of a memory read operation, a memory write operation, a configuration read operation, a configuration write operation and a completion operation.

15. The method according to claim 12 , wherein the message further includes a data value and the access is one of a memory write operation, a configuration write operation and a completion operation.

16. The method according to claim 12 , wherein the functional space is one of a memory location and a register location.

17. The method according to claim 12 , wherein the performing the access occurs when a register value at the destination is set to a predetermined value indicating message enablement.

18. An apparatus for accessing a functional space of a destination using a message originating from a source, comprising:

a digital device configured to form the message at the source, wherein the message is a vendor-defined message based on an indication provided in a vendor-specific type field defined in an associated message standard, and the message includes an access type value associated with the accessing and a destination offset value associated with the functional space of the destination.

19. An apparatus for accessing a functional space of a destination using a message originating from a source, comprising:

a digital device configured to receive the message at the destination, wherein the message is a vendor-defined message based on an indication provided in a vendor-specific type field defined in an associated message standard, and the message includes an access type value associated with the accessing and a destination offset value associated with the functional space of the destination,

wherein the digital device is further configured to access the functional space based on the destination offset value and the access type value.

Assignments (5)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 8, 2025
From: ONESTA IP LLC
To: MAGNUSON RESEARCH LLC
Reel/Frame 071352/0575 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 11, 2025
From: ATI TECHNOLOGIES ULC
To: ONESTA IP, LLC
Reel/Frame 070816/0121 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 18, 2024
From: ADVANCED MICRO DEVICES, INC.
To: ONESTA IP, LLC
Reel/Frame 069381/0951 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 2, 2010
From: CARUK, GORDON F.
To: ATI TECHNOLOGIES ULC
Reel/Frame 025232/0860 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 2, 2010
From: LUK, BETTY
To: ADVANCED MICRO DEVICES, INC.
Reel/Frame 025232/0971 →