Non-Volatile Memory (NVM) has many advantages such as storage density, non-volatility, and lower energy consumption. However, they are constrained by limited write endurance and lack of an efficient mechanism to recovery the error data, which will affect the lifetime of NVM. In this paper, we propose a fault tolerant algorithm for NVM, that inspired by the redundant technology of RAID(Redundant Arrays of Independent Disks) to recovery the error data and reuse the error blocks. Memory architecture models and the algorithms of read, write and recovery are presented. Our experimental results show that more than 50% of error data can be recovered efficiently if the error rate is under 30%, and the recovery rate is nearly more than 80% if the error rate is under 10%, while the time consumption rate of our method is only within 5%.