WO2024152473A1 - Cxl memory module and memory storage system - Google Patents
Cxl memory module and memory storage system Download PDFInfo
- Publication number
- WO2024152473A1 WO2024152473A1 PCT/CN2023/092594 CN2023092594W WO2024152473A1 WO 2024152473 A1 WO2024152473 A1 WO 2024152473A1 CN 2023092594 W CN2023092594 W CN 2023092594W WO 2024152473 A1 WO2024152473 A1 WO 2024152473A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- cxl
- host
- memory module
- memory
- controller chip
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Definitions
- the present disclosure relates to but is not limited to storage technology, and in particular to a CXL memory module and a memory storage system.
- CXL is a memory interface protocol based on the PCIe physical layer.
- the CXL protocol allows the computer's memory to be expanded using CXL memory modules.
- the CXL memory module consists of a CXL controller chip and a group of DRAM chips or DIMMs connected using the DDR protocol.
- DRAM digital versatile memory
- DIMMs DDR protocol
- the disclosed embodiment provides a CXL memory module for expanding the memory of a computer, including a controller chip and at least one set of DRAM chips;
- the controller chip is connected to each group of DRAM chips using a serial interface.
- the disclosed embodiment further provides a memory storage system, comprising a host and the CXL memory module described in any one of the embodiments; the host is connected to a CXL interface in the CXL memory module.
- the CXL memory module and memory storage system provided by at least one embodiment of the present disclosure have the following beneficial effects compared with the prior art: Compared with the existing solution in which the controller chip and the DRAM chip are connected using the DDR protocol, a higher transmission speed can be provided.
- FIG1 is a structural block diagram of a CXL memory module provided by an exemplary embodiment of the present disclosure
- FIG2 is a structural block diagram of a CXL memory module provided by another exemplary embodiment of the present disclosure.
- FIG. 3 is a structural block diagram of a memory storage system provided in an example embodiment of the present disclosure.
- the specification may have presented the method and process as a specific sequence of steps. However, to the extent that the method or process does not rely on the specific order of the steps described herein, the method or process should not be limited to the steps in the specific order described. As will be understood by those of ordinary skill in the art, other orders of steps are also possible. Therefore, the specific order of the steps set forth in the specification should not be interpreted as a limitation on the claims. In addition, the claims for the method and process should not be limited to the steps performed in the order written, and those skilled in the art can easily understand that these orders can be changed and still remain within the spirit and scope of the disclosed embodiments.
- FIG. 1 is a structural block diagram of a CXL memory module provided in an exemplary embodiment of the present disclosure
- FIG. 2 is a structural block diagram of a CXL memory module provided in another exemplary embodiment of the present disclosure.
- the CXL memory module may include a controller chip 11 and at least one group of DRAM chips 12, and each group of DRAM chips may include one or more DRAM chips;
- the controller chip is connected to each group of DRAM chips using a serial interface.
- CXL is a memory interface protocol based on the PCIe physical layer.
- the CXL protocol enables the use of CXL memory modules to expand the memory of a host, which may include a CPU chip, a computer, or a computing node.
- the host can be expanded in memory through at least one group of DRAM chips of the CXL memory module.
- the controller chip can include a CXL interface.
- the host can be connected to the CXL memory module through the CXL interface.
- the CXL memory module can expand the memory of the host connected to the CXL interface.
- the host can send instructions to the CXL memory module connected to the host through the cxl.io protocol to apply for memory space.
- the CXL memory module allocates part or all of the space in the DRAM chip as the host's memory expansion capacity.
- the controller chip and the DRAM chip can be connected using a serial interface, which can provide a higher transmission speed compared to the existing solution in which the controller chip and the DRAM chip are connected using the DDR protocol.
- the controller chip may include a serial interface that is connected to a DRAM chip of a serial port.
- the controller chip and the DRAM chip are connected using a serial interface.
- the serial port DRAM chip can be developed by modifying the external interface of the existing DRAM chip, and the external interface of the DRAM chip is changed to a serial interface.
- the serial interface may include a high-speed Serdes serial interface.
- the controller chip and the DRAM chip can be connected using a high-speed serial interface (Serdes), which can provide a higher transmission speed with the same number of pins.
- Serdes high-speed serial interface
- a high-speed Serdes serial interface may perform communication transmission based on a PCIe protocol.
- the high-speed serial interface can select the PCIe protocol for communication transmission.
- the controller chip and the DRAM chip can communicate and transmit based on the PCIe protocol to achieve data exchange or data reading and writing.
- the controller chip may include: a PCIe switch system configured to be turned on when the controller chip performs data exchange according to a memory read/write request sent by a host, to establish a connection between the host and a corresponding group of DRAM chips for data exchange.
- a PCIe switch system configured to be turned on when the controller chip performs data exchange according to a memory read/write request sent by a host, to establish a connection between the host and a corresponding group of DRAM chips for data exchange.
- the controller chip may include a PCIe switch system. Since the host communicates with the CXL memory module based on the CXL protocol, and the controller chip communicates with the DRAM chip based on the PCIe protocol, when data is exchanged, the PCIe switch system is turned on, and the host and one or a group of DRAM chips can be connected through the CXL-PCIe line to perform data exchange.
- the PCIe switch system may be arranged between the CXL interface and the DRAM chip.
- the PCIe switch system may include a multi-way switch. One end of each switch is respectively connected to one or a group of DRAM chips, and the other end may be connected to the CXL interface.
- the controller chip may include: a CXL interface, which may be configured to connect to a host; the host connected to the CXL interface can send a memory read/write request of a CXL instruction to the CXL memory module, that is, the host connected to the CXL interface can send a CXL instruction of a memory read/write request to the CXL memory module;
- the controller chip is configured to select a group of DRAM chips to exchange data with the host according to the address carried in the memory read/write request when receiving the memory read/write request from the host, that is, select a group of DRAM chips to exchange data with the host according to the address.
- the host can be connected to the CXL memory module through the CXL interface.
- the host can send memory read and write requests to the CXL memory module through the cxl.mem protocol.
- the CXL memory module can read corresponding data from the DRAM chip according to the received memory read and write requests, or the CXL memory module can write corresponding data to the DRAM chip according to the received memory read and write requests.
- the controller chip When the controller chip receives a memory read/write request from the host, the memory read/write request includes the target address of the data to be read or the target address of the data to be written.
- the controller chip controls the conduction route of the PCIe switch system according to the address carried in the memory read/write request, selects one or a group of DRAM chips for data exchange, and exchanges data with the host.
- a group of DRAM chips may include multiple silicon chips packaged together, that is, the DRAM chips may be packaged together by multiple silicon chips, and the multiple silicon chips use the same group of high-speed serial port pins for communication.
- DRAM chips can be packaged together from multiple silicon chips, and multiple silicon chips can use the same set of high-speed serial port pins to communicate, which can improve chip performance and reduce costs.
- the same set of high-speed serial port pins used by multiple silicon chips can be connected to a control end of a controller chip; when the controller chip receives a memory read or write request from the host, it selects a group of DRAM chips according to the address, sends corresponding chip select signals, and connects the corresponding silicon chips for data exchange.
- the selection of multiple silicon chips can be achieved through the chip select signal.
- the chip select signal connected to the CXL memory module controller chip can be selected by the controller chip.
- the controller chip When the controller chip receives a memory read or write request from the host, the controller chip selects one or a group of DRAM chips according to the address in the memory read or write request, and selects the corresponding chip select signal, connects the corresponding silicon chip for data exchange, and exchanges data with the host.
- the controller chip may further include: an embedded CPU core configured to select a group of DRAM chips to exchange data with the host according to an address when receiving a memory read or write request from the host.
- the controller chip may include an embedded CPU core, and the embedded CPU core may be used to implement corresponding control or management.
- the embedded CPU core may implement at least one of the following control or management:
- the embedded CPU core can be connected to the CXL interface and can communicate with the host connected to the CXL interface. When receiving a memory read/write request from the host, the embedded CPU core can select a group of DRAM chips according to the address to exchange data with the host.
- the embedded CPU core can select one or a group of DRAM chips according to the address in the memory read and write request, and select (or send) the corresponding chip select signal, connect the corresponding silicon chip for data exchange, and exchange with the host.
- a control terminal of the embedded CPU core can be connected to the PCIe switch system.
- the embedded CPU core can control the conduction of the corresponding switch of the PCIe switch system when exchanging data according to the memory read and write request sent by the host.
- the embedded CPU core can allocate part or all of the space in the DRAM chip as memory expansion capacity for the host.
- the controller chip may further include: an error correction code (ECC) correction system configured to perform ECC error correction on data of the DRAM chip.
- ECC error correction code
- the ECC error correction system can determine whether the data packet read from the DRAM chip is a problem data packet through ECC error correction, thereby improving the reliability of the DRAM chip.
- the implementation principle of ECC error correction is the same as that of the existing solution, and this embodiment will not be limited or elaborated here.
- FIG3 is a structural block diagram of a memory storage system provided in an exemplary embodiment of the present disclosure.
- the memory storage system may include a host 31 and a CXL memory module 32 shown in any embodiment; the host is connected to a CXL interface in the CXL memory module.
- the host can be connected to the CXL memory module through the CXL interface, and the CXL memory module can expand the memory of the host connected to the CXL interface.
- the host can send instructions to the CXL memory module connected to the host to apply for memory space through the cxl.io protocol.
- the CXL memory module allocates part or all of the space in the DRAM chip as the host's memory expansion capacity.
- the host can connect to the CXL memory module through the CXL interface.
- the host can send memory read and write requests to the CXL memory module through the cxl.mem protocol.
- the CXL memory module can read the corresponding data from the DRAM chip according to the received memory read and write requests, or the CXL memory module can read the corresponding data from the DRAM chip according to the received memory read and write requests.
- the storage read and write request writes the corresponding data into the DRAM chip.
- the CXL memory module may include a controller chip and at least one group of DRAM chips.
- the controller chip and the DRAM chips are connected using a serial interface, which can provide a higher transmission speed.
- Such software may be distributed on a computer-readable medium, which may include a computer storage medium (or non-transitory medium) and a communication medium (or temporary medium).
- a computer storage medium includes volatile and non-volatile, removable and non-removable media implemented in any method or technology for storing information (such as computer-readable instructions, data structures, program modules, or other data).
- Computer storage media include, but are not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical disk storage, magnetic cassettes, magnetic tapes, magnetic disk storage or other magnetic storage devices, or any other medium that can be used to store the desired information and can be accessed by a computer.
- communication media typically contain computer-readable instructions, data structures, program modules, or other data in a modulated data signal such as a carrier wave or other transport mechanism, and may include any information delivery media.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Dram (AREA)
Abstract
Description
相关申请的交叉引用CROSS-REFERENCE TO RELATED APPLICATIONS
本公开要求2023年1月19日递交到CNIPA的,申请号为202310058375.2、发明名称为“一种CXL内存模组及内存存储系统”的中国专利申请的优先权,其内容在此通过引用并入。This disclosure claims priority to the Chinese patent application filed with CNIPA on January 19, 2023, with application number 202310058375.2 and invention name “A CXL memory module and memory storage system”, the contents of which are hereby incorporated by reference.
本公开涉及但不仅限于存储技术,尤指一种CXL内存模组及内存存储系统。The present disclosure relates to but is not limited to storage technology, and in particular to a CXL memory module and a memory storage system.
CXL是一种基于PCIe物理层的内存接口协议,CXL协议使得可以用CXL内存模组对计算机进行内存扩充。CXL is a memory interface protocol based on the PCIe physical layer. The CXL protocol allows the computer's memory to be expanded using CXL memory modules.
CXL内存模组是由一个CXL控制器芯片,和一组DRAM芯片或者DIMM条使用DDR协议连接。目前DRAM和CPU的接口,使用的是DDR协议。随着传输速度的要求越来越高,DDR协议已经无法满足。The CXL memory module consists of a CXL controller chip and a group of DRAM chips or DIMMs connected using the DDR protocol. Currently, the interface between DRAM and CPU uses the DDR protocol. As the transmission speed requirements become higher and higher, the DDR protocol can no longer meet the requirements.
发明概述SUMMARY OF THE INVENTION
以下是对本公开详细描述的主题的概述。本概述并非是为了限制权利要求的保护范围。The following is a summary of the subject matter of the detailed description of the present disclosure. This summary is not intended to limit the scope of the claims.
本公开实施例提供了一种CXL内存模组,用于对计算机进行内存扩充,包括控制器芯片和至少一组DRAM芯片;The disclosed embodiment provides a CXL memory module for expanding the memory of a computer, including a controller chip and at least one set of DRAM chips;
所述控制器芯片与每一组DRAM芯片之间使用串行接口进行连接。The controller chip is connected to each group of DRAM chips using a serial interface.
本公开实施例还提供了一种内存存储系统,包括主机和任一实施例所述的CXL内存模组;所述主机与所述的CXL内存模组中的CXL接口连接。The disclosed embodiment further provides a memory storage system, comprising a host and the CXL memory module described in any one of the embodiments; the host is connected to a CXL interface in the CXL memory module.
本公开至少一个实施例提供的CXL内存模组及内存存储系统,与现有技术相比,具有以下有益效果:CXL内存模组的控制器芯片和DRAM芯片之 间使用串行接口进行连接,相较于现有方案中控制器芯片和DRAM芯片之间使用DDR协议连接,可以提供更高的传输速度。The CXL memory module and memory storage system provided by at least one embodiment of the present disclosure have the following beneficial effects compared with the prior art: Compared with the existing solution in which the controller chip and the DRAM chip are connected using the DDR protocol, a higher transmission speed can be provided.
在阅读并理解了附图和详细描述后,可以明白其他方面。Other aspects will be apparent upon reading and understanding the drawings and detailed description.
附图概述BRIEF DESCRIPTION OF THE DRAWINGS
附图用来提供对本公开技术方案的理解,并且构成说明书的一部分,与本公开的实施例一起用于解释本公开的技术方案,并不构成对本公开技术方案的限制。The accompanying drawings are used to provide an understanding of the technical solution of the present disclosure and constitute a part of the specification. Together with the embodiments of the present disclosure, they are used to explain the technical solution of the present disclosure and do not constitute a limitation on the technical solution of the present disclosure.
图1为本公开一示例实施例提供的CXL内存模组的结构框图;FIG1 is a structural block diagram of a CXL memory module provided by an exemplary embodiment of the present disclosure;
图2为本公开另一示例实施例提供的CXL内存模组的结构框图;FIG2 is a structural block diagram of a CXL memory module provided by another exemplary embodiment of the present disclosure;
图3为本公开一示例实施例提供的内存存储系统的结构框图。FIG. 3 is a structural block diagram of a memory storage system provided in an example embodiment of the present disclosure.
详述Details
下文中将结合附图对本公开的实施例进行详细说明。在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互任意组合。The embodiments of the present disclosure will be described in detail below in conjunction with the accompanying drawings. In the absence of conflict, the embodiments and features in the embodiments of the present disclosure can be combined with each other arbitrarily.
本公开描述了多个实施例,但是该描述是示例性的,而不是限制性的,并且对于本领域的普通技术人员来说,在本公开所描述的实施例包含的范围内可以有更多的实施例和实现方案。尽管在附图中示出了许多可能的特征组合,并在具体实施方式中进行了讨论,但是所公开的特征的许多其它组合方式也是可能的。除非特意加以限制的情况以外,任何实施例的任何特征或元件可以与任何其它实施例中的任何其他特征或元件结合使用,或可以替代任何其它实施例中的任何其他特征或元件。The present disclosure describes multiple embodiments, but the description is exemplary rather than restrictive, and it will be apparent to those skilled in the art that there may be more embodiments and implementations within the scope of the embodiments described in the present disclosure. Although many possible combinations of features are shown in the drawings and discussed in the specific embodiments, many other combinations of the disclosed features are possible. Unless specifically limited, any feature or element of any embodiment may be used in combination with any other feature or element in any other embodiment, or may replace any other feature or element in any other embodiment.
本公开包括并设想了与本领域普通技术人员已知的特征和元件的组合。本公开已经公开的实施例、特征和元件也可以与任何常规特征或元件组合,以形成由权利要求限定的方案。任何实施例的任何特征或元件也可以与来自其它方案的特征或元件组合,以形成另一个由权利要求限定的案。因此,应当理解,在本公开中示出和/讨论的任何特征可以单独地或以任何适当的组合来实现。因此,除了根据所附权利要求及其等同替换所做的限制以外,实施 例不受其它限制。此外,可以在所附权利要求的保护范围内进行各种修改和改变。The present disclosure includes and contemplates combinations of features and elements known to those of ordinary skill in the art. The embodiments, features, and elements disclosed in the present disclosure may also be combined with any conventional features or elements to form a scheme defined by the claims. Any features or elements of any embodiment may also be combined with features or elements from other schemes to form another scheme defined by the claims. Therefore, it should be understood that any feature shown and/or discussed in this disclosure may be implemented alone or in any appropriate combination. Therefore, except for the limitations made according to the attached claims and their equivalents, the implementation Furthermore, various modifications and changes may be made within the scope of protection of the appended claims.
此外,在描述具有代表性的实施例时,说明书可能已经将方法和过程呈现为特定的步骤序列。然而,在该方法或过程不依赖于本文所述步骤的特定顺序的程度上,该方法或过程不应限于所述的特定顺序的步骤。如本领域普通技术人员将理解的,其它的步骤顺序也是可能的。因此,说明书中阐述的步骤的特定顺序不应被解释为对权利要求的限制。此外,针对该方法和过程的权利要求不应限于按照所写顺序执行它们的步骤,本领域技术人员可以容易地理解,这些顺序可以变化,并且仍然保持在本公开实施例的精神和范围内。In addition, when describing representative embodiments, the specification may have presented the method and process as a specific sequence of steps. However, to the extent that the method or process does not rely on the specific order of the steps described herein, the method or process should not be limited to the steps in the specific order described. As will be understood by those of ordinary skill in the art, other orders of steps are also possible. Therefore, the specific order of the steps set forth in the specification should not be interpreted as a limitation on the claims. In addition, the claims for the method and process should not be limited to the steps performed in the order written, and those skilled in the art can easily understand that these orders can be changed and still remain within the spirit and scope of the disclosed embodiments.
图1为本公开一示例实施例提供的CXL内存模组的结构框图,图2为本公开另一示例实施例提供的CXL内存模组的结构框图,如图1和图2所示,CXL内存模组可以包括控制器芯片11和至少一组DRAM芯片12,每组DRAM芯片可以包括一个或多个DRAM芯片;FIG. 1 is a structural block diagram of a CXL memory module provided in an exemplary embodiment of the present disclosure, and FIG. 2 is a structural block diagram of a CXL memory module provided in another exemplary embodiment of the present disclosure. As shown in FIG. 1 and FIG. 2 , the CXL memory module may include a controller chip 11 and at least one group of DRAM chips 12, and each group of DRAM chips may include one or more DRAM chips;
控制器芯片与每一组DRAM芯片之间使用串行接口进行连接。The controller chip is connected to each group of DRAM chips using a serial interface.
CXL是一种基于PCIe物理层的内存接口协议。CXL协议使得可以用CXL内存模组对主机进行内存扩充,主机可以包括CPU芯片、计算机或计算节点。CXL is a memory interface protocol based on the PCIe physical layer. The CXL protocol enables the use of CXL memory modules to expand the memory of a host, which may include a CPU chip, a computer, or a computing node.
可通过CXL内存模组的至少一组DRAM芯片对主机进行内存扩充,控制器芯片可以包括CXL接口,主机可通过CXL接口与CXL内存模组连接,CXL内存模组可对CXL接口连接的主机进行内存扩充。在主机需要增加内存容量时,可通过cxl.io协议向主机连接的CXL内存模组发送指令申请内存空间,CXL内存模组分配DRAM芯片中的部分空间或全部空间,作为主机的内存扩充容量。The host can be expanded in memory through at least one group of DRAM chips of the CXL memory module. The controller chip can include a CXL interface. The host can be connected to the CXL memory module through the CXL interface. The CXL memory module can expand the memory of the host connected to the CXL interface. When the host needs to increase the memory capacity, it can send instructions to the CXL memory module connected to the host through the cxl.io protocol to apply for memory space. The CXL memory module allocates part or all of the space in the DRAM chip as the host's memory expansion capacity.
控制器芯片和DRAM芯片之间可以使用串行接口进行连接,相较于现有方案中控制器芯片和DRAM芯片之间使用DDR协议连接,可以提供更高的传输速度。The controller chip and the DRAM chip can be connected using a serial interface, which can provide a higher transmission speed compared to the existing solution in which the controller chip and the DRAM chip are connected using the DDR protocol.
控制器芯片可以包括串行接口,该串行接口与串口的DRAM芯片连接, 实现控制器芯片和DRAM芯片之间使用串行接口进行连接。串口的DRAM芯片可以由现有的DRAM芯片修改外部接口进行开发,将DRAM芯片的外部接口改为串行接口。The controller chip may include a serial interface that is connected to a DRAM chip of a serial port. The controller chip and the DRAM chip are connected using a serial interface. The serial port DRAM chip can be developed by modifying the external interface of the existing DRAM chip, and the external interface of the DRAM chip is changed to a serial interface.
在本公开一示例实施例中,串行接口可以包括高速Serdes串行接口。In an exemplary embodiment of the present disclosure, the serial interface may include a high-speed Serdes serial interface.
控制器芯片和DRAM芯片之间可以使用高速串行接口(Serdes)进行连接,高速串行接口(Serdes)在同样多的管脚下可以提供更高的传输速度。The controller chip and the DRAM chip can be connected using a high-speed serial interface (Serdes), which can provide a higher transmission speed with the same number of pins.
在本公开一示例实施例中,高速Serdes串行接口可以基于PCIe协议进行通信传输。In an exemplary embodiment of the present disclosure, a high-speed Serdes serial interface may perform communication transmission based on a PCIe protocol.
高速串行接口可以选择PCIe协议进行通信传输,控制器芯片和DRAM芯片之间可以基于PCIe协议进行通信传输,实现数据交换或数据的读写等。The high-speed serial interface can select the PCIe protocol for communication transmission. The controller chip and the DRAM chip can communicate and transmit based on the PCIe protocol to achieve data exchange or data reading and writing.
在本公开一示例实施例中,如图2所示,控制器芯片可以包括:PCIe开关系统,被配置为控制器芯片根据主机发送的内存读写请求进行数据交换时导通,将主机和对应一组DRAM芯片建立连接,进行数据交换。In an example embodiment of the present disclosure, as shown in FIG2 , the controller chip may include: a PCIe switch system configured to be turned on when the controller chip performs data exchange according to a memory read/write request sent by a host, to establish a connection between the host and a corresponding group of DRAM chips for data exchange.
在高速串行接口基于PCIe协议进行通信传输的情况下,控制器芯片可以包括一个PCIe开关(switch)系统。由于主机与CXL内存模组基于CXL协议通信,控制器芯片与DRAM芯片基于PCIe协议进行通信,因此,进行数据交换时,PCIe开关系统导通,可以通过CXL-PCIe线路把主机和一个或一组DRAM芯片连接,进行数据交换。In the case where the high-speed serial interface performs communication transmission based on the PCIe protocol, the controller chip may include a PCIe switch system. Since the host communicates with the CXL memory module based on the CXL protocol, and the controller chip communicates with the DRAM chip based on the PCIe protocol, when data is exchanged, the PCIe switch system is turned on, and the host and one or a group of DRAM chips can be connected through the CXL-PCIe line to perform data exchange.
PCIe开关系统可以设置在CXL接口和DRAM芯片之间,PCIe开关系统可以包括多路开关,每一路开关的一端分别连接一个或一组DRAM芯片,另一端均可以连接到CXL接口。The PCIe switch system may be arranged between the CXL interface and the DRAM chip. The PCIe switch system may include a multi-way switch. One end of each switch is respectively connected to one or a group of DRAM chips, and the other end may be connected to the CXL interface.
在本公开一示例实施例中,如图2所示,控制器芯片可以包括:CXL接口,CXL接口可以被配置为连接主机;CXL接口连接的主机能够对CXL内存模组发送CXL指令的内存读写请求,即CXL接口连接的主机能够对CXL内存模组发送内存读写请求的CXL指令;In an example embodiment of the present disclosure, as shown in FIG2 , the controller chip may include: a CXL interface, which may be configured to connect to a host; the host connected to the CXL interface can send a memory read/write request of a CXL instruction to the CXL memory module, that is, the host connected to the CXL interface can send a CXL instruction of a memory read/write request to the CXL memory module;
控制器芯片被配置为收到主机的内存读写请求时,根据内存读写请求中携带的地址选择一组DRAM芯片与主机进行数据交换,即根据地址选择一组DRAM芯片与主机进行数据交换。 The controller chip is configured to select a group of DRAM chips to exchange data with the host according to the address carried in the memory read/write request when receiving the memory read/write request from the host, that is, select a group of DRAM chips to exchange data with the host according to the address.
主机可通过CXL接口与CXL内存模组连接,主机可通过cxl.mem协议向CXL内存模组发送内存读写请求,CXL内存模组可根据接收的内存读写请求从DRAM芯片中读出相应数据,或者,CXL内存模组可根据接收的内存读写请求将相应数据写入DRAM芯片中。The host can be connected to the CXL memory module through the CXL interface. The host can send memory read and write requests to the CXL memory module through the cxl.mem protocol. The CXL memory module can read corresponding data from the DRAM chip according to the received memory read and write requests, or the CXL memory module can write corresponding data to the DRAM chip according to the received memory read and write requests.
在控制器芯片收到主机(host)的内存读写请求时,内存读写请求中包括所要读数据的目标地址或所要写数据的目标地址。控制器芯片根据内存读写请求中携带的地址控制PCIe开关(switch)系统的导通路线,选择一个或一组DRAM芯片进行数据交换,并与主机进行交换。When the controller chip receives a memory read/write request from the host, the memory read/write request includes the target address of the data to be read or the target address of the data to be written. The controller chip controls the conduction route of the PCIe switch system according to the address carried in the memory read/write request, selects one or a group of DRAM chips for data exchange, and exchanges data with the host.
在本公开一示例实施例中,一组DRAM芯片可以包括封装在一起的多个硅片,即DRAM芯片可以由多个硅片封装在一起,多个硅片使用同一组高速串口管脚进行通信。In an exemplary embodiment of the present disclosure, a group of DRAM chips may include multiple silicon chips packaged together, that is, the DRAM chips may be packaged together by multiple silicon chips, and the multiple silicon chips use the same group of high-speed serial port pins for communication.
DRAM芯片可以由多个硅片封装在一起,多个硅片可以使用同一组高速串口管脚进行通信,可以提高芯片性能,降低成本。DRAM chips can be packaged together from multiple silicon chips, and multiple silicon chips can use the same set of high-speed serial port pins to communicate, which can improve chip performance and reduce costs.
在本公开一示例实施例中,多个硅片使用的同一组高速串口管脚可以连接到控制器芯片的一个控制端;控制器芯片收到主机的内存读写请求时,根据地址选择一组DRAM芯片,发送相应的片选信号,连通相应的硅片进行数据交换。In an example embodiment of the present disclosure, the same set of high-speed serial port pins used by multiple silicon chips can be connected to a control end of a controller chip; when the controller chip receives a memory read or write request from the host, it selects a group of DRAM chips according to the address, sends corresponding chip select signals, and connects the corresponding silicon chips for data exchange.
DRAM芯片由多个硅片封装在一起时,可通过片选(chip select)信号实现多个硅片的选择,连接到CXL内存模组控制器芯片的片选信号,可由控制器芯片进行选择。When a DRAM chip is packaged together with multiple silicon chips, the selection of multiple silicon chips can be achieved through the chip select signal. The chip select signal connected to the CXL memory module controller chip can be selected by the controller chip.
在控制器芯片收到主机的内存读写请求时,控制器芯片根据内存读写请求中的地址选择一个或一组DRAM芯片,以及选择相应的片选信号,连通相应的硅片进行数据交换,并与主机进行交换。When the controller chip receives a memory read or write request from the host, the controller chip selects one or a group of DRAM chips according to the address in the memory read or write request, and selects the corresponding chip select signal, connects the corresponding silicon chip for data exchange, and exchanges data with the host.
在本公开一示例实施例中,如图2所示,控制器芯片还可以包括:嵌入式CPU内核,被配置为收到主机的内存读写请求时,根据地址选择一组DRAM芯片与主机进行数据交换。In an example embodiment of the present disclosure, as shown in FIG2 , the controller chip may further include: an embedded CPU core configured to select a group of DRAM chips to exchange data with the host according to an address when receiving a memory read or write request from the host.
控制器芯片可以包括嵌入式CPU内核,可通过嵌入式CPU内核实现相应的控制或管理。嵌入式CPU内核可实现以下至少一种控制或管理: The controller chip may include an embedded CPU core, and the embedded CPU core may be used to implement corresponding control or management. The embedded CPU core may implement at least one of the following control or management:
嵌入式CPU内核可与CXL接口连接,可与CXL接口连接的主机进行通信。嵌入式CPU内核可在收到主机的内存读写请求时,根据地址选择一组DRAM芯片与主机进行数据交换。The embedded CPU core can be connected to the CXL interface and can communicate with the host connected to the CXL interface. When receiving a memory read/write request from the host, the embedded CPU core can select a group of DRAM chips according to the address to exchange data with the host.
嵌入式CPU内核可根据内存读写请求中的地址选择一个或一组DRAM芯片,以及选择(或发送)相应的片选信号,连通相应的硅片进行数据交换,并与主机进行交换。The embedded CPU core can select one or a group of DRAM chips according to the address in the memory read and write request, and select (or send) the corresponding chip select signal, connect the corresponding silicon chip for data exchange, and exchange with the host.
嵌入式CPU内核的一个控制端可与PCIe开关系统连接,嵌入式CPU内核可根据主机发送的内存读写请求进行数据交换时,控制PCIe开关系统相应开关的导通。A control terminal of the embedded CPU core can be connected to the PCIe switch system. The embedded CPU core can control the conduction of the corresponding switch of the PCIe switch system when exchanging data according to the memory read and write request sent by the host.
嵌入式CPU内核可分配DRAM芯片中的部分空间或全部空间,作为主机的内存扩充容量。The embedded CPU core can allocate part or all of the space in the DRAM chip as memory expansion capacity for the host.
在本公开一示例实施例中,如图2所示,控制器芯片还可以包括:误差校正码(Error Correcting Code,简称ECC)纠错系统,被设置为对DRAM芯片的数据进行ECC纠错。In an example embodiment of the present disclosure, as shown in FIG2 , the controller chip may further include: an error correction code (ECC) correction system configured to perform ECC error correction on data of the DRAM chip.
在收到主机的内存读写请求从DRAM芯片中读出数据包时,ECC纠错系统可通过ECC纠错确定从DRAM芯片中读出的数据包是否为问题数据包,提高DRAM芯片的可靠性。ECC纠错的实现原理与现有方案相同,本实施例在此不进行限定和赘述。When receiving a memory read/write request from the host and reading a data packet from the DRAM chip, the ECC error correction system can determine whether the data packet read from the DRAM chip is a problem data packet through ECC error correction, thereby improving the reliability of the DRAM chip. The implementation principle of ECC error correction is the same as that of the existing solution, and this embodiment will not be limited or elaborated here.
图3为本公开一示例实施例提供的内存存储系统的结构框图,如图3所示,内存存储系统可以包括主机31和任一实施例所示的CXL内存模组32;主机与CXL内存模组中的CXL接口连接。FIG3 is a structural block diagram of a memory storage system provided in an exemplary embodiment of the present disclosure. As shown in FIG3 , the memory storage system may include a host 31 and a CXL memory module 32 shown in any embodiment; the host is connected to a CXL interface in the CXL memory module.
主机可通过CXL接口与CXL内存模组连接,CXL内存模组可对CXL接口连接的主机进行内存扩充。在主机需要增加内存容量时,可通过cxl.io协议向主机连接的CXL内存模组发送指令申请内存空间,CXL内存模组分配DRAM芯片中的部分空间或全部空间,作为主机的内存扩充容量。The host can be connected to the CXL memory module through the CXL interface, and the CXL memory module can expand the memory of the host connected to the CXL interface. When the host needs to increase the memory capacity, it can send instructions to the CXL memory module connected to the host to apply for memory space through the cxl.io protocol. The CXL memory module allocates part or all of the space in the DRAM chip as the host's memory expansion capacity.
主机可通过CXL接口与CXL内存模组连接,主机可通过cxl.mem协议向CXL内存模组发送内存读写请求,CXL内存模组可根据接收的内存读写请求从DRAM芯片中读出相应数据,或者,CXL内存模组可根据接收的内 存读写请求将相应数据写入DRAM芯片中。The host can connect to the CXL memory module through the CXL interface. The host can send memory read and write requests to the CXL memory module through the cxl.mem protocol. The CXL memory module can read the corresponding data from the DRAM chip according to the received memory read and write requests, or the CXL memory module can read the corresponding data from the DRAM chip according to the received memory read and write requests. The storage read and write request writes the corresponding data into the DRAM chip.
CXL内存模组可以包括控制器芯片和至少一组DRAM芯片,控制器芯片和DRAM芯片之间使用串行接口进行连接,可以提供更高的传输速度。The CXL memory module may include a controller chip and at least one group of DRAM chips. The controller chip and the DRAM chips are connected using a serial interface, which can provide a higher transmission speed.
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些组件或所有组件可以被实施为由处理器,如数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。 It will be appreciated by those skilled in the art that all or some of the steps, systems, and functional modules/units in the methods disclosed above may be implemented as software, firmware, hardware, and appropriate combinations thereof. In hardware implementations, the division between the functional modules/units mentioned in the above description does not necessarily correspond to the division of physical components; for example, a physical component may have multiple functions, or a function or step may be performed by several physical components in cooperation. Some or all components may be implemented as software executed by a processor, such as a digital signal processor or a microprocessor, or implemented as hardware, or implemented as an integrated circuit, such as an application-specific integrated circuit. Such software may be distributed on a computer-readable medium, which may include a computer storage medium (or non-transitory medium) and a communication medium (or temporary medium). As known to those skilled in the art, the term computer storage medium includes volatile and non-volatile, removable and non-removable media implemented in any method or technology for storing information (such as computer-readable instructions, data structures, program modules, or other data). Computer storage media include, but are not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical disk storage, magnetic cassettes, magnetic tapes, magnetic disk storage or other magnetic storage devices, or any other medium that can be used to store the desired information and can be accessed by a computer. In addition, it is well known to those of ordinary skill in the art that communication media typically contain computer-readable instructions, data structures, program modules, or other data in a modulated data signal such as a carrier wave or other transport mechanism, and may include any information delivery media.
Claims (10)
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202310058375.2 | 2023-01-19 | ||
| CN202310058375.2A CN115982078A (en) | 2023-01-19 | 2023-01-19 | CXL memory module and memory storage system |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2024152473A1 true WO2024152473A1 (en) | 2024-07-25 |
Family
ID=85976014
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/CN2023/092594 Pending WO2024152473A1 (en) | 2023-01-19 | 2023-05-06 | Cxl memory module and memory storage system |
Country Status (2)
| Country | Link |
|---|---|
| CN (1) | CN115982078A (en) |
| WO (1) | WO2024152473A1 (en) |
Families Citing this family (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN117435535A (en) * | 2022-07-13 | 2024-01-23 | 北京超弦存储器研究院 | Storage system, main control chip, data storage method and data reading method |
| CN115982078A (en) * | 2023-01-19 | 2023-04-18 | 北京超弦存储器研究院 | CXL memory module and memory storage system |
| CN116501681B (en) * | 2023-06-28 | 2023-09-29 | 苏州浪潮智能科技有限公司 | CXL data transmission board card and method for controlling data transmission |
| CN117785757B (en) * | 2024-02-23 | 2024-05-28 | 北京超弦存储器研究院 | CXL memory module, memory page exchange method, chip, medium and system |
| CN117827548B (en) * | 2024-03-06 | 2024-05-24 | 北京超弦存储器研究院 | A data backup method, CXL controller, CXL module and storage medium |
| CN117950921B (en) * | 2024-03-20 | 2024-07-23 | 新华三信息技术有限公司 | Memory failure processing method, memory expansion control device, electronic device and medium |
| CN118132274B (en) * | 2024-04-30 | 2024-08-16 | 苏州元脑智能科技有限公司 | Memory allocation method, computer equipment, storage medium and product |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN108736897A (en) * | 2018-04-26 | 2018-11-02 | 深圳市国微电子有限公司 | Parallel-to-serial converter and device applied to high-speed interface physical chip |
| CN113742259A (en) * | 2020-05-28 | 2021-12-03 | 三星电子株式会社 | System and method for managing memory resources |
| CN114242131A (en) * | 2020-09-09 | 2022-03-25 | 瑞昱半导体股份有限公司 | Chip and related chip system |
| WO2022143434A1 (en) * | 2020-12-30 | 2022-07-07 | 华为技术有限公司 | Data storage and computer device |
| CN115982078A (en) * | 2023-01-19 | 2023-04-18 | 北京超弦存储器研究院 | CXL memory module and memory storage system |
Family Cites Families (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN115586964A (en) * | 2022-09-30 | 2023-01-10 | 苏州浪潮智能科技有限公司 | Resource sharing device, resource management device, and resource management method |
-
2023
- 2023-01-19 CN CN202310058375.2A patent/CN115982078A/en active Pending
- 2023-05-06 WO PCT/CN2023/092594 patent/WO2024152473A1/en active Pending
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN108736897A (en) * | 2018-04-26 | 2018-11-02 | 深圳市国微电子有限公司 | Parallel-to-serial converter and device applied to high-speed interface physical chip |
| CN113742259A (en) * | 2020-05-28 | 2021-12-03 | 三星电子株式会社 | System and method for managing memory resources |
| CN114242131A (en) * | 2020-09-09 | 2022-03-25 | 瑞昱半导体股份有限公司 | Chip and related chip system |
| WO2022143434A1 (en) * | 2020-12-30 | 2022-07-07 | 华为技术有限公司 | Data storage and computer device |
| CN115982078A (en) * | 2023-01-19 | 2023-04-18 | 北京超弦存储器研究院 | CXL memory module and memory storage system |
Also Published As
| Publication number | Publication date |
|---|---|
| CN115982078A (en) | 2023-04-18 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| WO2024152473A1 (en) | Cxl memory module and memory storage system | |
| CN110825670B (en) | Managed exchange between host and solid-state drive (SSD) based on NVMe protocol | |
| US7028106B2 (en) | Remapping routing information entries in an expander | |
| KR102387968B1 (en) | Data storage device and operating method of the same | |
| US10372340B2 (en) | Data distribution method in storage system, distribution apparatus, and storage system | |
| CN116431530B (en) | CXL memory module, memory processing method and computer system | |
| CN112835817A (en) | Method and system for data migration | |
| US8924606B2 (en) | Storage system and data transfer control method | |
| US11556279B2 (en) | System device, and method for memory interface including reconfigurable channel | |
| US20100131734A1 (en) | System and method for optimal dynamic resource allocation in a storage system | |
| KR20130032772A (en) | Hybrid memory device, computer system including the same, and method of reading and writing data in the hybrid memory device | |
| JP6348928B2 (en) | Method and storage device for storing data in persistent storage | |
| US8402195B2 (en) | Storage system mounted with plurality of processors | |
| CN119166566B (en) | Storage controller and electronic system | |
| CN117389481B (en) | Method for realizing XOR acceleration by solid state disk | |
| WO2020024113A1 (en) | Memory interleaving method and device | |
| WO2018039855A1 (en) | Memory device, memory controller, data caching device, and computer system | |
| US7418545B2 (en) | Integrated circuit capable of persistent reservations | |
| US11442882B2 (en) | Bridge circuit for providing conversion between PCIe-NVMe protocol and NVMe-TCP protocol and computer system using the same | |
| JP2011509443A (en) | Method, system, and apparatus for using persistent information unit pacing protocols in Fiber Channel communications | |
| US10459842B1 (en) | Data storage system with configurable prefetch buffers | |
| CN120164514B (en) | Memory controller and three-dimensional stacked memory | |
| US20250053336A1 (en) | Memory device and computing system including the same | |
| US20230359394A1 (en) | Operating method of memory device for managing map data of each of plurality of storage devices, computing system including memory device, and operating method of computing system | |
| US20240264946A1 (en) | Memory controller, method of driving memory controller, and memory system |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 23916946 Country of ref document: EP Kind code of ref document: A1 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |