控制存储器操作的方法和装置的制造方法

文档序号:9635158阅读:420来源:国知局
控制存储器操作的方法和装置的制造方法
【技术领域】
[0001] 本公开通常涉及控制存储器操作的方法和装置,更具体地说,涉及通过选择存储 在调度缓冲器中的请求以产生命令来控制存储器操作的方法和装置。
【背景技术】
[0002] 通常,由于其特性,动态随机存取存储器(DRAM)应当打开针对每一存储体(bank) 的行来使用。当与命令相对应的行地址不同于当前正在使用的行地址时,DRAM应当关闭相 应行,然后重新打开与命令的行地址相对应的行以使用它。
[0003] 此时,各个DRAM存储器具有它们的执行针对存储器行的开、关、读和写命令的等 待时间。已经提出了行局部性技术以解决上述问题并且对应于其中存储控制器首先处理与 存储器的打开行具有相同行地址的请求的方案。就是说,根据行局部性技术,通过打开具体 行地址然后处理具有相同行地址的请求,有可能减少关闭和重新打开行的时间,从而提高 利用率。

【发明内容】

[0004] 技术问题
[0005] 由于片上系统(SoC)结构的特点,存储控制器仅能够使用具有有限尺寸的调度缓 冲器。调度缓冲器的尺寸在确定利用率的过程中是非常重要的因素。因此,在通过具有有限 尺寸的调度缓冲器提高利用率的方法中,存储控制器通过调度缓冲器执行调度可以接收具 有高行缓冲器局部性的请求的输入,或者可以增加有限的缓冲器尺寸以允许各种选择。增 加缓冲器尺寸导致较大成本。
[0006] 进一步,作为提高利用率的另一方法,有一种减少读/写切换的方法。特定地,在 存储器中在执行读命令之后有等待时间以执行写命令,并且在执行写命令之后有等待时间 以执行读命令。因此,根据存储器命令(开、关、读和写)的执行顺序,所述利用率可以变化 50%或更多。
[0007] 另一方法通过针对各个存储体保护各种请求并且根据每个存储体处理所述请求 可以提高效率。特定地,通过向接口缓冲器要求针对存在于调度缓冲器的各个存储体的最 小请求数量使得针对各个存储体的请求最大化。
[0008] 为了解决以上所讨论的缺陷,本发明的主要目标是提供通过基于存储在缓冲器中 的请求信息动态地控制调度缓冲器来提高利用率的方法和装置。
[0009] 根据本公开的一方面,提供控制存储器操作的方法。所述方法包括:基于存储在接 口缓冲器和调度缓冲器中的请求信息确定针对每个存储器地址的命令数;根据具有最大命 令数量的命令类型确定存储器操作的控制状态;以及根据存储器操作的控制状态确定从接 口缓冲器被发送到调度缓冲器的请求和从调度缓冲器输出的请求的类型。
[0010] 根据本公开的另一方面,提供控制存储器的装置。所述装置包括:状态预测器,基 于存储在接口缓冲器和调度缓冲器中的请求信息确定针对每个存储器地址的命令数,并且 根据具有最大命令数的命令类型确定存储器操作的控制状态;以及选择器,根据存储器操 作的控制状态确定从接口缓冲器被发送到调度缓冲器的请求和从调度缓冲器输出的请求 的类型。
[0011] 基于根据本公开的控制存储器操作的方法和装置,通过根据存储在接口缓冲器和 调度缓冲器中的请求信息自适应地控制调度缓冲器的读请求和写请求的比例,有可能提高 利用率。
[0012] 在进行以下详细描述之前,阐明在本文档全文中所使用的某些单词和短语的定义 可能是有益的。术语"包括"和"包含"及其变形意味着没有限制地包含;术语"或者"是包 含的,意味着和/或;短语"与…相关联"和"与其相关联"及其变形可以意味着包括、被包括 在内、与之交联、包容、被包容在内、连接到或与之连接、耦接到或与之耦接、与之传达、与之 合作、交叉、并列、与之邻近、被绑定到或与之绑定、具有、具有属性等;并且术语"控制器"意 味着控制至少一个操作的任何设备、系统或其部件,可以在硬件、固件或软件或其至少两种 的一些组合中实现这种设备。应当注意到,可以集中化或分布化(或者本地或者远程)与 任意具体控制器相关联的功能。在本专利文档的全文中提供针对某些单词和短语的定义, 本领域普通技术人员应当理解,在许多(如果不是大部分)情形中,这种定义适用于被如此 定义的单词和短语的之前以及未来的使用。
【附图说明】
[0013] 为了更全面地理解本公开及其优点,现在参照结合附图的以下描述,其中,相似的 参照编号代表相似的部件:
[0014] 图1A和1B示出根据存储器控制方法的缓冲器结构的实例;
[0015] 图2示出缓冲器结构的实例;
[0016] 图3示出缓冲器结构的另一实例;
[0017] 图4A至4C示出用于切换读/写存储器的控制方案;
[0018] 图5示出包含根据本公开实施例的存储控制器的系统的配置;
[0019] 图6示出指示存储控制器的四个状态的状态机;
[0020] 图7是示出根据本公开实施例的存储器控制方法的过程的流程图;以及
[0021] 图8示出根据本公开实施例的控制读和写请求数的实例;
【具体实施方式】
[0022] 以下所讨论的图1A至8以及在本专利文档中被用于描述本公开原理的各种实施 例仅仅是用于说明,绝不应当将其理解为限制本公开的范围。本领域技术人员将理解到,可 以以任何适当安排的计算机技术实现本公开的原理。此后将参照附图描述本公开的示例实 施例。应当注意到,相同的参考编号将指示相同的元件,尽管它们在不同的附图中示出。进 一步,将省略涉及能够使本公开的主题不必要地模糊的众所周知功能或配置的详细描述。
[0023] 图1A和1B示出根据一种存储器控制方案的实例缓冲器结构。参照图1A,输入缓 冲器110具有包含彼此独立的存储读请求的读队列112和存储写请求的写队列114的先入 先出(FIFO)类型的结构,而调度缓冲器120具有包含一个队列的结构。
[0024] 当所述读和写请求从输入缓冲器110同时输入到调度缓冲器并且调度器如图1B 的参考编号142、144和146所指示的在每个周期仅仅连续地选择读请求并且发送输出命 令130到存储器时,如参考编号148所指示,没有被选择的写请求占据调度缓冲器120。因 此,即使当存储器处于读操作状态时,调度器也只能选择写请求,从而产生读/写切换或者 读请求的行局部性变低。结果会降低调度缓冲器120的利用率。
[0025] 图2示出一个缓冲器结构的另一实例。参照图2,输入缓冲器210具有包含彼此独 立的存储读请求的读队列212和存储写请求的写队列214的先入先出(FIFO)型的结构,而 调度缓冲器220包含具有固定尺寸的读队列222和写队列224。
[0026] 因为在图2所示的结构中调度缓冲器具有针对读和写请求的固定尺寸,即使写队 列224为空,调度器也不能从输入缓冲器210加载行击中读请求,如果读队列222为满,从 而调度器应当关闭当前打开的存储器行然后重新打开存储器行,如参考编号230所指示, 这引发低效的操作。
[0027] 图3示出另一实例缓冲器结构。参照图3,与图2类似,输入缓冲器310具有包含 彼此独立的存储读请求的读队列312和存储写请求的写队列314的先入先出(FIFO)类型 的结构,而调度缓冲器320包含具有固定尺寸的读队列322和写队列324。
[0028] 当存储器在图3中所示的结构中以只读模式操作时,根本不使用写队列324,从而 减少了调度缓冲器使用,因此难以增加行局部性。进一步,由于不能像在图2中那样处理行 击中读请求,如参考编号330所指示的关闭然后重新打开行的所述问题出现。
[0029] 图4A至4C示出切换读/写存储器的控制方案。
[0030] 首先参照图4A能够注意到,将存储器从写操作切换到读操作花费大量时间。作为 一个实例将描述执行三次读操作和三次写操作的情形。当如图4B中所示在读操作之后产 生读/写切换并且然后产生写/读切换时,总共花费57个时钟(CK)。当执行所有被请求的 读操作然后通过读/写切换执行写操作时,总共花费49个时钟(CK),从而减少了所需总时 间。
[0031] 已经做出本公开以解决如上所述的传统调度缓冲器的结构问题和调度效率问题, 并且本公开具有根据当前存储器操作状态以及状态切换的存在与否自适应地控制存储在 调度缓冲器中的读和写请求的数量的配置。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1