进行误差检查的方法及相关装置制造方法及图纸

技术编号:2863155 阅读:141 留言:0更新日期:2012-04-11 18:40
一种进行误差检查的方法及相关装置。本发明专利技术将一内存提供的存储空间划分为一误差检查/校正范围与一非误差检查/校正范围。当读取或写入一数据时,判断该数据的地址是属于该误差检查/校正范围或该非误差检查/校正范围,以决定是否对该数据执行误差检查/校正。

【技术实现步骤摘要】

本专利技术涉及一种进行误差检查的方法及相关装置,特别涉及一种可依据数据存取的地址判断是否对数据执行误差检查的方法及相关装置。
技术介绍
计算机系统能方便、迅速地运算、存取、管理大量的数据、数据与影音信息,已成为现代信息社会最重要的硬件基础之一;而信息厂商也致力研发各种技术,以提升计算机系统的效能以及数据存取的正确性。一般来说,计算机系统中会设有一中央处理器用来控制计算机系统的操作,一内存用来储存计算机系统的数据,以及一控制芯片(例如北桥电路或芯片组)用来管理处理器与内存之间的数据传输。为了确保中央处理器(与计算机系统中其它的装置电路)能由内存存取到正确的数据,各种误差检测(errordetecting)的机制已经广泛地应用于计算机系统,如误差检查/校正(errorchecking-correcting,ECC),其可同时达到检测误差与校正误差的功能。而此误差检查/校正功能,即可由控制芯片来实现。在执行误差检查/校正时,若有一笔数据要存入内存,控制芯片就可针对该数据进行处理而产生一相对应的校正数据(Verifying ECC Byte)作为误差检查码,并将该笔数据连同该误差检查码一起储存在内存内。一般来说,在现行的误差检查/校正算法之下,每64个位的数据会产生8个位的校正数据(误差检查码)。当要将该笔数据由内存中读出时,控制芯片会同时读出该笔数据以及其相对应的校正数据,并且依据该笔数据及该校正数据产生检查位(syndrome bits),用以判断所读取的数据是否正确。该检查位可指出该笔数据哪一位发生误差并能加以更正,假如有二个位发生误差,则回报误差信息。不过,为了要配合64位数据/8位校正数据的误差检查/校正算法,在将数据写入至内存时,可能就要进行数据的部分写入(partial write),也就是读取/校正/写入(read/modify/write)动作。举例来说,假设有一笔8位的数据要写入至内存,但误差检查/校正功能是以每64个位为一整体以产生8个位的校正数据,因此必须先自内存中读取相对应的另外56位数据(及对应的校正数据),以组合出64位的数据,并据以进行误差检查/校正功能,再将数据写入至内存中。在现有技术中,在对内存中的每一笔数据进行存取时,皆须进行误差检查/校正功能,以确保数据的正确性。因此计算机系统需耗费较多的系统资源以提供误差检查/校正功能。特别是在执行部份写入时,耗费的系统资源更多,因此也降低了计算机系统的工作效能。若完全不进行误差检查/校正,计算机系统的效能较高,却又可能会发生数据存取的误差。换句话说,现有计算机系统仅能在效能与数据正确性之间取其两极,无法兼顾。
技术实现思路
本专利技术提供一种进行误差检查的方法及相关装置,以解决上述的问题。在本专利技术的较佳实施例中,本专利技术可在开机时藉由基本输出入系统所记录的设定值来设定误差检查/校正范围与非误差检查/校正范围。当读取或写入一数据时,判断该数据的地址是属于该误差检查/校正范围或该非误差检查/校正范围,以决定是否对该数据执行误差检查/校正,藉以在计算机系统的效能与数据存取的正确性之间达到较佳的安排。举例来说,现代的芯片组中常整合有图形处理电路,并运用系统内存提供的存储资源来处理图像画面的数据,像是显示器所呈现出的各个画格的数据。这些图像数据的变化频繁而且零碎(每次变化的数据少于64位),若在误差检查/校正的内存系统中,存取这些图像数据就会涉及许多次的读取/校正/写入(read/modify/write)动作,大大影响效能。然而,一般来说,计算机系统的使用者对图像数据正确性的要求并不高,因此可将内存中的图像暂存地址区域(graphic frame buffer)设定为非误差检查/校正范围。当执行图像数据存取时,由于此图像暂存地址区域为非误差检查/校正范围,就可直接存取此范围中的数据,不需执行误差检查/校正,也就可省下多次的读取/校正/写入动作,大幅提升效能。另外,其余的内存区域可为误差检查/校正范围;当存取此范围的数据时,仍要对数据执行误差检查/校正。而重要性较高、需要正确数据的程序,就可利用这些内存区域来存取其数据。也就是说,本专利技术可依据不同数据应用上的需求,动态地启动或关闭误差检查/校正功能,不仅可适当地维持数据的正确性,还能避免计算机系统因处理过多不必要的读取/校正/写入动作,而降低系统效能。附图说明图1为本专利技术芯片组应用于计算机系统的示意图。图2为图1中内存的存储空间的示意图。图3为本专利技术在图1中计算机系统执行读取指令的流程图。图4为本专利技术在图1中计算机系统执行写入指令的流程图。附图符号说明10计算机系统 12 中央处理器14芯片组 16 内存18基本输出入系统 22 存取模块23A 直接存取模块23B ECC存取模块24多工模块26 计算模块28接口电路M、N 非误差检查/校正范围具体实施方式请参阅图1;图1为本专利技术芯片组14应用于一计算机系统10的示意图。计算机系统10包含一中央处理器12、一基本输出入系统(basic input/outputsystem,BIOS)18、一芯片组14以及一内存16。中央处理器12用来执行程序,处理数据、数据,以控制计算机系统10的运作。内存16可以是一支持ECC功能的随机存取内存,用来暂存中央处理器12运作期间所需的程序、数据;而芯片组14则用来管理中央处理器12与内存16的数据往来传输,并在存取数据时执行误差检查/校正功能。基本输出入系统18除了用来储存计算机开机时一些基本检查程序进行的设定及程序代码,还能在开机时设定误差检查/校正范围与非误差检查/校正范围。为了实现本专利技术的技术精神,本专利技术芯片组14包含一存取模块22、一误差检查/校正(error checking-correcting,ECC)的计算模块26、一接口电路28以及一多工模块24;存取模块22中另设有一直接存取模块23A及一ECC存取模块23B。当中央处理器12(或其它装置、电路)要由内存16中存取某一地址的数据时,可通过接口电路28取得地址。多工模块24则可根据基本输出入系统18所设定的地址范围,对接口电路28所传送过来的地址进行判断,来决定该数据的地址是属于非误差检查/校正范围或误差检查/校正范围,以控制存取模块22进行数据存取的模式,并决定是否对该地址对应的数据进行误差检查/校正。若多工模块24判断该数据的地址是属于误差检查/校正范围,就可使存取模块22中的ECC存取模块23B进行读取/校正/写入(read/modify/write)动作(若有需要的话),并可使计算模块26对该数据进行误差检查/校正,举例来说,计算模块26可根据特定的误差检查/校正算法(像是64位数据/8位校正数据的算法)来计算产生相对应的校正数据(也就是误差检查码ECC),并通过ECC存取模块23B而将校正数据储存在内存16中,或根据所接收的数据产生相对应的检查码,以检查该笔数据的正确性。相对地,若多工模块24判断该地址属于非误差检查/校正范围,就可使存取模块22中的直接存取模块23A直接存取该地址对应的数据,不必进行读取/校正/写入动作,也不必进行校正数据的计算。在本专利技术的较佳实施例中,可利用基本输出入系统18来实现一个接口,本文档来自技高网
...

【技术保护点】
一种进行误差检查的方法,以在存取一内存时动态地选择是否执行误差检查/校正机制,该方法包含有:将该内存提供的存储空间划分为一误差检查/校正范围与一非误差检查/校正范围;在该内存内存取一数据时,判断该数据的地址;若该数据 的地址属于该误差检查/校正的范围内,对该数据执行误差检查/校正以根据该数据的内容计算出一对应的检查码;以及若该数据的地址属于该非误差检查/校正的范围内,则不对该数据执行误差检查/校正。

【技术特征摘要】

【专利技术属性】
技术研发人员:林景祥江蕙如丁杰
申请(专利权)人:威盛电子股份有限公司
类型:发明
国别省市:71[中国|台湾]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1