Storage device adaptation method, storage device, storage medium and electronic device

By using the power supply, load and control unit as a management module, the pre-developed adaptation strategy is used to quickly adapt the newly added load, which solves the problem of long adaptation cycle of the storage device and improves the adaptation efficiency.

CN118708366BActive Publication Date: 2024-12-20INSPUR SUZHOU INTELLIGENT TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411202915.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-08-29
Publication Date
2024-12-20
Estimated Expiration
2044-08-29

AI Technical Summary

Technical Problem

The existing storage devices have a long cycle when the new load is adapted, occupying user business execution resources and affecting system efficiency.

Method used

The cascading power supply unit, load unit and control unit are used as a management module, and the overall adaptation strategy is formulated in advance, and the newly added load is quickly adapted to avoid re-establishing the coupling relationship between power supply and control unit.

Benefits of technology

It improves the adaptation efficiency of storage devices, shortens the adaptation time, and reduces the impact on user services.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN118708366B_ABST
    Figure CN118708366B_ABST
Patent Text Reader

Abstract

An embodiment of the present application provides an adaptation method for a storage device, a storage device, a storage medium and an electronic device, wherein the method comprises: in the case of a newly added load, determining a target management module in which the newly added load is located among multiple management modules; obtaining a pre-configured overall adaptation strategy, wherein the overall adaptation strategy comprises multiple groups of adaptation information, the multiple groups of adaptation information correspond one-to-one to the multiple management modules, and each group of adaptation information in the multiple groups of adaptation information comprises adaptation information for performing multiple load adaptations on the load units in the corresponding management module; searching for the target adaptation information corresponding to the target management module from the overall adaptation strategy; and performing load adaptation corresponding to the load type of the newly added load among the multiple load adaptations on the newly added load according to the target adaptation information to obtain an adapted new load.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The embodiments of the present application relate to the computer field, and in particular, to a storage device adaptation method, a storage device, a storage medium, and an electronic device. Background Art

[0002] In the era of big data, higher requirements are placed on the reliability and efficiency of storage arrays, especially the working reliability of storage systems. Improving the reliability of storage systems places high demands on BMC (Baseboard Management Controller), requiring the BMC unit to effectively manage the PSU (power supply) unit and external card load unit, as well as to interact with control units such as CPU (central processing unit) and CPLD (logical control unit) in real time, so as to ensure that the BMC unit effectively and reliably manages parameters such as temperature, VPD (identifier), and status of storage devices.

[0003] However, as the performance requirements of storage devices increase, the hardware specifications of storage devices are also gradually improved. Storage devices have changed from one frame and two controllers to one frame and four controllers. The number and parameter specifications of PSU and BBU (backup power supply unit), the number of external cards supported by the device, the load level of the CPLD logic control unit, and the management capabilities of the driver under the MCS system (manufacturing control system) have all been greatly improved compared to before. In particular, the number of external cards has increased from 3 to 5 per device to 14 or even more. This has invisibly improved the BMC unit's adaptation and management capabilities for each newly added load. According to the traditional adaptation method, each newly added external card / hard disk needs to be adapted to the newly added load. The BMC unit needs to read all the information in the newly added load, and the power supply unit and control unit also need to re-establish contact with the newly added load, which results in a longer time and invisibly occupies the user's business execution resources. Summary of the invention

[0004] The embodiments of the present application provide a storage device adaptation method, a storage device, a storage medium and an electronic device, so as to at least solve the problem that the storage device adaptation method in the related art has a long new load adaptation period.

[0005] According to an embodiment of the present application, there is provided an adaptation method for a storage device, which is applied to a controller of the storage device, wherein the storage device further comprises a plurality of management modules, each of the plurality of management modules comprising a group of cascaded power supply units, load units and control units, and the controller is respectively connected to the respective management modules via links; the method comprises: in the case of a newly added load, determining a target management module in the plurality of management modules where the newly added load is located; obtaining a pre-configured overall adaptation strategy, wherein the overall adaptation strategy comprises a plurality of groups of adaptation information, the plurality of groups of adaptation information corresponding one-to-one to the plurality of management modules, and each group of adaptation information in the plurality of groups of adaptation information comprises adaptation information for performing multiple load adaptations on the load units in the corresponding management modules; finding out the target adaptation information corresponding to the target management module from the overall adaptation strategy; performing load adaptation corresponding to the load type of the newly added load among the multiple load adaptations on the newly added load according to the target adaptation information, and obtaining the adapted newly added load.

[0006] According to another embodiment of the present application, a storage device is provided, comprising: a controller and multiple management modules, each of the multiple management modules comprising a group of cascaded power supply units, load units and control units, and the controller is connected to the respective management modules through links; the controller is used to determine, in the case of a new load, a target management module where the new load is located in the multiple management modules; obtain a pre-configured overall adaptation strategy, wherein the overall adaptation strategy includes multiple groups of adaptation information, the multiple groups of adaptation information correspond one-to-one to the multiple management modules, and each group of adaptation information in the multiple groups of adaptation information contains adaptation information for performing multiple load adaptations on the load units in the corresponding management module; find out the target adaptation information corresponding to the target management module from the overall adaptation strategy; according to the target adaptation information, perform load adaptation corresponding to the load type of the new load in the multiple load adaptations on the new load to obtain the adapted new load.

[0007] According to another embodiment of the present application, a computer program product is provided, including computer instructions, which, when executed by a processor, implement the steps in any of the above-mentioned storage device adaptation method embodiments.

[0008] According to another embodiment of the present application, a computer-readable storage medium is provided, in which a computer program is stored, wherein the computer program is configured to execute the steps of any of the above method embodiments when run.

[0009] According to another embodiment of the present application, an electronic device is provided, including a memory and a processor, wherein the memory stores a computer program, and the processor is configured to run the computer program to execute the steps in any one of the above method embodiments.

[0010] Through this application, by treating the cascaded power supply unit, load unit and control unit as a management module, and treating the management module as an overall adaptation object, when pre-formulating the overall adaptation strategy, the adaptation is performed in the form of power supply-load-control unit, so that each management module corresponds to a set of adaptation information, and each set of adaptation information contains specific details of multiple load adaptations for the load units in a specific management module, so as to guide how to adapt each unit in the management module. When a new load is added, the new load can be adapted according to the target adaptation information corresponding to the target management module where the new load is located. Compared with the traditional method of re-establishing the connection between the power supply unit, the control unit and the new load, the new load of this application does not need to obtain the power supply unit and the control unit parameters one by one through the controller and establish a coupling relationship. It only needs to be quickly adjusted based on the target adaptation information corresponding to the new load, so that the target adaptation information can quickly adapt to the new load, thereby improving the adaptation efficiency. BRIEF DESCRIPTION OF THE DRAWINGS

[0011] Figure 1 This is a hardware structure block diagram of an optional storage device according to this embodiment.

[0012] Figure 2 It is a flowchart of an optional storage device adaptation method according to an embodiment of the present application.

[0013] Figure 3 This is an optional flowchart of obtaining an adaptation coupling data packet of a current management module according to an embodiment of the present application.

[0014] Figure 4 This is a flowchart of an optional method for obtaining an overall adaptation strategy according to an embodiment of the present application.

[0015] Figure 5 This is an optional flow chart of load adaptation for a newly added load according to an embodiment of the present application.

[0016] Figure 6 It is a structural block diagram of a computer system of an electronic device according to an embodiment of the present application. DETAILED DESCRIPTION

[0017] The embodiments of the present application will be described in detail below with reference to the accompanying drawings and in combination with the embodiments.

[0018] It should be noted that the terms "first", "second", etc. in the specification and claims of this application and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence.

[0019] The method embodiments provided in the embodiments of the present application can be executed in storage devices such as server devices, computer devices, etc. that are adapted to multiple network cards / power supply units. Figure 1 Schematic diagram of the application environment of a storage device adaptation method in an embodiment of the present application. Figure 1 As shown, the storage device includes a controller 102 and multiple management modules 104, each of the multiple management modules 104 includes a group of cascaded power supply units 106, load units 108 and control units 110, and the controller 102 is connected to the power supply units 106 in each management module 104 through a link. It can be understood by those skilled in the art that Figure 1 The structure shown is only for illustration and does not limit the structure of the above server device. Figure 1 More or fewer components as shown, or with Figure 1 Different configurations are shown.

[0020] The controller 102 is used to effectively manage each power supply unit 106 and load unit 108, and interact with the control unit 110 in real time, so as to ensure effective and reliable management of parameters such as temperature, VPD, and status of the storage device. For example, the controller 102 executes various functional applications and data processing by running a computer program, that is, implementing the above method. The controller 102 includes but is not limited to a CPU unit, a BMC unit, etc. Figure 1 As shown, the BMC unit is cascaded with various power supply units, various load units, and various control units in hardware through the I2C link, and the parameter information in the register of each module is read and written through the I2C link; the BMC unit is cascaded with the CPU unit in hardware through the LPC and PECI links, and is used to share the driver version information of the load unit according to the corresponding algorithm flow. The CPU unit also communicates with the server to obtain business information.

[0021] The power supply unit 106 may include a PSU (power supply unit), a BBU (backup power unit), and various power supply chips, etc. The power supply unit 106 is a key component for providing a stable power supply in the storage device, converting the input power supply into an output power supply suitable for various load units and various control units to ensure the normal operation of the storage device.

