系统内存间错误检测及修正功能验证之系统及其方法

文档序号:6561895阅读:200来源:国知局
专利名称:系统内存间错误检测及修正功能验证之系统及其方法
技术领域
本发明是关于一种验证机制,尤其关于一种针对系统与内存间验证错误检测及修正(Error Checking and Correcting简称ECC功能之方法及其系统。
背景技术
目前,服务器大部分都使用ECC验证的内存,目前的芯片厂商也都有设计支 持这项ECC技术,且其均可以修复1位之ECC错误,但是却无法修复2位以上的ECC 错误。在当发生2位以上的ECC错误时,经由芯片及BIOS处理后,虽然可以显示 多位ECC错误信息,但是却没有一套完整的ECC验证方式,可用来测试ECC发生时, 硬件和软件是否有正确的处理ECC之动作产生,所以一套完善的系统内存ECC检 验机制是相当的重要。一般来说,ECC测试验证必须有一个特制的ECC错误记忆存储模块之硬设备, 另外,透过硬件设置开关来控制内存之数据接脚(memdata pin和侦错接脚 (memcheck pin的开或关,进而产生ECC错误。但是,该所述之设备必须耗费相 当多的金钱及时间去设计和制造,并且该设备且具有针对性,再加上现用之内 存有DDR-1、 DDR-2等等,以后还会有更新的内存模块,如果只是针对某一种内 存就要做一个测试模块,则势必亦将会带来一笔很大的花费。

发明内容
鉴于上述问题,本发明之主要目的在于提供了一种可以测试内存与系统间 在ECC发生时,内存与系统间是否有正确的处理ECC的动作之方法及其系统。为了达到上述之目的,本发明所述系统内存间错误检测及修正(Error Checking and Correcting简称ECC功能验证之方法包括下列步骤由测试模 块仿真内存产生一ECC错误信号,并将该错误信号传送于被验证之服务器系统 ;服务器系统接收该ECC错误信号,重新启动;BIOS透过ECC侦错程序代码判断 ECC错误产生;于屏幕上显示ECC Error的错误信息,并记录该错误信息于Event log中。经由上述方法,测试者可以在Event log记录中查看ECC发生的位置及其 状态,达到验证系统内存间错误检测及修正功能的目的。此外,本发明还提供一系统内存间错误检测及修正(Error Checking and Correcting简称ECC功能验证之系统,其包括一服务器以及一测试模块,另 外,还包括一测试程序。其中,该所述服务器支持ECC验证之内存,且其BIOS中 具有ECC侦错程序代码并可透过该程序代码判断ECC错误的产生。所述测试程序
为一内存测试程序。所述测试模块包括一测试治具以及一内存,所述测试治具为连接于上述内存,且该内存至少包括一接脚,并且该测试治具包括一电路板,在该电路板上布设有多组开关,该开关一端则是连接于上述内存之接脚,另 一端则是与地相连接;此外,在该等每一开关两端之间亦设有一跳线。本发明通过目前行业中存在的内存测试程序、服务器系统本身对ECC的支 持以及与支持ECC之BIOS联系起来,另外,凭借所述测试治具产生多位之ECC错 误,且当通过测试治具产生ECC错误后,系统重新启动在屏幕上显示ECC错误信 息,并且储存该ECC错误,从而实现对内存与系统间对于ECC错误发生时有无正 确之ECC动作产生的验证。


图l为本发明所述系统内存间错误检测及修正功能验证之方法的流程图; 图2为本发明所述内存与系统间错误检测及修正功能验证之系统方块图; 图3为本发明所述测试模块之功能示意图; 图4为测试治具与内存连接之具体电路图; 图5为本发明之一实例的工作流程图; 图6为本发明之另一实例的工作流程图。—具体实施方式
下面结合附图以及具体实施例来对本发明作进一步详细描述 参阅图l中所示,其为本发明验证所述内存与系统间ECC错误发生时是否正确产生ECC动作之方法。测试者首先必须将内存条按照预先定义好之组合方式插置于服务器之内存条插槽中,及将载有测试程序的外部存储装置(磁盘或者光盘)置入服务器中,并导入测试程序于被验证之系统中。随后,启动该系统,并运行至上述测试程序之内存测试目录下。 测试模块仿真内存产生一ECC错误信号,并将该错误信号传送于被验证之系统(步骤103)。另外,因为目前内存ECC是使用汉明码(Hamming code的方式去修正l个位 的ECC错误,然而该方式并无法去修正2位以上的ECC错误,所以一般支持ECC的中 央处理器在系统发生2个位之ECC错误时,会自动重启系统。且当内存接收到该 ECC错误信息后,同时将该信息回传给系统之中央处理器,则中央处理器在接 收该错误信息后重新去启动系统(步骤104)。此时,虽然系统重新启动,但ECC错误位置和错误状态并不会因为系统重 新启动而被清除掉,因此BI0S在重新上电自检时可透过ECC程序代码去判断ECC 错误的产生,并启动BI0S post error和event log来记录问题发生之中央处理
器以及内存。即BIOS透过ECC侦错程序代码去判断ECC错误的产生(步骤105),并 在系统重启动后显示该ECC Error的错误信息于屏幕上,以及记录该错误信息于 Event 1og中(步骤106)。另参阅图2中所示,其为本发明所述系统内存间错误检测及修正功能验证 的系统之方块图。该所述系统包括一服务器l、 一测试程序3以及一测试模块22。其中,所述 服务器1具有支持ECC验证之内存,且其BIOS必须支持有ECC错误侦测及ECC能动 功能之程序代码,并且该BIOS可透过该程序代码判断ECC错误的产生。所述测试程序3为一针对内存进行测试的程序,储存于外部存储装置(磁盘 或光盘)中,其可针对D0S环境下无法侦测4GB以上的ECC错误的问题,同时,亦 可侦领U4GB以下的ECC错误的问题。再结合图3中所示,本发明所述之测试模块22 ,其包括一内存20以及一测 试治具21 ,且该所述内存20上至少具有一数据接脚(memdata pin 2011或侦错接 脚(memcheck pin 2011 ,并且所述测试治具21为连接于该所述内存20。其中, 该测试治具21包括一电路板2100 ,且在其上布设有多个开关2101 ,且该所述开 关2101—端为通过导线(图中未示)连接于上述内存20之数据接脚2011或侦错接 脚2011 ,另一端则是相连于地。另,该上述内存20之数据接脚2011或者侦错接 脚2011 ,可参考内存20插槽(图中未示)之具体线路图去判定内存接脚2011或者 侦错接脚2011具体为一根。一般来说ECC错误的发生,是经由内存之侦错接脚去判断其数据接脚有无正 常传送数据,所以只要使得数据接脚接地,导致资料接脚无法正常传送资料, 便可以引发ECC错误的发生。因此,且当上述之开关2101闭合时,则可实现内 存20之数据接脚2011或侦错接脚2011接地,从而达到产生ECC错误的目的。另外,因为一根数据接脚是为代表单位元之ECC错误,二根数据接脚则是代 表多位之ECC错误;同理,以同样的方式应用于内存侦错接脚上亦可行,即一根 侦错接脚代表单位元之ECC错误,而二根侦错接脚是代表多位之ECC错误。因此, 藉由上述,当布设于电路板2100之开关2101为对应内存20之数据接脚2011或侦 错接脚2011为二根时,该测试模块22可产生多位之ECC错误。此外,在上述开关2101的两端之间还连接设置有一跳线2102 ,该跳线2102可为一键帽式跳线,其连接于上述开关2101的两端,当该所述跳线2102的设置于闭合状态时,则可使得上述内存20之数据接脚2011或侦错接脚2011—直处于接地状态,从而达到一直产生ECC错误;反之,则不然。下以具体实例来对本发明所述系统内存间错误检测及修正功能验证之系统 的具体工作流程进行叙述。本实例以中央处理器、需要插置8根内存以及具有支持有ECC错误侦测及 ECC功能程序代码之BIOS的服务器系统为例,来验证在ECC错误发生时,该服务
器系统与其内存之间有无正确的ECC动作产生。其中,所述之测试测试程序3为 使用Memtest vl 60 CD片,另结合图4中所示,其为测试治具21与内存20之间连 接的具体线路图,所述测试治具21为连接于内存20之数据接脚2011 ,且其在图 中标示为DQ。请参阅图5中所示,其为本具体实施例之工作流程图,且该实例为针对发 生4Gb以上之ECC错误时,验证系统内存间有无正确产生ECC动作。首先,将测试模块22中之内存20会同其它之内存(图中未示)一并插入至服 务器1内存插槽中(步骤400);然后启动系统进入BIOS的setup menu中将ECC选项 设为启动,同时,将装载有测试程序之光盘,即Memtest vl 60 CD片置放入服 务器之光驱中(步骤403),并运行上述程序于其内存测试目录下(步骤404)。在上述状况下,测试者按下测试模块之测试治具上的开关,以令与其连接 之内存的数据接脚或者侦错接脚接地,得以其产生ECC错误(步骤405)。且当内 存之芯片验证机制侦测到此错误信息,即将该错误信息传递给服务器之中央处 理器,该中央处理器在接收到该错误信息后,会自动重新启动该服务器系统。 在上述此过程中,ECC错误发生之位置及其错误状态是不会被清除掉,因此 BIOS透过其内之ECC错误侦测程序代码去侦测ECC错误的产生,其侦测到ECC错 误的产生后,即在上电自检时在屏幕上显示该错误信息,并启动BIOS中event 1og将该错误信息记录下来(步骤406和步骤407),测试者可通过查看该记录, 从而得知该上述ECC错误之详细信息,即而达到验证系统内存间在ECC错误发生 时是否有产生正确动作的目的。另外,该实例还可以针对发生4Gb以下之ECC错误时,去验证系统内存间有 无正确产生ECC动作,其工作流程如上所述一样。请再参阅图6中所示,其为本发明所述之另一实例的工作流程图。目前,D0S只是支持到4Gb的内存,则当发生4Gb以下之ECC错误时,使用上 述之测试程序便可在DOS环境下侦测到,其具体工作流程如下首先,将测试模块中之记忆体会同其它之内存一并插入至服务器之内存插 槽中(步骤400) ,然后启动系统进入BIOS的setup menu中将ECC功能选项设为启 动。在上述过程完成后,且当BIOS显示初始化ECC之后按下测试治具上之开关, 使得其处于闭合状态,以令内存之数据接脚或侦错接脚接地产生ECC错误(步骤 401和步骤405)。随后内存之芯片验证机制侦测到此错误信息,并将该错误信息 传递给服务器之中央处理器,且在该中央处理器在接收到该错误信息后,自动 重新启动该服务器系统。在上述启动过程中,BIOS透过其内具之ECC错误侦测程序代码去侦测ECC错 误的产生,且在侦测到ECC错误后,并在上电自检过程中时在屏幕上显示ECC Error的错误信息,以及将该错误信息记录下来,保存于BIOS中everit log中(步 骤406和步骤407),测试者只要通过査看该文档,便可得知该上述ECC错误产生
之详细信息,即而达到验证系统内存间在ECC错误发生时是否有产生正确之动 作的目的。
权利要求
1. 一种系统内存间错误检测及修正功能验证之方法,其用以验证内存与系统间对于ECC错误有无正常动作,其特征在于,包括如下步骤由测试模块仿真内存产生一ECC错误信号,并将该错误信号传送于被验证之服务器系统;服务器系统接收该ECC错误信号,重新启动;BIOS透过ECC侦错程序代码判断ECC错误产生。
2. 如权利要求1所述系统内存间错误检测及修正功能验证之方法,其特征 在于,还包括,于屏幕上显示ECC错误信息,并记录该错误信息于Event log中。
3. —种系统内存间错误检测及修正功能验证之系统,其特征在于,该系统 包括-一服务器,其具有支持ECC验证机制之中央处理器及具有ECC程序代码之 BIOS ;一测试模块,其用以仿真内存产生一ECC错误,且其包括一内存,其上至少具有一接脚;以及一测试治具,其电性连接于上述内存。
4. 如权利要求3所述系统内存间错误检测及修正功能验证之系统,其特征在于,所述测试治具包括一电路板、导线以及多组开关;所述多个开关为焊接 于电路板上,且该上述开关一端为通过导线连接于内存之接脚,另一端则是通 过导线连接至地。
5. 如权利要求3所述系统内存间错误检测及修正功能验证之系统,其特征 在于,还包括一测试程序,其用以对内存进行测试。
6. 如权利要求3所述系统内存间错误检测及修正功能验证之系统,其特征 在于,所述内存之接脚为数据接脚。
7. 如权利要求3所述系统内存间错误检测及修正功能验证之系统,其特征 在于,所述内存之接脚为侦错接脚。
8. 如权利異求4所述系统内存间错误检测及修正功能验证之系统,其特征 在于,在上述开关两端之间是设有跳线。
9. 如权利要求8所述系统内存间错误检测及修正功能验证之系统,其特征 在于,跳线为键帽式跳线。
全文摘要
本发明公开一种系统内存间错误检测及修正功能验证之系统及其方法,其通过一测试治具产生多位之ECC错误,通过内存传递至系统,系统经过处理后再透过系统BIOS中ECC侦错程序代码判断该错误的发生,于屏幕上显示,并将该错误信息保存,透过此机制,可以清楚的了解到,当ECC错误产生时,内存与系统间有无作出正确的动作,与现有的验证相比,节省了大量的成本,并且其操作方便、简单,具有较佳的实用价值。
文档编号G06F11/22GK101211292SQ200610132389
公开日2008年7月2日 申请日期2006年12月29日 优先权日2006年12月29日
发明者吕景翔, 张芸菁 申请人:佛山市顺德区顺达电脑厂有限公司;神达电脑股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1