System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种交换芯片上的缓存控制装置、方法、芯片及存储介质制造方法及图纸_技高网

一种交换芯片上的缓存控制装置、方法、芯片及存储介质制造方法及图纸

技术编号:41289851 阅读:12 留言:0更新日期:2024-05-11 09:39
本发明专利技术涉及一种交换芯片上的缓存控制装置、方法、芯片及存储介质,本发明专利技术中的交换缓存控制装置通过交换矩阵端口接收来自交换芯片各个端口的一致性报文,通过三组专用通道进行通信;状态目录表在交换缓存控制装置内部建立,用于记录设备和主机访问的Cacheline状态;在交换矩阵的出口实现内部缓存,缓存对设备内存发出的一致性协议报文数据;向主机端和其他设备端进行数据传输和失效操作。本发明专利技术可以减少设备端维护一致性的传输事务,尤其对于设备间的P2P传输,可大幅减少对Host端的访问延时,提高数据共享效率,减少了跨芯片访存延时,提升效率;还能降低设备实现的复杂度,有利于降低设备端的成本。

【技术实现步骤摘要】

本专利技术涉及一种交换芯片上的缓存控制装置、方法、芯片及存储介质,属于交换芯片。


技术介绍

1、跨设备内存一致性技术研究主要源于现代计算机系统的复杂性和多样性。随着技术的进步,计算机系统不再是由单一的处理器和内存组成,而是由多个处理器、内存和其他硬件设备(包括但不限于cpu、gpu、nome ssd,ai处理器等)构成的复杂网络。这些设备可能分布在不同的物理位置,但需要通过高效的通信和协作来共同完成计算任务。

2、在这种背景下,内存一致性成为一个重要的问题。内存一致性是指在一个多处理器系统中,所有的处理器都能看到一致的内存视图。也就是说,无论处理器何时访问内存,都能获取到最新的、正确的数据。这对于保证系统的正确性和性能至关重要。

3、cxl协议的发展为解决内存一致性问题提供了重要方法。cxl协议引入了cxl交换机、内存池扩展、以及更快的内存接口等功能。该协议还将支持cxl.io、cxl.cache和cxl.mem三种协议,以支持不同类型的cxl设备,包括协议规定的type 1,type 2,type 3设备类型。cxl通过引入cxl交换机,可以实现多级扇出,使多个设备能够连接到同一交换机上,从而实现了多设备间的通信和数据共享。此外,cxl还支持内存池扩展功能,可以将多个内存模块连接到一个共享的内存池中,以提高内存容量和带宽。cxl协议复用pcie的物理层,主要实现了协议层和链路层的设计,其架构如图1所示,物理层包括逻辑子层和电气子层。pcie和cxl有各自的事务层和数据链路层,如pcie数据链路层、cxl事务层;cxl事务层主要指cxl.cache和cxl.mem事务层,也称为传输层。

4、cxl的应用场景非常广泛,包括ai云服务器、数据库服务器等。对于ai云服务器,cxl可以提供更大的内存扩展和更高的带宽,以满足ai应用对大量数据和高性能计算的需求。对于数据库服务器,cxl可以提供更快的数据存储和检索速度,从而提高数据库的性能。随着cxl技术的不断发展和完善,越来越多的企业和组织开始认识到cxl的价值和应用前景。目前,cxl已经被广泛应用于高性能计算、云计算、人工智能等领域,其市场接受度在不断增长。一个典型的cxl交换芯片架构如图2所示,cxl交换芯片可以连接多个主机(如host1、host 2、host 3、host 4、host 5)和设备,主机可连接本地cxl内存设备。cxl交换芯片连接的设备包括内存设备(如内存设备0、内存设备1)、gpu设备(如gpu2、gpu3)、网卡等。

5、cxl的缓存一致性主要涉及cxl.cache和cxl.mem协议。cxl.cache协议的实现方式主要包括以下几个方面:

6、通道设计:cxl.cache协议定义了每个方向的三个通道:请求(request)、响应(response)和数据(data)。这些通道允许不同的消息使用专用通道并实现每条通道的解耦和更高有效吞吐量。

7、请求与响应处理:cxl.cache协议将设备和主机之间的交互定义为多个请求,每个请求至少有一条相关的响应消息。每个请求通常以内存为目标,每个请求将收到0、1或2个响应,和最多一个64字节的cacheline。设备对监听的响应返回该cacheline在设备缓存中的状态,并可能表示数据正返回到主机提供的数据缓冲区。对于链路层信用,它们可能仍会被暂时阻止,但不应要求完成任何其他交易来释放信用。

8、数据传输:cxl.cache协议通过数据通道将所有数据和字节启用从设备传输到主机。数据传输可以是隐式(由于监听)或显式写回(由于缓存容量而导致的“逐出”)的结果。在所有情况下,都将传输完整的64字节cacheline。数据传输必须进行,否则可能会出现死锁。它们可能会因链路层信用暂时被阻止,但不得要求完成任何其他事务以释放信用。

9、通道独立工作:cxl.cache通道彼此独立工作,允许不同的消息使用专用线并实现每条线的解耦和更高有效吞吐量。对于cxl.mem协议,主要通过cxl3.0增加的bisnp通道完成一致性传输,对于支持这类传输的设备,可以通过back-invalidate的方式对host端的cacheline进行失效操作,维护数据块的一致性。

