Control method, device and system of controller

By monitoring the temperature of the heat dissipation device and controller, setting the temperature threshold and dynamic load balancing algorithm, the controller overheating problem caused by heat dissipation abnormalities is solved, and the continuity and stability of storage services are achieved, avoiding downtime and data loss.

CN120255677APending Publication Date: 2025-07-04INSPUR SUZHOU INTELLIGENT TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510405030.9
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-04-01
Publication Date
2025-07-04

AI Technical Summary

Technical Problem

During the high load operation of the storage device, abnormal heat dissipation device causes the heat accumulation rate to far exceed the heat dissipation allowance, causing overheating and protective downtime of the controller, resulting in business interruption and data loss.

Method used

By monitoring the working state of the heat dissipation device and the actual temperature of the controller, setting the three-level temperature threshold, determining the target working state, and using dynamic weight polling algorithm and path priority adjustment, the target controller is controlled to enter the corresponding working state to avoid heat accumulation exceeding the heat dissipation allowance.

Benefits of technology

It realizes the continuity of storage services in the abnormal heat dissipation scenarios, avoids business interruptions and data loss caused by overheating and downtime of the controller, ensures load migration and load balancing, and improves data transmission efficiency and stability of storage services.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120255677A_ABST
    Figure CN120255677A_ABST
Patent Text Reader

Abstract

The invention discloses a control method, device and system of a controller, and belongs to the technical field of controllers. The control method of the controller comprises the steps that the working state of each heat dissipation device and the actual temperature corresponding to each controller are acquired; under the condition that it is determined that a target heat dissipation device in the at least one heat dissipation device is abnormal based on the working state, determining a target working state based on the actual temperature; and controlling a target controller corresponding to the target heat dissipation device to enter the target working state. According to the control method of the controller, under the scene of abnormal heat dissipation, the situation that the heat accumulation rate is far higher than the heat dissipation allowance is avoided, so that the situation that service interruption and even data loss are caused by overheat protective downtime of the controller is avoided, and storage service continuity guarantee under the scene of abnormal heat dissipation is achieved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application belongs to the technical field of controllers, and particularly relates to a control method, device, and system for a controller. Background Art

[0002] During the high-load operation of storage devices, heat accumulation continuously occurs in the controller and storage medium, and the heat dissipation device becomes the core component to maintain system reliability. An abnormal heat dissipation device will directly cause the storage temperature to soar, leading to problems such as data read / write errors, controller frequency reduction, and even hardware failure. In the controller control method in related technologies, when detecting an abnormal heat dissipation device, a static alarm is triggered. When a large-scale sequential write request is continuously issued by the front-end host, this method will cause an imbalance between the power consumption of the controller and the heat dissipation capacity of the heat dissipation device, resulting in the heat accumulation rate far exceeding the heat dissipation margin, and ultimately leading to overheat protection shutdown of the controller, causing service interruption and even data loss. Summary of the Invention

[0003] This application aims to at least solve one of the technical problems existing in the related technologies. For this purpose, this application proposes a control method, device, and system for a controller, which realizes the guarantee of storage service continuity in the case of abnormal heat dissipation.

[0004] In a first aspect, this application provides a control method for a controller. At least one controller is arranged in a chassis, and at least one heat dissipation device is arranged in the chassis. The at least one controller and the at least one heat dissipation device are arranged in one-to-one correspondence; the method includes:

[0005] Obtain the working states of the heat dissipation devices and the actual temperatures corresponding to the controllers.

[0006] When it is determined that a target heat dissipation device among the at least one heat dissipation device is abnormal based on the working state, determine a target working state based on the actual temperature.

[0007] Control the target controller corresponding to the target heat dissipation device to enter the target working state, and the target working state is used to stop data transmission.

[0008] According to the control method for a controller provided by the embodiments of this application, by monitoring the working states of the heat dissipation devices and the actual temperatures of the controllers, when it is determined that a heat dissipation device is abnormal, the target working state can be determined according to the actual temperature of the target controller corresponding to the abnormal heat dissipation device, so as to control the target controller to enter the target working state, avoiding the situation where the heat accumulation rate far exceeds the heat dissipation margin in the case of abnormal heat dissipation, and thus avoiding the situation of service interruption and even data loss caused by overheat protection shutdown of the controller, realizing the guarantee of storage service continuity in the case of abnormal heat dissipation.

[0009] A control method for a controller according to an embodiment of the present application, determining a target working state based on the actual temperature, includes:

[0010] When the actual temperature is greater than or equal to a first threshold and less than a second threshold, determining the target working state as a first working state, where the first working state is used to forward a data transmission request received by the target controller to other controllers among the at least one controller except the target controller;

[0011] When the actual temperature is greater than or equal to the second threshold and less than a third threshold, determining the target working state as a second working state, where the second working state is used to isolate the data transmission path of the target controller;

[0012] When the actual temperature is greater than the third threshold, determining the target working state as a third working state, where the third working state is used to shut down the target controller, and the second threshold is greater than the first threshold and less than the third threshold.

[0013] A control method for a controller according to an embodiment of the present application, where forwarding a data transmission request received by the target controller to other controllers among the at least one controller except the target controller includes:

[0014] Calculating weights corresponding to each of the other controllers based on the load conditions corresponding to each of the other controllers;

[0015] Forwarding the data transmission request to each of the other controllers by using a dynamic weight polling algorithm based on the weights corresponding to each of the other controllers.

[0016] A control method for a controller according to an embodiment of the present application, where isolating the data transmission path of the target controller includes:

[0017] Receiving a path degradation event corresponding to the target controller;

[0018] In response to the path degradation event, updating the priorities of the transmission paths corresponding to each of the controllers;

[0019] Isolating the data transmission path of the target controller based on the new priorities of the transmission paths corresponding to each of the controllers.

[0020] A control method for a controller according to an embodiment of the present application, after the control causes the target controller corresponding to the target heat dissipation device to enter the target working state, the method further includes:

[0021] When it is determined that the target heat dissipation device is normal based on the new working state of the target heat dissipation device and the new actual temperature corresponding to the target controller is less than the target temperature threshold, control the target controller to exit the target working state to continue data transmission;

[0022] When it is determined that the target heat dissipation device is abnormal based on the new working state of the target heat dissipation device and / or the new actual temperature corresponding to the target controller is greater than or equal to the target temperature threshold, control the target controller to maintain the target working state.

[0023] The control method of the controller according to an embodiment of the present application, where the control to make the target controller exit the target working state includes:

[0024] Restore the data transmission path corresponding to the target controller, and allocate data transmission tasks to the target controller through the data transmission path based on the target slope;

[0025] When it is determined that the data transmission paths corresponding to all the controllers are normal, control all the controllers to enter the multi-path load balancing mode.

[0026] In a second aspect, the present application provides a control device for a controller. At least one controller is disposed in a chassis, and at least one heat dissipation device is disposed in the chassis. The at least one controller and the at least one heat dissipation device are disposed in one-to-one correspondence; the device includes:

[0027] An acquisition module, configured to acquire the working states of the heat dissipation devices and the actual temperatures corresponding to the controllers;

[0028] A first processing module, configured to determine a target working state based on the actual temperature when it is determined that a target heat dissipation device among the at least one heat dissipation device is abnormal based on the working state;

[0029] A control module, configured to control a target controller corresponding to the target heat dissipation device to enter the target working state, where the target working state is used to stop data transmission.

[0030] According to the control device of the controller provided by the embodiments of the present application, by monitoring the working state of the heat dissipation device and the actual temperature of the controller, when it is determined that the heat dissipation device is abnormal, the target working state can be determined according to the actual temperature of the target controller corresponding to the abnormal heat dissipation device, so as to control the target controller to enter the target working state, avoiding the situation where the heat accumulation rate far exceeds the heat dissipation margin in the case of abnormal heat dissipation, thereby avoiding the situation of service interruption or even data loss caused by the overheat protection shutdown of the controller, and realizing the guarantee of storage service continuity in the case of abnormal heat dissipation.

[0031] In a third aspect, the present application provides a control system of a controller based on the control method of the controller as described in the first aspect, including:

[0032] A main control device;

[0033] At least one controller, each of the controllers is respectively connected to the main control device; the main control device is used to control the at least one controller based on the control method of the controller as described in the first aspect.

[0034] According to the control system of the controller provided by the embodiments of the present application, by monitoring the working state of the heat dissipation device and the actual temperature of the controller, when it is determined that the heat dissipation device is abnormal, the target working state can be determined according to the actual temperature of the target controller corresponding to the abnormal heat dissipation device, so as to control the target controller to enter the target working state, avoiding the situation where the heat accumulation rate far exceeds the heat dissipation margin in the case of abnormal heat dissipation, thereby avoiding the situation of service interruption or even data loss caused by the overheat protection shutdown of the controller, and realizing the guarantee of storage service continuity in the case of abnormal heat dissipation.

[0035] For the control system of the controller according to an embodiment of the present application, the controller includes:

[0036] A chassis management module;

[0037] A front-end IO module, the front-end IO module is respectively connected to the main control device and the chassis management module;

[0038] An IO forwarding module, the IO forwarding module is respectively connected to the front-end IO module and the chassis management module, and the IO forwarding modules in each controller are connected.

[0039] In a fourth aspect, the present application provides an electronic device, including a memory, a processor, and a computer program stored on the memory and executable on the processor, and when the processor executes the computer program, it implements the control method of the controller as described in the first aspect above.

[0040] Fifth aspect, the present application provides a non-transitory computer-readable storage medium, on which a computer program is stored, and when the computer program is executed by a processor, it implements the control method of the controller as described in the first aspect above.

[0041] Sixth aspect, the present application provides a computer program product, including a computer program, and when the computer program is executed by a processor, it implements the control method of the controller as described in the first aspect above.

[0042] One or more of the above technical solutions in the embodiments of the present application have at least one of the following technical effects:

[0043] By monitoring the working state of the heat dissipation device and the actual temperature of the controller, it is possible to determine the target working state according to the actual temperature of the target controller corresponding to the abnormal heat dissipation device when it is determined that the heat dissipation device is abnormal, so as to control the target controller to enter the target working state, avoiding the situation where the heat accumulation rate far exceeds the heat dissipation margin in the case of abnormal heat dissipation, thereby avoiding the situation of service interruption or even data loss caused by the overheat protection shutdown of the controller, and realizing the guarantee of storage service continuity in the case of abnormal heat dissipation.

[0044] Furthermore, by setting three-level thresholds to determine the working state that the target controller needs to enter according to the threshold interval where the actual temperature is located, it realizes differential regulation based on the actual temperature of the target controller, thereby realizing a gradient response from load migration to safe shutdown, ensuring the guarantee of storage service continuity in the case of abnormal heat dissipation of the heat dissipation device.

[0045] Even further, by obtaining the weights corresponding to other controllers and using the dynamic weight polling algorithm to forward the data transmission request corresponding to the target controller to other controllers, it can achieve real-time adaptive load balancing and avoid local overload.

[0046] Still further, by gradually restoring the IO quota of the target controller, it avoids the system oscillation problem caused by sudden load increase. By entering the multi-path load balancing mode when all data transmission paths are normal, it improves the overall efficiency of data transmission and storage and reduces the delay of service recovery.

[0047] The additional aspects and advantages of the present application will be partially given in the following description, partially become obvious from the following description, or be understood through the practice of the present application. BRIEF DESCRIPTION OF THE DRAWINGS

[0048] To more clearly illustrate the embodiments of the present application, the accompanying drawings required for use in the embodiments will be briefly introduced below. Obviously, the accompanying drawings in the following description are only some embodiments of the present application. For those of ordinary skill in the art, without creative efforts, other accompanying drawings can be obtained based on these drawings.

[0049] Figure 1 is a schematic flowchart of the control method of the controller provided by the embodiment of the present application;

[0050] Figure 2 is a schematic architecture diagram of the control system of the controller provided by the embodiment of the present application;

[0051] Figure 3 is a schematic structural diagram of the control device of the controller provided by the embodiment of the present application;

[0052] Figure 4 is a schematic structural diagram of the electronic device provided by the embodiment of the present application. Specific Embodiments

[0053] The technical solutions in the embodiments of the present application will be clearly described below with reference to the accompanying drawings in the embodiments of the present application. Obviously, the described embodiments are some, rather than all, of the embodiments of the present application. All other embodiments obtained by those of ordinary skill in the art based on the embodiments of the present application fall within the scope of protection of the present application.

[0054] The terms "first", "second", etc. in the specification and claims of the present application are used to distinguish similar objects, rather than to describe a specific order or sequence. It should be understood that such data can be interchanged under appropriate circumstances so that the embodiments of the present application can be implemented in an order other than those illustrated or described herein, and the objects distinguished by "first", "second", etc. are generally of the same type, and the number of objects is not limited. For example, the first object can be one or more. In addition, "and / or" in the specification and claims means at least one of the connected objects, and the character " / " generally represents an "or" relationship between the associated objects before and after.

[0055] The control method of the controller, the control device of the controller, the electronic device, and the readable storage medium provided by the embodiments of the present application will be described in detail below with reference to the accompanying drawings through specific embodiments and their application scenarios.

[0056] Among them, the control method of the controller can be applied to a terminal and can be specifically executed by hardware or software in the terminal.

[0057] The terminal includes, but is not limited to, portable communication devices such as mobile phones or tablet computers having a touch-sensitive surface (e.g., a touch screen display and / or a touchpad). It should also be understood that, in some embodiments, the terminal may not be a portable communication device, but a desktop computer having a touch-sensitive surface (e.g., a touch screen display and / or a touchpad).

[0058] In the following various embodiments, terminals including a display and a touch-sensitive surface are described. However, it should be understood that the terminal may include one or more other physical user interface devices such as a physical keyboard, a mouse, and a joystick.

[0059] The control method of the controller provided in the embodiments of the present application may be executed by an electronic device or a functional module or functional entity in the electronic device that can implement the control method of the controller. The electronic devices mentioned in the embodiments of the present application include, but are not limited to, mobile phones, tablet computers, computers, cameras, and wearable devices, etc. Hereinafter, the control method of the controller provided in the embodiments of the present application will be described by taking the electronic device as the execution subject as an example.

[0060] As Figure 1 shown, the control method of the controller includes: step 110, step 120, and step 130.

[0061] It should be noted that at least one controller is disposed in the chassis, at least one heat dissipation device is disposed in the chassis, and at least one controller and at least one heat dissipation device are disposed in one-to-one correspondence.

[0062] The controller may be a storage controller. The storage controller is the core hardware in a computer system that connects a main device (such as a CPU) to a storage medium (such as a memory or a hard disk). The storage controller may be used for operations such as data reading and writing.

[0063] The heat dissipation device may include a plurality of radiators. The radiator may include a heat sink or a fan, etc. For example, a plurality of fans may be disposed in one heat dissipation device. In the case where any one of the plurality of fans is abnormal, it may be determined that the heat dissipation device is abnormal. The controller may be in direct contact with the heat dissipation device, or an independent cooling fan may be configured in the area where the controller is disposed to form an independent air duct system. The setting manner between the controller and the heat dissipation device may be based on user customization, and the present application does not make any limitation.

[0064] It should be noted that the control method of the controller provided in the embodiments of the present application may control the controllers in one chassis or multiple chassis, and the present application does not make any limitation.

[0065] Step 110: Obtain the working states of the heat dissipation devices and the actual temperatures corresponding to the controllers.

[0066] In this step, the operating state of the heat dissipation device may include the rotational speed deviation rate of the heat dissipation device (actual rotational speed / nominal rotational speed), fault flag bits, drive current waveform, vibration analysis, etc.

[0067] A temperature sensor may be set on the surface of the controller to collect the actual temperature corresponding to the controller based on the temperature sensor.

[0068] The actual temperature may include the CPU core temperature (Digital Thermal Sensor (DTS)), the controller SoC junction temperature (through the Power Management Bus (PMBus)), the storage medium temperature (NAND (Non-Volatile Flash Technology) TS), etc.

[0069] During the actual execution process, the chassis management module may establish a session with the BMC (Baseboard Management Controller) / SAS Expander (Serial Attached SCSI) through the IPMI (Intelligent Platform Management Interface) protocol / SES protocol (SCSI Enclosure Services), and may periodically (such as every 5 s) obtain the operating state of the heat dissipation device and the actual temperature corresponding to the controller.

[0070] For example, the BMC may interact with an external management device through the IPMI protocol, and the SAS Expander may manage storage devices through the SES protocol.

[0071] The rotational speed deviation rate of the fan may be obtained through the IPMI protocol, and a sliding window algorithm may be used to detect rotational speed jitter (an early warning is triggered when the standard deviation > 5%).

[0072] A three-dimensional heat conduction model may be established based on the controller layout, the SoC junction temperature may be read through the PMBus interface, and combined with the NAND flash TS (temperature sensor) data to predict the hot spot diffusion path.

[0073] In some embodiments, before obtaining the operating state of each heat dissipation device and the actual temperature of each controller, the storage device may be controlled to power on and initialize, the storage management software stack may be loaded, the chassis management service, the IO protocol stack, and the multipath driver may be started, and then the health status of each controller node and the BMC / SAS Expander communication link may be verified.

[0074] For example, a POST (power-on self-test) can be performed through the BMC to check the PCIe link training status of the controller SoC, the health of the NAND flash memory (using SMART data), and the SAS expander firmware version.

