存储控制器及数据操作命令的处理方法技术

技术编号:3909962 阅读:237 留言:0更新日期:2012-04-11 18:40
本发明专利技术实施例公开了一种存储控制器,该存储控制器包括:命令接收单元,用于接收输入的多个数据操作命令;命令重排序单元,用于将所述多个数据操作命令进行排序,排序后多个数据操作命令中两个相邻数据操作命令为不同块(BANK)命令或同BANK同行命令;命令执行单元,用于按照所述命令重排序单元排序后多个数据操作命令的顺序,执行所述多个数据操作命令。本发明专利技术实施例还公开了一种基于所述存储控制器的数据操作命令处理方法。采用本发明专利技术,能够有效提高存储控制器的带宽利用率。

【技术实现步骤摘要】

本专利技术涉及网络数据存储领域,尤其涉及一种存储控制器及数据操作命令的处理 方法。
技术介绍
随着通信领域的网络传输速度急剧增加和业务多样化的发展,各种通信设备,尤 其是核心网、城域网的网络数据交换机,对存储器提出了更多要求,需要更大的容量、更快 的存取速度,当然还要有更低的成本。静态随机存储器(SRAM)虽然在带宽利用率方面具有 优势,但是其容量小、成本高的缺点限制了其在网络通信设备中的应用。而同步动态随机存 储器(SDRAM)弥补了 SRAM的不足,并且在一定的条件下,其带宽利用率也可以提高到90% 以上。双倍速率(DDR) SDRAM在同块(Bank)同行操作时,即两个相邻的操作命令属于相 同的Bank和相同的页时,不需要进行预充电(Precharge)和激活(Active)操作,直接连续 访问即可。DDR SDRAM在同一Bank内换行操作时,即两个相邻的操作命令属于相同的Bank和 不同的页时,需要先关闭即Precharge当前Bank,然后再打开即Active该Bank内需要访问 的行之后,才可以对该行进行读或写操作,Precharge和Active操作消耗了不必要的时间, 降低了 DDR控制器的带宽利用率。DDR SDRAM在不同Bank操作时,即两个相邻的操作命令属于不同的Bank时,可以 通过一定的方法来避免数据线上的时间间隔,使得带宽不会产生浪费。根据DDR的协议规定,DDR SDRAM在进行读到写转换时,命令线上大概需要6 7 个周期,数据线上经过优化之后至少需要2个周期的间隔时间;在进行写到读转换时,必须 要等最后一次写的数据写入完毕4个周期后才可以发起读命令,加上读延迟,那么在数据 线上写数据和读数据之间的时间间隔至少在10个周期以上,这样造成了极大的带宽浪费。为了避免上述不同情况下带来的带宽浪费问题,目前存在多种控制器设计结构来 避免上述情况的出现。常见的控制器设计,对到来的命令分Bank存储,然后按照轮询的方 式调度,从而避免同Bank换行的情况。读写和写读的频繁转换也通过设定轮询长度方式来 避免。还有其他的控制器设计结构,例如借助CAM实现等。然而,这些控制器存在实现复杂、 难于集成等缺陷。
技术实现思路
本专利技术实施例提供一种,用于提高存储控 制器的带宽利用率。本专利技术实施例提供一种存储控制器,该存储控制器包括命令接收单元,用于接收输入的多个数据操作命令;命令重排序单元,用于将所述多个数据操作命令进行排序,排序后多个数据操作7命令中两个相邻数据操作命令为不同块(BANK)命令或同BANK同行命令;所述不同BANK 命令是指所述两个相邻数据操作命令的目的地址指向的存储单元属于不同BANK,所述同 BANK同行命令是指所述两个相邻数据操作命令的目的地址指向的存储单元属于相同BANK 和相同页;命令执行单元,用于按照所述命令重排序单元排序后多个数据操作命令的顺序, 执行所述多个数据操作命令。本专利技术实施例提供一种基于所述存储控制器的数据操作命令处理方法,该方法包 括所述存储控制器接收输入的多个数据操作命令;所述存储控制器将所述多个数据操作命令进行排序,排序后多个数据操作命令中 两个相邻数据操作命令为不同BANK命令或同BANK同行命令;所述不同BANK命令是指所述 两个相邻数据操作命令的目的地址指向的存储单元属于不同BANK,所述同BANK同行命令 是指所述两个相邻数据操作命令的目的地址指向的存储单元属于相同BANK和相同页;所述存储控制器按照排序后多个数据操作命令的顺序,执行所述多个数据操作命 令。本专利技术中,存储控制器接收到输入的多个数据操作命令时,通过将该多个数据操 作命令进行排序,排序后多个数据操作命令中两个相邻数据操作命令为不同BANK命令或 同BANK同行命令,然后按照排序后多个数据操作命令的顺序,执行多个数据操作命令,使 得同Bank换行操作转换为同Bank同行或不同Bank间操作,解决了因同Bank换行造成带 宽浪费的问题,有效提高了带宽利用率。附图说明图1为本专利技术实施例一中存储控制器结构示意图;图2为本专利技术实施例二中存储控制器结构示意图;图3为本专利技术实施例三中存储控制器结构示意图;图4为本专利技术实施例提供的流程示意图;图5为本专利技术实例中各命令缓存单元的命令保存示意图;图6为本专利技术实例中目的选择和源选择缓存单元的标识位保存示意图;图7为本专利技术实例中数据保存单元的写数据保存示意图;图8为本专利技术实例中数据保存单元的读数据保存示意图。具体实施例方式本专利技术实施例提供一种存储控制器,该存储控制器通过将接收到的数据操作命令 重排序,将同BANK换行操作转换为同BANK同行操作或不同BANK间操作,从而避免同BANK 换行操作时Precharge和Active操作带来的时间浪费。存储设备由很多页构成一个块(BANK),本专利技术中的同BANK同行命令,是指若相邻 命令的目的地址指向的存储单元属于相同BANK和相同页,则将该相邻命令称为同BANK同 行命令;不同BANK命令,是指若相邻命令的目的地址指向的存储单元属于不同BANK,则将 该相邻命令称为不同BANK命令;同BANK换行命令,是指若相邻命令的目的地址指向的存储8单元属于相同BANK,但属于不同页,则将该相邻命令称为同BANK换行命令。本专利技术实施例提供的存储控制器,具体包括命令接收单元,用于接收输入的多个数据操作命令;命令重排序单元,用于将命令接收单元接收到的多个数据操作命令进行排序,排 序后多个数据操作命令中两个相邻数据操作命令为不同BANK命令,或同BANK同行命令;命令执行单元,用于按照命令重排序单元排序后多个数据操作命令的顺序,执行 所述多个数据操作命令。下面列举具体三个存储控制器的实施例实施例一本实施例中,存储控制器用于对写命令进行重排序,具体内部结构如图1所示所述命令接收单元包括写命令接收单元10,用于接收输入的写命令,并按照接 收顺序缓存写命令;本写命令接收单元可以采用先进先出的队列结构。所述命令重排序单元包括写命令重排序控制单元11、写命令暂存缓存单元12和 写命令执行缓存单元13,其中写命令重排序控制单元11,包括第一接收处理模块和暂存处理模块,其中第一接收处理模块,用于读取写命令接收单元中缓存的第一个写命令,判断该写 命令与最新放入写命令执行缓存单元的写命令是否为同Bank换行命令,若是,则将读取的 写命令放入写命令暂存缓存单元中,继续触发第一接收处理模块;否则,将读取的写命令放 入写命令执行缓存单元中,若写命令暂存缓存单元中缓存有写命令,则触发暂存处理模块, 若写命令暂存缓存单元中未缓存写命令,则触发第一接收处理模块。暂存处理模块,用于读取写命令暂存单元中缓存的第一个写命令,判断该写命令 与最新放入写命令执行缓存单元的写命令是否为同Bank换行命令,若是,则触发所述第一 接收处理模块,否则,将读取的写命令放入写命令执行缓存单元中,并触发所述第一接收处 理模块。写命令暂存缓存单元12,用于按照写命令被放入的顺序,缓存写命令重排序控制 单元放入的写命令;本写命令暂存缓存单元可以采用先进先出的队列结构。写命令执行缓存单元13,用于按照写命令被放入的顺序,缓存写命令重排序控制 单元放入的写命令;本写命令执行本文档来自技高网
...

【技术保护点】
一种存储控制器,其特征在于,该存储控制器包括:命令接收单元,用于接收输入的多个数据操作命令;命令重排序单元,用于将所述多个数据操作命令进行排序,排序后多个数据操作命令中两个相邻数据操作命令为不同块BANK命令或同BANK同行命令;所述不同BANK命令是指所述两个相邻数据操作命令的目的地址指向的存储单元属于不同BANK,所述同BANK同行命令是指所述两个相邻数据操作命令的目的地址指向的存储单元属于相同BANK和相同页;命令执行单元,用于按照所述命令重排序单元排序后多个数据操作命令的顺序,执行所述多个数据操作命令。

【技术特征摘要】

【专利技术属性】
技术研发人员:于克东赖伟吴风波丁己善王建兵廖智勇
申请(专利权)人:中兴通讯股份有限公司
类型:发明
国别省市:94[中国|深圳]

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

1