Windows: is Your USB Drive Fast Enough for ReadyBoost?

By Xah Lee. Date: . Last updated: .

Windows Vista and 7 has a Readyboost feature. Basically, if you have any flash drive on your system (such as USB drive), the OS will use it as a cache system to speed up any file access operations. Quote from Wikipedia:

ReadyBoost is a disk cache component of Microsoft Windows, first introduced with Microsoft's Windows Vista in 2006 and bundled with Windows 7 in 2009. It works by using flash memory, a USB flash drive, SD card, CompactFlash or any kind of portable flash mass storage system as a cache.

So, i though i just plug in my USB drive and my computer will be faster. That's not the case. There are few requirements. Quote:

For a device to be compatible and useful it must conform to these requirements:

You can right click on the drive and choose Properties, under ReadyBoost tab, to see if ReadyBoost is active for that drive. Sadly, for me, it's not. But what requirement i'm missing? More quote from Wikipedia:

Windows Vista and Windows 7 include a command-line utility called "winsat" to test the performance of random read and write speeds. The Command Prompt must be run with administrative privileges, otherwise test results will not be visible after testing.

To test random reads (4096 for 4 KB):

winsat disk -read -ran -ransize 4096 -drive ‹driveletter›

For random writes (524288 for 512 KB):

winsat disk -write -ran -ransize 524288 -drive ‹driveletter›

So, to test, press the Win Logo button. In search field, type “cmd”, then right click on the “cmd.exe” then choose “Run as administrator”.

Here's my output:

Microsoft Windows [Version 6.0.6002]
Copyright (c) 2006 Microsoft Corporation.  All rights reserved.

C:\Windows\system32>winsat disk -read -ran -ransize 4096 -drive J
Windows System Assessment Tool
> Running: Feature Enumeration v1.0.0.0 ''
> Run Time 00:00:01.93
> Running: Storage Performance Assessment via Profiling v1.0.0.0 '-read -ran -ransize 4096 -drive J'
> Run Time 00:00:10.27
> Disk Performance                           2.15 MB/s
> Total Run Time 00:00:13.34

C:\Windows\system32>winsat disk -write -ran -ransize 524288 -drive J
Windows System Assessment Tool
> Running: Feature Enumeration v1.0.0.0 ''
> Run Time 00:00:00.48
> Running: Storage Performance Assessment via Profiling v1.0.0.0 '-write -ran -ransize 524288 -drive J'
> Run Time 00:10:33.85
> Disk Performance                           3.75 MB/s
> Total Run Time 00:10:35.42

C:\Windows\system32>

It seems my USB drive's access time is not fast enough. Mine is 2.15 MiB per second, while required is 2.5 MiB. It's a 16 GB drive by Kingston. I don't know what's the problem. It's due to low quality chips in the product?

Solution: Plug It in the Back!

A PC usually have several USB ports in the front, and several in the back. They might be using different USB controllers. For some odd reason, when i plug it in the back, Windows says my drive can use ReadyBoost feature. However, i use the command line to test the speed again, both the reported read and write speed is actually slower. So, i don't know what to make of this.

Note: you should never plug in your USB drive in some un-powered Usb hub. That can bring the speed down some 5 times.

Should You Format Your Usb Drive to FAT32, NTFS, or exFAT?

Intuitively, i thought NTFS is best, while i don't know what's exFAT. Turns out, am wrong.

For generic use of USB drive (not as ReadyBost), the best choice are, from best to worst:

Windows Vista must have Service Pack 1 to support exFAT.

USB formatted with NTFS

If your USB drive is formatted with NTFS, then, you should always use “Safely Remove” before you unplug it.

Also, if you constantly exchange files from different computers of different accounts, then NTFS is not suitable, because it supports more permissions and you may get permission denied problems.

Format for ReadyBost

For ReadyBost, the best choice is exFAT, but Windows Vista doesn't support using that format for ReadyBost. The second best choice is NTFS, because FAT32 doesn't support files of large size.