-
HINTERGRUND
-
Halbleiterspeichervorrichtungen, einschließlich Flash-Speicher, und Steuerungen davon verwenden in der Regel Speicherzellen, um Daten als einen elektrischen Wert zu speichern, wie eine elektrische Ladung oder Spannung. Eine Speicherzelle schließt beispielsweise einen einzelnen Transistor mit einem Floating-Gate ein, der verwendet wird, um eine Ladung zu speichern, die einen Datenwert darstellt. Ein Speicher ist eine nichtflüchtige Datenspeichervorrichtung, die elektrisch gelöscht und neu programmiert werden kann. Genauer gesagt behalten nichtflüchtige Speicher (z. B. Flash-Speicher sowie andere Arten von nichtflüchtigen Speichern, die unter Verwendung jeder beliebigen von einer Vielzahl von Technologien implementiert werden) gespeicherte Informationen auch ohne Strom, im Gegensatz zu flüchtigen Speichern, die Strom benötigen, um die gespeicherten Informationen zu erhalten.
-
Die Halbleiterspeichervorrichtungen können so eingerichtet werden, dass sie einen oder mehrere Chips einschließen. Jeder Chip kann in einer oder mehreren Ebenen organisiert sein. Jede Ebene kann ein zweidimensionales Gitter sein, das aus Zeilen (Bitleitungen) und Spalten (Wortleitungen) besteht, die mit den Speicherzellen verbunden sind. Die einzelnen Zeilen, die das Gitter bilden, können als eine Seite bezeichnet werden. Allgemeine Seitengrößen können 2K, 4K, 8K oder 16K einschließen.
-
Die Halbleiterspeichervorrichtungen können eingerichtet werden zum Durchführen eines zufälligen 4K-Lesevorgangs, bei dem jede Ebene mit einer anderen zufälligen Seite erfasst (z. B. gelesen) wird. In dieser Konfiguration kann jede Ebene für einen unabhängigen Chip stehen, wodurch die Systemparallelität für Ebenenlesevorgänge erhöht wird.
-
Es können einige Einschränkungen für die Halbleitervorrichtung existieren, um unabhängige Ebenenlesevorgänge durchzuführen. Während beispielsweise zwei Ebenen gleichzeitig erfassen, kann es Interferenzen zwischen den zwei Ebenen geben, was eine hohe Bitfehlerrate (BER) oder eine unerwünschte Spitze der Spitzenleistung verursachen kann. Die Erhöhung der BER kann möglicherweise die Nutzung von asynchronen unabhängigen Ebenenlesevorgängen (alPR) für das System begrenzen (z. B. Leseausnahmebehandlung, Leseschwellenkalibrierung) oder den Druck auf die Speichervorrichtungsingenieure erhöhen, die Anforderungen der System-BER zu erfüllen. Die Spitze der Spitzenleistung kann eine unerwünschte Erhöhung der Systemlast verursachen, was erfordert, dass das System die Anzahl der parallel arbeitenden Chips begrenzt, um bestimmte Leistungsanforderungen sicherzustellen. Um diese Probleme anzugehen, kann die Halbleitervorrichtung eingerichtet werden zum Durchführen synchroner unabhängiger Ebenenlesevorgänge, wobei jede Ebene individuell gelesen und basierend auf einem gemeinsamen Taktsignal synchronisiert wird. Jedoch kann die Halbleitervorrichtung unter reduzierten Leistungsgeschwindigkeiten leiden, da jede Ebene eine festgelegte vorbestimmte Zeitspanne warten muss, bis eine vorhergehende Ebene eine Erfassungsoperation vollständig beendet, bevor eine neue Erfassungsoperation durchgeführt wird. Daher besteht Bedarf an verbesserten Halbleitervorrichtungen und Steuerungen für die Halbleitervorrichtungen, die für unabhängige Ebenenlesevorgänge mit verbesserten Leistungsgeschwindigkeiten eingerichtet sind, bei gleichzeitigem Begrenzen der Bitfehlerrate und Verwalten von Spitzenleistung und Durchschnittsleistung.
-
KU RZDARSTELLU NG
-
Ohne den Schutzumfang der beiliegenden Ansprüche einzuschränken, wird nach Betrachtung dieser Offenbarung und insbesondere nach Betrachtung des Abschnitts mit dem Titel „Detaillierte Beschreibung“ ersichtlich, wie die Gesichtspunkte verschiedener Ausführungsformen implementiert und verwendet werden, um unabhängige Ebenenlesevorgänge mit verbesserten Leistungsgeschwindigkeiten durchzuführen, bei gleichzeitigem Begrenzen der Bitfehlerrate und Spitzen in der Spitzenleistung und Durchschnittsleistung.
-
In einer Ausführungsform gibt es ein Verfahren zum Implementieren unabhängiger Ebenenlesevorgänge auf einer Speichervorrichtung mit einer Vielzahl von Speicherebenen zum Speichern von Daten und einer Speichersteuerung zum Durchführen von Operationen auf den Speicherebenen, wobei das Verfahren aufweist: auf der Speichersteuerung: Empfangen einer Anforderung zum Durchführen einer ersten Operation auf einer ersten Ebene; Bestimmen, für eine zweite Ebene, ob ein Zeitgeber der zweiten Ebene mit einer jeweiligen vorbestimmten Zeitspanne seit Start einer zweiten Operation, die auf der zweiten Ebene durchgeführt wird, die von der ersten Ebene getrennt und verschieden ist, verstrichen ist; als Reaktion auf eine Bestimmung, dass die jeweilige vorbestimmte Zeitspanne für den Zeitgeber der zweiten Ebene nicht verstrichen ist, Verzögern des Durchführens der ersten Operation auf der ersten Ebene, bis die jeweilige vorbestimmte Zeitspanne, die mit dem Start der zweiten Operation in Verbindung steht, die auf der zweiten Ebene durchgeführt wird, verstrichen ist, und nach Verzögern der Durchführung, Durchführen der ersten Operation auf der ersten Ebene, während die zweite Operation weiter auf der zweiten Ebene durchgeführt wird; und als Reaktion auf eine Bestimmung, dass die jeweilige vorbestimmte Zeitspanne für den Zeitgeber der zweiten Ebene verstrichen ist, Durchführen der ersten Operation auf der ersten Ebene.
-
In einigen Ausführungsformen ist die erste und/oder zweite Operation eine Erfassungsoperation.
-
In einigen Ausführungsformen basiert die jeweilige vorbestimmte Zeitspanne für den Zeitgeber der zweiten Ebene auf den jeweiligen Eigenschaften des Speichers und/oder der Erfassungsoperation.
-
In einigen Ausführungsformen ist die jeweilige Eigenschaft mindestens eine von: Speichereigenschaften, Seitenkombinationseigenschaften und Erfassungsoperationseigenschaften der jeweiligen Ebene.
-
In einigen Ausführungsformen, das Verfahren weiterhin aufweisend: auf der Speichersteuerung: als Reaktion auf den Start der Durchführung der ersten Operation auf der ersten Ebene, Starten eines Zeitgebers der ersten Ebene einschließlich einer jeweiligen vorbestimmten Zeitspanne, um die erste Operation auf der ersten Ebene durchzuführen, wobei es sich um die erste Erfassungsoperation handelt.
-
In einigen Ausführungsformen, das Verfahren weiterhin aufweisend: auf der Speichersteuerung: als Reaktion auf den Abschluss des Durchführens der ersten Operation auf der ersten Ebene, Zurücksetzen der Zeit der ersten Ebene.
-
In einigen Ausführungsformen basiert die jeweilige vorbestimmte Zeitspanne für den Zeitgeber der ersten Ebene auf einer jeweiligen Eigenschaft der ersten Operation, die auf der ersten Ebene durchgeführt wird.
-
In einigen Ausführungsformen ist die jeweilige vorbestimmte Zeitspanne für den Zeitgeber der ersten Ebene verschieden von der jeweiligen vorbestimmten Zeitspanne für den Zeitgeber der zweiten Ebene.
-
In einigen Ausführungsformen sind die erste Ebene und die zweite Ebene mit einer gleichen Stromquelle verbunden.
-
In einigen Ausführungsformen sind die erste Ebene und die zweite Ebene auf einem gleichen Chip angeordnet.
-
In einigen Ausführungsformen gibt es ein Datenspeichersystem zum Implementieren unabhängiger Ebenenlesevorgänge, wobei das Datenspeichersystem aufweist: eine Speichervorrichtung mit einer Vielzahl von Speicherebenen zum Speichern von Daten; und eine Speichersteuerung zum Durchführen von Operationen auf den Speicherebenen, wobei die Speichersteuerung eingerichtet ist zum Durchführen der Schritte von: Empfangen einer Anforderung zum Durchführen einer ersten Operation auf einer ersten Ebene; Bestimmen, für eine zweite Ebene, ob ein Zeitgeber der zweiten Ebene mit einer jeweiligen vorbestimmten Zeitspanne seit Start einer zweiten Operation, die auf der zweiten Ebene durchgeführt wird, die von der ersten Ebene getrennt und verschieden ist, verstrichen ist; als Reaktion auf eine Bestimmung, dass die jeweilige vorbestimmte Zeitspanne für den Zeitgeber der zweiten Ebene nicht verstrichen ist: Verzögern des Durchführens der ersten Operation auf der ersten Ebene, bis die jeweilige vorbestimmte Zeitspanne, die mit dem Start der zweiten Operation in Verbindung steht, die auf der zweiten Ebene durchgeführt wird, verstrichen ist, und nach Verzögern der Durchführung, Durchführen der ersten Operation auf der ersten Ebene, während die zweite Operation weiter auf der zweiten Ebene durchgeführt wird; und als Reaktion auf eine Bestimmung, dass die jeweilige vorbestimmte Zeitspanne für den Zeitgeber der zweiten Ebene verstrichen ist, Durchführen der ersten Operation auf der ersten Ebene.
-
In einigen Ausführungsformen ist die erste Operation eine Erfassungsoperation.
-
In einigen Ausführungsformen basiert die jeweilige vorbestimmte Zeitspanne für den Zeitgeber der zweiten Ebene auf einer jeweiligen Eigenschaft der zweiten Operation, die auf der zweiten Ebene durchgeführt wird.
-
In einigen Ausführungsformen ist die jeweilige Eigenschaft der zweiten Operation mindestens eine von: Speichereigenschaften, Seitenkombinationseigenschaften und Erfassungsoperationseigenschaften der jeweiligen Ebene.
-
In einigen Ausführungsformen ist die Speichersteuerung ferner eingerichtet zum Durchführen des Schrittes von: als Reaktion auf den Start der Durchführung der ersten Operation auf der ersten Ebene, Starten eines Zeitgebers der ersten Ebene mit einer jeweiligen vorbestimmten Zeitspanne, um die erste Operation auf der ersten Ebene durchzuführen, wobei es sich um die erste Erfassungsoperation handelt.
-
In einigen Ausführungsformen ist die Speichersteuerung ferner eingerichtet zum Durchführen des Schrittes von: als Reaktion auf den Abschluss des Durchführens der ersten Operation auf der ersten Ebene, Zurücksetzen der Zeit der ersten Ebene.
-
In einigen Ausführungsformen basiert die jeweilige vorbestimmte Zeitspanne für den Zeitgeber der ersten Ebene auf einer jeweiligen Eigenschaft der ersten Operation, die auf der ersten Ebene durchgeführt wird.
-
In einigen Ausführungsformen ist die jeweilige vorbestimmte Zeitspanne für den Zeitgeber der ersten Ebene verschieden von der jeweiligen vorbestimmten Zeitspanne für den Zeitgeber der zweiten Ebene.
-
In einigen Ausführungsformen sind die erste Ebene und die zweite Ebene mit einer gleichen Stromquelle verbunden.
-
In einigen Ausführungsformen sind die erste Ebene und die zweite Ebene auf einem gleichen Chip angeordnet.
-
In einer Ausführungsform gibt es ein Verfahren zum Berechnen eines Zeitgebers auf einer Speichervorrichtung einschließlich einer Vielzahl von Speicherabschnitten zum Speichern von Daten und einer Speichersteuerung zum Durchführen von Operationen auf den Speicherabschnitten. Das Verfahren kann das Empfangen einer Anforderung zum Durchführen einer Anfangsoperation auf einem Speicherabschnitt einschließen. Das Verfahren kann das Bestimmen einer Betriebseigenschaft in Verbindung mit der Anfangsoperation einschließen, die auf dem Speicherabschnitt durchgeführt werden soll. Das Verfahren kann das Berechnen einer Zeitspanne für einen Zeitgeber eines Speicherabschnitts basierend auf den Betriebseigenschaften vor dem Start der Anfangsoperation auf dem Speicherabschnitt einschließen, wobei die Durchführung einer nachfolgenden Operation für einen anderen Speicherabschnitt verzögert wird, bis die Zeitspanne für den Zeitgeber des Speicherabschnitts seit Start der Operation auf dem Speicherabschnitt verstrichen ist.
-
In einigen Ausführungsformen schließt die Betriebseigenschaft mindestens eine ein von: einer Speichereigenschaft, einer Seitenkombinationseigenschaft und einer Erfassungseigenschaft.
-
In einigen Ausführungsformen ist die Betriebseigenschaft eine Speichereigenschaft, die mindestens eines einschließt von: Programmierungs-/Löschzyklus, Datenaufbewahrung, Cross-Temperature, Systemtemperatur und Read-Disturb.
-
In einigen Ausführungsformen ist die Betriebseigenschaft eine Seitenkombinationseigenschaft, die mindestens eine einschließt von: einer Single-Level-Cell-Seite, einer unteren Multi-Level-Cell-Seite (MLC-Seite), einer mittleren MLC-Seite und einer oberen MLC-Seite.
-
In einigen Ausführungsformen ist die Betriebseigenschaft eine Erfassungseigenschaft, die mindestens eines einschließt von: erster Lesevorgang, normaler Lesevorgang, Vreak Spike und Data Look-Ahead.
-
In einigen Ausführungsformen überlappt ein erster Zeitraum für die Durchführung der Anfangsoperation auf dem Speicherabschnitt mit einem zweiten Zeitraum für die Durchführung einer nachfolgenden Operation für einen anderen Speicherabschnitt.
-
In einigen Ausführungsformen ist der Speicherabschnitt mindestens eines von: einer Ebene, einem Chip, einem Block, einer Seite.
-
In einer Ausführungsform gibt es eine Speichersteuerung zum Durchführen von Operationen auf einem oder mehreren Speicherabschnitten zum Speichern von Daten, wobei die Speichersteuerung eingerichtet ist zum Durchführen der Operationen: empfangen einer Anforderung zum Durchführen einer ersten Operation auf einem ersten Speicherabschnitt; Bestimmen, für einen zweiten Speicherabschnitt, ob ein Zeitgeber eines zweiten Speicherabschnitts mit einer jeweiligen Zeitspanne seit dem Start einer zweiten Operation, die auf dem zweiten Speicherabschnitt durchgeführt wird, der von dem ersten Speicherabschnitt getrennt und verschieden ist, verstrichen ist; als Reaktion auf eine Bestimmung, dass die jeweilige Zeitspanne für den Zeitgeber des zweiten Speicherabschnitts nicht verstrichen ist: Verzögern des Durchführens der ersten Operation auf dem ersten Speicherabschnitt, bis die jeweilige Zeitspanne, die mit dem Start der zweiten Operation in Verbindung steht, die auf dem zweiten Speicherabschnitt durchgeführt wird, verstrichen ist, und nach Verzögern der Durchführung, Durchführen der ersten Operation auf dem ersten Speicherabschnitt, während die zweite Operation weiter auf dem zweiten Speicherabschnitt durchgeführt wird; und als Reaktion auf eine Bestimmung, dass die jeweilige Zeitspanne für den Zeitgeber des zweiten Speicherabschnitts verstrichen ist, Durchführen der ersten Operation auf dem ersten Speicherabschnitt.
-
In einigen Ausführungsformen ist die Speichersteuerung ferner eingerichtet zum Durchführen der Operation von: vor dem Durchführen der zweiten Operation auf dem zweiten Speicherabschnitt: Bestimmen einer jeweiligen Betriebseigenschaft der zweiten Operation, die auf dem zweiten Speicherabschnitt durchgeführt werden soll; und Berechnen der jeweiligen Zeitspanne für den Zeitgeber des zweiten Speicherabschnitts basierend auf der jeweiligen Betriebseigenschaft der zweiten Operation, die auf dem zweiten Speicherabschnitt durchgeführt werden soll.
-
In einigen Ausführungsformen ist die jeweilige Betriebseigenschaft der zweiten Operation mindestens eine von: Speichereigenschaften, Seitenkombinationseigenschaften und Erfassungsoperationseigenschaften des jeweiligen Speicherabschnitts.
-
In einigen Ausführungsformen ist die Speichersteuerung ferner eingerichtet zum Durchführen der Operation von: als Reaktion auf den Start der Durchführung der ersten Operation auf dem ersten Speicherabschnitt, Starten eines Zeitgebers des ersten Speicherabschnitts einschließlich einer jeweiligen Zeitspanne, um die erste Operation auf dem ersten Speicherabschnitt durchzuführen.
-
In einigen Ausführungsformen sind der erste Speicherabschnitt und der zweite Speicherabschnitt mit einer gleichen Stromquelle verbunden.
-
In einigen Ausführungsformen ist der Speicherabschnitt mindestens eines von: einer Ebene, einem Chip, einem Block und einer Seite.
-
In einer Ausführungsform gibt es ein Datenspeichersystem zum Implementieren unabhängiger Ebenenlesevorgänge, wobei das Datenspeichersystem aufweist: eine Speichersteuerung zum Durchführen von Operationen auf einer oder mehreren Speicherebenen zum Speichern von Daten, wobei die Speichersteuerung eingerichtet ist zum Durchführen der Schritte von: Empfangen einer Anforderung zum Durchführen einer ersten Operation auf einer ersten Ebene; Bestimmen, für eine zweite Ebene, ob ein Zeitgeber der zweiten Ebene mit einer jeweiligen Zeitspanne seit Start der zweiten Operation, die auf der zweiten Ebene durchgeführt wird, die von der ersten Ebene getrennt und verschieden ist, verstrichen ist; als Reaktion auf eine Bestimmung, dass die jeweilige Zeitspanne für den Zeitgeber der zweiten Ebene nicht verstrichen ist: Verzögern des Durchführens der ersten Operation auf der ersten Ebene, bis die jeweilige Zeitspanne, die mit dem Start der zweiten Operation in Verbindung steht, die auf der zweiten Ebene durchgeführt wird, verstrichen ist, und nach Verzögern der Durchführung, Durchführen der ersten Operation auf der ersten Ebene, während die zweite Operation weiter auf der zweiten Ebene durchgeführt wird; und als Reaktion auf eine Bestimmung, dass die jeweilige Zeitspanne für den Zeitgeber der zweiten Ebene verstrichen ist, Durchführen der ersten Operation auf der ersten Ebene.
-
In einigen Ausführungsformen ist die Speichersteuerung ferner eingerichtet zum Durchführen der Operation von: vor dem Durchführen der zweiten Operation auf der zweiten Ebene: Bestimmen einer jeweiligen Betriebseigenschaft der zweiten Operation, die auf der zweiten Ebene durchgeführt werden soll; und Berechnen der jeweiligen Zeitspanne für den Zeitgeber der zweiten Ebene, basierend auf der jeweiligen Betriebseigenschaft der zweiten Operation, die auf der zweiten Ebene durchgeführt werden soll.
-
In einigen Ausführungsformen ist die jeweilige Betriebseigenschaft der zweiten Operation mindestens eine von: Speichereigenschaften, Seitenkombinationseigenschaften und Erfassungsoperationseigenschaften der jeweiligen Ebene.
-
In einigen Ausführungsformen ist die Betriebseigenschaft eine Speichereigenschaft, die mindestens eines einschließt von: Programmierungs-/Löschzyklus, Datenaufbewahrung, Cross-Temperature, Systemtemperatur und Read-Disturb.
-
In einigen Ausführungsformen ist die Speichersteuerung ferner eingerichtet zum Durchführen der Operation von: als Reaktion auf den Start der Durchführung der ersten Operation auf der ersten Ebene, Starten eines Zeitgebers der ersten Ebene einschließlich einer jeweiligen Zeitspanne, um die erste Operation auf der ersten Ebene durchzuführen.
-
In einigen Ausführungsformen sind die erste Ebene und die zweite Ebene mit einer gleichen Stromquelle verbunden.
-
In einigen Ausführungsformen ist der Speicherabschnitt mindestens eines von: einer Ebene, einem Chip, einem Block und einer Seite.
-
Figurenliste
-
Die vorstehende Kurzdarstellung sowie die folgende detaillierte Beschreibung der Ausführungsformen der offenbarten Erfindung werden besser verstanden, wenn sie in Verbindung mit den beigefügten Zeichnungen eines Ausführungsbeispiels betrachtet werden. Es versteht sich jedoch, dass die Erfindung nicht auf die gezeigten präzisen Anordnungen und Mittel beschränkt ist.
-
In den Zeichnungen:
- ist 1 ein Blockdiagramm, das eine Implementierung eines Datenspeichersystems gemäß einigen Ausführungsformen veranschaulicht;
- ist 2 ein Zeitdiagramm, das eine asynchrone Erfassungsoperation gemäß einem Ausführungsbeispiel der vorliegenden Erfindung veranschaulicht;
- ist 3 ein Zeitdiagramm, das eine asynchrone Erfassungsoperation gemäß einem Ausführungsbeispiel der vorliegenden Erfindung veranschaulicht;
- ist 4 ein Zeitdiagramm, das die Verzögerungsverwaltung eines asynchronen unabhängigen Ebenenlesevorgangs (alPR) durch Zeitgeber der Systemebenen gemäß einem Ausführungsbeispiel der vorliegenden Erfindung veranschaulicht;
- ist 5 ein Zeitdiagramm, das eine Erfassungsoperation einer ersten Ebene gemäß einem Ausführungsbeispiel der vorliegenden Erfindung veranschaulicht; und
- 6 ist ein Flussdiagramm, das eine alPR-Verzögerungsverwaltung gemäß einem Ausführungsbeispiel der vorliegenden Erfindung veranschaulicht.
-
DETAILLIERTE BESCHREIBUNG
-
Spannungsspitzen in der Spitzen-/Durchschnittsleistung und/oder eine erhöhte Bitfehlerrate (BER) beeinflussen die Zuverlässigkeit und Zweckmäßigkeit einer Speichervorrichtung negativ. Folglich sind Mechanismen wünschenswert, um unabhängige Ebenenlesevorgänge mit verbesserten Leistungsgeschwindigkeiten durchzuführen, bei gleichzeitigem Begrenzen der Bitfehlerrate und Spannungsspitzen in der Spitzenleistung oder Durchschnittsleistung.
-
Zahlreiche Details sind hierin beschrieben, um ein gründliches Verstehen der beispielhaften Ausführungsformen zu ermöglichen, die in den beigefügten Zeichnungen veranschaulicht sind. Allerdings können einige Ausführungsformen ohne zahlreiche spezifische Details praktiziert werden und der Schutzumfang der Ansprüche wird nur durch die Merkmale und Aspekte eingeschränkt, die in den Ansprüchen spezifisch genannt sind. Ferner wurden wohlbekannte Verfahren, Komponenten und Schaltungen nicht ausführlich beschrieben, um die klare Darstellung von sachdienlichen Aspekten der hier beschriebenen Ausführungsformen nicht unnötig zu beeinträchtigen.
-
Bezugnehmend auf 1 wird ein Blockdiagramm gezeigt, das eine Implementierung eines Datenspeichersystems 100 gemäß einigen Ausführungsformen veranschaulicht. Obgleich einige beispielhafte Merkmale veranschaulicht sind, wurden verschiedene andere Merkmale zum Zwecke der Kürze, und um nicht unnötig von den sachdienlichen Aspekten der hierin beschriebenen Ausführungsbeispielen abzulenken, nicht veranschaulicht. Zu diesem Zweck, als ein nicht begrenzendes Beispiel, schließt ein Datenspeichersystem 100 eine Speichervorrichtung 120 ein (hierin auch manchmal als eine Informationsspeichervorrichtung, eine Datenspeichervorrichtung, eine nichtflüchtige Speichervorrichtung oder eine Speichervorrichtung bezeichnet), die eine Speichersteuerung 124 und ein Speichermedium 130 einschließt, und in Verbindung mit einem Computersystem 110 (z. B. einem Hostsystem oder einem Hostcomputer) genutzt wird oder ein solches einschließt. In einigen Ausführungsformen ist das Speichermedium 130 eine einzelne Speichervorrichtung, während in anderen Ausführungsformen das Speichermedium 130 eine Vielzahl von Speichervorrichtungen einschließt. In einigen Ausführungsformen ist das Speichermedium 130 ein NAND-Speicher oder ein NOR-Speicher. In einigen Ausführungsformen schließt das Speichermedium 130 eine oder mehrere dreidimensionale (3D) Speichervorrichtungen ein. In einigen Ausführungsformen sind die Speicherzellen des Speichermediums 130 eingerichtet, um zwei, drei oder mehr Bits pro Speicherzelle zu speichern. Ferner ist in manchen Ausführungsformen die Speichersteuerung 124 eine Solid-State-Laufwerk-Steuerung (SSD-Steuerung). Andere Arten von Speichermedien können jedoch gemäß den Aspekten einer umfassenden Vielzahl von Ausführungsformen eingeschlossen werden (z. B. Phase Change Random-Access Memory (PCRAM), Resistive Random Access Memory (ReRAM), Spin-Transfer Torque Random-Access Memory (STT-RAM), Magnetoresistive Random-Access Memory (MRAM) usw.). In einigen Ausführungsformen schließt eine Speichervorrichtung einen oder mehrere Speicherchips, ein oder mehrere Speicherpakete, einen oder mehrere Speicherkanäle oder dergleichen ein. In einigen Ausführungsformen schließt das Datenspeichersystem 100 eine oder mehrere Speichervorrichtungen 120 ein.
-
Das Computersystem 110 ist mit der Speichersteuerung 124 über Datenverbindungen 101 gekoppelt. Jedoch schließt das Computersystem 110 in einigen Ausführungsformen die Speichersteuerung 124 oder einen Abschnitt der Speichersteuerung 124 als eine Komponente und/oder als ein Subsystem ein. Zum Beispiel werden in einigen Ausführungsformen einige oder alle der Funktionalitäten der Speichersteuerung 124 durch Software implementiert, die auf dem Computersystem 110 ausgeführt wird. Das Computersystem 110 kann jede beliebige geeignete Computervorrichtung sein, wie ein Computer, ein Laptop, ein Tablet, ein Netbook, ein Internetkiosk, ein persönlicher digitaler Assistent, ein Mobiltelefon, ein Smartphone, eine Spielekonsole, ein Computerserver oder eine beliebige andere Rechenvorrichtung. Das Computersystem 110 wird manchmal als ein Host, Hostsystem, Client, oder Clientsystem bezeichnet. In einigen Ausführungsformen ist das Computersystem 110 ein Serversystem, wie ein Serversystem in einem Datenzentrum. In einigen Ausführungsformen schließt das Computersystem 110 einen oder mehrere Prozessoren, eine oder mehrere Arten von Speicher, ein Display und/oder andere Benutzerschnittstellenkomponenten wie eine Tastatur, einen Touchscreen, eine Maus, ein Trackpad, eine digitale Kamera und/oder eine beliebige Anzahl von zusätzlichen E/A-Vorrichtungen ein, um Funktionalität zum Computersystem 110 hinzuzufügen. In einigen Ausführungsformen weist das Computersystem 110 kein Display und keine anderen Benutzerschnittstellenkomponenten auf.
-
Das Speichermedium 130 ist mit der Speichersteuerung 124 über Verbindungen 103 gekoppelt. Verbindungen 103 werden manchmal als Datenverbindungen bezeichnet, übertragen in der Regel jedoch zusätzlich zu Daten Befehle, und übertragen zusätzlich zu Datenwerten, die im Speichermedium 130 gespeichert werden und zusätzlich zu Datenwerten, die vom Speichermedium 130 gelesen werden, gegebenenfalls Metadaten, Fehlerkorrekturinformationen und/oder andere Informationen. In einigen Ausführungsformen sind die Speichersteuerung 124 und das Speichermedium 130 jedoch in derselben Vorrichtung (d. h. einer integrierten Vorrichtung) als Komponenten davon eingeschlossen. Ferner sind in einigen Ausführungsformen die Speichersteuerung 124 und das Speichermedium 130 in eine Hostvorrichtung (z. B. ein Computersystem 110) eingebettet, wie eine mobile Vorrichtung, ein Tablet, ein anderer Computer oder eine computergesteuerte Vorrichtung, und die hierin beschriebenen Verfahren werden zumindest teilweise durch die eingebettete Speichersteuerung durchgeführt. Das Speichermedium 130 kann eine beliebige Anzahl von (d. h. eine oder mehrere) Speichervorrichtungen 134-i einschließen, einschließlich, ohne Einschränkung, persistenter Speicher oder nichtflüchtiger Halbleiterspeichervorrichtungen, wie Flash-Speichervorrichtung(en). Zum Beispiel kann eine Speichervorrichtung bzw. können Speichervorrichtungen für Unternehmensspeicher eingerichtet sein, die für Anwendungen wie Cloud Computing, für Datenbankanwendungen, als primäre und/oder sekundäre Speicher oder zum Zwischenspeichern von gespeicherten (oder zu speichernden) Daten in sekundären Speichern, wie Festplattenlaufwerken, geeignet sind. Außerdem und/oder alternativ kann die Speichervorrichtung bzw. können die Speichervorrichtungen auch für Anwendungen mit relativ kleinerem Maßstab wie persönliche Laufwerke oder Festplattenersatz für PCs, Laptops und Tablets eingerichtet sein. In einigen Ausführungsformen ist jede Speichervorrichtung 134-i ein einzelner persistenter 3D-Speicher oder ein nichtflüchtiger Halbleiterspeicherchip, der mehrere Löschblöcke einschließt (z. B. Arrays 302, 3, manchmal einfach als „Blöcke“ bezeichnet), die die löschbaren Einheiten mit minimaler Größe in diesen Speichervorrichtungen sind. In einigen Ausführungsformen sind die Löschblöcke in einer jeweiligen Speichervorrichtung 134-i in zwei getrennten Ebenen angeordnet, genauer gesagt in n getrennten Ebenen, wobei n eine Ganzzahl größer als Eins ist. Zum Beispiel schließt in einigen Ausführungsformen jede Ebene der jeweiligen Speichervorrichtung 134-i N Blöcke ein, wobei N eine Ganzzahl größer als 1 ist, und in der Regel größer als 15, 63 oder 99 ist.
-
Speichervorrichtungen 134-i des Speichermediums 130 schließen adressierbare und individuell auswählbare Blöcke ein, wie den auswählbaren Abschnitt 131 des Speichermediums 130 (hierin auch als ausgewählter Abschnitt 131 bezeichnet). In einigen Ausführungsformen sind die individuell auswählbaren Blöcke (manchmal Löschblöcke genannt) die löschbaren Einheiten mit minimaler Größe in einer Speichervorrichtung. Mit anderen Worten: jeder Block enthält die minimale Anzahl von Speicherzellen, die gleichzeitig gelöscht werden können. Jeder Block wird in der Regel weiter unterteilt in eine Vielzahl von Seiten und/oder Wortleitungen, wobei jede Seite oder Wortleitung in der Regel eine Instanz des kleinsten individuell zugänglichen (lesbaren) Abschnitts in einem Block ist. In einigen Ausführungsformen (z. B. unter Verwendung einiger Arten von Flash-Speichern) ist die kleinste individuell zugängliche Einheit eines Datensatzes jedoch ein Sektor, der eine Untereinheit einer Seite ist. Das heißt, ein Block schließt eine Vielzahl von Seiten ein, wobei jede Seite eine Vielzahl von Sektoren enthält, und jeder Sektor die minimale Dateneinheit zum Schreiben von Daten auf die Speichervorrichtung oder zum Lesen von Daten von der Speichervorrichtung ist.
-
In einigen Ausführungsformen schließt die Speichersteuerung 124 ein Verwaltungsmodul 121-1, eine Host-Schnittstelle 129, eine Speichermediumschnittstelle 128 und ein zusätzliches Modul bzw. zusätzliche Module 125 ein. Die Speichersteuerung 124 kann verschiedene zusätzliche Merkmale einschließen, die aus Gründen der Kürze, und damit nicht von sachdienlichen Merkmalen der hierin offenbarten Ausführungsbeispiele abgelenkt wird, nicht veranschaulicht wurden, und eine verschiedene Anordnung von Merkmalen kann möglich sein. Die Host-Schnittstelle 129 stellt eine Schnittstelle zu dem Computersystem 110 über Datenverbindungen 101 bereit. Die Host-Schnittstelle 129 schließt in der Regel einen Eingangspuffer und einen Ausgangspuffer ein, die nicht gezeigt werden. In ähnlicher Weise stellt die Speichermediumschnittstelle 128 eine Schnittstelle zu dem Speichermedium 130 über die Verbindungen 103 bereit. In einigen Ausführungsformen schließt die Speichermediumschnittstelle 128 Lese- und Schreibschaltungen ein, einschließlich Schaltungen, die in der Lage sind, Lesesignale an das Speichermedium 130 (z. B. Lesen von Schwellenspannungen für NAND-Speicher) bereitzustellen.
-
In einigen Ausführungsformen schließt das Verwaltungsmodul 121-1 eine oder mehrere Verarbeitungseinheiten 122-1 (hierin gelegentlich als CPUs, Prozessoren oder Hardware-Prozessoren bezeichnet und manchmal unter Verwendung von Mikroprozessoren, Mikrosteuerungen oder dergleichen implementiert), die eingerichtet sind zum Ausführen von Anweisungen in einem oder mehreren Programmen (z. B. im Verwaltungsmodul 121-1). In einigen Ausführungsformen teilen sich eine oder mehrere Komponenten eine oder mehrere CPUs 122-1 im Rahmen der Funktion der Speichersteuerung 124 und in einigen Fällen auch darüber hinausgehend. Das Verwaltungsmodul 121-1 ist mit der Host-Schnittstelle 129, einem zusätzlichen Modul bzw. zusätzlichen Modulen 125 und der Speichermediumschnittstelle 128 gekoppelt, um den Betrieb dieser Komponenten zu koordinieren. In einigen Ausführungsformen sind ein oder mehrere Module des Verwaltungsmoduls 121-1 im Verwaltungsmodul 121-2 des Computersystems 110 implementiert. In einigen Ausführungsformen sind ein oder mehrere Prozessoren des Computersystems 110 (nicht gezeigt) eingerichtet, um Anweisungen in einem oder mehreren Programmen (z. B. im Verwaltungsmodul 121-2) auszuführen. Das Verwaltungsmodul 121-2 ist mit der Speichervorrichtung 120 gekoppelt, um den Betrieb der Speichervorrichtung 120 zu verwalten.
-
In einigen Ausführungsformen schließt ein zusätzliches Modul bzw. schließen zusätzliche Module 125 ein Fehlerüberwachungsmodul ein, das bereitgestellt ist, um die Anzahl der nicht korrigierbaren Fehler zu begrenzen, die versehentlich bei Schreibvorgängen in den Speicher oder bei Lesevorgängen von dem Speicher in die Daten eingeführt werden. In einigen Ausführungsformen wird das Fehlerüberwachungsmodul in der Software durch einen oder mehrere CPUs 122-1 des Verwaltungsmoduls 121-1 ausgeführt, und in anderen Ausführungsformen wird das Fehlersteuerungsmodul vollständig oder teilweise mithilfe einer besonderen Schaltung implementiert, um Datenkodierungs- und Datendekodierungsfunktionen durchzuführen. Zu diesem Zweck schließt das Fehlerüberwachungsmodul in einigen Ausführungsformen einen Encoder und einen Decoder ein. Der Encoder kodiert Daten durch Anwenden eines Fehlerüberwachungscodes, um ein Codewort zu erzeugen, das nachfolgend in dem Speichermedium 130 gespeichert wird.
-
Wenn die kodierten Daten (z. B. ein oder mehrere Codewörter) aus dem Speichermedium 130 gelesen werden, wendet der Decoder einen Dekodierungsprozess auf die kodierten Daten an, um die Daten wiederherzustellen und die Fehler in den wiederhergestellten Daten innerhalb der Fehlerkorrekturfähigkeit des Fehlerüberwachungscodes zu korrigieren. Der Fachmann erkennt, dass verschiedene Fehlerüberwachungscodes unterschiedliche Fehlererfassungs- und Fehlerkorrekturfähigkeiten aufweisen und dass bestimmte Codes für verschiedene Anwendungen aus Gründen ausgewählt werden, die über den Schutzumfang dieser Offenbarung hinausgehen. Somit wird eine vollständige Übersicht über die verschiedenen Arten von Fehlerüberwachungscodes hierin nicht bereitgestellt. Darüber hinaus erkennt der Fachmann, dass jede Art oder Familie von Fehlerüberwachungscodes Kodierungs- und Dekodierungsalgorithmen aufweisen kann, die speziell für die Art oder die Familie des Fehlerüberwachungscodes gelten. Andererseits können einige Algorithmen zumindest bis zu einem gewissen Ausmaß für das Dekodieren einer Anzahl von verschiedenen Arten oder Familien von Fehlerüberwachungscodes verwendet werden. Somit wird zum Zwecke der Kürze eine ausführliche Beschreibung der verschiedenen Arten der Kodierungs- und Dekodierungsalgorithmen, die allgemein verfügbar und dem Fachmann bekannt sind, hierin nicht bereitgestellt.
-
Die Speichersteuerung 124 ist eingerichtet, um Erfassungsoperationen durchzuführen (z. B. Leseoperationen oder hierin auch als unabhängige Ebenenlesevorgänge (IPR) bezeichnet). Eine Leseoperation wird gestartet, wenn das Computersystem (Host) 110 einen oder mehrere Host-Lesebefehle (z. B. über Datenverbindungen 101) an die Speichersteuerung 124 sendet und Daten von einer oder mehreren Ebenen 134-i des Speichermediums 130 anfordert. Die Speichersteuerung 124 sendet ein oder mehrere Lesezugriffsbefehle an das Speichermedium 130 über die Speichermediumschnittstelle 128, um unverarbeitete Lesedaten gemäß Speicherorten (Adressen auf bestimmten Ebenen) zu erhalten, die durch die eine oder mehreren Host-Lesebefehle festgelegt werden. Die Speichermediumschnittstelle 128 liefert die unverarbeiteten Lesedaten (z. B. ein oder mehrere Codewörter aufweisend) an den Decoder. Wenn die Dekodierung erfolgreich ist, werden die dekodierten Daten an einen Ausgangspuffer geliefert, in dem die dekodierten Daten dem Computersystem 110 zur Verfügung gestellt werden. In einigen Ausführungsformen kann, wenn die Dekodierung nicht erfolgreich ist, die Speichersteuerung 120 auf eine Anzahl von Abhilfemaßnahmen zurückgreifen oder eine Anzeige eines unauflösbaren Fehlerzustands bereitstellen.
-
Das Speichermedium 130 kann eingerichtet werden, um Daten von einer oder mehreren Zellen auf einer oder mehreren Ebenen 134-i zu lesen. Zum Beispiel kann das Speichermedium 130 eine Erfassungsverstärkerschaltung einschließen, die mit einer Bitleitung eines Speicherarrays gekoppelt ist, das wiederum mit einer zugehörigen Speicherzelle einer Ebene 134-i gekoppelt ist. Während eines Abschnitts der Leseoperation kann elektrischer Strom durch die Speicherzelle übertragen werden, um eine Erfassungsoperation durch die Erfassungsverstärkerschaltung zum Lesen von Daten von der Speicherzelle zu ermöglichen. Beispielsweise kann die Erfassungsverstärkerschaltung so eingerichtet werden, dass sie die Strommenge erfasst, die durch die Bitleitung zu der Speicherzelle geleitet wird, um einen Zustand der Speicherzelle (z. B. On-Zelle oder Off-Zelle) zu identifizieren und wiederum ein Datenbit mit einem bestimmten Logikpegel (z. B. Logikpegel 0 oder ein Logikpegel 1) zu identifizieren, der auf der Speicherzelle gespeichert ist. Während der elektrische Strom durch eine Erfassungsoperation übertragen wird, wird auf der entsprechenden Ebene 134-i elektrisches Rauschen erzeugt. Dieses elektrische Rauschen kann andere Erfassungsoperationen auf anderen Ebenen beeinflussen. Implementierungen zur Minderung der Auswirkungen dieses elektrischen Rauschens auf andere Erfassungsoperationen auf anderen Ebenen werden nachfolgend näher beschrieben.
-
2 zeigt ein Zeitdiagramm 200, das asynchrone Erfassungsoperationen auf den jeweiligen Ebenen 134-0, 134-1 (in den Figuren auch jeweils als Ebenen PB0 und PB1 bezeichnet) des Speichermediums 130 veranschaulicht, die auf dem gleichen Chip angeordnet sind. Das Zeitdiagramm 200 schließt eine horizontale Achse ein, die die Zeit 210 darstellt. Die Erfassungsoperations-Zeiträume 211, 213 für die jeweiligen Ebenen PB0, PB1 werden gezeigt und stellen den Zeitraum vom Start der Erfassungsoperation bis zum Abschluss der Erfassungsoperation auf den jeweiligen Ebenen PB0, PB1 dar. Das Zeitdiagramm 200 schließt eine vertikale Achse 214, 216 ein, die einen belegten/nicht belegten Zustand für jede der jeweiligen Ebenen PB0, PB1 darstellt. Der Erfassungsoperations-Zeitraum 211 für die Ebene PB0 kann einen verrauschten Zeitraum 202 und empfindliche Zeiträume 204, 206 einschließen. Der Erfassungsoperations-Zeitraum 213 für die Ebene PB1 kann einen verrauschten Zeitraum 208 und empfindliche Zeiträume 210, 212 einschließen.
-
Während eines verrauschten Zeitraums können die Ebenen PB0, PB1 ein elektromagnetisches Signal erzeugen, das elektromagnetisches Rauschen über eine gemeinsame Stromquelle oder Stromleitung erzeugt, die die Ebenen PB0, PB1 verbindet, das die Operationen der anderen jeweiligen Ebene stören und eine Erhöhung der BER verursachen kann, wenn der verrauschte Zeitraum einer Ebene mit einem empfindlichen Zeitraum einer anderen Ebene überlappt. Zum Beispiel, wie in 2 gezeigt, kann die Ebene PB1 ein elektromagnetisches Signal während eines verrauschten Zeitraums 208 erzeugen, der mit dem empfindlichen Zeitraum 206 der Ebene PB0 überlappt. In Folge des verrauschten elektromagnetischen Signals, das während des empfindlichen Zeitraums 206 für die Ebene PB0 übertragen wird, würde sich die BER für die Ebene PB0 erhöhen und so eine unerwünschte Verringerung der Leistung des Datenspeichersystems 100 verursachen.
-
Das elektromagnetische Signal kann auch zu einer unerwünschten Spannungsspitze der Spitzenleistung oder Durchschnittsleistung führen, wenn das elektromagnetische Signal von der Ebene PB0 übertragen wird, während ein ähnliches elektromagnetisches Signal auch von einer getrennten Ebene, wie der Ebene PB1, übertragen wird. Dieses Szenario kann auftreten, wenn verrauschte Zeiträume überlappen, beispielsweise wenn der verrauschte Zeitraum 202 der Erfassungsoperation für die Ebene PB0 mit dem verrauschten Zeitraum 208 der Erfassungsoperation für die Ebene PB1 überlappt.
-
3 zeigt ein Zeitdiagramm 300, das einen synchronen IPR auf den jeweiligen Ebenen PB0, PB1 des Speichermediums 130 veranschaulicht. 3 ist im Wesentlichen ähnlich zu 2, mit der Ausnahme, dass die Erfassungsoperations-Zeiträume 211, 213 synchron sind. Synchroner Betrieb kann das Synchronisieren der IPRs basierend auf einem unabhängigen Taktzyklus einschließen, der im Wesentlichen konsistent ist über die Lebensdauer des Datenspeichersystems 100, ohne menschliches Eingreifen. In einigen Ausführungsformen sind die Erfassungsoperations-Zeiträume 211, 213 synchron, wenn die Erfassungsoperations-Zeiträume 211 und 213 basierend auf dem gleichen Taktzyklus der Reihe nach gestartet und abgeschlossen werden, so dass der Erfassungsoperations-Zeitraum 213 erst dann gestartet wird, wenn der Erfassungsoperations-Zeitraum 211 abgeschlossen ist. Wenn die Erfassungsoperations-Zeiträume synchron sind, überlappen die verrauschten Zeiträume 202, 208 nicht mit den empfindlichen Zeiträumen 204, 206, 210 und 212. Daher können die BER und Spannungsspitzen in der Spitzenleistung/Durchschnittsleistung minimiert werden. Jedoch kann, wie bereits hierin erwähnt, die Leistungsgeschwindigkeit für synchrone Erfassungsoperationen im Vergleich zum asynchronen Erfassen unerwünscht geringer sein.
-
4 zeigt ein Zeitdiagramm 400, das eine alPR-Verzögerungsverwaltung durch die Verwendung von Ebenenzeitgebern zum Verzögern und Versetzen der Erfassungsoperationen für die Ebenen PB0, PB1 veranschaulicht. 4 ist im Wesentlichen ähnlich zu den 2 bis 3, mit Ausnahme der Erfassungsoperations-Zeiträume 211, 213, die asynchron und versetzt sind, so dass es, während es eine Überlappung zwischen den Erfassungsoperations-Zeiträumen 211, 213, gibt, keine Überlappung zwischen den verrauschten Zeiträumen und den empfindlichen Zeiträumen für die zwei unterschiedlichen Ebenen PB0, PB1 gibt.
-
Um diese verbesserte asynchrone Funktionalität zu implementieren, kann die Speichersteuerung 124 in einigen Ausführungsformen Ebenenzeitgeber für jede Ebene PB0, PB1 einschließen. So kann beispielsweise die Speichersteuerung 124 in einigen Ausführungsformen als Reaktion auf das Empfangen einer Anforderung, eine Erfassungsoperation auf der Ebene PB0 durchzuführen, zusätzlich zum Starten einer entsprechenden Erfassungsoperation, einen Ebenenzeitgeber für die Ebene PB0 starten, der anzeigt, wann ein verrauschter Zeitraum 202 und/oder ein empfindlicher Zeitraum 204, 206 auftreten kann. In einigen Ausführungsformen kann zum Starten des Ebenenzeitgebers für PB0 die Speichersteuerung 124 eine Betriebseigenschaft (z. B. Speichereigenschaften, Seitenkombinationseigenschaften und Erfassungseigenschaften) in Verbindung mit der Anfangsoperation, die auf der Ebene PB0 durchgeführt werden soll, bestimmen. Die Speichersteuerung 124 kann dann eine Zeitspanne für den Ebenenzeitgeber basierend auf der Betriebseigenschaft berechnen.
-
Als Reaktion auf das Empfangen einer separaten Anforderung zum Durchführen einer Erfassungsoperation auf der Ebene PB1 kann die Speichersteuerung 124 bestimmen, ob eine weitere Erfassungsoperation bereits erfolgt. Dies kann durch eine Anzeige von dem Zeitgeber oder den Erfassungsverstärkern bestimmt werden. Wenn eine Erfassungsoperation bereits erfolgt, wie in diesem Beispiel beschrieben, kann die Speichersteuerung 124 die Erfassungsoperation für die Ebene PB1 verzögern, bis der Ebenenzeitgeber für die Ebene PB0 verstrichen ist. Nachdem der Zeitgeber für Ebene PB0 verstrichen ist, kann die Speichersteuerung 124 die Erfassungsoperation für Ebene PB1 starten. Infolge der asynchronen Verzögerung unter Verwendung von Ebenenzeitgebern kann der verrauschte Zeitraum 208 für die Ebene PB1 nach dem empfindlichen Zeitraum 206 auftreten, um Systemleistungsprobleme (z. B. BER) wie hierin beschrieben zu minimieren, während sie auch früher als in einer synchronen Operation auftreten.
-
Der Zeitraum für die Ebenenzeitgeber kann variabel sein und auf einer jeweiligen Betriebseigenschaft basieren von mindestens einer von: Speichereigenschaften, Seitenkombinationseigenschaften und Erfassungseigenschaften der jeweiligen Ebene. Beispiele der Speichereigenschaften können Programmierungs-/Löschzyklus, Datenaufbewahrung, Cross-Temperature, Systemtemperatur und Read-Disturb einschließen. Programmierungs-/Löschzyklus kann auf eine Sequenz von Ereignissen Bezug nehmen, in der Daten auf eine Speicherzelle geschrieben, dann gelöscht und erneut darauf geschrieben werden. Datenaufbewahrung kann auf eine oder mehrere Operationen Bezug nehmen, die zum Aufbewahren von Daten, die auf einem oder mehreren Speicherzellen gespeichert sind, durchgeführt werden. Cross-Temperature (d. h. X-temp) kann auf einen Temperaturbereich oder eine Temperaturschwankung zwischen der Programmierung von Daten auf einer Speicherzelle und dem Lesevorgang von Daten auf der Speicherzelle Bezug nehmen. Die Systemtemperatur kann auf eine Temperatur des Computersystems 110 während einer Erfassungsoperation Bezug nehmen. Read-Disturb kann auf die Änderung von Daten, die in einer Speicherzelle gespeichert sind, Bezug nehmen, als Ergebnis einer Leseoperation, die auf einer nahegelegenen Speicherzelle durchgeführt wird. Beispiele von Seitenkombinationseigenschaften können Single-Level-Cell-Seiten (SLC-Seiten) oder untere MLC-Seiten, mittlere MLC-Seiten und obere MLC-Seiten einschließen. Beispiele von Erfassungseigenschaften können einen ersten Lesevorgang, einen normalen Lesevorgang, einen Vreak Spike und einen Data Look-Ahead einschließen. Durch Variieren des Zeitraums für die Ebenenzeitgeber kann das Datenspeichersystem 100 unabhängige Erfassungsoperationen anpassen, um die Geschwindigkeit zu maximieren und gleichzeitig unerwünschte Überlappungen von verrauschten Zeiträumen und/oder empfindlichen Zeiträumen zwischen den jeweiligen Ebenen zu verringern.
-
5 zeigt ein Zeitdiagramm 500, das die Zeit für eine Erfassungsoperation auf der Ebene PB0 und die Zeit des entsprechenden Ebenenzeitgebers für die Ebene PB0 veranschaulicht. Die Darstellung der Erfassungsoperation auf der Ebene PB0 ist im Wesentlichen ähnlich zu der Darstellung der Erfassungsoperation auf der Ebene PB0 in den 2 bis 4. Wie in 5 gezeigt, kann die Ebene PB0 auch einen Zeitgeber 508 aufweisen. In einigen Ausführungsformen kann der Zeitgeber 508 ein Countdown-Zeitgeber sein. In einigen Ausführungsformen kann der Zeitgeber 508 eine Softwareimplementierung sein. In anderen Ausführungsformen kann der Zeitgeber 508 eine Hardwareimplementierung sein. In einer Ausführungsform kann der Zeitgeber 508 einen unbegrenzten Zeitgeberwert 512 und einen begrenzten Zeitgeberwert 514 aufweisen. Während der Zeitgeber 508 einen begrenzten Zeitgeberwert 514 aufweist, kann eine Erfassungsoperation auf einer anderen Ebene, wie Ebene PB1, verzögert werden, bis der Zeitgeber 508 zu dem unbegrenzten Zeitgeberwert 512 übergeht. Während der Zeitgeber 508 einen unbegrenzten Zeitgeberwert 512 aufweist, kann eine Erfassungsoperation auf der Ebene PB1 durchgeführt werden. Mit anderen Worten, vor dem Ausgeben einer Erfassung für eine Ebene, wie die Ebene PB1, kann der Zeitgeber 508 für die Ebene PB0 von der Speichersteuerung 124 überprüft werden, um zu bestimmen, ob die Erfassungsoperation verzögert oder die Erfassungsoperation durchgeführt werden soll.
-
6 veranschaulicht eine Flussdiagramm-Darstellung eines Verfahrens 600 für eine alPR-Verzögerungsverwaltung gemäß einigen Ausführungsformen. In einer Ausführungsform schließt das Verfahren 600 der alPR-Verzögerungsverwaltung ein Verfahren zum Implementieren unabhängiger Ebenenlesevorgänge auf einer Speichervorrichtung (z. B. Datenspeichersystem 110) ein, das eine Vielzahl von Speicherebenen zum Speichern von Daten und ein Steuerungssystem (z. B. Speichersteuerung 124) zum Durchführen von Operationen auf den Speicherebenen, Verbessern von Leistungsgeschwindigkeiten und Verringern der BER und Spannungsspitzen in der Spitzen-/Durchschnittsleistung einschließt. Dies wird nun detaillierter beschrieben.
-
In einigen Ausführungsformen schließt das Verfahren 600 auf dem Steuerungssystem das anfängliche Empfangen (602) einer Anforderung zum Starten einer ersten Operation auf einer ersten Ebene (z. B. 2 bis 4, Ebene (PB1)) ein. Zum Beispiel kann, wie in 6 gezeigt, eine Anforderung zum Starten einer alPR-Erfassungsoperation auf der Ebene PB1 empfangen werden. In einigen Ausführungsformen kann die erste Operation eine Erfassungsoperation sein, wie hierin beschrieben.
-
Das Verfahren 600 kann das Bestimmen (604) für eine zweite Ebene (z. B. 2 bis 4, zweite Ebene (PB1)) einschließen, ob ein Zeitgeber der zweiten Ebene mit einer jeweiligen vorbestimmten Zeitspanne seit Start einer zweiten Operation, die auf der zweiten Ebene durchgeführt wird, verstrichen ist. In einer Ausführungsform basiert die jeweilige vorbestimmte Zeitspanne für den Zeitgeber der zweiten Ebene auf einer jeweiligen Eigenschaft der zweiten Operation, die auf der zweiten Ebene durchgeführt wird, wie hierin erläutert.
-
Das Verfahren 600 kann als Reaktion auf eine Bestimmung, dass die jeweilige vorbestimmte Zeitspanne für den Zeitgeber der zweiten Ebene nicht verstrichen ist, das Durchführen der ersten Operation auf der ersten Ebene verzögern (606), bis die jeweilige vorbestimmte Zeitspanne, die mit dem Start der zweiten Operation in Verbindung steht, die auf der zweiten Ebene durchgeführt wird, verstrichen ist. Das Verfahren 600 kann als Reaktion auf das Verzögern des Durchführens der ersten Operation auf der ersten Ebene, bis die jeweilige vorbestimmte Zeitspanne, die mit dem Start der zweiten Operation in Verbindung steht, die auf der zweiten Ebene durchgeführt wird, verstrichen ist, oder als Reaktion auf eine Bestimmung, dass die jeweilige vorbestimmte Zeitspanne für den Zeitgeber der zweiten Ebene bereits verstrichen ist, das Durchführen (608) der ersten Operation auf der ersten Ebene, während die zweite Operation weiter auf der zweiten Ebene durchgeführt wird, einschließen. Als ein Beispiel für das Verzögern (606) und Durchführen (608) der Schritte, in der Anpassung von 2 bis 4 gezeigt, wird die Ebene PB1 vor dem Durchführen der Erfassungsoperation verzögert. Infolgedessen überlappt der verrauschte Zeitraum 208 der Ebene PB1 nicht mit dem empfindlichen Zeitraum 206 der Ebene PB0. Dies steht im Gegensatz zu 2, welche die unabhängige Ebenenlesevorgangs-Erfassungsoperation vor dem Implementieren des Verzögerns zeigt. In 2 überlappt der verrauschte Zeitraum 208 der Ebene PB1 mit dem empfindlichen Zeitraum 206 der Ebene PB0. Infolge des Vermeidens der Überlappung zwischen den verrauschten und empfindlichen Zeiträumen kann das Verfahren 600 die Leistungsgeschwindigkeiten verbessern und die BER und Spannungsspitzen in der Spitzen-/Durchschnittsleistung verringern.
-
Das Verfahren 600 kann, als Reaktion auf eine Bestimmung, dass die jeweilige vorbestimmte Zeitspanne für den Zeitgeber der zweiten Ebene verstrichen ist, das Starten (610) der Zeit für die erste Ebene für die erste Operation auf der ersten Ebene einschließen.
-
Das Verfahren 600 kann, wenn der Zeitgeber der ersten Ebene verstrichen ist, das Beenden (612) der ersten Operation auf der ersten Ebene einschließen.
-
In einigen Ausführungsformen kann das Verfahren 600 auf drei oder mehr Ebenen implementiert werden. In einigen Ausführungsformen kann das Verfahren 600 auf N Ebenen implementiert werden, wobei N eine Ganzzahl größer als Eins ist. In einigen Ausführungsformen kann das Verfahren 600 anstatt auf Ebenen implementiert zu werden, auf einem oder mehreren Blöcken, einer oder mehreren Seiten, einem oder mehreren Chips und/oder einer oder mehreren anderen Speichervorrichtungen oder Speicherabschnitten davon implementiert werden.
-
In einer Ausführungsform schließt das System einen oder mehrere Computer mit einem oder mehreren Prozessoren und Speicher (z. B. eine oder mehrere nichtflüchtige Speichervorrichtungen) ein. In einigen Ausführungsformen speichert der Speicher oder das computerlesbare Speichermedium des Speichers Programme, Module und Datenstrukturen oder eine Teilmenge davon, damit ein Prozessor die verschiedenen hierin offenbarten Systeme und Verfahren steuern und ausführen kann. In einer Ausführungsform, ein nichtflüchtiges, computerlesbares Speichermedium, auf dem computerausführbare Anweisungen gespeichert sind, die, wenn sie von einem Prozessor ausgeführt werden, eines oder mehrere der hierin offenbarten Verfahren durchführen.
-
Der Fachmann erkennt, dass an den vorstehend gezeigten und beschriebenen Ausführungsbeispielen Änderungen vorgenommen werden könnten, ohne von deren umfassenden erfinderischen Konzepten abzuweichen. Es versteht sich aus diesem Grund, dass diese Erfindung nicht auf die gezeigten und beschriebenen Ausführungsbeispiele beschränkt ist, sondern dass Modifikationen innerhalb des Geistes und Schutzumfangs der vorliegenden Erfindung, wie durch die Ansprüche definiert, abgedeckt sein sollen. So können beispielsweise spezifische Merkmale der Ausführungsbeispiele Teil der beanspruchten Erfindung sein oder nicht und verschiedene Merkmale der offenbarten Ausführungsformen kombiniert werden. Sofern hierin nicht ausdrücklich festgelegt, sind die Begriffe „ein/eine“ und „der/die/das“ nicht auf ein Element beschränkt, sondern sollten vielmehr mit der Bedeutung „mindestens ein“ gelesen werden.
-
Es ist zu verstehen, dass mindestens einige der Figuren und Beschreibungen der Erfindung vereinfacht wurden, um den Fokus auf Elemente zu lenken, die für ein klares Verständnis der Erfindung relevant sind, während zum Zwecke der Klarheit andere Elemente ausgelassen wurden, die, wie ein Durchschnittsfachmann erkennt, auch einen Teil der Erfindung aufweisen können. Da jedoch solche Elemente im Stand der Technik gut bekannt sind und da sie nicht notwendigerweise ein besseres Verständnis der Erfindung ermöglichen, wird eine Beschreibung solcher Elemente hierin nicht bereitgestellt.
-
Soweit sich die Verfahren der vorliegenden Erfindung nicht auf die hierin dargestellte besondere Reihenfolge der Schritte stützen, sollte die besondere Reihenfolge der Schritte ferner nicht als Beschränkung der Ansprüche ausgelegt werden. Alle Ansprüche, die sich auf die Verfahren der vorliegenden Erfindung beziehen, sollten nicht auf die Durchführung ihrer Schritte in der schriftlichen Reihenfolge beschränkt werden, und ein Fachmann kann leicht erkennen, dass die Schritte variiert werden können und dennoch im Geist und Schutzumfang der vorliegenden Erfindung bleiben.