A microcontroller integrated circuit with a clock controller and a processor automatically switches the source of the clock signal that clocks the processor from a failed fast external precision oscillator to a slow internal backup oscillator, then enables a fast internal precision oscillator, and finally switches to the fast internal precision oscillator. A failure detection circuit within the clock controller detects a failure of the external precision oscillator and sends an associated interrupt signal to the processor. The clock controller decouples the external oscillator from the processor and couples the backup oscillator to the processor. The microcontroller integrated circuit then enables the fast internal precision oscillator, decouples the backup oscillator, and couples the fast internal precision oscillator to the processor. The microcontroller integrated circuit conserves power by powering up the fast internal precision oscillator only after the external clock source has failed and by then disabling the failure detection circuit.
|
1. A method comprising:
(a) detecting whether a first clock signal is inadequate, wherein the first clock signal is generated by a first clock circuit;
(b) decoupling the first clock circuit from a system clock input lead of a processor after the detecting in (a), wherein the decoupling is not performed as a result of a signal from the processor;
(c) coupling a second clock circuit to the system clock input lead of the processor after the decoupling in (b);
(d) enabling a third clock circuit after the coupling in (c);
(e) decoupling the second clock circuit from the system clock input lead of the processor after the enabling in (d); and
(f) coupling the third clock circuit to the system clock input lead of the processor after the decoupling in (e).
11. An integrated circuit, comprising:
(a) a processor with a system clock input lead;
(b) a terminal, the terminal coupled to a first clock circuit, the first clock circuit generating a first clock signal;
(c) a second clock circuit;
(d) a third clock circuit; and
(e) a clock controller coupled to the system clock input lead, wherein the clock controller is adapted to decouple the system clock input lead from the terminal and to couple the system clock input lead to the second clock circuit upon detecting that the first clock signal has failed, and wherein the clock controller is further adapted to turn on the third clock circuit upon detecting that the first clock signal has failed and wherein the clock controller decouples the system clock input lead from the second clock circuit and couples the system clock input lead to the third clock circuit.
18. A microcontroller integrated circuit operable with an external first clock circuit, the microcontroller integrated circuit comprising:
(a) a processor having a system clock input lead;
(b) a terminal for receiving a first clock signal generated by the external first clock circuit;
(c) a second clock circuit;
(d) means for detecting whether the first clock signal is inadequate and, upon detecting that the first clock signal is inadequate, for decoupling the terminal from the system clock input lead and coupling the second clock circuit to the system clock input lead, wherein the means decouples the terminal from the system clock input lead and couples the second clock circuit to the system clock input lead without receiving any signal from the processor; and
(e) a third clock circuit, wherein the means turns on the third clock circuit upon detecting that the first clock signal is inadequate and wherein the means couples the system clock input lead to ground after decoupling the terminal from the system clock input lead and before coupling the second clock circuit to the system clock input lead.
2. The method of
3. The method of
4. The method of
5. The method of
6. The method of
7. The method of
(g) sending an interrupt signal to the processor indicating that the first clock circuit has failed.
8. The method of
(g) disabling a failure detection circuit that performed the detecting in (a).
9. The method of
(g) detecting whether a second clock signal is inadequate, wherein the second clock signal is generated by the third clock circuit.
10. The method of
12. The integrated circuit of
13. The integrated circuit of
14. The integrated circuit of
15. The integrated circuit of
16. The integrated circuit of
17. The integrated circuit of
19. The microcontroller integrated circuit of
21. The method of
|
The present invention relates generally to circuits for switching clock sources and, more specifically, to a circuit for automatically switching from a failed clock source to a new clock source.
Microcontrollers see use in many instrumentation and control applications. In some applications, the microcontroller integrated circuits must be capable of both failsafe operation as well as low power operation. An example of an application involving failsafe and low power operation is a battery-powered detecting circuit for poison gas, such as carbon monoxide. Other examples of failsafe, low power applications include battery-powered medical devices that are implanted into the human body. Failsafe operation of such microcontroller integrated circuits allows the microcontroller to continue to execute instructions even after the failure of an external oscillator that supplies a clock signal to the microcontroller. If such a failure occurs, then a second clock signal is supplied to the microcontroller so that the microcontroller can continue to operate.
Circuits for automatically detecting a failure of a clock source and for switching a system clock from the failed clock source to a second clock source are known. See, for example, U.S. Pat. No. 6,341,355. If a failsafe device incorporating a microcontroller were to be provided with such an automatic clock switchover circuit, then the failsafe device would include two sources of clock signals. When a clock signal provided from one source fails, then the automatic clock switchover circuit would supply the microcontroller with a clock signal from the second clock source. Presumably both clock sources would be running at the same time so that when one of the clock sources would fail, the other clock source would be able to provide the clock signal needed to clock the microcontroller. Although failsafe operation is achieved, the power consumption of the overall device would likely be high because the overall device would include two clock sources that are consuming power.
In low power microcontroller applications, the power consumed by the oscillator that supplies the microcontroller with its clock signal may be a significant proportion of the total power consumed by the overall device. Battery lifetime may therefore be substantially adversely affected by the need to provide power to two clock sources. A solution is desired whereby failsafe operation can be provided, while at the same time reducing power consumption relative to conventional automatic clock switchover circuits.
A failsafe and low-power microcontroller integrated circuit includes a processor, an internal low-power clock source, an internal higher precision and relatively high-speed clock source, and a clock controller. The processor within the microcontroller integrated circuit is initially clocked by a primary clock signal received from an external high-speed precision oscillator. The external high-speed precision oscillator may, for example, be an external crystal oscillator. Due to the high-speed operation of the external oscillator and due to its large physical size, the external oscillator exhibits a relatively high power consumption in comparison to the internal low-power clock source.
The internal low-power clock source may, for example, be an internal watchdog timer oscillator that oscillates at a frequency significantly lower than the frequency of the external oscillator. The internal low-power clock source may, for example, be an RC oscillator that outputs a clock signal whose frequency is less stable over temperature and voltage than is the primary clock signal supplied by the external oscillator.
Initially, the internal low-power clock source is enabled and generates a low-speed clock signal, whereas the internal higher precision clock source is disabled. The clock controller monitors the primary clock signal received from the external high-speed precision oscillator.
If the clock controller detects that the primary clock signal is inadequate, then the clock controller automatically switches the source of the clock signal that clocks the processor by decoupling the external high-speed oscillator from the clock input lead of the processor and by later coupling the internal low-power clock source to the clock input lead of the processor. The clock controller uses the clock signal output by the internal low-power clock source to perform this switching of clock signals.
In addition to switching the source of the clock signal supplied to the processor, the clock controller also generates and sends an interrupt signal to the processor. The processor, which is now being clocked by the internal low-power clock source, slowly executes instructions and services the interrupt by jumping to an associated interrupt service routine. Execution of an instruction in the interrupt service routine causes a write to the clock controller, which in turn causes the clock controller to enable (for example, to power up) the internal higher precision and high-speed clock source.
Once the internal higher precision clock source is powered up and is generating a high-speed precision clock signal, then the clock controller switches the source of the clock signal that clocks the processor from the internal low-power oscillator to the internal higher precision oscillator. In one embodiment, the internal higher precision oscillator is coupled to an external component (for example, a crystal) disposed outside the microcontroller integrated circuit.
Failsafe operation is provided by automatically switching from the failed clock source to the internal low-power backup clock source without introducing glitches onto the clock input lead of the processor. The microcontroller integrated circuit conserves power by powering up the internal precision high-speed oscillator only after detecting that the clock signal from the external oscillator is inadequate. Power consumption is further reduced by disabling circuitry of the clock controller that detects whether the primary clock signal from the external oscillator is inadequate once the primary clock signal has been determined to be inadequate.
Other embodiments and advantages are described in the detailed description below. This summary does not purport to define the invention. The invention is defined by the claims.
The accompanying drawings, where like numerals indicate like components, illustrate embodiments of the invention.
Reference will now be made in detail to some embodiments of the invention, examples of which are illustrated in the accompanying drawings.
Clock controller 16 includes a programmable oscillator control register 25 and a fail interrupt register 26. Processor 15 can both read from and write to each of these two registers 25 and 26. To write to oscillator control register 25, processor 15 outputs the address of oscillator control register 25 onto address bus 27 of the processor. Processor 15 outputs the data to be written into oscillator control register 25 onto data bus 28 and then outputs a write strobe signal onto write strobe output line 29. Address decoder 17 generates a write strobe signal Reg0Write when it detects the address of oscillator control register 25 being present on address bus 27 at the same time that the write strobe is detected on write strobe line 29. When the write strobe signal Reg0Write is supplied to oscillator control register 25, the data on data bus 28 is clocked into oscillator control register 25.
Processor 15 can also read from oscillator control register 25. To read from oscillator control register 25, processor 15 supplies the address of the oscillator control register onto address bus 27 and then outputs a read strobe signal onto read strobe line 30. When decoder 17 detects the address of oscillator control register 25 on address bus 27 at the same time that the read strobe signal is present on read strobe line 30, decoder 17 outputs a read strobe (Reg0Read). When oscillator control register 25 receives the read strobe Reg0Read, it outputs its contents onto data bus 28. Fail interrupt register 26 is read from and written to by processor 15 in similar fashion.
In the specific embodiment of
In the specific embodiment of
In operation, clock controller 16 has multiple clock source fail detect circuits for monitoring the clock signals received on clock signal input leads 21, 22 and 23. For example, if processor 15 is being clocked by the primary clock signal (PriClk) generated by external crystal oscillator 12, and if a clock source fail detect circuit within clock controller 16 detects that external crystal oscillator 12 ceases to output PriClk, then clock controller 16 automatically switches the source of the system clock (SysClk) supplied to processor 15 from external crystal oscillator 12 to internal watchdog timer oscillator 18. Processor 15 is then clocked by the tertiary clock signal (TerClk) generated by internal watchdog timer oscillator 18.
In one example of low power operation, internal precision oscillator 19 is initially disabled, is not oscillating, and is using only a minimal amount of power. One precision and high-power oscillator (external crystal oscillator 12) and one less stable but relatively low-power oscillator (low-speed internal watchdog timer oscillator 18) are oscillating. Two high-power oscillators are not operating.
When clock controller 16 detects that the primary clock signal (PriClk) output by precision oscillator 19 is inadequate, and when the source of the system clock (SysClk) provided to processor 15 switches from PriClk to TerClk, then clock controller 16 enables a second precision oscillator (internal precision oscillator 19) such that second precision oscillator begins oscillating, and starts generating the high-speed precision secondary clock signal (SecClk). The less stable clock signal TerClk output by internal watchdog timer oscillator 18 is used to clock the clock controller 16 such that clock controller 16 can switch the source of the system clock SysClk used to clock processor 15 from internal watchdog timer oscillator 18 to internal precision oscillator 19. Once the switch has been made, the more stable and higher frequency secondary clock signal SecClk clocks processor 15.
It is therefore seen that the specific embodiment of
In
The periods of the tertiary clock in
The operation of microcontroller integrated circuit 11 in TerClk period 2, as shown in
Although disabling the system clock supplied to the processor would disable the processor and stop its further operation, a second write strobe is shown in period 8 of
Initially (step 61), oscillator select bits OscSel[1:0] 44 and 43 have the values [10]. TerClk is therefore the source of SysClk.
In step 62, processor 15 writes the values [01] into oscillator select bits OscSel[1:0] on the rising edge of TerClk (the current SysClk). Once oscillator control register 25 has been written to select SecClk by outputting an oscillator select signal OscSel[1:0] of [01], pre-enable flip-flop 67 of clock enable selection block 35 is asynchronously cleared, and a TerClkPreEn signal (N2) is deasserted. Flip-flop 67, as well as the other flip-flops of clock enable selection block 35, are negative-edge-triggered D flip-flops.
Step 63 occurs upon the next falling edge of TerClk, the current clock signal. On the falling edge of TerClk, an enable flip-flop 68 of clock enable selection block 35 clocks in the digital low value of N2 and therefore drives the TerClkSel signal (N3) low. As a consequence, each of clock select signals A3, B3 and N3 is now deasserted. Clock multiplexer 40 therefore selects ground potential on multiplexer data input lead 60. SysClk on system clock input lead 20 of processor 15 is therefore held low. By holding SysClk low while switching to a new clock source, clock controller 16 prevents an extremely short cycle from occurring between the last falling edge of the old clock (TerClk) and the first rising edge of the new clock (SecClk). The clock source used to clock processor 15 is therefore switched without introducing glitches onto system clock input lead 20.
Step 64 occurs upon the next falling edge of the new SysClk, which is SecClk, after all clock sources are decoupled in step 63 from system clock input lead 20. A first, pre-enable flip-flop 69 of clock enable selection block 35 drives the SecClkPreEn signal (B2) high. Thus, SecClk, the newly selected clock, is pre-enabled.
In step 65, SecClk is enabled on the next falling edge of SecClk. A second, enable flip-flop 70 of clock enable selection block 35 clocks in the digital high value of B2 and therefore drives the SecClkSel signal (B3) high. As a consequence, clock multiplexer 40 selects SecClk on its data input lead 58 to be the active system clock and this happens when SecClk is low.
In step 66, the next rising edge of SecClk causes a rising edge of SysClk because SecClk is now gated onto system clock input lead 20 of processor 15. The total time taken to switch from an old clock to a new clock is one cycle of the old clock plus one and one half cycles of the new clock, counting from the time processor 15 writes into oscillator select bits OscSel[1:0] on the rising edge of the old clock (TerClk) until the first rising edge of the new clock (SecClk).
During the entire period of the waveforms shown in
In order to illustrate the operation of clock edge detection logic 53, primary clock source fail detect block 37 is enabled in period 32 of
Rising edge detection portion 55 indicates that PriClk is operational (by asserting signal H5) at the rising edge of TimingClk in period 36. Consequently, EdgDet is asserted, and LFSR 54 is reset to starting value [F] at the rising edge of TerClk at the beginning of period 36.
The timeout value of LFSR 54 is determined by the values RstVal[3:0] present on the input leads of the AND gates in the upper right portion of oscillator failure detection logic 52. In this example, the timeout value of LFSR 54 is [7].
Although the timeout value is [7] in this example, the timeout value (for the particular waveforms of PriClk, SecClk and TerClk shown in
Beginning in period 22 of
After period 47, rising edge detection portion 55 outputs an indication that PriClk is not operational. Rising edge detection portion 55 indicates that PriClk has failed when the edge detect signal EdgeDet is not asserted at the rising edge of TerClk in period 51. LFSR 54 is not reset in period 51 and continues to count through its counting sequence. In period 63, as shown in
The assertion of PriIntTrigger causes an interrupt signal (primary fail interrupt signal PriFailInterrupt) to be sent to processor 15 in step 85 of
As shown in
Clock enable selection block 35 receives the oscillator select signals OscSel[1:0]. When the values of OscSel[1:0] become [10], clock enable selection block 35 ultimately asserts TerClkSel (N3), forces the clock select signal A3 low and holds signal B3 low. In step 86 of
Next, in period 64, an enable-not-active signal G is asserted, causing all of signals A1, B1 and N1 to go high or remain high. Because only the pre-enable flip-flop for the tertiary clock source (flip-flop 67) has been pre-enabled, only the tertiary clock pre-enable signal N2 is asserted at the next falling edge of TerClk in period 64. Upon the second falling edge of TerClk in period 65, flip-flop 68 clocks in the asserted N2 high value such that the tertiary clock select signal TerClkSel (N3) is asserted. In step 87 of
Beginning at period 66 of
After microcontroller integrated circuit 11 automatically switches the source of SysClk from the failed high-speed external crystal oscillator 12 to low-speed internal watchdog timer oscillator 18, processor 15 can write to and read from registers 25 and 26, albeit slowly. Microcontroller integrated circuit 11 then enables high-speed internal precision oscillator 19 in step 89 of
Setting bit six 49 of oscillator control register 25 to a digital one asserts the SecClkEn signal which in turn causes the internal precision oscillator to be powered up and start oscillating. After high-speed internal precision oscillator 19 is enabled, secondary clock source fail detect block 38 detects (step 90 of
After high-speed internal precision oscillator 19 is powered up, the clock source is switched from internal watchdog timer oscillator 18 to internal precision oscillator 19.
In the illustrated example, both the powering up of the internal precision oscillator and the switching of the clock source from the internal watchdog timer oscillator 18 to internal precision oscillator 19 are initiated under software control by performing a single write (at period 84 in
The single write of oscillator control register 25 also writes a digital zero to bit four 47, thereby deasserting PriFailEn. Deasserting PriFailEn prevents clock edge detection logic 53 of the primary clock source fail detect block 37 from switching, even if RstPriFailIRQ is not asserted and LFSR 54 is allowed to continue to timeout. Preventing clock edge detection logic 53 from switching reduces power consumption. It is therefore seen that power consumption is reduced in the entire process of switching from the failed clock source PriClk to the powered up SecClk by: 1) holding LFSR 54 in a reset state, 2) disabling clock edge detection logic 53 from switching, and 3) preventing the output of unnecessary interrupts to processor 15 that would otherwise be caused due to the repeated detection of the failed PriClk.
Although the present invention has been described in connection with certain specific embodiments for instructional purposes, the present invention is not limited thereto. In the specific embodiment of
Richmond, Melany Ann, Metzler, Jr., Robert Walter
Patent | Priority | Assignee | Title |
11644504, | Feb 28 2019 | STMicroelectronics S.r.l. | System and method for selecting a clock |
7562247, | May 16 2006 | LENOVO INTERNATIONAL LIMITED | Providing independent clock failover for scalable blade servers |
7592843, | Jul 28 2006 | IXYS Intl Limited | Clock input filter circuit |
7629828, | Apr 27 2007 | IXYS Intl Limited | Glitch-free clock multiplexer that provides an output clock signal based on edge detection |
7768319, | Jul 28 2006 | IXYS Intl Limited | Clock input filter circuit |
7893748, | Apr 27 2007 | IXYS Intl Limited | Glitch-free clock multiplexer that provides an output clock signal based on edge detection |
7928772, | Jul 28 2006 | IXYS Intl Limited | Clock input filter circuit |
8461934, | Oct 26 2010 | CAVIUM INTERNATIONAL; MARVELL ASIA PTE, LTD | External oscillator detector |
8499180, | May 17 2007 | STMICROELECTRONICS N V | IC card with low precision clock |
8532784, | Dec 16 2010 | TC1 LLC | Direct memory access (DMA) controlled stimulation |
8774931, | Dec 16 2010 | TC1 LLC | Direct memory access (DMA) controlled medical devices |
9065460, | Oct 26 2010 | CAVIUM INTERNATIONAL; MARVELL ASIA PTE, LTD | External oscillator detector |
9520865, | Sep 04 2014 | Qualcomm Incorporated | Delay circuits and related systems and methods |
9766651, | Jan 08 2013 | NXP USA, INC | Clock source, method for distributing a clock signal and integrated circuit |
Patent | Priority | Assignee | Title |
4144448, | Nov 29 1977 | International Business Machines Corporation | Asynchronous validity checking system and method for monitoring clock signals on separate electrical conductors |
4255789, | Feb 27 1978 | SIEMENS-BENDIX AUTOMOTIVE ELECTRONICS L P , A LIMITED PARTNERSHIP OF DE | Microprocessor-based electronic engine control system |
4374361, | Dec 29 1980 | AG COMMUNICATION SYSTEMS CORPORATION, 2500 W UTOPIA RD , PHOENIX, AZ 85027, A DE CORP | Clock failure monitor circuit employing counter pair to indicate clock failure within two pulses |
4379993, | Dec 29 1980 | AG COMMUNICATION SYSTEMS CORPORATION, 2500 W UTOPIA RD , PHOENIX, AZ 85027, A DE CORP | Pulse failure monitor circuit employing selectable frequency reference clock and counter pair to vary time period of pulse failure indication |
4653054, | Apr 12 1985 | ALCATEL USA, CORP | Redundant clock combiner |
4698829, | Mar 12 1985 | Pitney Bowes Inc. | Monitoring system for verifying that an input signal is toggling at a minimum frequency |
5369377, | Oct 13 1993 | IXYS Intl Limited | Circuit for automatically detecting off-chip, crystal or on-chip, RC oscillator option |
5404363, | Nov 27 1991 | Honeywell Inc.; HONEYWELL INC , A DE CORP | Two-fail-operational fault-tolerant multiple clock system |
5418481, | Dec 10 1993 | Hewlett Packard Enterprise Development LP | Repetitive signal detector for preventing thermal runaway |
5511209, | Jun 20 1989 | Programmable microcomputer oscillator circuitry with synchronized fast and slow clock output signal | |
5517638, | May 13 1993 | Texas Instruments Incorporated | Dynamic clock switching circuitry and method |
5561390, | Oct 28 1993 | Renesas Electronics Corporation | Clock signal generation circuit having detective circuit detecting loss of reference clock |
5561792, | Dec 28 1992 | Advanced Micro Devices, Inc. | Microprocessor with software switchable clock speed and drive strength |
5604452, | Apr 03 1995 | Exar Corporation | Clock generator using a state machine to switch between two offset clocks |
5790609, | Nov 04 1996 | Texas Instruments Incorporated | Apparatus for cleanly switching between various clock sources in a data processing system |
5828243, | Oct 28 1996 | EMC IP HOLDING COMPANY LLC | Method for detecting clock failure and switching to backup clock |
6008671, | Dec 31 1996 | Mercury Corporation | Clock signal monitoring apparatus |
6246261, | Aug 13 1998 | STMICROELECTRONICS S A | Circuit for detecting the disappearing of a periodic signal |
6266780, | Dec 23 1998 | AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE LIMITED | Glitchless clock switch |
6292045, | Nov 29 1999 | MCU CLOCKING SOLUTIONS, INC | Circuit and method for detecting and selecting clock sources |
6341355, | Mar 16 1999 | AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE LIMITED | Automatic clock switcher |
6429698, | May 02 2000 | XILINX, Inc.; Xilinx, Inc | Clock multiplexer circuit with glitchless switching |
6456146, | Dec 28 2000 | Intel Corporation | System and method for multiplexing clocking signals |
6469544, | May 17 2000 | LAPIS SEMICONDUCTOR CO , LTD | Device for detecting abnormality of clock signal |
6556044, | Sep 18 2001 | Altera Corporation | Programmable logic device including multipliers and configurations thereof to reduce resource utilization |
6816979, | Feb 01 2001 | MONTEREY RESEARCH, LLC | Configurable fast clock detection logic with programmable resolution |
6845454, | Aug 31 2000 | Samsung Electronics Co., Ltd. | System and method for selecting between a high and low speed clock in response to a decoded power instruction |
6938176, | Oct 05 2001 | Nvidia Corporation | Method and apparatus for power management of graphics processors and subsystems that allow the subsystems to respond to accesses when subsystems are idle |
6970045, | Jun 25 2003 | Nel Frequency Controls, Inc. | Redundant clock module |
7062675, | Jun 25 2002 | EMC IP HOLDING COMPANY LLC | Data storage cache system shutdown scheme |
20020091785, | |||
20020091961, | |||
20030079152, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Jan 23 2004 | ZiLOG, Inc. | (assignment on the face of the patent) | / | |||
Jan 23 2004 | RICHMOND, MELANY ANN | ZILOG, INC | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 014931 | /0620 | |
Jan 23 2004 | METZLER, ROBERT WALTER, JR | ZILOG, INC | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 014931 | /0620 | |
Feb 17 2010 | ZILOG, INC | IXYS CH GmbH | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 024964 | /0132 | |
Oct 18 2013 | IXYS CH GmbH | 8631654 CANADA INC | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 031622 | /0182 | |
Mar 07 2014 | 8631654 CANADA INC | MCU CLOCKING SOLUTIONS, INC | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 032378 | /0374 |
Date | Maintenance Fee Events |
Apr 22 2011 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
Apr 29 2015 | M1552: Payment of Maintenance Fee, 8th Year, Large Entity. |
Jul 01 2019 | REM: Maintenance Fee Reminder Mailed. |
Dec 16 2019 | EXP: Patent Expired for Failure to Pay Maintenance Fees. |
Date | Maintenance Schedule |
Nov 13 2010 | 4 years fee payment window open |
May 13 2011 | 6 months grace period start (w surcharge) |
Nov 13 2011 | patent expiry (for year 4) |
Nov 13 2013 | 2 years to revive unintentionally abandoned end. (for year 4) |
Nov 13 2014 | 8 years fee payment window open |
May 13 2015 | 6 months grace period start (w surcharge) |
Nov 13 2015 | patent expiry (for year 8) |
Nov 13 2017 | 2 years to revive unintentionally abandoned end. (for year 8) |
Nov 13 2018 | 12 years fee payment window open |
May 13 2019 | 6 months grace period start (w surcharge) |
Nov 13 2019 | patent expiry (for year 12) |
Nov 13 2021 | 2 years to revive unintentionally abandoned end. (for year 12) |