数据传输系统及其链路电源状态转换方法

文档序号:6558377阅读:171来源:国知局
专利名称:数据传输系统及其链路电源状态转换方法
技术领域
本发明是有关于一种电源状态转换方法,且特别是有关于一种PCIExpress的电源状态转换方法。
背景技术
随着时间的巨轮不断向前迈进,在个人计算机原为主流的外设部件互连接口(Peripheral Component Interconnect,PCI),在未来的处理器与输出/输入元件需要更高的传输频宽,已渐渐超出PCI的范围。业界因此推出新一代的PCI Express,以作为未来各种运算平台的标准区域输入/输出总线。其最大特色为效能的提升,单向传输速率即可达2.5GHz,更可藉扩增通道(lane)增加传输速率,例如使用4信道即可使传输速度提升4倍。
高级配置与电源接口(Advanced Configuration and Power Interface,ACPI),是定义元件于各个情况下的电源状态,称为元件电源状态(devicepower states,D-states)。而PCI Express更进一步地定义元件间的链路的电源状态,称为链路电源状态(link power states,L-states)。且各个链路电源状态与元件电源状态亦有相对应的关系。
元件电源状态D0(Full-On)表示元件是于正常工作的状态下。元件于元件电源状态D0时,此时元件之间的链路是处于链路电源状态L0、L0s或L1。
元件电源状态D1及D2并未明显地定义出,但概括而言,元件电源状态D2较D0与D1节省电力,但保持较少元件的状态。元件电源状态D1较D2节省电力,但可保持更多元件的状态。元件电源状态D1及D2是对应至链路电源状态L1。
元件电源状态D3(Off)表示关机状态,包括有D3cold与D3hot状态。当元件于D3cold状态时,表示主电源未提供至元件。当元件于D3hot状态时,表示主电源提供至元件。当元件的电源状态是于D3cold状态,若有辅助电源(auxiliary power)提供给元件,则元件之间的链路是对应至链路电源状态L2;若无电源提供给元件,则元件之间的链路是对应至链路电源状态L3。元件电源状态D3hot是对应至链路电源状态L1。
链路电源状态L0是元件之间的链路于正常工作状态的电源状态。链路电源状态L0s是于元件之间的链路传输数据时,若有短暂的数据传输的闲置时段,可进入链路电源状态L0s以减少功率的耗损。
元件之间的链路于链路电源状态L1时,元件是于暂停无工作要求的状态下,而会减低元件之间的链路电力的需求。此时,并无时钟信号的触发,及锁相回路电路(Phase Locked Loop,PLL)亦暂停使用。
链路电源状态L2与L3为关机状态,差别在于链路电源状态L2有辅助电源的存在,而链路电源状态L3无辅助电源。
然而,链路在较省电的链路电源状态,例如为链路电源状态L1时,上游元件为了传输数据至下游元件,链路会回到正常传输的链路电源状态L0以传输上述数据,在传输过程结束后,链路会回到省电的链路电源状态L1。在此过程中,数据的传输错误而易造成链路反复转换电源状态,严重甚至导致系统当机。

发明内容
有鉴于此,本发明提供数据传输系统及其链路电源状态转换方法,使转换链路电源状态时,可避免数据的传输错误,而造成链路反复转换电源状态,进而造成系统当机。
本发明提出一种链路电源状态转换方法,用于上游元件与下游元件之间的链路,上游元件与下游元件是通过链路相互传输数据,链路是于第一链路电源状态而无法传输数据,下游元件是位于非正常工作下的元件电源状态。首先,使链路进入第二链路电源状态,以使链路可正常传输数据。接着,上游元件通过链路传输数据封包至下游元件。之后,下游元件接收数据封包后开始计时。接着,下游元件输出数据封包的响应封包至上游元件。最后,下游元件计时结束后输出电源进入信号至上游元件,使链路回到第一链路电源状态。
本发明还提出一种数据传输系统,包括上游元件、下游元件及链路。上游元件与下游元件是通过链路相互传输数据,链路是于第一链路电源状态而无法传输数据。则链路进入第二链路电源状态以正常传输数据,则上游元件通过链路传输数据封包至下游元件。之后,下游元件接收数据封包后开始计时后,下游元件输出数据封包的响应封包至上游元件,下游元件计时结束后输出电源进入信号至上游元件,使链路回到第一链路电源状态。
本发明还提出一种链路数据传输的方法,用于连接上游元件以及下游元件间的链路的数据传输,其中该链路的初始链路电源状态为无法传送该数据封包的链路电源状态,该下游元件为非正常工作下的元件电源状态,该方法包括有该上游元件发出数据封包;该下游元件收到该数据封包后开始计时一计时时间;该下游元件响应该数据封包,发出响应封包至该上游元件;以及当计时结束,该下游元件发出电源进入封包至该上游元件;其中,该计时时间使得该响应封包早于该电源进入封包传送至该上游元件。
为让本发明的上述目的、特征、和优点能更明显易懂,下文特举一较佳实施例,并配合所附图式,作详细说明如下。


图1绘示为依本发明一较佳实施例的数据传输系统的方块图。
图2绘示为依本发明一较佳实施例的PCI Express链路电源状态转换方法的流程图。
图3绘示为链路于第一链路电源状态与第二链路电源状态转换时的相关波形图。
110上游元件120下游元件111、121事务层112、122数据链路层113、123物理层具体实施方式
请参照图1,其绘示为依照本发明一较佳实施例的数据传输系统的方块图。数据传输系统于本实例为PCI Express数据传输系统,包括有上游元件110、下游元件120以及连接上下游元件的链路130。
上游元件110包括事务层111(Transaction Layer,TL)、数据链路层112(Data Link Layer,DLL)及物理层113(Physical Layer,PHY)。而下游元件120同样也包括事务层121、数据链路层122及物理层123。
其中上游元件例如为根联合体(Root Complex,RC),而下游元件例如为外围(End Point,EP)。
事务层111及121分别产生数据封包(data packet)至数据链路层112及122,或分别接收数据链路层112及122传输而来的数据封包,同时也管理与元件之间的流量控制(flow control)。而事务层111及121接收或产生的数据封包称为事务层封包(Transaction Layer Packets,TLPs)。
数据链路层112及122分别与物理层113及123以及与事务层111及121之间传输数据封包。
数据链路层112及122接收数据封包后分别提供事务层封包TLP至事务层111及121,或分别接收事务层111及121输出的事务层封包TLP以分别输出数据封包至物理层113及123。而数据链路层112及122在做以上操作时,还可检错以稳定传输数据封包。
数据链路层112与物理层113之间传输的数据封包为数据链路层封包(Data Link Layer Packets,DLLPs)。
物理层113、123负责在元件110与元件120之间的链路(Link)130传送封包。
物理层113自元件120接收封包后,转为数据链路层封包DLLP输至数据链路层112。物理层113亦接收数据链路层112的数据链路层封包DLLP后,通过与元件120的链路130传送封包至元件120。同理,物理层123自元件110接收封包后,转为数据链路层封包DLLP输至数据链路层122。物理层123亦接收数据链路层122的数据链路层封包DLLP后,通过与元件110的链路130传送封包至元件110。
请参照图2,其绘示依照本发明一较佳实施例的PCI Express链路电源状态转换方法的流程图。此方法用于上游元件110与下游元件120之间的链路(Link)130。
本发明提出一种当系统在非工作电源状态下时,转换链路电源状态及传输数据的装置与方法。于本实施例中,下游元件120是于非第一元件电源状态(其中第一元件电源状态例如为元件电源状态D0)。假设链路130的初始链路电源状态为第一链路电源状态(例如L1)下而无法传输数据。
由于在第一链路电源状态L1下,数据封包是无法通过链路130传递的。因此必须先改变链路130的链路电源状态至可以正常传输数据的第二链路电源状态,例如为链路电源状态L0,如步骤21所示。之后,如步骤22所示,上游元件110通过链路130输出数据封包(例如为事务层封包)至下游元件120,其中数据封包为事务层封包,用以改变下游元件120的元件电源状态的命令,或读取下游元件120的元件电源状态的命令。接着,如步骤23所示,下游元件220接收到上述数据封包后开始计时。如步骤24所示,下游元件120对应数据封包,输出响应封包至上游元件110。接着,如步骤25所示,下游元件120计时结束,并输出电源进入封包PM_Enter_L1(例如为数据链路层封包DLLP)至上游元件110。之后,如步骤26所示,上游元件110输出电源要求响应封包PM_Request_Ack。最后,如步骤27所示,下游元件120接收电源要求响应封包PM_Request_Ack后,链路130进入第一链路电源状态(例如L0)。
于步骤23至25,下游元件220计时结束的标准,例如有立即结束计时、(1CfgW+10周期)、(32QW TLP+1CfgW+10周期)或是(2*32QW TLP+1CfgW+10周期)。
于此CfgW为数据封包传输的时间。
举例而言,CfgW例如为一个事务层封包自上游元件的事务层传输至下游元件的事务层所需时间;10周期表示下游元件处理事务层封包所需的时间;而QW TLP则表示事务层封包TLP的数据长度为多少QW(例如1QW TLP即表示此TLP的数据长度为1QW,而1QW为8bytes,所以32QW TLP即表示256bytes的TLP)。
计时结束的主要目的是使得响应封包可早于电源进入信号PM_Enter_L1输出至上游元件110,使上游元件110确实得到响应封包后,才接收电源进入信号PM_Enter_L1,而后再进行使链路130回到第一链路电源状态(例如L1)的程序。
请参照图3,其绘示为链路130于第一链路电源状态(例如L1)与第二链路电源状态(例如L0)转换时的相关波形图。
假设下游元件120的初始元件电源状态为第一元件电源状态(例如D0),链路的电源状态为L0,当系统闲至一段时间后,下游元件120会于时间点t1时进入了第二元件电源状态(例如D1)。在进入第二元件电源状态的同时发出PM_Enter_L1的数据封包至上游元件110。于时间点t2时,下游元件220收到PM_Request_Ack的数据封包后,链路130进入链路电源状态L1。
而后,以下的过程即对应至图2的流程图。时间点t2后,下游元件120保持为第二元件电源状态D1,链路130为链路电源状态L1而无法传输数据封包,即如上述图2所述于初始时的各电源状态。
若链路130于链路电源状态L1欲传输数据封包,则必需先转换链路的电源状态到可传输数据封包的链路电源状态L0。数据封包于时间点t3开始传输,当下游元件120接收到数据封包后,开始计时,并经处理后会输出响应封包。而后,下游元件120于时间点t4计时结束,才输出PM_Enter_L1的数据封包。下游元件120自时间点t5接收PM_Request_Ack的数据封包,才会使链路130再回到链路电源状态L1。
本发明上述实施例所揭露的PCI Express数据传输系统及其链路电源状态转换方法,可使得在链路自无法传输数据封包的电源状态转换至可传输数据封包的电源状态,再转换回来时,可避免数据的传输错误,而造成链路反复转换电源状态,进而造成系统当机。且亦可达到原设计上省电的目的。
综上所述,虽然本发明已以一较佳实施例揭露如上,然其并非用于限定本发明,任何本领域技术人员,在不脱离本发明的精神和范围内,当可作各种的更动与润饰,因此本发明的保护范围当视所附的权利要求范围所界定者为准。
权利要求
1.一种链路电源转换的方法,用于连接上游元件以及下游元件间的链路的电源转换,其中该链路的初始链路电源状态为第一链路电源状态,该下游元件为非正常工作下的元件电源状态,该方法包括有使得该链路由该第一链路电源状态进入第二链路电源状态;该上游元件发出数据封包;该下游元件收到该数据封包后开始计时一计时时间;该下游元件响应该数据封包,发出响应封包至该上游元件;当计时结束,该下游元件发出电源进入封包至该上游元件;以及该上游元件响应该电源进入信号,发出电源要求响应封包使得该链路回到该第一链路电源状态。
2.根据权利要求1所述的链路电源转换方法,其中该数据封包为事务层封包,该电源进入封包以及该电源要求响应封包分别为数据链路层封包。
3.根据权利要求1所述的链路电源转换方法,其中该计时时间至少为一个数据封包传输的时间加上10个周期。
4.根据权利要求1所述的链路电源转换方法,其中该计时时间还包含传送至少32QW事务层封包的时间。
5.根据权利要求1所述的链路电源转换方法,其中该计时时间使得该响应封包早于该电源进入封包传送至该上游元件。
6.根据权利要求1所述的链路电源转换方法,其中该第一链路电源状态为无法传送该数据封包的链路电源状态L1。
7.根据权利要求1所述的链路电源转换方法,其中该第二链路电源状态为可传送该数据封包的链路电源状态L0。
8.根据权利要求1所述的链路电源转换方法,其中该上游元件为根联合体,该下游元件为外围。
9.根据权利要求1所述的链路电源转换方法,其中该链路电源转换的方法可用于PCI Express链路中。
10.一种数据传输系统,包括有上游元件,用以发出数据封包;下游元件,该下游元件收到该数据封包后开始计时一计时时间,同时该下游元件响应该数据封包发出响应封包至该上游元件;以及链路,用以连接该上游元件以及该下游元件的数据传输;其中当计时结束时,该下游元件发出电源进入封包至该上游元件,而该计时时间使得该响应封包早于该电源进入封包传送至该上游元件。
11.根据权利要求10所述的数据传输系统,其中该链路的初始电源状态为无法传送该数据封包的链路电源状态L1。
12.根据权利要求11所述的数据传输系统,其中当传送该数据封包前,先使得该链路进入可传送该数据封包的链路电源状态L0。
13.根据权利要求12所述的数据传输系统,其中该上游元件响应该电源进入封包发出电源要求响应封包至该下游元件,使得该链路回到无法传送该数据封包的链路电源状态L1。
14.根据权利要求10所述的数据传输系统,其中该下游元件的初始电源状态为非正常工作元件电源状态。
15.根据权利要求10所述的数据传输系统,其中该数据封包用以改变或读取该下游元件的电源状态。
16.根据权利要求10所述的数据传输系统,其中该计时时间至少为一个数据封包传输的时间加上10个周期。
17.根据权利要求16所述的数据传输系统,其中该计时时间还包含传送至少32QW事务层封包的时间。
18.根据权利要求10所述的数据传输系统,其中该数据传输系统为PCIExpress传输系统。
19.一种链路数据传输的方法,用于连接上游元件以及下游元件间的链路的数据传输,其中该链路的初始链路电源状态为无法传送该数据封包的链路电源状态,该下游元件为非正常工作下的元件电源状态,该方法包括有该上游元件发出数据封包;该下游元件收到该数据封包后开始计时一计时时间;该下游元件响应该数据封包,发出响应封包至该上游元件;以及当计时结束,该下游元件发出电源进入封包至该上游元件;其中,该计时时间使得该响应封包早于该电源进入封包传送至该上游元件。
20.根据权利要求19所述的链路数据传输方法,其中该方法还包含当传送该数据封包前,先使得该链路进入可传送该数据封包的链路电源状态L0。
21.根据权利要求20所述的链路数据传输方法,其中该方法还包含该上游元件响应该电源进入封包发出电源要求响应封包至该下游元件,使得该链路回到无法传送该数据封包的链路电源状态。
22.根据权利要求19所述的链路数据传输方法,其中该计时时间至少为一个数据封包传输的时间加上10个周期。
23.根据权利要求19所述的链路数据传输方法,其中该计时时间还包含传送至少32QW事务层封包的时间。
24.根据权利要求19所述的链路数据传输方法,其中该数据传输方法可用于PCI Express传输系统。
全文摘要
数据传输系统及其链路电源状态转换方法。数据传输系统包括上游元件、下游元件及链路。上游元件及下游元件通过链路相互传输。链路于第一链路电源状态而无法传输数据封包。首先,使链路进入第二链路电源状态,以使链路可正常传输封包。接着,上游元件通过链路传输数据封包至下游元件。之后,下游元件接收数据封包后开始计时。接着,下游元件输出数据封包的响应封包至上游元件。最后,下游元件计时结束后,使链路回到第一链路电源状态。
文档编号G06F1/32GK1841269SQ20061007711
公开日2006年10月4日 申请日期2006年4月27日 优先权日2005年5月23日
发明者王惟林, 毛金良, 曾纹郁 申请人:威盛电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1