[gull] RAID 1 + LVM (ex: RAID 10)

Marc SCHAEFER schaefer at alphanet.ch
Tue Nov 5 09:48:42 CET 2019


On Mon, Nov 04, 2019 at 07:54:10PM +0100, Daniel Cordey wrote:
> Néanmoins, et tu le sais aussi bien que moi, le protocole ATA/SATA n'est pas
> vraiment asynchrone comme le SAS (qui est basé sur SCSI).

Ce qui n'est pas nécessaire, si tu ne mets qu'un périphérique par bus, ce qui
est le cas en général, je cite: "For one, SATA drives each have their own independent bus,"
so there is no competition for bandwidth like there is with Parallel ATA." [1]

A nouveau, les différents connecteurs SATA d'une carte-mère ne sont que des
liaisons point à point. Le protocole de base SATA *ne supporte pas* plus
d'un périphérique par bus.  A la différence du SPI (SCSI Parallel Interface)
et du FibreChannel, qui le font de manière efficace grâce à la déconnexion
reconnexion ou les trames FibreChannel.

Tu peux voir le SATA comme du gaspillage, mais tu peux aussi voir ça
comme une simplification du protocole (comme le `bus' USB qui comme il
a un maître simplifie les transferts isochrones, plus compliqués
à faire dans un système plat comme le SPI ou Ethernet où chaque).

Il existe certes une extension SATA qui permet pour des raisons de volume
de brancher plus d'un périphérique sur le bus SATA, que je n'ai jamais
expérimentée (port multiplier), et qui n'est pas supporté par tous les
chipsets ou périphériques. Le port multiplier est un périphérique
supplémentaire dont les fonctions ressemblent à un hub et qui multiplexe
les périphérique derrière lui.

En consultant le seul exemple simple de chipset SATA que j'ai trouvé [2],
on voit bien que le mode normal est un périphérique par bus, et qu'il
n'y a pas d'autre possibilité sans port multiplier. Je suppose donc,
sans l'avoir confirmé, qu'un chipset SATA d'une carte-mère PC est
en fait un ensemble de plusieurs contrôleurs SATA, chacun sur sa propre
liaison point-à-point vers un seul périphérique, mais commandés
indépendamment via un multiplexe PCI/PCI-x. N'ayant jamais programmé
ce genre de chip, je m'arrête là.

Ensuite, tu as raison de mentionner que l'interconnexion entre le ou les
chips SATA au bus mémoire via DMA et aux I/O CPU est fondamentale pour la
performance.  Toutefois, mes mesures montrent qu'avec les vitesses de
SSD bas de gamme et sur une carte-mère moyenne gamme de 2016, on n'arrive
pas aux limites de saturation du bus PCI-x (l'augmentation de performance
du RAID0 est proportionnelle au nombre de disques et à la vitesse individuelle).

Le SATA est extrêmement performant, dû à son design gaspillant.

[1] https://techterms.com/definition/sata
[2] http://www.ti.com/lit/ug/sprugj8c/sprugj8c.pdf
    page 10 pour les schémas, page 14 pour le point à point et le
    point à multipoint; ce chipset ne supporte que le AHCI.


More information about the gull mailing list