Hot plug system across generations of PCIe bridge devices
The hot-swappable system of the cross-generation PCIe bridging device solves the reliability problem when the host and device are plugged in and out. By adopting a multi-module collaborative approach, the order and stability of the plugging and unplugging process are ensured, thereby improving the availability and reliability of the system.
Patent Information
- Application Number
- CN202511534743.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-10-27
- Publication Date
- 2026-01-16
- Estimated Expiration
- 2045-10-27
AI Technical Summary
While the host device has hot-swappable capabilities, subsequent devices often lack hot-swappable electrical/protocol capabilities. This leads to a mismatch between the plugging/unplugging behavior, power supply timing, and link state machine, causing reliability issues.
The design includes a hot-swap system for cross-generation PCIe bridging devices, comprising a first removal mode and a second removal mode. The connection status is determined by a status detection module. The system utilizes the collaborative work of a host-side hot-swap virtualization control module, a transaction convergence module, a power gating module, and a reset and clock orchestration module to ensure the sequence and stability of the insertion and removal process.
It achieves stability and reliability of cross-generation PCIe bridging devices under different insertion and removal scenarios, avoids error storms, power disturbances and data inconsistencies, and improves the availability and reliability of the whole machine.
Smart Images

Figure CN121009048B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of computer technology, and in particular to a hot plug system of a cross-generation PCIe bridging device. BACKGROUND
[0002] In recent years, with the increasing requirements of data center, AI acceleration, storage and high-speed network applications on I / O bandwidth and maintainability, systems using PCI Express (PCIe) as high-speed interconnection between host and peripheral are widely deployed. At the same time, the PCIe hot plug capability on the host side (especially server / industrial computing platform) is gradually popularized, allowing peripherals to be plugged and maintained without downtime to reduce downtime and improve availability.
[0003] In complex systems, it is often necessary to connect devices of different generations or different forms (such as PCIe 4.0 peripherals) to host platforms supporting higher generations or different forms of interfaces through cross-generation bridging / interface multiplexing devices. The applicant has proposed a PCIe protocol adaptation method in patent CN202511277034.X. However, when the method is implemented as a device, a key engineering problem is exposed: the motherboard has hot plug capability, while the connected device often does not have hot plug electrical / protocol capability. The mismatch between the two in terms of plug behavior, power supply timing and link state machine can cause a series of reliability problems.
[0004] The disclosure of the above background art content is only used to assist in understanding the inventive concept and technical solutions of the present application, and it does not necessarily belong to the prior art of the present application, nor does it necessarily provide technical teaching. In the absence of explicit evidence that the above content was disclosed before the filing date of the present application, the above background art should not be used to evaluate the novelty and inventiveness of the present application. SUMMARY
[0005] The purpose of the present application is to provide a hot plug system of a cross-generation PCIe bridging device.
[0006] To achieve the above purpose, the technical solutions adopted by the present application are as follows:
[0007] A hot plug system of a cross-generation PCIe bridge device for bridging a hot plug enabled host and a hot plug disabled device, the hot plug system of the cross-generation PCIe bridge device comprising a first ejection mode and a second ejection mode, the hot plug system of the cross-generation PCIe bridge device being triggered to enter the first ejection mode when a state detection module detects that the host is disconnected from the cross-generation PCIe bridge device while the device remains connected to the cross-generation PCIe bridge device, the hot plug system of the cross-generation PCIe bridge device being triggered to enter the second ejection mode when the state detection module detects that the host remains connected to the cross-generation PCIe bridge device while the device is disconnected from the cross-generation PCIe bridge device.
[0008] In an embodiment, the hot plug system of the cross-generation PCIe bridge device is triggered to enter the first ejection mode when the hot plug system of the cross-generation PCIe bridge device receives a first button command, the hot plug system of the cross-generation PCIe bridge device being triggered to enter the second ejection mode when the hot plug system of the cross-generation PCIe bridge device receives a second button command.
[0009] In an embodiment, when the hot plug system of the cross-generation PCIe bridge device enters the first ejection mode, the hot plug system of the cross-generation PCIe bridge device is configured to first report a hot plug event to the host and then perform a controlled power down of the device end of the cross-generation PCIe bridge device.
[0010] In an embodiment, when the hot plug system of the cross-generation PCIe bridge device enters the second ejection mode, the hot plug system of the cross-generation PCIe bridge device is configured to first perform a controlled power down of the device end of the cross-generation PCIe bridge device and then report a hot plug event to the host.
[0011] In an embodiment, it comprises a host end hot plug virtualization control module for reporting to the host, the host end hot plug virtualization control module being in handshaking communication with a power gate module throughout the first ejection mode and the second ejection mode to ensure the correct order of power down and reporting.
[0012] In an embodiment, the state detection module determines the connection state between the cross-generation PCIe bridge device and the host and determines the connection state between the cross-generation PCIe bridge device and the device by one or more of a bit contact, a load current, a voltage, a temperature indicator in combination with time de-bouncing.
[0013] In an embodiment, when the hot plug system of the cross-generation PCIe bridge device enters the first ejection mode, it is configured to perform the following steps:
[0014] the policy state module switches to a ready-to-eject state;
[0015] the transaction convergence module performs transaction convergence and freezing on the device side of the cross-generation PCIe bridging device, and notifies the reset and clock scheduling module, the power gating module, and the host-side hot plug virtualization control module after completion;
[0016] the host-side hot plug virtualization control module reports a hot plug event to the host after receiving the completed signal fed back by the transaction convergence module;
[0017] the host notifies the operating system to unload the driver, and the host-side hot plug virtualization control module returns an indication to the policy state module after receiving the signal that the operating system completes unloading, so that the policy state module switches to a ready-to-eject state;
[0018] the reset and clock scheduling module disconnects the reference clock after resetting the reference clock and the policy state module after receiving the completed signal fed back by the transaction convergence module;
[0019] the power gating module performs controlled power-off on the device side of the cross-generation PCIe bridging device after receiving the completed signal fed back by the transaction convergence module;
[0020] the cross-generation PCIe bridging device sends an indication signal to prompt the user to eject.
[0021] In an embodiment, in the first ejection mode, the host-side hot plug virtualization control module communicates with the transaction convergence module, the power gating module, and the reset and clock scheduling module to ensure that transaction convergence and freezing are completed first, a hot plug event is reported to the host second, and the reference clock is disconnected and power-off is performed last.
[0022] In an embodiment, after the cross-generation PCIe bridging device is ejected from the host and then plugged back in, the hot plug system of the cross-generation PCIe bridging device is configured to perform the following steps:
[0023] When the state detection module detects that the host and the cross-generation PCIe bridging device establish a connection, and the device and the cross-generation PCIe bridging device maintain a connection, the hot plug system of the cross-generation PCIe bridging device is triggered to enter a first plugging back mode;
[0024] the power gating module performs controlled power-on on the device side of the cross-generation PCIe bridging device;
[0025] The reset and clock arrangement module first keeps the reference clock and the policy state module reset, and after the power supply is stable, the reference clock is connected and the reset is released;
[0026] The transaction convergence module releases the transaction freeze of the device end of the cross-generation PCIe bridging device;
[0027] The host-side hot plug virtualization control module sends a signal to the host that the cross-generation PCIe bridging device is inserted;
[0028] The host notifies the operating system to re-enum and re-train the link between the host and the cross-generation PCIe bridging device;
[0029] The policy state module switches to the in-state.
[0030] In an embodiment, when the hot plug system of the cross-generation PCIe bridging device enters the second plug-out mode, it is configured to perform the following steps:
[0031] The policy state module switches to the plug-out processing state;
[0032] The transaction convergence module performs transaction convergence and freeze on the device end of the cross-generation PCIe bridging device, and after completion, notifies the reset and clock arrangement module, the power gate module, and the host-side hot plug virtualization control module;
[0033] The error containment module performs port containment on the device end of the cross-generation PCIe bridging device to prevent errors from spreading to the host;
[0034] The reset and clock arrangement module disconnects the reference clock after resetting the reference clock and the policy state module;
[0035] The power gate module performs controlled power-off on the device end of the cross-generation PCIe bridging device;
[0036] After receiving a signal that the power gate module has completed controlled power-off, the host-side hot plug virtualization control module reports a hot plug event to the host;
[0037] The host notifies the operating system to perform driver uninstallation, and after receiving a signal that the operating system has completed uninstallation, the host-side hot plug virtualization control module returns an indication to the policy state module, so that the policy state module switches to the device-absent standby state;
[0038] The cross-generation PCIe bridging device sends an indication signal to prompt that the user device is not present and can be inserted.
[0039] In an embodiment, in the second pull-out mode, the host-side hot-plug virtualization control module communicates with the transaction convergence module, the power gating module, and the reset and clock orchestration module to ensure that transaction convergence and freeze are completed first, then the reference clock is disconnected and power is turned off, and finally a hot-plug event is reported to the host.
[0040] In an embodiment, power supply of the cross-generation PCIe bridging device and the device is divided into a device power supply domain and a device power supply domain, respectively, and in the second pull-out mode, the power gating module only turns off the device power supply domain.
[0041] In an embodiment, the port containment includes switching a link state machine of a device side of the cross-generation PCIe bridging device from an operational state to a disabled state, locally encapsulating error information, and notifying the host-side hot-plug virtualization control module to report an event to the host as a compliance event, so that the host only receives a removal notification of the device.
[0042] In an embodiment, when the transaction convergence module performs transaction convergence and freeze, it also includes notifying a link state machine of a device side of the cross-generation PCIe bridging device to retreat from an operational state to a detection state.
[0043] In an embodiment, when the transaction convergence module performs transaction convergence and freeze, it includes disabling new read and write and direct memory access requirements, returning an error completion response to a read request that has not been completed, and intercepting or absorbing confirmation of a write request.
[0044] In an embodiment, the controlled power-off refers to soft-off provided by the power gating module to the device side of the cross-generation PCIe bridging device from 12 volts to 3.3 volts, and then actively discharging, and / or the device side of the cross-generation PCIe bridging device is provided with a diode structure that blocks reverse current.
[0045] In an embodiment, after the device is pulled out and then plugged back in relative to the host and the cross-generation PCIe bridging device, the hot-plug system of the cross-generation PCIe bridging device is configured to perform the following steps:
[0046] When the state detection module detects that the device and the cross-generation PCIe bridging device establish a connection, and the host and the cross-generation PCIe bridging device remain connected, the hot-plug system of the cross-generation PCIe bridging device is triggered to enter a second plug-in mode;
[0047] The power gating module performs controlled power-on to the device side of the cross-generation PCIe bridging device;
[0048] The reset and clock arrangement module first keeps the reference clock and the strategy state module reset, and after the power supply is stable, the reference clock is connected and the reset is released;
[0049] The transaction convergence module releases the transaction freeze of the device end of the cross-generation PCIe bridging device;
[0050] The host hot plug virtualization control module sends a signal to the host that the cross-generation PCIe bridging device is inserted;
[0051] The host notifies the operating system to re-enum;
[0052] The strategy state module switches to the on state.
[0053] The technical solution provided by the application has the following beneficial effects:
[0054] By setting the first pull-out mode and the second pull-out mode, the hot plug system of the cross-generation PCIe bridging device of the application can be used in the following scenarios: 1) the cross-generation PCIe bridging device and the device are pulled out at the same time relative to the host; 2) the device is pulled out relative to the host, and the host and the cross-generation PCIe bridging device remain connected, which enriches the use scenarios of the cross-generation PCIe bridging device, improves the use experience, and solves the problem that the device does not have hot plug capability by using the cross-generation PCIe bridging device, thereby providing a more stable cross-generation PCIe bridging device. BRIEF DESCRIPTION OF DRAWINGS
[0055] In order to more clearly illustrate the technical solutions in the embodiments of the present application or the prior art, the following will briefly introduce the drawings needed to be used in the embodiment or prior art description. Obviously, the drawings in the following description are only some embodiments described in the present application, and those skilled in the art can obtain other drawings according to these drawings without creating any creative labor.
[0056] Figure 1 The first pull-out mode flowchart is provided for an exemplary embodiment of the application.
[0057] Figure 2 The second pull-out mode flowchart is provided for an exemplary embodiment of the application.
[0058] Figure 3 The first plug-in mode flowchart is provided for an exemplary embodiment of the application.
[0059] Figure 4 The second plug-in mode flowchart is provided for an exemplary embodiment of the application. DETAILED DESCRIPTION
[0060] In the following, the technical solutions in the embodiments of the present application will be described clearly and completely with reference to the drawings in the embodiments of the present application. Obviously, the described embodiments are only a part of the embodiments of the present application, rather than all the embodiments of the present application. Based on the embodiments in the present application, all the other embodiments obtained by a person of ordinary skill in the art without creative work should belong to the protection scope of the present application.
[0061] It should be noted that the terms "first", "second" and the like in the description and claims of the present application and the above drawings are used to distinguish similar objects, and do not necessarily indicate a specific order or sequence. It should be understood that the data thus used can be interchanged under appropriate circumstances, so that the embodiments of the present application described herein can be implemented in other than the order illustrated or described herein. In addition, the terms "comprise" and "have" and any variations thereof are intended to cover non-exclusive inclusion, for example, a process, method, device, product or apparatus that includes a list of steps or units does not necessarily limit to those steps or units clearly listed, but can include other steps or units not clearly listed or inherent to such processes, methods, products or apparatus.
[0062] As shown in Figures 1-4 In some embodiments of the present application, a cross-generation PCIe bridging device is used to bridge a host supporting hot plug and a device not supporting hot plug. The hot plug system of the cross-generation PCIe bridging device includes a first plug-out mode and a second plug-out mode, and further includes a first plug-in mode corresponding to the first plug-out mode and a second plug-in mode corresponding to the second plug-out mode. The first plug-out mode is suitable for a use scenario in which the cross-generation PCIe bridging device and the device are plugged out of the host at the same time, the second plug-out mode is suitable for a use scenario in which the device is plugged out of the host and the host is connected with the cross-generation PCIe bridging device, the first plug-in mode is suitable for a use scenario in which the cross-generation PCIe bridging device and the device are plugged in to the host at the same time, and the second plug-in mode is suitable for a use scenario in which the device is plugged in to the host and the cross-generation PCIe bridging device.
[0063] To support the above plug-out mode and plug-in mode, the cross-generation PCIe bridging device in some embodiments of the present application mainly includes the following modules:
[0064] A state detection module, which is mainly used to determine the connection state between the cross-generation PCIe bridging device and the host and determine the connection state between the cross-generation PCIe bridging device and the device through one or more of the in-place contact, load current, voltage, temperature indicators and in combination with time de-bouncing. The module avoids misjudgment of a single indicator by combining multiple indicators, and reliably determines the in-place, removal and reinsertion of the cross-generation PCIe bridging device and the device to provide a unified determination basis for each module.
[0065] A policy state module, which is used to coordinate the actions of each other module in the hot plug system of the cross-generation PCIe bridging device, specifically including a preparation pull-out state, a pull-out state, an in-place state and a device absence standby state. The preparation pull-out state and the pull-out state correspond to the first pull-out mode, the device absence standby state corresponds to the second pull-out mode, and the in-place state corresponds to the first insertion mode and the second insertion mode.
[0066] A host-side hot plug virtualization control module, which is used to report hot plug events to the host, present a compliant hot plug slot capability on the host side, and is responsible for the "reporting first and disconnecting later" process in the first pull-out mode and the "disconnecting first and reporting later" process in the second pull-out mode.
[0067] A transaction convergence module, which is responsible for transaction convergence and freezing of the device end of the cross-generation PCIe bridging device, specifically including prohibiting new read and write and direct memory access requirements, returning an error completion response to a read request that has not been completed, and intercepting or absorbing confirmation of a write request, thereby allowing the link between the device end of the cross-generation PCIe bridging device and the device to exit in a controlled manner, preventing an error storm on the host.
[0068] A power gating module, which is responsible for controlled power-off and power-on of the device end of the cross-generation PCIe bridging device. The controlled power-off refers to the power gating module providing power supply from 12 volts to 3.3 volts to the device end of the cross-generation PCIe bridging device, and then actively discharging to soft-off. The device end of the cross-generation PCIe bridging device is provided with a diode structure to block reverse power injection. The controlled power-on refers to the power gating module providing power supply from 3.3 volts to 12 volts to the device end of the cross-generation PCIe bridging device to suppress inrush and reverse injection during plug-in, prevent the host common power supply rail from being dragged down, and ensure stable power supply for other devices connected to the host.
[0069] A reset and clock arrangement module, which is responsible for resetting the clock module and the policy state module, and controls the shutdown of the reference clock, thereby controlling the reset signal and the reference clock in accordance with the same timing as the power supply to ensure normal initialization of the link and avoid abnormalities.
[0070] an error containment module, which is responsible for port containment of the device end of the cross-generation PCIe bridging device to avoid error spreading to the host, supports a DPC (Downstream Port Containment) strategy and an AER (Advanced Error Reporting) strategy, and specifically includes switching the link state machine of the device end of the cross-generation PCIe bridging device from a working state to a disabled state, locally packaging error information, and notifying the host end hot plug virtualization control module to change an event to a compliance event and report to the host, so that the host only receives a removal notification of the device.
[0071] The first pull-out mode of the hot plug system of the cross-generation PCIe bridging device in some embodiments of the application is described below, as shown in the following figure, and specifically includes the following steps: Figure 1
[0072] S1 When the state detection module detects that the connection between the host and the cross-generation PCIe bridging device is intermittent and the device and the cross-generation PCIe bridging device remain connected, the hot plug system of the cross-generation PCIe bridging device is triggered to enter the first pull-out mode; at this time, the device and the cross-generation PCIe bridging device are not pulled out relative to the host, only a slight movement occurs, which can be achieved by setting a slip window through a golden finger;
[0073] S2 The strategy state module switches to a preparation pull-out state to broadcast a preparation signal to the transaction convergence module, the reset and clock arrangement module, and the power supply gate module, so that the transaction convergence module enters a pre-freeze state, the reset and clock arrangement module enters a standby state, the power supply gate module locks the current power supply and does not immediately act, and the host end hot plug virtualization control module enters a standby reporting state; at this time, the system is not disturbed because it has not reported to the host;
[0074] S3 The transaction convergence module performs transaction convergence and freezing on the device end of the cross-generation PCIe bridging device, and notifies the reset and clock arrangement module, the power supply gate module, and the host end hot plug virtualization control module after completion; the transaction convergence and freezing include: prohibiting new read and write and direct memory access requirements, returning an error completion response to a read request that has not been completed, intercepting or absorbing confirmation of a write request to avoid timeout of the upstream, and notifying the link state machine of the device end of the cross-generation PCIe bridging device to retreat from the working state to the detection state. At this time, the reset and clock arrangement module remains on standby and does not reset and disconnect the reference clock, and after completion, feeds back to the host end hot plug virtualization control module and the power supply gate module that the link has converged, and can report to the host and power off;
[0075] S4 After the host hot plug virtualization control module receives the completed signal fed back by the transaction convergence module, the host is reported the hot plug event, the host sees the compliant device preparing to remove the process and will not be recorded as an error, at this time, the host can be reported through the golden finger structure, and the reporting to the host is realized when the cross-generation PCIe bridging device has not been separated from the host;
[0076] S5 The host notifies the operating system to unload the driver, and the host hot plug virtualization control module returns an indication to the policy state module after receiving the signal that the operating system completes the unloading, so that the policy state module switches to the pullable state;
[0077] S6 After the reset and clock arrangement module receives the completed signal fed back by the transaction convergence module, the reference clock and the policy state module are reset, and the reference clock is disconnected;
[0078] S7 After the power gating module receives the completed signal fed back by the transaction convergence module, the device end of the cross-generation PCIe bridging device is controlled to be powered off, that is, the device end of the cross-generation PCIe bridging device is provided with power supply from 12 volts to 3.3 volts, and then actively discharged to soft off to clear residual energy. The device end of the cross-generation PCIe bridging device is provided with a diode structure for blocking reverse power to prevent the public power supply from being affected.
[0079] S8 The cross-generation PCIe bridging device sends an indication signal to prompt the user to pull out.
[0080] When the user pulls out the cross-generation PCIe bridging device and the device relative to the host after step S8, because the prelude has completed the reset and the reference clock is disconnected, the power is turned off and discharged, and there will be no inrush current and reverse power at the moment of pulling out.
[0081] In the first pull-out mode, the host hot plug virtualization control module communicates with the transaction convergence module, the power gating module, and the reset and clock arrangement module to ensure that the transaction convergence and freezing are completed first, then the hot plug event is reported to the host, and finally the reference clock is disconnected and the power is turned off. The sequence is set mainly because in the first pull-out mode, the cross-generation PCIe bridging device and the device are pulled out relative to the host at the same time, and the reaction and processing time left for the cross-generation PCIe bridging device is short, so the transaction convergence and freezing are completed first to prevent an error from being directly reported to the host to cause an error storm. Then the hot plug event is reported to the host, and finally the reference clock is disconnected and the power is turned off.
[0082] In some embodiments, the first pull-out mode can also be triggered by a first button command. By setting the first button, the use scenario is enriched, and the stability of the first pull-out mode process is improved.
[0083] The first plug-in mode of the hot plug system of the cross-generation PCIe bridging device in some embodiments of the application is described below, likeFigure 2 As shown, specifically comprising the following steps:
[0084] S1 When the state detection module detects that the host establishes connection with the cross-generation PCIe bridging device, and the device keeps connection with the cross-generation PCIe bridging device, the hot plug system of the cross-generation PCIe bridging device is triggered to enter the first plug-in mode;
[0085] S2 The power gating module performs controlled power-on on the device end of the cross-generation PCIe bridging device, wherein the controlled power-on refers to providing power supply from 3.3 volts to 12 volts to the device end of the cross-generation PCIe bridging device;
[0086] S3 The reset and clock arrangement module first keeps the reference clock and the policy state module reset, and then connects the reference clock and releases the reset after the power supply is stable;
[0087] S4 The transaction convergence module releases the transaction freeze of the device end of the cross-generation PCIe bridging device to allow new transactions;
[0088] S5 The host end hot plug virtualization control module sends a signal of the cross-generation PCIe bridging device and the device insertion to the host;
[0089] S6 The host notifies the operating system to re-enum and re-trains the link between the host and the cross-generation PCIe bridging device;
[0090] S7 The policy state module switches to the in-state.
[0091] The second plug-out mode of the hot plug system of the cross-generation PCIe bridging device in some embodiments of the application is described as follows, Figure 3 As shown, specifically comprising the following steps:
[0092] S1 When the state detection module detects that the host keeps connection with the cross-generation PCIe bridging device, and the device disconnects with the cross-generation PCIe bridging device, the hot plug system of the cross-generation PCIe bridging device is triggered to enter the second plug-out mode, at this time, the device has been unplugged from the cross-generation PCIe bridging device, and the cross-generation PCIe bridging device still connects with the host;
[0093] S2 The policy state module switches to the plug-out processing state to broadcast a preparation signal to the transaction convergence module, the reset and clock arrangement module, and the power gating module, so that the transaction convergence module enters the pre-freeze state, and the reset and clock arrangement module enters the preparation;
[0094] The S3 transaction convergence module performs transaction convergence and freezing on the device end of the cross-generation PCIe bridging device, and notifies the reset and clock arrangement module, the power gate module, and the host-side hot plug virtualization control module after completion. The transaction convergence and freezing includes: prohibiting new read and write and direct memory access requirements, returning an error completion response to a read request that has not been completed, intercepting or absorbing confirmation of a write request to avoid timeout on the upstream, and notifying the link state machine of the device end of the cross-generation PCIe bridging device to retreat from the working state to the detection state. After completion, feedback is given to the host-side hot plug virtualization control module and the power gate module that the link has converged, and the host can be reported and powered off;
[0095] The S4 error containment module performs port containment on the device end of the cross-generation PCIe bridging device to avoid the spread of errors to the host; the port containment includes switching the link state machine of the device end of the cross-generation PCIe bridging device from the working state to the disabled state, locally packaging error information, and notifying the host-side hot plug virtualization control module to report the event to the host as a compliance event, so that the host only receives a device removal notification, and the host cannot see error flooding at this time, and the cross-generation PCIe bridging device retains a window for subsequent controlled processing;
[0096] The S5 reset and clock arrangement module disconnects the reference clock after resetting the reference clock and policy state module;
[0097] The S6 power gate module performs controlled power-off on the device end of the cross-generation PCIe bridging device, that is, the device end of the cross-generation PCIe bridging device is provided with power supply from 12 volts to 3.3 volts, and a soft shutdown of actively discharging is performed to clear residual energy. The device end of the cross-generation PCIe bridging device is provided with a diode structure to block reverse power injection to prevent public power from being involved. The power supply of the cross-generation PCIe bridging device and the device is divided into device power supply domain and equipment power supply domain. In the second pull-out mode, the power gate module only turns off the equipment power supply domain;
[0098] The S7 host-side hot plug virtualization control module reports a hot plug event to the host after receiving a signal that the power gate module has completed controlled power-off;
[0099] The S8 host notifies the operating system to unload the driver. After receiving a signal that the operating system has completed unloading, the host-side hot plug virtualization control module returns an indication to the policy state module, so that the policy state module switches to a device-absent standby state. At this time, the cross-generation PCIe bridging device and the host maintain normal link and power supply, and the device end of the cross-generation PCIe bridging device only retains management and monitoring to avoid retraining of the link after the device is plugged back in. Only the equipment power supply domain is turned off to maintain low power consumption;
[0100] The S9 cross-generation PCIe bridging device sends an indication signal to prompt the user that the device is not in place and can be inserted.
[0101] In the second pull-out mode, the host hot plug virtualization control module communicates with the transaction convergence module, the power gating module, and the reset and clock orchestration module to ensure that transaction convergence and freezing are completed first, then the reference clock is disconnected and power is turned off, and finally the hot plug event is reported to the host. The order is set mainly because in the second pull-out mode, the cross-generation PCIe bridging device is always connected with the host, and the device has been pulled out relative to the host, leaving sufficient reaction and processing time for the cross-generation PCIe bridging device. Therefore, transaction convergence and freezing are completed first to prevent an error storm from occurring on the host after an error is directly reported. Then, the reference clock is disconnected and power is turned off. Finally, the hot plug event is reported to the host.
[0102] In some embodiments, the second pull-out mode can also be triggered by a second button command. The second button enriches the use scenarios and improves the stability of the second pull-out mode process.
[0103] The following describes the second plug-in mode of the hot plug system of the cross-generation PCIe bridging device in some embodiments of the application, as shown in Figure 4 The second plug-in mode specifically includes the following steps:
[0104] S1 When the state detection module detects that the device is connected with the cross-generation PCIe bridging device and the host is connected with the cross-generation PCIe bridging device, the hot plug system of the cross-generation PCIe bridging device is triggered to enter the second plug-in mode;
[0105] S2 The power gating module performs controlled power-on on the device end of the cross-generation PCIe bridging device. The controlled power-on refers to providing power supply from 3.3 volts to 12 volts to the device end of the cross-generation PCIe bridging device to limit the initial surge.
[0106] S3 The reset and clock orchestration module first keeps the reference clock and the policy state module reset, and then connects the reference clock and releases the reset after the power is stable.
[0107] S4 The transaction convergence module releases the transaction freezing of the device end of the cross-generation PCIe bridging device to allow new transactions.
[0108] S5 The host hot plug virtualization control module sends a device insertion signal to the host.
[0109] S6 The host notifies the operating system to re-enum.
[0110] S7 The policy state module is switched to the in-position state.
[0111] For the use scenario of simultaneous plug-out of the cross-generation PCIe bridging device and the device relative to the host, if the sequence of each step is not reasonably arranged, the following problems may occur: if transaction convergence and freezing are not completed first, the host may have an error storm; if transaction convergence and compliance event reporting are not completed before power-off, the host may be recorded as an abnormal disconnection; if the power is not controlled to be turned off, inrush current and reverse current may also occur, which may lower the host common power rail;
[0112] For the use scenario of plug-out of the device relative to the host and keeping the connection between the host and the cross-generation PCIe bridging device, if the sequence of each step is not reasonably arranged, the following problems may occur: if transaction convergence and freezing are not completed first, the host may have an error storm; the host expects to see the process of "downstream device compliance removal", but the traditional bridging device only provides link multiplexing function, lacks power gating, transaction convergence and freezing, and error containment capability of the downstream, which leads to upstream error or bus reset; at the same time, if the cross-generation PCIe bridging device is mistakenly powered off, the cross-generation PCIe bridging device will disappear from the host view, affecting subsequent reinsertion and management.
[0113] In the hot plug compliance path, the plug-out should be performed in the following order: the state detection module detects the device removal, triggers the event to report to the host, waits for transaction convergence and freezing, resets and disconnects the reference clock and power-off, and indicates that it has been unplugged. The hot plug system of the cross-generation PCIe bridging device in the application introduces a first plug-out mode and a second plug-out mode to adapt to the host supporting hot plug and the device not supporting hot plug, reasonably arranges the sequence of each step, presents a compliant report to the host, thereby significantly reducing the impact on business maintenance, and improving the availability and reliability of the whole machine.
[0114] In some embodiments of the application, the following technical problems are specifically solved:
[0115] 1. Surprise Down and AER error flooding: by implementing hot plug event virtualization and error containment (DPC / AER policy) in the cross-generation PCIe bridging device, the physical plug-in and plug-out of the downstream device are converted into a compliant hot plug event stream from the perspective of the host, avoiding AER error storm, port reset and even bus domain reset caused by link drop.
[0116] 2. Power disturbance, inrush current and reverse current during plug-in and plug-out: sequential soft power-on / power-off (12V to 3.3V), diode structure and active discharge design are adopted to suppress inrush current and reverse current during plug-in and plug-out, prevent the host common power rail from being pulled down, and ensure stable power supply for other devices.
[0117] 3. Incomplete transaction causes completion timeout, DMA hang and data inconsistency: freeze new transaction by transaction convergence module before disconnection / power-off, return error completion response to incomplete read request, intercept or absorb write request, avoid host side timeout and data consistency problem.
[0118] 4. Reset and reference clock timing mismatch triggered false activation and link exception: by resetting and reference clock scheduling and link state machine of the device side of the cross-generation PCIe bridging device from the working state back to the detection state, the reset / clock isolation consistent with the power timing is realized, and the false trigger, jitter coupling and training failure caused by timing disorder are avoided.
[0119] 5. Lack of "report first and power off later" process for the use scenario of simultaneous disconnection of cross-generation PCIe bridging device and device relative to the host: provide complete scheduling of preparation disconnection→transaction convergence→event reporting→sequential power-off, so that the host records as "device compliant removal" instead of abnormal disconnection; at the same time, ensure that the disconnection has "zero disturbance" to the whole machine power supply and other slots.
[0120] 6. For the use scenario of device disconnection relative to the host and the host and cross-generation PCIe bridging device remaining connected, it is not possible to only turn off the downstream and keep the device online: introduce power domain division (device power domain and equipment power domain), only close the equipment power domain when the device is off-site, and the device continues to be online and compliantly reports to the host, supporting fast / safe reinsertion.
[0121] 7. Insufficient device / system energy efficiency and long-term slot management: when the device is absent for a long time, keep the device power domain open and close the equipment power domain to reduce the standby loss of the empty slot and improve the overall energy efficiency of the machine.
[0122] The above is only a specific embodiment of the present application, and it should be noted that for ordinary skilled persons in the technical field, without departing from the principles of the present application, a number of improvements and refinements can be made, which should be considered as the protection scope of the present application.
Claims
1. A hot-plug system across generations of PCIe bridge devices, the system comprising: The cross-generation PCIe bridging device is used for bridging a host supporting hot plug and a device not supporting hot plug, and a hot plug system of the cross-generation PCIe bridging device includes a first pull-out mode and a second pull-out mode. When a state detection module detects that the host is disconnected from the cross-generation PCIe bridging device and the device remains connected to the cross-generation PCIe bridging device, the hot plug system of the cross-generation PCIe bridging device is triggered to enter the first pull-out mode. When the state detection module detects that the host remains connected to the cross-generation PCIe bridging device and the device is disconnected from the cross-generation PCIe bridging device, the hot plug system of the cross-generation PCIe bridging device is triggered to enter the second pull-out mode. When the hot plug system of the cross-generation PCIe bridging device enters the first pull-out mode, the hot plug system of the cross-generation PCIe bridging device is configured to first report a hot plug event to the host and then perform controlled power-off on the device end of the cross-generation PCIe bridging device. When the hot plug system of the cross-generation PCIe bridging device enters the second pull-out mode, the hot plug system of the cross-generation PCIe bridging device is configured to first perform controlled power-off on the device end of the cross-generation PCIe bridging device and then report a hot plug event to the host.
2. The hot-plug system of cross-generation PCIe bridge devices according to claim 1, wherein: When the hot plug system of the cross-generation PCIe bridging device receives a first button command, the hot plug system of the cross-generation PCIe bridging device is triggered to enter the first pull-out mode. When the hot plug system of the cross-generation PCIe bridging device receives a second button command, the hot plug system of the cross-generation PCIe bridging device is triggered to enter the second pull-out mode.
3. The hot-plug system of cross-generation PCIe bridging devices of claim 1, wherein: The cross-generation PCIe bridging device includes a host-end hot plug virtualization control module for reporting to the host. The host-end hot plug virtualization control module communicates with a power gate module in the first pull-out mode and the second pull-out mode to ensure the correct order of power-off and reporting.
4. The hot-plug system of cross-generation PCIe bridging devices of claim 1, wherein: The state detection module determines the connection state between the cross-generation PCIe bridging device and the host and the connection state between the cross-generation PCIe bridging device and the device by one or more of a bit contact, a load current, a voltage, a temperature index, and time de-bouncing.
5. The hot-plug system of cross-generation PCIe bridging devices of claim 1, wherein: When the hot plug system of the cross-generation PCIe bridging device enters the first pull-out mode, the hot plug system of the cross-generation PCIe bridging device is configured to perform the following steps: A policy state module switches to a ready-to-pull-out state; A transaction convergence module performs transaction convergence and freezing on the device end of the cross-generation PCIe bridging device and notifies a reset and clock arrangement module, a power gate module, and a host-end hot plug virtualization control module after completion; The host-end hot plug virtualization control module reports a hot plug event to the host after receiving a completed signal fed back by the transaction convergence module; The host notifies an operating system to perform driver uninstallation, and the host-end hot plug virtualization control module returns an indication to the policy state module after receiving a signal that the operating system completes uninstallation, so that the policy state module switches to a pull-out state; and The cross-generation PCIe bridging device includes a host-end hot plug virtualization control module for reporting to the host. The host-end hot plug virtualization control module communicates with a power gate module in the first pull-out mode and the second pull-out mode to ensure the correct order of power-off and reporting. The state detection module determines the connection state between the cross-generation PCIe bridging device and the host and the connection state between the cross-generation PCIe bridging device and the device by one or more of a bit contact, a load current, a voltage, a temperature index, and time de-bouncing. When the hot plug system of the cross-generation PCIe bridging device enters the first pull-out mode, the hot plug system of the cross-generation PCIe bridging device is configured to perform the following steps: A policy state module switches to a ready-to-pull-out state; A transaction convergence module performs transaction convergence and freezing on the device end of the cross-generation PCIe bridging device and notifies a reset and clock arrangement module, a power gate module, and a host-end hot plug virtualization control module after completion; The host-end hot plug virtualization control module reports a hot plug event to the host after receiving a completed signal fed back by the transaction convergence module; The host notifies an operating system to perform driver uninstallation, and the host-end hot plug virtualization control module returns an indication to the policy state module after receiving a signal that the operating system completes uninstallation, so that the policy state module switches to a pull-out state; and The reset and clock arrangement module disconnects the reference clock after resetting the reference clock and the policy state module upon receiving the completed signal fed back by the transaction convergence module; The power gating module performs controlled power-off on the device end of the cross-generation PCIe bridging device upon receiving the completed signal fed back by the transaction convergence module; The cross-generation PCIe bridging device sends an indication signal to prompt the user to unplug.
6. The hot-plug system of cross-generation PCIe bridging devices of claim 5, wherein: In the first unplug mode, the host-side hot plug virtualization control module communicates with the transaction convergence module, the power gating module, and the reset and clock arrangement module to ensure that transaction convergence and freezing are completed first, then a hot plug event is reported to the host, and finally the reference clock is disconnected and power-off is performed.
7. The hot-plug system of cross-generation PCIe bridging devices of claim 5, wherein: After the cross-generation PCIe bridging device is unplugged and then plugged back in relative to the host, the hot plug system of the cross-generation PCIe bridging device is configured to perform the following steps: When the state detection module detects that the host and the cross-generation PCIe bridging device establish a connection, and the device and the cross-generation PCIe bridging device remain connected, the hot plug system of the cross-generation PCIe bridging device enters a first plug-in mode; The power gating module performs controlled power-on on the device end of the cross-generation PCIe bridging device; The reset and clock arrangement module first keeps the reference clock and the policy state module reset, and then connects the reference clock and releases the reset after the power stabilizes; The transaction convergence module releases the transaction freezing of the device end of the cross-generation PCIe bridging device; The host-side hot plug virtualization control module sends a signal to the host that the cross-generation PCIe bridging device and the device are plugged in; The host notifies the operating system to re-enum and re-train the link between the host and the cross-generation PCIe bridging device; The policy state module switches to an in-position state.
8. The hot-plug system of cross-generation PCIe bridging devices of claim 1, wherein: When the hot plug system of the cross-generation PCIe bridging device enters the second unplug mode, it is configured to perform the following steps: The policy state module switches to an unplug processing state; The transaction convergence module performs transaction convergence and freezing on the device end of the cross-generation PCIe bridging device, and notifies the reset and clock arrangement module, the power gating module, and the host-side hot plug virtualization control module after completion; The error containment module performs port containment on the device end of the cross-generation PCIe bridging device to prevent errors from spreading to the host; The reset and clock arrangement module disconnects the reference clock after resetting the reference clock and the policy state module; The power gating module performs controlled power-off on the device end of the cross-generation PCIe bridging device; The host-side hot plug virtualization control module reports a hot plug event to the host after receiving the signal that the power gating module has completed controlled power-off; The host notifies the operating system to perform driver uninstallation, and the host-side hot plug virtualization control module returns an indication to the policy state module after receiving the signal that the operating system completes uninstallation, so that the policy state module switches to a device-absent standby state; The cross-generation PCIe bridge device sends a signal indicating that the user equipment is not in place and can be inserted.
9. The hot-plug system of cross-generation PCIe bridging devices of claim 8, wherein: In the second pull-out mode, the host-side hot plug virtualization control module communicates with the transaction convergence module, the power gating module, and the reset and clock orchestration module to ensure that transaction convergence and freezing are completed first, then the reference clock is disconnected and power is turned off, and finally a hot plug event is reported to the host.
10. The hot-plug system of cross-generation PCIe bridging devices of claim 8, wherein: The power supply of the cross-generation PCIe bridge device and the equipment is divided into a device power supply domain and an equipment power supply domain, and in the second pull-out mode, the power gating module only turns off the equipment power supply domain.
11. The hot-plug system of cross-generation PCIe bridging devices of claim 8, wherein: The port containment includes switching the link state machine of the equipment side of the cross-generation PCIe bridge device from a working state to a disabled state, locally encapsulating error information, and notifying the host-side hot plug virtualization control module to report an event to the host as a compliance event, so that the host only receives a removal notification of the equipment.
12. The hot-plug system of cross-generation PCIe bridge devices according to claim 5 or 8, wherein: When the transaction convergence module performs transaction convergence and freezing, it also includes notifying the link state machine of the equipment side of the cross-generation PCIe bridge device to retreat from the working state to the detection state.
13. The hot-plug system of cross-generation PCIe bridge devices according to claim 5 or 8, wherein: When the transaction convergence module performs transaction convergence and freezing, it includes disabling new read and write and direct memory access requirements, returning an error completion response to a read request that has not been completed, and intercepting or absorbing confirmation of a write request.
14. The hot-plug system of cross-generation PCIe bridge devices according to claim 5 or 8, wherein: The controlled power-off refers to the power gating module providing power supply from 12 volts to 3.3 volts to the equipment side of the cross-generation PCIe bridge device, and then actively discharging the soft shutdown, and / or the equipment side of the cross-generation PCIe bridge device is provided with a diode structure that blocks reverse charging.
15. The hot-plug system of cross-generation PCIe bridging devices of claim 8, wherein: After the equipment is pulled out and then inserted back to the host and the cross-generation PCIe bridge device, the hot plug system of the cross-generation PCIe bridge device is configured to perform the following steps: When the state detection module detects that the equipment and the cross-generation PCIe bridge device establish a connection, and the host and the cross-generation PCIe bridge device remain connected, the hot plug system of the cross-generation PCIe bridge device enters a second insertion mode; The power gating module performs controlled power-on to the equipment side of the cross-generation PCIe bridge device; The reset and clock orchestration module first maintains the reference clock and resets the policy state module, and then connects the reference clock and releases the reset after the power supply is stable; The transaction convergence module releases the transaction freeze of the equipment side of the cross-generation PCIe bridge device; The host-side hot plug virtualization control module sends a signal to the host that the cross-generation PCIe bridge device and the equipment are inserted; The host notifies the operating system to re-enumerate; The policy state module switches to an in-place state.
Citation Information
Patent Citations
PCIe cross-version link capability mapping and transaction data reconstruction method
CN120762821A
Hot plug identification method and device for PCIe equipment and medium
CN109614286A
Hot plug stabilizing equipment and computer
CN113448416A