Dynamic pluggable module power management

CN118409923BActive Publication Date: 2026-08-18HEWLETT PACKARD ENTERPRISE DEV LP
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202310750886.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2023-01-30
Filing Date
2023-06-25
Publication Date
2026-08-18
Estimated Expiration
2043-06-25

Smart Images

  • Figure CN118409923B_ABST
    Figure CN118409923B_ABST
Patent Text Reader

Abstract

The present disclosure relates to dynamic pluggable module power management. An electronic device can include a plurality of ports configured to removably receive pluggable modules, such as optical transceivers. The electronic device can also include processing circuitry including a power management engine. The power management engine can be configured to monitor system attributes of the electronic device, port attributes of the ports, and / or pluggable module attributes of any pluggable modules installed in the ports. The power management engine can be further configured to dynamically select a high power mode or a low power mode for each of the pluggable modules installed in the ports based on the monitored attributes.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] introduction

[0002] Some electronic devices, such as computers and networking devices, have ports arranged to removably receive (e.g., in some cases, hot-swappable) pluggable auxiliary devices, sometimes referred to as pluggable modules. Ports (also called slots or sockets) may each include a receptacle for receiving the auxiliary device and one or more connectors disposed in the receptacle to mate with one or more complementary connectors of the pluggable auxiliary device, thereby establishing an electronic, optical, or other connection through which signals can be transmitted. Non-limiting examples of pluggable auxiliary devices include pluggable optical transceivers (e.g., quad small form factor pluggable (QSFP) connectors, eight small form factor pluggable (OSFP) connectors, etc.), PCIe cards, solid-state drives (SSDs) such as NVMe or M.2 SSDs, hard disk drives, power supplies, and other similar devices. Attached Figure Description

[0003] Alone or with Figure 1 This disclosure will be understood from the following detailed description. The accompanying drawings are included to provide a further understanding of this disclosure, and are incorporated in and form part of this specification. The drawings illustrate one or more examples of the teachings and, together with the description, explain certain principles and operations. In the drawings:

[0004] Figure 1 This is a block diagram illustrating an example electronic device.

[0005] Figure 2 This is a flowchart illustrating the process of the first example method.

[0006] Figure 3 This is a flowchart illustrating the process of the second example method.

[0007] Figure 4 This is a flowchart illustrating the process of the third example method.

[0008] Figure 5 This is a flowchart illustrating the process of the fourth example method.

[0009] Figure 6 This is a flowchart illustrating the process of the fifth example method. Detailed Implementation

[0010] As described above, in some systems, electronic devices (e.g., network switches) are configured to removably accept pluggable auxiliary devices (e.g., optical transceiver modules) inserted into ports (also called slots or sockets). Electronic devices configured to accept pluggable auxiliary devices may be referred to herein as “main electronic devices” to distinguish them from pluggable auxiliary devices. However, it should be understood that “main” is used only as a label in this context, and the term is not intended to otherwise limit the configuration or use of the electronic device. Pluggable auxiliary devices may also be referred to as “pluggable devices,” “auxiliary devices,” or “pluggable modules.”

[0011] Different pluggable modules can consume different amounts of power, even if they are of the same common type. For example, some pluggable optical transceivers might consume approximately 80W of power, while more moderate-power pluggable optical transceivers might consume approximately 20W per device. Furthermore, the same pluggable module may draw different amounts of power in different operating modes. For example, some pluggable auxiliary devices have high-power and low-power modes, and in high-power mode, the full functionality of the pluggable module is enabled, allowing the module to draw up to its maximum rated limit, while in low-power mode, the performance of the pluggable module is limited and the module can consume less power. For example, a pluggable module that draws 20W in high-power mode might draw 2W in low-power mode. In addition to the variability in power draw between different pluggable modules and between different operating modes, different pluggable modules generate different amounts of heat. While heat generation in pluggable modules is typically associated with their power draw, different pluggable modules may have more efficient heat dissipation, and therefore, even if two pluggable modules have the same power rating, they may have different thermal characteristics (e.g., one pluggable module may operate hotter than another).

[0012] Each main electronic device has a limited amount of power and cooling capacity that can be allocated to pluggable modules, and in many devices, this power and cooling capacity is less than the power and cooling capacity required to allow all ports to be simultaneously filled with high-power and / or high-thermal pluggable modules. In other words, in many main electronic devices, power and cooling capacity are designed to accommodate relatively moderate to low per-port power levels and thermal demands. Therefore, in such devices, moderate-power or low-power pluggable modules can be used to fill all ports of the system, but if high-power or high-thermal pluggable modules are used, it is possible that the system's power and / or cooling capacity may be exceeded (referred to herein as overload and overheating, respectively). High-power and / or high-thermal pluggable modules can still be used in such main electronic devices, but typically their number may need to be limited to fewer than all ports to avoid overload and / or overheating. For example, if a given electronic device has 200W of available power and 40 ports, the device might be able to fill all its ports with 5W or lower pluggable modules, or fill 10 of the ports (where the remaining ports are unused) with 20W pluggable modules, or some mixture of lower-power and higher-power pluggable modules. On the other hand, if 11 of the ports are filled with 20W modules, the total power draw (220W) will exceed the power capacity (200W), resulting in an overload condition. An overload condition may cause the electronic device to shut down or otherwise limit its performance. For example, in some cases, a restart cycle may occur when too many high-power pluggable modules are installed. In such a restart cycle, the system may restart in response to pluggable modules drawing excessive power, then draw excessive power again when the pluggable modules restart, triggering another restart, and this cycle may repeat until the system power is removed or enough modules are removed to meet the specifications of the electronic device.

[0013] To avoid overloading or overheating the main electronic equipment, manufacturers may specify limits on the number of high-power and / or high-thermal pluggable modules that can be used. These limits may be specified, for example, in the user manual or other similar documentation. However, users may not be aware of or notice these limits and may therefore install too many high-power or high-thermal pluggable modules, leading to system overload and / or overheating. In some cases, this overload or overheating may not occur immediately because the instantaneous power draw of a pluggable module can be variable, and therefore overload / overheating can occur at any time after the module is inserted. This delay and unpredictability can make it more difficult for users to pinpoint the cause of the problem when it eventually arises. Furthermore, even if users are aware of the limitations, they may find it difficult to remember specific limits (especially when there are many different limits specified for different types or combinations of modules), and it may be inconvenient for users to consult documentation every time they install a pluggable module to determine what the limits are and whether they have been met.

[0014] In addition to specifying limitations on the number of high-power and / or hot-swappable modules, some manufacturers may restrict which ports can accommodate such modules. For example, a manufacturer might specify that only the first M ports of the device can accommodate high-power or hot-swappable modules. Manufacturers may specify this in user manuals or other documents, and / or include visual indicators such as color codes or labels on the ports. However, users may not be aware of or notice the restrictions on the number of high-power modules specified. Furthermore, even if users are aware of which ports are limited to which type of module, restrictions on the use of only specific ports may be inconvenient, as they may expect to use other ports (e.g., for desired cable management layouts, or to avoid having to reposition already inserted modules).

[0015] Of course, one way to reduce the risk of overloading and / or overheating the main equipment is to provide it with increased power and cooling capacity. However, increasing the power and cooling capacity of the main electronic equipment can be expensive and difficult. Furthermore, designing the main electronic equipment to withstand worst-case scenarios (e.g., all ports packed with high-power and high-thermal-temperature pluggable modules) may not always be practical or economical. Additionally, as new pluggable modules with higher power and thermal requirements become available, even overbuilt equipment designed to withstand worst-case scenarios at the time of manufacture may become prone to overloading or overheating over time.

[0016] To address the problems described above, the example electronic device disclosed herein is configured to dynamically manage the power and / or cooling of pluggable modules installed therein to avoid exceeding the system's capacity, without requiring the user to worry about limitations on the number of pluggable modules or which ports can accommodate which modules. Specifically, the main electronic device includes a power management engine configured to dynamically set the power modes of the pluggable modules installed in the main electronic device, allowing each pluggable module to switch between high-power and low-power modes to avoid exceeding the system's power capacity and / or cooling capacity. These settings are dynamic because they change over time in response to changes in conditions such as the installation of new transceivers and / or changes in monitored system, port, and / or transceiver attributes (such as changes in the available power of the main electronic device).

[0017] For example, if a new pluggable module is installed in the system, the power management engine can determine, based on the current state of the system, whether operating the pluggable module at full power would cause a power overload. If so, the pluggable module is set to operate in a low-power mode to avoid overload. Conversely, if there is sufficient excess power to allow the new pluggable module to operate at full power, the power management engine can set the new pluggable module to a high-power mode to allow for maximum performance. The power management engine can perform similar determinations for pluggable modules based on the system's cooling capacity and the thermal properties of the pluggable module. For example, if the system's cooling capacity has been reached, the new pluggable module is set to a low-power mode, and if there is excess cooling capacity remaining, the new pluggable module is set to a high-power mode. These determinations can be made and updated dynamically, for example, at periodic intervals and / or in response to system changes (such as the addition or removal of pluggable modules, system startup, or other changes). In this way, the power management engine can ensure that the system remains within its power and thermal capabilities, regardless of the number and type of pluggable modules installed within it. Furthermore, users can freely install pluggable modules without having to consider limitations on the number of high-power or high-heat modules or on which ports can accommodate such modules.

[0018] In some examples, the power management engine monitors attributes of the electronic device (system attributes), port attributes (port attributes), and / or attributes of pluggable modules installed in the electronic device (module attributes), and can determine whether a pluggable module should be placed in a high-power mode or a low-power mode based on the monitored system attributes, port attributes, and / or module attributes. For example, in some implementations, system attributes include the total amount of power that can be allocated to the pluggable modules, and module attributes include the maximum power that each pluggable module can consume. In such an example, the power management engine can determine whether a pluggable module can be placed in a high-power mode based on whether the maximum power consumption of the pluggable module exceeds the remaining available power of the system.

[0019] As another example, in some implementations, the power management engine can determine whether a pluggable module can be placed in a high-power mode based on whether the current number of hot-swappable modules exceeds a predefined limit on the number of hot-swappable modules. This limit corresponds to one of the aforementioned system attributes and can be a predefined value. The power management engine can also identify hot-swappable modules based on information obtained from the pluggable modules, where the hot-swappable state is one of the aforementioned module attributes. In some examples, the system attribute can further include airflow direction, and there can be multiple different limits on the number of hot-swappable modules, one such limit for each airflow direction. For example, in some implementations, the pluggable modules are located at the rear of the electronic device, and in such a device, if the airflow is from the front to the rear of the device, the air reaching the pluggable modules will be preheated by the device at the front of the electronic device, and therefore the air may be cooled relatively less efficiently than if it were not preheated. Conversely, if the airflow is from the rear to the front of the device, the air reaching the pluggable modules will not be preheated and will be cooled relatively more efficiently. Therefore, depending on the airflow direction, the system can be able to cool different numbers of hot-swappable modules, and thus different limits can be set for each airflow direction. In such an example, the power management engine can determine whether a pluggable module can be placed in high-power mode based on the identified airflow direction and whether the current number of hot-swappable modules exceeds the maximum number of hot-swappable modules specified for that airflow direction.

[0020] As another example, in some implementations, the power management engine may determine whether each pluggable module can be placed in a high-power mode based on whether the current temperature of the pluggable module exceeds the maximum temperature per port associated with the port where the pluggable module is installed. The maximum temperature per port and module attributes may include the current temperature of each pluggable module. In such an example, the power management engine may determine whether the module can be placed in a high-power mode based on whether the current temperature of the pluggable module exceeds the maximum temperature of the port where the module is installed.

[0021] As another example, in some implementations, the power management engine may allow the user to schedule downtime for ports to save power when full capacity is not needed. In such an example, the power management engine determines whether each pluggable module can be placed in a high-power mode based on whether downtime is scheduled for ports where pluggable modules are installed.

[0022] These and other examples will be combined below. Figures 1 to 6 To describe in more detail.

[0023] Figure 1 An example electronic device 10 is illustrated. Electronic device 10 includes multiple ports 40 configured to removably receive a pluggable module 50 mounted therein. Electronic device 10 also includes processing circuitry 20, one or more power supply units 60, and a cooling system 70. Electronic device 10 is an example of a main electronic device as defined above. Electronic device 10 can be, for example, a network device (e.g., a switch), a computing device (e.g., a server), or any other electronic device including the processing circuitry and ports as described herein. The pluggable module 50 can be, for example, an optical transceiver (e.g., a QSFP connector, OSFP connector, etc.), a PCIe card, an SSD such as an NVMe or M.2 SSD, or other similar devices.

[0024] Each port 40 may include a receptacle (e.g., a slot) configured to removably receive a pluggable module 50 mounted therein. For example, the electronics device 10 may include a chassis or housing (not shown), and the receptacle of the port 40 may include an opening in the chassis or housing. Each port 40 may also include electrical connectors, optical connectors, and / or other connectors configured to communicatively connect with a complementary connector of the pluggable module 50 when the pluggable module 50 is mounted in the port 40. The connectors of the port 40 may include a power connection for supplying power to the pluggable module 50 when the pluggable module 50 is mounted in the port 40. Power is fed to the port 40 from one or more power supply units 60, such as… Figure 1 As indicated by the dotted line in the diagram. The connector of port 40 may also include a communication connection for transmitting data between the pluggable module 50 in port 40 and another part of the electronic device 10 (e.g., another port 40, processing circuitry 10, etc.). Figure 1 The diagram shows N ports 40_1, 40_2, ... 40_N, but the electronic device 10 may include any number of ports 40.

[0025] Electronic device 10 may also include additional ports (not shown) for connecting to communication paths other than the pluggable module 50, such as an RJ45 port for connecting to an Ethernet cable. These additional communication ports may be communicatively connected to port 40 (e.g., via processing circuitry 10) to allow communication between the pluggable module 50 and other devices coupled to the additional communication ports. For example, in some embodiments, electronic device 10 is a network switch, and port 40 is used with an optical transceiver to enable high-speed optical connections to devices capable of such optical communication (e.g., inter-switch communication between two top-of-rack switches), and the additional ports may also be used for non-optical communication (e.g., Ethernet) with other devices coupled to the switch (e.g., computing nodes).

[0026] One or more power supply units 60 are configured to supply power to various components of electronic device 10, such as port 40, processing circuitry 20, and cooling system 70. Power supply units 60 may include, for example, power converters configured to receive input power from outside electronic device 10 (e.g., AC mains power, high-voltage DC power, etc.) and convert the input power into one or more forms suitable for the various components. For example, power supply unit 60 may convert AC power to DC power and / or change the voltage of the DC power to one or more power signals suitable for the various components of the electronic device. In some examples, the power supply unit is configured to provide up to a specified amount of power (referred to herein as the total power capacity of the system) to computing system 10. A portion of the total power capacity is reserved for processing circuitry 20, cooling system 70, and other components of electronic device 10. The remaining portion of the power capacity not reserved for the rest of electronic device 10 is available for allocation to port 40, and this amount is referred to herein as system available power (SysPwr). Not only is there a limit to the total amount of power that can be allocated to port 40, but in some examples, each port 40 may have a corresponding limit to the amount of power it can individually receive (referred to herein as maximum power per port (PortMaxPwr_n)). As used herein, n is an index that identifies a particular port 40 or module 50, such that, for example, PortMaxPwr_1 refers to the maximum power per port of port 40_1, PortMaxPwr_2 refers to the maximum power per port of port 40_2, and so on. Furthermore, each port 40 may have a reserved power per port (ResPwr_n) corresponding to the amount of power reserved for port 40, separate from and separate from the amount that can be used by the pluggable module 50 installed therein. Therefore, for example, if pluggable module 50_2 inserted into port 40_2 can use up to 20W of power, and ResPwr_2 of port 40_2 is 1W, then the amount of power that should be allocated to port 40_2 to accommodate these needs would be 21W.

[0027] Cooling system 70 may include one or more cooling devices configured to help remove and dissipate heat from electronic device 10. For example, cooling system 70 may include air cooling infrastructure such as fans for airflow through electronic device 10, radiators in contact with heat-generating components, and heat transfer devices (e.g., heat pipes) for transferring heat between components. As another example, cooling system 70 may include liquid cooling infrastructure such as liquid supply and return lines, cold plates, fluid couplings, etc. In some examples, cooling system 70 cools not only the processing circuitry 20 and other aspects of electronic device 10, but also the pluggable module 50 inserted into port 40. For example, in the case of air cooling, at least some of the airflow generated by cooling system 70 may flow through or across port 40. As another example, in the case of liquid cooling, cold plates and / or heat transfer devices may be provided for some or all of port 40 to thermally couple the pluggable module 50 to the liquid coolant lines. Because the cooling system 70 can only remove a certain amount of heat from the computing system 10 per unit time, and because some of that capacity may need to be reserved for cooling the processing circuitry 20 or other components, the cooling available for the pluggable module 50 may be limited in some examples. Therefore, to avoid exceeding the system's cooling capacity, in some examples, each port 40 may have a maximum per-port temperature (PortMaxTemp) assigned to it (this may be stored in, for example, the storage medium of the processing circuitry 20).

[0028] Processing circuitry 20 includes (e.g., configured to instantiate) a power management engine 30. Processing circuitry 20 includes a processor configured to execute computer program instructions, dedicated hardware configured to perform specific operations, or some combination thereof. The processor may be, or include, for example, a microprocessor, a central processing unit (CPU), a system-on-a-chip (SoC), a graphics processing unit (GPU), a digital signal processor (DSP), or any other type of processor capable of executing computer program instructions. Dedicated hardware may be, or include, for example, an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), a complex programmable logic device (CPLD), an accelerator, a discrete logic device, or other hardware. Processing circuitry 20 may also include one or more storage media (e.g., non-transitory machine-readable media) storing variables, parameters, or other information used by processing circuitry 20. In those examples where processing circuitry 20 includes a processor, the storage medium may also store instructions executable by the processor to cause the processor to perform the operations described herein (e.g., operations 32 and 34 described below) and thereby instantiate all or part of the power management engine 30. The processing circuit 20 may also include switching logic that can switchably connect the ports 40 to each other to allow communication between the ports 40 (or more specifically, between devices connected to the ports 40).

[0029] As stated above, the processing circuitry 20 includes (e.g., configured to instantiate) a power management engine 30. The power management engine 30 is configured to perform operations 32 and 34, which will be described in more detail below.

[0030] Operation 32 includes monitoring system attributes, port attributes, and / or pluggable module attributes. These attributes may include fixed parameters stored in processing circuitry 20 (e.g., the system available power (SysPwr) described above), variables that change based on current conditions (e.g., the total power currently allocated to port 40 (AllctdPwr)), and measurable attributes or states (e.g., the current temperature of a component). In addition to port 40-specific attributes, system attributes include attributes that are associated with electronics 10 as a whole or as a component thereof. For example, system attributes may include the system available power (SysPwr), the amount of power currently allocated to port 40 (AllctdPwr), system thermal attributes (e.g., airflow direction, maximum number of high-heat modules 50, etc.), or other system attributes. Additional system attributes are described in more detail below with reference to various examples. Port attributes include any attributes specific to port 40, such as the maximum temperature per port (PortMaxTemp), maximum power per port (PortMaxPwr_n), the current temperature of the port, and the reserved power per port (ResPwr_n) mentioned above. Additional port attributes are described in more detail below with reference to various examples. Pluggable module attributes include any attributes specific to the pluggable module 50, such as maximum power per module, thermal attributes per module (e.g., whether the module is a high-heat module), maximum temperature per module, current temperature of the pluggable module 50, or other attributes. Additional pluggable module attributes are described in more detail below with reference to various examples.

[0031] Monitoring in operation 32 does not necessarily mean repetitive and continuous monitoring. Rather, monitoring simply means understanding the attribute being monitored, and this can be performed once or repeatedly. In some cases, some attributes are monitored only once or occasionally, while others are monitored more continuously. For example, attributes that do not typically change (such as SysPwr) may be monitored only once or infrequently, such as when the value stored for that attribute is read from the storage medium by the power management engine 30. Other attributes that may change more frequently over time (such as the temperature of the pluggable module) can be monitored repeatedly (e.g., continuously), at periodic intervals, and / or in response to events (e.g., the installation of a new pluggable module 50, power-on of device 10, or other events).

[0032] In operation 34, the power management engine 30 dynamically selects a high-power mode or a low-power mode for each of the pluggable modules 50 installed in port 40 based on monitored attributes. For example, the power management engine 30 uses system attributes, port attributes, pluggable module attributes, or some combination thereof to estimate whether placing the pluggable module 50 in high-power mode would overload the power capacity and / or exceed the thermal capacity of device 10, and can then place the pluggable module 50 in high-power mode or low-power mode accordingly. For example, if a new pluggable module 50 is installed in device 10, the power management engine 30 can determine whether the current amount of power available for allocation to module 50 (system attribute) exceeds the amount of power expected to be consumed by pluggable module 50 (pluggable module attribute), and if so, sets the pluggable module to operate in high-power mode, and if not, sets the pluggable module to operate in high-power mode. As another example, if a new pluggable module 50 is installed in device 10, the power management engine 30 can determine whether the pluggable module 50 is a high-heat module (pluggable module attribute), and if so, determine whether device 10 can have another high-heat module based on the specified maximum number of high-heat pluggable modules (system attribute). As another example, the power management engine 30 can determine whether the current temperature (pluggable module attribute) of the pluggable module 50 exceeds the highest temperature per port of the port 40 where the module 50 is installed (port attribute), and if so, set the pluggable module to low-power mode.

[0033] Operation 34 can be performed in response to an event such as a new pluggable module 50 being inserted into port 40 or device 10 being powered on or restarted. Operation 34 may also or alternatively be performed at a predetermined time (e.g., periodically or at scheduled times).

[0034] In some examples, operation 34 can be performed on each of the pluggable modules 50 installed in port 40. In some examples, ports 40 may have a predetermined order, and operation 34 can be performed on the pluggable modules 50 based on the order of ports 40. This allows for prioritization of ports 40 and the modules 50 inserted therein. For example, if the order is first port 40_1, then port 40_2, and so on to port 40_N, this means that pluggable modules 50 installed in lower-numbered ports (e.g., port 40_1) will have operation 34 performed on them first. When multiple modules 50 are installed, in the absence of sufficient power or cooling capacity to place all pluggable modules 50 in high-power mode, the module 50 that performs operation 34 earlier will have a greater chance of being placed in high-power mode than those for which operation 34 is performed later. In this way, by placing modules 50 in higher-priority ports 40, the user can still have some indirect control over which modules are placed in high-power mode. However, users do not need to use the higher-priority port 40 for the higher-power pluggable module 50—users are free to plug the higher-power module 50 into other ports 40, and they will operate in high-power mode if there is sufficient power and thermal clearance.

[0035] Turn now Figures 2 to 6 Methods 200 to 600 will be described. These methods 200 to 600 correspond to specific examples of operations 32 and 34 already described above. Thus, in some examples, the power management engine 30 is configured to execute method 200; in some examples, the power management engine 30 is configured to execute method 300; in some examples, the power management engine 30 is configured to execute method 400; in some examples, the power management engine 30 is configured to execute method 500; in some examples, the power management engine 30 is configured to execute method 600; and in some examples, the power management engine 30 is configured to execute a combination of two or more of methods 200 to 600 (any combination, including all). In some examples, the processing circuitry 20 may include computer program instructions stored on a storage medium corresponding to the various operations of methods 200, 300, 400, 500, and / or 600.

[0036] exist Figures 2 to 6 In the description, the pluggable module 50 is referred to as transceiver 50, but it should be understood that transceiver 50 is just one example of pluggable module 50, and the same approach can be applied to any type of pluggable module 50.

[0037] Figure 2Method 200 is illustrated. Method 200 begins at box 202, which includes monitoring system properties, port properties, and transceiver properties. Then, method 200 enters a loop including boxes 204 to 210, iteratively executing the loop for each port 40 where the transceiver has been installed.

[0038] Box 204 includes selecting the nth port 40 and the nth transceiver 50 for processing (the nth transceiver 50 is the transceiver 50 inserted into the nth port 40). In the initial iteration of the loop, n can be equal to an initial value (e.g., n = 1). Therefore, in the initial iteration, port 40_1 and the transceiver 50_1 installed therein are selected for processing. In subsequent iterations of the loop, the value of n may change, and therefore in each iteration, a different port 40 and transceiver 50 are selected in box 204. Although Figure 2 Not shown in the diagram, but if the nth port 40 does not have a transceiver 50 installed therein, then that port 40 can be skipped in box 204, and n can be incremented to consider selecting the next port 40 (if any).

[0039] In box 206, power management engine 30 determines whether to enable high-power mode for the nth transceiver 50 selected in box 204. This determination is based on attributes monitored in box 202. For example, the determination described above with respect to operation 34 can be performed in box 206. As another example, methods 300, 400, 500, and 600 include specific examples of how the determination in box 204 can be made. If it is determined that the transceiver should be placed in high-power mode, power management engine 30 can send an instruction to transceiver 50 to enter high-power mode. If it is determined that the transceiver should be placed in low-power mode, power management engine 30 can send an instruction to transceiver 50 to enter low-power mode.

[0040] In box 208, determine whether all ports 40 have been processed. If not, in box 210, increment n, and the method loops back to 204 for another iteration. If yes, the process ends.

[0041] Figure 3 Method 300 is illustrated. As described above, method 300 can be executed by power management engine 30 as part of operations 32 and 34. Furthermore, method 300 can be a specific example of method 200, wherein block 302 of method 300 is an example of block 202 of method 200, and blocks 306 to 318 of method 300 are examples of block 206 of method 200.

[0042] Box 302 includes identification system attributes, port attributes, and transceiver attributes. In this example, the system attributes include the system available power (SysPwr); the port attributes include the per-port reserved power (ResPwr_n) and the per-port maximum power (PortMaxPwr_n) for each port 40; and the transceiver attributes include the per-transceiver maximum power (XcvrMaxPwr_n) for each transceiver 50 installed in device 10.

[0043] In box 304, select the nth port 40 and transceiver 50, as in box 202.

[0044] In box 306, the total allocated power (AllctdPwr) is determined. AllctdPwr includes the sum of all power that has been allocated to port 40 so far in the process. Therefore, for example, in the first iteration, AllctdPwr will be equal to zero because no power has been allocated to port 40 yet; in the second iteration, AllctdPwr will be equal to any amount of power allocated to the first port 40_1 as part of the first iteration; during the third iteration, AllctdPwr will be equal to the sum of the power allocated to the first and second ports 40_1 and 40_2 in the first and second iterations, and so on. AllctdPwr is another example of a system property.

[0045] In box 308, determine the remaining power (RmnPwr) available for allocation to the port. RmnPwr equals SysPwr minus AllctdPwr. RmnPwr is another example of a system property.

[0046] In box 310, determine whether RmnPwr is greater than (or, in some cases, greater than or equal to) the maximum power per port (PortMaxPwr_n) of the nth port. Alternatively, it is equivalent to determining whether PortMaxPwr_n is equal to or less than RmnPwr. If RmnPwr exceeds PortMaxPwr_n (a "yes" branch), the process continues to box 312. If RmnPwr does not exceed PortMaxPwr_n (a "no" branch), the process continues to box 314.

[0047] In box 312, another determination is made, this time whether the attribute XcvrMaxPwr_n of the nth transceiver 50_n exceeds the PortMaxPwr_n of the nth port 40_n. If yes, the process continues to box 314. If no, the process continues to box 316.

[0048] In box 314, the nth transceiver 50_n is set to low-power mode. Note that box 314 is reached when the determination in box 310 is negative or when the determination in box 312 is positive. Therefore, the nth transceiver 50_n is set to low-power mode if either of the following conditions is true: (a) RmnPwr does not exceed PortMaxPwr_n (box 310) or (b) XcvrMaxPwr_n exceeds PortMaxPwr_n (box 312). Meeting these conditions implies a risk that if operating at full power, transceiver 50 will draw more power than port 40 can handle (PorMaxPwr_n) and / or more power is available for distribution (RmnPwr), and therefore may need to be placed in low-power mode to help avoid overloading device 10.

[0049] In box 316, high-power mode is enabled for the nth transceiver 50_n. Note that box 316 is reached when the result of the determination in box 310 is positive and when box 312 is indeed negative. Therefore, the nth transceiver 50_n is set to high-power mode only if both of the following conditions are true: (a) RmnPwr exceeds (or in some cases, equals) PortMaxPwr_n (box 310), and (b) XcvrMaxPwr_n does not exceed PortMaxPwr_n (box 312). Meeting these conditions means that even if transceiver 50 operates at full power, transceiver 50 will not draw more power than the power that port 40 can handle (PorMaxPwr_n) or more power than the power available for distribution (RmnPwr), and therefore it is safe to put transceiver 50 in high-power mode.

[0050] In box 318, power is allocated to the nth port 40_n. Specifically, the amount of power allocated is equal to XcvrMaxPwr_n minus ResPwr_n. That is, a certain amount of power is allocated to the nth port 40_n, such that the total allocation to the nth port 40_n reaches the maximum power XcvrMaxPwr_n of the nth transceiver. Because the nth port 40_n has already been allocated reserved power ResPwr_n, the additional power that needs to be allocated to make the total allocation reach XcvrMaxPwr_n is: XcvrMaxPwr_n - ResPwr_n.

[0051] In box 320, determine whether all ports have been processed. If yes, the process ends. If no, the process proceeds to box 322, where n is incremented, and then loops 304 through 320 are executed again.

[0052] Figure 4 Method 400 is illustrated. As described above, method 400 can be performed by the power management engine 30 as part of operations 32 and 34. Furthermore, method 400 can be a specific example of method 200, wherein block 402 of method 400 is an example of block 202 of method 200, and blocks 404 to 418 of method 400 are examples of block 206 of method 200.

[0053] Box 402 includes identification of system attributes and transceiver attributes. In this example, system attributes include system airflow direction (AirDir), system maximum thermal transceiver (MaxHT_D1) for a first airflow direction, and system maximum thermal transceiver (MaxHT_D2) for a second airflow direction; and transceiver attributes may include per-transceiver thermal attributes (XcvrTherm_n). The system airflow direction AirDir indicates the direction of airflow through device 10, wherein at least two possible directions exist for AirDir. For example, in some devices, air may flow from front to back or from back to front. The direction of airflow can be established at manufacturing time, for example, by the direction oriented by a fan. In other examples, the direction of airflow can be established at installation time—for example, a data center may have heat islands and cold islands, and device 10 may be configured in the field to have an airflow direction that matches the data center configuration. In some examples, when the airflow direction is fixed (e.g., at manufacturing time), the attribute AirDir can be stored in a storage medium. Different airflow directions can provide different cooling amounts to transceiver 50. For example, if the transceiver is located at the rear of device 10 and air flows from front to back, the air is preheated before reaching the transceiver 50 and is therefore less efficient at cooling the transceiver 50. Conversely, if air flows from back to front, the air is cooler when it reaches the transceiver 50 and can therefore cool the transceiver 50 more effectively. Therefore, the maximum number of high-heat transceivers that device 10 can accommodate may vary depending on the airflow direction, and thus the attributes MaxHT_D1 and MaxHT_D2 may differ. For example, during manufacturing, MaxHT_D1 and MaxHT_D2 may be programmed into the storage medium for each of the airflow directions. The transceiver attribute XcvrTherm_n indicates whether a transceiver is a high-heat transceiver. A high-heat transceiver can be one whose heat output exceeds a predetermined threshold. In some examples, transceivers 50 may be programmed, for example, by their manufacturer to have a binary value indicating whether they are high-heat, and this value may correspond to the XcvrTherm_n attribute. In other examples, transceiver 50 may be programmed to have a value that quantitatively indicates its heat output (e.g., number of watts), and device 10 may compare that value to a threshold to determine whether the transceiver is overheating.

[0054] In box 404, the maximum number (MaxHT) of high-heat transceivers of electronic device 10 is determined based on AirDir, MaxHT_D1, and MaxHT_D2. That is, if the airflow direction AirDir is D1, the parameter MaxHT is set to be equal to MaxHT_D1, and if AirDir is D2, the parameter MaxHT is set to be equal to MaxHT_D2.

[0055] In box 406, select the nth port 40 and transceiver 50, as in box 202.

[0056] In box 408, the current number (Num_HTXcvers) of the high-temperature transceivers 50 is determined. For the first iteration, Num_HTXcvers is zero, while in subsequent iterations, Num_HTXcvers can increase as the high-temperature transceivers 50 are processed.

[0057] In box 410, it is determined whether the currently being processed transceiver 50_n is a high-temperature transceiver, i.e., whether XcvrTherm_n is equal to high. If not, the process continues to box 418. If yes, the process continues to box 414.

[0058] In box 414, it is determined whether the number of thermally active transceivers, Num_HTXcvers, is less than the previously determined maximum number, MaxHT. If not, this means that no additional thermally active transceivers can be accommodated, and the process continues to box 412. In box 412, the nth transceiver 50_n is set to low-power mode. If the answer to box 414 is yes, an additional thermally active transceiver can be accommodated, and the process continues to box 416. In box 416, the number of thermally active transceivers is incremented, and then in box 418, high-power mode is enabled for the nth transceiver 50_n.

[0059] In box 420, it is determined whether all ports 40 have been processed. If yes, the process ends. If no, the process continues to box 422, where n is incremented, and then loops 406 to 418 are executed again for the next port 40.

[0060] Figure 5 Method 500 is illustrated. As described above, method 500 can be performed by power management engine 30 as part of operations 32 and 34. Furthermore, method 500 can be a specific example of method 200, wherein block 504 of method 500 is an example of block 202 of method 200, and blocks 506 to 510 of method 500 are examples of block 206 of method 200.

[0061] In box 502, select the nth port 40 and transceiver 50, as in box 202.

[0062] In box 504, port attributes and transceiver attributes are identified. Specifically, in this example, the port attributes include the maximum temperature per port (PortMaxTemp_n), and the transceiver attributes include the current temperature per transceiver (XcvrTemp_n). XcvrTemp_n can be read from the transceiver, which can monitor its own temperature. Alternatively, a temperature sensor can be set within each port 40 to monitor the temperature of transceiver 50.

[0063] In box 506, it is determined whether XcvrTemp_n exceeds PortMaxTemp_n. If so, the transceiver is too hot, and the process continues to box 508, where the transceiver is set to low-power mode. This helps to cool the transceiver. While some transceivers are configured to monitor their own temperature and take action (e.g., shut down) if the temperature exceeds a threshold, not all transceivers have this capability, and therefore box 506 helps prevent thermal overload of transceiver 50. Furthermore, even with transceiver 50 capable of self-correcting when it becomes too hot, the threshold used by the transceiver to make this determination may exceed PortMaxTemp_n, and therefore, if thermal control is left entirely to the transceiver, it is possible that ports 40 may exceed their thermal ratings for a period of time before transceiver 50 shuts down, potentially causing damage to the system. Therefore, boxes 506 and 508 help ensure that such overheating does not occur.

[0064] If XcvrTemp_n does not exceed PortMaxTemp_n, transceiver 50 will not overheat, and the process continues to box 510, where high-power mode is enabled for transceiver 50. This enable allows the transceiver to continue operating in high-power mode if it is already operating in this mode. If transceiver 50 was previously set to low-power mode because it was determined to be overheated in boxes 506 and 608, box 510 allows transceiver 50 to return to high-power mode after it has cooled sufficiently. In some examples, after switching transceiver 50 to low-power mode for overheating, a hysteresis value can be added to XcvrTemp_n in subsequent executions of method 500 (e.g., until the transceiver returns to high-power mode) to avoid excessively frequent cycling between high-power and low-power modes. Alternatively, after transceiver 50 switches to low-power mode for overheating, transceiver 50 can be excluded from further execution of method 500 until a predetermined time period has elapsed to avoid frequent cycling between high-power mode and low-power mode.

[0065] In box 512, it is determined whether all ports 40 have been processed. If not, the process continues to box 512, where n is incremented, and then loops 502 to 512 are executed again for the next port 40. If all ports have been processed, the process continues to box 516, where n is reset to its initial value (e.g., 1) and the process is executed again. In other words, method 500 can be repeated continuously (e.g., until interrupted by a command or event), thereby allowing constant temperature monitoring. A predetermined delay can be implemented between boxes 516 and 502 so that method 500 is executed at predetermined intervals (e.g., to reduce processing overhead).

[0066] Figure 6 Method 600 is illustrated. As described above, method 600 can be performed by the power management engine 30 as part of operations 32 and 34. Furthermore, method 600 can be a specific example of method 200, wherein block 604 of method 600 is an example of block 202 of method 200, and blocks 606 to 614 of method 600 are examples of block 206 of method 200.

[0067] In box 602, select the nth port 40 and transceiver 50, as in box 202.

[0068] In box 604, a power-saving configuration for the nth port 40 is identified. The power-saving configuration includes information indicating whether port 40 can be scheduled for downtime, and if so, the information indicates a schedule for such scheduled downtime. For example, downtime can be scheduled when port 40 is expected to be unused or only minimally used. This power-saving configuration is an example of a transceiver attribute. The power-saving configuration can be stored in the transceiver and / or storage medium of the electronic device. In some examples, the power-saving configuration can be user-configurable.

[0069] In box 606, it is determined whether port 40_n is currently scheduled for downtime based on the power-saving configuration. If yes, the process continues to box 608. If no, the process continues to box 610, where high-power mode is enabled for transceiver 50_n (and transceiver 50_n is turned on again if it was previously turned off).

[0070] In box 608, it is determined whether transceiver 50 is being used. In some examples, this determination may include determining whether any traffic flows through transceiver 50. In other examples, this determination may include determining whether traffic above a certain threshold level flows through transceiver 50. In some examples, this determination may be made about the current traffic level. In some examples, this determination may be made about historical traffic levels (e.g., the average traffic level over a period of time). If it is determined that transceiver 50_n is being used, the process continues to box 614, and transceiver 50_n is set to low-power mode. If it is determined that transceiver 50_n is not being used, the process continues to box 612, and transceiver 50_n is turned off.

