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.
- 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 Scholar
Digital Library
- 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 Scholar
- Bovet, D. P. and Cesati, M. 2005. Understanding the Linux Kernel, 3rd Ed. O'Reilly. Google Scholar
Digital Library
- Brin, S., Davis, J., and Carcia-Molina, H. 1995. Copy detection mechanisms for digital documents. In Proceedings of the ACM SIGMOD. Google Scholar
Digital Library
- Carrier, B. 2005. File System Forensic Analysis. Addison-Wesley Professional. Google Scholar
Digital Library
- 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 Scholar
Digital Library
- Cormen, T. H., Leiserson, C. E., Rivest, R. L., and Stein, C. 2001. Introduction to Algorithms, 2nd Ed. The MIT Press. Google Scholar
Digital Library
- Dipert, B. 2004. Pick a card: Card formats. EDN Mag.Google Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- Gill, B. S. and Modha, D. S. 2005. SPARC: Sequential Prefetching in Adaptive Replacement Cache. In Proceedings of the USENIX Annual Technical Conference. Google Scholar
Digital Library
- Harari, E., Norman, R. D., and Mehrotra, S. 2005. Flash EEPROM system. United States Patent No. 6914846.Google Scholar
- Hitz, D., Lau, J., and Malcolm, M. 2005. File system design for an NFT file system applicance. Tech. rep., NetApp.Google Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- Manber, U. 1994. Finding similar files in a large file system. In Proceedings of the USENIX Winter Technical Conference. Google Scholar
Digital Library
- Megiddo, N. and Modha, D. S. 2004. Outperforming LRU with an adaptive replacement cache algorithm. IEEE Computer 37, 4, 58--65. Google Scholar
Digital Library
- Microsoft 2003. How NTFS works. Microsoft.Google Scholar
- Microsoft 2006a. Windows Driver Kit documentation. Microsoft.Google Scholar
- Microsoft 2006b. Windows ReadyDrive and Hybrid Hard Disk Drives, http://www.microsoft.com/whdc/device/storage/hybrid.mspx. Microsoft.Google Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- Oney, W. 2003. Programming the Microsoft Windows Driver Model 2nd Ed. Microsoft Press, Chapter 16, 773--800. Google Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
- Samsung Electronics 2005. K9NBG08U5M 4G*8 Bit NAND Flash Memory Data Sheet. Samsung Electronics.Google Scholar
- Samsung Electronics 2007. K9NCG08U5M 64Gbit Flash Memory Datasheet. Samsung Electronics.Google Scholar
- STMicroelectronics 2005. NAND08Gx3C2A 8Gbit Multi-level NAND Flash Memory. STMicroelectronics.Google Scholar
- Terrell, J. R. and Beard, P. 1995. Flash memory system having memory cache. United States Patent No. 6026027.Google Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
Index Terms
A driver-layer caching policy for removable storage devices
Recommendations
A Caching Filesystem for Increasing Locality in the Second Cache in a Virtualized Environment
IMCOM '18: Proceedings of the 12th International Conference on Ubiquitous Information Management and CommunicationVirtualized environments with virtual machines are widely used in various situations such as cloud computing. In these environments, two caches are utilized for disk accesses. One is a guest operating system page cache and the other is a host operating ...
Migration-based hybrid cache design for file systems over flash storage devices
This work is motivated by the urgent need to enhance the reliability of file systems in battery-powered mobile computing systems and consumer electronics that utilize flash storage devices for data storage. In this paper, we use non-volatile RAM (NVRAM) ...
Empirical evaluation of multi-level buffer cache collaboration for storage systems
Performance evaluation reviewTo bridge the increasing processor-disk performance gap, buffer caches are used in both storage clients (e.g. database systems) and storage servers to reduce the number of slow disk accesses. These buffer caches need to be managed effectively to deliver ...






Comments