一种服务器互联芯片中的数据地址检错机制的制作方法

文档序号:14452866阅读:318来源:国知局

本发明涉及服务器互联芯片的fpga原型验证领域,特别涉及一种自动监控资源池的方法。



背景技术:

随着日常生活中的业务越来越多,越来越复杂,对服务器的性能要求也越来越高,为提供服务器的性能,单靠提高单个cpu节点的性能已经无法满足人们对服务器性能的要求,因此需要提高服务器中cpu的路数来提高性能。

服务器互联芯片(cc芯片)是多路处理器共享主存系统的核心芯片,其主要功能是维护全局cache一致性,并实现全局io共享和全系统中断。为使系统具有良好的实用性能,要求大规模共享存储应用程序(如oracle数据库)的总体性能随着系统规模的增长而近似线性增长。

服务器互联芯片(cc芯片)由物理层、链路层、协议层、网络层四部分组成。物理层负责将从cpu接收到的数据发送给链路层,将链路层的数据发送给cpu;链路层负责解析数据跟组包数据;协议层负责报文转发处理,维护cache一致性。网络层负责cc芯片之间的报文转发。

链路层将解析出的报文转发给协议层进行处理,处理报文数据时,很多报文是携带数据的,以intelqpi协议中的drs报文为例进行说明,一个drs报文的组成形式是header加data,一个data是512bit,分2拍发送,每拍256bit数据。由于协议层在处理报文时,为了提高处理的效率,并不是串行处理报文的,而且处理报文的整个过程时间也都不一样,而且,协议层在处理带数据的报文时,只对header进行处理,待协议层将带数据的报文转发给其他cc芯片时,再根据header对数据进行索引。以drs报文为例进行说明如下。

header组成:{other,addr}

data组成:{other,addr,offset}

备注:other是drs的header内容信息;

addr:地址资源池,我们以drs报文,资源池为8’b1111_1111为例进行说明,链路层每给协议层发送一个drs报文,就耗费一个资源池中的一个id,直到协议层释放这个id,才能再次被使用。比如从最高位不是0开始使用,则分配的地址id就等于最高位不是0的位置(比如资源池为8’b0010_1001,最高不是0的位置是第5bit,则分配的地址id是5)随着芯片设计规模的与日俱增,其功能日趋复杂,芯片的验证阶段占据了整个芯片开发的大部分时间。为了缩短验证时间,在传统的仿真验证的基础上涌现了许多新的验证手段,如sdv(softwaredrivenverification)、bfm(busfunctionmodel)等,以及基于fpga的原型验证技术。由于fpga的优势,大多芯片的开发采用fpga原型验证技术。

在芯片fpga原型验证过程中,由于芯片设计规模的与日俱增,无法将芯片整个设计移植到单片fpga芯片中去,因此比较将设计进行合理的切割,分别移植到各个fpga芯片中去。fpga芯片之间通过高速互联接口进行互联,在互联芯片fpga原型验证过程中,资源池的分配管理比较繁琐,一旦分配错误,系统就会宕机,而且在系统调试过程中,这种错误极难定位。



技术实现要素:

本发明针对资源池极难管理的现状,给出了一种检错机制,可以自动监控资源池的使用情况,本发明是通过如下技术方案实现的,一种自动监控资源池的方法,该方法包括了以下步骤:确定当前可用的id资源池;判断资源池是否有id可用;如果链路层有报文要发送,则获取id;对资源池id释放进行错误检测;对资源池id使用进行错误检测。

优选的,该方法进一步包括了步骤:协议层释放资源池中的id,提取协议层释放的资源池id;将释放的资源池id、使用的资源池id进行译码;资源池idpool操作;获取使用的资源池id。

本发明还提供一种计算机存储介质,其上存储有程序,该程序被处理器执行以实现所述的方法步骤。

本发明相对于现有技术的有益效果是,针对在互联芯片fpga原型验证过程中,本发明针对资源池极难管理的现状,给出了一种检错机制,可以自动监控资源池的使用情况,一旦资源池id使用错误或者协议层错误释放资源池的id,本发明的监测机制即可报错,并停止处理报文,从而快速进行问题定位,加快了调试进程,大大缩短了fpga原型验证周期及芯片研发周期。

附图说明

图1本发明一实施例提供的链路层跟协议层之间的时序框图

具体实施方式

下面结合附图对本发明的较佳实施例进行详细阐述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。

本发明实施例以intelqpi协议中的drs报文,资源池为8’b1111_1111为例进行说明,但不局限于intelqpi协议,也不仅仅局限于intelqpi协议中的drs报文,不仅仅局限于资源池为8’b1111_1111。图1为给出了链路层跟协议层之间的时序框图。

下面对本发明的实施方式进行一个简单的说明,值drs_drsid_pool_free_err是协议层释放资源池id错误信号;drs_drsid_pool_used_err是链路层使用资源池id错误信号。这两个信号可以用来进行错误触发,进行系统问题定位。

本发明针对资源池极难管理的现状,给出了一种检错机制,可以自动监控资源池的使用情况,一旦资源池id使用错误或者协议层错误释放资源池的id,本发明的监测机制即可报错,并停止处理报文,从而快速进行问题定位,加快了调试进程,大大缩短了fpga原型验证周期及芯片研发周期。

本领域普通技术人员可以理解:前述的程序可以存储在计算机可读取的存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质中。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。



技术特征:

技术总结
本发明涉及服务器互联芯片的FPGA原型验证领域,本发明针对资源池极难管理的现状,给出了一种检错机制,可以自动监控资源池的使用情况,本发明是通过如下技术方案实现的,一种自动监控资源池的方法,该方法包括了以下步骤:确定当前可用的ID资源池;判断资源池是否有ID可用;如果链路层有报文要发送,则获取ID;对资源池ID释放进行错误检测;对资源池ID使用进行错误检测。

技术研发人员:周玉龙;刘同强;刘刚;邹晓峰
受保护的技术使用者:郑州云海信息技术有限公司
技术研发日:2017.12.07
技术公布日:2018.05.18
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1