Partition von Daten-SSD verehentlich gelöscht. Software zur Datenrettung?

Korrekt. Und auf die Garbabe Collection hat man keinen Einfluss.

Wenn nur TRIM, aber noch kein GC lief, lassen sich die Daten theoretisch noch auslesen. Das muss dann aber am Controller vorbei geschehen. Sprich:

  1. den Flash-Speicher auslöten
  2. mit einem NAND-Reader auslesen
  3. den Flash Translation Layer rekonstruieren
  4. die Daten rekonstruieren
Das ist äußerst aufwending und dürfte in den seltensten Fällen wirtschaftlich sinnvoll sein.

Nach TRIM sind die Daten weg. Das kann man so stehenlassen.
 
  • Gefällt mir
Reaktionen: BFF
nutrix schrieb:
Hast Du dazu bitte ein Quelle? Das wäre meines Wissens nach ineffizient und würde die NAND-Flashspeicher nur unnötig belasten, wenn man tatsächlich sie komplett überschreiben würde.
es gibt kein überschreiben

es gibt, lesen. schreiben. löschen.

wenn du überschreiben willst musst du vorher löschen, bzw nen anderen gelöschten block auf vorrat da haben

und das macht man nicht erst, wenn die nächste kopier aktion losgeht, die wäre sonst lahm. gelöscht wird sobald die ssd zeit dazu hat, also im hintergrund / im idle

warum sollte die ssd intern daten aufheben die sie, auf natürlichem weg, nie wieder aus geben kann? nach trim werden alle leseanfragen sofort mit 0000 beantwortet (deterministic read zero after trim)

https://www.ibm.com/docs/en/zos/3.1.0?topic=data-writing-erasing-hdd-versus-ssd

"Periodically, the device erases an entire block of invalid pages which makes these pages available for new writes."

periodically kannst du jetzt verstehen wie du willst. für mich heisst es sekunden, minuten. für dich vielleicht ein halbes jahr, weiss ich ja nicht. der ssd bringt es nichts die daten aufzuheben
 
  • Gefällt mir
Reaktionen: Fusionator und TorenAltair
nutrix schrieb:
Trim markiert nur die Zellen als "wieder beschreibbar".
Passiert dieses als "leer" markieren nicht schon beim logischen Löschen der Partitionen/Dateien und Trim räumt dann diese markierten Zellen auf?
 
Ergänzend zu @kieleich :
https://documents.westerndigital.co...r/white-paper-sandisk-flash101-management.pdf

Dazu noch als Nebenbemerkung, weil in der Regel verkürzt immer wiedergegeben. Die Flashzellen haben nicht per se eine begrenzte Lebensdauer durch die Anzahl von Schreibzyklen (natürlich ist irgendwann immer vorbei, aber es ist eben nicht das entscheidende Element). Man müsste es eher begrenzte Anzahl von Löschzyklen nennen, da zum Löschen eine deutliche höhere Spannung als beim Schreiben anliegen muss um bildlich gesprochen die Zelle "leerzuspülen".
 
kieleich schrieb:
es gibt kein überschreiben
Sach ich doch die ganze Zeit. 🙄
kieleich schrieb:
es gibt, lesen. schreiben. löschen.

wenn du überschreiben willst musst du vorher löschen, bzw nen anderen gelöschten block auf vorrat da haben
Nein, warum? Du markierst einen Block als wiederberschreibbar, und dann wird der Block einfach, sobald ein Zugriff auf diesen erfolgt, überschrieben bzw. geschrieben. Alles andere würde doch NAND Speicher zu sehr belasten.
kieleich schrieb:
und das macht man nicht erst, wenn die nächste kopier aktion losgeht, die wäre sonst lahm. gelöscht wird sobald die ssd zeit dazu hat, also im hintergrund / im idle
Nochmals, diese Methode mag für normale GC gelten im Ram oder HDD, aber nicht für NAND Flashspeicher, die eine beschränkte Schreibanzahl haben, und was sich durch QLC und Co. noch weiter verschärft.
kieleich schrieb:
warum sollte die ssd intern daten aufheben die sie, auf natürlichem weg, nie wieder aus geben kann? nach trim werden alle leseanfragen sofort mit 0000 beantwortet (deterministic read zero after trim)

https://www.ibm.com/docs/en/zos/3.1.0?topic=data-writing-erasing-hdd-versus-ssd
Hast Du den Artikel überhaupt richtig gelesen, da stehts doch genau, wie ich es sagte:
When you delete a data set, the data remains accessible on the SSD. You might overwrite withzeros; however, this would result in a potentially large data transfer and cause the device toallocate additional pages. This is not desirable because flash devices have a finite number of“program/erase” (P/E) cycles before they need to be replaced.

Flash drives provide an UNMAP command which is a more efficient solution to prevent access toresidual data. UNMAP is a SCSI command that mark pages as invalid. It requires no allocation of SSDpages and zero data transfer. By marking the pages as invalid, they cannot be read by any programrunning under control of an IBM operating system.
Blöcke werden nur markiert, aber NICHT überschrieben!
 
