A single-computer multi-CXL card-based pooled RAMDisk system
By combining parallel expansion of multiple CXL cards on a single machine with non-volatile storage, and dynamic scheduling and security management, the contradictions of 'high-speed access, ultra-large capacity, non-volatility, and multi-node sharing' in high-performance computing scenarios are resolved, achieving efficient and secure resource sharing and utilization.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- SHENZHEN JINGTIE COMPUTING SYSTEM TECHNOLOGY CO LTD
- Filing Date
- 2026-04-14
- Publication Date
- 2026-07-10
Smart Images

Figure CN122365536A_ABST
Abstract
Description
Technical Field
[0001] This invention belongs to the fields of computer storage technology, high-speed interconnect technology and resource pooling technology, and specifically relates to a pooled RAMDisk system based on a single machine with multiple CXL cards. Background Technology
[0002] With the explosive growth of high-performance computing and AI large-scale model training, storage systems face five extreme demands: nanosecond-level latency, tens of GB / s bandwidth, TB / PB-level capacity, data non-volatility, and multi-node sharing. Among these, RAMDisk has become the preferred choice due to its near-memory access speed, while the low latency, high bandwidth, and memory sharing characteristics of the CXL protocol provide technical support for resource expansion. However, existing technologies are limited by their architectural design and have been unable to break through the bottleneck of "optimization of a single feature and fragmentation of multiple requirements." The specific situation is as follows: 1. The RAMDisk solution with a single CXL card and local RAM is the mainstream high-performance storage implementation method for single machines. It expands a small amount of RAM resources by a single CXL card and focuses only on the single feature of "high-speed access". It has three major drawbacks: limited capacity expansion, no external access capability, and lack of non-volatile design. It is only suitable for small single-machine scenarios and cannot be adapted to scenarios with multiple overlapping needs.
[0003] 2. Multi-node, multi-CXL card distributed RAMDisk pooling solution: This solution builds a resource pool through a multi-node cluster, which solves the need for sharing among multiple nodes. However, it suffers from complex architecture and high deployment costs. At the same time, it sacrifices the low latency advantage of single-machine storage, is not optimized for single-machine scenarios, cannot balance low-cost deployment and high-performance requirements, and does not solve the core pain point of non-volatility.
[0004] 3. Standalone ultra-large main memory independent RAMDisk solution: High-speed storage is built by relying on local ultra-large main memory. It can only meet the requirements of "large capacity + high speed". It has the defects of low resource utilization, inflexible expansion, and no support for external sharing. In addition, the lack of persistence mechanism makes data easy to be lost. The expansion advantages of the CXL protocol are not fully utilized.
[0005] Thus, there are still significant gaps in core technologies. Existing technologies all adopt the design approach of "single resource integration + single feature optimization." There is no solution that deeply integrates "parallel expansion of multiple CXL cards on a single machine + ultra-large main memory pooling + NVMe SSD non-volatile enhancement," let alone achieve the synergistic effect of "high-speed access, ultra-large capacity, non-volatility, and multi-node sharing." At the same time, there is a lack of scheduling, fault tolerance, and external access mechanisms adapted to this integrated architecture, resulting in a technological gap.
[0006] Among them, the defects of the existing technology cannot be compensated by local optimization, but rather stem from the inherent limitations of the architecture design. The core defects can be summarized into five irreconcilable contradictions, which directly lead to the inability to meet five requirements at the same time. The five contradictions are as follows: (1) Architecture contradiction: The existing single-machine solution only supports "single CXL card expansion" or "no CXL expansion", and cannot achieve a simultaneous breakthrough in capacity and performance through parallel expansion of multiple CXL cards. Moreover, all solutions are trapped in the dilemma of "single-machine resource island", and cannot achieve shared access from external nodes, which is completely separated from the requirement of multi-node collaboration; (2) Characteristic contradiction: The existing RAMDisk solutions are all volatile storage, if To achieve non-volatility, an additional independent backup system needs to be deployed, resulting in complex architecture and increased latency, forming an irreconcilable contradiction between "high-speed access" and "non-volatility", and failing to balance data reliability and access performance; (3) Collaboration contradiction: Existing technologies lack a collaborative management mechanism for single-machine multi-CXL cards, and forced deployment will lead to resource conflicts and wasted link bandwidth. Moreover, existing scheduling and fault tolerance mechanisms are designed for "single CXL card" or "multi-node distributed" architectures, which are completely unsuitable for the hardware characteristics of "single-machine multi-CXL card", resulting in serious performance friction; (4) Access contradiction: If existing technologies want to achieve external node access, they need to forward through Ethernet or PCIe switches, with latency as high as tens of microseconds, completely losing the high-speed advantage of RAMDisk, and lacking a sound security control mechanism, forming the core contradiction between "external sharing" and "high-speed security"; (5) Resource contradiction: Existing solutions adopt a static resource allocation mode, which cannot dynamically adjust resource allocation according to business load, resulting in idle resource waste and busy resource bottlenecks. The resource utilization rate is generally less than 60%, and the hardware cost and resource efficiency are seriously mismatched.
[0007] Therefore, the aforementioned defects are interconnected and progressive, stemming from the fact that existing technologies have not broken through the "single feature-oriented" architectural design paradigm. Thus, there is an urgent need to provide a pooled RAMDisk system based on a single machine with multiple CXL cards and a restructured architecture to address the aforementioned shortcomings. Summary of the Invention
[0008] The purpose of this invention is to provide a pooled RAMDisk system based on a single machine with multiple CXL cards, in order to solve the problems of architectural contradictions, feature contradictions, coordination contradictions, access contradictions and resource contradictions existing in the prior art.
[0009] To achieve the above objectives, the present invention adopts the following technical solution: Firstly, a pooled RAMDisk system based on a single machine with multiple CXL cards is provided, including: The hardware layer includes: a single motherboard, local main memory, multiple CXL cards, a CXL switch, a non-volatile storage device, and an external access interface module. The motherboard integrates multiple CXL protocol slots for parallel access of multiple CXL cards; The CXL switch connects to multiple CXL cards, local main memory, and non-volatile storage devices to enable high-speed data exchange between multiple CXL cards, between each CXL card and local main memory, and between each CXL card and non-volatile storage devices. The external access interface module is used to enable external access nodes to establish a direct connection with the hardware layer via the CXL interconnect link; The software layer includes: The CXL protocol adapter module is used to discover and initialize multiple CXL cards, CXL switches, local main memory and non-volatile storage devices through the CXL.io protocol, so as to establish a communication link between the hardware layer and the software layer. The resource pooling module is used to integrate a portion of the main memory in the local main memory, the extended memory resources corresponding to multiple CXL cards, and the non-volatile resources of non-volatile storage devices into a pooled RAMDisk resource pool after completing device discovery and initialization. The external access management module is used to establish an end-to-end CXL access channel between the external access node and the pooled RAMDisk resource pool through the external access interface module and the CXL interconnection link, and to perform identity authentication and access control. After identity authentication and access control are passed, the access request of the external access node is forwarded to the collaborative scheduling module. The collaborative scheduling module is used to receive access requests from local business nodes or external access nodes, and execute differentiated resource allocation and scheduling strategies according to the source type of the access request and the system load resources, so as to allocate resources in the pooled RAMDisk resource pool for the access request, and forward the access request to the CXL protocol adaptation module after allocating resources. The CXL protocol adaptation module is also used to, upon receiving an access request, perform data interaction between the local business node or external access node and the pooled RAMDisk resource pool based on the allocated resources and using the CXL.memory protocol, so as to return the corresponding access response result to the local business node or external access node. The data persistence and fault tolerance module is used to persistently back up the data in the pooled RAMDisk resource pool through non-volatile storage devices, and to build inter-card redundancy backups using multiple CXL cards to recover data in the event of a single card failure.
[0010] Based on the aforementioned disclosures, this invention overcomes the contradiction between architecture and features. Specifically, it achieves this by deeply integrating "parallel expansion of multiple CXL cards on a single machine + ultra-large main memory pooling + non-volatile storage devices," and employing parallel access of multiple CXL cards and high-speed interconnection with CXL switches to break through the single-card capacity bottleneck. Simultaneously, by combining data persistence and fault tolerance modules, and utilizing non-volatile storage devices and inter-card redundancy backups, it achieves for the first time in a single system a balance of four characteristics: high-speed access, ultra-large capacity, non-volatility, and multi-node sharing, resolving the seemingly irreconcilable contradiction between high speed and non-volatility. Furthermore, it establishes an end-to-end connection for external nodes using an external access interface module and CXL interconnect links. The CXL direct connection channel, combined with identity authentication and access control, enables high-speed sharing of pooled resources among multiple nodes while ensuring data transmission security, thus resolving the conflict between "external sharing and high-speed security." Finally, the collaborative scheduling module executes differentiated resource allocation strategies based on the type of access request (local / external) and system load status. This not only avoids resource waste caused by static partitioning in traditional technologies but also adapts to the parallel characteristics of multiple CXL cards by executing differentiated allocation and scheduling strategies and combining them with the multi-card hardware-level interconnection achieved by the CXL switch, avoiding resource conflicts and link waste, thereby solving the problem of no collaborative mechanism for multiple cards.
[0011] Therefore, this invention, by reconstructing the underlying architecture, integrates parallel expansion of multiple CXL cards on a single machine and deep fusion of local main memory and non-volatile storage into a unified pooled RAMDisk resource pool, completely breaking the limitations of existing technologies that focus on "single feature optimization." Simultaneously, the system leverages end-to-end CXL direct connection channels and security management mechanisms to ensure both nanosecond-level ultra-low latency and multi-node sharing while maintaining security. Furthermore, it utilizes underlying persistence and multi-card redundancy to resolve the contradiction between high-speed access and data volatility, and, in conjunction with dynamic collaborative scheduling, eliminates performance overhead and resource waste in multi-card environments. Ultimately, it achieves a perfect synergy of five characteristics: high speed, large capacity, non-volatility, sharing, and high resource utilization, comprehensively filling the storage technology gap in high-performance computing scenarios. Therefore, this invention is highly suitable for large-scale application and promotion.
[0012] In one possible design, the resource pooling module is used to obtain complete hardware resource information of the system sent by the CXL protocol adaptation module, as well as to obtain preset local specified service resource requirements information. The resource pooling module is used to determine the memory capacity that meets the minimum operating requirements of the local specified service and the basic memory requirements of the system based on the complete hardware resource information and the local specified service resource requirement information. The resource pooling module is used to divide the local main memory into a local exclusive area and a pooled shared area based on the memory capacity, wherein the memory size of the local exclusive area is equal to the memory capacity, and the local exclusive area is used exclusively by the designated local service. The resource pooling module is also used to integrate the pooled shared area, the extended memory resources, and the non-volatile resources into the pooled RAMDisk resource pool.
[0013] In one possible design, the resource pooling module is used to divide the pooled RAMDisk resource pool into multiple logical RAMDisks using memory virtualization mapping technology, configure capacity quotas and IO priorities for each logical RAMDisk, and establish a permission association matrix between external access nodes and logical RAMDisks. This allows for permission verification of access requests received from external access nodes based on the permission association matrix. It is also used to monitor in real time the overall utilization rate of the pooled RAMDisk resource pool, the operating status of each CXL card, the occupancy information of the pooled shared area, and the backup status of the non-volatile storage device, so as to generate a resource status report based on the overall utilization rate, the operating status, the occupancy information, and the backup status and send it to the collaborative scheduling module.
[0014] In one possible design, when the pooled RAMDisk resource pool is divided into multiple logical RAMDisks using memory virtualization mapping technology, the resource pooling module is configured as follows: Based on business scenarios and performance requirements, different business types are tagged to obtain business tags corresponding to different business types; Using memory virtualization mapping technology, the pooled RAMDisk resource pool is divided into multiple isolated virtual partitions, and an independent logical RAMDisk is allocated to each virtual partition; For each business type, a corresponding logical RAMDisk is assigned, and each business tag is associated and bound to its corresponding logical RAMDisk so that access requests and resource requests for different business types are directed to the logical RAMDisk associated with their respective business tags.
[0015] In a possible design, the capacity quota for any logical RAMDisk includes: a static base quota and a dynamic elastic quota; The static basic quota is: a fixed capacity allocated to any logical RAMDisk to ensure operation; The dynamic elastic quota is: reserving a global elastic resource pool for any logical RAMDisk, wherein the global elastic resource pool of any logical RAMDisk is set with a corresponding capacity threshold, and the capacity threshold is determined based on the system load and the service type corresponding to any logical RAMDisk; The IO priority of each logical RAMDisk is determined based on a pre-built hierarchical weight table, which is constructed according to the business importance and access real-time requirements of different business types. The permission association matrix assigns a unique identifier to each external access node and limits the access permissions of each external access node to each logical RAMDisk. The access permissions include read-only permissions, read-write permissions, or no access permissions.
[0016] In one possible design, the system load resources include load metrics, and the load metrics include the bandwidth utilization of each CXL card and the pooled shared area, as well as the number of concurrent I / O operations; The differentiated resource allocation and scheduling strategies include: For access requests from local business nodes, the system allocates resources from the pooled shared area in the pooled RAMDisk resource pool to the access request, and also allocates free resources from the extended memory resources corresponding to multiple CXL cards to the access request. For access requests from external access nodes, the collaborative scheduling module is used to select the physical resource unit with the lowest bandwidth utilization and IO concurrency from the pooled RAMDisk resource pool based on the bandwidth utilization and IO concurrency of each CXL card and the pooled shared area, so as to allocate the selected physical resource unit to the access request of the external access node. Accordingly, when the resources in the pooled RAMDisk resource pool are insufficient and / or the service corresponding to the access request reaches the specified data processing, the non-volatile fallback allocation logic is triggered to schedule the non-volatile resources corresponding to the non-volatile storage device for non-volatile storage of the specified data.
[0017] In one possible design, the CXL protocol adaptation module is also used to maintain cache consistency between the local main memory, the multiple CXL cards, and the external access node through the CXL.cache protocol, perform hierarchical data management according to data access frequency, and map the pooled RAMDisk resource pool to a shared memory domain with a unified linear memory address space through the CXL.memory protocol, so that the local service node and the external access node can access the pooled RAMDisk resource pool through memory address; When performing hierarchical data management based on data access frequency, the CXL protocol adaptation module is configured as follows: High-frequency access data is cached in the local main memory, low-frequency access data is migrated to the non-volatile storage device, and data persistence operation is triggered when the cache is cleared; Accordingly, the data persistence operation is as follows: the data persistence instruction is encapsulated into a standard CXL.memory instruction and directly transmitted to the non-volatile storage device, so as to utilize the memory semantics of the CXL.memory protocol to clear the corresponding data from the cache and directly encapsulate it into a write operation to a specified address in the non-volatile storage device.
[0018] In one possible design, the data persistence and fault tolerance module is used to write business data in the pooled RAMDisk resource pool into the non-volatile storage device through a combination of real-time incremental backup and periodic full backup. The data persistence and fault tolerance module is used to split the extended memory resources of a single CXL card into data block granularities, and redundantly back up the data in the split resources to the extended memory resources of each idle CXL card and the pooled shared area in the local main memory, while maintaining real-time incremental synchronization between the backup data and the source data; and Used for real-time monitoring of the CXL card's operating status, the connectivity status of the CXL interconnect links, and the system power supply status, and to perform hierarchical fault-tolerant operations based on these statuses. Specifically, when performing a tiered fault-tolerance operation, the data persistence and fault-tolerance module is configured as follows: When a hardware failure of a single CXL card is detected based on the operating status of the CXL card, the faulty card is masked, and the redundant backup data of the faulty card is called to rebuild the RAMDisk resource corresponding to the faulty card. The collaborative scheduling module is notified to schedule the service request corresponding to the faulty card to the available resource unit in the pooled RAMDisk resource. When an abnormal external access link is detected based on the connectivity status, the abnormal link is disconnected, and the current access session and unfinished IO requests corresponding to the abnormal link are saved so that the transmission can be automatically resumed after the abnormal link is restored. When a system power failure is detected based on the system power supply status, the full amount of data in the pooled RAMDisk resource pool is written to the non-volatile storage device via the CXL.memory protocol, and then read after power-on to rebuild the resource pool.
[0019] In one possible design, the external access management module uses a lightweight parsing and forwarding mechanism to handle the access requests from the external access nodes; The external access management module is also used to employ a three-tiered progressive security protection mechanism to authenticate and control the access permissions of external access nodes, as well as to manage data transmission between external access nodes and the pooled RAMDisk resource pool. The three-layer progressive security protection mechanism includes, in sequence: node identity authentication based on key matching and identity verification, access permission verification of external access nodes to specified RAMDisk resources, and encrypted transmission of interactive data between external access nodes and the pooled RAMDisk resource pool based on encryption algorithms.
[0020] In one possible design, the software layer further includes: a local RAMDisk driver module; The local RAMDisk driver module is used to uniformly simulate the pooled RAMDisk resource pool as a standard local block device IO interface, so that local business nodes can directly access the pooled RAMDisk resource pool through the standard local block device IO interface, and to coordinate with the data persistence and fault tolerance module to complete data synchronization and persistence operations.
[0021] Beneficial effects: (1) By reconstructing the underlying architecture, this invention integrates the parallel expansion of multiple CXL cards on a single machine and the deep integration of local main memory and non-volatile storage into a unified pooled RAMDisk resource pool, completely breaking the limitation of the existing technology of "single feature optimization". At the same time, the system takes into account nanosecond-level ultra-low latency and multi-node sharing under the premise of ensuring security by using the end-to-end CXL direct connection channel and security management mechanism. Furthermore, the underlying persistence and multi-card redundancy resolve the contradiction between high-speed access and data volatility, and the dynamic collaborative scheduling eliminates the performance friction and resource waste in the multi-card environment. Finally, it achieves the perfect synergy of the five characteristics of "high speed, large capacity, non-volatility, sharing and high resource utilization", and fully fills the storage technology gap in high-performance computing scenarios. Therefore, this invention is very suitable for large-scale application and promotion. Attached Figure Description
[0022] Figure 1 This is a structural diagram of a pooled RAMDisk system based on a single machine with multiple CXL cards, provided in an embodiment of the present invention. Figure 2 This is a detailed structural diagram of a pooled RAMDisk system based on a single machine with multiple CXL cards, provided in an embodiment of the present invention. Figure 3 Provided for embodiments of the present invention Figure 2 An enlarged view of point A in the diagram; Figure 4 Provided for embodiments of the present invention Figure 2 Enlarged diagram of point B in the diagram; Figure 5 A flowchart for system initialization provided in an embodiment of the present invention; Figure 6 A flowchart of resource pooling provided in an embodiment of the present invention; Figure 7 A flowchart for local service access provided in an embodiment of the present invention; Figure 8 A schematic diagram of the fault tolerance process provided in an embodiment of the present invention; Figure 9 This is a flowchart illustrating the access process of an external access node provided in an embodiment of the present invention. Detailed Implementation
[0023] To more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the present invention will be briefly introduced below in conjunction with the accompanying drawings and descriptions of the embodiments or the prior art. Obviously, the following description of the structure of the accompanying drawings is only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort. It should be noted that the description of these embodiments is for the purpose of helping to understand the present invention, but does not constitute a limitation of the present invention.
[0024] It should be understood that although the terms first, second, etc., may be used herein to describe various units, these units should not be limited by these terms. These terms are only used to distinguish one unit from another. For example, a first unit may be referred to as a second unit, and similarly, a second unit may be referred to as a first unit, without departing from the scope of the exemplary embodiments of the invention.
[0025] It should be understood that the term "and / or" that may appear in this document is merely a description of the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can mean: A exists alone, B exists alone, and A and B exist simultaneously. The term " / and" that may appear in this document describes another relationship between related objects, indicating that two relationships can exist. For example, A / and B can mean: A exists alone, and A and B exist alone. In addition, the character " / " that may appear in this document generally indicates that the related objects before and after it are in an "or" relationship.
[0026] Example: See Figures 1-9As shown, the pooled RAMDisk system based on a single machine with multiple CXL cards provided in this embodiment is the first of its kind to deeply integrate a single machine with multiple CXL cards, large-capacity main memory and NVMe SSD non-volatile storage into an integrated pooled RAMDisk architecture. At the same time, relying on the three-layer protocol of CXL.io, CXL.cache and CXL.memory, this invention pools the local main memory and the extended memory resources of multiple CXL cards in a unified manner. Combined with dedicated external access, dynamic collaborative scheduling and hierarchical redundancy fault tolerance mechanism, it realizes high-speed, secure and non-volatile shared access to pooled storage resources by local and external nodes. Thus, it breaks through the existing technical bottlenecks from the architectural and methodological levels, and achieves multiple technical goals of high performance, large capacity, scalability and high reliability.
[0027] See Figure 1 , Figure 2 , Figure 3 and Figure 4 As shown, the overall architecture of the pooled RAMDisk system provided in this embodiment can be divided into three layers: a hardware layer, a software layer, and an external access layer (which contains multiple external access nodes), and also includes local business nodes (both local business nodes and external access nodes are resource access subjects, forming an "access-accessed" collaborative relationship with the single-machine system). The connection relationships and core functions of each layer and node are as follows: The local business node is a business carrying unit deployed inside the standalone server. It directly interacts with the local RAMDisk driver and resource pooling module in the software layer to run local high-performance computing services such as local AI model training and high-frequency trading data processing. It can directly access the pooled RAMDisk resource pool in the software layer through the standard block device I / O interface. The external access node is an external computing node independent of the standalone system. Each node is equipped with a CXL controller and access module. It can establish a high-speed connection with the external access interface module of the standalone hardware layer through the external CXL interconnect link to realize remote shared access to the pooled RAMDisk resources. The number of nodes can be expanded to 16 according to business needs.
[0028] Meanwhile, within a single-machine multi-CXL card core system, the hardware layer is the resource foundation for pooled RAMDisks, which may include, but is not limited to: the single-machine motherboard, local main memory (i.e., Figure 2 and Figure 4 The massive local main memory), multiple CXL cards, and CXL switches (i.e., Figure 2 and Figure 4 The single-unit integrated CXL switch), non-volatile storage device (i.e. Figure 2 and Figure 4The hardware layer includes persistent storage devices and external access interface modules; thus, the hardware layer can achieve data persistence through non-volatile storage devices, enabling RAMDisk to have both high-speed access and non-volatile characteristics, and its core function is to provide storage resources and high-speed interconnect channels to realize the physical connection between multiple CXL cards and main memory.
[0029] After introducing the overall architecture of the hardware layer, its detailed functional descriptions are provided below: In this embodiment, the single-machine motherboard integrates multiple CXL protocol slots for parallel access of multiple CXL cards. In specific applications, the single-machine motherboard is equipped with a server-grade processor, memory controller, and CXL controller. Through the integrated design of multiple CXL slots, the system supports the synchronous and parallel access of multiple CXL cards, thereby breaking through the expansion bottleneck of traditional single-machine single CXL slots from the bottom layer and providing hardware support for multi-card collaboration and simultaneous improvement of capacity and performance.
[0030] Meanwhile, the local main memory in the hardware layer adopts high-speed scalable memory, with its core innovation being a dynamic partitioning mechanism. This mechanism dynamically divides the main memory into a local exclusive area and a pooled shared area based on the local designated business and system load. The local exclusive area ensures exclusive use of memory for the local designated business (several types of business can be pre-defined as local designated businesses, thus making the local designated businesses the core business of the system), avoiding resource contention. The pooled shared area is uniformly incorporated into the global resource pool, allowing local and external access nodes to share access. This completely abandons the rigid mode of traditional static main memory partitioning and realizes dynamic allocation and efficient utilization of main memory resources.
[0031] Furthermore, the CXL switches in the hardware layer are connected to multiple CXL cards, local main memory, and non-volatile storage devices to enable high-speed data exchange between multiple CXL cards, between each CXL card and local main memory, and between each CXL card and non-volatile storage devices.
[0032] It should be noted that multiple CXL cards are CXL protocol memory expansion cards. Each card integrates an independent storage unit, a CXL protocol processing unit, and a local control unit. They achieve parallel collaboration within a single machine through the CXL protocol slot in the motherboard. Furthermore, all CXL cards are interconnected at the hardware level through the aforementioned CXL switch within the single machine to support parallel resource scheduling, data interaction, and redundancy backup, thereby overcoming the performance limitations and single point of failure risks of traditional single CXL card independent operation.
[0033] Furthermore, the aforementioned CXL switch is integrated into a single motherboard, equipped with the same number of ports as the CXL cards, and is fully compatible with the CXL Layer 3 protocol. The CXL switch plays a role in multi-resource collaborative forwarding, that is, based on the CXL protocol, it completes high-speed data forwarding, protocol parsing, and cache consistency maintenance between CXL cards, between CXL cards and local main memory, and between CXL cards and non-volatile storage devices. This avoids access conflicts of multiple hardware resources, maximizes link bandwidth utilization, and ensures the coordination and stability of multiple CXL cards working in parallel.
[0034] In this embodiment, as described above, a non-volatile storage device is provided in the hardware layer to provide persistent data storage. For example, the non-volatile storage device can be, but is not limited to, an NVMe SSD array, which is directly connected to the motherboard of a single machine. The core innovation is the non-volatile enhancement design, that is, by using the CXL.memory protocol, the NVMe SSD array is tightly integrated with the pooled RAMDisk system. In this way, the NVMe SSD array not only provides persistent data storage function, but also shares resources with memory to achieve high-speed memory-level access and data persistence.
[0035] In addition, this system achieves a high degree of direct connection between external access nodes and the hardware layer through an external access interface module. That is, the external access interface module is used to enable external access nodes to establish a direct connection with the hardware layer through the CXL interconnect link. In specific applications, the external access interface module is integrated on the motherboard of a single machine. It is equipped with an independent interface controller and is compatible with the CXL high-speed protocol. It has the dual functions of physical access to external nodes and security management, and can provide a hardware-level high-speed channel and security base for external access.
[0036] It should be noted that the CXL interconnect link is a dedicated high-speed transmission link for CXL, which uses a direct connection transmission method to realize data communication between external nodes and stand-alone systems. This bypasses intermediate forwarding links such as Ethernet and PCIe switches, and realizes end-to-end low-latency direct connection between external nodes and stand-alone systems, fully preserving the high-speed access characteristics of RAMDisk.
[0037] Thus, based on the aforementioned hardware layer, storage resources and high-speed interconnect channels can be provided for the entire system, thereby enabling physical connection between multiple CXL cards and main memory.
[0038] After describing the hardware layer architecture, the following section describes the software layer architecture: It should be noted that the software layer is deployed on top of the operating system of a single-machine server, such as within a server-level Linux kernel, integrating the CXL driver and RAMDisk driver; see [link / reference]. Figure 2 and Figure 3As shown, the software layer may include, but is not limited to, a resource pooling module, a collaborative scheduling module, a CXL protocol adaptation module, a data persistence and fault tolerance module, and an external access management module. The core functions of this software layer are to achieve pooling and integration of hardware resources, dynamic scheduling, protocol adaptation, fault tolerance protection, and control of external access. Its specific working principles and execution mechanisms are as follows: First, the CXL protocol adaptation module is used to discover and initialize multiple CXL cards, CXL switches, local main memory, and non-volatile storage devices through the CXL.io protocol, so as to establish a communication link between the hardware layer and the software layer. In this embodiment, the CXL protocol adaptation module is deployed in the kernel space to implement a collaborative adaptation mechanism between the CXL three-layer protocol and non-volatile storage. This module can complete the parsing and execution of the CXL.io, CXL.cache, and CXL.memory three-layer protocols, while adapting to the persistent command transmission of NVMe SSD arrays, optimizing the efficiency of parallel communication between multiple CXL cards and non-volatile storage command interaction, and solving the technical defect that the traditional CXL protocol cannot be compatible with non-volatile storage.
[0039] In practical applications, the process of device discovery and initialization is as follows: the CXL.io protocol is used to complete the enumeration, registration and status verification of multiple CXL cards, CXL switches, local main memory and non-volatile storage devices (i.e. NVMe SSD arrays) within a single machine, thereby completing the hardware resource discovery and initialization.
[0040] After the CXL protocol adaptation module completes device discovery and initialization, the resource pooling module can be used for resource pooling. The resource pooling module is deployed in the kernel space and is the core carrier of the three-layer dynamic resource fusion mechanism pioneered in this embodiment. This module can integrate part of the main memory in the local main memory (i.e., the pooled shared area below), the RAM resources extended by multiple CXL cards, and the non-volatile resources of the NVMe SSD array to form a logically complete and independent pooled RAMDisk resource pool. That is, the resource pooling module is used to integrate part of the main memory in the local main memory, the extended memory resources corresponding to multiple CXL cards, and the non-volatile resources of non-volatile storage devices into a pooled RAMDisk resource pool after completing device discovery and initialization.
[0041] It should be noted that the process of integrating a portion of the local main memory is as follows: The resource pooling module obtains complete hardware resource information of the system sent by the CXL protocol adaptation module (which may include, but is not limited to, the total capacity of the local main memory, the poolable capacity, the extended RAM capacity of each CXL card, and the real-time running load of local processes), and obtains preset local specified service resource requirement information (such as the minimum memory quota for local specified services and the reserved requirements of the operating system kernel). Then, based on the complete hardware resource information and the local specified service resource requirement information, the memory capacity that meets the minimum running requirements of the local specified services and the basic memory requirements of the system is determined. Specifically, the sum of the minimum memory quota for local specified services and the reserved requirements of the operating system kernel can be used as the initial memory capacity. Then, it is determined whether the memory occupied by the real-time running load of local processes is greater than or equal to the initial memory capacity. If so, the initial memory capacity is expanded (such as by a preset value) to obtain the actual memory capacity. Otherwise, the initial memory capacity is used as the actual memory capacity.
[0042] After obtaining the memory capacity sufficient to meet the minimum operating requirements of the specified local service and the basic memory requirements of the system, the resource pooling module divides the local main memory into a local exclusive area and a pooled shared area based on the memory capacity. The memory size of the local exclusive area is equal to the memory capacity, and the local exclusive area is used exclusively by the specified local service. Finally, the pooled shared area, the extended memory resources, and the non-volatile resources are integrated into a logically unified pooled RAMDisk resource pool. In this way, the precise division between local core memory requirements and shared resources can be achieved.
[0043] It should be noted that the resource pooling module can also perform fine-grained partitioning of multiple logical RAMDisks based on business type, and configure independent capacity quotas, IO priorities and access permissions for each logical RAMDisk. This solves the problems of integration conflicts and feature fragmentation of multiple types of hardware resources from the bottom layer. That is, the resource pooling module is used to divide the pooled RAMDisk resource pool into multiple logical RAMDisks through memory virtualization mapping technology, configure capacity quotas and IO priorities for each logical RAMDisk, and establish a permission association matrix between external access nodes and logical RAMDisks. When an access request is received from an external access node, the permission verification of the access request is performed based on the permission association matrix.
[0044] In specific implementation, when the pooled RAMDisk resource pool is divided into multiple logical RAMDisks through memory virtualization mapping technology, the resource pooling module is configured to perform the following operations: (1) According to the business scenario and performance requirements, different business types are tagged to obtain business tags corresponding to different business types; (2) Using memory virtualization mapping technology, the pooled RAMDisk resource pool is divided into multiple isolated virtual partitions, and an independent logical RAMDisk is allocated to each virtual partition; (3) For each business type's business tag, a corresponding logical RAMDisk is allocated, and each business tag is associated and bound to the corresponding logical RAMDisk so that access requests and resource requests corresponding to different business types point to the logical RAMDisk associated and bound to their respective business tags.
[0045] In this way, through the above operations, the fine-grained division of multiple logical RAMDisks can be achieved based on business type, thereby binding the corresponding logical RAMDisk to different business types, and thus directing the IO requests and resource requests of various businesses to the dedicated partition.
[0046] Furthermore, this module employs a combination of static basic quotas and dynamic elastic quotas for capacity configuration. Specifically, the capacity quota for any logical RAMDisk includes both a static basic quota and a dynamic elastic quota. The static basic quota is a fixed capacity allocated to the logical RAMDisk to ensure its operation. The dynamic elastic quota is a global elastic resource pool reserved for the logical RAMDisk. Simultaneously, this embodiment sets a corresponding capacity threshold for the global elastic resource pool of each logical RAMDisk. This capacity threshold is determined based on the system load and the service type corresponding to the logical RAMDisk. Optionally, a capacity threshold table can be pre-built, storing the capacity thresholds for the global elastic resource pools corresponding to various service types under different system loads. Therefore, when using the module, the capacity threshold can be obtained by looking up the capacity threshold in the capacity threshold table based on the service type of the logical RAMDisk and the current system load.
[0047] Thus, this embodiment allocates a fixed capacity to each logical RAMDisk to ensure basic operation, while reserving a global elastic resource pool to cope with peak business expansion needs, and sets capacity thresholds for management based on business type requirements and system load conditions; in this way, the problem of a single business monopolizing resources can be avoided.
[0048] Furthermore, at the IO priority configuration level, this module pre-builds a hierarchical weight system (i.e., a hierarchical weight table) based on business importance and access real-time requirements. In this way, the IO priority of the logical RAMDisk can be determined according to the pre-built hierarchical weight table, so that IO requests of high-priority businesses can occupy CXL link bandwidth and memory access cycles first, ensuring the access efficiency of core businesses. For example, AI model training tasks, as high-priority tasks, will receive priority in resource allocation, reducing data transmission latency and ensuring rapid task response. At the same time, the priority of background data processing and other tasks is reduced to ensure the normal and efficient execution of high-priority tasks.
[0049] Finally, at the access permission configuration level, this module constructs a permission association matrix between external access nodes and logical RAMDisks. It assigns a unique identity to each external access node and restricts its access permissions to each logical RAMDisk (the access permissions include read-only permissions, read-write permissions, or no access permissions). In this way, all access requests from external access nodes must pass the pre-access permission verification, thereby achieving secure isolation and fine-grained management of resources.
[0050] In addition, in this embodiment, the resource pooling module is also used to monitor in real time the overall utilization rate of the pooled RAMDisk resource pool, the operating status of each CXL card, the occupancy information of the pooled shared area, and the backup status of the non-volatile storage device (NVMe SSD array). Based on the overall utilization rate, the operating status, the occupancy information, and the backup status, a resource status report is generated and sent to the collaborative scheduling module to provide data support for subsequent resource scheduling and fault tolerance.
[0051] After the resource pooling module completes the unified integration of the local main memory pooled shared area, the RAM resources expanded by multiple CXL cards, and the non-volatile resources of the NVMeSSD array, the external access management module can establish an end-to-end access channel with external access nodes and perform authentication and permission control.
[0052] The specific working mechanism of the external access management module is as follows: The external access management module is used to establish an end-to-end CXL access channel between the external access node and the pooled RAMDisk resource pool through the external access interface module and the CXL interconnection link, and to perform identity authentication and access control. After identity authentication and access control are passed, the access request of the external access node is forwarded to the collaborative scheduling module.
[0053] In this embodiment, the external access management module is deployed across user space and kernel space, and is equipped with a triple protection + high-speed forwarding external access control mechanism. That is, this module addresses the dual pain points of high latency and poor security of existing external access from the two dimensions of transmission link and security control.
[0054] To address the issue of high latency in external access, the module abandons traditional external access paths such as Ethernet forwarding and PCIe switch relay. Instead, it establishes an end-to-end native CXL access channel between the external access node and the pooled RAMDisk resource pool by relying on the hardware-layer external access interface module and the high-speed direct link of CXL. The access requests from the external access node are directly mapped to the CXL protocol layer for transmission and parsing, thereby eliminating intermediate protocol conversion and hardware forwarding links. This keeps the external access latency at a low level close to that of single-machine access, thus fully preserving the high-speed access characteristics of RAMDisk. At the same time, the module adopts a lightweight parsing and forwarding mechanism to handle the access requests from the external access node.
[0055] Specifically, the detailed operation process of the lightweight parsing and forwarding mechanism is as follows: the access requests from external access nodes are simplified and analyzed, identifying only the access target and request type; then, based on the request type (i.e., business type), the business tag of that business type is determined, and the logical RAMDisk in the pooled RAMDisk resource pool is determined based on the business tag, thereby forwarding the access request to the determined logical RAMDisk; in this way, the targeted forwarding of requests can be achieved, ensuring that the request accurately points to the target resource, reducing unnecessary transfers, and based on this, multi-node request congestion can be avoided, thereby further improving the efficiency of external access.
[0056] To address the issue of poor security for external access, this module employs a three-layer progressive security protection mechanism: authentication and access control for external access nodes, and data transmission between external access nodes and the pooled RAMDisk resource pool. Specifically, the three-layer progressive security protection mechanism includes, in sequence: node authentication based on key matching and identity verification; access permission verification of external access nodes for specified RAMDisk resources; and encrypted transmission of interactive data between external access nodes and the pooled RAMDisk resource pool based on encryption algorithms.
[0057] Thus, the first layer of security protection described above is: to use a combination of key matching and identity verification to authenticate the node identity, thereby allowing only preset legitimate nodes to initiate access requests and rejecting the access of illegal nodes.
[0058] The second layer of security protection is access control, which is based on the logical RAMDisks divided by the resource pooling module. Different access permissions (read-only, read-write, or no access) are assigned to different external access nodes to achieve fine-grained isolation of resource access. As mentioned above, the type of access request has been obtained and the corresponding logical RAMDisk has been determined. The resource pooling module has constructed a permission association matrix. Therefore, the access permissions of the external access node (read-only, read-write, or no access) can be determined according to the permission association matrix. Then, it is determined whether it has permission to access the determined logical RAMDisk. If it has permission, a high-speed CXL connection is established with the external node through the external access interface module to negotiate and determine the data encryption method, bandwidth allocation, and other transmission parameters to build a secure and reliable data transmission channel. Subsequently, the external access node forwards requests based on the established data transmission channel to initiate IO read / write or resource request requests.
[0059] Finally, the third layer of security protection is: encrypted data transmission. All request content is encrypted using AES to ensure data security. After receiving the request, the external access management module first completes the decryption and parsing operations, extracts the core information of the request, and forwards it to the collaborative scheduling module. At the same time, the system's response result based on the access request is also encrypted and fed back to the external access node to achieve encrypted data transmission and ensure data transmission security.
[0060] Optionally, the specific working process of the collaborative scheduling module is as follows: The collaborative scheduling module is used to receive access requests from local service nodes or external access nodes, and execute differentiated resource allocation and scheduling strategies according to the source type of the access request and the system load resources. This is to allocate resources in the pooled RAMDisk resource pool for the access request, and forward the access request to the CXL protocol adaptation module after resource allocation. In this embodiment, the system load resources may include, but are not limited to, load indicators, which include the bandwidth utilization rate of each CXL card and the pooled shared area, as well as the number of IO concurrency.
[0061] In practical implementation, the collaborative scheduling module is deployed in the kernel space. It allocates resources based on a differentiated resource allocation and scheduling algorithm that prioritizes local resources, balances external resources, and provides non-volatile backup. This algorithm can work in conjunction with the resource pooling module and the CXL protocol adaptation module to optimize the allocation of logical RAMDisk resources for access requests from local business nodes and external access nodes, in combination with resource status reports (which contain system load resources) and IO priorities. It also enables dynamic expansion and contraction of resources, optimizes the parallel scheduling efficiency of multiple CXL cards, avoids link congestion, and reserves non-volatile backup resources, balancing system access performance and data reliability.
[0062] In practical applications, when this module performs scheduling, it first parses the received access requests (i.e., IO read / write requests and resource request requests) and extracts core information such as business type, logical RAMDisk identifier (the business tag is determined according to the business type, thereby determining the identifier of the corresponding logical RAMDisk), request capacity, IO priority, and node identity. Based on the parsed information, the module distinguishes the request source and business level before entering the hierarchical scheduling process.
[0063] Specifically, the aforementioned differentiated resource allocation and scheduling algorithm is as follows: For access requests from local service nodes, a local priority allocation logic is followed. Resources from the pooled shared area of the pooled RAMDisk resource pool are allocated first to the access request. Secondly, idle resources from the extended memory resources corresponding to multiple CXL cards are allocated to the access request, thereby maximizing the utilization of local low-latency hardware resources to ensure local service performance. For example, binding service types to logical RAMDisks ensures that the resources for each request match the corresponding service requirements. Logical RAMDisk identifiers ensure that each request is directed to the correct resource pool, avoiding resource contention between different services. Furthermore, IO priority information ensures that high-priority tasks can preferentially occupy CXL link bandwidth and memory access cycles (i.e., high-priority requests are allocated resources first), effectively improving the response speed and performance of high-priority tasks.
[0064] Secondly, for access requests from external access nodes, an external balanced allocation logic is followed. That is, the collaborative scheduling module selects the physical resource unit (i.e., the physical resource unit refers to the logical RAMDisk) with the lowest bandwidth utilization and IO concurrency from the pooled RAMDisk resource pool based on the bandwidth utilization and IO concurrency of each CXL card and the pooled shared area, and allocates the selected physical resource unit to the access request of the external access node. In this way, the balanced allocation logic can avoid the performance bottleneck of a single hardware unit and realize the balanced reuse of resources of multiple external nodes.
[0065] Finally, when the resources in the pooled RAMDisk resource pool are insufficient and / or the service corresponding to the access request reaches the specified data processing stage, the non-volatile fallback allocation logic is triggered to schedule the non-volatile resources corresponding to the non-volatile storage device for non-volatile storage of the specified data. Thus, when the non-volatile fallback allocation logic is triggered, NVMe SSD non-volatile resources can be scheduled as a fallback guarantee to write the specified data to the non-volatile storage in real time to eliminate the risk of data loss.
[0066] In this embodiment, specific data can be set according to different business processes, such as model training. Specific data processing can be, but is not limited to, updating model parameters. Of course, the above examples are just examples, and this embodiment is not limited to them.
[0067] Meanwhile, after resource scheduling is completed, the collaborative scheduling module can automatically perform dynamic scaling up and down operations according to changes in business load. That is, when the business load increases, idle CXL cards or redundant main memory resources are scheduled to supplement the logical RAMDisk corresponding to the access request (scheduling can be done according to a preset capacity). When the load decreases, redundant resources are released and returned to the global elastic pool (a fixed capacity of redundant resources can be released, the size of which can be set according to actual use). Finally, the scheduling results are synchronized to the resource pooling module and the CXL protocol adaptation module to complete the resource status update and IO execution preparation.
[0068] In this way, after the collaborative scheduling module completes the resource allocation, it can forward the access request to the CXL protocol adaptation module. The CXL protocol adaptation module can then use the CXL.memory protocol to enable data interaction between the local business node or external access node and the pooled RAMDisk resource pool.
[0069] The working process of the CXL protocol adaptation module is as follows: The CXL protocol adaptation module is also used to, upon receiving an access request, perform data interaction between the local business node or external access node and the pooled RAMDisk resource pool based on the allocated resources and using the CXL.memory protocol, so as to return the corresponding access response result to the local business node or external access node.
[0070] In practical applications, the CXL protocol adaptation module is deployed in the kernel space and executes the innovative CXL three-layer protocol and non-volatile storage collaborative adaptation mechanism proposed in this embodiment. This module can complete the parsing and execution of the CXL.io, CXL.cache, and CXL.memory three-layer protocols, while adapting to the persistent command transmission of NVMe SSD arrays, optimizing the efficiency of parallel communication between multiple CXL cards and non-volatile storage command interaction, and solving the technical defect that the traditional CXL protocol cannot be compatible with non-volatile storage.
[0071] Specifically, for access requests from local business nodes, this module parses them into transmission instructions conforming to the CXL protocol. Then, the CXL protocol adaptation module uses the CXL.cache protocol to cache frequently accessed data (data with an access frequency higher than a preset threshold) from the local business node in the local main memory exclusive area, reducing data duplication and optimizing performance. At the same time, it uses the CXL.memory protocol to complete data interaction between the local business node and the pooled RAMDisk resource pool with the help of the CXL switch within the single machine, ensuring that the access latency is at an extremely low level. After the data transmission is completed, the CXL protocol adaptation module returns the response result to the local business node.
[0072] For access requests from external access nodes, the data interaction between the pooled RAMDisk resource pool and the external access node is completed through the CXL.memory protocol. Data transmission is completed through the CXL interconnect link. At the same time, the CXL.cache protocol is used to cache frequently accessed data (data accessed more than a preset threshold) in the local main memory pool area to further optimize access performance. After the data transmission is completed, the CXL protocol adaptation module returns the response result to the external access management module, which encrypts it and then sends it back to the external access node. After the external node completes its access, it initiates a disconnection request. The external access management module closes the connection, releases temporary resources, and synchronously updates the resource pool status and external access logs to ensure reasonable resource utilization.
[0073] In this way, the CXL.memory protocol can be used to complete data interaction between the node and the pooled RAMDisk resource pool, thereby realizing business processing.
[0074] Furthermore, the CXL protocol adaptation module is also used to maintain cache consistency between the local main memory, the multiple CXL cards, and the external access node through the CXL.cache protocol, perform hierarchical data management according to data access frequency, and map the pooled RAMDisk resource pool to a shared memory domain with a unified linear memory address space through the CXL.memory protocol, so that the local service node and the external access node can access the pooled RAMDisk resource pool through memory addresses.
[0075] When performing hierarchical data management based on data access frequency, the CXL protocol adaptation module is configured to perform the following operations: cache high-frequency access data in the local main memory, migrate low-frequency access data to the non-volatile storage device, and trigger data persistence operation when the cache is cleared.
[0076] It should be noted that high-frequency access data refers to data accessed more frequently than a preset threshold, while low-frequency access data refers to data accessed less frequently than a minimum access frequency. Of course, the preset threshold and minimum access frequency can be set according to actual use, which will not be elaborated here. Meanwhile, the aforementioned data persistence operation is as follows: the data persistence instruction is encapsulated into a standard CXL.memory instruction and directly transmitted to the non-volatile storage device. By utilizing the memory semantics of the CXL.memory protocol, the corresponding data is cleared from the cache and directly encapsulated into a write operation to a specified address in the non-volatile storage device.
[0077] Therefore, the execution process of the CXL protocol adaptation module can be summarized as follows: During execution, this module first uses the CXL.io protocol to enumerate, register, and verify the status of multiple CXL cards, CXL switches, local main memory, and NVMe SSD arrays within a single machine (i.e., to achieve device discovery and initialization). Then, it parses upper-layer IO requests into standard CXL.io transmission commands and distributes them to the corresponding hardware units, while simultaneously feeding back the device status to the resource pooling module in real time for unified management. Subsequently, it uses the CXL.cache protocol to maintain cache consistency between local main memory, each CXL card, and external access nodes (cache consistency refers to establishing a unified cache consistency domain at the hardware level using the CXL.cache protocol, incorporating the local main memory within a single machine, the extended memory on multiple CXL cards, and the cache on external access nodes directly connected via CXL into the same consistency protocol for management, ensuring that any modification to shared data by any node can be detected and updated synchronously by all cache replicas in real time), so that when cache data changes are detected, update commands are broadcast to synchronize all cache replicas.
[0078] Furthermore, during execution, frequently accessed data is cached in local main memory, while infrequently accessed data is synchronized to the NVMe SSD array. When the cache is evicted, the data is automatically persisted to avoid loss. Next, the local main memory pooling area, multi-CXL card extended RAM, and NVMe SSD non-volatile resources are mapped into a shared memory domain with a unified linear address space through the CXL.memory protocol, allowing local business nodes and external access nodes to directly access each other through memory addresses. At the same time, during data persistence operations, the data persistence instructions are encapsulated into standard CXL.memory instructions and directly transmitted to the NVMe SSD array, skipping the traditional storage protocol forwarding link to improve synchronization efficiency. In this way, the address space mapping state can be maintained when the system is powered off, and the mapping relationship can be quickly rebuilt after power-on to restore resource access.
[0079] In addition, the module has built a protocol coordination scheduling engine to coordinate the execution timing of the three protocols CXL.io, CXL.cache, and CXL.memory to avoid protocol conflicts. All operations involving data persistence will first trigger the linkage between the CXL.memory protocol and the NVMe SSD array to achieve high-speed access and non-volatility synchronization guarantee.
[0080] Therefore, based on the aforementioned CXL protocol adaptation module, after completing data interaction based on the CX protocol, the data persistence and fault tolerance module can be used to perform non-persistent data backup. The process is as follows: The data persistence and fault tolerance module is used to persistently back up the data in the pooled RAMDisk resource pool through non-volatile storage devices, and to build inter-card redundancy backups using multiple CXL cards to recover data in the event of a single card failure.
[0081] In this embodiment, the data persistence and fault tolerance module adopts a dual backup + hierarchical fault tolerance mechanism to achieve data persistence. That is, by combining real-time incremental backup and periodic full backup, the business data in the pooled RAMDisk resource pool is written to the non-volatile storage device (i.e., NVMe SSD array).
[0082] Simultaneously, this module constructs a distributed hardware-level redundancy backup system for the extended memory resources of each CXL card. This redundancy backup is not a single data copy, but rather based on a parallel collaborative architecture of multiple CXL cards within a single machine. It evenly divides and redundantly backs up the extended memory resources of a single CXL card at the data block granularity to the pooled shared area of the extended memory regions of other idle CXL cards and the local main memory. The data persistence and fault tolerance module splits the extended memory resources of a single CXL card into data block granularities and redundantly backs up the data in the split resources to the extended memory resources of each idle CXL card and the pooled shared area in the local main memory, while maintaining real-time incremental synchronization between the backup data and the source data (the source data is the original data stored in the extended memory resources of a single CXL card). In this way, the aforementioned redundant backup system can ensure that the business data it carries is not lost and can be retrieved and restored when any CXL card fails.
[0083] Simultaneously, this module can be used to monitor the operating status of the CXL card, the connectivity status of the CXL interconnect links, and the system power supply status in real time, and perform hierarchical fault-tolerant operations based on the operating status of the CXL card, the connectivity status of the CXL interconnect links, and the system power supply status; wherein, when performing hierarchical fault-tolerant operations, the data persistence and fault tolerance module is configured to perform the following operations: (1) When a hardware failure of a single CXL card is detected based on the operating status of the CXL card, the faulty card is masked, and the redundant backup data of the faulty card is called to rebuild the RAMDisk resource corresponding to the faulty card. The collaborative scheduling module is notified to schedule the service request corresponding to the faulty card to the available resource unit in the pooled RAMDisk resource to ensure that the service is not interrupted.
[0084] (2) When an abnormal external access link is detected based on the connectivity status, the abnormal link is disconnected and the current access session and unfinished IO requests corresponding to the abnormal link are saved so that the transmission can be automatically resumed after the abnormal link is restored, thereby avoiding data packet loss.
[0085] (3) When a system power failure is detected based on the system power supply status, the full amount of data in the pooled RAMDisk resource pool is written to the non-volatile storage device through the CXL.memory protocol, and read after power-on to rebuild the resource pool; in this way, zero data loss after power failure can be achieved, and after the system is powered on again, the backup data can be quickly read from the NVMe SSD array to rebuild the complete pooled RAMDisk resource pool and business operation status, thus completely solving the core defects of traditional RAMDisk being highly volatile and having weak fault tolerance.
[0086] Through the aforementioned dual backup and tiered fault tolerance mechanism, this embodiment ensures the stability of the system and the reliability of the data.
[0087] In addition, the aforementioned software layer may also include, but is not limited to, a local RAMDisk driver module.
[0088] The local RAMDisk driver module is used to uniformly simulate the pooled RAMDisk resource pool as a standard local block device I / O interface, so that local business nodes can directly access the pooled RAMDisk resource pool through the standard local block device I / O interface, and to coordinate with the data persistence and fault tolerance module to complete data synchronization and persistence operations.
[0089] It should be noted that the local RAMDisk driver module is deployed in the kernel space and is deeply integrated with the resource pooling module. It adopts a non-volatile resource adaptation design. This driver integrates the pooled RAMDisk resource pool, which combines local main memory, multi-CXL card extended memory, and NVMe SSD non-volatile resources, and uniformly simulates it as a standard local block device IO interface. It is compatible with the general block device IO interface specification and can be adapted and run without modifying the existing upper-layer business software. At the same time, the driver can recognize the read and write characteristics of non-volatile storage and coordinate with the data persistence and fault tolerance modules to complete data synchronization when performing IO operations. This ensures that local business can enjoy high-speed memory-level access while obtaining non-volatile data security.
[0090] Therefore, through the detailed architectural description of the pooled RAMDisk system based on a single machine with multiple CXL cards, this invention pioneers an integrated pooled RAMDisk architecture that deeply integrates a single machine with multiple CXL cards, large-capacity main memory, and NVMe SSD non-volatile storage. Simultaneously, relying on the three-layer protocol of CXL.io, CXL.cache, and CXL.memory, it unifies the pooling of local main memory and extended memory resources from multiple CXL cards, and combines dedicated external access, dynamic collaborative scheduling, and hierarchical redundancy fault tolerance mechanisms to achieve high-speed, secure, and non-volatile shared access to pooled storage resources by local and external nodes. Thus, this invention breaks through existing technical bottlenecks at the architectural and methodological levels, achieving multiple technical goals of high performance, large capacity, scalability, and high reliability.
[0091] In one possible design, the second aspect of this embodiment provides the implementation flow of the system described in the first aspect of the embodiment.
[0092] The implementation process of this system revolves around five core stages: system initialization, resource pooling, local business access, external access node access, and fault tolerance. These stages are interconnected and linked to ensure stable and efficient system operation. Each stage has a clearly defined flowchart covering... Figures 5 to 9 The complete execution logic and key operational details are as follows: See Figure 5 As shown, Figure 5 A system initialization flowchart is provided.
[0093] The system initialization process, as the foundation for system startup and operation, requires the deployment and connection of hardware components. Multiple CXL cards are inserted into the corresponding CXL slots on the motherboard, and the large local main memory, NVMe SSD array, and external access interface module are connected simultaneously. At the same time, external access nodes are deployed and connected to the server via CXL interconnect links, ensuring all hardware components are properly connected. The server is then started, Linux kernel 5.15 or later is installed, and the CXL driver, local RAMDisk driver, and core software modules are loaded and initialized. The CXL protocol adaptation module uses the CXL.io protocol to discover multiple CXL cards, CXL switches, and local main memory within the server, establishing stable communication connections and verifying the working status of each component and the link transmission status, ensuring that multiple CXL cards can achieve parallel collaboration. Based on this, the resource pooling module starts up and receives device status reports, completes the division of the local main memory's local exclusive area and the pooled shared area, integrates the extended RAM resources of multiple CXL cards to build a unified pooled RAMDisk resource pool, and divides logical RAMDisks, sets priorities and access permissions according to preset configurations; the data persistence and fault tolerance module synchronously initializes the NVMe SSD array and backup strategy, the external access management module completes interface initialization, key loading and access listening configuration, and after the collaborative scheduling module initializes the scheduling algorithm parameters, the system officially enters the ready state and can receive various access requests.
[0094] After completing the above initialization process, the resource pooling process can proceed. As one of the core processes of this system, its specific execution process is as follows: See Figure 6 As shown, the resource pooling module first receives complete hardware resource information sent by the CXL protocol adaptation module, including the total capacity of local main memory, poolable capacity, extended RAM capacity of each CXL card, and working status. Then, based on the system's preset minimum quota of local core business memory, the operating system kernel's reserved requirements, and the real-time running load of local core processes, it makes a comprehensive judgment and allocates the capacity that meets the local business operation guarantee and the system's basic memory requirements as the local exclusive area. The remaining unoccupied main memory capacity is then included in the resource pool management as a pooled shared area, realizing the precise division of local core memory requirements and shared resources.
[0095] After completing the local main memory partitioning, the resource pooling module verifies the availability of the extended RAM resources of multiple CXL cards one by one, incorporates all available resources into unified management and assigns unique resource identifiers. Then, through memory mapping technology, combined with the memory addressing and sharing capabilities of the CXL.memory protocol, it maps the physically dispersed local main memory pooled shared area and the extended RAM resources of each CXL card to a unified linear virtual address space. This masks the dispersion of physical resources and hardware differences, completes the logical integration and unified scheduling management of multiple types of memory resources, and builds a single accessible pooled RAMDisk resource pool, ensuring that local services and external nodes can directly access it through a unified address.
[0096] Next, the module will perform virtualization logical partitioning of the resource pool based on preset business type tags, create independent and isolated logical RAMDisks for each type of business, set hierarchical IO priorities according to business importance and real-time requirements, and construct a permission association matrix between nodes and logical RAMDisks to assign differentiated permissions such as read-only, read-write, or access denied to different access nodes. Finally, it will monitor the overall utilization rate of the resource pool, the running status of each logical RAMDisk, and the status of each CXL card extended resource in real time, generate a resource status report, and synchronize it to the collaborative scheduling module to provide reliable data support for dynamic resource scheduling.
[0097] Having described the resource pooling process, the following describes the access process for local business access nodes: See Figure 7 As shown, the execution of the local business access process is based on the resource pooling process. After the local business sends an IO read / write request or a resource request to the resource pooling module through the local RAMDisk driver, the collaborative scheduling module will immediately receive and parse the request content, clarify the request type, the required logical RAMDisk identifier and resource capacity, and determine whether the corresponding resource is available by combining the resource status report synchronized by the resource pooling module.
[0098] If resources are sufficient, the collaborative scheduling module will issue resource allocation instructions to allocate corresponding logical RAMDisk resources to local business nodes. At the same time, it will forward IO requests to the CXL protocol adaptation module, which will parse them into transmission instructions that conform to the CXL protocol. Then, the CXL protocol adaptation module will cache frequently accessed data of local business in the local main memory exclusive area through the CXL.cache protocol to reduce data duplication and optimize performance. At the same time, through the CXL.memory protocol, it will complete the data interaction between local business nodes and the pooled RAMDisk resource pool with the help of the CXL switch in the single machine, ensuring that the access latency is at an extremely low level.
[0099] After the data transmission is completed, the CXL protocol adaptation module will return the response result to the local business node, and at the same time notify the resource pooling module to update the resource usage status. The collaborative scheduling module will dynamically adjust the scheduling strategy according to the changes in resource status.
[0100] If insufficient resources are detected, the module will automatically trigger an expansion operation. The core expansion benchmark is to meet the resource size corresponding to the current request. Idle CXL card expansion resources or redundant resources in the local main memory pool area are scheduled to supplement the corresponding logical RAMDisk. The expansion is completed only when the minimum amount of resources required to meet the current request is reached, and the preset capacity limit threshold of the logical RAMDisk is not exceeded. After the expansion is completed, the resource allocation and data transmission process continues to be executed to ensure that local business access is not affected.
[0101] Therefore, after completing the local business access process, the following describes the access process for external access nodes: The external node access process, as the application-level process of this invention, focuses on enabling external access nodes to efficiently and securely access single-machine pooled RAMDisk resources. Its execution logic has clear security and efficiency characteristics.
[0102] See Figure 9 As shown, the external node first initiates an access request to the single-machine external access interface module via the CXL interconnect link, simultaneously carrying the node's identity key and the identifier of the logical RAMDisk to be accessed. After receiving the request, the external access management module extracts the node's identity information and compares it with a preset key list to complete the identity authentication operation. If the identity authentication fails, access is directly rejected and an error message is returned. After successful authentication, the node's access permissions are further verified to determine whether it has permission to access the specified logical RAMDisk. When the permission verification is successful, the external access management module establishes a high-speed CXL connection with the external node through the external access interface module, negotiates and determines transmission parameters such as data encryption methods and bandwidth allocation, and constructs a secure and reliable data transmission channel. Subsequently, the external access node initiates IO read / write or resource request requests through this channel. All request content is encrypted using AES to ensure data security.
[0103] After receiving a request, the external access management module first performs decryption and parsing operations to extract the core information of the request and forward it to the collaborative scheduling module. The collaborative scheduling module, combined with the resource status report from the resource pooling module, determines resource availability. If resources are sufficient, it allocates the corresponding logical RAMDisk resource and forwards the IO request to the CXL protocol adaptation module. The CXL protocol adaptation module then completes the data interaction between the pooled RAMDisk resource pool and the external node through the CXL.memory protocol. Data transmission is completed through the CXL interconnect link. Simultaneously, the CXL.cache protocol is used to cache frequently accessed data from the external node in the local main memory pooling area to further optimize access performance. After data transmission is completed, the CXL protocol adaptation module returns the response result to the external access management module. After encryption, the response is sent back to the external node. After the external node completes its access, it initiates a disconnection request. The external access management module closes the connection, releases temporary resources, and synchronously updates the resource pool status and external access logs to ensure reasonable resource utilization.
[0104] Having thus completed the explanation of the access process for external access nodes, the following provides a detailed description of the fault tolerance process.
[0105] The fault tolerance process is designed for three common fault scenarios: multiple CXL card failures, external access link failures, and system power outages. Its core objective is to ensure system stability and data reliability. Its execution logic runs through the entire system operation process. The data persistence and fault tolerance module, the external access management module, and the CXL protocol adaptation module work together to complete real-time monitoring, continuously monitoring the working status of multiple CXL cards, the transmission status of internal and external CXL links in a single machine, the system power status, and data integrity, and promptly capturing various faults and anomalies.
[0106] Among them, see Figure 8 As shown, after a fault is detected, the fault type is first accurately determined and classified, and differentiated fault-tolerance strategies are implemented for different fault types: When a fault is detected in a CXL card (such as power failure or hardware damage), the CXL protocol adaptation module immediately notifies the data persistence and fault tolerance module and the collaborative scheduling module. The data persistence and fault tolerance module quickly retrieves the backup data of the extended resources of the faulty CXL card (backed up to other CXL cards or the local main memory pooling area) to complete the rapid recovery of the corresponding resources and ensure the integrity of the logical RAMDisk. The collaborative scheduling module synchronously updates the resource scheduling policy, scheduling the resource requests originally allocated to the faulty CXL card to other available CXL cards or the local main memory pooling area to ensure the normal operation of local and external services. At the same time, a fault alarm is issued to prompt maintenance personnel to replace the faulty CXL card. After the faulty card is replaced, it is automatically connected to the system, and the resource pooling module re-includes its extended resources in the resource pool. The data persistence and fault tolerance module completes the backup data synchronization.
[0107] When an external access link failure is detected, the external access management module immediately disconnects from the corresponding external node, saves the current access status and unfinished requests, and sends a link failure notification to the external node, notifying it to try to reconnect. If the link is restored, the access status is restored after identity authentication and permission verification, and the unfinished requests continue to be executed. If the link cannot be restored, the resources occupied by the node are released and the resource pool status is updated.
[0108] When a system power failure signal is detected, the data persistence and fault tolerance module immediately triggers a full persistence operation, writing all data in the pooled RAMDisk resource pool to the NVMe SSD array via the CXL.memory protocol to ensure no data loss. After the system power failure, all hardware and software modules stop working. After power-on, all components start up, the data persistence and fault tolerance module reads the backup data from the NVMe SSD array, rebuilds the pooled RAMDisk resource pool, and restores the state and data of all logical RAMDisks. The system then re-enters the ready state, ensuring continuous business operation.
[0109] Therefore, as described above, this invention fundamentally solves the five core contradictions of existing technologies through "architectural reconstruction + methodological innovation," achieving five-fold synergy of "high-speed access, ultra-large capacity, non-volatility, multi-node sharing, and high resource utilization." The beneficial effects are significantly innovative and quantifiable, as detailed below: (1) Breakthrough features brought about by architectural innovation: Based on the integrated architecture of "single machine multiple CXL cards + ultra-large main memory + NVMeSSD array", it achieves dual synergy of "high speed and non-volatility" and "single machine and shared" for the first time - the access latency within the single machine is no higher than 1μs, the external access latency is no higher than 1.5μs, and the read and write throughput is no less than 30GB / s, far exceeding the existing technology (latency greater than 5μs, throughput less than 10GB / s); it supports the maximum configuration of 8 2TB CXL cards + 8TB local main memory, with a total capacity of 24TB, which can be expanded as needed; through NVMe SSD array and dual backup mechanism, the system achieves a data loss rate of 0 when the power is off and solves the CXL card failure recovery problem within 100 milliseconds, completely solving the volatility and weak fault tolerance defects of traditional RAMDisk.
[0110] (2) Resource efficiency improvement brought about by innovative resource allocation strategy: Through the "three-layer dynamic resource fusion" and "local priority-external balance" intelligent scheduling algorithm, the resource utilization rate is increased from 60% of the existing technology to 85%, which greatly reduces the hardware deployment cost; the logical partitioning and dynamic expansion / shrinkage functions can adapt to the load changes of different services, avoid resource waste and bottlenecks, and support local services and 16 external nodes to access in parallel, greatly expanding the scenario adaptability, and can be used as a high-speed shared storage core of edge computing center.
[0111] (3) Secure and efficient collaboration brought about by access innovation: Through the design of “CXL direct link + triple security protection”, the external access latency is controlled within 1.5μs, which far exceeds the existing solutions of Ethernet (minimum about 50μs) and PCIe forwarding (minimum about 10μs). At the same time, through identity authentication, access control and AES encrypted transmission, the risk of illegal access and data leakage is completely eliminated, meeting the core data security requirements of high-performance computing, AI model training and other scenarios.
[0112] (4) Deployment flexibility brought by compatibility and innovation: The system is based on the Linux standard kernel, supports standard block device IO interface, and is compatible with existing local business software (such as TensorFlow / PyTorch), without the need to refactor business code; CXL card supports hot-swapping, and can be flexibly added or removed according to capacity requirements to adapt to different scale scenarios; the single-machine deployment architecture reduces the cost by 60% compared with the distributed solution, significantly reduces the maintenance difficulty, and is more suitable for small and medium-sized high-performance computing scenarios and edge computing scenarios.
[0113] (5) Technological foresight brought about by extended innovation: The core architecture of the system supports CXL3.0 and above protocol versions, which can be adapted to future larger capacity local main memory and CXL card expansion. At the same time, it reserves interfaces to be compatible with higher security level encryption algorithms and more intelligent scheduling strategies, which can be continuously upgraded with technological iteration, adapt to the future development trend of high-performance storage, and have long-term technical value.
[0114] Finally, it should be noted that the above description is merely a preferred embodiment of the present invention and is not intended to limit the scope of protection of the present invention. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of the present invention should be included within the scope of protection of the present invention.
Claims
1. A pooled RAMDisk system based on a single machine with multiple CXL cards, characterized in that, include: The hardware layer includes: a single motherboard, local main memory, multiple CXL cards, a CXL switch, a non-volatile storage device, and an external access interface module. The motherboard integrates multiple CXL protocol slots for parallel access of multiple CXL cards; The CXL switch connects to multiple CXL cards, local main memory, and non-volatile storage devices to enable high-speed data exchange between multiple CXL cards, between each CXL card and local main memory, and between each CXL card and non-volatile storage devices. The external access interface module is used to enable external access nodes to establish a direct connection with the hardware layer via the CXL interconnect link; The software layer includes: The CXL protocol adapter module is used to discover and initialize multiple CXL cards, CXL switches, local main memory and non-volatile storage devices through the CXL.io protocol, so as to establish a communication link between the hardware layer and the software layer. The resource pooling module is used to integrate a portion of the main memory in the local main memory, the extended memory resources corresponding to multiple CXL cards, and the non-volatile resources of non-volatile storage devices into a pooled RAMDisk resource pool after completing device discovery and initialization. The external access management module is used to establish an end-to-end CXL access channel between the external access node and the pooled RAMDisk resource pool through the external access interface module and the CXL interconnection link, and to perform identity authentication and access control. After identity authentication and access control are passed, the access request of the external access node is forwarded to the collaborative scheduling module. The collaborative scheduling module is used to receive access requests from local business nodes or external access nodes, and execute differentiated resource allocation and scheduling strategies according to the source type of the access request and the system load resources, so as to allocate resources in the pooled RAMDisk resource pool for the access request, and forward the access request to the CXL protocol adaptation module after allocating resources. The CXL protocol adaptation module is also used to, upon receiving an access request, perform data interaction between the local business node or external access node and the pooled RAMDisk resource pool based on the allocated resources and using the CXL.memory protocol, so as to return the corresponding access response result to the local business node or external access node. The data persistence and fault tolerance module is used to persistently back up the data in the pooled RAMDisk resource pool through non-volatile storage devices, and to build inter-card redundancy backups using multiple CXL cards to recover data in the event of a single card failure.
2. The pooled RAMDisk system based on a single machine with multiple CXL cards according to claim 1, characterized in that, The resource pooling module is used to obtain complete hardware resource information of the system sent by the CXL protocol adaptation module, as well as to obtain preset local specified service resource requirements information; The resource pooling module is used to determine the memory capacity that meets the minimum operating requirements of the local specified service and the basic memory requirements of the system based on the complete hardware resource information and the local specified service resource requirement information. The resource pooling module is used to divide the local main memory into a local exclusive area and a pooled shared area based on the memory capacity, wherein the memory size of the local exclusive area is equal to the memory capacity, and the local exclusive area is used exclusively by the designated local service. The resource pooling module is also used to integrate the pooled shared area, the extended memory resources, and the non-volatile resources into the pooled RAMDisk resource pool.
3. A pooled RAMDisk system based on a single machine with multiple CXL cards according to claim 2, characterized in that, The resource pooling module is used to divide the pooled RAMDisk resource pool into multiple logical RAMDisks through memory virtualization mapping technology, configure capacity quotas and IO priorities for each logical RAMDisk, and establish a permission association matrix between external access nodes and logical RAMDisks so that when an access request is received from an external access node, permission verification of the access request is performed based on the permission association matrix. as well as It is also used to monitor in real time the overall utilization rate of the pooled RAMDisk resource pool, the operating status of each CXL card, the occupancy information of the pooled shared area, and the backup status of the non-volatile storage device, so as to generate a resource status report based on the overall utilization rate, the operating status, the occupancy information, and the backup status and send it to the collaborative scheduling module.
4. A pooled RAMDisk system based on a single machine with multiple CXL cards according to claim 3, characterized in that, When the pooled RAMDisk resource pool is divided into multiple logical RAMDisks using memory virtualization mapping technology, the resource pooling module is configured as follows: Based on business scenarios and performance requirements, different business types are tagged to obtain business tags corresponding to different business types; Using memory virtualization mapping technology, the pooled RAMDisk resource pool is divided into multiple isolated virtual partitions, and an independent logical RAMDisk is allocated to each virtual partition; For each business type, a corresponding logical RAMDisk is assigned, and each business tag is associated and bound to its corresponding logical RAMDisk so that access requests and resource requests for different business types are directed to the logical RAMDisk associated with their respective business tags.
5. A pooled RAMDisk system based on a single machine with multiple CXL cards according to claim 4, characterized in that, The capacity quota for any logical RAMDisk includes: a static base quota and a dynamic elastic quota; The static basic quota is: a fixed capacity allocated to any logical RAMDisk to ensure operation; The dynamic elastic quota is: reserving a global elastic resource pool for any logical RAMDisk, wherein the global elastic resource pool of any logical RAMDisk is set with a corresponding capacity threshold, and the capacity threshold is determined based on the system load and the service type corresponding to any logical RAMDisk; The IO priority of each logical RAMDisk is determined based on a pre-built hierarchical weight table, which is constructed according to the business importance and access real-time requirements of different business types. The permission association matrix assigns a unique identifier to each external access node and limits the access permissions of each external access node to each logical RAMDisk. The access permissions include read-only permissions, read-write permissions, or no access permissions.
6. A pooled RAMDisk system based on a single machine with multiple CXL cards according to claim 2, characterized in that, The system load resources include load metrics, and the load metrics include the bandwidth utilization rate of each CXL card and the pooled shared area, as well as the number of concurrent I / O operations. The differentiated resource allocation and scheduling strategies include: For access requests from local business nodes, the system allocates resources from the pooled shared area in the pooled RAMDisk resource pool to the access request, and also allocates free resources from the extended memory resources corresponding to multiple CXL cards to the access request. For access requests from external access nodes, the collaborative scheduling module is used to select the physical resource unit with the lowest bandwidth utilization and IO concurrency from the pooled RAMDisk resource pool based on the bandwidth utilization and IO concurrency of each CXL card and the pooled shared area, so as to allocate the selected physical resource unit to the access request of the external access node. Accordingly, when the resources in the pooled RAMDisk resource pool are insufficient and / or the service corresponding to the access request reaches the specified data processing, the non-volatile fallback allocation logic is triggered to schedule the non-volatile resources corresponding to the non-volatile storage device for non-volatile storage of the specified data.
7. A pooled RAMDisk system based on a single machine with multiple CXL cards according to claim 1, characterized in that, The CXL protocol adaptation module is also used to maintain cache consistency between the local main memory, the multiple CXL cards and the external access node through the CXL.cache protocol, perform hierarchical data management according to data access frequency, and map the pooled RAMDisk resource pool to a shared memory domain with a unified linear memory address space through the CXL.memory protocol, so that the local service node and the external access node can access the pooled RAMDisk resource pool through memory address; When performing hierarchical data management based on data access frequency, the CXL protocol adaptation module is configured as follows: High-frequency access data is cached in the local main memory, low-frequency access data is migrated to the non-volatile storage device, and data persistence operation is triggered when the cache is cleared; Accordingly, the data persistence operation is as follows: the data persistence instruction is encapsulated into a standard CXL.memory instruction and directly transmitted to the non-volatile storage device, so as to utilize the memory semantics of the CXL.memory protocol to clear the corresponding data from the cache and directly encapsulate it into a write operation to a specified address in the non-volatile storage device.
8. A pooled RAMDisk system based on a single machine with multiple CXL cards according to claim 1, characterized in that, The data persistence and fault tolerance module is used to write business data in the pooled RAMDisk resource pool into the non-volatile storage device through a combination of real-time incremental backup and periodic full backup. The data persistence and fault tolerance module is used to split the extended memory resources of a single CXL card into data block granularities, and redundantly back up the data in the split resources to the extended memory resources of each idle CXL card and the pooled shared area in the local main memory, while maintaining real-time incremental synchronization between the backup data and the source data. as well as Used for real-time monitoring of the CXL card's operating status, the connectivity status of the CXL interconnect links, and the system power supply status, and to perform hierarchical fault-tolerant operations based on these statuses. Specifically, when performing a tiered fault-tolerance operation, the data persistence and fault-tolerance module is configured as follows: When a hardware failure of a single CXL card is detected based on the operating status of the CXL card, the faulty card is masked, and the redundant backup data of the faulty card is called to rebuild the RAMDisk resource corresponding to the faulty card. The collaborative scheduling module is notified to schedule the service request corresponding to the faulty card to the available resource unit in the pooled RAMDisk resource. When an abnormal external access link is detected based on the connectivity status, the abnormal link is disconnected, and the current access session and unfinished IO requests corresponding to the abnormal link are saved so that the transmission can be automatically resumed after the abnormal link is restored. When a system power failure is detected based on the system power supply status, the full amount of data in the pooled RAMDisk resource pool is written to the non-volatile storage device via the CXL.memory protocol, and then read after power-on to rebuild the resource pool.
9. A pooled RAMDisk system based on a single machine with multiple CXL cards according to claim 1, characterized in that, The external access management module uses a lightweight parsing and forwarding mechanism to handle access requests from the external access nodes; The external access management module is also used to perform identity authentication and access control of external access nodes, as well as data transmission between external access nodes and the pooled RAMDisk resource pool, using a three-layer progressive security protection mechanism. The three-layer progressive security protection mechanism includes, in sequence: node identity authentication based on key matching and identity verification, access permission verification of external access nodes to specified RAMDisk resources, and encrypted transmission of interactive data between external access nodes and the pooled RAMDisk resource pool based on encryption algorithms.
10. A pooled RAMDisk system based on a single machine with multiple CXL cards according to claim 1, characterized in that, The software layer also includes: a local RAMDisk driver module; The local RAMDisk driver module is used to uniformly simulate the pooled RAMDisk resource pool as a standard local block device IO interface, so that local business nodes can directly access the pooled RAMDisk resource pool through the standard local block device IO interface, and to coordinate with the data persistence and fault tolerance module to complete data synchronization and persistence operations.