当前位置: 首页 > 专利查询>英特尔公司专利>正文

根据CXL协议处理一致存储器事务的系统、装置和方法制造方法及图纸

技术编号:36589539 阅读:34 留言:0更新日期:2023-02-04 17:54
本公开涉及根据CXL协议处理一致存储器事务的系统、装置和方法。在一个实施例中,一种装置包括:接口,用于耦合系统的多个设备并且使能实现根据计算快速链路(CXL)协议的通信。该接口可接收一致存储器请求,该一致存储器请求具有类型指示符来指示出要被应用到一致存储器请求的一致性的类型。耦合到该接口的请求调度器可接收一致存储器请求,并且至少部分地基于一致存储器请求的优先级和一个或多个待定一致存储器请求,根据一致性的类型来调度该一致存储器请求来执行。描述和要求保护了其他实施例。施例。施例。

【技术实现步骤摘要】
根据CXL协议处理一致存储器事务的系统、装置和方法


[0001]本公开涉及用于根据CXL协议处理一致存储器事务的系统、装置和方法。

技术介绍

[0002]近年来,具有不同类型的数据存储的数据库体系结构(包括非结构化查询语言(not structured query language,NoSQL)数据库、图形数据库等等)出现了爆炸性增长,以应对数据类型和数量的增长。由于实时处理和存储器要求,应用通常被向外扩展到多个节点。在具有连贯性的单个节点中,存在强一致性的概念,这意味着对数据字段的更新或写入对于该节点上的所有核心/线程都是可见的。在一组节点之间不存在类似的连贯性,从而要求应用级语义来保证不同类型的一致性。
[0003]但是,在具有多个计算节点的集群中维持应用软件的完全一致性变得很有挑战性,尤其是在存在高负载的情况下。考虑具有多个写入者和读取者的NoSQL存储:每一次写入都会阻拦整个集群的所有读取,以确保该写入已被传播开来,而没有实体读取到数据的陈旧拷贝。在集群中的几个节点上有许许多多的并发写入和读取的情况下,这种方法根本无法缩放。

技术实现思路

