CN110955569B - 双列直插式存储器模块的测试方法、系统、介质及装置 - Google Patents

双列直插式存储器模块的测试方法、系统、介质及装置 Download PDF

Info

Publication number
CN110955569B
CN110955569B CN201911174027.1A CN201911174027A CN110955569B CN 110955569 B CN110955569 B CN 110955569B CN 201911174027 A CN201911174027 A CN 201911174027A CN 110955569 B CN110955569 B CN 110955569B
Authority
CN
China
Prior art keywords
memory module
dual
server
testing
bad
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.)
Active
Application number
CN201911174027.1A
Other languages
English (en)
Other versions
CN110955569A (zh
Inventor
侯林
黄威
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Inventec Pudong Technology Corp
Inventec Corp
Original Assignee
Inventec Pudong Technology Corp
Inventec Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Inventec Pudong Technology Corp, Inventec Corp filed Critical Inventec Pudong Technology Corp
Priority to CN201911174027.1A priority Critical patent/CN110955569B/zh
Publication of CN110955569A publication Critical patent/CN110955569A/zh
Priority to US17/095,764 priority patent/US20210157508A1/en
Application granted granted Critical
Publication of CN110955569B publication Critical patent/CN110955569B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/06Acceleration testing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2205Detection 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0653Monitoring storage devices or systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2268Logging of test results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2273Test methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/062Securing storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/10Test algorithms, e.g. memory scan [MScan] algorithms; Test patterns, e.g. checkerboard patterns 
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/52Protection of memory contents; Detection of errors in memory contents
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/56External testing equipment for static stores, e.g. automatic test equipment [ATE]; Interfaces therefor
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/56External testing equipment for static stores, e.g. automatic test equipment [ATE]; Interfaces therefor
    • G11C29/56008Error analysis, representation of errors
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/56External testing equipment for static stores, e.g. automatic test equipment [ATE]; Interfaces therefor
    • G11C29/56016Apparatus features
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0403Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals during or with feedback to manufacture
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/56External testing equipment for static stores, e.g. automatic test equipment [ATE]; Interfaces therefor
    • G11C2029/5606Error catch memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本发明提供一种双列直插式存储器模块的测试方法、系统、介质及装置,所述方法包括以下步骤:获取双列直插式存储器模块在服务器的位置;修改发现不良的双列直插式存储器模块后的保护机制,对各个双列直插式存储器模块进行测试;将测试结果保存在基板管理控制模块的系统事件日志中。本发明的一种双列直插式存储器模块的测试方法、系统、介质及装置,用于防止在对于双列直插式存储器模块的测试过程关闭服务器,及时发现不良的双列直插式存储器模块。

Description

双列直插式存储器模块的测试方法、系统、介质及装置
技术领域
本发明涉及双列直插式存储器模块的测试技术领域,特别是涉及一种双列直插式存储器模块的测试方法、系统、介质及装置。
背景技术
在双列直插式存储器模块(Dual In-line Memory Module,DIMM)是指一系列由动态随机存取内存((Dynamic Random Access Memory,DRAM)组成的模块,是目前最为主流的内存类型。DIMM大规模应用于个人计算器,工作站和服务器。DIMM对服务器的稳定性非常重要。服务器生产商在服务器生产过程中,会对DIMM进行严格的测试。出货之前,服务器整机会进行数十个小时不等的压力测试,对服务器的各部分进行测试,期望能够在此发现质量不过关的部件,包括DIMM。服务器管理员在设备维护过程中,也会专门针对DIMM进行相应的测试,期望能够在测试过程中发现问题,以便于及时更换不良的DIMM。整个测试过程耗费了大量的时间和电量。
BIOS(Basic Input Output System基本输入输出模块)是在通电引导阶段运行硬件初始化,以及为操作系统和程序提供运行时服务的固件,负责在开机时做硬件启动和检测等工作,并且担任操作系统控制硬件时的中介角色。BIOS中的DIMM测试是Intel MRC(Memory Reference Code:内存参考代码)中的其中一个功能模块,该模块可以在BIOS的启动过程中发现ECC(Error Checking and Correction)错误的内存。Intel(英特尔)自带的Advanced Memory Test(高级内存测试)只能通过串口收集log(日志),而且一旦发现不良的DIMM,就会强制关闭计算机。因此,BIOS自带的DIMM测试程序不能在工厂或者数据中心大规模应用。
因此,希望能够解决如何防止在对于双列直插式存储器模块的测试过程中关闭服务器,导致无法正常测试的问题。
发明内容
鉴于以上所述现有技术的缺点,本发明的目的在于提供一种双列直插式存储器模块的测试方法、系统、介质及装置,用于解决现有技术中如何防止在对于双列直插式存储器模块的测试过程中关闭服务器,导致无法正常测试的问题。
为实现上述目的及其他相关目的,本发明提供一种双列直插式存储器模块的测试方法,包括以下步骤:获取双列直插式存储器模块在服务器的位置;修改发现不良的双列直插式存储器模块后的保护机制,所述修改发现不良双列直插式存储器模块后的保护机制包括:禁止检测到所述不良的双列直插式存储器模块后关闭服务器的功能;禁止内存初始化参考代码检测到所述不良的双列直插式存储器模块后关闭服务器的功能;禁止检测到所述不良的双列直插式存储器模块后使所述基本输入输出模块陷入循环的功能;对各个双列直插式存储器模块进行测试;将测试结果保存在基板管理控制模块的系统事件日志中。
于本发明的一实施例中,还包括通过预设脚本获取保存在所述系统事件日志中的所述测试结果。
于本发明的一实施例中,所述预设脚本为IMPI平台管理工具。
于本发明的一实施例中,还包括清理所述系统事件日志和烧录所述基本输入输出模块。
为实现上述目的,本发明还提供一种双列直插式存储器模块系统,包括:获取位置单元、修改单元、测试单元和保存单元;
所述获取位置单元用于获取双列直插式存储器模块在服务器的位置;
所述修改单元用于修改发现不良的双列直插式存储器模块后的保护机制,所述修改发现不良双列直插式存储器模块后的保护机制包括:禁止检测到所述不良的双列直插式存储器模块后关闭服务器的功能;禁止内存初始化参考代码检测到所述不良的双列直插式存储器模块后关闭服务器的功能;禁止检测到所述不良的双列直插式存储器模块后使所述基本输入输出模块陷入循环的功能;所述测试单元用于对各个双列直插式存储器模块进行测试;所述保存单元用于将测试结果保存在基板管理控制模块的系统事件日志中。
于本发明的一实施例中,还包括获取结果单元,所述获取结果单元通过预设脚本获取保存在所述系统事件日志中的所述测试结果。
于本发明的一实施例中,所述预设脚本为IMPI平台管理工具。
于本发明的一实施例中,还包括清理单元,所述清理单元用于清理所述系统事件日志和烧录所述基本输入输出模块。
为实现上述目的,本发明还提供一种双列直插式存储器模块的测试装置,包括:处理器和存储器;所述存储器用于存储计算机程序;所述处理器与所述存储器相连,用于执行所述存储器存储的计算机程序,以使所述双列直插式存储器模块的测试装置执行任一上述的双列直插式存储器模块的测试方法。
如上所述,本发明的一种双列直插式存储器模块的测试方法、系统、介质及装置,具有以下有益效果:用于防止在对于双列直插式存储器模块的测试过程关闭服务器,及时发现不良的双列直插式存储器模块。
附图说明
图1显示为本发明的双列直插式存储器模块的测试方法于一实施例中的流程图。
图2显示为本发明的双列直插式存储器模块系统于一实施例中的结构示意图;
图3显示为本发明的双列直插式存储器模块装置于一实施例中的结构示意图;
元件标号说明
21 获取位置单元
22 修改单元
23 测试单元
24 保存单元
31 处理器
32 存储器
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,故图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
本发明的双列直插式存储器模块的测试方法、系统、介质及装置,用于防止在对于双列直插式存储器模块的测试过程关闭服务器,及时发现不良的双列直插式存储器模块。
服务器生产厂拥有数量庞大的服务器,因此,对服务器的双列直插式存储器模块进行测试需要耗费大量的人力、物力。OS(操作系统(英语:Operating System,简称OS)是管理和控制计算机硬件与软件资源的计算机程序,是直接运行在“裸机”上的最基本的系统软件,任何其他软件都必须在操作系统的支持下才能运行。)下的DIMM测试是目前应用范围最广的DIMM测试方案,无论是生产商使用的压力测试或者服务器管理员使用的DIMM测试程序都是使用运行在OS下的用户态程序。在OS下进行DIMM测试具有一些无法避免的缺点:1、OS为了系统稳定性,限制了进程占用的内存容量。在OS下进行的DIMM测试程序,测试的DIMM容量最大不能超过OS允许程序所占用的的最大容量。DIMM测试程序无法做到覆盖全部的DIMM。2、DIMM测试程序受制于虚拟地址。DIMM测试程序运行在虚拟地址空间中,这个虚拟地址空间只包含本进程的用户堆栈,它无法直接访问到物理内存。这样就需要用到通过系统调用来访问物理内存,这样又会增加系统开销。3、OS在使用内存的时候,并不会把所有DIMM都当作内存使用。DIMM测试程序无法对OS本身运行占用的内存进行测试。此外还有一部分内存被标记为只有系统可以访问,一部分内存记录了BIOS传递给OS的一些重要的数据如ACPI(Advanced Configuration and Power Interface,高级配置与电源管理)。这一部分DIMM不被允许修改。
如图1所示,于一实施例中,本发明的双列直插式存储器模块的测试方法,包括以下步骤:
具体地,在所有步骤之前还包括进行预处理,所述预处理步骤为使用PXE(预启动执行环境)启动,PXE(preboot execute environment,预启动执行环境)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持工作站通过网络从远端服务器下载映像,并由此支持通过网络启动操作系统,在启动过程中,终端要求服务器分配IP地址,再用TFTP(trivial file transfer protocol)或MTFTP(multicast trivial file transferprotocol)协议下载一个启动软件包到本机内存中执行,由这个启动软件包完成终端(客户端)基本软件设置,从而引导预先安装在服务器中的终端操作系统。PXE可以引导多种操作系统。而经过预处理后就可以进入BIOS的DIMM测试程序。所述预处理步骤还包括准备数据结构。
步骤S11、获取双列直插式存储器模块在服务器的位置。
具体地,所述位置是指所述双列直插式存储器模块在服务器的具体槽位。即所述服务器具有插槽,所述插槽用于插设所述双列直插式存储器模块。得知双列直插式存储器模块在服务器的具体槽位,也就是获取双列直插式存储器模块在服务器的位置。
具体地,还包括记录所述各个插槽是否可用。
步骤S12、修改发现不良的双列直插式存储器模块后的保护机制,所述修改发现不良双列直插式存储器模块后的保护机制包括:禁止检测到所述不良的双列直插式存储器模块后关闭服务器的功能;禁止内存初始化参考代码检测到所述不良的双列直插式存储器模块后关闭服务器的功能;禁止检测到所述不良的双列直插式存储器模块后使所述基本输入输出模块陷入循环的功能。
具体地,所述不良是指所述双列直插式存储器模块有问题、不能正常工作。在现有的技术中BIOS在启动计算机的过程中如果发现DIMM存在问题,会关闭计算机。因此,需要在BIOS中把这个功能关闭掉,否则会出现测试程序在发现不良DIMM之后计算机被BIOS关闭的情况,之后的测试不会继续进行。这就会影响流程的自动化。还有一种非常极端情况,如果DIMM的质量非常糟糕,可能会导致BIOS本身出现异常,即使侥幸进入OS(操作系统),也很容易出现重启或者死机的情况。因此,需要修改发现不良双列直插式存储器模块后的保护机制包括:禁止检测到所述不良的双列直插式存储器模块后关闭服务器的功能;禁止内存初始化参考代码检测到所述不良的双列直插式存储器模块后关闭服务器的功能;禁止检测到所述不良的双列直插式存储器模块后使所述基本输入输出模块陷入循环的功能。所述禁止检测到所述不良的双列直插式存储器模块后关闭服务器的功能是指即使检测到双列直插式存储器模块是不良的也不会立刻关闭所述服务器。所述内存初始化参考代码检测到所述不良的双列直插式存储器模块后关闭服务器的功能是指内存初始化参考代码(MRC:MemoryReference Code)检测到所述不良的双列直插式存储器模块后关闭服务器的功能,即即使所述内存初始化参考代码检测到双列直插式存储器模块是不良的也不会立刻关闭所述服务器。所述内存初始化参考代码用于支持对于双列直插式存储器模块的检测,常规的内存初始化参考代码检测到双列直插式存储器模块是不良后会关闭服务器,而在本申请需要关闭所述内存初始化参考代码检测到所述不良的双列直插式存储器模块后关闭服务器的功能。所述禁止检测到所述不良的双列直插式存储器模块后使所述基本输入输出模块陷入循环的功能是指即使检测到所述双列直插式存储器模块是不良的也不会重启所述基本输入输出模块,这样即使重启所述基本输入输出模块也会继续检测到所述双列直插式存储器模块是不良,这样就使所述基本输入输出模块陷入循环。这样不会因为发现个别不良DIMM导致计算机关闭或重启,测试能够完整覆盖所有的DIMM。
步骤S13、对各个双列直插式存储器模块进行测试。
具体地,所述测试就是检测所述各个双列直插式存储器模块是否能正常工作。双列直插式存储器模块测试通过读取CPU中CPGC(可编程增益控制寄存器)的相关寄存器来判断双列直插式存储器模块是否为不良双列直插式存储器模块。
步骤S14、将测试结果保存在基板管理控制模块的系统事件日志中。
具体地,在现有技术中会将测试结果通过UEFI(统一的可扩展固件接口:UnifiedExtensible Firmware Interface),是一种详细描述类型接口的标准。这种接口用于操作系统自动从预启动的操作环境,加载到一种操作系统上。因此,在现有技术中会通过UEFI将测试结果保存在RAM中。设置UEFI在OS下可以访问且在BIOS启动过程中可以访问,这样可以保证每一次启动都可以刷新测试结果。这种方式的缺点是仅适用于UEFI启动,如果是Legacy启动,那么无法使用这个方法。(UEFI和Legacy是两种不同的引导方式,uefi是新式的BIOS,Legacy是传统BIOS。你在UEFI模式下安装的系统,只能用UEFI模式引导;同理,如果你是在Legacy模式下安装的系统,也只能在Legacy模式下进系统。UEFI只支持64为系统且磁盘分区必须为gpt模式,传统BIOS使用Int 13中断读取磁盘,每次只能读64KB,非常低效,而UEFI每次可以读1MB,载入更快。此外,Win8更是进一步优化了UEFI支持,号称可以实现瞬时开机。)
具体地,在本申请中将测试结果保存在基板管理控制模块的系统事件日志(SEL:System Event Log)中。通过预设脚本获取保存在所述系统事件日志中的所述测试结果。所述预设脚本为IMPI平台管理工具,IMPI(Intelligent Platform Management Interface。这种方式与操作系统的启动方式无关,缺点是SEL自身容量的限制,无法保存太多的信息,因此,只保存有问题的DIMM信息就可以了。这种方式需要提供硬件上的支持,服务器需要有BMC功能。BMC(Baseboard Management Controller基板管理控制模块)是独立于服务器主板的一个设备,独立供电,它提供了一个非易失性的存储芯片用于保存SEL。在Linux系统下,IPMI可以对BMC进行管理,所以可以利用它来获取SEL。
具体地,还包括清理所述系统事件日志和烧录所述基本输入输出模块。在测试双列直插式存储器模块完成后,出厂之前,需要清理所述系统事件日志并烧录所述基本输入输出模块,这样保证服务器没有记录这些测试的结果。
具体地,还包括在每次双列直插式存储器模块的测试之前清理SEL,防止之前的记录影响测试结果。每一次双列直插式存储器模块的测试之前,都要重新烧录BIOS,之后重启计算机,等待计算机重启完成。重新烧录BIOS是为了保证每一次测试是在相同的条件下进行,BIOS会根据本次启动时是否是首次启动进行不同的配置,所以要避免BIOS自身的影响。计算机重启之后,会进入BIOS的DIMM测试程序,等待测试完成,BIOS完成工作后会进入操作系统,使用ipmitool(IPMI在Linux下的应用程序,用于管理BMC,即IMPI平台管理工具)获取SEL,可以使用脚本自动化的获取测试结果,不需要进行人工干预。
如图2所示,于一实施例中,本发明的双列直插式存储器模块系统,包括:获取位置单元21、修改单元22、测试单元23和保存单元24。
还包括预处理单元用于预处理。
具体地,所述预处理单元用于使用PXE(预启动执行环境)启动,PXE(prebootexecute environment,预启动执行环境)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持工作站通过网络从远端服务器下载映像,并由此支持通过网络启动操作系统,在启动过程中,终端要求服务器分配IP地址,再用TFTP(trivial filetransfer protocol)或MTFTP(multicast trivial file transfer protocol)协议下载一个启动软件包到本机内存中执行,由这个启动软件包完成终端(客户端)基本软件设置,从而引导预先安装在服务器中的终端操作系统。PXE可以引导多种操作系统。而经过预处理后就可以进入BIOS的DIMM测试程序。所述预处理单元还用于准备数据结构。
所述获取位置单元21用于获取双列直插式存储器模块在服务器的位置。
具体地,所述位置是指所述双列直插式存储器模块在服务器的具体槽位。即所述服务器具有插槽,所述插槽用于插设所述双列直插式存储器模块。得知双列直插式存储器模块在服务器的具体槽位,也就是获取双列直插式存储器模块在服务器的位置。
具体地,还包括记录所述各个插槽是否可用。
所述修改单元22用于修改发现不良的双列直插式存储器模块后的保护机制,所述修改发现不良双列直插式存储器模块后的保护机制包括:禁止检测到所述不良的双列直插式存储器模块后关闭服务器的功能;禁止内存初始化参考代码检测到所述不良的双列直插式存储器模块后关闭服务器的功能;禁止检测到所述不良的双列直插式存储器模块后使所述基本输入输出模块陷入循环的功能。
具体地,所述不良是指所述双列直插式存储器模块有问题、不能正常工作。在现有的技术中BIOS在启动计算机的过程中如果发现DIMM存在问题,会关闭计算机。因此,需要在BIOS中把这个功能关闭掉,否则会出现测试程序在发现不良DIMM之后计算机被BIOS关闭的情况,之后的测试不会继续进行。这就会影响流程的自动化。还有一种非常极端情况,如果DIMM的质量非常糟糕,可能会导致BIOS本身出现异常,即使侥幸进入OS(操作系统),也很容易出现重启或者死机的情况。因此,需要修改发现不良双列直插式存储器模块后的保护机制包括:禁止检测到所述不良的双列直插式存储器模块后关闭服务器的功能;禁止内存初始化参考代码检测到所述不良的双列直插式存储器模块后关闭服务器的功能;禁止检测到所述不良的双列直插式存储器模块后使所述基本输入输出模块陷入循环的功能。所述禁止检测到所述不良的双列直插式存储器模块后关闭服务器的功能是指即使检测到双列直插式存储器模块是不良的也不会立刻关闭所述服务器。所述内存初始化参考代码检测到所述不良的双列直插式存储器模块后关闭服务器的功能是指内存初始化参考代码(MRC:MemoryReference Code)检测到所述不良的双列直插式存储器模块后关闭服务器的功能,即即使所述内存初始化参考代码检测到双列直插式存储器模块是不良的也不会立刻关闭所述服务器。所述内存初始化参考代码用于支持对于双列直插式存储器模块的检测,常规的内存初始化参考代码检测到双列直插式存储器模块是不良后会关闭服务器,而在本申请需要关闭所述内存初始化参考代码检测到所述不良的双列直插式存储器模块后关闭服务器的功能。所述禁止检测到所述不良的双列直插式存储器模块后使所述基本输入输出模块陷入循环的功能是指即使检测到所述双列直插式存储器模块是不良的也不会重启所述基本输入输出模块,这样即使重启所述基本输入输出模块也会继续检测到所述双列直插式存储器模块是不良,这样就使所述基本输入输出模块陷入循环。这样不会因为发现个别不良DIMM导致计算机关闭或重启,测试能够完整覆盖所有的DIMM。
所述测试单元23用于对各个双列直插式存储器模块进行测试。
具体地,所述测试就是检测所述各个双列直插式存储器模块是否能正常工作。双列直插式存储器模块测试通过读取CPU中CPGC(可编程增益控制寄存器)的相关寄存器来判断双列直插式存储器模块是否为不良双列直插式存储器模块。
所述保存单元24用于将测试结果保存在基板管理控制模块的系统事件日志中。
具体地,在现有技术中会将测试结果通过UEFI(统一的可扩展固件接口:UnifiedExtensible Firmware Interface),是一种详细描述类型接口的标准。这种接口用于操作系统自动从预启动的操作环境,加载到一种操作系统上。因此,在现有技术中会通过UEFI将测试结果保存在RAM中。设置UEFI在OS下可以访问且在BIOS启动过程中可以访问,这样可以保证每一次启动都可以刷新测试结果。这种方式的缺点是仅适用于UEFI启动,如果是Legacy启动,那么无法使用这个方法。(UEFI和Legacy是两种不同的引导方式,uefi是新式的BIOS,Legacy是传统BIOS。你在UEFI模式下安装的系统,只能用UEFI模式引导;同理,如果你是在Legacy模式下安装的系统,也只能在Legacy模式下进系统。UEFI只支持64为系统且磁盘分区必须为gpt模式,传统BIOS使用Int 13中断读取磁盘,每次只能读64KB,非常低效,而UEFI每次可以读1MB,载入更快。此外,Win8更是进一步优化了UEFI支持,号称可以实现瞬时开机。)
具体地,在本申请中将测试结果保存在基板管理控制模块的系统事件日志(SEL:System Event Log)中。通过预设脚本获取保存在所述系统事件日志中的所述测试结果。所述预设脚本为IMPI平台管理工具,IMPI(Intelligent Platform Management Interface。这种方式与操作系统的启动方式无关,缺点是SEL自身容量的限制,无法保存太多的信息,因此,只保存有问题的DIMM信息就可以了。这种方式需要提供硬件上的支持,服务器需要有BMC功能。BMC(Baseboard Management Controller基板管理控制模块)是独立于服务器主板的一个设备,独立供电,它提供了一个非易失性的存储芯片用于保存SEL。在Linux系统下,IPMI可以对BMC进行管理,所以可以利用它来获取SEL。
具体地,还包括清理所述系统事件日志和烧录所述基本输入输出模块。在测试双列直插式存储器模块完成后,出厂之前,需要清理所述系统事件日志并烧录所述基本输入输出模块,这样保证服务器没有记录这些测试的结果。
具体地,还包括在每次双列直插式存储器模块的测试之前清理SEL,防止之前的记录影响测试结果。每一次双列直插式存储器模块的测试之前,都要重新烧录BIOS,之后重启计算机,等待计算机重启完成。重新烧录BIOS是为了保证每一次测试是在相同的条件下进行,BIOS会根据本次启动时是否是首次启动进行不同的配置,所以要避免BIOS自身的影响。计算机重启之后,会进入BIOS的DIMM测试程序,等待测试完成,BIOS完成工作后会进入操作系统,使用ipmitool(IPMI在Linux下的应用程序,用于管理BMC,即IMPI平台管理工具)获取SEL,可以使用脚本自动化的获取测试结果,不需要进行人工干预。
需要说明的是,获取位置单元21、修改单元22、测试单元23和保存单元24的结构和原理与上述双列直插式存储器模块的测试方法中的步骤一一对应,故在此不再赘述。
需要说明的是,应理解以上系统的各个单元的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。且这些单元可以全部以软件通过处理元件调用的形式实现;也可以全部以硬件的形式实现;还可以部分单元通过处理元件调用软件的形式实现,部分单元通过硬件的形式实现。例如,x单元可以为单独设立的处理元件,也可以集成在上述装置的某一个芯片中实现,此外,也可以以程序代码的形式存储于上述装置的存储器中,由上述装置的某一个处理元件调用并执行以上x单元的功能。其它单元的实现与之类似。此外这些单元全部或部分可以集成在一起,也可以独立实现。这里所述的处理元件可以是一种集成电路,具有信号的处理能力。在实现过程中,上述方法的各步骤或以上各个单元可以通过处理器元件中的硬件的集成逻辑电路或者软件形式的指令完成。
例如,以上这些单元可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(Application Specific Integrated Circuit,简称ASIC),或,一个或多个微处理器(Digital Singnal Processor,简称DSP),或,一个或者多个现场可编程门阵列(Field Programmable Gate Array,简称FPGA)等。再如,当以上某个单元通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(Central Processing Unit,简称CPU)或其它可以调用程序代码的处理器。再如,这些单元可以集成在一起,以片上系统(system-on-a-chip,简称SOC)的形式实现。
如图3所示,于一实施例中,本发明的双列直插式存储器模块的测试装置包括:处理器31和存储器32;所述存储器32用于存储计算机程序;所述处理器31与所述存储器32相连,用于执行所述存储器32存储的计算机程序,以使所述双列直插式存储器模块的测试装置执行任一所述的双列直插式存储器模块的测试方法。
具体地,所述存储器32包括:ROM、RAM、磁碟、U盘、存储卡或者光盘等各种可以存储程序代码的介质。
优选地,所述处理器31可以是通用处理器,包括中央处理器(Central ProcessingUnit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processor,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
综上所述,本发明双列直插式存储器模块的测试方法、系统、介质及装置,用于防止在对于双列直插式存储器模块的测试过程关闭服务器,及时发现不良的双列直插式存储器模块。所以,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。

Claims (9)

1.一种双列直插式存储器模块的测试方法,其特征在于,包括以下步骤:
获取双列直插式存储器模块在服务器的位置;
修改发现不良的双列直插式存储器模块后的保护机制,所述修改发现不良双列直插式存储器模块后的保护机制包括:禁止检测到所述不良的双列直插式存储器模块后关闭服务器的功能;禁止内存初始化参考代码检测到所述不良的双列直插式存储器模块后关闭服务器的功能;禁止检测到所述不良的双列直插式存储器模块后使基本输入输出模块陷入循环的功能;所述禁止检测到所述不良的双列直插式存储器模块后关闭服务器的功能是指即使检测到双列直插式存储器模块是不良的也不会立刻关闭所述服务器;所述内存初始化参考代码检测到双列直插式存储器模块是不良的也不会立刻关闭所述服务器;检测到所述双列直插式存储器模块是不良的也不会重启所述基本输入输出模块;
对各个双列直插式存储器模块进行测试;
将测试结果保存在基板管理控制模块的系统事件日志中。
2.根据权利要求1所述的双列直插式存储器模块的测试方法,其特征在于:还包括通过预设脚本获取保存在所述系统事件日志中的所述测试结果。
3.根据权利要求2所述的双列直插式存储器模块的测试方法,其特征在于:所述预设脚本为IMPI平台管理工具。
4.根据权利要求1所述的双列直插式存储器模块的测试方法,其特征在于:还包括清理所述系统事件日志和烧录所述基本输入输出模块。
5.一种双列直插式存储器模块的测试系统,其特征在于,包括:获取位置单元、修改单元、测试单元和保存单元;
所述获取位置单元用于获取双列直插式存储器模块在服务器的位置;
所述修改单元用于修改发现不良的双列直插式存储器模块后的保护机制,所述修改发现不良双列直插式存储器模块后的保护机制包括:禁止检测到所述不良的双列直插式存储器模块后关闭服务器的功能;禁止内存初始化参考代码检测到所述不良的双列直插式存储器模块后关闭服务器的功能;禁止检测到所述不良的双列直插式存储器模块后使基本输入输出模块陷入循环的功能;所述禁止检测到所述不良的双列直插式存储器模块后关闭服务器的功能是指即使检测到双列直插式存储器模块是不良的也不会立刻关闭所述服务器;所述内存初始化参考代码检测到双列直插式存储器模块是不良的也不会立刻关闭所述服务器;检测到所述双列直插式存储器模块是不良的也不会重启所述基本输入输出模块所述测试单元用于对各个双列直插式存储器模块进行测试;
所述保存单元用于将测试结果保存在基板管理控制模块的系统事件日志中。
6.根据权利要求5所述的双列直插式存储器模块的测试系统,其特征在于:还包括获取结果单元,所述获取结果单元通过预设脚本获取保存在所述系统事件日志中的所述测试结果。
7.根据权利要求6所述的双列直插式存储器模块的测试系统,其特征在于:所述预设脚本为IMPI平台管理工具。
8.根据权利要求5所述的双列直插式存储器模块的测试系统,其特征在于:还包括清理单元,所述清理单元用于清理所述系统事件日志和烧录所述基本输入输出模块。
9.一种双列直插式存储器模块的测试装置,其特征在于,包括:处理器和存储器;所述存储器用于存储计算机程序;所述处理器与所述存储器相连,用于执行所述存储器存储的计算机程序,以使所述装置执行权利要求1至4中任一项所述的双列直插式存储器模块的测试方法。
CN201911174027.1A 2019-11-26 2019-11-26 双列直插式存储器模块的测试方法、系统、介质及装置 Active CN110955569B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201911174027.1A CN110955569B (zh) 2019-11-26 2019-11-26 双列直插式存储器模块的测试方法、系统、介质及装置
US17/095,764 US20210157508A1 (en) 2019-11-26 2020-11-12 Test method, system, medium and device for dual in-line memory module

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911174027.1A CN110955569B (zh) 2019-11-26 2019-11-26 双列直插式存储器模块的测试方法、系统、介质及装置

Publications (2)

Publication Number Publication Date
CN110955569A CN110955569A (zh) 2020-04-03
CN110955569B true CN110955569B (zh) 2021-10-01

Family

ID=69978480

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911174027.1A Active CN110955569B (zh) 2019-11-26 2019-11-26 双列直插式存储器模块的测试方法、系统、介质及装置

Country Status (2)

Country Link
US (1) US20210157508A1 (zh)
CN (1) CN110955569B (zh)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1797360A (zh) * 2004-12-30 2006-07-05 英业达股份有限公司 内存可靠性检测系统以及方法
TW200741729A (en) * 2006-04-25 2007-11-01 Mitac Int Corp Memory detection method
CN102369513A (zh) * 2011-08-31 2012-03-07 华为技术有限公司 提高计算机系统稳定性的方法及计算机系统
CN104679619A (zh) * 2013-11-28 2015-06-03 英业达科技有限公司 服务器与服务器检测方法
CN104850496A (zh) * 2015-05-15 2015-08-19 浪潮电子信息产业股份有限公司 一种面向低延迟应用的rhel服务器调优方法
TW201636770A (zh) * 2014-12-24 2016-10-16 英特爾公司 容錯式自動雙行記憶體模組更新技術
CN106469109A (zh) * 2015-08-15 2017-03-01 昆达电脑科技(昆山)有限公司 Dimm故障及时告知系统及其方法
CN107066361A (zh) * 2017-04-17 2017-08-18 南京百敖软件有限公司 一种利用bmc禁用坏损内存的方法和装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7694202B2 (en) * 2004-01-28 2010-04-06 Micron Technology, Inc. Providing memory test patterns for DLL calibration
KR100624576B1 (ko) * 2004-06-11 2006-09-19 삼성전자주식회사 허브를 갖는 메모리 모듈을 테스트하는 방법 및 이를수행하기 위한 메모리 모듈의 허브
US9020781B2 (en) * 2009-12-11 2015-04-28 Corsair Memory, Inc. Monitoring memory module parameters in high performance computers

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1797360A (zh) * 2004-12-30 2006-07-05 英业达股份有限公司 内存可靠性检测系统以及方法
TW200741729A (en) * 2006-04-25 2007-11-01 Mitac Int Corp Memory detection method
CN102369513A (zh) * 2011-08-31 2012-03-07 华为技术有限公司 提高计算机系统稳定性的方法及计算机系统
CN104679619A (zh) * 2013-11-28 2015-06-03 英业达科技有限公司 服务器与服务器检测方法
TW201636770A (zh) * 2014-12-24 2016-10-16 英特爾公司 容錯式自動雙行記憶體模組更新技術
CN107003919A (zh) * 2014-12-24 2017-08-01 英特尔公司 容错自动双列直插存储器模块刷新
CN104850496A (zh) * 2015-05-15 2015-08-19 浪潮电子信息产业股份有限公司 一种面向低延迟应用的rhel服务器调优方法
CN106469109A (zh) * 2015-08-15 2017-03-01 昆达电脑科技(昆山)有限公司 Dimm故障及时告知系统及其方法
CN107066361A (zh) * 2017-04-17 2017-08-18 南京百敖软件有限公司 一种利用bmc禁用坏损内存的方法和装置

Also Published As

Publication number Publication date
US20210157508A1 (en) 2021-05-27
CN110955569A (zh) 2020-04-03

Similar Documents

Publication Publication Date Title
US8200955B2 (en) Apparatus and method for booting a system
TWI754317B (zh) 用於網路裝置之最佳啟動路徑之方法和系統
US7266727B2 (en) Computer boot operation utilizing targeted boot diagnostics
JP5540155B2 (ja) プラットフォーム独立メモリ論理の提供
US7779297B2 (en) Fail-over method, computer system, management server, and backup server setting method
CN104536875A (zh) 一种基于ipmi的对服务器进行自动化重启测试的方法
US7640426B2 (en) Methods and apparatus to manage hardware resources for a partitioned platform
US20030188220A1 (en) Method and apparatus for backing up and restoring data from nonvolatile memory
WO2022247139A1 (zh) 一种服务器的日志输出方法、系统及相关装置
US11334427B2 (en) System and method to reduce address range scrub execution time in non-volatile dual inline memory modules
US11429298B2 (en) System and method for tying non-volatile dual inline memory modules to a particular information handling system
US7251744B1 (en) Memory check architecture and method for a multiprocessor computer system
US8006028B2 (en) Enabling memory module slots in a computing system after a repair action
TWI486874B (zh) 電子裝置及開機方法
CN110955569B (zh) 双列直插式存储器模块的测试方法、系统、介质及装置
US11003778B2 (en) System and method for storing operating life history on a non-volatile dual inline memory module
TW202125522A (zh) 雙列直插式記憶體模組的測試方法、系統及裝置
CN107168815B (zh) 一种收集硬件错误信息的方法
TW201328246A (zh) 雲端伺服系統的管理方法及管理系統
US20240012572A1 (en) Operationalization of memories using memory information sets
US20230325223A1 (en) Loading management hypervisors from user space
US20240036896A1 (en) Generating installation images based upon dpu-specific capabilities
Zhao Analysis of An Abnormal Start-up Problem of A Certain Testing Platform
Minnich Give your bootstrap the boot: Using the operating system to boot the operating system
Strunk An analysis of linux boot times

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
GR01 Patent grant
GR01 Patent grant