CN102841832B - 出错内存条定位方法 - Google Patents

出错内存条定位方法 Download PDF

Info

Publication number
CN102841832B
CN102841832B CN201110173063.3A CN201110173063A CN102841832B CN 102841832 B CN102841832 B CN 102841832B CN 201110173063 A CN201110173063 A CN 201110173063A CN 102841832 B CN102841832 B CN 102841832B
Authority
CN
China
Prior art keywords
memory
error
mistake
bar
register
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
Application number
CN201110173063.3A
Other languages
English (en)
Other versions
CN102841832A (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.)
Guangdong Gaohang Intellectual Property Operation Co., Ltd.
Original Assignee
Foshan Huijie Electronic Technology Co Ltd
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 Foshan Huijie Electronic Technology Co Ltd filed Critical Foshan Huijie Electronic Technology Co Ltd
Priority to CN201110173063.3A priority Critical patent/CN102841832B/zh
Priority to TW100123014A priority patent/TW201301291A/zh
Priority to US13/474,620 priority patent/US8793537B2/en
Publication of CN102841832A publication Critical patent/CN102841832A/zh
Application granted granted Critical
Publication of CN102841832B publication Critical patent/CN102841832B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/006Identification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/073Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a memory management context, e.g. virtual memory or cache management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0775Content or structure details of the error report, e.g. specific table structure, specific error fields

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Debugging And Monitoring (AREA)

Abstract

一种出错内存条定位方法,包括如下步骤:从第一寄存器中读取出现错误的内存条的内存通道号;从第二寄存器中分析得出内存的错误类型;根据错误类型从特定的寄存器中读取出现错误的内存条的内存区块号;将上述内存通道号和内存区块号与映射表中的内容进行比较,以定位出安插了该内存条的插槽的编号;及由上述插槽的编号及根据内存的布线机制定位出所述出现错误的内存条。本发明还提供一种出错内存条定位系统。利用本发明可自动且及时地定位出出现错误的内存条。

Description

出错内存条定位方法
技术领域
本发明涉及一种内存测试方法,尤其涉及一种出错内存条定位方法。
背景技术
众所周知,服务器存储系统对大量数据的存储有着无可替代的作用。对一个服务器而言,内存在存储系统中扮演着举足轻重的角色,而内存数据位的出错随时可能导致整个存储系统重启甚至崩溃。因此,在服务器存储系统中,大多使用一种具有错误检查与纠正(error check correct,ECC)功能的内存。在目前的服务器测试软件中,当测试到内存出现错误时,内存条测试软件所报告的是出错内存的系统虚拟内存地址,并不能指出具体的某个双列直插式存储模块(Dual-Inline-Memory-Modules,DIMM)的内存插槽位置或是内存条。目前的办法只能是以人工的方式互换内存条的插拔位置,然后重复进行测试,或是单独测试单根内存条,这两种定位方式的低效率显而易见,当内存插槽数量较多时,人工方式变的无能为力。因此以软件的方式定位出错的内存的方法因此而产生。
发明内容
鉴于以上内容,有必要提供一种出错内存条定位方法,其以软件的方式定位出错的内存,从而克服人工或单独测试这两种定位方式效率低的问题。
一种出错内存条定位方法,包括如下步骤:从第一寄存器中读取出现错误的内存条的内存通道号;从第二寄存器中分析得出内存的错误类型;根据错误类型从特定的寄存器中读取出现错误的内存条的内存区块号;将上述内存通道号和内存区块号与映射表中的内容进行比较,以定位出安插了该内存条的插槽的编号;及由上述插槽的编号及根据内存的布线机制定位出所述出现错误的内存条。
相较于现有技术,所述的出错内存条定位方法,以软件的方式定位出错的内存,可以避免以人工的形式互换内存条插拔位置来找出错内存条的编号,尤其是当内存条较多时,这种软件定位方法,更能突出其意义,定位效率更高。
附图说明
图1是本发明出错内存条定位系统较佳实施例的运行环境示意图。
图2是本发明较佳实施例中定位系统的功能模块图。
图3是本发明出错内存条定位方法较佳实施例的作业流程图。
主要元件符号说明
内存插槽 1
内存条 2
存储设备 3
测试软件 30
定位系统 32
北桥内存控制器 4
第一寄存器 40
第二寄存器 42
第三寄存器 44
第四寄存器 46
Channel号读取模块 320
错误类型读取模块 322
Rank号读取模块 324
内存条定位模块 326
通知模块 328
如下具体实施方式将结合上述附图进一步说明本发明。
具体实施方式
Rank:是JEDEC创造的名词,是指在内存条上的内存区块。倘若系统数据位宽度是64bit,则每一个Rank就必须是64bit,当内存条上有第二组64bit内存区块时,就称此内存条为Double Rank,在实务上此内存条的运作与两条Single Rank内存条相当。每个内存区块有一个编号,简称为内存区块号,即Rank号。由于每根内存条中可能会有一个或多个内存区块,因此,每根内存条可能会有一个或多个Rank号。
如图1所示,是本发明出错内存条定位系统较佳实施例的运行环境示意图。该出错内存条定位系统(以下简称为“定位系统”)32运行于服务器100中。该服务器100还包括内存插槽1、安插在该内存插槽1上的多根内存条2、存储设备3及北桥内存控制器4。
该存储设备3中存有一个测试内存条2的测试软件30及所述定位系统32。该定位系统32的功能将在图2和图3中进行详细描述。所述北桥内存控制器4中有多个具有错误检查与纠正(error check correct,ECC)功能的寄存器,图1中仅示意出四个:第一寄存器40、第二寄存器42、第三寄存器44和第四寄存器46。其中,不同厂家的北桥内存控制器4中的寄存器的个数和名称各不相同。
如图2所示,是本发明较佳实施例中定位系统32的功能模块图。该定位系统32包含一个或多个软件模块,该一个或多个软件模块是具有特定功能的软件程序段,存储在所述存储设备30中,并由所述至少一个处理器(图中未示出)来控制,以定位出服务器100的主板上出现错误的内存条2。该定位系统32包括Channel号读取模块320、错误类型读取模块322、Rank号读取模块324、内存条定位模块326和通知模块328。
在此需要说明的是,于定位出现错误的内存条2之前,需要利用所述测试软件30对内存插槽1上的所有内存条同时进行测试。当该内存插槽1上有出现错误的内存条2时,北桥内存控制器4会捕捉到该错误的发生,并将该出现错误的内存条2的内存通道号(即Channel号)、错误类型和Rank号记录到相应的寄存器中。其中,每根内存条有仅有一个Channel号。
所述Channel号读取模块320用于从第一寄存器40中读取出现错误的内存条2的Channel号,例如,0号或者1号。
所述错误类型读取模块322用于从第二寄存器42中分析得出该出现错误的内存条2的错误类型。本实施例中,该错误类型有两个:可恢复性错误(Recoverable error)和不可恢复性错误(Non-Recoverable error)。
所述Rank号读取模块324用于根据该分析出的错误类型从特定的寄存器中读取出现错误的内存条2的Rank号,例如,0号、1号、2号、3号、4号或5号。其中,每根内存条2可能会有一个或多个Rank号。
具体而言,每个错误类型会对应一个存放出现错误的内存条2的Rank号的寄存器,如当该内存条2的错误类型为可恢复性错误时,Rank号读取模块324需要从第三寄存器44中读取该内存条2的Rank号,而当该内存条2的错误类型为不可恢复性错误时,Rank号读取模块324需要从第四寄存器中读取该内存条2的Rank号。
所述内存条定位模块326用于将上述Channel号和Rank号与映射表中的内容进行比较,以定位出安插了该内存条2的内存插槽1的编号(即DIMM号),并由该DIMM号及内存布线机制定位出所述出现错误的内存条2。
其中,所述映射表可如下所示:
例如,假设所述Channel号读取模块320从第一寄存器40中读取到的Channel号为0号,所述错误类型读取模块322分析得出本次错误内存条2的错误类型为可恢复性错误,则所述Rank号读取模块324从第三寄存器44中读取该错误内存条2的Rank号为1号,那么,内存条定位模块326根据上述的映射表定位出安插该错误内存条2的内存插槽1为DIMMNV-1,由该内存插槽1的编号及内存布线机制就可以定位出安插在DIMMNV-1上的内存条2的编号。
所述通知模块328用于将该出现错误的内存条2的编号通知给用户。
如图3所示,是本发明出错内存条定位方法较佳实施例的作业流程图。当测试软件30测试出服务器1中有内存条2出现错误时,本实施例按照以下步骤定位出该出现错误的内存条2。
步骤S100,所述Channel号读取模块320从第一寄存器40中读取出现错误的内存条2的Channel号,例如,0号或者1号。
步骤S102,错误类型读取模块322从第二寄存器42中分析得出该出现错误的内存条2的错误类型。本实施例中,该错误类型有两个:可恢复性错误(Recoverable error)和不可恢复性错误(Non-Recoverable error)。
步骤S104,Rank号读取模块324根据该分析出的错误类型从特定的寄存器中读取出现错误的内存条2的Rank号,例如,0号、1号、2号、3号、4号或5号。
具体而言,每个错误类型会对应一个存放出现错误的内存条2的Rank号的寄存器,如当该内存条2的错误类型为可恢复性错误时,Rank号读取模块324需要从第三寄存器44中读取该内存条2的Rank号,而当该内存条2的错误类型为不可恢复性错误时,Rank号读取模块324需要从第四寄存器中读取该内存条2的Rank号。
步骤S106,所述内存条定位模块326将上述Channel号和Rank号与映射表中的内容进行比较,以定位出安插了该内存条2的内存插槽1的编号(即DIMM号),并由该DIMM号及内存布线机制定位出所述出现错误的内存条2。
步骤S108,所述通知模块328将该出现错误的内存条2的编号通知给用户。
另外,需要说明的是,如果服务器100中同时有两根或两根以上的内存条2出现错误,由于定位系统32每次仅可以读取一根内存条2的Channel号和Rank号,因此,需要多次执行定位系统32才可以定位出其他出现错误的内存条2。
最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。

Claims (2)

1.一种出错内存条定位方法,其特征在于,该方法包括:
对一内存插槽上的所有内存条同时进行测试;
判断是否存在出现错误的内存条;
当存在出现错误的内存条时,将该出现错误的内存条的内存通道号记录至一北桥内存控制器中的第一寄存器,还将该出现错误的内存条的错误类型记录至所述北桥内存控制器中的第二寄存器;其中每根内存条仅有一内存通道号,该错误类型包括可恢复性错误及不可恢复性错误;
当错误类型为可恢复性错误时,对应该出现错误的内存条的内存区块号记录至对应的第三寄存器;当错误类型为不可恢复性错误时,对应该出现错误的内存条的内存区块号记录至对应的第四寄存器;
从第一寄存器中读取出现错误的内存条的内存通道号;
从第二寄存器中分析得出内存的错误类型;
当错误类型为可恢复性错误时,从对应该出现错误的内存条的内存区块号的第三寄存器中读取出现错误的内存条的内存区块号;当错误类型为不可恢复性错误时,从对应该出现错误的内存条的内存区块号的第四寄存器中读取出现错误的内存条的内存区块号;
将上述内存通道号和内存区块号与映射表中的内容进行比较,以定位出安插了该内存条的插槽的编号;及
由上述插槽的编号及根据内存的布线机制定位出所述出现错误的内存条。
2.如权利要求1所述的出错内存条定位方法,其特征在于,该方法还包括:
将该出现错误的内存的编号通知给用户。
CN201110173063.3A 2011-06-24 2011-06-24 出错内存条定位方法 Expired - Fee Related CN102841832B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201110173063.3A CN102841832B (zh) 2011-06-24 2011-06-24 出错内存条定位方法
TW100123014A TW201301291A (zh) 2011-06-24 2011-06-30 出錯記憶體定位系統及方法
US13/474,620 US8793537B2 (en) 2011-06-24 2012-05-17 Computing device and method for detecting memory errors of the computing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110173063.3A CN102841832B (zh) 2011-06-24 2011-06-24 出错内存条定位方法

Publications (2)

Publication Number Publication Date
CN102841832A CN102841832A (zh) 2012-12-26
CN102841832B true CN102841832B (zh) 2017-05-24

Family

ID=47363013

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110173063.3A Expired - Fee Related CN102841832B (zh) 2011-06-24 2011-06-24 出错内存条定位方法

Country Status (3)

