CN101634973A - 传送路径选择设备和方法 - Google Patents

传送路径选择设备和方法 Download PDF

Info

Publication number
CN101634973A
CN101634973A CN200910150460A CN200910150460A CN101634973A CN 101634973 A CN101634973 A CN 101634973A CN 200910150460 A CN200910150460 A CN 200910150460A CN 200910150460 A CN200910150460 A CN 200910150460A CN 101634973 A CN101634973 A CN 101634973A
Authority
CN
China
Prior art keywords
transfer path
data
bus
data transmission
unit
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.)
Pending
Application number
CN200910150460A
Other languages
English (en)
Inventor
戎崎浩二
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of CN101634973A publication Critical patent/CN101634973A/zh
Pending 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/14Handling requests for interconnection or transfer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2002Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant
    • G06F11/2007Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant using redundant communication media
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0745Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in an input/output transactions management context
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/0757Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs
    • 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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1443Transmit or communication errors

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Bus Control (AREA)
  • Small-Scale Networks (AREA)
  • Debugging And Monitoring (AREA)
  • Information Transfer Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供了一种传送路径选择设备和方法,该传送路径选择设备包括:接收单元,其接收数据传送请求以及标识数据传送请求的信息;保存单元,其将所述信息与先前分配给所述信息的传送路径相关联地保存;搜索单元,其在接收单元接收到数据传送请求时,基于与数据传送请求一起由接收单元接收到的所述信息而搜索保存单元;传送路径选择单元,其从多个传送路径当中选择要被分配给数据传送请求的传送路径,所述传送路径不同于作为搜索单元的搜索结果而获得的传送路径;以及更新单元,其基于传送路径选择单元的选择结果而更新由保存单元保存的内容。

Description

