CN1790304A - 状态协调方法 - Google Patents

状态协调方法 Download PDF

Info

Publication number
CN1790304A
CN1790304A CN200510022955.8A CN200510022955A CN1790304A CN 1790304 A CN1790304 A CN 1790304A CN 200510022955 A CN200510022955 A CN 200510022955A CN 1790304 A CN1790304 A CN 1790304A
Authority
CN
China
Prior art keywords
state
link
links
downstream components
upstream component
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
Application number
CN200510022955.8A
Other languages
English (en)
Other versions
CN100382064C (zh
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.)
Via Technologies Inc
Original Assignee
Via Technologies Inc
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 Via Technologies Inc filed Critical Via Technologies Inc
Priority to CNB2005100229558A priority Critical patent/CN100382064C/zh
Publication of CN1790304A publication Critical patent/CN1790304A/zh
Priority to US11/490,351 priority patent/US7631136B2/en
Application granted granted Critical
Publication of CN100382064C publication Critical patent/CN100382064C/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4221Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus
    • G06F13/423Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus with synchronous protocol

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明披露了一种状态协调方法,应用于可支持多种下游组件连结组态的一上游组件上,该状态协调方法包含下列步骤:处于一第一状态的该上游组件中的一第一连结,于即将转入一第二状态前的一预设时间内检测该上游组件中的一第二连结所处的状态;以及当该第二连结于该预设时间内也处于该第一状态时,便协调该第一连结与该第二连结同步转换至该第二状态。

Description

状态协调方法
技术领域
本发明涉及一种状态协调方法,特别是涉及应用于可支持多种下游组件连结组态的上游组件上的状态协调方法。
背景技术
高速外围控制器接口总线技术(PCI Express,以下简称PCI-E)是目前逐渐被广泛应用的技术手段,其在数据传输的频宽配置上定义了一种多信道规格,可较已知技术手段具有更佳的灵活性。举例来说,当一PCI-E上游组件10(upstream device)具有一个包含有16个PCI-E通道(lane)的连结端口时,所以它可以弹性提供给一个具有16个信道数的PCI-E下游组件11,或是两个具有8个信道数的PCI-E下游组件12,或是一个具有8个信道数的PCI-E下游组件12以及两个具有4个信道数的PCI-E下游组件13,甚或是四个具有4个信道数的PCI-E下游组件14来进行连结,其功能方块示意图分别如图1(a)(b)(c)(d)所示。
但是在上述结构中,PCI-E上游组件(upstream device)并无法预知将来所连结的下游组件的组态(configuration),因而其必须具备有判断出所连接的下游组件形态的能力。于是如图2的常用状态转换示意图便被开发出来,图2是以上游组件的连结端口可支持两个8个信道数的PCI-E下游组件以及一个具有16个信道数的PCI-E下游组件为例,而图2中过程便需要判断出到底是有两个8个信道数的PCI-E下游组件或是只有一个具有16个信道数的PCI-E下游组件(downstream device)来进行连接。
当建置有上述PCI-E结构的计算机系统开机后,PCI-E上游组件(upstream device)中属于第一连结的状态机器(state machine)便随着对下游组件所执行的初始化操作而开始一连串的状态转换步骤,其中的状态包含有:检测安静状态(Detect.Quiet)、检测启动状态(Detect.Active)、轮询启动状态(Polling.Active)、轮询允许状态(Polling.Compliance)、轮询组态状态(Polling.Configuration)、第一组态状态(Configuration_1)以及第二组态状态(Configuration_2)。另外,第二连结的状态机器(statemachine)中的状态同样包含有上述各状态。
其中当第一/第二连结的状态机器最后停留在第一组态状态时,即代表上游组件判断其连结端口的第一/第二连结上连结着一个8个信道数的PCI-E下游组件,而若是两个状态机器都转换至第二组态状态时,则代表上游组件判断其连结端口的第一连结与第二连结上共同连结着一个16个信道数的PCI-E下游组件,于是PCI-E上游组件的连结端口的两个8个通道数的连结(link)将自动合并成一个16个通道数的连结(link)。但因为第一连结与第二连结的状态机器是独立运作的,因此状态转换的时间点极可能会有差异存在,导致两个连结(link)会在不同时间点进入第一组态状态,因此当要进一步合并成较大通道数的连结(link)时,数据传送的同步化便需要被执行。
请参见图3(a),其代表该第一/第二连结(link)进入第一组态状态后的包传送示意图,图中包com代表该连结(link)进入第一组态状态的时间点,由图可看出第一连结(link)较第二连结(link)早四个周期进入第一组态状态。另外,而当上游组件发现连结端口的第一连结与第二连结上是共同连结着一个16个信道数的PCI-E下游组件时,便会将两个连结合并(merge)成一个,并会进行如图3(b)(c)所示的同步化操作,其中图3(b)表示出在连结合并而进入第二组态状态后,第一连结(link)会截断原先传送的数据包而重新传送,进而实现两者同步的效果。至于图2(c)则表示出在连结合并而进入第二组态状态时,先转态完成的第一连结(link)并不会传送有效数据,而是插入无意义的数据(如图中所示的“00”),直到第二连结(link)准备开始传送时,两者再一起开始传送数据包,进而实现两者同步的效果。
但是上述已有技术具有以下两个缺点,第一,因为第一连结与第二连结的状态机器是独立运作的,因此状态转换的时间点极可能会有差异存在,而存在于系统中众多的计时机制极可能导致两个连结(link)要合并为一个连结(link)时,会因为过长的时间差而失败,无法合并成较大通道数的连结(link)而只能以较小的通道数进行传输。第二,因为如图2(b)(c)所示的同步化操作并非是PCI-E规格中所预期的行为,因此可能导致一些下游PCI-E组件无法正确解读而无法成功完成数据传输的同步,而如何改善这些缺点,便成为本发明的主要目的。
发明内容
本发明提供一种状态协调方法,应用于可支持多种下游组件连结组态的一上游组件上,该状态协调方法包含下列步骤:处于一第一状态的该上游组件中的一第一连结,于即将转入一第二状态前的一预设时间内检测该上游组件中的一第二连结所处的状态;以及当该第二连结于该预设时间内也处于该第一状态时,便协调该第一连结与该第二连结同步转换至该第二状态。
根据本发明所述的状态协调方法,其中该上游组件为一高速外围控制器接口总线技术上游组件。
根据本发明所述的状态协调方法,其中该第一连结可连结于一第一下游组件而该第二连结可连结于一第二下游组件,或是该第一连结与该第二连结可共同连结于一第三下游组件,而该第三下游组件的信道数为该第一下游组件的信道数与该第二下游组件的信道数的总和。
根据本发明所述的状态协调方法,其中当该第二连结于该预设时间内非处于该第一状态时,该第一连结便于该预设时间结束时转换至该第二状态。
根据本发明所述的状态协调方法,其中该上游组件还可包含一第三连结,而处于该第一状态的该第一连结,于即将转入该第二状态前的一预设时间内检测该上游组件中的该第二连结与该第三连结所处的状态,当该第二连结与该第三连结于该预设时间内也处于该第一状态时,便协调该第一连结、该第二连结与该第三连结同步转换至该第二状态。
附图说明
图1(a)(b)(c)(d)示出了计算机系统中关于高速外围控制器接口总线的常用功能方块示意图。
图2示出了常用高速外围控制器接口总线中的状态转换示意图。
图3(a)示出了代表该第一/第二连结(link)进入Configuration_1状态后的包传送示意图。
图3(b)(c)示出了进行数据传输同步化操作的两个常用实例示意图。
图4示出了本发明较佳实施例方法的状态转换示意图。
附图符号说明
本发明附图中所包含的各组件:
PCI-E上游组件10
16个信道数PCI-E下游组件11
8个信道数PCI-E下游组件12
4个信道数PCI-E下游组件13
4个信道数PCI-E下游组件14
具体实施方式
为能改善上述已有技术的缺失,本发明给出如图4所示本发明较佳实施例方法的状态转换示意图,其同样是以上游组件的连结端口可支持两个8个信道数的PCI-E下游组件以及一个具有16个信道数的PCI-E下游组件为例,进而可判断出到底是有两个8个信道数的PCI-E下游组件或是只有一个具有16个信道数的PCI-E下游组件(downstream device)来进行连接并可顺利完成正确的状态协调。
当建置有上述PCI-E结构的计算机系统开机后,PCI-E上游组件(upstream device)中属于第一连结的状态机器(state machine)同样随着对下游组件所执行的初始化操作而开始一连串的状态转换步骤,其中的状态包含有:检测安静状态(Detect.Quiet)、检测启动状态(Detect.Active)、轮询启动状态(Polling.Active)、轮询允许状态(Polling.Compliance)、轮询组态状态(Polling.Configuration)、第一组态状态(Configuration_1)以及第二组态状态(Configuration_2)。另外,第二连结的状态机器(statemachine)中的状态同样包含有上述各状态。而为能改善上述习用手段的缺失,本发明导入一状态协调方法,该方法主要包含下列步骤。
首先,将处于一第一状态的该上游组件中的一第一连结,于即将转入一第二状态前的一预设时间内检测该上游组件中的一第二连结所处的状态,而当该第二连结于该预设时间内也处于该第一状态时,便协调该第一连结与该第二连结同步转换至一第二状态。举例来说,若该第一状态为上述的检测启动状态(Detect.Active),而第二状态便为上述的轮询启动状态(Polling.Active)。于是,当处于一检测启动状态(Detect.Active)的第一连结已执行完此状态的工作而准备要转入一轮询启动状态(Polling.Active)前,本发明加入一检查机制,便利用一预设时间所形成的判别窗(judgewindow)来检测第二连结所处的状态,假如在此判别窗中检测到第二连结也已处于检测启动状态(Detect.Active),代表两个连结共同连接至一个16信道数下游组件的机率颇高,所以便将该第一连结由检测启动状态(Detect.Active)转换至一轮询启动状态(Polling.Active)的时间点向后延迟,直到第二连结也已执行完此状态的工作后,两个连结才同步于同一时间点一起转换至轮询启动状态(Polling.Active)。以下依此类推,在每个状态转换时都可进行此一检查机制,当然也可选择其中部份进行。如此一来,本发明技术手段便可确保两个连结可以同步进行状态切换,最后可以确保两连结(link)可以顺利合并为一个连结(link)时,同时也免去已有技术中的数据传送同步化操作,进而不必进行非PCI-E规格中所预期的行为,因此可有效改善已有技术的缺点,实现本发明的主要目的。
反之,假如在此判别窗中检测到第二连结并未处于检测启动状态(Detect.Active),代表两个连结共同连接至一个16信道数下游组件的机率不高,而是认为各自连接至一个8信道数下游组件的机率较高。所以便于该预设时间结束后,将该第一连结由检测启动状态(Detect.Active)直接转换至一轮询启动状态(Polling.Active)。以下依此类推,在每个状态转换时都可进行此一检查机制,当然也可选择其中部份进行,如此一来,便可快速地让两连结(link)可以顺利进入独立连接至下游组件。
本发明可运用于高速外围控制器接口总线技术(PCI-E)以及相类似的数据传输接口,当然也可以应用于三个或三个以上的连接间的状态协调方法,例如该上游组件还可包含一第三连结,而处于该第一状态的该第一连结,于即将转入该第二状态前的一预设时间内检测该上游组件中的该第二连结与该第三连结所处的状态,当该第二连结与该第三连结于该预设时间内也处于该第一状态时,便协调该第一连结、该第二连结与该第三连结同步转换至一第二状态。其细节与上述并无太大不同,故在此不再赘述。至于预设时间所形成的判别窗(judge window)的长度,可随所需进行设定,若预设时间较短,可让转换速度变快,而若预设时间较长,则是较不会产生组态的误判。
综上所述可知,本发明可有效确保两连结(link)可以顺利合并为一个连结(link)时,同时也免去已有技术中的数据传送同步化操作,进而不必进行非PCI-E规格中所预期的行为,因此可有效改善已有技术的缺点,实现本发明的主要目的。因此其它未脱离本发明所揭示的精神下所完成的等效改变或修饰,均应包含在本发明的权利要求的范围内。

Claims (5)

1.一种状态协调方法,应用于可支持多种下游组件连结组态的一上游组件上,该状态协调方法包含下列步骤:
处于一第一状态的该上游组件中的一第一连结,于即将转入一第二状态前的一预设时间内检测该上游组件中的一第二连结所处的状态;以及
当该第二连结于该预设时间内也处于该第一状态时,便协调该第一连结与该第二连结同步转换至该第二状态。
2.如权利要求1所述的状态协调方法,其中该上游组件为一高速外围控制器接口总线技术上游组件。
3.如权利要求1所述的状态协调方法,其中该第一连结可连结于一第一下游组件而该第二连结可连结于一第二下游组件,或是该第一连结与该第二连结可共同连结于一第三下游组件,而该第三下游组件的信道数为该第一下游组件的信道数与该第二下游组件的信道数的总和。
4.如权利要求1所述的状态协调方法,其中当该第二连结于该预设时间内非处于该第一状态时,该第一连结便于该预设时间结束时转换至该第二状态。
5.如权利要求1所述的状态协调方法,其中该上游组件还可包含一第三连结,而处于该第一状态的该第一连结,于即将转入该第二状态前的一预设时间内检测该上游组件中的该第二连结与该第三连结所处的状态,当该第二连结与该第三连结于该预设时间内也处于该第一状态时,便协调该第一连结、该第二连结与该第三连结同步转换至该第二状态。
CNB2005100229558A 2005-12-19 2005-12-19 状态协调方法 Active CN100382064C (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CNB2005100229558A CN100382064C (zh) 2005-12-19 2005-12-19 状态协调方法
US11/490,351 US7631136B2 (en) 2005-12-19 2006-07-20 State negotiation method in PCI-E architecture

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2005100229558A CN100382064C (zh) 2005-12-19 2005-12-19 状态协调方法

Publications (2)

Publication Number Publication Date
CN1790304A true CN1790304A (zh) 2006-06-21
CN100382064C CN100382064C (zh) 2008-04-16

Family

ID=36788175

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005100229558A Active CN100382064C (zh) 2005-12-19 2005-12-19 状态协调方法

Country Status (2)

Country Link
US (1) US7631136B2 (zh)
CN (1) CN100382064C (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101051243B (zh) * 2007-05-21 2010-06-09 威盛电子股份有限公司 集中式动态连接组态方法及系统

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5272704B2 (ja) * 2008-12-17 2013-08-28 富士ゼロックス株式会社 情報伝送システム、情報送信装置及び情報受信装置
EP2840725B1 (en) * 2012-12-31 2017-06-14 Huawei Technologies Co., Ltd. Receiving end detection method, detection circuit, optical module and system
KR102569761B1 (ko) * 2016-10-05 2023-08-22 삼성전자주식회사 반도체 장치, 반도체 시스템 및 반도체 장치의 동작 방법

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0877103A (ja) * 1994-09-07 1996-03-22 Hitachi Ltd バス同期化方式及びこれを用いた装置,システム
US6256700B1 (en) * 1999-03-30 2001-07-03 Dell Usa, L.P. Bus/port switching system and method for a computer
US7802049B2 (en) * 2002-10-30 2010-09-21 Intel Corporation Links having flexible lane allocation
US7782325B2 (en) * 2003-10-22 2010-08-24 Alienware Labs Corporation Motherboard for supporting multiple graphics cards
US7099969B2 (en) * 2003-11-06 2006-08-29 Dell Products L.P. Dynamic reconfiguration of PCI Express links
US7231560B2 (en) * 2004-04-16 2007-06-12 Via Technologies, Inc. Apparatus and method for testing motherboard having PCI express devices
US20050270988A1 (en) * 2004-06-04 2005-12-08 Dehaemer Eric Mechanism of dynamic upstream port selection in a PCI express switch
JP4558519B2 (ja) * 2005-01-18 2010-10-06 富士通株式会社 情報処理装置およびシステムバス制御方法
US7539801B2 (en) * 2005-05-27 2009-05-26 Ati Technologies Ulc Computing device with flexibly configurable expansion slots, and method of operation
US7353443B2 (en) * 2005-06-24 2008-04-01 Intel Corporation Providing high availability in a PCI-Express link in the presence of lane faults

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101051243B (zh) * 2007-05-21 2010-06-09 威盛电子股份有限公司 集中式动态连接组态方法及系统

Also Published As

Publication number Publication date
US7631136B2 (en) 2009-12-08
CN100382064C (zh) 2008-04-16
US20070140139A1 (en) 2007-06-21

Similar Documents

Publication Publication Date Title
CN1929366A (zh) 用于计算时钟偏移和时钟脉冲相位差的方法和系统
MY126600A (en) Method and system for transferring a job between computers
US20160224493A1 (en) Universal serial bus (usb) kvm switch using virtual usb for switching among multiple hosts
CN103685980B (zh) 视频信号备份方法和系统以及传输方法和系统
CN1790304A (zh) 状态协调方法
US6268808B1 (en) High speed data modification system and method
US6308223B1 (en) Process for the synchronization of programs on different computers of an interconnected system
EP2428893A2 (en) A reduction operation device, a processor, and a computer system
CN110798386A (zh) 一种可配置的can总线协议收发测试方法及系统
US20140244874A1 (en) Restoring stability to an unstable bus
US5832201A (en) Method and apparatus for a checkpoint based communication processing system
CN106250277A (zh) 一种多路服务器系统及用于提高其稳定性的方法
CN1463114A (zh) 基于数字信号处理器同步串行接口的数据发送和接收方法
US20070220296A1 (en) Data processing apparatus
CN1713480A (zh) 并联不间断电源同步切换控制方法及装置
CN116681995A (zh) 基于grpc的多模型融合方案在显示屏检测中的应用
CN1173525C (zh) 数字接口的连接管理方法
US20120150421A1 (en) Dynamic Transitioning Between Intersection Controller Traffic Engines
CN1991745A (zh) 在64位系统中利用32位主程序拦截64位信息的方法
CN1176423C (zh) 主机板测试程序处理系统及方法
US20090235256A1 (en) System architecture for implementing virtual disk service equipment
CN1863062A (zh) 一种全局数据在多模块间动态同步的方法
JP2001331346A (ja) シミュレータ及びシミュレーション方法
CN106407167A (zh) 一种word合并方法和系统
CN1173277C (zh) 传送已寄存的数据至pci总线的装置与方法

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