DE102021114459A1 - Frühzeitiger übergang in den niedrigleistungsmodus für datenspeicherungsvorrichtungen - Google Patents
Frühzeitiger übergang in den niedrigleistungsmodus für datenspeicherungsvorrichtungen Download PDFInfo
- Publication number
- DE102021114459A1 DE102021114459A1 DE102021114459.0A DE102021114459A DE102021114459A1 DE 102021114459 A1 DE102021114459 A1 DE 102021114459A1 DE 102021114459 A DE102021114459 A DE 102021114459A DE 102021114459 A1 DE102021114459 A1 DE 102021114459A1
- Authority
- DE
- Germany
- Prior art keywords
- storage device
- data storage
- power state
- low power
- controller
- 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
Links
- 238000013500 data storage Methods 0.000 title claims abstract description 170
- 230000007704 transition Effects 0.000 title claims abstract description 43
- 230000015654 memory Effects 0.000 claims description 22
- 238000011010 flushing procedure Methods 0.000 claims description 6
- 230000003213 activating effect Effects 0.000 claims description 2
- 230000004913 activation Effects 0.000 claims description 2
- 238000007726 management method Methods 0.000 abstract description 5
- 239000007787 solid Substances 0.000 abstract description 4
- 238000000034 method Methods 0.000 description 21
- 238000010586 diagram Methods 0.000 description 11
- 238000002360 preparation method Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 7
- 238000004146 energy storage Methods 0.000 description 6
- 230000007246 mechanism Effects 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 238000012508 change request Methods 0.000 description 3
- 238000010801 machine learning Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000001052 transient effect Effects 0.000 description 2
- 101100498818 Arabidopsis thaliana DDR4 gene Proteins 0.000 description 1
- 102100036725 Epithelial discoidin domain-containing receptor 1 Human genes 0.000 description 1
- 101710131668 Epithelial discoidin domain-containing receptor 1 Proteins 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 239000003990 capacitor Substances 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000001427 coherent effect Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000007477 logistic regression Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000002459 sustained effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3206—Monitoring of events, devices or parameters that trigger a change in power modality
- G06F1/3215—Monitoring of peripheral devices
- G06F1/3225—Monitoring of peripheral devices of memory devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4418—Suspend and resume; Hibernate and awake
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3206—Monitoring of events, devices or parameters that trigger a change in power modality
- G06F1/3228—Monitoring task completion, e.g. by use of idle timers, stop commands or wait commands
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/325—Power saving in peripheral device
- G06F1/3275—Power saving in memory, e.g. RAM, cache
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3037—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a memory, e.g. virtual memory, cache
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0625—Power saving in storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0634—Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0653—Monitoring storage devices or systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2119/00—Details relating to the type or aim of the analysis or the optimisation
- G06F2119/06—Power analysis or power optimisation
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Quality & Reliability (AREA)
- Computer Security & Cryptography (AREA)
- Power Sources (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
Description
- QUERVERWEIS AUF VERWANDTE ANMELDUNGEN
- Diese Anmeldung beansprucht den Vorteil der vorläufigen US-Patentanmeldung mit der Seriennummer 63/139.620, eingereicht am 20. Januar 2021, welche hierin durch Bezugnahme aufgenommen ist.
- HINTERGRUND DER OFFENBARUNG
- Gebiet der Offenbarung
- Ausführungsformen der vorliegenden Offenbarung beziehen sich im Allgemeinen auf Datenspeicherungsvorrichtungen, wie Solid-State-Laufwerke, und eine effektive Leistungsverwaltung der Datenspeicherungsvorrichtung.
- Beschreibung des Stands der Technik
- NVMe-Client-Speicherungsvorrichtungen unterstützen zwei Mechanismen, autonome Leistungszustandsübergänge (APST) und explizite Leistungsänderungsanforderungen, die von der Hostvorrichtung ausgegeben werden, für die von der Hostvorrichtung gelenkte Leistungsverwaltung. Allerdings geht die Datenspeicherungsvorrichtung als Reaktion auf einen Hostvorrichtungsbefehl in einen Niedrigleistungszustand über. Die Latenz zum Übergang in einen Niedrigleistungszustand wird vom Zeitpunkt des Ausgebens des Hostbefehls zum Eintreten in den Niedrigleistungszustand bis zum Abschluss eines Befehls für einen Leistungszustandsübergang gezählt.
- APST stellt einen Mechanismus für die Hostvorrichtung bereit, um den Controller der Datenspeicherungsvorrichtung dazu einzurichten, automatisch basierend auf bestimmten Bedingungen, ohne Softwareeingriff, zwischen Leistungszuständen überzugehen. Zum Beispiel kann eine Eintrittsbedingung für den Übergang der Datenspeicherungsvorrichtung in einen Leerlaufübergangsleistungszustand darin bestehen, dass der Controller für einen kontinuierlichen Zeitraum im Leerlauf war und die Leerlaufzeit vor der angegebenen Übergangszeit überschritten hat. Der kontinuierliche Zeitraum wird unter Verwendung eines Zeitgebers gemessen, der durch den NVMe-Standard definiert ist, und eine Hostvorrichtung definiert einen Schwellenwert für den Zeitraum zum Übergang in den Leerlauf. Wenn der Schwellenwert für den Leerlauf überschritten ist, geht die Datenspeicherungsvorrichtung in den Leerlaufzustand über. Der Controller befindet sich im Leerlauf, wenn keine Befehle für eine Eingabe/Ausgabe-Übermittlungswarteschlange (E/A-Übermittlungswarteschlange) ausstehen. Wenn beim Controller eine Operation läuft, wie eine Datenspeicherungsvorrichtungs-Selbsttestoperation, die bewirken würde, dass die Controller-Leistung den vorgeschlagenen Nichtbetriebsleistungszustand überschreitet, kann der Controller möglicherweise nicht autonom in den Leerlaufübergangsleistungszustand übergehen.
- Die expliziten Leistungsänderungsanforderungen, die von dem Hostvorrichtungsmechanismus ausgegeben werden, schließen einen designierten Niedrigleistungszustandsübergangsbefehl (d. h. „Merkmal einstellen“-Befehl) ein, der von der Hostvorrichtung gesendet wird. Die Hostvorrichtung sendet eine Leistungsübergangsanforderung an die Vorrichtung und fordert einen spezifischen Leistungszustand basierend auf einer Leistungszustandsdeskriptortabelle an, die von der Datenspeicherungsvorrichtung bereitgestellt wird. Die Leistungszustandsdeskriptortabelle schließt Eigenschaften wie Eintritts-/Austrittslatenz, Leerlauf- und Aktivleistung sowie andere Merkmale jedes Leistungszustands ein.
- Somit besteht im Stand der Technik ein Bedarf, als Reaktion auf eine explizite Leistungsänderungsanforderung durch die Hostvorrichtung effektiv in einen Niedrigleistungszustand überzugehen, um die Latenz zu verringern.
- KURZDARSTELLUNG DER OFFENBARUNG
- Die vorliegende Offenbarung bezieht sich im Allgemeinen auf Datenspeicherungsvorrichtungen, wie Solid-State-Laufwerke, und eine effektive Leistungsverwaltung der Datenspeicherungsvorrichtung. Die Datenspeicherungsvorrichtung schließt einen Controller ein, wobei der Controller eingerichtet ist, um vorherzusagen, wann eine Hostvorrichtung einen Befehl zum Eintreten in einen Niedrigleistungszustand senden wird, die Datenspeicherungsvorrichtung auf den Eintritt in den Niedrigleistungszustand vorzubereiten, und einen Befehl zum Eintreten in den Niedrigleistungszustand nach dem Vorhersagen und Vorbereiten zu empfangen. Wenn die Datenspeicherungsvorrichtung für mehr als einen Schwellenwert im Leerlauf ist, dann bereitet sich die Datenspeicherungsvorrichtung auf den Übergang in einen Niedrigleistungszustand vor, wartet jedoch mit dem Eintritt in den Niedrigleistungszustand, bis sie eine Anforderung von einer Hostvorrichtung empfängt.
- Bei einem Ausführungsbeispiel schließt die Datenspeicherungsvorrichtung eine nichtflüchtige Speichervorrichtung und einen Controller ein, der mit der nichtflüchtigen Speichervorrichtung gekoppelt ist. Der Controller ist eingerichtet, um vorherzusagen, wann eine Hostvorrichtung einen Befehl zum Eintreten in einen Niedrigleistungszustand senden wird, die Datenspeichervorrichtung auf den Eintritt in den Niedrigleistungszustand vorzubereiten, wobei das Vorbereiten auf einem berechneten Konfidenzschwellenwert basiert, und einen Befehl zum Eintreten in einen Niedrigleistungszustand nach dem Vorhersagen und Vorbereiten zu empfangen.
- In einer anderen Ausführungsform schließt eine Datenspeicherungsvorrichtung eine nichtflüchtige Speichervorrichtung und einen Controller ein, der mit der nichtflüchtigen Speichervorrichtung gekoppelt ist. Der Controller ist eingerichtet, um eine Historie von vorherigen Leerlaufzeitüberschreitungen zu analysieren, bei denen eine Hostvorrichtung einen Befehl für den Eintritt der Datenspeicherungsvorrichtung in einen Niedrigleistungszustand ausgegeben hat, die vorherigen Leerlaufzeitüberschreitungen mit anderen Hostvorrichtungssignalen zu korrelieren, einen empfohlenen Leerlaufzeitschwellenwert basierend auf der Historie und Korrelation zu berechnen, ein Konfidenzniveau basierend auf der Historie und Korrelation zu berechnen, und zu bestimmen, ob das berechnete Konfidenzniveau ausreichend ist, um einen frühen Übergang in einen Niedrigleistungszustand auszulösen.
- In einer anderen Ausführungsform schließt eine Datenspeicherungsvorrichtung Speichermittel, Mittel zum Vorbereiten der Datenspeicherungsvorrichtung auf den Eintritt in einen Niedrigleistungszustand vor dem Empfangen einer Anweisung von einer Hostvorrichtung zum Eintreten in den Niedrigleistungszustand, und Mittel zum Schätzen einer Konfidenz des Vorhersagens, wann in den Niedrigleistungszustand einzutreten ist, ein, wobei die Mittel zum Vorbereiten basierend auf den Mitteln zum Schätzen arbeiten, wobei die Speichermittel an die Mittel zum Vorbereiten und die Mittel zum Schätzen gekoppelt sind.
- Figurenliste
- Zur Verdeutlichung der Art und Weise, wie die vorstehend angegebenen Merkmale der vorliegenden Offenbarung im Detail verstanden werden können, kann eine ausführlichere Beschreibung der Offenbarung, die vorstehend kurz zusammengefasst ist, unter Bezugnahme auf Ausführungsformen erfolgen, von denen einige in den beigefügten Zeichnungen veranschaulicht sind. Es ist jedoch zu beachten, dass in den beigefügten Zeichnungen nur typische Ausführungsformen dieser Offenbarung veranschaulicht sind und diese daher nicht als ihren Schutzumfang einschränkend anzusehen sind, da die Offenbarung andere ebenso wirksame Ausführungsformen zulassen kann.
-
1 ist ein schematisches Blockdiagramm, das ein Speicherungssystem, in dem eine Datenspeicherungsvorrichtung als eine Speicherungsvorrichtung für eine Hostvorrichtung fungieren kann, gemäß bestimmten Ausführungsformen veranschaulicht. -
2 ist ein schematisches Flussdiagramm der Leistungszustände einer Datenspeicherungsvorrichtung gemäß bestimmten Ausführungsformen. -
3 ist ein Blockdiagramm, das ein Verfahren für den Übergang einer Speicherungsvorrichtung in einen Niedrigleistungszustand gemäß bestimmten Ausführungsformen veranschaulicht. -
4 ist ein Blockdiagramm, das ein Verfahren für einen frühen Übergang zu einem Niedrigleistungszustandsmechanismus einer Datenspeicherungsvorrichtung gemäß bestimmten Ausführungsformen veranschaulicht. -
5 ist ein Blockdiagramm, das ein Verfahren zum Aktualisieren eines Zeitgeberschwellenwerts gemäß bestimmten Ausführungsformen veranschaulicht. - Zum besseren Verständnis wurden, soweit möglich, identische Bezugszeichen verwendet, um identische Elemente zu bezeichnen, die den Figuren gemein sind. Es wird in Betracht gezogen, dass die in einer Ausführungsform offenbarten Elemente ohne besondere Aufzählung vorteilhaft auf andere Ausführungsformen angewendet werden können.
- DETAILLIERTE BESCHREIBUNG
- Im Folgenden wird auf die Ausführungsformen der Offenbarung verwiesen. Es versteht sich jedoch, dass die Offenbarung nicht auf spezifisch beschriebene Ausführungsformen beschränkt ist. Stattdessen wird jede Kombination der folgenden Merkmale und Elemente, unabhängig davon, ob sie sich auf verschiedene Ausführungsformen beziehen oder nicht, zur Umsetzung und Praxis der Offenbarung in Betracht gezogen. Obwohl Ausführungsformen der Offenbarung Vorteile gegenüber anderen möglichen Lösungen und/oder gegenüber dem Stand der Technik erzielen können, ist die Offenbarung nicht einschränkend, ob ein bestimmter Vorteil durch eine bestimmte Ausführungsform erreicht wird oder nicht. Die folgenden Gesichtspunkte, Merkmale, Ausführungsformen und Vorteile sind daher nur veranschaulichend und gelten nicht als Elemente oder Einschränkungen der beigefügten Ansprüche, es sei denn, dies ist ausdrücklich in einem oder mehreren Ansprüchen angegeben. Ebenso soll eine Bezugnahme auf „die Offenbarung“ nicht als Verallgemeinerung eines hierin offenbarten erfinderischen Gegenstands ausgelegt werden und soll nicht als Element oder Einschränkung der beiliegenden Ansprüche betrachtet werden, es sei denn, dies wird ausdrücklich in einem Anspruch bzw. in Ansprüchen angegeben.
- Die vorliegende Offenbarung bezieht sich im Allgemeinen auf Datenspeicherungsvorrichtungen, wie Solid-State-Laufwerke, und eine effektive Leistungsverwaltung der Datenspeicherungsvorrichtung. Die Datenspeicherungsvorrichtung schließt einen Controller ein, wobei der Controller eingerichtet ist, um vorherzusagen, wann eine Hostvorrichtung einen Befehl zum Eintreten in einen Niedrigleistungszustand senden wird, die Datenspeicherungsvorrichtung auf den Eintritt in den Niedrigleistungszustand vorzubereiten, und einen Befehl zum Eintreten in den Niedrigleistungszustand nach dem Vorhersagen und Vorbereiten zu empfangen. Wenn die Datenspeicherungsvorrichtung für mehr als einen Schwellenwert im Leerlauf ist, dann bereitet sich die Datenspeicherungsvorrichtung auf den Übergang in einen Niedrigleistungszustand vor, wartet jedoch mit dem Eintritt in den Niedrigleistungszustand, bis sie eine Anforderung von einer Hostvorrichtung empfängt. Im Gegensatz zu APST ist die Verwendung eines Zeitgebers nicht durch den NVMe-Standard definiert, und die Datenspeicherungsvorrichtung definiert den Schwellenwert basierend auf der Historie und dem Betriebsmodus der Datenspeicherungsvorrichtung. Wenn die Zeit abgelaufen ist, kann sich die Datenspeicherungsvorrichtung auf einen Niedrigleistungsübergang vorbereiten, tritt jedoch erst in den Niedrigleistungszustand ein, wenn sie eine Anforderung der Hostvorrichtung erhält.
-
1 ist ein schematisches Blockdiagramm, das ein Speicherungssystem 100, in dem die Datenspeicherungsvorrichtung 106 als eine Speicherungsvorrichtung für eine Hostvorrichtung 104 fungieren kann, gemäß bestimmten Ausführungsformen veranschaulicht. Beispielsweise kann die Hostvorrichtung 104 zum Speichern und Abrufen von Daten einen nichtflüchtigen Speicher (NVM) 110, der in der Datenspeicherungsvorrichtung 106 eingeschlossen ist, nutzen. Die Hostvorrichtung 104 weist einen Host DRAM 138 auf. In einigen Beispielen kann das Speicherungssystem 100 eine Vielzahl von Speicherungsvorrichtungen einschließen, wie die Datenspeicherungsvorrichtung 106, die als Speicherungsanordnung arbeiten kann. Zum Beispiel kann das Speicherungssystem 100 eine Vielzahl von Datenspeicherungsvorrichtungen 106 einschließen, die als eine redundante Anordnung von preiswerten/unabhängigen Festplatten (RAID) eingerichtet sind, die zusammen als Massenspeicherungsvorrichtung für die Hostvorrichtung 104 fungieren. - Die Hostvorrichtung 104 kann Daten auf und/oder von einer oder mehreren Speicherungsvorrichtungen, wie der Speicherungsvorrichtung 106, speichern und/oder abrufen. Wie in
1 veranschaulicht, kann die Hostvorrichtung 104 über eine Schnittstelle 114 mit der Datenspeicherungsvorrichtung 106 kommunizieren. Die Hostvorrichtung 104 kann jegliche aus einer großen Vielfalt von Vorrichtungen aufweisen, einschließlich Computerservern, NAS-Einheiten (Network Attached Storage), Desktop-Computern, Notebook-Computern (d. h. Laptops), Tablet-Computern, Digitalempfängern, Telefonhandgeräten wie sogenannten „Smartphones“, sogenannten „Smart Pads“, Fernsehern, Kameras, Anzeigevorrichtungen, digitalen Medienplayern, Videospielkonsolen, Video-Streaming-Geräten und anderen Vorrichtungen, die in der Lage sind, Daten von einer Datenspeicherungsvorrichtung zu senden oder zu empfangen. - Die Datenspeicherungsvorrichtung 106 schließt einen Controller 108, einen NVM 110, eine Stromversorgung 111, einen flüchtigen Speicher 112, eine Schnittstelle 114 und einen Schreibpuffer 116 ein. In einigen Beispielen kann die Datenspeicherungsvorrichtung 106 zusätzliche Komponenten einschließen, die aus Gründen der Übersichtlichkeit nicht in
1 dargestellt sind. Zum Beispiel kann die Datenspeicherungsvorrichtung 106 eine Leiterplatte (PCB) einschließen, an der Komponenten der Datenspeicherungsvorrichtung 106 mechanisch angebracht sind und die elektrisch leitfähige Leiterbahnen enthält, die Komponenten der Datenspeicherungsvorrichtung 106 oder dergleichen elektrisch miteinander verbinden. In einigen Beispielen können die physischen Abmessungen und Anschlusskonfigurationen der Datenspeicherungsvorrichtung 106 einem oder mehreren Standardformfaktoren entsprechen. Einige Beispiele für Standardformfaktoren schließen unter anderem eine 3,5-Zoll-Datenspeicherungsvorrichtung (z. B. eine Festplatte oder SSD), eine 2,5-Zoll-Datenspeicherungsvorrichtung, eine 1,8-Zoll-Datenspeicherungsvorrichtung, eine Peripheriekomponentenverbindung (PCI), PCI-Extended (PCI-X), PCI Express (PCle) (z. B. PCle x1, x4, x8, x16, PCle Mini Card, MiniPCI usw.) ein. In einigen Beispielen kann die Datenspeicherungsvorrichtung 106 direkt mit einer Hauptplatine der Hostvorrichtung 104 gekoppelt (z. B. direkt verlötet) sein. - Die Schnittstelle 114 der Datenspeicherungsvorrichtung 106 kann einen Datenbus zum Datenaustausch mit der Hostvorrichtung 104 und/oder einen Steuerbus zum Austauschen von Befehlen mit der Hostvorrichtung 104 einschließen. Die Schnittstelle 114 kann gemäß einem geeigneten Protokoll betrieben werden. Beispielsweise kann die Schnittstelle 114 gemäß einem oder mehreren der folgenden Protokolle arbeiten: Advanced Technology Attachment (ATA) (z. B. Serial-ATA (SATA) und Parallel-ATA (PATA)), Fibre Channel Protocol (FCP), Small Computer System Interface (SCSI), Serial Attached SCSI (SAS), PCI und PCle, Non-Volatile Memory Express (NVMe), OpenCAPI, GenZ, Cache Coherent Interface Accelerator (CCIX), Open Channel SSD (OCSSD) oder dergleichen. Die elektrische Verbindung der Schnittstelle 114 (z. B. der Datenbus, der Steuerbus oder beides) ist elektrisch mit dem Controller 108 verbunden und stellt eine elektrische Verbindung zwischen der Hostvorrichtung 104 und dem Controller 108 bereit, sodass Daten zwischen der Hostvorrichtung 104 und dem Controller 108 ausgetauscht werden können. In einigen Beispielen kann die elektrische Verbindung der Schnittstelle 114 der Datenspeicherungsvorrichtung 106 auch ermöglichen, Strom von der Hostvorrichtung 104 zu beziehen. Beispielsweise kann die Stromversorgung 111, wie in
1 veranschaulicht, über die Schnittstelle 114 Strom von der Hostvorrichtung 104 empfangen. - Der NVM 110 kann eine Vielzahl von Speichervorrichtungen oder Speichereinheiten einschließen. NVM 110 kann eingerichtet sein, um Daten zu speichern und/oder abzurufen. Zum Beispiel kann eine Speichereinheit des NVM 110 Daten und eine Nachricht von dem Controller 108 empfangen, mit der die Speichereinheit zum Speichern der Daten angewiesen wird. In ähnlicher Weise kann die Speichereinheit des NVM 110 eine Nachricht von dem Controller 108 empfangen, mit der die Speichereinheit zum Abrufen von Daten angewiesen wird. In einigen Beispielen kann jede der Speichereinheiten als ein Die bezeichnet werden. In einigen Beispielen kann ein einzelner physikalischer Chip eine Vielzahl von Dies (d. h. eine Vielzahl von Speichereinheiten) einschließen. In einigen Beispielen kann jede Speichereinheit zum Speichern relativ großer Datenmengen eingerichtet werden (z. B. 128MB, 256MB, 512MB, 1GB, 2GB, 4GB, 8GB, 16GB, 32GB, 64GB, 128GB, 256GB, 512GB, 1TB usw.).
- In einigen Beispielen kann jede Speichereinheit des NVM 110 jede Art von nichtflüchtigen Speichervorrichtungen einschließen, wie z. B. Flash-Speichervorrichtungen, Phasenwechselspeicher-Vorrichtungen (PCM-Vorrichtung), resistive Direktzugriffsspeichervorrichtungen (ReRAM-Vorrichtung), magnetoresistive Direktzugriffsspeichervorrichtungen (MRAM-Vorrichtung), ferroelektrische Direktzugriffsspeicher (F-RAM), holographische Speichervorrichtungen und jede andere Art von nichtflüchtigen Speichervorrichtungen.
- Der NVM 110 kann eine Vielzahl von Flash-Speichervorrichtungen oder Speichereinheiten aufweisen. NVM-Flash-Speichervorrichtungen können NAND- oder NOR-basierte Flash-Speichervorrichtungen einschließen und können Daten basierend auf einer Ladung speichern, die in einem Floating Gate eines Transistors für jede Flash-Speicherzelle enthalten ist. In NVM-Flash-Speichervorrichtungen kann die Flash-Speichervorrichtung in eine Vielzahl von Dies unterteilt sein, wobei jeder Die der Vielzahl von Dies eine Vielzahl von Blöcken einschließt, die weiter in eine Vielzahl von Seiten unterteilt sein können. Jeder Block der Vielzahl von Blöcken innerhalb einer bestimmten Speichervorrichtung kann eine Vielzahl von NAND-Zellen einschließen. Reihen von NAND-Zellen können unter Verwendung einer Wortleitung elektrisch verbunden sein, um eine Seite aus einer Vielzahl von Seiten zu definieren. Entsprechende Zellen in jeder der Vielzahl von Seiten können elektrisch mit den entsprechenden Bitleitungen verbunden sein. Weiterhin können NAND-Flash-Speichervorrichtungen 2D- oder 3D-Vorrichtungen sein und können Single-Level-Zellen (SLC), Multi-Level-Zellen (MLC), Triple-Level-Zellen (TLC) oder Quad-Level-Zellen (QLC) sein. Der Controller 108 kann Daten in und aus NAND-Flash-Speichervorrichtungen auf Seitenebene schreiben und lesen und Daten aus NAND-Flash-Speichervorrichtungen auf Blockebene löschen.
- Die Datenspeicherungsvorrichtung 106 schließt eine Stromversorgung 111 ein, die eine oder mehrere Komponenten der Datenspeicherungsvorrichtung 106 mit Strom versorgen kann. Wenn die Stromversorgung 111 in einem Standardmodus betrieben ist, kann sie eine oder mehrere Komponenten mit Strom versorgen, der von einer externen Vorrichtung, wie der Hostvorrichtung 104, bereitgestellt ist. Beispielsweise kann die Stromversorgung 111 die eine oder die mehreren Komponenten mit Strom versorgen, der von der Hostvorrichtung 104 über die Schnittstelle 114 empfangen wird. In einigen Beispielen kann die Stromversorgung 111 eine oder mehrere Energiespeicherungskomponenten einschließen, die eingerichtet sind, um die eine oder die mehreren Komponenten mit Strom zu versorgen, wenn sie in einem Abschaltmodus betrieben werden, z. B. wenn kein Strom mehr von der externen Vorrichtung empfangen wird. Auf diese Weise kann die Stromversorgung 111 als integrierte Backup-Stromquelle fungieren. Einige Beispiele für die eine oder die mehreren Energiespeicherungskomponenten schließen, ohne darauf beschränkt zu sein, Kondensatoren, Superkondensatoren, Batterien und dergleichen ein. In einigen Beispielen kann die von der einen oder den mehreren Energiespeicherungskomponenten gespeicherte Energiemenge eine Funktion der Kosten und/oder der Größe (z. B. Fläche/Volumen) der einen oder mehreren Energiespeicherkomponenten sein. Das heißt, wenn die von der einer oder den mehreren Energiespeicherungskomponenten gespeicherte Strommenge zunimmt, steigen auch die Kosten und/oder die Größe der einen oder mehreren Energiespeicherungskomponenten.
- Die Datenspeicherungsvorrichtung 106 schließt auch den flüchtigen Speicher 112 ein, der von dem Controller 108 zum Speichern von Informationen verwendet werden kann. Der flüchtige Speicher 112 kann eine oder mehrere flüchtige Speichervorrichtungen einschließen. In einigen Beispielen kann der Controller 108 den flüchtigen Speicher 112 als Cache verwenden. Zum Beispiel kann der Controller 108 zwischengespeicherte Informationen im flüchtigen Speicher 112 speichern, bis die zwischengespeicherten Informationen in den nichtflüchtigen Speicher 110 geschrieben werden. Wie in
1 veranschaulicht, kann der flüchtige Speicher 112 den von der Stromversorgung 111 empfangenen Strom verbrauchen. Beispiele für flüchtigen Speicher 112 schließen ein, sind aber nicht beschränkt auf Direktzugriffsspeicher (RAM), dynamischen Direktzugriffsspeicher (DRAM), statischen RAM (SRAM) und synchronen dynamischen RAM (SDRAM (z. B. DDR1, DDR2, DDR3, DDR3L, LPDDR3, DDR4, LPDDR4 und dergleichen)). - Die Datenspeicherungsvorrichtung 106 schließt einen Controller 108 ein, der eine oder mehrere Vorgänge der Datenspeicherungsvorrichtung 106 verwalten kann. Beispielsweise kann der Controller 108 das Lesen von Daten von und/oder das Schreiben von Daten in den NVM 110 verwalten. In einigen Ausführungsformen kann der Controller 108, wenn die Datenspeicherungsvorrichtung 106 einen Schreibbefehl von der Hostvorrichtung 104 empfängt, einen Datenspeicherungsbefehl initiieren, um Daten in den NVM 110 zu speichern und den Fortschritt des Datenspeicherungsbefehls zu überwachen. Der Controller 108 kann mindestens eine Betriebscharakteristik des Speicherungssystems 100 bestimmen und die mindestens eine Betriebscharakteristik in den NVM 110 speichern. In einigen Ausführungsformen speichert der Controller 108, wenn die Datenspeichervorrichtung 106 einen Schreibbefehl von der Hostvorrichtung 104 empfängt, die mit dem Schreibbefehl verbundenen Daten vorübergehend im internen Speicher oder Schreibpuffer 116, bevor die Daten an den NVM 110 gesendet werden.
- Weiterhin schließt der Controller 108 einen DRAM 148, einen Zeitgeber 150, einen Schwellenwertberechner 152 und eine Vorbereitungseinheit 154 ein. Der Zeitgeber 150 kann verwendet werden, um einen Zeitraum zu bestimmen, der verstrichen ist, seit die Datenspeicherungsvorrichtung 106 zuletzt aktiv war oder im Leerlauf war. Wenn zum Beispiel die Datenspeicherungsvorrichtung 106 Befehle ausführt, die von der Hostvorrichtung 104 empfangen werden, wird die Datenspeicherungsvorrichtung 106 als aktiv betrachtet. Während die Datenspeicherungsvorrichtung 106 jedoch aus der Perspektive der Hostvorrichtung 104 nicht verwendet wird, aber immer noch eingeschaltet ist, befindet sich die Datenspeicherungsvorrichtung 106 im Leerlauf. Der Schwellenwertberechner 152 bestimmt einen Leerlaufzeitschwellenwert. Zum Beispiel kann der Controller 108 einen Wert für den Leerlaufzeitschwellenwert empfangen, der durch den Schwellenwertberechner 152 aus der vorherigen von der Hostvorrichtung 104 initiierten Niedrigleistungseintrittsanforderung berechnet wird.
- Außerdem kann der Leerlaufzeitschwellenwert davon beeinflusst werden, ob eine Wechselstrom-Leistungsrichtlinie (AC-Leistungsrichtlinie) oder Gleichstrom-Leistungsrichtlinie (DC-Leistungsrichtlinie) wirksam ist. Die Leistungsrichtlinie kann erkannt werden, indem die Einstellungen des permissiven Modus betrachtet werden, wie die Aktivierung des permissiven Modus des Nichtbetriebs-Leistungszustands (Non-Operational Power State Permissive Mode Enable, OPPME). Der permissive Modus ist in der Regel nur bei Wechselstromleistung aktiviert und ist deaktiviert, wenn die Hostvorrichtung 104 mit Gleichstromleistung läuft.
- Wenn der Zeitgeber 150 den Leerlaufzeitschwellenwert erreicht, kann der Controller 108 eine Leerlaufzeitüberschreitung bestätigen und eine Operation zur Vorbereitung des Eintritts in den Niedrigleistungszustand initiieren. Beim Initiieren der Operation zur Vorbereitung des Eintritts in den Niedrigleistungszustand oder beim Erreichen des Leerlaufzeitschwellenwerts kann die Vorbereitungseinheit 154 die Datenspeicherungsvorrichtung auf den Eintritt in einen Niedrigleistungszustand vorbereiten, so dass die Datenspeicherungsvorrichtung 106 bereit ist, in den Niedrigleistungszustand einzutreten, wenn sie eine explizite Niedrigleistungsanforderung von der Hostvorrichtung 104 empfängt. Zum Beispiel kann die Vorbereitungseinheit 154 mindestens eines von Leeren aller zwischengespeicherten Daten in den NVM 110, Kopieren des Inhalts aller erforderlichen Speicher und/oder Register in immer eingeschaltete Speicher, Beenden aller Hintergrundoperationen, Versetzen des DRAM 148 in den Auffrischungsmodus und jegliche andere anwendbare relevante Funktion durchführen. Durch Vorhersagen der Leerlaufzeitüberschreitung und Vorbereiten der Datenspeicherungsvorrichtung 106 auf den Eintritt in den Niedrigleistungszustand, bevor die Hostvorrichtung 104 die Niedrigleistungszustandsübergangsanforderung sendet, kann die Latenz des Niedrigleistungszustandsübergangs der Datenspeicherungsvorrichtung 106 stark reduziert werden, da Prozesse, die nach dem Empfangen der Niedrigleistungszustandsübergangsanforderung abgeschlossen werden, vor dem Empfangen der Niedrigleistungszustandsübergangsanforderung abgeschlossen werden können.
- Wie bereits erwähnt, bestimmt oder berechnet der Schwellenwertberechner 152 den Leerlaufzeitschwellenwert oder sagt ihn anderweitig voraus. Der Leerlaufzeitschwellenwert kann jedoch ein Konfidenzniveau erfordern, da die durch die Hostvorrichtung 104 initiierte Aktivität die Leerlaufzeit auf eine solche Weise schneiden kann, dass der hostseitige Niedrigleistungsbefehl abgebrochen wird, nachdem die Datenspeicherungsvorrichtung 106 bereits mit dem Vorbereitungsprozess begonnen hat. Das Konfidenzniveau kann ein skalarer Wert sein, der das Niveau des Leerlaufzeitschwellenwerts schätzt, der durch den Schwellenwertberechner 152 bestimmt wird. Darüber hinaus kann das Konfidenzniveau verwendet werden, um einige der Aktivitäten zu verzögern, die Ausdauerkosten aufweisen, beispielsweise wenn das Konfidenzniveau unter einen bestimmten Leerlaufzeitschwellenwert einer Datenspeicherungsvorrichtung 106 fällt.
- Das Konfidenzniveau kann durch Berechnen einer Ähnlichkeitsmessung zwischen aktuellen Angaben, einschließlich Hostsignalen und vorherigen Zeitüberschreitungsmustern, unter Verwendung typischer Werte für den Leerlaufzeitschwellenwert oder durch Bestimmen der Ergebnisse der Verwendung von Maschinenlernmodellen, wie logistischer Regression, linearem SVM und dergleichen, bestimmt werden. Die kombinierte Messung der geschätzten Übergangszeit (d. h. des Leerlaufzeitschwellenwerts) und der Konfidenzniveauschätzung stellt eine nichtbinäre Vorhersagemetrik bereit, die einen Kompromiss ermöglichen kann, der die Auswirkung von ungenauen Vorhersageereignissen minimiert, wenn beispielsweise die von der Hostvorrichtung 104 initiierte Aktivität die Leerlaufzeit derart schneidet, dass der hostseitige Niedrigleistungsbefehl abgebrochen wird, nachdem die Datenspeicherungsvorrichtung 106 bereits mit dem Vorbereitungsprozess begonnen hat.
- Zusätzlich kann der Controller 108 auch die Auswirkung eines Fehlschlags in der Vorhersage bewerten, der zusätzliche Schreibvorgänge in den NVM 110 verursacht. Die Bewertung kann durchgeführt werden, nachdem der Leerlaufzeitschwellenwert verstrichen ist, z. B. wenn der Controller 108 mit Vorbereitungen für den Eintritt in den Niedrigleistungszustand beginnt. Die Bewertung schließt das Bestimmen des aktuellen Zustands der Datenspeicherungsvorrichtung 106, beispielsweise wie viele Cache-Einträge verfügbar sind, und des Status des NVM 110 ein. Basierend auf dem bestimmten aktuellen Zustand und dem Konfidenzniveau kann der Controller 108 entscheiden, die interne Anforderung für den Eintritt in den Niedrigleistungszustand auszuführen.
- Es wird in Betracht gezogen, dass die hierin beschriebenen Ausführungsformen auf einzelne Speicherarrays des NVM 110 oder auf jeden NVM 110 einer Vielzahl von NVMs anwendbar sind.
-
2 ist ein schematisches Flussdiagramm eines Leistungszustandsdiagramms 200 einer Datenspeicherungsvorrichtung, wie der Datenspeicherungsvorrichtung 106 von1 , gemäß bestimmten Ausführungsformen. Die Datenspeicherungsvorrichtung 106 arbeitet bei verschiedenen Leistungszuständen, wie D0, D1, D2, D3HOT und D3COLD. Es wird in Betracht gezogen, dass andere Leistungszustände sowie weniger oder mehr als die beschriebene Anzahl von Leistungszuständen auf die beschriebenen Ausführungsformen anwendbar sind. Der Host, wie die Hostvorrichtung 104 von1 , kann der Datenspeicherungsvorrichtung 106 über einen oder mehrere Pins auf der Schnittstelle, wie beispielsweise die Schnittstelle 114 von1 , eine geeignete Leistungsmenge bereitstellen. - Die geeignete Leistungsmenge kann größer als oder gleich der Leistungsmenge sein, die die Datenspeicherungsvorrichtung 106 für den Betrieb benötigt. Zum Beispiel kann die Leistung, die eine Datenspeicherungsvorrichtung 106 von der Hostvorrichtung 104 empfangen kann, etwa 5 W betragen. Außerdem kann eine Datenspeicherungsvorrichtung 106 etwa 500 mW bis etwa 15 W Leistung von der Hostvorrichtung 104 abziehen. Die zuvor genannten Leistungswerte sollen nicht einschränkend sein, sondern einen Hinweis geben.
- Wie zuvor erwähnt, kann die Datenspeicherungsvorrichtung 106 mehrere Leistungszustände aufweisen, wie D0, D1, D2, D3HOT und D3COLD. Jedem der Leistungszustände ist ein eigener Betrieb der Datenspeicherungsvorrichtung 106 zugeordnet. Die Leistungszustände sind durch folgende Attribute gekennzeichnet: Leistungsaufnahme, Kontext der Datenspeicherungsvorrichtung, Verhalten des Datenspeicherungsvorrichtungstreibers, Wiederherstellungszeit und Aufweckfähigkeit. Leistungszustände werden sequentiell nummeriert, wobei höhere Zahlen niedrigere Leistungsanforderungen und entsprechende höhere Austrittslatenzen darstellen. Weiterhin sind jedem Leistungszustand ein Leistungsbedarf und eine Austrittslatenz zugeordnet. Wie in
2 gezeigt, kann die Datenspeicherungsvorrichtung von dem Leistungszustand D0 entweder in den Leistungszustand D1, D2 oder D3HOT übergehen. Wenn die Datenspeicherungsvorrichtung 106 herunterfährt, verlässt der Leistungszustand der Datenspeicherungsvorrichtung D3HOT und tritt in D3COLD ein. - Der D0-Leistungszustand wird als ein vollständig betriebsfähiger Leistungszustand betrachtet, in dem die Datenspeicherungsvorrichtung 106 vollständig eingeschaltet und betriebsbereit ist. Ein Betriebsleistungszustand bezieht sich auf die Fähigkeit einer Hostvorrichtung 104, mit der Datenspeicherungsvorrichtung 106 zu kommunizieren, um Eingabe/Ausgabe-Operationen (E/A-Operationen) durchzuführen, und die Datenspeicherungsvorrichtung 106 kann Interrupts erzeugen. Interrupts sind eine automatische Übertragung der Firmwareausführung aufgrund eines Systemzeitgebers oder eines Benutzerbefehls. Der DO-Leistungszustand hat die höchste Stufe der kontinuierlichen Leistungsaufnahme für die Datenspeicherungsvorrichtung 106. Nach einer Leerlaufzeit (z. B. keine E/A-Operationen oder dergleichen) kann die Hostvorrichtung 104 die Datenspeicherungsvorrichtung 106 anweisen, in einen Leistungszustand mit niedriger Leistungsaufnahme einzutreten, wie den Leistungszustand D1, D2 und D3HOT. Wenn die Datenspeicherungsvorrichtung 106 nicht mehr in Gebrauch ist, kann die Hostvorrichtung 104 die Datenspeicherungsvorrichtung 106 anweisen, aus dem D3HOT-Leistungszustand in einen Nichtbetriebsleistungszustand D3COLD einzutreten, um die Leistungsaufnahme im Leerlauf auf einen minimalen Wert zu begrenzen. Damit E/A-Befehle auftreten, wird die Datenspeicherungsvorrichtung aus den Leistungszuständen D1, D2, D3HOT und D3COLD aufgeweckt und in den Leistungszustand D0 versetzt.
-
3 ist ein Blockdiagramm, das ein Verfahren 300 für den Übergang einer Speicherungsvorrichtung in einen Niedrigleistungszustand gemäß bestimmten Ausführungsformen veranschaulicht. Gesichtspunkte des Speicherungssystems 100 von1 können verwendet werden, um die Ausführungsformen des Verfahrens 300 zu beschreiben. Bei Block 302 geht die Datenspeicherungsvorrichtung 104 von einem aktiven Zustand in einen Leerlaufzustand über. Der aktive Zustand beschreibt, dass die Datenspeicherungsvorrichtung 104 bei dem DO-Leistungszustand arbeitet, wobei die Datenspeicherungsvorrichtung 104 Lesebefehle, Schreibbefehle oder ähnliche Operationen ausführt. Wenn die Datenspeicherungsvorrichtung 104 in den Leerlauf übergeht (d. h. keine Lesebefehle, Schreibbefehle oder ähnliche Operationen mehr ausführt), beginnt der Zeitgeber 150 bei Block 304 mit dem Inkrementieren oder Zählen in Richtung des Leerlaufzeitschwellenwerts. - Bei Block 306 bestimmt der Controller 108, ob es eine neue Operation der Datenspeicherungsvorrichtung 106 gibt, wie das Ausführen einer neu empfangenen Leseoperation. Ist eine neue Operation eingetroffen oder wird sie ausgeführt, so wird bei Block 308 die neue Operation ausgeführt. Das Verfahren 300 kehrt zu Block 302 zurück, wenn die neue Operation abgeschlossen ist. Wenn es bei Block 306 jedoch keine neue Operation der Datenspeicherungsvorrichtung 106 gibt, dann bestimmt der Controller 108, ob der Leerlaufzeitschwellenwert erreicht wurde. Wenn der Leerlaufzeitschwellenwert bei Block 310 nicht erreicht wurde, kehrt das Verfahren 300 zu Block 306 zurück, wo der Controller bestimmt, ob es eine neue Operation der Datenspeicherungsvorrichtung 106 gibt.
- Wenn jedoch der Leerlaufzeitschwellenwert bei Block 310 erreicht wird, dann bereitet die Datenspeicherungsvorrichtung 106 bei Block 312 den Eintritt in einen Niedrigleistungszustand vor, wie entweder D1, D2 oder D3HOT. Das Vorbereiten des Eintritts in einen Niedrigleistungszustand kann einschließen, dass die Vorbereitungseinheit 154 mindestens eines von Leeren aller zwischengespeicherten Daten in den NVM 110, Kopieren des Inhalts aller erforderlichen Speicher und/oder Register in immer eingeschaltete Speicher, Beenden aller Hintergrundoperationen, Versetzen des DRAM 148 in den Auffrischungsmodus und/oder jeder anderen anwendbaren relevanten Funktion durchführt. Bei Block 314 empfängt die Datenspeicherungsvorrichtung 106 eine Hostanforderung, in einen Niedrigleistungszustand überzugehen.
- Bei Block 316 wird ein neuer Leerlaufzeitschwellenwert oder ein empfohlener Leerlaufzeitraum berechnet. Der neue Leerlaufzeitschwellenwert kann durch den Schwellenwertberechner 152 berechnet werden. Der neue Leerlaufzeitschwellenwert kann durch Anpassen des Leerlaufzeitschwellenwerts um einen Korrekturwert berechnet werden, der auf der Differenz zwischen dem Zeitpunkt, zu dem der Leerlaufzeitschwellenwert erreicht wurde, und dem Zeitpunkt, zu dem die Hostvorrichtung 104 die Niedrigleistungszustandsübergangsanforderung sendet, basiert. Weiterhin kann der neue Leerlaufzeitschwellwert durch zuvor angegebene Verfahren, wie Maschinenlernmodelle, angepasst werden. Bei Block 318 geht die Datenspeicherungsvorrichtung 106 in einen Niedrigleistungszustand über, nachdem sie die Niedrigleistungszustandsübergangsanforderung von der Hostvorrichtung 104 empfangen hat.
-
4 ist ein Blockdiagramm, das ein Verfahren 400 für einen frühen Übergang zu einem Niedrigleistungszustandsmechanismus einer Datenspeicherungsvorrichtung gemäß bestimmten Ausführungsformen veranschaulicht. Gesichtspunkte des Speicherungssystems 100 von1 können verwendet werden, um die Ausführungsformen des Verfahrens 400 zu beschreiben. Bei Block 402 ist die Datenspeicherungsvorrichtung 106 mit der Ausführung eines E/A-Befehls belegt. Bei Block 404 bestimmt der Controller 108, ob die Datenspeicherungsvorrichtung 106 immer noch mit den E/A-Befehlen belegt ist. Wenn die Datenspeicherungsvorrichtung 106 immer noch mit den E/A-Befehlen belegt ist, kehrt das Verfahren 400 zu Block 404 zurück, bis die Datenspeicherungsvorrichtung 106 nicht mehr mit E/A-Befehlen belegt ist. - Wenn die Datenspeichervorrichtung 106 nicht mehr mit E/A-Befehlen belegt ist, wird bei Block 406 der Zeitgeber 150 aktiviert. Wenn der Zeitgeber 150 aktiviert wird, beginnt der Zeitgeber 150 in Richtung des Leerlaufzeitschwellenwerts zu zählen. Bei Block 408 bestimmt der Controller 108, ob die Datenspeicherungsvorrichtung 106 mit den E/A-Befehlen, wie einem neu empfangenen E/A-Befehl, belegt ist. Wenn die Datenspeicherungsvorrichtung 106 bei Block 408 mit den E/A-Befehlen belegt ist, dann wird bei Block 410 der Zeitgeber 150 zurückgesetzt und das Verfahren 400 kehrt zu Block 404 zurück, bis die Datenspeicherungsvorrichtung 106 nicht mehr mit E/A-Befehlen belegt ist. Wenn die Datenspeicherungsvorrichtung 106 jedoch bei Block 408 noch nicht mit E/A-Befehlen belegt ist, dann bestimmt der Controller 108 bei Block 412, ob der Wert des Zeitgebers 150 größer als oder gleich dem Leerlaufzeitschwellenwert ist.
- Wenn der Wert des Zeitgebers 150 bei Block 412 nicht größer als oder gleich dem Leerlaufzeitschwellenwert ist, kehrt das Verfahren 400 zu Block 408 zurück. Wenn jedoch bei Block 412 der Wert des Zeitgebers 150 größer als oder gleich dem Leerlaufzeitschwellenwert ist, nutzt der Controller 108 die Vorbereitungseinheit 154, um die Datenspeicherungsvorrichtung 106 auf einen Eintritt in den Niedrigleistungszustand vorzubereiten.
- Bei Block 416 bestimmt der Controller 108, ob die Datenspeicherungsvorrichtung 106 mit den E/A-Befehlen, wie einem neu empfangenen E/A-Befehl, belegt ist. Wenn die Datenspeicherungsvorrichtung 106 bei Block 416 mit den E/A-Befehlen belegt ist, dann wird die Vorbereitung der Vorbereitungseinheit 154 bei Block 424 abgebrochen, der Zeitgeber 150 wird bei Block 410 zurückgesetzt und das Verfahren 400 kehrt zu Block 404 zurück, bis die Datenspeicherungsvorrichtung 106 nicht mehr mit E/A-Befehlen belegt ist. Wenn die Datenspeicherungsvorrichtung 106 bei Block 416 jedoch noch nicht mit E/A-Befehlen belegt ist, dann bestimmt der Controller 108, ob bei Block 418 ein Niedrigleistungsbefehl von der Hostvorrichtung 104 gesendet wurde.
- Wenn bei Block 418 der Niedrigleistungsbefehl nicht von der Hostvorrichtung 104 gesendet wurde, kehrt das Verfahren 400 zu Block 414 zurück. Wenn jedoch bei Block 418 der Niedrigleistungsbefehl von der Hostvorrichtung 104 gesendet wurde, berechnet bei Block 420 der Schwellenwertberechner 152 einen neuen empfohlenen Leerlaufzeitschwellenwert für eine zukünftige Leerlaufzeitüberschreitung. Bei Block 422 tritt die Datenspeicherungsvorrichtung 106 in den Niedrigleistungszustand ein.
-
5 ist ein Blockdiagramm, das ein Verfahren 500 zum Aktualisieren eines Zeitgeberschwellenwerts gemäß bestimmten Ausführungsformen veranschaulicht. Gesichtspunkte des Speicherungssystems 100 von1 können verwendet werden, um die Ausführungsformen des Verfahrens 500 zu beschreiben. Bei Block 502 beginnt die Berechnung des neuen empfohlenen Leerlaufzeitschwellenwerts. Block 502 kann mit Block 316 des Verfahrens 300 und Block 420 des Verfahrens 400 übereinstimmen. Bei Block 504 wird die Historie der vorherigen Leerlaufzeitüberschreitungen analysiert. Die Analyse kann durch den Schwellenwertberechner 152 durchgeführt werden. - Bei Block 506 berechnet der Schwellenwertberechner 152 den empfohlenen Leerlaufzeitschwellenwert und ein Konfidenzniveau basierend auf der analysierten Historie früherer Leerlaufzeitüberschreitungen. Das Konfidenzniveau ist ein Wert, der ein Konfidenzniveau in dem berechneten empfohlenen Leerlaufzeitschwellenwert angibt. Ferner kann der empfohlene Leerlaufzeitschwellenwert weiterhin durch Korrelieren der vorherigen Leerlaufzeitüberschreitungen mit zusätzlichen Hostsignalen berechnet werden, wobei das zusätzliche Hostsignal eine Aktivierung des permissiven Modus des Nichtbetriebs-Leistungszustands einschließen kann.
- Bei Block 508 bestimmt der Controller 108, ob das Konfidenzniveau ausreichend ist, um einen frühen Übergang in einen Niedrigleistungszustand auszulösen, beispielsweise durch Vorbereiten der Datenspeicherungsvorrichtung 106 durch die Vorbereitungseinheit 154, bei Ankunft des Niedrigleistungsbefehls von der Hostvorrichtung 104 in den Niedrigleistungszustand einzutreten. Zum Beispiel ordnet der Controller das Konfidenzniveau von 0 bis 100. Ein Konfidenzniveau von 0 bedeutet eine geringe Konfidenz und ein Konfidenzniveau von 100 bedeutet eine hohe Konfidenz. Wenn das Konfidenzniveau ausreichend ist, wie ein Konfidenzniveau zwischen etwa 80 und etwa 100, dann wird bei Block 510 der Leerlaufzeitschwellenwert für den nächsten Leerlaufauszeitvorhersagevorgang auf den berechneten empfohlenen Leerlaufzeitschwellenwert eingestellt. Ein Konfidenzniveau von etwa 60 bis etwa 79 kann dazu führen, dass die nächste Leerlaufzeitüberschreitungsvorhersage berücksichtigt wird, jedoch können andere Faktoren, wie der Zustand der Datenspeicherungsvorrichtung 106, die Entscheidung beeinflussen. Wenn jedoch das Konfidenzniveau nicht ausreichend ist, um einen frühen Übergang auszulösen, wie ein Konfidenzniveau von weniger als 59, dann wird bei Block 512 der Leerlaufzeitschwellenwert auf 0 eingestellt, wobei 0 angibt, dass der Leerlaufzeitüberschreitungsvorhersagevorgang deaktiviert ist. Die zuvor aufgeführten Werte sollen nicht einschränkend sein, sondern ein Beispiel für eine mögliche Ausführungsform bereitstellen. Ferner kann das Konfidenzniveau für verschiedene Systeme, Operationen und Plattformen, die die Datenspeicherungsvorrichtung 106 einschließen, unterschiedlich sein. Es wird in Betracht gezogen, dass nach einem Zeitraum ein niedriges Konfidenzniveau als ein hohes Konfidenzniveau betrachtet werden kann und ein hohes Konfidenzniveau als ein niedriges Konfidenzniveau betrachtet werden kann.
- Durch genaues Vorhersagen, wann die Datenspeicherungsvorrichtung einen Niedrigleistungseintrittsbefehl von der Hostvorrichtung empfangen kann, wird die Latenz zum Eintreten in den Niedrigleistungszustand reduziert, wodurch die Leistung der Datenspeicherungsvorrichtung verbessert wird.
- Bei einem Ausführungsbeispiel schließt die Datenspeicherungsvorrichtung eine nichtflüchtige Speichervorrichtung und einen Controller ein, der mit der nichtflüchtigen Speichervorrichtung gekoppelt ist. Der Controller ist eingerichtet, um vorherzusagen, wann eine Hostvorrichtung einen Befehl zum Eintreten in einen Niedrigleistungszustand senden wird, die Datenspeichervorrichtung auf den Eintritt in den Niedrigleistungszustand vorzubereiten, wobei das Vorbereiten auf einem berechneten Konfidenzschwellenwert basiert, und einen Befehl zum Eintreten in einen Niedrigleistungszustand nach dem Vorhersagen und Vorbereiten zu empfangen.
- Das Vorbereiten schließt das Leeren aller zwischengespeicherten Daten in die nichtflüchtige Speichervorrichtung ein. Das Vorbereiten schließt das Kopieren aller Inhalte aller erforderlichen Speicher und/oder Register in die nichtflüchtige Speichervorrichtung ein. Das Vorbereiten schließt das Beenden aller Hintergrundoperationen ein. Das Vorbereiten schließt das Versetzen des DRAM, der sich in dem Controller befindet, in den Auffrischungsmodus ein. Das Vorhersagen schließt das Bestimmen, dass die Datenspeicherungsvorrichtung nicht mit Eingabe-/Ausgabebefehlen belegt ist, und das Aktivieren eines Zeitgebers ein. Das Vorhersagen schließt weiterhin das Berechnen ein, ob der Zeitgeber einen Wert aufweist, der größer als der berechnete Konfidenzschwellenwert ist. Der Controller ist weiterhin eingerichtet, um den berechneten Konfidenzschwellenwert nach dem Empfangen des Befehls für den Eintritt in den Niedrigleistungszustand neu zu berechnen. Der berechnete Konfidenzschwellenwert wird durch Analysieren einer Historie früherer Leerlaufzeitüberschreitungen und Korrelieren der früheren Leerlaufzeitüberschreitungen mit zusätzlichen Hostsignalen berechnet. Ein zusätzliches Hostsignal schließt eine Aktivierung des permissiven Modus des Nichtbetriebs-Leistungszustands (Non-Operational Power State Permissive Mode Enable, OPPME) ein. Der Controller ist weiterhin eingerichtet, um einen empfohlenen Leerlaufzeitschwellenwert und ein Konfidenzniveau zu berechnen und zu bestimmen, ob ein berechnetes Konfidenzniveau ausreichend ist, um einen frühen Übergang in den Niedrigleistungszustand auszulösen. Der Controller ist eingerichtet, um die Datenspeicherungsvorrichtung beim Berechnen eines aktualisierten berechneten Konfidenzschwellenwerts in den Niedrigleistungszustand zu versetzen.
- In einer anderen Ausführungsform schließt eine Datenspeicherungsvorrichtung eine nichtflüchtige Speichervorrichtung und einen Controller ein, der mit der nichtflüchtigen Speichervorrichtung gekoppelt ist. Der Controller ist eingerichtet, um eine Historie von vorherigen Leerlaufzeitüberschreitungen zu analysieren, bei denen eine Hostvorrichtung einen Befehl für den Eintritt der Datenspeicherungsvorrichtung in einen Niedrigleistungszustand ausgegeben hat, die vorherigen Leerlaufzeitüberschreitungen mit anderen Hostvorrichtungssignalen zu korrelieren, einen empfohlenen Leerlaufzeitschwellenwert basierend auf der Historie und Korrelation zu berechnen, ein Konfidenzniveau basierend auf der Historie und Korrelation zu berechnen, und zu bestimmen, ob das berechnete Konfidenzniveau ausreichend ist, um einen frühen Übergang in einen Niedrigleistungszustand auszulösen.
- Der Controller ist eingerichtet, um einen Niedrigleistungszustandsschwellenwert auf 0 einzustellen, wenn bestimmt wird, dass das Konfidenzniveau nicht ausreichend ist, um einen frühen Übergang in den Niedrigleistungszustand auszulösen. Der Controller ist eingerichtet, um einen Niedrigleistungszustandsschwellenwert auf den empfohlenen Leerlaufzeitschwellenwert einzustellen, wenn bestimmt wird, dass das Konfidenzniveau ausreichend ist, um einen frühen Übergang in den Niedrigleistungszustand auszulösen. Der Controller ist eingerichtet, um die Datenspeicherungsvorrichtung auf den Eintritt in den Niedrigleistungszustand vorzubereiten, wenn bestimmt wird, dass das berechnete Konfidenzniveau ausreichend ist, um einen frühen Übergang in den Niedrigleistungszustand auszulösen. Das Vorbereiten schließt das Leeren aller zwischengespeicherten Daten in die nichtflüchtige Speichervorrichtung, das Kopieren von Inhalt aller erforderlichen Speicher und/oder Register in den nichtflüchtigen Speicher, das Beenden aller Hintergrundoperationen und das Versetzen des DRAM, der sich in dem Controller befindet, in den Auffrischungsmodus ein.
- In einer anderen Ausführungsform schließt eine Datenspeicherungsvorrichtung Speichermittel, Mittel zum Vorbereiten der Datenspeicherungsvorrichtung auf den Eintritt in einen Niedrigleistungszustand vor dem Empfangen einer Anweisung von einer Hostvorrichtung zum Eintreten in den Niedrigleistungszustand, und Mittel zum Schätzen einer Konfidenz des Vorhersagens, wann in den Niedrigleistungszustand einzutreten ist, ein, wobei die Mittel zum Vorbereiten basierend auf den Mitteln zum Schätzen arbeiten, wobei die Speichermittel an die Mittel zum Vorbereiten und die Mittel zum Schätzen gekoppelt sind.
- Die Datenspeicherungsvorrichtung schließt weiterhin einen Zeitgeber ein, der aktiviert wird, wenn die Datenspeicherungsvorrichtung nicht mit Eingabe- oder Ausgabebefehlen belegt ist. Die Mittel zum Vorbereiten arbeiten, wenn der Zeitgeber einen Wert aufweist, der größer als ein Wert ist, der durch die Mittel zum Schätzen bereitgestellt wird.
- Während sich das Vorstehende auf Ausführungsformen der vorliegenden Offenbarung bezieht, können andere und weitere Ausführungsformen der Offenbarung ausgearbeitet werden, ohne vom grundlegenden Schutzumfang davon abzuweichen, und der Schutzumfang wird durch die nachstehenden Ansprüche bestimmt.
Claims (20)
- Datenspeicherungsvorrichtung, aufweisend: eine nichtflüchtige Speichervorrichtung; und einen Controller, der mit der nichtflüchtigen Speichervorrichtung gekoppelt ist, wobei der Controller eingerichtet ist zum: Vorhersagen, wann eine Hostvorrichtung einen Befehl zum Eintreten in einen Niedrigleistungszustand senden wird; Vorbereiten der Datenspeichervorrichtung auf den Eintritt in den Niedrigleistungszustand, wobei das Vorbereiten auf einem berechneten Konfidenzschwellenwert basiert; und Empfangen eines Befehls zum Eintreten in einen Niedrigleistungszustand nach dem Vorhersagen und Vorbereiten.
- Datenspeicherungsvorrichtung gemäß
Anspruch 1 , wobei das Vorbereiten das Leeren aller zwischengespeicherten Daten in die nichtflüchtige Speichervorrichtung aufweist. - Datenspeicherungsvorrichtung gemäß
Anspruch 1 , wobei das Vorbereiten das Kopieren des gesamten Inhalts aller erforderlichen Speicher und/oder Register in die nichtflüchtige Speichervorrichtung aufweist. - Datenspeicherungsvorrichtung gemäß
Anspruch 1 , wobei das Vorbereiten das Beenden aller Hintergrundoperationen aufweistt. - Datenspeichervorrichtung nach
Anspruch 1 , wobei das Vorbereiten das Versetzen des dynamischen Direktzugriffsspeichers (DRAM), der sich in dem Controller befindet, in den Auffrischungsmodus aufweist. - Datenspeicherungsvorrichtung gemäß
Anspruch 1 , wobei das Vorhersagen aufweist: Bestimmen, dass die Datenspeicherungsvorrichtung nicht mit Eingabe-/Ausgabebefehlen belegt ist; und Aktivieren eines Zeitgebers. - Datenspeicherungsvorrichtung gemäß
Anspruch 6 , wobei das Vorhersagen weiterhin aufweist: Berechnen, ob der Zeitgeber einen Wert aufweist, der größer als der berechnete Konfidenzschwellenwert ist. - Datenspeicherungsvorrichtung gemäß
Anspruch 7 , wobei der Controller weiterhin eingerichtet ist, um den berechneten Konfidenzschwellenwert nach dem Empfangen des Befehls zum Eintreten in den Niedrigleistungszustand neu zu berechnen. - Datenspeicherungsvorrichtung gemäß
Anspruch 1 , wobei der berechnete Konfidenzschwellenwert durch Analysieren einer Historie früherer Leerlaufzeitüberschreitungen und Korrelieren der früheren Leerlaufzeitüberschreitungen mit zusätzlichen Hostsignalen berechnet wird. - Datenspeicherungsvorrichtung gemäß
Anspruch 9 , wobei ein zusätzliches Hostsignal die Aktivierung des permissiven Modus des Nichtbetriebs-Leistungszustands aufweist. - Datenspeicherungsvorrichtung gemäß
Anspruch 10 , wobei der Controller Steuerung weiterhin eingerichtet ist zum: Berechnen eines empfohlenen Leerlaufzeitschwellenwerts und Konfidenzniveaus; und Bestimmen, ob ein berechnetes Konfidenzniveau ausreichend ist, um einen frühen Übergang in den Niedrigleistungszustand auszulösen. - Datenspeicherungsvorrichtung gemäß
Anspruch 1 , wobei der Controller eingerichtet ist, um die Datenspeicherungsvorrichtung beim Berechnen eines aktualisierten berechneten Konfidenzschwellenwerts in den Niedrigleistungszustand zu versetzen. - Datenspeicherungsvorrichtung, aufweisend: eine nichtflüchtige Speichervorrichtung; und einen Controller, der mit der nichtflüchtigen Speichervorrichtung gekoppelt ist, wobei der Controller eingerichtet ist zum: Analysieren einer Historie früherer Leerlaufzeitüberschreitungen, bei denen eine Hostvorrichtung einen Befehl für den Eintritt der Datenspeicherungsvorrichtung in einen Niedrigleistungszustand ausgegeben hat; Korrelieren der vorherigen Leerlaufzeitüberschreitungen mit anderen Hostvorrichtungssignalen; Berechnen eines empfohlenen Leerlaufzeitschwellenwerts basierend auf der Historie und Korrelation; Berechnen eines Konfidenzniveaus basierend auf der Historie und Korrelation; und Bestimmen, ob das berechnete Konfidenzniveau ausreichend ist, um einen frühen Übergang in einen Niedrigleistungszustand auszulösen.
- Datenspeicherungsvorrichtung gemäß
Anspruch 13 , wobei der Controller eingerichtet ist, um einen Niedrigleistungszustandsschwellenwert auf 0 einzustellen, wenn bestimmt wird, dass das Konfidenzniveau nicht ausreichend ist, um einen frühen Übergang in den Niedrigleistungszustand auszulösen. - Datenspeicherungsvorrichtung gemäß
Anspruch 13 , wobei der Controller eingerichtet ist, um einen Niedrigleistungszustandsschwellenwert auf den empfohlenen Leerlaufzeitschwellenwert einzustellen, wenn bestimmt wird, dass das Konfidenzniveau ausreichend ist, um einen frühen Übergang in den Niedrigleistungszustand auszulösen. - Datenspeicherungsvorrichtung gemäß
Anspruch 13 , wobei der Controller eingerichtet ist, um die Datenspeicherungsvorrichtung auf den Eintritt in den Niedrigleistungszustand vorzubereiten, wenn bestimmt wird, dass das berechnete Konfidenzniveau ausreichend ist, um einen frühen Übergang in den Niedrigleistungszustand auszulösen. - Datenspeicherungsvorrichtung gemäß
Anspruch 16 , wobei das Vorbereiten aufweist: Leeren aller zwischengespeicherten Daten in die nichtflüchtige Speichervorrichtung; Kopieren von Inhalt aller erforderlichen Speicher und/oder Register in den nichtflüchtigen Speicher; Beenden aller Hintergrundoperationen; und Versetzen des dynamischen Direktzugriffsspeichers (DRAM), der sich in dem Controller befindet, in den Auffrischungsmodus. - Datenspeicherungsvorrichtung, aufweisend: Speichermittel; Mittel zum Vorbereiten der Datenspeicherungsvorrichtung auf den Eintritt in einen Niedrigleistungszustand vor dem Empfangen einer Anweisung von einer Hostvorrichtung zum Eintreten in den Niedrigleistungszustand; und Mittel zum Schätzen einer Konfidenz des Vorhersagens, wann in den Niedrigleistungszustand einzutreten ist, wobei die Mittel zum Vorbereiten basierend auf den Mitteln zum Schätzen arbeiten, wobei die Speichermittel an die Mittel zum Vorbereiten und die Mittel zum Schätzen gekoppelt sind.
- Datenspeicherungsvorrichtung gemäß
Anspruch 18 , weiterhin aufweisend einen Zeitgeber, der aktiviert wird, wenn die Datenspeicherungsvorrichtung nicht mit Eingabe- oder Ausgabebefehlen belegt ist. - Datenspeicherungsvorrichtung gemäß
Anspruch 19 , wobei die Mittel zum Vorbereiten arbeiten, wenn der Zeitgeber einen Wert aufweist, der größer als ein Wert ist, der durch die Mittel zum Schätzen bereitgestellt wird.
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202163139620P | 2021-01-20 | 2021-01-20 | |
US63/139,620 | 2021-01-20 | ||
US17/185,791 US11640251B2 (en) | 2021-01-20 | 2021-02-25 | Early transition to low power mode for data storage devices |
US17/185,791 | 2021-02-25 |
Publications (1)
Publication Number | Publication Date |
---|---|
DE102021114459A1 true DE102021114459A1 (de) | 2022-07-21 |
Family
ID=82218121
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE102021114459.0A Pending DE102021114459A1 (de) | 2021-01-20 | 2021-06-04 | Frühzeitiger übergang in den niedrigleistungsmodus für datenspeicherungsvorrichtungen |
Country Status (4)
Country | Link |
---|---|
US (1) | US11640251B2 (de) |
KR (1) | KR102656976B1 (de) |
CN (1) | CN114860320B (de) |
DE (1) | DE102021114459A1 (de) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20230112362A (ko) * | 2022-01-20 | 2023-07-27 | 에스케이하이닉스 주식회사 | 데이터 처리 시스템 및 그 동작 방법과, 이를 위한 스토리지 장치 |
US12124739B2 (en) * | 2022-08-30 | 2024-10-22 | Micron Technology, Inc. | Memory devices including idle time prediction |
KR102494735B1 (ko) * | 2022-10-07 | 2023-02-06 | 주식회사 에이닉스 | 유휴 모드 제어 기반의 컴퓨터 에너지 절감 시스템 |
US20250036293A1 (en) * | 2023-04-26 | 2025-01-30 | Western Digital Technologies, Inc. | Optimized power up in storage memory devices |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8041967B2 (en) * | 2005-02-15 | 2011-10-18 | Hewlett-Packard Development Company, L.P. | System and method for controlling power to resources based on historical utilization data |
US8041972B2 (en) * | 2006-04-04 | 2011-10-18 | Qualcomm Incorporated | Apparatus and method for setting wakeup times in a communication device based on estimated lock on time of frequency synthesizer |
US8924785B2 (en) | 2012-09-27 | 2014-12-30 | Apple Inc. | Power shutdown prediction for non-volatile storage devices |
US20140129759A1 (en) * | 2012-11-06 | 2014-05-08 | Dell Products L.P. | Low power write journaling storage system |
US20140181553A1 (en) * | 2012-12-21 | 2014-06-26 | Advanced Micro Devices, Inc. | Idle Phase Prediction For Integrated Circuits |
US9442668B1 (en) * | 2013-08-29 | 2016-09-13 | Western Digital Technologies, Inc. | Adaptive power management control with performance feedback |
US20150067357A1 (en) * | 2013-08-30 | 2015-03-05 | Advanced Micro Devices, Inc. | Prediction for power gating |
US9568971B2 (en) * | 2015-02-05 | 2017-02-14 | Apple Inc. | Solid state drive with self-refresh power saving mode |
US10055236B2 (en) | 2015-07-02 | 2018-08-21 | Sandisk Technologies Llc | Runtime data storage and/or retrieval |
US9690364B2 (en) | 2015-09-04 | 2017-06-27 | Qualcomm Incorporated | Systems and methods for dynamically adjusting memory state transition timers |
US10347306B2 (en) * | 2016-06-21 | 2019-07-09 | Samsung Electronics Co., Ltd. | Self-optimized power management for DDR-compatible memory systems |
US11207021B2 (en) * | 2016-09-06 | 2021-12-28 | Fitbit, Inc | Methods and systems for labeling sleep states |
US10732871B2 (en) * | 2017-11-01 | 2020-08-04 | Western Digital Technologies, Inc. | Storage device and method for adaptive sleep mode transitions |
US10890963B2 (en) | 2017-11-24 | 2021-01-12 | Insyde Software Corp. | System and method for platform sleep state enhancements using non-volatile dual in-line memory modules |
JP2019159802A (ja) * | 2018-03-13 | 2019-09-19 | 東芝メモリ株式会社 | 記憶装置の電力制御方法および記憶装置 |
US10712806B1 (en) | 2018-12-21 | 2020-07-14 | Micron Technology, Inc. | Management of power state transitions of a memory sub-system |
US11442635B2 (en) * | 2019-01-10 | 2022-09-13 | Western Digital Technologies, Inc. | Data storage systems and methods for optimized scheduling of background management operations |
-
2021
- 2021-02-25 US US17/185,791 patent/US11640251B2/en active Active
- 2021-06-04 DE DE102021114459.0A patent/DE102021114459A1/de active Pending
- 2021-06-09 CN CN202110645852.6A patent/CN114860320B/zh active Active
- 2021-06-21 KR KR1020210080059A patent/KR102656976B1/ko active Active
Also Published As
Publication number | Publication date |
---|---|
US11640251B2 (en) | 2023-05-02 |
KR102656976B1 (ko) | 2024-04-11 |
CN114860320B (zh) | 2024-05-24 |
CN114860320A (zh) | 2022-08-05 |
US20220229566A1 (en) | 2022-07-21 |
KR20220105571A (ko) | 2022-07-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE102021114459A1 (de) | Frühzeitiger übergang in den niedrigleistungsmodus für datenspeicherungsvorrichtungen | |
DE102017104125B4 (de) | Zonen von Übersetzungstabellen von logischen in physische Datenadressen mit parallelisiertem Log-Listenreplay | |
DE102016009806A1 (de) | Speichern von paritätsdaten getrennt von geschützten daten | |
DE102020107659A1 (de) | Zonenbildung für gezonte namensräume | |
DE102021115626A1 (de) | Datenaggregation in zns-laufwerk | |
DE112020005044T5 (de) | Zonenanhang-befehlsplanung basierend auf zonenzustand | |
DE102017113439A1 (de) | Abbildungstabellen für Speichervorrichtungen | |
DE102019124450A1 (de) | Bandbreitenbegrenzung in solid-state-laufwerken | |
DE102013020269A1 (de) | Umordnen des Zurückschickens für einen Host-Lesebefehl basierend auf der Zeitschätzung des Abschlusses eines Flash-Lesebefehls | |
DE112019005511T5 (de) | Halten von schreibbefehlen in gezonten namensräumen | |
DE102015014851A1 (de) | Ressourcenzuteilung und -freigabe für die Energieverwaltung in Vorrichtungen | |
DE102021114458A1 (de) | Befehlsentleerung unter verwendung des host-speicherpuffers | |
DE112020004958T5 (de) | Dynamische zonenaktivgrenze für offenen zns | |
DE102018123937A1 (de) | Verwalten von Flash-Speicher-Lesevorgängen | |
DE112020005078T5 (de) | Verschieben von änderungsprotokolltabellen zum abstimmen mit zonen | |
DE102021115360A1 (de) | Parallele boot-ausführung von speichervorrichtungen | |
DE102020211544A1 (de) | Steuerung, betriebsverfahren der steuerung und speichergerät mit derselben | |
DE112020004974T5 (de) | Offenhalten von zonen mit zwischenauffüllung | |
DE102018120964A1 (de) | Integrierte Schaltungsspeichervorrichtungen mit verbesserter Pufferspeichernutzung während Lese- und Schreiboperationen | |
DE112020004963T5 (de) | Datenintegritätsschutz für zns-anforderungen | |
DE102021115893A1 (de) | EFFIZIENTE DATENSPEICHERUNGSNUTZUNG IM ZUSAMMENHANG MIT EINEM NICHT ORDNUNGSGEMÄßEN HERUNTERFAHREN | |
DE112020004975T5 (de) | SPEICHERUNGSVORRICHTUNGEN MIT MINIMALEN SCHREIBGRÖßEN VON DATEN | |
DE102017128938A1 (de) | Überlappungs-Schreibsysteme für nichtflüchtige Kreuzpunktspeichervorrichtungen | |
DE112020005066T5 (de) | Geformte und optimierte leistungszyklen | |
DE112020005096T5 (de) | Gewichtung von lesebefehlen an zonen in speicherungsvorrichtungen |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R012 | Request for examination validly filed | ||
R082 | Change of representative |
Representative=s name: DEHNSGERMANY PARTNERSCHAFT VON PATENTANWAELTEN, DE Representative=s name: DEHNS GERMANY, DE Representative=s name: DEHNS GERMANY PARTNERSCHAFT MBB, DE |
|
R082 | Change of representative |
Representative=s name: DEHNSGERMANY PARTNERSCHAFT VON PATENTANWAELTEN, DE Representative=s name: DEHNS GERMANY PARTNERSCHAFT MBB, DE |
|
R081 | Change of applicant/patentee |
Owner name: SANDISK TECHNOLOGIES, INC. (N.D.GES.D. STAATES, US Free format text: FORMER OWNER: WESTERN DIGITAL TECHNOLOGIES, INC., SAN JOSE, CA, US |
|
R081 | Change of applicant/patentee |
Owner name: SANDISK TECHNOLOGIES, INC. (N.D.GES.D. STAATES, US Free format text: FORMER OWNER: SANDISK TECHNOLOGIES, INC. (N.D.GES. D. STAATES DELAWARE), MILPITAS, CA, US |