Comme je le soupçonnais, il est basé sur le sous-système VSS ( source ) qui explique également sa nature asynchrone. Les morceaux de déduplication sont stockés dans \System Volume Information\Dedup\ChunkStore\*
, avec les paramètres dans \System Volume Information\Dedup\Settings\*
. Cela a des impacts importants sur la façon dont votre logiciel de sauvegarde interagit avec de tels volumes, ce qui est expliqué dans l'article lié (en bref: sans prise en charge de la déduplication, vos sauvegardes auront la même taille qu'elles le sont toujours, avec la prise en charge de la déduplication, vous sauvegarderez simplement le magasin de déduplication beaucoup plus petit).
En ce qui concerne les méthodes utilisées, le meilleur que j'ai pu trouver était un document de recherche publié par un chercheur de Microsoft en 2011 ( source , fulltext ) lors de la conférence Usenix FAST11. La section 3.3 est consacrée à la déduplication dans le stockage principal . Il semble probable que ces données aient été utilisées dans le développement de la fonction de déduplication NTFS. Cette citation a été utilisée:
L'algorithme canonique pour les blocs définis par le contenu de taille variable est Rabin Fingerprints [25].
Il y a beaucoup de données dans le document à passer au crible, mais la complexité de l'ensemble d'outils qu'ils ont utilisé, combinée avec les fonctionnalités que nous savons déjà en 2012, suggère fortement que le raisonnement dans le document a été utilisé pour développer les fonctionnalités. Je ne peux pas savoir avec certitude sans articles msdn, mais c'est aussi proche que nous sommes susceptibles d'obtenir pour le moment.
Les comparaisons de performances avec ZFS devront attendre que les benchmarkers en aient fini.