[0071] In box 616, it is determined whether all ports have been processed. If not, the process continues to box 618, and n is incremented by 1. If yes, the process continues to box 620, and n is reset. In both cases, the process then loops back to perform another iteration from box 602 to box 616. A predetermined delay can be implemented between boxes 620 and 602 so that method 600 executes at predetermined intervals.

[0072] In methods 200, 300, 400, 500, and 600 described above, various operations are described based on iterative loops executed sequentially for each of the ports in port 40. It should be understood that such interactions can alternatively be performed simultaneously.

[0073] Furthermore, in methods 200, 300, 400, 500, and 600 described above, the enabling of a high-power mode is involved. In some examples where the power management engine 30 is configured to execute multiple methods in methods 200 to 600, enabling a high-power mode according to one of the methods does not necessarily mean that the high-power mode is turned on. Typically, for transceiver 50, the high-power mode is turned on only if the transceiver has not yet been set to a low-power mode by any of the applicable methods. If any of the applicable methods sets a given transceiver to a low-power mode, this allocation to the low-power mode takes precedence over any other method among the methods that enable the high-power mode. For example, if transceiver 50 is enabled in high-rate mode under method 300 because of sufficient power capacity, but the same transceiver is set to low-power mode under method 400 because of too many high-heat devices, the low-power mode setting of method 400 takes precedence, and transceiver 50 will be set to low-power mode.

[0074] In some examples, methods 300 and 400 may be executed in response to a new transceiver 50 being inserted into port 40 or in response to an electronic device 10 being turned on, and methods 500 and 600 may be executed periodically or continuously.

[0075] The above description describes various types of electronic circuits. As used herein, "electronic" is intended to be understood broadly to include all types of circuits that utilize electricity, including digital and analog circuits, direct current (DC) and alternating current (AC) circuits, circuits for converting electricity into another form of energy, and circuits for using electricity to perform other functions. In other words, as used herein, there is no distinction between "electronic" circuits and "electrical" circuits.

[0076] It should be understood that both the general description and the detailed description provide illustrative examples of an inherent nature and are intended to provide an understanding of this disclosure without limiting its scope. Various mechanical, compositional, structural, electronic, and operational changes may be made without departing from the scope of this specification and the claims. In some instances, well-known circuits, structures, and techniques have not been shown or described in detail to avoid obscuring the examples. The same numbers in two or more figures represent the same or similar elements.

[0077] Furthermore, unless the context otherwise indicates, the singular forms “a,” “an,” and “the” are intended to also include the plural forms. Additionally, the terms “comprising,” “including,” “including,” etc., indicate the presence of the stated features, steps, operations, elements, and / or components, but do not preclude the presence or addition of one or more other features, steps, operations, elements, components, and / or groups. Unless explicitly stated otherwise, components described as coupled may be directly electrically or mechanically coupled, or they may be indirectly coupled via one or more intermediate components. Unless the context otherwise indicates, mathematical and geometric terms are not necessarily intended to be used according to their strict definitions, as those skilled in the art will understand that, for example, substantially similar elements acting in substantially similar ways may readily fall within the scope of descriptive terms, even if those terms also have strict definitions.

[0078] And / or: Occasionally, the phrase “and / or” is used in conjunction with a list of items in this text. This phrase means that any combination of items in the list can be included—from a single item to all items, and any permutation in between. Thus, for example, “A, B and / or C” means one of “{A}, {B}, {C}, {A, B}, {A, C}, {C, B}, and {A, C, B}”.

[0079] An element and its associated aspects described in detail with reference to an example may, where practicable, be included in other examples where the element and its associated aspects are not specifically shown or described. For example, if an element is described in detail with reference to an example and not with reference to a second example, the element may still be claimed as being included in the second example.

[0080] Unless otherwise stated herein or implied by the context, the use of approximate terms such as “substantially,” “approximately,” “about,” “around,” “probably,” etc., should be understood as meaning that mathematical precision is not required, but rather refers to a range of variation that includes, but is not strictly limited to, the stated value, property, or relationship. In particular, apart from any range explicitly stated herein (if any), the range of variation implied by the use of such approximate terms includes at least any insignificant variations and those typical in the relevant field for items of the type discussed due to manufacturing or other tolerances. In any case, unless otherwise indicated, the range of variation may include at least values ​​within ±1% of the stated value, property, or relationship.

[0081] Given the disclosure herein, further modifications and alternative examples will be apparent to those skilled in the art. For example, apparatus and methods may include additional components or steps omitted from the figures and description for clarity of operation. Accordingly, this description is to be interpreted only as illustrative and intended to teach those skilled in the art the general manner of performing this teaching. It should be understood that the various examples shown and described herein are to be considered exemplary. Those illustrated and described herein may be replaced by elements and materials, and arrangements of such elements and materials, parts and processes may be reversed, and certain features of this teaching may be utilized independently, all of which will be apparent to those skilled in the art upon benefiting from the description herein. Changes may be made to the elements described herein without departing from the scope of this teaching and the appended claims.

[0082] It should be understood that the specific examples described herein are non-limiting, and modifications can be made to the structure, dimensions, materials, and methods without departing from the scope of this teaching.

[0083] In view of the specification and practice of the invention disclosed herein, other examples based on this disclosure will be apparent to those skilled in the art. The specification and examples are intended to be illustrative only, and the appended claims shall enjoy their fullest breadth, including equivalents, under applicable law.

Claims

1. An electronic device, comprising: Multiple ports, the multiple ports being configured to removably receive pluggable modules; as well as Processing circuitry, the processing circuitry including a power management engine, the power management engine being configured to: Monitor the system properties of the electronic device, including determining the maximum number of hot-swappable modules; Monitor the pluggable module properties of any pluggable module installed in the port, including obtaining per-module thermal properties from each pluggable module indicating whether the corresponding pluggable module is a high-heat pluggable module; and Based on the monitored attributes, a high-power mode or a low-power mode is dynamically selected for each of the pluggable modules installed in the port. The pluggable module attributes include a per-module power-saving configuration, which includes information about scheduled downtime; and The power management engine is configured to dynamically select either the high-power mode or the low-power mode for each of the pluggable modules based on the per-module power saving configuration.

