掌桥专利:专业的专利平台
掌桥专利
首页

写复制方法、处理器核、存储控制器、计算机系统及设备

文献发布时间:2023-06-19 19:30:30


写复制方法、处理器核、存储控制器、计算机系统及设备

技术领域

本申请实施例涉及芯片技术领域,具体涉及一种写复制方法、处理器核、存储控制器、计算机系统及设备。

背景技术

在计算机体系结构中,存储器作为存储数据的重要器件,需要提供存储器容错机制,以降低写入存储器的数据因故障等原因而出现丢失的概率。写复制作为存储器容错机制的一项重要技术,可将写操作进行复制(写操作用于向存储器写数据);从而在存储器保存写操作所写入数据的基础上,进一步利用复制写操作,在存储器中保存镜像数据;进而存储器可利用镜像数据实现数据备份,降低写入存储器的数据出现丢失的概率。

在计算机体系结构中,向存储器发起写操作的器件可能是处理器核,也可能是扩展的PCIE(Peripheral Component Interconnect Express,高速串行计算机扩展总线标准)设备等;在此背景下,针对处理器核发起的写操作,如何实现写复制,成为了本领域技术人员亟需解决的技术问题。

发明内容

有鉴于此,本申请实施例提供一种写复制方法、处理器核、存储控制器、计算机系统及设备,以对处理器核发起的写操作,实现写复制,并降低写复制的使用局限。

为实现上述目的,本申请实施例提供如下技术方案。

第一方面,本申请实施例提供一种写复制方法,应用于处理器核,所述方法包括:

发起写操作,所述写操作至少指示写地址和写数据;

判断镜像地址表指示的地址范围中,是否存在与所述写地址相匹配的目标地址范围;所述镜像地址表设置于所述处理器核,并且指示有允许写复制的至少一个地址范围,以及各地址范围对应的镜像地址,其中,地址范围指向的存储器的类型,与地址范围对应的镜像地址所指向的存储器的类型相同或者不同,存储器的类型分为内存和扩展存储器;

如果存在与所述写地址相匹配的目标地址范围,根据所述目标地址范围对应的目标镜像地址,确定复制写操作的目的地址;其中,所述写地址指向的存储器的类型,与所述目的地址指向的存储器的类型相同或者不同;

根据所述目的地址,生成复制写操作,所述复制写操作用于在所述目的地址写入所述写数据的镜像数据;

发出所述写操作,以及所述复制写操作。

第二方面,本申请实施例提供一种写复制方法,应用于第一存储控制器,所述第一存储控制器控制第一存储器;所述方法包括:

获取处理器核针对第一存储器的写操作,所述写操作至少指示写数据和写数据在第一存储器的写地址;

判断镜像地址表指示的地址范围中,是否存在与所述写地址相匹配的目标地址范围;所述镜像地址表设置于所述第一存储控制器中,并且指示有第一存储器允许写复制的至少一个地址范围,以及各地址范围对应的镜像地址,其中,地址范围对应的镜像地址所指向的存储器的类型与第一存储器的类型相同或者不同,存储器的类型分为内存和扩展存储器;

根据目标地址范围对应的目标镜像地址,确定复制写操作的目的地址;其中,目的地址指向的存储器的类型与第一存储器的类型相同或者不同;

根据复制写操作的目的地址,生成复制写操作,所述复制写操作用于在目的地址写入写数据的镜像数据;

执行所述写操作,并处理所述复制写操作。

第三方面,本申请实施例提供一种处理器核,所述处理器核配置有镜像地址表,所述镜像地址表指示有允许写复制的至少一个地址范围,以及各地址范围对应的镜像地址,其中,地址范围指向的存储器的类型,与地址范围对应的镜像地址所指向的存储器的类型相同或者不同,存储器的类型分为内存和扩展存储器;所述处理器核被配置为执行如上述第一方面所述的写复制方法。

第四方面,本申请实施例提供一种存储控制器,所述存储控制器控制第一存储器;所述存储控制器配置有镜像地址表,所述镜像地址表指示有第一存储器允许写复制的至少一个地址范围,以及各地址范围对应的镜像地址,其中,地址范围对应的镜像地址所指向的存储器的类型与第一存储器的类型相同或者不同,存储器的类型分为内存和扩展存储器;所述存储控制器被配置为执行如上述第二方面所述的写复制方法。

第五方面,本申请实施例提供一种计算机系统,包括如上述第三方面所述的处理器核、内存控制器、所述内存控制器控制的内存、扩展控制器、以及所述扩展控制器控制的扩展存储器。

第六方面,本申请实施例提供一种计算机设备,包括如上述第五方面所述的计算机系统。

本申请实施例提供的写复制方法可配置镜像地址表,镜像地址表指示有允许写复制的至少一个地址范围,以及各地址范围对应的镜像地址,镜像地址用于确定复制写操作的目的地址;并且,在配置镜像地址表时,本申请实施例可配置地址范围所指向的存储器的类型,与地址范围对应的镜像地址所指向的存储器的类型相同或者不同,存储器的类型分为内存和扩展存储器;从而本申请实施例可支持将针对任意存储器类型的写操作,复制为针对任意存储器类型的复制写操作,即写操作和复制写操作指向的存储器类型可以相同或者不同,进而降低写复制的使用局限。

基于此,针对处理器核发起的写操作,本申请实施例可判断镜像地址表指示的地址范围中,是否存在与写操作的写地址相匹配的目标地址范围;若是,则说明写操作可被进行写复制,从而本申请实施例可根据目标地址范围所对应的镜像地址,确定复制写操作的目的地址;基于写操作和复制写操作指向的存储器类型可以相同或者不同,因此写操作的写地址所指向的存储器的类型,与复制写操作的目的地址所指向的存储器的类型可以相同或者不同;进而,根据复制写操作的目的地址,本申请实施例可生成用于在目的地址写入镜像数据的复制写操作。在生成复制写操作后,本申请实施例可发出写操作以及复制写操作,以便在写操作指示的写地址写入写数据,在复制写操作指示的目的地址写入镜像数据,实现对于写操作的写复制。

本申请实施例提供的方案可通过配置镜像地址表,支持将针对任意存储器类型的写操作,复制为针对任意存储器类型的复制写操作;从而针对处理器核发起的写操作,如果写操作允许进行写复制,则本申请实施例可对写操作进行复制,得到复制写操作,并使得写操作的写地址指向的存储器的类型,与复制写操作的目的地址指向的存储器的类型相同或者不同,实现对处理器核发起的写操作进行写复制,并降低写复制的使用局限。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为计算机体系结构的框图。

图2为本申请实施例提供的镜像地址表的示例图。

图3为本申请实施例提供的镜像地址表的另一示例图。

图4为本申请实施例提供的写复制方法的流程图。

图5A为本申请实施例提供的写复制的实现示例图。

图5B为本申请实施例提供的写复制方法的另一实现示例图。

图5C为本申请实施例提供的写复制方法的再一实现示例图。

图5D为本申请实施例提供的写复制方法的又一实现示例图。

图6为本申请实施例提供的写复制方法的另一流程图。

图7为本申请实施例提供的写复制方法的又另一实现示例图。

图8为本申请实施例提供的写复制方法的又再一实现示例图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

为便于理解计算机体系结构,图1示例性的示出了计算机体系结构的可选框图,该计算机体系结构可以例如芯片结构。芯片作为计算机设备中集成重要器件的集成电路,作为可选实现,计算机设备的处理器核(core)、内存控制器(Memory Controller)、PCIE控制器等重要器件可集成于芯片中。

在一个实现示例中,图1所示的计算机体系结构可以由多个不同的功能片(Tile)组成,这些功能片包括:处理器核、内存控制器、PCIE控制器、UPI(Ultra PathInterconnect,高速通道互联)、CHA(Caching and Home Agent,缓存功能和本地代理)、SF(Snoop Filter,Snoop过滤器)以及LLC(Last Level Cache,末级缓存)等。

结合图1所示,计算机体系结构中可以具有多个处理器核110,并且多个处理器核110可以采用总线连接;在可选实现中,多个处理器核110可以采用Mesh(网格)总线连接;例如,多个处理器核110采用Mesh结构连接,每个处理器核110位于Mesh总线的网格交叉点上,呈网格状分布。在一个实现示例中,每个处理器核可以采用分布式的方式分散为功能片,并且各个处理器核的功能片通过Mesh架构进行组织连接。需要说明的是,多个处理器核110的数量可以根据计算机体系结构的架构设计而定,本申请实施例并不设限。

进一步结合图1所示,每个处理器核110搭配有CHA、SF以及LLC,LLC例如L3缓存。在一个实现示例中,在Mesh总线的连接架构下,一个CHA、SF和LLC可搭配一个处理器核的功能片,形成一个节点,并挂接在Mesh总线上。

需要说明的是,处理器核与处理器核搭配的CHA、SF以及LLC可以视为是计算机体系结构中的核心组件,计算机体系结构除具有上述核心组件外,还可以具有非核心组件。进一步结合图1所示,计算机体系结构可以通过功能片的形式,设置有至少一个内存控制器120,至少一个PCIE控制器130和至少一个UPI 140等非核心组件。

其中,内存控制器120为存储控制器的一种可选形式,可以控制内存,用于控制内存并负责内存与处理器核之间的数据交换;内存控制器120的数量可以为一个或者多个,一个内存控制器120可控制一个或多个内存。PCIE控制器130为存储控制器的另一种可选形式,PCIE控制器130可以连接PCIE EP(End Point,终点)等PCIE存储器,实现数据在PCIE存储器的读写;PCIE控制器130的数量可以为一个或多个,一个PCIE控制器130可以控制一个或多个PCIE存储器;PCIE控制器130例如PCIE根复合体(PCIE Root Complex)。UPI可以视为是计算机体系结构中的一致互联组件,能够提供高速、低延迟的处理器核之间的数据传输;UPI的数量可以为一个或多个。

需要说明的是,PCIE仅是计算机体系结构支持的一种扩展总线标准,计算机体系结构也可支持其他形式的扩展总线标准;基于扩展总线标准,计算机体系结构可以设置相应的扩展设备(例如PCIE设备),设置相应的扩展控制器(例如PCIE控制器)和扩展存储器(例如PCIE存储器)。

需要进一步说明的是,图1所示的计算机体系结构仅是一种可选示例,本申请实施例也可支持其他形式的计算机体系结构。

通过上述介绍可以看出,在计算机体系结构中,存储器可以分为内存和扩展存储器,扩展存储器例如PCIE存储器等;相应的,针对存储器的写操作可能是针对内存的写操作,也可能是针对扩展存储器的写操作(例如针对PCIE存储器的写操作)。针对内存的写操作可以视为是,向内存写数据的写操作,写操作的写地址属于内存地址;针对扩展存储器的写操作可以视为是,向扩展存储器写数据的写操作(例如向PCIE存储器写数据的写操作),写操作的写地址属于扩展存储器的存储地址。

在一个示例中,针对内存的写操作实现写复制的一种写复制方式可以是:

基于内存由内存控制器进行控制,在内存控制器中增加控制逻辑,当处理器核发起向内存写数据的写操作时,内存控制器可获取写操作并将写操作进行复制,得到复制写操作;从而,内存控制器在内存写入写操作的数据时,可在内存中额外写入复制写操作的镜像数据,实现在内存中备份数据。

然而,上述写复制方式存在使用上的局限:上述写复制方式是由内存控制器实现写复制,因此上述写复制方式只适用于处理器核发起的写操作是针对内存的情况(也就是说,处理器核发起的写操作的写地址属于内存地址),并不适用于处理器核向PCIE存储器等扩展存储器发起写操作的情况(也就是说,处理器核发起的写操作的写地址不能属于扩展存储器的存储地址);同时,上述写复制方式的镜像数据只能保存在内存中,而无法保存在扩展存储器中。

可以看出,对于处理器核发起的写操作(处理器核发起的写操作可能针对内存,也可能是针对PCIE存储器等扩展存储器),上述示例的写复制方式存在使用局限。基于此,本申请实施例提供改进的写复制方案,通过在处理器核设置镜像地址表(mirror addr tbl),以在处理器核发起的写操作的写地址位于镜像地址表指示的允许写复制的地址范围内时,对处理器核发起的写操作进行写复制,并且确定复制写操作的目的地址;本申请实施例提供的写复制方案通过配置镜像地址表,可以不局限处理器核发起的写操作是针对内存还是扩展存储器,并且不局限复制写操作的目的地址是指向内存还是扩展存储器,从而降低写复制的使用局限。

作为可选实现,本申请实施例可以配置镜像地址表(mirror addr tbl),以判断处理器核发起的写操作的写地址,是否在允许写复制的地址范围内;如果处理器核发起的写操作的写地址,位于镜像地址表指示的允许写复制的地址范围内,则本申请实施例可对处理器核发起的写操作进行写复制,并基于镜像地址表配置的镜像地址,确定出复制写操作的目的地址。

在上述思路下,本申请实施例可通过配置镜像地址表,降低写操作的写地址与复制写操作的目的地址之间的限制,例如,写操作的写地址指向内存,则复制写操作的目的地址可以是指向PCIE存储器等扩展存储器,也可以是指向内存;又例如,写操作的写地址指向扩展存储器,则复制写操作的目的地址可以是指向扩展存储器,也可以是指向内存。也就是说,复制写操作的目的地址不再局限于写操作的写地址所指向的存储器,而是由镜像地址表决定;从而通过配置镜像地址表,可以使得写操作的写地址和复制写操作的目的地址,在内存地址和扩展存储器的存储地址之间任意的变换,进而降低写复制技术对于处理器核发起的写操作的使用局限。本申请实施例所指的存储器的类型可以分为内存和扩展存储器(例如PCIE存储器)等存储器类型。

作为可选实现,镜像地址表可以至少指示允许写复制的地址范围以及对应的镜像地址,镜像地址用于确定复制写操作的目的地址。从而,针对处理器核发起的写操作,本申请实施例可判断写操作的写地址是否位于镜像地址表指示的允许写复制的地址范围内,若是,则本申请实施例可根据对应的镜像地址确定复制写操作的目的地址,并基于复制写操作的目的地址生成复制写操作,从而实现对处理器核发起的写操作进行写复制。

在一个实现示例中,图2示例性的示出了本申请实施例提供的镜像地址表的可选示例图。如图2所示,镜像地址表可以包括至少一个表项记录,一个表项记录可以指示允许写复制的一个地址范围,以及对应的镜像地址。从而,针对处理器核发起的写操作,本申请实施例可判断镜像地址表中是否存在地址范围与写操作的写地址相匹配的表项记录,若是,则可确定写操作的写地址在镜像地址表指示的允许写复制的地址范围内;从而,本申请实施例可基于相匹配的表项记录所指示的镜像地址,确定复制写操作的目的地址,并基于复制写操作的目的地址生成复制写操作,从而实现对处理器核发起的写操作进行写复制。

为降低写复制技术对于处理器核发起的写操作的使用局限,作为可选实现,本申请实施例在配置镜像地址表时,可以不限制表项记录指示的地址范围和镜像地址所指向的存储器的类型,也就是说,任一存储器类型的地址范围和任意存储器类型的镜像地址可以记录在同一表项记录中。

在进一步的可选实现中,镜像地址表中指示的地址范围可以由源地址和地址总长度决定,例如,源地址和地址总长度结合后的地址范围,为镜像地址表指示的写复制的地址范围。从而,镜像地址表中的任一个表项记录可以由源地址、地址总长度和镜像地址构成。在此思路下,作为可选实现,图3示例性的示出了本申请实施例提供的镜像地址表的另一可选示例图。结合图3所示,镜像地址表可以包括源地址(src_addr)字段、镜像地址(dst_addr)字段和地址总长度(len)字段。源地址字段可以记录允许写复制的源地址;地址总长度字段可以记录允许写复制的地址总长度,从而源地址和地址总长度决定允许写复制的地址范围;镜像地址字段可以记录复制写操作的镜像地址,用于生成复制写操作的目的地址。

镜像地址表可以具有多个表项记录,每个表项记录记录源地址字段的一个源地址,地址总长度字段的一个地址总长度,镜像地址字段的一个镜像地址;也就是说,一个表项记录记录一个源地址、一个地址总长度、以及一个镜像地址;不同表项记录所记录的源地址、地址总长度和镜像地址中的至少一项不同,多个表项记录形成镜像地址表。

本申请实施例可通过配置镜像地址表中各个表项记录所记录的源地址、地址总长度和镜像地址,以实现配置镜像地址表。为降低写复制技术对于处理器核发起的写操作的使用局限,作为可选实现,本申请实施例在配置镜像地址表时,可以不限制源地址和镜像地址所指向的存储器的类型,也就是说,任意存储器类型的源地址和任意存储器类型的镜像地址可以记录在同一表项记录中。可选的,基于存储器的类型可以分为内存和扩展存储器,对于镜像地址表中的任一个表项记录,本申请实施例可设置源地址属于内存地址和扩展存储器的存储地址中的任一项,镜像地址属于内存地址和扩展存储器的存储地址中的任一项。也就是说,在可能的实现中,处理器核针对内存的写操作,可能被复制为针对扩展存储器的复制写操作,也可能被复制为针对内存的复制写操作,这需要视镜像地址表的配置目的和具体配置而定,本申请实施例并不设限。在其他可能的实现中,处理器核针对扩展存储器的写操作,可能被复制为针对内存的复制写操作,也可能被复制为针对扩展存储器的复制写操作,这需要视镜像地址表的配置目的和具体配置而定,本申请实施例并不设限。

在完成镜像地址表的配置后,作为一种可选实现,镜像地址表可以设置于处理器核中,从而处理器核在发起写操作时,处理器核可通过内部设置的镜像地址表,判断写操作是否能够进行写复制;并且,处理器核可在写操作能够进行写复制时,通过镜像地址表确定复制写操作的目的地址。可选的,图4示例性的示出了本申请实施例提供的写复制方法的可选流程图,该方法流程可由处理器核执行实现,参照图4,该方法流程可以包括如下步骤。

在步骤S410中,发起写操作,所述写操作至少指示写地址和写数据。

处理器核在向存储器写数据时,可发起针对存储器的写操作,写操作可以指示存储器的写地址,和在写地址所写入的写数据。

在可选实现中,处理器核发起的写操作可以是针对内存的写操作,例如处理器核在向内存写数据时,处理器核可发起针对内存的写操作,相应的,写操作的写地址属于内存的内存地址。需要说明的是,处理器核针对内存的写操作,可通过总线(例如Mesh总线)传递到内存控制器,以由内存控制器执行写操作。

在可选实现中,处理器核发起的写操作可以是针对扩展存储器(例如PCIE存储器)的写操作,例如处理器核在向扩展存储器写数据时,处理器核可发起针对扩展存储器的写操作,相应的,写操作的写地址属于扩展存储器的存储地址。需要说明的是,处理器核针对扩展存储器的写操作,可通过总线(例如Mesh总线)传递到扩展控制器,以由扩展控制器执行写操作。例如,处理器核针对PCIE存储器的写操作,可通过Mesh总线传递到PCIE控制器,由PCIE控制器执行针对PCIE存储器的写操作。

在步骤S411中,判断镜像地址表指示的地址范围中,是否存在与写地址相匹配的目标地址范围,若是,执行步骤S412,若否,执行步骤S415。

在本申请实施例中,镜像地址表设置于处理器核,并且镜像地址表指示有允许写复制的至少一个地址范围,以及各地址范围对应的镜像地址,其中,地址范围指向的存储器的类型,与地址范围对应的镜像地址所指向的存储器的类型相同或者不同。

处理核发起写操作时,处理器核可基于镜像地址表指示的地址范围,判断是否存在与写地址相匹配的目标地址范围;例如,判断写操作的写地址是否在允许写复制的任一地址范围内(为便于说明,与写地址相匹配的地址范围可称为目标地址范围)。如果镜像地址表指示的地址范围中,存在与写地址相匹配的目标地址范围,则说明写操作可进行写复制。如果镜像地址表指示的地址范围中,不存在与写地址相匹配的目标地址范围,则说明写操作不可进行写复制。

结合前文描述,镜像地址表指示的地址范围是用于与写操作的写地址进行匹配,因此在写操作允许进行写复制时,目标地址范围是指向写操作所针对的存储器,而镜像地址用于确定复制写操作的目的地址,因此目标地址范围对应的镜像地址是指向复制写操作所针对的存储器。基于此,为降低写复制的使用局限,本申请实施例对写操作针对的存储器和复制写操作针对的存储器可以不进行限制,而是可由计算机体系结构的设计人员或者计算机设备的使用人员,根据写复制的具体目标进行具体配置;例如,计算机体系结构的设计人员或者计算机设备的使用人员可以在镜像地址表中,配置地址范围所指向的存储器类型,和地址范围对应的镜像地址所指向的存储器类型,并且不局限地址范围和镜像地址所指向的存储器类型。也就是说,计算机体系结构的设计人员或者计算机设备的使用人员,可根据写复制的具体目标,在镜像地址表中配置地址范围所指向的存储器类型,相同于或者不同于,地址范围对应的镜像地址所指向的存储器类型。

可以理解的是,如果地址范围所指向的存储器类型和地址范围对应的镜像地址所指向的存储器类型相同,则说明写操作和复制写操作针对的存储器类型相同;例如,写操作和复制写操作均针对内存或者扩展存储器。如果地址范围所指向的存储器类型和地址范围对应的镜像地址所指向的存储器类型不同,则说明写操作和复制写操作针对的存储器类型不同;例如,写操作针对内存,复制写操作针对扩展存储器;又例如,写操作针对扩展存储器,复制写操作针对内存。

作为可选实现,结合图2所示,镜像地址表可以包括至少一个表项记录,一个表项记录可以指示允许写复制的一个地址范围,以及对应的镜像地址。基于此,在执行步骤S411的可选实现中,本申请实施例可根据写操作的写地址,查找镜像地址表中的各个表项记录,并判断是否存在地址范围与写地址相匹配的目标表项记录。也就是说,本申请实施例可判断写操作的写地址,是否位于任一个表项记录指示的地址范围内;如果写操作的写地址位于镜像地址表中某一个表项记录指示的地址范围内,则可确认写操作允许进行写复制(相应的,该表项记录可称为目标表项记录,目标表项记录所指示的地址范围,为与写地址相匹配的目标地址范围),否则,确认写操作不允许进行写复制。

在更进一步的可选实现中,结合图3所示,表项记录指示的地址范围可以由源地址和地址总长度决定,相应的,一个表项记录可以记录一个源地址、一个地址总长度和一个镜像地址;其中,表项记录中的源地址和地址总长度决定表项记录指示的允许写复制的地址范围。基于此,本申请实施例可根据各表项记录所记录的源地址和地址总长度,确定各表项记录指示的地址范围;其中,表项记录的源地址为表项记录指示的地址范围的起始地址,表项记录的源地址与地址总长度结合后的地址为,表项记录指示的地址范围的结束地址;从而,本申请实施例可根据各表项记录指示的地址范围,判断是否存在地址范围与写地址相匹配的目标表项记录,以实现判断镜像地址表中是否存在地址范围与写地址相匹配的目标表项记录。

在一个实现示例中,对于镜像地址表中的任一个表项记录,表项记录中的源地址可作为表项记录指示的起始地址,表项记录中源地址与地址总长度相加后的地址可作为表项记录指示的结束地址,从而表项记录指示的起始地址和结束地址形成的地址范围,可作为表项记录指示的允许写复制的地址范围。为便于理解,将一个表项记录的源地址定义为src_addr,地址总长度定义为len,则[src_addr,src_addr+len]形成的地址范围为,该表项记录指示的允许写复制的地址范围。对于处理器核发起的写操作,处理器核可查找镜像地址表中各个表项记录,将写操作的写地址与各个表项记录指示的地址范围[src_addr,src_addr+len]进行比较匹配,如果写地址位于某一个表项记录指示的地址范围内,则写操作的写地址命中镜像地址表;相应的,与写地址相匹配的地址范围所对应的表项记录可称为目标表项记录,与写地址相匹配的地址范围可称为目标地址范围。

在可能的实现方式中,允许写复制的地址范围可以是存储器中存储用户敏感数据、用户关键数据的地址范围,镜像地址表指示的允许写复制的地址范围可以根据计算机体系结构的设计人员或者使用人员的需求而定,本申请实施例对此并不设限。

在步骤S412中,根据目标地址范围对应的目标镜像地址,确定复制写操作的目的地址;其中,写地址指向的存储器的类型,与目的地址指向的存储器的类型相同或者不同。

基于步骤S411的判断结果为是(即镜像地址表中存在与写地址相匹配的目标地址范围),本申请实施例可确认处理器核发起的写操作允许进行写复制,此时,本申请实施例可对写操作进行复制,以得到复制写操作。为得到复制写操作,本申请实施例需确定复制写操作的目的地址。作为可选实现,复制写操作的目的地址可以由目标地址范围对应的目标镜像地址确定(为便于说明,本申请实施例将目标地址范围对应的镜像地址称为目标镜像地址),从而,本申请实施例可从镜像地址表中确定与目标地址范围对应的目标镜像地址,根据目标镜像地址,确定复制写操作的目的地址。

在一个实现示例中,假设镜像地址表记录有n个表项记录,每个表项记录记录有一个源地址src_addr、一个地址总长度len和一个镜像地址dst_addr,并且每个表项记录指示的允许写复制的地址范围为[src_addr,src_addr+len];假如写操作的写地址位于表项记录k指示的地址范围内(k属于1至n),则表项记录k为目标表项记录,表项记录k指示的地址范围为目标地址范围,表项记录k指示的镜像地址为目标镜像地址;从而本申请实施例可根据表项记录k指示的目标镜像地址,确定复制写操作的目的地址。

作为一种可选实现,本申请实施例可根据目标镜像地址,写地址以及目标表项记录所记录的源地址,确定复制写操作的目的地址;例如,将目标镜像地址与写地址相加,再与目标表项记录指示的源地址相减,以得到复制写操作的目的地址。在一个实现示例中,假设表项记录k为目标表项记录,则本申请实施例可将目标表项记录k指示的目标镜像地址dst_addr,与写地址raw_addr相加,再与目标表项记录k指示的源地址src_addr相减,从而得到复制写操作的目的地址dest_addr。例如,复制写操作的目的地址dest_addr=“目标镜像地址dst_addr”+“写地址raw_addr”-“源地址src_addr”。

