CN103092709A - 一种内存错误处理方法 - Google Patents
一种内存错误处理方法 Download PDFInfo
- Publication number
- CN103092709A CN103092709A CN2013100228884A CN201310022888A CN103092709A CN 103092709 A CN103092709 A CN 103092709A CN 2013100228884 A CN2013100228884 A CN 2013100228884A CN 201310022888 A CN201310022888 A CN 201310022888A CN 103092709 A CN103092709 A CN 103092709A
- Authority
- CN
- China
- Prior art keywords
- memory
- scanning
- error
- whole
- disposal route
- 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.)
- Pending
Links
Images
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明提供一种内存错误处理方法,其具体操作过程为:通过BIOS提供系统表,获取整个系统的内存地址空间;将整个地址空间根据控制器的不同划分为若干固定的内存区间;独立的在空闲时间片对各个内存区间进行独立的扫描;将扫描到的内存错误纠正并且写回到物理内存器件;将处理结果通过BIOS写入到闪存芯片进行记录,方便维护人员进行错误定位和硬件排错。该一种内存错误处理方法和现有技术相比,极大保证了整个系统内存空间的正确性,有效的降低了内存致命错误率,提到的整机的稳定性;由于内存错误在未被使用时候就得到纠正,有效的在性能上减少了对系统的冲击。
Description
技术领域
本发明涉及服务器和集群系统中内存错误处理的技术领域,具体的说是一种错误能及时得到处理的内存错误处理方法。
背景技术
当前服务器系统内存错误是服务器稳定性的主要威胁,现有的内存错误处理方法主要还是后处理方法,也就是说系统只能检测到上层应用程序使用的内存空间的错误,而这种方法必然在实际性能上造成了一定影响,这在对性能要求较高的系统上必然存在局限。
如果由于偶然的硬件(电流瞬时出现毛刺,温度短时间内偏高等)原因造成某个内存上的一个单比特错误,按照以往的方式,应用程序如果在很长时间内不适用这块内存,那么这个错误将一直得不到纠正。那么下个错误如果再发生在相同的器件上,就造成了多比特的错误,这在大部分主流的内存和芯片组上是无法纠正的,当应用程序再次使用到这块内存时候,很可能造成严重错误而导致宕机。
传统的内存纠错只在读取时纠正读取到的错误数据,并不会写回实际的物理内存,这样在下次读取同样位置时仍然是错误数据,需要再次进行纠正,这在访存频繁读取中无疑浪费了大量时间。
发明内容
本发明的技术任务是解决现有技术的不足,提供一种内存错误处理方法。
本发明的技术方案是按以下方式实现的,该一种内存错误处理方法,其具体操作过程为:
1)通过BIOS提供系统表,获取整个系统的内存地址空间;
2)将整个地址空间根据控制器的不同划分为若干固定的内存区间;
3)独立的在空闲时间片对各个内存区间进行独立的扫描;
4)将扫描到的内存错误纠正并且写回到物理内存器件;
5)将处理结果通过BIOS写入到闪存芯片进行记录,方便维护人员进行错误定位和硬件排错。
所述步骤3)的具体过程为:按照设置周期以及内存空间大小计算好扫描各个区间的速率,同时开始扫描全部内存区间,不同区间扫描互不影响。
所述步骤3)中的内存区间独立扫描时,如果某个内存的控制器检测到带宽负载瞬时达到理论上限,那么暂停扫描;当检测到系统瞬时负载降到理论负载80%以下时,重启扫描。
所述步骤4)的详细过程为:在任何扫描过程中如果检测到一个单比特的错误,那么根据局错误校验码将其纠正,写回到内存器件中;如果检测到多比特错误,那么将这个地址所在的内存页标记为脏页并且报知操作系统,操作系统将不再使用这个页并启动相应的错误处理方案。
本发明与现有技术相比所产生的有益效果是:
本发明的一种内存错误处理方法是基于硬件和固件预处理机制而形成的,提供对系统整个内存空间的不间断保护,区别于传统的ECC纠错,只在读取的内存地址进行纠正,这样极大保证了整个系统内存空间的正确性,有效的降低了内存致命错误率,提到的整机的稳定性;由于内存错误在未被使用时候就得到纠正,有效的在性能上减少了对系统的冲击。
附图说明
附图1是本发明的实现流程图。
具体实施方式
下面结合附图对本发明的一种内存错误处理方法作以下详细说明。
如附图1所示,该一种内存错误处理方法,其具体操作过程为:
1)如果开启了内存错误扫描,则继续,否则返回。
2)提取系统表中的内存地址信息,并且划分为若干区间。
3)由每个区间各自对应的控制器分别进行独立扫描。
4)如果控制器检测到控制器带宽达到理论峰值90%以上,则等待1秒继续步骤4)否则转步骤5)
5)当控制器检测到单比特错误,则转7),否则转6):
6)将这个地址所在的内存页标记为脏页并且报知操作系统,操作系统将不再使用这个页并启动相应的错误处理方案,转8)。
7)根据校验码纠正错误,并写回到内存器件中。
8)BIOS将纠正的所有错误类型以及错误位置记录到Flash芯片里,方便下次停机维护时检查相应内存器件的硬件是否正常。
Claims (4)
1.一种内存错误处理方法,其特征在于:其具体操作过程为:
1)通过BIOS提供系统表,获取整个系统的内存地址空间;
2)将整个地址空间根据控制器的不同划分为若干固定的内存区间;
3)独立的在空闲时间片对各个内存区间进行独立的扫描;
4)将扫描到的内存错误纠正并且写回到物理内存器件;
5)将处理结果通过BIOS写入到闪存芯片进行记录,方便维护人员进行错误定位和硬件排错。
2.根据权利要求1所述的一种内存错误处理方法,其特征在于:所述步骤3)的具体过程为:按照设置周期以及内存空间大小计算好扫描各个区间的速率,同时开始扫描全部内存区间,不同区间扫描互不影响。
3.根据权利要求1或2所述的一种内存错误处理方法,其特征在于:所述步骤3)中的内存区间独立扫描时,如果某个内存的控制器检测到带宽负载瞬时达到理论上限,那么暂停扫描;当检测到系统瞬时负载降到理论负载80%以下时,重启扫描。
4.根据权利要求1所述的一种内存错误处理方法,其特征在于:所述步骤4)的详细过程为:在任何扫描过程中如果检测到一个单比特的错误,那么根据局错误校验码将其纠正,写回到内存器件中;如果检测到多比特错误,那么将这个地址所在的内存页标记为脏页并且报知操作系统,操作系统将不再使用这个页并启动相应的错误处理方案。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2013100228884A CN103092709A (zh) | 2013-01-22 | 2013-01-22 | 一种内存错误处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2013100228884A CN103092709A (zh) | 2013-01-22 | 2013-01-22 | 一种内存错误处理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103092709A true CN103092709A (zh) | 2013-05-08 |
Family
ID=48205316
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2013100228884A Pending CN103092709A (zh) | 2013-01-22 | 2013-01-22 | 一种内存错误处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103092709A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103279406A (zh) * | 2013-05-31 | 2013-09-04 | 华为技术有限公司 | 一种内存的隔离方法和装置 |
CN105893166A (zh) * | 2016-04-29 | 2016-08-24 | 浪潮电子信息产业股份有限公司 | 一种处理内存错误的方法及装置 |
WO2017036202A1 (zh) * | 2015-08-28 | 2017-03-09 | 中兴通讯股份有限公司 | 一种位翻转检测方法及装置 |
CN110008090A (zh) * | 2019-04-15 | 2019-07-12 | 苏州浪潮智能科技有限公司 | 一种监控内存错误的方法、装置和计算机可读存储介质 |
CN112000537A (zh) * | 2019-05-27 | 2020-11-27 | 英业达科技有限公司 | 计算机装置的内建内存检测方法 |
CN113821369A (zh) * | 2021-11-23 | 2021-12-21 | 苏州浪潮智能科技有限公司 | 一种内存巡检的方法、装置及介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1661566A (zh) * | 2004-02-25 | 2005-08-31 | 华为技术有限公司 | 一种并行加载数据回读校验方法 |
CN102004701A (zh) * | 2009-08-28 | 2011-04-06 | 炬才微电子(深圳)有限公司 | 一种次级内存的分配方法和装置 |
CN102222025A (zh) * | 2011-06-17 | 2011-10-19 | 华为数字技术有限公司 | 一种消除内存故障的方法及装置 |
CN102467440A (zh) * | 2010-11-09 | 2012-05-23 | 鸿富锦精密工业(深圳)有限公司 | 内存错误检测系统及方法 |
CN102789407A (zh) * | 2012-06-18 | 2012-11-21 | 上海斐讯数据通信技术有限公司 | 内存块有效性检测方法 |
-
2013
- 2013-01-22 CN CN2013100228884A patent/CN103092709A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1661566A (zh) * | 2004-02-25 | 2005-08-31 | 华为技术有限公司 | 一种并行加载数据回读校验方法 |
CN102004701A (zh) * | 2009-08-28 | 2011-04-06 | 炬才微电子(深圳)有限公司 | 一种次级内存的分配方法和装置 |
CN102467440A (zh) * | 2010-11-09 | 2012-05-23 | 鸿富锦精密工业(深圳)有限公司 | 内存错误检测系统及方法 |
CN102222025A (zh) * | 2011-06-17 | 2011-10-19 | 华为数字技术有限公司 | 一种消除内存故障的方法及装置 |
CN102789407A (zh) * | 2012-06-18 | 2012-11-21 | 上海斐讯数据通信技术有限公司 | 内存块有效性检测方法 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103279406A (zh) * | 2013-05-31 | 2013-09-04 | 华为技术有限公司 | 一种内存的隔离方法和装置 |
CN103279406B (zh) * | 2013-05-31 | 2015-12-23 | 华为技术有限公司 | 一种内存的隔离方法和装置 |
WO2017036202A1 (zh) * | 2015-08-28 | 2017-03-09 | 中兴通讯股份有限公司 | 一种位翻转检测方法及装置 |
CN105893166A (zh) * | 2016-04-29 | 2016-08-24 | 浪潮电子信息产业股份有限公司 | 一种处理内存错误的方法及装置 |
CN110008090A (zh) * | 2019-04-15 | 2019-07-12 | 苏州浪潮智能科技有限公司 | 一种监控内存错误的方法、装置和计算机可读存储介质 |
CN112000537A (zh) * | 2019-05-27 | 2020-11-27 | 英业达科技有限公司 | 计算机装置的内建内存检测方法 |
CN113821369A (zh) * | 2021-11-23 | 2021-12-21 | 苏州浪潮智能科技有限公司 | 一种内存巡检的方法、装置及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103092709A (zh) | 一种内存错误处理方法 | |
CN102662608B (zh) | 一种降低读延时的方法及装置 | |
EP3352083A1 (en) | Debugging method, multi-core processor, and debugging equipment | |
US8977905B2 (en) | Method and system for detecting abnormality of network processor | |
CN102222025A (zh) | 一种消除内存故障的方法及装置 | |
EP3208715A2 (en) | Method and apparatus for performing data scrubbing management in storage system | |
WO2016082523A1 (zh) | 故障处理装置及方法 | |
CN103198000A (zh) | 一种linux系统下的故障内存位置定位方法 | |
CN101826368A (zh) | 数据扫描方法和扫描装置 | |
CN102356384A (zh) | 一种检测数据可靠性的方法和装置 | |
CN103593269A (zh) | 一种多PCIe设备重启压力的自动化循环测试方法 | |
CN103778030A (zh) | 日志子系统写入方法、错误追踪方法及处理器 | |
CN102841832A (zh) | 出错内存条定位系统及方法 | |
CN115934389A (zh) | 用于错误报告和处理的系统和方法 | |
CN102236585A (zh) | 提升错误更正能力的方法以及相关的记忆装置及其控制器 | |
CN103092717B (zh) | 闪存的数据处理方法及装置 | |
CN101989322B (zh) | 自动提取恶意代码内存特征的方法和系统 | |
CN105654004A (zh) | 智能选通条码解码的方法及芯片 | |
CN104102563A (zh) | 一种发现服务器系统的mca错误的方法及装置 | |
CN103810084A (zh) | 一种js代码的测试方法、装置和系统 | |
US20100257430A1 (en) | Storage device and method for extending lifetime of storage device | |
CN103164001B (zh) | 一种电子装置及电子装置的控制方法 | |
CN105389350A (zh) | 一种分布式文件系统元数据信息获取方法 | |
US10846162B2 (en) | Secure forking of error telemetry data to independent processing units | |
CN111784105B (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 | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20130508 |
|
WD01 | Invention patent application deemed withdrawn after publication |