Fail active, dual fail passive, automatic changeover, RAID, real-time back-up....
Ah where did all those notions go?
We still have them. But if some odd bit of data tickles a bug in the primary, then it will tickle exactly the same bug in the secondary.
Someone suggested having two separately developed ATM systems. That would cost considerably more than twice as much because they would have to synchronise precisely despite working differently. Experiments with independently developed software suggests that independent teams tend to make similar mistakes. In this case they would have to be working to a very detailed specification, which itself would be error prone. In short, its not that simple.
Even if it worked, it would make no financial sense to NATS given the current level of penalties for delay. In fact it probably wouldn't even make financial sense to the aviation industry as a whole; having a few planes delayed every year or so would actually work out cheaper.