CN1520122A - 数据通信的方法和数据通信的输入/输入装置 - Google Patents
数据通信的方法和数据通信的输入/输入装置 Download PDFInfo
- Publication number
- CN1520122A CN1520122A CNA2003101138472A CN200310113847A CN1520122A CN 1520122 A CN1520122 A CN 1520122A CN A2003101138472 A CNA2003101138472 A CN A2003101138472A CN 200310113847 A CN200310113847 A CN 200310113847A CN 1520122 A CN1520122 A CN 1520122A
- Authority
- CN
- China
- Prior art keywords
- transaction
- hub
- master controller
- transmission
- agency
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40052—High-speed IEEE 1394 serial bus
- H04L12/40058—Isochronous transmission
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40052—High-speed IEEE 1394 serial bus
- H04L12/40123—Interconnection of computers and peripherals
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Systems (AREA)
- Small-Scale Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
一种使用集线器进行数据通信的方法和装置。该方法包括对在集线器和主控制器之间的一个事务期间在集线器上接收的单个传输请求进行缓冲的步骤,其中该单个传输请求将在集线器和代理之间执行并会产生一个结果。该方法还包括确定一个在集线器上从主控制器接收到的传输查询是否与结果相对应的步骤。
Description
技术领域
本发明从属于在数字***中进行数据通信的领域,特别是本发明涉及的是用来在总线上传输数据的主控制器以及网络集线器。
背景技术
通常情况下,计算机或者类似的设备都具有一个将设备连接到计算机***的总线。由于计算机***和设备的先进程度(比如计算能力)的变化,计算***与其相连设备之间可交换的数据量不断增加,这就需要增加相应的总线带宽。增加带宽的要求有一部分是来自于多媒体应用程序,它要求数据以固定的时间间隔(同步)从设备传输到计算***(向内)或者反方向传输(向外)。对于具有效带宽要求的设备实例包括数码相机,CD播放器,扬声器,麦克风,视频播放设备,扫描仪,操纵杆和鼠标,以及其他一些设备。
在总线结构上能够获得的带宽在一定程度上取决于三个因素:传输媒介,拓扑结构,以及用来控制对媒介访问的协议。协议和拓扑结构在一定程度上决定了设备与计算***之间关系的性质。一种可能的关系就是主从关系。在主从关系中,通常由计算***启动计算***和设备之间的所有数据处理;也就是说,设备只能响应计算***的请求,而永远不能启动数据处理事务处理。采用主从关系的一个好处就是总线结构有相对比较低的开销,并且结构相对简单。1998年9月23日的通用串行总线架构(USB)规范的修正版1.1就是一个通用总线结构的实例,其中通过总线连接的元件之间具有一个主从关系。遗憾的是,现有的主从总线标准,例如USB标准,并不能支持当今的许多具有带宽要求(或者数据传输率)的设备和计算***。
尽管USB并不支持较高的数据传输率,但是它拥有较大范围的用户基础,并支持两个数据传输率:12MB/s(“全速”)和1.5MB/s(“低速”)。由于一些设备并不需要较高的数据传输率,USB允许总线上的多种数据传输率。它可以通过采用相对价廉、低数据传输率的驱动器和数据线来节省大量的开销。
然而,USB协议允许计算***采用低速与低数据传输率的设备进行通信,采用全速与高数据传输率的设备进行通信(速度切换),这造成了在总线上实际传输的数据量(有效吞吐量)比通过限定总线采用全速处理所能实现的数据量要小。换句话说,对于较高速(如全速)的设备而言,速度切换导致可用的贷款较小,特别是当有大量低速设备连接到计算***的情况下。这种速度切换对于吞吐量的影响在高速传输率与低速传输率的比值较大的时候会更严重。
另一个可能的总线协议需要主控制器(1)以高速传输率把一个数据包传送到集线器上,(2)等待集线器以较低的传输率把数据包传送给代理,(3)等待代理以较低传输率对集线器做出响应,以及(4)以较高的数据传输率接收代理对数据包的响应。当高速传输率与低速传输率比值较大的时候,这个总线协议可能也会造成低效的吞吐率或带宽。这是因为需要等待集线器以低速传送数据包以及等待代理以低速做出响应。
另一种流行的总线技术被“报警器”和1995年电器和电子工程师协会(IEEE)对于高性能串行总线的标准1394所定义。IEEE 1394支持多种数据传输率,上限达到400Mb/s。由于它的总带宽比USB高,IEEE1394采用的是不经济的速度切换并且是一种开销较大的技术。
速度切换、等待集线器以比主控制器数据传输率低的传输率进行数据处理以及主机与代理的数据传输率的比值,都会对总线的性能造成显著影响。这样,就需要有一台主控制器和/或集线器,允许以现今带宽增强***所要求的较高的数据传输率进行通信,并与先前的解决方案保持很好的向后兼容性,比如USB等等,而无需为速度切换以及先前技术的缺陷而支付额外的费用。
上面描述了高数据传输率***与低数据传输率设备之间的通信所面临的一个问题。计算***要面对的另一个问题就是目前可用的总线协议(或者标准)的多样性。通常情况下,依照某种总线协议而生产的设备不能依照另外一种不同的协议运行。仅由于协议之间的差异而要求用户拥有大量的重复设备是浪费的。在大量正在使用的设备还具有很长的使用寿命的情况下,希望这些设备能与一个计算***同时使用,该计算***具有一个主控制器和/或一个关联的集线器,用来提供与过去的设备之间的向后兼容性。
发明内容
根据本发明的一个具体实施方案,描述了一个使用集线器进行数据通信的方法。该方法包括下面的步骤:在集线器和主控制器之间处理数据的时候,缓冲在集线器上接收到的一个单独传输请求,其中单独的传输请求将在集线器和代理之间执行以产生一个结果。该方法还包括确定在集线器处从主控制器接收到的查询是否与该结果相符的步骤。
根据本发明的一个方面,提供一种用来进行数据通信的输入/输入装置,它包括:一个存储器,用于缓冲在主控制器和设备之间的事务处理期间接收到的单个传输请求;一个集线器控制器,它可以在设备和代理之间执行单个传输请求并产生一个结果;其中,该设备从主控制器接收一个传输查询;和一个控制单元,确定该传输查询是否与该结果相对应。
附图说明
通过附图,但不局限于这些附图,用例子对本发明进行说明,其中,相同的引用表示相似的元素,附图中:
图1a说明了一个依照本发明的采用一个协议的数字***的模块图;
图1b,1c和1d分别阐明了根据本发明在主控制器和集线器之间进行通信的方法流程;
图1e,阐明了根据本发明的一个集线器;
图2a和2b分别阐述了根据本发明执行一个传输过程的一个主控制器和一个集线器的状态机构流程图;
图3a和3b分别阐述了根据本发明执行另一个传输过程的一个主控制器和一个集线器的状态机构流程图;
图4a和4b分别阐述了根据本发明执行另一个传输过程的一个主控制器和一个集线器的状态机构流程图;
图5a和5b分别阐述了根据本发明执行另一个传输过程的一个主控制器和一个集线器的状态机构流程图;
图6a和6b分别阐述了根据本发明执行另一个传输过程的一个主控制器和一个集线器的状态机构流程图;
图7a和7b分别阐述了根据本发明执行另一个传输过程的一个主控制器和一个集线器的状态机构流程图;
图8a和8b阐述了根据本发明数据传输结构的最佳情况和最差情况;以及
图9阐述了主控制器-集线器事务处理和集线器-代理事务处理的定时图表。
具体实施方式
这里描述的是用来在主控制器和***设备(代理),在这里,代理的通信速度和/或者协议是与主控制器的通信不尽相同的。在下面的描述中,本着解释详尽为目的,阐述了大量具体的细节以便让读者对本发明有透彻的理解。然而对于那些熟悉相关技术的人员来说,他们可以无需阅读这些细节而将本发明熟练应用于不同的总线***,特别说明了串行总线中。这里为了避免混淆本发明,没有显示那些众所周知的操作。
部分的描述将采用术语来表示,通常该技术领域的熟练人员可采用这些术语将其工作内容传送给本领域的其他熟练人员,例如这些术语有设备或者控制器驱动器,总线或者主控制器,集线器,总线代理或者代理,等等。而且,部分描述还将通过执行编程指令或者启动一些电子部件或电路的功能实现的运行来表示,使用的术语包括执行,发送,处理,封装,调度,传输,配置,等等。如那些本领域的熟练人员所熟悉的那样,这些操作表现为能够存储,传输,合并,换句话说,是通过电子部件操纵的电、磁或光信号的形式。
下面将不同的操作描述为多个分立的运行步骤,这样有利于最大程度地理解本发明。但是,不应该将所描述的顺序理解为这些运行必须按其描述顺序来执行。最后,短语“在一个实施方案中,” 在某个实施方案中,”“在其中一个实施方案中,”“在另外一个实施方案中”不一定表示的是相同的实施方案,尽管可能确是同一实施方案。
图1a说明了一个依照本发明的采用一个协议的总线的模块图。总线100包括一个***102,该***102包括一个与集线器120相连的主控制器110,集线器120又与代理130相连。主控制器110具有一个在***102上运行的设备驱动器105。代理的实例包括照相机,CD播放器,扬声器,麦克风,视频播放设备,扫描仪,操纵杆和鼠标,及其他一些设备。***102可以包括任何能够进行数字通信的数字***,特别是膝上型电脑,桌上型电脑,服务器,机顶盒,娱乐***,以及游戏机。因此,本发明可以利用多种使用数字通信的数字设备来实现。
在图1a中画出的两个箭头记号101a和101b给出了关于主控制器、集线器和代理通信的方向的参考结构。从代理到集线器的方向被认为上游方向或者上游(向内)。从主控制器到集线器再到代理的方向被设为下游方向或者下游(向外)。
通过处理送往代理130的信息数据包,并通过110来调度数据包的传输,主控制器105便于总线100间的通讯或处理(如,一个在***102上运行的应用程序)。主控制器110通过集线器120向代理130发送数据并从中接收数据。代理130按照与主控制器110的数据传输率(代理数据传输率)不同或者更低的速率(主数据传输率)进行通信。这里仅显示了一个与集线器120相连接的代理,显然,另外的代理(没有显示出来)也可以连接到集线器120或者其他集线器上(没有显示出来)。这些另外的代理可以按照主机数据传输率或者代理数据传输率进行通信。而且,当显示代理130连接到集线器120的时候,它可以通过至少一个按代理数据传输率操作的常规转发器型集线器连接到集线器120上。常规的转发器型集线器可以在其下游端口复制在上游侧接收的信号,发之亦然。反过来,常规转发器型集线器可以具有一个或多个连接其上的代理130。
主控制器110和代理130有主从关系,这意味着主控制器通常能够启动介于主控制器和代理之间的所有数据处理;也就是说,代理只能对来自于主控制器的请求做出响应,但是却不能启动一个事务处理。集线器120上有存储和转送缓冲器(没有显示出来),它允许集线器120临时存储从主控制器110接收的下游信息并指定代理130,以及临时存储从代理130接收的上游信息并指定主控制器110。
由于代理130和主控制器110在不同的数据传输率下进行通信,希望通过提供一个协议来提高总线上的有效的吞吐量,该协议允许主控制器110(1)既能以其较高的数据传输率来通信,(2)又不必在进行另一个事务处理之前等待代理130的响应。本发明的协议允许主控制器110利用集线器120的存储和传送的特征优势,从而允许主控制器110按其较高的传输率进行通信,同时在需要响应的情况下不需等待来自代理130的响应而处理其他的事务处理。本发明的协议还提供了控制器110和集线器120之间所执行的事务处理的稳定性和可靠性。另外,本发明的主控制器和/或集线器允许提高总线上的吞吐量,并为以主数据传输率进行通信的连接到集线器120或者其他集线器上的代理提供了较好的响应能力(没有显示出来)。
图1b说明了一个过程150,显示一个依照本发明的与一个具有比主控制器低(或不同)的数据传输率的代理进行通讯的方法。代理还可以有与主控制器不同的协议。过程150可以用来实现多种主控制器110和代理130间的信息传输。为了便于理解,在这里只描述了过程150的向外块传输。然而过程150还可以用这里和后面所描述的其他信息传输。在向外块传输中,数据由主控制器110经过集线器120向代理130传输。这个向外块传输是根据本发明的一个实施方案定义为异步传输类型。然而,但是不要根据其定义就得出任何块和/或向外传输都应该是异步的结论。
在过程150的步骤152,执行了一个初始分隔事务处理。这个初始分隔事务处理将来自主控制器110的下游信息传递给集线器120。传递给集线器120的一些下游信息被暂时缓存在集线器120内。集线器120的缓冲区大都是采用先进先出(FIFO)的方式工作,在下面将对其进行更为详尽的描述。在下游信息被放入缓冲区后的一段时间内,集线器120通过代理130根据一些缓冲的下游信息执行一个集线器—代理的事务处理(没有显示出来)。这里不必描述集线器-代理事务处理的时间调配,因为本技术领域的一般熟练人员都清楚,这是一个具有许多可能性的应用或实施的细节问题。集线器-代理事务处理可能会造成上游信息被缓冲于集线器120。在该下游信息被缓冲之后不久,在步骤156中执行了一个完整的分隔事务处理。这个完整分隔事务处理将集线器120上缓存的上游信息传送给主控制器110。完全分隔事务处理的相关时间调配不需在这里加以说明,因为本技术领域的一般熟练人员都清楚,这是一个具有许多可能性的应用或实施的细节问题。
分隔事务处理协议的一个好处就在于它允许控制器110在步骤154启动与代理130的通信(初始分隔事务处理),执行其他的功能,或者执行与其他代理(低数据传输率或者高数据传输率代理)的其他通信,然后再返回完成前面启动的以低数据传输率与代理之间的通信。通过使用分隔事务处理进行通信,控制器110以高数据传输率进行通信而无需速度切换,也不会在等待集线器120与代理130通信的时候处于空闲状态。空闲状态所消耗的时间可以用于与其他的代理的通信。在依照本发明的另一个实施方案中,控制器可以与某些代理一起进行速度切换,同时进行与其他的代理的分隔事务处理通信。
上面所描述的起始分隔和完全分隔事务处理(分隔事务处理)可以用来实现控制器110和代理130之间各种类型的数据通信传输(举例来说,读出和写入)。在本发明的具体实施方案中定义了的四个传输类型(或者传输请求):向外/向内块,向外/向内控制,中断,同步。很显然,对于本领域的普通技术人员来说,本发明的主旨和范围还包括其他具有或多或少或不同的传输类型的实施方案。每个传输类型能够提供不同水平的稳定性,可靠性,同步性,异步性操作,错误检测和通信流的修正,以及一些本领域的普通技术人员都很清楚的特征。举例来说,向内/向外块提供从控制器110到代理10或者相反方向的大规模同步数据传输。向外/向内控制提供了从控制器110到代理130或者相反方向的同步数据传输,而数据通常是用来控制代理130或者***100中元件(例如磁带驱动器)运转的控制信息。中断提供了从控制器110到代理130或者相反方向的周期性数据传输。如果传输不成功的话,控制器110可以在一个根据本发明的实施方案中再重来一次。同步传输提供了每经过一个预定时间就进行一次数据传输。根据本发明的一个实施方案,数据传输可以在一个时间间隔内的任何时间进行。如果传输不成功的话,控制器110将不会重复传输。在根据本发明的其中一个实施方案中,同步传输可以进行重复传输。
分隔事务处理可以根据实现的传输类型,包括多个阶段。每个分隔事务处理最多可以有三个阶段:标记,数据,和握手。然而,根据执行的传输,某些事务处理可能会有较少的阶段。在本发明的一个实施方案中,块和控制可以在它们各自的分隔事务处理中使用相同的阶段。下面的表1中显示了上面描述的每个传输类型的各个阶段。表单元中的X表示传输类型的分隔事务处理具有在该单元所处的列顶表示的阶段。在该实施方案中标记和数据阶段是对于每个传输类型而言都是独立的,而在另一个实施方案中,标记和数据阶段可能是组合在一起的。应该清楚,在另外的实施方案中,在不背离本发明的宗旨和范围的前提下,与表1相比,传输类型可以具有较少、较多、甚至不同的阶段。
表1
初始分隔事务处理 完全分隔事务处理传输类 标记 数据 握手 标记 数据 握手型
向外块-控制向内块-控制向外中断向内中断向外同步向内同步
X | X | X | X | X | |
X | X | X | X | X | |
X | X | X | X | ||
X | X | X | |||
X | X | ||||
X | X | X |
图1c更加详尽地阐述了过程160,它显示了一个根据本发明具体实施方案的对于向外块传送的初始分隔事务处理。在步骤162,一个包含集线器识别信息,代理和终点识别信息,传输类型,识别传输方向(向内还是向外)的标识符,以及数据传输率识别的令牌包被从主控制器110传递给集线器120。集线器识别信息,代理与终点的识别信息,以及方向识别信息在这里通常被归类于事务处理寻址信息。代理识别信息可以确定主控制器试图与之进行通信的特定代理终点识别信息可以确定主控制器试图与之进行通信的代理的特定部分。终点的实例包括:扬声器集线器上的左扬声器和右扬声器,或者手提电话机的麦克风和扬声器。事务处理寻址信息中的传输类型并不限于这里所提到的类型(例如向外块,中断,同步,控制),它还包括与本发明主旨和范围密不可分的相关技术中已知的其它类型。数据传输率标识符可以确定与前面执行的过程150相关的集线器-代理事务处理的数据传输率。对于集线器-代理事务处理是根据USB标准的具体实施方案来说,数据传输率标识符将指定12MB/s(全速)和1.5MB/s(低速)。在步骤164处,一个数据包被从主控制器110发送给集线器120。在步骤166,如果数据包能够被集线器120正确解码的话,主控制器110接收到来自集线器120的第一个识别信息。第一个识别信息表示数据是否被集线器120正确解码,或者集线器是否希望稍后在试(例如,集线器120的缓冲区已经满了而不能接收数据)。
图1d更为详尽地说明了过程170,它显示了一个根据本发明实施方案的向外块传输的完全分隔事务处理。在步骤172处,将包括事务处理寻址信息的第二个标记包从主控制器发送给集线器。在步骤174处,主控制器110接收到来自于集线器120的第二个确认,其中第二个确认可以(1)包括在与图1b相关的集线器-代理事务处理过程中集线器120从代理130接收到的握手信息,或者(2)表示集线器120还没有获得基于集线器-代理事务处理的信息来发送给主控制器110(例如,还没有完成集线器-代理事务处理)。握手信息表示(1)代理130是否在集线器-代理事务处理(ACK)期间正确接收到信息,(2)代理130是否表示它不能正确运行(STALL),或者(3)代理130是否表示它希望稍后再试(NAK)。第一和第二个确认以及握手信息已经被描述为某些特定的指示符,但显然对于本领域的普通技术人员来讲,这些确认和握手信息以及这里描述的其他信息可以采用其它的表示。另外,在另外的实施方案中,在不背离本发明的主旨和范围的情况下,可以增加与这里所描述的信息所不同或者作为附加的确认和握手信息。
上面已经概括描述了代理130与集线器120之间以低于集线器120和主控制器110间通信数据传输率的数据传输率进行通信的情况,而那些本领域的熟练人员会意识到本发明在实际应用中可以在低数据传输率和高数据传输率之间,或者甚至是在协议不同的相同数据传输率之间起到桥梁的作用。
图1中在代理和主控制器之间只显示了一个集线器,而实际上在任何特殊的代理和主控制器之间可以有多个集线器。这里仅描述了六种传输类型,而那些本领域的熟练人员会意识到,不背离本发明的主旨和范围的情况下,也可以使用其它的类型。
图2a,2b,3a,3b,4a,4b,5a,5b,6a,6b,7a和7b说明了依照本发明使用主控制器和集线器进行一个传输的状态机构图。以“a”为下标的图显示了一个主控制器的状态机构图;该状态机构可以在前面描述的与图1a相关的主控制器110上运行。以“b”为下标的图显示了一个集线器的状态机构图;该状态机构可以在前面描述的与图1a相关集线器120上运行。在这些图中说明的状态机构显示了拥有多个步骤的过程。显然,在不违背本发明的主旨和范围的情况下,其中一些步骤可以被划分为更细的步骤或者结合成少量的几个步骤。由于状态机构的运转对于该技术领域的普通技术人员来说是显而易见的,所以这里没有对其进行更细致的说明。为了便于理解,没有对由状态机构执行的过程进行单独说明。由于由状态机构执行的过程是串行的(也就是说,每个过程中步骤的执行都依赖于其他过程的步骤或事件的出现),所以为了便于理解,对过程的描述都是交错进行的。
图2a和2b分别说明了根据本发明主控制器和集线器执行一个传输的状态机构示意图,特别是一个分隔的向外块/控制的传输。过程200和过程260分别显示了主控制器和集线器的状态机构。过程200包括启动分隔事务处理,它拥有一个标记阶段(XOUT)和一个数据阶段(DATAx),在试图在主控制器和集线器之间处理这些阶段的期间,一旦出现暂停,可以由主控制器对这两个阶段重复3次。作为启动分隔事务处理的响应,过程260将自始至终传播将接收数据(ACK)的状态,在集线器与主控制器间的握手(ACK,不接收数据)失败后响应主控制器的重试,由于缺少空间来容纳启动事务处理信息(NAK)或者出现3次暂停,而请求主控制器重试。过程200显示了在集线器和代理之间成功处理了一个完全分隔事务处理(XIN)(Advance),产生了一个来自于代理的NAK(NAK),接收到一个代理无法正常运行的指示符(STALL),还没有通过集线器或者代理完成(NYET),XIN或其响应出现一些通信失败并造成主控制器和集线器之间的3次暂停时,主控制器对该事务处理的响应。作为对完全分隔事务处理的响应,过程260将表示集线器和代理之间的事务处理过程还没有完成(NYET),或者将提供一个指示符(ACK,NAK,STAL1),表明在集线器和代理之间发生了什么。
图3a和3b分别说明了根据本发明执行另一种传输的主控制器和集线器的状态机构示意图,特别是分隔向外中断传输。过程300和过程360分别显示了主控制器和集线器的状态机构。过程300包括一个启动分隔事务处理,它有一个标记阶段(XOUT)和一个数据阶段(DATAx),它将不会被主控制器重复,因为根据一个实施方案,中断向外传输是时间敏感的,如果第一次未能成功的话它不需重复进行。作为对启动分隔事务处理的响应,过程360将接收数据(ACK),或者不做任何事情。过程300显示了当集线器和代理之间成功进行了处理(Advanced),接收到一个表示代理无法正常运行(STALL)的指示符,还没有通过集线器或代理完成(NYET),或者该完全分隔事务处理或其响应出现一些通信失败并造成主控制器和集线器之间的3次暂停时,主控制器对完全分隔事务处理(XIN)的响应。作为对完全分隔事务处理的响应,过程360将表示集线器和代理之间的事务处理过程还没有完成(NYET),或者将提供一个指示符(ACK,NAK,STAL1),表明在集线器和代理之间发生了什么。
图4a和图4b分别说明了根据本发明执行另一个传输的主控制器和集线器的状态机构示意图,特别是一个分隔向外同步传输。过程400和过程460分别显示了一个主控制器和集线器的状态机构。过程400包括一个启动分隔事务处理,它含有一个标记阶段(XOUT)和一个数据阶段(DATAx),并且它们都是不能重复的。依照一个实施方案,过程400不包括一个完全分隔事务处理。过程460允许将从集线器到代理的事务处理数据细分为多个部分,从而最小化集线器的缓冲要求;主控制器可以在集线器需要把下一个数据段发送到代理之前将其发送。在这种情况下,每个分隔启动事务处理都被标以ALL,BEGIN,MEDDLE,或者END,以便集线器能够检测到什么时候一个通信失败导致集线器没有按照正常序列接受数据段。作为对初始分隔事务处理的响应,过程460将会累加具有一个数据段(ALL),两个数据段(BEGIN,END),或者3个乃至更多数据段(BEGIN,MIDDLE...MIDDLE,END)的数据的有效载荷。
图5a和5b分别说明了依照本发明执行另一个传输的主控制器和集线器的状态机构示意图,特别是一个分隔向内块/控制传输。过程500和过程560分别显示了一个主控制器和集线器的状态机构。过程500包括具有一个标记阶段(XOUT)的初始分隔事务处理,当在主控制器和集线器之间的事务处理出现暂停时,主控制器会重复这个事务处理3次。作为对启动分隔事务处理的响应,过程560将会确认并接受事务处理(ACK,接受xact),在从集线器到主控制器的握手发生通信失败之后对主控制器的重试做出响应(ACK,忽略xact),或者由于能够容纳初始事务处理信息的空间不足,请求主控制器请求重试。过程500显示了当集线器和代理之间的事务处理成功完成(Advance),接收到一个表示终点不能正常工作的指示(STALL),还没有通过集线器或者代理完成(NYET),由于从集线器接收的数据被破坏而将其忽略,或者完全分隔事务处理或其响应出现某种通信失败并导致主控制器和集线器之间出现3次暂停时,主控制器对完全分隔事务处理(XIN)的响应。作为对完全分隔事务处理的响应,过程560将指示集线器和代理之间的事务处理没有完成(NYET),或者将提供一个指示符(NAK,STAL1),表明在集线器和代理之间发生的情况,或者将集线器从代理中接收到的数据发送给主控制器。
图6a和6b分别说明了依照本发明一个主控制器和一个集线器执行另一个传输的状态机构示意图,特别是一个分隔中断传输。过程600和过程660分别显示了主控制器和集线器的状态机构。过程600包括一个带有标记阶段(XOUT)的初始分隔事务处理。作为对启动分隔事务处理的响应,过程660将接受事务处理(接受xact)。过程600显示了当集线器和代理之间的事务处理成功完成(Advance),接收到一个表示终点不能正常工作的指示(STALL),还没有通过集线器或者代理完成(NYET),从代理接收到一个NAK(NAK),如果接收到的数据是一个先前事务处理请求的代理的重试而重试标记部分(ignoredata),或者完全分隔事务处理或其响应出现某种通信失败并导致主控制器和集线器之间出现3次暂停时,主控制器对完全分隔事务处理(XIN)的响应。作为对初始分隔事务处理的响应,过程660将在集线器与代理通信时指示出现一个暂停(NYET),或者集线器没有接收到这个请求启动事务处理并且没有任何相应的响应信息(STALL),或者将提供一个指示符(NAK,STAL1),表明在集线器和代理之间发生的情况,或者将数据发送给主控制器。
图7a和7b分别说明了根据本发明执行另一个传输的一个主控制器和集线器的状态机构示意图,特别是一个同步传输的分隔。过程700和过程760分别显示了一个主控制器和一个集线器的状态机构。过程700包括一个带有标记阶段(XOUT)的初始分隔事务处理。作为对启动分隔事务处理的响应,过程760将接受事务处理(接受xact)。过程700显示了当集线器和代理之间的事务处理被成功完成并且所有的数据都已经返回(TAdvance),或者不再有数据返回(DAdvance),或者由于主控制器与集线器之间(暂停或者循环冗余码校验出错)、或与代理之间(NAK)或与代理有问题的集线器之间(NYET)的通信故障而发生错误(record error)时,主控制器对完全分隔事务处理(XIN)的响应。作为对完全分隔事务处理(XIN)的响应,过程660将表明从代理处接收的数据具有一个错误的循环冗余码校验(NAK),或者代理没有响应(NYET),或者集线器没有关于这个完全分隔的信息,或者向主控制器发送数据以指示所有的数据已经返回(DATA0)或还有一些数据等待返回(MDATA)。
在描述本发明其余的装置和方法之前,有必要对前面描述的协议进行一下总结。前面说明的协议允许主控制器通过集线器从代理处接收数据或者向代理发送数据。该协议允许主控制器进行第一事务处理(初始分隔事务处理),其中传输请求被传送给集线器。在主控制器执行了第一事务处理之后,它可以用同一集线器或者其他集线器进行中间事务处理而无需等待集线器和代理执行传输请求(也就是说,向代理或者从代理进行数据传输)。中间事务处理可能包括针对代理、与该代理相同的另一代理、或者位于另一集线器上的其他代理的传输请求。在集线器向代理或者从代理完成数据传输之后,主控制器执行一个完全分隔事务处理(或者第二事务处理),得到集线器和代理之间执行的传输结果(如,从代理向集线器发送的数据或者握手)。通过允许主控制器拥有进行中间事务处理的能力,而不是等待集线器通过代理执行传输请求(或者第三事务处理),采用根据本发明的协议的总线的有效吞吐量能够比涉及速度切换或者要求主控制器在开始其他传输之前等待集线器利用代理执行传输的总线大的多。
上述协议规定了涉及通过总线进行数据通信的事务处理的顺序,但是它并没有明确说明将导致数据被发送到代理或者从代理接收数据的事务处理或者传输的时间安排。然而,代理传输的时间安排是非常重要的,这是因为在通常情况下代理要求定期(举例来说,同步或者中断)或者在异步(举例来说,块或者控制)基础上向主控制器发送数据或者从中接收数据。此外,上述协议允许主控制器在初始分隔和完全分隔事务处理之间执行中间事务处理(甚至是多个中间事务处理),但是这个协议并没有明确说明传输请求是如何存储于集线器之中,以及集线器和代理是如何在进行中间事务处理之前没有请求主控制器等待传输请求的情况下执行传输请求。前面关于协议的描述并没有解决这个问题,也就是说,由集线器发出的传输请求的时间安排和传送请求处理(例如,缓冲和性能)是由下面关于根据本发明的方法与装置的说明来解决的。本发明包括一个用来对进出代理的传输数据进行调度的方法和装置,和在一个集线器上处理传输请求的方法和装置。这里首先说明了调度数据传输的方法和装置,然后说明了缓冲以及执行传输请求的方法和装置。
再次参照图1,在***102对连接到***总线的代理进行配置的时候,首次启动调度数据传输的过程。这个配置过程一般会出现在***初始化或者开机或者在初始化之后某个代理连接到总线上的时候。传输数据的调度取决于与代理(或者一个代理的终点)相关的传输类型和传输数据的总量。下面首先说明代理处理的定期传输所采取的方式,例如同步和中断,接着描述代理处理的异步传输所采取的方式,例如块和控制。
在配置过程中,每个代理的每一个终点都会把与终点相关的最大数据有效载荷规模和传输类型(例如,向内/向外同步,中断,块,控制)通知给***。那些本领域的一般技术人员都非常了解每个代理通知***的方式和采用的装置是很容易理解的,所以这里就不再加以赘述。最大数据有效载荷规模就是一个代理所能承受的出入数据的最大数量。***将数据的有效载荷大小和传输类型传送给主控制器。那些本领域的一般技术人员都非常了解***将数据载荷大小以及传输类型传送给主控制器所采取的方式,这里就不再加以赘述。主控制器利用前面所说的与每个终点相关的两条信息产生一个终点周期性传输的预算列表。在另一个具体实施方案中,诸如主控制器驱动器的软件驱动器,甚至是硬件驱动器都可以产生预算列表并执行下面所描述的调度操作。预算列表给出了进行传输(发送或者接收数据包)的最早时间,同时给出了获取与传输相关的结果的最晚时间。假定先前的传输是在最佳时机下(下面定义)进行的,那么进行传输的最早时间取决于先前传输所需要的时间总量。获取与传输相关的结果的最晚时间取决于假定先前的传输是在最差时机下(下面定义)进行时所需要的时间总量,以及在最差条件下进行该传输所需要的时间。由于主控制器在进行传输之前需要将传输请求在集线器中进行缓冲,以便使得在集线器完成在缓冲请求之前的传输请求之后马上就可以转向缓冲的传输请求,因此可以开始传输的最早时间是非常重要的。可获得传输的相关结果的昨晚时间也是很重要的,因为在这个最晚时间之后主控制器肯定能够获得结果。如果主控制器在最晚时间之前试图从集线器获取结果的话,这意味着还不能获取结果,这就需要一个采用多重检索的低效协议。
当每个传输都包括最大数据有效载荷并且完全没有位填充的时候,传输就是在最佳时机下发生的。当每个传输都包括最大数据有效载荷并且有最大位填充的时候,传输就是在最差时机下发生的。根据本发明的一个实施方案,位填充是由于在总线上的信号服从非归零制(NRZ)发送信号而产生的。根据本发明的一个实施方案,位填充可以把最大数据有效载荷增加16%。在一个具体实施方案中,最佳时机和最差时机都已经根据位填充而定义,但应当清楚在另外的实施方案中,时机可以根据能够增大或者减少传输量(或者时间)大小,或者产生延迟的其他事情的形式来规定。
现在将说明根据本发明的预算列表的产生。这里说明的是产生预算列表的一种途径,而很显然本发明的实质和范围还包括其他潜在的方法。预算列表就是能够在一个特定的帧模板中产生的容许的周期事务处理的列表。帧是作为总线规格一部分定义的一个连续发生的足够提供给一个或多个事务处理时间段。在一个实施方案中,一个帧被定义为1毫秒的时间段。对于那些拥有不同的容许周期事务处理集的帧来说,预算列表的结构也是不同的。一个帧模板就是对特定周期性重复的帧的描述,这些帧能够提供某个最大的事务处理量,每个事务处理都拥有某个最大的数据有效载荷。一个帧包含一些实际数据有效载荷的事务处理数,而一个帧模板描述了潜在的预算帧。每个预算列表都有一个相关的最佳状态信息和一个相关最差状态信息。最佳状态信息描述了帧模板中的每个事务处理发生在最佳时机下的情况。在其中一个实施方案中,最佳状态信息和最差状态信息表示的是传输,而不是事务处理本身。
图8a说明了一个根据本发明的最佳状态帧模板800的示意图。模块805表示关于第一个终点相关的传输,其中该传输是在最佳状态下发生的。模块810表示关于第二个终点的传输,其中传输是在最佳状态下发生的。其余的模块815~835表示的是由***配置的其他终点的类似的最佳状态传输。最差状态信息描述了在最差时机下发生在帧模板中的每个传输的情况。图8b说明了一个根据本发明的最差状态帧模板850的示意图。模块855表示关于第一个终点的传输,其中该传输是在最差状态下发生的。模块860表示关于第二个终点的传输,其中该传输是在最差状态下发生的。其余的模块865~885表示由***配置的其他终点的类似的最差状态传输。应当清楚,模块的相对大小仅仅是出于说明的考虑。
现在将通过检验模块805,810,855和860,解释最佳状态帧模板800和最差状态帧模板850。模块805和855分别表示对于第一个终点的最佳状态和最差状态传输。第一个终点的传输能够完成的最早时间是Ta。第一个终点的传输能够最晚完成时间是Tb。前面提出了关于第二个终点的传输最早可以在时间Ta开始,或者最晚可以在时间Tb开始。模块810和860分别表示对于第二个终点的最佳状态和最差状态的传输时间。第二个终点的传输最早能够完成时间是Tc。第二个终点的传输最晚能够完成时间是Td。前面提出了集线器在Ta之前必须获取第二个事务处理的必要信息,并且在Tb之后肯定能够获取第一个传输的结果。更进一步来讲,很显然传输的调度取决于执行先前每个传输所需要的时间。另外,很显然完全分隔事务处理的调度将取决于本次传输所需要的时间,如果有一个初始分隔事务处理,在该时间与初始分隔事务处理有关。
帧模板800和850是代表集线器和代理(集线器-代理或者标准帧)之间的一个帧的帧模板。根据本发明的一个实施方案,主控制器和集线器的帧是标准帧的一小部分(微帧)。更明确地说,在这个具体实施方案中,八个微帧等于一个标准帧。既然主控制器和集线器使用微帧进行通信并且在到达集线器之前传输请求以初始分隔事务处理的形式开始,那么根据微帧描述执行初始分隔事务处理的时间是非常有必要的。同样,采用微帧描述执行完全分隔事务处理的时间也是很有必要的。根据一个实施方案,对于初始分隔事务处理的开始时间来说,在一个微帧中依照最佳状态帧在集线器和代理之间产生传输,在这个微帧出现之前,初始分隔事务处理应该出现一个微帧。根据一个实施方案,对于完全分隔事务处理的开始时间来说,在一个微帧中依照最差状态帧完成与初始分隔事务处理相关的传输,在这个微帧出现之后,完全分隔事务处理应该出现一个微帧。根据本发明的一个实施方案,主控制器对于每个帧模板使用最佳状态帧和最差状态帧来为每个帧模板中的每个终点产生一个初始分隔向量和一个完全分隔向量。初始分隔向量包含一个指示微帧的值,在该微帧中终点的初始分隔事务处理会在标准帧期间出现。根据一个实施方案,初始分隔向量值的范围在-1到6之间。完全分隔向量含有一个指示微帧的值,在该微帧中终点的完全分隔事务处理会在标准帧期间出现。根据一个实施方案,完全分隔向量值的范围是在1到8之间。
当被主控制器驱动器105分派了在特定帧之内对特定终点执行传输的任务时,主控制器110会检测与终点相关的最佳状态向量以及关于特定帧的帧模板。一个给定终点的初始分隔向量值和帧模板可以显示初始分隔事务处理将要在哪个微帧中执行。类似地,主控制器110会检测完全分隔状态向量来确定完全分隔事务处理将要在哪个微帧中执行。
图9包括一个集线器-代理帧序列(或者标准帧)900的序列和一个主控制器-集线器帧950。帧900包括帧910-930。帧930有一个传输901,传输901被调度为微帧B在起始并在微帧B中终止。在该说明中,传输901是一个同步向外传输,但是显然其他的传输也可以使用类似的表示法。帧950包括含有子帧961和963的帧960。传输901被安排在微帧B的集线器120上进行并终止于微帧B(也就是说,在由帧900表示的集线器-代理时间帧中),而其相关的初始分隔事务处理在帧961中进行,相关的完全分隔事务处理在帧963中进行。在由帧950表示的主控制器-集线器时间帧里,相关的初始分隔事务处理在时间帧951a或者子帧963中进行。传输951表示主控制器-集线器时间帧中的传输901。其他传输和事务处理也可以在子帧961和963中进行。从图9中可以看出,子帧962和963也可用于采用其他代理的其他传输和事务处理。
上述描述通常出现在周期性事务处理情况中,而本发明并不限于周期性事务处理,还包括诸如前面所说的块和控制传输的异步传输。根据本发明的一个实施方案,一个标准帧的百分之九十被留给周期性传输。异步传输将在集线器和代理之间的总线上还有其可用空间的最早时间发生。当一个微帧还有空间来容纳初始分隔事务处理的时候,集线器将该微帧期间接受一个事务处理,直到这些事务处理能够被发送到标准总线上(也就是说,在集线器和代理之间)为止。接下来,在一个标准帧不再有其他未解决的周期性事务处理的时候,集线器将在该标准帧期间发出事务处理。一旦集线器接收到了一个初始分隔,主控制器将会稍后发出一个完全分隔事务处理并从集线器上获取该事务处理在标准集线器上的结果。在微帧中只要没有其他周期性事务处理需要发送,主控制器驱动器就会向集线器发出一个异步分隔事务处理。由集线器为块/控制事务处理提供的缓冲是与由集线器对周期性事务处理提供的缓冲是截然不同并且是分离的。
这里将描述一种依照本发明的周期性事务处理请求的缓冲和处理的方法和装置。图1e显示了图1a中的集线器120更为详尽的细节。根据一个实施方案,本发明的集线器120包括一个主控制器-集线器(或高速集线器)的控制器180,一个集线器代理(或低速)集线器的控制器181,一个存储器182,一个控制单元183,一个计时器183a,一个转发器184,一个路由选择逻辑线路185,以及端口185-189。控制器180在集线器120和主控制器110之间执行分隔事务处理。只要控制器180从主控制器110接收到初始分隔事务处理,它就会把当前的微帧数作为该事务处理的时间戳记录在存储器182。另外的实施方案会把这个微帧数作为时间戳记录在状态记录中,从而把在不同微帧中接受到的事务处理组分开。控制器181在集线器和一个或多个代理之间执行传输。在控制器180和主控制器110之间执行初始分隔事务处理期间,控制器181执行的传输被接收。存储器182是与高速集线器控制器180和低速集线器控制器181相连接的。存储器包括一条带有多个阶段的流水线。根据一个实施方案,流水线分为5个阶段。每个阶段都与前面所定义的微帧相对应。每个流水线的阶段都含有大量的事务处理状态(或者事务处理记录)。根据一个实施方案,流水线的一个阶段含有19或者更少的事务处理状态或记录。每个阶段存储着代表着将执行的传输的记录。一个记录可以含有几个字段,例如设备和终点地址,传输方向,传输类型,状态,以及数据引用。状态指的是传输是否已经准备好(防止低速集线器控制器执行它),未处理(等待执行)或者已经准备好(已经被低速集线器控制器执行)。数据引用是从代理获得(也就是说向内传输)的数据或者将要发送给代理(例如向外传输)的数据在存储器中初始地址的指针。
集线器120包括控制单元183以及与之相连的时钟183a。根据一个实施方案,时钟183a产生一个微帧信号;即已经过去的标准帧持续时间的八分之一。控制单元183与存储器182相连,它可以监控阶段中的记录,在低速集线器控制器181上开始进行传输的时间超过事先安排的执行时间或者运行完成的时间的情况下,防止由低速集线器控制器181来进行传输。特别是根据一个实施方案,如果一个记录相关的时间标记表示它已经在一个微帧之前由控制器180从主控制器110接收,则该记录被设为未定的状态,以允许低速集线器控制器181在标准总线上发出事务处理。而另一个记录,与之相对应的时间标记表示它已经在当前微帧读数的多于三个微帧之前被接收但还没有被低速集线器控制器181执行,则它被标为旧的记录,为一个由高速集线器控制器180进行的后续的相应的完全分隔事务处理作准备。而另一个记录,与之相对应的时间标记表示它已经在当前微帧读数的大于四个微帧之前被接收但还没有被执行或者当前正在被低速集线器控制器181执行,它会被中止并且从流水线中删除。时钟183a还与低速集线器控制器181相连。控制器181是按照周期性事务处理记录被标为未定状态的顺序来排列的。根据一个实施方案,控制器181通过最早期的微帧中接收的未定记录排在次早期的微帧中接收到记录之前,依此类推的顺序进行排序。根据一个实施方案,在控制单元181接收微帧读数时就继续进行下面接收到的微帧。当控制单元181接收到微帧读数时,它会进入到下一个早期接收的微帧。当控制单元181接收到微帧读数时,它会把下一个早期接收的微帧中的传输的状态从没有准备好更改为未定,并刷新上述旧的传输。为了执行一个传输,控制器181将数据传输给路由选择逻辑线路185,以获得到端口186到189的访问权。路由选择逻辑线路185为转发器184或者控制器181给定一个代理访问权,从而根据代理的配置数据传输率来允许按照高传输率或者低传输率进行传输。转发器184与控制器180和路由选择逻辑线路185相连。转发器184转发从控制器180接收(或向其发送)的信号,和向一个与端口186-189之一相连的高速代理发送(或从中接受)信号。
通过早期微帧中接收的未定的记录进行顺序时,控制器181根据下面的规则进行操作。首先,在控制器181和代理之间执行传输之后,控制器181将会接收下一个事务处理记录并执行下一个未处理的同步或中断传输。其次,如果不存在未处理的同步或者中断传输,控制器181将执行未处理的块/控制传输。第三,如果块/控制传输也不存在的话,控制器181就会等待高速集线器控制器180指出一个未定的块/控制或者同步以及中断传输。
当低速集线器控制器执行传输的时候,在存储器182中就会存储相应的结果。这个结果可以是握手或者是从代理接收的数据。已经执行过的传输的状态值被低速集线器控制器181更改为准备就绪,并且它们的记录可以为高速集线器控制器180所得到。当高速集线器控制器180接收到完全分隔事务处理的时候,它会检测最近执行的带有相同地址信息的传输记录,并在最近执行传输的结果基础上向主控制器110发送响应信息。如果该完全分隔事务处理不查询一个具有相同地址信息的事务处理,高速集线器控制器180将回应一个NYET信息。
这样,对在主控制器和集线器之间调度传输的方法和装置进行了介绍。此外,上面还介绍了在集线器上缓冲和执行传输的方法和装置。尽管这里参考特定的示例来描述本发明,很显然对于本领域的一般熟练人员而言,不违背本发明的主旨和范围的前提下,如下面的权利要求中提出的那样,可以对这些实施方案进行不同的修正和更改。因此,应将这些规范和附图看作是说明性的,而不应看作是一种限制。
Claims (22)
1.一种用来在主控制器和集线器之间进行数据通信的方法,该方法包括:
为先前的事务处理确定预计完成时间;
确定将在主控制器和集线器之间执行第一事务处理的第一事务处理时间;和
其中该第一事务处理时间小于预计完成时间。
2.依照权利要求1的方法,该方法进一步包括:
确定将在主控制器和集线器之间执行第二事务处理的第二事务处理时间;和
其中该第二事务处理查询对应于第一事务处理的结果。
3.依照权利要求2的方法,其中
确定该第二事务处理时间的步骤包括在先前的事务处理中执行一个传输请求所要求的时间上的位填充的影响。
4.依照权利要求2的方法,其中
先前的事务含有一个数据有效载荷,和
确定第二事务处理时间的步骤包括在先前的事务处理中执行一个传输请求所要求的时间上的数据有效载荷的影响。
5.依照权利要求3或4的方法,其中先前的事务是第一事务处理。
6.依照权利要求2的方法,其中
前面的事务含有一个数据有效载荷,
确定第一事务处理时间的步骤包括在先前的事务处理中执行一个传输请求所要求的时间上的数据有效载荷的影响。
7.依照权利要求2的方法,其中第一事务处理或者第二事务处理是以第一数据传输率或者根据第一协议来执行的。
8.依照权利要求2的方法,其中该第一事务处理、第二事务处理、或者先前的事务处理包括一个以第二数据传输率或者根据第二协议进行的传输请求。
9.依照权利要求2的方法,其中
主控制器适用于在主控制器和集线器或者一个另外的集线器之间执行中间事务处理;
其中该中间事务处理是在第一事务处理和第二事务处理之间进行的;和
其中该第一事务处理包括一个在集线器和代理之间执行的第一事务处理传输请求。
10.依照权利要求9的方法,其中
该中间事务处理包括一个在该集线器和另一个代理之间、或者在另一个集线器和另一个代理之间执行的中间事务处理传输请求。
11.依照权利要求9的方法,其中
该中间事务处理包括一个在集线器和代理之间执行的中间事务处理传输请求。
12.一种数字***,它包括:
一个主控制器;
一个与主控制器相连的主机驱动器;
其中该主机驱动器确定了在主控制器和集线器之间执行第一事务处理的第一事务处理时间,以及确定前面事务处理的预计完成时间;和
其中该第一事务时间小于预计完成时间。
13.依照权利要求12的***,其中
主机驱动器确定了在主控制器和集线器之间执行第二事务处理的第二事务处理时间;和
其中第二事务处理查询一个对应于第一事务处理的结果。
14.依照权利要求13的***,其中
第二事务处理时间包括在执行前面事务处理中的传输请求所要求的时间上的位填充的影响。
15.依照权利要求13的***,其中
先前的事务处理含有一个数据有效载荷,和
第二事务处理时间包括了在执行前面事务处理中的传输请求所要求的时间上的数据有效载荷的影响。
16.依照权利要求14或15的***,其中前面的事务处理就是第一事务处理。
17.依照权利要求13的***,其中
前面的事务处理含有一个数据有效载荷,和
第一事务处理时间包括了在执行前面事务处理的传输请求所要求的时间上的数据有效载荷的影响。
18.依照权利要求13的***,其中第一事务处理或者第二事务处理是以第一数据传输率或者按照第一协议执行的。
19.依照权利要求13的***,其中第一事务处理、第二事务处理、或者先前的事务处理包括以第二数据传输率或者根据第二协议执行的传输请求。
20.依照权利要求13的***,其中
主控制器适用于在主控制器和集线器或者另一个集线器之间执行中间事务处理;
其中中间事务处理是在第一事务处理和第二事务处理之间执行的;
其中第一事务处理包括一个将要在集线器和代理之间执行的第一事务处理传输请求。
21.依照权利要求20的***,其中
中间事务处理包括一个在集线器和另一个代理、或者在另一个集线器与另一个代理之间执行的中间事务处理传输请求。
22.依照权利要求20的***,其中
中间事务处理包括一个将要在集线器和代理之间执行的中间事务处理传输请求。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/361677 | 1999-07-27 | ||
US09/361,677 US6792495B1 (en) | 1999-07-27 | 1999-07-27 | Transaction scheduling for a bus system |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB00813460XA Division CN1179283C (zh) | 1999-07-27 | 2000-04-25 | 数据通信的方法和数据通信的集线器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1520122A true CN1520122A (zh) | 2004-08-11 |
CN100594705C CN100594705C (zh) | 2010-03-17 |
Family
ID=23423021
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200310113847A Expired - Lifetime CN100594705C (zh) | 1999-07-27 | 2000-04-25 | 数据通信的方法和数据通信的输入/输入装置 |
CNB00813460XA Expired - Lifetime CN1179283C (zh) | 1999-07-27 | 2000-04-25 | 数据通信的方法和数据通信的集线器 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB00813460XA Expired - Lifetime CN1179283C (zh) | 1999-07-27 | 2000-04-25 | 数据通信的方法和数据通信的集线器 |
Country Status (6)
Country | Link |
---|---|
US (2) | US6792495B1 (zh) |
EP (1) | EP1203300B1 (zh) |
CN (2) | CN100594705C (zh) |
HK (1) | HK1050405A1 (zh) |
TW (1) | TW518471B (zh) |
WO (1) | WO2001008019A1 (zh) |
Families Citing this family (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7570724B1 (en) * | 1999-10-14 | 2009-08-04 | Pluris, Inc. | Method of link word synchronization |
US7512082B1 (en) * | 1999-12-14 | 2009-03-31 | Intel Corporation | Tracking transaction status for a bus system providing legacy bus compatibility |
US6771664B1 (en) * | 1999-12-28 | 2004-08-03 | Intel Corporation | Transaction scheduling for a bus system in a multiple speed environment |
US7028124B2 (en) * | 2001-09-26 | 2006-04-11 | Intel Corporation | Method and apparatus for dual queue head processing of interrupt endpoints |
DE10224163B4 (de) * | 2002-05-31 | 2005-05-04 | Advanced Micro Devices, Inc., Sunnyvale | Transaktionsdauermanagement in einem USB-Hostcontroller |
KR100943742B1 (ko) * | 2003-06-03 | 2010-02-23 | 삼성전자주식회사 | Usb 트랜잭션을 무선 pan 상에서 전송하는 장치 및방법 |
US7412574B2 (en) * | 2004-02-05 | 2008-08-12 | Micron Technology, Inc. | System and method for arbitration of memory responses in a hub-based memory system |
US20050210185A1 (en) * | 2004-03-18 | 2005-09-22 | Kirsten Renick | System and method for organizing data transfers with memory hub memory modules |
ATE497617T1 (de) * | 2004-06-15 | 2011-02-15 | Nxp Bv | Bus-controller zur handhabung von geteilten transaktionen |
US7296129B2 (en) | 2004-07-30 | 2007-11-13 | International Business Machines Corporation | System, method and storage medium for providing a serialized memory interface with a bus repeater |
US7549004B1 (en) * | 2004-08-20 | 2009-06-16 | Altera Corporation | Split filtering in multilayer systems |
US7512762B2 (en) | 2004-10-29 | 2009-03-31 | International Business Machines Corporation | System, method and storage medium for a memory subsystem with positional read data latency |
US7277988B2 (en) * | 2004-10-29 | 2007-10-02 | International Business Machines Corporation | System, method and storage medium for providing data caching and data compression in a memory subsystem |
US7299313B2 (en) | 2004-10-29 | 2007-11-20 | International Business Machines Corporation | System, method and storage medium for a memory subsystem command interface |
US7331010B2 (en) | 2004-10-29 | 2008-02-12 | International Business Machines Corporation | System, method and storage medium for providing fault detection and correction in a memory subsystem |
US7340550B2 (en) * | 2004-12-02 | 2008-03-04 | Intel Corporation | USB schedule prefetcher for low power |
US20060190655A1 (en) * | 2005-02-24 | 2006-08-24 | International Business Machines Corporation | Apparatus and method for transaction tag mapping between bus domains |
US7702825B2 (en) * | 2005-06-29 | 2010-04-20 | Intel Corporation | Enhancements to universal serial bus (USB) suspend and resume operations |
US7478259B2 (en) | 2005-10-31 | 2009-01-13 | International Business Machines Corporation | System, method and storage medium for deriving clocks in a memory system |
US7685392B2 (en) | 2005-11-28 | 2010-03-23 | International Business Machines Corporation | Providing indeterminate read data latency in a memory system |
US7594055B2 (en) * | 2006-05-24 | 2009-09-22 | International Business Machines Corporation | Systems and methods for providing distributed technology independent memory controllers |
US7490255B2 (en) * | 2006-06-30 | 2009-02-10 | Intel Corporation | Power efficient flow control model for USB asynchronous transfers |
US7669086B2 (en) | 2006-08-02 | 2010-02-23 | International Business Machines Corporation | Systems and methods for providing collision detection in a memory system |
US7870459B2 (en) | 2006-10-23 | 2011-01-11 | International Business Machines Corporation | High density high reliability memory module with power gating and a fault tolerant address and command bus |
US20080162974A1 (en) * | 2006-12-29 | 2008-07-03 | Keys John S | Universal serial bus host controller |
US7721140B2 (en) | 2007-01-02 | 2010-05-18 | International Business Machines Corporation | Systems and methods for improving serviceability of a memory system |
JP2011198046A (ja) * | 2010-03-19 | 2011-10-06 | Kddi Corp | 中継装置及び方法 |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4792495A (en) * | 1985-04-22 | 1988-12-20 | Seiko Epson Corporation | Fusible ink sheet |
US4785394A (en) * | 1986-09-19 | 1988-11-15 | Datapoint Corporation | Fair arbitration technique for a split transaction bus in a multiprocessor computer system |
US5262942A (en) * | 1990-06-05 | 1993-11-16 | Bankers Trust Company | Financial transaction network |
JP3411300B2 (ja) * | 1992-02-18 | 2003-05-26 | 株式会社日立製作所 | 情報処理装置 |
US5553310A (en) * | 1992-10-02 | 1996-09-03 | Compaq Computer Corporation | Split transactions and pipelined arbitration of microprocessors in multiprocessing computer systems |
US5708794A (en) | 1993-08-10 | 1998-01-13 | Dell Usa, L.P. | Multi-purpose usage of transaction backoff and bus architecture supporting same |
US5533204A (en) * | 1994-04-18 | 1996-07-02 | Compaq Computer Corporation | Split transaction protocol for the peripheral component interconnect bus |
US5546546A (en) * | 1994-05-20 | 1996-08-13 | Intel Corporation | Method and apparatus for maintaining transaction ordering and arbitrating in a bus bridge |
US5742847A (en) | 1994-10-31 | 1998-04-21 | Intel Corporation | M&A for dynamically generating and maintaining frame based polling schedules for polling isochronous and asynchronous functions that guaranty latencies and bandwidths to the isochronous functions |
US5621897A (en) * | 1995-04-13 | 1997-04-15 | International Business Machines Corporation | Method and apparatus for arbitrating for a bus to enable split transaction bus protocols |
US5732244A (en) * | 1995-07-24 | 1998-03-24 | Unisys Corp. | Multiprocessor with split transaction bus architecture for sending retry direction to other bus module upon a match of subsequent address bus cycles to content of cache tag |
JPH0944443A (ja) | 1995-07-31 | 1997-02-14 | Nec Eng Ltd | バスインタフェース制御装置 |
US5961623A (en) * | 1996-08-29 | 1999-10-05 | Apple Computer, Inc. | Method and system for avoiding starvation and deadlocks in a split-response interconnect of a computer system |
US5978878A (en) * | 1996-09-26 | 1999-11-02 | Vlsi Technology | Selective latency reduction in bridge circuit between two busses |
US5870567A (en) * | 1996-12-31 | 1999-02-09 | Compaq Computer Corporation | Delayed transaction protocol for computer system bus |
US5933611A (en) * | 1997-06-23 | 1999-08-03 | Opti Inc. | Dynamic scheduler for time multiplexed serial bus |
US6366590B2 (en) * | 1998-03-16 | 2002-04-02 | Sony Corporation | Unified interface between an IEEE 1394-1995 serial bus transaction layer and corresponding applications |
US6243778B1 (en) * | 1998-10-13 | 2001-06-05 | Stmicroelectronics, Inc. | Transaction interface for a data communication system |
US6145039A (en) * | 1998-11-03 | 2000-11-07 | Intel Corporation | Method and apparatus for an improved interface between computer components |
US6389029B1 (en) * | 1998-11-10 | 2002-05-14 | Nortel Networks Limited | Local area network incorporating universal serial bus protocol |
US6813251B1 (en) * | 1999-07-27 | 2004-11-02 | Intel Corporation | Split Transaction protocol for a bus system |
-
1999
- 1999-07-27 US US09/361,677 patent/US6792495B1/en not_active Expired - Lifetime
-
2000
- 2000-04-25 CN CN200310113847A patent/CN100594705C/zh not_active Expired - Lifetime
- 2000-04-25 CN CNB00813460XA patent/CN1179283C/zh not_active Expired - Lifetime
- 2000-04-25 EP EP00923592A patent/EP1203300B1/en not_active Expired - Lifetime
- 2000-04-25 WO PCT/US2000/010930 patent/WO2001008019A1/en active Application Filing
- 2000-04-27 TW TW089108014A patent/TW518471B/zh not_active IP Right Cessation
-
2003
- 2003-04-07 HK HK03102453A patent/HK1050405A1/xx unknown
-
2004
- 2004-07-08 US US10/888,665 patent/US20040268010A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
EP1203300A1 (en) | 2002-05-08 |
US20040268010A1 (en) | 2004-12-30 |
CN100594705C (zh) | 2010-03-17 |
CN1179283C (zh) | 2004-12-08 |
WO2001008019A1 (en) | 2001-02-01 |
US6792495B1 (en) | 2004-09-14 |
HK1050405A1 (en) | 2003-06-20 |
EP1203300B1 (en) | 2011-06-08 |
TW518471B (en) | 2003-01-21 |
CN1376280A (zh) | 2002-10-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1205562C (zh) | 总线***的分隔事务协议 | |
CN1179283C (zh) | 数据通信的方法和数据通信的集线器 | |
CN1069426C (zh) | 信息处理*** | |
CN1118029C (zh) | 用于高速总线的流控制的***和方法 | |
CN1364264A (zh) | 数据通信***的节点中多链路层到单个物理层的接口 | |
CN1279790A (zh) | 快速16位分离事务i/o总线 | |
CN1038362A (zh) | ***设备控制器及适配器接口 | |
CN100351824C (zh) | 总线***和用于连接到总线的总线接口 | |
CN1561492A (zh) | 用于与总线连接的总线***和总线接口 | |
CN1113298C (zh) | 在总线***中提供和嵌入控制信息的方法和装置 | |
CN1561491A (zh) | 总线***和总线接口 | |
CN1309361A (zh) | 具有存储格式信息的配置只读存储器的设备 | |
CN1234075C (zh) | 加速存储器数据更新增加网络数据传输效率的方法及电路 | |
CN1137447C (zh) | 数据接口及使用数据接口的高速通信*** | |
JP2004054419A (ja) | ノード間トランザクション処理装置 | |
CN1241080A (zh) | 以最大速度在数据总线上发送数据的方法和设备 | |
JPH10326240A (ja) | ネットワークファイル転送処理方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CX01 | Expiry of patent term |
Granted publication date: 20100317 |
|
CX01 | Expiry of patent term |