首页> 中国专利> 恢复不稳定总线的稳定性

恢复不稳定总线的稳定性

摘要

一种用于恢复不稳定总线的稳定性的方法,包括:将该总线的时钟循环多次;传输停止比特;将该总线的时钟线循环至少一次;以及在总线主设备已经接收到肯定应答比特之后立即传输停止比特。

著录项

  • 公开/公告号CN102770851A

    专利类型发明专利

  • 公开/公告日2012-11-07

    原文格式PDF

  • 申请/专利权人 惠普发展公司有限责任合伙企业;

    申请/专利号CN201080064762.8

  • 发明设计人 M.埃里克森;D.马乔罗夫斯基;

    申请日2010-02-26

  • 分类号G06F13/38(20060101);G06F1/04(20060101);G06F13/40(20060101);

  • 代理机构72001 中国专利代理(香港)有限公司;

  • 代理人段俊峰;卢江

  • 地址 美国德克萨斯州

  • 入库时间 2023-12-18 07:16:49

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-02-22

    专利权的转移 IPC(主分类):G06F13/38 登记生效日:20170204 变更前: 变更后: 申请日:20100226

    专利申请权、专利权的转移

  • 2016-01-20

    授权

    授权

  • 2012-12-26

    实质审查的生效 IPC(主分类):G06F13/38 申请日:20100226

    实质审查的生效

  • 2012-11-07

    公开

    公开

说明书

背景技术

当设计高可用性计算系统时,鼓励提供可在最小停机时间下快速重获全系统性能的故障恢复机制。出于成本原因,应当将被具体需要以执行故障恢复任务的附加硬件和软件降至最小限度。

附图说明

图1是示出了根据本发明的实施例的通过介于其间的集成电路间(I2C)总线而耦合的总线主设备和各个从设备的系统级框图。

图2示出了根据本发明的实施例的时钟周期与正由总线传输的数据字之间的相对定时。

图3a和3b示出了在发起和终止沿图1所示的总线的数据传输的开始和停止序列期间时钟和数据线上的作为时间的函数的信号电平。

图4是根据本发明的实施例的恢复不稳定总线的稳定性的方法的流程图。

图5是根据本发明的实施例的用于恢复不稳定总线的稳定性的逻辑模块的表示。

具体实施方式

可以在许多计算环境中使用用于恢复不稳定计算机数据总线的稳定性的方法和逻辑模块,以使用最少的硬件和软件资源来快速重获对数据总线的控制。本发明的实施例可以尤其有益于高可用性计算系统,其中,任何停机时间可以显著影响依赖于高可用性计算系统的输出的其他计算资源的处理功能。

图1是示出了根据本发明的实施例的通过介于其间的集成电路间(I2C)总线(20)而耦合的总线主设备和各个从设备的系统级框图。在图1中,总线主设备10通过总线20与从设备30、40和100进行通信。尽管在图中仅示出了三个从设备(30、40和100),但是本发明的实施例可以包括少至一个从设备或者可能也许包括10个或更多个从设备。本发明的其他实施例还可以包括置于集成电路间总线20与从设备的附加集合(由可能10个或更多个从设备构成)之间的复用器,这些从设备通过该复用器来与总线20进行通信。这意味着:总线主设备10可以与可能多至50至100(或更多个)从设备进行通信,这些从设备或者直接与集成电路间总线20对接或者通过介于其间的复用器间接与总线20对接。

图1的示例的总线架构包括上拉电阻器R1和R2,上拉电阻器R1和R2与3.3伏DC源对接。为了引起时钟周期,总线主设备暂时给集成电路间总线20的时钟线22提供信号接地。根据集成电路间总线规范,总线主设备20以100 kHz或可能400 kHz的速率给时钟线22提供信号接地。为了引起从总线主设备10至与总线20对接的从设备中的一个或多个的数据传输,总线主设备给数据线24提供信号接地。总线20上存在的电压中的这些调制由每个从设备感测并使从设备将这些调制解释为二进制1或二进制0。

图2示出了根据本发明的实施例的时钟周期与正由总线传输的数据字之间的相对定时。在图2中可见,在数据线24上存在八个数据比特,之后是时段9处的肯定应答(ACK)比特。还可见,数据线24上存在的每个数据比特与时钟线22的时钟周期锁步地(in lockstep with)出现。在图2中,数据比特置于数据线上,以最高有效位开始,每个八比特数据字的传输在时钟线22被拉低时开始。

图3a和3b示出了在发起和终止沿图1的总线20的数据传输的开始和停止序列(或比特)期间时钟线(22)和数据线(24)上的作为时间的函数的信号电平。相比于图2的数据和肯定应答比特1-9与时钟线22的周期的对准,当数据线24改变状态而时钟线22被拉高时,开始序列200和停止序列210出现。因此,在图3a中,在时钟线22为高时,将数据线24从高状态转移至低状态指示了开始序列200。在图3b中,当数据线24被从低拉高而时钟线22处于高状态时,发起停止序列210。在这里描述的本发明的实施例中,当总线主设备试图开始或停止与同集成电路间总线20对接的每一个从设备的数据传输时,由图1的总线主设备10发起这些开始和停止序列(或开始和停止比特)。

现在返回至图2,给定了时钟线22的周期与置于数据线24上的数据比特之间的对准,那么可见,数据线24与时钟线22之间的定时的发散可以使集成电路间总线(20)变得不同步。在这些情形下,总线主设备10不再可以与从设备30、40和100中的任一个进行通信。在一个示例中,总线主设备10可以传输8比特字加肯定应答比特;然而,由于时钟线22与数据线24之间的定时未对准,预期的接收方(即,从设备30、40和100之一)并未将第九个比特正确识别为肯定应答比特。这进而可以使总线主设备10在以下错误假设下继续至其下一任务:从设备已经接收到该数据字并且现在正在根据在接收到的字中编码的数据进行操作。

校正时钟线22与数据线24之间的未对准的先前尝试已经涉及:在来自总线主设备10的离散输出的控制下,使用从设备30、40和100中的一个或多个上的边带重置管脚。不幸的是,出于成本和复杂度的原因,许多从设备不包括这种重置管脚,并且许多总线主设备也不包括可能用于驱动重置管脚的离散输出。相应地,对边带重置管脚的使用一般不视为可行的选项。

先前尝试校正时钟线22与数据线24之间的未对准的另一个选项是:对从设备30、40和100中的一个或多个进行重新启动(power cycle)。然而,在其中任何系统停机时间至关重要的高可用性系统中,重新启动与集成电路间总线20对接的元件以校正时钟和数据线之间的未对准的概念也不被视为可行的选项。

图4是根据本发明的实施例的恢复不稳定总线的稳定性的方法的流程图。图4的方法可以由图1和5的总线主设备10执行,不过可以使用硬件和软件的其他组合来执行该方法。图4的实施例开始于步骤300,在步骤300处,总线主设备检测到数据总线上的通信差错。这些差错可以是通过分析时钟和数据线之间的定时来检测到,或者可以是通过分析数据总线上存在的实际数据字来检测的。

在步骤310处,将总线主设备置于修复模式。在该步骤中,暂时中止总线主设备的正常操作,使得可以将不稳定总线恢复至正常操作。此时,不知道数据总线是正操作于“读取”模式还是“写入”模式。相应地,总线主设备首先在以下假设下继续:数据总线正操作于读取模式,在读取模式中,数据正传输自从设备以由总线主设备读入。根据总线正操作于读取模式的假设,执行步骤320,在步骤320处,总线主设备将时钟线(例如,图1的时钟线22)接连循环(cycle)九次。如本文之前所讨论的,将时钟线循环九次向从设备发信号通知正沿数据总线传输数据的完整字节。这确保了在字节传送期间的某个点处,处于读取模式的从设备将未驱动的数据线解释为“未肯定应答的”信号,并且然后,从设备停止提供数据并等待停止条件。然后,该方法继续至步骤330,在步骤330处,总线主设备传输停止比特。

此时,如果该一个或多个从设备确实已经在读取模式中操作,则至少在其中数据总线20依照集成电路间总线进行操作的实施例中,将时钟线循环9次之后跟有停止比特应当使从设备终止传输数据并返回至空闲状态。

在执行了步骤330之后,该方法在以下假设下继续至步骤340:曾在数据总线正操作于写入模式时,发生了数据总线的不稳定性,在该写入模式中,正将数据从总线主设备传送至一个或多个从设备。为了恢复总线的稳定性,执行步骤340,在步骤340处,暂时将时钟线驱动为低,然后释放时钟线。在步骤350处,总线主设备等待确定是否已经自从设备接收到肯定应答比特。如果在步骤350处未接收到肯定应答比特,则该方法返回至步骤340,在步骤340处,再次将时钟线驱动为低,然后释放时钟线。

执行步骤340和步骤350高达九次,只要尚未从在数据总线上进行传输的一个或多个从设备接收到肯定应答比特。当接收到肯定应答比特时,执行步骤360,在步骤360处,总线主设备立即将停止比特传输至该一个或多个从设备。此时,执行步骤370,在步骤370处,将总线操作返回至正常。

本发明的一些实施例可能并不要求图4中标识的所有步骤。例如,在一些实施例中,用于恢复不稳定总线的稳定性的方法可以包括以下步骤:将总线的时钟线循环多次(步骤320);传输停止比特(步骤330);将总线的时钟线循环至少一次(步骤340);以及在总线主设备已经接收到肯定应答比特之后立即传输停止比特(步骤350)。

图5是根据本发明的实施例的用于恢复不稳定总线的稳定性的逻辑模块。图5的逻辑模块被示作可能为总线主设备10的组成部分,但也可以通过现场可编程门阵列(FPGA)、状态机或者与总线主设备10分离且不同的其他设备来实现。图5的逻辑模块包括:用于检测通信差错的逻辑(410);用于使操作于读取模式的从设备稳定的逻辑(420);以及用于使操作于写入模式的从设备稳定的逻辑(430)。

在本发明的实施例中,用于检测在总线上已出现通信差错的逻辑包括使用集成电路间总线。用于使操作于读取模式的从设备稳定的逻辑(420)包括用于传输之后跟着停止比特的九个时钟周期的逻辑。用于使操作于写入模式的从设备稳定的逻辑模块(430)包括用于暂时将时钟线驱动为低、然后释放时钟线直到已接收到肯定应答比特为止的逻辑。如果尚未接收到肯定应答比特,则以重复的方式,将时钟线驱动为低并释放时钟线,直到已经从该一个或多个从设备接收到肯定应答比特为止。在已经从该一个或多个从设备接收到肯定应答比特的这种时间,将数据总线返回至其正常操作状态。

综上所述,尽管具体参照各个实施例示出并描述了本发明,但是本领域技术人员将理解,在不脱离如以下权利要求中限定的本发明的精神和范围的前提下,可以对本发明作出许多变型。本发明的该描述应当被理解为包括这里描述的元素的新颖且非显而易见的组合,并且,可以在本申请或后续申请中要求保护这些元素的任何新颖且非显而易见的组合。以上实施例是示意性的,以及没有单个特征或元素对可在本申请或后续申请中要求保护的所有可能组合来说是必要的。在权利要求记载了“一”或“第一”元素或其等同物的情况下,这种权利要求应当被理解为包括一个或多个这种元素的合并,既不需要也不排除两个或更多个这种元素。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号