CN101208672A - 存储器微块化推测性返回 - Google Patents

存储器微块化推测性返回 Download PDF

Info

Publication number
CN101208672A
CN101208672A CNA2006800203777A CN200680020377A CN101208672A CN 101208672 A CN101208672 A CN 101208672A CN A2006800203777 A CNA2006800203777 A CN A2006800203777A CN 200680020377 A CN200680020377 A CN 200680020377A CN 101208672 A CN101208672 A CN 101208672A
Authority
CN
China
Prior art keywords
subchannel
request
memory controller
requests
visit
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
CNA2006800203777A
Other languages
English (en)
Other versions
CN101208672B (zh
Inventor
J·秋山
W·克利福德
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.)
Intel Corp
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Publication of CN101208672A publication Critical patent/CN101208672A/zh
Application granted granted Critical
Publication of CN101208672B publication Critical patent/CN101208672B/zh
Expired - Fee Related 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
    • 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/1684Details of memory controller using multiple buses
    • 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

Abstract

根据一个实施例,公开了一种存储器控制器。该存储器控制器包括分配逻辑和事务汇集器。该分配逻辑接收访问存储器通道的请求,并且分配所述请求以访问在所述通道之中的两个或更多的可独立寻址的子通道中的一个。该事务汇集器将所述请求与一个或多个附加请求进行组合,以访问在所述通道之中的所述两个或更多的可独立寻址的子通道,并且便于从无可用子通道请求的子通道推测性返回数据。

Description

