CN102081964B - 动态随机访问存储器刷新的方法和系统 - Google Patents
动态随机访问存储器刷新的方法和系统 Download PDFInfo
- Publication number
- CN102081964B CN102081964B CN200910225879.9A CN200910225879A CN102081964B CN 102081964 B CN102081964 B CN 102081964B CN 200910225879 A CN200910225879 A CN 200910225879A CN 102081964 B CN102081964 B CN 102081964B
- Authority
- CN
- China
- Prior art keywords
- memory bank
- refresh
- memory
- memory banks
- refreshing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/406—Management or control of the refreshing or charge-regeneration cycles
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/406—Management or control of the refreshing or charge-regeneration cycles
- G11C11/40618—Refresh operations over multiple banks or interleaving
Landscapes
- Engineering & Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computer Hardware Design (AREA)
- Dram (AREA)
Abstract
本发明公开了一种DRAM刷新的方法和系统,方法包括:将DRAM中的全部存储体分为多个存储体组,每个组中有n个存储体,其中,n为大于等于1的整数;为每个存储体组确定可用保持时间阈值;对每个存储体组的存储体的每个存储体行进行刷新,其中,对一个存储体组的一个存储体行进行刷新包括:判断对该存储体行的刷新操作和对该存储体行所在的存储体的访问操作是否冲突;如果冲突,判断对于当前存储体行,是进行刷新操作还是访问操作;如果判断结果为进行访问操作,则继续访问操作。该方法比现有的刷新方法具有几十倍的连续访问能力,因此也提高了动态随机访问存储器的访问性能。
Description
技术领域
本发明一般涉及动态随机访问存储器,更具体地,涉及动态随机访问存储器刷新的方法和系统。
背景技术
动态随机访问存储器(Dynamic Random Access Memory,DRAM)是一种半导体存储器,其原理是利用电容内是否储有电子来代表一个二进制位元(bit)是1还是0。由于在现实中电容会有漏电的现象,导致电位差不足而使记忆消失,因此需要电容经常周期性地充电,来确保记忆长存。由于这种需要定时刷新的特性,才会被称为“动态”,而静态随机存取存储器(SRAM)只要存入资料后,即使不刷新也不会遗失记忆。
与SRAM相比,DRAM的优势在于结构简单,其每一个位元的数据都只需一个电容跟一个晶体管来处理,相比之下,在SRAM上一个位元就需要六个晶体管。正因这个缘故,DRAM比SRAM在相同的存储位元下,面积更小;所以DRAM拥有非常高的密度,单位体积的容量较高,成本较低。但相反的,DRAM也有存取速度较慢,耗电量较大的缺点。与大部分的随机存取器(RAM)一样,由于存在DRAM中的资料会在电源切断以后立刻消失,因此它也是一种挥发性记忆体(volatile memory)设备。
DRAM在保持时间内因为漏电流必须被刷新,当刷新操作和正常的访问操作(例如读或者写操作)发生冲突时,正常的访问操作必须被挂起,直到刷新操作完成。DRAM由多个存储体(Bank)组成,每个存储体包含多个行(Row),在每个时钟周期,存储体的一个行被刷新,同时,其它存储体可以被访问,只有被刷新的存储体不能被访问。对一个给定的存储体的连续访问会被其刷新操作打断,尤其是对于长期连续被访问的存储体,访问的吞吐量被降低。
美国专利申请2005/006954387B2“具有灵巧的刷新调度器的动态随机访问存储器”提出了一种通过使用移动的上/下标志位寄存器的改进访问吞吐量 的刷新方法。该申请提出一种可配置的动态随机访问存储器刷新方法。但是,对于长期连续被访问的存储体,上述方法访问的吞吐量还是较低,这对于某些要求高吞吐量访问的应用来说,使用现有的DRAM刷新方法和系统难以满足应用的要求。
发明内容
为了解决现有技术中DRAM刷新对于长期连续被访问的存储体,访问的吞吐量较低这一问题,本发明提出了一种新的刷新方法,该方法比现有的刷新方法提高了几十倍的连续访问能力,因此也提高了动态随机访问存储器的访问性能。
根据本发明的一个方面,提供了一种DRAM刷新的方法,包括,将DRAM中的全部存储体分为多个存储体组,每个组中有n个存储体,其中,n为大于等于1的整数;为每个存储体组确定可用保持时间阈值;对每个存储体组的存储体的每个存储体行进行刷新,其中,对一个存储体组的一个存储体行进行刷新包括:判断对该存储体行的刷新操作和对该存储体行所在的存储体的访问操作是否冲突;如果冲突,判断对于当前存储体行,是进行刷新操作还是访问操作;如果判断结果为进行访问操作,则继续访问操作。
根据本发明的另一个方面,提供了一种DRAM刷新的系统,包括:全局刷新顺序控制器,用于将DRAM中的全部存储体分为多个存储体组,每个组中有n个存储体,其中,n为大于等于1的整数,为每个存储体组确定可用保持时间阈值,并且控制刷新子单元顺序控制器对每个存储体组的每个存储体行进行刷新;刷新子单元顺序控制器,用于对每个存储体组的存储体的每个存储体行进行刷新,其中对一个存储体组的一个存储体行进行刷新时,首先判断对该存储体行的刷新操作和对该存储体行所在的存储体的访问操作是否冲突;如果冲突,判断对于当前存储体行,是进行刷新操作还是访问操作;如果判断结果为进行访问操作,则继续访问操作。
附图说明
通过对附图中本发明示例实施例方式的更详细描述,本发明的上述、以及其它目的、特征和优势将变得更加明显,其中,相同的参考标号通常代表本发明示例实施例方式中的相同部件。
图1示意性地示出了美国专利申请2005/006954387B2“具有灵巧的刷新调度器的动态随机访问存储器”中使用的方法;
图2示意性地示出了根据本发明的一个实施例的对DRAM中的存储体进行刷新的方法流程图;
图3示意性地示出了根据本发明的一个实施例的对DRAM中的存储体进行分组的示意图;
图4示出了对于一个存储体组的刷新过程的一种实施方式;
图5示出了对于一个存储体组的刷新过程的另一种实施方式;以及
图6示出了本发明的对DRAM中的存储体进行刷新的系统与存储体之间的连接关系。
具体实施方式
将参照附图更加详细地描述本发明的优选实施方式,在附图中显示了本发明的优选实施例。然而,本发明可以以各种形式实现而不应该理解为被这里阐述的实施例所限制。相反,提供这些实施例是为了使本发明更加透彻和完整,并且,完全将本发明的范围传达给本领域的技术人员。
图1示意性地示出了美国专利申请2005/006954387B2“具有灵巧的刷新调度器的动态随机访问存储器”中使用的方法,在该方法中,包含着多个存储体,图1示意性地示出了24个存储体,每个存储体具有256个行。由于电容器漏电流的存在,每个存储体都要定时刷新。刷新操作必须在保持时间内完成。保持时间就是每个存储体必须刷新的时间间隔。但是刷新是以“行”为单位进行的。由于存储体在刷新某一行时,整个存储体都不可以被访问,在美国专利申请中,如图1所示,使用两个指针指示将要被刷新的行,第一个指针为主指针,从第一个存储体的第一行开始,刷新该行后,指针1指向第二个存储体的第一行,然后为第三个存储体的第一行,等等,以存储体个数加一的顺序,直至每个存储体的第一行都被刷新后,再分别刷新每个存储体的第二行,等等。第二个指针为副指针,其从第24个存储体开始,依次对应每个存储体的1行,2行,3行,......,以存储体个数减一的顺序。当指针1指向的要被刷新的行正在进行访问操作时,刷新指针2指向的行,然后更新指针2,这样,就可以防止刷新操作和访问操作的冲突。当指针1指向的行因为保持时间的限制必须被刷新,而该行要被访问时,该访问操作暂停, 等待刷新操作完毕后进行。
例如,DRAM的全部存储体的总保持时间为36us(us为微秒),如果时钟周期为5ns(ns为纳秒),那么,全部存储体一行的最小刷新时间保守计算为:存储体的保持时间/(一个存储体的行数+1)=36us/(256+1)=140ns,也就是28个时钟周期。因此,全部存储体的一行的最大刷新间隔时间为140ns或者说28个时钟周期。每个时钟周期可以刷新一行,如果恰好存储体1的第一行被连续访问,以致不能够被刷新,这时,指针2指向存储体24的第一行,进行刷新,然后指针2指向存储体23的第一行进行刷新,......,直到指针2指向存储体2的第一行进行刷新,存储体1的第一行可以仍然被访问,因为还没有到存储体1的第一行必须被刷新的时间,此时可以暂时停止刷新操作,最多可以停止4个时钟周期,当到第5个时钟周期时,存储体1的第一行必须停止被访问,进行刷新操作,否则会因为漏电流,该存储的数据不能保持。也就是说,某一行数据的最大连续访问时间为5ns*(28-1)=135ns;同理,如果每个存储体的第一行都被刷新,直到第23个存储体的第一行被刷新完毕,这时本来要开始刷新存储体24的第一行,但是存储体24的正在进行连续的访问操作,此时暂时停止刷新操作,最多可以停止4个时钟周期,当到第5个时钟周期时,存储体24必须停止被访问,进行刷新操作,否则会因为漏电流,该存储的数据不能保持。也就是说,某一行数据的最小连续访问时间为5ns*(28-24)=20ns。因此,在刷新和访问冲突的情况下,存储体的某一行的连续访问时间在[20ns,135ns]之间。
美国专利申请中的存储体的连续访问时间不是很长的一个原因是28个时钟周期,存储体行必须被更新;如果将这个必须被更新时间延长,就可能延长连续访问时间。本发明就是基于这样一个思想。
图2示意性地示出了根据本发明的一个实施例的对DRAM中的存储体进行刷新的方法流程图,根据图2,在步骤S201,将DRAM中的全部存储体分为多个存储体组,每个组中有n个存储体,其中,n为大于等于1的整数;在步骤S202中,为每个存储体组确定可用保持时间阈值;在步骤S203中,对每个存储体组的每个存储体行进行刷新,其中,对一个存储体组的一个存储体行进行刷新包括:判断对该存储体行的刷新操作和对该存储体行所在的存储体的访问操作是否冲突;如果冲突,如果冲突,判断对于当前存储体行,是进行刷新操作还是访问操作;如果判断结果为进行访问操作,则继续访问 操作。下面对每个步骤进行详细描述。
对于步骤S201,图3示意性地示出了根据本发明的一个实施例的对DRAM中的存储体进行分组的示意图。图3中,DRAM一共包含M个存储体,如果每组存储体的个数为n,n为大于0的整数,这样,共分为M/n个存储体组。对于步骤S202,如果DRAM的总保持时间平均确定给每个存储体组,每个存储体组确定的可用保持时间为(DRAM总保持时间/(M/n)),这里为了保险起见,采用更为保守的方式,即为每个存储体组确定的可用保持时间阈值为(总保持时间/(M/n+k)),k为大于等于1的整数,优选地,k=1。这里,k越大,分配的可用保持时间阈值越小,影响使得连续访问时间越小。
对于步骤S203中的对每个存储体组的每个存储体行进行刷新,根据上述的分组情况,如果每个存储体有m个行,则每个存储体组共有m*n行。在对这m*n行的一行进行刷新时,对一个存储体组的一个存储体行进行刷新包括:判断对该存储体行的刷新操作和对该存储体行所在的存储体的访问操作是否冲突;如果冲突,判断对于当前存储体行,是进行刷新操作还是访问操作;如果判断结果为进行访问操作,则继续访问操作。优选地,发生冲突时,要根据确定的给该存储体组的可用保持时间阈值,以及与组刷新时间,判断对于当前行,是进行刷新操作还是访问操作,这里,组刷新时间为存储体组中从开始刷新到当前刷新的时间差;如果组刷新时间远小于确定的给该存储体组的可用保持时间阈值,则剩下的时间相对于还未刷新的行来说还有富裕,那么可以先不刷新,继续访问操作。如果时间比较紧张,也就是说,如果所述给该存储体组的可用保持时间阈值与组刷新时间的差,与该存储体组的未刷新行需要的全部刷新时间之间的差小于设定阈值,则进行刷新操作。这里,可以根据DRAM本身的特性、以及控制的复杂度来设定阈值,例如,如果控制时间较长,设定阈值就要较大于0,否则,只要很小的设定阈值即可。下面的实施例会详细描述。
具体来说,图4示出了对于一个存储体组的刷新过程的一种实施方式,根据图4,在步骤S401,初始化未刷新行,初始化组刷新时间以及记录当前时间为初始时间。一个存储体组的所有行被编上行号,可以用数组、表等数据结构来记录所有未被刷新的行的行号,如果该行完成刷新,就从该数据结构中删除该行的行号,否则,该行号保留在该数据结构中。组刷新时间为存储体组中从开始刷新到当前刷新的时间差,可以通过使用刷新过程中的当前 时间减去初始时间获得。在步骤S402,对于下一个未被刷新的行,判断是否有针对该行所在的的存储体访问操作;在步骤S403,如果没有针对该行的访问操作,更新该行,并且在未刷新行中删除该行行号,然后在步骤S404,更新组刷新时间。在步骤S405,判断是否所有未被刷新的行都被刷新,如果是,则在步骤S407,结束本流程,否则,返回步骤S402,继续判断下一未刷新行;在步骤S405,如果有针对该行所在存储体的访问操作,根据确定的给该存储体组的可用保持时间阈值,组刷新时间,以及剩下的未刷新的存储体行数,判断对于当前行,是进行刷新操作还是访问操作,例如,如果采用先前所述的DRAM保持时间为36us,n=2,则确定给每个存储体的可用保持时间为3000ns,每个存储体组有256*2个行,一个时钟周期为5ns,则每行全部刷新时间为256*2*5=2560ns<3000ns,显然,组刷新时间相对于确定的给该存储体组的可用保持时间阈值有富余。对于某一行,发现有针对该行的访问操作,这时,在步骤S406,对于该存储体组,如果还有足够的时间用于刷新,也就是说,未刷新行的行数乘以每行的刷新时间加上组刷新时间还没有达到该存储体组的可用保持时间阈值,可以先不刷新该行,使该行所在的存储体可以继续访问操作,就选择访问操作,这时返回步骤S402,继续对下一未刷新行进行判断,由于下一未刷新行和当前行很可能在一个存储体中,则就会继续判断下一未刷新行,直到位于下一个存储体的未刷新行;在步骤S406,如果不刷新该行,就会造成整个存储体组刷新时间超过确定的该存储体组的可用保持时间阈值,则进入步骤S403,刷新该行,然后,在步骤S404,更新组刷新时间,在步骤S405判断是否所有未被刷新的行都被刷新,直至该存储体组中的所有行都被刷新。该实施例中,只有一个当前要刷新行的指针,在遇到访问刷新冲突时,效率较低,但是,仍然可以显著增加对一个存储体的连续访问时间。
图5示出了对于一个存储体组的刷新过程的另一种实施方式,根据图5,在步骤S501,为组中每一行提供一个计数器,并清零,组刷新时间清零。计数器可以用来记录当前行被刷新的次数,组刷新时间用于累计存储体组中从开始刷新到当前的时间差,记录初始时间。在步骤S502,判断是否所有行都被刷新?可以根据计数器中记录的当前行被刷新的次数判断。如果是,在步骤S509,刷新过程就结束了;否则,在步骤S503,对一未刷新行,判断是否有对该行所在存储体的读写操作,如果没有,在在步骤S504刷新该行,并且 更该行的刷新计数器的刷新次数。在步骤S505,更新组刷新时间和刷新行数,组刷新时间可以使用当前时间减去初始时间获得,刷新行数为从该存储体组开始刷新到当前的总刷新行数。然后在步骤S508,判断组刷新时间是否已经到了确定的给该存储体组的可用保持时间阈值,如果已经到了确定的给该存储体组的可用保持时间阈值,就在步骤S509结束该流程,否则,回到步骤S502,继续判断是否所有行都已经被刷新。在步骤S503,如果判断存在对该行所在存储体的读写操作,在步骤S506,判断对于当前行,是进行刷新操作还是访问操作?该判断可以根据确定的给该存储体组的可用保持时间阈值,组刷新时间,以及已经刷新的存储体行数来进行,或者是类似的变体来进行。对于该存储体组,如果还有足够的时间用于刷新,也就是说,未刷新行的行数乘以每行的刷新时间加上组刷新时间还没有达到确定的给该存储体组的可用保持时间阈值,可以先不刷新该行,使该行所在的存储体可以继续访问操作,就选择访问操作,本实施例的访问操作中,要在步骤S507刷新其它存储体的一行,这样就不会有冲突了。可以使用不同的策略选择其他的存储体以及其它的行。例如,均衡的分配策略,即选择存储体组中被刷新行数最少的那个存储体为本次的刷新存储体。然后,回到步骤S505,更新组刷新时间和刷新行数,继续进行步骤S508的判断,或者返回步骤S502的判断(图中未示出),直至所有行都被刷新。在本实施例中,由于对刷新存储体的灵活选择,效率更高,并且,很可能在远远小于确定的给该存储体组的可用保持时间阈值的时间内就完成存储体组的刷新。
本发明图4和图5的具体方法中,还可以进行任意的组合,例如,图5中的方法可以不使用计数器,而采用图4的循环方法等,所有的组合都在本发明的保护范围之内。
表1示出了本发明提出的方法与美国专利申请2005/006954387B2的存储体连续访问时间的比较,表1中采用的参数为:DRAM的全部存储体的总保持时间为36us,DRAM包含24个存储体,每个存储体具有256个行,每个时钟周期为5ns。由表1可见,本发明提出的方法大大提高了存储体的连续访问时间。
表1本发明提出的方法与美国专利申请2005/006954387B2的存储体连续访问时间的比较(单位:ns)
根据同一个发明构思,本发明还公开了一种对DRAM中的存储体进行刷新的系统,包括:全局刷新顺序控制器,用于将DRAM中的全部存储体分为多个存储体组,每个组中有n个存储体,其中,n为大于等于1的整数,为每个存储体组确定可用保持时间阈值,并且控制刷新子单元顺序控制器对每个存储体组的每个存储体行进行刷新;刷新子单元顺序控制器,用于对每个存储体组的每个存储体行进行刷新,其中对一个存储体组的一个存储体行进行刷新时,首先判断刷新操作和对该存储体行所在的存储体的访问操作是否冲突;如果冲突,判断对于当前存储体行,是进行刷新操作还是访问操作;如果判断结果为进行访问操作,则继续访问操作。
在一个优选的实施方式中,刷新子单元顺序控制器在对一个存储体组的一个存储体行进行刷新时,如果所述刷新子单元顺序控制器判断结果为刷新操作,则刷新该存储体行。刷新操作和访问操作的判断可以根据如下方式:如果所述给该存储体组的可用保持时间阈值与组刷新时间的差,与该存储体组的未刷新行需要的全部刷新时间之间的差小于设定阈值,则进行刷新操作,其中组刷新时间为存储体组中从开始刷新到当前刷新的时间差。本领域技术人员应该知道,还可以根据上述方式的变体进行判断。
在另一个优选实施方式中,刷新子单元顺序控制器的继续访问操作被配置成:保持对该存储体行所在的存储体的访问操作,不对该存储体行刷新;对下一个未刷新存储体行判断是进行刷新操作还是访问操作。
在上述实时方式的进一步优选实施方式中,刷新子单元顺序控制器的继续访问操作还被配置成:对不在该存储体行所在的存储体上的存储体行进行刷新;然后对下一个未刷新存储体行判断是进行刷新操作还是访问操作。
图6示出了本发明的对DRAM中的存储体进行刷新的系统600与存储体之间的连接关系。系统600可以做成一个独立的芯片,或者做成与存储体一 体的DRAM芯片。系统600包括全局刷新顺序控制器601和刷新子单元顺序控制器602。刷新子单元顺序控制器602通过地址译码逻辑以及、访问控制逻辑以及刷新逻辑603对存储体组控制存储体行的刷新。全局刷新顺序控制器601可以通过硬件或者软件的方式接收配置参数,例如参数n,DRAM总保持时间等。参数n可以依据读写访问的实际情况进行选取。DRAM总保持时间主要是由芯片的工艺和当前的温度(片内的温度传感器可以实时提供温度信息)决定。这两个参数支持动态配置以便提高读写访问的性能和降低芯片的功耗。DRAM总保持时间对温度非常敏感,当芯片温度低时,保持时间变得较大。这时如果重新配置DRAM总保持时间参数,DRAM刷新的频率就会降低,不仅可以提高DRAM的连续读写访问性能,还可以降低芯片的功耗。同样地,n取值越大,连续读写访问性能越好,但是也意味着DRAM的刷新频率越高,功耗也就越大。最好,根据当前读写访问的特性进行合理的选择。
如图6所示,全局刷新顺序控制器601通过刷新子单元选择信号RE SEL(Refresh Element Selection)将当前选中的存储体组通知子单元刷新顺序控制器602。并同时将读写访问地址ACC ADDR(Access Address)也传递给子单元刷新顺序控制器602。优选地,全局刷新顺序控制器601还可以接收刷新子单元顺序控制器602的反馈信号RE FB(Refresh Element Feed Back)重新调整下一个刷新子单元所对应的刷新时间。
刷新子单元顺序控制器602根据刷新子单元选择信号RE SEL,选择刷新哪一个存储体组;并根据当前刷新操作与读写访问操作的冲突情况,决定当前的读写访问操作是进行还是暂停。刷新子单元顺序控制器602输出刷新存储体的地址信号RF BA(Refresh Bank Address)及其行地址信号RF RA(Refresh Row Address)。同时,刷新子单元顺序控制器602还将输出有效的读写访问存储体的地址信号ACC BA(Access Bank Address)及其行地址信号ACC RA(Access Row Address)和列地址信号ACC CA(Access Column Address)。这些地址信号将传输给DRAM的存储体。刷新子单元顺序控制器602将采用本发明中的方法控制一个刷新子单元内如何刷新每一行。
通常,DRAM存储器的译码和控制逻辑会将刷新子单元顺序控制器602输出的地址信号译码,生成每个存储体的行地址信号RA(Row Address)、列地址信号CR(Column Address),以及读写或刷新控制信号ACC(Access) 和RF(Refresh)。
虽然这里参照附图描述了本发明的示例性实施例,但是应该理解本发明不限于这些精确的实施例,并且在不背离本发明的范围和宗旨的情况下,本领域普通技术人员能对实施例进行各种变化的修改。所有这些变化和修改意欲包含在所附权利要求中限定的本发明的范围中。
并且根据上述描述,所属技术领域的技术人员知道,本发明可以体现为装置、方法或计算机程序产品。因此,本发明可以具体实现为以下形式,即,可以是完全的硬件、完全的软件(包括固件、驻留软件、微代码等)、或者本文一般称为“电路”、“模块”或“系统”的软件部分与硬件部分的组合。此外,本发明还可以采取体现在任何有形的表达介质(medium of expression)中的计算机程序产品的形式,该介质中包含计算机可用的程序码。
可以使用一个或多个计算机可用的或计算机可读的介质的任何组合。计算机可用的或计算机可读的介质例如可以是但不限于电的、磁的、光的、电磁的、红外线的、或半导体的系统、装置、器件或传播介质。计算机可读介质的更具体的例子(非穷举的列表)包括以下:有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、诸如支持因特网或内部网的传输介质、或者磁存储器件。注意计算机可用的或计算机可读的介质甚至可以是上面印有程序的纸张或者其它合适的介质,这是因为,例如可以通过电扫描这种纸张或其它介质,以电子方式获得程序,然后以适当的方式加以编译、解释或处理,并且必要的话在计算机存储器中存储。在本文件的语境中,计算机可用的或计算机可读的介质可以是任何含有、存储、传达、传播、或传输供指令执行系统、装置或器件使用的或与指令执行系统、装置或器件相联系的程序的介质。计算机可用的介质可包括在基带中或者作为载波一部分传播的、由其体现计算机可用的程序码的数据信号。计算机可用的程序码可以用任何适当的介质传输,包括但不限于无线、电线、光缆、RF等等。
用于执行本发明的操作的计算机程序码,可以以一种或多种程序设计语言的任何组合来编写,所述程序设计语言包括面向对象的程序设计语言(诸如Java、Smalltalk、C++之类),还包括常规的过程式程序设计语言(诸如”C”程序设计语言或类似的程序设计语言)。程序码可以完全地在用户的计算上执 行、部分地在用户的计算机上执行、作为一个独立的软件包执行、部分在用户的计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在后一种情形中,远程计算机可以通过任何种类的网络(包括局域网(LAN)或广域网(WAN))连接到用户的计算机,或者,可以(例如利用因特网服务提供商来通过因特网)连接到外部计算机。
此外,本发明的流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得通过计算机或其它可编程数据处理装置执行的这些指令,产生实现流程图和/或框图中的方框中规定的功能/操作的装置(means)。
也可以把这些计算机程序指令存储在能指令计算机或其它可编程数据处理装置以特定方式工作的计算机可读介质中,这样,存储在计算机可读介质中的指令产生一个包括实现流程图和/或框图中的方框中规定的功能/操作的指令装置(instruction means)的制造品。
也可以把计算机程序指令加载到计算机或其它可编程数据处理装置上,使得在计算机或其它可编程数据处理装置上执行一系列操作步骤,以产生计算机实现的过程,从而在计算机或其它可编程装置上执行的指令就提供实现流程图和/或框图中的方框中规定的功能/操作的过程。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,所述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
Claims (10)
1.一种DRAM刷新的方法,包括,
将DRAM中的全部存储体分为多个存储体组,每个组中有n个存储体,其中,n为大于等于1的整数;
为每个存储体组确定可用保持时间阈值,其中所述为每个存储体组确定的可用保持时间阈值为DRAM总保持时间/(M/n+k),其中,DRAM包含M个存储体,分为M/n个存储体组,k为大于等于1的整数;
对每个存储体组的存储体的每个存储体行进行刷新,其中,对一个存储体组的一个存储体行进行刷新包括:
判断对该存储体行的刷新操作和对该存储体行所在的存储体的访问操作是否冲突;
如果冲突,判断对于当前存储体行,是进行刷新操作还是访问操作;
如果判断结果为进行访问操作,则继续访问操作;
其中所述判断对于当前存储体行,是刷新操作还是访问操作包括:如果该存储体组的可用保持时间阈值与组刷新时间的差,与该存储体组的未刷新行需要的全部刷新时间之间的差小于设定阈值,则进行刷新操作,其中组刷新时间为存储体组中从开始刷新到当前刷新的时间差。
2.根据权利要求1所述的方法,其中如果判断结果为刷新操作,则刷新该存储体行。
3.根据权利要求1或2所述的方法,其中继续访问操作包括:
保持对该存储体行所在的存储体的访问操作,不对该存储体行刷新。
4.根据权利要求3所述的方法,其中继续访问操作还包括:
对该一个存储体组的其它存储体上的存储体行进行刷新。
5.根据权利要求1或2所述的方法,其中如果判断不存在对该存储体行的刷新操作和对该存储体行所在的存储体的访问操作之间的冲突,则刷新该存储体行。
6.一种DRAM刷新的系统,包括:
全局刷新顺序控制器,用于将DRAM中的全部存储体分为多个存储体组,每个组中有n个存储体,其中,n为大于等于1的整数,为每个存储体组确定可用保持时间阈值,并且控制刷新子单元顺序控制器对每个存储体组的每个存储体行进行刷新,其中所述为每个存储体组确定的可用保持时间阈值为(DRAM总保持时间/(M/n+k),其中,DRAM包含M个存储体,分为M/n个存储体组,k为大于等于1的整数;
刷新子单元顺序控制器,用于对每个存储体组的存储体的每个存储体行进行刷新,其中对一个存储体组的一个存储体行进行刷新时,首先判断对该存储体行的刷新操作和对该存储体行所在的存储体的访问操作是否冲突;如果冲突,判断对于当前存储体行,是进行刷新操作还是访问操作;如果判断结果为进行访问操作,则继续访问操作;
其中所述刷新子单元顺序控制器判断对于当前存储体行,是刷新操作还是访问操作包括:如果该存储体组的可用保持时间阈值与组刷新时间的差,与该存储体组的未刷新行需要的全部刷新时间之间的差小于设定阈值,则进行刷新操作,其中组刷新时间为存储体组中从开始刷新到当前刷新的时间差。
7.根据权利要求6所述的系统,其中如果所述刷新子单元顺序控制器判断结果为刷新操作,则刷新该存储体行。
8.根据权利要求6或7所述的系统,其中所述刷新子单元顺序控制器的继续访问操作被配置成:
保持对该存储体行所在的存储体的访问操作,不对该存储体行刷新。
9.根据权利要求8所述的系统,其中所述刷新子单元顺序控制器被进一步配置成:
对该一个存储体组的其它存储体上的存储体行进行刷新。
10.根据权利要求6或7所述的系统,其中所述刷新子单元顺序控制器被配置成:如果判断不存在对该存储体行的刷新操作和对该存储体行所在的存储体的访问操作之间的冲突,则刷新该存储体行。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910225879.9A CN102081964B (zh) | 2009-11-30 | 2009-11-30 | 动态随机访问存储器刷新的方法和系统 |
US12/955,112 US8606991B2 (en) | 2009-11-30 | 2010-11-29 | Method and system for refreshing dynamic random access memory |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910225879.9A CN102081964B (zh) | 2009-11-30 | 2009-11-30 | 动态随机访问存储器刷新的方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102081964A CN102081964A (zh) | 2011-06-01 |
CN102081964B true CN102081964B (zh) | 2014-12-10 |
Family
ID=44069709
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200910225879.9A Expired - Fee Related CN102081964B (zh) | 2009-11-30 | 2009-11-30 | 动态随机访问存储器刷新的方法和系统 |
Country Status (2)
Country | Link |
---|---|
US (1) | US8606991B2 (zh) |
CN (1) | CN102081964B (zh) |
Families Citing this family (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102436429A (zh) * | 2011-11-14 | 2012-05-02 | 盛科网络(苏州)有限公司 | Dram存储器及提升dram数据访问带宽的方法 |
CN102567243B (zh) * | 2011-12-12 | 2015-03-25 | 华为技术有限公司 | 存储设备的刷新处理方法和存储设备 |
CN103377154B (zh) * | 2012-04-25 | 2016-04-13 | 无锡江南计算技术研究所 | 存储器的访存控制装置及方法、处理器及北桥芯片 |
JP5928585B2 (ja) * | 2012-06-07 | 2016-06-01 | 富士通株式会社 | 選択的にメモリのリフレッシュを行う制御装置 |
US9236110B2 (en) | 2012-06-30 | 2016-01-12 | Intel Corporation | Row hammer refresh command |
KR101974108B1 (ko) | 2012-07-30 | 2019-08-23 | 삼성전자주식회사 | 리프레쉬 어드레스 생성기, 이를 포함하는 휘발성 메모리 장치 및 휘발성 메모리 장치의 리프레쉬 방법 |
US9122741B1 (en) * | 2012-08-08 | 2015-09-01 | Amazon Technologies, Inc. | Systems and methods for reducing database index contention and generating unique database identifiers |
US9384821B2 (en) | 2012-11-30 | 2016-07-05 | Intel Corporation | Row hammer monitoring based on stored row hammer threshold value |
US9032141B2 (en) * | 2012-11-30 | 2015-05-12 | Intel Corporation | Row hammer monitoring based on stored row hammer threshold value |
CN103019974B (zh) * | 2012-12-18 | 2016-08-03 | 北京华为数字技术有限公司 | 存储器访问处理方法及控制器 |
KR102089665B1 (ko) | 2012-12-28 | 2020-04-14 | 삼성전자주식회사 | 메모리 모듈 및 메모리 시스템 |
US9824741B2 (en) * | 2013-03-14 | 2017-11-21 | Panasonic Intellectual Property Managment Co., Ltd. | Refresh control device, wireless receiver, and semiconductor integrated circuit |
US9524769B2 (en) | 2015-04-17 | 2016-12-20 | Samsung Electronics Co., Ltd. | Smart in-module refresh for DRAM |
US9761296B2 (en) | 2015-04-17 | 2017-09-12 | Samsung Electronics Co., Ltd. | Smart in-module refresh for DRAM |
EP3279899B1 (en) | 2015-05-04 | 2020-10-07 | Huawei Technologies Co. Ltd. | Dram refreshing method, apparatus and system |
CN106326145A (zh) * | 2015-06-26 | 2017-01-11 | 深圳市中兴微电子技术有限公司 | 一种存储器的控制方法和装置 |
US9690364B2 (en) * | 2015-09-04 | 2017-06-27 | Qualcomm Incorporated | Systems and methods for dynamically adjusting memory state transition timers |
US9953694B2 (en) * | 2016-06-06 | 2018-04-24 | Intel Corporation | Memory controller-controlled refresh abort |
US10528099B2 (en) * | 2016-10-10 | 2020-01-07 | Micron Technology, Inc. | Configuration update for a memory device based on a temperature of the memory device |
US10394719B2 (en) * | 2017-01-25 | 2019-08-27 | Samsung Electronics Co., Ltd. | Refresh aware replacement policy for volatile memory cache |
CN108446241B (zh) * | 2017-02-16 | 2020-12-08 | 华为技术有限公司 | 内存访问方法及装置 |
CN107015628B (zh) * | 2017-03-30 | 2020-08-28 | 中国科学院计算技术研究所 | 一种面向近似应用的低开销dram刷新方法及系统 |
GB2560968B (en) * | 2017-03-30 | 2020-07-29 | Advanced Risc Mach Ltd | Control of refresh operation for memory regions |
US10236035B1 (en) * | 2017-12-04 | 2019-03-19 | Nanya Technology Corporation | DRAM memory device adjustable refresh rate method to alleviate effects of row hammer events |
US10503670B2 (en) * | 2017-12-21 | 2019-12-10 | Advanced Micro Devices, Inc. | Dynamic per-bank and all-bank refresh |
CN110162385B (zh) * | 2018-02-14 | 2023-07-04 | 微软技术许可有限责任公司 | 可动态刷新内存对象的处理框架 |
US12001697B2 (en) | 2020-11-04 | 2024-06-04 | Rambus Inc. | Multi-modal refresh of dynamic, random-access memory |
TWI740773B (zh) * | 2021-01-27 | 2021-09-21 | 華邦電子股份有限公司 | 半導體記憶裝置 |
CN114388025B (zh) * | 2021-12-30 | 2022-09-13 | 中科声龙科技发展(北京)有限公司 | 动态随机存储器刷新电路和刷新方法、工作量证明芯片 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1471710A (zh) * | 2000-08-17 | 2004-01-28 | 用于在动态随机存取存储器中隐藏刷新的方法和系统 | |
CN1524270A (zh) * | 2001-03-30 | 2004-08-25 | 国际商业机器公司 | Dram及dram的刷新方法 |
CN1822224A (zh) * | 2004-10-25 | 2006-08-23 | 三星电子株式会社 | 能利用缓冲器刷新数据的存储器装置及其刷新方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6795364B1 (en) * | 2003-02-28 | 2004-09-21 | Monolithic System Technology, Inc. | Method and apparatus for lengthening the data-retention time of a DRAM device in standby mode |
US6954387B2 (en) | 2003-07-15 | 2005-10-11 | International Business Machines Corporation | Dynamic random access memory with smart refresh scheduler |
JP5151106B2 (ja) * | 2006-09-27 | 2013-02-27 | 富士通セミコンダクター株式会社 | 半導体メモリおよびシステム |
-
2009
- 2009-11-30 CN CN200910225879.9A patent/CN102081964B/zh not_active Expired - Fee Related
-
2010
- 2010-11-29 US US12/955,112 patent/US8606991B2/en not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1471710A (zh) * | 2000-08-17 | 2004-01-28 | 用于在动态随机存取存储器中隐藏刷新的方法和系统 | |
CN1524270A (zh) * | 2001-03-30 | 2004-08-25 | 国际商业机器公司 | Dram及dram的刷新方法 |
CN1822224A (zh) * | 2004-10-25 | 2006-08-23 | 三星电子株式会社 | 能利用缓冲器刷新数据的存储器装置及其刷新方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102081964A (zh) | 2011-06-01 |
US8606991B2 (en) | 2013-12-10 |
US20110131371A1 (en) | 2011-06-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102081964B (zh) | 动态随机访问存储器刷新的方法和系统 | |
CN105027211B (zh) | 自适应粒度行缓冲器高速缓存 | |
US8819359B2 (en) | Hybrid interleaving in memory modules by interleaving physical addresses for a page across ranks in a memory module | |
US8380916B2 (en) | Control of page access in memory | |
KR20080053527A (ko) | 기억 영역 할당 시스템 및 방법과 제어 장치 | |
Li et al. | A performance & power comparison of modern high-speed dram architectures | |
US20150046642A1 (en) | Memory command scheduler and memory command scheduling method | |
US8244972B2 (en) | Optimizing EDRAM refresh rates in a high performance cache architecture | |
CN103136120B (zh) | 行缓冲管理策略确定方法和装置、bank划分方法和装置 | |
US20050169092A1 (en) | Network packet buffer allocation optimization in memory bank systems | |
CN112602066A (zh) | 正向高速缓存存储器系统和方法 | |
US11281589B2 (en) | Asynchronous forward caching memory systems and methods | |
US10223269B2 (en) | Method and apparatus for preventing bank conflict in memory | |
US20150052327A1 (en) | Dynamic memory relocation | |
KR20180128711A (ko) | 리프레시 대상 로우 선정 회로 | |
US8205138B2 (en) | Memory controller for reducing time to initialize main memory | |
CN104216684A (zh) | 一种多核并行系统及其数据处理方法 | |
KR102588408B1 (ko) | 적응형 메모리 트랜잭션 스케줄링 | |
US20200073594A1 (en) | Forward caching application programming interface systems and methods | |
JP5527340B2 (ja) | ベクトル処理装置およびベクトル処理方法 | |
US7787311B2 (en) | Memory with programmable address strides for accessing and precharging during the same access cycle | |
CN104461956A (zh) | 访问同步动态随机访问存储器的方法、装置及系统 | |
CN105095105A (zh) | 一种Cache分区的方法及装置 | |
US20160140034A1 (en) | Devices and methods for linked list array hardware implementation | |
US20070121398A1 (en) | Memory controller capable of handling precharge-to-precharge restrictions |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20141210 Termination date: 20201130 |
|
CF01 | Termination of patent right due to non-payment of annual fee |