I'm wondering if this is possible and if there's an implementation of this concept:
Imagine that I have a 1 GB RAM disk, a 1 TB internal hard drive and a 10 TB NAS on my LAN. Would it be possible to have a virtual drive that has 10 TB of space (stored on the NAS) but that keeps a local copy of the most accessed files on my internal HD and another copy of the files I'm currently using on the RAM disk?
It would be the same principle as virtual memory management but inverted: virtual memory copies the parts of the memory that are not in use to the slow device while this solution would copy the parts of the memory that are in use to the fast device.
I know that some enterprise SAN do this by mixing SSDs and HDs but I think that it could be done 100% in software.
You have a recent similar question there: https://superuser.com/questions/390071/how-can-i-use-my-small-ssd-as-a-cache-for-a-larger-hard-disk
With lots of web pointers.
But beware: excepted if your NAS is slow (slow disks or 100Mb/s network), this won't give you any enhacement.
Don't forget your local disk cache will have to write datas back. If you mostly read, no problem.