Channel bandwidth switching method, hard disk backboard, computer equipment and storage medium

By dynamically evaluating the load type of hard disk and predicting bandwidth, and adjusting the channel bandwidth allocation of the hard disk backplane in real time, the problems of low resource utilization and poor performance caused by the bandwidth fixation of traditional hard disk backplane are solved, and the high efficiency and efficiency improvement of the hard disk system is achieved.

CN120492166APending Publication Date: 2025-08-15INSPUR SUZHOU INTELLIGENT TECH CO LTD
View PDF 0 Cites 2 Cited by

Patent Information

Application Number
CN202510637378.0
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-05-16
Publication Date
2025-08-15

AI Technical Summary

Technical Problem

The fixed channel bandwidth design of traditional hard disk backplanes leads to low bandwidth resource utilization and poor hard disk data performance, making it impossible to effectively utilize the free channel bandwidth in burst traffic scenarios.

Method used

By obtaining the historical load metric values of the hard disk, dynamically evaluate the load type and predict the bandwidth required by the target hard disk, split, aggregate and redistribute channel bandwidth in real time, and use switches and bandwidth controllers to achieve coordinated software and hardware management.

Benefits of technology

The performance and energy efficiency of multiple hard disk systems has been significantly improved, with a total throughput increased by 2.3 times, a tail latency reduced by 35%, a 70% reduction in power consumption of idle channel bandwidth, and a 40% improvement in overall energy efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120492166A_ABST
    Figure CN120492166A_ABST
Patent Text Reader

Abstract

The invention discloses a channel bandwidth switching method, a hard disk backboard, computer equipment and a storage medium, and relates to the technical field of computers, the method comprises the following steps: obtaining a plurality of historical load index values of each of a plurality of hard disks in a historical time period; determining a target hard disk and a load type in the plurality of hard disks according to the plurality of historical load index values; according to the plurality of historical load index values and a preset model corresponding to the load type, predicting a first target bandwidth required by the target hard disk; according to the basic bandwidth of each hard disk and the first target bandwidth, calculating to obtain a remaining allocable bandwidth; distributing the remaining distributable bandwidths, and determining second target bandwidths required by other hard disks; and switching the basic bandwidth of the channel corresponding to the target hard disk to the first target bandwidth, and switching the basic bandwidths of the channels corresponding to the other hard disks to the second target bandwidth. The hard disk backboard can dynamically allocate channel bandwidths for a plurality of hard disks, the bandwidth resource utilization rate is improved, and the hard disk data performance is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of computer technology, and in particular to a channel bandwidth switching method, a hard disk backplane, a computer device, and a storage medium. Background Art

[0002] With the rapid development of big data and storage technologies, the demand for data storage continues to increase, and the market adoption of solid-state drive (SSD) technology is also increasing. Consequently, server requirements for SSD capacity, quantity, and transmission speed are becoming increasingly stringent. With the widespread adoption of SSD storage protocols, SSD throughput has surpassed the limitations of the fourth-generation high-speed serial computer expansion bus standard (Peripheral Component Interconnect Express, PCIE) interface. SSD backplanes are typically implemented as direct host expansion, extending PCIE high-speed signals outward through their own PCIE channels and transmitting these signals to the drive backplane via high-speed cables, completing the SSD expansion.

[0003] Traditional hard drive backplanes utilize static PCIE channel bonding, allocating a fixed amount of bandwidth to each drive. Currently, x4 lane drives are the most common. Drives supporting other bandwidths (e.g., x1 or x2 lanes) must be connected directly to the x4 lane drive backplane. This results in low bandwidth utilization for low-load drives and limited bandwidth for high-load drives, leading to poor overall drive data performance. Summary of the Invention

[0004] The present application provides a channel bandwidth switching method, a hard disk backplane, a computer device and a storage medium, so as to at least solve the problem in the related art of low bandwidth resource utilization and poor hard disk data performance due to the fixed hard disk backplane channel bandwidth.

[0005] The present application provides a channel bandwidth switching method, which is applied to a hard disk backplane, wherein the hard disk backplane is connected to multiple hard disks; the method comprises: obtaining multiple historical load index values of each hard disk in a historical time period, each hard disk being pre-configured with a basic bandwidth of a corresponding channel; determining a target hard disk from the multiple hard disks based on the multiple historical load index values, and determining a load type corresponding to the target hard disk; predicting a first target bandwidth required by the target hard disk based on a preset model corresponding to the multiple historical load index values and the load type; calculating a remaining allocatable bandwidth other than the first target bandwidth based on the basic bandwidth of each hard disk and the first target bandwidth; allocating the remaining allocatable bandwidth to determine a second target bandwidth required by other hard disks, where the other hard disk is any hard disk in the multiple hard disks other than the target hard disk; switching the basic bandwidth of the channel corresponding to the target hard disk to the first target bandwidth, and switching the basic bandwidth of the channel corresponding to the other hard disks to the second target bandwidth.

[0006] The present application also provides a hard disk backplane, which is connected to multiple hard disks; the hard disk backplane includes: an acquisition module, which is used to obtain multiple historical load index values of each hard disk among the multiple hard disks within a historical time period, and each hard disk is pre-configured with a basic bandwidth of a corresponding channel; a processing module, which is used to determine a target hard disk among the multiple hard disks and determine the load type corresponding to the target hard disk based on the multiple historical load index values; the processing module is also used to predict a first target bandwidth required by the target hard disk based on a preset model corresponding to the multiple historical load index values and the load type; the processing module is also used to calculate the remaining allocable bandwidth other than the first target bandwidth based on the basic bandwidth of each hard disk and the first target bandwidth; the processing module is also used to allocate the remaining allocable bandwidth and determine the second target bandwidth required by other hard disks, where the other hard disk is any hard disk among the multiple hard disks except the target hard disk; the processing module is also used to switch the basic bandwidth of the channel corresponding to the target hard disk to the first target bandwidth, and switch the basic bandwidth of the channels corresponding to the other hard disks to the second target bandwidth.

[0007] The present application also provides an electronic device, comprising: a memory for storing a computer program; and a processor for implementing the steps of any of the above-mentioned channel bandwidth switching methods when executing the computer program.

[0008] The present application also provides a computer-readable storage medium, in which a computer program is stored. When the computer program is executed by a processor, the steps of any of the above-mentioned channel bandwidth switching methods are implemented.

[0009] The present application also provides a computer program product, including a computer program, which implements the steps of any of the above-mentioned channel bandwidth switching methods when executed by a processor.

[0010] Through this application, the channel bandwidth of the target hard drive can be predicted by using the load types corresponding to multiple historical load index values and the corresponding preset models. That is, the hard drive load can be accurately and comprehensively evaluated through multiple historical load index values. Then, based on the actual load of each hard drive, channel bandwidth can be dynamically allocated to multiple hard drives, achieving real-time splitting, aggregation, and redistribution of channel bandwidth resources. This breaks through the rigid channel limitations of traditional backplanes and significantly improves the performance and energy efficiency of multiple hard drive systems through dynamic bandwidth allocation coordinated by software and hardware. In addition, the switch uses hardware-level channel management and protocol layer collaborative control to switch the bandwidth corresponding to each hard drive, thereby maximizing the performance of the hard drive, improving the overall utilization of bandwidth resources of multiple hard drives, and enhancing hard drive data performance.

[0011] During the actual testing process, in a configuration with 24 hard drives connected to the hard drive backplane, the embodiment of the present application dynamically allocated the channel bandwidth of multiple hard drives, and the total throughput reached 2.3 times that of static allocation, and 99% of the tail delay was reduced to 35% of the original level; energy efficiency ratio: the power consumption of idle channel bandwidth decreased by 70%, and the comprehensive energy efficiency of multiple hard drives increased by 40%. BRIEF DESCRIPTION OF THE DRAWINGS

[0012] In order to more clearly illustrate the embodiments of the present application, the following is a brief introduction to the drawings required for use in the embodiments. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without any creative work.

[0013] Figure 1 A topological diagram of a channel bandwidth switching system provided in an embodiment of the present application;

[0014] Figure 2 A schematic diagram of the internal structure of the switch provided in an embodiment of the present application;

[0015] Figure 3 Flowchart of a method for switching channel bandwidth provided in an embodiment of the present application;

[0016] Figure 4 A schematic diagram of channel bandwidth switching of a hard disk backplane provided in an embodiment of the present application;

[0017] Figure 5 A structural block diagram of a hard disk backplane provided in an embodiment of the present application;

[0018] Figure 6 A schematic diagram of the hardware structure of an electronic device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0019] The following will be combined with the accompanying drawings in the embodiments of this application to clearly and completely describe the technical solutions in the embodiments of this application. Obviously, the embodiments described are only part of the embodiments of this application, not all of them. Based on the embodiments in this application, all other embodiments obtained by ordinary technicians in this field without making creative efforts are within the scope of protection of this application.

[0020] It should be noted that, in the description of this application, the terms "comprises," "includes," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or device comprising a series of elements includes not only those elements, but also other elements not explicitly listed, or elements inherent to such process, method, article, or device. The terms "first," "second," etc., in this application are used to distinguish similar objects, and are not used to describe a particular order or sequence.

[0021] In order to enable those skilled in the art to better understand the present application, the present application is further described in detail below with reference to the accompanying drawings and specific implementation methods.

[0022] In conjunction with the specific application environment architecture or specific hardware architecture on which the execution of the channel bandwidth switching method depends, the specific application environment architecture or specific hardware architecture is described herein.

[0023] The embodiment of the present application is applied to an application scenario of allocating channel bandwidth to multiple hard disks, wherein the multiple hard disks are connected to a hard disk backplane.

[0024] In the related art, existing hard disks (for example, non-volatile memory express (NVME) hard disks) are usually connected with a fixed PCIE channel configuration (for example, X4 mode). NVME hard disks are connected to the motherboard through the PCIE interface of the hard disk backplane, and each PCIE interface is pre-allocated a fixed amount of bandwidth (for example, X4 lane). The motherboard wiring directly connects these lanes to the PCIE controller of the central processing unit or integrated circuit group, and the number of physical links is fixed during the hardware design stage. This method allocates a fixed bandwidth to the fixed channels of the hard disk backplane; and when multiple hard disks are accessed concurrently, the upper limit of the physical link bandwidth is determined by the initial allocation, and it is impossible to dynamically borrow idle channel bandwidth; it is easy to cause queue congestion in burst traffic scenarios (such as AI training data loading). For example, in the hot and cold data tiering scenario in the data center, the hot data hard disk is often under high load, while the cold data hard disk is idle for a long time, but because the two share a fixed x4 channel bandwidth, the overall throughput cannot break through the physical link limitation.

[0025] In order to solve the above technical problems, an embodiment of the present application provides a channel bandwidth switching method, which can dynamically switch the channel bandwidth of multiple hard disks according to the load conditions of each hard disk and the switch, realize real-time splitting, aggregation and redistribution of channel bandwidth, break through the rigid channel limitations of traditional hardware backplanes, and significantly improve the performance and energy efficiency of multiple hard disks through dynamic bandwidth allocation coordinated by software and hardware.

[0026] Below Figure 1 Taking the switching system of the channel bandwidth shown as an example, the method provided in the embodiment of the present application is described. Figure 1 It is only a schematic diagram and does not constitute a limitation on the applicable scenarios of the technical solution provided in this application.

[0027] like Figure 1 As shown, Figure 1 4 is a topological diagram of a channel bandwidth switching system according to an embodiment of the present invention. Figure 1 In the embodiment, the channel bandwidth switching system 100 may include a hard disk backplane 101 , a host 102 , a first hard disk 103 , and a second hard disk 104 .

[0028] The hard drive backplane 101 may be a hard drive backplane with computing and communication capabilities. Multiple hard drives (e.g., a first hard drive 103 and a second hard drive 104) are connected to the hard drive backplane 101. In the embodiments of the present application, the hard drive backplane 101 is also referred to as an intelligent hard drive backplane.

[0029] The hard disk backplane 101 is embedded with a switch, a channel status monitoring (CSM) module, a bandwidth controller (BWC) and a programmable power module.

[0030] Among them, the switch is also called a PCIE switch. The switch integrates a crossbar switch matrix integrated circuit. This crossbar switch matrix integrated circuit supports dynamic mapping of port channel bandwidth and remaps the physical connection relationship of PCIE channels in real time. For example, the crossbar switch matrix integrated circuit can split the upstream x16 channel bandwidth into four downstream x4 channel bandwidths, or merge it into two x8 channel bandwidths.

[0031] At the physical layer, a programmable unit is created in the switch, which supports switching channel bandwidth within 1μs. Among them, the programmable unit is a programmable SerDes (Serializer / Deserializer) unit based on time division multiplexing and point-to-point serial communication technology. Figure 2 As shown, Figure 2 This is a schematic diagram of the internal structure of the switch provided in the embodiment of the present application. Figure 2In the process, the crossbar switch matrix receives the hard disk load status transmitted by the channel status monitoring module, synchronizes the clock and configures the signal for the programmable SerDes unit according to the hard disk load, and reduces the programmable SerDes unit allocation for the downstream port corresponding to the hard disk with low load to reclaim idle bandwidth; and increases the programmable SerDes unit allocation for the downstream port corresponding to the hard disk with high load to increase the hard disk bandwidth.

[0032] At the protocol layer, the packet header of the channel protocol transaction layer (TLP) of the hard disk backplane is expanded and a channel lease identifier (Lease ID) is added to ensure that the data packet can still be correctly routed after the channel bandwidth is reorganized.

[0033] The CSM module is used to obtain multiple load indicators of each hard disk in real time.

[0034] The bandwidth controller is used to determine the channel bandwidth required for each hard drive.

[0035] The programmable power module is used to provide on-demand power to the channel corresponding to each hard drive, reducing energy consumption in idle channels.

[0036] Optionally, the hard disk backplane 101 also has a load prediction function. The hard disk backplane 101 stores an interrupt vector table (Message Signaled Interrupts-Extended, MSI-X). When the channel bandwidth is switched, the MSI-X interrupt vector table is synchronously updated to avoid data transmission interruption.

[0037] The host 102 of the embodiment of the present application can be any device with communication and computing functions. The host 102 is equipped with a processor.

[0038] The first hard disk 103 and the second hard disk 104 of the embodiment of the present application can be any type of hard disk. For example, the first hard disk 103 or the second hard disk 104 can be an NVMe hard disk.

[0039] Figure 1 The channel bandwidth switching system 100 shown is for example only and is not intended to limit the technical solution of the present application. Those skilled in the art should understand that in a specific implementation, the channel bandwidth switching system 100 may also include other hard disks without limitation.

[0040] In this embodiment, a channel bandwidth switching method is provided, which is applied to the hard disk backplane. Figure 3 FIG. 1 is a flow chart of a method for switching channel bandwidth according to an embodiment of the present invention. Figure 3 As shown, the process includes the following steps:

[0041] S301: Acquire multiple historical load indicator values of each hard disk among multiple hard disks within a historical time period.

[0042] Each hard disk is pre-configured with the basic bandwidth of the corresponding channel.

[0043] The load indicator value may be the input / output operations per second (IOPS) of the hard disk, the latency of the hard disk, or the queue depth.

[0044] The queue depth refers to the maximum number of outstanding input / output (I / O) requests that the operating system can send to the hard disk at the same time.

[0045] Exemplarily, the CSM module of the hard disk backplane obtains multiple historical load indicator values of each of the multiple hard disks within a historical time period.

