Forum: Mikrocontroller und Digitale Elektronik Komische IDE-Festplatte


von Tobias P. (hubertus)


Lesenswert?

Hallo Lete,
mir war mal wieder langweilig. Also habe ich etwas ausprobiert, was ich 
schon lange tun wollte (was eigentlich auch nichts neues ist): die 
Ansteuerung einer IDE-Festplatte mittels meinem 8051 Board.
Nun - das klappt ganz schön, reinschreiben und rauslesen der Daten.
Eines habe ich jedoch festgestellt, was mich verwundert:

Laut dem "Identify Drive" Befehl müsste die Festplatte 637 Cylinders, 2 
Heads und 33 Sectors per Track aufweisen. (ja ich weiss, es ist eine 
SEHR kleine Festplatte; halt ne alte, die ich irgendwo gefunden habe).
Nun - dies tut sie nicht! Versuche ich z.b. auf einen Sektor mit einer 
Nummer >17 zuzugreifen, schlägt das Kommando fehl; im Error Register 
steht dann "ID Not Found". Wenn ich das nun so durchprobiere komme ich 
auf eine ganz andere Geometrie:

615 Cylinders, 4 Heads, 17 Sectors per Track.

Was ich mich einerseits Frage: Warum ist dies so? und warum wird mir der 
Zugriff auf Sektoren > 17, Cylinder > 615 verweigert? Immer kommt "ID 
Not Found".

Normalerweise würde man sich darab ja nicht stören, denn die beiden 
Angaben sollten ja wenigstens dieselbe Kapazität ergeben. Aber es 
ergeben sich zwei unterschiedliche Festplattenkapazitäten, wenn man 
jeweils Cylinders  Heads  Sectors * 512 rechnet.

Kann mir jemand verraten, woran das liegt? Meine Ansteuerung kann so 
falsch nicht sein; man hört die Harddisk sehr schön Arbeiten und 
geschriebenes Zeug kann man wieder rauslesen.

Grüsse
 Tobias

von Benedikt K. (benedikt)


Lesenswert?

Wenn ich mich nicht verrechnet habe, sind das 20MB ?
Wie groß ist die Platte den wirklich, denn 20MB gab es ziemlich sicher 
nicht als IDE.

von Tobias P. (hubertus)


Lesenswert?

@Benedikt:
Ich weiss nicht, wie gross die Platte ist. Steht leider nicht drauf :( 
Es ist eine uuur uuur alte Platte, die ist schon ein paar Jahre älter 
als ich ;) das einzige was Draufsteht: "Conner Peripherals CP3024".

Und - ich meinte, 20 MB gab es schon als IDE! Es gab noch viel 
kleineres. Zu der Zeit, als diese Harddisk aktuell war, lohnte es sich 
offenbar, eine 20 MB Harddisk zu bauen. Muss damals unheimlich viel 
Speicher gewesen sein ;)

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Bei so (ur)alten IDE-Festplatten funktionierte meiner Erfahrung nach die 
"identify-drive"-Geschichte noch nicht richtig. Deine Platte dürfte eine 
der allerersten IDE-Platten überhaupt sein.

Es kann durchaus sein, daß das Kommando die physikalischen Rohdaten 
liefert, mit denen die Platte tatsächlich arbeitet, die IDE-Elektronik 
diese aber auf die standardisierten Parameter (mit 17 Sektoren) 
umrechnet und den "Verschnitt" als Reservesektoren nutzt.

In der vorderen Altsteinzeit wurden Festplatten im AT-Bios mit einer 
Nummer parametriert, die einen Parametersatz aus einer Tabelle mit fest 
vorgegebenen Laufwerkstypen auswählte. Bis es eine zuverlässig 
funktionierende automatische Identifizierung gab, dauerte es noch einige 
Zeit. Bei Festplatten unter 100 MByte habe ich sowas nur selten gesehen.

von akw (Gast)


