A couple of ideas on data placement that might be useful:
- "Isolate" frequently used files
- Complete defrag (with specific file order)
In more detail:
1. Example, you have a version control system on a disk, generally the files will change fairly infrequently (the same file is not likely to be changed multiple times in a row), however the database holding file information will change frequently. If using a standard defrag, or even a "most often used" type defrag, this DB is likely to be placed flush on the disk with other files, which means as soon as it grows it will fragment again. A better solution would be if the file was placed with some free space following it on the drive - if this was placed near the end of the drive then it should help avoid future fragmentation (since placed near the start of the drive would likely mean Windows would use the free space for some other file). Allowing the user to select such files (in a similar way to large files moved to end of the drive) would be all that would be needed.
2. Example, you have a data drive that only contains music files - in this case the normal access pattern will likely be to play an album at a time or similar. In this case the best performance will be achieved if the data files are sequentially ordered on disk in the same order they appear to user (at least at the file level - so all files in any folder are kept on disk together). Any data drive that contains files whose sizes are essentially fixed could benefit from this.
Just some thoughts - feel free to ignore me!
(Apologies if either of these have already been suggested!)