Counting in the Presence of Memory Faults

  • Gerth Stølting Brodal
  • Allan Grønlund Jørgensen
  • Gabriel Moruz
  • Thomas Mølhave
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5878)


The faulty memory RAM presented by Finocchi and Italiano [1] is a variant of the RAM model where the content of any memory cell can get corrupted at any time, and corrupted cells cannot be distinguished from uncorrupted cells. An upper bound, δ, on the number of corruptions and O(1) reliable memory cells are provided. In this paper we investigate the fundamental problem of counting in faulty memory. Keeping many reliable counters in the faulty memory is easily done by replicating the value of each counter Θ(δ) times and paying Θ(δ) time every time a counter is queried or incremented. In this paper we decrease the expensive increment cost to o(δ) and present upper and lower bound tradeoffs decreasing the increment time at the cost of the accuracy of the counters.


Memory Cell Failed Probe Additive Error Logical Block Soft Error 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Finocchi, I., Italiano, G.F.: Sorting and searching in the presence of memory faults (without redundancy). In: Proc. 36th Annual ACM Symposium on Theory of Computing, pp. 101–110 (2004)Google Scholar
  2. 2.
    Constantinescu, C.: Trends and challenges in VLSI circuit reliability. IEEE micro 23(4), 14–19 (2003)CrossRefGoogle Scholar
  3. 3.
    Tezzaron Semiconductor: Soft errors in electronic memory - a white paper (2004),
  4. 4.
    Baumann, R.: Soft errors in advanced computer systems. IEEE Design and Test of Computers 22(3), 258–266 (2005)CrossRefGoogle Scholar
  5. 5.
    Taber, A., Normand, E.: Single event upset in avionics. IEEE Transactions on Nuclear Science 40(2), 120–126 (1993)CrossRefGoogle Scholar
  6. 6.
    Govindavajhala, S., Appel, A.W.: Using memory errors to attack a virtual machine. In: IEEE Symposium on Security and Privacy, pp. 154–165 (2003)Google Scholar
  7. 7.
    Bar-El, H., Choukri, H., Naccache, D., Tunstall, M., Whelan, C.: The sorcerer’s guide to fault attacks. Proceedings of the IEEE 94(2), 370–382 (2006)CrossRefGoogle Scholar
  8. 8.
    Boneh, D., DeMillo, R.A., Lipton, R.J.: On the importance of checking cryptographic protocols for faults. In: Fumy, W. (ed.) EUROCRYPT 1997. LNCS, vol. 1233, pp. 37–51. Springer, Heidelberg (1997)Google Scholar
  9. 9.
    Skorobogatov, S.P., Anderson, R.J.: Optical fault induction attacks. In: Kaliski Jr., B.S., Koç, Ç.K., Paar, C. (eds.) CHES 2002. LNCS, vol. 2523, pp. 2–12. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  10. 10.
    Huang, K.H., Abraham, J.A.: Algorithm-based fault tolerance for matrix operations. IEEE Transactions on Computers 33, 518–528 (1984)zbMATHCrossRefGoogle Scholar
  11. 11.
    Rela, M.Z., Madeira, H., Silva, J.G.: Experimental evaluation of the fail-silent behaviour in programs with consistency checks. In: Proc. 26th Annual International Symposium on Fault-Tolerant Computing, pp. 394–403 (1996)Google Scholar
  12. 12.
    Abadi, M., Budiu, M., Erlingsson, Ú., Ligatti, J.: Control-flow integrity. In: Proc. 12th ACM conference on Computer and communications security, pp. 340–353 (2005)Google Scholar
  13. 13.
    Pradhan, D.K.: Fault-tolerant computer system design. Prentice-Hall, Inc., Englewood Cliffs (1996)Google Scholar
  14. 14.
    Novark, G., Berger, E.D., Zorn, B.G.: Exterminator: Automatically correcting memory errors with high probability. Communications of the ACM 51(12), 87–95 (2008)CrossRefGoogle Scholar
  15. 15.
    Aumann, Y., Bender, M.A.: Fault tolerant data structures. In: Proc. 37th Annual Symposium on Foundations of Computer Science, pp. 580–589 (1996)Google Scholar
  16. 16.
    Leighton, T., Ma, Y.: Tight bounds on the size of fault-tolerant merging and sorting networks with destructive faults. SIAM Journal on Computing 29(1), 258–273 (2000)CrossRefMathSciNetGoogle Scholar
  17. 17.
    Chlebus, B.S., Gasieniec, L., Pelc, A.: Deterministic computations on a pram with static processor and memory faults. Fundamenta Informaticae 55(3-4), 285–306 (2003)zbMATHMathSciNetGoogle Scholar
  18. 18.
    Ravikumar, B.: A fault-tolerant merge sorting algorithm. In: Proc. 8th Annual International Conference on Computing and Combinatorics, pp. 440–447 (2002)Google Scholar
  19. 19.
    Kutten, S., Peleg, D.: Tight fault locality. SIAM Journal on Computing 30(1), 247–268 (2000)zbMATHCrossRefMathSciNetGoogle Scholar
  20. 20.
    Finocchi, I., Grandoni, F., Italiano, G.F.: Designing reliable algorithms in unreliable memories. Computer Science Review 1(2), 77–87 (2007)CrossRefGoogle Scholar
  21. 21.
    Brodal, G.S., Fagerberg, R., Finocchi, I., Grandoni, F., Italiano, G.F., Jørgensen, A.G., Moruz, G., Mølhave, T.: Optimal resilient dynamic dictionaries. In: Arge, L., Hoffmann, M., Welzl, E. (eds.) ESA 2007. LNCS, vol. 4698, pp. 347–358. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  22. 22.
    Finocchi, I., Grandoni, F., Italiano, G.F.: Resilient search trees. In: Proc. 18th ACM-SIAM Symposium on Discrete Algorithms, pp. 547–553 (2007)Google Scholar
  23. 23.
    Finocchi, I., Grandoni, F., Italiano, G.F.: Optimal resilient sorting and searching in the presence of dynamic memory faults. Theoretical Computer Science (to appear, 2009)Google Scholar
  24. 24.
    Jørgensen, A.G., Moruz, G., Mølhave, T.: Priority queues resilient to memory faults. In: Proc. 10th International Workshop on Algorithms and Data Structures, pp. 127–138 (2007)Google Scholar
  25. 25.
    Ferraro-Petrillo, U., Finocchi, I., Italiano, G.F.: The price of resiliency: A case study on sorting with memory faults. In: Azar, Y., Erlebach, T. (eds.) ESA 2006. LNCS, vol. 4168, pp. 768–779. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  26. 26.
    Brodal, G.S., Jørgensen, A.G., Mølhave, T.: Fault tolerant external memory algorithms. In: Proc. 11th Algorithms and Data Structures Symposium, pp. 411–422 (2009)Google Scholar
  27. 27.
    Boyer, R.S., Moore, J.S.: MJRTY: A fast majority vote algorithm. In: Automated Reasoning: Essays in Honor of Woody Bledsoe, pp. 105–118 (1991)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2009

Authors and Affiliations

  • Gerth Stølting Brodal
    • 1
  • Allan Grønlund Jørgensen
    • 1
  • Gabriel Moruz
    • 2
  • Thomas Mølhave
    • 3
  1. 1.MADALGO, Department of Computer ScienceAarhus University 
  2. 2.MADALGO, Institut für InformatikGoethe University Frankfurt am Main 
  3. 3.Department of Computer ScienceDuke University 

Personalised recommendations