Reading and Programming Spintronic Devices for Biomimetic Applications and Fault-tolerant Memory Design