1 / 18

Implementation of Concurrent Access to File Systems in USB Devices

Implementation of Concurrent Access to File Systems in USB Devices. GSPx 2004 Bogdan Vacaliuc. Overview. Advocacy Description of the problem Related Work Description of a solution Implementation Requirements Enhancements. Why do we need this?.

baakir
Download Presentation

Implementation of Concurrent Access to File Systems in USB Devices

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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 2

  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 … 3

  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. 4

  5. The System Model 5

  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 6

  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 7

  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. 8

  9. Serializing Access 9

  10. Use Cases • Client creates new file • Metadata is modified • Client modifies file contents • File data is modified • Client extends file • Both file and metadata are modified 10

  11. Timeline of Typical Session 11

  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 12

  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 13

  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 OS’es 14

  15. The System Model 15

  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) 16

  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 17

  18. Thank You 18

More Related