Windows: is Your USB Drive Fast Enough for ReadyBoost?
Windows Vista and 7 has a [ Readyboost ] [ https://en.wikipedia.org/wiki/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:
- The removable media's capacity must be at least 256 MB (250 MB after formatting). Windows Vista x86 & x86-64 is limited to using 4 GB; this restriction has been removed in Windows 7.
- Windows 7 allows up to eight devices for a maximum of 256 GB of additional memory.
- The device must have an access time of 1 ms or less.
- The device must be capable of 2.5 MB/s read speeds for 4 KB random reads spread uniformly across the entire device, and 1.75 MB/s write speeds for 512 KB random writes spread uniformly across the device.
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 v22.214.171.124 '' > Run Time 00:00:01.93 > Running: Storage Performance Assessment via Profiling v126.96.36.199 '-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 v188.8.131.52 '' > Run Time 00:00:00.48 > Running: Storage Performance Assessment via Profiling v184.108.40.206 '-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 ] [ https://en.wikipedia.org/wiki/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:
- [ exFAT ] [ https://en.wikipedia.org/wiki/exFAT ] is Microsoft's file system designed for flash drives. This is best, but you may not be able to use your USB drive on Linux, Windows XP or older Mac machines, car music players, etc. (Mac OS X 10.6.5 and later supports it.)
- [ FAT32 ] [ https://en.wikipedia.org/wiki/FAT32 ] is the default format. Can be used by Windows, Mac, Linux.
- [ NTFS ] [ https://en.wikipedia.org/wiki/NTFS ] is more advanced than FAT32, however, it's not suitable for flash drives.
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.
- Windows: What's Prefetcher, SuperFetch, ReadyBoost?
- List of Great Windows Software
- Removing Junk PC AdWare, TrialWare, BloatWare
- Windows: Disable Startup Apps
- How to Secure Delete Files, Shred Files, Wipe Drive
- How to Use Windows Search; Stop Indexing USB Drives; Rebuilding Index
- Windows: How to Remove “Antivirus Action” Malware