DOI QR코드

DOI QR Code

A Study of a Fast Booting Technique for a New memory+DRAM Hybrid Memory System

뉴메모리+DRAM 하이브리드 메모리 시스템에서의 고속부팅 기법 연구

  • Received : 2014.09.01
  • Accepted : 2015.01.09
  • Published : 2015.04.15

Abstract

Next generation memory technologies, which we denote as 'new memory', have both non-volatile and byte addressable properties. These characteristics are expected to bring changes to the conventional computer system structure. In this paper, we propose a fast boot technique for hybrid main memory architectures that have both new memory and DRAM. The key technique used for fast booting is write-tracking. Write-tracking is used to detect and manage modified data detection and involves setting the kernel region to read-only. This setting is used to trigger intentional faults upon modification requests. As the fault handler can detect the faulting address, write-tracking makes use of the address to manage the modified data. In particular, in our case, we make use of the MMU (Memory Management Unit) translation table. When a write occurs to the boot completed state, write-tracking preserves the original state of the modified address of the kernel region to a particular location, and execution continues. Upon booting, the fast booting process restores the preserved data to the original kernel region allowing rapid system boot-up. We develop the fast booting technique in an actual embedded board equipped with new memory. The boot time is reduced to less than half a second compared to around 15 seconds that is required for the original system.

뉴메모리는 차세대 메모리 기술로써 비휘발성과 바이트 단위의 임의 접근성을 가지고 있다. 뉴메모리의 이러한 특성들은 기존의 정형화된 컴퓨터 시스템 구조에 변화를 가져올 것으로 예상된다. 본 연구는 뉴메모리와 DRAM이 공존하는 하이브리드 메인 메모리 구조에서의 고속 부팅 기법을 제안한다. 고속부팅 기법은 본 연구에서 개발한 MMU 변환 테이블을 이용한 쓰기 추적 기술을 이용하였다. 쓰기 추적기술을 이용하여 부팅 이후의 업데이트를 감지할 수 있었고, 부팅 이후의 업데이트를 다른 곳에 저장함으로써 부팅 완료 이미지가 훼손되는 것을 막을 수 있었다. 실제 고속 부팅 시에는 보존된 부팅 완료 이미지를 이용하여 부팅된 상태로 돌아가기 때문에 빠른 부팅이 될 수 있다. 본 연구의 고속 부팅 기법의 성능을 측정하기 위하여 뉴메모리가 장착된 실제 임베디드 실험 보드에서 고속 부팅 시스템을 개발하였으며, 고속 부팅 시간은 0.5초 이내로 빠른 부팅이 가능하였다.

Keywords

Acknowledgement

Grant : 차세대 메모리기반의 스마트 디바이스용 임베디드 시스템 소프트웨어 원천기술 개발

Supported by : 한국산업기술평가관리원

References

  1. R. F. Freitas, and W. W. Wilcke, "Storage-class memory: The next storage system technology," IBM Journal of Research and Development, Vol. 52, No. 4/5, pp. 439-447, 2008. https://doi.org/10.1147/rd.524.0439
  2. K. Bailey, L. Ceze, S. D. Gribble, H. M. Levy, "Operating system implications of fast, cheap, nonvolatile memory," Proc. of the 13th USENIX Conf. on Hot topics in Operating Systems (HotOS'11), pp. 2-2, 2011.
  3. M. K. Qureshi, V. Srinivasan, and J. A. Rivers, "Scalable high performance main memory system using phase-change memory technology," Proc. of the ACM SIGARCH Computer Architecture News, Vol. 37, No. 3, pp. 24-33, 2009.
  4. C. Fu, M. Zhao, C. J. Xue, and A. Orailoglu, "Sleep-aware variable partitioning for energy-efficient hybrid PRAM and DRAM main memory," Proc. of the 2014 international symposium on Low power electronics and design, pp. 75-80, 2014.
  5. S. Park, K. Shen, "FIOS: a fair, efficient flash I/O scheduler," Proc. of the 10th USENIX Conference on File and Storage Technologies (FAST'12), 2012.
  6. A. Akel, A. M. Caulfield, T. I. Mollov, R. K. Gupta, and S. Swanson, "Onyx: a protoype phase change memory storage array," Proc. of the 3rd USENIX Conference on Hot Topics in Storage and File Systems (HotStorage'11), 2011.
  7. C. Hallinan, "Reducing Boot Time in Embedded Linux Systems," LINUX Journal. 2009.
  8. P. Zhou, B. Zhao, J. Yang, and Y. Zhang, "A Durable and Energy Efficient Main Memory Using Phase Change Memory Technology," Proc. of the 36th Annual International Symposium on Computer Architecture (ISCA'09), pp. 14-23, 2009.
  9. 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 22nd Symposium on Operating Systems Principles (SOSP'09), pp. 133-146, 2009.
  10. H. Kim, S. Seshadri, C. L. Dickey, and L. Chiu, "Evaluating Phase Change Memory for Enterprise Storage Systems: A Study of Caching and Tiering Approaches," Proc. of the 12th USENIX Conference on File and Storage Technologies (FAST'14), pp. 33-45, 2014.
  11. G. Dhiman, R. Ayoub, and T. Rosing, "PDRAM: A Hybrid PRAM and DRAM Main Memory System," Proc. of the 46th Design Automation Conference (DAC'09), pp. 664-669, 2009.
  12. A. P. Ferreira, B. Childers, R. Melhem, D. Mosse, and M. Yousif, "Using PCM in Next-generation Embedded Space Applications," Proc. of the 16th IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS'10), pp. 153-162, 2010.
  13. C. Fu, M. Zhao, C. J. Xue, and A. Orailoglu, "Sleep-Aware Variable Partitioning for Energy-Efficient Hybrid PRAM and DRAM Main Memory," Proc. of the International Symposium on Low Power Electronics and Design (ISLPED'14), pp. 75-80, 2014.
  14. H. Kaminaga, "Improving linux startup time using software resume," In Linux Symposium, p. 17, 2006.
  15. FALInux, ZEROBOOT. [Online]. Available: http://www.falinux.com/kr/soultion/soultion_1
  16. Instant-on. [Online]. Available: http://en.wikipedia.org/wiki/Instant-on
  17. BGET Memory Allocation Mechanism. [Online]. Available: http://www.fourmilab.ch/bget
  18. Memory Management Unit(MMU). [Online]. Available: http://en.wikipedia.org/wiki/Memory_management_unit
  19. Intel, "Intel XScale(R) CoreARM Developer's Manual," pp. 83-84, 2004.