IP Library Granted Patent US 9,824,050
Granted Patent B2
US 9,824,050 · App. 14/948,187 · Granted Nov 21, 2017

Shared PCIe end point system including a PCIe switch and method for initializing the switch

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 9,824,050
App. No.
14/948,187
Granted
Nov 21, 2017
Kind
B2
Abstract

A method of accessing a server address space of a shared PCIe end point system includes programming a primary address translation table with a server address of a server address space, setting up a direct memory access (DMA) to access a primary port memory map, the primary port memory map correlating with addresses in the primary address translation table, and re-directing the direct memory accesses to the primary port memory map to the server address space according to the primary address translation table.

Claims (21)

1. A shared PCIe end point system comprising:

a PCIe switch including a plurality of non-transparent (NT) ports, each of the plurality of NT ports having a secondary port configured as an end point;

at least one server having a server address space associated therewith, the at least one server coupled to one of the plurality of NT ports, the server address space including a secondary port memory map;

a microprocessor with an associated microprocessor address space; and

a PCIe configuration register initialized as a PCIe bridge port,

wherein an end point memory offset is used to redirect accesses that are directed to the secondary port memory map from the at least one server to an end point memory map within the microprocessor address space.

2. The shared PCIe end point system of claim 1 , wherein the secondary port includes a plurality of PCIe configuration registers, further wherein the PCIe switch is operable to send an interrupt message to the microprocessor, the interrupt message being indicative of changes to the plurality of PCIe configuration registers of the secondary port.

3. The shared PCIe end point system of claim 1 , further including a shared PCIe end point, the shared PCIe end point including the microprocessor and further including a shared device.

4. The shared PCIe end point system of claim 1 , wherein the secondary port includes a secondary address translation register.

5. The shared PCIe end point system of claim 2 , further including a PCIe bus, wherein the PCIe switch includes a transparent port, further wherein the PCIe bus couples the microprocessor to the transparent port of the PCIe switch.

6. The shared PCIe end point system of claim 2 , wherein the microprocessor is operable to read the plurality of PCIe configuration registers in response to the interrupt message.

7. The shared PCIe end point system of 5 , further including a shared PCIe end point, the shared PCIe end point including the microprocessor and further including a shared device.

8. The shared PCIe end point system of claim 7 , wherein the shared device is a shared storage device.

9. The shared PCIe end point system of claim 8 , wherein the secondary port includes a secondary address translation register.

10. The shared PCIe end point system of claim 8 , wherein the microprocessor is operable to read the plurality of PCIe configuration registers in response to the interrupt message.

11. A method of initializing a secondary port configuration register of a nontransparent (NT) port of a PCIe switch, the initializing method using a server address space associated with at least one server including a secondary port memory map, the method comprising:

using a microprocessor coupled to the PCIe switch and having associated therewith a microprocessor address space; and

programming a secondary address translation register with an end point memory offset to redirect all accesses that are directed to the secondary port memory map within the server address space from the at least one server to an end point memory map within the microprocessor address space.

12. The method of claim 11 , further including initializing a PCIe configuration register of a secondary port as a PCIe endpoint and initializing a PCIe configuration register of a primary port as a PCIe bridge port.

13. The method of claim 11 , further including sending an interrupt message to the microprocessor, the interrupt message being indicative of changes to a plurality of PCIe configuration registers of a secondary port, the microprocessor being coupled to the PCIe switch through a PCIe bus.

14. The method of claim 13 , further including the microprocessor reading the plurality of PCIe configuration registers in response to the interrupt message.

Assignments (7)
SECURITY INTEREST Recorded Mar 18, 2022
From: AVALANCHE TECHNOLOGY, INC.
To: STRUCTURED ALPHA LP
Reel/Frame 059436/0203 →
SECURITY INTEREST Recorded Apr 19, 2021
From: AVALANCHE TECHNOLOGY, INC.
To: STRUCTURED ALPHA LP
Reel/Frame 057213/0050 →
SECURITY INTEREST Recorded Apr 19, 2021
From: AVALANCHE TECHNOLOGY, INC.
To: STRUCTURED ALPHA LP
Reel/Frame 057217/0674 →
SECURITY INTEREST Recorded Jul 8, 2020
From: AVALANCHE TECHNOLOGY, INC.
To: SILICON VALLEY BANK
Reel/Frame 053156/0223 →
SECURITY INTEREST Recorded Feb 13, 2020
From: AVALANCHE TECHNOLOGY, INC.
To: STRUCTURED ALPHA LP
Reel/Frame 051930/0396 →
SECURITY INTEREST Recorded Apr 18, 2017
From: AVALANCHE TECHNOLOGY, INC.
To: STRUCTURED ALPHA LP
Reel/Frame 042273/0813 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 20, 2015
From: MANDAPURAM, ANILKUMAR; NEMAZIE, SIAMACK
To: AVALANCHE TECHNOLOGY, INC.
Reel/Frame 037107/0623 →