Re: Fehler beim Lesen von CF-Karte

From: Marc Santhoff <M.Santhoff(at)t-online.de>
Date: Wed, 08 Jun 2005 20:05:28 +0200

Am Mittwoch, den 08.06.2005, 19:49 +0200 schrieb Bernd Walter:
> On Wed, Jun 08, 2005 at 07:39:35PM +0200, Marc Santhoff wrote:
> > Am Mittwoch, den 08.06.2005, 19:03 +0200 schrieb Bernd Walter:
> > > On Wed, Jun 08, 2005 at 06:00:15PM +0200, Marc Santhoff wrote:
> > > > Tag,
> > > >
> > > > ich habe hier eine CF-Karte, die Ärger macht.
> > > >
> > > > Als ad0 in einem Adapter gibt es diesen Fehler:
> > > >
> > > > hard eror reading fsbn 250336 0f 0-3 (ad0; cn=977 tn 7 sn 0) status=51
> > > > error=10
> > > >
> > > > Wenn ich sie in einem USB-Adapter habe und einmal komplett lesen lasse,
> > > > pasiert das:
> > > >
> > > > dd if=/dev/da0 of=/dev/null
> > > > (da0:umass-sim0:0:0:0): READ(10). CDB: 28 0 0 3 d2 0 0 0 1 0
> > > > (da0:umass-sim0:0:0:0): HARDWARE FAILURE asc:4b,0
> > > > (da0:umass-sim0:0:0:0): Data phase error
> > > > dd: /dev/da0: Input/output error
> > > > 250368+0 records in
> > > > 250368+0 records out
> > > > 128188416 bytes transferred in 1251.682612 secs (102413 bytes/sec)
> > > >
> > > > Darf ich davon ausgehen, daß die Karte einen physischen Defekt hat oder
> > > > gibt es andere mögliche Ursachen?
> > >
> > > Das Thema CF ist kompliziert.
> > > CF-Medien sind physikalisch größer als diese melden.
> > > Du hast immer eine gewissen Anzahl von Blöcken, die unbenutzt sind.
> > > Beim schreiben eines Sektors wird einer der unbenutzten genommen
> > > und nachher über Verwaltungstabellen zugewiesen.
> >
> > Im Grunde also wie bei Festplatten, ist ja auch eine Art ATA-Controller.
>
> Festplatten rotieren nicht - jedenfalls nicht was die Blöcke angeht :).
> Die tauschen erst aus, wenn etwas nicht tut.

LOL - Na gut, wenn bei Festplatten die Blocknummern rotieren, sind sie
wohl schrottreif. Aber die Technik unlesbare Blöcke gegen Reserve zu
tauschen ist ja ähnlich.

> > > Das wird gemacht um die Flash-Zellen gleichmässiger zu nutzen.
> > > Es gibt sogar Befehle mit denen das OS in der lage wäre Blöcke aus dem
> > > offerierten Platz, die vom FS unbenutzt sind, in den Rotationspool zu
> > > bringen.
> >
> > Stimmt, sowas gibt es für manche OS als kommerziellen TReiber.
>
> FreeBSD hat auch diversen Support dafür - PHK hat das eingebaut,
> damit malloc basierte md Laufwerke den Speicher wieder freigeben,
> wenn man Dateien löscht, aber den aktuellen Status in Bezug auf ATA
> dazu kenne ich nicht.
>
> > > Da es sich hierbei um einen Lesefehler handelt kannst du von einem
> > > Tabellenfehler ausgehen, der zwar auch ein physikalischer Defekt
> > > sein kann, aber meistens nur durch Stromverlust im ungünstigen Moment
> > > erzeugt wird.
> >
> > Ein ungünstiger Moment im klassischen Sinn, also montiertes Dateisystem
> > beim Abziehen oder sowas, war es definitiv nicht. Und die Karte war neu,
> > frisch aus dem Blister. Und gesteckt oder angeschlossen habe ich sie
> > immer nur ohne Netzspannung - vielleicht habe ich nicht immer lange
> > genug gewartet, bis die Netzteile sich entladen hatten, das wäre
> > möglich.
>
> Muss schon beim schreiben passieren - CF Medien sind ja eigendlisch
> dafür konstruiert worden, dass man die unter Strom ziehen kann.

Das ist komisch, die Karte ist zumindest partitioniert/ge'sliced' und
mit UFS formatiert worden. Der betreffende Sektor liegt so weit ich es
verstehen ganz hinten, Daten hat der eigentlich nicht (dachte ich,
s.u.).

Aber dann verstehe ich die Fehlermeldung beim booten auch: wegen der
Rotation war der Sektor gerade ganz vorne eingereiht, daß fällt das
natürlich auf.

Gruß,
Marc

To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Wed 08 Jun 2005 - 20:15:14 CEST

search this site