数据处理芯片和系统、数据存储转发和读取处理方法与流程

文档序号:13136686阅读:178来源:国知局
数据处理芯片和系统、数据存储转发和读取处理方法与流程

本发明涉及数据处理技术,尤其是一种数据处理芯片和系统、数据存储转发和读取处理方法。



背景技术:

一般的数据处理系统,都需要大容量的存储器,尤其深度学习中的数据处理系统,需要更大容量的存储器。其中,ddr(双倍速率同步动态随机存储器)3、ddr4、gddr(图形双倍速率同步动态随机存储器)、hbm(高带宽存储器)等外置存储器,比sram(静态随机存储器)等片内高速存储器的成本低很多,因此,数据处理芯片一般会有独享的外置高速存储器,在相应的数据处理芯片内部设置存储控制器,数据处理芯片通过存储控制器读写外置存储器中的数据。

随着数据处理任务的复杂度越来越高,需要处理的数据量越来越大,需要完成数据处理任务的时间越来越短,多个数据处理芯片需要共同处理海量的数据,这就要求这些数据处理芯片互相连接起来,在多个数据处理芯片之间实现数据的快速交换并共同完成数据处理任务。每个数据处理芯片需要内置一个互联控制器,数据处理芯片通过内置的互联控制器与其他数据处理芯片进行数据交换,两个数据处理芯片中的互联控制器通过通信介质连接在一起,进行数据交换。

在实现本发明的过程中,发明人通过研究发现,现有的数据处理系统至少存在以下问题:

现有多数据处理芯片互联的数据处理系统中,存储控制器和互联控制器都是独立设置的,数据处理芯片内部既需要设置存储控制器,也需要设置互联控制器,这就增加了数据处理芯片的成本;

由于外置存储器的io(输入/输出)管脚和互联控制器的io管脚都是独立设置的,这种数据处理系统的io管脚密度大,导致pcb(印刷电路板)的复杂度高,也增加了数据处理系统的实现难度和成本,降低了数据处理系统的可靠性;

外置存储器都是各数据处理芯片独享和私有的,每个数据处理芯片将数据存储在各自的外置存储器中,降低了存储器的存储空间的利用率;另外,当一个数据处理芯片需要使用其他数据处理芯片的数据时,需要对方数据处理芯片将数据从其私有的外置存储器中读取,然后通过两个数据处理芯片互联控制器把数据传递给当前数据处理芯片,这就增加了数据处理的复杂度和时间。



技术实现要素:

本发明实施例提供一种多数据处理芯片互联的数据处理系统实现方案。

根据本发明实施例的一个方面,提供一种数据处理系统中的数据存储转发处理方法,所述数据处理系统包括至少一个存储器和至少两个数据处理芯片;每个所述数据处理芯片包括多个互联存储控制器,通过各互联存储控制器分别对应连接一个存储器;每个存储器连接两个或以上数据处理芯片;

响应于所述至少两个数据处理芯片中的第一数据处理芯片需要向目标存储器存储数据或者需要向所述至少两个数据处理芯片中的第二数据处理芯片发送数据时,所述第一数据处理芯片查询预先配置的第一路由表,获取接收方标识对应的该第一数据处理芯片中的第一互联存储控制器,通过所述第一互联存储控制器向该第一互联存储控制器连接的第一存储器发送请求消息,该请求消息中包括待处理数据和接收方标识;所述第一路由表包括接收方标识与互联存储控制器标识之间的对应关系;

所述第一存储器识别所述接收方标识是否该第一存储器的标识;

若所述接收方标识是该第一存储器的标识,所述第一存储器存储所述待处理数据;

否则,若所述接收方标识不是该第一存储器的标识,所述第一存储器查询预先配置的第二路由表,获取所述接收方标识对应的该第一存储器中的第一存储接口,将所述请求消息通过所述第一存储接口转发给所述第一存储接口连接的第二数据处理芯片中的第二互联存储控制器;所述第二路由表包括接收方标识与存储接口标识之间的对应关系。

可选地,在本发明上述各方法实施例中,还包括:所述第二数据处理芯片识别所述接收方标识是否该第二数据处理芯片的标识;

若所述接收方标识是该第二数据处理芯片的标识,所述第二数据处理芯片读取所述待处理数据以便进行处理;

否则,若所述接收方标识不是该第二数据处理芯片的标识,所述第二数据处理芯片查询预先配置的第一路由表,获取所述接收方标识对应的该第二数据处理芯片中的第三互联存储控制器,通过所述第三互联存储控制器将所述请求消息转发给所述第三互联存储控制器连接的第二存储器;

以所述第二存储器作为新的所述第一存储器,执行所述第一存储器识别所述接收方标识是否该第一存储器的标识的操作,直至所述接收方标识是当前接收方的标识,由作为当前接收方的存储器存储所述待处理数据、或由作为当前接收方的数据处理芯片读取所述待处理数据以便进行处理。

可选地,在本发明上述各方法实施例中,还包括:

第一数据处理芯片记录存储所述待存储数据的接收方标识。

可选地,在本发明上述各方法实施例中,所述第一数据处理芯片查询预先配置的第一路由表,获取接收方标识对应的该第一数据处理芯片中的第一互联存储控制器,通过所述第一互联存储控制器向该第一互联存储控制器连接的第一存储器发送请求消息,包括:所述第一数据处理芯片中的数据处理单元查询预先配置的第一路由表,获取接收方标识对应的该第一数据处理芯片中的第一互联存储控制器,将所述第一互联存储控制器的工作状态设置为数据写状态,并向所述第一互联存储控制器发送所述请求消息;所述第一互联存储控制器将所述请求消息发送给连接的所述第一存储器;

所述第一存储器存储所述待处理数据,包括:所述第一存储器将所述待处理数据存储在该第一存储器中的存储单元中。

可选地,在本发明上述各方法实施例中,向所述第一互联存储控制器发送请求消息之前,还包括:

所述第一数据处理芯片中的数据处理单元确定所述待处理数据的数据类型为共享数据或私有数据,所述请求消息中还包括数据类型标识,所述数据类型标识用于标识数据类型为共享数据或私有数据;

所述第一存储器将所述待处理数据存储在该第一存储器中的存储单元中,包括:

所述第一存储器根据所述请求消息中的数据类型标识,将所述待处理数据存储在所述存储单元中的相应存储区域。

可选地,在本发明上述各方法实施例中,所述第一存储器根据所述请求消息中的数据类型标识,将所述待处理数据存储在所述存储单元中的相应存储区域,包括:

根据所述请求消息中的数据类型标识,若所述待处理数据的数据类型为私有数据,所述第一存储器将所述待处理数据存储在所述存储单元中预先分配给所述第一数据处理芯片的第一存储区域;

若所述待处理数据的数据类型为共享数据,所述第一存储器将所述待处理数据存储在所述存储单元中的共享存储区域。

可选地,在本发明上述各方法实施例中,所述至少两个数据处理芯片中的第一数据处理芯片需要向目标存储器存储数据时,还包括:所述第一数据处理芯片中的数据处理单元根据预先配置,确定所述待处理数据的目标存储器和目标存储器中的目标存储区域,并获取所述目标存储器的标识和所述目标存储区域的标识,以所述目标存储器的标识作为所述接收方标识;所述请求消息中还包括所述目标存储区域的标识;

所述第一存储器将所述待处理数据存储在该第一存储器中的存储单元中,包括:所述第一存储器根据所述目标存储区域的标识,将所述待处理数据存储在该第一存储器中的所述目标存储区域中。

可选地,在本发明上述各方法实施例中,还包括:

响应于所述第一数据处理芯片需要从接收方读取数据,所述第一数据处理芯片中的数据处理单元查询预先配置的第一路由表,获取接收方标识对应的该第一数据处理芯片中的第一互联存储控制器,将所述第一互联存储控制器的工作状态设置为数据读状态,并通过所述第一互联存储控制器向所述第一存储器发送数据读取请求消息,所述读取请求消息中包括发送方标识和接收方标识,所述发送方标识为所述第一数据处理芯片的标识;

所述第一存储器识别所述接收方标识是否该第一存储器的标识;

若所述接收方标识是该第一存储器的标识,所述第一存储器从该第一存储器中获取所述数据读取请求消息所请求的数据,并向所述第一互联存储控制器返回所述数据读取请求消息所请求的数据;所述第一互联存储控制器向所述第一数据处理芯片中的数据处理单元转发所述数据读取请求消息所请求的数据;

否则,若所述接收方标识不是该第一存储器的标识,所述第一存储器查询预先配置的第二路由表,获取所述接收方标识对应的该第一存储器中的第一存储接口,将所述数据读取请求消息通过所述第一存储接口转发给所述第一存储接口连接的第二数据处理芯片中的第二互联存储控制器;

所述第二数据处理芯片中的数据处理单元识别所述接收方标识是否该第二数据处理芯片的标识;

若所述接收方标识是该第二数据处理芯片的标识,所述第二数据处理芯片中的数据处理单元获取所述数据读取请求消息所请求的数据并通过所述第二互联存储控制器发送给所述第一存储器的所述第一存储接口;所述第一存储器查询预先配置的第二路由表,获取所述数据读取请求消息中发送方标识对应的该第一存储器中的第二存储接口,通过所述第二存储接口向所述第一互联存储控制器返回所述数据读取请求消息所请求的数据;所述第一互联存储控制器向所述第一数据处理芯片中的数据处理单元转发所述数据读取请求消息所请求的数据;所述第二路由表包括接收方标识与存储接口标识之间的对应关系;

否则,若所述接收方标识不是该第二数据处理芯片的标识,所述第二数据处理芯片中的数据处理单元查询预先配置的第一路由表,获取所述数据读取请求消息中接收方标识对应的该第二数据处理芯片中的第三互联存储控制器,通过所述第三互联存储控制器将所述数据读取请求消息转发给所述第三互联存储控制器连接的第二存储器;

以所述第二存储器作为新的所述第一存储器,执行所述第一存储器识别所述接收方标识是否该第一存储器的标识的操作,直至当前接收方标识是当前接收方的标识,由当前接收方获取所述数据读取请求消息所请求的数据,并沿所述数据读取请求消息的反向传输路径依次传输至所述第一存储器;所述第一存储器向所述第一互联存储控制器返回所述数据读取请求消息所请求的数据;所述第一互联存储控制器向所述第一数据处理芯片中的数据处理单元转发所述数据读取请求消息所请求的数据。

可选地,在本发明上述各方法实施例中,所述接收方为存储器,所述数据读取请求消息中还包括数据类型标识,所述数据类型标识用于标识数据类型为共享数据或私有数据;

所述第一存储器从该第一存储器中获取所述数据读取请求消息所请求的数据,包括:

若所述数据读取请求消息中的标识所标识的数据类型为私有数据,所述第一存储器从该第一存储器中的存储单元中预先分配给所述第一数据处理芯片的第一存储区域读取所述数据读取请求消息所请求的存储数据;

若所述数据读取请求消息中的标识所标识的数据类型为共享数据,所述第一存储器从该第一存储器中的存储单元中的共享存储区域读取请求所请求的存储数据。

可选地,在本发明上述各方法实施例中,响应于第一数据处理芯片需要从接收方读取数据,还包括:

所述第一数据处理芯片中的数据处理单元确定需要读取的数据所在的存储器和在该存储器中的存储区域分别作为目标存储器和目标存储区域,并获取所述目标存储器的标识和所述目标存储区域的标识,所述接收方标识为所述目标存储器的标识;所述数据读取请求消息中还包括所述目标存储区域的标识;

所述第一存储器从该第一存储器中获取所述数据读取请求消息所请求的数据,包括:

所述第一存储器根据所述目标存储区域的标识,从所述第一存储器中的所述目标存储区域中读取所述数据读取请求消息所请求的数据。

可选地,在本发明上述各方法实施例中,所述第一数据处理芯片查询预先配置的第一路由表,获取接收方标识对应的该第一数据处理芯片中的第一互联存储控制器,通过所述第一互联存储控制器向该第一互联存储控制器连接的第一存储器发送请求消息,包括:

所述第一数据处理芯片中的数据处理单元查询预先配置的第一路由表,获取接收方标识对应的该第一数据处理芯片中的第一互联存储控制器,将所述第一互联存储控制器的工作状态设置为数据交换状态,并通过所述第一互联存储控制器向所述第一存储器发送所述请求消息。

可选地,在本发明上述各方法实施例中,所述存储器包括多个存储接口,通过各存储接口分别对应连接至不同的数据处理芯片中的互联存储控制器,通过所述多个存储接口中的一个存储接口接收连接的互联存储控制器发送的请求消息或数据读取请求消息,通过所述多个存储接口中的另一个存储接口将所述请求消息或数据读取请求消息发送给所述另一个存储接口连接的数据处理芯片中的互联存储控制器。

根据本发明实施例的另一个方面,提供一种数据处理系统中的数据读取处理方法,所述数据处理系统包括至少一个存储器和至少两个数据处理芯片;每个所述数据处理芯片包括多个互联存储控制器,通过各互联存储控制器分别对应连接一个存储器;每个存储器连接两个或以上数据处理芯片;

响应于所述至少两个数据处理芯片中的第一数据处理芯片需要从接收方读取数据,所述第一数据处理芯片中的数据处理单元查询预先配置的第一路由表,获取接收方标识对应的该第一数据处理芯片中的第一互联存储控制器,将所述第一互联存储控制器的工作状态设置为数据读状态,并通过所述第一互联存储控制器向所述第一存储器发送数据读取请求消息,所述读取请求消息中包括发送方标识和接收方标识,所述发送方标识为所述第一数据处理芯片的标识;

所述第一存储器识别所述接收方标识是否该第一存储器的标识;

若所述接收方标识是该第一存储器的标识,所述第一存储器从该第一存储器中获取所述数据读取请求消息所请求的数据,并向所述第一互联存储控制器返回所述数据读取请求消息所请求的数据;所述第一互联存储控制器向所述第一数据处理芯片中的数据处理单元转发所述数据读取请求消息所请求的数据;

否则,若所述接收方标识不是该第一存储器的标识,所述第一存储器查询预先配置的第二路由表,获取所述接收方标识对应的该第一存储器中的第一存储接口,将所述数据读取请求消息通过所述第一存储接口转发给所述第一存储接口连接的第二数据处理芯片中的第二互联存储控制器;

所述第二数据处理芯片中的数据处理单元识别所述接收方标识是否该第二数据处理芯片的标识;

若所述接收方标识是该第二数据处理芯片的标识,所述第二数据处理芯片中的数据处理单元获取所述数据读取请求消息所请求的数据并通过所述第二互联存储控制器发送给所述第一存储器的所述第一存储接口;所述第一存储器查询预先配置的第二路由表,获取所述数据读取请求消息中发送方标识对应的该第一存储器中的第二存储接口,通过所述第二存储接口向所述第一互联存储控制器返回所述数据读取请求消息所请求的数据;所述第一互联存储控制器向所述第一数据处理芯片中的数据处理单元转发所述数据读取请求消息所请求的数据;所述第二路由表包括接收方标识与存储接口标识之间的对应关系;

否则,若所述接收方标识不是该第二数据处理芯片的标识,所述第二数据处理芯片中的数据处理单元查询预先配置的第一路由表,获取所述数据读取请求消息中接收方标识对应的该第二数据处理芯片中的第三互联存储控制器,通过所述第三互联存储控制器将所述数据读取请求消息转发给所述第三互联存储控制器连接的第二存储器;

以所述第二存储器作为新的所述第一存储器,执行所述第一存储器识别所述接收方标识是否该第一存储器的标识的操作,直至当前接收方标识是当前接收方的标识,由当前接收方获取所述数据读取请求消息所请求的数据,并沿所述数据读取请求消息的反向传输路径依次传输至所述第一存储器;所述第一存储器向所述第一互联存储控制器返回所述数据读取请求消息所请求的数据;所述第一互联存储控制器向所述第一数据处理芯片中的数据处理单元转发所述数据读取请求消息所请求的数据。

可选地,在本发明上述各数据读取处理方法实施例中,所述接收方为存储器,所述数据读取请求消息中还包括数据类型标识,所述数据类型标识用于标识数据类型为共享数据或私有数据;

所述第一存储器从该第一存储器中获取所述数据读取请求消息所请求的数据,包括:

若所述数据读取请求消息中的标识所标识的数据类型为私有数据,所述第一存储器从该第一存储器中的存储单元中预先分配给所述第一数据处理芯片的第一存储区域读取所述数据读取请求消息所请求的存储数据;

若所述数据读取请求消息中的标识所标识的数据类型为共享数据,所述第一存储器从该第一存储器中的存储单元中的共享存储区域读取请求所请求的存储数据。

可选地,在本发明上述各数据读取处理方法实施例中,响应于第一数据处理芯片需要从接收方读取数据,还包括:

所述第一数据处理芯片中的数据处理单元确定需要读取的数据所在的存储器和在该存储器中的存储区域分别作为目标存储器和目标存储区域,并获取所述目标存储器的标识和所述目标存储区域的标识,所述接收方标识为所述目标存储器的标识;所述数据读取请求消息中还包括所述目标存储区域的标识;

所述第一存储器从该第一存储器中获取所述数据读取请求消息所请求的数据,包括:

所述第一存储器根据所述目标存储区域的标识,从所述第一存储器中的所述目标存储区域中读取所述数据读取请求消息所请求的数据。

根据本发明实施例的另一个方面,提供一种数据处理芯片,包括数据处理单元和多个互联存储控制器,所述数据处理单元分别与所述多个互联存储控制器中的各互联存储控制器连接,各互联存储控制器分别对应连接至一存储器;其中:

所述数据处理单元,用于在需要向目标存储器存储数据或者需要向另一数据处理芯片发送数据时,查询预先配置的第一路由表,获取接收方标识对应的一互联存储控制器,通过所述一互联存储控制器向该一互联存储控制器连接的一存储器发送请求消息,该请求消息中包括待处理数据、接收方标识和发送方标识,所述第一路由表包括接收方标识与互联存储控制器标识之间的对应关系;以及响应于通过所述一互联存储控制器接收到请求消息,识别所述请求消息中的接收方标识是否所述数据处理芯片的标识;若所述请求消息中的接收方标识是所述数据处理芯片的标识,读取所述待处理数据以便进行处理;否则,若所述请求消息中的接收方标识不是所述数据处理芯片的标识,查询预先配置的第一路由表,获取接收方标识对应的另一互联存储控制器,通过所述另一互联存储控制器将所述请求消息转发给同时连接至所述另一互联存储控制器连接的另一存储器;

互联存储控制器,用于将所述数据处理单元发送的请求消息转发给连接的存储器。

可选地,在本发明上述各芯片实施例中,所述数据处理单元,还用于记录存储所述待存储数据的接收方标识。

可选地,在本发明上述各芯片实施例中,所述数据处理单元,还用于在向所述一互联存储控制器发送所述请求消息之前,确定所述待处理数据为共享数据或私有数据,所述请求消息中还包括数据类型标识,所述数据类型标识用于标识数据类型为共享数据或私有数据;以及将所述一互联存储控制器的工作状态设置为数据写状态。

可选地,在本发明上述各芯片实施例中,所述数据处理单元,还用于在需要存储所述待处理数据时,根据预先配置,确定存储所述待处理数据的目标存储器和目标存储器中的目标存储区域,并获取所述目标存储器的标识和所述目标存储区域的标识,以所述目标存储器的标识作为所述接收方标识;所述请求消息中还包括所述目标存储区域的标识;以及将所述一互联存储控制器的工作状态设置为数据写状态。

可选地,在本发明上述各芯片实施例中,所述数据处理单元,还用于在需要向所述另一数据处理芯片发送数据时,将所述一互联存储控制器的工作状态设置为数据交换状态,并通过所述一互联存储控制器向所述一存储器发送所述交换数据。

可选地,在本发明上述各芯片实施例中,所述数据处理单元,还用于在需要从接收方读取数据时,将连接至所述接收方的一互联存储控制器的工作状态设置为数据读状态,并通过所述一互联存储控制器向所述一存储器发送数据读取请求消息,所述读取请求消息中包括发送方标识和接收方标识,所述发送方标识为所述数据处理芯片的标识;

所述互联存储控制器,还用于接收所述一存储器返回的所述数据读取请求消息所请求的存储数据,并向所述数据处理单元转发所述数据读取请求消息所请求的存储数据。

可选地,在本发明上述各芯片实施例中,所述数据读取请求消息中还包括数据类型标识,所述数据类型标识用于标识数据类型为共享数据或私有数据。

可选地,在本发明上述各芯片实施例中,所述数据处理单元,还用于在需要从所述接收方读取数据时,确定需要读取的数据所在的存储器和存储器中的存储区域分别作为目标存储器和目标存储区域,并获取所述目标存储器的标识和所述目标存储区域的标识,所述接收方标识具体为所述目标存储器的标识;所述请求消息中还包括所述目标存储区域的标识。

根据本发明实施例的又一个方面,提供一种数据处理系统,包括:至少一个存储器和至少两个数据处理芯片;每个所述数据处理芯片包括多个互联存储控制器,通过各互联存储控制器分别对应连接一个存储器;所述至少一个存储器包括第一存储器,每个所述存储器包括多个存储接口,每个存储接口与一个互联存储控制器连接;所述至少两个数据处理芯片包括第一数据处理芯片和第二数据处理芯片;所述第一数据处理芯片中的至少一个互联存储控制器包括第一互联存储控制器,通过所述第一互联存储控制器与所述第一存储器连接;所述第二数据处理芯片中的至少一个互联存储控制器包括所述第二互联存储控制器和第三互联存储控制器,通过所述第二互联存储控制器与所述第一存储器连接;

所述第一数据处理芯片,用于在需要向目标存储器存储数据或者需要向所述至少两个数据处理芯片中的第二数据处理芯片发送数据时,查询预先配置的第一路由表,获取接收方标识对应的该第一数据处理芯片中的第一互联存储控制器,通过所述第一互联存储控制器向该第一互联存储控制器连接的第一存储器发送请求消息,该请求消息中包括待处理数据和接收方标识,所述第一路由表包括接收方标识与互联存储控制器标识之间的对应关系;

所述第一存储器,用于通过与所述第一互联存储控制器连接的存储接口接收所述请求消息;识别所述接收方标识是否该第一存储器的标识;若所述接收方标识是该第一存储器的标识,存储所述待处理数据;否则,若所述接收方标识不是该第一存储器的标识,查询预先配置的第二路由表,获取所述接收方标识对应的该第一存储器中的第一存储接口,将所述请求消息通过所述第一存储接口转发给所述第一存储接口连接的第二数据处理芯片中的第二互联存储控制器;所述第二路由表包括接收方标识与存储接口标识之间的对应关系;

所述第二数据处理芯片,用于识别所述接收方标识是否该第二数据处理芯片的标识;若所述接收方标识是该第二数据处理芯片的标识,读取所述待处理数据以便进行处理;否则,若所述接收方标识不是该第二数据处理芯片的标识,查询预先配置的第一路由表,获取所述接收方标识对应的该第二数据处理芯片中的第三互联存储控制器,通过所述第三互联存储控制器将所述请求消息转发给所述第三互联存储控制器连接的第二存储器。

可选地,在本发明上述各系统实施例中,所述数据处理芯片包括本发明上述任一实施例所述的数据处理芯片。

可选地,在本发明上述各系统实施例中,所述第一存储器包括:交换中心单元、存储单元和两个以上存储接口,每个所述存储接口对应连接至一个数据处理芯片中的一个互联存储控制器;

所述交换中心单元,用于通过所述两个以上存储接口中与所述第一互联存储控制器连接的存储接口接收所述请求消息,识别所述接收方标识是否该第一存储器的标识;若所述接收方标识是该第一存储器的标识,将所述请求消息中的待处理数据存储在所述存储单元中;否则,若所述接收方标识不是该第一存储器的标识,查询预先配置的第二路由表,获取所述接收方标识对应的该第一存储器中的第一存储接口,将所述请求消息通过所述第一存储接口转发给所述第一存储接口连接的第二数据处理芯片中的第二互联存储控制器,所述第二路由表包括接收方标识与存储接口标识之间的对应关系;通过所述两个以上存储接口中与所述第一互联存储控制器连接的存储接口接收所述数据读取请求消息,识别所述数据读取请求消息中的接收方标识是否该第一存储器的标识;若所述数据读取请求消息中的接收方标识是该第一存储器的标识,从所述存储单元中获取所述数据读取请求消息所请求的数据,并向所述第一互联存储控制器返回所述数据读取请求消息所请求的数据;否则,若所述数据读取请求消息中的接收方标识不是该第一存储器的标识,查询预先配置的第二路由表,获取所述接收方标识对应的该第一存储器中的第一存储接口,将所述数据读取请求消息通过所述第一存储接口转发给所述第一存储接口连接的第二数据处理芯片中的第二互联存储控制器;

所述存储单元,用于存储数据。

可选地,在本发明上述各系统实施例中,所述存储单元包括:私有存储区域和共享存储区域;

所述私有存储区域包括预先分别分配给各数据处理芯片的多个存储区域;

所述请求消息中还包括所述待处理数据的数据类型标识,所述数据类型标识用于标识数据类型为共享数据或私有数据;

