Abstract
In this paper, we focus on reliability, one of the most fundamental and important challenges, in the nanoelectronics environment. For a processor architecture based on the unreliable nanoelectronic devices, fault tolerance schemes are required so as to ensure the basic correctness of any computation. Since any fault tolerance approach demands redundancy either in the form of time or hardware, reliability needs to be considered in conjunction with the performance and hardware tradeoffs. We propose a new computational model for the nanoelectronics based processor architectures, that provides flexible fault tolerance to deal with the high and time varying faults. The model guarantees the correctness of instruction executions, while dynamically balancing hardware and performance overheads. The correctness of every instruction is confirmed by multiple execution instances through a hybrid hardware-time redundancy approach. To achieve high system performance, multiple unconfirmed computation branches are exploited in a speculative manner. Hardware resource growth that these speculative computations entail is controlled so that the utilization of hardware is balanced between the two competing goals of performance and fault tolerance. In addition, we examine the impact on the proposed computational model of other nanoelectronic characteristics such as the necessity for localization of interconnections and the regularity of nanofabric structures on the proposed computational model. We set up an experimental framework to validate the effectiveness of the proposed scheme as well as to investigate multiple tradeoff points within the proposed approach. Simulation data confirm that the proposed computational model achieves the goal of providing flexible fault tolerance under a wide range of fault occurrence rates, while at the same time guaranteeing high system performance and efficient utilization of hardware resources.
Similar content being viewed by others
References
P. Agrawal, “Fault Tolerance in Multiprocessor Systems without Dedicated Redundancy,” IEEE Trans. Comput., vol. 37, pp. 358–362, March 1988.
T.M. Austin, “DIVA: A Reliable Substrate for Deep Submicron Microarchitecture Design,” in ACM/IEEE Annual Symposium on Microarchitecture, pp. 196–207, 1999.
P. Avouris, J. Appenzeller, R. Martel, and S. Wind, “Carbon Nanotube Electronics,” Proc. I.E.E.E., vol. 91, no. 11, pp. 1772–1784, 2003.
P. Beckett and A. Jennings, “Towards Nanocomputer Architecture,” in Asia-Pacific Computer System Architecture Conference, pp. 141–150, 2002.
R.B. Blahut, Algebraic Codes for Data Transmission, Cambridge, UK: Cambridge University Press, 2002.
A. Dahbura, K. Sabnani, and W. Henry, “Spare Capacity as a Means of Fault Detection and Diagnosis in Multiprocessor Systems,” IEEE Trans. Comput., vol. 38, no. 6, pp. 881–891, June 1989.
A. DeHon, “Array-Based Architecture for FET-Based, Nanoscale Electronics,” IEEE Transactions on Nanotechnology, vol. 2, no. 1, pp. 23–32, 2003.
A. DeHon, “Nanowire-Based Programmable Architectures,” ACM JETC, vol. 1, no. 2, pp. 109–162, 2005.
European Commission, Technology Roadmap for Nanoelectronics, 2001.
M. Forshaw, R. Stadler, D. Crawley, and K. Nikolic, “A Short Review of Nanoelectronic Architectures,” Nanotechnology, vol. 15, pp. 220–223, 2004.
S.C. Goldstein and M. Budiu, “NanoFabrics: Spatial Computing Using Molecular Electronics,” Proc. ISCA, pp. 178–191, 2001.
S.C. Goldstein, M. Budiu, M. Mishra, and G. Venkataramani, “Reconfigurable Computing and Electronic Nanotechnology,” Proc. IEEE ASAP, pp. 132–143, 2003.
M.A. Gomaa, C. Scarbrough, T.N. Vijaykumar, and I. Pomeranz, “Transient-Fault Recovery for Chip Multiprocessors,” IEEE Micro, vol. 23, no. 6, pp. 76–83, November/December 2003.
J. Han and P. Jonker, “A System Architecture Solution for Unreliable Nanoelectronic Devices,” IEEE Transactions on Nanotechnology, vol. 1, no. 4, pp. 201–208, December 2002.
J. Han, J. Gao, Y. Qi, P. Jonker, and J.A.B. Fortes, “Toward Hardware-Redundant, Fault-Tolerant Logic for Nanoelectronics,” IEEE Des. Test Comput., vol. 22, no. 4, pp. 328–339, July–August 2005.
J.R. Heath, P.J. Kuekes, G.S. Snider, and S. Williams, “A Defect-Tolerant Computer Architecture: Opportunities for Nanotechnology,” Science, vol. 280, pp. 1716–1721, June 1998.
J.L. Hennessy and D.A. Patterson, Computer Architecture: A Quantitative Approach, San Francisco, CA: Morgan Kaufmann, Third Edition, 2002.
Y. Huang, X. Duan, Y. Cui, L.J. Jauhon, K. Kim, and C.M. Lieber, “Logic Gates and Computation from Assembled Nanowire Building Blocks,” Science, vol. 294, pp. 1313–1317, November 2001.
ITRS, International Technology Roadmap for Semiconductors Emerging Research Devices, 2004.
B. Izadi and F. Ozguner, “Enhanced Cluster k-Ary n-Cube, A Fault-Tolerant Multiprocessor,” IEEE Trans. Comput., vol. 52, no. 11, pp. 1443–1453, November 2003.
T. Juhnke and H. Klar, “Calculation of the Soft Error Rate of Submicron CMOS Logic Circuits,” IEEE J. Solid-state Circuits, vol. 30, no. 7, pp. 830–834, July 1995.
T. Karnik, P. Hazucha, and J. Patel, “Characterization of Soft Errors Caused by Single Event Upsets in CMOS Processes,” IEEE Trans. Dependable and Secure Computing, vol. 1, pp. 128–143, April–June 2004.
Y.G. Krieger, “Molecular Electronics: Current State and Future Trends,” J. Struct. Chem., vol. 34, pp. 896–904, 1993.
P.J. Kuekes, D.R. Stewart, and R.S. Williams, “The Crossbar Latch: Logic Value Storage, Restoration, and Inversion in Crossbar Circuits,” J. Appl. Physi., vol. 97, no. 3, pp. 034301, July 2005.
P.K. Lala, Self-Checking and Fault-Tolerant Digital Design, San Francisco, CA: Morgan Kaufmann, 2000.
C.S. Lent, P.D. Tougaw, W. Porod, and G.H. Bernstein, “Quantum Cellular Automata,” Nanotechnology, vol. 4, pp. 49–57, 1993.
G. Manimaran and C.S.R. Murthy, “A Fault-Tolerant Dynamic Scheduling Algorithm for Multiprocessor Real-Time Systems and Its Analysis,” IEEE Trans. Parallel Distrib. Syst., vol. 9, pp. 1137–1152, Nov 1998.
P. Mazumder, S. Kulkarni, M. Bhattacharya, J.P. Sun, and G.I. Haddad, “Digital Circuit Applications of Resonant Tunneling Devices,” Proc. I.E.E.E., vol. 86, no. 4, pp. 664–686, April 1998.
M.S. Montemerlo, J.C. Love, G.J. Opitech, D.G. Gordon, and J.C. Ellenbogen, Technologies and Designs for Electronic Nanocomputers, Mclean, VA: MITRE, July 1996.
J. von Neumann, “Probabilistic Logics and the Synthesis of Reliable Organisms from Unreliable Components,” C. Shannon and J. McCarthy (eds), Automata Studies, Princeton, NJ: Princeton University Press, 1956.
K. Nikolic, A. Sadek, and M. Forshaw, “Architectures for Reliable Computing with Unreliable Nanodevices,” IEEE-NANO, pp. 254–259, 2001.
K. Nikolic, A. Sadek, and M. Forshaw, “Fault-tolerant Techniques for Nanocomputers,” Nanotechnology, vol. 13, pp. 357–362, 2002.
J.H. Patel and L.Y. Fung, “Concurrent Error Detection in ALUs by Recomputing with Shifted Operands,” IEEE Trans. Comput., vol. 31, pp. 589–592, December 1982.
D.K. Pradhan and N.H. Vaidya, “Roll-Forward Checkpointing Scheme: A Novel Fault-Tolerant Architecture,” IEEE Trans. Comput., vol. 43, pp. 1163–1174, October 1994.
R. Rubin and A. DeHon, “Nanowire-based Sublithographic Programmable Logic Arrays,” FPGA, pp. 123–132, 2004.
P. Shivakuma, M. Kistler, S.W. Keckler, D. Burger, and L. Alvisi, “Modeling the Effect of Technology Trends on the Soft Error Rate of Combinational Logic,” DSN, pp. 1112–1119, 2002.
G. Snider and W. Robinett, “Crossbar Demultiplexers for Nanoelectronics Based on n-Hot Codes,” IEEE Transactions on Nanotechnology, vol. 4, pp. 249–254, 2005.
G. Snider, P.J. Kuekes, and R.S. Williams, “CMOS-like Logic in Defective, Nanoscale Crossbars,” Nanotechnology, vol. 15, pp. 881–891, Aug 2004.
D.B. Strukov and K.K. Likharev, “CMOL FPGA: A Reconfigurable Architecture for Hybrid Digital Circuits with Two-terminal Nanodevices,” Nanotechnology, vol. 16, pp. 888–900, Apr 2005.
D.B. Strukov and K.K. Likharev, “A Reconfigurable Architecture for Hybrid CMOS/Nanodevice Circuits,” ACM FPGA, pp. 131–140, 2006.
S. Tridandapani, A.K. Somani, and U.R. Sandadi, “Low Overhead Multiprocessor Allocation Strategies Exploiting System Spare Capacity for Fault Detection and Location,” IEEE Trans. Comput., vol. 44, pp. 865–877, July 1995.
K.Wu and R. Karri, “Algorithm Level RE-computing with Shifted Operands—A Register Transfer Level Concurrent Error Detection Technique,” ITC, pp. 971–978, 2000.
Author information
Authors and Affiliations
Corresponding author
Additional information
Editor: M. Tehranipoor
Rights and permissions
About this article
Cite this article
Rao, W., Orailoglu, A. & Karri, R. Towards Nanoelectronics Processor Architectures. J Electron Test 23, 235–254 (2007). https://doi.org/10.1007/s10836-006-0555-7
Received:
Revised:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10836-006-0555-7