Pourquoi le vider l'espace disque accélère-t-il les ordinateurs?

J'ai regardé un tas de vidéos et je comprends maintenant un peu mieux comment fonctionnent les ordinateurs. Je comprend mieux ce qu'est la RAM, la mémoire volatile et non volatile et le processus d'échange. Je comprends également pourquoi augmenter la RAM accélère un ordinateur.

Je ne comprends pas pourquoi nettoyer l'espace disque accélère un ordinateur. Est ce que ça? Pourquoi est-ce? Est-ce que cela concerne la recherche d'espace disponible pour économiser des choses? Ou avec des choses en mouvement pour créer un espace continu suffisamment long pour sauver quelque chose? Combien d'espace vide sur le disque dur dois-je laisser libre?

Ici, j'ai écrit un livre par hasard. Prenez du café d'abord.

Pourquoi le vider l'espace disque accélère-t-il les ordinateurs?

Ce n'est pas du tout, du moins pas seul. C'est un mythe très commun. La raison pour laquelle c'est un mythe commun est que le remplissage de votre disque dur se produit souvent en même temps que d'autres choses qui traditionnellement pourraient ralentir votre ordinateur. La performance de SSD a tendance à se dégrader à mesure que le lecteur remplit , mais il s'agit d'un problème relativement nouveau, unique aux SSD, et n'est pas vraiment perceptible pour les utilisateurs occasionnels. Généralement, l'espace disque insuffisant est juste un hareng rouge .

Par exemple, des choses comme:

  • La fragmentation du fichier. La fragmentation des fichiers est un problème †† , mais le manque d'espace libre, bien définitivement l'un des nombreux facteurs contributifs, n'est pas la seule cause de celui-ci. Quelques points clés ici:

    • Les chances pour un fichier fragmenté ne sont pas liées à la quantité d'espace libre restant sur le lecteur. Ils sont liés à la taille du plus grand bloc contigu de l'espace libre sur le lecteur (par exemple, «trous» de l'espace libre), dont la quantité d'espace libre pose une limite supérieure . Ils sont également liés à la façon dont le système de fichiers gère l'allocation des fichiers (plus ci-dessous). Considérons: Un lecteur qui est plein de 95% avec tout l'espace libre dans un seul bloc contigus a 0% de chances de fragmenter un nouveau fichier ††† (et la possibilité de fragmenter un fichier ajouté est indépendante de l'espace libre). Un lecteur 5% plein mais avec des données réparties uniformément sur le lecteur présente une très grande chance de fragmentation.

    • Gardez à l'esprit que la fragmentation du fichier n'affecte que les performances lorsque les fichiers fragmentés sont accessibles . Envisagez: vous avez un lecteur agréable et défragmenté qui a encore beaucoup de "trous" gratuits. Un scénario commun. Tout se déroule en douceur. Finalement, cependant, vous arrivez à un point où il n'y a plus de grands blocs d'espace libre restant. Vous téléchargez un grand film, le fichier finit par être gravement fragmenté. Cela ne ralentira pas votre ordinateur. Tous les fichiers de votre demande et ceux qui étaient auparavant corrects ne se fragmenteront pas soudainement. Cela peut rendre le film plus long à charger (bien que les taux de bits typiques du film soient si bas par rapport aux taux de lecture du disque dur qu'il est probable qu'il soit imperceptible) et cela peut affecter les performances liées aux E / S pendant le chargement du film , Mais autrement, rien ne change.

    • Alors que la fragmentation des fichiers est certainement un problème, souvent les effets sont atténués par le système d'exploitation et la mise en cache de niveau matériel. Les écrits retardés, la lecture continue, des stratégies comme le préfetcher dans Windows, etc., contribuent tous à réduire les effets de la fragmentation. En général, vous n'éprouvez pas d'impact significatif jusqu'à ce que la fragmentation devienne sévère (j'avais même l'intention de dire que tant que votre fichier de swap n'est pas fragmenté, vous ne le remarquerez probablement jamais).

  • L'indexation de recherche est un autre exemple. Disons que vous avez une indexation automatique activée et un système d'exploitation qui ne gère pas gracieusement. Comme vous enregistrez de plus en plus de contenu indexable sur votre ordinateur (documents et autres), l'indexation peut prendre plus de temps et plus longtemps et peut commencer à avoir un effet sur la vitesse perçue de votre ordinateur pendant son exécution, à la fois en E / S et en utilisation CPU . Ceci n'est pas lié à l'espace libre, il est lié à la quantité de contenu indexable que vous avez. Cependant, l'absence d'espace libre va de pair avec le stockage de plus de contenu, donc une connexion fausse est dessinée.

  • Logiciel antivirus. Semblable à l'exemple d'indexation de la recherche. Disons que vous avez installé un logiciel antivirus pour effectuer une analyse en arrière-plan de votre lecteur. Comme vous avez de plus en plus de contenu scannable, la recherche prend plus de ressources d'E / S et d'UC, ce qui pourrait entraver votre travail. Encore une fois, cela est lié à la quantité de contenu scannable que vous avez. Plus de contenu équivaut souvent à moins d'espace libre, mais le manque d'espace libre n'est pas la cause.

  • Logiciel installé. Disons que vous avez beaucoup de logiciels installés lorsque votre ordinateur démarre, ralentissant ainsi les temps de démarrage. Ce ralentissement se produit car beaucoup de logiciels sont chargés. Toutefois, le logiciel installé prend de l'espace disque dur. Par conséquent, l'espace libre du disque dur diminue en même temps que cela se produit, et encore une fausse connexion peut être facilement réalisée.

  • Beaucoup d'autres exemples, dans le même ordre d'idées, semblent associer étroitement le manque d'espace libre aux performances inférieures.

Ce qui précède illustre une autre raison pour laquelle il s'agit d'un tel mythe commun: alors que le manque d'espace libre n'est pas une cause directe de ralentir, de désinstaller diverses applications, de supprimer des contenus indexés ou numérisés, etc. parfois (mais pas toujours, en dehors de cette portée Réponse) augmente encore les performances pour des raisons indépendantes de la quantité d'espace libre restant. Mais cela libère également naturellement l'espace disque dur. Par conséquent, encore une fois, une connexion apparente (mais fausse) entre "plus d'espace libre" et "ordinateur plus rapide" peut être faite.

Envisagez-le: si vous avez une machine qui fonctionne lentement en raison de beaucoup de logiciels installés, etc., et vous cloquez exactement votre disque dur sur un disque dur plus grand, puis développez vos partitions pour gagner plus d'espace libre, la machine ne ralentira pas magiquement Up. Les mêmes charges de logiciel, les mêmes fichiers sont encore fragmentés de la même manière, le même indexateur de recherche fonctionne toujours, rien ne change malgré un espace libre.

Est-ce que cela a trait à la recherche d'un espace mémoire où économiser des choses?

Non. Deux choses très importantes méritent d'être notées ici:

  1. Votre disque dur ne recherche pas pour trouver des endroits pour mettre les choses. Votre disque dur est stupide. Ce n'est rien. C'est un gros bloc de stockage adressé qui met aveuglément les choses où votre OS l'indique et lit tout ce qui lui est demandé. Les lecteurs modernes ont des mécanismes de mise en cache et de mise en mémoire tampon sophistiqués conçus pour prédire ce que le système d'exploitation va demander en fonction de l'expérience acquise au fil du temps (certains lecteurs sont même conscients du système de fichiers qui s'y trouve), mais essentiellement, pensez à Votre lecteur comme une grande brique stupide de stockage avec des fonctionnalités de performance bonus occasionnelles.

  2. Votre système d'exploitation ne recherche pas non plus des endroits pour mettre des choses. Il n'y a pas de "recherche". De nombreux efforts ont été déployés pour résoudre ce problème, car il est essentiel pour les performances du système de fichiers. La façon dont les données sont effectivement organisées sur votre disque est déterminée par votre système de fichiers . Par exemple, FAT32 (vieux DOS et Windows PC), NTFS (Windows ultérieur), HFS + (Mac), ext4 (certains Linux) et bien d'autres. Même le concept d'un «fichier» et d'un «répertoire» ne sont que des produits de systèmes de fichiers typiques – les disques durs ne connaissent pas les bêtes mystérieuses appelées «fichiers». Les détails ne dépassent pas la portée de cette réponse. Mais essentiellement, tous les systèmes de fichiers communs ont des moyens de suivre l'espace disponible sur un lecteur, de sorte que la recherche d'un espace libre est inutile dans des circonstances normales (c'est-à-dire des systèmes de fichiers en bonne santé). Exemples:

    • NTFS possède une table de fichiers principaux , qui comprend les fichiers spéciaux $Bitmap , etc., et beaucoup de méta données décrivant le lecteur. Essentiellement, il surveille l'endroit où se trouvent les prochains blocs gratuits, de sorte que les nouveaux fichiers peuvent être écrits directement sur des blocs gratuits sans avoir à numériser le lecteur à chaque fois.

    • Un autre exemple, ext4, a appelé «bitmap allocator» , une amélioration par rapport à ext2 et ext3 qui l'aide essentiellement à déterminer directement où sont les blocs libres au lieu de numériser la liste des blocs gratuits. Ext4 prend également en charge l'allocation différée, c'est-à-dire la mise en mémoire tampon des données dans la mémoire RAM par le système d'exploitation avant de l'écrire sur le lecteur afin de prendre de meilleures décisions quant à savoir où l'empêcher de réduire la fragmentation.

    • De nombreux autres exemples.

Ou avec des choses en mouvement pour constituer un espace continu suffisamment long pour sauver quelque chose?

Non. Cela ne se produit pas, du moins pas avec un système de fichiers dont je suis conscient. Les fichiers finissent par être fragmentés.

Le processus consistant à «déplacer les choses pour créer un espace suffisamment long et contigu pour sauver quelque chose» est appelé défragmentation . Cela n'arrive pas lorsque les fichiers sont écrits. Cela se produit lorsque vous exécutez votre défragmenteur de disque. Sur Windows plus récent, au moins, cela se produit automatiquement sur un calendrier, mais il n'est jamais déclenché en écrivant un fichier.

Être capable d' éviter de déplacer les choses comme ceci est la clé pour la performance du système de fichiers, et c'est pourquoi la fragmentation se produit et pourquoi la défragmentation existe en tant que démarche distincte.

Combien d'espace vide sur le disque dur dois-je laisser libre?

C'est une question plus délicate à répondre, et cette réponse est déjà devenue un petit livre.

Règles de base:

  • Pour tous les types de lecteurs:

    • Plus important encore, laissez suffisamment d'espace libre pour que vous puissiez utiliser votre ordinateur de manière efficace . Si vous manquez d'espace pour travailler, vous voudrez un disque plus grand.
    • De nombreux outils de défragmentation de disque nécessitent une quantité minimale d'espace libre (je pense que celui avec Windows nécessite 15% le pire cas) pour travailler. Ils utilisent cet espace libre pour conserver temporairement des fichiers fragmentés car d'autres choses sont réarrangées.
    • Laissez de l'espace pour d'autres fonctions OS. Par exemple, si votre machine n'a pas beaucoup de RAM physique et que vous disposez d'une mémoire virtuelle avec un fichier de page de taille dynamique, vous voudrez laisser suffisamment d'espace pour la taille maximale du fichier de page. Ou si vous avez un ordinateur portable que vous mettez en mode veille prolongée, vous aurez besoin de suffisamment d'espace libre pour le fichier d'état d'hibernation. Des choses comme ça.
  • SSD-spécifique:

    • Pour une fiabilité optimale (et dans une moindre mesure, des performances), les SSD nécessitent un espace libre qui, sans trop de détails, ils utilisent pour diffuser des données autour du lecteur pour éviter d'écrire constamment sur le même endroit (ce qui les supporte). Ce concept de laisser de l'espace libre s'appelle un sur-provisionnement . C'est important, mais dans de nombreux SSD, l'espace obligatoire surévalué existe déjà . Autrement dit, les lecteurs ont souvent quelques dizaines de GB plus qu'ils ne font état de l'OS. Les lecteurs bas de gamme exigent souvent que vous quittiez manuellement des espaces non répartis , mais pour les lecteurs avec OP obligatoire, vous ne devez pas laisser d'espace libre . Une chose importante à noter ici est que l'espace suréploié n'est souvent pris que dans des espaces non répartis . Donc, si votre partition prend son lecteur entier et que vous laissez un espace libre, cela ne compte pas toujours . Plusieurs fois, le sur-provisionnement manuel vous oblige à réduire votre partition pour être plus petit que la taille du lecteur. Consultez le manuel utilisateur de votre SSD pour plus de détails. TRIM et la collecte des ordures, et ces effets ont aussi des effets, mais ceux qui échappent à cette réponse.

Personnellement, je prends généralement un disque plus grand quand j'ai environ 20-25% d'espace libre restant. Ceci n'est pas lié à la performance, c'est juste que lorsque je parviendra à ce point, je m'attends à ce que je vais bientôt avoir de l'espace pour les données bientôt, et il est temps d'obtenir un disque plus important.

Plus important que de regarder l'espace libre, assurez-vous que la défragmentation programmée est activée le cas échéant (et non sur les SSD), de sorte que vous ne parvenez jamais au point où cela vous rendra le plus grave. Tout aussi important est d'éviter des ajustements erronés et de laisser votre système d'exploitation faire son objet, par exemple, ne pas désactiver le préfet de Windows (à l' exception des SSD ), etc.


Il y a une dernière chose à mentionner. L'une des autres réponses mentionne ici que le mode semi-duplex de SATA empêche la lecture et l'écriture en même temps. Bien que vrai, cela est très simplifié et ne concerne en grande partie pas les problèmes de performance abordés ici. Ce que cela signifie, tout simplement, est que les données ne peuvent pas être transférées dans les deux sens sur le fil en même temps. Cependant, SATA a une spécification relativement complexe impliquant de minuscules tailles de blocs maximales (environ 8kB par bloc sur le fil, je pense), lue et écrit des files d'attente de fonctionnement, etc., et n'empêche pas les écritures sur les mémoires tampons pendant que les lectures sont en cours, intercalées Opérations, etc.

Tout blocage qui se produira serait dû à la concurrence des ressources physiques, habituellement atténué par beaucoup de cache. Le mode duplex de SATA est presque entièrement sans importance ici.


"Ralentissement" est un terme large. Ici, je l'utilise pour faire référence à des éléments qui sont reliés à l'E / S (par exemple, si votre ordinateur est assis là, les contenus du disque dur n'ont pas d'impact), ou liés à la CPU et en concurrence avec des choses tangentiellement liées Utilisation élevée du processeur (p. Ex. Logiciel antivirus qui scanne des tonnes de fichiers).

†† Les SSD sont affectés par la fragmentation en ce sens que les vitesses d'accès séquentielles sont généralement plus rapides que l'accès aléatoire, même si les SSD ne font pas face aux mêmes limitations qu'un appareil mécanique (même alors, le manque de fragmentation ne garantit pas l'accès séquentiel, en raison du nivellement de l'usure, etc. , Comme l'indique James Snell dans les commentaires). Toutefois, dans presque tous les cas d'utilisation générale, cela ne pose aucun problème. Les différences de performance dues à la fragmentation des SSD sont généralement négligeables pour des applications telles que le chargement d'applications, le démarrage de l'ordinateur, etc.

††† En supposant un système de fichiers sain qui ne fragmentent pas les fichiers à dessein.

En plus de l'explication de Nathanial Meek pour les disques durs, il existe un scénario différent pour les SSD.

Les SSD ne sont pas sensibles aux données dispersées car le temps d'accès à n'importe quel endroit sur le SSD est le même. Le temps d'accès SSD typique est de 0,1 ms par rapport à un temps d'accès au disque dur typique de 10 à 15 ms. Il est cependant sensible aux données déjà écrites sur le SSD

Contrairement aux disques durs traditionnels qui peuvent remplacer les données existantes, un SSD a besoin d'espace vide pour écrire des données. Cela se fait par des fonctions appelées Trim et Garbage Collection qui purgent les données qui ont été marquées comme supprimées. La collecte des ordures fonctionne le mieux en combinaison avec une certaine quantité d'espace libre sur le SSD. Habituellement, 15% à 25% de l'espace libre est recommandé.

Si la collecte des ordures ne peut pas compléter son travail à temps, chaque opération d'écriture est précédée d'un nettoyage de l'espace où les données sont censées être écrites. Cela double le temps pour chaque opération d'écriture et dégrade les performances globales.

Voici un excellent article qui explique le fonctionnement de Trim and Garbage Collection

Quelque part à l'intérieur d'un disque dur traditionnel est un plateau de métal tournant où les bits et les octets individuels sont encodés. À mesure que les données sont ajoutées au plateau, le contrôleur de disque l'enregistre d'abord sur l'extérieur du disque. Au fur et à mesure que de nouvelles données sont ajoutées, l'espace est utilisé pour passer à l'intérieur du dernier disque.

Dans cet esprit, il existe deux effets qui entraînent une diminution des performances du disque lorsque le disque se remplit: temps de recherche et vitesse de rotation .

