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. _______________________________________________ gull mailing list [email protected] https://forum.linux-gull.ch/mailman/listinfo/gull
