• [^] # Re: Fragmentation: encore un problème sur SSD?

    Posté par . En réponse au journal [Btrfs et openSUSE] Épisode 0 : l’ex‐fs du futur. Évalué à 2.

    En fait, il y a plusieurs niveau de découpage.

    • Les pages sont la plus petite unité de donnée, entre 2Ko et 32Ko. On peut écrire ou lire une page, mais pas la modifier ou l'effacer.
    • Les pages sont groupées en erase blocks (généralement entre 128Ko et 2Mo). Si on veut réécrire des données, il faut remplacer un erase block d'un coup.
    • Le contrôleur du SSD travaille avec des structures encore plus grandes, les segments. Un segment fait généralement 4Mo (parfois 2Mo ou 8Mo). Il me semble que le wear leveling se fait segment par segment.

    Note que ces infos datent d'il y a quelques années maintenant et concernent les mémoires de type NAND. Je ne suis pas sûr que les autres technologies utilisent le même principe, et les tailles ont peut-être changés.

    Je sais que j'avais lancé des benchmarks sur une carte SD "rapide", et lire 1024 octets prenait 20 fois plus de temps si les données étaient sur deux segments, par rapport à si elles étaient alignées.