Système d’adressage vs stockage [explications]

compactflash

Il y a quelques jours, je redirigeais un article suite à l’annonce de l’association Compact Flash sur l’arrivée future de cartes mémoires qui permettraient de stocker 2 siècles de production de vidéos pornos.

Dans les commentaires, certains m’ont gentillement reproché de pas avoir bien compris l’annonce. Plus fort que ça, Boris D a pris le temps de m’expliquer la difference entre système d’adressage (ce qui a été annoncé ) et capacité de stockage. Avec son accord je reprends ici son explication :

il y a une (très grande) différence entre l’espace d’adressage et la capacité d’un système de stockage…

Ce que représentent ces 144PB est en fait très simple à comprendre :

Considérons un disque dur.

Physiquement, c’est tout plein de petites cases mémoires élémentaires pouvant contenir chacune soit un 0 soit un 1, comme tout le monde le sait. Sauvegarder un fichier de taille « n bits » dedans, c’est simplement remplir n cases consécutives portant l’information de ce fichier. Si on veux lire ce fichier, il suffit d’aller « à la case mémoire où il commence » , et de parcourir les n bits.

Tout le problème consiste à dire au disque dur : je veux aller « ici » et lire le contenu. Pour cela, on utilise une adresse, qui elle aussi est une suite de 0 et de 1. Or, il est pratique, voire indispensable pour des raisons technologiques (manière dont est contrôlée la tête de lecture), que la taille de cette adresse soit fixe en taille (par exemple 32bits).

Imaginez que LaPoste décide de se moderniser, en utilisant exclusivement des machines de reconnaissance d’écriture (et virant tous ses employés ^^). Pour garantir que la reconnaissance marche mieux, elle impose un standard que les adresses postales doivent respecter pour être reconnues : par exemple : « xx rue yyyyy » Alors le nombre de maisons par rues est limité à 99, et le nombre de noms de rues dans le monde est limité à 26^5.

Se rendant compte de ce problème, elle décide désormais que le standard sera de la forme : « xxxxxxxxxxxxxxxxxxxxxxxx rue yyyyyyyyyyyyyyyyyyyyyyyyyyyy ».

Ca ne mange pas de pain, impose juste à mettre plein de zéros… « 0000000000000000000000001 rue des_fleurs____________________ »

Par contre, maintenant, pour chaque rue, il est théoriquement possible de mettre 99999999999999999999999 maisons dedans, il sera toujours possible de les adresser.

on a multiplié par un milliard de milliard le nombre possible théoriques de maisons par rue…

C’est exactement ce que fait CompactFlash : il change de standard 🙂

En détail : un adresse sur 32bits fournit 2^32 adresses différentes, soit 4 294 967 296 = 4TB sur 48bits, ça fait le chiffre magique de 144PB…

Tiens, tant que j’y suis à parler d’adressage, j’en profite pour donner la différence entre bit, byte et octet, que pas grand monde connait vraiment, ce qui fait souvent une grande confusion… : Un bit (b, kb, Mb, …) c’est un emplacement mémoire élémentaire, stockant un 0 ou un 1. Un octet (o, ko, Mo, ..) par définition, c’est 8 bits. Un Byte (B, kB, MB, ….), c’est la plus petite capacité mémoire adressable par le système de stockage. De manière plus clair, plutôt que de donner la possibilité de déplacer la tête de lecture sur chaque bit, on va regrouper ces bits par paquets de n, et le disque dur peut uniquement exécuter l’ordre : « va à l’adresse de ce paquet de n bits, et donne moi toutes leur valeurs ». dans 99,99% des cas chez les systèmes grands publics, n=8, c’est à dire qu’un disque dur ne peut lire les bits que par paquets de 8. D’où 1 Byte = 1 octet très très souvent, mais c’est surtout historique…

on voit donc que l’espace d’adressage ne s’exprime qu’en Byte, alors qu’il vaut mieux exprimer une capacité de stockage en bit ou octet (hors du contexte, une capacité de 80GB ne veux rien dire. Si chaque bit est adressable, cela signifie que la capacité du disque dur est de 80Gb soit 10Go)

C’est pas plus clair là ? Un grand merci encore à Boris !

2 réflexions au sujet de « Système d’adressage vs stockage [explications] »

  1. J’ai quand même un gros doute là. Pour moi un Byte c’était simplement la traduction en anglais de octet et réciproquement…
    Je n’ai par exemple jamais entendu parler d’octet dans la langue de Shakespeare.

  2. Doute levé, après vérification, mais voici un cas typique où il y a un sacré gap entre la théorie (la notion d’octet existerait en anglais) et la pratique (combien de livre en anglais dans votre librairie utilisent le terme octet ?)

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *