在动态存储器中实现查表控制器的方法技术

技术编号:3084681 阅读:150 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种使用动态存储器的高性能查表控制器的实现方法,该方法为:将所述动态存储器的各页面作为相互独立的非连续的存储空间,并且以页面为单位分配给所述表;结合表的镜像技术,使查表控制器配置/维护及查询所述表的表项时能够轮流访问所述页面,有效的回避了连续访问相同页面的情况出现。本发明专利技术能够避免因连续多次访问同一个页面而引入的开销,提高整体查表速度,并有效的保证了高速查表实时性。

【技术实现步骤摘要】

本专利技术涉及存储器技术,尤其涉及一种。
技术介绍
目前常见的DRAM(如DDR SDRAM、SDR SDRAM、FCRAM、RLDRAM等)通常采用页面式的存储结构,如图1所示。例如DDR/SDR SDRAM是4页面(Bank)结构,页面(Bank)中有分行(Row)结构和列(Column)结构,便于地址复用和内部任务的分解处理,对于无地址复用的可看作一行多列或多行一列。由于复杂的存储结构和内部存取单元的存取特性决定了数据的存取需要相应较为复杂的过程。参阅图2A、2B、2C、2D所示常见DRAM的存取操作过程,一般包括1、选中和打开某一页面(Bank)的某一行(Row),例如DDR/SDR SDRAM采用激活(Active)命令;2、对已激活的行(Row),按列(Column)地址进行读写操作;3、将处于开启状态的页面(Bank)的行(Row)关闭(例如DDR/SDR SDRAM可使用Precharge命令),否则无法对该页面(Bank)的其他行(Row)进行操作,当然也可以使用自动关闭(例如DDR/SDR SDRAM使用AutoPrecharge命令),让存储器自动完成关闭过程,但过程依然存在(下面以Precharge为例描述,AutoPrecharge的自动关闭同理)。对于其它类型的采用页面结构的DRAM类存储器(如FCRAM、RLDRAM等),虽然所使用的命令不尽相同(如RLDRAM-I使用类似SRAM的指令),但在存储器内部类似打开-->存取-->关闭的过程依然存在,下面我们以DDRSDRAM为例描述,其它类型采用页面结构的DRAM类存储器在使用本文所阐述的技术和改进方面同理。常见的页面结构的DRAM的页面访问特性如下1、连续两次访问相同页面(Bank)的最小间隔不得小于同页面访问周期(ACTIVE to ACTIVE/AUTO REFRESH command period=tRC,例如某DDRSDRAM该参数为60纳秒[1纳秒=0.000000001秒],某RLDRAM的该参数为25纳秒);2、连续访问相同页面的不同行时需先关闭已激活行,然后重新激活该页面的相应行,对于有些页面结构的DRAM(如FCRAM、RLDRAM)访问结束自动关闭,所以连续访问相同页面必然经过关闭和重新激活,因此在描述开销时原理相同。3、连续访问不同的页面时,可以采用提前激活的方式将访问不同页面间各自的激活与关闭动作与读写进行重叠抵消,从而规避开销,所以连续的访问不同页面可提高访问的效率,提高可用带宽,但通常的随机访问很难保证只连续访问不同页面。(注上述示意图仅作为原理说明,还需参照相应的DRAM手册提供的参数来进行查表控制器设计)查表应用是一种以索引(此处以RAM地址为索引)查找获得内容(此处为存入RAM的数据内容)的应用。实际的查表应用通常包括表项配置(按索引将表项存入表项存储空间的相应位置)、表项维护(通常为表项的修改,将表项内容更新)、表项查询(或称查找,即按索引读取表项)。通常表项的配置和维护过程相对于表项查询过程是很少的,表项查询则要频繁的多,查表应用是以查找为目的的,所以查找速度是查表应用的主要性能指标。从技术上使用SRAM(静态存储器)做查表操作简单且速度很高,但相对于DRAM(动态存储器),SRAM(静态存储器)成本高,容量小,因此采用DRAM的查表被广泛的使用来提高容量和降低成本,而由于DRAM的特性使得查表速度较低和难以保证。本专利技术描述的采用页面结构DRAM的查表控制器是以页面结构的DRAM为表项的存放场所,通过地址为索引,读取的数据为查找获得的内容(即表项条目)。表项的配置和维护体现为对存储器的写入操作,表项查询则体现为纯粹的读操作,通常每次的读操作读取的一个或多个数据组成的数据串对应一个表项条目,即每个读操作完成一次查找,所以读操作发起的速度越高,查表速度就越快,查表性能就越高,而表项的配置和维护动作由于明显少于表项的查询动作,所以对查表性能影响较小,通常可以忽略。参阅图3所示,现有的使用页面结构的DRAM的查表控制器,将所有存储空间作为统一的连续的存储空间来分配给一个或多个表的表项存储空间使用的方式进行一个表或多个表的表项存储(参见下面相应的示意图,以4页面为例,其它同理),表项查询按照查表索引(即地址)从整个存储器统一的连续存储空间中读取。表项的存取按照该DRAM的正常操作顺序(如DDR SDRAM的激活-->读/写-->关闭,参见图2A、2B、2C、2D中的相关描述。其它页面结构的DRAM操作指令不同,但过程相似,后面说明以DDR SDRAM为例,其它页面结构DRAM同理)先将表项存入DRAM中(即表项配置)然后按照查表需要读取表项。由于现有的技术实现是将DDR SDRAM的全部存储空间作为连续的存储空间,按照表项大小等属性(而没有考虑结合多页面结构)将存储空间划分为一整块或者多块,因此在表项查询时由于表项索引的随机,导致访问的页面随机,则难以避免两次查找所访问的页面是同一个页面,而表项查询是对存储器的读操作,此时就面临对页面结构的DRAM的连续访问相同页面的问题,导致查找速度降低。由于查表操作的查表索引是随机的,所以每次读取表项时所涉及的读取的页面是随机的,那么出现连续两次读取相同页面的概率是存在的(如4页面的DRAM为25%),这时便出现连续访问相同页面的情况,从而引入了大量的开销。参阅图4A、4B、4C所示,以Burst Length=4为例(参见DDR SDRAM用户手册)。图4A为单次查表操作,图4B为采用提前激活的操作方式,两次操作间开销抵消,速度较高,图4C为连续两次操作访问相同页面,需关闭并重新激活该页面,开销无法抵消,速度较低。由于存在连续多次查表涉及同一个页面的概率,因而会引入大量开销,使查找速度大大降低,进而严重抑制系统的整体性能;对有速度要求的系统来说,可能无法满足系统要求的最低查表速度。
技术实现思路
本专利技术的目的在于提供一种,以解决现有技术中因连续多次访问同一个页面而存在大量开销导致查表速度降低和难以保证实时高速查表的问题。实现本专利技术的技术方案一种,所述动态存储器(DRAM)为页面式存储结构,所述查表控制器以该结构的动态存储器为各表分配存储空间,并以地址为表的表项索引,查表控制器配置所述表体现为对存储器的写操作,查表控制器查询所述表体现为对存储器的读操作;其特征在于该方法为将动态存储器的所有页面作为非连续的存储空间为所述表分配页面;查表控制器配置和查询所述表的表项时轮流访问页面,并且后一次访问从不同于前一次访问结束时的页面开始。其中当多个表共用存储器时,根据各个表的查询速度要求为表分配页面存储空间。按每个表的查表速度占所有表总的查表速度的比例分配页面存储空间。采用表镜像方式,将查表速度超过第一查表速度的表的镜像表分别存入多个页面存储空间中,并且每个镜像表的表项相同,使得在每一轮读取页面时,可以连续查询相同的表。当对表和该表的镜像表中的任一表进行配置后刷新其余的表,使表和该表的镜像表的表项相同。每一个表的所有表项不跨页面存储,只存放于一个页面存储空间中,与该表内容相同的镜像表存放于与该表不同的页本文档来自技高网
...

【技术保护点】
一种在动态存储器中实现查表控制器的方法,所述动态存储器(DRAM)为页面式存储结构,所述查表控制器以该结构的动态存储器为各表分配存储空间,并以地址为表的表项索引,查表控制器配置所述表体现为对存储器的写操作,查表控制器查询所述表体现为对存储器的读操作;其特征在于该方法为:将动态存储器的所有页面作为非连续的存储空间为所述表分配页面;查表控制器配置和查询所述表的表项时轮流访问页面,并且后一次访问从不同于前一次访问结束时的页面开始。

【技术特征摘要】
1.一种在动态存储器中实现查表控制器的方法,所述动态存储器(DRAM)为页面式存储结构,所述查表控制器以该结构的动态存储器为各表分配存储空间,并以地址为表的表项索引,查表控制器配置所述表体现为对存储器的写操作,查表控制器查询所述表体现为对存储器的读操作;其特征在于该方法为将动态存储器的所有页面作为非连续的存储空间为所述表分配页面;查表控制器配置和查询所述表的表项时轮流访问页面,并且后一次访问从不同于前一次访问结束时的页面开始。2.如权利要求1所述的方法,其特征在于,当多个表共用存储器时,根据各个表的查询速度要求为表分配页面存储空间。3.如权利要求2所述的方法,其特征在于,按每个表的查表速度占所有表总的查表速度的比例分配页面存储空间。4.如权利要求1、2或3所述的方法,其特征在于,采用表镜像方式,将查表速度...

【专利技术属性】
技术研发人员:慕光
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:94[中国|深圳]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术
  • 暂无相关专利