所述交换中心单元,具体用于根据所述数据类型标识,若所述待处理数据的数据类型为私有数据,将所述待处理数据存储在预先分配给所述发送方标识所标识的第一数据处理芯片的第一存储区域中;若所述待处理数据的数据类型为共享数据,将所述待处理数据存储在所述共享存储区域。

可选地,在本发明上述各系统实施例中,所述数据读取请求消息中还包括数据类型标识,所述数据类型标识用于标识数据类型为共享数据或私有数据;

所述交换中心单元,根据所述读取请求消息从所述存储单元中获取所述数据读取请求消息所请求的数据时,具体用于根据所述数据类型标识,若所述数据的数据类型为私有数据,从预先分配给所述发送方标识所标识的第一数据处理芯片的存储区域读取所述数据读取请求消息所请求的存储数据;若所述数据的数据类型为共享数据,从所述共享存储区域读取请求所请求的存储数据。

可选地,在本发明上述各系统实施例中,所述第一存储器包括:交换中心单元、存储单元和两个以上存储接口,每个所述存储接口对应连接至一个数据处理芯片中的一个互联存储控制器;

所述存储单元包括:私有存储区域和共享存储区域,用于存储数据;所述私有存储区域包括预先分别分配给各数据处理芯片的多个存储区域,各存储区域通过存储区域的标识唯一标识;

所述请求消息中还包括所述目标存储区域的标识;

所述交换中心单元,用于通过所述两个以上存储接口中与所述第一互联存储控制器连接的存储接口接收所述请求消息,识别所述接收方标识是否该第一存储器的标识;若所述接收方标识是该第一存储器的标识,根据所述目标存储区域的标识,将所述存储数据存储在所述存储单元中的所述目标存储区域中;否则,若所述接收方标识不是该第一存储器的标识,查询预先配置的第二路由表,获取所述接收方标识对应的该第一存储器中的第一存储接口,将所述请求消息通过所述第一存储接口转发给所述第一存储接口连接的第二数据处理芯片中的第二互联存储控制器,所述第二路由表包括接收方标识与存储接口标识之间的对应关系;以及通过所述两个以上存储接口中与所述第一互联存储控制器连接的存储接口接收所述数据读取请求消息,识别所述数据读取请求消息中的接收方标识是否该第一存储器的标识;若所述数据读取请求消息中的接收方标识是该第一存储器的标识,从所述存储单元中获取所述数据读取请求消息所请求的数据,并向所述第一互联存储控制器返回所述数据读取请求消息所请求的数据;否则,若所述数据读取请求消息中的接收方标识不是该第一存储器的标识,查询预先配置的第二路由表,获取所述接收方标识对应的该第一存储器中的第一存储接口,将所述数据读取请求消息通过所述第一存储接口转发给所述第一存储接口连接的第二数据处理芯片中的第二互联存储控制器。

可选地,在本发明上述各系统实施例中,所述存储器包括:混合记忆立方体动态随机存取存储器hmcdram、静态随机存取存储器sram、现场可编程门阵列fpga、专用集成电路asic或多口硬盘。

可选地,在本发明上述各系统实施例中,所述互联存储控制器通过串行器/解串器serdes、以太网、或总线和接口标准pcie与存储器连接。

基于本发明上述实施例提供的数据处理芯片和系统、数据存储转发处理方法,在数据处理芯片中设置互联存储控制器,通过互联存储控制器与存储器连接,通过互联存储控制器实现对存储器中的数据读写,以及通过互联存储控制器和存储器实现与其他数据处理芯片之间的数据交换。相对于相应技术,本发明实施例具有以下有益技术效果:

无需独立设置存储控制器和互联控制器,降低了数据处理芯片的成本,减小了io管脚密度,降低了pcb的复杂度,降低了数据处理系统的实现难度和成本,提高了数据处理系统的可靠性;

所有数据处理芯片可以共享存储器的存储空间,当一个数据处理芯片从一个存储器中读取其他数据处理芯片存储的数据时,可以直接从存储器读取该数据,而无需通过存储该数据的其他数据处理芯片从存储器中读取数据后再转发给当前的数据处理芯片,提高了存储空间的利用率,并降低了数据处理的复杂度和时间。

下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。

附图说明

构成说明书的一部分的附图描述了本发明的实施例,并且连同描述一起用于解释本发明的原理。

参照附图,根据下面的详细描述,可以更加清楚地理解本发明,其中:

图1为本发明数据处理系统一个实施例的结构示意图。

图2为本发明数据处理芯片一个实施例的结构示意图。

图3为本发明实施例中存储器一个实施例的结构示意图。

图4为本发明数据存储转发处理方法一个实施例的流程图。

图5为本发明数据存储转发处理方法另一个实施例的流程图。

图6为本发明数据读取处理方法一个实施例的流程图。

具体实施方式

现在将参照附图来详细描述本发明的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。

同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。

以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。

对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。

本发明实施例可以应用于终端设备、计算机系统/服务器等电子设备,其可与众多其它通用或专用计算系统环境或配置一起操作。适于与终端设备、计算机系统/服务器等电子设备一起使用的众所周知的终端设备、计算系统、环境和/或配置的例子包括但不限于:个人计算机系统、服务器计算机系统、瘦客户机、厚客户机、手持或膝上设备、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统﹑大型计算机系统和包括上述任何系统的分布式云计算技术环境,等等。

终端设备、计算机系统/服务器等电子设备可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括例程、程序、目标程序、组件、逻辑、数据结构等等,它们执行特定的任务或者实现特定的抽象数据类型。计算机系统/服务器可以在分布式云计算环境中实施,分布式云计算环境中,任务是由通过通信网络链接的远程处理设备执行的。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。

本发明各实施例中,“第一”、“第二”等词仅用于区分是否为同一个对象,而不用于区分对象内部的结构。本发明各实施例中,数据处理芯片采用同样的结构,存储器也采用同样的结构。

图1为本发明数据处理系统一个实施例的结构示意图。如图1所示,该实施例的数据处理系统,包括:至少一个存储器和至少两个数据处理芯片;每个数据处理芯片包括多个互联存储控制器,通过各互联存储控制器分别对应连接一个存储器;至少一个存储器包括第一存储器,每个存储器包括多个存储接口,每个存储接口与一个互联存储控制器连接;至少两个数据处理芯片包括第一数据处理芯片和第二数据处理芯片;第一数据处理芯片中的至少一个互联存储控制器包括第一互联存储控制器,通过第一互联存储控制器与第一存储器连接;第二数据处理芯片中的至少一个互联存储控制器包括第二互联存储控制器和第三互联存储控制器,通过第二互联存储控制器与第一存储器连接;图1中示例性地示出了一些数量的数据处理芯片和存储器,本发明各实施例中数据处理芯片、存储器的数量可以多于或少于图1中所示该数量,本领域技术人员基于本发明实施例的记载可以实现相应的实施例。其中:

第一数据处理芯片,用于在需要向目标存储器存储数据或者需要向第二数据处理芯片发送数据时,查询预先配置的第一路由表,获取接收方的接收方标识对应的该第一数据处理芯片中的第一互联存储控制器,通过第一互联存储控制器向该第一互联存储控制器连接的第一存储器发送请求消息,该请求消息中包括待处理数据、接收方标识和发送方标识,其中,接收方标识在数据处理系统中唯一标识一个接收方,接收方表示第一数据处理芯片需要存储数据的目标存储器或者发送数据的第二数据处理芯片,可以是数据处理芯片或存储器,发送方标识在数据处理系统中唯一标识一个数据处理芯片。第一路由表包括接收方标识与该第一数据处理芯片中互联存储控制器的互联存储控制器标识之间的对应关系,互联存储控制器标识在所在的数据处理芯片中唯一标识一个互联存储控制器,例如可以是存储器的编号等。本发明各实施例中,如果请求消息为存储数据请求消息,其中的待处理数据为待存储数据;如果请求消息为数据交换请求消息或数据发送请求消息,其中的待处理数据为待交换数据或待发送数据。

第一存储器,用于通过与第一互联存储控制器连接的存储接口接收请求消息;识别接收方标识是否该第一存储器的标识;若接收方标识是该第一存储器的标识,存储待处理数据;否则,若接收方标识不是该第一存储器的标识,查询预先配置的第二路由表,获取接收方标识对应的该第一存储器中的第一存储接口,将请求消息通过第一存储接口转发给第一存储接口连接的第二数据处理芯片中的第二互联存储控制器;第二路由表包括接收方标识与存储接口标识之间的对应关系。其中,存储接口标识在存储器中唯一标识一个存储接口,可以为存储器的编号等。

本发明各实施例中,前向转发是指,在一维连接中沿接收消息时消息的传输方向转发消息,使得消息在一维连接中沿同一方向传输。

