一种避免误用非ecc内存的设计方法

文档序号:6373499阅读:661来源:国知局
专利名称:一种避免误用非ecc内存的设计方法
技术领域
本发明涉及一种避免误用非ECC内存的设计方法,属于计算机及信息技术领域。
背景技术
随着信息时代的到来,计算机系统被大量采用,对计算机系统可靠性的要求也越来越高。为了提高内存子系统的可靠性,ECC(Error Checking andCorrection)技术被广泛采用。在采用ECC技术的内存子系统中,每一条内存都使用总容量的1/8的额外内存容量来存储校验信息,当有数据位发生错误时,系统就可以进行检测和纠正。
但是如果系统使用者不小心使用了非ECC内存或者将非ECC内存与ECC内存混用,现有技术的系统将禁用内存的ECC功能,而继续启动系统,那么在系统运行时,内存中的数据位如果发生错误,将导致数据丢失或系统崩溃。上面情况的发生将会极大地降低计算机系统的可靠性,给系统和数据带来潜在的危险。
现有技术中,BIOS(Basic Input and Output System)在系统启动时,首先检验基本的硬件设备信息,包括从每条内存的SPD芯片中读取所有的信息;之后对每一条内存初始化并分配内存地址空间;系统不会对内存的SPD芯片中的信息进行判断是否是ECC内存,而是继续进行POST操作;除非用户确实使用了同一类型的ECC内存并在BIOS中设置启动ECC功能,系统的数据可靠性才得到保障。常规启动流程图(部分)如图1所示。

发明内容
本发明的主要目的在于,克服现有技术的缺陷,而提供一种避免误用非ECC内存的设计方法,通过对内存的检测,及时发现内存ECC功能失效并报告给用户,达到提高计算机系统可靠性的目的。
本发明的目的及解决其主要技术问题是采用以下技术方案来实现的一种避免误用非ECC内存的设计方法,是在系统启动并开始初始化内存地址时,从每条内存的SPD芯片中读取所有的信息之后,判断每条内存是否支持ECC功能。如果全部内存均为ECC内存,那么则判定ECC有效,系统继续检测和启动;如果有任何一条内存为非ECC内存,那么判定ECC失效,在系统的BIOS程序中设置一个中断程序来中止系统检测和启动,同时调用相关程序模块,在显示终端输出ECC功能失效的文字信息或让主板的蜂鸣器报警或二者皆有。
目前有的系统是从主机板的芯片组(如北桥芯片)通过电信号来识别所使用的内存是否支持ECC校验功能,这样虽然可以更精确的判断是否使用ECC内存;但是设计原理复杂,成本很高,而且使用非ECC内存时没有明确的信息输出,不利于判断和用户的使用。本设计方案是从BIOS角度进行的技术判断和处理的,仅需要编写一些简单的中断控制程序,而且通用性强,可以用于不同厂家的BIOS。它可以在几乎不增加任何成本的情况下,检测内存是否支持ECC功能,在没有ECC的情况下明确提醒用户,极大的提高计算机系统可靠性。
本发明的具体方法由以下实施例及其附图详细给出。


图1是现有技术的常规启动流程图;图2是该设计方法流程图;具体实施方式
如图2所示,在ECC内存系统中,在系统启动并开始初始化内存地址时,从每条内存的SPD芯片中读取所有的信息之后,判断每条内存是否支持ECC功能。如果发现有任何一条内存不支持ECC功能,那么在系统的BIOS程序中设置一个中断程序来中止系统检测和启动,同时调用相关程序模块,在显示终端输出ECC功能失效的文字信息(如“Non ECC Memory Used”)以及让主板的蜂鸣器报警;如果所有内存均为ECC内存,那么系统将继续检测和启动。
SPD(Serial Presence Detect)为内存条上的EEPROM,用来存储内存的型号及规格信息(包括内存是否为ECC),供系统读取使用。
以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明,任何熟悉本专业的技术人员,在不脱离本发明技术方案范围内,当可利用上述揭示的方法及技术内容作出些许的更动或修饰为等同变化的等效实施例,但是凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本发明技术方案的范围内。
权利要求
1.一种避免误用非ECC内存的设计方法,其特征在于所述方法是系统启动并开始初始化内存地址时,从每条内存的SPD芯片中读取所有的信息之后,判断每条内存是否支持ECC功能。
2.权利要求1所述的避免误用非ECC内存的设计方法,其特征在于如果全部内存均为ECC内存,那么则判定ECC有效,系统继续检测和启动;如果有任何一条内存为非ECC内存,那么判定ECC失效,中止系统检测和启动。
3.权利要求2所述的避免误用非ECC内存的设计方法,其特征在于判定ECC失效后,在系统的BIOS程序中设置一个中断程序来中止系统检测和启动。
4.权利要求3所述的避免误用非ECC内存的设计方法,其特征在于同时调用相关程序模块,在显示终端输出ECC功能失效的文字信息。
5.权利要求3或4所述的避免误用非ECC内存的设计方法,其特征在于同时调用相关程序模块,让主板的蜂鸣器报警。
全文摘要
本发明是关于一种避免误用非ECC内存的设计方法,是在系统启动并开始初始化内存地址时,从每条内存的SPD芯片中读取所有的信息之后,判断每条内存是否支持ECC功能。如果全部内存均为ECC内存,那么则判定ECC有效,系统继续检测和启动;如果有任何一条内存为非ECC内存,那么判定ECC失效,在系统的BIOS程序中设置一个中断程序来中止系统检测和启动,同时调用相关程序模块,在显示终端输出ECC功能失效的文字信息或让主板的蜂鸣器报警或二者皆有。本发明可有效避免非ECC内存误用和混用,发现内存ECC功能失效,提高计算机系统可靠性。
文档编号G06F11/00GK1570859SQ03149549
公开日2005年1月26日 申请日期2003年7月16日 优先权日2003年7月16日
发明者沈家林 申请人:联想(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1