CN100382064C - 状态协调方法 - Google Patents

状态协调方法 Download PDF

Info

Publication number
CN100382064C
CN100382064C CNB2005100229558A CN200510022955A CN100382064C CN 100382064 C CN100382064 C CN 100382064C CN B2005100229558 A CNB2005100229558 A CN B2005100229558A CN 200510022955 A CN200510022955 A CN 200510022955A CN 100382064 C CN100382064 C CN 100382064C
Authority
CN
China
Prior art keywords
state
links
link
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.)
Active
Application number
CNB2005100229558A
Other languages
English (en)
Other versions
CN1790304A (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

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)。另外,第二连结的状态机器(state machine)中的状态同样包含有上述各状态。
其中当第一/第二连结的状态机器最后停留在第一组态状态时,即代表上游组件判断其连结端口的第一/第二连结上连结着一个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 (4)

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

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101051243B (zh) * 2007-05-21 2010-06-09 威盛电子股份有限公司 集中式动态连接组态方法及系统
JP5272704B2 (ja) * 2008-12-17 2013-08-28 富士ゼロックス株式会社 情報伝送システム、情報送信装置及び情報受信装置
CN103392303B (zh) * 2012-12-31 2015-03-11 华为技术有限公司 接收端检测方法、检测电路、光模块及系统
KR102569761B1 (ko) * 2016-10-05 2023-08-22 삼성전자주식회사 반도체 장치, 반도체 시스템 및 반도체 장치의 동작 방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6256700B1 (en) * 1999-03-30 2001-07-03 Dell Usa, L.P. Bus/port switching system and method for a computer
WO2005043381A1 (en) * 2003-10-22 2005-05-12 Alienware Labs Corporation Motherboard for supporting multiple graphic cards
CN1624674A (zh) * 2003-11-06 2005-06-08 戴尔产品公司 Pci express链路的动态重新配置
CN1645337A (zh) * 2004-04-16 2005-07-27 威盛电子股份有限公司 测试包含快速周边组件互连装置的主机板的方法及装置

Family Cites Families (6)

* 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 バス同期化方式及びこれを用いた装置,システム
US7802049B2 (en) * 2002-10-30 2010-09-21 Intel Corporation Links having flexible lane allocation
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

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6256700B1 (en) * 1999-03-30 2001-07-03 Dell Usa, L.P. Bus/port switching system and method for a computer
WO2005043381A1 (en) * 2003-10-22 2005-05-12 Alienware Labs Corporation Motherboard for supporting multiple graphic cards
CN1624674A (zh) * 2003-11-06 2005-06-08 戴尔产品公司 Pci express链路的动态重新配置
CN1645337A (zh) * 2004-04-16 2005-07-27 威盛电子股份有限公司 测试包含快速周边组件互连装置的主机板的方法及装置

Also Published As

Publication number Publication date
CN1790304A (zh) 2006-06-21
US20070140139A1 (en) 2007-06-21
US7631136B2 (en) 2009-12-08

Similar Documents

Publication Publication Date Title
US7757020B2 (en) Point-to-point link negotiation method and apparatus
CN100382064C (zh) 状态协调方法
CN102882704B (zh) 一种issu的软重启升级过程中的链路保护方法和设备
US7802075B2 (en) Synchronized high-assurance circuits
CN108809791B (zh) 一种多设备环形结构通信方法及系统
CN103685980A (zh) 视频信号备份方法和系统以及传输方法和系统
EP2428893A2 (en) A reduction operation device, a processor, and a computer system
EP3026530B1 (en) Keyboard-video-mouse switch and operating method thereof
CN106484645A (zh) Usb接口模式切换方法、装置及智能终端
KR20000015819A (ko) 상호 접속 시스템의 상이한 컴퓨터상에 있는프로그램의 동기화방법
US3959589A (en) Digital bit stream synchronizer
CN110798386A (zh) 一种可配置的can总线协议收发测试方法及系统
CN113625540A (zh) 双机热备控制方法、装置及双机热备系统
US7254460B1 (en) Numerical control system, and method of establishing communication timing in numerical control system
US20070220296A1 (en) Data processing apparatus
US10769038B2 (en) Counter circuitry and methods including a master counter providing initialization data and fault detection data and wherein a threshold count difference of a fault detection count is dependent upon the fault detection data
EP0725514A1 (en) Port address resolution device
CN102419726A (zh) 测试程序分散配置的测试方法及其系统
CN110011778B (zh) 基于rs485网络中系统同步采样方法
CN107659413B (zh) 小型通信设备
CN202372977U (zh) 基于fpga实现的usb主设备端接口结构
JP2016500237A (ja) データストリーム及びデータパケットの伝送方法及び装置
JPH06319184A (ja) 制御装置内の通信方式
CN108111449B (zh) 一种数据处理方法和装置
CN108829618B (zh) 一种高速数据实时交换处理装置

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