DOI QR코드

DOI QR Code

A Review of Data Management Techniques for Scratchpad Memory

스크래치패드 메모리를 위한 데이터 관리 기법 리뷰

  • 조두산 (순천대학교 전자공학과 )
  • Received : 2022.12.30
  • Accepted : 2023.01.13
  • Published : 2023.01.31

Abstract

Scratchpad memory is a software-controlled on-chip memory designed and used to mitigate the disadvantages of existing cache memories. Existing cache memories have TAG-related hardware control logic, so users cannot directly control cache misses, and their sizes are large and energy consumption is relatively high. Scratchpad memory has advantages in terms of size and energy consumption because it eliminates such hardware overhead, but there is a burden on software to manage data. In this study, data management techniques of scratchpad memory were classified and examined, and ways to maximize the advantages were discussed.

스크래치패드 메모리는 소프트웨어 제어 온칩 메모리로서 기존의 캐시 메모리의 단점을 완화할 수 있게 설계되어 이용되고 있다. 기존의 캐시 메모리는 태그 관련 하드웨어 제어 로직이 있어 캐시 미스를 사용자가 직접 제어할 수 없으며, 사이즈가 크고 에너지 소모량이 상대적으로 많다. 스크래치패드 메모리는 이러한 하드웨어 오버헤드를 제거하였기 때문에 사이즈, 에너지 소모량에서 장점이 있으나 데이터 관리를 소프트웨어가 해야하는 부담이 존재한다. 본 연구에서는 스크래치패드 메모리의 데이터 관리 기법들을 분류하여 살펴보고 그 장점을 극대화할 수 있는 방안에 대하여 논의하였다.

Keywords

Acknowledgement

This work was supported by a Research promotion program of SCNU.

References

  1. Avissar, Barua, Stewart, "An Optimal Memory Allocation Scheme for Scratch Pad Based Embedded Systems," ACM Trans. on Embedded Computing Systems (TECS), Vol. 1, No. 1, pp. 6-26, (2002). https://doi.org/10.1145/581888.581891 
  2. Baiocchi, Childers, Davidson, Hiser, Misurda, "Fragment cache management for dynamic binary translators in embedded systems with scratchpad" Proc. of the 2007 Int. Conf. on Compilers, Architecture, and Synthesis for Embedded Systems (2007). https://doi.org/10.1145/1289881.1289898 
  3. Rajeshwari Banakar, Stefan Steinke, Bo-Sik Lee, M. Balakrishnan, and Peter Marwedel, "Scratchpad memory: design alternative for cache on-chip memory in embedded systems," In Proceedings of the tenth international symposium on Hardware/software codesign, 73-78, (2005). https://doi.org/10.1145/774789.774805 
  4. Preeti Ranjan Panda, Nikil D. Dutt, and Alexandru Nicolau. "Efficient Utilization of Scratch-Pad Memory in Embedded Processor Applications," In Proceedings of the European conference on Design and Test, (1997). https://doi.org/10.5555/787260.787762 
  5. Sjodin, von Platen, "Storage allocation for embedded processors," proceedings of the international conference on compilers, architecture, and synthesis for embedded systems, (2001).http://doi.org/10.1145/502217.502221 
  6. Oren Avissar, Rajeev Barua, and Dave Stewart. "Heterogeneous memory management for embedded systems," In Proceedings of the international conference on Compilers, architecture, and synthesis for embedded systems, (2001). 
  7. Nghi Nguyen, Angel Dominguez, and Rajeev Barua. "Memory allocation for embedded systems with a compile-time-unknown scratch-pad size," In Proceedings of the international conference on Compilers, architectures and synthesis for embedded systems, (2005). 
  8. Manish Verma, Stefan Steinke, and Peter Marwedel. "Data partitioning for maximal scratchpad usage," In Proceedings of the Asia and South Pacific Design Automation Conference, (2003). 
  9. Stefan Steinke, Lars Wehmeyer, Bo-Sik Lee, Peter Marwedel, "Assigning Program and Data Objects to Scratchpad for Energy Reduction," In Proceedings of Design, Automation & Test in Europe Conference & Exhibition, (2002). 
  10. Sumesh Udayakumaran and Rajeev Barua. "Compiler-decided dynamic memory allocation for scratch-pad based embedded systems," In Proceedings of the international conference on Compilers, architecture and synthesis for embedded systems (2003). 
  11. Angel Dominguez, Sumesh Udayakumaran, and Rajeev Barua, "Heap data allocation to scratch-pad memory in embedded systems," J. Embedded Comput. 1, 4 (2005). 
  12. Lian Li, Lin Gao, Jingling Xue, "Memory coloring: a compiler approach for scratchpad memory management," In proceedings of International Conference on Parallel Architectures and Compilation Techniques, (2005). 
  13. M. Kandemir, J. Ramanujam, J. Irwin, N. Vijaykrishnan, I. Kadayif, and A. Parikh, "Dynamic management of scratch-pad memory space," In Proceedings of the 38th annual Design Automation Conference (2001). 
  14. Jingtong Hu, Chun Jason Xue, Qingfeng Zhuge, Wei-Che Tseng, Edwin H.-M. Sha, "Towards energy efficient hybrid on-chip Scratch Pad Memory with non-volatile memory," Design, Automation & Test in Europe (2011) 
  15. Poletti Francesco, Paul Marchal, David Atienza, Luca Benini, Francky Catthoor, and Jose M. Mendias. "An integrated hardware/software approach for run-time scratchpad management," In Proceedings of the 41st annual Design Automation Conference (2004). 
  16. Sumesh Udayakumaran, Angel Dominguez, and Rajeev Barua, "Dynamic allocation for scratch-pad memory using compile-time decisions," ACM Trans. Embed. Comput. Syst. 5, 2 (2006), 472-511. https://doi.org/10.1145/1151074.1151085 
  17. Manish Verma and Peter Marwedel, "Overlay techniques for scratchpad memories in low power embedded processors," IEEE Trans. Very Large Scale Integr. Syst. 14, 8 (2006), 802-815.https://doi.org/10.1109/TVLSI.2006.878469 
  18. Bernhard Egger, Jaejin Lee, and Heonshik Shin, "Dynamic scratchpad memory management for code in portable systems with an MMU," ACM Trans. Embed. Comput. Syst. 7, 2, Article 11 (2008). https://doi.org/10.1145/1331331.1331335 
  19. Arun Kannan; Aviral Shrivastava; Amit Pabalkar; Jong-eun Lee, "A software solution for dynamic stack management on scratch pad memory," Asia and South Pacific Design Automation Conference (2009)https://doi.org/10.1109/ASPDAC.2009.4796548 
  20. Ke Bai and Aviral Shrivastava, "Heap data management for limited local memory (LLM) multi-core processors," In Proceedings of the eighth IEEE/ACM international conference on Hardware/software codesign and system synthesis (2010). https://doi.org/10.1145/1878961.1879015 
  21. Ke Bai and Aviral Shrivastava, "Automatic and efficient heap data management for limited local memory multicore architectures," In Proceedings of the Conference on Design, Automation and Test in Europe (2013).https://doi.org/10.7873/DATE.2013.130 
  22. V. Suhendra, T. Mitra, A. Roychoudhury, Ting Chen, "WCET centric data allocation to scratchpad memory," In the proceedings of the 26th IEEE International Real-Time Systems Symposium(2005). https://doi.org/10.1109/RTSS.2005.45