Différence de performances SAS vs SATA?

16

Impossible de trouver ça n'importe où.

Quelle est la différence de performances attendue dans un scénario de backend de stockage fortement parallélisé dans l'accès (comme un SAN, un stockage hôte de virtualisation, etc.) entre SAS et SATA, toutes choses étant égales par ailleurs?

Je pense que cela se résume à l'impact de NCQ (limite de commande de 32) à la limite de commande exceptionnelle beaucoup plus élevée des disques SAS.

Nous envisageons de remplacer certains disques et avons la possibilité d'opter pour SAS ou SATA - tout le reste est en place - et je recherche une évaluation du point de vue des performances. Veuillez ignorer tous les autres problèmes (fiabilité, etc.) - Je m'interroge uniquement sur l'impact que SAS aura sur des disques similaires similaires (RPM, etc. étant égaux). Les disques que nous avons en tête peuvent être commandés avec les deux connecteurs et - il y a une idée ici d'utiliser SATA pour une réutilisation apossible plus tard. La différence de prix n'est pas vraiment élevée, mais cela m'a fait réfléchir sur l'impact sur les performances ...

TomTom
la source
2
Ce n'est pas comme si vous demandiez "Toutes choses étant égales par ailleurs" car les différences entre SAS et SATA suffisent pour que les choses ... ne soient pas égales.
Mark Henderson
@MarkHenderson La réalité est - toutes les autres choses peuvent être égales. Seagate propose certains disques avec une connectivité SAS ou SATA, donc tous les autres paramètres (mémoire cache, vitesse de rotation, vitesse de déplacement des pièces mobiles) sont égaux, tout se résume aux problèmes du protocole SAS / SATA.
TomTom
Je pense que vous auriez à comparer les disques spécifiques sous votre charge de travail spécifique pour être absolument sûr - peut-être pouvez-vous obtenir quelques disques de chacun, comparer et le poster ici?
Andrew
@Andrew Ouais, comme si j'étais le seul à l'avoir fait. Je me souviens (légèrement) une fois qu'on m'avait dit d'attendre environ 50% d'IOPS de plus en raison de sérieuses longueurs de file d'attente possibles dans SAS (mais pas SATA) sous une charge parallèle lourde (donc une longue longueur de gueue se produit réellement). Manque juste toute sorte de référence.
TomTom
1
Envisagez-vous un SAS nearline à 7,2k tr / min, ou un vrai SATA?
Basil

Réponses:

11

Oui, l'ensemble de commandes étendu du SCSI est un gros bonus de son utilisation sur SATA. du Wiki de SAS :

SATA utilise un jeu de commandes basé sur le jeu de commandes ATA parallèle, puis étendu au-delà de cet ensemble pour inclure des fonctionnalités telles que la mise en file d'attente de commandes native, le branchement à chaud et TRIM. SAS utilise le jeu de commandes SCSI, qui comprend un éventail plus large de fonctionnalités telles que la récupération d'erreurs, les réservations et la récupération de blocs. L'ATA de base a des commandes uniquement pour le stockage à accès direct. Cependant, les commandes SCSI peuvent être tunnelisées via ATAPI [2] pour des périphériques tels que les lecteurs de CD / DVD.

Les commandes de récupération d'erreur et les commandes de récupération de bloc sont essentielles pour l'intégrité des données, SMART est vraiment destiné aux équipements grand public.

De plus, SAS utilise une tension de signalisation plus élevée, ce qui permet des câbles plus longs que ceux de SATA. C'est important lorsque vous essayez de câbler du stockage supplémentaire à un SAN existant.

Vous avez imité NCQ, mais SCSI utilise TCQ à la place, qui peut être utilisé dans trois modes différents, mais l'imo bonus le plus important en ce qui concerne les configurations parallélisées est la possibilité d'envoyer jusqu'à 2 ^ 64 commandes avant de remplir la file d'attente. Les protocoles comme iSCSI et Fibre Channel limitent cela pour le moment, mais la capacité est là pour une utilisation future.

