CN105393232A - 控制存储器操作的方法和装置 - Google Patents

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

Info

Publication number
CN105393232A
CN105393232A CN201480036497.0A CN201480036497A CN105393232A CN 105393232 A CN105393232 A CN 105393232A CN 201480036497 A CN201480036497 A CN 201480036497A CN 105393232 A CN105393232 A CN 105393232A
Authority
CN
China
Prior art keywords
state
request
buffer
control
type
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201480036497.0A
Other languages
English (en)
Other versions
CN105393232B (zh
Inventor
李暻昊
李升范
金重伯
李承昱
郑俊沐
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of CN105393232A publication Critical patent/CN105393232A/zh
Application granted granted Critical
Publication of CN105393232B publication Critical patent/CN105393232B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1673Details of memory controller using buffers

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Human Computer Interaction (AREA)

Abstract

控制存储器操作的方法包括:基于存储在接口缓冲器和调度缓冲器中的请求的信息确定针对每个存储器地址的命令数;根据具有最大命令数的命令类型确定存储器操作的控制状态;以及根据存储器操作的控制状态确定从接口缓冲器被发送给调度缓冲器的请求以及从调度缓冲器输出的请求的类型。也公开了包括用于控制存储器的装置的其它实施例。

Description

控制存储器操作的方法和装置
技术领域
本公开通常涉及控制存储器操作的方法和装置,更具体地说,涉及通过选择存储在调度缓冲器中的请求以产生命令来控制存储器操作的方法和装置。
背景技术
通常,由于其特性,动态随机存取存储器(DRAM)应当打开针对每一存储体(bank)的行来使用。当与命令相对应的行地址不同于当前正在使用的行地址时,DRAM应当关闭相应行,然后重新打开与命令的行地址相对应的行以使用它。
此时,各个DRAM存储器具有它们的执行针对存储器行的开、关、读和写命令的等待时间。已经提出了行局部性技术以解决上述问题并且对应于其中存储控制器首先处理与存储器的打开行具有相同行地址的请求的方案。就是说,根据行局部性技术,通过打开具体行地址然后处理具有相同行地址的请求,有可能减少关闭和重新打开行的时间,从而提高利用率。
发明内容
技术问题
由于片上系统(SoC)结构的特点,存储控制器仅能够使用具有有限尺寸的调度缓冲器。调度缓冲器的尺寸在确定利用率的过程中是非常重要的因素。因此,在通过具有有限尺寸的调度缓冲器提高利用率的方法中,存储控制器通过调度缓冲器执行调度可以接收具有高行缓冲器局部性的请求的输入,或者可以增加有限的缓冲器尺寸以允许各种选择。增加缓冲器尺寸导致较大成本。
进一步,作为提高利用率的另一方法,有一种减少读/写切换的方法。特定地,在存储器中在执行读命令之后有等待时间以执行写命令,并且在执行写命令之后有等待时间以执行读命令。因此,根据存储器命令(开、关、读和写)的执行顺序,所述利用率可以变化50%或更多。
另一方法通过针对各个存储体保护各种请求并且根据每个存储体处理所述请求可以提高效率。特定地,通过向接口缓冲器要求针对存在于调度缓冲器的各个存储体的最小请求数量使得针对各个存储体的请求最大化。
为了解决以上所讨论的缺陷,本发明的主要目标是提供通过基于存储在缓冲器中的请求信息动态地控制调度缓冲器来提高利用率的方法和装置。
根据本公开的一方面,提供控制存储器操作的方法。所述方法包括:基于存储在接口缓冲器和调度缓冲器中的请求信息确定针对每个存储器地址的命令数;根据具有最大命令数量的命令类型确定存储器操作的控制状态;以及根据存储器操作的控制状态确定从接口缓冲器被发送到调度缓冲器的请求和从调度缓冲器输出的请求的类型。
根据本公开的另一方面,提供控制存储器的装置。所述装置包括:状态预测器,基于存储在接口缓冲器和调度缓冲器中的请求信息确定针对每个存储器地址的命令数,并且根据具有最大命令数的命令类型确定存储器操作的控制状态;以及选择器,根据存储器操作的控制状态确定从接口缓冲器被发送到调度缓冲器的请求和从调度缓冲器输出的请求的类型。
基于根据本公开的控制存储器操作的方法和装置,通过根据存储在接口缓冲器和调度缓冲器中的请求信息自适应地控制调度缓冲器的读请求和写请求的比例,有可能提高利用率。
在进行以下详细描述之前,阐明在本文档全文中所使用的某些单词和短语的定义可能是有益的。术语“包括”和“包含”及其变形意味着没有限制地包含;术语“或者”是包含的,意味着和/或;短语“与…相关联”和“与其相关联”及其变形可以意味着包括、被包括在内、与之交联、包容、被包容在内、连接到或与之连接、耦接到或与之耦接、与之传达、与之合作、交叉、并列、与之邻近、被绑定到或与之绑定、具有、具有属性等;并且术语“控制器”意味着控制至少一个操作的任何设备、系统或其部件,可以在硬件、固件或软件或其至少两种的一些组合中实现这种设备。应当注意到,可以集中化或分布化(或者本地或者远程)与任意具体控制器相关联的功能。在本专利文档的全文中提供针对某些单词和短语的定义,本领域普通技术人员应当理解,在许多(如果不是大部分)情形中,这种定义适用于被如此定义的单词和短语的之前以及未来的使用。
附图说明
为了更全面地理解本公开及其优点,现在参照结合附图的以下描述,其中,相似的参照编号代表相似的部件:
图1A和1B示出根据存储器控制方法的缓冲器结构的实例;
图2示出缓冲器结构的实例;
图3示出缓冲器结构的另一实例;
图4A至4C示出用于切换读/写存储器的控制方案;
图5示出包含根据本公开实施例的存储控制器的系统的配置;
图6示出指示存储控制器的四个状态的状态机;
图7是示出根据本公开实施例的存储器控制方法的过程的流程图;以及
图8示出根据本公开实施例的控制读和写请求数的实例;
具体实施方式
以下所讨论的图1A至8以及在本专利文档中被用于描述本公开原理的各种实施例仅仅是用于说明,绝不应当将其理解为限制本公开的范围。本领域技术人员将理解到,可以以任何适当安排的计算机技术实现本公开的原理。此后将参照附图描述本公开的示例实施例。应当注意到,相同的参考编号将指示相同的元件,尽管它们在不同的附图中示出。进一步,将省略涉及能够使本公开的主题不必要地模糊的众所周知功能或配置的详细描述。
图1A和1B示出根据一种存储器控制方案的实例缓冲器结构。参照图1A,输入缓冲器110具有包含彼此独立的存储读请求的读队列112和存储写请求的写队列114的先入先出(FIFO)类型的结构,而调度缓冲器120具有包含一个队列的结构。
当所述读和写请求从输入缓冲器110同时输入到调度缓冲器并且调度器如图1B的参考编号142、144和146所指示的在每个周期仅仅连续地选择读请求并且发送输出命令130到存储器时,如参考编号148所指示,没有被选择的写请求占据调度缓冲器120。因此,即使当存储器处于读操作状态时,调度器也只能选择写请求,从而产生读/写切换或者读请求的行局部性变低。结果会降低调度缓冲器120的利用率。
图2示出一个缓冲器结构的另一实例。参照图2,输入缓冲器210具有包含彼此独立的存储读请求的读队列212和存储写请求的写队列214的先入先出(FIFO)型的结构,而调度缓冲器220包含具有固定尺寸的读队列222和写队列224。
因为在图2所示的结构中调度缓冲器具有针对读和写请求的固定尺寸,即使写队列224为空,调度器也不能从输入缓冲器210加载行击中读请求,如果读队列222为满,从而调度器应当关闭当前打开的存储器行然后重新打开存储器行,如参考编号230所指示,这引发低效的操作。
图3示出另一实例缓冲器结构。参照图3,与图2类似,输入缓冲器310具有包含彼此独立的存储读请求的读队列312和存储写请求的写队列314的先入先出(FIFO)类型的结构,而调度缓冲器320包含具有固定尺寸的读队列322和写队列324。
当存储器在图3中所示的结构中以只读模式操作时,根本不使用写队列324,从而减少了调度缓冲器使用,因此难以增加行局部性。进一步,由于不能像在图2中那样处理行击中读请求,如参考编号330所指示的关闭然后重新打开行的所述问题出现。
图4A至4C示出切换读/写存储器的控制方案。
首先参照图4A能够注意到,将存储器从写操作切换到读操作花费大量时间。作为一个实例将描述执行三次读操作和三次写操作的情形。当如图4B中所示在读操作之后产生读/写切换并且然后产生写/读切换时,总共花费57个时钟(CK)。当执行所有被请求的读操作然后通过读/写切换执行写操作时,总共花费49个时钟(CK),从而减少了所需总时间。
已经做出本公开以解决如上所述的传统调度缓冲器的结构问题和调度效率问题,并且本公开具有根据当前存储器操作状态以及状态切换的存在与否自适应地控制存储在调度缓冲器中的读和写请求的数量的配置。
图5示出根据本公开实施例的包含存储控制器的系统的配置。
参照图5,能够将根据本公开实施例的存储控制器535实现为基于从接口缓冲器500输出的请求执行存储器中的命令的调度器520的部件。
例如,存储控制器能够包含:状态预测器或读/写(R/W)预测器540,基于存储在接口缓冲器500和调度缓冲器545中的请求确定是否改变存储器操作状态;以及根据所述确定结果控制输入选择器525和输出选择器550。进一步,所述存储控制器能够进一步包含输入选择器525和输出选择器550,用于根据R/W预测器540的控制选择从接口缓冲器500和调度缓冲器545输出的请求类型。
在本公开的实施例中,接口缓冲器500能够包含与FIFO结构相对应的读缓冲器505和写缓冲器510,并且调度缓冲器545能够具有单一队列结构。
通过控制将从接口缓冲器500输出的请求发送给调度缓冲器545的复用器530,输入选择器525从接口缓冲器500的读缓冲器505和写缓冲器510选择将接收请求的缓冲器。此时,为了保护在调度缓冲器545中针对各个存储体的大量请求,复用器530从存在于调度缓冲器545的请求中选择最小数量的存储体请求。进一步,输出选择器550选择从调度缓冲器545输出的请求类型,并且将根据所选择请求所产生的命令发送到存储器。
在本公开的实施例中,R/W预测器540将对应于控制存储器操作状态的存储控制器状态划分为四个阶段。当确定改变存储器状态时,R/W预测器540改变存储控制器的状态。
图6示出指示存储控制器的四个状态的状态机。
参照图6,R/W预测器能够将存储控制器的状态划分为读(RD)610、读到写(RD2WR)620、写(WR)630和写到读(WR2RD)640四个状态。RD610和WR630是与存储器的读和写操作相对应的状态,而RD2WR620是控制调度缓冲器将存储器状态从当前读状态改变到写状态的状态。进一步,WR2RD640是控制调度缓冲器将存储器状态从当前写状态改变为读状态的状态。如图6中所示,以RD610、RD2WR620、WR630和WR2RD640的顺序切换存储控制器的状态。
在存储控制器处于RD状态610和WR状态630时,R/W预测器在存储器的每个周期中分析接口缓冲器和调度缓冲器的请求。R/W预测器根据分析结果确定是否改变存储器操作,并且根据确定结果维持存储控制器的当前状态或者改变存储控制器的当前状态到RD2WR状态620或WR2RD状态640。如上所述,由于存储控制器能够确保控制调度缓冲器尺寸的时间,以便通过引入RD2WR状态620和WR2RD状态640来改变存储器状态,因此能够提高调度缓冲器的利用率。
下面将描述根据本公开实施例的控制R/W预测器的存储器的方法。
图7是示出根据本公开实施例的存储器控制方法的过程的流程图。
参照图7,在步骤710中,R/W预测器根据接口缓冲器和调度缓冲器的请求确定针对存储器的每一存储体的命令数。此时,独立地获得与读命令和写命令有关的命令数。进一步,将具有相同行地址的请求命令数相加。
命令数的确定能够包含两个阶段。例如,R/W预测器在第一阶段确定关于接口缓冲器和调度缓冲器的每一个的针对每个存储体的命令数,并且在第二阶段结合接口缓冲器和调度缓冲器的确定结果并计算最后结果以确定存储器状态。
作为一个实例将首先描述基于存储在接口缓冲器或调度缓冲器中的请求如表1中所示获得针对存储器的每一存储体的列地址选通(CAS)命令数量的情形。
表1
[表1]
请求 地址 CAS命令数
1 第0存储体,第0行 3
2 第0存储体,第0行 4
3 第0存储体,第1行 6
4 第1存储体,第1行 4
5 第2存储体,第0行 3
6 第3存储体,第1行 4
R/W预测器从表1中所示的结果中把具有相同地址的CAS命令数相加,以降序排列计算结果,并且仅选择一些较高的结果,从而获得如下表2中所示的结果。
表2
地址 CAS命令数
第0存储体,第0行 7
第1存储体,第1行 4
第2存储体,第1行 4
参照表2,将表1中与相同行地址相对应的请求1和2的CAS命令数相加。
接下来,R/W预测器组合关于接口缓冲器和调度缓冲器所获得的表2中所示的结果并且计算针对每个存储体的命令数的最终结果。也在此情形中,将具有相同行地址的命令数相加。
在步骤720中,R/W预测器基于所获得的针对每一存储体的命令的最终数量确定是否改变存储器状态。根据命令数量最大的命令类型确定是否改变存储器状态。基于通过针对各个存储体叠加命令数量然后比较所述数量所产生的结果,或者基于通过针对各个存储体比较命令数量然后相加所述数量所产生的结果来确定命令数量最大的命令类型。就是说,当存储器的当前状态与命令数量最大的命令类型不匹配时,R/W预测器能够改变存储器状态。当存储器的当前状态与命令数量最大的命令类型匹配时,R/W预测器能够确定维持存储器状态。
当存储器当前处于写操作状态并且命令数量最大的命令类型为读命令时,R/W预测器能够确定将存储器状态从写状态改变为读状态。因此,在图6的状态机中将存储控制器的状态从与存储器的当前状态相对应的WR状态630改变为与存储器的下一个状态相对应的WR2RD状态640。存储器保持在写操作状态,而存储控制器处于WR2RD状态640。
进一步,当存储器当前处于读操作状态并且命令数量最大的命令类型是写命令时,R/W预测器能够确定将存储器状态从读状态改变为写状态。因此,在图6的状态机中将存储控制器的状态从与存储器的当前状态相对应的RD状态610改变为与存储器的下一状态相对应的RD2WR状态620。存储器保持在读操作状态,而存储控制器处于RD2WR状态620。
当在步骤730中确定改变存储器状态时,R/W预测器在步骤740中根据要被改变成的存储器状态通过控制输入选择器和输出选择器确定接口缓冲器和调度缓冲器的输出请求的类型。
例如,由于当存储控制器处于RD2WR状态时将存储器的状态从读状态改变为写状态,R/W预测器执行减小与存储器的当前状态相对应的读请求的比例并且增加调度缓冲器中的写请求的比例的操作。因此,在R/W预测器的控制下,输入选择器通过从接口缓冲器输出的请求中选择写请求来增加存储在调度缓冲器中的写请求的比例,并且输出选择器通过从调度缓冲器输出的请求中选择读请求来减小存储在当前调度缓冲器中的读请求的比例。
由于将存储器状态从写状态改变为读状态的情形对应于存储控制器处于WR2RD状态的情形,R/W预测器执行减小与存储器的当前状态相对应的写请求的比例并且增加调度缓冲器中的读请求的比例的操作。因此,在R/W预测器的控制下,输入选择器通过从接口缓冲器输出的请求中选择读请求来增加存储在调度缓冲器中的读请求的比例,并且输出选择器通过从调度缓冲器输出的请求中选择写请求来减小存储在当前调度缓冲器中的写请求的比例。
当通过以上过程耗尽调度缓冲器中与当前存储器状态相对应的全部请求时,改变存储器状态,并且因此在步骤750中也改变存储控制器的状态。
例如,当由于存储控制器处于RD2WR状态而执行增加存储在调度缓冲器中的写请求的比例的处理并且因此存储在调度缓冲器中的读请求的数量减小到预设数量或更小时,改变存储器状态以执行写操作,并且因此,将存储控制器的状态也从RD2WR状态改变为WR状态。
进一步,当存储控制器在WR2RD状态输出存储在调度缓冲器中的写请求并且从接口缓冲器接收读请求,并且因此存储在调度缓冲器中的写请求数量被减小到预设数量或更小时,改变存储器状态以执行读操作,并且将存储控制器状态也从WR2RD状态改变到RD状态。
同时,当在步骤730中确定不改变存储器状态时,R/W预测器在步骤760中根据当前存储器的状态通过控制输入选择器和输出选择器来确定接口缓冲器和调度缓冲器的输出请求的类型。
例如,当具有最大命令数的命令类型是读命令并且当前存储器状态是读状态时,R/W预测器确定维持存储器状态没有任何改变。因此,存储控制器的状态也维持在RD状态,并且R/W预测器通过控制输入选择器从接口缓冲器选择读请求,并且通过控制输出选择器从调度缓冲器选择读请求。
进一步,当具有最大命令数的命令类型是写命令并且当前存储器状态是写状态时,R/W预测器确定维持存储器状态没有任何改变。因此,存储控制器的状态也维持在WR状态,并且R/W预测器通过控制输入选择器从接口缓冲器选择写请求,并且通过控制输出选择器从调度缓冲器选择写请求。
图8示出根据本公开实施例的控制读和写请求数的实例。在图8中,水平轴表示时间的流逝,即存储器的操作周期的流逝,垂直轴表示存储在调度缓冲器中的存储器请求的数量。
参照图8,在第一间隔810中,存储器状态为读状态并且存储控制器的状态也是RD状态。R/W预测器在与第一间隔810相对应的时间段内确定在存储器的读操作的每个周期中的存储器的当前状态,并且根据确定结果确定是否改变存储器状态。
当确定如第一间隔810中所示维持与当前存储器状态相对应的读操作时,R/W预测器从接口缓冲器选择读请求以通过调度缓冲器接收读请求。因此,调度缓冲器中的读请求的比例增加。
接下来,当接口缓冲器和调度缓冲器的读命令数达到最大值并且R/W预测器确定在时间点815执行存储器的读/写切换时,R/W预测器将存储控制器的状态改变为RD2WR状态并且控制调度缓冲器的尺寸,以便在与第二间隔820相对应的时间段内将存储器的状态从读状态改变为写状态。
由于存储器状态在第二间隔820仍然处于读操作状态,根据R/W预测器的控制从接口缓冲器选择写请求,然后将其输入调度缓冲器,并且在存储器中基于调度缓冲器的读请求执行读命令。因此,如图8中所示,随着时间的流逝,调度缓冲器的读请求的数量减少,而写请求的数量增加。
当写请求的数量达到预设数量时,在时间点825将存储器状态从读状态切换到写状态,并且存储控制器的状态也从RD2WR状态切换到WR状态。此后,由于在第三间隔830期间在存储器中执行写命令,因此在调度缓冲器中的写请求的比例增加。
如上所述,在本公开的实施例中,根据接口缓冲器和调度缓冲器的状态自适应地控制调度缓冲器的读请求和写请求的比例,从而提高了利用率。
本领域技术人员能够理解到,在不改变本公开的技术思想或必需特点的情况下,有可能以另一特定形式实现本公开。因此,应当理解到上述的实施例仅仅是示例的而不是限制性的。本公开的范围通过后面将描述的所附权利要求书来定义,而不是由详细描述来定义。因此应当理解到,在本公开的范围中包含由所附权利要求书及其等价物的含义和范围所导出的所有修改或变形。
尽管已经利用示例实施例描述了本公开,但是可以向本领域技术人员建议各种改变。本公开意图包含如在所附权利要求书的范围之内的这种改变和修改。

Claims (18)

1.一种控制存储器操作的方法,所述方法包含:
基于存储在接口缓冲器和调度缓冲器中的请求的信息确定存储器操作的控制状态;以及
根据存储器操作的控制状态发送从接口缓冲器和调度缓冲器分别输出的请求的类型到接口缓冲器和调度缓冲器。
2.如权利要求1所述的方法,其中,确定存储器操作的控制状态包含:计算针对每个存储器地址的请求命令的数量;以及根据最大数量请求命令的命令类型发送请求类型。
3.如权利要求2所述的方法,其中,确定命令的数量包括把与具有相同行地址的请求相对应的命令相加。
4.如权利要求2所述的方法,其中,存储器操作的控制状态包括维持当前存储器操作的状态和改变存储器操作的状态。
5.如权利要求4所述的方法,其中,确定存储器操作的控制状态包括:当具有最大数量命令的命令类型与当前存储器操作匹配时,将存储器操作的控制状态确定为维持当前存储器操作的状态,并且其中,
发送请求类型包括将从接口缓冲器被发送给调度缓冲器的请求和从调度缓冲器输出的请求的类型确定为与当前存储器操作相对应的请求的类型。
6.如权利要求4所述的方法,
其中,确定存储器操作的控制状态包括,当具有最大数量命令的命令类型与当前存储器操作不匹配时,将存储器操作的控制状态确定为改变存储器操作的状态,以及
其中,发送请求类型包括将从接口缓冲器被发送给调度缓冲器的请求的类型确定为与当前存储器操作将被改变成的存储器操作相对应的请求的类型,并且将从调度缓冲器输出的请求的类型确定为与当前存储器操作相对应的请求的类型。
7.如权利要求6所述的方法,进一步包括,当在调度缓冲器中与当前存储器操作相对应的请求数量减小到预设参照值或更小时,改变存储器操作以及存储器操作的控制状态。
8.如权利要求4所述的方法,在存储器操作的控制状态处于维持当前存储器操作的状态时,在存储器操作的每个周期执行请求命令数量的计算。
9.如权利要求4所述的方法,其中,以维持存储器的读操作的状态、改变存储器读操作到写操作的状态、维持存储器的写操作的状态以及改变存储器的写操作到读操作的状态的顺序接续地改变存储器操作的控制状态。
10.一种控制存储器的装置,所述装置包括:
状态预测器,被配置:
基于存储在接口缓冲器和调度缓冲器中的请求的信息确定存储器操作的控制状态;以及
选择器,被配置为根据存储器操作的控制状态分别发送从接口缓冲器和调度缓冲器输出的请求类型到接口缓冲器和调度缓冲器。
11.如权利要求10所述的装置,其中,状态预测器被配置为针对每个存储器地址计算请求命令的数量,并且根据具有最大请求命令数量的命令类型发送请求类型。
12.如权利要求11所述的装置,其中,状态预测器被配置为将与具有相等行地址的请求相对应的命令相加。
13.如权利要求11所述的装置,其中,存储器操作的控制状态包括维持当前存储器操作的状态和改变存储器操作的状态。
14.如权利要求13所述的装置,其中,状态预测器被配置为,当具有最大命令数量的命令类型与当前存储器操作匹配时,将存储器操作的控制状态确定为维持当前存储器操作的状态;以及
其中,选择器被配置为将从接口缓冲器被发送给调度缓冲器的请求以及从调度缓冲器输出的请求的类型确定为与当前存储器操作相对应的请求类型。
15.如权利要求13所述的装置,其中,状态预测器被配置为,当具有最大命令数量的命令类型与当前存储器操作不匹配时,将存储器操作的控制状态确定为改变存储器操作的状态,以及
其中,选择器被配置为将从接口缓冲器被发送给调度缓冲器的请求类型确定为与当前存储器操作将被改变成的存储器操作相对应的请求类型,并且将从调度缓冲器输出的请求类型确定为与当前存储器操作相对应的请求类型。
16.如权利要求15所述的装置,其中,状态预测器被配置为当在调度缓冲器中与当前存储器操作相对应的请求数量被减小到预设参照值或更小时,改变存储器操作和存储器操作的控制状态。
17.如权利要求13所述的装置,状态预测器被配置为,在存储器操作的控制状态处于维持当前存储器操作的状态时,在存储器操作的每个周期中确定命令的数量。
18.如权利要求13所述的装置,其中,为了维持存储器的读操作,以如下顺序接续地改变存储器操作的控制状态:改变存储器的读操作到写操作的状态;维持存储器的写操作的状态;以及改变存储器的写操作到读操作的状态。
CN201480036497.0A 2013-06-26 2014-06-26 控制存储器操作的方法和装置 Active CN105393232B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
KR1020130073612A KR102034626B1 (ko) 2013-06-26 2013-06-26 메모리 동작을 제어하는 방법 및 장치
KR10-2013-0073612 2013-06-26
PCT/KR2014/005716 WO2014209045A1 (en) 2013-06-26 2014-06-26 Method and apparatus for controlling memory operation

Publications (2)

Publication Number Publication Date
CN105393232A true CN105393232A (zh) 2016-03-09
CN105393232B CN105393232B (zh) 2019-06-18

Family

ID=52116796

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201480036497.0A Active CN105393232B (zh) 2013-06-26 2014-06-26 控制存储器操作的方法和装置

Country Status (5)

Country Link
US (1) US10275371B2 (zh)
EP (1) EP3014459B1 (zh)
KR (1) KR102034626B1 (zh)
CN (1) CN105393232B (zh)
WO (1) WO2014209045A1 (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9639276B2 (en) 2015-03-27 2017-05-02 Intel Corporation Implied directory state updates
JP6160717B1 (ja) * 2016-01-15 2017-07-12 日本電気株式会社 プロセッサ、および、データ転送方法
KR20180109142A (ko) 2017-03-27 2018-10-08 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
US10635617B2 (en) * 2017-05-19 2020-04-28 Western Digital Technologies, Inc. Context-aware dynamic command scheduling for a data storage system
CN109992205B (zh) * 2019-03-27 2020-06-02 无锡海斯凯尔医学技术有限公司 数据存储的装置、方法及可读存储介质
CN110209597B (zh) * 2019-05-24 2021-10-15 北京百度网讯科技有限公司 处理访问请求的方法、装置、设备和存储介质
US20210200695A1 (en) * 2019-12-27 2021-07-01 Advanced Micro Devices, Inc. Staging memory access requests

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050172084A1 (en) * 2004-01-30 2005-08-04 Jeddeloh Joseph M. Buffer control system and method for a memory system having memory request buffers
US20070156946A1 (en) * 2005-12-29 2007-07-05 Intel Corporation Memory controller with bank sorting and scheduling
US20110179240A1 (en) * 2010-01-18 2011-07-21 Xelerated Ab Access scheduler
CN102834816A (zh) * 2010-04-14 2012-12-19 高通股份有限公司 用以减少存取等待时间的总线仲裁技术

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6452933B1 (en) 1997-02-07 2002-09-17 Lucent Technologies Inc. Fair queuing system with adaptive bandwidth redistribution
US6694424B1 (en) * 2000-01-03 2004-02-17 Advanced Micro Devices, Inc. Store load forward predictor training
JP2001283594A (ja) 2000-03-29 2001-10-12 Sharp Corp 不揮発性半導体記憶装置
US6813677B1 (en) * 2000-06-02 2004-11-02 Stmicroelectronics, Inc. Memory decoder and method of operation
KR100424318B1 (ko) * 2002-03-20 2004-03-25 엘지전자 주식회사 가전기기 네트워크 시스템 및 그 제어방법
JP2003317471A (ja) * 2002-04-16 2003-11-07 Mitsubishi Electric Corp 半導体記憶装置
KR100608602B1 (ko) * 2003-12-10 2006-08-03 삼성전자주식회사 플래시 메모리, 이를 위한 사상 제어 장치 및 방법
KR100585116B1 (ko) * 2003-12-13 2006-06-01 삼성전자주식회사 멀티 뱅크 메모리의 억세스 효율을 개선한 아비터, 이를구비한 메모리 억세스 중재 시스템 및 그 방법
US7562364B2 (en) 2003-12-30 2009-07-14 Intel Corporation Adaptive queue scheduling
US7149111B2 (en) * 2004-12-17 2006-12-12 Msystems Ltd. Method of handling limitations on the order of writing to a non-volatile memory
US7650472B2 (en) * 2005-07-12 2010-01-19 Electronics And Telecommunications Research Institute Method for reducing memory power consumption
US7492368B1 (en) * 2006-01-24 2009-02-17 Nvidia Corporation Apparatus, system, and method for coalescing parallel memory requests
US8392633B2 (en) 2008-06-25 2013-03-05 Hewlett-Packard Development Company, L.P. Scheduling requesters of a shared storage resource
US8041856B2 (en) * 2008-09-30 2011-10-18 Lsi Corporation Skip based control logic for first in first out buffer
US20100169519A1 (en) * 2008-12-30 2010-07-01 Yong Zhang Reconfigurable buffer manager
CN101908368A (zh) * 2009-06-04 2010-12-08 威刚科技(苏州)有限公司 电子存储装置及其操作方法
US8918595B2 (en) * 2011-04-28 2014-12-23 Seagate Technology Llc Enforcing system intentions during memory scheduling
JP5458132B2 (ja) * 2012-03-13 2014-04-02 株式会社東芝 キャッシュ装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050172084A1 (en) * 2004-01-30 2005-08-04 Jeddeloh Joseph M. Buffer control system and method for a memory system having memory request buffers
US20070156946A1 (en) * 2005-12-29 2007-07-05 Intel Corporation Memory controller with bank sorting and scheduling
US20110179240A1 (en) * 2010-01-18 2011-07-21 Xelerated Ab Access scheduler
CN102834816A (zh) * 2010-04-14 2012-12-19 高通股份有限公司 用以减少存取等待时间的总线仲裁技术

Also Published As

Publication number Publication date
KR20150001034A (ko) 2015-01-06
KR102034626B1 (ko) 2019-10-21
US10275371B2 (en) 2019-04-30
EP3014459A1 (en) 2016-05-04
EP3014459B1 (en) 2019-12-04
EP3014459A4 (en) 2017-03-29
US20150006762A1 (en) 2015-01-01
WO2014209045A1 (en) 2014-12-31
CN105393232B (zh) 2019-06-18

Similar Documents

Publication Publication Date Title
CN105393232A (zh) 控制存储器操作的方法和装置
CN101916227B (zh) 一种rldram sio存储器访问控制方法和装置
CN102473109B (zh) 利用批调度的线程调度方法及装置
CN103003791B (zh) 分配共享堆栈的部分的系统和方法
CN107204198A (zh) 高速访问双倍速率同步动态随机存储器的控制方法及装置
CN102681946B (zh) 内存访问方法和装置
CN103080903A (zh) 调度器、多核处理器系统以及调度方法
CN104346285A (zh) 内存访问处理方法、装置及系统
CN101594299A (zh) 基于链表的交换网络中队列缓冲管理方法
CN102567258B (zh) 多维dma传输装置与方法
CN106557442B (zh) 一种芯片系统
CN101021814A (zh) 存储、查询方法及存储控制器和查询系统
CN104615684A (zh) 一种海量数据通信并发处理方法及系统
CN104183267A (zh) 数据处理设备和存储器设备
CN103236989A (zh) 一种内容分发网络中的缓存控制方法、设备及系统
CN101667105B (zh) 一种对动态内存进行动态读写访问分组的调度装置和方法
CN101685427B (zh) 一种根据应用的时间裕量对动态内存调度的装置及方法
CN101923522A (zh) 存储控制器及数据操作命令的处理方法
CN105874431A (zh) 减少数据交换负载的计算系统以及相关的数据交换方法
CN101316240A (zh) 一种数据读写的方法和装置
CN101901192B (zh) 一种片上和片外数据对象静态分配方法
CN102405466A (zh) 存储控制装置及其控制方法
CN109581925A (zh) 一种任务处理方法及装置、计算机可读存储介质
CN101882061A (zh) 存储器控制方法和存储器控制装置
CN202332303U (zh) 一种多通道实时直读存储器结构

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant