一种随机存储器的访问方法及装置的制作方法

文档序号:6775657阅读:174来源:国知局
专利名称:一种随机存储器的访问方法及装置的制作方法
技术领域
本发明涉及随机存储器,尤其涉及一种随机存储器的访问方法及装置。
背景技术
随机存储器是容量数据处理电路的重要组成部分,随着数据处理技术的发展,对于随机存储器的容量和性能提出了越来越高的要求。以同步动态随机存储器(SDRAM)为例,SDRAM容量大、读写速度快、支持突发式读写及价格相对低廉,因而得到了广泛的应用。尤其现在的移动手持设备,如手机、MP4等,更加依赖SDRAM,但对SDRAM的带宽和访问时间要求也较高。
对于SDRAM等随机存储器的一次访问,如读数据或写数据,一般包括三个步骤行激活(Active Row)、读/写数据以及预充电(precharge)。其中,预充电也可以理解为行关闭(Deactive Row)。这三个步骤中,除了中间的读/写数据是真正的数据传输时间外,头尾的两个步骤都可以理解为冗余过程,但是这两个步骤又不能省略,因为每个SDRAM等随机存储器都规定了最小的行激活和预充电时间,如果不能满足,则随机存储器将不能正常工作。只有在连续读写访问是针对同一行时,中间的预充电和行激活才可以省略。以连续两次读写为例,两次读写不是对同一行时,读写过程为行激活1→读写数据1→预充电1→行激活2→读写数据2→预充电2;两次读写是同一行时,读写过程为行激活1→读写数据1→读写数据2→预充电2。可见,充分利于这一特点,节约读写过程中的步骤,可以提高访问速度。
但如何能更好的利于这一特点呢,即如何知道下一次的访问是否是同一行呢?现有技术中有一种方法为在一次访问结束时不管下一次访问是否是同一行,都不进行预充电操作,等到下一个访问开始时再判断是否是对上次访问的行进行访问。如果是同一行,则直接进行数据读写;如果不是同一行,则先进行预充电操作,将上次没有关闭的行关掉,然后再重新进行行激活等步骤。
但现有访问方法中每次都需要等到下次访问到来时才做判断,如果不是同一行的话重新做预充电,反而加大了访问所需的延迟。另外,行没有关闭时的功耗相对也较高。
为此,现有另一种访问方法为采用访问队列,将对随机存储器的访问进行缓存,这样在一次访问结束时,就可以知道下一次访问的是否是同一个行,而直接决定需不需要预充电来关闭行。但该方法中控制电路较复杂,且需要增加对列缓冲单元等,对于手机、MP4等设备,由于芯片面积、功耗以及成本等原因,不适宜设计较为复杂的控制电路。而且第二种方法中,当一个访问结束时如果队列中没有其它等待的访问,也无法做出是否关闭行的判断。
可见,现有技术中,无法很好的解决访问效率的问题,使访问效率相对较低。

发明内容
有鉴于此,本发明一方面提供一种随机存储器的访问方法,一方面提供一种随机存储器的访问装置,能够提高访问效率。
本发明所提供的随机存储器的访问方法,包括预先设置次数值N,记录对随机存储器访问的地址,根据所记录的地址,判断本次和前N次的访问是否为同一行,如果是,则确定下次访问为同一行,本次访问结束后不进行预充电操作,并结束;否则,确定下次访问为不同行,本次访问结束后对随机存储器进行预充电操作。
其中,在所述对随机存储器的访问为初始访问时,该方法之前进一步包括记录对初始访问的随机存储器访问的地址,并在本次访问结束后对初始访问的随机存储器进行预充电操作。
其中,所述预设的次数值N为等于1或大于1的整数。
其中,在确定下次访问为同一行时,若实际接收到的下次访问为不同行,该方法进一步包括对所述随机存储器进行预充电、行激活及读/写操作;若实际接收到的下次访问为同一行,该方法进一步包括对所述随机存储器直接进行读/写操作。
其中,所述对随机存储器进行预充电为向随机存储器发送进行预充电的控制命令。
其中,该方法进一步包括在确定本次访问结束后不进行预充电操作时,向所述随机存储器发送不进行预充电的控制命令。
本发明所提供的随机存储器的访问装置,包括访问决策单元和访问控制单元,其中,访问决策单元,用于存储预先设置的次数值N,并记录对随机存储器访问的地址,根据所记录的地址,比较本次和前N次对随机存储器的访问是否为同一行,如果是,则确定下次访问为同一行,本次访问结束后不进行预充电操作,并结束;否则,确定下次访问为不同行,本次访问结束后向访问控制单元发送进行预充电的通知;访问控制单元,用于接收来自访问决策单元的进行预充电的通知,根据所接收的通知,控制随机存储器进行预充电。
其中,所述访问决策单元包括访问记录模块和访问预测模块,其中,访问记录模块,用于存储预先设置的次数值N,并记录对随机存储器访问的地址,提供给访问预测模块;访问预测模块,用于根据来自访问记录模块的本次和前N次访问的地址,判断本次和前N次的访问是否为同一行,如果是,则确定下次访问为同一行,本次访问结束后不进行预充电操作;否则,确定下次访问为不同行,本次访问结束后向访问控制单元发送进行预充电的通知。
其中,所述访问控制单元包括主控制模块和信号生成模块,其中,主控制模块,用于接收来自访问决策单元的进行预充电的通知,根据该通知,向信号生成模块发送生成预充电控制命令的指令;信号生成模块,用于接收来自主控制模块的所述指令,根据该指令生成进行预充电的控制命令发送给随机存储器。
其中,该装置可设置在随机存储器的控制器中,且所述装置中的主控制模块可设置在随机存储器控制器中的控制器单元中,所述装置中的信号生成模块可设置在随机存储器控制器中的控制信号生成器单元中。
从上述方案可以看出,本发明中记录本次和前一次对随机存储器访问的地址,判断本次和前一次的访问是否为同一行,如果是,则确定本次访问结束后不进行预充电操作;否则,确定本次访问结束后进行预充电操作,控制随机存储器进行预充电。可见,本发明中基于的是概率和预测原理,根据连续两次对同一行访问时,第三次对同一行访问的概率较大;连续两次不对同一行访问时,第三次对同一行访问的概率较小的原则进行预测的,因此实现容易,又因为只包括记录和比较判断等,实现时结构简单。且因为对随机存储器进行访问时的特点满足上述预测原则,因此可以有效提高访问效率。


图1为本发明实施例中随机存储器的访问方法的示例性流程图。
图2为本发明实施例中随机存储器的访问装置结构示意图。
图3为本发明实施例中一个具体应用随机存储器访问装置的实例的结构示意图。
具体实施例方式
本发明的基本思想是记录对随机存储器访问的地址,根据所记录的地址,判断本次和前一次或前几次的访问是否为同一行,如果是,则确定下次访问为同一行,本次访问结束后不进行预充电操作,并结束;否则,确定下次访问为不同行,本次访问结束后对随机存储器进行预充电。
为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施例和附图,对本发明进一步详细说明。
实际应用中,访问随机存储器时,有时是大批量数据的连续访问,如系统进行命令或数据的高速缓存(Cache)操作时,需要将随机存储器中的一段指令或数据读入到系统内部的高速缓存区中,即连续大批量的从随机存储器中读取数据;此外,系统运行程序时,会将堆栈放在随机存储器中,即连续大批量的向随机存储器中写入数据;另外,当两个设备利用同一段随机存储器进行数据交换时,也需要连续大批量的对随机存储器进行读写数据。上述情况中,对随机存储器进行连续访问同一行的概率非常大,因此可以通过连续两次的访问地址为同一行时,预测下一次访问也是对同一行进行操作。
同样,有时访问随机存储器时,也会是间断的访问,如程序运行中,对某个变量的访问等,因此可以通过连续两次的访问地址不为同一行时,预测下一次访问也不是对同一行进行操作。
下面结合实施例对应用上述思想的随机存储器的访问方法进行详细描述。
参见图1,图1为本发明实施例中随机存储器的访问方法的示例性流程图,该流程包括如下步骤步骤101,记录对随机存储器访问的地址。
本步骤中,对每次访问随机存储器的地址进行记录,并可保留本次和前一次,或本次和前几次的地址,或所有地址。保留的地址个数可以预先设置,如预先设置次数值N,则保留本次和前N次的访问地址。其中,N为等于1或大于1的整数。
步骤102,判断本次和前N次的访问是否为同一行,如果是,执行步骤103;否则,执行步骤104。
本步骤中,也可以无论N值为何值,而只判断本次和前一次的访问是否为同一行。
步骤103,确定下次访问为同一行,本次访问结束后不进行预充电操作,并结束本流程。
本步骤中,在确定本次访问结束后不进行预充电操作时,可不向随机存储器发送任何命令,则随机存储器因为接收不到命令,所以不进行预充电操作;或者也可以向随机存储器发送不进行预充电的控制命令,则随机存储器根据该命令不进行预充电操作。
步骤104,确定下次访问为不同行,本次访问结束后对随机存储器进行预充电。
本步骤中,在确定本次访问结束后进行预充电操作时,向随机存储器发送进行预充电的控制命令,则随机存储器根据该命令进行预充电操作。
至此,本流程结束,再访问时,循环执行本流程。
上述流程中,若在步骤103中确定下次访问为同一行,即本次访问结束后没有进行预充电操作时,如果步骤103中的判断错误,即之后的下次实际访问却不是在同一行的话,则需要首先进行预充电,之后再进行行激活、读/写数据等操作,并执行图1所示流程;如果步骤103中的判断正确,即之后的下次实际访问是在同一行的话,则直接进行读/写数据操作,并执行图1所示流程。
在对随机存储器的访问为初始访问时,图1所示流程之前进一步包括记录对初始访问的随机存储器访问的地址,并在本次访问结束后对初始访问的随机存储器进行预充电操作,直到所记录的访问次数能够进行比较判断时,执行图1所示流程。
下面再对基于图1所示方法的随机存储器的装置进行详细描述。
参加图2,图2为本发明实施例中随机存储器的装置结构示意图。如图2所示,该装置包括访问决策单元210和访问控制单元220。
其中,访问决策单元210,用于存储预先设置的次数值N,根据该次数值N记录对随机存储器访问的地址,根据所记录的地址,比较本次和前N次对随机存储器的访问是否为同一行,如果是,则确定下次访问为同一行,本次访问结束后不进行预充电操作,并结束;否则,确定下次访问为不同行,本次访问结束后进行预充电操作,并向访问控制单元220发送进行预充电的通知。
访问控制单元220,用于接收来自访问决策单元210的进行预充电的通知,根据所接收的通知,控制随机存储器进行预充电。
如图2所示,具体实现时,访问决策单元210可具体包括访问记录模块211和访问预测模块212。
其中,访问记录模块211,用于存储预先设置的次数值N,根据该次数值N记录对随机存储器访问的地址,提供给访问预测模块212。
其中,访问记录模块211对每次访问随机存储器的地址进行记录,并可保留本次和前一次,或本次和前几次的地址,或所有地址。保留的地址次数可以预先设置,如预先设置次数值N,则保留本次和前N次的访问地址。其中,N为等于1或大于1的整数。
访问预测模块212,用于根据来自访问记录模块211的本次和前N次访问的地址,判断本次和前N次的访问是否为同一行,如果是,则确定下次访问为同一行,本次访问结束后不进行预充电操作,并结束;否则,确定下次访问为不同行,本次访问结束后进行预充电操作,并向访问控制单元220发送进行预充电的通知。
具体实现时,访问控制单元220可具体包括主控制模块221和信号生成模块222。
其中,主控制模块221,用于接收来自访问决策单元210的进行预充电的通知,根据该通知,向信号生成模块222发送生成预充电控制命令的指令。
信号生成模块222,用于接收来自主控制模块221的所述指令,根据该指令生成进行预充电的控制命令发送给随机存储器。
实际应用中,可将随机存储器的访问装置设置在随机存储器的控制器中,如图3所示,图3为应用上述随机存储器访问装置的随机存储器控制器的结构示意图。图3所示控制器中,将图2所示装置的访问控制单元220的主控制模块221设置在控制器中的控制器单元301中,将信号生成模块222设置在控制器中的控制信号生成器单元302中,将访问决策单元210单独设置为一个独立单元,此外,该控制器还包括随机存储器状态寄存器303以及数据锁存器304。
其中,控制器单元301除了具有主控制模块221的功能外,还用于根据中央处理器的访问及随机存储器状态寄存器303中随机存储器的状态,控制控制信号生成器单元302向随机存储器发送读写所需的控制信号,以及控制数据锁存器304对需要写入和需要读出随机寄存器的数据进行锁存,同时与中央处理器进行控制信息的交互等现有操作,此处不再进行详细描述。
图3所示的随机存储器控制器在具体实现时,中央处理器可以预先在访问决策单元210中配置次数值N,即将需要保留的访问地址的次数N告知访问记录模块211,则访问记录模块211根据该次数值N,记录对随机存储器的访问地址,并保留本次和最近N次的访问地址。当中央处理器又发起一次新的访问时,该随机存储器控制器除了进行原有的控制及数据锁存等操作外,同时其中的访问预测模块212用于根据来自访问记录模块211的本次和前N次访问的地址,判断本次和前N次的访问是否为同一行,如果是,则确定下次的访问为同一行,本次访问结束后不进行预充电操作;否则,确定下次的访问为不同行,本次访问结束后进行预充电操作,并向控制器单元301发送进行预充电的通知;控制器单元301接收来自访问预测模块212的进行预充电的通知,根据所接收的通知,向控制信号生成器单元302发送生成预充电控制命令的指令;控制信号生成器单元302接收来自控制器单元301的生成预充电控制命令的指令,根据所接收的指令,生成进行预充电的控制命令发送给随机存储器。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种随机存储器的访问方法,其特征在于,预先设置次数值N,该方法包括记录对随机存储器访问的地址,根据所记录的地址,判断本次和前N次的访问是否为同一行,如果是,则确定下次访问为同一行,本次访问结束后不进行预充电操作,并结束;否则,确定下次访问为不同行,本次访问结束后对随机存储器进行预充电操作。
2.如权利要求1所述的方法,其特征在于,在所述对随机存储器的访问为初始访问时,该方法之前进一步包括记录对初始访问的随机存储器访问的地址,并在本次访问结束后对初始访问的随机存储器进行预充电操作。
3.如权利要求1所述的方法,其特征在于,所述预设的次数值N为等于1或大于1的整数。
4.如权利要求1所述的方法,其特征在于,在确定下次访问为同一行时,若实际接收到的下次访问为不同行,该方法进一步包括对所述随机存储器进行预充电、行激活及读/写操作;若实际接收到的下次访问为同一行,该方法进一步包括对所述随机存储器直接进行读/写操作。
5.如权利要求1至4中任一项所述的方法,其特征在于,所述对随机存储器进行预充电为向随机存储器发送进行预充电的控制命令。
6.如权利要求5所述的方法,其特征在于,该方法进一步包括在确定本次访问结束后不进行预充电操作时,向所述随机存储器发送不进行预充电的控制命令。
7.一种随机存储器的访问装置,其特征在于,该装置包括访问决策单元和访问控制单元,其中,访问决策单元,用于存储预先设置的次数值N,并记录对随机存储器访问的地址,根据所记录的地址,比较本次和前N次对随机存储器的访问是否为同一行,如果是,则确定下次访问为同一行,本次访问结束后不进行预充电操作,并结束;否则,确定下次访问为不同行,本次访问结束后向访问控制单元发送进行预充电的通知;访问控制单元,用于接收来自访问决策单元的进行预充电的通知,根据所接收的通知,控制随机存储器进行预充电。
8.如权利要求7所述的装置,其特征在于,所述访问决策单元包括访问记录模块和访问预测模块,其中,访问记录模块,用于存储预先设置的次数值N,并记录对随机存储器访问的地址,提供给访问预测模块;访问预测模块,用于根据来自访问记录模块的本次和前N次访问的地址,判断本次和前N次的访问是否为同一行,如果是,则确定下次访问为同一行,本次访问结束后不进行预充电操作;否则,确定下次访问为不同行,本次访问结束后向访问控制单元发送进行预充电的通知。
9.如权利要求7或8所述的装置,其特征在于,所述访问控制单元包括主控制模块和信号生成模块,其中,主控制模块,用于接收来自访问决策单元的进行预充电的通知,根据该通知,向信号生成模块发送生成预充电控制命令的指令;信号生成模块,用于接收来自主控制模块的所述指令,根据该指令生成进行预充电的控制命令发送给随机存储器。
10.如权利要求9所述的装置,其特征在于,该装置设置在随机存储器的控制器中,且所述装置中的主控制模块设置在随机存储器控制器中的控制器单元中,所述装置中的信号生成模块设置在随机存储器控制器中的控制信号生成器单元中。
全文摘要
本发明公开了一种随机存储器的访问方法,包括预先设置次数值N,记录对随机存储器访问的地址,根据所记录的地址,判断本次和前N次的访问是否为同一行,如果是,则确定下次访问为同一行,本次访问结束后不进行预充电操作,并结束;否则,确定下次访问为不同行,本次访问结束后对随机存储器进行预充电操作。此外,本发明还公开了一种随机存储器的访问装置,包括访问决策单元和访问控制单元。本发明所提供的方法及装置实现简单,且可以有效提高访问效率。
文档编号G11C11/407GK1971760SQ20061016219
公开日2007年5月30日 申请日期2006年12月7日 优先权日2006年12月7日
发明者张怡浩 申请人:北京中星微电子有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1