IP Library Granted Patent US 10,838,905
Granted Patent B2
US 10,838,905 · App. 16/798,239 · Granted Nov 17, 2020

Managing a peripheral component interface express device hotplug

Inventors: Colin Yong Zou (Beijing, CN); Aaron Wei Wei (Qingdao, CN); Bing Hu (Shanghai, CN); Ried Ruifang Liu (Beijing, CN); Youbing Li (Beijing, CN)
Assignee: EMC IP Holding Company, LLC
G06F13/4081G06F13/362G06F13/4282
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 10,838,905
App. No.
16/798,239
Granted
Nov 17, 2020
Kind
B2
Abstract

Embodiment of the present disclosure provides a system, a computer program product and a method for managing a peripheral component interface express device hotplug by receiving an operation command from a user through a user command interface module; sending, in response to reception of the operation command, the operation command to a hotplug management module via an interface provided by a hotplug interface library; and performing, by the hotplug management module, the operation command by means of at least one of an interface provided by an operating system, a kernel of the operating system, and at least one of a corresponding plurality of hotplug group service modules, in response to receiving the operation command.

Claims (49)

1. A system for managing a Peripheral Component Interface Express (PCIE) device hotplug, the system comprising:

a user command interface module, on a data storage system including one or more processors, configured to provide an interface for a user to input an operation command, wherein the operation command is inputted by the user via the user command interface module and is sent to a hotplug management module by invoking, by a user command service module, a corresponding interface provided by a hotplug interface library;

the hotplug interface library configured to provide an interface for interacting with the hotplug management module on the data storage system, wherein the hotplug interface library is configured to provide sets of application programming interfaces that are configured for interaction between the user command interface module, the hotplug management module, and at least one of a corresponding plurality of hotplug service modules;

the hotplug management module configured to perform, in response to the operation command from the user, execute the operation command by means of at least one of an interface provided by an operating system, and the at least one of a corresponding plurality of hotplug group service modules, wherein the hotplug management module is enabled to configure and unconfigure a PCIE device in the data storage system, wherein the plurality of hotplug group service modules comprises:

a hotplug group service module corresponding to only one device type and a platform hotplug group service module that is common to all device types.

2. The system according to claim 1 , wherein the platform hotplug group service module is configured to provide basic services to all the device types.

3. The system according to claim 2 , wherein the hotplug management module is configured to subscribe, in response to a subscription request from the plurality of hotplug group service modules, a device of interest for the hotplug management module, and to invoke

a corresponding hotplug group service module based on the device type to which the operation command is directed; and

subscriptions of the plurality of hotplug group service module.

4. The system according to claim 2 , wherein the hotplug management module comprises:

a client management module configured to manage interaction between the hotplug management module and the user command interface module;

a channel management module configured to manage interaction between the hotplug management module and the plurality of hotplug group service modules;

an event management module configured to monitor a PCIE device hotplug-related event from a kernel of the operating system; and

a central control module configured to perform a correspond operation by invoking, in response to a request from the client management module, the channel management module or the event management module, at least one of an interface provided by the operating system, the kernel of the operating system, and a corresponding hotplug group service module.

5. The system according to claim 2 , wherein the hotplug management module performs hotplug related operations to the PCIE device via an interface provided by an intelligent platform management interface library in the Operating system, an interface provided by a peripheral component interface library, a kernel invoking interface, and a kernel event.

6. The system according to claim 2 , wherein the hotplug management module interacts with at least one of the user command interface module and the plurality of hotplug group service modules based on a socket interface.

7. The system according to claim 2 , wherein the operation command includes one or more consisting from the group of: a show command, a power-on command, a power-off command, a configuration command, and an un-configuration command.

8. The system according to claim 2 , the PCIE device hotplug comprises at least one of the following states of:

a. empty state, indicating no card is inserted in a slot;

b. unpowered state, indicating a card is inserted into the slot but has not been powered yet;

c. powered state, indicating the card inserted in the slot has been powered but has not been configured yet;

d. configured state, indicating that the card in the slot has been configured; and

e. maintenance state, indicating a failure in a configuration operation or un-configuration operation on the card inserted in the slot, wherein after successfully retrying the configuration operation or un-configuration operation, the state will be changed to the configured state or the powered state.

9. A method for managing a peripheral component interface express (PCIE) device hotplug, comprising:

receiving, at a data storage system including one or more processors, an operation command from a user through a user command interface module, wherein the operation command is inputted by the user via the user command interface module and is sent to a hotplug management module by invoking, by a user command service module, a corresponding interface provided by a hotplug interface library;

sending, in response to reception of the operation command, the operation command to the hotplug management module via an interface provided by the hotplug interface library wherein the hotplug interface library is configured to provide sets of application programming interfaces that are configured for interaction between the user command interface module, the hotplug management module, and at least one of a corresponding plurality of hotplug service modules; and

performing, by the hotplug management module, the operation command by means of at least one of an interface provided by an operating system, and the at least one of a corresponding plurality of hotplug group service modules, in response to receiving the operation command, wherein the hotplug management module is enabled to configure and unconfigure a PCIE device in the data storage system, wherein the plurality of hotplug group service modules comprises:

a hotplug group service module corresponding to only one device type and a platform hotplug group service module that is common to all device types.

10. The method according to claim 9 , wherein the platform hotplug group service module is configured to provide basic services to all the device types.

11. The method according to claim 10 , further comprising, subscribing, in response to a subscription request from the plurality of hotplug group service modules, a device of interest for the hotplug management module, and

wherein the hotplug group service module is invoked, by the hotplug management module, based on a device type to which the operation command is directed and subscriptions of the plurality of hotplug group service modules.

12. The method according to claim 10 , wherein the hotplug management module further comprises

a channel management module, an event management module and a central control module, wherein the hotplug management module respectively manages interactions with the user command interface modules through the client management module, and manage interactions with the plurality of hotplug group service modules through the channel management module;

listens to PCIE device hotplug-related events from a kernel of the operating system through the event management module; and

performs a corresponding operation by invoking at least one of the interface provided by the operating system, the kernel of the operating system and the corresponding hotplug group service module through the central control module, in response to a request from the client management module, the channel management module, or the event management module.

13. The method according to claim 10 , hotplug management module performs a hotplug related operation on the PCIE device via an interface provided by an intelligent platform interface library in the operating system, an interface provided by an external component interface library, a kernel invoking interface, and a kernel event.

14. A non-transitory computer program product including a program code embodied thereon, which, when executed on a processor, causes the processor to perform the method for managing a peripheral component interface express (PCIE) device hotplug, comprising:

receiving, on a data storage system including one or more processors, an operation command from a user through a user command interface module, wherein the operation command is inputted by the user via the user command interface module and is sent to a hotplug management module by invoking, by a user command service module, a corresponding interface provided by the hotplug interface library;

sending, in response to reception of the operation command, the operation command to the hotplug management module via an interface provided by a hotplug interface library, wherein the hotplug interface library is configured to provide sets of application programming interfaces that are configured for interaction between the user command interface module, the hotplug management module, and at least one of a corresponding plurality of hotplug service modules; and

performing, by the hotplug management module, the operation command by means of at least one of an interface provided by an operating system, and the at least one of a corresponding plurality of hotplug group service modules, in response to receiving the operation command, wherein the hotplug management module is enabled to configure and unconfigure a PCIE device in the data storage system, wherein the plurality of hotplug group service modules comprises:

a hotplug group service module corresponding to only one device type and a platform hotplug group service module that is common to all device types.

15. The non-transitory computer program product according to claim 14 , wherein the platform hotplug group service module is configured to provide basic services to all the device types.

16. The non-transitory computer program product according to claim 15 , further comprising, subscribing, in response to a subscription request from the plurality of hotplug group service modules, a device of interest for the hotplug management module, and

wherein the hotplug group service module is invoked, by the hotplug management module, based on a device type to which the operation command is directed and subscriptions of the plurality of hotplug group service modules.

17. The non-transitory computer program product according to claim 15 , wherein the hotplug management module further comprises

a channel management module, an event management module and a central control module, wherein the hotplug management module respectively manages interactions with the user command interface modules through the client management module, and manage interactions with the plurality of hotplug group service modules through the channel management module;

listens to PCIE device hotplug-related events from a kernel of the operating system through the event management module; and

performs a corresponding operation by invoking at least one of the interface provided by the operating system, the kernel of the operating system and the corresponding hotplug group service module through the central control module, in response to a request from the client management module, the channel management module, or the event management module.

18. The non-transitory computer program product according to claim 15 , hotplug management module performs a hotplug related operation on the PCIE device via an interface provided by an intelligent platform interface library in the operating system, an interface provided by an external component interface library, a kernel invoking interface, and a kernel event.

Assignments (13)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052851/0917) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 060436/0509 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052852/0022) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 060436/0582 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053311/0169) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 060438/0742 →
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 (052851/0081) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 060436/0441 →
RELEASE OF SECURITY INTEREST AT REEL 052771 FRAME 0906 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0298 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 053311/0169 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC; THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052851/0081 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052851/0917 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052852/0022 →
SECURITY AGREEMENT Recorded May 28, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 052771/0906 →
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 21, 2020
From: ZOU, COLIN YONG; WEI, AARON WEI; HU, BING; LIU, RIED RUIFANG; LI, YOUBING
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 051893/0356 →