DE102021005946A1 - Verwaltung der digital gesteuerten ladungspumpen-operation in einem speicher-untersystem - Google Patents

Verwaltung der digital gesteuerten ladungspumpen-operation in einem speicher-untersystem Download PDF

Info

Publication number
DE102021005946A1
DE102021005946A1 DE102021005946.8A DE102021005946A DE102021005946A1 DE 102021005946 A1 DE102021005946 A1 DE 102021005946A1 DE 102021005946 A DE102021005946 A DE 102021005946A DE 102021005946 A1 DE102021005946 A1 DE 102021005946A1
Authority
DE
Germany
Prior art keywords
voltage level
digitally controlled
charge pump
pump
wordline
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE102021005946.8A
Other languages
English (en)
Inventor
Michele Piccardi
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 DE102021005946A1 publication Critical patent/DE102021005946A1/de
Pending 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/30Power supply circuits
    • 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/08Address circuits; Decoders; Word-line control circuits
    • 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
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/26Sensing or reading circuits; Data output circuits
    • 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/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3404Convergence or correction of memory cell threshold voltages; Repair or recovery of overerased or overprogrammed cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/021Detection or location of defective auxiliary circuits, e.g. defective refresh counters in voltage or current generators
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/028Detection or location of defective auxiliary circuits, e.g. defective refresh counters with adaption or trimming of parameters
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C5/00Details of stores covered by group G11C11/00
    • G11C5/14Power supply arrangements, e.g. power down, chip selection or deselection, layout of wirings or power grids, or multiple supply levels
    • G11C5/145Applications of charge pumps; Boosted voltage circuits; Clamp circuits therefor
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C5/00Details of stores covered by group G11C11/00
    • G11C5/14Power supply arrangements, e.g. power down, chip selection or deselection, layout of wirings or power grids, or multiple supply levels
    • G11C5/147Voltage reference generators, voltage or current regulators; Internally lowered supply levels; Compensation for voltage drops
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • G11C16/0483Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series

Landscapes

  • Engineering & Computer Science (AREA)
  • Power Engineering (AREA)
  • Read Only Memory (AREA)

Abstract

für eine Ladungspumpe, die mit einer Wortleitung einer Speichervorrichtung eines Speicher-Untersystems verbunden ist, wird ein erster digital gesteuerter Pumpenspannungspegel festgelegt. Es erfolgt eine Bestimmung, ob ein gemessener digital gesteuerter Spannungspegel der Wortleitung und der erste digital gesteuerte Pumpenspannungspegel eine Bedingung erfüllen. Als Reaktion auf das Bestimmen, dass die Bedingung erfüllt ist, wird bewirkt, dass der erste digital gesteuerte Pumpenspannungspegel, der an die Ladungspumpe angelegt wird, auf einen zweiten digital gesteuerten Pumpenspannungspegel geändert wird.

Description

  • TECHNISCHES GEBIET
  • Ausführungsbeispiele der Erfindung beziehen sich allgemein auf Speicher-Untersysteme, und betrifft insbesondere die Verwaltung der digital gesteuerten Ladungspumpen-Operation in einem Speicher-Untersystem.
  • HINTERGRUND
  • Ein Speicher-Untersystem kann eine oder mehrere Speichervorrichtungen enthalten, die Daten speichern. Bei den Speichervorrichtungen kann es sich beispielsweise um nichtflüchtige Speichervorrichtungen und flüchtige Speichervorrichtungen handeln. Allgemein kann ein Host-System ein Speicher-Untersystem verwenden, um Daten in den Speichervorrichtungen zu speichern und um Daten aus den Speichervorrichtungen abzurufen.
  • Figurenliste
  • Die vorliegende Offenbarung wird anhand der nachstehenden detaillierten Beschreibung und der beigefügten Zeichnungen verschiedener Ausführungsbeispiele der Erfindung vollständiger verstanden werden.
    • 1 zeigt ein beispielhaftes Computersystem, das ein Speicher-Untersystem gemäß einigen Ausführungsbeispielen der vorliegenden Erfindung enthält.
    • 2 ist ein Blockdiagramm einer Speichervorrichtung in Kommunikation mit einem Speicher-Untersystem-Controller eines Speicher-Untersystems gemäß einem oder mehrerer Ausführungsbeispiele der vorliegenden Erfindung.
    • 3 ist ein Flussdiagramm eines beispielhaften Verfahrens zum Verwalten einer digital gesteuerten Ladungspumpenspannung, die mit dem Laden einer Wortleitung einer Speichervorrichtung eines Speicher-Untersystems in Beziehung steht, und zwar gemäß einem oder mehrerer Ausführungsbeispiele der vorliegenden Erfindung.
    • 4 zeigt eine beispielhafte Zeichnung mit einer Darstellung von digital gesteuerten Ladungspumpenspannungspegeln, die mit dem Laden von digital gesteuerten Wortleitungen und der entsprechenden Controller-Operation in Beziehung stehen, und zwar gemäß einem oder mehrerer Ausführungsbeispiele der vorliegenden Erfindung.
    • 5 ist ein Flussdiagramm eines beispielhaften Verfahrens zur Verwaltung digital gesteuerter Ladungspumpenspannungspegel und Phasenmodusübergänge einer Ladungspumpe gemäß einem oder mehrerer Ausführungsbeispiele der vorliegenden Erfindung.
    • 6 ist ein schematisches Diagramm einer beispielhaften Speichervorrichtung mit einer Ladungspumpen-Verwaltungskomponente gemäß einem oder mehrerer Ausführungsbeispiele der vorliegenden Erfindung.
    • 7 ist ein Blockdiagramm eines beispielhaften Computersystems, in dem Implementierungen der vorliegenden Erfindung arbeiten können.
  • DETAILLIERTE BESCHREIBUNG
  • Aspekte der vorliegenden Erfindung beziehen sich auf die Verwaltung der digital gesteuerten Ladungspumpen-Operation in einem Speicher-Untersystem. Ein Speicher-Untersystem kann eine Speichervorrichtung, ein Speichermodul oder ein Hybrid aus einer Speichervorrichtung und einem Speichermodul sein. Beispiele für Speichervorrichtungen und Speichermodule werden nachfolgend in Verbindung mit 1 beschrieben. Allgemein kann ein Host-System ein Speicher-Untersystem verwenden, das eine oder mehrere Komponenten enthält, wie zum Beispiel Speichervorrichtungen, die Daten speichern. Das Host-System kann Daten bereitstellen, die in dem Speicher-Untersystem gespeichert werden sollen, und kann Daten anfordern, die aus dem Speicher-Untersystem abgerufen werden sollen.
  • Ein Speicher-Untersystem kann nichtflüchtige Speichervorrichtungen mit hoher Dichte enthalten, bei denen die Daten erhalten bleiben sollen, wenn die Speichervorrichtung nicht mit Strom versorgt wird. Ein Beispiel für nichtflüchtige Speichervorrichtungen ist eine Negativ-Und-Speichervorrichtung (NAND-Speichervorrichtung). Weitere Beispiele für nichtflüchtige Speichervorrichtungen werden nachfolgend in Verbindung mit 1 beschrieben. Eine nichtflüchtige Speichervorrichtung ist ein Baustein aus einem oder mehreren Speicher-Chips. Jeder Chip kann eine oder mehrere Ebenen enthalten. Bei einigen Typen von nichtflüchtigen Speichervorrichtungen (z.B. NAND-Vorrichtungen) umfasst jede Ebene einen Satz von physischen Blöcken. Jeder Block umfasst einen Satz von Seiten. Jede Seite umfasst einen Satz von Speicherzellen („Zellen“). Eine Zelle ist eine elektronische Schaltung, die Informationen speichert. Abhängig vom Zellentyp kann eine Zelle ein oder mehrere Bits mit binären Informationen speichern und hat verschiedene logische Zustände, die mit der Anzahl der gespeicherten Bits korrelieren. Die logischen Zustände können durch binäre Werte dargestellt werden, wie zum Beispiel „0“ und „1“ oder Kombinationen solcher Werte.
  • Eine Speichervorrichtung kann aus Bits bestehen, die in einem zweidimensionalen Gitter oder in einem dreidimensionalen Gitter angeordnet sind. Die Speicherzellen sind auf einem Silizium-Wafer in einem Array aus Spalten (nachfolgend auch als „Bitleitungen“ bezeichnet) und Zeilen (nachfolgend auch als „Wortleitungen“ bezeichnet) gebildet. Eine Wortleitung kann sich auf eine oder mehrere Reihen von Speicherzellen einer Speichervorrichtung beziehen, die mit einer oder mehreren Bitleitungen verwendet werden, um die Adresse von jeder der Speicherzellen zu erzeugen. Der Schnittpunkt zwischen einer Bitleitung und einer Wortleitung bildet die Adresse der Speicherzelle. Ein Block bezieht sich im Folgenden auf eine Einheit der Speichervorrichtung, die zum Speichern von Daten verwendet wird, und kann eine Gruppe von Speicherzellen, eine Wortleitungsgruppe, eine Wortleitung oder einzelne Speicherzellen umfassen.
  • Zur Durchführung von Operationen (z.B. Lese-Operationen und Programm-Operationen), die sich auf die Wortleitungen einer Speichervorrichtung des Speicher-Untersystems beziehen, werden die Wortleitungen durch eine Ladungspumpe (z.B. ein DC-DC-Wandler, der die eingehende Vcc-Versorgung multipliziert mit einem Faktor größer als 1, wie zum Beispiel 10 bei NAND-Speichern) auf Durchgangsspannungspegel geladen. Die Ladungspumpe arbeitet normalerweise in einer freilaufenden Weise, während sie das Speicher-Array mit Ladung versorgt. Im freilaufenden Operationsmodus hat die resultierende Spannungsrampe V, die von der Ladepumpe an die Wortleitungen angelegt wird, eine abnehmende exponentielle Steigung, die durch die folgende Gleichung angenähert wird: V = Vstart + Vmax* (1- exp(-t / C*Rpmp)), wobei t die Zeit ist, Vstart die Startspannung der Wortleitungen ist, Vmax die maximale nominale Open-Load-Spannung der Ladepumpe ist, C die NAND-Array-Ladung ist, und Rpmp das Äquivalent zum Widerstand der Ladepumpe ist. Die Spannungsrampe stoppt, wenn die Wortleitungen den durch die NAND-Operation bestimmten Ziel-Wert erreichen, wobei ab diesem Punkt die Ladepumpe fortfährt, ihre eigene geregelte Ziel-Spannung zu erreichen. Die Ladungspumpenregelungsspannung kann bestimmt werden, indem eine gewünschte Differenz (auch als „Headroom-Pegel“ bezeichnet, der erforderlich ist, um einen von der Ladungspumpe versorgten linearen Regler in einem optimalen Arbeitszustand der Sättigung zu halten) zwischen der Ladungspumpenregelungsspannung (z.B. 12 V) und der Ziel-Spannung der Wortleitung (z.B. 8V - 10V) festgelegt wird.
  • Jeder DC-DC-Wandler mit einer Ladungspumpe hat eine Stromeffizienz, die durch ein Verhältnis des von der Ladungspumpe erzeugten Ausgangsstroms zu dem von der Ladungspumpe verbrauchten Strom dargestellt wird. Die Stromeffizienz variiert mit der Ausgangsspannung des Wandlers, insbesondere sinkt er monoton mit dem Anstieg des erzeugten Ausgangsspannungspegels. Wenn beispielsweise die NAND-Array-Last von 2V auf 8V aufgeladen werden soll, um Algorithmus-Operationen durchzuführen, würde die Verwendung einer Ladepumpe bei einem festen Ziel-Spannungspegel von 12V mehr Strom verbrauchen als die Verwendung der gleichen Ladepumpe bei einem festen Ziel-Spannungspegel von 10V, da die Stromeffizienz des Wandlers im letzteren Fall höher ist.
  • In Anbetracht der Überlegungen zur Effizienz der Ladungspumpe kann die Ladungspumpe ausgestaltet sein, um in verschiedenen Stufenkonfigurationen zu arbeiten. Beispielsweise kann die Ladungspumpe in einem zweistufigen Modus (z.B. eine erste Ladungspumpenstufe mit einem Kondensator, der über einer Spannungsversorgung angeschlossen ist, und eine zweite Ladungspumpenstufe mit einem Kondensator in Reihe mit der Spannungsversorgung und der Last), um die Ausgangsspannung der Ladungspumpe in einem ersten Bereich (z.B. 4V bis 8V) ansteigen zu lassen, und einem vierstufigen Modus arbeiten (z.B. umfassend dritte und vierte Stufen mit jeweiligen Kondensatoren, die in Reihe mit der Spannungsversorgung und der Last geschaltet sind), um die Ausgangsspannung der Ladungspumpe in einem zweiten Bereich (z.B. 8V bis zur Ladungspumpenregelungsspannung) ansteigen zu lassen. Während des Betriebs, obwohl jede Stufe der Ladungspumpe ausgestaltet ist, um eine zwischenliegende erhöhte Ausgangsspannung zu erzeugen, nimmt die Stromeffizienz der Ladungspumpe als eine Funktion der Anzahl an Stufen der Ladungspumpe ab. Dementsprechend ist die Stromeffizient der Ladungspumpe niedriger, wenn die Ladungspumpe in einem vierstufigen Modus arbeitet, im Vergleich zu einem zweistufigen Modus.
  • Darüber hinaus führt die Verwendung einer unbegrenzten oder freilaufenden Ladepumpe zum Hochfahren der Spannung der Wortleitungen auf den Ziel-Spannungspegel, wie dies in bestimmten Fällen geschieht, zu einer schnellen Zeit zum Laden der Array-Last der Speichervorrichtung auf den Ziel-Spannungspegel, während gleichzeitig der niedrigste durchschnittliche Stromverbrauch erzielt wird. Wenn die Pumpe in einem nicht limitierten Modus arbeitet, folgt ihre Ausgangsspannung sehr genau der Array-Lastspannung der Speichervorrichtung, kombiniert mit einer Stromeffizienz, die monoton mit der Ausgangsspannung des Wandlers abnimmt.
  • Die Verwendung einer nicht limitierten oder freilaufenden Ladungspumpe zum Hochfahren der Spannung der Wortleitungen auf den Ziel-Spannungspegel führt jedoch zu unerwünscht hohen Spitzenstrompegeln und hohen Spitzenstromverbrauchspegeln, die alle unerwünschte Auswirkungen haben, einschließlich, aber nicht darauf beschränkt, erhöhte Fehlerpegel, die mit den Lese- und Programm-Operationen in Beziehung stehen, und verringerte Zuverlässigkeit der Speichervorrichtung aufgrund des schnellen Hochfahrens durch Ladungspumpen, die bewirken können, dass lokale Wortleitungen hinter den globalen Wortleitungen einer Speichervorrichtung zurückbleiben.
  • Aspekte der vorliegenden Erfindung dienen dazu, die obigen und andere Nachteile zu überwinden, indem eine Ladungspumpe zur Verfügung gestellt wird, die ausgestaltet ist, um einen digital gesteuerten Spannungspegel (z.B. eine gepulste oder gestufte Spannungslast) anzulegen, um eine oder mehrere Wortleitungen einer Speichervorrichtung auf einen Ziel-Spannungspegel zu laden. Bei einem Ausführungsbeispiel wird die Ausgangsspannung der Ladungspumpe digital gesteuert, um eine digital gesteuerte Ausgangsspannung (z.B. Ansteigen in einer digital gesteuerten treppenförmigen Weise) anzulegen, um die Spannung des NAND-Arrays in einer gleichmäßig ansteigender Weise zu treiben. Um die Wortleitungen mit dem digital gesteuerten Treppenkonzept auf den Ziel-Spannungspegel aufzuladen, wird die Ladepumpe durch einen Spannungsregler geregelt, um in einem Spannungsbereich von einem anfänglichen Regelungsspannungspegel bis zu einem Ziel-Regelungsspannungspegel zu arbeiten. Der Ziel-Regelungsspannungspegel der Ladungspumpe wird auf Basis eines Headroom-Bedarfs (z.B. eine Differenz zwischen dem Ziel-Spannungspegel einer Wortleitung und dem Regelungsspannungspegel der Ladungspumpe) bestimmt, der mit einem von der Ladungspumpe selbst gelieferten linearen Spannungsregler in Beziehung steht.
  • Gemäß verschiedener Ausführungsbeispiele wird der Ladungspumpenspannungspegel digital gesteuert, um dem digital gesteuerten Wortleitungsspannungspegel zu folgen. Der Ladungspumpenspannungspegel wird digital gesteuert, um von einem anfänglichen Ladungspumpenspannungspegel über eine Reihe von Aktualisierungen, die einem Offset-Pegel entsprechen, schrittweise anzusteigen, aktualisiert oder erhöht zu werden, bis ein Grenzwertpegel der Ladungspumpenregelungsspannung erreicht ist.
  • Bei einem Ausführungsbeispiel wird der digital gesteuerte Ladungspumpenspannungspegel um einen Offset-Pegel erhöht, und zwar als Reaktion auf eine Bestimmung, dass ein gemessener Wortleitungsspannungspegel eine Bedingung erfüllt. Bei einem Ausführungsbeispiel ist die Bedingung erfüllt, wenn eine Differenz zwischen dem Ladungspumpenspannungspegel und dem gemessenen Wortleitungsspannungspegel kleiner ist als ein Grenzwertpegel, der der Headroom-Anforderung entspricht (auch als „Headroom-Grenzwertpegel“ bezeichnet). Bei einem Ausführungsbeispiel wird der Ladungspumpenspannungspegel um den Offset-Pegel erhöht, wenn der Headroom oder die Differenz zwischen dem aktuellen Ladungspumpenspannungspegel und dem gemessenen Wortleitungspegel kleiner als der Headroom-Grenzwertpegel ist.
  • Wenn der digital gesteuerte Wortleitungsspannungspegel ansteigt, wird bei einem oder mehreren Wortleitungsspannungsgrenzwertpegeln, ein Vergleich der Ladungspumpenspannung und der Wortleitungsspannung durchgeführt, um zu bestimmen, ob die Bedingung erfüllt ist (z.B. ob die Differenz zwischen dem Ladungspumpenspannungspegel und einem gemessenen Wortleitungsspannungspegel kleiner ist als der Grenzwertpegel). Als Reaktion auf das Erfüllen der Bedingung wird der Ladungspumpenspannungspegel um den Offset-Pegel auf einen aktualisierten oder einen erhöhten digital gesteuerten Ladungspumpenspannungspegel erhöht. Die digitale Steuerung der Ladungspumpe kann mehrere Schritte umfassen, und dieser Prozess wird so lange fortgesetzt, bis der Ladungspumpenspannungspegel stufenweise auf den Ladungspumpenregelungsspannungspegel angehoben wurde.
  • Bei einem Ausführungsbeispiel können ein oder mehrere Stufensteuerungsgrenzwertpegel festgelegt werden. Wenn der Wortleitungsspannungspegel einen Stufensteuerungsgrenzwertpegel erreicht, kann die Operation der Ladungspumpe von einem aktuellen Stufenmodus (z.B. ein zweistufiger Modus) auf einen aktualisierten Stufenmodus (z.B. ein vierstufiger Modus) umgestellt werden.
  • Vorteilhafterweise ermöglicht die digitale Steuerung des Ladungspumpenspannungspegels als eine Funktion des Wortleitungsspannungspegels das Minimieren des von der Ladungspumpe verbrauchten Stroms. Durch das Minimieren des Stromverbrauchs der Ladungspumpe wird die Effizienz der Pumpe im Vergleich zu einer nicht verwalteten Ladungspumpe (z.B. eine Ladungspumpe ohne digitale Steuerung, die während des Anstiegs der Wortleitungsspannung bei oder nahe der Ladungspumpenregelungsspannung arbeitet) erhöht.
  • Darüber hinaus führt, gemäß einigen Ausführungsbeispielen, die digitale Steuerung des Ladungspumpenspannungspegels und der Ladungspumpen-Stufensteuerung zu einer Verringerung der Energie pro Bit des Speicher-Untersystems im Vergleich zu einer nicht verwalteten Ladungspumpe (z.B. eine Ladungspumpe ohne digitale Steuerung, die während des Anstiegs der Wortleitungsspannung bei oder nahe der Ladungspumpenregelungsspannung arbeitet).
  • 1 zeigt ein beispielhaftes Computersystem 100, das ein Speicher-Untersystem 110 gemäß einem oder mehrerer Ausführungsbeispiele der vorliegenden Erfindung enthält. Das Speicher-Untersystem 110 kann Medien enthalten, wie zum Beispiel eine oder mehrere flüchtige Speichervorrichtungen (z.B. Speichervorrichtung 140), eine oder mehrere nichtflüchtige Speichervorrichtungen (z.B. Speichervorrichtung 130) oder eine Kombination davon.
  • Ein Speicher-Untersystem 110 kann eine Speichervorrichtung, ein Speichermodul oder eine Mischung aus einer Speichervorrichtung und einem Speichermodul sein. Beispiele für eine Speichervorrichtung sind ein Solid-State-Laufwerk (SSD), ein Flash-Laufwerk, ein USB-Flash-Laufwerk (Universal Serial Bus Flash Laufwerk), ein eMMC-Laufwerk (Embedded Multi-Media Controller Laufwerk), ein UFS-Laufwerk (Universal Flash Storage Laufwerk), eine SD-Karte (Secure Digital Karte) und ein Festplattenlaufwerk (HDD). Beispiele für Speichermodule sind ein Dual-Inline-Speichermodul (DIMM), ein Small-Outline-DIMM (SO-DIMM) und verschiedene Typen von nichtflüchtigen Dual-Inline-Speichermodulen (NVDIMM).
  • Das Computersystem 100 kann eine Computervorrichtung sein, wie zum Beispiel ein Desktop-Computer, ein Laptop-Computer, ein Netzwerk-Server, eine mobile Vorrichtung, ein Fahrzeug (z.B. ein Flugzeug, eine Drohne, ein Zug, ein Auto oder ein anderes Transportmittel), eine Internet-of-Things-fähige Vorrichtung (loT-Vorrichtung), ein eingebetteter Computer (z.B. ein solcher, wie er in einem Fahrzeug, in einer Industrieanlage oder in einer vernetzten kommerziellen Vorrichtung enthalten ist) oder eine solche Computervorrichtung, die einen Speicher und eine Verarbeitungsvorrichtung enthält.
  • Das Computersystem 100 kann ein Host-System 120 umfassen, das mit einem oder mehreren Speicher-Untersystemen 110 verbunden ist. In einigen Ausführungsbeispielen ist das Host-System 120 mit verschiedenen Typen von Speicher-Untersystemen 110 verbunden. 1 zeigt ein Beispiel von einem Host-System 120, das mit einem Speicher-Untersystem 110 verbunden ist. Wie hierin verwendet, bezieht sich „gekoppelt an“ oder „gekoppelt mit“ allgemein auf eine Verbindung zwischen Komponenten, die eine indirekte kommunikative Verbindung oder eine direkte kommunikative Verbindung (z.B. ohne zwischengeschaltete Komponenten) sein kann, ob verdrahtet oder drahtlos, einschließlich Verbindungen, wie zum Beispiel elektrisch, optisch, magnetisch, usw.
  • Das Host-System 120 kann einen Prozessor-Chipsatz und einen Software-Stapel enthalten, der von dem Prozessor-Chipsatz ausgeführt wird. Der Prozessor-Chipsatz kann einen oder mehrere Kerne, einen oder mehrere Caches, einen Speicher-Controller (z.B. ein NVDIMM-Controller) und einen Speicherprotokoll-Controller (z.B. PCIe-Controller, SATA-Controller) enthalten. Das Host-System 120 verwendet das Speicher-Untersystem 110, um beispielsweise Daten in das Speicher-Untersystem 110 zu schreiben und um Daten aus dem Speicher-Untersystem 110 zu lesen.
  • Das Hostsystem 120 kann über eine physische Host-Schnittstelle mit dem Speicher-Untersystem 110 verbunden sein. Beispiele für eine physikalische Host-Schnittstelle umfassen, aber nicht hierauf beschränkt, eine SATA-Schnittstelle (Serial Advanced Technology Attachment Schnittstelle), eine PCle-Schnittstelle (Peripheral Component Interconnect Express Schnittstelle), eine USB-Schnittstelle (Universal Serial Bus Schnittstelle), einen Fibre Channel, ein SAS (Serial Attached SCSI), einen DDR-Speicherbus (Double Data Rate Speicherbus), ein SCSI (Small Computer System Interface), eine DIMM-Schnittstelle (Dual InLine Memory Module Schnittstelle) (z.B. eine DIMM-Sockelschnittstelle, die DDR (Double Data Rate) unterstützt), usw. Die physische Host-Schnittstelle kann zur Datenübertragung zwischen dem Host-System 120 und dem Speicher-Untersystem 110 verwendet werden. Das Host-System 120 kann außerdem eine NVMe (NVM Express Schnittstelle) verwenden, um auf Komponenten (z.B. Speichervorrichtungen 130) zuzugreifen, wenn das Speicher-Untersystem 110 über die PCIe-Schnittstelle mit dem Host-System 120 verbunden ist. Die physische Host-Schnittstelle kann eine Schnittstelle für die Weitergabe von Steuer-, Adress-, Daten- und anderen Signalen zwischen dem Speicher-Untersystem 110 und dem Host-System 120 zur Verfügung stellen. 1 zeigt ein Speicher-Untersystem 110 als Beispiel. Allgemein kann das Host-System 120 auf mehrere Speicher-Untersysteme über dieselbe Kommunikationsverbindung, mehrere separate Kommunikationsverbindungen und/oder eine Kombination aus Kommunikationsverbindungen zugreifen.
  • Die Speichervorrichtungen 130, 140 können eine beliebige Kombination der verschiedenen Typen von nichtflüchtigen und/oder flüchtigen Speichervorrichtungen umfassen. Die flüchtigen Speichervorrichtungen (z.B. Speichervorrichtung 140) können, aber nicht hierauf beschränkt, Direktzugriffsspeicher (RAM) umfassen, wie beispielsweise dynamischer Direktzugriffsspeicher (DRAM) und synchroner dynamischer Direktzugriffsspeicher (SDRAM).
  • Einige Beispiele für nichtflüchtige Speichervorrichtungen (z.B. Speichervorrichtung 130) umfassen einen Flash-Speicher vom Negativ-Und-Typ (NAND-Typ) und einen Write-in-Place-Speicher, wie z.B. eine dreidimensionale Schnittstellen-Speichervorrichtung („3D-Cross-Point“-Speichervorrichtung), die ein Schnittstellen-Array aus nichtflüchtigen Speicherzellen ist. Ein Schnittstellen-Array eines nichtflüchtigen Speichers kann eine Bit-Speicherung auf Basis einer Änderung des Bulk-Widerstands in Verbindung mit einem stapelbaren Kreuzgitter-Datenzugriffs-Array durchführen. Darüber hinaus kann ein nichtflüchtiger Schnittstellen-Speicher, im Gegensatz zu vielen Flash-basierten Speichern, eine Write-in-Place-Operation durchführen, bei der eine nichtflüchtige Speicherzelle programmiert werden kann, ohne dass die nichtflüchtige Speicherzelle zuvor gelöscht wurde. Flash-Speicher vom NAND-Typ umfassen beispielsweise zweidimensionale NAND (2D NAND) und dreidimensionale NAND (3D NAND).
  • Jede der Speichervorrichtungen 130 kann ein oder mehrere Arrays aus Speicherzellen enthalten. Ein Typ von Speicherzellen, zum Beispiel Single-Level-Zellen (SLCs), kann ein Bit pro Zelle speichern. Andere Typen von Speicherzellen, wie zum Beispiel Multi-Level-Zellen (MLCs), Triple-Level-Zellen (TLCs) und Quad-Level-Zellen (QLCs), können mehrere Bits pro Zelle speichern. In einigen Ausführungsbeispielen kann jede der Speichervorrichtungen 130 eine oder mehrere Arrays aus Speicherzellen umfassen, wie zum Beispiel SLCs, MLCs, TLCs, QLCs oder eine beliebige Kombination davon. In einigen Ausführungsbeispielen kann eine bestimmte Speichervorrichtung einen SLC-Bereich und einen MLC-Bereich, einen TLC-Bereich oder einen QLC-Bereich von Speicherzellen umfassen. Die Speicherzellen der Speichervorrichtungen 130 können als Seiten gruppiert werden, die sich auf eine logische Einheit der zum Speichern von Daten verwendeten Speichervorrichtung beziehen können. Bei einigen Speichertypen (z.B. NAND) können Seiten gruppiert werden, um Blöcke zu bilden.
  • Obwohl nichtflüchtige Speicherkomponenten, wie zum Beispiel 3D-Schnittstellen-Arrays aus nichtflüchtiger Speicherzellen und NAND-Flash-Speicher (z.B. 2D NAND, 3D NAND), beschrieben werden, kann die Speichervorrichtung 130 auf jedem anderen Typ von nichtflüchtigen Speichern basieren, wie zum Beispiel Festwertspeicher (ROM), Phasenänderungsspeicher (PCM), selbstselektierende Speicher, andere chalcogenid-basierte Speicher, ferroelektrische Transistor-Direktzugriffsspeicher (FeTRAM), ferroelektrische Direktzugriffsspeicher (FeRAM), Magneto-Direktzugriffsspeicher (MRAM), Spin Transfer Torque (STT)-MRAM, Conductive Bridging RAM (CBRAM), resistive Direktzugriffsspeicher (RRAM), Oxid-basierte RRAM (OxRAM), Negativ-Or (NOR) Flash-Speicher und elektrisch löschbare programmierbare Festwertspeicher (EEPROM).
  • Ein Speicher-Untersystem-Controller 115 (oder Controller 115 der Einfachheit halber) kann mit den Speichervorrichtungen 130 kommunizieren, um Operationen durchzuführen, wie zum Beispiel Lesen von Daten, Schreiben von Daten oder Löschen von Daten in den Speichervorrichtungen 130 und andere solche Operationen. Der Speicher-Untersystem-Controller 115 kann Hardware enthalten, wie zum Beispiel eine oder mehrere integrierte Schaltungen und/oder diskrete Komponenten, ein Pufferspeicher oder eine Kombination davon. Die Hardware kann digitale Schaltungen mit dedizierter (d.h. hartkodierter) Logik enthalten, um die hier beschriebenen Operationen durchzuführen. Der Speicher-Untersystem-Controller 115 kann ein Mikrocontroller, eine spezielle Logikschaltung (z.B. ein feldprogrammierbares Gate-Array (FPGA), eine anwendungsspezifische integrierte Schaltung (ASIC), usw.) oder ein anderer geeigneter Prozessor sein.
  • Der Speicher-Untersystem-Controller 115 kann einen Prozessor 117 (z.B. eine Verarbeitungsvorrichtung) enthalten, der konfiguriert ist, um in einem lokalen Speicher 119 gespeicherte Instruktionen auszuführen. In dem dargestellten Beispiel umfasst der lokale Speicher 119 des Speicher-Untersystem-Controllers 115 einen eingebetteten Speicher, der konfiguriert ist, um Instruktionen zur Durchführung verschiedener Prozesse, Operationen, logischer Abläufe und Routinen zu speichern, die den Betrieb des Speicher-Untersystems 110 steuern, einschließlich der Handhabung von Kommunikationen zwischen dem Speicher-Untersystem 110 und dem Host-System 120.
  • In einigen Ausführungsbeispiele kann der lokale Speicher 119 Speicherregister enthalten, die Speicherzeiger, abgerufene Daten usw. speichern. Der lokale Speicher 119 kann auch einen Nur-Lese-Speicher (ROM) zum Speichern von Mikro-Code enthalten. Obwohl das beispielhafte Speicher-Untersystem 110 in 1 so dargestellt ist, dass es den Speicher-Untersystem-Controller 115 enthält, kann in einem anderen Ausführungsbeispiel der vorliegenden Erfindung ein Speicher-Untersystem 110 keinen Speicher-Untersystem-Controller 115 enthalten und stattdessen auf eine externe Steuerung basieren (z.B. ein externer Host oder ein vom Speicher-Untersystem getrennter Prozessor oder Controller).
  • Allgemein kann der Speicher-Untersystem-Controller 115 Befehle oder Operationen vom Host-System 120 empfangen und die Befehle oder Operationen in Instruktionen oder geeignete Befehle umwandeln, um den gewünschten Zugriff auf die Speichervorrichtungen 130 zu erreichen. Der Speicher-Untersystem-Controller 115 kann für andere Operationen verantwortlich sein, wie zum Beispiel Wear-Leveling-Operationen, Garbage-Collection-Operationen, Fehlererkennungs- und Fehlerkorrektur-Code-Operationen (ECC-Operationen), Verschlüsselungs-Operationen, Caching-Operationen und Adressübersetzungen zwischen einer logischen Blockadresse (z.B. logische Blockadresse (LBA), Namensraum) und einer physischen Blockadresse (z.B. physische Blockadresse), die mit den Speichervorrichtungen 130 in Beziehung stehen. Der Speicher-Untersystem-Controller 115 kann außerdem eine Host-Schnittstellenschaltung enthalten, um mit dem Host-System 120 über die physische Host-Schnittstelle zu kommunizieren. Die Host-Schnittstellenschaltung kann die von dem Host-System 120 empfangenen Befehle in Befehlsinstruktionen umwandeln, um auf die Speichervorrichtungen 130 zuzugreifen, und die mit den Speichervorrichtungen 130 in Beziehungen Antworten in Informationen für das Host-System 120 umwandeln.
  • Das Speicher-Untersystem 110 kann auch zusätzliche Schaltungen oder Komponenten enthalten, die nicht dargestellt sind. In einigen Ausführungsbeispielen kann das Speicher-Untersystem 110 einen Cache oder Puffer (z.B. DRAM) und Adressenschaltungen (z.B. einen Zeilen-Dekoder und einen Spalten-Dekoder) enthalten, die eine Adresse vom Speicher-Untersystem-Controller 115 empfangen und die Adresse dekodieren können, um auf die Speichervorrichtungen 130 zuzugreifen.
  • Bei einigen Ausführungsbeispielen umfassen die Speichervorrichtungen 130 lokale Medien-Controller 135, die in Verbindung mit dem Speicher-Untersystem-Controller 115 arbeiten, um Operationen hinsichtlich einer oder mehreren Speicherzellen der Speichervorrichtungen 130 auszuführen. Ein externer Controller (z.B. Speicher-Untersystem-Controller 115) kann die Speichervorrichtung 130 extern verwalten (z.B. Medien-Verwaltungs-Operationen bezüglich der Speichervorrichtung 130 durchführen). In einigen Ausführungsbeispielen ist eine Speichervorrichtung 130 eine verwaltete Speichervorrichtung, die eine Roh-Speichervorrichtung 130 mit einer Steuerlogik (z.B. lokaler Medien-Controller 135) auf dem Chip und einen Controller (z.B. Speicher-Untersystem-Controller 115) für die Medienverwaltung innerhalb desselben Speichervorrichtungsbaustein umfasst. Ein Beispiel für eine verwaltete Speichervorrichtung ist eine verwaltete NAND-Vorrichtung (MNAND-Vorrichtung).
  • Bei einem Ausführungsbeispiel enthält die Speichervorrichtung 130 eine Ladungspumpen-Verwaltungskomponente 113, die verwendet werden kann, um digital gesteuerte Ladungspumpenspannungspegel zu verwalten, um eine oder mehrere Wortleitungen einer Speichervorrichtung 130 zu laden. In einigen Ausführungsbeispielen enthält der lokale Medien-Controller 135 zumindest einen Teil der Ladungspumpen-Verwaltungskomponente 113.
  • Bei einigen Ausführungsbeispielen enthält der Speicher-Untersystem-Controller 115 zumindest einen Teil der Ladungspumpen-Verwaltungskomponente 113. Beispielsweise kann der Controller 115 einen Prozessor 117 (Verarbeitungsvorrichtung) enthalten, der konfiguriert ist, um in dem lokalen Speicher 119 gespeicherte Instruktionen zur Durchführung der hier beschriebenen Operationen auszuführen. Bei einigen Ausführungsbeispielen ist die Ladungspumpen-Verwaltungskomponente 113 Teil des Host-Systems 110, einer Anwendung oder eines Betriebssystems.
  • Die Ladungspumpen-Verwaltungskomponente 113 kann bewirken, dass eine digital gesteuerte Spannung an eine Ladungspumpe angelegt wird, um einen digital gesteuerten Spannungspegel von mindestens einer ausgewählten Wortleitung auf eine Ziel-Wortleitungsspannung zu erhöhen. Die Ladungspumpen-Verwaltungskomponente 113 verwaltet den digital gesteuerten Ladungspumpenspannungspegel, um den digital gesteuerten Wortleitungsspannungspegel zu verfolgen. Bei einem Ausführungsbeispiel erzeugt die Ladungspumpen-Verwaltungskomponente 113 den digital gesteuerten Ladungspumpenspannungspegel, um von einem anfänglichen Ladungspumpenspannungspegel über eine Reihe von Aktualisierungen, die einem Offset-Pegel entsprechen, schrittweise anzusteigen, zu aktualisieren oder zu erhöhen, bis ein Ladungspumpen-Grenzwertspannungspegel (z.B. 12 Volt) erreicht ist.
  • Bei einem Ausführungsbeispiel bestimmt die Ladungspumpen-Verwaltungskomponente 113 einen gemessenen Wortleitungsspannungspegel, um zu bestimmen, ob eine erste Bedingung erfüllt ist. Bei einem Ausführungsbeispiel ist die Bedingung erfüllt, wenn eine Differenz zwischen dem Ladungspumpenspannungspegel und dem gemessenen Wortleitungsspannungspegel geringer ist als ein Headroom-Grenzwertpegel (z.B. eine ausgewählte minimale gewünschte Differenz, die zwischen dem Ladungspumpenspannungspegel und dem Wortleitungsspannungspegel aufrechterhalten werden soll). Bei einem Ausführungsbeispiel prüft oder misst die Ladungspumpen-Verwaltungskomponente 113 den Wortleitungsspannungspegel zu einem oder mehreren Zeitpunkten, um zu bestimmen, ob eine Headroom-Bedingung eingehalten wird oder ob die erste Bedingung erfüllt ist.
  • Als Reaktion auf die Bestimmung, dass die erste Bedingung erfüllt ist (d.h. die Differenz zwischen einem aktuellen digital gesteuerten Ladungspumpenspannungspegel und dem gemessenen Wortleitungsspannungspegel ist geringer als der Headroom-Grenzwertpegel), passt die Ladungspumpen-Verwaltungskomponente 113 den Ladungspumpenspannungspegel um einen Offset-Pegel (z.B. 2 Volt) auf einen abgestuften, angepassten oder erhöhten Ladungspumpenspannungspegel an oder erhöht ihn.
  • Bei einem Ausführungsbeispiel, wenn der digital gesteuerte Wortleitungsspannungspegel auf einen oder mehrere ausgewählte Wortleitungsspannungsschwellenwerte ansteigt (z.B. Wortleitungsgrenzwertspannungen von 5 Volt, 7 Volt, 9 Volt, 11 Volt), vergleicht die Ladungspumpen-Verwaltungskomponente 113 einen aktuellen Ladungspumpenspannungspegel und den Wortleitungsspannungspegel, um zu bestimmen, ob die erste Bedingung erfüllt ist. Die Ladungspumpen-Verwaltungskomponente 113 kann den Prozess der Erhöhung des Ladungspumpenspannungspegels als Reaktion auf das Erfüllen der ersten Bedingung fortsetzen, bis ein Grenzwertspannungspegel für die Ladungspumpenregelung erreicht ist.
  • Bei einer Ausführungsbeispiel kann die Ladungspumpen-Verwaltungskomponente 113 die Operation der Ladungspumpe in mehreren Stufenmodi (z.B. einem zweistufigen Modus, einem vierstufigen Modus, usw.) verwalten. Die Ladungspumpen-Verwaltungskomponente 113 kann die Operation der Ladungspumpe von einem aktuellen Stufenmodus (z.B. einem zweistufigen Modus) auf einen aktualisierten Stufenmodus (z.B. einen vierstufigen Modus) einstellen oder ändern, und zwar als Reaktion auf eine Bestimmung, dass eine zweite Bedingung erfüllt ist. Bei einem Ausführungsbeispiel ist die zweite Bedingung erfüllt, wenn der Wortleitungsspannungspegel einen Stufensteuerungsgrenzwertpegel erreicht. Bei einem Ausführungsbeispiel, und zwar bei der Bestimmung, dass der Wortleitungsspannungspegel einen Stufensteuerungsgrenzwertpegel erreicht oder überschreitet, schaltet die Ladungspumpen-Verwaltungskomponente 113 die Ladungspumpe von einem aktuellen Stufenmodus (z.B. einem zweistufigen Modus) in einen aktualisierten Stufenmodus (z.B. einen vierstufigen Modus) um. Bei einem Ausführungsbeispiel kann die Ladungspumpen-Verwaltungskomponente 113 eine beliebige Anzahl von verschiedenen Stufensteuerungsgrenzwertpegeln überwachen und beibehalten, so dass der Stufenmodus der Ladungspumpe in Reaktion auf das Erreichen oder Überschreiten von jedem der Stufensteuerungsgrenzwertpegel aktualisiert wird. Weitere Einzelheiten bezüglich der Operationen der Ladungspumpen-Verwaltungskomponente 113 werden nachfolgend beschrieben.
  • 2 ist ein vereinfachtes Blockdiagramm von einem ersten Gerät in Form einer Speichervorrichtung 130, die gemäß einem Ausführungsbeispiel mit einem zweiten Gerät in Form eines Speicher-Untersystem-Controllers 115 eines Speicher-Untersystems (z.B. das Speicher-Untersystem 110 aus 1) kommuniziert. Einige Beispiele für elektronische Systeme sind Personal Computer, Personal Digital Assistants (PDAs), Digitalkameras, digitale Medien-Abspielgeräte, digitale Aufnahmegeräte, Spiele, Geräte, Fahrzeuge, drahtlose Geräte, Mobiltelefone und dergleichen. Der Speicher-Untersystem-Controller 115 (z.B. ein Controller außerhalb der Speichervorrichtung 130 aus 1) kann ein Speicher-Controller oder eine andere externe Host-Vorrichtung sein.
  • Die Speichervorrichtung 130 umfasst ein Array aus Speicherzellen 204, die logisch in Zeilen und Spalten angeordnet sind. Speicherzellen einer logischen Zeile sind normalerweise mit der gleichen Zugriffsleitung (z.B. einer Wortleitung) verbunden, während Speicherzellen einer logischen Spalte normalerweise selektiv mit der gleichen Datenleitung (z.B. einer Bitleitung) verbunden sind. Eine einzelne Zugriffsleitung kann mit mehr als einer logischen Zeile von Speicherzellen verbunden sein, und eine einzelne Datenleitung kann mit mehr als einer logischen Spalte verbunden sein. Speicherzellen (in 2 nicht dargestellt) von mindestens einem Bereich des Arrays aus Speicherzellen 204 können auf einen von mindestens zwei Ziel-Datenzuständen programmiert werden.
  • Zeilen-Dekodierschaltungen 208 und Spalten-Dekodierschaltungen 210 sind vorgesehen, um Adressensignale zu dekodieren. Adressensignale werden empfangen und dekodiert, um auf das Array aus Speicherzellen 204 zuzugreifen. Die Speichervorrichtung 130 umfasst ferner eine Eingabe/Ausgabe-Steuerschaltung 212 (I/O-Steuerschaltung), um die Eingabe von Befehlen, Adressen und Daten in die Speichervorrichtung 130 sowie die Ausgabe von Daten und Statusinformationen aus der Speichervorrichtung 130 zu verwalten. Ein Adressenregister 214 steht in Verbindung mit der I/O-Steuerschaltung 212 und der Zeilen-Dekodierschaltung 208 und der Spalten-Dekodierschaltung 210, um die Adressensignale vor dem Dekodieren zu verriegeln. Ein Befehlsregister 224 steht in Verbindung mit der I/O-Steuerschaltung 212 und der Steuerlogik 216, um eingehende Befehle zu verriegeln.
  • Ein Controller (z.B. der lokale Medien-Controller 135 innerhalb der Speichervorrichtung 130) steuert den Zugriff auf das Array aus Speicherzellen 204 in Reaktion auf die Befehle und erzeugt Statusinformationen für den externen Speicher-Untersystem-Controller 115, d.h. der lokale Medien-Controller 135 ist konfiguriert, um Zugriffs-Operationen (z.B. Lese-Operationen, Programmier-Operationen und/oder Lösch-Operationen) bezüglich des Arrays aus Speicherzellen 204 durchzuführen. Der lokale Medien-Controller 135 steht in Kommunikation mit der Zeilen-Dekodierschaltung 208 und der Spalten-Dekodierschaltung 210, um die Zeilen-Dekodierschaltung 208 und die Spalten-Dekodierschaltung 210 in Reaktion auf die Adressen zu steuern.
  • Der lokale Medien-Controller 135 steht auch in Verbindung mit einem Cache-Register 218. Das Cache-Register 218 speichert eingehende oder ausgehende Daten gemäß den Anweisungen des lokalen Medien-Controllers 135, um Daten vorübergehend zu speichern, während das Array aus Speicherzellen 204 mit dem Schreiben bzw. Lesen anderer Daten beschäftigt ist. Während einer Programmier-Operation (z.B. einer Schreib-Operation) können Daten aus dem Cache-Register 218 an das Datenregister 22 weitergeleitet werden, um an das Array aus Speicherzellen 204 übertragen zu werden; dann können neue Daten von der I/O-Steuerschaltung 212 im Cache-Register 218 zwischengespeichert werden. Während einer Lese-Operation können Daten vom Cache-Register 218 an die I/O-Steuerschaltung 212 übergeben werden, um an den Speicher-Untersystem-Controller 115 ausgegeben zu werden; dann können neue Daten vom Datenregister 220 an das Cache-Register 218 übergeben werden. Das Cache-Register 218 und/oder das Datenregister 220 können einen Seitenpuffer der Speichervorrichtung 130 bilden (z.B. einen Teil davon). Ein Seitenpuffer kann ferner Erfassungsvorrichtungen (in 2 nicht dargestellt) enthalten, um einen Datenzustand einer Speicherzelle des Arrays aus Speicherzellen 204 zu erfassen, z.B. durch Erfassen eines Zustands einer mit dieser Speicherzelle verbundenen Datenleitung. Ein Statusregister 222 kann mit der I/O-Steuerschaltung 212 und dem lokalen Speicher-Controller 135 in Kommunikation stehen, um die Statusinformationen für die Ausgabe an den Speicher-Untersystem-Controller 115 zu speichern.
  • Die Speichervorrichtung 130 empfängt Steuersignale an dem Speicher-Untersystem-Controller 115 von dem lokalen Medien-Controller 135 über eine Steuerverbindung 232. Die Steuersignale können zum Beispiel ein Chip-Enable CE #, ein Befehls-Latch-Enable CLE, ein Adressen-Latch-Enable ALE, ein Schreib-Enable WE #, ein Lese-Enable RE # und ein Schreib-Protect WP # umfassen. Zusätzliche oder alternative Steuersignale (nicht dargestellt) können je nach Art der Speichervorrichtung 130 über die Steuerverbindung 232 empfangen werden. Die Speichervorrichtung 130 empfängt Befehlssignale (die Befehle darstellen), Adressensignale (die Adressen darstellen) und Datensignale (die Daten darstellen) von dem Speicher-Untersystem-Controller 115 über einen gemultiplexten Eingangs-/Ausgangsbus (I/O-Bus) 234 und gibt Daten an den Speicher-Untersystem-Controller 115 über den I/O-Bus 234 aus.
  • Die Befehle können beispielsweise über die Ein-/Ausgabe-Pins (I/O-Pins) [7:0] des I/O-Busses 234 an der I/O-Steuerschaltung 212 empfangen und dann in das Befehlsregister 224 geschrieben werden. Die Adressen können über die Ein-/Ausgabe-Pins (I/O-Pins) [7:0] des I/O-Busses 234 an der I/O-Steuerschaltung 212 empfangen und dann in das Adressenregister 214 geschrieben werden. Die Daten können über die Ein-/Ausgabe-Pins (I/O-Pins) [7:0] für eine 8-Bit-Vorrichtung oder die Ein-/Ausgabe-Pins (I/O-Pins) [15:0] für eine 16-Bit-Vorrichtung an der I/O-Steuerschaltung 212 empfangen und anschließend in das Cache-Register 218 geschrieben werden. Die Daten können anschließend in das Datenregister 220 zur Programmierung des Arrays aus Speicherzellen 204 geschrieben werden.
  • Bei einem Ausführungsbeispiel kann das Cache-Register 218 weggelassen werden, und die Daten können direkt in das Datenregister 220 geschrieben werden. Die Daten können auch über Ein-/Ausgabe-Pins (I/O-Pins) [7:0] für eine 8-Bit-Vorrichtung oder die Ein-/Ausgabe-Pins (I/O-Pins) [15:0] für eine 16-Bit-Vorrichtung ausgegeben werden. Obwohl auf I/O-Pins Bezug genommen wird, können sie jeden leitenden Knoten umfassen, der eine elektrische Verbindung mit der Speichervorrichtung 130 durch eine externe Vorrichtung (z.B. den Speicher-Untersystem-Controller 115) ermöglicht, wie zum Beispiel leitende Pads oder leitende Bumps, wie sie üblicherweise verwendet werden.
  • Für den Fachmann ist offensichtlich, dass zusätzliche Schaltungen und Signale vorgesehen sein können und dass die Speichervorrichtung 130 aus 2 vereinfacht wurde. Es sollte erkannt werden, dass die Funktionalität der verschiedenen Block-Komponenten, die unter Bezugnahme auf 2 beschrieben werden, nicht notwendigerweise auf verschiedene Komponenten oder Komponententeile einer integrierten Schaltung aufgeteilt werden müssen. Beispielsweise kann eine einzelne Komponente oder ein Bereich einer Komponente einer integrierten Schaltungsvorrichtung so angepasst werden, dass es die Funktionalität von mehr als einer Block-Komponente aus 2 erfüllt. Alternativ könnten eine oder mehrere Komponenten oder Komponententeile einer integrierten Schaltung kombiniert werden, um die Funktionalität einer einzelnen Block-Komponente aus 2 zu erfüllen.
  • Außerdem, obwohl spezifischen I/O-Pins gemäß gängiger Konventionen für den Empfang und die Ausgabe der verschiedenen Signale beschrieben werden, wird darauf hingewiesen, dass andere Kombinationen oder Anzahlen von I/O-Pins (oder andere I/O-Knotenstrukturen) in den verschiedenen Ausführungsbeispiele verwendet werden können.
  • 3 ist ein Flussdiagramm eines beispielhaften Verfahrens 300 zum Verwalten eines digital gesteuerten Ladungspumpenspannungspegels gemäß einigen Ausführungsbeispielen der vorliegenden Erfindung, um einen digital gesteuerten Wortleitungsspannungspegel zu erhöhen oder zu steigern, der mit einer Wortleitung in Beziehung steht, die mit einer Speicherzelle eines Speicher-Untersystems in Beziehung steht. Das Verfahren 300 kann von einer Verarbeitungslogik durchgeführt werden, die Hardware (z.B. Verarbeitungsvorrichtung, Schaltungen, dedizierte Logik, programmierbare Logik, Mikro-Code, Hardware einer Vorrichtung, integrierte Schaltungen, usw.), Software (z.B. Instruktionen, die auf einer Verarbeitungsvorrichtung ausgeführt werden oder darauf laufen) oder eine Kombination davon umfassen kann. Bei einigen Ausführungsbeispielen wird das Verfahren 300 von der Ladungspumpen-Verwaltungskomponente 113 aus 1 durchgeführt.
  • Bei Operation 310 wird ein Pumpenspannungspegel festgelegt. Zum Beispiel legt die Verarbeitungslogik (z.B. die Ladungspumpen-Verwaltungskomponente 113) einen ersten digital gesteuerten Pumpenspannungspegel für eine Ladungspumpe fest, die mit einer Wortleitung einer Speichervorrichtung eines Speicher-Untersystems verbunden ist. Bei einem Ausführungsbeispiel bewirkt der festgelegte erste digital gesteuerte Pumpenspannungspegel, dass die Ladungspumpe eine Ausgangsspannung erzeugt, die an die Wortleitung angelegt wird, um einen Spannungspegel der Wortleitung (auch als ein „Wortleitungsspannungspegel“ bezeichnet) auf einen Ziel-Wortleitungsspannungspegel ansteigen zu lassen oder zu erhöhen. Bei einem Ausführungsbeispiel wird ein DAC (Digital-Analog-Wandler) verwendet, um den Pumpenspannungspegel der Ladungspumpe digital zu steuern. Bei einem Ausführungsbeispiel erzeugt die Verarbeitungsvorrichtung eine Reihe von Aktualisierungsbefehlen oder -signalen, um den Pumpenspannungspegel in einer Reihe gestufter Spannungen zu erhöhen (z.B. eine Reihe von Spannungspegeln, die um einen Offset-Pegel erhöht werden), bis die Ladungspumpenspannung einen Ladungspumpengrenzwertspannungspegel erreicht (z.B. 12 Volt).
  • Bei einem Ausführungsbeispiel ist der von der Ladungspumpe festgelegte Wortleitungsspannungspegel eine Stufen- oder Treppenspannung, die unter Verwendung eines DAC digital gesteuert wird, um die Wortleitung über eine Reihe gestufter Spannungsinkremente rampenförmig auf eine Ziel-Wortleitungsspannung zu bringen (z.B. ein Spannungspegel, der mit einer Operation bezüglich der Wortleitung in Beziehung steht, wie zum Beispiel eine Lese-Operation oder eine Programm-Operation).
  • Bei Operation 320 wird eine Auswertung vorgenommen. Zum Beispiel bestimmt die Verarbeitungslogik, ob ein gemessener digital gesteuerter Spannungspegel der Wortleitung und der erste digital gesteuerte Pumpenspannungspegel eine Bedingung erfüllen. Bei einem Ausführungsbeispiel ist die Bedingung erfüllt, wenn eine Differenz zwischen dem gemessenen digital gesteuerten Spannungspegel der Wortleitung und dem ersten digital gesteuerten Pumpenspannungspegel kleiner oder gleich einem Grenzwertpegel ist (z.B. einem Headroom-Grenzwertpegel).
  • Bei Operation 330 wird eine Spannung erhöht. Beispielsweise bewirkt die Verarbeitungslogik, als Reaktion auf das Bestimmen, dass die Bedingung bei Operation 320 erfüllt ist, dass der erste digital gesteuerte Pumpenspannungspegel, der an die Ladungspumpe angelegt wird, auf einen zweiten digital gesteuerten Pumpenspannungspegel wechselt. Bei einem Ausführungsbeispiel aktualisiert oder erhöht die Verarbeitungslogik den ersten digital gesteuerten Pumpenspannungspegel um den Offset-Spannungspegel (z.B. 2 Volt), um zu der zweiten digital gesteuerten Pumpenspannung zu wechseln und diese herzustellen. Bei einem Ausführungsbeispiel, wie in Operation 340 gezeigt, wird der erste digital gesteuerte Pumpenspannungspegel beibehalten, wenn die Bedingung nicht erfüllt ist.
  • 4 zeigt eine beispielhafte Zeichnung 400, die eine Darstellung der Spannung 410, die mit einer Wortleitung (d.h. Wortleitungsspannung 430) und einer Ladungspumpenspannung (d.h. Ladungspumpenspannung 440) in Beziehung steht, über die Zeit 420 darstellt, wenn sie von der Ladungspumpen-Verwaltungskomponente des Controllers verwaltet wird. Wie in 4 dargestellt, kann die Operation der Ladungspumpe 440 zum Zeitpunkt T0 eingeleitet werden, um die Ladungspumpenspannung 440 auf einen ersten digital gesteuerten Pumpenspannungspegel 341 einzustellen. Bei Operation wird die Ladungspumpenspannung 440 digital gesteuert (z.B. mit einem DAC), um eine Reihe von gestuften Spannungspegeln zu erzeugen, die um einen Offset-Spannungspegel 450 (z.B. 2 Volt) erhöht werden, bis die Ziel-Regelungsspannung 455 der Ladungspumpe erreicht ist. Bei einem Ausführungsbeispiel bewirkt die Ladungspumpenspannung 440, dass eine digital gesteuerte Wortleitungsspannung 430 ansteigt, bis eine Ziel-Wortleitungsspannung 435 erreicht ist.
  • Wie in 4 gezeigt, prüft die Verarbeitungslogik zum Zeitpunkt T1 die Differenz zwischen dem ersten digital gesteuerten Pumpenspannungspegel 441 und dem digital gesteuerten Spannungspegel der Wortleitung 442, um zu bestimmen, ob die Headroom-Anforderung eingehalten wurde (z.B. ist die Differenz zwischen den beiden Spannungswerten größer als der Headroom-Grenzwertpegel). In dem in 4 gezeigten Beispiel bestimmt die Verarbeitungslogik, ob die Differenz zwischen dem ersten digital gesteuerten Pumpenspannungspegel 441 und dem digital gesteuerten Spannungspegel der Wortleitung 442 kleiner ist als der Headroom-Grenzwertpegel (z.B. 1 Volt), und daher die erste Bedingung erfüllt ist 470.
  • In dem in 4 gezeigten Beispiel sendet der Controller 435, als Reaktion auf das Erfüllen der ersten Bedingung 470 bei T1, ein Signal 436, um eine Erhöhung der Ladungspumpenspannung 340 von dem ersten digital gesteuerten Pumpenspannungspegel 441 auf den zweiten digital gesteuerten Pumpenspannungspegel 443 zu bewirken.
  • Bei einem Ausführungsbeispiel können die Operationen des Verfahrens 400 iterativ von der Verarbeitungsvorrichtung ausgeführt werden, um die Wortleitungsspannung unter Verwendung einer Reihe von Pumpenspannungs-Aktualisierungssignalen auf die Ziel-Wortleitungsspannung hochzufahren, um den Ladungspumpenspannungspegel als Reaktion auf das Erfüllen der Bedingung zu erhöhen (d.h., wenn die Differenz zwischen der Pumpenspannung und der Wortleitungsspannung kleiner oder gleich der Headroom-Anforderung ist). Wie in 4 dargestellt, kann der Controller 435 beispielsweise zu den Zeitpunkten T1, T2, T3 und T4 Aktualisierungssignale für die Pumpenspannung 436 als Reaktion auf eine Bestimmung ausgeben, dass eine Differenz zwischen einem Pegel der Wortleitungsspannung 430 und dem Pegel der Ladungspumpenspannung 340 kleiner ist als der Headroom-Schwellenwert.
  • 5 ist ein Flussdiagramm von einem beispielhaften Verfahren 500 zum Verwalten eines digital gesteuerten Ladungspumpenspannungspegels und eines Ladungspumpenstufenmodus einer Ladungspumpe gemäß einigen Ausführungsbeispielen der vorliegenden Erfindung, um einen digital gesteuerten Wortleitungsspannungspegel zu erhöhen oder hochzufahren, der mit einer Wortleitung in Beziehung steht, die mit einer Speicherzelle eines Speicher-Untersystems in Beziehung steht. Das Verfahren 400 kann von einer Verarbeitungslogik durchgeführt werden, die Hardware (z.B. Verarbeitungsvorrichtung, Schaltungen, dedizierte Logik, programmierbare Logik, Mikro-Code, Hardware einer Vorrichtung, integrierte Schaltungen, usw.), Software (z.B. Instruktionen, die auf einer Verarbeitungsvorrichtung ausgeführt werden) oder eine Kombination davon umfassen kann. Bei einigen Ausführungsbeispielen wird das Verfahren 500 von der Ladungspumpen-Verwaltungskomponente 113 aus 1 gesteuert. Bei einem Ausführungsbeispiel können die Operationen 510-540 des Verfahrens 500 im Anschluss an die Ausführung der vorstehend in Verbindung mit den 3 und 4 beschriebenen Operationen des Verfahrens 300 durchgeführt werden.
  • Bei Operation 510 wird ein digital gesteuerter Spannungspegel erhöht. Beispielsweise erhöht die Verarbeitungslogik, als Reaktion auf das Erfüllen einer ersten Bedingung (z.B. der Bedingung bei Operation 330 aus 3 oder der ersten Bedingung 470 aus 4), einen ersten digital gesteuerten Pumpenspannungspegel, der an eine Ladungspumpe angelegt wird, auf einen zweiten digital gesteuerten Pumpenspannungspegel. Bei einem Ausführungsbeispiel aktualisiert oder erhöht die Verarbeitungslogik den ersten digital gesteuerten Pumpenspannungspegel um den Offset-Spannungspegel (z.B. 2 Volt), um die zweite digital gesteuerte Pumpenspannung herzustellen. Wie oben beschrieben und in 4 dargestellt, sendet der Controller 435, als Reaktion auf das Erfüllen der ersten Bedingung 470 bei T1, ein Signal 436, um eine Erhöhung der Ladungspumpenspannung 440 von dem ersten digital gesteuerten Pumpenspannungspegel 441 auf den zweiten digital gesteuerten Pumpenspannungspegel 443 zu bewirken.
  • Bei Operation 520 erfolgt eine Bestimmung. Beispielsweise bestimmt die Verarbeitungslogik, ob ein gemessener digital gesteuerter Spannungspegel der Wortleitung eine zweite Bedingung erfüllt. Bei einem Ausführungsbeispiel ist die zweite Bedingung erfüllt, wenn der Spannungspegel der Wortleitung einen Grenzwertspannungspegel (auch als „Pumpenstufenmodus-Grenzwert“ bezeichnet) überschreitet. Wie in 4 dargestellt, bestimmt die Verarbeitungslogik des Controllers 435 bei T2, ob der Wortleitungsspannungspegel größer oder gleich einem Pumpenstufenübergangs-Grenzwertspannungspegel (z.B. die zweite Bedingung) 460 ist. Bei einem Ausführungsbeispiel ist der Grenzwertspannungspegel für den Pumpenstufenübergang ein Spannungspegel (z.B. 8 Volt), bei dem die Verarbeitungslogik die Ladungspumpe von einem ersten Stufenmodus (z.B. einem zweistufigen Modus) in einen zweiten Stufenmodus (z.B. einen vierstufigen Modus) überführt, um die Effizienz der Ladungspumpe zu verbessern. Bei einem Ausführungsbeispiel kann, obwohl in 4 ein Pumpenstufenübergangs-Grenzwertspannungspegel dargestellt ist, eine beliebige Anzahl von Pumpenstufenübergangs-Grenzwertspannungspegeln verwendet werden, so dass der Stufenmodus als Reaktion auf das Erreichen des entsprechenden Pumpenstufenübergangs-Grenzwertspannungspegels auf eine aktualisierte Anzahl von Stufen umgeschaltet werden kann.
  • Bei Operation 530 wird eine Anzahl von Pumpenstufen erhöht. Zum Beispiel erhöht die Verarbeitungslogik, als Reaktion auf das Bestimmen, dass die zweite Bedingung erfüllt ist, eine Anzahl von Stufen der Ladungspumpe von einer ersten Anzahl von Stufen auf eine zweite Anzahl von Stufen. Zum Beispiel kann die Verarbeitungslogik in Operation 530 die Ladungspumpe von einer zweistufigen Operation auf eine vierstufige Operation erhöhen. Bei einem Ausführungsbeispiel, wie in Operation 540 gezeigt, arbeitet die Ladungspumpe, wenn die zweite Bedingung nicht erfüllt ist, weiterhin mit einer ersten Anzahl von Stufen (z.B. eine Anzahl von Stufen der Ladungspumpe wird nicht geändert, wenn die zweite Bedingung nicht erfüllt ist).
  • In dem in 4 gezeigten Beispiel erzeugt der Controller 435 bei T2 ein Pumpenstufenübergangssignal 437, um den Pumpenstufenmodus der Ladungspumpe zu aktualisieren. In 4 wird die Ladungspumpe als Reaktion auf das Pumpenstufenübergangssignal 437 bei T2 in einen aktualisierten Stufenmodus umgeschaltet, um die Effizient der Ladungspumpe zu verbessern.
  • 6 zeigt eine schematische Darstellung, die eine Speichervorrichtung 610 mit einer Ladungspumpen-Verwaltungskomponente 113 gemäß den Ausführungsbeispielen der vorliegenden Erfindung enthält. Wie in 6 gezeigt, ist die Ladungspumpen-Verwaltungskomponente 113 bei einem Ausführungsbeispiel ein Teil eines lokalen Medien-Controllers 135 der Speichervorrichtung 610, die ein Array aus Wortleitungen eines Speicherchips 680 enthält, der eine ausgewählte Wortleitung 685 aufweist, die auf einen Ziel-Wortleitungsspannungspegel angehoben werden soll. Bei einem Ausführungsbeispiel überträgt die Ladungspumpen-Verwaltungskomponente 113 Befehle oder Signale an ein Steuerregister 620, um einen ersten DAC 630, der mit einer Ladungspumpe 660 in Beziehung steht, und einen zweiten DAC 650 zu steuern, der mit einem Spannungsregler 670 gekoppelt ist, der konfiguriert ist, um einen Spannungspegel an die ausgewählte Wortleitung 685 anzulegen, wie durch die gestrichelten Linien in 6 dargestellt.
  • Bei einem Ausführungsbeispiel erzeugt die Ladungspumpen-Verwaltungskomponente 113 Signale, um eine Ausgangsspannung der Ladungspumpe 660 (z.B. einen Ladungspumpenspannungspegel) festzulegen, die über den Spannungsregler 670 an die ausgewählte Wortleitung 685 angelegt wird.
  • Bei einem Ausführungsbeispiel kann eine endliche Zustandsmaschine 690 zwischen dem Steuerregister 620 und den DACs (z.B. dem ersten DAC 630 und dem zweiten DAC 650) vorgesehen sein. Die endliche Zustandsmaschine 690 kann konfiguriert sein, um als Reaktion auf einen von dem Steuerregister empfangenen Impuls zu starten, um Operationen zur Steuerung des Ladungspumpen-DAC 630 und des Wortleitungs-DAC 650 durchzuführen. Bei einem Ausführungsbeispiel kann die endliche Zustandsmaschine 690 konfiguriert sein, um einen Impuls anzulegen, um die Ladungspumpe 660 von einem aktuellen Pumpenspannungspegel auf einen nächsten Pumpenspannungspegel zu erhöhen (z.B. ein Pegel, der um den Offset-Spannungsgrenzwert erhöht ist).
  • Bei einem Ausführungsbeispiel kann ein Speicher-Untersystem-Controller 115 (z.B. ein Host-Controller) Befehle an die Ladungspumpen-Verwaltungskomponente 113 senden, um die Ausführung der digital gesteuerten Verwaltung der Ladungspumpe zu initiieren, um die hierin beschriebenen Funktionen und Operationen durchzuführen (z.B. die Ausführung der Verfahren 300 und 500 aus 3 bzw. 5). Bei einem Ausführungsbeispiel steuert die Ladungspumpen-Verwaltungskomponente 113 auf digitale Weise den Ladungspumpenspannungspegel, um es der Ladungspumpe 635 zu ermöglichen, effizient auf eine Ladungspumpengrenzwertspannung hochfahren zu können, während eine Last angelegt wird, um die ausgewählte Wortleitung 685 mit gesteuerter Anstiegsrate auf eine Ziel-Wortleitungsspannung hochzufahren.
  • 7 zeigt eine beispielhafte Maschine eines Computersystems 700, in dem ein Satz von Instruktionen ausgeführt werden kann, um die Maschine zu veranlassen, eine oder mehrere der hierin erörterten Methoden durchzuführen. Bei einigen Ausführungsbeispielen kann das Computersystem 700 einem Host-System entsprechen (z.B. das Host-System 120 aus 1), das ein Speicher-Untersystem (z.B. das Speicher-Untersystem 110 aus 1) enthält, mit diesem gekoppelt ist oder dieses nutzt, oder kann verwendet werden, um die Operationen eines Controllers auszuführen (z.B. um ein Betriebssystem auszuführen, um Operationen auszuführen, die der Ladungspumpen-Verwaltungskomponente 113 aus 1 und 5 entsprechen). Bei alternativen Ausführungsbeispielen kann die Maschine mit anderen Maschinen in einem LAN, einem Intranet, einem Extranet und/oder dem Internet verbunden (z.B. vernetzt) sein. Die Maschine kann in der Funktion eines Servers oder einer Client-Maschine in einer Client-Server-Netzwerkumgebung, als eine Peer-Maschine in einer Peer-to-Peer (oder verteilten) Netzwerkumgebung oder als ein Server oder eine Client-Maschine in einer Cloud-Computing-Infrastruktur oder -Umgebung arbeiten.
  • Bei der Maschine kann es sich um einen Personal Computer (PC), einen Tablet-PC, eine Set-Top-Box (STB), einen Personal Digital Assistant (PDA), ein Mobiltelefon, eine Web-Anwendung, einen Server, einen Netzwerk-Router, einen Switch oder Bridge oder eine beliebige Maschine handeln, die in der Lage ist, einen Satz von Instruktionen (sequentiell oder anderweitig) auszuführen, die die von dieser Maschine auszuführenden Aktionen spezifizieren. Auch wenn eine einzelne Maschine dargestellt ist, soll der Begriff „Maschine“ auch beliebige Typen von Maschinen umfassen, die einzeln oder gemeinsam einen Satz (oder mehrere Sätze) von Instruktionen ausführen, um eine oder mehrere der hier erörterten Methoden durchzuführen.
  • Das beispielhafte Computersystem 700 umfasst eine Verarbeitungsvorrichtung 702, einen Hauptspeicher 704 (z.B. Nur-Lese-Speicher (ROM), Flash-Speicher, dynamischer Direktzugriffsspeicher (DRAM), wie zum Beispiel synchroner DRAM (SDRAM) oder Rambus DRAM (RDRAM), usw.), einen statischen Speicher 706 (z.B. Flash-Speicher, statischer Direktzugriffsspeicher (SRAM), usw.) und ein Datenspeichersystem 718, die über einen Bus 730 miteinander kommunizieren.
  • Die Verarbeitungsvorrichtung 702 repräsentiert eine oder mehrere Allzweck-Verarbeitungsvorrichtungen, wie z.B. ein Mikroprozessor, eine zentrale Verarbeitungseinheit oder ähnliches. Insbesondere kann die Verarbeitungsvorrichtung ein CISC-Mikroprozessor (Complex Instruction Set Computing), ein RISC-Mikroprozessor (Reduced Instruction Set Computing), ein VLIW-Mikroprozessor (Very Long Instruction Word) oder ein Prozessor sein, der andere Befehlssätze implementiert, oder Prozessoren, die eine Kombination von Instruktionssätzen implementierten. Bei der Verarbeitungsvorrichtung 702 kann es sich auch um eine oder mehrere spezielle Verarbeitungsvorrichtungen handeln, wie z.B. eine anwendungsspezifische integrierte Schaltung (ASIC), ein FeldProgrammierbares Gate-Array (FPGA), ein digitaler Signalprozessor (DSP), ein Netzwerkprozessor oder Ähnliches. Die Verarbeitungsvorrichtung 702 ist konfiguriert, um Instruktionen 726 zur Durchführung der hier besprochenen Operationen und Schritte auszuführen. Das Computersystem 700 kann ferner eine Netzwerkschnittstellenvorrichtung 708 zur Kommunikation über das Netzwerk 720 enthalten.
  • Das Datenspeichersystem 718 kann ein maschinenlesbares Speichermedium 724 (auch als computerlesbares Medium bekannt) enthalten, auf dem ein oder mehrere Sätze von Instruktionen 726 oder Software gespeichert ist, die eine oder mehrere der hier beschriebenen Methoden oder Funktionen verkörpern. Die Instruktionen 726 können sich auch vollständig oder zumindest teilweise in dem Hauptspeicher 704 und/oder in der Verarbeitungsvorrichtung 702 befinden, während sie von dem Computersystem 700 ausgeführt werden, wobei der Hauptspeicher 704 und die Verarbeitungsvorrichtung 702 ebenfalls maschinenlesbare Speichermedien darstellen. Das maschinenlesbare Speichermedium 724, das Datenspeichersystem 718 und/oder der Hauptspeicher 704 können dem Speicher-Untersystem 110 aus 1 entsprechen.
  • Bei einem Ausführungsbeispiel enthalten die Instruktionen 726 Instruktionen zur Implementierung einer Funktionalität, die einer selektiven Verlagerungskomponente (z.B. der Ladungspumpen-Verwaltungskomponente 113 aus 1) entspricht. Obwohl das maschinenlesbare Speichermedium 724 in einem Ausführungsbeispiel als einzelnes Medium dargestellt ist, soll der Begriff „maschinenlesbares Speichermedium“ so verstanden werden, dass er ein einzelnes Medium oder mehrere Medien umfasst, die den einen oder mehrere Sätze von Instruktionen speichern. Der Begriff „maschinenlesbares Speichermedium“ soll auch jedes Medium umfassen, das in der Lage ist, einen Satz von Instruktionen zur Ausführung durch die Maschine zu speichern oder zu kodieren, und die die Maschine veranlassen, eine oder mehrere der Methoden der vorliegenden Erfindung durchzuführen. Der Begriff „maschinenlesbares Speichermedium“ umfasst dementsprechend Festkörperspeicher, optische Medien und magnetische Medien, ist aber nicht auf diese beschränkt.
  • Einige Teile der vorangehenden detaillierten Beschreibungen wurden in Form von Algorithmen und symbolischen Darstellungen von Operationen bezüglich Datenbits in einem Computerspeicher dargestellt. Diese algorithmischen Beschreibungen und Darstellungen werden vom Fachmann auf dem Gebiet der Datenverarbeitung verwendet, um anderen Fachleuten den Inhalt ihrer Arbeit am effektivsten zu vermitteln. Ein Algorithmus wird hier und allgemein als eine in sich konsistente Folge von Operationen verstanden, die zu einem gewünschten Ergebnis führt. Bei den Operationen handelt es sich um solche, die physikalische Manipulationen von physikalischen Größen erfordern. Normalerweise, wenn auch nicht notwendigerweise, haben diese Größen die Form von elektrischen oder magnetischen Signalen, die gespeichert, kombiniert, verglichen und anderweitig manipuliert werden können. Es hat sich zuweilen als zweckmäßig erwiesen, hauptsächlich aus Gründen des allgemeinen Sprachgebrauchs, diese Signale als Bits, Werte, Elemente, Symbole, Zeichen, Begriffe, Zahlen oder dergleichen zu bezeichnen.
  • Es sollte jedoch bedacht werden, dass alle diese und ähnliche Begriffe mit den entsprechenden physikalischen Größen in Verbindung gebracht werden müssen und lediglich praktische Bezeichnungen für diese Größen sind. Die vorliegende Offenbarung kann sich auf die Aktionen und Prozesse eines Computersystems oder einer ähnlichen elektronischen Rechenvorrichtung beziehen, die Daten, die als physikalische (elektronische) Größen in den Registern und Speichern des Computersystems dargestellt werden, manipuliert und in andere Daten umwandelt, die in ähnlicher Weise als physikalische Größen in den Speichern oder Registern des Computersystems oder anderen derartigen Informationsspeichersystemen dargestellt werden.
  • Die vorliegende Erfindung bezieht sich auch auf eine Vorrichtung zur Durchführung der hier beschriebenen Operationen. Diese Vorrichtung kann speziell für die beabsichtigten Zwecke konstruiert sein, oder sie kann einen Allzweckcomputer umfassen, der durch ein im Computer gespeichertes Computerprogramm selektiv aktiviert oder neu konfiguriert wird. Ein solches Computerprogramm kann in einem computerlesbaren Speichermedium gespeichert werden, wie z.B., aber nicht beschränkt auf, jeder Typ von Diskette, einschließlich Disketten, optische Disketten, CD-ROMs und magnetisch-optische Disketten, Festwertspeicher (ROMs), Speicher mit wahlfreiem Zugriff (RAMs), EPROMs, EEPROMs, magnetische oder optische Karten oder jede Art von Medien, die zur Speicherung von elektronischen Instruktionen geeignet sind und jeweils mit einem Computersystembus gekoppelt sind.
  • Die hier vorgestellten Algorithmen und Darstellungen sind nicht inhärent an einen bestimmten Computer oder ein anderes Gerät gebunden. Verschiedene Allzwecksysteme können mit Programmen gemäß den hierin enthaltenen Lehren verwendet werden, oder es kann sich als zweckmäßig erweisen, ein spezielleres Gerät zur Durchführung des Verfahrens zu konstruieren. Die Struktur für eine Vielzahl dieser Systeme wird in der folgenden Beschreibung dargestellt. Darüber hinaus wird die vorliegende Erfindung nicht unter Bezugnahme auf eine bestimmte Programmiersprache beschrieben. Es ist offensichtlich, dass eine Vielzahl von Programmiersprachen verwendet werden kann, um die Lehren der Offenbarung, wie hier beschrieben, zu implementieren.
  • Die vorliegende Erfindung kann als Computerprogrammprodukt oder in Form von Software bereitgestellt werden, die ein maschinenlesbares Medium mit darauf gespeicherten Instruktionen umfassen kann, die zur Programmierung eines Computersystems (oder anderer elektronischer Vorrichtungen) zur Durchführung eines Verfahrens gemäß der vorliegenden Erfindung verwendet werden können. Ein maschinenlesbares Medium umfasst jeden Mechanismus zum Speichern von Informationen in einer Form, die von einer Maschine (z.B. ein Computer) gelesen werden kann. Bei einigen Ausführungsbeispielen umfasst ein maschinenlesbares (z.B. computerlesbares) Medium, ein maschinenlesbares (z.B. computerlesbares) Speichermedium, wie zum Beispiel einen Festwertspeicher („ROM“), einen Direktzugriffsspeicher („RAM“), Magnetplatten-Speichermedien, optische Speichermedien, Flash-Speicherkomponenten usw.
  • In der vorstehenden Beschreibung wurden Ausführungsbeispiele der Erfindung unter Bezugnahme auf spezifische Ausführungsbeispiele beschrieben. Es ist offensichtlich, dass verschiedene Modifikationen daran vorgenommen werden können, ohne vom Grundgedanken und Umfang der Ausführungsbeispiele der Erfindung, wie in den folgenden Ansprüchen dargelegt, abzuweichen. Die Beschreibung und die Zeichnungen sind dementsprechend eher in einem illustrativen als in einem einschränkenden Sinne zu verstehen.

Claims (20)

  1. Speichervorrichtung, umfassend: ein Speicher-Array mit einer Wortleitung; und eine Steuerlogik, die funktional mit dem Speicher-Array gekoppelt ist, um Operationen durchzuführen, umfassend: Festlegen, durch eine Verarbeitungsvorrichtung, eines ersten digital gesteuerten Pumpenspannungspegels einer Ladungspumpe, die mit einer Wortleitung einer Speichervorrichtung eines Speicher-Untersystems gekoppelt ist; Bestimmen, ob ein gemessener digital gesteuerter Spannungspegel der Wortleitung und der erste digital gesteuerte Pumpenspannungspegel eine Bedingung erfüllen; und Bewirken, als Reaktion auf das Bestimmen, dass die Bedingung erfüllt ist, dass der erste digital gesteuerte Pumpenspannungspegel, der an die Ladungspumpe angelegt wird, auf einen zweiten digital gesteuerten Pumpenspannungspegel geändert wird.
  2. Speichervorrichtung nach Anspruch 1, wobei die Bedingung erfüllt ist, wenn eine Differenz zwischen dem gemessenen digital gesteuerten Spannungspegel der Wortleitung und dem ersten digital gesteuerten Pumpenspannungspegel kleiner als oder gleich einem Grenzwertpegel ist.
  3. Speichervorrichtung nach Anspruch 1, wobei die Operationen außerdem das Erzeugen eines ersten Aktualisierungssignals umfassen, um den ersten digital gesteuerten Pumpenspannungspegel auf den zweiten digital gesteuerten Pumpenspannungspegel zu erhöhen.
  4. Speichervorrichtung nach Anspruch 1, wobei die Operationen außerdem das Erzeugen einer Mehrzahl von Aktualisierungssignalen umfassen, um einen Spannungspegel der Ladungspumpe bis zum Erreichen eines Ziel-Regelungsspannungspegels der Ladungspumpe zu erhöhen.
  5. Speichervorrichtung nach Anspruch 1, wobei die Operationen außerdem umfassen, dass die Ladungspumpe veranlasst wird, einen Ziel-Wortleitungsspannungspegel der Wortleitung festzulegen.
  6. Speichervorrichtung nach Anspruch 1, wobei die Operationen außerdem umfassen: Bestimmen, ob der gemessene digital gesteuerte Spannungspegel eine Pumpenstufen-Bedingung erfüllt; und als Reaktion auf das Erfüllen der Pumpenstufen-Bedingung, Erhöhen einer Anzahl von Stufen der Ladungspumpe von einer ersten Anzahl von Stufen auf eine zweite Anzahl von Stufen.
  7. Speichervorrichtung nach Anspruch 6, wobei die Pumpenstufen-Bedingung erfüllt ist, wenn der gemessene digital gesteuerte Spannungspegel einen Pumpenstufenübergangs-Grenzwertspannungspegel überschreitet.
  8. Speichervorrichtung, umfassend: ein Speicher-Array mit einer Wortleitung; und eine Steuerlogik, die funktional mit dem Speicher-Array gekoppelt ist, um Operationen durchzuführen, umfassend: Bewirken, als Reaktion auf das Erfüllen einer ersten Bedingung, dass ein erster digital gesteuerter Pumpenspannungspegel, der an eine Ladungspumpe angelegt wird, auf einen zweiten digital gesteuerten Pumpenspannungspegel geändert wird; Bestimmen, ob ein gemessener digital gesteuerter Spannungspegel, der mit einer Wortleitung in Beziehung steht, eine zweite Bedingung erfüllt; und Bewirken, als Reaktion auf das Bestimmen, dass die Bedingung erfüllt ist, dass eine Anzahl von Stufen der Ladungspumpe von einer ersten Anzahl von Stufen auf eine zweite Anzahl von Stufen erhöht wird.
  9. Speichervorrichtung nach Anspruch 8, wobei die erste Bedingung erfüllt ist, wenn eine Differenz zwischen einem zuvor gemessenen digital gesteuerten Spannungspegel, der mit der Wortleitung in Beziehung steht, und dem ersten digital gesteuerten Pumpenspannungspegel kleiner oder gleich einem ersten Grenzwertspannungspegel ist.
  10. Speichervorrichtung nach Anspruch 9, wobei die zweite Bedingung erfüllt ist, wenn der gemessene digital gesteuerte Spannungspegel, der mit der Wortleitung in Beziehung steht, einen zweiten Grenzwertspannungspegel überschreitet.
  11. Speichervorrichtung nach Anspruch 8, wobei die Operationen außerdem das Erzeugen eines Aktualisierungssignals umfassen, um die Anzahl der Stufen der Ladungspumpe von der ersten Anzahl von Stufen auf die zweite Anzahl von Stufen zu erhöhen.
  12. Speichervorrichtung nach Anspruch 8, wobei die Operationen außerdem das Erzeugen einer Mehrzahl von Aktualisierungssignalen umfassen, um einen Spannungspegel der Ladungspumpe auf einen Ziel-Regelungsspannungspegel der Ladungspumpe zu erhöhen.
  13. Speichervorrichtung nach Anspruch 8, wobei die Operationen außerdem umfassen, dass die Ladungspumpe veranlasst wird, einen Ziel-Wortleitungsspannungspegel der Wortleitung festzulegen.
  14. Nicht-transitorisches computerlesbares Medium, das Instruktionen enthält, die, wenn sie von einer Verarbeitungsvorrichtung ausgeführt werden, die Verarbeitungsvorrichtung veranlassen, Operationen durchzuführen, umfassend: Festlegen eines ersten digital gesteuerten Pumpenspannungspegels einer Ladungspumpe, die mit einer Wortleitung einer Speichervorrichtung eines Speicher-Untersystems gekoppelt ist; Bestimmen, ob ein gemessener digital gesteuerter Spannungspegel der Wortleitung und der erste digital gesteuerte Pumpenspannungspegel eine Bedingung erfüllen; und Bewirken, als Reaktion auf das Bestimmen, dass die Bedingung erfüllt ist, dass der erste digital gesteuerte Pumpenspannungspegel, der an die Ladungspumpe angelegt wird, auf einen zweiten digital gesteuerten Pumpenspannungspegel geändert wird.
  15. Nicht-transitorisches computerlesbares Medium nach Anspruch 14, wobei die Bedingung erfüllt ist, wenn eine Differenz zwischen dem gemessenen digital gesteuerten Spannungspegel der Wortleitung und dem ersten digital gesteuerten Pumpenspannungspegel kleiner als oder gleich einem Grenzwertpegel ist.
  16. Nicht-transitorisches computerlesbares Medium nach Anspruch 14, wobei die Operationen außerdem das Erzeugen eines ersten Aktualisierungssignals umfassen, um den ersten digital gesteuerten Pumpenspannungspegel auf den zweiten digital gesteuerten Pumpenspannungspegel zu erhöhen.
  17. Nicht-transitorisches computerlesbares Medium nach Anspruch 14, wobei die Operationen außerdem das Erzeugen einer Mehrzahl von Aktualisierungssignalen umfassen, um einen Spannungspegel der Ladungspumpe auf einen Ladungspumpengrenzwertspannungspegel zu erhöhen.
  18. Nicht-transitorisches computerlesbares Medium nach Anspruch 14, wobei die Operationen außerdem umfassen: Bewirken, dass die Ladungspumpe einen Ziel-Wortleitungsspannungspegel der Wortleitung festlegt.
  19. Nicht-transitorisches computerlesbares Medium nach Anspruch 14, wobei die Operationen außerdem umfassen: Bestimmen, ob der gemessene digital gesteuerte Spannungspegel eine Pumpenstufen-Bedingung erfüllt; und als Reaktion auf das Erfüllen der Pumpenstufen-Bedingung, Erhöhen einer Anzahl von Stufen der Ladungspumpe von einer ersten Anzahl von Stufen auf eine zweite Anzahl von Stufen.
  20. Nicht-transitorisches computerlesbares Medium nach Anspruch 19, wobei die Pumpenstufen-Bedingung erfüllt ist, wenn der gemessene digital gesteuerte Spannungspegel einen Pumpenstufenübergangs-Grenzwertspannungspegel überschreitet.
DE102021005946.8A 2020-12-01 2021-12-01 Verwaltung der digital gesteuerten ladungspumpen-operation in einem speicher-untersystem Pending DE102021005946A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/108,293 US11443816B2 (en) 2020-12-01 2020-12-01 Managing digitally-controlled charge pump operation in a memory sub-system
US17/108,293 2020-12-01

Publications (1)

Publication Number Publication Date
DE102021005946A1 true DE102021005946A1 (de) 2022-06-02

Family

ID=81586197

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102021005946.8A Pending DE102021005946A1 (de) 2020-12-01 2021-12-01 Verwaltung der digital gesteuerten ladungspumpen-operation in einem speicher-untersystem

Country Status (3)

Country Link
US (2) US11443816B2 (de)
CN (1) CN114582408A (de)
DE (1) DE102021005946A1 (de)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11443816B2 (en) * 2020-12-01 2022-09-13 Micron Technology, Inc. Managing digitally-controlled charge pump operation in a memory sub-system
JP7433482B2 (ja) * 2021-03-30 2024-02-19 長江存儲科技有限責任公司 3次元メモリーデバイスにおける非同期のマルチプレーンの独立したスキームのダイナミックアナログリソースシェアリング
CN115424642B (zh) * 2022-11-03 2023-01-31 成都市硅海武林科技有限公司 一种具有二级起泵的fpga电荷泵电路

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6842271B2 (ja) * 2016-10-07 2021-03-17 ラピスセミコンダクタ株式会社 電源回路及び半導体記憶装置
US10249346B2 (en) * 2017-07-13 2019-04-02 Winbond Electronics Corp. Power supply and power supplying method thereof for data programming operation
US11069415B2 (en) * 2018-10-05 2021-07-20 Samsung Electronics Co., Ltd. Memory device including charge pump circuit
US11561603B2 (en) * 2018-12-20 2023-01-24 Micron Technology, Inc. Memory device low power mode
US11424676B2 (en) * 2020-01-24 2022-08-23 Stmicroelectronics International N.V. Positive and negative charge pump control
US11443816B2 (en) * 2020-12-01 2022-09-13 Micron Technology, Inc. Managing digitally-controlled charge pump operation in a memory sub-system

