CN117827548A - 一种数据备份方法、cxl控制器、cxl模组和存储介质 - Google Patents
一种数据备份方法、cxl控制器、cxl模组和存储介质 Download PDFInfo
- Publication number
- CN117827548A CN117827548A CN202410254913.XA CN202410254913A CN117827548A CN 117827548 A CN117827548 A CN 117827548A CN 202410254913 A CN202410254913 A CN 202410254913A CN 117827548 A CN117827548 A CN 117827548A
- Authority
- CN
- China
- Prior art keywords
- data
- read
- readable
- cxl
- volatile memory
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 50
- 230000015654 memory Effects 0.000 claims abstract description 367
- 238000012986 modification Methods 0.000 claims description 14
- 230000004048 modification Effects 0.000 claims description 14
- 230000000737 periodic effect Effects 0.000 claims description 6
- 238000004590 computer program Methods 0.000 claims description 5
- 238000011084 recovery Methods 0.000 claims description 4
- 238000011010 flushing procedure Methods 0.000 claims 1
- 239000003990 capacitor Substances 0.000 abstract description 11
- 238000005516 engineering process Methods 0.000 abstract description 10
- 238000013500 data storage Methods 0.000 abstract description 3
- 230000008569 process Effects 0.000 description 8
- 230000006870 function Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000002159 abnormal effect Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 2
- 230000000903 blocking effect Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002688 persistence Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
- 239000013598 vector Substances 0.000 description 1
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
一种数据备份方法、CXL控制器、CXL模组和存储介质,涉及数据存储技术,所述CXL控制器被配置为将可读写数据存储在所述易失性存储器;将只读数据存储在所述非易失性存储器,或者存储在所述易失性存储器和所述非易失性存储器;及,在需要对所述易失性存储器中的数据进行备份的情况下,将存储在所述易失性存储器中的可读写数据刷入到所述非易失性存储器进行备份。本公开实施例只需将易失性存储器中的可读写数据刷入到非易失性存储器进行备份,需要使用的内置电容的容量也变小,在实现数据备份的同时降低了设备成本。
Description
技术领域
本公开涉及但不仅限于数据存储技术,尤指一种数据备份方法、CXL控制器、CXL模组和存储介质。
背景技术
CXL (Compute Express Link) 技术是一种新型的高速互联技术,支持高带宽、低延迟数据传输、具有更好的灵活性和可扩展性、可以实现混合使用不同类型的硬件设备,CXL技术的应用场景非常广泛,其中包括数据中心、人工智能和处理器互联等领域,在数据中心领域,CXL技术可以将不同的计算和存储资源进行互联,提高系统性能和效率;在人工智能领域,CXL技术可以使GPU和FPGA等加速器更好地与主处理器进行协作,提高AI模型训练和推理的速度;在处理器互联方面,CXL技术可以实现不同厂商的处理器之间的互联,提高系统的整体性能和灵活性。
发明内容
本公开实施例提供了一种CXL模组,包括CXL控制器、及与所述CXL控制器连接的易失性存储器和非易失性存储器,所述CXL控制器被配置为执行以下处理:
将可读写数据存储在所述易失性存储器;将只读数据存储在所述非易失性存储器,或者存储在所述易失性存储器和所述非易失性存储器;
在需要对所述易失性存储器中的数据进行备份的情况下,将存储在所述易失性存储器中的可读写数据刷入到所述非易失性存储器进行备份。
本公开实施例还提供了一种数据备份方法,应用于CXL模组中的CXL控制器,所述CXL控制器与所述CXL模组中的易失性存储器和非易失性存储器连接,所述数据备份方法包括:
将可读写数据存储在所述易失性存储器;将只读数据存储在所述非易失性存储器,或者存储在所述易失性存储器和所述非易失性存储器;
在需要对所述易失性存储器中的数据进行备份的情况下,将存储在所述易失性存储器中的可读写数据刷入到所述非易失性存储器进行备份;所述需要对所述易失性存储器中的数据进行备份的情况包括宕机、关机和周期性备份中的至少一种。
本公开实施例还提供了一种CXL模组中的CXL控制器,包括处理器、用于连接主机的CXL接口、用于连接易失性存储器的第一存储接口、用于连接非易失性存储器的第二存储接口,及内置电容,其中:所述处理器被配置为执行本公开任一实施例所述的数据备份方法。
本公开实施例还提供了一种非瞬态计算机存储介质,保存有计算机程序,所述计算机程序被处理器执行时,实现本公开任一实施例所述的数据备份方法。
本公开上述实施例CXL模组存储数据时,将可读写数据存储在易失性存储器,将只读数据存储在非易失性存储器;在需要对所述易失性存储器中的数据进行备份的情况下如宕机时,只需将易失性存储器中的可读写数据刷入到非易失性存储器进行备份,只读数据已存储在非易失性存储器中无需再刷入,使得需要备份的数据量减少,备份数据时需要使用的内置电容的容量也变小,因而在实现数据备份的同时降低了设备成本。
本公开的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本公开而了解。本公开的其他优点可通过在说明书以及附图中所描述的方案来实现和获得。
附图说明
附图用来提供对本公开技术方案的理解,并且构成说明书的一部分,与本公开的实施例一起用于解释本公开的技术方案,并不构成对本公开技术方案的限制。
图1为本公开一实施例包括主机和CXL模组的系统的架构图;
图2为本公开一实施例CXL模组的结构示意图;
图3为本公开一实施例数据备份方法的流程图;
图4为本公开一实施例CXL控制器的结构示意图。
具体实施方式
本公开描述了多个实施例,但是该描述是示例性的,而不是限制性的,并且对于本领域的普通技术人员来说显而易见的是,在本公开所描述的实施例包含的范围内可以有更多的实施例和实现方案。尽管在附图中示出了许多可能的特征组合,并在具体实施方式中进行了讨论,但是所公开的特征的许多其它组合方式也是可能的。除非特意加以限制的情况以外,任何实施例的任何特征或元件可以与任何其它实施例中的任何其他特征或元件结合使用,或可以替代任何其它实施例中的任何其他特征或元件。
本公开包括并设想了与本领域普通技术人员已知的特征和元件的组合。本公开已经公开的实施例、特征和元件也可以与任何常规特征或元件组合,以形成受本公开保护的发明方案。任何实施例的任何特征或元件也可以与来自其它发明方案的特征或元件组合,以形成另一种受本公开保护的发明方案。因此,应当理解,在本公开中示出和/或讨论的任何特征可以单独地或以任何适当的组合来实现。因此,除了根据所附权利要求及其等同替换所做的限制以外,实施例不受其它限制。此外,可以在所附权利要求的保护范围内进行各种修改和改变。
此外,在描述具有代表性的实施例时,说明书可能已经将方法和/或过程呈现为特定的步骤序列。然而,在该方法或过程不依赖于本文所述步骤的特定顺序的程度上,该方法或过程不应限于所述的特定顺序的步骤。如本领域普通技术人员将理解的,其它的步骤顺序也是可能的。因此,说明书中阐述的步骤的特定顺序不应被解释为对权利要求的限制。此外,针对该方法和/或过程的权利要求不应限于按照所写顺序执行它们的步骤,本领域技术人员可以容易地理解,这些顺序可以变化,并且仍然保持在本公开实施例的精神和范围内。
CXL 是基于PCIe 5.0 发展而来,运行在PCIe物理层之上,依据访问内存的特点,CXL分为三种子协议: 1) CXL.io 2) CXL.mem 3) CXL.cache。相应地,CXL设备(也称为CXL模组)中分为第一类型的CXL设备(Type1 CXL device,简称Type1 设备)、第二类型的CXL设备(Type2 CXL device,简称Type2 设备)和第三类型的CXL设备(Type3 CXL device,简称Type3 设备)。其中Type2设备和Type3设备可以设置多个设备内存,这些设备内存可以是DDR、HBM(High Bandwidth Memory,高带宽存储器)等类型。以Type2 设备为例,Type2 设备可以是实际应用场景中的加速卡(如GPU),由Host 提供数据,加速卡负责计算。HDM模型允许主机直接管理和控制Type2 设备上的存储空间,根据应用需求动态分配和配置设备内存,并直接进行读写操作。CXL Type3 设备可以为Host 提供大容量DRAM ,也可以支持持久化介质(即非易失性介质,如闪存芯片)。
以设有DRAM芯片和闪存芯片的CXL模组(如CXL Type3 设备,也可以是CXL Type2设备)为例,在需要对所述易失性存储器中的数据进行备份的情况下,例如因异常而宕机的场景中,DRAM芯片中的数据可以通过内置电容刷入到闪存芯片进行备份,以在系统重新上电后恢复数据。但是,CXL模组中的DRAM芯片容量越大,需要备份的数据也越多,就需要设置更大容量的内置电容来实现备份功能。而受限于设备成本,CXL模组中的内置电容不能过大。如何在实现数据备份的同时减少CXL模组的成本成为行业挑战。
为此,本公开一实施例提供了一种CXL模组1,如图1所示,包括CXL控制器11、与所述CXL控制器11连接的易失性存储器12和非易失性存储器13,该CXL模组1与主机2通过CXL接口连接,CXL控制器11连接的易失性存储器12可以有一个或多个,连接的非易失性存储器13也可以有一个或多个。因为涉及到数据存储,该CXL接口支持CXL.mem协议和CXL.cache协议。
其中,所述CXL控制器11被配置为执行以下处理:
将可读写数据存储在所述易失性存储器;将只读数据存储在所述非易失性存储器,或者存储在所述易失性存储器和所述非易失性存储器;
在需要对所述易失性存储器中的数据进行备份的情况下,将存储在所述易失性存储器中的可读写数据刷入到所述非易失性存储器进行备份。
在主机需要存储到CXL模组的数据中,有些数据在存储后只能读取,不能通过写入进行修改,这些数据称之为只读数据,或者说这些数据的读写属性为只读;有些数据在存储后既可以读取,也可以通过写入新的数据对其进行修改,这些数据称之为可读写数据,或者说这些数据的读写属性为可读写。
本公开实施例CXL模组存储数据时,将可读写数据存储在易失性存储器,将只读数据存储在非易失性存储器;在需要对所述易失性存储器中的数据进行备份的情况下(如宕机时),主机已经不工作,CXL 控制器只需将易失性存储器中的可读写数据刷入到非易失性存储器(或者说搬移到非易失性存储器)进行备份,只读数据已存储在非易失性存储器中无需再刷入,使得需要备份的数据量减少,备份数据时需要使用的内置电容的容量也变小,因而在实现数据备份的同时降低了设备成本。
本公开一示例性的实施例中,所述易失性存储器包括DRAM芯片12’,所述非易失性存储器包括闪存控制器131及与所述闪存控制器连接的一个或多个闪存芯片133,如图2所示。CXL控制器可以采用CXL芯片11’,CXL芯片11’与DRAM芯片12’、闪存控制器131之间可以采用常用的并行或串行存储接口,也可以采用CXL接口。但本公开不局限于此,如CXL模组中的易失性存储器和非易失性存储器均也可以采用其他类型的存储器或多种类型存储器的组合。
本公开一示例性的实施例中,所述需要对所述易失性存储器中的数据进行备份的情况,包括宕机、关机和周期性备份中的至少一种。在一示例中,所述易失性存储器被配置为系统的内存,CXL模组检测到宕机时对易失性存储器的数据(即对内存数据)进行备份;系统正常关机时,CXL模组可以不对所述易失性存储器中的数据进行备份(但在其他应用场景可以备份,视具体应用场景而定)。本示例中,CXL模组可以根据主机的指令,使能或去使能对所述易失性存储器中的数据进行周期性备份的功能,备份周期也可以由主机配置。但在其他示例中,CXL模组也可以自行对所述易失性存储器中的数据进行周期性备份,或者不对所述易失性存储器中的数据进行周期性备份。
本公开一示例性的实施例中,所述CXL模组暴露给主机的属性为CXL易失性存储设备;所述CXL控制器将可读写数据存储在所述易失性存储器,将只读数据存储在所述易失性存储器和所述非易失性存储器;
其中,所述CXL控制器将可读写数据存储在所述易失性存储器,将只读数据存储在所述易失性存储器和所述非易失性存储器,包括:
通过CXL接口接收到主机发送的写数据请求,所述写数据请求携带目的地址和待写入数据的读写属性,所述目的地址为所述易失性存储器的地址;
根据所述读写属性确定待写入数据为可读写数据的情况下,基于所述目的地址将所述可读写数据写入所述易失性存储器;
根据所述读写属性确定待写入数据为只读数据的情况下,基于所述目的地址将所述只读数据写入所述易失性存储器,且将所述只读数据备份到所述非易失性存储器。
本公开实施例提供了一种新的异常宕机的数据保护机制,CXL控制器将可读写数据存储在易失性存储器,将只读数据存储在非易失性存储器和易失性存储器;宕机时,只需将易失性存储器中的可读写数据刷入到非易失性存储器进行备份,只读数据在写入时已经在非易失性存储器备份,使得宕机时需要备份的数据量减少,备份数据时需要使用的内置电容的容量也变小,因而在实现数据备份的同时降低了CXL模组的成本。本实施例特别适用于易失性存储器的存储空间较大,备份数据可能较多的CXL模组,但也适用于易失性存储器的存储空间较小的CXL模组。
本实施例中,CXL 模组暴露给主机的属性可以是第三类型的CXL易失性存储设备(CXL Type3 Mem Device),主机写入数据时提供数据的读写属性信息,由CXL 模组内的控制器根据数据的读写属性,将可读写数据存储在易失性存储器如DRAM芯片,且将只读数据存储在易失性存储器和非易失性存储器如闪存芯片。主机可以获知该CXL模组具备数据持久化的能力,但CXL模组的控制器将只读数据备份到非易失性存储器的操作对主机透明,主机不参与数据备份。
主机端操作系统运行的进程虚拟内存段(Process Virtual Address Segment)包括:数据段(data segment)、代码段(text segment)、堆(heap)、栈(stack)、系统区(system)、环境变量(env)、命令行参数计数(argc)、命令行参数向量(argv)等,其中数据段(data segment)和代码段(text segment)的数据为只读数据(读写属性为RO,即只读),其他段的数据为可读写数据(读写属性为RW,即可读写)。主机端系统软件可以基于该进程虚拟内存段判断待写入数据的读写属性,将判断出的待写入数据的读写属性填入到写数据请求中。
本公开一示例性的实施例中,所述CXL模组暴露给主机的属性为CXL易失性存储设备,所述CXL控制器还被配置为:将所述易失性存储器的存储空间划分为多个区域,所述多个区域包括只读区域和可读写区域;其中,所述只读区域用于存储只读数据,所述可读写区域用于存储可读写数据。本示例将易失性存储器中只读数据的存储区域和可读写数据的存储区域区分开,可以方便CXL控制器对可读写数据的备份,CXL控制器只需要对可读写区域的数据进行备份,不需要对只读区域的数据进行备份即可,无需再记录存储的数据本身的读写属性。
本实施例的一示例中,所述CXL控制器将所述易失性存储器的存储空间划分为多个区域,包括:根据主机发送的存储区域设定指令,将所述易失性存储器的部分存储空间设置为只读区域,将所述易失性存储器的其他区域作为可读写区域;其中,所述存储区域设置指令可采用CXL.mem协议的M2S请求(主机到设备的请求)的格式,该M2S请求中的操作码表示要执行的操作为设定只读区域,并携带只读区域的起始地址和长度信息,也可以携带这两种信息中的一种,另一种由CXL控制器设置并通知主机。
本示例可以利用M2S请求中字段MemOpcode预留的操作码如0110b 表示要执行的操作为设定只读区域(Set Read-Only Region),利用字段Address[51:6]表示只读区域的起始地址,利用字段Rsvd(6bit)表示只读区域的长度。该长度的颗粒度(长度每增加1所增加的容量)可以用一组缓存行(Cacheline)的大小来定义,一组Cacheline中的Cacheline个数可以用M2S请求中的字段<SnpType,MetaField, MetaValue> 联合表示。
CXL模组根据主机发送的只读区域设定指令,将所述易失性存储器的部分存储空间设置为只读区域后,可以通过CXL.mem协议的S2M请求(设备到主机的请求)返回指令的执行结果。该执行结果可以利用S2M NDR (Response)中的Metavalue 字段反馈(即复用该字段)。
CXL控制器将所述易失性存储器的存储空间划分为多个区域的方式不局限于上述示例。在另一示例中,主机也可以发送区域设定指令,同时携带只读区域和可读写区域的起始地址和长度信息,CXL控制器根据该区域设定指令设置易失性存储器中的只读区域和可读写区域;在又一示例中,主机发送只读区域设定指令以携带只读区域的起始地址和长度信息,且发送可读写区域设定指令以携带可读写区域的起始地址和长度信息,CXL控制器可根据该两个指令分别设置易失性存储器中的只读区域和可读写区域。在其他示例中,易失性存储器中的只读区域和可读写区域也可以不基于主机发送的指令,而是由CXL控制器自行设置。
本公开一示例性的实施例中,所述CXL模组暴露给主机的属性为CXL易失性存储设备,所述易失性存储器包括只读区域和可读写区域;所述CXL控制器还被配置为:将所述非易失性存储器的一部分区域设置为只读数据备份区域以备份所述只读区域中的数据,将所述非易失性存储器的另一部分区域设置为可读写数据备份区域以备份所述可读写区域中的数据,并记录所述只读区域的起始地址和所述只读数据备份区域的起始地址之间的第一地址对应关系,及所述可读写区域的起始地址和所述可读写数据备份区域的起始地址之间的第二地址对应关系;
所述CXL控制器基于所述目的地址将所述只读数据写入所述易失性存储器,且将所述只读数据备份到所述非易失性存储器,包括:基于所述目的地址将所述只读数据写入所述易失性存储器的只读区域,基于所述目的地址及所述第一地址对应关系,将所述只读数据写入所述非易失性存储器的只读数据备份区域。
本公开实施例在易失性存储器包括只读区域和可读写区域的情况下,相应地为非易失性存储器设置只读数据备份区域和可读写数据备份区域,并建立两者的地址对应关系,在备份时也根据地址对应关系来确定备份的地址,这样根据数据块在只读区域的地址可以推算出该数据块在只读数据备份区域的地址。本实施例通过区域之间的对应来实现只读数据在易失性存储器和非易失性存储器的存储位置的对应,不需要以块为单位记录数据在易失性存储器和非易失性存储器的存储地址,简化了数据的备份和恢复的实现。上述的地址对应关系的数据可以写入到非易失性存储器指定的存储区域保存。但在其他实施例中,例如需要备份不同版本的数据时,也可以以块为单位记录数据块在只读区域的地址与在只读数据备份区域的地址之间的对应关系。
本实施例的一示例中,所述CXL控制器还被配置为执行以下处理中的任意一种或多种:
接收主机发送的只读区域清除指令,清除所述易失性存储器的只读区域及所述非易失性存储器的只读数据备份区域;
接收主机发送的可读写区域清除指令,清除所述易失性存储器的可读写区域及所述非易失性存储器的可读写数据备份区域;
接收主机发送的针对只读数据的数据删除指令,根据所述数据删除指令携带的只读数据的起始地址和长度,删除所述易失性存储器的只读区域中的所述只读数据,并根据所述只读数据的起始地址、长度及所述第一地址对应关系,删除所述非易失性存储器的只读数据备份区域中的所述只读数据;
接收主机发送的针对可读写数据的数据删除指令,根据所述数据删除指令携带的可读写数据的起始地址和长度,删除所述易失性存储器的可读写区域中的所述可读写数据,并根据所述可读写数据的起始地址、长度及所述第二地址对应关系,删除所述非易失性存储器的可读写数据备份区域中的所述可读写数据。
示例性的,上述区域清除指令可以是只读区域清除指令,该只读区域清除指令可采用CXL.mem协议中的M2S请求的格式,该M2S请求中的操作码(如MemOpcode字段预留的操作码0111b)表示要执行的操作为清除只读区域。CXL控制器在清除易失性存储器的只读区域(如将相关的元数据删除)时,也需要清除与只读区域对应的非易失性存储器的只读数据备份区域。清除完成后,所述CXL控制可通过CXL.mem协议的S2M请求返回区域清除指令的执行结果。
主机清除易失性存储器的只读区域和非易失性存储器的只读数据备份区域后,可以删除CXL 模组中存储的只读数据(包括易失性存储器存储的只读数据和非易失性存储器中存储的只读数据)。相应地,所述CXL控制器还被配置为:接收主机发送的针对只读数据的数据删除指令,根据所述数据删除指令携带的只读数据的起始地址和长度,删除所述易失性存储器的只读区域中的所述只读数据,并根据所述只读数据的起始地址、长度及所述第一地址对应关系,删除所述非易失性存储器的只读数据备份区域中的所述只读数据。示例性的,所述数据删除指令可采用CXL.mem协议的M2S请求的格式,数据的起始地址利用M2S请求中的地址字段表示,可复用字段MemOpcode的操作码MemInv,结合Rsvd 字段(Rsvd字段的值用于表示需要删除的数据的长度)表示要执行的操作是删除数据,或新定义一个预留的操作码MemInvRdOnly表示要执行的操作是删除数据。
本示例可以清除为CXL模组中易失性存储器的只读区域和非易失性存储器的只读数据备份区域,并在清除后删除存储在所述只读区域和只读数据备份区域中的只读数据,从而释放易失性存储器和非易失性存储器的存储空间。
本实施例在系统运行期间,可以对可读写区域中的数据进行周期性备份。在一示例中,所述CXL控制器还被配置为:基于第二地址对应关系,周期性地将所述可读写区域中的所有可读写数据备份到所述可读写数据备份区域。在本实施例另一示例中,所述CXL控制器还被配置为:基于第二地址对应关系,周期性地将选定子区域中的可读写数据备份到所述可读写数据备份区域的相应子区域,所述选定子区域指所述可读写区域划分成的多个子区域中在当前周期存在数据修改的子区域。上述两个示例中,第一个示例每次对所有可读写数据备份,在实现上较为简单,而第二个示例每次只对数据有修改的子区域的可读写数据备份,可以减少每次备份的数据量,划分成的多个子区域可以是相同大小的,CXL控制器可以将子区域的大小作为元数据保存。第一个示例有两种实现方式,第一种方式下,每次备份时可以将可读写区域中所有可读写数据写入到可读写数据备份区域的同一区域,即覆盖原有备份。第二种方式下,在空间足够时不覆盖原有备份,而是保留多个版本的备份数据,这样主机可以根据需要基于不同版本的备份数据进行数据恢复,在空间不够时,则可以将最新的备份数据覆盖掉最早的备份数据。
在上述CXL控制器周期性地将所述可读写区域中的所有可读写数据备份到所述可读写数据备份区域的示例中,所述CXL控制器在需要对所述易失性存储器中的数据进行备份的情况下,将存储在所述易失性存储器中的可读写数据刷入到所述非易失性存储器进行备份,包括:在宕机或关机的情况下时,将所述易失性存储器的可读写区域中的所有可读写数据刷入到所述可读写数据备份区域进行备份。
在上述CXL控制器周期性地将选定子区域中的可读写数据备份到所述可读写数据备份区域的示例中,所述CXL控制器在需要对所述易失性存储器中的数据进行备份的情况下,将存储在所述易失性存储器中的可读写数据刷入到所述非易失性存储器进行备份,包括:在宕机或关机的情况下,将指定子区域中的可读写数据刷入到所述可读写数据备份区域的相应子区域进行备份,所述指定子区域指所述可读写区域划分成的多个子区域中在最后一次备份后存在数据修改的子区域。该示例在宕机时只需要对可读写区域的部分子区域中的可读写数据进行备份,可以进一步减少备份的数据量。
本公开一示例性的实施例中,所述CXL模组暴露给主机的属性为CXL易失性存储设备,所述易失性存储器包括只读区域和可读写区域,所述非易失性存储器包括只读数据备份区域和可读写数据备份区域。所述CXL控制器还被配置:接收到主机发送的数据恢复指令后,根据所述第一地址对应关系,将所述只读数据备份区域中的只读数据恢复到所述只读区域,根据所述第二地址对应关系,将所述可读写数据备份区域中的可读写数据恢复到所述可读写区域。CXL控制器可以在CXL模组的元数据空间记录是否进行数据备份,主机在上电之初,可以检查CXL模组的元数据空间,如判断CXL模组曾经进行过数据备份,则可以发送数据恢复指令到CXL模组。
本公开一示例性的实施例中,所述CXL模组的存储资源以多个逻辑设备的方式暴露给主机,所述易失性存储器暴露为易失性的逻辑设备,所述非易失性存储器暴露为非易失性的逻辑设备,所述CXL控制器将可读写数据存储在所述易失性存储器,将只读数据存储在所述非易失性存储器;
其中,所述CXL控制器将可读写数据存储在所述易失性存储器,将只读数据存储在所述非易失性存储器,包括:
通过CXL接口接收到主机要写入只读数据时发送的第一写数据请求,基于所述第一写数据请求携带的目的地址将所述只读数据写入所述非易失性存储器, 其中,所述第一写数据请求携带的目的地址为所述非易失性的逻辑设备的地址;
通过CXL接口接收到主机要写入可读写数据时发送的第二写数据请求,基于所述第二写数据请求携带的目的地址将所述可读写数据写入所述易失性存储器, 其中,所述第二写数据请求携带的目的地址为所述易失性的逻辑设备的地址。
本实施例中,将只读数据写入非易失性存储器可以是直接将只读数据写入非易失性存储器,也可以间接地将只读数据写入非易失性存储器,例如先将只读数据写入CXL控制器的缓存,再将缓存的只读数据写入非易失性存储器(如需要释放缓存时),将只读数据先写入缓存可以加快对只读数据的读取。本实施例基于所述第一写数据请求或第二写数据请求携带的目的地址将数据写入所述非易失性存储器时,需要根据逻辑设备的逻辑地址转换为非易失性存储器或易失性存储器的物理地址,然后根据物理地址进行写入操作。
本公开实施例提供了另一种新的异常宕机的数据保护机制,CXL模组将可读写数据存储在易失性存储器,将只读数据存储在非易失性存储器;在宕机时,只需将易失性存储器中的可读写数据刷入到非易失性存储器进行备份,无需将只读数据刷入非易失性存储器进行备份,使得需要备份的数据量减少,内置电容的容量也可以变小,因而在实现数据备份的同时降低了CXL模组的成本。本实施例特别适用于易失性存储器的空间较大,备份数据可能较多的CXL模组,但不局限于此。
本公开一示例性的实施例中,所述CXL模组的存储资源以多个逻辑设备的方式暴露给主机,所述CXL控制器还被配置为:
将所述非易失性存储器的部分存储空间设置为备份区域以备份所述易失性存储器中的可读写数据,并记录所述备份区域的起始地址;
基于所述备份区域的起始地址,周期性地将所述易失性存储器中的所有可读写数据备份到所述备份区域;或者,将所述易失性存储器的存储空间分为多个子区域,基于所述备份区域的起始地址,周期性地将选定子区域中的可读写数据备份到所述备份区域,所述选定子区域指所述多个子区域中在当前周期存在数据修改的子区域。
本实施例将非易失性存储器的部分存储空间设置为备份区域,以备份易失性存储器中的可读写数据。通过区域的起始地址之间的对应关系,可以备份易失性存储器中的可读写数据和恢复备份的数据,不需要分块记录数据在易失性存储器和非易失性存储器的地址对应关系,可以简化数据备份的实现。
本公开另一实施例还提供了一种数据备份方法,应用于CXL模组中的CXL控制器,所述CXL控制器与所述CXL模组中的易失性存储器和非易失性存储器连接,如图3所示,所述数据备份方法包括:
步骤110,将可读写数据存储在所述易失性存储器;将只读数据存储在所述非易失性存储器,或者存储在所述易失性存储器和所述非易失性存储器;
步骤120,在需要对所述易失性存储器中的数据进行备份的情况下,将存储在所述易失性存储器中的可读写数据刷入到所述非易失性存储器进行备份,所述需要对所述易失性存储器中的数据进行备份的情况包括宕机、关机和周期性备份中的至少一种。
本公开实施例CXL模组中的易失性存储器包括DRAM芯片12’,非易失性存储器包括闪存控制器131及与闪存控制器131连接的闪存芯片133,如图2所示。
本公开实施例CXL模组存储数据时,将可读写数据存储在易失性存储器,将只读数据存储在非易失性存储器;在宕机时,只需将易失性存储器中的可读写数据刷入到非易失性存储器(或者说搬移到非易失性存储器)进行备份,只读数据已存储在非易失性存储器中无需再刷入,使得需要备份的数据量减少,备份数据时需要使用的内置电容的容量也变小,因而在实现数据备份的同时降低了设备成本。
本公开一示例性的实施例中,所述CXL模组暴露给主机的属性为CXL易失性存储设备,所述CXL控制器将可读写数据存储在所述易失性存储器,将只读数据存储在所述易失性存储器和所述非易失性存储器;
其中,所述CXL控制器将可读写数据存储在所述易失性存储器,将只读数据存储在所述易失性存储器和所述非易失性存储器,包括:
通过CXL接口接收到主机发送的写数据请求,所述写数据请求携带目的地址和待写入数据的读写属性,所述目的地址为所述易失性存储器的地址;
根据所述读写属性确定待写入数据为可读写数据的情况下,基于所述目的地址将所述可读写数据写入所述易失性存储器;
根据所述读写属性确定待写入数据为只读数据的情况下,基于所述目的地址将所述只读数据写入所述易失性存储器,且将所述只读数据备份到所述非易失性存储器。
本公开实施例提供了一种新的异常宕机的数据保护机制,CXL控制器将可读写数据存储在易失性存储器,将只读数据存储在非易失性存储器和易失性存储器;宕机时,只需将易失性存储器中的可读写数据刷入到非易失性存储器进行备份,只读数据在写入时已经在非易失性存储器备份,使得宕机时需要备份的数据量减少,备份数据时需要使用的内置电容的容量也变小,在实现数据备份的同时降低了CXL模组的成本。
本公开一示例性的实施例中,所述数据备份方法还包括:将所述易失性存储器的存储空间划分为多个区域,所述多个区域包括只读区域和可读写区域;其中,所述只读区域用于存储只读数据,所述可读写区域用于存储可读写数据。
本公开一示例性的实施例中,所述CXL模组暴露给主机的属性为CXL易失性存储设备,所述数据备份方法还包括:将所述非易失性存储器的一部分区域设置为只读数据备份区域以备份所述只读区域中的数据,将所述非易失性存储器的另一部分区域设置为可读写数据备份区域以备份所述可读写区域中的数据,并记录所述只读区域的起始地址和所述只读数据备份区域的起始地址之间的第一地址对应关系,及所述可读写区域的起始地址和所述可读写数据备份区域的起始地址之间的第二地址对应关系;
所述基于所述目的地址将所述只读数据写入所述易失性存储器,且将所述只读数据备份到所述非易失性存储器,包括:基于所述目的地址将所述只读数据写入所述易失性存储器的只读区域,基于所述目的地址及所述第一地址对应关系,将所述只读数据写入所述非易失性存储器的只读数据备份区域。
本公开一示例性的实施例中,所述CXL模组暴露给主机的属性为CXL易失性存储设备,所述易失性存储器包括只读区域和可读写区域,所述非易失性存储器包括只读数据备份区域和可读写数据备份区域;所述数据备份方法还包括:
基于所述第二地址对应关系,周期性地将选定子区域中的可读写数据备份到所述可读写数据备份区域的相应子区域,所述选定子区域指所述可读写区域划分成的多个子区域中在当前周期存在数据修改的子区域;或者,基于所述第二地址对应关系,周期性地将所述可读写区域中的所有可读写数据备份到所述可读写数据备份区域。
本实施例的一示例中,所述CXL控制器周期性地将所述可读写区域中的所有可读写数据备份到所述可读写数据备份区域,所述在需要对所述易失性存储器中的数据进行备份的情况下,将存储在所述易失性存储器中的可读写数据刷入到所述非易失性存储器进行备份,包括:在宕机或关机的情况下,将所述易失性存储器的可读写区域中的所有可读写数据刷入到所述可读写数据备份区域进行备份;本实施例的另一示例中,所述CXL控制器周期性地将选定子区域中的可读写数据备份到所述可读写数据备份区域,所述在需要对所述易失性存储器中的数据进行备份的情况下,将存储在所述易失性存储器中的可读写数据刷入到所述非易失性存储器进行备份,包括:在宕机或关机的情况下,将指定子区域中的可读写数据刷入到所述可读写数据备份区域的相应子区域进行备份,所述指定子区域指所述可读写区域划分成的多个子区域中在最后一次备份后存在数据修改的子区域。
本公开一示例性的实施例中,所述CXL模组的存储资源以多个逻辑设备的方式暴露给主机,所述易失性存储器暴露为易失性的逻辑设备,所述非易失性存储器暴露为非易失性的逻辑设备;所述CXL控制器将可读写数据存储在所述易失性存储器,将只读数据存储在所述非易失性存储器;
其中,所述CXL控制器将可读写数据存储在所述易失性存储器,将只读数据存储在所述非易失性存储器,包括:
通过CXL接口接收到主机要写入只读数据时发送的第一写数据请求,基于所述第一写数据请求携带的目的地址将所述只读数据写入所述非易失性存储器, 其中,所述第一写数据请求携带的目的地址为所述非易失性的逻辑设备的地址;
通过CXL接口接收到主机要写入可读写数据时发送的第二写数据请求,基于所述第二写数据请求携带的目的地址将所述可读写数据写入所述易失性存储器, 其中,所述第二写数据请求携带的目的地址为所述易失性的逻辑设备的地址。
本公开一示例性的实施例中,所述CXL模组的存储资源以多个逻辑设备的方式暴露给主机,所述数据备份方法还包括:
将所述非易失性存储器的存储空间的一部分设置为备份区域以备份所述易失性存储器中的可读写数据,并记录所述备份区域的起始地址;
基于所述备份区域的起始地址,周期性地将所述易失性存储器中的所有可读写数据备份到所述备份区域;或者,将所述易失性存储器的存储空间分为多个子区域,基于所述备份区域的起始地址,周期性地将选定子区域中的可读写数据备份到所述备份区域,所述选定子区域指所述多个子区域中在当前周期存在数据修改的子区域。
本实施例将非易失性存储器的部分存储空间设置为备份区域,以备份易失性存储器中的可读写数据。通过区域的起始地址之间的对应关系,可以备份易失性存储器中的可读写数据和恢复备份的数据,不需要分块记录数据在易失性存储器和非易失性存储器的地址对应关系,可以简化数据备份的实现。
本公开一实施例还提供了一种CXL模组中的CXL控制器,如图4所示,CXL控制器11包括处理器51、用于连接主机的CXL接口53、用于连接易失性存储器的第一存储接口55、用于连接非易失性存储器的第二存储接口57、及内置电容59,还可以包括其他硬件61。其中:处理器51被配置为执行本公开任一实施例所述的数据备份方法。
本实施例的处理器可以是通用处理器,包括中央处理器(Central ProcessingUnit,简称CPU)、网络处理器(Network Processor,简称NP)、微处理器等等,也可以是其他常规的处理器等;所述处理器还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)、离散逻辑或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,也可以是上述器件的组合。即本实施例的处理器可以是实现本发明实施例中公开的各方法、步骤及逻辑框图的任何处理器件或器件组合。如果部分地以软件来实施本公开实施例,那么可将用于软件的指令存储在合适的非易失性计算机可读存储媒体中,且可使用一个或多个处理器在硬件中执行所述指令从而实施本公开实施例的方法。
本公开一实施例还提供了一种非瞬态计算机存储介质,保存有计算机程序,其特征在于,所述计算机程序被处理器执行时,可实现本公开任一实施例所述的数据备份方法。
本公开一实施例一种计算机系统,包括主机和本公开任一实施例所述的CXL模组。
本公开一实施例一种计算机产品,该计算机产品被处理器执行时,可实现本公开任一实施例所述的数据备份方法。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些组件或所有组件可以被实施为由处理器,如数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于 RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
Claims (22)
1.一种CXL模组,其特征在于,包括CXL控制器、及与所述CXL控制器连接的易失性存储器和非易失性存储器,所述CXL控制器被配置为执行以下处理:
将可读写数据存储在所述易失性存储器;将只读数据存储在所述非易失性存储器,或者存储在所述易失性存储器和所述非易失性存储器;
在需要对所述易失性存储器中的数据进行备份的情况下,将存储在所述易失性存储器中的可读写数据刷入到所述非易失性存储器进行备份。
2.如权利要求1所述的CXL模组,其特征在于:
所述易失性存储器包括DRAM芯片,所述非易失性存储器包括闪存控制器及与所述闪存控制器连接的闪存芯片;
所述需要对所述易失性存储器中的数据进行备份的情况,包括宕机、关机和周期性备份中的至少一种。
3.如权利要求1所述的CXL模组,其特征在于:
所述CXL模组暴露给主机的属性为CXL易失性存储设备,所述CXL控制器将可读写数据存储在所述易失性存储器,将只读数据存储在所述易失性存储器和所述非易失性存储器;
其中,所述CXL控制器将可读写数据存储在所述易失性存储器,将只读数据存储在所述易失性存储器和所述非易失性存储器,包括:
通过CXL接口接收到主机发送的写数据请求,所述写数据请求携带目的地址和待写入数据的读写属性,所述目的地址为所述易失性存储器的地址;
根据所述读写属性确定待写入数据为可读写数据的情况下,基于所述目的地址将所述可读写数据写入所述易失性存储器;
根据所述读写属性确定待写入数据为只读数据的情况下,基于所述目的地址将所述只读数据写入所述易失性存储器,且将所述只读数据备份到所述非易失性存储器。
4.如权利要求3所述的CXL模组,其特征在于:
所述CXL控制器还被配置为:将所述易失性存储器的存储空间划分为多个区域,所述多个区域包括只读区域和可读写区域;其中,所述只读区域用于存储只读数据,所述可读写区域用于存储可读写数据。
5.如权利要求4所述的CXL模组,其特征在于:
所述CXL控制器将所述易失性存储器的存储空间划分为多个区域,包括:根据主机发送的存储区域设定指令,将所述易失性存储器的部分存储空间设置为只读区域,将所述易失性存储器的其他区域作为可读写区域;其中,所述存储区域设置指令采用CXL.mem协议的M2S请求的格式,该M2S请求中的操作码表示要执行的操作为设定只读区域,并携带只读区域的起始地址和长度信息中的至少一种。
6.如权利要求5所述的CXL模组,其特征在于:
所述CXL控制器还被配置为:将所述非易失性存储器的一部分区域设置为只读数据备份区域以备份所述只读区域中的数据,将所述非易失性存储器的另一部分区域设置为可读写数据备份区域以备份所述可读写区域中的数据,并记录所述只读区域的起始地址和所述只读数据备份区域的起始地址之间的第一地址对应关系,及所述可读写区域的起始地址和所述可读写数据备份区域的起始地址之间的第二地址对应关系;
所述CXL控制器基于所述目的地址将所述只读数据写入所述易失性存储器,且将所述只读数据备份到所述非易失性存储器,包括:基于所述目的地址将所述只读数据写入所述易失性存储器的只读区域,基于所述目的地址及所述第一地址对应关系,将所述只读数据写入所述非易失性存储器的只读数据备份区域。
7.如权利要求6所述的CXL模组,其特征在于:
所述CXL控制器还被配置为执行以下处理中的任意一种或多种:
接收主机发送的只读区域清除指令,清除所述易失性存储器的只读区域及所述非易失性存储器的只读数据备份区域;
接收主机发送的可读写区域清除指令,清除所述易失性存储器的可读写区域及所述非易失性存储器的可读写数据备份区域;
接收主机发送的针对只读数据的数据删除指令,根据所述数据删除指令携带的只读数据的起始地址和长度,删除所述易失性存储器的只读区域中的所述只读数据,并根据所述只读数据的起始地址、长度及所述第一地址对应关系,删除所述非易失性存储器的只读数据备份区域中的所述只读数据;
接收主机发送的针对可读写数据的数据删除指令,根据所述数据删除指令携带的可读写数据的起始地址和长度,删除所述易失性存储器的可读写区域中的所述可读写数据,并根据所述可读写数据的起始地址、长度及所述第二地址对应关系,删除所述非易失性存储器的可读写数据备份区域中的所述可读写数据。
8.如权利要求6所述的CXL模组,其特征在于:
所述CXL控制器还被配置为:
基于所述第二地址对应关系,周期性地将选定子区域中的可读写数据备份到所述可读写数据备份区域的相应子区域,所述选定子区域指所述可读写区域划分成的多个子区域中在当前周期存在数据修改的子区域;或者
基于所述第二地址对应关系,周期性地将所述可读写区域中的所有可读写数据备份到所述可读写数据备份区域。
9.如权利要求8所述的CXL模组,其特征在于:
所述CXL控制器周期性地将所述可读写区域中的所有可读写数据备份到所述可读写数据备份区域;所述CXL控制器在需要对所述易失性存储器中的数据进行备份的情况下,将存储在所述易失性存储器中的可读写数据刷入到所述非易失性存储器进行备份,包括:在宕机或关机的情况下,将所述易失性存储器的可读写区域中的所有可读写数据刷入到所述可读写数据备份区域进行备份;
所述CXL控制器周期性地将选定子区域中的可读写数据备份到所述可读写数据备份区域,所述CXL控制器在需要对所述易失性存储器中的数据进行备份的情况下,将存储在所述易失性存储器中的可读写数据刷入到所述非易失性存储器进行备份,包括:在宕机或关机的情况下,将指定子区域中的可读写数据刷入到所述可读写数据备份区域的相应子区域进行备份,所述指定子区域指所述可读写区域划分成的多个子区域中在最后一次备份后存在数据修改的子区域。
10.如权利要求6所述的CXL模组,其特征在于:
所述CXL控制器还被配置:
接收到主机发送的数据恢复指令后,根据所述第一地址对应关系,将所述只读数据备份区域中的只读数据恢复到所述只读区域,根据所述第二地址对应关系,将所述可读写数据备份区域中的可读写数据恢复到所述可读写区域。
11.如权利要求1所述的CXL模组,其特征在于:
所述CXL模组的存储资源以多个逻辑设备的方式暴露给主机,所述易失性存储器暴露为易失性的逻辑设备,所述非易失性存储器暴露为非易失性的逻辑设备;所述CXL控制器将可读写数据存储在所述易失性存储器,将只读数据存储在所述非易失性存储器;
其中,所述CXL控制器将可读写数据存储在所述易失性存储器,将只读数据存储在所述非易失性存储器,包括:
通过CXL接口接收到主机要写入只读数据时发送的第一写数据请求,基于所述第一写数据请求携带的目的地址将所述只读数据写入所述非易失性存储器, 其中,所述第一写数据请求携带的目的地址为所述非易失性的逻辑设备的地址;
通过CXL接口接收到主机要写入可读写数据时发送的第二写数据请求,基于所述第二写数据请求携带的目的地址将所述可读写数据写入所述易失性存储器, 其中,所述第二写数据请求携带的目的地址为所述易失性的逻辑设备的地址。
12.如权利要求11所述的CXL模组,其特征在于:
所述CXL控制器还被配置为:
将所述非易失性存储器的存储空间的一部分设置为备份区域以备份所述易失性存储器中的可读写数据,并记录所述备份区域的起始地址;
基于所述备份区域的起始地址,周期性地将所述易失性存储器中的所有可读写数据备份到所述备份区域;或者,将所述易失性存储器的存储空间分为多个子区域,基于所述备份区域的起始地址,周期性地将选定子区域中的可读写数据备份到所述备份区域,所述选定子区域指所述多个子区域中在当前周期存在数据修改的子区域。
13.一种数据备份方法,应用于CXL模组中的CXL控制器,所述CXL控制器与所述CXL模组中的易失性存储器和非易失性存储器连接,所述数据备份方法包括:
将可读写数据存储在所述易失性存储器;将只读数据存储在所述非易失性存储器,或者存储在所述易失性存储器和所述非易失性存储器;
在需要对所述易失性存储器中的数据进行备份的情况下,将存储在所述易失性存储器中的可读写数据刷入到所述非易失性存储器进行备份,所述需要对所述易失性存储器中的数据进行备份的情况包括宕机、关机和周期性备份中的至少一种。
14.如权利要求13所述的数据备份方法,其特征在于:
所述CXL模组暴露给主机的属性为CXL易失性存储设备,所述CXL控制器将可读写数据存储在所述易失性存储器,将只读数据存储在所述易失性存储器和所述非易失性存储器;
其中,所述CXL控制器将可读写数据存储在所述易失性存储器,将只读数据存储在所述易失性存储器和所述非易失性存储器,包括:
通过CXL接口接收到主机发送的写数据请求,所述写数据请求携带目的地址和待写入数据的读写属性,所述目的地址为所述易失性存储器的地址;
根据所述读写属性确定待写入数据为可读写数据的情况下,基于所述目的地址将所述可读写数据写入所述易失性存储器;
根据所述读写属性确定待写入数据为只读数据的情况下,基于所述目的地址将所述只读数据写入所述易失性存储器,且将所述只读数据备份到所述非易失性存储器。
15.如权利要求14所述的数据备份方法,其特征在于:
所述数据备份方法还包括:将所述易失性存储器的存储空间划分为多个区域,所述多个区域包括只读区域和可读写区域;其中,所述只读区域用于存储只读数据,所述可读写区域用于存储可读写数据。
16.如权利要求15所述的数据备份方法,其特征在于:
所述数据备份方法还包括:将所述非易失性存储器的一部分区域设置为只读数据备份区域以备份所述只读区域中的数据,将所述非易失性存储器的另一部分区域设置为可读写数据备份区域以备份所述可读写区域中的数据,并记录所述只读区域的起始地址和所述只读数据备份区域的起始地址之间的第一地址对应关系,及所述可读写区域的起始地址和所述可读写数据备份区域的起始地址之间的第二地址对应关系;
所述基于所述目的地址将所述只读数据写入所述易失性存储器,且将所述只读数据备份到所述非易失性存储器,包括:基于所述目的地址将所述只读数据写入所述易失性存储器的只读区域,基于所述目的地址及所述第一地址对应关系,将所述只读数据写入所述非易失性存储器的只读数据备份区域。
17.如权利要求16所述的数据备份方法,其特征在于:
所述数据备份方法还包括:
基于所述第二地址对应关系,周期性地将选定子区域中的可读写数据备份到所述可读写数据备份区域的相应子区域,所述选定子区域指所述可读写区域划分成的多个子区域中在当前周期存在数据修改的子区域;或者
基于所述第二地址对应关系,周期性地将所述可读写区域中的所有可读写数据备份到所述可读写数据备份区域。
18.如权利要求17所述的数据备份方法,其特征在于:
所述CXL控制器周期性地将所述可读写区域中的所有可读写数据备份到所述可读写数据备份区域,所述在需要对所述易失性存储器中的数据进行备份的情况下,将存储在所述易失性存储器中的可读写数据刷入到所述非易失性存储器进行备份,包括:在宕机或关机的情况下,将所述易失性存储器的可读写区域中的所有可读写数据刷入到所述可读写数据备份区域进行备份;
所述CXL控制器周期性地将选定子区域中的可读写数据备份到所述可读写数据备份区域,所述在需要对所述易失性存储器中的数据进行备份的情况下,将存储在所述易失性存储器中的可读写数据刷入到所述非易失性存储器进行备份,包括:在宕机或关机的情况下,将指定子区域中的可读写数据刷入到所述可读写数据备份区域的相应子区域进行备份,所述指定子区域指所述可读写区域划分成的多个子区域中在最后一次备份后存在数据修改的子区域。
19.如权利要求13所述的数据备份方法,其特征在于:
所述CXL模组的存储资源以多个逻辑设备的方式暴露给主机,所述易失性存储器暴露为易失性的逻辑设备,所述非易失性存储器暴露为非易失性的逻辑设备;所述CXL控制器将可读写数据存储在所述易失性存储器,将只读数据存储在所述非易失性存储器;
其中,所述CXL控制器将可读写数据存储在所述易失性存储器,将只读数据存储在所述非易失性存储器,包括:
通过CXL接口接收到主机要写入只读数据时发送的第一写数据请求,基于所述第一写数据请求携带的目的地址将所述只读数据写入所述非易失性存储器, 其中,所述第一写数据请求携带的目的地址为所述非易失性的逻辑设备的地址;
通过CXL接口接收到主机要写入可读写数据时发送的第二写数据请求,基于所述第二写数据请求携带的目的地址将所述可读写数据写入所述易失性存储器, 其中,所述第二写数据请求携带的目的地址为所述易失性的逻辑设备的地址。
20.如权利要求19所述的数据备份方法,其特征在于:
所述数据备份方法还包括:
将所述非易失性存储器的存储空间的一部分设置为备份区域以备份所述易失性存储器中的可读写数据,并记录所述备份区域的起始地址;
基于所述备份区域的起始地址,周期性地将所述易失性存储器中的所有可读写数据备份到所述备份区域;或者,将所述易失性存储器的存储空间分为多个子区域,基于所述备份区域的起始地址,周期性地将选定子区域中的可读写数据备份到所述备份区域,所述选定子区域指所述多个子区域中在当前周期存在数据修改的子区域。
21.一种CXL模组中的CXL控制器,其特征在于,包括处理器、用于连接主机的CXL接口、用于连接易失性存储器的第一存储接口、用于连接非易失性存储器的第二存储接口、及内置电容,其中:所述处理器被配置为执行如权利要求13至20中任一所述的数据备份方法。
22.一种非瞬态计算机存储介质,保存有计算机程序,其特征在于,所述计算机程序被处理器执行时,实现如权利要求13至20中任一所述的数据备份方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410254913.XA CN117827548B (zh) | 2024-03-06 | 2024-03-06 | 一种数据备份方法、cxl控制器、cxl模组和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410254913.XA CN117827548B (zh) | 2024-03-06 | 2024-03-06 | 一种数据备份方法、cxl控制器、cxl模组和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117827548A true CN117827548A (zh) | 2024-04-05 |
CN117827548B CN117827548B (zh) | 2024-05-24 |
Family
ID=90517670
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410254913.XA Active CN117827548B (zh) | 2024-03-06 | 2024-03-06 | 一种数据备份方法、cxl控制器、cxl模组和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117827548B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220113914A1 (en) * | 2021-12-23 | 2022-04-14 | Kshitij Arun Doshi | Storage class memory device including a network |
CN115982078A (zh) * | 2023-01-19 | 2023-04-18 | 北京超弦存储器研究院 | 一种cxl内存模组及内存存储系统 |
CN116486868A (zh) * | 2022-01-22 | 2023-07-25 | 美光科技公司 | 计算高速链路(CXL)上的高速非易失性存储器(NVMe) |
CN117111831A (zh) * | 2022-05-23 | 2023-11-24 | 三星电子株式会社 | 存储器装置、存储装置以及计算系统 |
CN117632043A (zh) * | 2024-01-25 | 2024-03-01 | 北京超弦存储器研究院 | Cxl内存模组、控制芯片、数据处理方法、介质和系统 |
-
2024
- 2024-03-06 CN CN202410254913.XA patent/CN117827548B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220113914A1 (en) * | 2021-12-23 | 2022-04-14 | Kshitij Arun Doshi | Storage class memory device including a network |
CN116486868A (zh) * | 2022-01-22 | 2023-07-25 | 美光科技公司 | 计算高速链路(CXL)上的高速非易失性存储器(NVMe) |
CN117111831A (zh) * | 2022-05-23 | 2023-11-24 | 三星电子株式会社 | 存储器装置、存储装置以及计算系统 |
CN115982078A (zh) * | 2023-01-19 | 2023-04-18 | 北京超弦存储器研究院 | 一种cxl内存模组及内存存储系统 |
CN117632043A (zh) * | 2024-01-25 | 2024-03-01 | 北京超弦存储器研究院 | Cxl内存模组、控制芯片、数据处理方法、介质和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN117827548B (zh) | 2024-05-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7461201B2 (en) | Storage control method and system for performing backup and/or restoration | |
US11422703B2 (en) | Data updating technology | |
CN103765373B (zh) | 数据存储方法、数据存储装置和存储设备 | |
US8650379B2 (en) | Data processing method for nonvolatile memory system | |
CN106776147B (zh) | 一种差异数据备份方法和差异数据备份装置 | |
US20050268068A1 (en) | Method and system for transferring data in a storage operation | |
US5859960A (en) | Semiconductor disk apparatus having a semiconductor memory for a recording medium | |
KR20030017532A (ko) | 데이터 기억 시스템 및 방법 | |
CN103218274A (zh) | 一种预防故障累加的方法和固态硬盘 | |
US8275951B2 (en) | Local bitmaps for an array of redundant storage devices | |
CN102033793A (zh) | 快照方法和固态硬盘 | |
US11137918B1 (en) | Administration of control information in a storage system | |
CN116466879B (zh) | 一种cxl内存模组、内存数据的置换方法及计算机系统 | |
CN106104515A (zh) | 利用非易失性存储器的文件系统设计和故障恢复方法 | |
CN111309245A (zh) | 一种分层存储写入方法和装置、读取方法和装置及系统 | |
US11016665B2 (en) | Event-based dynamic memory allocation in a data storage device | |
CN116414616A (zh) | 一种固态硬盘ssd故障恢复方法、ssd及系统 | |
CN117827548B (zh) | 一种数据备份方法、cxl控制器、cxl模组和存储介质 | |
CN112965783A (zh) | 一种使用存储快照备份虚拟机的系统及方法 | |
CN109739688B (zh) | 快照资源空间管理方法、装置、电子设备 | |
CN103064762B (zh) | 重删备份数据的恢复方法和装置 | |
CN106484587A (zh) | 一种命名空间管理方法、装置及计算机系统 | |
CN111913664B (zh) | 一种数据写入方法及装置 | |
US6233697B1 (en) | Storage apparatus system having redundancy in a rail configuration | |
WO2000013180A1 (en) | Improved method for providing variable sector-format operation to a computer system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |