DE102010014781A1 - Verfahren und Vorrichtung zum Schreiben und Löschen eines nicht-flüchtigen Speichers - Google Patents

Verfahren und Vorrichtung zum Schreiben und Löschen eines nicht-flüchtigen Speichers Download PDF

Info

Publication number
DE102010014781A1
DE102010014781A1 DE102010014781A DE102010014781A DE102010014781A1 DE 102010014781 A1 DE102010014781 A1 DE 102010014781A1 DE 102010014781 A DE102010014781 A DE 102010014781A DE 102010014781 A DE102010014781 A DE 102010014781A DE 102010014781 A1 DE102010014781 A1 DE 102010014781A1
Authority
DE
Germany
Prior art keywords
duration
milliseconds
command
approximately
size
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.)
Withdrawn
Application number
DE102010014781A
Other languages
English (en)
Inventor
John Rudelic
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.)
Micron Technology Inc
Original Assignee
Individual
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 Individual filed Critical Individual
Publication of DE102010014781A1 publication Critical patent/DE102010014781A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/102External programming circuits, e.g. EPROM programmers; In-circuit programming or reprogramming; EPROM emulators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/32Timing circuits

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Read Only Memory (AREA)
  • Memory System (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Storage Device Security (AREA)

Abstract

Es wird ein Verfahren zum Schreiben und Löschen eines nicht flüchtigen Speichers beschrieben. Das Verfahren weist das Bestimmen der Größe eines Befehlsfensters zur Verwendung bei n Schreiboperationen für den nicht flüchtigen Speicher auf, wobei jede Schreiboperation dieselbe Zeitdauer aufweist. Ein Löschbefehl mit langer Latenz wird mit einem Faktor von n aufgeschnitten, um mehrere Löschscheiben bereitzustellen, wobei jede Löschscheibe dieselbe Zeitdauer aufweist. Das Verfahren weist ferner das Ausführen von n Befehlen an dem nicht flüchtigen Speicher auf, wobei jeder Befehl aus der Kombination aus einer der n Schreiboperationen und einer der Löschscheiben aufgebaut ist. Die Gesamtsumme der Zeitdauer der einen Löschscheibe addiert zu der Zeitdauer einer Schreiboperation ist kleiner oder gleich der Größe des Befehlsfensters.

Description

  • Technisches Gebiet
  • Ausführungsbeispiele der Erfindung liegen auf dem Gebiet nicht flüchtiger Speicher und insbesondere auf dem Gebiet computerimplementierter Verfahren zum Schreiben und Löschen eines nicht-flüchtigen Speichers.
  • Hintergrund
  • Verschiedene nicht-flüchtige Speicheranwendungen, wie beispielsweise hochdichte Teilnehmeridentitätsmodul-(engl.: High Density Subscriber Identity Module, HD-SIM)-Karten haben strikte Befehlstaktungen (engl. command timings), die wesentlich geringer sind als die Zeit für Löschoperation einer typischen Flasheinrichtung, z. B. einer ”Nicht OR”(NOR)-Einrichtung. Zusätzlich wird bei manchen Anwendungen der Strom zu einer zugehörigen Flasheinrichtung zwischen Flashbefehlen abgeschaltet, was wenig bis keine Möglichkeit zum Ausführen von Hintergrundlöschoperationen zulässt, wie sie herkömmlicherweise für viele Anwendungen ausgeführt werden. Es wurden Versuche durchgeführt, um NOR-Löschzeiten zu verringern, um NOR-Speicher praktischer für Anwendungen zu machen, wie beispielsweise HD-SIM-Karten. Allerdings werden zusätzliche Verbesserungen bei der Entwicklung von Verfahren zum Schreiben und Löschen eines nicht flüchtigen Speichers, wie beispielsweise eines NOR-Flashspeichers, benötigt.
  • Kurzbeschreibung der Zeichnungen
  • 1 veranschaulicht ein Ablaufschema, das Operationen bei einem computerimplementierten Verfahren zum Schreiben und Löschen eines nicht flüchtigen Speichers in Übereinstimmung mit einem Ausführungsbeispiel der vorliegenden Erfindung veranschaulicht.
  • 2 veranschaulicht konzeptionell in einem Blockdiagrammformat ein computerimplementiertes Verfahren zum Schreiben und Löschen eines nicht flüchtigen Speichers in Übereinstimmung mit einem Ausführungsbeispiel der vorliegenden Erfindung.
  • 3 veranschaulicht ein Ablaufschema, das Operationen bei einem computerimplementierten Verfahren zum dynamischen Schreiben und Löschen eines nicht flüchtigen Speichers in Übereinstimmung mit einem Ausführungsbeispiel der vorliegenden Erfindung darstellt.
  • 4 veranschaulicht konzeptionell in einem Blockdiagrammformat ein computerimplementiertes Verfahren zum dynamischen Schreiben und Löschen eines nicht flüchtigen Speichers in Übereinstimmung mit einem Ausführungsbeispiel der vorliegenden Erfindung.
  • 5 veranschaulicht ein Blockdiagramm eines Beispieles eines Computersystems, das zum Schreiben und Löschen eines nicht flüchtigen Speichers oder zum dynamischen Schreiben und Löschen eines nicht flüchtigen Speichers in Übereinstimmung mit einem Ausführungsbeispiel der vorliegenden Erfindung eingerichtet ist.
  • Detaillierte Beschreibung
  • Hierin wird ein Verfahren zum Schreiben und Löschen eines nicht flüchtigen Speichers beschrieben. In der folgenden Beschreibung werden verschiedenste spezifische Details dargelegt, wie beispielsweise spezifische Löschzeitanteile, um ein gründliches Verständnis der Ausführungsbeispiele der vorliegenden Erfindung bereitzustellen. Für den Fachmann wird ersichtlich sein, dass Ausführungsbeispiele der vorliegenden Erfindung ohne diese spezifischen Details praktiziert werden können. Bei anderen Vorgängen werden wohlbekannte Verarbeitungsoperationen, wie beispielsweise das Bestimmen von sauberem gegenüber schmutzigem Raum in einem nicht flüchtigen Speicher nicht im Detail beschrieben, um nicht unnötigerweise Ausführungsbeispiele der vorliegenden Erfindung zu verschleiern. Darüber hinaus sollte verstanden werden, dass die verschiedenen in den Figuren gezeigten Ausführungsbeispiele veranschaulichende Darstellungen sind und nicht notwendigerweise maßstabsgetreu sind.
  • Hierin wird ein computerimplementiertes Verfahren zum Schreiben und Löschen eines nicht flüchtigen Speichers offenbart. Bei einem Ausführungsbeispiel weist das Verfahren das Bestimmen der Größe eines Befehlsfensters zur Verwendung bei n Schreiboperationen für den nicht flüchtigen Speicher auf, wobei jede Schreiboperation dieselbe Zeitdauer hat. Ein Löschbefehl mit langer Latenz wird mit einem Faktor von n aufgeschnitten (engl. sliced), um eine Vielzahl von Löschscheiben (engl. erase slices) bereitzustellen, wobei jede Löschscheibe dieselbe Zeitdauer aufweist. Das Verfahren weist ferner das Ausführen von n Befehlen an dem nicht flüchtigen Speicher auf, wobei jeder Befehl aus der Kombination aus einer der n Schreiboperationen und einer der Löschscheiben zusammengesetzt. Die Gesamtsumme einer Zeitdauer einer Löschscheibe addiert zu der Zeitdauer einer Schreiboperation ist kleiner oder gleich der Größe des Befehlsfensters. Bei einem anderen Ausführungsbeispiel weist ein computerimplementiertes Verfahren zum Schreiben und Löschen eines nicht flüchtigen Speichers das dynamische Bestimmen der Größe eines Befehlsfensters zur Verwendung bei n Schreiboperationen für den nicht flüchtigen Speicher auf. Jede Schreiboperation hat dieselbe Zeitdauer und das dynamische Bestimmen basiert auf einem dynamischen Latenzlöschbefehl. Der dynamische Löschbefehl mit langer Latenz wird mit einem Faktor von n aufgeschnitten, um eine Vielzahl von Löschscheiben bereitzustellen, wobei jede Löschscheibe dieselbe Zeitdauer aufweist. Der dynamische Löschbefehl mit langer Latenz basiert auf einem tatsächlichen Zustand des nicht flüchtigen Speichers. Das Verfahren weist weiter das Ausführen von n Befehlen an dem nicht flüchtigen Speicher auf, wobei jeder Befehl aus der Kombination aus einer der n Schreiboperationen und einer der Löschscheiben zusammengesetzt ist. Die Gesamtsumme der Zeitdauer einer Löschscheibe addiert zu der Zeitdauer einer Schreiboperation ist kleiner oder gleich der Größe des Befehlsfensters.
  • In Übereinstimmung mit einem Ausführungsbeispiel der vorliegenden Erfindung versteckt oder ersetzt ein computerimplementiertes Verfahren zum Schreiben und Löschen eines nicht flüchtigen Speichers Löschbefehle mit langer Latenz innerhalb kürzerer Lese- und Schreiboperationen. Bei einem Ausführungsbeispiel wird die Latenz der Löschoperation durch das Aufteilen der Löschoperation in eine Zeitscheibe überwunden, die zu einer Vielzahl von Schreibbefehlen hinzugefügt werden kann, um in den Taktungsumfang eines allgemeinen Schreibbefehls zu passen. Bei einem Ausführungsbeispiel wird der Schreibbefehl aufgrund der zugefügten Löschzeit länger dauern, aber er wird tatsächlich immer noch weniger Zeit benötigen als die typischerweise enge Befehlszeit. Als solche kann eine vollständige Löschoperation nach mehreren Schreibbefehlen vollendet sein, was Möglichkeit eröffnet, einen latenten Löschbefehl wegzulassen.
  • Bei einem Ausführungsbeispiel kann durch Anwenden des Lösch-Aufschneide-Ansatzes ein NOR-Flash bei Anwendungen verwendet werden, bei denen er ansonsten aufgrund der herkömmlicherweise langen Löschzeit nicht akzeptiert werden würde. Zum Beispiel sind typischerweise die Löschzeiten eines NOR und zu geringerem Grad auch die eines ”nicht AND” (engl. not AND, NAND) typischerweise viel länger als Schreibzeiten. Es kann einige Anwendungen geben, die eine derartige Löschlatenz nicht handhaben können. Bei herkömmlichen Ansätzen wird das Löschen in den Hintergrund verschoben und ermöglicht, bis zur Beendigung abzulaufen. Allerdings kann es ein derartiger Ansatz erfordern, dass eine Einrichtung eingeschaltet und im Leerlauf ist. In Übereinstimmung mit einem Ausführungsbeispiel der vorliegenden Erfindung kann durch Anwenden eines Lösch-Aufschneide-Ansatzes ein NOR-Flash bei Anwendungen verwendet werden, die weder eine Leerlaufhintergrundzeit noch Strom während eines Leerlaufes bereitstellen. Bei anderen Ausführungsbeispielen können durch Anwenden eines Lösch-Aufschneiden-Ansatzes bestimmte Flashspeicherkonfigurationen in Systemen implementiert werden, die enge Taktungsrandbedingungen bei Befehlsauszeiten haben, die nicht die Latenz eines herkömmlichen Löschzykluses unterstützen. Bei einem Ausführungsbeispiel ist der NOR-Flash bei Anwendungen implementiert, die aggressiv die Leistung und die Befehlstaktungen steuern, wo ein herkömmlich betriebener Flash ansonsten nicht akzeptierbar wäre.
  • Ein computerimplementiertes Verfahren kann zum Speichern und Löschen eines nicht-flüchtigen Speichers ausgeführt werden. 1 veranschaulicht ein Ablaufschema 100, das Operationen bei einem computerimplementierten Verfahren zum Schreiben und Lesen eines nicht flüchtigen Speichers in Übereinstimmung mit einem Ausführungsbeispiel darstellt.
  • Bezugnehmend auf Operation 102 des Ablaufschemas 100 weist ein computerimplementiertes Verfahren zum Schreiben und Löschen eines nicht flüchtigen Speichers das Bestimmen der Größe eines Befehlsfensters zur Verwendung bei n Schreiboperationen für den nicht flüchtigen Speicher auf. Bei einem Ausführungsbeispiel hat jede Schreiboperation dieselbe Zeitdauer. In Übereinstimmung mit einem Ausführungsbeispiel der vorliegenden Erfindung ist der nicht flüchtige Speicher ein NOR-Flashspeicher.
  • Bezugnehmend auf Operation 104 des Ablaufschemas 100 weist das Verfahren das Aufschneiden eines Schreibbefehls mit langer Latenz mit einem Faktor von n auf, um eine Vielzahl von Löschscheiben bereitzustellen. Bei einem Ausführungsbeispiel hat jede Löschscheibe dieselbe Zeitdauer.
  • Bezugnehmend auf Operation 106 des Ablaufschemas 100 weist das Verfahren das Ausführen von n Befehlen an dem nicht flüchtigen Speicher auf, wobei jeder Befehl aus einer der n Schreiboperationen und einer der Löschscheiben zusammengesetzt ist. Bei einem Ausführungsbeispiel ist die Gesamtsumme der Zeitdauer einer Löschscheibe addiert zu der Zeitdauer einer Schreiboperation kleiner oder gleich der Größe des Befehlsfensters. Bei einem Ausführungsbeispiel ist die Gesamtsumme der Zeitdauer einer Löschscheibe addiert zu der Zeitdauer einer Schreiboperation kleiner als die Größe des Befehlsfensters. In Übereinstimmung mit einem Ausführungsbeispiel der vorliegenden Erfindung ist n gleich 10, beträgt die Größe des Befehlsfensters ungefähr 72 Millisekunden, beträgt die Zeitdauer einer Löschscheibe ungefähr 70 Millisekunden und beträgt die Zeitdauer einer Schreiboperation ungefähr 2 Millisekunden. Allerdings sollte verstanden werden, dass ein Aufschneidansatz nicht auf diese spezifischen Parameter begrenzt ist. Weiterhin sollte verstanden werden, dass der Befehl nicht auf eine Schreiboperation begrenzt ist, sondern dass die Löschscheibe stattdessen z. B. einem Lesebefehl hinzugefügt werden könnte.
  • Ein Löschfenster-Aufschneideansatz kann unter Bezugnahme auf eine Zeitleiste visualisiert werden. 2 veranschaulicht konzeptionell in einem Blockdiagrammformat ein computerimplementiertes Verfahren zum Schreiben und Löschen eines nicht flüchtigen Speichers in Übereinstimmung mit einem Ausführungsbeispiel der vorliegenden Erfindung.
  • Bezugnehmend auf 2 weist eine Blockdiagrammzeitleiste 200 eine lineare Zeitleiste 202 auf, die ungefähr relative absolute Zeiten für einen herkömmlichen Kopierbefehl 204 und einen nachfolgenden herkömmlichen latenten Löschbefehl 206 darstellt. Bei einem Ausführungsbeispiel ist der herkömmliche latente Löschbefehl ein Befehl mit langer Latenz zur Regenerierung und wird typischerweise in einer ansonsten Hintergrundleerlaufzeit ausgeführt. Allerdings wird in Übereinstimmung mit einem Ausführungsbeispiel der vorliegenden Erfindung ein Lösch-Aufschneidenansatz implementiert, wobei das Lösch-Aufschneiden die Regenerierungsoperation mit langer Latenz des herkömmlichen latenten Löschbefehls 206 nimmt und ihn über eine Vielzahl von mehreren Schreib(programmier)operationen 208 aufschneidet. Folglich wird bei einem Ausführungsbeispiel ein Verfahren zum Unterbinden des Löschbefehls 206 mit langer Latenz ausgeführt, indem die Löschzeit in Löschscheiben aufgeteilt wird, die dann Schreiboperationen hinzugefügt werden. Bei einem Ausführungsbeispiel beträgt ein Schreib(programmier)befehlsfenster z. B. 100 Millisekunden, so dass ein herkömmlicher Löschbefehl von z. B. 700 Millisekunden nicht in einzelnes Schreib(programmier)befehlsfenster passen wird. So wird in einem Ausführungsbeispiel die 700 Millisekunden Löschzeit in 10 Scheiben von jeweils 70 Millisekunden aufgeteilt. Bei diesem Ausführungsbeispiel kann jede 70 Millisekunden Löschscheibe zu 10 entsprechenden 2 Millisekunden Schreib(programmier)zeitdauern für eine Gesamtzeit von 72 Millisekunden für jeden Befehl hinzugefügt werden, wie in 2 dargestellt ist. Die Gesamtzeit von 72 Millisekunden für jeweils einen Schreib(programmier)befehl passt in ein Befehlsfenster von 100 Millisekunden.
  • Wie oben beschrieben gibt es manche Systeme, die eine Löschzeit mit langer Latenz verbunden z. B. mit einem NOR-Flash nicht handhaben können. Als ein Beispiel müssen HD-SIM-Karten, die NOR verwenden, den oben beschriebenen Lösch-Aufschneideansatz verwenden, um eine Kompatibilität mit HD-SIM-Typanwendungen zu ermöglichen. Bei einem Ausführungsbeispiel bricht das Lösch-Aufschneiden eine Löschoperation mit langer Latenz in viele Segmente auf, die Schreibbefehlen hinzugefügt werden. Bei diesem Ausführungsbeispiel wird erreicht, dass die Löschzeit gewissermaßen verschwindet. Es wird allerdings bemerkt, dass die bis zu diesem Punkt beschriebene Lösch-Aufschneidung auf Lösch-Aufschneiden mit fester Größe fokussiert ist. Bei solchen Ausführungsbeispielen wird die Löschzeitdauer zu jedem Schreibbefehl hinzugefügt. Bei anderen Ausführungsbeispielen der vorliegenden Erfindung, wie weiter unten beschrieben werden wird, werden Verfahren implementiert, welche die Löschzeit-Scheibengröße variieren, um zur Löschrückstandszeit zu passen. Bei einem Ausführungsbeispiel spricht ein solcher dynamischer Ansatz stärker auf einen bestimmten tatsächlichen Zustand eines Systems an, eine Art von Echtzeitansatz zum Löschzeit Aufschneiden.
  • In Übereinstimmung mit einem Ausführungsbeispiel der vorliegenden Erfindung wird das dynamische Löschaufschneiden durch derartiges Vergrößerung der Löschzeit implementiert, die einer Löschscheibe zugewiesen wird, wie sich schmutziger Raum (Raum, der Löschen benötigt) vergrößert. Bei einem Ausführungsbeispiel vergrößert der dynamische Ansatz die Leistung eines bestimmten Systems, welches den nicht flüchtigen Speicher einbezieht, der eingerichtet ist, dynamisches Löschzeit-Aufschneiden auszuführen. Bei einem Ausführungsbeispiel basiert ein dynamischer Ansatz auf einer Technik zur Variierung der Größe der Löschzeitscheibe, wie beispielsweise, aber nicht begrenzt auf, darauf, es einem Host zu ermöglichen, die Zeit zu vergrößern, die als Garantiebedingungen zur Löschung zugewiesen ist, automatisch eine Löschzeit so zu vergrößern wie sich ein Löschrückstand vergrößert oder eine Empfehlung an einem Host zur Vergrößerung einer Löschzeit bereitzustellen, sowie sich der Löschrückstand vergrößert. Bei einem Ausführungsbeispiel ist das oben beschriebene Lösch-Aufschneiden mit fester Größe eingerichtet, dieselbe Löschzeit zu allen Schreibbefehlen hinzuzufügen. Allerdings wird bei einem dynamischen Ansatz, wie detaillierter weiter unten beschrieben, einem Host ermöglicht, die Größe der Zeitdauer einer Löschscheibe zu vergrößern oder zu verringern oder automatisch zu vergrößern oder zu verringern, sowie sich der Löschrückstand vergrößert oder verringert.
  • Bei einem Ausführungsbeispiel kann ein System, wenn es eine signifikante Menge freien Raumes bezüglich der Dichte eines verwalteten Bereiches in einem nicht flüchtigen Speicher gibt, die Zeit verringern, die der Löschscheibengröße zugewiesen ist, um die ersichtliche Leistung des Schreibbefehls zu verbessern. Im Gegensatz dazu kann ein System bei einem anderen Ausführungsbeispiel, sowie die Menge freien Raumes bezüglich der Dichte eines verwaltenden Bereiches in einem nicht flüchtigen Speicher klein ist, die Zeit vergrößern, die einer Löschscheibengröße zugewiesen ist, um dabei zu helfen, eine Flash-Voll-Situation zu verhindern. Folglich ermöglicht bei einem Ausführungsbeispiel im Unterschied zu dem obigen festen Löschzeit-Aufschneiden das dynamische Löschzeit-Aufschneiden in einem System auf den tatsächlichen Zustand eines nicht flüchtigen Speichers, wie beispielsweise einem NOR Flashspeicher, zu reagieren. Bei einem Ausführungsbeispiel ermöglicht das dynamische Lösch-Aufschneiden die Vergrößerung oder Verkleinerung der Löschzeitscheibe, basierend auf dem Zustand des Löschspeichers. Bei einem spezifischen Ausführungsbeispiel kann, wenn der Zustand des Flashspeichers signifikanten freien Raum hat, dann die Löschzeitscheibe verringert werden, um die Leistung eines Systems zu verbessern. Im Gegensatz dazu kann bei einem alternativen spezifischen Ausführungsbeispiel, wenn der Zustand des Löschspeichers signifikant verschmutzten Raum hat, dann die Löschzeitscheibe vergrößert werden, um mehr Löschzeit zu ermöglichen. Bei einem Ausführungsbeispiel hilft das Implementieren der dynamischen Löschzeitaufschneidung dabei zu verhindern, dass ein Löschbetrieb Fehler bei Anwendungen verursacht, wie beispielsweise HD-SIM-Karten, die ein sehr enges Fenster für Befehlsoperationen haben. Bei einem Ausführungsbeispiel kann NOR-Flash in Anwendungen implementiert werden, für welche er ansonsten nicht geeignet wäre, indem dabei geholfen wird, Fehler zu verhindern, die mit Löschoperationen mit langer Latenz einhergehen.
  • Dementsprechend kann ein computerimplementiertes Verfahren zum dynamischen Schreiben und Lesen eines nicht flüchtigen Speichers ausgeführt werden. 3 veranschaulicht ein Ablaufschema 300, das Operationen bei einem computerimplementierten Verfahren zum dynamischen Schreiben und Lesen eines nicht flüchtigen Speichers in Übereinstimmung mit einem Ausführungsbeispiel der vorliegenden Erfindung darstellt.
  • Bezugnehmend auf Operation 302 des Ablaufschemas 300 weist ein computerimplementiertes Verfahren zum Schreiben und Lesen eines nicht flüchtigen Speichers ein dynamisches Bestimmen der Größe eines Befehlsfensters zur Verwendung bei n Schreiboperationen für den nicht flüchtigen Speicher auf. Bei einem Ausführungsbeispiel hat jede Schreiboperation dieselbe Zeitdauer und das dynamische Bestimmen basiert auf einem dynamischen Latenz-Löschbefehl. In Übereinstimmung mit einem Ausführungsbeispiel der vorliegenden Erfindung ist der nicht flüchtige Speicher ein NOR-Flashspeicher.
  • Bezugnehmend auf Operation 304 des Ablaufschemas 300 weist das Verfahren das Aufschneiden des dynamischen Löschbefehls mit langer Latenz mit einem Faktor von n auf, um mehrere Löschscheiben bereitzustellen. Bei einem Ausführungsbeispiel hat jede Löschscheibe dieselbe Zeitdauer und der dynamische Löschbefehl mit langer Latenz basiert auf einem tatsächlichen Zustand des nicht flüchtigen Speichers. In Übereinstimmung mit einem Ausführungsbeispiel der vorliegenden Erfindung ist der tatsächliche Zustand des nicht flüchtigen Speichers aus einem kleinen Löschrückstand aufgebaut und der dynamische Latenzlöschbefehl beträgt ungefähr 500 Millisekunden. In Übereinstimmung mit einem weiteren Ausführungsbeispiel der vorliegenden Erfindung ist der tatsächliche Zustand des nicht flüchtigen Speichers aus einem großen Löschrückstand aufgebaut und der dynamische Latenzlöschbefehl beträgt ungefähr 1500 Millisekunden. Bei einem Ausführungsbeispiel wird eine Zugriffsmatrix verwendet, um zu bestimmen, welche Sektoren des nicht flüchtigen Speichers verschmutzt sind und es ist folglich implementiert, den tatsächlichen Zustand des nicht flüchtigen Speichers zu bestimmen. Bei einem spezifischen Ausführungsbeispiel ist die Zugriffsmatrix in Tabellen vorgesehen, die in einem zugehörigen Schreib-Lese-Speicher (RAM) gespeichert sind. Allerdings ist bei einem weiteren spezifischen Ausführungsbeispiel die Zugriffmatrix in Tabellen bereitgestellt, die in einer zugehörigen Einrichtung oder Region gespeichert sind, die von einem zugehörigen RAM verschieden sind.
  • Bezugnehmend auf Operation 306 des Ablaufschemas 300 weist das Verfahren das Ausführen von n Befehlen an dem nicht flüchtigen Speicher auf, wobei jeder Befehl aus einer Kombination aus einer der n Schreiboperationen und einer der Löschscheiben aufgebaut ist. Bei einem Ausführungsbeispiel ist die Gesamtsumme der Zeitdauer einer Löschscheibe addiert zu der Zeitdauer einer Schreiboperation kleiner oder gleich der Größe des Befehlsfensters. Bei einem Ausführungsbeispiel ist die Gesamtsumme der Zeitdauer einer Löschscheibe addiert zu der Zeitdauer einer Schreiboperation kleiner als die Größe des Befehlsfensters. In Übereinstimmung mit einem Ausführungsbeispiel der vorliegenden Erfindung ist n gleich 10, beträgt die Größe des Befehlsfensters ungefähr 52 Millisekunden, beträgt die Zeitdauer einer Löschscheibe ungefähr 50 Millisekunden und die Zeitdauer einer Schreiboperation ist ungefähr 2 Millisekunden. Bei einem weiteren Ausführungsbeispiel ist n gleich 10, beträgt die Größe des Befehlsfensters ungefähr 152 Millisekunden, beträgt die Zeitdauer einer Löschscheibe ungefähr 150 Millisekunden und ist die Zeitdauer einer Schreiboperation ungefähr 2 Millisekunden. Allerdings sollte verstanden werden, dass ein Aufschneideansatz nicht auf die spezifischen Parameter, die in irgendeinem Ausführungsbeispiel bereitgestellt sind, beschränkt ist. Darüber hinaus sollte verstanden werden, dass der Befehl nicht auf einen Schreibbefehl beschränkt ist, sondern die Löschscheibe stattdessen auch z. B. einem Lesebefehl hinzugefügt werden kann.
  • Ein dynamischer Löschfenster-Aufschneideansatz kann unter Bezugnahme auf eine Zeitleiste visualisiert werden. 4 veranschaulicht konzeptionell in einem Blockdiagrammformat ein computerimplementiertes Verfahren zum dynamischen Schreiben und Löschen eines nicht flüchtigen Speichers in Übereinstimmung mit einem Ausführungsbeispiel der vorliegenden Erfindung.
  • Bezugnehmend auf 4 weist eine Blockdiagrammzeitleiste 400 eine lineare Zeitleiste 402 auf, die ungefähr die relativen absoluten Zeiten für zwei unterschiedliche dynamische Aufschneideimplementierungen 410 und 420 darstellt. Erinnern wir uns anhand 2 daran, dass bei einem Ausführungsbeispiel der vorliegenden Erfindung, ein Lösch-Aufschneideansatz die Rückstandsoperation mit langer Latenz eines herkömmlichen latenten Löschbefehls nimmt und ihn über eine Vielzahl von mehreren Schreib(programmier)operationen aufschneidet. Bei dem vorliegenden Ausführungsbeispiel wird die Größe der Scheibe dynamisch bestimmt und sie wird sich in verschiedenen Situationen in Abhängigkeit von dem tatsächlichen Zustand (z. B. Mangel von schmutzigem Raum) des nicht flüchtigen Speichers unterscheiden. Allerdings wird bei einem dieser Ausführungsbeispiele ein Verfahren zum Unterbinden des Löschbefehls mit langer Latenz immer noch dadurch ausgeführt, dass die Löschzeit in Löschscheiben aufgeteilt wird, die dann Schreiboperationen hinzugefügt werden.
  • Bei einem Ausführungsbeispiel ist eine 500 Millisekunden Löschzeit (weniger verschmutzter nicht flüchtiger Speicher) in 10 Scheiben von jeweils 50 Millisekunden aufgeteilt. In diesem Ausführungsbeispiel kann jede 50 Millisekunden Löschscheibe zu 10 entsprechenden 2 Millisekunden Schreib(programmier)zeitdauern für eine gesamte Zeit von 52 Millisekunden für jeden Befehl hinzugefügt werden, wie in der Vielzahl von Befehlsfenstern 410 der 4 dargestellt ist. Bei einem anderen Ausführungsbeispiel ist eine 1500 Millisekunden Löschzeit (stärker verschmutzter nicht flüchtiger Speicher) in 10 Scheiben von jeweils 150 Millisekunden aufgeteilt. Bei diesem Ausführungsbeispiel kann jede 150 Millisekunden Löschscheibe zu 10 entsprechenden 2 Millisekunden Schreib(programmier)zeitdauern für eine Gesamtzeit von 152 Millisekunden für jeden Befehl hinzugefügt werden, wie in der Vielzahl von Befehlsfenstern 410 der 4 dargestellt ist. Folglich wird in Übereinstimmung mit einem Ausführungsbeispiel der vorliegenden Erfindung die Größe von jeweils einer Vielzahl von Programmfenstern dynamisch basierend auf dem tatsächlichen Zustand des nicht flüchtigen Speichers bestimmt, auf den die Vielzahl von Programmbefehlen angewendet wird. Zum Beispiel gibt es bei einem Ausführungsbeispiel einen kleinen Löschrückstand und die Scheibenzeit kann verringert werden, um eine spürbare Verbesserung bei der Leistung der Programmbefehle bereitzustellen. Bei einem anderen Ausführungsbeispiel gibt es einen großen Löschrückstand und die Scheibenzeit wird vergrößert, um die Wahrscheinlichkeit eines Vordergrund-Löschereignisses zu verringern.
  • Bei einem Ausführungsbeispiel wird die vorliegende Erfindung als ein Computerprogrammprodukt oder Softwareprodukt bereitgestellt, das ein maschinenlesbares Medium aufweist, das darauf gespeicherte Instruktionen aufweist, welche verwendet werden, um ein Computersystem zu programmieren (oder andere elektronische Einrichtungen), um einen Prozess in Übereinstimmung mit Ausführungsbeispielen der vorliegenden Erfindung auszuführen. Ein maschinenlesbares Medium kann einen Mechanismus zum Speichern oder Übertragen von Information in einer Form aufweisen, die von einer Maschine lesbar ist (z. B. einem Computer). Zum Beispiel weist bei einem Ausführungsbeispiel ein maschinenlesbares (z. B. computerlesbares) Medium, eine Maschinen (z. B. Computer)-lesbares Speichermedium (z. B. Nur-Lese-Speicher, engl.: Read Only Memory (”ROM”)), einen Schreib-Lese-Speicher (engl.: Random Access Memory, ”RAM”), ein magnetisches Plattenspeichermedium, ein optisches Speichermedium, eine Flash-Speichereinrichtungen, etc., ein Maschinen (z. B. Computer)-lesbares Übertragungsmedium (elektrisch, optisch, akustisch oder irgendeine andere Form von fortschreitenden Signalen (z. B. Trägerwellen, Infrarotsignale, digitale Signale, usw.)) usw. auf. Bei einem Ausführungsbeispiel bedeutet hierin die Verwendung des Ausdrucks ”computerimplementiert” prozessorimplementiert. Bei einem Ausführungsbeispiel ist eines der hierin beschriebenen Verfahren in einer tragbaren Einrichtung, wie beispielsweise einem Mobiltelefon, implementiert, welches nicht einen Computer per se, sondern einen Prozessor hat.
  • 5 veranschaulicht eine diagrammatische Darstellung einer Maschine in der Form eines Computersystems 500, innerhalb dessen ein Satz von Instruktionen ausgeführt wird, um die Maschine zu veranlassen, einen oder mehrere der Methodologien auszuführen, die hierin diskutiert sind. Zum Beispiel veranschaulicht in Übereinstimmung mit einem Ausführungsbeispiel der vorliegenden Erfindung 5 ein Blockdiagramm eines Beispiels eines Computersystems, das zum Schreiben und Lesen eines nicht flüchtigen Speichers oder zum dynamischen Schreiben und Lesen eines nicht flüchtigen Speichers eingerichtet ist. Bei alternativen Ausführungsbeispielen ist die Maschine mit anderen Maschinen in einem lokalen Netzwerk (engl. Local Area Network, LAN) verbunden (z. B. vernetzt (engl. networked)), einem Intranet, dem Extranet oder dem Internet. Bei einem Ausführungsbeispiel wird die Maschine in der Kapazität eines Servers oder einer Kleinmaschine in einer kleinen Server-Netzwerkumgebung betrieben oder als eine Peermaschine in einer Peer to Peer (oder verteilten) Netzwerkumgebung. Bei einem Ausführungsbeispiel ist die Maschine ein Personal Computer (PC), ein Tablett-PC, eine Set Top Box (STB), ein persönlicher digitaler Assistent (engl.: Personal Digital Assistent, PDA), ein Mobiltelefon, eine Webanwendung, ein Server, ein Netzwerk-Router, ein Switch oder Bridge oder irgendeine Maschine, die in der Lage ist, einen Satz von Instruktionen (sequentiell oder andersartig) auszuführen, die Aktionen spezifizieren, die von der Maschine vorgenommen werden sollen. Ferner soll, obwohl nur eine einzelne Maschine veranschaulicht ist, der Ausdruck ”Maschine” so verstanden werden, dass er jede Kollektion von Maschinen (z. B. Computer oder Prozessoren) mit einschließt, die individuell oder gemeinsam einen Satz (oder verschiedene Sätze) von Instruktionen ausführen, um irgendeine oder mehrere Methodologien, die hierin diskutiert sind, auszuführen.
  • Das Beispiel eines Computersystems 500 weist einen Prozessor 502 auf, einen Hauptspeicher 504 (z. B. Nur-Lese-Speicher, (ROM)), einen Flashspeicher, einen dynamischen Schreib-Lese-Speicher (DRAM), wie beispielsweise synchronen DRAM (SDRAM) oder RAMBUS DRAM (RDRAM, usw.), einen statischen Speicher 506 (z. B. Flashspeicher, statischen Schreib-Lese-Speicher (SRAM) usw.) und einen sekundären Speicher 518 (z. B. eine Datenspeichereinrichtung), welche miteinander über einen Bus 530 kommunizieren.
  • Der Prozessor 502 stellt einen oder mehrere Vielzweckverarbeitungseinrichtungen, wie beispielsweise ein Mikroprozessor, eine zentrale Verarbeitungseinheit oder dergleichen, dar. Insbesondere ist bei einem Ausführungsbeispiel der Prozessor 502 ein Mikroprozessor zum Berechnen eines komplexen Instruktionssatzes (engl. Complex Instruction Set Computing, CISC), ein Mikroprozessor zum Berechnen eines verringerten Instruktionssatzes (engl. Reduced Instruction Set Computing, RISC), ein sehr langes Instruktionswort (engl. Very Long Instruction Word, VLIW) Mikroprozessor, ein Prozessor zum Implementieren anderer Instruktionssätze oder Prozessoren zum Implementieren einer Kombination von Instruktionssätzen. Bei einem Ausführungsbeispiel ist ein Prozessor 502 eine oder mehrere verarbeitende Einrichtungen für Spezialzwecke, wie beispielsweise ein für eine Anwendung spezifisch integrierter Schaltkreis (engl. Application Specific Integrated Circuit, ASIC), ein feldprogrammierbares Gatterarray (engl.: Field Programmer Gate Array, FPGA), ein digitaler Signalprozessor (engl.: Digital Signal Processor, DSP), ein Netzwerkprozessor oder dergleichen. Der Prozessor 502 führt die Verarbeitungslogik 526 zum Ausführen der hierin beschriebenen Operationen aus.
  • Bei einem Ausführungsbeispiel weist das Computersystem 500 weiter eine Netzwerkschnittstelleneinrichtung 508 auf. Bei einem Ausführungsbeispiel weist das Computersystem 500 auch eine Videoanzeigeeinheit 510 auf (z. B. eine Flüssigkristallanzeige, engl.: Liquid Crystal Display (LCD) oder eine Kathodenstrahlröhre (engl. Cathode Ray Tube) (CRT)), eine alphanumerische Eingabeeinrichtung 512 (z. B. eine Tastatur), eine Zeigersteuereinrichtung 514 (z. B. eine Maus) und eine Signalerzeugungseinrichtung 516 (z. B. ein Lautsprecher).
  • Bei einem Ausführungsbeispiel weist der sekundäre Speicher 518 ein maschinenzugängliches Speichermedium (oder spezifischer ein computerlesbares Speichermedium) 531 auf, auf welchem ein oder mehrere Sätze von Instruktionen gespeichert sind (z. B. Software 522), die eine oder mehrere der Methodologien oder Funktionen, die hierin beschrieben wurden, verkörpern. Bei einem Ausführungsbeispiel residiert die Software 522 vollständig oder wenigstens teilweise innerhalb des Hauptspeichers 504 oder innerhalb des Prozessors 502, während seiner Ausführung durch das Computersystem 500, wobei der Hauptspeicher 504 und der Speicher 502 auch ein maschinenlesbares Speichermedium bilden. Bei einem Ausführungsbeispiel wird die Software 522 weiter über die Netzwerkschnittstelleneinrichtung 508 über ein Netzwerk 520 übertragen oder empfangen.
  • Während das maschinenzugängliche Speichermedium 531 in einem Ausführungsbeispiel als ein einzelnes Medium gezeigt ist, sollte der Ausdruck ”maschinenlesbares Speichermedium” so verstanden werden, dass er ein einzelnes Medium oder mehrere Medien einschließt (z. B. eine zentralisierte oder verteilte Datenbank oder zugehörige Zwischenspeicher und Server), die den einen oder die mehreren Sätze von Instruktionen speichern. Der Ausdruck ”maschinenlesbares Speichermedium” sollte auch so verstanden werden, dass er jedes Medium mit einschließt, das zum Speichern oder Codieren eines Satzes von Instruktionen zur Ausführung durch die Maschine geeignet ist und der die Maschine veranlasst, eine oder mehrere der Methodologien der Ausführungsbeispiele der vorliegenden Erfindung auszuführen. Der Ausdruck ”maschinenlesbares Speichermedium” soll entsprechend verstanden werden, dass er, ohne darauf begrenzt zu sein, Festkörperspeicher und optische und magnetische Medien einschließt.
  • In Übereinstimmung mit einem Ausführungsbeispiel der vorliegenden Erfindung verwaltet eine Softwareschicht die Schreibbefehle und fügt die Löschscheibe jedem Schreibbefehl hinzu. Bei einem Ausführungsbeispiel verfolgt die Softwareschicht auch den Löschstatus und -fortschritt. Folglich funktioniert bei einem Ausführungsbeispiel jedes der hierin beschriebenen Verfahren durch Hinzufügen einer Löschscheibe zu Schreibbefehlen und dann Nachverfolgen des Löschstatus und -fortschritts. Bei diesem Ausführungsbeispiel unterbinden die Verfahren eine lange Löschzeit durch Aufteilen von ihr in Scheiben, die verwaltet und zu Schreibbefehlen hinzugefügt werden können. Bei Ausführungsbeispielen, die sich auf dynamisches Lösch-Aufschneiden beziehen, ist eine Software implementiert, um die Zeit zu verwalten, die der Löschzeit-Scheibe zugewiesen ist. Bei einem Ausführungsbeispiel ermöglicht die Softwareschicht, die Löschzeit zu vergrößern oder zu verkleinern. Bei einem spezifischen Ausführungsbeispiel vergrößert oder verkleinert eine Softwareschicht die Scheibe automatisch, basierend auf dem aktuellen Flashzustand von freiem gegen verschmutzten Raum. Bei diesem Ausführungsbeispiel gibt die Softwareschicht den freien gegen verschmutzten Raum in dem Flash an und erzeugt eine Empfehlung zum Setzen der Löschscheibenzeit. Bei einem Ausführungsbeispiel werden Scheibeninstruktionen in dem Flashspeicher gespeichert, auf den das Aufschneiden angewendet wird, und die Aufschneideinstruktionen werden in diesem Flashspeicher ausgeführt. Bei einem anderen Ausführungsbeispiel werden die Aufschneideinstruktionen in dem Flashspeicher gespeichert, auf den das Aufschneiden angewendet wird, und die Aufschneideinstruktionen werden in einem RAM eines Hostprozessors, der zu dem Flashspeicher gehört, ausgeführt.
  • In Übereinstimmung mit einem Ausführungsbeispiel der vorliegenden Erfindung hat ein maschinenzugängliches Speichermedium darauf Instruktionen gespeichert, welche ein datenverarbeitendes System veranlassen, ein Verfahren zum Schreiben und Löschen eines nicht flüchtigen Speichers auszuführen. Bei einem Ausführungsbeispiel weist das Verfahren das Bestimmen der Größe eines Befehlsfensters zur Verwendung bei n Schreiboperationen für den nicht flüchtigen Speicher auf, wobei jede Schreiboperation dieselbe Zeitdauer aufweist. Das Verfahren weist ferner das Aufschneiden eines Löschbefehls mit langer Latenz mit einem Faktor n auf, um mehrere Löschscheiben bereitzustellen, wobei jede Löschscheibe dieselbe Zeitdauer aufweist. Das Verfahren weist dann das Ausführen von n Befehlen an dem nicht flüchtigen Speicher auf, wobei jeder Befehl aus der Kombination aus einer der n Schreiboperationen und einer der Löschscheiben aufgebaut ist, wobei die Gesamtsumme der Zeitdauer einer Löschscheibe addiert zu der Zeitdauer einer Schreiboperation kleiner oder gleich der Größe des Befehlsfensters ist.
  • Bei einem Ausführungsbeispiel des maschinenlesbaren Speichermediums ist die Gesamtsumme der Zeitdauer einer Löschscheibe addiert zu der Zeitdauer einer Schreiboperation kleiner als die Größe des Befehlsfensters. Bei einem Ausführungsbeispiel des maschinenlesbaren Speichermediums ist der zugehörige nicht flüchtige Speicher ein NOR-Flashspeicher. Bei einem Ausführungsbeispiel des maschinenlesbaren Speichermediums ist n gleich 10, beträgt die Größe des Befehlsfensters ungefähr 72 Millisekunden, ist die Zeitdauer einer Löschscheibe ungefähr 70 Millisekunden und die Zeitdauer einer Schreiboperation ist ungefähr 2 Millisekunden. Bei einem Ausführungsbeispiel des maschinenlesbaren Mediums wird das Bestimmen der Größe des Befehlsfensters dynamisch ausgeführt und basiert auf einem dynamischen Latenzlöschbefehl und das Aufschneiden des langen Latenzlöschbefehls weist das Aufschneiden des dynamischen Löschbefehls mit langer Latenz auf, wobei der dynamische Löschbefehl mit langer Latenz auf einem tatsächlichen Zustand des nicht flüchtigen Speichers basiert. Bei einem solchen Ausführungsbeispiel, das den dynamischen Latenzlöschbefehl aufweist, ist die Gesamtsumme der Zeitdauer einer Löschscheibe addiert zu der Zeitdauer einer Schreiboperation kleiner als die Größe des Befehlsfensters. Bei einem anderen derartigen Ausführungsbeispiel, das den dynamischen Latenzlöschbefehl aufweist, ist der nicht flüchtige Speicher ein NOR-Flashspeicher. Bei einem Ausführungsbeispiel ist n gleich 10, beträgt die Größe des Befehlsfensters ungefähr 52 Millisekunden, beträgt die Zeitdauer einer Löschscheibe ungefähr 50 Millisekunden und die Zeitdauer einer Schreiboperation beträgt ungefähr 2 Millisekunden. Bei einem anderen Ausführungsbeispiel ist n gleich 10, beträgt die Größe des Befehlsfensters ungefähr 152 Millisekunden, beträgt die Zeitdauer einer Löschscheibe ungefähr 150 Millisekunden und die Zeitdauer einer Schreiboperation beträgt ungefähr 2 Millisekunden. Folglich wird in Übereinstimmung mit einem Ausführungsbeispiel die Größe jedes von mehreren Programmfenstern dynamisch basierend auf dem tatsächlichen Zustand des nicht flüchtigen Speichers bestimmt, auf den die mehreren Programmbefehle angewendet werden. Zum Beispiel gibt es bei einem Ausführungsbeispiel einen kleinen Löschrückstand und die Scheibenzeit kann verringert werden, um eine wahrnehmbare Verbesserung bei der Leistung der Programmbefehle bereitzustellen. Bei einem weiteren Ausführungsbeispiel gibt es einen großen Löschrückstand und die Scheibenzeit wird vergrößert, um die Wahrscheinlichkeit eines Vordergrundlöschereignisses zu verringern.
  • In Übereinstimmung mit einem Ausführungsbeispiel der vorliegenden Erfindung können Verfahren oder Ansätze, die hierin beschrieben wurden, in Zusammenhang mit einem nicht flüchtigen Speicher, wie beispielsweise einem NOR-Flash, implementiert werden, um die lange Latenz von Löschbefehlen zu unterbinden. Bei einem Ausführungsbeispiel ermöglicht der NOR-Flash, der eingerichtet ist, mit Lösch-Aufschneiden betrieben zu werden, die Verwendung von derartigen Flashspeichern bei Anwendungen, die ein kleines Befehlsfenster haben, eine aggressive Leistungsverwaltung oder begrenzte oder keine Zeit für Hintergrundoperationen haben. Bei einem Ausführungsbeispiel ist eine feste Zeitscheibe implementiert. Allerdings ist bei einem anderen Ausführungsbeispiel ein dynamisches Aufschneiden implementiert, welches ermöglicht, dass eine Zeitscheibe zu dem Zustand eines Flashspeichers passt. Bei diesem Ausführungsbeispiel wird die Größe (in absoluter Zeit) der Löschzeitscheibe wie benötigt vergrößert oder verringert. Bei einem Ausführungsbeispiel weist das Vergrößern der Löschzeitscheibe mehr Zeit zum Löschen zu und ermöglicht einem System, mehr Raum zu säubern, als eine feste Zeitscheibe. In einem anderen Ausführungsbeispiel ermöglicht das Verringern der Zeitscheibe dem System, reaktiver auf ein System als eine feste Zeitscheibe zu erscheinen.
  • Folglich wurde ein computerimplementiertes Verfahren zum Schreiben und Löschen eines nicht flüchtigen Speichers offenbart. In Übereinstimmung mit einem Ausführungsbeispiel der vorliegenden Erfindung weist das Verfahren das Bestimmen der Größe eines Befehlsfensters zur Verwendung bei n Schreiboperationen für den nicht flüchtigen Speicher auf, wobei jede Schreiboperation dieselbe Zeitdauer aufweist. Ein Löschbefehl mit langer Latenz wird mit einem Faktor n aufgeschnitten, um mehrere Löschscheiben bereitzustellen, wobei jede Löschscheibe dieselbe Zeitdauer aufweist. Das Verfahren weist ferner das Ausführen von n Befehlen an dem nicht flüchtigen Speicher auf, wobei jeder Befehl aus der Kombination aus einer der n Schreiboperationen und einer der Löschscheiben aufgebaut ist. Die Gesamtsumme der Zeitdauer einer Löschscheibe addiert zu der Zeitdauer einer Schreiboperation ist kleiner oder gleich der Größe des Befehlsfensters. Bei einem Ausführungsbeispiel ist die Gesamtsumme der Zeitdauer einer Löschscheibe addiert zu der Zeitdauer einer Schreiboperation kleiner als die Größe des Befehlsfensters. Bei einem Ausführungsbeispiel ist der nicht flüchtige Speicher ein NOR-Flashspeicher.

Claims (20)

  1. Computerimplementiertes Verfahren zum Schreiben und Löschen eines nicht flüchtigen Speichers, wobei das Verfahren umfasst: Bestimmen der Größe eines Befehlsfensters zur Verwendung bei n Schreiboperationen für den nicht flüchtigen Speicher, wobei jede Schreiboperation dieselbe Zeitdauer aufweist; Aufschneiden eines Löschbefehls mit langer Latenz mit einem Faktor von n, um mehrere Löschscheiben bereitzustellen, wobei jede Löschscheibe dieselbe Zeitdauer aufweist; und Ausführen von n Befehlen an dem nicht flüchtigen Speicher, wobei jeder Befehl eine Kombination aus einer der n Schreiboperationen und einer der Löschscheiben umfasst, wobei die Gesamtsumme der Löschdauer einer Löschscheibe addiert zu der Zeitdauer einer Schreiboperation kleiner oder gleich der Größe des Befehlsfensters ist.
  2. Computerimplementiertes Verfahren nach Anspruch 1, wobei die Gesamtsumme der Zeitdauer einer Löschscheibe addiert zu der Zeitdauer einer Schreiboperation kleiner als die Größe des Befehlsfensters ist.
  3. Computerimplementiertes Verfahren nach Anspruch 1, wobei der nicht flüchtige Speicher ein NOR-Flashspeicher ist.
  4. Computerimplementiertes Verfahren nach Anspruch 1, bei welchem n gleich 10 ist, die Größe des Befehlsfensters ungefähr 72 Millisekunden beträgt, die Zeitdauer einer Löschscheibe ungefähr 70 Millisekunden beträgt und die Zeitdauer einer Schreiboperation ungefähr 2 Millisekunden beträgt.
  5. Computerimplementiertes Verfahren zum Schreiben und Löschen eines nicht flüchtigen Speichers, wobei das Verfahren umfasst: dynamisches Bestimmen der Größe eines Befehlsfensters zur Verwendung bei n Schreiboperationen für den nicht flüchtigen Speicher, wobei jede Schreiboperation dieselbe Zeitdauer aufweist, wobei das dynamische Bestimmen auf einem dynamischen Latenzlöschbefehl basiert; Aufschneiden des dynamischen Löschbefehls mit langer Latenz mit einem Faktor von n, um mehrere Löschscheiben bereitzustellen, wobei jede Löschscheibe dieselbe Zeitdauer aufweist, wobei der dynamische Löschbefehl mit langer Latenz auf einem tatsächlichen Zustand des nicht flüchtigen Speichers basiert, und Ausführen von n Befehlen an dem nicht flüchtigen Speicher, wobei jeder Befehl die Kombination aus einer der n Schreiboperationen und einer der Löschscheiben umfasst, wobei die Gesamtsumme der Zeitdauer einer Löschscheibe addiert zu der Zeitdauer einer Schreiboperation kleiner oder gleich der Größe des Befehlsfensters ist.
  6. Computerimplementiertes Verfahren nach Anspruch 5, bei welchem die Gesamtsumme der Zeitdauer einer Löschscheibe addiert zu der Zeitdauer einer Schreiboperation kleiner als die Größe des Befehlsfensters ist.
  7. Computerimplementiertes Verfahren nach Anspruch 5, bei welchem der nicht flüchtige Speicher ein NOR-Flashspeicher ist.
  8. Computerimplementiertes Verfahren nach Anspruch 5, bei welchem n gleich 10 ist, die Größe des Befehlsfensters ungefähr 52 Millisekunden beträgt, die Zeitdauer einer Löschscheibe ungefähr 50 Millisekunden beträgt und die Zeitdauer einer Schreiboperation ungefähr 2 Millisekunden beträgt.
  9. Computerimplementiertes Verfahren nach Anspruch 5, bei welchem n gleich 10 ist, die Größe des Befehlsfenster ungefähr 152 Millisekunden beträgt, die Zeitdauer einer Löschscheibe ungefähr 150 Millisekunden beträgt und die Zeitdauer einer Schreiboperation ungefähr 2 Millisekunden beträgt.
  10. Computerimplementiertes Verfahren nach Anspruch 5, bei welchem der tatsächliche Zustand des nicht flüchtigen Speichers einen kleinen Löschrückstand umfasst und bei welchem der dynamische Latenzlöschbefehl ungefähr 500 Millisekunden beträgt.
  11. Computerimplementiertes Verfahren nach Anspruch 5, bei welchem der tatsächliche Zustand des nicht flüchtigen Speichers einen größeren Löschrückstand umfasst und bei welchem der dynamische Latenzlöschbefehl ungefähr 1500 Millisekunden. Beträgt.
  12. Maschinenlesbares Speichermedium mit darauf gespeicherten Instruktionen, welche ein datenverarbeitendes System veranlassen, ein Verfahren zum Schreiben und Löschen eines nicht flüchtigen Speichers auszuführen, wobei das Verfahren umfasst: Bestimmen der Größe eines Befehlsfensters zur Verwendung bei n Schreiboperationen für den nicht flüchtigen Speicher, wobei jede Schreiboperation dieselbe Zeitdauer aufweist; Aufschneiden eines Löschbefehls mit langer Latenz mit einem Faktor von n, um mehrere Löschscheiben bereitzustellen, wobei jede Löschscheibe dieselbe Zeitdauer aufweist; und Ausführen von n Befehlen an dem nicht flüchtigen Speicher, wobei jeder Befehl die Kombination aus einer der n Schreiboperationen und einer der Löschscheiben umfasst, wobei die Gesamtsumme der Zeitdauer einer Löschscheibe addiert zu der Zeitdauer einer Schreiboperation kleiner oder gleich der Größe des Befehlsfensters ist.
  13. Maschinenlesbares Speichermedium nach Anspruch 12, wobei die Gesamtsumme der Zeitdauer einer Löschscheibe addiert zur der Zeitdauer einer Schreiboperation kleiner als die Größe des Befehlsfensters ist.
  14. Maschinenzugängliches Speichermedium nach Anspruch 12, wobei der nicht flüchtige Speicher ein NOR-Flashspeicher ist.
  15. Maschinenzugängliches Speichermedium nach Anspruch 12, wobei n gleich 10 ist, die Größe des Befehlsfensters ungefähr 72 Millisekunden beträgt, die Zeitdauer einer Löschscheibe ungefähr 70 Millisekunden beträgt und die Zeitdauer einer Schreiboperation ungefähr 2 Millisekunden beträgt.
  16. Maschinenzugängliches Speichermedium nach Anspruch 12, wobei das Bestimmen der Größe des Befehlsfensters dynamisch ausgeführt wird und auf einem dynamischen Latenzlöschbefehl basiert, wobei das Aufschneiden des Löschbefehls mit langer Latenz das Aufschneiden des dynamischen Löschbefehls mit langer Latenz umfasst, wobei der dynamische Löschbefehl mit langer Latenz auf einem tatsächlichen Zustand des nicht flüchtigen Speichers basiert.
  17. Maschinenzugängliches Speichermedium nach Anspruch 16, wobei die Gesamtsumme der Zeitdauer einer Löschscheibe addiert zu der Zeitdauer einer Schreiboperation kleiner als die Größe des Befehlsfensters ist.
  18. Maschinenzugängliches Speichermedium nach Anspruch 16, wobei der nicht flüchtige Speicher ein NOR-Flashspeicher ist.
  19. Maschinenzugängliches Speichermedium nach Anspruch 16, wobei n gleich 10 ist, die Größe des Befehlsfensters ungefähr 52 Millisekunden beträgt, die Zeitdauer einer Löschscheibe ungefähr 50 Millisekunden beträgt und die Zeitdauer einer Schreiboperation ungefähr 2 Millisekunden beträgt.
  20. Maschinenzugängliches Speichermedium nach Anspruch 16, wobei n gleich 10 ist, die Größe des Befehlsfensters ungefähr 152 Millisekunden beträgt, die Zeitdauer einer Löschscheibe ungefähr 150 Millisekunden beträgt und die Zeitdauer einer Schreiboperation ungefähr 2 Millisekunden beträgt.
DE102010014781A 2009-04-14 2010-04-13 Verfahren und Vorrichtung zum Schreiben und Löschen eines nicht-flüchtigen Speichers Withdrawn DE102010014781A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/423,226 2009-04-14
US12/423,226 US8078796B2 (en) 2009-04-14 2009-04-14 Method for writing to and erasing a non-volatile memory

Publications (1)

Publication Number Publication Date
DE102010014781A1 true DE102010014781A1 (de) 2010-11-11

Family

ID=42932604

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102010014781A Withdrawn DE102010014781A1 (de) 2009-04-14 2010-04-13 Verfahren und Vorrichtung zum Schreiben und Löschen eines nicht-flüchtigen Speichers

Country Status (6)

Country Link
US (1) US8078796B2 (de)
JP (1) JP5624797B2 (de)
KR (1) KR101575369B1 (de)
CN (1) CN101866692B (de)
DE (1) DE102010014781A1 (de)
SG (1) SG166068A1 (de)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102013031B (zh) * 2010-12-17 2014-05-28 苏州国芯科技有限公司 一种小容量sd卡的读写方法
US9612773B2 (en) * 2013-11-21 2017-04-04 Samsung Electronics Co., Ltd. User device having a host flash translation layer (FTL), a method for transferring an erase count thereof, a method for transferring reprogram information thereof, and a method for transferring a page offset of an open block thereof
US10230948B2 (en) * 2016-02-03 2019-03-12 Mediatek Inc. Video transmitting system with on-the-fly encoding and on-the-fly delivering and associated video receiving system
US11366753B2 (en) * 2018-07-31 2022-06-21 Marvell Asia Pte Ltd Controlling performance of a solid state drive

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1994008287A1 (en) * 1992-09-29 1994-04-14 Seiko Epson Corporation System and method for handling load and/or store operations in a superscalar microprocessor
DE10030990B4 (de) * 2000-06-30 2010-11-25 Robert Bosch Gmbh Verfahren zum Beschreiben und Löschen eines nichtflüchtigen Speicherbereichs
JP2008146341A (ja) * 2006-12-08 2008-06-26 Sharp Corp 不揮発性半導体記憶装置及びその処理方法
JP2008146742A (ja) * 2006-12-08 2008-06-26 Sharp Corp 不揮発性半導体記憶装置及びその処理方法
JP2008192271A (ja) * 2007-02-08 2008-08-21 Nec Electronics Corp 半導体装置及びそのテスト方法
JP2010079758A (ja) * 2008-09-29 2010-04-08 Panasonic Corp 不揮発性メモリの自動書き換え中断方法と不揮発性メモリおよびマイクロコンピュータ
JP2010182216A (ja) * 2009-02-09 2010-08-19 Panasonic Corp メモリコントローラ、不揮発性記憶装置、不揮発性記憶システムおよびプログラム

Also Published As

Publication number Publication date
KR101575369B1 (ko) 2015-12-09
US8078796B2 (en) 2011-12-13
SG166068A1 (en) 2010-11-29
JP2010250932A (ja) 2010-11-04
CN101866692A (zh) 2010-10-20
CN101866692B (zh) 2014-11-26
JP5624797B2 (ja) 2014-11-12
US20100262756A1 (en) 2010-10-14
KR20100113994A (ko) 2010-10-22

Similar Documents

Publication Publication Date Title
DE112014004761B4 (de) Beeinflussung des Wear-Leveling in Speichersystemen
DE102012216022B4 (de) Verwaltung einer Zeitpunktkopie-Beziehung für platzsparende Datenträger
DE112011102076B4 (de) Neuordnen des Zugriffs zum Verringern der Gesamtsuchzeit auf Bandmedien
DE112010002663B4 (de) Speichermanagementsysteme, Verfahren zur Verbesserung der Schreib-Lösch-Ausdauerlebenszeit von Speichervorrichtungen und Computerprogrammprodukt
DE112010004931B4 (de) Mehrphasige Wiederherstellung von Dateisystemen mit Selektiver Bedarfsweiser Verfügbarkeit von Daten
DE102013204972B4 (de) Hybride Sicherung und Wiederherstellung eines sehr grossen Dateisystems unter Verwendung von Metadaten-Abbildsicherung und herkömmlicher Sicherung
DE112010003662B4 (de) Ausgleich nachlassender Funktionsfähigkeit von Halbleiterdatenträgern auf der Grundlage der von einer RAID-Steuereinheit empfangenen Daten- und Paritätsnutzungsinformationen
DE102007026104B4 (de) Verfahren zum dynamischen Ändern einer Dateidarstellung, Verfahren zum Verhindern von Dateiübergängen und ein Informaationssystem
DE202010017613U1 (de) Datenspeichervorrichtung mit host-gesteuerter Speicherbereinigung
DE112010003577T5 (de) Datenverwaltung in Halbleiterspeicher-Einheiten und mehrstufigen Speichersystemen
DE112017005868T5 (de) Verwaltung von e/a-abläufen für datenobjekte in einem speichersystem
DE202012013432U1 (de) Speichern von Daten auf Speicherknoten
DE102007006307A1 (de) Verfahren zum Betreiben eines nichtflüchtigen Speicherelements, Aufzeichnungsmedium und nichtflüchtigen Speicherelement
DE112008000180T5 (de) Verfahren und System für die Umsetzung eines Fast-Wakeup eines Flashspeichersystems
DE102009019271A1 (de) Übertragen von Sequenzzahlen für das Wiederherstellen nach Stromausfall bei einem nichtflüchtigen Speicher
DE102016010277A1 (de) Verfahren und systeme zum verbessern von speicher-journaling
DE112013000900T5 (de) Bewahren von Redundanz in Datendeduplizierungssystemen unter Verwendung eines Anzeigers
WO2014079550A1 (de) VERFAHREN ZUR STEUERUNG EINES FLASH-SPEICHERS ZUR MASSENSPEICHERUNG, DER VON EINEM AN EINEN HOST ANSCHLIEßBAREN KOMMUNIKATIONSGERÄT UMFASST IST, UND COMPUTERPROGRAMMPRODUKT ZUR AUSFÜHRUNG DES VERFAHRENS
DE10062063A1 (de) Verfahren, System, Programm und Datenstruktur zur Steuerung einer Warteschlange von Anforderungen unterschiedlicher Priorität
DE102010014781A1 (de) Verfahren und Vorrichtung zum Schreiben und Löschen eines nicht-flüchtigen Speichers
DE102020102781A1 (de) Auswahl von massenspeicherungsvorrichtungs-streams zur speicherbereinigung auf der basis lokaler sättigung
DE112017008158T5 (de) Dateienvorababrufeinplanung für cachespeicher zur verringerung von latenzen
DE112010004264B4 (de) Selektiver Schreibschutz für das Austesten der Wiederherstellung nach einem Absturz
DE112011103299T5 (de) Systeme und Verfahren zum Verwalten einer virtuellen Bandarchiv-Domäne
DE112021006506T5 (de) Verwaltung von Sperren-Koordinator-Rebalance in verteilten Dateisystemen

Legal Events

Date Code Title Description
8127 New person/name/address of the applicant

Owner name: NUMONYX B.V., ROLLE, CH

8181 Inventor (new situation)

Inventor name: RUDELIC, JOHN, FOLSOM, CALIF., US

R081 Change of applicant/patentee

Owner name: MICRON TECHNOLOGY, INC., BOISE, US

Free format text: FORMER OWNER: RUDELIC, JOHN, FOLSOM, CALIF., US

Effective date: 20110317

Owner name: MICRON TECHNOLOGY, INC., US

Free format text: FORMER OWNER: RUDELIC, JOHN, FOLSOM, US

Effective date: 20110317

R082 Change of representative

Representative=s name: SAMSON & PARTNER, PATENTANWAELTE, 80538 MUENCHEN,

Representative=s name: SAMSON & PARTNER, PATENTANWAELTE, DE

R081 Change of applicant/patentee

Owner name: MICRON TECHNOLOGY, INC., BOISE, US

Free format text: FORMER OWNER: NUMONYX B.V., ROLLE, CH

Effective date: 20120521

Owner name: MICRON TECHNOLOGY, INC., US

Free format text: FORMER OWNER: NUMONYX B.V., ROLLE, CH

Effective date: 20120521

R082 Change of representative

Representative=s name: SAMSON & PARTNER PATENTANWAELTE MBB, DE

Effective date: 20120521

Representative=s name: SAMSON & PARTNER, PATENTANWAELTE, DE

Effective date: 20120521

R005 Application deemed withdrawn due to failure to request examination