DE112015003638T5 - Speichermodul und -verfahren für optimierte Energienutzung - Google Patents

Speichermodul und -verfahren für optimierte Energienutzung Download PDF

Info

Publication number
DE112015003638T5
DE112015003638T5 DE112015003638.5T DE112015003638T DE112015003638T5 DE 112015003638 T5 DE112015003638 T5 DE 112015003638T5 DE 112015003638 T DE112015003638 T DE 112015003638T DE 112015003638 T5 DE112015003638 T5 DE 112015003638T5
Authority
DE
Germany
Prior art keywords
memory
memory module
energy
controller
processed
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
DE112015003638.5T
Other languages
English (en)
Inventor
Eran Erez
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.)
SanDisk Technologies LLC
Original Assignee
SanDisk Technologies LLC
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 SanDisk Technologies LLC filed Critical SanDisk Technologies LLC
Publication of DE112015003638T5 publication Critical patent/DE112015003638T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0625Power saving in storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3215Monitoring of peripheral devices
    • G06F1/3225Monitoring of peripheral devices of memory devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/325Power saving in peripheral device
    • G06F1/3275Power saving in memory, e.g. RAM, cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0653Monitoring storage devices or systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0658Controller construction arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0688Non-volatile semiconductor memory arrays
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

Ein Speichermodul und -verfahren für optimierte Energienutzung werden bereitgestellt. In einer Ausführungsform wird ein Speichermodul bereitgestellt, das eine Speichersteuereinrichtung und eine Vielzahl von Speicherchips in Kommunikation mit der Speichersteuereinrichtung umfasst. Die Speichersteuereinrichtung ermittelt, ob ausreichend Energie verfügbar ist, um einen Vorgang auf einem der Speicherchips durchzuführen. Als Reaktion auf das Ermitteln, dass nicht ausreichend Energie verfügbar ist, um den Vorgang auf einem der Speicherchips durchzuführen, ermittelt die Speichersteuereinrichtung, ob ein Anhalten eines in Bearbeitung befindlichen Vorgangs auf einem anderen der Speicherchips ausreichend Energie bereitstellen würde, um den Vorgang durchzuführen. Als Reaktion auf das Ermitteln, dass das Anhalten des in Bearbeitung befindlichen Vorgangs ausreichend Energie bereitstellen würde, um den Vorgang durchzuführen, hält die Speichersteuereinrichtung den in Bearbeitung befindlichen Vorgang an und führt den Vorgang durch. Anstatt des Anhaltens eines in Bearbeitung befindlichen Vorgangs kann die Speichersteuereinrichtung stattdessen eine Version des Vorgangs oder des in Bearbeitung befindlichen Vorgangs mit reduzierter Energie verwenden.

Description

  • Hintergrund
  • Manche Speichermodule, wie ein Festkörperlaufwerk (SSD), enthalten eine Vielzahl von Speicherchips (z. B. in einem Mehrchippaket), die parallel gelesen oder geschrieben werden können. Solche Speichermodule weisen üblicherweise einen maximalen Energieschwellenwert auf, der die Anzahl der Vorgänge einschränkt, die zu einem gegebenen Zeitpunkt ausgeführt werden können. Wenn sich der tatsächliche Energieverbrauch dem maximalen Energieschwellenwert nähert, kann eine Steuereinrichtung im Speichermodul einen neuen Vorgang zurückhalten (z. B. eine Übertragung über die NAND-Schnittstelle hinweg und/oder einen Schreibvorgang), um die Grenze nicht zu überschreiten. Idealerweise ist die im Speichermodul verbrauchte Energie gleich der maximalen Energieverbrauchsgrenze. Da jedoch verschiedene Vorgänge verschiedene Energiemengen verbrauchen können, ist die tatsächlich bei der Drosselung von Vorgängen verbrauchte Energie auf diese Weise oft kleiner als der maximale Energieverbrauch, was zu einer ineffizienten Energienutzung führt.
  • Überblick
  • Ausführungsformen der vorliegenden Erfindung werden durch die Ansprüche definiert und nichts in diesem Abschnitt sollte als eine Einschränkung dieser Ansprüche angesehen werden.
  • Einleitend betreffen die Ausführungsformen unten ein Speichermodul und -verfahren für optimierte Energienutzung. In einer Ausführungsform wird ein Speichermodul bereitgestellt, das eine Speichersteuereinrichtung und eine Vielzahl von Speicherchips in Kommunikation mit der Speichersteuereinrichtung umfasst. Die Speichersteuereinrichtung ermittelt, ob ausreichend Energie verfügbar ist, um einen Vorgang auf einem der Speicherchips durchzuführen. Als Reaktion auf das Ermitteln, dass nicht ausreichend Energie verfügbar ist, um den Vorgang auf einem der Speicherchips durchzuführen, ermittelt die Speichersteuereinrichtung, ob ein Anhalten eines in Bearbeitung befindlichen Vorgangs auf einem anderen der Speicherchips ausreichend Energie bereitstellen würde, um den Vorgang durchzuführen. Als Reaktion auf das Ermitteln, dass das Anhalten des in Bearbeitung befindlichen Vorgangs ausreichend Energie bereitstellen würde, um den Vorgang durchzuführen, hält die Speichersteuereinrichtung den in Bearbeitung befindlichen Vorgang an und führt den Vorgang durch. Anstatt des Anhaltens eines in Bearbeitung befindlichen Vorgangs kann die Speichersteuereinrichtung stattdessen eine Version des Vorgangs oder des in Bearbeitung befindlichen Vorgangs mit reduzierter Energie verwenden.
  • Andere Ausführungsformen sind möglich und jede der Ausführungsformen kann alleine oder zusammen in Kombination verwendet werden. Dementsprechend werden nun verschiedene Ausführungsformen unter Bezugnahme auf die beigefügten Zeichnungen beschrieben.
  • Kurzbeschreibung der Zeichnungen
  • 1 ist ein Blockdiagramm eines beispielhaften Speichermoduls einer Ausführungsform.
  • 2A ist ein Blockdiagramm eines Hosts einer Ausführungsform, wobei das beispielhafte Speichermodul von 1 im Host eingebettet ist.
  • 2B ist ein Blockdiagramm des beispielhaften Speichermoduls von 1, das entfernbar mit einem Host verbunden ist, wobei das Speichermodul und der Host trennbare, entfernbare Einrichtungen sind.
  • 3 ist ein Diagramm, das eine durchschnittliche verschwendete Energie zeigt, wenn ein Drosselungsvorgang verwendet wird.
  • 4 ist ein Diagramm, das eine durchschnittliche verschwendete Energie zeigt, wenn ein Verfahren für optimierte Energienutzung einer Ausführungsform verwendet wird.
  • 5 ist ein Ablaufdiagramm eines Verfahrens einer Ausführungsform für optimierte Energienutzung.
  • 6 ist ein Ablaufdiagramm eines Verfahrens einer Ausführungsform, das eine reduzierte Energieversion eines neuen Vorgangs verwendet.
  • 7 ist ein Ablaufdiagramm eines Verfahrens einer Ausführungsform, das eine reduzierte Energieversion eines bestehenden Vorgangs verwendet.
  • Ausführliche Beschreibung der derzeit bevorzugten Ausführungsformen
  • Wie im Abschnitt zum Stand der Technik oben erwähnt, ist das Zurückhalten eines neuen Vorgangs (z. B. einer Übertragung über die NAND-Schnittstelle hinweg und/oder eines Schreibvorgangs), um ein Überschreiten einer maximalen Energieschwelle eines Speichermoduls zu vermeiden, oft ineffizient, da eine solche Drosselung oft in einem Verbrauch von weit geringerer Energie als erlaubt resultiert. Die folgenden Ausführungsformen können verwendet werden, um einen effizienteren Weg der Energieverwaltung bereitzustellen. Bevor wir uns diesen und anderen Ausführungsformen zuwenden, legen die folgenden Paragrafen eine Besprechung von beispielhaften Speichermodulen dar, die mit diesen Ausführungsformen verwendet werden können. Natürlich sind dies nur Beispiele und andere geeignete Arten von Speichermodulen können verwendet werden.
  • Wie in 1 illustriert, umfasst ein Speichermodul 100 einer Ausführungsform eine Speichersteuereinrichtung 110 und ein nichtflüchtiges Speicherpaket 120, das eine Vielzahl von Speicherchips beinhaltet (Chip 0 bis Chip N). Obwohl nur ein nichtflüchtiges Speicherpaket 120 und eine Speicherschnittstelle 111 in 1 gezeigt werden, sollte klar sein, dass das Speichermodul 100 mehr als ein nichtflüchtiges Speicherpaket und/oder mehr als eine Speicherschnittstelle 111 aufweisen kann. Die Speichersteuereinrichtung 110 umfasst eine Speicherschnittstelle (z. B. eine NAND-Schnittstelle) 111 zum Ankoppeln an das nichtflüchtige Speicherpaket 120 und eine Host-Schnittstelle 112 zum Platzieren des Speichermoduls 100 wirksam in Kommunikation mit einer Host-Steuereinrichtung. Wie hier verwendet, könnte der Ausdruck „wirksam in Kommunikation mit“ direkt in Kommunikation mit oder indirekt in (verdrahteter oder drahtloser) Kommunikation mit einer oder mehreren Komponenten bedeuten, die hier gezeigt oder beschrieben werden können oder auch nicht.
  • Wie in 2A gezeigt, kann das Speichermodul 100 in einem Host 210 eingebettet werden, der eine Host-Steuereinrichtung 220 aufweist. Das heißt, der Host 210 bildet die Host-Steuereinrichtung 220 und das Speichermodul 100 aus, sodass die Host-Steuereinrichtung 220 an das eingebettete Speichermodul 100 ankoppelt, um seine Vorgänge zu verwalten. Das Speichermodul 100 kann zum Beispiel die Form einer iNANDTM eSD/eMMC-eingebetteten Flashlaufwerks von SanDisk Corporation oder allgemeiner, einer beliebigen Art von Festkörperlaufwerk (SSD), einer Hybrid-Steuereinrichtung (die sowohl ein Festplattenlaufwerk als auch ein Festkörperlaufwerk aufweist) und eines Speicher-Zwischenspeichersystems annehmen. Die Host-Steuereinrichtung 220 kann an das eingebettete Speichermodul 100 unter Verwendung beispielsweise einer eMMC-Host-Schnittstelle oder einer UFS-Schnittstelle ankoppeln. Der Host 210 kann eine beliebige Form annehmen, wie ein Mobiltelefon, einen Tablet-Computer, einen digitalen Medienplayer, eine Spieleinrichtung, einen Organizer (PDA), einen mobilen (z. B. Notebook, Laptop) Personalcomputer (PC) oder ein Buchlesegerät, aber nicht darauf beschränkt. Wie in 2A gezeigt, kann der Host 210 optionale andere Funktionalitätsmodule 230 beinhalten. Wenn der Host 210 beispielsweise ein Mobiltelefon ist, können die anderen Funktionalitätsmodule 230 Hardware- und/oder Softwarekomponenten beinhalten, um Telefonanrufe zu machen und zu tätigen. Als ein weiteres Beispiel, wenn der Host 210 Netzwerkverbindungsfähigkeiten aufweist, können die anderen Funktionalitätsmodule 230 eine Netzwerkschnittstelle beinhalten. Natürlich sind dies nur einige Beispiele und andere Implementierungen können verwendet werden. Außerdem kann der Host 210 andere Komponenten beinhalten (z. B. eine Audioausgabe, Eingabe-Ausgabe-Anschlüsse usw.), die nicht in 2A gezeigt werden, um die Zeichnung zu vereinfachen. Es sollte angemerkt werden, dass, obwohl die Host-Steuereinrichtung 220 das Speichermodul 100 steuern kann, das Speichermodul 100 seine eigene Steuereinrichtung aufweisen kann, um seine internen Speichervorgänge zu steuern. Im Allgemeinen kann eine Host-Steuereinrichtung auch eine beliebige Steuereinrichtung sein, die fähig ist, an das Speichermodul anzukoppeln, egal ob es sich um eine Steuereinrichtung in monolithischer Form, eine gesamte Steuereinrichtung oder ein separates Funktionalitätsmodul handelt.
  • Wie in 2B gezeigt, anstatt eine eingebettete Einrichtung in einem Host zu sein, kann das Speichermodul 100 physische und elektrische Anschlussteile aufweisen, die dem Speichermodul 100 erlauben, entfernbar über Gegenanschlussteile mit einem Host 240 verbunden zu sein (der eine Host-Steuereinrichtung 245 aufweist). Als solches ist das Speichermodul 100 eine separate Einrichtung vom Host 240 (und ist nicht in diesen eingebettet). In diesem Beispiel kann das Speichermodul 100 eine tragbare, entfernbare Speichereinrichtung sein, wie eine sichere digitale Speicherkarte (SD-Speicherkarte), eine microSD-Speicherkarte, eine CompactFlash-Speicherkarte (CF-Speicherkarte), eine Universal-Serial-Bus-Einrichtung (USB-Einrichtung) (mit einer USB-Schnittstelle zum Host) oder ein Festkörperlaufwerk (SSD), und der Host 240 ist eine separate Einrichtung, wie zum Beispiel ein Mobiltelefon, ein Tablet-Computer, ein digitaler Medienplayer, eine Spieleeinrichtung, ein Organizer (PDA), ein mobiler (z. B. Notebook, Laptop) Personalcomputer (PC) oder ein Buchlesegerät.
  • In den 2A und 2B ist das Speichermodul 100 über die in 1 gezeigte Host-Schnittstelle 112 in Kommunikation mit einer Host-Steuereinrichtung 220 oder einem Host 240. Die Host-Schnittstelle 112 kann eine beliebige geeignete Form annehmen, wie eine eMMC-Host-Schnittstelle, eine UFS-Schnittstelle und eine USB-Schnittstelle, aber nicht darauf beschränkt. Die Host-Schnittstelle 110 im Speichermodul 110 übermittelt Speicherverwaltungsbefehle von der Host-Steuereinrichtung 220 (2A) oder dem Host 240 (2B) an die Speichersteuereinrichtung 110 und übermittelt auch Speicherantworten von der Speichersteuereinrichtung 110 an die Host-Steuereinrichtung 220 (2A) oder den Host 240 (2B). Außerdem sollte angemerkt werden, dass, wenn das Speichermodul 110 im Host 210 eingebettet ist, einige oder alle der hier als von der Speichersteuereinrichtung 110 im Speichermodul 100 durchgeführt beschriebenen Funktionen stattdessen von der Host-Steuereinrichtung 220 durchgeführt werden können.
  • Zu 1 zurückkehrend umfasst die Speichersteuereinrichtung 110 eine Zentralprozessoreinheit (CPU) 113, eine optionale Hardware-Crypto-Engine 114, die betrieben werden kann, um Verschlüsselungs- und/oder Entschlüsselungvorgänge bereitzustellen, Speicher mit wahlfreiem Zugriff (RAM) 215, schreibgeschützten Speicher (ROM) 116, der Firmware für die grundlegenden Vorgänge des Speichermoduls 100 speichern kann, und einen nichtflüchtigen Speicher (NVM) 117, der einen einrichtungsspezifischen Schlüssel speichern kann, der für Verschlüsselungs-/Entschlüsselungsvorgänge verwendet werden kann, wenn diese verwendet werden. Die Speichersteuereinrichtung 110 kann auf eine beliebige geeignete Weise implementiert werden. Die Speichersteuereinrichtung 110 kann zum Beispiel die Form von einem Mikroprozessor oder Prozessor und einem computerlesbaren Medium annehmen, das computerlesbaren Programmcode speichert (z. B. Software oder Firmware), der zum Beispiel vom (Mikro-)Prozessor, logischen Gattern, Switches, einem anwendungsspezifischen integrierten Schaltkreis (ASIC), einer speicherprogrammierbaren Steuerung und einem eingebetteten Mikrocontroller ausführbar ist. Geeignete Steuereinrichtungen sind von SanDisk oder anderen Anbietern erhältlich. Die Speichersteuereinrichtung 110 kann mit Hardware und/oder Software konfiguriert werden, um die verschiedenen, unten beschriebenen und in den Ablaufdiagrammen gezeigten Funktionen durchzuführen. Außerdem können einige der als intern zur Speichersteuereinrichtung 110 gezeigten Komponenten auch extern zur Speichersteuereinrichtung 110 gespeichert werden und andere Komponenten können verwendet werden. Das RAM 115 (oder eine zusätzliche RAM-Einheit) kann beispielsweise außerhalb des Steuereinrichtungschips angeordnet sein und als ein Seitenpuffer für Daten verwendet werden, die aus dem Speicherpaket 120 gelesen werden und/oder in dieses geschrieben werden.
  • Die Speicherchips im nichtflüchtigen Speicherpaket 120 können auch eine beliebige geeignete Form annehmen. In einer Ausführungsform nimmt bzw. nehmen zum Beispiel einer oder mehrere der Speicherchips die Form eines Festkörperspeichers (z. B. Flashspeichers) an und kann bzw. können einmal programmierbar, wenige Male programmierbar oder viele Male programmierbar sein. Die Speicherchips können auch Single-Level-Cell-(SLC-), Multi-Level-Cell-(MLC-), Triple-Level-Cell-Speichertechnologien(TLC-Speichertechnologien) oder andere Speichertechnologien verwenden, nun bekannt oder später entwickelt. Außerdem können die Speicherchips ein zweidimensionaler Speicher oder ein dreidimensionaler Speicher sein.
  • Wie oben erwähnt muss das Speichermodul 100 sicherstellen, dass die tatsächlich verbrauchte Energie kleiner als ein maximaler Energieverbrauchsschwellenwert ist. Hierzu kann die Steuereinrichtung 110 des Speichermoduls den Gesamtenergieverbrauch auf Basis von Vorgängen (z. B. eine Übertragung von Daten über die Speicherschnittstelle 111 hinweg, einen Schreibvorgang, einen Lesevorgang oder einen Löschvorgang) vorausberechnen, die im bzw. in den Speicherchip(s) des Speichermoduls 100 durchzuführen sind. Wenn der vorausberechnete Verbrauch größer als der Schwellenwert ist, kann den Vorgang zurückhalten, sodass er nicht durchgeführt wird. Unterschiedliche Vorgänge können jedoch unterschiedliche Energiemengen auf unausgeglichene Weise verbrauchen. Wenn zum Beispiel Daten über eine NAND-Schnittstelle übertragen werden (für einen Lese- oder Schreibvorgang), kann eine solche Übertragung für eine relativ kurze Dauer 300 mW (oder 3 Energieeinheiten) verbrauchen. Während Lesevorgänge typischerweise von niedriger Energie sind und in diesem Beispiel als 0 Energieeinheiten verbrauchend angenommen werden), kann ein Schreibvorgang 100 mW (oder 1 Energieeinheit) für eine sehr lange Dauer verbrauchen. Wenn ein Speichermodul wie ein SSD in hoher Parallelität nahe der Energiegrenze arbeitet, kann dieses Energieungleichgewicht in ineffizientem Energieverbrauch resultieren, wie im Diagramm in 3 illustriert.
  • 3 zeigt ein Beispiel von Energieverbrauch beim Schreiben von Daten in ein Speichermodul aus vier Chips, bei dem die Energieschwellengrenze in einem beliebigen gegebenen Zeitsegment 5 Einheiten beträgt. Am Beginn dieses Schreibprozesses werden drei Seiten von Daten an das Speichermodul 100 zur Speicherung in NAND-Chips 0, 1 und 2 gesendet. Wie in 3 zum Zeitpunkt 1 gezeigt, wird die erste Seite von Daten für 3 Energieeinheiten übertragen. Da kein anderer Vorgang zu diesem Zeitpunkt eintritt, werden 2 Energieeinheiten verschwendet (d. h. die Energiegrenze ist 5 Einheiten, aber nur 3 Einheiten werden verwendet). Zum Zeitpunkt 2 wird damit begonnen, dass die erste Seite von Daten, die zum Zeitpunkt 1 empfangen wurde, in den NAND-Chip 0 geschrieben wurde. Das Schreiben dieser Seite dauert 6 Zeitsegmente, mit 1 Energieeinheit pro Zeitsegment. Deshalb erfordert das Schreiben dieser Seite 1 Energieeinheit in Zeitpunkten 2–7. Gleichermaßen wird die Seite der zum Zeitpunkt 2 empfangenen Daten von den Zeitpunkten 3–8 mit 1 Energieeinheit pro Zeitsegment in den NAND-Chip 1 geschrieben. Und die Seite der zum Zeitpunkt 3 empfangenen Daten wird von den Zeitpunkten 4–9 mit 1 Energieeinheit pro Zeitsegment in den NAND-Chip 2 geschrieben. Wie im Diagramm gezeigt benötigen die Datenübertragung und/oder die Schreibvorgänge vom Zeitpunkt 1 bis zum Zeitpunkt 7 zwischen 3 und 5 Energieeinheiten zu einem beliebigen gegebenen Zeitsegment, was 0–2 Energieeinheiten zu allen gegebenen Zeitsegmenten übrig lässt. 0–2 Energieeinheiten ist nicht ausreichend Energie, um zusätzliche Seiten von Daten über die Speicherschnittstelle 111 zu empfangen, da das Empfangen einer weiteren Seite von Daten 3 Energieeinheiten erfordert. Deshalb muss das Speichermodul 100 bis zum Zeitpunkt 8 warten, wenn es ausreichend Energie gibt, um eine neue Seite von Daten von der Steuereinrichtung 110 über die Speicherschnittstelle 111 zu empfangen. Das heißt, obwohl es zu den Zeitpunkten 2–7 übrig gebliebene Energie gab, war diese übrig gebliebene Energie nicht ausreichend, um die Schnittstelle mit Energie zu versorgen, um neue, zu schreibende Daten anzunehmen oder aus dem Speicher gelesene Daten auszusenden. Dieses Problem breitet sich durch die anderen Zeitsegmente aus.
  • Falls deshalb das Speichermodul 100 in diesem Beispiel bei 3 oder mehr Energieeinheiten vom Grenzschwellenwert arbeitet und ein NAND-Übertragungsvorgang anhängig ist, dann ist der NAND-Übertragungsvorgang erlaubt. Falls jedoch weniger als 3 Energieeinheiten verfügbar sind, dann wird der NAND-Übertragungsvorgang zurückgehalten, bis irgendein laufender Vorgang (z. B. ein Programm) endet und dadurch 1 Energieeinheit freigibt, um zuzulassen, dass der NAND-Übertragungsvorgang beginnt. Auf diese Weise resultieren Drosselungsvorgänge in einem Betreiben des Speichermoduls 100 durchschnittlich 1,2 Energieeinheiten unter der Schwellenwertgrenze, wodurch in diesem Beispiel 1,2 Energieeinheiten „verschwendet“ werden.
  • Um einen effizienteren Weg zum Vermeiden des Überschreitens eines maximalen Energieschwellenwerts bereitzustellen, können die folgenden Ausführungsformen verwendet werden, um die Energienutzung zu optimieren. In einer Ausführungsform verwendet das Speichermodul eine manuelle Anhalte-/Fortsetzungsfunktion, anstatt einen neuen Vorgang zurückzuhalten, um den Energieverbrauch zu steuern. Diese Ausführungsform nutzt die Tatsache aus, dass der Speicherchip (z. B. NAND) geringfügige Energie verbraucht, wenn ein Programmvorgang angehalten wird; und wenn der Programmvorgang fortgesetzt wird, setzt der Speicherchip von dem Punkt fort, wo er angehalten wurde. Wenn nach dieser Ausführungsform ein neuer Vorgang (z. B. eine Datenübertragung über die Speicherschnittstelle 111) angefordert wird, kann das Speichermodul 100 einen oder mehrere laufende Vorgänge (z. B. Programmvorgänge) anhalten, bis es ausreichend Energie gibt, um den neuen Vorgang zu erlassen, vorausgesetzt, dass die Energiegrenzen erfüllt sind. Nach Abschluss des neuen Vorgangs kann bzw. können der angehaltene Vorgang bzw. die ausgehaltenen Vorgänge fortgesetzt werden.
  • 4 zeigt ein Diagramm, dem in 3 ähnlich, um die Energieeinsparungen zu illustrieren, die von dieser Ausführungsform geboten werden. In der in 3 gezeigten Energiedrosselungssituation hatte der Zeitpunkt 4 2 Energieeinheiten übrig – nicht genug, um eine Schnittstellenübertragung zu 3 Energieeinheiten mit Energie zu versorgen. In dieser Ausführungsform wird der NAND-Chip-0-Schreibvorgang zum Zeitpunkt 4 angehalten (diese und andere angehaltene Vorgänge sind in 4 gekennzeichnet) und die 1 Energieeinheit, die für den Schreibvorgang verwendet worden wäre, wird stattdessen zusammen mit den 2 übrig gebliebenen Energieeinheiten verwendet, um die Schnittstellenübertragung zu 3 Energieeinheiten mit Energie zu versorgen. Nachdem diese Schnittstellenübertragung abgeschlossen ist, setzt der Schreibvorgang zum Zeitpunkt 5 fort. Obwohl dies die zum Abschluss des Schreibvorgangs zum NAND-Chip 0 benötigte Zeit streckt (von 6 Zeitsegmenten in 3 auf 7 Zeitsegmente in 4), stellt diese Ausführungsform im Gesamten einen effizienteren Energieverbrauch für das Speichermodul 100 bereit (in diesem Fall ist die verschwendete Energie durchschnittlich 0,6 Einheiten, was eine Verbesserung von 1 Energieeinheit gegenüber dem nicht optimierten Fall in 3 ist). Deshalb kann das Speichermodul 100 durch Verwenden dieser Ausführungsform eine höhere Leistung erreichen, indem es Energie in größtmöglichem Ausmaß nutzt.
  • Diese Anhalte-/Fortsetzungstechnik kann auf eine beliebige geeignete Weise implementiert werden und 5 ist ein Ablaufdiagramm 500 einer geeigneten Technik, die in Software und/oder Hardware der Steuereinrichtung 110 des Speichermoduls implementiert werden kann. Wie im Ablaufdiagramm 500 in 5 gezeigt, entscheidet die Speichersteuereinrichtung 110, ob eine neue Vorgangsanforderung empfangen wurde (Handlung 505). Falls ja, fügt die Steuereinrichtung 110 die neue Vorgangsanforderung zur Vorgangswarteschlange hinzu (Handlung 510). Die Steuereinrichtung 110 ermittelt dann, ob eine Vorgangsanforderung in die Warteschlange eingefügt wurde oder ob irgendein bestehender Vorgang abgeschlossen wurde (Handlung 520). Falls ja, wählt die Steuereinrichtung 110 den Vorgang mit der höchsten Priorität, der noch nicht ausgewertet wurde (Handlung 530) und ermittelt, ob es ausreichend Energie gibt, um diesen Vorgang durchzuführen (Handlung 540). Falls es ausreichend Energie gibt, führt die Steuereinrichtung 110 den Vorgang durch (oder setzt den angehaltenen Vorgang fort) (Handlung 550). Falls es nicht ausreichend Energie gibt, ermittelt die Steuereinrichtung 110, ob der Vorgang eine höhere Priorität aufweist, als ein bestehender Vorgang (Handlung 560). Falls er dies tut, ermittelt die Steuereinrichtung 110, ob der Vorgang ausgeführt werden kann, wenn ein bestehender Vorgang mit niedrigerer Priorität ausgesetzt wird (Handlung 570). Falls ja, ermittelt die Steuereinrichtung 110 den Vorgang mit der niedrigsten Priorität und hält diesen an (Handlung 580) und fügt den angehaltenen Vorgang in die Vorgangswarteschlange ein (Handlung 590).
  • Es gibt mehrere Alternativen, die mit diesen Ausführungsformen verwendet werden können. Anstatt Vorgänge anzuhalten/fortzusetzen, kann die Steuereinrichtung 110 des Speichermoduls zum Beispiel stattdessen eine Version mit reduzierter Energie eines neuen Vorgangs verwenden. Falls der neue Vorgang zum Beispiel eine NAND-Schnittstellenübertragung ist, die typischerweise mit einem Schaltmodus von 200 MHz läuft und 3 Energieeinheiten verbraucht, kann es eine NAND-Schnittstellenübertragung mit reduzierter Energie geben, die mit einem Schaltmodus von 100 MHz läuft und nur 2 Energieeinheiten verbraucht. Wenn nur 2 Energieeinheiten verfügbar sind, kann dieses NAND-Schnittstellenschalten mit reduzierter Energie verwendet werden, während die „normale“ Alternative mit 3 Energieeinheiten zurückgehalten worden wäre. 6 ist ein Ablaufdiagramm 600 einer beispielhaften Implementierung dieser alternativen Ausführungsform.
  • Wie im Ablaufdiagramm 600 in 6 gezeigt, entscheidet die Steuereinrichtung 110, ob eine neue Vorgangsanforderung empfangen wurde (Handlung 605). Falls ja, fügt die Steuereinrichtung 110 die neue Vorgangsanforderung zur Vorgangswarteschlange hinzu (Handlung 610). Die Steuereinrichtung 110 ermittelt dann, ob eine Vorgangsanforderung in die Warteschlange eingefügt wurde oder ob irgendein bestehender Vorgang abgeschlossen wurde (Handlung 620). Falls ja, wählt die Steuereinrichtung 110 den Vorgang mit der höchsten Priorität, der noch nicht ausgewertet wurde (Handlung 630) und ermittelt, ob es ausreichend Energie gibt, um diesen Vorgang durchzuführen (Handlung 640). Falls es ausreichend Energie gibt, führt die Steuereinrichtung 110 den Vorgang durch (Handlung 650). Falls es nicht ausreichend Energie gibt, ermittelt die Steuereinrichtung 110, ob der Vorgang einen reduzierten Energiemodus aufweist (Handlung 660). Falls er dies tut, ermittelt die Steuereinrichtung 110, ob der Vorgang ausgeführt werden kann, wenn er in die Version mit reduzierter Energie umgeschaltet wird (Handlung 670). Falls er dies kann, reduziert die Steuereinrichtung 110 den Energiemodus des Vorgangs (Handlung 680) und führt den Vorgang durch (Handlung 650).
  • In einer anderen alternativen Ausführung kann die Steuereinrichtung 110 des Speichermoduls eine Version mit reduzierter Energie eines laufenden Vorgangs verwenden, anstatt eine Version mit reduzierter Energie eines neuen Vorgangs zu verwenden. Falls beispielsweise die laufenden Vorgänge NAND-Programmvorgänge sind, die typischerweise jeweils 1 Energieeinheit verbrauchen, kann es einen NAND-Programmvorgang mit reduzierter Energie geben, der nur 0,8 Energieeinheiten verbraucht (z. B. langsamere Programmierung). Durch Umschalten von 10 NANDs zu dieser reduzierten Energiealternative werden 2 Energieeinheiten eingelöst und der neue NAND-Schnittstellenvorgang kann ausgeführt werden. Die NAND-Programmchips mit reduzierter Energie können dann zurück zum normalen Programmmodus umgeschaltet werden, der 1 Energieeinheit verbraucht. 7 ist ein Ablaufdiagramm 700 einer beispielhaften Implementierung dieser alternativen Ausführungsform.
  • Wie im Ablaufdiagramm 700 in 7 gezeigt, entscheidet die Steuereinrichtung 110, ob eine neue Vorgangsanforderung empfangen wurde (Handlung 705). Falls ja, fügt die Steuereinrichtung 110 die neue Vorgangsanforderung zur Vorgangswarteschlange hinzu (Handlung 710). Die Steuereinrichtung 110 ermittelt dann, ob eine Vorgangsanforderung in die Warteschlange eingefügt wurde oder ob irgendein bestehender Vorgang abgeschlossen wurde (Handlung 720). Falls ja, wählt die Steuereinrichtung 110 den Vorgang mit der höchsten Priorität, der noch nicht ausgewertet wurde (Handlung 730) und ermittelt, ob es ausreichend Energie gibt, um diesen Vorgang durchzuführen (Handlung 740). Falls es ausreichend Energie gibt, führt die Steuereinrichtung 110 den Vorgang durch (oder schaltet in einen Modus des Vorgangs mit voller Energie um) (Handlung 750). Falls es nicht ausreichend Energie gibt, ermittelt die Steuereinrichtung 110, ob der Vorgang eine höhere Priorität aufweist, als ein bestehender Vorgang (Handlung 760). Falls er dies tut, ermittelt die Steuereinrichtung 110, ob der Vorgang ausgeführt werden kann, wenn ein bestehender Vorgang mit niedrigerer Priorität in einen Modus mit reduzierter Energie umgeschaltet wird (Handlung 770). Falls ja, ermittelt die Steuereinrichtung 110, welcher Vorgang zum reduzierten Energiemodus reduziert werden sollte (Handlung 780). Die Steuereinrichtung 110 fügt dann den reduzierten Vorgang zum Zurückschalten zur vollen Energie in die Warteschlange ein (Handlung 790).
  • Schlussendlich kann wie oben erwähnt ein beliebiger geeigneter Speichertyp verwendet werden. Halbleiter-Speichereinrichtungen beinhalten flüchtige Speichereinrichtungen, wie dynamische Speichereinrichtungen mit wahlfreiem Zugriff („DRAM“) oder statische Speichereinrichtungen mit wahlfreiem Zugriff („SRAM“), nichtflüchtige Speichereinrichtungen, wie resistiven Speicher mit wahlfreiem Zugriff („ReRAM“), elektrisch löschbarer programmierbarer schreibgeschützter Speicher („EEPROM“), Flash-Speicher (der auch als eine Teilmenge von EEPROM angesehen werden kann), ferroelektrischen Speicher mit wahlfreiem Zugriff („FRAM“) und magnetoresistiven Speicher mit wahlfreiem Zugriff („MRAM“) und andere Halbleiterelemente, die Informationen speichern können. Jeder Typ von Speichereinrichtung kann unterschiedliche Konfigurationen aufweisen. Flash-Speichereinrichtungen können zum Beispiel in einer NAND- oder einer NOR-Konfiguration konfiguriert sein.
  • Die Speichereinrichtungen können aus passiven und/oder aktiven Elementen gebildet werden, in beliebigen Kombinationen. Beispielsweise, aber nicht einschränkend, enthalten passive Halbleiter-Speicherelemente ReRAM-Einrichtungselemente, die in manchen Ausführungsformen ein Resistivitäts-umschaltendes Speicherelement enthalten, wie ein Antifuse-Phasenübergangsmaterial usw. und optional ein Leitelement wie eine Diode usw. Ferner enthalten aktive Halbleiter-Speicherelemente beispielsweise, aber nicht einschränkend, EEPROM und Flashspeicher-Einrichtungselemente, die in manchen Ausführungsformen Elemente enthalten, die einen Ladungsspeicherbereich wie ein Floating Gate, leitende Nanopartikel oder ein dielektrisches Ladungsspeichermaterial beinhalten.
  • Mehrere Speicherelemente können so konfiguriert sein, dass sie in Reihe verbunden sind, oder so, dass auf jedes Element einzeln zugegriffen werden kann. Beispielsweise, aber nicht einschränkend beinhalten Flashspeichereinrichtungen in einer NAND-Konfiguration (NAND-Speicher) typischerweise in Reihe geschaltete Speicherelemente. Ein NAND-Speicherarray kann so konfiguriert sein, dass das Array aus mehreren Speicherstrings besteht, in denen ein String aus mehreren Speicherelementen besteht, die sich eine einzige Bitleitung teilen und auf die als eine Gruppe zugegriffen wird. Alternativ können Speicherelemente so konfiguriert sein, dass auf jedes Element einzeln zugegriffen werden kann, z. B. ein NOR-Speicherarray. NAND- und NOR-Speicherkonfigurationen sind beispielhaft und Speicherelemente können anderweitig konfiguriert sein.
  • Die Halbleiter-Speicherelemente, die sich in und/oder auf einem Substrat befinden, können in zwei oder drei Dimensionen angeordnet sein, wie eine zweidimensionale Speicherstruktur oder eine dreidimensionale Speicherstruktur.
  • In einer zweidimensionalen Speicherstruktur sind die Halbleiter-Speicherelemente in einer einzigen Ebene oder einem einzigen Speichereinrichtungsniveau angeordnet. Üblicherweise sind Speicherelemente in einer zweidimensionalen Speicherstruktur in einer Ebene angeordnet (z. B. in einer Ebene in x-z-Richtung), die sich wesentlich parallel zu einer Hauptoberfläche eines Substrats erstreckt, das die Speicherelemente trägt. Das Substrat kann ein Wafer sein, über dem oder in dem die Speicherelemente ausgebildet sind, oder es kann ein Trägersubstrat sein, das an den Speicherelementen angebracht wird, nachdem sie ausgebildet wurden. Als nicht einschränkendes Beispiel kann das Substrat einen Halbleiter wie Silizium enthalten.
  • Die Speicherelemente können im einzelnen Speichereinrichtungsniveau in einem geordneten Array angeordnet sein, wie in einer Vielzahl von Zeilen und/oder Spalten. Die Speicherelemente können jedoch auch in nicht regelmäßigen oder nicht orthogonalen Konfigurationen in Arrays angeordnet sein. Die Speicherelemente können jeweils zwei oder mehr Elektroden oder Kontaktleitungen aufweisen, wie Bitleitungen und Wortleitungen.
  • Ein dreidimensionales Speicherarray ist so angeordnet, dass Speicherelemente mehrere Ebenen oder mehrere Speichereinrichtungsniveaus einnehmen, wodurch eine Struktur in drei Dimensionen gebildet wird (d. h. in den x-, y- und z-Richtungen, wobei die y-Richtung wesentlich senkrecht und die x- und z-Richtungen wesentlich parallel zur Hauptoberfläche des Substrats sind).
  • Als nicht einschränkendes Beispiel kann eine dreidimensionale Speicherstruktur vertikal als ein Stapel von mehreren zweidimensionalen Speichereinrichtungsniveaus angeordnet sein. Als ein weiteres nicht einschränkendes Beispiel kann ein dreidimensionales Speicherarray als mehrere vertikale Spalten (z. B. Spalten, die sich wesentlich senkrecht zur Hauptoberfläche des Substrats erstrecken, d. h. in der y-Richtung), wobei jede Spalte mehrere Speicherelemente in jeder Spalte aufweist. Die Spalten können in einer zweidimensionalen Konfiguration angeordnet sein, z. B. in einer x-z-Ebene, was in einer dreidimensionalen Anordnung von Speicherelementen mit Elementen auf mehreren vertikal gestapelten Speicherebenen resultiert. Andere Konfigurationen von Speicherelementen in drei Dimensionen können auch ein dreidimensionales Speicherarray bilden.
  • Als nicht einschränkendes Beispiel können die Speicherelemente in einem dreidimensionalen NAND-Speicherarray aneinander gekoppelt sein, um einen NAND-String in einem einzelnen horizontalen (z. B. x-z-)Speichereinrichtungsniveau zu formen. Alternativ können die Speicherelemente aneinander gekoppelt sein, um einen vertikalen NAND-String zu bilden, der mehrere horizontale Speichereinrichtungsniveaus durchquert. Man kann sich andere dreidimensionale Konfigurationen vorstellen, wobei manche NAND-Strings Speicherelemente in einem einzigen Speicherniveau beinhalten, während andere Strings Speicherelemente beinhalten, die mehrere Speicherniveaus umspannen können. Dreidimensionale Speicherarrays können ebenfalls in einer NOR-Konfiguration und in einer ReRAM-Konfiguration konstruiert werden.
  • Üblicherweise werden in einem monolithischen dreidimensionalen Speicherarray ein oder mehrere Speichereinrichtungsniveaus über einem einzelnen Substrat gebildet. Optional kann das monolithische dreidimensionale Speicherarray auch ein oder mehrere Speicherschichten zumindest teilweise innerhalb des einzelnen Substrats aufweisen. Als nicht einschränkendes Beispiel kann das Substrat einen Halbleiter wie Silizium enthalten. In einem monolithischen dreidimensionalen Array werden die Schichten, die jedes Speichereinrichtungsniveau des Arrays bilden, typischerweise auf den Schichten der zugrunde liegenden Speichereinrichtungsniveaus des Arrays geformt. Schichten von benachbarten Speichereinrichtungsniveaus eines monolithischen dreidimensionalen Speicherarrays können jedoch gemeinsam genutzt werden oder dazwischenliegende Schichten zwischen Speichereinrichtungsniveaus aufweisen.
  • Andererseits können zweidimensionale Arrays getrennt geformt und danach zusammen verpackt werden, um eine nicht monolithische Speichereinrichtung mit mehreren Speicherschichten zu formen. Nicht monolithische gestapelte Speicher können zum Beispiel durch Formen von Speicherniveaus auf getrennten Substraten und danach Stapeln der Speicherniveaus übereinander konstruiert werden. Die Substrate können vor dem Stapeln ausgedünnt oder aus den Speichereinrichtungsniveaus entfernt werden, aber da die Speichereinrichtungsniveaus anfänglich über getrennten Substraten geformt werden, sind die resultierenden Speicherarrays keine monolithischen dreidimensionalen Speicherarrays. Ferner können mehrere zweidimensionale Speicherarrays oder dreidimensionale Speicherarrays (monolithisch oder nicht monolithisch) auf separaten Chips geformt werden und danach zusammen verpackt werden, um eine Speichereinrichtung mit gestapelten Chips zu formen.
  • Assoziierte Verschaltung ist üblicherweise für einen Betrieb der Speicherelemente und zur Kommunikation mit den Speicherelementen erforderlich. Als nicht einschränkende Beispiele können Speichereinrichtungen Verschaltung aufweisen, die zum Steuern und Antreiben von Speicherelementen verwendet wird, um Funktionen wie Programmierung und Lesen auszuführen. Diese assoziierte Verschaltung kann sich auf dem gleichen Substrat wie die Speicherelemente und/oder auf einem separaten Substrat befinden. Eine Steuereinrichtung für Speicher-Lese-Schreibvorgänge kann beispielsweise auf einem separaten Steuereinrichtungschip und/oder auf dem gleichen Substrat wie die Speicherelemente angeordnet sein.
  • Fachleute werden erkennen, dass diese Erfindung nicht auf die beschriebenen, beispielhaften zweidimensionalen und dreidimensionalen Strukturen beschränkt ist, sondern alle relevanten Speicherstrukturen im Geist und Umfang der Erfindung abdeckt, wie hierin beschrieben und wie durch Fachleute verstanden.
  • Es ist beabsichtigt, dass die vorstehende detaillierte Beschreibung als eine Darstellung von ausgewählten Formen, die die Erfindung annehmen kann, und nicht als Definition der Erfindung verstanden wird. Es sind nur die folgenden Ansprüche, einschließlich aller Äquivalente, die den Umfang der beanspruchten Erfindung definieren sollen. Schließlich ist anzumerken, dass ein beliebiger Aspekt von beliebigen der hierin beschriebenen bevorzugten Ausführungsformen allein oder in Kombination miteinander verwendet werden kann.

Claims (25)

  1. Speichermodul, das Folgendes umfasst: eine Vielzahl von Speicherchips; und eine Speichersteuereinrichtung in Kommunikation mit der Vielzahl der Speicherchips, wobei die Speichersteuereinrichtung konfiguriert ist: zu ermitteln, ob ausreichend Energie verfügbar ist, um einen Vorgang auf einem der Speicherchips durchzuführen; als Reaktion auf das Ermitteln, dass nicht ausreichend Energie verfügbar ist, um den Vorgang auf einem der Speicherchips durchzuführen, zu ermitteln, ob ein Anhalten eines in Bearbeitung befindlichen Vorgangs auf einem anderen der Speicherchips ausreichend Energie bereitstellen würde, um den Vorgang durchzuführen; und als Reaktion auf das Ermitteln, dass das Anhalten des in Bearbeitung befindlichen Vorgangs ausreichend Energie bereitstellen würde, um den Vorgang durchzuführen, den in Bearbeitung befindlichen Vorgang anzuhalten und den Vorgang durchzuführen.
  2. Speichermodul nach Anspruch 1, wobei die Speichersteuereinrichtung ferner konfiguriert ist, den angehaltenen in Bearbeitung befindlichen Vorgang fortzusetzen, nachdem der Vorgang durchgeführt wurde.
  3. Speichermodul nach Anspruch 1, wobei die Speichersteuereinrichtung ferner konfiguriert ist, zu ermitteln, ob der Vorgang von höherer Priorität als der in Bearbeitung befindliche Vorgang ist, und wobei der in Bearbeitung befindliche Vorgang nur dann angehalten wird, falls der Vorgang von höherer Priorität als der in Bearbeitung befindliche Vorgang ist.
  4. Speichermodul nach Anspruch 1, wobei es eine Vielzahl von in Bearbeitung befindlichen Vorgängen gibt und wobei die Speichersteuereinrichtung ferner konfiguriert ist, basierend darauf, welcher der Vielzahl der in Bearbeitung befindlichen Vorgänge von niedrigerer Priorität ist, zu ermitteln, welcher der aus der Vielzahl der in Bearbeitung befindlichen Vorgänge anzuhalten ist.
  5. Speichermodul nach Anspruch 1, wobei es eine Vielzahl von durchzuführenden Vorgängen gibt und wobei die Speichersteuereinrichtung ferner konfiguriert ist, basierend darauf, welcher der Vielzahl der Vorgänge von der höchsten Priorität ist, den durchzuführenden Vorgang zu ermitteln.
  6. Speichermodul nach Anspruch 1, wobei der Vorgang oder der in Bearbeitung befindliche Vorgang einer der folgenden Vorgänge ist: eine Übertragung von Daten über eine Schnittstelle zwischen der Speichersteuereinrichtung und einem der Speicherchips, ein Schreibvorgang, ein Lesevorgang und ein Löschvorgang.
  7. Speichermodul nach Anspruch 1, wobei mindestens einer der Speicherchips ein dreidimensionaler Speicher ist.
  8. Speichermodul nach Anspruch 1, wobei das Speichermodul in einem Host eingebettet ist.
  9. Speichermodul nach Anspruch 1, wobei das Speichermodul entfernbar mit einem Host verbunden ist.
  10. Speichermodul nach Anspruch 1, wobei das Speichermodul ein Festkörperlaufwerk ist.
  11. Speichermodul, das Folgendes umfasst: eine Vielzahl von Speicherchips; und eine Speichersteuereinrichtung in Kommunikation mit der Vielzahl der Speicherchips, wobei die Speichersteuereinrichtung konfiguriert ist: zu ermitteln, ob ausreichend Energie verfügbar ist, um einen Vorgang auf einem der Speicherchips durchzuführen; als Reaktion auf das Ermitteln, dass nicht ausreichend Energie verfügbar ist, um den Vorgang auf einem der Speicherchips durchzuführen, zu ermitteln, ob ausreichend Energie verfügbar ist, um eine Version des Vorgangs mit reduzierter Energie durchzuführen; als Reaktion auf das Ermitteln, dass ausreichend Energie verfügbar ist, um die Version des Vorgangs mit reduzierter Energie durchzuführen, die Version des Vorgangs mit reduzierter Energie durchzuführen.
  12. Speichermodul nach Anspruch 11, wobei der Vorgang einer der folgenden Vorgänge ist: eine Übertragung von Daten über eine Schnittstelle zwischen der Speichersteuereinrichtung und einem der Speicherchips, ein Schreibvorgang, ein Lesevorgang und ein Löschvorgang.
  13. Speichermodul nach Anspruch 11, wobei mindestens einer der Speicherchips ein dreidimensionaler Speicher ist.
  14. Speichermodul nach Anspruch 11, wobei das Speichermodul in einem Host eingebettet ist.
  15. Speichermodul nach Anspruch 11, wobei das Speichermodul entfernbar mit einem Host verbunden ist.
  16. Speichermodul nach Anspruch 11, wobei das Speichermodul ein Festkörperlaufwerk ist.
  17. Speichermodul, das Folgendes umfasst: eine Vielzahl von Speicherchips; und eine Speichersteuereinrichtung in Kommunikation mit der Vielzahl der Speicherchips, wobei die Speichersteuereinrichtung konfiguriert ist: zu ermitteln, ob ausreichend Energie verfügbar ist, um einen Vorgang auf einem der Speicherchips durchzuführen; als Reaktion auf das Ermitteln, dass nicht ausreichend Energie verfügbar ist, um den Vorgang auf einem der Speicherchips durchzuführen, zu ermitteln, ob ein Durchführen einer Version des in Bearbeitung befindlichen Vorgangs mit reduzierter Energie ausreichend Energie bereitstellen würde, um den Vorgang durchzuführen; und als Reaktion auf das Ermitteln, dass das Durchführen der Version des in Bearbeitung befindlichen Vorgangs mit reduzierter Energie ausreichend Energie bereitstellen würde, um den Vorgang durchzuführen, die Version des in Bearbeitung befindlichen Vorgangs mit reduzierter Energie durchzuführen.
  18. Speichermodul nach Anspruch 17, wobei die Speichersteuereinrichtung ferner konfiguriert ist, zu ermitteln, ob der Vorgang von höherer Priorität als der in Bearbeitung befindliche Vorgang ist, und wobei die Version des in Bearbeitung befindlichen Vorgangs mit reduzierter Energie nur dann durchgeführt wird, falls der Vorgang von höherer Priorität als der in Bearbeitung befindliche Vorgang ist.
  19. Speichermodul nach Anspruch 17, wobei es eine Vielzahl von in Bearbeitung befindlichen Vorgängen gibt und wobei die Speichersteuereinrichtung ferner konfiguriert ist, zu ermitteln, welcher aus der Vielzahl der in Bearbeitung befindlichen Vorgänge als eine Version mit reduzierter Energie durchzuführen ist.
  20. Speichermodul nach Anspruch 17, wobei es eine Vielzahl von durchzuführenden Vorgängen gibt und wobei die Speichersteuereinrichtung ferner konfiguriert ist, basierend darauf, welcher der Vielzahl der Vorgänge von der höchsten Priorität ist, den durchzuführenden Vorgang zu ermitteln.
  21. Speichermodul nach Anspruch 17, wobei der Vorgang oder der in Bearbeitung befindliche Vorgang einer der folgenden Vorgänge ist: eine Übertragung von Daten über eine Schnittstelle zwischen der Speichersteuereinrichtung und einem der Speicherchips, ein Schreibvorgang, ein Lesevorgang und ein Löschvorgang.
  22. Speichermodul nach Anspruch 17, wobei mindestens einer der Speicherchips ein dreidimensionaler Speicher ist.
  23. Speichermodul nach Anspruch 17, wobei das Speichermodul in einem Host eingebettet ist.
  24. Speichermodul nach Anspruch 17, wobei das Speichermodul entfernbar mit einem Host verbunden ist.
  25. Speichermodul nach Anspruch 17, wobei das Speichermodul ein Festkörperlaufwerk ist.
DE112015003638.5T 2014-08-05 2015-07-13 Speichermodul und -verfahren für optimierte Energienutzung Pending DE112015003638T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/452,156 US9658789B2 (en) 2014-08-05 2014-08-05 Storage module and method for optimized power utilization
US14/452,156 2014-08-05
PCT/US2015/040165 WO2016022254A1 (en) 2014-08-05 2015-07-13 Storage module and method for optimized power utilization

Publications (1)

Publication Number Publication Date
DE112015003638T5 true DE112015003638T5 (de) 2017-04-27

Family

ID=53794477

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112015003638.5T Pending DE112015003638T5 (de) 2014-08-05 2015-07-13 Speichermodul und -verfahren für optimierte Energienutzung

Country Status (5)

Country Link
US (1) US9658789B2 (de)
KR (1) KR20170045200A (de)
CN (1) CN106662982B (de)
DE (1) DE112015003638T5 (de)
WO (1) WO2016022254A1 (de)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10366766B2 (en) 2017-12-12 2019-07-30 Western Digital Technologies, Inc. Power shaping and peak power reduction by data transfer throttling
US11307778B2 (en) * 2018-03-09 2022-04-19 Kioxia Corporation Power management for solid state drives in a network
US10936046B2 (en) * 2018-06-11 2021-03-02 Silicon Motion, Inc. Method for performing power saving control in a memory device, associated memory device and memory controller thereof, and associated electronic device
US10739839B2 (en) 2018-09-24 2020-08-11 Western Digital Technologies, Inc. Efficient power management stand-by modes for multiple dies in a storage device
US11194511B2 (en) 2018-12-31 2021-12-07 Micron Technology, Inc. Arbitration techniques for managed memory
US11237617B2 (en) * 2018-12-31 2022-02-01 Micron Technology, Inc. Arbitration techniques for managed memory
US11081191B2 (en) 2019-06-18 2021-08-03 Western Digital Technologies, Inc. Dynamic switching for improved power utilization
CN113490919B (zh) 2021-06-01 2024-02-02 长江存储科技有限责任公司 用于存储器系统的功率管理
EP4200852A4 (de) * 2021-06-01 2024-01-03 Yangtze Memory Tech Co Ltd Leistungsverwaltung für ein speichersystem

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101051703B1 (ko) 2004-08-09 2011-07-25 삼성전자주식회사 서스펜드/리쥼 기능을 갖는 집적 회로 카드 및 집적 회로카드 시스템
US8429436B2 (en) * 2009-09-09 2013-04-23 Fusion-Io, Inc. Apparatus, system, and method for power reduction in a storage device
US8522055B2 (en) * 2010-07-26 2013-08-27 Apple Inc. Peak power validation methods and systems for non-volatile memory
JP2012058860A (ja) * 2010-09-06 2012-03-22 Toshiba Corp メモリシステム
US8694719B2 (en) 2011-06-24 2014-04-08 Sandisk Technologies Inc. Controller, storage device, and method for power throttling memory operations
WO2013164869A1 (en) 2012-05-02 2013-11-07 Hitachi, Ltd. Storage system and control method therefor
US9443600B2 (en) * 2013-03-28 2016-09-13 Intel Corporation Auto-suspend and auto-resume operations for a multi-die NAND memory device to reduce peak power consumption
US9244519B1 (en) * 2013-06-25 2016-01-26 Smart Storage Systems. Inc. Storage system with data transfer rate adjustment for power throttling

Also Published As

Publication number Publication date
KR20170045200A (ko) 2017-04-26
CN106662982A (zh) 2017-05-10
US20160041786A1 (en) 2016-02-11
US9658789B2 (en) 2017-05-23
WO2016022254A1 (en) 2016-02-11
CN106662982B (zh) 2020-04-24

Similar Documents

Publication Publication Date Title
DE112015003638T5 (de) Speichermodul und -verfahren für optimierte Energienutzung
DE102017112013B4 (de) Adaptive Temperatur- und Speicherparameterdrosselung
DE102018115163A1 (de) Routing von datenblöcken während einer thermodrosselung
DE102018123891A1 (de) Handhabung nichtabgestimmter Schreibvorgänge
DE102019112704A1 (de) Dreidimensionaler (3D-) Flash-Speicher mit geteilter Steuerschaltungsanordnung unter Verwendung von Wafer-an-Wafer-Bonden
DE112018000834T5 (de) System und verfahren zur adaptiven befehlsabruf-aggregation
DE112017005887T5 (de) Speichersystem und Verfahren zur thermischen Drosselung über eine Befehlsarbitrierung
DE112018000180T5 (de) System und verfahren zum adaptiven senden frühzeitiger beendigung unter verwendung eines steuerungsspeicherpuffers
DE112016004148T5 (de) Systeme und Verfahren zur Befehlsautorisierung
DE112015005325T5 (de) Speicherbusverwaltung
DE102011054333A1 (de) Verfahren zum Laden von Hilfsspannungsversorgungsleitungen in Datenspeichervorrichtungen und damit in Beziehung stehenden Vorrichtungen
DE102013107715A1 (de) Nichtflüchtige Speichervorrichtung und Verfahren zum Steuern des Aussetzens einer Befehlsausführung derselben
DE112015003791T5 (de) Speichermodul und Verfahren zum Einsatz von Heilwirkungen eines Quarantäneprozesses
DE102018123888A1 (de) Dynamische verteilte Leistungssteuerungsschaltungen
DE112019000161T5 (de) Speicher-cache-verwaltung
DE102018105871A1 (de) Speichersystem und Verfahren zur Vermeidung von Befehlskollisionen in nicht flüchtigen Datenspeichern mit expliziter Kachelgruppierung
DE102017119470A1 (de) Elektronische Vorrichtung, die einen Bypass-Pfad zu einer indirekt verbundenen Speichervorrichtung unter in Reihe geschalteten Speichervorrichtungen bereitstellt, darin enthaltene Speichervorrichtung, Computersystem mit demselben, und Verfahren des Kommunizierens damit
DE112018000230T5 (de) System und Verfahren zur spekulativen Befehlsausführung unter Verwendung des Steuerungsspeicherpuffers
DE112015005102T5 (de) Systeme und verfahren zum erzeugen von einem hostbefehl zugeordneten hinweisinformationen
DE102019124668A1 (de) Transistorschwellenspannungshaltung in 3d-speicher
DE112015003147T5 (de) Selektive Leseverstärkeraktivierung
DE112016000696B4 (de) Ablaufplanungsschema(ta) für eine Mehrchip-Speichervorrichtung
DE102017120826A1 (de) Verfahren und Vorrichtung zum Überwachen von Speicher unter Verwendung einer Hintergrundmedienabtastung
DE112018006392T5 (de) Leistungspegeleinstellungen in arbeitsspeichervorrichtungen
DE112020000159T5 (de) Systeme und verfahren zum definieren von speicher-unterblöcken

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R082 Change of representative

Representative=s name: DEHNSGERMANY PARTNERSCHAFT VON PATENTANWAELTEN, DE

R016 Response to examination communication