JOURNAL BROWSE
Search
Advanced SearchSearch Tips
Garbage Collection Technique for Non-volatile Memory by Using Tree Data Structure
facebook(new window)  Pirnt(new window) E-mail(new window) Excel Download
  • Journal title : Journal of KIISE
  • Volume 43, Issue 2,  2016, pp.152-162
  • Publisher : Korean Institute of Information Scientists and Engineers
  • DOI : 10.5626/JOK.2016.43.2.152
 Title & Authors
Garbage Collection Technique for Non-volatile Memory by Using Tree Data Structure
Lee, Dokeun; Won, Youjip;
 
 Abstract
Most traditional garbage collectors commonly use the language level metadata, which is designed for pointer type searching. However, because it is difficult to use this metadata in non-volatile memory allocation platforms, a new garbage collection technique is essential for non-volatile memory utilization. In this paper, we design new metadata for managing information regarding non-volatile memory allocation called "Allocation Tree". This metadata is comprised of tree data structure for fast information lookup and a node that holds an allocation address and an object ID pair in key-value form. The Garbage Collector starts collecting when there are insufficient non-volatile memory spaces, and it compares user data and the allocation tree for garbage detection. We develop this algorithm in a persistent heap based non-volatile memory allocation platform called "HEAPO" for demonstration.
 Keywords
non-volatile memory;garbage collection;persistent object;persistent heap;
 Language
Korean
 Cited by
 References
1.
Dearle, A., Rosenberg, J., and Henskens, F., "An examination of operating system support for persistent object systems," Proc. of Twenty-fifth Annual Hawaii International Conference on System Sciences, 1992, Hawaii.

2.
T. Hwang, J. Jung, and Y. Won, "HEAPO: Heapbased Persistent Object Store," ACM Transactions on Storage, Vol. 11, Issue 1, Dec. 2014.

3.
B. C. Lee, E. Ipek, O. Mutlu, and D. Burger, "Architecting Phase Change Memory as a Scalable DRAM Alternative," ISCA 09: The 36th International Symposium on Computer Architecture, 2009.

4.
S. S. Eaton, D. B. Butler, M. parris, D. Wilson, and H. Mcneillie, "A ferroelectric nonvolatile memory," IEEE International Solid-State Circuits Conference, 1988.

5.
H. Yiming, "Spin-transfer torque MRAM (STTMRAM): Challenges and prospects," AAPPS Bulletin 18.6 (2008): 33-40.

6.
"The new microcontrollers with on-chip non-volatile memory ReRAM," (Press release). Panasonic. May 15, 2012. Retrieved May 16, 2012.

7.
I. Jantunen, J. Hamalainen, T. Korhonen, H. Kaaja, J. Jantunen, and S. Boldyrev, "System architecture for mobile-phone-readable RF memory tags," Proc. of UBICOMM, 2010.

8.
A. Akel, A. M. Caulfield, T. I. Mollov, R. K. Gupta, and S. Swanson, "Onyx: A prototype phase change memory storage array," Proc. of Workshop on Hot Topics in Storage and File Systems (HotStorage '11), 2011.

9.
Z. Liu, B. Wang, P. Carpenter, D. Li, J. S. Vetter, and W. Yu, "PCM-based durable write cache for fast disk I/O," Proc. of International Symposium on Modeling, Analysis & Simulation of Computer and Telecommunication Systems (MASCOTS'12), 2012.

10.
M. K. Qureshi, V. Srinivasan, and J. A. Rivers, "Scalable high performance main memory system using phase-change memory technology," ACM SIGARCH Comput. Archit. News, 37, 3 (June 2009). 24-33. crossref(new window)

11.
Y. M. Kang, H. J. Joo, J. H. Park, S. K. Kang, J. H. Kim, S. G. Oh, H. S. Kim, Y. J. Kang, J. Y. Jung, D. Y. Choi, and others, "World smallest 0.34/spl mu/m- COB cell 1T1C 64Mb FRAM with new sensing architecture and highly reliable MOCVD PZT integration technology," Proc. of Symposium on VLSI Technology, 2006.

12.
M. John, "Recursive Functions of Symbolic Expressions and Their Computation by Machine, Part I," Communication of the ACM 3.4(1960): 184-195, 1960. crossref(new window)

13.
T. Ugawa, R. E. Jones, and C. G. Ritson, "Reference object processing in on-the-fly garbage collection," Proc. of the 2014 international symposium on Memory management, ACM, 2014.

14.
K, Wolfgang, "Mapping objects to tables," Proc. of European Conference on Pattern Languages of Programming and Computing, Kloster Irsee, Germany, Vol. 206, 1997.

15.
J. Coburn, A. M. Caulfield, A. Akel, L. M. Grupp, R. K. Gupta, R. Jhala, and S. Swanson. 2011, "Nv-heaps: Making persistent objects fast and safe with next-generation, non-volatile memories," Proc. of International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS'11), 2011.

16.
H. Volos, A. J. Tack, and M. M. Swift. "Mnemosyne: Lightweight persistent memory," Proc. of International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS'11), 2011.

17.
J. Condit, E. B. Nightingale, C. Frost, E. Ipek, B. Lee, D. Burger, and D. Coetzee, "Better I/O through byte-addressable, persistent memory," Proc. of the ACM SIGOPS Symposium on Operating Systems Principles (SOSP'09), 2009.

18.
X. Wu and A. L. N. Reddy, "SCMFS: A file system for storage class memory," Proc. of International Conference for High Performance Computing, Networking, Storage and Analysis (SC'11), 2011.

19.
J. Guerra, L. Marmol, D. Campello, C. Crespo, R. Rangaswami, and J. Wei. 2012, "Software persistent memory," Proc. of USENIX Annual Technical Conference (ATC), 2012.

20.
S. R. Dulloor, S. Kumar, A. Keshavamurthy, P. Lantz, D. Reddy, R. Sankaran, and J. Jackson, "System software for persistent memory," Proc. of the Ninth European Conference on Computer Systems, ACM, 2014.

21.
F. Chen, M. P. Mesnier, and S. Hahn, "A Protected Block Device for Persistent Memory," Proc. of the 2014 IEEE Symposium on Mass Storage Systems and Technologies (MSST '14), Santa Clara, California, Jun. 2014.

22.
J. Jung, Y. Won, E. Kim, H, Shin, and B. Jeon, "FRASH: Exploiting storage class memory in hybrid file system for hierarchical storage," ACM Transactions on Storage, volume:6, number: 1, pp. 1-25, Mar. 2010.

23.
P. Felber, F. Christof, and R. Torvald, "Dynamic performance tuning of word-based software transactional memory," Proc. of the 13th ACM SIGPLAN Symposium on Principles and practice of parallel programming, ACM, 2008.