Also Published As

Publication number Publication date
US11948647B2 (en) 2024-04-02
US11443816B2 (en) 2022-09-13
CN114582408A (zh) 2022-06-03
US20220172788A1 (en) 2022-06-02
US20230116024A1 (en) 2023-04-13

Similar Documents

Publication Publication Date Title
DE102021005946A1 (de) Verwaltung der digital gesteuerten ladungspumpen-operation in einem speicher-untersystem
DE102011085988B4 (de) Verfahren und Vorrichtungen zum Beeinflussen eines Betriebszustands eines Mehrfachpegelzelle-Speichers
DE112020006139T5 (de) Vor-lese-und lese-schwellenspannungsoptimierung
DE112019000161T5 (de) Speicher-cache-verwaltung
DE112020006215T5 (de) Blockfamilien-basierte Fehlervermeidung für Speichervorrichtungen
DE102008009235A1 (de) Speichersystem
DE102009035340A1 (de) Verfahren zum Programmieren eines nichtflüchtigen Speicherelements, Halbleiterbauelement, Karte und System
DE102020116188B4 (de) Verbesserung der sourceseitigen vorladung und verstärkung für das programmieren in umgekehrter reihenfolge
DE112021000776T5 (de) Verwaltung von schreib-operationen in einer nichtflüchtigen speichervorrichtung unter verwendung eines variablen vor-lese-spannungspegels
DE102010037064A1 (de) Nichtflüchtige Speichervorrichtung und -system sowie Verfahren des Programmierens einer nichtflüchtigen Speichervorrichtung
DE102019135863A1 (de) Speichercontroller, Speichervorrichtung und Speichersystem mit verbesserten Schwellenspannungs-Verteilungseigenschaften und ähnliche Betriebsverfahren
DE102020107504A1 (de) Nichtflüchtiges speicher-array, das zur leistungsverbesserung von beiden seiten angesteuert wird
DE112020005395T5 (de) Kapazitätserweiterung für speicher-untersysteme
DE112021000474T5 (de) Durchführung einer Medienverwaltungsoperation basierend auf einer Änderung eines Schreibmodus eines Datenblocks in einem Cache
DE112021001848T5 (de) Mehrere pinkonfigurationen von speichervorrichtungen
DE102023124271A1 (de) Statischer Spannungsregler mit zeitlich verschachtelter Ladungspumpe
DE112020006053T5 (de) Aktiver eingabe/ausgabe-expander eines speicher-untersystems
DE102022003637A1 (de) Multigesampeltes, ladungsverteilendes thermometer in speichervorrichtung
DE102021006099A1 (de) Ultra-kompakter seitenpuffer
DE112019000108T5 (de) Kodier-raten-umschaltmechanismus für flash-speicher
DE102021006246A1 (de) Doppelt verschachtelte Programmierung einer Speichervorrichtung in einem Speicher-Untersystem
DE102022208688A1 (de) Speichervorrichtung und betriebsverfahren der speichervorrichtung
DE102022207672A1 (de) Kodiervorrichtung, speichergerät und betriebsverfahren des speichergeräts
DE102022101341A1 (de) Spitzen- und durchschnitts-icc-reduzierung durch stufenbasierte abtastung während der programmverifizierungsvergänge von nichtflüchtigen speicherstrukturen
DE102022203924A1 (de) Datenspeichervorrichtung und betriebsverfahren davon

Legal Events

Date Code Title Description
R012 Request for examination validly filed