内存管理方法和系统的制作方法

文档序号:6488465阅读:94来源:国知局
内存管理方法和系统的制作方法
【专利摘要】本发明涉及一种内存管理方法和系统。所述内存管理方法包括以下步骤:监测内存所在环境的温度值;判断所述温度值是否小于预设的最低工作温度或大于预设的最高工作温度,若是,则将所述内存的刷新频率调节为与所述温度值相应的刷新频率。上述内存管理方法和系统,当监测温度值小于最低工作温度时,调节内存的刷新频率为与该温度值对应的刷新频率,可使得在内存中的数据未降到门限电压以下前,读取内存的数据,避免出现读取错误,在环境温度低于最低工作温度或高于最高工作温度时,不需在低温时设计额外的加热电路对内存进行升温,或在高温时对内存进行降温,也不需选取昂贵的内存适应低温和高温环境,降低了成本,且扩宽了内存的工作温度范围。
【专利说明】内存管理方法和系统
【技术领域】
[0001]本发明涉及计算机技术,特别是涉及一种内存管理方法和系统。
【背景技术】
[0002]内存是计算机系统架构中的重要组成部分,它实现数据的存储功能:存放原始数据、中间数据和运算结果等,也是高速执行单元与外部低速存储设备的缓冲单元。
[0003]按照读取方式,内存分为只读存储器(Read Only Memory,简称ROM)和随机存储器(Random Access Memory,简称RAM),由于RAM的高速存取、读写时间相等、且与地址无关等优势,内存一般均用RAM实现,RAM依赖电容器充放电原理存储数据,并通过一个η通道MOS的电晶体管(nMOS)对电容的开关控制来实现数据的读取,但是由于随着温度降低MOS漏电流增大,使电容上电量泄放更快,导致当需要读取数据时,电容上电量低于有效电压,使数据读取错误。
[0004]目前,为了在低温的环境中使用内存,主要采用两种方式,第一种是采用宽温度范围适应的内存芯片,例如有的厂商推出-40°C、85°C工业级内存芯片,但该类产品型号少,工作频率低于常用频率,且价格昂贵;第二种采用外部辅助加热装置,对内存进行加热,当监测到环境文件上升至允许工作温度,再加电工作,该方式附加有繁琐的外围控制电路,且为了使温度能有效传递到内存,往往需要改变内存的结构,增加了成本。

【发明内容】

