用于NGIO/InfiniBand的制作方法

文档序号:7731724阅读:390来源:国知局

专利名称::用于NGIO/InfiniBand的制作方法
技术领域
:本发明涉及数据网络,更具体地说,涉及具有用于管理和验证远程密钥的机制的主机结构适配器,所述远程密钥对应于在这种数据网络中未处理(outstanding)的数据事务(例如,读/写操作)。
背景技术
:数据网络通常由通过点对点链路连接的多个独立并且群集的节点的网络组成。每个节点都可以是中间节点,诸如交换机/交换元件、中继器以及路由器,或者是所述网络中的终端节点,诸如主机系统以及I/O单元(例如,数据服务器、存储器子系统以及网络设备)。消息数据往往经由中间节点从源传送到目的地。现有的互连传输机制,诸如在由PCI专业组(SIG)于1995年6月1日提出的“PCILocalBusSpecification,Revision2.1(PCI本地总线规范,修订版2.1)”中描述的PCI(PeripheralComponentInterconnect(外围部件互连))总线,可以被利用以经由数据网络来递送往返于I/O设备的消息数据,所述I/O设备也就是存储器子系统和网络设备。然而,PCI总线利用共享的存储器映像总线体系结构来递送往返于存储器子系统和网络设备的消息数据,其中所述共享的存储器映像总线体系结构包括一条或多条共享的I/O总线。共享的I/O总线会因在存储器以及网络外围设备中所要求的总线判优而造成严重的性能制约,以及当需要额外的存储器和网络外围设备时引起可靠性、灵活性以及可扩展性的问题。因此,现有的互连技术已经无法跟上计算机的发展和因此产生的增加了的需求,并且无法承受由因特网的迅速发展带来的强加于服务器集群、应用处理以及企业计算的负担。针对现有PCI总线体系结构的缺陷的出现的解决方案是InfiniBandTM及其前身下一代I/O(NextGenerationI/O)(NGIO),所述下一代I/O(NGIO)已经由Intel公司以及其他公司研发出来,用以提供基于标准的I/O平台,所述I/O平台为了在数据网络中的终端节点间传送可靠的数据而使用了交换结构以及独立的I/O通道来代替共享存储器映像总线体系结构,正如NGIOForum在1999年7月20日“NextGenerationInput/Output(NGIO)Specification(下一代输入/输出(NGIO)规范)”以及InfiniBandTMTradeAssociation在2000年10月24日提出的“InfiniBandTMArchitectureSpecification(InfiniBandTM体系结构规范)”所阐述的。使用NGIO/InfiniBandTM,主机系统可以使用虚拟接口(VI)结构与一个或多个远程系统进行通信,其中所述虚拟接口结构符合由Compaq公司、Intel公司以及Microsoft公司,于1997年12月16日提出的“VirtualInterface(VI)ArchitectureSpecification,Version1.0(虚拟接口(VI)体系结构规范,第1.0版)”。NGIO/InfiniBandTM以及VI硬件和软件可以常常用来支持两个存储器区域之间的数据传送,特别是支持经由一条或多条指定通道在不同系统上的两个存储器区域之间的数据传送。使用VI体系结构的每个主机系统可以包括多个VI,也称为工作队列(WQ),所述工作队列成对形成,并包括入站和出站队列,其中工作请求(WR)经由数据网络加以邮送,以描述数据移动操作以及描述要被移动以便处理和/或传输的数据的位置。每个主机系统可以用作启动消息数据传送(信息发送操作)的源(启动器)系统,或者用作消息传递操作(信息接收操作)的目标系统。从用户提交的工作请求使得称为工作队列元件(WorkQueueElement“WQE”)的工作指令被邮送到与给定的网络接口卡相关联的工作队列上,用于数据传送操作,其中所述数据传送操作诸如发送/接收操作以及远程存储器直接访问ARDMA@的读/写操作。可以创建和管理在主机系统上的通信设备间的通过数据网络一条或多条通道,以便能够执行所请求的操作。由于NGIO/InfiniBandTM是在市场中尚未出现的新兴互连技术,因而没有用于NGIO/InfiniBandTM应用的已知具体实现接口机制。更具体地说,还不存在已知的用于主机系统的网络接口卡,来使用基于通道、交换结构的体系结构将其连接到数据网络上,以支持主机系统上通信设备间或者主机系统间或者经由数据网络的数据移动操作。现有的用于主机系统的网络接口卡不适用于新兴的NGIO/InfiniBandTM互连技术,并且因此无法使NGIO/InfiniBandTM的功能性最优。由此,需要一种为NGIO/InfiniBandTM应用而特别设计的、性能驱动的如下主机结构适配器,所述主机结构适配器安装在数据网络中的主机系统上并使用基于通道、交换结构的体系结构。此外,还需要一种方法或机制,所述方法或机制用于经由基于通道的交换结构在这种数据网络中来管理和验证对应于未完成数据事务(例如,读/写操作)的远程密钥。附图简述当结合附图考虑并参考一下的详细描述,将使本发明示范性实施例得到更完全的理解,以及将同样容易理解本发明的多个附带的优点变得更加易于理解,在所述附图中,同样的参考符号表示同一或相似组件,其中图1举例说明了依照本发明实施例的示例性数据网络,所述数据网络具有通过基本交换机的相应链路互连的几个节点;图2举例说明了依照本发明实施例的另一个示例性数据网络,所述数据网络具有通过多级交换结构的相应链路互连的多个节点;图3A-3D举例说明了在依照本发明实施例的示例性数据网络中的,从源节点传输到目的地节点的消息数据的分组格式以及采用“工作队列元件”(WQE)形式被邮送的对数据传送操的工作请求;图4A-4B举例说明了依照本发明不同实施例的示例性数据网络的示例性主机系统的框图;图5举例说明依照本发明实施例的主机系统的操作系统(OS)的示例性软件驱动程序堆栈;图6举例说明依照本发明实施例的使用NGIO/InfiniBandTM以及VI体系结构的示例性主机系统的框图,所述主机系统经由交换结构来支持数据传送;图7举例说明依照本发明实施例的依照NGIO/InfiniBandTM以及VI体系结构加以配置的示例性主机结构适配器,所述主机结构适配器经由交换结构100’来支持数据传送。图8举例说明依照本发明实施例的示例性主机结构适配器的微引擎(ME);图9举例说明依照本发明实施例的主机结构适配器的微引擎(ME)的示例性实现方式;图10举例说明依照本发明实施例的示例性的远程密钥管理器块(RMB),所述块用于检查主机存储器中与未处理的RDMA操作对应的远程密钥的有效性;图11举例说明依照本发明实施例的示例性高级远程密钥的验证;以及图12举例说明依照本发明实施例的远程密钥管理器块(RMB)的示例性的单个密钥验证。图13A-13H举例说明依照本发明实施例的正常远程密钥管理器块(RMB)操作的示例性时序图;图14A-14H举例说明依照本发明实施例的正常远程密钥管理器块(RMB)操作完成的示例性时序图;图15A-15H举例说明依照本发明实施例的、在其中存在保护范围(ProtectionDomain,PD)失配的远程密钥管理器块(RMB)操作的示例性时序图;图16A-16K举例说明依照本发明实施例的、在其总存在多个密钥失配的远程密钥管理器块(RMB)操作的示例性时序图;图17A-17M举例说明依照本发明实施例的、在其中存在多个密钥失配于间歇式RQ存储器访问的远程密钥管理器块(RMB)操作的示例性时序图。在所有的附图描述中,在虚拟接口(VI)体系结构规范中阐述的术语“VI”,也通称为在“NextGenerationInput/Output(NGIO)Specification(下一代输入/输出(NGIO)规范)”中阐述的工作队列对(WQP),或者简称为在“InfiniBandTMArchitectureSpecification(InfiniBandTM体系结构规范)”中所阐述的队列对(QP)。由此,“VI”、“WQP”以及“QP”可互换使用并且它们表示同一意思。详细描述本发明适用于所有类型的数据网络、I/O硬件适配器以及芯片组,包括将诸如计算机、服务器、外设、存储器子系统以及用于数据通信的通信设备的终端站链接在一起的后继芯片设计(follow-onchipdesign)。这种数据网络的例子可包括局域网(LAN)、广域网(WAN)、校园网(CAN)、城域网(MAN)、全球区域(globalarea)网(GAN)、无线个人区域网(WPAN)、以及系统区域网(SAN),所述系统区域网(SAN)包括使用下一代I/O(NGIO)、FutureI/O(FIO)、InfiniBandTM的新开发的计算机网络和包括基于通道、交换结构的体系结构的那些网络,所述基于通道、交换结构的体系结构可以随着计算机技术的进步变为可用来提供可扩展的性能。LAN系统可包括以太网、FDDI(光纤分布式数据接口)令牌环LAN、异步传输模式(ATM)LAN、光纤通道以及无线LAN。然而,为简单起见,以下的论述将主要集中在包括一个或多个硬件结构适配器的主机系统上,用于在具有多个示例性节点(例如,计算机、服务器以及I/O单元)的简单数据网络中为通道连接提供物理链路,所述示例性节点由相应的链路和交换机互连,不过本发明的范围并不限于此。现在将注意力集中在附图、特别是图1上,在所述图中举例说明了依照本发明实施例的简单数据网络10,所述简单数据网络10具有几个用于数据通信的互连节点。如图1所示,数据网络10例如可包括一个或多个集中交换机100以及4个不同的节点A,B,C和D。每个节点(终端点)可以对应一个或多个I/O单元以及主机系统,所述主机系统包括计算机和/或服务器,在所述服务器上提供有多种应用程序或服务。I/O单元可包括一个或多个处理器、存储器、一个或多个I/O控制器以及其他与其连接的本地I/O资源,并且所述I/O单元按照复杂性范围可从诸如局域网(LAN)适配器的单个I/O设备到大容量存储器充足的RAID子系统。每个I/O控制器(IOC)提供I/O服务或I/O功能,并且可以操作来在本地控制、或者经由例如局域网(LAN)或广域网(WAN)远程地控制诸如存储设备(例如,硬盘驱动器以及磁带驱动器)这样的一个或多个I/O设备。集中交换机100例如可包括交换机端口0、1、2和3,每个交换机端口经由相应的物理链路110、112、114和116与4个不同节点A,B,C和D的相应节点相连接。每个物理链路可支持多条逻辑点对点通道。每条通道可以是双向通信路径,以用于允许命令和数据在所述网络内部的两个连接的节点(例如,主机系统、交换机/交换元件以及I/O单元)间流动。每条通道可称为单个的点对点连接,其中数据可以在所述终端点(例如,主机系统和I/O单元)之间传送。集中交换机100还可包含使用例如显示路由和/或目的地地址路由的路由信息,用于经由相应链路将数据从源节点(数据发送器)路由到目标节点(数据接收器),并且所述集中交换机100还包含用于冗余的重新路由(re-routing)信息。在图1中示出的终端点或终端站(例如,主机系统和I/O单元)、交换机以及链路的特定数目和结构,仅作为示例性的数据网络而提供。在所有类型的数据网络中的多个终端站(例如,主机系统和I/O单元)、交换机以及链路的各种实现方式和结构都是可能的。依照本发明的示例性实施例或实现方式,在图1中示出的示例性数据网络的终端点或终端站(例如,主机系统和I/O单元),可以与NGIOForum于1999年7月20日提出的“NextGenerationInput/Output(NGIO)Specification(下一代输入/输出(NGIO)规范)”以及由InfiniBandTM贸易委员会于2000年10月24日提出的InfiniBandTM体系结构规范相兼容。依照NGIO/InfiniBandTM规范,交换机100可以是NGIO/InfiniBandTM交换结构(例如,与多个主机系统和I/O单元相连的链路、路由器、交换机和/或交换单元的集合),并且终端点可以是包括一个或多个主机通道适配器(HCA)的主机系统,或者是包括一个或多个目标通道适配器(TCA)的远程系统,诸如I/O单元。主机通道适配器(HCA)和目标通道适配器(TCA)两者都可以被广泛地视为结构适配器,所述结构适配器被提供以用来使终端点接口至NGIO交换结构,并且能够符合以下规范来实现,这些规范是由NGIOForum于1999年5月13日提出的“NextGenerationI/OLinkArchitectureSpecificationHCASpecification,Revision1.0(下一代I/O链路体系结构规范HCA规范,修订版1.0)”和/或InfiniBandTM规范,以用于使终端点(节点)经由NGIO/InfiniBandTM通道并以例如高达每秒2.5千兆位(Gbps)的最小数据传送速率彼此进行通信。例如,图2举例说明了依照本发明实施例的使用NGIO/InfiniBandTM体系结构的示例性数据网络(即,系统区域网络SAN)10’,所述数据网络用于将消息数据从源节点传送到目的地节点。如图2所示,数据网络10’包括NGIO/InfiniBandTM交换结构100’(由多个交换机组成的多级交换结构),用于允许主机系统和远程系统与大量的其他主机系统和远程系统经由一条或多条指定通道进行通信。通道连接仅仅是一种抽象概念,它经由交换结构100’建立以允许在源终端点和目的地终端点(例如,主机和远程系统以及连接至交换结构100’的I/O单元)上的两个工作队列对(WQP)彼此通信。每条通道可以支持多个不同连接语义之一。物理上,一个通道可被限制为主机系统的硬件端口。每条通道可以是要确认的或是不要确认的。要确认的通道可以提供消息和数据以及有关在所述通道的远端检测出的错误信息的可靠传输。通常,主机系统和任意一个远程系统间有一条通道可能足够了,但是在相邻端口间展开的数据传送速度可以减少等待时间并增加带宽。由此,希望有用于独立的控制流和数据流的独立通道。例如,可以创建一条通道以用于发送请求以及答复信息。可以创建独立的通道或者通道组以用于在主机系统和任意一个远程系统间移动数据。此外,任何数目的终端站、交换机以及链路可以用来在终端站和交换机之间、经由相应的NGIO/InfiniBandTM链路以分组的组的形式中继数据。例如,节点A可以代表诸如主计算机或主服务器的主机系统130,在所述主机系统上提供有多种应用程序或服务。同样地,节点B可以代表另一个网络150,所述网络150包括但并不限于局域网(LAN)、广域网(WAN)、以太网、ATM以及光纤通道网络,所述网络经由高速串行链路加以连接。节点C代表I/O单元170,所述I/O单元170包括一个或多个I/O控制器以及连接到其上的I/O单元。同样,节点D可代表诸如目标计算机或目标服务器的远程系统190,在所述远程系统上提供有各种应用程序或服务。作为替代,节点A、B、C和D还可以代表NGIO结构100’的个体交换机,所述个体交换机可用作主机系统130和远程系统150、170和190间的中间节点。多级交换结构100’可包括结构管理器250,所述结构管理器与所有交换机相连以用于管理所有的网络管理功能。然而,结构管理器250可替代性地作为主机系统130、第二网络150、I/O单元170,或者作为远程系统190的一部分被并入,以用于管理所有网络管理功能。在任一情形下,结构管理器250都可被配置成用于学习网络拓扑,确定交换表(switchtable)或者转发(forward)数据库,检测和管理网络中的错误或者链路失败以及执行其他网络管理功能。主机通道适配器(HCA)120可以被使用以便经由高速串行NGIO/InfiniBandTM链路提供主机系统130(例如服务器)的存储器控制器(未示出)和交换结构100’之间的接口。同样地,目标通道适配器(TCA)140和160可以被使用以便经由高速串行NGIO/InfiniBandTM链路提供多级交换结构100’和I/O控制器(例如,存储器和联网设备)之间的接口,其中所述I/O控制器是第二网络150或者I/O单元170的I/O控制器。相独立地,另一个目标通道适配器(TCA)180可以被使用以便经由高速串行NGIO/InfiniBandTM链路提供远程系统190的存储器控制器(未示出)和交换结构100’之间的接口。主机通道适配器(HCA)以及目标通道适配器(TCA)两者都可以被广泛地认为是结构适配器,所述结构适配器被提供以便将主机系统130或者任意一个远程系统150、170和190与交换结构100’相接口,并且可以依照由NGIOForum于1999年5月13日提出的“NextGenerationI/OLinkArchitectureSpecificationHCASpecification,Revision1.0(下一代I/O链路体系结构规范HCA规范,修订版1.0)”来实现,以用于使终端点(节点)能够经由NGIO/InfiniBandTM通道彼此进行通信。然而,NGIO/InfiniBandTM仅仅是本发明的一个示例性实施例或者实现方式,而本发明并不限于此。更确切地说,本发明可以适用于多种且任意数目的数据网络、主机和I/O单元。例如,可以与FutureInput/Output(FIO)一起来实施本发明。FIO规范仍未发布,是由于NGIO随后的合并协议与FIO部分合并成为了InfiniBanrdTM体系结构规范,所述规范是由InfiniBand贸易委员会(1999年8月27日形成)提出的,其因特网网址是http//www.InfiniBandta.org.@。图3A-3B举例说明了依照由InfiniBandTM贸易委员会于2000年10月24日提出的InfiniBanrdTM结构体系规范、从源节点(数据发送器)经过交换机和/或中间节点传送到目的地节点(数据接收器)的消息数据的分组的格式的实施例。如图3A所示,消息数据300可以代表一序列一个或多个数据分组310(通常从由工作请求定义的数据传送大小中导出)。每个分组310可以包括首部信息312、可变格式分组有效负载314以及循环冗余校验(CRC)信息316。依据由NGIOForum于1999年7月20日预先提出的“NextGenerationInput/Output(NGIO)Specification(下一代输入/输出(NGIO)规范)”,同样的分组也可以称为单元分组,所述单元分组具有作为消息数据的最小公共部分(attheleastcommondenominator)(LCD)的类似首部信息。然而,NGIO的首部信息所包含的可以小于InfiniBandTM的首部信息。不过,为了本公开内容的目的,在此将通过InfiniBandTM协议在下面描述所述数据分组,但是还可以与通过NGIO协议描述的数据单元进行互换。如图3B所示,依照InfiniBandTM规范的首部信息312可以包括不同类型的首部,所述不同类型的首部包括例如,本地路由首部320,全局路由首部322、基区传输首部324以及扩展传输首部,所述扩展传输首部诸如数据扩展传输首部326、RDMA扩展传输首部328以及原子(Atomic)扩展传输首部330。本地路由首部320包括如下字段,所述字段由在图2所示的示例性数据网络10’中的交换机使用来进行本地路由。本地路由首部320例如可包括但不限于用于标识InfiniBandTM链路级别协议的链路版本字段331;用于标识数据网络10’中的目的地端口和数据路径的目的地本地ID字段332;用于标识数据分组的大小的分组长度字段333;以及用于标识源端口(注入点)的源本地ID334。全局路由首部322包括用于在图2所示的示例性数据网络10’的节点间路由数据分组的字段。所述全局路由首部322例如可以包括但不限于用于以全局服务级别通信的通信量类别字段335;用于以字节的方式表明分组长度的有效负载长度字段336;用于标识将分组注入到数据网络10’中的端口的全局标识符(GID)的源GID字段333;以及用于标识将要从数据网络10’中吸收分组的端口的GID的目的地GID字段338。基区传输首部324包括用于在图2所示的数据网络10’中进行数据消息传输的字段。所述基区传输首部324例如可以包括但不限于用于指示分组类型的操作码字段339,所述操作码字段标识所述分组是数据消息的第一个、最后、中间分组还是仅有的一个分组,并标识所述分组是否指定操作(发送、RDMA写操作、RDMA读操作、原子操作);用于表明在目的地的工作队列对(WQP)编号的目的地QP字段340;用于检测丢失或重复的分组的分组序列号(PSN)字段341。数据扩展传输首部326包括用于数据报服务的附加传输字段。所述数据扩展传输首部326例如可以包括但不限于用于授权访问接收队列的队列密钥(Q_Key)字段342;以及用于表明在源节点的WQP编号的源QP字段343。RDMA扩展传输首部328包括用于RDMA操作的附加传输字段。所述RDMA扩展传输首部328例如可以包括但不限于用于提供RDMA操作的虚拟地址的虚拟地址(VA)字段344;用于授权访问RDMA操作的远程密钥(Rkey)字段345;以及用于表明存储器直接访问操作的长度(以字节表示)的长度字段346。原子扩展传输首部330包括用于原子分组以及原子操作的附加传输字段。所述原子扩展传输首部330例如可以包括但不限于用于提供远程虚拟地址的虚拟地址(VA)字段347;用于授权访问远程虚拟地址的远程密钥(Rkey)字段348;以及用于提供在原子操作中的操作数的交换和比较数据字段349。将工作队列元件“WQE”从主机系统130经由交换结构100’邮送到适合的工作队列(WQ)上,以用来描述数据的移动操作以及描述要被移动以便处理和/或传输的数据的位置。这种“WQE”通常提供用于完成发送队列以及接收队列操作所需要的所有信息。存在几种类别的发送队列操作,包括发送、远程存储器访问(RDMA)以及存储器绑定。对于发送操作来说,WQE在用户硬件的存储器空间中指定一个数据块以发送到目的地,让已经在目的地排队的接收WQE指定将所述数据放置在何处。对于RDMA操作来说,WQE还指定在远程用户存储器中的地址。由此RDMA操作无需包括目的地的接收工作队列。有三种类型的RDMA操作,分别是RDMA写操作、RDMA读操作以及原子操作。RDMA写操作规定硬件将数据从所述用户存储器传送到远程用户存储器。RDMA读操作规定硬件将数据从远程存储器传送到所述用户存储器。原子操作规定硬件来执行远程存储单元的读取。所述远程系统返回读取的值,并且通过将已更新的值写回到同一位置来有条件地修改/替换远程存储器的内容。换言之,原子操作是读操作、修改操作以及写操作的组合操作。原子操作的一个例子是相等条件的比较和交换(CompareandSwapifEqual)操作。WQE指定远程存储单元、比较值以及新值。远程WQP读取指定的存储单元,将所述值与在消息中提供的所述比较值进行比较,并且仅当这些值相等时,WQP才将新值写入同一存储单元。在任一情况下,远程WQP都将它从所述存储单元读取的值返回到提出请求的WQP。另一种原子操作的例子是FetchAdd操作,在该操作下,远程WQP读取指定的存储单元,将读取到的值返回到提出请求的WQP,并给所述值加上在消息中提供的值,然后将结果写入同一存储单元。存储器绑定指示硬件改变存储器注册关系并且改变存储器窗口的绑定。绑定存储器窗口的操作使预先分配的存储器窗口与现有存储器区域内的指定地址范围、连同一组指定的远程访问特权相关联。可以只有一个接收队列操作,且它用于指定接收数据的缓冲器。当用户执行发送操作时,接收WQE指定所述硬件将从所述用户那里接收到的数据放置在的位置。远程用户每次成功地执行发送操作时,所述硬件从接收队列获取下一个条目,并将所接收的数据放置在所述接收WQE中指定的存储单元,且在完成队列(CQ)上设置完成队列条目,用于向用户表明已经完成接收操作。由此发送操作的执行引发了远程用户的接收队列操作。每个发送/接收WQE可以用于控制单个分组的传输或接收。发送“WQE”以及RDMA写“WQE”额外提供了用于描述虚拟地址的“集合”列表,以便从本地系统存储器206取出输出数据(所述列表用于确切地描述从本地系统存储器206中取出输出数据的位置)。接收“WQE”以及RDMA读“WQE”另一方面提供了用于描述虚拟地址的“分散”列表,以便在本地系统存储器206中放置输入数据(所述列表用于确切地描述在本地系统存储器206中存储输入数据的位置)。发送“WQE”只有在发送工作队列链路上是有效的。与此相对,接收“WQE”只有在接收工作队列链路上是有效的。RDMA“WQE”是发送/接收“WQE”的超集,并且可包括表明被传送的信息的远程地址的附加信息。与发送/接收操作不同,其中所述远程系统还使用工作请求来确定将消息数据发送到何处并从何处接收,而RDMA“WQE”通过使用发送到远程系统的虚拟地址(VA)、存储器处理(MH)以及远程密钥来明确地指示远程系统将消息数据发送到何处并从何处接收。远程密钥可以用于在远程系统上将虚拟地址转换到物理地址。通常,每个“WQE”以控制段开始,紧随控制段之后的是可选的地址段以及任意数目的数据段。控制段可包括控制和状态信息。用于读/写RDMA操作的地址段可包括远程缓冲器信息(即,与以接收读/写请求为目标的VI相关联的存储器)。用于发送/接收操作以及读/写RDMA操作这二者的数据段可包括有关本地系统存储器206的信息(即,与发出发送/接收或者读/写请求的VI相关联的存储器)。图3C-3D分别举例说明了依照本发明实施例的示例性的发送/接收型“WQE”350A以及示例性的读/写RDMA型“WQE”350B。如图3C所示,发送/接收“WQE”350A可包括控制段360以及数据段370,所述数据段370包括段长度字段372、存储器处理字段374以及虚拟地址字段376。段长度字段372指定待发送或者待接收的消息数据的长度。存储器处理(MH)字段374可用来验证发送/请求过程(即VI)拥有已注册的存储器区域,所述存储器区域由段长度字段372和虚拟地址(VA)字段376来指示。此外,可以包括本地密钥378以执行在本地生成的虚拟地址到物理地址的转换。对于发送操作来说,虚拟地址(VA)字段376标识将要在发送VI=s的本地存储器空间中发送的消息数据的起始存储器单元。对于接收操作来说,虚拟地址(VA)字段376标识将要在请求VI=s的本地存储器空间中存储所接收的消息数据的位置的起始存储器单元。如图3D所示,读/写RDMA“WQE”350B可包括控制段360、地址段380以及数据段370。地址段380可包括远程存储器处理字段382以及远程虚拟地址字段384。数据段370可包括段长度字段372、本地存储器处理字段374以及本地虚拟地址字段376。此外,还可以包括本地密钥378,以执行在本地生成的虚拟地址到物理地址的转换。还可包括远程密钥(“Rkey”)386,以便在远程系统上执行从远程生成的虚拟地址到物理地址的转换。更具体的说,远程密钥386是指存储器区域或者存储器窗口,与虚拟地址一起用来标识本地系统存储器206的适当的页,以便远程系统来访问本地系统存储器206。对于RDMA读操作来说,远程虚拟地址(VA)384标识待读取的消息数据在远程过程的存储器空间中的存储单元。本地虚拟地址(VA)376标识将要放置所接收的消息数据的位置在本地过程的存储器空间中的起始存储单元。用来存储消息数据的存储器量可以通过段长度字段372来指定。对于RDMA写操作来说,远程虚拟地址(VA)字段384标识待写入的消息数据在远程过程的存储器空间中的存储单元。本地虚拟地址(VA)字段376标识用于读取待传送分组的消息数据的位置在本地过程的存储器空间中的的起始存储单元。消息数据的大小通过段长度字段372来指定。远程存储器处理(MH)字段382对应于与由远程虚拟地址(VA)字段384标识的存储器相关联的存储器处理(MH)。本地存储器处理字段374对应于与由本地虚拟地址字段376标识的存储器相关联的存储器处理(MH)。回到论述中,在图4A中示出了主机系统130的一个示例性实施例。参考图4A,主机系统130可包括一个或多个与主机总线203连接的处理器202A-202N。多个存储器202A-202N的每一个都可以对单一的项(I/O操作)进行操作,并且所述多个处理器202A-202N的全部都可以在同一时间对一个列表上的多个项进行操作。I/O以及存储器控制器204(或芯片组)可与主机总线203相连。主存储器206可与I/O以及存储器控制器204相连。I/O桥208可操作来桥接或接口在I/O和存储器控制器204以及I/O总线205之间。多个I/O控制器可连接到I/O总线205上,包括I/O控制器210以及212。I/O控制器210以及212(包括连接到其上的任一I/O设备)可提供基于总线的I/O资源。一个或多个主机结构适配器120还可与I/O总线205相连。作为替代,一个或多个主机结构适配器120可直接连接到I/O以及存储器控制器(或芯片组)204,以避免如图4B所示的I/O总线205固有的限制。在图4A-4B所示的任一实施例中,都可以提供一个或多个主机结构适配器120以用于连接主机系统130和NGIO/InfiniBandTM的交换结构100’。图4A-4B仅举例说明了主机系统130的示例性实施例。这种主机系统130的系统配置的宽的阵列是可行的。还可以提供用于主机结构适配器120的软件驱动程序堆栈,以允许主机系统130经由NGIO/InfiniBandTM交换结构100’与一个或多个远程系统150、170以及190交换消息数据,同时更适宜与多种当前可利用的诸如Windows2000的操作系统相兼容。图5举例说明主机系统130的示例性软件驱动程序堆栈。如图5所示,主机操作系统(OS)500可包括内核510、I/O管理器520、用于提供到各种I/O控制器的接口的多个通道驱动程序530A-530N,以及主机结构适配器软件堆栈(驱动程序模块),所述主机结构适配器软件堆栈包括结构总线驱动程序540以及一个或多个结构适配器设备专用驱动程序550A-550N,所述结构适配器设备专用驱动程序用于与连接到交换结构100’(例如I/O控制器)上的设备建立通信,并且执行大部分驱动器的通用功能。这样的主机操作系统(OS)500例如可以是Windows2000,而这样的I/O管理器520例如可以是即插即用的管理器。通道驱动程序530A-530N提供主机操作系统(OS)进行如下活动所必需的抽象,所述活动包括执行对连接到交换结构100’上的设备的IO操作,封装来自主机操作系统(OS)的IO请求,并将所述IO请求跨越交换结构100’发送到相连接的设备上。此外,通道驱动程序530A-530N还分配诸如存储器以及工作队列(WQ)对的必要资源,以便将工作项邮送到附属结构设备。提供主机结构适配器软件堆栈(驱动程序模块),以用于访问交换结构100’以及有关结构配置、结构拓扑的信息以及连接信息。这种主机结构适配器软件堆栈(驱动程序模块)可用于建立与远程系统(例如I/O控制器)间的通信,并且执行大部分驱动器的通用功能,例如包括主机结构适配器初始化以及配置、通道配置、通道抽象、资源管理、结构管理服务和操作、发送/接收IO事务消息、远程直接存储器访问(RDMA)事务(例如,读和写操作)、队列管理、存储器注册、描述符管理、消息流控制以及瞬时错误处理及恢复。这种软件驱动程序模块可以使用诸如C、C++以及VisualBasic等高级编程语言来编写,并且可以被提供在计算机实体介质上,诸如存储器设备;磁盘(硬盘、软盘以及可拆卸盘);诸如磁带的其他磁介质;诸如CD-ROM盘的光介质,或者可以经由因特网下载,所述软件驱动程序模块可以由结构管理员用来方便地插入或下载到现有的操作系统(OS)中。这种软件驱动程序模块还可与如下的现有操作系统(OS)绑定在一起,所述操作系统可以由特定的设备驱动程序来启动。主机结构适配器(另外,也称为主机通道适配器″HCA″)驱动程序模块可由三个功能层组成,这三个功能层是HCA服务层(HSL)、HCA抽象层(HCAAL)以及HCA设备专用驱动程序(HDSD),这种结构符合Intel于1999年8月6日提出的“NextGenerationI/OArchitecture)HostChannelAdapterSoftwareSpecification(下一代I/O体系结构主机通道适配器软件规范)”,“NextGenerationI/OIntelHCAConnectionServicesLayerHighLevelDesign(下一代I/OIntelHCA连接服务层高层次设计)”,“NextGenerationI/OIntelHCAAbstractionLayerHighLevelDesign(下一代I/OIntelHCA抽象层高层次设计)”以及“NextGenerationI/OIntelHCAFabricServicesLayerHighLevelDesign(下一代I/OIntelHCA结构服务层高层次设计)”。例如,对于所有通道驱动程序530A-530N来说固有的可以是包括用于提供一组公共服务532A-532N的HCA服务层(HSL)的通道访问层(CAL),包括通道驱动程序530A-530N用于实例化和使用NGIO/InfiniBandTM协议在NGIO/InfiniBandTM通道上执行数据传送所要求的结构服务、连接服务以及HCA服务。结构总线驱动程序540可对应于HCA抽象层(HCAAL),用于管理所有设备专用驱动程序,控制主机系统130中所有HCA共用的共享资源以及主机系统130中每个HCA的专用资源,并且向HSL发布事件信息并控制对特定设备功能的访问。同样地,一个或多个结构适配器设备专用驱动程序550A-550N可以对应于HCA设备专用驱动程序(所有类型的牌子X设备以及所有类型的牌子Y设备),用于向一个或多个HCA的初始化、配置以及控制接口全部提供抽象接口。当在主机系统130中有不同牌子设备的HCA时,可提供多个HCA设备专用驱动程序。更具体地说,结构总线驱动程序540或者HCA抽象层(HCAAL)可以向主机结构适配器软件堆栈提供所有必要的服务(驱动程序模块),所述服务例如包括配置和初始化主机系统中所有HCA共用的资源,使HCA的配置和初始化与HCA设备专用驱动程序相协调,控制对所有HCA共用资源的访问,控制访问由每个HCA提供的资源,以及从HCA发送事件通知到通道访问层(CAL)的HCA服务层(HSL)。此外,结构总线驱动程序540或者HCA抽象层(HCAAL)还可以向HCA服务层(HSL)输出客户管理功能、资源查询功能、资源分配功能以及资源配置及控制功能,并且向HCA设备专用驱动程序输出事件及错误通知功能。资源队列功能例如包括查询所有HCA以及单个HCA共用的资源属性,端口的状态,以及端口、工作队列对(WQP)以及完成队列(CQ)的配置。资源分配功能例如包括端口、保护标记、工作队列对(WQP)、完成队列(CQ)以及HCA的控制接口的保存以及释放。资源配置及控制功能例如包括配置端口,执行HCA控制操作以及端口控制操作,配置工作队列对(WQP),对工作队列对(WQP)的发送或接收队列执行操作,配置完成队列(CQ),以及对完成队列(CQ)执行操作。主机系统130可以与一个或多个远程系统150、170以及190通信,包括使用符合由Compaq公司、Intel公司以及Microsoft公司于1997年12月16日提出的“VirtualInterface(VI)ArchitectureSpecification,Version1.0(虚拟接口(VI)体系结构规范,版本1.0)”的虚拟接口(VI)体系结构直接附连到交换结构100’(即附属结构的I/O控制器)的I/O单元以及I/O控制器(以及附连的I/O设备)。VI体系结构包括4个基本组件虚拟接口(VI),其中工作请求经由交换结构100’加以邮送,以描述数据移动操作以及描述要被移动以便处理和/或传输的数据的位置;可以是应用程序的VI用户;可以是用于负责实例化VI的硬件以及软件组件的VI提供者;以及完成队列(CQ)。VI是允许VI用于直接访问VI提供者的这样一种机制。每个VI代表通信终端点,并且终端点对可以被逻辑地连接以支持经由数据网络的一个或多个指定通道的双向、点对点的数据传送。依据VI体系结构,主机结构适配器120以及VI内核代理可以组成VI提供者以直接执行终端点虚拟化,并且包括通常由图5中所示的主机操作系统(OS)内核510以及设备专用驱动程序550A-550N执行的多路复用、去多路复用以及数据传送调度的任务。然而,其他的体系结构也可以用来实现本发明。在“VirtualInterface(VI)ArchitectureSpecification(虚拟接口(VI)体系结构规范)”中提出的术语“VI”,也可称为如“NextGenerationInput/Output(NGIO)Specification(下一代输入/输出(NGIO)规范)”中提出的工作队列对(WQP),或者简称为如“InfiniBandTMArchitectureSpecification(InfiniBandTM体系结构规范)”中提出的队列对(QP)。由此,“VI”、“WQP”以及“QP”本文的下文中可以互换。图6举例说明使用NGIO/InfiniBandTM以及VI体系结构以支持经由交换结构100’的数据传送的示例性主机系统。如图6所示,主机系统130除了包括一个或多个包含操作系统(OS)堆栈500的处理器202外,还包括主机存储器206以及如图2、4A-4B以及5所示的至少一个主机结构适配器(HCA)120,在符合NGIO/InfiniBandTM以及VI体系结构的主机结构适配器(HCA)120中提供的传输引擎600,所述传输引擎用于经由交换结构100’进行数据传送。一个或多个主机结构适配器(HCA)120可以被方便的利用以扩展冗余用的端口和多个交换结构的数目。如图6所示,传输引擎600可包括多个成对形成的工作队列(WQ),所述工作队列包括接收队列(用于输入的“RQ”)以及发送队列(用于输出的“SQ”),诸如工作队列对(WQP)610A-610N,其中工作请求“WQE”可以经由交换结构100’加以邮送,以用来描述数据移动操作以及描述要被移动以便处理和/或传输的数据的位置,所述传输引擎600还包括完成队列(CQ)620,所述完成队列620可以用于通知工作请求的完成。作为替代,这种传输引擎600可以是主机存储器206的硬件存储器部件,所述主机存储器206独立于主机结构适配器(HCA)120而存在,以便处理来自多个主机结构适配器(HCA)120的整体,所述传输引擎600还可以作为主机操作系统(OS)的内核级设备驱动程序的一部分被提供。所有的工作队列(WQ)可共享经由一个或多个主机结构适配器(HCA)120到交换结构100’的物理端口。工作队列对(WQP)的发送队列(用于输出请求的“SQ”)可以用作“启动器”,所述“发送队列”经由交换结构100’请求例如到远程VI的正常消息发送,请求远程直接存储器访问ARDMA@的读操作,所述读操作请求消息要从目标系统的特定存储单元加以读取,以及经由交换结构100’请求远程直接存储器访问ARDMA@写操作,所述写操作请求消息要被写入到目标系统的特定存储单元。工作队列对(WQP)的接收队列(用于输入请求的“RQ”)可以用作“应答器”,所述“接收队列”经由交换结构100’从目标系统接收对来自正常发送、RDMA读操作和RDMA写操作的消息的请求。在这种示例性的数据网络中,可以使用NGIO/InfiniBandTM以及VI硬件和软件来经由交换结构100’支持两个存储器区域间的数据传送,所述两个存储器区域通常位于不同系统上。每个主机系统都可以作为启动消息数据传送(消息发送操作)的源(启动器)系统,或者作为用于消息传递操作(信息接收操作)的目标系统。这种主机系统的例子包括如下主机服务器以及如下I/O单元,所述主机服务器提供各种应用程序或服务,而所述I/O单元提供面向存储器以及面向网络的IO服务。对工作的请求可以邮送到与给定的结构适配器(HCA)相关联的工作队列对(WQP)610A-610N上(所述工作是诸如消息发送/接收操作这样的数据移动操作和RDMA读/写操作),一条或多条通道可被创建并有效管理以便能够执行所请求的操作。现在参考图7,在图7中举例说明了根据本发明实施例的在主机系统上安装的且依照NGIO/InfiniBandTM体系结构配置的示例性主机结构适配器120,所述主机结构适配器用于经由交换结构100’支持数据传送。所述示例性主机结构适配器120被特别设计成用来将主机系统连接到用于服务的数据网络100的基于通道的交换结构100’上,以便有效地建立并管理NGIO/InfiniBandTM通道,并且支持主机系统上的通信设备间的数据移动操作,或者支持直接连接到一起或者经由使用基于通道、交换结构的体系结构的数据网络100’连接的主机系统之间的数据移动操作。此外,主机结构适配器120实现了如下的硬件,所述硬件是为增加性能和效率而加以设计的,并且为了但不限于具有最小硬件投资的NGIO/InfiniBandTM应用加以优化,其中所述NGIO/InfiniBandTM应用包括控制NGIO/InfiniBandTM协议以最小的流水线的执行,以及控制以最少等待时间的NGIO/InfiniBandTM数据的处理。如图7所示,主机结构适配器120可包括如下微控制器子系统700以及如下串行接口730,所述微控制器子系统700控制NGIO/InfiniBandTM协议的执行,所述串行接口730提供与交换结构100’的接口,通常经由硬件SERDES(串行化/去串行化设备)来实现。微控制器子系统700以及串行接口730都可以作为主机结构适配器120的专用集成电路(ASIC)来实现。微控制器子系统700包括称为微引擎(ME)710的一个或多个可独立编程的直接存储器访问(DMA)引擎,所述微引擎(ME)710用于在主机存储器206(参见图6)和串行链路之间建立、发送、接收以及确认NGIO/InfiniBandTM分组,所述微控制器子系统700还包括受微引擎(ME)710控制的诸如主机接口712这样的专用硬件接口逻辑块、地址转换接口714、前后关系(context)存储器接口716、本地总线接口718、完成队列/门铃(doorbell)管理器接口720以及先进先出(FIFO)接口722,以用来执行实现NGIO/InfiniBandTM以及VI规范所必需的许多ME功能,例如包括主机事务处理、前后关系更新、物理地址转换、主机描述符的获取、门铃管理、FIFO数据移动以及完成队列(CQ)的管理。微引擎(ME)710可执行微代码以协调用于发送和接收NGIO/InfiniBandTM分组的发送队列(SQ)和接收队列(RQ)的操作,并且支持符合NGIO/InfiniBandTM协议的完成队列(CQ)以及通道。微引擎(ME)710还可以通过一组微寄存器的读操作和写操作来控制所有的接口块。微寄存器可以与由多个接口块提供的数据一起使用来帮助加速ME功能。通常,用于控制发送队列(SQ)的微引擎(ME)710可称为SQ微引擎(ME),同样的,用于控制接收队列(RQ)的微引擎(ME)710可称为RQ微引擎(ME)。主机接口712,为了对数据事务、针对主机系统130和促进读操作完成的读和写事务的工作请求,提供至如图4A所示的主机系统130的I/O总线205或者至图4B所示的主机系统130的I/O及存储器控制器204的接口,所述工作请求来自主机系统130,采用如图3B-3C中所示的工作队列元件“WQE”的形式,所述数据事务包括控制不同请求者间的判优以及数据/控制多路复用。地址转换接口714提供至地址转换块(ATB)(未示出)的接口,负责使用系统存储器的转换及保护表(TranslationandProtectionTable,TPT)管理从虚拟地址(用于编址程序空间)到物理地址(用于编址系统空间)的转换,并且还负责为不同事务类型(写、RDMA读以及RDMA写)验证对系统存储器的访问。在一个示例性的实现方式中,主机存储器206可包括多达227(128兆)的4K字节的页面,其中每个系统存储器页面可以被映像到多达16兆兆字节的系统存储器地址空间中的任意位置。每个系统存储器页面还可以通过转换及保护表(TPT)内的如下条目来访问,其中所述条目包括如下信息,所述信息诸如是对应于物理地址的例如4K字节页面的编号、存储器保护属性(RDMA写允许、RDMA读允许、本地存储器写允许)以及如下的保护范围(PD),所述保护范围的值与分配给转换请求的启动器(请求转换的工作队列对)的值相匹配。前后关系存储器接口(CMI)716提供至前后关系管理器(未示出)的接口,负责提供用于“VI”或者如下工作队列对“WQP”所必需的前后关系信息,所述工作队列对“WQP”用于发送和接收NGIO/InfiniBandTM分组。所述前后关系信息包括用于所有类型的数据传送操作所必需的所有的控制、状态以及信息。前后关系存储器接口716还提供至主机软件的接口,并且提供了不同类型的存储器映像寄存器组,所述存储器映像寄存器组指定通道配置并且启动通道操作。例如,所述存储器映像寄存器组可包括全局HCA前后关系寄存器,所述全局HCA前后关系寄存器影响发送队列(SQ)以及工作队列(WQ)的操作,并且所述存储器映像寄存器组还包括用于控制通道建立的工作队列对(WQP)寄存器,以及如下完成队列(CQ)寄存器,所述完成队列(CQ)寄存器指定完成队列(CQ)在主机存储器206中的位置和长度,并且控制在写入所述完成队列(CQ)的条目时是否产生中断。本地总线接口718提供至本地数据总线的接口,负责支持系统可访问的前后关系连接以及通道操作,并且负责将信号数据转换为用于微引擎(ME)710的适当形式,包括微代码加载。完成队列/门铃管理器接口720提供至完成队列(CQ)引擎以及门铃管理器的接口,并且提供VI体系结构的存储器注册规则。完成队列(CQ)引擎(未示出)负责邮送全局事件以及完成队列(CQ)的条目。门铃管理器(未示出)负责跟踪未处理的工作请求的数量。FIFO接口722提供至串行接口730的接口。所述FIFO接口722可包括接收FIFO接口722A以及发送FIFO接口722B,所述接收FIFO接口722A被安排成用于经由接收FIFO以及串行接口730从交换结构100′接收请求和/或分组,所述发送FIFO接口722B被安排成用于经由发送FIFO以及串行接口730向交换结构100′发送请求和/或分组。接收FIFO接口722A可由微引擎(ME)710使用以处理经由串行接口730输入的分组,所述处理过程包括检查如图3A所示的每个分组的首部中的错误,以及在将数据传递给主机接口712之前检查是否需要读取额外的数据。发送FIFO接口722B可由微引擎(ME)710使用来为随后的经由串行接口730的传输建立数据分组。此外,还可以包括调度程序(未示出),以用于安排到前后关系管理器的下一个虚拟接口(VI),并且支持与工作队列对(WQP)的发送队列(SQ)和接收队列(RQ)相关联的数据分组的通信量的优先权。这种调度程序可被提供以用于为被调度的功能而连接前后关系存储器接口716、本地总线接口718以及完成队列/门铃管理器接口720。图8举例说明依照本发明实施例的示例性的微引擎(ME)710,所述微引擎(ME)710被配置以处理发送队列操作和接收队列操作之一,所述操作包括多个独立的操作(称为任务)以用于实现具有最小硬件投资的性能效率。如图8所示,微引擎(ME)710可包括一个或多个数据多路复用器(MUX)810、算术逻辑单元(ALU)820、指令译码器830、微定序器840以及指令存储器850。所述指令存储器850可存储能够被下载的用于ME指令的微代码。数据MUX810可以根据ME指令提供适合的接口数据。算术逻辑单元(ALU)820可以执行任意的算术、逻辑和移位操作。指令译码器830可以向微定序器840提供系统控制以确定要被执行的下一条指令或地址,执行来自指令存储器850的ME指令,并确定ALU820的功能。微定序器840可检查ME指令序列,并确定将由指令译码器820执行的下一条指令。示例性的微引擎(ME)710所包括的数据MUX810、算术逻辑单元(ALU)820、指令译码器830、微定序器840以及指令存储器850的一个示例性实现方式可以参照图9在下面进行描述。数据MUX810有两个输入数据MUX,分别为输入MUX-A810A以及输入MUX-B810B,这两个数据MUX提供两条输入到ALU820的32位总线(A-总线和B-总线)。A-总线812可以将基于ME指令的目的地字段的译码的数据提供给ALU820。同样的,B-总线814可以将基于ME指令的源字段的译码的数据提供给ALU820。到输入数据MUX810A和810B中的数据输入可以由外部接口块来提供,所述外部接口单元诸如是控制ME功能所需要的先进先出(FIFO)接口722、主机接口712、地址转换接口714、VI前后关系存储器接口716、本地总线接口718以及完成队列/门铃管理器接口720。输入MUX-B810B可包括经由2:1多路复用器(MUX)860以及逻辑与门870的、来自于ME指令的立即数。目的地/源字段的译码,产生对MUX-A810A和MUX-B810B的输入的选择,可以由指令译码器830加以执行。算术逻辑单元(ALU)820ALU820可包括两个(A和B)32位的数据输入,并执行基于ME指令的操作码(OpCode)字段的功能。所支持的功能包括但不限于加、减、或、异或、与、比较、循环右移、左移位、位测试以及移动(直通)。指令译码器830译码ME指令,并向ALU820提供功能选择信号。在执行选择的功能后,ALU820根据输出来设置标志。所述标志例如可包括0和进位。如果算术功能的结果是0,则设置Z标志。相对而言,如果算术功能导致进位输出,则设置C标志。ALU功能的结果可影响Z标志的状态。指令存储器850指令存储器850可以是被提供以用于存储微代码的静态随机访问存储器SRAM,以便经由2:1多路复用器(MUX)860和逻辑与门870提供ME指令。所述微代码能够被下载到SRAM中,以用于今后NGIO/InfiniBandTM规范增强的改变。SRAM可包括2K×44位并且可经由本地总线进行加载。每条ME指令可例如是22位,并且SRAM的每个字允许有两条指令。带有32位立即数的指令共占用44位,作为两条指令来计算。由SRAM提供的微代码可以采用不同的代码格式来利用。微定序器840微定序器840可通过ME指令的译码以及标志寄存器信息来确定微引擎(ME)710的地址序列。下一个地址序列可由指令译码器830来控制,所述指令译码器830将控制字段信息的8位(即8个控制字段信号)传递到微定序器840。实现如图7所示的主机机构适配器的最大挑战将是在处理NGIO/InfiniBandTM分组的过程中使微引擎(ME)710的性能和资源最大化,以及在保持整体传送速率的同时使存储器带宽最优。可将专用的硬件辅助(HWA)逻辑并入到一个或多个专用硬件接口块中,所述专用硬件接口块诸如主机接口712、地址转换接口714、VI前后关系存储器接口716、本地总线接口718、完成队列/门铃管理器接口720以及FIFO接口722,以便辅助它们各自的接口功能,并在处理NGIO/InfiniBandTM分组的过程中通过硬件计算来帮助降低微引擎(ME)710的负载。存储在前后关系存储器接口716的内部前后关系存储器中的用于发送和接收NGIO/InfiniBandTM分组的前后关系信息,在ME周期期间需要以如下方式来加以更新,所述方式使存储器带宽最优并保持整体数据传送速率。通常这种前后关系信息可被更新以提供用于所有类型的数据传送所必需的所有的控制、状态以及信息。前后关系存储器总是使用前后关系信息的最新值加以更新,并且微引擎(ME)710访问前后关系信息的最新值以进行工作(诸如消息发送/接收操作这样的数据移动操作和RDMA读/写操作)。现在转向图10,在所述图中举例说明了依照本发明实施例的示例性远程密钥管理器块(RMB),所述远程密钥管理器块用于检查对应于在主机存储器206中未处理的RDMA操作的远程密钥(“Rkey”)的有效性。远程密钥(“Rkey”)通常出现在以如参考图3C-3D描述的描述符(“WQE”)的形式的请求消息数据中,并且由微引擎(ME)710使用来为未处理的RDMA读/写操作通过地址转换块(ATB)标识用于虚拟地址到物理地址转换的适合页面。远程密钥(Rkey)能够通过使用在工作队列对(WQP)的发送队列(SQ)上邮送的绑定工作请求或者描述符(“WQE”)而被无效。如先前所描述的典型描述符(“WQE”)是被邮送的对正常数据传送操作的工作请求,所述正常数据传送操作诸如正常发送、RDMA写操作以及RDMA读操作。与正常描述符(WQE)相比,绑定描述符是被邮送的对非数据操作的工作请求,所述非数据操作诸如移动或无效在发送队列(SQ)上的主机存储器206的特定存储器区域内的“存储器窗口”,以限制RDMA数据传送。存储器区域是主机结构适配器120可以访问的、主机存储器206的正常块,通常不小于4K字节,(对应于一个存储页面)。和存储器区域相比,“存储器窗口”指定了更小范围的存储器区域,例如5字节。绑定描述符(“WQE”)允许软件完全关闭(无效)“存储器窗口”以便防止工作队列对(WQP)访问所述“存储器窗口”,或者允许软件移动(放大或缩小)所述“存储器窗口”到主机存储器206的不同存储器区域。如图10所示,远程密钥管理器块(RMB)1010可包括用于发送队列(SQ)1010A以及用于接收队列(RQ)1010B的相独立的RMB,所述发送队列(SQ)1010A以及接收队列(RQ)1010B分别对应于用于工作队列对(WQP)的发送队列(SQ)的微引擎(ME)710A以及用于工作队列对(WQP)的接收队列(RQ)的微引擎(ME)710B。SQRMB1010A包括微引擎接口(“ME-I/F”)1020A,所述微引擎接口提供至SQ微引擎(ME)710A的接口,并且所述SQRMB1010A还包括RMB接口(“RMB-I/F”)1030A,所述RMB接口提供至RQRMB1010B的接口。RQRMB1010B包括微引擎接口(“ME-I/F”)1020B、RMB接口1030B以及远程密钥存储器1040,其中所述微引擎接口1020B提供至RQ微引擎(ME)710B的接口,用于允许ME的读操作和写操作;所述RMB接口1030B提供至SQRMB1010A的接口,用于接收来自于SQRMB1010A的密钥无效请求,以及用于通知SQRMB1010A其当前处于繁忙状态还是空闲状态;所述远程密钥存储器1040存储远程密钥(Rkey)。这种远程密钥存储器1040可对应于1280×28的随机访问存储器(RAM),并且可以按照如下进行组织<p>8、中心处理器按控制终端指令进行工作。本实用新型多制式远程目标管理装置的有益效果本装置上设有与传输媒体相连接的端口,自身装置与传输媒体分立,通过多制式移动终端连接装置,外挂于各种制式公网终端之上(如有线电话、GSM、CDMA以及未来的3D等移动通信手机)也可外挂于各种独立的无线通信专网终端(如短波、超短波以及微波网终端);采用了远程声、像采集、传输、存储功能,突破了市场同类产品只能听声不能录音以及只能听声不能看像的限制,可为用户提供有效的第一手资料;在系统中增加了硬件看门狗,它对系统中的动态信息不断进行分析、判断,适时删除无用的信息,对系统进行自动维护,可有效的避免信息阻塞的发生。另外,该系统设定了拨出信号优先权,这样就保证了在有外界电话拨入的情况下,也会优先处置报知(报警)信息,解决了监控或管理的盲点;受控目标异常情况远程自动、分组无线跟踪、定位技术突破了以往几种监控系统只能单一跟踪定位的局限;绿色环保该产品对受控目标的监控是通过数字化的电磁手段进行的,而且采用公用电话网作为传输信道,既减少了电磁污染,又克服了以往传统的警笛式报警方式带来的扰民现象,符合国家环保要求;体积小重量轻。比市场现有同类产品体积和重量小三分之一;生产成本低于市场同类产品,便于市场推广;安装方便。该产品接点少,不损坏受控目标整体结构,不需特殊培训即可安装;用途广,既可用于防盗防抢,也可用于防火、防有害物体泄漏,还可用于医疗救护、车辆救援以及特殊目标的管理;既可用于固定目标,也可用于移动目标的管理。图1是多制式远程目标管理装置的结构框图;图2是中心处理器电路原理图。具体实施例方式结合附图具体说明本实用新型多制式远程目标管理装置的结构及运行原理。本实施例所采用的电子原器件均为市售商品,其中心处理器所用原器件型号如下表多制式远程目标管理装置,包括触摸开关、磁碰开关、感应头、摄像头、图象压缩卡、调制解调器、无线通信装置、中心处理器,图象压缩卡安装在中心处理器视频压缩板接口上,调制解调器连接在图象压缩卡接口上,触摸开关、磁碰开关、感应头连接在中心处理器上,摄像头连接在图象压缩卡上,无线通信终端连接在调制解调器、中心处理器上。RQ微引擎(ME)710B可初始化主机存储器206中的保护范围(PD)。零“0”PD表示所述PD是无效的。Rkey对应于未处理的RDMA操作。RQ微引擎(ME)710B在希望SQRMB1010A处理的Rkey上设置有效位。SQ微引擎(ME)710A将保护范围(PD)以及其想要匹配的Rkey提供给SQRMB1010A。SQ微引擎(ME)710A然后通过将SQ起始位写到RMB寄存器中来开始RAM操作。SQRMB1010A以VI“0”开始走察远程密钥存储器1040。SQRMB1010A检查以便查看远程密钥存储器的“PD”是否与提供给SQ的“PD”相匹配。如果远程密钥存储器的“PD”与提供给SQ的PD不匹配,则SQRMB1010A跳过对用于所述VI的Rkey的处理。如果远程密钥存储器的“PD”与提供给SQ的PD匹配,则SQRMB1010A从远程密钥存储器1040中读取远程密钥“0”。如果存储器远程密钥“0”不匹配(有效位是非真或者有效位是真而存储器远程密钥“0”不对应于SQRkey(提供给SQ的key)),则SQRMB1010A移动以检查下一个Rkey。如果存储器远程密钥“0”与提供给SQ的密钥匹配(有效位是真并且存储器远程密钥0=SQRkey),则SQRMB1010A清除对应于远程密钥存储器1040中的Rkey“0”的有效位。远程密钥存储器1040可以是单个读和单个写端口存储器。当SQRMB1010A试图走察远程密钥存储器1040时,可以同时对远程密钥存储器1040进行RQ读操作以及写操作。所以,SQRMB1010A在接收队列(RQ)正试图读远程密钥存储器1040的那些时钟周期中,延迟读取存储器的访问,并且在接收队列(RQ)正试图写入远程密钥存储器1040的那些时钟周期中,延迟写访问。一旦SQRMB1010A为了检查用于所有VI的所有Rkey而走察了整个远程密钥存储器1040,就可使发送队列(SQ)的完成信号有效。然后,SQRMB1010A等待由发送队列(SQ)开始。还存在一种实现应该被注意的情形,即读和写都针对远程密钥存储器1040的同一地址。在所述情形下,读数据不是有效的。由此,当读取地址和写入地址相同并且在同一时间周期内对远程密钥存储器1040正在进行写和读操作时,将写数据而不是存储器读取数据直接传送给读总线。图11举例说明依照本发明实施例的示例性高级远程密钥的验证。远程密钥的验证可由工作队列对(WQP)的发送队列(SQ)来激活,以便检查在远程密钥存储器1040中对应于未处理的RDMA操作的远程密钥(Rkey)的有效性。如先前所描述的,这种远程密钥(Rkey)与虚拟地址一起使用以用来描述授权远程系统访问如图4A-4B所示的主机系统130的本地存储器206。如图11所示,在框1110,微引擎(ME)710的微代码确定是否将“描述符”(“WQE”)形式的工作请求邮送到发送队列(SQ)上,即,在发送队列(SQ)上是否有任意VI待处理。描述符(WQE)通常针对正常数据传送操作而加以邮送,诸如正常发送、RDMA写操作以及RDMA读操作。如果在发送队列(SQ)上没有要邮送的工作请求或者没有待处理的VI,则微引擎(ME)710保持空闲。然而,在框1112,如果在发送队列(SQ)上有已邮送的工作请求或者有待处理的VI,那么微代码确定所述被邮送的描述符是否是绑定描述符。绑定描述符是为非数据操作而邮送的工作请求,所述非数据操作诸如移动或无效在发送队列(SQ)上的于主机存储器206的存储器区域内的“存储器窗口”,以限制RDMA数据传送。在框1114,如果所述已邮送的描述符不是绑定描述符,那么微代码能够针对正常数据传送操作进行处理,诸如正常发送、RDMA写操作以及RDMA读操作。通常,如图7中所示的整个微控制器子系统700可以操作以用来处理正常数据传送操作,诸如正常发送、RDMA写操作以及RDMA读操作。然而,在框1116,如果已邮送的描述符是绑定描述符,那么微代码确定“存储器窗口”是否被无效。在框1118,如果“存储器窗口”没有被无效,那么微代码记录所述“存储器窗口”被移动(总是“真”),并且进入框1120,以对主机存储器206执行写操作以便移动所述“存储器窗口”。然而,如果“存储器窗口”被无效,那么地址转换块(ATB)(未示出)前进,在框1122对主机存储器206执行写操作以便破坏所述“存储器窗口”。在任一情况后,在框1124,RMB1010可被激活以搜索所有使用所述“存储器窗口”的未处理的RDMA操作。接着,在框1126,RMB1010标识使用过这一“存储器窗口”的远程密钥(Rkey)。如果使用过这一“存储器窗口”的远程密钥(Rkey)被标识,那么RMB1010前进,并在框1128使所述远程密钥(Rkey)无效,直到在框1130将所有的远程密钥(Rkey)都无效掉为止。如果任何远程密钥(Rkey)都没有被标识,那么在框1130,RMB1010以使所有远程密钥(Rkey)都无效而完成并返回到空闲状态。如果所有的远程密钥(Rkey)都没有被无效,那么RMB101O返回到框1124以搜索所有使用所述“存储器窗口”的未处理的RDMA操作,直到所有的远程密钥(Rkey)都被标记为“无效的”为止,从而使得任何新的远程密钥(Rkey)或新的工作队列对(WQP)都不可以进入并使用所述“存储器窗口”。图12举例说明了如图11中的框1124-1130中所示的由远程密钥管理器块(RMB)1010执行的示例性的单个密钥的验证。依照InfiniBandTM体系结构规范,存在256个“VI”(也称为“WQP”或“QP”)。所有的256个VI需要被单独地处理,以便为无效操作而比较存储器Rkey(来自于远程密钥存储器1040的远程密钥)和SQRkey(来自于发送队列的远程密钥)。然而,“VI”的数目并不限于此。只要主机结构适配器120支持这种“VI”,任意数目的“VI”都可以。如图12所示,RMB1010保持空闲状态,直到SQ微引擎(ME)710A请求密钥无效为止。在这期间,RQ微引擎(ME)710B可以是活动的,并且可以随意对所述远程密钥(Rkey)进行读和写。在框1210,如果存在RQ读操作,则RMB1010等待预定的时间,例如一个时钟周期。如果没有任何活动的RQ读操作,或者在接收队列(RQ)上不再有任何的活动,则在框1212,RMB1010启动保护范围(PD)比较,即,将存储器PD(来自于远程密钥存储器1040的PD)和提供给SQ的PD(来自于发送队列的PD)进行比较。如果存储器PD与提供给SQ的PD不匹配,则RMB1010跳过对所述VI的Rkey的处理,并且在框1214继续执行以确定是否所有的VI都已完成。这是因为,如果存储器PD与提供给SQ的PD不匹配,那么没有任何Rkey将匹配。由此,RMB1010可跳过对所述VI的Rkey的处理,以便节省时间和时钟周期。然而,如果存储器的PD与提供给SQ的PD匹配,则RMB1010知道所述工作队列对(WQP)被允许使用所述Rkey。如框1216-1230中所示的,RMB1010然后前进以便读取远程密钥,并且启动顺序地针对所有与所述特定VI相关联的远程密钥(Rkey)的远程密钥比较。每个VI关联四(4)个远程密钥,所述四个远程密钥包括正在每个工作队列对(WQP)中进行的一(1)个RDMA写和三(3)个RDMA读。然而,与每个VI关联的远程密钥的数目并不限于此。由于在此实施例中每个VI关联四(4)个远程密钥,因而RMB1010为了密钥无效必须顺序地启动四次不同的远程密钥比较。具体而言,在框1216,RMB1010从远程密钥存储器1040读取远程密钥“0”并将其与提供给SQ的密钥进行比较。如果存储器远程密钥“0”与提供给SQ的密钥不匹配(有效位非真或者有效位为真而存储器远程密钥“0”不对应于SQRkey),则RMB1010移动以检查下一个Rkey。然而,如果存储器远程密钥“0”与提供给SQ的密钥匹配(有效位是真且存储器远程密钥0=SQRkey),则在框1218,RMB1010清除对应于远程密钥存储器1040中的Rkey“0”的有效位。接着,在框1220,RMB1010从远程密钥存储器1040读取远程密钥“1”并将其与提供给SQ的密钥进行比较。如果存储器远程密钥“1”与提供给SQ的密钥不匹配,则RMB1010移动以检查下一个Rkey。如果存储器远程密钥“1”与提供给SQ的密钥匹配,则在框1222,RMB1010清除对应于远程密钥存储器1040中的Rkey“1”的有效位。同样的,RMB1010前进,在框1224处从远程密钥存储器1040读取远程密钥“2”并将其与提供给SQ的密钥进行比较。如果存储器远程密钥“2”与提供给SQ的密钥不匹配,则RMB1010移动以检查下一个Rkey。如果存储器远程密钥“2”与提供给SQ的密钥匹配,则在框1226,RMB1010清除对应于远程密钥存储器1040中的Rkey“2”的有效位。最后,在框1228处,RMB1010从远程密钥存储器1040读取远程密钥“3”并将其与提供给SQ的密钥进行比较。如果存储器远程密钥“3”与提供给SQ的密钥不匹配,则在框1214,RMB1010移动以确定是否所有的VI都完成。如果存储器远程密钥“3”与提供给SQ的密钥匹配,则在框1230,RMB1010清除对应于远程密钥存储器1040中的Rkey“3”的有效位,并且进入框1214以确定是否所有VI都完成。图13A-13H举例说明了依照本发明实施例的正常远程密钥管理器块(RMB)操作的示例性时序图。具体而言,图13A示出了以每8ns为时钟周期的示例性时序图。图13B示出了从发送队列(SQ)开始的SQ起始的示例性时序图。图13C示出了对应于发送队列(SQ)完成的示例性时序图。图13D示出了依照本发明实施例的RMB1010的当前状态的示例性时序图。图13E示出了进行中的当前“VI”或工作队列对(WQP)的示例性时序图。图13F示出了依照本发明实施例的RMB1010的存储器读操作(rmb_mem_re)的示例性时序图。图13G示出了依照本发明实施例的RMB1010的存储器读地址(rmb_mem_rd_addr)的示例性时序图。图13H示出了依照本发明实施例的存储器读数据(rmb_mem_rd_data)的示例性时序图。在这一情况下,将讨论RMB对单个“VI”(也称为“WQP”或“WP”)的所有Rkey的处理以及转换到下一个VI。假设存储器PD与提供给SQ的PD匹配。并假设存储器Rkey与提供给SQ的Rkey不匹配。下面将讨论对所述操作的一个周期接一个周期的说明如图13A-13H所示,RMB1010在周期#1以及周期#2期间保持空闲。在周期#3,当发送队列(SQ)如图13B所示那样开始RMB操作时,RMB1010如图13F所示那样使远程密钥存储器1040的“读使能”有效,并且驱动正确的地址以读取第一VI、即VI“0”的保护范围(PD),如图13G所示。在周期#4,将存储器PD与提供给SQ的PD比较。因为存在匹配,所有RMB1010开始读取对应于所述VI的远程密钥(Rkey)。如图13C所示,使发送队列(SQ)的完成指示(完成信号)无效。在周期#5,#6和#7,如果来自远程密钥存储器1040的Rkey“0”,“1”和“2”与提供给SQ的Rkey不匹配,则RMB1010继续读远程密钥存储器1040。在周期#8,如果从远程密钥存储器1040读取的Rkey“3”与提供给SQ的Rkey不匹配,则结束对当前VI的Rkey的处理。如图13F所示,RMB1010使远程密钥存储器140的“读使能”无效。在周期#9,RMB1010进行检查以查看是否所有的VI都完成(参见图12的框1214)。如果所有的VI还没有完成,并且接收队列(RQ)没有正在访问远程密钥存储器1040,则RMB1010开始读取下一个VI、即VI“1”的保护范围(PD)。在周期#10,以与参照周期#4描述的方式相同的方式来再次对存储器PD和提供给SQ的PD进行比较。然而,VI#被加1。在周期#11,#12以及#13,与参考周期#5,#6和#7所描述的方式一样,如果来自远程密钥存储器1040的Rkey“0”,”1”和“2”与提供给SQ的Rkey不匹配,则RMB1010继续读远程密钥存储器1040。图14A-14H举例说明了依照本发明实施例的完成正常远程密钥管理器块(RMB)操作的示例性时序图。图14A示出了以每8ns为时钟周期的示例性时序图。图14B示出了从发送队列(SQ)开始的SQ起始的示例性时序图。图14C示出了对应于发送队列(SQ)完成的示例性时序图。图14D示出了依照本发明实施例的RMB1010的当前状态的示例性时序图。图14E示出了进行中的当前“VI”或工作队列对(WQP)的示例性时序图。图14F示出了依照本发明实施例的RMB1010的存储器读操作(rmb_mem_re)的示例性时序图。图14G示出了依照本发明实施例的RMB1010的存储器读地址(rmb_mem_rd_addr)的示例性时序图。图14H示出了依照本发明实施例的存储器读数据(rmb_mem_rd_data)的示例性时序图。在这一情况下,将讨论RMB对最后VI的最后两个密钥的处理和到空闲状态的转换。假设存储器Rkey与提供给SQ的Rkey不匹配。下面将讨论对所述操作的一个周期接一个周期的说明如图14A-14H所示,在周期#1和周期#2期间,RMB1010保持在处理VIMax的中间。在周期#3和周期#4,RMB1010确定从远程密钥存储器1040中顺序读取的Rkey“2”以及Rkey“3”与提供给SQ的用于VIMax的Rkey不匹配,如图14H所示。在周期#5,RMB1010进行检查以查看是否所有的VI都完成(参见图12的框1214)。如果所有的VI都完成,则RMB1010如图14C所示,在下一个时钟周期转换为空闲。如图14E所示,RMB1010还使发送队列(SQ)的完成指示(完成信号)有效。如图14D所示,在周期#6,VI#翻转至零“0”以准备下一个RMB1010操作的开始。如图14C所示,在周期#7和#8,然后RMB1010保持空闲。图15A-15H举例说明了依照本发明实施例的、在其中存在保护范围(PD)失配的远程密钥管理器块(RMB)操作的示例性时序图。在此情况下,RMB1010开始处理VI。假设存储器PD与提供给SQ的PD不匹配。由此,RMB1010跳过处理当前VI的Rkey,并转移到下一个VI。图15A示出了以每8ns为时钟周期的示例性时序图。图15B示出了从发送队列(SQ)开始的SQ起始的示例性时序图。图15C示出了依照本发明实施例的RMB1010的当前状态的示例性时序图。图15D示出了来自于RMB1010的PD失败指示的示例性时序图。图15E示出了进行中的当前“VI”或工作队列对(WQP)的示例性时序图。图15F示出了依照本发明实施例的RMB1010的存储器读(rmb_mem_re)操作的示例性时序图。图15G示出了依照本发明实施例的RMB1010的存储器读地址(rmb_mem_rd_addr)的示例性时序图。图15H示出了依照本发明实施例的存储器读数据(rmb_mem_rd_data)的示例性时序图。下面将论述所述操作的一个周期接一个周期的说明如图15A-15H所示,在周期#1和周期#2期间,RMB1010保持空闲。如图15B所示,在周期#3,当发送队列(SQ)开始RMB操作时,RMB1010使远程密钥存储器1040的“读使能”有效,并驱动正确的地址以读取第一VI即VI“0”的保护范围(PD)。如图15C所示,在周期#4,将存储器PD与提供给SQ的PD进行比较。由于存在失配,必须终止对当前VI的Rkey处理。由此,RMB1010停止读取对应于所述VI的远程密钥(Rkey)。如图15G所示,读取的地址与下一个VI的PD地址一起被加载。在周期#5,RMB1010进行检查以查看是否所有的VI都已完成(参见图12的框1214)。如果所有的VI都没有完成,并且接收队列(RQ)没有在访问远程密钥存储器1040,则RMB1010开始读取下一个VI即VI“1”的保护范围(PD)。如图15E所示,在周期#6,VI#被加1。如图15C所示,将存储器PD与提供给SQ的PD比较。由于存在匹配,RMB1010开始读取对应于所述VI的远程密钥(Rkey)。在周期#7和#8,如果来自远程密钥存储器1040的Rkey“0”和“1”与提供给SQ的Rkey不匹配,则RMB1010继续读远程密钥存储器1040。图16A-16K举例说明了依照本发明实施例、在其中存在多个密钥失配的远程密钥管理器块(RMB)操作的示例性时序图。在这种情况下,RMB1010开始处理VI。假设存储器PD与提供给SQ的PD匹配。并假设所有的存储器Rkey与提供给SQ的Rkey匹配。由此,RMB1010必须清除每个Rkey各自的有效位。此外还示出了到下一个VI的转换。具体而言,图16A示出了以每8ns为时钟周期的示例性时序图。图16B示出了从发送队列(SQ)开始的SQ起始的示例性时序图。图16C示出了依照本发明实施例的RMB1040的当前状态的示例性时序图。图16D示出了来自RMB1010的PD失败指示的示例性时序图。图16E示出了进行中的当前“VI”或工作队列对(WQP)的示例性时序图。图16F示出了依照本发明实施例的RMB1010的存储器读(rmb_mem_re)操作的示例性时序图。图16G示出了依照本发明实施例的RMB1010的存储器读地址(rmb_mem_rd_addr)的示例性时序图。图16H示出了依照本发明实施例的存储器读数据(rmb_mem_rd_data)的示例性时序图。图16I示出了依照本发明实施例的RMB1010的存储器写(rmb_mem_we)操作的示例性时序图。图16J示出了依照本发明实施例的RMB1010的存储器写地址(rmb_mem_wr_addr)的示例性时序图。图16K示出了依照本发明实施例的存储器写数据(rmb_mem_wr_data)的示例性时序图。下面将论述所述操作的一个周期接一个周期的说明如图16A-16K所示,在周期#1以及周期#2期间,RMB1010保持空闲。在周期#3,当发送队列(SQ)如图16B所示那样开始RMB操作时,RMB1010如图16F所示那样使远程密钥存储器1040的“读使能”有效,并且驱动正确的地址以读取第一VI即VI“0”的保护范围(PD),如图16G所示。在周期#4,将存储器PD与提供给SQ的PD相比较。由于存在匹配,RMB1010开始读取对应于所述VI的远程密钥(Rkey)。在周期#5,来自远程密钥存储器1040的RKey“0”与提供给SQ的Rkey匹配。由此,RMB1010停止读远程密钥存储器1040。在周期#6,必须清除对应于远程密钥存储器1040中的Rkey“0”的有效位。由此,如图16I所示,RMB1010使远程密钥存储器1040的“写使能”有效。此外,RMB1010开始读Rkey“1”。在周期#7,来自远程密钥存储器1040的Rkey”1”与提供给SQ的Rkey匹配。由此,RMB1010停止读远程密钥存储器1040。在周期#8,必须清除对应于远程密钥存储器1040中的Rkey“1”的有效位。由此,如图16I所示,RMB1010使远程密钥存储器1040的“写使能”有效。RMB1010并且开始读Rkey“2”。在周期#9,来自远程密钥存储器1040的Rkey“2”与提供给SQ的Rkey匹配。由此,RMB1010停止读远程密钥存储器1040。在周期#10,必须清除对应于远程密钥存储器1040中的Rkey“2”的有效位。由此,如图16I所示,RMB1010使远程密钥存储器1040的“写使能”有效。RMB1010并且开始读Rkey“3”。在周期#11,来自远程密钥存储器1040的RKey“3”与提供到SQ的Rkey匹配。由此,RMB1010停止读远程密钥存储器1040。在周期#12,必须清除对应于远程密钥存储器1040中的Rkey“3”的有效位。由此,如图16I所示,RMB1010使远程密钥存储器1040的“写使能”有效。在周期#13,RMB1010进行检查并查看是否所有的VI都完成(参见图12的框1214)。如果所有的VI还没有完成,并且接收队列(RQ)没有在访问远程密钥存储器1040,则RMB1010开始读取下一个VI即VI“1”的保护范围(PD)。在周期#14,以参见周期#4所描述的相同的方式,再次将存储器PD与提供给SQ的PD进行比较。然而,VI#被加1。在周期#15,来自远程密钥存储器1040的Rkey“0”与提供给SQ的Rkey匹配,除了VI不同外,所述过程与参考周期#5所描述的方式一样。图17A-17M举例说明了依照本发明实施例的远程密钥管理器块(RMB)操作的示例性时序图,在所述操作过程中存在具有与间断的RQ存储器访问的多次密钥失配。在这种情况下,RMB1010开始处理VI。假设存储器PD与提供给SQ的PD匹配。并假设所有的存储器Rkey与提供给SQ的Rkey匹配。由此,RMB1010必须清除每个Rkey各自的有效位。但是,RQ微引擎(ME)710B会在RMB1010正试图访问存储器1040的周期上访问存储器1040。因此,将论述潜在的存储器访问冲突。此外还示出了到下一个VI的转换。具体而言,图17A示出了以每8ns为时钟周期的示例性时序图。图17B示出了从发送队列(SQ)开始的SQ起始的示例性时序图。图17C示出了来自接收队列(RQ)的RQ源地址的示例性时序图。图17D示出了RMB1010的RQ存储器写操作的示例性时序图。图17E示出了依照本发明实施例的RMB1040的当前状态的示例性时序图。图17F示出了来自于RMB1010的密钥失败指示的示例性时序图。图17G示出了正在处理的当前“VI”或工作队列对(WQP)的示例性时序图。图17H示出了依照本发明实施例的RMB1010的存储器读(rmb_mem_re)的示例性时序图。图17I示出了依照本发明实施例的RMB1010的存储器读地址(rmb_mem_rd_addr)的示例性时序图。图17J示出了依照本发明实施例的存储器读数据(rmb_mem_rd_data)的示例性时序图。图17K示出了依照本发明实施例的RMB1010的存储器写(rmb_mem_we)操作的示例性时序图。图17L示出了依照本发明实施例的RMB1010的存储器写地址(rmb_mem_wr_addr)的示例性时序图。图17M示出了依照本发明实施例的存储器写数据(rmb_mem_wr_data)的示例性时序图。下面将论述所述操作的一个周期接一个周期的说明如图17A-17M所示,在周期#1和周期#2期间,RMB1010保持空闲。在周期#3,如图17所示,发送队列(SQ)开始RMB操作。由此,RMB1010必须读取对应于VI“0”(也称为“WQP”或“QP”)的保护范围(PD)。然而,在这一时钟上,接收队列(RQ)正试图读远程密钥存储器1040。由此,RMB1010等待,直到接收队列(RQ)不活动为止。在周期#4,如图17I以及17J所示,当RQ不活动时,RMB1010使远程密钥存储器1040的“读使能”有效,并且驱动正确的地址以读取第一VI即VI“0”的保护范围(PD)。在周期#5,将存储器PD与提供给SQ的PD比较。因为存在匹配,RMB1010必须开始读取对应于所述VI的Rkey。但是,在这一时钟上,接收队列(RQ)正试图读远程密钥存储器1040。由此,RMB1010等待,直到接收队列(RQ)不活动为止。在周期#6,RMB1010开始读来自于远程密钥存储器1040的Rkey“0”。在周期#7,来自远程密钥存储器1040的Rkey“0”与提供给SQ的Rkey匹配。由此,RMB1010停止读远程密钥存储器1040。在周期#8,必须清除对应于远程密钥存储器1040中的Rkey“0”的有效位。然而,在这一时钟上,接收队列(RQ)正在写入远程密钥存储器1040。由此,RMB1010等待,直到接收队列(RQ)不活动为止。在周期#9,当接收队列(RQ)不活动时,RMB1010清除对应于存储器1040中的Rkey“0”的有效位。而后,RMB1010开始读Rkey“1”。在周期#10,来自远程密钥存储器1040的Rkey“1”与提供给SQ的Rkey不匹配。RMB1010必须读来自于远程密钥存储器1040的Rkey“2”。但是,在这一时钟上,接收队列(RQ)正试图读远程密钥存储器1040。由此,RMB1010等待,直到接收队列(RQ)不活动为止。在周期#11,当接收队列(RQ)不活动时,RMB1010开始读来自于远程密钥存储器1040的Rkey“2”。在周期#12,来自远程密钥存储器1040的Rkey“1”与提供给SQ的Rkey不匹配。由此,RMB1010必须读来自于远程密钥存储器1040的Rkey“3”。但是在这一时钟上,接收队列(RQ)正试图读远程密钥存储器1040。由此,RMB1010等待,直到接收队列(RQ)不活动为止。在周期#13,当接收队列(RQ)不活动时,RMB1010开始读来自远程密钥存储器1040的Rkey“3”。在周期#14,来自远程密钥存储器1040的Rkey“3”与提供给SQ的Rkey匹配。由此,RMB1010停止从远程密钥存储器1040中读取。在周期#15,RMB1010想要清除对应于远程密钥存储器1040中的Rkey“3”的有效位。但是在这一时钟上,接收队列(RQ)正在写远程密钥存储器1040。因而,RMB1010等待,直到接收队列(RQ)不活动为止。在周期#16,当接收队列(RQ)不活动时,RMB1010清除对应于远程密钥存储器1040中的Rkey“0”的有效位。在周期#17,RMB1010进行检查并查看是否所有的VI都完成。如果不是所有的VI都完成,并且接收队列(RQ)没有正在访问存储器1040,那么RMB1010开始读下一个VI即VI#1(也称为“WQP#1”或“QP#1”)的PD。在周期#18,以参考周期#4所描述的方式相同的方式,RMB1010使存储器1040的“读使能”有效,并驱动正确的地址以读取VI#1的密钥“0”。但是VI#被加1。图13A-13H、14A-14H、15A-15H、16A-16K以及17A-17M所示的时序图,是受ASIC工艺以及其它因素的要求而控制的。如果ASIC工艺和技术要求(诸如芯片制造工艺)不同,那么图10-12中所示的这些步骤以及图13A-13H、14A-14H、15A-15H、16A-16K以及17A-17M中所示的时序图的实现将不同地被完成。然而仍要遵照在本申请中所描述的基本原理。此外,除了参照图10-12所描述的本申请的这些方法外,还有两种(2)其它可能的方式可用来实现远程密钥管理器块(RMB)。这些可能的方式包括完全以硬件或者完全以微代码的方式来实现远程密钥管理器块(RMB)。如果远程密钥管理器块(RMB)完全以硬件方式来实现,那么将会创建出许多竞争条件(racecondition),这是由于SQ绑定描述符及RQRDMA操作,和主机存储器窗口无效或移动之间复杂的交互。此外,如果InfiniBandTM规范将来会改变,并且这如果并非不可能的话,那么硬件将来的修改或升级会变得非常困难。如果远程密钥管理器块(RMB)完全以微代码的方式来实现,那么每个WQP至少需要9个时钟周期(5个读周期以及4个写周期)。为支持256个WQP,将需要总计为256(WQP)×9(时钟/WQP)×8(ns/时钟)~18us。这意味着在这一时间期间,主机结构适配器将会被完全地停止,并且无法处理SQ分组。这会引起分组超时,以及其它InfiniBandTM相关的一致性问题。如上所述,依照本发明实施例的、使用基于通道、交换结构的体系结构的、在数据网络中的主机系统上安装的主机结构适配器,有效地管理NGIO/InfiniBandTM通道,并且支持主机系统上的通信设备间的数据移动操作,或者支持直接连接在一起或经由使用基于通道的、交换结构的体系结构的数据网络连接在一起的主机系统之间的数据移动操作。为具有最小硬件投资的NGIO/InfiniBandTM的功能性,而优化所述主机结构适配器,包括控制NGIO/InfiniBandTM协议以最小流水线的执行。主机结构适配器的微控制子系统被设计以用于控制NGIO/InfiniBandTM协议以最小流水线的执行。此外,实现了密钥验证机制,以用于在这种数据网络中管理并且无效对应于未处理数据事务(例如,读/写操作)的远程密钥,以便授权远程系统经由基于通道的交换结构来有效访问主机存储器。虽然已经举例说明和描述了被视为本发明的示例性的实施例,但是本领域技术人员将能够理解,随着技术的发展,在不脱离本发明真正范围的情况下,可以进行各种变化和修改,并且可以利用等价物来代替其元件。例如,本发明适用于所有类型的数据网络和LAN系统,所述数据网络包括但不限于局域网(LAN)、广域网(WAN)、校园网(CAN)、城域网(MAN)、全球区域网络(GAN)、以及如下的系统区域网络(SAN),所述系统区域网络使用下一代I/O(NGIO)、FutureI/O(FIO)、InfiniBandTM以及ServerNet,所述LAN系统包括以太网、FDDI(光纤分布式数据接口)令牌环LAN、异步传输模式(ATM)LAN、光线通道以及无线LAN。此外,在不脱离本发明真实范围的情况下,可以作出其它的修改以使本发明的教导适应特殊的情形。由此,应该意识到本发明并不限于所公开的各种示例性实施例,而是包括在所附权利要求书限定的范围内的所有实施例。权利要求1.一种主机结构适配器,包括一个或多个微引擎,被安排成用于响应来自主机系统的对数据传送操作的工作请求,经由交换结构来建立连接以及支持数据传送操作;以及远程密钥管理器,被安排成用于经由所述交换结构来管理远程密钥以及检查远程密钥的有效性,所述远程密钥对应于未处理的数据传送操作。2.如权利要求1所述的主机结构适配器,进一步包括包含多个工作队列对(WQP)的传输引擎,在所述多个工作队列对中,描述符形式的工作请求经由所述交换结构被邮送,以用来描述数据传送操作以及描述要被移动以便处理和/或传输的数据的位置。3.如权利要求2所述的主机结构适配器,其特征在于所述工作队列对(WQP)均包括用作“启动器”的发送队列(SQ),所述发送队列经由所述交换结构请求到远程系统的远程虚拟接口(VI)的正常消息发送,请求远程直接存储器访问(RDMA)读操作,所述读操作请求消息要从所述远程系统的特定存储单元加以读取,以及经由所述交换结构请求远程直接存储器访问(RDMA)写操作,所述写操作请求消息要被写入所述远程系统的特定存储单元;以及用作“应答器”的接收队列,所述接收队列经由所述交换结构从所述远程系统接收对来自正常发送、RDMA读操作和RDAM写操作的消息的请求。4.如权利要求3所述的主机结构适配器,其特征在于所述微引擎以及所述远程密钥管理器依照“InfiniBandTM规范”加以配置,并且作为专用集成电路(ASIC)的一部分加以实现。5.如权利要求3所述的主机结构适配器,其特征在于所述微引擎包括发送队列(SQ)微引擎,被安排成用于控制工作队列对(WQP)的发送队列(SQ)的操作;以及接收队列(RQ)微引擎,被安排成用于控制工作队列对(WQP)的接收队列(RQ)的操作。6.如权利要求5所述的主机结构适配器,其特征在于所述远程密钥管理器包括远程密钥存储器,所述远程密钥存储器用于存储储存的远程密钥,所述储存的远程密钥用于与包含在用于密钥验证的工作请求中的远程密钥进行比较。7.如权利要求6所述的主机结构适配器,其特征在于所述远程密钥用于为包括RDMA读/写操作的未处理数据传送操作标识用于从虚拟地址到物理地址转换的适当页。8.如权利要求7所述的主机结构适配器,其特征在于所述工作请求以用于正常数据传送操作的描述符的形式而被邮送,所述正常数据传送操作诸如正常发送、RDMA写操作以及RDMA读操作,或者以用于非数据操作的绑定描述符的形式而被邮送,所述非数据操作诸如在发送队列(SQ)上移动或无效所述主机系统的主机存储器的特定存储器区域内的“存储器窗口”,以限制RDMA数据传送操作。9.如权利要求6所述的主机结构适配器,其特征在于所述远程密钥存储器是具有单个读端口和单个写端口的随机访问存储器(RAM)。10.如权利要求8所述的主机结构适配器,其特征在于所述远程密钥管理器被启动来通过以下操作检查远程密钥的有效性,所述操作包括确定在发送队列(SQ)上邮送的描述符是否是用于非数据操作的绑定描述符;如果所述邮送的描述符不是绑定描述符,那么针对正常数据传送操作,诸如正常发送、RDMA写操作以及RDMA读操作进行处理;如果所述邮送的描述符是绑定描述符,那么确定所述“存储器窗口”是否是无效的;如果所述“存储器窗口”不是无效的,那么记录所述“存储器窗口”被移动,并且对所述主机系统的主机存储器执行写操作以移动所述“存储器窗口”;如果所述“存储器窗口”是无效的,那么对所述主机系统的主机存储器执行写操作以破坏所述“存储器窗口”;搜索所有使用所述“存储器窗口”的未处理RDMA操作,以标识使用过所述“存储器窗口”的远程密钥;如果使用过所述“存储器窗口”的远程密钥被标识了,则使所述远程密钥无效,直到所有远程密钥都被无效为止;如果任何远程密钥都没有被标识,则完成所有远程密钥的无效,并且返回到空闲状态;以及如果所有的远程密钥都没有被无效,那么返回以便搜索所有使用所述“存储器窗口”的未处理RDMA操作,直到所有的远程密钥被标记为“无效的”为止,从而使得任何新的远程密钥或者新的工作队列对(WQP)都不可以进入并且使用所述“存储器窗口”。11.如权利要求10所述的主机结构适配器,其特征在于所述远程密钥管理器在来自所述SQ微引擎请求密钥无效时被启动,以便通过以下操作来使远程密钥无效,所述操作包括启动虚拟接口(VI)的存储器PD和提供给SQ的PD之间的保护范围(PD)比较;如果存储器PD与提供给SQ的PD不匹配,则跳过对用于所述VI的远程密钥的处理,并且确定是否所有的VI都被处理了;以及如果存储器PD与提供给SQ的PD匹配,则读取远程密钥,并且启动顺序地针对所有与用于密钥无效的所述VI相关联的远程密钥的远程密钥比较。12.如权利要求11所述的主机结构适配器,其特征在于所述远程密钥管理器启动通过以下操作对与所述VI相关联的所有远程密钥的远程密钥比较,所述操作包括从远程密钥存储器读取第一远程密钥,并将其与提供给SQ的密钥进行比较;如果所述第一远程密钥与提供给SQ的密钥不匹配,则移动以检查下一个远程密钥;如果所述第一远程密钥与提供给SQ的密钥匹配,则清除对应于远程密钥存储器中的第一远程密钥的有效位;从远程密钥存储器读取第二远程密钥,并且将其与提供给SQ的密钥进行比较;如果所述第二远程密钥与提供给SQ的密钥不匹配,则移动以检查下一个远程密钥;如果所述第二远程密钥与提供给SQ的密钥匹配,则清除对应于远程密钥存储器中的第二远程密钥的有效位;从远程密钥存储器读取第三远程密钥,并且将其与提供给SQ的密钥进行比较;如果所述第三存储器远程密钥与提供给SQ的密钥不匹配,则移动以检查下一个远程密钥;如果所述第三远程密钥与提供给SQ的密钥匹配,则清除对应于远程密钥存储器中的第三远程密钥的有效位;从远程密钥存储器读取最后的远程密钥,并将其与提供给SQ的密钥进行比较;如果所述最后的远程密钥与提供给SQ的密钥不匹配,则移动以确定是否所有的VI都被处理;以及如果所述最后的远程密钥与提供给SQ的密钥匹配,则清除对应于远程密钥存储器中的最后的远程密钥的有效位,并确定是否所有的VI都被处理。13.一种安装在主机系统上的、用于连接至数据网络的交换结构的主机结构适配器,包括至少一个微引擎(ME),被安排成用于经由所述交换结构来建立连接以及支持数据传送;串行接口,被安排成用于接收来自所述交换结构的用于数据传送操作的数据分组,并将其传输;主机接口,被安排成用于接受来自所述主机系统的对数据传送操作的工作请求,并以描述符的形式将其传输;前后关系存储器,被安排成用于存储所述微引擎(ME)用来处理对数据传送操作的工作请求所必需的前后关系信息;门铃管理器,被安排成用于更新所述微引擎(ME)用来处理对数据传送操作的工作请求所必需的前后关系信息;以及远程密钥管理器,被安排成用于管理远程密钥,并检查与未处理的数据传送操作对应的远程密钥的有效性。14.如权利要求13所述的主机结构适配器,进一步包括包含多个工作队列对(WQP)的传输引擎,在所述工作队列对中,描述符形式的工作请求经由所述交换结构被邮送,以用来描述数据传送操作以及描述要被移动以便处理和/或传输的数据的位置。15.如权利要求14所述的主机结构适配器,其特征在于所述工作队列对(WQP)均包括用作“启动器”的发送队列(SQ),所述发送队列经由所述交换结构请求到远程系统的远程虚拟接口(VI)的正常消息发送,请求远程直接存储器访问(RDMA)读操作,所述读操作请求消息要从所述远程系统的特定存储单元加以读取,以及经由所述交换结构请求远程直接存储器访问(RDMA)写操作,所述写操作请求消息要被写入所述远程系统的特定存储单元;以及用作“应答器”的接收队列,所述接收队列经由所述交换结构从所述远程系统接收对来自正常发送、RDMA读操作和RDAM写操作的消息的请求。16.如权利要求13所述的主机结构适配器,其特征在于所述微引擎、主机接口、串行接口、前后关系存储器、门铃管理器以及所述远程密钥管理器依照“InfiniBandTM规范”加以配置,并且作为专用集成电路(ASIC)的一部分加以实现。17.如权利要求15所述的主机结构适配器,其特征在于所述微引擎包括发送队列(SQ)微引擎,被安排成用于控制工作队列对(WQP)的发送队列(SQ)的操作;以及接收队列(RQ)微引擎,被安排成用于控制工作队列对(WQP)的接收队列(RQ)的操作。18.如权利要求17所述的主机结构适配器,其特征在于所述远程密钥管理器包括远程密钥存储器,所述远程密钥存储器存储储存的远程密钥,所述储存的远程密钥用于与包含在用于密钥验证的工作请求中的远程密钥进行比较。19.如权利要求18所述的主机结构适配器,其特征在于所述远程密钥用于为包括RDMA读/写操作的未处理数据传送操作标识用于从虚拟地址到物理地址转换的适当页。20.如权利要求19所述的主机结构适配器,其特征在于所述工作请求以用于正常数据传送操作的描述符的形式而被邮送,所述正常数据传送操作诸如正常发送、RDMA写操作以及RDMA读操作,或者以用于非数据操作的绑定描述符的形式而被邮送,所述非数据操作诸如在发送队列(SQ)上移动或无效所述主机系统的主机存储器的特定存储器区域内的“存储器窗口”,以限制RDMA数据传送操作。21.如权利要求18所述的主机结构适配器,其特征在于所述远程密钥存储器是1280×28的具有单个读端口和单个写端口的随机访问存储器(RAM)。22.如权利要求20所述的主机结构适配器,其特征在于所述远程密钥管理器被启动来通过以下操作来检查远程密钥的有效性,所述操作包括确定在发送队列(SQ)上邮送的描述符是否是用于非数据操作的绑定描述符;如果所述邮送的描述符不是绑定描述符,那么针对正常数据传送操作,诸如正常发送、RDMA写操作以及RDMA读操作进行处理;如果所述邮送的描述符是绑定描述符,那么确定所述“存储器窗口”是否是无效的;如果所述“存储器窗口”不是无效的,那么记录所述“存储器窗口”被移动,并且对所述主机系统的主机存储器执行写操作以移动所述“存储器窗口”;如果所述“存储器窗口”是无效的,那么对所述主机系统的主机存储器执行写操作以破坏所述“存储器窗口”;搜索所有使用所述“存储器窗口”的未处理RDMA操作,以标识使用过所述“存储器窗口”的远程密钥;如果使用过所述“存储器窗口”的远程密钥被标识了,则使所述远程密钥无效,直到所有远程密钥都被无效为止;如果任何远程密钥都没有被标识,则完成使所有远程密钥的无效,并且返回到空闲状态;以及如果所有的远程密钥都没有被无效,那么返回以便搜索所有使用所述“存储器窗口”的未处理RDMA操作,直到所有的远程密钥被标记为“无效的”为止,从而使得任何新的远程密钥或者新的工作队列对(WQP)都不可以进入并且使用所述“存储器窗口”。23.如权利要求22所述的主机结构适配器,其特征在于所述远程密钥管理器在来自所述SQ微引擎请求密钥无效时被启动,以便通过以下操作来使远程密钥无效,所述操作包括启动虚拟接口(VI)的存储器PD和提供给SQ的PD之间的保护范围(PD)比较;如果存储器PD与提供给SQ的PD不匹配,则跳过对用于所述VI的远程密钥的处理,并且确定是否所有的VI都被处理了;以及如果存储器PD与提供给SQ的PD匹配,则读取远程密钥,并且启动顺序地针对所有与用于密钥无效的所述VI相关联的远程密钥的远程密钥比较。24.如权利要求23所述的主机结构适配器,其特征在于所述远程密钥管理器启动通过以下操作对与所述VI相关联的所有远程密钥的远程密钥比较,所述操作包括从远程密钥存储器读取第一远程密钥并将其与提供给SQ的密钥进行比较;如果所述第一远程密钥与提供给SQ的密钥不匹配,则移动以检查下一个远程密钥;如果所述第一远程密钥与提供给SQ的密钥匹配,则清除对应于远程密钥存储器中的第一远程密钥的有效位;从远程密钥存储器读取第二远程密钥并且将其与提供给SQ的密钥进行比较;如果所述第二远程密钥与提供给SQ的密钥不匹配,则移动以检查下一个远程密钥;如果所述第二远程密钥与提供给SQ的密钥匹配,则清除对应于远程密钥存储器中的第二远程密钥的有效位;从远程密钥存储器读取第三远程密钥并且将其与提供给SQ的密钥进行比较;如果所述第三存储器远程密钥与提供给SQ的密钥不匹配,则移动以检查下一个远程密钥;如果所述第三远程密钥与提供给SQ的密钥匹配,则清除对应于远程密钥存储器中的第三远程密钥的有效位;从远程密钥存储器读取最后的远程密钥,并将其与提供给SQ的密钥进行比较;如果所述最后的远程密钥与提供给SQ的密钥不匹配,则移动以确定是否所有的VI都被处理;以及如果所述最后的远程密钥与提供给SQ的密钥匹配,则清除对应于远程密钥存储器中的最后的远程密钥的有效位,并确定是否所有的VI都被处理。25.一种用于在主机系统上安装的主机结构适配器中检查如下远程密钥的有效性的方法,所述远程密钥对应于未处理的远程直接存储器访问(RDMA)操作,包括确定要在发送队列(SQ)上加以处理的任意虚拟接口(VI)是否是用于非数据操作的绑定描述符;如果被邮送的描述符不是绑定描述符,则针对正常数据传送操作进行处理;如果所述邮送的描述符是绑定描述符,那么确定所述“存储器窗口”是否是无效的;如果所述“存储器窗口”不是无效的,那么记录所述“存储器窗口”被移动,并且对所述主机系统的主机存储器执行写操作以移动所述“存储器窗口”;如果所述“存储器窗口”是无效的,那么对所述主机系统的主机存储器执行写操作以破坏所述“存储器窗口”;搜索所有使用所述“存储器窗口”的未处理RDMA操作,以标识使用过所述“存储器窗口”的远程密钥;如果使用过所述“存储器窗口”的远程密钥被标识了,则使所述远程密钥无效,直到所有远程密钥都被无效为止;如果任何远程密钥都没有被标识,则完成所有远程密钥的无效,并且返回到空闲状态;以及如果所有的远程密钥都没有被无效,那么返回以便搜索所有使用所述“存储器窗口”的未处理RDMA操作,直到所有的远程密钥被标记为“无效的”为止,从而使得任何新的远程密钥或者新的工作队列对(WQP)都不可以进入并且使用所述“存储器窗口”。26.如权利要求25所述的方法,其特征在于所述远程密钥通过以下步骤被无效,所述步骤包括启动虚拟接口(VI)的存储器PD和提供给SQ的PD之间的保护范围(PD)比较;如果存储器PD与提供给SQ的PD不匹配,则跳过对用于所述VI的远程密钥的处理,并且确定是否所有的VI都被处理了;以及如果存储器PD与提供给SQ的PD匹配,则读取远程密钥,并且启动顺序地针对所有与用于密钥无效的所述VI相关联的远程密钥的远程密钥比较。27.如权利要求26所述的方法,其特征在于用于与所述VI相关联的所有远程密钥的所述远程密钥比较通过以下步骤加以执行,所述步骤包括从远程密钥存储器读取第一远程密钥并将其与提供给SQ的密钥进行比较;如果所述第一远程密钥与提供给SQ的密钥不匹配,则移动以检查下一个远程密钥;如果所述第一远程密钥与提供给SQ的密钥匹配,则清除对应于远程密钥存储器中的第一远程密钥的有效位;从远程密钥存储器读取第二远程密钥并且将其与提供给SQ的密钥进行比较;如果所述第二远程密钥与提供给SQ的密钥不匹配,则移动以检查下一个远程密钥;如果所述第二远程密钥与提供给SQ的密钥匹配,则清除对应于远程密钥存储器中的第二远程密钥的有效位;从远程密钥存储器读取第三远程密钥并且将其与提供给SQ的密钥进行比较;如果所述第三存储器远程密钥与提供给SQ的密钥不匹配,则移动以检查下一个远程密钥;如果所述第三远程密钥与提供给SQ的密钥匹配,则清除对应于远程密钥存储器中的第三远程密钥的有效位;从远程密钥存储器读取最后的远程密钥,并将其与提供给SQ的密钥进行比较;如果所述最后的远程密钥与提供给SQ的密钥不匹配,则移动以确定是否所有的VI都被处理;以及如果所述最后的远程密钥与提供给SQ的密钥匹配,则清除对应于远程密钥存储器中的最后的远程密钥的有效位,并确定是否所有的VI都被处理。全文摘要一种配备一个或多个主机结构适配器的主机系统,所述主机结构适配器安装在所述主机系统中,用于连接到数据网络的交换结构。所述主机结构适配器可包括至少一个微引擎(ME),被安排成用于经由交换结构建立连接以及支持数据传送操作;串行接口,被安排成接收并传输来自交换结构的用于数据传送操作的数据分组;主机接口,被安排成用于接收并传输来自所述主机系统的对数据传送操作的主机数据传送工作请求;前后关系存储器,被安排成用于提供数据传送操作所必需的前后关系信息;门铃管理器,被安排成用于更新所述微引擎(ME)用来处理对数据传送操作的主机数据传送请求所必需的前后关系信息;以及远程密钥管理器,被安排成用于管理远程密钥并检查与未处理的数据传送操作对应的远程密钥的有效性。文档编号H04L29/06GK1640089SQ02810710公开日2005年7月13日申请日期2002年2月21日优先权日2001年3月26日发明者B·帕塔萨拉蒂,B·M·莱特纳,D·J·加斯巴罗申请人:英特尔公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1