CN105824719A - 一种随机存储器的检测方法及*** - Google Patents

一种随机存储器的检测方法及*** Download PDF

Info

Publication number
CN105824719A
CN105824719A CN201610150312.XA CN201610150312A CN105824719A CN 105824719 A CN105824719 A CN 105824719A CN 201610150312 A CN201610150312 A CN 201610150312A CN 105824719 A CN105824719 A CN 105824719A
Authority
CN
China
Prior art keywords
processor
address
data
random access
access memory
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
Application number
CN201610150312.XA
Other languages
English (en)
Other versions
CN105824719B (zh
Inventor
俞坚才
章维
林鑫
谢伟军
李向前
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang Supcon Technology Co Ltd
Original Assignee
Zhejiang Supcon Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Zhejiang Supcon Technology Co Ltd filed Critical Zhejiang Supcon Technology Co Ltd
Priority to CN201610150312.XA priority Critical patent/CN105824719B/zh
Publication of CN105824719A publication Critical patent/CN105824719A/zh
Application granted granted Critical
Publication of CN105824719B publication Critical patent/CN105824719B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1012Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本发明提供了一种随机存储器的检测方法及***,所述方法包括:第二处理器监听第一处理器和主用随机存储器的连接端口;若监听到所述第一处理器向所述主用随机存储器的第一地址写入数据,获取所述数据,并将所述数据取反后写入备用随机存储器的第二地址;若监听到所述第一处理器从所述主用随机存储器的第一地址读取数据,获取所述第一处理器从所述第一地址读取的数据,并从所述第二地址读取数据,将从所述第一地址读取的数据与从所述第二地址读取的数据进行比较,根据比较结果输出检测信号。可见,本发明能够实时地对主用随机存储器的数据传输进行检测,而且不需要在所有地址都写入数据,从而减少耗时。并且能够很好地避免共因失效因素。

Description

一种随机存储器的检测方法及***
技术领域
本发明涉及工业控制领域,尤其是涉及一种随机存储器的检测方法及***。
背景技术
同步动态随机存储器(英文:SynchronousDynamicRandomAccessMemory,简称SDRAM)等随机存储器具有价格低、数据传输率高、制造工艺简单等特点,广泛应用于数字电路***中。
然而,由于电磁干扰或工艺缺陷等影响,随机存储器在数据传输时存在一定的单比特状态翻转错误的机率,错误的数据传输可能会导致***运行出现错误,甚至威胁***的安全。由于随机存储器通常没有自检功能,如何对随机存储器的数据传输进行检测,是保障***安全运行的关键因素。
一种常用的检测方式是,在随机存储器正式使用之前,向随机存储器的所有地址写入数据并读取写入的数据,通过将读取的数据与写入的数据进行比较,检测随机存储器的数据传输是否正常。
然而,这种检测方式只能在随机存储器正式使用之前进行检测,实时性很差,不能检测出使用过程中出现的翻转错误。而且检测时需要在随机存储器的所有地址都写入数据,检测耗时较长。
发明内容
本发明解决的技术问题在于提供一种随机存储器的检测方法及***,以实现能够实时地对随机存储器的数据传输进行检测,而且不需要在随机存储器的所有地址都写入数据,从而减少耗时。
为此,本发明解决技术问题的技术方案是:
本发明提供了一种随机存储器的检测方法,所述方法包括:
第二处理器监听第一处理器和主用随机存储器的连接端口;
若监听到所述第一处理器向所述主用随机存储器的第一地址写入数据,所述第二处理器获取所述数据,并将所述数据取反后写入备用随机存储器的第二地址;
若监听到所述第一处理器从所述主用随机存储器的第一地址读取数据,所述第二处理器获取所述第一处理器从所述第一地址读取的数据,并从所述备用随机存储器的第二地址读取数据;
所述第二处理器将获取的、所述第一处理器从所述第一地址读取的数据,与从所述第二地址读取的数据进行比较,根据比较结果输出检测信号。
可选的,若所述比较结果表示从所述第二地址读取的数据,与从所述第一地址读取的数据取反后相匹配,所述检测信号为初始信号;
若所述比较结果表示从所述第二地址读取的数据,与从所述第一地址读取的数据取反后不匹配,所述检测信号为异常信号。
可选的,所述根据比较结果输出检测信号包括:
根据比较结果向所述第一处理器输出检测信号。
可选的,若所述检测信号为异常信号;所述方法还包括:
所述第二处理器接收到所述第一处理器发送的清除信号;
所述第二处理器向所述第一处理器输出初始信号。
可选的,所述第二地址根据所述第一地址确定出。
可选的,还包括:
若监听到所述第一处理器向所述主用随机存储器的第三地址写入数据并接收到错误注入信号时,所述第二处理器获取向所述第三地址写入的数据,并直接写入所述备用随机存储器的第四地址;
若监听到所述第一处理器从所述主用随机存储器的第三地址读取数据,所述第二处理器获取所述第一处理器从所述第三地址读取的数据,并从所述备用随机存储器的第四地址读取数据;
所述第二处理器将获取的、所述第一处理器从所述第三地址读取的数据,与从所述第四地址读取的数据进行比较,根据比较结果生成检测结果。
本发明提供了一种随机存储器的检测***,第一处理器和主用随机存储器相连,第二处理器与第一处理器和主用随机存储器的连接端口相连,并且与备用随机存储器相连;所述***包括:所述第二处理器和所述备用随机存储器;
所述第二处理器用于监听所述连接端口;若监听到所述第一处理器向所述主用随机存储器的第一地址写入数据,获取所述数据,并将所述数据取反后写入所述备用随机存储器的第二地址;若监听到所述第一处理器从所述主用随机存储器的第一地址读取数据,获取所述第一处理器从所述第一地址读取的数据,并从所述备用随机存储器的第二地址读取数据;
所述第二处理器还用于,将获取的、所述第一处理器从所述第一地址读取的数据,与从所述第二地址读取的数据进行比较,根据比较结果输出检测信号。
可选的,若所述比较结果表示从所述第二地址读取的数据,与从所述第一地址读取的数据取反后相匹配,所述检测信号为初始信号;
若所述比较结果表示从所述第二地址读取的数据,与从所述第一地址读取的数据取反后不匹配,所述检测信号为异常信号。
可选的,所述第二处理器还与所述第一处理器的第一端口相连,所述第一端口不同于所述连接端口;
当根据比较结果输出检测信号时,所述第二处理器具体用于根据比较结果向所述第一处理器的所述第一端口输出检测信号。
可选的,所述第二处理器还与所述第一处理器的第二端口相连,所述第二端口不同于所述连接端口;
若所述检测信号为异常信号,所述第二处理器还用于接收到所述第一处理器的所述第二端口发送的清除信号,向所述第一处理器的所述第一端口输出初始信号。
可选的,所述第二地址根据所述第一地址确定出。
可选的,所述第二处理器还与所述第一处理器的第三端口相连,所述第三端口不同于所述连接端口;
所述第二处理器还用于,若监听到所述第一处理器向所述主用随机存储器的第三地址写入数据并接收到所述第三端口发送的错误注入信号时,获取向所述第三地址写入的数据,并直接写入所述备用随机存储器的第四地址;若监听到所述第一处理器从所述主用随机存储器的第三地址读取数据,获取所述第一处理器从所述第三地址读取的数据,并从所述备用随机存储器的第四地址读取数据;
所述第二处理器还用于,将获取的、所述第一处理器从所述第三地址读取的数据,与从所述第四地址读取的数据进行比较,根据比较结果生成检测结果。
通过上述技术方案可知,本发明实施例中,第二处理器会监听第一处理器和主用随机存储器的连接端口,当监听到所述第一处理器向所述主用随机存储器的第一地址写入数据,会将所述数据取反后写入备用随机存储器的第二地址,当监听到所述第一处理器从所述主用随机存储器的第一地址读取数据,所述第二处理器会获取所述第一处理器从所述第一地址读取的数据,并从所述备用随机存储器的第二地址读取数据,并将从所述第一地址和所述第二地址读取的数据进行比较,根据比较结果输出检测信号。可见,本发明实施例中能够实时地对随机存储器的数据传输进行检测,而且不需要在所有地址都写入数据,从而减少耗时。另外,本发明实施例在向备用随机存储器存储数据时,会对数据进行取反操作后再进行存储,能够避免共因失效因素。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其它的附图。
图1为现有技术中的一种传输***;
图2为本发明实施例提供的一种方法实施例的流程示意图;
图3为本发明实施例提供的一种存储***的结构示意图;
图4为本发明实施例提供的另一种方法实施例的流程示意图;
图5为本发明实施例提供的另一种存储***的结构示意图;
图6为本发明实施例提供的CPLD的数据流向示意图。
具体实施方式
随机存储器的传输***如图1所示,可以由第一处理器101向随机存储器102写入数据,也可以由第一处理器101从随机存储器102中读取数据。由于随机存储器通常没有自检功能,如何对随机存储器的数据传输进行检测,是保障***安全运行的关键因素。
一种常用的检测方式是,在随机存储器使用之前,向随机存储器的所有地址写入数据并读取写入的数据,通过将读取的数据与写入的数据进行比较,检测随机存储器的数据传输是否正常。然而,这种检测方式实时性很差,不能检测出使用过程中出现的翻转错误。而且检测耗时较长。此外还有两种检测方式,一种是利用嵌入式操作***的地址映射功能实现随机存储器的自检,另一种是利用嵌入式处理器体系结构内建的差错检测和报告机制进行检测。这两种方式都需要依赖于嵌入式处理***,开发成本高,广泛适用性差。
本发明实施例提供一种随机存储器的检测方法及***,以实现能够实时地对随机存储器的数据传输进行检测,而且不需要在随机存储器的所有地址都写入数据,从而减少耗时。并且,不需要借助于嵌入式处理***,开发成功低从而广泛适用性高。另外其采用的是旁路检测方式,即使检测功能出错也不会对随机存储器的正常使用造成影响。
为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
请参阅图2,本发明实施例提供了随机存储器的检测方法的一种方法实施例。
本实施例可以用于如图3所示的存储***中,该***包括第一处理器301、主用随机存储器302、第二处理器303和备用随机存储器304。其中,第一处理器301与主用随机存储器302相连,从而第一处理器301与主用随机存储器302可以进行数据传输,例如,第一处理器301向主用随机存储器302写入数据,或者第一处理器301从主用随机存储器302读取数据。
本实施例的所述方法包括:
S201:第二处理器303监听第一处理器301和主用随机存储器302的连接端口。
其中,第二处理器303与第一处理器301和主用随机存储器302的连接端口相连,从而监听所述连接端口,确定第一处理器301是否与主用随机处理器302进行数据传输。
S202:若监听到第一处理器301向主用随机存储器302的第一地址写入数据,第二处理器303获取第一处理器301向所述第一地址写入的数据,并将该数据取反后写入备用随机存储器304的第二地址。
本发明实施例中,若第一处理器301向主用随机存储器302写入数据,第二处理器303会监听到该写入操作,并获取到该写入操作的写入地址(即第一地址),并将所述数据取反后写入备用随机存储器304的第二地址。其中,第二地址可以根据第一地址确定。例如,第一地址与第二地址相同,第一地址可以为第0位到第15位,第二地址也可以为第0位到第15位。第二处理器303对应存储所述第一地址和所述第二地址。
其中,第二处理器303并不是直接将数据写入到备用随机存储器304,而是会对数据进行取反后再进行存储,能够很好地避免共因失效因素(由于相同问题造成的错误)。取反操作指的是将数据中的高低电平反转。
S203:若监听到第一处理器301从主用随机存储器302的第一地址读取数据,第二处理器303获取第一处理器301从主用随机存储器302的第一地址读取的数据,并从备用随机存储器304的第二地址读取数据。
若第一处理器301从主用随机存储器302读取已经写入的数据,第二处理器303会监听到该读取操作,获取到该读取操作的第一地址,并获取该读取操作读取的数据。此外,第二处理器303还会获取到第一地址对应的第二地址,并从备用随机存储器304的第二地址读取数据。
S204:第二处理器303将获取的、第一处理器301从主用随机存储器302的第一地址读取的数据,与第二处理器303从备用随机存储器304的第二地址读取的数据进行比较,根据比较结果输出检测信号。
其中,若所述比较结果表示从所述第二地址读取的数据,与从所述第一地址读取的数据取反后相匹配,所述检测信号为初始信号,即表示本次传输正常。相匹配可以指的是完全相同或者相同的比例达到预定百分比等。若所述比较结果表示从所述第二地址读取的数据,与从所述第一地址读取的数据取反后不匹配,所述检测信号为异常信号error_flag,即表示本次传输出现错误。
通过上述技术方案可知,本发明实施例中,第二处理器203会监听第一处理器201和主用随机存储器202的连接端口,当监听到第一处理器201向主用随机存储器202的第一地址写入数据,会将所述数据取反后写入备用随机存储器204的第二地址,当监听到第一处理器201从主用随机存储器202的第一地址读取数据,第二处理器203会获取第一处理器201从所述第一地址读取的数据,从备用随机存储器204的第二地址读取数据,并将从所述第一地址和所述第二地址读取的数据进行比较,根据比较结果输出检测信号。可见,本发明实施例中用于主用随机存储器202的使用过程中,能够实时地对主用随机存储器202的数据传输进行检测,而且不需要在所有地址都写入数据,从而减少耗时。另外,本发明实施例在向备用随机存储器204存储数据时,会对数据进行取反操作后再进行存储,能够很好地避免共因失效因素。
此外,本发明实施例提供的方法不需要借助于嵌入式处理***,开发成功低从而广泛适用性高。另外其采用的是旁路检测方式,即使检测功能出错也不会对主用随机存储器的正常使用造成影响,从而避免第一处理器读写操作的中断。若第二处理器或者备用随机存储器出现异常时,可以采用错误检测纠错(ErrorCorrectingCode,ECC)模块代替,从而实现错误数据的检测及恢复。
本实施例中,第一处理器301可以为中央处理器(CentralProcessingUnit,CPU)等,而第二处理器304可以为现场可编程门阵列(Field-ProgrammableGateArray,FPGA)、复杂可编程逻辑器件(ComplexProgrammableLogicDevice,CPLD)等。本实施例中,主用随机存储器302和备用随机存储器304可以为任一种随机存储设备,例如静态随机存储器(StaticRandomAccessMemory,SRAM)、同步动态随机存储器(SynchronousDynamicRandomAccessMemory,SDRAM)、双倍速率同步动态随机存储器(DoubleDataRate,DDR)、DDR2、DDR3等。
本发明实施例中,第二处理器303可以向第一处理器301输出检测信号。例如,若第二处理器303向第一处理器301输出初始信号(例如0),表示本次传输正常,若第二处理器303向第一处理器302输出异常信号error_flag(例如1),表示本次传输异常。其中,第一处理器301可以通过中断的方式处理检测信号。
若第二处理器303向第一处理器301输出异常信号,则第一处理器301接收到异常信号后做出对应的处理方式,例如报警等,保证数据传输异常时能够及时发现。其中,第一处理器301还可以向第二处理器303发送清除信号,第二处理器303接收到清除信号后,根据该清除信号输出初始信号。例如,第二处理器303输出1,接收到清除信号后,输出0。
本实施例中还支持错误注入模式,也就是说第二处理器303向备用随机存储器304写入数据前不进行取反操作,而是直接将数据进行写入。从而使得第二处理器303输出的检测信号一定为异常信号,用于检测第二处理器303和备用随机存储器304实现的旁路检测功能是否正常。
具体地,所述方法还可以包括:若监听到第一处理器301向主用随机存储器302的第三地址写入数据并接收到错误注入信号时,第二处理器303获取向第三地址写入的数据,并直接写入备用随机存储器304的第四地址;若监听到第一处理器301从主用随机存储器302的第三地址读取数据,第二处理器303获取第一处理器301从主用随机存储器302的第三地址读取的数据,并从备用随机存储器304的第四地址读取数据;第二处理器303将获取的、第一处理器301从第三地址读取的数据,与从第四地址读取的数据进行比较,根据比较结果生成检测结果。
下面本发明通过一个具体的实施例进行说明。
请参阅图4,本发明实施例提供了随机存储器的检测方法的另一种方法实施例。
本实施例以图5所示的***为例加以介绍,该***包括CPU501、SDRAM502、CPLD503和SDRAM504。其中,CPLD可以包括解析模块、数据控制模块和诊断模块。可见,本实施例中以第一处理器具体为CPU,第二处理器具体为CPLD,随机存储器具体为SDRAM进行示例性介绍,而本发明实施例中对此并不加以限定。
本实施例的所述方法包括:
S401:解析模块监听CPU501和SDRAM502的连接端口。
S402:若解析模块监听到CPU501向SDRAM502发送控制信号01,将该控制信号01解析后作为控制信号02发送至SDRAM504,确保SDRAM504与SDRAM502执行相同的动作。
例如图6所示,控制信号01包括地址信号addr_bi[12:0]、行选通信号cas_i、列选通信号res_i和写使能信号we_i。控制信号02包括:地址信号backup_addr_bo[12:0]、行选通信号cas_o、列选通信号res_o和写使能信号we_o。其中,写使能信号we_i和we_o用于使能写操作,地址信号addr_bi[12:0]用于表示将数据写入第一地址,例如第0位到第15位,地址信号backup_addr_bo[12:0]用于表示将数据写入第二地址,例如第0位到第15位。行选通信号和列选通信号用于使能行地址选通和列地址选通。
S403:解析模块监听到CPU501向SDRAM502发送控制信号01时,数据控制模块获取CPU501向SDRAM502发送的数据dq[15:0],并将该数据dq[15:0]取反后得到backup_dq[15:0],将数据backup_dq[15:0]发送至SDRAM504。SDRAM502会根据控制信号01将接收到的数据写入第一地址。SDRAM504会根据控制信号02将接收到的数据写入第二地址。
本实施例中,CPU501可以对SDRAM502进行8比特、16比特、24比特或者突发模式的读写操作,CPLD503对SDRAM504进行相同模式的读写操作。
S404:若解析模块监听到CPU501向SDRAM502发送控制信号03,将该控制信号03解析后作为控制信号04发送至SDRAM504。
控制信号03包括地址信号addr_bi[12:0]、行选通信号cas_i、列选通信号res_i和读使能信号rd_i。控制信号04包括:地址信号backup_addr_bo[12:0]、行选通信号cas_o、列选通信号res_o和读使能信号rd_o。其中,读使能信号rd_i和rd_o用于使能读操作,地址信号addr_bi[12:0]用于表示从第一地址读取数据,地址信号backup_addr_bo[12:0]用于表示从第二地址读取数据。行选通信号和列选通信号用于表示使能行地址选通和列地址选通。
S405:解析模块监听到CPU501向SDRAM502发送控制信号03时,数据控制模块获取CPU501从SDRAM502读取的数据,并且数据控制模块从SDRAM504读取数据。由于SDRAM502和SDRAM504分别接收到控制信号03和控制信号04,此时数据控制模块获取到的分别是从SDRAM502的第一地址和SDRAM504的第二地址读取的数据,并把从这两个地址读取的数据发送到诊断模块。
S406:诊断模块将分别从第一地址和第二地址读取的数据进行比较,若比较结果表示从这两个地址读取的数据高低电平相反,则表示本次传输正常,向CPU501输出初始信号,否则表示本次传输异常,向CPU501输出异常信号。例如图6所示,诊断模块输出异常信号error_flag。当诊断模块接收到CPU501的清除信号后,诊断模块输出初始信号,而不再输出异常信号error_flag。
其中,解析模块还可以监听到CPU501向SDRAM502发送的除控制信号之外的其他信号,例如配置信号(包括初始化配置)、自刷新信号。此时解析模块会将配置信号、自刷新信号等解析后发送至SDRAM504。
本实施例还支持错误注入模式。若CPU501向CPLD503发送错误注入信号时,数据控制模块会将读取的数据直接写入SDRAM504,不进行取反操作。
对应上述方法实施例,本发明还提供了随机存储器的检测***的一种方法实施例。
如图3所示,本实施例中第一处理器301和主用随机存储器302相连,第二处理器303与第一处理器301和主用随机存储器302的连接端口相连,并且第二处理器303与备用随机存储器304相连;本实施例的所述检测***包括:第二处理器303和备用随机存储器304。
本实施例中,第二处理器303用于监听第一处理器301和主用随机存储器302的连接端口。从而确定第一处理器301是否与主用随机处理器302进行数据传输。
第二处理器303还用于,若监听到第一处理器301向主用随机存储器302的第一地址写入数据,第二处理器303获取所述数据,并将所述数据取反后写入备用随机存储器304的第二地址。
其中,第二地址可以根据第一地址确定。例如,第一地址与第二地址相同,第一地址可以为第0位到第15位,第二地址也可以为第0位到第15位。第二处理器303还用于对应存储所述第一地址和所述第二地址。
本实施例中第二处理器303并不是直接将数据写入到备用随机存储器304,而是会对数据进行取反后再进行存储,能够很好地避免共因失效因素。
第二处理器303还用于,若监听到第一处理器301从主用随机存储器302的第一地址读取数据,第二处理器303获取第一处理器301从主用随机存储器302的第一地址读取的数据,并从备用随机存储器304的第二地址读取数据。
第二处理器303还用于,将获取的、第一处理器301从主用随机存储器302的第一地址读取的数据,与从备用随机存储器304的第二地址读取的数据进行比较,根据比较结果输出检测信号。
其中,若所述比较结果表示从所述第二地址读取的数据,与从所述第一地址读取的数据取反后相匹配,所述检测信号为初始信号,即表示本次传输正常。相匹配可以指的是完全相同或者相同的比例达到预定百分比等。若所述比较结果表示从所述第二地址读取的数据,与从所述第一地址读取的数据取反后不匹配,所述检测信号为异常信号error_flag,即表示本次传输出现错误。
可见,本实施例的检测***用于主用随机存储器202的使用过程中,能够实时地对主用随机存储器202的数据传输进行检测,而且不需要在所有地址都写入数据,从而减少耗时。另外,本发明实施例在向备用随机存储器204存储数据时,会对数据进行取反操作后再进行存储,能够很好地避免共因失效因素。
此外,本发明实施例提供的检测***不需要借助于嵌入式处理***,开发成功低从而广泛适用性高。另外其采用的是旁路检测电路,即使检测功能出错也不会对主用随机存储器的正常使用造成影响,从而避免第一处理器读写操作的中断。若第二处理器或者备用随机存储器出现异常时,可以采用ECC模块代替,从而实现错误数据的检测及恢复。
本实施例中,第一处理器301可以为CPU等,而第二处理器304可以为FPGA、CPLD等。本实施例中,主用随机存储器302和备用随机存储器304可以为任一种随机存储设备,例如SRAM、SDRAM、DDR、DDR2、DDR3等。
本发明实施例中,第二处理器303还可以与第一处理器301的第一端口相连,所述第一端口不同于所述连接端口。第二处理器303可以向第一处理器301的第一端口输出检测信号。例如,若第二处理器303向第一端口输出初始信号(例如0),表示本次传输正常,若第二处理器303向第一端口输出异常信号error_flag(例如1),表示本次传输异常。其中,第一处理器301可以通过中断的方式处理检测信号。
若第二处理器303向第一处理器301的第一端口输出异常信号,则第一处理器301接收到异常信号后做出对应的处理方式,例如报警等,保证数据传输异常时能够及时发现。其中,第二处理器303还可以与第一处理器301的第二端口相连,所述第二端口不同于所述连接端口,第一处理器301还可以向第二处理器303的第二端口发送清除信号,第二处理器303接收到清除信号后,根据该清除信号向第一端口输出初始信号。例如,第二处理器303向第一端口输出1,接收到清除信号后,向第一端口输出0。
本实施例中还支持错误注入模式,也就是说第二处理器303向备用随机存储器304写入数据前不进行取反操作,而是直接将数据进行写入。从而使得第二处理器303输出的检测信号一定为异常信号,用于检测本实施例的检测***是否正常工作。
具体地,第二处理器303还与第一处理器301的第三端口相连,所述第三端口不同于所述连接端口。第二处理器303还用于,若监听到第一处理器301向主用随机存储器302的第三地址写入数据并接收到所述第三端口发送的错误注入信号时,获取向所述第三地址写入的数据,并直接写入备用随机存储器304的第四地址;若监听到第一处理器301从主用随机存储器302的第三地址读取数据,获取第一处理器301从主用随机存储器302的第三地址读取的数据,并从备用随机存储器304的第四地址读取数据;第二处理器303还用于,将从所述第三地址读取的数据,与从所述第四地址读取的数据进行比较,根据比较结果生成检测结果。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本发明所提供的几个实施例中,应该理解到,所揭露的***,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,RandomAccessMemory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (12)

1.一种随机存储器的检测方法,其特征在于,所述方法包括:
第二处理器监听第一处理器和主用随机存储器的连接端口;
若监听到所述第一处理器向所述主用随机存储器的第一地址写入数据,所述第二处理器获取所述数据,并将所述数据取反后写入备用随机存储器的第二地址;
若监听到所述第一处理器从所述主用随机存储器的第一地址读取数据,所述第二处理器获取所述第一处理器从所述第一地址读取的数据,并从所述备用随机存储器的第二地址读取数据;
所述第二处理器将获取的、所述第一处理器从所述第一地址读取的数据,与从所述第二地址读取的数据进行比较,根据比较结果输出检测信号。
2.根据权利要求1所述的方法,其特征在于,若所述比较结果表示从所述第二地址读取的数据,与从所述第一地址读取的数据取反后相匹配,所述检测信号为初始信号;
若所述比较结果表示从所述第二地址读取的数据,与从所述第一地址读取的数据取反后不匹配,所述检测信号为异常信号。
3.根据权利要求1所述的方法,其特征在于,所述根据比较结果输出检测信号包括:
根据比较结果向所述第一处理器输出检测信号。
4.根据权利要求3所述的方法,其特征在于,若所述检测信号为异常信号;所述方法还包括:
所述第二处理器接收到所述第一处理器发送的清除信号;
所述第二处理器向所述第一处理器输出初始信号。
5.根据权利要求1所述的方法,其特征在于,所述第二地址根据所述第一地址确定出。
6.根据权利要求1所述的方法,其特征在于,还包括:
若监听到所述第一处理器向所述主用随机存储器的第三地址写入数据并接收到错误注入信号时,所述第二处理器获取向所述第三地址写入的数据,并直接写入所述备用随机存储器的第四地址;
若监听到所述第一处理器从所述主用随机存储器的第三地址读取数据,所述第二处理器获取所述第一处理器从所述第三地址读取的数据,并从所述备用随机存储器的第四地址读取数据;
所述第二处理器将获取的、所述第一处理器从所述第三地址读取的数据,与从所述第四地址读取的数据进行比较,根据比较结果生成检测结果。
7.一种随机存储器的检测***,其特征在于,第一处理器和主用随机存储器相连,第二处理器与第一处理器和主用随机存储器的连接端口相连,并且与备用随机存储器相连;所述***包括:所述第二处理器和所述备用随机存储器;
所述第二处理器用于监听所述连接端口;若监听到所述第一处理器向所述主用随机存储器的第一地址写入数据,获取所述数据,并将所述数据取反后写入所述备用随机存储器的第二地址;若监听到所述第一处理器从所述主用随机存储器的第一地址读取数据,获取所述第一处理器从所述第一地址读取的数据,并从所述备用随机存储器的第二地址读取数据;
所述第二处理器还用于,将获取的、所述第一处理器从所述第一地址读取的数据,与从所述第二地址读取的数据进行比较,根据比较结果输出检测信号。
8.根据权利要求7所述的***,其特征在于,若所述比较结果表示从所述第二地址读取的数据,与从所述第一地址读取的数据取反后相匹配,所述检测信号为初始信号;
若所述比较结果表示从所述第二地址读取的数据,与从所述第一地址读取的数据取反后不匹配,所述检测信号为异常信号。
9.根据权利要求7所述的***,其特征在于,所述第二处理器还与所述第一处理器的第一端口相连,所述第一端口不同于所述连接端口;
当根据比较结果输出检测信号时,所述第二处理器具体用于根据比较结果向所述第一处理器的所述第一端口输出检测信号。
10.根据权利要求9所述的***,其特征在于,所述第二处理器还与所述第一处理器的第二端口相连,所述第二端口不同于所述连接端口;
若所述检测信号为异常信号,所述第二处理器还用于接收到所述第一处理器的所述第二端口发送的清除信号,向所述第一处理器的所述第一端口输出初始信号。
11.根据权利要求7所述的***,其特征在于,所述第二地址根据所述第一地址确定出。
12.根据权利要求7所述的***,其特征在于,所述第二处理器还与所述第一处理器的第三端口相连,所述第三端口不同于所述连接端口;
所述第二处理器还用于,若监听到所述第一处理器向所述主用随机存储器的第三地址写入数据并接收到所述第三端口发送的错误注入信号时,获取向所述第三地址写入的数据,并直接写入所述备用随机存储器的第四地址;若监听到所述第一处理器从所述主用随机存储器的第三地址读取数据,获取所述第一处理器从所述第三地址读取的数据,并从所述备用随机存储器的第四地址读取数据;
所述第二处理器还用于,将获取的、所述第一处理器从所述第三地址读取的数据,与从所述第四地址读取的数据进行比较,根据比较结果生成检测结果。
CN201610150312.XA 2016-03-16 2016-03-16 一种随机存储器的检测方法及*** Active CN105824719B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610150312.XA CN105824719B (zh) 2016-03-16 2016-03-16 一种随机存储器的检测方法及***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610150312.XA CN105824719B (zh) 2016-03-16 2016-03-16 一种随机存储器的检测方法及***

Publications (2)

Publication Number Publication Date
CN105824719A true CN105824719A (zh) 2016-08-03
CN105824719B CN105824719B (zh) 2019-01-29

Family

ID=56523814

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610150312.XA Active CN105824719B (zh) 2016-03-16 2016-03-16 一种随机存储器的检测方法及***

Country Status (1)

Country Link
CN (1) CN105824719B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107516546A (zh) * 2017-07-07 2017-12-26 中国航空工业集团公司西安飞行自动控制研究所 一种随机存储器的在线检测装置及方法
CN110444243A (zh) * 2019-07-31 2019-11-12 至誉科技(武汉)有限公司 存储设备读错误纠错能力的测试方法、***及存储介质
CN110675911A (zh) * 2019-09-24 2020-01-10 上海闻泰电子科技有限公司 Ddr修复方法、装置、终端和存储介质
CN111221675A (zh) * 2018-11-26 2020-06-02 奥特润株式会社 用于ram错误检测逻辑的自诊断的方法和装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1315732A (zh) * 2000-03-30 2001-10-03 华为技术有限公司 随机存储器的自动检测方法及其检测电路
CN102486938A (zh) * 2010-12-06 2012-06-06 北大方正集团有限公司 一种快速检测存储器的方法及装置
CN103257905A (zh) * 2013-05-02 2013-08-21 浙江中控技术股份有限公司 一种嵌入式计算机***内存数据校验电路及方法
CN103473160A (zh) * 2013-09-26 2013-12-25 杭州华为数字技术有限公司 测试装置、cpu芯片及缓存的测试方法
US20140164834A1 (en) * 2012-12-03 2014-06-12 Kone Corporation Apparatus and a method for memory testing by a programmable circuit in a safety critical system

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1315732A (zh) * 2000-03-30 2001-10-03 华为技术有限公司 随机存储器的自动检测方法及其检测电路
CN102486938A (zh) * 2010-12-06 2012-06-06 北大方正集团有限公司 一种快速检测存储器的方法及装置
US20140164834A1 (en) * 2012-12-03 2014-06-12 Kone Corporation Apparatus and a method for memory testing by a programmable circuit in a safety critical system
CN103257905A (zh) * 2013-05-02 2013-08-21 浙江中控技术股份有限公司 一种嵌入式计算机***内存数据校验电路及方法
CN103473160A (zh) * 2013-09-26 2013-12-25 杭州华为数字技术有限公司 测试装置、cpu芯片及缓存的测试方法

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107516546A (zh) * 2017-07-07 2017-12-26 中国航空工业集团公司西安飞行自动控制研究所 一种随机存储器的在线检测装置及方法
CN107516546B (zh) * 2017-07-07 2020-09-22 中国航空工业集团公司西安飞行自动控制研究所 一种随机存储器的在线检测装置及方法
CN111221675A (zh) * 2018-11-26 2020-06-02 奥特润株式会社 用于ram错误检测逻辑的自诊断的方法和装置
CN111221675B (zh) * 2018-11-26 2023-12-22 现代奥特奥博株式会社 用于ram错误检测逻辑的自诊断的方法和装置
CN110444243A (zh) * 2019-07-31 2019-11-12 至誉科技(武汉)有限公司 存储设备读错误纠错能力的测试方法、***及存储介质
CN110675911A (zh) * 2019-09-24 2020-01-10 上海闻泰电子科技有限公司 Ddr修复方法、装置、终端和存储介质
CN110675911B (zh) * 2019-09-24 2021-08-24 上海闻泰电子科技有限公司 Ddr修复方法、装置、终端和存储介质

Also Published As

Publication number Publication date
CN105824719B (zh) 2019-01-29

Similar Documents

Publication Publication Date Title
KR102553704B1 (ko) 에러 타입에 기초하는 ecc의 동적 적용
CN101477480B (zh) 内存控制方法、装置及内存读写***
CN101960532B (zh) 用于节省存储器自刷新功率的***、方法和装置
US7506226B2 (en) System and method for more efficiently using error correction codes to facilitate memory device testing
US9317366B2 (en) Protocol checking logic circuit for memory system reliability
US10606696B2 (en) Internally-generated data storage in spare memory locations
CN105824719A (zh) 一种随机存储器的检测方法及***
KR20170054182A (ko) 반도체 장치
US10095570B2 (en) Programmable device, error storage system, and electronic system device
CN113496746B (zh) 用于检测存储模块缺陷的装置和方法以及存储器***
US20220050603A1 (en) Page offlining based on fault-aware prediction of imminent memory error
US9891976B2 (en) Error detection circuitry for use with memory
US9230687B2 (en) Implementing ECC redundancy using reconfigurable logic blocks
US20150227461A1 (en) Repairing a memory device
CN104484260A (zh) 一种基于GJB289总线接口SoC的仿真监控电路
CN111221681A (zh) 一种存储器的修复方法及装置
US20040003165A1 (en) Memory subsystem including error correction
CN115509786A (zh) 一种报告故障的方法、装置、设备及介质
CN106469573B (zh) 半导体器件和用于半导体器件的器件
EP4156192A1 (en) Page offlining based on fault-aware prediction of imminent memory error
CN103187101A (zh) 一种用于dram修复测试的数据压缩输出方法
US20220350715A1 (en) Runtime sparing for uncorrectable errors based on fault-aware analysis
CN117992273A (zh) 数据处理方法、装置、电子设备以及存储介质
US10255986B2 (en) Assessing in-field reliability of computer memories
CN117711475A (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
GR01 Patent grant
GR01 Patent grant