Journal of Signal Processing Systems

, Volume 84, Issue 1, pp 151–162 | Cite as

Data Allocation with Minimum Cost under Guaranteed Probability for Multiple Types of Memories

  • Shouzhen Gu
  • Qingfeng Zhuge
  • Juan Yi
  • Jingtong Hu
  • Edwin H.-M. Sha


As the advance of memory technologies, multiple types of memories such as different kinds of non-volatile memory (NVM), SRAM, DRAM, etc. provide a flexible configuration considering performance, energy and cost. For improving the performance of systems with multiple types of memories, data allocation is one of the most important tasks. The previous studies on data allocation problem assume the worst (fixed) case of data-access frequencies. However, the data allocation produced by employing worst case usually leads to an inferior performance for most of time. In this paper, we model this problem by probabilities and design efficient algorithms that can give optimal-cost data allocation with a guaranteed probability. We propose DAGP algorithm produces a set of feasible data allocation solutions which generates the minimum access time or cost guaranteed by a given probability. We also propose a polynomial-time algorithm, MCS algorithm, to solve this problem. The experiments show that our technique can significantly reduce the access cost compared with the technique considering worst case scenario. For example, comparing with the optimal result generated by employing the worst cases, DAGP can reduce memory access cost by 9.92 % on average when guaranteed probability is set to be 0.9. Moreover, for 90 percents of cases, memory access time is reduced by 12.47 % on average. Comparing with greedy algorithm, DAGP and MCS can reduce memory access cost by 78.92 % and 44.69 % on average when guaranteed probability is set to be 0.9.


Guaranteed probability Data allocation Minimum cost Multiple types of memories Non-volatile memory 