[0046] S302: Determine a target hard disk among multiple hard disks according to multiple historical load indicator values, and determine a load type corresponding to the target hard disk.

[0047] The load type includes: a periodic load type, a burst load type, or a mixed load type. Furthermore, the periodic load type is used to indicate that the load of the hard disk is a periodically changing flow. The burst load type is used to indicate that the load of the hard disk has a flow that suddenly increases or decreases. The mixed load type may include a periodic load type and a burst load type, which are used to indicate that the load type of the hard disk is a periodically changing flow, and that the load may have a flow that suddenly increases or decreases.

[0048] In this step, an optional implementation method for determining the target hard disk among multiple hard disks based on multiple historical load index values is to first calculate the ratio between multiple historical load index values and historical time periods to obtain the average historical load index value of each hard disk per unit time; and determine the target hard disk from multiple hard disks based on the average historical load index value of each hard disk.

[0049] The average historical load indicator value is the average number of input / output operations per second, average latency, or average queue depth for each drive. The average historical load indicator value indicates the frequency or importance of each drive. A higher average historical load indicator value indicates a more frequently used or more important drive.

[0050] Furthermore, among the multiple average historical load index values corresponding to the multiple hard disks, a maximum average historical load index value is selected, and the hard disk corresponding to the load index value is the target hard disk.

[0051] It can be understood that the target hard disk has the largest average load index value in the historical time period, which means that the target hard disk is the most frequently used hard disk among the multiple hard disks.

[0052] Optionally, the hard disk backplane obtains the average standard deviation, average capacity utilization, average usage time and average operating temperature of the load index value of each hard disk, and obtains the first weight corresponding to the average load index value, the second weight corresponding to the standard deviation, the third weight corresponding to the capacity utilization, the fourth weight corresponding to the usage time, and the fifth weight corresponding to the average operating temperature; determines the comprehensive score of each hard disk based on the average load index value, average standard deviation, average capacity utilization, average usage time and average operating temperature, the first weight, the second weight, the third weight, the fourth weight, the fifth weight, the maximum historical load value, the maximum standard deviation, the maximum capacity utilization, the maximum usage time and the maximum operating temperature of the load index value of each hard disk; and determines the hard disk with the highest comprehensive score as the target hard disk.

[0053] The capacity utilization is the ratio of the currently used memory space of the hard disk to the total memory of the hard disk.

[0054] The sum of the first weight, the second weight, the third weight, the fourth weight, and the fifth weight is 1.

[0055] The comprehensive score of each hard drive is S i The calculation can be performed according to the preset formula. The preset formula can be:

[0056]

[0057] Among them, A max is the maximum historical load value; B max is the maximum standard deviation; C max is the maximum capacity utilization, D max For the maximum usage time and E max is the maximum operating temperature.

[0058] w1 is the first weight; w2 is the second weight, w3 is the third weight, w4 is the fourth weight and w5 is the fifth weight.

[0059] A i is the average historical load value; B i is the mean standard deviation; C i is the average capacity utilization, D i is the average usage time and E i is the average operating temperature.

[0060] In some optional implementations, if multiple historical load index values of the target hard disk change periodically, the hardware backplane determines that the load type of the target hard disk is a periodic load type; if a target load index value exists among multiple historical load index values of the target hard disk, the hardware backplane determines that the load type of the target hard disk is a sudden load type.

[0061] The increase or decrease in the target load index value per unit time is greater than or equal to a preset threshold.

[0062] The preset threshold can be set according to actual needs and is not limited. For example, if the target load indicator value is the number of IOPS, the preset threshold can be 20 times.

[0063] Optionally, if multiple historical load index values of the target hard disk change periodically, and the target load index value exists among the multiple historical load index values, the hardware backplane determines that the load type of the target hard disk is a mixed load type.

[0064] S303: Predicting a first target bandwidth required by the target hard disk according to a plurality of historical load indicator values and preset models corresponding to the load types.

[0065] The preset model corresponds to the load type. When the load type is periodic, the preset model is the Convolutional Neural Network (CNN) model; when the load type is bursty, the preset model is the Auto-Regressive Integrated Moving Average (ARIMA) model; when the load type is mixed, the preset model is the Long Short-Term Memory (LSTM) model.

[0066] Exemplarily, the channel status monitoring module of the hard drive backplane predicts a first target bandwidth required by the target hard drive based on multiple historical load indicator values and a preset model corresponding to the load type, and sends a channel bandwidth switching request to the bandwidth controller. The channel bandwidth switching request is used to request that the channel bandwidth of the target hard drive be switched to the first target bandwidth.

[0067] In one example, if the load type is a periodic load type, the hard disk backplane inputs multiple historical load indicator values into a preset model corresponding to the periodic load type, and outputs the first target bandwidth required by the target hard disk at different times within a single load cycle.

[0068] Optionally, the hard disk backplane generates a long-term allocation strategy based on the first target bandwidth required by the target hard disk at different times within a single load cycle. It is understandable that the long-term allocation strategy is used to indicate the channel bandwidth required by each hard disk at different times within a single cycle.

[0069] In one example, if the load type is a burst load type, the hard disk backplane inputs multiple historical load indicator values into a preset model corresponding to the burst load type, and outputs the predicted bandwidth required by the target hard disk in the future time period; if the predicted bandwidth is greater than or equal to the first threshold, the predicted bandwidth is used as the first target bandwidth required by the target hard disk in the future time period.

