Un périphérique bloc sous linux apparaît comme ayant des secteurs de 512 octets, ce n'est pas pour être "vaguement compatible" (comme écrit en dessous), c'est parce que c'est le _fondement_ même d'un périphérique de type bloc ! Tout le système des block io de linux et des autres OS est basé sur cette assomption.
Oui, mais ce n'est pas vraiment adapté aux SSD (qui ont généralement des pages de 2K ou plus)... C'est pour ça que j'ai dit "vaguement compatible", car ils ont choisi de les montrer comme des périphériques de type bloc car certains OS ne connaissent pas autre chose et comme ça, la diffusion des SSD se fait mieux, même si ça oblige à avoir des FTL qui font des trucs de psychopathes derrière ton dos.
Pour tes valeurs d'erase block, de taille de page et autre, tu dis du "vachement souvent" ou "normalement" : déjà, la quasi totalité des constructeurs ne communiquent pas dessus, et les seuls que j'ai pu voir étaient tous différents.
Il y en a beaucoup, mais ça reste dénombrable : 512 pour les petites capacités, puis 2k, 4k ou 16k selon le type de Flash (MLC ou SLC), la capacité et le fabricant (comment ça c'est le bordel ?). Mais c'est vrai qu'avec l'interface bloc il n'y a aucun moyen de remonter des infos comme ça ("youhou, j'utilise des pages de 2k et des erase blocks de 128k"), et je suis pas sûr que ça va mieux marcher si on fait des suppositions hasardeuses ("bon allez, on considère qu'ils ont tous des pages de 4k")...
D'un autre côté, si on pousse un peu le raisonnement, on s'en fout un peu : considérer les SSD d'après les caractéristiques de la mémoire Flash utilisée est une simplification un peu rapide et risquée, étant donné que tout passe par la FTL, qui est fermée, non documentée, et qui fait ce que bon lui semble (rien que les premières générations de SSD qui ont des perfs immondes lors d'IO en parallèle alors qu'ils sont composés de plusieurs puces Flash, donc en théorie plusieurs accès concurrents possibles...).
Et de toute façon, comment sais-tu de quelle façon va gérer la FTL derrière ?
Je ne veux pas prendre leur défense, mais sur le coup, _personne_ ne sait ce que font les FTL (bon, ok, les gens qui les codent, et c'est tout). On peut avoir plusieurs indications en lisant les brevets déposés (beurk, indigestes) ou les quelques articles ou papiers qui parlent des FTL (BAST, FAST, STAFF, DFTL, SuperBlock...), mais une nouvelle fois, rien n'indique qu'ils sont implantés...
[^] # Re: Je ris, mais c'est sûrement pas drôle.
Posté par mr_pouit . En réponse au journal Unified Flash File System. Évalué à 2.
Oui, mais ce n'est pas vraiment adapté aux SSD (qui ont généralement des pages de 2K ou plus)... C'est pour ça que j'ai dit "vaguement compatible", car ils ont choisi de les montrer comme des périphériques de type bloc car certains OS ne connaissent pas autre chose et comme ça, la diffusion des SSD se fait mieux, même si ça oblige à avoir des FTL qui font des trucs de psychopathes derrière ton dos.
Pour tes valeurs d'erase block, de taille de page et autre, tu dis du "vachement souvent" ou "normalement" : déjà, la quasi totalité des constructeurs ne communiquent pas dessus, et les seuls que j'ai pu voir étaient tous différents.
Il y en a beaucoup, mais ça reste dénombrable : 512 pour les petites capacités, puis 2k, 4k ou 16k selon le type de Flash (MLC ou SLC), la capacité et le fabricant (comment ça c'est le bordel ?). Mais c'est vrai qu'avec l'interface bloc il n'y a aucun moyen de remonter des infos comme ça ("youhou, j'utilise des pages de 2k et des erase blocks de 128k"), et je suis pas sûr que ça va mieux marcher si on fait des suppositions hasardeuses ("bon allez, on considère qu'ils ont tous des pages de 4k")...
D'un autre côté, si on pousse un peu le raisonnement, on s'en fout un peu : considérer les SSD d'après les caractéristiques de la mémoire Flash utilisée est une simplification un peu rapide et risquée, étant donné que tout passe par la FTL, qui est fermée, non documentée, et qui fait ce que bon lui semble (rien que les premières générations de SSD qui ont des perfs immondes lors d'IO en parallèle alors qu'ils sont composés de plusieurs puces Flash, donc en théorie plusieurs accès concurrents possibles...).
Et de toute façon, comment sais-tu de quelle façon va gérer la FTL derrière ?
Je ne veux pas prendre leur défense, mais sur le coup, _personne_ ne sait ce que font les FTL (bon, ok, les gens qui les codent, et c'est tout). On peut avoir plusieurs indications en lisant les brevets déposés (beurk, indigestes) ou les quelques articles ou papiers qui parlent des FTL (BAST, FAST, STAFF, DFTL, SuperBlock...), mais une nouvelle fois, rien n'indique qu'ils sont implantés...