[0022] The load unit 108 is used to support various types of load devices, including but not limited to network cards, various sensors, external actuators, etc. It can also be integrated with other parts of the storage device (such as the controller 102, the control unit 110, etc.) to achieve unified control and management of the entire storage device.

[0023] The control unit 110 is used to manage different power supply units 106 and load units 108. The control unit 110 may include but is not limited to a control unit such as a CPU and a CPLD.

[0024] In the era of big data, higher requirements are placed on the reliability and efficiency of storage arrays, especially the working reliability of storage systems. Improving the reliability of storage systems places high demands on BMC (Baseboard Management Controller), requiring the BMC unit to effectively manage the PSU (power supply) unit and external card load unit, as well as to interact with control units such as CPU (central processing unit) and CPLD (logical control unit) in real time, so as to ensure that the BMC unit effectively and reliably manages parameters such as temperature, VPD (identifier), and status of storage devices.

[0025] However, as the performance requirements of storage devices increase, the hardware specifications of storage devices are also gradually improved. Storage devices have changed from one frame and two controllers to one frame and four controllers. The number and parameter specifications of PSU and BBU (backup power supply unit), the number of external cards supported by the device, the load level of the CPLD logic control unit, and the management capabilities of the driver under the MCS system (manufacturing control system) have all been greatly improved compared to before. In particular, the number of external cards has increased from 3 to 5 per device to 14 or even more. This has invisibly improved the BMC unit's adaptation and management capabilities for each newly added module. According to the traditional adaptation method, each newly added external card / hard disk requires adaptation of the newly added module. The BMC unit needs to read all the information in the newly added module, and the power supply unit and control unit also need to re-establish contact with the newly added unit, which results in a longer time and invisibly occupies the user's business execution resources.

[0026] In order to at least partially solve the above technical problems, in this embodiment, by treating the cascaded power supply unit, load unit and control unit as a management module, and treating the management module as an overall adaptation object, when pre-formulating the overall adaptation strategy, the adaptation is performed in the form of power supply-load-control unit, so that each management module corresponds to a set of adaptation information, and each set of adaptation information contains specific details of performing multiple load adaptations on the load unit in a specific management module, so as to guide how to adapt each unit in the management module. When a new load is added, the new load can be adapted according to the target adaptation information corresponding to the target management module where the new load is located. Compared with the traditional method of re-establishing the connection between the power supply unit, the control unit and the new load, the new load in this application does not need to obtain the power supply unit and the control unit parameters one by one through the controller and establish a coupling relationship. It only needs to be quickly adjusted based on the target adaptation information corresponding to the new load, so that the target adaptation information can quickly adapt to the new load, thereby improving the adaptation efficiency.

[0027] According to one aspect of an embodiment of the present application, a storage device adaptation method is provided, and the storage device adaptation method can be applied to a controller of the storage device.

[0028] Figure 2 is a flow chart of an optional storage device adaptation method according to an embodiment of the present application, such as Figure 2 As shown, the process includes the following steps S202 to S208.

[0029] Step S202: in case of a newly added load, determining a target management module where the newly added load is located among multiple management modules.

[0030] Among them, the newly added load refers to the additional devices or functional modules added on the basis of the original load of the storage device. The newly added load may include but is not limited to driver loads and non-driver loads; driver loads refer to loads that require specific drivers to support their normal operation, such as network cards, graphics processing units, etc.; non-driver loads refer to loads that do not require specific drivers or firmware to work, or whose work does not directly rely on the support of system drivers, such as storage devices and expansion cards.

[0031] When a new load is connected to a storage device, you can use the BMC unit or the built-in monitoring tool of the storage device to monitor the key indicators of the storage device such as hardware status, power consumption, data flow, etc. in real time, and analyze the system log. When these indicators are found to have abnormal growth or sudden changes, it may mean that a new load has been added to the storage device. You can also directly check the inside of the hardware chassis to see if there are any new hardware devices or modules installed. You can also query the information of the installed hardware devices in the storage device through the built-in management software of the storage device. The management software usually provides a detailed hardware configuration list, including the installed processors, memory, storage devices, network interfaces, etc.

[0032] The management module is responsible for performing specific management tasks and functions. Each management module includes a power supply unit, a load unit and a control unit, wherein the power supply unit is responsible for power distribution and power consumption management functions to ensure stable and efficient power supply of various components of the storage device. The load unit is responsible for managing and controlling the working status of the load link module to ensure that the newly added load can be correctly connected and operate normally. The control unit is responsible for executing the control logic and algorithm of the storage device and coordinating the collaboration and interaction between the modules. In the embodiment of the present application, the power supply unit, the load unit and the control unit are used as a management module, and each management module is an overall adaptation object, and is adapted in the form of power supply-load-control unit, which can improve the adaptation efficiency.

[0033] The target management module refers to a management module among multiple management modules that is responsible for managing and controlling the newly added load. It can be understood that the management module where the newly added load is located is the target management module. Generally, the load unit provides a slot for plugging and unplugging the newly added load. After the newly added load is inserted into the slot of the load unit, the management module where the load unit is located is the target management module for managing the newly added load. The target management module for managing and controlling the newly added load can be identified through the overall architecture of the storage device and the connection method between each unit. It is also possible to use diagnostic tools or test programs to check and test each load unit in the system one by one, and observe which load units show abnormalities or changes when the new load is added, so as to determine the target management module for managing the new load.

[0034] Specifically, when the controller detects that a new load has been added to the storage device by analyzing the system log and the management software, it identifies the slot where the new load is inserted and the load unit where the slot is located. The management module where the load unit is located is determined as the target management module for managing the new load.

[0035] Step S204, obtaining a pre-configured overall adaptation strategy, wherein the overall adaptation strategy includes multiple groups of adaptation information, the multiple groups of adaptation information correspond one-to-one to multiple management modules, and each group of adaptation information in the multiple groups of adaptation information contains adaptation information for performing multiple load adaptation on the load units in the corresponding management module.

[0036] Among them, the overall adaptation strategy refers to the pre-formulation and implementation of a set of global adaptation and optimization plans by comprehensively evaluating and analyzing the hardware and software characteristics of all management modules and internal units within the storage device when deploying, configuring or upgrading the storage device. The overall adaptation strategy covers the detailed adaptation requirements of all management modules within the storage device and the internal units of each module. These requirements include not only parameter settings at the hardware level (such as the physical specifications of the module, interface standards, power requirements, etc.), but also configuration optimization at the software level (such as firmware version, driver configuration, etc.).

[0037] For example, for each unit in each management module, the adaptation parameters required in software and hardware include VPD (Vital Product Data, identifier) ​​information (such as serial number, manufacturer, model, etc., used for management and monitoring), internal parameter information of each unit (such as the module's operating temperature range, temperature monitoring and alarm mechanism, to ensure that the device operates within a safe temperature range), operating status parameters of each unit (such as voltage value, operating temperature, load power consumption, etc., directly related to the device's working efficiency and stability), and business information of each load unit (including estimation of business data volume and analysis of business information types, in order to optimize storage strategies and data management strategies).

[0038] It should be noted that the overall adaptation strategy is not a one-time job, but an ongoing process. With the use of storage devices, business development, and technological evolution, the adaptation strategy needs to be regularly evaluated and adjusted to meet new needs and challenges.

[0039] Adaptation information is the specific details or instructions for performing various load adaptations on the load units in the management module in the overall adaptation strategy, which is used to guide how to configure, adjust or optimize each unit in the management module in the storage device so that it can adapt to the requirements of the overall system or be compatible with other components. Multiple adaptation information corresponds to multiple management modules one by one, which means that each set of adaptation information corresponds to a specific management module.

[0040] Multiple load adaptation refers to multiple adaptation modes set according to the characteristics of different load types. In complex computing environments or storage systems, there are many types of loads, and each load has its own specific operating requirements and resource consumption patterns. Therefore, the use of multiple load adaptation strategies can ensure that each load can be processed in the most suitable way for its characteristics, thereby improving the performance and responsiveness of the overall system. For example, for the case where the load types are drive loads and non-drive loads, the load adaptation corresponding to the non-drive load includes adaptation requirements in two dimensions: running state adaptation and business adaptation. Among them, running state adaptation aims to monitor the running state of non-drive loads, such as CPU usage, memory occupancy, network latency, etc.; business adaptation aims to optimize the configuration of non-drive loads according to the characteristics of business logic and data flow. The load adaptation corresponding to drive loads includes not only running state adaptation and business adaptation, but also driver adaptation. Among them, driver adaptation aims to ensure the compatibility and interoperability between the driver of the load unit and the hardware device, operating system or other software components, which is achieved by selecting and configuring the appropriate driver version.

[0041] Specifically, the controller identifies the usage scenarios, business requirements, and performance indicators of the storage device, conducts a comprehensive assessment of the existing software and hardware environment, understands potential compatibility issues, and designs an overall adaptation strategy based on the results of the demand analysis and environmental assessment, including detailed settings of software and hardware parameters. It deploys and configures the equipment according to the overall adaptation strategy, conducts comprehensive testing and verification of the adapted storage device to ensure its stable operation and meets business requirements, and continuously optimizes the adaptation strategy based on the equipment operation status and changes in business requirements.

[0042] Step S206: Find the target adaptation information corresponding to the target management module from the overall adaptation strategy.

[0043] Among them, the target adaptation information refers to the set of adaptation information corresponding to the target management module, which contains all the rules and guidance required for load adaptation of the load unit where the newly added load is located. In short, the target management module is the management module responsible for adding new loads, and the target adaptation information is a set of adaptation information pre-configured for the target management module for load adaptation.

[0044] Specifically, after the controller determines the target management module where the newly added load is located and obtains the overall adaptation strategy, it searches for a set of adaptation information corresponding to the target management module from the overall adaptation strategy and uses the set of adaptation information as the target adaptation information.

[0045] Step S208: According to the target adaptation information, load adaptation corresponding to the load type of the newly added load among the multiple load adaptations is performed on the newly added load to obtain an adapted newly added load.

[0046] Specifically, the controller identifies the load type of the newly added load, and selects the load adaptation method corresponding to the load type from the target adaptation information. According to the selected load adaptation method, the newly added load is adapted accordingly, such as the configuration of the power adapter, the parameter setting of the load unit, the adjustment of the system control strategy, etc. After completing the load adaptation, the controller verifies the adaptation result to ensure that the newly added load has been successfully adapted and can operate stably. When the newly added load can operate normally, the adapted newly added load is obtained; when the newly added load cannot operate normally, the target adaptation information is adjusted according to the characteristics of the newly added load, and the newly added load is adapted according to the new target adaptation information until the newly added load can operate normally, and the adapted newly added load is obtained.

[0047] In some embodiments, according to the traditional adaptation method, the adaptation time of the BMC unit of a network card / power supply PSU is 1 week. If the adaptation at the driver level is added, the workload will double. The method of the present application can automatically adapt to the newly added load and quickly establish a coupling relationship, and the adaptation time is shortened to one third of the previous time.

[0048] The adaptation method of the above storage device, by treating the cascaded power supply unit, load unit and control unit as a management module, and treating the management module as an overall adaptation object, when pre-formulating the overall adaptation strategy, the adaptation is performed in the form of power supply-load-control unit, so that each management module corresponds to a set of adaptation information, and each set of adaptation information contains specific details of performing multiple load adaptations on the load units in a specific management module, so as to guide how to adapt each unit in the management module. When a new load is added, the new load can be adapted according to the target adaptation information corresponding to the target management module where the new load is located. Compared with the traditional method that needs to re-establish the connection between the power supply unit, the control unit and the new load, the new load of this application does not need to obtain the power supply unit and the control unit parameters one by one through the controller and establish a coupling relationship. It only needs to be quickly adjusted based on the target adaptation information corresponding to the new load, so that the target adaptation information can quickly adapt to the new load, thereby improving the adaptation efficiency.

[0049] In an exemplary embodiment, the method for pre-establishing the overall adaptation strategy includes the following steps:

[0050] 1. Perform the following determination operation on each of the multiple management modules as the current management module to obtain a set of adaptation information corresponding to each management module:

[0051] Obtain an adaptation coupling data packet of the current management module; the adaptation coupling data packet of the current management module includes a unit descriptor for describing the internal parameters of each unit in the current management module, and a parameter set for describing the operating status of each unit in the current management module; obtain load driving information corresponding to the load unit in the current management module, and perform link adaptation at the driving level on the load unit in the current management module according to the load driving information to obtain the driving version information of the load unit in the current management module; obtain the business attribute information to be processed by the current management module in the next time period, and add the business attribute information and the driving version information to the adaptation coupling data packet of the current management module to obtain a set of adaptation information corresponding to the current management module.

[0052] Among them, the adaptation coupling data packet is a data structure used to encapsulate and transmit all relevant information required by the current management module in the process of executing the adaptation. It usually includes but is not limited to the unit descriptors of each unit in the current management module, the parameter set of the running state, the business attribute information, the driver version information, etc. These data together constitute the basis for the current management module to make adaptation decisions.

