法律状态公告日
法律状态信息
法律状态
2019-09-17
未缴年费专利权终止 IPC(主分类):G06F12/02 授权公告日:20120404 终止日期:20180929 申请日:20090929
专利权的终止
2012-04-04
授权
授权
2010-08-04
实质审查的生效 IPC(主分类):G06F12/02 申请日:20090929
实质审查的生效
2010-05-26
公开
公开
技术领域
本发明讨论的实施例涉及一种计算机系统和一种存储器用途(memoryuse)设置程序,以有效利用在主存储器中包含的每一个存储区块(memoryblock)。
背景技术
众所周知,正如专利文件1和专利文件2中所公开的,普通计算机系统被配置为对主存储器进行诊断,检测以某一长度划分主存储器区域而得的多个存储区块的每一个存储区中的坏区(bad area),并将其中检测到坏区的存储区块识别为坏区块。
专利文件1
日本特许公开专利号:05-37969
专利文件2
日本特许公开专利号:05-20207
对这种计算机系统的配置不允许使用识别出的坏区块,而仅仅使用主存储器中除了坏区块之外的正常的存储区块。
计算机系统通常对整个坏区块都不予使用,但这样一来计算机系统可能无法有效利用整个主存储器。
发明内容
因此,本发明实施例的一方面的目的是提供一种计算机系统,该计算机系统包括:存储器,配置为存储各种数据;用途设置数据存储器装置,用来存储表示多个存储区块中的每一个存储区块的用途的用途设置数据,其中所述多个存储区块是以某一长度划分存储器而得;存储器诊断装置,用来对存储器进行诊断,以检测每一个存储区块中的坏区;以及存储器用途设置装置,根据由所述存储器诊断装置对每一个存储区块中的坏区的检测结果,设置存储在所述用途设置数据存储器装置中的每一个存储区块的用途设置数据。
该计算机系统不仅给主存储器的正常存储区块分配适当的用途,还按照质量级别给其中的坏区块分配适当的用途,从而有效利用主存储器中的每一个存储区块。
附图说明
图1为示出根据本发明一实施例的计算机系统配置的功能方框图;
图2详细示出图1所示的DRAM(Dynamic Random Access Memory,动态随机存取存储器);
图3为详细示出图1所示的BIOS程序的功能方框图;
图4详细示出图1所示的用途设置数据;
图5详细示出图1所示的用途设置表格;
图6示出通过存储器用途设置装置来设置用途设置数据的过程的实例;
图7示出通过存储器用途设置装置来设置用途设置数据的过程的另一实例;
图8是一流程图,示出实施例中计算机系统的存储器用途设置过程的步骤。
具体实施方式
在下文中,将结合附图详细描述本发明公开的计算机系统以及存储器用途设置程序的优选实施例。
首先,将解释本发明实施例的计算机系统的要点。本实施例的计算机系统包括:存储器,配置为存储各种数据;用途设置数据存储器装置,用来存储表示多个存储区块的每一个存储区块的用途的用途设置数据,其中多个存储区块是以某一长度划分存储器而得;存储器诊断装置,用于对存储器进行诊断,以检测每一个存储区块中的坏区;以及存储器用途设置装置,用于根据由存储器诊断装置对每一个存储区块中的坏区的检测结果来设置存储在用途设置数据存储器装置中的每一个存储区块的用途设置数据。
即,多个存储区块的每一个都被分配有适当的用途,其中所述多个存储区块是以某一某一长度划分本实施例的计算机系统的主存储器(例如DRAM)而得。
特别是,表示在主存储器中包含的每一个存储区块的用途的用途设置数据被存储在用途设置数据存储器装置中,其中所述用途设置数据存储器装置是计算机系统内部的诸如闪存等非易失性存储器。
每一个存储区块的用途包括以下各种用途,例如用于开发某一程序的用途、用于存储图形数据或语音数据的用途等。
此外,本实施例的存储器诊断装置对主存储器进行诊断,从而在每一个存储区块被分配用途之前检测每一个存储区块中的坏区。所述坏区是在每一个存储区块中存在有损坏位元(bad bit)的区域,在所述损坏位元上,诸如读写数据等存储器功能都不能正常工作。
包含坏区的存储区块(在下文中称作“坏区块(bad block)”)包括具有不同损坏位元数目的多个坏区块(从损坏位元数目相对较少的轻度损坏区块到损坏位元数目相对较多的重度损坏区块)。从确保程序正常工作的观点来看,即使在坏区块是轻度损坏的情况下,也最好不要用轻度损坏区块作为对程序等进行开发的区域。
然而,将轻度损坏区块用作存储图形数据或语音数据的区域是允许的。这是基于如下的经验性常识:即使用于存储图形数据或语音数据的存储区块中存在有坏区块,如果坏区块中包含的损坏位元数目较少,用各种设备实际使用所述图形或语音数据来再现图像或语音并不会导致图像或语音的质量下降。
因此,本实施例的存储器用途设置装置被配置为:根据由存储器诊断装置对每一个存储区块中的坏区的检测结果,设置存储在用途设置数据存储器装置中的每一个存储区块的用途设置数据。这样,即使在主存储器包含的多个存储区块中存在有坏区块的情况下,仍能给每一个存储区块(包括坏区块)分配适当的用途,而不会让坏区块免于使用。
针对本实施例,如上文所述,表示多个存储区块(以某一长度划分存储器区域而得)的每一个存储区块的用途的用途设置数据被存储在非易失性存储器中。对存储器进行诊断,从而在每一个存储区块中检测坏区。接着,根据对每一个存储区块中的坏区的检测结果,设置存储在非易失性存储器中的每一个存储区块的用途设置数据。由于对本实施例的计算机系统进行了如上配置,则计算机系统不仅可给主存储器的正常存储区块分配适当用途,其也能给其中包含损坏位元的数目相对较少的轻度损坏区块分配适当用途,以有效利用在主存储器中包含的每一个存储区块。
存储器诊断装置和存储器用途设置装置可例如由BIOS程序(CPU从ROM读取数据并在被激活的计算机系统上运行)来实现。
接着,将结合图1对本实施例的计算机系统的配置进行解释。图1为示出本实施例的计算机系统1的配置的功能方框图。图2详细示出图1所示的DRAM。
如图1所示,计算机系统1包括:CPU(中央处理单元)10、DRAM 20、非易失性存储器30、ROM 40、图形控制器50、声音控制器60以及将上述这些部分彼此连接的总线70。
CPU 10是被配置为执行各种处理的运算设备。特别是,在被激活的计算机系统1上,CPU 10从ROM 40读取并运行下文将要描述的BIOS(基本输入输出系统)程序41,以检查诸如DRAM 20等各种设备是否有缺陷。此外,CPU 10运行BIOS程序41,从而激活OS(操作系统)并控制各种设备。CUP 10运行BIOS程序41,从而执行用于设置存储区块201-210(在图2中示出)得用途的存储器用途设置过程。
DRAM 20为计算机系统1的主存储器(主要的存储器设备)。特别是,DRAM 20被用作工作存储器,在该工作存储器中开发由CPU 10运行的程序(包括BIOS程序41),或临时存储诸如图形数据或语音数据等各种数据。另外,如图2中所示,由于DRAM 20被用作CPU 10的工作存储器,从而对DRAM 20的管理是针对存储区块201-210(以某一长度划分DRAM 20的区域而得)中的每一个存储区块而进行的。
如下文所述,由CPU 10运行的BIOS程序41给存储区块201-210中的每一个存储区块分配各种用途。存储区块201-210的用途例如包括开发某一程序的用途、开发图形数据或语音数据的用途等。
非易失性存储器30是诸如闪存等可重写且非易失性存储介质。非易失性存储器30存储表示存储区块201-210(以某一长度划分DRAM 20的区域而得)的每一个的用途的用途设置数据31,并用作用途设置数据存储器装置。所述用途设置数据31将在下文详细解释。
ROM 40存储由CPU 10运行的各种程序和用于运行所述程序的数据等。特别是,ROM 40存储由CPU读取并在被激活的计算机系统1上运行的BIOS程序41等等。另外,ROM 40还存储由CPU 10用来运行BIOS程序41的用途设置表格42。而且ROM 40还存储预设有存储区块201-210中的每一个的用途的默认用途设置数据43等,以作为默认用途存储器装置。用途设置表格42以及默认用途设置数据43将在下文详细解释。
BIOS程序41为基本输入输出系统。特别是,对计算机系统1的供电一旦开启,BIOS程序41便被激活。且BIOS程序41是一个用来对OS、应用程序以及对DRAM 20和外围设备(显示器、键盘等)输入输出的数据进行控制的控制程序。另外,BIOS程序41由CPU 10运行,以执行用来设置DRAM20的存储区块201-210中的每一个的用途的存储器用途设置过程。
图形控制器50在CPU10的引导下产生图形数据,并将所述图形数据存储在DRAM20的用于图形的存储区块中。另外,图形控制器50读取在DRAM20的用于图形的存储区块中存储的图形数据,并在显示设备(未示出)上显示图形。
声音控制器60在CPU10的引导下产生语音数据,并将所述语音数据存储在DRAM20的用于语音的存储区块中。另外,声音控制器60读取在DRAM20的用于语音的存储区块中存储的语音数据,并通过扬声器(未示出)进行语音输出。
然后,将结合图3-图5具体而详细地解释如下配置,在该配置中,图1所示的BIOS程序41执行存储器用途设置过程,以给DRAM 20中的存储区块201-210的每一个设置用途。图3为示出图1所示的BIOS程序41的细节的功能方框图。在图3中,在CPU10上实现的用来运行存储在ROM40上的BIOS程序41的功能被示出为功能模块。
如图3所示,BIOS程序41具有多个功能单元,这些功能单元是存储器诊断单元411和存储器用途设置单元412。一旦BIOS程序被激活(开始运行),功能单元411和412的每一个单元便开始工作。
存储器诊断单元411对DRAM 20进行诊断,以检测存储区块201-210的每一个中的坏区。该坏区是指在单个存储区块中具有损坏位元的区域,其中在该损坏位元上诸如读写数据等存储器功能不能正常工作。通过存储器诊断单元411对每一个存储区块中的坏区进行的检测包括对坏区中包含的损坏位元的数目进行检测。
根据由存储器诊断单元411对每一个存储区块中的坏区的检测结果,存储器用途设置单元412设置存储在非易失性存储器30中的存储区块201-210的每一个的用途设置数据31。特别是,通过使用存储在ROM 40中的用途设置表格42,存储器用途存储设置单元412设置存储在非易失性存储器30中的用途设置数据31。
然后,CPU 10引用由存储器用途设置单元412设置的用途设置数据31,并基于该用途设置数据31给存储区块201-210的每一个分配用途。
图4详细示出图1所示的用途设置数据31。图5详细示出在图1中所示的用途设置表格42。
如图4所示,存储在非易失性存储器30中的用途设置数据31表示DRAM20中的存储区块201-210的每一个的用途。用途设置数据31包括写在存储区块201-210的每一个存储区块的地址上的每一个存储区块的用途。
对于图4所示的用途设置数据31,例如,存储区块201被分配了用途“用于程序”,这表示存储区块201被用作用于程序的存储区块(在该存储区块201中开发某一程序)。存储区块203-205被分配了用途“用于图形”,这表示存储区块203-205被用作用于图形数据的存储区块(用以存储图形数据)。存储区块207被分配了用途“用于语音”,这表示存储区块207被用作用于语音的存储区块(用以存储语音数据)。
图1所示的默认用途设置数据43预设有DRAM 20中的多个存储区块201-210的每一个的用途,并给出用途设置数据31的初始(默认)值。与用途设置数据31相似,默认用途设置数据43包括写在存储区块201-210的每一个存储区块的地址上的每一个存储区块的用途。
如图5所示,存储在ROM 40中的用途设置表格42是这样一种表格:其包括表示DRAM 20中的单个存储区块的质量的存储器质量级别,以及彼此关联的单个存储区块的用途。
DRAM 20中的单个存储区块的存储器质量级别由包含在存储区块中的损坏位元的数目来确定,并被分为1-3级共三级。存储器质量级别“1级”表示存储区块包括多个损坏位元。存储器质量级别“2级”表示存储区块包括单个损坏位元。存储器质量级别“3级”表示存储区块根本不包括损坏位元,即存储区块为正常。
图5中示出的用途设置表格42表示:如果存储区块的存储器质量级别为“1级”,则将存储区块的用途设置(改变)为用于语音的用途。该表格也表示:如果存储区块的存储器质量级别为“2级”,则将存储区块的用途改变为用于图形数据的用途。该表格还表示,如果存储区块的存储器质量级别为“3级”,则将存储区块的用途改变为用于程序的用途。
在存储区块的损坏位元产生数据中的噪音的情况下,由于语音噪音与图形(图像)噪音相比难以被人们感知,因此用于语音的存储区块的存储器质量级别低于用于图形的存储区块的存储器质量级别。
如果存储器诊断单元411在存储区块中检测到包含多个损坏位元的坏区(即存储器质量级别为“1级”),则上述存储器用途设置单元412设置与其中检测到包含有多个损坏位元的坏区的存储区块(以下称为多损坏位元区块(multiple-bad-bit block))对应的用途设置数据31,以表示该存储区块被用作用于语音的存储区块(用以存储语音数据)。即,存储器用途设置单元412参考用途设置表格42而将多损坏位元区块的用途改为用于语音的用途。
如果存储器诊断单元411在存储区块中检测到包含单个损坏位元(即存储器质量级别为“2级”)的坏区,则存储器用途设置单元412设置与其中在DRAM20中检测到包含单个损坏位元的坏区的存储区块(以下称为单损坏位元区块(single-bad-bit block))对应的用途设置数据31,以表示该存储区块是被用于图像数据的存储区块(用以存储图像数据)。即,存储器用途设置单元412参考用途设置表格42而将单损坏位元区块的用途改为用于图像数据的用途。
如果存储器诊断单元411根本没有检测到坏区(即存储器质量级别为“3级”),则存储器用途设置单元412设置与其中在DRAM20中根本没有检测到坏区的存储区块(正常区块)对应的用途设置数据31,以表示存储区块被用作用于程序的存储区块(用以开发某一程序)。即,存储器用途设置单元412参考用途设置表格42而将正常块的用途改为用于程序的用途。
一旦计算机系统1被激活,尤其是一旦BIOS程序41被激活,上述功能单元411和412就开始它们的处理。若处理开始以前就已经为201-210中的每一个存储区块设置了用途设置数据31,则允许不根据由存储器诊断单元411对每一个存储器块中的坏区的检测结果而设置用途设置数据31。换言之,如果BIOS程序41在上一次被激活之后通过存储器诊断单元411对存储区块201-210的每一个设置了用途,则一旦BIOS程序41再次被激活,其在工作中可以省略存储器诊断单元411和存储器用途设置单元412。
然后,将结合图6和图7进一步详细地解释存储器用途设置单元412设置用途设置数据31的过程。图6示出存储器用途设置单元412设置用途设置数据31的过程的实例。图6示出图4所示的用途设置数据31被改变的情况。在图4所示的用途设置数据31中,假设将三个存储区块203-205的用途预设为用于程序的用途并将一个存储区块207的用途预设为用于语音的用途。
如图6所示,由于存储器诊断单元411将存储区块210的存储器质量级别诊断为“1级”,则存储器用途设置单元412结合图5所示的用途设置表格42而将存储区块210的用途从“用于程序”设置(改变)为“用于语音”。由于存储器诊断单元411将存储区块202的存储器质量级别诊断为“2级”,则存储器用途设置单元412将存储区块202的用途从“用于程序”改变为“用于图形”。结果是,存储区块“用于语音”和存储区块“用于图形”各增加一个,而存储区块“用于程序”减少两个。从而,由于两个存储区块205和207的存储器质量级别被存储器诊断单元411诊断为“级别3”,则存储器用途设置单元412将两个存储区块205和207的用途分别从“用于图形”和“用于语音”改变为“用于程序”。因此,DRAM 20针对用于程序的存储区块的减少而获得补偿,且DRAM 20包含的每一个存储区块都可以得到有效利用。
图7示出存储器用途设置单元412设置用途设置数据31的过程的另一实例。图7示出图4所示的用途设置数据31被改变的情况。
如图7所示,由于存储器诊断单元411将存储区块202的存储器质量级别诊断为“2级”,则存储器用途设置单元412参考图5中所示的用途设置表格42而将存储区块202的用途从“用于程序”改变为“用于图形”。由于存储器诊断单元411将存储区块204的存储器质量级别诊断为“2级”,则存储器用途设置单元412将存储区块20的用途保持为“用于图形”。由于存储器诊断单元411将存储区块203的存储器质量级别诊断为“3级”,存储器用途设置单元412按照推测(supposedly)应将存储区块203的用途从“用于图形”改变为“用于程序”。
然而,在上述情况下,存储器质量级别为“2级”的存储区块202以及存储器质量级别为“2级”的存储区块204彼此不相邻。即为这种情况:存储器诊断单元411检测到多个存储区块(上述情况下的存储区块202和204)具有坏区,并且这些具有坏区的多个存储区块的排列地址彼此不相邻。在上述情况下,存储器用途设置单元412额外设置与在上述存储区块之间存在的另一存储区块对应的用途设置数据31,以表示该存储区块被用作用于图形的存储区块。如图7所示,例如,存储器用途设置单元412将存储区块202和204以及存在于两个存储区块202和204之间的存储区块203的用途都同样设置为“用于图形”。
如上所述,如果存储器诊断单元411检测到多个存储器质量级别为“2级”(单损坏位元区块)的存储区块,并且所述多个单损坏位元区块彼此不相邻,则存储器用途设置单元412在DRAM 20中将多个单损坏位元区块以及存在于多个单损坏位元块之间的存储区块改变为用于“图形”的存储区块。这样,即使在有大片图形数据存储在DRAM 20中的情况下,计算机系统1也可在由多个存储区块形成的连续区域中存储图形数据,并且可降低用于读写图形数据的时间。
然后,将结合图8解释图1所示的计算机系统1的存储器用途设置过程。图8为示出图1所示的计算机系统1的存储器用途设置过程的流程图。在对计算机系统1的供电开启之后,CPU 10从ROM 40读取BIOS程序41并运行所述BIOS程序41,从而执行图8所示的存储器用途设置过程。
如图8所示,BIOS程序41首先判断由存储器用途设置单元412设置(改变)的用途设置数据31是否存储于非易失性存储器30中(步骤S10)。
作为判断的结果,一旦判断由存储器用途设置单元412所改变的用途设置数据31存储于非易失性存储器30中(步骤S10:是),即一旦判断BIOS程序41在上一次被激活之后由存储器用途设置单元412对存储区块201-210的每一个的用途做了设置,BIOS程序41将过程推进至步骤S16。同时,作为判断的结果,一旦判断存储器用途设置单元412设置的用途设置数据31没有存储于非易失性存储器30中(步骤S10:否),BIOS程序41将过程推进至步骤S11。
在步骤S11中,BIOS程序41的存储器诊断单元411对所有存储区块201-210的每一个进行诊断,以检测在存储区块201-210的每一个中的坏区(步骤S11)。
接着,存储器诊断单元411执行用于将检测存储区块201-210的每一个中的坏区的存储器诊断结果与DRAM 20中的存储区块201-210的每一个的地址数据进行关联的处理(步骤S12)。
然后,存储器诊断单元411判断DRAM 20中是否还有未诊断的存储区块(步骤S13)。为了做出上述判断,存储器诊断单元411判断存储器诊断结果是否与DRAM 20的存储区块201-210的每一个的地址数据都有关联。一旦判断DRAM 20中有未诊断的存储区块(步骤S13:是),存储器诊断单元411就重复从步骤S11到S13的过程,直到DRAM 20中没有未诊断的存储区块为止。
同时,一旦判断DRAM 20中没有未诊断的存储区块(步骤S13:否),存储器诊断单元411就判断是否在DRAM 20中的存储区块201-210的每一个中检测到坏区(步骤S14)。作为判断结果,一旦判断在DRAM 20中的存储区块201-210的至少一个区块中检测到坏区(步骤S14:是),存储器诊断单元411将过程推进至步骤S15。
接着,存储器用途设置单元412参考用途设置表格42来设置(改变)存储在ROM 40中的用途设置数据31(步骤S15),并将过程推进至步骤S17。
同时,一旦判断存储区块201-210的每一个中都没有检测到坏区(步骤S14:否),存储器诊断单元411将过程推进至步骤S16。接着,基于存储在非易失性存储器30中的默认用途设置数据43,存储器用途设置单元412设置(改变)存储在ROM 40中的用途设置数据31(步骤S16),并将处理推进至步骤S17。即,在步骤S16中,默认用途设置数据43作为默认值被拷入用途设置数据31。
基于在步骤S15或S16中设置的用途设置数据31,BIOS程序41给存储区块201-210的每一个分配用途,并结束存储器用途设置过程。
如上所述,将表示存储区块201-210(以某一长度划分本实施例的DRAM20的区域而得)的每一个的用途的用途设置数据31存储在非易失性存储器30中。对DRAM 20进行诊断,从而在存储区块201-210的每一个中检测坏区。根据对存储区块201-210的每一个中的坏区的检测结果,设置存储在非易失性存储器30中的存储区块201-210的每一个的用途设置数据。
只要不要求高集成度,即使图形或语音数据包括一些数据缺失或数据错误,图形数据或语音数据也可以被复制,这是公知常识。反之,包含一些数据缺失或数据错误的程序则不能正常工作。本实施例就是应用了上述特性。即,对于本实施例而言,将坏区块设置为图形存储器(用于图像数据的存储区块),并将正常块设置为有程序驻留(reside)的主存储器(用于程序的存储区块)。由于坏区块被用作存储器的一部分,所以存储器可得到有效利用。
由于对本实施例的计算机系统进行了如上配置,从而计算机系统不仅给主存储器的正常存储区块分配适当的用途,其还给其中损坏位元数目相对较少的轻度损坏区块分配适当的用途,从而有效利用主存储器中包含的每一个存储区块。
本实施例的BIOS程序41不限于存储于ROM 40中,其还可存储于诸如闪存等可重写的非易失存储器中,从而CPU 10读取并运行该程序。另外,本实施例的BIOS程序41可从联网的服务器上下载至闪存,或可进一步被记录在诸如CD-ROM等记录介质上并通过记录介质的驱动而加载至闪存。
本文陈述的所有实例和条件性语言旨在用作教示目的,以帮助读者理解本发明以及发明人为推进技术发展而提出的概念。本文记载的所有实例和条件性语言应被解读为不是对这些具体描述的实例和条件的限制,说明书中这些实例的构造也不涉及对本发明的优点和缺陷的描述。尽管已对本发明的实施例进行了详细描述,但应理解的是,可对其进行各种改变、替代和改进,而不偏离本发明的精神和范围。
机译: 用于最佳地控制计算机网络上的计算机程序的兑现和转移的计算机系统和相关方法(57)专利:“用于最佳地控制计算机网络上的计算机程序的兑现和转移的计算机系统和相关方法”。一种计算机系统和相关方法,用于最佳地控制网络上计算机之间的计算机程序的存储和传输,并促进交互式程序的使用。根据该方法,应用程序作为多个单独且独立的机器可执行代码模块存储在第一计算机的非易失性存储器中。响应于通过网络连接传输的第二计算机的请求,第一计算机从所述机器可执行代码模块中检索选择的模块,并且仅从存储器中检索该选择的代码模块,并将通过网络连接选择的代码模块传输到第二计算机。
机译: 计算机系统和用于执行一个或多个软件应用程序,主机计算机设备和用于存储器设备的存储器设备和方法的计算机系统和方法以及用于存储器设备的存储器设备和非暂时性计算机可读介质的方法
机译: 具有优先级排序的多程序计算机系统中设置优先级的方法,多程序计算机系统及其程序