一种SRAM纠错方法、系统及终端与流程

文档序号:30588724发布日期:2022-07-01 18:56阅读:376来源:国知局
一种SRAM纠错方法、系统及终端与流程
一种sram纠错方法、系统及终端
技术领域
1.本发明涉及静态随机存储器(static random-access memory,sram)的技术领域,特别是涉及一种sram纠错方法、系统及终端。


背景技术:

2.sram由于具有高集成度、高速率、低功耗等特点,被广泛使用于电脑、服务器、通讯存储设备等中。可靠性和数据的完整性是存储设备时需要关注的最重要的因素,故要求不能因环境条件(如辐射)而破坏存储器中的数据。而sram对单粒子翻转效应特别敏感,这种效应会导致sram地址单元中存储的数据发生不可预测的翻转,由此导致的结果会很严重。
3.为提高sram的可靠性,进行系统设计时,需要考虑片内或片外错误校验性能或冗余技术。随着半导体行业器件的尺寸越来越小,sram发生单粒子翻转的临界阈值不断降低,sram本身的可靠性越来越低。因此,如何实现高可靠性的、抗单粒子翻转的sram纠错成为当前的热点研究课题。
4.现有技术是,sram中的数据更新逻辑如图1所示。其中,sram会在一定的周期如t秒内,通过b口对sram中的数据进行刷新。具体地,sram中读出的数据经过解码器后,纠错编码(error correcting code,ecc)会将不大于纠错能力(如海明码纠错能力为1bit)的数据进行纠正,再回写到sram中覆盖相同地址的单元。因此,只要在一个周期t秒内,一个编码字中发生的错误数不大于纠错能力,错误就不会在sram中累积,从而大大增加了sram的空间可靠性。然而,上述sram纠错方法中虽然刷新频率(1/t)可调,但无法根据辐照情况进行自适应调整,从而无法兼顾sram的功耗、速度与可靠性的多重需求。


技术实现要素:

5.鉴于以上所述现有技术的缺点,本发明的目的在于提供一种sram纠错方法、系统及终端,通过自适应地调整sram的刷新频率来实现sram的有效纠错,极大地提升了sram的可靠性。
6.为实现上述目的及其他相关目的,本发明提供一种sram纠错方法,包括以下步骤:获取sram在一个刷新周期中的比特单元的ecc数值;当所述ecc数值大于预设阈值时,提高所述sram的刷新频率;当所述ecc数值小于所述预设阈值时,降低所述sram的刷新频率。
7.于本发明一实施例中,所述ecc数值为比特单元的ecc个数。
8.于本发明一实施例中,所述ecc数值为比特单元的ecc比例。
9.于本发明一实施例中,所述ecc数值为ecc次数。
10.对应地,本发明提供一种sram纠错系统,包括获取模块和纠错模块;
11.所述获取模块用于获取sram在一个刷新周期中的比特单元的ecc数值;
12.所述纠错模块用于当所述ecc数值大于预设阈值时,提高所述sram的刷新频率;当所述ecc数值小于所述预设阈值时,降低所述sram的刷新频率。
13.于本发明一实施例中,所述ecc数值为比特单元的ecc个数。
14.于本发明一实施例中,所述ecc数值为比特单元的ecc比例。
15.于本发明一实施例中,所述ecc数值为ecc次数。
16.本发明提供一种sram纠错终端,包括处理器及存储器;
17.所述存储器用于存储计算机程序;
18.所述处理器用于执行所述存储器存储的计算机程序,以使所述终端执行上述的sram纠错方法。
19.最后,本发明提供一种sram纠错系统,包括上述的sram纠错终端和ecc计数器;
20.所述ecc计数器用于采集sram在一个刷新周期中的比特单元的ecc数值,并阿送至所述sram纠错终端。
21.如上所述,本发明的sram纠错方法、系统及终端,具有以下有益效果:
22.(1)能够自适应地调整sram的刷新频率,从而实现sram的有效纠错;
23.(2)极大地提升了sram的可靠性,满足不同场景的应用需求;
24.(3)兼顾了功耗和速度的需求,极具实用性。
附图说明
25.图1显示为现有技术中的sram纠错方法于一实施例中的架构示意图;
26.图2显示为本发明的sram纠错方法于一实施例中的流程图;
27.图3显示为本发明的sram纠错方法于一实施例中架构示意图;
28.图4显示为本发明的sram纠错系统于一实施例中的结构示意图;
29.图5显示为本发明的sram纠错终端于一实施例中的结构示意图;
30.图6显示为本发明的sram纠错系统于另一实施例中的结构示意图。
31.元件标号说明
32.41
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
获取模块
33.42
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
纠错模块
34.51
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
处理器
35.52
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
存储器
36.61
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
sram纠错终端
37.62
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
ecc计数器
具体实施方式
38.以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
39.需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
40.本发明的sram纠错方法、系统及终端能够根据sram的ecc数值自适应地调整sram的刷新频率,从而实现sram的有效纠错,同时兼顾了sram的功耗和数据,极具实用性。
41.如图2和图3所示,于一实施例中,本发明的sram纠错方法包括以下步骤:
42.步骤s1、获取sram在一个刷新周期中的比特单元的ecc数值。
43.具体地,基于ecc计数器实时采集sram在一个刷新周期中针对比特单元(bit cell)的ecc数值。在本发明中,所述ecc数值可以采用比特单元的ecc个数,即发生ecc的比特单元的个数;也可以采用比特单元的ecc比例,即发生ecc的比特单元占一个刷新周期中所有比特单元的比例;还可以采用ecc次数,即一个刷新周期中比特单元发生的ecc次数。
44.步骤s2、当所述ecc数值大于预设阈值时,提高所述sram的刷新频率;当所述ecc数值小于所述预设阈值时,降低所述sram的刷新频率。
45.具体地,当所述ecc数值大于预设阈值时,表明一个刷新周期内发生错误的比特单元较多。为了避免错误累积,提高所述sram的刷新频率。当所述ecc数值小于所述预设阈值时,表明一个刷新周期内发生错误的比特单元较少,为了降低功耗,降低所述sram的刷新频率。因此,通过自适应的调整所述刷新频率能够实现所述sram的功耗、速度及可靠性的兼顾。
46.例如,设定所述预设阈值为3比特,当发生ecc的比特单元的个数大于3个比特时,提高所述sram的刷新频率;反之,降低所述sram的刷新频率。
47.再例如,设定所述预设阈值为1%,当发生ecc的比特单元占一个刷新周期中所有比特单元的比例大于1%时,提高所述sram的刷新频率;反之,降低所述sram的刷新频率。
48.还例如,设定所述预设阈值为3次,当一个刷新周期中发生的ecc次数大于3次时,提高所述sram的刷新频率;反之,降低所述sram的刷新频率。
49.如图4所示,于一实施例中,本发明的sram纠错系统包括获取模块41和纠错模块42。
50.所述获取模块41用于获取sram在一个刷新周期中的比特单元的ecc数值。
51.所述纠错模块42与所述获取模块41相连,用于当所述ecc数值大于预设阈值时,提高所述sram的刷新频率;当所述ecc数值小于所述预设阈值时,降低所述sram的刷新频率。
52.其中,获取模块41和纠错模块42的结构和原理与上述sram纠错方法中的步骤一一对应,故在此不再赘述。
53.需要说明的是,应理解以上装置的各个模块的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。且这些模块可以全部以软件通过处理元件调用的形式实现,也可以全部以硬件的形式实现,还可以部分模块通过处理元件调用软件的形式实现,部分模块通过硬件的形式实现。例如:x模块可以为单独设立的处理元件,也可以集成在上述装置的某一个芯片中实现。此外,x模块也可以以程序代码的形式存储于上述装置的存储器中,由上述装置的某一个处理元件调用并执行以上x模块的功能。其它模块的实现与之类似。这些模块全部或部分可以集成在一起,也可以独立实现。这里所述的处理元件可以是一种集成电路,具有信号的处理能力。在实现过程中,上述方法的各步骤或以上各个模块可以通过处理器元件中的硬件的集成逻辑电路或者软件形式的指令完成。以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(application specific integrated circuit,简称
asic),一个或多个微处理器(digital signal processor,简称dsp),一个或者多个现场可编程门阵列(field programmable gate array,简称fpga)等。当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,如中央处理器(central processing unit,简称cpu)或其它可以调用程序代码的处理器。这些模块可以集成在一起,以片上系统(system-on-a-chip,简称soc)的形式实现。
54.如图5所示,于一实施例中,本发明的sram纠错终端包括:处理器51和存储器52。
55.所述存储器52用于存储计算机程序。
56.所述存储器52包括:rom、ram、磁碟、u盘、存储卡或者光盘等各种可以存储程序代码的介质。
57.所述处理器51与所述存储器52相连,用于执行所述存储器52存储的计算机程序,以使所述终端执行上述的sram纠错方法。
58.优选地,所述处理器51可以是通用处理器,包括中央处理器(central processing unit,简称cpu)、网络处理器(network processor,简称np)等;还可以是数字信号处理器(digital signal processor,简称dsp)、专用集成电路(application specific integrated circuit,简称asic)、现场可编程门阵列(field programmable gate array,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
59.如图6所示,于一实施例中,本发明的sram纠错系统包括上述的sram纠错终端61和ecc计数器62。
60.所述ecc计数器62与所述sram纠错终端61相连,用于采集sram在一个刷新周期中的比特单元的ecc数值,并阿送至所述sram纠错终端61。
61.综上所述,本发明的sram纠错方法、系统及终端能够自适应地调整sram的刷新频率,从而实现sram的有效纠错;极大地提升了sram的可靠性,满足不同场景的应用需求;兼顾了功耗和速度的需求,极具实用性。所以,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。
62.上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1