PDA

Voir la version complète : Influence du nombre de plateaux sur les performances d'un disque dur



guicres
13/06/2009, 02h04
Je viens de lire un comparatif de disques durs (http://www.canardpc.com/dossier-69-9_disques_durs_de_1_to_et_2_ssd.html) sur le merveilleux site CanardPC.com (http://www.canardpc.com)

Sur la première page on peut lire:


Densité des plateaux : La densité correspond au nombre de bits de données stockés sur une surface donnée. Plus elle est grande, plus le débit du disque dur sera important à vitesse de rotation égale. Bien que cette information ne soit que très rarement indiquée, il est important de se renseigner lorsqu’on a à faire à un disque dur inconnu. En pratique, préférez par exemple un disque dur de 1 To doté de 2 plateaux de 500 Go plutôt qu’un autre qui serait équipé de 4 plateaux de 250 Go. Moins il y a de plateau à capacité égale, plus la densité est élevée.

Je ne comprends pas bien pourquoi à capacité égale, moins de plateaux donne plus de performances.
Je m'explique:
Les donnée sont stockées sur une surface (2 dimensions), mais la tête de lecture/écriture parcours une piste (1 dimension), donc lorsqu'on multiplie par un facteur n la quantité de données sur la surface, on multiplie la quantité de données sur une piste, donc la vitesse de lecture/écriture, par la racine carrée de n.
Par contre si on augmente le nombre de plateaux d'un facteur n, on devrait pouvoir multiplier la vitesse de lecture/écriture par n (comme dans un RAID 0), du moment que les données soient organisées intelligemment sur les différents plateaux (par exemple sur un disque à quatre plateaux donc 8 faces, un octet verrait chacun de ses bits sur une face différente).
Comme n est ici un entier supérieur à 1 (soyons rigoureux), augmenter le nombre de plateaux serait plus efficace, en termes de débits de données, qu'augmenter la densité des plateaux.
Si ce n'est pas le cas c'est que les différentes têtes de lecture/écriture ne peuvent pas fonctionner simultanément.

Quelqu'un connaîtrait-il la contrainte technique qui empêche les tête de lecture/écriture de fonctionner simultanément?

DJ_DaMS
13/06/2009, 09h34
Les têtes ne fonctionnent pas simultanément.
J'ai eut la confirmation d'un technique de chez Seagate cette semaine justement :)
Cela se faisait dans le temps, plus maintenant d'après lui.
Je ne connais pas la raison exacte du pourquoi, mais cela serait du au fait que cela compliquerait la base du design qui compose toute une gamme de disques (pour rappel, les bases mécanique et électronique sont souvent les mêmes, on fait juste évoluer le nombre de plateaux/tête, les firmware et les densités, et même les vitesses de rotation cfr les récents 2To à 5900rpm) Des versions à 3 ou 5 têtes (par exemple) ne se pretent pas bien au parallélisme.

Le_Renard_Polaire
15/06/2009, 00h38
Bonjour,

OK, plus de plateaux, ça pourrait donner plus de data qui passe à un instant t.

Mais si on considère pour une vitesse angulaire v fixe, un plateau de densité d, avec un nombre de plateaux n, il mettra autant de temps à passer l'information qu'un disque de densité 2d mais avec n/2 plateaux.

C'est oublier que le temps d'accès au bon cylindre joue, et qu'un disque accède rarement à ses données en mode séquentiel mais plutôt en mode 'je sers tout le monde en même temps'.

En séquentiel uniquement, c'est kif kif bourricot, pour un usage de disque de stockage c'est parfait (bien que plus de plateaux c'est aussi plus lourd, plus chaud, plus de risques de défaut...)

En mode aléatoire, par contre, c'est le jour et la nuit, car le temps de positionnement de la tête n'est plus négligeable du tout.

guicres
15/06/2009, 02h07
Mais si on considère pour une vitesse angulaire v fixe, un plateau de densité d, avec un nombre de plateaux n, il mettra autant de temps à passer l'information qu'un disque de densité 2d mais avec n/2 plateaux.
Comme je l'ai dit: si la densité surfacique est multipliée par 2, la densité linéaire (le long de la piste lors de la lecture/écriture) sera multipliée par la racine carrée de 2, donc le disque de densité 2d avec n/2 plateaux serait (racine de 2) fois plus lent que le disque de densité d avec n plateaux.



C'est oublier que le temps d'accès au bon cylindre joue, et qu'un disque accède rarement à ses données en mode séquentiel mais plutôt en mode 'je sers tout le monde en même temps'.
Je n'ai pas bien compris (pas du tout en fait :unsure:) ce que sont les modes "séquentiel" et "je sers tout le monde en même temps".
Mais il me semble que le temps d'accès devrait être le même que sur un seul plateau vu que les plateaux sont solidaires entre eux, de même que les têtes de lecture/écriture (je me trompe?)

En tout cas merci de vous creuser la tête avec moi :happy2:

newbie06
15/06/2009, 08h24
En plus des contraintes mecaniques, il y a surement un autre parametre qui joue : la partie analogique->numerique + le traitement numerique. Si on imagine que l'electronique est en gros taillee pour accepter le debit analogique d'une tete, il faudrait la doubler (ou tripler ou plus) si on veut traiter des flots de donnees en parallele. Et cela aurait un cout non negligeable (a la fois financier et en power).

Maintenant quant a savoir si a densite egale avoir moins de plateaux est meilleur, j'ai un doute. Y'a-t-il un bench qui le prouve ?

Yasko
15/06/2009, 11h54
Je n'ai pas bien compris (pas du tout en fait :unsure:) ce que sont les modes "séquentiel" et "je sers tout le monde en même temps".
Mais il me semble que le temps d'accès devrait être le même que sur un seul plateau vu que les plateaux sont solidaires entre eux, de même que les têtes de lecture/écriture (je me trompe?)

Accès séquentiel indique que les différentes données demandées sont voisines et peuvent être lues /écrites en un seul passage / une seule rotation de plateau. En accès aléatoire, les données sont réparties sur l'ensemble du disque (et donc sur l'ensemble des plateaux), ce qui oblige à activer la tête correspondant au plateau ou est stocké la donnée, puis positionner la tête à cet emplacement, puis attendre que la rotation du plateau fasse coïncider les 2.
La latence supplémentaire en accès "multi-plateau" dont tu parles est peut-être du au délai nécessaire pour basculer d'une tête à l'autre, bien qu'il doit au contraire être possible de tirer parti de la présence de plusieurs têtes (indépendamment du nombre de plateaux puisqu'on pourrait envisager plusieurs têtes par plateau). Si effectivement les disques actuels à plusieurs têtes ne font pas d'accès simultané, il doit être possible d'optimiser certaines choses, notamment en mode aléatoire (par exemple, positionnement de la tête inactive sur la prochaine donnée à lire pendant que l'autre tête effectue son accès). Les différents plateaux sont solidaires, mais pas les têtes je pense.

newbie06
15/06/2009, 11h56
Si effectivement les disques actuels à plusieurs têtes ne font pas d'accès simultané, il doit être possible d'optimiser certaines choses, notamment en mode aléatoire (par exemple, positionnement de la tête inactive sur la prochaine donnée à lire pendant que l'autre tête effectue son accès). Les différents plateaux sont solidaires, mais pas les têtes je pense.
Je pense au contraire qu'elles le sont...

Neo_13
15/06/2009, 12h04
Je pense au contraire qu'elles le sont...
Les tètes sont solidaires.

Yasko
15/06/2009, 13h55
Ah OK.
Effectivement, si les têtes sont solidaires, les accès simultanés sont impossibles (enfin, ont une probabilité de réalisation très faible).

Du coup, ca pourrait être une voie d'amélioration des HDD (ce ne sera pas de trop face aux SSD).
- Indépendance des têtes, pour gagner en latence (si données sur plateaux différents, ou alors mettre plusieurs têtes par plateaux)
- Puis accès parallèle, pour gagner en débit

newbie06
15/06/2009, 14h34
Si tu es pret a payer une fortune et a perdre en fiabilite... Ha tiens ca me rappelle les SSD ca :p

Yasko
15/06/2009, 14h57
Tss tss, c'est inhérent au progrès ça... :)

Foudge
15/06/2009, 16h03
Si tu es pret a payer une fortune et a perdre en fiabilite... Ha tiens ca me rappelle les SSD ca :pPourquoi pas puisque ce serait pour concurrencer les SSD (à tous les niveaux du coup :p) justement ?

newbie06
15/06/2009, 16h23
Ca ne diminuera pas suffisamment ce qui rend un SSD interesant : le temps d'acces.

Foudge
15/06/2009, 20h34
Pourtant, c'est ce qu'il semble se passer avec ce produit de DataSlide : plusieurs milliers de têtes de lecture/écriture (64 utilisables simultanément) avec des plateaux à 96 000tr/min (équivalence) :)
http://www.presence-pc.com/actualite/HRD-Dataslide-35276/#xtor=RSS-11

guicres
15/06/2009, 21h05
Effectivement, si les têtes sont solidaires, les accès simultanés sont impossibles (enfin, ont une probabilité de réalisation très faible).
Apparemment je ne me suis pas bien fait comprendre donc je vais préciser ma pensée:
Pour commencer, contentons-nous de l'accès simultané aux deux faces d'un plateau.
Pour être sûr d'augmenter les performances même sur un disque fragmenté, on pourrait par exemple couper chaque cluster en deux et écrire chaque moitié sur une face. Comme les têtes sont solidaires, lorsque l'une d'elles est positionnée sur une moitié de cluster, l'autre l'est automatiquement sur la deuxième moitié. Désolidariser les têtes devient totalement inutile avec cette méthode.
Dans le cas d'un disque à plusieurs plateaux, comme les plateaux sont aussi solidaires entre eux, on peut procéder de la même manière en découpant les clusters en plus de parties. (dans mon premier message j'avais carrément pris pour exemple des parties d'un seul bit)
D'un point de vue logique, l'ordinateur ne verrait qu'un seul plateau dont seulement une face serait utilisée, mais dont la densité serait multipliée par le nombre de faces réelles.

guicres
15/06/2009, 21h55
Maintenant quant a savoir si a densite egale avoir moins de plateaux est meilleur, j'ai un doute. Y'a-t-il un bench qui le prouve ?
Si par densité égale tu voulais dire capacité égale, je te renvoie au test de CanardPC (http://www.canardpc.com/dossier-69-900-comparatif_des_performances.html) (sinon c'est pas grave, ce qui suit ne sera pas forcément inutile).
Je me suis intéressé aux cas du disque "Hitachi Desktar 7K1000" (5 plateaux de 200Go) et du "Seagate Barracuda 7200.12" (2 plateaux de 500Go), tous les deux à 7200 tours/minute, et à leurs résultats au test "Lecture/Ecriture brutes".
Si on prend pour hypothèse que seule la densité de données influe sur le débit brut (puisqu'ils ont la même vitesse de rotation), alors le rapport des débits de ces deux disques doit être proche du rapport de leurs densités linéaires (le long de la piste), donc du rapport de la racine carrée de la capacité de chaque plateau (puisque qu'ils ont la même taille).
Ici:
Rapport des débits: 118,6/76,7 = 1,55
Rapport des densités: sqrt(500/200) = 1,58

Il semble donc bien que plus de plateaux n'apporte aucun avantage...
Et je ne comprends toujours pas pourquoi. :'(

Møgluglu
15/06/2009, 22h00
J'ai une idée.
On pourrait faire ça avec plusieurs disques classiques, en intercalant un contrôleur entre l'interface et les disques pour répartir des blocs sur plusieurs disques.
Ça permettrait de récupérer toute la mécanique des disques existants et ça coûterait pas cher. On pourrait même imaginer de rajouter de la redondance pour pas perdre de données en cas de crash d'un plateau.
On appellerait ça le RAID. :ninja:

newbie06
15/06/2009, 22h01
Je pense avoir bien expliqué mon hypothèse : limite de traitement du signal analogique.

guicres
15/06/2009, 22h05
Je pense avoir bien expliqué mon hypothèse : limite de traitement du signal analogique.
Apparemment ça ne gêne pas tout le monde:

Pourtant, c'est ce qu'il semble se passer avec ce produit de DataSlide : plusieurs milliers de têtes de lecture/écriture (64 utilisables simultanément) avec des plateaux à 96 000tr/min (équivalence) :)
http://www.presence-pc.com/actualite/HRD-Dataslide-35276/#xtor=RSS-11
Mais peut-être que ça revient très cher?

newbie06
15/06/2009, 22h17
Evidemment c'est une question de prix, je l'ai dit au-dessus ;)

Neo_13
15/06/2009, 22h22
Ne pas oublier les questions de tolérances géométriques (désolé de pas parler comme un informaticien) qui sont ultra la merde et dont la complexité augmente de façon considérable à chaque tete en plus.

Foudge
15/06/2009, 22h31
D'un autre côté, les têtes de DataSlide doivent couter moins chères car fixes. Et vu leur nombre (plusieurs milliers), le cout unitaire doit même être très faible.
Ce qui ne veut pas dire que le cout du produit complet soit faible :p
Mais là DataSlide a réussi à augmenter les débits et les temps d'accès des HDD de manière astucieuse pour arriver au niveau des SSD. Reste à voir à quel prix :o

guicres
15/06/2009, 22h39
Les disques durs actuels ont déjà plusieurs têtes, c'est juste qu'ils ne les utilisent pas simultanément.
Ce n'est donc pas dans la multiplication des têtes que se pose le problème mais dans l'électronique il me semble. Là-dessus je suis plutôt d'accord avec newbie06.
Mais le DataSlide semble avoir une électronique capable de gérer bien plus de têtes en simultanée que n'en possèdent les disques durs actuels, et d'après ce qu'ils disent pour pas trop cher.
Reste à savoir si ce "pas trop cher" est réaliste, ou juste une annonce pleine d'espoir...

Yasko
15/06/2009, 22h46
Apparemment je ne me suis pas bien fait comprendre donc je vais préciser ma pensée:
Pour commencer, contentons-nous de l'accès simultané aux deux faces d'un plateau.
Pour être sûr d'augmenter les performances même sur un disque fragmenté, on pourrait par exemple couper chaque cluster en deux et écrire chaque moitié sur une face. Comme les têtes sont solidaires, lorsque l'une d'elles est positionnée sur une moitié de cluster, l'autre l'est automatiquement sur la deuxième moitié. Désolidariser les têtes devient totalement inutile avec cette méthode.
Dans le cas d'un disque à plusieurs plateaux, comme les plateaux sont aussi solidaires entre eux, on peut procéder de la même manière en découpant les clusters en plus de parties. (dans mon premier message j'avais carrément pris pour exemple des parties d'un seul bit)
D'un point de vue logique, l'ordinateur ne verrait qu'un seul plateau dont seulement une face serait utilisée, mais dont la densité serait multipliée par le nombre de faces réelles.

OK, j'avais effectivement lu trop vite ton 1er post.
Pour ce qui est de "désolidariser les têtes devient totalement inutile avec cette méthode", tu vas effectivement gagner en débit, mais pas en latence, ce que permettrait une indépendance des têtes.

hellsing
16/06/2009, 09h00
Apparemment je ne me suis pas bien fait comprendre donc je vais préciser ma pensée:
Pour commencer, contentons-nous de l'accès simultané aux deux faces d'un plateau.
Pour être sûr d'augmenter les performances même sur un disque fragmenté, on pourrait par exemple couper chaque cluster en deux et écrire chaque moitié sur une face. Comme les têtes sont solidaires, lorsque l'une d'elles est positionnée sur une moitié de cluster, l'autre l'est automatiquement sur la deuxième moitié. Désolidariser les têtes devient totalement inutile avec cette méthode.
.
Il me semble bien que avec l'arrivée du P-recording ça marche plus comme ça, les données étant enregistrées verticalement.

Neo_13
16/06/2009, 10h36
Il me semble bien que avec l'arrivée du P-recording ça marche plus comme ça, les données étant enregistrées verticalement.
Euh, verticalement à l'echelle d'un enregistrement magnétique, ça peut vouloir dire 20nm (avec les joujous que j'avais au labo ya encore pas si longtemps, je pense que même 2nm devrait suffire...). Disons qu'ici, par manque d'azote liquide, ce sera quelques microns. Rien, par rapport au 1mm du plateau entre les 2couches.

guicres
03/12/2010, 16h42
Petite théorie personnelle (ça continue à me tracasser):
Peut-être que certaines pièces se déforment légèrement sous l'effet de la chaleur, de façon hétérogène, ce qui fait que les têtes ne sont pas toujours exactement au-dessus des mêmes secteurs en même temps...