Windows 7, download speeds drop to 0 kb/s and the download has to be restarted
Solution 1:
It sounds less like an issue with the SSD... and more likely an issue with your ISP. I ran into similar issues and discovered it was an issue with the MTU my ISP had. I wrote a rant on the subject a while ago... but here's the general steps to diagnose/resolve:
First... look at your current MTU setting: Open a command prompt with Administrative privledges and then run the command as follows:
netsh interface ipv4 show subinterfaces
You'll see something like:
MTU MediaSenseState Bytes In Bytes Out Interface
------ --------------- --------- --------- -------------
1500 1 8864896253 1116506364 Local Area Connection
With that knowledge you'll note that your MTU is currently set to 1500. If that's what your ISP works with... you should be able to ping sites like msn.com or google.com with a packet size of 1500 without fragmenting the packet.
ping www.google.com -f -l 1500
if you see an error message like: Packet needs to be fragmented but DF set.
You know you need to go smaller. So, subtract 8 & try again... until you find a valid MTU. Once you find the one that gives you a reply without complaining about needing to be fragmented... it's time to change your MTU. Back to the admin command prompt... and we do this: (replace 1464 with whatever you came up with)
netsh interface ipv4 set subinterface "Local Area Connection" mtu=1464 store=persistent
If you just want to test this out... without committing changes... skip the store=persistent
bit... and a reboot will set it back the way it was. You can also manually set it back to whatever you started with...
I don't know if that will work for everyone... but it "worked for me" (c)
Solution 2:
I encountered these weird behaviour back with Windows Vista, and more recently with Windows Server 2012 R2 and Windows 8.
Turns out that the TCP global auto-tuning feature introduced back in Windows Vista does not always perform a good job of being compatible with existing network environment. You may want to try disabling global auto-tuning in an administrator command prompt.
netsh interface tcp set global autotuning=disabled