一种数据缓存装置、系统及数据处理方法制造方法及图纸

技术编号:34132292 阅读:11 留言:0更新日期:2022-07-14 15:44
本申请提供一种数据缓存装置、系统及数据处理方法,该装置包括远程交换控制器用于接收并解析远程交换命令数据帧,获得远程交换命令和远程交换命令对应的第一目标地址,第一目标地址包括第一目标数据缓存装置的ID号,远程交换控制器还用于判断第一目标数据缓存装置的ID号与当前数据缓存装置的ID号的大小关系,生成第一数据帧,根据判断结果将第一数据帧发送给与当前数据缓存装置相邻的数据缓存装置或将第一数据帧发送给读控制器或写控制器,读控制器或写控制器用于接收、解析第一数据帧获得命令,执行命令。该装置解决了读写端口太多和SRAM规模较大时,所有端口的数据都需要连接到SRAM,导致连线过于庞大而且复杂难以实现的问题。题。题。

【技术实现步骤摘要】
一种数据缓存装置、系统及数据处理方法


[0001]本申请涉及数据处理
,具体涉及一种数据缓存装置、系统及数据处理方法。

技术介绍

[0002]在网络芯片的处理中,一般都需要从1个或多个端口接收数据报文,存到片内缓存中进行处理,处理完成后再从缓存读出转发到目标端口。片内数据缓存通常采用1块或多块RAM实现,其结构包含写控制器和读控制器,以及把读出数据选择后送到目标端口的多路选择器。例如,以2个输入端口,2个输出端口的片内数据缓存设计实现如图1所示,其中,Write From Port0表示从端口0接收数据后产生的数据缓存写请求,包含写地址和数据,Write From Port1 表示从端口1接收数据后产生的数据缓存写请求,包含写地址和数据,Read Cmd From Port0表示从端口0接收的数据读出发送请求,包含读请求的地址,Read Cmd From Port1表示从端口0接收的数据读出发送请求,包含读请求的地址,Read Data To Port0表示从一组RAM读出并完成选择后,发到Port0端口的数据,Read Data To Port1表示从一组RAM读出并完成选择后,发到Port1端口的数据。
[0003]采用图1中的设计存在以下缺陷:1.所有端口的读写请求需要连接到全部的一组SRAM上,当SRAM数量和端口数量较大时,数据总线连线太多而且集中,会造成局部连线拥塞,后端实现困难;2.由于不同的端口读写同一组SRAM的时序相同,当数据缓存较大SRAM数量较多,连线到全部的SRAM不能在1个周期完成时,需要在读写路径上需要插入D类型触发器,以保证时序可以满足要求,此时需要按照最长路径把所有读写命令及数据路径进行对齐,会需要浪费额外的资源;3.当两个端口在芯片不同位置时,采用此种结构的数据缓存只能放在一个固定的位置,不能同时靠近所有的数据端口,所有端口的数据都需要汇聚写入到数据缓存,再从集中的数据缓存读出发送,一定有部分端口的路径很长,读写过冲数据很大,会引入额外的数据缓存和控制复杂度。

技术实现思路

[0004]针对现有技术中的问题,本申请提供一种数据处理电路、系统及数据处理方法,以解决现有技术中实现数据位处理绕线复杂导致的拥塞以及需要的MUX资源多等问题。
[0005]为了解决上述问题,本申请提供以下技术方案:本专利技术第一方面提供一种远程数据交换装置,所述数据缓存装置包括远程交换控制器、写控制器、读控制器以及存储单元,所述远程交换控制器用于接收并解析远程交换命令数据帧,至少获得远程交换命令和远程交换命令对应的第一目标地址,其中所述远程交换命令为第一读命令或第一写命令,所述第一目标地址至少包括第一目标数据缓存装置的ID号;所述远程交换控制器还用于判断所述第一目标数据缓存装置的ID号与当前数据缓存装置的ID号的大小关系,并根据所述远程交换命令和第一目标地址生成第一数据帧,根据判断结果将所述第一数据帧发送给与当前数据缓存装置相邻的数据缓存装置或将所述第
一数据帧发送给所述读控制器或写控制器;所述读控制器用于接收并解析所述第一数据帧,获得所述第一读命令和第一读地址,并从所述第一读地址对应的存储单元中读取数据;所述写控制器用于接收并解析所述第一数据帧,获得所述第一写命令、第一写数据和第一写地址,并将所述第一写数据写入所述第一写地址对应的存储单元中。
[0006]优选地,所述远程交换控制器包括数据帧解析单元、读写命令访问地址判断单元、数据帧生成单元和路径选择单元,其中,数据帧解析单元,用于接收并解析远程交换命令数据帧,至少获得远程交换命令和第一目标地址,所述读写命令访问地址判断单元用于判断所述第一目标数据缓存装置的ID号与所述当前数据缓存装置的ID号之间的大小关系,若所述第一目标数据缓存装置的ID号等于所述当前数据缓存装置的ID号,则输出第一判断结果,若所述第一目标数据缓存装置的ID号小于所述当前数据缓存装置的ID号,则输出第二判断结果,若所述第一目标数据缓存装置的ID号大于所述当前数据缓存装置的ID号,则输出第三判断结果,数据帧生成单元,用于根据所述远程交换命令和第一目标地址生成第一数据帧;所述路径选择单元用于根据所述第一判断结果将所述第一数据帧发送给所述写控制器或读控制器,还用于根据所述第二判断结果将所述第一数据帧发送给所述当前数据缓存装置的一相邻数据缓存装置,所述一相邻数据缓存装置的ID号小于所述当前数据缓存装置的ID号,还用于根据所述第三判断结果将所述第一数据帧发送给另一相邻数据缓存装置,所述另一相邻数据缓存装置的ID号大于所述当前数据缓存装置的ID号。
[0007]优选地,所述数据帧解析单元还用于接收并解析所述一相邻数据缓存装置发送的第二数据帧,获得第二命令和第二目标地址,所述第二命令为第二读命令或第二写命令,所述第二目标地址至少包括第二目标数据缓存装置的ID号;所述读写命令访问地址判断单元用于判断所述第二目标数据缓存装置的ID号与所述当前数据缓存装置的ID号之间的大小关系,若所述第二目标数据缓存装置的ID号等于所述当前数据缓存装置的ID号,则输出第四判断结果,若所述第二目标数据缓存装置的ID号小于所述当前数据缓存装置的ID号,则输出第五判断结果,若所述第二目标数据缓存装置的ID号大于所述当前数据缓存装置的ID号,则输出第六判断结果,所述数据帧生成单元还用于根据所述第二命令和第二地址生成第三数据帧;所述路径选择单元还用于根据所述第四判断结果将所述第三数据帧发送给所述写控制器或读控制器,或用于根据所述第五判断结果将所述第三数据帧发送给所述当前数据缓存装置的所述一相邻数据缓存装置,所述一相邻数据缓存装置的ID号小于所述当前数据缓存装置的ID号,或用于根据所述第六判断结果将所述第三数据帧发送给另一相邻数据缓存装置,所述另一相邻数据缓存装置的ID号大于所述当前数据缓存装置的ID号。
[0008]优选地,所述数据帧解析单元还用于接收并解析所述另一相邻数据缓存装置发送的第四数据帧,至少获得第三命令和第三目标地址,所述第三命令为第三读命令或第三写命令,所述第三目标地址至少包括第三目标数据缓存装置的ID号;所述读写命令访问地址判断单元用于判断所述第三目标数据缓存装置的ID号与所述当前数据缓存装置的ID号之间的大小关系,若所述第三目标数据缓存装置的ID号等于所述当前数据缓存装置的ID号,则输出第七判断结果,若所述第三目标数据缓存装置的ID号小于所述当前数据缓存装置的ID号,则输出第八判断结果,若所述第三目标数据缓存装置的ID号大于所述当前数据缓存装置的ID号,则输出第九判断结果;所述数据帧生成单元用于根据所述第三命令和第三目标地址生成第五数据帧;所述路径选择单元还用于根据所述第七判断结果将所述第五数据
帧发送给所述写控制器或读控制器,或用于根据所述第八判断结果将所述第五数据帧发送给所述当前数据缓存装置的一相邻数据缓存装置,所述相邻数据缓存装置的ID号小于所述当前数据缓存装置的ID号,或用于根据所述第九判断结果将所述第五数据帧发送给另一相邻数据缓存装置,所述另一相邻数据缓存装置的ID本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据缓存装置,其特征在于,所述数据缓存装置包括远程交换控制器、写控制器、读控制器以及存储单元,所述远程交换控制器用于接收并解析远程交换命令数据帧,至少获得远程交换命令和远程交换命令对应的第一目标地址,其中所述远程交换命令为第一读命令或第一写命令,所述第一目标地址至少包括第一目标数据缓存装置的ID号;所述远程交换控制器还用于判断所述第一目标数据缓存装置的ID号与当前数据缓存装置的ID号的大小关系,并根据所述远程交换命令和第一目标地址生成第一数据帧,根据判断结果将所述第一数据帧发送给与当前数据缓存装置相邻的数据缓存装置或将所述第一数据帧发送给所述读控制器或写控制器;所述读控制器用于接收并解析所述第一数据帧,获得所述第一读命令和第一读地址,根据所述第一读命令从所述第一读地址对应的存储单元中读取数据;所述写控制器用于接收并解析所述第一数据帧,获得所述第一写命令、第一写数据和第一写地址,根据所述第一写命令将所述第一写数据写入所述第一写地址对应的存储单元中;当根据判断结果将所述第一数据帧发送给与当前数据缓存装置相邻的数据缓存装置时,且所述远程交换命令为第一读命令时,所述远程交换控制器还用于接收相邻的数据缓存装置发送的读取数据。2.根据权利要求1所述的数据缓存装置,其特征在于,所述远程交换控制器包括数据帧解析单元、读写命令访问地址判断单元、数据帧生成单元和路径选择单元,其中,数据帧解析单元,用于接收并解析远程交换命令数据帧,至少获得远程交换命令和第一目标地址,所述读写命令访问地址判断单元用于判断所述第一目标数据缓存装置的ID号与所述当前数据缓存装置的ID号之间的大小关系,若所述第一目标数据缓存装置的ID号等于所述当前数据缓存装置的ID号,则输出第一判断结果,若所述第一目标数据缓存装置的ID号小于所述当前数据缓存装置的ID号,则输出第二判断结果,若所述第一目标数据缓存装置的ID号大于所述当前数据缓存装置的ID号,则输出第三判断结果,数据帧生成单元,用于根据所述远程交换命令和第一目标地址生成第一数据帧;所述路径选择单元用于根据所述第一判断结果将所述第一数据帧发送给所述写控制器或读控制器,还用于根据所述第二判断结果将所述第一数据帧发送给所述当前数据缓存装置的一相邻数据缓存装置,所述一相邻数据缓存装置的ID号小于所述当前数据缓存装置的ID号,还用于根据所述第三判断结果将所述第一数据帧发送给另一相邻数据缓存装置,所述另一相邻数据缓存装置的ID号大于所述当前数据缓存装置的ID号。3.根据权利要求2所述的数据缓存装置,其特征在于:所述数据帧解析单元还用于接收并解析所述一相邻数据缓存装置发送的第二数据帧,获得第二命令和第二目标地址,所述第二命令为第二读命令或第二写命令,所述第二目标地址至少包括第二目标数据缓存装置的ID号;所述读写命令访问地址判断单元用于判断所述第二目标数据缓存装置的ID号与所述当前数据缓存装置的ID号之间的大小关系,若所述第二目标数据缓存装置的ID号等于所述当前数据缓存装置的ID号,则输出第四判断结果,若所述第二目标数据缓存装置的ID号小
于所述当前数据缓存装置的ID号,则输出第五判断结果,若所述第二目标数据缓存装置的ID号大于所述当前数据缓存装置的ID号,则输出第六判断结果,所述数据帧生成单元还用于根据所述第二命令和第二地址生成第三数据帧;所述路径选择单元还用于根据所述第四判断结果将所述第三数据帧发送给所述写控制器或读控制器,或用于根据所述第五判断结果将所述第三数据帧发送给所述当前数据缓存装置的所述一相邻数据缓存装置,所述一相邻数据缓存装置的ID号小于所述当前数据缓存装置的ID号,或用于根据所述第六判断结果将所述第三数据帧发送给另一相邻数据缓存装置,所述另一相邻数据缓存装置的ID号大于所述当前数据缓存装置的ID号。4.根据权利要求3所述的数据缓存装置,其特征在于:所述数据帧解析单元还用于接收并解析所述另一相邻数据缓存装置发送的第四数据帧,至少获得第三命令和第三目标地址,所述第三命令为第三读命令或第三写命令,所述第三目标地址至少包括第三目标数据缓存装置的ID号;所述读写命令访问地址判断单元用于判断所述第三目标数据缓存装置的ID号与所述当前数据缓存装置的ID号之间的大小关系,若所述第三目标数据缓存装置的ID号等于所述当前数据缓存装置的ID号,则输出第七判断结果,若所述第三目标数据缓存装置的ID号小于所述当前数据缓存装置的ID号,则输出第八判断结果,若所述第三目标数据缓存装置的ID号大于所述当前数据缓存装置的ID号,则输出第九判断结果;所述数据帧生成单元用于根据所述第三命令和第三目标地址生成第五数据帧;所述路径选择单元还用于根据所述第七判断结果将所述第五数据帧发送给所述写控制器或读控制器,或用于根据所述第八判断结果将所述第五数据帧发送给所述当前数据缓存装置的一相邻数据缓存装置,所述相邻数据缓存装置的ID号小于所述当前数据缓存装置的ID号,或用于根据所述第九判断结果将所述第五数据帧发送给另一相邻数据缓存装置,所述另一相邻数据缓存装置的ID号大于所述当前数据缓存装置的ID号。5.根据权利要求4所述的数据缓存装置,其特征在于:所述写控制器还用于接收并解析通过所述当前数据缓存装置的写数据端口输入的第六数据帧,获得第四写命令、第四写数据和第四写地址,并将所述第四写命令、第四写数据和第四写地址发送给所述远程交换控制器,其中,所述第四写地址至少包括第四目标数据缓存装置的ID号;所述读写命令访问地址判断单元用于判断所述第四目标数据缓存装置的ID号与所述当前数据缓存装置的ID号之间的大小关系,若所述第四目标数据缓存装置的ID号等于所述当前数据缓存装置的ID号,则输出第十判断结果,若所述第四目标数据缓存装置的ID号小于所述当前数据缓存装置的ID号,则输出第十一判断结果,若所述第四目标数据缓存装置的ID号大于所述当前数据缓存装置的ID号,则输出第十二判断结果;所述数据帧生成单元还用于根据所述第四写命令、第四写数据和第四写地址生成第六数据帧;所述路径选择单元用于根据所述第十判断结果将所述第六数据帧发送给所述写控制器,或用于根据所述第十一判断结果将所述第六数据帧发送给所述当前数据缓存装置的一相邻数据缓存装置,所述相邻数据缓存装置的ID号小于所述当前数据缓存装置的ID号,或用于根据所述第十二判断结果将所述第六数据帧发送给另一相邻数据缓存装置,所述另一
相邻数据缓存装置的ID号大于所述当前数据缓存装置的ID号。6.根据权利要求5所述的数据缓存装置,其特征在于:所述读控制器还用于接收并解析通过所述当前数据缓存装置的读数据端口输入的第七数据帧,获得第四读命令和第四读地址,并将所述第四读命令和第四读地址发送给所述远程交换控制器,其中,所述第四读地址至少包括第五目标数据缓存装置的ID号;所述读写命令访问地址判断单元还用于判断所述第五目标缓存装置的ID号与所述当前数据缓存装置的ID号之间的大小关系,若所述第五目标缓存装置的ID号与所述当前数据缓存装置的ID号相等,则生成第十三判断结果,若所述第五目标缓存装置的ID号小于当前缓存装置的ID号,则生成第十四判断结果,若所述第五目标缓存装置的ID号大于当前缓存装置的ID号,则生成第十五判断结果;所述数据帧生成单元还用于根据所述第四读命令和第四读地址生成第八数据帧;所述路径选择单元用于根据所述第十三判断结果将所述第八数据帧发送给所述读控制器,还用于根据所述第十四判断结果将所述第八数据帧发送给所述一相邻数据缓存装置,所述一相邻数据缓存装置的ID号小于所述当前数据缓存装置的ID号,还用于根据所述第十五判断结果将所述第八数据帧发送给所述另一相邻数据缓存装置,所述另一相邻数据缓存装置的ID号大于所述当前数据缓存装置的ID号。7.根据权利要求6所述的数据缓存装置,其特征在于,所述路径选择单元包括第一多路选择器、第二多路选择器、第三多路选择器,所述第一多路选择器的第一输入端与第一数据帧输出端连接,所述第一多路选择器的第二输入端与第五数据帧输出端连接,所述第一多路选择器的第三输入端与第六数据帧输出端连接,所述第一多路选择器的第四输入端与所述第八数据帧输出端连接,所述第一多路选择器的控制信号输入端分别与所述读写命令访问地址判断单元的第一判断结果输出端、第四判断结果输出端、第七判断结果输出端、第十判断结果输出端、第十三判断结果输出端连接,所述第一多路选择器的输出端与所述当前数据缓存装置的一相邻所述数据缓存装置的数据帧解析单元输入端连接;所述第二多路选择器的第一输入端与所述第八数据帧输出端连接,所述第二多路选择器的第二输入端与第三数据帧输出端连接,所述第二多路选择器的第三输入端与所述第六数据帧的输出端连接,所述第二多路选择器的第四输入端与所述第一数据帧的输入端连接,所述第二多路选择器的控制信号输入端分别与所述读写命令访问地址判断单元的第二判断结果输出端、第五判断结果输出端、第八判断结果输出端、第十一判断结果输出端以及第...

【专利技术属性】
技术研发人员:李贤
申请(专利权)人:深圳云豹智能有限公司
类型:发明
国别省市:

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

1