IP Library › Granted Patent US 9,501,441
Granted Patent B2
US 9,501,441 · App. 14/107,312 · Granted Nov 22, 2016

Mechanism to boot multiple hosts from a shared PCIe device

Inventors: Chandrashekar Nelogal (Round Rock, TX); William E. Lynn (Round Rock, TX)
Assignee: Dell Products, LP
G06F13/4022G06F8/665G06F9/4401
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,501,441
App. No.
14/107,312
Filed
Dec 16, 2013
Granted
Nov 22, 2016
Kind
B2
Art Unit
2184
USPC
710/108
Abstract

A PCIe switch including a memory and a processor. The processor is operable to receive a transaction from an information handling system to an endpoint device, determine that the transaction is a request to receive firmware code from the endpoint device, block the transaction from being issued to the endpoint device, and provide the firmware code to the information handling system from the memory.

Claims (59)

1. A Peripheral Component Interconnect-Express (PCIe) switch comprising:

a memory to store a first base address in an endpoint device, wherein the first base address points to a first location of firmware code in the endpoint device; and

a processor that:

receives a first transaction from a first information handling system to a physical function of an endpoint device;

determines that the first information handling system can not access firmware code from the endpoint device, based upon the first transaction being to the first physical function;

determines that the first transaction is a first request to receive the firmware code from the endpoint device, and that the first transaction is issued to the first base address;

blocks the first transaction from being issued to the endpoint device;

receives a second transaction from the first information handling system to the second base address; and

provides the firmware code to the first information handling system from the memory in response to the second transaction, wherein in providing the firmware code, the processor further provides a second base address to the first information handling system, wherein the second base address points to a second location of the firmware code in the memory.

2. The PCIe switch of claim 1 , wherein the first transaction is to a virtual function of the endpoint device.

3. The PCIe switch of claim 1 , wherein the processor further:

prior to receiving the first transaction, receives a second transaction from a second information handling system to the physical function of the endpoint device;

determines that the second transaction is a second request to receive the firmware code from the endpoint device;

receives a third transaction from the endpoint device, the third transaction including the firmware code; and

stores the firmware code in the memory.

4. The PCIe switch of claim 3 , wherein the processor further:

prior to receiving the third transaction, receives a fourth transaction from the endpoint device, the fourth transaction including a base address in the endpoint device, wherein the base address points to a location of the firmware code in the endpoint device; and

stores the base address in the memory.

5. The PCIe switch of claim 3 , wherein the second transaction is to a physical function of the endpoint device.

6. The PCIe switch of claim 1 , wherein:

the PCIe switch is a multi-root I/O virtualization switch; and

the endpoint device is a single-root I/O virtualization endpoint device.

7. A Peripheral Component Interconnect-Express (PCIe) switch comprising:

a memory; and

a processor that:

receives a first transaction from a first information handling system to a physical function of an endpoint device;

determines that the first information handling system can access firmware code from the endpoint device, based upon the first transaction being to the first physical function;

determines that the first transaction is a first request to receive firmware code from the endpoint device;

receives a second transaction from the endpoint device, the second transaction including the firmware code;

stores the firmware code in the memory;

receives a third transaction from the endpoint device, the third transaction including a first base address in the endpoint device, wherein the first base address points to a first location of the firmware code in the endpoint device;

stores the first base address in the memory;

receives a fourth transaction from a second information handling system to an endpoint device;

determines that the fourth transaction is a second request to receive firmware code from the endpoint device;

blocks the fourth transaction from being issued to the endpoint device; and

provides the firmware code to the second information handling system from the memory.

8. The PCIe switch of claim 7 , wherein the fourth transaction is to a virtual function of the endpoint device.

9. The PCIe switch of claim 7 , wherein in determining that the fourth transaction is a request to receive the firmware code from the endpoint device, the processor further determines that the fourth transaction is issued to the first base address.

10. The PCIe switch of claim 9 , wherein:

in providing the firmware code to the second information handling system, the processor further:

provides a second base address to the first information handling system, wherein the second base address points to a second location of the firmware code in the memory; and receives a fifth transaction from the first information handling system to the second base address; and

providing the firmware code to the second information handling system is in response to the fifth transaction.

11. The PCIe switch of claim 7 , wherein the first transaction is to a physical function of the endpoint device.

12. The PCIe switch of claim 7 , wherein:

the PCIe switch is a multi-root I/O virtualization switch; and

the endpoint device is a single-root I/O virtualization endpoint device.

13. A method comprising:

receiving, at a Peripheral Component Interconnect-Express (PCIe) switch, a first transaction from a first information handling system to a physical function of an endpoint device;

determining that the first information handling system can not access firmware code from the endpoint device, based upon the first transaction being to the first physical function;

determining that the first transaction is a first request to receive firmware code from the endpoint device, wherein the determining includes determining that the first transaction is issued to a first base address in the endpoint device, wherein the first base address points to a first location of the firmware code in the endpoint device;

blocking the first transaction from being issued to the endpoint device;

providing, in response to the second transaction, the firmware code to the first information handling system from a memory of the PCIe switch, wherein providing the firmware code includes:

providing a second base address to the first information handling system, wherein the second base address points to a second location of the firmware code in the memory; and

receiving a second transaction from the first information handling system to the second base address.

14. The method of claim 13 , further comprising:

prior to receiving the first transaction and the second transaction, receiving a third transaction from a second information handling system to the endpoint device;

determining that the third transaction is a second request to receive the firmware code from the endpoint device;

receiving a fourth transaction from the endpoint device, the fourth transaction including the firmware code; and

storing the firmware code in the memory.

Assignments (15)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (045455/0001) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061753/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (040136/0001) Recorded Apr 26, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061324/0001 →
RELEASE OF SECURITY INTEREST Recorded Nov 3, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL, L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058216/0001 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
SECURITY AGREEMENT Recorded Mar 21, 2019
From: CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 049452/0223 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040134/0001 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 040136/0001 →
RELEASE OF SECURITY INTEREST OF REEL 032809 FRAME 0930 (TL) Recorded Sep 14, 2016
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: DELL SOFTWARE INC.; DELL PRODUCTS L.P.; CREDANT TECHNOLOGIES, INC.; COMPELLENT TECHNOLOGIES, INC.; FORCE10 NETWORKS, INC.; SECUREWORKS, INC.
Reel/Frame 040045/0255 →
RELEASE OF REEL 032810 FRAME 0206 (NOTE) Recorded Sep 14, 2016
From: BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: DELL SOFTWARE INC.; DELL PRODUCTS L.P.; CREDANT TECHNOLOGIES, INC.; COMPELLENT TECHNOLOGIES, INC.; FORCE10 NETWORKS, INC.; SECUREWORKS, INC.
Reel/Frame 040027/0204 →
RELEASE OF REEL 032809 FRAME 0887 (ABL) Recorded Sep 13, 2016
From: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
To: DELL SOFTWARE INC.; DELL PRODUCTS L.P.; CREDANT TECHNOLOGIES, INC.; COMPELLENT TECHNOLOGIES, INC.; FORCE10 NETWORKS, INC.; SECUREWORKS, INC.
Reel/Frame 040017/0314 →
SUPPLEMENT TO PATENT SECURITY AGREEMENT (TERM LOAN) Recorded May 1, 2014
From: COMPELLENT TECHNOLOGIES, INC.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; SECUREWORKS, INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 032809/0930 →
SUPPLEMENT TO PATENT SECURITY AGREEMENT (NOTES) Recorded May 1, 2014
From: COMPELLENT TECHNOLOGIES, INC.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; SECUREWORKS, INC.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 032810/0206 →
SUPPLEMENT TO PATENT SECURITY AGREEMENT (ABL) Recorded May 1, 2014
From: COMPELLENT TECHNOLOGIES, INC.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; SECUREWORKS, INC.
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 032809/0887 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 14, 2014
From: NELOGAL, CHANDRASHEKAR; LYNN, WILLIAM E.
To: DELL PRODUCTS, LP
Reel/Frame 032220/0396 →
Continuity (1)
Related Publication 20150169331A1 · Jun 18, 2015