首页> 中国专利> 一种软硬件结合的内存避错方法及其装置

一种软硬件结合的内存避错方法及其装置

摘要

本发明涉及一种软硬件结合的内存避错方法及其装置,该方法采用软件MBIST架构SMBIST与硬件BIST架构HMBIST相结合方式,若为设定深夜时间且设备处于非繁忙状态,激活HMBIST运行,并关闭外部定时器;HMBIST模块运行后,设备的CPU进入睡眠模式,HMBIST模块接管对RAM的控制,判断内存检测是否发现故障:SMBIST模块根据当前的周期号,计算需要测试内存的起始地址和大小,开始对内存进行检测,判断内存检测是否发现故障:该装置包括主处理器模块、CPLD模块和内存模块,所述的主处理器模块与CPLD模块连接,所述的内存模块与CPLD模块连接。与现有技术相比,本发明具有降低设计难度、内存故障检测覆盖率高、检测速度快、硬件开销低、复用性好、成本低等优点。

著录项

  • 公开/公告号CN103927241A

    专利类型发明专利

  • 公开/公告日2014-07-16

    原文格式PDF

  • 申请/专利权人 卡斯柯信号有限公司;

    申请/专利号CN201410158115.3

  • 申请日2014-04-18

  • 分类号G06F11/22(20060101);G06F11/36(20060101);

  • 代理机构31225 上海科盛知识产权代理有限公司;

  • 代理人赵志远

  • 地址 200070 上海市闸北区天目中路428号27楼

  • 入库时间 2023-12-17 00:25:44

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-02-15

    授权

    授权

  • 2014-09-17

    实质审查的生效 IPC(主分类):G06F11/22 申请日:20140418

    实质审查的生效

  • 2014-07-16

    公开

    公开

说明书

技术领域

本发明涉及一种内存避错方法,尤其是涉及一种软硬件结合的内存避错方法 及其装置。

背景技术

目前,在轨道交通行业中,各种控制系统和设备功能复杂、实时性强、安全 性要求高,系统任何部件的错误或者故障都可能导致灾难性后果。这些安全设备的 内存模块可能会出现内存出现系统性故障和硬件随机失效,导致内存中存储的数据 可能出现异常,从而使任何运行在内存中的逻辑运算结果出错,最终影响整个系统 的安全性,因此对轨道安全设备的内存进行内建测试,来达到内存避错的目的也显 得越来越重要。

目前,内存内建测试(MBIST)方法主要有两种,一种是采用纯硬件架构的 MBIST,在硬件逻辑电路中实现内存检测算法,来对内存进行检测;另一种是纯 软件架构的MBIST,通过基于处理器的软件来实现内存测试。已有的内存内建测 试方法,有以下不足:

1、纯软件MBIST方案依赖于计算机的运算能力,内存检测速度低;

2、纯软件MBIST方案受系统特性的限制,在软件正常运行情况下,不能检 测到所有的内存故障,内存故障检测覆盖率低;

3、纯硬件MBIST方案需要设计专门的硬件逻辑电路,增大了硬件开销;

4、纯硬件MBIST方案设计专门的硬件电路,由于覆盖所有的内存故障类型, 需要设计数据巨大的内存测试图形向量,设计困难,同时,设计的硬件电路不具有 通用性,研发成本高。

发明内容

本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种降低设计难 度、内存故障检测覆盖率高、检测速度快、硬件开销低、复用性好、成本低的软硬 件结合的内存避错方法及其装置。

本发明的目的可以通过以下技术方案来实现:

一种软硬件结合的内存避错方法,其特征在于,该方法采用软件MBIST架构 SMBIST与硬件BIST架构HMBIST相结合方式,所述的内存避错方法具体包括以 下步骤:

1)启动后,对其进行初始化;

2)HMBIST模块在初始化后,开始对设备中的内存进行检测,

3)判断是否发现内存功能故障,若发现内存功能故障,进行设备闪灯告警和 设备宕机,否则设备初始化文件系统,并开始引导操作系统启动,操作系统正常启 动后,继续执行步骤4);

4)主任务模块运行,对系统数据进行逻辑运算处理;

5)判断定时中断是否到来,若为是执行步骤6),否则返回执行步骤4);

6)若为设定深夜时间且设备处于非繁忙状态,激活HMBIST运行,并关闭外 部定时器,执行步骤7),否则执行步骤8);

7)HMBIST模块开始运行,设备的CPU进入睡眠模式,HMBIST模块接管对 RAM的控制,判断内存检测是否发现故障,若为是,激活设备CPU运行,闪灯告 警,并记录日志和设备宕机,否则返回执行步骤4);

