DE102015114721A1 - Verfahren, Gerät und System zur Datenverarbeitung - Google Patents

Verfahren, Gerät und System zur Datenverarbeitung Download PDF

Info

Publication number
DE102015114721A1
DE102015114721A1 DE102015114721.1A DE102015114721A DE102015114721A1 DE 102015114721 A1 DE102015114721 A1 DE 102015114721A1 DE 102015114721 A DE102015114721 A DE 102015114721A DE 102015114721 A1 DE102015114721 A1 DE 102015114721A1
Authority
DE
Germany
Prior art keywords
page
memory
address
logical address
group
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.)
Granted
Application number
DE102015114721.1A
Other languages
English (en)
Other versions
DE102015114721B4 (de
Inventor
Jan Otterstedt
Stefan Rüping
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.)
Infineon Technologies AG
Original Assignee
Infineon Technologies AG
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 Infineon Technologies AG filed Critical Infineon Technologies AG
Publication of DE102015114721A1 publication Critical patent/DE102015114721A1/de
Application granted granted Critical
Publication of DE102015114721B4 publication Critical patent/DE102015114721B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/0292User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7201Logical to physical mapping or translation of blocks or pages

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System (AREA)

Abstract

Ein Beispiel bezieht sich auf ein Verfahren zur Datenverarbeitung, umfassend: Abbilden zwischen einer logischen Adresse und einer physischen Adresse eines Speichers, wobei der Speicher mehrere Seiten umfasst, wobei eine Gruppe von Seiten wenigstens eine Seite umfasst, die wenigstens zwei Abschnitte umfasst, und wobei die wenigstens zwei Abschnitte jeder Seite der Gruppe nicht Teil eines logischen Einzelseitenadressraums sind.

Description

  • Ausführungsformen der vorliegenden Erfindung beziehen sich auf eine effiziente Nutzung von Verarbeitungsdaten, die insbesondere wenigstens vorübergehend in einem nichtflüchtigen Speicher (NVM) gespeichert werden können. In diesem Zusammenhang werden Verfahren zum Betreiben und/oder Nutzen derartigen NVMs geboten, und entsprechende Geräte sowie Systeme werden vorgeschlagen.
  • Eine Aufgabe besteht insbesondere darin, nichtflüchtige Speicher effizient zu nutzen.
  • Diese Aufgabe wird gemäß den Merkmalen der unabhängigen Ansprüche gelöst. Bevorzugte Ausführungsformen sind insbesondere den abhängigen Ansprüchen entnehmbar.
  • Diese hierin vorgeschlagenen Beispiele können insbesondere auf zumindest einer der nachfolgenden Lösungen basieren. Insbesondere können Kombinationen der nachfolgenden Merkmale eingesetzt werden, um ein gewünschtes Ergebnis zu erreichen. Die Merkmale des Verfahrens können mit (einem) beliebigen Merkmal(en) der Vorrichtung, des Geräts oder Systems oder umgekehrt kombiniert werden.
  • Es wird ein Verfahren zur Datenverarbeitung vorgeschlagen umfassend:
    • – Abbilden zwischen einer logischen Adresse und einer physischen Adresse eines Speichers,
    • – wobei der Speicher mehrere Seiten umfasst,
    • – wobei eine Gruppe von Seiten wenigstens eine Seite umfasst, die wenigstens zwei Abschnitte umfasst,
    • – wobei die wenigstens zwei Abschnitte jeder Seite der Gruppe nicht Teil eines logischen Einzelseitenadressraums sind.
  • So erlauben die hier vorgestellten Beispiele insbesondere ein Abbilden von einer logischen zu einer physischen Adresse (und umgekehrt), wobei sich mehrere Abschnitte (wenigstens zwei), auch bezeichnet als „Einheiten“, einer einzelnen Seite verschiedene logische Adressräume teilen können. Ferner kann es ein Offset (Versatz) in dem logischen Adressraum zwischen den Abschnitten der Seite geben.
  • Der logische Einzelseitenadressraum kann insbesondere ein zusammenhängender Adressraum einer einzelnen Seite sein: Die Seite kann mehrere Einheiten umfassen; der logische Einzelseitenadressraum beginnt mit der ersten und endet mit der letzten Einheit der Seite.
  • Es sei angemerkt, dass "Seite" jeder physische Speicherabschnitt sein kann, der insgesamt (z.B. auf einmal) gelöscht werden kann. Die Seite kann insbesondere der kleinste einer Löschoperation unterliegende physische Speicherabschnitt sein.
  • Es kann wenigstens eine Gruppe von Seiten geben, wobei jede Seite der entsprechenden Gruppe in wenigstens zwei Abschnitte unterteilt ist. Der Speicher kann insbesondere mehrere derartige Gruppen umfassen, wobei jede Gruppe dieselben oder verschiedene Aufteilungen ihrer jeweiligen Seite(n) in Einheiten haben kann. Es kann auch eine Gruppe geben, die wenigstens eine Seite umfasst, wobei besagte wenigstens eine Seite nicht in Abschnitte unterteilt ist.
  • Es ist eine Weiterbildung, dass der Speicher ein nichtflüchtiger Speicher ist.
  • Der Speicher kann insbesondere ein eingebetteter ("embedded") nichtflüchtiger (NVM) Flash-Speicher sein oder einen solchen umfassen.
  • Es ist eine Weiterbildung, dass die Seite ein Abschnitt des Speichers ist, der durch eine einzige Löschoperation gelöscht werden kann.
  • Es ist eine Weiterbildung, dass die Seite der kleinste zusammenhängende Abschnitt des Speichers ist, der von einer einzigen Löschoperation erfasst wird.
  • Daher kann der kleinste zusammenhängende Abschnitt des Speichers, der durch eine einzige Löschoperation gelöscht werden kann, als Seite bezeichnet werden.
  • Es wird darauf hingewiesen, dass eine Modifizierungsoperation eine Löschoperation und eine Schreiboperation (für den Speicherabschnitt, insbesondere die wenigstens eine Seite) umfassen kann.
  • Es ist eine Weiterbildung, dass mehrere Gruppen vorgesehen sind, die jeweils wenigstens eine Seite umfassen.
  • Es ist eine Weiterbildung, dass wenigstens ein Abschnitt jeder Seite der Gruppe nicht benutzt wird.
  • Die Gruppe der Seiten kann in wenigstens zwei Abschnitte aufgeteilt werden. Jeder Abschnitt aller Seiten der besagten Gruppe kann zu einem zusammenhängenden logischen Speicherraum kombiniert werden. Wenn jede Seite der Gruppe in i Abschnitte unterteilt wird, gibt es daher i zusammenhängende logische Speicherräume für die Gruppe. Die i zusammenhängenden logischen Speicherräume können logisch aneinander angehängt werden, um einen kombinierten zusammenhängenden logischen Speicherraum zu umspannen.
  • Es ist eine Weiterbildung, dass wenigstens ein Abschnitt jeder Seite der Gruppe zum Speichern von Daten verwendet wird, die nicht in einen Zwischenspeicher kopiert werden müssen, wenn die Seite gelöscht oder modifiziert wird.
  • Es ist insbesondere eine Option, wenigstens einen Abschnitt jeder Seite der Gruppe nicht zu benutzen. Dies ermöglicht eine Reduzierung des Rechenaufwands zum Modifizieren der Seite, weil im Vergleich zum Szenario, wenn alle Abschnitte der Seite benutzt werden, weniger Kopier- und Schreiboperationen erforderlich sind. Dies kann die Abarbeitungsverzögerung vorteilbringend verkürzen und nützlich sein, wenn bei einer derartigen Gruppe oder auf einer bestimmten Seite der Gruppe viele Modifizierungsoperationen durchzuführen sind.
  • Es ist eine Weiterbildung, dass wenigstens ein Abschnitt jeder Seite der Gruppe zum Speichern einer aktualisierten Version der in wenigstens einem anderen Abschnitt dieser Seite gespeicherten Daten verwendet wird.
  • Daher kann eine Aktualisierung effizient durch Wählen der letzten Daten, ohne die Seite modifizieren (und dadurch zeitintensive Operationen wie Löschen und (wenigstens teilweises) Neuschreiben der Seite ausführen) zu müssen, durchgeführt werden.
  • Zum Beispiel, wenn eine Seite in zwei Abschnitte unterteilt ist, kann ein erster Abschnitt Daten umfassen, die zu einem gewissen Zeitpunkt durch Schreiben der ersten Aktualisierung in den zweiten Abschnitt aktualisiert werden. Die Software kann von diesem Zeitpunkt an die aktualisierten Daten im zweiten Abschnitt verwenden. Wenn eine weitere (zweite) Aktualisierung erforderlich ist, wird die zweite Aktualisierung der Daten in den ersten (oder zweiten) Abschnitt geschrieben, nachdem die Seite gelöscht worden ist; in diesem Fall wird nur ein Abschnitt der Seite durch die zweite Aktualisierung geschrieben, der andere kann leer bleiben, z. B. für eine nachfolgende (dritte) Aktualisierung der Daten.
  • Es ist eine Weiterbildung, dass jeder der wenigstens zwei Abschnitte jeder Seite der Gruppe Teil eines separaten zusammenhängenden logischen Adressraums ist.
  • Es ist eine Weiterbildung, dass separate zusammenhängende logische Adressräume zu einem zusammenhängenden logischen Adressraum kombiniert werden.
  • Es ist eine Weiterbildung, dass das Verfahren weiter umfasst:
    • – Abbilden zwischen einer logischen Adresse und einer physischen Adresse eines Speichers durch Swappen von Bits zwischen der logischen Adresse und der physischen Adresse.
  • Das Swappen von Bits umfasst insbesondere ein Vertauschen bzw. Austauschen von Bits.
  • Die Aufgabe wird auch gelöst mittels einer Vorrichtung zur Datenverarbeitung, umfassend:
    • – eine Verarbeitungseinheit,
    • – einen mehrere Seiten umfassenden Speicher, wobei eine Gruppe von Seiten wenigstens eine Seite umfasst, die wenigstens zwei Abschnitte umfasst,
    • – eine Abbildungslogik, die zum Abbilden einer logischen Adresse der Verarbeitungseinheit auf eine physische Adresse des Speichers eingerichtet ist, wobei die wenigstens zwei Abschnitte jeder Seite der Gruppe nicht Teil eines logischen Einzelseitenadressraums sind.
  • Es ist eine Weiterbildung, dass die Vorrichtung weiterhin eine Konfigurationssteuereinheit umfasst, die zum Konfigurieren der Abbildungslogik vorgesehen ist.
  • Es ist eine Weiterbildung, dass die Abbildungslogik eine Bit-Swapping-Einheit umfasst, die zum Swappen von Bits zwischen der logischen Adresse und der physischen Adresse vorgesehen ist.
  • Es ist eine Weiterbildung, dass die Abbildungslogik eine Bit-Swapping-Einheit umfasst, die zum Swappen von m Bits einer logischen Seitenadresse und n Bits einer logischen Einheitadresse zum Erhalten der physischen Adresse eingerichtet ist.
  • Es ist eine Weiterbildung, dass die Vorrichtung in einer der folgenden Komponenten implementiert ist:
    • – als Chipkarte;
    • – als SIM-Karte;
    • – als Zugangskarte;
    • – als elektronisches Zahlungsgerät;
    • – als Pass;
    • – als Identifikationsmedium oder Identifikationsvorrichtung;
    • – als Authentifizierungsgerät;
    • – als Mikrocontroller;
    • – als Mikroprozessor;
    • – als anwendungsspezifische integrierte Schaltung.
  • Die anwendungsspezifische integrierte Schaltung wird auch als ASIC bezeichnet.
  • Weiterhin ist ein System vorgeschlagen, umfassend mindestens eine der hier beschriebenen Vorrichtungen.
  • Es ist eine Weiterbildung, dass das System wenigstens eines der Folgenden ist:
    • – ein Kommunikationssystem;
    • – ein Mobiltelefon;
    • – ein Haushaltsgerät;
    • – ein Motorsteuermodul;
    • – ein Fertigungsgerät;
    • – ein Roboter;
    • – ein Unterhaltungsgerät.
  • Auch wird eine Vorrichtung zur Datenverarbeitung angegeben, umfassend:
    • – Mittel zum Abbilden zwischen einer logischen Adresse und einer physischen Adresse eines Speichers,
    • – wobei der Speicher mehrere Seiten umfasst,
    • – wobei eine Gruppe von Seiten wenigstens eine Seite umfasst, die wenigstens zwei Abschnitte umfasst,
    • – wobei die wenigstens zwei Abschnitte jeder Seite der Gruppe nicht Teil eines logischen Einzelseitenadressraums sind.
  • Ferner wird ein Computerprogrammprodukt vorgeschlagen, das direkt in einen Speicher eines digitalen Verarbeitungsgeräts ladbar ist, umfassend Softwarecodeteile zur Durchführung der Schritte des hierin beschriebenen Verfahrens.
  • Ausführungsformen werden unter Bezug auf die Zeichnungen gezeigt und dargestellt. Die Zeichnungen dienen zur Darstellung des Grundprinzips, sodass nur für das Verständnis des Grundprinzips notwendige Aspekte dargestellt werden. Die Zeichnungen sind nicht maßstabsgetreu. Gleiche Bezugszeichen in den Zeichnungen kennzeichnen ähnliche Merkmale.
  • 1 ist ein Blockdiagramm, das eine beispielhafte Hardwarestruktur für flexible Nutzung eines Speichers zeigt;
  • 2 zeigt einen beispielhaften Speicher mit mehreren Seiten, wobei jede Seite 8 Einheiten umfasst;
  • 3 zeigt den Speicher von 2, wobei, im Gegensatz zu 2, logische und physische Adressen nicht identisch sind;
  • 4 zeigt den Speicher von 2, wobei die logischen und physischen Adressen abermals nicht identisch sind; im Gegensatz zum in 3 gezeigten Beispiel sind die zweiten Hälften der Seiten nicht ungenutzt;
  • 5 zeigt einen Speicher, der verschiedene Abbildungen für verschiedene Abschnitte des Speichers nutzt.
  • 6 zeigt den Speicher gemäß 5, wobei im Gegensatz zum in 5 gezeigten Beispiel die zweiten Hälften des Mittelabschnitts nicht ungenutzt sind;
  • 7 ist eine schematische Darstellung für effizientes Abbilden von k logischen Adressbits auf k physische Speicheradressbits.
  • Nichtflüchtige Speicher (NVMs) können mit verschiedenen Softwareanwendungen programmiert und gelöscht werden. Der Speicher kann so organisiert werden, dass eine Gruppe von Bits zusammen gelöscht oder programmiert wird. Es kann zum Beispiel ein Sektor des Speichers gelöscht oder programmiert werden, oder es kann eine Seite des Speichers gelöscht oder programmiert werden. Beispielsweise kann die Seite mehrere Bits umfassen, und der Sektor kann mehrere Seiten umfassen.
  • Es wird darauf hingewiesen, dass eine Seite jeder physische Speicherabschnitt sein kann, der insgesamt gelöscht werden kann. Die Seite kann insbesondere der kleinste einer Löschoperation unterliegende physische Speicherabschnitt sein.
  • Es wird darauf hingewiesen, dass der hier erwähnte Sektor ein Beispiel von Abschnitten eines Speichers ist, der gelöscht werden kann, wobei der Sektor wenigstens ein Bit, insbesondere mehrere Bits oder mehrere Seiten umfassen kann. Der erwähnte Speicher kann insbesondere ein Speichergerät sein.
  • Hier beschriebene Beispiele können hinsichtlich jedes Geräts mit persistentem und reprogrammierbarem Speicher, z. B. NAND/NOR Flash, RRAM, MRAM, FeRAM anwendbar sein. Sie können auch für Festplatten anwendbar sein.
  • Anwendungsfälle können sich auf Szenarien mit reprogrammierbarer Firmware beziehen. Beispielszenarien sind: Handys, Waschmaschinen, Motorsteuermodule (z. B. im Automobilbereich), Fertigungsroboter am Fließband, DVD-Player, Spielkonsolen, FPGA-Geräte usw.
  • Hinsichtlich einer Seitengröße (oder jeder wenigstens eine Seite umfassenden Speichergröße) eines (beispielsweise eingebetteten Flash) NVM-Speichers (nichtflüchtigen Speichers) bestehen widersprüchliche Anforderungen. Hier gegebene Beispiele bieten Lösungen für diese widersprüchlichen Anforderungen.
  • Einerseits ist es vorteilhaft, die Seitengröße zu erhöhen, d. h. die Anzahl der auf einer Seite gespeicherten Bytes zu erhöhen, weil dadurch die erforderliche Siliziumfläche verkleinert werden kann. Dies kann insbesondere für Speicherkapazitäten über einer bestimmten Schwelle zutreffen. Besagte Schwelle kann von der Technologie und/oder Architektur des Speichergeräts abhängen.
  • Andererseits definiert die Seitengröße die kleinste Anzahl der Bytes, die auf einmal gelöscht werden kann, d. h. alle Bytes einer Seite sollen und müssen zusammen gelöscht werden. Manche Anwendungen erfordern jedoch beispielsweise Modifizieren des Inhalts nur eines einzigen Datenbytes, und dies verlangt dann die folgenden Aktionen:
    • (a) Kopieren des Inhalts der kompletten Seite in einen Zwischenpuffer,
    • (b) Modifizieren der im Zwischenpuffer gespeicherten Daten, d. h. des einzelnen zu modifizierenden Datenbytes,
    • (c) Löschen der ganzen Seite, und
    • (d) Zurückschreiben der Daten vom Zwischenpuffer zur (gelöschten) Seite.
  • Je größer eine Seite ist, desto mehr Zeit ist zur Durchführung der Schritte (a) und (d) erforderlich. Schritt (c) kann von der Größe der Seite unabhängig sein. Daher führt ein Erhöhen der Größe einer Seite zu einem größeren Zeitaufwand für besagte Schritte (a) und insbesondere (d), was weiterhin zu einer Verzögerung führen kann, die eine zu hohe Anwendungsanforderung sein könnte.
  • Es wird darauf hingewiesen, dass der Zwischenpuffer, zum Beispiel, ein Arbeitsspeicher (RAM) oder eine andere Seite des NVMs sein kann; die Entscheidung zum Wählen eines derartigen Zwischenpuffers kann von Anwendungsanforderungen abhängen.
  • Es wird darauf hingewiesen, dass „Seite“ in diesem Zusammenhang insbesondere als der kleinste auf einmal löschbare Speicherabschnitt des NVMs verstanden werden kann. Dies kann insbesondere der kleinste Speicherabschnitt sein, der gelöscht werden kann. Das hier beschriebene Konzept ist jedoch entsprechend auf andere Speicherabschnitte, z. B. Sektoren, anwendbar.
  • Hier vorgestellte Beispiele können insbesondere auf große Seiten zutreffen. Die Größe einer (großen) Seite kann für einen typischen großen Bereich eines Speichers konzipiert sein, so wie er (in unterschiedlichen Einsatzgebieten oder Anwendungen) für einen beliebigen Datentyp, z.B. Code, Konstante und/oder Massendaten verwendet werden kann.
  • Für derartige Daten, die kleinen Detailänderungen unterliegen können (z. B. bit- oder byteweise), kann eine (z. B. softwarebasierte) Lösung nahelegen, (nur) einen Abschnitt (z. B. die Hälfte) jeder Seite zu verwenden, und den übrigen Teil der Seite zu ignorieren. Allerdings hat eine derartige Lösung die folgenden Nachteile:
    • (1) Ein Abschnitt der Seite und damit des Speichers wird nicht genutzt und daher „verschwendet“.
    • (2) Der logische Gesamtadressraum des nutzbaren Speichers weist mehrere nicht verwendete Abschnitte („Löcher“) auf, was einem hohen Maß an Fragmentierung entspricht und unbequem handzuhaben sein kann.
  • Gemäß einem Beispiel können diese Nachteile über beispielsweise eine Hardware, z. B. eine Abbildungslogik, die ein dediziertes Abbilden von logischen Adressen (die für die Software sichtbar sind) auf physische Adressen (die von der Speicherhardware verwendet werden) vermindert oder vermieden werden. Außerdem kann eine derartige Abbildungslogik für einen Betrieb auf einem vorbestimmten Speicherbereich konfiguriert werden. Daher ist jede Teilung in Speicherabschnitte weitgehend flexibel: Die Konfiguration kann gemäß Anforderungen der Anwendung durch Konfigurieren der Hardware angepasst werden. Eine effektive Seitengröße kann durch die Konfiguration reduziert werden, und die Fragmentierung kann durch Vermeiden von Clusteringlöchern in einen Bereich des Speicherraums minimiert werden.
  • 1 ist ein Blockdiagramm, das eine beispielhafte Hardwarestruktur für eine flexible Nutzung eines Speichers 102 zeigt. Der Speicher 102 kann ein NVM sein. Eine Verarbeitungseinheit 104, z. B. ein Mikrocontroller, eine zentrale Verarbeitungseinheit und so weiter, können eine logische Adresse 105 an eine Abbildungslogik 101 liefern. Die Abbildungslogik 101 kann über eine Konfigurationssteuereinheit 103 konfiguriert werden. Basierend auf der logischen Adresse 105 und den Konfigurationsdaten von der Konfigurationssteuereinheit 103 führt die Abbildungslogik 101 eine Adressabbildung durch, die zu einer physischen Adresse 106 für den Zugriff auf den Speicher 102 führt. Beruhend auf der von der Abbildungslogik 101 durchgeführten Adressabbildung können Daten 107 zwischen der Verarbeitungseinheit 104 und dem Speicher 102 übertragen werden.
  • Die Konfigurationssteuereinheit 103 ermöglicht eine flexible Nutzung des Speichers 102. Die Konfigurationssteuereinheit 103 kann Speicherabschnitte einer oder verschiedener Größen konfigurieren und Positionen der Speicherabschnitte des physischen Speichers 102 verwalten. Die Konfigurationssteuereinheit 103 bietet der Verarbeitungseinheit 104 daher einen Dienst in dem Sinne, dass sie den Speicher als logisch verbundenen Speicherraum präsentiert, der auf effiziente, z. B. nicht fragmentierte Weise adressiert werden kann.
  • Nachfolgend werden mehrere Beispiele beschrieben. Jede Seite kann in mehrere „Einheiten“ aufgeteilt werden. Die Seite kann zum Beispiel zu gleichen Teilen (zu 50 %) in zwei Speicherabschnitte „Teil 1“ und „Teil 2“ aufgeteilt werden. Dies ist jedoch nur eine zu Veranschaulichungszwecken gewählte beispielhafte Ausführungsform. Je nach tatsächlicher Anwendung können eine unterschiedliche Anzahl von Speicherabschnitten sowie verschiedene Größen von Speicherabschnitten gemäß den hier beschriebenen Konzepten verwendet werden.
  • Gemäß den Beispielen kann eine Partitionierung zu 50 %, 25 %, 12,5 %, usw. für Implementierungszwecke vorteilhaft sein. Gemäß derartigen Beispielen beträgt die Anzahl der auf einer Seite gespeicherten Einheiten 2n, wobei n eine Ganzzahl größer als oder gleich 1 ist.
  • Es wird darauf hingewiesen, dass die besagte Einheit ein Byte (8 Bits) oder ein Wort (16 Bits) oder jede andere Anzahl von Bits sein kann, die logisch verbunden werden können.
  • 2 zeigt einen Beispielspeicher 200 mit den Seiten 201 bis 208. Jede Seite 201 bis 208 umfasst 8 Einheiten; dies ist als Beispiel für die Seite 201 mit den Einheiten 2011 bis 2018 und für die Seite 208 mit den Einheiten 2081 bis 2088 gezeigt. Daher umfasst jede Seite 20i die Einheiten 20i1 bis 20i8, wobei i = 1...8.
  • Bei normalem Betrieb des Speichers 200 sind eine logische Adresse und eine physische Adresse identisch. Daher führt eine linear inkrementierte logische Adresse zu einer ähnlich linear inkrementierten physischen Adresse, d. h., der Speicherbereich wird Einheit für Einheit, Seite für Seite, beginnend mit der ersten Einheit 2011 der Seite 201 bis zur letzten Einheit 2018 der Seite 201, fortfahrend mit der ersten Einheit 2021 der Seite 202 usw. abgearbeitet.
  • 3 zeigt den Speicher 200 von 2, wobei, im Gegensatz zu 2, logische und physische Adressen nicht identisch sind.
  • Nachdem die 4. Einheit 2014 der Seite 201 erreicht worden ist, führt eine weitere Fortschreibung der physischen Adresse zum Sprung zur 1. Einheit 2021 der Seite 202, d. h., die zweite Hälfte jeder Seite wird nicht verwendet. In diesem Fall stellen die ersten Hälften der Seiten 201 bis 208 einen kontinuierlichen logischen Adressbereich dar, während die zweiten Hälften der Seiten 201 bis 208 ungenutzt sind, und der Speicher effektiv einen reduzierten logischen Adressbereich hat. Der Adressbereich wird auch als Adressraum bezeichnet.
  • 4 zeigt den Speicher 200 von 2, wobei die logischen und physischen Adressen abermals nicht identisch sind. Im Gegensatz zu dem in 3 gezeigten Beispiel sind die zweiten Hälften der Seiten 201 bis 208 jedoch nicht ungenutzt.
  • Nachdem die 4. Einheit 2014 der Seite 201 erreicht worden ist, führt eine weitere Fortschreibung der physischen Adresse zum Sprung zur 1. Einheit 2021 der nächsten Seite 202. Nachdem die 4. Einheit 2084 der letzten physischen Seite 208 erreicht worden ist, führt eine weitere Fortschreibung der physischen Adresse zum Sprung zur 5. Einheit 2015 der ersten Seite 201. Nach der 8. Einheit 2018 der ersten Seite 201 kommt die 5. Einheit 2025 der zweiten Seite 202 als Nächstes usw., bis die 8. Einheit 2088 der letzten Seite 208 erreicht ist.
  • In diesem Fall sind diese zweiten Hälften der Seiten 201 bis 208 nicht „verschwendet“, sondern haben ihren eigenen kontinuierlichen logischen Adressbereich. Der Speicher hat effektiv denselben logischen Gesamtadressbereich, der verglichen mit dem hinsichtlich 2 beschriebenen normalen Betrieb nur auf eine andere Weise auf den physischen Adressbereich abgebildet ist.
  • 5 zeigt einen Speicher 500, der verschiedene Abbildungen für verschiedene Abschnitte 501, 502 und 503 des Speichers nutzt.
  • In Abschnitt 501 und 503 wird ein Vollseiten-Abbilden verwendet, wie hinsichtlich 2 beschrieben, und in Abschnitt 502 werden halbe Seiten verwendet, wie hinsichtlich 3 beschrieben.
  • Daher können die physischen Adressen flexibel auf logische Adressen abgebildet werden, wobei verschiedene Abschnitte des Speichers 500 für verschiedene physische Abbildungen (wie hinsichtlich 1 beschrieben) konfiguriert werden können.
  • Da die zweiten Hälften der Seiten in Abschnitt 502 ungenutzt sind, hat der Speicher effektiv einen kleineren logischen Gesamtadressbereich. Um einen Gesamtadressbereich ohne jegliche Löcher zu erhalten, können die Adressen des normalen Adressbereichs über dem abgebildeten Adressbereich logisch nach unten verschoben werden, sodass sie direkt an den reduzierten Adressraum gemäß dem Abbilden angehängt sind.
  • Im in 5 gezeigten Beispiel können die logischen Adressen, wie durch die Referenz ADR0 bis ADR88 gezeigt, abgebildet werden, wobei ADR0 die erste Einheit 504 der ersten 8 verwendbaren Einheiten und ADR88 die erste Einheit 505 der letzten 8 verwendbaren Einheiten des Speichers 500 anzeigt. Daher kann das logische Abbilden ADR0 bis ADR88 von dem sonstigen physischen Abbilden ADR0 bis ADR120 wegen der 32 ungenutzten Einheiten in Abschnitt 502 abweichen.
  • 6 zeigt den Speicher 500 gemäß 5, wobei im Gegensatz zum in 5 gezeigten Beispiel die zweiten Hälften des Abschnitts 502 nicht ungenutzt sind.
  • In Abschnitt 501 und 503 wird ein Vollseiten-Abbilden verwendet, wie hinsichtlich 2 beschrieben, und in Abschnitt 502 werden die halben Seiten wie hinsichtlich 4 beschrieben abgebildet.
  • In 6 wird das logische Adressierungsschema durch die Aufzählungsreferenzen ADR0 bis ADR120 gezeigt. In Abschnitt 502 umfasst jede Seite zwei Abschnitte, wobei die besagten zwei Abschnitte einer Seite nicht Teil desselben logischen Einzelseitenadressraums sind. Ein erster logischer Adressraum des Abschnitts 502 reicht von ADR32 bis ADR63 und deckt die ersten Hälften der Seiten ab, und ein zweiter logischer Adressraum des Abschnitts 502 reicht von ADR64 bis ADR95 und deckt die zweite Hälften der Seiten ab. Daher ist jede Seite des Abschnitts 502 Teil des ersten und zweiten Adressraums.
  • Da die zweiten Hälften der Seiten von Abschnitt 502 adressierbar sind, hat der Speicher effektiv denselben logischen Gesamtadressraum wie bei normalem Betrieb. Der Adressbereich enthält keine Löcher, eine Verschiebung logischer hinsichtlich physischer Adressen ist nicht erforderlich.
  • In den in 4 und 6 gezeigten Beispielen kann ein auf eine Seite 201 bis 208 des Speichers 200 oder auf eine Seite des Abschnitts 502 ausgeübter Löschvorgang zwei Halbseiten von einem anderen logischen Adressbereich beeinflussen (d. h. ebenso löschen).
  • Ein kontinuierlicher logischer Adressbereich, der die ersten Hälften der Seiten umfasst, kann zum Speichern von (wichtigen) Daten verwendet werden, und der andere kontinuierliche logische Adressbereich, der die zweiten Hälften der Seiten umfasst, kann entweder leer gelassen oder zum Speichern von Daten verwendet werden, die nicht in Schritten (a) und (d), wie oben beschrieben, kopiert werden müssen. In einem Beispiel können (beispielsweise) die zweiten Hälften der Seiten zum Speichern von aktualisierten Versionen der in den ersten Hälften gespeicherten Daten verwendet werden.
  • Falls 2n Einheiten auf einer Seite gespeichert sind und sich 2m Seiten im Abbildungsbereich befinden, kann die Adressabbildungslogik wie folgt durchgeführt werden: Für eine Adresse innerhalb des relevanten (abgebildeten) logischen Adressbereichs kann die Abbildung einfach durch Swappen von Bits der Adresse realisiert werden. Es wird darauf hingewiesen, dass m und n Ganzzahlen größer als oder gleich 1 sind.
  • 7 ist eine schematische Darstellung für effizientes Abbilden von k logischen Adressbits auf k physische Speicheradressbits. Im in 7 gezeigten Beispiel beläuft sich eine Partitionierung der Seiten auf 50 %, die Anzahl der auf einer Seite gespeicherten Einheiten beträgt 23 = 8, und die Anzahl der Seiten im Abbildungsbereich 24 = 16.
  • Eine logische Adresse 704 umfasst k Bits. Eine logische Seitenadresse 707, die m = 4 Bits der logischen Adresse 704 umfasst, wird zu einer Bit-Swapping-Einheit 701 übertragen. Eine logische Einheitadresse 708, die n = 3 Bits der logischen Adresse 704 umfasst, wird ebenfalls zur Bit-Swapping-Einheit 701 übertragen. Die Bit-Swapping-Einheit 701 bildet die logische Seitenadresse 707 und die logische Einheitadresse 708 auf die physische Speicheradresse ab. Zu Veranschaulichungszwecken sind die Bits auf einer Seite der Bit-Swapping-Einheit 701 mit in_0 bis in_6 aufgezählt, und die Bits auf der anderen Seite (zum physischen Speicher) sind mit out_0 bis out_6 aufgezählt. Die Bits in_0 bis in_2 entsprechen der logischen Einheitadresse 708, und die Bits in_3 bis in_6 entsprechen der logischen Seitenadresse 707. Bit in_2 ist das höchstwertige Bit (MSB) der logischen Einheitadresse 708, und Bit in_6 ist das MSB der logischen Seitenadresse 707.
  • Die Bit-Swapping-Einheit 701 liefert die folgende Abbildung:
    • – Die Bits in_0 und in_1 werden auf die Bits out_0 und out_1 abgebildet.
    • – Das Bit in_2 wird auf das Bit out_3 abgebildet.
    • – Das Bit in_3 wird auf das Bit out_4 abgebildet.
    • – Das Bit in_4 wird auf das Bit out_5 abgebildet.
    • – Das Bit in_5 wird auf das Bit out_6 abgebildet.
    • – Das Bit in_6 wird auf das Bit out_2 abgebildet.
  • Zusätzliche andere Adresszeilen 706, die sich auf k-m-n Bits (hier: k-7 Bits) belaufen, werden von der Bit-Swapping-Einheit 701 nicht abgearbeitet. Der Ausgang der Bit-Swapping-Einheit 701 und die anderen Adresszeilen 706 liefern daher k Bits, die zu einem ersten Eingang eines Multiplexers 703 geleitet werden. Diese k Bits werden als abgebildete physische Adresse 709 bezeichnet. Die k Bits der logischen Adresse 704 werden auch zu einem zweiten Eingang des Multiplexers 703 geleitet. Die logische Adresse 704 wird auch zu einer Adressbereichprüfeinheit 702 übertragen, die bestimmt, ob Bit-Swapping für die aktuelle logische Adresse 704 durchgeführt werden soll. Wenn ja, steuert die Adressbereichprüfeinheit 702 den Multiplexer 703 so, dass die abgebildete physische Adresse 709 als physische Speicheradresse 705 verwendet wird. Ansonsten wird die logische Adresse 704 von der Adressbereichprüfeinheit 702 über den Multiplexer 703 gewählt.
  • In einem oder mehreren Beispielen können die hier beschriebenen Funktionen wenigstens teilweise in Hardware, wie zum Beispiel in speziellen Hardwarekomponenten oder in einem Prozessor, implementiert werden. Allgemeiner, die Techniken können in Hardware, Prozessoren, Software, Firmware oder jeder beliebigen Kombination davon implementiert werden. Bei Implementierung in Software können die Funktionen als eine oder mehrere Anweisungen oder Code auf einem computerlesbaren Medium gespeichert oder zu einem solchen übertragen und von einer hardwarebasierten Verarbeitungseinheit ausgeführt werden. Computerlesbare Medien können computerlesbare Speichermedien einschließen, die tangiblen Medien wie Datenspeichermedien oder Kommunikationsmedien entsprechen, einschließlich jeden Mediums, das die Übertragung eines Computerprogramms von einer Stelle zu einer anderen erleichtert, z. B. gemäß einem Kommunikationsprotokoll. So können computerlesbare Medien allgemein (1) tangiblen computerlesbaren Speichermedien, die nicht flüchtig sind, oder (2) einem Kommunikationsmedium wie einem Signal oder einer Trägerwelle entsprechen. Datenspeichermedien können beliebige verfügbare Medien sein, auf die von einem oder mehreren Computern oder von einem oder mehreren Prozessoren zugegriffen werden kann, um Anweisungen, Code und/oder Datenstrukturen zur Implementierung der in dieser Offenbarung beschriebenen Techniken abzurufen. Ein Computerprogrammprodukt kann ein computerlesbares Medium einschließen.
  • Beispielsweise können derartige computerlesbare Speichermedien RAM, ROM, EEPROM, CD-ROM oder andere optische Diskspeicher-, magnetische Diskspeicher oder andere magnetische Speichergeräte, Flash-Speichergeräte und jedes andere Medium, das zum Speichern gewünschten Programmcodes in der Form von Anweisungen oder Datenstrukturen verwendet und auf das von einem Computer zugegriffen werden kann, umfassen, ohne auf diese Beispiele beschränkt zu sein. Außerdem wird jede Verbindung angemessen als computerlesbares Medium bezeichnet, d. h. ein computerlesbares Übertragungsmedium. Zum Beispiel, wenn Anweisungen von einer Webseite, einem Server oder einer anderen externen Quelle mithilfe eines Koaxialkabels, Glasfaserkabels, Twisted-Pair-Kabels, einer Digital Subscriber Line (DSL, Digitale Teilnehmeranschlussleitung) oder mittels Drahtlostechnologien wie Infrarot, Funk oder Mikrowelle übertragen werden, dann sind Koaxialkabel, Glasfaserkabel, Twisted-Pair-Kabel, DSL und Drahtlostechnologien wie Infrarot, Funk oder Mikrowelle in der Definition von Medium enthalten. Es wird jedoch darauf hingewiesen, dass computerlesbare Speichermedien und Datenspeichermedien Verbindungen, Trägerwellen, Signale und andere transiente Medien nicht einschließen, sondern stattdessen auf dauerhafte, tangible Speichermedien bezogen sind. Disk und Disc schließen in diesem Zusammenhang Compact Disc (CD), Laserdisc, optische Disc, Digital Versatile Disc (DVD), Floppy Disk und Blu-ray Disc ein, wobei Daten bei Disks gewöhnlich magnetisch und bei Discs optisch mit Lasern reproduziert werden. Kombinationen der obigen Medien gelten ebenfalls als im Umfang von computerlesbaren Medien inbegriffen.
  • Anweisungen können von einem oder mehreren Prozessoren, wie zum Beispiel Zentraleinheiten (CPUs), digitalen Signalprozessoren (DSPs), Universalmikroprozessoren, anwendungsspezifischen integrierten Schaltungen (ASICs), im Feld programmierbaren Logikanordnungen (FPGAs) oder einer anderen äquivalenten integrierten oder diskreten Logikschaltung, einzeln oder in Mehrzahl, ausgeführt werden. Dementsprechend kann sich der Begriff „Prozessor“ in diesem Zusammenhang auf jede der obigen Strukturen oder auf jede andere für Implementierung der hier beschriebenen Techniken geeignete Struktur beziehen. Außerdem kann die hier beschriebene Funktionalität in gewissen Aspekten innerhalb dedizierter Hardware- und/oder Softwaremodule, konfiguriert für Codieren und Decodieren, oder eingeschlossen in einem kombinierten Codec, vorgesehen werden. Die Techniken könnten auch in einer oder mehreren Schaltungen oder Logikelementen voll implementiert werden.
  • Die Techniken dieser Offenbarung können in einer breiten Vielfalt von Geräten oder Apparaturen einschließlich eines Mobiltelefons, einer integrierten Schaltung (IC) oder eines Satzes von ICs (z. B. eines Chipsatzes) implementiert werden. Verschiedene Komponenten, Module oder Einheiten sind in dieser Offenbarung beschrieben, um funktionelle Aspekte der zum Durchführen der offenbarten Techniken konfigurierten Geräte zu betonen, eine Realisierung durch verschiedene Hardware-Einheiten ist aber nicht unbedingt erforderlich. Vielmehr können, wie oben beschrieben, verschiedene Einheiten in einer einzelnen Hardware-Einheit kombiniert oder durch eine Sammlung interoperativer Hardware-Einheiten vorgesehen werden, einschließlich eines oder mehrerer Prozessoren wie oben beschrieben, in Verbindung mit geeigneter Software und/oder Firmware.
  • Obwohl verschiedene Beispielausführungsformen der Erfindung offenbart worden sind, wird der Fachmann erkennen, dass verschiedene Änderungen und Modifikationen vorgenommen werden können, die einige der Vorteile der Erfindung erzielen können, ohne von der Wesensart und dem Umfang der Erfindung abzuweichen. Es wird dem Fachkundigen offensichtlich, dass andere, dieselben Funktionen erfüllenden Komponenten angemessen substituiert werden können. Es sollte bedacht werden, dass unter Bezugnahme auf eine bestimmte Figur erläuterte Merkmale mit Merkmalen anderer Figuren kombiniert werden können, auch in solchen Fällen, in denen dies nicht ausdrücklich erwähnt worden ist. Weiterhin können die Verfahren der Erfindung entweder durch Voll-Software-Implementierungen unter Gebrauch der entsprechenden Prozessoranweisungen oder durch Hybrid-Implementierungen unter Nutzung einer Kombination von Hardware-Logik und Software-Logik zur Bewirkung derselben Ergebnisse realisiert werden. Derartige Änderungen des erfindungsgemäßen Konzepts sollen als von den angefügten Ansprüchen abgedeckt gelten.

