CN100468349C - 存储器测试方法 - Google Patents
存储器测试方法 Download PDFInfo
- Publication number
- CN100468349C CN100468349C CNB200510093300XA CN200510093300A CN100468349C CN 100468349 C CN100468349 C CN 100468349C CN B200510093300X A CNB200510093300X A CN B200510093300XA CN 200510093300 A CN200510093300 A CN 200510093300A CN 100468349 C CN100468349 C CN 100468349C
- Authority
- CN
- China
- Prior art keywords
- storer
- address
- memory
- physical address
- page
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
本发明公开了一种存储器测试方法,包括以下步骤:激活操作系统,令系统进入存储器测试的保护模式;在存储器中创建一地址转换页表;判断待测存储器的物理地址空间是否超过4GB;若是,激活地址转换页表,将系统给定的32位线性地址转换为与存储器的实际物理地址相对应,并在系统中央处理器的控制下,依照地址转换页表查询和访问存储器的实际物理地址,且执行存储器检测算法进行存储器测试;若不是,则在系统中央处理器的控制下,直接访问与系统的32位线性地址相对应的存储器的实际物理地址,并执行存储器检测算法进行存储器测试。采用本发明可以访问和测试4GB以上存储器地址空间的问题及缺陷,从而在提高了存储器测试范围的同时节约了测试成本。
Description
技术领域
本发明涉及一种存储器测试方法,尤其涉及一种能够访问和测试计算机服务器系统或个人微电脑系统中4GB以上物理地址空间的存储器的存储器测试方法。
背景技术
随着计算机科技的快速发展,计算机服务器系统及个人微电脑系统的操作速度得到快速提升,为了满足程序对存储器容量需求的不断扩大,在计算机服务器系统及个人微电脑系统中所使用的物理存储器的实际存储空间也相应地随之增大,而存储器在前述的计算机服务器及微电脑结构中占有极重要的地位,只要有些微的错误发生在存储器之中,便极可能因数据产生错误或遗漏,而造成使用者极大的困扰,因此,定时对存储器进行访问并执行测试则显得尤为重要。一般来说,在计算机服务器及微电脑结构中都利用一可执行存储器检测算法的存储器测试软件(英文全称:Memory Testing Tool)来进行存储器的测试,其是利用计算机中央处理单元来执行存储器测试软件,使得中央处理单元可访问存储器中所有地址空间并执行存储器检测算法对存储器的所有地址空间进行数据读写或数据存取,从而达到对存储器进行测试的目的。
目前,在32位的计算机服务器及一些高阶的个人微电脑中所使用的存储器的物理地址空间已经超过4GB(可达8GB甚至更高),然而,在一般现有的计算机服务器及个人微电脑架构之下,存储器测试软件仅能在DOS操作系统下的大真实模式(英文全称:Big Real Mode)中来进行存储器的测试,众所周知,由于地址位数的限定,在具有32位地址线的计算机服务器及个人微电脑的大真实模式下,其系统中央处理单元执行存储器测试软件时仅能够寻址至4GB的地址空间,也就是说,4GB以上的地址空间对于32位机器来说,理论上已经无法进行访问和执行数据的读写或数据的存取,也就无法进行存储器的测试(因为从理论上讲,32位机器所具有的32条地址线,在全都发挥作用的情况下,所能寻址的物理地址空间最高可达4GB,对于4GB以上的存储器物理地址空间来说,该Intel 32位架构下的32位缓存器已经不可能访问得到),因此,在DOS操作系统下,对于32位计算机及微电脑系统中4GB以上的存储器空间进行访问和测试,仍是业内无法实现的一大难题。
发明内容
本发明所要解决的技术问题在于提供一种可面向大容量存储器(存储器的物理地址空间大于4GB)进行检测的存储器测试方法,该方法在操作系统的保护模式下,利用Intel公司提供的物理地址扩展(PAE)/页扩展(PSE)技术构建一地址转换页表结构,并可在待测试的存储器的物理地址空间超过4GB时,激活该地址转换页表及进行相关的缓存器的设定,将系统给定的32位线性地址转换成具有4GB以上物理地址空间的存储器的物理地址,从而实现对使用英特尔中央处理器的32位计算机服务器系统或个人微电脑系统中4GB以上的存储器地址空间进行访问及测试。
本发明所提供的一种存储器测试方法包括以下步骤:激活操作系统(优选为DOS操作系统),并令系统进入存储器测试的保护模式;基于Intel公司提供的物理地址扩展(英文全称:Physical Address Extension,简称:PAE)/页扩展(英文全称:Page Size Extension,简称:PSE)技术,在存储器中创建一地址转换页表结构,用以在后续步骤中将系统给定的32位线性地址转换成具有4GB以上物理地址空间的存储器的物理地址;判断所测试的存储器的物理地址空间是否超过4GB;如超过4GB,则激活地址转换页表结构,将系统给定的32位线性地址转换为与存储器的实际物理地址相对应,并在系统中央处理器的控制下,依据该地址转换页表查询和访问存储器的实际物理地址,且执行存储器检测算法对存储器进行测试,并且在完成对存储器的实际物理地址的访问及存储器测试后,关闭地址转换页表结构;以及如未超过4GB,则不激活地址转换页表结构,而在系统中央处理器的控制下,直接访问与系统给定的32位线性地址相对应的存储器的实际物理地址,并执行存储器检测算法对存储器进行测试。
另外,本发明的一种存储器测试方法还进一步包括如下步骤:在存储器的控制缓存器CR3中装载一具有两级页表结构的页映像表;在存储器的控制缓存器CR4中设定线性地址第5位支持物理地址扩展(PAE)功能,并设定线性地址第4位的偏移大小;以及,在存储器的控制缓存器CRO中设定线性地址第31位以使系统中央处理器具有支持查表架构的功能。
综上所述,本发明的效果在于:本发明的一种存储器测试方法,其利用Intel公司提供的物理地址扩展(PAE)/页扩展(PSE)技术构建一地址转换页表结构,并在待测试的存储器的物理地址空间超过4GB时,激活该地址转换页表及进行相关的缓存器的设定,将系统给定的32位线性地址转换成具有4GB以上物理地址空间的存储器的物理地址,并对该4GB以上的存储器地址空间进行访问及测试,从而解决了现有技术(特别是在DOS操作模式下)只能针对4GB以下的存储器空间进行测试而无法访问和测试4GB以上存储器地址空间的问题及缺陷,此外本发明的存储器测试方法,其可完全通过软件编程和相关程序设定而实现其技术效果,而无需添置新的硬件模块或进行系统硬件上的改变,从而在提高了存储器测试范围的同时节约了测试成本。
以下结合附图和具体实施例对本发明进行详细描述,但不作为对本发明的限定。
附图说明
图1为本发明的一种存储器测试方法的整体步骤流程图;以及
图2为与本发明的存储器测试方法相对应的存储器地址的简图。
其中,附图标记:
步骤101激活操作系统,并令系统进入存储器测试的保护模式
步骤102在存储器中创建一地址转换页表结构
步骤1021在存储器的控制缓存器CR3中装载一具有两级页表结构的页映像表
步骤1022在存储器的控制缓存器CR4中设定系统线性地址第5位支持物理地址扩展(PAE)功能,并设定线性地址第4位的偏移大小
步骤1023在存储器的控制缓存器CRO中设定系统线性地址第31位以使系统中央处理器具有支持查表架构的功能
步骤103判断待测存储器的物理地址空间是否超过4GB
步骤104激活地址转换页表结构,依据地址转换页表查询和访问存储器的实际物理地址,并执行存储器检测算法对存储器进行测试
步骤105关闭地址转换页表结构
步骤106不激活地址转换页表结构,直接访问与系统32位线性地址相对应的存储器的实际物理地址,并执行存储器检测算法对存储器进行测试。
具体实施方式
以下,将结合附图对本发明的优选实施方式作详细说明。
如图1所示,该图为本发明的一种存储器测试方法的整体步骤流程图。如图所示,本发明的一种存储器测试方法,应用于使用英特尔中央处理器的计算机服务器系统或个人微电脑系统中的存储器检测过程中,该方法包括以下步骤:
激活操作系统,并令系统进入存储器测试的保护模式(步骤101),该步骤中的操作系统优选为DOS操作系统。
在存储器中创建一地址转换页表结构(步骤102),用以在后续步骤中将系统给定的32位线性地址转换成具有4GB以上物理地址空间的存储器的物理地址,该步骤102中的地址转换页表结构是基于Intel公司提供的物理地址扩展(英文全称:Physical Address Extension,简称:PAE,其特点是可将系统原有的物理地址线加以扩展)/页扩展(英文全称:Page Size Extension,简称:PSE,其特点是可对建立存储器地址表的格式起作用)技术而构建的。
本发明的存储器测试方法,其运用上述物理地址扩展(PAE)/页扩展(PSE)技术构建地址转换页表结构的具体步骤还进一步包括:
在存储器的控制缓存器CR3中装载一具有两级页表结构的页映像表(步骤1021),其中,该页映像表的第一级为页目录索引表,由系统线性地址第30位和第31位组成,可建立00、01、10、11共4个表项,该页映像表的第二级为包含有对应物理地址空间页页码的页表,由系统线性地址第21位至第29位组成,共可建立512个表项,因此,该两级页表结构的页映像表一共可建立4×512=2048张页表;
在存储器的控制缓存器CR4中设定系统线性地址第5位支持物理地址扩展(PAE)功能,并设定该线性地址第4位的偏移大小(步骤1022),其中线性地址第4位的偏移大小被设定为:Set it是4M,Clear it是2M,需要说明的是此处控制缓存器CR4的实际状态是:如果先Clear控制缓存器CR4的第5位,再做Set使其第4位大小为4M;否则,在不先清除控制缓存器CR4第5位的情况下,Set该控制缓存器CR4的第5位,无论第4位是0或1,都表示其大小是2M;以及
在存储器的控制缓存器CRO中设定系统线性地址第31位以使系统中央处理器具有支持查表架构的功能(步骤1023),从而令系统中央处理器可以在后续步骤中访问到4GB以上的存储器空间,当然,如果将控制缓存器CRO的32位Clear(清除),则系统中央处理器便可以访问4GB以下的存储器空间。
判断所测试的存储器的物理地址空间是否超过4GB(步骤103)
如超过4GB,则激活地址转换页表结构,将系统给定的32位线性地址转换为与存储器的实际物理地址相对应,并在系统中央处理器的控制下,依据该地址转换页表查询和访问存储器的实际物理地址,且执行存储器检测算法对存储器进行测试(步骤104),其中存储器检测算法是通过向存储器中所有物理地址空间内写入特定的数值,然后再读出该数值与原数值进行对比从而实现存储器测试的各种存储器检测算法。
当完成对存储器的实际物理地址的访问及存储器测试后,关闭地址转换页表结构(步骤105)。以及
如未超过4GB,则不激活地址转换页表结构,而在系统中央处理器的控制下,直接访问与系统给定的32位线性地址相对应的存储器的实际物理地址,并执行存储器检测算法对存储器进行测试(步骤106),其中存储器检测算法是通过向存储器中所有物理地址空间内写入特定的数值,然后再读出该数值与原数值进行对比从而实现存储器测试的各种存储器检测算法。
至此,本发明的存储器测试方法的步骤全部执行完毕,其通过在两种测试手段的间的变换,令系统中央处理器既可以访问4GB以上也可以访问4GB以下的存储器地址空间,并利用存储器测试软件来执行存储器检测算法对4GB以上或4GB以下的存储器的所有地址空间进行数据读写或数据存取,从而实现对目前存储器容量范围内(大于4GB或小于等于4GB)的所有存储器进行测试的目的。此外,本发明的存储器测试方法不仅适用于DOS操作系统下的存储器检测,只要是采用Intel中央处理器(CPU)的计算机服务器系统或个人微电脑系统,无论其处于何种操作系统模式下,均可通过本发明的存储器测试方法进行存储器的检测。
如图2所示,该图为与本发明的存储器测试方法相对应的存储器地址的简图。如图所示,根据本发明的存储器测试方法创建一地址转换页表结构以及对系统中的存储器的控制缓存器CR3、CR4和CRO进行相关设定后,该系统线性地址第31位和第30位负责建立起两级页表结构的页映像表的第一级,为一页目录索引表,其用以索引指向至页映像表的第二级,总共可以建立00、01、10、11共4个表项。
系统线性地址第29位至第21位负责建立页映像表的第二级页表,为包含有对应物理地址空间页页码的页表,其由系统线性地址第21位至第29位所组成,共可建立512个表项,因此,该两级页表结构的页映像表一共可建立4×512=2048张页表。
系统线性地址第20位至第0位是建表必须的属性位,其含义是在存储器中的某一个地方构建表格,并填写对应的物理地址,当页映像表建表完成后,如果系统要访问的是4GB以上的地址空间,则在控制缓存器CRO中设定系统线性地址第31位以使系统中央处理器(CPU)进入“翻译”过程,即令系统中央处理器具有支持查表架构的功能。
下面,将通过一实例简单加以说明,假如,我们给定的某个线性地址为:0x80040000,它将根据上述设定访问存储器地址空间的方法是:如果其线性地址的第31位和第30位是10,那么系统将访问00、01、10、11四个表项中的第三个表项,即10表项;如果线性地址的第22位和第21位是10,则访问地址偏移2处(从页目录索引表指向的第三张表项处,再从线性地址第21至29位得到Ox002,从0处为起始,2表示偏移2处的位置),从中取出地址再加上线性地址的后20位就是我们所要访问和测试的存储器的实际物理地址(因为之前我们只查找了线性地址的第21位至第31位,但并没有算线性地址的后20位,所以得到的地址必须加上线性地址0x80040000的后20位,可是碰巧这后20位都是0,所以从页表中取出的地址就是要访问和测试的实际物理地址,当然,此时要访问和检测的已经是4GB以上的存储器地址了。
本发明的效果在于:本发明的一种存储器测试方法,其利用Intel公司提供的物理地址扩展(PAE)/页扩展(PSE)技术构建一地址转换页表结构,并在待测试的存储器的物理地址空间超过4GB时,激活该地址转换页表及进行相关的缓存器的设定,将系统给定的32位线性地址转换成具有4GB以上物理地址空间的存储器的物理地址,并对该4GB以上的存储器地址空间进行访问及测试,从而解决了现有技术(特别是在DOS操作模式下)只能针对4GB以下的存储器空间进行测试而无法访问和测试4GB以上存储器地址空间的问题及缺陷,此外本发明的存储器测试方法,其可完全透过软件编程和相关程序设定而实现其技术效果,而无需添置新的硬件模块或进行系统硬件上的改变,从而在提高了存储器测试范围的同时节约了测试成本。
当然,本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
Claims (8)
1、一种存储器测试方法,应用于使用英特尔中央处理器的计算机服务器系统或个人微电脑系统中的存储器检测过程,其特征在于,该方法包括以下步骤:
激活操作系统,并令系统进入存储器测试的保护模式;
在存储器中创建一地址转换页表结构,用以在后续步骤中将系统给定的32位线性地址转换成具有4GB以上物理地址空间的存储器的物理地址;
判断所测试的存储器的物理地址空间是否超过4GB;
如超过4GB,则激活所述地址转换页表结构,将系统给定的32位线性地址转换为与所述存储器的实际物理地址相对应,并在系统中央处理器的控制下,依据该地址转换页表查询和访问所述存储器的实际物理地址,且执行存储器检测算法对该存储器进行测试,并且在完成对所述存储器的实际物理地址的访问及存储器测试后,关闭该地址转换页表结构;以及
如未超过4GB,则不激活所述地址转换页表结构,而在所述系统中央处理器的控制下,直接访问与系统给定的32位线性地址相对应的所述存储器的实际物理地址,并执行存储器检测算法对该存储器进行测试。
2、根据权利要求1所述的方法,其特征在于,所述地址转换页表结构是基于Intel公司提供的物理地址扩展/页扩展技术而构建的。
3、根据权利要求2所述的方法,其特征在于,进一步包括如下步骤:
在存储器的控制缓存器CR3中装载一具有两级页表结构的页映像表;
在存储器的控制缓存器CR4中设定所述线性地址第5位支持所述物理地址扩展功能,并设定该线性地址第4位的偏移大小;以及
在存储器的控制缓存器CRO中设定所述线性地址第31位以使所述系统中央处理器具有支持查表架构的功能。
4、根据权利要求3所述的方法,其特征在于,所述页映像表的第一级为页目录索引表,由所述线性地址第30位和第31位组成,可建立00、01、10、11共4个表项。
5、根据权利要求3所述的方法,其特征在于,所述页映像表的第二级为包含有对应物理地址空间页页码的页表,由所述线性地址第21位至第29位组成,共可建立512个表项。
6、根据权利要求3所述的方法,其特征在于,所述线性地址第4位的偏移大小为4M或2M。
7、根据权利要求1所述的方法,其特征在于,所述操作系统为DOS操作系统。
8、根据权利要求1所述的方法,其特征在于,所述存储器检测算法是通过向存储器中所有物理地址空间内写入特定的数值,然后再读出该数值与原数值进行对比从而实现存储器测试的各种存储器检测算法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB200510093300XA CN100468349C (zh) | 2005-08-24 | 2005-08-24 | 存储器测试方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB200510093300XA CN100468349C (zh) | 2005-08-24 | 2005-08-24 | 存储器测试方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1920783A CN1920783A (zh) | 2007-02-28 |
CN100468349C true CN100468349C (zh) | 2009-03-11 |
Family
ID=37778513
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB200510093300XA Expired - Fee Related CN100468349C (zh) | 2005-08-24 | 2005-08-24 | 存储器测试方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100468349C (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102033796B (zh) * | 2009-09-25 | 2013-01-16 | 中国移动通信集团公司 | 测试系统和方法 |
CN101763227B (zh) * | 2010-01-28 | 2012-01-04 | 成都市华为赛门铁克科技有限公司 | 数据处理方法和虚拟硬盘 |
CN104681101A (zh) * | 2013-11-28 | 2015-06-03 | 英业达科技有限公司 | 基于非统一存储器访问架构的存储器检测系统及其方法 |
CN104182352B (zh) * | 2014-08-19 | 2017-11-24 | 湖北盛天网络技术股份有限公司 | 用于访问4gb以上物理内存地址空间的方法及装置 |
US9043638B1 (en) * | 2014-11-14 | 2015-05-26 | Quanta Computer Inc. | Method for enhancing memory fault tolerance |
CN106383751B (zh) * | 2016-09-23 | 2020-10-20 | 卡斯柯信号有限公司 | 一种改进的随机存取内存自检方法 |
CN107870736B (zh) * | 2016-09-28 | 2021-08-10 | 龙芯中科技术股份有限公司 | 支持大于4gb非线性闪存的方法及装置 |
CN107193752B (zh) * | 2017-05-19 | 2020-08-25 | 苏州浪潮智能科技有限公司 | 一种解决外插卡内存地址不够分配的方法 |
CN109408407B (zh) * | 2018-10-19 | 2021-08-03 | 龙芯中科技术股份有限公司 | 显示内存的分配方法和装置 |
CN114127853A (zh) * | 2019-08-21 | 2022-03-01 | 华为技术有限公司 | 一种存储器测试电路及装置 |
-
2005
- 2005-08-24 CN CNB200510093300XA patent/CN100468349C/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN1920783A (zh) | 2007-02-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100468349C (zh) | 存储器测试方法 | |
CN101107593B (zh) | 支持虚拟机环境中的地址转换的方法及装置 | |
CN1993683B (zh) | 体系结构事件期间维持处理器资源 | |
CN101346706B (zh) | 虚拟转换后备缓冲器 | |
CN113868155B (zh) | 一种内存空间扩展方法、装置及电子设备和存储介质 | |
EP2483783B1 (en) | Facilitating memory accesses | |
US20160283396A1 (en) | Memory management | |
CN102439567A (zh) | 分布式虚拟机访问异常的处理方法以及虚拟机监控器 | |
CN104239237A (zh) | 一种tlb管理方法及装置 | |
CN101620573B (zh) | X86体系结构内存管理单元虚拟化方法 | |
JPH0512126A (ja) | 仮想計算機のアドレス変換装置及びアドレス変換方法 | |
JP5579003B2 (ja) | アドレス変換検査装置、中央処理演算装置、及びアドレス変換検査方法 | |
JP5318197B2 (ja) | ホストデータ処理装置内におけるデバイスエミュレーションのサポート | |
CN114063934B (zh) | 数据更新装置、方法及电子设备 | |
CN108463810B (zh) | 存储器地址变换管理 | |
JP2011165093A (ja) | メモリアクセス調査装置、メモリアクセス調査方法、及びプログラム | |
TW212840B (en) | Multi-bit vector for page aging | |
JPH0192856A (ja) | アクセス及び欠陥論理信号を用いて主メモリユニットを保護する装置及び方法 | |
JPH02308349A (ja) | バッファ記憶制御装置 | |
US11288207B2 (en) | Apparatus and method for processing address translation and invalidation transactions | |
US9251093B2 (en) | Managing the translation look-aside buffer (TLB) of an emulated machine | |
CN110869915B (zh) | 存储器地址转换 | |
JP5088042B2 (ja) | キャッシュタグ試験方式 | |
EP4158488A1 (en) | Apparatus and method | |
CN116171432A (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20191224 Address after: No. 99, University Road, high tech Zone, Xuzhou City, Jiangsu Province Patentee after: XUZHOU LIFANG ELECTROMECHANICAL EQUIPMENT MANUFACTURING CO., LTD. Address before: Taipei City, Taiwan, China Patentee before: Yingda Co., Ltd. |
|
TR01 | Transfer of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20090311 Termination date: 20190824 |
|
CF01 | Termination of patent right due to non-payment of annual fee |