CN1296225A - 用于改进pci-x或pci网桥性能的缓冲器管理 - Google Patents
用于改进pci-x或pci网桥性能的缓冲器管理 Download PDFInfo
- Publication number
- CN1296225A CN1296225A CN00108930A CN00108930A CN1296225A CN 1296225 A CN1296225 A CN 1296225A CN 00108930 A CN00108930 A CN 00108930A CN 00108930 A CN00108930 A CN 00108930A CN 1296225 A CN1296225 A CN 1296225A
- Authority
- CN
- China
- Prior art keywords
- affairs
- available
- pci
- buffer space
- bridge
- 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
Links
- 238000000034 method Methods 0.000 claims abstract description 29
- 230000003139 buffering effect Effects 0.000 claims description 4
- 238000007726 management method Methods 0.000 claims 4
- 230000005540 biological transmission Effects 0.000 description 7
- 238000005457 optimization Methods 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 2
- 241001269238 Data Species 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4027—Coupling between buses using bus bridges
- G06F13/405—Coupling between buses using bus bridges where the bridge performs a synchronising function
- G06F13/4059—Coupling 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-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快,SRC缓冲器32中的可用ADB在网桥22能够清空到总线#2的第二个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)被处理前被释放。该系统和方法等待实际可用缓冲空间被释放并达到可用空闲块。当该实际可用缓冲空间达到可用空闲块时,该较大的事务被处理。对该事务的处理包括如果该事务大小不大于实际可用缓冲空间则接收该事务,当事务的大小小于可用空闲块但大于实际可用缓冲空间时,重试该事务用于被该网桥处理,当事务大小大于可用空闲决并大于可用缓冲空间时由该网桥重试该事务直到可用缓冲空间大于或等于可用空闲块,接收该事务,并且一旦实际可用缓冲被填满或在事务结束时断开连接。
本发明上述的,以及附加的目标,特征和优点在下面的详细描述中将变得显而易见。
本发明的新特征载于所附的权利要求中。但是本发明本身,以及优选的使用模式,进一步的目标和优点,通过参考附图阅读下面对一个实施例的详细描述将被很好地理解,其中:
图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还显示了一个可用空闲块寄存器31,该寄存器可以是固定的或可编程的,以及一个可用空闲缓冲器计数器33,该计数器跟踪可用缓冲器的ADB数。本发明不限于这里公开的特定的缓冲器,事务方向,或事务类型。任何合适的缓冲器,事务方向,或事务类型可以被实现或与本发明一起使用。
参考图1和图2,系统10被配置以增加和/或优化可用缓冲器用于其大小跨越一个PCI-X或PCI网桥的事务,以及根据事务的大小和可用缓冲空间调度以优化地处理各个事务。PtP网桥22控制并等待网桥22中的可用缓冲器或缓冲空间使其在处理或传递各种事务前至少具有一个最优的可用空间(诸如可用字节)数。如图1和图2中显示的系统10的硬件被配置以实现在事务中这样的增加和优化。
参考图1和图2,事务大小可以被从1ADB增加到4ADB或更多,其中一个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或PCOI网桥的事务。现在参考附图,特别地参考图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 (16)
1.用于改进PCI-X或PCI网桥性能的缓冲器管理方法,其中事务跨越该网桥被处理,而且该网桥具有包含实际可用缓冲空间的缓冲器用于接收和处理事务,包括如下步骤:
判断事务的大小,
设置一可用空闲块,该块是一组可用缓冲空间,将在某个较大事务被处理前被释放,
等待实际可用缓冲空间被释放并达到可用空闲块,
在实际可用缓冲空间达到可用空闲块时判断事务的大小是否大于实际可用缓冲空间,
如果事务大小不大于实际可用缓冲空间则接收该事务,
在事务的大小小于可用空闲块但大于实际可用缓冲空间时,由该网桥重试该事务,
在事务大小大于可用空闲块并大于可用缓冲空间时,由该网桥重试该事务直到可用缓冲空间大于或等于可用空闲块,以及
接收该事务,并且一旦实际可用缓冲被填满或在事务结束时断开连接。
2.根据权利要求1的方法,进一步包括如下步骤:
使用一个可用空闲块寄存器用于编程一组可用缓冲空间,这些可用缓冲空间将在某个较大事务被处理前被释放。
3. 根据权利要求1的方法,进一步包括如下步骤:
使用一个可用空闲缓冲器计数器用于跟踪缓冲器中的实际可用缓冲空间。
4.根据权利要求3的方法,其中等待步骤进一步包括如下步骤:
判断缓冲器中是否有额外缓冲空间已被释放,
如果在缓冲器中额外的缓冲空间被释放,将由可用空闲缓冲器计数器跟踪的实际可用缓冲空间增加该额外的缓冲空间,以及
判断下一次访问是否发生,以及实际可用缓冲空间是否已达到可用空闲块。
5.根据权利要求3的方法,进一步包括如下步骤:
在事务被接收时,将由可用空闲缓冲器计数器跟踪的实际可用缓冲空间减少被填充的缓冲空间的数量。
6.用于改进PCI-X或PCI网桥的性能的缓冲器管理方法,其中事务跨越该网桥被处理,并且该网桥具有包含实际可用缓冲空间的缓冲器,用于接收并处理该事务,包括如下步骤:
判断事务的大小,
设置一个可用空闲块,它是一组可用缓冲空间,将在某个较大的事务被处理前被释放,
等待实际可用缓冲空间被释放并达到可用空闲块,以及,
在实际可用缓冲空间达到可用空闲块后处理该事务。
7.根据权利要求6的方法,其中处理步骤进一步包含如下步骤:
如果事务大小不大于实际可用缓冲空间则接收该事务,
在事务的大小小于可用空闲块但大于实际可用缓冲空间时,重试该事务用于被该网桥处理,
在事务大小大于可用空闲块并大于可用缓冲空间时,由该网桥重试该事务直到可用缓冲空间大于或等于可用空闲块,以及
接收该事务,并且一旦实际可用缓冲被填满或在事务结束时断开连接。
8.用于改进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总线的设备,
其中该系统设置一个可用空闲块,该空闲块是一组可用缓冲空间,将在某个较大的事务被处理前被释放,等待实际可用缓冲空间被释放并达到可用空闲块,并在实际可用缓冲空间已经达到该可用空闲块时处理该事务。
9.根据权利要求8的系统,其中系统通过在事务大小不大于实际可用缓冲空间的条件下接收该事务,通过在事务的大小小于可用空闲块但大于实际可用缓冲空间的条件下重试该事务用于被该网桥处理,通过在事务大小大于可用空闲块并大于可用缓冲空间的条件下由该网桥重试该事务直到可用缓冲空间大于或等于可用空闲块,以及通过接收该事务,并且一旦实际可用缓冲被填满或在事务结束时断开连接,来处理该事务。
10.根据权利要求8的系统进一步包括:
一个连接到计算机系统的可用空闲块寄存器,其中该可用空闲块寄存器与可用缓冲空间一起被编程,该可用缓冲空间将在某个较大事务被处理前被释放。
11.根据权利要求8的系统进一步包括:
一个连接到计算机系统的可用空闲缓冲器计数器,其中可用空闲缓冲器计数器用于跟踪在缓冲器中的实际可用缓冲空间。
12.根据权利要求8的系统,其中每个网桥进一步包含:
用于处理事务的缓冲器。
13.根据权利要求12的系统,其中缓冲器是延迟存储器写(PostedMemory Write)缓冲器。
14.根据权利要求12的系统,其中缓冲器是分割读完成和分割写完成缓冲器。
15.根据权利要求12的系统,其中缓冲器是分割读请求和分割写请求缓冲器。
16.一个缓冲器管理系统,包括:
一个PCI-X或PCI网桥,具有包含实际可用缓冲空间的缓冲器,用于接收和处理事务,包括判断该事务的大小;
一个包含值的寄存器,该值代表一个可用空闲块,该空闲块是一组可用缓冲空间,将在某个较大事务被处理前被释放;以及
一个计数器,判断何时实际可用缓冲空间被释放并达到可用空闲块;
其中所说的网桥当实际可用缓冲空间已经达到可用空闲块时处理该事务。
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 true CN1296225A (zh) | 2001-05-23 |
CN1299208C 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) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101808127A (zh) * | 2010-03-15 | 2010-08-18 | 成都市华为赛门铁克科技有限公司 | 数据备份方法、系统和服务器 |
Families Citing this family (26)
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 | 삼성전자주식회사 | 확장 피씨아이 버퍼를 갖는 데이터 처리 시스템 |
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 |
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 |
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 |
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 |
US6957293B2 (en) * | 2002-04-15 | 2005-10-18 | International Business Machines Corporation | Split completion performance of PCI-X bridges based on data transfer amount |
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 |
US20120066471A1 (en) * | 2010-09-14 | 2012-03-15 | Advanced Micro Devices, Inc. | Allocation of memory buffers based on preferred memory performance |
Family Cites Families (9)
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 |
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 |
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 |
US6088370A (en) * | 1997-09-22 | 2000-07-11 | 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 |
-
1999
- 1999-05-18 US US09/314,044 patent/US6425024B1/en not_active Expired - Fee Related
-
2000
- 2000-02-29 TW TW089103442A patent/TW455775B/zh not_active IP Right Cessation
- 2000-04-05 CA CA002303726A patent/CA2303726C/en not_active Expired - Fee Related
- 2000-05-09 KR KR1020000024553A patent/KR100338233B1/ko not_active IP Right Cessation
- 2000-05-17 CN CNB001089307A patent/CN1299208C/zh not_active Expired - Fee Related
- 2000-05-18 JP JP2000145980A patent/JP3477693B2/ja not_active Expired - Fee Related
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101808127A (zh) * | 2010-03-15 | 2010-08-18 | 成都市华为赛门铁克科技有限公司 | 数据备份方法、系统和服务器 |
CN101808127B (zh) * | 2010-03-15 | 2013-03-20 | 成都市华为赛门铁克科技有限公司 | 数据备份方法、系统和服务器 |
Also Published As
Publication number | Publication date |
---|---|
KR100338233B1 (ko) | 2002-05-27 |
CA2303726A1 (en) | 2000-11-18 |
CN1299208C (zh) | 2007-02-07 |
KR20010007053A (ko) | 2001-01-26 |
CA2303726C (en) | 2005-01-11 |
TW455775B (en) | 2001-09-21 |
JP2000357154A (ja) | 2000-12-26 |
US6425024B1 (en) | 2002-07-23 |
JP3477693B2 (ja) | 2003-12-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1299208C (zh) | 用于改进pci-x或pci网桥性能的缓冲器管理系统及其方法 | |
US7705850B1 (en) | Computer system having increased PCIe bandwidth | |
US5594882A (en) | PCI split transactions utilizing dual address cycle | |
CN1139036C (zh) | 防止对先前的故障设备完成加载或存储操作的方法及装置 | |
US7761642B2 (en) | Serial advanced technology attachment (SATA) and serial attached small computer system interface (SCSI) (SAS) bridging | |
US6675248B1 (en) | Apparatus, method and system for accelerated graphics port bus bridges | |
US6286074B1 (en) | Method and system for reading prefetched data across a bridge system | |
US20020103966A1 (en) | System and method for efficient data mirroring in a pair of storage devices | |
JP2003501746A (ja) | ホスト・システムとホスト・アダプタとの間でi/oブロックを自動的に転送するための方法および装置 | |
US20040024949A1 (en) | Retry mechanism for blocking interfaces | |
US5416907A (en) | Method and apparatus for transferring data processing data transfer sizes | |
US20150127872A1 (en) | Computer system, server module, and storage module | |
WO1998015896A1 (en) | High speed heterogeneous coupling of computer systems using channel-to-channel protocol | |
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 | |
US5469577A (en) | Providing alternate bus master with multiple cycles of bursting access to local bus in a dual bus system including a processor local bus and a device communications bus | |
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) | 強制順序で行う要求毎ライト・スルー・キャッシュを有するデータ処理システム | |
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 | |
KR100333584B1 (ko) | 데이터 전송 시스템 | |
US6327636B1 (en) | Ordering for pipelined read transfers | |
US6240474B1 (en) | Pipelined read transfers | |
CN1514378A (zh) | 提高光学存储转移性能的装置、系统和方法 | |
US6493779B1 (en) | Method and system for interrupt handling using device pipelined packet transfers |
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 |