Channel sharing on PCI-e SATA Conrollers (Asmedia 1061 & Marvell 9215)

  • I'm trying to add two drives to my current setup. I've had some issues with this, and was wondering if its due to having more than one drive per channel on the add-on SATA Controller? Both controllers I tried seem be supported by the kernel, and I didn't do any manual configuration...


    I first tried a Mini PCI-e Controller (Syba SD-MPE40056 w/Asmedia 1061) that I had left over from an appliance build. I understand this is a single channel/single lane controller, although I admit I'm a bit murky on the technical definition of a "Channel" in this instance. The drives were recognized, but I couldn't create file systems from within the Web UI. I was able to create them Command Line via SSH, and then mount them in the Web UI. But, when I tried some test transfers I got numerous write errors and one of the two drives always "disappeared" after a few minutes. Both drives started registering SMART errors in the Ultra DMA CRC Error Count attribute. I understand this can be due to cabling, so I tried several other cables with the same result. Running with just one drive on either port did work.


    I removed the first controller and tried a four port PCI-e x1 Controller (Syba SI-PEX40064 w/Marvell 9215). I understand this is a 2 Channel/Single lane controller. Both drives were recognized, and I was able to create file systems with the Web UI. When I tried test transfers, I again got numerous write errors, and SMART errors for Ultra DMA CRC Error Count. As installed, I had the drives on Ports 3 & 4, with Ports 1 and 2 unused. During troubleshooting, I tried the cables on Ports 1 & 4, & all the issues stopped. I assume this put the drives on separate channels?




    So, while I no longer have issues, I don't know why for sure. I'd like to figure it out though, in case I want/need to add drives to the two remaining ports.



    I assume its one of three things. If anyone has advice on which it is, or if its something else entirely, I'd appreciate it...


    1. I may have got two defective controllers (which I think isn't likely, but I can deal with)
    2. What I originally tried won't work on Debian Jessie without additional configuration over and above what gets set-up by default (in which case I'd like to figure out what that is!)
    3. It's just suddenly working (which would be disconcerting, since it could just stop working again!)


    Thanks!


    System: Intel DN2800MT, OMV 3.0.99 on 16GB USB DOM, 4x1TB drives (mixed brands; 3 data and 1 parity), UnionFS and Snapraid plugins, 4GB RAM

  • I would stop creating theories and look at the basics first.


    Facts: Internal SATA connectors are rated for 50 matings maximum, cheap stuff stops to work way earlier. A cheap cable can scratch the gold plates on the connectors so that's the first thing I would check.


    If you get an increased SMART attribute 199 then there's something wrong on the data path between SATA controller (on the mPCIe card) and the disk device. So only PCB traces, SATA connectors and SATA cables remain. And underpowering and overheating of course.


    Do some load tests with the ASM1061 and touch the chip carefully (it might hurt).

  • My experiences with an ASM1061 mPCIe card last year: https://forum.armbian.com/topi…findComment&comment=37740 (it's the same card as yours based on the pictures)


    It started fine, then disconnects happened and SMART attribute 199 started to increase. In the meantime I don't use the ASM1061 mPCIe card any more since not able to reliably attach any disk. Lesson learned: Buy cheap, buy twice.

  • If this could help, I bought this one and it is working fine with solid perf...


    https://www.amazon.fr/dp/B0095…_3044141_189395771_TE_dp_


    Just move the switch if you want to use the internal SATA ports as the external ports are the default used.

    Lian Li PC-V354 (with Be Quiet! Silent Wings 3 fans)
    ASRock Rack x470D4U | AMD Ryzen 5 3600 | Crucial 16GB DDR4 2666MHz ECC | Intel x550T2 10Gb NIC

    1 x ADATA 8200 Pro 256MB NVMe for System/Caches/Logs/Downloads
    5 x Western Digital 10To HDD in RAID 6 for Datas
    1 x Western Digital 2To HDD for Backups

    Powered by OMV v5.6.26 & Linux kernel 5.10.x

  • I would stop creating theories and look at the basics first.


    Facts: Internal SATA connectors are rated for 50 matings maximum, cheap stuff stops to work way earlier. A cheap cable can scratch the gold plates on the connectors so that's the first thing I would check.

    Well, I did say it could be something else! I'd read another post from you some time back about internal SATA, and since then I keep a supply of new cables on hand. So, all the cables were new, and first use on the controllers. As you mentioned, the chips got very hot under load.


    Lesson learned: Buy cheap, buy twice.

    So true, yet I somehow keep having to relearn it over and over again.


    If this could help, I bought this one and it is working fine with solid perf...

    Thank you for the suggestion. Reading the reviews on that product were what gave me the idea that perhaps only two ports on my own card would be usable by default. If my current solution doesn't remain stable, I may try this one.

  • Reading the reviews on that product were what gave me the idea that perhaps only two ports on my own card would be usable by default

    Nope. The card @sbocquet recommends is just another ASM1061 with a switch to route the two SATA data lines to either external eSATA or internal SATA ports. Your Marvell 88SE9215 based card supports 4 SATA disks (simply check again my link to Armbian forum).


    I applied pretty fast a large heatsink on the ASM1061 but due to the contact issues I use the ASM1061 not any more anyway...

  • In case someone comes across this via Google, I thought I'd wrap it up. The issue wasn't with the SATA controller(s), it was insufficient power to the drives.


    Motherboards with onboard power conversion (that use a laptop style power brick) usually have a 15 pin SATA power connector for drives. Intel says the connector for my DN2800MT provides up to 30.7 watts, and specifies the use of Slim optical and 2.5" Disk drives. Since these are all 5 volt devices, I mistakenly assumed I had 30.7 Watts @5 volts to work with. In turns out the power connector only provides 12.5 watts at 5 Volts, with the remainder spread between 12 volts and 3.3 volts (for the mSATA connector multiplexed into one of the regular SATA ports).


    So, 12.5 watts was enough for the 2 drives I started with, but when I increased it to 4 it wasn't enough for sustained use, and I started getting errors and dropouts. Switching to a conventional power supply and powering the drives directly seems to have fixed all problems with the Marvell 9215 based controller. The cheap Asmedia based controller, on the other hand, still didn't work right...as @tkaiser notes above, "Lesson learned: Buy cheap, buy twice."

  • The issue wasn't with the SATA controller(s), it was insufficient power to the drives. ... I started getting errors and dropouts


    Thank you for the report. Such posts are important for other users to learn that issues that look like software are an awful lot of times just related to hardware problems like underpowering.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!