1. A computer-implemented method comprising: creating, by one or more processors on a first Trivial File Transfer Protocol (TFTP) server, a global cache, wherein the global cache stores up to a first portion of a data file, wherein the data file is divided into a plurality of portions, including the first portion, and wherein the plurality of portions are stored among a plurality of TFTP servers, including a second portion of the data file that is stored on a second TFTP server; storing, by one or more processors on the first TFTP server, in the global cache, one or more continuous data blocks that have exceeded a defined first request rate threshold, wherein the one or more continuous data blocks make up a subset of the data blocks of the first portion of the data file, and wherein storing, in the global cache, the one or more continuous data blocks that have exceeded the defined first request rate threshold comprises: monitoring, by one or more processors on the first TFTP server, a request rate for a particular data block, determining, by one or more processors on the first TFTP server, if the request rate for the particular data block exceeds the defined first request rate threshold, wherein the defined first request rate threshold is a configurable limit that defines when data blocks are to be added to the global cache, and wherein the defined first request rate is adapted to optimize a transfer rate and reduce reads from one or more hard drives, and adding, by one or more processors on the first TFTP server, the particular data block to the global cache based on the determining; predicting, by one or more processors on the first TFTP server, a next data block in the data file to be stored in the global cache, wherein predicting the next data block comprises: upon adding a particular data block to the global cache, monitoring, by one or more processors on the first TFTP server, the request rate of the next data block, wherein the next data block is the next logical block of the data blocks of the first portion of the data file following the one or more continuous data blocks stored in the global cache, and upon monitoring the request rate of the next data block, predicting, by one or more processors on the first TFTP server, when requests for the next data block will be likely to exceed the defined first request rate threshold; in response to predicting the next data block, storing, by one or more processors on the first TFTP server, the next data block in the global cache; storing, by one or more processors on the first TFTP server, multiple copies of the data blocks of the first portion of the data file on a plurality of TFTP servers to enable a high availability for reading one or more blocks in the global cache; monitoring, by one or more processors on the first TFTP server, the one or more continuous data blocks in the global cache to determine if the request rate for an end data block of the one or more continuous data blocks has fallen below a defined second request rate threshold, wherein the defined second request rate threshold is a configurable limit that defines when the one or more continuous data blocks in the global cache can be removed from the global cache; and in response to determining that the end data block of the one or more continuous data blocks has fallen below the defined second request rate threshold, removing, by one or more processors on the first TFTP server, the end data block from the one or more continuous data blocks stored in the global cache.