8)SMBIST模块开始运行,SMBIST模块根据当前的周期号,计算需要测试 内存的起始地址和大小,开始对内存进行检测,判断内存检测是否发现故障,若为 是,闪灯告警,并记录日志和设备宕机,否则返回执行步骤4)。

所述的HMBIST模块运行包括以下步骤:

1)拉低HMBIST_CLK电平信号,判断HMBIST_MODE的电平信号是否为高 电平,若为是,继续执行步骤1),否则执行步骤2);

2)HMBIST模块开始分别对数据与地址生成逻辑模块、测试向量生成器、测 试模式控制器以及HMBIST接口控制器进行初始化,并拉高HMBIST_CLK电平 信号;

3)数据与地址生成逻辑模块将存储的离线设计好的测试数据与生成的合法地 址,一起传递给测试向量生成器,测试向量生成器生成测试图形向量,对内存进行 测试;

4)结果比较控制器将测试图形向量在内存单元产生的状态与期望的状态进行 比较,如果状态不同,执行步骤5),否则,执行步骤6);

5)拉低HMBIST_MODE和HMBIST_CLK的电平信号,设置HMBIST_ERR 信号为逻辑‘1’,CPU模块进行错误处理,告警并记录日志;_

6)判断所有的内存是否都测试完,若为是,执行步骤7),否则返回执行步骤 3);

7)拉低HMBIST_MODE和HMBIST_CLK的电平信号,设置HMBIST_ERR 信号为逻辑‘0’,CPU模块激活主任务模块和SMBIST模块。

所述的SMBIST模块运行包括以下步骤:

1)锁住操作系统,禁止其他任务调度运行和接收其他中断;

2)根据当前周期号,选取与周期相关的测试数据;

3)对相应的内存进行检测,如果发现错误,设置SMBIST ERR信号为逻辑 ‘1’;

4)判断当前周期的内存块是否测试完,测试完执行步骤5),否则继续执行步 骤3);

5)SMBSIT任务结束运行,CPU模块激活主任务模块,并解锁操作系统,正 常接收中断,主任务模块继续运行。

一种软硬件结合的内存避错方法的装置,其特征在于,包括主处理器模块、 CPLD模块和内存模块,所述的主处理器模块与CPLD模块连接,所述的内存模块 与CPLD模块连接;

所述的主处理器模块上设有微处理器以及分别与微处理器连接的Flash模块、 串口芯片、网络芯片模块和看门狗模块,所述的CPLD模块包括HMBIST逻辑模 块和定时器逻辑模块,其中HMBIST模块包括模式控制器、测试向量产生器、地 址与数据生成逻辑单元、测试结果比较器和HMBIST控制接口,所述的HMBIST 控制接口分别与微处理器、模式控制器、测试向量产生器、测试结果比较器和内存 模块连接,所述的地址与数据生成逻辑单元分别与测试向量产生器和测试结果比较 器连接。

所述的主处理器模块上运行的操作系统为vxWorks嵌入式系统。

所述的定时器逻辑模块提供的中断信号周期为10ms。

所述的CPLD模块采用VHDL语言编程。

与现有技术相比,本发明具有以下优点:

1、采用HMBIST硬件模块来检测内存高层次故障,只需要设计覆盖高层次故 障的测试图形向量,不用设计所有的故障类型的测试向量,降低了测试向量设计和 硬件设计难度;

2、采用HMBIST硬件模块在降低硬件开销的情况下,周期性的对内存进行全 面检测,保证了很高的内存故障检测覆盖率。

3、采用SMBIST软件模块来检测内存低层次故障,只需要设计覆盖低层次故 障的测试图形向量,不用设计所有的故障类型的测试向量,降低了测试向量设计和 软件设计难度;

4、采用SMBIST软件模块以最少的内存测试图形向量来进行检测,提高了实 时在线内存故障检测速度,并且SMBIST软件模块在设计完成后,可以进行移植, 复用性好;

5、通过软硬件结合,保证了很高的内存故障检测覆盖率,保证了系统的安全, 同时降低硬件复杂程度,也降低了开发难度和成本。。

附图说明

图1为本发明的方法流程图

图2为本发明的HMBIST运行流程图;

图3为本发明的SMBIST运行流程图;

图4为本发明的装置结构示意图。

其中,a为主处理器模块、b为CPLD模块,c为内存模块、a1为微处理器、 a2为Flash模块、a3为串口芯片、a4为网络芯片模块、a5为看门狗模块,b1为 HMBIST逻辑模块、b2为定时器逻辑模块,b11为模式控制器、b12为测试向量产 生器、b13为地址与数据生成逻辑、b14为测试结果比较器、b15为HMBIST控制 接口

具体实施方式

下面结合附图和具体实施例对本发明进行详细说明。

实施例:

如图1所示,一种软硬件结合的内存避错方法,包括以下步骤:

101)启动后,对其进行初始化;

102)HMBIST模块在初始化后,开始对设备中的内存进行检测,

103)判断是否发现内存功能故障,若发现内存功能故障,进行设备闪灯告警 和设备宕机,否则设备初始化文件系统,并开始引导操作系统启动,操作系统正常 启动后,继续执行步骤104);

104)主任务模块运行,对系统数据进行逻辑运算处理;

105)判断定时中断是否到来,若为是执行步骤106),否则返回执行步骤104);

106)若为设定深夜时间且设备处于非繁忙状态,激活HMBIST运行,并关闭 外部定时器,执行步骤107),否则执行步骤108);

107)HMBIST模块开始运行,设备的CPU进入睡眠模式,HMBIST模块接管 对RAM的控制,判断内存检测是否发现故障,若为是,激活设备CPU运行,闪 灯告警,并记录日志和设备宕机,否则返回执行步骤104);

108)SMBIST模块开始运行,SMBIST模块根据当前的周期号,计算需要测 试内存的起始地址和大小,开始对内存进行检测,判断内存检测是否发现故障,若 为是,闪灯告警,并记录日志和设备宕机,否则返回执行步骤104)。

如图2所示,所述的HMBIST模块运行包括以下步骤:

201、拉低HMBIST_CLK电平信号,判断HMBIST_MODE的电平信号,如果 HMBIST_MODE为高电平,继续执行步骤201,否则执行步骤202;

202、HMBIST模块开始分别对数据与地址生成逻辑模块、测试向量生成器、 测试模式控制器以及HMBIST接口控制器进行初始化,并拉高HMBIST_CLK电 平信号;

203、数据与地址生成逻辑模块中存储了离线设计好的测试数据,并与生成的 合法地址,一起传递给测试向量生成器,由测试向量生成器生成测试图形向量,对 内存进行测试;

204、结果比较控制器,会将测试向量在内存单元产生的状态与期望的状态进 行比较,如果状态不同,执行步骤205,否则,执行步骤206;

205、拉低HMBIST_MODE和HMBIST_CLK的电平信号,设置HMBIST_ERR 信号为逻辑‘1’,CPU模块进行错误处理,告警并记录日志;

206、判断所有的内存是否都测试完,执行步骤207,否则返回执行步骤203;

207、拉低HMBIST_MODE和HMBIST_CLK的电平信号,设置HMBIST_ERR 信号为逻辑‘0’,CPU模块激活主任务模块和SMBIST模块。

如图3所示,所述的SMBIST模块运行包括以下步骤:

301、锁住操作系统,禁止其他任务调度运行和接收其他中断;

302、根据当前周期号,选取与周期相关的测试数据;

303、并利用内存检算法对相应的内存进行检测;如果发现错误,设置 SMBIST_ERR信号为逻辑‘1’;

304、判断当天周期的内存块是否测试完,测试完执行步骤305,否则继续执 行步骤303;

305、SMBSIT任务结束运行,CPU模块激活主任务模块,并解锁操作系统, 正常接收中断,主任务继续运行。

如图4所示,一种软硬件结合的内存避错装置,包括主处理器模块a、CPLD 模块b和内存模块c,所述的主处理器模块a与CPLD模块b连接,所述的内存模 块c与CPLD模块b连接;

所述的主处理器模块a上设有微处理器a1以及分别与微处理器a1连接的Flash 模块a2、串口芯片a3、网络芯片模块a4和看门狗模块a5,所述的CPLD模块b 包括HMBIST逻辑模块b1和定时器逻辑模块b2,其中HMBIST模块b1包括模式 控制器b11、测试向量产生器b12、地址与数据生成逻辑单元b13、测试结果比较 器b14和HMBIST控制接口b15,所述的HMBIST控制接口b15分别与微处理器 a1、模式控制器b11、测试向量产生器b12、测试结果比较器b14和内存模块c连 接,所述的地址与数据生成逻辑单元b13分别与测试向量产生器b12和测试结果比 较器b14连接。

所述的主处理器模块a上运行的操作系统为vxWorks嵌入式系统,并且按照标 准C进行软件开发。

所述的主处理器模块a对输入的数据进行逻辑处理和输出并对主处理器的运 行状态进行维护管理。

所述的串口芯片a3通过串口协议调试信息。

所述的网络芯片模块a4接收输入数据和发送输出数据,数据包括状态信息和 控制命令。

所述的CPLD模块b采用VHDL语言编程来实现逻辑功能。

所述的定时器逻辑模块b2提供的中断信号周期为10ms。

所述的内存模块c按照不变内存和可变内存进行内存检测。

当内存出现异常或者其他异常时,会进行错误处理,在错误日志文件中记录错 误情况,并进行相应的报警。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号