10、在cxl的协议中,根据偏置的设定,缓存一致性由host端home agent和设备端内部的dcoh(device-coherency engine,设备端一致性控制节点)维护。如图3所示,type1device中的cache是对host memory的数据缓存,当hostcpu读取某cacheline,请求发送给home agent,由home agent对device中的cache进行监听操作,然后通过对应通道返回数据给host,当device端读取某cacheline,通过请求通道发送消息给host端的home agent,home agent完成监听并返回数据。在“内存控制器+主代理节点”中的内存控制器主要用于控制内存的访问,“主代理节点”负责对缓存访问的管理,“主机挂接内存”是由主机通过内存控制器进行访问。

11、又如图4,host读取type2的device设备内存地址空间,当cpu端cache没有对应数据,请求被发送到设备地址空间段对应的hdm home agent(hdm:host-managed devicememory,主机管理的设备内存;home agent:本地代理),发送m2s请求到device端的dcoh,由dcoh接管一致性,判断从device端缓存取数据还是直接访问内存数据。在“内存控制器+设备端一致性控制节点”中,内存控制器是控制设备内存的访问,该内存由主机统一进行地址管理;“设备端一致性控制节点”是负责管理相关缓存的访问;主机端的“设备内存代理节点”主要用于管理设备端内存访问情况。“主机管理的设备内存”是设备的内存,其内存空间是主机可见并且进行管理的。

12、当前现有的技术方案中,如公开号wo2022261200a1的申请,对cacheline数据的交换通过内部的cacheline exchange engine,当接收到发送方的数据请求,由cachelineexchange engine管理数据的通路,通过内部的地址转换将数据写到不同的目的地址,一致性的维护仍由host端完成,交换芯片做为数据交换的通路。

13、现有技术存在以下缺陷:

14、1)、现有技术架构中,对于设备对其他设备端的一致性请求,需要先发送到host端进行查询,由host端进行目录查询和监听访问,经过交换芯片需要多次跨芯片访问,引入了大量额外延时,使得性能下降。

15、2)、交换芯片对扩展内存的访问,需要请求达到目的设备端才能获得数据,对于设备端缓存没有数据的情况,需要进行内存的访问,无法提前从缓存中获得数据。

16、基于此,提出本专利技术。


技术实现思路

1、本专利技术针对现有技术存在的不本文档来自技高网...

【技术保护点】

1.一种交换芯片上的缓存控制装置,其特征在于,包括:

2.根据权利要求1所述的一种交换芯片上的缓存控制装置,其特征在于:三组专用通道包括请求通道、响应通道、数据通道;

3.根据权利要求1所述的一种交换芯片上的缓存控制装置,其特征在于:所述状态目录表是一张记录cacheline状态的目录表,作为侦听过滤器,表项记录被访问的cacheline在各设备端的状态和主机端的状态,根据状态信息和请求的类型进行监听和缓存失效的操作,状态类型符合MESI协议。

4.根据权利要求3所述的一种交换芯片上的缓存控制装置,其特征在于:表项由cacheline地址信息、cacheline状态和共享cache状态位组成,遵循MESI一致性协议,目录记录全局地址范围;

5.根据权利要求2所述的一种交换芯片上的缓存控制装置,其特征在于:当交换芯片的任意主机或设备向其他设备发送一致性读请求时,若交换缓存控制装置已被内部侦听过滤器标识为有效,则交换缓存控制装置通过主机到设备请求通道发送侦听请求给对应设备,并根据响应获得对应数据和状态更改;否则,进行EMSC的查询,如果命中则获得对应的读数据,如果丢失,则发送到对应设备进行内存的读请求,完成数据的访问;

6.根据权利要求1所述的一种交换芯片上的缓存控制装置,其特征在于:通过侦听-失效的方式向主机端和其他设备端进行数据传输和失效操作。

7.一种交换芯片上的缓存控制方法,其特征在于:在交换矩阵中设置交换缓存控制装置,通过三组专用通道与设备和主机通信;

8.根据权利要求7所述的一种交换芯片上的缓存控制方法,其特征在于:三组专用通道包括请求通道、响应通道、数据通道;

9.一种芯片,包括存储模块和处理模块,所述存储模块存储有计算机程序,其特征在于,所述处理模块执行所述计算机程序时实现如权利要求7或8所述的一种交换芯片上的缓存控制方法的步骤。

10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理模块执行时实现如权利要求7或8所述的一种交换芯片上的缓存控制方法的步骤。

...

【技术特征摘要】

1.一种交换芯片上的缓存控制装置,其特征在于,包括:

2.根据权利要求1所述的一种交换芯片上的缓存控制装置,其特征在于:三组专用通道包括请求通道、响应通道、数据通道;

3.根据权利要求1所述的一种交换芯片上的缓存控制装置,其特征在于:所述状态目录表是一张记录cacheline状态的目录表,作为侦听过滤器,表项记录被访问的cacheline在各设备端的状态和主机端的状态,根据状态信息和请求的类型进行监听和缓存失效的操作,状态类型符合mesi协议。

4.根据权利要求3所述的一种交换芯片上的缓存控制装置,其特征在于:表项由cacheline地址信息、cacheline状态和共享cache状态位组成,遵循mesi一致性协议,目录记录全局地址范围;

5.根据权利要求2所述的一种交换芯片上的缓存控制装置,其特征在于:当交换芯片的任意主机或设备向其他设备发送一致性读请求时,若交换缓存控制装置已被内部侦听过滤器标识为有效,则交换缓存控制装置通过主机到设备请求通道发送侦听请求...

【专利技术属性】
技术研发人员:陈欣民李花芳周恒钊沈耀坡
申请(专利权)人:北京数渡信息科技有限公司
类型:发明
国别省市:

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

1