[0053] The unit descriptor is a data structure used to describe the specific information of each unit (including the power supply unit, load unit, and control unit) inside the current management module. The unit descriptor provides a detailed description of the internal parameters and characteristics of the unit. For example, the unit descriptor includes the VPD information (Vital Product Data) of each unit inside the current management module (including basic information such as the product's serial number, manufacturer, model, and production date, which is used to identify and manage hardware units), operating temperature reading / receiving information (describing the current or expected operating temperature range of the unit, and how to read or receive this temperature information), and abnormal temperature alarm information (defining under what conditions the abnormal temperature alarm should be triggered, as well as the detailed content and format of the alarm).

[0054] The parameter set of the operating status is a set of real-time or regularly updated data that reflects the operating status of each unit in the current management module. The parameter set of the operating status includes but is not limited to key parameters such as the power supply voltage, load power consumption, control unit voltage value, and operating temperature of each unit in the current management module.

[0055] Load drive information refers to data or instructions related to load units (such as hardware devices, sensors, actuators, etc.) used to guide or control the load unit drive process. Load drive information usually includes the load unit's electrical characteristics (such as voltage, current, power requirements), physical characteristics (such as size, weight, interface standards), drive mode (such as direct drive, indirect drive), control protocol (such as serial communication protocol, parallel communication protocol), etc.

[0056] Driver version information refers to the version identification and feature description related to the load unit driver that was successfully inserted or updated to the load unit for the last time. The driver is a software component that controls and manages the load unit. It is responsible for converting instructions from the operating system or application program into signals that the load unit can understand. Driver version information usually includes the driver's version number, release date, supported functions, known bugs and fixes, compatibility descriptions, etc. It should be noted that the load drive information mainly focuses on the characteristics and requirements of the load unit itself, such as electrical parameters, physical dimensions, control protocols, etc. The driver version information mainly focuses on the status and characteristics of the driver, such as version number, release date, function support, etc.

[0057] The business attribute information to be processed by the current management module in the next time period refers to the characteristics or classification information of the non-specific business data itself related to the business that needs to be processed or considered in a future time period (such as the "next time period"). Business attribute information does not directly contain the specific content or data of the business, but describes certain basic attributes or characteristics of the business. For example, business attribute information includes business information data volume and business information type, where business information data volume refers to the total amount or average amount of data that the current management module is expected to process in the next time period. Business information type refers to the type or classification of the business, such as online transactions, data analysis, user authentication, etc.

[0058] It should be noted that the next time period refers to a specific time interval starting from the time point of formulating the adaptation information of the current management module, such as a few minutes, hours, a day, a week, etc., depending on the needs of the system or application scenario.

[0059] Specifically, Figure 3 FIG. 1 is a flowchart of obtaining an adaptation coupling data packet of a current management module in an embodiment, such as Figure 3As shown, the controller includes a BMC unit, which traverses all management modules, takes the currently traversed management module as the current management module, and obtains the unit descriptor used to describe the internal parameters of each unit in the current management module, and the parameter set used to describe the operating status of each unit in the current management module, and packages the unit descriptors and the parameter set of the operating status of each unit in the current management module to obtain the adaptation coupling data packet of the current management module. The controller reads the load driving information corresponding to the load unit in the current management module, and performs the link adaptation operation (such as adjusting the driving settings, optimizing the resource configuration, etc.) at the driving level on the load unit in the current management module according to the load driving information, and obtains the driver version information of the load unit in the current management module. The controller obtains the business information to be processed by the current management module in the next time period, and determines the sub-business information to be processed by the current management module, extracts the business attribute related information from the sub-business information, obtains the business attribute information, and adds the business attribute information and the driver version information to the adaptation coupling data packet of the current management module to obtain a set of adaptation information corresponding to the current management module.

[0060] In some embodiments, according to the load driving information, link adaptation at the driving level is performed on the load unit in the current management module to obtain the driving version information of the load unit in the current management module, which specifically includes the following steps:

[0061] Figure 4 FIG. 1 is a flowchart of obtaining an overall adaptation strategy in an embodiment, such as Figure 4 As shown, the controller includes a BMC unit and a CPU unit. The BMC unit sends the load driving information of the current management module to the storage MCS system (manufacturing control system) end inside the CPU unit through the CPU-BMC link for system-level adaptation. After receiving the load driving information of the current management module, the MCS system end performs link adaptation at the driver level. The MCS system end sends driving interaction information to the load unit of the current management module, obtains the driver version number of the load unit of the current management module, and sends a driver version call instruction to the server end after reading, instructing the server to send the driver version information of the load unit of the current management module to the storage MCS system end. The MCS system end merges the driver version information of the load unit of the current management module into the load driving information. After the merging is completed, the flag bit and the merged load driving information are sent to the BMC unit. The BMC unit merges the merged load driving information with the adaptation coupling data packet of the current management module, so that the merged adaptation coupling data packet contains the driver version information of the load unit in the current management module.

[0062] 2. Generate an overall adaptation strategy based on a set of adaptation information corresponding to each management module.

[0063] Specifically, after obtaining a set of adaptation information corresponding to each management module, the controller integrates the set of adaptation information corresponding to each management module to obtain an overall adaptation strategy.

[0064] In this embodiment, by adding a unit descriptor for describing the internal parameters of each unit in the current management module and a parameter set for describing the operating status of each unit in the current management module to the adaptation coupling data packet of the current management module, the load adaptation is provided with relevant adaptation requirements in the operating status dimension. Furthermore, the service attribute information to be processed by the current management module in the next time period is also added to the adaptation coupling data packet to provide the load adaptation with relevant adaptation requirements in the service dimension. Furthermore, the driver version information of the load unit in the current management module is added to the adaptation coupling data packet to provide the driver-related adaptation requirements in the driver dimension for the load adaptation of the driver-type load, so that the overall adaptation strategy is added with the driver adaptation strategy, and the existing driver is adapted in advance, so that the newly added load can quickly complete the adaptation at the driver level and quickly start the business. The above-mentioned adaptation coupling data packet has multi-dimensional adaptation requirements, making the system more flexible and able to easily cope with new demands or changes that may arise in the future. For example, when a new service type or load unit is added to the system, it is only necessary to update the corresponding adaptation coupling data packet.

[0065] In an exemplary embodiment, obtaining the adaptation coupling data packet of the current management module includes:

[0066] 1. Get the unit descriptor of each unit in the current management module.

[0067] Specifically, the controller reads information used to describe internal parameters of each unit in the current management module, and packages the information to obtain a unit descriptor corresponding to each unit in the current management module.

[0068] 2. Decouple the current management module to obtain a parameter set of the operating status information of each unit in the current management module.

[0069] Decoupling refers to the separation of dependencies between the units in the current management module, clarifying the communication mode and data exchange format between the units in the current management module. After decoupling, each unit can be tested and maintained independently, which means that the modification or failure of one unit will not directly affect the normal operation of other units.

[0070] Specifically, the controller identifies the dependencies between the units within the current management module, and determines the communication method and data exchange format between the units within the current management module. By individually testing each unit within the current management module, a subset of the operating status information of each unit in the current management module is obtained, and the collection of subsets of the operating status information of each unit in the current management module is used as a parameter set of the operating status information of each unit in the current management module.

[0071] 3. The unit descriptors and parameter sets of each unit in the current management module are merged to obtain the adaptation coupling data packet of the current management module.

[0072] Specifically, the controller adds the unit descriptor of each unit in the current management module to the subset of the corresponding unit's operating status information in the parameter set of the operating status information of each unit in the current management module, and merges the added subsets to obtain the adaptation coupling data packet of the current management module.

[0073] In this embodiment, the parameter set of the unit descriptor and the operating status information is merged into an adaptive coupling data packet, which provides comprehensive data support for the load adaptation and performance optimization of the system. The adaptive coupling data packet enables the system to be flexibly configured and adjusted according to different needs and scenarios. On the other hand, since the coupling degree between the units is reduced and the adaptive coupling data packet is constructed, it is easier to integrate new units or components when it is necessary to expand or add new functions without the need for large-scale reconstruction of the entire system.

[0074] In an exemplary embodiment, obtaining the unit descriptor of each unit in the current management module includes:

[0075] Read the identification information and unit parameter information of each unit in the current management module; package the identification information of each unit in the current management module and the corresponding unit parameter information to obtain the unit descriptor of each unit in the current management module.

[0076] The identification information refers to a set of data used to uniquely identify and describe each unit in the current management module. For example, the identification information includes the unit serial number, model information, manufacturer information, firmware version, and other metadata (such as production date, batch number, configuration options, etc.). Each unit has its own identification information, such as interface cards and PSUs, which are written by the manufacturer when they are shipped.

[0077] Unit parameter information refers to data that describes the current working status or performance characteristics of the unit. For example, unit parameter information includes the reading / receiving information of the working temperature of each unit in the current management module (describing the current or expected working temperature range of the unit, and how to read or receive this temperature information), abnormal temperature alarm information (defining under what conditions the abnormal temperature alarm should be triggered, and the detailed content and format of the alarm).

[0078] Specifically, Figure 3 As shown, first, through the I2C link cascaded between the BMC unit and each unit in the current management module, the identification information (VPD information) and unit parameter information (including the working temperature reading / receiving information, abnormal temperature alarm information, etc. of each unit in the current management module) are read, and the identification information is parsed and matched with the corresponding unit. Each unit has its own identification information. When the BMC unit manages each unit in the current management module, it will first find the identification information of the unit to be managed; after the identification information is read, the identification information is packaged to obtain the unit descriptors of each unit in the current management module. Among them, the purpose of the packaging operation is to establish a connection between the parameter information of each unit in the current management module and the identification information. A packaged unit descriptor contains the identification information at the beginning and the subsequent unit parameter information.

[0079] In this embodiment, the identification information and corresponding unit parameter information of each unit in the current management module are packaged into a unit descriptor of each unit in the current management module, which facilitates unified management and maintenance of all units, reduces the need for manual recording and searching of information during load adaptation, and improves adaptation efficiency.

[0080] In an exemplary embodiment, the power supply unit includes a plurality of power supply subunits, the load unit includes a plurality of load subunits, and the control unit includes a plurality of control subunits.

[0081] For example, the power supply unit includes a PSU unit, a BBU unit, and various power supply chips. Therefore, the PSU unit, the BBU unit, and various power supply chips can be respectively regarded as a power supply sub-unit. The control unit is centered on the CPLD logic control unit. The logic control unit is divided into modules to obtain different control sub-units. Different control sub-units manage different power supply and control units.

[0082] In some embodiments, a decoupling operation is performed on the current management module to obtain a parameter set of the operating status information of each unit in the current management module, including:

[0083] 1. Take each power supply sub-unit in the current management module as the current power supply sub-unit and perform the following determination operations to obtain a subset of a set of operation status information corresponding to each power supply sub-unit:

[0084] Determine the target load subunit and the target control subunit corresponding to the current power supply subunit in the current management module according to the power supply link; determine the operating status information corresponding to the current power supply subunit, the target load subunit and the target control subunit as a subset of a set of operating status information corresponding to the current power supply subunit.

[0085] Specifically, Figure 3 As shown, the controller includes a BMC unit, wherein the BMC unit marks the power supply subunits (including PSU, BBU unit and each power supply chip) of the power supply unit of the current management module one by one, and finds the target load subunit and the target control subunit corresponding to the current power supply subunit according to the power supply link, cascades the target load subunit corresponding to the current power supply subunit, and the target control subunit sends an enable signal EN to the current power supply subunit, and synchronously feeds back the power quality normal signal PG fed back by the current power supply subunit to the target load subunit. After receiving the PG signal, the target load subunit works normally and feeds back a response signal to the target control subunit (such as a CPLD unit). The target control subunit receives the response signal and indicates to the BMC unit that the target control subunit-the current power supply subunit-the target load subunit has been decoupled. The BMC unit records the operating status information corresponding to this group of power supply-load-control units, obtains a subset of the operating status information corresponding to the current power supply subunit, and records the subset in the Flash unit inside the BMC unit.

[0086] In some embodiments, the cascade method is to send a reset signal to the power supply sub-unit and the corresponding load sub-unit through the I2C link of the BMC unit, so that both are reset at the same time. After the reset is completed, both are restarted according to their respective timings. After the startup is completed, the load sub-unit sends a corresponding signal to the BMC unit through the I2C link to indicate that the connection between the two has been established.

[0087] Second, a set of subsets corresponding to each power supply sub-unit in the current management module is determined as a parameter set of the operation status information of each unit in the current management module.

[0088] Specifically, after obtaining the subset corresponding to each power supply subunit in the current management module according to the above steps, the controller merges the subsets corresponding to each power supply subunit to obtain a parameter set of the operating status information of each unit in the current management module.

[0089] In this embodiment, the sub-units of each unit in the current management module are decoupled to obtain a subset of operating status information corresponding to the current power supply sub-unit, and the set of subsets corresponding to each power supply sub-unit in the current management module is determined as the parameter set of the operating status information of each unit in the current management module, so that the obtained parameter set contains more detailed operating status information, providing more detailed and comprehensive adaptation requirements for subsequent load adaptation of newly added loads.

[0090] In an exemplary embodiment, obtaining service attribute information to be processed by the current management module in the next time period includes:

[0091] 1. Acquire multiple business information to be processed by the storage device in the next time period, and determine a preferred load unit for processing each business information in the multiple business information according to the multiple business information and the adaptation coupling data packet of each management module.

[0092] Among them, business information refers to the data set of tasks or operations that the storage device needs to process in the upcoming time period (i.e., the next time period). Each business information may contain various types of information about data read and write requests, data processing tasks, data backup or recovery jobs, etc. Each business information represents a specific task that the storage device needs to perform.

[0093] The preferred load unit refers to the load unit that is selected as the best or most suitable to process a specific business information according to the adaptive coupling data packet of each management module and the current state of the storage device when processing multiple business information. For example, according to the current business information, the parameter set in the adaptive coupling data packet of each management module, and the data processing capability and temperature rise information, the load unit with the strongest data processing capability and the slowest temperature rise can be divided as the preferred load unit of the business layer.

[0094] Specifically, Figure 4 As shown, the controller includes a BMC unit and a CPU unit. The BMC unit packages the adaptation coupling data packet of each management module and sends it to the CPU unit. After the sending is completed, the BMC unit sends a check mark to the CPU unit. After receiving the check mark, the CPU unit sends a service acquisition instruction to the server cascaded with the storage device through the external card unit to obtain the service information to be processed in the next time period. The CPU unit divides the load unit according to the data processing capability and the temperature rise information according to the current service information and the parameter set in the adaptation coupling data packet of each management module. The load unit with the strongest data processing capability and the slowest temperature rise is used as the preferred load unit of the service layer.

[0095] 2. Generate service allocation information according to the association relationship between each service information and the corresponding preferred load unit, wherein the service corresponding to each service information is allocated to the preferred load unit corresponding to each service information.

[0096] The service allocation information refers to an information set or data structure generated by allocation logic based on the association between the service information and the preferred load unit, and is used to record how each service information is allocated to its corresponding preferred load unit.

[0097] Specifically, Figure 4 As shown, after the CPU unit determines the preferred load unit corresponding to each service information, it generates service allocation information according to the association relationship between the service information and the preferred load unit, and sends the service allocation information to the BMC unit.

[0098] 3. Determine the business attribute information to be processed by the current management module in the next time period based on the business allocation information.

[0099] Among them, business attribute information is the basis of business allocation information.

[0100] Specifically, Figure 4 As shown, the BMC unit sends the business attribute information (such as business information data volume, business information type) of the subsequent processing business to the preferred load unit corresponding to each business information through the I2C link, and after the load unit in the current management module receives the business attribute information sent by the BMC unit, the business attribute information received by the current management module is added to the adaptation coupling data packet corresponding to the current management module.

[0101] In this embodiment, multiple business information to be processed by the storage device in the next time period is obtained, and the preferred load unit for processing each of the multiple business information is determined, and business allocation information is generated according to the association relationship between each business information and the corresponding preferred load unit. According to the business allocation information, the business attribute information to be processed by the current management module in the next time period is determined, and the adaptation coupling data packet of the current management module is reorganized at the business level through the business attribute information, so that the adaptation coupling data packet contains the adaptation information at the business level. When a new load is added, the business level of the new load can be quickly adapted through the business attribute information in the adaptation coupling data packet.

[0102] In an exemplary embodiment, according to the target adaptation information, load adaptation corresponding to the load type of the newly added load in multiple load adaptations is performed on the newly added load to obtain the adapted newly added load, including:

[0103] 1. If the newly added load is a non-driving load, the running state adaptation and business adaptation are performed on the newly added load according to the target adaptation information.

[0104] Among them, operation state adaptation refers to configuring and adjusting the newly added load according to the parameter set of the operation state of each unit in the target management module in the target adaptation information to ensure that it can match the operation state of the existing system or module. For example, operation state adaptation includes setting the startup sequence, operating frequency, power consumption management, fault recovery strategy, etc. of the load.

[0105] Business adaptation refers to the adjustment of the function configuration and business logic of the newly added load according to the business attribute information of the target management module in the target adaptation information. For example, if the newly added load is used for data processing, the corresponding data processing algorithm and process need to be configured; if the newly added load is used for network transmission, the network protocol and communication parameters need to be configured.

[0106] Specifically, Figure 5 FIG. 1 is a flow chart of load adaptation for a newly added load in one embodiment. Figure 5 As shown, the controller includes a BMC unit. When a new non-drive load is added, the BMC unit determines the target load unit into which the new load is inserted, preferably extracts the target adaptation information corresponding to the target management module where the target load unit is located in the overall adaptation strategy, and performs operating state adaptation on the new load according to the parameter set of the unit descriptors and operating state information of the load unit, power supply unit, and control unit in the target adaptation information, and performs service adaptation on the new load according to the service attribute information in the target adaptation information.

[0107] 2. Obtain the working status flag of the newly added load. When the working status flag indicates that it is normal, obtain the newly added load whose status and service are adapted.

[0108] The working status flag is usually used to indicate the current working status of the load. When the working status flag is normal, it means that the new load is successfully adapted; when the working status flag is abnormal, it means that the new load fails to adapt and needs to be re-adapted.

[0109] Specifically, Figure 5 As shown, after the newly added load is adapted, the controller reads the working status flag of the newly added load. When the working status flag indicates that it is normal, no processing is performed to obtain the newly added load whose status and service have been adapted.

[0110] In this embodiment, for newly added non-drive loads, the operating status adaptation and business adaptation of the newly added loads can be performed according to the target adaptation information in the overall adaptation strategy. The adaptation mechanism that adapts the newly added loads through the existing adaptation strategy can enable the newly added loads to be quickly integrated into the storage device without making a lot of modifications to the storage device, thereby improving the adaptation efficiency.

[0111] In an exemplary embodiment, the storage device adaptation method further includes:

[0112] 1. When the working status flag indicates an abnormality, the target management module is re-decoupled to obtain a new parameter set of the operating status information of each unit in the target management module.

[0113] Specifically, Figure 5 As shown, after the newly added load is adapted, the controller reads the working status flag of the newly added load. When the working status flag indicates an abnormality, the target management module where the newly added load is located is re-decoupled to obtain a new parameter set of the operating status information of each unit in the target management module.

[0114] 2. Adjust the target adaptation information according to the new parameter set to obtain new target adaptation information.

[0115] Specifically, the controller replaces the parameter set in the target adaptation information with a new parameter set, and redetermines the business attribute information of the target management module based on the new parameter set to obtain new business attribute information, and uses the new business attribute information to replace the business attribute information in the target adaptation information, and packages the unit descriptors of the internal parameters of each unit in the target management module, the new parameter set, and the new business attribute information to obtain new target adaptation information. The new target adaptation information is stored in Flash and added to the overall adaptation strategy to obtain a new overall adaptation strategy. When new load units need to be added later, they are adapted in sequence according to the new overall adaptation strategy in Flash.

[0116] 3. Based on the new target adaptation information, return according to the target adaptation information, perform load adaptation steps corresponding to the load type of the newly added load in multiple load adaptations for the newly added load, until the working status flag bit indicates normal, and obtain the newly added load with adapted status and adapted service.

[0117] Specifically, the controller performs corresponding adaptation operations on the newly added load according to the new target adaptation information and the load adaptation method that matches the load type of the newly added load. After the adaptation is completed, the working status flag of the newly added load is obtained. When the working status flag is normal, the newly added load with adapted status and service is obtained. When the working status flag is abnormal, the controller returns to the step of re-decoupling the target management module and continues to execute until the working status flag is normal, and the newly added load with adapted status and service is obtained.

[0118] In this embodiment, for newly added non-drive loads, the working status flag of the newly added load is obtained after the adaptation of the newly added load is completed. When the working status flag indicates an abnormality, the target management module is re-decoupled and the target adaptation information is adjusted. According to the actual operating status and performance of the newly added load, the target adaptation information is dynamically adjusted to ensure that the adaptation process is more accurate and efficient.

[0119] In an exemplary embodiment, the storage device adaptation method further includes:

[0120] 1. If the newly added load is a driver-type load, the running state adaptation, business adaptation and driver adaptation are performed on the newly added load according to the target adaptation information. After the newly added load with adapted state and business is obtained, the target driver version information corresponding to the load unit where the newly added load is located is determined from the target adaptation information.

[0121] Among them, if the newly added load is a driving load, the operation state adaptation and service adaptation of the newly added load are performed according to the target adaptation information. The process is the same as the above embodiment and will not be repeated here.

[0122] Driver adaptation aims to ensure compatibility and interoperability between the load unit's driver and the hardware device, operating system or other software components by selecting and configuring the appropriate driver version.

[0123] The target driver version information refers to the version identification and feature description related to the load unit driver when the load unit where the new load is located was successfully inserted or updated to the load unit for the last time.

[0124] Specifically, if the newly added load is a drive type load, the controller determines the target load unit into which the newly added drive type load is inserted, preferably extracts the target adaptation information corresponding to the target management module where the target load unit is located in the overall adaptation strategy, and performs operation state adaptation on the newly added load according to the unit descriptor and parameter set of the operation state information of the load unit, power supply unit, and control unit in the target adaptation information, and performs service adaptation on the newly added load according to the service attribute information in the target adaptation information, and obtains the newly added load with adapted state and adapted service. Afterwards, the driver version information in the target adaptation information is used as the target driver version information.

[0125] 2. Based on the target driver version information, the driver version of the newly added load is adapted so that the driver version information of the newly added load is consistent with the target driver version information, thereby obtaining the newly added load whose driver has been adapted.

[0126] Specifically, the controller sends the target driver version information to the newly added load and compares it with the driver version of the newly added load. If the driver version information of the newly added load is consistent with the target driver version information, the driver version information of the newly added load is used to overwrite the target driver version information; if the driver version information of the newly added load is inconsistent with the target driver version information, the upgrade package stored in the controller's Flash is sent to the newly added load to instruct the newly added load to upgrade the driver version to the driver version corresponding to the target driver version information, and the driver version information of the newly added load is used to overwrite the target driver version information to obtain the newly added load whose driver has been adapted.

[0127] In this embodiment, for newly added drive-type loads, the operating status adaptation, business adaptation and drive adaptation can be performed on the newly added loads according to the target adaptation information in the overall adaptation strategy. The adaptation mechanism that adapts the newly added loads through the existing adaptation strategy can update the drive in a timely manner, so that the newly added drive-type loads can quickly complete the adaptation at the drive level, avoiding the driver level's extraction and reception of drive information one by one for adaptation operations, thereby quickly launching the business.

[0128] In an exemplary embodiment, based on the target driver version information, driver version adaptation is performed on the newly added load, including:

[0129] 1. According to the self-upgrade request sent by the newly added load, send version upgrade information to the newly added load to instruct the newly added load to upgrade the driver version to the driver version corresponding to the target driver version information.

[0130] Among them, the self-upgrade request refers to the new load sent to the controller to read the version upgrade information stored in the controller.

[0131] Version upgrade information refers to detailed instructions and data used to instruct the newly added load to upgrade the driver version or other software components. Generally, version upgrade information is stored in the controller's Flash.

[0132] Specifically, when the target driver version information and the current driver version information of the newly added load are inconsistent, the controller generates version upgrade information. After the newly added load is added, it sends a self-upgrade request to the controller. The controller receives the self-upgrade request sent by the newly added load and responds to the version upgrade information to the newly added load according to the self-upgrade request. The newly added load reads the version upgrade information stored in the Flash of the controller to realize self-upgrade of the driver version.

[0133] 2. Drive the newly added load and read the abnormal flag of the newly added load.

[0134] The abnormal flag is used to indicate the adaptation status of the current driver version of the load. When the abnormal flag indicates normal, it means that the driver version of the newly added load is consistent with the driver version corresponding to the target driver version information; when the abnormal flag indicates abnormal, it means that the driver version of the newly added load is inconsistent with the driver version corresponding to the target driver version information and needs to be re-adapted.

[0135] Specifically, Figure 5 As shown, the controller includes a BMC unit and a CPU unit. The BMC unit pressurizes the CPU unit. After pressurization, the CPU unit is in a working state with maximum power consumption. At this time, the system level of the storage device maximizes the load data transmission function. The BMC unit reads the abnormal flag of the newly added load through the I2C link.

[0136] 3. When the abnormal flag indicates normal, the newly added load that the drive has adapted is obtained.

[0137] Specifically, when the abnormal flag indicates that it is normal, no processing is performed, and the newly added load that has been adapted by the driver is obtained; otherwise, the driver version of the newly added load needs to be re-adapted.

[0138] In this embodiment, for newly added driver-type loads, the driver version adaptation can be performed on the newly added loads according to the target driver version information in the target adaptation information. The adaptation mechanism that adapts the newly added loads through the existing driver version adaptation strategy can enable the newly added loads to be quickly integrated into the storage device without making a lot of modifications to the storage device, thereby improving the adaptation efficiency.

[0139] In an exemplary embodiment, the storage device adaptation method further includes:

[0140] When the abnormal flag indicates an abnormality, the step of sending the version upgrade information to the newly added load is returned and continued until the abnormal flag indicates a normal state, and the newly added load that the driver has adapted is obtained.

[0141] Specifically, after the newly added load realizes self-upgrade of the driver version, the controller reads the exception flag of the newly added load. When the exception flag indicates an abnormality, the version upgrade information is resent to the newly added load. At this time, the newly added load upgrades the driver version, and the driver version in the newly added load is automatically upgraded to the latest version.

[0142] In this embodiment, when the driver version of the newly added load is adapted based on the target driver version information, a new load driver version self-checking process is provided to facilitate the adaptation of the new load at the driver level and improve the adaptation efficiency.

[0143] In an exemplary embodiment, detailed steps of a storage device adaptation method are provided, including the following steps:

[0144] 1. Perform the following determination operation on each of the multiple management modules as the current management module to obtain a set of adaptation information corresponding to each management module:

[0145] Read the identification information and unit parameter information of each unit in the current management module;

[0146] Packing the identification information and corresponding unit parameter information of each unit in the current management module to obtain the unit descriptor of each unit in the current management module; the unit descriptor is used to describe the internal parameters of each unit in the current management module;

[0147] The following determination operations are performed on each power supply subunit in the current management module as the current power supply subunit to obtain a subset of a set of operating status information corresponding to each power supply subunit: a target load subunit and a target control subunit corresponding to the current power supply subunit in the current management module are determined according to the power supply link; the operating status information corresponding to the current power supply subunit, the target load subunit and the target control subunit are determined as a subset of a set of operating status information corresponding to the current power supply subunit;

[0148] Determine the set of subsets corresponding to each power supply subunit in the current management module as the parameter set of the operation status information of each unit in the current management module;

[0149] Merging the unit descriptors and parameter sets of each unit in the current management module to obtain an adaptation coupling data packet of the current management module;

[0150] Obtain the load driving information corresponding to the load unit in the current management module, perform link adaptation at the driving level on the load unit in the current management module according to the load driving information, and obtain the driving version information of the load unit in the current management module;

[0151] Acquire multiple business information to be processed by the storage device in the next time period, and determine a preferred load unit for processing each business information in the multiple business information according to the multiple business information and the adapted coupling data packet of each management module;

[0152] Generate service allocation information according to the association relationship between each service information and the corresponding preferred load unit, wherein the service corresponding to each service information is allocated to the preferred load unit corresponding to each service information;

[0153] Determine the business attribute information to be processed by the current management module in the next time period according to the business allocation information;

[0154] The service attribute information and the driver version information are added to the adaptation coupling data packet of the current management module to obtain a set of adaptation information corresponding to the current management module.

[0155] 2. Generate an overall adaptation strategy based on a set of adaptation information corresponding to each management module.

[0156] 3. In case of a newly added load, determine the target management module where the newly added load is located among multiple management modules.

[0157] 4. Obtain a pre-configured overall adaptation strategy, wherein the overall adaptation strategy includes multiple groups of adaptation information, the multiple groups of adaptation information correspond one-to-one to multiple management modules, and each group of adaptation information in the multiple groups of adaptation information contains adaptation information for performing multiple load adaptation on the load units in the corresponding management module.

[0158] 5. Find the target adaptation information corresponding to the target management module from the overall adaptation strategy.

[0159] 6. If the newly added load is a non-driving load, execute steps 7-9; if the newly added load is a driving load, execute step 10.

[0160] 7. According to the target adaptation information, perform operation status adaptation and business adaptation for the newly added load.

[0161] 8. Get the working status flag of the newly added load.

[0162] 9. When the working status flag is characterized as normal, a newly added load whose status is adapted and whose service is adapted is obtained; when the working status flag is characterized as abnormal, the target management module is re-decoupled to obtain a new parameter set of the operating status information of each unit in the target management module; the target adaptation information is adjusted according to the new parameter set to obtain new target adaptation information; based on the new target adaptation information, the load adaptation steps corresponding to the load type of the newly added load in multiple load adaptations are returned according to the target adaptation information, until the working status flag is characterized as normal, and a newly added load whose status is adapted and whose service is adapted is obtained.

[0163] 10. According to the target adaptation information, the newly added load is adapted in terms of operation status, service and driver. After obtaining the newly added load with adapted status and service, the target driver version information corresponding to the load unit where the newly added load is located is determined from the target adaptation information.

[0164] 11. According to the self-upgrade request sent by the newly added load, send version upgrade information to the newly added load to instruct the newly added load to upgrade the driver version to the driver version corresponding to the target driver version information.

[0165] 12. Drive the newly added load and read the abnormal flag of the newly added load.

[0166] 13. When the abnormal flag indicates normal, the newly added load that the driver has adapted is obtained; when the abnormal flag indicates abnormal, the step of sending the version upgrade information to the newly added load is returned to continue execution until the abnormal flag indicates normal, and the newly added load that the driver has adapted is obtained.

[0167] In this embodiment, by treating the cascaded power supply unit, load unit and control unit as a management module, and treating the management module as an overall adaptation object, when pre-formulating the overall adaptation strategy, adaptation is performed in the form of power supply-load-control unit, so that each management module corresponds to a set of adaptation information, and each set of adaptation information contains specific details of performing multiple load adaptations on the load units in a specific management module to guide how to adapt each unit in the management module. Specifically, the adaptation information includes a unit descriptor for describing the internal parameters of each unit in the current management module, a parameter set for describing the operating status of each unit in the current management module, providing relevant adaptation requirements in the operating status dimension for load adaptation, and driver version information of the load unit in the current management module, providing relevant adaptation requirements in the driver dimension for load adaptation of drive-type loads, so that the driver adaptation strategy is added to the overall adaptation strategy, and the existing driver is adapted in advance, so that the newly added load can quickly complete the driver-level adaptation and quickly launch the business. When a new load is added, the new load can be adapted according to the target adaptation information corresponding to the target management module where the new load is located. Compared with the traditional method of re-establishing the connection between the power supply unit, the control unit and the new load, the new load in this application does not need to go through the controller to obtain the power supply unit and control unit parameters one by one and establish a coupling relationship. It only needs to make rapid adjustments based on the target adaptation information corresponding to the new load, so that the target adaptation information can quickly adapt to the new load, thereby improving the adaptation efficiency.

[0168] Through the description of the above implementation methods, those skilled in the art can clearly understand that the method according to the above embodiment can be implemented by means of software plus a necessary general hardware platform, and of course by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of the present application, or the part that contributes to the prior art, can be embodied in the form of a software product, which is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk), and includes a number of instructions for a terminal device (which can be a mobile phone, computer, server, or network device, etc.) to execute the methods described in each embodiment of the present application.

[0169] According to another aspect of the embodiment of the present application, a storage device for executing any of the storage device adaptation methods in the above embodiments is also provided. The process of the storage device executing the storage device adaptation method is similar to that in the above embodiments, and will not be described in detail here.

[0170] In this embodiment, the storage device includes: a controller and multiple management modules, each of the multiple management modules includes a group of cascaded power supply units, load units and control units, and the controller is connected to each management module through a link;

[0171] A controller is used to, when a new load is added, determine the target management module where the new load is located among multiple management modules; obtain a pre-configured overall adaptation strategy, wherein the overall adaptation strategy includes multiple groups of adaptation information, the multiple groups of adaptation information correspond one-to-one to the multiple management modules, and each group of adaptation information in the multiple groups of adaptation information contains adaptation information for performing multiple load adaptations on the load units in the corresponding management module; find out the target adaptation information corresponding to the target management module from the overall adaptation strategy; perform load adaptation corresponding to the load type of the new load among the multiple load adaptations on the new load according to the target adaptation information, and obtain the adapted new load.

[0172] The controller may be a CPU, a BMC, etc. The aforementioned steps S202 to S208 may be executed by the controller.

[0173] Through the storage device provided in this embodiment, the controller of the storage device performs the following steps: in the case of a new load, determine the target management module where the new load is located among the multiple management modules; obtain a pre-configured overall adaptation strategy, wherein the overall adaptation strategy includes multiple groups of adaptation information, the multiple groups of adaptation information correspond one-to-one to the multiple management modules, and each group of adaptation information in the multiple groups of adaptation information contains adaptation information for performing multiple load adaptations on the load units in the corresponding management module; find out the target adaptation information corresponding to the target management module from the overall adaptation strategy; according to the target adaptation information, perform load adaptation corresponding to the load type of the new load in the multiple load adaptations on the new load to obtain the adapted new load, thereby solving the problem of long new load adaptation cycle in the adaptation method of the storage device in the related art and improving the adaptation efficiency of the storage device.

