A method of operating a non-volatile memory can include backing-up first data successfully programmed to a first target page of a non-volatile memory to provide local back-up data. A determination can be made that programming of second data to the first target page has failed and the local back-up data can be programmed to a second target page in a second block of the non-volatile memory.