Patent ID: 6954875

Claim:
A method for real-time self-recovery of a flight computer comprising the steps of: (a) partitioning program memory space into a plurality of memory partitions where each partition corresponds to a hardware device in the flight computer; (b) downloading a version of an operational flight program to each of said memory partitions, wherein one version of the operational flight program is designated as a controller and the remaining versions of the operational flight program are designated observers; (c) running the controller operational flight program; (d) sequentially running each of said observer operational flight programs; (e) determining whether the memory partition containing said controller operational program is damaged and, if such determination is made, assigning one of said observer operational flight programs as controller operational flight program; (f) overwriting the damaged partition with fault free data, said step of overwriting comprising, (i) determining whether more than one memory partition is damaged, and if such determination is made, (ii) setting a first flag that indicates that more than one memory partition is damaged and overwriting data in a damaged memory partition when said first flag is set, said method further comprising, if said flag indicating that more than one memory partition is damaged has been set, (g) downloading a version of the operational flight program to each of said memory partitions from a cross-channel data link; (h) performing a majority vote on data contained within each of said memory partitions; (i) marking as damaged, data within each memory partition that does not match a result of said majority vote; and (j) setting a second flag when data within more than one of said memory partitions is damaged.