It seams the server is timing out on accessing the file.
It looks like the server is trying to read the file to memory before starting the download and is running out.
The php server settings do not allow for using the entire server memory, the allowed memory usage is normally set to something like 20MB and can be increased up to around 256MB
I think a 650MB download goes beyond what your server is capable of.
Through FTP, the download of that file took around 25 minutes, that is an awful long download from a web page. I think you will be best off breaking the download into pieces rather then 1 large file.