本发明专利技术提供一种DDRx SDRAM存储器刷新方法,包括:(a)若命令状态机处于忙碌状态时收到刷新请求,且N<M,则命令状态机拒绝刷新请求且拉高第一标志位,并且N加1,其中N为第一计数器的值,M为[4,8]内的任一整数;(b)若N=M,则拉高第二标志位,第一计数器向命令状态机发送紧急刷新请求;命令状态机响应刷新请求,并向DDRx SDRAM存储器连续发送M个刷新命令。本发明专利技术还提供一种DDRx SDRAM存储器控制器。本发明专利技术取消了每7.8us必须发送一次刷新命令的常规固定做法;从而保证在SDRAM耐受范围内,正常数据读写操作的命令优先级高于刷新命令的发送,在最大限度内缓解了刷新命令对正常读写命令效率的破坏。
【技术实现步骤摘要】
本专利技术涉及一种刷新的方法及控制器,尤其涉及一种DDRxSDRAM存储器刷新方法及存储器控制器。本专利技术中,以DDRx来总称每一代DDRSDRAM,包括DDRSDRAM、DDR2SDRAM、DDR3SDRAM和DDR4SDRAM。
技术介绍
目前,SDRAM存储体中电容的数据有效保存期上限是64ms,也就是说每一行刷新的循环周期是64ms。平均下来刷新率是行数量除以64ms;也就是说,对于一个8192行的存储体,刷新命令发送间隔时就为7.8125μs。当前一个普遍的设计是,SDRAM存储器控制器计时每达到一个7.8us,就发送一个刷新命令,这样的设计可以保证SDRAM保存的数据不至于丢失。存储体是SDRAM芯片数据组织方式,单个芯片体(DIE)的第一级数据管理单位,可以理解为一个SDRAM芯片体由4或者8个存储体构成,他们共享地址总线,每一时刻只能操作单个存储体。由于SDRAM的存储单元为电容,电容会漏电,每隔一段时间每个电容必须刷新一次,保持电容内电荷数可识别,才能保证数据不丢失。自动刷新(AutoRefresh)是DDR的刷新方式之一,指SDRAM将刷新操作的权限交给内存存储器控制器芯片,此种刷新模式为本专利讨论对象;另一种方式称为自刷新,指SDRAM自行进行刷新操作,无需内存存储器控制器芯片介入,此种刷新模式不在本专利讨论范围内。刷新命令发送之前需要关闭(Precharge)所有存储体,发送之后又需要等待一定的刷新指令间隔时间之后,才能打开存储体进行正常读写操作,在颗粒容量越大时,该操作所占用的时间越长,比如一个8Gb的MicronDDR3SDRAM颗粒,该操作所占用的时间长达360ns。当存储器控制器正在密集访问内存时,则每发送一次刷新命令会导致读写操作被打断,以一个500MHz主频的芯片为例,该刷新命令的发送会占用180个DDR数据的读写时间,大大的浪费了有效带宽。
技术实现思路
本专利技术要解决的问题是针对现有技术中存储器控制器正常命令发送过程中被周期性刷新命令打断,而降低有效带宽并造成系统内部拥塞的问题,提供一种DDRxSDRAM存储器刷新方法。为解决上述技术问题,本专利技术采用的技术方案是:一种DDRxSDRAM存储器刷新方法,其特征在于:所述DDRxSDRAM存储器刷新方法包括:(a)若命令状态机处于忙碌状态时收到刷新请求,且N<M,则命令状态机拒绝刷新请求且拉高第一标志位,并且N加1,其中N为第一计数器的值,M为[4,8]内的任一整数;(b)若N=M,则进行如下步骤:(b1)拉高第二标志位,第一计数器向命令状态机发送紧急刷新请求;(b2)命令状态机响应刷新请求,并向DDRxSDRAM存储器连续发送M个刷新命令;(b3)命令状态机拉低第一标志位和第二标志位,并且命令状态机对第一计数器进行清零,且命令状态机回到响应紧急刷新请求之前的状态。本专利技术中,取消了每7.8us必须发送一次刷新命令的常规固定做法,在总线主设备进行密集内存访问时,暂缓发送刷新命令,该命令将延缓至存储器控制器空闲时再行补充发送,前提是在SDRAM对该命令暂缺的耐受时间之内执行上述操作。由于最多可延迟8个刷新命令,因此,可将M设置为[4,8]内的任一整数,若第一计数器的值N未超过M值,表明仍可将刷新命令延缓发送。如果N=M,则表明第一计数器的值N等于所设定的M值,因此命令状态机应对已延缓的刷新命令集中发送,即由命令状态机响应刷新请求,并向DDRxSDRAM存储器连续发送M个刷新命令。确保不会由于对刷新命令进行延缓而造成数据损坏。本专利技术通过设置正常数据读写操作的命令优先级高于刷新命令的发送,在最大限度内缓解了刷新命令对正常读写命令效率的破坏,最大程度上减少刷新指令对系统有效带宽的影响,最终实现系统内存访问效率的最大化。本专利技术提出的一种DDRxSDRAM存储器刷新方法还包括:(c)若命令状态机处于空闲状态时且第一标志位为高,则进行如下步骤:(c1)第一计数器向命令状态机发送刷新请求;(c2)命令状态机响应刷新请求,并向DDRxSDRAM存储器连续发送N个刷新命令;(c3)命令状态机拉低第一标志位,并且命令状态机对第一计数器进行清零;(c4)命令状态机完成刷新命令的发送后,命令状态机回到空闲状态。第一标志位为高表明命令状态机之前处于忙碌状态时产生了刷新请求且此刷新请求被拒绝,例如命令状态机之前在进行读写操作。若命令状态机从忙碌状态回到空闲状态,则可以处理刚被延缓的刷新请求,因此,命令状态机响应刷新请求,并向DDRxSDRAM存储器连续发送N个刷新命令。由此提高了命令状态机的处理效率,使得可以高效利用时间。本专利技术提出的一种DDRxSDRAM存储器刷新方法还包括:(d)若命令状态机处于空闲状态时收到刷新请求,则命令状态机响应刷新请求,并向DDRxSDRAM存储器发送刷新命令,命令状态机完成刷新命令的发送后,回到空闲状态。本专利技术提出的一种DDRxSDRAM存储器刷新方法还包括:(e)若命令状态机处于空闲状态时收到刷新请求,则命令状态机拒绝刷新请求且拉高第一标志位,并且N加1。上述技术方案中,还包括:(f)若命令状态机在空闲状态时收到来自总线主设备的读命令或写命令,且此时未收到刷新请求且第二标志位为低,则命令状态机进入忙碌状态;(g)若命令状态机在忙碌状态时,若完成总线主设备的读命令或写命令,则命令状态机返回空闲状态。上述技术方案中,所述的步骤(a)中,M为8。本专利技术还提供一种实现上述DDRxSDRAM存储器刷新方法的存储器控制器,所述存储器控制器内设置有命令状态机、刷新计时器、第一计数器,所述刷新计时器、第一计数器均与命令状态机连接,所述刷新计时器用于向命令状态机发送刷新请求;所述第一计数器用于向命令状态机发送紧急刷新请求;所述命令状态机用于向DDRxSDRAM存储器发送刷新命令、响应来自于刷新计时器的刷新请求、响应来自于第一计数器的刷新请求和紧急刷新请求;所述命令状态机具有空闲状态、繁忙状态。。本专利技术具有的优点和积极效果是:本专利技术取消了每7.8us必须发送一次刷新命令的常规固定做法;从而保证在SDRAM耐受范围内,正常数据读写操作的命令优先级高于刷新命令的发送,在最大限度内缓解了刷新命令对正常读写命令效率的破坏。本专利技术最大程度上减少刷新指令对系统有效带宽的影响,最终实现系统内存访问效率的最大化。附图说明图1是本专利技术的系统框图;图2是本专利技术的命令状态机工作原理示意图,图中,S1表示紧急刷新请求或第一标志位拉高,S2表示刷新多次完成,S3表示紧急刷新请求,S4表示刷新多次完成,S5表示刷新请求,S6表示刷新单次完成,S7表示总线主设备请求,S8表示总线主设备请求完成;图3(a)是本专利技术的图2中跳转线S1和S2状态转换的示意图;图3(b)是本专利技术的刷新命令发送时序要求的示意图;图3(c)是本专利技术的刷新命令密集发送的示意图,图中线条个数仅起到示意作用;图4(a)是本专利技术的紧急刷新请求形成的示意图;图4(b)是本专利技术的紧急刷新响应,对应图2中状态跳转线S3和S4的示意图;图5是本专利技术的在空闲状态中对刷新请求的响应时序,对应图2中跳转线S5和S6的示意图;图6是本专利技术的在忙碌状态中对刷新请求的暂时搁置时序的示意图。上述附图中,1、存储器控制器本文档来自技高网...
【技术保护点】
一种DDRx SDRAM存储器刷新方法,其特征在于:所述DDRx SDRAM存储器刷新方法包括:(a)若命令状态机(11)处于忙碌状态时收到刷新请求,且N<M,则命令状态机(11)拒绝刷新请求且拉高第一标志位(14),并且N加1,其中N为第一计数器(13)的值,M为[4,8]内的任一整数;(b)若N=M,则进行如下步骤:(b1)拉高第二标志位(15),第一计数器(13)向命令状态机(11)发送紧急刷新请求;(b2)命令状态机(11)响应紧急刷新请求,并向DDRx SDRAM存储器(3)连续发送M个刷新命令;(b3)命令状态机(11)拉低第一标志位(14)和第二标志位(15),并且命令状态机(11)对第一计数器(13)进行清零,且命令状态机(11)回到响应紧急刷新请求之前的状态。
【技术特征摘要】
1.一种DDRxSDRAM存储器刷新方法,其特征在于:所述DDRxSDRAM存储器刷新方法包括:(a)若命令状态机(11)处于忙碌状态时收到刷新请求,且N<M,则命令状态机(11)拒绝刷新请求且拉高第一标志位(14),并且N加1,其中N为第一计数器(13)的值,M为[4,8]内的任一整数;(b)若N=M,则进行如下步骤:(b1)拉高第二标志位(15),第一计数器(13)向命令状态机(11)发送紧急刷新请求;(b2)命令状态机(11)响应紧急刷新请求,并向DDRxSDRAM存储器(3)连续发送M个刷新命令;(b3)命令状态机(11)拉低第一标志位(14)和第二标志位(15),并且命令状态机(11)对第一计数器(13)进行清零,且命令状态机(11)回到响应紧急刷新请求之前的状态。2.根据权利要求1所述的DDRxSDRAM存储器刷新方法,其特征在于:还包括:(c)若命令状态机(11)处于空闲状态时且第一标志位(14)为高,则进行如下步骤:(c1)第一计数器(13)向命令状态机(11)发送刷新请求;(c2)命令状态机(11)响应刷新请求,并向DDRxSDRAM存储器(3)连续发送N个刷新命令;(c3)命令状态机(11)拉低第一标志位(14),并且命令状态机(11)对第一计数器(13)进行清零;(c4)命令状态机(11)完成刷新命令的发送后,命令状态机(11)回到空闲状态。3.根据权利要求1所述的DDRxSDRAM存储器刷新方法,其特征在于:还包括:(d)若命令状态机(11)处于空闲状态时收到刷新请求,则命令状态机(11)响应刷新请求,并向DDR...
【专利技术属性】
技术研发人员:熊明霞,杨万云,周士兵,彭鹏,马翼,田达海,
申请(专利权)人:湖南国科微电子股份有限公司,
类型:发明
国别省市:湖南;43
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。