Einführung in SSD. Teil 2. Schnittstelle

Einführung in SSD. Teil 2. Schnittstelle

Im habe ich erwähnt, dass man bei den Steuern sparen kann, indem man in ein Dorf zieht. Im Netz gibt es Im Verlauf des Kurses „Einführung in SSD“ haben wir die Geschichte der Entstehung von Festplatten behandelt. Der zweite Teil wird sich mit den Schnittstellen zur Interaktion mit den Speichermedien beschäftigen.

Die Kommunikation zwischen dem Prozessor und den Peripheriegeräten erfolgt gemäß vordefinierten Vereinbarungen, die als Schnittstellen bezeichnet werden. Diese Vereinbarungen regeln die physikalische und die softwareseitige Ebene der Interaktion.

Die Schnittstelle ist die Gesamtheit der Mittel, Methoden und Regeln für die Interaktion zwischen den Elementen des Systems.

Die physikalische Realisierung der Schnittstelle beeinflusst die folgenden Parameter:

  • die Bandbreite des Kommunikationskanals;
  • die maximale Anzahl gleichzeitig angeschlossener Geräte;
  • die Anzahl der auftretenden Fehler.

Festplattenschnittstellen basieren auf Ein- und Ausgabepunkten, was das Gegenteil der Ein- und Ausgabe über den Speicher ist und keinen Platz im Adressraum des Prozessors beansprucht.

Parallele und serielle Anschlüsse

Nach der Art des Datenaustauschs werden die Ein- und Ausgabepunkte in zwei Typen unterteilt:

  • parallele;
  • serielle.

Wie der Name schon sagt, sendet ein paralleler Anschluss ein Maschinenwort, das aus mehreren Bits besteht, auf einmal. Der parallele Anschluss ist der einfachste Weg des Datenaustauschs, da er keine komplexen Schaltkreise erfordert. Im einfachsten Fall wird jedes Bit des Maschinenwortes über seine eigene Signalleitung gesendet, während für die Rückmeldung zwei Steuerleitungsleitungen verwendet werden: Daten bereit und Daten empfangen.

Einführung in SSD. Teil 2. Schnittstelle
Parallele Anschlüsse erscheinen auf den ersten Blick sehr skalierbar: mehr Signalleitungen – mehr Bits werden gleichzeitig übertragen und somit auch eine höhere Bandbreite. Dennoch führt die Zunahme der Signalleitungen zu Interferenzen, die zu Verzerrungen der übertragenen Nachrichten führen.

Serielle Anschlüsse sind das Gegenteil von parallelen. Der Versand von Daten erfolgt jeweils nur bitweise, was die Gesamtanzahl der Signalleitungen reduziert, aber den Eingabe-/Ausgangscontroller komplexer macht. Der Sendekontroller empfängt das Maschinenwort auf einmal und muss es bitweise übertragen, während der Empfangskontroller seinerseits die Bits in der gleichen Reihenfolge empfangen und speichern muss.

Einführung in SSD. Teil 2. Schnittstelle
Eine geringe Anzahl von Signalleitungen ermöglicht es, die Übertragungsfrequenz der Nachricht störungsfrei zu erhöhen.

SCSI

Einführung in SSD. Teil 2. Schnittstelle
Die Small Computer Systems Interface (SCSI) wurde 1978 eingeführt und ursprünglich entwickelt, um Geräte verschiedener Profile in einem einzigen System zu verbinden. Die Spezifikation SCSI-1 sah die Verbindung von bis zu 8 Geräten (einschließlich des Controllers) vor, wie zum Beispiel:

  • Scanner;
  • Bandlaufwerke (Streamer);
  • optische Laufwerke;
  • Festplatten und andere Geräte.

Ursprünglich trug SCSI den Namen Shugart Associates System Interface (SASI), aber das Normungskomitee lehnte den Namen zu Ehren des Unternehmens ab, und nach einem Brainstorming-Tag entstand der Name Small Computer Systems Interface (SCSI). Der 'Vater' von SCSI, Larry Boucher, meinte, dass die Abkürzung ausgesprochen werden sollte wie 'sexy', aber Dal Allan las es als 'sсuzzy' ('sсazi'). In der Folge hat sich die Aussprache 'sсazi' fest mit diesem Standard verbunden.

