BPE Acceleration Technique for S/W Update for Mobile Phones
Ryozo Kiyohara, Satoshi Mii · 2010
Recently, the size of the software on embedded devices, e.g., mobile phones, has been increasing rapidly. Complex processes in large scale software, such as event handlers, require bugs to be fixed after shipment. NAND flash memory devices are adopted in such devices in order to reduce the cost. The program code in a NAND flash memory is loaded to RAM using demand paging technologies. In many cases, compressed program code is stored in the NAND flash memory and loaded by extracting the program code because the loading time for the uncompressed code is larger than the total time for loading and extracting the compressed code with some compression algorithms. Byte-Pair-Encoding (BPE) is a suitable algorithm for this purpose. The compression rate for BPE is slightly less than GZIP and the extraction speed is very fast. However, the compression speed is very slow. Software updating functions require the compression of program code on a device and have to compress quickly. This paper discusses the software update functions employed for such embedded devices, and proposes a BPE compression speed acceleration technique for software updating. The results obtained from an evaluation show that the proposed method is effective in compressing program code.