Slashdot Mirror


Intel Developers Demo USB 3.0 Throughput On Linux

Sarah Sharp writes "Intel's Open Source Technology Center is working on USB 3.0 support for Linux. USB 3.0 has wire speeds of 5Gbps and promises to be 10 times faster than USB 2.0. A recent video demo shows speeds that are 3.5 times faster than USB 2.0. The USB 3.0 drivers will be submitted to the mainline kernel when the eXtensible host controller interface (xHCI) specification reaches a 1.0 release."

14 of 231 comments (clear)

  1. Re:What's in a name... by Microlith · · Score: 3, Informative

    Imagine a Flash based HD camera talking to a Flash based hard drive.

    Maybe if said HD camera has a USB host controller, like that USB-2-GO stuff.

    Otherwise, I suspect USB 3.0 is as braindead as USB 1.0 and will still require a computer to do all the actual work.

  2. Wha? by Weaselmancer · · Score: 4, Informative

    Could you please explain that a bit?

    It's my understanding that high throughput drivers usually use DMA.

    In my experience polled mode drivers are pretty rare. Especially in high throughput.

    --
    Weaselmancer
    rediculous.
    1. Re:Wha? by Hal_Porter · · Score: 5, Informative

      Yup the host sets up a structure in memory which lists all the USB endpoints. When a driver wants to do some IO it asks the host controller driver which adds a request into the structure with a pointer to a buffer. The host controller hardware reads the structure with busmaster DMA and generates the USB packets. When the device answers the host controller DMAs the data into the the driver's buffer interrupts the CPU. Then the host controller can pass the buffer back to the driver. Polling is done by leaving the request in the structure, it doesn't require any CPU activity. Intel like USB because they invented it, not as some sort of conspiracy to load your CPU.

      --
      echo -e 'global _start\n _start:\n mov eax, 2\n int 80h\n jmp _start' > a.asm; nasm a.asm -f elf; ld a.o -o a;
    2. Re:Wha? by raynet · · Score: 5, Informative

      Taken from wikipedia: "Although high-speed USB 2.0 nominally runs at a higher signaling rate (480 Mbit/s) than FireWire 400, typical USB PC-hosts rarely exceed sustained transfers of 280 Mbit/s, with 240 Mbit/s being more typical. This is likely due to USB's reliance on the host-processor to manage low-level USB protocol, whereas FireWire delegates the same tasks to the interface hardware. For example, the FireWire host interface supports memory-mapped devices, which allows high-level protocols to run without loading the host CPU with interrupts and buffer-copy operations."

      --
      - Raynet --> .
    3. Re:Wha? by mabhatter654 · · Score: 4, Informative

      This is why you can't have USB-to-USB devices like you have Firewire-to-Firewire devices. It's why USB is very bad for time-sensitive data like music and video, because you're always waiting for the host controller to do something on the CPU, which might be busy.. have you ever seen DMA to memory ever work properly on consumer grade hardware anyway?

      It's not so much a "scam" as it is designing to the market. Firewire devices have a non-trivial price premium because of the device-to-device controller... but that's why they can do things like daisy-chain or direct connect between computers with no special cables. On the other hand USB allows endpoint devices to be made very cheaply.. they have near-zero intelligence if you want. The USB host can be as "thick" or "thin" as the OEM wants... they can put all the host chip control in software drivers to keep chip cost down. They can also put all the control codes for devices in software... remember "wINKjets" that went obsolete with each new Windows version... they have almost no internal software at all.

    4. Re:Wha? by afidel · · Score: 3, Informative

      have you ever seen DMA to memory ever work properly on consumer grade hardware anyway?
      Yeah, every day. PIO mode HDD's suck terribly, DMA is necessary to achieve decent performance.

      --
      There are 4 boxes to use in the defense of liberty: soap, ballot, jury, ammo. Use in that order. Starting now.
  3. Re:What's in a name... by Mad+Merlin · · Score: 4, Informative

    'bursty' ... is that sort of like 'minty'? ;)

    No, it's that max speeds for USB 2.0 refer to the max burst speeds, not the maximum sustainable speed. A single 7200 RPM drive attached via USB 2.0 will be substantially slower than if you attached it via SATA or IDE, even though 60 MB/s (= 480 Mbit/s) should be enough for most drives.

  4. The real big thing... by wikinerd · · Score: 3, Informative

    Wake me up when Firewire over UTP gets popular. THAT would be interesting.

  5. Re:Compared to USB 1... by MSG · · Score: 4, Informative

    Too bad they used Windows to show it performing about twice as fast as the Linux test ...

    The tests were nothing alike. The Linux demo was sending data to an actual storage device, not to a loopback device designed only to test throughput. The Linux driver also had a great deal of debugging code running which contributed to the relatively low throughput.

    None of which is to say that Linux was or deserved to be the star of this show. It's nice, however, to see technology vendors demonstrating software on platforms other than Windows.

  6. Re:What's in a name... by 0100010001010011 · · Score: 3, Informative

    The agreement essentially brings patents held by these companies into a single portfolio that can then be licensed by manufacturers for a single fee. That fee is US$.25 per system that includes FireWire ports, regardless of the number of patents used or the number of FireWire ports implemented. This is a dramatic decrease from the US$1 per port per device (see "Apple To Charge 'Per-Port' Licensing On FireWire") that Apple originally announced it would charge for its own patents.

    $10 is not in licensing fees.

  7. Re:What's in a name... by Mr+Z · · Score: 3, Informative

    Protocol latency is a big deal. If you have a large per-transaction overhead, then the overall throughput of a given medium will be very sensitive to the number of transactions it creates on the media, as opposed to the total number of bytes it needs to move.

    That's part of the reason the HTTP sprouted request pipelining, since the round-trip-time between the endpoints of the connection figured largely in the startup latency of each connection.

    It sounds like the typical PC implementation of USB relies heavily on the CPU to handle all but the lowest levels of the protocol. (I'm relying on hearsay here.) If this is indeed the case, then it'll be hard for USB to reach the max sustained speeds for storage devices, unless there's a mechanism for requesting large blocks of data (or large numbers of small blocks) in a single transaction.

    For us old-school types, it's similar to the reason XMODEM didn't get much faster with faster modems over a certain speed. XMODEM didn't pipeline anything. It'd send a block, and then wait for an ACK. Since the latency of fancier modems was higher than the simple FSK 300 baud modems, the handshake turnaround time of the ACK swamped the gains made while sending the blocks. (Also, the tiny block size didn't help.) Thus, pipelined protocols like ZMODEM and large-block non-pipelined protocols (XMODEM-1K) came about to address this.

  8. Re:What's in a name... by 0100010001010011 · · Score: 4, Informative

    Again, bull shiat. Use google before stating "recent developments."

    USB 2.0 was released in April 2000.

    Those licensing fees were announced in May 1999.

    In Jan 1999 Apple announced that it would be $1 per port. As far as I know it's always been $1 per port. Now I don't know of any devices with 10 ports on them (Making the licensing fee $10). Here's a CNET article from the same time.

    Both were before USB2.0 was released and considerably less than what you claim.

  9. Re:Who needs USB anymore ? by afidel · · Score: 3, Informative

    If that's a troll it's a good one, but you can provide 7.5x more power over ethernet then the USB spec allows (15.4W vs 2.5W). 802.3at pushes things even further to 24W max.

    --
    There are 4 boxes to use in the defense of liberty: soap, ballot, jury, ammo. Use in that order. Starting now.
  10. Re:What's in a name... by saharabeara · · Score: 3, Informative

    Hmm, a crappy host based implementation at 5Gbps or a storage targeted, low everhead one at 3Gbps (possibly going to 6Gbps if the next gen spec gets extended to eSATA), I know which one I will use =)

    Actually, USB 3.0 was targeted for mass storage devices. They added the concept of Bulk Streams to support "out-of-order data transfers required for mass storage device command queuing." (USB 3.0 spec, section 4.4.6.4) Basically, the host can queue up to 65K SCSI commands, and the device can choose which command it wants to service first.

    The host doesn't have to poll the device to see when commands are done because they added device notifications to USB 3.0. So the host fires off 65K of SCSI requests and the device asynchronously notifies the host as they get done. I'm no firewire expert, so I have no idea if it does something comparable. :)