Garden of KnowledgeApplied Sciences › Computer Science › Hardware
February 24, 2026

Mémoire et Stockage

Hiérarchie mémoire§

Les systèmes informatiques utilisent plusieurs niveaux de mémoire selon un compromis vitesse / capacité / coût.

Vitesse ↑      Registres CPU         ~0.3 ns    Quelques Ko    Coût ↑↑↑
               Cache L1              ~1 ns       32-64 Ko
               Cache L2              ~5 ns       256 Ko - 1 Mo
               Cache L3              ~30 ns      8-64 Mo
               RAM (DRAM)            ~60-100 ns  8-512 Go       Coût ↑
               SSD NVMe              ~0.1 ms     1-8 To
               SSD SATA              ~0.5 ms     1-8 To
               HDD                   ~5-10 ms    1-20 To        Coût ↓
Vitesse ↓      Stockage réseau (NAS) ~ms         Illimité       Coût ↓↓

Principe fondamental : on essaie de garder les données fréquemment utilisées dans les niveaux les plus rapides (caches).

RAM — Mémoire vive§

La RAM (Random Access Memory) est la mémoire principale de l’ordinateur. Elle est volatile (les données sont perdues à l’extinction).

SRAM vs DRAM§

CritèreSRAM (Static RAM)DRAM (Dynamic RAM)
TechnologieBascules (6 transistors/bit)Condensateurs (1 transistor/bit)
VitesseTrès rapideRapide
DensitéFaibleÉlevée
CoûtÉlevéFaible
Besoin de refreshNonOui (toutes les ms)
UsageCaches CPU (L1, L2, L3)Mémoire principale

DDR SDRAM (Synchronous Dynamic RAM)§

La DDR (Double Data Rate) transfère des données sur les deux fronts de l’horloge (montant et descendant), doublant le débit effectif.

StandardFréquence mémoireBande passante (simple canal)
DDR31333-2133 MHz10.6-17 Go/s
DDR42133-3200 MHz17-25.6 Go/s
DDR54800-8400 MHz38.4-67.2 Go/s
LPDDR5 (mobile)3200-6400 MHz25.6-51.2 Go/s

ECC (Error Correcting Code) : mémoire avec bits de parité permettant de détecter et corriger les erreurs de bit. Indispensable pour les serveurs et workstations critiques. Légèrement plus lente et plus chère.

Dual/Quad Channel : utiliser 2 ou 4 barrettes en parallèle double/quadruple la bande passante. Important pour les processeurs sans VRAM dédiée (AMD APU, Intel avec iGPU).

Latence CAS (CL) : délai en cycles entre la demande et la donnée. CL16 à 3200 MHz = 16/3200 MHz = 10 ns. Un CL bas est préférable.

Cache CPU§

Principes de localité§

Localité temporelle : si une donnée est accédée, elle le sera probablement à nouveau bientôt. Le cache garde les données récemment utilisées.

Localité spatiale : si une donnée est accédée, les données voisines le seront probablement. Le cache charge des lignes de cache entières (cache lines).

Taille d’une ligne de cache : 64 octets sur x86-64. Toute lecture ou écriture charge 64 octets en cache, même si on n’accède qu’à un seul octet.

Politiques de cache§

Write-through : chaque écriture est immédiatement propagée en mémoire principale. Cohérence garantie, mais chaque écriture est lente.

Write-back : les écritures sont d’abord faites dans le cache ; la mémoire principale est mise à jour uniquement quand la ligne de cache est évincée. Plus performant, mais nécessite une gestion de la cohérence (protocole MESI pour les multi-cœurs).

Politiques de remplacement :

Impact sur les performances§

# Accès séquentiel — cache-friendly (bonne localité spatiale)
import time
n = 1000
matrice = [[i * n + j for j in range(n)] for i in range(n)]

# Accès ligne par ligne (séquentiel en mémoire)
t0 = time.time()
somme = sum(matrice[i][j] for i in range(n) for j in range(n))
print(f"Ligne par ligne : {time.time() - t0:.3f}s")

# Accès colonne par colonne (sauts en mémoire — cache-unfriendly)
t0 = time.time()
somme = sum(matrice[i][j] for j in range(n) for i in range(n))
print(f"Colonne par colonne : {time.time() - t0:.3f}s")  # 3-10x plus lent

SSD — Solid State Drive§

NAND Flash§

Les SSD stockent les données dans des cellules NAND flash. Chaque cellule mémorise une charge électrique représentant 1 à 4 bits.

TypeBits/celluleEndurance (P/E cycles)VitessePrix
SLC (Single Level Cell)1 bit100 000+Très rapideTrès élevé
MLC (Multi Level Cell)2 bits10 000RapideÉlevé
TLC (Triple Level Cell)3 bits3 000StandardAbordable
QLC (Quad Level Cell)4 bits1 000Plus lentFaible

Wear Leveling : algorithme qui distribue les écritures uniformément sur toutes les cellules pour éviter qu’une zone s’use prématurément.

Write amplification : écrire 1 octet peut entraîner l’écriture de plusieurs blocs complets (effacement + réécriture). Un bon contrôleur minimise ce phénomène.

Trim : commande qui informe le SSD des blocs qui ne sont plus utilisés, permettant un effacement préventif et de meilleures performances.

Interfaces SSD§

InterfaceConnecteurVitesse maximaleUsage
SATA IIISATA~550 Mo/sSSD 2.5” classiques, bon marché
NVMe (PCIe 3.0 x4)M.2 / U.2~3500 Mo/sSSD modernes performants
NVMe (PCIe 4.0 x4)M.2~7000 Mo/sSSD haut de gamme
NVMe (PCIe 5.0 x4)M.2~14000 Mo/sSSD ultra-performants (2023+)

Le goulot d’étranglement de SATA est le protocole lui-même (conçu pour les HDD). NVMe (Non-Volatile Memory Express) est un protocole conçu spécifiquement pour les SSD.

HDD — Hard Disk Drive§

Stockage magnétique rotatif. Les données sont stockées sous forme de magnétisation sur des plateaux métalliques tournant à 5400-15000 RPM.

Composants :

Latence HDD :

Avantages des HDD : coût très bas par Go, grande capacité (jusqu’à 20+ To grand public, 100 To pour les PMR et SMR enterprise).

Fragmentation : les HDD sont sensibles à la fragmentation (données éclatées en morceaux non contigus) car les têtes doivent se déplacer entre les fragments. Les SSD ne sont pas affectés par la fragmentation.

RAID§

RAID (Redundant Array of Independent Disks) combine plusieurs disques pour améliorer les performances ou la redondance.

NiveauDescriptionDisques minRedondancePerformance
RAID 0Striping — données réparties2AucuneLectures/écritures x2
RAID 1Mirroring — copie identique21 disque peut tomberLectures x2, écritures identiques
RAID 5Striping + parité distribuée31 disque peut tomberLectures très rapides
RAID 6Striping + double parité42 disques peuvent tomberLectures très rapides
RAID 10RAID 1 + RAID 0 imbriqués41 disque par miroirTrès rapide

Reconstruction : après remplacement d’un disque défaillant en RAID 5/6, le RAID se reconstruit en recalculant les données manquantes. Pendant la reconstruction, le risque de défaillance d’un second disque est élevé (plusieurs heures/jours pour les grands volumes). C’est pourquoi RAID 6 est préféré pour les grands volumes.

RAID n’est pas une sauvegarde : le RAID protège contre une panne matérielle, pas contre les suppressions accidentelles, les corruptions logicielles ou les sinistres.

Stockage Cloud et en réseau§

NAS — Network Attached Storage§

Périphérique de stockage connecté au réseau local (NFS, SMB). Accessible par plusieurs machines simultanément. Ex : Synology, QNAP.

SAN — Storage Area Network§

Réseau dédié au stockage (Fibre Channel, iSCSI). Le stockage est vu comme un disque local par le serveur. Utilisé dans les datacenters.

Stockage Objet (Object Storage)§

Modèle sans hiérarchie de répertoires. Chaque objet est stocké avec un identifiant unique (key) et des métadonnées. Scalable à l’infini horizontalement. Ex : AWS S3, MinIO, Ceph.

Système de fichiers :    /home/user/documents/rapport.pdf
Stockage objet :         bucket-nom/rapport-2024-alice.pdf  (+ métadonnées JSON)

Comparaison des modèles de stockage§

ModèleAccèsScalabilitéCas d’usage
Fichiers (NFS/SMB)HiérarchiqueLimitéePartage réseau local
Blocs (SAN/iSCSI)SecteursÉlevéeBDD, VMs
Objet (S3)HTTP/APIQuasi-illimitéeMédias, backups, data lake
—The Gardener