IP Library Granted Patent US 8,806,098
Granted Patent B1
US 8,806,098 · App. 13/856,395 · Granted Aug 12, 2014

Multi root shared peripheral component interconnect express (PCIe) end point

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,806,098
App. No.
13/856,395
Granted
Aug 12, 2014
Kind
B1
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 (38)

1. A method of accessing a server address space in a shared Peripheral Component Interconnect express (PCIe end point system comprising:

initiating a memory access to at least one primary port memory map by a shared PCIe endpoint, the shared PCIe endpoint having a shared device, the shared PCIe endpoint coupled to a PCIe switch, the PCIe switch including a transport port, a PCIe bus coupling a microprocessor to the transparent port, the PCIe switch further including a primary address translation table, a server address space having associated therewith a server address;

using the microprocessor, programming in the primary address translation table with the server address, the microprocessor being a part of a shared PCIe endpoint; and

using the PCIe switch, re-directing the memory accesses, directed to the at least one primary port memory map, to the server address space according to the primary address translation table.

2. The method of accessing of claim 1 , wherein the programming step is performed dynamically.

3. The method of accessing of claim 2 , memory map wherein the shared device is a storage device.

4. A shared Peripheral Component Interconnect express (PCIe) end point system comprising:

a shared PCIe end point including a microprocessor and a shared device, the shared PCIe end point operable to initiate memory access to at least one primary port memory map;

and

a PCIe switch coupled to the microprocessor and including a transparent port, a PCIe bus coupling the microprocessor to the transport port, the PCIe switch primary port that includes a primary address translation table, a server address space having a server address, the microprocessor being operable to program the primary address translation table with the server address,

wherein accesses directed to the at least one primary port memory map are re-directed to the server address space according to the primary address translation table.

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

6. The shared PCIe end point system of claim 4 , wherein the shared PCIe endpoint is coupled to a plurality of servers and each of the plurality of servers has an associated and distinct primary port memory map.

7. The shared PCIe end point system of claim 5 , wherein the PCIe end point includes a multi-channel DMA device.

8. The shared PCIe end point system of claim 7 , wherein the multi-channel DMA device is operable to perform accesses to the primary port memory.

9. The shared PCIe end point system of claim 8 , wherein the micro-processor is operable to program the primary address translation table dynamically.

10. The shared PCIe end point system of claim 8 , wherein the micro-processor is operable to program a source or a destination of the multi-channel DMA device.

11. The shared PCIe end point system of claim 8 , wherein the micro-processor is operable to program a source or a destination of a channel of the multi-channel DMA device.

12. The shared PCIe end point system of claim 6 , wherein each of the plurality of servers has an associated and distinct server address space.

13. The shared PCIe end point system of claim 12 , wherein the shared PCIe end point is shared across the plurality of the servers.

14. A system coupled to a plurality of servers, each of the plurality of servers having a server address space, the server address space having associated therewith a server address, the system comprising:

a shared PCIe end point, including a microprocessor, a shared device, and at least one primary port memory map;

a Peripheral Component Interconnect express (PCIe) switch including a transparent port;

a PCIe bus coupling the microprocessor to the transparent port, the PCIe switch having a primary port, the primary port including a primary address translation table, the microprocessor being operable to program the primary address translation table with the server address,

wherein accesses directed to the primary port memory map are re-directed to the server address space according to the primary address translation table.

15. The system of claim 13 , wherein the shared PCIe end point is shared across the plurality of the servers.

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

17. The system of claim 16 , wherein the storage device includes a storage array.

18. The system of claim 17 , wherein shared PCIe end point includes a multi-channel DMA device.

19. The system of claim 18 , wherein the multi-channel DMA device is operable to perform accesses to the primary port memory.

20. A method of sharing a PCIe end point across a plurality of servers, each of the plurality of servers having a server address space, the server address space having associated therewith a server address, the method comprising:

initiating a memory access to at least one primary port map by a shared PCIe end point, the shared PCIe end point including a microprocessor and a shared device, the shared PCIe end point coupled to a PCIe switch, the PCIe switch including a transparent port, a PCIe bus coupling the microprocessor to the transparent port, the PCIe switch further including a primary port, the primary port including a primary address translation table;

programming the primary address translation table with the server address; and

re-directing accesses directed to the primary port memory map to the server address space according to the primary address translation table.

21. The method of claim 20 , wherein the shared PCIe end point is a shared storage device.

22. The method of claim 21 , wherein the storage device includes a storage array.

23. The system of claim 22 , wherein the shared PCIe end point includes a multi-channel DMA device.

24. The system of claim 23 , wherein the multi-channel DMA device is operable to perform accesses to the primary port memory.

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 Apr 3, 2013
From: MANDAPURAM, ANILKUMAR; NEMAZIE, SIAMACK
To: AVALANCHE TECHNOLOGY, INC.
Reel/Frame 030146/0818 →