Aller au contenu

[RÉSOLU] SSD OU DD


MyKe

Messages recommandés

@ Latios, tout d'abord merci pour le temps que tu m'accorde.

@ Tous, ne vous inquiétez pas, ce genre de discussion peut durer très longtemps ;)

Latios concernant ton explication, c'est très clair. Je suis ton raisonnement sans aucune difficulté.

Même si... Ben j'avoue que j'ai un peu de mal à être convaincu. Que veux tu je suis un vieux machin pas facile à déraciner de ses convictions. Tant qu'aucune preuve ne vient étayer le contraire.

Pour ma part, je raisonne sur des choses acquises et connues :

- Les partitions ne font pas appel à des emplacements logiques. Mais bel et bien des emplacements physiques. Ils sont implémentés dans le MBR, et s'adressent comme suit : N° absolu du premier secteur (page pour un ssd), Nombre de secteurs (page pour un ssd), type de partition (fat, ntfs, ext4 etc...).

- Les blocs (plus petite unité accessible dans un ssd) peuvent être lus et écrits, mais pas effacés. On efface une page complète à raison de 10000 fois après quoi la NAND peut être considérée comme morte (en théorie selon les spécifications etc...là on s'en tape un peu). D'où la fonction trim, appellation simplifiée d'un processus plus complexe (autant garder le terme usuellement employé pour la fonction complète).

- Sur un hdd la première partition (placée vers l'extérieur) est plus rapide en lecture/écriture que les autres. Ce qui prouve que les partitions sont adressées physiquement. Là encore c'est archi vérifié, et mesurable très facilement (je dois encore avoir les benchs de ma période optimisation vélociraptor).

Jusqu'ici je ne trouve aucun écrit (à part le tiens ;) ) qui me prouve le contraire de ce que je viens d'écrire ci-dessus (enfin il ne doit y avoir que le premier point qui diverge).

Donc en reprenant le cas de deux partitions, de deux pages chacune.

Toutes les opérations de la première partition, tourneront sur les deux pages qui lui sont affectées.

Si la première partition est fortement sollicitées, les deux premières pages de blocs. S'useront plus vites que les deux autres.

C'est sur ce point précis que nos avis divergent, non pas sur la gestion des blocs. Mais bien sur l'attribution physique des pages de blocs à une partition.

Je serais bien incapable de dire qui de nous deux à raison.

Je dis que je n'ai pas encore trouvé de doc, ou de test prouvant la méthode de gestion en cas de partitionnement.

Ta démo ci-dessus est bien jolie, mais je pourrais sans peine faire la même prouvant que ma théorie est la bonne.

Et franchement ce n'est pas mon but, je suis comme beaucoup je cherche à savoir.

J'avais idée de regarder au niveau de l'outil de défragmentation, mais il sort une partition à la fois.

Ce qui bien qu'abondant dans mon sens (arborant la présentation dune gestion physique), ne constitue pas une preuve suffisamment solide.

Je vais essayer de trouver quelque chose de plus concluant, dans ton sens ou le miens peu m'importe.

L'idéal serait un test d'usure avec deux partitions comparées, mais bon faut pas rêver...

Lien vers le commentaire
Partager sur d’autres sites

- Le partitionnement, c'est pas physique, c'est logique, et ce quelque soit la méthode utilisée (MBR, GPT, whatever). T'es même pas obligé de faire de partitionnement du tout. Pas de MBR sur un disque c'est tout à fait possible et ça fonctionne. C'est purement software, tout comme LVM, MD, LUKS, ou je ne sais quoi d'autres. Sur ton disque tu peux même très bien mettre un MBR avec 3 partitions primaire, et t'amuser a repartitionner une de ces partition avec un GPT dedans, et remettre un MBR dans une des partitions du GPT (poupées russes ftw) !. Le SSD ne sait pas ce qu'est le MBR, et il s'en tamponne royalement. Il ne fait que dire à l'OS "salut je suis un SSD j'ai XXXX secteurs de 4096 octets chacun" et l'OS fait que lui dire "écrit ça dans le secteur N°42, va lire le secteur N°1337, etc.".

De toute façon, si les secteurs utilisés par l'OS correspondait aux emplacements physique des cellules mémoires, le wear leveling ne pourrait de toute façon pas fonctionner et ce même avec une seule partition. Il n'y aurait aucun moyen pour le contrôleur du SSD d'équilibrer l'écriture des cellules mémoires : si j'écris toujours au même endroit, ça va toujours sur les mêmes cellules ! Ça serait au système de fichier de l'OS de faire le travail de wear leveling (et dans ce cas précis, effectivement ça serait par partition), mais ce n'est pas le cas.

- Sur un SSD, une page (ce que j'appelle cellule) est la plus petite unité d'allocation (comme un secteur sur un disque dur), et doit être effacée avant d'être réécrite. Cependant on ne peut pas effacer une seule page, faut effacer tout un bloc (qui contient plusieurs pages). C'est un point que j'ai volontairement écarté pour simplifier les choses puisque c'est pas pertinent ici.

- Oui, sur un disque dur, les numéros de secteurs logique correspondent grosso modo à l'emplacement physique des secteurs (en ignorant les secteurs réservés pour ré-allouer les secteurs défectueux et autres), parce qu'il n'y a jamais eu besoin de faire autrement. Et ça a pour effet secondaire, comme tu le dis, que les données écrites sur les premiers numéros de secteurs logiques ont un débit plus important que celle à la fin.

D'ailleurs, l'adressage utilisé par les systèmes modernes s'appelle LBA, pour *Logical* Block Addressing ;)

- La défragmentation c'est du software, ça agit sur les numéros de secteurs logique (c'est tout ce que le software connait).

Une recherche sur Google avec les termes "wear leveling partition" (par exemple) te donnera plein d'autres références, qui confirme mes dires :chinois:

Lien vers le commentaire
Partager sur d’autres sites

  • 4 semaines après...

Bon, pas de defragmentation sur SDD alors :D

Je m'intérroge aussi, 64Go serait-il suffisant pour le systéme et quelques soft tout en conservant la durée de vie ?

J'ai dans ma balance Seagate 7200.14,64mo SATA III. Contre un Samsung 830 64Go. Quitte a prendre plus tard un disque green pour les datas.

Mon premier point d'interrogation concerne la maturité de cette technologie et sa fiabilité dans la durée contre une technologie de disque dur aujourd'hui super-fiable.

Question complémentaire : Un réglage particulier dans le bios pour optimiser le fonctionnement d'un SDD ? Serait-ce bien orthodoxe ?

Lien vers le commentaire
Partager sur d’autres sites

- Le partitionnement, c'est pas physique, c'est logique,

Je n'ai jamais dit le contraire, le partitionnement est bien une méthode logique de gérer des emplacements physiques.

Le SSD ne sait pas ce qu'est le MBR, et il s'en tamponne royalement. Il ne fait que dire à l'OS "salut je suis un SSD j'ai XXXX secteurs de 4096 octets chacun" et l'OS fait que lui dire "écrit ça dans le secteur N°42, va lire le secteur N°1337, etc.".

Heureusement qu'un ssd a un programme un peu plus complexe que ça. Pour preuve l'évolution des contrôleurs, et les MàJ de firmwares.

De toute façon, si les secteurs utilisés par l'OS correspondait aux emplacements physique des cellules mémoires, le wear leveling ne pourrait de toute façon pas fonctionner et ce même avec une seule partition. Il n'y aurait aucun moyen pour le contrôleur du SSD d'équilibrer l'écriture des cellules mémoires : si j'écris toujours au même endroit, ça va toujours sur les mêmes cellules ! Ça serait au système de fichier de l'OS de faire le travail de wear leveling (et dans ce cas précis, effectivement ça serait par partition), mais ce n'est pas le cas.

L'OS n'utilise que l'index, si lors d'un changement d'implantation physique tu mets à jour l'index. L'objet recherché sera toujours au bon endroit. Le travail du wear leveling étant justement d'éviter d'écrire sur les blocs les plus utilisés.

Peu importe qu'il soit confiné sur une plage donnée, de cellules physique. Qui de toute façon est au maximum donnée par la structure même du ssd.

- Sur un SSD, une page (ce que j'appelle cellule) est la plus petite unité d'allocation (comme un secteur sur un disque dur), et doit être effacée avant d'être réécrite. Cependant on ne peut pas effacer une seule page, faut effacer tout un bloc (qui contient plusieurs pages). C'est un point que j'ai volontairement écarté pour simplifier les choses puisque c'est pas pertinent ici.

Non c'est l'inverse, plus petite unité le bloc. Ils sont regroupés en pages.

D'ailleurs, l'adressage utilisé par les systèmes modernes s'appelle LBA, pour *Logical* Block Addressing ;)

M'enfin c'est pas nouveau le LBA, ce fut introduit avec les disques scsi... Inutile de dire que ça date de bien avant l'invention du ssd. Ce terme ne signifie donc pas grand chose pour la méthode de gestion des partititons.

- La défragmentation c'est du software, ça agit sur les numéros de secteurs logique (c'est tout ce que le software connait).[

Pas d'accord, la fragmentation vient justement des écritures qui se font en ligne sur les blocs libres. Cela finti par faire des trous (effacements des données), et de voir les gros fichiers écrits à plusieurs emplacements physiques. Les ré-écrire en un seul bloc, diminue le temps d'accès des têtes, c'est le but de la défragmentation.

Totalement inutile sur un SSD, puisque le temps d'accès est quasi nul. D'ailleurs Windows désactive automatiquement la défragmentation des ssd.

Une recherche sur Google avec les termes "wear leveling partition" (par exemple) te donnera plein d'autres références, qui confirme mes dires :chinois:

Comme dit précédement rien de toruvé expliquant clairement, que les partitions s'adressent ou pas à des emplacements physiques comme sur un HDD.

C'est là le vrai point qui me chifonne. Le reste on peut en débattre, mais cela n'apporte pas grand chose, tout du moins en terme de perfs à long terme.

La seule solution comme je disais, serait de prendre deux ssd. Un partitionné un autre non.

De leurs coller des cycles d'écritures, et de mesurer les perfs au bout d'un moment.

Là il en ressortirait l'efficacité du wear leveling dans ces deux conditions.

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...