Lesenswert?


von condi (Gast)


Lesenswert?

doch gab es, waren z.b. in Siemens PDC-2M verbaut.

von Tobias P. (hubertus)


Lesenswert?

@Rufus: Naja, eine der ersten Festplatten ist es wohl nicht. Immerhin 
ist sie bereits in einem 3.5" Gehäuse ;) Irgend ein Datum oder so steht 
leider nicht drauf.

Also wenn ich das Recht verstanden habe - Es ist normal, dass ich auf 
bestimmte Sektoren gar nicht zugreifen KANN? Wenn einer meiner Sektoren 
kaputt geht, merkt das die Elektronik und schaltet dann dafür einen 
anderen Sektor an diese Position. Sehe ich das so richtig? Sind dann so 
quasi "Ersatzsektoren".

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Nicht eine der ersten Festplatten, eine der ersten IDE-Festplatten. Und 
die waren durchweg alle in 3.5"-Bauform, wenn man mal von den deutlich 
späteren "Bigfoot"-Platten von Quantum absieht.

Bevor es IDE-Platten gab, wurden sogenannte MFM- bzw. RLL-Festplatten 
verwendet, die hatten zwei Anschlusskabel, ein 34adriges für die 
Laufwerkssteuerung und ein 20adriges für die Datenübertragung.

Und das mit den Reservesektoren war damals eine der großen 
Errungenschaften von IDE-Festplatten. MFM-, RLL- und ESDI-Festplatten 
waren vom Hersteller mit einem Aufkleber versehen, auf dem die bereits 
bei Herstellung bekannten defekten Sektoren aufgelistet waren. Beim für 
diese Platten wirklich noch durchführbaren "low level format" musste man 
diese Defektliste eingeben, eine reichlich nervige Prozedur.

[Edit]
Ich will nicht ausschließen, daß es kurzzeitig auch andere 5.25"-Platten 
mit IDE-Elektronik gegeben haben kann, die ST296 von Seagate wäre ein 
Kandidat für so etwas, vielleicht auch noch der Dauerläufer ST251.
Aber das waren bereits Rückzugsgefechte und in freier Wildbahn eher 
seltene Kandidaten.

von Tobias P. (hubertus)


Lesenswert?

@Rufus:
Okay. Und wie ist denn das jetzt, wenn so ein Sektor defekt geht? Merkt 
das die Elektronisch automatisch und blendet dann an der Adresse 
automatisch einen neuen Sektor ein, der noch "funktioniert" ? Wann merkt 
die Elektronik denn, dass ein Sektor defekt ist? Erst wenn ich darauf 
zugreife, oder jeweils beim "einschalten" der Festplatte?

Grüsse

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

> Und wie ist denn das jetzt, wenn so ein Sektor defekt geht? Merkt
> das die Elektronisch automatisch und blendet dann an der Adresse
> automatisch einen neuen Sektor ein, der noch "funktioniert" ?

So sollte es sein und so macht es seitdem jede Festplatte.

> Wann merkt die Elektronik denn, dass ein Sektor defekt ist?
> Erst wenn ich darauf zugreife, oder jeweils beim "einschalten"
> der Festplatte?

Beim Zugriff. Andernfalls würde jedes Einschalten einen kompletten und 
sehr zeitraubenden Selbsttest erfordern ...

Und mit S.M.A.R.T. gibt es seit einigen Jahren auch ein standardisiertes 
Interface, um auf die Erkenntnisse der Defektverwaltung zugreifen zu 
können.

von gast (Gast)


Lesenswert?


von Benedikt K. (benedikt)


Lesenswert?

Interessant. Ich kannte IDE Platten bisher nur als 50MB aufwärts. An 
20MB kenne ich nur die ST225.
Mit solch alten IDE Platten hatte ich bisher nur selten wirklichen 
Erfolg: Diese IDE Platten erfüllen nur die wenigsten der heutigen IDE 
Features.

