Jack Lazarus, on 11 April 2013 - 12:26 PM, said:
Fragmentation on an SSD is negligible because data is not read sequentially from a spinning platter. The fragmentation of data that needs to be read sequentially is why de-fragmentation is important on HDDs (to reconsolidate the data so that it becomes stored in a manner that can be read sequentially as the disc spins) and not SSDs.
This is right. Seek times on an SSD are very tiny compared to a typical platter-based HDD. These HDDs have moving parts, whereas SSDs don't. And, since the whole point of defragging is to reduce seek times (or reduce the number of seeks down to just 1), the benefit doesn't carry over the same to SSDs. Add on to that the fact that the SSD NAND flash cells have a limited number of writes, running a defrag would not only have little benefit, but it would significantly shorten the life of any SSD.
Now, on to whether or not this matters in the context of MWO. The pak files are indeed becoming corrupted. It was originally believed that the patcher caused this problem, but we've seen evidence that the actual cause is the game crashing in a bad way. These reports come from users who say they scanned the pak files after their latest patch operation and found no errors, then a day or two later had a black screen crash to desktop and started getting the FRead error, after which a scan of the pak files began reporting corruption. Now, I don't know if I'd say the file is becoming "fragmented", I would instead say it is becoming "corrupted". I've gotten my hands on some of these corrupted pak files and done a binary diff that shows as little as one bit being different (the broken pak has a 1 where the working version has a 0). I would also say for sure that running a defrag wouldn't have any impact. That's because running a Windows defrag technically re-organizes the files to defragment the drive. It doesn't modify file contents to remove fragmentation, it only moves around portions of files to get them as contiguous as possible on the drive.
The proposed solution is simply to make a local backup. Not a bad idea, really, especially if this FRead problem occurs for you with any frequency. Just make sure you update your backup after patching, or else you'll have to re-apply the patches after restoring a backup. Again, if your game base is on an SSD, be careful here. Overwriting identical files is not only a waste of time, but also shortening the life of your SSD. Instead, you should try to identify the corrupted pak file(s) and just replace it (or them).
(For reference, you can scan any pak file with programs like 7-Zip or WinRAR, which have a "test archive" function).
On a final note, I'm looking for volunteers to try out my new repair tool. If anyone wants to help out (I'm looking particularly for people who have the dreaded FRead error), then drop me a PM and I'll see about getting you a version of the repair tool.