Post on 15-Sep-2018
ICM 1A - SIN 27 juin 2011
Gestion de l’information – P Lalevée 1
Stockage de l’Information Numérique P Lalevée, S Sanaur, S Blayac, P Boivin
École Nationale Supérieure des Mines de Saint-Étienne
ICM 1A – SIN Pôle XXI
Présentation générale
• Le stockage de l'information numérique consiste à enregistrer sur un support les données dans le but de les utiliser pour un traitement, d'y accéder ultérieurement ou de les conserver de manière pérenne
• Mémoire de masse
• Composants mémoire
• Objectifs du cours
• Présenter les processus physiques associés aux mémoires
• Voir les impacts sur les systèmes informatiques
11 juin 2012 ICM 1A - SIN - Gestion Information - P Lalevée 2
Présentation
ICM 1A - SIN 27 juin 2011
Gestion de l’information – P Lalevée 2
Contenu
• Séance 1 : Gestion des informations numériques
• Philippe Lalevée (aujourd’hui)
• Séance 2 : Stockage par voie optique
• Sébastien Sanaur (18/6)
• Séance 3 : Stockage par voie électronique
• Sylvain Blayac (25/6)
• Séance 4 : Industrialisation des mémoires
• Philippe Boivin (26/6)
• QCM de 30’ : 26/6
11 juin 2012 ICM 1A - SIN - Gestion Information - P Lalevée 3
Présentation
Gestion des informations Numériques Philippe Lalevée, lalevee@emse.fr
École Nationale Supérieure des Mines de Saint-Étienne
ICM 1A – SIN 11 juin 2012
ICM 1A - SIN 27 juin 2011
Gestion de l’information – P Lalevée 3
Stockage de l’Information Numérique
• Technologies mémoire vues dans les cours suivants
• Principes physiques généraux
• Mémoires « magnétiques »
• Mémoires « optiques »
• Mémoires « flash »
• Quels sont les impacts de ces technologies sur la gestion des informations ?
• Prise en compte des spécificités
• Préservation des caractéristiques
• Optimisation des performances
11 juin 2012 ICM 1A - SIN - Gestion Information - P Lalevée 5
Présentation
Organisation de la séance
• Première partie : notions sur les systèmes informatiques
• Deuxième partie : les disques durs (mémoires « magnétiques »)
• Organisation logique
• Contraintes spécifiques
• Étude de cas : quelques algorithmes (allocation, positionnement)
• Troisième partie : les mémoires « flash »
• Organisation logique
• Contraintes spécifiques
• Étude de cas : algorithmes d’allocation
• Bilan / Conclusion
11 juin 2012 ICM 1A - SIN - Gestion Information - P Lalevée 6
Plan
ICM 1A - SIN 27 juin 2011
Gestion de l’information – P Lalevée 4
Ressources bibliographiques
• Les schémas proviennent de
• Modern Operating Systems. Tannenbaum, Prentice Hall, 2001
• Operating System Concepts. Silberschatz, Galvin et Gagne, Wiley, 2008
• Autres lectures conseillées
• Linux Kernel Architecture. Mauerer, Wrox, 2008
• Les systèmes de fichiers pour disques SSD. Guignot, linuxfr.org, 2008
• An efficient NAND Flash File System for Flash Memory Storage. Lim et Park, IEEE Transactions on Computers, 55-7, 2006
• The SSD Anthology: Understanding SSDs and New Drives from OCZ. Shimpi, www.anandtech.com, 2009
11 juin 2012 ICM 1A - SIN - Gestion Information - P Lalevée 7
Lectures
RAPPELS ET NOTIONS SUR LES SYSTÈMES INFORMATIQUES
Première partie
11 juin 2012 ICM 1A - SIN - Gestion Information - P Lalevée 8
Plan
ICM 1A - SIN 27 juin 2011
Gestion de l’information – P Lalevée 5
Objectifs d’un système informatique
• Traitement de l’information …
11 juin 2012 ICM 1A - SIN - Gestion Information - P Lalevée 9
1ère partie
• … par un ordinateur
Données
Nécessité d’un système d’exploitation
11 juin 2012 ICM 1A - SIN - Gestion Information - P Lalevée 10
• Gestion des ressources matérielles
• Partage entre « utilisateurs »
• Performance d’accès
• Sécurité
• Interface simplifiée pour l’utilisation
• Machine virtuelle
• Information Donnée
1ère partie
ICM 1A - SIN 27 juin 2011
Gestion de l’information – P Lalevée 6
• Schéma général
• Un bus commun interconnecte un ou plusieurs CPU, des contrôleurs de périphériques et une mémoire partagée
• Les accès sont concurrents
Organisation d’un ordinateur
11 juin 2012 ICM 1A - SIN - Gestion Information - P Lalevée 11
1ère partie
Les contrôleurs : gérant d’unités • Les périphériques et le processeur s’exécutent en parallèle • Chaque contrôleur
• à la charge d’un périphérique particulier • dispose d’une mémoire locale (buffer)
• Le processeur transfère les données de/vers la mémoire centrale de/vers les mémoires locales des contrôleurs
• Les données venant d’un périphérique transitent par la mémoire locale du contrôleur
• Les contrôleurs informent le processeur de la terminaison de ses opérations par un mécanisme d’interruption
Mécanisme générique
11 juin 2012 ICM 1A - SIN - Gestion Information - P Lalevée 12
1ère partie
ICM 1A - SIN 27 juin 2011
Gestion de l’information – P Lalevée 7
Gestion du stockage de l’information numérique
• Le S.E. fournit une vision uniforme et logique du stockage de l’information numérique • Abstraction des propriétés physiques en unités de stockage logique : fichiers
• Les médias sont contrôlés par unité périphérique (disque, bande…)
• Propriétés usuelles : vitesse d’accès, capacité, taux de transfert, méthode d’accès (séquentiel ou aléatoire)
• Système de Gestion de Fichiers : composant du S.E. • Les fichiers sont organisés dans des répertoires
• Il fournit un contrôle d’accès qui détermine qui a accès à quoi
• Activités courantes du S.E. • Création and suppression des fichiers et répertoires
• Manipulation des fichiers et répertoires
• « Mapping » des fichiers dans l’espace de stockage permanent
11 juin 2012 ICM 1A - SIN - Gestion Information - P Lalevée 13
1ère partie
Des applications aux supports
• Application
• Système
• Vue logique : fichier
• Indépendance
• Device driver
• Vue physique : bloc
• Device controller
• Accès logique
• Device
• Accès physique
11 juin 2012 ICM 1A - SIN - Gestion Information - P Lalevée 14
1ère partie
ICM 1A - SIN 27 juin 2011
Gestion de l’information – P Lalevée 8
Modèle logique : fichier • Abstraction du S.E.
• Vision uniforme et logique indépendante du support • Correspondance entre une vision utilisateur et des caractéristiques physiques
• Les fichiers • Implantés sur des supports de stockage, en général permanent • Ensemble cohérent de données • Plus petite attribution nommée
• Espace d’adressage logique contigu non typé (flot d’octets)
11 juin 2012 ICM 1A - SIN - Gestion Information - P Lalevée 15
1ère partie
Modèle physique : bloc (vision Unix) • Fichier = liste de blocs
logiques • Comment allouer ? • Organisation
• Contiguë • Chaînée • Indexée
• Caching • Paramètres
• Taille • Taux d’écriture • Mode d’accès • Concurrence • Mises à jour
11 juin 2012 ICM 1A - SIN - Gestion Information - P Lalevée 16
1ère partie
ICM 1A - SIN 27 juin 2011
Gestion de l’information – P Lalevée 9
Problématique
• Comment passer du modèle logique au modèle physique ?
Lecture Nommage (ouverture)
• Comment allouer l’espace logique sur le support physique?
Allocation Nommage (accès)
11 juin 2012 ICM 1A - SIN - Gestion Information - P Lalevée 17
…
0 n octets
1 2 3 4 ... Blocs logiques n/B
b1
b2
b3
b4
b5
b6 …
Accès
Allo
cation
Support Physique Fichier
1ère partie
Lect
ure
Performance : définitions des grandeurs • Quel est le temps nécessaire pour transférer n octets ?
• Temps de recherche • Temps pour accéder au « lieu » où se trouvent les données (bloc)
• Exemples (ns): SRAM:0, DRAM: 10, Disque : 5 000 000
• Latence • Temps pour accéder au premier octet
• Exemples (ns): registre: 1, RAM: 50, Disque : 2 000 000
• Débit ou Taux de transfert • Nombre d’octets par seconde (en général, dans la norme)
• Exemples (Mo/s): clavier: 10-5, souris: 10-4 o/s,, FireWire: 50, ATA: 100, Bus PCI: 500, USB3: 625, SATA: 750
• Calcul par interpolation :
• T_Transfert (n) = T_Recherche (n / bloc) + Latence + n / Débit 11 juin 2012 ICM 1A - SIN - Gestion Information - P Lalevée 18
1ère partie
ICM 1A - SIN 27 juin 2011
Gestion de l’information – P Lalevée 10
LES DISQUES DURS MAGNÉTIQUES
Deuxième partie
11 juin 2012 ICM 1A - SIN - Gestion Information - P Lalevée 19
Plan
Les disques magnétiques
11 juin 2012 ICM 1A - SIN - Gestion Information - P Lalevée 20
Source Wikipedia
2ème partie
ICM 1A - SIN 27 juin 2011
Gestion de l’information – P Lalevée 11
Il y a 55 ans
11 juin 2012 ICM 1A - SIN - Gestion Information - P Lalevée 21
IBM RAMAC 350 (09/1956)
80000 fois de données dans le disque de sa main droite (1 inch) que dans celui de sa main gauche (24 inch)
2ème partie
Structure d’un disque dur
11 juin 2012 ICM 1A - SIN - Gestion Information - P Lalevée 22
• Ensemble de plateaux
• Découpés en pistes
• Découpées en secteurs
• Têtes solidaires
cylindres
2ème partie
ICM 1A - SIN 27 juin 2011
Gestion de l’information – P Lalevée 12
Exemples de paramètres disque
• Disquette IBM PC et disque dur Western Digital WD 18300
11 juin 2012 ICM 1A - SIN - Gestion Information - P Lalevée 23
2ème partie
Accès aux données (1)
• Pour lire des données
• En entrée : n° bloc
• Calcul : n° cylindre, face, secteur, taille (taille_bloc / taille_secteur)
• Temps de transfert
• Temps de recherche : accès à la piste (cylindre, face)
• Latence : accès au secteur
• Débit
11 juin 2012 ICM 1A - SIN - Gestion Information - P Lalevée 24
Piste
Secteur
Temps de
recherche
Latence
de rotation
2ème partie
ICM 1A - SIN 27 juin 2011
Gestion de l’information – P Lalevée 13
Quelques chiffres • Plateaux : de 0,85” à 14” (de 3,5” à 1,8”) • Capacité de 30 Go à 3 To par disque • Performance
• Taux de transfert théorique : 6 Go/s • Taux de transfert effectif : 1 Go/s • Temps de recherche : de 3 ms à 12 ms (moyenne 9ms) • Latence basée sur la vitesse de rotation : 1/(RPM x 60) • Latence moyenne = ½ latence
• Latence d’accès = temps de recherche moyen + latence moyenne • Disques rapides : 5ms (3ms + 2ms) • Disques lents : = 14,5 ms (9ms + 5,5 ms)
• Temps d’entrée/sortie moyen = Latence d’accès + (n / Taux de transfert) + Latence contrôleur
• Exemple : transfert de 4 Ko d’un disque à 7200 RPM, de taux de recherche moyen de 5 ms, d’un taux de transfert de 1Go/s, de latence contrôleur de 100 µs
• 5 ms + 4,17 ms + 4 Ko / 1Go/s + 0,1ms = • 9,27 ms + 4 / 131072 s = • 9,27 ms + 0,12 ms = 9,39 ms
11 juin 2012 ICM 1A - SIN - Gestion Information - P Lalevée 25
2ème partie
(source Wikipedia)
Accès aux données (2) • Comment passer d’une organisation linéaire…
• Fichier logique = { blocs numérotés de 1 à N }
• … à une organisation circulaire ? • Fichier disque = { (cylindre, face, secteur) }
• Ce qui est « naturel » • Déplacement du bras de lecture : en fonction du n° de cylindre • Sélection d’une tête : en fonction du n° de face
• Ce qui pose « plus » de problèmes : accès aux secteurs et aux données • Comment ? • Taille des secteurs ? • Décalage ? • Entrelacement ? • Allocation ?
• Des idées ?
11 juin 2012 ICM 1A - SIN - Gestion Information - P Lalevée 26
2ème partie
ICM 1A - SIN 27 juin 2011
Gestion de l’information – P Lalevée 14
Accès aux données (3)
11 juin 2012 ICM 1A - SIN - Gestion Information - P Lalevée 27
2ème partie
• Des idées des problèmes ?
Accès aux données (4)
11 juin 2012 ICM 1A - SIN - Gestion Information - P Lalevée 29
Étude de cas 1
• Des idées de solutions ?
ICM 1A - SIN 27 juin 2011
Gestion de l’information – P Lalevée 15
Méthodes d’allocation (1) : contiguë
• Allocation contiguë
• Chaque fichier occupe un espace contigu de secteurs
• Fichier physique = n° premier secteur, longueur en secteurs
• Trouver un « trou », modifier la taille, compacter…
• Mapping bloc logique / bloc logique
• Connu : n° premier secteur, taille de secteur et adresse logique
• Bloc_à_lire = Premier_secteur + Adresse_logique / Taille_secteur
• Adresse_secteur = Adresse_logique mod Taille_secteur
11 juin 2012 ICM 1A - SIN - Gestion Information - P Lalevée 32
2ème partie
Méthodes d’allocation (2) : chaînée • Allocation chaînée
• Chaque fichier occupe une liste chaînée de secteurs
• Fichier physique = n° premier secteur, { secteurs }
• Chaque secteur contient le numéro du secteur suivant (ou nil)
• Comment accéder à un secteur particulier ? Pas de compactage mais fragmentation
• Mapping bloc logique / bloc logique • Connu : n° premier secteur, taille de secteur et adresse logique
• Nombre_secteurs = Adresse_logique / (Taille_secteur – Taille_lien)
• répeter Nombre_secteurs : Secteur accéder suivant(Secteur)
• Adresse_secteur = Adresse_logique mod (Taille_secteur – Taille_lien)
• Variante : FAT • Les chaînages sont placés dans une table séparée
• Importante de la taille du lien (16 bits ou 32 bits)
11 juin 2012 ICM 1A - SIN - Gestion Information - P Lalevée 33
2ème partie
ICM 1A - SIN 27 juin 2011
Gestion de l’information – P Lalevée 16
Méthodes d’allocation (3) : indexée • Allocation indexée
• Chaque fichier a son secteur d’index vers les secteurs de données
• Fichier physique = secteur d’index : { secteurs de données }
• Comment accéder à un bloc particulier ? Pas de compactage mais fragmentation
• Mapping bloc logique / bloc logique • Connu : secteur d’index, taille de secteur et adresse logique
• Index_secteurs = Adresse_logique / Taille_secteur
• Secteur_à_lire = secteur_index [Index_secteurs ]
• Adresse_secteur = Adresse_logique mod Taille_secteur
• Variante : Unix • 10 secteurs d’index directs
• 1 secteur d’index indirects de niveau 1, 2 et 3
• Connaissant la taille d’un secteur, taille maximale d’un fichier ?
11 juin 2012 ICM 1A - SIN - Gestion Information - P Lalevée 34
2ème partie
Méthodes d’allocation (4) : gestion de l’espace libre
• Allocation contiguë
• Gestion des trous
• Compactage
• Allocation chaînée
• Les secteurs libres sont chainées entre eux
• Fragmentation
• Allocation indexée
• Gestion dans un espace séparé
• Utilisation de vecteurs de bits (libre / occupé)
11 juin 2012 ICM 1A - SIN - Gestion Information - P Lalevée 35
2ème partie
ICM 1A - SIN 27 juin 2011
Gestion de l’information – P Lalevée 17
« Disk Scheduling » : optimisation des accès • Les requêtes d’entrée/sortie sont caractérisées par :
• Lecture/écriture, adresse logique, nombre de secteurs • Adresse mémoire
• Elles sont placées dans des files d’attente (par disque)
• Diminuer le temps de transfert, c’est minimiser les déplacements du bras de lecture (numéros de cylindre) Nécessité d’algorithmes d’optimisation sur les traitements des requêtes
• Soit un disque à 200 cylindres
Soit cette file d’attente de référence 98, 183, 37, 122, 14, 124, 65, 67
• La tête est placée au cylindre 53
Proposer une séquence « optimale »
11 juin 2012 ICM 1A - SIN - Gestion Information - P Lalevée 36
2ème partie
Premier arrivé / premier sorti (FIFO)
• File attente = (98, 183, 37, 122, 14, 124, 65, 67)
• Départ en 53
• Caractériser ?
11 juin 2012 ICM 1A - SIN - Gestion Information - P Lalevée 37
2ème partie
Déplacement d en cylindres Ici d = 640
n
i
iid
1
1cylcyl
ICM 1A - SIN 27 juin 2011
Gestion de l’information – P Lalevée 18
Questions • Avantages / inconvénients du mode FIFO ? • Avez-vous des propositions d’algorithme ?
• Idée 1 : algorithme « glouton »
• Prendre le déplacement le plus court à chaque choix • Appliquer sur l’exemple • Avantages / inconvénients ?
• Idée 2 : algorithme « ascenseur »
• Prendre le suivant selon le déplacement courant • Appliquer sur l’exemple • Avantages / inconvénients ?
• Autres idées ?
11 juin 2012 ICM 1A - SIN - Gestion Information - P Lalevée 38
2ème partie
LES MÉMOIRES FLASH
Troisième partie
11 juin 2012 ICM 1A - SIN - Gestion Information - P Lalevée 41
Plan
ICM 1A - SIN 27 juin 2011
Gestion de l’information – P Lalevée 19
Mémoires flash : principes
• Utilisée dans les « clés USB », les disques SSD… • EEPROM non volatile à temps d’accès rapide
• Moins de perturbations (chocs, vibrations) que les disques durs
• Deux types : NOR et NAND
• Type NOR • Temps d’accès important
• Lecture en accès random
• Adaptées aux ?
• Type NAND • Temps d’accès court et intégration plus forte
• Lecture en accès bloc
• Adaptées aux ?
11 juin 2012 ICM 1A - SIN - Gestion Information - P Lalevée 42
3ème partie
Mémoires flash : principes
• Accès en écriture et effacement en mode bloc
• Effacement tous les bits du bloc à "1"
• Dès qu’un bit dans un bloc est à "0", seul un effacement de tout le bloc permettra de le remettre à "1"
• Effacement mise à "1"
• Positionnement mise à "0"
• Pouvez-vous donner une séquence d’écritures de valeurs différentes sans effacement ?
11 juin 2012 ICM 1A - SIN - Gestion Information - P Lalevée 43
3ème partie
ICM 1A - SIN 27 juin 2011
Gestion de l’information – P Lalevée 20
Limitations du nombre de cycles d’écriture • Nombre de cycles de « programmation / effacement » limité
• De 100 000 à 1 000 000 avant que les blocs soient inutilisables
Gestion des « blocs invalides»
• Une écriture impose l’effacement du bloc, donc pour mettre à jour : 1. Lecture
2. Effacement
3. Modification
4. Réécriture
Optimisation des écritures
• Quels autres problèmes peuvent se poser ?
• Quelles solutions ?
11 juin 2012 ICM 1A - SIN - Gestion Information - P Lalevée 44
3ème partie
Gestion des « effacements »
• Écriture de pages et effacement de blocs
• On ne peut pas « effacer » les pages A à D tant que d’autres données sont présentes dans le bloc (pages E à F)
Garbage collection
11 juin 2012 ICM 1A - SIN - Gestion Information - P Lalevée 47
3ème partie
ICM 1A - SIN 27 juin 2011
Gestion de l’information – P Lalevée 21
Mécanisme générique au niveau du S.E.
• Ajout d’une couche Flash Translation Layer (FTL)
• Permet tout SGF sur un support physique Flash
• Simplifie les pilotes de périphériques
• Couche logicielle évolutive • Gestion des allocations
• Équilibrage de l’usure
• Gestion des blocs « usés »
• Présente dans tous les systèmes actuels
11 juin 2012 ICM 1A - SIN - Gestion Information - P Lalevée 49
3ème partie
Acteurs du Stockage de l’Information numérique
• Les périphériques de stockage
• Ils assurent la permanence grâce à des phénomènes physiques (magnétisme, effet tunnel, laser…)
• Ils convertissent ces « effets physiques » en « information numérique »
• Le système d’exploitation (au sens large)
• Il fixe le modèle logique de gestion des données
• Il offre une interface générique par les gestionnaires de périphérique (device drivers)
• Les contrôleurs de périphériques
11 juin 2012 ICM 1A - SIN - Gestion Information - P Lalevée 50
Bilan
ICM 1A - SIN 27 juin 2011
Gestion de l’information – P Lalevée 22
Contrôleur de périphérique
• Rôle de pilote intermédiaire (device handler) • Exécution des requêtes du S.E.
• Optimisation de l’utilisation
• Qualité de service et bon fonctionnement
• Modèle logique Modèle physique • Mécanismes d’adressage (translation d’adresse)
• Optimisation des accès
• Mémoire cache (lecture anticipées, écriture retardée…)
• Modèle physique Modèle logique • Propriétés physiques compatibles
• Intégration du numérique
• Intégration du modèle « bloc »
11 juin 2012 ICM 1A - SIN - Gestion Information - P Lalevée 51
Bilan
Conception multi-domaine
11 juin 2012 ICM 1A - SIN - Gestion Information - P Lalevée 52
Conclusion
Contrôleur
(handler)
Système
exploitation
(driver)
ICM 1A - SIN 27 juin 2011
Gestion de l’information – P Lalevée 23
PLACE AUX QUESTIONS !
Merci de votre participation
11 juin 2012 ICM 1A - SIN - Gestion Information - P Lalevée 53
C’est fini !