A computer-implemented method comprising: receiving a request to access, from a main memory , a first cache line of a page of data; determining that the first cache line is not stored in the main memory and is stored in a secondary memory , and in response, transferring the first cache line of the page of data from the secondary memory to the main memory without transferring the entire page of data, wherein a remaining portion of the page of data remains stored in the secondary memory ; updating a page table entry associated with the page of data to point to a location of the page of data in the main memory ; and implementing a cache coherence mechanism while transferring the remaining portion of the page of data from the secondary memory to the main memory to service an access of a second cache line of the page of data, the cache coherence mechanism including, issuing, by a cache agent , a request for ownership of cache lines in the page of data; releasing ownership of each cache line in response to the cache line being transferred from the secondary memory to the main memory ; and in response to a request to access the second cache line of the page of data while the remaining portion of the page of data is being transferred, recognizing a snoop request for the second cache line, and returning the second cache line in response to the snoop request once the second cache line is transferred from the secondary memory . receiving a request to access, from a main memory , a first cache line of a page of data; determining that the first cache line is not stored in the main memory and is stored in a secondary memory , and in response, transferring the first cache line of the page of data from the secondary memory to the main memory without transferring the entire page of data, wherein a remaining portion of the page of data remains stored in the secondary memory ; updating a page table entry associated with the page of data to point to a location of the page of data in the main memory ; and implementing a cache coherence mechanism while transferring the remaining portion of the page of data from the secondary memory to the main memory to service an access of a second cache line of the page of data, the cache coherence mechanism including, issuing, by a cache agent , a request for ownership of cache lines in the page of data; releasing ownership of each cache line in response to the cache line being transferred from the secondary memory to the main memory ; and in response to a request to access the second cache line of the page of data while the remaining portion of the page of data is being transferred, recognizing a snoop request for the second cache line, and returning the second cache line in response to the snoop request once the second cache line is transferred from the secondary memory . issuing, by a cache agent , a request for ownership of cache lines in the page of data; releasing ownership of each cache line in response to the cache line being transferred from the secondary memory to the main memory ; and in response to a request to access the second cache line of the page of data while the remaining portion of the page of data is being transferred, recognizing a snoop request for the second cache line, and returning the second cache line in response to the snoop request once the second cache line is transferred from the secondary memory . <EOS>