News Enmotus MiDrive: SSD nutzt primär SLC- und sekundär QLC-Speicher

Ich zitiere mal aus einer Präsentation zu TLC Speicher eines großen Flash Herstellers der sich vor kurzem umbenannt hat(da diese confidental sind kann ich die Originale leider nicht posten)
- Controllers shall assign blocks which are called SLC blocks for pSLC mode. All pages in a SLC block shall be programed with pSLC mode. All pages in a TLC block shall be programed with TLC mode. Controllers shall not assign the blocks as SLC blocks which have been programmed with TLC mode and vice versa.
Wie passt das ganze jetzt mit diesen "dynamischen" pSLC Cache der TLC/QLC Drives zusammen? Die Antwort ist ganz einfach - die sind nicht dynamisch bezüglich der Größe des für pSLC reservierten Flashspeichers. Die Größe des Devices und die Aufteilung der Flash Zellen in pSLC und TLC ist immer statisch. Einzig wieviel pSLC Speicher wirklich aktiv verwendet wird, wird abhängig vom Befüllungsgrad entschieden. Daher geben die Hersteller ja auch immer eine maximal Größe des pSLC Caches an und sagen nicht einfach, solange Platz ist mach pSLC und danach TLC. Das funktioniert so einfach nicht im Zusammenspiel mit der Nutzung des pSLCs als Schreibcache. Und auch wenn von dynamischen pSLC Cache die Rede ist, ist die gesamte Konfiguration statisch was die Größen angeht und damit was die FW an Verwaltungsstrukturen bereitstellen muss, von was für Randbedingungen die Algorithmen ausgehen müssen etc. Wer alles selbst für embedded Geräte mit sehr beschränkten Ressourcen programmiert weiß, was für ein riesen Unterschied das ist, ob eine Konfiguration statisch oder dynamisch erfolgt und was für Auswirkungen das ganze hat.

Robo32 schrieb:
Der Grund dafür dürfte sein, dass ein Betrieb im SLC Modus doch sehr viel mehr Schreibzyklen zulässt und diese erst einbrechen wenn eben sehr viele Zustände gespeichert werden sollen.
In einem TLC Drive mit pSLC Cache sind typischerweise die Flashzellen des pSLC Caches diejenigen welche sich zuerst abnutzen, nicht die der TLC Zellen. Liegt einfach daran, dass sie trotz der höheren Haltbarkeit in dieser Konfiguration, viel öfter genutzt werden durch ihre Bestimmung als Cache. Man muss nämlich dran denken, dass diese immer genutzt werden beim Schreiben. Die Daten landen zuerst in den pSLC Zellen und werden dann bei Bedarf in den langsameren Bereich geschrieben. Wenn der pSLC Cache voll ist, wird dieses Weiterschreiben in den TLC erzwungen und deshalb brechen die Datenraten ein zu dem Zeitpunkt, das ändert aber nichts daran, dass die Daten immer erst in den pSLC Zellen landen. Direkt in TLC oder QLC wird von den Consumer SSDs nicht unterstützt. Das hat einfach den Grund, dass im Consumerbereich primär über die sequentielle Datenrate verkauft wird und nur sekundär über Haltbarkeit. Ein Device mit 100% TLC ist haltbarer als ein Device gleicher Größe mit 90% TLC und 10% pSLC Cache. Erst wenn man den pSLC nicht mehr als Schreibcache benutzt, kann er die Haltbarkeitsvorteile ausspielen und macht dann 100% pSLC Devices wesentlich haltbarer als gleich große TLC Devices.

C4rp3di3m schrieb:
Ich würde komplett auf SLC Modus schalten, immer!
Wenn du bei dir den Bedarf siehst pSLC Devices zu benötigen, im industrial Markt gibts die zu Hauf, aber wie Holt schon ausführte mit seinem Beispiel - kannst auch gleich ne SSD aus Samsungs Pro Line nehmen mit MLC. Die hat Vorteile gegenüber pSLC Devices aus TLC und QLC. pSLC aus MLC wäre dann zwar nochmal ne Nummer besser als MLC aber das gibts auch nicht im Consumermarkt.
 
Chuuei schrieb:
Die Antwort ist ganz einfach - die sind nicht dynamisch bezüglich der Größe des für pSLC reservierten Flashspeichers.
Doch, sind sie, siehe Intels Angaben zu 660p oder 665p:

Intel_660p_pSLC_Cachesize.png


(Quelle)

Intel_665p_pSLC_Cachesize.png


(Quelle)

Den Rest habe ich nicht gelesen, da schon der Anfrag vielleicht für diese konkreten NANDs gilt, aber pauschal definitiv falsch ist.
 
Chuuei schrieb:
Die Größe des Devices und die Aufteilung der Flash Zellen in pSLC und TLC ist immer statisch. Einzig wieviel pSLC Speicher wirklich aktiv verwendet wird, wird abhängig vom Befüllungsgrad entschieden.
Wenn die pSLC-Zellen exakt festgesetzt sind und nie mehr als QLC/TLC-Zelle verwendet werden können, warum sollte man seinen pSLC-Cache dann dynamisch beschneiden? Das macht doch keinen Sinn.

Ich dachte immer, es läuft so: Ich möchte X GB an Daten schreiben -> SSD speichert X GB in SLC ab. Schreibvorgang beendet -> SSD schreibt die X GB Daten im Hintergrund auf QLCs/TLCs und löscht anschließend die Daten im pSLC wieder.
Wenn die pSLC-Zellen jetzt alle gesetzt sind, warum sollte man dann weniger benutzen, wenn die SSD voller ist? So wie du behauptest, kann man darauf ja eh nichts mehr in QLC/TLC abspeichern.
 
Was Chuuei schreibt mag für die spezielle Version der NANDs gelten, aber nicht für alle. Andernfalls wären die heute üblichen, dynamischen Pseudo-SLC Schreibcaches ja auch gar nicht machbar, was zeigt, dass es eben nicht generell so ist. Bei den dynamischen Pseudo-SLC Schreibcaches wird die Größe des Bereiches der als Pseudo-SLC genutzt wird, ja eben je nach Füllstand der SSD angepasst, es werden also NAND Blöcke in den Pseudo-SLC Modus und wieder in den normalen TLC/QLC Modus umgeschaltet, sofern dies überhaupt nötig ist und der Pseudo-SLC Modus nicht einfach nur durch Beschreiben nur eine Bits realisiert wird, denn die Bits werden immer nacheinander geschrieben und nie alle gleichzeitig.
 
Zurück
Oben