CN112349343A - 电路结构、芯片以及电子设备 - Google Patents
电路结构、芯片以及电子设备 Download PDFInfo
- Publication number
- CN112349343A CN112349343A CN202011227143.8A CN202011227143A CN112349343A CN 112349343 A CN112349343 A CN 112349343A CN 202011227143 A CN202011227143 A CN 202011227143A CN 112349343 A CN112349343 A CN 112349343A
- Authority
- CN
- China
- Prior art keywords
- error
- circuit
- memory
- signal
- error injection
- 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.)
- Pending
Links
Images
Classifications
-
- 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/54—Arrangements for designing test circuits, e.g. design for test [DFT] tools
-
- 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/1201—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details comprising I/O circuitry
-
- 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/36—Data generation devices, e.g. data inverters
-
- 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/44—Indication or identification of errors, e.g. for repair
Landscapes
- Detection And Correction Of Errors (AREA)
Abstract
本公开的实施例提供一种电路结构、芯片以及电子设备。该电路结构包括总线、多个存储器以及多个错误注入电路。多个错误注入电路与总线相连,并分别连接到多个存储器。总线被配置为控制至少部分错误注入电路产生错误注入信号,且错误注入信号被输入到相应的存储器中。本公开实施例中,通过在电路结构中设置错误注入电路,人为引入错误,可以实现对存储器中错误检测电路和后续错误处理操作的验证。总线对错误注入电路中的控制寄存器进行配置的操作灵活,可以方便地与验证程序进行协同操作。
Description
技术领域
本公开至少一个实施例涉及一种电路结构、芯片以及电子设备。
背景技术
目前,芯片中存储器的数量越来越多。由于存储器固有的物理特性,存储器会在一定的概率下出现数据错误,因此,需要错误检测电路对存储器读写的数据进行校验。通常,存储器出现的是1比特或2比特错误。
当存储器发生数据错误时,电子设备需要定位错误并根据错误类型,执行相应的错误处理和错误恢复程序,使电子设备恢复正常工作。
发明内容
本公开的至少一实施例提供一种电路结构、芯片以及电子设备。该电路结构包括总线;多个存储器;多个错误注入电路,与所述总线相连,并分别连接到所述多个存储器。所述总线被配置为控制至少部分错误注入电路产生错误注入信号,且所述错误注入信号被输入到相应的所述存储器中。
例如,在本公开的实施例中,各错误注入电路包括控制寄存器以及与所述控制寄存器连接的错误注入信号产生子电路,控制所述至少部分错误注入电路产生所述错误注入信号包括:对所述控制寄存器输入第一控制信号以控制所述错误注入信号产生子电路产生所述错误注入信号。
例如,在本公开的实施例中,电路结构还包括:多个错误检测电路,分别耦合在所述多个存储器中,各错误检测电路被配置为采用校验法对各存储器中的数据进行校验以产生错误检测信号。
例如,在本公开的实施例中,输入到所述控制寄存器中的所述第一控制信号被配置为控制所述错误注入信号的类型以及输出模式。
例如,在本公开的实施例中,所述错误注入信号的类型包括单个错误、不可校错误和致命错误的至少之一,所述错误注入信号的输出模式包括继续模式、延时模式和粘性模式的至少之一。
例如,在本公开的实施例中,所述存储器中包括数据位和校验位,输入到所述存储器中的所述错误注入信号被配置为引起所述存储器的所述数据位的错误,或者引起所述存储器的所述校验位的错误。
例如,在本公开的实施例中,所述校验法包括奇偶校验以及错误检测和纠正校验。
例如,在本公开的实施例中,采用所述奇偶校验法的所述错误检测电路被配置为检测1比特数据位错误且产生第一错误检测信号;采用所述错误检测和纠正校验法的所述错误检测电路被配置为检测并纠正1比特数据位错误且产生第二错误检测信号,或者检测2比特数据位错误且产生第三错误检测信号,或者检测校验位错误且产生第四错误检测信号。
例如,在本公开的实施例中,所述总线还被配置为对所述控制寄存器输入第二控制信号以将所述错误注入电路设置为内部复位状态,所述内部复位状态包括所述错误注入电路不输出所述错误注入信号或者所述错误注入电路输出无效的所述错误注入信号。
例如,在本公开的实施例中,电路结构还包括全局寄存器,与所述多个错误注入电路连接,所述总线被配置为对所述全局寄存器进行设置以控制所述多个存储器中的所述错误检测电路不工作或所述错误检测电路产生的部分错误检测信号被限制在所述存储器内部。
例如,在本公开的实施例中,所述错误注入信号被配置为输入到相应的所述存储器的写入端或读取端。
例如,在本公开的实施例中,电路结构还包括:错误处理部,与所述多个存储器连接,被配置为定位发生错误的存储器,并处理错误状态。
本公开另一实施例提供一种芯片,包括上述电路结构。
本公开另一实施例提供一种电子设备,包括上述芯片。
附图说明
为了更清楚地说明本公开实施例的技术方案,下面将对实施例的附图作简单地介绍,显而易见地,下面描述中的附图仅仅涉及本公开的一些实施例,而非对本公开的限制。
图1为根据本公开实施例提供的电路结构的示意性框图;
图2为根据本公开实施例提供的电路结构的示意性框图;
图3为错误注入电路产生的不同类型的错误注入信号与采用不同校验法的错误检测电路匹配的框图;
图4为根据本公开另一实施例提供的电路结构的示意性框图;
图5为采用奇偶校验的流程图;
图6为采用错误检测和纠正校验的流程图;
图7为根据本公开实施例提供的电路结构的示意性框图;
图8为根据本公开实施例提供的芯片的示意图;以及
图9为根据本公开实施例提供的电子设备的示意图。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例的附图,对本公开实施例的技术方案进行清楚、完整地描述。显然,所描述的实施例是本公开的一部分实施例,而不是全部的实施例。基于所描述的本公开的实施例,本领域普通技术人员在无需创造性劳动的前提下所获得的所有其它实施例,都属于本公开保护的范围。
除非另外定义,本公开使用的技术术语或者科学术语应当为本公开所属领域内具有一般技能的人士所理解的通常意义。本公开中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。
在研究中,本申请的发明人发现:存储器发生数据错误的概率较低,因此,可以使用错误注入的方式引入错误,从而验证电路结构中的错误处理程序。上述错误注入的方式包括人为引入错误,通过检测存储器带着错误的运行状态来评价存储器的容错性能。目前,不存在将错误注入到存储器的简单的接口,错误注入的过程往往涉及比较复杂的操作,例如,需要将给定的系统地址转换成存储器地址。此外,目前的错误注入工具往往存在操作不够灵活,可拓展性差等问题。
本公开的实施例提供一种电路结构、芯片以及电子设备。该电路结构包括总线、多个存储器以及多个错误注入电路。多个错误注入电路与总线相连,并分别连接到多个存储器。总线被配置为控制至少部分错误注入电路产生错误注入信号,且错误注入信号被输入到相应的存储器中。本公开实施例中,通过在电路结构中设置错误注入电路,人为引入错误,可以实现对存储器中错误检测电路和后续错误处理操作的验证。总线对错误注入电路中的控制寄存器进行配置的操作灵活,可以方便地与验证程序进行协同操作。
下面结合附图对本公开实施例提供的电路结构、芯片以及电子设备进行描述。
图1为根据本公开实施例提供的电路结构的示意性框图。如图1所示,电路结构包括总线100、多个存储器200以及多个错误注入电路300,多个错误注入电路300与总线100相连,并分别连接到多个存储器200。总线100被配置为控制至少部分错误注入电路300产生错误注入信号,且错误注入信号被输入到相应的存储器200中。本公开实施例中,通过在电路结构中设置错误注入电路,人为引入错误,可以实现对存储器中错误检测电路和后续错误处理操作的验证。总线对错误注入电路中的控制寄存器进行配置的操作灵活,可以方便地与验证程序进行协同操作。
例如,如图1所示,多个错误注入电路300与多个存储器200一一对应连接。例如,多个错误注入电路300可以包括错误注入电路0~错误注入电路N;多个存储器200可以包括存储器0~存储器N,错误注入电路n与存储器n连接,n为0~N之间的整数。
例如,总线100可以控制部分错误注入电路300产生错误注入信号,且这部分错误注入电路300产生的错误注入信号注入到与这部分错误注入电路300分别连接的存储器200中以引起这些存储器200产生错误。例如,总线100可以控制所有错误注入电路300产生错误注入信号,且所有错误注入电路300产生的错误注入信号均注入到相应的存储器200中以引起所有存储器200产生错误。
例如,总线100包括数据总线、地址总线和控制总线,分别用来传输数据、数据地址和控制信号。例如,芯片还包括输入/输出(I/O)接口电路,芯片通过接口电路与外部总线连接。
例如,芯片可以通过接口电路与处理器连接,处理器例如为中央处理器(CPU)、单片机或者图形处理器等,其可以根据存储在只读存储器(ROM)中的程序或者从加载到随机访问存储器(RAM)中的程序而执行各种适当的动作和处理。在RAM中,还存储有芯片操作所需的各种程序和数据。
例如,总线100与处理器连接以将处理器输出的控制信号向错误注入电路300传输,该控制信号用于控制错误注入电路300输出错误注入信号。本公开实施例不限于此,只要芯片中的总线配置错误注入电路以向存储器注入错误注入信号即可。
例如,处理器可以针对具有不同类型以及不同出错概率的存储器200,通过总线100向与上述不同类型以及不同出错概率的存储器200连接的错误注入电路300传输不同的控制信号,从而控制与上述不同类型以及不同出错概率的存储器200连接的错误注入电路300向相应的存储器200输入不同的错误注入信号以使存储器200出现错误。
例如,总线100可以向同一错误注入电路300传输不同的控制信号以控制错误注入电路300输出不同的错误注入信号,而不同的错误注入信号将会引起存储器200产生不同的错误。
例如,存储器200包括随机存储器(RAM)。例如,存储器200可以包括高速缓冲存储器(Cache)、先进先出(First Input First Output,FIFO)存储器以及双端口存储器等。
例如,高速缓冲存储器由静态存储器(SRAM)组成,容量比较小但速度比较快。例如,先进先出存储器是一个先入先出的双口缓冲器,即第一个进入其内的数据第一个被移出,其中一个是存储器的输入口,另一个口是存储器的输出口。例如,双端口存储器是指同一个存储器具有两组相互独立的读写控制线路,由于进行并行的独立操作,是一种高速工作的存储器。
例如,图2为根据本公开实施例提供的电路结构的示意性框图。如图2所示,各错误注入电路300包括控制寄存器310以及与控制寄存器310连接的错误注入信号产生子电路320,总线100向控制寄存器310输入第一控制信号以控制错误注入信号产生子电路320产生错误注入信号,该错误注入信号注入到存储器200中。
例如,控制寄存器310为可以存储控制信号的寄存器。例如,控制信号包括错误注入信号输出选择信号和错误注入信号输出模式信号。
例如,不同的错误注入电路300中的控制寄存器310的地址不同。例如,与不同类型存储器200连接的错误注入电路300中的控制寄存器310的地址不同,而与相同类型存储器200连接的错误注入电路300中的控制寄存器310的地址相同。例如,总线100可以通过对具有不同地址的控制寄存器310进行寻址以实现对相应的存储器200进行相应错误信号的注入,使得存储器200产生错误。
例如,错误注入电路产生子电路可以包括错误注入信号产生模块,工作模式设置模块和输出信号选择模块。
例如,总线100向控制寄存器310传输的第一控制信号是用来使错误注入信号产生子电路320产生错误注入信号的控制信号。例如,控制寄存器310存储了被输入的第一控制信号后,错误信号产生子电路320读取该控制寄存器310中的第一控制信号,并产生相应的错误注入信号。
例如,第一控制信号可以包括多个不同的子控制信号。例如,控制寄存器310可以存储32位二进制数据,总线100对控制寄存器310的不同位写入数据即为在控制寄存器310中存储不同的子控制信号,而错误注入信号产生子电路320通过读取上述不同的子控制信号以产生了不同的错误注入信号。
例如,输入到控制寄存器310中的第一控制信号被配置为控制错误注入信号的类型以及输出模式。例如,输入到控制寄存器310中的不同的子控制信号可以使得错误注入信号产生子电路320输出的错误注入信号的类型和输出模式的至少之一不同。
例如,错误注入信号的类型包括单个错误(single error)、不可校错误(uncorrectable error)和致命错误(fatal error)的至少之一。
例如,存储器200中包括数据位和校验位。输入到存储器200中的错误注入信号被配置为引起存储器200的数据位的错误,或者引起存储器200的校验位的错误。例如,错误注入信号传输到存储器200中后会使存储器200中数据位或校验位发生翻转,从而引发错误。例如,一个数据位可以为“1”或者“0”,数据位发生翻转指数据位由“1”变为“0”或者由“0”变为“1”;校验位可以为“1”或者“0”,校验位发生翻转指校验位由“1”变为“0”或者由“0”变为“1”。
例如,注入到存储器200中的错误注入信号可以为1比特(1-bit)信号,该信号通过与存储器200中的数据位或者校验位上的数据异或而使得存储器200中的数据反转。
例如,错误注入信号被配置为注入到相应的存储器200的写入端或读取端。例如,在存储器200的读取端注入的错误注入信号的类型为single error时,会引起存储器200中的1比特(1-bit)数据位发生翻转。例如,在存储器200的读取端注入的错误注入信号的类型为uncorrectable error时,会引起存储器200的1比特(1-bit)数据位或2比特(2-bit)数据位发生翻转。例如,在存储器200的写入端注入的错误注入信号的类型为fatal error时,引起存储器200的校验位发生翻转,从而导致错误。当然,本公开实施例不限于在存储器的读取端注入类型为single error的信号或类型为uncorrectable error的信号,在存储器的写入端注入类型为fatal error的信号,也可以在存储器的写入端注入类型为singleerror的信号或类型为uncorrectable error的信号,在存储器的读取端注入类型为fatalerror的信号,可以根据实际需求进行设置。
例如,错误注入信号的输出模式包括继续(continue)模式、延时(delayed)模式和粘性(sticky)模式的至少之一。
例如,控制寄存器310输入到错误注入信号产生子电路320中的信号与错误注入信号产生子电路320输出的错误注入信号相同且没有延迟,则错误注入信号的输出模式为continue模式。例如,控制寄存器310输入到错误注入信号产生子电路320中的信号与错误注入信号产生子电路320输出的错误注入信号相同,但延迟一些位数,则错误注入信号的输出模式为delayed模式。例如,控制寄存器310输入到错误注入信号产生子电路320中的信号由0变为1时(产生上升沿),错误注入信号产生子电路320输出的错误注入信号则一直为1,该错误注入信号的输出模式为sticky模式。本公开实施例中,通过总线向控制寄存器输入第一控制信号,可以控制错误注入信号产生子电路输出的错误信号的输出模式,既可以方便匹配测试人员的测试需求,还可以很方便地拓展不同的模式。
例如,错误注入电路300可在其端口实现硬复位。例如,可以通过设置复位电路结构实现对错误注入电路300的复位。
例如,总线100还被配置为对控制寄存器310输入第二控制信号以将错误注入电路300设置为内部复位状态,该内部复位状态包括错误注入电路300不输出错误注入信号或者错误注入电路输出无效的错误注入信号,由此,错误注入电路300不会导致存储器200产生错误。上述第二控制信号为存储在控制寄存器中以控制错误注入信号产生子电路实现复位的控制信号。
例如,如图2所示,电路结构还包括多个错误检测电路210,分别耦合在多个存储器200中,各错误检测电路210被配置为采用校验法对各存储器200中的数据进行校验。例如,各存储器200中可以设置一个错误检测电路210。
例如,错误检测电路210被配置为根据各存储器200的类型、使用频率以及出错概率,采用奇偶(Parity)校验或者错误检测和纠正(Error Checking and Correction,ECC)校验对各存储器200中的数据进行校验。
例如,Parity校验能够检测到1-bit的错误,ECC校验能够检测并纠正1-bit错误,ECC校验还能够检测2-bit错误。
例如,根据被传输的一组二进制代码的数位中“1”的个数是奇数或偶数来进行校验的方法为Parity校验。通常专门设置一个奇偶校验位,用它使这组代码中“1”的个数为奇数或偶数。若用奇校验,则当接收端收到这组代码时,校验“1”的个数是否为奇数,从而确定传输代码的正确性。如果一组给定数据位中1的个数是奇数,那么偶校验位就置为1,从而使得1的个数是偶数。
例如,ECC校验也是在原来的数据位上外加校验位来实现的。ECC校验与Parity校验不同的是如果数据位是8位,则需要增加5位来进行ECC错误检查和纠正,数据位每增加一倍,ECC只增加一位检验位,也就是说当数据位为16位时ECC位为6位,32位时ECC位为7位,数据位为64位时ECC位为8位,依此类推,数据位每增加一倍,ECC位只增加一位。
例如,采用Parity校验的错误检测电路210被配置为检测存储器200中产生的1比特数据位错误且产生第一错误检测信号,例如第一错误检测信号可以为sed(single errordetection)错误信号。
例如,采用ECC校验的错误检测电路210被配置为检测并纠正存储器200产生的1比特数据位错误且产生第二错误检测信号,例如,第二错误检测信号可以为sec(singleerror count)错误信号。例如,采用ECC校验的错误检测电路210被配置为检测存储器200产生的2比特数据位错误且第三错误检测信号,例如,第三错误检测信号可以为ded(doubleerror detection)错误信号。例如,采用ECC校验的错误检测电路210被配置为检测存储器200产生的校验位错误且产生第四错误检测信号,例如,第四错误检测信号可以为fed(fetal error detection)错误信号。
例如,芯片中可以根据产品测试结果针对存储器200的出错概率选择性匹配错误检测电路210。例如,先进先出存储器的出错概率较低,可以对该存储器匹配采用Parity校验的错误检测电路。例如,芯片中的部分双端口存储器的使用频率较高,导致其出错概率可能较高,可以对该存储器匹配采用ECC校验的错误检测电路。
图3为错误注入电路产生的不同类型的错误注入信号与采用不同校验法的错误检测电路匹配的框图。如图3所示,总线向错误注入电路传输控制信号以使错误注入电路产生错误注入信号,错误注入信号注入到存储器200后,引起存储器中的数据发生错误,错误检测电路可以对存储器中发生的错误进行检测并产生上述错误检测信号。
例如,根据总线传输给错误注入电路的三个不同的子控制信号,错误注入电路可以产生三种类型的错误信号,例如,错误信号的类型可以包括单个错误(single error),不可校正错误(uncorrectable error)和致命错误(fatal error)。
例如,对于耦合有采用Parity校验的错误检测电路的存储器,类型为不可校正错误(uncorrectable error)和致命错误(fatal error)的错误注入信号被配置为注入到存储器中。
例如,如图3所示,对于耦合有采用Parity校验的错误检测电路的存储器,在存储器的读取端注入的错误注入信号的类型为不可校正错误时,会引起存储器的1比特(1-bit)数据位发生翻转;例如,在存储器的写入端注入的错误注入信号的类型为致命错误时,引起存储器的校验位发生翻转,从而导致错误。
例如,对于耦合由采用ECC校验的错误检测电路的存储器,类型为单个错误(single error),不可校正错误(uncorrectable error)和致命错误(fatal error)的错误注入信号被配置为注入到存储器200中。
例如,如图3所示,对于耦合由采用ECC校验的错误检测电路的存储器,在存储器的读取端注入的错误注入信号的类型为单个错误时,会引起存储器的1比特(1-bit)数据位发生翻转;例如,在存储器的读取端注入的错误注入信号的类型为不可校正错误时,会引起存储器的比特(2-bit)数据位发生翻转。例如,在存储器的写入端注入的错误注入信号的类型为致命错误时,引起存储器的校验位发生翻转,从而导致错误。
例如,图4为根据本公开另一实施例提供的电路结构的示意性框图。如图4所示,电路结构还包括全局寄存器400,全局寄存器400与多个错误注入电路300连接,总线100被配置为对全局寄存器400进行设置以控制多个存储器200中的错误检测电路210不工作或错误检测电路210产生的部分错误检测信号被限制在存储器200内部。
例如,总线100可以将控制错误检测电路不工作或错误检测电路产生的部分错误检测信号限制在存储器内部的信号存入全局寄存器400中,所有错误注入电路300对全局寄存器400中的信号进行读取,并传输给所有的错误检测电路210,以实现全局寄存器400对所有错误检测电路210进行控制。
例如,总线100可以向全局寄存器400传输信号以使所有存储器200中的错误检测电路210从全局寄存器400中读取到信号后被设置为旁路状态,这样,错误检测电路210将不再工作。
例如,总线100可以向全局寄存器400传输信号以使fatal error信号被限制在存储器200内部,这样错误检测电路210检测到fatal error后不会将其传递出去。
例如,图5为采用Parity校验的流程图。如图5所示,在Parity校验中,计算存储器200中的码字中1的数量是奇数个还是偶数个。当数据写入存储器200时,校验位也被写入。当读取数据时,重新计算校验值并与存储的校验值进行比较。如果计算出的校验值与保存的相同,存储器中的数据没有发生错误。如果计算出的校验值与保存的不同,则发生错误,此时判断全局寄存器中旁路状态信号(Bypass)是否为1,为1则不上报错误信息,否则上报错误信息。
例如,图6为采用ECC校验的流程图。如图6所示,ECC校验能够检测并纠正1-bit错误,ECC校验还可以检测2-bit错误,ECC校验是基于汉明码实现的。例如,对于n位数据,需要k位汉明码syncdrome,k满足2k≥k+n+1。为了检测2-bit错误,还需要增加1-bit奇偶校验值,即total parity,对整个字进行计算校验。当数据写入存储器时,校验位汉明码syncdrome和校验值total parity会一起写入。当读出数据时,重新计算汉明码和校验值。通过查看汉明码和校验值来确定数据位是否出错。
例如,如图6所示,如果所有汉明码均为0时,则存储器中的数据没有出现错误;如果不是所有汉明码均为0时则存储器中的数据出现错误。在不是所有汉明码均为0时,如果校验值为0时,则数据位出现了2-bit错误,会产生第三错误检测信号,例如ded错误信号。在校验值不为0时,且汉明码≤n+k时,检测到1-bit错误时,会自动纠正并产生第二错误检测信号。例如sec错误信号,sec信号用于实现对出现1-bit错误的次数进行记录。在校验值不为0,且汉明码>n+k时,如果所有汉明码均为1,则校验位发生错误,会产生第四错误检测信号,例如fed错误信号;在校验值不为0,且汉明码>n+k时,如果不是所有汉明码均为1,则数据位出现了2-bit错误,会产生ded错误信号。
例如,图7为根据本公开实施例提供的电路结构的示意性框图。如图7所示,电路结构还包括错误处理部500,错误处理部500与多个存储器200连接,被配置为定位发生错误的存储器200,并处理错误状态。
例如,采用Parity校验的错误检测电路210在检测存储器200中产生1比特数据位错误且产生第一错误检测信号后,可以将第一错误检测信号传输给错误处理部500。
例如,采用ECC校验的错误检测电路210在检测并纠正存储器200产生的1比特数据位错误且产生第二错误检测信号后,可以将第二错误检测信号传输给错误处理部500,该错误处理部500可以对存储器200就发生1比特错误的次数进行记录以对存储器200的出错性能进行评价。
例如,采用ECC校验的错误检测电路210在检测存储器200产生的2比特数据位错误且第三错误检测信号后,可以将第三错误检测信号传输给错误处理部500。
例如,采用ECC校验的错误检测电路210在检测存储器200产生的校验位错误且产生第四错误检测信号后,可以将第四错误检测信号传输给错误处理部500。
例如,本公开实施例提供的总线可以为仅传输数据值的总线,但不限于此。例如,本公开实施例提供的总线还可以为传输校验值的总线,该总线会在传输数据时,将数据的校验值一起传输。例如,错误注入电路中还可以设置用于错误检测的电路,例如当错误注入电路接收数据时,会对校验值进行校验,如果发现错误,可以产生错误信号,此时,在本公开中的错误注入电路(本公开提供的错误注入电路300可以称为第一错误注入电路为例)与总线之间还可以设置第二错误注入电路,第二错误注入电路可以使得总线传输给第一错误注入电路的数据位或者校验位发生错误,从而在第一错误注入电路中的错误检测电路可以对该错误进行检测以对总线以及第一错误注入电路中的数据值或校验值进行验证。
例如,第二错误注入电路可以包括第一错误注入电路包括的控制寄存器以及相应的错误注入模块以实现对第一错误注入电路注入错误信号。
例如,本公开实施例提供的存储器可以包括FPGA(Field Programmable GateArray)中例化的存储结构,该存储结构可以与上述实施例中的错误检测电路连接,例如,该存储结构可以拓展位宽,增加校验位。在例化的存储结构的读写端连接错误检测电路以使存储结构在读写数据时,实现错误检测电路对数据位或校验位进行校验。如果错误检测电路发现错误,可以产生错误检测信号。
本公开实施例提供一种包括错误注入电路以及存储器的电路结构,可以对存储器的数据进行校验,检测数据存储过程中发生的错误。同时,可以通过错误注入电路,人为引入错误,实现存储器中的错误检测电路和后续错误处理部的处理操作的验证。通过总线对错误注入电路中控制寄存器进行配置的操作灵活,可以方便地与验证程序进行协同操作。
此外,本公开实施例提供的电路结构的可拓展性好,在不改变存储器与错误注入电路接口的情况下,可以通过修改控制寄存器的定义和错误注入电路的内部逻辑,很方便地对功能进行拓展或调整。例如,可以改变控制寄存器中的二进制数据的位数,或者在不同于上述第一控制信号和第二控制信号的位置存储其他控制信号实现修改控制寄存器的定义。
本公开另一实施例提供一种芯片,图8为根据本公开实施例提供的芯片的示意图。如图8所示,本公开实施例提供的芯片1000包括图1所示示例中的总线100、错误注入电路300以及存储器200。本公开实施例不限于此,例如,芯片1000还可以包括图4所示示例中的全局寄存器400。例如,芯片还包括输入/输出(I/O)接口电路,芯片通过接口电路与外部总线连接。
本公开实施例提供一种包括错误注入电路以及存储器的芯片,可以对存储器的数据进行校验,检测数据存储过程中发生的错误。同时,可以通过错误注入电路,人为引入错误,实现存储器中的错误检测电路和后续错误处理部的处理操作的验证。通过总线对错误注入电路中控制寄存器进行配置的操作灵活,可以方便地与验证程序进行协同操作。本公开实施例提供的芯片的可拓展性好,在不改变存储器与错误注入电路接口的情况下,可以通过修改控制寄存器的定义和错误注入电路的内部逻辑,很方便地对功能进行拓展或调整。
本公开另一实施例提供一种电子设备,图9为根据本公开实施例提供的电子设备的示意图。如图9所示,电子设备10包括上述实施例所述的芯片1000。例如,电子设备10可以为终端设备或服务器。例如,终端设备可以包括但不限于诸如移动电话、数码相机、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。
例如,电子设备10还可以包括处理器(例如中央处理器、图形处理器等),例如,芯片可以通过接口电路与处理器连接。
本公开实施例提供一种包括错误注入电路以及存储器的电子设备,可以对存储器的数据进行校验,检测数据存储过程中发生的错误。同时,可以通过错误注入电路,人为引入错误,实现存储器中的错误检测电路和后续错误处理部的处理操作的验证。
有以下几点需要说明:
(1)本公开的实施例附图中,只涉及到与本公开实施例涉及到的结构,其他结构可参考通常设计。
(2)在不冲突的情况下,本公开的同一实施例及不同实施例中的特征可以相互组合。
以上所述仅是本公开的示范性实施方式,而非用于限制本公开的保护范围,本公开的保护范围由所附的权利要求确定。
Claims (14)
1.一种电路结构,包括:
总线;
多个存储器;
多个错误注入电路,与所述总线相连,并分别连接到所述多个存储器,
其中,所述总线被配置为控制至少部分错误注入电路产生错误注入信号,且所述错误注入信号被输入到相应的所述存储器中。
2.根据权利要求1所述的电路结构,其中,各错误注入电路包括控制寄存器以及与所述控制寄存器连接的错误注入信号产生子电路,控制所述至少部分错误注入电路产生所述错误注入信号包括:对所述控制寄存器输入第一控制信号以控制所述错误注入信号产生子电路产生所述错误注入信号。
3.根据权利要求2所述的电路结构,还包括:
多个错误检测电路,分别耦合在所述多个存储器中,各错误检测电路被配置为采用校验法对各存储器中的数据进行校验以产生错误检测信号。
4.根据权利要求3所述的电路结构,其中,输入到所述控制寄存器中的所述第一控制信号被配置为控制所述错误注入信号的类型以及输出模式。
5.根据权利要求4所述的电路结构,其中,所述错误注入信号的类型包括单个错误、不可校错误和致命错误的至少之一,所述错误注入信号的输出模式包括继续模式、延时模式和粘性模式的至少之一。
6.根据权利要求3-5任一项所述的电路结构,其中,所述存储器中包括数据位和校验位,输入到所述存储器中的所述错误注入信号被配置为引起所述存储器的所述数据位的错误,或者引起所述存储器的所述校验位的错误。
7.根据权利要求6所述的电路结构,其中,所述校验法包括奇偶校验以及错误检测和纠正校验。
8.根据权利要求7所述的电路结构,其中,采用所述奇偶校验法的所述错误检测电路被配置为检测1比特数据位错误且产生第一错误检测信号;
采用所述错误检测和纠正校验法的所述错误检测电路被配置为检测并纠正1比特数据位错误且产生第二错误检测信号,或者
检测2比特数据位错误且产生第三错误检测信号,或者
检测校验位错误且产生第四错误检测信号。
9.根据权利要求2-5任一项所述的电路结构,其中,所述总线还被配置为对所述控制寄存器输入第二控制信号以将所述错误注入电路设置为内部复位状态,所述内部复位状态包括所述错误注入电路不输出所述错误注入信号或者所述错误注入电路输出无效的所述错误注入信号。
10.根据权利要求3-5任一项所述的电路结构,还包括全局寄存器,与所述多个错误注入电路连接,所述总线被配置为对所述全局寄存器进行设置以控制所述多个存储器中的所述错误检测电路不工作或所述错误检测电路产生的部分错误检测信号被限制在所述存储器内部。
11.根据权利要求1-5任一项所述的电路结构,其中,所述错误注入信号被配置为输入到相应的所述存储器的写入端或读取端。
12.根据权利要求1-5任一项所述的电路结构,还包括:
错误处理部,与所述多个存储器连接,被配置为定位发生错误的存储器,并处理错误状态。
13.一种芯片,包括权利要求1-12任一项所述的电路结构。
14.一种电子设备,包括权利要求13所述的芯片。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011227143.8A CN112349343A (zh) | 2020-11-06 | 2020-11-06 | 电路结构、芯片以及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011227143.8A CN112349343A (zh) | 2020-11-06 | 2020-11-06 | 电路结构、芯片以及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112349343A true CN112349343A (zh) | 2021-02-09 |
Family
ID=74429390
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011227143.8A Pending CN112349343A (zh) | 2020-11-06 | 2020-11-06 | 电路结构、芯片以及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112349343A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114676011A (zh) * | 2022-05-30 | 2022-06-28 | 芯耀辉科技有限公司 | 一种数据校验的验证方法、相关设备和存储介质 |
CN115831213A (zh) * | 2023-01-28 | 2023-03-21 | 南京芯驰半导体科技有限公司 | 校验处理器的检测方法、装置、电子设备、存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1768330A (zh) * | 2003-04-14 | 2006-05-03 | 国际商业机器公司 | 具有容错地址和命令总线的高可靠性存储器模块 |
CN103890733A (zh) * | 2011-09-29 | 2014-06-25 | 英特尔公司 | 用于将错误注入存储器的方法和装置 |
CN104484256A (zh) * | 2014-12-05 | 2015-04-01 | 北京时代民芯科技有限公司 | 一种验证sparc v8处理器寄存器堆纠检错功能的方法 |
CN109754828A (zh) * | 2017-11-02 | 2019-05-14 | 三星电子株式会社 | 半导体存储器装置及其操作方法、存储器系统 |
CN110085277A (zh) * | 2018-01-25 | 2019-08-02 | 三星电子株式会社 | 存储器装置、存储器系统和操作存储器装置的方法 |
-
2020
- 2020-11-06 CN CN202011227143.8A patent/CN112349343A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1768330A (zh) * | 2003-04-14 | 2006-05-03 | 国际商业机器公司 | 具有容错地址和命令总线的高可靠性存储器模块 |
CN103890733A (zh) * | 2011-09-29 | 2014-06-25 | 英特尔公司 | 用于将错误注入存储器的方法和装置 |
CN104484256A (zh) * | 2014-12-05 | 2015-04-01 | 北京时代民芯科技有限公司 | 一种验证sparc v8处理器寄存器堆纠检错功能的方法 |
CN109754828A (zh) * | 2017-11-02 | 2019-05-14 | 三星电子株式会社 | 半导体存储器装置及其操作方法、存储器系统 |
CN110085277A (zh) * | 2018-01-25 | 2019-08-02 | 三星电子株式会社 | 存储器装置、存储器系统和操作存储器装置的方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114676011A (zh) * | 2022-05-30 | 2022-06-28 | 芯耀辉科技有限公司 | 一种数据校验的验证方法、相关设备和存储介质 |
CN115831213A (zh) * | 2023-01-28 | 2023-03-21 | 南京芯驰半导体科技有限公司 | 校验处理器的检测方法、装置、电子设备、存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10838808B2 (en) | Error-correcting code memory | |
EP1160987B1 (en) | Method and apparatus for verifying error correcting codes | |
US7328377B1 (en) | Error correction for programmable logic integrated circuits | |
US8589759B2 (en) | RAM single event upset (SEU) method to correct errors | |
US8589763B2 (en) | Cache memory system | |
US9760434B2 (en) | ECC method for double pattern flash memory | |
JPS6061837A (ja) | エラ−訂正装置 | |
JP2001249854A (ja) | メモリ設計のための共有式誤り訂正 | |
US7587658B1 (en) | ECC encoding for uncorrectable errors | |
US6408417B1 (en) | Method and apparatus for correcting soft errors in digital data | |
US8949694B2 (en) | Address error detection | |
CN111459712B (zh) | Sram型fpga单粒子翻转纠错方法及单粒子翻转纠错电路 | |
US6802036B2 (en) | High-speed first-in-first-out buffer | |
CN112349343A (zh) | 电路结构、芯片以及电子设备 | |
US11989092B2 (en) | ECC protected storage | |
US20170186500A1 (en) | Memory circuit defect correction | |
CN100368997C (zh) | 一种静态数据存储的纠错编码装置 | |
US5339322A (en) | Cache tag parity detect circuit | |
US20110219266A1 (en) | System and Method of Testing an Error Correction Module | |
CN116974813B (zh) | 寄存器数据管理方法、装置、寄存器模块、计算机设备 | |
CN102339648A (zh) | 一种检错/纠错校验模块的检测方法及装置 | |
US11069421B1 (en) | Circuitry for checking operation of error correction code (ECC) circuitry | |
US4905242A (en) | Pipelined error detection and correction apparatus with programmable address trap | |
US7321996B1 (en) | Digital data error insertion methods and apparatus | |
US11126500B2 (en) | Error detection and correction with integrity checking |
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 |