Effiziente Speichernutzung Was ist ein Flash Translation Layer (FTL)?

Autor / Redakteur: zeroshope / Dr. Jürgen Ehneß

Ein Flash Translation Layer befindet sich im Controller eines Flash-Speichers. Er zeichnet hier für die tatsächliche Nutzung des Speichers verantwortlich. Dabei hat er eine ganze Reihe von Aufgaben zu meistern.

Die wichtigsten IT-Fachbegriffe verständlich erklärt.
Die wichtigsten IT-Fachbegriffe verständlich erklärt.
(Bild: © aga7ta - Fotolia)

Ein Flash Translation Layer (FTL) ist für die effiziente Nutzung von Flash-Speichern wie zum Beispiel SSDs verantwortlich. Beheimatet ist er im Controller des Speichersystems. Der Name (deutsch: „Flash-Übersetzungsschicht“) ist etwas missverständlich. Bei einem Flash Translation Layer handelt es sich tatsächlich um eine Verbindung von Hard- und Software, die durch dieses Zusammenspiel eine Reihe zentraler Aufgaben für die Speichernutzung vornehmen kann.

Die Funktionen lassen sich gebündelt durch eine Metapher erklären: Der Flash Translation Layer liegt wie ein Sieb vor dem physischen Speicher. Er kann dadurch die herein- oder herausströmenden Daten lenken. Um dies möglichst effizient zu tun, kann er die Position der Löcher des Siebs anpassen.

Aufgaben eines Flash Translation Layers

Ein FTL nimmt die folgenden Aufgaben wahr:

  • Wear-Leveling: Der Speicher wird gleichmäßig ausgenutzt.
  • Garbage-Collection: Die Nutzung von freiem Speicher wird optimal geplant.
  • Error Correction Code (ECC): Fehler in der Ausführung von Befehlen werden behoben.
  • Bad Block Management: Daten werden aktiv so verschoben, dass keine „schlechten Blöcke“ entstehen können. Damit ist gemeint, dass diese mit Seiten aus unterschiedlichen Informationssätzen gefüllt sind. Eine Löschung von Daten ist in Flash-Speichern nur blockweise möglich. Ein „schlechter Block“ hätte deshalb massive Folgen für eine Vielzahl der gespeicherten Informationen.
  • Logical-to-Physical-Adress-Translation: Logischen Adressen wird ein physischer Platz auf dem Speicher zugewiesen.

Insgesamt geht es darum, die sogenannte „Write Cliff“ („Beschreibungsklippe“) zu vermeiden. Diese wird erreicht, wenn alle Blöcke im Speicher beschrieben sind. Die Leistungsfähigkeit beim Beschreiben von SSDs sinkt in diesem Fall signifikant (die Leseleistung bleibt allerdings unverändert). Es mangelt an logischen Zuordnungsorten. Vor allem das Wear-Leveling und die Garbage-Collection sollen genau dieses Problem verhindern.

(ID:47581780)