CN101326504B - 存储器访问请求仲裁 - Google Patents

存储器访问请求仲裁 Download PDF

Info

Publication number
CN101326504B
CN101326504B CN2006800462409A CN200680046240A CN101326504B CN 101326504 B CN101326504 B CN 101326504B CN 2006800462409 A CN2006800462409 A CN 2006800462409A CN 200680046240 A CN200680046240 A CN 200680046240A CN 101326504 B CN101326504 B CN 101326504B
Authority
CN
China
Prior art keywords
memory access
access request
request
priority
memory
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.)
Active
Application number
CN2006800462409A
Other languages
English (en)
Other versions
CN101326504A (zh
Inventor
S·J·克母鲁什
B·A·蒂施勒
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.)
MediaTek Inc
Original Assignee
GlobalFoundries Inc
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 GlobalFoundries Inc filed Critical GlobalFoundries Inc
Publication of CN101326504A publication Critical patent/CN101326504A/zh
Application granted granted Critical
Publication of CN101326504B publication Critical patent/CN101326504B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/161Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
    • G06F13/1626Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement by reordering requests
    • G06F13/1631Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement by reordering requests through address comparison
    • 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
    • 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/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal

Abstract

一种方法包含在第一间隔期间从第一器件(116,118,120)接收第一存储器访问请求。该第一存储器访问请求用于访问多页存储器(104)的第一页。该方法进一步包含在该第一间隔后续的第二间隔期间从该第一器件接收第二存储器访问请求并在该第二间隔期间从第二器件(116,118,120)接收第三存储器访问请求。该方法额外包含若指示器(indicator)指示该第二存储器访问请求期望访问该多页存储器的该第一页,则高于该第三存储器访问请求而优先地选择该第二存储器访问请求以用于提供给该多页存储器。

Description

