Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

SSDs differ in a major way from HDDs because they store data on NAND semiconductor arrays. One SSD typically has multiple SSDs unterscheiden sich wesentlich von HDDs, da sie Daten auf NAND-Halbleiter-Arrays speichern. Eine SSD weist typischerweise mehrere (4-16)  NAND flash chips. Each of these chips are divided into blocks (around million NAND cells) which are further divided into pages (thousands of NAND cells). Pages are further divided into individual cells. Depending on the technology each cell can store 1-3 bits of data.

Due to the structure and technology of the NAND cell array there are a few factors that make data management in an SSD an interesting task:

  • It is only possible to write at page level and erase at the block level.
  • Before each write the cell must be erased.
  • Write erase cycles degrade the cell and eventually the cell can no longer be used reliably to store data.
  • Data is written in segments accross several locations to ensure higher transfer rates.

All these factors make copying, moving, and duplicating of data necessary. This adds to complexity of how the data is distributed in the NAND cells. The data becomes fragmented and there will be large amounts of stale data.

SSDs have a built in controller (flash controller chip) that manages the data and keeps track of its physical location. When the operating system sends a read or write command it goes through the flash controller which then translates the command. The operating system does not actually see the flash controller commands. As a result the operating system can not keep track of the physical location of the data. It has been shown that operating system sanitize (overwrite data with some pattern) commands on SSDs do not necessarily purge all data because the flash controller may translate the command so that it does not apply to all instances of data.

NAND-Flash-Chips auf. Jeder dieser Chips ist in Blöcke unterteilt (Millionen NAND-Zellen), die weiter in Seiten (Tausende von NAND-Zellen) unterteilt sind. Seiten sind weiter in einzelne Zellen unterteilt. Abhängig von der Technologie kann jede Zelle 1-3 Datenbits speichern.

Aufgrund der Struktur und Technologie des NAND-Zellen-Arrays gibt es einige Faktoren, die das Datenmanagement in einer SSD zu einer interessanten Aufgabe machen:

 

  • Es ist nur möglich auf Seitenebene zu schreiben und auf Blockebene zu löschen.
  • Vor jedem Schreibvorgang muss die Zelle gelöscht werden.
  • Schreib-Lösch-Zyklen verschlechtern die Zelle und schließlich kann die Zelle nicht länger zuverlässig zum Speichern von Daten verwendet werden.
  • Die Daten werden über mehrere Standorte in Segmente geschrieben um höhere Übertragungsraten zu gewährleisten.

 

All diese Faktoren machen Kopieren, Verschieben und Duplizieren von Daten erforderlich. Dies erhöht die Komplexität der Verteilung der Daten in den NAND-Zellen. Die Daten werden fragmentiert und es wird eine große Menge veralteter Daten geben.

SSDs haben einen eingebauten Controller (Flash-Controller-Chip), der die Daten verwaltet und den physischen Standort verfolgt. Wenn das Betriebssystem einen Lese- oder Schreibbefehl sendet, durchläuft es den Flash-Controller, der dann den Befehl übersetzt. Das Betriebssystem sieht die Befehle des Flash-Controllers nicht wirklich. Daher kann das Betriebssystem den physischen Speicherort der Daten nicht verfolgen. Es wurde gezeigt, dass Betriebssystem-Bereinigung (Überschreiben von Daten mit einigen Mustern) auf SSDs nicht unbedingt alle Daten löscht, da der Flash-Controller den Befehl möglicherweise so übersetzt, dass er nicht für alle Dateninstanzen gilt.

 

Weiterführende LinksRelated links: