Being the space and computer geek that I am, I have to let everyone know about the article finally describing exactly what happened with the Spirit Mars Rover.
The data management team's calculations had not made any provision for leftover directories from a previous load still sitting in the flash file system.
As Murphy would have it, earlier, sol 19 Spirit attempted to allocate more files than the RAM-based directory structure could accommodate. That caused an exception, which caused the task that had attempted the allocation to be suspended. That in turn led to a reboot, which attempted to mount the flash file system. But the utility software was unable to allocate enough memory for the directory structure in RAM, causing it to terminate, and so on.
Spirit fell silent, alone on the emptiness of Mars, trying and trying to reboot. And its human handlers at JPL seemed at a loss to help, unable to diagnose a system they could not see.
Basically, Spirit ran out of space, had to reboot, and tried to startup again and set the RAM up for use again, but there wasn't enough space to do that either, so it reboot again... and again...
Cool shit is that my friend, John La, used to work at Wind River Systems with VxWorks, the Operating System used on Spirit and also the first rover that landed on Mars.
Reboot.. to infinity and beyond!
Andy, my guess would be that it would cost too much to build more of their special memory. As the article mentions:
The Spirit rover has a radiation-hardened R6000 CPU from Lockheed-Martin Federal Systems at the heart of the system.
So I guess the memory may be specially fabricated as well; we can't afford to have no overheating/freezing problems when no one's in the neighborhood to swap in a new chip!