一种数据读写的方法和装置的制作方法

文档序号:7917404阅读:296来源:国知局
专利名称:一种数据读写的方法和装置的制作方法
技术领域
本发明涉及网络通讯领域,尤其涉及一种数据读写的方法和装置。
背景技术
在数据网络中,通常使用DRAM (Dynamic random access msmory,动态 随机存储器)芯片作为数据緩存空间,这类芯片有一个共同的特征 一个芯 片分为多个数据块bank, —个bank又分为许多行,当对某一行进行读才喿作或 者写操作时,需要先对该行进行激活。由于不允许同时打开一个bank的不同 行,所以当某个bank已经打开某一行而需要操作另一行时,必须关闭先前被 激活的行,再激活需要操作的另一行,然后才能对另一行进行读写搡作。对 一行的激活到关闭具有最小时间的限制,不满足该最小时间时不能对该bank 的其它行进行操作(简称bank冲突)。
随着芯片频率的提高,等待的时间相对于时钟频率越来越长,效率越来 越低。以DDR2芯片读操作为例,在具有200MHz时钟频率时,对同一 bank 不同行的连续两次读操作时间间隔为55ns(tRAS+tRP),折为11个时钟周期, 在400MHz时钟频率时,该时间间隔为60ns,折合为24个时钟周期。现有技 术针对连续访问同 一个bank不同行必须等待较长时间的问题,提出了很多优 化方法,如按顺序对多个bank进行读写操作,以减小甚至避免bank沖突的问 题。但利用空间换效率的方法将导致緩存空间的浪费,而且向多个bank写入 重复的数据,对緩存带宽造成了较大的浪费。同时,该方法对读写操作顺序 过于严格,在网络处理器的应用中,由于服务质量QOS算法的影响,读取数 据往往无法实现顺序操作,因此该方法只适合于一定使用的范围。
现有技术还通过操作相邻的若干Cell,将各个地址的Cell所占bank进行 重排序,选择可用的bank进行操作,以减少等待时间。但该方法采用顺序搜 索所以只能寻找到满足操作时间要求的Cell,却无法从整体对操作进行优化。如图1所示,某段时间接收了四个cell的读请求,其中cell—0~cell—2各占了 2 个bank, cell—3占了 8个bank。按照现有技术,操作顺序为cell_0 bank0^ cell—0 bankl^ cell_3 bank2^...^ cell—3 bank7^ce11—1 bank0^ cell—1 bankl+等待 ^cell—2 bank0^...。也就是说,如图2所示,在操作完cell_3的bank7后, 只剩下cel1—l cell—3的2个bank,存在着bank冲突,也意味着带宽的浪费。 发明人在实现本发明的过程中,发现现有技术至少存在以下问题 现有技术解决访问同 一个bank不同行需要一定的时间间隔的问题时,对 bank读写操作的顺序要求过于严格且浪费存储空间,并且只能从局部进行读 写操作优化。