von Andreas K. (a-k)


Lesenswert?

Rufus t. Firefly wrote:

> Ich will nicht ausschließen, daß es kurzzeitig auch andere 5.25"-Platten
> mit IDE-Elektronik gegeben haben kann, die ST296 von Seagate wäre ein
> Kandidat für so etwas,

War die nicht SCSI? Lang her, aber das könnte die Generation gewesen 
sein, für die Seagate einen eigenen billigen "Host-Adapter" ST01/02 
brachte, der technisch kaum mehr war als ein Parallel-Port mit 
zusätzlicher Arbitrations-Logik.

von Sebastian Heyn (Gast)


Lesenswert?

Mein erster Rechner hatte so eine platte drin. allerdings war das ein 
286 mit nem riesigen controller dafür, wenn ich mich recht entsinne. 
Hatte ich aber nicht lange. weil monkey island2 nicht draufgepasst hat 
(neben monkey1, stunts, prince of persia) gabs dann ne 100mb platte für 
450 mark. :-))

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Von der ST296 gab es auch eine SCSI-Variante, die ST296N. Die kleinste 
SCSI-Platte war die ST125N, eine 3.5"-Platte mit sagenhaften 20 MByte.
Die wurde gerne zusammen mit diesem Winz-SCSI-Adapter auf einen 
Blechrahmen montiert und konnte so als "Slot-Platte" in einen Steckplatz 
gesteckt werden.

Mich schaudert's heute noch.

Meine Erstbegegnung mit einer IDE-Platte war irgendeine 3.5"-Platte mit 
20 oder 40 MByte in einem IBM PS/2 Modell 30/286 (so eine Art 10 
MHz-AT), die hatte einen fünfzigpoligen Platinensteckverbinder, über den 
sie auch mit Strom versorgt wurde. An den Hersteller kann ich mich nicht 
erinnern, vielleicht war's WD. War 1.6" hoch ("halbe Bauhöhe", wie ein 
CD-Laufwerk) und wurde sehr warm.

Kürzlich habe ich bei Saturn einen 2 GByte-USB-Stick für 10 EUR gekauft.

Wie die Zeit vergeht ...

von Tobias P. (hubertus)


Lesenswert?

@Sebastian: Genau, die Festplatte hat einen riesen Controller drauf... 
Die Ganze untere Seite der Festplatte ist eine einzige grosse 
Leiterplatte, mit nichts als ICs drauf. Der Controller selbst sitzt in 
einem PLCC84 ;) wenn ich mit meiner jetzigen Festplatte vergleiche - Da 
sitzt grade mal ein einziger Chip drauf, noch ein paar SMT-Widerstände 
oder so und damit hat sichs. Und wenn ich mir die Spezifikationen 
anschaue, die "gast" gepostet hat... schauder. scheint nicht die 
allerbeste Festplatte zu sein die ich hier habe ;) Aber zum Basteln 
ideal. Und offensichtlich erfüllt sie alle IDE-Standards; ich habe die 
meisten Befehle, die in den ATA-Specs (Rev. 1) drin sind, mal 
durchprobiert. funzt aalles und stimmt auch prima mit den Specs überein. 
Nur dass die Festplatte offenbar in so einem komischen "translate mode" 
wie das glaube ich genannt wird, arbeitet, hat mich anfangs etwas 
verwirrt. Nun klappt aber alles :)

Danke euch für die Interessanten Infos, die Ihr mir gepostet habt! ;)

Übrigens, @Rufus: Erst kürzlich habe ich mi ein neues Handy gekauft. Da 
ist ne Speicherkarte drin, die ist vielleicht 5 auf 7 mm gross (oder 
etwas mehr), und fasst 512 MB.  Ein Kollege von mir hat sogar sowas mit 
2 GB ;) Wahrhaftig, interessant wie sich das zeuchs rasant entwickelt. 
;)

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.