Jump to content











Photo
- - - - -

ImDisk as ReadyBoost RAMdisk


  • Please log in to reply
5 replies to this topic

#1 Karl1982

Karl1982

    Member

  • Members
  • 41 posts
  •  
    United States

Posted 28 May 2009 - 04:03 PM

Ok, so I had a thought... In a Q&A session with Tom Archer (creator of ReadyBoost), he says that the purpose of ReadyBoost is to redirect some random I/O from HDD to flash memory, which essentially has no seek time. HDD is faster than flash memory for sequential I/O, but for random I/O, he estimates flash memory is able to locate and read the data about 10x faster. In normal ReadyBoost operation, sequential reads go straight to the HDD even if the data is in the ReadyBoost cache because the system knows it'll get it faster that way.

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

Any ideas?

#2 John L.

John L.
  • Members
  • 1 posts
  •  
    United States

Posted 28 December 2009 - 11:21 PM

Same issue personally, have 12g handy and unlike with Linux, it is not being all utilized, hah. :)

http://members.fortu.../ramdriv002.htm is the ramdisk software I am using.

My -suspicion- is that it sees the massive performance of the "drive", and allows you to start the dialog to specify the size, or dedicate it all to ReadyBoost, etc.

However, when you click "go for it" it sees that the device is "not removable", and is in fact a "hard disk", per the system.

I believe ReadyBoost may well be hard-coded to not utilize -any- hard disk, regardless of the performance. USB keys, as shipped, are never "hard disks" etc. ;)

I also suspect that if you could utilize the Lexar software to manipulate / flip the removable media bit, or otherwise set this appropriately, that you might be able to use the RamDisk for ReadyBoost, which would no doubt increase performance somewhat.

http://www.google.co...p removable bit

Hopefully MS will patch this at some point, to make ramdisks work. Naturally, I'd love to find the reg hack, etc. to allow the OS to more fully use all of my RAM, for caching, etc. natively. It can always unload some of that if program RAM demands grow . . . but it seems a shame to waste 50-75% of my Ram most of the time. ;) :)

#3 vander

vander
  • Members
  • 2 posts

Posted 08 May 2010 - 03:15 PM

Same here, ReadyBoost dont work on ramdisk. I checked the ramdisk with the Roadkil's Diskspeed and also with the normal properties dialog from within windows explorer, there I noted an interesting diference.

First I created four ramdrives, each 1MB
R: Device type = Auto Read/Write

S: Device type = Auto Read/Write Removable Media

T: Device type = Harddisk Read/Write

U: Device type = Harddisk Read/Write Removable Media

Than I had a look to there Properties with Windows and Diskspeed.
Win drive typ		Diskspeed Media Type

R: local ramdisk		  fixed drive

S: removable			  fixed drive

T: local drive			fixed drive

U: removable			  fixed drive

Its obvious that windows shows different drivetypes while diskspeed always detect as fixed drive. I guess the same happens with ReadyBoost. First stage detect the right drivetype for readyboost(removable), but the second stage detect a fixed drive and gives an error message.
Btw, if I connect an usb stick diskspeed detect it as an removable drive ofc, same as windows does.

Tested with diskspeed 2.0 and Win7 Home 64

EDIT: Just got an idea. Maybe it works to setup an usb stick for ready boost, than make an image from these stick and mount in ImDisk. This can overcome the stage 2 and might do the trick, yes?

#4 Wonko the Sane

Wonko the Sane

    The Finder

  • Advanced user
  • 16066 posts
  • Location:The Outside of the Asylum (gate is closed)
  •  
    Italy

Posted 08 May 2010 - 04:15 PM

EDIT: Just got an idea. Maybe it works to setup an usb stick for ready boost, than make an image from these stick and mount in ImDisk. This can overcome the stage 2 and might do the trick, yes?

NO. :cheers:

I presume that IMDISK is NOT a suitable "kind" of RAMDISK.
IMDISK is a "filesystem" driver (as opposed to a miniport or "virtual device driver"), in other words, by design it misses some "integration" in the Windows NT "structure".

Check here:
http://www.boot-land...?showtopic=1507
for a number of similar drivers among which one may do the trick.

If I were you I would try:
  • Gavotte's ramdisk
  • firadisk
  • WinVBlock

first, and in this order.

:huh:
Wonko

#5 Sha0

Sha0

    WinVBlock Dev

  • Developer
  • 1682 posts
  • Location:reboot.pro Forums
  • Interests:Booting
  •  
    Canada

Posted 08 May 2010 - 06:53 PM

This scenario seems a little odd to me... You wish to boost performance for random I/O for a disk by creating a RAM disk and using that RAM disk as a cache. As mentioned, it sure would seem a lot cleaner to increase the amount of RAM used for disk caching in the first place, thus bypassing the overhead of a virtual disk.

Even though they are not immediately apparently relevant to Windows 7, these might be worth looking at:
  • http://forums.techarena.in/tips-tweaks/1088582.htm
  • http://www.howtogeek.com/howto/windows-vista/increase-the-filesystem-memory-cache-size-in-vista/
  • http://technet.microsoft.com/en-us/library/bb742613.aspx

Off-topic: It's too bad WinVBlock doesn't impress Wonko the Sane.

#6 Wonko the Sane

Wonko the Sane

    The Finder

  • Advanced user
  • 16066 posts
  • Location:The Outside of the Asylum (gate is closed)
  •  
    Italy

Posted 09 May 2010 - 09:06 AM

Off-topic: It's too bad WinVBlock doesn't impress Wonko the Sane.

You do know WHAT would really impress me. :cheers:

http://www.boot-land...?...=11320&st=3
:cheers:

:huh:
Wonko




1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users