一种混合存储器结构的低功耗刷新方法
【专利摘要】本发明提供了一种混合存储器结构的低功耗刷新方法,当DRAM处于非繁忙状态,运行在温度敏感模式下,非易失性存储器中的存储单元替代当前温度范围内中检测到的最差存储单元,重新配置所述DRAM刷新周期;如果在某一时刻检测到当前温度变化到另一温度范围,那么更新最差存储单元信息,更新刷新周期;如果DRAM运行在温度不敏感模式,非易失性存储器中的存储单元替代检测到的最差存储单元,重新配置DRAM的刷新周期;如果在某一时刻DRAM运行温度超过规定值时,DRAM会由低功耗刷新模式切换回常规刷新模式。本发明的技术方案实现了刷新周期的提高,节省了刷新功耗,并且基本不影响原DRAM的存储与读取性能。
【专利说明】一种混合存储器结构的低功耗刷新方法
【技术领域】
[0001]本发明属于计算机硬件领域,涉及一种内存条刷新方法,尤其涉及一种混合存储器结构的低功耗刷新方法。
【背景技术】
[0002]在过去几十年,动态随机访问存储器(DRAM)成本随着摩尔定律不断降低。但随着特征尺寸越来越小,芯片对功耗的要求越来越高,由于DRAM存储电容漏电因此每隔一段时间就必须刷新一次,随着DRAM容量越来越大,刷新功耗也越来越大,如图1所示。刷新操作不仅耗电,而且由于干涉到存储器存取因此DRAM性能也会下降。目前DRAM刷新频率是由最差存储单元(tail bit)所决定的,例如64ms,存储单元保持时间分布如图2所示,图中可以看出绝大数单元的保持数据的能力是远比刷新周期要长的。并且随着温度升高,刷新频率也会上升。因此如何降低刷新功耗、降低刷新频率是提高DRAM性能亟需解决的问题。
[0003]目前DRAM有两种基本的刷新方式,集中式刷新(burst refresh)和分布式刷新(distributed refresh)。集中式刷新方式中将刷新周期分成两部分:在一个时间段内,刷新存储器所有行,此时CPU停止访问内存;另一个时间段内,CPU可以访问内存,刷新电路不工作。这种刷新模式存在读写死区时间,适用于高速存储器。分布式刷新电路是CPU与刷新电路交替访问内存,在一个刷新周期内,所有的行都被刷新一次,且同一行被刷新的时间间隔等于存储芯片的刷新周期,两种刷新方式如图3所示。例如对一个4K行的DRAM存储器阵列来说,刷新周期为64ms,一个刷新周期内有4096个刷新次数,对每一行刷新需要的时间为130ns。对集中式刷新方式来说,需要对4096行集中刷新,时间为:`[0004]4096 X 130ns=532480ns ^ 0.532ms ;
[0005]64ms_0.532ms=63.468ms ;
[0006]也就是说在一个刷新周期内,有0.532ms的时间耗费在刷新上,此时CPU无法访问DRAM,剩余63.468ms提供给CPU对DRAM进行读或者写操作。对分布式刷新方式来说,64ms分配到每一行是:
[0007]64ms-1-4096=15.6us ;
[0008]15.6us_0.13us=15.47us ;
[0009]也就是说在一个刷新周期内,DRAM中的每一行有0.13us耗费在刷新上,剩余15.47us可供CPU对该行进行读写操作。
[0010]自动温度补偿自刷新技术(AutoTemperature Compensated Self Refresh)是一种低功耗的DRAM刷新技术。当温度升高,刷新频率必须提高以免数据丢失,刷新功耗也随之上升;相反,当温度降低,数据保持能力也会上升,刷新频率可随之降低,如图4所示。其实现结构图如图5所示。自动温度补偿自刷新模块利用一个内建温度传感器去感应周围温度,然后自动调整刷新间隔,从而显著降低功耗。传统的温度补偿自刷新模块可以从外部来改变温度寄存器的值从而调整刷新频率。这种技术虽然能够降低刷新频率,但是在一定的温度范围内,所设定的刷新频率是固定的,并没有考虑到最差存储单元的分布。而且随着技术发展DRAM离CPU越来越近,温度也会越来越高,这种降低功耗的方法也越来越局限。
[0011]一种基于数据保持时间的DRAM智能刷新技术是将DRAM行根据保持时间的不同分成不同的组,对每一个组以不同的刷新频率进行刷新。那些包含最差存储单元的组以正常刷新频率刷新,而绝大部分的行刷新频率大大降低,无需对DRAM阵列进行修正,只需对DRAM控制器进行最小限度的修正。资料显示在32GB DRAM的八核系统中,刷新频率能够降低74.6%,平均DRAM功耗可降低16.1%。虽然这种方法考虑了最差存储单元,但是不论DRAM是否繁忙,包含最差存储单元的行仍需要以正常刷新频率进行刷新。
[0012]近来,一些新型的DRAM结构或者存储材料被提出来以解决当前DRAM技术的缺陷。IBM公司主张用非易失性存储器相变存储器(PCM)与DRAM结合形成一种混合存储器。其结构如图6所示。DRAM只作为高速缓存器,缓存最近使用的信息,只有在需要时才将数据存储到PCM中。由于DRAM只是作为缓存,容量不需要很大,PCM作为主存储介质在存储数据时无需定时刷新,因此这种结构能够大大降低数据存储的功耗,但是由于PCM存储与存取速度较慢,因此这种结构在整体性能上明显下降。另一种混合存储结构如图7所示,其中5为非易失性存储器,7为逻辑检测模块。利用非易失性存储器5中的存储单元替代原DRAM主存储器2中位于尾端分布区的存储单元,从而可以大大提高刷新周期,降低刷新频率,极大地降低了原DRAM刷新功耗。
【发明内容】
[0013]有鉴于此,本发明基于混合存储器结构,在考虑最差存储单元的前提下实现刷新频率的降低,节省刷新功耗,并且基本不影响原DRAM的存取性能。
[0014]为达到上述目的,具体技术方案如下:
[0015]一种混合存储器结构的低功耗刷新方法,所述混合存储器结构包括DRAM、非易失性存储器和逻辑检测模块,以及可在所述混合存储器上配置的温度传感器,包括以下步骤:
[0016]步骤I,检测所述DRAM内部最差存储单元信息,并将最差存储单元信息存储在所述非易失性存储器中;
[0017]步骤2,如果所述DRAM处于繁忙状态,所述DRAM以常规刷新模式工作,此时所述DRAM的刷新周期为常规刷新周期;
[0018]步骤3,如果所述DRAM处于非繁忙状态,那么所述DRAM进入低功耗刷新模式,所述低功耗刷新模式包括温度敏感模式和温度不敏感模式,如果选择温度敏感模式,那么进入步骤4,如果选择温度不敏感模式,则进入步骤5 ;
[0019]步骤4,如果所述DRAM运行在温度敏感模式下,所述非易失性存储器中的存储单元替代当前温度范围内在步骤I中检测到的最差存储单元,重新配置所述DRAM刷新周期;如果在某一时刻检测到当前温度变化到另一温度范围,那么更新最差存储单元信息,更新刷新周期;
[0020]步骤5,如果所述DRAM运行在温度不敏感模式,所述非易失性存储器中的存储单元替代在步骤I中检测到的最差存储单元,重新配置所述DRAM的刷新周期;如果在某一时刻所述DRAM运行温度超过规定值时,所述DRAM会由低功耗刷新模式切换回常规刷新模式。
[0021]优选的,还包括步骤6:当检测在低功耗刷新模式下运行的所述DRAM处于繁忙状态,那么将所述非易失性存储单元中的数据写回至所述DRAM中,所述DRAM切换至常规刷新模式。
[0022]优选的,所述步骤I中的最差存储单元信息包括基于温度变化的最差存储单元信息或不基于温度变化的最差存储单元信息。
[0023]优选的,当对所述DRAM存取功耗接近或小于所述DRAM自身刷新功耗,那么所述DRAM处于非繁忙状态。
[0024]优选的,步骤2中所述温度感应器感应所述DRAM当前工作温度,所述DRAM以最短刷新周期T_refresh_spec周期刷新,并检测所述DRAM是否处于繁忙状态。
[0025]优选的,所述步骤I中的检测方法包括:
[0026]步骤1.1,所述DRAM在初始测试温度Temp下第一次进行刷新检测,刷新周期为T_refresh_spec,所述刷新周期为最短刷新周期;
[0027]步骤1.2,记录检测在当前刷新周期T_refresh下的最差存储单元信息;
[0028]步骤1.3,对可工作在温度敏感模式下的DRAM,需要检测在不同温度下的最差存储单元信息;先判断当前测试温度是否达到检测上限温度Tempjnax,未达到则在当前检测后将当前温度提高AT,将此新的测试温度覆盖成Temp,再返回步骤1.1重新检测;否则,将此测试温度设置回第一次初始测试温度Temp,再进行步骤1.4 ;若所述DRAM仅工作在温度不敏感模式下,那么直接进入步骤1.4 ;
[0029]步骤1.4,判断当前测试刷新周期是否达到上限检测刷新周期T_refreSh_max,若达到,则停止检测进入步骤1.5 ;若未达到,通过延迟时间提高At来提高刷新周期,将此时新刷新周期覆盖成T_refresh_spec,再返回步骤1.1 ;
[0030]步骤1.5,分析检测结果,并将最优方案结果保存至非易失性存储器中。
[0031]优选的,所述步骤1.5中,对于可工作在温度敏感模式下的所述DRAM,需要记录在不同温度范围下的最优方案;对于仅工作在温度不敏感模式下的所述DRAM,只需要记录在当前温度范围内的最优方案。
[0032]优选的,所述步骤1.1中的刷新检测为分布式刷新检测或者集中式刷新检测。
[0033]优选的,所述步骤1.2中的最差存储单元信息即在当前温度范围内,数据保持时间小于当前所述DRAM刷新周期的所述DRAM存储单元的物理地址信息。
[0034]相对于现有技术,本发明的技术方案的优点有:
[0035]本发明的技术方案在考虑最差存储单元的前提下实现刷新频率的降低,节省刷新功耗,并且基本不影响原DRAM的存取性能。
【专利附图】
【附图说明】
[0036]构成本发明的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
[0037]图1是刷新功耗随DRAM容量变化示意图;
[0038]图2是DRAM中存储单元保持能力分布图;
[0039]图3是DRAM中两种刷新模式时序示意图;
[0040]图4是DRAM中存储单元保持能力随温度变化示意图;
[0041]图5是自动温度补偿自刷新技术的结构示意图;[0042]图6是IBM混合DRAM结构示意图;
[0043]图7是基于最差存储单元的混合DRAM结构示意图;
[0044]图8是本发明实施例混合DRAM低功耗刷新的实现方法流程示意图;
[0045]图9是本发明实施例检测DRAM中最差存储单兀/[目息流程不意图;
[0046]图10是本发明实施例DRAM块阵列示意图;
[0047]图11是本发明实施例分布式检测最差存储单元时序图;
[0048]图12是本发明实施例DRAM块阵列分成m个子单元示意图;
[0049]图13是本发明实例I时序图;
[0050]图14是本发明实施例集中式检测最差存储单元时序图;
[0051]图15是本发明实例2时序图;
[0052]图16是本发明最差存储单元地址示例图;
[0053]图17是本发明实施例最差存储单元数随温度变化示意图;
[0054]图18是本发明实施例最差存储单元数随刷新周期提高变化示意图;
[0055]图19是本发明实施例DRAM结构分块和分层结构示意图;
[0056]图20是本发明实施例操作系统改善混合DRAM性能示例图。
【具体实施方式】
[0057]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0058]需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相
互组合。
[0059]以下将结合附图对本发明的实施例做具体阐释。
[0060]在DRAM繁忙时,DRAM主要功耗为存取功耗,而DRAM非繁忙时,DRAM主要功耗为刷新功耗。本发明的实施例基于最差存储单元为基础的,结构如图7所示,其中2为DRAM存储阵列,5为非易失性存储器,7为逻辑检测模块,8为温度传感器,其可以是混合DRAM芯片内置的,也可以是系统中的。若温度检测器是DRAM外部系统中的,一旦温度范围发生变化,那么外部系统需发送指令至DRAM芯片以便进行调整;若是存在于该DRAM内部,那么无需外部系统发送指令DRAM可自动进行调整。
[0061]本发明实施例的实现方法流程如图8所示:
[0062]步骤1,混合DRAM芯片首先检测内部最差存储单元信息,检测包括基于温度变化的最差存储单元信息或不基于温度变化的最差存储单元信息,并将最差存储单元信息存储在非易失性存储器5中。
[0063]步骤2,在DRAM正常运行时,逻辑检测模块检测DRAM运行状态,如果工作在繁忙状态,此时对DRAM的刷新功耗非主要功耗,此时DRAM以常规刷新模式工作。
[0064]步骤3,如果需工作在非繁忙状态,那么DRAM将进入低功耗刷新模式,如果是“温度敏感模式”,那么进入步骤4,如果是“温度不敏感模式”,则进入步骤5。
[0065]步骤4,如果DRAM运行在温度敏感模式下,用非易失性存储器中的存储单元替代当前温度范围内在步骤I中检测到的最差存储单元,配置DRAM新的刷新周期,DRAM以新的刷新周期运行在低功耗刷新模式下。如果在某一时刻检测到当前温度变化到另一温度范围,那么更新最差存储单元信息,更新刷新周期。如果在某一时刻检测到DRAM工作状态转换为繁忙,那么进入步骤6。
[0066]步骤5,如果DRAM运行在温度不敏感模式,同样用非易失性存储器中的存储单元替代在步骤I中检测到的最差存储单元,配置DRAM新的刷新周期。如果在某一时刻DRAM运行温度超过规定值时(比如85°C),DRAM会由低功耗刷新模式切换回常规刷新模式,进入步骤6。
[0067]步骤6,在低功耗刷新模式下运行的DRAM不论以温度敏感模式或者温度不敏感模式运行,一旦检测到运行状态为繁忙,那么会立即将非易失性存储单元中的数据写回至DRAM中的指定单元,配置DRAM回到常规刷新周期,然后切换至常规刷新模式。
[0068]本发明的实施例根据运行状态在低功耗刷新模式和常规刷新模式下进行切换。
[0069]首先本发明实施例的步骤I是要检测DRAM中最差存储单元的位置以及数据保持时间。
[0070]本发明实施例的DRAM刷新检测方法如图9所示:
[0071]步骤1.1:DRAM在初始测试温度Temp下第一次进行刷新检测,刷新周期为T_refresh_spec,该刷新周期应等于DRAM数据手册上规定的最短刷新周期,例如64ms,方式可以是分布式刷新检测或者集中式刷新检测。
[0072]步骤1.2:记录检测在当前刷新周期T_refresh下的最差存储单元信息。
[0073]步骤1.3:对可工作在温度敏感模式下的DRAM,需要检测在不同温度下的最差存储单元信息。先判断当前测试温度是否达到检测上限温度Tempjnax,未达到则在当前检测后将当前温度提高AT,将此新的测试温度覆盖成Temp,再返回步骤1.1重新检测;否则,将此测试温度设置回第一次初始测试温度Temp,再进行步骤1.4 ;若DRAM仅工作在温度不敏感模式下,那么直接进入步骤1.4。
[0074]步骤1.4:判断当前测试刷新周期是否达到上限检测刷新周期T_refreSh_maX,若达到,则停止检测进入步骤1.5;若未达到,通过延迟时间提高At来提高刷新周期,将此时新刷新周期覆盖成T_refresh_spec,再返回步骤1.1。
[0075]步骤1.5:分析检测结果,并将最优方案结果保存至非易失性存储器5中。对于可工作在温度敏感模式下的DRAM来说,需要记录在不同温度范围下的最优方案;对于仅工作在温度不敏感模式下的DRAM来说,只需要记录在当前温度范围内的最优方案。
[0076]对于步骤1.1,假设一个DRAM块阵列如图10所示,字线有η行,位线有I列。每个字线与位线交点即为一个基本的存储单元,总共就有ηΧ I个存储单元。在一定温度下,为了能够得到每个存储单元的数据保持能力信息,需要先向每个存储单元中写入数据,写入的数据可以是全O或者全I,亦或者55 (101101)序列,亦或者AA (10101010)序列等。写入数据紧接着过一段时间后就是读数据,如果读出数据与写入数据一致,那么表明该存储单元的数据保持时间至少等于(亦或大于)所述这段时间。写入数据或者存取数据方法有两种,即分布式和集中式。
[0077]分布式刷新的时序图如图11所示,若k为所述DRAM数据输入输出端口数,即DRAM输入输出数据位宽,也就是一次访问DRAM的最大数据位宽,如图7所示。对k个存储单元来说,写操作需要的时间为写脉冲时间t_write_dis和延迟t_delayl_dis,读操作需要的时间为读脉冲时间t_read_dis和延迟t_delay2_dis,其中t_write_dis大于等于DRAM所允许的一个基本单元k个数据的最短写入时间,t_read_dis大于等于DRAM所允许的一个基本单元k个数据的最短输出时间。在一个刷新周期下对所有单元进行写操作后紧接对所有的存储单元进行读操作,检测在该刷新周期下数据是否保存完好。一个写脉冲或者读脉
H Xl
冲可以写或者读k个存储单元,那么对ηΧ I个存储单元来说需要读或者写
【权利要求】
1.一种混合存储器结构的低功耗刷新方法,所述混合存储器结构包括DRAM、非易失性存储器和逻辑检测模块,以及可在所述混合存储器上配置的温度传感器,其特征在于,包括以下步骤: 步骤1,检测所述DRAM内部最差存储单元信息,并将最差存储单元信息存储在所述非易失性存储器中; 步骤2,如果所述DRAM处于繁忙状态,所述DRAM以常规刷新模式工作,此时所述DRAM的刷新周期为常规刷新周期; 步骤3,如果所述DRAM处于非繁忙状态,那么所述DRAM进入低功耗刷新模式,所述低功耗刷新模式包括温度敏感模式和温度不敏感模式,如果选择温度敏感模式,那么进入步骤4,如果选择温度不敏感模式,则进入步骤5 ; 步骤4,如果所述DRAM运行在温度敏感模式下,所述非易失性存储器中的存储单元替代当前温度范围内在步骤I中检测到的最差存储单元,重新配置所述DRAM刷新周期;如果在某一时刻检测到当前温度变化到另一温度范围,那么更新最差存储单元信息,更新刷新周期; 步骤5,如果所述DRAM运行在温度不敏感模式,所述非易失性存储器中的存储单元替代在步骤I中检测到的最差存储单元,重新配置所述DRAM的刷新周期;如果在某一时刻所述DRAM运行温度超过规定值时,所述DRAM会由低功耗刷新模式切换回常规刷新模式。
2.如权利要求1所述的混合存储器结构的低功耗刷新方法,其特征在于,还包括步骤6:当检测在低功耗刷新模式下运行的所述DRAM处于繁忙状态,那么将所述非易失性存储单元中的数据写回至所述DRAM中,所述DRAM切换至常规刷新模式。
3.如权利要求2所述的混合存储器结构的低功耗刷新方法,其特征在于,所述步骤I中的最差存储单元信息包括基于温度变化的最差存储单元信息或不基于温度变化的最差存储单元信息。
4.如权利要求3所述的混合存储器结构的低功耗刷新方法,其特征在于,当对所述DRAM存取功耗接近或小于所述DRAM自身刷新功耗,那么所述DRAM处于非繁忙状态。
5.如权利要求4所述的混合存储器结构的低功耗刷新方法,其特征在于,步骤2中所述温度感应器感应所述DRAM当前工作温度,所述DRAM以最短刷新周期T_refresh_spec周期刷新,并检测所述DRAM是否处于繁忙状态。
6.如权利要求1所述的混合存储器结构的低功耗刷新方法,其特征在于,所述步骤I中的检测方法包括: 步骤1.1,所述DRAM在初始测试温度Temp下第一次进行刷新检测,刷新周期为T_refresh_spec,所述刷新周期为最短刷新周期; 步骤1.2,记录检测在当前刷新周期T_refresh下的最差存储单元信息;步骤1.3,对可工作在温度敏感模式下的DRAM,需要检测在不同温度下的最差存储单元信息;先判断当前测试温度是否达到检测上限温度Tempjnax,未达到则在当前检测后将当前温度提高Λ Τ,将此新的测试温度覆盖成Temp,再返回步骤1.1重新检测;否则,将此测试温度设置回第一次初始测试温度Temp,再进行步骤1.4 ;若所述DRAM仅工作在温度不敏感模式下,那么直接进入步骤1.4; 步骤1.4,判断当前测试刷新周期是否达到上限检测刷新周若达到,则停止检测进入步骤1.5 ;若未达到,通过延迟时间提高At来提高刷新周期,将此时新刷新周期覆盖成T_refresh_spec,再返回步骤1.1 ; 步骤1.5,分析检测结果,并将最优方案结果保存至非易失性存储器中。
7.如权利要求6所述的混合存储器结构的低功耗刷新方法,其特征在于,所述步骤1.5中,对于可工作在温度敏感模式下的所述DRAM,需要记录在不同温度范围下的最优方案;对于仅工作在温度不敏感模式下的所述DRAM,只需要记录在当前温度范围内的最优方案。
8.如权利要求7所述的混合存储器结构的低功耗刷新方法,其特征在于,所述步骤1.1中的刷新检测为分布式刷新检测或者集中式刷新检测。
9.如权利要求8所述的混合存储器结构的低功耗刷新方法,其特征在于,所述步骤1.2中的最差存储单元信息即在当前温度范围内,数据保持时间小于当前所述DRAM刷新周期的所述DRAM存储单元的物理地址信息。
10.如权利要求1所述的混合存储器结构的低功耗刷新方法,其特征在于,所述温度敏感模式下,对所述最差存储单元的检测在DRAM芯片测试时进行。
11.如权利要求1所述的混合存储器结构的低功耗刷新方法,其特征在于,所述温度不敏感模式下,对DRAM中最差存储单元的检测在DRAM芯片测试时进行;或在系统上电或下电定期进行,以在DRAM被长时间读写操作后数据保持性能下降时可通过重新检测来更新最差存储单元信息。
12.如权利要求9所述的混合存储器结构的低功耗刷新方法,其特征在于,所述步骤1.2中的最差存储单元信息是一个单个的最差存储单元所对应地址,包括字线地址,位线地址;或是该最差存储单元所在行所在地址,即字线地址;或是在一定时间间隔内需要被刷新的行数,即刷新组的地址。
13.如权利要求12所述的混合存储器结构的低功耗刷新方法,其特征在于,还包括在进入低功耗刷新模式之前将检测到的最差存储单元信息告知操作系统,操作系统重新映射查找表(LUT),将含有最差存储单元的第一刷新组上的内容存至其他不含有最差存储单元的第二刷新组地址上,并将第一刷新组失效。
【文档编号】G11C11/406GK103811048SQ201410067838
【公开日】2014年5月21日 申请日期:2014年2月26日 优先权日:2014年2月26日
【发明者】景蔚亮, 陈邦明 申请人:上海新储集成电路有限公司