Improving Demand Paging Performance of Compressed File System with NAND Flash Memory
Active In SP
Joined: Sep 2010
12-10-2010, 11:32 AM
In computer operating systems, demand paging is an application of virtual memory. In a system that uses demand paging, the operating system copies a disk page into physical memory only if an attempt is made to access it (i.e., if a page fault occurs). This is an example of lazy loading techniques.
The compressed ROM file system (or cramfs) is a free read-only Linux file system designed for simplicity and space-efficiency. It is mainly used in embedded systems and small-footprint systems. Unlike a compressed image of a conventional file system, a cramfs image can be used as it is i.e. without the need to decompress the image first. For this reason, some Linux distributions also use cramfs for initrd images and installation images, where there are constraints on memory and image size.
Flash memory is a non-volatile computer storage technology that can be electrically erased and reprogrammed. It is primarily used in memory cards, USB flash drives, and solid-state drives for general storage and transfer of data between computers and other digital products. It is a specific type of EEPROM (electrically-erasable programmable read-only memory) that is erased and programmed in large blocks.
Demand paging with NAND flash memory is an attractive memory management technique for embedded system because of its cost efficiency. However, demand paging has the page fault handling latency. To overcome this drawback, most operating systems take advantage of kernel-level read-ahead. On the contrary, in the compressed file system, kernel-level read-ahead degrades performance of demand paging. The main reason is that compressed file system has too large read-ahead miss penalty due to decompression overhead. To solve this problem, we propose the conservative read-ahead technique, which improves demand paging performance of compressed file system.