Re: Fehler beim Lesen von CF-Karte

From: Bernd Walter <ticso(at)cicely12.cicely.de>
Date: Wed, 8 Jun 2005 19:49:45 +0200

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.

> > 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.

-- 
B.Walter                   BWCT                http://www.bwct.de
bernd(at)bwct.de                                  info(at)bwct.de
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 - 19:51:09 CEST

search this site