John Deere has a variety of satellite-guided systems that can be implemented, and there are a few methods to monitor and program firmware over a wireless connection (I don't know the exact communications medium, it's not my field). Suggesting that there is 500+GB isn't unlikely, because I use CAN to interact with the hardware that we test, and a few seconds of reading a few variables can easily be 1MB.
Here's my quick number-crunching output:
500GB / 5 hours (estimate average flight including prep) = 100GB / hour
100GB / 60min / 60sec = .0278GB / sec of data being recorded
If it's anything like the CAN system here, they'll probably have 16 byte messages, depending on how it's subdivided. A lot of things report at 1000ms intervals, but more critical ones report at 100ms or faster. .0278GB/s = 28.4MB/s = 29127KB/s = 29826162 bytes / second
29826162 byte / 24 byte / 10 ms =
Assuming they use 16 byte messages with 8 character message IDs logged to .asc or .blf, etc, that breaks down to roughly 124000 things reporting every 100ms. My guess is that there are probably messages transmitted to the ground every minute or thirty seconds, or about 3MB per data burst.