大位宽数据的写入、读取方法及控制器的制作方法

文档序号:6336412阅读:227来源:国知局
专利名称:大位宽数据的写入、读取方法及控制器的制作方法
技术领域
本发明涉及数据通信领域及存储领域,具体而言,涉及一种大位宽数据的写 入、读取方法及控制器。
背景技术
随着数据通信业务的不断丰富和电信化运营的不断融合,运营商对数据承载产 品的带宽要求日益提高,因此对业务转发表、统计存储器的性能及容量提出了更高的需 求。核心处理器外挂DRAM的模式可以实现更高性能、更大容量的业务转发查表及统计 存储的功能,是当前应用于数据通信与数据存储领域的关键技术之一。网络结构的复杂以及通信业务的丰富在对DRAM存储器提出更大深度需求的同 时也对数据位宽提出了更高的要求,这也客观上需要不断提高DRAM控制器的数据位宽 与处理性能。而当前DRAM控制器与较大位宽DRAM存储器的连接方式均采用图1所 不方案。图1为DRAM控制器102与DRAM存储器105间通信的现有技术方案,包括了 数据通道103 (数据的位宽用N来表示)和控制通道104,其中处理器/可编程器件101通 过DRAM控制器102的控制通道104向DRAM存储器105发送读写指令,通过数据通道 103传送读写数据。其中,上述DRAM控制器102—般包括于处理器/可编程器件101 中,即DRAM控制器一般作为处理器/可编程器件的子模块出现。当前随着处理器/可编程器件运算速度的提高,系统对DRAM控制器接口的时 序要求也将更加严格,在数据位宽较大时,图1所示方案会降低DRAM控制器的接口时 序,增加单板设计的布线难度。例如,若在实际应用中数据位宽为32bit,在高速数据传 输的情况下也要保持所有bit数据的对齐,这对于单板设计的布线来说难度较大。发明人发现上述的相关技术中,在单板布线时需要数据通道各数据比特具有 相同的走线延时,而随着数据位宽的增加,此方案将加大单板设计的布线难度,降低 DRAM控制器的性能。

发明内容
针对相关技术中大位宽数据在单板布线时由于需要各数据比特具有相同延时而 加大单板设计难度,降低DRAM控制器的性能问题本发明提供一种大位宽数据的写入、 读取方法及控制器,以解决上述问题之一。根据本发明的一个方面,提供了一种大位宽数据的写入方法,包括控制器接 收来自于处理器的大位宽数据;上述控制器将上述大位宽数据拆分为多个小位宽数据; 上述控制器对各个上述小位宽数据进行同步处理;上述控制器将上述同步处理后的每个 小位宽数据并行发送至与该小位宽数据对应的动态随机存储器DRAM。根据本发明的另一个方面,提供了一种大位宽数据的读取方法,包括控制器 接收来自于各个动态随机存储器DRAM的小位宽数据;控制器对接收的小位宽数据进行采样并缓存;上述控制器将上述缓存的小位宽数据合并为一个大位宽数据;上述控制器 将上述合并后的大位宽数据传送给处理器。根据本发明的又一方面,提供了一种控制器,包括第一接收模块,用于接收 来自于处理器的大位宽数据;拆分模块,用于将上述大位宽数据拆分为多个小位宽数 据;同步处理模块,用于对各个上述小位宽数据进行同步处理;第一传送模块,用于 将上述同步处理后的每个小位宽数据并行发送至与该小位宽数据对应的动态随机存储器 DRAM。根据本发明的再一方面,提供了一种控制器,包括第二接收模块,用于接收 来自于各个动态随机存储器DRAM的小位宽数据;采样模块,用于将上述接收的小位宽 数据进行采样并缓存;合并模块,用于将上述缓存后的小位宽数据合并为一个大位宽数 据;第二传送模块,用于将上述合并后的大位宽数据传送给处理器。本发明技术方案仅需要小位宽数据在单板上具有相同的走线延时,不需要大位 宽数据的所有比特对齐,解决了相关技术中大位宽数据在单板布线时由于需要各数据比 特具有相同延时而加大了单板设计难度的问题,降低了 DRAM控制器的性能的问题,降 低了单板设计时的布线难度,进而提升了 DRAM控制器与DRAM存储器间的接口时序。


此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本 发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图 中图1为根据相关技术的DRAM控制器和外部DRAM存储器间通信的结构示意 图;图2为根据本发明实施例对DRAM进行写操作时控制器结构框图;图3为根据本发明实施例对DRAM进行读操作时控制器结构框图;图4为根据本发明优选实施例DRAM控制器与外部DRAM的连接示意图;图5为根据本发明优选实施例的DRAM控制器的内部结构示意图;图6为根据本发明实施例大位宽数据写入方法的流程图;图7为根据图6所示实施例的DRAM控制器的写入数据流程示意图;图8为根据本发明实施例大位宽数据读取方法的流程图;图9为根据图8实施例的DRAM控制器的读取数据流程示意图。
具体实施例方式下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突 的情况下,本申请中的实施例及实施例中的特征可以相互组合。图2为根据本发明实施例对DRAM进行写操作时控制器结构框图。如图2所 示,该控制器包括第一接收模块20,用于接收来自于处理器的大位宽数据;拆分模块22,用于将上述大位宽数据拆分为多个小位宽数据;在优选实施过程中,上述拆分模块22将上述大位宽数据平均拆分成上述多个小
4位宽数据。同步处理模块24,用于对各个上述小位宽数据进行同步处理;第一传送模块26,用于将上述同步处理后的每个小位宽数据并行发送至与该小 位宽数据对应的动态随机存储器DRAM。优选地,上述多个小位宽数据与所述DRAM
--对应。需要注意的是,图2所示实施例对应于对动态随机存储器DRAM进行写操作时 控制器必须包括的结构。图3为根据本发明实施例对DRAM进行读操作时控制器结构框图。如图3所 示,该控制器包括第二接收模块30,用于接收来自于各个动态随机存储器DRAM的小位宽数据;采样模块32,用于将上述接收的小位宽数据进行采样并缓存;合并模块34,用于将上述缓存后的小位宽数据合并为一个大位宽数据;第二传送模块36,用于将上述合并后的大位宽数据传送给处理器。需要注意的是,图3所示实施例对应于对动态随机存储器DRAM进行读操作时 控制器必须包括的结构。从图2及图3所示实施例可以看出,上述实施例的方案主要包括两部分DRAM 存储器的选择和DRAM控制器的实现。即当DRAM控制器与DRAM存储器间的数据位 宽较大时,DRAM存储器可选择由多个较小数据位宽、深度不变的DRAM存储芯片拼接 而成。上述所有小位宽DRAM存储器连接相同的控制信号,处理器/可编程器件通过上 述DRAM控制器同时对上述小位宽DRAM存储器进行读写操作,在所述DRAM控制器 内完成数据的拆分与合并。应当理解,图2和图3所示实施例中的控制器的结构组成在具体应用时可采用同 一个控制器实现,其中,在功能实现上,该控制器实现的功能包括图2和图3所示实施例 中所述的控制器所实现的功能,在硬件组成上则可以包括图2和图3所示实施例中的控制 器的各个模块。图2和图3所示实施例描述的方案在具体应用时,可采用如图4所示方案执行。 图 4 为 DRAM 控制器 404 与外部 DRAM 存储器(DRAM—1414、DRAM—2416、DRAM W 418)间的连接示意图,若处理器/可编程器件402与DRAM控制器404间通信的数据位 宽为N,选用DRAM存储器的数据位宽为M(其中N为M的整数倍),则采用本技术方 案共需W = N/M个DRAM存储器。上述DRAM存储器组通过相同的控制通道406和 DRAM控制器404相连,位宽为M的数据通道采用并行处理模式在DRAM控制器404中 完成数据的合并与拆分。其中,上述DRAM控制器404在具体应用时,一般包括于处理 器/可编程器件402中,即DRAM控制器一般作为处理器/可编程器件的子模块出现。综合图2、图3及图4实施例,可以得知,上述实施例将大位宽数据进行拆分后 的小位宽数据发送时进行同步处理,接收时将小位宽数据进行采样合并。由于上述小位 宽数据在DRAM存储器各自时钟下进行采样,因此本发明不需要大位宽数据所有bit在单 板上具有相同的走线延时,仅需要各小位宽数据和相应时钟信号在单板上具有相同的走 线延时即可。由此可见,采用上述实施例的方案,可以提高DRAM控制器的接口性能, 同时降低单板设计时的布线难度。
图5为根据本发明优选实施例的DRAM控制器的内部结构示意图。如图5所 示,该控制器包括DRAM控制模块502、拆分模块22、合并模块34、双向处理模块 504、逻辑控制子模块506。其中,DRAM控制模块502 完成与处理器/可编程器件的信息交互,解析处理器/ 可编程器件发送的读写DRAM指令,把解析的控制信息发送给逻辑控制子模块506。在 处理器/可编程器件发出写操作时,把大位宽处理数据传输给拆分模块22;而在读操作 时,则把来自合并模块34的大位宽数据传输给处理器/可编程器件。需要指出的是,上述DRAM控制模块502实现的功能包括图2和图3所示实施 例中的第一接收模块20和第二传送模块36所实现的功能,从硬件上则可以包括第一接收 模块20和第二传送模块36。拆分模块22 该模块实现大位宽数据的分拆,将DRAM控制模块502发送来的 大位宽写DRAM数据平均分拆成若干个小位宽数据(分拆的数量根据处理器的数据位宽 N与DRAM的数据位宽M的比值大小而定,即N/M),然后把小位宽数据分别存入到双 向处理模块504的各个发送缓存区(如发送缓存1、发送缓存2、发送缓存W等)中,再 通过多个方向选择模块(如方向选择1、方向选择2、方向选择W等)把数据并行写入到 相应的DRAM存储器中。合并模块36:该模块实现多个小位宽数据的合并,是发送拆分的逆过程,其将 来自双向处理模块接收缓存中的小位宽DRAM读数据合并成一个大位宽数据,再通过 DRAM控制模块502的转换最后发送给处理器/可编程器件进行处理。双向处理模块504:该模块对小位宽数据进行并行处理,包含多组发送/接收数 据缓存和方向选择模块,其中由于时钟网络的时延不同,发送数据缓存实现写数据的同 步处理;接收缓存实现各小位宽数据的数据采集;方向选择模块完成单向数据和双向数 据的转换。需要指出的是,上述双向处理模块504实现的功能包括图2和图3所示实施例中 的第一传送模块26、同步处理模块24、第二接收模块30及采样模块32所实现的功能, 从硬件上则可以包括第一传送模块26、同步处理模块24、第二接收模块30及采样模块 32。逻辑控制子模块506 通过与DRAM控制模块502的信息交互,产生对DRAM 进行读写操作的控制信号,包括地址线、片选信号、读/写控制信号等。同时还通过判 断处理器的读写操作来控制双向处理模块504数据流的方向。图6为根据本发明实施例大位宽数据写入方法的流程图。如图6所示,该写入 方法包括步骤S602,控制器接收来自于处理器的大位宽数据;步骤S604,上述控制器将上述大位宽数据拆分为多个小位宽数据;优选实施过 程中,上述控制器将所述大位宽数据平均拆分成多个小位宽数据。步骤S606,上述控制器对各个上述小位宽数据进行同步处理;步骤S608,上述控制器将上述同步处理后的每个小位宽数据并行发送至与该小 位宽数据对应的动态随机存储器DRAM。优选地,多个小位宽数据与该DRAM—一对 应。即上述小位宽数据的个数可以与上述该DRAM数目对应相等。
图7为根据图6所示实施例的DRAM控制器的写入数据流程示意图,如图7所 示,该方法流程包括步骤S702,处理器/可编程器件对外部DRAM存储器进行写操作,其中写数据 位宽为Nbits ;步骤S704,通过数据拆分后变成W个并行Mbits数据流;步骤S706,对上述并行Mbits数据流分别经过同步处理;步骤S708,将经过同步处理的数据发送写入到对应的DRAM存储器中。图8为根据本发明实施例的大位宽数据读取方法的流程图。如图7所示,该读 取方法包括步骤S802,控制器接收来自于各个动态随机存储器DRAM的小位宽数据;步骤S804,控制器对接收的小位宽数据进行采样并缓存;步骤S806,上述控制器将上述缓存的小位宽数据合并为一个大位宽数据;步骤S808,上述控制器将上述合并后的大位宽数据传送给处理器。图9为图8所示实施例的DRAM控制器的读取数据流程示意图。如图9所示, 该方法流程包括步骤S902,处理器/可编程器件对外部DRAM存储器进行读操作,通过数据接 收端口并行读取W个DRAM存储器;步骤S904,对读取的上述W个DRAM存储器的数据分别进行采样;步骤S906,将上述W个Mbits数据合并成Nbits数据流,从而完成读操作。其 中 W = 1/N。下面将对本发明上述实施例在实际应用过程中的具体实现作进一步的详细说 明。若处理器/可编程器件的数据处理位宽为32bit,所需外部表项存储空间的深度 为16M,则外挂DRAM存储器的容量应为512Mbits(16M*32bits)。如果选用相关技术中的图1所示方案,则只需采用一片大小为 4M*32bits*4banks (512Mbits)的DRAM存储器,通过32bits数据线与DRAM控制器进行
信息交互。虽然此方案节省了单板上器件的空间,但是客观上还要求上述32根数据线在 单板上具有相同的走线延时,这在实际应用中是比较难实现的。而任何数据线的延时差 都会降低DRAM控制器与DRAM存储器间的接口性能。若选择图2至图9所示的本发明技术方案,需采用多片小位宽DRAM存储器并 联工作。例如选择8bits DRAM存储器,则需要4片才能组成32bits(4*8bits)数据。为 满足上述设计条件,可选用4片4M*8bit*4banks(128Mbits)大小的DRAM存储器来实现 512Mbits的存储空间。若采用图5所示实施例,上述数据拆分模块22把32bits写数据拆分成4个Sbits数 据,然后分别经过双向处理模块504把数据并行写入到上述4个DRAM存储器中;上述 双向处理模块504由4路发送数据缓存、4路接收数据缓存以及4路方向选择模块组成, 分别完成Sbits数据的发送和接收;而所述的合并模块32完成4路Sbits数据的合并。具 体来说,首先是双向处理模块504把并行读取的数据存放于4路接收缓存中,而该模块把 接收缓存送来的4路Sbits数据合并成32bits数据,然后上送处理器/可编程器件进行处理。采用本发明实施例的技术方案,在这次单板设计时,不再需要32bits数据对齐, 仅需要每个DRAM存储器对应的Sbits数据具有相同的走线延时即可。这样就大大降低 了单板设计时的布线难度,同时还提高了 DRAM控制器的接口性能,可以支持目前高速 率大位宽数据业务的需求。综合上述实施例将大位宽数据进行拆分后的小位宽数据发送时进行同步处理, 接收时将小位宽数据进行采样合并。由于上述小位宽数据在DRAM存储器各自时钟下进 行采样,因此本发明不需要大位宽数据所有bit在单板上具有相同的走线延时,仅需要各 小位宽数据和相应时钟信号在单板上具有相同的走线延时即可。由此可见,采用上述实 施例的方案,可以提高DRAM控制器的接口性能,同时降低单板设计时的布线难度。显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通 用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所 组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将 它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺 序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中 的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的 硬件和软件结合。以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的 技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的 任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
8
权利要求
1.一种大位宽数据的写入方法,包括 控制器接收来自于处理器的大位宽数据;所述控制器将所述大位宽数据拆分为多个小位宽数据; 所述控制器对各个所述小位宽数据进行同步处理;所述控制器将所述同步处理后的每个小位宽数据并行发送至与该小位宽数据对应的 动态随机存储器DRAM。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括 所述多个小位宽数据与所述DRAM —一对应。
3.根据权利要求1所述的方法,其特征在于,所述控制器将接收到的来自于处理器的 大位宽数据拆分为多个小位宽数据包括所述控制器将所述大位宽数据平均拆分成所述多个小位宽数据。
4.一种大位宽数据的读取方法,其特征在于,包括控制器接收来自于各个动态随机存储器DRAM的小位宽数据; 控制器对所述接收的小位宽数据进行采样并缓存; 所述控制器将所述缓存的小位宽数据合并为一个大位宽数据; 所述控制器将所述合并后的大位宽数据传送给所述处理器。
5.—种控制器,其特征在于,包括第一接收模块,用于接收来自于处理器的大位宽数据; 拆分模块,用于将所述大位宽数据拆分为多个小位宽数据; 同步处理模块,用于对各个所述小位宽数据进行同步处理;第一传送模块,用于将所述同步处理后的每个小位宽数据并行发送至与该小位宽数 据对应的动态随机存储器DRAM。
6.根据权利要求5所述的控制器,其特征在于,所述多个小位宽数据与所述DRAM--对应。
7.根据权利要求5所述的控制器,其特征在于,所述拆分模块将所述大位宽数据平均 拆分成所述多个小位宽数据。
8.—种控制器,其特征在于,包括第二接收模块,用于接收来自于各个动态随机存储器DRAM的小位宽数据; 采样模块,用于对所述接收的小位宽数据进行采样并缓存; 合并模块,用于将所述缓存的小位宽数据合并为一个大位宽数据; 第二传送模块,用于将所述合并后的大位宽数据传送给所述处理器。
全文摘要
本发明公开了一种大位宽数据的写入、读取方法及控制器。其中,上述写入方法包括控制器接收来自于处理器的大位宽数据;控制器将上述大位宽数据拆分为多个小位宽数据;控制器对各个上述小位宽数据进行同步处理;控制器将同步处理后的每个小位宽数据并行发送至与该小位宽数据对应的动态随机存储器DRAM。上述读取方法包括控制器接收来自于各个动态随机存储器DRAM的小位宽数据;控制器对接收的小位宽数据进行采样并缓存;控制器将上述缓存的小位宽数据合并为一个大位宽数据;控制器将合并后的大位宽数据传送给处理器。利用本发明上述技术方案,降低了单板设计时的布线难度,进而提升了DRAM控制器与DRAM存储器间的接口时序。
文档编号G06F13/16GK102012876SQ20101055243
公开日2011年4月13日 申请日期2010年11月19日 优先权日2010年11月19日
发明者谢东亮 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1