Insense: A Variation And Fault Tolerant Architecture For Nanoscale Devices