1. A system balancing prefetched and cached data arranged in a plurality of pages, the balancing system comprising: a first data storage area, and a second data storage area, wherein the second data storage area operates slower than the first data storage area and wherein the first data storage area is divided into at least four data storage sections, the four data storage sections including: an actual demand area caching at least one page demanded by an application, which is dynamically adjustable in size the actual demand area associated with an actual demand area target size parameter, responsive to a request from said shadow demand area; a shadow demand area storing at least one identifier of a respective page that would have been cached in the demand area if the size of the actual demand area were larger; an actual prefetch area associated with an actual prefetch target area size; a shadow prefetch area storing at least one identifier of a respective page that would have been cached in the actual prefetch area if the size of the actual prefetch area were larger; a processor, wherein the processor: associates each page with a cacheability parameter or a promise parameter; partitions each of the plurality of pages into at least one equivalence class, each equivalence class characterized by having a same access rate for each page in the class; receives a request for a demanded page; transfers the demanded page to the actual demand area; when the demanded page is in the shadow demand page area, increments the actual demand area target size parameter and decrements the actual prefetch target area size; when the demanded page is in the shadow prefetch area, decrements the actual demand area target size parameter and increments the actual prefetch target area size; when the demanded page is in the second data storage area: transfers the demanded page to the actual demand area; determines at least one related page to the demanded page; updates a respective promise parameter of each of the at least one related page, wherein each of the at least one related page is in an equivalence class of the demanded page and the promise parameter for all pages in the equivalence class is updated using a determined access rate for the demanded page.