skip to main content
research-article

A driver-layer caching policy for removable storage devices

Authors Info & Claims
Published:27 June 2011Publication History
Skip Abstract Section

Abstract

The growing popularity of flash memory is expected to draw attention to the limitations of file-system performance over flash memory. This work was motivated by the modular designs of operating system components such as bus and device drivers. A filter-driver-layered caching design is proposed to resolve the performance gap among file systems and to improve their performance with the considerations of flash memory characteristics. An efficient hybrid tree structure is presented to organize and manipulate the intervals of cached writes. Algorithms are proposed in the merging, padding, and removing of the data of writes. The effectiveness of the proposed approach is demonstrated with some analysis study of FAT-formatted and NTFS-formatted USB flash disks. The proposed cohesive caching policy was implemented as a filter driver in Windows XP/Vista for performance evaluation. In the experiments, a ten-fold or larger performance improvement was usually achieved when the cache size was only 64KB. Other substantial improvements were also observed in the experiments. For example, the proposed design enabled FAT-formatted and NTFS-formatted flash-memory devices to copy Linux image files 93% and 14% faster than conventional flash drives, respectively.

References

  1. Baker, M., Asami, S., Deprit, E., Ousterhout, J., and Seltzer, M. 1992. Non-volatile memory for fast, reliable file systems. In Proceedings of the International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS). Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Bennett, A. D., Bryce, A. D., Gorobets, S., and Sinclair, A. W. 2006. Non-volatile memory and method with block management system. United States Patent No. 7139864.Google ScholarGoogle Scholar
  3. Bovet, D. P. and Cesati, M. 2005. Understanding the Linux Kernel, 3rd Ed. O'Reilly. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Brin, S., Davis, J., and Carcia-Molina, H. 1995. Copy detection mechanisms for digital documents. In Proceedings of the ACM SIGMOD. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Carrier, B. 2005. File System Forensic Analysis. Addison-Wesley Professional. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Chang, L.-P. and Kuo, T.-W. 2002. An adaptive striping architecture for flash memory storage systems of embedded systems. In Proceedings of the IEEE Real-Time and Embedded Technology and Applications Symposium. 187--196. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Cormen, T. H., Leiserson, C. E., Rivest, R. L., and Stein, C. 2001. Introduction to Algorithms, 2nd Ed. The MIT Press. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Dipert, B. 2004. Pick a card: Card formats. EDN Mag.Google ScholarGoogle Scholar
  9. Doh, I. H., Choi, J., Lee, D., and Noh, S. H. 2007. Exploiting non-volatile RAM to enhance flash file system performance. In Proceedings of the International Conference on Embedded Software (EMSOFT). Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Doh, I. H., Lee, H. J., Moon, Y. J., Kim, E., Choi, J., Lee, D., and Noh, S. H. 2009. Impact of NVRAM write cache for file system metadata on I/O performance in embedded systems. In Proceedings of the ACM Symposium on Applied Computing (SAC). Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Gill, B. S. and Modha, D. S. 2005. SPARC: Sequential Prefetching in Adaptive Replacement Cache. In Proceedings of the USENIX Annual Technical Conference. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Harari, E., Norman, R. D., and Mehrotra, S. 2005. Flash EEPROM system. United States Patent No. 6914846.Google ScholarGoogle Scholar
  13. Hitz, D., Lau, J., and Malcolm, M. 2005. File system design for an NFT file system applicance. Tech. rep., NetApp.Google ScholarGoogle Scholar
  14. Hu, Y. and Yang, Q. 1996. DCD-disk caching disk: A new approach for boosting I/O performance. In Proceedings of the International Symposium on Computer Architecture (ISCA) ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Jain, N., Dahin, M., and Tewari, R. 2005. TAPER: Tiered approach for eliminating redundancy in replica synchronization. In Proceedings of the USENIX Conference on File and Storage Technologies (FAST). Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Jo, H., Kang, J.-U., Park, S.-Y., Kim, J.-S., and Lee, J. 2006. FAB: Flash-aware buffer management policy for portable media players. IEEE Trans. Consum. Elect. 485--493. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Kang, S., Park, S., Jung, H., Shim, H., and Cha, J. 2009. Performance trade-offs in using NVRAM write buffer for flash memory-based storage devices. IEEE Trans. Comput. 58, 6, 744--758. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Kim, H. and Ahn, S. 2008. BPLRU : A buffer management scheme for improving random writes in flash storage. In Proceedings of the 6th USENIX Conference on File and Storage Technologies (FAST'08). 239--252. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Kulkarni, P., Douglis, F., LaVoie, J. D., and Tracey, J. M. 2004. Redundancy elimination within large collections of files. In Proceedings of the USENIX Annual Technical Conference. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Manber, U. 1994. Finding similar files in a large file system. In Proceedings of the USENIX Winter Technical Conference. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Megiddo, N. and Modha, D. S. 2004. Outperforming LRU with an adaptive replacement cache algorithm. IEEE Computer 37, 4, 58--65. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Microsoft 2003. How NTFS works. Microsoft.Google ScholarGoogle Scholar
  23. Microsoft 2006a. Windows Driver Kit documentation. Microsoft.Google ScholarGoogle Scholar
  24. Microsoft 2006b. Windows ReadyDrive and Hybrid Hard Disk Drives, http://www.microsoft.com/whdc/device/storage/hybrid.mspx. Microsoft.Google ScholarGoogle Scholar
  25. Muthitacharoen, A., Chen, B., and Mazieres, D. 2001. A low-bandwidth network file system. In Proceedings of the ACM Symposium on Operating Systems Principles (SOSP). Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Nightingale, T., Hu, Y., and Yang, Q. 1999. The design and implementation of a DCD device driver for UNIX. In Proceedings of the USENIX Conference. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. Oney, W. 2003. Programming the Microsoft Windows Driver Model 2nd Ed. Microsoft Press, Chapter 16, 773--800. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. Park, S.-Y., Jung, D., Kang, J.-U., Kim, J.-S., and Lee, J. 2006. CFLRU: A replacement algorithm for flash memory. In Proceedings of the International Conference on Compilers, Architecture and Synthesis for Embedded Systems (CASES'06). 234--241. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. Quinlan, S. and Dorward, S. 2002. Venti: A new approach to archival storage. In Proceedings of the USENIX Conference on File and Storage Technologies (FAST). Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. Rosich, M. N., Noya, E. S., and Arnott, R. M. 1996. System for controlling a write cache and merging adjacent data blocks for write operations. United States Patent No. 5551002.Google ScholarGoogle Scholar
  31. Samsung Electronics 2005. K9NBG08U5M 4G*8 Bit NAND Flash Memory Data Sheet. Samsung Electronics.Google ScholarGoogle Scholar
  32. Samsung Electronics 2007. K9NCG08U5M 64Gbit Flash Memory Datasheet. Samsung Electronics.Google ScholarGoogle Scholar
  33. STMicroelectronics 2005. NAND08Gx3C2A 8Gbit Multi-level NAND Flash Memory. STMicroelectronics.Google ScholarGoogle Scholar
  34. Terrell, J. R. and Beard, P. 1995. Flash memory system having memory cache. United States Patent No. 6026027.Google ScholarGoogle Scholar
  35. Wu, M. and Zwaenepoel, W. 1994. eNVy: A non-volatile main memory storage system. In Proceedings of the 6th International Conference on Architectural Support for Programming Languages and Operating Systems. 86--97. Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. Zhu, B. and Li, K. 2008. Avoiding the disk bootleneck in the data domain dedupliation file system. In Proceedings of the USENIX Conference on File and Storage Technologies (FAST). Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. A driver-layer caching policy for removable storage devices

Recommendations

Comments

Login options

Check if you have access through your login credentials or your institution to get full access on this article.

Sign in

Full Access

PDF Format

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader
About Cookies On This Site

We use cookies to ensure that we give you the best experience on our website.

Learn more

Got it!