Je ne peux que répondre à cette partie, car je ne sais pas si aller avec SAS pour quelques nouveaux disques vous donnera le même avantage d'une configuration purement SAS.

MDMoore313
la source
Certaines des fonctionnalités de récupération d'erreur se propagent dans ATA, certains lecteurs prenant désormais en charge TLER (bien que je ne pense pas qu'il existe de commande standardisée dans ATA pour configurer le délai d'erreur, comme dans SCSI).
Chris S
2

C'est une réponse tardive, mais je voudrais ajouter mon opinion.

Du point de vue de la vitesse pure, un lecteur nearline (comme ceux considérés par OP) fonctionnera pratiquement de la même manière en utilisant l'interface SATA ou l'interface SAS. Malgré la NCQ beaucoup plus faible ( 31 entrées plutôt que TCQ 64K), cette file d'attente matérielle limitée est suffisante, lorsqu'elle est augmentée avec la file d'attente IO basée sur un logiciel beaucoup plus profonde, pour extraire presque le même IOPS qui peut être obtenu en utilisant TCQ basé sur SAS .

Quoi qu'il en soit, cela ne signifie pas que SAS n'a aucun avantage pratique:

  • un bien meilleur support pour les expandeurs
  • prise en charge de l'interface à double liaison
  • fonctionnement en duplex intégral
  • débit de signalisation maximal beaucoup plus rapide (12 Gb / s vs 6 Gb / s)

Cependant, lorsque l'on considère les performances seules, la triste réalité est que les valeurs IOPS aléatoires du disque mécanique sont si faibles que l'interface n'a presque aucun impact, à l'exception des énormes baies de disques où cela peut parfois limiter votre taux de transfert d'E / S séquentiel. En raison de la façon dont ils prennent en compte le retard de rotation (qui est caché au système d'exploitation), la fonctionnalité d'amélioration des performances est le NCQ / TCQ, et la mise en œuvre SATA est suffisamment bonne pour cela.

Des différences plus importantes apparaissent lorsque l'on considère les disques SAS haut de gamme, qui offrent non seulement des disques à plus haut RPM (10K et 15K), mais ont des technologies intéressantes de coalescence d'écriture (par exemple: la technologie de cache multimédia HGST) qui, soit dit en passant, sont lentement débordement dans les disques SATA d'entreprise également.

1 https://ata.wiki.kernel.org/index.php/Libata_FAQ :

Cependant, la norme ATA présente un défaut de conception. La balise NCQ est présumée être un bitmap 32 bits (dword 32 bits). Si les 32 balises sont affirmées, cela produit une valeur (0xffffffff) qui est la même valeur renvoyée par la lecture d'un registre matériel après que le matériel a été débranché à chaud, ou subit une défaillance majeure. Ainsi, pour distinguer cette condition, libata limite artificiellement toutes les configurations NCQ à 31 balises plutôt qu'à 32.

shodanshok
la source
Bonne réponse. Nous sommes depuis passés au SSD SATA (dans un fond de panier SAS) - qui SONT en fait LIMITÉS en bande passante;) Mais merci, je m'attendais à ce que vous disiez.
TomTom
Oui, les SSD sont des bêtes différentes;)
shodanshok
1

Ancien article, mais je voulais le mettre à jour car je ne vois jamais de mention de la différence la plus importante en termes de performances, à savoir que SATA n'est que semi-duplex. Attendez-vous à une énorme différence de performances sous de lourdes charges avec un mélange de lecture / écriture. Certainement pas adapté au SAN ou à la virtualisation IMO.

Bien sûr, comme indiqué ci-dessus, il existe d'autres avantages avec SAS. De nos jours, les disques NL-SAS ne peuvent pas avoir plus que SATA.

Nathan K
la source