| Getting to know Windows XPe's new File Based Write Filter |
by Milong Sabandith (Oct. 18, 2006)
Foreword: This whitepaper, third in our series leading up to the Nov. 1 official launch of Windows XP Embedded SP2 Feature Pack 2007, introduces XPe's new File Based Write Filter (FBWF). Basically, FBWF enables enhanced flash memory reliability through stateless operation, reduced wear, and improved servicing functions, writes Milong Sabandith, a member of the Windows Embedded team.
Getting to know Windows XPe's new File Based Write Filter
A new write filter with improved servicing
by Milong Sabandith
Windows XP Embedded Service Pack 2 Feature Pack 2007 introduces a new Embedded Enabling Feature (EEF) called File Based Write Filter (FBWF). This new EEF will provide stateless protection of solid state devices with improved servicing features. It is easily configured from Target Designer and can be dynamically configured using the provided command-line tool or API.
In the embedded world, FBWF will be enabled on devices to provide OS resiliency and reliability, stateless operation, and eliminate wear. It does this be redirecting writes to a cache. The cache can be thought of as an overlay on top of the media where the composite view is a combination of the contents on disk and the RAM overlay cache. On system reboots, the RAM overlay is discarded, so the operating system is left in a pristine state. See the diagram below, showing the composite view of modified files and new files in the cache.
 (Click to enlarge) EWF (Enhanced Write Filter), the other write filter provided by Windows XP Embedded, intercepts calls at the sector level. Protecting at the sector level gives EWF full file system compatibility, and will protect against filters attached to the file system. However, EWF blindly filters all sector reads and writes. Since FBWF hooks in at the file level, it can perform intelligent filtering based on files, folders, or any file system data structures. It can also do a much better job reclaiming memory.
Now, in order to protect at the file level, the developer needs the ability to tell FBWF which files/folders to protect and not protect. We do this via a "Write Through List." The write through list allows FBWF to ignore directories and files on the protected volume. In other words, writes to the media bypass FBWF and write directly to the disk.
Imagine a user who frequently downloads and saves video files frequently. The device's media directory can be configured to be "write through," allowing the files to persist across reboots. Other typical entries in the write through list are log files and system event files.
Another useful feature is the ability to commit files live. While the operating system is running, files can be committed to disk. Imagine IT managers requiring monthly updates to update a database for virus signatures. The database is in a protected location on the disk. After the database is updated, it can be committed live, without first disabling FBWF. This doesn't require reboots or pre-population in the write through list.
To summarize, the new FBWF function write-protects embedded devices at the file level, in contrast to the EWF, which has been protecting devices at the sector level. This allows FBWF to enable new device scenarios -- for instance, being able to service application files or system files without having to commit the entire disk.
There are numerous other features to help the embedded developers, including a command line tool, an FBWF API, live Restore, and three memory allocation types. When Feature Pack 2007 is released, be sure to try out FBWF.
Further details
You can find more information about Windows XPe at its homepage on MSDN. You can also download a Community Technology Preview version of FP 2007 from the Microsoft Connect Site -- sign up for the CTP using this Invitation ID: 123-BC7M-6GVK.
Copyright (c) 2006 Microsoft Corp. All rights reserved. Reproduced by WindowsForDevices.com with permission.
 (Click to see cactus) | About the author: Milong Sabandith is a developer on the Microsoft's Windows Embedded team. He comes from the Windows Deployment Team and has intimate knowledge of OS internals. Sabandith hails from Canada and plays hockey during his spare time.
Read the Complete XPe SP2 FP2007 Whitepaper Series
Other Related Stories
(Click here for further information)
|
|
|
|
|
|
|