From: Guy Eschemann on
Hi,

I have an input data stream at 2 MByte/s that I need to write to a
mass storage device. I need to store 10 GB worth of data. I guess that
a modern 16 GB CF card, which states 20..30 MByte/s of write speed,
could be used for this. Since I don't have much buffer memory, and I
cannot afford to lose any data, I must be absolutely sure that the CF
card will be able to handle the input data rate under all
circumstances. Can I use a CF card like the Sandisk CF5000 for this
application, or is this a disaster waiting to happen?

Cheers,

Guy.
From: Guy Eschemann on
The title of my post is a bit misleading. Ideally, I would like to
start reading out the CF card before the file has been completely
written, which will result in interleaved read/writes, each at
datarates at least twice my input data rate. Something like this:

- write 32 sectors to address A at > 4 MByte/s
- read 32 sectors from address B at > 4 MByte/s
- write 32 sectors to address A+32 at > 4 MByte/s
- read 32 sectors from address B+32 at > 4 MByte/s

and so on...
From: Vladimir Vassilevsky on


Guy Eschemann wrote:
> Hi,
>
> I have an input data stream at 2 MByte/s that I need to write to a
> mass storage device. I need to store 10 GB worth of data. I guess that
> a modern 16 GB CF card, which states 20..30 MByte/s of write speed,
> could be used for this.

That's the ideal case. In reality, there is the system bus, OS and file
system overhead, and random delays in the card itself.

> Since I don't have much buffer memory, and I
> cannot afford to lose any data, I must be absolutely sure that the CF
> card will be able to handle the input data rate under all
> circumstances.

You can be absolutely sure that it won't work unless you have buffering
for at least 100 msec.

> Can I use a CF card like the Sandisk CF5000 for this
> application, or is this a disaster waiting to happen?

See above.


Vladimir Vassilevsky
DSP and Mixed Signal Design Consultant
http://www.abvolt.com
From: Guy Eschemann on
Vladimir,

I forgot an important piece of information: there is no file system.
I'm writing the card in "raw" mode using an FPGA. I'm writing only the
data bytes, starting at sector 0, until the 10 GB file is complete.
There is nothing else on the card.

Cheers,

Guy.

On Apr 16, 10:34 pm, Vladimir Vassilevsky <nos...(a)nowhere.com> wrote:
> Guy Eschemann wrote:
> > Hi,
>
> > I have an input data stream at 2 MByte/s that I need to write to a
> > mass storage device. I need to store 10 GB worth of data. I guess that
> > a modern 16 GB CF card, which states 20..30 MByte/s of write speed,
> > could be used for this.
>
> That's the ideal case. In reality, there is the system bus, OS and file
> system overhead, and random delays in the card itself.
>
> > Since I don't have much buffer memory, and I
> > cannot afford to lose any data, I must be absolutely sure that the CF
> > card will be able to handle the input data rate under all
> > circumstances.
>
> You can be absolutely sure that it won't work unless you have buffering
> for at least 100 msec.
>
> > Can I use a CF card like the Sandisk CF5000 for this
> > application, or is this a disaster waiting to happen?
>
> See above.
>
> Vladimir Vassilevsky
> DSP and Mixed Signal Design Consultanthttp://www.abvolt.com

From: Vladimir Vassilevsky on


Guy Eschemann wrote:

> Vladimir,
>
> I forgot an important piece of information: there is no file system.
> I'm writing the card in "raw" mode using an FPGA. I'm writing only the
> data bytes, starting at sector 0, until the 10 GB file is complete.
> There is nothing else on the card.

You can expect a huge delay (~100ms) at the very beginning of the
process, and random delays (~10..100ms) while in the operation. This is
a typical behavior of CF card. Although the average sustained transfer
rate can be 20-30MB/s or even higher.


Vladimir Vassilevsky
DSP and Mixed Signal Design Consultant
http://www.abvolt.com





 |  Next  |  Last
Pages: 1 2 3
Prev: What is Bit Spread?
Next: DAS recomendataion