Major new features Improved reliability for on-disk structures ReFS uses
B+ trees for all on-disk structures, including all metadata and file data. Metadata and file data are organized into tables similar to a
relational database. The file size, number of files in a
folder, total volume size, and number of folders in a volume are limited by 64-bit numbers; as a result, in practice ReFS supports a maximum file size of 35
petabytes, and a maximum volume size of 35 petabytes. The theoretical maximum is way beyond that however not even Windows supports ReFS volumes with the full theoretical limits. The design allows for a theoretical maximum of a single volume of 2^78 bytes with 16KB cluster size (2^64 * 16 * 2^10) with a maximum of 2^64-1 bytes for a single file. That maximum volume size is currently soft limited by Windows’ stack addressing being limited to 2^64 bytes; a maximum path length of 32K (soft limited to 255 unicode characters on Windows to align with NTFS and because of restrictions in some older APIs for handling file paths); a maximum of 2^64 directories on a single volume; 2^64 files per directory; a single storage pool is limited to a maximum of 4 PB.
Built-in resilience ReFS employs an
allocation-on-write update strategy for metadata, in which case the file update strategy also implements allocation-on-write for file data; this is controlled by a new "integrity" attribute applicable to both files and directories. If file data or metadata become corrupt, the file can be deleted without taking the whole volume offline for maintenance, and then be restored from the backup. As a result of built-in resiliency, administrators do not need to periodically run error-checking tools such as
CHKDSK when using ReFS. In contrast,
NTFS only calculates a checksum for
metadata, the check for
sectors is done by storage hardware (such as sector CRC-32 command of SATA and NVMe).
Compatibility with existing APIs and technologies ReFS supports only a subset of NTFS features, and only supports Win32 APIs that are "widely adopted". It does not require new system APIs, and most file system filters continue to work with ReFS volumes.
symbolic links,
junction points,
mount points,
reparse points,
volume snapshots,
file IDs, and
oplock. ReFS seamlessly integrates with
Storage Spaces, ReFS resiliency features enhance the mirroring feature provided by Storage Spaces and can detect whether any mirrored copies of files become corrupt using a
data scrubbing process,
NTFS features missing from ReFS Some NTFS features are not implemented in ReFS. These include
object IDs,
8.3 filename,
NTFS compression,
Encrypting File System (EFS),
transactional NTFS,
extended attributes, and
disk quotas. Dynamic disks with mirrored or striped volumes are replaced with mirrored or striped storage pools provided by Storage Spaces; however, automated error-correction is only supported on mirrored spaces.
Data deduplication was missing in early versions of ReFS. Support for
alternate data streams and
hard links was initially not implemented in ReFS. In Windows 8.1 64-bit and Server 2012 R2, the file system reacquired support for alternate data streams, with lengths of up to 128K, and automatic correction of corruption when integrity streams are used on parity spaces. ReFS had initially been unsuitable for
Microsoft SQL Server instance allocation due to the absence of alternate data streams. Hard links were introduced in v3.5, debuting in a preview version of Windows 10 Enterprise (19536) , but this feature was only available on newly formatted volumes would, not upgraded ones. == Implementations ==