|
ABSTRACT
Many embedded processing applications, such as those found in the automotive or medical field, require hardware designs that are at the same time low cost and reliable. Traditionally, reliable memory systems have been implemented using coded storage techniques, such as ECC. While these designs can effectively detect and correct memory faults such as transient errors and single-bit defects, their use bears a significant cost overhead. In this article, we propose a novel partial memory protection scheme that provides high-coverage fault protection for program code and data, but with much lower cost than traditional approaches. Our approach profiles program code and data usage to assess which program elements are most critical to maintaining program correctness. Critical code and variables are then placed into a limited protected storage resources. To ensure high coverage of program elements, our placement technique considers all program components simultaneously, including code, global variables, stack frames, and heap variables. The fault coverage of our approach is gauged using Monte Carlo fault-injection experiments, which confirm that our technique provides high levels of fault protection (99% coverage) with limited memory protection resources (36% protected area).
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
|
| |
2
|
Baumann, R. 2002. The impact of technology scaling on soft error rate performance and limits to the efficacy of error correction. In Proceedings of the International Digest of Electron Devices Meeting. 329--332.
|
| |
3
|
Bossen, D. C. and Hsiao, M. Y. 1980. A system solution to the memory soft error problem. IBM Journal of Research and Development 24, 3, 390--397.
|
 |
4
|
Brad Calder , Chandra Krintz , Simmi John , Todd Austin, Cache-conscious data placement, Proceedings of the eighth international conference on Architectural support for programming languages and operating systems, p.139-149, October 02-07, 1998, San Jose, California, United States
|
| |
5
|
Cardarilli, G. C., Leandri, A., Marinucci, P., Ottavi, M., Pontarelli, S., Re, M., and Salsano, A. 2003. Design of fault tolerant solid state mass memory. IEEE Transactions on Reliability 52, 4, 476--491.
|
| |
6
|
Chen, C. L. and Hsiao, M. Y. 1984. Error-correcting codes for semiconductor memory applications: A state-of-the-art review. IBM Journal of Research and Development 28, 2, 124--134.
|
 |
7
|
|
| |
8
|
Constantinides, K., Plaza, S., Blome, J., Zhang, B., Bertacco, V., Mahlke, S., Austin, T., and Orshansky, M. 2005. Assessing SEU vulnerability via circuit-level timing analysis. In Proceedings of the 1st Workshop on Architectural Reliability (WAR-1).
|
| |
9
|
|
| |
10
|
|
| |
11
|
|
 |
12
|
|
| |
13
|
M. R. Guthaus , J. S. Ringenberg , D. Ernst , T. M. Austin , T. Mudge , R. B. Brown, MiBench: A free, commercially representative embedded benchmark suite, Proceedings of the Workload Characterization, 2001. WWC-4. 2001 IEEE International Workshop, p.3-14, December 02-02, 2001
[doi> 10.1109/WWC.2001.15]
|
| |
14
|
Iwamoto, T. 2006. Methods and apparatus for segmented stack management in a processor system. US Patent 20060195824.
|
 |
15
|
|
| |
16
|
Chunho Lee , Miodrag Potkonjak , William H. Mangione-Smith, MediaBench: a tool for evaluating and synthesizing multimedia and communicatons systems, Proceedings of the 30th annual ACM/IEEE international symposium on Microarchitecture, p.330-335, December 01-03, 1997, Research Triangle Park, North Carolina, United States
|
 |
17
|
Kyoungwoo Lee , Aviral Shrivastava , Ilya Issenin , Nikil Dutt , Nalini Venkatasubramanian, Mitigating soft error failures for multimedia applications by selective data protection, Proceedings of the 2006 international conference on Compilers, architecture and synthesis for embedded systems, October 22-25, 2006, Seoul, Korea
[doi> 10.1145/1176760.1176810]
|
| |
18
|
|
 |
19
|
|
| |
20
|
|
 |
21
|
|
 |
22
|
|
| |
23
|
|
 |
24
|
Vimal K. Reddy , Eric Rotenberg , Sailashri Parthasarathy, Understanding prediction-based partial redundant threading for low-overhead, high- coverage fault tolerance, Proceedings of the 12th international conference on Architectural support for programming languages and operating systems, October 21-25, 2006, San Jose, California, USA
|
| |
25
|
|
| |
26
|
Saleh, A. M., Serrano, J. J., and Patel, J. H. 1990. Design of fault tolerant solid state mass memory. IEEE Transactions on Reliability 39, 1, 114--122.
|
| |
27
|
Seidl, M. L. and Zorn, B. G. 1997. Predicting references to dynamically allocated object. (Tech. Rep. CU-CS-826-97, Department of Computer Science, University of Colorado, Boulder, Co. January 1997).
|
 |
28
|
|
| |
29
|
Vargas, F. and Nicolaidis, M. 1994. SEU-tolerant SRAM design based on current monitoring. In Proceedings of 24th International Symposium on Fault-Tolerant Computing.
|
 |
30
|
|
| |
31
|
|
 |
32
|
|
| |
33
|
|
| |
34
|
Zhang, W., Gurumurthi, S., Kandemir, M., and Sivasubramaniam, A. 2003. ICR: In-Cache Replication for Enhancing Data Cache Reliability. In Proceedings of the 2003 International Conference on Dependable Systems and Networks. 291--300.
|
REVIEW
"Xiaojun Li : Reviewer"
This paper introduces a new, promising way of protecting embedded memory by exploring architecture alternatives-partial protection-and compiler optimizations-program profiling and selective placement of code and data in protected sections of memor
more...
|