[0174] In some exemplary embodiments, the controller is also used to respectively use each of the multiple management modules as the current management module to perform the following determination operations to obtain a set of adaptation information corresponding to each management module: obtain an adaptation coupling data packet of the current management module; the adaptation coupling data packet of the current management module includes a unit descriptor for describing the internal parameters of each unit in the current management module, and a parameter set for describing the operating status of each unit in the current management module; obtain load driving information corresponding to the load unit in the current management module, and perform link adaptation at the driving level on the load unit in the current management module according to the load driving information to obtain the driving version information of the load unit in the current management module; obtain business attribute information to be processed by the current management module in the next time period, and add the business attribute information and the driving version information to the adaptation coupling data packet of the current management module to obtain a set of adaptation information corresponding to the current management module; generate an overall adaptation strategy according to a set of adaptation information corresponding to each management module.

[0175] In some exemplary embodiments, the controller is also used to obtain the unit descriptor of each unit in the current management module; perform a decoupling operation on the current management module to obtain a parameter set of the operating status information of each unit in the current management module; and merge the unit descriptor and parameter set of each unit in the current management module to obtain an adapted coupling data packet of the current management module.

[0176] In some exemplary embodiments, the controller is also used to read the identification information and unit parameter information of each unit in the current management module; package the identification information and corresponding unit parameter information of each unit in the current management module to obtain the unit descriptor of each unit in the current management module.

[0177] In some exemplary embodiments, the power supply unit includes multiple power supply sub-units, the load unit includes multiple load sub-units, and the control unit includes multiple control sub-units; the controller is also used to perform the following determination operations on each power supply sub-unit in the current management module as the current power supply sub-unit, and obtain a subset of a set of operating status information corresponding to each power supply sub-unit: determine the target load sub-unit and the target control sub-unit corresponding to the current power supply sub-unit in the current management module according to the power supply link; determine the operating status information corresponding to the current power supply sub-unit, the target load sub-unit and the target control sub-unit as a subset of a set of operating status information corresponding to the current power supply sub-unit; determine the set of subsets corresponding to each power supply sub-unit in the current management module as a parameter set of the operating status information of each unit in the current management module.

[0178] In some exemplary embodiments, the controller is also used to obtain multiple business information to be processed by the storage device in the next time period, and determine the preferred load unit for processing each of the multiple business information based on the multiple business information and the adapted coupling data packet of each management module; generate business allocation information based on the association relationship between each business information and the corresponding preferred load unit, wherein the business corresponding to each business information is allocated to the preferred load unit corresponding to each business information; and determine the business attribute information to be processed by the current management module in the next time period based on the business allocation information.

[0179] In some exemplary embodiments, the controller is also used to, if the newly added load is a non-driving load, perform operating state adaptation and service adaptation on the newly added load according to the target adaptation information; obtain the working state flag of the newly added load, and when the working state flag indicates normal, obtain the newly added load with adapted state and adapted service.

[0180] In some exemplary embodiments, the controller is also used to re-decouple the target management module when the working status flag bit indicates an abnormality, and obtain a new parameter set of the operating status information of each unit in the target management module; adjust the target adaptation information according to the new parameter set to obtain new target adaptation information; based on the new target adaptation information, return the steps of performing load adaptation corresponding to the load type of the newly added load in multiple load adaptations according to the target adaptation information, until the working status flag bit indicates normal, and obtain a newly added load with adapted status and adapted service.

[0181] In some exemplary embodiments, the controller is also used to perform operating state adaptation, business adaptation and driver adaptation on the newly added load according to the target adaptation information if the newly added load is a drive-type load; after obtaining the newly added load with adapted state and adapted business, determine the target driver version information corresponding to the load unit where the newly added load is located from the target adaptation information; based on the target driver version information, perform driver version adaptation on the newly added load so that the driver version information of the newly added load is consistent with the target driver version information, thereby obtaining the newly added load with adapted driver.

[0182] In some exemplary embodiments, the controller is also used to send version upgrade information to the newly added load according to the self-upgrade request sent by the newly added load to instruct the newly added load to upgrade the driver version; drive the newly added load and read the abnormal flag of the newly added load; when the abnormal flag indicates normal, obtain the newly added load that has been adapted by the driver.

[0183] In some exemplary embodiments, the controller is further configured to return to the step of sending version upgrade information to the newly added load when the abnormal flag indicates an abnormality, and continue to execute the step until the abnormal flag indicates a normal state, thereby obtaining a newly added load to which the driver has adapted.

[0184] It should be noted that the above modules can be implemented by software or hardware. For the latter, it can be implemented in the following ways, but not limited to: the above modules are all located in the same processor; or the above modules are located in different processors in any combination.

[0185] According to another aspect of the embodiments of the present application, a computer-readable storage medium is provided, in which a computer program is stored, wherein the computer program is configured to execute the steps of any of the above method embodiments when executed.

[0186] In some exemplary embodiments, the above-mentioned computer-readable storage medium may include, but is not limited to: a USB flash drive, a ROM (Read-Only Memory), a RAM (Random Access Memory), a mobile hard disk, a magnetic disk or an optical disk, and other media that can store computer programs.

[0187] According to another aspect of the embodiments of the present application, an electronic device is provided, including a memory and a processor, wherein a computer program is stored in the memory, and the processor is configured to run the computer program to execute the steps in any one of the above method embodiments.

[0188] In some exemplary embodiments, the electronic device may further include a transmission device and an input / output device, wherein the transmission device is connected to the processor, and the input / output device is connected to the processor.

[0189] For specific examples in this embodiment, reference may be made to the examples described in the above embodiments and exemplary implementation modes, and this embodiment will not be described in detail herein.

[0190] According to another aspect of the embodiment of the present application, a computer program product is also provided, the computer program product comprising a computer program / instruction, the computer program / instruction comprising a program code for executing the method shown in the flowchart. The computer program product in this embodiment can be applied to Figure 6 The computer program of the electronic device shown is a system. In such an embodiment, the computer program can be downloaded and installed from the network through the communication part 609, and / or installed from the removable medium 611. When the computer program is executed by the central processor 601, various functions provided by the embodiment of the present application are executed. The serial numbers of the embodiments of the present application are only for description and do not represent the advantages and disadvantages of the embodiments.

[0191] like Figure 6As shown, the computer system 600 includes a central processing unit 601, which can perform various appropriate actions and processes according to the program stored in the read-only memory 602 or the program loaded from the storage part 608 into the random access memory 603. Various programs and data required for system operation are also stored in the random access memory 603. The central processing unit 601, the read-only memory 602 and the random access memory 603 are connected to each other through a bus 604. An input / output interface 605 is also connected to the bus 604.

[0192] The following components are connected to the input / output interface 605: an input section 606 including a keyboard, a mouse, etc.; an output section 607 including a CRT (Cathode Ray Tube), an LCD (Liquid Crystal Display), etc., and a speaker, etc.; a storage section 608 including a hard disk, etc.; and a communication section 609 including a network interface card such as a LAN card, a modem, etc. The communication section 609 performs communication processing via a network such as the Internet. A drive 610 is also connected to the input / output interface 605 as needed. A removable medium 611, such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, etc., is installed on the drive 610 as needed so that a computer program read therefrom is installed into the storage section 608 as needed.

[0193] In particular, according to an embodiment of the present application, the process described in each method flow chart can be implemented as a computer software program. For example, an embodiment of the present application includes a computer program product, which includes a computer program carried on a computer readable medium, and the computer program contains a program code for executing the method shown in the flow chart. In such an embodiment, the computer program can be downloaded and installed from the network through the communication part 609, and / or installed from the removable medium 611. When the computer program is executed by the central processor 601, various functions defined in the system of the present application are executed.

[0194] It should be noted that Figure 6 The computer system 600 of the electronic device shown is only an example and should not bring any limitation to the functions and scope of use of the embodiments of the present application.

[0195] Obviously, those skilled in the art should understand that the above modules or steps of the present application can be implemented by a general computing device, they can be concentrated on a single computing device, or distributed on a network composed of multiple computing devices, they can be implemented by a program code executable by a computing device, so that they can be stored in a storage device and executed by the computing device, and in some cases, the steps shown or described can be executed in a different order from that herein, or they can be made into individual integrated circuit modules, or multiple modules or steps therein can be made into a single integrated circuit module for implementation. Thus, the present application is not limited to any specific combination of hardware and software.

[0196] The above description is only the preferred embodiment of the present application and is not intended to limit the present application. For those skilled in the art, the present application may have various modifications and variations. Any modification, equivalent replacement, improvement, etc. made within the principles of the present application shall be included in the protection scope of the present application.

Claims

1. A storage device adaptation method, It is characterized in that A controller applied to the storage device, the storage device further comprising a plurality of management modules, each of the plurality of management modules comprising a group of cascaded power supply units, load units and control units, the controller being connected to each of the management modules via a link; The method comprises: In case of a newly added load, determining a target management module where the newly added load is located among the multiple management modules; Acquire a pre-configured overall adaptation strategy, wherein the overall adaptation strategy includes multiple sets of adaptation information, the multiple sets of adaptation information correspond to the multiple management modules one by one, and each set of adaptation information in the multiple sets of adaptation information includes adaptation information for performing multiple load adaptation on the load unit in the corresponding management module; Find out the target adaptation information corresponding to the target management module from the overall adaptation strategy; According to the target adaptation information, load adaptation corresponding to the load type of the newly added load among the multiple load adaptations is performed on the newly added load to obtain the adapted newly added load; Among them, the load adaptation corresponding to the load type of the newly added load among the multiple load adaptations is performed on the newly added load according to the target adaptation information to obtain the adapted newly added load, including: if the newly added load is a non-driving load, the running state adaptation and service adaptation are performed on the newly added load according to the target adaptation information; the working state flag of the newly added load is obtained, and when the working state flag indicates normal, the newly added load with adapted state and adapted service is obtained.

2. The method according to claim 1, It is characterized in that The method further comprises: Each of the multiple management modules is respectively used as the current management module to perform the following determination operations to obtain a set of adaptation information corresponding to each management module: obtaining an adaptation coupling data packet of the current management module; the adaptation coupling data packet of the current management module includes a unit descriptor for describing the internal parameters of each unit in the current management module, and a parameter set for describing the operating status of each unit in the current management module; obtaining load driving information corresponding to the load unit in the current management module, and performing link adaptation at the driving level on the load unit in the current management module according to the load driving information to obtain the driving version information of the load unit in the current management module; obtaining the service attribute information to be processed by the current management module in the next time period, and adding the service attribute information and the driving version information to the adaptation coupling data packet of the current management module to obtain a set of adaptation information corresponding to the current management module; The overall adaptation strategy is generated according to a set of adaptation information corresponding to each management module.

3. The method according to claim 2, It is characterized in that The step of obtaining the adaptation coupling data packet of the current management module includes: Obtaining a unit descriptor of each unit in the current management module; Performing a decoupling operation on the current management module to obtain a parameter set of operating status information of each unit in the current management module; The unit descriptors and corresponding parameter sets of each unit in the current management module are combined to obtain an adaptation coupling data packet of the current management module.

4. The method according to claim 3, It is characterized in that The obtaining of the unit descriptors of each unit in the current management module includes: Reading identification information and unit parameter information of each unit in the current management module; The identification information of each unit in the current management module and the corresponding unit parameter information are packaged to obtain the unit descriptor of each unit in the current management module.

5. The method according to claim 3, It is characterized in that The power supply unit includes a plurality of power supply sub-units, the load unit includes a plurality of load sub-units, and the control unit includes a plurality of control sub-units; the decoupling operation is performed on the current management module to obtain a parameter set of the operating status information of each unit in the current management module, including: The following determination operations are performed on each power supply subunit in the current management module as a current power supply subunit to obtain a subset of a set of operation status information corresponding to each power supply subunit: a target load subunit and a target control subunit corresponding to the current power supply subunit in the current management module are determined according to the power supply link; the operation status information corresponding to the current power supply subunit, the target load subunit and the target control subunit are determined as a subset of a set of operation status information corresponding to the current power supply subunit; A set of subsets corresponding to each power supply sub-unit in the current management module is determined as a parameter set of the operation status information of each unit in the current management module.

6. The method according to claim 2, It is characterized in that The obtaining of the service attribute information to be processed by the current management module in the next time period includes: Acquire multiple business information to be processed by the storage device in the next time period, and determine a preferred load unit for processing each business information in the multiple business information according to the multiple business information and the adapted coupling data packet of each management module; Generate service allocation information according to the association relationship between each service information and the corresponding preferred load unit, wherein the service corresponding to each service information is allocated to the preferred load unit corresponding to each service information; The service attribute information to be processed by the current management module in the next time period is determined according to the service allocation information.

7. The method according to claim 1, It is characterized in that The method further comprises: When the working status flag indicates an abnormality, re-decoupling the target management module to obtain a new parameter set of the operating status information of each unit in the target management module; Adjusting the target adaptation information according to the new parameter set to obtain new target adaptation information; Based on the new target adaptation information, return the step of performing load adaptation corresponding to the load type of the newly added load among the multiple load adaptations according to the target adaptation information, until the working status flag bit indicates normal, and obtain the newly added load with adapted status and adapted service.

8. The method according to claim 1, It is characterized in that The method further comprises: If the newly added load is a driver type load, the running state adaptation, service adaptation and driver adaptation are performed on the newly added load according to the target adaptation information. After the newly added load with the state adapted and the service adapted is obtained, the target driver version information corresponding to the load unit where the newly added load is located is determined from the target adaptation information; Based on the target driver version information, the driver version of the newly added load is adapted so that the driver version information of the newly added load is consistent with the target driver version information, thereby obtaining the newly added load with the driver adapted.

9. The method according to claim 8, It is characterized in that The step of adapting the driver version of the newly added load based on the target driver version information includes: According to the self-upgrade request sent by the newly added load, send version upgrade information to the newly added load to instruct the newly added load to upgrade the driver version to the driver version corresponding to the target driver version information; driving the newly added load and reading an abnormal flag bit of the newly added load; When the abnormal flag indicates that the load is normal, the newly added load to which the driver has adapted is obtained.

10. The method according to claim 9, It is characterized in that The method further comprises: When the abnormal flag indicates an abnormality, the step of sending the version upgrade information to the newly added load is returned to continue execution until the abnormal flag indicates a normal state, thereby obtaining the newly added load to which the driver has adapted.

11. A storage device, characterized in that: include: A controller and a plurality of management modules, each of the plurality of management modules comprising a group of cascaded power supply units, load units and control units, and the controller is connected to each of the management modules via a link; The controller is used to, in the case of a newly added load, determine the target management module where the newly added load is located among the multiple management modules; obtain a pre-configured overall adaptation strategy, wherein the overall adaptation strategy includes multiple groups of adaptation information, the multiple groups of adaptation information correspond one-to-one to the multiple management modules, and each group of adaptation information in the multiple groups of adaptation information contains adaptation information for performing multiple load adaptations on the load units in the corresponding management module; find out the target adaptation information corresponding to the target management module from the overall adaptation strategy; perform load adaptation corresponding to the load type of the newly added load among the multiple load adaptations on the newly added load according to the target adaptation information, and obtain the adapted newly added load; The controller is also used to, if the newly added load is a non-driving load, perform operating state adaptation and service adaptation on the newly added load according to the target adaptation information; obtain the working state flag of the newly added load, and when the working state flag indicates normal, obtain the newly added load with adapted state and adapted service.

12. A computer program product, It is characterized in that The method comprises computer instructions, wherein when the computer instructions are executed by a processor, the steps of the method according to any one of claims 1 to 10 are implemented.

13. A computer-readable storage medium, It is characterized in that The computer-readable storage medium stores a computer program, wherein the computer program implements the steps of any one of the methods of claims 1 to 10 when executed by a processor.

14. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, It is characterized in that When the processor executes the computer program, the steps of the method according to any one of claims 1 to 10 are implemented.

Citation Information

Patent Citations

  • Load balancing system and method and computer readable storage medium

    CN114816723A

  • Method, device, system, equipment and medium for improving availability of system

    CN116450349A