IP Library Granted Patent US 9,804,877
Granted Patent B2
US 9,804,877 · App. 14/487,210 · Granted Oct 31, 2017

Reset of single root PCI manager and physical functions within a fabric

Inventors: James R Hunter (Malvern, PA); Sung V Huynh (Malvern, PA); Edward T Cavanagh (Malvern, PA); John A Landis (Malvern, PA)
Assignee: Unisys Corporation
G06F9/45558G06F13/28G06F13/4221G06F9/5077G06F2009/45579G06F2009/45583G06F2213/0026
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,804,877
App. No.
14/487,210
Granted
Oct 31, 2017
Kind
B2
Abstract

Methods and systems for managing reset of a physical function of an I/O device in a computing system are disclosed, where the physical function is included in a single-root PCI manager. One method includes maintaining a count of active virtual functions associated with the physical function included in the single-root PCI manager, and, upon determining that no active virtual functions are associated with the physical function, allowing the physical function to be reset within the single-root PCI manager. The method further includes while resetting the physical function, persisting a configuration memory space associated with the physical function, and associating the persisted configuration memory space with the physical function after the physical function is reset.

Claims (29)

1. A method of managing reset of a physical function of an input/output (“I/O”) device in a computing system, the physical function included in a single-root Peripheral Component Interconnect (“PCI”) manager, the method comprising:

maintaining a count of active virtual functions associated with the physical function included in the single-root PCI manager,

upon determining, at a first time, that the single-root PCI manager is to be reset and that the physical function is associated with at least one active virtual function, resetting the single-root PCI manager without resetting the physical function;

upon determining, at a second time, that no active virtual functions are associated with the physical function, allowing the physical function to be reset within the single-root PCI manager;

while resetting the physical function, persisting a configuration memory space associated with the physical function; and

associating the persisted configuration memory space with the physical function after the physical function is reset;

wherein resetting the single-root PCI manager at the first time occurs prior to resetting the physical function at the second time.

2. The method of claim 1 , wherein the configuration memory space comprises Enhanced Configuration Access Mechanism (“ECAM”) configuration space.

3. The method of claim 1 , wherein persisting the configuration memory space is performed by a trusted control block separate from the single-root PCI manager.

4. The method of claim 3 , wherein the single-root PCI manager resides within an interconnect service partition separate from the trusted control block.

5. The method of claim 4 , wherein the active virtual functions reside within corresponding partitions within a multi-partition virtualization system of the computing system.

6. The method of claim 5 , wherein the corresponding partitions comprise at least one of a guest partition and an I/O service partition.

7. A method of managing reset of a single-root PCI manager that includes at least one physical function of an I/O device in a computing system, the method comprising:

determining whether a physical function included within the single-root PCI manager is associated with a virtual function;

upon determining that the physical function is associated with a virtual function, resetting the single-root PCI manager without resetting the physical function;

after resetting the single-root PCI manager, monitoring whether any active virtual functions are associated with the physical function; and

upon determining that no active virtual functions are associated with the physical function, resetting the physical function.

8. The method of claim 7 , wherein, during the resetting of the physical function, a configuration memory space associated with the physical function is maintained.

9. The method of claim 8 , further comprising restoring the configuration memory space for use with a reset physical function.

10. The method of claim 7 , wherein monitoring whether any active virtual functions are associated with the physical function includes maintaining a count of virtual functions associated with the physical function in a trusted control block separate from the single-root PCI manager.

11. The method of claim 7 , wherein the single-root PCI manager resides within an interconnect service partition of a multi-partition virtualization system implemented at least in part on the computing system.

12. A system for managing I/O operations in a multi-partition virtualization system implemented at least in part in a computing device, the system comprising:

a first partition within the multi-partition virtualization system, the first partition residing in a first memory location within the computing device and including a single-root PCI manager, the single-root PCI manager including a physical function associated with an I/O device;

a second partition within the multi-partition virtualization system, the second partition residing in a second memory location within the computing device and including a virtual function associated with the physical function; and

a trusted control block stored in a third memory location separate from each of the first and second partitions, the trusted control block allowing reset of the single-root PCI manager without allowing; reset of the physical function if the virtual function is active, the trusted control block including instructions which allow the physical function to be reset, after the single-root PCI manager is reset, upon determining that no active virtual functions are associated with the physical function;

wherein the trusted control block associates the configuration memory space with the reset physical function, thereby maintaining association between the physical function and the virtual function.

13. The system of claim 12 , wherein the trusted control block maintains a configuration memory space associated with the physical function that includes a number of virtual partitions associated with the physical function.

14. The system of claim 13 , wherein the configuration memory space comprises an ECAM control block associated with the physical function.

15. The system of claim 12 , wherein the first partition comprises an interconnect service partition and the second partition comprises at least one of a guest partition or an I/O service partition.

Assignments (9)
AMENDED AND RESTATED PATENT SECURITY AGREEMENT Recorded Jun 27, 2025
From: UNISYS CORPORATION; UNISYS HOLDING CORPORATION; UNISYS NPL, INC.; UNISYS AP INVESTMENT COMPANY I
To: COMPUTERSHARE TRUST COMPANY, N.A., AS COLLATERAL TRUSTEE
Reel/Frame 071759/0527 →
RELEASE OF SECURITY INTEREST Recorded Oct 28, 2020
From: WELLS FARGO BANK, NATIONAL ASSOCIATION
To: UNISYS CORPORATION
Reel/Frame 054231/0496 →
SECURITY INTEREST Recorded Jan 31, 2020
From: UNISYS CORPORATION
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 051682/0072 →
SECURITY INTEREST Recorded Sep 13, 2018
From: UNISYS CORPORATION
To: WELLS FARGO BANK NA
Reel/Frame 046861/0272 →
RELEASE OF SECURITY INTEREST Recorded Nov 9, 2017
From: WELLS FARGO BANK, NATIONAL ASSOCIATION (SUCCESSOR TO GENERAL ELECTRIC CAPITAL CORPORATION)
To: UNISYS CORPORATION
Reel/Frame 044416/0358 →
SECURITY INTEREST Recorded Oct 6, 2017
From: UNISYS CORPORATION
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 044144/0081 →
PATENT SECURITY AGREEMENT Recorded Apr 27, 2017
From: UNISYS CORPORATION
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS COLLATERAL TRUSTEE
Reel/Frame 042354/0001 →
SECURITY INTEREST Recorded Nov 4, 2014
From: UNISYS CORPORATION
To: GENERAL ELECTRIC CAPITAL CORPORATION, AS AGENT
Reel/Frame 034096/0984 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 1, 2014
From: HUNTER, JAMES R; HUYNH, SUNG V; CAVANAGH, EDWARD T; LANDIS, JOHN A
To: UNISYS CORPORATION
Reel/Frame 033870/0059 →
Continuity (1)
Related Publication 20160077858A1 · Mar 17, 2016