(Ceci est le troisième d’un post en quatre parties qui met 10GB/s en perspective. Dans la première partie, nous avons décrit ce qu’un hypothétique robot de visionnage de films pourrait faire avec un SSD de 10 Go/s. La deuxième partie définissait les unités de mesure standard – bits et octets – utilisées dans les technologies informatiques. Cette partie tente d’expliquer un problème particulièrement déroutant en matière de stockage et de données : deux définitions couramment utilisées pour les mêmes préfixes d’unités.)

Vous avez déjà acheté un système informatique avec, par exemple, un périphérique de stockage de 500 Go, mais lorsque vous l’avez démarré pour la première fois, votre système d’exploitation n’a indiqué que 465 Go ? Nous avons vu dans la partie 2 que giga- est censé signifier milliard, donc un disque de 500 Go devrait avoir une capacité de 500 milliards d’octets – et non 465 milliards. Pas vrai ?

Droit !

Et pas vrai non plus.

Si vous avez creusé l’écart, vous avez probablement réalisé que les 35 Go manquants n’étaient pas manquants du tout. C’est juste que giga- n’est pas toujours utilisé exactement comme vous le pensez. Tout comme de nombreux boulangers considèrent que le mot « douzaine » signifie 13, dans certains cercles, le mot « giga » est utilisé pour signifier 1 073 741 824 ! Pour beaucoup d’entre nous qui ont grandi en comprenant qu’un milliard est un 1 avec neuf 0 qui le suivent, cette « autre » définition peut nécessiter quelques éclaircissements.

A Trip Down Memory Lane

Les ordinateurs utilisent des informations et des instructions contenues dans des fichiers de données. Ces fichiers de données résident à deux endroits dans un système informatique moderne : la mémoire primaire et le stockage secondaire. La mémoire primaire, aujourd’hui le plus souvent une mémoire vive (RAM), contient des données auxquelles les processeurs de l’ordinateur peuvent accéder immédiatement. Le stockage secondaire est principalement un stockage à plus long terme, tel que les disques durs (HDD) et les disques à état solide (SSD). Les données trouvées dans le stockage secondaire doivent d’abord être déplacées dans la RAM avant qu’un ordinateur puisse les utiliser. La situation s’apparente au bureau d’un bureau et à son armoire à dossiers : Les documents sur le bureau du bureau sont comme des fichiers en RAM, car ce sont les seuls auxquels vous – comme un processeur d’ordinateur – pouvez accéder, lire et prendre des mesures immédiatement ; vous pouvez également utiliser les documents dans l’armoire à dossiers, ou stockage secondaire, mais seulement après les avoir sortis de l’armoire et placés sur le bureau.

La taille d’un fichier, où qu’il se trouve, est généralement exprimée en octets. Et comme mentionné dans la partie 2 de ce billet, parce que ces tailles se chiffrent généralement en milliers, millions ou même milliards d’octets, ces tailles sont rarement mentionnées sans préfixes spéciaux. Le problème vient du fait que les fabricants de dispositifs de stockage secondaire ont historiquement utilisé l’ensemble traditionnel de définitions de préfixes pour mesurer les capacités de stockage de leurs lecteurs, alors que les fabricants de RAM et de puces CPU ont choisi d’utiliser un autre ensemble de définitions pour les mêmes préfixes !

Un conte de deux systèmes

La plupart des industries informatiques et électroniques utilisent le système de préfixes métrique, ou décimal. Sa forme actuelle a été initialement normalisée par le Système international d’unités (SI) en 1960. Le système de préfixes métriques a pour base le nombre 10, de sorte que ses préfixes correspondent à des nombres qui sont des puissances entières de 10. Le kilo, par exemple, correspond à 103 – ce qui signifie 10 multiplié par lui-même trois fois – ou 1 000. Les préfixes suivants du système peuvent être exprimés facilement comme des puissances de 1 000. Le préfixe méga-, par exemple, vaut 1 0002 (1 000 000) et giga- vaut 1 0003 (1 000 000 000). L’industrie du stockage utilise le système de préfixes métriques pour décrire la capacité des dispositifs de stockage secondaires.

Le système de préfixes binaires entre en jeu lorsqu’on parle de mémoire primaire. Le système de préfixe binaire a pour base le nombre 2, ses préfixes correspondent donc à des nombres qui sont des puissances entières de 2. Lorsque les données arrivent dans la mémoire primaire, chaque information se voit attribuer une adresse unique qui permet au processeur de trouver les données en cas de besoin. Au milieu des années 1960, un schéma d’adressage binaire est devenu la norme dans les architectures informatiques parce qu’un système binaire permet d’organiser les données binaires en mémoire de la manière la plus efficace, de sorte que toutes aient des adresses valides.

