3 Replies Latest reply on Oct 10, 2011 3:43 PM by charlesgardiner

    US15W poor USB 2.0 performance, anybody else?

    Community Member

      US15W, USB 2.0, Z520 CPU: Seen on a embedded board, deeper researched on Sony VGN-P21Z sub-notebook: Read of large blocks from _fast_ USB mass storage was limited to approx 20 MByte/s, write to only 12 to 14 MByte/s. Both for different flavors of Linux and WinXP SP3. A chipset like i965 does 30 to 33 MByte/s with ease. US15W is less capable, but summing up everything, it shall easily do the job. The same US15W does above 70 MByte/s via PCI Express and GigaBit Ethernet!

       

      What happens? Shit! Read: Between the individual 512-byte-payload blocks on USB wires (adding the protocol stuff around), there are gaps, silence, for 2.5 to 8 us. Silence for i965 is less than 1.5 us. Looks like EHCI inside US15W has problems to write received data to RAM, although the RAM is far from saturated, and see above for Etehrnet performance. Because there are runs of up to 20 to 25 short 2.5 us gaps, I guess it can be improved by tuning parameters not given in public data sheet of US15W. (All memory setup, all information regarding buffers and FIFOs for read and write is missing there, all graphics registers anyway.)

       

      Write is much worse: Inside a micro frame, always 17 to 21 us silence. From StartOfMicroframe to first data 0.5 us (ok, best case) or up to 17 us (may be even worse, did not look for worst). Looks like EHCI inside US15W does not get thru to RAM to read data from.

       

      Anybody same experience, or good rates of 30 to 33 MByte/s?

       

      TO THE MODERATOR: DO NOT POINT TO UPGRADING AND SUPPORT!

        • Re: US15W poor USB 2.0 performance, anybody else?
          Felix_M BlackBelt

          Welcome to the Intel® Embedded Community.

           

          Moderator here.  I'm not sure why you asked not to be pointed to support.  It turns out there is an almost identical question (with the answer) posted in the support area e-Help.  The Intel® e-Help desk is staffed by Intel representatives   who support select Intel embedded platforms including Intel Atom™  and   associated  chipsets including US15W.

           

          To access e-Help, you need to be a Privileged member of the Intel® Embedded Community.

          If you are not already a Privileged member, you can request an upgrade to your community account here:

           

          https://edc.intel.com/My-Account.aspx

           

          In   addition to access to e-Help, Prvileged members may also access the  confidential content within the Intel® Embedded Design Center, such  as   design documents, specifications, and training materials.

           

          If you decide to take advantage of e-Help, you can find the relevant thread here:

           

          http://embedded.communities.intel.com/message/2795#2795

           

          I hope this helps.

           

          Felix

           

          J. Felix McNulty

          Community Moderator (Intel contractor)

            • Re: US15W poor USB 2.0 performance, anybody else?
              Community Member
              Moderator here.  I'm not sure why you asked not to be pointed to support.


              Because these hints by you are only to make people feel stupid! I applied already for Priviledged membership before posting, because I am NOT stupid. Nevertheless I got no answer so far (after 1 week), and may never get the P.state this way, simply because I did have not cared so far to advertise the successful company on my web site, but instead focus on doing my best job as an engineer, as long as I get paid work.

               

                It turns out there is an identical question (with the answer) posted in the support area e-Help.


              Interesting - thanks for looking it up. Helpful? I still do not know. Saying "we know but we do not tell you" is a very bad habit, making people feel second class, or worse.

               

              As said, I may never get access this way. Let's see, but not wait. Anyway, such info should be available to all interested developers. I NOW have the impression Intel did not learn that much after the famous FDIV Pentium bug, or learned, but forgot in the mean time. What a pity.

               

              It may really be better to go with a FPGA as central component of an embedded design, or an ARM, just any environment with less information hiding.

              I understand you on your own cannot give things out, but the best you can do is tell Management that there are developers which feel mis-treated. Thanks for forwarding that.

                • Re: US15W poor USB 2.0 performance, anybody else?
                  Green Belt

                  I had something similar with PCI Express. My application was streaming packets of irregular size to system memory. What really fixed up performance was modifying the DMA hardware in my FPGA to only write multiples of 64 bytes at a time (to be precise, for PCIe always right exactly max-payload-size, aligned to a 64-byte address boundary wherever possible) and leave my driver put the pieces back into individual packets.

                   

                  The figures you mentioned were much the same as mine. From roughly 25 MB/s max I got up to 40 MB/s. The external source can't do any faster so I am currently satisfied. In fact I now have a total sustained load of about 80 MB/s on the Crownbeach system since everything I send to memory gets written back to a network drive for later analysis (my test setup-up for an industrial application)

                   

                  By the way there is a statement on this somewhere in the IA manuals ( I think the one on optimisation) that I coincidently found after I had made the changes. Technical background has to do with caching on the FSB etc.

                   

                  Charles