存储器微块化推测性返回
技术领域
本发明涉及计算机系统;更具体而言,本发明涉及存储器访问控制。
背景技术
对视频存储器的主存储器进行访问的图形控制器是实现统一存储器架构(UMA)的计算机系统的特色。然而,UMA图形系统的存储器效率可能由于CPU高速缓存线大小的需求而受到限制。例如,用于图形的理想存储器访问大小可以是4到16字节,因为图形控制器能够一次对一个或几个像素或者纹理元素(texel)进行操作。然而,常常针对64字节的CPU高速缓存线大小来优化存储器架构,以使得CPU存储器效率最优化。其结果是,平均起来,从存储器中读出的相当大量的数据可能从未被图形存储器使用过。分立式图形控制器的制造商通过使用更为狭窄的存储器通道而在取出(fetch)过程中使得该问题最小化。然而,该解决方案不能用于基于UMA的集成图形控制器。
附图说明
将通过举例的方式来图示本发明,但是并不局限于附图中的特征,在附图中,相同的参考标记表示类似的元件,并且在附图中
图1是计算机系统的一个实施例的框图;
图2示出了存储器控制器的一个实施例;
图3示出了逻辑虚拟地址的一个实施例;
图4示出了存储器控制器的另一个实施例;
图5A和5B示出了性能上的改善;以及
图6是计算机系统的另一个实施例的框图。
具体实施方式
要描述的是对于存储器事务(transaction)的推测性返回(speculative return)。在以下对于本发明的详细描述中,阐述了多个具体细节,以便提供对本发明的透彻理解。然而,本领域技术人员要理解的是,没有这些具体细节,本发明也是可以实现的。在其他实例中,以框图的形式示出了已知的结构和装置,而不是给出细节,以便避免本发明变得不清楚。
在说明书中提到的“一个实施例”或者“实施例”意思是结合该实施例所描述的特定特征、结构、或者特点包含在本发明的至少一个实施例中。说明书中各个地方出现的短语“在一个实施例中”并非都一定指的是同一实施例。
图1是计算机系统100的一个实施例的框图。计算机系统100包括中央处理单元(CPU)102,其耦合到接口105。在一个实施例中,CPU 102是来自加利福尼亚Santa Clara的Intel公司的Pentium系列的处理器,PentiumIV处理器。可替换地,也可以使用其他CPU。例如,可以使用多个处理内核来实现CPU 102。在另一个实施例中,计算机系统100可以包括多个CPU 102。
在另一个实施例中,芯片组107也耦合到接口105。芯片组107包括存储器控制组件110。存储器控制组件110可以包括耦合到系统主存储器115的存储器控制器112。系统主存储器115存储数据和由CPU 102或者系统100中包含的任何其他器件所执行的指令序列。在一个实施例中,系统主存储器115包括动态随机存取存储器(DRAM);然而,系统主存储器115可以使用其他存储器类型来实现。还可以将其他器件耦合到接口105,例如多个CPU和/或多个系统存储器。
存储器控制组件110可以通过接口耦合到输入/输出(I/O)控制组件140。I/O控制组件140提供通往计算机系统100中的I/O器件的接口。I/O控制组件140可以支持I/O总线(例如外设部件互连(PCI)Express、加速图形端口(AGP)、通用串行总线(USB)、少针脚型接口(low pin count,LPC)总线、或者其他类型的I/O总线(未示出))上的标准I/O操作。
根据一个实施例,图形控制器160与芯片组107进行通信,并且图形控制器160被实现为提供视频图形至耦合到计算机系统100的显示器(未示出)。图形控制器160访问用于视频存储器的主存储器115。如上所述,支持图形系统和CPU的存储器器件的存储器效率受到限制,因为用于图形的存储器访问大小经常理想地为4到16字节,而存储器架构是针对64字节的CPU线大小进行优化以使CPU效率最优化的。
根据一个实施例,存储器控制组件110降低了图形器件的存储器请求大小,同时保持了64字节的存储器事务。标准存储器通道,例如基于DDRDRAM技术的存储器通道,具有某种m比特的物理宽度。存储器事务由T次传送(transfer)组成,其总逻辑宽度为M=m*T/8个字节。在每次事务中的字节被认为是具有连续的地址。在随后的讨论中,术语宽度表示逻辑宽度。
微块化(micro-tiling)将M字节宽度的通道划分为S个子通道,每个子通道宽度为N=M/S字节,其中,在每个子通道上传送N字节的数据。为每个子通道提供地址,其中,某一数量(I)的独立地址比特可能不同于给予其他子通道的地址中的对应比特。在每个子通道上传送的数据被认为是表示毗邻的地址范围。然而,在每个子通道上的数据块并非一定来自于毗邻的地址范围。每个子通道包括通道的总存储单元的子集。
图2示出了支持微块化(micro-tiling)的存储器控制组件110的一个实施例。在一个实施例中,多通道存储器子系统每个通道具有一个微块化存储器控制器。因此,如图2所示,存储器控制组件110包括两个存储器控制器112(存储器控制器1和2),分别用于这两个通道的每一个。每个通道包括S个子通道,每个子通道宽度为N字节。于是,每个通道宽度为M=N*S字节。
在该图中,对存储器读出或写入的请求被示为2×2的正方形阵列,其可以表示像素或者纹理元素的2×2阵列。对于在分配给子通道之前的请求进行了图示。在子通道分配之后,将请求编号为0-S-1,以指示子通道分配。对于耦合到存储器控制组件110的请求者205的N字节返回是在读出事务的情况下发生的。
存储器控制组件110包括通道分配逻辑210,其耦合到存储器控制器112。通道分配210经由存储器控制器112将从请求者205接收的每个请求分配至存储器通道240。更进一步地,每个存储器控制器112包括子通道分配215、重排序缓冲器220和事务汇集器(assembler)230。因此,如图2所示,将请求分配给存储器控制器1或者存储器控制器2。
子通道分配215将每个请求分配给在存储器通道240中的子通道。重排序缓冲器220收集请求,以使得事务汇集器230尝试汇集对于每个存储器240的子通道的存储器访问。根据一个实施例,每个子通道具有相等的N字节宽度。
在图2所示的系统的操作期间,将进入到存储器控制器(1或2)的请求分配给子通道并且将其放置在重排序缓冲器220中,该请求是地址A处的对于N字节数据块进行读出或者写入的请求。在一个实施例中,采用以下处理定义同一性子通道分配(Identity SubchannelAssignment)s:将该请求地址A向右偏移P=log2(N)个比特,得到新的整数值
Figure S2006800203777D00041
(例如, A ~ = A > > P );并且s是
Figure S2006800203777D00043
的Q=log2(S)个最低有效比特(例如,)。
存储器控制器通过从重排序缓冲器220选择S个读出请求(分别用于每个子通道)来形成存储器读出事务。存储器控制器通过从重排序缓冲器220选择S个写入请求(分别用于每个子通道)来形成存储器写入事务。由共享地址线所表示的地址部分与在该事务中所有的子通道请求相同。
图3示出了对物理地址中的地址比特的解释的一个实施例。图3中所示的对于共享和独立地址比特的选择以及子通道选择比特是为了图示说明目的,因为可以随意地将在P个子通道数据地址比特之上的地址比特划分为共享和独立的地址比特以及子通道选择比特。独立地址比特在子通道之间是不同的,并且未必是毗邻的。发送到子通道的地址比特是该子通道的共享地址比特和独立地址比特。
图4示出了存储器控制组件110的一个实施例,其从4个16字节的请求汇集成64字节的事务,图中仅示出了单个通道。图4所示出的重排序缓冲器220被实现为用于每个子通道的重排序队列。然而,在其他实施例中,重排序缓冲器220可以通过其他机制实现。
在该实施例中,事务汇集器230从16B的请求(分别用于每个子通道)构建64B的存储器请求。形成该存储器请求的所有16B请求都具有相同的共享地址比特。因此,汇集器230查询该队列,根据请求是否具有共同的共享地址来找到能够被汇集到单个事务中的请求。
注意,在图4所示的实施例中,汇集器230不能找到用于子通道1c的请求。当尝试形成事务时,存储器控制器可能不能为每个子通道找到请求以使得所有子通道都具有相同的共享地址段(例如,使得每个共享地址比特的值在所有请求之间都相同)。发生这种事件的子通道可以称为是“空”子通道。
根据一个实施例,如果子通道不能用在相应队列中的请求进行填充,则结果是不执行去往/来自该子通道的传送。在这种实施例中,如果子通道不能用请求进行填充,则读出任意存储单元并且将结果抛弃。在替换实施例中,每个子通道包括附加控制线,其用于在不存在对于该通道的相应请求时,减小(power down)子通道的功率。
在另一实施例中,执行推测性读出并将其返回到请求者,而不是抛弃所取得的数据。推测性返回涉及:在其他未使用的(otherwiseunused)子通道上读出N字节的数据块,并且像对任何其他读出请求那样,将该数据返回到某个请求者。因此,存储器控制器可以选择在其他“空”(otherwise“empty”)子通道上读出具有与在同一存储器事务中在其他子通道上被访问的数据相同的共享地址比特的任意对齐的(any aligned)N比特数据块,并且使得该数据可由某个请求者使用。
根据一个实施例,通过为与该“空”子通道相关联的独立地址线分配相邻子通道的独立地址比特,来在事务汇集器230上实现推测性返回,其结果是返回2个N字节数据块,其具有相同的共享和独立地址比特。尽管以上所述的是复制独立地址线,其他实施例也可以实施其他机制来选择被推测性返回的数据块。
作为一个实例参考图4,不能找到用于子通道1c的请求。因此子通道1c是“空”子通道。在所公开的实施例中,事务汇集器230将子通道1d的独立地址比特分配给子通道1c,并且将子通道1c的数据返回给与子通道1d相关联的请求者。因此,推测性返回通过执行推测性子通道读出并将结果返回至请求者,提高了有效存储器利用。如果请求者稍后需要该数据,则其可以已经/仍然被保持在例如高速缓存中。
微块化存储器子通道能够访问在由共享地址比特和I个独立地址比特所确定的某个地址范围之内的不毗邻的存储器地址。因此,与将I个地址信号复制到每个子通道的成本进行权衡,对于I的明智选择能够提供独立子通道的增强的并行性和带宽效率。
图5A和5B示出了微块化的性能改善。每个图示出了在分块地址空间(tiled address space)中的三角形的光栅化(rasterization),每个小正方形表示4字节像素或者纹理元素。图5A示出了当每个请求是64字节时,在标准存储器系统中的过读取(overfetch)。每个4×4像素块表示64字节的对齐的存储器块。该三角形包围了57个像素。采用标准存储器子系统,这57个像素在11个(64字节)存储器块中。因此,为了访问这57个像素,需要访问可能不被使用的额外的119个像素的代价数据(worth of data)(例如,得到32%的效率)。
图5B示出了在每个请求是16字节并且所有这些请求都可以由微块化汇集器用来构建不带有未使用的子通道的64字节存储器事务的情况下的过读取。在该情况下,三角形接触23个2×2像素阵列,结果是访问35个额外的代价数据(例如,得到62%的效率)。微块化的有效性取决于汇集器构建完全填充的存储器事务的能力。
图6示出了计算机系统100的另一实施例。在该实施例中,与独立的存储器控制组件和I/O控制组件不同,芯片组107包括单个控制集线器(control hub)620。从而,存储器控制器112被包含在CPU 102中,存储器115耦合到CPU 102。在这样的实施例中,图形控制器160耦合到控制集线器620,并且经由CPU 102访问主存储器115。
然而,在阅读了以上描述之后,本发明的很多替换和修改对于本领域技术人员而言毫无疑问地变得显而易见,要理解的是,通过图示说明所示出和描述的任何特定实施例并非意欲被认为是限制性的。因此,对于各种实施例的细节的参考并非意欲限制权利要求的范围,在权利要求中仅仅阐述了被认为是对本发明而言是必要的那些特征。

Claims (20)

1.一种存储器控制器,包括:
分配逻辑,其接收访问存储器通道的请求,并且分配所述请求以访问在所述通道之中的两个或更多子通道之一;以及
事务汇集器,其将所述请求与一个或多个附加请求进行组合,以访问在所述通道之中的所述两个或更多子通道,并且便于从无可用子通道请求的子通道推测性返回数据。
2.如权利要求1所述的存储器控制器,其中,每个所述子通道请求包含独立地址部分和共享地址部分。
3.如权利要求2所述的存储器控制器,其中,子通道请求的所述独立地址部分与子通道相关联。
4.如权利要求3所述的存储器控制器,其中,所述事务汇集器通过选择将要与所述的无可用请求的子通道相关联的独立地址部分,来便于从所述的无可用请求的子通道推测性返回数据。
5.如权利要求4所述的存储器控制器,其中,从所述的无可用请求的子通道中所推测性读取的数据被返回至请求者。
6.如权利要求1所述的存储器控制器,还包括:重排序缓冲器,其存储所述请求。
7.如权利要求6所述的存储器控制器,其中,所述重排序缓冲器包括与所述两个或更多子通道中每一个相关联的队列。
8.如权利要求7所述的存储器控制器,其中,每个队列存储要传送至相关联的子通道的请求。
9.一种方法,包括:
在存储器控制器处,接收访问耦合至所述存储器控制器的存储器通道的请求;
将每个所述请求分配给相关联的、所述存储器通道之中的、可独立寻址的子通道;
将所述请求与一个或多个附加请求进行组合,以访问在所述通道之中的两个或更多的可独立寻址的子通道;以及
从子通道推测性地返回数据,对于该子通道而言请求不可用。
10.如权利要求9所述的方法,其中,从无可用请求的子通道推测性地返回数据的过程包括:选择将要与所述的无可用请求的子通道相关联的独立地址部分。
11.如权利要求9所述的方法,还包括:在将每个所述请求分配给子通道之后,将所述请求存储在重排序缓冲器中。
12.如权利要求9所述的方法,还包括:在汇集了所述请求之后,将所述请求转发至所述相关联的子通道。
13.如权利要求10所述的方法,还包括:将从所述的无可用请求的子通道中所推测性返回的数据返回至请求者。
14.一种系统,包括:
存储器器件,其具有一个或多个通道;以及
芯片组,其耦合至所述存储器器件,具有存储器控制器,用于接收访问一个或多个存储器通道中的一个的请求,分配所述请求以访问在所述通道之中的两个或更多可独立寻址的子通道中的一个,将所述请求与一个或多个附加请求进行组合,以访问在所述通道之中的所述两个或更多可独立寻址的子通道,并且便于从无可用请求的子通道推测性返回数据。
15.如权利要求14所述的系统,其中包括:
分配逻辑,用于分配所述请求以访问所述子通道;以及
事务汇集器,用于组合所述请求,并且便于所述的数据的推测性返回。
16.如权利要求15所述的系统,其中,所述存储器控制器还包括重排序缓冲器,用于存储所述子通道请求。
17.如权利要求16所述的系统,其中,所述重排序缓冲器包括与所述两个或更多子通道中每一个相关联的队列。
18.如权利要求16所述的系统,其中,所述事务汇集器通过选择将要与所述的无可用请求的子通道相关联的独立地址部分,来便于从所述的无可用请求的子通道推测性返回数据。
19.如权利要求14所述的系统,还包括耦合至所述存储器器件和所述存储器控制器的请求者,其中,从所述的无可用请求的子通道中所推测性读取的数据被返回至所述请求者。
20.如权利要求14所述的系统,其中,所述芯片组包括第二存储器控制器,用于接收访问一个或多个存储器通道中的一个的请求,分配所述请求以访问在所述通道之中的两个或更多可独立寻址的子通道中的一个。
CN2006800203777A 2005-06-23 2006-06-23 存储器微块化推测性返回 Expired - Fee Related CN101208672B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/165,390 2005-06-23
US11/165,390 US7587521B2 (en) 2005-06-23 2005-06-23 Mechanism for assembling memory access requests while speculatively returning data
PCT/US2006/024546 WO2007002445A2 (en) 2005-06-23 2006-06-23 Memory micro-tiling speculative returns

Publications (2)

Publication Number Publication Date
CN101208672A true CN101208672A (zh) 2008-06-25
CN101208672B CN101208672B (zh) 2010-05-19

Family

ID=37545366

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2006800203777A Expired - Fee Related CN101208672B (zh) 2005-06-23 2006-06-23 存储器微块化推测性返回

Country Status (9)

Country Link
US (1) US7587521B2 (zh)
EP (1) EP1894112B1 (zh)
JP (1) JP4879981B2 (zh)
KR (1) KR100958264B1 (zh)
CN (1) CN101208672B (zh)
AT (1) ATE464605T1 (zh)
DE (1) DE602006013627D1 (zh)
TW (1) TWI328169B (zh)
WO (1) WO2007002445A2 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107003837A (zh) * 2014-12-17 2017-08-01 英特尔公司 用于推测性编译器优化的轻量级受限事务存储器

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7765366B2 (en) * 2005-06-23 2010-07-27 Intel Corporation Memory micro-tiling
US8332598B2 (en) * 2005-06-23 2012-12-11 Intel Corporation Memory micro-tiling request reordering
US8253751B2 (en) 2005-06-30 2012-08-28 Intel Corporation Memory controller interface for micro-tiled memory access
US7558941B2 (en) * 2005-06-30 2009-07-07 Intel Corporation Automatic detection of micro-tile enabled memory
US8878860B2 (en) * 2006-12-28 2014-11-04 Intel Corporation Accessing memory using multi-tiling
SE531148C2 (sv) 2007-05-16 2009-01-07 Dinair Dev Ab Användning av ett material såsom filtergrundmaterial förfarande för tillverkning av filtergrundmaterial, filtergrundmaterial och filter
US8006032B2 (en) * 2007-08-22 2011-08-23 Globalfoundries Inc. Optimal solution to control data channels
JP2010027032A (ja) * 2008-06-17 2010-02-04 Nec Electronics Corp Fifo装置及びfifoバッファへのデータ格納方法
US20100058016A1 (en) * 2008-08-26 2010-03-04 Jari Nikara Method, apparatus and software product for multi-channel memory sandbox
US8359421B2 (en) * 2009-08-06 2013-01-22 Qualcomm Incorporated Partitioning a crossbar interconnect in a multi-channel memory system
US8880819B2 (en) 2011-12-13 2014-11-04 Micron Technology, Inc. Memory apparatuses, computer systems and methods for ordering memory responses
GB2551351B (en) * 2016-06-14 2019-05-08 Imagination Tech Ltd Executing memory requests out of order
EP3270295A1 (en) * 2016-07-15 2018-01-17 Advanced Micro Devices, Inc. Memory controller with virtual controller mode
US10037150B2 (en) 2016-07-15 2018-07-31 Advanced Micro Devices, Inc. Memory controller with virtual controller mode

