首页> 中国专利> 存储器不稳定仍维持系统稳定度的系统及存储器控制方法

存储器不稳定仍维持系统稳定度的系统及存储器控制方法

摘要

一种当存储器不稳定仍维持系统稳定度的计算机系统及存储器控制方法,上述计算机系统将数据同时储存于多个存储模块中,当其中一存储模块发生无法修复的错误或是发生错误的次数达一默认值时,则计算机系统切换到另一存有相同数据的存储模块进行读取操作;而存储器控制方法亦一并披露。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-05-03

    未缴年费专利权终止 IPC(主分类):G06F11/08 授权公告日:20100428 终止日期:20160320 申请日:20030320

    专利权的终止

  • 2010-04-28

    授权

    授权

  • 2004-12-15

    实质审查的生效

    实质审查的生效

  • 2004-09-29

    公开

    公开

说明书

技术领域

本发明涉及一种计算机系统,特别涉及一种当存储器不稳定时,仍维持系统稳定度的计算机系统及其存储器控制方法。

背景技术

图1显示已知计算机系统的架构图。如图1所示,已知控制装置,包括:一中央处理器11、存储器控制器12、系统中断装置13以及存储模块M1~Mk+1;其中,存储模块M1~Mk+1是由存储器控制器12所控制;当存储器控制器12检测出ECC错误(Error Correction Code)时,存储器控制器12会修复错误,并致能系统中断装置13,使其送出SMI信号予中央处理器11,使中央处理器11进入系统服务程序(system management mode;SMM)后,记录发生ECC错误的存储模块的位置。

但服务器及工作站的运用中,其系统常需要长时间的连续运算,不能间断或关机;产生ECC错误(Error Correction Code)时,常是存储模块开始不稳定的前兆;若存储模块发生无法修复的ECC错误时,将造成运算数据错误或是系统的死机。

因此,已知的存储模块控制装置无法隔离不稳定的存储模块,进而造成严重的影响,如:死机。

发明内容

有鉴于此,本发明主要目的是提供一种计算机系统,当计算机系统的存储器不稳定时,仍维持系统稳定度。

另外,本发明另一目是提供一种存储器控制方法,将数据同时存入多个存储模块,但只读取其中个存储模块的数据,当所读取的存储模块发生的读取错误大于一默认值或是发生无法修复的错误,则将读取操作切换到另一存储模块中。

为实现上述目的,本发明提出一种计算机系统,当计算机系统的存储器不稳定时,仍维持系统稳定度,该计算机系统,包括:一存储器控制器,用以检测及控制存储模块的运作;至少一存储映像单元,每一存储映像单元各自控制多个存储模块(M1~Mn),当在一存储器写入周期时,将数据同时写入存储模块(M1~Mn);当在存储器读取周期时,致能存储模块Mi(1≤i≤n)以读取数据,存储模块(M1~Mn)具有相同存储地址;其中,在一存储器读取周期中,当存储器控制器检测出存储模块Mi发生读取错误时,则接收一错误码控制信号,使存储映像单元禁能存储模块Mi且致能存储模块Mj(1≤j≤n且j≠i)。

在存储器读取周期时,存储器控制器检测出存储模块Mi发生无法修复的错误或是存储模块Mi所发生的错误达到默认值,则存储映像单元将读取操作切换至存储模块Mi中进行。

为实现上述目的,本发明提出一种存储器控制方法,适用于一计算机系统,包括下列步骤:提供多个存储模块群,每一存储模块群包括多个存储模块(M1~Mn);令每一存储模块群中的所有存储模块(M1~Mn)具有相同的寻址地址;在一存储器写入周期中,对一写入地址所对应的存储模块(M1~Mn),同时进行数据写入;在一存储器读取周期中,仅致能对应一读取地址的存储模块Mi(1≤i≤n),以进行数据读取;

其中,当计算机系统检测到存储模块Mi发生读取漏失时,则选择致能对应该读取地址的存储模块Mj(1≤j≤n且j≠i),以进行数据读取。

而读取漏失可分为:当存储模块Mi发生无法修复的错误或是存储模块Mi错误发生次数达一默认值。

本发明有以下几点优于图1所示的已知技术:

一、本发明利用存储器的控制信号以隔离不稳定的存储模块,当存储模块发生多次的ECC错误或发生无法修复的ECC错误时,计算机系统能立即隔离不稳定的存储模块。

二、由于计算机系统切换新的存储模块,因而延长计算机系统不关机时间。

附图说明

为使本发明的上述和其它目的、特征、和优点能更明显易懂,下文特举出较佳实施例,并结合附图详细说明如下。

图1显示已知计算机系统架构图。

图2显示本发明第一实施例的计算机系统架构图。

图3显示本发明存储映像单元的电路图。

图4显示本发明于存储器写入周期的时序图。

图5显示本发明于存储器读取周期的时序图。

图6显示本发明第二实施例的计算机系统架构图。

图7显示本发明存储器控制方法的流程图。

附图符号说明

11:中央处理器;12、21:存储器控制器;

13:系统中断装置;M1~Mk+1:存储模块;

22:一般输出/入装置;23a~23n:存储映像单元;

30:第一“与”门;31:第二“与”门;

41~48:第一~第八反相器;

36:第一开关;37:第二开关;

38:第一“或”门;39:第二“或”门。

具体实施方式

本发明披露一种计算机系统,当计算机系统的存储器不稳定时,仍维持系统稳定度,包括:一存储器控制器,用以检测及控制存储模块的运作;至少一存储映像单元,每一存储映像单元各自控制多个存储模块(M1~Mn),当在一存储器写入周期时,将数据同时写入存储模块(M1~Mn);当在存储器读取周期时,致能存储模块Mi(1≤i≤n)以读取数据,存储模块(M1~Mn)具有相同存储地址。

其中,在一存储器读取周期中,当存储器控制器检测出存储模块Mi发生读取错误时,则接收一错误码控制信号,使存储映像单元禁能存储模块Mi且致能存储模块Mj(1≤j≤n且j≠i)。

由上述可知,本发明的存储映像单元的数目可为一至多个,而每个存储映像单元可控制多个存储模块,为方便解释本发明的操作原理,以下将以多个存储映像单元,而每一个存储映像单元均控制二个存储模块为例,说明本发明的电路架构及操作流程。

图2显示本发明第一实施例的计算机系统架构图。如图2所示,包括:一中央处理器11;一存储器控制器21,用以检测存储模块的读取错误;一系统中断装置13,当存储器控制器21检测到存储模块发生读取错误时,系统中断装置13送出一中断信号予中央处理器11,使计算机系统进入系统服务程序后,才触发错误码控制信号ECC_CTR[a…n],在此实施例中,错误码控制信号ECC_CTR[a…n]是由一般输出/入装置22所输出;以及

多个存储映像单元23a~23n,每一该存储映像单元23a~23n各自控制一第一及第二存储模块(亦即存储映像单元23a控制存储模块M1、M2;存储映像单元23b控制存储模块M3、M4;…;存储映像单元23n控制存储模块Mk、Mk+1),并在存储器写入周期中,将数据同时写入具有相同存储地址的两存储模块中,在一存储器读取周期中,致能该其中一存储模块以读取数据。

其中,当存储器控制器21检测出某一存储映像单元的第一存储模块发生读取错误时,则存储映像单元23a~23n禁能发生读取错误的第一存储模块且致能第二存储模块。

以下将以存储映像单元23a为例,说明其操作方式:首先,存储映像单元23a接收存储器控制器21所输出的列选通信号(RAS)、行选通信号(CAS)、写入致能信号(WE)、以及一般输出/入装置22所输出的错误码控制信号ECC_CTR(a)及芯片控制信号CHIP_CTR,以控制存储模块M1、M2。

芯片控制信号CHIP_CTR控制在计算机系统完成正常开机程序后,用以启动计算机系统存储映像程序,使第一及第二存储模块具有相同的存储地址;当错误码控制信号ECC_CTR(a)禁能时,表示正由第一存储模块M1进行读取操作;当错误码控制信号ECC_CTR(a)致能时,表示第一存储模块M1发生读取错误,计算机系统读取改由第二存储模块M2。

图3显示根据本发明所设计的存储映像单元的电路图。包括:第一“与”门30,具有一第一、第二、第三、第四、第五及第六输入端,其第三输入端接收列选通信号RAS、其第四输入端接收写入致能信号WE、其第六输入端接收错误码控制信号ECC_CTR(a);第一反相器41,具有一输入端耦接芯片控制信号CHIP_CTR,一输出端耦接第一“与”门30的第一输入端;第二反相器42,具有一输入端耦接第一致能信号CS1,一输出端耦接第一“与”门30的第二输入端;第三反相器43,具有一输入端耦接行选通信号CAS,一输出端耦接该第一“与”门30的第四输入端;

第二“与”门31,具有一第一、第二、第三、第四、第五及第六输入端,其第三输入端接收列选通信号RAS、其第四输入端接收写入致能信号WE;第四反相器44,具有一输入端耦接芯片控制信号CHIP_CTR,一输出端耦接第二“与”门31的第一输入端;第五反相器45,具有一输入端耦接一第二致能信号CS2,一输出端耦接第二“与”门31的第二输入端;第六反相器46,具有一输入端耦接行选通信号CAS,一输出端耦接第二“与”门31的第四输入端;第七反相器47,具有一输入端耦接错误码控制信号ECC_CTR(a),一输出端耦接第二“与”门31的第六输入端;

第一开关36,具有一输入端耦接第一致能信号CS1,一输出端及一控制端;第二开关37,具有一输入端耦接该第二致能信号CS2、一输出端耦接第一开关36的输出端及一控制端耦接芯片致能信号CHIP_CTR;第八反相器48,具有一输入端耦接芯片致能信号CHIP_CTR,一输出端耦接第一开关36的控制端;

第一“或”门38,具有一第一输入端耦接第一致能信号CS1,一第二输入端耦接第一“与”门30的输出端,一输出端用以致能存储模块M1;第二“或”门39,具有一第一输入端耦接第一开关36的输出端,一第二输入端耦接第二“与”门31的输出端,一输出端用以致能存储模块M2。

当计算机系统一开机时,芯片控制信号CHIP_CTR被致能,则第一及第二“或”门38、39会送出致能信号CS01和CS02予存储模块M1、M2;接着将芯片控制信号CHIP_CTR禁能时,则存储模块M1、M2具有相同的存储地址,致能信号CS01和CS02均由第一致能信号CS1控制。

假设一开始并未出现读取错误,则错误码控制信号ECC_CTR(a)未被致能,且存储器控制器21所输出的RAS、CAS、WE开始操作,则第二“或”门39所输出的致能信号CS02等于致能信号CS01,表示数据会同时存入存储模块M1和M2,但只读取存储模块M1;当错误码控制信号ECC_CTR(a)被致能时,表示存储模块M1发生读取错误,此时,第一“或”门38禁能存储模块M1,第二“或”门39致能存储模块M2,改由存储模块M2进行读取操作。

另外,发生读取错误的原因有二:一是存储模块M1发生无法修复的ECC错误时,另一是存储模块M1所发生的ECC错误大于一默认值(表示存储模块M1已不稳)。在此两种清况下,存储器控制器21均会触发错误码控制信号ECC_CTR(a)。

图4显示本发明于存储器写入周期的时序图。如图4所示,在存储器写入周期时,存储模块M1、M2的致能信号CS01和CS02同时被致能,使得数据DATA同时写入二存储模块。

图5显示本发明于存储器读取周期的时序图。如图5所示,在存储器写入周期时,存储模块M2的致能信号CS02并未被玫能(虚线所示),故计算机系统仅由存储模块M1中读取数据DATA。

图6显示本发明第二实施例的计算机系统架构图。与本发明第一实施例不同的处在于,第二实施例将原本由一般输出/入装置22所输出的错误码控制信号ECC_CTR[a…n]改由存储器控制器21直接输出。

存储模块M1发生无法修复的ECC错误时,存储器控制器21清除刚从存储器读入的数据,输出错误码控制信号ECC_CTR(a)切换执行读取操作的存储器模块;如此不需再藉由中断程序的执行来切换,执行读取操作的存储器模块。

图7显示本发明存储器控制方法的流程图。适用于一计算机系统,包括下列步骤:

一种存储器控制方法,适用于一计算机系统,包括下列步骤:

步骤100:提供多个存储模块对,每一存储模块对包括一第一存储模块和一第二存储模块,然后执行步骤110。

步骤110:令每一对存储模块中的该第一和第二存储模块具有相同的寻址地址;然后执行步骤120

步骤120:在一存储器写入周期中,对一写入地址所对应的第一和第二存储模块,同时进行数据写入,然后执行步骤130。

步骤130:在一存储器读取周期中,仅致能对应一读取地址的第一存储模块,以进行数据读取,然后执行步骤140。

步骤140:计算机系统判断第一存储模块是否出现读取漏失,若是,则执行步骤160,若否,则执行步骤150。

步骤150:继续读取第一存储模块,然后执行步骤140,再继续判断第一存储模块是否出现读取错误。

步骤160:计算机系统选择致能对应读取地址的第二存储模块,以进行数据读取,然后执行步骤140。

虽然本发明已以较佳实施例披露如上,然其并非用以限定本发明,本领域技术人员,在不脱离本发明的精神和范围的前提下,可作若干的更动与润饰,因此本发明的保护范围视后附的权利要求所界定。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号