DE112009004900T5 - Vertagen von Speicheroperationen zum Reduzieren von Leselatenz in Speicherfeldern - Google Patents

Vertagen von Speicheroperationen zum Reduzieren von Leselatenz in Speicherfeldern Download PDF

Info

Publication number
DE112009004900T5
DE112009004900T5 DE112009004900T DE112009004900T DE112009004900T5 DE 112009004900 T5 DE112009004900 T5 DE 112009004900T5 DE 112009004900 T DE112009004900 T DE 112009004900T DE 112009004900 T DE112009004900 T DE 112009004900T DE 112009004900 T5 DE112009004900 T5 DE 112009004900T5
Authority
DE
Germany
Prior art keywords
memory
command
write
host
data
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
DE112009004900T
Other languages
English (en)
Inventor
Massimo Iaculo
Francesco Falanga
Antonino Pollio
Antonio Mauro
Danilo Caraccio
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
Micron Technology Inc
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 Micron Technology Inc filed Critical Micron Technology Inc
Publication of DE112009004900T5 publication Critical patent/DE112009004900T5/de
Withdrawn legal-status Critical Current

Links

Images

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
    • 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2216/00Indexing scheme relating to G11C16/00 and subgroups, for features not directly covered by these groups
    • G11C2216/12Reading and writing aspects of erasable programmable read-only memories
    • G11C2216/20Suspension of programming or erasing cells in an array in order to read other cells in it

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

Lese-Latenzen in einem Speicherfeld können durch Vertagen von Schreiboperationen reduziert werden. In einem Beispiel umfasst ein Prozess ein Schreiben eines ersten Datensatzes in einen Speicher, ein Unterbrechen einer zweiten Speicherschreiboperation, und ein Lesen des ersten Datensatzes aus dem Speboperation.

Description

  • Hintergrund
  • Gegenwärtig ist die am meisten übliche Schnittstelle für sowohl externe als auch eingebettete Flash-Speicher die Multimediakarte (MultiMediaCard, MMC) und die korrespondierende eingebettete MMC (e-MMC). Neue Standards wie etwa ein Universal-Flash-Speicher (Universal Flash Storage, UFS) werden auch gerade entwickelt, um einem internen und externen Flash-Speicher zu erlauben einen einzelnen Bus gemeinsam zu nutzen. Diese Standards sind beabsichtigt auch auf andere Arten von Speicher, die magnetische, optische und Phasenübergangs-Speicher enthalten, angepasst zu werden.
  • Um eine MMC- oder e-MMC-Schnittstelle zu vereinfachen, passt eine Speicherkartensteuereinheit die physikalische Speicherschnittstelle (wie etwa eine NAND-Schnittstelle) an die MMC-Bus-Schnittstelle an und verwaltet auch Aufgaben, die spezifisch für die physikalische Speichertechnologie sind. Für NAND-Speicher können diese Aufgaben eine Defragmentierung, Verwaltung von defekten Blöcken, Fehlerkorrektur und Fehlererkennung, Verschleiß-Ausgleichs-Algorithmen, sichere Verwaltung, und Neuzuweisung von logischem zu physikalischem Block enthalten. Dies reduziert die Komplexität des Rests des Systems, aber diese zusätzlichen Speichersteuerungsaufgaben erfordern alle einige Zeit zum Durchführen, welches den Speicher zeitweise nicht verfügbar machen kann.
  • Es kann auftreten, dass die Speicherkartensteuereinheit mehr als Hunderte an Millisekunden brauchen wird, um einen Host-Befehl auszuführen, wegen einer gegenwärtig laufenden Datenverwaltungsroutine, wie zum Beispiel eine Datendefragmentierung oder Speicherbereinigung. Während dieser Zeit wird die Karte in einem Belegt-Zustand sein und sie kann keinen anderen Host-Befehl verwalten bis zu dem Ende des vorhergehenden Host-Befehls. Folglich wird die Antwort auf den Lesebefehlen verzögert. Diese erhöhte Latenz kann einen ordentlichen Betrieb des Hosts stören.
  • Kurze Beschreibung der Zeichnungen
  • Der Gegenstand, der als die Erfindung angesehen wird, ist insbesondere hervorgehoben und deutlich beansprucht in dem abschließenden Abschnitt der Beschreibung. Die Erfindung kann jedoch sowohl hinsichtlich Organisation und Betriebsverfahren zusammen mit Aufgaben, Merkmalen und Vorteilen davon am besten verstanden werden durch Bezugnahme auf die folgende detaillierte Beschreibung, wenn sie mit den begleitenden Zeichnungen gelesen wird, in welchen:
  • 1 ein Teil eines Zustandsdiagramms einer e-MMC-Flash-Speicherkartensteuereinheit zeigt, das geeignet ist zum Veranschaulichen von Aspekten einer Ausführungsform;
  • 2 ein Teil eines Zustandsdiagramms für eine Speichersteuereinheit in Übereinstimmung mit einer Ausführungsform zeigt;
  • 3 ist ein Zeitablaufdiagramm von Vertagen und Fortsetzen einer Schreiboperation in Übereinstimmung mit einer Ausführungsform;
  • 4 ist ein Zeitablaufdiagramm eines Abbrechens einer Schreiboperation in Übereinstimmung mit einer Ausführungsform;
  • 5 ist ein Prozess-Flussdiagramm von Vertagen und Fortsetzen einer Schreiboperation in Übereinstimmung mit einer Ausführungsform;
  • 6 ist ein Prozess-Flussdiagramm eines Abbrechens einer Schreiboperation in Übereinstimmung mit einer Ausführungsform;
  • 7 ist ein Blockdiagramm eines verwalteten Speichers mit einer Host-Schnittstelle, die in der Lage ist zum Implementieren des Verfahrens und der Vorrichtung, die in dem Kontext der anderen Zeichnungen beschrieben werden; und
  • 8 ist ein Blockdiagramm einer mobilen Vorrichtung, die in der Lage ist zum Implementieren des Verfahrens und der Vorrichtung, die in dem Kontext der anderen Zeichnungen beschrieben werden.
  • Es wird anerkannt werden, dass zur Einfachheit und Klarheit der Veranschaulichung, Elemente, die in den Zeichnungen dargestellt sind nicht notwendigerweise maßstabsgetreu gezeichnet worden sind. Zum Beispiel können die Ausmaße für einige der Elemente relativ zu anderen Elementen der Klarheit wegen übertrieben sein. Weiterhin können Bezugszeichen, wo sie als geeignet betrachtet werden, über die Zeichnungen hinweg wiederholt sein zum Anzeigen korrespondierender oder analoger Elemente.
  • Detaillierte Beschreibung
  • Damit PoD und viele andere aufwändige Strategien und Anwendungen arbeiten können, muss d Speicher ausreichend schnelle Leseoperationen bereitstellen und die Leseoperationen müssen sehr bald nachdem dieselben Daten geschrieben worden sind verfügbar sein. Dementsprechend können wie oben beschrieben Hosts auf einen verwalteten Speicher zugreifen unabhängig von dem Zustand der Speichersteuereinheit. Falls zum Beispiel eine Schreiboperation in Bearbeitung ist, kann der Host die gegenwärtige Schreiboperation vertagen, eine Leseoperation ausführen und dann das vertagte Schreiben fortsetzen.
  • Solch eine vertagte Operation kann zum Beispiel nützlich sein, wenn der Host seine eigene Firmware hat, die auf dem verwalteten Speicher gespeichert ist, und er Teile davon zur Laufzeit laden muss, während die Speichersteuereinheit beschäftigt ist mit einem Speichern von Daten. In einem Beispiel können neue Befehlssequenzen es dem Host erlauben eine lange Schreiboperation zu vertagen und fortzusetzen, um eine schnelle Leseoperation durchzuführen.
  • Ein Schreiben-Vertagen-Befehl, der von einem Schreiben-Fortsetzen-Befehl gefolgt wird, kann verwendet werden um den Host eine Lesezugriffszeit von wenigen Millisekunden zu garantieren selbst unter den schlechtesten Bedingungen. Dies erlaubt einem Host eine Seite-nach-Bedarf bzw. page-on-demand-Strategie zu implementieren zum Beispiel durch ein kurzes Einfrieren einer Schreiboperation. Jegliche andere lange Speicher-Verwaltungsoperation kann in derselben Weise eingefroren werden.
  • Die Beschreibung unten wird präsentiert in dem Kontext der e-MMC 4.4 JEDEC (Joint Electron Device Engineering Council) JESD84-A44 Standard-Spezifikation (veröffentlicht in Zusammenarbeit mit der Electronic Industries Alliance), um die Erklärung zu einfachen, aber dieselben Konzepte können auf andere Speicherverwaltungsprotokolle und Speicherschnittstellen transferiert werden.
  • Ein NAND-Flash-Speicher, egal ob eingebettet oder in einer separaten entfernbaren Karte enthalten, kann einfach typische Lesegeschwindigkeitsanforderungen für jegliches System erfüllen. Speicherverwaltung und Schreibalgorithmen können jedoch größere Latenzen einführen. Die Speicherverwaltung ist durch die e-MMC-Spezifikation der Speicherkartensteuereinheit zugewiesen, so dass der Host nicht weis, ob irgendein spezifischer Prozess gerade ausgeführt wird. Dementsprechend muss es, um eine konsistente Hochgeschwindigkeits-Speicherperformance bereitzustellen, irgendeinen Weg geben Speicherverwaltungsaufgaben unterzubringen.
  • Wenn die e-MMC eine verwaltete NAND-Flash-Speicherkarte ist, wird die interne Speicherkartensteuereinheit die Verantwortung haben zum Durchführen aller der internen NAND-Speicher-Verwaltungsoperationen. Von diesen tendieren Defragmentierung und Speicherbereinigung dazu vorhersagbar und zeitraubend zu sein. Diese Algorithmen werden gewöhnlich während eines Schreib-/Löschbefehls ausgeführt und ihre Dauer hängt von dem Zustand einer Belegung der NAND-Flash-Blöcke ab und dementsprechend davon wie die externe Host-Anwendung auf das Speichersystem zugreift. Für andere Arten von physikalischem Speicher gibt es andere Speicher-Verwaltungsoperationen, die einen schnellen Lesezyklus stören können.
  • Die Ausführung von jeglichen Verwaltungsalgorithmen kann die Ausführungszeit von einem Schreibbefehl in einer nicht vorhersehbaren Weise verlängern. Folglich kann eine nachfolgende Leseoperation mit hoher Priorität länger als durch die Spezifikation erlaubt verzögert werden. Dies kann unter anderem den Betrieb des Hosts unterbrechen.
  • Die vorliegende Beschreibung wird in dem Kontext einer Flash-Speicherkarte, die durch eine e-MMC-Schnittstelle an einen Host, wie etwa einen Computer, ein Smartphone, einen Medienspieler oder ähnliche Vorrichtung gekoppelt ist, präsentiert. Jedoch ist die Erfindung in dieser Weise nicht beschränkt. Viele Arten von Speicher erfordern Hintergrundverwaltungsaufgaben. Unabhängig davon, ob diese Aufgaben ähnlich sind zu oder sehr verschieden sind von jenen die für Flash-Speicher erforderlich sind, erlaubt die vorliegende Erfindung, dass Latenzen von diesen Aufgaben reduziert werden. Die vorliegende Erfindung ist nicht auf eine spezifische Speicher-Hardwarekonfiguration beschränkt. Der Speicher kann auf einer separaten Karte, oder einem separatem Chip vorhanden sein, oder er kann in einigen anderen Vorrichtungen eingebettet sein. Die Speicherverwaltungsoperationen können durch eine Speicherkartensteuereinheit ausgeführt werden in dem Fall, dass der Speicher als eine Speicherkarte gepackt ist, jedoch kann die Steuereinheit, die verantwortlich ist für eine Speicherverwaltung, verschiedene Namen haben in anderen Arten von Speichern. Dementsprechend wird die Erfindung in dem Kontext eines Speichers oder verwalteten Speichers mit einer Speichersteuereinheit, die zwischen dem Speicher und dem Host gekoppelt ist, beschrieben.
  • Ausführungsformen der vorliegenden Erfindung können leichter verstanden werden in dem Kontext eines einfachen Beispiels. In diesem Beispiel hat ein Host-System einen Befehl zum Schreiben von mehreren Blöcken an eine Speichersteuereinheit adressiert. Der beispielhafte verwaltete Speicher weist ein Feld aus Speicherzellen, die in Blöcke kopiert sind, auf. Die Speichersteuereinheit ist mitten in einer Datendefragmentierungs-Operation auf dem gekoppelten, verwalteten Speicherfeld oder selbst nur ein Teil des Speichers. In einer konventionellen Flash-Speicherkarte wird die Speicherkartensteuereinheit die Daten in einem Puffer empfangen und dann zurückkehren zu der Defragmentierungsoperation. Diese Operation wird dann gefolgt werden durch Schreiben der neuen Daten. Der Host wird nicht in der Lage sein irgendwelche weiteren Daten zu senden oder irgendwelche Daten zu lesen bis diese Operationen abgeschlossen sind. Zusätzlich werden die gerade gesendeten Daten nicht verfügbar sein um gelesen zu werden bevor der Defragmentierungsprozess vorbei ist. Die Defragmentierung wird hier als ein Beispiel verwendet. Es werden hier mehrere weitere Prozesse durch die Speichersteuereinheit durchgeführt, die den Speicher zeitweise nicht verfügbar machen können.
  • Dieses Beispiel kann vollständiger verstanden werden in dem Kontext des herkömmlichen Zustandsdiagramms für e-MMC, das in der Standardspezifikation bereitgestellt wird. Dieses Zustandsdiagramm ist als 1 reproduziert worden. Einige Details sind von dem Standarddiagramm entfernt worden, die nicht relevant sind für die Operationen, die hier diskutiert werden.
  • Wie in 1 gezeigt, weist die Speichersteuereinheit verschiedene Zustände auf. Diese enthalten einen Stand-by-Zustand (stby) 10, einen Transfer-Zustand (tran) 12, einen Sende-Daten-Zustand (data) 14, einen Empfange-Daten-Zustand (rcv) 16, einen Programmieren-Zustand (prg) 18 und einen Trennen-Zustand (dis) 20. Andere Zustände sind auch definiert, werden aber nicht gezeigt, um das Diagramm einfach zu halten. Für Flash-Speicher wird ein Schreiben der Speicherzellen für nichtflüchtigen Speicher als Programmieren bezeichnet. Für andere Arten von Speicher mag der Programmieren-Zustand einen unterschiedlichen Namen haben wie etwa Schreiben oder Speichern. Die hier gezeigten spezifischen Zustände sind direkt dem e-MMC-Standard entnommen und sind insbesondere gut angepasst für NAND-Flash. Die Erfindung kann jedoch an andere Arten von Speicher oder andere Arten von Zustandsmaschinen angepasst werden.
  • Die Steuereinheit geht von einem Zustand zu einem anderen über basierend auf einem Empfangen oder Erzeugen eines Befehls, oder in einigen Fällen nach dem Auftreten eines ”Operation abgeschlossen” Ereignisses. Die Befehle sind alle numerisch als CMDxx definiert, wobei xx die Nummer ist. Jeder Befehl weist die numerische Definition und ein Argument auf. Jedoch ist für viele Befehle das Argument ein Füll-Argument, was bedeutet, dass es nicht verwendet wird, um irgendwelche Informationen zu übermitteln.
  • Die Übergänge zwischen stby und tran werden durch den Host gesteuert unter Verwendung von CMD7, einem Auswahl-/Abwahl-Befehl. In ähnlicher Weise werden die Übergänge zwischen prg und dis und von Daten zu stby durch CMD7 gesteuert. Die Wirkung des Befehls hängt von dem aktuellen Zustand der Speichersteuereinheit ab, wenn der Befehl empfangen wird. Der Übergang von dis zu stby tritt auf, wenn die Operation abgeschlossen ist.
  • In dem obigen einfachen Beispiel hat der Host einen Schreibe-mehrere-Blöcke-Befehl an die Speicherkarte adressiert. Dies ist CMD25. Wie in 1 gezeigt, kann CMD25 durch die Host-Steuereinheit in tran 12 empfangen werden. In diesem Beispiel ist die Steuereinheit in tran und nach Empfangen des Schreibbefehls (CMD25) bei Block 22 bewegt sich der Zustand der Speichersteuereinheit von tran zu rcv, um die Daten zu empfangen. Nach Empfangen aller Daten von dem Host zum Speichern (”Transfer-Ende”), oder nach Empfangen eines Stopp-Befehls (CMD12) bei Block 24, bewegt sich der Zustand der Speichersteuereinheit hin zu prg. Gemäß der Standardspezifikation kehrt die Speichersteuereinheit nur zurück zu tran von prg, falls der vorhergehende Schreibbefehl abgeschlossen worden ist (”Operation abgeschlossen” Block 26). Der Host kann nicht irgendeinen anderen Befehl an die Speichersteuereinheit senden während sie beschäftigt ist. Falls die Steuereinheit eine komplexe Operation ausführt wie etwa eine Defragmentierung, kann die Steuereinheit in dem ”Programmieren-Zustand” für einige Millisekunden bleiben.
  • Eine Vielzahl an verschiedenen Leseanfragen wird durch den Standard beschrieben. Diese sind bei Block 28 als CMD8, 11, 17, 18, 30, 56(r) dargestellt. Auf diese Befehle können nur reagiert werden, wenn die Speichersteuereinheit sich in dem Transfer-Zustand befindet. Dementsprechend muss die Speichersteuereinheit, um schnell eine Leseanfrage zu liefern, sich schnell von ihrem gegenwärtigen Zustand zu dem Transfer-Zustand bewegen. Von dem Stand-by-Zustand kann dies mit CMD7 leicht erfolgen. Von dem Sende-Daten-Zustand ist die Speichersteuereinheit bereit zum Senden weiterer Daten, sobald die aktuelle Anfrage erfüllt worden ist. Von dem Trennen-Zustand kann der Host warten bis die Operation bei Block 36 abgeschlossen ist und dann CMD7 an den Stand-by Zustand aus geben, oder kann die Speichersteuereinheit zu dem Programmieren-Zustand mit CMD7 befehlen. Der Programmieren-Zustand wird mit einer Operation, die bei Block 26 abgeschlossen ist, zurück zu dem Transfer-Zustand übergehen. Um es einer Leseanfrage zu erlauben, schnell bedient zu werden vor dem Empfange-Daten-Zustand oder dem Programmieren-Zustand, kann ein schnelles ”Heraus-aus-der-Belegung” Verfahren an den Host bereitgestellt werden. Solch ein Verfahren kann dem Host ein Mittel bereitgestellt, die aktuelle Defragmentierung, Speicherbereinigung, oder eine andere Operation, die auf der e-MMC in Arbeit ist, einzufrieren, was zum die Speichersteuereinheit frei macht, um eine Leseoperation mit höherer Priorität durchzuführen. Die eingefrorene Operation kann dann später fortgesetzt werden. Wie oben erwähnt wird die Speicherverwaltungsoperation häufig durch einen Schreibe-mehrere-Blöcke-Befehl (CMD25) getriggert.
  • Kurz gesagt, kann ein Schreiben-Vertagen-Befehl verwendet werden zum Vertagen jeglicher Mikroaktivität, Freigeben der DATO-Leitung (Belegungssignal) und zum schnellen Ermöglichen von der Vorrichtung zu lesen. Ein Schreiben-Fortsetzen-Befehl kann dann die Speichersteuereinheit in einen Programmieren-Zustand bewegen, um die vorher vertagte Schreiboperation abzuschließen. Eine kleine Datenmenge kann gesichert werden, um es der Mikroaktivität zu erlauben die Schreiboperation später fortzusetzen und abzuschließen. Nach einem Vertagen eines Schreibens, können alle jene Datenblöcke, die bereits in die Vorrichtung von der Host-Seite eingegeben wurden, für ein späteres Fortsetzen gesichert werden. Es gibt mehrere unterschiedliche Wege zum Bereitstellen eines ”Heraus-aus-der-Belegung” oder ”Vertagen und Fortsetzen” Verfahrens.
  • In einem Beispiel wird Standard-Stoppbefehl (CMD12) mit einem eindeutigen Argument verwendet, zum Beispiel OxFOFOFOFO (in hexadezimalen Zeichen). Der Standard-Stoppbefehl wird immer mit einem Füllargument gesendet und befiehlt eine StandardSTOP_TRANSMISSION. Durch Ändern des Arguments in ein spezifisches eindeutiges Argument können die Operation und Funktionen des Befehls geändert werden. Dieser neue Befehl kann als ein ”Schreiben-Vertagen” Befehl betrachtet werden.
  • Gemäß diesem Beispiel kann sich nach Empfangen des Schreiben-Vertagen-Befehls die Steuereinheit in prg 18 hinein bewegen und dann in ”Operation abgeschlossen” 26 sobald wie möglich hineinbewegen ohne Abschließen aller Schritte. Stattdessen werden alle Hintergrund-Schreiboperationen der Steuereinheit vertagt. Die Steuereinheit kann konfiguriert sein zum Halten oder Sichern aller der Information und Daten, die später notwendig ist zum Fortsetzen und Abschließen der Schreiboperation.
  • Nach ”Operation abgeschlossen” ist die Speichersteuereinheit dann zurück in tran 12. Von diesem Zustand kann der Host einen Lesebefehl 28 an den verwalteten Speicher senden und die Speichersteuereinheit wird dann übergehen zu data 14 und den Befehl bedienen. Die Leseoperation tritt in dem Zustand data 14 auf. Nachdem die Leseoperation ”Operation abgeschlossen” bei Block 30 erreicht, kehrt dann die Speichersteuereinheit zurück zu dem Zustand tran 12, von welchem sie den vorhergehenden Schreibbefehl fortsetzen kann durch Übergehen durch rcv 16 zu prg 18.
  • Falls der vorhergehende Schreibbefehl nicht fortgesetzt wird, dann werden alle die Daten, die an den Host in dem vorhergehenden Schreibbefehl gesendet wurden, verloren sein. Jegliche Befehlssequenz, außer von einer Fortsetzungssequenz kann permanent den vorhergehenden Schreibbefehl stoppen. Zum Fortsetzen der Schreiboperation und Übergehen von tran zu prg kann eine Vielzahl an verschiedenen Ansätzen verwendet werden. In einem Beispiel kann die folgende Befehlssequenz durch den Host ausgegeben werden:
    • – CMD16 (0x00000004)
    • – CMD56 (0x00000000)
    • – schreibe 4 Byte OxFOFOFOFO.
  • Der Setze-Blocklänge-Befehl CMD16 bei Block 32 wird mit Argument „0x00000004” gesendet. Das Argument gibt die Datentransferlänge des nächsten Befehls CMD56 an. Danach folgt ein generischer Schreibbefehl (CMD56) bei Block 22, der die Speichersteuereinheit in den Zustand rcv bringt. Das Argument „0x00000000” besteht aus Füll-Bits außer für das erste Bit (Bit 0), welches die Richtung des Datentransfers angibt, in diesem Fall zu dem Speicherfeld hin. Nachdem die Daten empfangen werden, wird ”Transfer-Ende” die Speichersteuereinheit in den Zustand prg bringen, um den Datenblock zu schreiben. Sobald sie diesen Zustand eingenommen hat, wird dann die Speichersteuereinheit die vorhergehende vertagte Schreiboperation abschließen.
  • In einem anderen Beispiel kann ein neuer Befehl verwendet werden, oder einem existierenden Befehl kann ein zusätzlicher Zweck gegeben werden, um die Speichersteuereinheit direkt in den ”Programmieren” Zustand zu senden. Wie bei Block 34 gezeigt, bringt CMD6, 28, 29, 38 die Speichersteuereinheit direkt von tran zu prg. Diese Befehle können verwendet werden unter Berücksichtigung, die ihren speziellen Zwecken gegeben wurde. In jedem dieser Fälle kann der Befehl verwendet werden, um die Vorrichtung direkt in den Zustand prg zu bringen, um die zuvor vertagte Schreiboperation abzuschließen. In dem vorliegenden Beispiel wird CMD22 verwendet. Dieser Befehl hat gegenwärtig keine zugewiesene Verwendung in der e-MMC-Standardspezifikation. Jeglicher anderer reservierter oder nicht verwendeter Befehl kann anstatt von CMD22 verwendet werden, oder um Variationen in den gewünschten Prozess unterzubringen.
  • Mit dem oben beschriebenen Schreiben-Vertagen- oder Heraus-aus-der-Belegung-Ansätzen, nach Ausgeben einer Vertagung, falls der Host einen Lese- oder Fortsetzen-Befehl sendet, kann dann die Wartungsoperation fortgesetzt werden. Falls jedoch ein anderer Befehl ausgegeben wird, kann dann die Speichersteuereinheit alles von der Fortsetzungs-Information verwerfen. Dies lässt den unterbrochenen Schreibbefehl unvollendet. Ein weiteres Risiko ist, dass, falls eine vertagte Operation sich in Bearbeitung befindet und dann ein weiterer Lesebefehl an Adressen ausgegeben wird, die in das vertagte Schreiben involviert sind, die abgerufenen Daten nicht definiert sein könnten. In einem dritten Beispiel kann eine Schreiben-Abbrechen-Befehlssequenz verwendet werden. Ein Abbrechen-Befehl kann verwendet werden, um eine plötzliche Unterbrechung von allen der laufenden Speicherwartungsoperationen, die durch die e-MMC-Steuereinheit initiieren wurden, während eines Schreibbefehls zu veranlassen. Die Unterbrechung lässt den Host einen Lesebefehl mit hoher Priorität, der dann schnell ausgeführt werden kann, ausgeben.
  • In Antwort auf einen Schreiben-Abbrechen-Befehl können alle der Daten-Umkopieren-Operationen in dem Speicher verworfen werden. Falls es so ist, werden für einen NAND-Speicher die involvierten physikalischen Blöcke als ungültig gemacht betrachtet. Dementsprechend werden die involvierten physikalischen Blöcke des Speichers wieder vorher gelöscht, bevor in sie hinein geschrieben wird für neue Daten-Schreiboperationen. Um ein Verlieren aller dieser Daten zu vermeiden, die mit den Umkopieren-Operationen involviert sind, kann der Schreibbefehl, der durch den Schreiben-Abbrechen-Befehl unterbrochen wurde, dann durch den Host erneut ausgegeben werden. Dies erlaubt es den früheren Schreiboperationen nach dem Lesen mit hoher Priorität abgeschlossen zu werden.
  • Wenn eine Schreiboperation vor einem Abschluss abgebrochen wird, kann die Speichersteuereinheit ein Fehlersignal ausgeben, um anzuzeigen, dass die Operation nicht erfolgreich abgeschlossen wurde. In Antwort auf dieses, kann der Host dann den korrespondierenden Schreibbefehl erneut ausgeben. Falls der Abbrechen-Befehl durch den Host, wie in dem oben beschriebenen Beispiel ausgegeben wird, kann dann der Host konfiguriert werden, um automatisch die letzte Schreibanfrage zu wiederholen. In solch einem Fall wird keine Fehlersignalisierung von der Speichersteuereinheit benötigt, weil der Host sich bewusst ist, dass die Schreiboperation gestoppt wurde.
  • Als eine Alternative kann der Schreiben-Abbrechen-Befehl durch die Speichersteuereinheit ausgegeben werden in Antwort auf eine dieser Anforderung mit hoher Priorität von dem Host. Um die abgebrochene Schreiboperation wiederherzustellen, kann sich die Speichersteuereinheit die abgebrochene Operation merken und automatisch fortsetzen, wenn die Leseanforderung bedient wurde. Alternativ kann die Speichersteuereinheit einfach ein Fehlersignal für die abgebrochene Operation ausgeben. Das Fehlersignal kann dann den Host veranlassen die letzte Schreiboperation erneut auszugeben.
  • Der Abbrechen-Befehl kann in einer Vielzahl von verschiedenen Weisen implementiert sein. In einem Beispiel, wie in dem ersten Beispiel, kann ein STOP-Befehl (CMD12) verwendet werden, der modifiziert wird durch Verwendung eines neuen Argumenten-Formats wie etwa „OxFOFOFOFO”. Da die Argumente des STOP-Befehls gänzlich durch Füll-Bits besteht, können andere Argumente verwendet werden, um zusätzliche Funktionen zu dem Befehl hinzuzufügen.
  • Die oben beschriebenen Ansätze können in der Speichersteuereinheit oder dem Host implementiert sein. Falls der Host mit Schreiben-Vertagen- oder Schreiben-Abbrechen-Operationen zu involvieren ist, kann dann die Speichersteuereinheit dem Host anzeigen, ob er in der Lage ist solche Befehle zu unterstützen und wie. In dem e-MMC-Standard enthält jede MMC-Karte ein EXT_CSD (extended card specific data) Register. Dieses Register enthält Informationen über die Fähigkeiten der Karte und ausgewählte Moden. Die Information enthält Startadressen, Speicherkapazität, Partitionen, Bootcodes, aktivierte Befehlssätze, Timing- und Geschwindigkeits-Spezifikationen, Löschschutz-Moden, usw. Das Register auf der Karte wird durch den Host gelesen, wenn die Karte gebootet wird. In einem Beispiel kann ein dediziertes Feld in dem Bereich Eigenschaften des Extended CSD Registers gesetzt werden, um mit einer Host-Plattform zu kommunizieren, dass ein Schreiben-Vertagen/Fortsetzen- oder ein Schreiben-Abbrechen-Befehl, oder beide auf der Vorrichtung verfügbar sind. Der Segment-Bereich des Extended CSD Registers kann zum Beispiel verwendet werden, um es dem Host zu erlauben zu wählen, ob er diese Befehle aktiviert. In einem Beispiel kann ein Byte in dem Segment-Bereich als durch den Host gesetzt vorhanden sein. Wenn der Host das Byte setzt, sind dann die Abbrechen- und Vertagen/Fortsetzen-Funktionalitäten auf der Vorrichtung aktiviert.
  • Die Bytes in dem Segment-Bereich können als ein Beispiel eine Struktur wie in Tabelle 1 gezeigt aufweisen.
    Name Feld Größe (Bytes) Zelle n-Typ EXT_C SD Slice
    Schreiben-Vorwegnahme Unterstützung WRITE_PRE_EMPTION_SUPPORT 1 R 503
    Schreiben-Vorwegnahme Verwaltung WRITE_PRE_EMPTION_MGMT 1 R/W/E 161
    Tabelle 1
  • Das WRITE_PRE_EMPTION_SUPPORT-Feld kann als ein Beispiel eine Struktur wie in Tabelle 2 gezeigt aufweisen.
    Bit 7 reserviert
    Bit 6 reserviert
    Bit 5 reserviert
    Bit 4 reserviert
    Bit 3 reserviert
    Bit reserviert
    Bit 1 WRITE_PRE_EMPTION_ABORT_EN
    Bit 0 WRITE_PRE_EMPTION_RESUME_EN
    Tabelle 2
  • Für Bit 1-WRITE_PRE_EMPTION_RESUME_EN können zwei verschiedene Werte verwendet werden zum Anzeigen, ob Schreiben-Vorwegnahme-Fortsetzen-Befehle aktiviert sind. In einem Beispiel können diese Werte gewählt werden als:
    ob0-Schreiben-Vertagen/Fortsetzen-Befehl nicht unterstützt; und
    ob1-Schreiben-Vertagen/Fortsetzen-Befehl unterstützt.
  • In ähnlicher Weise können für Bit 0-WRITE_PRE_EMPTION_ABORT_EN zwei verschiedene Werte verwendet werden zum Anzeigen, ob Schreiben-Vorwegnahme-Abbrechen-Befehle aktiviert sind. In einem Beispiel können diese Werte gewählt werden als:
    ob0-Schreiben-Abbrechen-Befehl nicht unterstützt; und
    ob1-Schreiben-Abbrechen-Befehl unterstützt.
  • In einer ähnlichen Weise kann das WRITE_PRE_EMPTION_MGMT-Feld als ein Beispiel eine Struktur wie in Tabelle 3 gezeigt aufweisen.
    Bit 7 reserviert
    Bit 6 reserviert
    Bit 5 reserviert
    Bit 4 reserviert
    Bit 3 reserviert
    Bit reserviert
    Bit 1 reserviert
    Bit 0 WRITE_PRE_EMPTION_ACT
    Tabelle 3
  • Bit 0-WRITE_PRE_EMPTION_ACT kann auch zwei verschiedene Werte verwenden zum Anzeigen, ob Schreiben-Vorwegnahme-Aktionen unterstützt werden. Diese Werte können sein:
    ob0-Schreiben-Abbrechen-Befehl nicht durch den Host aktiviert; und
    ob1-Schreiben-Abbrechen-Befehl durch den Host aktiviert.
  • Das EXT_CSD Register des e-MMC-Standards stellt eine angenehme Weise zum Kommunizieren von Fähigkeiten an einen Host bereit und die obigen Tabellen stellen spezifische Beispiele bereit von dem wie das gemacht werden könnte. Jedoch können andere Register und andere Steuerungsmechanismen verwendet werden zum Ausführen derselben Kommunikationsfunktionen. Für andere Arten von Speichervorrichtungen und Speicherprotokollen können ähnliche oder verschiedene Ansätze verwendet werden. Alternativ kann die Verwendung von spezifischen Befehlen durch den Host und die Karte akzeptiert werden ohne irgendeine Art von Konfiguration oder spezifischen Daten oder Registern, die verwendet werden.
  • 2 zeigt ein vereinfachtes Zustandsdiagramm, das zeigt wie Vertagen- und Fortsetzen-Operationen zu dem Betrieb eines Speichersystems hinzugefügt werden können. 2 umfasst den Transfer-Zustand 12, den Empfange-Daten-Zustand 16 und den Programmieren-Zustand 18 der 1. Die anderen Zustände und ihre Übergänge sind nicht dargestellt, um das Diagramm zu vereinfachen. Wie in 1 kann die Speichersteuereinheit übergehen von dem Transfer-Zustand zu dem Empfange-Daten nach Empfangen von Befehlen bei dem Block 22, nach dem die Daten bei dem Block 24 empfangen werden, kann sie zu dem Programmieren-Zustand übergehen, um die Daten in den Speicher hineinzuschreiben. Nach Abschluss der Schreiboperation bei dem Block 26, kehrt sie zurück zu dem Transfer-Zustand. Die anderen Operationen und Befehle können auch operieren wie in dem Kontext der 1 beschrieben. Wenn sich die Speichersteuereinheit in dem Programmieren-Zustand befindet und ein Lesebefehl schnell bedient werden muss, erlaubt es die 2 einem Vertagen-Befehl bei dem Block 38 empfangen zu werden. Dieser Befehl kann auch verwendet werden, um einen Empfange-Daten-Zustand 16 zu unterbrechen. Der Vertagen-Befehl überführt die Speichersteuereinheit schnell zurück zu dem Transfer-Zustand, von welchem sie die Leseanforderung (nicht dargestellt) bedienen kann. Von diesem Zustand kann einen Fortsetzen-Befehl bei dem Block 40 empfangen werden, der die Speichersteuereinheit zu dem Programmieren-Zustand zurück führt, um die Operation, die vertagt wurde, abzuschließen.
  • 3 ist ein Transaktions-Zeitablaufdiagramm für einen Vertagen/Fortsetzen-Ansatz wie etwa der von 2. In 3 gibt es eine horizontale Zeitskala, die sich von links nach rechts bewegt. An dem linken Ende der Skala schreibt die Speichersteuereinheit mehrere Blöcke 52. Zu derselben Zeit wird eine Speicherbereinigung oder eine andere Speicherwartungsaufgabe 54 durchgeführt. Diese Aufgaben werden typischerweise in dem Programmieren-Zustand 18 in einer NAND-Flash-Speicherkarte ausgeführt.
  • Nach einiger Zeit, während des Schreibens, wird ein Vertagen-Befehl 56 empfangen. Dies befiehlt der Speichersteuereinheit die Schreiboperationen zu stoppen, um einen Lesebefehl mit hoher Priorität zu bedienen. Der Vertagen-Befehl wird gefolgt durch eine Heraus-aus-dem-Stopp-Belegungszeit 58. Dies ist die Zeit, die erforderlich ist, zum Beenden der Schreiboperationen, zum Sichern des Zustands und jeglicher notwendiger Operanden und Datenwerte, und zum Wechseln zu dem Zustand data 14. Am Ende dieser Belegungszeit wird der Lesebefehl bedient 60. Nach dem der Lesebefehl mit hoher Priorität bedient wurde, wird ein Fortsetzen-Befehl 62 ausgegeben, welcher der Speichersteuereinheit es erlaubt zu den Schreiboperationen zurückzukehren, welche die Speicherbereinigung einschließt, die vertagt wurde (nicht dargestellt).
  • 4 zeigt eine Alternative, in welcher ein Abbrechen-Befehl 64 anstatt eines Vertagen-Befehls ausgegeben wird. In dem Beispiel von 4 schreibt die Speichersteuereinheit 52 gerade und eine Speicherbereinigung 54 wird ausgeführt, wenn ein Abbrechen-Befehl empfangen wird. Es gibt dort eine korrespondierende Belegungszeit 66 und dann wird das Lesen ausgeführt 60. In diesem Fall wird das Lesen schneller bedient, weil die Belegungszeit kürzer ist. Das ist, weil der Abbrechen-Befehl nicht durch einen Fortsetzen-Befehl gefolgt wird.
  • Folglich ist es für die Speichersteuereinheit nicht erforderlich sich irgendetwas über die Schreiboperationen zu merken. Die Schreiboperationen werden wieder von dem Start beginnen nach Empfangen eines anderen Schreibbefehls. Als eine Alternative kann ein Stopp-Befehl oder irgendein anderer Befehl, der ein ähnliches Ergebnis erzielt, verwendet werden.
  • Die Vertagen/Fortsetzen-Befehle verursachen weniger Störung für das System und erfordern weniger Aufmerksamkeit von dem Host. Der Stopp- oder Abbrechen-Befehl erlaubt es dem Lesen schneller bedient zu werden, aber alle Änderungen, die während der Schreiboperation gemacht wurden, sind verloren und müssen und muss neu begonnen werden. Eine Vielzahl anderer Varianten können für die oben beschriebenen Ansätze vorgenommen werden und eine spezielle Wahl wird von der Natur des Speichers, seiner Steuereinheit und den Bedürfnissen des Host-Systems abhängen.
  • Die vorliegende Erfindung kann auch beschrieben werden unter Verwendung eines Flussdiagramms, das in 5 dargestellt ist. In 5 sind der Speicher und sein Host in Betrieb und der Host bestimmt, dass es erforderlich ist einen Lesebefehl mit hoher Priorität an den Speicher bei dem Block 111 auszugeben. Zuerst bestimmt der Host, ob sich der Speicher in einem Lesezustand befindet bei dem Block 113. Falls dem nicht so ist, fahren die Operationen dann normal weiter. Der Host gibt die Leseanfrage bei dem Block 115 aus und empfängt dann die gelesenen Daten bei dem Block 117. Der Prozess kehrt dann zu dem Start zurück.
  • Falls die Leseanfrage eine Leseanfrage mit einer niedrigen Priorität ist, kann demselben Prozess gefolgt werden. Falls der Speicher sich in einer Schreiboperation befindet und eine Leseanfrage ausgegeben wird, dann wird der Speicher die Schreiboperation abschließen und dann die Anfrage bedienen. In dem e-MMC-Kontext von 1 wird der Speicher nach Abschluss der Leseoperation zu dem Transfer-Zustand übergehen.
  • Er wird dann auf den Lesebefehl antworten und übergehen in den Zustand data, um die angeforderten Daten zu senden. Es gibt keine Unterbrechung von irgendwelchen der Operationen, jedoch wird die Antwort auf die Leseanfrage verzögert werden.
  • Falls in 5 der Speicher sich gegenwärtig in einem Schreiben-Zustand befindet, dann kann der Host einen Vertagen-Befehl bei dem Block 119 ausgeben. Dies wird dem Speicher befehlen die Schreiboperation zu vertagen, so dass er auf eine Leseanfrage antworten kann. Der Vertagen-Befehl wird bei dem Block 121 gefolgt von einer Leseanfrage. Bei dem Block 123 wartet der Host bis die angeforderten Daten empfangen werden. Nachdem sie empfangen werden, gibt dann der Host einen Fortsetzen-Befehl bei dem Block 127 aus. Dies erlaubt dem Speicher die unterbrochenen Schreiboperationen fortzusetzen. Der Host kehrt dann zu dem START zurück.
  • 6 zeigt einen alternativen Prozessablauf. Wie in 5 sind der Speicher und sein Host in Betrieb und der Host bestimmt, dass es erforderlich ist einen Lesebefehl mit hoher Priorität an den Speicher bei dem Block 131 auszugeben. Zuerst bestimmt der Host, ob der Speicher sich in einem Lesen-Zustand befindet bei dem Block 133. Falls dem nicht so ist, dann fahren die Operationen normal weiter. Der Host gibt die Leseanfrage bei dem Block 135 aus und empfängt dann die gelesenen Daten bei dem Block 137. Der Prozess kehrt dann zu dem Start zurück. Falls jedoch im Gegensatz zu 5, in 6 sich der Speicher gegenwärtig in einem Schreiben-Zustand befindet, dann gibt der Host einen Stopp- oder Abbrechen-Befehl bei dem Block 139 aus. Es gibt dort keinen korrespondierenden Fortsetzen-Befehl für den Abbrechen-Befehl. Der Abbrechen-Befehl wird noch dem Speicher befehlen sich selbst zu befreien, um auf eine Leseanfrage zu antworten. Nach dem Abbrechen-Befehl geht der Prozess zurück zu dem Block 135. Der Host gibt eine Leseanfrage aus. Der Host empfängt dann die Daten bei dem Block 137 und kehrt dann zu dem Start zurück.
  • Der Prozessablauf von 6 weist einige optionale Operationen auf, welche nicht dargestellt sind. Der Host kann den letzten Schreibbefehl verfolgen, der ausgegeben wurde vor einem Stopp-Befehl. Nach dem die Lesedaten empfangen werden, kann der Host dann den Schreiben-Befehl erneut ausgeben. Dies wird den Speicher veranlassen zu einem Schreiben-Zustand zurückzukehren und jegliche Daten, die verloren gingen, wieder herstellen als der Schreibprozess gestoppt wurde. Alternativ kann der Host auf ein Fehlersignal von dem Speicher warten, nach dem der Stopp-Befehl ausgegeben wird. Das Fehlersignal kann zu dem korrespondierenden Befehl verfolgt werden und dann kann der korrespondierende Befehl durch den Host an den Speicher erneut ausgegeben werden, nach dem die Leseanfrage bedient wurden. In diesem Ansatz antwortet der Speicher mit einem Fehler, wenn ein Schreiben durch einen Stopp-Befehl unterbrochen wurde.
  • Als eine weitere Alternative zu den Flussdiagrammen von sowohl der 5 und der 6, kann die Operation zum Bestimmen des Zustands des Speichers ignoriert werden. Typischerweise, falls ein Vertagen- oder Stopp-Befehl ausgegeben wird, wenn sich der Speicher in einem Standby- oder Transfer-Zustand befindet, wird dann der Befehl keine Einwirkung auf den Betrieb des Speichers haben. In einigen Fällen kann es zu einem Fehlersignal führen, aber der Host kann dies als eine Anzeige von dem Speicher von seinem Betriebszustand interpretieren. Das System kann auch so konfiguriert werden, dass der Vertagen- oder Stopp-Befehl nicht bedient wird, wenn der Speicher sich in dem Sende-Daten-Zustand oder einem Trennen-Zustand ebenfalls befindet. Diese Modifikation vereinfacht die Operationen des Hosts, aber führt einige Ungewissheit über den Betrieb des Speichers ein.
  • 7 zeigt einen verwalteten Flash-Speicher 223 in der Form einer eMMC-Karte. Dies ist nur ein Beispiel für ein Speicherprodukt, auf welches die vorliegende Erfindung angewendet werden kann. Es lässt sich jedoch auch gut auf die oben spezifisch beschriebenen Ausführungsformen anwenden. Die veranschaulichten Komponenten können Teil eines einzelnen Chips oder zusammengesetzt aus mehreren Chips sein. Die Komponenten können in einem einzelnen Paket, Gehäuse oder entfernbarer Karte enthalten sein, oder in mehreren diskreten Paketen enthalten sein. Die Speicherkarte hat einen Abschnitt eines nichtflüchtigen Speichers 201, zum Beispiel ein Flash-Speicher, obwohl jede beliebige andere Art von Speicher verwendet werden kann einschließlich flüchtiger Speicher. Der Speicher kann jegliche einer Vielzahl von verschiedenen Größen mit verschiedenen Partitionsschemen sein. In einigen Beispielen wird es mehrere Blöcke geben und jeder Block wird mehrere Seiten aufweisen. Jedoch können auch andere Konfigurationen verwendet werden. Der Speicher ist an eine Speicherkartensteuereinheit oder Kernlogik 202 durch eine Schnittstelle eines nichtflüchtigen Speichers 203 gekoppelt.
  • Die Schnittstelle weist typischerweise einen Steuerungsbus und einen Datenbus auf, um eine Kommunikation auf der physikalischen Schicht zwischen der Steuereinheit und den Zellen des Speichers bereitzustellen. Die Steuereinheit kann auch eine MMC-Schnittstelle 204 aufweisen, durch welche die Karte 223 mit der Speichersteuerungseinheit des Hosts 205 gekoppelt ist. Die externe MMC-Schnittstelle kann eine verwaltete NAND-Schnittstelle aufweisen, um auf einer MMC-, eMMC-, UFS-, oder anderen NAND-basierten Speicherschnittstellen zu kommunizieren. Diese Schnittstelle weist eine Busverbindung 206 zum Kommunizieren von Daten, Befehlen und einen Takt auf. Jedoch kann eine andere Schnittstelle, die angepasst ist zum Kommunizieren unter Verwendung eines anderen externen Protokolls, stattdessen verwendet werden. Die Speicherkartensteuereinheit 202 wandelt die externe Schnittstelle zu der physikalischen Schnittstelle mit dem Speicher 201 um. Die Steuereinheit oder die externe MMC-Schnittstelle kann einen Datenpuffer zum Speichern von Zwischenwerten aufweisen und kann Latenzen auf den internen und externen Bussen beherbergen. Die Steuerungseinheit führt eine Vielzahl an verschiedenen Funktionen aus, einschließlich jener oben diskutierter, zum Beispiel Datenverarbeitung, Speicherwartung, sichere Verwaltung, und Fehlererkennung und Korrektur.
  • 8 zeigt ein beispielhaftes System 211, auf welches Ausführungsformen der Erfindung angewendet werden können. In dem veranschaulichten Beispiel ist das System mobil, Hand gehalten, ein Mobiltelefon, jedoch mit einer geringen Modifikation, wobei das System einen breiten Bereich an verschiedenen Vorrichtungen repräsentieren kann. Das System wird getrieben durch eine zentrale Verarbeitungseinheit (CPU) 213, die einen Chipsatz enthalten kann oder nicht. Die CPU weist einen Anwendungsbereich 215 auf, die Programme ausführt unter Verwendung eines Betriebssystems und eines Basisbandabschnitts 217, der Telefonfunktionen behandelt. Beide Abschnitte sind mit einer Speicherschnittstelle 219 gekoppelt, die über einen Bus mit dem Speicher des Systems kommuniziert.
  • In dem veranschaulichten Beispiel weist der Systemspeicher einen flüchtigen Abschnitt 221 auf, welcher implementiert sein kann als ein Speicher mit wahlfreiem Zugriff (RAM) für Hochgeschwindigkeitszugriff und einen nichtflüchtigen Abschnitt 223, welcher als ein Flash implementiert sein kann für Daten, die einen Energieverlust überleben müssen. Typischerweise wird der RAM als ein Kurzzeitspeicher für Daten und Anweisungen verwendet, auf den schnell zugegriffen werden muss, während der Flash verwendet wird zum Speichern von Betriebssystemen, Systemparametern und Anwendungen. Der Speicher kann alternativ als ein einzelner Speicher vollständig in Flash implementiert sein und der Flash-Abschnitt kann mit anderen Arten von nichtflüchtigem Speicher implementiert sein wie etwa PCM (Phasenübergangsspeicher), MRM (magneto-resistive Speicher), oder FRAM (ferro-elektrisches RAM), oder eine Kombination von diesem oder jeglichen anderen Speicherarten. Die oben beschriebenen Operationen in dem Kontext der 5 und 6 sind auf dem nichtflüchtigen Speicher angewendet. In dem Fall eines Energieverlustes werden alle Daten, die in dem flüchtigen Speicher gespeichert sind, verloren sein.
  • Der Basisbandabschnitt der CPU ist mit einer Benutzerschnittstelle gekoppelt. In dem veranschaulichten Beispiel umfasst die Benutzerschnittstelle eine Tastatur 225 und eine Sprechgarnitur 227 mit einem Lautsprecher und einem Mikrofon. Eine Vielzahl an anderen Schnittstellen kann verwendet werden wie etwa ein Berührungsbildschirm, Bluetooth-Vorrichtungen, Beschleunigungssensoren, Näherungssensoren, und andere Schnittstellen, die abhängig sind von der spezifischen Anwendung. Der Basisbandabschnitt ist auch mit der HF (Hochfrequenz) Schaltung 229 gekoppelt, um es dem System zu erlauben mit externen Vorrichtungen zu kommunizieren unter Verwendung einer Funkverbindung. Die Funkverbindung kann ein Mobiltelefon, Daten, drahtloses Netzwerk oder irgendeine andere Schnittstelle wie gewünscht sein.
  • Die CPU kann auch auf ein beliebiges einer Vielzahl von Peripheriegeräten 231, wie Kameras, Ortungssysteme, Anzeigevorrichtungen, Drucker, Bluetooth-Geräte und sonstige Peripherie gekoppelt werden, um zusätzliche Funktionen des Systems 211 zu unterstützen. 8 zeigt auch ein Energieverwaltungssystem 233, welches eine Energieversorgung umfassen kann wie etwa eine Batterie zum Regulieren des Stromverbrauchs der verschiedenen Komponenten. Diese Vorrichtung kann Software getrieben und durch die CPU gesteuert, oder autonom, oder eine Kombination von beiden sein.
  • In der obigen Beschreibung sind viele Operationen beschrieben ohne zu spezifizieren, welche Hardware-Einheit die Operationen ausführt. Viele von diesen Operationen können durch verschiedene Hardware-Einheiten oder Module ausgeführt werden, die abhängig sind von der spezifischen Speicherkonfiguration.
  • Wie oben, für eMMC erwähnt, wie sie gegenwärtig konfiguriert ist, steuert der Host Lesen, Schreiben und logische Adressen, während die Speichersteuereinheit die logischen Adressen in physikalische Adressen abbildet, führt Wartung, und Fehlererkennung und Korrektur durch, Dementsprechend beziehen sich die Zustandsdiagramme auf den gegenwärtigen Zustand der Speichersteuereinheit, aber dieser Zustand wird durch Befehle von dem Host bestimmt.
  • In anderen Systemen ist der Speicher autonomer, in welchem Fall einige der Befehle, die oben als durch den Host ausgegeben beschriebenen sind, als interne Prozesse der Speichersteuereinheit ausgegeben werden. Andererseits steuert in einem anderen System, wie etwa Systemspeicher, der Host jeden Aspekt der Speicherverwendung. In diesem Fall beziehen sich die Zustandsdiagramme korrekter auf den Zustand des Hosts beim direkten Steuern des Speichers. Die präzise Verteilung von Operationen, Befehlen und Antworten können angepasst sein, um zu verschiedenen Industriestandards und verschiedenen Speicherverwendungen zu passen. Jedoch ist die vorliegende Erfindung nicht auf eine bestimmte Verteilung beschränkt. Der Begriff ”computerlesbares Medium” bezieht sich auf ein geeignetes Medium, das partizipiert bei der Bereitstellung von Programmanweisungen an einen Prozessor, eine Speichersteuereinheit oder jede andere geeignete Vorrichtung zur Durchführung. Solch ein Medium kann verschiedene Formen annehmen, einschließlich auf nichtflüchtige Medien und flüchtige Medien aber nicht darauf beschränkt. Nichtflüchtige Medien können zum Beispiel optische oder magnetische Festplatten, Festkörperspeicher und andere Speicher, ROM (Nur-Lesespeicher), usw. umfassen. Flüchtige Medien können dynamische Speicher umfassen, wie zum Beispiel Arbeitsspeicher, DRAM (dynamische RAM), SRAM (statische RAM), und andere Arten von flüchtigem Speicher. Häufige Formen von computerlesbaren Medien beinhalten, beispielsweise magnetische Medien (z. B. Diskette, flexible Diskette, Festplatte, Magnetband, und andere magnetische Medien), optische Medien (z. B. CD-Nur-Lesespeicher (CD-ROM) und andere optische Medien), physikalisches Medium mit Mustern (z. B. Lochkarten, Lochstreifen, jegliche andere physikalische Medien), Speicherchips oder Kassetten (z. B. RAM, programmierbaren Nur-Lese-Speicher (PROM), löschbare programmierbare Nur-Lese-Speicher (EPROM, Flash-Speicher und andere Speicher-Chips oder Kassetten) und jedes andere Medium, von dem ein Computer lesen kann.
  • In der folgenden detaillierten Beschreibung werden zahlreiche spezifische Details dargelegt um ein gründliches Verständnis der Erfindung zu liefern. Jedoch wird es von den Fachleuten verstanden, dass die vorliegende Erfindung ausgeführt werden kann ohne diese spezifischen Details. In anderen Fällen, sind wohlbekannte Verfahren, Prozeduren, Komponenten und Schaltungen im Detail nicht beschrieben worden, um die vorliegende Erfindung nicht zu verschleiern.
  • Einige Teile der detaillierten Beschreibung sind in Bezug auf Begriffe von Algorithmen und symbolischen Darstellungen von Operationen auf Datenbits oder binären digitalen Signalen innerhalb eines Computerspeichers dargestellt. Diese algorithmischen Beschreibungen und Darstellungen können die Techniken sein, die von Fachleuten in der modernen Datenverarbeitung benutzt werden, um die Substanz ihrer Arbeit anderen Fachleuten zu vermitteln.
  • Ein Algorithmus wird hier und in der Regel betrachtet, als eine in sich schlüssige Abfolge von Handlungen oder Operationen, die zu einem gewünschten Ergebnis führen. Dazu gehören physikalische Manipulationen von physikalischen Größen. In der Regel, jedoch nicht notwendigerweise, nehmen diese Größen die Form von elektrischen oder magnetischen Signalen an, die in der Lage sind gespeichert, übertragen, kombiniert, verglichen oder anderweitig manipuliert zu werden. Es hat sich bewährt in Zeiten bequemer, vor allem aus Gründen der allgemeinen Verwendung, diese Signale als Bits, Werte, Elemente, Symbole, Zeichen, Begriffe, Zahlen oder dergleichen zu bezeichnen.
  • Es versteht sich jedoch, dass alle diese und ähnliche Begriffe mit den geeigneten physikalischen Größen in Verbindung gebracht werden und lediglich bequeme Bezeichnungen für diese Größen sind.
  • Sofern nicht ausdrücklich anders angegeben, wie aus der nachfolgenden Diskussion ersichtlich, ist es zu beachten, dass in der gesamten Beschreibung Diskussionen, die Begriffe wie ”Verarbeitung”, ”Rechnen”, ”Berechnen”, ”Bestimmen” oder dergleichen nutzen, sich auf die Aktion und/oder Prozesse eines Computers, oder Computersystems, oder einer ähnlichen elektronischen Rechenvorrichtung beziehen, die Daten manipuliert und/oder transformiert, die repräsentiert sind als physikalische, wie elektronische Größen innerhalb der Register des Computersystems und/oder Speichern in andere Daten die ähnlich repräsentiert sind als physikalische Größen innerhalb der Speicher, Register oder andere Informations-Speicherung, Übertragung oder Anzeigevorrichtungen des Computersystems. Ausführungsformen der vorliegenden Erfindung können Vorrichtungen zum Durchführen der Operationen hier umfassen. Eine Vorrichtung kann speziell für die gewünschten Zwecke gebaut werden, oder sie kann eine Universalrechenvorrichtung umfassen, die wahlweise aktiviert oder durch ein Programm umkonfiguriert wird, das in der Vorrichtung gespeichert ist. Ein solches Programm kann auf einem Speichermedium gespeichert werden, wie etwa, aber nicht beschränkt auf, jede Art von Festplatte einschließlich Disketten, optische Laufwerke, CD-Nur-Lesespeicher (CD-ROMs), magneto-optische Laufwerke, Nur-Lesespeicher (ROMs), Lesespeicher mit wahlfreiem Zugriff (RAM), elektrisch programmierbaren Nur-Lese-Speicher (EPROMs), elektrisch löschbaren und programmierbaren Nur-Lesespeicher (EEPROMs), magnetische oder optische Karten oder jede andere Art von Medien geeignet zum Speichern elektronischer Anweisungen und in der Lage ist, mit einem Systembus für eine Rechenvorrichtung gekoppelt zu werden. Die Prozesse und Anzeigen, die hier vorgestellt sind, sind nicht von Natur aus auf eine bestimmte Computervorrichtung oder andere Vorrichtung bezogen. Verschiedene Universalsysteme können mit Programmen in Übereinstimmung mit den Lehren hierin verwendet werden, oder es kann sich als praktisch erweisen, eine spezialisiertere Vorrichtung zu konstruieren, um das gewünschte Verfahren auszuführen. Die gewünschte Struktur für eine Vielzahl dieser Systeme wird aus der nachfolgenden Beschreibung unten ersichtlich werden. Darüber hinaus sind Ausführungen der vorliegenden Erfindung nicht mit Bezug auf eine bestimmte Programmiersprache beschrieben. Es versteht sich, dass eine Vielzahl von Programmiersprachen verwendet werden kann, um die Lehren der Erfindung zu implementieren, die hierin beschrieben werden. Darüber hinaus sollte es verstanden werden, dass Operationen, Fähigkeiten und hierin beschriebene Merkmale mit einer beliebigen Kombination von Hardware (diskrete oder integrierte Schaltungen) und Software implementiert werden können.
  • Die Verwendung der Begriffe ”gekoppelt” und ”verbunden” können zusammen mit ihren Ableitungen verwendet werden. Es sollte verstanden werden, dass diese Begriffe nicht als Synonyme für einander bestimmt. Vielmehr kann in bestimmten Ausführungsformen ”verbunden” verwendet werden, um anzuzeigen, dass zwei oder mehr Elemente in direkten physikalischen oder elektrischen Kontakt miteinander sind. ”Verbunden” kann verwendet werden, um darauf hinzuweisen, dass zwei oder mehrere Elemente in direktem oder indirektem (unter Einbeziehung dazwischen liegender Elemente) physikalischen oder elektrischen Kontakt miteinander sind, und/oder, dass die zwei oder mehreren Elemente miteinander kooperieren oder interagieren (wie z. B. in einer Ursache-Wirkung-Beziehung).
  • Spezifische Ausführungsformen der vorliegenden Erfindung wurden oben beschrieben, jedoch ist die Erfindung nicht auf die Einzelheiten solcher Ausführungsformen beschränkt, sondern nur durch die nachfolgenden Ansprüche und ihre angemessenen Äquivalente.

Claims (12)

  1. Verfahren, aufweisend: Schreiben eines ersten Datensatzes in einen Speicher; Unterbrechen (119) einer zweiten Speicherschreiboperation; und Lesen (121) des ersten Datensatzes von dem Speicher nach dem Unterbrechen der zweiten Speicherschreiboperation.
  2. Verfahren nach Anspruch 1, weiterhin aufweisend Fortsetzen (127) der zweiten Schreiboperation nach Lesen des ersten Satzes an Daten.
  3. Verfahren nach Anspruch 1, weiterhin aufweisend Ausgeben eines Fehlersignals in Antwort auf das Unterbrechen der zweiten Schreiboperation.
  4. Verfahren nach Anspruch 1, weiterhin aufweisend Empfangen eines Befehls zum Wiederholen der unterbrochenen zweiten Speicherschreiboperation in Antwort auf das Fehlersignal.
  5. Verfahren nach Anspruch 1, wobei das Schreiben Ausgeben eines Schreibbefehls umfasst, wobei das Unterbrechen Ausgeben eines Unterbrechungsbefehls umfasst, und wobei das Lesen Ausgeben eines Lesebefehls umfasst.
  6. Verfahren nach einem oder mehreren der vorstehenden Ansprüche, wobei das Unterbrechen ein Ausgeben (139) eines Stopp-Befehls aufweist.
  7. Verfahren nach einem oder mehreren der vorstehenden Ansprüche, wobei das Unterbrechen ein Ausgeben (119) eines Vertagen-Befehls umfasst.
  8. Verfahren nach Anspruch 1, wobei das Unterbrechen ein Empfangen eines Unterbrechen-Befehls und ein Wechseln von einem Schreibzustand (18) zu einem Sendezustand (12) umfasst.
  9. Verfahren nach einem oder mehreren der vorstehenden Ansprüche, wobei der zweite Speicherschreibbefehl eine Speicherwartungsoperation wie etwa eine Defragmentierung oder eine Speicherbereinigung aufweist.
  10. Verfahren nach einem oder mehreren der vorstehenden Ansprüche, wobei das Lesen ein Bereitstellen einer Seite von Daten an eine Seite-auf-Anfrage Speicher Host (205) umfasst.
  11. Verfahren nach einen oder mehreren der vorstehenden Ansprüche, wobei der Speicher ein NAND-Flash-Speicher (201) ist.
  12. Vorrichtung, aufweisend: ein elektronischer Datenspeicher (201); eine Speichersteuereinheit (202), die mit dem Speicher gekoppelt ist; und eine Host-Schnittstelle (204), die mit der Speichersteuereinheit und einem Host (205) gekoppelt ist; wobei die Speichersteuereinheit einen ersten Datensatz in den Speicher schreibt, und eine zweite Speicherschreiboperation auf den Speicher ausführt, wobei die Speichersteuereinheit einen Speicherlesebefehl von dem Host durch die Host-Schnittstelle empfängt, wobei die Speichersteuereinheit dann die zweite Speicherschreiboperation unterbricht, um den Lesebefehl zu bedienen.
DE112009004900T 2009-06-10 2009-06-10 Vertagen von Speicheroperationen zum Reduzieren von Leselatenz in Speicherfeldern Withdrawn DE112009004900T5 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/IT2009/000253 WO2010143209A1 (en) 2009-06-10 2009-06-10 Suspension of memory operations for reduced read latency in memory arrays

Publications (1)

Publication Number Publication Date
DE112009004900T5 true DE112009004900T5 (de) 2012-08-16

Family

ID=41258287

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112009004900T Withdrawn DE112009004900T5 (de) 2009-06-10 2009-06-10 Vertagen von Speicheroperationen zum Reduzieren von Leselatenz in Speicherfeldern

Country Status (7)

Country Link
US (1) US20120179860A1 (de)
JP (1) JP2012529692A (de)
KR (1) KR20140059102A (de)
CN (1) CN102598141A (de)
DE (1) DE112009004900T5 (de)
TW (1) TW201104439A (de)
WO (1) WO2010143209A1 (de)

Families Citing this family (62)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI464581B (zh) * 2011-02-21 2014-12-11 Etron Technology Inc 非揮發性記憶體模組、非揮發性記憶體處理系統、與相關非揮發性記憶體管理方法
US9021146B2 (en) 2011-08-30 2015-04-28 Apple Inc. High priority command queue for peripheral component
DE112011105700T5 (de) * 2011-10-01 2014-07-17 Intel Corporation Schneller Ruhezustand- und schnelle Wiederinbetriebnahme für eine Plattform von Computersystem
US20130179614A1 (en) * 2012-01-10 2013-07-11 Diarmuid P. Ross Command Abort to Reduce Latency in Flash Memory Access
US20130318285A1 (en) * 2012-05-23 2013-11-28 Violin Memory Inc Flash memory controller
KR20140035771A (ko) * 2012-09-14 2014-03-24 삼성전자주식회사 임베디드 멀티미디어 카드, 상기 임베디드 멀티미디어 카드를 제어하는 호스트, 및 그 동작방법
US9754648B2 (en) 2012-10-26 2017-09-05 Micron Technology, Inc. Apparatuses and methods for memory operations having variable latencies
US9740485B2 (en) 2012-10-26 2017-08-22 Micron Technology, Inc. Apparatuses and methods for memory operations having variable latencies
US9417820B2 (en) 2012-12-06 2016-08-16 Kabushiki Kaisha Toshiba Low-overhead storage of a hibernation file in a hybrid disk drive
KR20140080660A (ko) * 2012-12-13 2014-07-01 에스케이하이닉스 주식회사 반도체 메모리 장치 및 시스템의 동작 방법
JP6088837B2 (ja) 2013-02-12 2017-03-01 株式会社東芝 ストレージ制御装置、ストレージ制御方法、ストレージシステムおよびプログラム
US9813080B1 (en) 2013-03-05 2017-11-07 Microsemi Solutions (U.S.), Inc. Layer specific LDPC decoder
US10230396B1 (en) 2013-03-05 2019-03-12 Microsemi Solutions (Us), Inc. Method and apparatus for layer-specific LDPC decoding
US9734097B2 (en) 2013-03-15 2017-08-15 Micron Technology, Inc. Apparatuses and methods for variable latency memory operations
US9727493B2 (en) 2013-08-14 2017-08-08 Micron Technology, Inc. Apparatuses and methods for providing data to a configurable storage area
US9563565B2 (en) 2013-08-14 2017-02-07 Micron Technology, Inc. Apparatuses and methods for providing data from a buffer
US9824004B2 (en) 2013-10-04 2017-11-21 Micron Technology, Inc. Methods and apparatuses for requesting ready status information from a memory
US10108372B2 (en) 2014-01-27 2018-10-23 Micron Technology, Inc. Methods and apparatuses for executing a plurality of queued tasks in a memory
US9454310B2 (en) * 2014-02-14 2016-09-27 Micron Technology, Inc. Command queuing
US11030122B2 (en) * 2014-04-08 2021-06-08 Micron Technology, Inc. Apparatuses and methods for securing an access protection scheme
US10365835B2 (en) 2014-05-28 2019-07-30 Micron Technology, Inc. Apparatuses and methods for performing write count threshold wear leveling operations
US9812200B2 (en) * 2014-07-08 2017-11-07 Adesto Technologies Corporation Concurrent read and write operations in a serial flash device
US9423961B2 (en) * 2014-09-08 2016-08-23 Apple Inc. Method to enhance programming performance in multilevel NVM devices
KR20160049200A (ko) * 2014-10-27 2016-05-09 삼성전자주식회사 데이터 저장 장치의 작동 방법, 이를 포함하는 모바일 컴퓨팅 장치, 및 이의 작동 방법
KR102356071B1 (ko) 2015-05-06 2022-01-27 에스케이하이닉스 주식회사 저장 장치 및 이의 동작 방법
WO2016182783A1 (en) 2015-05-14 2016-11-17 Adesto Technologies Corporation Concurrent read and reconfigured write operations in a memory device
CN106293623B (zh) * 2015-05-18 2020-09-01 北京忆芯科技有限公司 微指令序列执行方法及其装置
US10332613B1 (en) 2015-05-18 2019-06-25 Microsemi Solutions (Us), Inc. Nonvolatile memory system with retention monitor
US9799405B1 (en) 2015-07-29 2017-10-24 Ip Gem Group, Llc Nonvolatile memory system with read circuit for performing reads using threshold voltage shift read instruction
KR102413755B1 (ko) * 2015-11-20 2022-06-28 삼성전자주식회사 리텐션 특성에 의한 성능 저하를 복구하는 저장 장치의 동작 방법 및 이를 포함하는 데이터 처리 시스템의 동작 방법
US9886214B2 (en) 2015-12-11 2018-02-06 Ip Gem Group, Llc Nonvolatile memory system with erase suspend circuit and method for erase suspend management
US9892794B2 (en) 2016-01-04 2018-02-13 Ip Gem Group, Llc Method and apparatus with program suspend using test mode
US9899092B2 (en) 2016-01-27 2018-02-20 Ip Gem Group, Llc Nonvolatile memory system with program step manager and method for program step management
US10042587B1 (en) 2016-03-15 2018-08-07 Adesto Technologies Corporation Automatic resumption of suspended write operation upon completion of higher priority write operation in a memory device
US9823854B2 (en) * 2016-03-18 2017-11-21 Qualcomm Incorporated Priority-based access of compressed memory lines in memory in a processor-based system
US10289596B2 (en) 2016-06-07 2019-05-14 Macronix International Co., Ltd. Memory and method for operating a memory with interruptible command sequence
US10474389B2 (en) 2016-07-05 2019-11-12 Hewlett Packard Enterprise Development Lp Write tracking for memories
US10283215B2 (en) 2016-07-28 2019-05-07 Ip Gem Group, Llc Nonvolatile memory system with background reference positioning and local reference positioning
US10291263B2 (en) 2016-07-28 2019-05-14 Ip Gem Group, Llc Auto-learning log likelihood ratio
US10236915B2 (en) 2016-07-29 2019-03-19 Microsemi Solutions (U.S.), Inc. Variable T BCH encoding
US10261876B2 (en) * 2016-11-08 2019-04-16 Micron Technology, Inc. Memory management
KR102639697B1 (ko) * 2017-01-09 2024-02-21 삼성전자주식회사 비휘발성 메모리 장치 및 그 프로그램 방법
KR20180093648A (ko) * 2017-02-14 2018-08-22 에스케이하이닉스 주식회사 저장 장치 및 그 동작 방법
US10388379B2 (en) * 2017-03-21 2019-08-20 Micron Technology, Inc. Apparatuses and methods for automated dynamic word line start voltage
JP2019029045A (ja) * 2017-07-26 2019-02-21 東芝メモリ株式会社 半導体記憶装置
KR102631353B1 (ko) * 2017-08-17 2024-01-31 삼성전자주식회사 비휘발성 메모리 장치 및 이의 동작 방법
KR102447465B1 (ko) 2017-09-08 2022-09-27 삼성전자주식회사 호스트로부터의 읽기 요청에 대한 짧은 읽기 응답 시간을 제공하기 위해 내부 동작을 일시적으로 중단하는 스토리지 장치
JP2019053795A (ja) 2017-09-13 2019-04-04 東芝メモリ株式会社 メモリシステム
JP2019057342A (ja) 2017-09-20 2019-04-11 東芝メモリ株式会社 半導体記憶装置
KR102430983B1 (ko) * 2017-09-22 2022-08-09 삼성전자주식회사 스토리지 장치 및 그 동작 방법
US20190243720A1 (en) * 2018-02-08 2019-08-08 Micron Technology, Inc. Backup operations from volatile to non-volatile memory
US10475492B1 (en) 2018-07-27 2019-11-12 Macronix International Co., Ltd. Circuit and method for read latency control
TWI684860B (zh) * 2018-10-15 2020-02-11 慧榮科技股份有限公司 用來進行讀取加速之方法以及資料儲存裝置及其控制器
US10929056B2 (en) * 2018-12-28 2021-02-23 Micron Technology, Inc. Interruption of program operations at a memory sub-system
US11004534B2 (en) * 2019-08-06 2021-05-11 Micron Technology, Inc. Preemptive read refresh in memories with time-varying error rates
US11237731B2 (en) * 2019-10-24 2022-02-01 Micron Technology, Inc. Quality of service for memory devices using suspend and resume of program and erase operations
US11086804B2 (en) 2019-12-09 2021-08-10 Western Digital Technologies, Inc. Storage system and method for reducing read-retry duration
US11137936B2 (en) 2020-01-21 2021-10-05 Google Llc Data processing on memory controller
US11366760B2 (en) * 2020-03-12 2022-06-21 Micron Technology, Inc. Memory access collision management on a shared wordline
US11456039B2 (en) * 2020-11-24 2022-09-27 Micron Technology, Inc. Resumption of program or erase operations in memory
US20240053894A1 (en) * 2022-08-09 2024-02-15 Micron Technology, Inc. Suspending operations of a memory system
US20240126477A1 (en) * 2022-10-18 2024-04-18 Micron Technology, Inc. Read data alignment

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8027194B2 (en) * 1988-06-13 2011-09-27 Samsung Electronics Co., Ltd. Memory system and method of accessing a semiconductor memory device
GB2317721B (en) * 1996-09-30 2001-09-12 Nokia Mobile Phones Ltd Memory device
JP2002358492A (ja) * 2001-05-31 2002-12-13 Dainippon Printing Co Ltd Icカード及びその擬似並列処理プログラム
US7136973B2 (en) * 2004-02-04 2006-11-14 Sandisk Corporation Dual media storage device
US7409489B2 (en) * 2005-08-03 2008-08-05 Sandisk Corporation Scheduling of reclaim operations in non-volatile memory
KR20070089460A (ko) * 2006-02-28 2007-08-31 삼성전자주식회사 우선 순위에 따른 비휘발성 메모리의 연산 처리 장치 및방법
US7562180B2 (en) * 2006-03-28 2009-07-14 Nokia Corporation Method and device for reduced read latency of non-volatile memory
JP2008117505A (ja) * 2006-11-03 2008-05-22 Spansion Llc 半導体装置およびその制御方法
KR100843136B1 (ko) * 2006-11-14 2008-07-02 삼성전자주식회사 비휘발성 메모리에서 연산 처리를 제어하는 장치 및 그방법
US8504784B2 (en) * 2007-06-27 2013-08-06 Sandisk Technologies Inc. Scheduling methods of phased garbage collection and housekeeping operations in a flash memory system
US8122180B2 (en) * 2008-02-13 2012-02-21 Sandisk Technologies Inc. Methods and systems for reconfiguring data memory of embedded controller managed flash memory devices
US8850103B2 (en) * 2009-08-28 2014-09-30 Microsoft Corporation Interruptible NAND flash memory
US8429374B2 (en) * 2010-01-28 2013-04-23 Sony Corporation System and method for read-while-write with NAND memory device

Also Published As

Publication number Publication date
CN102598141A (zh) 2012-07-18
US20120179860A1 (en) 2012-07-12
WO2010143209A1 (en) 2010-12-16
JP2012529692A (ja) 2012-11-22
KR20140059102A (ko) 2014-05-15
TW201104439A (en) 2011-02-01

Similar Documents

Publication Publication Date Title
DE112009004900T5 (de) Vertagen von Speicheroperationen zum Reduzieren von Leselatenz in Speicherfeldern
DE102009037984B4 (de) Speichereinheit für eine hierarchische Speicherarchitektur
DE102010019487B4 (de) Speichervorrichtung, Datenverarbeitungsvorrichtung und Verfahren
DE112011106078B4 (de) Verfahren, Vorrichtung und System zur Implementierung eines mehrstufigen Arbeitsspeichers mit Direktzugriff
DE102015012566A1 (de) Mehrlagenkonzept für logische speicherungsverwaltung
DE102018113447A1 (de) Speichervorrichtung zum Koppeln mit einem Host und Verfahren zum Betreiben des Hosts und der Speichervorrichtung
DE112011105984T5 (de) Dynamische teilweise Abschaltung eines arbeitsspeicherseitigen Zwischenspeichers in einer Arbeitsspeicherhierarchie auf zwei Ebenen
DE102018214013A1 (de) Automatische kontinuierliche Prüfpunktsetzung
DE112017001020T5 (de) Unterstützung einer vielzahl von speichertypen in einem speichersteckplatz
DE112017003334T5 (de) Lastreduzierte nichtflüchtige speicherschnittstelle
DE112011106060T5 (de) Verfahren und Vorrichtung zum Verteilen von Code- und Datenspeicherungen zwischen flüchtigem und nichtflüchtigem Speicher
DE112017001471T5 (de) Mehrebenen-speichermanagement
DE102007031269A1 (de) Verfahren zum Zugreifen auf Steuerregister über eine Speichervorrichtung
DE102014003668A1 (de) Befehle zum markieren des anfangs und endes eines nicht- transaktionsorientierten codegebiets, das ein zurückschreiben zu einer persistenten ablage erfordert
DE102019124450A1 (de) Bandbreitenbegrenzung in solid-state-laufwerken
DE102011054333A1 (de) Verfahren zum Laden von Hilfsspannungsversorgungsleitungen in Datenspeichervorrichtungen und damit in Beziehung stehenden Vorrichtungen
DE102013110085A1 (de) Host zum Steuern einer nicht-flüchtigen Speicherkarte, System mit demselben sowie Verfahren zum Betreiben des Hosts und des Systems
DE102008036822A1 (de) Verfahren zum Speichern von Daten in einem Solid-State-Speicher, Solid-State-Speichersystem und Computersystem
DE102005013683A1 (de) Speicherkarte und zugehöriges Betriebsverfahren
DE102006029287A1 (de) DRAM-Chipbaustein kommunizierend mit Flash-Speicherchip und einen solchen Baustein umfassender Mehrchip-Verbund
DE102019106126A1 (de) Massenspeicherungsvorrichtung mit vom Host eingeleiteter Pufferausräumung
DE102021115626A1 (de) Datenaggregation in zns-laufwerk
DE102007031265A1 (de) System und Verfahren zum Ausgeben von Befehlen
DE112020004958T5 (de) Dynamische zonenaktivgrenze für offenen zns
DE102019120573A1 (de) Technologien zur rechnerischen speicherung über ablade-kernel-erweiterungen

Legal Events

Date Code Title Description
R082 Change of representative

Representative=s name: BARDEHLE PAGENBERG PARTNERSCHAFT PATENTANWAELT, DE

Representative=s name: BARDEHLE PAGENBERG PARTNERSCHAFT MBB PATENTANW, DE

Representative=s name: PATENT- UND RECHTSANWAELTE BARDEHLE PAGENBERG, DE

R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee

Effective date: 20130101