CN107851050A - 高可用性和能量高效的看门狗定时器 - Google Patents

高可用性和能量高效的看门狗定时器 Download PDF

Info

Publication number
CN107851050A
CN107851050A CN201680040258.1A CN201680040258A CN107851050A CN 107851050 A CN107851050 A CN 107851050A CN 201680040258 A CN201680040258 A CN 201680040258A CN 107851050 A CN107851050 A CN 107851050A
Authority
CN
China
Prior art keywords
watchdog timer
processor
house dog
operating system
time
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
CN201680040258.1A
Other languages
English (en)
Other versions
CN107851050B (zh
Inventor
B·王
R·Y·朱
Q·吴
D·张
P·赵
Y·N·金
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.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
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 Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN107851050A publication Critical patent/CN107851050A/zh
Application granted granted Critical
Publication of CN107851050B publication Critical patent/CN107851050B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/0757Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/24Resetting means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0736Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本文描述了用于计算设备的智能看门狗定时器的示例。看门狗定时器操作看门狗计数器,该看门狗计数器从初始值到最终值对看门狗计数区间重复计数。如果设备工作正常,看门狗计数器将被连续重置。如果允许看门狗定时器达到最终计数值,则启动处理器重置。若干组件操作以检测处理器或操作系统的当前操作模式,并且部分基于用户上下文预测何时不同的功率状态可能发生。各组件还预报看门狗定时器何时被调度达到最终计数值。基于对看门狗定时器何时将达到最终计数值的预报以及对处理器或操作系统的未来功率状态的预测,看门狗计数器被选择性地禁用或重置。

Description

高可用性和能量高效的看门狗定时器
背景
也被称为计算机正常工作(COP)定时器的看门狗定时器是用于检测和恢复故障计算设备的计数器。一般来说,看门狗定时器使用从初始值倒数到零或某个结束计数值的计数器。如果看门狗定时器达到结束计数值,则通过发送重置信号重启处理器和其正在运行的嵌入式软件来执行设备重置。当设备正常工作时,软件重置看门狗定时器以延迟系统重置功能。当设备故障时,重置软件永不执行,且看门狗计数器达到最终计数值,从而导致该设备被重置。换句话说,看门狗定时器充当连续运行的计数器,如果允许该计数器倒数到零,则该计数器发出设备或处理器重置。
看门狗定时器通常存在于嵌入式系统和其他计算机控制的装备中,在这些装备中人们无法轻松访问装备,或者不能以及时方式对错误做出反应。这样的系统和计算设备在它们被挂起(hung up)时不能依靠人来重启。所以这些系统必须依靠自己,并且能够在系统锁定发生时快速识别。看门狗定时器为两者提供了一个简单的机制。
重新启动看门狗定时器的动作通常通过写入看门狗控制端口来执行。或者,某些微控制器具有集成的看门狗定时器,通过执行特定的机器语言指令来重置看门狗定时器。这种机器语言指令的一个示例是总部位于美利坚合众国亚利桑那州钱德勒的MicrochipTechnology,Inc.(微芯片技术公司)制造的一些微控制器的指令集中发现的常用的“CLRWDT”(清除看门狗定时器)命令。
概述
本公开的一些示例涉及具有被智能管理的看门狗定时器的计算设备。看门狗定时器被配置为从初始时间到到期时间对看门狗计数区间进行计数。执行操作系统的处理器被编程为检测操作系统的当前操作模式。该处理器还基于该操作模式来确定该操作系统或处理器何时被调度以在不同功耗状态下工作。对于预测操作系统或处理器在低功耗状态下工作时的所调度的时间帧,看门狗定时器和在这种低功耗状态期间在到期时间调度的任何硬件重置都被禁用。
其他示例涉及基于计算设备的不同功率状态的看门狗定时器的选择性操作。计算设备的当前操作模式被检测以确定设备何时在高功耗状态和低功耗状态中工作。确定看门狗定时器的到期时间,并将其与计算设备不同功率状态的时间帧进行比较。在计算设备处于低功耗状态时被调度发生的到期时间被禁用。
提供本概述以便以简化的形式介绍以下在详细描述中进一步描述的一些概念。本概述并非旨在标识出要求保护的主题的关键特征或必要特征,亦非旨在用作辅助确定要求保护的主题的范围。
附图简述
下面参考以下附图详细描述本公开:
图1A是用于管理看门狗定时器的操作环境的框图。
图1B是用于管理看门狗定时器的操作环境的框图。
图1C是用于管理看门狗定时器的操作环境的框图。
图2A是用于管理看门狗定时器的组件的框图。
图2B是被配置为选择性地禁用处理器的两个看门狗定时器配置的时间线图。
图3-6是管理看门狗定时器的各种工作流程的流程图。
在全部附图中,相应的附图标记指示相应的部分。
详细描述
本公开一般性地描述了用于实现功率高效的看门狗定时器的各种示例,该看门狗定时器基于其当前或未来的操作模式主动地预测被监视设备的功率状态。所公开的看门狗定时器基于所预测的在看门狗计数器被设置为到期时的功率状态来或者允许发生设备重置或者禁用重置,该看门狗定时器重复地从初始计数值计数到最终计数值。如果被监视的处理器正常工作,看门狗定时器将计数器重置回初始值。或者,如果处理器或嵌入式系统挂起,则允许计数器达到最终计数值,从而导致处理器被启动。
为了本公开的目的并且为了帮助理解这里讨论的各种示例,“看门狗定时器”包括计数器(“看门狗计数器”)以及用于管理看门狗计数器的可执行指令(“看门狗组件”)。下面将更详细地讨论这两者,但是至少应该注意的是,在此提及看门狗定时器是指看门狗计数器和看门狗组件两者。
而且,看门狗定时器的计数器被称为在“初始值”(指的是开始计数值)开始;对“看门狗计数区间”(指的是计数数字序列)计数;并计数到“最终值”(指的是结束计数值)。例如,初始值可以是256(尽管以二进制、十六进制等存储);最终值可能是0或某个其它数字;且看门狗计数区间则为256,有256个值要数。
另外,为了更好地理解这里的例子,看门狗计数器被称为从“初始时间”的初始值倒数到“到期时间”的最终值。继续以上示例,看门狗定时器的计数器可以被配置为从初始时间的256倒数到到期时间的0,并且这个过程在计数区间的不同周期内一遍又一遍地重复。
如果被监视的处理器一切工作正常,看门狗定时器的计数器将被重置回初始值。然而,如果不是,则计数器最终会达到最终值。在一个示例中,无论是重置还是达到最终值之后,看门狗定时器都在连续循环上操作,从而连续地一次一次从初始值开始反复倒数。或者,计数器可以被配置为仅在来自看门狗定时器的其他组件的指令时才开始计数。在此替代配置中,允许计数器计数到最终值或被重置,且然后在再次从初始值开始计数之前计数器等待来自看门狗定时器的指令。
当计数器达到最终计数值时,看门狗定时器不总是发出处理器重置。在许多情况下,由于受监视的处理器或嵌入式系统由于操作系统、处理器或计算机设备的当前操作模式而处于不活动(例如,睡眠、空闲或“关闭”)状态,所以重置可能不是必需的。例如,如果设备正在播放音频文件,则OS可以被配置为重复处理音频文件达4ms并且然后关闭(例如不活动)达10ms:4ms处理,10ms关闭,4ms处理,10ms关闭,如此等等。至少一个示例基于设备的当前操作模式来预测OS何时将要进入睡眠模式,预报看门狗定时器何时将倒数至其最终值,并且确定看门狗定时器的到期时间被调度在操作系统处于不活动状态时的未来时间发生。如果如此,则看门狗定时器将立即被禁用,或者在操作系统变得不活动之前被禁用。这使得看门狗定时器能够仅在操作系统处于活动状态以及挂起时进行被调度的处理器重置。当操作系统不活动时,重置不是必需的。
此公开描述了处于活动或不活动状态并且分别处于高功耗或低功耗功率状态的操作系统。这些功耗状态是指处理器用来执行操作系统的各种任务的功率量。例如,处理器在上述4ms活动时段期间比在操作系统的10ms不活动时段期间使用更多的功率。因此,操作系统的功率状态决定了处理器的功率状态。为了清楚起见,基于操作系统的活动或不活动来对不同的功率状态做出参考,但是一些示例具体地基于处理器的活动或不活动来应用此处讨论的相同的技术和组件,而不管操作系统的状态。例如,处理器可以采取图形处理单元(GPU)的形式,即使在操作系统在其他功能上努力工作的时候,当渲染程序没有被使用时,该图形处理单元(GPU)几乎不吸收功率。为了本公开和所附权利要求的目的,基于操作系统的功率状态做出决定的组件和决定本身可同样地应用于处理器的功率状态。因此,当提及模式检测、功率状态时间帧的调度以及硬件重置时,“操作系统”和“处理器”在本文中可以互换使用。
当操作系统唤醒时选择性地禁用看门狗定时器只发出重置使该设备可以节省大量的功率,而不妨碍看门狗定时器清除挂起的能力。本文公开的各种示例使用基于硬件的看门狗定时器,看门狗定时器在其操作时消耗功率。因为操作系统睡眠时不需要进行重置,因此在OS睡眠时关闭基于硬件的看门狗定时器大大降低定时器消耗的功率。本文公开的示例还节省了存储器并减少了处理器负载,因为看门狗被周期性地禁用,由此释放了存储器和处理器来执行其他任务。
此外,选择性看门狗定时器确保设备不被不必要地重置,这可能使最终用户非常困扰。例如,连续重新启动的智能电话可能使用户恼火,或者甚至更差,在紧急情况下对用户不可用。实际上在任何其他计算环境中都可能经历设备不必要地重启的同样困扰。
本文描述的示例涉及计算机代码或机器可用指令,包括由计算设备或其他机器(例如智能电话、平板、服务器、游戏控制台、控制系统等)执行的计算机可执行指令,诸如程序组件。一般而言,包括例程、子例程、程序、对象、组件、应用编程接口(API)、数据结构等的程序组件指的是执行特定任务或实现特定抽象数据类型的代码。
在简要描述了不同示例的概述之后,下面描述适用于实现所公开的看门狗定时器的示例性操作环境。参照附图,图1A-1C是根据各种示例的具有看门狗定时器的计算设备102的不同配置的框图,该看门狗定时器选择性地禁用和启用调度的处理器重置。
此处用细节来描述本公开的主题以满足法定要求。然而,描述本身并非旨在限制本专利的范围。相反,发明人已构想所要求保护的主题还可结合其他当前或未来技术以其他方式来实施,以包括不同的步骤或类似于本文中所描述的步骤的步骤组合。此外,尽管术语“步骤”和/或“框”可在此处用于指示所采用的方法的不同元素,但除非而且仅当明确描述了各个步骤的顺序时,术语不应被解释为意味着此处公开的各个步骤之中或之间的任何特定顺序。
在图1A中,计算设备102是用户104可访问的,并表示用于实现选择性看门狗定时器的系统,其包括看门狗组件118和看门狗计数器124。计算设备102包括处理器106、看门狗定时器124和存储器区域108。存储器区域108存储包括操作系统110、应用112、通信接口组件114、用户接口组件116、看门狗组件118、模式检测组件120和调度组件122的指令和设备专用驱动程序。这些指令,当由处理器106处理时,实现与计算设备102相关联的各种操作和功能。
计算设备102可采取移动计算设备或任何其它便携式设备的形式。在一些示例中,计算设备102可以是移动电话、膝上型计算机、图形输入板、计算板、上网本、游戏设备和/或便携式媒体播放器。计算设备102还可包括较不便携的设备,诸如台式个人计算机、自助服务终端、桌面设备、工业控制设备、无线充电站、游戏控制台、服务器、电动汽车充电站、控制系统等。附加地,计算设备102可以表示一组处理器或其它计算设备102。计算设备102只是合适的计算环境的一个示例,并且不旨在对本文公开的示例的使用范围或功能提出任何限制。也不应将计算设备102解释为对所示出的任一组件或其组合有任何依赖性或要求。
处理器106可包括任意数量的处理单元,并被编程为执行用于实现本公开的各方面的计算机可执行指令。指令可由处理器106或由在计算设备内的多个处理器执行,或者由计算设备外部的处理器来执行。在一些示例中,处理器106被编程为执行用于执行图3-5中指定的动作的指令。而且,在一些示例中,处理器106表示执行在此所述的操作的模拟技术的一种实现。例如,所述操作可以由模拟计算设备和/或数字计算设备来执行。
存储器区域108包括任何数量的、与计算设备102相关联或计算设备102可访问的计算机存储介质。存储器区域可以在计算设备的内部(如图1所示)、在计算设备的外部(未示出)、或两者(未示出)。存储在存储器区域108中的存储器的示例包括但不限于随机存取存储器(RAM);只读存储器(ROM);电子可擦除可编程只读存储器(EEPROM);闪存或其他存储器技术;CDROM、数字多功能盘(DVD)或其他光学或全息介质;磁带盒、磁带、磁盘存储器或其他磁存储设备;连线到模拟计算设备的存储器;或用于编码所需信息并由计算设备102访问的任何其他介质。这种存储器可以采取易失性和/或非易失性存储器的形式;可以是可移动的、不可移动的或其组合;并且可以包括各种硬件设备(例如,固态存储器、硬盘驱动器、光盘驱动器等)。然而,为了本公开的目的,“计算机存储介质”不包括载波或传播信令。
存储器区域108可以被配置为存储看门狗计数器124对看门狗计数区间计数的初始时间和到期时间。例如,存储器区域108可以存储在计数开始时的时间戳和计数应该达到最终值的预测的到期时间。或者,存储器区域108可以被配置为存储在对看门狗计数区间计数时看门狗计数器124的数据,该数据指示看门狗计数器124的初始时间或到期时间,但不指示其实际时间本身。这样的数据可以包括用于运行在此讨论的看门狗定时器的初始时间、到期期限、初始值、最终值、当前计数值、预测计数值或任何其他参数。
在一个示例中,存储器区域108存储看门狗计数器124开始计数的初始时间和当前计数值,并且这两者可以用于确定到期时间。在这样的示例中,可以不实际存储到期时间,而是转而可以基于存储的初始时间和当前计数值来计算。
在替代示例中,看门狗计数区间(例如150)、当前计数值(例如75)和最近计数的时间被存储在存储器区域108中。然后可以基于这三者通过估计对看门狗计数区间的其余部分计数所需的时间量来确定到期时间。
当由处理器106执行时,操作系统110控制计算设备102的各个方面。特别针对这里所讨论的示例,操作系统110可以被配置为以各种操作模式工作,诸如举例而言但不限于:音频回放模式、视频回放模式、视频记录模式、视频会议模式、连接待机模式、相机模式、web浏览器模式、打字模式或某个其他模式。操作系统110可以在每个模式的一部分期间是活动的(或“唤醒的”),并且在每个模式的另一部分期间是不活动的(或“睡眠的”)。
当活动时,操作系统110在“高功耗状态”中工作,意味着与在不活动模式中工作的操作系统110相比时,操作系统110需要相对高的功率量来执行一组功能。在一个示例中,相对高指的是大于低功耗状态。在其他示例中,“相对高”意味着大特定因子(例如,两倍、三倍等);特定百分比(例如,10%、15%、30%、50%等);或某一阈值(例如,超过2mW、5W等)。当不活动时,操作系统110以“低功耗状态”工作,意味着操作系统110比在活动模式下操作时消耗更少的功率。因此,与低功耗状态相比,高功耗状态仅为“高”,反之亦然。为了清楚起见,本文讨论了关于仅两种不同功率状态(高功耗状态和低功耗状态)的示例,但是替代操作系统110可以在三种、四种、五种或更多种不同的功率状态中操作。
应用112被存储在存储器区域108中。应用112在被处理器106执行时操作以执行计算设备102上的功能。示例性应用106包括邮件应用程序、web浏览器、日历应用程序、游戏程序、地址簿应用程序、消息收发程序、媒体应用、基于位置的服务、搜索程序等。应用112可与对应的应用或服务通信,诸如可经由网络126访问的web服务。例如,应用112可表示与在云中执行并可通过网络126访问的服务器侧服务相对应的下载的客户端侧应用。
网络126可以包括任何电信或计算机网络。可配置为用作网络126的计算机网络的示例包括但不限于无线网络、陆上线路、电缆线路、光纤线路、局域网(LAN)、广域网(WAN)等。网络还可以包括在服务器或计算设备之间传输数据的子系统。例如,网络126还可以包括点对点连接、因特网、以太网、背板总线、电气总线、神经网络或其他内部系统。
在一些示例中,通信接口组件114包括网络接口卡和/或用于操作提供对网络126的访问的网络接口卡的计算机可执行指令(例如驱动程序)。计算设备102和其它设备之间通过网络126的通信可使用任何协议或机制在任何有线或无线连接上发生。在一些示例中,通信接口可用近程通信技术来操作,诸如通过使用近场通信(NFC)标签、蓝牙品牌通信标签等。网络传输协议的示例包括:例如但不限于,超文本传输协议(HTTP)、文件传输协议(FTP)、简单对象访问协议(SOAP)等。请求和响应可以作为不同的标记语言消息(例如,可扩展标记语言(XML),超文本标记语言(HTML)等)或作为脚本语言的参数来传递。本领域技术人员将领会,不同分布式应用可以使用多种脚本语言,其列表虽然不穷尽,但包括JAVASCRIPT品牌脚本、个人主页(PHP)等。示例不限于任何特定的通信协议、消息语言或脚本语言,如本领域技术人员将领会的,可以使用不同的语言和协议来与分布式应用交互。
在一些示例中,用户界面组件116包括用于将数据显示给用户以及从用户接收数据的图形卡。用户接口组件116还可包括用于操作图形卡的计算机可执行指令(例如驱动程序)。此外,用户接口组件116可包括显示器(例如触摸屏显示器或自然用户界面)和/或用于操作显示器的计算机可执行指令(例如驱动程序)。用户接口组件116还可包括以下各项中的一个或多个来将数据提供给用户或从用户接收数据:扬声器、声卡、相机、话筒、振动马达、一个或多个加速度计、游戏杆、扫描仪、打印机、蓝牙品牌通信模块、全球定位系统(GPS)硬件、以及感光光传感器。例如,用户可通过按特定方式移动计算设备102来输入命令或操纵数据。
存储器区域108还存储一个或多个计算机可执行组件。如图1A-1C的每一者中所示,示例组件包括可由处理器106执行的看门狗组件118、模式检测组件120和调度组件122。这些组件118-122可以仅通过软件、固件或者这两者的组合实现。或者,在一些示例中,这些组件118-122中的任一个可以由在网络126上进行通信的服务器或其他计算设备102来远程执行。然而,为了清楚的目的,本公开集中于正在计算设备102上本地地执行的组件118-122,但是替代示例可以远程执行看门狗组件118、模式检测组件120或调度组件122。
计算设备102的看门狗定时器包括看门狗计数器124和看门狗组件118。在图1A中所解说的示例中,看门狗计数器124使用一个或多个独立的硬件计数器。许多处理器具有其自己的专用硬件计数器,所以一些示例可以使用处理器106上的硬件计数器作为看门狗计数器124,如图1B中所示。另外,其他示例不使用硬件计数器,而是反而用软件实现看门狗计数器124,如图1C中存储在存储器区域108中的看门狗计数器124所示。
看门狗组件118开始和停止看门狗计数器124的计数,并使用输出接口请求选择性地发出处理器106的硬件重置。对处理器106的硬件重置通过看门狗组件118用信号通知输出接口调用的发出来执行。这样的调用导致使得电压信号(例如+5mV)能够被提供给处理器106的重置引脚。
附加地或替代地,看门狗组件118还选择性地重置看门狗计数器124。在一个示例中,看门狗组件118开始看门狗计数器124从初始值到最终值对看门狗计数区间的计数。该计数在初始时间(对于初始值)到到期时间(对于最终值)执行。或者看门狗计数器124被允许达到最终值,从而导致看门狗组件118向处理器106发出硬件重置信号。或者看门狗计数器124在看门狗计数器124达到最终值之前被重置,从而导致看门狗计数器124以初始值再次开始计数。
对于看门狗时间区间的每个周期,看门狗组件118预先执行若干功能;并行地但是在达到某个阈值计数值之前(例如,在计数100、中途、在计数区间的90%)执行若干功能;或在先前的计数器区间周期(例如,前一个周期)期间执行若干功能。对于每个计数周期(例如,从初始值到最终值计数),该周期的当前初始计数时间和看门狗计数器124被预测达到最终值的预报的到期时间两者都被存储在存储器区域108中。这些值可以仅针对当前周期保留,并在处理器106重置、看门狗计数器124重置和/或操作系统110睡眠发生时被丢弃。
模式检测组件122在被执行时使得处理器106检测操作系统110(在一个示例中)、处理器106(在另一示例中)、诸如图形处理的另一处理单元(在另一个示例中)或一般性地计算设备102(在另一个示例中)的当前操作模式。模式检测组件122可以被设置为周期性地检测(例如,每5秒、10秒,4分钟等等)这些设备中的任一个的操作模式。或者,模式检测组件122可以被配置为在特定事件时检测操作模式。这样的事件的示例包括但不限于:在操作系统110进入睡眠或唤醒之前的阈值时间段的到期,处理器106或计算设备102的重置,看门狗计数器124的到期,看门狗定时器124的重置,看门狗计数器124的倒数的启动,操作模式的改变(例如,从视频记录到音频回放)。
操作模式指示用户正在使用计算设备102的上下文。例如,音频回放模式可以指示用户正在收听音频。视频回放模式可以指示用户正在收听视频。视频记录模式可以指示用户正在记录视频。连接的待机模式可以指示用户没有主动使用计算设备102。相机模式可以指示用户正在拍照。Web浏览器模式可以指示用户正在访问互联网。打字模式可以指示用户正在撰写文本消息。其他操作模式可以指示替代的或附加的用户上下文。
替代地或附加地,用户上下文可以基于不同操作模式中的各种操作状态来确定。例如,当操作模式处于音频回放中时,当音频文件正被播放时、被暂停达延长的时间量时、或被停止时,用户上下文可能不同。播放和暂停音频文件可以是活动的用户上下文;并且停止音频文件可能是不活动的用户上下文。启用或禁用看门狗定时器或发出硬件重置的决定可以基于与各种用户上下文相关联的活动等级,或者基于实际用户上下文本身。
调度组件122在被执行时使得处理器106确定由模式检测组件120检测到的当前操作模式何时指示处理器106在不同的功率状态(例如,低功耗状态和高功耗状态)工作。为此,调度组件122访问操作系统110的工作排程(例如,操作系统110何时将是活动的和不活动的)以获得当前操作模式,并预期地确定操作系统110将在其中工作在活动状态和不活动功率状态的未来时间帧。
例如,如果操作模式是音频回放模式,则操作系统110在活动状态中操作4ms、且在不活动状态中操作10ms、在活动状态中操作4ms、在不活动状态中操作10ms,如此等等,直到操作模式改变。如此,操作系统110每4ms被关闭,并且因此在那些不活动时间期间消耗远远更少的功率。调度组件122从在存储器区域108中的存储器访问操作系统110的音频回放工作排程,并且相应地当操作系统110将在高功耗和低功耗的功率状态中运行时预计未来的时间帧。这样的时间帧在图2中解说并在下面进一步讨论。
看门狗组件118分析操作系统110的高功耗和低功耗的预计时间帧,并预测看门狗计数器124的当前计数周期是否被设置为在操作系统110的高功耗或低功耗时间帧期间达到最终值。换句话说,看门狗组件118预报看门狗计数器124的到期时间,并且确定到期时间是否被设置为当操作系统110被预计为处于活动状态或处于不活动状态时发生。如果处于活动的、高功耗功率状态,则在一个示例中,看门狗组件118允许看门狗计数器124正常工作。也就是说,如果看门狗计数器124达到最终值信号,则在一个示例中,启动处理器106的硬件重置。如果在不活动的、低功耗功率状态中,则在一个示例中,看门狗组件118在达到最终值之前主动地禁用处理器106重置。在一个示例中,当操作系统110处于活动的、高功耗状态时处理器106重置的这种禁用发生,以避免稍后将操作系统从不活动的功率状态唤醒的需要。使用这些规程,看门狗组件118在被执行时使得处理器106基于在到期时间处理器106被调度为处于什么功率状态而选择性地禁用看门狗定时器。
替代地或附加地,看门狗组件118可以将禁用看门狗定时器或发出硬件重置的决定基于所确定的用户上下文。一些用户上下文可以规定,在检测到活动用户上下文时在某些低功耗状态期间,看门狗组件118不被禁用。例如,当因为音频回放操作模式已经超时(例如,用户暂停音频文件太长时间)而设备以待机模式操作时,操作系统110可能处于活动功率状态,即使当前操作模式处于待机模式。一个示例配置将活动用户上下文作为活动的、高功耗功率状态对待,并且因此在这些时间期间不禁用看门狗计数器124的禁用或硬件重置。为了清楚起见,本文讨论了将看门狗定时器禁用和硬件重置基于功率状态的示例;然而,活动和不活动的用户上下文可以替代活动和不活动的功率状态,以触发看门狗定时器禁用和硬件重置。
在其它示例中,当在低功耗状态期间或者在先前的硬件重置的特定模式、百分比或阈值已经被禁用时调度某个模式、百分比或者到期时间的阈值时,看门狗定时器可被禁用。例如,一些示例可以优先考虑看门狗定时器的清除挂机而不是省电的能力的有效性。这样的示例可能仅在低功耗状态期间每隔一个时间(例如,50%的时间)禁用看门狗定时器、仅在设定的时间段内禁用看门狗定时器一定次数(例如,一小时、一天、一周等),或者仅在给定时间段内禁用看门狗定时器10、20次等。
在操作系统110不活动时禁用被调度来发生的硬件重置节省了相当多的功耗资源,因为硬件重置需要输出接口调用并向处理器106的重置引脚提供适当的电压信令。因为操作系统110已经在关闭状态下,硬件重置是不必要的,这有效地允许看门狗定时器只在重置重要时间期间才使用。
图2A是看门狗定时器200的不同组件的框图,该看门狗定时器200取决于在看门狗计数器124的到期时间的操作系统110的功率状态选择性地禁用处理器106的重置。如图所示,调度组件122、模式检测组件120和看门狗组件118作为指令存储在存储器区域108中以供处理器106执行。模式检测组件120在被执行时检测操作系统110的当前操作模式。调度组件122在被执行时基于检测的操作模式预报操作系统110何时将处于不同功率状态(例如,高功耗状态和低功耗状态)的时间帧。
在所示示例中,看门狗定时器200包括看门狗组件118、看门狗定时器控制逻辑202和看门狗定时器124。在替代示例中,看门狗定时器200可以只包括看门狗组件118和看门狗计数器124,而不包括看门狗定时器控制逻辑202。
在一个示例中,看门狗组件118在被执行时预测看门狗计数器124的到期时间(例如,计数器何时将达到最终计数值)何时发生。看门狗组件118还确定在操作系统110以低功耗状态工作时看门狗计数器124的是否任何预测的到期时间将发生。例如,继续上面的音频回放示例,看门狗组件118确定在操作系统110的任何即将到来的10ms不活动时间帧期间看门狗计数器124是否将达到最终计数值。
当看门狗组件118预测未来的到期时间将在高功耗的时间帧期间发生时,看门狗组件118允许处理器106重置发生。在一个示例中,处理器106的这种硬件重置可以在看门狗计数器124的到期时间通过看门狗组件118发出硬件重置信号给看门狗定时器控制逻辑202来发生。看门狗定时器控制逻辑202表示一个或多个硬件输出接口或电路,其能够向处理器106上的重置引脚发出重置电压或电流信号。一旦接收到硬件重置信号,看门狗定时器控制逻辑202生成并向处理器106的重置引脚提供重置电压或电流信号。
另外,在一个示例中,看门狗组件118被配置为重置看门狗计数器124。如上所讨论的,在其他示例中,看门狗计数器124在一些示例和软件中以硬件实现。特别地,当以软件实现时,看门狗计数器124可以由看门狗组件118通过软件指令重置,例如将计数器变量重置回初始值。对于基于硬件的计数器,看门狗定时器118引导看门狗定时器控制逻辑202发出硬件看门狗计数器124的重置。
示例不限于只在仅单个操作模式期间检测看门狗计数器124是否将在不活动时间段期间达到最终计数值。在替代示例中,模式检测组件120和调度组件122分别检测操作系统110的即将到来的操作模式(例如,当前处于视频记录模式,但将切换到连接的待机模式),并预测操作系统110在新操作模式中的活动和不活动功率状态的时间帧(例如,连接的待机中的活动和不活动的时间帧)。看门狗组件118然后预测看门狗计数器124的任何到期时间是否被调度为在新模式操作的不活动状态期间发生,并且如果是,则在那些时间期间禁用硬件重置。
而且,在不同示例中,看门狗组件118和看门狗计数器124可以以“轮询”或“中断”配置操作。在轮询配置中,看门狗组件118以比从初始值数到最终值所需的周期在时间上更短的规则区间来重置看门狗计数器124。例如,花费四分钟计数到最终值的计数器区间可具有轮询特征,其中看门狗组件118每两分钟发出一次计数器重置。或者,按照本领域技术人员的说法,看门狗组件118“轻拍”看门狗计数器124。而且,看门狗组件118可以使用由操作系统110管理的软件定时器来跟踪看门狗计数器124重置的规则区间。该轮询配置要求操作系统110为活动的,所以可能耗尽功率资源,且因此可能不适合于所有情况。
中断配置提供了保持重置看门狗计数器124的另一种方式,但是以不消耗像轮询配置那样多功率的方式。在一个示例中,看门狗计数器124在计数区间的周期内周期性地发出对看门狗组件118的请求,该请求导致看门狗组件118(如果操作系统110正在正常工作)以通过看门狗定时器控制逻辑202对看门狗计数器124的计数器重置来回应。如果操作系统110被挂起,则没有响应被发送回看门狗计数器124,使得看门狗计数器124继续计数到最终值,并因此触发处理器106的重置。按照本领域技术人员的说法,看门狗计数器124“吠叫”,使得看门狗组件118可以“轻拍”它。如果不发生轻拍,则看门狗计数器124在最终值“吠叫”以重置处理器106。
在一些示例中,吠叫中断可以由看门狗组件118跟踪,并且吠叫中断的检测模式可以被用于生成或定义到期时间,在到期时间期间内调度在不活动功率状态中发生啃咬。例如,如果两个先前吠叫中断在低功耗状态期间发生,则看门狗组件118可以在下一取消时间之前禁用看门狗定时器。在另一示例中,如果前五个吠叫中断中的三个导致看门狗计数器124的重置,则下一调度的啃咬时间将被确定为在活动功率状态期间在到期时间发生,且因此看门狗组件118将不禁用看门狗定时器。
为了进一步解说本公开的一些示例,图2B提供了两个看门狗定时器的时间线图,一个以轮询配置工作且一个以中断配置工作,以选择性地禁用处理器106。解说了三个时间线:时间线202解说了在轮询配置中工作的看门狗定时器,时间线204解说了在中断配置中操作的看门狗定时器,并且时间线206解说了操作系统110对于给定操作模式操作系统118交替高功耗和相对低功率的时间帧。所有三个时间线均被解说为跨越操作系统时间线206的三个周期(T到3T)。这三个时间线202-206被同步以解说不同看门狗定时器的各个关键点。并且轮询和中断看门狗时间线202和204分别解说看门狗计数器124的各种交互时间。
操作系统时间线206将操作系统110预测处于高功耗状态(260、262、264、266)和低功耗状态(270、272、274)的调度时间划分为不同的时间帧。在一个示例中,这些时间帧由调度组件122基于由模式检测组件检测到的操作模式来确定。在一个示例中,调度组件在这种操作模式期间基于检测到的或调度的操作模式以及操作系统110的对应的工作调度来预测时间帧。同样,如前所提及的,如这里提到的关于操作系统110的工作排程是操作系统110预期在给定操作模式的活动和活动状态下工作的时间的调度的细分。例如,音频回放模式可以规定操作系统110循环地活动达4ms并且不活动达10ms,视频会议模式可以规定操作系统110循环地活动达10ms并且不活动达2ms,如此等等。
轮询看门狗时间线202解说了看门狗定时器124的各种到期时间210、212、214和216。在轮询看门狗时间线202上解说了计数区间的到期时间210、212、214和216。这些到期时间表示如果看门狗计数区间被允许到期,则看门狗定时器124将达到最终计数值的预测时间。当在轮询配置中运行时,设置的区间的示例计数,以及看门狗组件118重置,或拍打,看门狗计数器124的计数器值。如果至到期时间210、212、214和216没有发生重置,则调度硬件重置来重置处理器106。
更进一步,如果处理器106的调度的硬件重置被调度为在操作系统110处于低功耗状态时的时间帧270、272或274期间发生,则一个示例禁用或取消在这些到期时间的处理器的所有硬件重置106。当操作系统从不活动时间帧转换到活动时间帧(即唤醒)时,实模式设备驱动程序(“WatchDog.sys”)通过调用输入/输出中断连接例程(“IoConnectInterruptEx”)连接到中断。指定看门狗中断服务例程(“WDInterruptIsr”)以用于服务硬件重置,并将设备对象被指定为服务上下文。要启动硬件重置,看门狗中断服务例程WDInterruptIsr被以两个参数调用:中断对象和服务上下文。设备对象作为服务上下文被传递,并且提供重置变量(“WdReset”)作为中断对象,从而使得看门狗计数器124重置。
到期时间210、212和216被调度以在低功耗时间帧270272和274期间发生。因此,所解说的示例在这些到期时间期间不发出处理器106的任何硬件重置。例如,当预报操作系统110处于高功耗状态时间框264中时,将到期时间214设置为发生,从而导致在到期时间214处执行处理器106的任何硬件重置。
中断看门狗时间线204示出了看门狗计数器124的调度吠叫功能220、222、224、226、228、230和232以及啃咬功能240、242、244、246、248和250。吠叫功能220、222、224、226、228、230和232涉及中断从看门狗计数器124到看门狗组件118的请求计数器重置的调用。啃咬功能240、242、244、246、248和250表示当看门狗计数器124被调度达到最终值时的到期时间。在一个示例中,看门狗组件预测啃咬功能240、242、244、246、248和250是否被调度在低功耗状态期间发生。如果是,则在那些低功耗状态期间调度的处理器106的硬件重置将被禁用或取消。例如,啃咬功能240、242、244、246、248和250全部被调度为在操作系统110的低功耗状态期间发生。结果,一个示例禁用那些到期时间的任何相应的硬件重置。相反,在高功耗状态期间被调度发生的任何肯定功能的相应硬件重置将被允许进行。
先前讨论的示例涉及当到期时间和啃咬功能(其是中断配置的到期时间)被调度在操作系统110的低功耗状态期间发生时,仅禁用或取消处理器106的硬件重置。另外,一些示例还可以禁用看门狗计数器124达一区间,其中到期时间被设置为在操作系统110的低功耗状态期间发生。在这些示例中,可以在操作系统110处于高功耗状态时,例如处于活动状态时,的期间执行看门狗计数器124的禁用。否则,如果操作系统110需要从不活动的低功耗状态唤醒以取消看门狗计数器124,则功率将被浪费。
图3是根据一个示例的用于管理看门狗定时器的工作流300的流程图。如在框302处所示,看门狗定时器从初始时间的初始值到到期时间的最终值对看门狗计数区间计数。如在框304中所示,检测操作系统或处理器的操作模式。基于检测的操作模式,确定操作系统或处理器何时被调度为处于不同功率状态(例如,高功耗状态和低功耗状态)的时间帧,如在框306处所示。分析预计的看门狗计数器到期时间以确定何时在处理器或操作系统预期处于低功耗状态的时间任何被调度发生,如在框308处所示。当在操作系统或处理器低功耗状态的时间帧期间看门狗计数器到期时,看门狗计数器被禁用,如在框310处所示。处理器的任何调度的硬件重置也被禁用或取消,如在框312处所示。
图4是根据一个示例的用于管理看门狗定时器的工作流400的流程图。如在框402处所示,看门狗定时器从初始时间的初始值到到期时间的最终值对看门狗计数区间计数。如在框404中所示,检测操作系统或处理器的操作模式。基于检测的操作模式,确定操作系统或处理器何时被调度为处于不同功率状态(例如,高功耗状态和低功耗状态)的时间帧,如在框406处所示。分析预计的看门狗计数器到期时间以确定何时在处理器或操作系统预期处于高功耗状态的时间任何被调度发生,如在框408处所示。当在操作系统或处理器高功耗状态的时间帧期间看门狗计数器到期时,看门狗计数器被重置,如在框410处所示。
图5是根据一个示例的用于管理看门狗定时器的工作流500的流程图。如在框502处所示,看门狗定时器从初始时间的初始值到到期时间的最终值对看门狗计数区间计数。如在框504中所示,检测操作系统或处理器的操作模式。基于检测的操作模式,确定操作系统或处理器何时被调度为处于不同功率状态(例如,高功耗状态和低功耗状态)的时间帧,如在框506处所示。另外,确定当看门狗计数器被调度达到看门狗计数器区间的最终值时的到期时间,如在框508处所示。分析预计的看门狗计数器到期时间以确定何时在处理器或操作系统预期处于低功耗状态的时间任何被调度发生,如在决策框510处所示。如果不是,则看门狗定时器被重置,如在框512处所示。如果是,则看门狗计数器被禁用且处理器的任何相应硬件重置被禁用,如在框514处所示。
图6是根据一个示例的用于管理在中断配置中操作的看门狗定时器的工作流600的流程图。如在框602处所示,看门狗定时器从初始时间的初始值到到期时间的最终值对看门狗计数区间计数。当在中断配置中操作时,看门狗定时器周期性地发出请求看门狗计数器被重置的“啃咬”中断,并且“啃咬”中断如果被允许被到达,则触发处理器重置。如在框604处所示,看门狗定时器确定下一吠叫时间。另外,还确定操作系统或处理器的操作模式,如在框606处所示。基于确定的操作模式,看门狗组件118确定操作系统处于高功耗状态的接下来的时间帧,如在框608处所示。将调度的吠叫时间(即,看门狗计数器124被调度达到最终值的时间)与当操作系统被调度为处于低功耗状态中时的接下来的时间帧进行比较,如在框610处所示。
如来自框610的“是”决策路径所示,被调度为在操作系统被设置为在低功耗状态中工作时发生的吠叫时间导致看门狗组件118禁用看门狗定时器,如在框612处所示。操作系统然后被允许进入低功耗状态,如在框614处所示。因此,在一个示例中,当操作系统在高功耗状态中工作时,看门狗定时器被禁用,由此避免当它为不活动时重新唤醒操作系统来执行这种禁用的需要。通过在处理器已经为不活动时消除硬件重置,这节省相当多的功率。
如来自框610的“否”判定路径所示,被调度为在操作系统被设置为在高功耗状态中工作时发生的吠叫时间导致看门狗定时器被允许保持可操作,而看门狗定时器在操作系统进入低功耗状态时不被禁用,如在框614处所示。因此,在一个示例中,当操作系统从高功耗状态切换到低功耗状态时,看门狗定时器保持可操作,因为下一计划的吠叫中断被设置为在操作系统为活动状态时发生。这确保了看门狗定时器仍然可以触发设备重置并清除设备挂起。
其他示例
一个示例涉及一种装置,其具有:看门狗定时器,被配置为从初始时间到到期时间对看门狗计数区间进行计数;存储器区域,被配置为存储指示所述初始时间和所述到期时间的数据;处理单元。所述处理单元被编程为执行操作系统,检测所述操作系统的当前操作模式为在第一时间帧期间在高功耗状态中操作且在第二时间帧期间在低功耗状态操作中操作,确定所述看门狗定时器的所述到期时间被设置为在所述操作系统将在低功耗状态中操作时的第二时间帧期间发生,以及基于所述到期时间被设置为在所述操作系统将在所述低功耗状态中操作时发生禁用所述看门狗定时器。
在另一示例中,所述看门狗定时器包括硬件计数器。
在另一示例中,所述操作系统的看门狗组件被配置为通过禁用所述硬件计数器来禁用所述看门狗定时器。
在另一示例中,所述处理器还被编程为分析先前的吠叫中断以及根据所述先前的吠叫中断在第二到期时间处禁用看门狗定时器。
在另一示例中,所述操作系统的看门狗组件被配置为在所述第二时间帧开始之前禁用所述看门狗定时器。
在另一示例中,所述操作系统被设置为在所述低功耗状态中操作包括操作系统在空闲或关闭状态中操作。
在另一示例中,所述看门狗定时器、所述存储器区域和所述处理器被容纳在包括智能电话、平板、计算机、游戏控制台、以及服务器的组中的至少一个成员中。
在另一示例中,所述处理器被配置为确定所述当前操作模式规定所述操作系统被设置为在第三时间帧期间附加地在高功耗状态中操作,确定所述看门狗定时器的第二到期时间被设置为在所述操作系统将在高功耗状态中操作时的第三时间帧中发生,以及在所述第三时间帧期间在所述第二到期时间重置所述看门狗定时器。
在另一示例中,所述处理单元包括现场可编程门阵列、专用集成电路、片上系统系统、和复杂可编程逻辑器件的组的至少一个成员。
另一示例涉及一种用于操作计算设备的看门狗定时器的方法,所述看门狗定时器从初始时间到到期时间对看门狗计数区间进行计数。所述方法包括:检测所述计算设备的需要处理单元在高功耗状态和低功耗状态中工作的当前操作模式;确定所述看门狗定时器的所述到期时间被设置为在所述处理单元被调度为在低功耗状态下工作时发生;以及当预报所述到期时间为在所述处理单元被调度为在所述低功耗状态下工作时发生时禁用所述看门狗定时器。
在另一示例中,分析先前的吠叫中断,以及根据所分析的吠叫中断在第二到期时间处禁用所述看门狗定时器。
在另一示例中,对所述看门狗定时器的所述禁用在所述处理单元在低功耗状态中工作之前发生。
在另一个示例中,所述方法还包括:确定所述看门狗定时器的第二到期时间被设置为在所述处理单元被调度为在所述高功耗状态下工作时发生;以及当预报所述到期时间为在所述处理单元被调度为在所述低功耗状态下工作时发生时重置所述看门狗定时器。
在另一示例中,所述当前操作模式包括包括音频回放模式、视频回放模式、视频记录模式、视频会议模式、连接的待机模式、相机模式、web浏览器模式以及打字模式的组中的至少一个成员。
在另一示例中,所述计算设备包括包括智能电话、平板、计算机、游戏控制台和服务器的组中的至少一个成员。
另一示例涉及具体化具有至少一个处理器的计算设备上的计算机可执行组件的一个或多个计算机存储介质,所述计算机可执行组件用于管理被配置为从初始值到最终值对看门狗计数区间计数的看门狗定时器。所述组件包括:模式检测组件,所述模式检测组件在被执行时使得所述至少一个处理器检测所述计算设备的当前操作模式;调度组件,所述调度组件在被执行时使得所述至少一个处理器确定所述操作模式何时规定所述至少一个处理器将在不同功率状态中工作以及何时所述看门狗定时器将完成对所述看门狗计数区间的计数;以及看门狗组件,所述看门狗组件在被执行时使得所述至少一个处理器基于在所述看门狗计时器将完成对所述看门狗计数区间的计数完成时所述至少一个处理器被调度为在所述功率状态的哪种功率状态中工作来选择性地禁用或重置所述看门狗计时器。
在一个示例中,所述看门狗组件被配置为:当所述看门狗计数区间被确定为在所述至少一个处理器被调度为在更高功耗状态中工作时到期时,将所述看门狗定时器重置为初始计数值,以及当所述看门狗计数区间被确定为在所述至少一个处理器被调度为在更低功耗状态中工作时到期时,禁用所述看门狗定时器。
尽管已经按照各种示例以及它们相关联的操作描述了本公开的各方面,但是本领域技术人员将理解来自任何数量的不同示例的操作的组合也在本公开的各方面的范围内。
示例性操作环境
示例性计算机可读介质包括闪存驱动器、数字多功能盘(DVD)、紧致盘(CD)、软盘以及磁带盒。作为示例而非限制,计算机可读介质包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其它数据的信息的任何方法或技术实现的易失性与非易失性、可移动与不可移动介质。计算机存储介质是有形的,且与通信介质互斥。计算机存储介质以硬件实现,并排除载波和传播信号。用于本公开的目的的计算机存储介质不是信号本身。示例性计算机存储介质包括硬盘、闪存驱动器和其它固态存储器。作为对比,通信介质通常在诸如载波或其他传输机制等已调制数据信号中体现计算机可读指令、数据结构、程序模块或其他数据,并包括任何信息传递介质。
尽管结合一示例性计算系统环境进行了描述,但本公开的各示例能够用众多其它通用或专用计算系统环境、配置或设备实现。
适用于本公开的各方面的公知的计算系统、环境和/或配置的示例包括,但不限于:移动计算设备、个人计算机、服务器计算机、手持式或膝上型设备、多处理器系统、游戏控制台、基于微处理器的系统、机顶盒、可编程消费电子产品、移动电话、具有可穿戴或配件形状因子(例如,手表、眼镜、头戴式耳机或耳塞)的移动计算和/或通信设备、网络PC、小型计算机、大型计算机、包括上面的系统或设备中的任何一种的分布式计算环境等等。这样的系统或设备可以以任何方式来接受来自用户的输入,包括来自诸如键盘或指点设备之类的输入设备、通过姿势输入、接近输入(诸如通过悬停)和/或通过语音输入。
本公开的各示例可在被软件、固件、硬件或其组合中的一个或多个计算机或其他设备执行的计算机可执行指令(诸如程序模块)的一般上下文中被描述。计算机可执行指令可以被组织成一个或多个计算机可执行的组件或模块。一般而言,程序模块包括但不限于,执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件,以及数据结构。可以利用任何数量的这样的组件或模块以及它们的任何组织来实现本公开的各方面。例如,本公开的各方面不限于附图中所举例说明并且在本文所描述的特定计算机可执行指令或特定组件或模块。本公开的其他示例可以包括具有比本文所示出和描述的功能更多或更少功能的不同的计算机可执行指令或组件。
在涉及通用计算机的示例中,在被配置成执行本文所述的指令之时,本公开的各方面将通用计算机变换成专用计算设备。
作为替代或补充,本文所述的功能可至少部分地由一个或多个硬件逻辑组件来执行。作为示例而非限制,可被使用的硬件逻辑组件的说明性类型包括现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑器件(CPLD)等。
附图中的各种元素的至少一部分功能可由附图中的其他元素或附图中未示出的实体(例如,处理器、web服务、服务器、应用程序、计算设备等)执行。
本文解说并描述的示例以及本文未具体描述但在本公开的各方面的范围内的示例构成了用于操作计算设备的看门狗定时器的示例性装置。例如,图1A、图1B、图1C、图2A和/或图2B中所示的元件,诸如当被编码以执行图3、图4和/或图5中所示的操作时,构成用于检测计算设备的需要处理单元在高功耗状态和低功耗状态中工作的当前操作模式的示例性装置,用于确定看门狗定时器的到期时间被设置为在处理单元被调度为在低功耗状态下工作时发生的示例性装置,以及用于在预报到期时间在处理单元被调度为在低功耗状态下工作时发生时禁用看门狗定时器的示例性装置。
本文所例示并描述的本公开的各示例中的操作的执行或完成的顺序不是必需的,除非另作指定。即,除非另作指定,操作可以以任何顺序执行,本公开的各示例可以包括附加的或比本文所公开的操作更少的操作。例如,构想了在某一个操作之前、同时、或之后执行或完成另一个操作也在本公开的各方面的范围之内。
当介绍本公开的各方面的元素或其示例时,冠词“一”、“一个”、“该”、“所述”旨在意指一个或多个这样的元素。术语“包括”、“包含”、以及“具有”旨在是包含性的,并意指除所列出的元素以外可存在附加的元素。术语“示例性”旨在表示“……的一示例”。短语“以下各项中的一个或多个:A、B和C”意指“A中的至少一个和/或B中的至少一个和/或C中的至少一个”。
已经详细地描述了本公开的各方面,显然,在不偏离所附权利要求书所定义的本公开的各方面的范围的情况下,可以进行各种修改和变化。在不偏离本公开的各方面的范围的情况下,可以在上面的构造、产品以及方法中作出各种更改,意图是上面的描述中所包含的以及各附图中所示出的所有主题都应该解释为说明性的,而不是限制性的。
尽管用结构特征和/或动作专用的语言描述了本主题,但可以理解,所附权利要求书中定义的主题不必限于上述具体特征或动作。相反,上述特定特征和动作是作为实现权利要求书的示例而公开的,并且其他等价特征和动作旨在处于权利要求书的范围内。

Claims (15)

1.一种装置,包括:
看门狗定时器,被配置为从初始时间到到期时间对看门狗计数区间进行计数;
存储器区域,被配置为存储指示所述初始时间和所述到期时间的数据;
处理器,被编程为:
执行操作系统,
检测所述操作系统的当前操作模式为在第一时间帧期间在高功耗状态中操作且在第二时间帧期间在低功耗状态操作中操作,
确定所述看门狗定时器的所述到期时间被设置为在所述操作系统将在低功耗状态中操作时的第二时间帧期间发生,以及
基于所述到期时间被设置为在所述操作系统将在所述低功耗状态中操作时发生禁用所述看门狗定时器。
2.如权利要求1所述的装置,其特征在于,所述看门狗定时器包括硬件计数器。
3.如权利要求1所述的装置,其特征在于,所述处理器还被编程为:
分析先前的吠叫中断;以及
根据所述先前的吠叫中断在第二到期时间处禁用看门狗定时器。
4.如权利要求1至3中任一项所述的装置,其特征在于,所述操作系统的看门狗组件被配置为在所述第二时间帧开始之前禁用所述看门狗定时器。
5.如权利要求1至4中任一项所述的装置,其特征在于,所述操作系统被设置为在所述低功耗状态中操作包括操作系统在空闲或关闭状态中操作。
6.如权利要求1至5中任一项所述的装置,其特征在于,所述看门狗定时器、所述存储器区域和所述处理器被容纳在包括智能电话、平板、计算机、游戏控制台、以及服务器的组中的至少一个成员中。
7.如权利要求1至6中任一项所述的装置,其特征在于,所述处理器被配置为:
确定所述当前操作模式规定所述操作系统被设置为在第三时间帧期间附加地在高功耗状态中操作,
确定所述看门狗定时器的第二到期时间被设置为在所述操作系统将在高功耗状态中操作时的第三时间帧中发生,以及
在所述第三时间帧期间在所述第二到期时间重置所述看门狗定时器。
8.如权利要求1至7中的任一项所述的装置,其特征在于,所述处理器包括包括现场可编程门阵列、专用集成电路、片上系统系统、和复杂可编程逻辑器件的组的至少一个成员。
9.一种用于操作计算设备的看门狗定时器的方法,所述看门狗定时器从初始时间到到期时间对看门狗计数区间进行计数,所述方法包括:
检测所述计算设备的需要处理器在高功耗状态和低功耗状态中工作的当前操作模式;
确定所述看门狗定时器的所述到期时间被设置为在所述处理器被调度为在低功耗状态下工作时发生;以及
当预报所述到期时间为在所述处理器被调度为在所述低功耗状态下工作时发生时禁用所述看门狗定时器。
10.如权利要求9所述的方法,其特征在于,所述看门狗定时器包括硬件计数器。
11.如权利要求9至10中任一项所述的方法,其特征在于,进一步包括:
分析先前的吠叫中断;以及
根据所述先前的吠叫中断在第二到期时间处禁用所述看门狗定时器。
12.如权利要求9至11中任一项所述的方法,其特征在于,对所述看门狗定时器的所述禁用在所述处理器在低功耗状态中工作之前发生。
13.如权利要求9所述的方法,其特征在于,进一步包括:
确定所述看门狗定时器的第二到期时间被设置为在所述处理器被调度为在所述高功耗状态下工作时发生;以及
当预报所述到期时间为在所述处理器被调度为在所述低功耗状态下工作时发生时重置所述看门狗定时器。
14.如权利要求9至13中的任一项所述的方法,其特征在于,所述当前操作模式包括包括音频回放模式、视频回放模式、视频记录模式、视频会议模式、连接的待机模式、相机模式、web浏览器模式以及打字模式的组中的至少一个成员。
15.如权利要求9至14中的任一项所述的方法,其特征在于,所述计算设备包括包括智能电话、平板、计算机、游戏控制台和服务器的组中的至少一个成员。
CN201680040258.1A 2015-07-08 2016-06-23 具有看门狗定时器的装置及用于操作看门狗定时器的方法 Active CN107851050B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/794,778 2015-07-08
US14/794,778 US9880894B2 (en) 2015-07-08 2015-07-08 High availability and energy-efficient watchdog timer
PCT/US2016/038866 WO2017007605A1 (en) 2015-07-08 2016-06-23 High availability and energy-efficient watchdog timer

Publications (2)

Publication Number Publication Date
CN107851050A true CN107851050A (zh) 2018-03-27
CN107851050B CN107851050B (zh) 2021-04-09

Family

ID=56297141

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680040258.1A Active CN107851050B (zh) 2015-07-08 2016-06-23 具有看门狗定时器的装置及用于操作看门狗定时器的方法

Country Status (4)

Country Link
US (1) US9880894B2 (zh)
EP (1) EP3320438B1 (zh)
CN (1) CN107851050B (zh)
WO (1) WO2017007605A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112204554A (zh) * 2018-05-31 2021-01-08 微软技术许可有限责任公司 看门狗定时器层次结构
CN113711209A (zh) * 2019-04-25 2021-11-26 日立安斯泰莫株式会社 电子控制装置
CN113778724A (zh) * 2021-05-17 2021-12-10 北京科益虹源光电技术有限公司 一种看门狗的屏蔽方法及装置

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016144369A1 (en) * 2015-03-12 2016-09-15 Hewlett Packard Enterprise Development Lp Computing device location
US10127095B2 (en) * 2015-11-04 2018-11-13 Quanta Computer Inc. Seamless automatic recovery of a switch device
US10296434B2 (en) * 2017-01-17 2019-05-21 Quanta Computer Inc. Bus hang detection and find out
TWI649965B (zh) * 2017-06-16 2019-02-01 立積電子股份有限公司 可控制重置操作之控制電路
EP3633512A1 (en) * 2018-10-04 2020-04-08 Vestel Elektronik Sanayi ve Ticaret A.S. Electronic device, tv set and method
US11287986B2 (en) * 2018-12-31 2022-03-29 Micron Technology, Inc. Reset interception to avoid data loss in storage device resets
CN111782429B (zh) * 2020-06-12 2023-08-29 上海橙群微电子有限公司 看门狗计时器及其控制方法和电子设备
CN114996061A (zh) * 2022-05-10 2022-09-02 厦门荣汇源科技有限公司 处理器及其自检方法、系统、存储器及智能点灯单元

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5404356A (en) * 1990-10-23 1995-04-04 Mitsubishi Denki Kabushiki Kaisha Microcomputer with watchdog timer and I/O port control
JP2001184234A (ja) * 1999-12-24 2001-07-06 Mitsubishi Electric Corp ウォッチドッグタイマ
CN101216798A (zh) * 2008-01-14 2008-07-09 浙江大学 一种基于看门狗和定时器的周期任务可靠性的监控方法
CN102567129A (zh) * 2011-12-30 2012-07-11 深圳市大富科技股份有限公司 一种看门狗的启动方法及装置
CN104503860A (zh) * 2014-12-31 2015-04-08 深圳市航盛电子股份有限公司 一种嵌入式设备低功耗看门狗使用方法

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5175845A (en) * 1988-12-09 1992-12-29 Dallas Semiconductor Corp. Integrated circuit with watchdog timer and sleep control logic which places IC and watchdog timer into sleep mode
US5446904A (en) * 1991-05-17 1995-08-29 Zenith Data Systems Corporation Suspend/resume capability for a protected mode microprocessor
US5513319A (en) 1993-07-02 1996-04-30 Dell Usa, L.P. Watchdog timer for computer system reset
US6393589B1 (en) 1998-09-16 2002-05-21 Microchip Technology Incorporated Watchdog timer control circuit with permanent and programmable enablement
US6505298B1 (en) 1999-10-25 2003-01-07 International Business Machines Corporation System using an OS inaccessible interrupt handler to reset the OS when a device driver failed to set a register bit indicating OS hang condition
US7340596B1 (en) * 2000-06-12 2008-03-04 Altera Corporation Embedded processor with watchdog timer for programmable logic
US6971036B2 (en) * 2001-04-19 2005-11-29 Onwafer Technologies Methods and apparatus for low power delay control
JP4082067B2 (ja) 2002-04-10 2008-04-30 日産自動車株式会社 ウォッチドック監視装置
US7689875B2 (en) * 2002-04-25 2010-03-30 Microsoft Corporation Watchdog timer using a high precision event timer
US7080267B2 (en) * 2002-08-01 2006-07-18 Texas Instruments Incorporated Methodology for managing power consumption in an application
CN101510165B (zh) 2009-02-25 2010-10-27 华为技术有限公司 看门狗电路的喂狗方法、装置和单板
US20100332902A1 (en) 2009-06-30 2010-12-30 Rajesh Banginwar Power efficient watchdog service
US8375258B1 (en) * 2009-08-26 2013-02-12 Cypress Semiconductor Corporation Watchdog timer with mode dependent time out
US8645729B2 (en) * 2010-01-21 2014-02-04 Microchip Technology Incorporated External device power control during low power sleep mode without central processing unit intervention

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5404356A (en) * 1990-10-23 1995-04-04 Mitsubishi Denki Kabushiki Kaisha Microcomputer with watchdog timer and I/O port control
JP2001184234A (ja) * 1999-12-24 2001-07-06 Mitsubishi Electric Corp ウォッチドッグタイマ
CN101216798A (zh) * 2008-01-14 2008-07-09 浙江大学 一种基于看门狗和定时器的周期任务可靠性的监控方法
CN102567129A (zh) * 2011-12-30 2012-07-11 深圳市大富科技股份有限公司 一种看门狗的启动方法及装置
CN104503860A (zh) * 2014-12-31 2015-04-08 深圳市航盛电子股份有限公司 一种嵌入式设备低功耗看门狗使用方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112204554A (zh) * 2018-05-31 2021-01-08 微软技术许可有限责任公司 看门狗定时器层次结构
CN113711209A (zh) * 2019-04-25 2021-11-26 日立安斯泰莫株式会社 电子控制装置
CN113778724A (zh) * 2021-05-17 2021-12-10 北京科益虹源光电技术有限公司 一种看门狗的屏蔽方法及装置
CN113778724B (zh) * 2021-05-17 2024-03-22 北京科益虹源光电技术有限公司 一种看门狗的屏蔽方法及装置

Also Published As

Publication number Publication date
EP3320438B1 (en) 2019-12-18
US9880894B2 (en) 2018-01-30
WO2017007605A1 (en) 2017-01-12
CN107851050B (zh) 2021-04-09
US20170010933A1 (en) 2017-01-12
EP3320438A1 (en) 2018-05-16

Similar Documents

Publication Publication Date Title
CN107851050A (zh) 高可用性和能量高效的看门狗定时器
CN102866903B (zh) 将后台工作和前台工作解耦合
US9268384B2 (en) Conserving power using predictive modelling and signaling
CN102789305B (zh) 推迟挂起
KR101882469B1 (ko) 피어 이벤트 데이터에 기초한 모바일 디바이스의 동적 조정
CN105431822B (zh) 应用的预测预启动
AU2012333039B2 (en) Server-side rate-limiting algorithms for piggybacking social updates for mobile devices
US20120256751A1 (en) Talking Power Management Utility
CN104718534A (zh) 用于占先重启多子系统移动通信设备中的软件以提高平均故障间隔时间的方法
US10097019B2 (en) Alternate alarm notifications based on battery condition
EP3128789B1 (en) Method, device and mobile terminal for reducing power consumption
US20140378081A1 (en) Wireless communication system with enhanced power management
CN105308566B (zh) 请求式可扩展定时器轮
US20220294027A1 (en) Battery management system for monitoring a battery status
CN110032321A (zh) 应用程序处理方法和装置、电子设备、计算机可读存储介质
CN108595481A (zh) 一种通知消息显示方法及终端设备
CN111290565A (zh) Doze模式的控制方法、装置、终端及存储介质
CN105404558B (zh) 多系统中事件处理的方法及装置
CN109992309A (zh) 应用程序处理方法和装置、电子设备、计算机可读存储介质
CN110794759B (zh) 一种plc任务调度方法和装置
CN103257894B (zh) 一种管理程序的方法及电子终端
CN109992363A (zh) 应用程序处理方法和装置、电子设备、计算机可读存储介质
CN109992369A (zh) 应用程序处理方法和装置、电子设备、计算机可读存储介质
CN106407098B (zh) 一种应用程序状态监测方法及装置
CN109992362A (zh) 应用程序处理方法和装置、电子设备、计算机可读存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant