Presentation on theme: "Implementation of Concurrent Access to File Systems in USB Devices GSPx 2004 Bogdan Vacaliuc."— Presentation transcript:
Implementation of Concurrent Access to File Systems in USB Devices GSPx 2004 Bogdan Vacaliuc
2 Overview Advocacy Description of the problem Related Work Description of a solution Implementation Requirements Enhancements
3 Why do we need this? Intelligent devices produce/consume media content. MSDC is ubiquitous for USB devices. Implementing concurrent access enables: –Command/Control via file sharing. –Firmware Upgrades. –Exchange of data between host and device. … All without the need for OS-specific drivers …
4 The Concurrency Problem Host MSDC implicitly caches file system data and metadata. Device modifies data and metadata. Without synchronization, host modifications can supercede device modifications.
6 Related Work Distributed File Systems –Granularity of File Object. –NFS, AFS –Sprite, SpritelyNFS, NQNFS Shared Block Devices –Granularity of Logical Block on Media –GPFS, GFS/OpenGFS –NBD, Shared SCSI
7 A Solution Primary Requirements –It must be simple –It must operate with existing host MSDC drivers Secondary Requirements –FAT File System –Shared Block Device approach
8 A Solution (cont.) Establish epochs of exclusive access to metadata on the device Define implicit criteria for obtaining exclusive access to the media by the host Define explicit criteria for releasing exclusive access by the host Implement fine-grain locking on accesses made by the device.
12 USB/MSDC Principles Command Block Wrapper (CBW) Command Status Word (CSW) Identify device as removable media Use Unit Attention condition to notify host of changed data
13 Implementation Requirements – Device Side Identify as removable media device Use Unit Attention condition to notify host of media content change Implement a structured block device and cache interface Implement file system locking which is exposed to the USB driver
14 Implementation Requirements – Host Side Implement eject media operation when file work is complete. Can be user-driven (explicit drive letter eject) Can be software-driven (close files and unmount/eject) Behavioral differences between OSes
16 Summary Correct operation under concurrent access conditions is obtained by: –Implicit locking based on USB media access –Explicit release via media eject operation –Use of Unit Attention condition Features –No new driver added to host operating system –Minimal requirements on device (best practices)
17 Enhancements and Future Work Would like to remove explicit eject requirement on host –Use SCSI_RESERVE commands to manage locking epoch begin and end –Requires Installable File System (IFS) driver