DieterBSD

Member
  • Content Count

    11
  • Joined

  • Last visited

Community Reputation

0 Neutral

About DieterBSD

  • Rank
    Member
  1. Kremmen writes: >> The thing that amazes me is that converters (when they work) are >> much faster than SATA controllers. e.g. For the drive I mentioned >> above, 80MB/s with a converter, 63MB/s on a Sil3114-based 4-port >> controller and 60MB/s on a VT6421A-based SATA/IDE controller. >> (measured by hdparm under Linux) Spod writes: > I'd guess that the IDE controller built into the motherboard chipset > had more bandwidth available to the northbridge and CPU/RAM than the > early SATA controllers (even the ones soldered to the motherboard) > that would have shared the PCI bus with every other external chip and > PCI device. The bandwidth available is one potential bottleneck, but is not the only one. Some controllers are just slow. The Sil3114 is first generation and is known to be slow. The second generation (3124, 3132) is faster. Reading from the disk's RAM buffer: 121 MB/s (SiI 3132 PCIe-x1) 164 MB/s (JMB 363 PCIe-x1) 253 MB/s (nforce4-ultra chipset) If the PCIe-x1 connection were the only bottleneck, the SiI 3132 and JMB 363 should achieve approx 250 MB/s. And the nforce chipset should be able to achieve approx 300 MB/s. (In fairness, it might be the drive's limit rather than the nforce.) Source code for the test program I used is here: Real world transfer rates are of course lower than these numbers, I wanted to see what the limits were. -------- When I had a PATA-SATA bridge installed, it connected at 100, and read fine at 100, but got write errors. I had to downgrade the speed from 100 to 66 to get rid of the write errors. Yes I had the correct length 80 wire cable.
  2. DieterBSD

    SATA port multiplier recommendations?

    The attach file thingy didn't work. [ code] /* * read_disk_cache_speed.c * * Read data from a disk's RAM cache buffer. * Useful for testing controller speed without the limitation * of how fast the disk can read data from the platters. * * Syntax: read_disk_cache_speed device readsize iterations * FreeBSD: * read_disk_cache_speed /dev/ad4 65536 10000 * NetBSD: * read_disk_cache_speed /dev/rwd0c 65536 10000 * * Original program was by: * Manuel Bouyer <bouyer@antioche.eu.org> * NetBSD: 26 ans d'experience feront toujours la difference * Updated by: * Dieter <dieterbsd@engineer.com> * Added command line argument for buffer/read size. * (originally hard coded at 64 KiB) * */ #include <fcntl.h> #include <unistd.h> #include <sys/time.h> #include <stdio.h> #include <stdlib.h> int main(int argc, char **argv) { int fd; /* file descriptor */ int i; /* loop counter */ struct timeval tv0, tv1; long t; /* elapsed time */ char *buffer; long buffer_size; if ( argc != 4 ) { fprintf(stderr, "Syntax: %s device readsize iterations\n", argv[0]); exit(1); } buffer_size = atoi(argv[2]); buffer = malloc(buffer_size); if ( buffer == NULL ) { perror("malloc failed"); exit(1); } fd = open(argv[1], O_RDONLY, 0); if (fd < 0) { perror("open failed"); exit(1); } if (gettimeofday(&tv0, NULL) < 0) { perror("gettimeofday"); exit(1); } for (i = 0; i < atoi(argv[3]); i++) { if (read(fd, (void *)buffer, buffer_size) != buffer_size) { perror("read"); exit(1); } if (lseek(fd, 0, SEEK_SET) < 0) { perror("seek"); exit(1); } } if (gettimeofday(&tv1, NULL) < 0) { perror("gettimeofday"); exit(1); } t = (tv1.tv_sec - tv0.tv_sec) * 1000000; t = t + tv1.tv_usec - tv0.tv_usec; printf("%ld us, %f MB/s\n", t, ((double)buffer_size * (double)i / 1000000) / ((double)t / 1000000)); exit(0); } [/code] It would be nice if the code tag actually preserved the formatting. Oh well.
  3. DieterBSD

    SATA port multiplier recommendations?

    > I did see significantly higher burst rates. > I bet smaller files would finish much, much faster on the 790 v. the 3132. > But you said you would be coppying large files, not small ones. Hmmmm... The controller and PM should not know or care about file size. The OS, filesystem, layout of data on the disk (amount of seeking required) may be affected by file size. > leans towards the 2 drive raid 0 VRaptor's being the limitting factor One way to take the disk's performance mostly out of the equation is to read small amounts of data from the disk's RAM buffer. This eliminates platter rpm and bit density, leaving only the disk's electronics, and the controller/PM as bottlenecks. I'll attach a small C program that does this. Tested only on FreeBSD and NetBSD. (If you don't want to mess with it that's ok. I get the impression that you enjoy testing this stuff so I thought you might be interested.) Every time they increase the density of bits on the platters, the sustained performance goes up, even at the same rpm. (Doesn't help the seek time, though.) The current 2 TB drives are over twice as fast as the 250 GB drives of a few years ago. > No matter what the scenario, or what the 3726 is plugged into, you > can expect the max you will see for EXT->INT is around 120MB/s This might be, although it seems a bit odd that the 3726 would have exactly the same total limit as the 3132 single port limit. Also, Petr Vandrovec got 133.95 MB/s from the 3726. > What is Pass-Through (Actually spelt, "Pass-Thru" in the software raid > program)? I have no idea. All I know is it allows the OS to see the drives > independently. Sounds like Pass-Thru means pure port multiplier with no raid of any kind. Which is the mode I want to use. But if it hangs in BIOS I can't use it. > BUT, if you use the software raid program to assign a raid mode, the 3132 > will not hang during boot. If you want the OS to use the drives independently, > you have to assign each drive to a *Consintricute* (SP?) raid mode. This > setup will not carry over to the 790. The 790 will detect un-partitioned > drives, and vice versa. The software raid program must be storing the configuration as "there is a raid attached to the 3132 port 0" rather than having some sort of label stored on the disks that make up the raid.
  4. DieterBSD

    SATA port multiplier recommendations?

    >>> From what I could conclude from the tests I did, the 3726 has room >>> for about 120MB/s. >> >> That sounds like the limit of the 3132 rather than the 3726? >> Have you measured the 3726 with the 790 or other controller? > > Testing just the 3132 I found the limit to be about 144MB/s. Yes but is that using 1 3132 port or both? I get about 120 MB/s with 1 drive and about 155 MB/s total using 2 drives. Since the PM is only using 1 of the 3132's ports the PM will be limited to 120 MB/s by the 3132. This should be true for both the 3726 and the 393. > The 3726 tested identically on the AMD 790. That's odd I would expect the 790 to outperform the 3132. http://www.mail-archive.com/linux-ide%40vger.kernel.org/msg09931.html Petr Vandrovec got 133.95 MB/s with sil3124 + sil3726 under Linux. > disabling pass-through on the 3726 stopped the hangs on the 3132 It was hanging with the 3132? Oh dear. What exactly do you mean by "disabling pass-through"? I haven't studied the 3726 in enough detail but I suspect that it is only a port multiplier and doesn't actually do any sort of hardware raid. Hence the need for a PM-ready controller. The raid stuff is probably all done in software. You could test this by setting up a raid 1 mirror. A true hardware raid PM would get twice the speed of a software raid PM. (The software raid would have to send the same data twice, once for each disk, while the hardware raid PM would duplicate the data, saving bandwidth on the uplink.) So the 393 (or 4726) should get twice the speed of the 3726, when used in raid 1 mode.
  5. DieterBSD

    Internal HDD On/Off switch

    > I couldn't get your third link to work. They changed it. Sorry about that. :-( try http://www.coolerguys.com/840556088547.html Molex 4 Pin on/off Power Switch 12V DC Item Number: 840556088547-Price: $3.49 which will link to the new URL for the photo. This one doesn't switch both Voltages. I'm not sure if it is the same item that performance-pcs.com is selling or not.
  6. DieterBSD

    SATA port multiplier recommendations?

    > there is no bios update for the 3726 so i dont know where to go with > this issue http://www.siliconimage.com/support/searchresults.aspx?pid=26&cat=23 Looks like the latest firmware is from 2006. Perhaps talk with tech support at whoever makes your 3726 enclosure, and/or Silicon Image and/or whoever made your mainboard. And hope they don't just point their fingers at each other. >> I recently discovered that there is a 4726 PM, which is more like >> the 393 and doesn't require a PM ready controller. Perhaps it would >> behave for you? > > That is extremely interesting to me! I am looking for a hardware PM > that offers online capacity expansion. That would be wonderful if it did. You might want to poke around under http://www.siliconimage.com/products/ The SiI4726 is listed under "RAID Storage Processors" rather than under "SATA Port Multipliers", which is probably why I didn't notice it before. One very nice thing about Silicon Image is that they publish datasheets for their chips. Datasheet for SiI3726: http://www.siliconimage.com/docs/SiI-DS-0121-C1.pdf > From what I could conclude from the tests I did, the 3726 has room > for about 120MB/s. That sounds like the limit of the 3132 rather than the 3726? Have you measured the 3726 with the 790 or other controller? Reading from rust rotating at 7200 rpm: 130 MB/s (raw disk) 95 MB/s (real file from a real filesystem) Reading from the disk's RAM buffer: 121 MB/s (SiI 3132) 164 MB/s (JMB 363) 253 MB/s (nforce4-ultra chipset)
  7. DieterBSD

    SATA port multiplier recommendations?

    > the raid bios on the AMD 790 based motherboard hangs during > post while trying to detected the 3726 plugged into it. I once read somewhere that PMs are supposed to come up in a transparent mode, and pretend to be a piece of wire connected the port0 drive. This is to avoid the sort of problem you are seeing, if the controller firmware doesn't know about PMs. And allow booting from the PM's drive 0. Then the OS can issue some sort of "are you actually a PM?" query and switch the PM into PM mode and see all the drives. What I don't know is: 1) if this is supposed to be required by some standard, or is just a nice idea; and 2) what is supposed to switch the PM back into transparent mode when rebooting. Especially if you just press the reset button. The firmware would have to issue some sort of reset command to all the SATA ports early in the boot sequence. You might try: 1) power down mainboard and PM 2) power up PM 3) power up mainboard and see whether it boots or hangs. > there is no bios update for the 3726 Is there a bios update for the mainboard? > the 393 was detected perfectly It might have been in hardware raid mode, presenting one big drive to the controller, rather than PM mode presenting multiple drives? > the first disk at like 15MB/s sustained. all other drives were fine That sounds quite strange. I recently discovered that there is a 4726 PM, which is more like the 393 and doesn't require a PM ready controller. Perhaps it would behave for you? Can you turn the disk write cache on and off through the PM? Can you access the "smart" data through the PM? Does NCQ work through the PM? This type of stuff doesn't work with some of the USB-to-SATA bridges. > the simplest thing i could think of would be moving a large ISO > from one drive on the port multiplier infrastructure to another > on the port multiplier infrastructure. Yep, copying big files (1-30 GB) from one disk to another. Also, doing a large sustained fast read or write on one or more drives shouldn't completely starve other drives being written at a slower pace (say 2-4MB/sec).
  8. DieterBSD

    Internal HDD On/Off switch

    > I'm thinking that a simple DPST (double pole single throw) switch > that interrupts both the +12V circuit (yellow) and the +5V circuit > (red) would be sufficient That should work fine. > SPST (single pole) switch to cut off only the 12V circuit If you're going to do this, might as well do it right and switch both. drive cage with power switches for 3 drives: http://www.lian-li.com/v2/en/product/product06.php?pr_index=488&cl_index=2&sc_index=5&ss_index=12&g=f (I don't know if this switches all Voltages or just 12v) power cable with switch: http://www.performance-pcs.com/catalog/index.php?main_page=product_info&cPath=34_82&products_id=26734a might be the same as this, which only switches 1 (probably 12V) http://ep.yimg.com/ca/I/yhst-24067115789173_2081_17035569 Note that SATA drives have 3 Voltages (12, 5, & 3.3 IIRC), although AFAIK they all run fine on just 12 & 5.
  9. DieterBSD

    SATA port multiplier recommendations?

    > the Sil 3132 is fairly competent at managing raid 0. its extreme speed > deficiencies only arise when asked to handle raid 5 The Sil 3132 also becomes a bottleneck when accessing both drives at once, without RAID: http://lists.freebsd.org/pipermail/freebsd-hardware/2010-May/006364.html > because you will be using the drives independently you have nothing to > worry about. I will be using multiple drives at once, so my concern was that the PM might have the same sort of bottleneck when using multiple drives at once that the 3132 and 363 controllers have. (The siis(4) device driver does claim to support FIS-based switching.) The performance of the 393 PM isn't very impressive in this test: http://www.semiaccurate.com/2009/12/31/lian-li-vs-photofast-pcie-x1-raid-controllers/ Is your 393 this slow, or did they get something wrong in the test? >> incompatibility issues. at least on the AMD 790 chipset I assume this is AMD 790 chipset + JMB 393 PM. > i also have an enclosure arriving today based off the Sil 3726 I'd be interested in knowing if the AMD 790 chipset + Sil 3726 PM play well together?
  10. DieterBSD

    SATA port multiplier recommendations?

    continuum writes: > Firmware issues causing incompatibility are a huge issue. Any suggestions on how to avoid these problems? pico1180 writes: > are you looking for raid? No. > or just want to add more drives to your system? Yes. System reads/writes multiple large files, so need to keep disks independent to minimize seeking. System: AMD64/nforce4-ultra, FreeBSD 8.0 FFS/softdeps, couple of PCIe-x1 slots with Sil 3132 cards. JMB363 cards are faster than 3132, but my Syba 363 cards are flaky, could try another brand. Sil 3124 is said to be faster than 3132 and provides 4 ports, but reviews on newegg say it "Gets a bit hot" and "gets quite hot under load", despite that big heatsink. Also leary of Syba in general. http://www.newegg.com/Product/ProductReview.aspx?Item=N82E16816124027 Today ran across this: http://www.mail-archive.com/linux-ide%40vger.kernel.org/msg09961.html which says 3124 + 4726 gives port resets, but 3132 works ok. Odd. Looks like the 3726 can saturate the uplink: http://www.mail-archive.com/linux-ide%40vger.kernel.org/msg09931.html > incompatibility issues. at least on the AMD 790 chipset I don't like hearing that, as I've been looking at AMD 890 chipset boards. Any chance they fixed this in the 890? Currently the leading contender is the Addonics AD5SARPM-E (Sil 3726) and would be used with the Sil 3132 or maybe JMB363. (nforce4-ultra doesn't support PMs as far as I can tell)
  11. Does anyone have recommendations for/against specific SATA port multipliers? Is one faster than the others? Can they saturate the uplink, or do they suffer from the same slowness as the sil3132 and jmb363 controllers? So far I have found: Sil 3726 JMB393 Marvel 88SM4140 Any others? http://www.addonics.com/products/host_controller/tutorial_pm.asp indicates that the JMB393 has more features than the Sil 3726, although I think I can live without those features. I haven't found any products using the Marvel chip. I was hoping someone would have a port multiplier with a 600 MB/s uplink by now?