Skip to main content

Approximate Memory: Data Storage in the Context of Approximate Computing

  • Chapter
  • First Online:

Abstract

In modern computing many applications exist which do not require exact results or for which a single golden, correct solution does not exist. Consider web search as an example. The user does not know in what order which results would appear and considers any outcome as acceptable or correct for which the returned results are related to the search topic. These kinds of applications are inherently error tolerant. In particular, applications on mobile devices belong to this class, since they include games, digital media processing, web browsing, etc. However, in all of these applications, some data may be more resilient to errors than others. Approximate Computing (AC) is a design paradigm that tries to make use of this error tolerance by trading accuracy for performance.

In this chapter, we give an overview of techniques used to increase the performance of memory in modern circuits, by reducing the exactness requirements of the stored data (i.e., stored data may be lost or approximated by other stored data). After a short overview of the architecture of both SRAM and DRAM, we review techniques used for data partitioning. This is necessary in order to characterize which data may be stored approximately and which may not. Additionally, we describe techniques to reduce the power consumption as well as the performance of SRAM and DRAM. Finally, we present an approach that relaxes the requirement of exact matching when looking for a previously computed result to speed up the computation.

This is a preview of subscription content, log in via an institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   84.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD   109.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Notes

  1. 1.

    VDD is the common abbreviation for the supply voltage and GND for ground, respectively.

  2. 2.

    This means that they keep their state until another value is stored.

  3. 3.

    ProACt is based on RISC-V [22], a state-of-the-art open-source 64-bit RISC architecture.

References

  1. Liu, S., Pattabiraman, K., Moscibroda, T., Zorn, B.G.: Flikker: saving dram refresh-power through critical data partitioning. SIGPLAN Not. 46(3), 213–224 (2011)

    Article  Google Scholar 

  2. Ataei, S., Stine, J.E.: A 64 kb approximate sram architecture for low-power video applications. IEEE Embed. Syst. Lett. 10, 10–13 (2017)

    Article  Google Scholar 

  3. Baker, R.J.: CMOS Circuit Design, Layout, and Simulation, 3rd edn. Wiley-IEEE Press, Hoboken (2010)

    Book  Google Scholar 

  4. Lui, J., Jaiyen, B., Kim, Y., Wilkerson, C., Mutlu, O.: An experimental study of data retention behavior in modern dram devices: implications for retention time profiling mechanisms. In: Proceedings of the 40th Annual International Symposium on Computer Architecture (ISCA), pp. 60–71 (2013)

    Google Scholar 

  5. Sampson, A., Dietl, W., Fortuna, E., Gnanapragasam, D., Ceze, L., Grossman, D.: EnerJ: approximate data types for safe and general low-power computation. In: Proceedings of the 32nd ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI), pp. 164–174 (2011)

    Article  Google Scholar 

  6. Chandrasekharan, A., Große, D., Drechsler, R.: ProACt: a processor for high performance on-demand approximate computing. In: ACM Great Lakes Symposium on VLSI, pp. 463–466 (2017)

    Google Scholar 

  7. Esmaeilzadeh, H., Sampson, A., Ceze, L., Burger, D.: Architecture support for disciplined approximate programming. In: International Conference on Architectural Support for Programming Languages and Operating Systems, pp. 301–312 (2012)

    Google Scholar 

  8. Venkataramani, S., Chippa, V.K., Chakradhar, S.T., Roy, K., Raghunathan, A.: Quality programmable vector processors for approximate computing. In: 46th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO), pp. 1–12 (2013)

    Google Scholar 

  9. Shoushtari, M., Banaiyan, A., Dutt, N.: Relaxed cache: relaxing manufacturing guard-bands in memories for energy saving. Center for Embedded Computer Systems, Irvine, CA, Tech. Rep. (2014)

    Google Scholar 

  10. Shoushtari, M., Banaiyan, A., Dutt, N.: Exploiting partially-forgetful memories for approximate computing. IEEE Embed. Syst. Lett. 7(1), 19–22 (2015)

    Article  Google Scholar 

  11. Imani, M., Rahimi, A., Rosing, T.S.: Resistive configurable associative memory for approximate computing. In: Design, Automation and Test in Europe, pp. 1327–1332 (2016)

    Google Scholar 

  12. Ataei, S., Stine, J.E.: Multi bitline replica delay technique for variation tolerant timing of SRAM. In: ACM Great Lakes Symposium on VLSI, pp. 173–178 (2015)

    Google Scholar 

  13. Yang, L., Murmann, B.: Approximate sram for energy-efficient, privacy-preserving convolutional neural networks. In: IEEE Annual Symposium on VLSI, pp. 689–694 (2017)

    Google Scholar 

  14. Binkert, N., Beckmann, B., Black, G., Reinhardt, S.K., Saidi, A., Basu, A., Hestness, J., Hower, D.R., Krishna, T., Sardashti, S., Sen, R., Sewell, K., Shoaib, M., Vaish, N., Hill, M.D., Wood, D.A.: The gem5 simulator. SIGARCH Comput. Archit. News 39(2), 1–7 (2011)

    Article  Google Scholar 

  15. Guthaus, M.R., Ringenberg, J.S., Ernst, D., Austin, T.M., Mudge, T., Brown, R.B.: Mibench: a free, commercially representative embedded benchmark suite. In: 2001 IEEE International Workshop on Proceedings of the Workload Characterization, 2001. WWC-4, pp. 3–14 (2001)

    Google Scholar 

  16. Bhati, I., Chishti, Z., Lu, S.-L., Jacob, B.: Flexible auto-refresh: enabling scalable and energy-efficient dram refresh reductions. In: International Symposium on Computer Architecture (ISCA), pp. 235–246 (2015)

    Google Scholar 

  17. Liu, J., Jaiyen, B., Veras, R., Mutlu, O.: RAIDR: retention-aware intelligent dram refresh. In: International Symposium on Computer Architecture (ISCA), pp. 1–12 (2012)

    Google Scholar 

  18. Raha, A., Sutar, S., Jayakumar, H., Raghunatah, V.: Quality configurable approximate dram. IEEE Trans. Comput. 66, 1172–1187 (2017)

    Article  MathSciNet  Google Scholar 

  19. Jung, M., Mathew, D.M., Weis, C., Wehn, N.: Invited - approximate computing with partially unreliable dynamic random access memory - approximate dram. In: Design Automation of Conference, pp. 100:1–100:4 (2016)

    Google Scholar 

  20. Bhalodia, V.: Scale dram subsystem power analysis. Massachusetts Institute of Technology (2005)

    Google Scholar 

  21. Venkatesan, R.K., Herr, S., Rotenberg, E.: Retention-aware placement in dram (rapid): software methods for quasi-non-volatile dram. In: International Conference on High-Performance Computer Architecture HPCA, pp. 157–167 (2006)

    Google Scholar 

  22. Waterman, A., Lee, Y., Patterson, D.A., Asanovic, K.: The RISC-V instruction set manual, volume i: base user-level ISA. EECS Department, UC Berkeley, Tech. Rep. UCB/EECS-2011-62 (2011)

    Google Scholar 

  23. Johnson, R.P.: Contrast based edge detection. Pattern Recogn. 23(3–4), 311–318 (1990)

    Article  Google Scholar 

  24. Chandrasekharan, A., Soeken, M., Große, D., Drechsler, R.: Precise error determination of approximated components in sequential circuits with model checking. In: Design Automation Conference, pp. 129:1–129:6 (2016)

    Google Scholar 

  25. Chandrasekharan, A., Soeken, M., Große, D., Drechsler, R.: Approximation-aware rewriting of AIGs for error tolerant applications. In: International Conference on Computer-Aided Design, pp. 83:1–83:8 (2016)

    Google Scholar 

  26. Froehlich, S., Große, D., Drechsler, R.: Approximate hardware generation using symbolic computer algebra employing Gröbner basis. In: Design, Automation and Test in Europe, pp. 889–892 (2018)

    Google Scholar 

  27. Froehlich, S., Große, D., Drechsler, R.: Towards reversed approximate hardware design. In: EUROMICRO Symposium on Digital System Design (2018)

    Google Scholar 

Download references

Acknowledgements

The authors would like to thank Arun Chandrasekharan for his significant contributions to ProACt.

This work was supported in part by the German Research Foundation (DFG) within the project MANIAC (DR 287/29-1), by the Reinhart Koselleck Project DR 287/23-1, and by the University of Bremen’s graduate school SyDe, funded by the German Excellence Initiative.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Saman Froehlich .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2020 Springer Nature Switzerland AG

About this chapter

Check for updates. Verify currency and authenticity via CrossMark

Cite this chapter

Froehlich, S., Große, D., Drechsler, R. (2020). Approximate Memory: Data Storage in the Context of Approximate Computing. In: Große, C., Drechsler, R. (eds) Information Storage. Springer, Cham. https://doi.org/10.1007/978-3-030-19262-4_4

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-19262-4_4

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-19261-7

  • Online ISBN: 978-3-030-19262-4

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics