Systèmes de stockage et d'E/S
Les systèmes de stockage et d'E/S connectent le processeur et la mémoire au monde extérieur et aux données persistantes, englobant les bus et les interconnexions, le stockage sur disque et flash, la redondance pour la fiabilité, et les mécanismes qui déplacent efficacement les données entre les périphériques et la mémoire.
Definition
Les systèmes de stockage et d'E/S sont les mécanismes matériels et architecturaux par lesquels un ordinateur transfère des données vers et depuis des périphériques et les stocke de manière persistante, y compris les interconnexions, les contrôleurs, les supports de stockage, et les techniques de fiabilité et de virtualisation impliquées.
Scope
Ce domaine couvre la manière dont les ordinateurs communiquent avec les périphériques et stockent les données de manière durable : l'architecture et les bus d'E/S, le transfert piloté par interruptions et par DMA, les périphériques de stockage secondaire (disques magnétiques et disques à semi-conducteurs), la fiabilité du stockage par redondance telle que RAID, et la virtualisation des E/S. Il traite des mécanismes matériels et architecturaux d'entrée/sortie et de persistance. Il exclut l'abstraction logicielle des systèmes de fichiers (systèmes d'exploitation) ainsi que les caches sur puce et la mémoire principale (hiérarchie de la mémoire et caches), bien qu'il fonctionne en étroite collaboration avec les deux.
Sub-topics
Core questions
- Comment les périphériques sont-ils connectés au processeur et à la mémoire via des bus et des interconnexions ?
- Comment les données sont-elles transférées efficacement en utilisant les interruptions et l'accès direct à la mémoire plutôt que le polling actif ?
- Quelles sont les caractéristiques de performance et de fiabilité du stockage magnétique et à semi-conducteurs ?
- Comment la redondance telle que RAID échange-t-elle la capacité contre la fiabilité et les performances ?
- Comment les E/S sont-elles virtualisées et partagées en toute sécurité entre les machines virtuelles et les processus ?
Key concepts
- Bus et interconnexions d'E/S
- E/S pilotées par interruptions
- Accès direct à la mémoire (DMA)
- Disque magnétique et SSD
- Contrôleurs de périphériques
- RAID et redondance
- Fiabilité du stockage et MTTF
- Virtualisation des E/S
- Débit et latence
- E/S mappées en mémoire
Key theories
- Baies redondantes de disques indépendants (RAID)
- La combinaison de nombreux disques standards avec le striping de données et la parité ou le mirroring produit un stockage plus grand, plus rapide et plus fiable qu'un seul disque ; les niveaux RAID formalisent les compromis entre capacité, performances et tolérance aux pannes.
- Transfert d'E/S découplé
- L'accès direct à la mémoire et les E/S pilotées par interruptions permettent aux périphériques de transférer des données vers et depuis la mémoire sans intervention continue du processeur, superposant les E/S avec le calcul et améliorant le débit global du système.
Mechanisms
Les périphériques se connectent au système via des bus et des contrôleurs et signalent le processeur par des interruptions. Les données en vrac sont déplacées par accès direct à la mémoire (DMA), qui transfère des blocs entre un périphérique et la mémoire sans intervention du processeur mot par mot. Le stockage secondaire stocke les données de manière persistante sur des disques magnétiques ou flash, et les baies de périphériques utilisent le striping, le mirroring et la parité (RAID) pour améliorer les performances et tolérer les pannes. Les couches de virtualisation multiplexent ces périphériques entre les invités.
Clinical relevance
Le stockage et les E/S déterminent souvent les performances et la durabilité des systèmes de bout en bout : les bases de données, les serveurs de fichiers et les applications gourmandes en données sont fréquemment limités par le débit et la latence du stockage plutôt que par le calcul. RAID et les schémas de redondance associés protègent contre les pannes de périphériques dans les centres de données, et une virtualisation efficace des E/S est essentielle au cloud computing où de nombreux locataires partagent le matériel physique.
History
Les premières machines utilisaient des E/S programmées et des canaux dédiés ; les E/S pilotées par interruptions et l'accès direct à la mémoire sont apparus pour superposer les E/S avec le calcul. Les disques magnétiques ont dominé le stockage secondaire pendant des décennies, et la proposition RAID de 1988 par Patterson, Gibson et Katz a établi la redondance comme technique de fiabilité standard. Les disques à semi-conducteurs basés sur la mémoire flash ont ensuite remodelé la hiérarchie du stockage, et la virtualisation des E/S est devenue centrale avec l'essor du cloud computing.
Debates
- Stockage désagrégé versus stockage local
- Il y a une discussion continue sur la question de savoir si le stockage doit être attaché localement au calcul ou désagrégé à travers des réseaux rapides ; la désagrégation améliore l'utilisation et la flexibilité dans les centres de données mais ajoute de la latence et dépend d'interconnexions haute performance.
Key figures
- David A. Patterson
- Garth Gibson
- Randy H. Katz
- John L. Hennessy
Related topics
Seminal works
- hennessy2019
- patterson1988raid
- silberschatz2018
Frequently asked questions
- Qu'est-ce que l'accès direct à la mémoire et pourquoi est-il utile ?
- L'accès direct à la mémoire (DMA) permet à un périphérique de transférer des blocs de données vers ou depuis la mémoire principale sans que le processeur ne copie chaque mot. Cela libère le processeur pour effectuer d'autres tâches pendant le transfert, superposant les E/S avec le calcul et améliorant considérablement le débit pour le déplacement de données en vrac.
- RAID garantit-il la sécurité de mes données ?
- Non. RAID améliore la disponibilité et tolère certaines pannes de périphériques en stockant des informations redondantes, mais ce n'est pas une sauvegarde : il ne protège pas contre la suppression accidentelle, la corruption, les pannes multi-périphériques au-delà de sa tolérance, ou les catastrophes au niveau du site, des sauvegardes séparées restent donc nécessaires.