Country Link
US (1) US8793537B2 (zh)
CN (1) CN102841832B (zh)
TW (1) TW201301291A (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103197999B (zh) * 2013-03-22 2016-08-03 北京百度网讯科技有限公司 一种内存故障自动定位方法及装置
CN104809039B (zh) * 2015-04-24 2019-01-01 英业达科技有限公司 基于物理内存分配映射的内存检测方法
CN105095032A (zh) * 2015-08-14 2015-11-25 浪潮电子信息产业股份有限公司 一种快速定位故障内存条的检测装置和方法
CN109508247B (zh) * 2018-11-09 2022-02-11 英业达科技有限公司 定位内存错误发生位置的方法、系统、及电子设备
CN110688266B (zh) * 2019-08-21 2023-01-06 深圳市金泰克半导体有限公司 故障内存条定位方法、装置及存储介质
CN110718262B (zh) * 2019-08-21 2021-04-27 深圳市金泰克半导体有限公司 定位故障内存颗粒所在rank的方法、装置、存储介质
CN111506460B (zh) * 2020-04-16 2023-08-29 Oppo广东移动通信有限公司 内存故障的处理方法、装置、移动终端及存储介质
CN114461476B (zh) * 2022-02-14 2023-09-26 深圳源创存储科技有限公司 一种内存条故障检测方法、装置及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1492326A (zh) * 2002-10-24 2004-04-28 联想(北京)有限公司 一种内存错误产生器及计算机主板内存纠错功能测试方法
CN101599046A (zh) * 2009-06-26 2009-12-09 深圳市茁壮网络股份有限公司 一种内存检测方法及装置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100295074B1 (ko) * 1992-12-22 2001-09-17 리패치 응용주문형집적회로인에러정정코드메모리제어기
US6505305B1 (en) * 1998-07-16 2003-01-07 Compaq Information Technologies Group, L.P. Fail-over of multiple memory blocks in multiple memory modules in computer system
US6754117B2 (en) * 2002-08-16 2004-06-22 Micron Technology, Inc. System and method for self-testing and repair of memory modules
US7224595B2 (en) * 2004-07-30 2007-05-29 International Business Machines Corporation 276-Pin buffered memory module with enhanced fault tolerance
US7934076B2 (en) * 2004-09-30 2011-04-26 Intel Corporation System and method for limiting exposure of hardware failure information for a secured execution environment
US8028198B2 (en) * 2007-07-30 2011-09-27 Micron Technology, Inc. Devices, methods, and apparatuses for detection, sensing, and reporting functionality for semiconductor memory
US8966319B2 (en) * 2011-02-22 2015-02-24 Apple Inc. Obtaining debug information from a flash memory device

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1492326A (zh) * 2002-10-24 2004-04-28 联想(北京)有限公司 一种内存错误产生器及计算机主板内存纠错功能测试方法
CN101599046A (zh) * 2009-06-26 2009-12-09 深圳市茁壮网络股份有限公司 一种内存检测方法及装置

Also Published As

Publication number Publication date
US20120331349A1 (en) 2012-12-27
CN102841832A (zh) 2012-12-26
TW201301291A (zh) 2013-01-01
US8793537B2 (en) 2014-07-29

Similar Documents

Publication Publication Date Title
CN102841832B (zh) 出错内存条定位方法
US7143236B2 (en) Persistent volatile memory fault tracking using entries in the non-volatile memory of a fault storage unit
KR100337218B1 (ko) 스크루빙 및 스페어링을 향상시킨 컴퓨터 램 메모리 시스템
CN101558452B (zh) 用于在闪速eeprom存储页中重构可靠性数据的方法和装置
CN101093462B (zh) 数据库应用集群压力测试自动化方法
CN103197999B (zh) 一种内存故障自动定位方法及装置
CN102479555B (zh) 储存存储器的错误信息的装置和方法
CN102231852A (zh) 一种机顶盒序列号烧写方法及装置
CN106294222A (zh) 一种确定pcie设备与插槽对应关系的方法及装置
CN110289041A (zh) 一种系统芯片中bist与ecc结合的存储器检测装置
US9063827B2 (en) Systems and methods for storing and retrieving a defect map in a DRAM component
CN106126368A (zh) 一种linux下内存故障地址解析的方法
CN105045721A (zh) 一种数据一致性校验的方法和装置
CN108228381A (zh) 存储系统及其错误校正方法
CN102324251B (zh) 用以指示存储器中的编程失败的信号线
CN102999663A (zh) 一种soc芯片中的mmu的验证方法
CN105679373B (zh) 一种与非型闪存中坏列的处理方法、装置及与非型闪存
CN101211292A (zh) 系统内存间错误检测及修正功能验证之系统及其方法
US20030051193A1 (en) Computer system with improved error detection
CN102981925A (zh) 应用于通讯设备的寄存器巡检校验控制方法
CN105469831B (zh) 存储器模块的测试方法
CN109271399A (zh) 一种数据库写入日志一致性的校验方法
JP4439009B2 (ja) 試験装置、試験方法、解析装置及びプログラム
CN113380314B (zh) 存储器修复测试方法及系统
CN108920297A (zh) 一种诊断黑盒日志中pcie报错信息的方法和系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20160602

Address after: 518000 Guangdong Province, Shenzhen New District of Longhua City, Dalang street, Hua Sheng Lu Yong Jingxuan commercial building 1608

Applicant after: Jinyang Shenzhen sea Network Intelligent Technology Co., Ltd.

Address before: 518109 Guangdong city of Shenzhen province Baoan District Longhua Town Industrial Zone tabulaeformis tenth East Ring Road No. 2 two

Applicant before: Hongfujin Precise Industry (Shenzhen) Co., Ltd.

Applicant before: Hon Hai Precision Industry Co., Ltd.

CB03 Change of inventor or designer information
CB03 Change of inventor or designer information

Inventor after: Li Huizhan

Inventor before: Qin Jiejun

Inventor before: Lin Yulong

TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20170419

Address after: Tianhe District Tong East Road Guangzhou city Guangdong province 510665 B-101 No. 5, room B-118

Applicant after: Guangdong Gaohang Intellectual Property Operation Co., Ltd.

Address before: 518000 Guangdong Province, Shenzhen New District of Longhua City, Dalang street, Hua Sheng Lu Yong Jingxuan commercial building 1608

Applicant before: Jinyang Shenzhen sea Network Intelligent Technology Co., Ltd.

GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20170524

Termination date: 20190624