fastest possible USB

Started by colin November 11, 2005
Hi

Does anyone have some advice for the fastest say to get many MBytes of
data from a Spartan3 fifo to the hard disk of a PC via usb. I assume
that it is a combination of the best USB interface next to the FPGA and
perhaps a USB chipset in the PC that can do some very clever DMA.
I don't want to mess with custom RAID stuff I just want to dump it to a
standard hard disk & controller.

Any pointers appreciated.

Colin

colin <colin_toogood@yahoo.com> wrote:
> Hi
> Does anyone have some advice for the fastest say to get many MBytes of > data from a Spartan3 fifo to the hard disk of a PC via usb. I assume > that it is a combination of the best USB interface next to the FPGA and > perhaps a USB chipset in the PC that can do some very clever DMA. > I don't want to mess with custom RAID stuff I just want to dump it to a > standard hard disk & controller.
Look at the Cypress cy7c68013a -- Uwe Bonnes bon@elektron.ikp.physik.tu-darmstadt.de Institut fuer Kernphysik Schlossgartenstrasse 9 64289 Darmstadt --------- Tel. 06151 162516 -------- Fax. 06151 164321 ----------
> Hi > Does anyone have some advice for the fastest say to get many MBytes of > data from a Spartan3 fifo to the hard disk of a PC via usb. I assume > that it is a combination of the best USB interface next to the FPGA and > perhaps a USB chipset in the PC that can do some very clever DMA. > I don't want to mess with custom RAID stuff I just want to dump it to a > standard hard disk & controller. > Any pointers appreciated. > Colin
Colin, I think a PCI interface capable of bus mastering will still be faster than a USB2.0 interface. The PCI performance is slightly un-deterministic as it depends what else is on your bus, but from what I've read here over the years I think 80MB/s is a reasonable expectation. I half remember reading that although USB 2.0 gives you 460(?) Mb/s that this doesn't directly translate ~ 460/8 MB/s of data through-put (ie 60MB/s). Nial. ------------------------------------------------------------- Nial Stewart Developments Ltd FPGA and High Speed Digital Design www.nialstewartdevelopments.co.uk
On 11 Nov 2005 01:07:38 -0800, "colin" <colin_toogood@yahoo.com> wrote:

>Hi > >Does anyone have some advice for the fastest say to get many MBytes of >data from a Spartan3 fifo to the hard disk of a PC via usb. I assume >that it is a combination of the best USB interface next to the FPGA and >perhaps a USB chipset in the PC that can do some very clever DMA. >I don't want to mess with custom RAID stuff I just want to dump it to a >standard hard disk & controller. > >Any pointers appreciated. > >Colin
Something else you may want to think about is a dual-port interface to an extarnal USB2 HD, i.e. FPGA to IDE, and IDE to USB2 using one of the standard chips available for this. This would have the advantage of more deterministic timing and probably higher throughput.
I'll add to that and say that the USB controller in the PC is probably 
sitting on a PCI bus or at least affected by the traffic on it. Also worth 
saying fastest USB is 480 MBit/s excluding overheads and 32bit/33MHz PCI is 
1056 MBit/s excluding overheads.

John Adair
Enterpoint Ltd. - Home of Broaddown2. The Ultimate Spartan3 Development 
Board.
http://www.enterpoint.co.uk


"Nial Stewart" <nial@nialstewartdevelopments.co.uk> wrote in message 
news:43746c57$0$355$da0feed9@news.zen.co.uk...
>> Hi >> Does anyone have some advice for the fastest say to get many MBytes of >> data from a Spartan3 fifo to the hard disk of a PC via usb. I assume >> that it is a combination of the best USB interface next to the FPGA and >> perhaps a USB chipset in the PC that can do some very clever DMA. >> I don't want to mess with custom RAID stuff I just want to dump it to a >> standard hard disk & controller. >> Any pointers appreciated. >> Colin > > > Colin, > > I think a PCI interface capable of bus mastering will still be faster than > a USB2.0 interface. > > The PCI performance is slightly un-deterministic as it depends what else > is > on your bus, but from what I've read here over the years I think 80MB/s is > a reasonable expectation. > > I half remember reading that although USB 2.0 gives you 460(?) Mb/s that > this doesn't directly translate ~ 460/8 MB/s of data through-put (ie > 60MB/s). > > > Nial. > > > ------------------------------------------------------------- > Nial Stewart Developments Ltd > FPGA and High Speed Digital Design > www.nialstewartdevelopments.co.uk >
colin a &#2013265929;crit :
> Hi > > Does anyone have some advice for the fastest say to get many MBytes of > data from a Spartan3 fifo to the hard disk of a PC via usb. I assume > that it is a combination of the best USB interface next to the FPGA and > perhaps a USB chipset in the PC that can do some very clever DMA. > I don't want to mess with custom RAID stuff I just want to dump it to a > standard hard disk & controller.
My two cents : You might instead consider implementing a simple IDE hardware interface, the protocol is quite straighforward if you stick to PIO mode (no DMA, however you can reach almost 15 Mbytes/sec, which is close from what you usuallay with an USB drive). The amount of effort needed to implement the IDE interface might actually be lower than trying to interface with an external USB bridge Here is a link to a open-source IDE controller IP core http://www.opencores.org/projects.cgi/web/ata/overview I don't know how efficient it is (we rolled our own). Hope it can help ... Steven
> > Any pointers appreciated. > > Colin >
We recently implemented a design that moved to a PC using USB 2.0

We used a Spartan3 coupled to a Cypress FX2 part and were able to
achieve
30MB/sec transfer rates.  It took careful driver development on the PC
to get the
performance level up high enough.

It was a fun project, but the Windows driver development took a lot
longer than
expected - it was tricky to get the performance up to where we needed
it.

John Providenza

>Does anyone have some advice for the fastest say to get many MBytes of >data from a Spartan3 fifo to the hard disk of a PC via usb. I assume >that it is a combination of the best USB interface next to the FPGA and >perhaps a USB chipset in the PC that can do some very clever DMA. >I don't want to mess with custom RAID stuff I just want to dump it to a >standard hard disk & controller.
How fast do you expect to go? How fast is your disk? How fast is your USB? How fast is your PCI? My guess is that your disk is the limiting factor. If your PCI bus is twice as fast as your disk, then you can read the bits into memory and write them out to disk. If you have a driver for your USB gismo, that's probably the simplest overall. Write some hack code to test/measure it. If anybody needs it, I'll dredge out some linux/unix code that I used to measure disk transfer rates. (Hint: The outside edges are much faster than the inside edges.) -- The suespammers.org mail server is located in California. So are all my other mailboxes. Please do not send unsolicited bulk e-mail or unsolicited commercial e-mail to my suespammers.org address or any of my other addresses. These are my opinions, not necessarily my employer's. I hate spam.
Actually.. its not the PCI or USB that will kill you.. its the hard disk
write speed. 28 Mbytes/sec to 58Mbytes/sec

Simon


"John Adair" <removethisthenleavejea@replacewithcompanyname.co.uk> wrote in
message news:1131713514.31956.0@nnrp-t71-02.news.uk.clara.net...
> I'll add to that and say that the USB controller in the PC is probably > sitting on a PCI bus or at least affected by the traffic on it. Also worth > saying fastest USB is 480 MBit/s excluding overheads and 32bit/33MHz PCI
is
> 1056 MBit/s excluding overheads. > > John Adair > Enterpoint Ltd. - Home of Broaddown2. The Ultimate Spartan3 Development > Board. > http://www.enterpoint.co.uk > > > "Nial Stewart" <nial@nialstewartdevelopments.co.uk> wrote in message > news:43746c57$0$355$da0feed9@news.zen.co.uk... > >> Hi > >> Does anyone have some advice for the fastest say to get many MBytes of > >> data from a Spartan3 fifo to the hard disk of a PC via usb. I assume > >> that it is a combination of the best USB interface next to the FPGA and > >> perhaps a USB chipset in the PC that can do some very clever DMA. > >> I don't want to mess with custom RAID stuff I just want to dump it to a > >> standard hard disk & controller. > >> Any pointers appreciated. > >> Colin > > > > > > Colin, > > > > I think a PCI interface capable of bus mastering will still be faster
than
> > a USB2.0 interface. > > > > The PCI performance is slightly un-deterministic as it depends what else > > is > > on your bus, but from what I've read here over the years I think 80MB/s
is
> > a reasonable expectation. > > > > I half remember reading that although USB 2.0 gives you 460(?) Mb/s that > > this doesn't directly translate ~ 460/8 MB/s of data through-put (ie > > 60MB/s). > > > > > > Nial. > > > > > > ------------------------------------------------------------- > > Nial Stewart Developments Ltd > > FPGA and High Speed Digital Design > > www.nialstewartdevelopments.co.uk > > > >
That depends if you have a RAID array but certainly a restriction on signle 
disk systems.


"Simon Peacock" <simon$actrix.co.nz> wrote in message 
news:4376e6b2@news2.actrix.gen.nz...
> Actually.. its not the PCI or USB that will kill you.. its the hard disk > write speed. 28 Mbytes/sec to 58Mbytes/sec > > Simon > > > "John Adair" <removethisthenleavejea@replacewithcompanyname.co.uk> wrote > in > message news:1131713514.31956.0@nnrp-t71-02.news.uk.clara.net... >> I'll add to that and say that the USB controller in the PC is probably >> sitting on a PCI bus or at least affected by the traffic on it. Also >> worth >> saying fastest USB is 480 MBit/s excluding overheads and 32bit/33MHz PCI > is >> 1056 MBit/s excluding overheads. >> >> John Adair >> Enterpoint Ltd. - Home of Broaddown2. The Ultimate Spartan3 Development >> Board. >> http://www.enterpoint.co.uk >> >> >> "Nial Stewart" <nial@nialstewartdevelopments.co.uk> wrote in message >> news:43746c57$0$355$da0feed9@news.zen.co.uk... >> >> Hi >> >> Does anyone have some advice for the fastest say to get many MBytes of >> >> data from a Spartan3 fifo to the hard disk of a PC via usb. I assume >> >> that it is a combination of the best USB interface next to the FPGA >> >> and >> >> perhaps a USB chipset in the PC that can do some very clever DMA. >> >> I don't want to mess with custom RAID stuff I just want to dump it to >> >> a >> >> standard hard disk & controller. >> >> Any pointers appreciated. >> >> Colin >> > >> > >> > Colin, >> > >> > I think a PCI interface capable of bus mastering will still be faster > than >> > a USB2.0 interface. >> > >> > The PCI performance is slightly un-deterministic as it depends what >> > else >> > is >> > on your bus, but from what I've read here over the years I think 80MB/s > is >> > a reasonable expectation. >> > >> > I half remember reading that although USB 2.0 gives you 460(?) Mb/s >> > that >> > this doesn't directly translate ~ 460/8 MB/s of data through-put (ie >> > 60MB/s). >> > >> > >> > Nial. >> > >> > >> > ------------------------------------------------------------- >> > Nial Stewart Developments Ltd >> > FPGA and High Speed Digital Design >> > www.nialstewartdevelopments.co.uk >> > >> >> > >