In der SCSI-Terminologie werden die angeschlossenen Geräte in zwei Typen unterteilt:

  • Initiatoren;
  • Zielgeräte.

Der Initiator sendet einen Befehl an das Zielgerät, das dann eine Antwort an den Initiator sendet. Initiatoren und Zielgeräte sind an einem gemeinsamen SCSI-Bus angeschlossen, dessen Bandbreite im SCSI-1 Standard 5 MB/s beträgt.

Die verwendete Topologie 'gemeinsamer Bus' bringt eine Reihe von Einschränkungen mit sich:

  • am Ende des Busses sind spezielle Geräte erforderlich — Terminatoren;
  • die Bandbreite des Busses wird unter allen Geräten aufgeteilt;
  • die maximale Anzahl von gleichzeitig angeschlossenen Geräten ist begrenzt.

Einführung in SSD. Teil 2. Schnittstelle

Geräte am Bus werden durch eine eindeutige Nummer identifiziert, die als SCSI Target IDbezeichnet wird. Jedes SCSI-Gerät im System wird durch mindestens ein logisches Gerät repräsentiert, dessen Adressierung durch eine eindeutige Nummer, die innerhalb des physischen Geräts vergeben wird, erfolgt. Logical Unit Number (LUN).

Einführung in SSD. Teil 2. Schnittstelle
Befehle in SCSI werden in Form von Befehlsbeschreibungsblöcken (Command Descriptor Block, CDB) gesendet, die aus einem Operationscode und Parametern des Befehls bestehen. Im Standard sind mehr als 200 Befehle beschrieben, die in vier Kategorien unterteilt sind:

  • Obligatorisch — müssen vom Gerät unterstützt werden;
  • Optional — können implementiert werden;
  • Herstellerspezifisch — werden von bestimmten Herstellern verwendet;
  • Veraltet — veraltete Befehle.

Unter den vielen Befehlen sind nur drei davon für Geräte obligatorisch:

  • TEST UNIT READY — Überprüfung, ob das Gerät bereit ist;
  • REQUEST SENSE — fragt den Fehlercode des vorherigen Befehls ab;
  • INQUIRY — Abfrage der grundlegenden Eigenschaften des Geräts.

Nach Erhalt und Verarbeitung des Befehls sendet das Zielgerät einen Statuscode an den Initiator, der das Ergebnis der Ausführung beschreibt.

Die weitere Verbesserung von SCSI (SCSI-2- und Ultra-SCSI-Spezifikationen) erweiterte die Liste der verwendeten Befehle und erhöhte die Anzahl der anschließbaren Geräte auf 16 sowie die Datenübertragungsrate über den Bus auf 640 MB/s. Da SCSI eine parallele Schnittstelle ist, war die Erhöhung der Datenübertragungsfrequenz mit einer Verkürzung der maximalen Kabellänge verbunden, was zu einer Unannehmlichkeit in der Nutzung führte.

Mit dem Ultra-3-SCSI-Standard wurde die Unterstützung für "Hot Plugging" eingeführt – das Anschließen von Geräten im eingeschalteten Zustand.

Die erste bekannte SSD mit SCSI-Schnittstelle kann als M-Systems FFD-350 angesehen werden, die 1995 veröffentlicht wurde. Die Festplatte hatte hohe Kosten und war nicht weit verbreitet.

Derzeit ist paralleles SCSI nicht mehr eine beliebte Schnittstelle für den Anschluss von Festplatten, aber der Befehlssatz wird nach wie vor aktiv in USB- und SAS-Schnittstellen verwendet.

ATA / PATA

Einführung in SSD. Teil 2. Schnittstelle
Benutzeroberfläche ATA (Advanced Technology Attachment), auch bekannt als PATA (Parallel ATA) wurde 1986 von Western Digital entwickelt. Der Marketingname des Standards IDE (Integrated Drive Electronics – "Elektronik, die in das Laufwerk eingebaut ist") unterstrich die wichtige Neuerung: Der Laufwerkscontroller war in das Laufwerk integriert und nicht auf einer separaten Erweiterungskarte.

Die Entscheidung, den Controller im Laufwerk zu platzieren, löste mehrere Probleme auf einmal. Erstens verringerte sich der Abstand vom Speicher zum Controller, was sich positiv auf die Leistung des Speichers auswirkte. Zweitens war der integrierte Controller nur auf einen bestimmten Typ von Laufwerk optimiert und somit günstiger.

Einführung in SSD. Teil 2. Schnittstelle
ATA verwendet, wie SCSI, einen parallelen Eingabe-Ausgabe-Modus, was sich in den verwendeten Kabeln widerspiegelt. Für den Anschluss von Festplatten mit der IDE-Schnittstelle sind 40-polige Kabel erforderlich, die auch als Flachbandkabel bezeichnet werden. In den neueren Spezifikationen werden 80-polige Flachbandkabel verwendet, von denen mehr als die Hälfte zur Erdung dient, um Interferenzen bei hohen Frequenzen zu reduzieren.

An dem ATA-Flachbandkabel gibt es zwei bis vier Anschlüsse, von denen einer an das Motherboard angeschlossen wird und die anderen an die Speicherlaufwerke. Wenn zwei Geräte mit einem Kabel angeschlossen werden, muss eines von ihnen als Master, und das andere als Slave. Das dritte Gerät kann ausschließlich im Modus „Nur Lesen“ angeschlossen werden.

Einführung in SSD. Teil 2. Schnittstelle
Die Position des Jumpers bestimmt die Rolle des jeweiligen Geräts. Die Begriffe Master und Slave sind im Hinblick auf die Geräte nicht ganz korrekt, da alle angeschlossenen Geräte relativ zum Controller Slaves sind.

Eine besondere Neuerung in ATA-3 ist das Erscheinen Self-Monitoring, Analysis and Reporting Technology (S.M.A.R.T.). Fünf Unternehmen (IBM, Seagate, Quantum, Conner und Western Digital) haben ihre Kräfte gebündelt und die Technologie zur Bewertung des Zustands von Speichermedien standardisiert.

Die Unterstützung für Solid-State-Laufwerke kam mit der vierten Version des Standards, die 1998 veröffentlicht wurde. Diese Version des Standards gewährleistete eine Datenübertragungsrate von bis zu 33,3 MB/s.

Der Standard stellt strenge Anforderungen an die ATA-Kabel:

  • Das Kabel muss unbedingt flach sein;
  • Die maximale Kabellänge beträgt 18 Zoll (45,7 Zentimeter).

Ein kurzes und breites Kabel war unpraktisch und störte die Kühlung. Es wurde zunehmend schwieriger, die Übertragungsfrequenz mit jeder neuen Version des Standards zu steigern, und ATA-7 entschloss sich zu einer radikalen Lösung: Die parallele Schnittstelle wurde durch eine serielle ersetzt. Danach erhielt ATA das Wort Parallel und wurde PATA genannt, während die siebte Version des Standards einen anderen Namen erhielt — Serial ATA. Die Nummerierung der SATA-Versionen begann bei eins.

SATA

Einführung in SSD. Teil 2. Schnittstelle
Der Serial ATA-Standard (SATA) wurde am 7. Januar 2003 vorgestellt und löste die Probleme seines Vorgängers durch folgende Änderungen:

  • Der parallele Port wurde durch einen seriellen ersetzt;
  • Das breite 80-adrige Kabel wurde durch ein 7-adriges ersetzt;
  • Die Topologie „gemeinsame Bus“ wurde durch eine Punkt-zu-Punkt-Verbindung ersetzt.

Obwohl der SATA 1.0-Standard (SATA/150, 150 MB/s) nur geringfügig schneller war als ATA-6 (UltraDMA/130, 130 MB/s), war der Übergang zur seriellen Datenübertragung eine „Vorbereitung des Bodens“ für höhere Geschwindigkeiten.

Die sechzehn Signalleitungen für die Datenübertragung in ATA wurden durch zwei verdrillte Paare ersetzt: eines für die Übertragung, das andere für den Empfang. Die SATA-Stecker sind so konstruiert, dass sie gegenüber mehrfachen Wiederverbindungen widerstandsfähiger sind, und die Spezifikation SATA 1.0 ermöglichte das „Hot Plugging“.

Einige Pins an den Laufwerken sind kürzer als alle anderen. Dies wurde zur Unterstützung des „Hot Swapping“ (Hot Swap) gemacht. Beim Austausch „verliert“ das Gerät die Leitungen und „findet“ sie in einer festgelegten Reihenfolge wieder.

Etwas mehr als ein Jahr später, im April 2004, wurde die zweite Version der SATA-Spezifikation veröffentlicht. Neben der Erhöhung auf 3 Gbit/s führte SATA 2.0 die Technologie Native Command Queuing (NCQ) ein. Geräte, die NCQ unterstützen, sind in der Lage, die Reihenfolge der auszuführenden Befehle selbstständig zu organisieren, um die maximale Leistung zu erreichen.

Einführung in SSD. Teil 2. Schnittstelle
In den folgenden drei Jahren arbeitete die SATA Working Group daran, die bestehende Spezifikation zu verbessern, und in Version 2.6 wurden kompakte Anschlüsse wie Slimline und micro SATA (uSATA) eingeführt. Diese Anschlüsse sind verkleinerte Kopien des originalen SATA-Anschlusses und wurden für optische Laufwerke und kleine Festplatten in Laptops entwickelt.

Trotz der ausreichenden Bandbreite der zweiten Generation von SATA für Festplatten benötigten Solid-State-Laufwerke mehr. Im Mai 2009 wurde die dritte Version der SATA-Spezifikation mit einer erhöhten Bandbreite von 6 Gbit/s veröffentlicht.

Einführung in SSD. Teil 2. Schnittstelle
Besonderes Augenmerk wurde den Solid-State-Laufwerken in der Revision SATA 3.1 gewidmet. Ein Mini-SATA-Anschluss (mSATA) wurde eingeführt, der für den Anschluss von Solid-State-Laufwerken in Laptops vorgesehen ist. Im Gegensatz zu Slimline und uSATA war der neue Anschluss dem PCIe Mini ähnlich, jedoch nicht elektrisch mit PCIe kompatibel. Neben dem neuen Anschluss konnte SATA 3.1 mit der Möglichkeit prahlen, TRIM-Befehle zusammen mit Lese- und Schreibbefehlen in die Warteschlange einzureihen.

Der TRIM-Befehl benachrichtigt das Solid-State-Laufwerk über Datenblöcke, die keine nützlichen Informationen enthalten. Bis SATA 3.1 führte die Ausführung dieses Befehls zu einem Rücksetzen der Caches und einer Unterbrechung der E/A-Vorgänge, gefolgt von der Ausführung des TRIM-Befehls. Dieser Ansatz beeinträchtigte die Leistung der Festplatte bei Löschvorgängen.

Die SATA-Spezifikation konnte mit dem rasanten Anstieg der Zugriffszeiten bei Solid-State-Laufwerken nicht Schritt halten, was 2013 zur Einführung eines Kompromisses namens SATA Express im Standard SATA 3.2 führte. Anstatt die Bandbreite von SATA erneut zu verdoppeln, setzten die Entwickler auf den weit verbreiteten PCIe-Bus, dessen Geschwindigkeit 6 Gbit/s übersteigt. Laufwerke mit Unterstützung für SATA Express erhielten einen eigenen Formfaktor namens M.2.

SAS

Einführung in SSD. Teil 2. Schnittstelle
Der "konkurrierende" Standard SCSI stand ebenfalls nicht still und entwickelte sich nur ein Jahr nach dem Erscheinen von Serial ATA, im Jahr 2004, zu einer seriellen Schnittstelle weiter. Der neuen Schnittstelle wurde der Name Serial Attached SCSI (SAS) zugewiesen.

Trotz der Tatsache, dass SAS ein Set von SCSI-Befehlen übernommen hat, waren die Änderungen erheblich:

  • serielle Schnittstelle;
  • 29-adriges Kabel mit Stromversorgung;
  • Punkt-zu-Punkt-Verbindung

Die Terminologie von SCSI wurde ebenfalls übernommen. Der Controller wird nach wie vor als Initiator bezeichnet, während die angeschlossenen Geräte als Ziele bezeichnet werden. Alle Zielgeräte und der Initiator bilden eine SAS-Domäne. Bei SAS hängt die Bandbreite der Verbindung nicht von der Anzahl der Geräte in der Domäne ab, da jedes Gerät seinen eigenen dedizierten Kanal nutzt.

Die maximale Anzahl gleichzeitig angeschlossener Geräte in einer SAS-Domäne überschreitet laut Spezifikation 16.000, und anstelle von SCSI-ID zur Adressierung wird eine Identifikation verwendet. World-Wide Name (WWN).

WWN ist eine eindeutige Identifizierung mit einer Länge von 16 Byte, die dem MAC-Adresse für SAS-Geräte ähnelt.

Einführung in SSD. Teil 2. Schnittstelle
Trotz der Ähnlichkeit der Anschlüsse von SAS und SATA sind diese Standards nicht vollständig kompatibel. Dennoch kann eine SATA-Festplatte an einen SAS-Anschluss angeschlossen werden, jedoch nicht umgekehrt. Die Kompatibilität zwischen SATA-Festplatten und der SAS-Domäne wird durch das SATA Tunneling Protocol (STP) gewährleistet.

Die erste Version des Standards SAS-1 hat eine Bandbreite von 3 Gbit/s, während die modernste Version, SAS-4, diesen Wert um das Siebenfache auf 22,5 Gbit/s erhöht hat.

PCIe

Einführung in SSD. Teil 2. Schnittstelle
Peripheral Component Interconnect Express (PCI Express, PCIe) ist eine serielle Schnittstelle zur Übertragung von Daten, die 2002 eingeführt wurde. Die Entwicklung wurde von Intel begonnen und später an eine spezielle Organisation, die PCI Special Interest Group, übergeben.

Die serielle Schnittstelle PCIe ist keine Ausnahme und stellt eine logische Fortsetzung des parallelen PCI dar, das für den Anschluss von Erweiterungskarten gedacht ist.

PCI Express unterscheidet sich erheblich von SATA und SAS. Die PCIe-Schnittstelle hat eine variable Anzahl von Leitungen. Die Anzahl der Leitungen entspricht den Potenzen von zwei und variiert im Bereich von 1 bis 16.

Der Begriff „Leitung“ in PCIe bezieht sich nicht auf eine spezifische Signalleitung, sondern auf einen separaten vollduplexen Kommunikationskanal, der aus folgenden Signalleitungen besteht:

  • Empfang+ und Empfang-;
  • Übertragung+ und Übertragung-;
  • vier Erdleitungen.

Die Anzahl der PCIe-Leitungen beeinflusst direkt die maximale Bandbreite der Verbindung. Der moderne Standard PCI Express 4.0 ermöglicht eine Übertragungsrate von 1,9 GByte/s pro Leitung und 31,5 GByte/s bei Verwendung von 16 Leitungen.

Einführung in SSD. Teil 2. Schnittstelle
Die „Appetiten“ der Solid-State-Laufwerke wachsen sehr schnell. Weder SATA noch SAS schaffen es, ihre Bandbreite zu erhöhen, um mit SSDs Schritt zu halten, was zur Entwicklung von SSD-Laufwerken mit PCIe-Anschluss führte.

Obwohl PCIe Add-In-Karten mit Schrauben befestigt werden, unterstützt PCIe „Hot-Swap“. Kurze Pins PRSNT (engl. present – anwesend) gewährleisten, dass die Karte vollständig im Slot installiert ist.

Solid-State-Laufwerke, die über PCIe angeschlossen werden, werden durch einen speziellen Standard geregelt. Spezifikation für die Host-Controller-Schnittstelle für nichtflüchtige Speicher. Sie sind in einer Vielzahl von Formfaktoren implementiert, über die wir im nächsten Teil berichten werden.

Entfernte Speicher

Mit der Schaffung großer Datenspeicher entstand die Notwendigkeit für Protokolle, die es ermöglichen, Speichergeräte außerhalb des Servers zu verbinden. Die erste Lösung in diesem Bereich war Internet SCSI (iSCSI), entwickelt von IBM und Cisco im Jahr 1998.

Die Idee des iSCSI-Protokolls ist einfach: SCSI-Befehle werden in TCP/IP-Pakete „verpackt“ und über das Netzwerk übertragen. Trotz der Remote-Verbindung entsteht für die Kunden die Illusion, dass das Speichergerät lokal angeschlossen ist. Ein Storage Area Network (SAN), das auf iSCSI basiert, kann auf der bestehenden Netzwerk-Infrastruktur aufgebaut werden. Der Einsatz von iSCSI senkt die Kosten erheblich für die Einrichtung von SAN.

Es gibt eine „Premium“-Version von iSCSI — Fibre Channel Protocol (FCP). Ein SAN, das FCP verwendet, wird über dedizierte Glasfaserverbindungen aufgebaut. Dieser Ansatz erfordert zusätzliches optisches Netzwerk-Equipment, bietet jedoch Stabilität und hohe Bandbreite.

Es gibt viele Protokolle zum Senden von SCSI-Befehlen über Computernetzwerke. Es gibt jedoch nur einen Standard, der das entgegengesetzte Szenario löst und es ermöglicht, IP-Pakete über den SCSI-Bus zu senden — IP-over-SCSI.

Die meisten Protokolle zur Einrichtung von SAN verwenden den SCSI-Befehlssatz zur Verwaltung von Speichermedien, es gibt jedoch Ausnahmen, wie beispielsweise das einfache ATA over Ethernet (AoE). Das AoE-Protokoll sendet ATA-Befehle in Ethernet-Paketen, aber im System werden die Speichergeräte als SCSI angezeigt.

Mit dem Aufkommen von NVM Express sind die Protokolle iSCSI und FCP nicht mehr in der Lage, den schnell wachsenden Anforderungen an Solid-State-Laufwerke gerecht zu werden. Es wurden zwei Lösungen entwickelt:

  • das Auslagern des PCI Express-Busses außerhalb des Servers;
  • die Schaffung des Protokolls NVMe over Fabrics.

Die Verwendung von PCIe ist mit der Schaffung komplexer Switching-Hardware verbunden, ändert jedoch das Protokoll nicht.

Das NVMe over Fabrics-Protokoll stellt eine gute Alternative zu iSCSI und FCP dar. Bei NVMe-oF werden Glasfaserverbindungen und der NVM Express-Befehlssatz verwendet.

DDR-T

Einführung in SSD. Teil 2. Schnittstelle
Die Standards iSCSI und NVMe-oF lösen das Problem der Verbindung von Remote-Disks als lokale, während Intel einen anderen Weg einschlug und das lokale Laufwerk so nah wie möglich an die CPU brachte. Die Wahl fiel auf DIMM-Steckplätze, in die der Arbeitsspeicher eingesteckt wird. Die maximale Bandbreite des DDR4-Kanals beträgt 25 GB/s, was die Geschwindigkeit des PCIe-Busses erheblich übersteigt. So entstand der Intel® Optane™ DC Persistent Memory-Speicher.

Um das Laufwerk in DIMM-Steckplätze einzuschließen, wurde ein Protokoll erfunden DDR-T, das physisch und elektrisch mit DDR4 kompatibel ist, jedoch einen speziellen Controller benötigt, der den Unterschied zwischen einem Speicher-Riegel und einem Laufwerk erkennt. Der Zugriff auf das Laufwerk ist langsamer als auf den Arbeitsspeicher, aber schneller als auf NVMe.

Das DDR-T-Protokoll ist nur mit Intel® Prozessoren der Cascade Lake-Generation oder neuer verfügbar.

Fazit

Fast alle Schnittstellen haben einen langen Entwicklungsweg vom seriellen zum parallelen Datentransfer zurückgelegt. Die Geschwindigkeiten von Solid State Drives wachsen rasant; noch gestern waren SSDs eine Neuheit, heute sorgt NVMe nicht mehr für großes Staunen.

In unserem Labor Selectel Lab Sie können SSDs und NVMe-Laufwerke selbst testen.

Nur registrierte Benutzer können an der Umfrage teilnehmen. Bitte einloggen.

Werden die NVMe-Laufwerke klassisches SSD in naher Zukunft verdrängen?

  • 55.5%Ja100

  • 44.4%Nein80

180 Benutzer haben abgestimmt. 28 Benutzer haben sich enthalten.

Quelle: habr.com

Zuverlässiges Hosting für Websites mit DDoS-Schutz kaufen, VPS VDS Server 🔥 Zuverlässiges Hosting für Websites mit DDoS-Schutz kaufen, VPS VDS Server - ProHoster