16Aug

Est-ce que les performances en écriture s'amélioreraient si un disque dur reformaté était rempli de zéros?

Si vous allez reformater un disque dur, y a-t-il quelque chose qui «améliorerait» les performances d'écriture après coup ou est-ce quelque chose dont vous ne devriez même pas vous inquiéter? Le SuperUser Q & A d'aujourd'hui a les réponses aux questions d'un lecteur curieux.

Question d'aujourd'hui &La session de réponse nous est offerte par SuperUser, une subdivision de Stack Exchange, un regroupement communautaire de sites Web Q & A.

Photo publiée avec l'aimable autorisation de Chris Bannister( Flickr).

La question

SuperUser lecteur Brettetete veut savoir si le remplissage d'un disque dur avec des zéros améliorerait les performances d'écriture:

J'ai un disque dur de 2 To qui était plein à 99 pour cent. J'ai supprimé les partitions avec fdisk et l'a formaté comme ext4 .Pour autant que je sache, les données réelles qui étaient sur le disque dur existent toujours, mais la table de partition a été réaffectée.

Ma question est la suivante: cela améliorerait-il les performances d'écriture pour d'autres actions d'écriture si le disque dur était propre? Par «nettoyer», je veux dire remplir le disque dur avec des zéros? Quelque chose comme:

  • dd if = /dev/ zéro de = /dev/ sdx bs = 1 compte = 4503599627370496

Remplir le disque dur avec des zéros améliorerait les performances d'écriture?

La réponse

SuperUser contributeur Michael Kjörling a la réponse pour nous:

Non, cela n'améliorerait pas les performances. Les disques durs ne fonctionnent pas comme ça.

Tout d'abord, lorsque vous écrivez des données sur un disque rotatif, il se transforme en domaines magnétiques qui peuvent être très différents du modèle binaire que vous écrivez. Ceci est en partie dû au fait qu'il est beaucoup plus facile de maintenir la synchronisation lorsque le motif lu depuis le plateau présente une certaine variabilité.Par exemple, une longue chaîne de valeurs «zéro» ou «un» rendrait la synchronisation très difficile. Avez-vous lu 26 393 bits ou 26 394 bits? Comment reconnais-tu la limite entre les bits?

Les techniques pour ce faire ont évolué au fil du temps. Par exemple, recherchez la Modulation de fréquence modifiée, MMFM, l'enregistrement de code de groupe et la technologie plus générale des codages limités en longueur d'exécution.

Deuxièmement, lorsque vous écrivez de nouvelles données dans un secteur, les domaines magnétiques des parties pertinentes du plateau sont simplement réglés sur la valeur désirée. Ceci est fait indépendamment de ce que le domaine magnétique précédent «était» à cet emplacement physique particulier. Le plateau tourne déjà sous la tête d'écriture;en lisant d'abord la valeur actuelle, puis en écrivant la nouvelle valeur si et seulement si elle est différente. Chaque écriture nécessiterait deux révolutions( ou une tête supplémentaire pour chaque plateau), ce qui entraînerait une latence d'écriture double ou augmenterait considérablement la complexité du disque, augmentant ainsi le coût.

Étant donné que le facteur limitant de la performance des E / S séquentielles du disque dur est la rapidité avec laquelle chaque bit passe sous la tête de lecture / écriture, cela n'offre même aucun avantage à l'utilisateur. En passant, le facteur limitant dans les performances d'E / S aléatoires est la rapidité avec laquelle la tête de lecture / écriture peut être positionnée sur le cylindre souhaité, puis le secteur souhaité arrive sous la tête. La principale raison pour laquelle les disques SSD peuvent être si rapides dans les charges de travail d'E / S aléatoires est qu'ils éliminent complètement ces deux facteurs.

Comme l'a souligné JakeGould, l'une des raisons pour lesquelles vous pourriez vouloir écraser le disque avec un motif fixe( comme tous les zéros) serait de s'assurer qu'aucun résidu des données précédemment stockées ne peut être récupéré, délibérément ou accidentellement. Mais cela n'aura aucun effet sur les performances du disque dur pour les raisons indiquées ci-dessus.

Avoir quelque chose à ajouter à l'explication? Sonnez dans les commentaires. Vous voulez lire plus de réponses d'autres utilisateurs de Stack Exchange? Découvrez le fil de discussion complet ici.