CN102789806B - 一种空间设备的tcam抗辐照防护方法 - Google Patents
一种空间设备的tcam抗辐照防护方法 Download PDFInfo
- Publication number
- CN102789806B CN102789806B CN201210244654.XA CN201210244654A CN102789806B CN 102789806 B CN102789806 B CN 102789806B CN 201210244654 A CN201210244654 A CN 201210244654A CN 102789806 B CN102789806 B CN 102789806B
- Authority
- CN
- China
- Prior art keywords
- refresh
- ram
- module
- tcam
- register
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Dram (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
Abstract
本发明公开了一种空间设备的TCAM抗辐照防护方法。技术方案是首先构建由刷新周期计算模块、刷新控制模块、ECC编码模块、ECC解码纠错模块组成的TCAM抗辐照防护系统;刷新周期计算模块确定刷新周期值tsp,刷新控制模块根据tsp执行对RAM的刷新控制,ECC解码纠错模块对从RAM中读取的数据进行解码纠错;当ECC编码模块收到刷新控制逻辑的写使能信号时,ECC编码模块将数据写入RAM,若未收到写使能信号,ECC编码模块接收ECC纠错解码模块发送的解码并纠错后的数据,对数据重新进行ECC编码。采用本发明无需在TCAM内部连接专门的纠错编码电路,既避免了TCAM的频繁刷新,又实现了对错误数据纠错,有效解决了TCAM器件在太空中的数据抗辐照存储保护问题。
Description
技术领域
本发明涉及空间网络中对空间设备的三态内容寻址存储器TCAM(Ternary ContentAddressable Memory)的抗辐照防护方法。
背景技术
目前,大量面向网络与信息安全的空间设备,包括防火墙、转发表、协处理器等主要用TCAM实现。但是由于空间环境中存在大量α粒子、重离子等粒子,它们造成的辐射和冲击会对空间中运行的电子设备造成较大的影响,使TCAM产生单粒子翻转。一旦TCAM发生单粒子翻转,它内部存储的信息则会发生错误,对空间网络与信息安全产生重要影响。
TCAM存储单元有逻辑“0”、逻辑“1”、逻辑“X”三个存储状态。在数据存储过程中,一个TCAM存储单元用两个静态随机存储器SRAM存储单元来存储。如图4所示,两个SRAM存储单元用b0和b1表示,TCAM的逻辑“0”状态的二进制编码为b0b1=01,逻辑“1”状态的二进制编码为b0b1=10,逻辑“X”状态的二进制编码为b0b1=00。从图4可以看出,如果b0b1比特位发生翻转而变成11,则TCAM处于无效状态,TCAM本身能够自动识别出发生了粒子翻转事件。
目前,国内外关于TCAM抗辐照的研究主要集中在工艺、冗余编码和硬件冗余等方面。TCAM抗辐照的方法有以下几种:Baeg.S等在文献《TCAM设备中软错误的最小化:一种确定刷新间隔时间的概率化方法》(发表在2010年IEEE TRANSACTIONSON CIRCUITSAND SYSTTEMS期刊上),提出了一种通过计算刷新周期值对TCAM进行防护的方法。方法的前提条件是必须用一位错误纠正编码SEC(Single Error Correction)对每个TCAM字进行一位防护。主要步骤是:
1、计算出TCAM中的存储单元发生X次翻转(X是TCAM中发生翻转的次数)的概率,概率的计算采用文献《复合泊松软件可靠性模型》(发表在1992年IEEETRANSACTIONSON SOFTWARE ENGINEERING期刊上)第2页公式 的方法,其中表示从X-1个元素中一次取Y-1个的可能组合数,该概率是随时间变化的值。
2、根据TCAM内部存储单元排列组合规律(矩形阵列)计算出每个TCAM字发生一位翻转以上而引起TCAM发生错误的概率,因为发生一位以上翻转时SEC不能对每个字进行保护,此时TCAM发生错误;
3、将前面两步得到的概率相乘,得到的乘积即为发生X次翻转TCAM发生错误的概率,对X从0到无穷的TCAM发生错误的概率求和最后可以得到TCAM失效(发生错误)概率随时间分布的曲线。
该方法不足之处:TCAM电路结构复杂,需要在TCAM电路内部额外设计冗余纠错编码电路(由于有SEC存在);采取了冗余纠错编码SEC,必将需要部分存储字节来存储校验位,使得编码率降低;文献仅在理论上对TCAM的刷新容错进行了研究,如何在工程中实现没有描述。
Noda.H等在文献《带嵌入式DRAM的免维护TCAM软错误容错结构》(发表在2005年IEEE CUSTOM INTEGRATED CIRCUITS期刊上)提出了带嵌入式动态随机存储器DRAM(Dynamic RandomAccess Memory)的TCAM容错结构。通过周期性地对嵌入式DRAM进行刷新,即从嵌入式DRAM中读取带纠错冗余编码的数据,并利用纠错编码电路对嵌入式DRAM中发生错误的数据进行纠正,最后将纠正后的正确数据分别写入TCAM和嵌入式DRAM中。这种方法的优点是:纠错电路在嵌入式DRAM中实现,TCAM内部不需要进行纠错电路的设计,结构比较简单。缺点是:嵌入式DRAM的刷新周期仅由DRAM工艺设计决定,无法进行动态调整。刷新周期值过大,发生错误的概率提高;刷新周期值过小,对TCAM进行写操作过于频繁,降低了TCAM查找过程中的匹配效率。
将冗余编码纠错和刷新这两种方法相结合起来,对TCAM进行容错设计以提高其抗辐照性能,至今没有公开文献涉及。
发明内容
本发明要解决的技术问题是提供一种面向空间设备的TCAM抗辐照防护方法,满足空间设备可靠性要求。
本发明的技术方案是:
第一步,构建TCAM抗辐照防护系统,TCAM抗辐照防护系统由刷新周期计算模块、刷新控制模块、ECC编码模块、ECC解码纠错模块组成。TCAM抗辐照防护系统与RAM、TCAM、用户端相连。TCAM抗辐照防护系统从用户端接收参数,计算刷新周期值tsp,向RAM发送刷新控制信号,对RAM中存储的数据按地址逐步进行ECC解码纠错和编码,将纠正后的数据发送给TCAM。
刷新周期计算模块是一个软件,它从用户端接收参数,对参数进行计算,得到抗辐照防护系统所需要的刷新周期值tsp,将tsp发送给刷新控制模块。
刷新控制模块与刷新周期计算模块、RAM存储器、ECC编码模块、ECC解码纠错模块、TCAM相连。它从刷新周期计算模块接收刷新周期值tsp,根据tsp产生刷新控制信号ctrl_scrub,将ctrl_scrub发送给RAM和ECC解码纠错模块,控制ECC解码纠错模块读RAM中的数据;当从ECC编码模块接收到编码结束信号eoc时,刷新控制模块将写使能信号分别发送给RAM和ECC编码模块,控制ECC编码模块将数据写到RAM中。
刷新控制模块由刷新控制逻辑、初始状态控制寄存器、计时器、刷新周期寄存器、时间比较器、地址寄存器、RAM最大地址寄存器、地址比较器组成。初始状态控制寄存器与刷新周期计算模块、刷新控制逻辑相连,负责存储tsp;计时器与时间比较器、刷新控制逻辑相连,负责计时;刷新周期寄存器与时间比较器、刷新控制逻辑、刷新周期计算模块相连,负责存储刷新周期值tsp;时间比较器与计时器、刷新周期寄存器、刷新控制逻辑相连,比较计时器和刷新周期寄存器的值,当t<tsp时,时间比较器输出为0;当计时器的值t≥tsp时,时间比较器输出为1;地址寄存器与地址比较器、刷新控制逻辑、TCAM、RAM相连,负责指示读写RAM和TCAM的当前数据位置;RAM最大地址寄存器与地址比较器相连,负责存储RAM的最大地址值N;地址比较器与刷新控制逻辑、RAM最大地址寄存器、地址寄存器相连,负责比较地址寄存器和RAM最大地址寄存器的值,判断地址寄存器所指示的地址是否超出了RAM的最大地址值,当地址寄存器的值小于等于N时,地址比较器输出为0;当地址寄存器的值大于N时,地址比较器输出为1。
刷新控制逻辑与初始状态控制寄存器、计时器、时间比较器、刷新周期寄存器、地址比较器、地址寄存器、ECC编码模块、ECC解码纠错模块、RAM存储器相连,负责对初始状态控制寄存器、计时器、刷新周期寄存器、地址寄存器、RAM、ECC编码模块、ECC解码纠错模块进行控制;刷新控制逻辑是一个状态机,由空闲、产生刷新控制信号、写RAM、更新地址寄存器、一次刷新完成,等待下一次刷新5个状态组成。系统开始工作时,刷新控制逻辑进入空闲状态。当刷新控制逻辑处于空闲状态时,当从初始状态控制寄存器读取到tsp后,状态转为产生刷新控制信号状态;当刷新控制逻辑处于产生刷新控制信号状态时,刷新控制逻辑将计时器复位为0,将初始状态控制寄存器置0,并给计时器发送开始计时信号,产生刷新控制信号ctrl_scrub,将ctrl_scrub发送给RAM的读使能端和ECC解码纠错模块信号输入控制端ctrl_in,控制ECC解码纠错模块读地址寄存器所指示的RAM地址中的数据,当接收编码结束信号eoc后,状态转为写RAM状态;当刷新控制逻辑处于写RAM状态时,发送写使能信号到RAM的写控制端和ECC编码模块信号输出控制端ctrl_out,控制ECC编码模块将数据写入地址寄存器所指示的RAM地址,待写操作完成后,状态转为更新地址寄存器状态;当刷新控制逻辑处于更新地址寄存器状态时,控制写使能信号无效,将地址寄存器加1,当地址比较器输出为0时,刷新控制逻辑的状态转为产生刷新控制信号状态;当地址比较器输出为1时,状态转为一次刷新完成,等待下一次刷新状态;当刷新控制逻辑处于一次刷新完成,等待下一次刷新状态时,地址寄存器置0,一次刷新完成,当时间比较器输出为0时,保持在一次刷新完成,等待下一次刷新状态;当时间比较器输出为1时,状态转入产生刷新控制信号状态。
ECC解码纠错模块与RAM存储器、TCAM存储器、ECC编码模块、刷新控制逻辑相连。它从刷新控制逻辑接收到刷新控制信号ctrl_scrub后,从RAM存储器读取地址寄存器所指示的RAM地址中的数据,对数据采取里德-所罗门码即R-S解码纠错,将解码纠错后数据送给TCAM存储器和ECC编码模块,保证待写入TCAM存储器和ECC编码模块数据是正确的。
ECC编码模块与ECC解码纠错模块、RAM存储器、刷新控制逻辑相连,它从ECC纠错解码模块接收解码后数据,对解码后数据进行R-S编码,待编码完成后产生编码结束信号eoc,将eoc发送给刷新控制逻辑,待接收刷新控制逻辑的写使能信号后,ECC编码模块将编码后数据写入地址寄存器所指示的RAM地址。
第二步,TCAM抗辐照防护系统加电,刷新控制逻辑进入空闲状态。地址寄存器、刷新周期寄存器、初始状态控制寄存器全置0,RAM最大地址寄存器置N。
第三步,刷新周期计算模块获取参数信息,通过计算获得TCAM存储器失效概率随时间变化曲线,根据该曲线确定刷新周期值tsp。
步骤3.1,刷新周期计算模块从用户端获得以下信息:
3.1.1 采用文献《TCAM设备中软错误的最小化:一种确定刷新间隔时间的概率化方法》中第7页介绍的方法获得单位时间内发生粒子翻转的平均次数λ和发生多粒子翻转的比重值r;r是反映存储器中发生多粒子翻转所占比重的量,0≤r≤1,当r为0时,说明存储器仅发生单粒子翻转;当r为1时,说明存储器仅发生多粒子翻转。
3.1.2 从TCAM硬件尺寸获得TCAM存储器的字长、字宽和容量M,M>>1,M是远大于1的整数,M表示TCAM的存储单元数。
3.1.3 将λ、r、M输给刷新周期计算模块。
步骤3.2,刷新周期计算模块计算复合泊松模型下的TCAM存储器失效概率随时间变化曲线。
假设空间辐射环境中,粒子碰撞只引起一个存储单元数据发生变化,周围的其它存储单元数据不发生变化。从教材《概率论基础教程》第358页中关于泊松过程定义可知,空间辐射引起的粒子翻转事件是一个速率为λ的泊松过程,时刻tTCAM存储器发生X次翻转的概率为:
其中,X为存储器发生粒子翻转的次数,N(t)为时刻t粒子翻转的次数。
然而在空间辐射引起的粒子翻转事件中,根据簇的思想,一个粒子碰撞存储单元后,不仅引起一个存储单元数据发生变化,有时还会引起周围的其它存储单元上的数据也发生变化。所以仅仅用(1)式还不能完全反映空间中粒子失效模型,必须用复合泊松模型对存储器的空间翻转模型进行描述。
3.2.1 建立复合泊松模型,描述时刻t TCAM发生X次粒子翻转事件的概率P(X,t),即:
是fx关于Y的卷积,其中fx=rx-1(1-r),Y是单位时间内发生翻转的次数。
3.2.2 计算TCAM在t时刻发生X次粒子翻转失效的概率Pf(X)
在背景技术中已经提到,如果b0b1比特位发生翻转而变成11,那么根据TCAM编码规则,这是无效状态,则TCAM本身能够自动识别出发生了粒子翻转事件。根据这个特性,采用图5描述一个TCAM内部的b0b1存储单元发生一位和二位翻转时状态。假设TCAM单元内部单个SRAM发生单粒子翻转的概率为p(p<<1),由图5中可以看出,对于一个TCAM单元,发生一位翻转,并且不出现11的概率p1'为:
其中,表示从2个元素中一次取1个的可能组合数。
发生两位翻转,并且不出现11的概率p'2为:
那么,一个TCAM单元发生一位以上翻转,且不出现11的概率是:
由公式(5)可得,M个TCAM存储单元错误不能被检测的概率(即发生错误失效概率)Pf(X)为:
近似认为每个存储单元发生翻转概率相等,则由公式(6)可得,
3.2.3 计算复合泊松模型下的TCAM存储器失效概率随时间变化曲线。
时刻t,TCAM存储器发生失效的概率为:
(8)式为TCAM存储器失效概率随时间变化函数,由(8)式可得到失效概率随时间变化曲线。其中,曲线纵坐标为失效概率F(t),横坐标为刷新时间t,刷新时间越长,越易发生错误,失效概率越大。如果刷新周期过小,则失效概率低,但是频繁刷新会影响TCAM查找速率。
步骤3.3,刷新周期计算模块根据设备允许的失效概率确定刷新周期值tsp。
根据设备允许的失效概率,在失效概率随时间变化曲线上选择纵坐标的值,然后在失效概率随时间变化曲线上选择对应的横坐标的值即为刷新周期值tsp。
步骤3.4,刷新周期计算模块将刷新周期值tsp发送给刷新控制模块的刷新周期寄存器。
第四步,刷新控制模块从刷新周期计算模块获得刷新周期值tsp,执行对RAM的刷新控制,具体流程为:
步骤4.1 初始状态控制寄存器和刷新周期寄存器从刷新周期计算模块接收tsp并进行存储。刷新控制逻辑从初始状态控制寄存器读取tsp,进入产生刷新控制信号状态。
步骤4.2 当刷新控制逻辑接收到编码结束信号eoc时,进入写RAM状态,转4.3;否则刷新控制逻辑将计时器复位为0,将初始状态控制寄存器置0,向RAM的读使能端和ECC解码纠错模块信号输入控制端ctrl_in发送刷新控制信号ctrl_scrub,并给计时器发送开始计时信号,转第五步。
步骤4.3 刷新控制逻辑发送写使能信号到RAM的写使能端和ECC编码模块信号输出控制端ctrl_out,控制ECC编码模块将数据写入地址寄存器所指示的RAM地址,转第六步。
步骤4.4 刷新控制逻辑将写使能信号置为无效,地址寄存器加1,地址比较器比较地址寄存器与RAM最大地址寄存器的值,当地址寄存器所指示的地址小于或等于RAM最高地址N时,刷新控制逻辑进入产生刷新控制信号状态,转步骤4.2;当地址寄存器所指示的地址大于RAM最高地址N时,刷新控制逻辑进入转为一次刷新完成,等待下一次刷新状态,转步骤4.5。
步骤4.5 刷新控制逻辑将地址寄存器置0,一次刷新完成,时间比较器将计时器和刷新周期寄存器中的值tsp比较,当计时器值大于或等于tsp时,转步骤4.6,进入下一次刷新;否则转步骤4.5。
步骤4.6 当刷新控制逻辑接收到编码结束信号eoc时,进入写RAM状态转4.3;否则刷新控制逻辑将计时器复位为0,进行下一次刷新。向RAM的读使能端和ECC解码纠错模块信号输入控制端ctrl_in发送刷新控制信号ctrl_scrub,并给计时器发送开始计时信号,转第五步。
第五步,ECC解码纠错模块接收刷新控制信号ctrl_scrub,读RAM中地址寄存器所指示的RAM地址中的数据,对数据进行解码纠错,并将解码纠错后的数据送给ECC编码模块和TCAM。方法是:
步骤5.1 ECC解码纠错模块信号输入控制端ctrl_in接收到刷新控制信号ctrl_scrub后,读地址寄存器所指示的RAM地址中的数据。
步骤5.2 ECC解码纠错模块对读出的数据进行R-S解码并对数据进行纠错,其方法见《现代编码技术》(曾凡鑫主编,西安电子科技大学出版社)第85页。
步骤5.3 ECC解码纠错模块将解码并纠错后的数据送给ECC编码模块和TCAM。
第六步,当ECC编码模块收到刷新控制逻辑的写使能信号时,ECC编码模块将数据写入地址寄存器所指示的RAM地址,待写操作完成后,转步骤4.4,否则ECC编码模块接收ECC纠错解码模块发送的解码并纠错后的数据,对数据重新进行ECC编码,编码完成后产生eoc,将eoc发送给刷新控制逻辑,转步骤4.2。
由于设备的工作环境是在空间中,本发明中的TCAM抗辐照防护系统工作后进入一个无限循环状态,直至系统断电才结束。
采用本发明可以达到以下技术效果:
1.采用本发明无需在TCAM内部连接专门的纠错编码电路,就可有效地解决TCAM器件在太空中的数据抗辐照存储保护问题。
2.由于采用刷新周期计算模块对刷新周期进行动态配置,既可有效避免TCAM的频繁刷新,有利于提高TCAM查找匹配速率,又可实现对错误数据纠错。
本发明可以广泛应用于使用TCAM器件的相关空间设备中,比如空间路由器、空间交换机等。
附图说明
图1是本发明基于TCAM的空间路由器转发表抗辐照防护系统逻辑结构图;
图2是本发明刷新控制逻辑状态转换图;
图3是本发明总体流程图;
图4是TCAM状态编码图;
图5是TCAM单元发生一位和二位翻转时状态表;
图6是本发明第三步形成的失效概率图。
具体实施方式
图1是本发明TCAM抗辐照防护系统逻辑结构图。TCAM抗辐照防护系统由刷新周期计算模块、刷新控制模块、ECC编码模块、ECC解码纠错模块组成。TCAM抗辐照防护系统与RAM、TCAM、用户端相连。TCAM抗辐照防护系统从用户端接收参数,计算刷新周期值tsp,向RAM发送刷新控制信号,对RAM中存储的数据按地址逐步进行ECC解码纠错和编码,将纠正后的数据发送给TCAM。
刷新周期计算模块是一个软件,它从用户端接收参数,对参数进行计算,得到抗辐照防护系统所需要的刷新周期值tsp,将tsp发送给刷新控制模块。
刷新控制模块与刷新周期计算模块、RAM存储器、ECC编码模块、ECC解码纠错模块、TCAM相连。它从刷新周期计算模块接收刷新周期值tsp,根据tsp产生刷新控制信号ctrl_scrub,将ctrl_scrub发送给RAM和ECC解码纠错模块,控制ECC解码纠错模块读RAM中的数据;当从ECC编码模块接收到编码结束信号eoc时,刷新控制模块将写使能信号分别发送给RAM和ECC编码模块,控制ECC编码模块将数据写到RAM中。
刷新控制模块由刷新控制逻辑、初始状态控制寄存器、计时器、刷新周期寄存器、时间比较器、地址寄存器、RAM最大地址寄存器、地址比较器组成。初始状态控制寄存器与刷新周期计算模块、刷新控制逻辑相连,负责存储tsp;计时器与时间比较器、刷新控制逻辑相连,负责计时;刷新周期寄存器与时间比较器、刷新控制逻辑、刷新周期计算模块相连,负责存储刷新周期值tsp;时间比较器与计时器、刷新周期寄存器、刷新控制逻辑相连,比较计时器和刷新周期寄存器的值,当t<tsp时,时间比较器输出为0;当计时器的值t≥tsp时,时间比较器输出为1;地址寄存器与地址比较器、刷新控制逻辑、TCAM、RAM存储器相连,负责指示读写RAM和TCAM的当前数据位置;RAM最大地址寄存器与地址比较器相连,负责存储RAM的最大地址值N;地址比较器与刷新控制逻辑、RAM最大地址寄存器、地址寄存器相连,负责比较地址寄存器和RAM最大地址寄存器的值,判断地址寄存器所指示的地址是否超出了RAM的最大地址值,当地址寄存器的值小于等于N时,地址比较器输出为0;当地址寄存器的值大于N时,地址比较器输出为1。
刷新控制逻辑与初始状态控制寄存器、计时器、时间比较器、刷新周期寄存器、地址比较器、地址寄存器、ECC编码模块、ECC解码纠错模块、RAM存储器相连,负责对初始状态控制寄存器、计时器、刷新周期寄存器、地址寄存器、RAM、ECC编码模块、ECC解码纠错模块进行控制。
ECC解码纠错模块与RAM存储器、TCAM存储器、ECC编码模块、刷新控制逻辑相连。它从刷新控制逻辑接收到刷新控制信号ctrl_scrub后,从RAM存储器读取地址寄存器所指示的RAM地址中的数据,对数据采取里德-所罗门码即R-S解码纠错,将解码后数据送给TCAM存储器和ECC编码模块,保证待写入TCAM存储器和ECC编码模块数据是正确的。
ECC编码模块与ECC解码纠错模块、RAM存储器、刷新控制逻辑相连,它从ECC纠错解码模块接收解码后数据,对解码后数据进行R-S编码,待编码完成后产生编码结束信号eoc,将eoc发送给刷新控制逻辑,待接收刷新控制逻辑的写使能信号后,ECC编码模块将编码后数据写入地址寄存器所指示的RAM地址。
图2是本发明刷新控制逻辑状态转换图。刷新控制逻辑是一个状态机,它由空闲、产生刷新控制信号、写RAM、更新地址寄存器、一次刷新完成,等待下一次刷新5个状态组成。系统开始工作时,刷新控制逻辑进入空闲状态。当刷新控制逻辑处于空闲状态时,当从初始状态控制寄存器读取到tsp后,状态转为产生刷新控制信号状态;当刷新控制逻辑处于产生刷新控制信号状态时,刷新控制逻辑将计时器复位为0,将初始状态控制寄存器置0,并给计时器发送开始计时信号,产生刷新控制信号ctrl_scrub,将ctrl_scrub发送给RAM的读使能端和ECC解码纠错模块信号输入控制端ctrl_in,控制ECC解码纠错模块读地址寄存器所指示的RAM地址中的数据,当接收编码结束信号eoc后,状态转为写RAM状态;当刷新控制逻辑处于写RAM状态时,发送写使能信号到RAM的写控制端和ECC编码模块信号输出控制端ctrl_out,控制ECC编码模块将数据写入地址寄存器所指示的RAM地址,待写操作完成后,状态转为更新地址寄存器状态;当刷新控制逻辑处于更新地址寄存器状态时,控制写使能信号无效,将地址寄存器加1,当地址比较器输出为0时,刷新控制逻辑的状态转为产生刷新控制信号状态;当地址比较器输出为1时,状态转为一次刷新完成,等待下一次刷新状态;当刷新控制逻辑处于一次刷新完成,等待下一次刷新状态时,地址寄存器置0,一次刷新完成,当时间比较器输出为0时,保持在一次刷新完成,等待下一次刷新状态;当时间比较器输出为1时,状态转入产生刷新控制信号状态。
图3是本发明总体流程图。本发明包括以下步骤。
第一步,构建TCAM抗辐照防护系统。详细内容见图1所示。
第二步,TCAM抗辐照防护系统加电,刷新控制逻辑进入空闲状态。地址寄存器、刷新周期寄存器、初始状态控制寄存器全置0,RAM最大地址寄存器置N。
第三步,刷新周期计算模块获取参数信息,通过计算获得TCAM存储器失效概率随时间变化曲线。
步骤3.1 国防科大设计的一个TCAM抗辐照防护系统中TCAM存储大小为36K,每个字宽度为72,深度为512,r分别取0.1886,0.1568,λ取8769x10-8/ms。
步骤3.2,刷新周期计算模块计算复合泊松模型下的TCAM存储器失效概率随时间变化曲线。
根据已知参数,由公式(2)可计算得到TCAM存储器发生粒子翻转的复合泊松模型。由公式(7)可得到TCAM存储单元发生错误后,TCAM编码自动检测错误概率。由公式(8)可以计算出TCAM存储器失效概率随时间变化曲线。如图6所示。虚线和实线分别表示r为0.1886和0.1568时TCAM存储器失效概率随时间变化的曲线,曲线纵坐标为失效概率F(t),横坐标为刷新时间t。步骤3.3,刷新周期计算模块根据设备允许的失效概率确定刷新周期值tsp。
当r取0.1886,失效概率为25%时,根据图6的曲线得到刷新周期值为4.2x103ms;当r取0.1568,失效概率为46%时,刷新周期值tsp为10x103ms。
步骤3.4,刷新周期计算模块将刷新周期值tsp发送给刷新控制模块的刷新周期寄存器。
第四步,刷新控制模块从刷新周期计算模块获得刷新周期值tsp,执行对RAM的刷新控制,具体流程为:
步骤4.1 初始状态控制寄存器和刷新周期寄存器从刷新周期计算模块接收tsp并进行存储。刷新控制逻辑读取tsp,刷新控制逻辑进入产生刷新控制信号状态,转4.2。
步骤4.2 当刷新控制逻辑接收到编码结束信号eoc时,进入写RAM状态,转4.3;否则刷新控制逻辑将计时器复位为0,将初始状态控制寄存器置0,向RAM的读使能端和ECC解码纠错模块信号输入控制端ctrl_in发送刷新控制信号ctrl_scrub,并给计时器发送开始计时信号,转第五步。
步骤4.3 刷新控制逻辑发送写使能信号到RAM的写使能端和ECC编码模块信号输出控制端ctrl_out,控制ECC编码模块将数据写入地址寄存器所指示的RAM地址,转第六步。
步骤4.4 刷新控制逻辑将写使能信号置为无效,地址寄存器加1,地址比较器比较地址寄存器与RAM最大地址寄存器的值,地址比较器判断地址寄存器所指示的地址是否超出了RAM的地址范围,当地址寄存器所指示的地址小于或等于RAM最高地址N时,则刷新控制逻辑进入产生刷新控制信号状态,转步骤4.2;当地址寄存器所指示的地址大于RAM最高地址N时,刷新控制逻辑进入转为一次刷新完成,等待下一次刷新状态,转步骤4.5。
步骤4.5 刷新控制逻辑将地址寄存器置0,一次刷新完成,时间比较器将计时器和刷新周期寄存器中的值tsp比较,当计时器值大于或等于tsp时,转步骤4.6,进入下一次刷新;否则转步骤4.5等待。
步骤4.6 当刷新控制逻辑接收到编码结束信号eoc时,进入写RAM状态转4.3;否则刷新控制逻辑将计时器复位为0,进行下一次刷新。向RAM的读使能端和ECC解码纠错模块信号输入控制端ctrl_in发送刷新控制信号ctrl_scrub,并给计时器发送开始计时信号,转第五步。
第五步,ECC解码纠错模块接收刷新控制信号ctrl_scrub,读RAM中地址寄存器所指示的RAM地址中的数据,对数据进行解码纠错,并将解码后的数据送给ECC编码模块和TCAM。方法是:
步骤5.1 ECC解码纠错模块信号输入控制端ctrl_in接收到刷新控制信号ctrl_scrub后,读地址寄存器所指示的RAM地址中的数据。
步骤5.2 ECC解码纠错模块读出的数据采用R-S解码并对数据进行纠错。
步骤5.3 ECC解码纠错模块将解码并纠错后的数据送给ECC编码模块和TCAM,进入第六步。
第六步,当ECC编码模块收到刷新控制逻辑的写使能信号后,ECC编码模块将数据写入地址寄存器所指示的RAM地址,待写操作完成后,转步骤4.4,否则ECC编码模块接收ECC纠错解码模块发送的解码并纠错后的数据,对数据重新进行ECC编码,编码完成后产生eoc,将eoc发送给刷新控制逻辑,转步骤4.2。
Claims (3)
1.一种空间设备的TCAM抗辐照防护方法,其特征在于包括以下步骤:
第一步,构建TCAM抗辐照防护系统,TCAM抗辐照防护系统由刷新周期计算模块、刷新控制模块、ECC编码模块、ECC解码纠错模块组成;TCAM抗辐照防护系统与RAM、TCAM、用户端相连;TCAM抗辐照防护系统从用户端接收参数,计算刷新周期值tsp,向RAM发送刷新控制信号,对RAM中存储的数据按地址逐步进行ECC解码纠错和编码,将纠正后的数据发送给TCAM;
刷新周期计算模块是一个软件,它从用户端接收参数,对参数进行计算,得到抗辐照防护系统所需要的刷新周期值tsp,将tsp发送给刷新控制模块;
刷新控制模块与刷新周期计算模块、RAM存储器、ECC编码模块、ECC解码纠错模块、TCAM相连,它从刷新周期计算模块接收刷新周期值tsp,根据tsp产生刷新控制信号ctrl_scrub,将ctrl_scrub发送给RAM和ECC解码纠错模块,控制ECC解码纠错模块读RAM中的数据;当从ECC编码模块接收到编码结束信号eoc时,刷新控制模块将写使能信号分别发送给RAM和ECC编码模块,控制ECC编码模块将数据写到RAM中;
刷新控制模块由刷新控制逻辑、初始状态控制寄存器、计时器、刷新周期寄存器、时间比较器、地址寄存器、RAM最大地址寄存器、地址比较器组成;初始状态控制寄存器与刷新周期计算模块、刷新控制逻辑相连,负责存储tsp;计时器与时间比较器、刷新控制逻辑相连,负责计时;刷新周期寄存器与时间比较器、刷新控制逻辑、刷新周期计算模块相连,负责存储刷新周期值tsp;时间比较器与计时器、刷新周期寄存器、刷新控制逻辑相连,比较计时器和刷新周期寄存器的值,当t<tsp时,时间比较器输出为0;当计时器的值t≥tsp时,时间比较器输出为1;地址寄存器与地址比较器、刷新控制逻辑、TCAM、RAM相连,负责指示读写RAM和TCAM的当前数据位置;RAM最大地址寄存器与地址比较器相连,负责存储RAM的最大地址值N;地址比较器与刷新控制逻辑、RAM最大地址寄存器、地址寄存器相连,负责比较地址寄存器和RAM最大地址寄存器的值,判断地址寄存器所指示的地址是否超出了RAM的最大地址值,当地址寄存器的值小于等于N时,地址比较器输出为0;当地址寄存器的值大于N时,地址比较器输出为1;
刷新控制逻辑与初始状态控制寄存器、计时器、时间比较器、刷新周期寄存器、地址比较器、地址寄存器、ECC编码模块、ECC解码纠错模块、RAM存储器相连,负责对初始状态控制寄存器、计时器、刷新周期寄存器、地址寄存器、RAM、ECC编码模块、ECC解码纠错模块进行控制;刷新控制逻辑是一个状态机,由空闲、产生刷新控制信号、写RAM、更新地址寄存器、一次刷新完成,等待下一次刷新5个状态组成;
ECC解码纠错模块与RAM存储器、TCAM存储器、ECC编码模块、刷新控制逻辑相连;它从刷新控制逻辑接收到刷新控制信号ctrl_scrub后,从RAM存储器读取地址寄存器所指示的RAM地址中的数据,对数据解码纠错,将解码纠错后数据送给TCAM存储器和ECC编码模块;
ECC编码模块与ECC解码纠错模块、RAM存储器、刷新控制逻辑相连,它从ECC纠错解码模块接收解码后数据,对解码后数据进行编码,待编码完成后产生编码结束信号eoc,将eoc发送给刷新控制逻辑,待接收刷新控制逻辑的写使能信号后,ECC编码模块将编码后数据写入地址寄存器所指示的RAM地址;
第二步,TCAM抗辐照防护系统加电,刷新控制逻辑进入空闲状态;地址寄存器、刷新周期寄存器、初始状态控制寄存器全置0,RAM最大地址寄存器置N;
第三步,刷新周期计算模块获取参数信息,通过计算获得TCAM存储器失效概率随时间变化曲线,根据该曲线确定刷新周期值tsp;
步骤3.1,刷新周期计算模块从用户端获得以下信息:
3.1.1采用文献《TCAM设备中软错误的最小化:一种确定刷新间隔时间的概率化方法》即Sanghyeon Baeg、Shi-Jie Wen、Richard Wong发表于2010年4月的《IEEE电路与系统学报期刊》即IEEE TRANSACTIONS ON CIRCUITS AND SYSTTEMS第57卷上的《Minimizing Soft Errors in TCAM Devices:A Probabilistic Approach to DeterminingScrubbing Intervals》中第6-7页介绍的方法获得单位时间内发生粒子翻转的平均次数λ和发生多粒子翻转的比重值r;r是反映存储器中发生多粒子翻转所占比重的量,0≤r≤1;3.1.2从TCAM硬件尺寸获得TCAM存储器的字长、字宽和容量M,M是远大于1的整数,M表示TCAM的存储单元数;
3.1.3将λ、r、M输给刷新周期计算模块;
步骤3.2,刷新周期计算模块计算复合泊松模型下的TCAM存储器失效概率随时间变化曲线:
3.2.1建立复合泊松模型,描述时刻t TCAM发生X次粒子翻转事件的概率P(X,t),即:
是fx关于Y的卷积,其中fx=rx-1(1-r),Y是单位时间内发生翻转的次数;
3.2.2采用公式(7)计算TCAM在t时刻发生X次粒子翻转失效的概率Pf(X)
3.2.3计算复合泊松模型下的TCAM存储器失效概率随时间变化曲线,
时刻t,TCAM存储器发生失效的概率为:
(8)式为TCAM存储器失效概率随时间变化函数,由(8)式得到失效概率随时间变化曲线,其中,曲线纵坐标为失效概率F(t),横坐标为刷新时间t;
步骤3.3,刷新周期计算模块根据设备允许的失效概率确定刷新周期值tsp:根据设备允许的失效概率,在失效概率随时间变化曲线上选择纵坐标的值,然后在失效概率随时间变化曲线上选择对应的横坐标的值即为刷新周期值tsp;
步骤3.4,刷新周期计算模块将刷新周期值tsp发送给刷新控制模块的刷新周期寄存器;
第四步,刷新控制模块从刷新周期计算模块获得刷新周期值tsp,执行对RAM的刷新控制,具体流程为:
步骤4.1初始状态控制寄存器和刷新周期寄存器从刷新周期计算模块接收tsp并进行存储;刷新控制逻辑从初始状态控制寄存器读取tsp,进入产生刷新控制信号状态;
步骤4.2当刷新控制逻辑接收到编码结束信号eoc时,进入写RAM状态,转4.3;否则刷新控制逻辑将计时器复位为0,将初始状态控制寄存器置0,向RAM的读使能端和ECC解码纠错模块信号输入控制端ctrl_in发送刷新控制信号ctrl_scrub,并给计时器发送开始计时信号,转第五步;
步骤4.3刷新控制逻辑发送写使能信号到RAM的写使能端和ECC编码模块信号输出控制端ctrl_out,控制ECC编码模块将数据写入地址寄存器所指示的RAM地址,转第六步;
步骤4.4刷新控制逻辑将写使能信号置为无效,地址寄存器加1,地址比较器比较地址寄存器与RAM最大地址寄存器的值,当地址寄存器所指示的地址小于或等于RAM最高地址N时,刷新控制逻辑进入产生刷新控制信号状态,转步骤4.2;当地址寄存器所指示的地址大于RAM最高地址N时,刷新控制逻辑进入转为一次刷新完成,等待下一次刷新状态,转步骤4.5;
步骤4.5刷新控制逻辑将地址寄存器置0,一次刷新完成,时间比较器将计时器和刷新周期寄存器中的值tsp比较,当计时器值大于或等于tsp时,转步骤4.6,进入下一次刷新;否则转步骤4.5;
步骤4.6当刷新控制逻辑接收到编码结束信号eoc时,进入写RAM状态转4.3;否则刷新控制逻辑将计时器复位为0,进行下一次刷新;向RAM的读使能端和ECC解码纠错模块信号输入控制端ctrl_in发送刷新控制信号ctrl_scrub,并给计时器发送开始计时信号,转第五步;
第五步,ECC解码纠错模块接收刷新控制信号ctrl_scrub,读RAM中地址寄存器所指示的RAM地址中的数据,对数据进行解码纠错,并将解码纠错后的数据送给ECC编码模块和TCAM;方法是:
步骤5.1ECC解码纠错模块信号输入控制端ctrl_in接收到刷新控制信号ctrl_scrub后,读地址寄存器所指示的RAM地址中的数据;
步骤5.2ECC解码纠错模块对读出的数据解码纠错;
步骤5.3ECC解码纠错模块将解码并纠错后的数据送给ECC编码模块和TCAM;
第六步,当ECC编码模块收到刷新控制逻辑的写使能信号后,ECC编码模块将数据写入地址寄存器所指示的RAM地址,待写操作完成后,转步骤4.4,否则ECC编码模块接收ECC纠错解码模块发送的解码并纠错后的数据,对数据重新进行ECC编码,编码完成后产生eoc,将eoc发送给刷新控制逻辑,转步骤4.2。
2.如权利要求1所述的空间设备的TCAM抗辐照防护方法,其特征在于刷新控制逻辑的状态转换过程是:系统开始工作时,刷新控制逻辑进入空闲状态;当刷新控制逻辑处于空闲状态时,当从初始状态控制寄存器读取到tsp后,状态转为产生刷新控制信号状态;当刷新控制逻辑处于产生刷新控制信号状态时,刷新控制逻辑将计时器复位为0,将初始状态控制寄存器置0,并给计时器发送开始计时信号,产生刷新控制信号ctrl_scrub,将ctrl_scrub发送给RAM的读使能端和ECC解码纠错模块信号输入控制端ctrl_in,控制ECC解码纠错模块读地址寄存器所指示的RAM地址中的数据,当接收编码结束信号eoc后,状态转为写RAM状态;当刷新控制逻辑处于写RAM状态时,发送写使能信号到RAM的写控制端和ECC编码模块信号输出控制端ctrl_out,控制ECC编码模块将数据写入地址寄存器所指示的RAM地址,待写操作完成后,状态转为更新地址寄存器状态;当刷新控制逻辑处于更新地址寄存器状态时,控制写使能信号无效,将地址寄存器加1,当地址比较器输出为0时,刷新控制逻辑的状态转为产生刷新控制信号状态;当地址比较器输出为1时,状态转为一次刷新完成,等待下一次刷新状态;当刷新控制逻辑处于一次刷新完成,等待下一次刷新状态时,地址寄存器置0,一次刷新完成,当时间比较器输出为0时,保持在一次刷新完成,等待下一次刷新状态;当时间比较器输出为1时,状态转入产生刷新控制信号状态。
3.如权利要求1所述的空间设备的TCAM抗辐照防护方法,其特征在于所述ECC解码纠错模块对数据进行解码纠错时采用里德-所罗门码即R-S码,ECC编码模块对解码后数据进行R-S编码。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210244654.XA CN102789806B (zh) | 2012-07-16 | 2012-07-16 | 一种空间设备的tcam抗辐照防护方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210244654.XA CN102789806B (zh) | 2012-07-16 | 2012-07-16 | 一种空间设备的tcam抗辐照防护方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102789806A CN102789806A (zh) | 2012-11-21 |
CN102789806B true CN102789806B (zh) | 2015-05-20 |
Family
ID=47155188
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210244654.XA Active CN102789806B (zh) | 2012-07-16 | 2012-07-16 | 一种空间设备的tcam抗辐照防护方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102789806B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109243513A (zh) * | 2013-09-01 | 2019-01-18 | 英派尔科技开发有限公司 | Dram中增加的刷新间隔和能量效率 |
CN104750569A (zh) | 2013-12-30 | 2015-07-01 | 深圳市中兴微电子技术有限公司 | 一种实现数据纠错的方法及装置 |
CN104462658B (zh) * | 2014-11-06 | 2017-07-28 | 北京空间飞行器总体设计部 | 一种三模冗余防护结构fpga单粒子翻转失效概率的评估方法 |
US9823964B2 (en) | 2015-12-08 | 2017-11-21 | Nvidia Corporation | Method for memory scrub of DRAM with internal error correcting code (ECC) bits during either memory activate and/or precharge operation |
US10049006B2 (en) | 2015-12-08 | 2018-08-14 | Nvidia Corporation | Controller-based memory scrub for DRAMs with internal error-correcting code (ECC) bits contemporaneously during auto refresh or by using masked write commands |
US9880900B2 (en) | 2015-12-08 | 2018-01-30 | Nvidia Corporation | Method for scrubbing and correcting DRAM memory data with internal error-correcting code (ECC) bits contemporaneously during self-refresh state |
TWI632780B (zh) * | 2016-12-30 | 2018-08-11 | 慧榮科技股份有限公司 | 解碼方法與相關解碼裝置 |
CN109408898B (zh) * | 2018-09-28 | 2023-03-31 | 北京时代民芯科技有限公司 | 一种片上cam结构系统及其实现方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102360566A (zh) * | 2011-08-11 | 2012-02-22 | 复旦大学 | 一种sram编程点抗幅照加固方法及其实现电路 |
CN102522114A (zh) * | 2011-12-22 | 2012-06-27 | 电子科技大学 | 一种具有抗辐照功能的寄存器 |
-
2012
- 2012-07-16 CN CN201210244654.XA patent/CN102789806B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102360566A (zh) * | 2011-08-11 | 2012-02-22 | 复旦大学 | 一种sram编程点抗幅照加固方法及其实现电路 |
CN102522114A (zh) * | 2011-12-22 | 2012-06-27 | 电子科技大学 | 一种具有抗辐照功能的寄存器 |
Non-Patent Citations (2)
Title |
---|
A Soft-Error-Immune Maintenance-Free TCAM Architecture with Associated Embedded DRAM;Hideyuki Noda et;《IEEE 2005 CUSTOM INTEGRATED CIRCUITS CONEFRENCE》;20051230;451-454 * |
Minimizing Soft Errors in TCAM Devices:A Probabilistic Approach to Determining Scrubbing Intervals;Sanghyeon Baeg et;《IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS》;20100430;第57卷(第4期);814-822 * |
Also Published As
Publication number | Publication date |
---|---|
CN102789806A (zh) | 2012-11-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102789806B (zh) | 一种空间设备的tcam抗辐照防护方法 | |
EP3377974B1 (en) | Separate link and array error correction in a memory system | |
CN109154919A (zh) | 用以执行内部模块数据总线反相的设备和方法 | |
CN101573694B (zh) | 用于小数据结构的ecc保护的方法、系统和装置 | |
US10061645B2 (en) | Memory array and link error correction in a low power memory sub-system | |
CN104115126A (zh) | 使用代数码的多阶段ecc编码 | |
CN102122959B (zh) | 提高计算机主存可靠性的数据压缩装置及其方法 | |
KR20190034699A (ko) | 저장 디바이스를 위한 계단 코드 인코딩 및 디코딩을 위한 장치 및 방법 | |
CN103811076A (zh) | 存储模块、具有其的存储系统及其读写方法 | |
WO2010076835A1 (en) | Error correction code for unidirectional memory | |
CN106328195A (zh) | 一种抗单粒子翻转的sram | |
CN102436852A (zh) | 一种纠正固定错误的数据校验与纠错方法 | |
CN103700396A (zh) | 一种面向sram的抗seu错误累积的控制器及方法 | |
KR101700057B1 (ko) | 반도체 기억 장치 및 그 제어 방법 | |
CN103886916A (zh) | 输入位宽可伸缩的编码/编解码存储系统 | |
CN102064835B (zh) | 适用于准循环ldpc译码的译码器 | |
US20160283325A1 (en) | Errors and erasures decoding from multiple memory devices | |
CN101488369A (zh) | Bch码控制器接口电路 | |
CN110309014A (zh) | 一种全行编解码sram编码器数据读写结构及数据读写方法 | |
CN204423920U (zh) | 一种高可利用率抗辐射的sram自刷新电路 | |
US11907544B2 (en) | Automated error correction with memory refresh | |
CN104575589A (zh) | 一种高可利用率抗辐射的sram自刷新电路及其自刷新方法 | |
CN115223615A (zh) | 一种译码电路、译码方法和半导体存储器 | |
CN101834611A (zh) | 一种纠正多比特错误的ecc电路 | |
CN102881334B (zh) | 核探测机器人控制系统中数据存储的纠错方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |