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
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.
@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 ;)
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.
@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".
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.
@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
> 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.
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.
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.
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 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 ...
@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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.