Browse > Article

A Program Code Compression Method with Very Fast Decoding for Mobile Devices  

Kim, Yong-Kwan (아주대학교 정보통신대학원 컴퓨터공학과)
Wee, Young-Cheul (아주대학교 정보 및 컴퓨터공학부)
Abstract
Most mobile devices use a NAND flash memory as their secondary memory. A compressed code of the firmware is stored in the NAND flash memory of mobile devices in order to reduce the size and the loading time of the firmware from the NAND flash memory to a main memory. In order to use a demand paging properly, a compressed code should be decompressed very quickly. The thesis introduces a new dictionary based compression algorithm for the fast decompression. The introduced compression algorithm uses a different method with the current LZ method by storing the "exclusive or" value of the two instructions when the instruction for compression is not equal to the referenced instruction. Therefore, the thesis introduces a new compression format that minimizes the bit operation in order to improve the speed of decompression. The experimental results show that the decoding time is reduced up to 5 times and the compression ratio is improved up to 4% compared to the zlib. Moreover, the proposed compression method with the fast decoding time leads to 10-20% speed up of booting time compared to the booting time of the uncompressed method.
Keywords
Code Compression; NAND flash; Mobile devices; Demand Paging;
Citations & Related Records
연도 인용수 순위
  • Reference
1 C. Nevill-Manning and I. Witten, "Compression and Explanation using Hierarchical Grammars," the Computer Journal, vol.40, no.2/3, pp.103-116, 1997.   DOI
2 H.E. Yang and C. J. Keiffer, "Efficient universal lossless data compression algorithm on a greedy sequential grammar transform," IEEE Trans. Inf. Theory, vol.46, no.3, pp.755-777, 2000.   DOI   ScienceOn
3 A. J. Storer J, and G. T. Szymanski, "Data Compression via Textual Substitution," JACM vol.29, no.4, pp.928-951, 1982.   DOI
4 C. Park, J.-U. Kang, S.-Y. Park and J.-S. Kim, "Energy-aware demand paging on NAND flashbased embedded storages," in Proceedings of the 2004 International Symposium on Low Power Electronics and Design (ISLPED'04), pp.338-343, Newport, USA, August 2004.
5 Hirschberg, D.S., "'Algorithms for the Longest Common Subsequence Problem," Journal of ACM, vol.24, no.4, pp.664-675, 1977.   DOI
6 H. Lekatsas, J. Henkel, and W. Wolf, "Code Compression for Low Power Embedded System Design," Proc. ACM/IEEE Design Automation Conference, Los Angeles, CA, June 2000.
7 X. Xu, S. Jones, C. Clarke, "ARM/THUMB code compression for embedded systems," 15th International Conference on Microelectronics (ICM 2003), 9-11 December 2003, Cairo, Egypt.
8 E.-h. Yang and J. C. Kieffer, "On the redundancy of the fixed database Lempel-Ziv algorithm for mixing sources," IEEE Trans. Inform. Theory, vol.43, pp.1101-1111, July 1997.   DOI   ScienceOn
9 N. Aslam, M. J. Milward, A. T. Erdogan, and T.Arslan, "Code Compression and Decompression for Coarse-Grain Reconfigurable Architectures," IEEE Trans. Very Large Scale Integration (VLSI) Systems, vol.16, no.12, December 2008.
10 M. Kozuch and A. Wolfe, "Compression of embedded system programs," Proc. Int. Conf. on Computer Design, 1994.
11 J. N. Larsson, and A. Moffat, "Offline dictionary based compression," Proc. Data Compression Conference '99, pp.296-305, 1999.
12 S. Seong and P. Mishra, "Bitmask-based code compression for embedded systems," IEEE Trans. CAD, vol.27, no.4, pp.673-685, 2008.   DOI
13 A. Wolfe and A. Chanin, "Executing compressed programs on an embedded RISC architecture," Proc. 25th Ann. International Symposium on Micro architecture, pp.81-91, December 1992.