This work is partially supported by National 863 Program 2013AA013202, Chongqing High-Tech Research Program csct2012ggC40005, NSFC 61173014, NSFC 61472052.


  1. 1.
    Absar, M.J., & Catthoor, F. (2005). Compiler-based approach for exploiting scratch-pad in presence of irregular array access. In: Proceedings of DATE, pp. 7–11.Google Scholar
  2. 2.
    Chen, G., Ozturk, O., Kandemir, M.T., Karakoy, M. (2006). Dynamic scratch-pad memory management for irregular array access patterns. In: Proceedings of DATE, pp. 931–936.Google Scholar
  3. 3.
    Chen, Y., Li, H., Wang, X., Zhu, W., Xu, W., Zhang, T. (2010). A nondestructive self-reference scheme for spin-transfer torque random access memory (stt-ram). In: Proceedings of DATE, pp. 148–153.Google Scholar
  4. 4.
    Chun, K.C., Jain, P., Kim, C.H. (2009). A 0.9v, 65nm logic-compatible embedded dram with > 1ms data retention time and 53 sram. In: Proceedings of the 2009 International Symposium on Low Power Electronics and Design (ISLPED), pp. 119–120.Google Scholar
  5. 5.
    Dhiman, G., Ayoub, R., Rosing, T.S. (2009). Pdram: A hybrid pram and dram main memory system. In: Proceedings of ACM/IEEE Design Automation Conference(DAC), pp. 664–669.Google Scholar
  6. 6.
    Dominguez, A., Udayakumaran, S., Barua, R. (2005). Heap data allocation to scratch-pad memory in embedded systems. Journal of Embedded Computing, 1, 2005.Google Scholar
  7. 7.
    Dong, X., Jouppi, N.P., Xie, Y. (2009). Pcramsim: System-level performance, energy, and area modeling for phase-change ram. In: Proceedings of IEEE/ACM Int. Conf. Comput.-Aided Design, pp. 269–275.Google Scholar
  8. 8.
    Dong, X., Wu, X., Sun, G., xie, Y., Li, H., Chen, Y. (2008). Circuit and microarchitecture evaluation of 3d stacking magnetic ram (mram) as a universal memory replacement. In: Proceedings of ACM/IEEE Design Automation Conference(DAC), pp. 554–559.Google Scholar
  9. 9.
    Hu, J., Xue, C.J., Zhuge, Q., Tseng, W.C., Sha, E.H.M. (2011). Towards energy efficient hybrid on-chip scratch pad memory with non-volatile memory. In: Proceedings of DATE, pp. 1–6.Google Scholar
  10. 10.
    Hu, J., Xue, C.J., Zhuge, Q., Tseng, W.C., Sha, E.H.M. (2013). Data allocation optimization for hybrid scratch pad memory with sram and nonvolatile memory. IEEE TRANSACTIONS ON VERY LARGE SCALE INTEGRATION (VLSI) SYSTEMS, 6, 1094 –1102.CrossRefGoogle Scholar
  11. 11.
    Joo, Y., Niu, D., Dong, X., Sun, G., Chang, N., Xie, Y. (2010). Energy- and endurance-aware design of phase change memory caches. In: Proceedings of DATE, pp. 136–141.Google Scholar
  12. 12.
    Kandemir, M.T., Ramanujam, J., Irwin, M.J., Vijaykrishnan, N., Kadayif, I., Parikh, A.N. (2001). Dynamic management of scratch-pad memory space. In: Proceedings of ACM/IEEE Design Automation Conference(DAC), pp. 690–695.Google Scholar
  13. 13.
    Zhang, C., Wang, Y., Wang, T., Chen, R., Liu, D., Shao, Z. (2014). Deterministic crash recovery for NAND flash based storage systems. In: Proceedings of ACM/IEEE Design Automation Conference(DAC), pp. 1–6.Google Scholar
  14. 14.
    Chen, R., Wang, Y., Shao, Z. (2013). DHeating: Dispersed Heating Repair for Self-Healing NAND Flash Memory. In: Proceedings of the Ninth IEEE/ACM/IFIP International Conference on Hardware/Software Codesign and System Synthesis (CODES+ISSS), pp.7.Google Scholar
  15. 15.
    Guan, Y., & Wang, G. (2013). Wang, Y.,Chen, R., Shao, Z.: ”BLog: Block-level Log-block Management for NAND Flash Memory Storage Systems. In: Proceedings of 14th ACM SIGPLAN/SIGBED 2013 Conference on Languages, Compilers, and Tools for Embedded Systems (LCTES 2013), pp.111–120.Google Scholar
  16. 16.
    Lee, B.C., Ipek, E., Mutlu, O., Burger, D. (2009). Architecting phase change memory as a scalable dram alternative. In: proceedings of ISCA’09, pp. 2–13.Google Scholar
  17. 17.
    Liu, T., Zhao, Y., Xue, C.J., Li, M. (2011). Power-aware variable partitioning for dsps with hybrid pram and dram main memory. In: Proceedings of ACM/IEEE Design Automation Conference(DAC), pp. 405–410.Google Scholar
  18. 18.
    Lu, J., Bai, K., Shrivastava, A. (2013). Ssdm: Smart stack data management for software managed multicores (smms). In: Proceedings of ACM/IEEE Design Automation Conference(DAC), pp. 1–8.Google Scholar
  19. 19.
    Udayakumaran, S., & Barua, R. (2003). Compiler-decided dynamic memory allocation for scratch-pad based embedded systems. In: proceedings of CASES ’03, pp. 276–286.Google Scholar
  20. 20.
    Udayakumaran, S., & Barua, R. (2006). An integrated scratch-pad allocator for affine and non-affine code. In: Proceedings of DATE, pp. 925–930.Google Scholar
  21. 21.
    Udayakumaran, S., Dominguez, A., & Barua, R. (2006). Dynamic allocation for scratch-pad memory using compile-time decisions. ACM Trans Embed. Comput. Syst. (TECS), 5(2), 472–511.CrossRefGoogle Scholar
  22. 22.
    Wang, P., Sun, G., Wang, T., Xie, Y., Cong, J. (2013). Designing scratchpad memory architecture with emerging stt-ram memory technologies. In: Proc. ISCAS’13, pp. 1244–1247.Google Scholar
  23. 23.
    Wu, X., Li, J., Zhang, L., Speight, E.E., Xie, Y. (2009). Power and performance of read-write aware hybrid caches with non-volatile memories. In: Proceedings of DATE, pp. 737–742.Google Scholar
  24. 24.
    Wu, Y., & Larus, J.R. (1994). Static branch frequency and program profile analysis. In: MICRO 27 Proceedings of the 27th annual international symposium on Microarchitecture, pp. 1–11.Google Scholar
  25. 25.
    Zhou, P., zhao, B., Yang, J., Zhang, Y. (2009). A durable and energy efficient main memory using phase change memory technology. In: proceedings of ISCA’09, pp. 14–23.Google Scholar
  26. 26.
    Zhuge, Q., Guo, Y., Hu, J., Tseng, W.C., Xue, C.J., Sha, E.H.M. (2012). Minimizing access cost for multiple types of memory units in embedded systems through data allocation and scheduling. IEEE Transactions on Signal Processing, 60(6), 3253–3263.MathSciNetCrossRefGoogle Scholar

Copyright information

© Springer Science+Business Media New York 2015

Authors and Affiliations

  • Shouzhen Gu
    • 1
  • Qingfeng Zhuge
    • 1
    • 3
  • Juan Yi
    • 1
  • Jingtong Hu
    • 2
  • Edwin H.-M. Sha
    • 1
    • 3
  1. 1.College of Computer ScienceChongqing UniversityChongqingChina
  2. 2.School of Electrical and Computer EngineeringOklahoma State UniversityStillwaterUSA
  3. 3.Key Laboratory of Dependable Service Computing in Cyber Physical Society, Ministry of EducationChongqingChina

Personalised recommendations