传送路径选择设备和方法
技术领域
这里讨论的实施例涉及一种用于从多个传送路径当中选择要用于传送数据的路径的传送路径选择设备和传送路径选择方法、以及使用该方法的数据传送***和计算机设备。
背景技术
传统地,使用多个传送路径来传送数据的技术已经用于串行传输总线等等。典型地,在具有多个数据传输总线的***中,可用总线被循环地用作每个请求传输的请求传输总线。
当在总线中的任何一个内发生故障时,必须分配总线,也就是说,必须选择请求传输总线,以避开出故障的总线。因此,传统地,在通信的下游端的数据接收端检测故障并且将故障报告到在通信的上游端的数据传送端。响应于接收到的报告,上游端阻塞出故障的总线,从而避免出故障的总线被选作用于任何后续请求的请求传输总线(参见例如,日本已公开专利公布No.2008-21153)。
然而,因为数据接收端检测到故障,知道已经发生了错误,在数据传送端的传送路径选择设备需要与数据接收端进行通信。
此外,从数据接收端传送到在数据传送端的传送路径选择设备的故障报告请求可能由于通信错误而失败。如果故障报告请求由于通信错误而失败,则传送路径选择设备可能不能识别到发生故障,并且由此存在将传送请求分配给出出故障的总线的风险。
因此,传统的技术存在这样的问题,即不能单独在数据传送端避开出故障的总线。
本发明是为了解决传统技术中的上述问题而提出的。本发明的目的是提供一种能够单独在传送端避开出故障的总线并分配路径的传送路径选择设备和传送路径选择方法、以及使用该方法的数据传送***和计算机设备。
发明内容
根据本发明的一方面,一种传送路径选择设备包括:接收单元,其接收数据传送请求、以及标识数据传送请求的传送请求标识信息;保存单元,其将传送请求标识信息与先前分配给该传送请求标识信息的传送路径相关联地保存;搜索单元,其在接收单元接收到数据传送请求时,基于与该数据传送请求一起由接收单元接收到的传送请求标识信息而搜索保存单元。该传送路径选择设备还包括:传送路径选择单元,其从多个传送路径当中选择要被分配给数据传送请求的传送路径,所述传送路径不同于作为搜索单元的搜索结果而获得的传送路径;以及更新单元,其基于传送路径选择单元的选择结果而更新由保存单元保存的内容。
本发明的目的和优点将借助于权利要求中具体指出的元件和组合来实现和获得。
应当理解,如同所要求保护的那样,前面的一般描述和下面的详细描述对于本发明都是示例性和解释性的而非限制性的。
附图说明
图1是根据本发明实施例的数据传送***的构造的示意图;
图2是标签寄存器的说明图;
图3是包括多个用于在CPU和IO之间的传送和接收的总线的服务器的构造的示意图;
图4是总线选择电路的处理操作的流程图;
图5是包括在图4中的总线分配处理的流程图;
图6是正常的传送和接收操作的说明图;
图7是在总线Bs1到IO的传送中发生故障时的传送和接收流程的说明图;
图8是传统的基于故障检测的传送和接收流程的说明图;以及
图9是用于将数据从IO传送到CPU的***的构造的示意图。
具体实施方式
下面将参考附图详细地描述根据本发明的传送路径选择设备、数据传送***、计算机设备和传送路径选择方法的实施例。
图1是根据本发明实施例的数据传送***的构造的示意图。图1中的数据传送***将数据从中央处理单元(CPU)传送到输入/输出设备(IO),并且是用作具有CPU 11和IO 13的服务器的计算机设备的一部分。IO是外部输入/输出接口,其执行CPU和外部设备之间的数据的输入或输出。数据经由多个串行总线Bs0到Bs3而从CPU 11传送到IO 13。由IO传送控制单元12执行向总线分配传送数据。当CPU 11执行到IO 13的数据传送时,CPU 11将数据传送请求传送到IO传送控制单元12。响应于数据传送请求,IO传送控制单元12为数据传送请求分配总线并且将所分配总线的总线ID以及数据传送许可返回到CPU 11。
响应于所接收的数据传送许可,CPU 11将所分配总线的总线ID和要被传送的数据传送到IO传送控制单元12。IO传送控制单元12将从CPU 11接收的数据传送到由从CPU 11接收的总线ID表示的总线。
在传统的构造中,当CPU请求数据传送时,CPU没有提供标识要被传送的数据的信息。相反,根据本实施例的CPU 11将在CPU 11中用来标识要被传送的数据的请求ID,作为传送请求标识信息提供到IO传送控制单元12。
具体地,CPU 11向IO传送控制单元12传送表示数据传送请求合法的单比特信号REQ-V、表示请求ID的四比特信号REQ-ID、以及表示请求类型的两比特信号REQ-TYPE。REQ-V、REQ-ID和REQ-TYPE中的每个在不同的信号线上被传送。
REQ-ID是为从CPU发出到IO的每个请求指定的唯一ID。所指定的REQ-ID不可以再使用直至完成该请求。REQ-TYPE具有在CPU请求发出请求时根据由CPU发出的请求的大小来指定的值。
IO传送控制单元12在其中包括总线选择电路20和总线控制电路25_0到25_3。总线选择电路20在其中包括标签处理单元21、升序搜索电路22、总线资源管理单元23和路由电路24。标签处理单元21在其中包括信号分离单元21a、搜索单元21b、标签寄存器21c和更新单元21d。
标签处理单元21中的信号分离单元21a从CPU 11接收数据传送请求(REQ-V)、作为传送请求标识信息的请求ID(REQ-ID)、以及请求的类型信息(REQ-TYPE)。然后,信号分离单元21a将请求ID传递到搜索单元21b,将类型信息传递到总线资源管理单元23,并且将数据传送请求传递到升序搜索电路22。
标签寄存器21c将每个请求ID与表示先前数据传送中使用的总线的总线ID相互关联地保存。搜索单元21b通过使用从信号分离单元21a传递的请求ID作为键来在标签寄存器21c中搜索总线ID,并且将作为搜索结果而获得的总线ID传送到升序搜索电路22。
总线资源管理单元23管理在总线控制电路25_0到25_3中的数据的传送等待状态。当路由电路24将数据传送到总线控制电路25_0到25_3中的任何一个时,总线资源管理单元23按与所传送的数据相对应的量来增加该总线控制电路的等待被传送的数据量(在下文中,被称为“等待传送量”)。当总线控制电路25_0到25_3中的任何一个执行完数据传送时,总线资源管理单元23按与所传送的数据量相对应的量来减少该总线控制电路的等待传送量。
将每个总线控制电路的等待传送量与每个总线控制电路的传送等待缓冲容量相比较,以获得每个总线控制电路中的空闲空间量。总线资源管理单元23将由从标签处理单元21传递的类型信息表示的请求大小与每个总线控制电路的空闲空间量相比较,以将具有比请求大小大的空闲空间量的总线控制电路,作为空闲总线信息提供到升序搜索电路22。
升序搜索电路22是传送路径选择单元,其在从信号分离单元21a接收到数据传送请求时,选择要被分配给数据传送请求的总线。也就是说,升序搜索电路22根据空闲总线信息来搜索可分配给数据传送请求的总线,并且选择作为搜索结果而获得的总线作为要被分配给数据传送请求的总线。然后,升序搜索电路22将所选总线的总线ID以及数据传送许可传送到CPU 11和更新单元21d。对于该分配,升序搜索电路22分配与搜索单元21b输出的总线ID即先前分配给同一请求ID的总线ID不同的总线ID。
更新单元21d基于来自升序搜索电路22的搜索结果而更新标签寄存器21c。更具体地说,更新单元21d将由升序搜索电路22输出的总线ID与请求ID相关联地保存在标签寄存器中。因此,更新单元21d对于每个请求ID不断地保存最新的总线ID。
图2是标签寄存器21c的说明图。图2所示的标签寄存器21c将请求ID 0到31中的每个与总线ID 0到3中的一个相关联地保存在其中。总线ID 0到3中的每个是与总线Bs0到Bs3相关联的标识信息。
标签寄存器21c中的条目数由CPU 11使用的请求ID数来确定。CPU11可以发出与请求ID一样多的数据传送并且让数据传送等待。在使用每个请求ID之后,CPU 11将该请求ID重新用于另一数据传送。也就是说,请求ID每个在任意时间点是唯一的并且唯一地确定同时存在的任何数据传送请求,但是同一请求ID可以在不同时间点与不同内容的数据传送相对应。因为CPU 11控制与每个请求ID相对应的数据传送请求的内容,即使在产生具有相同请求ID的数据传送请求时,CPU 11也识别数据传送请求是对同一数据传送请求的重新请求还是对不同数据的新数据传送请求。IO传送控制单元12不关心每个数据传送请求的内容并且不区分被分配有请求ID的数据传送请求是重新请求还是新请求。
再参考图1,在从IO传送控制单元12获得了数据传送许可和总线ID时,CPU 11将所获得的总线ID和要被传送的数据传送到IO传送控制单元12。IO传送控制单元12中的路由电路24将要被传送的数据传送到与由CPU 11指定的总线相对应的总线控制电路。
总线控制电路25_0到25_3分别与总线Bs0到Bs3相对应,并且临时地缓冲并且经由对应的总线顺序地传送从路由电路24传送的数据。
图3是包括用于在CPU 11和IO 13之间的传送和接收的多个总线的服务器1的构造的示意图。更具体地说,服务器1在其中包括CPU 11、IO 13、以及总线接口15和16。
总线接口15设置在CPU 11端并且总线接口16设置在IO 13端。总线接口15在其中具有IO传送控制单元12和接收单元15a。总线接口16在其中具有CPU传送控制单元14和接收单元16a。
当数据从CPU 11传送到IO 13时,总线接口15中的IO传送控制单元12执行传输控制并且将数据分配到总线Bs0到Bs3。总线接口16中的接收单元16a从总线Bs0到Bs3接收数据并且将所接收的数据传递到IO13。
类似地,当数据从IO 13传送到CPU 11时,总线接口16中的CPU传送控制单元14执行传输控制并且将数据分配到总线Br0到Br3。总线接口15中的接收单元15a从总线Br0到Br3接收数据并且将所接收的数据传递到CPU 11。
IO 13连接到服务器1外部的设备并且被配置成将从CPU 11接收到的数据传送到外部设备或者将从外部设备输入的数据传送到CPU 11。
接下来,将参考图4说明总线选择电路20的处理操作。如图4所示,总线选择电路20从CPU 11接收数据传送请求、请求ID和类型信息(S101)。
标签处理单元21中的搜索单元21b基于作为键的请求ID而搜索标签寄存器21c(S102),并且总线资源管理单元23报告任何具有等于或大于由类型信息表示的大小的空闲空间量的空闲总线(S103)。升序搜索电路22基于数据传送请求和总线ID而执行总线分配处理(S104)。
在总线分配处理之后,升序搜索电路22将数据传送许可和总线ID传送到CPU 11(S105)。另外,更新单元21d更新标签寄存器21c(S106)。
路由电路24从CPU 11接收总线ID和数据(S107),然后将所接收的数据传送到与所接收的总线ID相对应的总线控制电路(S108),从而结束处理。
图5是参考图4说明的总线分配处理(S104)的流程图。如图5所示,升序搜索电路22从标签处理单元21获得与请求ID相对应的标签寄存器值,也就是说,先前使用的总线ID(S201)。升序搜索电路22还从总线资源管理单元23接收空闲总线信息(S202)。
然后,升序搜索电路22递增标签寄存器值以获得确定目标总线ID(S203)并且确定是否确定目标总线ID与空闲总线中的一个相对应(S204)。
如果可等待量等于或大于请求传送的数据量(在步骤S204为是),则将确定目标总线分配给传送请求(S205)并且处理结束。
如果可等待量小于请求传送的数据量(在步骤S204为否),则再递增目标总线的总线ID以获得新的确定目标总线ID(S206)。如果新的确定目标总线ID不等于标签寄存器中的值即先前使用的总线ID(在步骤S207为否),则升序搜索电路22返回到S204以重复处理。
如果新的确定目标总线ID等于标签寄存器中的值即先前使用的总线ID(在步骤S207为是),从而意味着除了与先前使用的总线相对应的总线之外的总线都没有该空闲空间量并且该确定已循环了目标总线一次,则升序搜索电路22等待预定时间段(S208),然后返回到S202。
图6是正常的传送和接收操作的说明图。在图6所示的示例中,CPU11顺序地发出分别具有请求ID 0、1和2的请求REQ0、REQ1和REQ2。
IO传送控制单元12将总线Bs0、Bs1和Bs2分别分配给由CPU 11发出的请求REQ0、REQ1和REQ2,并且将经分配的请求传送到IO 13。
IO 13处理请求REQ0、REQ1和REQ2以创建对其的响应RES0、RES1和RES2,并且将这些响应传送到CPU 11。CPU传送控制单元14将可用总线Br0到Br2分配给响应RES0、RES1和RES2,并且将经分配的响应传送到CPU 11。当CPU 11接收到响应时,每个请求的处理完成。
图7是在总线Bs1到IO的传送中发生故障时传送和接收流程的说明图。如同图6中一样,当请求REQ0、REQ1和REQ2从CPU 11分别经由总线Bs0、Bs1和Bs2传送时,IO 13正常地接收请求REQ0和REQ2。然而,REQ1由于总线Bs1中的故障所导致的传输错误而在途中被丢弃。
IO 13处理请求REQ0和REQ2,以将对其的响应RES0和RES2传送到CPU 11。当CPU 11接收到响应RES0和RES2时,对请求Id 0和2的处理完成。然而,被丢弃的请求REQ1尚未被处理并且IO 13尚未传送响应RES1。
因为CPU 11没有接收到对请求REQ1的响应RES1,所以当REQ1的响应监测时间段结束时,也就是说,当超时发生时,CPU 11执行请求REQ1的重新传送。当执行重新传送时,CPU 11搜索与先前使用的总线Bs1不同的总线作为传送总线。在图7所示的示例中,总线Bs1的下一总线Bs2是空闲的,并且由此总线Bs2被选择并且用于重新传送请求REQ1。
总线Bs2正常,并且由此请求REQ1被成功地重新传送到IO 13。IO13处理请求REQ1以创建对其的响应RES1,并且将该响应传送到CPU11。CPU 11接收响应RES1以完成对请求ID 1的处理。
如同所述的那样,IO传送控制单元12执行传输控制,使得具有同一请求ID的请求不连续地使用同一总线。因此,可以成功地执行通过请求超时的重新传送。另外,传输控制不需要检测故障的发生和来自下游端的通知,从而容易地单独由传送端回避出故障的总线。
图8是传统的基于故障检测的传送和接收流程的说明图。如同图6和7所示的示例一样,请求REQ0、REQ1和REQ2从CPU 11经由总线Bs0、Bs1和Bs2来传送。IO 13正常地接收请求REQ0和REQ2,但是请求REQ1由于总线Bs1中的故障所导致的传输错误而被丢弃。
IO 13处理请求REQ0和REQ2并且将对其的响应RES0和RES2传送到CPU 11。CPU 11接收响应RES0和RES2,从而完成对请求ID 0和2的处理。
CPU传送控制单元检测总线Bs1中的故障并且将其报告给IO传送控制单元。响应于故障报告,IO传送控制单元禁用总线Bs1并且改变设置以便不再将其后的任何传送数据分配给总线Bs1。
此后,因为CPU 11没有接收到对请求REQ1的响应RES1,所以在REQ1的响应监测时间段结束时,CPU 11执行请求REQ1的重新传送。当执行重新传送时,因为IO传送控制单元禁用了出故障的总线Bs1,所以CPU 11使用与出故障的总线Bs1不同的总线作为传送总线。因此,请求REQ1被成功地重新传送到IO 13。IO 13处理请求REQ1并且将对其的响应RES1传送到CPU 11。CPU 11接收响应RES1,从而完成对请求ID 1的处理。
如同所述的那样,在传统的传输控制中,故障报告必须从下游端传送到上游端,以便上游端识别故障的发生以阻塞出故障的总线。相反,通过IO传送控制单元12的控制传输不需要识别故障的发生,也不需要来自下游端的通知。此外,可以避免由于故障通知未到达而导致向出故障的总线分配传送请求。
虽然上面描述了从CPU到IO的数据传送,类似的传输控制可以应用于从IO到CPU的数据传送。
图9是执行从IO 13到CPU 11的数据传送的***的构造的示意图。数据从IO 13经由多个串行总线Br0到Br3传送到CPU 11。CPU传送控制单元14将所传送的数据分配到总线。
当IO 13将数据传送到CPU 11时,IO 13将数据传送请求传送到CPU传送控制单元14。响应于数据传送请求,CPU传送控制单元14为数据传送分配总线,并且将所分配的总线ID以及数据传送许可返回到IO 13。
IO 13接收数据传送许可,将所分配的总线ID和要被传送的数据传送到CPU传送控制单元14。CPU传送控制单元14将从IO 13接收的数据传送到由从IO 13接收的总线ID表示的总线。
CPU传送控制单元14在其中具有总线选择电路40和总线控制电路26_0到26_3。总线控制电路26_0到26_3分别与总线Br0到Br3相对应,并且临时地缓冲从总线选择电路40传送的数据,并且通过总线而顺序地将数据传送出去。
总线选择电路40在其中具有标签处理单元41、升序搜索电路42、总线资源管理单元43和路由电路44。标签处理单元41在其中具有信号分离单元41a、搜索单元41b、标签寄存器41c和更新单元41d。
标签处理单元41中的信号分离单元41a从IO 13接收数据传送请求、作为传送请求标识信息的请求ID、以及表示请求类型的类型信息。然后,信号分离单元41a将请求ID传递到搜索单元41b,将类型信息传递到总线资源管理单元43,并且将数据传送请求传送到升序搜索电路42。
搜索单元41b使用从信号分离单元41a传递的请求ID作为键来搜索标签寄存器41c,并且将作为搜索结果而获得的总线ID传送到升序搜索电路42。标签寄存器41c将每个请求ID与表示在先前数据传送中使用的总线的总线ID相对应地保存。
总线资源管理单元43管理总线控制电路26_0到26_3中的数据的传送等待状态。当路由电路44将传送数据传送到总线控制电路26_0到26_3中的任何一个时,总线资源管理单元43按传送数据量增加该总线控制电路的等待传送量。当总线控制电路26_0到26_3中的任何一个传送数据时,总线资源管理单元43按传送数据量减少该总线控制电路的等待传送量。
每个总线控制电路中的空闲空间量可以通过将每个总线控制电路的等待传送量与每个总线控制电路的传送等待缓冲容量相比较来获得。总线资源管理单元43将由从标签处理单元41传递的类型信息表示的请求大小与每个总线控制电路中的空闲空间量相比较,从而将具有比请求大小大的空闲空间量的总线控制电路作为空闲总线信息提供到升序搜索电路42。
升序搜索电路42是传送路径选择单元,其在从信号分离单元41a接收到数据传送请求时,选择要分配给数据传送请求的总线。对于该选择,升序搜索电路42基于空闲总线信息而分配总线ID,其中该总线ID不同于由搜索单元41b输出的总线ID,也就是说,不同于先前分配给同一请求ID的总线ID。然后,升序搜索电路42将所分配的总线ID以及数据传送许可传送到IO 13和更新单元41d。
更新单元41d基于升序搜索电路42的搜索结果而更新标签寄存器41c。也就是说,更新单元41d将由升序搜索电路42输出的总线ID与请求ID相对应地保存。因此,对于每个请求ID,更新单元41d将不断地保存最新的总线ID。
从CPU传送控制单元14获得了数据传送许可和总线ID的IO 13将所获得的总线ID以及要被传送的数据传送到CPU传送控制单元14。CPU传送控制单元14中的路由电路44将数据传送到与由IO 13指定的总线相对应的总线控制电路。
如上所述,在本实施例中用作传送路径选择设备的总线选择电路20或40从用作数据传送设备的CPU 11或IO 13接收数据传送请求、以及作为传送请求标识信息的请求ID。然后,总线选择电路20或40将请求ID与传送路径(总线ID)相关联地保存在标签寄存器中。
当总线选择电路20或40接收到新的数据传送请求时,总线选择电路20参考标签寄存器并且执行传输控制,使得具有同一请求ID的请求不连续使用同一总线。
因此,如果由于总线故障而发生超时,则可以成功地重新传送请求。此外,在传输控制中,不需要故障发生的检测和来自下游端的通知,并且由此可以容易地单独由传送端回避出故障的总线。
所公开的设备、***和方法实现路径的分配同时单独在传送端回避出故障的总线。
这里引述的所有示例和附条件语言旨在教导的目的,以帮助读者理解由发明人贡献而推进本技术领域的本发明和概念,并且应当被解释为不局限于这样具体引述的示例和条件,说明书中这些示例的组织也不涉及示出本发明的优势和劣势。虽然详细地描述了本发明的实施例,但是应当理解,可以在不背离本发明的精神和范围的情况下对其进行各种修改、替代和变更。

Claims (9)

1.一种传送路径选择设备,包括:
接收单元,其接收数据传送请求、以及标识所述数据传送请求的传送请求标识信息;
保存单元,其将所述传送请求标识信息与先前分配给所述传送请求标识信息的传送路径相关联地保存;
搜索单元,其在所述接收单元接收到所述数据传送请求时,基于与所述数据传送请求一起由所述接收单元接收到的所述传送请求标识信息而搜索所述保存单元;
传送路径选择单元,其从多个传送路径当中选择要被分配给所述数据传送请求的传送路径,所述传送路径不同于作为所述搜索单元的搜索结果而获得的传送路径;以及
更新单元,其基于所述传送路径选择单元的选择结果而更新由所述保存单元保存的内容。
2.根据权利要求1所述的传送路径选择设备,其中所述传送路径选择单元从关于由所述保存单元保存的所述传送路径的下一传送路径的确定开始,顺序地确定所述数据传送请求是否可分配给所述传送路径。
3.根据权利要求1所述的传送路径选择设备,还包括:管理单元,其管理通过所述多个传送路径的数据的传送等待状态,其中所述传送路径选择单元向所述数据传送请求分配具有比要被传送的数据的量大的可等待数据量的所述传送路径。
4.根据权利要求3所述的传送路径选择设备,其中所述接收单元还接收表示所述要被传送的数据的类型的类型信息、以及所述数据传送请求,并且所述传送路径选择单元基于所述数据类型确定所述要被传送的数据的量。
5.根据权利要求1所述的传送路径选择设备,其中所述多个传送路径中的每个是串行总线。
6.一种数据传送***,包括:
数据传送设备,其传送数据传送请求、以及标识所述数据传送请求的传送请求标识信息;以及
传送路径选择设备,其选择多个传送路径中一个以用于传送数据的传送,所述传送路径选择设备包括:
接收单元,其从所述数据传送设备接收所述数据传送请求和所述传送请求标识信息;
保存单元,其将所述传送请求标识信息与先前分配给所述传送请求标识信息的传送路径相对应地保存;
搜索单元,其在所述接收单元接收到所述数据传送请求时,基于与所述数据传送请求一起由所述接收单元接收到的所述传送请求标识信息而搜索所述保存单元;
传送路径选择单元,其从所述多个传送路径当中选择要被分配给所述数据传送请求的传送路径,所述传送路径不同于作为所述搜索单元的搜索结果而获得的传送路径,并且向所述数据传送设备报告所选传送路径;以及
更新单元,其基于所述传送路径选择单元的选择结果而更新由所述保存单元保存的内容。
7.根据权利要求6所述的数据传送***,其中所述数据传送设备将在所述数据传送设备中用来标识所述传送数据的信息作为所述传送请求标识信息提供给所述传送路径选择设备。
8.一种计算机设备,包括:
处理单元;
输入/输出处理器,其经由多个传送路径而连接到所述处理单元;以及
传送控制单元,其控制经由所述多个传送路径的数据传送,所述处理单元和所述输入/输出处理器中的至少一个在向所述处理单元和所述输入/输出处理器中的另一个传送数据时,向所述传送控制单元输出数据传送请求以及标识所述数据传送请求的传送请求标识信息,所述传送控制单元包括:
接收单元,其接收所述数据传送请求和所述传送请求标识信息;
保存单元,其将所述传送请求标识信息与先前分配给所述传送请求标识信息的传送路径相对应地保存;
搜索单元,其在所述接收单元接收到所述数据传送请求时,基于与所述数据传送请求一起由所述接收单元接收到的所述传送请求标识信息而搜索所述保存单元;
传送路径选择单元,其从所述多个传送路径当中选择要被分配给所述数据传送请求的传送路径,所述传送路径不同于作为所述搜索单元的搜索结果而获得的传送路径;以及
更新单元,其基于所述传送路径选择单元的选择结果而更新由所述保存单元保存的内容。
9.一种传送路径选择方法,包括:
接收数据传送请求、以及标识所述数据传送请求的传送请求标识信息;
在接收到所述数据传送请求时,基于与所述数据传送请求一起接收到的所述传送请求标识信息而搜索保存单元,所述保存单元保存先前分配给所述传送请求标识信息的传送路径;
从多个传送路径当中选择要被分配给所述数据传送请求的传送路径,所述传送路径不同于作为所述搜索的结果而获得的传送路径;以及
基于所述选择的结果而更新由所述保存单元保存的内容。
CN200910150460A 2008-07-25 2009-06-23 传送路径选择设备和方法 Pending CN101634973A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2008192636 2008-07-25
JP2008192636A JP2010033188A (ja) 2008-07-25 2008-07-25 送信経路選択装置、データ送信システム、コンピュータ装置および送信経路選択方法

Publications (1)

Publication Number Publication Date
CN101634973A true CN101634973A (zh) 2010-01-27

Family

ID=41426922

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200910150460A Pending CN101634973A (zh) 2008-07-25 2009-06-23 传送路径选择设备和方法

Country Status (5)

Country Link
US (1) US20100020817A1 (zh)
EP (1) EP2151759A3 (zh)
JP (1) JP2010033188A (zh)
KR (1) KR20100011898A (zh)
CN (1) CN101634973A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108696427A (zh) * 2017-04-11 2018-10-23 华为技术有限公司 一种数据传输方法及装置

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105676517A (zh) * 2016-03-22 2016-06-15 成都京东方光电科技有限公司 一种量子点膜及显示装置
US10341247B2 (en) 2016-10-27 2019-07-02 International Business Machines Corporation Handling path issues for storage copy services
US11314674B2 (en) * 2020-02-14 2022-04-26 Google Llc Direct memory access architecture with multi-level multi-striding

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06303282A (ja) * 1993-04-13 1994-10-28 Hitachi Ltd 情報伝送系における情報処理方式
EP0959599A3 (de) * 1998-05-06 1999-12-22 Siemens Aktiengesellschaft Verfahren zum Wechsel von einem ersten in einen zweiten Übertragungsweg und/oder Übertragungsmodus ohne Unterbrechung der Übertragung
US6434637B1 (en) * 1998-12-31 2002-08-13 Emc Corporation Method and apparatus for balancing workloads among paths in a multi-path computer system based on the state of previous I/O operations
US6615221B2 (en) * 2001-03-09 2003-09-02 Hewlett-Packard Development Company, Lp. Scalable transport layer protocol for multiprocessor interconnection networks that tolerates interconnection component failure
US20040004966A1 (en) * 2001-04-27 2004-01-08 Foster Michael S. Using virtual identifiers to route transmitted data through a network
US7269137B2 (en) * 2001-08-24 2007-09-11 Canon Kabushiki Kaisha Method for setting up an isochronous data stream connection, with the application of a predetermined, total isochronous delay on one or more routing paths
JP2004112586A (ja) * 2002-09-20 2004-04-08 Pioneer Electronic Corp 情報送信装置、情報送信方法及び情報送受信システム
US7307948B2 (en) * 2002-10-21 2007-12-11 Emulex Design & Manufacturing Corporation System with multiple path fail over, fail back and load balancing
US7251743B2 (en) * 2003-11-20 2007-07-31 International Business Machines Corporation Method, system, and program for transmitting input/output requests from a primary controller to a secondary controller
KR100863539B1 (ko) * 2004-01-09 2008-10-15 닛본 덴끼 가부시끼가이샤 통신방법
US7774461B2 (en) * 2004-02-18 2010-08-10 Fortinet, Inc. Mechanism for determining a congestion metric for a path in a network
JP4507127B2 (ja) * 2005-05-25 2010-07-21 三菱電機株式会社 ストリーム配信システム
JP4728896B2 (ja) 2006-07-13 2011-07-20 エヌイーシーコンピュータテクノ株式会社 コンピュータシステム
US8379677B2 (en) * 2007-04-30 2013-02-19 Vixs Systems, Inc. System for combining a plurality of video streams and method for use therewith

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108696427A (zh) * 2017-04-11 2018-10-23 华为技术有限公司 一种数据传输方法及装置
CN108696427B (zh) * 2017-04-11 2020-05-08 华为技术有限公司 一种数据传输方法及装置
US11252078B2 (en) 2017-04-11 2022-02-15 Huawei Technologies Co., Ltd. Data transmission method and apparatus

