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

文档序号:6442838阅读:177来源:国知局
专利名称:存储器不稳定仍维持系统稳定度的系统及存储器控制方法
技术领域
本发明涉及一种计算机系统,特别涉及一种当存储器不稳定时,仍维持系统稳定度的计算机系统及其存储器控制方法。
背景技术
图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。
虽然本发明已以较佳实施例披露如上,然其并非用以限定本发明,本领域技术人员,在不脱离本发明的精神和范围的前提下,可作若干的更动与润饰,因此本发明的保护范围视后附的权利要求所界定。
权利要求
1.一种计算机系统,当该计算机系统的存储器不稳定时,仍维持系统稳定度,该计算机系统,包括一存储器控制器,用以检测及控制存储模块的运作;至少一存储映像单元,每一该存储映像单元各自控制多个存储模块(M1~Mn),并且接收一错误码控制信号,当在一存储器写入周期时,将数据同时写入该存储模块(M1~Mn);当在存储器读取周期时,致能该存储模块Mi(1≤i≤n)以读取数据,该存储模块(M1~Mn)具有相同存储地址;其中,在一存储器读取周期中,当该存储器控制器检测出该存储模块Mi发生读取错误时,则触发该错误码控制信号,使该存储映像单元禁能该存储模块Mi且致能该存储模块Mj(1≤j≤n且j≠i)。
2.如权利要求1所述的计算机系统,还包括一中央处理器;一系统中断装置,当该存储器控制器检测出读取错误时,系统中断装置送出一中断信号给该中央处理器,用以中断该计算机系统,然后该错误码控制信号才被触发。
3.如权利要求2所述的计算机系统,其中,该存储映像单元各自接收其所对应的错误码控制信号,用以进行上述存储模块间的切换。
4.如权利要求3所述的计算机系统,其中,当该存储器控制器检测出该存储模块Mi在该存储器读取周期中,发生无法修复的错误时,则该存储器控制器判断该存储模块Mi发生读取错误。
5.如权利要求3所述的计算机系统,其中,在该存储器读取周期中,该存储模块Mi发生错误达一默认值时,则该存储器控制器判断该存储模块Mi发生读取错误。
6.如权利要求3所述的计算机系统,其中,当该存储映像单元仅控制一第一及第二存储模块时,当该存储器在写入周期时,则将数据同时写入该第一及第二存储模块;当该存储器在读取周期时,则致能该第一存储模块以读取数据,该第一及第二存储模块具有相同存储地址;其中,在该存储器读取周期中,当该存储器控制器检测出该第一存储模块发生读取错误时,则触发该错误码控制信号,使该存储映像单元禁能该第一存储模块且致能该第二存储模块。
7.如权利要求6所述的计算机系统,其中,每一该存储映像单元,包括一第一“与”门,具有一第一、第二、第三、第四、第五及第六输入端,其第三输入端耦接一列选通信号,其第五输入端耦接一写入致能信号,其第六输入端耦接该错误码控制信号;一第一反相器,具有一输入端耦接一芯片控制信号,一输出端耦接该第一“与”门的第一输入端;一第二反相器,具有一输入端耦接一第一致能信号,一输出端耦接该第一“与”门的第二输入端;一第三反相器,具有一输入端耦接一行选通信号,一输出端耦接该第一“与”门的第四输入端;一第二“与”门,具有一第一、第二、第三、第四、第五及第六输入端,其第三输入端接收该列选通信号、其第五输入端接收该写入致能信号;一第四反相器,具有一输入端耦接该芯片控制信号,一输出端耦接该第二“与”门的第一输入端;一第五反相器,具有一输入端耦接一第二致能信号,一输出端耦接该第二“与”门的第二输入端;一第六反相器,具有一输入端耦接一行选通信号,一输出端耦接该第二“与”门的第四输入端;一第七反相器,具有一输入端耦接该错误码控制信号,一输出端耦接该第二“与”门的第六输入端;一第一开关,具有一输入端耦接该第一致能信号,一输出端及一控制端;一第二开关,具有一输入端耦接该第二致能信号、一输出端耦接该第一闸关的输出端及一控制端耦接该芯片致能信号;一第八反相器,具有一输入端耦接该芯片致能信号,一输出端耦接该第一开关的控制端;一第一“或”门,具有一第一输入端耦接该第一致能信号,一第二输入端耦接该第一“与”门的输出端,一输出端用以致能该第一存储模块;一第二“或”门,具有一第一输入端耦接该第一开关的输出端,一第二输入端耦接该第二“与”门的输出端,一输出端用以致能该第二存储模块。
8.如权利要求7所述的计算机系统,其中,该芯片控制信号用以使该第一及第二存储模块具有相同存储地址。
9.如权利要求7所述的计算机系统,其中,当该存储器控制器检测出该第一存储模块在该存储器读取周期中,发生无法修复的错误时,则该存储器控制器判断该第一存储模块发生读取错误。
10.如权利要求8所述的计算机系统,其中,在该存储器读取周期中,该第一存储模块发生错误达一默认值时,则该存储器控制器判断该第一存储模块发生读取错误。
11.如权利要求9所述的计算机系统,其中,该芯片控制信号及该错误码控制信号是由该计算机系统的一个一般输出输入装置所输出;该第一、第二致能信号、列选通信号以及行选通信号是由该存储器控制器所输出。
12.如权利要求9所述的计算机系统,其中,该芯片控制信号是由该一般输出输入装置所输出;该错误码控制信号、第一、第二致能信号、列选通信号以及行选通信号是由该存储器控制器所输出。
13.如权利要求10所述的计算机系统,其中,该错误码控制信号是由该计算机系统的一个一般输出输入装置所输出;该第一、第二致能信号、列选通信号以及行选通信号是由该存储器控制器所输出。
14.如权利要求10所述的计算机系统,其中,该芯片控制信号是由该一般输出输入装置所输出;该错误码控制信号、第一、第二致能信号、列选通信号以及行选通信号是由该存储器控制器所输出。
15.一种存储器控制方法,适用于一计算机系统,包括下列步骤提供至少一存储映像单元,每一存储映像单元控制一存储模块群,每一存储模块群包括多个存储模块(M1~Mn);令每一存储模块群中的所有存储模块(M1~Mn)具有相同的寻址地址;在一存储器写入周期中,对一写入地址所对应的该存储模块(M1~Mn),同时进行数据写入;在一存储器读取周期中,仅致能对应一读取地址的该存储模块Mi(1≤i≤n),以进行数据读取;其中,当该计算机系统检测到该存储模块Mi发生读取漏失时,则致能该存储映像单元所接收的一错误码控制信号,用以选择致能对应该读取地址的存储模块Mj(1≤j≤n且j≠i),以进行数据读取。
16.如权利要求15所述的存储映像方法,其中,当该存储模块Mi发生无法修复的错误时,则该计算机系统判断该存储模块Mi发生读取漏失。
17.如权利要求15所述的存储映像方法,其中,当该存储模块Mi发生错误次数达一默认值时,则该计算机系统判断该存储模块Mi发生读取漏失。
18.一种存储器控制方法,适用于一计算机系统,包括下列步骤提供至少一存储映像单元,每一存储映像单元控制一存储模块对,而每一存储模块对包括一第一存储模块和一第二存储模块;令每一对存储模块中的该第一和第二存储模块具有相同的寻址地址;在一存储器写入周期中,对一写入地址所对应的该第一和第二存储模块,同时进行数据写入;在一存储器读取周期中,仅致能对应一读取地址的该第一存储模块,以进行数据读取;其中,当该计算机系统检测到该第一存储模块发生读取漏失时,则致能该存储映像单元所接收的一错误码控制信号,用以选择致能对应该读取地址的该第二存储模块,以进行数据读取。
19.如权利要求18所述的存储映像方法,其中,当该第一存储模块发生无法修复的错误时,则该计算机系统判断该第一存储模块发生读取漏失。
20.如权利要求18所述的存储映像方法,其中,当该第一存储模块发生错误次数达一默认值时,则该计算机系统判断该第一存储模块发生读取漏失。
全文摘要
一种当存储器不稳定仍维持系统稳定度的计算机系统及存储器控制方法,上述计算机系统将数据同时储存于多个存储模块中,当其中一存储模块发生无法修复的错误或是发生错误的次数达一默认值时,则计算机系统切换到另一存有相同数据的存储模块进行读取操作;而存储器控制方法亦一并披露。
文档编号G06F12/06GK1532701SQ03107329
公开日2004年9月29日 申请日期2003年3月20日 优先权日2003年3月20日
发明者林鸿琪, 台福源, 孙宝琦, 彭国荣, 张汎澄, 赖浚益, 张远浩 申请人:纬创资通股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1