一种提高ram读写效率的方法

文档序号:6760395阅读:340来源:国知局
专利名称:一种提高ram读写效率的方法
技术领域
本发明涉及通讯技术领域,尤其涉及一种提高RAM读写效率的方法。
背景技术
在对DDR_RAM(双倍数据读写RAM)进行操作时,受其条件限制,对同一bank(单元)的操作必须等待若干时间。以RLDRAM II(简化等待时间的DDR_RAM)为例,对于RLDRAM器件来说,其相关操作条件如下表所示。

从上表可以看出,即使是在200M时钟下,最少要等4个循环才能对同一个bark进行第二次操作。这样,对于某些字节的包长在按地址片外读/写操作时带来一定的困难。例如,对于RLDRAM器件,一个地址有8个bank。如果每一个包长都占用(8×N+1)个bank,则包与包之间就会消耗3个循环等待时间的bank浪费。如果N=1,读或写的bank利用率就只有9/12,这就会对需要进行大流量存储转发的操作带来较大的影响。上述操作过程还存在读写转换间隙和DDR-RAM刷新引起的bank浪费。
对于上述问题,当前提出了如下解决方案,包括通过提高接口频率来补偿bank损失、或者是对前后报文进行拼包以减少冲突几率、或者是对各个地址的信元所占用的起始bank,即start_bank进行动态分配,等等。所述的通过提高接口频率来补偿带宽损失的方案,虽然提高了接口频率,但tRC值也相应的增大,结果又增加了更多的带宽浪费。
下面以Start_bank动态分配的技术为例,其实现原理是将写操作的每个cell(信元)对应地址的Start_bank进行动态分配,以便避开tRC条件的限制。例如,有若干个包需要进行存储操作,如果第一个包占用的bank为3,第二个包占用的bank为4,第三个包占用的bank为8,则在操作RLDRAM第一个地址时,分配Start_bank为0;操作第二个地址时,分配Start_bank为3;操作第三个地址时,分配的Start_bank为7。这样,就可以在写RAM时,进行连续操作了,具体如下表所示

由上述叙述可知,该方案只能用在对RLDRAM或其它DDR-RAM的写操作上,不适用于读操作。如果写操作到读操作的转换时间相邻很近,则写操作用到的bank对后面读操作也会产生tRC的影响,进而影响读操作的性能。因此,如果要规避该问题,还需要在写操作选bank时判断所选bank是否与相邻的读操作bank冲突。即使解决了该问题,在读操作本身,如果读操作是按调度器进行QOS调度,也还是会存在bank冲突的可能。
上述Start_bank动态分配的方案的缺点在于(1)只适合写操作,不能解决读操作本身的tRC冲突;
在对DDRRAM进行读操作时,由于地址和Start_bank固定,无法动态分配,因而必然影响读操作效率。如果在缓存管理时采用指针回收的方案,则当Buffer满时,也同样会影响到写操作上。
(2)增加了额外存储空间;由于在写操作时,对每个地址都分配了一个start_bank,因此在管理地址指针时,也同样需要把start_bank的信息进行存储,这就增加了额外的空间来存储该信息。
因此现有技术都无法从根本上解决或规避tRC造成的带宽浪费。

发明内容
本发明的目的在于提供一种有效提高RAM读写效率的方法。
本发明的目的是通过以下技术方案实现的一种提高RAM读写效率的方法,在读/写操作时,同时操作相邻多个信元,同时依次搜索需执行读/写操作的多个队列,对第一个搜索到的与之前读/写操作不冲突的可使用单元进行相应的读/写操作。
所述方法进一步包括A、提供多个队列,按顺序存储各信元的地址和使用单元个数的信息;B、在每一时钟对各个队列中可以使用的RAM的单元依次进行搜索,直到搜索到第一个可用单元或搜索完本队列的全部单元停止;C、按照队列的顺序从所述该时钟搜索到的所有可用单元中搜索第一个与之前读/写操作不冲突的可用单元执行读/写操作。
所述步骤B中搜索过程进一步包括判断读、写操作之间的相互影响、和/或读、写操作本身对后续读、写操作的影响。
所述方法还包括
当一个队列中的所有单元都被用完,则将与所述队列相邻的后面队列中装载的信息前推,装载到当前被用完的队列中。
所述队列更新操作在非工作时隙进行。
当读/写操作中的流量对应的所有信元长度都小于操作时间间隔tRC要求的值,则结合拼包方法共同执行读/写操作。
所述方法适用于对带单元的RAM执行读/写操作。
由上述本发明提供的技术方案可以看出,本发明有效规避了RAM读写操作中的bank冲突问题,提高了外部存储器读写效率,同时不增加额外的存储空间。


图1为本发明所述方法原理图。
具体实施例方式
本发明的核心思想是提供了一种有效规避RAM读写操作中bank冲突的方法,通过同时操作相邻多个cell,按顺序搜索需执行读/写操作的队列,对第一个搜索到的可使用的bank进行相应的读/写操作,有效提高了外部存储器的读/写效率。
本发明提供一种提高RAM读写效率的方法,本发明通过提供若干个queue(队列),按顺序存储各cell的地址和使用bank个数的信息,然后在每一个时钟对各个queue里能使用的RAM的bank依次进行搜索,找到第一个与之前读/写操作不冲突的可用bank后取出使用。当某个queue里的所有操作bank都被用完,则可将后面queue里的信息前推进行更新。
下面以对DDR-RAM的读操作为例,其SLOT(读/写操作时间段)周期为8,即连续8拍的读操作,RLDRAMII操作频率为300M,tRC=6;假设该操作提供的queue为3个,分别表示为q0、q1、q2;前一轮写操作对本轮读操作的影响为前2拍,其中第一拍影响到的bankbank0、bank1,第二拍影响到的bankbank1;当前有4个Cell需要进行读操作,各Cell所用bank数信息如下表所示

其操作原理参照图1,具体操作流程包括如下步骤开始有3个cell的信息被依次装入3个queuecell0对应q0、cell1对应q1、cell2对应q2,对所述3个cell执行读操作;首先所述的3个queue同时依次进行搜索,每个queue当搜索到与之前读/写操作不冲突的可用的bank后停止搜索,然后按照从q0到q2的顺序从所述搜索到的可用的bank中选择最先与之前读/写操作不冲突的可用的bank进行读操作;在读操作的第一拍,以T0表示,由于写操作在第一拍影响到bank0和bank1,因此T0时刻读操作选出的第一与之前读/写操作不冲突的可用的bank为q0的bank2,即读出q0中bank2中的cell0的相应信息;如果考虑电路实现方面逻辑量较大,可以不考虑读写操作之间的相互影响,则对于queue的空判断及Cell信息的推进只要考虑q0即可,不需要考虑其它queue;T1时刻,即读操作的第二拍,由于写操作影响到的为bank1,而q0的bank0不被限制,因此在按照上述方式进行搜索过程中,q0的bank0作为第一个被找到的与之前读/写操作不冲突的可用bank,被选出使用,即读出q0中bank0中的cell0对应信息;T2时刻,即读操作的第三拍,此时写操作对读操作已无影响,在按照上述方式进行搜索过程中,读操作选出的bank为q0的bank1。
此时,q0对应的cell中所有有效bank已被读出,将后面queue信息依次前推,即将原q1中装载的cell1信息装载到q0中,q1中装载cell2的信息,q2中装载cell3的信息;对于queue的更新可以不实时进行,而是在非工作时隙进行,比如对读操作queue的更新在写操作时隙进行,对写操作queue的更新在读操作时隙进行;T3时刻,由于前面读操作所选用bank的影响,且tRC=6,cell1占用4个bank,因此在按照上述方式进行搜索过程中,选出的bank为q0的bank3,读取cell1的对应信息;T4时刻,由于前面读操作的影响,q0已无可用bank,此时按所述搜索顺序,选出q1的bank4,读取其中cell2的对应信息;在T5时刻,由于tRC=6,q0和q1都无可用bank,此时选出q2的bank5,读取cell3的对应信息;在T6时刻,由于对T0时刻的tRC限制已过,此时选出q0的bank2,读取cell1对应的信息;在T7时刻,由于对T1时刻的tRC限制已过,此时选出q0的bank0,读取cell1对应的信息,此时读操作周期结束。
对于上述整个操作过程,用表格表示如下

上述操作中,如果流量对应的cell长度都比较短,如小于tRC要求的值,则此时需要结合拼包方案共同操作以提高性能。
写操作的操作原理同上,将相应的读取信息的操作改为相应的写信息的操作,本方法同样适用于其他带bank的RAM的操作。
综上所述,本发明有效规避了RAM读写操作中的bank冲突问题,提高了外部存储器读写效率。
以上所述,仅为本发明较佳的具体实施方式
,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
权利要求
1.一种提高RAM读写效率的方法,其特征在于,在读/写操作时,同时操作相邻多个信元,同时依次搜索需执行读/写操作的多个队列,对第一个搜索到的与之前读/写操作不冲突的可使用单元进行相应的读/写操作。
2.如权利要求1所述的一种提高RAM读写效率的方法,其特征在于,所述方法进一步包括A、提供多个队列,按顺序存储各信元的地址和使用单元个数的信息;B、在每一时钟对各个队列中可以使用的RAM的单元依次进行搜索,直到搜索到第一个可用单元或搜索完本队列的全部单元停止;C、按照队列的顺序从所述该时钟搜索到的所有可用单元中搜索第一个与之前读/写操作不冲突的可用单元执行读/写操作。
3.如权利要求2所述的一种提高RAM读写效率的方法,其特征在于,所述步骤B中搜索过程进一步包括判断读、写操作之间的相互影响、和/或读、写操作本身对后续读、写操作的影响。
4.如权利要求1或2所述的一种提高RAM读写效率的方法,其特征在于,所述方法还包括当一个队列中的所有单元都被用完,则将与所述队列相邻的后面队列中装载的信息前推,装载到当前被用完的队列中。
5.如权利要求4所述的一种提高RAM读写效率的方法,其特征在于,所述队列更新操作在非工作时隙进行。
6.如权利要求1所述的一种提高RAM读写效率的方法,其特征在于,当读/写操作中的流量对应的所有信元长度都小于操作时间间隔tRC要求的值,则结合拼包方法共同执行读/写操作。
7.如权利要求1所述的一种提高RAM读写效率的方法,其特征在于,所述方法适用于对带单元的RAM执行读/写操作。
全文摘要
本发明涉及通讯技术领域中一种提高RAM读写效率的方法,所述方法包括首先,提供多个队列,按顺序存储各信元的地址和使用bank个数的信息;在每一时钟对各个队列中可以使用的RAM的bank依次进行搜索,直到搜索到第一个可用单元或搜索完本队列的全部单元停止;按照队列的顺序从所述该时钟搜索到的所有可用单元中搜索第一个与之前读/写操作不冲突的可用bank执行读/写操作。本发明有效规避了DDR-RAM读写操作中的bank冲突问题,提高了外部存储器读写效率,同时不增加额外的存储空间。
文档编号G11C7/10GK1983439SQ20061008130
公开日2007年6月20日 申请日期2006年5月16日 优先权日2006年5月16日
发明者林涛, 林郁, 杜文华, 崔靖杰, 施雪峰, 付红松 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1