IP Library Granted Patent US 9,336,173
Granted Patent B1
US 9,336,173 · App. 14/136,476 · Granted May 10, 2016

Method and switch for transferring transactions between switch domains

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,336,173
App. No.
14/136,476
Granted
May 10, 2016
Kind
B1
Abstract

The disclosure generally relates to a PCIe switch that includes a selectively transparent bridge that selectively allows transactions to traverse between multiple PCIe domains without the encumbrance of each root complex entity requiring knowledge of the selectively transparent bridge. The bridge that enables the transactions is invisible to the root complex entity in a host and drive switch domain of the PCIe switch. No address translation of the transactions is required because the drive switch domain address map is a subset of the host switch domain address map. The bridge allows for extremely low latency transactions between host systems and storage drives because the bridge allows the storage drive to read the Direct Memory Access (DMA) Scatter-Gather List (SGL) directly from host memory. The bridge also allows I/O data reads and writes from the storage drive directly to the host memory without store and forward within a RAID controller's memory.

Claims (30)

1. A method of communicating transactions in a peripheral component interconnect express (PCIe) switch, the method comprising:

receiving, at the PCIe switch having a drive switch domain and a host switch domain, a request transaction originating in the drive switch domain, the request transaction having a destination address, the PCIe switch comprising a host domain address map associated with the host switch domain and a drive domain address map associated with the drive switch domain, the drive domain address map being a subset of the host domain address map;

comparing the destination address of the request transaction with Endpoint Base Address Registers (EP BARs) and a Root Complex Base Address Register (RC BAR) in the drive domain address map;

determining that the destination address of the request transaction is absent from the drive domain address map when the destination address of the request transaction does not match one of EP BARs and the RC BAR;

in response to determining, at the PCIe switch, that the destination address of the request transaction is absent from the drive domain address map, transferring the request transaction directly from the drive switch domain, via a selectively transparent bridge within the PCIe switch, to the host switch domain.

2. The method of claim 1 , wherein transferring the request transaction comprises transferring the request transaction without changing the destination address of the request transaction.

3. The method of claim 1 , further comprising:

modifying the request transaction to appear to have originated from a device associated with a bus number within the host switch domain.

4. The method of claim 3 , wherein modifying the request transaction comprises modifying an endpoint requester identifier of the request transaction.

5. The method of claim 3 , wherein modifying the request transaction comprises modifying a transaction tag of the request transaction to ensure unique transaction tag values from different endpoints.

6. The method of claim 1 , further comprising:

receiving, at the PCIe switch, a completion transaction originating in the host switch domain; and

modifying, at the PCIe bridge, a completion transaction identifier of the completion transaction to match a request transaction identifier associated with the request transaction that resulted in the completion transaction.

7. A peripheral component interconnect express (PCIe) switch comprising:

a host switch domain addressable via a host domain address map, the host switch domain configured to communicate transactions with a host and a controller;

a drive switch domain addressable via a drive domain address map, the drive domain address map being a subset of the host domain address map, the drive switch domain configured to communicate transactions with endpoints and the controller; and

a selectively transparent bridge connected to the host switch domain and to the drive switch domain, the selectively transparent bridge configured to:

receive a request transaction originating in the drive switch domain, the transaction having a destination address;

compare the destination address of the request transaction with Endpoint Base Address Registers (EP BARs) and a Root Complex Base Address Register (RC BAR) allocated to the drive switch domain;

determine that the destination address of the request transaction is absent from the drive domain address map when the destination address of the request transaction does not match one of EP BARs and the RC BAR;

in response to a determination that the destination address of the request transaction is absent from the drive domain address map, transfer the request transaction directly from the drive switch domain to the host switch domain.

8. The PCIe switch of claim 7 , wherein the selectively transparent bridge is configured to transfer the destination address without translation directly from the drive switch domain to the host switch domain.

9. The PCIe switch of claim 7 , wherein the endpoints comprise PCIe endpoints and the PCIe endpoints are configured as a redundant array of independent disks (RAID), and the controller is a RAID controller.

10. The PCIe switch of claim 7 , wherein the selectively transparent bridge is further configured to:

modify the request transaction to appear to have originated from a device associated with a bus number within the host switch domain.

11. The PCIe switch of claim 10 , wherein the selectively transparent bridge is further configured to modify an endpoint requester identifier of the request transaction.

12. The PCIe of claim 10 , wherein the selectively transparent bridge is further configured to modify a transaction tag of the request transaction to ensure unique transaction tag values from different endpoints.

13. The PCIe switch of claim 7 , wherein the selectively transparent bridge is further configured to:

receive a completion transaction originating in the host switch domain; and

modify a completion transaction identifier of the completion transaction to match a request transaction identifier associated with a request transaction that resulted in the completion transaction.

Assignments (5)
RELEASE OF SECURITY INTEREST Recorded May 29, 2018
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: MICROSEMI STORAGE SOLUTIONS, INC.; MICROSEMI STORAGE SOLUTIONS (U.S.), INC.
Reel/Frame 046251/0271 →
CHANGE OF NAME Recorded Jun 16, 2017
From: MICROSEMI STORAGE SOLUTIONS (U.S.), INC.
To: MICROSEMI SOLUTIONS (U.S.), INC.
Reel/Frame 042836/0046 →
CHANGE OF NAME Recorded Mar 22, 2016
From: PMC-SIERRA US, INC.
To: MICROSEMI STORAGE SOLUTIONS (U.S.), INC.
Reel/Frame 038213/0291 →
PATENT SECURITY AGREEMENT Recorded Feb 3, 2016
From: MICROSEMI STORAGE SOLUTIONS, INC. (F/K/A PMC-SIERRA, INC.); MICROSEMI STORAGE SOLUTIONS (U.S.), INC. (F/K/A PMC-SIERRA US, INC.)
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 037689/0719 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 20, 2013
From: SODKE, RICHARD DAVID; TAN, KUAN HUA; WATSON, ROBERT KRISTIAN; CARR, LARRIE SIMON
To: PMC-SIERRA US, INC.
Reel/Frame 031830/0053 →