I'm trying to understand the built-in IO cache on Windows. If an application writes to a file, and then reads/writes it multiple subsequent times, it seems that the IO cache should allow this to happen as fast as system memory will allow? Then Windows will gradually write changes back to the physical disk in a non-blocking way?
However, I've seen other ramdisk-related questions on this site where users see significant gains by mounting a portion of system memory as a disk drive. If the IO cache works as I described above, why is this even necessary? Does Windows have settings to tweak this?
These lead up to my real question: Is there a point to using a ramdisk and manually syncing changes back to a physical disk, even minutes or hours later?
Edit: Fixed DMA vs IO Cache misconception corrected in Evan Anderson's reply.