[0070] The first threshold is the basic bandwidth of the target hard disk.

[0071] It is understandable that when the hard disk backplane predicts that the predicted bandwidth required by the target hard disk in the future time period is greater than or equal to the basic bandwidth of the target hard disk, it is necessary to reallocate the predicted bandwidth to the target hard disk.

[0072] Optionally, the hard disk backplane generates a short-term adjustment instruction after using the predicted bandwidth as the first target bandwidth required by the target hard disk in the future time period. The short-term adjustment instruction is used to indicate that the first target bandwidth required by the target hard disk in the future time period is switched to the predicted bandwidth, and after the future time period, the bandwidth required by the target hard disk is switched according to the actual situation.

[0073] In one example, if the load type is a mixed load type, the drive backplane inputs multiple historical load indicator values into a preset model corresponding to the mixed load type, outputs the first target bandwidth required by the target drive, and generates a mixed mode policy. The mixed mode policy indicates that the first target bandwidth required to switch the target drive in the future time period is the predicted bandwidth or the channel bandwidth required by each drive at different times within a single cycle.

[0074] S304: Calculate the remaining allocatable bandwidth other than the first target bandwidth according to the basic bandwidth of each hard disk and the first target bandwidth.

[0075] In some optional implementations, the hard disk backplane calculates the sum of the basic bandwidth of each hard disk to determine the total bandwidth of multiple hard disks; and calculates the difference between the total bandwidth and the first target bandwidth to obtain the remaining allocable bandwidth.

[0076] For example, taking the case where there are 4 hard disks, the basic bandwidth of each hard disk is X4, and the first target bandwidth is X12, the hard disk backplane calculates the sum of the basic bandwidth of each hard disk and determines the total bandwidth of the multiple hard disks X16; calculates the difference between the total bandwidth X16 and the first target bandwidth X12, and obtains the remaining allocable bandwidth as X4.

[0077] S305: Allocate the remaining allocatable bandwidth to determine the second target bandwidth required by other hard disks.

[0078] The other hard disks are any hard disks among the multiple hard disks except the target hard disk.

[0079] In some optional implementations, the hard disk backplane obtains a first number of other hard disks; detects whether the remaining allocatable bandwidth is greater than or equal to the first number; if so, allocates the remaining allocatable bandwidth according to a preset rule to determine a second target bandwidth required by the other hard disks.

[0080] The second target bandwidth is greater than or equal to a second threshold value, which is the X1 bandwidth value.

[0081] The default rule is that each hard drive must be allocated at least X1 bandwidth, and multiple hard drives are allocated based on the load of each hard drive.

[0082] Example 1: In a data center scenario with hot and cold data, where the number of hard disks is 4 and the basic bandwidth of each hard disk is X4, when the hard disk backplane detects that the load type of the target hard disk is a bursty load type, and the preset model predicts that the load of the target hard disk (hot data) will increase to 90% within the next 50ms, and the loads of the other three hard disks will be less than 5%, and the first target bandwidth required by the target hard disk is predicted to be X12, the first number of the other hard disks is obtained as 3; the remaining allocatable bandwidth X4 is detected to be greater than or equal to 3; the remaining allocatable bandwidth X4 is allocated according to the preset rule, and the second target bandwidths required by the other three hard disks are determined to be X1, X1, and X1, respectively, and a spare bandwidth of X1 is reserved for the other three hard disks.

[0083] It can be understood that the throughput of the target hard disk among multiple hard disks is increased from 4GB / s to 12GB / s, and the total throughput of multiple hard disks is increased from 7GB / s to 15GB / s (12GB / s for the target hard disk + 1GB / s for each of the other three hard disks), which improves the bandwidth resource utilization of multiple hard disks.

[0084] Example 2: Taking the multi-stream concurrency scenario of a video editing workstation, where the number of hard disks is 8 and the basic bandwidth of each hard disk is X2, when the CSM module of the hard disk backplane detects that the load type of the target hard disk is a periodic load type, and the preset model outputs that the first target bandwidth required by the two target hard disks at the target time (the time when the two target hard disks need to perform special effects rendering) is X4 bandwidth, the BWC starts the preemptive mode, recovers X1 bandwidth from each of the other four hard disks except the two target hard disks, and allocates it to the two target hard disks, and allocates the remaining allocable bandwidth X8, and determines that the second target bandwidths required by the other six hard disks are X2, X2, X1, X1, X1, and X1 respectively.

[0085] It is understandable that in Example 2, the hard disk needs to perform special effects rendering as a high-priority task. Therefore, the BWC in the hard disk backplane can reserve a "fast channel" for high-priority tasks and can preempt or reclaim low-priority channel bandwidth resources to the target hard disk within 10ns.

[0086] S306: Switch the basic bandwidth of the channel corresponding to the target hard disk to the first target bandwidth, and switch the basic bandwidth of the channels corresponding to other hard disks to the second target bandwidth.

[0087] The hard disk backplane stores a first mapping table, which stores a plurality of first mapping relationships, each of which is a mapping relationship between each hard disk and each basic bandwidth.

[0088] In some optional embodiments, the hard disk backplane updates the first mapping table based on the first target bandwidth and the second target bandwidth to obtain a second mapping table; based on the second mapping table, the basic bandwidth of the channel corresponding to the target hard disk is switched to the first target bandwidth through the switch, and the basic bandwidth of the channels corresponding to other hard disks is switched to the second target bandwidth.

[0089] The second mapping table stores a plurality of second mapping relationships, which include a mapping relationship between a target hard disk and a first target bandwidth, and a mapping relationship between other hard disks and a second target bandwidth.

[0090] For example, Figure 4 As shown, Figure 4 This is a schematic diagram of the channel bandwidth switching of the hard disk backplane provided in the embodiment of the present application. Figure 4 In the process, the bandwidth controller of the hard drive backplane sends a channel switching request to the crossbar switch matrix. After receiving the request, the crossbar switch matrix begins to create a copy of the buffer mapping table and sends back a confirmation signal. After receiving the confirmation signal, the bandwidth controller sends the second mapping table generated by the load prediction engine to the bandwidth controller. The crossbar switch matrix updates the routing configuration of the Direct Memory Access (DMA) engine in the hardware backplane based on the second mapping table and sends a bandwidth switching signal to the hard drive. After the bandwidth switching is completed, the crossbar switch matrix sends a switching completion confirmation signal to the bandwidth controller, completing the channel bandwidth switching. In addition, the DMA engine is also used to transfer the current DMA request to the hard drive and return the DMA request transfer signal to the DMA engine.

[0091] As you can understand, during bandwidth switching, the hard drive backplane maintains two mapping tables (the first mapping table and the second mapping table), also known as the channel mapping table. After the current Direct Memory Access (DMA) request is completed, the hard drive backplane atomically switches to the second mapping table to avoid data loss.

[0092] Based on the above Figure 3 In the method shown, a hard disk backplane obtains multiple historical load index values of each hard disk among multiple hard disks within a historical time period, and determines a target hard disk among the multiple hard disks based on the multiple historical load index values, and determines the load type corresponding to the target hard disk; predicts a first target bandwidth required by the target hard disk based on a preset model corresponding to the multiple historical load index values and the load type; calculates the remaining allocable bandwidth other than the first target bandwidth based on the basic bandwidth and the first target bandwidth of each hard disk; allocates the remaining allocable bandwidth to determine the second target bandwidth required by other hard disks, where the other hard disk is any hard disk among the multiple hard disks except the target hard disk; switches the basic bandwidth of the channel corresponding to the target hard disk to the first target bandwidth, and switches the basic bandwidth of the channels corresponding to the other hard disks to the second target bandwidth.

[0093] Because the target hard drive's channel bandwidth can be predicted based on the load type and corresponding preset model corresponding to multiple historical load indicators, the performance of the hard drive can be accurately and comprehensively assessed using multiple historical load indicators. This allows for real-time splitting, aggregation, and reallocation of channel bandwidth resources based on each drive's actual load. This breaks through the rigid channel limitations of traditional backplanes and significantly improves the performance and energy efficiency of multiple hard drive systems through dynamic bandwidth allocation coordinated by software and hardware. Furthermore, the switch uses hardware-level channel management and protocol-layer collaborative control to switch the bandwidth corresponding to each hard drive, maximizing the hard drive's performance and improving the overall utilization of multiple drives.

[0094] During the actual testing process, in a configuration with 24 hard drives connected to the hard drive backplane, the embodiment of the present application dynamically allocated the channel bandwidth of multiple hard drives, and the total throughput reached 2.3 times that of static allocation, and 99% of the tail delay was reduced to 35% of the original level; at the same time, the power consumption of idle channel bandwidth decreased by 70%, and the comprehensive energy efficiency of multiple hard drives was improved by 40%.

[0095] 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 the necessary general hardware platform, and of course it can also be implemented by hardware, but in many cases the former is a better implementation method.

[0096] The embodiment of the present application also provides a hard disk backplane, such as Figure 5 As shown, Figure 5 A structural block diagram of a hard disk backplane provided in an embodiment of the present application; the hard disk backplane includes: an acquisition module 501, which is used to obtain multiple historical load indicator values of each of multiple hard disks in a historical time period, and each hard disk is pre-configured with a basic bandwidth of the corresponding channel.

[0097] The processing module 502 is configured to determine a target hard disk from a plurality of hard disks according to a plurality of historical load indicator values, and determine a load type corresponding to the target hard disk.

[0098] The processing module 502 is further configured to predict a first target bandwidth required by the target hard disk according to a plurality of historical load indicator values and a preset model corresponding to the load type.

[0099] The processing module 502 is further configured to calculate the remaining allocatable bandwidth other than the first target bandwidth according to the basic bandwidth of each hard disk and the first target bandwidth.

[0100] The processing module 502 is further configured to allocate the remaining allocatable bandwidth and determine a second target bandwidth required by other hard disks, where the other hard disks are any hard disks among the multiple hard disks except the target hard disk.

[0101] The processing module 502 is further configured to switch the basic bandwidth of the channel corresponding to the target hard disk to the first target bandwidth, and switch the basic bandwidth of the channels corresponding to other hard disks to the second target bandwidth.

[0102] In some optional implementations, the processing module 502 is specifically used to calculate the ratio between multiple historical load index values and historical time periods to obtain the average historical load index value of each hard disk per unit time; based on the average historical load index value of each hard disk, a target hard disk is determined from multiple hard disks, and the average load index value of the target hard disk is the largest.

[0103] In some optional implementations, the processing module 502 is further specifically used to determine that the load type of the target hard disk is a periodic load type if multiple historical load index values of the target hard disk show periodic changes; if a target load index value exists among multiple historical load index values of the target hard disk, then determine that the load type of the target hard disk is a sudden load type, and the increase or decrease of the target load index value per unit time is greater than or equal to a preset threshold.

[0104] In some optional embodiments, the processing module 502 is further specifically configured to, if the load type is a periodic load type, input a plurality of historical load indicator values into a preset model corresponding to the periodic load type, and output a first target bandwidth required by the target hard disk at different times within a single load cycle; if the load type is a bursty load type, input a plurality of historical load indicator values into a preset model corresponding to the bursty load type, and output a predicted bandwidth required by the target hard disk in a future time period; and if the predicted bandwidth is greater than or equal to a first threshold, use the predicted bandwidth as the first target bandwidth required by the target hard disk in the future time period.

[0105] In some optional implementations, the processing module 502 is further specifically configured to calculate the sum of the basic bandwidth of each hard disk to determine the total bandwidth of the multiple hard disks; and calculate the difference between the total bandwidth and the first target bandwidth to obtain the remaining allocable bandwidth.

[0106] In some optional implementations, the processing module 502 is further specifically configured to obtain a first number of other hard disks; detect whether the remaining allocatable bandwidth is greater than or equal to the first number; and if so, allocate the remaining allocatable bandwidth according to a preset rule to determine a second target bandwidth required by the other hard disks, where the second target bandwidth is greater than or equal to a second threshold.

[0107] In some optional embodiments, a switch is deployed on the hard disk backplane; the hard disk backplane stores a first mapping table, which stores multiple first mapping relationships, each of which is a mapping relationship between each hard disk and each basic bandwidth; the processing module 502 is further specifically used to update the first mapping table based on the first target bandwidth and the second target bandwidth to obtain a second mapping table, which stores multiple second mapping relationships, including a mapping relationship between the target hard disk and the first target bandwidth, and a mapping relationship between other hard disks and the second target bandwidth; based on the second mapping table, the basic bandwidth of the channel corresponding to the target hard disk is switched to the first target bandwidth through the switch, and the basic bandwidth of the channels corresponding to other hard disks is switched to the second target bandwidth.

[0108] For the description of the features in the embodiment corresponding to the channel bandwidth switching device, reference can be made to the relevant description of the embodiment corresponding to the channel bandwidth switching method, which will not be repeated here.

[0109] The embodiment of the present application also provides an electronic device, such as Figure 6 As shown, Figure 6 The hardware structure diagram of an electronic device provided in an embodiment of the present application is shown. The electronic device includes a processor 10 and a memory 20. The memory 20 stores a computer program. The processor 10 is configured to run the computer program to perform the steps of any of the above-mentioned channel bandwidth switching method embodiments.

[0110] An embodiment of the present application further provides a computer-readable storage medium, in which a computer program is stored. The computer program is configured to execute the steps of any of the above-mentioned channel bandwidth switching method embodiments when running.

[0111] In an exemplary embodiment, the computer-readable storage medium may include, but is not limited to, various media that can store computer programs, such as a USB flash drive, a read-only memory (ROM), a random access memory (RAM), a mobile hard disk, a magnetic disk, or an optical disk.

[0112] An embodiment of the present application further provides a computer program product, which includes a computer program. When the computer program is executed by a processor, the steps in any of the above-mentioned channel bandwidth switching method embodiments are implemented.

[0113] An embodiment of the present application further provides another computer program product, including a non-volatile computer-readable storage medium, wherein the non-volatile computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the steps in any of the above-mentioned channel bandwidth switching method embodiments are implemented.

[0114] Professionals may further appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, computer software, or a combination of the two. In order to clearly illustrate the interchangeability of hardware and software, the above description has generally described the components and steps of each example according to their functions. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professionals and technicians may use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.

[0115] The above describes in detail a channel bandwidth switching method, a hard disk backplane, a computer device, and a storage medium provided by the present application. Specific examples are used herein to illustrate the principles and implementation methods of the present application. The description of the above embodiments is intended only to help understand the method and core concept of the present application. It should be noted that, for those skilled in the art, various improvements and modifications may be made to the present application without departing from the principles of the present application, and such improvements and modifications also fall within the scope of protection of the claims of the present application.

Claims

1. A method for switching channel bandwidth, characterized in that: Applied to a hard disk backplane, the hard disk backplane is connected to multiple hard disks; the method includes: Acquire multiple historical load indicator values of each of the multiple hard disks within a historical time period, each of the hard disks being pre-configured with a basic bandwidth of a corresponding channel; Determining a target hard disk among the multiple hard disks according to the multiple historical load indicator values, and determining a load type corresponding to the target hard disk; predicting a first target bandwidth required by the target hard disk based on the multiple historical load indicator values and a preset model corresponding to the load type; Calculating a remaining allocatable bandwidth other than the first target bandwidth based on the basic bandwidth of each hard disk and the first target bandwidth; Allocate the remaining allocatable bandwidth to determine a second target bandwidth required by other hard disks, where the other hard disks are any hard disks among the multiple hard disks except the target hard disk; The basic bandwidth of the channel corresponding to the target hard disk is switched to the first target bandwidth, and the basic bandwidth of the channels corresponding to the other hard disks is switched to the second target bandwidth.

2. The method according to claim 1, characterized in that Determining a target hard disk from the multiple hard disks according to the multiple historical load indicator values includes: Calculating the ratio between the multiple historical load index values and the historical time period to obtain an average historical load index value of each hard disk within a unit time; The target hard disk is determined from the multiple hard disks according to the average historical load index value of each hard disk, and the average load index value of the target hard disk is the largest.

3. The method according to claim 1, characterized in that The determining, based on the multiple historical load indicator values, a load type corresponding to the target hard disk includes: If the multiple historical load indicator values of the target hard disk change periodically, determining that the load type of the target hard disk is a periodic load type; If a target load index value exists among the multiple historical load index values of the target hard disk, it is determined that the load type of the target hard disk is a sudden load type, and the increase or decrease of the target load index value per unit time is greater than or equal to a preset threshold.

4. The method according to claim 1, wherein The predicting, based on the plurality of historical load indicator values and a preset model corresponding to the load type, a first target bandwidth required by the target hard disk includes: If the load type is a periodic load type, inputting the multiple historical load indicator values into the preset model corresponding to the periodic load type, and outputting the first target bandwidth required by the target hard disk at different times within a single load cycle; If the load type is a burst load type, inputting the multiple historical load indicator values into the preset model corresponding to the burst load type, and outputting a predicted bandwidth required by the target hard disk in a future time period; If the predicted bandwidth is greater than or equal to a first threshold, the predicted bandwidth is used as the first target bandwidth required by the target hard disk in the future time period.

5. The method according to claim 1, characterized in that The calculating, based on the basic bandwidth of each hard disk and the first target bandwidth, of the remaining allocatable bandwidth other than the first target bandwidth includes: Calculating the sum of the basic bandwidth of each hard disk to determine the total bandwidth of the multiple hard disks; A difference between the total bandwidth and the first target bandwidth is calculated to obtain the remaining allocatable bandwidth.

6. The method according to claim 1, characterized in that Allocating the remaining allocatable bandwidth to determine the second target bandwidth required by other hard disks includes: Obtaining a first quantity of the other hard disks; detecting whether the remaining allocatable bandwidth is greater than or equal to the first amount; If so, the remaining allocatable bandwidth is allocated according to a preset rule to determine the second target bandwidth required by the other hard disks, and the second target bandwidth is greater than or equal to a second threshold.

7. The method according to claim 1, characterized in that The hard disk backplane is deployed with a switch; the hard disk backplane stores a first mapping table, the first mapping table stores a plurality of first mapping relationships, each of the first mapping relationships being a mapping relationship between each hard disk and each basic bandwidth; switching the basic bandwidth of the channel corresponding to the target hard disk to the first target bandwidth, and switching the basic bandwidth of the channels corresponding to the other hard disks to the second target bandwidth, includes: Based on the first target bandwidth and the second target bandwidth, updating the first mapping table to obtain a second mapping table, wherein the second mapping table stores a plurality of second mapping relationships, the plurality of second mapping relationships including a mapping relationship between the target hard disk and the first target bandwidth, and a mapping relationship between the other hard disks and the second target bandwidth; Based on the second mapping table, the basic bandwidth of the channel corresponding to the target hard disk is switched to the first target bandwidth through the switch, and the basic bandwidths of the channels corresponding to the other hard disks are switched to the second target bandwidth.

8. A hard disk backplane, characterized in that: The hard disk backplane is connected to multiple hard disks; the hard disk backplane includes: an acquisition module, configured to acquire a plurality of historical load indicator values of each of the plurality of hard disks within a historical time period, wherein each of the hard disks is pre-configured with a basic bandwidth of a corresponding channel; a processing module, configured to determine a target hard disk among the multiple hard disks according to the multiple historical load indicator values, and determine a load type corresponding to the target hard disk; The processing module is further configured to predict a first target bandwidth required by the target hard disk based on the multiple historical load indicator values and a preset model corresponding to the load type; The processing module is further configured to calculate a remaining allocatable bandwidth other than the first target bandwidth based on the basic bandwidth of each hard disk and the first target bandwidth; The processing module is further configured to allocate the remaining allocatable bandwidth to determine a second target bandwidth required by other hard disks, where the other hard disks are any hard disks among the multiple hard disks except the target hard disk. The processing module is further configured to switch the basic bandwidth of the channel corresponding to the target hard disk to the first target bandwidth, and switch the basic bandwidths of the channels corresponding to the other hard disks to the second target bandwidth.

9. An electronic device, characterized in that: include: memory for storing computer programs; A processor, configured to implement the steps of the channel bandwidth switching method according to any one of claims 1 to 7 when executing the computer program.

10. A computer-readable storage medium, characterized in that The computer-readable storage medium stores a computer program, wherein when the computer program is executed by a processor, the steps of the channel bandwidth switching method according to any one of claims 1 to 7 are implemented.

Citation Information

Cited By

  • Hard disk resource adjusting method and device, server, storage medium and product

    CN120723470A

  • Hard disk resource adjustment method and device, server, storage medium and product

    CN120723470B