Wie bestimmt eine Festplatte, welche Platte/welcher Sektor verwendet werden soll? Ist im Laufwerk selbst ein Controller eingebaut? Oder liegt es am Motherboard? Am Betriebssystem?
Welche Art von Algorithmus wählt das aus? Es kann sicher weder zufällig noch sequentiell sein.
Inwiefern gelten die gleichen Fragen auch für eine SSD?
Antwort1
Wie bestimmt eine Festplatte, welche Platte/welcher Sektor verwendet werden soll?
Welche Art von Algorithmus wählt das aus? Es kann sicher weder zufällig noch sequentiell sein.
Das sind vertrauliche Informationen, die Sie wahrscheinlich nicht finden werden. Ein "Geschäftsgeheimnis" oder "Geheimzutat" wenn du möchtest...
Es gibt kein "seicht" Grund, warum es nicht zufällig oder sequentiell sein sollte... aber ich vermute, dass Festplattenhersteller den Datendurchsatz optimieren werden, indem sie Daten auf alle Platten verteilen. Es wird sehr wahrscheinlich einen "tief" Grund für die Speicherung der Daten an diesem Ort (moderne Festplatten grenzen an Magie und es sind enorme technische Kenntnisse erforderlich, um das meiste von dem, was da vor sich geht, zu verstehen).
Historisch gesehen war es offen und gut verstanden (sieheCHS, unten).
Ist im Laufwerk selbst ein Controller eingebaut?
Ja - eine moderne Festplatte stellt eineSATAoderSASSchnittstelle zum Host-Computer ... Diese Kommunikationsverbindung besteht zwischen dem Motherboard und dem Onboard-Controller der Festplatte.
Der Controller ist anschließend für die Verwaltung der Spindeldrehzahl, der Kopfposition, der Verarbeitung zwischen Lese-/Schreibanweisungen und der präzise getimten analogen Signale zu/von den Lese-/Schreibköpfen usw. verantwortlich.
Oder liegt es am Motherboard? Am Betriebssystem?
Historisch gesehen stellte sich die Festplatte als ein sehr einfaches Gerät dar – ein Schrittmotor oder eine Schwingspule wurde direkt von der Hauptplatine angetrieben, um die Kopfpositionen zu steuern, und die analogen Signale wurden vor der Übertragung an die Hauptplatine nur grob bereinigt.
Sieh dir das anVideo-Teardown einer Fujitsu 337 MB 8-Zoll-Festplattefür die grausamen Details. Springen Sie zu ~2:04 für einen Überblick über die Schnittstellen (Speichermodulgerät). Wie Sie sehen, gibt es dennoch eine beträchtliche Unterstützungsschaltung für die Schnittstellenbildung.
Die Adressierung der Festplatten erfolgte überCHS (Zylinder – Kopf – Sektor), aber in jüngerer Zeit werden sie angesprochen durchLBA (Logische Blockadressierung).
ICHdenkendass wir mit der Einführung von LBA auch Festplatten gesehen haben, die ihre eigenen fehlerhaften Sektoren verwalteten - sie in bereitgestellte "Ersatzteil"-Speicherplatz, wenn sie als fehlerhaft erkannt wurden. Wir haben also keine direkte Kontrolle mehr darüber, wo die Köpfe positioniert sind, welcher Kopf verwendet wird und auf welchen Sektor zugegriffen wird.
Bevor Festplatten ihre eigenen fehlerhaften Sektoren verwalteten, gab es werkseitig Labels mit einer Liste fehlerhafter Sektoren, die Sie beim Erstellen des Dateisystems in das System eingeben mussten. Alternativ dazu verwendeten Sie ein Tool wiebadblocks
um nach Problemen zu suchen. Beispiel:
Inwiefern gelten die gleichen Fragen auch für eine SSD?
Bei einer SSD wird der gesamte Flash-Speicher vom physischen in den virtuellen Adressraum abgebildet. Dies ermöglichtVerschleißnivellierungtransparent umgesetzt werden, ohnebeliebigWissen vom Hostcomputer.
Antwort2
Wodurch wird bestimmt, auf welche Platte/in welchen Sektor eine Festplatte schreibt?
Die in der Festplatte enthaltenen einzelnen Algorithmen und Anweisungen bestimmen den Speicherort der meisten an Festplatten gesendeten Daten.
Bei rotierenden Festplatten kann das Betriebssystem auf alle möglichen Adressen des Laufwerks zugreifen und KANN einen bestimmten Speicherort zum Lesen oder Schreiben angeben.
Bei SSDs virtualisiert der Controller die tatsächlichen Adressen, um einige der erweiterten Funktionen von SSDs zu unterstützen. Dazu gehören etwa Overprovisioning und die Fähigkeit, fehlerhafte Bits zu finden, zu markieren und sie auf eine schwarze Liste zu setzen, ohne sie tatsächlich zu verkleinern, sowie Caching und andere Dinge, sodass das Betriebssystem die tatsächlich möglichen Adressen einer SSD normalerweise nicht kennt.