Au début, les capacités de la mémoire principale étaient exprimées en nombres absolus, mais lorsque les premiers professionnels de l’informatique ont trouvé le besoin d’exprimer des capacités de mémoire plus importantes, ils ont également trouvé le besoin d’utiliser des préfixes pour les décrire. L’industrie du stockage avait déjà adopté l’utilisation du système de préfixes métriques basé sur le SI. Pour des raisons de commodité, ces professionnels ont décidé d’adopter également ce système de préfixes… avec quelques modifications. Ils ont remarqué que le nombre 1 024, ou 210 (binaire), était approximativement égal à 1 000, ou 103 (décimal), et ont donc commencé à utiliser le préfixe kilo non pas pour signifier 1 000, mais pour signifier 1 024 ! Les préfixes suivants du système peuvent être exprimés comme des puissances de 1 024. Mega-, par exemple, est devenu 1,0242 et giga- est devenu 1,0243.

Le tableau suivant développe un tableau présenté dans la partie 2 de ce post en incluant non seulement la signification de chaque préfixe, mais aussi la valeur exacte des préfixes des deux systèmes.

metric-prefixes
Il faut toutefois se rappeler que la capacité totale de notre hypothétique SSD est toujours de 500 000 000 000 d’octets. C’est juste que lorsque vous divisez ce nombre par un gigaoctet, vous pouvez obtenir deux valeurs différentes car il existe deux définitions différentes du gigaoctet. Si vous définissez un gigaoctet comme 1 0003 (ou 1 000 000 000) octets, comme le fait le système international d’unités et les fabricants de systèmes de stockage, 500 000 000 000 d’octets correspondent à 500 Go. Lorsque vous définissez un gigaoctet comme 1 0243 (ou 1 073 741 824) octets, comme le font les fabricants de mémoire vive et certains grands systèmes d’exploitation, 500 000 000 000 d’octets correspondent à 465GB. Après tout, l’écart entre un kilooctet métrique et un kilooctet binaire n’est que de 2,4 %. En outre, quiconque a déjà parlé de Ko savait déjà si l’on parlait de 1 000 octets de stockage ou de 1 024 octets de mémoire. Mais au fil du temps, les capacités de mémoire et de stockage ont commencé à augmenter. À mesure que les capacités augmentent, les différences relatives entre les valeurs décimales et binaires d’un même préfixe deviennent plus prononcées. Par exemple, bien que l’écart entre le kilo binaire et le kilo métrique puisse n’être que de 2,4 %, la différence entre un giga- dans les deux interprétations passe à 7,4 %, et à 12,6 % si l’on parle de peta-!

En raison des problèmes potentiels liés à cet écart, un mouvement dans les cercles scientifiques a commencé à la fin des années 1990 à établir officiellement une nouvelle convention de dénomination distincte pour les préfixes des grands nombres binaires. En 1998, les préfixes binaires ainsi créés ont été adoptés par les organismes de normalisation de la Commission électrotechnique internationale (CEI), de l’Organisation internationale de normalisation (ISO) et du National Institute of Standards and Technology (NIST), et sont désormais appelés « préfixes CEI ». Les préfixes de ce système sont destinés à fournir des distinctions évidentes entre les deux systèmes et sont formés de contractions combinant les deux premières lettres des préfixes SI avec les lettres bi (abréviation de binaire). Le tableau suivant présente une liste des préfixes et de leurs significations.

préfixes binaires

Bien que les ramifications de l’utilisation par erreur d’un préfixe alors que vous êtes censé utiliser l’autre ne soient peut-être pas aussi dramatiques que la déconnexion qui a entraîné la tristement célèbre combustion en 1999 du Mars Climate Orbiter de la NASA, lorsque son logiciel a calculé la force de ses propulseurs en « livres », mais qu’un autre logiciel a enregistré les données en supposant qu’elles étaient exprimées en unités métriques « newtons », comprendre la différence entre ces systèmes peut vous éviter d’être surpris – ou du moins d’être confus.Malheureusement, tous les fabricants d’ordinateurs, de logiciels et de mémoires n’ont pas encore commencé à utiliser les définitions scientifiques normalisées, de sorte que vous êtes encore susceptible de voir le même préfixe utilisé pour les interprétations métriques et binaires. Une confusion peut encore survenir chez les consommateurs lorsque le périphérique de stockage qu’ils installent indique une capacité en utilisant les préfixes standard, mais que leur système d’exploitation, qui peut exprimer les capacités de mémoire primaire et de stockage secondaire en termes de préfixes binaires, affiche ce qui semble être une capacité différente. Aujourd’hui, pour atténuer la confusion, la plupart des fabricants de stockage incluent des explications sur leurs produits et leur littérature qui définissent la valeur exacte du préfixe qu’ils utilisent.

La prochaine partie de ce post couvrira les taux de transfert et les considérations uniques prises pour les exprimer avec des données.

Articles

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.