TCAM自检方法、装置、计算机设备和存储介质与流程

文档序号:34737199发布日期:2023-07-12 20:54阅读:101来源:国知局
TCAM自检方法、装置、计算机设备和存储介质与流程

本技术涉及存储,特别是涉及一种tcam自检方法、装置、计算机设备和存储介质。


背景技术:

1、数据通信芯片中经常会使用三态内容寻址存储器(ternary contentaddressable memory,tcam)作为表项存储的介质,主要用于三层路由表或者访问控制列表(access control list,acl)。

2、对于静态随机访问存储器(static random access memory,sram)存储,如果发生1bit或者2bit错误时,一般会通过增加校验位的方式来对检错。但是对于tcam存储而言,由于每个比特有三种状态:0、1、“don’t care”,因此对于1bit的存储数据通常需要两个bit的数据(比如data0和data1)来表示。

3、目前的tcam存储技术没有直接进行数据检验,很难保证tcam数据出错时能及时准确的纠正错误。有些tcam存储技术进行了数据校验,将校验数据存储在tcam中,但是该技术不仅需要软件进行定时读操作,由此影响了软件的效率;并且由于tcam中每个存储单元(bit cell)的功耗和面积都大于sram,导致整个芯片的功耗上升、面积变大。


技术实现思路

1、基于此,有必要针对上述技术问题,提供一种tcam自检方法、装置、计算机设备和存储介质,在不影响tcam正常功能和性能的基础上进行tcam存储数据检测,有效保证了芯片的可靠性和健壮性。

2、一种tcam自检方法,所述方法包括:

3、接收当前时刻扫描单元发送的扫描请求;所述扫描请求包括请求操作、请求地址和选择存储标志位;

4、根据所述扫描请求的请求操作向所述tcam发送读操作指令,得到所述请求地址对应的tcam存储表项;

5、根据所述扫描请求的请求操作和选择存储标志位向对应的校验存储表项发送读操作指令,得到所述请求地址对应的校验存储表项;

6、基于所述tcam存储表项和所述校验存储表项按照校验算法进行校验。

7、在一个实施例中,

8、在接收当前时刻的扫描请求后,还包括:确认是否当前时刻同时接收到业务请求,若是,则优先响应所述业务请求,并返回忙碌信号通知扫描单元等待所述扫描请求的处理;

9、当所述忙碌信号结束时,响应所述扫描请求。

10、在一个实施例中,在所述当前时刻前或后接收到业务请求时,所述方法还包括:

11、当所述业务请求的请求操作为写操作时,将所述业务请求发送至tcam和扫描单元;

12、根据所述业务请求的请求地址向所述tcam对应位置写入tcam存储表项;

13、根据所述业务请求指示所述扫描单元对所述请求地址写入的tcam存储表项进行扫描请求。

14、在一个实施例中,所述方法还包括:

15、当所述业务请求的请求操作为非写操作时,将所述业务请求发送至tcam;

16、根据所述业务请求的请求地址和请求操作从所述tcam获取对应的tcam存储表项。

17、在一个实施例中,所述扫描请求的生成方式包括:

18、当tcam完成初始化后,开启扫描单元;

19、通过所述扫描单元按照预设时间间隔生成当前时刻对tcam的扫描请求;所述扫描请求的请求操作为读操作。

20、在一个实施例中,所述方法还包括:

21、当所述校验出现错误时,生成与所述错误对应的tcam存储表项的错误标志信息和中断信号;

22、将所述中断信号上报至中断处理程序;

23、通过所述中断处理程序根据所述中断信号查询对应的错误标志信息;

24、根据所述错误标志信息的错误地址和错误状态修正tcam对应位置的错误表项。

25、在一个实施例中,所述根据所述错误标志信息的错误地址和错误状态修正tcam对应位置的错误表项包括:

26、当错误状态为tcam数据错误时,通过所述中断处理程序根据所述错误标志信息的错误地址,从所述tcam对应的软件存储设备中获取tcam参考表项;

27、将所述错误表项替换为所述tcam参考表项。

28、一种tcam自检装置,所述装置包括校验单元、tcam、扫描单元、以及sram;其中扫描单元与所述校验单元和所述tcam间接连接;所述校验单元分别与所述tcam和所述sram连接;

29、所述扫描单元用于发送当前时刻的扫描请求;所述扫描请求包括请求操作、请求地址和选择存储标志位;

30、所述校验单元用于接收当前时刻所述扫描单元发送的扫描请求;根据所述扫描请求的请求操作向所述tcam发送读操作指令,得到所述请求地址对应的tcam存储表项;根据所述扫描请求的请求操作和选择存储标志位向所述sram内存储的对应的校验存储表项发送读操作指令,得到所述请求地址对应的校验存储表项;基于所述tcam存储表项和所述校验存储表项按照校验算法进行校验。

31、在一个实施例中,所述装置还包括调度单元和业务单元;所述调度单元分别与所述校验单元、所述业务单元、所述tcam和所述扫描单元连接;

32、所述调度单元用于接收所述当前时刻的扫描请求,确认是否当前时刻同时接收到业务请求,若是,则优先响应所述业务请求,并返回忙碌信号通知所述扫描单元等待所述扫描请求的处理;当所述忙碌信号结束时,响应所述扫描请求。

33、一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述实施例中tcam自检方法的步骤。

34、一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述实施例中tcam自检方法的步骤。

35、一种芯片,包括上述实施例中任意一项tcam自检装置。

36、上述tcam自检方法、装置、计算机设备和存储介质,通过在芯片内设置扫描单元和校验单元,校验单元接收扫描单元在当前时刻的扫描请求,该扫描请求中携带有读操作的请求操、请求地址和选择存储标志位;然后根据扫描请求向tcam发送读操作指令,得到与请求地址对应的tcam存储表项;同时,将扫描请求发送给校验存储表项,向校验存储表项发送读操作指令得到与请求地址对应的校验存储表项,由于tcam存储中每1bit的存储数据需要两个bit的数据来表示,因此校验数据有两个,分别存储到对应的校验存储表项中;因而在响应扫描请求之前需要根据扫描请求中的存储标志位确定响应扫描请求的校验存储表项;进而基于获取到的tcam存储表项和校验存储表项,按照校验算法进行校验,以此实现tcam数据的自检。

37、本方案通过在芯片内设置专门针对tcam的扫描单元和校验单元,可以在不影响tcam正常功能和性能的基础上进行tcam存储数据检测,有效保证了芯片的可靠性和健壮性。同时,本方案还设置了两个sram来分别存储两个校验数据,即每个sram存储有对应的校验存储表项,由于不需要将校验数据存储在tcam中,也就不用占用tcam的面积,有效的降低了tcam的规格,增加了芯片在功耗和面积方面的竞争力。

38、进一步,本方案设置的校验单元,通过对tcam存储表项的信息进行错误检测,并在发现错误信息时及时上报至中断处理程序,可以通过中断方式上报至中断处理程序进行及时干预,从而通过中断处理程序对tcam中的错误表项进行纠正处理,达到了及时纠正错误的效果。

39、进一步,本方案还设置了调度单元,将调度单元设置在扫描单元和业务单元之后,并设置在校验单元和tcam之前,从而可以避免校验单元在同时接收到业务请求和扫描请求时确定优先处理的请求。当调度单元在当前时刻同时接收到业务请求和扫描请求时,优先响应业务请求,并返回忙碌信号告知扫描单元等到扫描请求的处理,待业务请求响应完成后,即忙碌信号结束时再处理扫描请求,由此可以不影响tcam的正常业务功能和性能,保证了芯片的正常业务运转,同时还能对tcam存储数据进行检测。

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