Claims (19)

  1. Verfahren zur Datenverarbeitung, umfassend: – Abbilden zwischen einer logischen Adresse und einer physischen Adresse eines Speichers, – wobei der Speicher mehrere Seiten umfasst, – wobei eine Gruppe von Seiten wenigstens eine Seite umfasst, die wenigstens zwei Abschnitte umfasst, – wobei die wenigstens zwei Abschnitte jeder Seite der Gruppe nicht Teil eines logischen Einzelseitenadressraums sind.
  2. Verfahren nach Anspruch 1, bei dem der Speicher ein nichtflüchtiger Speicher ist.
  3. Verfahren nach einem der vorhergehenden Ansprüche, bei dem die Seite ein Abschnitt des Speichers ist, der durch eine einzige Löschoperation gelöscht werden kann.
  4. Verfahren nach Anspruch 3, bei dem die Seite der kleinste zusammenhängende Abschnitt des Speichers ist, der von einer einzigen Löschoperation erfasst wird.
  5. Verfahren nach einem der vorhergehenden Ansprüche, bei dem mehrere Gruppen vorgesehen sind, die jeweils wenigstens eine Seite umfassen.
  6. Verfahren nach einem der vorhergehenden Ansprüche, bei dem wenigstens ein Abschnitt jeder Seite der Gruppe nicht benutzt wird.
  7. Verfahren nach einem der vorhergehenden Ansprüche, bei dem wenigstens ein Abschnitt jeder Seite der Gruppe zum Speichern von Daten verwendet wird, die nicht in einen Zwischenspeicher kopiert werden müssen, wenn die Seite gelöscht oder modifiziert wird.
  8. Verfahren nach einem der vorhergehenden Ansprüche, bei dem wenigstens ein Abschnitt jeder Seite der Gruppe zum Speichern einer aktualisierten Version der in wenigstens einem anderen Abschnitt dieser Seite gespeicherten Daten verwendet wird.
  9. Verfahren nach einem der vorhergehenden Ansprüche, bei dem jeder der wenigstens zwei Abschnitte jeder Seite der Gruppe Teil eines separaten zusammenhängenden logischen Adressraums ist.
  10. Verfahren nach Anspruch 9, bei dem separate zusammenhängende logische Adressräume zu einem zusammenhängenden logischen Adressraum kombiniert werden.
  11. Verfahren nach einem der vorhergehenden Ansprüche, weiter umfassend – Abbilden zwischen einer logischen Adresse und einer physischen Adresse eines Speichers durch Swappen von Bits zwischen der logischen Adresse und der physischen Adresse.
  12. Vorrichtung zur Datenverarbeitung, umfassend: – eine Verarbeitungseinheit, – einen mehrere Seiten umfassenden Speicher, wobei eine Gruppe von Seiten wenigstens eine Seite umfasst, die wenigstens zwei Abschnitte umfasst, – eine Abbildungslogik, die zum Abbilden einer logischen Adresse der Verarbeitungseinheit auf eine physische Adresse des Speichers eingerichtet ist, wobei die wenigstens zwei Abschnitte jeder Seite der Gruppe nicht Teil eines logischen Einzelseitenadressraums sind.
  13. Vorrichtung nach Anspruch 12, weiterhin eine Konfigurationssteuereinheit umfassend, die zum Konfigurieren der Abbildungslogik vorgesehen ist.
  14. Vorrichtung nach einem der Ansprüche 12 oder 13, bei der die Abbildungslogik eine Bit-Swapping-Einheit umfasst, die zum Swappen von Bits zwischen der logischen Adresse und der physischen Adresse vorgesehen ist.
  15. Vorrichtung nach einem der Ansprüche 12 bis 14, bei der die Abbildungslogik eine Bit-Swapping-Einheit umfasst, die zum Swappen von m Bits einer logischen Seitenadresse und n Bits einer logischen Einheitadresse zum Erhalten der physischen Adresse eingerichtet ist.
  16. Vorrichtung nach einem der Ansprüche 12 bis 15, bei der die Vorrichtung in einer der folgenden Komponenten implementiert ist: – als Chipkarte; – als SIM-Karte; – als Zugangskarte; – als elektronisches Zahlungsgerät; – als Pass; – als Identifikationsmedium oder Identifikationsvorrichtung; – als Authentifizierungsgerät; – als Mikrocontroller; – als Mikroprozessor; – als anwendungsspezifische integrierte Schaltung.
  17. System, umfassend mindestens eine Vorrichtung nach einem der Ansprüche 12 bis 16.
  18. System nach Anspruch 17, wobei das System wenigstens eines der Folgenden ist: – ein Kommunikationssystem; – ein Mobiltelefon; – ein Haushaltsgerät; – ein Motorsteuermodul; – ein Fertigungsgerät; – ein Roboter; – ein Unterhaltungsgerät.
  19. Ein Computerprogrammprodukt, das direkt in einen Speicher eines digitalen Verarbeitungsgeräts ladbar ist, umfassend Softwarecodeteile zur Durchführung der Schritte des Verfahrens gemäß einem der Ansprüche 1 bis 11.
DE102015114721.1A 2014-09-03 2015-09-03 Verfahren, Gerät und System zur Datenverarbeitung Active DE102015114721B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/475,651 2014-09-03
US14/475,651 US10261899B2 (en) 2014-09-03 2014-09-03 Method, device and system for data processing using dedicated mapping between logical and physical addresses

Publications (2)

Publication Number Publication Date
DE102015114721A1 true DE102015114721A1 (de) 2016-03-03
DE102015114721B4 DE102015114721B4 (de) 2024-02-01

Family

ID=55312413

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102015114721.1A Active DE102015114721B4 (de) 2014-09-03 2015-09-03 Verfahren, Gerät und System zur Datenverarbeitung

Country Status (2)

Country Link
US (1) US10261899B2 (de)
DE (1) DE102015114721B4 (de)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114518835A (zh) * 2020-11-19 2022-05-20 瑞昱半导体股份有限公司 档案读取方法以及非瞬时计算机可读取存储介质
US20220365705A1 (en) * 2021-05-17 2022-11-17 Micron Technology, Inc. Object management in tiered memory systems

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4518951B2 (ja) * 2002-10-28 2010-08-04 サンディスク コーポレイション 不揮発性記憶システムにおける自動損耗均等化
JP5087347B2 (ja) * 2007-09-06 2012-12-05 株式会社日立製作所 半導体記憶装置及び半導体記憶装置の制御方法
TWI435329B (zh) * 2009-12-15 2014-04-21 Phison Electronics Corp 快閃記憶體管理方法、快閃記憶體控制器與儲存系統
TWI425355B (zh) * 2010-03-17 2014-02-01 Phison Electronics Corp 資料存取方法、記憶體控制器與儲存系統
US8543757B2 (en) * 2010-06-23 2013-09-24 Sandisk Technologies Inc. Techniques of maintaining logical to physical mapping information in non-volatile memory systems
JP5949122B2 (ja) * 2012-05-11 2016-07-06 ソニー株式会社 制御装置、記憶装置、記憶制御方法
US9329991B2 (en) * 2013-01-22 2016-05-03 Seagate Technology Llc Translation layer partitioned between host and controller
US9021188B1 (en) * 2013-03-15 2015-04-28 Virident Systems Inc. Small block write operations in non-volatile memory systems
US9213633B2 (en) * 2013-04-30 2015-12-15 Seagate Technology Llc Flash translation layer with lower write amplification

Also Published As

Publication number Publication date
US10261899B2 (en) 2019-04-16
DE102015114721B4 (de) 2024-02-01
US20160062886A1 (en) 2016-03-03

Similar Documents

Publication Publication Date Title
DE102019116520A1 (de) Datenspeichersysteme und -verfahren für eine verbesserte datenumlagerung basierend auf lesepegelspannungen, die mit einer fehlerwiederherstellung verbunden sind
DE60319407T2 (de) Verfolgen der am häufigsten gelöschten blöcke eines nichtflüchtigen speichersystems
DE102005022893B3 (de) Verfahren zum Zugreifen auf Speicherbereiche einer Speicherkarte durch eine anfordernde Anwendung und Speicherkarte
EP2807558B1 (de) Speichercontroller zur bereitstellung mehrerer definierter bereiche eines massenspeichermediums als unabhängige massenspeicher an einen master-betriebssystem-kern zur exklusiven bereitstellung an virutelle maschinen
DE112004002259B4 (de) Zugriff auf private Daten zum Status einer datenverarbeitenden Maschine von einem öffentlich zugänglichen Speicher
DE112013000900B4 (de) Bewahren von Redundanz in Datendeduplizierungssystemen unter Verwendung eines Anzeigers
DE102018105943A1 (de) Kontextbewusste dynamische Befehlsplanung für ein Datenspeichersystem
DE112018006329T5 (de) Speichervorrichtungen, systeme und verfahren zum aktualisieren von firmware mit einer einzelnen speichervorrichtung
DE112018002951T5 (de) Verwenden eines spurformatcodes in einem cache-steuerblock für eine spur in einem cache, um lese- und schreibanforderungen in bezug auf die spur im cache zu verarbeiten
DE102005013683A1 (de) Speicherkarte und zugehöriges Betriebsverfahren
DE102006003261A1 (de) Speichersystem und Verfahren zur Datenzusammenführung
DE202010017613U1 (de) Datenspeichervorrichtung mit host-gesteuerter Speicherbereinigung
DE112019000147T5 (de) Partielle rücksetzung einer speichersteuerung
DE102006036837A1 (de) Datenspeicherverwaltungsverfahren und -system
DE102011075023A1 (de) Indexierter Registerzugriff für einen Speicherbaustein
DE112004001255T5 (de) Speichervorrichtung und Speichersystem
DE102009033961A1 (de) Emulation eines einmal programmierbaren Speichers
DE102017119065B4 (de) Aktualisieren eines Speichers
DE102016201340B4 (de) Konfigurierung serieller Geräte
DE102015114721B4 (de) Verfahren, Gerät und System zur Datenverarbeitung
DE102019133027A1 (de) Datenspeichersysteme und -verfahren für selbstadaptive chipfreigabeeinrichtungszeit
DE102008059352A1 (de) Speicherzugriff auf einen portablen Datenträger
EP2284809A2 (de) Chipkarte und Verfahren zur softwarebasierten Modifikation einer Chipkarte
EP2948894B1 (de) Verfahren zum sicheren löschen eines nichtflüchtigen halbleiter-massenspeichers, computersystem sowie computerprogrammprodukt
CH495584A (de) Datenverarbeitungsanlage

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R016 Response to examination communication
R018 Grant decision by examination section/examining division