Family Cites Families (58)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US179598A (en) * 1876-07-04 Improvement in cutter-heads
US193293A (en) * 1877-07-17 Improvement in safe and vault
US3323109A (en) * 1963-12-30 1967-05-30 North American Aviation Inc Multiple computer-multiple memory system
JPS51127626A (en) * 1975-04-30 1976-11-06 Hitachi Ltd Information processor
US3988717A (en) * 1975-08-06 1976-10-26 Litton Systems, Inc. General purpose computer or logic chip and system
NL7510904A (nl) * 1975-09-17 1977-03-21 Philips Nv Woordgroepsprioriteitsinrichting.
US4124891A (en) * 1976-11-18 1978-11-07 Honeywell Information Systems Inc. Memory access system
US4495570A (en) * 1981-01-14 1985-01-22 Hitachi, Ltd. Processing request allocator for assignment of loads in a distributed processing system
US4504902A (en) * 1982-03-25 1985-03-12 At&T Bell Laboratories Cache arrangement for direct memory access block transfer
JPH0267622A (ja) 1988-09-01 1990-03-07 Kansai Nippon Denki Software Kk ディスク入出力方式
US5325510A (en) * 1990-05-25 1994-06-28 Texas Instruments Incorporated Multiprocessor system and architecture with a computation system for minimizing duplicate read requests
US5251310A (en) * 1990-06-29 1993-10-05 Digital Equipment Corporation Method and apparatus for exchanging blocks of information between a cache memory and a main memory
US5526507A (en) * 1992-01-06 1996-06-11 Hill; Andrew J. W. Computer memory array control for accessing different memory banks simullaneously
US5459842A (en) 1992-06-26 1995-10-17 International Business Machines Corporation System for combining data from multiple CPU write requests via buffers and using read-modify-write operation to write the combined data to the memory
JPH0695959A (ja) * 1992-09-09 1994-04-08 Hitachi Ltd 情報処理装置
JP3240709B2 (ja) * 1992-10-30 2001-12-25 株式会社アドバンテスト メモリ試験装置
US6804760B2 (en) * 1994-12-23 2004-10-12 Micron Technology, Inc. Method for determining a type of memory present in a system
US5649157A (en) * 1995-03-30 1997-07-15 Hewlett-Packard Co. Memory controller with priority queues
WO1996041274A1 (en) * 1995-06-07 1996-12-19 Advanced Micro Devices, Inc. Dynamically reconfigurable data bus
US5799209A (en) * 1995-12-29 1998-08-25 Chatter; Mukesh Multi-port internally cached DRAM system utilizing independent serial interfaces and buffers arbitratively connected under a dynamic configuration
US6061773A (en) * 1996-05-03 2000-05-09 Digital Equipment Corporation Virtual memory system with page table space separating a private space and a shared space in a virtual memory
US5761708A (en) * 1996-05-31 1998-06-02 Sun Microsystems, Inc. Apparatus and method to speculatively initiate primary memory accesses
US5905725A (en) * 1996-12-16 1999-05-18 Juniper Networks High speed switching device
US5748554A (en) * 1996-12-20 1998-05-05 Rambus, Inc. Memory and method for sensing sub-groups of memory elements
US6308248B1 (en) 1996-12-31 2001-10-23 Compaq Computer Corporation Method and system for allocating memory space using mapping controller, page table and frame numbers
US5790118A (en) * 1997-03-07 1998-08-04 International Business Machines Corporation Mobile client programmed to hide empty table elements
US5913231A (en) 1997-03-31 1999-06-15 International Business Machines Corporation Method and system for high speed memory address forwarding mechanism
US6145065A (en) 1997-05-02 2000-11-07 Matsushita Electric Industrial Co., Ltd. Memory access buffer and reordering apparatus using priorities
US6151641A (en) * 1997-09-30 2000-11-21 Lsi Logic Corporation DMA controller of a RAID storage controller with integrated XOR parity computation capability adapted to compute parity in parallel with the transfer of data segments
US6122709A (en) * 1997-12-19 2000-09-19 Sun Microsystems, Inc. Cache with reduced tag information storage
WO1999034294A1 (en) 1997-12-24 1999-07-08 Creative Technology Ltd. Optimal multi-channel memory controller system
US6438675B1 (en) * 1998-03-23 2002-08-20 Ati Technologies, Inc. Variable format memory access device
US6249851B1 (en) * 1998-08-25 2001-06-19 Stmicroelectronics, Inc. Computer system having non-blocking cache and pipelined bus interface unit
US6453380B1 (en) * 1999-01-23 2002-09-17 International Business Machines Corporation Address mapping for configurable memory system
US6389488B1 (en) 1999-01-28 2002-05-14 Advanced Micro Devices, Inc. Read ahead buffer for read accesses to system memory by input/output devices with buffer valid indication
US6708248B1 (en) * 1999-07-23 2004-03-16 Rambus Inc. Memory system with channel multiplexing of multiple memory devices
JP2001060169A (ja) * 1999-08-24 2001-03-06 Hitachi Ltd キャッシュコントローラ及びコンピュータシステム
JP2001176282A (ja) * 1999-12-20 2001-06-29 Fujitsu Ltd 半導体記憶装置およびその制御方法
US6678810B1 (en) * 1999-12-30 2004-01-13 Intel Corporation MFENCE and LFENCE micro-architectural implementation method and system
US6430672B1 (en) * 2000-07-17 2002-08-06 International Business Machines Corporation Method for performing address mapping using two lookup tables
EP1182564A3 (en) * 2000-08-21 2004-07-28 Texas Instruments France Local memory with indicator bits to support concurrent DMA and CPU access
US7006505B1 (en) * 2000-10-23 2006-02-28 Bay Microsystems, Inc. Memory management system and algorithm for network processor architecture
US6745272B2 (en) * 2001-04-04 2004-06-01 Advanced Micro Devices, Inc. System and method of increasing bandwidth for issuing ordered transactions into a distributed communication system
US7200759B2 (en) * 2001-06-08 2007-04-03 Safenet B.V. Method and device for making information contents of a volatile semiconductor memory irretrievable
US20030056058A1 (en) * 2001-09-17 2003-03-20 Alistair Veitch Logical volume data migration
US6812928B2 (en) * 2002-01-30 2004-11-02 Sun Microsystems, Inc. Performance texture mapping by combining requests for image data
US20030179598A1 (en) * 2002-03-20 2003-09-25 Yu-Guang Chen Device for selectively providing read-only data
US6842828B2 (en) * 2002-04-30 2005-01-11 Intel Corporation Methods and arrangements to enhance an upbound path
US7028200B2 (en) * 2002-05-15 2006-04-11 Broadcom Corporation Method and apparatus for adaptive power management of memory subsystem
US6934804B2 (en) * 2002-05-28 2005-08-23 Sun Microsystems, Inc. Method and system for striping spares in a data storage system including an array of disk drives
US6820181B2 (en) * 2002-08-29 2004-11-16 Micron Technology, Inc. Method and system for controlling memory accesses to memory modules having a memory hub architecture
US6851030B2 (en) * 2002-10-16 2005-02-01 International Business Machines Corporation System and method for dynamically allocating associative resources
US7130229B2 (en) * 2002-11-08 2006-10-31 Intel Corporation Interleaved mirrored memory systems
US6836434B2 (en) * 2002-11-21 2004-12-28 Micron Technology, Inc. Mode selection in a flash memory device
US7255895B2 (en) * 2003-01-21 2007-08-14 Bioarray Solutions, Ltd. Method for controlling solute loading of polymer microparticles
US7243172B2 (en) * 2003-10-14 2007-07-10 Broadcom Corporation Fragment storage for data alignment and merger
JP4601305B2 (ja) * 2004-02-27 2010-12-22 富士通セミコンダクター株式会社 半導体装置
US8332598B2 (en) * 2005-06-23 2012-12-11 Intel Corporation Memory micro-tiling request reordering

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107003837A (zh) * 2014-12-17 2017-08-01 英特尔公司 用于推测性编译器优化的轻量级受限事务存储器
CN107003837B (zh) * 2014-12-17 2021-08-10 英特尔公司 用于推测性编译器优化的轻量级受限事务存储器

Also Published As

Publication number Publication date
TW200712886A (en) 2007-04-01
EP1894112A2 (en) 2008-03-05
ATE464605T1 (de) 2010-04-15
US20060294264A1 (en) 2006-12-28
KR100958264B1 (ko) 2010-05-19
JP4879981B2 (ja) 2012-02-22
DE602006013627D1 (de) 2010-05-27
KR20080014063A (ko) 2008-02-13
CN101208672B (zh) 2010-05-19
EP1894112B1 (en) 2010-04-14
WO2007002445A2 (en) 2007-01-04
WO2007002445A3 (en) 2007-06-28
JP2008544411A (ja) 2008-12-04
US7587521B2 (en) 2009-09-08
TWI328169B (en) 2010-08-01

Similar Documents

Publication Publication Date Title
CN101208672B (zh) 存储器微块化推测性返回
CN101228514B (zh) 存储器微块化请求重排序
JP4981797B2 (ja) メモリの微小タイリングを行うメモリコントローラ、方法、及びシステム
JP4511638B2 (ja) 内部メモリ及び外部メモリコントロールを具備したコンピュータシステムコントローラ
US7649538B1 (en) Reconfigurable high performance texture pipeline with advanced filtering
US20040111489A1 (en) Image processing apparatus and method thereof
US11054998B1 (en) High bandwidth memory system with distributed request broadcasting masters
CN102298561A (zh) 一种对存储设备进行多通道数据处理的方法、系统和装置
US8217954B2 (en) Reconfigurable dual texture pipeline with shared texture cache
WO2006121202A1 (en) Data transfer arbitration apparatus and data transfer arbitration method
KR20030005734A (ko) 다중처리시스템의 프로세서 유니트간 동적 인터페이스 방법

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20100519

Termination date: 20190623

CF01 Termination of patent right due to non-payment of annual fee