CN1299208C - 用于改进pci-x或pci网桥性能的缓冲器管理系统及其方法 - Google Patents

用于改进pci-x或pci网桥性能的缓冲器管理系统及其方法 Download PDF

Info

Publication number
CN1299208C
CN1299208C CNB001089307A CN00108930A CN1299208C CN 1299208 C CN1299208 C CN 1299208C CN B001089307 A CNB001089307 A CN B001089307A CN 00108930 A CN00108930 A CN 00108930A CN 1299208 C CN1299208 C CN 1299208C
Authority
CN
China
Prior art keywords
affairs
pci
available
size
buffer space
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.)
Expired - Fee Related
Application number
CNB001089307A
Other languages
English (en)
Other versions
CN1296225A (zh
Inventor
R·A·凯利
D·M·尼尔
L·D·怀特利
A·G·雅内斯
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN1296225A publication Critical patent/CN1296225A/zh
Application granted granted Critical
Publication of CN1299208C publication Critical patent/CN1299208C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

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
    • 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
    • G06F13/405Coupling between buses using bus bridges where the bridge performs a synchronising function
    • G06F13/4059Coupling between buses using bus bridges where the bridge performs a synchronising function where the synchronisation uses buffers, e.g. for speed matching between buses

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Bus Control (AREA)
  • Information Transfer Systems (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

用于改进PCI-X或PCI网桥性能的缓冲器管理系统和方法。该系统和方法设置一个可用空闲块,该系统和方法等待实际可用缓冲空间被释放并达到可用空闲块。当该实际可用缓冲空间达到可用空闲块时,该较大的事务被处理:如果该事务大小不大于实际可用缓冲空间则接收该事务,当事务大小小于可用空闲块但大于实际可用缓冲空间时,重试该事务,当事务大小大于可用空闲块并大于可用缓冲空间时由该网桥重试该事务直到可用缓冲空间大于或等于可用空闲块。

Description

用于改进PCI-X或PCI网桥性能的缓冲器管理系统及其方法
技术领域
本发明一般地涉及用于改进PCI-X或PCI网桥的性能的缓冲器管理系统及其方法,具体地涉及用于管理跨越PCI-X或PCI网桥的事务的系统和方法。更特别地,本发明涉及等待、增加和/或优化用于其大小跨越一个PCI-X或PCI网桥的事务的可用缓冲器。这里,术语PCI-X或PCI网桥指一个PCI-X到PCI-X或PCI到PCI的网桥,该网桥连接两个PCI总线。PCI-X是目前正被开发的PCI总线的高性能扩展。
背景技术
外围设备互连(PCI)规范已经被开发,并继续被改进用于在主计算机、系统存储器和各种设备或适配器,诸如总线上的设备,插卡,或集成的适配器,之间的通讯。关于PCI的该规范已经被细化为PCI规范版本2.2,于1998年12月公布。PCI-X是由PCI特别权益小组(PCISIG)正在开发的规范草案,作为对PCI规范的补充,将在1999年中期发布。PCI-X试图向后兼容。因此,两种网桥接口必须既能在PCI模式,又能在PCI-X模式下工作(PCI到PCI,PCI-X到PCI-X,PCI到PCI-X,PCI-X到PCI)。这些规范在此引入作为参考。
不同的事务,诸如输入/输出(I/O)事务以及直接存储访问(DMA)事务,跨越在主计算机和不同的设备以及I/O设备与系统存储器之间的PCI-X或PCI网桥发生。跨越这样的网桥的延迟的事务需要宿主重复该事务直到它停止接收重试并且该事务被完成。但是,伴随延迟的事务的问题是宿主必须持续地重复并等待直到合适的缓冲器可用或它通过主桥接收到导致事务的合并或备份的数据请求。分割跨越这些网桥的事务避免了使宿主等待以及重复该事务,并允许命令被网桥接收,结果(数据)随后返回,而该网桥作为宿主。但是分割事务可以导致大的事务被分解为较小的事务,而跨越网桥被处理的较小的事务通常比大事务在使用总线上效率低。
举例来说,现行的PCI-X规范提供对分割的读请求的大小进行安排的能力(最多4K字节)。此外,该PCI-X规范草案提供一个设备或适配器能够发出的最大数目的未解决请求(最多32个请求),并且还要求该设备或适配器不经过重试就接受在一个总线事务中未解决的读完成。一个总线事务可以包括一个地址周期,一个属性周期,一个目标响应周期,一个或多个数据周期,以及一个周转周期。一个PCI-X到PCI-X(PtP)网桥目前被允许在1个ADB(一个ADB是具有128字节的数据块,该数据块在128字节地址边界对齐)在网桥的缓冲空间中可用时接收一个读完成事务或延迟内存写事务。缓冲空间的1个ADB的可用性可以导致在PtP网桥接收部分读完成数据时较大的读完成被分割为较小的读完成,并且然后被断开连接。问题在于当1个ADB的事务在网桥中被缓冲,它们将被传递给网桥的另一端,并作为单个ADB传输被执行。该单个ADB传输降低了总线的有效带宽,其中数据在该总线中被接收和传递。
在系统忙时,这问题变得尤其严重。该问题在系统忙时开始出现,并一直存在直到系统变得不太忙。这样的问题的一个例子参考图2被说明。PtP网桥22具有缓冲器以接收并保存来自总线20的数据直到网桥22能够获得对另一总线24的访问并将该数据传递给最终目的地。图2显示了PtP网桥22中需要的缓冲类型,即延迟内存写(PMW)缓冲器30,分割读完成(SRC)和分割写完成(SWC)缓冲器32,以及分割读请求(SRR)和分割写请求(SWR)缓冲器34。PtP网桥22的事务类型包括延迟内存写(PMW),分割读完成(SRC),分割写完成(SWC),分割写请求(SWR),以及分割写请求(SWR)。一个分割完成可以是一个SRC或SWC,而一个分割请求可以是一个SRR或SWR。图2显示的缓冲器只被显示用于从PCI-X总线20(总线#1)到PCI-X总线24(总线#2)的事务。用于从PCI-X总线24(总线#2)到PCI-X总线20(总线#1)的事务的类似的缓冲器存在但没有被显示在图2中,因为单个缓冲器组足以描述这个问题。
该问题可以在PMW缓冲器30或SRC缓冲器32之一中发生。关键问题是与固定大小的固定缓冲器对照,管理单个ADB大小的缓冲器产生的结果。举例来说,SRC缓冲器32被设置为保持2K字节的数据(16个ADB),并且SRC缓冲器32装满了包含4个独立的事务的数据,其中每个事务包含了4个ADB。满的SRC缓冲器32可以是总线#1(总线20)比总线#2(总线24)快或总线#2由于若干个读请求变得非常忙的结果。PtP网桥22被准许访问总线#2,PtP网桥22开始传递来自SRC缓冲器32中的一个SRC。当数据的1个ADB已经被传递给总线#2,PtP网桥22开始接收来自总线#1的一个SRC。由于总线#1比总线#2快,在网桥22能够清空到总线#2的第二个ADB之前,SRC缓冲器32中的可用ADB被填满。因此,网桥22需要在第一个ADB边界断开与总线#1事务的连接。当该序列继续,其中网桥22传递每个ADB大小的数据到总线#2,SRC缓冲器32中的一个ADB被释放,该ADB被只有1个ADB大小的SRC事务填充,并跟随一个断开连接。由此,网桥22中的SRC缓冲器32被1个ADB大小的SRC事务填充,没有有效利用接收这些被传递的事务的总线。
因此,需要提供用于改进PCI-X或PCI网桥性能的缓冲器管理。需要提供一种用于管理跨越PCI-X或PCI网桥的事务的系统和方法。还需要提供一种系统和方法,该系统和方法等待、增加和/或优化用于其大小跨越一个PCI-X或PCI网桥的事务的可用缓冲器,以及用于根据事务的大小和可用缓冲空间以优化处理各个事务的定时。
发明内容
因此,本发明的一个目标是提供用于改进PCI-X或PCI网桥性能的缓冲器管理。
本发明的另一个目标是提供用于管理跨越一个PCI-X或PCI网桥的事务的系统和方法。
本发明的又一个目标是提供一种系统和方法,该系统和方法等待、增加和/或优化用于其大小跨越一个PCI-X或PCI网桥的事务的可用缓冲器,以及用于根据事务的大小和可用缓冲空间以优化处理各个事务的定时。
上述目标以下面描述的方法实现。用于改进PCI-X或PCI网桥性能的缓冲器管理。用于管理跨越一个PCI-X或PCI网桥的事务的系统和方法,以及等待、增加和/或优化用于其大小跨越一个PCI-X或PCI网桥的事务的可用缓冲器的系统和方法。事务在网桥上被处理,而该网桥具有包括实际可用缓冲空间的缓冲器,用于接收和处理该业务。该事务的大小是确定的。该系统和方法设置一个可用空闲块,该块是一组可用缓冲空间,该空间将在较大的事务(多个ADB)被处理前被释放。该系统和方法等待实际可用缓冲空间被释放并达到可用空闲块。当该实际可用缓冲空间达到可用空闲块时,该较大的事务被处理。对该事务的处理包括如果该事务大小不大于实际可用缓冲空间则接收该事务,当事务的大小小于可用空闲块但大于实际可用缓冲空间时,重试该事务用于被该网桥处理,当事务大小大于可用空闲块并大于可用缓冲空间时由该网桥重试该事务直到可用缓冲空间大于或等于可用空闲块,接收该事务,并且一旦实际可用缓冲被填满或在事务结束时断开连接。
根据本发明的一个方面,提供了一种用于改进PCI-X或PCI网桥的性能的缓冲器管理方法,其中事务跨越该网桥被处理,并且该网桥具有包含实际可用缓冲空间的缓冲器,该缓冲器用于接收并处理该事务,包括如下步骤:判断事务的大小;设置一个可用空闲块,它是将在某个较大的事务被处理前被释放的设定量的可用缓冲空间;等待实际可用缓冲空间被释放并达到可用空闲块的大小;在实际可用缓冲空间的大小达到可用空闲块的大小后处理该事务。
根据本发明的另一方面,提供了一种用于改进PCI-X或PCI网桥的性能的缓冲器管理系统,其中事务跨越该网桥被处理,并且该网桥具有包含实际可用缓冲空间的缓冲器,该缓冲器用于接收并处理该事务,该缓冲器管理系统包括:一个具有PCI-X或PCI接口的计算机系统;连接到PCI-X或PCI接口的第一PCI-X或PCI总线;连接到第一PCI-X或PCI总线的PCI-X或PCI网桥;连接到PCI-X或PCI网桥的第二PCI-X或PCI总线;连接到第二PCI-X或PCI总线的设备;其中该缓冲器管理系统设置一个可用空闲块,该可用空闲块是将在某个较大的事务被处理前被释放的设定量的可用缓存空间,等待实际可用缓冲空间被释放并达到可用空闲块的大小,并在实际可用缓冲空间已经达到该可用空闲块的大小时处理该事务。
根据本发明的另一方面,还提供了一种缓冲器管理系统,包括:一个PCI-X或PCI网桥,具有包含实际可用缓冲空间的缓冲器,该缓冲器用于接收和处理事务,包括判断该事务的大小;一个包含代表一个可用空闲块大小的值的寄存器,该可用空闲块是将在某个较大事务被处理前被释放的设定量的可用缓冲空间;以及一个计数器,判断何时实际可用缓冲空间被释放并达到可用空闲块的大小;其中所说的网桥当实际可用缓冲空间已经达到可用空闲块的大小时处理该事务。
本发明上述的,以及附加的目标,特征和优点在下面的详细描述中将变得显而易见。
附图说明
本发明的新特征载于所附的权利要求中。但是本发明本身,以及优选的使用模式,进一步的目标和优点,通过参考附图阅读下面对一个实施例的详细描述将被很好地理解,其中:
图1是整个系统的一个框图,该系统用于在计算机系统和各种接口设备间提供改进PCI-X性能的缓冲器管理。
图2是一个PCI-X到PCI-X(PtP)网桥的例子的框图,图示了其中包含的缓冲器。
图3是关于在计算机系统和各种接口设备间提供改进PCI-X性能的缓冲器管理的算法的一个流程图。
具体实施方式
本发明是关于改进PCI-X或PCI网桥性能的缓冲器管理的系统和方法。本发明公开了等待、增加和/或优化用于其大小跨越一个PCI-X或PCI网桥的事务的可用缓冲器,以及用于根据事务的大小和可用缓冲空间以优化地处理各个事务的定时。本发明不限于本说明中公开的特定的装置和方法,任何等待、增加和/或优化用于其大小跨越一个PCI-X或PCI网桥的事务的可用缓冲器,以及提供用于根据事务的大小和可用缓冲空间以优化处理各个事务的定时的合适系统或方法可以被实现。
现在参考附图,特别地参考图1,提供缓冲器管理的整个系统10被显示,其中缓冲器管理用于改进计算机系统11与各种接口设备26之间的PCI-X的性能。计算机系统11具有一个中央处理单元(CPU)12,存储控制器14,以及存储器16。接口设备26包括设备D1,D2,D3,…,DN。计算机系统11具有外围主机总线(PHB)接口18,该接口能够与PCI-X设备接口。PHB接口18与PCI-X总线#1(总线20)相通信和链接。这里为便于描述,由网桥生成的能够以PCI-X模式工作的PCI总线被称为PCI-X总线。总线#1与PCI-X到PCI-X(PtP)网桥22通讯并通过接口连接,而网桥22与PCI-X总线#2(总线24)通讯并通过接口连接。总线#2与各种设备26通讯并通过接口连接。
现在参考附图,特别地参考图2,在总线#1(总线20)与总线#2(总线24)之间通讯和通过接口连接的PtP网桥22被更详细地显示。PtP网桥22具有各种类型的缓冲器。被显示的缓冲器是延迟内存写(PMW)缓冲器30,分割读完成(SRC)和分割写完成(SWC)缓冲器32,以及分割读请求(SRR)和分割写请求(SWR)缓冲器34。如前面提到的,PtP网桥22的事务类型是延迟内存写(PMW),分割读完成(SRC),分割写完成(SWC),分割读请求(SRR),以及分割写请求(SWR)。一个分割完成可以是一个SRC或SWC,而一个分割请求可以是一个SRR或SWR。图2显示的缓冲器只被显示用于从PCI-X总线20(总线#1)到PCI-X总线24(总线#2)的事务。用于从PCI-X总线24(总线#2)到PCI-X总线20(总线#1)的事务的类似的缓冲器存在但没有被显示在图2中,因为单个缓冲器组足以描述这个问题。图2还显示了一个可用空闲块(Available Free Block,简称AFB)寄存器31,该寄存器可以是固定的或可编程的,以及一个可用空闲缓冲器计数器33,该计数器跟踪可用缓冲器的ADB数。本发明不限于这里公开的特定的缓冲器,事务方向,或事务类型。任何合适的缓冲器,事务方向,或事务类型可以被实现或与本发明一起使用。
参考图1和图2,系统10被配置以增加和/或优化可用缓冲器用于其大小跨越一个PCI-X或PCI网桥的事务,以及根据事务的大小和可用缓冲空间调度以优化地处理各个事务。PtP网桥22控制并等待网桥22中的可用缓冲器或缓冲空间使其在处理或传递各种事务前至少具有一个最优的可用空间(诸如可用字节)数。如图1和图2中显示的系统10的硬件被配置以实现在事务中这样的增加和优化。
参考图1和图2,事务大小可以被从1个ADB增加到4个ADB或更多,其中一个ADB被定义为具有128字节的一个数据块,该数据块在128字节地址边界对齐。事务大小的增加降低了总线上开销阶段的百分比,因此提高了数据传输率。本发明要求网桥22等待缓冲器,诸如SRC缓冲器32,中一组空间(诸如4ADB的空间),在接收部分分割完成并从总线#1断开连接(即较大事务的分解)前可用,以保证较大事务将可用以被传递给总线#2,导致对总线#2更有效的应用。
在允许为优化的或最好的性能而发生分解前,系统性能分析或其它装置可以被用于判断可用缓冲器的最佳数目(以ADB为单位)以首先释放,该最佳数目是可用空闲块(AFB)31。AFB的大小是固定的或可编程的。如果事务大小等于或小于网桥22中可用缓冲器的数目,该事务将总是被网桥22接收。如果事务大小小于AFB,但是大于可用缓冲器数,该事务将被网桥22重试。在PCI或PCI-X中重试是指目标要求访问,但是在没有数据传输的情况下断开连接,要求宿主重复该访问直到它随着数据传输被接收。如果事务大小大于AFB,并同时大于可用缓冲器数,一旦可用缓冲器数变得大于或等于AFB,该事务将被接收,但是,一旦可用缓冲器被填满,或在事务的结尾,将被断开连接(事务被分解为较小的事务)。最佳的AFB大小随不同的应用类型,系统配置,以及被系统10支持的设备或适配器而变化。与从总线#2到总线#1发生的事务相比,对于从总线#1到总线#2发生的事务,AFB的大小也可以是不同的。
此外,方法和软件算法可以被提供以增加和优化跨越PCI-X或PCI网桥的事务。现在参考附图,特别地参考图3,用于提供计算机系统10和各种接口设备26之间改进的PCI-X性能的缓冲器管理的一种算法27被显示。本发明不限于在本说明书中公开的特定算法,任何合适的用于改进PCI-X性能的缓冲器管理算法可以与本发明一起使用。算法27在模块28开始。在判定模块29,算法27判断在缓冲器(诸如在图2中显示的缓冲器30,32,或34)中,是否有额外的可用空间,诸如一个ADB空间,被释放。如果没有这样的空间被释放,算法27转移到判定模块38。但是,如果有这样的额外空间被释放,算法27转移到模块36,在其中可用空闲缓冲器计数器被增加被释放的ADB的数目,并然后转移到判定模块38。可用空闲缓冲器计数器是以ADB为单位计数可用缓冲器空间的计数器。
在判定模块38,算法27查找对于网桥22的下一个分割完成的访问,该访问可能正等待缓冲器中实际可用空间的释放并达到可用空闲块(AFB),该AFB是一组在对事务的处理开始前将被释放的可用缓冲空间(即,ADB数)。如果下一访问尚未发生,算法27循环回判定模块29以判断是否缓冲器中额外的缓冲空间再次被释放。在另一方面,如果对网桥22的下一访问已经发生,算法27转移到判定模块39。
在判定模块39,算法27判断是否存在可用缓冲空间。如果有可用缓冲空间,算法27转移到判定模块40。在另一方面,如果没有可用空间,事务在模块37被重试,算法27通过连接符Y转移到判定模块29以判断是否有缓冲空间被释放。
在判定模块40,算法27判断事务大小是否小于或等于实际可用缓冲空间数。如果事务大小小于或等于实际可用缓冲空间数,算法27转移到模块42以接受该事务并通过连接符Z转移到模块50,其中可用空闲缓冲器计数器被减少由被接收的事务填充的ADB数。然后算法27通过连接符循环回判定模块29以判断是否缓冲器中额外的缓冲空间再次被释放。
在另一方面,如果在判定模块40,事务大小不小于或等于实际可用缓冲空间数,算法27转移到判定模块44。在判定模块44,算法27判断事务大小是否小于在AFB寄存器中可用空闲块(AFB)。该AFB寄存器是一个可编程寄存器,用于指示以AFB数计的一个判定设置,即,该AFB寄存器被设置为AFB值,该值是在对该事务的处理开始前将被释放的可用缓冲空间(即若干ADB)的数目。因此,在判定模块44,如果事务大小不小于该AFB,算法27转移到模块43以判断可用缓冲器是否大于或等于AFB。如果是,算法27转移到模块46以接收该事务并随后转移到模块48以在实际可用缓冲器数被填充或在事务传输结束时从总线(诸如总线#1)断开连接。算法27然后转移到模块50以将可用空闲缓冲器计数器减少由在其中被接收的事务填充的ADB的数目。但是,如果在判定模块44,事务大小小于AFB,算法27转移到模块52,其中网桥22将重试对宿主的访问指示以在以后重复访问。然后算法27循环回模块29以判断缓冲器中是否有额外的缓冲空间再次被释放。但是,如果在判定模块43中可用缓冲器不大于或等于AFB,算法27转移到模块52,在其中事务被重试。
因此,本发明公开了一种关于等待、增加和/或优化用于其大小跨越一个PCI-X或PCI网桥的事务的可用缓冲器,以及用于根据事务的大小和可用缓冲空间优化处理各个事务的定时的系统和方法。
尽管本发明根据一个优选实施例被特别地显示和描述,本领域的技术人员应当理解,不偏离本发明的精神和范围的各种形式和细节上的改变可以被进行。

Claims (14)

1.用于改进PCI-X或PCI网桥的性能的缓冲器管理方法,其中事务跨越该网桥被处理,并且该网桥具有包含实际可用缓冲空间的缓冲器,该缓冲器用于接收并处理该事务,该方法包括如下步骤:
判断事务的大小,
设置一个可用空闲块,它是将在某个较大的事务被处理前被释放的设定量的可用缓冲空间,
等待实际可用缓冲空间被释放并达到可用空闲块的大小,以及,
在实际可用缓冲空间的大小达到可用空闲块的大小后处理该事务。
2.根据权利要求1的方法,其中的处理步骤进一步包括:
如果事务大小不大于实际可用缓冲空间的大小则接收该事务,
在事务的大小小于可用空闲块的大小但大于实际可用缓冲空间的大小时,由该网桥重试该事务,
在事务大小大于可用空闲块的大小并大于实际可用缓冲空间的大小时,由该网桥重试该事务直到实际可用缓冲空间的大小大于或等于可用空闲块的大小,以及
接收该事务,在实际可用缓冲空间被填满或在事务结束时断开连接。
3.根据权利要求1或2的方法,其中设置步骤进一步包括如下步骤:
使用一个可用空闲块寄存器来程序设置该设定量的可用缓冲空间。
4.根据权利要求1或2的方法,进一步包括如下步骤:
使用一个可用空闲缓冲器计数器用于跟踪缓冲器中的实际可用缓冲空间。
5.根据权利要求4的方法,其中等待步骤进一步包括如下步骤:
判断缓冲器中是否有额外缓冲空间已被释放,
如果在缓冲器中额外的缓冲空间被释放,将由可用空闲缓冲器计数器跟踪的实际可用缓冲空间增加该额外的缓冲空间,以及
判断下一次访问是否发生,以及实际可用缓冲空间是否已达到可用空闲块的大小。
6.根据权利要求4的方法,进一步包括如下步骤:
在事务被接收时,将由可用空闲缓冲器计数器跟踪的实际可用缓冲空间减少被填充的缓冲空间的数量。
7.用于改进PCI-X或PCI网桥的性能的缓冲器管理系统,其中事务跨越该网桥被处理,并且该网桥具有包含实际可用缓冲空间的缓冲器,该缓冲器用于接收并处理该事务,该缓冲器管理系统包括:
一个具有PCI-X或PCI接口的计算机系统,
连接到PCI-X或PCI接口的第一PCI-X或PCI总线,
连接到第一PCI-X或PCI总线的PCI-X或PCI网桥,
连接到PCI-X或PCI网桥的第二PCI-X或PCI总线,
连接到第二PCI-X或PCI总线的设备,
其中该缓冲器管理系统设置一个可用空闲块,该可用空闲块是将在某个较大的事务被处理前被释放的设定量的可用缓存空间,等待实际可用缓冲空间被释放并达到可用空闲块的大小,并在实际可用缓冲空间已经达到该可用空闲块的大小时处理该事务。
8.根据权利要求7的缓冲器管理系统,其中,该缓冲器管理系统通过在事务大小不大于实际可用缓冲空间的大小的条件下接收该事务,通过在事务的大小小于可用空闲块的大小但大于实际可用缓冲空间的大小的条件下重试该事务用于被该网桥处理,通过在事务大小大于可用空闲块的大小并大于实际可用缓冲空间的大小的条件下由该网桥重试该事务直到实际可用缓冲空间的大小大于或等于可用空闲块,以及通过接收该事务在实际可用缓冲空间被填满或在事务结束时断开连接,来处理该事务。
9.根据权利要求7的系统进一步包括:
一个连接到计算机系统的可用空闲块寄存器,其中该可用空闲块寄存器被用来设置该设定量的可用缓冲空间。
10.根据权利要求7的系统进一步包括:
一个连接到计算机系统的可用空闲缓冲器计数器,用于跟踪在缓冲器中的实际可用缓冲空间。
11.根据权利要求7的系统,其中缓冲器是延迟存储器写缓冲器。
12.根据权利要求7的系统,其中缓冲器是分割读完成和分割写完成缓冲器。
13.根据权利要求7的系统,其中缓冲器是分割读请求和分割写请求缓冲器。
14.一个缓冲器管理系统,包括:
一个PCI-X或PCI网桥,具有包含实际可用缓冲空间的缓冲器,该缓冲器用于接收和处理事务,包括判断该事务的大小;
一个包含代表一个可用空闲块大小的值的寄存器,该可用空闲块是将在某个较大事务被处理前被释放的设定量的可用缓冲空间;以及
一个计数器,判断何时实际可用缓冲空间被释放并达到可用空闲块的大小;
其中所说的网桥当实际可用缓冲空间已经达到可用空闲块的大小时处理该事务。
CNB001089307A 1999-05-18 2000-05-17 用于改进pci-x或pci网桥性能的缓冲器管理系统及其方法 Expired - Fee Related CN1299208C (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/314044 1999-05-18
US09/314,044 1999-05-18
US09/314,044 US6425024B1 (en) 1999-05-18 1999-05-18 Buffer management for improved PCI-X or PCI bridge performance

Publications (2)

Publication Number Publication Date
CN1296225A CN1296225A (zh) 2001-05-23
CN1299208C true CN1299208C (zh) 2007-02-07

Family

ID=23218317

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB001089307A Expired - Fee Related CN1299208C (zh) 1999-05-18 2000-05-17 用于改进pci-x或pci网桥性能的缓冲器管理系统及其方法

Country Status (6)

Country Link
US (1) US6425024B1 (zh)
JP (1) JP3477693B2 (zh)
KR (1) KR100338233B1 (zh)
CN (1) CN1299208C (zh)
CA (1) CA2303726C (zh)
TW (1) TW455775B (zh)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6581141B1 (en) * 1999-05-18 2003-06-17 International Business Machines Corporation Toggle for split transaction mode of PCI-X bridge buffer
US6594722B1 (en) * 2000-06-29 2003-07-15 Intel Corporation Mechanism for managing multiple out-of-order packet streams in a PCI host bridge
US6820165B2 (en) * 2000-08-31 2004-11-16 Hewlett-Packard Development Company, L.P. System and method for increasing the count of outstanding split transactions
US6647454B1 (en) * 2000-09-25 2003-11-11 Intel Corporation Data transfer through a bridge
KR100714400B1 (ko) * 2001-05-18 2007-05-04 삼성전자주식회사 확장 피씨아이 버퍼를 갖는 데이터 처리 시스템
US6950897B2 (en) * 2001-02-23 2005-09-27 Hewlett-Packard Development Company, L.P. Method and apparatus for a dual mode PCI/PCI-X device
US6901467B2 (en) * 2001-02-23 2005-05-31 Hewlett-Packard Development Company, L.P. Enhancing a PCI-X split completion transaction by aligning cachelines with an allowable disconnect boundary's ending address
US6868469B2 (en) * 2001-05-31 2005-03-15 Intel Corporation Data bridge and bridging
US6766386B2 (en) * 2001-08-28 2004-07-20 Broadcom Corporation Method and interface for improved efficiency in performing bus-to-bus read data transfers
KR100818837B1 (ko) * 2001-10-16 2008-04-01 엘지노텔 주식회사 피씨아이 브리지를 이용한 이중화장치
US20030131175A1 (en) * 2001-12-24 2003-07-10 Heynemann Tom A. Method and apparatus for ensuring multi-threaded transaction ordering in a strongly ordered computer interconnect
US6754737B2 (en) * 2001-12-24 2004-06-22 Hewlett-Packard Development Company, L.P. Method and apparatus to allow dynamic variation of ordering enforcement between transactions in a strongly ordered computer interconnect
US6799238B2 (en) * 2002-02-07 2004-09-28 Silicon Graphics, Inc. Bus speed controller using switches
US6957293B2 (en) * 2002-04-15 2005-10-18 International Business Machines Corporation Split completion performance of PCI-X bridges based on data transfer amount
US6968418B2 (en) * 2002-04-15 2005-11-22 International Business Machines Corporation Data forwarding by host/PCI-X bridges with buffered packet size determined using system information
US6801963B2 (en) * 2002-07-24 2004-10-05 Intel Corporation Method, system, and program for configuring components on a bus for input/output operations
US8060680B2 (en) * 2002-09-16 2011-11-15 Hewlett-Packard Development Company, L.P. Method of allocating memory
US6931885B2 (en) * 2003-03-14 2005-08-23 Andrew Citrynell Drinking vessels with removable cooling devices
US7877647B2 (en) * 2003-05-23 2011-01-25 Hewlett-Packard Development Company, L.P. Correcting a target address in parallel with determining whether the target address was received in error
US20060069812A1 (en) * 2004-09-30 2006-03-30 Osborne Randy B Method to mitigate performance turnaround in a bidirectional interconnect
US7370133B2 (en) * 2005-01-20 2008-05-06 International Business Machines Corporation Storage controller and methods for using the same
US7389196B2 (en) * 2005-10-31 2008-06-17 Lsi Corporation Method and system for validating PCI/PCI-X adapters
JP4992296B2 (ja) * 2006-05-30 2012-08-08 株式会社日立製作所 転送処理装置
US20090157919A1 (en) * 2007-12-18 2009-06-18 Plx Technology, Inc. Read control in a computer i/o interconnect
US8650330B2 (en) * 2010-03-12 2014-02-11 International Business Machines Corporation Self-tuning input output device
CN101808127B (zh) * 2010-03-15 2013-03-20 成都市华为赛门铁克科技有限公司 数据备份方法、系统和服务器
US20120066471A1 (en) * 2010-09-14 2012-03-15 Advanced Micro Devices, Inc. Allocation of memory buffers based on preferred memory performance

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08180012A (ja) * 1994-12-27 1996-07-12 Toshiba Corp コンピュータシステム
US5729760A (en) * 1996-06-21 1998-03-17 Intel Corporation System for providing first type access to register if processor in first mode and second type access to register if processor not in first mode
US5768545A (en) * 1996-06-11 1998-06-16 Intel Corporation Collect all transfers buffering mechanism utilizing passive release for a multiple bus environment
US5778235A (en) * 1996-02-26 1998-07-07 Robertson; Paul Gordon Computer system and arbitrator utilizing a bus bridge that avoids livelock
WO1999015981A1 (en) * 1997-09-22 1999-04-01 Intel Corporation Fast 16-bit, split transaction i/o bus
US5920732A (en) * 1996-07-01 1999-07-06 Apple Computer, Inc. System for preallocating additional larger buffer sizes in accordance with packet sizes of discarded packets that can't be stored in existing preallocated buffer sizes
US6026451A (en) * 1997-12-22 2000-02-15 Intel Corporation System for controlling a dispatch of requested data packets by generating size signals for buffer space availability and preventing a dispatch prior to a data request granted signal asserted
US6055559A (en) * 1994-03-07 2000-04-25 Fujitsu Limited Process switch control apparatus and a process control method

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6055590A (en) * 1996-06-05 2000-04-25 Compaq Computer Corporation Bridge circuit comprising independent transaction buffers with control logic adapted to store overflow data in second buffer when transaction size exceeds the first buffer size

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6055559A (en) * 1994-03-07 2000-04-25 Fujitsu Limited Process switch control apparatus and a process control method
JPH08180012A (ja) * 1994-12-27 1996-07-12 Toshiba Corp コンピュータシステム
US5778235A (en) * 1996-02-26 1998-07-07 Robertson; Paul Gordon Computer system and arbitrator utilizing a bus bridge that avoids livelock
US5768545A (en) * 1996-06-11 1998-06-16 Intel Corporation Collect all transfers buffering mechanism utilizing passive release for a multiple bus environment
US5729760A (en) * 1996-06-21 1998-03-17 Intel Corporation System for providing first type access to register if processor in first mode and second type access to register if processor not in first mode
US5920732A (en) * 1996-07-01 1999-07-06 Apple Computer, Inc. System for preallocating additional larger buffer sizes in accordance with packet sizes of discarded packets that can't be stored in existing preallocated buffer sizes
WO1999015981A1 (en) * 1997-09-22 1999-04-01 Intel Corporation Fast 16-bit, split transaction i/o bus
US6026451A (en) * 1997-12-22 2000-02-15 Intel Corporation System for controlling a dispatch of requested data packets by generating size signals for buffer space availability and preventing a dispatch prior to a data request granted signal asserted

Also Published As

Publication number Publication date
CN1296225A (zh) 2001-05-23
TW455775B (en) 2001-09-21
KR100338233B1 (ko) 2002-05-27
JP3477693B2 (ja) 2003-12-10
CA2303726A1 (en) 2000-11-18
KR20010007053A (ko) 2001-01-26
US6425024B1 (en) 2002-07-23
JP2000357154A (ja) 2000-12-26
CA2303726C (en) 2005-01-11

Similar Documents

Publication Publication Date Title
CN1299208C (zh) 用于改进pci-x或pci网桥性能的缓冲器管理系统及其方法
US7705850B1 (en) Computer system having increased PCIe bandwidth
US6167476A (en) Apparatus, method and system for accelerated graphics port bus bridges
CN1139036C (zh) 防止对先前的故障设备完成加载或存储操作的方法及装置
US7761642B2 (en) Serial advanced technology attachment (SATA) and serial attached small computer system interface (SCSI) (SAS) bridging
US6279051B1 (en) Host adapter having paged payload buffers for simultaneously transferring data between a computer bus and a peripheral bus
US5867648A (en) High speed heterogeneous coupling of computer systems using channel-to-channel protocol
US6286074B1 (en) Method and system for reading prefetched data across a bridge system
US20050235072A1 (en) Data storage controller
US7016994B2 (en) Retry mechanism for blocking interfaces
JP2003501746A (ja) ホスト・システムとホスト・アダプタとの間でi/oブロックを自動的に転送するための方法および装置
EP0535793B1 (en) Method for managing data transfers in a computing system having a dual bus structure
US5416907A (en) Method and apparatus for transferring data processing data transfer sizes
US7962676B2 (en) Debugging multi-port bridge system conforming to serial advanced technology attachment (SATA) or serial attached small computer system interface (SCSI) (SAS) standards using idle/scrambled dwords
EP0490988A1 (en) Enhanced vmebus protocol utilizing pseudosynchronous handshaking and block mode data transfer
WO1997033234A2 (en) A method for adapting fibre channel transmissions to an industry standard data bus
JP3266470B2 (ja) 強制順序で行う要求毎ライト・スルー・キャッシュを有するデータ処理システム
US6418497B1 (en) Method and system for interrupt handling using system pipelined packet transfers
US6425023B1 (en) Method and system for gathering and buffering sequential data for a transaction comprising multiple data access requests
WO1999034273A2 (en) Automated dual scatter/gather list dma
US6327636B1 (en) Ordering for pipelined read transfers
CN1153154C (zh) 直接存储器存取至通用串行总线的转换电路及传输方法
US6240474B1 (en) Pipelined read transfers
US6493779B1 (en) Method and system for interrupt handling using device pipelined packet transfers
EP0609082A1 (en) Information transfer in a data processing system

Legal Events

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

Granted publication date: 20070207

Termination date: 20100517