Spintronics Devices