nutrix schrieb:
Du markierst einen Block als wiederberschreibbar, und dann wird der Block einfach, sobald ein Zugriff auf diesen erfolgt, überschrieben bzw. geschrieben.

nutrix schrieb:
Hast Du den Artikel überhaupt richtig gelesen

Das frage ich mich bei dir auch.

Pages can never be overwritten. When you write a flash device, the device must allocate a new blank page for the new data.
Ergänzung ()

nutrix schrieb:
Nochmals, diese Methode mag für normale GC gelten im Ram oder HDD

Auch völliger Unsinn. Bei HDDs und RAM gibt es keine Garbage Collection.
 
CoMo schrieb:
Das frage ich mich bei dir auch.
Und den Rest danach ignorierst Du? 🙄
CoMo schrieb:
Auch völliger Unsinn. Bei HDDs und RAM gibt es keine Garbage Collection.
So, was verwenden dann JAVA und diverse andere Anwendungen, um Speicher freizuräumen? 🙄
Sorry, anderen völligen Unsinn unterstellen und selbst mit blanken Unwissen glänzen ist sehr widersinnig!
 
You might overwrite withzeros; however, this would result in a potentially large data transfer and cause the device toallocate additional pages. This is not desirable because flash devices have a finite number of“program/erase” (P/E) cycles before they need to be replaced.
@nutrix Nicht missverstehen. Löschen entspricht nicht mit 0 beschreiben. NAND-Flash musst Du löschen bevor Du was mit machen kannst. Wenn man wie hier beschrieben aus Sicherheitsgründen mit 0 beschreibt, dann hat man den Pfad: Daten vorhanden -> Erase -> 0 schreiben -> Erase -> Bereit für neue Daten
 
Fragt mal bitte die KI, man soll ja die Ergebnisse hier nicht posten, da laut Forenregeln unerwünscht. Aber da stehts genau so, wie ich es sage. Gelöschte Daten werden vom OS an die SSD als ungültig nur markiert, und der GC räumt die Blöcke auf, es wird aber der Inhalt der Blöcke weder gelöscht noch mit Nullen überschrieben, da es die NAND Zellen unnötig belasten würde.
 
nutrix schrieb:
Und den Rest danach ignorierst Du? 🙄

So, was verwenden dann JAVA und diverse andere Anwendungen, um Speicher freizuräumen? 🙄
Sorry, anderen völligen Unsinn unterstellen und selbst mit blanken Unwissen glänzen ist sehr widersinnig!
Habe ich aber auch noch nicht gehört, dass HDDs Garbage Collection hätten 🙄
 
Ich würde auch ein 1:1 Backup machen und es dann mal mit Testdisk probieren.

Die Frage ist ja, wie wurde die Partition gelöscht: Wurde nur der Speicher der Partitionstabelle gelöscht und eventuell getrimmt oder der komplette Bereich der Partition?
Wenn nur die Partitionstabelle entfernt wurde, ist der Speicher der eigentlichen Partition vllt gar nicht als gelöscht markiert und würde auch nicht getrimmt werden.

Dann könnte Testdisk durchaus noch den Anfang der NTFS-Partition erkennen und den Inhalt der Partition auflisten.

P.S.: Hat die gelöschte SSD wirklich 2 Gigabyte Kapazität? Gibt es das? Oder meinst du 2 TB?
 
TorenAltair schrieb:
@nutrix Nicht missverstehen. Löschen entspricht nicht mit 0 beschreiben. NAND-Flash musst Du löschen bevor Du was mit machen kannst. Wenn man wie hier beschrieben aus Sicherheitsgründen mit 0 beschreibt, dann hat man den Pfad: Daten vorhanden -> Erase -> 0 schreiben -> Erase -> Bereit für neue Daten
Richtig, so sagt es auch die KI. Die Speicherzelle wird schlichtweg entladen, so das sie elektisch neutral bzw. positiv zeigt. Das ist aber nicht das klassische Löschen mit 0, so wie es bei der HDD war.
 
nutrix schrieb:
So, was verwenden dann JAVA und diverse andere Anwendungen, um Speicher freizuräumen? 🙄
Der garbage collector ist ein Feature der JVM und anderer Laufzeitumgebungen von Programmiersprachen mit automatischer Speicherverwaltung, etwa Python oder C#. Dadurch werden nicht mehr referenzierte Objekte im RAM (!) beseitigt.
 
FiRAS schrieb:
Habe ich aber auch noch nicht gehört, dass HDDs Garbage Collection hätten 🙄
Also sorry, wenn ich in einem Technikforum noch trivial erklären muß, daß natürlich die HDDs und das RAM selbst keine GC haben, sondern das darüber liegende OS bzw. die Anwendungen das durchführen...🙄

Meine Güte, Basiswissen und Abstraktionsvermögen kann man doch hier zu einem gewissen Maß voraussetzen, oder schweigt doch einfach mal, Ihr müßt nicht zu jedem Satz besserwisserisch die Wahrheit verzerren.
 