2. The electronic device as claimed in claim 1, in, The power management engine is configured to monitor port attributes; The system attributes include the total power available for the port. The port attributes include the maximum power per port. The pluggable module attributes include the maximum power per module, and The power management engine is configured to further dynamically select the high-power mode or the low-power mode for each of the pluggable modules based on the total power available to the port, the maximum power per port, and the maximum power per module.

3. The electronic device as described in claim 2, in, The power management engine is configured to iteratively determine, for each of the ports, whether the unallocated portion of the total power available to the port exceeds the maximum power per port.

4. The electronic device as described in claim 3, in, The power management engine is configured to iteratively determine, for each of the pluggable modules, whether the maximum power per module of the corresponding pluggable module exceeds the maximum power per port of the port in which the corresponding pluggable module is installed.

5. The electronic device as claimed in claim 1, in, The power management engine is configured to dynamically select the high-power mode or the low-power mode in response to one or both of the following: The new pluggable module is installed in one of the ports, and The electronic device was turned on.

6. The electronic device as claimed in claim 1, in, The power management engine is configured to iteratively perform the following operations for each of the pluggable modules: Based on the thermal properties of each module, determine whether the pluggable module is a high-heat pluggable module. In response to the fact that the pluggable module is a high-heat pluggable module, the pluggable module is set to the high-power mode or the low-power mode based on whether the current number of high-heat pluggable modules is less than the maximum number of high-heat pluggable modules.

7. The electronic device as claimed in claim 1, in, The power management engine is configured to monitor port attributes, including the highest temperature per port. The pluggable module attributes include the temperature sensed by each module; and The power management engine is configured to further dynamically select the high-power mode or the low-power mode for each of the pluggable modules based on the sensed temperature of each module and the highest temperature of each port.

8. The electronic device as claimed in claim 7, in, The power management engine is configured to determine, for each of the pluggable modules, whether the per-module sensed temperature of the respective pluggable module exceeds the highest temperature of the port in which the respective pluggable module is installed.

9. The electronic device as claimed in claim 7, in, The power management engine is configured to periodically and dynamically select the high-power mode or the low-power mode for each of the pluggable modules based on the sensed temperature of each module and the highest temperature of each port.

10. The electronic device as claimed in claim 1, in, The power management engine is configured to determine, for each of the pluggable modules, whether to schedule the corresponding pluggable module for downtime based on the per-module power saving configuration.

11. The electronic device as claimed in claim 1, in, The pluggable module includes an optical transceiver.

12. The electronic device as claimed in claim 1, in, The thermal properties of each module include a self-identifier for classifying the pluggable module as a high-heat pluggable module or a low-heat pluggable module.

13. The electronic device as claimed in claim 12, in, The classification self-identifier includes a binary value programmed into the pluggable module to classify whether the pluggable module is a high-heat pluggable module.

14. The electronic device as claimed in claim 1, in, The thermal properties of each module include values ​​that quantitatively indicate the expected thermal output of the pluggable module.

15. An electronic device comprising: Multiple ports, the multiple ports being configured to removably receive pluggable modules; as well as Processing circuitry, the processing circuitry including a power management engine, the power management engine being configured to: The system attributes of the electronic device are monitored, including the airflow direction through the electronic device, the maximum number of high-heat modules for a first airflow direction, and the maximum number of high-heat modules for a second airflow direction. Monitor the pluggable module properties of any pluggable module installed in the port, wherein the pluggable module properties include per-module thermal properties; and Based on the airflow direction, the maximum number of high-heat modules for the first airflow direction, the maximum number of high-heat modules for the second airflow direction, and the thermal properties of each module, a high-power mode or a low-power mode is dynamically selected for each pluggable module in the pluggable modules.

16. The electronic device as claimed in claim 15, in, The system attributes include the airflow direction through the electronic device, the maximum number of high-heat modules for the first airflow direction, and the maximum number of high-heat modules for the second airflow direction. and The power management engine is configured to determine the maximum number of high-heat modules based on the airflow direction, the maximum number of high-heat modules for the first airflow direction, and the maximum number of high-heat modules for the second airflow direction.

17. A method comprising: Monitoring system properties of electronic devices that include multiple ports, including determining the maximum number of hot-swappable modules, said multiple ports being configured to removably accommodate pluggable modules; Monitor the pluggable module properties of any pluggable module installed in the port, including obtaining per-module thermal properties from each pluggable module indicating whether the corresponding pluggable module is a high-heat pluggable module; and Based on the monitored attributes, port attributes, and pluggable module attributes, a high-power mode or a low-power mode is dynamically selected for each pluggable module installed in the port. Monitor the port attributes of the port. The system attributes include the total power available for the port. The port attributes include the maximum power per port. The pluggable module attributes include the maximum power per module, and The dynamic selection of the high-power mode or the low-power mode for each of the pluggable modules includes: Iteratively determine, for each of the ports, whether the unallocated portion of the total power available to that port exceeds the maximum power per port; and For each of the pluggable modules, iteratively determine whether the maximum power of each pluggable module exceeds the maximum power of each port on which the pluggable module is installed.

18. A method comprising: Monitoring system properties of electronic devices that include multiple ports, including determining the maximum number of hot-swappable modules, said multiple ports being configured to removably accommodate pluggable modules; Monitor the pluggable module properties of any pluggable module installed in the port, including obtaining per-module thermal properties from each pluggable module in the pluggable modules that indicate whether the corresponding pluggable module is a high-heat pluggable module; as well as Based on the monitored system attributes, port attributes, and pluggable module attributes, a high-power mode or a low-power mode is dynamically selected for each pluggable module installed in the port. The system attributes include the airflow direction of the electronic device, the maximum number of high-heat modules for the first airflow direction, and the maximum number of high-heat modules for the second airflow direction. The dynamic selection of the high-power mode or the low-power mode for each of the pluggable modules includes: For each of the pluggable modules, iteratively determine whether the pluggable module is a high-heat pluggable module based on the thermal properties of each module; The maximum number of high-heat modules is determined based on the airflow direction, the maximum number of high-heat modules for the first airflow direction, and the maximum number of high-heat modules for the second airflow direction; and In response to determining that a given pluggable module is a high-heat pluggable module, determine whether the current number of high-heat modules is equal to or exceeds the maximum number of high-heat modules.

Citation Information

Patent Citations

  • Receptacle assembly with heat extraction from a pluggable module

    CN105552625A

  • Low-voltage portable pluggable refined reactive power compensation device and monitoring system

    CN114156899A