用于改进PCI-X或PCI网桥性能的缓冲器管理系统及其方法技术方案

技术编号:2884823 阅读:215 留言:0更新日期:2012-04-11 18:40
用于改进PCI-X或PCI网桥性能的缓冲器管理系统和方法。该系统和方法设置一个可用空闲块,该系统和方法等待实际可用缓冲空间被释放并达到可用空闲块。当该实际可用缓冲空间达到可用空闲块时,该较大的事务被处理;如果该事务大小不大于实际可用缓冲空间则接收该事务,当事务大小小于可用空闲块但大于实际可用缓冲空间时,重试该事务,当事务大小大于可用空闲块并大于可用缓部空间时由该网桥重试该事务直到可用缓冲空间大于或等于可用空闲块。(*该技术在2020年保护过期,可自由使用*)

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术一般地涉及用于改进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)被处理前被释放。该系统和方法等待实际可用缓冲空间被释放并达到可用空闲块。当该实际可用缓冲空间达到可用空闲块时,该较大的事务被处理。对该事务的处理包括如果该事务大小不大于实际可用缓冲空间则接收该事务,当事务的大小小于可用空闲块但大于实际可用缓冲空间时,重试该事务用于被该网桥处理,当事务大小大于可用空闲决并大于可用缓冲空间时由该网桥重试该事务直到可用缓冲空间大于或等于可用空闲块,接收该事务,并且一旦实际可用缓冲被填满或在事务结束时断开连接。本专利技术上述的,以及附加的目标,特征和优点在下面的详细描述中将变得显而易见。本专利技术的新特征载于所附的权利要求中。但是本专利技术本身,以及优选的使用模式,进一步的目本文档来自技高网...

【技术保护点】
用于改进PCI-X或PCI网桥性能的缓冲器管理方法,其中事务跨越该网桥被处理,而且该网桥具有包含实际可用缓冲空间的缓冲器用于接收和处理事务,包括如下步骤:判断事务的大小,设置一可用空闲块,该块是一组可用缓冲空间,将在某个较大事务被处 理前被释放,等待实际可用缓冲空间被释放并达到可用空闲块,在实际可用缓冲空间达到可用空闲块时判断事务的大小是否大于实际可用缓冲空间,如果事务大小不大于实际可用缓冲空间则接收该事务,在事务的大小小于可用空闲块但大于实际可用缓冲空 间时,由该网桥重试该事务,在事务大小大于可用空闲块并大于可用缓冲空间时,由该网桥重试该事务直到可用缓冲空间大于或等于可用空闲块,以及接收该事务,并且一旦实际可用缓冲被填满或在事务结束时断开连接。

【技术特征摘要】
【国外来华专利技术】...

【专利技术属性】
技术研发人员:RA凯利DM尼尔LD怀特利AG雅内斯
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:US[美国]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1