A new method for the detection and correction of environmentally induced functional interrupts (or “hangs”) induced in computers or microprocessors caused by external sources of single event upsets (SEU) which propagate into the internal control functions, or circuits, of the microprocessor. This method is named Hardened core (or H-core) and is based upon the addition of an environmentally hardened circuit added into the computer system and connected to the microprocessor to provide monitoring and interrupt or reset to the microprocessor when a functional interrupt occurs. The Hardened core method can be combined with another method for the detection and correction of single bit errors or faults induced in a computer or microprocessor caused by external sources SEUs. This method is named Time-Triple Modular Redundancy (TTMR) and is based upon the idea that very long instruction word (vliw) style microprocessors provide externally controllable parallel computing elements which can be used to combine time redundant and spatially redundant fault error detection and correction techniques. This method is completed in a single microprocessor, which substitute for the traditional multi-processor redundancy techniques, such as Triple Modular Redundancy (TMR).
|
0. 12. A computer system with improved tolerance to microprocessor functional interrupts induced by environmental sources, comprising: a microprocessor not required to be radiation hardened; an array of memory, volatile or non-volatile, connected to said microprocessor; a hardened core circuit, designed to withstand environmentally induced faults, and connected to said microprocessor, in a manner allowing for said microprocessor's interrupt control, reset control, data bus, and address bus signals to connect to said hardened core circuit, and for said hardened core's status, interrupt output and power cycle output signals to connect to said microprocessor; a microprocessor software routine configured to send a predetermined timer signal from the microprocessor to the said hardened core circuit on a predetermined time period; a hardened core circuit function configured to read the predetermined timer signal from said microprocessor on the predetermined time period and activate said microprocessor's interrupt and reset control input signals if timer signal is not received within the predetermined time period to provide for removal of said microprocessor from functionally interrupted state; a microprocessor software routine located at said microprocessor's interrupt or reset vector addresses, configured to restart the microprocessor's application software.
1. A computer system with improved tolerance to microprocessor functional interrupts induced by environmental sources, comprising: a microprocessor not required to be radiation hardened; an array of memory, volatile or non-volatile, connected to said microprocessor; a hardened core circuit, designed to withstand environmentally induced faults, and connected to said microprocessor, in a manner allowing for said microprocessor's interrupt control, reset control, data bus, and address bus signals to connect to said hardened core circuit, and for said hardened core's status, interrupt(s) output, reset output(s) and/or power cycle output signals to connect to said microprocessor; a microprocessor software routine configured to send a predetermined timer signal from the microprocessor to the said hardened core circuit on a predetermined time period; a hardened core circuit function configured to read the predetermined timer signal from said microprocessor on the predetermined time period and activate said microprocessor's interrupt and or reset control input signals if timer signal is not received within the predetermined time period to provide for removal of said microprocessor from functionally interrupted state; a microprocessor software routine located at said microprocessor's interrupt or reset vector addresses, configured to restart the microprocessor's application software.
0. 15. A computer system with improved tolerance to microprocessor functional interrupts induced by environmental sources, comprising: a microprocessor not required to be radiation hardened; said microprocessor further comprising power supply lines, a power cycle control unit coupled to said microprocessor power supply lines to selectively provide for removal and return of power to said microprocessor, an array of memory, volatile or non-volatile, connected to said microprocessor; a hardened core circuit, designed to withstand environmentally induced faults, and connected to said microprocessor, in a manner allowing for said microprocessor's interrupt control, reset control, data bus, and address bus signals to connect to said hardened core circuit, and for said hardened core's status, interrupt output and power cycle output signals to connect to said microprocessor; a microprocessor software routine configured to send a predetermined timer signal from the microprocessor to the said hardened core circuit on a predetermined time period; a hardened core circuit function configured to read the predetermined timer signal from said microprocessor on the predetermined time period and activate said microprocessor's interrupt or reset control input signals if timer signal is not received within the predetermined time period to provide for removal of said microprocessor from functionally interrupted state and also to generate an activation signal to said power cycle control unit to remove and return power to said microprocessor; a microprocessor software routine located at said microprocessor's interrupt or reset vector addresses, configured to restart the microprocessor's application software.
0. 13. A computer system with improved fault tolerance from microprocessor, data errors and functional interrupts, comprising: a microprocessor not required to be radiation hardened; an array of memory, volatile or non-volatile, connected to said microprocessor; a fault tolerant software routine configured to send a first instruction least a second instruction to the microprocessor, the first and at least the second instructions being identical and being inserted into spatially separated functional computational units of the microprocessor at different clock cycles; a first and at least a second memory device in communication with the microprocessor, the first memory device configured to store the first instruction, the second memory device configured to store at least the second instruction; a software instruction to compare the first instruction to at least the second instruction; a comparator to compare the first instruction to the second instruction; a hardened core circuit, designed to withstand environmentally induced faults, and connected to said microprocessor, in a manner allowing for said microprocessor's interrupt control, reset control, data bus, and address bus signals to connect to said hardened core circuit, and for said hardened core's status, interrupt output and power cycle output signals to connect to said microprocessor; a microprocessor software routine configured to send a predetermined timer signal from the microprocessor to the said hardened core circuit on a predetermined time period; a hardened core circuit function configured to read the predetermined timer signal from said microprocessor in the predetermined time period and activate said microprocessor's interrupt and reset control input signals if the timer signal is not received within the predetermined time period to provide for removal of said microprocessor from a functionally interrupted state; and a microprocessor software routine located at said microprocessor's interrupt or reset vector addresses, configured to restart the microprocessor's application software.
6. A computer system with improved fault tolerance from microprocessor, data errors and functional interrupts, comprising: a microprocessor not required to be radiation hardened; an array of memory, volatile or non-volatile, connected to said microprocessor; a fault tolerant software routine configured to send a first instruction and at least a second instruction to the microprocessor, the first and at least the second instructions being identical and being inserted into spatially separated functional computational units of the microprocessor at different clock cycles; a first and at least a second memory device in communication with the microprocessor, the first memory device configured to store the first instruction, the second memory device configured to store at least the second instruction; a software instruction to compare the first instruction to at least the second instruction; a comparator to compare the first instruction to the second instruction; a hardened core circuit, designed to withstand environmentally induced faults, and connected to said microprocessor, in a manner allowing for said microprocessor's interrupt control, reset control, data bus, and address bus signals to connect to said hardened core circuit, and for said hardened core's status, interrupt output(s), reset output(s) and/or power cycle output signals to connect to said microprocessor; a microprocessor software routine configured to send a predetermined timer signal from the microprocessor to the said hardened core circuit on a predetermined time period; a hardened core circuit function configured to read the predetermined timer signal from said microprocessor in the predetermined time period and activate said microprocessor's interrupt and or reset control input signals if the timer signal is not received within the predetermined time period to provide for removal of said microprocessor from a functionally interrupted state; and a microprocessor software routine located at said microprocessor's interrupt or reset vector addresses, configured to restart the microprocessor's application software.
0. 14. A software and hardware computer system with improved fault tolerance from microprocessor data errors and functional interrupts, comprising: a very long instruction word (vliw) microprocessor not required to be radiation hardened; an array of memory, volatile or non-volatile, connected to said microprocessor; a fault tolerant software routine comprising a first instruction and a second instruction, each inserted into two spatially separate functional computational units in the vliw microprocessor at two different clock cycles and stored in a memory device in communication with the microprocessor, the first and second instructions being identical; a software instruction to compare the first and second instructions in the memory device in communication with a vliw microprocessor compare or branch units, and configured to perform an action if the first and second instructions match, the fault tolerant software routine comprising a third instruction inserted into a third spatially separate functional computational unit in the vliw microprocessor at a third different clock cycle and stored in a third memory device in communication with the microprocessor, the first, second, and third instructions being identical; the software instruction to compare the first, second, and third instructions in the memory devices in communication with a vliw microprocessor compare or branch units, and configured to perform an action if any of the first, second and third instructions match; a hardened core circuit, designed to withstand environmentally induced faults, and connected to said microprocessor, in a manner allowing for said microprocessor's interrupt control, reset control, data bus, and address bus signals to connect to said hardened core circuit, and for said hardened core's status, interrupt output and power cycle output signals to connect to said microprocessor; a microprocessor software routine configured to send a predetermined timer signal from the microprocessor to the said hardened core circuit on a predetermined time period; a hardened core circuit function configured to read the predetermined timer signal from said microprocessor in the predetermined time period and activate said microprocessor's interrupt and reset control input signals if the timer signal is not received within the predetermined time period to provide for removal of said microprocessor from functionally interrupted state; and a microprocessor software routine located at said microprocessor's interrupt or reset vector addresses, configured to restart the microprocessor's application software.
11. A software and hardware computer system with improved fault tolerance from microprocessor data errors and functional interrupts, comprising: a very long instruction word (vliw) microprocessor not required to be radiation hardened; an array of memory, volatile or non-volatile, connected to said microprocessor; a fault tolerant software routine comprising a first instruction and a second instruction, each inserted into two spatially separate functional computational units in the vliw microprocessor at two different clock cycles and stored in a memory device in communication with the microprocessor, the first and second instructions being identical; a software instruction to compare the first and second instructions in the memory device in communication with a vliw microprocessor compare or branch units, and configured to perform an action if the first and second instructions match, the fault tolerant software routine comprising a third instruction inserted into a third spatially separate functional computational unit in the vliw microprocessor at a third different clock cycle and stored in a third memory device in communication with the microprocessor, the first, second, and third instructions being identical; the software instruction to compare the first, second, and third instructions in the memory devices in communication with a vliw microprocessor compare or branch units, and configured to perform an action if any of the first, second and third instructions match; a hardened core circuit, designed to withstand environmentally induced faults, and connected to said microprocessor, in a manner allowing for said microprocessor's interrupt control, reset control, data bus, and address bus signals to connect to said hardened core circuit, and for said hardened core's status, interrupt output(s), reset output(s) and/or power cycle output signals to connect to said microprocessor; a microprocessor software routine configured to send a predetermined timer signal from the microprocessor to the said hardened core circuit on a predetermined time period; a hardened core circuit function configured to read the predetermined timer signal from said microprocessor in the predetermined time period and activate said microprocessor's interrupt and or reset control input signals if the timer signal is not received within the predetermined time period to provide for removal of said microprocessor from functionally interrupted state; and a microprocessor software routine located at said microprocessor's interrupt or reset vector addresses, configured to restart the microprocessor's application software.
2. A The system of
3. The system of
4. The system of
5. The system of
7. The system of
8. The system of
9. The system of
10. The system of
|
This application is a reissue of U.S. Pat. No. 7,237,148 B2, issued Jun. 26, 2007. This application claims priority to U.S. Provisional Patent No. 60/408,205, filed on Sep. 5, 2002, entitled “Functional Interrupt Mitigation for Fault Tolerant Computer,” naming David Czajkowski as first named inventor and Darrell Sellers as second named inventor, of which is hereby incorporated by reference in its entirety.
During use, microprocessors may be exposed to external conditions which may cause internal data bits within or being processed by the microprocessor to change. Commonly, these events are classified as single event upsets (SEU). Conditions giving rise to SEU may include ambient radiation (including protons, x-rays, neutrons, cosmic rays, electrons, alpha particles, etc.), electrical noise (including voltage spikes, electromagnetic interference, wireless high frequency signals, etc.), and/or improper sequencing of electronic signals or other similar events. The effects of SEU conditions can include the processing of incorrect data or the microprocessor may temporarily or permanent hang, which may be reference to as single event functional interrupt (SEFI), for a temporary or permanent condition.
A number of solutions to avoid or correct for these events have been developed, and include modifying the manufacturing process for the microprocessor. For example, microprocessor may utilize temporal redundancy or spatial redundancy in an effort to mitigate the likelihood of SEUs. While these systems have proven somewhat effective in reducing or avoiding SEU and SEFI events, several shortcomings have been identified. For example, using spatial redundancy in a triple modular redundant design allows three microprocessors to operate in parallel to detect and correct for single event upsets and functional interrupts, but require two additional microprocessors and support circuits (e.g. memory) causing additional power and synchronization problems. Another solution is to manufacture the microprocessor integrated circuits (IC) on radiation tolerant processes, which historically lag commercial devices by two to three generations. More specifically, today's radiation-tolerant IC production processes produce devices utilizing 0.35 micrometer geometries while non-radiation tolerant devices typically utilize 0.13 micro-meter geometry. The effect of the larger geometry is much slower performance and higher power consumption for the microprocessor.
In light of the foregoing, there is an ongoing need for high performance, low power consumption radiation tolerant systems and devices, that mitigate the problem of single event functional interrupt (SEFI), also known as environmental induced hangs.
The present application discloses fault tolerant circuits and companion software routines for use in computer systems and method of use. In one embodiment, a computer system with improved fault tolerance from microprocessor hangs is disclosed and includes a microprocessor, a fault tolerant software maintenance routine configured to send a periodic output signal from the microprocessor to a separate circuit (termed a “Hardened Core” or “H-Core”) in communication with the microprocessor, the Hardened Core circuit configured to monitor the periodic signal, the control lines (reset, non-maskable interrupt, interrupts, etc.) of the microprocessor wired through the Hardened Core circuit in a manner that allows the Hardened Core to selectively and sequentially activate each control line when periodic signal from microprocessor is not received on periodic schedule, and a set of software repair routines comprised of known instructions which provide a stop to all existing microprocessor instructions and force a controlled restart, where repair routines are operational at the control line interrupt vector memory addresses of the microprocessor.
In another embodiment, a computer system with improved fault tolerance from microprocessor hangs is disclosed and includes a microprocessor, a fault tolerant software maintenance routine configured to send a periodic output signal from the microprocessor to a separate circuit (termed “Hardened Core with Power Cycle”) in communication with the microprocessor, the Hardened Core with Power Cycle configured to monitor the periodic signal, the control lines (reset, non-maskable interrupt, interrupts, etc.) of the microprocessor wired through the Hardened Core with Power Cycle circuit in a manner that allows the Hardened Core with Power Cycle circuit to selectively and sequentially activate each control line when periodic signal from microprocessor is not received on a periodic schedule, the power supply lines of the microprocessor wired through the Hardened Core with Power Cycle circuit in a manner that allows the Hardened Core with Power Cycle circuit to selectively turn off and then on the power supply lines when the periodic signal from the microprocessor is not received on a periodic schedule, and a set of software repair routines comprised of known instructions which provide a stop to all existing microprocessor instructions and force a controlled restart, where repair routines are operational at the control line interrupt vector memory addresses of the microprocessor.
In another embodiment, a software and hardware computer system with improved fault tolerance from microprocessor data errors and microprocessor hangs is disclosed and includes a very long instruction word microprocessor, a fault tolerant software routine comprising a first instruction and a second instruction, each inserted into two spatially separate functional computational units in the VLIW microprocessor at two different clock cycles and stored in a memory device in communication with the microprocessor, the first and second instructions being identical, a software instruction to compare the first and second instruction in the memory device in communication with a VLIW microprocessor compare or branch units, and configured to perform an action if the first and second instruction match, the fault tolerant software routine comprising a third inserted into a third spatially separate functional computational units in the VLIW microprocessor at a third different clock cycles and stored in a third memory device in communication with the microprocessor, the first, second, and third instructions being identical, and the software instruction to compare the first, second, and third instructions in the memory devices in communication with a VLIW microprocessor compare or branch units, and configured to perform an action if any of the first, second and third instructions match; plus a fault tolerant software maintenance routine configured to send a periodic output signal from the VLIW microprocessor to a separate circuit (termed “Hardened Core”) in communication with the VLIW microprocessor, the Hardened Core circuit configured to monitor the periodic signal, the control lines (reset, non-maskable interrupt, interrupts, etc.) of the microprocessor wired through the Hardened Core circuit in a manner that allows the Hardened Core to selectively and sequentially activate each control signal when periodic signal from microprocessor is not received on periodic schedule, and a set of software repair routines comprised of known instructions which provide a stop to all VLIW microprocessor instructions and force a controlled restart, where repair routines are operational at the control line interrupt vector memory addresses of the VLIW microprocessor.
The Hardened Core system disclosed herein is a fault detection and correction system capable of being implemented with any microprocessor. In one embodiment, the microprocessor control signals, typically reset(s) and interrupt(s), are electrically connected through the Hardened Core circuit, wherein the signals are activated when the Hardened Core circuit does not receive a periodic timer signal from the microprocessor, which is generated by software routine(s) in the microprocessor software.
In alternate embodiments, the Hardened Core circuit 200 may include an application specific integrated circuit (ASIC) or other electronic circuit implementation.
Another embodiment is the combination of a Time-Triple Modular Redundancy (TTMR) system (disclosed herein), providing single bit error detection and correction in the microprocessor, with a Hardened Core system providing functional interrupt fault recovery. The TTMR system is capable of being implemented in very long instruction word (VLIW) microprocessors. In one embodiment, the VLIW microprocessor includes specialized software routines known as “ultra long instruction word” and/or “software controlled instruction level parallelism.” These software routines include parallel functional units configured to execute instructions simultaneously wherein the instruction scheduling decisions are moved to the software compiler. The TTMR systems combines time redundant and spatially redundant (including TMR and/or Master/Shadow architectures) instruction routines together on a single VLIW microprocessor.
Referring again to
At a later clock cycle or time interval T3, a compare instruction 616 is then sent from the software controller unit 600 to the branch or compare unit 618 within or in communication with the CPU 602. Exemplary branch or compare units 620 may include, without limitation, at least one comparator in communication with the CPU 602. The branch or compare unit 620 accesses and compares the two instructions retained within the memory devices in communication with arithmetic logic units 608, 612, respectively. If the two instructions stored within the memory devices in communication with the arithmetic logic units 608, 612 match no error has occurred and the instruction is accepted and performed. If a discrepancy is detected between the instructions 606, 610, respectively, stored within the memory devices in communication with the arithmetic logic units 608, 612, a third instruction 620 is sent from a software controller unit 600 to a third arithmetic logic unit 622 within or in communication with a CPU 602 and retained within a third memory device in communication therewith. The third instruction 620 is sent from the software controller unit 600 to the third arithmetic logic unit 622 at a later clock cycle or time interval T4 as compared with time interval T3. The instructions 606, 610, 620, respectively, are identical instructions sent at different time intervals, T1, T2, T4, respectively. Those skilled in the art will appreciate any number greater than 1 of instructions may be sent from the software controller unit 600 to the CPU 602 thereby permitting a comparison of instructions to occur within the CPU 602. The instructions stored within the memory devices in communication with the respective arithmetic logic units 608, 612, 622 are compared and any match therein is assumed to be a correct instruction, thereafter, the instruction may be performed. Like the previous embodiment, the TTMR system disclosed herein permits a second instruction 630 and a third instruction 640 to be completed in parallel with the first instruction 606 when three or more parallel functional units are available.
Implementation and control of the TTMR system takes place through software control of the VLIW microprocessor. TTMR software code can be developed using a variety of methods, which are dependent upon the individual microprocessor development environment and operating system(s). As shown in
In the combined embodiment, the TTMR system may include or otherwise incorporate a Hardened Core system, where the microprocessor 104 of
Czajkowski, David R., Sellers, Darrell
Patent | Priority | Assignee | Title |
Patent | Priority | Assignee | Title |
4132975, | Oct 27 1976 | Nippon Electric Co., Ltd. | Majority decision device |
4199810, | Jan 07 1977 | Rockwell International Corporation | Radiation hardened register file |
4670880, | Sep 11 1984 | International Business Machines Corp. | Method of error detection and correction by majority |
4817094, | Dec 31 1986 | INTERNATIONAL BUSINESS MACHINES CORPORATION, A CORP OF NY | Fault tolerant switch with selectable operating modes |
4943969, | Nov 28 1988 | Unisys Corporation | Isolation for failures of input signals supplied to dual modules which are checked by comparison |
4956807, | Dec 21 1982 | Nissan Motor Company, Limited | Watchdog timer |
4959836, | Dec 09 1987 | Siemens Transmission Systems, Inc. | Register robustness improvement circuit and method |
5233613, | Mar 29 1988 | Advanced Micro Devices, Inc. | Reliable watchdog timer |
5235220, | Sep 14 1990 | NEC Corporation | Majority decision method and circuit wherein least possible flip-flops are used |
5345583, | May 13 1992 | Itron, Inc | Method and apparatus for momentarily interrupting power to a microprocessor to clear a fault state |
5414722, | Jul 14 1992 | TECMAR TECHNOLOGIES, INC | Selective data synchronizer |
5594865, | Dec 11 1991 | Fujitsu Limited | Watchdog timer that can detect processor runaway while processor is accessing storage unit using data comparing unit to reset timer |
5604755, | Nov 20 1995 | International Business Machine Corp. | Memory system reset circuit |
5706423, | Sep 12 1994 | Renesas Electronics Corporation | Data processor having data bus and instruction fetch bus provided separately from each other |
5822515, | Feb 10 1997 | SPACE SYSTEMS LORAL, LLC | Correction of uncommanded mode changes in a spacecraft subsystem |
5864663, | Sep 12 1996 | United Technologies Corporation | Selectively enabled watchdog timer circuit |
6754846, | Dec 18 1998 | SCHNEIDER ELECTRIC SYSTEMS USA, INC | Method and apparatus for processing control using a multiple redundant processor control system related applications |
6901532, | Mar 28 2002 | Honeywell International Inc. | System and method for recovering from radiation induced memory errors |
7036059, | Feb 14 2001 | XILINX, Inc.; Xilinx, Inc | Techniques for mitigating, detecting and correcting single event upset effects in systems using SRAM-based field programmable gate arrays |
7237148, | Sep 05 2002 | Functional interrupt mitigation for fault tolerant computer | |
7318169, | May 15 2002 | SPACE MICRO INC | Fault tolerant computer |
20040153747, | |||
20040250178, | |||
20050055607, | |||
20050138485, | |||
20050172196, | |||
GB2903614, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Jun 09 2009 | CZAJKOWSKI, DAVID R | SPACE MICRO, INC | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 022925 | /0995 | |
Jun 09 2009 | SELLERS, DARRELL | SPACE MICRO, INC | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 022925 | /0995 | |
Jun 24 2009 | Space Micro, Inc. | (assignment on the face of the patent) | / | |||
Mar 10 2023 | NANORACKS LLC | JGB COLLATERAL LLC | PATENT SECURITY AGREEMENT | 063164 | /0430 | |
Mar 10 2023 | SPACE MICRO, INC | JGB COLLATERAL LLC | PATENT SECURITY AGREEMENT | 063164 | /0430 | |
Mar 10 2023 | VALLEY TECH SYSTEMS, INC | JGB COLLATERAL LLC | PATENT SECURITY AGREEMENT | 063164 | /0430 | |
Mar 10 2023 | ALTIUS SPACE MACHINES, INC | JGB COLLATERAL LLC | PATENT SECURITY AGREEMENT | 063164 | /0430 | |
Mar 10 2023 | PIONEER INVENTION, LLC | JGB COLLATERAL LLC | PATENT SECURITY AGREEMENT | 063164 | /0430 | |
Jun 28 2024 | PIONEER INVENTION, LLC | HERCULES CAPITAL, INC , AS AGENT | SECURITY INTEREST SEE DOCUMENT FOR DETAILS | 068104 | /0818 | |
Jun 28 2024 | VALLEY TECH SYSTEMS, INC | HERCULES CAPITAL, INC , AS AGENT | SECURITY INTEREST SEE DOCUMENT FOR DETAILS | 068104 | /0818 | |
Jun 28 2024 | NANORACKS LLC | HERCULES CAPITAL, INC , AS AGENT | SECURITY INTEREST SEE DOCUMENT FOR DETAILS | 068104 | /0818 | |
Jun 28 2024 | ZIN TECHNOLOGIES, INC | HERCULES CAPITAL, INC , AS AGENT | SECURITY INTEREST SEE DOCUMENT FOR DETAILS | 068104 | /0818 | |
Jun 28 2024 | SPACE MICRO INC | HERCULES CAPITAL, INC , AS AGENT | SECURITY INTEREST SEE DOCUMENT FOR DETAILS | 068104 | /0818 | |
Jun 28 2024 | DREAMUP, PBC | HERCULES CAPITAL, INC , AS AGENT | SECURITY INTEREST SEE DOCUMENT FOR DETAILS | 068104 | /0818 | |
Jun 28 2024 | VOYAGER SPACE IP HOLDINGS, LLC | HERCULES CAPITAL, INC , AS AGENT | SECURITY INTEREST SEE DOCUMENT FOR DETAILS | 068104 | /0818 | |
Jun 28 2024 | VOYAGER SPACE HOLDINGS, INC | HERCULES CAPITAL, INC , AS AGENT | SECURITY INTEREST SEE DOCUMENT FOR DETAILS | 068104 | /0818 | |
Jun 28 2024 | ALTIUS SPACE MACHINES, INC | HERCULES CAPITAL, INC , AS AGENT | SECURITY INTEREST SEE DOCUMENT FOR DETAILS | 068104 | /0818 |
Date | Maintenance Fee Events |
Feb 06 2015 | REM: Maintenance Fee Reminder Mailed. |
Mar 27 2015 | M2552: Payment of Maintenance Fee, 8th Yr, Small Entity. |
Mar 27 2015 | M2555: 7.5 yr surcharge - late pmt w/in 6 mo, Small Entity. |
Jul 16 2018 | M2553: Payment of Maintenance Fee, 12th Yr, Small Entity. |
Date | Maintenance Schedule |
Apr 26 2014 | 4 years fee payment window open |
Oct 26 2014 | 6 months grace period start (w surcharge) |
Apr 26 2015 | patent expiry (for year 4) |
Apr 26 2017 | 2 years to revive unintentionally abandoned end. (for year 4) |
Apr 26 2018 | 8 years fee payment window open |
Oct 26 2018 | 6 months grace period start (w surcharge) |
Apr 26 2019 | patent expiry (for year 8) |
Apr 26 2021 | 2 years to revive unintentionally abandoned end. (for year 8) |
Apr 26 2022 | 12 years fee payment window open |
Oct 26 2022 | 6 months grace period start (w surcharge) |
Apr 26 2023 | patent expiry (for year 12) |
Apr 26 2025 | 2 years to revive unintentionally abandoned end. (for year 12) |