Le 16/03/2021 Í 11:51, Benoit a écrit :Je pensais reformater ce SSD lorsqu'il atteindra environ 80% de
remplissage ( ça se fait depuis l'interface du système ),
Ca ne sert Í rien du tout. Du point de vue du contrÍ´leur du SSD, les
cellules qui contenaient des données contiennent toujours des données
après un reformatage.
Question bête : d'après ce que j'ai compris un SSD a de gros blocs de
données appartenant Í différents fichiers et pour écrire dans un bloc il
doit le lire pour savoir o͹ il y a de la place en effaçant les données
inutilisées (plus de bout de fichiers) et y inscrire de nouvelles
données.
Pas exactement. Il ne doit pas le lire pour "savoir o͹ il y a de place",
mais parce que toute action d'écriture dans une cellule doit être
précédée de l'effacement de la cellule, mais l'effacement ne peut se
faire que sur un bloc entier. Donc pour écrire même un seul octet dans
le bloc le contrÍ´leur doit :
- copier le bloc dans une petite RAM locale
- effacer le bloc
- écrire l'octet dans la copie du bloc en RAM
- récrire le bloc entier depuis la RAM
Maintenant si je le reformate, je lui dit que tous les blocs
sont vides. Il peut donc réécrire dedans en ignorant ce qu'il contient,
non ?
Oui, Í condition que l'OS informe le contrÍ´leur que les blocs sont
vides. C'est le rÍ´le de la fonction TRIM. Ce qui suppose plusieurs choses
:
- que le SSD, l'interface, et l'OS, gèrent tous trois le TRIM
- que la commande de formatage envoie une commande TRIM au SSDQuelle différence avec le reformatage d'un HDDÂ ?
En l'absence de TRIM, aucune.
Le 16/03/2021 Í 11:51, Benoit a écrit :
>>
Je pensais reformater ce SSD lorsqu'il atteindra environ 80% de
remplissage ( ça se fait depuis l'interface du système ),
Ca ne sert Í rien du tout. Du point de vue du contrÍ´leur du SSD, les
cellules qui contenaient des données contiennent toujours des données
après un reformatage.
Question bête : d'après ce que j'ai compris un SSD a de gros blocs de
données appartenant Í différents fichiers et pour écrire dans un bloc il
doit le lire pour savoir o͹ il y a de la place en effaçant les données
inutilisées (plus de bout de fichiers) et y inscrire de nouvelles
données.
Pas exactement. Il ne doit pas le lire pour "savoir o͹ il y a de place",
mais parce que toute action d'écriture dans une cellule doit être
précédée de l'effacement de la cellule, mais l'effacement ne peut se
faire que sur un bloc entier. Donc pour écrire même un seul octet dans
le bloc le contrÍ´leur doit :
- copier le bloc dans une petite RAM locale
- effacer le bloc
- écrire l'octet dans la copie du bloc en RAM
- récrire le bloc entier depuis la RAM
Maintenant si je le reformate, je lui dit que tous les blocs
sont vides. Il peut donc réécrire dedans en ignorant ce qu'il contient,
non ?
Oui, Í condition que l'OS informe le contrÍ´leur que les blocs sont
vides. C'est le rÍ´le de la fonction TRIM. Ce qui suppose plusieurs choses
:
- que le SSD, l'interface, et l'OS, gèrent tous trois le TRIM
- que la commande de formatage envoie une commande TRIM au SSD
Quelle différence avec le reformatage d'un HDDÂ ?
En l'absence de TRIM, aucune.
Le 16/03/2021 Í 11:51, Benoit a écrit :Je pensais reformater ce SSD lorsqu'il atteindra environ 80% de
remplissage ( ça se fait depuis l'interface du système ),
Ca ne sert Í rien du tout. Du point de vue du contrÍ´leur du SSD, les
cellules qui contenaient des données contiennent toujours des données
après un reformatage.
Question bête : d'après ce que j'ai compris un SSD a de gros blocs de
données appartenant Í différents fichiers et pour écrire dans un bloc il
doit le lire pour savoir o͹ il y a de la place en effaçant les données
inutilisées (plus de bout de fichiers) et y inscrire de nouvelles
données.
Pas exactement. Il ne doit pas le lire pour "savoir o͹ il y a de place",
mais parce que toute action d'écriture dans une cellule doit être
précédée de l'effacement de la cellule, mais l'effacement ne peut se
faire que sur un bloc entier. Donc pour écrire même un seul octet dans
le bloc le contrÍ´leur doit :
- copier le bloc dans une petite RAM locale
- effacer le bloc
- écrire l'octet dans la copie du bloc en RAM
- récrire le bloc entier depuis la RAM
Maintenant si je le reformate, je lui dit que tous les blocs
sont vides. Il peut donc réécrire dedans en ignorant ce qu'il contient,
non ?
Oui, Í condition que l'OS informe le contrÍ´leur que les blocs sont
vides. C'est le rÍ´le de la fonction TRIM. Ce qui suppose plusieurs choses
:
- que le SSD, l'interface, et l'OS, gèrent tous trois le TRIM
- que la commande de formatage envoie une commande TRIM au SSDQuelle différence avec le reformatage d'un HDDÂ ?
En l'absence de TRIM, aucune.
Question bête : d'après ce que j'ai compris un SSD a de gros blocs de
données appartenant Í différents fichiers et pour écrire dans un bloc il
doit le lire pour savoir o͹ il y a de la place en effaçant les données
inutilisées (plus de bout de fichiers) et y inscrire de nouvelles
données.
Pas exactement. Il ne doit pas le lire pour "savoir o͹ il y a de place",
mais parce que toute action d'écriture dans une cellule doit être
précédée de l'effacement de la cellule, mais l'effacement ne peut se
faire que sur un bloc entier. Donc pour écrire même un seul octet dans
le bloc le contrÍ´leur doit :
- copier le bloc dans une petite RAM locale
- effacer le bloc
- écrire l'octet dans la copie du bloc en RAM
- récrire le bloc entier depuis la RAM
Ok, j'avais donc compris un bout.
Mais quand il efface le bloc il le remplit avec quoi ? Tout ce qui est
inutilisé est plein de EOF ou EOB (Bout de fichier)Â ?
Maintenant si je le reformate, je lui dit que tous les blocs
sont vides. Il peut donc réécrire dedans en ignorant ce qu'il contient,
non ?
Oui, Í condition que l'OS informe le contrÍ´leur que les blocs sont
vides. C'est le rÍ´le de la fonction TRIM. Ce qui suppose plusieurs choses
:
- que le SSD, l'interface, et l'OS, gèrent tous trois le TRIM
- que la commande de formatage envoie une commande TRIM au SSDQuelle différence avec le reformatage d'un HDDÂ ?
En l'absence de TRIM, aucune.
Je peux donc reformater sans lui dire qu'il est vide ! Alors, Í quoi
sert le reformatage sans TRIMÂ ? C'est juste l'OS qui le sait dans son
coin qu'il y a de la place ?
Question bête : d'après ce que j'ai compris un SSD a de gros blocs de
données appartenant Í différents fichiers et pour écrire dans un bloc il
doit le lire pour savoir o͹ il y a de la place en effaçant les données
inutilisées (plus de bout de fichiers) et y inscrire de nouvelles
données.
Pas exactement. Il ne doit pas le lire pour "savoir o͹ il y a de place",
mais parce que toute action d'écriture dans une cellule doit être
précédée de l'effacement de la cellule, mais l'effacement ne peut se
faire que sur un bloc entier. Donc pour écrire même un seul octet dans
le bloc le contrÍ´leur doit :
- copier le bloc dans une petite RAM locale
- effacer le bloc
- écrire l'octet dans la copie du bloc en RAM
- récrire le bloc entier depuis la RAM
Ok, j'avais donc compris un bout.
Mais quand il efface le bloc il le remplit avec quoi ? Tout ce qui est
inutilisé est plein de EOF ou EOB (Bout de fichier)Â ?
Maintenant si je le reformate, je lui dit que tous les blocs
sont vides. Il peut donc réécrire dedans en ignorant ce qu'il contient,
non ?
Oui, Í condition que l'OS informe le contrÍ´leur que les blocs sont
vides. C'est le rÍ´le de la fonction TRIM. Ce qui suppose plusieurs choses
:
- que le SSD, l'interface, et l'OS, gèrent tous trois le TRIM
- que la commande de formatage envoie une commande TRIM au SSD
Quelle différence avec le reformatage d'un HDDÂ ?
En l'absence de TRIM, aucune.
Je peux donc reformater sans lui dire qu'il est vide ! Alors, Í quoi
sert le reformatage sans TRIMÂ ? C'est juste l'OS qui le sait dans son
coin qu'il y a de la place ?
Question bête : d'après ce que j'ai compris un SSD a de gros blocs de
données appartenant Í différents fichiers et pour écrire dans un bloc il
doit le lire pour savoir o͹ il y a de la place en effaçant les données
inutilisées (plus de bout de fichiers) et y inscrire de nouvelles
données.
Pas exactement. Il ne doit pas le lire pour "savoir o͹ il y a de place",
mais parce que toute action d'écriture dans une cellule doit être
précédée de l'effacement de la cellule, mais l'effacement ne peut se
faire que sur un bloc entier. Donc pour écrire même un seul octet dans
le bloc le contrÍ´leur doit :
- copier le bloc dans une petite RAM locale
- effacer le bloc
- écrire l'octet dans la copie du bloc en RAM
- récrire le bloc entier depuis la RAM
Ok, j'avais donc compris un bout.
Mais quand il efface le bloc il le remplit avec quoi ? Tout ce qui est
inutilisé est plein de EOF ou EOB (Bout de fichier)Â ?
Maintenant si je le reformate, je lui dit que tous les blocs
sont vides. Il peut donc réécrire dedans en ignorant ce qu'il contient,
non ?
Oui, Í condition que l'OS informe le contrÍ´leur que les blocs sont
vides. C'est le rÍ´le de la fonction TRIM. Ce qui suppose plusieurs choses
:
- que le SSD, l'interface, et l'OS, gèrent tous trois le TRIM
- que la commande de formatage envoie une commande TRIM au SSDQuelle différence avec le reformatage d'un HDDÂ ?
En l'absence de TRIM, aucune.
Je peux donc reformater sans lui dire qu'il est vide ! Alors, Í quoi
sert le reformatage sans TRIMÂ ? C'est juste l'OS qui le sait dans son
coin qu'il y a de la place ?
Le 16/03/2021 Í 12:22, Benoit a écrit :Question bête : d'après ce que j'ai compris un SSD a de gros blocs de
données appartenant Í différents fichiers et pour écrire dans un bloc il
doit le lire pour savoir o͹ il y a de la place en effaçant les données
inutilisées (plus de bout de fichiers) et y inscrire de nouvelles
données.
Pas exactement. Il ne doit pas le lire pour "savoir o͹ il y a de place",
mais parce que toute action d'écriture dans une cellule doit être
précédée de l'effacement de la cellule, mais l'effacement ne peut se
faire que sur un bloc entier.
Donc pour écrire même un seul octet dans
le bloc le contrÍ´leur doit :
- copier le bloc dans une petite RAM locale
- effacer le bloc
- écrire l'octet dans la copie du bloc en RAM
- récrire le bloc entier depuis la RAM
Un effacement correspond probablement Í une mise Í zéro
de toutes les cellules (tension nulle), mais c'est Í vérifier.
Le 16/03/2021 Í 12:22, Benoit a écrit :
Question bête : d'après ce que j'ai compris un SSD a de gros blocs de
données appartenant Í différents fichiers et pour écrire dans un bloc il
doit le lire pour savoir o͹ il y a de la place en effaçant les données
inutilisées (plus de bout de fichiers) et y inscrire de nouvelles
données.
Pas exactement. Il ne doit pas le lire pour "savoir o͹ il y a de place",
mais parce que toute action d'écriture dans une cellule doit être
précédée de l'effacement de la cellule, mais l'effacement ne peut se
faire que sur un bloc entier.
Donc pour écrire même un seul octet dans
le bloc le contrÍ´leur doit :
- copier le bloc dans une petite RAM locale
- effacer le bloc
- écrire l'octet dans la copie du bloc en RAM
- récrire le bloc entier depuis la RAM
Un effacement correspond probablement Í une mise Í zéro
de toutes les cellules (tension nulle), mais c'est Í vérifier.
Le 16/03/2021 Í 12:22, Benoit a écrit :Question bête : d'après ce que j'ai compris un SSD a de gros blocs de
données appartenant Í différents fichiers et pour écrire dans un bloc il
doit le lire pour savoir o͹ il y a de la place en effaçant les données
inutilisées (plus de bout de fichiers) et y inscrire de nouvelles
données.
Pas exactement. Il ne doit pas le lire pour "savoir o͹ il y a de place",
mais parce que toute action d'écriture dans une cellule doit être
précédée de l'effacement de la cellule, mais l'effacement ne peut se
faire que sur un bloc entier.
Donc pour écrire même un seul octet dans
le bloc le contrÍ´leur doit :
- copier le bloc dans une petite RAM locale
- effacer le bloc
- écrire l'octet dans la copie du bloc en RAM
- récrire le bloc entier depuis la RAM
Un effacement correspond probablement Í une mise Í zéro
de toutes les cellules (tension nulle), mais c'est Í vérifier.
Le 15/03/2021 Í 12:55, Pascal Hambourg a écrit :Le 15/03/2021 Í 11:13, Michel a écrit :Le 15/03/2021 Í 00:11, Pascal Hambourg a écrit :Ça doit dépendre de quelle façon on formate. Par exemple les commandes
standard de formatage en ext2/3/4, Btrfs et XFS sous GNU/Linux font un
TRIM/discard de tous les blocs par défaut.
Y a-t'il un moyen de vérifier cette hypothèse après formatage dans le NVR?
Je n'en connais pas. Si le SSD annonce dans ses caractéristiques (hdparm
-I) que TRIM met les données Í zéro, on peut vérifier si tout le contenu
hormis les méta-données est Í 0, mais c'est indirect.
Merci pour ces réponses.
Ce SSD accepte les commandes TRIM ( c'est un Crucial MX300 ), mais y
a-t'il un moyen de savoir si, après un reformatage depuis le système
linux fermé, les données ont bien été remises Í 0?
Le 15/03/2021 Í 12:55, Pascal Hambourg a écrit :
Le 15/03/2021 Í 11:13, Michel a écrit :
Le 15/03/2021 Í 00:11, Pascal Hambourg a écrit :
Ça doit dépendre de quelle façon on formate. Par exemple les commandes
standard de formatage en ext2/3/4, Btrfs et XFS sous GNU/Linux font un
TRIM/discard de tous les blocs par défaut.
Y a-t'il un moyen de vérifier cette hypothèse après formatage dans le NVR?
Je n'en connais pas. Si le SSD annonce dans ses caractéristiques (hdparm
-I) que TRIM met les données Í zéro, on peut vérifier si tout le contenu
hormis les méta-données est Í 0, mais c'est indirect.
Merci pour ces réponses.
Ce SSD accepte les commandes TRIM ( c'est un Crucial MX300 ), mais y
a-t'il un moyen de savoir si, après un reformatage depuis le système
linux fermé, les données ont bien été remises Í 0?
Le 15/03/2021 Í 12:55, Pascal Hambourg a écrit :Le 15/03/2021 Í 11:13, Michel a écrit :Le 15/03/2021 Í 00:11, Pascal Hambourg a écrit :Ça doit dépendre de quelle façon on formate. Par exemple les commandes
standard de formatage en ext2/3/4, Btrfs et XFS sous GNU/Linux font un
TRIM/discard de tous les blocs par défaut.
Y a-t'il un moyen de vérifier cette hypothèse après formatage dans le NVR?
Je n'en connais pas. Si le SSD annonce dans ses caractéristiques (hdparm
-I) que TRIM met les données Í zéro, on peut vérifier si tout le contenu
hormis les méta-données est Í 0, mais c'est indirect.
Merci pour ces réponses.
Ce SSD accepte les commandes TRIM ( c'est un Crucial MX300 ), mais y
a-t'il un moyen de savoir si, après un reformatage depuis le système
linux fermé, les données ont bien été remises Í 0?
Donc pour écrire même un seul octet dans
le bloc le contrÍ´leur doit :
- copier le bloc dans une petite RAM locale
- effacer le bloc
- écrire l'octet dans la copie du bloc en RAM
- récrire le bloc entier depuis la RAM
Sauf qu'un SSD ne fait jamais ça, car c'est inefficace aussi bien en
terme de vitesse qu'en terme d'usure.
Un effacement correspond probablement Í une mise Í zéro de toutes les
cellules (tension nulle), mais c'est Í vérifier.
Traditionnellement depuis les EPROM (mémoire programmable) dont la
mémoire flash est l'évolution, l'effacement met tous les bits Í 1, et
l'écriture ou programmation met certains bits Í 0.
Donc pour écrire même un seul octet dans
le bloc le contrÍ´leur doit :
- copier le bloc dans une petite RAM locale
- effacer le bloc
- écrire l'octet dans la copie du bloc en RAM
- récrire le bloc entier depuis la RAM
Sauf qu'un SSD ne fait jamais ça, car c'est inefficace aussi bien en
terme de vitesse qu'en terme d'usure.
Un effacement correspond probablement Í une mise Í zéro de toutes les
cellules (tension nulle), mais c'est Í vérifier.
Traditionnellement depuis les EPROM (mémoire programmable) dont la
mémoire flash est l'évolution, l'effacement met tous les bits Í 1, et
l'écriture ou programmation met certains bits Í 0.
Donc pour écrire même un seul octet dans
le bloc le contrÍ´leur doit :
- copier le bloc dans une petite RAM locale
- effacer le bloc
- écrire l'octet dans la copie du bloc en RAM
- récrire le bloc entier depuis la RAM
Sauf qu'un SSD ne fait jamais ça, car c'est inefficace aussi bien en
terme de vitesse qu'en terme d'usure.
Un effacement correspond probablement Í une mise Í zéro de toutes les
cellules (tension nulle), mais c'est Í vérifier.
Traditionnellement depuis les EPROM (mémoire programmable) dont la
mémoire flash est l'évolution, l'effacement met tous les bits Í 1, et
l'écriture ou programmation met certains bits Í 0.
Oui, mais c'était pour rester simple et éviter de rentrer dans tous les
détails de fonctionnement d'un coup.
Traditionnellement depuis les EPROM (mémoire programmable) dont la
mémoire flash est l'évolution, l'effacement met tous les bits Í 1, et
l'écriture ou programmation met certains bits Í 0.
Ah mince, juste l'inverse :)
Oui, mais c'était pour rester simple et éviter de rentrer dans tous les
détails de fonctionnement d'un coup.
Traditionnellement depuis les EPROM (mémoire programmable) dont la
mémoire flash est l'évolution, l'effacement met tous les bits Í 1, et
l'écriture ou programmation met certains bits Í 0.
Ah mince, juste l'inverse :)
Oui, mais c'était pour rester simple et éviter de rentrer dans tous les
détails de fonctionnement d'un coup.
Traditionnellement depuis les EPROM (mémoire programmable) dont la
mémoire flash est l'évolution, l'effacement met tous les bits Í 1, et
l'écriture ou programmation met certains bits Í 0.
Ah mince, juste l'inverse :)
pehache wrote:Oui, mais c'était pour rester simple et éviter de rentrer dans tous les
détails de fonctionnement d'un coup.
Il me semble que personne n'a parlé du brouillage souvent utilisé:
- pour répartir les écritures sur le périphérique (brouillage
d'adresse)
- pour assurer une répartition des 1 et 0 plus ou moins uniforme
Traditionnellement depuis les EPROM (mémoire programmable) dont la
mémoire flash est l'évolution, l'effacement met tous les bits Í 1, et
l'écriture ou programmation met certains bits Í 0.
Ah mince, juste l'inverse :)
Avec brouillage, pas forcément 1-1 avec les données.
pehache <pehache.7@gmail.com> wrote:
Oui, mais c'était pour rester simple et éviter de rentrer dans tous les
détails de fonctionnement d'un coup.
Il me semble que personne n'a parlé du brouillage souvent utilisé:
- pour répartir les écritures sur le périphérique (brouillage
d'adresse)
- pour assurer une répartition des 1 et 0 plus ou moins uniforme
Traditionnellement depuis les EPROM (mémoire programmable) dont la
mémoire flash est l'évolution, l'effacement met tous les bits Í 1, et
l'écriture ou programmation met certains bits Í 0.
Ah mince, juste l'inverse :)
Avec brouillage, pas forcément 1-1 avec les données.
pehache wrote:Oui, mais c'était pour rester simple et éviter de rentrer dans tous les
détails de fonctionnement d'un coup.
Il me semble que personne n'a parlé du brouillage souvent utilisé:
- pour répartir les écritures sur le périphérique (brouillage
d'adresse)
- pour assurer une répartition des 1 et 0 plus ou moins uniforme
Traditionnellement depuis les EPROM (mémoire programmable) dont la
mémoire flash est l'évolution, l'effacement met tous les bits Í 1, et
l'écriture ou programmation met certains bits Í 0.
Ah mince, juste l'inverse :)
Avec brouillage, pas forcément 1-1 avec les données.
Je parlerais plutÍ´t d'indirections. "Brouillage" ça fait un peu "on ne
s'y retrouve plus" :)
Je parlerais plutÍ´t d'indirections. "Brouillage" ça fait un peu "on ne
s'y retrouve plus" :)
Je parlerais plutÍ´t d'indirections. "Brouillage" ça fait un peu "on ne
s'y retrouve plus" :)
Pour les SSD, le brouillage est une fonction optionnelle, cela complique
évidemment la récupération de données, voir cet article:
https://www.sciencedirect.com/science/article/abs/pii/S1742287614001212
Ce n'est pas aussi sͻr qu'un chiffrement, ce n'est pas le but.
Pour les SSD, le brouillage est une fonction optionnelle, cela complique
évidemment la récupération de données, voir cet article:
https://www.sciencedirect.com/science/article/abs/pii/S1742287614001212
Ce n'est pas aussi sͻr qu'un chiffrement, ce n'est pas le but.
Pour les SSD, le brouillage est une fonction optionnelle, cela complique
évidemment la récupération de données, voir cet article:
https://www.sciencedirect.com/science/article/abs/pii/S1742287614001212
Ce n'est pas aussi sͻr qu'un chiffrement, ce n'est pas le but.
pehache wrote:Je parlerais plutÍ´t d'indirections. "Brouillage" ça fait un peu "on ne
s'y retrouve plus" :)
En anglais scrambling.
Pour les SSD, le brouillage est une fonction optionnelle,
pehache <pehache.7@gmail.com> wrote:
Je parlerais plutÍ´t d'indirections. "Brouillage" ça fait un peu "on ne
s'y retrouve plus" :)
En anglais scrambling.
Pour les SSD, le brouillage est une fonction optionnelle,
pehache wrote:Je parlerais plutÍ´t d'indirections. "Brouillage" ça fait un peu "on ne
s'y retrouve plus" :)
En anglais scrambling.
Pour les SSD, le brouillage est une fonction optionnelle,