CN111694691A - 一种纠检错后具有自动回写功能的sram电路及回写方法 - Google Patents
一种纠检错后具有自动回写功能的sram电路及回写方法 Download PDFInfo
- Publication number
- CN111694691A CN111694691A CN202010524262.3A CN202010524262A CN111694691A CN 111694691 A CN111694691 A CN 111694691A CN 202010524262 A CN202010524262 A CN 202010524262A CN 111694691 A CN111694691 A CN 111694691A
- Authority
- CN
- China
- Prior art keywords
- write
- data
- error
- sram
- signal
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/38—Response verification devices
- G11C29/42—Response verification devices using error correcting codes [ECC] or parity check
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本发明公开了一种纠检错后具有自动回写功能的SRAM电路及回写方法,包括EDAC解码器、时序控制电路、地址锁存模块、地址译码器、写控制电路、读出锁存模块和存储阵列,解决了SRAM在恶劣环境中的软错误问题,在并不增加额外的外部控制端口的情况下,提高SRAM的可靠性,减少使用SRAM的系统复杂度。当读出数据时监测到错误后,在当前正常读周期内能够自动完成对存储阵列中的错误纠正,达到SRAM抗软错误能力从而提高可靠性的作用。本发明的EDAC纠检错后自动回写的SRAM电路结构既适用于普通SRAM的读写,也适用于对SRAM的定时刷新,而不需要额外的系统性能开销。
Description
技术领域
本发明属于SRAM存储器技术领域,具体涉及一种纠检错后具有自动回写功能的SRAM电路及回写方法。
背景技术
EDAC纠检错功能是SRAM中经常采用的一种提高可靠性的设计技术。该技术通过在写入时对写数据进行EDAC编码,在读出时通过对读出的EDAC码解码发现或修正数据中的错误,从而实现对SRAM存储数据的纠检错,解决SRAM中部分存储数据位因外部原因发生翻转而导致的可靠性问题。此外,在对可靠性要求较高的应用场合,还可以定时对整个存储阵列进行刷新,即对SRAM遍历访问,对发现的错误及时进行纠正,从而避免因时间过长,错误累计而导致多位错的发生。
在现有应用中,为增强SRAM数据的可靠性,减少数据位翻转带来的错误,一般由使用SRAM的系统根据需要在SRAM外围增加EDAC纠检错逻辑。图1为现有的增加EDAC纠检错功能的SRAM工作流程。
当数据写入时,对写数据进行EDAC编码,并同写数据一起存入存储阵列;当数据读出时,对数据同时读出的EDAC码进行解码并判断错误,当出现单位错误时纠正数据并输出,当出现多位错误时读出失败。上述纠检错功能在发现数据错误后,仅更改读出端口的数据错误,并不能纠正存储阵列内的数据错误,因此当该存储数据再次发生新的错误时,错误将累积成为无法纠正多位错,从而造成数据丢失。
如果需要及时纠正SRAM中的错误,则使用SRAM的系统需要根据校验码指示的单位错误标志,重新发起一次写操作以纠正存储阵列内的数据,同时占用一次额外的读写周期。在单粒子翻转较低的深亚微米工艺尺寸下,发生错误的位不多,因此发现错误时处理器程序进入中断或异常并对错误地址回写正确的数据即可,不会对处理器的性能产生太大的影响。但是在纳米尺度工艺情况下,单粒子翻转率更高,通过系统中的处理器和操作系统来纠正SRAM中的翻转则存在诸多不足。
首先,处理器经常性的进入中断或异常,处理单粒子翻转错误,将对处理器的性能产生较大的影响。其次,处理器进行回写操作,软件设计如果与硬件配合不协调,可能导致处理器复位。即SRAM经常发生翻转,当处理器进入异常处理程序后并再次进入新的异常时,此时如果恰好发生单粒子翻转,则整个软件系统会发生紊乱。第三,空间应用情况下,通常一天之内要对内部和外部存储器进行多次定时刷新,此时如果频繁刷到错误数据,则需要多次暂停并进行数据回写,影响整个系统性能。
此外,有文献还报道了一种纠错SRAM的回写方法,方法流程如图2所示。该方法在读操作过程中,将存储阵列中的数据及EDAC编码读出时,通过解码逻辑将可能存在的错误纠正,同时将正确数据写入同等位宽的冗余存储单元暂存,并将读地址锁存在一组寄存器中暂存,然后对正确数据进行重新编码,将新的编码与原读出的编码进行比较,从而判断是否存在错误,存在错误时将产生一个回写使能信号,将暂存在冗余存储单元中的数据读出并根据上述寄存器中的地址发起一次写操作写回存储阵列。
上述方法通过冗余校验位产生纠错控制信号,并由该纠错控制信号产生回写写入信号以及回写地址信号,确保地址信号不变,并将存储在n位(n为一个字的数据位宽)存储单元的数据写入SRAM,完成回写功能,从而确保数据不被损坏且按照原地址进行回写,保证了原有数据在被读取后不受损坏,避免了累计错误。但该方法还不够完善,原因如下:1、地址重新锁存,n位冗余存储单元的读出和写入,对读出正确数据的再编码、校验位对比,整个回写电路面积开销,以及地址锁存器和n位冗余存储单元可能出现软错误带来的可靠性问题,都不可忽视;2、每次读操作,不论数据正确与否,都要通过冗余存储单元暂存纠正的读数据,回写时再读出,占用两个标准的SRAM读和写操作。重新存储,重新编码,校验位比较,回写环路较长,时间开销大,浪费较多功耗。而通过对解码算法的改造和存储器读写驱动电路的改造,由解码算法直接产生回写控制和错误位标志,则完全可以节省上述复杂的回写电路;3、回写修改只涉及了n位数据,而校验位的出错没有考虑,对于出错的校验位如果不修改,则在下次读出该数据时将会把正确的数据纠成错误的;4、由于采用校验位全部异或的方式,没有考虑单位错与多位错情况的区分,单位错回写可以将正确数据纠正,而多位错时数据已不能纠正,回写将没有意义。
发明内容
针对现有技术中存在的技术问题,本发明提供了一种纠检错后具有自动回写功能的SRAM电路及回写方法,解决了SRAM在恶劣环境中的软错误问题,在并不增加额外的外部控制端口的情况下,提高SRAM的可靠性,减少使用SRAM的系统复杂度。
为了解决上述技术问题,本发明通过以下技术方案予以实现:
一种纠检错后具有自动回写功能的SRAM电路,包括:
EDAC解码器,用于当发现读数据错误时,对错误数据进行纠正并得到纠正后的数据,同时产生所述纠正后的数据的回写信号,并将所述回写信号发送给时序控制电路和写控制电路;还用于对所述纠正后的数据重新解码,并将所述回写信号清除;
所述时序控制电路,用于根据所述回写信号产生写时序信号,并将所述写时序信号发送给地址译码器;
地址锁存模块,用于锁存回写的地址,并将所述回写的地址发送给所述地址译码器;
所述地址译码器,用于根据所述写时序信号和所述回写的地址产生所述纠正后的数据在存储阵列中的存储位置;
所述写控制电路,用于根据所述纠正后的数据在所述存储阵列中的存储位置,将所述纠正后的数据写入所述存储阵列,同时将所述纠正后的数据发送给读出锁存模块;
所述读出锁存模块,用于锁存所述纠正后的数据,并将所述纠正后的数据发送给所述EDAC解码器;
所述存储阵列,用于存储数据。
进一步地,在所述EDAC解码器和所述时序控制电路之间设置有一个与门电路,所述与门电路用于实现对自动回写功能的开启或关闭。
进一步地,还包括:
EDAC编码器,用于对外部写数据增加EDAC码。
进一步地,还包括:
灵敏放大器,用于从所述存储阵列中读取数据。
进一步地,所述EDAC解码器,还用于产生数据错误位的指示信号,并将所述指示信号发送给所述写控制电路;
所述写控制电路,还用于根据所述指示信号,将所述纠正后的数据的错误位进行回写至所述存储阵列,同时将所述纠正后的数据的错误位发送给所述读出锁存模块。
一种纠检错后的SRAM电路的自动回写方法:
当EDAC解码器发现读数据错误时,对错误数据进行纠正并得到纠正后的数据,同时产生所述纠正后的数据的回写信号,并将所述回写信号发送给时序控制电路和写控制电路;
所述时序控制电路根据所述回写信号产生写时序信号,并将所述写时序信号发送给地址译码器;
地址锁存模块锁存回写的地址,并将所述回写的地址发送给所述地址译码器;
所述地址译码器根据所述写时序信号和所述回写的地址产生所述纠正后的数据在存储阵列中的存储位置;
所述写控制电路根据所述纠正后的数据在所述存储阵列中的存储位置,将所述纠正后的数据写入所述存储阵列,同时将所述纠正后的数据发送给读出锁存模块;
所述读出锁存模块锁存所述纠正后的数据,并将所述纠正后的数据发送给所述EDAC解码器;
所述EDAC解码器对所述纠正后的数据重新解码,并将所述回写信号清除,至此回写结束。
进一步地,当EDAC解码器发现读数据错误时,所述EDAC解码器会产生数据错误位的指示信号,并将所述指示信号发送给所述写控制电路;
所述写控制电路根据所述指示信号,将所述纠正后的数据的错误位进行回写至所述存储阵列,同时将所述纠正后的数据的错误位发送给所述读出锁存模块。
进一步地,当需要自动回写时,开启设置在所述EDAC解码器和所述时序控制电路之间的与门电路;否则,关闭所述与门电路。
与现有技术相比,本发明至少具有以下有益效果:本发明提出的一种纠检错后具有自动回写功能的SRAM电路,当读出数据时监测到错误后,在当前正常读周期内能够自动完成对存储阵列中的错误纠正,达到SRAM抗软错误能力从而提高可靠性的作用。本发明的EDAC纠检错后自动回写的SRAM电路结构既适用于普通SRAM的读写,也适用于对SRAM的定时刷新,而不需要额外的系统性能开销。
当发现SRAM的单位翻转错误后,普通处理器系统要经过保存当前状态、进入异常程序、处理异常(修改错误数据)、跳出异常、恢复程序状态等步骤,需要占用多个额外系统周期(周期数跟具体处理器硬件和操作系统有关)。而采用本发明的SRAM电路结构后,对于发现的单位翻转错误,系统无需判断和干预处理,由SRAM在正常读周期内自动纠正存储阵列中的错误数据,则大大节省了系统用于错误处理的工作开销。采用本发明的纠检错后具有自动回写功能的SRAM电路,通过及时自动纠正存储器中的单位错误,从而避免了存储器中的错误累计,避免存储器中出现无法纠正的多位错。
本发明也可以通过对SRAM所有地址进行遍历读取,实现对SRAM的定刷功能。传统的SRAM定刷机制是先读取,发现错误后,需要中断,处理器干预后再回写。而本发明则不需要处理器干预,能够自动回写,节省处理器的性能开销,尤其适用于软错误较多的恶劣环境。
进一步地,在EDAC解码器与时序控制电路之间设置一个与门电路,与门电路用于实现外部可选择的开启或关闭错误回写,即用户即可通过一个使能信号选择开启错误后回写功能或关闭此功能。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明具体实施方式中的技术方案,下面将对具体实施方式描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术中的SRAM增加EDAC纠检错功能后的工作流程图;
图2为现有技术中的一种纠错SRAM的回写方法的工作流程图;
图3为本发明的一种纠检错后具有自动回写功能的SRAM电路的工作流程图;
图4为本发明中SRAM中地址输入的上升沿锁存时序图;
图5为本发明中的检1位错后自动回写原理框图;
图6为本发明中的纠错后自动修改输出原理框图;
图7为带EDAC纠检错及自动回写功能的同步SRAM电路架构。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
结合图3至图7所示,作为本发明的某一具体实施方式,一种纠检错后具有自动回写功能的SRAM电路,包括:
EDAC解码器,用于当发现读数据错误时,对错误数据进行纠正并得到纠正后的数据,同时产生纠正后的数据的回写信号,并将回写信号发送给时序控制电路和写控制电路;还用于对纠正后的数据重新解码,并将回写信号清除;
时序控制电路,用于根据回写信号产生写时序信号,并将写时序信号发送给地址译码器;
优选的,EDAC解码器,还用于产生数据错误位的指示信号,并将指示信号发送给写控制电路;
写控制电路,还用于根据指示信号,将纠正后的数据的错误位进行回写至存储阵列,同时将纠正后的数据的错误位发送给读出锁存模块。
作为本发明的某一优选实施方式,在EDAC解码器和时序控制电路之间设置有一个与门电路,与门电路用于实现对自动回写功能的开启或关闭,外部使用者能够可选择的开启或关闭错误回写;
地址锁存模块,用于锁存回写的地址,并将回写的地址发送给地址译码器;
地址译码器,用于根据写时序信号和回写的地址产生纠正后的数据在存储阵列中的存储位置;
写控制电路,用于根据纠正后的数据在存储阵列中的存储位置,将纠正后的数据写入存储阵列,同时将纠正后的数据发送给读出锁存模块;
读出锁存模块,用于锁存纠正后的数据,并将纠正后的数据发送给EDAC解码器;
存储阵列,用于存储数据;
灵敏放大器,用于从存储阵列中读取数据;
EDAC编码器,用于对外部写数据增加EDAC码。
本发明一种纠检错后的SRAM电路的自动回写方法如下:
当EDAC解码器发现读数据错误时,对错误数据进行纠正并得到纠正后的数据,同时产生纠正后的数据的回写信号,并将回写信号发送给时序控制电路和写控制电路;
时序控制电路根据回写信号产生写时序信号,并将写时序信号发送给地址译码器;
地址锁存模块锁存回写的地址,并将回写的地址发送给地址译码器;
地址译码器根据写时序信号和回写的地址产生纠正后的数据在存储阵列中的存储位置;
写控制电路根据纠正后的数据在存储阵列中的存储位置,将纠正后的数据写入存储阵列,同时将纠正后的数据发送给读出锁存模块;
读出锁存模块锁存纠正后的数据,并将纠正后的数据发送给EDAC解码器;
EDAC解码器对纠正后的数据重新解码,并将回写信号清除,至此回写结束。
优选的,当EDAC解码器发现读数据错误时,EDAC解码器会产生数据错误位的指示信号,并将指示信号发送给写控制电路;
写控制电路根据指示信号,将纠正后的数据的错误位进行回写至存储阵列,同时将纠正后的数据的错误位发送给读出锁存模块;
当需要自动回写时,使用者可开启设置在EDAC解码器和时序控制电路之间的与门电路;否则,关闭与门电路。
结合上述对本发明技术方案的描述,下面对本发明进行更加详细的分析说明。
一种纠检错后具有自动回写功能的SRAM电路,工作流程如图3所示,包括写流程和读流程,其中读流程中包含了对发现单位错后,对数据或编码的自动纠正和回写过程。当数据写入时,对写数据进行EDAC编码,并同写数据一起存入存储阵列;当数据读出时,对数据同时读出的EDAC码进行解码并判断错误,当出现单位错误时纠正数据并输出,同时将纠正的数据在本次读周期内回写以纠正存储阵列内对应的错误,当出现多位错误时则读出失败。在该流程中,错误后回写纠正数据由SRAM自身电路结构完成,且对外部系统没有特殊的使用时序要求,使用SRAM的系统无需干预和处理。
本发明具体包括的内容如下:
(1)在EDAC解码中增加校验位出错的标志信号逻辑,并将数据位出错标志信号和校验位出错标志信号共同反馈至SRAM回写控制电路。在现有EDAC解码逻辑中,只生成数据位的错误标志信号errBit[x],用于判断数据是单位错还是多位错。在本发明中,为实现对单位错的数据以及校验码进行标识并精确控制纠正对应的SRAM内部存储位,在现有的EDAC解码算法中增加了校验位的错误标志信号errpar[x]。以位宽为8的SRAM为例,具体算法如下所示:
nc[0]=XI[0]^XI[3]^XI[5]^XI[6]^XI[8]^XI[10];
nc[1]=XI[1]^XI[3]^XI[5]^XI[9]^XI[11];
nc[2]=XI[2]^XI[3]^XI[6]^XI[8]^XI[9]^XI[12];
nc[3]=XI[4]^XI[5]^XI[6]^XI[10]^XI[11]^XI[12];
nc[4]=XI[7]^XI[8]^XI[9]^XI[10]^XI[11]^XI[12];
E1=nc[0]||nc[1]||nc[2]||nc[3]||nc[4];
E2=E1&&(!(nc[0]^nc[1]^nc[2]^nc[3]^nc[4]));
errBit[0]=!nc[4]&!nc[3]&nc[2]&nc[1]&nc[0];
errBit[1]=!nc[4]&nc[3]&!nc[2]&nc[1]&nc[0];
errBit[2]=!nc[4]&nc[3]&nc[2]&!nc[1]&nc[0];
errBit[3]=nc[4]&!nc[3]&nc[2]&!nc[1]&nc[0];
errBit[4]=nc[4]&!nc[3]&nc[2]&nc[1]&!nc[0];
errBit[5]=nc[4]&nc[3]&!nc[2]&!nc[1]&nc[0];
errBit[6]=nc[4]&nc[3]&!nc[2]&nc[1]&!nc[0];
errBit[7]=nc[4]&nc[3]&nc[2]&!nc[1]&!nc[0];
errPar[0]=!nc[4]&!nc[3]&!nc[2]&!nc[1]&nc[0];
errPar[1]=!nc[4]&!nc[3]&!nc[2]&nc[1]&!nc[0];
errPar[2]=!nc[4]&!nc[3]&nc[2]&!nc[1]&!nc[0];
errPar[3]=!nc[4]&nc[3]&!nc[2]&!nc[1]&!nc[0];
errPar[4]=nc[4]&!nc[3]&!nc[2]&!nc[1]&!nc[0];
其中,XI[0-12]为存储的8位数据+5位校验码,E1为单位错标志信号,E2为多位错标志信号,errBit[0-7]为数据位错误标志,errPar[0-3]为校验位错误标志;运算符“^”为异或,“&&”为逻辑与,“||”为逻辑或,“!”为逻辑非,“&”为按位与。
(2)本发明中,由于在普通读操作后如果发现有单位错出现,将立即跟随一个对错误位数据的回写操作。为避免在回写修改过程中,地址发生变化,采用锁存脉冲的上升沿进行地址锁存,如图4所示。
(3)图5为本发明中的检1位错后自动回写原理框图。采用的数据位和校验位错误标志信号,通过只针对具体错误的一位数据或校验位翻转其位线并改写存储单元内容,实现对错误纠正的精确控制。其中,数据+校验码总位宽为m,出现单位错为第n位(数据+校验码),E1为单位错标志,(errBit+errPar)[m:0]为具体某一位错误标志信号,每位W/R读写驱动对应一列存储单元(图中省略)。当读数据+EDAC码发现数据或校验位错误需要进行回写时,由单位错标志信号E1产生对应写回使能信号,同时由错误位标志(errBit+errPar)[m:0]确定需要修改的数据位,然后将原读出数据翻转后写回对应存储单元。在写回过程中,没有出错的数据位不经过写操作。
(4)当存储阵列里的错误数据被修正后,由于存储阵列的读出数据没有变化,因此单位错标志E1仍然有效,这影响后续的读操作,因此需要电路自身在回写修改完毕后将E1有效清除,采用如图6所示的读回写旁路结构实现上述功能。当输出数据或校验码出现单位错时,修改错误位的同时,直接翻转SA(读灵敏放大器)的输出,在与其他数据位和校验位重新解码后产生新的数据位和校验位错误标志,清除原有结果。
针对处理器需干预出错数据进行回写的问题,本发明在普通SRAM电路中增加了EDAC发现错误后自动回写的功能,电路结构框图如图7所示,图7中,外部端口包括:时钟CLK,片选CSB,为用户可配置的回写开启或关闭使能信号WB_EN,写数据输入D<7:0>,地址输入A<7:0>,写使能WEB,单位错标志输出E1(同时作为内部错误标志用于产生回写使能),多位错标志输出E2,读数据输出Q<7:0>;内部信号包括:用于锁存地址的脉冲Aclk,地址译码使能DEC_EN,被锁存的地址A_latched<7:0>,由8位地址译码产生的256根字线信号ML<255:0>,由外部回写开启/关闭使能和内部错误标志产生的内部回写使能WB_BK,灵敏放大器使能信号SA_EN,对8位写数据编码后的8位数据加5位EDAC码(Din+Par)<12:0>,数据加EDAC码的错误位指示信号(errBit+errPar)<12:0>,读出的8位数据加5位EDAC码Qout<12:0>,对存储阵列的写使能信号WR_EN,纠正后的数据加EDAC码Correct data,存储阵列的读写驱动模块W/R,存储阵列的位线BL和位线反BLB。
以256×8bit的SRAM为例,假设每行单元构成一个字,因此结构中不考虑YMUX(列多路选择)功能。加入5位的EDAC编码,存储阵列的总位宽为13位,即带有EDAC纠检错功能的256×8bit的SRAM实际内部存储阵列为256×13bit。
其中,时序控制电路用于根据外部时钟、片选及写使能信号产生对内部其他模块的时序控制信号,译码器负责根据外部访问地址定位存储阵列中的行存储单元(即一个字),每个W/R模块对应存储阵列中的一列单元,用于产生对位线的写驱动信号和位线上的数据读出(读出数据随后被灵敏放大器放大)。EDAC纠检错功能包含了编码逻辑和解码逻辑,编码逻辑用于写入时产生每个数据所对应的EDAC码,解码逻辑用于读出时根据读出的EDAC码给出数据或EDAC码的位错误标志以及纠正后的数据。
WB_EN为纠错使能信号,用于使能或不使能SRAM的自纠错功能。E1端口为读出数据和EDAC编码单位错标志,E2为读出数据和EDAC编码多位错标志。当WB_EN为低时,自动回写功能将关闭,整个SRAM可以全速工作,当该信号为高时,自动回写功能打开,此时每次SRAM的读操作周期都将算入回写操作的时间,因此读周期将会变长。在读出操作过程中,当E1有效,E2无效时,则发生了可纠正的单位错。当E1有效,E2有效时,则发生了不可纠正的双位错。
整个电路工作过程如下,当数据写入时,D[7:0]八位数据经过EDAC编码后输出13位的(Din+Par)[12:0]数据,该数据将写入由地址指定的存储位中。当读操作时,数据Qout[12:0]被读出到解码器中,解码过程中如果发现一位错误,此时将通过解码器将E1置为有效,同时产生(errBit+errPar)[12:0]信号。如果此时WB_EN有效,将启动WR_BK信号,发起一次回写操作。回写数据依据(errBit+errPar)[12:0]的标志位进行回写,即(errBit+errPar)的13位信号中仅有一位为1,表示该位为错误位,其余位均标记为0,表示该位为正确位。EBIT信号返回到写驱动电路中,将正确数据回写,回写时只针对错误位,其他正确的位不进行写操作。同时通过correct_data将正确数据旁路到数据输出锁存器中,再通过解码器重新解码后将E1重置为无效,以免造成后续读写的误操作。
在纳米工艺下,SRAM的翻转问题越来越严重,无论太空还是地面应用中,较高的翻转率都严重影响系统的可靠性。针对商用纳米工艺下普通SRAM存储器存在的软错误问题,在普通商用SRAM存储器架构的基础上,在完全不破坏原有SRAM访问时序的情况下,增加对自身的纠检错功能,实现对SRAM的可靠性加固。本发明通过对现有商用纳米工艺下SRAM存储器增加数据EDAC纠检错编解码和单位错自动纠正功能,解决SRAM存储器在恶劣环境中的软错误问题,在并不增加额外的外部控制端口的情况下,提高存储器的可靠性,减少使用SRAM的系统复杂度。
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (8)
1.一种纠检错后具有自动回写功能的SRAM电路,其特征在于,包括:
EDAC解码器,用于当发现读数据错误时,对错误数据进行纠正并得到纠正后的数据,同时产生所述纠正后的数据的回写信号,并将所述回写信号发送给时序控制电路和写控制电路;还用于对所述纠正后的数据重新解码,并将所述回写信号清除;
所述时序控制电路,用于根据所述回写信号产生写时序信号,并将所述写时序信号发送给地址译码器;
地址锁存模块,用于锁存回写的地址,并将所述回写的地址发送给所述地址译码器;
所述地址译码器,用于根据所述写时序信号和所述回写的地址产生所述纠正后的数据在存储阵列中的存储位置;
所述写控制电路,用于根据所述纠正后的数据在所述存储阵列中的存储位置,将所述纠正后的数据写入所述存储阵列,同时将所述纠正后的数据发送给读出锁存模块;
所述读出锁存模块,用于锁存所述纠正后的数据,并将所述纠正后的数据发送给所述EDAC解码器;
所述存储阵列,用于存储数据。
2.根据权利要求1所述的一种纠检错后具有自动回写功能的SRAM电路,其特征在于,在所述EDAC解码器和所述时序控制电路之间设置有一个与门电路,所述与门电路用于实现对自动回写功能的开启或关闭。
3.根据权利要求1所述的一种纠检错后具有自动回写功能的SRAM电路,其特征在于,还包括:
EDAC编码器,用于对外部写数据增加EDAC码。
4.根据权利要求1所述的一种纠检错后具有自动回写功能的SRAM电路,其特征在于,还包括:
灵敏放大器,用于从所述存储阵列中读取数据。
5.根据权利要求1所述的一种纠检错后具有自动回写功能的SRAM电路,其特征在于,所述EDAC解码器,还用于产生数据错误位的指示信号,并将所述指示信号发送给所述写控制电路;
所述写控制电路,还用于根据所述指示信号,将所述纠正后的数据的错误位进行回写至所述存储阵列,同时将所述纠正后的数据的错误位发送给所述读出锁存模块。
6.一种纠检错后的SRAM电路的自动回写方法,其特征在于:
当EDAC解码器发现读数据错误时,对错误数据进行纠正并得到纠正后的数据,同时产生所述纠正后的数据的回写信号,并将所述回写信号发送给时序控制电路和写控制电路;
所述时序控制电路根据所述回写信号产生写时序信号,并将所述写时序信号发送给地址译码器;
地址锁存模块锁存回写的地址,并将所述回写的地址发送给所述地址译码器;
所述地址译码器根据所述写时序信号和所述回写的地址产生所述纠正后的数据在存储阵列中的存储位置;
所述写控制电路根据所述纠正后的数据在所述存储阵列中的存储位置,将所述纠正后的数据写入所述存储阵列,同时将所述纠正后的数据发送给读出锁存模块;
所述读出锁存模块锁存所述纠正后的数据,并将所述纠正后的数据发送给所述EDAC解码器;
所述EDAC解码器对所述纠正后的数据重新解码,并将所述回写信号清除,至此回写结束。
7.根据权利要求6所述的一种纠检错后的SRAM电路的自动回写方法,其特征在于,当EDAC解码器发现读数据错误时,所述EDAC解码器会产生数据错误位的指示信号,并将所述指示信号发送给所述写控制电路;
所述写控制电路根据所述指示信号,将所述纠正后的数据的错误位进行回写至所述存储阵列,同时将所述纠正后的数据的错误位发送给所述读出锁存模块。
8.根据权利要求6所述的一种纠检错后的SRAM电路的自动回写方法,其特征在于,当需要自动回写时,开启设置在所述EDAC解码器和所述时序控制电路之间的与门电路;否则,关闭所述与门电路。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010524262.3A CN111694691B (zh) | 2020-06-10 | 2020-06-10 | 一种纠检错后具有自动回写功能的sram电路及回写方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010524262.3A CN111694691B (zh) | 2020-06-10 | 2020-06-10 | 一种纠检错后具有自动回写功能的sram电路及回写方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111694691A true CN111694691A (zh) | 2020-09-22 |
CN111694691B CN111694691B (zh) | 2023-03-14 |
Family
ID=72480153
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010524262.3A Active CN111694691B (zh) | 2020-06-10 | 2020-06-10 | 一种纠检错后具有自动回写功能的sram电路及回写方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111694691B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113012731A (zh) * | 2021-02-26 | 2021-06-22 | 西安微电子技术研究所 | 一种适用于大位宽cam的数据锁存电路结构 |
WO2023093173A1 (zh) * | 2021-11-25 | 2023-06-01 | 华为技术有限公司 | 一种内存硬件故障检测方法、装置以及内存控制器 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1999020006A2 (en) * | 1997-10-14 | 1999-04-22 | Crystal Semiconductor Corp. | Single-chip audio circuits, methods, and systems using the same |
CN103631669A (zh) * | 2013-12-03 | 2014-03-12 | 中国科学院微电子研究所 | 一种纠错sram的回写方法 |
CN110111826A (zh) * | 2019-04-16 | 2019-08-09 | 北京空间飞行器总体设计部 | 一种航天器使用sram型fpga双口ram抗单粒子翻转加固装置 |
CN110309014A (zh) * | 2019-07-05 | 2019-10-08 | 西安微电子技术研究所 | 一种全行编解码sram编码器数据读写结构及数据读写方法 |
-
2020
- 2020-06-10 CN CN202010524262.3A patent/CN111694691B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1999020006A2 (en) * | 1997-10-14 | 1999-04-22 | Crystal Semiconductor Corp. | Single-chip audio circuits, methods, and systems using the same |
CN103631669A (zh) * | 2013-12-03 | 2014-03-12 | 中国科学院微电子研究所 | 一种纠错sram的回写方法 |
CN110111826A (zh) * | 2019-04-16 | 2019-08-09 | 北京空间飞行器总体设计部 | 一种航天器使用sram型fpga双口ram抗单粒子翻转加固装置 |
CN110309014A (zh) * | 2019-07-05 | 2019-10-08 | 西安微电子技术研究所 | 一种全行编解码sram编码器数据读写结构及数据读写方法 |
Non-Patent Citations (2)
Title |
---|
徐睿等: "一种抗辐射加固检错纠错电路的设计", 《微电子学》 * |
陈俊磊等: "基于SOI工艺的自刷新检纠错电路的研究与设计", 《电子设计工程》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113012731A (zh) * | 2021-02-26 | 2021-06-22 | 西安微电子技术研究所 | 一种适用于大位宽cam的数据锁存电路结构 |
CN113012731B (zh) * | 2021-02-26 | 2023-05-09 | 西安微电子技术研究所 | 一种适用于大位宽cam的数据锁存电路结构 |
WO2023093173A1 (zh) * | 2021-11-25 | 2023-06-01 | 华为技术有限公司 | 一种内存硬件故障检测方法、装置以及内存控制器 |
Also Published As
Publication number | Publication date |
---|---|
CN111694691B (zh) | 2023-03-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102002925B1 (ko) | 메모리 모듈, 그것을 포함하는 메모리 시스템, 그것의 구동 방법 | |
US7203115B2 (en) | Semiconductor memory and method for operating the same | |
US7266747B2 (en) | Error correction scheme for memory | |
EP0418457B1 (en) | Pipelined error checking and correction for cache memories | |
US20050036371A1 (en) | Semiconductor memory including error correction function | |
EP1255197B1 (en) | System and method for correcting soft errors in random access memory devices | |
US8307260B2 (en) | Memory apparatus and method using erasure error correction to reduce power consumption | |
US6785837B1 (en) | Fault tolerant memory system utilizing memory arrays with hard error detection | |
US20070113155A1 (en) | Semiconductor storage device equipped with ECC function | |
JP5202130B2 (ja) | キャッシュメモリ、コンピュータシステム、及びメモリアクセス方法 | |
CN111694691B (zh) | 一种纠检错后具有自动回写功能的sram电路及回写方法 | |
CN113076219B (zh) | 一种高能效的片上存储器错误检测与纠错电路及实现方法 | |
JPS6255180B2 (zh) | ||
US6799291B1 (en) | Method and system for detecting a hard failure in a memory array | |
US7949933B2 (en) | Semiconductor integrated circuit device | |
JP2669303B2 (ja) | ビットエラー訂正機能付き半導体メモリ | |
US8464130B2 (en) | Memory device and method thereof | |
JP2003059290A5 (zh) | ||
CN110111826B (zh) | 一种航天器使用sram型fpga双口ram抗单粒子翻转加固装置 | |
JPH04248198A (ja) | 携帯形半導体記憶装置 | |
JP3130796B2 (ja) | 制御記憶装置 | |
US20080028278A1 (en) | Circuit architecture protected against perturbations | |
US11921578B2 (en) | Error correction methods and semiconductor devices and semiconductor systems using the error correction methods and the semiconductor devices | |
CN114974353A (zh) | 一种基于动态ecc的抗单粒子翻转加固方法及系统 | |
JPH04115338A (ja) | 交替メモリ方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |