Die SEF-Plattform fĂŒr programmgesteuerte Flash-Laufwerke wurde veröffentlicht.

Die Organisation Linux Foundation hat die erste Ausgabe einer offenen Plattform fĂŒr softwaregesteuerte Flash-Speicher SEF (Software Enabled Flash) vorgestellt, die auf dem von der Firma KIOXIA (ehemals Toshiba Memory Corporation) bereitgestellten Code basiert, in der 1980 der Flash-Speicher erfunden wurde. Der Quellcode des Tools ist in der Programmiersprache C geschrieben und wird unter der BSD-Lizenz veröffentlicht.

Das Toolkit umfasst eine Reihe von Patches fĂŒr den Linux-Kernel, einen Blocktreiber fĂŒr SEF-GerĂ€te (Software Enabled Flash), Befehlszeilen-Dienstprogramme, paravirtualisierte SEF-Treiber fĂŒr QEMU, eine Bibliothek mit API zur Anwendungsentwicklung sowie Patches fĂŒr nvme-cli und FIO, die SEF-UnterstĂŒtzung hinzufĂŒgen. Das SDK umfasst auch eine Referenzimplementierung der Softwareebene FTL (Flash Translation Layer), die die Übersetzung von BlockgerĂ€t-Befehlen in Zugriffe auf den tatsĂ€chlichen Flash-Speicherchip, Garbage Collection und die Verteilung von Daten auf Speicherzellen ermöglicht. FTL implementiert die UnterstĂŒtzung fĂŒr flexible Datenplatzierung (FDP – Flexible Data Placement), Zonierung (ZNS – Zoned Namespace) und die NVMe-Spezifikation.

Bei herkömmlichen Flash-Speichern wirkt der Speicher fĂŒr externe Systeme wie eine Black Box, in der ein Teil des Speichers fĂŒr Dienstoperationen reserviert ist, die Leistungskennzahlen unbestĂ€ndig sind und unvorhersehbare Verzögerungen aufgrund interner Controller-AktivitĂ€ten auftreten, beispielsweise wĂ€hrend der Garbage Collection. Im Gegensatz zu traditionellen Flash-Speichern, bei denen die Firmware des Controllers fĂŒr die Datenverteilung, die Isolierung fehlerhafter Blöcke und die Garbage Collection verantwortlich ist, ermöglichen Speicher mit SEF-UnterstĂŒtzung, die Logik der niedrigen Ebene der Interaktion mit dem Flash-Speicherchip in die Software und das Betriebssystem zu verlagern.

SEF ermöglicht eine direkte Kontrolle ĂŒber die physische Datenplatzierung, die Änderung von Lastverteilungsmethoden, das Management von PrioritĂ€ten und QoS, die Eliminierung zusĂ€tzlicher Übersetzungsschichten, die vollstĂ€ndige Nutzung des verfĂŒgbaren Speichers, die GewĂ€hrleistung eines vorhersehbaren Verhaltens des Speichers und die Unterteilung des Speichers in virtuelle GerĂ€te, die auf Eingabe-/Ausgabebasis isoliert sind und unterschiedliche PrioritĂ€ten in der Verarbeitung haben. Der in SEF vorgeschlagene Ansatz kann die Overhead-Kosten senken und die Effizienz des Kontakts mit dem Speicher durch Anpassung an die aktuellen Anforderungen der Garbage-Collection-Logik, der Speichervorhaltung und der Blockverteilung zur Verringerung des Verschleißes erhöhen.

Beispielsweise ermöglicht SEF eine Normalisierung der Leistung bei der Verwendung eines Arrays von zu verschiedenen Zeiten erworbenen Speichern mit unterschiedlichen Eigenschaften. FĂŒr Speicher, die hauptsĂ€chlich nur zum Lesen verwendet werden, können dank SEF einfachere Blockverteilungsalgorithmen genutzt und der fĂŒr administrative Zwecke reservierte Speicher reduziert werden.

Quelle: opennet.ru

60GB SSD 8Gb DDR4