DE102016105833A1 - Speicherwiederherstellung - Google Patents

Speicherwiederherstellung Download PDF

Info

Publication number
DE102016105833A1
DE102016105833A1 DE102016105833.5A DE102016105833A DE102016105833A1 DE 102016105833 A1 DE102016105833 A1 DE 102016105833A1 DE 102016105833 A DE102016105833 A DE 102016105833A DE 102016105833 A1 DE102016105833 A1 DE 102016105833A1
Authority
DE
Germany
Prior art keywords
storage
data
units
unit
storage unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE102016105833.5A
Other languages
English (en)
Inventor
Zhigang Li
Xiaohui Xie
Honglei Zhang
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Lenovo Beijing Ltd
Original Assignee
Lenovo Beijing Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Lenovo Beijing Ltd filed Critical Lenovo Beijing Ltd
Publication of DE102016105833A1 publication Critical patent/DE102016105833A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0253Garbage collection, i.e. reclamation of unreferenced memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0608Saving storage space on storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0652Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0688Non-volatile semiconductor memory arrays

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Memory System (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

Ein Aspekt stellt eine Vorrichtung bereit, die Folgendes umfasst: einen Prozessor; eine Vielzahl an Speichereinheiten, die funktionsfähig mit dem Prozessor verkuppelt sind; und ein Speichergerät, dass durch den Prozessor ausführbare Anweisungen speichert, um Folgendes durchzuführen: Bestimmung einer ersten Speichereinheit aus der Vielzahl der Speichereinheiten; Auswahl mindestens einer zweiten Speichereinheit aus den verbliebenen Speichereinheiten, die einen Parameter enthält, die eine vorbestimmte Bedingung erfüllt, wobei sich die vorbestimmte Bedingung auf die erste Speichereinheit bezieht; Übermittlung von Daten von mindestens einer der ersten und zweiten Speichereinheit an mindestens eine der verbliebenen anderen ersten und zweiten Speichereinheiten; und Löschen der Daten von der besagten mindestens einen der ersten und zweiten Speichereinheiten, von der die Daten übertragen wurden. Andere Aspekte sind beschrieben und beansprucht.

Description

  • STAND DER TECHNIK
  • Der hier beschriebene Gegenstand bezieht sich auf eine Steuerungstechnologie, und insbesondere auf das Wiederherstellen von Speicher in einem Halbleiter-Gerät.
  • HINTERGRUND
  • Festplatten werden normalerweise in mechanische Festplatten HDD und Halbleiterlaufwerk SSD unterteilt. Die mechanische Festplatte ist eine herkömmliche traditionelle Festplatte, die das Überschreiben unterstützt, so dass gelöschte Daten, wenn markiert, leicht wiederherzustellen sind, bevor sie von neuen Daten überdeckt werden. Demgegenüber besteht ein Halbleiterlaufwerk aus einem Festkörper-Speicherchip-Array und enthält Steuerungseinheiten und Speichereinheiten, unterstützt kein Überschreiben und muss im Voraus gelöscht werden. Dies ist bekannt als Trash Recycling.
  • Datenwiederherstellung ist hauptsächlich Wiederherstellung in Bezug auf geeignete Blocks, die aus Blocks ausgewählt werden, die ungültige Daten enthalten, wobei sich die Blocks in einer Speicherbank befinden. Die Speicherbank enthält viele Blöcke und jeder Block umfasst viele Seiten. Die gültigen Daten werden in einem Aktualisierungsblock gespeichert und die Daten im ursprünglichen Block können gelöscht werden, um die Anzahl der leeren Blöcke zu erhöhen, damit das Ziel der Freigabe von nutzbarem Platz, um genügend Blöcke zum Schreiben von Daten zur Verfügung haben, erreicht wird.
  • Das derzeit allgemein angewandte Verfahren ist: Einbeziehung der Anzahl der Löschvorgänge, der Schreibvorgänge und der Anzahl der gültigen Seiten in die Gesamt-Betrachtung, zweitens, Bestimmung einer Verlustfunktion, und letztendlich Festlegung des Blocks mit dem maximalen Wert der Verlustfunktion als Block zur Verwendung bei der Datenwiederherstellung, das heißt, als Speichereinheit für die Datenwiederherstellung. Da aber für jeden Datenwiederherstellungsprozess nur ein Block für die Datenwiederherstellung ausgewählt werden kann, führt dies zu einer Verschwendung der Ressourcen, Erhöhung der Datenwiederherstellungszahlen und Verminderung der Effizienz.
  • KURZE ZUSAMMENFASSUNG
  • Zusammenfassend, stellt ein Aspekt eine Vorrichtung bereit, die Folgendes umfasst: einen Prozessor; eine Vielzahl an Speichereinheiten, die funktionsmäßig mit dem Prozessor verkuppelt sind; und ein Speichergerät, dass durch den Prozessor ausführbare Anweisungen speichert, um Folgendes durchzuführen: Bestimmung einer ersten Speichereinheit aus der Vielzahl der Speichereinheiten; Auswahl mindestens einer zweiten Speichereinheit aus den verbliebenen Speichereinheiten, die einen Parameter enthält, die eine vorbestimmte Bedingung erfüllt, wobei sich die vorbestimmte Bedingung auf die erste Speichereinheit bezieht; Übermittlung von Daten von mindestens einer der ersten und zweiten Speichereinheit an mindestens eine der verbliebenen anderen ersten und zweiten Speichereinheiten; und Löschen der Daten von der besagten mindestens einen der ersten und zweiten Speichereinheiten, von der die Daten übertragen wurden.
  • Ein weiterer Aspekt stellt ein Verfahren bereit, das Folgendes umfasst: Bestimmung mittels eines Prozessors einer ersten Speichereinheit aus einer Vielzahl an Speichereinheiten eines Speichergeräts; Auswahl mittels eines Prozessors mindestens einer zweiten Speichereinheit aus den verbliebenen Speichereinheiten, die einen Parameter enthält, die eine vorbestimmte Bedingung erfüllt, wobei sich die vorbestimmte Bedingung auf die erste Speichereinheit bezieht; Übermittlung mittels eines Prozessors von Daten von mindestens einer der ersten und zweiten Speichereinheit an mindestens eine der verbliebenen anderen ersten und zweiten Speichereinheiten; und Löschen der Daten von der besagten mindestens einen der ersten und zweiten Speichereinheiten, von der die Daten übertragen wurden.
  • Ein weiterer Aspekt stellt ein System bereit, umfassend: eine erste Erfassungseinheit; eine Festlegungseinheit, die funktionsmäßig an die erste Erfassungseinheit gekoppelt ist; eine zweite Erfassungseinheit, die funktionsmäßig an die Festlegungseinheit gekoppelt ist; eine Verarbeitungseinheit, die funktionsmäßig an die zweite Erfassungseinheit gekoppelt ist, und wobei: Die erste Erfassungseinheit erfasst erste Zustandsparameter einer Vielzahl von Speichereinheiten in einem Speichergerät; die Festlegungseinheit identifiziert eine erste Speichereinheit aus der Vielzahl an Speichereinheiten basierend auf den Zustandsparametern; die zweite Erfassungseinheit erfasst mindestens eine zweite Speichereinheit, die die erste vorbestimmte Bedingung, in Zusammenhang mit der ersten Speichereinheit aus der Speichereinheit, erfüllt; and die Verarbeitungseinheit verarbeitet die Daten in der ersten Speichereinheit und die Daten in mindestens einer zweiten Speichereinheit, wenn eine zweite vorbestimmte Bedingung erfüllt ist.
  • Das Vorangegangene ist eine Zusammenfassung und kann daher Vereinfachungen, Verallgemeinerungen und Auslassungen von Einzelheiten enthalten; daher kann der Durchschnittsfachmann verstehen, dass diese Zusammenfassung allein der Veranschaulichung dient und in keiner Weise limitierend ist.
  • Für ein besseres Verständnis der Ausführungsformen, zusammen mit anderen und weiteren Merkmalen und Vorteilen derselben, wird Bezug auf die folgenden Beschreibungen im Zusammenhang mit den entsprechenden Zeichnungen genommen. Der Umfang der Erfindung wird in den angehängten Patentansprüchen verdeutlicht.
  • KURZE BESCHREIBUNG DER VERSCHIEDENEN ANSICHTEN DER ZEICHNUNGEN
  • 1 ist ein Flussdiagramm des Verfahrens für Recycling von Speicher in einem Speichergerät in einer Ausführungsform;
  • 2 ist ein Flussdiagramm des Verfahrens für Recycling von Speicher in einem Speichergerät in einer Ausführungsform;
  • 3 ist ein Flussdiagramm des Verfahrens für Recycling von Speicher in einem Speichergerät in einer Ausführungsform;
  • 4 ist ein schematisches Diagramm der Struktur des Geräts zum Recycling von Speicher in einem Speichergerät offengelegt in einer Ausführungsform;
  • 5 ist ein schematisches Diagramm des Systems zum Recycling von Speicher in einem Speichergerät offengelegt in einer Ausführungsform;
  • AUSFÜHRLICHE BESCHREIBUNG
  • Es ist daher leicht verständlich, dass die Komponenten der Ausführungen, wie diese allgemein in den hier beigefügten Abbildungen beschrieben und illustriert werden, in einer Vielzahl verschiedener Konfigurationen zusätzlich zu den beschriebenen Beispiel-Ausführungen angeordnet und gestaltet werden können. Daher limitiert die folgende, detailliertere Beschreibung der Beispiel-Ausführungsformen, die in den Abbildungen dargestellt sind, den Umfang der Ausführungsformen, wie beansprucht, nicht, sondern ist lediglich repräsentativ für die Beispiel-Ausführungsformen.
  • Bezugnahme im Rahmen dieser Spezifikation auf „eine Ausführungsform“
    [ein = Zahlform] oder „eine Ausführungsform“ [ein = unbestimmter Artikel] (oder ähnlich) bedeutet, dass ein bestimmtes Merkmal, eine bestimmte Struktur oder eine bestimmte Eigenschaft, beschrieben im Zusammenhang mit der Ausführungsform, in mindestens einer Ausführungsform enthalten ist. Daher bezieht sich die an verschiedenen Stellen in dieser Spezifikation verwendete Phrase „in einer Ausführungsform“
    [ein = Zahlform] oder „in einer Ausführungsform“ [ein = unbestimmter Artikel] nicht unbedingt auf dieselbe Ausführungsform.
  • Weiterhin können die beschriebenen Merkmale, Strukturen oder Eigenschaften in geeigneter Weise in einer oder mehreren Ausführungsformen kombiniert werden. In der folgenden Beschreibung werden zahlreiche spezifische Einzelheiten bereitgestellt, um ein gründliches Verständnis der Ausführungsformen zu ermöglichen. Ein Fachmann wird allerdings verstehen, dass die verschiedenen Ausführungsformen ohne eine oder mehrere der spezifischen Einzelheiten oder mit anderen Verfahren, Komponenten, Materialien, usw. ausgeführt werden können. In anderen Fällen sind gut bekannte Strukturen, Materialien oder Vorgänge nicht in Detail dargestellt oder beschrieben, um Verwirrung zu vermeiden.
  • Eine Ausführungsform legt ein Verfahren zur Wiederherstellung von Speicher in einem Speichergerät offen und das Flussdiagramm dieses Verfahrens ist in 1 dargestellt. Das Verfahren umfasst, in S11, das Erfassen von ersten Zustandsparametern für M Speichereinheiten in einem Speichergerät. Das Speichergerät umfasst eine Vielzahl von Speichereinheiten, deren Anzahl mit M, einer ganzen Zahl größer als 1, bezeichnet wird.
  • In S12 umfasst das Verfahren die Identifizierung einer ersten Speichereinheit aus den M Speichereinheiten basierend auf den ersten Zustandsparametern. Insbesondere können die ersten Zustandsparameter Werte der Verlustfunktion sein und die erste Speichereinheit wird basierend auf den Werten der Verlustfunktion der M Speichereinheiten identifiziert. Wobei, insbesondere die Speichereinheiten im Speichergerät die Datenblocks, die Seitendaten enthalten, sein, wobei die Datenblocks die kleinsten löschbaren Einheiten und die Seitendaten die kleinsten schreibbaren Einheiten sind. Dann ist insbesondere die Verlustfunktion t wie folgt:
    Figure DE102016105833A1_0002
  • Wobei globalWrite die Anzahl der Schreiboperationen, blockWrite die Anzahl der aktuellen Schreiboperationen, blockErase die Anzahl der aktuellen Löschoperationen, GlobalValidPages die Anzahl der gültigen Seiten im Speichergerät und BlockValidPages die Anzahl der aktuellen gültigen Seiten ist.
  • In S13 umfasst das Verfahren die Erfassung von N Speichereinheiten, die die erste vorbestimmte Bedingung, in Zusammenhang mit der ersten Speichereinheit von der Speichereinheit, erfüllen. Insbesondere, Erfassung der Speichereinheiten der N Speichereinheiten, für die die zweiten Zustandsparameter in einem ersten Differenzbereich von den zweiten Zustandsparametern der ersten Speichereinheit liegt; Alternativ, Erfassung der zweiten Zustandsparameter der N Speichereinheiten, wobei die N Speichereinheiten zu den Speichereinheiten gehören und, wie die erste Speichereinheit, die erste vorbestimmte Bedingung erfüllen. Wobei die zweiten Zustandsparameter die Hash-Werte für jede Speichereinheit repräsentieren.
  • In jeder Speichereinheit werden die Seitendaten eines Seitenblocks einer Streuung unterzogen, um einen den Seitendaten entsprechenden Hash-Wert zu erzeugen und im Gegenzug den Hash-Wert jeder Speichereinheit, das heißt den zweiten Zustandsparameter, zu erhalten. Dann wird eine Vielzahl an Speichereinheiten, die Hash-Werte im ersten Differenzbereich des Hash-Wertes der ersten Speichereinheit aufweisen, aus den M Speichereinheiten herausgesucht, und die Vielzahl der Speichereinheiten kann insbesondere N Speichereinheiten sein, wobei N eine ganze Zahl größer 1 und kleiner als M ist.
  • In S14 umfasst das Verfahren die Verarbeitung der Daten in der ersten Speichereinheit und der Daten in den N Speichereinheiten, wenn eine zweite vorbestimmte Bedingung erfüllt ist, wobei N und M ganze Zahlen größer 1 sind und N kleiner als M ist. Insbesondere kann die Verarbeitung der Daten in der ersten Speichereinheit und der Daten in den N Speichereinheiten Folgendes sein: Durchführung von Datenwiederherstellung bezüglich der Daten in der ersten Speichereinheit und der Daten in den N Speichereinheiten.
  • Insbesondere kann dies das Speichern der Daten aus der ersten Speichereinheit in die einzelnen N Speichereinheiten sein, und dann Löschen der Daten in der ersten Speichereinheit, um die erste Speichereinheit in eine leere Speichereinheit umzuwandeln; alternativ kann es die Auswahl einer oder mehrerer Speichereinheiten aus den N Speichereinheiten und Speichern der Daten aus den ausgewählten Speichereinheiten in einzelnen anderen Speichereinheiten sein, und dann Löschen der Daten in den ausgewählten Speichereinheiten, um die ausgewählten Speichereinheiten in leere Speichereinheiten für nachfolgende Datenspeicherung umzuwandeln.
  • Dieses in dieser Ausführung offengelegte Verfahren zur Wiederherstellung von Speicher in einem Speichergerät kann auf ein Halbleiterlaufwerk angewendet werden. Durch Erfassen der ersten Zustandsparameter der M Speichereinheiten im Speichergerät Bestimmung der ersten Speichereinheit aus den M Speichereinheiten basierend auf den ersten Zustandsparametern; Erfassen der N Speichereinheiten aus den Speichereinheiten, die, wie die erste Speichereinheit, die erste vorbestimmte Bedingung erfüllen; Verarbeitung der Daten in der ersten Speichereinheit, wenn die zweite vorbestimmte Bedingung erfüllt ist, wobei M und N ganze Zahlen größer 1 sind und N kleiner als M ist. Diese Lösung erzielt Verarbeitung der Daten in der ersten Speichereinheit und der Daten in den N Speichereinheiten und Datenwiederherstellung einer Vielzahl von Speichereinheiten durch Auswahl von N Speichereinheiten aus den Speichereinheiten, die, wie die erste Speichereinheit, die erste vorbestimmte Bedingung erfüllen, wodurch die Wiederherstellungseffizienz erhöht, die Anzahl der Wiederherstellungsoperationen von Daten im Speichergerät reduziert und so die Verschwendung von Ressourcen vermieden wird.
  • Diese Ausführungsform legt ein Verfahren zur Wiederherstellung von Speicher in einem Speichergerät offen und das Flussdiagramm dieses Verfahrens ist in 2 dargestellt. Das Verfahren umfasst, in S21, das Erfassen von ersten Zustandsparametern für M Speichereinheiten in einem Speichergerät. Das Speichergerät umfasst eine Vielzahl von Speichereinheiten, deren Anzahl mit M, einer ganzen Zahl größer als 1, bezeichnet wird.
  • In S12 umfasst das Verfahren die Identifizierung einer ersten Speichereinheit aus den M Speichereinheiten basierend auf den ersten Zustandsparametern. Insbesondere können die ersten Zustandsparameter Verlustfunktionswerte sein und die erste Speichereinheit wird basierend auf den Verlustfunktionswerten der M Speichereinheiten identifiziert. Wobei, insbesondere die Speichereinheiten im Speichergerät die Datenblocks, die Seitendaten enthalten, sein, wobei die Datenblocks die kleinsten löschbaren Einheiten und die Seitendaten die kleinsten schreibbaren Einheiten sind. Dann ist insbesondere die Verlustfunktion t wie folgt:
    Figure DE102016105833A1_0003
  • Wobei globalWrite die Anzahl der Schreiboperationen, blockWrite die Anzahl der aktuellen Schreiboperationen, blockErase die Anzahl der aktuellen Löschoperationen, GlobalValidPages die Anzahl der gültigen Seiten im Speichergerät und BlockValidPages die Anzahl der aktuellen gültigen Seiten ist.
  • In S23 umfasst das Verfahren die Erfassung von N Speichereinheiten, die die erste vorbestimmte Bedingung, in Zusammenhang mit der ersten Speichereinheit von der Speichereinheit, erfüllen. Insbesondere Erfassen der N Speichereinheiten aus den Speichereinheiten, deren Zustandsparameter innerhalb eines ersten Differenzbereichs vom ersten Zustandsparameter der ersten Speichereinheit ist. Alternativ, Erfassen der zweiten Zustandsparameter der N Speichereinheiten, wobei die N Speichereinheiten aus den Speichereinheiten sind und, wie die erste Speichereinheit, die erste vorbestimmte Bedingung erfüllen. Wobei die zweiten Zustandsparameter die Hash-Werte für jede Speichereinheit repräsentieren.
  • In jeder Speichereinheit werden die Seitendaten eines Seitenblocks einer Streuung unterzogen, um einen den Seitendaten entsprechenden Hash-Wert zu erzeugen und im Gegenzug den Hash-Wert jeder Speichereinheit, das heißt den zweiten Zustandsparameter, zu erhalten. Dann wird eine Vielzahl an Speichereinheiten, die Hash-Werte im ersten Differenzbereich des Hash-Wertes der ersten Speichereinheit aufweisen, aus den M Speichereinheiten herausgesucht, und die Vielzahl der Speichereinheiten kann insbesondere N Speichereinheiten sein, wobei N eine ganze Zahl größer 1 und kleiner als M ist.
  • In S24 umfasst das Verfahren die Verarbeitung der Daten in der ersten Speichereinheit und der Daten in den N Speichereinheiten, wenn die Anzahl der leeren Speichereinheiten im Speichergerät kleiner als ein erster Schwellenwert ist. Dabei sind M und N ganze Zahlen größer 1, wobei N kleiner als M ist. Durchführung von Datenwiederherstellung in den Speichereinheiten, wenn erfasst wird, dass die Anzahl der leeren Speichereinheiten im Speichergerät zur Verwendung zur nachfolgenden Speicherung von anderen Daten relativ klein ist. Weiterhin kann Folgendes eintreten: Nach Erhalt eines Start-Befehls eines Nutzers, Durchführung von Datenwiederherstellung in den Speichereinheiten gemäß dem Start-Befehl, um sicherzustellen, dass er Speicher immer in einem Zustand mit freien Speichereinheiten ist. Insbesondere kann die Verarbeitung der Daten in der ersten Speichereinheit und der Daten in den N Speichereinheiten Folgendes sein: Durchführung von Datenwiederherstellung bezüglich der Daten in der ersten Speichereinheit und der Daten in den N Speichereinheiten.
  • Insbesondere kann dies das Speichern der Daten aus der ersten Speichereinheit in einzelne N Speichereinheiten und dann Löschen der Daten in der ersten Speichereinheit sein, um die erste Speichereinheit in eine leere Speichereinheit zu verwandeln. Alternativ kann dies die Auswahl einer oder mehrerer Speichereinheiten aus den N Speichereinheiten und Speichern der Daten aus den ausgewählten Speichereinheiten in einzelne andere Speichereinheiten und dann Löschen der Daten in den ausgewählten Speichereinheiten sein, um die ausgewählten Speichereinheiten in leere Speichereinheiten für nachfolgende Datenspeicherung umzuwandeln, sein. Dieses in dieser Ausführung offengelegte Verfahren zur Wiederherstellung von
  • Speicher in einem Speichergerät kann auf ein Halbleiterlaufwerk angewendet werden. Durch Erfassen der ersten Zustandsparameter der M Speichereinheiten im Speichergerät, Bestimmung der ersten Speichereinheit aus den M Speichereinheiten basierend auf den ersten Zustandsparametern; Erfassen der N Speichereinheiten aus den Speichereinheiten, die wie die erste Speichereinheit die erste vorbestimmte Bedingung erfüllen; Verarbeitung der Daten in der ersten Speichereinheit und der Daten in den N Speichereinheiten, wenn die zweite vorbestimmte Bedingung erfüllt ist, wobei N und M ganze Zahlen größer 1 sind und N kleiner als M ist. Diese Lösung erzielt Verarbeitung der Daten in der ersten Speichereinheit und der Daten in den N Speichereinheiten und Datenwiederherstellung einer Vielzahl von Speichereinheiten durch Auswahl von N Speichereinheiten aus den Speichereinheiten, die, wie die erste Speichereinheit, die erste vorbestimmte Bedingung erfüllen, wodurch die Wiederherstellungseffizienz erhöht, die Anzahl der Wiederherstellungsoperationen von Daten im Speichergerät reduziert und so die Verschwendung von Ressourcen vermieden wird.
  • Diese Ausführungsform legt ein Verfahren zur Wiederherstellung von Speicher in einem Speichergerät offen und das Flussdiagramm dieses Verfahrens ist in 3 dargestellt. Das Verfahren umfasst, in S31, das Erfassen von ersten Zustandsparametern für M Speichereinheiten in einem Speichergerät. Das Speichergerät umfasst eine Vielzahl von Speichereinheiten, deren Anzahl mit M, einer ganzen Zahl größer als 1, bezeichnet wird.
  • In S32 umfasst das Verfahren die Identifizierung einer ersten Speichereinheit aus den M Speichereinheiten basierend auf den ersten Zustandsparametern. Insbesondere können die ersten Zustandsparameter Werte der Verlustfunktion sein und die erste Speichereinheit wird basierend auf den Werten der Verlustfunktion der M Speichereinheiten identifiziert. Insbesondere können in dieser Ausführungsform die Speichereinheiten im Speichergerät Datenblocks, die Seitendaten enthalten, sein, wobei die Datenblocks die kleinsten löschbaren Einheiten und die Seitendaten die kleinsten schreibbaren Einheiten sind.
  • In S33 umfasst das Verfahren die Erfassung von N Speichereinheiten, die die erste vorbestimmte Bedingung, in Zusammenhang mit der ersten Speichereinheit von der Speichereinheit, erfüllen. Insbesondere Erfassen der N Speichereinheiten aus den Speichereinheiten, für die der zweite Zustandsparameter innerhalb eines ersten Differenzbereichs von den zweiten Zustandsparametern der ersten Speichereinheit liegt. Alternativ umfasst das Verfahren das Erfassen der zweiten Zustandsparameter der N Speichereinheiten, wobei die N Speichereinheiten aus den Speichereinheiten sind und, wie die erste Speichereinheit, die erste vorbestimmte Bedingung erfüllen, wobei die erste vorbestimmte Bedingung Folgendes sein kann: innerhalb eines ersten Differenzbereichs von den Zustandsparametern der ersten Speichereinheit.
  • In 34 umfasst das Verfahren das Erfassen der Speichereinheiten mit den gleichen zweiten Zustandsparametern wie die erste Speichereinheiten und N Speichereinheiten. Im Vorgenannten sind sind M und N ganze Zahlen größer 1, wobei N kleiner als M ist. Durchführung von Datenwiederherstellung in den Speichereinheiten, wenn erfasst wird, dass die Anzahl der leeren Speichereinheiten im Speichergerät zur Verwendung zur nachfolgenden Speicherung von anderen Daten relativ klein ist.
  • Die N Speichereinheiten, die im oben beschriebenen Schritt erfasst wurden, nur die sind, deren zweite Zustandsparameter innerhalb eines ersten Differenzbereichs des zweiten Zustandsparameters der ersten Speichereinheit liegt, das heißt, die zweiten Zustandsparameter der N Speichereinheiten sind nahe an den oder die gleichen wie die zweiten Zustandsparameter der ersten Speichereinheit. Suche der Speichereinheiten mit den gleichen zweiten Zustandsparametern aus der Anzahl von N + 1 Speichereinheiten. Die Speichereinheiten mit den gleichen zweiten Zustandsparametern können sein: eine dritte Speichereinheit, eine vierte Speichereinheit und eine fünfte Speichereinheit; alternativ können diese sein: eine erste Speichereinheit, eine vierte Speichereinheit, eine fünfte Speichereinheit und eine sechste Speichereinheit.
  • Unter der Anzahl von N + 1 Speichereinheiten kann eine Gruppe an Speichereinheiten mit den gleichen zweiten Zustandsparametern sein, zum Beispiel können nur die dritte Speichereinheit und die vierte Speichereinheit den gleichen zweiten Zustandsparameter haben, oder nur die erste Speichereinheit, die vierte Speichereinheit und die fünfte Speichereinheit haben den gleichen zweiten Zustandsparameter; alternativ kann es zwei Gruppen an Speichereinheiten mit den gleichen zweiten Zustandsparametern geben, zum Beispiel haben die dritte Speichereinheit und die vierte Speichereinheit den gleichen zweiten Zustandsparameter und zusätzlich haben die erste Speichereinheit, die vierte Speichereinheit und die fünfte Speichereinheit den gleichen zweiten Zustandsparameter; allerdings sind dabei die jeweiligen Werte der zweiten Zustandsparameter unterschiedlich und sind hier nicht ausdrücklich definiert.
  • In S35 umfasst das Verfahren das Speichern der Daten der Speichereinheiten mit den gleichen zweiten Zustandsparametern in einer zweiten Speichereinheit. Sollte es nur eine Gruppe an Speichereinheiten mit dem gleichen zweiten Zustandsparameter geben, zum Beispiel haben die vierte Speichereinheit und die fünfte Speichereinheit den gleichen zweiten Zustandsparameter, können die Daten aus der ersten Speichereinheit und der vierten Speichereinheit vollständig in der fünften Speichereinheit gespeichert werden; oder die Daten aus der ersten Speichereinheit und der fünften Speichereinheit können vollständig in der vierten Speichereinheit gespeichert. Alternativ können die Daten aus der ersten Speichereinheit, der vierten Speichereinheit und der fünften Speichereinheit vollständig in einer leeren Speichereinheit gespeichert werden, und diese Speichereinheit, die die Daten speichert, ist als zweite Speichereinheit definiert.
  • Gibt es zwei oder mehr Gruppen an Speichereinheiten mit den gleichen zweiten Zustandsparametern, können die Daten aus den Speichereinheiten mit den gleichen zweiten Zustandsparametern jeweils in einer Speichergeräteinheit gespeichert werden. Weiterhin muss die Mapping-Tabelle aktualisiert werden, da die Daten aus der ersten Speichereinheit, der vierten Speichereinheit und der fünften Speichereinheit vollständig ein einer leeren Speichereinheit gespeichert werden, oder die Daten aus der ersten Speichereinheit und der fünften Speichereinheit vollständig in der vierten Speichereinheit gespeichert werden. Das heißt, der Prozess der Datenübertragung, dass die Daten aus der ersten Speichereinheit in der vierten Speichereinheit gespeichert werden, muss in der Mapping-Tabelle wiedergegeben werden, damit die Daten abgerufen werden können.
  • In S36 umfasst das Verfahren das Löschen der Daten in den Speichereinheiten mit den gleichen zweiten Zustandsparametern, mit Ausnahme der Daten in der der zweiten Speichereinheit Sind die Speichereinheiten mit den gleichen zweiten Zustandsparametern die erste Speichereinheit, die vierte Speichereinheit und die fünfte Speichereinheit und werden die Daten aus der ersten Speichereinheit und die Daten aus der vierten Speichereinheit vollständig in der fünften Speichereinheit gespeichert, werden die Daten in der ersten Speichereinheit und die Daten in der vierten Speichereinheit vollständig gelöscht und die erste Speichereinheit und die vierte Speichereinheit werden zu neuen leeren Speichereinheiten. Werden die Daten aus der ersten Speichereinheit, die Daten aus der vierten Speichereinheit und die Daten aus der fünften Speichereinheit vollständig in einer leeren Speichereinheit gespeichert, werden die Daten in der ersten Speichereinheit, die Daten in der vierten Speichereinheit und die Daten in der fünften Speichereinheit vollständig gelöscht und die erste Speichereinheit, die vierte Speichereinheit und die fünfte Speichereinheit werden zu gänzlich neuen leeren Speichereinheiten. Gibt es mehrere Gruppen von Speichereinheiten mit den gleichen zweiten Zustandsparametern, dann kann mit diesem Schritt eine Vielzahl leerer Speichereinheiten erhalten werden.
  • Dieses in dieser Ausführung offengelegte Verfahren zur Wiederherstellung von Speicher in einem Speichergerät kann auf ein Halbleiterlaufwerk angewendet werden. Durch Erfassen der ersten Zustandsparameter der M Speichereinheiten im Speichergerät Bestimmung der ersten Speichereinheit aus den M Speichereinheiten basierend auf den ersten Zustandsparametern; Erfassen der N Speichereinheiten aus den Speichereinheiten, die wie die erste Speichereinheit die erste vorbestimmte Bedingung erfüllen; Verarbeitung der Daten in der ersten Speichereinheit und der Daten in den N Speichereinheiten, wenn die zweite vorbestimmte Bedingung erfüllt ist, wobei N und M ganze Zahlen größer 1 sind und N kleiner als M ist. Diese Lösung erzielt Verarbeitung der Daten in der ersten Speichereinheit und der Daten in den N Speichereinheiten und Datenwiederherstellung einer Vielzahl von Speichereinheiten durch Auswahl von N Speichereinheiten aus den Speichereinheiten, die, wie die erste Speichereinheit, die erste vorbestimmte Bedingung erfüllen, wodurch die Wiederherstellungseffizienz erhöht, die Anzahl der Wiederherstellungsoperationen von Daten im Speichergerät reduziert und so die Verschwendung von Ressourcen vermieden wird.
  • Diese Ausführungsform legt eine Vorrichtung zur Wiederherstellung von Speicher in einem Speichergerät offen und das schematische Strukturdiagramm dieses Systems ist in 4 dargestellt. Das Gerät umfasst ein Speichergerät 41 und einen Prozessor 42, der mit dem Speichergerät 41 verbunden ist. Wobei das Speichergerät 41 M Speichereinheiten umfasst.
  • Der Prozessor 42 ist zum Erfassen der ersten Zustandsparameter der M Speichereinheiten im Speichergerät 41 und zur Identifizierung der ersten Speichereinheit aus den M Speichereinheiten basierend auf den ersten Zustandsparameters und das Erfassen der N Speichereinheiten aus den Speichereinheiten, die wie die erste Speichereinheit die erste vorbestimmte Bedingung erfüllen, konfiguriert; wenn eine zweite vorbestimmte Bedingung erfüllt ist, auch zur Verarbeitung der Daten in der ersten Speichereinheit und der Daten in den N Speichereinheiten, wobei N und M ganze Zahlen größer 1 sind und N kleiner als M ist.
  • Die ersten Zustandsparameter können Werte der Verlustfunktion sein und die erste Speichereinheit wird basierend auf den Werten der Verlustfunktion der M Speichereinheiten identifiziert.
  • Wobei, insbesondere die Speichereinheiten im Speichergerät die Datenblocks, die Seitendaten enthalten, sein, wobei die Datenblocks die kleinsten löschbaren Einheiten und die Seitendaten die kleinsten schreibbaren Einheiten sind. Dann ist insbesondere die Verlustfunktion t wie folgt:
    Figure DE102016105833A1_0004
    wobei globalWrite die Anzahl der Schreiboperationen, blockWrite die Anzahl der aktuellen Schreiboperationen, blockErase die Anzahl der aktuellen Löschoperationen, GlobalValidPages die Anzahl der gültigen Seiten im Speichergerät und BlockValidPages die Anzahl der aktuellen gültigen Seiten ist.
  • Insbesondere Erfassen der N Speichereinheiten aus den Speichereinheiten, die wie die erste Speichereinheit die erste vorbestimmte Bedingung erfüllen: Erfassen der N Speichereinheiten aus den Speichereinheiten, für die die zweiten Zustandsparameter innerhalb eines ersten Differenzbereichs der zweiten Zustandsparameter der ersten Speichereinheit liegen. Alternativ umfasst das Verfahren das Erfassen der zweiten Zustandsparameter der N Speichereinheiten, wobei die N Speichereinheiten aus den Speichereinheiten sind und, wie die erste Speichereinheit, die erste vorbestimmte Bedingung erfüllen. Wobei die zweiten Zustandsparameter die Hash-Werte für jede Speichereinheit repräsentieren.
  • In jeder Speichereinheit werden die Seitendaten eines Seitenblocks einer Streuung unterzogen, um einen den Seitendaten entsprechenden Hash-Wert zu erzeugen und im Gegenzug den Hash-Wert jeder Speichereinheit, das heißt den zweiten Zustandsparameter, zu erhalten. Dann wird eine Vielzahl an Speichereinheiten, die Hash-Werte im ersten Differenzbereich des Hash-Wertes der ersten Speichereinheit aufweisen, aus den M Speichereinheiten herausgesucht, und die Vielzahl der Speichereinheiten kann insbesondere N Speichereinheiten sein, wobei N eine ganze Zahl größer 1 und kleiner als M ist.
  • Wenn die zweite vorbestimmte Bedingung erfüllt ist, verarbeitet der Prozessor 42 die Daten in der ersten Speichereinheit und die Daten in den N Speichereinheiten. Insbesondere führt der Prozessor Datenwiederherstellung bezüglich der Daten in der ersten Speichereinheit und der Daten in den N Speichereinheiten durch, wenn die Anzahl der leeren Speichereinheiten im Speichergerät kleiner als ein erster Schwellenwert ist; alternativ verarbeitet der Prozessor die Daten in der ersten Speichereinheit und die Daten in den N Speichereinheiten nach dem der Prozessor einen Startbefehl erhalten hat.
  • Insbesondere kann dies das Speichern der Daten aus der ersten Speichereinheit in einzelne N Speichereinheiten und dann Löschen der Daten in der ersten Speichereinheit sein, um die erste Speichereinheit in eine leere Speichereinheit zu verwandeln. Alternativ kann dies die Auswahl einer oder mehrerer Speichereinheiten aus den N Speichereinheiten und Speichern der Daten aus den ausgewählten Speichereinheiten in einzelne andere Speichereinheiten und dann Löschen der Daten in den ausgewählten Speichereinheiten sein, um die ausgewählten Speichereinheiten in leere Speichereinheiten für nachfolgende Datenspeicherung umzuwandeln, sein.
  • Insbesondere kann dies das Speichern der Daten aus der ersten Speichereinheit in einzelne N Speichereinheiten und dann Löschen der Daten in der ersten Speichereinheit sein, um die erste Speichereinheit in eine leere Speichereinheit zu verwandeln. Alternativ kann dies die Auswahl einer oder mehrerer Speichereinheiten aus den N Speichereinheiten und Speichern der Daten aus den ausgewählten Speichereinheiten in einzelne andere Speichereinheiten und dann Löschen der Daten in den ausgewählten Speichereinheiten sein, um die ausgewählten Speichereinheiten in leere Speichereinheiten für nachfolgende Datenspeicherung umzuwandeln, sein.
  • Der Prozessor 42 erhält von der ersten Speichereinheit und den N Speichereinheiten die Speichereinheiten, die den gleichen zweiten Zustandsparameter haben, speichert die Daten aus den Speichereinheiten mit den gleichen zweiten Zustandsparametern in einer zweiten Speichereinheit und löscht die Daten in den Speichereinheiten mit den gleichen zweiten Zustandsparametern, mit Ausnahme der Daten in der zweiten Speichereinheit.
  • Wobei die N Speichereinheiten, die durch den Prozessor erhalten wurden, nur die sind, deren zweite Zustandsparameter innerhalb eines ersten Differenzbereichs des zweiten Zustandsparameters der ersten Speichereinheit liegt, das heißt, die zweiten Zustandsparameter der N Speichereinheiten sind nahe an den oder die gleichen wie die zweiten Zustandsparameter der ersten Speichereinheit. Suche der Speichereinheiten mit den gleichen zweiten Zustandsparametern aus der Anzahl von N + 1 Speichereinheiten. Die Speichereinheiten mit den gleichen zweiten Zustandsparametern können sein: eine dritte Speichereinheit, eine vierte Speichereinheit und eine fünfte Speichereinheit; alternativ können diese sein: eine erste Speichereinheit, eine vierte Speichereinheit, eine fünfte Speichereinheit und eine sechste Speichereinheit.
  • Unter der Anzahl von N + 1 Speichereinheiten kann eine Gruppe an Speichereinheit mit den gleichen zweiten Zustandsparametern sein, zum Beispiel können nur die dritte Speichereinheit und die vierte Speichereinheit den gleichen zweiten Zustandsparameter haben, oder nur die erste Speichereinheit, die vierte Speichereinheit und die fünfte Speichereinheit haben den gleichen zweiten Zustandsparameter. Alternativ kann es zwei Gruppen an Speichereinheiten mit den gleichen zweiten Zustandsparametern geben, zum Beispiel haben die dritte Speichereinheit und die vierte Speichereinheit den gleichen zweiten Zustandsparameter und zusätzlich haben die erste Speichereinheit, die vierte Speichereinheit und die fünfte Speichereinheit den gleichen zweiten Zustandsparameter; allerdings sind dabei die jeweiligen Werte der zweiten Zustandsparameter unterschiedlich und sind hier nicht ausdrücklich definiert.
  • Sollte es nur eine Gruppe an Speichereinheiten mit dem gleichen zweiten Zustandsparameter geben, zum Beispiel haben die vierte Speichereinheit und die fünfte Speichereinheit den gleichen zweiten Zustandsparameter, können die Daten aus der ersten Speichereinheit und die Daten aus der vierten Speichereinheit vollständig in der fünften Speichereinheit gespeichert werden; oder die Daten aus der ersten Speichereinheit und die Daten aus der fünften Speichereinheit können vollständig in der vierten Speichereinheit gespeichert. Alternativ können die Daten aus der ersten Speichereinheit, die Daten aus der vierten Speichereinheit und die Daten aus der fünften Speichereinheit vollständig in einer leeren Speichereinheit gespeichert werden, und diese Speichereinheit, die die Daten speichert, ist als zweite Speichereinheit definiert.
  • Gibt es zwei oder mehr Gruppen an Speichereinheiten mit den gleichen zweiten Zustandsparametern, können die Daten aus den Speichereinheiten mit den gleichen zweiten Zustandsparametern jeweils in einer Speichergeräteinheit gespeichert werden.
  • Weiterhin muss die Mapping-Tabelle aktualisiert werden, da die Daten aus der ersten Speichereinheit, die Daten aus der vierten Speichereinheit und die Daten aus der fünften Speichereinheit vollständig ein einer leeren Speichereinheit gespeichert werden, oder die Daten aus der ersten Speichereinheit und die Daten aus der fünften Speichereinheit vollständig in der vierten Speichereinheit gespeichert werden, das heißt, der Prozess der Datenübertragung, dass die Daten aus der ersten Speichereinheit in der vierten Speichereinheit gespeichert werden, muss in der Mapping-Tabelle wiedergegeben werden, damit die Daten abgerufen werden können.
  • Sind die Speichereinheiten mit den gleichen zweiten Zustandsparametern die erste Speichereinheit, die vierte Speichereinheit und die fünfte Speichereinheit und werden die Daten aus der ersten Speichereinheit und die Daten aus der vierten Speichereinheit vollständig in der fünften Speichereinheit gespeichert, werden die Daten in der ersten Speichereinheit und die Daten in der vierten Speichereinheit vollständig gelöscht und die erste Speichereinheit und die vierte Speichereinheit werden zu neuen leeren Speichereinheiten. Werden die Daten aus der ersten Speichereinheit, die Daten aus der vierten Speichereinheit und die Daten aus der fünften Speichereinheit vollständig in einer leeren Speichereinheit gespeichert, werden die Daten in der ersten Speichereinheit, die Daten in der vierten Speichereinheit und die Daten in der fünften Speichereinheit vollständig gelöscht und die erste Speichereinheit, die vierte Speichereinheit und die fünfte Speichereinheit werden zu gänzlich neuen leeren Speichereinheiten.
  • Gibt es mehrere Gruppen von Speichereinheiten mit den gleichen zweiten Zustandsparametern, dann kann mit diesem Schritt eine Vielzahl leerer Speichereinheiten erhalten werden.
  • Diese in dieser Ausführung offengelegte Vorrichtung zur Wiederherstellung von Speicher in einem Speichergerät kann auf ein Halbleiterlaufwerk angewendet werden. Der Prozessor kann durch Erfassen der ersten Zustandsparameter der M Speichereinheiten im Speichergerät die erste Speichereinheit aus den M Speichereinheiten basierend auf den ersten Zustandsparameters bestimmen, die N Speichereinheiten, die wie die erste Speichereinheit die erste vorbestimmte Bedingung erfüllen, aus den Speichereinheiten erhalten und die Daten in der ersten Speichereinheit und die in den N Speichereinheiten verarbeiten, wenn die zweite vorbestimmte Bedingung erfüllt ist, wobei M und N ganze Zahlen größer 1 sind und N kleiner als M ist. Diese Lösung erzielt Verarbeitung der Daten in der ersten Speichereinheit und der Daten in den N Speichereinheiten und Datenwiederherstellung einer Vielzahl von Speichereinheiten durch Auswahl von N Speichereinheiten aus den Speichereinheiten, die, wie die erste Speichereinheit, die erste vorbestimmte Bedingung erfüllen, wodurch die Wiederherstellungseffizienz erhöht, die Anzahl der Wiederherstellungsoperationen von Daten im Speichergerät reduziert und so die Verschwendung von Ressourcen vermieden wird.
  • Diese Ausführungsform legt ein System zur Wiederherstellung von Speicher in einem Speichergerät offen und das schematische Strukturdiagramm dieses Systems ist in 5 dargestellt. Das System umfasst eine erste Erfassungseinheit 51, eine Festlegungseinheit 52, die funktionsmäßig an die erste Erfassungseinheit 51 gekoppelt ist, eine zweite Erfassungseinheit 53, die funktionsmäßig an die Festlegungseinheit 52 gekoppelt ist, und eine Verarbeitungseinheit 54, die funktionsmäßig an die zweite Erfassungseinheit 53 gekoppelt ist. Wobei die erste Erfassungseinheit 51 für das Erfassen von ersten Zustandsparameter für M Speichereinheiten in einem Speichergerät konfiguriert ist. Das Speichergerät umfasst eine Vielzahl von Speichereinheiten, deren Anzahl mit M, einer ganzen Zahl größer als 1, bezeichnet wird.
  • Die Festlegungseinheit 52 ist für die Identifizierung einer ersten Speichereinheit aus den M Speichereinheiten basierend auf den ersten Zustandsparametern konfiguriert. Insbesondere können die ersten Zustandsparameter Werte der Verlustfunktion sein und die erste Speichereinheit wird basierend auf den Werten der Verlustfunktion der M Speichereinheiten identifiziert. Wobei, insbesondere die Speichereinheiten im Speichergerät die Datenblocks, die Seitendaten enthalten, sein, wobei die Datenblocks die kleinsten löschbaren Einheiten und die Seitendaten die kleinsten schreibbaren Einheiten sind. Dann ist insbesondere die Verlustfunktion t wie folgt:
    Figure DE102016105833A1_0005
    wobei globalWrite die Anzahl der Schreiboperationen, blockWrite die Anzahl der aktuellen Schreiboperationen, blockErase die Anzahl der aktuellen Löschoperationen, GlobalValidPages die Anzahl der gültigen Seiten im Speichergerät und BlockValidPages die Anzahl der aktuellen gültigen Seiten ist.
  • Die zweite Erfassungseinheit 52 ist für die Erfassung von N Speichereinheiten, die die erste vorbestimmte Bedingung, in Zusammenhang mit der ersten Speichereinheit von der Speichereinheit, konfiguriert. Insbesondere Erfassen der N Speichereinheiten aus den Speichereinheiten, für die der zweite Zustandsparameter innerhalb eines ersten Differenzbereichs von den zweiten Zustandsparametern der ersten Speichereinheit liegt. Alternativ, Erfassen der zweiten Zustandsparameter der N Speichereinheiten, wobei die N Speichereinheiten aus den Speichereinheiten sind und, wie die erste Speichereinheit, die erste vorbestimmte Bedingung erfüllen. Wobei die zweiten Zustandsparameter die Hash-Werte für jede Speichereinheit repräsentieren.
  • In jeder Speichereinheit werden die Seitendaten eines Seitenblocks einer Streuung unterzogen, um einen den Seitendaten entsprechenden Hash-Wert zu erzeugen und im Gegenzug den Hash-Wert jeder Speichereinheit, das heißt den zweiten Zustandsparameter, zu erhalten. Dann wird eine Vielzahl an Speichereinheiten, die Hash-Werte im ersten Differenzbereich des Hash-Wertes der ersten Speichereinheit aufweisen, aus den M Speichereinheiten herausgesucht, und die Vielzahl der Speichereinheiten kann insbesondere N Speichereinheiten sein, wobei N eine ganze Zahl größer 1 und kleiner als M ist.
  • Die Verarbeitungseinheit 54 ist zur Verarbeitung der Daten in der ersten Speichereinheit und der Daten in den N Speichereinheiten konfiguriert, wenn eine zweite vorbestimmte Bedingung erfüllt ist, wobei M und N ganze Zahlen größer 1 sind und N kleiner als M ist. Insbesondere kann die Verarbeitung der Daten in der ersten Speichereinheit und der Daten in den N Speichereinheiten Folgendes sein: Durchführung von Datenwiederherstellung bezüglich der Daten in der ersten Speichereinheit und der Daten in den N Speichereinheiten.
  • Insbesondere kann dies das Speichern der Daten aus der ersten Speichereinheit in einzelne N Speichereinheiten und dann Löschen der Daten in der ersten Speichereinheit sein, um die erste Speichereinheit in eine leere Speichereinheit zu verwandeln. Alternativ kann dies die Auswahl einer oder mehrerer Speichereinheiten aus den N Speichereinheiten und Speichern der Daten aus den ausgewählten Speichereinheiten in einzelne andere Speichereinheiten und dann Löschen der Daten in den ausgewählten Speichereinheiten sein, um die ausgewählten Speichereinheiten in leere Speichereinheiten für nachfolgende Datenspeicherung umzuwandeln, sein.
  • Dieses in dieser Ausführung offengelegte System zur Wiederherstellung von Speicher in einem Speichergerät kann auf ein Halbleiterlaufwerk angewendet werden. Durch Erfassen der ersten Zustandsparameter der M Speichereinheiten im Speichergerät durch die erste Erfassungseinheit, Bestimmung der ersten Speichereinheit aus den M Speichereinheiten basierend auf den ersten Zustandsparametern mit der Festlegungseinheit; Erfassen der N Speichereinheiten von den Speichereinheiten, die, wie die erste Speichereinheit, die erste vorbestimmte Bedingung erfüllen, mit der zweiten Erfassungseinheit; Verarbeitung der Daten in der ersten Speichereinheit mit der Verarbeitungseinheit, wenn die zweite vorbestimmte Bedingung erfüllt ist, wobei M und N ganze Zahlen größer 1 sind und N kleiner als M ist. Diese Lösung erzielt Verarbeitung der Daten in der ersten Speichereinheit und der Daten in den N Speichereinheiten und Datenwiederherstellung einer Vielzahl von Speichereinheiten durch Auswahl von N Speichereinheiten aus den Speichereinheiten, die, wie die erste Speichereinheit, die erste vorbestimmte Bedingung erfüllen, wodurch die Wiederherstellungseffizienz erhöht, die Anzahl der Wiederherstellungsoperationen von Daten im Speichergerät reduziert und so die Verschwendung von Ressourcen vermieden wird.
  • Jede hier offengelegte Ausführungsform ist in progressiver Weise beschrieben und hebt die Unterschiede zu anderen Ausführungsformen hervor. Für identische oder ähnliche Teile der Ausführungsformen sei auf die anderen Ausführungsformen verwiesen. Bezüglich der in der Ausführungsform offengelegten Vorrichtung ist die Beschreibung derselben relativ einfach, da diese der darin beschriebenen Ausführungsform des Verfahrens entspricht, und für die relevanten Teile wird kann auf die Beschreibung des Verfahrens verwiesen werden.
  • Der Fachmann erkennt, dass verschiedene Aspekte als System, Verfahren oder Vorrichtungsprogrammprodukt ausgeführt werden können. Dementsprechend können Aspekte die Form einer vollständigen Hardware-Ausführungsform oder einer Software-umfassenden Ausführungsform annehmen, auf die hier allgemein als „Kreislauf“, „Modul“ oder „System“ verwiesen werden kann. Weiterhin können Aspekte die Form eines Vorrichtungsprogrammprodukts ausgeführt in einem oder mehreren durch ein Gerät lesbare Medien, wobei durch das Gerät lesbarer Programmcode darin ausgeführt ist. Im Rahmen dieses Dokuments ist ein lesbares Medium kein Signal und „nichtflüchtig“ umfasst alle Medien mit Ausnahme von Signalmedien.
  • Ausführungsformen wurden mit Verweisen auf Flussdiagramme und/oder Blockdiagramme von Verfahren, Geräten (Systemen) und Computerprogrammprodukte gemäß den verschiedenen Beispiel-Ausführungsformen beschrieben. Es ist ersichtlich, dass jeder Prozess und/oder Block der Flussdiagramme und/oder Blockdiagramme und Kombinationen der Prozesse und/oder Blöcke in den Flussdiagrammen und/oder Blockdiagrammen durch Computerprogramm-Anweisungen implementiert werden kann. Die Computerprogramm-Anweisungen können einem Universalrechner, einem dediyierten Computer, einem eingebetteten Prozessor oder einem Proyessor eins anderen Geräts für programmierbare Datenverarbeitung zur Erzeugung einer Maschine bereitgestellt werden, so dass die durch den Computer oder den Prozessor anderer Geräte für programmierbare Datenverarbeitung ausgeführten Anweisungen eine Vorrichtung erzeugen, die zur Implementierung von Funktionen, die in einer oder mehreren Flüssen in Flussdiagrammen und/oder einem oder mehreren Blöcken in Blockdiagrammen angedeutet werden, konfiguriert ist.
  • Die Computerprogramm-Anweisungen können auch in einem Computer-lesbaren Speicher gespeichert werden, der den Computer oder das andere programmierbare Datenverarbeitungsgerät anleiten kann, auf eine spezifische Weise zu arbeiten, so dass die im Computer-lesbaren Speicher gespeicherte Anweisung ein Produkt generiert, das eine Anweisungsvorrichtung umfasst, und die Anweisungsvorrichtung Funktionen implementiert, die in einem oder mehreren Prozessen in den Flussdiagrammen und/oder einem oder mehreren Blöcken in den Blockdiagrammen ausgewiesen sind.
  • Die Computerprogramm-Anweisungen können auch auf den Computer oder andere programmierbare Datenverarbeitungsgeräte geladen werden, so dass eine Reihe von Verfahrensschritten auf dem Computer oder den anderen programmierbaren Geräten ausgeführt werden, um Computer-implementierte Verarbeitung zu generieren und daher stellen Anweisungen, die auf dem Computer oder anderen programmierbaren Geräten ausgeführt werden, Schritte bereit, die zur Implementierung von Funktionen, die in einem oder mehreren Prozessen in den Flussdiagrammen und/oder einem oder mehreren Blöcken in den Blockdiagrammen ausgewiesen sind, genutzt werden.
  • Diese Offenlegung wurde zum Zweck der Illustrierung und Beschreibung präsentiert, ist aber nicht als vollständig oder limitierend aufzufassen. Viele Modifikationen und Variationen sind dem Fachmann offensichtlich. Die Beispiel-Ausführungsformen wurden gewählt und beschrieben, um die Grundlagen und praktischen Anwendungen zu beschreiben, und um dem Fachmann zu ermöglichen, die Offenlegung für verschiedene Ausführungsformen mit verschiedenen Modifikationen, die für die jeweils in Betracht gezogene Anwendung geeignet sind, zu verstehen.
  • Daher ist ersichtlich, dass, obwohl illustrative Beispiel-Ausführungsformen hier mit Bezugnahme auf die angehängten Abbildungen beschrieben wurden, diese Beschreibung nicht begrenzt ist, und dass sich ein Fachmann verschiedene andere Änderungen und Modifikationen darin vorstellen kann, ohne vom Umfang oder Geist der Offenbarung abzuweichen.

Claims (20)

  1. Folgendes wird beansprucht: Eine Vorrichtung, umfassend: einen Prozessor; eine Vielzahl an Speichereinheiten, die funktionsmäßig mit dem Prozessor gekoppelt sind; und ein Speichergerät, das Anweisungen speichert, die durch den Prozessor für Folgendes ausführbar sind: Bestimmen einer ersten Speichereinheit aus der Vielzahl der Speichereinheiten; Auswahl mindestens einer zweiten Speichereinheit aus den verbliebenen anderen Speichereinheiten, die einen Parameter enthält, der eine vorbestimmte Bedingung erfüllt, wobei sich die vorbestimmte Bedingung auf die erste Speichereinheit bezieht; Datenübertragung von mindestens einer der ersten und zweiten Speichereinheiten an mindestens eine der verbliebenen anderen ersten und zweiten Speichereinheiten; und Löschen von Daten von mindestens einer der ersten und zweiten Speichereinheiten, von der die Daten übertragen wurden.
  2. Die Vorrichtung nach Anspruch 1, wobei die mindestens eine ausgewählte zweite Speichereinheit eine erste vorbestimmte Bedingung, in Zusammenhang mit der ersten Speichereinheit, erfüllt; und Erfassen zweiter Zustandsparameter von N Speichereinheiten durch den Prozessor, wobei die N Speichereinheiten mindestens eine zweite Speichereinheit sind und die erste vorbestimmte Bedingung erfüllen.
  3. Das Gerätnach Anspruch 1, wobei der Parameter, der eine vorbestimmte Bedingung erfüllt, innerhalb eines ersten Differenzbereichs vom zweiten Zustandsparameter der ersten Speichereinheit liegt.
  4. Die Vorrichtung nach Anspruch 1, wobei der Parameter, der eine vorbestimmte Bedingung erfüllt und die Anzahl der leeren Speichereinheiten im Speichergerät umfasst, kleiner als ein erster Schwellenwert ist.
  5. Die Vorrichtung nach Anspruch 1, wobei der Parameter, der eine vorbestimmte Bedingung erfüllt, die Verarbeitung der Daten in der ersten Speichereinheit und der Daten in der zweiten Speichereinheit umfasst.
  6. Die Vorrichtung nach Anspruch 1, wobei die Anweisungen ferner durch den Prozessor für Folgendes ausführbar sind: Erfassen von Daten der ersten Speichereinheiten, die die gleichen zweiten Zustandsparameter aufweisen; Speichern der Daten der Speichereinheiten mit den gleichen zweiten Zustandsparametern in einer zweiten Speichereinheit; und Löschen der Daten mit den gleichen zweiten Zustandsparametern in den Speichereinheiten, mit Ausnahme der Daten in der zweiten Speichereinheit.
  7. Die Vorrichtung nach Anspruch 2, wobei die Anweisungen ferner durch den Prozessor für Folgendes ausführbar sind: Erfassen von Daten der ersten Speichereinheiten, die die gleichen zweiten Zustandsparameter aufweisen; Speichern der Daten der Speichereinheiten mit den gleichen zweiten Zustandsparametern in einer zweiten Speichereinheit; und Löschen der Daten mit den gleichen zweiten Zustandsparametern in den Speichereinheiten, mit Ausnahme der Daten in der zweiten Speichereinheit.
  8. Ein Verfahren, umfassend: Bestimmung, mittels eines Prozessors, einer ersten Speichereinheit aus einer Vielzahl von Speichereinheiten eines Speichergeräts; Auswahl, mittels eines Prozessors, mindestens einer zweiten Speichereinheit aus den verbliebenen anderen Speichereinheiten, die einen Parameter enthält, der eine vorbestimmte Bedingung erfüllt, wobei sich die vorbestimmte Bedingung auf die erste Speichereinheit bezieht; Datenübertragung, mittels eines Prozessors, von mindestens einer der ersten und zweiten Speichereinheiten an mindestens eine der verbliebenen anderen ersten und zweiten Speichereinheiten; und Löschen der übertragenen Daten von der mindestens einen der ersten und zweiten Speichereinheiten.
  9. Das Verfahren nach Anspruch 8, ferner umfassend das Erfassen der zweiten Zustandsparameter der N Speichereinheiten, wobei die N Speichereinheiten aus den Speichereinheiten sind und wie die erste Speichereinheit sind und die vorbestimmte Bedingung erfüllen.
  10. Das Verfahren nach Anspruch 8, ferner umfassend das Erfassen von N Speichereinheiten von den Speichereinheiten, wobei die zweiten Zustandsparameter davon innerhalb eines ersten Differenzbereichs von den zweiten Zustandsparametern der ersten Speichereinheit liegen.
  11. Das Verfahren nach Anspruch 8, ferner umfassend, wenn eine zweite vorbestimmte Bedingung erfüllt ist, die Verarbeitung der Daten in der ersten Speichereinheit und der Daten in den N Speichereinheiten, wenn die Anzahl der leeren Speichereinheiten im Speichergerät kleiner als ein erster Schwellenwert ist.
  12. Das Verfahren nach Anspruch 8, ferner umfassend die Verarbeitung der Daten in der ersten Speichereinheit und der Daten in der zweiten Speichereinheit, nachdem ein Start-Befehl erhalten wurde.
  13. Das Verfahren nach Anspruch 8, ferner umfassend: Erfassen der Speichereinheiten mit den gleichen zweiten Zustandsparametern von der ersten Speichereinheit und N Speichereinheiten; Speichern der Daten der Speichereinheiten mit den gleichen zweiten Zustandsparametern in einer zweiten Speichereinheit; und Löschen der Daten mit den gleichen zweiten Zustandsparametern in den Speichereinheiten, mit Ausnahme der Daten in der zweiten Speichereinheit.
  14. Das Verfahren nach Anspruch 9, das ferner Folgendes umfasst: Erfassen der Speichereinheiten mit den gleichen zweiten Zustandsparametern von der ersten Speichereinheit und N Speichereinheiten; und Speichern der Daten der Speichereinheiten mit den gleichen zweiten Zustandsparametern in einer zweiten Speichereinheit; Löschen der Daten mit den gleichen zweiten Zustandsparametern in den Speichereinheiten, mit Ausnahme der Daten in der zweiten Speichereinheit.
  15. Ein System, umfassend: eine erste Erfassungseinheit; eine Festlegungseinheit, die funktionsmäßig an die erste Erfassungseinheit gekoppelt ist; eine zweite Erfassungseinheit, die funktionsmäßig an die Festlegungseinheit gekoppelt ist; eine Verarbeitungseinheit, die funktionsmäßig an die zweite Erfassungseinheit gekoppelt ist; und wobei: die erste Erfassungseinheit erste Zustandsparameter einer Vielzahl von Speichereinheiten in einem Speichergerät erfasst; die Festlegungseinheit eine erste Speichereinheit aus der Vielzahl von Speichereinheiten basierend auf den ersten Zustandsparametern identifiziert; die zweite Erfassungseinheit mindestens eine zweite Speichereinheit erfasst, die die erste vorbestimmte Bedingung, in Zusammenhang mit der ersten Speichereinheit von der Speichereinheit, erfüllt; und die Verarbeitungseinheit die Daten in der ersten Speichereinheit und die Daten in mindestens einer zweiten Speichereinheit verarbeitet, wenn eine zweite vorbestimmte Bedingung erfüllt ist.
  16. Das System nach Anspruch 15, wobei die mindestens eine ausgewählte zweite Speichereinheit eine erste vorbestimmte Bedingung, in Zusammenhang mit der ersten Speichereinheit, erfüllt; und Erfassen zweiter Zustandsparameter von N Speichereinheiten durch den Prozessor, wobei die N Speichereinheiten mindestens eine zweite Speichereinheit sind und die erste vorbestimmte Bedingung erfüllen.
  17. Das System nach Anspruch 15, wobei der Parameter, der eine vorbestimmte Bedingung erfüllt, innerhalb eines ersten Differenzbereichs vom zweiten Zustandsparameter der ersten Speichereinheit liegt.
  18. Das System nach Anspruch 15, wobei der Parameter, der eine vorbestimmte Bedingung erfüllt und die Anzahl der leeren Speichereinheiten im Speichergerät umfasst, kleiner als ein erster Schwellenwert ist.
  19. Das System nach Anspruch 15, wobei der Parameter, der eine vorbestimmte Bedingung erfüllt, die Verarbeitung der Daten in der ersten Speichereinheit und der Daten in der zweiten Speichereinheit umfasst.
  20. Das System nach Anspruch 15, das ferner Folgendes umfasst: Erfassen von Daten der ersten Speichereinheiten, die die gleichen zweiten Zustandsparameter aufweisen; Speichern der Daten der Speichereinheiten mit den gleichen zweiten Zustandsparametern in einer zweiten Speichereinheit; und Löschen der Daten mit den gleichen zweiten Zustandsparametern in den Speichereinheiten, mit Ausnahme der Daten in der zweiten Speichereinheit.
DE102016105833.5A 2015-11-23 2016-03-30 Speicherwiederherstellung Pending DE102016105833A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201510819020.6 2015-11-23
CN201510819020.6A CN105512049B (zh) 2015-11-23 2015-11-23 一种存储器数据回收方法、装置及系统

Publications (1)

Publication Number Publication Date
DE102016105833A1 true DE102016105833A1 (de) 2017-05-24

Family

ID=55720050

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102016105833.5A Pending DE102016105833A1 (de) 2015-11-23 2016-03-30 Speicherwiederherstellung

Country Status (3)

Country Link
US (1) US10198209B2 (de)
CN (1) CN105512049B (de)
DE (1) DE102016105833A1 (de)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180059208A (ko) * 2016-11-25 2018-06-04 삼성전자주식회사 리클레임 제어부를 갖는 메모리 콘트롤러 및 그에 따른 동작 제어 방법
CN116841453A (zh) * 2022-03-25 2023-10-03 中移(苏州)软件技术有限公司 一种数据回收方法、系统、装置及计算机可读存储介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100580811C (zh) * 2005-11-25 2010-01-13 康佳集团股份有限公司 一种闪存装置的脏块回收方法
US8375161B2 (en) * 2010-03-03 2013-02-12 James H. Stephens Flash memory hash table
CN102147767B (zh) * 2011-04-26 2014-04-02 记忆科技(深圳)有限公司 固态硬盘垃圾收集参数动态调整方法及其系统
GB2490991B (en) * 2011-05-19 2017-08-30 Ibm Wear leveling

Also Published As

Publication number Publication date
US20170147256A1 (en) 2017-05-25
US10198209B2 (en) 2019-02-05
CN105512049A (zh) 2016-04-20
CN105512049B (zh) 2019-04-23

Similar Documents

Publication Publication Date Title
DE102012216022B4 (de) Verwaltung einer Zeitpunktkopie-Beziehung für platzsparende Datenträger
DE112016003249T5 (de) Container-Bereitstellung auf Abhängigkeitsgrundlage
DE602004002674T2 (de) Speichersystem und Verfahren zur Erfassung und Verwendung von Schnappschüssen
DE102007006307A1 (de) Verfahren zum Betreiben eines nichtflüchtigen Speicherelements, Aufzeichnungsmedium und nichtflüchtigen Speicherelement
DE112011100819T5 (de) Speicherplatzreservierung in einem Deduplizierungssystem
DE102009019271A1 (de) Übertragen von Sequenzzahlen für das Wiederherstellen nach Stromausfall bei einem nichtflüchtigen Speicher
DE102009034651A1 (de) Prozess und Verfahren zur Abbildung von logischen Adressen auf physische Adressen in Festkörperplatten
DE102017120787A1 (de) Verfahren und Vorrichtung zum Entladen von Datenverarbeitung in Hybrid-Speichervorrichtungen
DE102012208141A1 (de) Ausgleich nachlassender Funktionsfähigkeit
DE112011103276T5 (de) Vorauslese-Verarbeitung in einer Client-Server-Netzwerkarchitektur
DE112013000656T5 (de) System und Verfahren zum Verringern der Speichernutzung durch optimales Platzieren von virtuellen Maschinen in einem virtualisierten Rechenzentrum
DE102009060746A1 (de) Speichersicherung
DE112012003695T5 (de) Aufrechterhalten mehrerer Zielkopien
DE102014116393A1 (de) Verfahren und System für ein sicheres Archivieren von Daten
DE112010003675T5 (de) Adress-Server
DE102022108673A1 (de) Ressourcenzuweisung für synthetische backups
DE112018001290T5 (de) Verfahren zum Schätzen der Löschbarkeit von Datenobjekten
DE112019000627T5 (de) Speicherstrukturbasiertes Coherency Directory Cache
DE102021101239A1 (de) Schwellenwert des deduplizierungssystems basierend auf dem verschleiss eines speichergeräts
DE202015009296U1 (de) System zum Laden virtueller Maschinen
DE102016105833A1 (de) Speicherwiederherstellung
DE102012221261A1 (de) Verfahren zum Zwischenspeichern und System zum Ausführen des Verfahrens zum Zwischenspeichern zum Betreiben eines mindestens einen Host-Computer aufweisenden Computerserversystems
DE60307527T2 (de) Tupleraumoperationen für eine feinkörnige Systemsteuerung
DE102022110889A1 (de) Halbüberwachtes training grober labels bei bildsegmentierung
DE102021124256A1 (de) Mobile ki

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R082 Change of representative

Representative=s name: BALS & VOGEL PATENTANWAELTE PARTG MBB, DE

R016 Response to examination communication