A storage expansion device and a computing device
By using a CXL controller with a fork function and an address mapping table in the storage expansion device, the problem of limited memory access space for a single AIC card is solved, enabling access to all DIMMs and improving memory density and computing device performance.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- XFUSION DIGITAL TECH CO LTD
- Filing Date
- 2024-01-29
- Publication Date
- 2026-05-15
AI Technical Summary
In existing technologies, the memory access port space of a single AIC card is limited, which cannot effectively solve the problem of the mismatch between memory performance and computing density.
The storage expansion device employs two CXL controllers. The interface of each CXL controller is divided into two parts, which are connected to different computing devices through cable interfaces and PCIe interfaces, respectively, to achieve access to the memory space of all DIMMs and to perform address translation through a mapping table.
It enables access to all DIMM memory spaces connected to the CXL controller, improves memory access space, meets high-density memory requirements, saves the number of interfaces, and increases the memory density of computing devices.
Smart Images

Figure CN117992374B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of server technology, and in particular to a storage expansion device and a computing device. Background Technology
[0002] With the development of computer technology, the number of CPU cores has increased rapidly and computing density has continued to grow. However, due to the limitations of physical space and design costs of computing devices, the growth rate of memory performance has lagged behind the growth rate of computing density. As a result, the average memory performance per core has continued to decline, limiting the computing power of computing devices.
[0003] Compute Express Link (CXL), as an open industry standard, provides high-bandwidth, low-latency connectivity between dedicated computing, memory, I / O, and storage elements in data centers. Expanding memory in computing devices via the CXL bus effectively addresses memory and I / O wall bottlenecks. Currently, various hardware cards expand memory via the CXL bus, including add-in cards (AICs), E3.S form factors, and custom-designed cards.
[0004] Currently, a single AIC card supports two Double Data Rate (DDR) channels. A single DDR channel can support two in-line memory modules (DPCs) per channel. Therefore, a single AIC card can connect to four dual-in-line memory modules (DIMMs).
[0005] Therefore, in the existing technology, only a portion of the DIMMs connected to the CXL controller can be accessed through the memory access port of a single AIC card, resulting in limited access space. Summary of the Invention
[0006] This invention provides a storage expansion device and a computing device that can increase the access space of a single memory access port of the storage expansion device.
[0007] This application provides a storage expansion device, including: a substrate and a cable interface, a PCIe interface, a first CXL controller, a second CXL controller, and multiple dual in-line memory (DIMMs) disposed on the substrate; the first CXL controller is connected to a first portion of the multiple DIMMs, and the second CXL controller is connected to a second portion of the multiple DIMMs; the CXL interface of the first CXL controller is divided into a first CXL interface and a second CXL interface, the first CXL interface of the first CXL controller is used to connect to the cable interface, and the second CXL interface of the first CXL controller is used to connect to the PCIe interface; the first CXL interface and the second CXL interface of the first CXL controller... The interfaces can access the memory space of all DIMMs connected to the first CXL controller; the CXL interface of the second CXL controller is divided into a first part CXL interface and a second part CXL interface. The first part CXL interface of the second CXL controller is used to connect the cable interface, and the second part CXL interface of the second CXL controller is used to connect the PCIE interface; both the first part CXL interface and the second part CXL interface of the second CXL controller can access the memory space of all DIMMs connected to the second CXL controller; the cable interface is used to access all memory space connected to the first CXL controller and the second CXL controller; the PCIE interface is used to access all memory space connected to the first CXL controller and the second CXL controller.
[0008] The storage expansion device provided in this application includes at least two CXL controllers. Each CXL controller's CXL interface is divided into two parts, and each part of the CXL interface can access all the memory space of the DIMMs connected to the CXL controller. This allows a server connected to any CXL interface of the CXL controller to access all the DIMMs extended by the CXL controller. For example, the memory access port can include a PCIe interface and a cable interface; the memory space of all DIMMs connected to the CXL controller can be accessed through either the PCIe interface or the cable interface. The CXL controller supports a forking function, meaning that the CXL interface of the CXL controller can be divided into multiple parts, such as two parts, or more, such as four parts. Of course, the CXL interface can be divided into multiple parts equally, with each part having the same number of pins, or it can be divided into multiple parts non-equally, with any two parts having different numbers of pins.
[0009] In this embodiment, the storage expansion device can be connected to two different computing devices via a cable interface and a PCIe interface, so that the two computing devices can share the memory space of the storage expansion device.
[0010] In one possible implementation, the CXL interface of the first CXL controller is an X16 interface, and both the first part of the CXL interface and the second part of the CXL interface of the first CXL controller are X8 interfaces; the first part of the CXL interface of the first CXL controller is connected to the first X8 interface of the cable interface, and the first part of the CXL interface of the second CXL controller is connected to the second X8 interface of the cable interface; the cable interface is used to access all memory space of the first part of the DIMM and to access all memory space of the second part of the DIMM.
[0011] This application does not specifically limit the number of CXL interfaces included in the first CXL controller and the second CXL controller. The above is just an example, with one X16 CXL interface divided into two parts, that is, both the first CXL controller and the second CXL controller include two X8 interfaces. The storage expansion device provided in this application embodiment can access the memory space of all DIMMs connected to the first CXL controller through the cable interface, and can also access the memory space of all DIMMs connected to the second CXL controller through the cable interface.
[0012] In one possible implementation, the CXL interface of the second CXL controller is an x16 interface, and both the first and second part of the CXL interface of the second CXL controller are x8 interfaces; the PCIE interface is divided into a first x8 interface and a second x8 interface; the second part of the CXL interface of the first CXL controller is connected to the first x8 interface of the PCIE interface, and the second part of the CXL interface of the second CXL controller is connected to the second x8 interface of the PCIE interface; the PCIE interface is used to access all memory space of the first part of the DIMM and to access all memory space of the second part of the DIMM.
[0013] The storage expansion device provided in this application embodiment can access the memory space of all DIMMs connected to the first CXL controller through the PCIE interface, and can also access the memory space of all DIMMs connected to the second CXL controller through the PCIE interface.
[0014] One possible implementation is that the first CXL controller stores a first mapping table and a second mapping table. The first mapping table corresponds to a first part of the CXL interface of the first CXL controller, and the second mapping table corresponds to a second part of the CXL interface of the first CXL controller. The first mapping table implements the mapping and conversion of the physical memory address of the server connected to the first part of the CXL interface of the first CXL controller to the physical memory address of all DIMMs of the first CXL controller; the second mapping table implements the mapping and conversion of the physical memory address of the server connected to the second part of the CXL interface of the first CXL controller to the physical memory address of all DIMMs of the first CXL controller.
[0015] The storage expansion device provided in this application embodiment has two mapping tables set inside the first CXL controller, which correspond to the two parts of the CXL interface respectively. This allows the memory access interface connected to the two parts of the CXL interface to access the memory space of all DIMMs connected to the first CXL controller through the corresponding mapping tables.
[0016] One possible implementation is that the second CXL controller stores a third mapping table and a fourth mapping table. The third mapping table corresponds to the first part of the CXL interface of the second CXL controller and the second part of the CXL interface of the first CXL controller. The third mapping table realizes the mapping and conversion of the physical memory address of the server connected to the first part of the CXL interface of the second CXL controller to the physical memory address of all DIMMs of the second CXL controller. The fourth mapping table realizes the mapping and conversion of the physical memory address of the server connected to the second part of the CXL interface of the second CXL controller to the physical memory address of all DIMMs of the second CXL controller.
[0017] The storage expansion device provided in this application embodiment has two mapping tables set inside the second CXL controller, which correspond to the two parts of the CXL interface respectively. This allows the memory access interface connected to the two parts of the CXL interface to access the memory space of all DIMMs connected to the first CXL controller through the corresponding mapping tables.
[0018] One possible implementation also includes a sensor and a system management bus (SMbus) switch interface mounted on the substrate; the sensor is used to detect the temperature of the storage expansion device; the first end of the SMbus switch interface is connected to the first CXL controller and the second CXL controller; the second end of the SMbus switch interface is connected to the sensor; and the third end of the SMbus switch interface is used for a cable interface or a PCIe interface.
[0019] The server accesses at least one of the sensor, the first CXL controller, and the second CXL controller via an SMbus switch interface. Alternatively, the server can simultaneously access the sensor, the first CXL controller, and the second CXL controller via the SMbus switch interface. By accessing the first and second CXL controllers, the server can access data in the DIMMs extended by both controllers.
[0020] One possible implementation is that both the cable interface and the PCIe interface provide clock pins, reset pins, SMbus pins, in-place pins, and power pins, with the third terminal of the SMbus switch interface connected to the SMbus pins of both the cable interface and the PCIe interface.
[0021] One possible implementation is that the storage expansion device is in the form of a PCIe card, with the PCIe interface located on the long side of the substrate for vertical insertion into the backplane of the computing device; or, the storage expansion device is in the form of a plug-in card, with the PCIe interface located on the short side of the substrate for horizontal insertion into the backplane of the computing device.
[0022] The storage expansion device provided in this application embodiment does not specifically limit the location of the PCIe interface. It can be designed freely according to needs, and can be easily connected to the backplane in the computing device.
[0023] One possible implementation of the storage expansion device provided in this application embodiment further includes a first full-duplex synchronous serial bus SPI flash memory and a second SPI flash memory disposed on a substrate; a first CXL controller is connected to the first SPI flash memory; and a second CXL controller is connected to the second SPI flash memory.
[0024] Both the first SPI flash memory C and the second SPI flash memory D are in the form of electronically erasable programmable read-only memory, allowing SPI data to be erased or written multiple times.
[0025] One possible implementation, the computing device provided in this application embodiment, further includes: a debug interface; both the first CXL controller and the second CXL controller are connected to the debug interface.
[0026] The Debug interface can be connected to external devices to test or debug the first and second CXL controllers of the storage expansion device.
[0027] One possible implementation of the storage expansion device provided in this application embodiment also includes a support structure.
[0028] The support structure can fix the storage expansion device relative to the support plate. For example, the support plate can be a metal plate, and the storage expansion device is fixed to the metal plate by the fixed support structure, which provides strength support. The embodiments of this application do not specifically limit the type of support structure, such as screws or rivets, nor do they specifically limit the number of support structures, which can be set according to actual needs.
[0029] Secondly, embodiments of this application also provide a storage expansion device, including: a substrate and a cable interface, a PCIe interface, a CXL controller, and multiple dual in-line memory modules (DIMMs) disposed on the substrate; the CXL controller is connected to the multiple DIMMs, and the CXL interface of the CXL controller is divided into a first part of the CXL interface and a second part of the CXL interface, the first part of the CXL interface is connected to the cable interface, and the second part of the CXL interface is connected to the PCIe interface; both the first part of the CXL interface and the second part of the CXL interface can access the memory space of all DIMMs connected to the CXL controller; the cable interface is used to access all memory space of the CXL controller; the PCIe interface is used to access all memory space of the CXL controller.
[0030] Thirdly, embodiments of this application also provide a computing device, including: a backplane and the storage expansion device described above; the storage expansion device is connected to the backplane.
[0031] The computing device provided in this application embodiment can access all memory through the PCIe interface (i.e., the gold fingers) and also through the cable interface. This realizes the need to access high-density memory with fewer CXL bus interface resources. For example, the memory density of 8 DIMMs can be expanded using the X16 interface, so that more memory can be accessed with fewer interfaces, thereby saving the number of interfaces and increasing the memory density of a single storage expansion device, thereby improving the memory density of the computing device. Attached Figure Description
[0032] Figure 1 A schematic diagram of a storage expansion device provided in an embodiment of this application;
[0033] Figure 2 A schematic diagram of another storage expansion device provided in an embodiment of this application;
[0034] Figure 3 A schematic diagram of yet another storage expansion device provided in an embodiment of this application;
[0035] Figure 4A A schematic diagram of another storage expansion device provided in an embodiment of this application;
[0036] Figure 4B A schematic diagram of yet another storage expansion device provided in an embodiment of this application;
[0037] Figure 5 A schematic diagram of another storage expansion device provided in an embodiment of this application;
[0038] Figure 6 A schematic diagram of yet another storage expansion device provided in an embodiment of this application;
[0039] Figure 7 A schematic diagram of another storage expansion device provided in an embodiment of this application;
[0040] Figure 8 A schematic diagram of another storage expansion device provided in an embodiment of this application;
[0041] Figure 9 A schematic diagram of another storage expansion device provided in an embodiment of this application;
[0042] Figure 10 This is a schematic diagram of a computing device provided in an embodiment of this application. Detailed Implementation
[0043] The computing devices provided in this application embodiment are not specifically limited to specific application scenarios. For example, the computing device is described using a server as an example, but the type of server is not specifically limited. For example, the computing device can be a rack server or an edge server. The server can be located in a data center or in other areas, and this application embodiment does not make specific limitations.
[0044] A server is a type of computing device that runs faster and handles higher loads than a regular computer. Servers provide computing or application services to other client machines on a network, such as personal computers (PCs) or smartphones. Servers feature high-speed CPU processing power, long-term reliable operation, powerful external data throughput, and better scalability. Servers are categorized by form factor into rack-mount, blade, tower, and cabinet types.
[0045] Servers typically include a motherboard and a power supply, which provides power to the various loads on the motherboard. This application does not specifically limit the voltage level supplied by the power supply to the motherboard; for example, 12V DC will be used as an example.
[0046] A motherboard is an important circuit board in a server. It includes a baseboard and components mounted on it, such as a baseboard manager controller (BMC), a central processing unit (CPU), controllers, memory, and connectors. A motherboard may include one or more CPUs. Since the controller has limited interfaces, connectors can be used to expand the interfaces to connect peripheral devices, such as USB ports for connecting mice and keyboards, or serial data interfaces for connecting graphics cards. The controller can be one or more of a microcontroller unit (MCU), a complex programmable logic device (CPLD), or a field-programmable gate array (FPGA).
[0047] The embodiments of this application do not specifically limit the specific type of memory. For example, memory includes but is not limited to the following types: dual-inline-memory modules (DIMM), hard disk drives (HDD), etc.
[0048] The Peripheral Component Interconnect Express (PCIe) card is a high-speed serial computer expansion bus standard that connects to connectors in servers, facilitating the expansion of peripheral devices for the server controller, such as connecting graphics cards or memory cards. PCIe cards utilize high-speed serial point-to-point dual-channel high-bandwidth transmission, typically employing differential signaling channels. This allows for dedicated channel bandwidth allocation to connected devices, preventing the sharing of bus bandwidth. Key features include active power management, error reporting, end-to-end reliable transmission, hot-swapping, and Quality of Service (QoS) capabilities.
[0049] The Serial Peripheral Interface (SPI) is a high-speed, full-duplex, synchronous communication bus that uses only four pins on the chip.
[0050] The System Management Bus (SMBus) was proposed by Intel in 1995 and is used for low-speed communication in mobile and desktop PC systems. SMBus is a powerful bus that uses two lines to control devices on the motherboard and collect relevant information.
[0051] To enable those skilled in the art to better understand the technical solutions provided in the embodiments of this application, a detailed description is provided below in conjunction with the accompanying drawings.
[0052] See Figure 1 This figure is a schematic diagram of a storage expansion device provided in an embodiment of this application.
[0053] The storage expansion device provided in this application embodiment includes: a substrate 1000 and at least one of a cable interface 200 or a PCIe interface 100 disposed on the substrate 1000, and at least one CXL controller; Figure 1 The following description uses a storage expansion device as an example, which includes a first CXL controller A and a second CXL controller B mounted on its substrate. The first CXL controller A is used to connect a first group of four DIMMs. The second CXL controller B is used to connect a second group of four DIMMs.
[0054] For example, the substrate has multiple PCIe slots, and DIMMs are inserted into the corresponding PCIe slots.
[0055] It should be understood that the CXL controller includes a CXL interface, which may include an X8 interface or an X16 interface. The X8 interface includes 8 pairs of differential signal pins, and the X16 interface includes 16 pairs of differential signal pins.
[0056] It should be noted that in this embodiment, the memory access port of the storage expansion device can simultaneously be configured with both cable interface 200 and PCIe interface 100, or the storage expansion device can be configured with only cable interface 200 or only PCIe interface 100. Devices or components connected to the cable interface of the storage expansion device can access all DIMMs on the storage expansion device through cable interface 200, and devices or components connected to the PCIe interface of the storage expansion device can also access all DIMMs on the storage expansion device through PCIe interface 100. This embodiment will be described below assuming that the storage expansion device includes both cable interface 200 and PCIe interface 100.
[0057] This application does not specifically limit the number of CXL controllers installed on the storage expansion device; there can be one or more. However, each CXL controller on the storage expansion device provided in this application embodiment can be connected to four DIMMs.
[0058] The first CXL controller A supports bifurcation, which means that the CXL interface of the CXL controller can be divided into multiple parts, such as two parts, or more, such as four parts. Of course, the CXL interface can be divided into multiple parts equally, with each part having the same number of pins, or it can be divided into multiple parts non-equally, with any two parts having different numbers of pins. This embodiment uses the CXL controller's CXL interface being divided into two equal parts as an example.
[0059] Taking the CXL controller's CXL interface, which includes an X16 interface, as an example, the X16 interface is divided into two X8 interfaces. Correspondingly, cable interface 200 includes an X16 interface, which means it includes two X8 interfaces. Similarly, PCIe interface 100 also includes two X8 interfaces.
[0060] The CXL interface of the first CXL controller A includes a first part of the CXL interface and a second part of the CXL interface. The first part of the CXL interface of the first CXL controller A connects to the first x8 interface of the cable interface 200, and the second part of the CXL interface of the first CXL controller A connects to the first x8 interface of the PCIe interface 100. For example, if the CXL interface of the first CXL controller A is an x16 interface, then the x16 interface is divided into two x8 interfaces. For example, one x8 interface is used to connect to the cable interface 200, and the other x8 interface is used to connect to the PCIe interface 100. It should be understood that the PCIe interface 100 is a gold finger interface; for example, storage expansion devices connect to the backplane in the server through gold fingers to provide a memory access channel for the server.
[0061] In this embodiment, the X16 interface is divided into two X8 interfaces. In other implementations, the X16 interface can also be divided into four X4 interfaces, etc. This embodiment does not make any specific limitations.
[0062] The division of an X16 interface into two X8 interfaces can be understood as follows: the X16 interface is a single interface entity, half of the pins of the X16 interface are designated as a virtual X8 interface, and the other half of the pins of the X16 interface are designated as another virtual X8 interface. In other words, the two X8 interfaces are obtained by dividing the pins of a single X16 interface. Of course, in other embodiments, the CXL controller may also include two physical X8 interfaces.
[0063] The second CXL controller B supports a splitting function. The CXL interface of the second CXL controller B includes a first part CXL interface and a second part CXL interface. The first part of the CXL interface of the second CXL controller B connects to the second x8 interface of cable interface 200, and the second part of the CXL interface of the second CXL controller B connects to the second x8 interface of PCIe interface 100. For example, if the CXL interface of the second CXL controller B is an x16 interface, then the x16 interface is split into two x8 interfaces. One x8 interface is used to connect to cable interface 200, and the other x8 interface is used to connect to PCIe interface 100.
[0064] The server can access all memory space of the corresponding first CXL controller A extension and all memory space of the corresponding second CXL controller B extension through cable interface 200. That is, when the storage expansion device includes two CXL controllers, the server can access the first group of 4 DIMMs of the first CXL controller A extension and the second group of 4 DIMMs of the second CXL controller B extension through cable interface 200, meaning the server can access all 8 DIMMs on the storage expansion device through cable interface 200.
[0065] For example, the X8 interface of the first CXL controller is connected to cable interface 200, and the X8 interface of the second CXL controller is also connected to cable interface 200. Cable interface 200 includes an X16 interface. The server can access all the DIMMs extended by the first CXL controller through the X8 interface of cable interface 200, and the server can access all the DIMMs extended by the second CXL controller through another X8 interface of cable interface 200. It should be understood that the first CXL controller connects to 4 DIMMs, and the second CXL controller connects to 4 DIMMs, meaning the server can access a total of 8 DIMMs on the storage expansion device through cable interface 200.
[0066] Figure 1 The PCIe interface 100 is located on the long side of the substrate. Figure 1 The cable interface 200 is located on the short side of the substrate. Furthermore, the four DIMMs connected to each CXL controller are arranged parallel to the long side of the substrate. This should be understood. Figure 1 The positional relationships of the various components are only illustrative and are not specifically limited in the embodiments of this application.
[0067] The embodiments of this application do not specifically limit the specific implementation of the cable interface. For example, the storage expansion device may include one 16-lane CXL cable interface 200, or it may include two 8-lane CXL cable interfaces 200.
[0068] This application does not specifically limit the type of cable interface 200. For example, it can be a photoelectric conversion interface, which converts the electrical signals of the CXL controller into optical signals for external transmission, or it can convert external optical signals into electrical signals for transmission to the CXL controller. The CXL controller can access the data in the DIMM, and can read and write data.
[0069] The server can access all the memory space extended by the corresponding first CXL controller A through the PCIe interface 100. That is, when the storage expansion device includes two CXL controllers, the server can access the four DIMMs extended by the first CXL controller A and the four DIMMs extended by the second CXL controller B through the PCIe interface 100, meaning the server can access all eight DIMMs on the storage expansion device through the PCIe interface 100.
[0070] For example, the x8 interface of the first CXL controller is connected to PCIe interface 100, and the x8 interface of the second CXL controller is also connected to PCIe interface 100. PCIe interface 100 includes x16 interfaces. The server can access all DIMMs connected to the first CXL controller through the x8 interface of PCIe interface 100, and the server can access all DIMMs connected to the second CXL controller through another x8 interface of PCIe interface 100. It should be understood that the first CXL controller connects 4 DIMMs, and the second CXL controller connects 4 DIMMs, meaning the server can access a total of 8 DIMMs on the storage expansion device through PCIe interface 100.
[0071] As is understandable, the two x8 interfaces of a PCIe interface each correspond to half of the pins of the PCIe interface; that is, the two x8 interfaces are obtained by dividing the pins of the PCIe interface. Of course, in other embodiments, the storage expansion device may include two physical x8 PCIe interfaces.
[0072] The storage expansion device provided in this application includes a CXL controller that supports branching functionality. This CXL controller supports at least two DDR channels, and each channel supports at least two DDR DIMMs, meaning a single CXL controller can support four DDR DIMMs. One half of the CXL controller's CXL interface is connected to a cable interface, and the other half is connected to the gold fingers for external data exchange. The gold fingers can be externally mounted in the form of a PCIe card, meaning they can be vertically inserted into the backplane.
[0073] In this embodiment, the storage expansion device can be connected to two different computing devices via a cable interface and a PCIe interface, so that the two computing devices can share the memory space of the storage expansion device.
[0074] The storage expansion device provided in this application embodiment allows the server to access the memory of all DIMMs connected to the CXL controller via the PCIe interface (gold fingers) and also via the cable interface. This achieves the requirement of accessing high-density memory with fewer interface resources. For example, the memory density of 8 DIMMs can be expanded using the X16 interface, enabling access to more memory with fewer interfaces, thereby saving the number of interfaces and increasing the memory density of a single storage expansion device.
[0075] Figure 1 This introduction uses a storage expansion device with two CXL controllers as an example. It should be understood that a storage expansion device can also include only one CXL controller. One CXL controller connects to four DIMMs, which can be accessed through gold fingers or cable interfaces. Accessing four DIMMs through gold fingers or cable interfaces only requires an X8 interface. Compared with traditional technology, the number of pins on the interface can be reduced by half to access the same number of DIMMs.
[0076] In one possible implementation, according to this application embodiment, the CXL controller enables external devices (e.g., servers) to access all memory spaces extended by the CXL controller via cable interfaces or gold fingers through address mapping. Specifically, the CXL controller maps the addresses of all extended memory spaces to both a first part of the CXL interface and a second part of the CXL interface.
[0077] One possible implementation involves setting up an address mapping table in the CXL controller. This table maps all the memory spaces extended by the CXL controller. The address mapping table can include two offsets. For example, when accessing all the memory spaces extended by the CXL controller through the first part of the CXL interface, the first offset is used to calculate the address mapping. When accessing all the memory spaces extended by the CXL controller through the second part of the CXL interface, the second offset is used to calculate the address mapping.
[0078] The CXL controller internally handles the address mapping between all extended memory spaces and the CPU of the server (computing device). The CXL controller is responsible for mapping the physical address of the computing device to the physical address of the storage expansion device. For example, if the computing device is a server, the physical address of the computing device can be the physical address of the motherboard CPU. If the storage space of the storage expansion device is 64G, then the physical address read by the CPU corresponding to the storage expansion device is the address corresponding to 201G-264G. That is, the CXL controller internally performs physical address offset, so that the server CPU performs physical address offset when reading the storage expansion device.
[0079] For example, the first CXL controller stores a first mapping table and a second mapping table. The first mapping table corresponds to the first part of the CXL interface of the first CXL controller, and the second mapping table corresponds to the second part of the CXL interface of the first CXL controller. The first mapping can realize the mapping and conversion of the physical memory address of the first server (e.g., the server with the connection cable interface) received by the first part of the CXL interface to the physical memory address of all DIMMs (e.g., DIMMs 1-4) of the first CXL controller. This mapping and conversion of physical memory addresses can follow the CXL specification or a custom method, such as calculation by address offset.
[0080] The second mapping table can realize the mapping and conversion of the physical memory address of the second server (e.g., a server connected to a PCIe interface) received by the second part of the CXL interface to the physical memory address of all DIMMs (e.g., DIMMs 1-4) of the first CXL controller. This mapping and conversion of physical memory addresses can follow the CXL protocol or a custom method, such as calculation by address offset.
[0081] Since the first and second CXL interfaces may connect to different servers with different system address spaces, the physical memory addresses received by the first and second CXL interfaces may differ, but the physical addresses they need to be translated to are the same. Simultaneously, the CXL controller must ensure that the addresses translated from the two mapping tables can access all DIMMs connected to the CXL controller, and the CXL controller guarantees the correct access order.
[0082] Similarly, the second CXL controller stores a third mapping table and a fourth mapping table. The third mapping table corresponds to the first part of the CXL interface of the second CXL controller, and the fourth mapping table corresponds to the second part of the CXL interface of the second CXL controller. The third mapping table can realize the mapping and conversion of the physical memory address of the first server (e.g., the server with the connection cable interface) received by the first part of the CXL interface to the physical memory address of all DIMMs (e.g., DIMMs 5-8) on the second CXL controller. This mapping and conversion of physical memory addresses can follow the CXL specification or a custom method, such as calculation by address offset.
[0083] The fourth mapping table can realize the mapping and conversion of the physical memory address of the second server (e.g., a server connected to a PCIe interface) received by the second part of the CXL interface to the physical memory address of all DIMMs (e.g., DIMMs 5-8) on the second CXL controller. This mapping and conversion of physical memory addresses can follow the CXL protocol or a custom method, such as calculation by address offset.
[0084] Since the first and second CXL interfaces may connect to different servers with different system address spaces, the physical memory addresses received by the first and second CXL interfaces may differ, but the physical addresses they need to be translated to are the same. Simultaneously, the CXL controller ensures that the addresses translated by the two mapping tables can access all addresses connected to the CXL controller, and the CXL controller guarantees the correct access order. It should be noted that when the first server sends a read / write operation command to the first CXL controller through the first part of the CXL interface, the first CXL controller confirms the destination address included in the read / write operation command based on the first mapping table and performs the corresponding read / write operation. When the first server sends a read / write operation command to the second CXL controller through the first part of the CXL interface, the second CXL controller confirms the destination address included in the read / write operation command based on the third mapping table and performs the corresponding read / write operation.
[0085] When the second server sends a read / write operation command to the first CXL controller through the second part of the CXL interface of the first CXL controller, the first CXL controller confirms the destination address included in the read / write operation command based on the second mapping table and performs the corresponding read / write operation on the destination address. When the second server sends a read / write operation command to the second CXL controller through the second part of the CXL interface of the second CXL controller, the second CXL controller confirms the destination address included in the read / write operation command based on the fourth mapping table and performs the corresponding read / write operation on the destination address.
[0086] Because the CXL controller's CXL interface includes a first part and a second part, each CXL interface can access all memory connected to the CXL controller. Each interface can access all memory space connected to the CXL controller through a corresponding address mapping table. Since the address mapping in the CXL controller can map all extended memory to any part of the CXL interface, each part of the CXL interface can access all CXL memory space, i.e., all DIMMs. Therefore, a server connected to a cable interface can access all memory space of the storage expansion device through a portion of the first CXL controller's interface and a portion of the second CXL controller's interface. Similarly, a server connected to a PCIe interface can access all memory space of the storage expansion device through another portion of the first CXL controller's interface and another portion of the second CXL controller's interface.
[0087] The CXL interface is an X16 interface; the X16 interface of the CXL controller is divided into a first part of the CXL interface and a second part of the CXL interface, both of which are X8 interfaces.
[0088] The first part of the CXL interface is connected to the cable interface.
[0089] The second part, the CXL interface, is connected to the PCIe interface.
[0090] Figure 1 The storage expansion device includes both cable interfaces and PCIe interfaces. The following describes the case where the storage expansion device only includes a PCIe interface.
[0091] See Figure 2 This figure is a schematic diagram of another storage expansion device provided in an embodiment of this application.
[0092] Figure 2 The storage expansion device shown is Figure 1 The storage expansion devices shown all share the same feature: they include two CXL controllers, each connected to four corresponding DIMMs. Furthermore... Figure 1 and Figure 2 The PCIe interfaces 100 in the circuit are all located on the long side of the substrate, and the same parts will not be described again.
[0093] Figure 2 The storage expansion device shown is Figure 1 The storage expansion device shown is different, Figure 2 The storage expansion device shown only includes a PCIe interface 100 and may not include a cable interface. Furthermore... Figure 2 The storage expansion device shown has a PCIe interface 100 configured as a standard PCIe AIC, meaning the gold fingers can be external in the form of a PCIe card and vertically plugged into the backplane of the computing device.
[0094] See Figure 3 This figure is a schematic diagram of another storage expansion device provided in an embodiment of this application.
[0095] Figure 3 The storage expansion device shown is Figure 1 The storage expansion devices shown all share the same feature: they include two CXL controllers, each connected to four corresponding DIMMs. Furthermore... Figure 1 and Figure 3 The cable interfaces 200 are all located on the short side of the substrate, and the same parts will not be described again.
[0096] Figure 3 The storage expansion device shown is Figure 1The storage expansion device shown is different, Figure 3 The storage expansion device shown only includes cable interface 200 and may not include PCIe interface. Figure 3 The cable interface 200 of the storage expansion device shown can be connected to the server via an external cable, such as via a fiber optic cable.
[0097] The PCIe interface of the storage expansion device provided in this application embodiment can also be configured as a card, meaning the entire storage expansion device can be pulled out and pushed in like a drawer, for example, it can be inserted into the backplane of a server. A detailed description is provided below with reference to the accompanying drawings.
[0098] See Figure 4A This figure is a schematic diagram of another storage expansion device provided in an embodiment of this application.
[0099] Figure 4A The storage expansion device shown is Figure 1 The storage expansion devices shown all have in common that they include two CXL controllers, each of which connects to four corresponding DIMMs, and all include a cable interface 200 and a PCIe interface 100. The common parts will not be described again.
[0100] Figure 4A The storage expansion device shown is Figure 1 The storage expansion device shown is different, Figure 4A The storage expansion device is configured as a card, primarily manifested in the PCIe interface 100 being configured as an external card, which can be plugged into the server's backplane. Furthermore... Figure 1 The PCIe interface 100 is located on the long side of the substrate. Figure 4A The PCIe interface 100 is located on the short side of the substrate.
[0101] The four DIMMs connected to each CXL controller are arranged parallel to the long side of the substrate. This should be understood. Figure 4A The positional relationships of the various components are only illustrative and are not specifically limited in the embodiments of this application.
[0102] Because the PCIe interface 100 is located on the short side of the substrate, when the storage expansion device is configured as a plug-in card, it may wobble and become unstable. Therefore, a fixed support structure is provided on the storage expansion device to stabilize it and prevent wobble. For example, the storage expansion device can have multiple fixed structures distributed at different locations on the device. One possible implementation can be found in [reference needed]. Figure 4B As shown in the figure, this figure is a schematic diagram of another storage expansion device provided in an embodiment of this application.
[0103] The computing device provided in this embodiment also includes a support plate M. Three fixing structures are arranged on M, corresponding to the three vertices of a triangle formed by the three fixing structures of the memory expansion device. Taking O, P, and Q as examples, in practice, screws or rivets can be used to fix the storage expansion device and the support plate together. The support plate can be located on the side of the substrate facing away from the DIMM, so that the support plate can fix and support the storage expansion device. For example, the support plate is a metal plate, and the substrate of the storage expansion device is fixed to the metal plate by the fixing support structure, providing strength support. This embodiment does not specifically limit the number of fixing structures and can set them according to actual needs.
[0104] See Figure 5 This figure is a schematic diagram of another storage expansion device provided in an embodiment of this application.
[0105] Figure 5 The storage expansion device shown is Figure 4A The storage expansion devices shown all share the same feature: they include two CXL controllers, each connected to four corresponding DIMMs. The PCIe interface 100 is located on the short side of the substrate; other similar features will not be described further.
[0106] Figure 5 The storage expansion device shown is Figure 4A The storage expansion device shown is different, Figure 5 The storage expansion device shown only includes a PCIe interface 100, and the PCIe interface 100 is configured as a plug-in card, meaning that the gold fingers can be horizontally plugged into the back panel of the server in the form of a plug-in card.
[0107] The implementation of the storage expansion device provided in this application embodiment is described in detail below with reference to the accompanying drawings.
[0108] See Figure 6 This figure is a schematic diagram of another storage expansion device provided in an embodiment of this application.
[0109] The storage expansion device provided in this embodiment is in the form of a PCIe standard card, with full height and length. This storage expansion device can provide a DC 12V power interface. Figure 1 Similarly, the storage expansion device includes a first CXL controller A and a second CXL controller B. The first CXL controller A is connected to the corresponding four DIMMs, and the second CXL controller B is connected to the corresponding four DIMMs. The entire storage expansion device can expand to eight DIMMs; the identical parts will not be described again.
[0110] The storage expansion device has a gold finger interface on the side of the substrate. The gold finger interface is an X16 interface, which conforms to the PCIe standard specification.
[0111] The storage expansion device provided in this application embodiment takes two X8 cable interfaces as an example, namely, the first cable interface 201 is an X8 interface, and the second cable interface 202 is an X8 interface. The first cable interface 201 is connected to the first CXL controller A, and the second cable interface 202 is connected to the second CXL controller B. The first cable interface 201 accesses the four DIMMs connected to the first CXL controller A, and the second cable interface 202 accesses the four DIMMs connected to the second CXL controller B. It should be understood that... Figure 6 It can also include only one cable interface, which is an X16 interface.
[0112] The storage expansion device provided in this application embodiment further includes a first SPI flash memory C and a second SPI flash memory D disposed on a substrate.
[0113] The first CXL controller A is connected to the first SPI flash memory C.
[0114] The second CXL controller B is connected to the second SPI flash memory D.
[0115] Both the first SPI flash memory C and the second SPI flash memory D are in the form of electronically erasable programmable read-only memory, which allows SPI data to be erased or written multiple times. Because they can be erased and written, they can be reused.
[0116] The storage expansion device provided in this application embodiment also includes a debug interface disposed on the substrate; both the first CXL controller A and the second CXL controller B are connected to the debug interface. The debug interface can be connected to external devices to enable testing or debugging of the first CXL controller A and the second CXL controller B of the storage expansion device. It should be understood that both the first CXL controller A and the second CXL controller B can be connected to the debug interface through a Joint Test Action Group (JTAG) interface or a Universal Asynchronous Receiver / Transmitter (UART) interface.
[0117] The storage expansion device provided in this application embodiment further includes a system management bus (SMbus) switch interface F and a sensor E disposed on the substrate. The sensor E is used to detect the temperature of the storage expansion device.
[0118] The first end of the SMbus switch interface F is connected to the first CXL controller A and the second CXL controller B;
[0119] The second terminal of the SMbus switch interface F is connected to the sensor E; the third terminal of the SMbus switch interface F is used to connect to the server. For example, the SMbus switch interface F can be used to connect to a server. The server can manage the CXL controller on the storage expansion device through the SMbus switch interface F.
[0120] In one possible implementation, the server accesses at least one of the following: sensor E, first CXL controller A, and second CXL controller B, via an SMbus switch interface F. Alternatively, the server can simultaneously access sensor E, first CXL controller A, and second CXL controller B via the SMbus switch interface F. Accessing first CXL controller A and second CXL controller B allows the server to access data in the extended DIMMs of both controllers.
[0121] The interfaces provided by the first cable interface 201, the second cable interface 202, and the PCIe interface 100 include, in addition to the CXL data read / write pins, the CXL interface also includes a clock pin CLK, a reset pin RST, an SMbus pin, an in-place pin PRSNT, and a power supply pin. That is, the third terminal of the SMbus switch interface F can be connected to either the cable interface or the PCIe interface. In this embodiment, a power supply pin voltage of 3.3V is used as an example for illustration.
[0122] The first CXL controller A connects to the corresponding four DIMMs via a DDR controller and obtains the Serial Presence Detect (SPD) information for the four DIMMs through an Inter-Integrated Circuit (I2C) or Improved Inter-Integrated Circuit (I3C) bus interface. The SPD information includes the DIMM's memory size and bandwidth, facilitating physical address mapping based on memory size. Similarly, the second CXL controller B connects to the corresponding four DIMMs via a DDR controller and obtains the SPD information for the four DIMMs through I2C / I3C.
[0123] The storage expansion device provided in this application embodiment can update the firmware of the first CXL controller A and the firmware of the second CXL controller B through the server, modify their internal address mapping unit, so that all interfaces after the CXL interfaces of the first CXL controller A and the second CXL controller B are equally divided can access all memory spaces connected to the corresponding CXL controller. Thus, the entire CXL memory space of the storage expansion device can be accessed through the cable interface and the PCIe interface, that is, all DIMMs can be accessed.
[0124] Figure 6 The storage expansion device shown is equipped with a first cable interface 201, a second cable interface 202, and a PCIe interface 100. The PCIe interface 100 is located on the long side of the substrate, while the first cable interface 201 and the second cable interface 202 are located on the short side of the substrate. Each CXL controller is connected to four corresponding DIMMs.
[0125] In another implementation, the storage expansion device provided in this application embodiment may only include a PCIe interface and exclude cable interfaces. This will be described in detail below with reference to the accompanying drawings.
[0126] See Figure 7 This figure is a schematic diagram of another storage expansion device provided in an embodiment of this application.
[0127] Figure 7 The storage expansion device shown is Figure 6 The storage expansion devices shown all share the same feature: they include two CXL controllers, each connected to four corresponding DIMMs. The PCIe interface 100 is located on the long side of the substrate; other similar features will not be described further.
[0128] Figure 7 The storage expansion device shown is Figure 6 Unlike the storage expansion devices shown, the storage expansion device provided in this embodiment includes a PCIe interface 100 but does not include a cable interface. This PCIe interface 100, in the form of a PCIe standard card, can be vertically plugged into the backplane of a server.
[0129] The 8-lane CXL bus of the first CXL controller A is connected to the PCIe interface 100, and the 8-lane CXL bus of the second CXL controller B is also connected to the PCIe interface 100. Therefore, the four DIMMs extended by the first CXL controller A and the four DIMMs extended by the second CXL controller B can be accessed through the PCIe interface 100.
[0130] Figure 7 The storage expansion device shown includes a PCIe interface. In addition, the storage expansion device provided in this application embodiment may only include a cable interface and not a PCIe interface, which will not be described in detail here.
[0131] The following section, with reference to the accompanying diagram, details the implementation of a storage expansion device that includes a PCIe interface, but in the form of a plug-in card.
[0132] See Figure 8 This figure is a schematic diagram of another storage expansion device provided in an embodiment of this application.
[0133] Figure 8 The storage expansion device shown is Figure 6 The storage expansion devices shown all have in common that they include two CXL controllers, each of which is connected to four corresponding DIMMs. The common parts will not be described again.
[0134] Compare Figure 8 and Figure 6 It can be seen that the difference between the two is that... Figure 8 The PCIe interface 100 is located on the short side of the substrate. Figure 8 The PCIe interface 100 is configured as a card, meaning the gold fingers can be horizontally inserted into the server's backplane in a card-like form.
[0135] at the same time, Figure 8 The provided storage expansion device includes a first cable interface 201 and a second cable interface 202, which can be found in the following description: Figure 6 The corresponding descriptions will not be repeated here.
[0136] Figure 8 The storage expansion device shown includes a cable interface and a PCIe interface. In addition, the storage expansion device provided in this application embodiment may only include a PCIe interface and not include a cable interface. The following is a detailed description in conjunction with the accompanying drawings.
[0137] See Figure 9 This figure is a schematic diagram of another storage expansion device provided in an embodiment of this application.
[0138] Figure 9 Provided storage expansion devices and Figure 8 The difference in the provided storage expansion devices is that Figure 9 The storage expansion devices provided do not include cable interfaces, only PCIe 100 interfaces.
[0139] The storage expansion device provided in this application embodiment includes a PCIe interface 100, which is configured as a card, meaning that the gold fingers can be horizontally inserted into the backplane of the server in the form of a card.
[0140] The x8 interface of the first CXL controller A is connected to the PCIe interface 100, and the x8 interface of the second CXL controller B is also connected to the PCIe interface 100. Therefore, the four DIMMs extended by the first CXL controller A and the four DIMMs extended by the second CXL controller B can be accessed through the PCIe interface 100.
[0141] The CXL controller on the storage expansion device provided in this application embodiment supports bifurcation, and can access all memory space on the storage expansion device through a cable interface or PCIe interface via an address mapping unit. For example, it can achieve a density increase of 8 DIMMs by connecting an X16 interface, and supports gold finger or cable interfaces. The server only needs to connect to one of the gold finger or cable interfaces to access all memory space.
[0142] Furthermore, the storage expansion device provided in this application embodiment can be plugged in and out of the computer device chassis, making the CXL memory card easy to maintain and allowing manufacturers to be free from the supply of E3.S form factor memory chips.
[0143] The above embodiments are only illustrated by using a CXL controller connected to 4 DIMMs as an example. It should be understood that the CXL controller can also expand to a greater number of DIMMs. Regardless of the number of DIMMs expanded by a single CXL controller, using the technical solution provided in this application, the cable interface or PCIe interface can access all the DIMMs expanded by each CXL controller. This enables access to all CXL memory on the storage expansion device through a single interface, thereby improving memory density and saving costs.
[0144] Furthermore, this application does not specifically limit the number of CXL controllers configured on a single storage expansion device. The above embodiments use two CXL controllers as an example; it should be understood that other embodiments may integrate more CXL controllers on the storage expansion device, thereby allowing for the expansion of more DIMMs on a single device. For example, integrating four CXL controllers would allow for the integration of 16 DIMMs, whose memory space can be accessed via cable interfaces or PCIe interfaces. The above are merely illustrative examples; it should be understood that an odd number of CXL controllers may also be configured on the storage expansion device, and this is not specifically limited.
[0145] Based on the storage expansion device provided in the above embodiments, this application also provides a computing device, which will be described in detail below with reference to the accompanying drawings. This application does not specifically limit the specific type of computing device; for example, the computing device may be a server.
[0146] See Figure 10 This figure is a schematic diagram of a computing device provided in an embodiment of this application.
[0147] The computing device provided in this application embodiment includes: a backplane 2000 and a storage expansion device 3000 described in any of the above embodiments;
[0148] Storage expansion device 3000 connects to backplane 2000.
[0149] It should be understood that the embodiments of this application do not specifically limit the number of storage expansion devices 3000 included inside the computing device. There may be one or more, which can be set according to the actual scenario.
[0150] Furthermore, the computing device provided in this application embodiment does not specifically limit the connection method between the storage expansion device 3000 and the backplane 2000. As described in the above embodiments, the PCIe interface included in the storage expansion device 3000 can be configured as a PCIe standard card, and the storage expansion device can be vertically inserted into the backplane 2000. Alternatively, the PCIe interface included in the storage expansion device 3000 can also be configured as an expansion card, and the storage expansion device 3000 can be horizontally inserted into the backplane 2000.
[0151] It should be understood that Figure 10 The PCIe interface is used as the standard form factor for PCIe cards. Figure 10 The storage expansion device 3000 shown is for illustrative purposes only. If it is vertically inserted into the backplane 2000, meaning the storage expansion device 3000 and the backplane 2000 are perpendicular to each other, there will be obstruction between them. This is to clarify the connection relationship between the backplane 2000 and the storage expansion device 3000. Figure 10 This is for illustrative purposes only and does not represent the actual physical form and layout.
[0152] The computing device provided in this application embodiment can access all memory through the PCIe interface (i.e., the gold fingers) or through the cable interface, thus realizing the need to access high-density memory with fewer interface resources. For example, the memory density of 8 DIMMs can be expanded using the X16 interface, so that more memory can be accessed with fewer interfaces, thereby saving the number of interfaces and increasing the memory density of a single storage expansion device, thereby improving the memory density of the computing device.
[0153] The above description is merely a preferred embodiment of this application and is not intended to limit the application in any way. Although this application has disclosed preferred embodiments above, it is not intended to limit the application. Any person skilled in the art can make many possible variations and modifications to the technical solutions of this application using the methods and techniques disclosed above, or modify them into equivalent embodiments with equivalent changes, without departing from the scope of the technical solutions of this application. Therefore, any simple modifications, equivalent changes, and modifications made to the above embodiments based on the technical essence of this application without departing from the content of the technical solutions of this application shall still fall within the protection scope of the technical solutions of this application.
Claims
1. A storage expansion device, characterized in that, include: The substrate and cable interfaces, PCIE interfaces, a first CXL controller, a second CXL controller, and multiple DIMMs disposed on the substrate; the first CXL controller and the second CXL controller are both physical CXL controllers. The first CXL controller is connected to a first portion of the multiple DIMMs, and the second CXL controller is connected to a second portion of the multiple DIMMs. The CXL interface of the first CXL controller is divided into a first part of the CXL interface and a second part of the CXL interface. The first part of the CXL interface of the first CXL controller is used to connect to the cable interface, and the second part of the CXL interface of the first CXL controller is used to connect to the PCIe interface. Both the first part of the CXL interface and the second part of the CXL interface of the first CXL controller can access the memory space of all DIMMs connected to the first CXL controller. The CXL interface of the second CXL controller is divided into a first part of the CXL interface and a second part of the CXL interface. The first part of the CXL interface of the second CXL controller is used to connect to the cable interface, and the second part of the CXL interface of the second CXL controller is used to connect to the PCIE interface. Both the first part of the CXL interface and the second part of the CXL interface of the second CXL controller can access the memory space of all DIMMs connected to the second CXL controller. The cable interface is used to access all memory spaces connected to the first CXL controller and the second CXL controller; The PCIe interface is used to access all memory spaces connected to the first CXL controller and the second CXL controller; The CXL interface of the first CXL controller is an X16 interface, and the first part of the CXL interface and the second part of the CXL interface of the first CXL controller are both X8 interfaces; the first part of the CXL interface of the first CXL controller is connected to the first X8 interface of the cable interface, and the first part of the CXL interface of the second CXL controller is connected to the second X8 interface of the cable interface. The cable interface is used to access all memory space of the first DIMM portion and all memory space of the second DIMM portion.
2. The storage expansion device according to claim 1, characterized in that, The CXL interface of the second CXL controller is an X16 interface, and both the first and second parts of the CXL interface of the second CXL controller are X8 interfaces; the PCIE interface is divided into a first X8 interface and a second X8 interface; the second part of the CXL interface of the first CXL controller is connected to the first X8 interface of the PCIE interface, and the second part of the CXL interface of the second CXL controller is connected to the second X8 interface of the PCIE interface; The PCIe interface is used to access all memory space of the first DIMM and all memory space of the second DIMM.
3. The storage expansion device according to claim 1 or 2, characterized in that, The first CXL controller stores a first mapping table and a second mapping table. The first mapping table corresponds to a first part of the CXL interface of the first CXL controller, and the second mapping table corresponds to a second part of the CXL interface of the first CXL controller. The first mapping table implements the mapping and conversion of the physical memory address of the server connected to the first part of the CXL interface of the first CXL controller to all DIMM physical memory addresses of the first CXL controller. The second mapping table implements the mapping and conversion of the physical memory address of the server connected to the second part of the CXL interface of the first CXL controller to all DIMM physical memory addresses of the first CXL controller.
4. The storage expansion device according to claim 1 or 2, characterized in that, The second CXL controller stores a third mapping table and a fourth mapping table. The third mapping table corresponds to the first part of the CXL interface of the second CXL controller, and the fourth mapping table corresponds to the second part of the CXL interface of the second CXL controller. The third mapping table implements the mapping and conversion of the physical memory address of the server connected to the first part of the CXL interface of the second CXL controller to all DIMM physical memory addresses of the second CXL controller. The fourth mapping table implements the mapping and conversion of the physical memory address of the server connected to the second part of the CXL interface of the second CXL controller to all DIMM physical memory addresses of the second CXL controller.
5. The storage expansion device according to claim 2, characterized in that, It also includes sensors and a system management bus (SMbus) switch interface mounted on the substrate; The sensor is used to detect the temperature of the storage expansion device; The first end of the SMbus switch interface is connected to the first CXL controller and the second CXL controller; The second end of the SMbus switch interface is connected to the sensor; the third end of the SMbus switch interface is used for a cable interface or a PCIe interface.
6. The storage expansion device according to claim 5, characterized in that, Both the cable interface and the PCIe interface provide clock pins, reset pins, SMbus pins, in-place pins, and power pins. The third terminal of the SMbus switch interface is connected to the SMbus pins of the cable interface and the PCIe interface.
7. The storage expansion device according to claim 1, characterized in that, The storage expansion device is in the form of a PCIe card, with the PCIe interface located on the long side of the substrate for vertical insertion into the backplane of the computing device; or, the storage expansion device is in the form of a plug-in card, with the PCIe interface located on the short side of the substrate for horizontal insertion into the backplane of the computing device.
8. A computing device, characterized in that, include: Backplane and the storage expansion device according to any one of claims 1-7; The storage expansion device is connected to the backplane.