CF-Karten machen Pause

Hallo,

in einem Messwerterfassungssystem benutzen wir Extreme IV CompactFlash Karten von SanDisk zur Datenaufzeichnung. _Grunds=E4tzlich_ :-) klappt alles. Nur legen die Karten in unregelm=E4=DFigen Abst=E4nden Denkpausen ein. Aber genau, wir setzen Schreibkommendos f=FCr 256 Sektoren ab. Nach dem Schreiben eines Sektors wird immer auf den Interrupt gewartet um die n=E4chsten Daten abzusetzen. Die Pause ist normallerweise einige 10 =B5s lang. Manchmal deutlich l=E4nger von 1ms bis zu 12ms, dies Verhalten k=F6nnen wir uns nicht erkl=E4ren, zumal es nicht regelm=E4=DFig auftritt u= nd es damit nicht das wirkliche Schreiben des Flashs sein kann. Die Daten fallen mit 6,4MB/s an. Hat jemand damit Erfahrungen?

Danke Thomas

Reply to
tom
Loading thread data ...

"tom" schrieb im Newsbeitrag news: snipped-for-privacy@k35g2000prh.googlegroups.com...

Aber sicher doch.

Normalerweise schreibt die Karte im Hintergrund, waehrend du weitere Daten in andere Sektoren uebertraegst. Wenn aber die Buffer voll sind oder du Daten aendern willst, die sich auf so einer Seite befinden, dann musst du warten bis die Hintergrund-Operation angeschlossen ist.

Die Werbung sagt ja auch nur 'bis 40MB/s' und vermeidet es, ein Datenblatt zu verlinken.

--
Manfred Winterhoff, reply-to invalid, use mawin at gmx dot net
homepage: http://www.geocities.com/mwinterhoff/
de.sci.electronics FAQ: http://dse-faq.elektronik-kompendium.de/
Read 'Art of Electronics' Horowitz/Hill before you ask.
Lese 'Hohe Schule der Elektronik 1+2' bevor du fragst.
Reply to
MaWin

4= snipped-for-privacy@k35g2000prh.googlegroups.com...

tt und

Das Datenblatt sagt aber nur 16MB/s, das passt auch zu den 120ns Zykluszeit im PIO-Mode 4, bei 16Bit Zugriffen. Dieser Durchsatz ist f=FCr unsere Anwendung ausreichend, w=E4re aber mit den Pausen nicht zu erreichen Die Pausen treten im Abstand von Sekunden bis Minuten auf.

Thomas

Reply to
tom

tom schrieb:

Hallo,

irgendwann muß ja auch mal das Inhaltsverzeichnis der CF Karten aktualisiert werden.

Bye

Reply to
Uwe Hercksen

en

tt und

Welches Inhaltsverzeichnis? Es gibt kein Filesystem auf der Karte.

Reply to
tom

Das interne, das logische auf physikalische Abbildet und u.A. für das wear leveling sorgt.

Gruß Henning

Reply to
Henning Paul

Wie kommst du darauf? Eine CF-Karte ist *deutlich* mehr als ein nackter Flash-Chip. Daten müssen schon deswegen gebuffert und verzögert ins Flash geschrieben werden, weil i.d.R. im Flash nur weit größere Segmente als 1 Sektor gelöscht werden können. Dazu kommt noch das schon angesprochene wear leveling, bei Highspeed Karten vermutlich noch Banking etc.

Der Hersteller wird dir solche Details natürlich nicht verraten. Der lebt davon, daß dieses Know-How in der Firma bleibt. Dir bleibt nur Caching und die Hoffnung, daß der mittlere Durchsatz der Karte ausreicht und dein Cache groß genug ist, auch die längsten Denk- pausen der Karte ohne Overrun zu überstehen.

XL

Reply to
Axel Schwenke

tom schrieb:

Hallo,

benutzte, unbenutzte und defekte Sektoren, das verwaltet ihr alles selbst?

Bye

Reply to
Uwe Hercksen

Evtl. das automatische Verfahren gegen den VErschleiß? Betreibst Du die Dinger als fixed disk, oder als removable?

Reply to
Ralph A. Schmid, dk5ras

"MaWin" :

Naja aber kontinuierlich (unter nem richtigen OS) schaffen die schon die 10MB/s. Vermutlich wird der da mit dem wear-leveling beschäftigt sein.

M.

--
Bitte auf mwnews2@pentax.boerde.de antworten.
Reply to
Matthias Weingart

Moin!

Ähnliches kenne ich vom Lesen von SD-Karten: Scheinbar sind die in Bänken organisiert, die zum Stromsparen ausgeschaltet werden, solange kein Zugriff erfolgt.

Schau einfach mal, ob die Karte an regelmäßigen Punkten hängenbleibt, bei mir wars z.B. alle 64MB auf ner 256MB-Karte. Bei einer Datei, die

100MB lang war und mehrfach hintereinander gelesen wurde, blieb sie dann übrigens nur das erste mal bei 64MB hängen und danach nicht mehr. Die beiden ersten Bänke blieben dann wohl dauerhaft aktiv. Bei einer Datei über drei Bänke hats hingegen an jeder Grenze gehakt.

Abhilfe war damals, statt "read sector" das "read multiple sectors"-Kommando zu benutzen, dann hat die Karte wohl vorausschauend gehandelt. Für stark fragmentierte Dateien ist das allerdings nutzlos...

Gruß, Michael.

Reply to
Michael Eggert

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.