发明内容
本发明实施例提供一种数据读写的方法和装置,可以有效的提高緩存效 率,从整体上优化操作顺序。
本发明实施例提供一种数据读写的方法,包括
根据数据块的预设容量值切分请求,并将切分后的请求存入数据块队列; 比较满足时序参数的所述数据块队列中不同数据块的权重值; 根据所述比较结果调度所述数据块队列。 同时本发明实施例提供了一种数据读写的装置,包括 数据块切分模块,用于根据数据块的预设容量值切分请求; 权重比较模块,用于计算和比较满足时序参数的数据块队列中各个数据 块的权重值;
调度模块,用于根据所述权重比较模块的比较结果,调度所述数据块队列。
与现有技术相比,本发明实施例具有以下优点
才艮据数据块的预设容量值切分请求,并将切分后的请求存入数据块队列, 通过比较数据块队列的权重值,调度数据块队列,这样可以较大的提高緩存 效率,从整体上优化纟喿作顺序。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实 施例或现有技术描述中所需要使用的附图作筒单地介绍,显而易见地,下面 描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲, 在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是现有技术中读写操作分布示意图2是现有技术中读写操作分布示意图3是本发明实施例中数据读写的方法流程图4是本发明又一实施例中数据读写的方法流程图5是本发明实施例中数据读写的装置示意图。
具体实施例方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行 清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不 是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出 创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供一种数据读写的方法和装置,可以较大的提高緩存效 率,从整体上优化操作顺序。
本发明实施例提供一种数据读写的方法,如图3所示,具体包括
步骤S301、根据数据块的预设容量值切分请求,并将切分后的请求存入 数据块队列。
具体的,在不同的应用场景,bank具有相同或不同的预设容量值,当接 收到读请求或写请求时,可以将读请求或写请求的数据量按照该预设容量值 进行切分,即将读请求或写请求存入多个bank中,多个bank组成bank队列, 并且各个bank在bank队列中具有唯一的标识,该标识可以作为调用bank 的依据。当在应用场景中只具有一个bank时,则将请求直接写入该bank中。
步骤S302、比较满足时序参数的所述数据块队列中不同数据块的权重值。 具体的,权重值由bank中的请求数量产生,请求数量多的bank具有较高的权重值;由于进行调度时,有可能多个bank具有相同的请求数量,此时可以利 用优先级作为产生权重的因素,与请求数量共同产生权重值。该优先级与请 求存入bank的时间有关,在预定时间内满足时序参数却未被调度的bank提升 优先级,利用优先级和请求数量共同产生权重值,可以避免某个bank长时间 未被调用。由实际的工程经验可知,根据权重值调用bank可以有效的规避bank 冲突,提高调用效率。
步骤S303、根据所述比较结果调度所述数据块队列。
在满足时序参数的条件下,权重值较大的bank优先调度;权重值相同时, 调度任一 bank。其中调度任一 bank时,可以按照bank的标识(如序号)进 行调度,如可以根据bank的序号按照从小到大的顺序进行调度,当然调度任 一 bank时还可以按照其他用户自定义的规则进行调度。
通过上述实施例提供的数据读写方法,将请求进行切分,并进入bank队 列,然后按照bank的权重值进行调度,这样可以较大的提高緩存效率,从整 体上优化操作顺序。
本发明又一实施例提供的数据读写的方法,可以实现将读写请求分为读 请求和写请求,并分别按bank预设容量值进行切分,然后进入不同的bank 等待调度,由此可以从整体上对读写操作进行优化,具体的实现过程如图4 所示,包括
步骤S401、将读写请求分开为读请求和写请求。具体的,接收到读写请 求后,才艮据请求中的标识信息判断所述请求属于读请求还是写请求。 步骤S402、对读请求或写请求进行切分后存入到bank。 具体的,将读请求或写请求分别存入不同的bank,在不同的应用场景中, bank具有相同或不同的预设容量值,当读请求或写请求的数据量大于bank的 预设容量值时,将读请求或写请求存入多个bank中。多个bank组成bank队 列,每个bank在队列中具有唯一的标识,读请求或写请求存入不同的bank 后等待调度。
步骤S403、判断bank队列中的各个bank是否满足时序参数的要求。满 足该时序参数的要求是指在对bank进行换行搡作时,bank距离上次读写操作的完成时间间隔了一个时序参数的时间。不满足时序参数的bank不进行调度; 对满足时序参数的bank,继续执行步骤S404。
步骤S404、比较满足时序参数的bank队列中bank的权重值。 具体的,获取满足时序参数的bank队列中各bank的权重值并进行比较, 权重值大的bank优先被调度;若权重值相同,调度任一满足时序参数的bank。 该权重值可以由bank中请求的数量产生,请求数量大的bank,权重值大;也 可以由bank的优先级和bank中请求的数量共同产生权重值,优先级高的bank 权重值大,优先级相同请求数量大的bank,权重值大。该优先级的产生与请 求存入bank的时间有关,在预定时间内满足调度条件却未被调度的bank提升 优先级,利用优先级和请求数量共同产生权重值,可以避免某个bank长时间 未被调用。
bank队列中的各个bank权重值相同时,调度任一满足时序参数的bank, 此时可以按照bank的序列号从小到大的顺序进行调度,当然,在实际的应用 中,调度的顺序并不限于上述顺序,还可以按照序列号从大到小的顺序进行 调度,以及其他自定义的顺序。以图1为例,首次调度时,bankO和bankl中 的请求数量都为4,权重值相同,bankO的序号较小,所以调度bank0;第二 次调度时,bankl中的请求数量都为4,权重值最大,调度bankl;第三次调 度时,由于权重值较大的bankO和bankl不满足时序参数,不能调度,bank2 在权重值相同的bank中序号最小,优先被调度;第四次调度时,bankO、 bankl 和bank2不满足时序参数,bank3在权重值相同的bank中序号最小,优先被 调度;第五次调度时假设权重较大的bankO队列已经满足时序要求,优先被 调度;第六次…。以此类推,可得到最优操作顺序cell—0 bankO^ cell—0 bankl ^ cell—3 bank2"^ cell—3 bank3^ cell—1 bankO^ cell—1 banklcell—3 bank4~> cell—3 bank5~> cell—2 bankO^ cell—2 bankl ^ cell—3 bank6^ cell—3 bank7。
同时,本发明实施例还提供了一种数据读写的装置,如图5所示,具体 包括
数据块切分模块510,用于根据数据块的预设容量值切分请求;权重比较模块520,用于计算和比较满足时序参数的数据块队列中各个数 据块的权重值;
调度模块530,用于根据所述权重比较模块的比较结果,调度所述数据块 队列。
所述权重比较模块520还包括优先级计算模块540和请求数量统计模块 550。所述优先级计算模块540用于当满足时序参数的数据块未被调度时,增 加所述未一皮调度的数据块的优先级。所述请求数量统计模块550用于统计所 属数据块队列中的各个数据块的请求的数量。在本发明实施例中,所述权重 比较模块520根据所述请求的数量和/或各个数据块的优先级计算数据块的权 重值。需要明确的是,可才艮据实际需要选择所述优先级计算模块540和所述 请求数量统计模块550中的一者或全部来辅助计算权重值。
更具体地,所述权重值的计算可通过累加方式进行,比如,当数据块的 请求的数量达到一定值时,则权重值加上一预设值,或当数据块的优先级提 高一定值时,则权重值加上一相同或不同的预设值。当然,以上权重值的计 算方法仅作为示例,其不应对本发明的保护范围构成限制。
通过使用本发明实施例提供的数据读写的方法和装置,根据数据块的预 设容量值切分请求,并将切分后的请求存入数据块队列,通过比较bank队列 的权重值,调度数据块队列,这样可以较大的提高緩存效率,从整体上优化 操作顺序。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发 明可以通过硬件实现,也可以可借助软件加必要的通用硬件平台的方式来实 现基于这样的理解,本发明的技术方案可以以软件产品的形式体现出来,该 软件产品可以存储在一个非易失性存储介质(可以是CD-ROM, U盘,移动 硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机, 服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此, 任何本领域的技术人员能思之的变化都应落入本发明的保护范围。
权利要求
1、一种数据读写的方法,其特征在于,包括根据数据块的预设容量值切分请求,并将切分后的请求存入数据块队列;比较满足时序参数的所述数据块队列中不同数据块的权重值;根据所述比较结果调度所述数据块队列。
2、 如权利要求l所述的方法,其特征在于,所述根据数据块的预设容量 值切分请求包括获取请求的数据量;根据数据块的预设容量值,对所述请求进行切分;若请求的数据量小于数据块的预设容量值,则不进行切分,直接进入数 据块队列。
3、 如权利要求l所述的方法,其特征在于,所述根据所述比较结果调度 所述数据块队列包括在满足时序参数的条件下,权重值最大的数据块优先调度。
4、 如权利要求l所述的方法,其特征在于,所述权重值包括 由数据块中请求的数量所产生的权重值。
5、 如权利要求l所述的方法,其特征在于,所述权重值包括 由凄t据块的优先级所产生的权重值。
6、 如权利要求5所述的方法,其特征在于,所述方法还包括当满足时序参数的数据块未被调度时,所述未被调度的数据块的优先级 增力口。
7、 一种数据读写的装置,其特征在于,包括 数据块切分模块,用于根据数据块的预设容量值切分请求; 权重比较模块,用于计算和比较满足时序参数的数据块队列中各个数据块的权重值;调度模块,用于根据所述权重比较模块的比较结果,调度所述数据块队列。
8、 如权利要求7所述的装置,其特征在于,所述权重比较模块包括请求 数量统计模块,用于统计所属数据块队列中的各个数据块的请求的数量,所述权重比较模块根据所述请求的数量计算权重值。
9、 如权利要求7所述的装置,其特征在于,所述权重值比较模块还包括 优先级计算模块,用于统计所述数据块队列中的各个数据块的优先级,所述 权重比4支模块根据所述数据块队列中的各个数据块的优先级计算权重值。
10、 如权利要求9所述的装置,其特征在于,所述优先级计算模块在满足时序参数的数据块未被调度时,增加所述未被调度的数据块的优先级。
全文摘要
本发明实施例公开了一种数据读写的方法和装置,本发明实施例公开的数据读写的方法,包括根据数据块的预设容量值切分请求,并将切分后的请求存入数据块队列;比较满足时序参数的所述数据块队列中不同数据块的权重值;根据所述比较结果调度所述数据块队列。通过使用本发明的实施例,可以从整体上优化操作顺序,从而更有效地提高缓存效率。
文档编号H04L12/56GK101316240SQ200810135029
公开日2008年12月3日 申请日期2008年7月28日 优先权日2008年7月28日
发明者钿 王, 范贵成 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1