CN108132860A - 依存储器模块的物理地址范围测试存储器的系统及方法 - Google Patents
依存储器模块的物理地址范围测试存储器的系统及方法 Download PDFInfo
- Publication number
- CN108132860A CN108132860A CN201611093524.5A CN201611093524A CN108132860A CN 108132860 A CN108132860 A CN 108132860A CN 201611093524 A CN201611093524 A CN 201611093524A CN 108132860 A CN108132860 A CN 108132860A
- Authority
- CN
- China
- Prior art keywords
- memory
- range
- test
- physical addresses
- module
- 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.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2205—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明公开一种依存储器模块的物理地址范围测试存储器的系统及方法,其通过获取特定存储器模块的物理地址范围后,依据所取得的物理地址范围配置内存区段,并对所配置的内存区段进行测试以测试特定存储器模块的技术手段,可以有效的筛选出有问题的存储器模块及确认有问题的存储器范围,并达成减少存储器测试时间的技术功效。
Description
技术领域
本发明涉及一种存储器测试系统及方法,特别是指一种依存储器模块的物理地址范围测试存储器的系统及其方法。
背景技术
不论是简单的可携式计算机或是复杂的多处理器服务器,就目前的存储器测试技术而言,关键点在两个方面,第一个方面是测试演算法,第二个方面是对待测存储器的精确筛选以及对问题区段的精确定位。
其中,目前对存储器检测的演算法目前已经完全标准化、公开化、透明化,所以任何厂商都可以实现所有的测试内容;因此,如何精确筛选出有问题的待测存储器以及如何精确定位出问题区段的技术才是目前存储器检测的核心,不同的厂商之间差别较大。
然而,目前所有厂商对存储器的检测仅仅是依靠操作系统随机分配存储器的机制来进行测试,因此,可能发生待测存储器有错误,但在测试时没有分配到会发生错误的存储器范围而没有检测出存储器有问题,又或是即使检测出存储器有问题也无法给出明确的错误位置。这样的测试方式导致无法确认存储器的测试覆盖率与测试效率,进而导致测试过程没有参考意义且测试结果充满不可靠性。
综上所述,可知现有技术中长期以来一直存在没有待测存储器的有效错误筛选机制及错误区段定位机制的问题,因此有必要提出改进的技术手段,来解决此一问题。
发明内容
有鉴于现有技术存在没有待测存储器的有效错误筛选机制及错误区段定位机制的问题,本发明遂揭露一种依存储器模块的物理地址范围测试存储器的系统及方法,其中:
本发明所揭露的依存储器模块的物理地址范围测试存储器的系统,应用于计算机,计算机中安装存储器模块,该系统至少包含:地址获取模块,用以获取存储器模块的物理地址范围;空间配置模块,用以依据物理地址范围于存储器模块所提供的储存空间中配置内存区段;测试模块,用以测试内存区段。
本发明所揭露的依存储器模块的物理地址范围测试存储器的方法,应用于计算机,计算机中安装存储器模块,其步骤至少包括:获取存储器模块的物理地址范围;依据物理地址范围于存储器模块所提供的储存空间中配置内存区段;测试内存区段。
本发明所揭露的系统与方法如上,与现有技术之间的差异在于本发明通过获取特定存储器模块的物理地址范围后,依据所取得的物理地址范围配置内存区段,并对所配置的内存区段进行测试以测试特定存储器模块,藉以解决现有技术所存在的问题,并可以达成减少存储器测试时间的技术功效。
附图说明
图1为本发明所述的依存储器模块的物理地址范围测试存储器的系统架构图。
图2为本发明所述的依存储器模块的物理地址范围测试存储器的方法流程图。
【符号说明】
100 计算机
101 存储器模块
103 存储器管理系统
110 地址获取模块
120 空间配置模块
130 测试模块
140 互动模块
具体实施方式
以下将配合图式及实施例来详细说明本发明的特征与实施方式,内容足以使任何本领域技术人员能够轻易地充分理解本发明解决技术问题所应用的技术手段并据以实施,藉此实现本发明可达成的功效。
本发明可以获取特定存储器模块(Dual In-line Memory Module,DIMM)的物理地址(physical address)范围,并依据所取得的物理地址范围配置内存区段,使得被配置的内存区段与特定存储器模块的物理地址范围完全相符,藉以由测试所配置的内存区段来完成特定存储器模块的测试。
以下先以「图1」本发明所述的依存储器模块的物理地址范围测试存储器的系统架构图来说明本发明的系统运作。如「图1」所示,本发明的系统含有地址获取模块110、空间配置模块120、测试模块130、以及可附加的互动模块140。
地址获取模块110负责获取与安装于计算机100内的主机板(图中未示)上的插槽(slot)连接的各个存储器模块101的物理地址范围。一般而言,地址获取模块110可以根据插槽识别码(Socket ID)、存储器控制器识别码(MC ID)、存储器通道识别码(Channel ID)、存储器模块识别码(DIMM ID)、存储芯片区块识别码(Rank ID)判断出安装于计算机100内的各个存储器模块101的物理地址范围,也就是各个存储器模块101的起始物理地址与结束物理地址。在部分的实施例中,地址获取模块110可以先由插槽识别码、存储器控制器识别码、存储器通道识别码、存储器模块识别码、以及存储芯片区块识别码判断存储芯片区块地址(Rank Address),并由存储芯片区块地址、存储器通道识别码、存储器模块识别码、以及存储芯片区块识别码判断存储器通道地址(Channel Address),再由存储器通道地址、插槽识别码、存储器控制器识别码、以及存储器通道识别码判断物理地址。但地址获取模块110获取存储器模块101的物理地址范围的方式并不以上述为限。
空间配置模块120负责依据地址获取模块110所获取的物理地址范围于安装于计算机100内的存储器模块101所产生的存储器中配置内存区段。如此,空间配置模块120所配置的内存区段便会符合地址获取模块110所获取的物理地址范围,也就是空间配置模块120所配置的内存区段会对应到拥有地址获取模块110所获取的物理地址范围的存储器模块101。
一般而言,空间配置模块120包含于核心程序(kernel)中,可以遍历(traversal)计算机100的存储器管理系统103所使用的存储器管理结构,藉以搜寻符合地址获取模块110所获取的物理地址范围的一个或多个页面(page),并将所搜寻到的页面的识别数据由计算机100的存储器管理系统103所管理的可用内存(available memory)链表中移除。如此,符合地址获取模块110所获取的物理地址范围将不再是可被配置与写入的内存区段,而是仅有记录地址获取模块110所获取的物理地址范围的本发明的系统可以存取。
测试模块130负责测试空间配置模块120所配置的内存区段,通常也就是对地址获取模块110所获取的物理地址范围进行读取与写入的操作,如此即可以对拥有地址获取模块110所获取的物理地址范围的存储器模块101进行读写的测试。
测试模块130可以将对地址获取模块110所获取的物理地址范围(也就是空间配置模块120所配置的内存区段)分割为多个内存区段,测试模块130所分割出的内存区段的数量小于或等于计算机100内的所有中央处理器的处理核心(core)总数(例如,计算机100内有两个中央处理器,且每一个中央处理器分别有八个处理核心,则测试模块130可以分割出十六个内存区段或少于十六个内存区段),且各个被分割出的内存区段的大小通常相同或相近。测试模块130也可以分别为多个处理核心配置测试线程(thread),每一个测试线程对应一个测试模块130所分割出的内存区段,且每一个测试线程所对应的内存区段不同,所有的测试线程可以对应到全部的内存区段。其中,配置有测试线程的处理核心的数量通常与测试模块130所分割出的内存区段的数量相同,在配置有测试线程的处理核心执行测试线程时,测试线程所对应的内存区段代表的物理位置范围(内存区段)将会被测试。由于计算机100内的所有的处理核心可以同时运作,因此,当所有配置有测试线程的处理核心同时执行测试线程时,地址获取模块110所获取的物理地址范围(也就是空间配置模块120所配置的所有内存区段)便可以在一个处理核心执行一次测试线程的时间上完成,也就是说,本发明测试特定存储器所需的时间可以只是一个测试线程测试特定存储器的部分内存区段的时间,数倍快于传统对一整个存储器测试所需的时间。
在部分的实施例中,测试模块130也可以在完成测试后产生相对应的测试报告,藉以明确的指出特定插槽上的特定存储器模块的状况,例如某个插槽上的某个存储器模块有错误等。
互动模块140可以提供选择进行测试的存储器模块101。一般而言,互动模块140包含显示单元(图中未示)与输入单元(图中未示),其中,显示单元可以显示文字描述或图形使得使用者了解计算机100上有多少插槽与多少存储器模块、以及插槽与存储器模块的连接关系等,方便使用者使用输入单元选择预测式的存储器模块101,但本发明并不以此为限。
接着以一个实施例来解说本发明的运作系统与方法,并请参照「图2」本发明所述的依存储器模块的物理地址范围测试存储器的方法流程图。
首先,在计算机100启动后,核心程序可以载入存储器模块的驱动程序。
之后,地址获取模块110可以获取特定存储器模块的物理地址范围(步骤220)。在本实施例中,若计算机100上安装有两条存储器模块,每条存储器模块可提供2GB的储存空间,假设地址获取模块110获取第二条存储器模块的物理地址范围。
在地址获取模块110获取存储器模块的物理地址范围(步骤220)后,空间配置模块120可以依据地址获取模块110所获取的物理地址范围在所有存储器模块所提供的储存空间中配置内存区段(步骤230)。在本实施例中,假设计算机100的操作系统为Linux,Linux的存储器管理系统使用五个阶层的存储器管理结构,由最上层至最底层分别为node、zone、migrationType、order、page,其中,所有存储器模块所提供的储存空间被格式化成多个进行管理,每一个页面根据相对应的真实存储器的物理位置以及相邻页面的逻辑连结状况被归入相对应的zone中的migrationType的order链表中,而每一个zone又被划归入更高层次的node进行管理。因此,空间配置模块120首先可以遍历node层,并在遍历的过程中判断地址获取模块110获取存储器模块的物理地址范围与当前遍历到的node所辖的存储器范围的匹配程度。如果没有交集,继续遍历下一个node;如果存在交集,则遍历存在交集的node下一层的各个zone。如果地址获取模块110获取存储器模块的物理地址范围和当前遍历到的zone所辖存储器范围不存在交集则继续遍历下一个zone,否则遍历该zone下一层的所有migrationType。如果地址获取模块110获取存储器模块的物理地址范围和当前遍历到的migrationType所辖存储器范围不存在交集则继续遍历下一个migrationType,否则遍历该migrationType下一层的所有order。如果地址获取模块110获取存储器模块的物理地址范围和当前遍历到的order所辖存储器范围不存在交集则继续遍历下一个order,否则将当前遍历到的order中所辖存储器范围与地址获取模块110获取存储器模块的物理地址范围相符的page从可用内存链表中删除并接回删除page后的内存链表即完成内存区段的配置。
在空间配置模块120在所有存储器模块所提供的储存空间中配置内存区段(步骤230)后,测试模块130可以对空间配置模块120所配置的内存区段进行测试(步骤240),也就是对地址获取模块110获取存储器模块的物理地址范围进行测试,并可以在完成测试后产生相对应的测试报告(步骤250)。在本实施例中,假设计算机100配置有一个中央处理器,且该中央处理器有四个处理核心,则测试模块130可以将地址获取模块110获取的物理地址范围分割为大小相同的四个内存区段,并为四个处理核心分别配置一个对应至不同内存区段的测试线程,使得各个处理核心在执行测试线程后便可以完成对空间配置模块120所配置的内存区段的测试。如此,在本实施例中,本发明测试存储器的速度将比传统测试存储器的速度快上四倍。
上述的实施例中,若计算机100包含互动模块140,则在地址获取模块110获取特定存储器模块的物理地址范围(步骤220)前,互动模块140可以提供使用者选择欲进行测试的存储器模块(步骤210)。
综上所述,可知本发明与现有技术之间的差异在于具有获取特定存储器模块的物理地址范围后,依据所取得的物理地址范围配置内存区段,并对所配置的内存区段进行测试以测试特定存储器模块的技术手段,藉由此一技术手段可以解决现有技术所存在没有待测存储器的有效错误筛选机制及错误区段定位机制的问题,进而达成减少存储器测试时间的技术功效。
再者,本发明的依存储器模块的物理地址范围测试存储器的方法,可实现于硬件、软件或硬件与软件的组合中,亦可在计算机系统中以集中方式实现或以不同元件散布于若干互连的计算机系统的分散方式实现。
虽然本发明所揭露的实施方式如上,惟所述的内容并非用以直接限定本发明的专利保护范围。任何本发明所属技术领域中的技术人员,在不脱离本发明所揭露的精神和范围的前提下,对本发明的实施的形式上及细节上作些许的更动润饰,均属于本发明的专利保护范围。本发明的专利保护范围,仍须以所附的权利要求书所界定者为准。
Claims (10)
1.一种依存储器模块的物理地址范围测试存储器的方法,应用于一计算机,该计算机中安装至少一存储器模块,该方法至少包含下列步骤:
获取该存储器模块的一物理地址范围;
依据该物理地址范围于该些存储器模块所提供的储存空间中配置一内存区段;及
测试该内存区段。
2.如权利要求1所述的依存储器模块的物理地址范围测试存储器的方法,其特征在于,获取该存储器模块的该物理地址范围的步骤为根据插槽识别码、存储器控制器识别码、存储器通道识别码、存储器模块识别码、存储芯片区块识别码判断出该物理地址范围。
3.如权利要求1所述的依存储器模块的物理地址范围测试存储器的方法,其特征在于,依据该物理地址范围于该些存储器模块所提供的储存空间中配置该内存区段的步骤为遍历该计算机的存储器管理结构以搜寻符合该物理地址范围的至少一页面,并将各该页面的识别数据由该计算机可用内存链表中移除。
4.如权利要求1所述的依存储器模块的物理地址范围测试存储器的方法,其特征在于,测试该内存区段的步骤,更包含分割该内存区段为多个内存区段并为该计算机的多个处理核心配置与各该内存区段对应的各测试线程,使各该处理核心执行该测试线程以测试各该内存区段的步骤。
5.如权利要求1所述的依存储器模块的物理地址范围测试存储器的方法,其特征在于,该方法于获取该存储器模块的该物理地址范围的步骤前,更包含选择进行测试的该存储器模块的步骤。
6.一种依存储器模块的物理地址范围测试存储器的系统,系应用于一计算机,该计算机中安装至少一存储器模块,该系统至少包含:
一地址获取模块,用以获取该存储器模块的一物理地址范围;
一空间配置模块,用以依据该物理地址范围于该些存储器模块所提供的储存空间中配置一内存区段;及
一测试模块,用以测试该内存区段。
7.如权利要求6所述的依存储器模块的物理地址范围测试存储器的系统,其特征在于,该地址获取模块是根据插槽识别码、存储器控制器识别码、存储器通道识别码、存储器模块识别码、存储芯片区块识别码判断出该物理模块范围。
8.如权利要求6所述的依存储器模块的物理地址范围测试存储器的系统,其特征在于,该空间配置模块是遍历该计算机的存储器管理结构以搜寻符合该物理地址范围的至少一页面,并将各该页面的识别数据由该计算机的可用内存链表中移除。
9.如权利要求6所述的依存储器模块的物理地址范围测试存储器的系统,其特征在于,该测试模块是分割该内存区段为多个内存区段并为该计算机多个处理核心配置与各该内存区段对应的各测试线程,使各该处理核心执行该测试线程以测试各该内存区段。
10.如权利要求6所述的依存储器模块的物理地址范围测试存储器的系统,其特征在于,该系统更包含一互动模块,用以提供选择进行测试的该存储器模块。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611093524.5A CN108132860A (zh) | 2016-12-01 | 2016-12-01 | 依存储器模块的物理地址范围测试存储器的系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611093524.5A CN108132860A (zh) | 2016-12-01 | 2016-12-01 | 依存储器模块的物理地址范围测试存储器的系统及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108132860A true CN108132860A (zh) | 2018-06-08 |
Family
ID=62388202
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611093524.5A Withdrawn CN108132860A (zh) | 2016-12-01 | 2016-12-01 | 依存储器模块的物理地址范围测试存储器的系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108132860A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109448777A (zh) * | 2018-11-12 | 2019-03-08 | 郑州云海信息技术有限公司 | 一种nvme固态硬盘的测试方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101470667A (zh) * | 2007-12-28 | 2009-07-01 | 英业达股份有限公司 | Linux系统平台上指定地址范围分配物理内存的方法 |
CN101957781A (zh) * | 2009-07-13 | 2011-01-26 | 英业达股份有限公司 | 远程协助测试内存的方法 |
CN102053886A (zh) * | 2009-10-30 | 2011-05-11 | 英业达股份有限公司 | 非统一存储器存取环境下的存储器检测方法 |
US20140298109A1 (en) * | 2013-03-29 | 2014-10-02 | Fujitsu Limited | Information processing device, computer-readable recording medium, and method |
CN104809039A (zh) * | 2015-04-24 | 2015-07-29 | 英业达科技有限公司 | 基于物理内存分配映射的内存检测方法 |
-
2016
- 2016-12-01 CN CN201611093524.5A patent/CN108132860A/zh not_active Withdrawn
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101470667A (zh) * | 2007-12-28 | 2009-07-01 | 英业达股份有限公司 | Linux系统平台上指定地址范围分配物理内存的方法 |
CN101957781A (zh) * | 2009-07-13 | 2011-01-26 | 英业达股份有限公司 | 远程协助测试内存的方法 |
CN102053886A (zh) * | 2009-10-30 | 2011-05-11 | 英业达股份有限公司 | 非统一存储器存取环境下的存储器检测方法 |
US20140298109A1 (en) * | 2013-03-29 | 2014-10-02 | Fujitsu Limited | Information processing device, computer-readable recording medium, and method |
CN104809039A (zh) * | 2015-04-24 | 2015-07-29 | 英业达科技有限公司 | 基于物理内存分配映射的内存检测方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109448777A (zh) * | 2018-11-12 | 2019-03-08 | 郑州云海信息技术有限公司 | 一种nvme固态硬盘的测试方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8683456B2 (en) | Test partitioning for a non-volatile memory | |
CN102063943B (zh) | Nand闪存参数自动检测系统 | |
US7730358B2 (en) | Stress testing method of file system | |
CN102306127B (zh) | 一种ddriii内存识别和初始化方法 | |
CN109901956A (zh) | 内存整体测试的系统及其方法 | |
CN104809039B (zh) | 基于物理内存分配映射的内存检测方法 | |
CN103164316B (zh) | 硬件监视器 | |
CN112000536A (zh) | 一种内存检测方法、系统及相关设备 | |
US10379753B2 (en) | Data storage device and method for operating data storage device | |
CN108132860A (zh) | 依存储器模块的物理地址范围测试存储器的系统及方法 | |
US11386028B2 (en) | Method to test direct memory access (DMA) address capabilities at high address values | |
CN108701091A (zh) | 用于动态工作负荷的机会存储器微调 | |
CN105825898B (zh) | 动态存储器测试装置及其测试方法 | |
CN116467975A (zh) | 数据处理方法、装置、电子设备及存储介质 | |
US8296603B2 (en) | Load test method and load test apparatus | |
CN105912452A (zh) | 一种自动化数据分析方法及装置 | |
CN105912451A (zh) | 一种lustre文件系统检测方法及装置 | |
CN106933750A (zh) | 用于多级缓存中数据及状态的验证方法及装置 | |
US9153345B2 (en) | Error generating apparatus for solid state drive tester | |
CN112882956B (zh) | 一种通过数据组合计算自动生成全场景自动化测试案例的方法、装置、存储介质及电子设备 | |
TWI620191B (zh) | 依記憶體模組之物理位址範圍測試記憶體之系統及方法 | |
CN101950368B (zh) | 24c系列芯片存储容量的识别方法 | |
CN106776173B (zh) | 一种内存检测方法及装置 | |
CN104360819B (zh) | 数据写入方法及装置 | |
CN108231134A (zh) | Ram良率补救方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20180608 |
|
WW01 | Invention patent application withdrawn after publication |