[0005]基于此,有必要提供一种内存管理方法,能使得内存在宽温度范围内正常工作,且成本较低。
[0006]一种内存管理方法,包括以下步骤:
[0007]监测内存所在环境的温度值;
[0008]判断所述温度值是否小于预设的最低工作温度或大于预设的最高工作温度,若是,则将所述内存的刷新频率调节为与所述温度值相应的刷新频率。
[0009]在其中一个实施例中,所述将所述内存的刷新频率调节为与所述温度值相应的刷新频率的步骤包括:
[0010]根据所述温度值从预设的温度与内存刷新频率之间的对应关系中查找到相应的刷新频率;
[0011]将所述内存的刷新频率调节为所述查找到的相应的刷新频率。
[0012]在其中一个实施例中,在所述监测内存所在环境的温度值的步骤之前,还包括步骤:
[0013]预先建立对应表以及温度与内存刷新频率之间的对应关系,并将所述温度与内存刷新频率之间的对应关系存储在所述对应表中;
[0014]根据所述温度值从预设的温度与内存刷新频率之间的对应关系中查找到相应的刷新频率的步骤具体为:[0015]根据所述温度值从所述对应表中存储的预设的温度与内存刷新频率之间的对应关系中查找到相应的刷新频率。
[0016]在其中一个实施例中,所述预先建立温度与内存刷新频率之间的对应关系的步骤包括:
[0017]选定温度;
[0018]在不同的刷新频率下多次测试内存的误码率,形成数据分布曲线;
[0019]根据所述统计的数据分布曲线和允许的最低误码率确定相应的刷新频率;
[0020]建立温度与相应的内存的刷新频率之间的对应关系。
[0021]在其中一个实施例中,在所述将所述内存的刷新频率调节为与所述温度值相应的刷新频率的步骤之后,还包括步骤:
[0022]按预设时间间隔监测内存所在环境的温度值。
[0023]此外,还有必要提供一种内存管理系统,能使得内存在宽温度范围内正常工作,且成本较低。
[0024]一种内存管理系统,包括:
[0025]温度监测模块,用于监测内存所在环境的温度值;
[0026]内存控制模块,用于判断所述温度值是否小于预设的最低工作温度,或者大于预设的最高工作温度,若是,则将所述内存的刷新频率调节为与所述温度值相应的刷新频率。
[0027]在其中一个实施例中,所述内存控制模块还用于根据所述温度值从预设的温度与内存刷新频率之间的对应关系中查找到相应的刷新频率,以及将所述内存的刷新频率调节为所述查找到的相应的刷新频率。
[0028]在其中一个实施例中,还包括:
[0029]创建模块,用于预先建立对应表以及温度与内存刷新频率之间的对应关系,并将所述温度与内存刷新频率之间的对应关系存储在所述对应表中;
[0030]所述内存控制模块还用于根据所述温度值从所述对应表中存储的预设的温度与内存刷新频率之间的对应关系中查找到相应的刷新频率。
[0031]在其中一个实施例中,所述创建模块包括:
[0032]选定模块,用于选定温度;
[0033]统计模块,用于在不同的刷新频率下多次测试内存的误码率,形成数据分布曲线.[0034]分析模块,用于根据统计的数据分布曲线和允许的最低误码率确定相应的刷新频率;
[0035]关系建立模块,用于建立温度与相应的内存的刷新频率之间的对应关系。
[0036]在其中一个实施例中,所述温度检测模块还用于按预设时间间隔监测内存所在环境的温度值。
[0037]上述内存管理方法和系统,当监测温度值小于最低工作温度时,调节内存的刷新频率为与该温度值对应的刷新频率,可使得在内存中的数据未降到门限电压以下前,读取内存的数据,避免出现读取错误,在环境温度低于最低工作温度或高于最高工作温度时,不需在低温时设计额外的加热电路对内存进行升温,或在高温时对内存进行降温,也不需选取昂贵的内存适应低温和高温环境,降低了成本,且扩宽了内存的工作温度范围。【专利附图】