存储器访问请求仲裁
技术领域
本发明大致关于处理存储器访问请求。 
背景技术
存储器控制器常被用于处理系统中以控制对存储器资源的访问,该等存储器资源用于寻求储存数据至存储器或访问来自存储器的数据的器件。在习知的系统中,基于一些固定的优先权(priority)而供应存储器访问请求至存储器控制器。然而,仅基于固定的优先处理方案(prioritization scheme)的存储器访问请求的选择往往可造成在以页为基础(page-based)的存储器(例如,动态随机访问存储器(DRAM))的重大损失。典型地,由于关闭前页与开启下页所需的程序,所以每当访问DRAM的不同页时就会造成延迟(delay)。在存储器的诸页之间频繁的切换(如典型地发生在固定的优先处理方案中)因此往往会造成在存储器中的往复移动(thrashing),并因而在存储器访问请求顺序中造成重大的累积延迟。因为双倍数据速率(dual data rate,DDR)存储器有每命令周期较高的数据速率,所以此问题特别会发生在双倍数据速率存储器中。 
因此,用于处理存储器访问请求的改进技术会是有利的。 
发明内容
本发明的下列说明意欲藉由提供数个特定实施例与包含存储器访问请求的仲裁的细节而传达本发明的完全了解。然而,应了解,本发明并非限制于这些仅作为示范的特定实施例与细节,更应了解,鉴于已知的系统与方法,在此技艺中具有一般知识者能体会依照特定的设计与其他需求,为了其意欲目的与利益而使用本发明于任何其他替代的实施例。 
依照本发明的另一个态样,提供一种存储器访问请求仲裁的方法, 包括:从多个器件(116,118,120)的每个器件接收至少一个存储器访问请求;判断是否仅有一个存储器访问请求比其余的存储器访问请求具有较高优先权;以及在判断并非仅有一个存储器访问请求比其余的存储器访问请求具有较高优先权之后,为响应确定(502)通过该缓冲的存储器访问请求访问的总的数据的量大于或等于预定的数据的量,相对于从该多个器件(116,118,120)的其他器件选择存储器访问请求而优先地从该多个器件(116,118,120)的第一器件选择(506)缓冲的存储器访问请求,以用于连续提供给多页存储器(104)。 
附图说明
对于熟习此技艺者而言,从下列详细描述并伴随附图,本发明的目的与优点将会变得明显,其中使用相同的元件符号指示相似的元件,而其中: 
图1为依照本发明的至少一个实施例说明使用持续页存储器访问请求仲裁技术的例示处理系统的方块图; 
图2为依照本发明的至少一个实施例说明用于持续页存储器访问请求仲裁的例示方法的流程图; 
图3为依照本发明的至少一个实施例说明基于多循环选择方案的图2的方法的例示实作的流程图; 
图4为依照本发明的至少一个实施例说明基于先前选择的存储器访问请求的图2方法的示范实作的流程图; 
图5与6为依照本发明的至少一个实施例说明基于缓冲的存储器访问请求的图2的方法的例示实作的流程图;以及 
图7为依照本发明的至少一个实施例说明例示存储器访问仲裁器的方块图。 
具体实施方式
参阅图1,依照本发明的至少一个实施例说明利用重复页访问仲裁的例示处理系统100。在描述的范例中,系统100包含系统单芯片(system on a chip,SOC)102(例如,整合处理器),连接至具有多页的以页为基础的存储器(例如,DDR DRAM)104。SOC102包含北仲裁器(arbiter)106、南仲裁器108及多个器件。该多个器件可包含,例如,显示器控制器110、一般处理单元(general processing unit,GPU,时常也称之为中央处理单元)、安全模组114、周边元件互连(peripheralcomponent interconnect,PCI)控制器116、视讯处理器118、桥接器(bridge)(MCP)120与存储器控制器122。 
在说明的范例中,南仲裁器108在由一个或多个器件116、118及120提供的存储器访问请求之间(经由,例如,各自的请求路径136、138及140)仲裁并提供对于每个存储器访问间隔的选择的存储器访问请求给北仲裁器106。接着,北仲裁器106在由一个或多个器件110、112及114提供的存储器访问请求之间(经由,例如,各自的请求路径130、132及134)仲裁,并由南仲裁器108提供选择的存储器访问请求。然后,由仲裁器106选择的存储器访问请求被提供至存储器控制器122,连同与选择的存储器访问请求(例如,写入数据)相关联的任何数据。然后,该存储器控制器122处理所提供的存储器访问请求以载入数据至存储器104的已确认的存储器位置或从存储器104的已确认的存储器位置读取数据。 
在至少一个实施例中,仲裁器106与108的其中一者或两者利用在本文中描述的一个或多个仲裁技术以选择存储器访问请求以便减少在存储器104的页切换的频率。由仲裁器106与108所利用的仲裁方案可包含,例如,基于指示的特定存储器访问请求的选择,其中该指示为选择的存储器访问请求期望访问与用于先前间隔所选择的存储器访问请求相同的存储器页。在一个实施例中,此指示可以是基于与先前选择的存储器访问请求相关联的地址的至少部分与一个或多个待决 (pending)的存储器访问请求的地址的对应部分的比较。如果该比较指示特定的待决的存储器访问请求期望访问与先前存储器访问请求相同的存储器页,则该特定的待决的存储器访问请求能在存储器访问间隔期间,优先地选择用于处理。名词“优先地”,当使用在存储器访问请求选择的内容时,是指假设所有其他重要参数为实质上相等的存储器访问请求选择。例如,如果一个存储器访问请求具有比另一个较高的优先权,则在优先权决定因素的诸例子中,即使考虑到其他参数而较低优先权存储器访问请求的选择为优先的,亦能选择较高优先权的存储器访问请求。 
在一个实施例中,仲裁器106与108的其中一者或二者施行此比较。为了说明,一个或两个仲裁器106与108可储存与紧接在前处理的存储器访问请求相关联的地址的最高有效位元(most significant bit,MSB)的子集(subset)(例如,ADDRP[MSBn:MSBn-x])在寄存器或其他存储器位置(未图示)中,而器件130、132、134、136、138及140可提供与其存储器访问请求相关联的存储器地址的最有效位元(MSB)的子集(例如,对于器件i的ADDRi[MSBn:MSBn-x]),分别如地址输入150、152、154、156、158及160。然后,仲裁器106与108的其中一者或二者能考虑到储存的地址值而处理地址输入以识别期望访问与处理的存储器访问请求相同的存储器页的存储器访问请求。在另一个实施例中,地址部分的比较可藉由器件施行,而每一个器件可提供信号当作指示是否由器件提供的存储器访问请求期望访问与先前处理的存储器访问请求相同的存储器页。 
在许多的例子中,来自器件的当前的存储器访问请求很可能访问与来自相同器件的紧接在前存储器访问请求相同的页。因此,在一个实施例中,仲裁器106与108的其中一者或二者优先地在存储器访问请求之中选择,使得存储器访问请求从相同器件连续地选择,如果可取得的话,为高达预定最大数量的连续存储器访问请求。因此,藉由从相同器件连续地选择存储器访问请求,在存储器104的页的切换频率能减少,因为访问相同存储器页的可能性增加,其可产生来自相同器件的存储器访问请求的连续处理。 
相似地,在一个实施例中,仲裁器106与108的其中一者或二者 可使用仲裁方案,其中来自器件的存储器访问请求被缓冲(buffer)直到来自特定器件的存储器访问请求的数目达到或超过预定数量及/或直到与来自特定器件的缓冲存储器访问请求相关联的数据数量(例如,用于读取访问的读取数据或用于写入访问的写入数据)达到或超过预定阈值。当为了特定器件的缓冲存储器访问请求而达到预定数量的请求及/或达到预定数据阈值时,在连续存储器访问间隔期间,仲裁器可选择一些或全部缓冲存储器访问请求用于处理。因为来自相同器件的存储器访问请求往往访问相同的存储器页,来自器件的一个或多个存储器访问请求的连续处理便能减少页切换的频率,因此减少在存储器访问请求的处理中的延迟。 
在一个实施例中,来自器件的存储器访问请求被缓冲在仲裁器106与108处直到达到预定数量的请求及/或达到预定的数据阈值。如例示说明,仲裁器108可包含缓冲器164以缓冲来自PCI控制器116的预定数量的存储器访问请求。当缓冲器164已满时,仲裁器108然后可为了连续处理而优先地选择来自缓冲器164的一些或全部缓冲存储器访问请求。在替换的实施例中,一个或多个器件包含缓冲器(例如,GPU112的缓冲器162)以缓冲存储器访问请求。在此例子中,当缓冲访问请求达到预定数量的缓冲访问请求及/或预定数据阈值时,器件可发信号至仲裁器106或108。在回应上,对应的仲裁器可为了连续处理而从发信号器件优先地选择一个或多个缓冲存储器访问请求。 
参阅图2,为依照本发明的至少一个实施例说明用于在存储器访问请求之间仲裁以便减少存储器页切换的例示方法200。在步骤202,由一个或多个器件的每一个器件的仲裁器(例如,图1的仲裁器106与108)处接收存储器访问请求。在步骤204,仲裁器检查与接收的存储器访问请求相关联的优先权(若有的话)。为了说明,因为时序或效能的需求,来自GPU112的存储器访问请求(图1)能被指定比来自显示器控制器110的存储器访问请求(图1)较高的优先权。如果在仅有一个接收的存储器访问请求,该请求具有比剩余接收的存储器访问请求较高的优先权,则在步骤206,此单一较高优先权的存储器访问请求可被选择,在目前存储器访问间隔或即将来临的存储器访问间隔期间用于提供给存储器控制器(例如,图1的存储器控制器122)用于处理。 
在一个实施例中,如果在最高优先权电平(level)有多个存储器访问请求呈现于接收的存储器访问请求之中,则在步骤208,仲裁器选择存储器访问请求,期望用于造成与用于先前存储器访问间隔所选择的存储器访问请求相同的存储器页的访问。然后,能提供选择的存储器访问请求至存储器控制器用于处理。然后,在步骤210,为了下一个存储器访问间隔,可重复仲裁方法200。 
参考图3至6,为依照本发明的至少一个实施例说明图2方法200中的在步骤208的优先的存储器访问请求选择的例示实作。在不脱离本发明的范围内,存储器访问仲裁器能利用任何这些例示实作或其任何结合。 
如由图3所描述,在步骤302,步骤208的优先的存储器访问请求选择的一个实作可包含决定是否来自器件的指示器指示来自器件的当前请求期望访问与在先前存储器访问间隔选择的存储器访问请求相同的存储器页。如上述,指示器可基于与存储器访问请求相关联的地址子集与先前选择的存储器访问请求的对应地址子集的比较。如果有此指示器,则在步骤304,选择与指示器相关联的来自该器件的存储器访问请求,并在步骤304,提供给存储器控制器用于处理。如果没有呈现此指示器,在步骤306,仲裁器可选择存储器访问请求用于处理利用另一个方案,例如,藉由循环(round robin)选择。 
表格1说明利用如关于图3描述的存储器访问仲裁的存储器访问间隔的例示顺序。在描述的范例中,具有优先权0及连续的指示器的器件A优先地选择优先权0的器件三次,并且在优先权1的器件之前优先地选择优先权0的器件一次。 
表格1 
  间隔   器件A   器件B   器件C   选择
  0   0,指示器   无请求   无请求   A
  1   0,指示器   0   无请求   A
  2   0,指示器   0   无请求   A
  3   0,指示器   0   无请求   A
  4   0,指示器   0   无请求   B
 5   0,指示器   无请求   无请求   A
 6   无请求   无请求   无请求   无
 7   0,指示器   无请求   无请求   A
 8   0,指示器   1   无请求   A
 9   0,指示器   1   3   C