Rechercher des temps

Pour accéder aux données, un disque dur traditionnel doit déplacer physiquement une tête de lecture / écriture dans la position correcte. Cela prend du temps, appelé "temps de recherche". Les fabricants publient les temps de recherche de leurs disques, et ce n'est généralement que quelques millisecondes. Cela peut ne pas sembler beaucoup, mais à un ordinateur c'est une éternité. Si vous devez lire ou écrire sur plusieurs emplacements de disque différents pour compléter une tâche (ce qui est commun), ceux qui recherchent des moments peuvent s'ajouter à des délais ou à une latence remarquables.

Un lecteur qui est presque vide aura la plupart de ses données dans ou à proximité de la même position, généralement au bord extérieur près de la position de repos de la tête de lecture / écriture. Cela réduit la nécessité de rechercher à travers le disque, réduisant considérablement le temps passé à chercher. Un lecteur qui est presque plein ne devra pas seulement chercher à travers le disque plus souvent et avec des mouvements de recherche plus larges ou plus longs, mais il peut être difficile de conserver des données connexes dans le même secteur, ce qui augmente encore la recherche de disque. C'est ce qu'on appelle des données fragmentées .

La libération de l'espace disque peut améliorer les temps de recherche en permettant au service de défragmentation non seulement de nettoyer plus rapidement les fichiers fragmentés, mais aussi de déplacer des fichiers vers l'extérieur du disque afin que le temps de recherche moyen soit plus court.

Vitesse de rotation

Les disques durs tournent à un débit fixe (généralement 5400 tr / min ou 7200 tr / min pour votre ordinateur, et 10000 tr / min ou même 15 000 tr / min sur un serveur). Il faut également une quantité d'espace fixe sur le lecteur (plus ou moins) pour stocker un seul bit. Pour un disque tournant à un taux de rotation fixe, l'extérieur du disque aura un taux linéaire plus rapide que l'intérieur du disque. Cela signifie que les bits proches du bord extérieur du disque se déplacent au-delà de la tête de lecture à un débit plus rapide que les bits proches du centre du disque, et ainsi la tête de lecture / écriture peut lire ou écrire des bits plus rapidement près du bord extérieur du disque que le interne.

Un lecteur qui est presque vide passera la majeure partie du temps à accéder à des bits proches du bord supérieur du disque. Un lecteur qui est presque plein passera plus de temps à accéder à des bits proches de la partie intérieure plus lente du disque.

Encore une fois, le vidage de l'espace disque peut rendre l'ordinateur plus rapide en permettant au service défragmenté de déplacer des données vers l'extérieur du disque, où les lectures et les écritures sont plus rapides.

Parfois, un disque se déplacera trop vite pour la tête de lecture, et cet effet est réduit parce que les secteurs proches du bord extérieur seront décalés … écrits hors service afin que la tête de lecture puisse se maintenir. Mais dans l'ensemble, cela tient.

Ces deux effets descendent vers un contrôleur de disque regroupant les données ensemble dans la partie la plus rapide du disque et ne pas utiliser les parties plus lentes du disque jusqu'à ce qu'il soit nécessaire. Au fur et à mesure que le disque se remplit, de plus en plus de temps est passé dans la partie inférieure du disque.

Les effets s'appliquent également aux nouveaux lecteurs. Tout le reste étant égal, un nouveau lecteur de 1TB est plus rapide qu'un nouveau lecteur de 200 Go, car le 1TB stocke les bits plus près et ne se remplit pas aussi rapidement sur les pistes intérieures. Cependant, essayer d'utiliser cela pour informer les décisions d'achat est rarement utile, car les fabricants peuvent utiliser plusieurs plateaux pour atteindre la taille de 1TB, des plateaux plus petits pour limiter un système de 1 To à 200 Go, les restrictions du logiciel / contrôleur de disque pour limiter un plateau de 1 To à seulement 200 Go de Espace, ou vendez un lecteur avec des platines partiellement complétées / défectueuses d'un lecteur de 1 To avec de nombreux secteurs défectueux en tant que lecteur de 200 Go.

Autres facteurs