本发明各实施例中,存储器例如可以是:混合记忆立方体动态随机存取存储器(hmcdram)、静态随机存取存储器(sram)、现场可编程门阵列(fpga)、专用集成电路(asic)或多口硬盘等,任意可以设置多个存储接口的存储器。其中,hmcdram中可以设置四个或以上互联存储控制器,各自对应连接至四个或以上存储器;sram中可以设置两个或以上互联存储控制器,各自对应连接至两个或以上存储器;fpga中可以设置两个或以上互联存储控制器,各自对应连接至两个或以上存储器;asic中可以设置两个或以上互联存储控制器,各自对应连接至两个或以上存储器。

本发明各实施例中,互联存储控制器可以通过串行器/解串器(serdes)、以太网、或总线和接口标准(pcie)等任意有线或无线通信与存储器连接。

第二数据处理芯片,用于识别请求消息中的接收方标识是否该第二数据处理芯片的标识;若接收方标识是该第二数据处理芯片的标识,读取待处理数据以便进行处理,例如计算、存储等;否则,若接收方标识不是该第二数据处理芯片的标识,查询预先配置的第一路由表,获取接收方标识对应的该第二数据处理芯片中的第三互联存储控制器,通过第三互联存储控制器将请求消息转发给第三互联存储控制器连接的第二存储器。其中,该第二数据处理芯片还包括第三互联存储控制器。

基于本发明上述实施例提供的数据处理系统,在数据处理芯片中设置互联存储控制器,通过互联存储控制器与存储器连接,通过互联存储控制器实现对存储器中的数据读写,以及通过互联存储控制器和存储器实现与其他数据处理芯片之间的数据交换。本发明实施例:无需独立设置存储控制器和互联控制器,降低了数据处理芯片的成本,减小了io管脚密度,降低了pcb的复杂度,降低了数据处理系统的实现难度和成本,提高了数据处理系统的可靠性;所有数据处理芯片可以共享存储器的存储空间,当一个数据处理芯片从一个存储器中读取其他数据处理芯片存储的数据时,可以直接从存储器读取该数据,而无需通过存储该数据的其他数据处理芯片从存储器中读取数据、再转发给当前的数据处理芯片,提高了存储空间的利用率,并降低了数据处理的复杂度和时间。

可选地,在本发明各实施例的数据处理系统中,每个数据处理芯片中都存储有接收方标识和互联存储控制器之间的关系,以便在需要向接收方发送请求消息或数据读取请求消息时,数据处理芯片选择该数据处理芯片中相应的互联存储控制器发送请求消息或数据读取请求消息。

图2为本发明数据处理芯片一个实施例的结构示意图。如图2所示,该实施例的数据处理芯片包括数据处理单元和多个互联存储控制器,该至少一个互联存储控制器包括一互联存储控制器和另一互联存储控制器,数据处理单元分别与上述至少一个互联存储控制器中的各互联存储控制器连接,各互联存储控制器分别对应连接至一个存储器。其中:

数据处理单元,用于在需要向目标存储器存储数据或者需要向另一数据处理芯片发送数据时,查询预先配置的第一路由表,获取接收方标识对应的一互联存储控制器,通过该一互联存储控制器向该一互联存储控制器连接的一存储器发送请求消息,该请求消息中包括待处理数据、接收方标识和发送方标识,第一路由表包括接收方标识与互联存储控制器标识之间的对应关系;以及响应于通过上述一互联存储控制器接收到请求消息,识别请求消息中的接收方标识是否数据处理芯片的标识;若请求消息中的接收方标识是数据处理芯片的标识,读取待处理数据以便进行处理;否则,若请求消息中的接收方标识不是数据处理芯片的标识,查询预先配置的第一路由表,获取接收方标识对应的另一互联存储控制器,通过另一互联存储控制器将请求消息转发给同时连接至另一互联存储控制器连接的另一存储器。其中,第一路由表包括接收方标识与该第一数据处理芯片中互联存储控制器的互联存储控制器标识之间的对应关系,互联存储控制器标识在所在的数据处理芯片中唯一标识一个互联存储控制器,例如可以是存储器的编号等。

另外,可选地,数据处理单元还可用于记录存储所述待存储数据的接收方标识。

互联存储控制器,用于将数据处理单元发送的请求消息转发给连接的存储器。

基于本发明上述实施例提供的数据处理芯片,设置有互联存储控制器,通过互联存储控制器与存储器连接,通过互联存储控制器实现对存储器中的数据读写,以及通过互联存储控制器和存储器实现与其他数据处理芯片之间的数据交换。本发明实施例的数据处理芯片:无需独立设置存储控制器和互联控制器,降低了数据处理芯片的成本,减小了io管脚密度,降低了pcb的复杂度,降低了数据处理系统的实现难度和成本,提高了数据处理系统的可靠性;所有数据处理芯片可以共享存储器的存储空间,当一个数据处理芯片从一个存储器中读取其他数据处理芯片存储的数据时,可以直接从存储器读取该数据,而无需通过存储该数据的其他数据处理芯片从存储器中读取数据并转发给当前的数据处理芯片,提高了存储空间的利用率,并降低了数据处理的复杂度和时间。

在本发明数据处理芯片的另一个实施例中,数据处理单元还可用于在向上述一互联存储控制器发送请求消息之前,确定待处理数据为共享数据或私有数据,请求消息中还包括待处理数据的数据类型标识,该数据类型标识用于标识数据类型为共享数据或私有数据;以及将上述一互联存储控制器的工作状态设置为数据写状态。其中,当前数据的数据类型为共享数据或私有数据,可以通过预先对数据处理芯片的配置确定,例如通过预先配置的业务类型、在一次业务处理过程中的环节等确定。

或者,在本发明数据处理芯片的又一个实施例中,数据处理单元,还用于在需要存储请求消息中的待处理数据时,根据预先配置,确定存储待处理数据的目标存储器和目标存储器中的目标存储区域,并获取该目标存储器的标识和该目标存储区域的标识(例如,芯片标识、存储区域编号等),以该目标存储器的标识作为接收方标识;相应的,请求消息中还包括目标存储区域的标识;以及将上述一互联存储控制器的工作状态设置为数据写状态。

在本发明各数据处理芯片实施例的一个可选示例中,其中的数据处理单元,还用于在需要向所在数据处理芯片之外的另一数据处理芯片发送数据时,将上述一互联存储控制器的工作状态设置为数据交换状态,并通过该一互联存储控制器向上述一存储器发送交换数据。

本发明实施例中,互联存储控制器可以包括如下三种工作状态:数据写状态,数据读状态,数据交换状态。互联存储控制器处于这三种状态时,分别用于数据处理单元向存储器存储数据、从存储器读取数据、以及与另一数据处理芯片交换数据。

另外,在本发明数据处理芯片的再一个实施例中,数据处理单元还可用于在需要从接收方读取数据时,将直接或间接连接至接收方的一互联存储控制器的工作状态设置为数据读状态,并通过上述一互联存储控制器向一存储器发送数据读取请求消息,该读取请求消息中包括发送方标识和接收方标识,其中的发送方标识为该数据处理芯片的标识。相应地,该实施例中,上述一互联存储控制器还可用于接收上述一存储器返回的上述数据读取请求消息所请求的数据,并向数据处理单元转发该数据读取请求消息所请求的存储数据。

可选地,上述数据读取请求消息中还可以包括数据类型标识,该数据类型标识用于标识上述数据读取请求消息所请求的数据的数据类型为共享数据或私有数据。

或者,可选地,数据处理单元还用于在需要从接收方读取数据时,确定需要读取的数据所在的存储器和在存储器中的存储区域分别作为目标存储器和目标存储区域,并获取该目标存储器的标识和该目标存储区域的标识,上述实施例中的接收方标识具体为该目标存储器的标识,上述请求消息中还可以包括该目标存储区域的标识。

本发明各实施例的数据处理系统中,数据处理芯片可以示例性地通过上述任一数据处理芯片实施例实现。

图3为本发明实施例中存储器一个实施例的结构示意图。如图3所示,作为本发明各数据处理系统实施例的一个具体示例而非限制,本发明实施例中的第一存储器包括:交换中心单元、存储单元和两个以上存储接口,每个存储接口对应连接至一个数据处理芯片中的一个互联存储控制器。其中:

