【技术实现步骤摘要】
一种数据缓存装置、系统及数据处理方法
[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个周 ...
【技术保护点】
【技术特征摘要】
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所述的数据缓存装置,其特征在于,所述路径选择单元包括第一多路选择器、第二多路选择器、第三多路选择器,所述第一多路选择器的第一输入端与第一数据帧输出端连接,所述第一多路选择器的第二输入端与第五数据帧输出端连接,所述第一多路选择器的第三输入端与第六数据帧输出端连接,所述第一多路选择器的第四输入端与所述第八数据帧输出端连接,所述第一多路选择器的控制信号输入端分别与所述读写命令访问地址判断单元的第一判断结果输出端、第四判断结果输出端、第七判断结果输出端、第十判断结果输出端、第十三判断结果输出端连接,所述第一多路选择器的输出端与所述当前数据缓存装置的一相邻所述数据缓存装置的数据帧解析单元输入端连接;所述第二多路选择器的第一输入端与所述第八数据帧输出端连接,所述第二多路选择器的第二输入端与第三数据帧输出端连接,所述第二多路选择器的第三输入端与所述第六数据帧的输出端连接,所述第二多路选择器的第四输入端与所述第一数据帧的输入端连接,所述第二多路选择器的控制信号输入端分别与所述读写命令访问地址判断单元的第二判断结果输出端、第五判断结果输出端、第八判断结果输出端、第十一判断结果输出端以及第...
【专利技术属性】
技术研发人员:李贤,
申请(专利权)人:深圳云豹智能有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。