Registry Settings for FATFS Disk Caching (Compact 2013)
3/26/2014
The registry settings that control disk cache behavior for file allocation table (FAT) file systems are placed at the following locations in the registry:
- Root file system subkey
Settings made at the root of the file system subkey, HKEY_LOCAL_MACHINE\System\StorageManager\FATFS, apply to every mounted instance of FATFS unless you explicitly override them by using a lower-level setting. These settings apply to FATFS for all profiles. - Profile-specific settings
Settings made at the Profiles subkey, HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\<MyProfileName>\FATFS, apply only to devices that report the profile <MyProfileName>.
The following table shows the applicable registry settings and also specifies whether you can apply the setting to a FAT, transaction-safe extended FAT (TexFAT), or extended FAT (ExFAT) file system.
Name |
Type |
Applies to |
Description |
---|---|---|---|
BitmapCacheSize |
REG_DWORD |
ExFAT, TexFAT |
Specifies the size, in number of sectors, of the bitmap cache, up to a maximum of 512. If set to 0 (zero), FATFS determines the best cache size to use. The default value is the size of the bitmap. For more information, see CacheSize Registry Subkey. |
CacheDLL |
REG_SZ |
ExFAT, FAT, TexFAT |
Specifies the name of the disk cache library, such as Diskcache.dll. |
CacheSize |
REG_DWORD |
This entry is obsolete. Instead, use FatCacheSize or DataCacheSize. |
|
DataCacheSize |
REG_DWORD |
ExFAT, FAT, TexFAT |
Indicates the size, in number of sectors, of the data cache. If set to 0 (zero), FATFS determines the best cache size to use. The default value is twice the size of the FAT, up to a maximum of 512 sectors. For more information, see CacheSize Registry Subkey. |
EnableBitmapCacheWarm |
REG_DWORD |
ExFAT, TexFAT |
When set to 1, enables pre-warming of the bitmap cache. The default value is 0 (zero). |
EnableCache |
REG_DWORD |
ExFAT, FAT, TexFAT |
Specifies whether caching is enabled. Set this entry to 1 to enable caching. A value of 0 (zero) disables caching. The default value is 0 (zero). |
EnableDataCacheWarm |
REG_DWORD |
ExFAT, FAT, TexFAT |
Specifies whether pre-warming of the data cache is enabled. Set to 1 to enable pre-warming; that is, on initialization, the data cache is pre-loaded to capacity with data. The default value is 0 (zero). |
EnableFatCacheWarm |
REG_DWORD |
ExFAT, FAT, TexFAT |
Specifies whether pre-warming of the FAT cache is enabled. Set to 1 to enable pre-warming; that is, on initialization, the FAT cache is pre-loaded to capacity with data. The default value is 0 (zero). |
EnableWriteBack |
REG_DWORD |
ExFAT, FAT, TexFAT |
Specifies whether a write-back cache is enabled. Set to 1 to enable a write-back cache. Set to 0 (zero) to use a write-through cache. The default value is 0 (zero). |
FatCacheSize |
REG_DWORD |
ExFAT, FAT, TexFAT |
Specifies the size, in number of sectors, of the FAT cache. If set to 0 (zero), FATFS determines the best cache size to use. The default value is the size of the FAT, up to a maximum of 512 sectors. For more information, see CacheSize Registry Subkey. |
LazyWriterThreadPrio256 |
REG_DWORD |
ExFAT, FAT, TexFAT |
Specifies the priority of the lazy write-back thread. The default value is the idle thread priority. |
Note
When you enable pre-warming of the FAT or data cache, the device takes longer to start up but has quicker cache access when it is fully booted. To determine the settings that offer the best performance for your device, experiment with different values for EnableFatCacheWarm and EnableDataCacheWarm.