交换中心单元,用于通过两个以上存储接口中与第一互联存储控制器连接的存储接口接收请求消息,识别接收方标识是否该第一存储器的标识;若接收方标识是该第一存储器的标识,将请求消息中的待处理数据存储在存储单元中;否则,若接收方标识不是该第一存储器的标识,查询预先配置的第二路由表,获取接收方标识对应的该第一存储器中的第一存储接口,将请求消息通过第一存储接口转发给第一存储接口连接的第二数据处理芯片中的第二互联存储控制器,第二路由表包括接收方标识与存储接口标识之间的对应关系,存储接口标识在一个存储器中唯一标识一个存储接口,例如可以是存储接口的编号等;通过两个以上存储接口中与第一互联存储控制器连接的存储接口接收数据读取请求消息,识别数据读取请求消息中的接收方标识是否该第一存储器的标识;若数据读取请求消息中的接收方标识是该第一存储器的标识,从存储单元中获取数据读取请求消息所请求的数据,并向第一互联存储控制器返回数据读取请求消息所请求的数据;否则,若数据读取请求消息中的接收方标识不是该第一存储器的标识,查询预先配置的第二路由表,获取接收方标识对应的该第一存储器中的第一存储接口,将数据读取请求消息通过第一存储接口转发给第一存储接口连接的第二数据处理芯片中的第二互联存储控制器;

存储单元,用于存储数据。

在本发明存储器各实施例的其中一个示例中,存储单元包括:私有存储区域和共享存储区域,其中,私有存储区域包括预先分别分配给各数据处理芯片的多个存储区域。在上述实施例中,请求消息中还可以包括待处理数据的数据类型标识,该数据类型标识用于标识待处理数据的数据类型为共享数据或私有数据。相应地,交换中心单元具体用于根据请求消息中的数据类型标识,若待处理数据的数据类型为私有数据,将待处理数据存储在预先分配给发送方标识所标识的第一数据处理芯片的第一存储区域中;若待处理数据的数据类型为共享数据,将待处理数据存储在存储单元中的共享存储区域。

另外,在本发明存储器各实施例的另一个示例中,数据读取请求消息中还可以包括数据类型标识,该数据类型标识用于标识数据读取请求消息所请求数据的数据类型为共享数据或私有数据。相应地,交换中心单元根据该数据读取请求消息从存储单元中获取该数据读取请求消息所请求的数据时,具体用于根据该数据读取请求消息中的数据类型标识,若请求数据的数据类型为私有数据,从预先分配给发送方标识所标识的第一数据处理芯片的存储区域读取该数据读取请求消息所请求的存储数据;若请求数据的数据类型为共享数据,从共享存储区域读取该数据读取请求消息所请求的存储数据。

另外,再参见图3,在图3所示存储单元结构的另一个实施例中,存储单元包括:私有存储区域和共享存储区域,用于存储数据。其中,私有存储区域包括预先分别分配给各数据处理芯片的多个存储区域,分别用于存储数据处理芯片的私有数据,共享存储区域用于存储数据处理系统中各数据处理芯片的共享数据。各存储区域通过存储区域的标识唯一标识。

该实施例中,请求消息中还包括目标存储区域的标识。相应地,交换中心单元,用于通过两个以上存储接口中与第一互联存储控制器连接的存储接口接收请求消息,识别接收方标识是否该第一存储器的标识;若接收方标识是该第一存储器的标识,根据目标存储区域的标识,将存储数据存储在存储单元中的目标存储区域中;否则,若接收方标识不是该第一存储器的标识,查询预先配置的第二路由表,获取接收方标识对应的该第一存储器中的第一存储接口,将请求消息通过第一存储接口转发给第一存储接口连接的第二数据处理芯片中的第二互联存储控制器,第二路由表包括接收方标识与存储接口标识之间的对应关系;以及通过两个以上存储接口中与第一互联存储控制器连接的存储接口接收数据读取请求消息,识别数据读取请求消息中的接收方标识是否该第一存储器的标识;若数据读取请求消息中的接收方标识是该第一存储器的标识,从存储单元中获取数据读取请求消息所请求的数据,并向第一互联存储控制器返回数据读取请求消息所请求的数据;否则,若数据读取请求消息中的接收方标识不是该第一存储器的标识,查询预先配置的第二路由表,获取接收方标识对应的该第一存储器中的第一存储接口,将数据读取请求消息通过第一存储接口转发给第一存储接口连接的第二数据处理芯片中的第二互联存储控制器。

图4为本发明数据处理系统中的数据存储转发处理方法一个实施例的流程图。其中,数据处理系统包括至少一个存储器和至少两个数据处理芯片;每个数据处理芯片包括多个互联存储控制器,通过各互联存储控制器分别对应连接一个存储器;每个存储器连接两个或以上数据处理芯片。本发明各数据存储转发处理方法实施例中的数据处理系统可以采用本发明上述各实施例的数据处理系统实现。如图4所示,该实施例的数据存储转发处理方法包括:

102,响应于至少两个数据处理芯片中的第一数据处理芯片需要向目标存储器存储数据或者需要向至少两个数据处理芯片中的第二数据处理芯片发送数据时,第一数据处理芯片查询预先配置的第一路由表,获取接收方标识对应的该第一数据处理芯片中的第一互联存储控制器,通过第一互联存储控制器向该第一互联存储控制器连接的第一存储器发送请求消息。

该请求消息中包括待处理数据、接收方标识和发送方标识;第一路由表包括接收方标识与互联存储控制器标识之间的对应关系。

其中,接收方标识在数据处理系统中唯一标识一个接收方,接收方表示第一数据处理芯片需要存储数据的目标存储器或者发送数据的第二数据处理芯片,可以是数据处理芯片或存储器,发送方标识在数据处理系统中唯一标识一个数据处理芯片。第一路由表包括接收方标识与该第一数据处理芯片中互联存储控制器的互联存储控制器标识之间的对应关系,互联存储控制器标识在所在的数据处理芯片中唯一标识一个互联存储控制器,例如可以是存储器的编号等。本发明各实施例中,如果请求消息为存储数据请求消息,其中的待处理数据为待存储数据;如果请求消息为数据交换请求消息或数据发送请求消息,其中的待处理数据为待交换数据或待发送数据。

在本发明另一实施例的数据存储转发处理方法中,第一数据处理芯片发送请求消息后,还可以记录该请求消息中待存储数据的接收方标识,即:记录该待处理数据发送给了哪个存储器,以便后续从该存储器读取该数据。

在本发明实施例的一个可选示例中,该操作102可以通过如下方式实现:响应于至少两个数据处理芯片中的第一数据处理芯片需要向目标存储器存储数据,第一数据处理芯片查询预先配置的第一路由表,获取接收方标识对应的该第一数据处理芯片中的第一互联存储控制器,通过第一互联存储控制器向该第一互联存储控制器连接的第一存储器发送请求消息,包括:第一数据处理芯片中的数据处理单元查询预先配置的第一路由表,获取接收方标识对应的该第一数据处理芯片中的第一互联存储控制器,将第一互联存储控制器的工作状态设置为数据写状态,并向第一互联存储控制器发送请求消息;第一互联存储控制器将请求消息发送给连接的第一存储器。

104,第一存储器识别请求消息中的接收方标识是否该第一存储器的标识。

若请求消息中的接收方标识是该第一存储器的标识,说明该请求消息中的待处理数据为需要存储的待存储数据,执行操作106。否则,若请求消息中的接收方标识不是该第一存储器的标识,执行操作108。

106,第一存储器存储请求消息中的待处理数据。

在本发明实施例的一个可选示例中,该操作106可以通过如下方式实现:第一存储器将待处理数据存储在该第一存储器中的存储单元中。

之后,不执行本实施例的后续流程。

108,第一存储器查询预先配置的第二路由表,获取接收方标识对应的该第一存储器中的第一存储接口,将请求消息通过第一存储接口转发给第一存储接口连接的第二数据处理芯片中的第二互联存储控制器。

其中,第二路由表包括接收方标识与存储接口标识之间的对应关系。

基于本发明上述实施例提供的数据存储转发处理方法,在数据处理芯片中设置互联存储控制器,通过互联存储控制器与存储器连接,通过互联存储控制器实现对存储器中的数据存储,以及通过互联存储控制器和存储器实现与其他数据处理芯片之间的数据交换。本发明实施例:无需独立设置存储控制器和互联控制器,降低了数据处理芯片的成本,减小了io管脚密度,降低了pcb的复杂度,降低了数据处理系统的实现难度和成本,提高了数据处理系统的可靠性;所有数据处理芯片可以共享存储器的存储空间,以便当一个数据处理芯片从一个存储器中读取其他数据处理芯片存储的数据时,可以直接从存储器读取该数据,而无需通过存储该数据的其他数据处理芯片从存储器中读取数据并转发给当前的数据处理芯片,提高了存储空间的利用率,并降低了数据处理的复杂度和时间。