Also Published As

Publication number Publication date
JP2010033188A (ja) 2010-02-12
KR20100011898A (ko) 2010-02-03
EP2151759A3 (en) 2011-03-23
EP2151759A2 (en) 2010-02-10
US20100020817A1 (en) 2010-01-28

Similar Documents

Publication Publication Date Title
US6934776B2 (en) Methods and apparatus for determination of packet sizes when transferring packets via a network
US7886089B2 (en) Method, system and computer program product for enhanced shared store buffer management scheme for differing buffer sizes with limited resources for optimized performance
US7171590B2 (en) Multi-processor system that identifies a failed node based on status information received from service processors in a partition
US20060230077A1 (en) Load distribution system, and event processing distribution control apparatus, and an event processing distribution control program
US9219695B2 (en) Switch, information processing apparatus, and communication control method
CN1779669B (zh) 服务器、控制服务器的数据通信的方法
US7003611B2 (en) Method and apparatus for handling interrupts using a set of interrupts servers associated with presentation controllers
CN101634973A (zh) 传送路径选择设备和方法
EP2428893A2 (en) A reduction operation device, a processor, and a computer system
US7783810B2 (en) Apparatus and method of processing information
US8201017B2 (en) Method for queuing message and program recording medium thereof
CN109120680A (zh) 一种控制***、方法及相关设备
CN104486401A (zh) 数据分区控制方法及***
CN107102966B (zh) 多核处理器芯片、中断控制方法及控制器
JPH09282288A (ja) 複数計算機運用システム
US7779179B2 (en) Interface controller, method for controlling the interface controller, and a computer system
US8264948B2 (en) Interconnection device
US10574516B2 (en) Management apparatus and shared network system
CN113312090A (zh) 用于机器学习操作的任务的基于标签的同步的***和方法
JP2008042562A (ja) ゲートウェイ装置
US20180276088A1 (en) Controlling device, controlling method, and fault tolerant apparatus
EP3576079A1 (en) Travel history conversion method, information processing device and information system
US7028227B2 (en) Communication control program, recording medium carrying communication control program, communication control method, and data processing apparatus
US8589596B2 (en) Data transfer controlling apparatus, system and method
US20240106712A1 (en) Network node apparatus and method

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
AD01 Patent right deemed abandoned

Effective date of abandoning: 20100127

C20 Patent right or utility model deemed to be abandoned or is abandoned