如由图4所描述,在步骤402,步骤208的优先的存储器访问请求选择的另一个实作可包含决定是否存储器访问请求可从与用于先前存储器访问间隔所选择的存储器访问请求相关联的相同器件取得。若无法取得此存储器访问请求,在步骤404,可使用任何种类的方案来选择存储器访问请求,例如,藉由循环选择。否则,依序选择用于紧接在前的存储器间隔的来自器件的存储器访问请求次数数目的总数与预定最大数目比较(例如,两个间隔或四个间隔的最大值)。如果未超过预定最大数目,在步骤408,藉由存储器控制器选择来自器件的存储器访问请求用于处理。否则,在步骤410,器件的数值重设(例如,设为0)而使用步骤404的另一方案,可选择来自另一器件的存储器访问请求。为了说明,假设预定最大数目为四而在最后三个存储器访问间隔选择来自器件的存储器访问请求,因为在存储器访问间隔的先前顺序中所选择的来自器件的存储器访问请求的总数目小于预定最大值,所以在步骤408,可选择来自器件的当前存储器访问请求。然而,若选择来自器件的存储器访问请求用于最后四个存储器访问间隔且预定最大值为四个间隔,则在步骤410与器件相关联的数将被重设并在步骤404选择来自另一个器件的存储器访问请求。 
在一个实施例中,若从另一个器件接收到较高优先权的存储器访问请求,则可中断来自相同器件的存储器访问请求的连续选择。在其他实施例中,来自相同器件的存储器访问请求的连续选择可替代来自另一个器件的较高优先权的存储器访问请求。此外,依据来自另一个器件的存储器访问请求的优先权,能变化重复选择的预定最大数目。 
表格2说明利用如关于图4描述的存储器访问仲裁的存储器访问间隔的例示顺序。在描述的范例中,在以相同优先权选择另一个器件之前,每一个器件依序能被选择两次。与习知仲裁技术相比,所造成 的请求选择样式(pattern)典型地减少页开启与页关闭的数目。 
表格2 
  间隔   器件A  优先权   器件B  优先权   器件C  优先权   器件D  优先权   器件E  优先权   习知的  选择   改良的  选择
  0   0   2   2   0   无请求   器件B   器件B
  1   0   2   2   1   无请求   器件C   器件B
  2   0   2   2   1   无请求   器件B   器件C
  3   0   2   2   0   无请求   器件C   器件C
  4   0   无请求   无请求   0   无请求   器件A   器件A
  5   0   无请求   无请求   0   无请求   器件D   器件A
  6   0   无请求   无请求   0   无请求   器件A   器件D
  7   0   2   2   0   无请求   器件B   器件B
  8   0   2   2   0   无请求   器件C   器件B
  9   0   2   2   0   无请求   器件B   器件C
  10   0   2   2   0   3   器件E   器件E
如由图5所描述,在步骤502,步骤208的优先的存储器访问请求选择的另一个实作可包含决定是否来自任何器件的缓冲的存储器访问请求的数目达到或超过预定的阈值。如果没有,在步骤504,使用,例如,循环选择或另一种选择方案,从器件选择存储器访问请求。否则,在步骤506,在连续的存储器访问间隔期间,藉由仲裁器提供一些或全部的缓冲存储器访问请求给存储器控制器用于处理。 
表格3和4分别说明存储器访问的习知顺序以及利用如关于图5所描述的存储器访问仲裁的存储器访问间隔的例示顺序。在表格4的描述范例中,每个器件在被选择之前,先缓冲两个存储器访问请求。由表格4显示的结果的请求样式有可能造成比由表格3显示的习知技术少的页开启与页关闭,因而减少了处理的延迟。 
表格3(现有技术) 
  间隔  器件A  器件B  器件C   习知的选择
 0   无请求   无请求   无请求   无
 1   0   无请求   无请求   A
 2   无请求   1   无请求   B
 3   无请求   无请求   无请求   无
 4   0   无请求   无请求   A
 5   无请求   无请求   3   C
 6   无请求   1   无请求   B
 7   0   无请求   无请求   A
 8   无请求   无请求   无请求   无
 9   0   无请求   3   C
表格4 
  间隔   器件A   器件B   器件C   改良的选择
  0   无请求   无请求   无请求   无
  1   无请求   无请求   无请求   无
  2   无请求   无请求   无请求   无
  3   0   无请求   无请求   A
  4   0   无请求   无请求   A
  5   无请求   1   3   C
  6   无请求   1   无请求   B
  7   无请求   1   无请求   B
  8   0   无请求   无请求   A
  9   0   无请求   3   C
相似地,如由图6所描述,在步骤602,步骤208的优先的存储器访问请求选择的另一个实作可包含决定是否由来自任何器件的缓冲存储器访问请求所代表的读取或写入数据达到或超过预定数据阈值。如果没有,在步骤604,使用,例如,循环选择或另一种选择方案,从器件选择存储器访问请求。否则,在步骤606,在连续的存储器访问间隔期间,藉由仲裁器提供一些或全部的缓冲的存储器访问请求给存储器控制器用于处理。 
参阅图7,依照本发明的至少一个实施例说明用于实作在本文中揭露的一个或多个仲裁技术的例示仲裁器700。如上述,仲裁器700可包含请求选择器模组702、指示器分析模组704、多路复用器706与708、及寄存器710、712、714、716、718与720。模组702与708能实作为软件、硬件、固件或其中的组合。寄存器710储存值,该值识别与用于先前存储器访问间隔所选择的存储器访问请求相关联的器件。寄存器712储存值,该值代表从相同器件可连续地选择存储器访问的次数的最大数目,而寄存器714储存值,该值代表用于紧接在前的存储器访问间隔已被连续地选择存储器访问请求的次数数目的数。寄存器716储存值,该值代表与缓冲的存储器访问请求相关联的预定数据阈值,而寄存器718储存值,该值代表与存储器访问请求缓冲器相关联的存储器访问请求的预定数目。寄存器720储存值,该值代表与用于先前存储器访问间隔所选择的存储器访问请求相关联的存储器地址。一个或多个寄存器712、714、716与718的值能可程序化以便客制化(customize)由仲裁器700使用的存储器访问请求的仲裁方案至处理器件(例如,图1的SOC102)的操作的特定特色。 
在操作中,在多路复用器708接收一个或多个存储器访问请求A至D(分别来自器件A至D)。基于来自指示器分析模组704的输入及/或一个或多个寄存器710、712、714、716、718与720的值,请求选择器模组702决定存储器访问请求A至D中哪一个将被选择以提供给存储器控制器,并提供对应的选择信号722给多路复用器708以指示多路复用器708输出选择的存储器访问请求,作为用于由存储器控制器接收的输出724。 
在一个实施例中,如关于图4的讨论,请求选择器模组702优先地选择与由寄存器710所指的器件相关联的存储器访问请求(亦即,与用于先前存储器访问间隔所选择的存储器访问请求相关联的器件),且除非在寄存器714的数值达到或超过由在寄存器712中的值代表的最大数目,增量在寄存器714中的数值。否则,重设数值并能使用另一个选择方案,例如循环。 
在另一个实施例中,如关于图5与6的讨论,当缓冲的存储器访问请求的总数目达到或超过由在寄存器718中的值所代表的阈值时, 或当由缓冲存储器访问请求所访问的数据总数达到或超过由储存在寄存器716中的值所代表的预定数据阈值时,请求选择器模组702优先地选择来自器件的一个或多个缓冲的存储器访问请求。 
此外,如关于图3的讨论,在一个实施例中,基于指示器,请求选择器模组702优先地选择来自器件的存储器访问请求,其中该指示器代表是否存储器访问请求期望访问与用于先前存储器访问间隔所选择的存储器访问请求相同的存储器页。为了说明,多路复用器706从器件A至D各自接收指示器A至D。在一个实施例中,指示器A至D代表与对应的存储器访问请求A至D相关联的存储器地址的最高有效位元的一些数目。请求选择器模组702提供选择信号726给多路复用器706以依序选择指示器A至D的一者提供给指示器分析模组704。指示器分析模组704比较选择的指示器(例如,存储器地址子集)与储存于寄存器720中的存储器地址值(代表与先前选择的存储器访问请求相关联的存储器地址)以决定是否对应的存储器访问请求期望访问与先前选择的存储器访问请求相同的存储器页。若为所期望的,指示器分析模组704提供选择信号728给请求选择器模组702以指示哪一个器件的哪个存储器访问请求期望访问与先前选择的存储器访问请求相同的存储器页。在回应上,请求选择器模组702提供对应的选择信号722给多路复用器728以便选择对应的存储器访问请求用于提供给存储器控制器作为输出724。 
对于熟习此技艺者而言,在考虑本文中所揭露的说明书与实作,本发明的其他实施例、使用及优点将会是明显的。本发明的说明书与图式应被视为仅作示范,而因此,本发明的范围意欲仅藉由后附的权利要求书与其等效者所限制。 

Claims (3)

1.一种存储器访问请求仲裁的方法,包括:
从多个器件(116,118,120)的每个器件接收至少一个存储器访问请求;
判断是否仅有一个存储器访问请求比其余的存储器访问请求具有较高优先权;以及
在判断并非仅有一个存储器访问请求比其余的存储器访问请求具有较高优先权之后,为响应确定(502)通过缓冲的存储器访问请求访问的总的数据的量大于或等于预定的数据的量,相对于从该多个器件(116,118,120)的其他器件选择存储器访问请求而优先地从该多个器件(116,118,120)的第一器件选择(506)缓冲的存储器访问请求,以用于连续提供给多页存储器(104)。
2.一种存储器访问请求仲裁的系统(100),包括:
访问仲裁器(106,108),耦接至多页存储器(104),其中,该访问仲裁器用于:
从多个器件(116,118,120)的每个器件接收至少一个存储器访问请求;
判断是否仅有一个存储器访问请求比其余的存储器访问请求具有较高优先权;以及
在判断并非仅有一个存储器访问请求比其余的存储器访问请求具有较高优先权之后,为响应确定通过从该多个器件(116,118,120)的第一器件选择(506)的缓冲的存储器访问请求访问的总的数据的量大于或等于预定的数据的量,相对于从该多个器件(116,118,120)的其他器件的存储器访问请求而优先地选择(506)该缓冲的存储器访问请求,以用于连续提供给该多页存储器(104)。
3.一种存储器访问请求仲裁的方法,包括:
在第一间隔期间接收从多个器件的每个器件的至少一个存储器访问请求以访问多页存储器;
判断是否仅有一个存储器访问请求比其余的存储器访问请求具有较高优先权;以及
在判断并非仅有一个存储器访问请求比其余的存储器访问请求具有较高优先权之后,为响应确定通过从子集的第一器件选择的缓冲的存储器访问请求访问的总的数据的量大于或等于预定的数据的量,则在该子集中相对于从其他器件的存储器访问请求而优先地选择该缓冲的存储器访问请求以用于连续提供给该多页存储器。
CN2006800462409A 2005-12-09 2006-12-08 存储器访问请求仲裁 Active CN101326504B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/297,856 2005-12-09
US11/297,856 US7426621B2 (en) 2005-12-09 2005-12-09 Memory access request arbitration
PCT/US2006/046877 WO2007067739A1 (en) 2005-12-09 2006-12-08 Memory access request arbitration

Publications (2)

Publication Number Publication Date
CN101326504A CN101326504A (zh) 2008-12-17
CN101326504B true CN101326504B (zh) 2012-04-25

Family

ID=37865831

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2006800462409A Active CN101326504B (zh) 2005-12-09 2006-12-08 存储器访问请求仲裁

Country Status (8)

Country Link
US (1) US7426621B2 (zh)
JP (1) JP2009518753A (zh)
KR (1) KR20080075910A (zh)
CN (1) CN101326504B (zh)
DE (1) DE112006003358B4 (zh)
GB (1) GB2446997B (zh)
TW (1) TW200728983A (zh)
WO (1) WO2007067739A1 (zh)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7353317B2 (en) * 2004-12-28 2008-04-01 Intel Corporation Method and apparatus for implementing heterogeneous interconnects
JP5261993B2 (ja) * 2007-06-15 2013-08-14 富士通セミコンダクター株式会社 ディスプレイ制御回路およびディスプレイ装置
TWI385634B (zh) * 2008-04-02 2013-02-11 Novatek Microelectronics Corp 用於一液晶顯示器控制器之微處理器裝置及相關方法
US8266393B2 (en) * 2008-06-04 2012-09-11 Microsoft Corporation Coordination among multiple memory controllers
JP5380322B2 (ja) * 2010-02-17 2014-01-08 京セラドキュメントソリューションズ株式会社 メモリマスタデバイス
US8572322B2 (en) * 2010-03-29 2013-10-29 Freescale Semiconductor, Inc. Asynchronously scheduling memory access requests
US8560796B2 (en) * 2010-03-29 2013-10-15 Freescale Semiconductor, Inc. Scheduling memory access requests using predicted memory timing and state information
KR101292309B1 (ko) * 2011-12-27 2013-07-31 숭실대학교산학협력단 반도체칩 및 메모리 제어방법, 그리고 그 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 기록매체
CN104067309A (zh) * 2011-12-28 2014-09-24 英特尔公司 流水线化的图像处理序列发生器
US8751830B2 (en) * 2012-01-23 2014-06-10 International Business Machines Corporation Memory address translation-based data encryption/compression
WO2014147769A1 (ja) * 2013-03-19 2014-09-25 富士通株式会社 制御装置、デバイスアクセス方法、デバイスアクセスプログラム及び情報処理装置
GB2522653A (en) 2014-01-31 2015-08-05 Ibm Bridge and method for coupling a requesting interconnect and a serving interconnect in a computer system
TWI553483B (zh) * 2014-10-13 2016-10-11 瑞昱半導體股份有限公司 處理器及存取記憶體的方法
US10684969B2 (en) * 2016-07-15 2020-06-16 Advanced Micro Devices, Inc. Command arbitration for high speed memory interfaces
US10402937B2 (en) 2017-12-28 2019-09-03 Nvidia Corporation Multi-GPU frame rendering
CN110729006B (zh) 2018-07-16 2022-07-05 超威半导体(上海)有限公司 存储器控制器中的刷新方案

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0901080A1 (en) * 1997-09-08 1999-03-10 STMicroelectronics Ltd. Arbitration system
US6088772A (en) * 1997-06-13 2000-07-11 Intel Corporation Method and apparatus for improving system performance when reordering commands
US6145065A (en) * 1997-05-02 2000-11-07 Matsushita Electric Industrial Co., Ltd. Memory access buffer and reordering apparatus using priorities
US6272583B1 (en) * 1997-12-26 2001-08-07 Mitsubishi Denki Kabushiki Kaisha Microprocessor having built-in DRAM and internal data transfer paths wider and faster than independent external transfer paths
US6564304B1 (en) * 2000-09-01 2003-05-13 Ati Technologies Inc. Memory processing system and method for accessing memory including reordering memory requests to reduce mode switching
CN1533536A (zh) * 2001-07-18 2004-09-29 皇家菲利浦电子有限公司 多处理器设备中的非易失性存储器装置和方法

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5440752A (en) * 1991-07-08 1995-08-08 Seiko Epson Corporation Microprocessor architecture with a switch network for data transfer between cache, memory port, and IOU
JPH0660008A (ja) * 1992-08-07 1994-03-04 Hitachi Cable Ltd 2ポートメモリ
US5822772A (en) 1996-03-22 1998-10-13 Industrial Technology Research Institute Memory controller and method of memory access sequence recordering that eliminates page miss and row miss penalties
JPH11165454A (ja) * 1997-12-04 1999-06-22 Canon Inc 画像処理装置及び画像処理システム
US6052756A (en) * 1998-01-23 2000-04-18 Oki Electric Industry Co., Ltd. Memory page management
JP2002049580A (ja) * 2000-08-02 2002-02-15 Mitsubishi Electric Corp バス管理装置、バス使用要求送信装置、バス管理方法、及びバス使用要求送信方法
US6625700B2 (en) * 2001-05-31 2003-09-23 Sun Microsystems, Inc. Arbitration and select logic for accessing a shared memory
US6785793B2 (en) 2001-09-27 2004-08-31 Intel Corporation Method and apparatus for memory access scheduling to reduce memory access latency
US7035984B2 (en) * 2001-12-31 2006-04-25 Intel Corporation Memory arbiter with grace and ceiling periods and intelligent page gathering logic
US6799257B2 (en) 2002-02-21 2004-09-28 Intel Corporation Method and apparatus to control memory accesses
US6880028B2 (en) * 2002-03-18 2005-04-12 Sun Microsystems, Inc Dynamic request priority arbitration
JP4344163B2 (ja) * 2002-04-17 2009-10-14 パナソニック株式会社 資源要求調停装置、資源要求調停方法、及び、コンピュータプログラム
US7404047B2 (en) 2003-05-27 2008-07-22 Intel Corporation Method and apparatus to improve multi-CPU system performance for accesses to memory

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6145065A (en) * 1997-05-02 2000-11-07 Matsushita Electric Industrial Co., Ltd. Memory access buffer and reordering apparatus using priorities
US6088772A (en) * 1997-06-13 2000-07-11 Intel Corporation Method and apparatus for improving system performance when reordering commands
EP0901080A1 (en) * 1997-09-08 1999-03-10 STMicroelectronics Ltd. Arbitration system
US6272583B1 (en) * 1997-12-26 2001-08-07 Mitsubishi Denki Kabushiki Kaisha Microprocessor having built-in DRAM and internal data transfer paths wider and faster than independent external transfer paths
US6564304B1 (en) * 2000-09-01 2003-05-13 Ati Technologies Inc. Memory processing system and method for accessing memory including reordering memory requests to reduce mode switching
CN1533536A (zh) * 2001-07-18 2004-09-29 皇家菲利浦电子有限公司 多处理器设备中的非易失性存储器装置和方法

Also Published As

Publication number Publication date
JP2009518753A (ja) 2009-05-07
US20070136545A1 (en) 2007-06-14
WO2007067739A1 (en) 2007-06-14
US7426621B2 (en) 2008-09-16
GB2446997B (en) 2010-11-10
DE112006003358B4 (de) 2022-08-04
GB2446997A (en) 2008-08-27
GB0811767D0 (en) 2008-07-30
DE112006003358T5 (de) 2008-10-02
TW200728983A (en) 2007-08-01
CN101326504A (zh) 2008-12-17
KR20080075910A (ko) 2008-08-19

Similar Documents

Publication Publication Date Title
CN101326504B (zh) 存储器访问请求仲裁
US7698498B2 (en) Memory controller with bank sorting and scheduling
CN1095130C (zh) 用于可变宽度数据转移的可调深度/宽度先进先出缓冲器
EP1386247B1 (en) User configurable on-chip memory system
US9069918B2 (en) System and method implementing full-rate writes for simulation acceleration
CN104471555A (zh) 用于高速缓存系统的多级互联系统及多级互联方法
CN103597460A (zh) 用于利用存储命令的系统和方法
US10802750B2 (en) Universal flash storage memory module, controller and electronic device with advanced turbo write buffer and method for operating the memory module
CN105849669A (zh) 用于单个通道内的dram空间联合的方法和装置
Bainbridge et al. Asynchronous macrocell interconnect using MARBLE
US8103833B2 (en) Cache memory and a method for servicing access requests
CN112948293A (zh) 一种多用户接口的ddr仲裁器及ddr控制器芯片
CN102456415A (zh) 半导体存储器件及其操作方法
CN102918515A (zh) 将数据存储在存储器控制器中的多个缓冲器的任何中
CN102402422A (zh) 处理器组件及该组件内存共享的方法
CN105190577A (zh) 合并存储器访问请求
US7346713B2 (en) Methods and apparatus for servicing commands through a memory controller port
CN101939733A (zh) 外部设备存取装置、其控制方法及系统大规模集成电路
US20150278113A1 (en) Data transfer control device and memory-containing device
CN106709116A (zh) 一种生成rtl级ip核方法及装置
CN105573933A (zh) 处理器及存取存储器的方法
US7636817B1 (en) Methods and apparatus for allowing simultaneous memory accesses in a programmable chip system
EP2538336A2 (en) System and method for allocating memory resources
US7353484B1 (en) Methods and apparatus for variable latency support
US6486884B1 (en) Apparatus for accessing memory in a video system and method thereof

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: GLOBALFOUNDRIES INC.

Free format text: FORMER OWNER: ADVANCED MICRO DEVICES INC.

Effective date: 20100730

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: CALIFORNIA STATE, USA TO: CAYMAN ISLANDS GRAND CAYMAN ISLAND

TA01 Transfer of patent application right

Effective date of registration: 20100730

Address after: Grand Cayman, Cayman Islands

Applicant after: Globalfoundries Semiconductor Inc.

Address before: American California

Applicant before: Advanced Micro Devices Inc.

C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20201215

Address after: California, USA

Patentee after: Lattice chip (USA) integrated circuit technology Co.,Ltd.

Address before: Greater Cayman Islands, British Cayman Islands

Patentee before: GLOBALFOUNDRIES Inc.

TR01 Transfer of patent right
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20210401

Address after: No.1, Duhang 1st Road, Hsinchu City, Hsinchu Science Park, Taiwan, China

Patentee after: MEDIATEK Inc.

Address before: California, USA

Patentee before: Lattice chip (USA) integrated circuit technology Co.,Ltd.