可选地,再参见图4,在本发明数据处理系统中的数据存储转发处理方法的又一实施例中,还可以包括:

110,第二数据处理芯片识别请求消息中的接收方标识是否该第二数据处理芯片的标识。

若请求消息中的接收方标识是该第二数据处理芯片的标识,执行操作112。否则,若请求消息中的接收方标识不是该第二数据处理芯片的标识,执行操作114。

112,第二数据处理芯片读取请求消息中的待处理数据以便进行处理,例如存储或计算。

之后,不执行本实施例的后续流程。

114,第二数据处理芯片查询预先配置的第一路由表,获取接收方标识对应的该第二数据处理芯片中的第三互联存储控制器,通过第三互联存储控制器将请求消息转发给第三互联存储控制器连接的第二存储器,以该第二存储器作为新的第一存储器,执行操作104,直至接收方标识是当前接收到该请求消息的当前接收方的标识,由作为当前接收方的存储器存储请求消息中的待处理数据、或由作为当前接收方的数据处理芯片读取请求消息中的待处理数据以便进行处理。

需要说明的是,以该第二存储器作为新的第一存储器,是指第二存储器与新的第一存储器执行的操作相同,而不是指其连接的数据处理芯片或其中的互联存储控制器相同,接收请求消息沿一维连接的传输方向上前一个数据处理芯片中与该第二存储器连接的互联存储控制器发送的请求消息,若接收方标识不是该第二存储器的标识,将该请求消息转发至请求消息沿一维连接的传输方向上下一个数据处理芯片中与该第二存储器连接的互联存储控制器。

基于本发明上述实施例提供的数据存储转发处理方法,在数据处理芯片中设置互联存储控制器,通过互联存储控制器与存储器连接,通过互联存储控制器实现对存储器中的数据存储,以及通过互联存储控制器和存储器实现与其他数据处理芯片之间的数据交换。本发明实施例:无需独立设置存储控制器和互联控制器,降低了数据处理芯片的成本,减小了io管脚密度,降低了pcb的复杂度,降低了数据处理系统的实现难度和成本,提高了数据处理系统的可靠性;所有数据处理芯片可以共享存储器的存储空间,当一个数据处理芯片从一个存储器中读取其他数据处理芯片存储的数据时,可以直接从存储器读取该数据,而无需通过存储该数据的其他数据处理芯片从存储器中读取数据并转发给当前的数据处理芯片,提高了存储空间的利用率,并降低了数据处理的复杂度和时间。

本发明各实施例中,存储器、数据处理芯片等接收到需要转发的消息或数据时,如果同时接收到多个需要转发的消息或数据时,可以根据预设设定的优先级规则转发这些消息或数据,其中的优先级规则例如可以包括以下任意一项或多项:业务类型、发送方、接收方、发送方类型、接收方类型等。其中,业务类型的优先级规则用于说明不同业务类型的消息或数据的发送优先级关系;发送方的优先级规则用于说明哪些发送方发送的消息或数据需要优先处理;接收方的优先级规则用于说明发送给哪些接收方的消息或数据需要优先处理;发送方类型包括存储器和数据处理芯片,发送方类型的优先级规则用于说明发送给哪些类型的接收方的消息或数据需要优先处理;接收方类型包括存储器和数据处理芯片,接收方类型的优先级规则用于接收方为哪些类型的消息或数据需要优先处理。

图5为本发明数据存储转发处理方法另一个实施例的流程图。如图5所示,该实施例的数据存储转发处理方法还可以包括:

202,响应于至少两个数据处理芯片中的第一数据处理芯片需要向目标存储器存储数据,第一数据处理芯片中的数据处理单元查询预先配置的第一路由表,获取接收方标识对应的该第一数据处理芯片中的第一互联存储控制器,将第一互联存储控制器的工作状态设置为数据写状态,并向第一互联存储控制器发送请求消息。

其中,接收方标识在数据处理系统中唯一标识一个接收方,接收方表示第一数据处理芯片需要存储数据的目标存储器或者发送数据的第二数据处理芯片,可以是数据处理芯片或存储器,发送方标识在数据处理系统中唯一标识一个数据处理芯片。第一路由表包括接收方标识与该第一数据处理芯片中互联存储控制器的互联存储控制器标识之间的对应关系,互联存储控制器标识在所在的数据处理芯片中唯一标识一个互联存储控制器,例如可以是存储器的编号等。本发明各实施例中,如果请求消息为存储数据请求消息,其中的待处理数据为待存储数据;如果请求消息为数据交换请求消息或数据发送请求消息,其中的待处理数据为待交换数据或待发送数据。

在本发明另一实施例的数据存储转发处理方法中,第一数据处理芯片发送请求消息后,还可以记录该请求消息中待存储数据的接收方标识,即:记录该待处理数据发送给了哪个存储器,以便后续从该存储器读取该数据。

204,第一互联存储控制器将请求消息发送给连接的第一存储器。

206,第一存储器识别请求消息中的接收方标识是否该第一存储器的标识。

若请求消息中的接收方标识是该第一存储器的标识,说明该请求消息中的待处理数据为需要存储的待存储数据,执行操作208。否则,若请求消息中的接收方标识不是该第一存储器的标识,执行操作210。

208,第一存储器将待处理数据存储在该第一存储器中的存储单元中。

之后,不执行本实施例的后续流程。

210,第一存储器查询预先配置的第二路由表,获取接收方标识对应的该第一存储器中的第一存储接口,将请求消息通过第一存储接口转发给第一存储接口连接的第二数据处理芯片中的第二互联存储控制器。

其中,第二路由表包括接收方标识与存储接口标识之间的对应关系。

212,第二数据处理芯片识别请求消息中的接收方标识是否该第二数据处理芯片的标识。

若请求消息中的接收方标识是该第二数据处理芯片的标识,执行操作214。否则,若请求消息中的接收方标识不是该第二数据处理芯片的标识,执行操作216。

214,第二数据处理芯片读取请求消息中的待处理数据以便进行处理,例如存储或计算。

之后,不执行本实施例的后续流程。

216,第二数据处理芯片查询预先配置的第一路由表,获取接收方标识对应的该第二数据处理芯片中的第三互联存储控制器,通过第三互联存储控制器将请求消息转发给第三互联存储控制器连接的第二存储器,以该第二存储器作为新的第一存储器,执行操作104,直至接收方标识是当前接收到该请求消息的当前接收方的标识,由作为当前接收方的存储器存储请求消息中的待处理数据、或由作为当前接收方的数据处理芯片读取请求消息中的待处理数据以便进行处理。

需要说明的是,以该第二存储器作为新的第一存储器,是指第二存储器与新的第一存储器执行的操作相同,而不是指其连接的数据处理芯片或其中的互联存储控制器相同,接收请求消息沿一维连接的传输方向上前一个数据处理芯片中与该第二存储器连接的互联存储控制器发送的请求消息,若接收方标识不是该第二存储器的标识,将该请求消息转发至请求消息沿一维连接的传输方向上下一个数据处理芯片中与该第二存储器连接的互联存储控制器。

在基于本发明上述图1-图2所示各数据存储转发处理方法实施例的又一个实施例中,在第一数据处理芯片向第一互联存储控制器发送请求消息,还可以包括:第一数据处理芯片中的数据处理单元确定待处理数据的数据类型为共享数据或私有数据,请求消息中还包括数据类型标识,该数据类型标识用于标识待处理数据的数据类型为共享数据或私有数据。相应地,第一存储器将待处理数据存储在该第一存储器中的存储单元中,包括:第一存储器根据请求消息中的数据类型标识,将待处理数据存储在存储单元中的相应存储区域。

具体地,第一存储器根据请求消息中的数据类型标识,将待处理数据存储在存储单元中的相应存储区域,包括:根据请求消息中的数据类型标识,若待处理数据的数据类型为私有数据,第一存储器将待处理数据存储在存储单元中预先分配给第一数据处理芯片的第一存储区域;若待处理数据的数据类型为共享数据,第一存储器将待处理数据存储在存储单元中的共享存储区域。

在基于本发明上述图1-图2所示各数据存储转发处理方法实施例的再一个实施例中,操作102或202中,至少两个数据处理芯片中的第一数据处理芯片需要向目标存储器存储数据时,还可以包括:第一数据处理芯片中的数据处理单元根据预先配置,确定接收该待处理数据的目标存储器和目标存储器中的目标存储区域,并获取该目标存储器的标识和目标存储区域的标识,以目标存储器的标识作为接收方标识;其中上述请求消息中还包括该目标存储区域的标识。相应地,操作106或208中,第一存储器根据请求消息中的目标存储区域的标识,将请求消息中的待处理数据存储在该第一存储器中的目标存储区域中。

在本发明上述各数据存储转发处理方法实施例的一个可选示例中,响应于第一数据处理芯片需要向至少两个数据处理芯片中的第二数据处理芯片发送数据时,第一数据处理芯片通过第一互联存储控制器向第一存储器发送请求消息,可以包括:响应于第一数据处理芯片需要向第二数据处理芯片发送数据,第一数据处理芯片中的数据处理单元将第一互联存储控制器的工作状态设置为数据交换状态,并通过该第一互联存储控制器向第一存储器发送请求消息;第一存储器将请求消息转发给第一存储器。

另外,在本发明上述各数据存储转发处理方法实施例的另一个可选示例中,存储器包括多个存储接口,通过各存储接口分别对应连接至不同的数据处理芯片中的其中一个互联存储控制器,通过多个存储接口中的一个存储接口接收其连接的互联存储控制器发送的请求消息或数据读取请求消息,通过该多个存储接口中的另一个存储接口将接收到的请求消息或数据读取请求消息通过另一个存储接口发送给其连接的数据处理芯片中的互联存储控制器,从而实现请求消息或数据读取请求消息的转发。

另外,在本发明上述各数据存储转发处理方法实施例中,还可以包括数据处处理芯片从接收方(例如存储器或者其他数据处理芯片)读取数据的操作。其中,接收方为存储器时,数据处处理芯片可以从存储器读取自己存储的私有数据,还可以读取数据处理系统中各数据处理芯片存储的共享数据;接收方为其他数据处理芯片时,数据处处理芯片可以从其他数据处理芯片获取数据。

另外,本发明实施例还提供了一种基于图1~图4所示实施例结构的数据读取处理的方法。

图6为本发明数据读取处理方法一个实施例的流程图。本实施例以第一数据处理芯片读取数据从接收方读取数据为例进行说明,本领域技术人员基于本发明实施例的记载,可以知晓数据处理芯片需要从接收方读取数据的实现方案。如图6所示,该实施例中,第一数据处理芯片从接收方读取数据,包括:

302,响应于第一数据处理芯片需要从接收方读取数据,第一数据处理芯片中的数据处理单元查询预先配置的第一路由表,获取接收方标识对应的该第一数据处理芯片中的第一互联存储控制器,将第一互联存储控制器的工作状态设置为数据读状态,并通过第一互联存储控制器向第一存储器发送数据读取请求消息。

其中,该读取请求消息中包括发送方标识和接收方标识,其中的发送方标识为第一数据处理芯片的标识;接收方标识用于标识接收方,该接收方可以是存储器或者数据处理芯片。

304,第一存储器识别请求消息中的接收方标识是否该第一存储器的标识。

若接收方标识是该第一存储器的标识,执行操作306。否则,若接收方标识不是该第一存储器的标识,执行操作310。

306,第一存储器从该第一存储器中获取数据读取请求消息所请求的数据,并向第一互联存储控制器返回数据读取请求消息所请求的数据。

308,第一互联存储控制器向第一数据处理芯片中的数据处理单元转发数据读取请求消息所请求的数据。

之后,不执行本实施例的后续流程。

310,第一存储器查询预先配置的第二路由表,获取接收方标识对应的该第一存储器中的第一存储接口,将数据读取请求消息通过第一存储接口转发给第一存储接口连接的第二数据处理芯片中的第二互联存储控制器。

312,第二数据处理芯片识别数据读取请求消息中的接收方标识是否该第二数据处理芯片的标识。

若数据读取请求消息中的接收方标识是该第二数据处理芯片的标识,执行操作312。否则,若数据读取请求消息中的接收方标识不是该第二数据处理芯片的标识,执行操作318。

314,第二数据处理芯片中的数据处理单元获取数据读取请求消息所请求的数据并通过第二互联存储控制器发送给第一存储器的第一存储接口。

316,第一存储器查询预先配置的第二路由表,获取数据读取请求消息中发送方标识对应的该第一存储器中的第二存储接口,通过第二存储接口向第一互联存储控制器返回数据读取请求消息所请求的数据。

其中,第二路由表包括接收方标识与存储接口标识之间的对应关系;

318,第一互联存储控制器向第一数据处理芯片中的数据处理单元转发数据读取请求消息所请求的数据。

之后,不执行本实施例的后续流程。

320,第二数据处理芯片中的数据处理单元查询预先配置的第一路由表,获取数据读取请求消息中接收方标识对应的该第二数据处理芯片中的第三互联存储控制器,通过第三互联存储控制器将数据读取请求消息转发给第三互联存储控制器连接的第二存储器。

以第二存储器作为新的第一存储器,执行302操作,直至当前接收方标识是当前接收方的标识,由当前接收方获取数据读取请求消息所请求的数据,并沿数据读取请求消息的反向传输路径以此传输至第一存储器,由第一存储器向第一互联存储控制器返回数据读取请求消息所请求的数据,再由第一互联存储控制器向第一数据处理芯片中的数据处理单元转发数据读取请求消息所请求的数据。

需要说明的是,以该第二存储器作为新的第一存储器,是指第二存储器与新的第一存储器执行的操作相同,而不是指其连接的数据处理芯片或其中的互联存储控制器相同,接收请求消息沿一维连接的传输方向上前一个数据处理芯片中与该第二存储器连接的互联存储控制器发送的请求消息,若接收方标识不是该第二存储器的标识,将该请求消息转发至请求消息沿一维连接的传输方向上下一个数据处理芯片中与该第二存储器连接的互联存储控制器。

基于本发明上述实施例提供的数据读取处理方法,在数据处理芯片中设置互联存储控制器,通过互联存储控制器与存储器连接,通过互联存储控制器实现对存储器中的数据读取。本发明实施例:无需独立设置存储控制器和互联控制器,降低了数据处理芯片的成本,减小了io管脚密度,降低了pcb的复杂度,降低了数据处理系统的实现难度和成本,提高了数据处理系统的可靠性;所有数据处理芯片可以共享存储器的存储空间,当一个数据处理芯片从一个存储器中读取其他数据处理芯片存储的数据时,可以直接从存储器读取该数据,而无需通过存储该数据的其他数据处理芯片从存储器中读取数据并转发给当前的数据处理芯片,提高了存储空间的利用率,并降低了数据处理的复杂度和时间。

在图6所示实施例的一个可选示例中,若接收方为存储器,数据读取请求消息中还包括数据类型标识,该数据类型标识用于标识该数据读取请求消息所请求的数据的数据类型为共享数据或私有数据。相应的,操作304中,第一存储器从该第一存储器中获取数据读取请求消息所请求的数据,包括:若数据读取请求消息中的标识所标识的数据类型为私有数据,第一存储器从该第一存储器中的存储单元中预先分配给第一数据处理芯片的第一存储区域读取数据读取请求消息所请求的存储数据;若数据读取请求消息中的标识所标识的数据类型为共享数据,第一存储器从该第一存储器中的存储单元中的共享存储区域读取请求所请求的存储数据。

在图6所示实施例的另一个可选示例中,第一数据处理芯片需要从接收方读取数据时,还可以包括:第一数据处理芯片中的数据处理单元确定需要读取的数据所在的存储器和存储器中的存储区域分别作为目标存储器和目标存储区域,并获取该目标存储器的标识和目标存储区域的标识,其中的接收方标识为目标存储器的标识,相应的,数据读取请求消息中还可以包括目标存储区域的标识。相应的,操作304中,第一存储器从该第一存储器中获取数据读取请求消息所请求的数据,包括:第一存储器根据数据读取请求消息中目标存储区域的标识,从第一存储器中的目标存储区域中读取该数据读取请求消息所请求的数据。

本说明书中各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似的部分相互参见即可。对于方法、装置、系统实施例而言,由于其相互对应,相关之处相互参见即可。

可能以许多方式来实现本发明的方法和装置、系统。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本发明的方法和装置、系统。用于所述方法的步骤的上述顺序仅是为了进行说明,本发明的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本发明实施为记录在记录介质中的程序,这些程序包括用于实现根据本发明的方法的机器可读指令。因而,本发明还覆盖存储用于执行根据本发明的方法的程序的记录介质。

本发明的描述是为了示例和描述起见而给出的,而并不是无遗漏的或者将本发明限于所公开的形式。很多修改和变化对于本领域的普通技术人员而言是显然的。选择和描述实施例是为了更好说明本发明的原理和实际应用,并且使本领域的普通技术人员能够理解本发明从而设计适于特定用途的带有各种修改的各种实施例。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1