Server
By introducing storage switches, control components, and power supply components into the server, the usage of storage resources can be detected and adjusted, thus solving the problem of low storage resource utilization and achieving flexible allocation and efficient utilization of storage resources.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- INSPUR SUZHOU INTELLIGENT TECH CO LTD
- Filing Date
- 2025-09-09
- Publication Date
- 2026-07-02
AI Technical Summary
In existing technologies, server hosts have low utilization rates of storage resources and inflexible storage resource provisioning solutions, resulting in resource waste.
A storage switch, control unit, and power supply unit are introduced into the server. The storage switch connects the server host and multiple storage units, and the control unit is connected to the power supply unit. By detecting the adjustment information of storage resources, the power supply status of the storage units is flexibly adjusted to match the usage of storage resources.
This improves the utilization rate of storage resources by the server host, avoids power supply to unused storage components, ensures normal power supply to required storage components, and enhances resource matching and utilization efficiency.
Smart Images

Figure CN2025120159_02072026_PF_FP_ABST
Abstract
Description
A type of server
[0001] Cross-reference to related applications
[0002] This application claims priority to Chinese Patent Application No. 202411925173.4, filed on December 25, 2024, entitled "A Server", the entire contents of which are incorporated herein by reference. Technical Field
[0003] This application relates to the field of computers, and in particular, to a server. Background Technology
[0004] With the continuous development of CXL (Compute Express Link, an open interconnect standard protocol) technology, CXL memory resource pools built on the CXL bus have provided convenience for server hosts to flexibly utilize storage resources. Currently, storage resources are typically provided to server hosts by connecting PCIe (Peripheral Component Interconnect Express) standard cards. This involves fabricating a standard card containing MXC (Memory Expander Controller) and DIMM (Dual-In-line Memory Modules) storage components. This standard card is then inserted into a PCIe slot on the server motherboard to connect to the server host, which obtains the storage resources via the CXL bus. However, in this configuration, the PCIe standard card is powered entirely by the connected server host, and the storage resources provided by the PCIe standard card to the server host are fixed. This inflexible storage resource provision scheme results in low utilization of storage resources by the server host. Summary of the Invention
[0005] This application provides a server to at least address the problem of low utilization of storage resources in related technologies.
[0006] According to one embodiment of this application, a server is provided, including: a server host, a storage switch, multiple storage components, a control component, and a power supply component. The control component is connected to the power supply component, the storage switch is connected between the server host and the multiple storage components, the power supply component is connected to each of the multiple storage components, and the control component is connected to the server host. The storage switch is configured to provide storage resources to the server host by using the multiple storage components as a storage resource pool. The control component is configured to detect resource adjustment information of the server host during its operation, wherein the resource adjustment information is used to indicate the adjustment status of the storage resources allocated by the storage switch to the server host; and to adjust the power supply status of the power supply component to each storage component to match the resource adjustment information.
[0007] In one exemplary embodiment, the control unit includes: a first controller and a second controller, the first controller being connected to the second controller and connected to a server host, and the second controller being connected to a power supply unit; the first controller is configured to detect resource adjustment information based on resource allocation information of the server host, wherein the resource allocation information is used to indicate the storage resources allocated by the storage switch to the server host; convert the resource adjustment information into state change information, wherein the state change information is used to indicate a target storage component among a plurality of storage components whose usage state on the server host has changed; and send the state change information to the second controller; the second controller is configured to adjust the power supply state of the power supply unit to the target storage component according to the state change information.
[0008] In one exemplary embodiment, a first controller is configured to: collect current resource allocation information from a server host; compare the current resource allocation information with previously collected resource allocation information; if the current resource allocation information matches the previously collected resource allocation information, determine resource adjustment information as first adjustment information, wherein the first adjustment information is used to indicate that the storage resources allocated by the storage switch to the server host have not been adjusted; if the current resource allocation information does not match the previously collected resource allocation information, determine resource adjustment information as second adjustment information, wherein the second adjustment information is used to indicate that the storage resources allocated by the storage switch to the server host have been adjusted.
[0009] In one exemplary embodiment, a first controller is configured to: when the resource adjustment information is first adjustment information, convert the first adjustment information into first change information, wherein the first change information is used to indicate that there is no target storage component among the plurality of storage components, and the status change information includes the first change information; when the resource adjustment information is second adjustment information, extract the target storage component from the current resource allocation information and the previously collected resource allocation information to obtain second change information, wherein the second change information is used to indicate that the usage status of the target storage component among the plurality of storage components on the server host has changed, and the status change information includes the second change information.
[0010] In an exemplary embodiment, a first controller is configured to: determine the first set of storage components currently used by the server host based on current resource allocation information; determine the second set of storage components previously used by the server host based on previously collected resource allocation information; calculate the union and intersection of the first set of storage components and the second set of storage components; and calculate the difference between the union and the intersection, wherein the storage components in the difference set are the target storage components.
[0011] In one exemplary embodiment, the second controller includes: a first controller and a second controller, the first controller being connected to the second controller and the first controller being connected to the first controller, and the second controller being connected to a power supply component; the first controller is configured to generate power supply control signals for each storage component according to state change information; the second controller is configured to transmit the power supply control signals to the power supply component.
[0012] In one exemplary embodiment, the second controller includes: a first device and a second device, the first device being connected to a storage switch, the second device being connected to a plurality of storage components, the first device being connected to a first controller, and the second device being connected to a power supply component; the first controller is further configured to write a power supply control signal to the first device; the first device is configured to transmit the power supply control signal to the second device through the connection between the storage switch and the plurality of storage components; the second device is configured to transmit the power supply control signal to the power supply component.
[0013] In one exemplary embodiment, a storage switch is equipped with multiple first cable interfaces, and each of the multiple storage components is equipped with a second cable interface. The first cable interfaces and the second cable interfaces are connected in a one-to-one correspondence. A first device is connected to the power supply control pin of each first cable interface, and a second device is connected to the power supply control pin of each second cable interface. The first device is configured to transmit the power supply control signal corresponding to each storage component to the second device through the first cable interface corresponding to each storage component, according to the correspondence between each first cable interface and each storage component. The second device is configured to receive the power supply control signal corresponding to each storage component from each second cable interface and transmit the power supply control signal to the power supply component.
[0014] In one exemplary embodiment, the storage switch is configured to transmit data to the storage component via a first cable interface and a second cable interface.
[0015] In one exemplary embodiment, a power supply component is provided with a plurality of enable terminals, each of which corresponds to a plurality of storage components; a second device is connected to the plurality of enable terminals, and the power supply control signal corresponding to each storage component includes an enable signal corresponding to each storage component; the second device is configured to transmit the enable signal corresponding to each storage component to the enable terminal corresponding to each storage component.
[0016] In one exemplary embodiment, a first device creates a plurality of storage bits, each storage bit corresponding to a plurality of storage components; a first controller is configured to overwrite the power supply control signals corresponding to each storage component into the storage bits corresponding to each storage component; the first device is configured to transmit the data on the storage bits corresponding to each storage component to a second device through a first cable interface corresponding to each storage component; the second device is configured to control the enable terminal corresponding to each storage component according to the data transmitted on the second cable interface corresponding to each storage component.
[0017] In one exemplary embodiment, the power supply component includes a plurality of first power supply modules, each of the plurality of first power supply modules being connected to a control component, and each of the first power supply modules being connected to a plurality of storage components in a one-to-one correspondence; the control component is configured to generate a power supply control signal corresponding to each of the first power supply modules according to resource adjustment information; the first power supply modules are configured to supply power to the corresponding storage components according to the power supply control signals.
[0018] In one exemplary embodiment, the control component is connected to a plurality of first power supply modules one by one through a plurality of first power supply channels; the control component is also configured to send power supply control signals to the corresponding first power supply modules through each of the first power supply channels.
[0019] In one exemplary embodiment, a control component is provided with multiple signal output terminals, and each first power supply module is provided with an enable terminal. The multiple signal output terminals are connected to the corresponding enable terminals to form multiple first power supply channels. The control component is configured to send corresponding enable signals to the corresponding first power supply modules through each first power supply channel, wherein the power supply control signal includes the enable signal.
[0020] In one exemplary embodiment, each storage component includes: a storage controller, and one or more storage cells; each first power supply module is provided with a power supply port, which is configured to connect to the storage controller and one or more storage cells; the first power supply module is configured to supply power to the storage controller and one or more storage cells through the power supply port according to a power supply control signal.
[0021] In one exemplary embodiment, the power supply port includes: a first port, and one or more second ports, wherein the first port is connected to a storage controller, and the one or more second ports are connected one or more storage cells respectively; a first power supply module is configured to convert the power supply voltage into a first input voltage of the storage controller according to a power supply control signal, and provide the first input voltage to the storage controller through the first port; and to convert the power supply voltage into a second input voltage of the storage cell according to the power supply control signal, and provide the second input voltage to the corresponding storage cell through the corresponding second port.
[0022] In one exemplary embodiment, the power supply component is also connected to the storage switch; the control component is further configured to control the power supply component to supply power to multiple storage components when the server host has performed a startup operation; control the power supply component to supply power to the storage switch when all multiple storage components are powered on; and control the server host to start when the storage switch is powered on.
[0023] In one exemplary embodiment, the power supply component includes: a plurality of first power supply modules and a second power supply module, each first power supply module being connected to a plurality of storage components in a one-to-one correspondence; the second power supply module being connected to a storage switch; both the plurality of first power supply modules and the second power supply module being connected to a control component; the control component is configured to, when the server host is started, control the plurality of first power supply modules to supply power to the plurality of storage components, and receive first feedback signals returned by the plurality of first power supply modules to obtain a plurality of first feedback signals; when the plurality of first feedback signals are used to indicate that the corresponding storage components are powered on, control the second power supply module to supply power to the storage switch, and receive second feedback signals returned by the second power supply module; when the second feedback signal is used to indicate that the storage switch is powered on, control the server host to start.
[0024] In one exemplary embodiment, the control unit is connected to multiple first power supply modules one-to-one through multiple first power supply channels and multiple first feedback channels, and the control unit is connected to the second power supply module through a second power supply channel and a second feedback channel. The control unit is configured to control the corresponding first power supply module to supply power to the corresponding storage unit through the first power supply channel, and to receive a first feedback signal returned by the corresponding first power supply module through the corresponding first feedback channel. The control unit is also configured to control the second power supply module to supply power to the storage switch through the second power supply channel, and to receive a second feedback signal returned by the second power supply module through the second feedback channel.
[0025] In one exemplary embodiment, the control unit includes a third controller, a fourth controller, and a fifth controller, which are interconnected. Both the fourth and fifth controllers are connected to a power supply unit, and the third controller is connected to a server host. The third controller is configured to, when the server host is started, control the power supply unit to supply power to multiple storage units via the fifth controller; when all storage units are powered on, control the power supply unit to supply power to a storage switch via the fourth controller; and when the storage switch is powered on, control the server host to start.
[0026] In one exemplary embodiment, the fourth controller includes a third device and a fourth device connected together; the fifth controller includes a fifth device and a sixth device connected together; the third controller, the third device, and the fifth device are interconnected; the power supply components include a plurality of first power supply modules and second power supply modules, each first power supply module being configured to be connected to a plurality of storage components in a one-to-one correspondence; the second power supply modules are connected to a storage switch; the fourth device is connected to the second power supply modules; and the sixth device is connected to all of the plurality of first power supply modules; the third controller is configured to, when the server host has performed a startup operation, notify the fifth device to supply power to the plurality of storage components; when all of the plurality of storage components are powered on, notify the third device to supply power to the storage switch; and when the storage switch is powered on, control the server host to start up; the fifth device is configured to, through the sixth device, control the plurality of first power supply modules to supply power to the plurality of storage components; and the third device is configured to, through the fourth device, control the second power supply modules to supply power to the storage switch.
[0027] This application addresses the issue that, in addition to the server host and multiple storage components, the server also includes a storage switch, a control unit, and a power supply unit. The storage switch connects the server host and the storage components, pooling them as a resource pool to provide storage to the server host. Furthermore, the control unit connects to both the power supply unit and the server host, with the power supply unit also connected to multiple storage components. Based on these connections, the control unit can detect changes in the storage resources allocated to the server host by the storage switch during operation and adjust the power supply to each storage component to match the allocated resources. This allows for flexible adjustment of the power supply to each storage component based on changes in storage resource usage. Unused storage components are not powered, while those in use are powered normally. This improves the matching between the currently used and available storage resources on the server host, increasing storage resource utilization. Therefore, it solves the problem of low storage resource utilization in related technologies, achieving the goal of improving storage resource utilization. Attached Figure Description
[0028] Figure 1 is a schematic diagram of the server structure according to an embodiment of this application;
[0029] Figure 2 is a schematic diagram of a connection method between a control component and a power supply component according to an embodiment of this application;
[0030] Figure 3 is a schematic diagram of a connection method between a control component and a power supply component according to an embodiment of this application;
[0031] Figure 4 is a schematic diagram of the server structure according to an embodiment of this application;
[0032] Figure 5 is a flowchart of the server's power-on / off and storage resource reallocation process;
[0033] Figure 6 is a connection diagram of the CPLD1 and the memory device interface according to an embodiment of this application;
[0034] Figure 7 is a schematic diagram of a CPLD2 power supply control scheme according to an embodiment of this application. Detailed Implementation
[0035] The embodiments of this application will be described in detail below with reference to the accompanying drawings and examples.
[0036] It should be noted that the terms "first," "second," etc., in the specification, claims, and drawings of this application are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence.
[0037] This embodiment provides a server. Figure 1 is a schematic diagram of the server structure according to an embodiment of this application. As shown in Figure 1, the server includes: a server host, a storage switch, multiple storage components, a control component, and a power supply component. The control component is connected to the power supply component (there are many possibilities for the specific connection method. Figure 1 only shows different possibilities with dashed lines. The dashed lines in Figure 1 indicate that the connection method is not specifically limited). The storage switch is connected between the server host and the multiple storage components. The power supply component is connected to the multiple storage components respectively. The control component is connected to the server host.
[0038] The storage switch is configured to pool multiple storage components to provide storage resources to the server host.
[0039] The control unit is configured to detect the resource adjustment information of the server host during its operation, wherein the resource adjustment information is used to indicate the adjustment of the storage resources allocated by the storage switch to the server host; and to adjust the power supply status of the power supply unit to each storage unit to match the resource adjustment information.
[0040] Based on the above, since a server includes a server host and multiple storage components, it also includes a storage switch, a control unit, and a power supply unit. The storage switch connects the server host and the multiple storage components, and can pool the multiple storage components to provide storage resources to the server host. Furthermore, the control unit is connected to both the power supply unit and the server host, and the power supply unit is connected to multiple storage components. Based on these connections, the control unit can detect the adjustment of the storage resources allocated to the server host by the storage switch during server host operation and adjust the power supply status of each storage component to match the allocated storage resources. This allows the server to flexibly adjust the power supply status of each storage component according to changes in the server host's storage resource usage. Unused storage components are not powered, while required storage components are powered normally. This improves the matching between the currently used storage resources and the currently available storage resources on the server host, increasing the utilization rate of storage resources. Therefore, it can solve the problem of low storage resource utilization in related technologies and achieve the effect of improving storage resource utilization.
[0041] Optionally, in this embodiment, a server host may refer to, but is not limited to, a computer hardware system specifically configured to host and run server software. Server hosts typically possess high performance, stability, and reliability to meet various service needs, such as website hosting, database management, file storage, and sharing. Server hosts are typically equipped with high-performance processors to handle a large number of concurrent requests and high-load tasks. Server hosts require sufficient memory to support the operation of multiple applications and services, ensuring stable system operation. Server hosts typically use high-speed solid-state drives (SSDs) or high-performance hard disk drives (HDDs) to store data, improving data read and write speeds. Server hosts require high-speed, stable network connections to ensure efficient and reliable data transmission. To ensure data security and high system availability, server hosts typically have redundant power supplies, redundant network connections, and data backup capabilities. Server hosts need to have a certain degree of scalability so that more hardware resources, such as additional hard disks, memory, or processors, can be added as business grows.
[0042] Optionally, in this embodiment, the storage switch may be, but is not limited to, a switching device that connects the server host and multiple storage components, and utilizes the multiple storage components to form a storage resource pool to provide storage resources to the server host. For example, the storage switch may be a CXL switch, which integrates the storage resources provided by multiple storage components into a storage resource pool for the server host through CXL storage resource pooling technology. Alternatively, the storage switch may be a SAN (Storage Area Network) switch, which integrates the storage resources provided by multiple storage components into a storage resource pool for the server host through virtualized storage network resource pooling technology. In some embodiments, the SAN switch uses storage virtualization technology, such as LUN (Logical Unit Number) mapping, to virtualize the storage space of storage components, such as multiple physical storage arrays, into a unified storage resource pool. In this resource pool, the storage space may span different physical devices, but to the server host, they appear as a single storage device.
[0043] Optionally, in the embodiments of this application, the multiple storage components may be, but are not limited to, multiple storage devices of the same type that support resource pooling technology. For example, they may be multiple DRAMs (Dynamic Random Access Memory), multiple SRAMs (Static Random Access Memory), or multiple NVDIMMs (Non-Volatile Dual In-line Memory Modules), etc. The multiple storage components may also be, but are not limited to, a combination of multiple storage devices of different types that support resource pooling technology, such as a combination of multiple DRAMs and multiple SRAMs, etc.
[0044] Optionally, in the embodiments of this application, a storage component may also include, but is not limited to, a storage controller and multiple storage units. The storage controller may include, but is not limited to, MXC, and the storage units may include, but are not limited to, DRAM, SRAM, and NVDIMM, etc.
[0045] Optionally, in this embodiment, a storage switch connected between the server host and multiple storage components is used to provide storage resources to the server host as a storage resource pool. This replaces the previous method where the server host directly connects to a PCIe card integrating multiple storage components to obtain the storage resources integrated on the PCIe card. The storage switch can dynamically allocate storage resources to the server host according to the host's service needs and with flexible allocation, so the storage capacity is no longer fixed. Based on this, some storage components are no longer used by the server host. To improve resource utilization and avoid waste, this application proposes a scheme using control and power supply components to control the power supply status of multiple storage components.
[0046] In some embodiments, the control unit may be, but is not limited to, a device with control functions, such as various processors, including CPUs (Central Processing Units), MCUs (Microcontroller Units), BMCs (Baseboard Management Controllers), CPLDs (Complex Programmable Logic Devices), or FPGAs (Field-Programmable Gate Arrays). The control unit may also be, but is not limited to, a combination of multiple devices with control functions, where the devices within the combination perform different parts of the function implemented by the control unit. For example, it may be a combination of different processors, a combination of a CPU and a BMC, a combination of a CPU and multiple BMCs, or a combination of a CPU, multiple BMCs, and multiple CPLDs. This application does not impose specific limitations in this regard.
[0047] Optionally, in this embodiment, the power supply component may be, but is not limited to, a device that can be controlled to supply power externally. For example, it may be a combination of a relay and a power supply, or a combination of a transistor and a power supply. In some embodiments, the power supply component may also be, but is not limited to, a device that converts received electrical energy for external output. Power needs to be supplied to these devices in the server. These devices adjust the output power according to the instructions of the control component to adjust the power supply state of each storage component. In some embodiments, such a device may be a power management integrated circuit (PMIC).
[0048] Optionally, in this embodiment, Figure 2 is a schematic diagram of a connection method between a control component and a power supply component according to an embodiment of this application, and Figure 3 is a schematic diagram of a connection method between a control component and a power supply component according to an embodiment of this application. The connection between the control component and the power supply component can be, but is not limited to, a direct connection as shown in Figure 2, or an indirect connection as shown in Figure 3, through a connection between the control component and a storage switch, a connection between the storage switch and multiple storage components, or a connection between the power supply component and multiple storage components. The connection method between the control component and the power supply component can be flexibly selected according to the needs of the application scenario. For example, if the interface pins of the storage switch and multiple storage components have power control pins or are idle pins, an indirect connection method can be selected, reusing the interfaces of the storage switch and multiple storage components, as well as the connection cables between the storage switch and multiple storage components. For example, if the control component and the power supply component are integrated on a single circuit board, a direct connection method can be adopted between the control component and the power supply component to reduce cross-circuit board connection lines.
[0049] Optionally, in this embodiment, the resource adjustment information includes, but is not limited to, resource adjustment requests sent by the host to the storage switch. The control unit can determine the adjustment operation of the storage switch allocating storage resources to the server host based on the resource adjustment requests, and further determine the adjustment status of the storage resources allocated by the storage switch to the server host. In some embodiments, the resource adjustment information may also be obtained by comparing the results of the control unit periodically collecting resource allocation information on the server host.
[0050] Optionally, in this embodiment, the control component is configured to detect resource adjustment information of the server host during server host operation. This includes, but is not limited to, the control component sending adjustment request acquisition information to the host, and the host sending the resource adjustment request to be sent to the storage switch to the control component after receiving the adjustment request acquisition information. Alternatively, the control component sending resource allocation acquisition information to the server host, and the host returning the current resource allocation information of the server host to the control component after receiving the resource allocation acquisition information. The control component stores the resource allocation information previously sent by the server host, and can determine which storage components have changed their usage status based on the comparison results of the two resource allocation information.
[0051] Optionally, in this embodiment, the control unit is further configured to adjust the power supply status of each storage unit to match the resource adjustment information. This includes, but is not limited to, the control unit outputting power supply control signals for each storage unit that match the resource adjustment information to the power supply unit. Alternatively, after determining a target storage unit whose usage status on the server host has changed, the control unit determines the power supply control signal for the target storage unit to be a power supply control signal with the opposite control effect to the power supply control signal of the target storage unit output previously and outputs it to the power supply unit. For example, if the power supply control signal of the target storage unit previously instructed the power supply unit to supply power to the target storage unit, then the power supply control signal output this time is a control signal instructing the power supply unit to stop supplying power to the target storage unit.
[0052] As can be seen from the above, by using control and power supply components to control the power supply status of multiple storage components, the power supply to storage components that are not allocated to the server host by the storage switch can be stopped, and the power supply to storage components newly allocated to the server host by the storage switch can be started, ensuring the normal use of storage resources by the server host while avoiding resource waste.
[0053] As an optional implementation, the control unit includes: a first controller and a second controller, the first controller being connected to the second controller, the first controller being connected to the server host, and the second controller being connected to the power supply unit; the first controller is configured to detect resource adjustment information based on the resource allocation information of the server host, wherein the resource allocation information is used to indicate the storage resources allocated by the storage switch to the server host; convert the resource adjustment information into status change information, wherein the status change information is used to indicate the target storage component among multiple storage components whose usage status on the server host has changed; and send the status change information to the second controller; the second controller is configured to adjust the power supply status of the power supply unit to the target storage component according to the status change information.
[0054] Optionally, in the embodiments of this application, the control unit may include, but is not limited to, a first controller configured to convert the resource adjustment information of the server host into state change information indicating that a target storage unit has undergone a usage state transition, and a second controller configured to adjust the power supply unit to the power supply state of the target storage unit according to the state change information.
[0055] Optionally, in this embodiment of the application, the first controller may record, but is not limited to, the correspondence between the storage resources used by the server host and the storage resources provided by each storage component, so that the first controller can realize the conversion of resource adjustment information into state change information.
[0056] Optionally, in the embodiments of this application, the first controller and the second controller may be, but are not limited to, a device with control function or a combination of multiple devices with control function. The devices in the device combination corresponding to the first controller respectively perform different parts of the function implemented by the first controller, and the devices in the device combination corresponding to the second controller respectively perform different parts of the function implemented by the second controller. For example, the first controller may be a processor, and the second controller may be a combination of a BMC and two CPLDs.
[0057] Through the above, a two-layer control mechanism is achieved through the division of labor and cooperation between the first and second control machines. The first control machine focuses on monitoring and analyzing resource requirements, while the second control machine focuses on the actual execution of resource adjustments. This mechanism enables resource management to both quickly respond to host demands and efficiently execute resource adjustment operations, enhancing the overall coordination and performance of the server.
[0058] As an optional implementation, the first controller is configured to: collect current resource allocation information from the server host; compare the current resource allocation information with the previously collected resource allocation information; if the current resource allocation information matches the previously collected resource allocation information, determine the resource adjustment information as the first adjustment information, wherein the first adjustment information is used to indicate that the storage resources allocated by the storage switch to the server host have not been adjusted; if the current resource allocation information does not match the previously collected resource allocation information, determine the resource adjustment information as the second adjustment information, wherein the second adjustment information is used to indicate that the storage resources allocated by the storage switch to the server host have been adjusted.
[0059] Optionally, in this embodiment, collecting current resource allocation information from the server host includes, but is not limited to, the first controller requesting the server host to obtain the server host's current resource allocation information at a fixed frequency, or the first controller monitoring the communication between the server host and the storage switch, and requesting the server host to obtain the server host's current resource allocation information when it detects that a communication has been completed between the server host and the storage switch.
[0060] Through the above process, the primary control unit continuously collects resource allocation information from the server host, reflecting the current usage of resources in the storage resource pool. This continuous monitoring mechanism enables the system to track dynamic changes in resources in real time, providing a basis for dynamic resource adjustments.
[0061] As an optional implementation, the first controller is configured to: when the resource adjustment information is first adjustment information, convert the first adjustment information into first change information, wherein the first change information is used to indicate that there is no target storage component among the multiple storage components, and the status change information includes the first change information; when the resource adjustment information is second adjustment information, extract the target storage component from the current resource allocation information and the previously collected resource allocation information to obtain second change information, wherein the second change information is used to indicate that the usage status of the target storage component among the multiple storage components on the server host has changed, and the status change information includes the second change information.
[0062] Optionally, in this embodiment, extracting the target storage component from the current resource allocation information and the previously collected resource allocation information may involve determining, based on the current resource allocation information and the previously collected resource allocation information, what changes have occurred in the storage resources allocated to the server host, and then determining which storage components have changed their usage status; or determining the current usage status of each storage component based on the current resource allocation information and the usage status of each storage component at the time of the previous collection based on the previously collected resource allocation information, and then determining which storage components have changed their usage status.
[0063] The above content refines the process of generating and converting resource adjustment information, improves the intelligence level of server storage resource management, and ensures the accuracy, efficiency, and flexibility of resource adjustments.
[0064] As an optional implementation, the first controller is configured to: determine the first set of storage components currently used by the server host based on the current resource allocation information; determine the second set of storage components previously used by the server host based on the previously collected resource allocation information; calculate the union and intersection of the first set of storage components and the second set of storage components; and calculate the difference between the union and the intersection, wherein the storage components in the difference set are the target storage components.
[0065] Optionally, in this embodiment, after obtaining the target storage component by calculating the difference between the union and intersection, the specific changes in the usage status of the target storage component are determined by, but not limited to, searching for the target storage component in the first storage component set or the second storage component set. For example, after obtaining the target storage component by calculating the difference between the union and intersection, the target storage component is searched in the first storage component set; if the target storage component is not found, it is determined that the target storage component is a storage component that the server host has stopped using; if the target storage component is found, it is determined that the target storage component is a storage component that the server host has newly added to use.
[0066] The above content further clarifies the logic of how the first controller accurately determines the target storage component, and accurately identifies the specific content of resource changes through set operations, providing more detailed and accurate data support for resource adjustment.
[0067] As an optional implementation, the second controller includes: a first controller and a second controller, the first controller being connected to the second controller and the first controller being connected to the first controller, and the second controller being connected to the power supply component; the first controller is configured to generate power supply control signals for each storage component according to state change information; the second controller is configured to transmit the power supply control signals to the power supply component.
[0068] Optionally, in the embodiments of this application, the first controller and the second controller may be, but are not limited to, a device with control function or a combination of multiple devices with control function. The devices in the device combination corresponding to the first controller respectively perform different parts of the function implemented by the first controller, and the devices in the device combination corresponding to the second controller respectively perform different parts of the function implemented by the second controller. For example, the first controller may be a BMC, and the second controller may be a combination of two CPLDs.
[0069] Optionally, in this embodiment, the connection between the second controller and the power supply component can be, but is not limited to, a direct connection between the second controller and the power supply component, or an indirect connection between the second controller and the power supply component via a storage switch, and can be flexibly configured as needed.
[0070] Optionally, in the embodiments of this application, the power supply control signals previously output by each storage component are recorded in the first controller, so the current power supply control signals of each storage component can be generated by combining the target storage component indicated by the state change information and the power supply control signals previously output by each storage component.
[0071] Optionally, in the embodiments of this application, the state change information includes, but is not limited to, the target storage component and the type of usage state change of the target storage component. For example, if the state change information is that storage component A is no longer in use, the first controller can determine the power supply control signal A of storage component A as a signal instructing the power supply component to stop supplying power to storage component A based on the state change information. The second controller transmits the power supply control signal A to the power supply component, and the power supply component changes the power supply state of storage component A with reference to the power supply control signal A. The power supply state of other storage components remains unchanged because the power supply component does not receive the corresponding new power supply control signal.
[0072] Based on the above, a distributed control structure of the first and second controllers was introduced. This not only increases the control hierarchy but also makes the control process more modular and specialized, thereby improving control efficiency and accuracy.
[0073] As an optional implementation, the second controller includes: a first device and a second device, the first device being connected to a storage switch, the second device being connected to multiple storage components, the first device being connected to a first controller, and the second device also being connected to a power supply component; the first controller is further configured to write power supply control signals to the first device; the first device is configured to transmit power supply control signals to the second device through the connection between the storage switch and the multiple storage components; the second device is configured to transmit power supply control signals to the power supply component.
[0074] Optionally, in the embodiments of this application, both the first device and the second device can be, but are not limited to, a type of control device, such as a CPLD or an FPGA. In some embodiments, there are no restrictions on the device types of the first device and the second device; the second device can be a control device of the same type as the first device, or it can be a control device of a different type than the first device.
[0075] Optionally, in this embodiment, the first device is indirectly connected to the second device through the connection between the first device and the storage switch, the connection between the storage switch and multiple storage components, and the connection between the multiple storage components and the second device.
[0076] Based on the above, the storage switch, as an intermediate layer for power control signal transmission, can provide redundant signal transmission paths. Even if a problem occurs on one path, the system can continue to transmit power control signals through other paths, thereby maintaining the stable operation of the system.
[0077] As an optional implementation, the storage switch is equipped with multiple first cable interfaces, and each of the multiple storage components is equipped with a second cable interface. The first cable interfaces and the second cable interfaces are connected in a one-to-one correspondence. A first device is connected to the power supply control pin of each first cable interface, and a second device is connected to the power supply control pin of each second cable interface. The first device is configured to transmit the power supply control signal corresponding to each storage component to the second device through the first cable interface corresponding to each storage component, according to the correspondence between each first cable interface and each storage component. The second device is configured to receive the power supply control signal corresponding to each storage component from each second cable interface and transmit the power supply control signal to the power supply component.
[0078] Optionally, in the embodiments of this application, the first cable interface and the second cable interface are interfaces with power supply control pins. The power supply control pins of the first cable interface and the second cable interface may be built into the interface itself or modified from other pins of the interface. This application does not make specific limitations on this.
[0079] Optionally, in this embodiment, the first cable interface and the second cable interface may be, but are not limited to, the same type of interface or different types of interface. If the first cable interface and the second cable interface are different types of interface, a corresponding adapter cable is required to connect the first cable interface and the second cable interface.
[0080] In some embodiments, the connection between the first cable interface and the second cable interface includes not only the connection between the power supply control pin of the first cable interface and the power supply control pin of the second cable interface, but also the connection between the data transmission pin of the first cable interface and the data transmission pin of the second cable interface. The data read by the server host from each storage component and the data that the server host needs to write to each storage component are transmitted through the connection between the data transmission pin of the first cable interface and the data transmission pin of the second cable interface.
[0081] Through the above methods, by transmitting power control signals via the power control pins in the cable interfaces on the storage switch and each storage component, the first device can precisely control the power supply status of each storage component. This fine-grained control capability allows system administrators or automated control strategies to independently power on or off storage resources based on the real-time load and business needs of the server host, improving resource utilization efficiency and reducing unnecessary power consumption.
[0082] As an optional implementation, the power supply component is equipped with multiple enable terminals, each of which corresponds to a different storage component; the second device is connected to the multiple enable terminals, and the power supply control signal corresponding to each storage component includes the enable signal corresponding to each storage component; the second device is configured to transmit the enable signal corresponding to each storage component to the enable terminal corresponding to each storage component.
[0083] Optionally, in this embodiment, the power supply control signals received by the second device for each storage component may include, but are not limited to, the enable signals for each storage component. The second device needs to transmit the corresponding enable signals to the enable terminals for each storage component.
[0084] Optionally, in this embodiment, including but not limited to, at the time when the falling edge of the power supply control signal received by the second device arrives, the second device sends a low enable signal to the enable terminal on the power supply component corresponding to the power supply control signal; at the time when the rising edge of the power supply control signal received by the second device arrives, the second device sends a high enable signal to the enable terminal on the power supply component corresponding to the power supply control signal.
[0085] As an optional implementation, the first device creates multiple storage bits, each corresponding to a multiple storage component; the first controller is configured to overwrite the power supply control signals corresponding to each storage component into the storage bits corresponding to each storage component; the first device is configured to transmit the data on the storage bits corresponding to each storage component to the second device through the first cable interface corresponding to each storage component; the second device is configured to control the enable terminal corresponding to each storage component according to the data transmitted on the second cable interface corresponding to each storage component.
[0086] Optionally, in the embodiments of this application, the method of creating multiple storage bits in the first device may include, but is not limited to, creating one or more registers in the first device, and the storage bits of one or more registers are the storage bits created in the first device.
[0087] Through the above-mentioned mechanism of corresponding storage bits, first cable interface, second cable interface and enable terminal, the corresponding power supply control signal accurately produces the correct power supply control effect, avoids the occurrence of power supply control errors, realizes accurate, fast and flexible transmission and control of power supply control signal, and improves the server's manageability, response speed and resource utilization.
[0088] As an optional implementation, the power supply component includes multiple first power supply modules, each of which is connected to a control component and is also connected to multiple storage components in a one-to-one correspondence; the control component is configured to generate power supply control signals corresponding to each first power supply module based on resource adjustment information; and the first power supply modules are configured to supply power to the corresponding storage components according to the power supply control signals.
[0089] Optionally, in the embodiments of this application, the connection between the first power supply module and the storage component includes, but is not limited to, each first power supply module being connected to each sub-part of each storage component, or each first power supply module being connected to the storage controller in each storage component. For example, when each storage component includes a storage controller and one or more storage units, the first power supply module corresponding to the storage component is connected to the storage controller and one or more storage units respectively, providing power to the storage controller and one or more storage units respectively; or the first power supply module corresponding to the storage component is connected to the storage controller, and the first power supply module directly supplies power to the storage controller, indirectly supplying power to one or more storage units through the connection between the storage controller and one or more storage units.
[0090] Based on the above, each storage component is configured with a corresponding first power supply module, and each storage component is powered by its corresponding first power supply module. The independent power supply module design makes the allocation of storage resources more flexible. When it is necessary to expand or adjust storage resources, the first power supply module can be added or adjusted individually without making major changes to the entire power supply system, which contributes to the scalability and adaptability of the system.
[0091] As an optional implementation, the control component is connected to multiple first power supply modules one by one through multiple first power supply channels; the control component is also configured to send power supply control signals to the corresponding first power supply module through each first power supply channel.
[0092] Optionally, in the embodiments of this application, the transmission of power supply control signals between the control component and the multiple first power supply modules may be, but is not limited to, transmitted through the corresponding first power supply channel. Multiple redundant channels may be set between the control component and the multiple first power supply modules as a backup scheme for the multiple first power supply channels. In the event that a certain first power supply channel cannot be used normally, the corresponding redundant channel is used to transmit the power supply control signal.
[0093] As an optional implementation, the control component is equipped with multiple signal output terminals, and each first power supply module is equipped with an enable terminal. The multiple signal output terminals are connected to the corresponding enable terminals to form multiple first power supply channels. The control component is configured to send corresponding enable signals to the corresponding first power supply modules through each first power supply channel, wherein the power supply control signal includes the enable signal.
[0094] Optionally, in this embodiment, including but not limited to, multiple signal input terminals are also deployed on the control component, and feedback terminals are also deployed on each first power supply module. Each feedback terminal is connected to the corresponding signal input terminal to form multiple first feedback channels. Each first power supply module is configured to send a corresponding first feedback signal to the corresponding first power supply module through the corresponding first feedback channel. The first feedback signal is used to indicate the power-on status of the corresponding storage component.
[0095] As an optional implementation, each storage component includes: a storage controller, and one or more storage cells; each first power supply module is provided with a power supply port, which is configured to connect to the storage controller and one or more storage cells; the first power supply module is configured to supply power to the storage controller and one or more storage cells through the power supply port according to a power supply control signal.
[0096] Optionally, in the embodiments of this application, the storage controller may be, but is not limited to, a device that manages and controls multiple storage units, such as an MXC.
[0097] Optionally, in the embodiments of this application, the storage unit may be, but is not limited to, a device in the server configured to store data and programs, such as DRAM, SRAM, and NVDIMM, etc.
[0098] Optionally, in the embodiments of this application, one or more power supply ports are deployed on each of the first power supply modules. When one power supply port is deployed, this power supply port is simultaneously connected to the storage controller and one or more storage units. When multiple power supply ports are deployed, these multiple power supply ports are respectively connected to the storage controller and one or more storage units.
[0099] As an optional implementation, the power supply port includes: a first port, and one or more second ports, wherein the first port is connected to the storage controller, and the one or more second ports are connected to one or more storage cells respectively; the first power supply module is configured to convert the power supply voltage into a first input voltage of the storage controller according to the power supply control signal, and provide the first input voltage to the storage controller through the first port; and to convert the power supply voltage into a second input voltage of the storage cell according to the power supply control signal, and provide the second input voltage to the corresponding storage cell through the corresponding second port.
[0100] Optionally, in this embodiment, the first input voltage is the power supply voltage required to maintain the normal operation of the storage controller, and the second input voltage is the power supply voltage required to maintain the normal operation of the storage cell. Typically, the power supply voltage required by the storage controller differs from that required by the storage cell; therefore, the first power supply module needs to provide separate power supply ports for the storage controller and the storage cell.
[0101] Based on the above, different power supply channels are used to provide corresponding input voltages to the storage controller and storage unit according to their different needs, ensuring that the provided voltage is the correct and required voltage, and ensuring the normal operation of the power supply control of the storage components.
[0102] As an optional implementation, the power supply component is also connected to the storage switch; the control component is also configured to control the power supply component to power multiple storage components when the server host has performed a startup operation; control the power supply component to power the storage switch when multiple storage components are powered on; and control the server host to start when the storage switch is powered on.
[0103] Optionally, in this embodiment, the server host being started can be understood as sending a start command or a start signal to the server host. This start command or start signal is used to trigger the server host to start. When the server host is started, the control component first controls the power supply component to supply power to multiple storage components, that is, controls the power supply component to start providing power to multiple storage components. When multiple storage components are powered on, that is, when multiple storage components have successfully obtained the power required for normal operation from the power supply component, the control component controls the power supply component to supply power to the storage switch, that is, controls the power supply component to start providing power to the storage switch. When the storage switch is powered on, that is, when the storage switch has successfully obtained the power required for normal operation from the power supply component, the control component controls the server host to start, that is, sends the aforementioned start command or start signal to the power management module of the server host. After receiving the start command or start signal, the power management module controls the power supply unit of the server host to provide power to the server host, and the server host starts.
[0104] Based on the above, after the server host performs the startup operation and generates a startup requirement, the power supply component is first controlled to supply power to the storage component and storage switch. The server host is then started only after the storage component and storage switch are both powered on. This ensures that the storage component and storage switch are ready to be powered on when the server host starts up, so that the server host can immediately access storage resources without waiting. This accelerates the server initialization process and improves the overall response speed of the server.
[0105] As an optional implementation, the power supply component includes: multiple first power supply modules and second power supply modules, each first power supply module being connected to multiple storage components in a one-to-one correspondence; the second power supply modules being connected to a storage switch; both the multiple first power supply modules and the second power supply modules being connected to a control component; the control component is configured to, when the server host is started, control the multiple first power supply modules to supply power to the multiple storage components, and receive first feedback signals returned by the multiple first power supply modules to obtain multiple first feedback signals; when the multiple first feedback signals are used to indicate that the corresponding storage components are powered on, control the second power supply modules to supply power to the storage switch, and receive second feedback signals returned by the second power supply modules; when the second feedback signal is used to indicate that the storage switch is powered on, control the server host to start.
[0106] Optionally, in this embodiment, the power supply component may include, but is not limited to, a second power supply module and multiple first power supply modules, which are respectively configured to supply power to the storage switch and multiple storage components, reducing the possibility of erroneous power-on. Furthermore, these power supply modules can also return corresponding feedback signals to the control component, enabling the control component to promptly obtain information on the power-on status of the storage components and the storage switch, thus allowing the control component to better control the entire server startup process.
[0107] In one optional implementation, the control unit is connected to multiple first power supply modules one-to-one through multiple first power supply channels and multiple first feedback channels, and the control unit is connected to the second power supply module through a second power supply channel and a second feedback channel. The control unit is configured to control the corresponding first power supply module to supply power to the corresponding storage unit through the first power supply channel, and to receive the first feedback signal returned by the corresponding first power supply module through the corresponding first feedback channel. The control unit is also configured to control the second power supply module to supply power to the storage switch through the second power supply channel, and to receive the second feedback signal returned by the second power supply module through the second feedback channel.
[0108] Optionally, in this embodiment, the control of the second power supply module and the plurality of first power supply modules by the control component is not limited to being accomplished through the cooperation of multiple control devices.
[0109] As an optional implementation, the control unit includes: a third controller, a fourth controller, and a fifth controller, which are interconnected. Both the fourth and fifth controllers are connected to a power supply unit, and the third controller is connected to the server host. The third controller is configured to, when the server host has performed a startup operation, control the power supply unit to supply power to multiple storage units via the fifth controller; when all storage units are powered on, control the power supply unit to supply power to the storage switch via the fourth controller; and when the storage switch is powered on, control the server host to start.
[0110] Optionally, in the embodiments of this application, the interconnection between the third controller, the fourth controller and the fifth controller may be achieved through a network connection, but is not limited to this; and the third controller, the fourth controller and the fifth controller may all be connected to a network switch, but is not limited to this.
[0111] Optionally, in this embodiment, the third controller controls the server host to start when the storage switch is powered on, including but not limited to the interaction between the third controller and the baseboard management controller of the server host. The third controller may trigger the baseboard management controller to start the server host by sending instructions to the baseboard management controller of the server host.
[0112] As an optional implementation, the fourth controller includes: a third device and a fourth device, which are connected; the fifth controller includes: a fifth device and a sixth device, which are connected; the third controller, the third device, and the fifth device are interconnected; the power supply components include: multiple first power supply modules and second power supply modules, each first power supply module being configured to be connected to multiple storage components one-to-one; the second power supply modules are connected to a storage switch; the fourth device is connected to the second power supply modules; and the sixth device is connected to all of the multiple first power supply modules; the third controller is configured to, when the server host is started, notify the fifth device to supply power to the multiple storage components; when all the multiple storage components are powered on, notify the third device to supply power to the storage switch; and when the storage switch is powered on, control the server host to start; the fifth device is configured to, through the sixth device, control the multiple first power supply modules to supply power to the multiple storage components; and the third device is configured to, through the fourth device, control the second power supply modules to supply power to the storage switch.
[0113] Optionally, in the embodiments of this application, the third device, the fourth device, the fifth device and the sixth device are all control devices, such as BMC, CPLD, FPGA, etc.
[0114] Optionally, in the embodiments of this application, the third and fifth devices may be, but are not limited to, BMCs, and the fourth and sixth devices may be, but are not limited to, CPLDs. That is, the fourth and fifth controllers may be, but are not limited to, combinations of a BMC and a CPLD. In such combinations, the logic functions of the third and fifth devices are more complex. Some simple control operations are distributed to the fourth and sixth devices, which have simpler logic functions, to perform these operations. This releases some of the computing resources occupied by the third and fifth devices, enabling the third and fourth devices to implement more complex functions and improve the overall operating efficiency of the server.
[0115] As an optional implementation, after the server successfully powers on and starts up with the cooperation of a third controller, a third device, a fourth device, a fifth device, a sixth device, multiple first power supply modules, and a second power supply module, during the operation of the server host, the third controller (equivalent to the aforementioned first controller) can detect resource adjustment information based on the server host's resource allocation information, convert the resource adjustment information into status change information, and send the status change information to the third device (equivalent to the aforementioned first controller). The third device can generate power supply control signals for each storage component according to the status change information and write the power supply control signals to the fourth device (equivalent to the aforementioned first device). The fourth device transmits the power supply control signals to the sixth device (equivalent to the aforementioned second device) through the connection between the storage switch and multiple storage components. The sixth device can transmit the power supply control signals to the corresponding first power supply module. The first power supply module can supply power to the corresponding storage component according to the power supply control signals, thereby realizing flexible allocation of storage resources in the server. The more specific operational cooperation between the third controller, the third device, the fourth device, the sixth device, and the multiple first power supply modules is consistent with the specific operational cooperation between the aforementioned first controller, the first controller, the first device, the second device, and the multiple first power supply modules.
[0116] Optionally, the application also provides a more specific server. Figure 4 is a schematic diagram of the server structure according to an embodiment of this application. As shown in Figure 4, it mainly consists of two parts: a server host and corresponding storage configuration devices, and a memory box. Within the memory box, two BaseBoards (denoted as BaseBoard1 and BaseBoard2) are configured to house the various management units, CPLD logic control units, and power supply modules of the memory switching board and memory expansion board. There are three types of management units: a detachable mCPU (a type of processor) (i.e., the aforementioned third or first controller), a network management unit, and a BMC. The BaseBoard2, which connects to the memory expansion board, does not have an mCPU. The memory box supports two configurations: one with a memory switching board and one with a memory expansion board, and another with one memory switching board and two with memory expansion boards. Users can flexibly choose according to their business needs.
[0117] The onboard modules of the memory switching board mainly include the CXL Switch (i.e., the aforementioned storage switch), and external interfaces including a PCIe interface and a memory device interface (i.e., the aforementioned first cable interface). The host's PCIe resources are connected to the uplink port of the SW (i.e., the aforementioned CXL Switch) via a CDFP (Compact Dual Form Factor Pluggable) cable, and the downlink of the SW—the memory device interface—is connected to the memory expansion board via a CDFP cable. The memory switching board and BaseBoard1 can be connected via an MCIO (Multimode Connector Insertion / Extraction) cable. The MCIO is mainly used to transmit monitoring signals from BMC1 (i.e., the aforementioned third device or first controller) to the memory switching board, I2C (Inter-Integrated Circuit) communication signals, and CPLD power control signals. The mCPU, BMC1, and network management unit on BaseBoard1 are interconnected in pairs, CPLD1 (i.e., the aforementioned fourth device or first device) is connected to BMC1, and CPLD1 is connected to the power supply module (i.e., the aforementioned second power supply module). Both CPLD1 and the power supply module are connected to the memory switching board.
[0118] The memory expansion board primarily uses eight MXCs as memory controllers (i.e., the aforementioned storage controllers). Its uplink interface (i.e., the aforementioned second cable interface) connects to the memory switching board via a CDFP cable, while its downlink interface connects to memory devices (i.e., the aforementioned storage units). Specifically, the memory devices can be DDR5 DIMMs (Dual-Inline-Memory-Modules for Double Data Rate type 5). Each MXC can support a maximum of eight DIMMs, and the entire memory expansion board can support a maximum of 64 DIMMs. Table 1 shows the memory resource pooling system configuration of the server shown in Figure 1, involving two memory expansion boards. With a full configuration, a total of 256 DIMMs can be expanded. Similarly, the memory expansion board can be connected to BaseBoard2 via an MCIO cable. MCIO is mainly used by BMC2 (i.e., the aforementioned fifth device) to monitor signals, I2C communication signals, and CPLD power control signals to the memory expansion board. The BMC2 on BaseBoard2 is connected to the network management unit, the CPLD2 (i.e., the aforementioned sixth or second device) is connected to the BMC2, and the CPLD2 is connected to the power supply module. Both the CPLD2 and the power supply module (i.e., the aforementioned first power supply module) are connected to the memory expansion board.
[0119] Table 1
[0120] Through the network switch and the network management unit on each BaseBoard, the mCPU and each BMC can communicate. Inside the memory box, BMC1 on BaseBoard1 acts as the master BMC, managing the entire memory box.
[0121] The above describes the overall architecture of the server. Based on the configuration in Table 1, Figure 5 shows a flowchart of the server's power-on / off and storage resource reallocation process. The overall power-on sequence is as follows: first, the memory expansion board powers on; then, the memory switching board powers on; and finally, the server host powers on. During server host operation, after the host issues an instruction to reallocate memory resources, this instruction is obtained by the mCPU and sequentially passed to BMC1 and CPLD1 on the memory switching board. Finally, through the CDFP cable, CPLD2 on the memory expansion board controls the power-on / off of the MXC and DIMM modules.
[0122] In some embodiments, the transmission of power control signals from BMC1 and CPLD1 to CPLD2 via CDFP cables involves the connection of CPLD1 to the downstream memory device interface of the SW. Figure 6 is a connection diagram of CPLD1 and the memory device interface according to an embodiment of this application. As shown in Figure 6, the CDFP connector of the memory switch board (i.e., the aforementioned memory device interface) needs to bring out a specific pin—the pin corresponding to the Power Enable signal (i.e., the aforementioned power control pin), and it is necessary to ensure that the pin sequence of the CDFP connector of the memory switch board is consistent with the pin sequence of the memory expansion board. The control terminal of each Power Enable signal (i.e., the PWREN signal, i.e., the aforementioned power control signal) is CPLD1, which is connected to the CDFP connector of the memory expansion board via a CDFP cable, and the power supply control of MXC and DIMM is realized through CPLD2. In addition, the connection relationship between the CDFP connectors of the memory switch board and the memory expansion board is not fixed. All downstream ports of the memory switch board can be arbitrarily connected to any CDFP port of the CDFP connector of the memory expansion board, and the memory device under the port can be used.
[0123] After the power control signal is transmitted to CPLD2 via the CDFP cable and CDFP interface, CPLD2 transmits the enable signal, which includes the power control signal, to the corresponding power supply module. Figure 7 is a schematic diagram of a CPLD2 power supply control scheme according to an embodiment of this application. As shown in Figure 7, each of the eight MXC and DIMM combinations on the memory expansion board (i.e., the aforementioned storage components) has an independent power supply module (here, the power supply module is the power supply module in BaseBoard2, i.e., the aforementioned first power supply module). The input control of the first power rail (i.e., the aforementioned first power supply channel) – P12V – of each power supply module is enabled by CPLD2, and the power good signal (i.e., the aforementioned first feedback signal) of the last power rail (i.e., the aforementioned first feedback channel) – P0V9 – is sent to CPLD2 to indicate the power status of the MXC and DIMM combination. This allows for independent power-on and power-off of each MXC and DIMM combination, meeting the requirements for memory resource reallocation.
[0124] Regarding the logical interaction between BMC1, CPLD1, and CPLD2, this application also provides an optional implementation method. In some embodiments, 4 bytes are first defined in CPLD1 to store the power enable control signal. These 4 bytes, totaling 32 bits (i.e., the aforementioned multiple storage bits), correspond to the 32 ports of the two memory exchange boards. BMC1 interacts with CPLD1 via the I2C bus to control the Power Enable Pin (i.e., the aforementioned power control pin) connected to CPLD1. BMC can restart the MXC. The specific MXC and DIMM combination corresponding to each storage bit on the memory expansion board depends on the specific connection relationship of the CDFP cable. In some embodiments, control can be implemented in the code using the following expression:
[0125] a) Define four registers:
[0126] wire[7:0]w_bmcTOcpld_SW0_CDFP_PWREN_0;
[0127] wire[7:0]w_bmcTOcpld_SW0_CDFP_PWREN_1;
[0128] wire[7:0]w_bmcTOcpld_SW1_CDFP_PWREN_0;
[0129] wire[7:0]w_bmcTOcpld_SW1_CDFP_PWREN_1;
[0130] b) Assigning values using the assign statement:
[0131] For example, assign o_PWREN_CDFP0_N_SW0=w_bmcTOcpld_SW0_CDFP_PWREN_0[7];
[0132] Assign the 32 bits sequentially to the corresponding power supply control pins of CPLD1 according to the above format.
[0133] c) Data transmission is achieved between the BMC and the CPLD via the CPLD's I2C communication module.
[0134] In some embodiments, the interaction between BMC1 and CPLD1, CPLD2 involves interaction during server startup and interaction during server host operation. When the server is powered on, mCPU and BMC2 control the memory expansion board CPLD2 to directly pull the P12V_0-P12V_7 level high, so that the power supply module supplies power to all combinations of MXC and DIMM. Then, after receiving the corresponding Power Good signal for 200ms, it pulls the MXC ready signal high. During server operation, if the storage resources allocated to the server by the storage switch are adjusted, CPLD2 monitors the rising and falling edges of the power control signal PWREN from the CDFP interface in real time. A falling edge triggering PWREN from the CDFP interface pulls the corresponding P12V's VR (Voltage Regulator) EN (Enable) low, stopping the power supply module from supplying power to the corresponding MXC and DIMM. A rising edge triggering PWREN from the CDFP interface pulls the corresponding P12V's VR EN high, allowing the power supply module to start supplying power to the corresponding MXC and DIMM. The coordination involving BMC1 is as follows:
[0135] Power-down: BMC1 sets the corresponding bit in the register to 0 (which port depends on the specific connection), and then CPLD1 pulls the PWREN of the CDFP interface corresponding to the MXC group that needs to be powered down low.
[0136] Power-on: BMC1 sets the corresponding bit in the register to 1 (which port depends on the specific connection relationship), and then pulls the PWREN of the CDFP interface corresponding to the MXC group that needs to be powered on high through CPLD1.
[0137] Based on the above, the hardware adopts a method of individually powering each MXC and DIMM. The logic control uses the interaction between the CPLD and BMC to coordinate the power-on and power-off of the memory resource pool, realizing the dynamic allocation of CXL memory resources in the memory resource pool. It can dynamically allocate CXL memory resources to the host according to the needs of the host business and flexible allocation, thereby improving the overall memory utilization and reducing memory usage costs.
[0138] The above are merely optional embodiments of this application and are not intended to limit this application. Various modifications and variations can be made to this application by those skilled in the art. Any modifications, equivalent substitutions, improvements, etc., made within the principles of this application should be included within the scope of protection of this application.
Claims
1. A type of server, Its features are, It includes: a server host, a storage switch, multiple storage components, a control component, and a power supply component. The control component is connected to the power supply component. The storage switch is connected between the server host and the multiple storage components. The power supply component is connected to each of the multiple storage components. The control component is connected to the server host. The storage switch is configured to provide storage resources to the server host by using the plurality of storage components as a storage resource pool; The control component is configured to detect resource adjustment information of the server host during its operation, wherein the resource adjustment information is used to indicate the adjustment status of storage resources allocated by the storage switch to the server host; and to adjust the power supply status of the power supply component to each storage component to match the resource adjustment information.
2. The server according to claim 1, characterized in that, The control component includes: a first control unit and a second control unit, wherein the first control unit is connected to the second control unit, the first control unit is connected to the server host, and the second control unit is connected to the power supply component; The first controller is configured to detect the resource adjustment information based on the resource allocation information of the server host, wherein the resource allocation information is used to indicate the storage resources allocated by the storage switch to the server host; convert the resource adjustment information into status change information, wherein the status change information is used to indicate the target storage component among the plurality of storage components whose usage status on the server host has changed; and send the status change information to the second controller. The second controller is configured to adjust the power supply status of the power supply component to the target storage component according to the state change information.
3. The server according to claim 2, characterized in that, The first controller is configured as follows: Collect the current resource allocation information from the server host; The current resource allocation information is compared with the previously collected resource allocation information; If the current resource allocation information matches the previously collected resource allocation information, the resource adjustment information is determined to be the first adjustment information, wherein the first adjustment information is used to indicate that the storage resources allocated by the storage switch to the server host have not been adjusted. If the current resource allocation information is inconsistent with the previously collected resource allocation information, the resource adjustment information is determined to be the second adjustment information, wherein the second adjustment information is used to indicate that the storage resources allocated by the storage switch to the server host have been adjusted.
4. The server according to claim 3, characterized in that, The first controller is configured as follows: When the resource adjustment information is the first adjustment information, the first adjustment information is converted into the first change information, wherein the first change information is used to indicate that the target storage component is not among the plurality of storage components, and the status change information includes the first change information; When the resource adjustment information is the second adjustment information, the target storage component is extracted from the current resource allocation information and the previously collected resource allocation information to obtain the second change information. The second change information is used to indicate that the usage status of the target storage component among the plurality of storage components on the server host has changed, and the status change information includes the second change information.
5. The server according to claim 4, characterized in that, The first controller is configured as follows: Based on the current resource allocation information, determine the first set of storage components currently used by the server host, and based on the previously collected resource allocation information, determine the second set of storage components previously used by the server host. Calculate the union and intersection of the first set of storage components and the second set of storage components; Calculate the difference between the union and the intersection, wherein the storage component in the difference is the target storage component.
6. The server according to claim 2, characterized in that, The second control unit includes: a first controller and a second controller, wherein the first controller is connected to the second controller, the first controller is connected to the first control unit, and the second controller is connected to the power supply component; The first controller is configured to generate power supply control signals for each storage component according to the state change information; The second controller is configured to transmit the power supply control signal to the power supply component.
7. The server according to claim 6, characterized in that, The second controller includes: a first device and a second device, wherein the first device is connected to the storage switch, the second device is connected to the plurality of storage components, the first device is connected to the first controller, and the second device is also connected to the power supply component; The first controller is also configured to write the power supply control signal into the first device; The first device is configured to transmit the power supply control signal to the second device through the connection between the storage switch and the plurality of storage components; The second device is configured to transmit the power supply control signal to the power supply component.
8. The server according to claim 7, characterized in that, The storage switch is equipped with multiple first cable interfaces, and each of the multiple storage components is equipped with a second cable interface. The first cable interfaces and the second cable interfaces are connected in a one-to-one correspondence. The first device is connected to the power supply control pin of each of the first cable interfaces, and the second device is connected to the power supply control pin of each of the second cable interfaces. The first device is configured to transmit the power supply control signal corresponding to each of the storage components to the second device through the first cable interface corresponding to each of the storage components, according to the correspondence between each of the first cable interfaces and each of the storage components; The second device is configured to receive the power supply control signal corresponding to each of the storage components from each of the second cable interfaces, and transmit the power supply control signal to the power supply component.
9. The server according to claim 8, characterized in that, The storage switch is configured to transmit data to the storage component via the first cable interface and the second cable interface.
10. The server according to claim 8, characterized in that, The power supply component is equipped with multiple enable terminals, and each of the multiple enable terminals corresponds to one of the multiple storage components. The second device is connected to the plurality of enable terminals, and the power supply control signal corresponding to each of the storage components includes the enable signal corresponding to each of the storage components; The second device is configured to transmit the enable signal corresponding to each of the storage components to the enable terminal corresponding to each storage component.
11. The server according to claim 10, characterized in that, The first device creates multiple storage bits, each of which corresponds one-to-one with a plurality of storage components; The first controller is configured to overwrite the power supply control signal corresponding to each of the storage components into the storage bit corresponding to each of the storage components; The first device is configured to transmit data from the storage bits corresponding to each of the storage components to the second device via the first cable interface corresponding to each of the storage components; The second device is configured to control the enable terminal of each storage component according to the data transmitted on the second cable interface corresponding to each storage component.
12. The server according to claim 1, characterized in that, The power supply component includes a plurality of first power supply modules, each of the plurality of first power supply modules being connected to the control component, and each of the first power supply modules also being connected to the plurality of storage components in a corresponding manner. The control unit is configured to generate power supply control signals corresponding to each first power supply module based on the resource adjustment information; The first power supply module is configured to supply power to the corresponding storage component according to the power supply control signal.
13. The server according to claim 12, characterized in that, The control component is connected to the multiple first power supply modules one by one through multiple first power supply channels; The control component is also configured to send the power supply control signal to the corresponding first power supply module through each of the first power supply channels.
14. The server according to claim 13, characterized in that, The control component is equipped with multiple signal output terminals, and each of the first power supply modules is equipped with an enable terminal. The multiple signal output terminals and the corresponding enable terminals are connected to form the multiple first power supply channels. The control component is configured to send a corresponding enable signal to the corresponding first power supply module through each of the first power supply channels, wherein the power supply control signal includes the enable signal.
15. The server according to claim 12, characterized in that, Each of the aforementioned storage components includes: a storage controller, and one or more storage cells; Each of the first power supply modules is equipped with a power supply port, which is configured to connect to the storage controller and the one or more storage units; The first power supply module is configured to supply power to the storage controller and the one or more storage units through the power supply port according to the power supply control signal.
16. The server according to claim 15, characterized in that, The power supply port includes: a first port, and one or more second ports, wherein the first port is connected to the storage controller, and the one or more second ports are connected one-to-one to the one or more storage units; The first power supply module is configured to convert the power supply voltage into a first input voltage of the storage controller according to the power supply control signal, and provide the first input voltage to the storage controller through the first port; and to convert the power supply voltage into a second input voltage of the storage cell according to the power supply control signal, and provide the second input voltage to the corresponding storage cell through the corresponding second port.
17. The server according to claim 1, characterized in that, The power supply component is also connected to the storage switch; The control unit is also configured to control the power supply unit to supply power to the plurality of storage units when the server host performs a startup operation; With all the storage components powered on, the power supply component is controlled to supply power to the storage switch; with the storage switch powered on, the server host is controlled to start.
18. The server according to claim 17, characterized in that, The power supply component includes: a plurality of first power supply modules and a second power supply module, each of the first power supply modules being connected to one of the plurality of storage components; the second power supply module being connected to the storage switch; and both the plurality of first power supply modules and the second power supply module being connected to the control component. The control unit is configured to, when the server host is started, control the plurality of first power supply modules to supply power to the plurality of storage components, and receive first feedback signals returned by the plurality of first power supply modules to obtain a plurality of first feedback signals; when the plurality of first feedback signals are used to indicate that the corresponding storage component has been powered on, control the second power supply module to supply power to the storage switch, and receive a second feedback signal returned by the second power supply module; when the second feedback signal is used to indicate that the storage switch has been powered on, control the server host to start.
19. The server according to claim 18, characterized in that, The control component is connected to the multiple first power supply modules one by one through multiple first power supply channels and multiple first feedback channels, and the control component is connected to the second power supply module through a second power supply channel and a second feedback channel. The control unit is configured to control the corresponding first power supply module to supply power to the corresponding storage unit through the first power supply channel, and to receive the first feedback signal returned by the corresponding first power supply module through the corresponding first feedback channel. The control component is also configured to control the second power supply module to supply power to the storage switch via the second power supply channel, and to receive a second feedback signal returned by the second power supply module via the second feedback channel.
20. The server according to claim 17, characterized in that, The control unit includes a third controller, a fourth controller, and a fifth controller, which are interconnected. The fourth controller and the fifth controller are both connected to the power supply unit, and the third controller is connected to the server host. The third controller is configured to, when the server host has been started, control the power supply component to supply power to the plurality of storage components via the fifth controller; when all the plurality of storage components are powered on, control the power supply component to supply power to the storage switch via the fourth controller; and when the storage switch is powered on, control the server host to start.
21. The server according to claim 20, characterized in that, The fourth controller includes a third device and a fourth device, which are connected together; the fifth controller includes a fifth device and a sixth device, which are connected together; and the third controller, the third device, and the fifth device are interconnected. The power supply component includes: a plurality of first power supply modules and second power supply modules, each of the first power supply modules being configured to be connected to the plurality of storage components one-to-one; the second power supply module is connected to the storage switch, the fourth device is connected to the second power supply module, and the sixth device is connected to all of the plurality of first power supply modules; The third controller is configured to, when the server host is started, notify the fifth device to supply power to the plurality of storage components; when all the plurality of storage components are powered on, notify the third device to supply power to the storage switch; and when the storage switch is powered on, control the server host to start. The fifth device is configured to control the plurality of first power supply modules to supply power to the plurality of storage components through the sixth device; The third device is configured to control the second power supply module to supply power to the storage switch through the fourth device.