There are 3 messages in this thread.
You are currently looking at messages 0 to 3.
Hi all! I'm designing a high speed datalogger that should store a continuous data stream (about 2MB/s) for about 30 minutes. I'm using a Compact Flash card to store data samples (no FAT, just raw data with a continuous addressing, in order to keep all as fast as possible). The CF I tested is rated 66X (i.e. about 10MB/s), and the micro (an AVR) can sustain a write speed greater than 4MB/s. The problem is that the CF seems to have very long execution time, so even if I'm very fast to transfer commands and data blocks, I have to wait *many ms* before getting the card ready again for the next command. My question is: does anybody succeded in getting a sustained write speed greater than 2MB/s with a CF card? If yes, how? What is the most appropriate sequence of commands/operations: write sector, write sectors, erasing before writing, writing without erasing, using contiguous addressing, or what else? Thanks in advance, Antonio P.S. I'm using True IDE mode, 8 bit data, PIO mode (not DMA). But as I said the limit is not the interface but the card "execution" time...
A.D. wrote: > Hi all! > I'm designing a high speed datalogger that should store > a continuous data stream (about 2MB/s) for about 30 > minutes. I'm using a Compact Flash card to store data > samples (no FAT, just raw data with a continuous > addressing, in order to keep all as fast as possible). > The CF I tested is rated 66X (i.e. about 10MB/s), > and the micro (an AVR) can sustain a write speed > greater than 4MB/s. The problem is that the CF > seems to have very long execution time, so even > if I'm very fast to transfer commands and data > blocks, I have to wait *many ms* before getting > the card ready again for the next command. > My question is: does anybody succeded in getting > a sustained write speed greater than 2MB/s with > a CF card? If yes, how? What is the most appropriate > sequence of commands/operations: write sector, > write sectors, erasing before writing, writing without > erasing, using contiguous addressing, or what else? > > Thanks in advance, > Antonio > P.S. I'm using True IDE mode, 8 bit data, PIO > mode (not DMA). But as I said the limit is not > the interface but the card "execution" time... I am using the compact flash with BlackFin system and with the good cards I am getting the sustained read/write performance at the order of 25 MBytes/sec. Just about every modern compact flash card from WalMart can do 10MB/s at least. I am not using the DMA/UDMA modes, all done with the conventional sectors read/write operation. The 25MB/s is the limitation of the system; the CF itself can go faster then that. Yes, there is a long latency at the beginning of the commands. For the best performance, you should use the maximum block size, and align your read/write flash operations on the block size. Vladimir Vassilevsky DSP and Mixed Signal Design Consultant http://www.abvolt.com
Vladimir Vassilevsky <a...@hotmail.com> wrote in message X95gk.14673$x...@nlpi070.nbdc.sbc.com... >Yes, there is a long latency at the beginning of the commands. > For the best performance, you should use the maximum > block size, and align your read/write flash operations > on the block size. Thank you for the info! Surely I'm doing something wrong, since I observe huge latencies (up to 200ms!)... Maybe these are something like timeouts and not command latencies... Thank again, Antonio