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.

See Also

Reference

FAT File System Registry Settings
CacheSize Registry Subkey