Ihr habt doch alle drei Recht. Mit TRIM oder UNMAP teilt das OS dem Controller des Speichermediums mit, welche Daten verworfen wurden. Bei der nächsten Garbage Collection werden die Blöcke dann gelöscht, die als Leer kommuniziert wurden.
 
  • Gefällt mir
Reaktionen: nutrix
nutrix schrieb:
Also sorry, wenn ich in einem Technikforum noch trivial erklären muß, daß natürlich die HDDs und das RAM selbst keine GC haben, sondern das darüber liegende OS bzw. die Anwendungen das durchführen
Die Behauptung, dass RAM und HDD über eine garbage collection verfügen, wurde von dir aufgestellt und darauf von anderen umgehend korrigiert. Du kannst deinen Fehler gerne zugeben.

Wenn Du ganz genau sein möchtest, dann führt weder die Anwendung, noch das OS die garbage collection durch, sondern die für die Speicherverwaltung zuständige Laufzeitumgebung, etwa die JVM :D

Zur Garbage Collection bei SSDs gibt es von den großen SSD-Anbietern sogar kleine Infoseiten ... hier einmal das Zusammenspiel mit TRIM:

https://www.crucial.de/articles/about-ssd/active-garbage-collection
 
  • Gefällt mir
Reaktionen: CoMo, stage und FiRAS
Backfisch schrieb:
Die Behauptung, dass RAM und HDD über eine garbage collection verfügen, wurde von dir aufgestellt und darauf von anderen umgehend korrigiert. Du kannst deinen Fehler gerne zugeben.
Die Leute, die was von IT verstehen, wissen, was ich meinte, und nur Besserwisser machen was daraus, was ich so nicht sagte. 🙄 Und ich muß hier nicht jeden Pups 100%ig ausführen, man kann ein bißchen Menschen- und Sachverstand hier erwarten, oder
Backfisch schrieb:
Wenn Du ganz genau sein möchtest, dann führt weder die Anwendung, noch das OS die garbage collection durch, sondern die für die Speicherverwaltung zuständige Laufzeitumgebung, etwa die JVM :D
Na klar, verwirr den TS mit seiner einfachen Anfrage hier noch mehr mit Infos, die ihn selbst und in der Diskussion 0 interessieren.
 
nutrix schrieb:
Das ist aber nicht das klassische Löschen mit 0, so wie es bei der HDD war.
Ja, nur dass bei SSDs das Löschen oder wegen mir Entladen einen deutlich höheren Sperrstrom überwinden muss. Und das bestimmt die Lebensdauer der Zellen maßgeblich
 
pajaa schrieb:
Ihr habt doch alle drei Recht. Mit TRIM oder UNMAP teilt das OS dem Controller des Speichermediums mit, welche Daten verworfen wurden. Bei der nächsten Garbage Collection werden die Blöcke dann gelöscht, die als Leer kommuniziert wurden.
Mehr wollte ich doch gar nichts sagen. Fakt ist, SSDs und NVMes wenden intern technische Tricks an, damit gelöschte Daten nicht direkt in NAND physikalisch ein Überschreiben mit 0 initiiert wird. Und je nach Zustand des GC kann sehr wohl sein, daß die Daten irgendwie in den Speicherzellen rumfliegen. Aber das kann Dir eben nur die professionelle Datenrettung sagen und verraten, ob das so überhaupt möglich ist. Und genau darum geht es hier ja in der Anfrage.

Update: Es gab hier ja bereits mehrere solche Fälle, aber bisher hat sich keiner der Anfragen mit seinen Erfahrungen weiter gemeldet, was nun aus der Datenrettung so geworden ist. Mich persönlich würde es sehr interessieren, ob ein professioneller Datentretter wirklich noch verwertbare Daten von einer SSD oder NMVE SSD kratzen kann. Und was es gekostet hat.
 
Zuletzt bearbeitet:
nutrix schrieb:
So, was verwenden dann JAVA und diverse andere Anwendungen, um Speicher freizuräumen? 🙄

Was deine Anwendung macht, hat Null komma Nichts damt zu tun, wie Datenträger intern ihre Daten verwalten. Dein RAM macht keine Garbage Collection und deine HDD auch nicht. Was erzählst du jetzt hier von Java? Die Firmware auf deiner HDD ist ein Java-Applet? Oder was für seltsame Technologie hast du da im Einsatz, die sonst niemand hat?

nutrix schrieb:
Sorry, anderen völligen Unsinn unterstellen und selbst mit blanken Unwissen glänzen ist sehr widersinnig!

Du erzählst hier was von Garbage Collection auf RAM und HDDs und Java-Anwendungen, während der TE wissen will, ob er Daten auf seiner SSD noch retten kann. Das hat mit dem Thema überhaupt nichts zu tun, hilft niemandem weiter und ist auch noch völliger Unsinn.
 
  • Gefällt mir
Reaktionen: stage, FiRAS und kieleich
Zurück
Oben