So, theoretically, a ReadyBoost cache in extra RAM that isn't being used anyway should have lightning-fast access to what would otherwise be time-consuming random reads from HDD. If the system isn't allocating this memory otherwise, the loss of some RAM won't really affect the system's performance.
I created a RAMdisk using ImDisk to use for ReadyBoost. This is what my Windows 7 event log has to say about the ReadyBoost suitability test:
The device (Unknown Unknown) is suitable for a ReadyBoost cache. The random read speed is 186991 KB/sec. The random write speed is 299514 KB/sec.
Those figures seem to vary wildly. I've retested it a few times. To put that in perspective, this is what it had to say about the flash drive I actually use for ReadyBoost:
The device (SanDisk U3 Cruzer Micro) is suitable for a ReadyBoost cache. The random read speed is 4302 KB/sec. The random write speed is 2992 KB/sec.
Quite a difference, as you can see. I sure wouldn't mind having some random I/O redirected to that. But here is my problem. When I actually try to create the ReadyBoost cache, I get this error:
Cache Creation Failed
Unable to create the cache. Incorrect function.
No event is logged when this happens, so I don't have any more info on the error.
It's 256MB in size. I've tried it formatted as both FAT32 and exFAT (Windows 7 supports multiple ReadyBoost devices as well as exFAT format for ReadyBoost). I also tried removing my other flash drives first. This is my registry entry for the RAMdisk:
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\EMDMgmt\_??_&Ven_Unknown&Prod_Unknown&ReadyBoost_2796880948] "CacheSizeInMB"=dword:00000000 "Attributes"=hex:03,00,00,00,a9,5e,f9,0b,a7,01,27,cb,6f,da,02,00,fa,91,04,00,\ 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ 00,00,00,00,00,00,00 "DeviceStatus"=dword:00000002 "LastTestedTime"=hex(b):dc,77,9e,6d,a9,df,c9,01