Skip to main content

In-Memory Computing: The Integration of Storage and Processing

  • Chapter
  • First Online:

Abstract

In today’s computer architectures, the data is processed and stored in two separate units. Therefore, a communication system is needed to transfer the data between these two main components. The required time for communcation to access the stored data limits performance of the processor to much less than its potential. This problem is especially challenging due to the emergence of new applications which require huge amount of data to be processed in real time. Some of the advanced emerging memory technologies may provide a solution for this problem by allowing to perform logic operations within the memory cells. This enables a new generation of computer architectures in which the memory and the processor are unified. In this context, this chapter presents the state of the art for in-memory computation of logical functions using the Resistive RAM technology. In particular, the chapter introduces a logic-in-memory computer architecture and shows how it can be programmed to efficiently compute arbitrary arithmetic and control functions such as those frequently used in modern computers’ processing units.

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.

    The smallest unit of measurement used to quantify computer data which can adopt either value 0 or 1.

  2. 2.

    It is equal to 4 GHz (4 × 109) clock rate, that is, the speed of the processor to execute tasks.

  3. 3.

    A byte consists of 8 bits.

  4. 4.

    http://lsi.epfl.ch/benchmarks.

References

  1. Amarù, L.G., Gaillardon, P.-E., Micheli, G.D.: Majority-inverter graph: a novel data-structure and algorithms for efficient logic optimization. In: Design Automation Conference, pp. 194:1–194:6 (2014)

    Google Scholar 

  2. Amarù, L.G., Gaillardon, P.-E., De Micheli, G.: Majority-inverter graph: a new paradigm for logic optimization. IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. 35, 806–819 (2015)

    Article  Google Scholar 

  3. Bollig, B., Wegener, I.: Improving the variable ordering of OBDDs is NP-complete. IEEE Trans. Comput. 45(9), 993–1002 (1996)

    Article  Google Scholar 

  4. Borghetti, J., Snider, G.S., Kuekes, P.J., Yang, J.J., Stewart, D.R., Williams, R.S.: Memristive switches enable stateful logic operations via material implication. Nature 464, 873–876 (2010)

    Article  Google Scholar 

  5. Chakraborti, S., Chowdhary, P., Datta, K., Sengupta, I.: BDD based synthesis of Boolean functions using memristors. In: 2014 9th International Design and Test Symposium (IDT), pp. 136–141 (2014)

    Google Scholar 

  6. Drechsler, R., Sieling, D.: Binary decision diagrams in theory and practice. Int. J. Softw. Tools Technol. Trans. 3(2), 112–136 (2001)

    MATH  Google Scholar 

  7. Gaillardon, P.-E., Amarù, L., Siemon, A., Linn, E., Waser, R., Chattopadhyay, A., De Micheli, G.: The programmable logic-in-memory (PLiM) computer. In: Design Automation & Test in Europe, pp. 427–432 (2016)

    Google Scholar 

  8. Hamdioui, S., Taouil, M., Haron, N.Z.: Testing open defects in memristor-based memories. IEEE Trans. Comput. 64(1), 247–259 (2015)

    Article  MathSciNet  Google Scholar 

  9. Kim, Y.B., Lee, S.R., Lee, D., Lee, C.B., Chang, M., Hur, J.H., Lee, M.J., Park, G.S., Kim, C.J., Chung, U.I., Yoo, I.K., Kim, K.: Bi-layered rram with unlimited endurance and extremely uniform switching. In: Symposium on VLSI Technology, pp. 52–53 (2011)

    Google Scholar 

  10. Kuehlmann, A., Paruthi, V., Krohm, F., Ganai, M.K.: Robust Boolean reasoning for equivalence checking and functional property verification. IEEE Trans. Comput.-Aided Des. Integr. Circuits Syst. 21(12), 1377–1394 (2002)

    Article  Google Scholar 

  11. Lee, H.Y., Chen, Y.S., Chen, P.S., Gu, P.Y., Hsu, Y.Y., Wang, S.M., Liu, W.H., Tsai, C.H., Sheu, S.S., Chiang, P.C., Lin, W.P., Lin, C.H., Chen, W.S., Chen, F.T., Lien, C.H., Tsai, M.J.: Evidence and solution of over-reset problem for HfOX based resistive memory with sub-ns switching speed and high endurance. In: IEEE International Meeting on Electron Devices, pp. 19.7.1–19.7.4 (2010)

    Google Scholar 

  12. Shannon, C.E.: A symbolic analysis of relay and switching circuits. Thesis (M.S.)–Massachusetts Institute of Technology, Department of Electrical Engineering (1940)

    Google Scholar 

  13. Shirinzadeh, S., Soeken, M., Drechsler, R.: Multi-objective BDD optimization with evolutionary algorithms. In: Proceedings of the 2015 Annual Conference on Genetic and Evolutionary Computation (GECCO), pp. 751–758 (2015)

    Google Scholar 

  14. Shirinzadeh, S., Soeken, M., Drechsler, R.: Multi-objective BDD optimization for RRAM based circuit design. In: International Symposium on Design and Diagnostics of Electronic Circuits & Systems (2016)

    Google Scholar 

  15. Shirinzadeh, S., Soeken, M., Gaillardon, P.-E., Drechsler, R.: Fast logic synthesis for RRAM-based in-memory computing using majority-inverter graphs. In: Design, Automation & Test in Europe (2016)

    Google Scholar 

  16. Shirinzadeh, S., Soeken, M., Gaillardon, P., Micheli, G.D., Drechsler, R.: Endurance management for resistive logic-in-memory computing architectures. In: Design, Automation & Test in Europe, pp. 1092–1097 (2017)

    Google Scholar 

  17. Shirinzadeh, S., Soeken, M., Gaillardon, P.-E., Drechsler, R.: Logic synthesis for RRAM-based in-memory computing. IEEE Trans. Comput.-Aided Des. Integr. Circuits Syst. 37, 1422–1435 (2017)

    Article  Google Scholar 

  18. Soeken, M., Shirinzadeh, S., Gaillardon, P.-E., Amarù, L.G., Drechsler, R., De Micheli, G.: An MIG-based compiler for programmable logic-in-memory architectures. In: Design Automation Conference, pp. 117:1–117:6 (2016)

    Google Scholar 

  19. Soeken, M., Gaillardon, P.E., Shirinzadeh, S., Drechsler, R., Micheli, G.D.: A plim computer for the internet of things. Computer 50(6), 35–40 (2017)

    Article  Google Scholar 

  20. Wang, J., Dong, X., Xie, Y., Jouppi, N.P.: Endurance-aware cache line management for non-volatile caches. ACM Trans. Archit. Code Optim. 11(1), 4:1–4:25 (2014)

    Google Scholar 

  21. Wong, H.S.P., Lee, H.Y., Yu, S., Chen, Y.S., Wu, Y., Chen, P.S., Lee, B., Chen, F.T., Tsai, M.J.: Metal-oxide RRAM. Proc. IEEE 100(6), 1951–1970 (2012)

    Article  Google Scholar 

  22. Xu, C., Niu, D., Muralimanohar, N., Balasubramonian, R., Zhang, T., Yu, S., Xie, Y.: Overcoming the challenges of crossbar resistive memory architectures. In: IEEE International Symposium on High Performance Computer Architecture, pp. 476–488 (2015)

    Google Scholar 

  23. Yang, S.: Logic synthesis and optimization benchmarks user guide: Version 3.0. MCNC (1991)

    Google Scholar 

  24. Zhang, H., Chen, G., Ooi, B.C., Tan, K.L., Zhang, M.: In-memory big data management and processing: a survey. IEEE Trans. Knowl. Data Eng. 27(7), 1920–1948 (2015)

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Saeideh Shirinzadeh .

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

Shirinzadeh, S., Drechsler, R. (2020). In-Memory Computing: The Integration of Storage and Processing. In: Große, C., Drechsler, R. (eds) Information Storage. Springer, Cham. https://doi.org/10.1007/978-3-030-19262-4_3

Download citation

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

  • 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