Il convient de noter ici que les effets ci-dessus sont assez faibles. Les ingénieurs en informatique passent beaucoup de temps à travailler sur la façon de minimiser ces problèmes, et des choses comme les tampons du disque dur, la mise en cache de Superfetch et d'autres systèmes permettent de minimiser le problème. Sur un système sain avec beaucoup d'espace libre, vous ne devriez même pas le remarquer. En outre, les SSD ont des caractéristiques de performance complètement différentes. Cependant, les effets existent, et un ordinateur légitimement devient plus lent lorsque le lecteur se remplit. Sur un système malsain , où l'espace disque est très bas, ces effets peuvent créer une situation de blocage de disque, où le disque recherche constamment des données fragmentées et libère de l'espace disque pour résoudre ce problème, ce qui entraîne des améliorations plus spectaculaires et perceptibles .

En outre, l'ajout de données au disque signifie que certaines autres opérations, comme l'indexation ou les scans AV et les processus de défragmentation, ne font que plus de travail en arrière-plan, même si cela le fait à la même vitesse que la précédente.

Enfin, la performance du disque est un indicateur énorme des performances PC globales de nos jours … un indicateur encore plus grand que la vitesse du processeur. Même une petite baisse du débit du disque équivaut très souvent à une véritable baisse globale perçue des performances des PC. Cela est particulièrement vrai car les performances du disque dur n'ont pas vraiment évolué avec les améliorations de la CPU et de la mémoire; Le disque de 7200 tr / min a été le standard de bureau depuis plus d'une décennie. Plus que jamais, ce disque de filage traditionnel est le goulet d'étranglement de votre ordinateur.

Toutes les autres réponses sont techniquement correctes – mais j'ai toujours trouvé que cet exemple simple l'explique mieux.

Le tri des choses est vraiment simple si vous avez beaucoup d'espace … mais difficile si vous n'avez pas l'espace … les ordinateurs ont besoin de l'espace aussi !

Ce classique " 15 casse-tête " est difficile à gagner, car vous n'avez qu'un carré gratuit pour mélanger les carreaux autour pour les obtenir dans l'ordre 1-15 approprié.

Hard 15 puzzle

Cependant, si l'espace était beaucoup plus grand, vous pourriez résoudre ce casse-tête bien moins de 10 secondes.

Puzzle facile 15

Pour ceux qui ont déjà joué avec ce puzzle … comprendre l'analogie semble venir naturellement. 😉

Un ordinateur qui a très peu d'espace disque, sur un disque dur mécanique rotatif, pendant une quantité considérable de temps, sera généralement plus lent à mesure que la fragmentation des fichiers grandit. Une fragmentation accrue signifie lecture lente: très lentement dans les cas extrêmes.

Une fois qu'un ordinateur est dans cet état, la libération de l'espace disque ne résoudra pas le problème. Vous devriez également défragmenter le disque. Avant qu'un ordinateur soit dans cet état, libérer l'espace ne l'accélérera pas; Cela réduira simplement les chances de fragmentation devenant un problème.

Cela s'applique uniquement aux ordinateurs avec des disques durs mécaniques tournantes, car la fragmentation a un effet négligeable sur la vitesse de lecture des SSD.

Les disques instantanés peuvent devenir plus lents lorsqu'ils sont pleins ou fragmentés, bien que les mécanismes de ralentissement soient différents de ceux qui se produiraient avec un disque dur physique. Une puce de mémoire flash typique sera divisée en un certain nombre de blocs d'effacement, dont chacun comprend un grand nombre (des centaines, voire des milliers) de pages d'écriture et prend en charge trois opérations principales:

  1. Lisez une page flash.
  2. Ecrivez sur une page flash précédemment vierge.
  3. Effacez toutes les pages flash sur un bloc.

Bien qu'il soit théoriquement possible d'avoir chaque écriture sur un lecteur flash, lisez toutes les pages à partir d'un bloc, changez-en une dans le tampon, effacez le bloc, puis écrivez le tampon vers le périphérique flash, une telle approche serait extrêmement lent; Il serait également susceptible de provoquer une perte de données si la puissance était perdue entre le moment où l'effacement a été démarré et l'écriture est terminée. En outre, les parties de disque fréquemment écrites s'useraient très rapidement. Si les premiers 128 secteurs du FAT étaient stockés dans un seul bloc flash, par exemple, le lecteur serait mort après que le nombre total d'écritures dans tous ces secteurs a atteint environ 100 000, ce qui n'est pas très important, surtout étant donné que 128 secteurs Détenirait environ 16 384 entrées FAT.

