The design and implementation of a log-structured file system
ACM Transactions on Computer Systems (TOCS)
Understanding The Linux Kernel
Understanding The Linux Kernel
A flash-memory based file system
TCON'95 Proceedings of the USENIX 1995 Technical Conference Proceedings
Storage alternatives for mobile computers
OSDI '94 Proceedings of the 1st USENIX conference on Operating Systems Design and Implementation
Hi-index | 0.00 |
When flash memory is used as a storage in embedded systems, block level translation layer is required between conventional filesystem and flash memory chips due to its physical characteristics. A far more efficient use of it is the design of a filesystem itself without no extra layer of translation. However, since flash filesystem does not use block device layer, it cannot utilize deferred I/O although deferred I/O enhances write latency by delaying the flushing jobs. Linux operating system generally uses the write back routine for deferred I/O using kernel thread, which writes back dirty pages and buffers through the block device layer. In this paper, we design and implement efficient I/O for JFFS2 flash filesystem based on flash memory. For this, we first analyze the write procedure of JFFS2 filesystem in detail, and derive the drawback and overhead. Then, we design the flash write back routine for deferred I/O. We apply it to the Linux JFFS2 by implementing fflush and flash_writeback kernel thread. The designed flash write back routine can reduce average write latency when the kernel buffers are enough to get the users data