【附图说明】
[0038]图1为一个实施例中内存管理方法的流程图;
[0039]图2为一个实施例中将内存的刷新频率调节为与该温度值相应的刷新频率的具体流程图;
[0040]图3为一个实施例中预先建立温度与内存刷新频率之间的对应关系的具体流程图;
[0041]图4为未更改前电容电压变化曲线及未更改前低温下刷新频率的示意图;
[0042]图5为更改后电容电压变化曲线及更改后低温下刷新频率的示意图;
[0043]图6为一个实施例中内存管理系统的内部结构不意图;
[0044]图7为另一个实施例中内存管理系统的内部结构示意图;
[0045]图8为一个实施例中创建模块的内部结构示意图。
【具体实施方式】
[0046]下面结合具体的实施例及附图对内存管理方法和系统的技术方案进行详细的描述,以使其更加清楚。
[0047]如图1所示,在一个实施例中,一种内存管理方法,包括以下步骤:
[0048]步骤S110,监测内存所在环境的温度值。
[0049]具体的,内存所在的环境的温度值可通过温度监测模块实现,如温度监测模块可以是温度传感器或内部集成PN结的温度监控芯片等,该温度传感器可为热敏电阻或PN结。通过温度传感器采集温度模拟信号,然后通过模数转换器转换为温度数字信号,再将温度数字信号传递给计算机系统;或者通过温度监控芯片检测并转换得到温度数字信号后通过I2C总线传输给计算机系统。
[0050]步骤S120,判断该监测的温度值是否小于预设的最低工作温度,或者大于预设的最高工作温度,若是,则执行步骤S130,若否,则执行步骤S140。
[0051]具体的,内存正常工作存在一个温度范围,例如10°C?80°C,10°C即为最低工作温度,80°C为最高工作温度,当低于最低工作温度或高于最高工作温度时,可能出现数据读取错误。
[0052]步骤S130,将内存的刷新频率调节为与该温度值相应的刷新频率。
[0053]步骤S140,运行计算机系统,对内存的数据进行读取。
[0054]具体的,监测的环境的温度值大于等于最低工作温度小于等于最高工作温度时,即环境的温度值位于最低工作温度至最高工作温度范围内,直接运行计算机系统,对内存的数据进行读取。
[0055]在一个实施例中,如图2所示,上述内存管理方法,步骤S130包括:
[0056]步骤S131,根据温度值从预设的温度与内存刷新频率之间的对应关系中查找到相应的刷新频率。
[0057]具体的,预先建立对应表以及温度与内存刷新频率之间的对应关系,并将温度与内存刷新频率之间的对应关系存储在所述对应表中,然后再根据温度值从该对应表中存储的预设的温度与内存刷新频率之间的对应关系中查找到相应的刷新频率。[0058]步骤S133,将内存的刷新频率调节为查找到的相应的刷新频率。
[0059]具体的,将内存的刷新频率调节为查找到的相应的刷新频率后,可开启计算机对内存进行读取数据。
[0060]如图3所示,在一个实施例中,上述内存管理方法,预先建立温度与内存刷新频率之间的对应关系的步骤包括:
[0061]步骤S210,选定温度。
[0062]具体的,选定某一温度值,如-10°C。
[0063]步骤S220,在不同的刷新频率下多次测试内存的误码率,形成数据分布曲线。
[0064]具体的,选定温度后,调整内存的刷新频率,然后在该刷新频率下多次测试内存的误码率,形成数据分布曲线。
[0065]步骤S230,根据统计的数据分布曲线和允许的最低误码率确定相应的刷新频率。
[0066]具体的,允许的最低误码率可根据在正常工作温度下容许的误码率设定,例如允许的最低误码率可为几亿分之一。若出现多个满足最低误码率的刷新频率,选取刷新频率最小的作为该温度相应的刷新频率,避免提高对其他硬件设备的性能要求。
[0067]步骤S240,建立温度与相应的内存的刷新频率之间的对应关系。
[0068]具体的,计算出某一温度相应的内存的刷新频率后,建立温度与该刷新频率之间的对应关系,重复操作,建立所有温度与刷新频率之间的对应关系。
[0069]进一步的,在一个实施例中,上述内存管理方法,在将内存的刷新频率调节为与温度值相应的刷新频率的步骤之后,还包括步骤:按预设时间间隔监测内存所在环境的温度值。
[0070]具体的,定期监测内存所在环境的温度值,可准确的调整内存的刷新频率,保证内存的数据被读取时,不易出错。预设间隔时间可根据需要设定,例如30分钟。
[0071]图4为未更改前电容电压变化曲线及未更改前低温下刷新频率的示意图,在低温(如-10°C)情况下,在刷新信号到来之前,内存中的数据已经降到门限电压以下,此时若读取数据,必将导致错误。图5为更改后电容电压变化曲线及更改后低温下刷新频率的示意图,更改刷新频率后,在内存的数据降至门限电压以下前已读取了数据,即提高了刷新频率。同样的高于最高温度时,也会出现读取数据错误,调整刷新频率后读取错误会得到改

口 ο
[0072]如图6所示,在一个实施例中,一种内存管理系统,包括温度监测模块110、内存控制模块120。其中:
[0073]温度监测模块110用于监测内存所在环境的温度值。
[0074]具体的,温度监测模块110可为温度传感器或内部集成PN结的温度监控芯片等监测设备。该温度传感器可为热敏电阻或PN结。通过温度传感器采集温度模拟信号,然后通过模数转换器转换为温度数字信号,再将温度数字信号传递给计算机系统;或者通过温度监控芯片检测并转换得到温度数字信号后通过I2C总线传输给计算机系统。
[0075]内存控制模块120用于判断监测的温度值是否小于预设的最低工作温度,或者大于预设的最高工作温度,若是,则将内存的刷新频率调节为与该温度值相应的刷新频率。
[0076]具体的,内存正常工作存在一个温度范围,例如10°C?80°C,10°C即为最低工作温度,80°C为最高工作温度,当低于最低工作温度或高于最高工作温度时,可能出现数据读取错误。然后,可开启计算机对内存进行读取数据。
[0077]进一步的,在一个实施例中,内存控制模块120还用于根据该温度值从预设的温度与内存刷新频率之间的对应关系中查找到相应的刷新频率,以及将内存的刷新频率调节为查找到的相应的刷新频率。
[0078]此外,内存控制模块120将内存的刷新频率调节为查找到的相应的刷新频率后,可开启计算机对内存进行读取数据。
[0079]如图7所示,在一个实施例中,上述内存管理系统,除了包括温度监测模块110和内存控制模块120,还包括创建模块130。其中:
[0080]创建模块130用于预先建立对应表以及温度与内存刷新频率之间的对应关系,并将温度与内存刷新频率之间的对应关系存储在该对应表中。
[0081]内存控制模块120还用于根据该温度值从该对应表中存储的预设的温度与内存刷新频率之间的对应关系中查找到相应的刷新频率。
[0082]如图8所示,在一个实施例中,创建模块130包括选定模块131、统计模块133、分析模块135和关系建立模块137。其中:
[0083]选定模块131用于选定温度。具体的,选定某一温度值,如-10°C。
[0084]统计模块133用于在不同的刷新频率下多次测试内存的误码率,形成数据分布曲线。具体的,选定温度后,调整内存的刷新频率,然后在该刷新频率下多次测试内存的误码率,形成数据分布曲线。
[0085]分析模块135用于根据统计的数据分布曲线和允许的最低误码率确定相应的刷新频率。具体的,允许的最低误码率可根据在正常工作温度下容许的误码率设定,例如允许的最低误码率可为几亿分之一。若出现多个满足最低误码率的刷新频率,选取误码率最小的刷新频率作为该温度相应的刷新频率。
[0086]关系建立模块137用于建立温度与相应的内存的刷新频率之间的对应关系。具体的,计算出某一温度相应的内存的刷新频率后,建立温度与该刷新频率之间的对应关系,重复操作,建立所有温度与刷新频率之间的对应关系。
[0087]进一步的,温度检测模块110还用于按预设时间间隔监测内存所在环境的温度值。具体的,定期监测内存所在环境的温度值,可准确的调整内存的刷新频率,保证内存的数据被读取时,不易出错。预设间隔时间可根据需要设定,例如30分钟。
[0088]此外,当计算机开启,系统运行时,软件仅将内存配置信息调到系统内存执行,对内存的刷新频率的改变,不会改变内存本身的参数信息。该参数信息包括存于SPD(SerialPresence Detect,串行检测)的工作频率,BANK (内存的物理存储体)的数量、ModuleOrganization (模组)、Cycle Time (周期)等配置信息。
[0089]上述内存管理方法和系统,当监测温度值小于最低工作温度或高于最高工作温度时,调节内存的刷新频率为与该温度值对应的刷新频率,可使得在内存中的数据未降到门限电压以下前,读取内存的数据,避免出现读取错误,在环境温度低于最低工作温度或高于最高工作温度时,不需在低温时设计额外的加热电路对内存进行升温,或在高温时对内存进行降温,也不需选取昂贵的内存适应低温和高温环境,降低了成本,且扩宽了内存的工作温度范围。
[0090]另外,通过预先建立温度与内存的刷新频率之间的关系,可方便快速的查找到与温度对应的刷新频率进行调节,提高了处理效率;温度与内存的刷新频率之间的关系通过统计大量数据,并分析得到,提高了准确性。
[0091]以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
【权利要求】
1.一种内存管理方法,包括以下步骤: 监测内存所在环境的温度值; 判断所述温度值是否小于预设的最低工作温度或大于预设的最高工作温度,若是,则将所述内存的刷新频率调节为与所述温度值相应的刷新频率。
2.根据权利要求1所述的内存管理方法,其特征在于,所述将所述内存的刷新频率调节为与所述温度值相应的刷新频率的步骤包括: 根据所述温度值从预设的温度与内存刷新频率之间的对应关系中查找到相应的刷新频率; 将所述内存的刷新频率调节为所述查找到的相应的刷新频率。
3.根据权利要求2所述的内存管理方法,其特征在于,在所述监测内存所在环境的温度值的步骤之前,还包括步骤: 预先建立对应表以及温度与内存刷新频率之间的对应关系,并将所述温度与内存刷新频率之间的对应关系存储在所述对应表中; 根据所述温度值从预设的温度与内存刷新频率之间的对应关系中查找到相应的刷新频率的步骤具体为: 根据所述温度值从所述对应表中存储的预设的温度与内存刷新频率之间的对应关系中查找到相应的刷新频率。
4.根据权利要求3所述的内存管理方法,其特征在于,所述预先建立温度与内存刷新频率之间的对应关系的步骤包括: 选定温度; 在不同的刷新频率下多次测试内存的误码率,形成数据分布曲线; 根据所述统计的数据分布曲线和允许的最低误码率确定相应的刷新频率; 建立温度与相应的内存的刷新频率之间的对应关系。
5.根据权利要求1所述的内存管理方法,其特征在于,在所述将所述内存的刷新频率调节为与所述温度值相应的刷新频率的步骤之后,还包括步骤: 按预设时间间隔监测内存所在环境的温度值。
6.—种内存管理系统,其特征在于,包括: 温度监测模块,用于监测内存所在环境的温度值; 内存控制模块,用于判断所述温度值是否小于预设的最低工作温度,或者大于预设的最高工作温度,若是,则将所述内存的刷新频率调节为与所述温度值相应的刷新频率。
7.根据权利要求6所述的内存管理系统,其特征在于,所述内存控制模块还用于根据所述温度值从预设的温度与内存刷新频率之间的对应关系中查找到相应的刷新频率,以及将所述内存的刷新频率调节为所述查找到的相应的刷新频率。
8.根据权利要求7所述的内存管理系统,其特征在于,还包括: 创建模块,用于预先建立对应表以及温度与内存刷新频率之间的对应关系,并将所述温度与内存刷新频率之间的对应关系存储在所述对应表中; 所述内存控制模块还用于根据所述温度值从所述对应表中存储的预设的温度与内存刷新频率之间的对应关系中查找到相应的刷新频率。
9.根据权利要求8所述的内存管理系统,其特征在于,所述创建模块包括:选定模块,用于选定温度; 统计模块,用于在不同的刷新频率下多次测试内存的误码率,形成数据分布曲线; 分析模块,用于根据统计的数据分布曲线和允许的最低误码率确定相应的刷新频率; 关系建立模块,用于建立温度与相应的内存的刷新频率之间的对应关系。
10.根据权利要求6所述的内存管理系统,其特征在于,所述温度检测模块还用于按预设时间间隔监测内存所在`环境的温度值。
【文档编号】G06F9/46GK103677966SQ201210319287
【公开日】2014年3月26日 申请日期:2012年8月31日 优先权日:2012年8月31日
【发明者】陈志列, 廖宇晖 申请人:研祥智能科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1