基于错误校验触发的网络芯片表项快速纠错方法及其系统与流程
本技术涉及数据通信和网络芯片,尤其涉及一种基于错误校验触发的网络芯片表项快速纠错方法及其系统。
背景技术:
1、交换机、路由器等网络设备的端口速率不断提升,转发芯片的集成度越来越高,芯片内部片上转发表的容量和访问频率随之大幅增加。与此同时,芯片制程持续微缩、工作电压不断降低,设备运行所处的温度、湿度、电磁干扰环境日趋复杂,片上存储单元中的数据发生软错误(soft error)的概率显著上升。本技术所称表项软错误,是指网络芯片内部转发表项中的数据因外部环境干扰而发生瞬时翻转、但芯片硬件电路本身并未损坏、可以通过重新写入正确数据予以修复的表项错误;其常见诱因包括电源纹波导致的电平判断错误、制程微缩后存储单元临界翻转电荷降低,以及高温和强电磁场干扰等。与软错误相对,硬错误(hard error)是指存储单元硬件永久性损伤导致的错误,重新写入数据无法修复。
2、网络芯片的片上转发表通常存储于静态随机存取存储器(static random-accessmemory,sram)、三态内容可寻址存储器(ternary content addressable memory,tcam)、高带宽存储器(high bandwidth memory,hbm)或寄存器阵列中,典型的片上转发表包括二层介质访问控制(media access control,mac)表、三层路由表、最长前缀匹配(longestprefix match,lpm)表、访问控制列表(access control list,acl)表、下一跳(next hop,nexthop)表和计数器表等。表项数据一旦发生软错误,报文可能被错误转发或丢弃,严重时引发广播风暴等业务故障。
3、目前工程中廉价而常用的错误检测手段是奇偶校验(parity check):在每行表项中额外增加一个校验位,使整行表项中“1”的个数满足约定的奇性或偶性,读取表项时重新计算奇偶性并与校验位比对,不匹配即判定表项出错。奇偶校验只需一个额外比特、逻辑简单,工程中其针对表项软错误的错误检出率可达99.99%以上。但奇偶校验只能报告错误,无法定位出错的具体比特,更不能自行恢复正确数据。网络芯片检测到奇偶校验错误后的常见处理方式是直接丢弃该表项,或者触发芯片全局复位、整表重载,这会造成瞬时转发中断;若要恢复数据,往往需要上层软件重新下发整张转发表,或者重新学习整张mac表、路由表,耗时达毫秒甚至秒级,期间大量报文可能被错误转发或丢弃。需要说明的是,奇偶校验只能检出奇数个比特的翻转,当两个、四个等偶数个比特同时翻转时,奇偶性恰好保持不变,该类错误无法被奇偶校验发现。
4、另一种提升存储可靠性的手段是错误纠正码(error correction code,ecc),例如汉明码(hamming code)、bch码(bose-chaudhuri-hocquenghem,bch),其在数据位之外增加多位校验位,能够定位并纠正错误比特。以常见的单纠错双检错(single errorcorrection-double error detection,sec-ded)码为例,对六十四比特位宽的数据约需增加12.5%的存储位,纠错能力更强的编码所需校验位更多;此外,编解码电路还要占用额外硅面积、增加功耗,每次读写均需经过编码处理,引入访问时延,采用ecc内存的方案较普通内存方案成本高出20%至50%。对于转发表这类大规模、高频率访问的片上存储,全面采用ecc保护所累积的存储、面积、功耗和性能损失十分可观,难以在成本与可靠性之间取得平衡。
5、还有一类方案采用主动巡检路线,例如已公开的cn121417968a所披露的抗辐射加固方案:系统运行期间由异步扫描线程按设定间隔并行读取内存中的基准备份库与交换芯片寄存器的当前数据,逐位异或比对以定位翻转比特,再按预设策略回写恢复或复位。该路线需要额外设置扫描与逐位比对逻辑、维护后台扫描线程,并实时拦截写操作以同步备份库,主动扫描会持续产生片上存储读取功耗与带宽开销,其设计出发点也偏向航天辐射等极端场景,与地面商用网络设备低成本、被动触发的需求并不相同。
技术实现思路
1、有鉴于此,本技术实施例提供一种基于错误校验触发的网络芯片表项快速纠错方法及其系统。
2、本技术所要解决的主技术问题是:在不增加片上存储纠错冗余、不进行主动全表扫描的前提下,如何对网络芯片片上转发表中被错误校验检出的出错表项实现低成本、表项粒度的快速自动纠正。与之相伴的次要技术问题包括:软件整表重下导致的恢复时延过长、全局复位或丢表项导致的转发中断、主内存备份自身发生软错误时容易被误判为芯片硬错误,以及如何在低开销条件下识别并规避芯片侧内存的硬错误。
3、为解决上述技术问题,本技术所采用的总体思路是:保留网络芯片现有的只检不纠型错误校验硬件作为错误触发源,预先在设备主内存中保存各表项的完整备份,错误一旦在查表路径上被检出,由网络芯片内的管理处理器响应错误中断、定位主内存中的备份表项,再由直接存储器访问(direct memory access,dma)控制器以硬件搬移方式将单条备份表项写回出错位置,使纠错过程不经过上层软件整表重下、不触及其他正常表项。
4、在基础方案之上,本技术还在系统初始化及表项学习、下发、更新时,由管理处理器或系统主处理器把表项完整内容同步写入主内存备份区域,并在管理处理器的内存中维护以表标识为键的基址映射表,记录片上存储起始地址、主内存备份起始地址以及必要的表项大小,使管理处理器能够按表项索引直接计算出备份表项地址;对关键表项,还可以在主内存中保存多份备份表项以对抗主内存自身的比特错误。搬移完成后,网络芯片可以重新读取该表项并复检,确认恢复成功后清除错误寄存器、退出中断服务程序。
5、为识别硬错误,本技术在管理处理器的内存中维护容量可配置的软错误统计表,按表标识和错误表项索引累计同一位置的错误次数,并由老化定时器按固定老化周期周期性清零,使偶发软错误的计数随时间老化清除、只有单个老化周期内反复出现的同一位置错误才会累积超过预设阈值,进而判定为硬错误并上报上层软件。上报之前,还依次调用主内存中的不同备份表项重新恢复,以区分主内存备份区软错误与芯片侧内存硬错误:更换备份后不再报错的,判定为备份表项损坏并重建该副本;各备份均不能消除反复报错的,才判定为芯片硬错误。上层软件随后按线性直接表或哈希表的不同组织方式使查表逻辑绕开受损物理位置,并把受损位置记录到非易失性存储设备,使设备重启后仍能预先规避。
6、与上述方法相对应,本技术还提供了由网络芯片与主内存构成的快速纠错系统、相应的表项纠错装置、存储有计算机程序的计算机可读存储介质以及包含网络芯片、主内存和系统主处理器的网络设备。
7、本技术能够取得的有益效果包括:
8、第一,本技术通过复用片上现有的只检不纠型错误校验硬件作为触发源、以预先保存在主内存中的完整备份表项作为正确数据源、以dma控制器硬件搬移完成单条表项写回,无需在片上为每行表项增设多位ecc校验位与编解码电路,片上存储开销基本不增加,备份所占用的主内存属于系统已有资源,有利于在低硬件成本下实现表项软错误的自动纠正。
9、第二,本技术的纠错动作以单条表项为粒度,恢复期间网络芯片仍可继续查询其他表项,仅出错表项在恢复前可能暂时不可用、恢复后立即生效,避免了丢表项、全局复位或整表重载造成的转发中断,有利于保证转发连续性。
10、第三,数据搬移由dma控制器完成,管理处理器只承担中断解析与dma配置,不需要逐字节拷贝,也不需要上层软件重新下发整表,单条表项的恢复时间设计目标为几十微秒量级,远短于软件整表重下的毫秒至秒级时延。
11、第四,错误检测与恢复由查表路径上的错误事件被动触发,不需要设置后台定时扫描线程和逐位比对引擎,老化定时器仅维护管理处理器内存中的统计表、不读取片上转发表,因而不产生周期性全表扫描的查表功耗与带宽开销,有利于节约片上逻辑资源与动态功耗。
12、第五,通过同一位置错误次数的老化统计与阈值判定,可以把以软错误形式反复出现的硬件永久性损伤识别出来;通过更换不同备份副本进行恢复验证,能够区分芯片侧内存硬错误与主内存备份区软错误,有利于降低硬错误误判率;再配合按表类型区分的位置规避和非易失性记录,设备重启后仍可绕开受损位置,有利于提升设备长期运行的可靠性。
13、第六,本技术的触发手段不绑定于特定校验码,凡只报告错误而不纠正错误的校验方式均可作为触发扳机,且适用于sram、tcam、hbm、寄存器阵列等多种带错误校验的片上存储以及mac表、路由表、acl表、计数器表等多种转发表,无需修改网络芯片核心数据通路,便于在现有架构中集成。应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本说明书。
版权声明:本站专利文献数据主要来源于国家知识产权局等公开渠道,由 技术新讯 进行整理汇编。页面设计及数据汇编的著作权归本站所有。全部内容仅供个人学习、科研评估与技术交流参考,严禁用于任何商业用途(包括但不限于直接生产制造、技术转让、倒卖数据等)。
免责条款:专利技术具有时效性,本站不对资料的绝对准确性、完整性和可实施性提供任何明示或暗示的担保。因参考本站内容造成的直接或间接损失,本站不承担相关法律责任。若您认为本站内容有侵权问题,请及时提供权属证明与我们联系,本站将在核实后依法处理。反馈意见:yyfuon@163.com