Das Solid State Drive (SSD) ist eine Art nichtflüchtiger Speicher (NVM), der Daten in seinen eingebetteten NAND-Flash-Chips speichert. Aufgrund der physikalischen Eigenschaften von NAND-Flash ist die Zugriffslatenz einer SSD viel kürzer als bei herkömmlichen Festplattenlaufwerken (HDD). Das bedeutet, dass die gespeicherten Daten auch dann nicht verloren gehen, wenn die Stromversorgung unterbrochen oder ausgeschaltet wird.
Verwendung des Caches zur Verbesserung der wahrgenommenen Leistung
Die NAND-Flash-Branche hat sich seit mehreren Jahren rasant weiterentwickelt. SSDs gehören weltweit zu den beliebtesten Speichertypen, da ihre Preise im Hinblick auf Geschwindigkeit, Kapazität und Preis konkurrenzfähiger geworden sind als Festplatten. Es wurden fortschrittlichere NAND-Flash-Architekturen mit mehreren Ebenen (MLC) vorgeschlagen, beispielsweise 2-Bit-MLC / 3-Bit-TLC / 4-Bit-QLC-Flash. Diese brandneuen Technologien senken jedoch die Kosten, bringen jedoch einige Kompromisse mit sich.
Beispielsweise ist die Latenz beim Zugriff auf MLC-Flash viel langsamer als bei Single-Level-Cell-Flash (SLC). Allerdings sind Benutzer immer auf der Suche nach einem besseren Benutzererlebnis, und SSD-Hersteller versuchen verschiedene Ansätze, um die Leistung ihrer Produkte zu verbessern.
Das Konzept des „Cache“ wird häufig in SSDs implementiert, um die Benutzererfahrung zu verbessern. Schließlich geht es den Benutzern vor allem um die Übertragungsrate zwischen einem Host (z. B. einem Personal Computer) und einem Speichergerät (z. B. einer SSD) und nicht um die Zeit, die benötigt wird, bis ihre Daten physisch in den Flash-Speicher programmiert werden ,
Eine gängige Strategie besteht darin, die empfangenen Daten in einem Speicher abzulegen, der die Daten schneller programmiert als der primäre Speicherbereich (z. B. NAND-Flash), wenn die Daten zum ersten Mal vom Host übertragen werden. Die Datenverarbeitungszeit wird erheblich verkürzt, obwohl die Daten noch nicht in den Hauptspeicher programmiert wurden.
Random Access Memory (RAM) ist heutzutage eines der schnellsten Speichermedien, weshalb RAM oft für den Datenaustausch mit der Central Processing Unit (CPU) verwendet wird. RAM ist auch für Cache-Implementierungen sehr beliebt, sei es Static Random Access Memory (SRAM) oder Dynamic Random Access Memory (DRAM). Um ein besseres Benutzererlebnis zu erreichen, werden Cache-Techniken auch häufig in aktuellen SSD-Produkten implementiert. Bei geeigneten Designs und Implementierungen profitieren Verbraucher von den Vorteilen der Zugriffsgeschwindigkeit, die RAM mit sich bringt.
Das Problem des Datenverlusts im RAM-Cache
Obwohl RAM im SSD-Design als Cache verwendet werden kann, gibt es immer noch ein inhärentes Problem, das gelöst werden muss. Während die Verwendung von RAM den Benutzern eine attraktive Datenzugriffsgeschwindigkeit bietet, besteht ein Kompromiss aufgrund der physikalischen Eigenschaften von RAM in der Volatilität. Alle im RAM gespeicherten Daten gehen verloren, sobald die Stromversorgung unterbrochen wird. Wenn es möglich wäre, das Risiko eines Datenverlusts im RAM aufgrund der Volatilität des RAM zu reduzieren oder sogar zu eliminieren, würde dies die Datenintegritätsfähigkeit der SSD stärken. Aber die Einführung von RAM im SSD-Design bringt tatsächlich erhebliche Vorteile für das Benutzererlebnis.
Es gibt einige mögliche Ansätze, das Problem der Datenintegrität zwischenzuspeichern. Ein Ansatz besteht darin, nur wiederherstellbare Daten in den RAM-Cache zu legen. Die Verwendung von DRAM zum Caching in SSDs dient dazu, „heiße“ Daten zwischenzuspeichern, die aus den im Flash gespeicherten Quelldaten wiederhergestellt werden können. Selbst wenn die zwischengespeicherten Daten aufgrund eines plötzlichen Stromausfalls beschädigt werden, kann der SSD-Controller auf diese Weise die Daten immer noch entsprechend den vorhandenen Daten im Flash wiederherstellen.
Leider können mit diesem Ansatz nicht alle Szenarien abgedeckt werden. Von Benutzern auf der Hostseite in den RAM-Cache einer SSD programmierte Daten können als „nicht wiederherstellbare“ Daten angesehen werden. Bei einem Stromausfall gehen diese Daten verloren. Um das Risiko des Verlusts zwischengespeicherter Daten zu verringern, hat Phison eine proprietäre Technologie namens SmartFlush™ entwickelt.
PHISON-Technologie: SmartFlush™
Phisons proprietäre Technologie, SmartFlush™basiert auf einem Grundprinzip: Zwischenspeichern von Daten aus dem RAM in den Flash zu geeigneten Zeitpunkten. Diese Strategie ist unkompliziert. SmartFlush™ verschiebt zwischengespeicherte Daten vom RAM (flüchtig) in den Flash-Speicher (nichtflüchtig), bevor es zu einem unerwarteten Stromausfall kommt.
Der entscheidende Teil dieses Ansatzes besteht darin, wann Daten vom RAM in den Flash geleert werden sollen. Wenn die Datenlöschung zu häufig erfolgt, bleibt eine SSD möglicherweise im ausgelasteten Zustand, selbst wenn ein Host keine Befehle mehr an das Gerät sendet. Dadurch kann eine SSD nicht in den Schlafmodus wechseln, sodass der Stromverbrauch möglicherweise höher als erwartet ausfällt. Außerdem kann das häufige Auslösen der Datenlöschung die Fließfähigkeit von SSD-Vorgängen beeinträchtigen. Wenn dieser Löschmechanismus jedoch nicht oft genug ausgelöst wird, steigt die Wahrscheinlichkeit eines Cache-Datenverlusts. Das Gleichgewicht zwischen der Häufigkeit, mit der Daten vom RAM in den Flash-Speicher geleert werden, und der Flüssigkeit des SSD-Betriebs ist der Schlüssel.
Es gibt zwei Ansätze für den Zeitpunkt der Datenlöschung:
-
-
- Zeitpunkt 1: Wenn die Datengröße im RAM-Cache größer ist als eine Seite im Flash. Dies ist ein sehr grundlegender Ansatz. Da Flash-Typen, die üblicherweise auf dem SSD-Markt verwendet werden, jetzt seitenbasiert programmierbar sind, ist es sinnvoll, zwischengespeicherte Daten erst dann in den Flash-Speicher zu übertragen, wenn die Größe der zwischengespeicherten Daten die Kapazität einer einzelnen Seite im Flash übersteigt.
- Zeitpunkt 2: Der Host sendet keine Befehle mehr an das Gerät. Der Hauptzweck von SmartFlush™ besteht darin, den Verlust von Caching-Daten zu verhindern. Aus Sicht der Benutzer sollte dieser Vorgang im Hintergrund ausgeführt werden und keine wesentlichen Auswirkungen auf das allgemeine Benutzererlebnis haben. Folglich kann der Moment, in dem ein Host aufhört, Anfragen an das Gerät zu senden, als angemessener Zeitpunkt angesehen werden.
-
Die Häufigkeit der Datenlöschung sollte bei der Entwicklung der Gesamtspezifikation einer SSD berücksichtigt werden. Die tatsächliche Implementierung dieser Technologie hängt vom Hardware-Design und Firmware-Design in SSD-Produkten ab. Es ist sehr kompliziert, ein perfektes Gleichgewicht des Timings der Datenlöschung für verschiedene Benutzerszenarien in der realen Welt zu erreichen, und Phison ist bei dieser Abstimmung gut.
SmartFlush™ von Phison verbessert die wahrgenommene Leistung und gewährleistet gleichzeitig die Datenintegrität
In diesem Artikel werden nur die grundlegenden Konzepte von SmartFlush™ vorgestellt, anstatt alle Details durchzugehen. In praktischen Fällen wird SmartFlush™ mit komplexeren Methoden als den hier aufgeführten implementiert, und diese Methoden können zwischen verschiedenen Flash-basierten Produkten von Phison und verschiedenen Benutzerszenarien unterschiedlich sein. Doch ganz gleich, wie unterschiedlich die Implementierungsmethoden sind, die Vorteile des SmartFlush™-Mechanismus sind dieselben. Mit dieser intelligenten Funktion von Phison kann das Vertrauen der Benutzer in die Datenintegrität auf die nächste Stufe gehoben werden.