This application is related to the following applications, both filed on May 5, 2005 and both hereby incorporated by reference in their entirety: “SYSTEM AND METHOD FOR PROVIDING TACHYARRHYTHMIA THERAPY BY IMPLANTABLE DEVICE IN PRESENCE OF SYSTEM FAULTS”, Ser. No. 11/122,970, now issued as U.S. Pat. No. 7,373,200, and “SYSTEM AND METHOD FOR PROVIDING BRADYCARDIA THERAPY BY IMPLANTABLE DEVICE IN PRESENCE OF SYSTEM FAULTS”, Ser. No. 11/122,982, now issued as U.S. Pat. No. 7,363,080.
This invention pertains to systems and methods for operating implantable medical devices.
Cardiac rhythm management devices (CRMDs) are implantable devices that provide electrical stimulation to selected chambers of the heart in order to treat disorders of cardiac rhythm. A pacemaker, for example, is a cardiac rhythm management device that paces the heart with timed pacing pulses. The most common condition for which pacemakers are used is in the treatment of bradycardia, where the ventricular rate is too slow. Atrio-ventricular conduction defects (i.e., AV block) that are permanent or intermittent and sick sinus syndrome represent the most common causes of bradycardia for which permanent pacing may be indicated. If functioning properly, the pacemaker makes up for the heart's inability to pace itself at an appropriate rhythm in order to meet metabolic demand by enforcing a minimum heart rate and/or artificially restoring AV conduction. Pacing therapy may also be delivered for the purpose of restoring synchronous ventricular contractions in patients with inter-ventricular or intra-ventricular conduction disorders, termed cardiac resynchronization therapy. Other cardiac rhythm management devices are designed to detect atrial and/or ventricular tachyarrhythmias and deliver electrical stimulation in order to terminate the tachyarrhythmia in the form of a cardioversion/defibrillation shock or anti-tachycardia pacing. Certain combination devices may incorporate any or all of the above functionalities.
CRMD's are complex electronic devices which are subject to failures of various kinds after implantation. It is desirable for such devices to be able to detect when these failures occur and then take action which minimizes harm to the patient.
A system and method is disclosed for system fault recovery by an implantable medical device which employs a global fault response. The system enables the device to consistently recover from transient faults while maintaining a history of the reason for the device fault. Upon detection of a fault, the primary controller of the device signals a reset controller which then issues a reset command. All sub-systems of the primary device controller are then reset together rather than resetting individual sub-systems independently to ensure deterministic behavior.
Implantable cardiac rhythm management devices are usually microprocessor-based devices whose normal operation can be disrupted by fault events, either arising from a hardware failure or a software problem. The disruption in normal operation, if left unchecked, could cause the device to behave in way which is unsafe for the patient. It is common for CRMD's to incorporate fault detection circuitry which, upon detecting a fault, causes the device to enter a state which is expected to be safe for the patient. For example, a watchdog timer is a hardware timer which runs continuously and is reset periodically by the main control software of the CRMD during normal operation. If a fault disrupts normal operation of the main control software (e.g., a software crash), however, the watchdog timer is allowed to time out and generate a reset signal which re-initializes the system or causes the device to revert to specified operating state. Reset and recovery mechanisms in low-power medical devices historically have been ad hoc designs, attempting to provide limited recovery mechanisms in response to specific fault conditions. These mechanisms can be complex to get to work correctly, and do not effectively respond to unanticipated fault conditions.
In contradistinction to previous systems which employ ad hoc fault recovery mechanisms, the system and method described herein employs a global fault response which enables a CRMD to consistently recover from transient faults while maintaining a history of the reason for the device fault. System resets are generated within the device by either software or hardware as the global fault response. Upon detection of a fault, the primary controller signals the reset controller which then issues a reset command. All sub-systems of the primary device controller are then reset together rather than resetting individual sub-systems independently to ensure deterministic behavior. In an exemplary embodiment, described in greater detail below, a primary device controller providing full-capability diagnostics and therapy in the device is interfaced to a reset controller which manages the reset process. A fail-safe sub-system, referred to below as a safety core, is an optional secondary system that can provide limited therapy as backup while the reset process proceeds. Prior to issuing the reset command, the reset controller causes primary device operation to halt, enables a back-up therapy subsystem, causes the primary controller to log the failure condition prior to initiation of the reset process. However, if the fault interferes with the ability of the device to perform logging, the reset process will occur unconditionally. The activation of the back-up therapy subsystem also occurs unconditionally, independent of the success or failure of the logging process. During the reset process, the primary therapy system executes a complete self-test and re-initialization, to ensure that the primary system is functioning correctly, before returning control to that component. If the self-test fails, the device remains on the back-up therapy subsystem.
1. Exemplary Implantable Device Description
Implantable cardiac rhythm management devices such as pacemakers and cardioverter/defibrillators are battery-powered devices which are usually implanted subcutaneously on the patient's chest and connected to electrodes by leads threaded through the vessels of the upper venous system into the heart.
The components of electronic circuitry 135 are illustrated in
The primary controller 200 controls the overall operation of the device in accordance with programmed instructions stored in memory, including controlling the delivery of paces via the pacing channels, interpreting sense signals received from the sensing channels, and implementing timers for defining escape intervals and sensory refractory periods. The pulse generator circuit of each pacing channel is interfaced to the controller 200 so that the output of pacing pulses is under program control. The sensing circuit of each sensing channel is interfaced to the controller and includes a sense amplifier connected to an electrode and a threshold comparator. In
The primary controller 200 constitutes the primary control system of the device for providing diagnostics and therapy. Also provided as part of the electronic circuitry 135 are components for enabling fault detection and recovery. A fault monitoring circuit 270 detects various kinds of faults and may include, for example, a watchdog timer, a clock deviation monitor, and circuitry for detecting memory errors. The primary controller 200 may also detect faults related to either the hardware or program execution. When a fault is detected by either the primary controller or the fault monitoring circuit, an input signifying the fault event is provided to reset controller 275. The reset controller manages the reset process in response to the fault and enables operation of safety core 150. The safety core 150 is a hardware-based fail-safe sub-system for controlling the operation of the device in delivering certain types of therapies when the primary controller is halted due to a system fault. For example, the safety core 150 may provide basic pacing therapy, tachyarrhythmia detection, and shock delivery using hardware-based logic which operates independently from the primary controller.
2. System Reset Process
The reset sequence, as illustrated by
The operation of the reset controller may be optionally modified to provide improved tolerance to system faults by incorporating a system-reset monitor which detects system resets caused by non-recoverable and persistent faults. The system-reset monitor provides a mechanism to bound repeated system resets that may occur as a result of faults that are not corrected by system resets and helps to prevent denial of therapy due to non-recoverable and persistent faults. As described above, either software or hardware within the device may generate internal resets which are used to reset the system in an attempt to recover from a transient fault. Telemetry from external equipment may generate resets, referred to as external resets. In this embodiment, a reset count maintained by the system-reset monitor is incremented when an internal reset occurs and is cleared by an external reset. The reset count is decremented by one count every 48 hours (or other specified time period), where the 48 hour time period starts from the first reset and stops when the reset count is zero. Since many system tests are executed daily, this allows faults that occur daily to eventually trip the monitor. The 48 hour time period also provides some margin for delay of daily tests. A non-recoverable or persistent fault is detected when a specified number of (e.g., three) internal resets occur within a 48-hour period. When a non-recoverable or persistent fault is detected, the system-reset monitor inhibits further attempts to restart the primary system and allows the fail-safe backup system to maintain therapy indefinitely without interruption. The system-reset monitor logs the three most recent resets in a FIFO buffer. As the reset count is decremented, the oldest logged event is deleted, and external resets clear the entire buffer. The logged resets may be interrogated with telemetry. The system-reset monitor is disabled once it has tripped to prevent subsequent internal resets from overwriting data and is re-enabled with an external reset.
3. Thread Monitor
In a further enhancement, the fault recovery system includes a thread monitor for monitoring program behavior in the primary controller. Such a thread monitor may be used in any implantable medical device that utilizes computer software employing separate thread execution techniques. The function of this monitor is to detect extended thread execution time and thread sequence anomalies, where a thread is defined as one of several paths of execution inside a single process or context. A thread is generally started in response to an event and terminated when the process needs to wait for another event. Threads may execute in either the background or the foreground and may be interrupted.
Current watchdog timers are general purpose systems that are set to a sufficiently long interval to inhibit false detections for the longest running threads. The proposed system bounds the allowable maximum execution time for every thread. Such bounding reduces the exposure time of the system to errant operation. Errant processor behavior can also manifest itself in violations of program execution by failing to abide by established constraints on thread timing and contiguous thread execution (known as cross-thread execution). Current devices do not provide detection capabilities for cross-thread operation. The thread monitor as described herein will detect cross-thread operation resulting from single-event upsets, process faults, firmware design errors, and other causal events resulting in erroneous program execution.
The operation of the thread monitor 600 is illustrated in
Although the invention has been described in conjunction with the foregoing specific embodiment, many alternatives, variations, and modifications will be apparent to those of ordinary skill in the art. Such alternatives, variations, and modifications are intended to fall within the scope of the following appended claims.
This application is a continuation of U.S. application Ser. No. 11/123,246, filed May 5, 2005, now issued as U.S. Pat. No. 7,483,744, which is hereby incorporated by reference in its entirety.
Number | Name | Date | Kind |
---|---|---|---|
4164946 | Langer | Aug 1979 | A |
5074301 | Gill | Dec 1991 | A |
5571141 | McNeil et al. | Nov 1996 | A |
5653735 | Chen et al. | Aug 1997 | A |
5735882 | Rottenberg et al. | Apr 1998 | A |
6128528 | Erickson et al. | Oct 2000 | A |
6128530 | Galen et al. | Oct 2000 | A |
6198968 | Prutchi et al. | Mar 2001 | B1 |
6456875 | Wilkinson et al. | Sep 2002 | B1 |
6532389 | Shahandeh | Mar 2003 | B1 |
6584355 | Stessman | Jun 2003 | B2 |
6635048 | Ullestad et al. | Oct 2003 | B1 |
7363080 | Stubbs et al. | Apr 2008 | B2 |
7373200 | Stubbs et al. | May 2008 | B2 |
7383087 | Hoyme et al. | Jun 2008 | B2 |
7483744 | Stubbs et al. | Jan 2009 | B2 |
20020032470 | Linberg | Mar 2002 | A1 |
20030036776 | Foster et al. | Feb 2003 | A1 |
20030135244 | Esler | Jul 2003 | A1 |
20030176894 | Stahmann et al. | Sep 2003 | A1 |
20040138724 | Sieracki et al. | Jul 2004 | A1 |
20050216063 | Hoyme et al. | Sep 2005 | A1 |
20060253009 | Stubbs et al. | Nov 2006 | A1 |
20060253158 | Stubbs et al. | Nov 2006 | A1 |
20060253163 | Stubbs et al. | Nov 2006 | A1 |
20080103542 | Hoyme et al. | May 2008 | A1 |
Number | Date | Country |
---|---|---|
0753327 | Jan 1997 | EP |
WO-2006121898 | Nov 2006 | WO |
Number | Date | Country | |
---|---|---|---|
20090132061 A1 | May 2009 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 11123246 | May 2005 | US |
Child | 12359757 | US |