On ne peut pas écrire un seul octet sur un périphérique "bloc".
Oui c'est vrai. Mais le comportement attendu d'un filesystem si on modifie un octet d'un fichier sans changer sa taille serait (c'est là que l'on entre dans les supputations) de récrire tout le même secteur avec juste l'octet de modifié. C'est d'autant plus utile sur un ssd que dans ce cas le contrôleur peut:
- optimiser l'écriture: écrire en flash = mettre des bits à zéro != effacer = mettre tous les bits de plusieurs pages à 1. Donc si le contrôleur détecte que le(s) octet(s) à modifier ne sont que des bits à mettre à zéro alors il peut récrire sur la même page avec juste les quelques bits de plus à zéro.
- s'il y a le moindre bit à mettre à 1, le contrôleur peut immédiatement marquer la page à effacer sans attendre le trim ou une autre réécriture du secteur, puis réallouer une nouvelle page libre pour l'écriture.
Edit: j'ai oublié qu'il y a des octets de correction d'erreur en plus par page. Donc modifier un octet de donnée à zéro va également modifier le crc et probablement mettre des bits à 1. Donc allocation d'une nouvelle page. Si l'optimisation d'écriture est possible, le cas ou l'utilisation de celle ci doit être tellement rare (faute aux crc) que sûrement pas implanté.