11 years into its mission on Mars, the rover Opportunity is suffering from bouts of amnesia according to Nasa. It plans to remotely hack Opportunity’s software to fix the problem.
In a similar fashion to PCs on Earth, Opportunity has a combination of volatile and non-volatile memory, specifically flash memory and RAM. As with a PC, the idea is to store important data in the flash memory so that it can be accessed even after a shutdown or reboot. When all was working well, Opportunity would store telemetry data long enough to then pass it back to Earth whenever the Odyssey satellite passed over during its orbit.
Unfortunately a problem with the flash memory, which could be as simple as it being worn out from long-time use, is causing double trouble. First of all, whenever writing to flash memory fails, Opportunity is defaulting to putting the data into RAM. That means it’s lost for good if and when Opportunity powers down before it can communicate with Odyssey.
Secondly, Opportunity seems to be getting caught in a loop by which a series of failed attempts to write to flash memory is causing it to reboot. When this happens while Nasa is sending commands to Opportunity, it means Opportunity simply receives one command, reboots, then gets the next command while having no memory or record of the previous command.
In many cases Opportunity ignores this next command because it makes no sense out of context. At one point this loop got so severe that it stopped communicating at all for several days.
Nasa staff believe that of seven banks of flash memory on Opportunity, only one is faulty. They now believe that with a couple more weeks of work they’ll find a way to communicate with Opportunity long enough to permanently rewrite its software so it knows to avoid using the faulty bank altogether.
Its somewhat miraculous that Opportunity hasn’t run into similar problems before: it was only designed to operate for 90 Martian days (92.5 Earth days), a target it has now exceeded by more than a decade.