[0004]根据本公开的实施例,提供了一种装置,包括:接口,用于耦合系统的多个设备,所述系统包括多个中央处理单元(CPU)和至少一个存储器,所述接口使能实现根据计算快速链路(CXL)协议的通信,其中,所述接口从所述多个CPU中的第一CPU接收一致存储器请求,该一致存储器请求具有类型指示符来指示出要被应用到所述一致存储器请求的一致性的类型;以及请求调度器,该请求调度器耦合到所述接口,以接收所述一致存储器请求,并且至少部分地基于所述一致存储器请求的优先级和一个或多个待定一致存储器请求,根据所述一致性的类型来调度所述一致存储器请求来执行。
[0005]根据本公开的实施例,提供了一种方法,包括:在中央处理单元(CPU)的缓存代理中接收来自在所述CPU上执行的应用的存储器请求;将所述存储器请求转化成一致存储器请求,该一致存储器请求具有类型指示符来指示出要被应用到所述存储器请求的一致性的类型;并且将所述一致存储器请求发送到计算快速链路(CXL)集线器,以使得所述CXL集线器调度和指引所述一致存储器请求到目标存储器,其中该CXL集线器经由CXL.memory协议耦合到所述CPU。
[0006]根据本公开的实施例,提供了一种系统,包括:第一中央处理单元(CPU),其具有第一多个核心和第一缓存代理(CA);与所述第一CPU耦合的第二CPU,所述第二CPU具有第二多个核心和第二缓存代理(CA);以及与所述第一CPU和所述第二CPU耦合的计算快速链路(CXL)集线器,所述CXL集线器具有请求调度器,其中,所述请求调度器用于:根据CXL.memory协议从所述第一CPU接收一致存储器请求;并且至少部分地基于与所述一致存储器请求相关联的优先级和在所述一致存储器请求中指示的一致性的类型,根据所述一致
性的类型来调度所述一致存储器请求来执行。
[0007]根据本公开的实施例,提供了一种装置,包括:用于接收存储器请求的装置,所述存储器请求来自在中央处理单元(CPU)上执行的应用;用于将所述存储器请求转化成一致存储器请求的装置,该一致存储器请求具有类型指示符来指示出要被应用到所述存储器请求的一致性的类型;并且用于将所述一致存储器请求发送到计算快速链路(CXL)集线器装置以使得所述CXL集线器装置调度和指引所述一致存储器请求到目标存储器的装置,其中该CXL集线器装置经由CXL.memory协议耦合到所述CPU。
附图说明
[0008]图1是根据一实施例的系统的框图。
[0009]图2是根据一实施例的存储装置的框图。
[0010]图3是根据一实施例的方法的流程图。
[0011]图4是根据另一实施例的方法的流程图。
[0012]图5是根据另一实施例的系统的框图。
[0013]图6是根据一实施例的SoC设计的实施例的框图。
[0014]图7是根据另一实施例的系统的框图。
[0015]图8是根据一实施例的网络体系结构的框图。
具体实施方式
[0016]在各种实施例中,具有按照给定的计算快速链路(Compute Express Link,CXL)规范例如CXL规范2.0版(2020年发布)、任何未来的更新、版本(例如,3.0版)或者其变体的CXL互连的计算系统可以使得存储器事务能够在应用级别上被指定,带有对存储器事务的期望一致性水平的指示。
[0017]在一个实施例中,CXL连接的设备,例如中央处理单元(central processing unit,CPU)、加速器,等等,可以根据指令集体系结构(instruction set architecture,ISA)发出一致存储器(例如,读取和写入)事务。在一实施例中,ISA的一致存储器事务可以指定被映射到一致更新/读取的地址的列表;被映射到一致更新的值的列表(每当发生一致更新时);以及一致操作的类型。在ISA中可能有不同类型或风格的指令可用来实现一致存储器事务,其中至少一些可以经由CXL.memory协议在CXL连接的设备之间传达。在一些情况下,CPU的缓存代理(caching agent,CA)可以从应用接收对一组存储器线的一致更新类型的请求。缓存代理进而负责确保本地缓存存储器(以及潜在的远程缓存存储器)中的线被无效化,并且经由CXL互连生成一致的写回(对于写入事务)。
[0018]在CXL体系结构中,设备可以经由不同的CXL协议传达不同的信息。按照基本的CXL协议体系结构,当前有多个特定的通信协议(包括CXL.memory、CXL.cache memory和CXL.io)可用,经由这些协议可以传达特定的信息类型。在实施例中,可以为设备提供一致性硬件能力,以便应用可以发出一致存储器事务(在此等同地称为“一致存储器请求”),这些事务可以由设备根据CXL.memory协议来处理。
[0019]利用实施例,存储器语义可以被提供给具有多个并且可能远程的平台的向外扩展集群。以这种方式,通过向外扩展到多个节点并且仍然保留存储器语义,可以写入应用以获
得两全其美的效果。
[0020]在代表性实施例中,可以有六个一致性水平,如表格1中所示,该表格示出了根据一个实施例的示范性一致性水平。
[0021]表格1
[0022]强一致性参见所有先前写入。最终一致性参见先前写入的子集。一致前缀参见初始的写入序列。有界陈旧性参见所有“旧”的写入。单调读取参见递增的写入子集。读取我的写入参见由读取者执行的所有写入。
[0023]为了进一步描述这些一致性保证中的几个,考虑以下内容。强一致性确保了读取操作返回对于给定对象最后写入的值,这意味着使用同步复制,这在存在负载的情况下不会缩放。一致前缀确保了读取者被保证观察到从对数据对象的第一次写入开始的有序的写入序列或者在过去的某个时间在主设备处存在的数据存储的一致版本。有界陈旧性确保读本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种装置,包括:接口,用于耦合系统的多个设备,所述系统包括多个中央处理单元(CPU)和至少一个存储器,所述接口使能实现根据计算快速链路(CXL)协议的通信,其中,所述接口从所述多个CPU中的第一CPU接收一致存储器请求,该一致存储器请求具有类型指示符来指示出要被应用到所述一致存储器请求的一致性的类型;以及请求调度器,该请求调度器耦合到所述接口,以接收所述一致存储器请求,并且至少部分地基于所述一致存储器请求的优先级和一个或多个待定一致存储器请求,根据所述一致性的类型来调度所述一致存储器请求来执行。2.如权利要求1所述的装置,其中,所述请求调度器至少部分地基于所述一致存储器请求的一致性的类型,在所述一个或多个待定一致存储器请求中的至少一者之前调度所述一致存储器请求。3.如权利要求1所述的装置,其中,所述装置还包括:具有多个条目的第一存储装置,所述多个条目中的每一个为一致存储器请求存储该一致存储器请求的标识符、该一致存储器请求的优先级、该一致存储器请求的类型、以及该一致存储器请求的地址信息;以及具有多个第二条目的第二存储装置,所述多个第二条目中的每一个为与一致存储器请求冲突的存储器请求存储该一致存储器请求的标识符和该冲突存储器请求的地址信息。4.如权利要求3所述的装置,其中,所述请求调度器在所述一致存储器请求之后,接收与所述一致存储器请求冲突的第一存储器请求并且将所述第一存储器请求存储在所述第二存储装置中。5.如权利要求4所述的装置,其中,在所述一致存储器请求被完成之后,所述请求调度器调度所述第一存储器请求来执行。6.如权利要求3所述的装置,其中,所述请求调度器在所述冲突存储器请求被完成之后,调度与所述一致存储器请求冲突的一个或多个冲突存储器事务来执行。7.如权利要求1所述的装置,其中,所述请求调度器在所述一致性的类型是第一一致性水平时,在一个或多个非一致存储器请求之后调度所述一致存储器请求来执行。8.如权利要求1

7中任一项所述的装置,其中,所述接口从第一平台接收所述一致存储器请求,将对所述一致存储器请求的存储器位置的一个或多个缓存连贯性请求指引到一个或多个远程平台,并且在从所述一个或多个远程平台接收到缓存连贯性响应之后,所述请求调度器调度所述一致存储器请求来执行。9.如权利要求1

7中任一项所述的装置,其中,所述装置包括CXL集线器,并且所述接口根据CXL.memory协议来接收所述一致存储器请求。10.如权利要求9所述的装置,其中,所述接口在所述一致存储器事务被完成之后,向所述第一CPU发送确认,所述确认包括读取的数据,其中,所述读取的数据是从与所述CXL集线器耦合的远程平台获得的。11.一种方法,包括:在中央处理单元(CPU)的缓存代理中接收来自在所述CPU上执行的应用的存储器请求;将所述存储器请求转化成一致存储器请求,该一致存储器请求具有类型指示符来指示出要被应用到所述存储器请求的一致性的类型;并且
将所述一致存储器请求发送到计算快速链路(CXL)集线器,以使得所述CXL集线器调度和指引所述一致存储器请求到目标存储器,其中该CXL集线器经由CXL.memory协议耦合到所述CPU。12.如权利要求11所述的方法,还包括:当所述存储器请求是写入请求时,使与所述写入请求的地址相关联的一个或多个缓存线无效化。13.如权利要求12所述的方法,还包括:向远程平台发送一个或多个缓存连贯性消息,以使得所述远程平台使所述远程平台中的与...

【专利技术属性】
技术研发人员:卡尔蒂克
申请(专利权)人:英特尔公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1