
Circuits #3 - Les périphériques de stockage
Durée: 10m52s
Date de sortie: 12/09/2023
Comment fonctionne physiquement un disque dur ? Comment sont stockées les données, récupérées après corruption, et tous les sujets autour des périphériques de stockage, indispensables aux ordinateurs !
Notes de l'épisode :
- Sponsor: https://fr.farnell.com
Salut et bienvenue sur Code Garage, aujourd'hui un nouvel épisode de notre podcast Circu,
consacré aux périphériques de stockage.
Mais avant, un petit mot de notre sponsor du jour.
Un réseau mondial de connaissance et l'engagement de vous accompagner à toutes les étapes
de vos projets.
De la recherche à la conception, en passant par la maintenance, Farnel.
Votre fournisseur de produits électroniques et industriels.
Pour en savoir plus, rendez-vous sur fr.farnel.com.
Alors contrairement au dernier épisode, on va aborder un sujet qui est absolument
commun à tous les ordinateurs.
Les périphériques de stockage.
La mémoire disponible dans un ordinateur se divise en général en deux grandes parties.
La mémoire volatile et la mémoire non-volatile.
Quand on parle de mémoire volatile, on parle souvent de RAM ou de cache, mais ça sera
le sujet d'un autre épisode.
Aujourd'hui, on va se concentrer sur la mémoire non-volatile.
Alors on parle de mémoire non-volatile quand les données contenues dans ce type de mémoire
sont conservées même lorsque la machine est éteinte et que le système de stockage n'est
plus alimenté en électricité.
Alors ça comprend les disques durs, les disques SSD, les clés USB, les cartes SD et
plein d'autres supports de stockage.
C'est dans la mémoire non-volatile qu'on va stocker, notamment le micro-programme
de la machine qui est appelé BIOS ou UEFI, le système d'exploitation, les logiciels
et les fichiers.
Parfois, ces supports sont stockés ou branchés directement sur la carte mère, c'est le
cas de la puce qui contient le BIOS, de certaines mémoires de téléphone d'ailleurs aussi et
même de certains disques durs.
Mais parfois, ces périphériques de stockage peuvent être débranchés de la machine et
rebranchés très facilement, on parle alors de périphériques amovibles.
Aujourd'hui, la grande majorité des supports de stockage peuvent être rendus amovibles
en utilisant des boîtiers externes trouvables un peu partout dans le commerce et surtout
les clés USB et carte SD, pullules sur le marché.
Parmi tous ces périphériques de stockage, de mémoire non-volatile, il existe deux grandes
technologies de stockage de l'information, les supports de stockage magnétique et les
supports de stockage électronique.
D'abord, le stockage magnétique, c'est le support de stockage qu'on va retrouver
dans tous les disques durs, en anglais on parle de hard drive.
Un disque dur, c'est en réalité un assemblage de plusieurs disques constitués de milliards
de minuscules zones sensibles au magnétisme.
Chaque zone pourra avoir uniquement deux états, activés ou activés.
Mentalement, on peut se le représenter chaque zone comme un petit clou qui peut être enfoncé
ou non.
Pour activer ces zones, on utilise un bras mécanique dont le seul but est de venir cibler
une zone précise en fonction de l'adresse envoyée par l'ordinateur, puis d'utiliser
son minuscule micro aimant pour lire la donnée ou bien la modifier en activant ou désactivant
la zone.
Alors, il y a trois inconvénients principaux de cette solution de stockage magnétique.
Le premier, c'est qu'un disque dur comme ça peut être effacé au contact d'un aimant
au quelconque.
Le deuxième, c'est qu'il est fragile au choc, surtout lorsqu'il est en marche, puisqu'on
peut avoir une rupture du mécanisme du bras ou carrément un tomage sur le moteur d'entraînement
des disques, parce que les disques tournent très très vite.
Et surtout, la vitesse d'écriture et de lecture est limitée à la vitesse de déplacement
mécanique du bras.
Ensuite, on a le stockage électronique.
Les autres supports de stockage, donc comme le SSD, les clés USB, les cartes SD et plein
d'autres, fonctionnent grâce à un stockage électronique.
Chaque périphérique est composée de milliers de blocs mémoires, eux-mêmes composés de
centaines de milliers de cellules qui fonctionnent grâce à des transistors.
Une cellule possède une grille qui va permettre de piéger des électrons ou de les relâcher
en appliquant une tension électrique aux bornes de cette cellule.
C'est de ce flash électrique que vient justement l'appellation de mémoire flash.
En plus de ne pas avoir de mouvement mécanique, il est possible de flasher plusieurs zones
de la grille de la cellule en même temps ce qui permet des écritures en parallèle.
Donc les avantages d'un stockage électronique à base de mémoire flash, c'est la vitesse
d'écriture d'abord et également la taille réduite puisqu'on n'a pas de système mécanique
à stocker.
A noter évidemment que les périphériques de stockage ont tous une durée de vie physique
maximale qui peut varier son équipement et donc ça c'est dû tout simplement au
mouvement mécanique répété pour le cas du disque dur ou aux tensions électriques qui
sont appliquées sur les cellules et qui vont faire baisser leurs précisions d'année
en année et donc au bout d'un moment qui vont dégrader le disque dur, enfin le SSD plutôt.
Maintenant qu'on comprend mieux le stockage physique des données, on va passer à la
partie logique.
La première étape avant de pouvoir commencer à stocker des données c'est de formater
le périphérique.
Le terme formater c'est devenu un synonyme de supprimer les données au fil du temps.
Pourtant formater ça veut réellement dire choisir le format de stockage mais évidemment
pour passer d'un format à un autre il faut que le support soit vide d'où la confusion.
Des formats de stockage il en existe énormément NTFS, FAT32, XFAT, XT3, HFS, APFS et on pourrait
continuer comme ça longtemps.
Chaque format a ses spécificités, ses avantages et ses contraintes.
On ne va pas rentrer dans le détail de chacun de ces formats, ce serait inutile, mais je
vais vous parler des incidences que peuvent avoir le choix d'un format en particulier.
Le FAT32 par exemple ne peut pas gérer des fichiers uniques plus gros que 4 giga octets.
Par contre il est compatible partout Windows, Linux et macOS.
Le NTFS lui apporte des fonctionnalités comme le chiffrage de données par exemple et il
est légèrement plus rapide que le FAT32 mais il n'est pas compatible partout.
Par exemple sur macOS vous pourrez lire des données formatées en NTFS mais vous ne pourrez
pas les modifier.
A savoir qu'un support de stockage physique peut être divisé en plusieurs supports logiques
distincts, chacun avec un formatage possiblement différent, on parle donc de partition.
Ces différences entre les formats de stockage viennent en partie de la stratégie de chacun
pour positionner et ordonner les données sur un disque ou sur le périphérique des
stockages en tout cas et c'est ce qu'on appelle la fragmentation.
On va prendre un exemple simple.
Je stocke 3 fichiers, un fichier de 2 kA, un fichier de 1 kA et encore un fichier de 2 kA
qui sont les uns à la suite des autres.
Maintenant on va dire que je supprime mon deuxième fichier.
Donc dans mon disque, il va y avoir un espace de 1 kA disponible entre mes deux autres fichiers.
Imaginons maintenant que j'ai besoin de stocker un nouveau fichier de 2 kA cette fois.
J'ai alors deux solutions.
Je peux diviser mon fichier en deux, je stocke la première partie de 1 kA dans ma zone libre
entre mes deux fichiers et l'autre un peu plus loin.
Ou alors je peux décider de garder mon fichier en un seul et unique morceau et je parcours
la mémoire pour trouver une zone libre de 2 kA.
Ce mécanisme, c'est ce qu'on appelle la fragmentation.
Et chaque format de stockage possède une stratégie différente selon l'état du disque
et le fichier en question.
Ce qui va induire potentiellement des temps de lecture et d'écriture un peu différents
en fonction du remplissage du disque.
Il faut garder en tête que même en ayant branché un périphérique de stockage avec
une ou plusieurs partitions formatées dans un format compatible avec le système d'exploitation,
il y a une étape essentielle pour rendre le périphérique utilisable par l'utilisateur.
Cette étape, c'est le montage de la partition.
D'abord, le disque est détecté par le système d'exploitation grâce aux pilotes logiciels
génériques en général conçus pour dialoguer avec les périphériques de stockage.
Ensuite, le système va vérifier que les partitions auxquelles il a accès sont correctement
formatées, ne sont pas corrompues et sont accessibles.
Si c'est le cas, alors le système fera un lien entre l'arboréissance de fichiers
existantes et la nouvelle partition a un emplacement donné qu'on appelle un point
de montage.
Sous Windows, ce point de montage est représenté par une lettre CDE par exemple.
Mais sous d'autres systèmes d'exploitation, le point de montage peut apparaître comme
un répertoire classique avec un nom qu'on peut lui donner.
Toutes les opérations de lecture et d'écriture au sein de ce répertoire passeront du coup
par le pilote logiciel pour être envoyé au disque dur qui inscrira chaque donné
au bon endroit selon la manière dont il est formaté.
En cas d'erreur pendant l'écriture ou la lecture des fichiers, la plupart des stratégies
de stockage dont on a parlé précédemment ont des mécanismes de gestion d'erreurs
différents.
Une des mécanismes de gestion d'erreur, ça peut être la redondance de certains blocs
de données.
Par exemple, au lieu de stocker un bloc de données une fois, on va le stocker deux fois
ou on va stocker une fois et demi donc on va prendre une partie de ce bloc de données
et le stocker au cas où on en a besoin.
Ou bien on peut aussi gérer les erreurs grâce à un tableau de fichiers.
Lorsque vous supprimez un fichier, quand on utilise un tableau de fichiers, les données
ne sont pas réellement supprimées du disque dur mais le fichier est simplement marqué
dans le tableau comme étant supprimé.
Si le disque a besoin de cet espace à un moment, évidemment les données seront supprimées
pour être remplacées.
Mais tant que le disque dur n'a pas besoin de cet emplacement, il est possible de retrouver
les données du fichier grâce à ce tableau.
C'est notamment comme ça que fonctionnent les logiciels de recouvrement de données.
Un autre système de gestion d'erreur s'appelle la journalisation.
Ça consiste à sauvegarder la liste des modifications à porter récemment sur le système de fichier
pour les rejouer en cas d'erreur ou de panne de courant par exemple.
Et ce qui permet tout simplement de retourner à un état cohérent après une panne ou
quoi que ce soit.
J'espère que cet épisode vous aurait été utile et que vous aurez appris des choses
sur la manière dont on stocke des données sur un ordinateur à la fois de manière physique
mais aussi de manière logique.
Moi je vous donne rendez-vous à la semaine prochaine pour un prochain épisode du podcast
ou directement sur code-garage.fr pour retrouver tous nos articles de blog, nos podcasts et
évidemment toutes nos formations pour continuer à se former et progresser dans sa carrière.
Je vous donne rendez-vous la semaine prochaine.
Ciao !
Episode suivant:
Les infos glanées
Code-Garage
Découvrons ensemble des sujets passionnants autour du métier de dev et de la programmation en général !
Tags
Code-Garage #73 - Les logs en production