Developer(s) | Microsoft |
---|---|
Full name | Resilient File System |
Introduced | 1 August 2012Windows Server 2012 | with
Structures | |
Directory contents | B+ tree |
Limits | |
Max. volume size | 1 yobibyte (280 bytes) |
Max. file size | 16 exbibytes (264−1 bytes) |
Features | |
Attributes | Yes |
Transparent compression | No |
Copy-on-write | Yes |
Other | |
Supported operating systems | Microsoft Windows |
Website | Resilient File System Overview |
Resilient File System (ReFS), codenamed "Protogon", is a Microsoft proprietary file system introduced with Windows Server 2012 with the intent of becoming the "next generation" file system after NTFS.
ReFS was designed to overcome issues that had become significant over the years since NTFS was conceived, which are related to how data storage requirements had changed. The key design advantages of ReFS include automatic integrity checking and data scrubbing, removal of the need for running chkdsk, protection against data degradation, built-in handling of hard disk drive failure and redundancy, integration of the RAID functionality, a switch to copy/allocate on write for data and metadata updates, handling of very long paths and filenames, and storage virtualization and pooling, including almost arbitrarily sized logical volumes (unrelated to the physical sizes of the used drives).
These requirements arose from two major changes in storage systems and usage — the size of storage in use (large or massive arrays of multi-terabyte drives now being fairly common), and the need for continual reliability. As a result, the file system needs to be self-repairing (to prevent disk checking from being impractically slow or disruptive), along with abstraction or virtualization between physical disks and logical volumes.
ReFS was initially added to Windows Server 2012 only, with the aim of gradual migration to consumer systems in future versions; this was achieved as of Windows 8.1. The initial versions removed some NTFS features, such as disk quotas, alternate data streams, and extended attributes. Some of these were re-implemented in later versions of ReFS.