Gros plan sur le stockage : SATA

Lundi 15 juin 2009 à 18:00



Aujourd'hui, nous allons commencer une série d'actualité sur un domaine qui peut sembler connu, mais qui ne l'est pas nécessairement, les interfaces de stockage. Durant toute la semaine, nous allons parler des différentes interfaces et nous allons commencer par la plus connue et la plus utilisée, le SATA.

Le SATA, c'est quoi ?
Le SATA — pour S.erial AT Attachment — est une norme apparue en 2003 et destinée à remplacer l'interface PATA. Le SATA fait partie de la norme ATA-7 (on est en train actuellement de passer à la norme ATA-8) et existe en trois versions, en fonction de la vitesse du lien. Le S.erial ATA, comme son nom l'indique, travaille en série et limite donc le nombre de fils nécessaires. Là où une interface PATA nécessite 40 ou 80 fils, une connexion en SATA se contente de 7 fils : 4 pour les données et 3 pour la masse. Comme dans le cas de l'USB face au vénérable port parallèle, au lieu de travailler avec des fréquences moyennes sur un bus large, on travaille sur des fréquences élevées sur un bus étroit. Dans la pratique, le SATA, en fonction de la version de la norme, travaille à 750 MHz, 1,5 GHz ou 3 GHz.

SATA, SATA II, SATA 3 gigabits/s

Tordons le cou à une légende : il n'y a pas de SATA II, SATA 2, etc. Ces dénominations sont fausses et ne sont pas acceptées par l'organisme chargé de standardiser la norme. Il existe trois versions de la norme : le SATA 1,5 gigabit/s, le SATA 3 gigabits/s et le récent SATA 6 gigabits/s. Les trois versions utilisent le même câble et sont rétrocompatibles (dans une certaine mesure) : dans 99 % des cas, un disque dur SATA 3 gigabits/s doit fonctionner sur un contrôleur 1,5 gigabit/s, même si certains chipsets posent des problèmes dans ce cas précis. La norme SATA utilise un codage 10b8b pour les données, ce qui veut dire que 10 bits de données passent dans le câble pour 8 bits pratiques. Les débits sont donc, selon la version, de 150 Mo/s, 300 Mo/s et 600 Mo/s. Autre point à prendre en compte, on a ici affaire à une liaison point-à-point, c'est-à-dire que la bande passante est disponible pour chaque connecteur SATA (contrairement au PATA qui divise la bande passante). Attention tout de même, la bande passante est garantie entre le support de stockage et la carte mère, pas au-delà : si le lien entre le contrôleur et le système sature, la bande passante est limitée (par exemple avec une carte PCI à 133 Mo/s).

Câbles, connecteurs et variantes

Le SATA utilise un seul et même connecteur pour les données, doté de 7 fils et en forme de L (4 pour les données, 3 de masse). Par contre, pour l'alimentation du périphérique, on rencontre généralement trois prises : la première remplace le MOLEX classique et prend en charge le 3,3 V, le 5 V et le 12 V, la seconde, plus petite, est destinée aux lecteurs optiques de PC portables et se limite au 5 V et la dernière, connue sous le nom de microSATA, est prévue pour les disques durs 1,8 pouce et transporte une tension de 3,3 V et une de 5 V. Le hot-plug (débranchement à chaud), une possibilité de la norme, n'est permis qu'avec certains connecteurs : attention aux anciennes alimentations, qui ne prennent généralement pas en compte le problème.






Le support du SATA
Le SATA peut être pris en charge de plusieurs façons, mais on retrouve généralement trois techniques : via le chipset, via le bus PCI et via le bus PCI-Express. Dans le premier cas, le plus courant, c'est le southbridge qui prend en charge la norme. Chez Intel, leader dans le monde des chipsets, le SATA est supporté depuis l'ICH5, le SATA 3 gigabits/s depuis la version 7 et le mode actif de l'eSATA nécessite un récent ICH10. L'avantage de l'intégration vient qu'il y a peu de goulots d'étranglement et que le support logiciel est généralement bon, un mode compatibilité étant généralement présent pour limiter les problèmes. Le désavantage vient évidemment du fait que l'intégration dans un chipset prend un certain temps et donc une arrivée souvent tardive sur le marché. La seconde technique consiste à utiliser une carte PCI avec une puce provenant d'un constructeur comme Marvell ou JMicron, mais elle pose le problème de la limitation du bus à 133 Mo/s et elle n'est plus utilisée. Enfin, le PCI-Express est l'interface de choix actuelle et les puces externes utilisant ce bus sont légions. Attention tout de même, une carte à la norme SATA 6 gigabits/s doit au moins disposer d'un connecteur PCI-Express 4x pour fonctionner de façon optimale.

Les inconvénients



Le SATA a malgré tout quelques inconvénients. Le premier est physique, avec un connecteur de données assez fragile et prévu pour un usage assez faible : la norme recommande un connecteur qui peut être utilisé une centaine de fois, ce qui est finalement assez peu pour certains utilisateurs exigeants. Le second vient de la conception même de la carte mère : même si le lien entre le support et le contrôleur offre une grande bande passante, ce n'est pas toujours le cas entre le contrôleur et le reste du système. Le cas le plus simple est celui des cartes PCI, le SATA permet 150 Mo/s, le PCI seulement 133 Mo/s. Mais d'autres sont plus pernicieux : les southbridges Intel utilisent une liaison PCI-Express 4x entre l'ICH et le northbridge et en cas de saturation de ce lien (1 Go/s), les performances des disques durs peuvent baisser. C'est assez flagrant dans le cas de l'utilisation d'un CrossFire X si la seconde carte est liée au southbridge (sur P35, par exemple). Enfin, la norme SATA 3 gigabits/s a le défaut de limiter certains périphériques, comme les SSD, qui peuvent en théorie atteindre des débits nettement plus élevés, mais le SATA 6 gigabits/s arrive et les disques durs classiques ne saturent pas (dans 90 %) une simple interface SATA 1,5 gigabit/s.

Au final, comme on le voit, parler de l'interface SATA n'est pas simple et il y a beaucoup à dire. Cette série d'actualités continuera demain avec l'interface PATA et nous continuerons ensuite avec les interfaces professionnelles comme le SAS et le SCSI et enfin avec les dérivés de ces interfaces comme l'eSATA, la Compact Flash, etc.

AHCI et mode IDE
Un contrôleur SATA peut fonctionner dans deux modes : soit en compatibilité (souvent nommé IDE) soit en AHCI. Dans le premier, le disque est reconnu comme un disque dur PATA et accepte les mêmes commandes, ce qui permet d'utiliser un disque dur récent sur un ancien système. Dans le second, AHCI, des fonctions comme la possibilité de débrancher un disque dur à chaud et d'utiliser le NCQ (optimisation des mouvements des têtes) sont de la partie, mais un pilote est nécessaire. Sous Windows, passer d'un mode à l’autre est possible, mais pose généralement des problèmes et c'est donc à éviter. Notons que Windows XP nécessite toujours un pilote alors que Windows Vista (et 7) prend en charge directement le NCQ et l'AHCI.

source