Skip to main content

Write Back Routine for JFFS2 Efficient I/O

  • Conference paper

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 4096))

Abstract

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.

This is a preview of subscription content, log in via an institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   129.00
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   169.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Douglis, F., Caceres, R., Kaashoek, F., Li, K., Marsh, B., Tauber, J.A.: Storage alternatives for mobile computers. In: Proc. of the 1st Symposium on Operating Systems Design and Implementation (OSDI), pp. 25–37 (1994)

    Google Scholar 

  2. Intel Corporation, Understanding the flash translation layer (FTL) specification, http://developer.intel.com/

  3. Samsung Electronics Co., NAND Flash Memory & SmartMedia Data Book (2002)

    Google Scholar 

  4. Samsung Electronics Co., OneNAND Specification (2005)

    Google Scholar 

  5. Memory Technology Device (MTD) subsystem for Linux, http://www.linux-mtd.infradead.org

  6. Ban, A.: Flash file system. United States Patent, no. 5,404,485 (April 1995)

    Google Scholar 

  7. Card, R., Ts’o, T., Tweedie, S.: Design and Implementation of the Second Extended Filesystem. The HyperNews Linux KHG Discussion (1999), http://www.linuxdoc.org

  8. Kawaguchi, A., Nishioka, S., Motoda, H.: A Flash-Memory Based File System. In: Usenix Technical Conference (1995)

    Google Scholar 

  9. Woodhouse, D.: JFFS: The Journalling Flash File System. In: Ottawa Linux Symposium (2001)

    Google Scholar 

  10. Rosenblum, M., Ousterhout, J.K.: The Design and Implementation of a Log-Structured File System. ACM Transactions on Computer Systems 10(1) (1992)

    Google Scholar 

  11. Bovet, D.P., Cesati, M.: Understanding the Linux Kernel. O’Reilly, Sebastopol

    Google Scholar 

  12. Texas Instruments Co., OMAP 5912 Startker Kit (OSK), http://focus.ti.com/omap/docs/omaphomepage.tsp

  13. Threaded I/O bench for Linux, http://sourceforge.net/projects/tiobench/

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2006 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Lim, SH., Baek, SH., Hwang, JY., Park, KH. (2006). Write Back Routine for JFFS2 Efficient I/O. In: Sha, E., Han, SK., Xu, CZ., Kim, MH., Yang, L.T., Xiao, B. (eds) Embedded and Ubiquitous Computing. EUC 2006. Lecture Notes in Computer Science, vol 4096. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11802167_80

Download citation

  • DOI: https://doi.org/10.1007/11802167_80

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-36679-9

  • Online ISBN: 978-3-540-36681-2

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics