Hi All,
Thanks for the help. Seems like different brands and sizes of SD Cards
really make a difference. I'm going to order a few different brands of
all the same size (1GB) so I can compare apples to apples, but in the
meantime, of the few I have, it looks like one will work for my
current need:
SanDisk Extreme III 1.0GB
I ran a real-world test (rather than a worst case scenario as I had
been doing earlier) after running for 2 hours, the worst latency was
1.2 sec, with only 0.1% of the checks taking over 0.5 sec.
(If and) when I test the other cards, I'll post the results here.
Thanks again,
Frank
--- In "charliem_1216" <> wrote:
>
> Hi Frank --
>
> --- In "Frank Pagliughi" <fpagliughi@>
> wrote:
> >
> > The root file system is on the internal flash. The SD Card is
> > initially blank (with one or two ext2 partitions), and just
> receives
> > the data.
> >
> > We're alpha testing so the main app is dumping out a lot of status
> and
> > log information, in addition to the actual data.
>
> If you temporarily stop streaming the status & log info, do you
> still get hangs from writing the individual 50k data files?
>
> >
> > The status and log info is streaming out to a text file that is
> > continuously open. Probably something like 20kB / sec worth of
> info.
>
> You might want to try piping the streaming data into a buffering
> utility. Without it, I think you are at the mercy of the kernel
> writing out it's buffers when (the kernel thinks) needed. There are
> some ways to modify that kernel behaviour you could look into, but
> userland buffering might be easier.
>
> For example "Virtual Ring Buffer" at http://vrb.slashusr.org/. It's
> mostly a ring buffer library, but has a demo utility "vbuf" that
> might work for you. I'm sure there are others available.
>
> >
> > The data is in individual files, around 50kB each, written once
> per
> > sec (file open, write, close).
> >
> > - Frank
> >
> > --- In <leaton10@> wrote:
> > >
> > > Do you have the root file system on the same card?
> > > What else is on the card?
> > > You must be writing a lot of data, is this a log or something
> you're
> > writing?
> > >
> > > From: "Frank Pagliughi" <fpagliughi@>
> > > Date: 2007/08/08 Wed AM 09:46:39 EST
> > > To:
> > > Subject: [ts-7000] Re: SD Card write delays
> > >
> > > Wow, thanks, I never realized there were so many different
> speeds for
> > > Flash memory. Went down to the camera store and bought a couple
> > > different brands of fast SD Cards.
> > >
> > > It kind of made the problem worse!
> > >
> > > Now the hangups happen less often, but when they do, they are
> > > significantly longer - like 30 sec!
>
> I bet you rebooted here, so the kernel had more buffers available
> (less memory pressure?). Hence longer writes.
>
> > >
> > > I can deal with a relatively high thread latency, but I can't
> believe
> > > a driver would lock out the whole system for that long.
>
> Seems to me too that the writes shouldn't block for so long, but it
> would be hard to investigate further since the sd driver is binary
> only.
>
> Regards, ........ Charlie
>
> > >
> > > Frank
> > >
> > >
> > > --- In <leaton10@> wrote:
> > > >
> > > > I've seen the same thing on the TS7250, but when writing to
> the on
> > > board flash.
> > > > It's probably the same thing. I imagine interrupts are
> disabled by
> > > the kernel when writing to the flash.
> > > > The SD is probably smarter though. It's probably blocking
> access
> > > till it's done.
> > > > Maybe there is an ioctl call to detect busy you could use
> > > > You could get a faster SD card.
> > > > Larry
> > > >
> > > > From: "Frank Pagliughi" <fpagliughi@>
> > > > Date: 2007/08/07 Tue PM 01:44:02 EST
> > > > To:
> > > > Subject: [ts-7000] SD Card write delays
> > > >
> > > > Hey All,
> > > >
> > > > I'm using a TS-7260 for a data-logger type of application,
> using a
> > > > slightly modified ts11 kernel, the on-board flash for the root
> file
> > > > system, with an SD Card mounted.
> > > >
> > > > The application writes its data to the SD Card, but the writes
> > > > occasionally lock up the whole system for something like 8-10
> seconds.
> > > > I'm guessing when a block is being erased/written. Seems that
> > > > everything running at user level just stops for that time.
> > > >
> > > > Is anyone (everyone) else seeing this? Is there a workaround?
> > > >
> > > > Any help would be apreciated.
> > > >
> > > > Frank
> > > >
> > >
> >
>
Yahoo! Groups Links
<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/ts-7000/
<*> Your email settings:
Individual Email | Traditional
<*> To change settings online go to:
http://groups.yahoo.com/group/ts-7000/join
(Yahoo! ID required)
<*> To change settings via email:
<*> To unsubscribe from this group, send an email to:
<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
|