需要说明的是,由于表项记录指示的地址范围是用于与写操作的写地址进行比较匹配,因此当存在与写地址相匹配的目标地址范围时,写地址与目标地址范围指向的存储器相同;进一步,由于本申请实施例在配置镜像地址表时,并不限制每个表项记录的地址范围指向的存储器类型,以及地址范围对应的镜像地址所指向的存储类型,因此在确定复制写操作的目的地址时,本申请实施例适应的对写地址指向的存储类型和目的地址指向的存储器类型并不设限;也就是说,写操作的写地址指向的存储器的类型,与复制写操作的目的地址指向的存储器的类型可以相同或者不同。

例如,写操作的写地址指向内存,则本申请实施例并不限制复制写操作的目的地址是指向扩展存储器还是内存,这取决于镜像地址表的配置目标和配置目的。又例如,写操作的写地址指向扩展存储器,则本申请实施例并不限制复制写操作的目的地址是指向内存还是扩展存储器,这取决于镜像地址表的配置目标和配置目的。

在步骤S413中,根据复制写操作的目的地址,生成复制写操作,所述复制写操作用于在目的地址写入写数据的镜像数据。

在确定复制写操作的目的地址后,本申请实施例可基于目的地址,生成向目的地址写入镜像数据的复制写操作,由于写地址指向的存储器类型与目的地址指向的存储器类型可以相同或者不同,因此写操作针对的存储器类型与复制写操作针对的存储器类型可以相同或者不同。需要说明的是,所生成的复制写操作可以用于在目的地址写入镜像数据,镜像数据例如写数据的复制数据。

在步骤S414中,发出写操作,以及复制写操作。

在本申请实施例中,处理器核可以发出写操作,以在写地址写入写数据;同时,处理器核可以在生成复制写操作后,发出复制写操作,以在目的地址写入镜像数据。在本申请实施例中,处理器核可通过总线(例如Mesh总线)发出写操作和复制写操作,基于写操作和复制写操作指向的存储器类型可以相同或者不同,处理器核通过总线可能向相同的存储控制器或者不同的存储控制器,传递写操作和复制写操作。例如,写操作针对内存,复制写操作针对PCIE存储器,则处理器核可通过总线将写操作传递给内存控制器,将复制写操作传递给PCIE控制器。当然,写操作也可能针对PCIE存储器,而复制写操作针对内存;还有可能是写操作和复制写操作均针对内存或者PCIE存储器。

在步骤S415中,发出写操作。

基于步骤S411的判断结果为否(即镜像地址表中不存在与写地址相匹配的目标地址范围),本申请实施例可确认处理器发起的写操作不允许进行写复制,此时,处理器核可发出写操作,以在写地址写入写数据。

本申请实施例提供的写复制方法可配置镜像地址表,镜像地址表指示有允许写复制的至少一个地址范围,以及各地址范围对应的镜像地址,镜像地址用于确定复制写操作的目的地址;并且,在配置镜像地址表时,本申请实施例可配置地址范围所指向的存储器的类型,与地址范围对应的镜像地址所指向的存储器的类型相同或者不同,从而本申请实施例可支持将针对任意存储器类型的写操作,复制为针对任意存储器类型的复制写操作,即写操作和复制写操作指向的存储器类型可以相同或者不同,进而降低写复制的使用局限。

基于此,针对处理器核发起的写操作,本申请实施例可判断镜像地址表指示的允许写复制的地址范围中,是否存在与写操作的写地址相匹配的目标地址范围;若是,则说明写操作可被进行写复制,从而本申请实施例可根据目标地址范围所对应的镜像地址,确定复制写操作的目的地址;基于写操作和复制写操作指向的存储器类型可以相同或者不同,因此写操作的写地址所指向的存储器的类型,与复制写操作的目的地址所指向的存储器的类型可以相同或者不同;进而,根据复制写操作的目的地址,本申请实施例可生成用于在目的地址写入镜像数据的复制写操作。在生成复制写操作后,本申请实施例可发出写操作以及复制写操作,以便在写操作指示的写地址写入写数据,在复制写操作指示的目的地址写入镜像数据,实现对于写操作的写复制。

本申请实施例提供的方案可通过配置镜像地址表,支持将针对任意存储器类型的写操作,复制为针对任意存储器类型的复制写操作;从而针对处理器核发起的写操作,如果写操作允许进行写复制,则本申请实施例可对写操作进行复制,得到复制写操作,并使得写操作的写地址指向的存储器的类型,与复制写操作的目的地址指向的存储器的类型相同或者不同,实现对处理器核发起的写操作进行写复制,并降低写复制的使用局限。

基于本申请实施例支持将针对任意存储器类型的写操作,复制为针对任意存储器类型的复制写操作,本申请实施例进行写复制可能存在如下几种情况:

情况一、写操作针对内存,复制写操作针对扩展存储器;

情况二、写操作针对扩展存储器,复制写操作针对内存;

情况三、写操作针对内存,复制写操作也针对内存;

情况四、写操作针对扩展存储器,复制写操作也针对扩展存储器。

为便于说明,下面以PCIE的扩展总线标准为例,对上述几种情况的实现示例进行介绍。

针对情况一,在图1所示计算机体系结构的基础上,图5A示例性的示出了本申请实施例提供的写复制方法的实现示例图,如图5A所示,在计算机体系结构中,处理器核在向内存写数据时,可发起针对内存的写操作,此时,写操作的写地址属于内存的内存地址,写操作的写数据为写入该内存地址的数据;为便于示例,设写操作的写地址为内存地址511;从而,处理器核可根据写操作的内存地址511,查找镜像地址表中的各个表项记录;假设写操作的内存地址511在镜像地址表中命中的目标表项记录如图5A中所示,则进一步假设目标表项记录所记录的源地址为内存地址512,地址总长度为L1,镜像地址为PCIE存储器的存储地址513;也就是说,内存地址512和地址总长度L1可以指示一段内存地址范围,并且写操作的内存地址511位于该内存地址范围内;进而,本申请实施例可确定处理器核针对内存的写操作可进行写复制,将目标表项记录的镜像地址(PCIE存储器的存储地址513),加上写操作的内存地址511,并减去目标表项记录的源地址(内存地址512),以得到复制写操作的目的地址;由于目标表项记录的镜像地址属于PCIE存储器的存储地址,因此复制写操作的目的地址指向PCIE存储器,属于PCIE存储器的存储地址;为便于示例,可设复制写操作的目的地址为PCIE存储器的存储地址514;

处理器核在确定复制写操作的目的地址(PCIE存储器的存储地址514)后,可生成复制写操作,复制写操作可以用于在PCIE存储器的存储地址514,写入镜像数据;

进而,处理器核可通过总线(例如Mesh总线)向内存控制器,传递针对内存的写操作,以便内存控制器在内存地址511写入写数据;同时,处理器核可通过总线向PCIE控制器,传递针对PCIE存储器的复制写操作,以便PCIE控制器在PCIE存储器的存储地址514,写入镜像数据。

针对情况二,在图1所示计算机体系结构的基础上,图5B示例性的示出了本申请实施例提供的写复制方法的另一实现示例图,如图5B所示,在计算机体系结构中,处理器核在向PCIE存储器写数据时,可发起针对PCIE存储器的写操作,此时,写操作的写地址属于PCIE存储器的存储地址,写操作的写数据为写入该存储地址的数据;为便于示例,设写操作的写地址为PCIE存储器的存储地址521;从而,处理器核可根据写操作的存储地址521,查找镜像地址表中的各个表项记录;假设写操作的存储地址521在镜像地址表中命中的目标表项记录如图5B中所示,则进一步假设目标表项记录所记录的源地址为PCIE存储器的存储地址522,地址总长度为L2,镜像地址为内存地址523;也就是说,PCIE存储器的存储地址522和地址总长度L2可以指示一段PCIE存储器的存储地址范围,并且写操作的存储地址521位于该存储地址范围内;进而,本申请实施例可确定处理器核针对PCIE存储器的写操作可进行写复制,将目标表项记录的镜像地址(内存地址523),加上写操作的存储地址521,并减去目标表项记录的源地址(PCIE存储器的存储地址522),以得到复制写操作的目的地址;由于目标表项记录的镜像地址属于内存地址,因此复制写操作的目的地址指向内存,属于内存中的地址;为便于示例,可设复制写操作的目的地址为内存地址524;

处理器核在确定复制写操作的目的地址(内存地址524)后,可生成复制写操作,复制写操作可以用于在内存地址524,写入镜像数据;

进而,处理器核可通过总线(例如Mesh总线)向PCIE控制器,传递针对PCIE存储器的写操作,以便PCIE控制器在PCIE存储器的存储地址521写入写数据;同时,处理器核可通过总线向内存控制器,传递针对内存的复制写操作,以便内存控制器在内存地址524,写入镜像数据。

针对情况三,图5C示例性的示出了本申请实施例提供的写复制方法的再一实现示例图,如图5C所示,处理器核在向内存写数据时,可发起针对内存的写操作;为便于示例,设写操作的写地址为内存地址531;从而,处理器核可根据写操作的内存地址531,查找镜像地址表中的各个表项记录;假设目标表项记录如图5C中所示,该目标表项记录所记录的源地址为内存地址532,地址总长度为L3,镜像地址为内存地址533;也就是说,写操作的内存地址531位于内存地址532和地址总长度L3指示的内存地址范围内;进而,本申请实施例可确定处理器核针对内存的写操作可进行写复制,将目标表项记录的镜像地址(内存地址533),加上写操作的内存地址531,并减去目标表项记录的源地址(内存地址532),以得到复制写操作的目的地址;由于目标表项记录的镜像地址属于内存的地址,因此复制写操作的目的地址指向内存,属于内存中的地址;为便于示例,可设复制写操作的目的地址为内存地址534;

处理器核在确定复制写操作的目的地址(内存地址534)后,可生成复制写操作,复制写操作可以用于在内存地址534,写入镜像数据;

进而,处理器核可通过总线(例如Mesh总线)向内存控制器,传递针对内存的写操作,以便内存控制器在内存地址531写入写数据;同时,处理器核可通过总线向内存控制器,传递针对内存的复制写操作,以便内存控制器在内存地址534,写入镜像数据。

针对情况四,图5D示例性的示出了本申请实施例提供的写复制方法的又一实现示例图,如图5D所示,处理器核在向PCIE存储器写数据时,可发起针对PCIE存储器的写操作,为便于示例,设写操作的写地址为PCIE存储器的存储地址541;从而,处理器核可根据写操作的存储地址541,查找镜像地址表中的各个表项记录;假设目标表项记录如图5D中所示,该目标表项记录所记录的源地址为PCIE存储器的存储地址542,地址总长度为L4,镜像地址为PCIE存储器的存储地址543;也就是说,PCIE存储器的存储地址542和地址总长度L4可以指示一段PCIE存储器的存储地址范围,并且写操作的存储地址541落在该存储地址范围内;进而,本申请实施例可确定处理器核针对PCIE存储器的写操作可进行写复制,将目标表项记录的镜像地址(存储地址543),加上写操作的存储地址541,并减去目标表项记录的源地址(存储地址542),以得到复制写操作的目的地址;复制写操作的目的地址指向PCIE存储器,属于PCIE存储器的存储地址,为便于示例,可设复制写操作的目的地址为PCIE存储器的存储地址544;

处理器核在确定复制写操作的目的地址(存储地址544)后,可生成复制写操作,复制写操作可以用于在PCIE存储器的存储地址544,写入镜像数据;

进而,处理器核可通过总线(例如Mesh总线)向PCIE控制器,传递针对PCIE存储器的写操作,以便PCIE控制器在PCIE存储器的存储地址541写入写数据;同时,处理器核可通过总线向PCIE控制器,传递针对PCIE存储器的复制写操作,以便PCIE控制器在PCIE存储器的存储地址544,写入镜像数据。

基于本申请实施例提供的由处理器核执行实现的写复制方法,本申请实施例还可提供用于执行实现该方法的处理器核。

作为可选实现,本申请实施例提供的处理器核可配置镜像地址表,所述镜像地址表指示有允许写复制的至少一个地址范围,以及各地址范围对应的镜像地址,其中,地址范围指向的存储器的类型,与地址范围对应的镜像地址所指向的存储器的类型相同或者不同。在配置镜像地址表的基础上,本申请实施例提供的处理器核可以被配置为,执行实现本申请实施例提供的由处理器核执行实现的方法流程。

本申请实施例还提供一种计算机系统,该计算机系统可以包括本申请实施例上述提供的处理器核。进一步的,本申请实施例还可提供一种计算机设备,例如终端设备或者服务器设备,该计算机设备可以包括本申请实施例上述提供的计算机系统。

在其他可能的替代实现中,镜像地址表可以设置于第一存储控制器中,从而由第一存储控制器执行实现本申请实施例提供的写复制方法。在可能的示例中,第一存储控制器可以为内存控制器或者扩展存储器(例如PCIE控制器),也就是说,镜像地址表可以设置于内存控制器或者扩展存储器中。为便于说明,本申请实施例可将第一存储控制器控制的存储器称为第一存储器;例如,第一存储控制器为内存控制器,则第一存储器可以理解为是内存;又例如,第一存储控制器为扩展控制器(比如PCIE控制器),则第一存储器可以理解为是扩展存储器(比如PCIE存储器)。

在由第一存储控制器执行实现本申请实施例提供的写复制方法的情况下,基于第一存储控制器控制第一存储器,第一存储控制器可获取处理器核针对第一存储器的写操作,并基于镜像地址表,将写操作进行复制;并且复制写操作针对的存储器的类型可以与第一存储器的类型相同或者不同;也就是说,第一存储控制器可将处理器核针对第一存储器的写操作进行复制,并且复制写操作针对的存储器的类型并不设限。

基于上述思路,图6示例性的示出了本申请实施例提供的写复制方法的另一可选流程图,该方法流程可由第一存储控制器执行实现,并且第一存储控制器控制第一存储器;第一存储控制器可以为任意类型的存储控制器,例如内存控制器和扩展控制器中的任一项。参照图6,该方法流程可以包括如下步骤。

在步骤S610中,获取处理器核针对第一存储器的写操作,所述写操作至少指示写数据和写数据在第一存储器的写地址。

基于第一存储控制器控制第一存储器,因此处理器核针对第一存储器发起写操作时,该写操作可通过总线(例如Mesh总线)传递到第一存储控制器,以使得第一存储控制器获取到处理器核针对第一存储器的写操作。处理器核针对第一存储器的写操作可以至少指示处理器核需写入第一存储器的写数据,以及写数据写入第一存储器的写地址。

在可能的实现示例中,如果第一存储控制器为内存控制器,则第一存储器为内存;处理器核发起针对内存的写操作时,内存控制器可通过总线获取到处理器核针对内存的写操作,该写操作可以至少指示处理器核需写入内存的写数据,以及写数据写入内存的写地址,即此时写地址属于内存地址。在其他可能的实现示例中,如果第一存储控制器为扩展控制器,则第一存储器为扩展存储器;处理器核发起针对扩展存储器的写操作时,扩展控制器可通过总线获取到处理器核针对扩展存储器的写操作,该写操作可以至少指示处理器核需写入扩展存储器的写数据,以及写数据写入扩展存储器的写地址,即此时写地址属于扩展存储器的存储地址。

在步骤S611中,判断镜像地址表指示的地址范围中,是否存在与所述写地址相匹配的目标地址范围,若是,执行步骤S612,若否,执行步骤S615。

在本申请实施例中,镜像地址表设置于第一存储控制器中,并且指示有第一存储器允许进行写复制的至少一个地址范围,以及各地址范围对应的镜像地址,其中,地址范围对应的镜像地址所指向的存储器的类型与第一存储器的类型相同或者不同。

在由第一存储控制器执行实现本申请实施例提供的写复制方法的情况下,镜像地址表设置于第一存储控制器,并且镜像地址表指示的允许写复制的地址范围为,第一存储器允许进行写复制的地址范围。在可能的实现示例中,如果第一存储控制器为内存控制器,则镜像地址表设置于内存控制器中,并且指示有内存允许进行写复制的地址范围;在其他可能的实现示例中,如果第一存储控制器为扩展控制器(例如PCIE控制器),则镜像地址表设置于扩展控制器中,并且指示有扩展存储器(例如PCIE存储器)允许进行写复制的地址范围。

在处理器核针对第一存储器的写操作允许进行写复制的情况下,本申请实施例对于复制写操作针对的存储器类型并不设限,基于复制写操作的目的地址根据镜像地址确定,因此在配置镜像地址表时,镜像地址所指向的存储器的类型与第一存储器的类型相同或者不同。

在可选实现中,镜像地址表可以包括至少一个表项记录,一个表项记录指示第一存储器允许写复制的一个地址范围,以及对应的镜像地址,镜像地址指向的存储器的类型与第一存储器的类型相同或者不同。在可能的实现示例中,如果镜像地址表设置于内存控制器中,则一个表项记录指示内存允许写复制的一个地址范围,以及对应的镜像地址,镜像地址可以指向内存,也可以指向扩展存储器。在可能的实现示例中,如果镜像地址表设置于扩展控制器中,则一个表项记录指示扩展存储器允许写复制的一个地址范围,以及对应的镜像地址,镜像地址可以指向内存,也可以指向扩展存储器。

在更进一步的可选实现中,表项记录指示的地址范围可由表项记录所记录的源地址和地址总长度决定,在镜像地址表设置于第一存储控制器的情况下,一个表项记录记录一个源地址、一个地址总长度和一个镜像地址,源地址属于第一存储器的存储地址。

在镜像地址表指示第一存储器允许进行写复制的至少一个地址范围,以及各地址范围对应的镜像地址的情况下,判断是否存在与写地址相匹配的目标地址范围的实现方式和相关内容,可参照前文相关部分的描述,此处不再展开。

在步骤S612中,根据目标地址范围对应的目标镜像地址,确定复制写操作的目的地址;其中,目的地址指向的存储器的类型与第一存储器的类型相同或者不同。

在步骤S613中,根据复制写操作的目的地址,生成复制写操作,所述复制写操作用于在目的地址写入写数据的镜像数据。

本申请实施例对于复制写操作的目的地址指向的存储器类型并不设限。例如,写操作针对内存,复制写操作可针对内存或者扩展存储器。在允许对写操作进行写复制的情况下,确定复制写操作的目的地址,以及生成复制写操作的方式,可参照前文相关部分的描述,此处不再展开。

在步骤S614中,执行写操作,并处理复制写操作。

由于第一存储控制器控制第一存储器,因此对于针对第一存储器的写操作,第一存储控制器可执行写操作,从而在第一存储器的写地址写入写数据。同时,在写操作允许进行写复制的情况下,基于第一存储控制器生成的复制写操作,第一存储控制器可对复制写操作进行进一步的处理;例如,如果复制写操作也针对第一存储器,则第一存储控制器可执行复制写操作,以在第一存储器的目的地址,写入镜像数据;又例如,如果复制写操作指向的存储器类型不同于第一存储器的类型,则第一存储控制器可通过总线将复制写操作传递给复制写操作对应的存储控制器,以便复制写操作对应的存储控制器执行复制写操作。

在步骤S615中,执行写操作。

可以看出,相比于前文由处理器核执行的写复制方法,本申请实施例由第一存储控制器执行的写复制方法在实现上的主要区别在于:写操作针对第一存储器,并且镜像地址表设置于第一存储控制器,镜像地址表指示的允许写复制的地址范围属于第一存储器的地址范围(例如表项记录中的源地址属于第一存储器的存储地址)。基于上述区别,第一存储控制器执行写复制方法的实现方式,可在处理器核执行写复制方法的实现基础上适应调整和变化,两种方式相关联的内容可相互参照。需要说明的是,在第一存储控制器设置镜像地址表,并由第一存储控制器执行实现本申请实施例提供的写复制方法,可使得处理器核中不需要部署写复制的实现逻辑,能够减少处理器核中公共路径的信号处理时延,但写操作需是针对第一存储控制器所控制的第一存储器。

本申请实施例提供的方案,可通过在第一存储控制器配置镜像地址表,支持将处理器核针对第一存储器的写操作,复制为针对任意存储器类型的复制写操作;从而第一存储控制器在获取处理器核发起的针对第一存储器的写操作时,如果写操作允许进行写复制,则本申请实施例可对写操作进行复制,得到复制写操作,并使得复制写操作的目的地址指向的存储器类型与第一存储器的类型相同或者不同,从而降低写复制的使用局限。

基于图6提供的写复制方法,作为一种可选实现示例,第一存储控制器可以为内存控制器,第一存储器可以为内存。基于内存控制器中设置的镜像地址表,内存控制器可将处理器核针对内存的写操作进行复制,并且复制写操作可能是针对内存,也可能是针对扩展存储器(复制写操作针对的存储器类型可视镜像地址表的具体配置目的而定)。下面以第一存储控制器为内存控制器,并且扩展总线标准为PCIE为例,对可能的实现示例进行介绍。

在图1所示计算机体系结构的基础上,图7示例性的示出了本申请实施例提供的写复制方法的又另一实现示例图,如图7所示,在计算机体系结构中,处理器核在向内存写数据时,可发起针对内存的写操作,此时,写操作的写地址为内存的内存地址,为便于示例,设写操作的写地址为内存地址711;从而,处理器核发起的写操作可通过总线,传递到内存控制器。内存控制器可根据写操作的内存地址711,查找镜像地址表中的各个表项记录,镜像地址表中的表项记录所记录的源地址均属于内存地址,镜像地址可能属于内存地址也可能属于PCIE存储器的存储地址。假设写操作的内存地址711在镜像地址表中命中的目标表项记录如图7中所示,则进一步假设目标表项记录所记录的源地址为内存地址712,地址总长度为L5,镜像地址为PCIE存储器的存储地址713;进而,内存控制器可将目标表项记录的镜像地址(PCIE存储器的存储地址713),加上写操作的内存地址711,并减去目标表项记录的源地址(内存地址712),以得到复制写操作的目的地址;复制写操作的目的地址指向PCIE存储器,属于PCIE存储器的存储地址,为便于示例,设复制写操作的目的地址为PCIE存储器的存储地址714;

内存控制器在确定复制写操作的目的地址(PCIE存储器的存储地址714)后,可生成复制写操作,复制写操作可以用于在PCIE存储器的存储地址714,写入镜像数据;

进而,内存控制器可执行写操作,在内存地址711写入写数据;同时,内存控制器可通过总线向PCIE控制器,传递针对PCIE存储器的复制写操作,以便PCIE控制器在PCIE存储器的存储地址714,写入镜像数据。

图7是以复制写操作针对PCIE存储器为例进行说明,复制写操作也可能针对内存(例如,镜像地址表中命中的目标表项记录的镜像地址属于内存地址),此种情况下的实现内容可基于前文描述适应调整得到,此处不再展开。

基于图6提供的写复制方法,作为一种可选实现示例,第一存储控制器可以为扩展控制器,第一存储器可以为扩展存储器。基于扩展控制器中设置的镜像地址表,扩展控制器可将处理器核针对扩展存储器的写操作进行复制,并且复制写操作可能是针对内存,也可能是针对扩展存储器(复制写操作针对的存储器类型可视镜像地址表的具体配置目的而定)。下面以PCIE的扩展总线标准为例,对可能的实现示例进行介绍。

在图1所示计算机体系结构的基础上,图8示例性的示出了本申请实施例提供的写复制方法的又再一实现示例图,如图8所示,在计算机体系结构中,处理器核在向PCIE存储器写数据时,可发起针对PCIE存储器的写操作,此时,写操作的写地址为PCIE存储器的存储地址,写操作的写数据为写入该存储地址的数据;为便于示例,设写操作的写地址为PCIE存储器的存储地址811;从而,处理器核发起的写操作可通过总线,传递到PCIE控制器。PCIE控制器可根据写操作的存储地址811,查找镜像地址表中的各个表项记录,镜像地址表中的表项记录所记录的源地址均属于PCIE存储器的存储地址,镜像地址可能属于内存地址也可能属于PCIE存储器的存储地址。假设写操作的存储地址811在镜像地址表中命中的目标表项记录如图8中所示,则可进一步假设目标表项记录所记录的源地址为PCIE存储器的存储地址812,地址总长度为L6,镜像地址为内存地址813;进而,PCIE控制器可将目标表项记录的镜像地址(内存地址813),加上写操作的存储地址811,并减去目标表项记录的源地址(PCIE存储器的存储地址812),以得到复制写操作的目的地址;复制写操作的目的地址指向内存,属于内存地址,为便于示例,设复制写操作的目的地址为内存地址814;

PCIE控制器在确定复制写操作的目的地址(内存地址814)后,可生成复制写操作,复制写操作可以用于在内存地址814,写入镜像数据;

进而,PCIE控制器可执行写操作,在PCIE存储器的存储地址811写入写数据;同时,PCIE控制器可通过总线向内存控制器,传递针对内存的复制写操作,以便内存控制器在内存地址814,写入镜像数据。

图8是以复制写操作针对内存为例进行说明,复制写操作也可能针对扩展存储器(例如,镜像地址表中命中的目标表项记录的镜像地址属于PCIE存储器的存储地址),此种情况下的实现内容可基于前文描述适应调整得到,此处不再展开。

基于本申请实施例提供的由第一存储控制器执行实现的写复制方法,本申请实施例还可提供用于执行实现该方法的存储控制器。

作为可选实现,本申请实施例提供的存储控制器可控制第一储存器,并且该存储控制器可配置镜像地址表,所述镜像地址表指示有第一储存器允许写复制的至少一个地址范围,以及各地址范围对应的镜像地址,其中,地址范围对应的镜像地址所指向的存储器的类型与第一存储器的类型相同或者不同。在配置镜像地址表的基础上,本申请实施例提供的存储控制器可以被配置为,执行实现本申请实施例提供的由存储控制器执行实现的方法流程。

本申请实施例还提供一种计算机系统,该计算机系统可以包括本申请实施例上述提供的存储控制器。进一步的,本申请实施例还可提供一种计算机设备,例如终端设备或者服务器设备,该计算机设备可以包括本申请实施例上述提供的计算机系统。

在可选实现中,本申请实施例提供的计算机系统可以包括:处理器核、内存控制器、内存控制器控制的内存、扩展控制器、以及扩展控制器控制的扩展存储器;其中,处理器核可以是本申请实施例提供的配置镜像地址表的处理器核,或者,内存控制器和扩展控制器中的至少一者可以是本申请实施例提供的配置镜像地址表的存储控制器。

上文描述了本申请实施例提供的多个实施例方案,各实施例方案介绍的各可选方式可在不冲突的情况下相互结合、交叉引用,从而延伸出多种可能的实施例方案,这些均可认为是本申请实施例披露、公开的实施例方案。

虽然本申请实施例披露如上,但本申请并非限定于此。任何本领域技术人员,在不脱离本申请的精神和范围内,均可作各种更动与修改,因此本申请的保护范围应当以权利要求所限定的范围为准。

技术分类

06120115932021