Is there a redundant RAID/ZFS-like filesystem that can optimize the placement of files based on their access patterns? My goal is to build a desktop system that will automatically move files among a hard disk, a solid state drive, and a RAM disk based on how and how often they're accessed, in order to control wear through opportunistic volume selection. For example, files that are read frequently (and opened for read-only access) would be placed on a SSD; files that are read frequently, but are opened for read-write access, would be placed on a RAM disk; files that infrequently accessed would move to the HD.
I'm imagining a smart virtual filesystem that can automatically recognize access patterns and optimize physical volume placement. However, I get the sneaky feeling that a similar effect could be accomplished by creating a primary filesystem on the hard disk, a swap partition on the SSD, and reserving a large quantity of RAM for a filesystem cache.
The downside to the above (easy) solution is that that it's insensitive to the weaknesses of the underlying hardware. For example, writes cause SSDs to fail more quickly - and HDs are even more susceptible. RAM, however, can be written almost indefinitely without failing. The filesystem should capitalize on these properties to maximize the lifetime of the equipment.