Very nearly feature complete now. Read and write pointers get recovered correctly at start up. Only thing left to do is add in recovery of failed page erases during start up.