内存测试方法

文档序号:6589539阅读:219来源:国知局
专利名称:内存测试方法
技术领域
本发明涉及一种测试方法,尤其是关于一种内存的测试方法。
背景技术
内存是电脑内存的主要组成部分,而内存则是组成电脑基本部件之一,因此内存直接决定电脑系统性能。所以,一旦内存出现故障,即会造成系统读写错误,导致资料丢失,因而定时对内存进行测试显得尤为重要。而一般的内存测试方法,弊端较多,请参阅图1,此种方法系在电脑上执行,其先将测试所须之数据存储于一数据库中,再将数据库及测试用参数存储在一存储装置中,然后进行测试,其执行步骤如下步骤201激活操作系统;步骤202使电脑系统进入可寻址4G内存范围的保护模式并开始作业;步骤203从存储器中取出预先设定之测试时间、测试次数等参数;步骤204清除掉高速缓存的内容,以免其对内存储器的测试造成干扰;步骤205将高速缓冲存储器屏蔽;步骤206从测试数据库中以随机方式,调出一测试模板作为测试数据,此种供测试用数据库中存储有供内存测试用数据,其置于存储装置中;步骤207将随机抽出的一组模板写入到被测内存块中;步骤208将从内存中读出的内容与测试时写入的内容作比较,看两者是否相符,若不符,则执行步骤209,显示内存错误信息,表示内存出错;步骤210若相符,则表示其为正常运作之良品,并结束测试。
由上面之测试步骤可以看出此种方法不能随意调节内存读写之间的时间间隔,也就不能判断出内存出现之错误是读错误还是写错误,通常情况,第一次即出现读出资料与写入资料不符是明显的读错误,若第一次正确,而重复几次读出后,出现读出与写入资料不符的情况,才可确定为写错误,因此一般的内存的测试方法不能随意调节内存读写之间的时间间隔就是不能分辨出内存出现的是读错误还是写错误,给测试带来不便。另外,此种方法还不能对单一的内存单元进行测试,这样就会出现经首轮测试测出内存错误信息,而要复现错误充分找出错误信息时又得从头再来一次测试,此种测试浪费大量时间,且效果不容乐观。再次,此种方法之操作系统系在可寻址4G内存范围的保护模式下进行,此种模式下的测试数据最终还需用描述符“编译”出来,才可识别,增加了测试难度。

发明内容
本发明的目的,系提供一种性能优良的内存测试方法,该方法主要系在电脑上执行,并使操作系统于可寻址4G字节内存范围的实模式下,再透过存取装置取出测试时所需之参数,加载待测之内存中,再将高速缓存的内容加以清除,同时选择测试模式,再透过配合之测试方式,来测试该待测内存之读取是否正常,当测试结束时,则重新将数据加载高速缓存中,使其运作,同时令系统离开可寻址4G字节内存范围的实模式,如此,不但能随意调节读写之间的时间间隔,且能对单一的存储单元进行测试。
本发明之另一目的,系提供一种性能优良的内存测试方法,当系统要对待测内存全部单元进行测试时,则系统会从预先储存在数据库中之资料(该数据库中资料系设计者根据测试需要,而编写的一些用作测试的资料),以随机之方式抽取出来,再将所取得之资料加载待测内存所有单元中,同时激活时间计数器,设定等待时间,等待一段时间后,计数器减一(N=N-1),直至计数器为零,再将每次测试时,由待测内存所读取之资料,与原先加载待测内存中之资料比较,若两者之资料不相符,则显示错误之讯息,并停止测试动作;若两者之资料相符,则将该待测内存中之资料取出,以与原先加载待测内存之相反顺序,重新加载待测内存,并以上述相同步骤进行测试,若两者之资料不相符,则显示错误之讯息,并停止测试动作,若两者之资料相符,则表示该待测内内存为可正常运作之良品。
本发明之再一目的,系提供一种性能优良的内存测试方法,当系统要对待测内存其中一单元进行测试时,则系统会从预先储存在数据库中之资料(该数据库中资料系设计者根据测试需要,而编写的一些用作测试的资料),以随机之方式抽取出来,将所取得之资料加载待测内存欲测之单元中,然后从被测单元中读出资料,并判断该待测之单元内所读取之资料,与原先加载该单元中之资料是否相同,再判断由该待测之单元内所读取之数据,与原先加载该单元中之数据比较,若两者之资料不相符,则显示错误之讯息,并停止测试动作,若两者之资料相符,则激活时间计数器,设定等待时间,一段时数后,计数器减一(N=N-1),直至计数器为零,结束等待,并再次从内存单元中读出先前加载内存单元之资料,再次判断该待测之单元内所读取之资料,与原先加载该单元中之数据是否相同,若两者之资料不相符,则显示错误之讯息,并停止测试动作,若两者资料相符,则判断是否达到预定之测试次数,若是,结束测试,若否,继续重复上述测试动作,直至达到预定测试次数,若读出之资料始终与加载之测试资料相符,则表示该待测内存单元可正常运作,如此,即可达到对待测内存任一单元进行测试之目的。