Étant donné que l'approche ci-dessus fonctionnerait horriblement, le lecteur l'entraînera à identifier une page vierge, à écrire les données là-bas, et en quelque sorte enregistrer le fait que le secteur logique en question est stocké à cet endroit. Tant que suffisamment de pages vierges sont disponibles, cette opération peut se dérouler rapidement. Toutefois, si les pages vierges sont insuffisantes, le lecteur doit avoir besoin de trouver des blocs contenant peu de pages «en direct», déplacer toutes les pages en direct de ces blocs dans certains des autres vierges et marquer les anciennes copies comme " mort"; Après avoir fait cela, le lecteur pourra alors effacer des blocs qui ne contiennent que des pages «mortes».

Si un disque est à moitié rempli, il y aura certainement au moins un bloc qui est au plus à moitié plein de pages en direct (et il y aura certainement quelques blocs qui contiennent peu ou pas). Si chaque bloc détient 256 pages et que les blocs les moins pleins contiennent 64 pages en direct (un cas modérément mauvais), alors, pour chaque 192 secteurs requis, le lecteur doit effectuer 64 copies supplémentaires du secteur et une effacement de bloc (de sorte que le coût moyen De chaque écriture de secteur serait d'environ 1,34 pages écrites et 0,005 effacement de blocs). Même dans le pire des cas, les 128 écrits sectoriels nécessiteraient 128 copies supplémentaires du secteur et une effacement de bloc (coût moyen par écriture d'écriture de 2 pages et blocage de blocs de 0,01)

If a drive is 99% full, and the least-full blocks have 248/256 live pages, then every 8 sector writes will require 248 additional page writes and a block erase, thus yielding a cost per write of 32 page writes and 0.125 block erases–a very severe slowdown.

Depending upon how much "extra" storage a drive has, it may not allow things to get quite that bad. Nonetheless, even at the point where a drive is 75% full the worst-case performance may be more than twice as bad as the worst-case performance when it's 50% full.

You pretty much nailed it. You can think of a SATA HDD as a half duplex communications medium (That is, it can only accept or transmit data at a time. Not both.) so when the drive is held up for an extended time looking for a free location to write to, it can't read any data to you. As a rule of thumb, you shouldn't load your drives up over 80% capacity for this reason. The more full it is the higher the more likely it is to fragment files which causes the drive to tie up during read requests (thus blocking write requests).

There are a number of things you can do to help with these issues:

  • Reduce the amount of data you have stored and regularly defragment your drive.
  • Switch to flash based storage.
  • Keep bulk data stored on a separate drive from your OS.
  • So on and so forth…

Following the short & sweet approach my oversimplified answer (strictly restricted to your main confusion) is:

As long as your

  1. OS has enough (for worst case scenarios) space to fulfill its duties like paging/swapping/etc.
  2. Other software also have sufficient space for their respective needs.
  3. Hard disk is defragmented.

Then you can't tell difference in performances of a 80% empty disk vs 30% empty disk, and shouldn't worry about anything else but storing of more and more new data.

Anything else which will need more storage will lead to poor performances as now there might be a shortage of available space.

Of course disk cleaning via a tool is good as:

  1. Temporary files should be cleaned regularly to gain valuable disk space.
  2. Old Log files are nothing but waste of space.
  3. Leftovers of the Installed/Uninstalled software are very nasty.
  4. Cookies must be cleared if you value your online privacy.
  5. Invalid shortcuts, etc.

All of these (and many more) reasons lead to the poorer performance as all of these keep on confusing the OS when finding the right set of bits to work with.

One effect on spinning drives that I haven't seen mentioned: Access speed and data transfer speed is different on different parts of a disk.

A disk rotates at fixed speed. The tracks at the outside of a disk are longer and therefore can hold more data per track than the tracks at the inside. If your drive can read 100 MB/sec from the outermost tracks, the speed on the innermost tracks will be less than 50 MB/sec.

At the same time, there are fewer tracks between 1 GB of data on the outer tracks of the disk than between 1 GB of data on the innermost tracks. So on average, for data stored on the outside less head movement will be needed than for data on the innermost tracks.

The OS will try to use the outermost tracks, if possible. Of course it isn't possible if the disk is full. Deleting data will make space available where the transfer speed is higher and make things run quicker. For the same reason, you should buy spinning hard drives that are bigger than needed if you want speed (as long as it is affordable), because you will end up only using the fastest portions of the drive.