US 12,235,766 B2
CXL memory module, memory data swap method and computer system
Jin Dai, Beijing (CN)
Assigned to BEIJING SUPERSTRING ACADEMY OF MEMORY TECHNOLOGY, Beijing (CN)
Filed by BEIJING SUPERSTRING ACADEMY OF MEMORY TECHNOLOGY, Beijing (CN)
Filed on Mar. 19, 2024, as Appl. No. 18/609,230.
Application 18/609,230 is a continuation of application No. PCT/CN2023/097840, filed on Jun. 1, 2023.
Claims priority of application No. 202310266121.X (CN), filed on Mar. 17, 2023.
Prior Publication US 2024/0311305 A1, Sep. 19, 2024
Int. Cl. G06F 12/0817 (2016.01); G06F 3/06 (2006.01)
CPC G06F 12/0828 (2013.01) [G06F 3/0604 (2013.01); G06F 3/0655 (2013.01); G06F 3/0679 (2013.01); G06F 2212/621 (2013.01)] 26 Claims
OG exemplary drawing
 
1. A CXL memory module, comprising a flash memory chip, a memory chip, and a controller chip connected to the flash memory chip and the memory chip, wherein the controller chip is configured to be able to swap a part of data in the memory chip into the flash memory chip when there is insufficient memory space in the memory chip;
wherein the controller chip is configured to perform data swap by the following: when the controller chip receives a memory request instruction sent by an external device and/or the controller chip manages a memory, the controller chip determines that there is insufficient allocatable memory in the memory chip, initiates data swap, and swaps a part of the data in the memory chip into a free area of the flash memory chip; wherein the controller chip runs a virtual memory, and maintains a correspondence of a logical address, a memory address and a flash memory address of data in a logical address-physical address translation table;
or
the controller chip is configured to perform data swap by the following: the controller chip receives a swap-out instruction which is sent by an external device when the external device determines there is insufficient memory space in the memory chip, wherein the swap-out instruction carries an address of a first memory page in which data is stored, the controller chip selects a free first flash memory page from the flash memory chip, swaps the data in the first memory page into the first flash memory page, and returns the address of the first flash memory page to the external device;
or,
the controller chip is configured to perform data swap by the following: the controller chip receives a swap-out instruction which is sent by an external device when the external device determines there is insufficient memory space in the memory chip, wherein the swap-out instruction carries an address of a first memory page in which data is stored and an address of a free first flash memory page, the controller chip swaps the data in the first memory page into the first flash memory page, and returns a swap-out completion response to the external device;
wherein the memory request instruction carries a read-write attribute for each requested memory page, and the read-write attribute is a read-only page or a read-write page; the controller chip, when initiating data swap, swaps only data in a read-only page in the memory chip, or preferentially swaps the data in the read-only page in the memory chip; or, the controller chip is further configured to count usage time of memory pages in the memory chip; the controller chip, when initiating data swap, swaps only data of memory pages which will not be used in a preset period of time.