图1是先前技术内存储体测试方法之流程图;图2是本发明之内存测试方法之主程序流程图;图3是本发明内存测试方法之内存块测试子程序流程图;图4是本发明内存测试方法之某一固定内存单元测试子程序流程图。
具体实施例请参阅图2所示,本发明系一种内存测试方法,其系一种在计算器上执行之测试方法,该测试方法主要系预先将测试时所需之资料以模块之方式,储存于一数据库中,再将该数据库以及测试时所需之参数储存于计算器中之储存装置中后,再进行测试,其测试步骤如下步骤1激活操作系统;步骤2使该系统于可寻址4G字节内存范围的实模式中(Big Real Mode),此种模式是介于实模式(Real Mode)和保护模式(Protect Mode)之间的一种模式。按,目前电脑中只有两种DOS操作模式一种是实模式(Big Real Mode),所谓实模式是DOS系统下的一种模式,其空间只有1M;保护模式空间较大,有4G,但这种模式不能用DOS下的命令功能;另一种则是保护模式(Protect Mode)。
而可寻址4G字节内存范围的实模式解决了这一问题,此种模式先进入保护模式,确定可寻址4G范围的容量,然后退出保护模式,进入实模式状态,即达到可寻址4G内存的实模式。此种模式使普通内存拥有能寻址4G空间容量的能力,因此它不仅有足够大的寻址空间,而且能应用DOS下的命令功能。
步骤3再由储存装置中取出所需之参数;例如,测试时间,测试次数,测试的内存等参数后;步骤4为了消除高速缓存对待测内存有所影响,将高速缓存之内容加以清除;步骤5再将该高速缓存加以屏蔽;步骤6为了确实高速缓存中之内容完全清除,再次对高速缓存作清除之动作,以确保该高速缓存之内容完全清除干净;步骤7判断是否对待测内存全部单元进行测试,如是,则继续步骤8之动作,如否,则进行步骤9之动作;步骤8透过对待测内存全部单元进行测试相配合之相应第一子程序,来测试该待测内存所有单元之读取是否正常;步骤9继续判断是否对待测内存其中一单元进行测试,如是,则继续步骤10之动作,如否,则进行步骤12之动作;步骤10透过对待测内存其中一单元进行测试相配合之相应第二子程序,来测试该待测内存其中一单元之读取是否正常;步骤11判断是否所有测试动作已经结束,如否,则继续进行测试动作,如是,则继续进行下一个步骤;步骤12将数据重新加载高速缓存中,使其运作;步骤13令系统离开可寻址4G字节内存范围的实模式;步骤14结束所有动作,离开系统。
请参照图3所示,当系统选择是对待测内存全部单元进行测试时,第一子程序其测试步骤如下步骤801系统从预先储存在数据库中之资料,以随机之方式抽取一模块资料出来;
步骤802将由数据库所取得之资料加载待测内存所有单元中;步骤803激活时间计数器,进入等待状态,令计数器完成一段等待时间后,即将原先设定时间减一(N=N-1),设定等待时间,是因为内存储器具有时效效应,通常一些故障内存,开始时读取正确,但等待一段时间后,出现读取出错情况,此种等待因可随意调节其等待时间间隔,故,此种等待动作正是用来检测此种内存错误;步骤804进行等待动作,直至计数器为零;步骤805将每次测试时,由待测内存所读取之资料,与原先加载待测内存中之资料比较,若两者之资料不相符,则进行步骤808之动作,显示错误之讯息,并停止测试动作;步骤806若两者之资料相符,则将该待测内存中之资料取出,以与原先加载待测内存之相反顺序,重新加载待测内存中,因内存出错可分为读错误和写错误,第一次正确,并非内存无错,若重复读出后,出现读出与写入资料不符的情况,可确定为写错误,因此,本步骤之重新写入动作,可用来判断内存是否有写错误之错误类型;步骤807激活时间计数器,进入等待状态,令计数器完成一段等待时间后,即将原先设定时间减一(N=N-1);步骤809进行等待动作,直至计数器为零,完成等待;步骤810将每次测试时,由待测内存所读取之资料,与原先加载待测内存中之资料比较,若两者之资料不相符,则进行步骤808之动作,显示错误之讯息,并停止测试动作;步骤811若两者之资料相符,则回到步骤11,继续执行以下之动作。
请参照图4所示,当系统选择是对待测内存其中一单元进行测试时,第二子程序其测试步骤如下步骤101系统从预先储存在数据库中之资料,以随机之方式抽取一模块资料出来;步骤102将由数据库所取得之模块资料加载待测内存其中一单元中;步骤103读取被加载该待测单个内存单元之资料;步骤104判断由该待测单个内存单元所读取之资料,与原先加载该待测单个内存单元之资料,是否相同;步骤109若两者之资料不相符,则执行步骤109,显示错误之讯息,进而执行步骤11,停止测试动作;步骤105若两者之资料相符,则激活时间计数器,进入等待状态,令计数器完成一段等待时间后,即将原先设定时间减一(N=N-1);步骤106判断计数器是否归零,如否,重复执行步骤105之动作,如是,则继续执行步骤107之动作;步骤107当计数器归零时,再次从该待测单个内存单元中读取资料;步骤108判断由该待测内存其中一单元所读取之资料,与原先加载该待测内存其中一单元之资料,是否相同,若两者之资料不相符,则执行步骤109之动作,显示错误之讯息,进而执行步骤11,停止测试动作;步骤110若两者之资料相符,则检验测试次数,看是否达到预定之测试次数,此种测试之次数有测试者自行预定,其目的是为确保反复读取后的数据依然保持正确性,从而确保内存无错,一般情况,此种测试次数可设定为4次,看测试次数是否达到4次,如否,重复执行步骤105之动作,如是,则结束测试动作,回到步骤11,继续执行以下之动作。
由此,藉上述之测试方法,不但能随意调节读写之间的时间间隔,且能对单一的存储单元进行测试。
权利要求
1.一种内存测试方法,系在电脑上执行,其执行步骤如下进入可寻址4G字节内存范围的实模式中(Big Real Mode);由储存装置中取出原先所储存测试用之参数;将高速缓存之内容加以清除;将该高速缓存加以屏蔽;判断是否对待测内存全部单元进行测试;如是,则执行对待测内存全部单元进行测试的第一子程序;如否,继续判断是否对待测内存其中一单元进行测试;如是,则执行待测内存其中一单元进行测试的第二子程序,如否,则结束测试;判断是否所有测试动作已经结束,如否,则继续进行测试动作;如是,则将资料重新加载高速缓存中,使其运作,令系统离开可寻址4G字节内存范围的实模式。
2.如权利要求1所述之内存测试方法,其特征在于在进行对高速缓存加以屏蔽后,再次对高速缓存作清除之动作。
3.如权利要求1所述之内存测试方法,其特征在于所述第一子程序的测试步骤如下由预先储存在数据库中之资料,以随机之方式抽取一模块资料出来;同时将所述数据库之资料加载待测内存所有单元中;接下来,系统执行一比较步骤激活时间计数器,令计数器完成预设等待时间后,读取该单元之资料,判断由该单元所读取之资料,与原先加载该单元之数据是否相同,若两者之资料不相符,则显示错误之讯息,并停止测试动作;若两者之资料相符,则结束测试。
4.如权利要求3所述之内存测试方法,其特征在于若两者之资料相符,还可将该待测内存中之资料再次取出,以与原先加载该待测内存之相反顺序,重新加载待测内存中,所述资料重新加载待测内存步骤完成后,可再次执行上述比较步骤;若两者之资料不相符,则显示错误之讯息,并停止测试动作;若两者之资料相符,则结束测试。
5.如权利要求1或2或3或4所述之内存测试方法,其特征在于所述第二子程序的测试步骤如下从储存在数据库中之资料中,以随机之方式抽取一模块资料出来;将模块资料加载待测内存其中一单元中;执行一比较步骤激活时间计数器,令计数器完成预设等待时间后,读取该单元之资料,判断由该单元所读取之资料,与原先加载该单元之数据是否相同;若两者之资料不相符,则显示错误之讯息,并停止测试动作;若两者之资料相符,检验测试次数,看是否达到预定之测试次数,如是则结束测试动作;如否,重复执行比较步骤。
全文摘要
本发明系一种内存测试方法,该测试方法系透过电脑来执行,该方法系在操作系统于可寻址4G字节内存范围的实模式(Big Real Mode)下,将高速缓存的内容清除干净,以避免其干扰测试之进行,然后对待测内存进行确认后,再随测试之需要,对内存块或是某一固定内存单元进行测试,如此一来,不但可随意调节内存上读写之间的时间间隔,且可节省测试时间。
文档编号G06F11/36GK1485739SQ0213483
公开日2004年3月31日 申请日期2002年9月27日 优先权日2002年9月27日
发明者钟荣标 申请人:顺德市顺达电脑厂有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1