CN1922591A - 包括在向请求设备发送数据前预取所有数据的智能pci桥接 - Google Patents

包括在向请求设备发送数据前预取所有数据的智能pci桥接 Download PDF

Info

Publication number
CN1922591A
CN1922591A CNA2005800056699A CN200580005669A CN1922591A CN 1922591 A CN1922591 A CN 1922591A CN A2005800056699 A CNA2005800056699 A CN A2005800056699A CN 200580005669 A CN200580005669 A CN 200580005669A CN 1922591 A CN1922591 A CN 1922591A
Authority
CN
China
Prior art keywords
data
equipment
system storage
read request
size
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
CNA2005800056699A
Other languages
English (en)
Other versions
CN100498745C (zh
Inventor
乌达亚库马·西尼瓦萨恩
萨姆佩斯·霍萨哈里·库玛
达塔提·N·玛塔尔
玛杜胡卡·劳
阿沛·乌吉瓦·博霍卡
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.)
Cisco Technology Inc
Original Assignee
Cisco Technology 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 Cisco Technology Inc filed Critical Cisco Technology Inc
Publication of CN1922591A publication Critical patent/CN1922591A/zh
Application granted granted Critical
Publication of CN100498745C publication Critical patent/CN100498745C/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/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Bus Control (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Systems (AREA)

Abstract

一种桥接设备具有至少两个端口。第一端口允许设备与扩展总线上的设备通信,至少一个其他端口允许桥接器与系统总线上的系统存储器或另一扩展总线上的其他设备通信。设备能够识别存储器中的至少两个区域:描述符区域和数据区域。描述符提供关于数据区域中的数据片段的信息。桥接器可以检测从存储器读取的描述符,提取关于与这些描述符相关联的数据的信息,并利用该信息来执行从系统存储器预取数据。

Description

包括在向请求设备发送数据前预取所有数据的智能PCI桥接
背景技术
许多计算机系统依赖于扩展总线来向整个系统添加功能。一般来说,附加的功能采取小型印刷电路板或其他类型的“卡”的形式,在这些印刷电路板或“卡”上有必要的组件,以允许主处理器与其他设备通信。例如,视频卡、音频卡和网络接口卡都向系统提供附加的功能。卡可以经由扩展总线通信,而不是被包括在主系统总线上。
扩展总线一般是两种类型之一,ISA(工业标准体系结构)总线或PCI(外围组件互连)总线。ISA标准最初被使用,但随着处理器速度增大变成了瓶颈。通常,大多数计算机系统现有都采用PCI总线,或者与PCI-X(扩展PCI)类似的总线。将PCI总线连接到主系统总线的设备通常被称为PCI桥接器(PCI bridge)。
扩展卡通过扩展总线与CPU通信。当CPU需要扩展设备(例如网络接口卡)发送数据时,它在存储器中建立发送环,以通过将数据描述符写到发送环来将设备引导到要发送的数据。CPU随后向系统存储器中为将要发送数据的扩展设备建立的设备控制寄存器进行写入。当CPU希望通知设备它的待处理任务时,它将通过PCI桥接器来完成这一操作。设备随后在单次PCI事务(PCI突发)中取得一个或多个描述符,然后一般一次一个分组,直到要发送的所有数据都被取得。设备随后按照CPU的请求发送数据。
PCI桥接器可以在事务之前“提前读”,或者从系统存储器“预取(prefetch)”数据,其想法是使数据对于PCI桥接器处的设备可用而不是使其处于系统存储器中,这将会使过程加速。不幸的是,桥接器对于要预取多少数据并没有良好的估计。桥接器最后可能预取了太多数据,从而不得不丢弃数据。数据的预取占用了总线和桥接器,浪费任何预取的数据都会降低整体系统效率。
这可能导致PCI总线和设备上的负载较高,并且使通过接口传输的速度减慢。它还可能对系统存储器施加高负载,这进而又会减慢CPU的有效速度。当其他扩展总线被添加到系统中时,该问题更为复杂。当系统中存在多个总线时,可能有在总线之间进行桥接的PCI桥接器。这类桥接器常被称为PCI到PCI桥接器,或P2P桥接器。为了论述方便,术语PCI桥接器将既指PCI桥接器又指P2P桥接器。
附图说明
通过参考附图阅读公开,将最好地理解本发明的实施例,附图中:
图1示出采用桥接器的系统体系结构的示例。
图2示出在扩展总线事务周期期间采用桥接器的系统的简化框图。
图3示出用于处理扩展总线事务的方法的实施例的流程图。
图4示出用于预取数据的方法的实施例的更详细流程图。
具体实施方式
图1示出使用扩展总线的系统的实施例。设备,例如18,驻留在扩展总线上,以向系统添加更多功能和特征。桥接设备14提供系统中央处理单元10与扩展总线17上的设备之间的通信。桥接器可以驻留在扩展总线和本地系统总线15两者之上,或者它可驻留在两个扩展总线之间。桥接器例如可以是数字信号处理器、通用处理器或专用集成电路(ASIC)。所有这些以及其他示例在这里将被称为“处理元件”。
在任何一种情况下,桥接器将会具有端口144,以允许它在扩展总线17上通信,并且具有另一个端口142,以允许它在系统总线15上或另一个扩展总线(未示出)上通信。在一个实施例中,系统是用扩展设备18作为网络接口卡的网络设备。中央处理单元可能具有它希望在网络上发送的数据。该发送操作可能是CPU10和设备18之间的事务的主题。
一般来说,为了辅助该事务,桥接器可以设立一个预取过程,以使得数据更为迅速地接近扩展设备。但是,目前预取过程依赖于对需要多少数据的预测,这是因为目前没有用于将事务需要多少数据告知桥接设备的装置。这引起了对预取过程进行适应性修改以克服这种知识缺乏。美国专利申请No.10/742,185(代理案卷号2705-306)中阐述的一种这样的过程使用了智能丢弃方法。
智能丢弃方法是必要的,因为桥接器可能将数据预取到桥接器中,然后使之变得陈旧。陈旧数据是未反映系统存储器中对数据进行的改变的数据。陈旧数据的出现部分是因为桥接器不知道要预取多少数据。预取一般是从扩展设备进行读事务的结果。
事务的一个示例在图2中示出。必须注意,为了论述方便,该图已被简化,并且任何排序都只是出于相同的原因。本发明的实施例也适用于其他顺序。CPU10是将会包括系统存储器12的系统块的一部分。CPU10将一系列描述符块写入存储器的预定区域中,例如图1的区域120。这些描述符块描述了要发送的数据,例如要发送的数据的每个部分的地址和大小。CPU随后对扩展设备进行写入,以请求扩展设备在网络上发送数据。
桥接器14随后将写传递到扩展设备18,在本实施例中,该设备18是网络接口卡,例如以太网或其他协议接口卡。扩展设备随后发出读请求以取得描述符块。桥接器将该请求传递到系统,但也要注意桥接器应当分析来自存储器的该部分的响应。桥接器拥有关于存储器的哪些部分被用于描述符块的知识,因此当针对存储器的该部分内的地址的读请求经过桥接器时,桥接器将该请求识别为可能需要预取过程的请求。
关于特定扩展设备使用的描述符块的知识通常将会在设备初始化时被配置到桥接器中。允许设备与外部设备通信的软件(即设备驱动器)将会利用允许桥接器识别针对描述符块的读请求的信息对桥接器进行配置。该信息可以是描述符地址空间、描述符大小、缓冲器地址和分组长度的偏移,以及结束地址。本质上,必要信息是描述符所驻留的位置,以及桥接器在描述符块中的什么位置能够找到要发送的数据的长度、描述符的长度以及要发送的特定分组的地址。
当描述符块被从系统存储器读取并经过桥接器时,桥接器将会把它们发送到扩展设备。此外,桥接器解析描述符以定位要发送的分组的大小,其在这里被称为分组长度或发送大小,并且定位分组数据的位置,或者要发送的数据的地址。通知桥接器要被设备操作的数据的位置和大小的这种数据在这里将被称为描述符数据。桥接器随后将描述符数据存储在桥接器上的表或其他本地存储器中。
存储在表中可能会包括存储在散列表中。散列表使用较短的地址,通常是完整地址的最后一个或两个字节。这允许了桥接器对数据进行更快速的索引,以定位所需的数据。如果多个描述符被取得,则所有的描述符地址都被优化和存储,以便更快地访问。接收到其描述符块的扩展设备随后发送针对该数据的读请求。
现在,桥接器通过用读请求中的数据地址作为关键字搜索散列表以找出相应的描述符数据并确定发送大小,然后取得所请求的数据以及预取扩展设备的所有必要数据,来对该请求作出响应。桥接器可以基于读请求或者甚至在读请求之前预取数据。
例如,假定分组长度是128字节,并假定设备一次只能读32字节,这对应于PCI规范中的“突发长度”。当设备作出读前32字节的请求时,桥接器可以预取全部128字节。桥接器从散列表获知分组的完整大小。来自设备的对于分组的剩余3组32字节的请求可以在不去往系统存储器的情况下由桥接器递送,这是因为它已经预取了128字节的完整分组。
桥接器可以在第一请求之前开始预取,但是这个方案管理起来可能稍微困难一点,并且桥接器必须更为智能。两种方案都是可能的,并且都包括在本发明的范围内。
允许桥接器拥有预取所需数据(而不是导致数据丢弃的较多数据,或者要求更多次数据来取回所需数据的较少数据)所需要的知识,提高了系统的效率。桥接器处的过程的实施例在图3中以流程图形式示出。
在20处,桥接器接收来自扩展设备的读请求。这是由到扩展设备的CPU写入触发的读请求。在22处,读请求被发往系统存储器中预定具有描述符地址的部分。在24处,包括描述符数据的描述符块在桥接器处被接收。在26处,桥接器解析描述符数据以识别数据传输的大小。
在28处,描述符数据随后被存储在散列表存储器中。如果在36处存储器已满(这种情况不太可能发生,但在高容量、多信道设备中也是可能发生的),那么在38处,最旧的描述符被丢弃,并且空间被重新用于新的描述符。该过程的另一个优点是存储有描述符数据的表只需要被访问一次。然后它就可以被释放以便其他设备或过程访问它。
在丢弃最旧条目的替换方案中,桥接器可以跟踪数据的状态。桥接器可能能够确定设备是否已经消耗了与特定描述符相关联的所有数据。如果数据已经被消耗,则它可以被标记为“已用”数据,或者被冲掉。
在取得描述符之后,在30处,扩展设备尝试通过桥接器从系统存储器读取分组,以便将其发送出去。在31处,桥接器扫描地址以查明它是否落在描述符地址空间中。如果是的话,则过程返回22。否则,桥接器扫描散列表以查找该地址。
如果在散列表中未找到匹配,桥接器就表现得像标准桥接器那样,基于缓存行(cacheline)大小和PCI命令来预取数据。如果找到匹配,桥接器就知道设备正在尝试访问分组以便发送。桥接器从散列表中得知分组大小并预取整个分组。在32处,桥接器开始从系统存储器预取数据。桥接器知道发送大小具有若干个益处。一旦桥接器拥有了其对于特定预取过程所需的所有数据,在34处,桥接器就可以与系统总线断开连接或者与桥接器的系统总线一侧的扩展总线断开连接,并且保持连接到其上驻留着扩展设备的扩展总线。这减小了系统或系统侧总线的负载。
目前,如果接近CPU的桥接器在传送完整分组之前中断事务,则设备必须重新发起对剩余数据的请求。在本发明的实施例中,桥接器确切知道设备对多少数据感兴趣,并且能够在没有来自设备的请求的情况下预取剩余数据,如39处所示。当设备重新连接并重新发起请求时,桥接器可以在本地处理该请求,从而避免返回CPU所涉及的开销和延迟。
如上所述,数据预取可能具有过程的几个部分。当读请求进入桥接器时,在图4的40处,桥接器访问来自表的描述符数据,并确定发送数据大小。同样如上所述,该信息可能采取描述符数据中分组长度所在的偏移长度的形式。
在42处,针对特定大小的读请求被发往系统存储器。在PCI系统中,读请求可以是存储器读(MR)、存储器读行(MRL)或者存储器读多行(MRM)。MR通常是4字节数据,这也是描述符块的典型长度,MRL是针对缓存行大小的,其中缓存行大小是在桥接器被初始化时配置的。MRM是针对缓存行大小的某个倍数的。当不论哪种大小的数据返回到桥接器时,在44处,数据随后被发送到扩展设备。
这样,在系统总线上的开销最小的情况下,扩展设备接收它请求的数据,例如要在网络上发送的数据。此外,数据是在预取过程中浪费很少的情况下被获取的。预取过程减小了系统总线的负载。这里所阐述的预取过程的实施例避免了可能伴随上述某些预取过程发生的浪费和效率低下。
从而,虽然到此为止已经描述了用于利用扩展总线和桥接器提高系统效率的方法和装置的特定实施例,但是并不希望这种具体提及被视为对本发明的范围的限制,本发明的范围仅由所附权利要求书所限。

Claims (28)

1.一种设备,包括:
第一端口,用于允许所述设备与扩展总线上的其他设备通信;
第二端口,用于允许所述设备与第二总线上的设备通信;
存储器,用于存储数据;以及
处理元件,用于:
接收来自扩展设备的对系统存储器的预定区域的读请求;
将所述读请求发送到所述系统存储器;
接收来自所述系统存储器的描述符数据;
解析来自所述系统存储器的所述描述符数据以确定数据大小;
从所述系统存储器预取具有所述数据大小的数据。
2.如权利要求1所述的设备,所述存储器还包括散列表,其中存储了从所述描述符数据解析出的分组地址和长度。
3.如权利要求1所述的设备,所述第二总线还包括系统总线。
4.如权利要求1所述的设备,所述第二总线还包括扩展总线。
5.如权利要求1所述的设备,所述设备还包括网络设备。
6.如权利要求1所述的设备,所述设备还包括专用集成电路。
7.如权利要求1所述的设备,所述扩展设备还包括网络接口卡。
8.一种处理总线事务的方法,包括:
接收来自扩展设备的对系统存储器的预定区域的读请求;
将所述读请求发送到所述系统存储器;
接收来自所述系统存储器的描述符数据;
解析所述描述符数据以识别数据大小;
从所述系统存储器预取具有所述数据大小的数据。
9.如权利要求8所述的方法,所述方法还包括将从所述描述符数据得出的数据大小和数据地址存储在散列表中。
10.如权利要求8所述的方法,预取数据还包括:
接收来自所述扩展设备的读请求;
识别读地址不属于系统存储器的预配置区域;
访问来自在散列表中找到的描述符数据的发送大小;
向所述系统存储器发出读请求,其中所述读请求具有基于所述发送大小的请求大小;以及
将响应于对所述系统存储器的读请求而接收到的数据发送到所述扩展设备。
11.如权利要求8所述的方法,所述方法还包括一旦从所述系统存储器接收到数据就与所述系统存储器断开连接。
12.如权利要求8所述的方法,所述方法还包括如果所述扩展设备断开连接则存储对于读请求剩余的任何预取的数据。
13.如权利要求10所述的方法,访问所述发送大小还包括访问其内存储有所述描述符数据的散列表,所述描述符数据包括分组地址和长度。
14.如权利要求8所述的方法,所述方法还包括在可编程量的时间之后丢弃未发送到扩展设备的任何预取的数据。
15.如权利要求9所述的方法,所述方法还包括:
确定存储描述符的存储器已满;以及
丢弃最旧的描述符条目。
16.一种设备,包括:
用于允许所述设备与扩展总线上的其他设备通信的装置;
用于允许所述设备与第二总线上的设备通信的装置;
用于存储数据的装置;以及
用于执行以下操作的装置:
接收来自扩展设备的对系统存储器的预定区域的读请求;
将所述读请求发送到所述系统存储器;
接收来自所述系统存储器的描述符数据;
解析来自所述系统存储器的所述描述符数据以确定数据大小;
从所述系统存储器预取具有所述数据大小的数据。
17.如权利要求16所述的设备,所述用于存储的装置还包括散列表,其中存储了从所述描述符数据解析出的分组地址和长度。
18.如权利要求16所述的设备,所述设备还包括网络设备。
19.如权利要求16所述的设备,所述设备还包括专用集成电路。
20.如权利要求16所述的设备,所述扩展设备还包括网络接口卡。
21.一种包含指令的机器可读代码的物品,所述指令在被执行时使得所述机器执行以下操作:
接收来自扩展设备的对系统存储器的预定区域的读请求;
将所述读请求发送到所述系统存储器;
接收来自所述系统存储器的描述符数据;
解析所述描述符数据以识别数据大小;
从所述系统存储器预取具有所述数据大小的数据。
22.如权利要求21所述的物品,所述指令还使得所述机器将所述描述符数据存储在本地存储器中。
23.如权利要求21所述的方法,所述使得所述机器预取数据的指令还使得所述机器执行以下操作:
接收来自所述扩展设备的读请求;
访问来自描述符数据的发送大小;
向所述系统存储器发出读请求,其中所述读请求具有基于所述发送大小的请求大小;以及
将响应于对所述系统存储器的读请求而接收到的数据发送到所述扩展设备。
24.如权利要求21所述的物品,所述指令还使得所述机器一旦从所述系统存储器接收到数据就与所述系统存储器断开连接。
25.如权利要求21所述的物品,所述指令还使得所述机器在所述扩展设备断开连接的情况下存储对于读请求剩余的任何预取的数据。
26.如权利要求23所述的物品,所述使得所述机器访问所述发送大小的指令还使得所述机器访问其内存储有每组数据的描述符数据的散列表,所述描述符数据包括描述符、分组长度和地址。
27.如权利要求21所述的物品,所述指令还使得所述机器在可编程量的时间之后丢弃未发送到扩展设备的任何预取的数据。
28.如权利要求21所述的物品,所述指令还使得所述机器执行以下操作:
确定存储描述符的存储器已满;以及
丢弃最旧的描述符条目。
CNB2005800056699A 2004-03-01 2005-01-24 在向请求设备发送数据前利用描述符数据预取所有数据的桥接设备和方法 Active CN100498745C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/791,312 US7424562B2 (en) 2004-03-01 2004-03-01 Intelligent PCI bridging consisting of prefetching data based upon descriptor data
US10/791,312 2004-03-01

Publications (2)

Publication Number Publication Date
CN1922591A true CN1922591A (zh) 2007-02-28
CN100498745C CN100498745C (zh) 2009-06-10

Family

ID=34887584

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005800056699A Active CN100498745C (zh) 2004-03-01 2005-01-24 在向请求设备发送数据前利用描述符数据预取所有数据的桥接设备和方法

Country Status (4)

Country Link
US (1) US7424562B2 (zh)
EP (1) EP1733308B1 (zh)
CN (1) CN100498745C (zh)
WO (1) WO2005091762A2 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102195874A (zh) * 2010-03-02 2011-09-21 马维尔以色列(M.I.S.L.)有限公司 数据分组的预提取
US9069489B1 (en) 2010-03-29 2015-06-30 Marvell Israel (M.I.S.L) Ltd. Dynamic random access memory front end
US9098203B1 (en) 2011-03-01 2015-08-04 Marvell Israel (M.I.S.L) Ltd. Multi-input memory command prioritization
US9769081B2 (en) 2010-03-18 2017-09-19 Marvell World Trade Ltd. Buffer manager and methods for managing memory

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100895859B1 (ko) * 2005-05-18 2009-05-06 니폰덴신뎅와 가부시키가이샤 분산형 멀티미디어 서버 시스템 및 멀티미디어 정보분배방법
US20110228674A1 (en) * 2010-03-18 2011-09-22 Alon Pais Packet processing optimization
US8566496B2 (en) * 2010-12-03 2013-10-22 Lsi Corporation Data prefetch in SAS expanders
CN102184151B (zh) * 2011-04-29 2013-06-26 杭州华三通信技术有限公司 Pci-e转pci桥装置及其主动预取数据的方法
KR102330389B1 (ko) 2014-07-24 2021-11-24 삼성전자주식회사 데이터 저장 장치 및 그것의 데이터 처리 방법
US11010092B2 (en) * 2018-05-09 2021-05-18 Micron Technology, Inc. Prefetch signaling in memory system or sub-system

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0378052A (ja) * 1989-08-22 1991-04-03 Toshiba Corp 仮想記憶管理方式
EP0692764B1 (en) * 1994-06-17 2000-08-09 Advanced Micro Devices, Inc. Memory throttle for PCI master
US5606665A (en) * 1994-07-01 1997-02-25 Digital Equipment Corporation Buffer descriptor prefetch in network and I/O design
US5737748A (en) * 1995-03-15 1998-04-07 Texas Instruments Incorporated Microprocessor unit having a first level write-through cache memory and a smaller second-level write-back cache memory
US5761464A (en) * 1995-05-22 1998-06-02 Emc Corporation Prefetching variable length data
US5815662A (en) * 1995-08-15 1998-09-29 Ong; Lance Predictive memory caching for media-on-demand systems
US5913045A (en) * 1995-12-20 1999-06-15 Intel Corporation Programmable PCI interrupt routing mechanism
US6075929A (en) * 1996-06-05 2000-06-13 Compaq Computer Corporation Prefetching data in response to a read transaction for which the requesting device relinquishes control of the data bus while awaiting data requested in the transaction
US6012106A (en) * 1997-11-03 2000-01-04 Digital Equipment Corporation Prefetch management for DMA read transactions depending upon past history of actual transfer lengths
US6286074B1 (en) * 1999-03-24 2001-09-04 International Business Machines Corporation Method and system for reading prefetched data across a bridge system
US6502157B1 (en) * 1999-03-24 2002-12-31 International Business Machines Corporation Method and system for perfetching data in a bridge system
US6636927B1 (en) * 1999-09-24 2003-10-21 Adaptec, Inc. Bridge device for transferring data using master-specific prefetch sizes
US6487609B1 (en) * 1999-10-01 2002-11-26 Hewlett-Packard Company Method and system for communicating event messages between a peripheral device and a client computer
US6463483B1 (en) * 2000-01-19 2002-10-08 Bae Systems Controls, Inc. Low latency input-output interface
US6766511B1 (en) * 2000-07-10 2004-07-20 International Business Machines Corporation Apparatus and method for performing symbolic resolution of modules using static representations of a trace
US6665753B1 (en) * 2000-08-10 2003-12-16 International Business Machines Corporation Performance enhancement implementation through buffer management/bridge settings
US6820161B1 (en) * 2000-09-28 2004-11-16 International Business Machines Corporation Mechanism for allowing PCI-PCI bridges to cache data without any coherency side effects
US6934417B2 (en) * 2000-12-22 2005-08-23 Texas Instruments Incorporated Transcoding scheme for assistance in image transformations
US6795876B1 (en) 2001-03-27 2004-09-21 Intel Corporation Adaptive read pre-fetch
US6857030B2 (en) * 2001-09-12 2005-02-15 Sun Microsystems, Inc. Methods, system and article of manufacture for pre-fetching descriptors
US6963954B1 (en) * 2001-09-19 2005-11-08 Cisco Technology, Inc. Method and apparatus for optimizing prefetching based on memory addresses
US20030093608A1 (en) * 2001-11-09 2003-05-15 Ken Jaramillo Method for increasing peripheral component interconnect (PCI) bus thoughput via a bridge for memory read transfers via dynamic variable prefetch
US6973528B2 (en) * 2002-05-22 2005-12-06 International Business Machines Corporation Data caching on bridge following disconnect
US20040177164A1 (en) * 2003-02-25 2004-09-09 Dimambro Francesco System and method for reclaiming transmit descriptors
JP3922253B2 (ja) * 2003-12-18 2007-05-30 村田機械株式会社 Usb対応型複写複合機、及びusb対応型複写複合機制御システム
JP2006227821A (ja) * 2005-02-16 2006-08-31 Fuji Photo Film Co Ltd 周辺機器制御方法

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102195874A (zh) * 2010-03-02 2011-09-21 马维尔以色列(M.I.S.L.)有限公司 数据分组的预提取
US9037810B2 (en) 2010-03-02 2015-05-19 Marvell Israel (M.I.S.L.) Ltd. Pre-fetching of data packets
CN102195874B (zh) * 2010-03-02 2016-06-08 马维尔以色列(M.I.S.L.)有限公司 数据分组的预提取
US9769081B2 (en) 2010-03-18 2017-09-19 Marvell World Trade Ltd. Buffer manager and methods for managing memory
US9069489B1 (en) 2010-03-29 2015-06-30 Marvell Israel (M.I.S.L) Ltd. Dynamic random access memory front end
US9098203B1 (en) 2011-03-01 2015-08-04 Marvell Israel (M.I.S.L) Ltd. Multi-input memory command prioritization

Also Published As

Publication number Publication date
WO2005091762A3 (en) 2006-04-20
WO2005091762A8 (en) 2006-11-30
US7424562B2 (en) 2008-09-09
WO2005091762A2 (en) 2005-10-06
CN100498745C (zh) 2009-06-10
EP1733308B1 (en) 2012-07-11
EP1733308A2 (en) 2006-12-20
EP1733308A4 (en) 2007-09-05
US20050193158A1 (en) 2005-09-01

Similar Documents

Publication Publication Date Title
CN100498745C (zh) 在向请求设备发送数据前利用描述符数据预取所有数据的桥接设备和方法
CN1276362C (zh) 用于多处理器系统中的片上数据传输的方法和系统
US5809328A (en) Apparatus for fibre channel transmission having interface logic, buffer memory, multiplexor/control device, fibre channel controller, gigabit link module, microprocessor, and bus control device
US8549231B2 (en) Performing high granularity prefetch from remote memory into a cache on a device without change in address
US7069373B2 (en) USB endpoint controller flexible memory management
US6170030B1 (en) Method and apparatus for restreaming data that has been queued in a bus bridging device
WO2002041157A2 (en) Method and apparatus for converting address information between pci bus protocol and a message passing queue-oriented bus protocol
US7472158B2 (en) Initiator connection tag for simple table lookup
US7685350B2 (en) Remote node index mapping mechanism for serial attached storage devices
US5845145A (en) System for generating and sending a critical-world-first data response packet by creating response packet having data ordered in the order best matching the desired order
KR100299358B1 (ko) 컨택스트데이터검색을위하여링크된캐시
US5829035A (en) System and method for preventing stale data in multiple processor computer systems
US20050114571A1 (en) System and method for communication of keyboard and touchpad inputs as HID packets embedded on a SMBus
US6684303B2 (en) Method and device to use memory access request tags
US6973528B2 (en) Data caching on bridge following disconnect
US20060106955A1 (en) Method for dynamically adjusting the data transfer order of PCI express root ports
WO1999034273A2 (en) Automated dual scatter/gather list dma
US5996030A (en) System for providing an interrogating host computer with group status information about disk devices including status information regarding disk devices not accessible to said host
US20040205270A1 (en) Opportunistic read completion combining
US7822040B2 (en) Method for increasing network transmission efficiency by increasing a data updating rate of a memory
US5895496A (en) System for an method of efficiently controlling memory accesses in a multiprocessor computer system
US6301627B1 (en) Method/system for identifying delayed predetermined information transfer request as bypassable by subsequently-generated information transfer request using bypass enable bit in bridge translation control entry
US6314099B1 (en) Address match determining device, communication control system, and address match determining method
US7526595B2 (en) Data path master/slave data processing device apparatus and method
CN101097555B (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
C14 Grant of patent or utility model
GR01 Patent grant