[0075] You can load a lightweight storage management microkernel (<500KB), establish an NVMe / TCP control channel with the host, and initialize the load balancing table of the multipath driver (such as MLIO) to initialize the software stack.

[0076] Step 120: when it is determined based on the working state that a target heat dissipation device in at least one heat dissipation device is abnormal, determine a target working state based on the actual temperature;

[0077] In this step, when it is detected that the speed of the heat sink exceeds a preset threshold, the communication of the heat sink is interrupted, or harmonic distortion occurs in the fan drive current waveform, it can be determined that the heat sink is abnormal, and an event alarm can be pushed to the chassis management module through an interrupt mechanism (such as SMBus Alert). The alarm information can then be pushed to the user management interface, or it can also be pushed to the user's mailbox. It can be based on user customization and is not limited in this application.

[0078] A plurality of different temperature thresholds can be set, and each temperature threshold corresponds to a working state of the controller.

[0079] For example, when the heat dissipation device is normal and the actual temperature is lower than the threshold value T1, the controller maintains a normal working state; when the heat dissipation device is abnormal and the actual temperature is between T1 and T2, the controller can reduce performance to reduce heat; when the actual temperature exceeds T2, the controller can enter a protection state and issue an alarm.

[0080] The working state of the controller can be dynamically adjusted according to the comparison result between the current temperature and the preset threshold.

[0081] During the actual execution process, after receiving the alarm information, the chassis management module can start a 30s anti-shake filter window. For example, the working status of the heat dissipation device and the actual temperature of the controller can be continuously collected during the window period to eliminate transient interference; and the issuance of control instructions can be disabled to maintain the system default operating mode to reduce misjudgment.

[0082] Step 130: Control the target controller corresponding to the target heat dissipation device to enter a target working state.

[0083] In this step, the target controller is a controller configured to correspond to the target heat dissipation device.

[0084] A control instruction can be sent to the target controller, and in response to the control instruction, the target controller can enter the target working state.

[0085] The target working state is used to stop data transmission. For example, for the transport layer, in the TCP / IP protocol stack, data transmission can be stopped by closing the TCP connection; for the application layer, data transmission can be controlled to stop by setting status variables or flags.

[0086] The target working state may include forwarding the IO request event corresponding to the target controller to other healthy controllers, or may include isolating the IO transmission link of the target controller, or may include controlling the target controller to shut down. The target controller can be controlled to enter the corresponding target working state based on the actual temperature. This application does not make any limitations.

[0087] When the target controller enters the target working state, the services received by the target controller can be transferred to other healthy controllers, avoiding service interruption and even data loss caused by the target controller crashing.

[0088] In this application, by monitoring the working state of the heat dissipation device in real time and constructing a real-time feedback path between the heat dissipation device and the IO service flow, in the case of an abnormal heat dissipation device, the target controller can be controlled to enter the target working state according to the actual temperature of the target controller corresponding to the abnormal heat dissipation device, realizing the guarantee of storage service continuity in the case of abnormal heat dissipation.

[0089] In this application, the control method of the controller is compatible with multiple protocol stacks such as FC (Fibre Channel), NVMe (Non-Volatile Memory Express), and SCSI (Small Computer System Interface), and has strong applicability in heterogeneous storage environments.

[0090] According to the control method of the controller provided by the embodiments of this application, by monitoring the working state of the heat dissipation device and the actual temperature of the controller, in the case of determining that the heat dissipation device is abnormal, the target working state can be determined according to the actual temperature of the target controller corresponding to the abnormal heat dissipation device, so as to control the target controller to enter the target working state, avoiding the situation where the heat accumulation rate far exceeds the heat dissipation margin in the case of abnormal heat dissipation, and thus avoiding service interruption and even data loss caused by the controller overheating and being protected from crashing, realizing the guarantee of storage service continuity in the case of abnormal heat dissipation.

[0091] In some embodiments, step 120 may include:

[0092] When the actual temperature is greater than or equal to the first threshold and less than the second threshold, determine the target working state as the first working state;

[0093] When the actual temperature is greater than or equal to the second threshold and less than the third threshold, determine the target working state as the second working state;

[0094] When the actual temperature is greater than the third threshold, determine the target working state as the third working state.

[0095] In this embodiment, multiple different temperature thresholds can be set to determine the target working state based on the interval between the actual temperature and the temperature thresholds. For example, the first threshold, the second threshold, and the third threshold can be set, and the second threshold is greater than the first threshold, and the second threshold is less than the third threshold. The sizes of the first threshold, the second threshold, and the third threshold can be adjusted according to the actual application scenario. For example, the first threshold can be set to 60°C, the second threshold can be set to 75°C, and the third threshold can be set to 85°C, or other values can also be set, which is not limited in this application.

[0096] The temperature judgment can be performed in the order of the thresholds from high to low. For example, it can first check whether the actual temperature exceeds the third threshold, and then check the second threshold and the first threshold in turn.

[0097] When the actual temperature is greater than or equal to the first threshold and less than the second threshold, the target working state can be determined as the first working state. The first working state is used to forward the data transmission request received by the target controller to other controllers except the target controller among at least one controller.

[0098] When it is determined that the target controller needs to be controlled to enter the first working state, the other controller with the lowest current load and in a healthy state can be selected as the forwarding target through an algorithm (such as polling or weighted polling), and seamless forwarding can be achieved by using a protocol that supports request redirection (such as a custom RPC protocol). A unique identifier can be attached when forwarding the request to ensure that the target controller can return the result to the original requester after processing.

[0099] When the actual temperature is greater than or equal to the second threshold and less than the third threshold, the target working state can be determined as the second working state. The second working state is used to isolate the data transmission path of the target controller.

[0100] When it is determined that the target controller needs to be controlled to enter the second working state, the inbound and outbound traffic of the target controller can be blocked through firewall rules or switch configurations, and the target controller can be marked as "unavailable" in the service registry to directly route requests to other nodes, and the unprocessed requests can be placed in the cache queue.

[0101] When the actual temperature is greater than the third threshold, the target working state can be determined as the third working state, and the third working state is used to shut down the target controller.

[0102] When it is determined that the target controller needs to enter the third working state, the data request queue of the target controller can be frozen, and the persistent metadata can be stored in the non-volatile storage area. A shutdown instruction can be sent to the operating system through the ACPI specification, and then the hardware watchdog (Watchdog Timer) can be enabled to force power-off protection. For example, a soft shutdown can be triggered by the ACPI S5 instruction. If the temperature is still greater than the third threshold after waiting for 5s, the hardware watchdog (Timeout = 10s) can be activated to force power-off.

[0103] According to the control method of the controller provided by the embodiments of the present application, by setting three-level thresholds to determine the working state that the target controller needs to enter according to the threshold interval where the actual temperature is located, differential regulation based on the actual temperature of the target controller is realized, thereby realizing a gradient response from load migration to safe shutdown, and ensuring the continuity guarantee of the storage service in the scenario where the heat dissipation device is abnormal.

[0104] In some embodiments, forwarding the data transmission requests received by the target controller to other controllers except the target controller among at least one controller may include:

[0105] Calculating the weights corresponding to each other controller based on the load conditions corresponding to each other controller;

[0106] Forwarding the data transmission requests to each other controller by using a dynamic weighted round-robin algorithm based on the weights corresponding to each other controller.

[0107] In this embodiment, the weights corresponding to other controllers can be calculated based on the CPU load, memory occupancy, remaining bandwidth, temperature margin, etc. corresponding to other controllers, and the working state information (normal or abnormal) corresponding to other controllers can be obtained. Then, based on the weights corresponding to each other controller and the working state information, a dynamic weighted round-robin algorithm (Dynamic Weighted Round Robin, DWRR) can be used to allocate cross-controller loads to avoid secondary fault nodes, forward the data transmission requests to each other controller, ensure the load balance among other controllers, and avoid overload of local controllers.

[0108] During the actual execution process, such as Figure 2As shown, when the chassis management module determines that the target controller needs to be controlled to enter the first working state according to the actual temperature, the IO forwarding module can trigger the IO forwarding control strategy. The IO forwarding module can block the IO downlink of the target controller, redirect the to-be-processed IO requests to other healthy controllers through the NTB (Non-Transparent Bridge) bus, and then can use the dynamic weight round-robin algorithm to allocate cross-controller loads, avoiding secondary fault nodes, so as to forward the IO of the faulty controller to other normal controllers, and can turn off the data compression / encryption write processing unit of the target controller to reduce the CPU dynamic power consumption. After receiving the feedback information for triggering the IO forwarding control strategy sent by the IO forwarding module, the front-end IO module can send relevant information to the host plug-in module, and the host plug-in module can stop sending IO requests to the target controller.

[0109] In this application, by using NTB to implement a high-speed data channel between controllers (with a bandwidth of up to 40 Gbps), it can ensure that the latency of large-block data migration is less than 10 μs.

[0110] According to the control method of the controller provided by the embodiments of this application, by obtaining the weights corresponding to other controllers and using the dynamic weight round-robin algorithm to forward the data transmission requests corresponding to the target controller to other controllers, it can achieve real-time adaptive load balancing and avoid local overload.

[0111] In some embodiments, isolating the data transmission path of the target controller may include:

[0112] Receiving a path degradation event corresponding to the target controller;

[0113] In response to the path degradation event, updating the priorities of the transmission paths corresponding to each controller;

[0114] Based on the new priorities of the transmission paths corresponding to each controller, isolating the data transmission path of the target controller.

[0115] In this embodiment, the front-end IO module can push the path degradation event to the host side through the protocol layer notification mechanism, and the multipath driver on the host side will receive the path degradation event and dynamically adjust the path priority in response to the path degradation event.

[0116] The data transmission path of the target controller can be marked as unavailable or degraded. The host side stops sending IO requests to the target controller and places the unprocessed data transmission requests in the cache, thereby achieving isolation of the data transmission path of the target controller.

[0117] In some embodiments, isolating the data transmission path of the target controller may include:

[0118] Adopt an atomic write-back operation to cache the data transfer requests corresponding to the target controller, so as to isolate the data transfer path of the target controller.

[0119] In this embodiment, when the data transfer path corresponding to the target controller degrades or fails, the multipath driver on the host side can trigger the atomic write-back operation (Atomic Flush) of the cached data. Atomic write-back can ensure that all data that has not been written to the target controller is forced to be flushed to the storage medium, avoiding data loss or inconsistency problems caused by path switching or failures, and realizing lossless service migration.

[0120] During the actual execution process, the front-end IO module pushes the path degradation event (Asymmetric Access State change) to the host side through the protocol layer notification mechanism (Unit Attention in SCSI (Small Computer System Interface) or Asynchronous Event in NVMe (Non-Volatile Memory Express)), which is used to characterize that the access state of the target controller has changed. For example, it changes from the active state to the degraded state.

[0121] The multipath driver (such as DM-Multipath in Linux) updates the path priority according to the received path degradation event to isolate the target controller.

[0122] Then, it can trigger the atomic write-back (Atomic Flush) of the cached data on the Host side to ensure data consistency.

[0123] According to the control method of the controller provided by the embodiment of the present application, by stopping sending data transfer requests to the target controller when the actual temperature of the target controller is greater than or equal to the second threshold and less than the third threshold, so as to isolate the data transfer path of the target controller, the occurrence of cascading failures can be avoided to a large extent.

[0124] In some embodiments, step 130 may include:

[0125] Receive target information;

[0126] In response to the target information, control the target controller to enter the target working state.

[0127] In this embodiment, the target information is determined based on the target working state.

[0128] Such as Figure 2As shown, the target information can be sent by the chassis management module, and the chassis management module can send the target information to the IO forwarding module or the front-end IO module in the target controller.

[0129] When the target working state that the target controller needs to enter is different, different modules can control the target controller to enter the target working state.

[0130] For example, when it is determined that the target working state is the first working state, the IO forwarding module can control the target controller to enter the first working state in response to the target information;

[0131] When it is determined that the target working state is the second working state, the front-end IO module can control the target controller to enter the second working state in response to the target information;

[0132] When it is determined that the target working state is the third working state, the chassis management module can control the target controller to enter the third working state in response to the target information.

[0133] In some embodiments, after step 130, the method may further include:

[0134] When it is determined that the target cooling device is normal based on the new working state of the target cooling device, and it is determined that the new actual temperature of the target controller is less than the target temperature threshold, control the target controller to exit the target working state to continue data transmission;

[0135] When it is determined that the target cooling device is abnormal based on the new working state of the target cooling device, and / or it is determined that the new actual temperature of the target controller is greater than or equal to the target temperature threshold, control the target controller to maintain the target working state.

[0136] In this embodiment, during the regulation execution, the chassis management module can continuously detect the repair status of the cooling device and the temperature drop trend of the target controller to control the working state of the target controller according to the real-time monitored repair status and actual temperature.

[0137] When it is detected that the target cooling device has returned to normal and the new actual temperature of the target controller is less than the target temperature threshold, the regulation strategy can be gradually lifted.

[0138] Wherein, the target temperature threshold is less than the first threshold. For example, a safety margin can be set, and the target temperature threshold is obtained based on the first threshold. When the first threshold is T1 and the safety margin is ΔT, the target temperature threshold can be obtained as T1 - ΔT.

[0139] When it is detected that the target heat dissipation device is still in an abnormal state and the new actual temperature corresponding to the target controller is greater than or equal to the target temperature threshold; or when it is detected that the target heat dissipation device is in an abnormal state and the new actual temperature corresponding to the target controller is less than the target temperature threshold; or when it is detected that the target heat dissipation device has returned to normal and the new actual temperature corresponding to the target controller is greater than or equal to the target temperature threshold, the target controller can be controlled to maintain the target working state.

[0140] In some embodiments, controlling the target controller to exit the target working state may include:

[0141] Restore the data transmission path corresponding to the target controller, and based on the target slope, allocate data transmission tasks to the target controller through the data transmission path;

[0142] When it is determined that the data transmission paths corresponding to all controllers are normal, control all controllers to enter the multi-path load balancing mode.

[0143] In this embodiment, when the target heat dissipation device is normal and the new actual temperature corresponding to the target controller is less than the target temperature threshold, the data transmission path corresponding to the target controller can be stopped from being isolated, and then data transmission tasks can be started to be sent to the target controller.

[0144] A target slope can be preset, and data transmission tasks can be sent to the target controller according to the target slope to gradually increase the IO quota of the target controller.

[0145] The health check can be performed on the data transmission paths of all controllers. When all the data transmission paths of the target controller are normal, the transmission service can be extended to the full path to switch to the multi-path load balancing mode. For example, IO requests can be allocated to each controller according to the dynamic weights of the data transmission paths.

[0146] According to the control method of the controller provided by the embodiments of the present application, the IO quota of the target controller is restored through gradients, avoiding the system oscillation problem caused by sudden load increase. By entering the multi-path load balancing mode when all data transmission paths are normal, the overall efficiency of data transmission and storage is improved, and the delay of service recovery is reduced.

[0147] Next, the control device of the controller provided by the present application will be described. The control device of the controller described below can be correspondingly referred to the control method of the controller described above.

[0148] The execution subject of the control method of the controller provided by the embodiments of the present application can be the control device of the controller. In the embodiments of the present application, taking the control device of the controller executing the control method of the controller as an example, the control device of the controller provided by the embodiments of the present application is described.

[0149] The embodiment of the present application also provides a control device for a controller.

[0150] As Figure 3 shown, at least one controller is disposed in the chassis, at least one heat dissipation device is disposed in the chassis, and at least one controller and at least one heat dissipation device are disposed in one-to-one correspondence; the control device of the controller includes: an acquisition module 310, a first processing module 320, and a control module 330.

[0151] The acquisition module 310 is configured to acquire the working state of each heat dissipation device and the actual temperature corresponding to each controller;

[0152] The first processing module 320 is configured to determine a target working state based on the actual temperature when it is determined that a target heat dissipation device among at least one heat dissipation device is abnormal based on the working state;

[0153] The control module 330 is configured to control a target controller corresponding to the target heat dissipation device to enter the target working state, and the target working state is used to stop data transmission.

[0154] According to the control device for a controller provided by the embodiment of the present application, by monitoring the working state of the heat dissipation device and the actual temperature of the controller, when it is determined that the heat dissipation device is abnormal, the target working state can be determined according to the actual temperature of the target controller corresponding to the abnormal heat dissipation device, so as to control the target controller to enter the target working state, avoiding the situation where the heat accumulation rate far exceeds the heat dissipation margin in the case of abnormal heat dissipation, and thus avoiding the situation of service interruption and even data loss caused by the overheat protection shutdown of the controller, realizing the guarantee of storage service continuity in the case of abnormal heat dissipation.

[0155] In some embodiments, the first processing module 320 may further be configured to:

[0156] When the actual temperature is greater than or equal to the first threshold and less than the second threshold, determine the target working state as the first working state, and the first working state is used to forward the data transmission request received by the target controller to other controllers except the target controller among at least one controller;

[0157] When the actual temperature is greater than or equal to the second threshold and less than the third threshold, determine the target working state as the second working state, and the second working state is used to isolate the data transmission path of the target controller;

[0158] When the actual temperature is greater than the third threshold, determine the target working state as the third working state, and the third working state is used to shut down the target controller, and the second threshold is greater than the first threshold and less than the third threshold.

[0159] In some embodiments, the first processing module 320 may further be configured to:

[0160] Calculate the weights corresponding to each of the other controllers based on the load conditions of the other controllers;

[0161] Forward data transmission requests to each of the other controllers by using a dynamic weight polling algorithm based on the weights corresponding to each of the other controllers.

[0162] In some embodiments, the first processing module 320 may further be configured to:

[0163] Receive a path degradation event corresponding to the target controller;

[0164] In response to the path degradation event, update the priorities of the transmission paths corresponding to each controller;

[0165] Isolate the data transmission path of the target controller based on the new priorities of the transmission paths corresponding to each controller.

[0166] In some embodiments, the control device of the controller may further include a second processing module, configured to:

[0167] After the target controller corresponding to the target heat dissipation device enters the target working state, when it is determined based on the new working state of the target heat dissipation device that the target heat dissipation device is normal and the new actual temperature corresponding to the target controller is less than the target temperature threshold, control the target controller to exit the target working state to continue data transmission;

[0168] When it is determined based on the new working state of the target heat dissipation device that the target heat dissipation device is abnormal and / or the new actual temperature corresponding to the target controller is greater than or equal to the target temperature threshold, control the target controller to maintain the target working state.

[0169] In some embodiments, the second processing module may further be configured to:

[0170] Restore the data transmission path corresponding to the target controller, and allocate data transmission tasks to the target controller through the data transmission path based on the target slope;

[0171] When it is determined that the data transmission paths corresponding to each controller are all normal, control each controller to enter a multi-path load balancing mode.

[0172] The control device of the controller in the embodiments of the present application may be an electronic device or a component in an electronic device, such as an integrated circuit or a chip. The electronic device may be a terminal or other devices other than terminals. Exemplarily, the electronic device may be a mobile phone, a tablet computer, a laptop computer, a handheld computer, an in-vehicle electronic device, a Mobile Internet Device (MID), an augmented reality (AR) / virtual reality (VR) device, a robot, a wearable device, an ultra-mobile personal computer (UMPC), a netbook, or a personal digital assistant (PDA), etc. It may also be a server, a Network Attached Storage (NAS), a personal computer (PC), a television (TV), a teller machine, or a self-service machine, etc. The embodiments of the present application do not make specific limitations.

[0173] The control device of the controller in the embodiments of the present application may be a device with an operating system. The operating system may be an Android operating system, an IOS operating system, or other possible operating systems. The embodiments of the present application do not make specific limitations.

[0174] The control device of the controller provided in the embodiments of the present application can implement Figures 1 to 2 each process implemented by the method embodiments. To avoid repetition, it will not be elaborated here.

[0175] In some embodiments, as Figure 4 shown, the embodiments of the present application further provide an electronic device 400, including a processor 401, a memory 402, and a computer program stored on the memory 402 and executable on the processor 401. When the program is executed by the processor 401, it implements each process of the control method embodiments of the above-mentioned controller and can achieve the same technical effects. To avoid repetition, it will not be elaborated here.

[0176] It should be noted that the electronic devices in the embodiments of the present application include the above-mentioned mobile electronic devices and non-mobile electronic devices.

[0177] As Figure 2 shown, in some embodiments, the embodiments of the present application further provide a control system of a controller, including: a main control device and at least one controller.

[0178] In this embodiment, each controller is respectively connected to the main control device.

[0179] The main control device can control at least one controller based on the control method of the controller as described in any of the above embodiments.

[0180] In some embodiments, the heat dissipation device can be disposed inside the chassis, at least one heat dissipation device can be disposed in one-to-one correspondence with at least one controller, and a plurality of radiators can be disposed inside one heat dissipation device. The radiator can include a heat sink or a cooling fan, etc.

[0181] According to the control system of the controller provided by the embodiments of the present application, by monitoring the working state of the heat dissipation device and the actual temperature of the controller, when it is determined that the heat dissipation device is abnormal, the target working state can be determined according to the actual temperature of the target controller corresponding to the abnormal heat dissipation device, so as to control the target controller to enter the target working state, avoiding the situation where the heat accumulation rate far exceeds the heat dissipation margin in the case of abnormal heat dissipation, and thus avoiding the situation of service interruption or even data loss caused by the overheat protection shutdown of the controller, realizing the guarantee of the continuity of the storage service in the case of abnormal heat dissipation.

[0182] In some embodiments, the controller can include: a chassis management module, a front-end IO module, and an IO forwarding module.

[0183] In this embodiment, the front-end IO module is respectively connected to the main control device and the chassis management module.

[0184] The IO forwarding module is respectively connected to the front-end IO module and the chassis management module, and the IO forwarding modules in each controller are connected to each other.

[0185] The chassis management module can be used to obtain the working state of the heat dissipation device and the actual temperature of the controller, and determine whether to trigger cooperative regulation according to the working state of the heat dissipation device and the actual temperature of the controller.

[0186] The IO forwarding module can obtain the information output by the chassis management module, and forward the IO request corresponding to the target controller to other normal controllers when it is determined that cooperative regulation needs to be triggered.

[0187] The front-end IO module can obtain whether to trigger the current abnormal regulation strategy of the IO link output by the chassis management module, and return relevant information to the host plug-in module when it is determined that the current abnormal regulation strategy of the IO link needs to be triggered.

[0188] When the host plug-in module receives the relevant information sent by the front-end IO module, it can control the termination of the IO transmission link corresponding to the target controller and stop sending IO requests to the target controller.

[0189] On the other hand, the present application also provides a computer program product, which includes a computer program stored on a non-transitory computer-readable storage medium. The computer program includes program instructions. When the program instructions are executed by a computer, the computer can execute each process of the control method embodiment of the above-mentioned controller and achieve the same technical effect. To avoid repetition, it will not be elaborated here.

[0190] On another aspect, the present application also provides a non-transitory computer-readable storage medium, on which a computer program is stored. When the computer program is executed by a processor, it can execute each process of the control method embodiment of the above-mentioned controller and achieve the same technical effect. To avoid repetition, it will not be elaborated here.

[0191] On another aspect, the embodiment of the present application further provides a chip, which includes a processor and a communication interface. The communication interface is coupled to the processor. The processor is used to run programs or instructions to implement each process of the control method embodiment of the above-mentioned controller and achieve the same technical effect. To avoid repetition, it will not be elaborated here.

[0192] It should be understood that the chip mentioned in the embodiment of the present application may also be referred to as a system-on-chip, system chip, chip system, or system-on-chip.

[0193] The device embodiments described above are merely illustrative. The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed to multiple network units. Some or all of the modules can be selected according to actual needs to achieve the purpose of the solution of this embodiment. Those of ordinary skill in the art can understand and implement it without creative labor.

[0194] Through the description of the above embodiments, those skilled in the art can clearly understand that each embodiment can be implemented by means of software plus a necessary general hardware platform, and of course, it can also be implemented by hardware. Based on such an understanding, the essence of the above technical solution or the part that contributes to the related technology can be embodied in the form of a software product. The computer software product can be stored in a computer-readable storage medium, such as ROM / RAM, magnetic disk, optical disk, etc., and includes several instructions to enable a computer device (which can be a personal computer, a server, or a network device, etc.) to execute the methods described in each embodiment or some parts of the embodiments.

[0195] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present application, rather than limiting them; although the present application has been described in detail with reference to the foregoing embodiments, those of ordinary skill in the art should understand that they can still modify the technical solutions described in the foregoing embodiments, or perform equivalent replacements for some of the technical features; and these modifications or replacements do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of the present application.

Claims

1. A control method for a controller, characterized in that, At least one controller is disposed in the chassis, and at least one heat dissipation device is disposed in the chassis. The at least one controller and the at least one heat dissipation device are disposed in a one-to-one correspondence; the method includes: Obtain the working states of the heat dissipation devices and the actual temperatures corresponding to the controllers. When it is determined that the target heat dissipation device among the at least one heat dissipation device is abnormal based on the working state, determine the target working state based on the actual temperature. Control the target controller corresponding to the target heat dissipation device to enter the target working state, and the target working state is used to stop data transmission.

2. The control method of the controller according to claim 1, wherein The determining the target working state based on the actual temperature includes: When the actual temperature is greater than or equal to the first threshold and less than the second threshold, determine the target working state as the first working state, and the first working state is used to forward the data transmission requests received by the target controller to other controllers among the at least one controller except the target controller. When the actual temperature is greater than or equal to the second threshold and less than the third threshold, determine the target working state as the second working state, and the second working state is used to isolate the data transmission path of the target controller. When the actual temperature is greater than the third threshold, determine the target working state as the third working state, and the third working state is used to shut down the target controller. The second threshold is greater than the first threshold and less than the third threshold.

3. The control method of the controller according to claim 2, characterized in that, The forwarding the data transmission requests received by the target controller to other controllers among the at least one controller except the target controller includes: Calculate the weights corresponding to the other controllers based on the load conditions corresponding to the other controllers. Forward the data transmission requests to the other controllers based on the weights corresponding to the other controllers by using a dynamic weight polling algorithm.

4. The control method of the controller according to claim 2, wherein The isolating the data transmission path of the target controller includes: Receive the path degradation event corresponding to the target controller. In response to the path degradation event, update the priorities of the transmission paths corresponding to the controllers. Isolate the data transmission path of the target controller based on the new priorities of the transmission paths corresponding to the controllers.

5. The control method of the controller according to any one of claims 1-4, characterized in that, After the controlling the target controller corresponding to the target heat dissipation device to enter the target working state, the method further includes: When it is determined that the target heat dissipation device is normal based on the new working state corresponding to the target heat dissipation device and it is determined that the new actual temperature corresponding to the target controller is less than the target temperature threshold, control the target controller to exit the target working state to continue data transmission. When it is determined that the target heat dissipation device is abnormal based on the new working state corresponding to the target heat dissipation device and / or it is determined that the new actual temperature corresponding to the target controller is greater than or equal to the target temperature threshold, control the target controller to maintain the target working state.

6. The control method of the controller according to claim 5, characterized in that, The controlling the target controller to exit the target working state includes: Restore the data transmission path corresponding to the target controller, and allocate data transmission tasks to the target controller through the data transmission path based on the target slope; When it is determined that the data transmission paths corresponding to all the controllers are normal, control all the controllers to enter the multi-path load balancing mode.

7. A control device for a controller, characterized in that, At least one controller is arranged in a chassis, and at least one heat dissipation device is arranged in the chassis, and the at least one controller and the at least one heat dissipation device are arranged in one-to-one correspondence; The device includes: An acquisition module, configured to acquire the working states of the heat dissipation devices and the actual temperatures corresponding to the controllers. A first processing module, configured to determine a target working state based on the actual temperature when it is determined that a target heat dissipation device among the at least one heat dissipation device is abnormal based on the working state. A control module, configured to control a target controller corresponding to the target heat dissipation device to enter the target working state, and the target working state is used to stop data transmission.

8. A control system of a controller based on the control method of the controller according to any one of claims 1-6, characterized in that, Including: A main control device; At least one controller, each of the controllers is respectively connected to the main control device; the main control device is configured to control the at least one controller based on the control method of the controller according to any one of claims 1-6.

9. According to the control system of the controller according to claim 8, the controller includes: A chassis management module; A front-end IO module, the front-end IO module is respectively connected to the main control device and the chassis management module; An IO forwarding module, the IO forwarding module is respectively connected to the front-end IO module and the chassis management module, and the IO forwarding modules in each controller are connected.

10. An electronic device, comprising a memory, a processor, and a computer program stored on the memory and executable on the processor, characterized in that, When the processor executes the computer program, it implements the control method of the controller according to any one of claims 1-6.