DE102019118631A1 - Speichervorrichtung, welche eine Wartungsarbeit unabhängig ohne Befehl des Host initiiert, und elektronisches System mit derselben - Google Patents

Speichervorrichtung, welche eine Wartungsarbeit unabhängig ohne Befehl des Host initiiert, und elektronisches System mit derselben Download PDF

Info

Publication number
DE102019118631A1
DE102019118631A1 DE102019118631.5A DE102019118631A DE102019118631A1 DE 102019118631 A1 DE102019118631 A1 DE 102019118631A1 DE 102019118631 A DE102019118631 A DE 102019118631A DE 102019118631 A1 DE102019118631 A1 DE 102019118631A1
Authority
DE
Germany
Prior art keywords
controller
storage device
host
solid state
timer
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
DE102019118631.5A
Other languages
English (en)
Inventor
Youngho Kwak
Hojun Shim
Kwanghee CHOI
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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
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
Priority claimed from KR1020180090894A external-priority patent/KR102546255B1/ko
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of DE102019118631A1 publication Critical patent/DE102019118631A1/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/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • 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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3034Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a storage system, e.g. DASD based or network based
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3058Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3065Monitoring arrangements determined by the means or processing involved in reporting the monitored data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/16Protection against loss of memory contents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/102Program control for peripheral devices where the programme performs an interfacing function, e.g. device driver
    • 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/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
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0026PCI express
    • 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

Eine Speichereinrichtung (1300) weist einen Controller (1330) und eine Mehrzahl von nichtflüchtigen Speichervorrichtungen (1311-1319) auf. Wartungsbedingungen der nichtflüchtigen Speichervorrichtungen (1311-1319) werden intern durch die Speichereinrichtung (1300) überwacht. Bei einem Bestimmen, dass eine Wartungsbedingung erfüllt ist, benachrichtigt die Speichereinrichtung (1300) einen externen Host (1100). Der Controller (1330) kann die Wartungsarbeiten auf der Mehrzahl von nichtflüchtigen Speichervorrichtungen (1311-1319) mit einer kleinen Unterbrechung zu dem Host (1100) durchführen und sicherstellen, dass Daten zuverlässig durch die nichtflüchtigen Speichervorrichtungen (1311-1319) aufrechterhalten werden.

Description

  • QUERVERWEIS AUF VERWANDTE ANMELDUNG
  • Die vorliegende Anmeldung beansprucht unter 35 U. S. C. § 119 die Priorität der am 3. August 2018 beim koreanischen Amt für geistiges Eigentum eingereichten koreanischen Patentanmeldung Nummer 10-2018-0090894 , deren Offenbarung durch Verweis hierin in ihrer Gesamtheit miteingebunden ist.
  • TECHNISCHES GEBIET
  • Die vorliegende Offenbarung bezieht sich auf eine elektronische Vorrichtung und genauer bezieht sie sich auf Konfigurationen und Operationen einer Speichervorrichtung zum Speichern von Daten.
  • BESCHREIBUNG DES STANDES DER TECHNIK
  • Heutzutage werden verschiedene Typen von elektronischen Vorrichtungen verwendet. Eine elektronische Vorrichtung führt ihre eigenen Funktionen gemäß Operationen von elektronischen Schaltungen durch, welche in der elektronischen Vorrichtung enthalten sind. Die elektronische Vorrichtung kann einen Dienst für einen Nutzer vorsehen, während sie ausschließlich arbeitet oder während sie mit einer anderen elektronischen Vorrichtung kommuniziert.
  • Eine Speichereinrichtung ist ein Beispiel von elektronischen Vorrichtungen. Die Speichereinrichtung ist konfiguriert, um Daten in Speicherelementen, welche in der Speichereinrichtung enthalten sind, zu speichern, und um die gespeicherten Daten auszugeben. Demzufolge sieht die Speichereinrichtung einen Speicherdienst für den Nutzer vor.
  • Mit der Zunahme von elektronischen Vorrichtungen und einer entsprechenden Zunahme von elektronischen Kommunikationen wurden verschiedene Typen von Daten diversifiziert und die Datenmenge, welche zu speichern ist, hat scharf zugenommen. Aus diesem Grund hat die Nachfrage nach einer Speichereinrichtung, um große Datenmengen zuverlässig zu speichern und eine große Datenmenge bei hohen Performanceraten zu verarbeiten, zugenommen. Beispielsweise ist es, wenn Daten einer Mehrzahl von Bits in einem Halbleiterspeicherelement auf einer kleinen Schaltungsfläche gespeichert werden, vorteilhaft, eine große Datenmenge zu speichern. Wenn jedoch ein Ladungsverlust des Halbleiterspeicherelements zunimmt und eine Spannungsmarge zur Datenbestimmung abnimmt, kann die Datenzuverlässigkeit verschlechtert sein.
  • Beispielsweise kann die Speichervorrichtung Schutzoperationen vorsehen um zu verhindern, dass die Datenzuverlässigkeit verschlechtert wird. Einige Speichervorrichtungen jedoch sind konfiguriert, um passiv unter der Steuerung von anderen elektronischen Vorrichtungen zu arbeiten. Der passive Betrieb der Speichervorrichtung kann unzureichend sein, um eine Datenzuverlässigkeit zu garantieren.
  • KURZFASSUNG
  • Eine Speichereinrichtung kann eine Wartungsarbeit von nichtflüchtigem Speicher, welcher darin enthalten ist, durchführen, ohne einen Befehl eines Host zu benötigen.
  • Offenbart hierin sind eine Speichereinrichtung (Storage Device) und ein elektronisches System, welches die Speichereinrichtung aufweist. Gemäß einigen Beispielen weist die Speichereinrichtung einen Controller und eine Mehrzahl von nichtflüchtigen Speichervorrichtungen (Memory Device) auf. Wartungsbedingungen der nichtflüchtigen Speichervorrichtungen werden intern durch die Speichereinrichtung überwacht. Bei einem Bestimmen, dass eine Wartungsbedingung erfüllt ist, benachrichtigt die Speichereinrichtung den Host. Der Controller kann die Wartungsarbeiten auf der Mehrzahl von nichtflüchtigen Speichervorrichtungen mit einer kleinen Unterbrechung beziehungsweise Störung für den Host durchführen und sicherstellen, dass Daten zuverlässig durch die nichtflüchtigen Speichervorrichtungen aufrechterhalten werden.
  • Gemäß einigen Beispielen weist die Festkörperspeichereinrichtung eine Schnittstelle auf, um eine Kommunikation mit einem Host vorzusehen, eine Mehrzahl von nichtflüchtigen Halbleiterspeichervorrichtungen und einen Controller, welcher konfiguriert ist, um in Kommunikation mit den nichtflüchtigen Speichervorrichtungen zu sein, um auf die nichtflüchtigen Speichervorrichtungen zuzugreifen, und konfiguriert, um in Kommunikation mit der Schnittstelle zu sein, um Befehle von dem Host zu empfangen und um Daten mit dem Host zu kommunizieren.
  • Die Festkörperspeichereinrichtung kann in einem normalen Modus betreibbar sein, in welchem die Mehrzahl von nichtflüchtigen Speichervorrichtungen angeschaltet sind und Leistung empfangen und der Controller bei einem normalen Leistungsverbrauchsniveau arbeitet, und kann in einem Leistungseinsparmodus betreibbar sein, in welchem die Mehrzahl von nichtflüchtigen Speichervorrichtungen abgeschaltet sind und in welchem der Controller bei einem verringerten Leistungsverbrauchsniveau geringer als dem normalen Leistungsverbrauchsniveau arbeitet.
  • Der Controller kann einen Timer aufweisen, wobei der Timer konfiguriert ist, um initiiert zu werden, wenn der Controller in den Leistungseinsparmodus eintritt, und konfiguriert ist, um das Verstreichen einer Referenzzeit zu bestimmen. Der Controller kann konfiguriert sein, um in Antwort darauf, dass der Timer ein Verstreichen der Referenzzeit bestimmt, die Speichereinrichtung zu veranlassen, eine Benachrichtigung zu dem Host zu senden, um den Host zu veranlassen, ein Austreten aus dem Leistungseinsparmodus der Festkörperspeichereinrichtung zu initiieren.
  • In einigen Beispielen ist der Controller konfiguriert, um in Antwort auf den Timer eine Leseregenerieroperation auf einer oder mehreren der Mehrzahl von nichtflüchtigen Speichervorrichtungen zu initiieren.
  • Die Festkörperspeichereinrichtung kann mit einem Leistungsverwalter verbunden sein. In dem normalen Betriebsmodus der Festkörperspeichereinrichtung kann der Leistungsverwalter eine Hauptleistung für die Festkörperspeichereinrichtung vorsehen und der Controller ist konfiguriert, um auf die nichtflüchtigen Speichervorrichtungen zuzugreifen, um auf Befehle zu antworten, welche von dem Host empfangen werden, und um Daten zwischen dem Host und der Mehrzahl von nichtflüchtigen Speichervorrichtungen zu übertragen. In dem Leistungseinsparbetriebsmodus der Festkörperspeichereinrichtung kann der Leistungsverwalter die Hilfsleistung für die Festkörperspeichereinrichtung vorsehen, um nur einen Teil der Festkörperspeichereinrichtung zu betreiben, und die Mehrzahl von Halbleiterspeichervorrichtungen empfängt keine Leistung.
  • In dem Leistungseinsparbetriebsmodus der Festkörperspeichereinrichtung kann der Controller konfiguriert sein, um eine Benachrichtigung zu dem Host zu senden, um den Host zu veranlassen, einen Austritt aus dem Leistungseinsparmodus der Festkörperspeichereinrichtung zu initiieren, welche ein Leistungseinsparmodus-Austrittsbefehl sein kann, oder den Leistungsverwalter veranlast, von dem Zuführen von Hilfsleistung zu dem Zuführen von Hauptleistung zu der Speichereinrichtung umzuschalten.
  • In einigen Beispielen weist der Controller einen Statusverwalter auf, welcher konfiguriert ist, um zu veranlassen, dass eine Wartungsbenachrichtigung zu dem Host in Antwort auf ein Bestimmen gesendet wird, dass eine oder mehrere der nichtflüchtigen Speichervorrichtungen eine Wartung benötigen, um eine Zeitperiode vorzusehen, in welcher auf die Festkörperspeichereinrichtung durch den Host nicht zugegriffen werden kann, während welcher der Controller eine oder mehrere Wartungsarbeiten auf der einen oder mehreren nichtflüchtigen Vorrichtungen durchführen kann. Der Statusverwalter kann konfiguriert sein, um ein Attribut von Speicherbereichen der Mehrzahl von nichtflüchtigen Speichervorrichtungen zu überwachen wie beispielsweise eines oder mehrere von einem Verschleißniveau beziehungsweise Beanspruchungsniveau jedes der Speicherbereiche, einer Menge von ungültigen Speicherbereichen, einer zur Verfügung stehenden Kapazität der Speicherbereiche, einer Lebensdauer jedes der Speicherbereiche und einer Zuverlässigkeit einer Datenspeicherung jedes der Speicherbereiche. Der Statusverwalter kann veranlassen, dass die Wartungsbenachrichtigung zu dem Host in Antwort auf einen Vergleich der überwachten Attribute mit einem Grenzwert gesendet wird.
  • Gemäß beispielhaften Ausführungsformen kann eine Zuverlässigkeit, eine Performance und eine Verwaltungseffizienz einer Speichervorrichtung verbessert werden.
  • Figurenliste
  • Die obigen und andere Aufgaben und Merkmale der vorliegenden Offenbarung werden aus den folgenden Beschreibungen unter Bezugnahme auf die beigefügten Zeichnungen offensichtlich werden.
    • 1 ist ein Blockschaltbild, welches eine beispielhafte Konfiguration eines elektronischen Systems veranschaulicht, welches eine Speichereinrichtung gemäß einigen beispielhaften Ausführungsformen aufweist.
    • 2 ist ein Blockschaltbild, welches eine beispielhafte Konfiguration aufweist, welche mit einer Speichereinrichtung der 1 verbunden ist.
    • 3 ist ein Flussdiagramm, welches einen beispielhaften Betrieb einer Speichereinrichtung der 2 zeigt.
    • 4 bis 6 sind Konzeptdiagramme zum Beschreiben einer beispielhaften Operation beziehungsweise eines beispielhaften Betriebs einer Speichereinrichtung der 2 gemäß einigen Ausführungsformen.
    • 7 ist ein Flussdiagramm, welches eine beispielhafte Operation der 4 bis 6 beschreibt.
    • 8 und 9 sind Konzeptdiagramme zum Beschreiben einer beispielhaften Operation einer Speichereinrichtung der 2 gemäß einigen beispielhaften Ausführungsformen.
    • 10 ist ein Flussdiagramm, welches eine beispielhafte Operation der 8 und 9 beschreibt.
    • 11 bis 14 sind Konzeptdiagramme zum Beschreiben einer beispielhaften Operation einer Speichereinrichtung der 2 gemäß einigen beispielhaften Ausführungsformen.
    • 15 ist ein Flussdiagramm, welches eine beispielhafte Operation der 11 bis 14 beschreibt.
    • 16 und 17 sind Blockschaltbilder, welche beispielhafte Konfigurationen veranschaulichen, welche mit einer Speichereinrichtung der 2 verbunden sind.
    • 18 ist ein Blockschaltbild, welches eine beispielhafte Konfiguration eines elektronischen Systems veranschaulicht, welches Speichereinrichtungen gemäß einigen beispielhaften Ausführungsformen aufweist.
    • 19 und 20 sind Konzeptdiagramme zum Beschreiben beispielhafter Operationen von Speichereinrichtungen der 18.
  • DETAILLIERTE BESCHREIBUNG
  • Untenstehend werden einige beispielhafte Ausführungsformen im Detail und deutlich unter Bezugnahme auf die beigefügten Zeichnungen derart beschrieben werden, dass Fachleute die vorliegende Offenbarung leicht implementieren können.
  • 1 ist ein Blockschaltbild, welches eine beispielhafte Konfiguration eines elektronischen Systems 1000 veranschaulicht, welches eine Speichereinrichtung (Storage Device) 1300 gemäß einigen beispielhaften Ausführungsformen aufweist.
  • Das elektronische System 1000 kann einen Hauptprozessor 1101, einen Arbeitsspeicher (Working Memory) 1200, die Speichereinrichtung (Storage Device) 1300, einen Kommunikationsblock 1400, eine Nutzerschnittstelle 1500, einen Leistungsverwalter 1600 und einen Bus 1900 aufweisen. Beispielsweise kann das elektronische System 1000 ein Desktopcomputer, ein Laptopcomputer, ein Tabletcomputer, ein Smartphone, eine tragbare Vorrichtung, eine Videospielekonsole, ein Server, ein elektrisches Fahrzeug, Hausgeräte und/oder ein anderer Typ von elektronischer Vorrichtung sein.
  • Der Hauptprozessor 1101 kann den Gesamtbetrieb des elektronischen Systems 1000 steuern und kann verschiedene arithmetische/logische Operationen durchführen. Beispielsweise kann der Hauptprozessor 1101 durch einen Allgemeinzweckprozessor, einen Spezialzweckprozessor und/oder einen Anwendungsprozessor implementiert sein. Der Hauptprozessor 1101 kann einen oder mehrere Prozessorkerne aufweisen.
  • Der Arbeitsspeicher 1200 kann Daten speichern, welche in einem Betrieb des elektronischen Systems 1000 verwendet werden. Beispielsweise kann der Arbeitsspeicher 1200 vorübergehend Daten, welche durch den Hauptprozessor 1101 verarbeitet werden oder zu verarbeiten sind, speichern. Beispielsweise kann der Arbeitsspeicher 1200 ein flüchtiger Speicher (welcher Daten nicht aufrecht erhält, wenn die Leistung nicht dorthin zugeführt wird) wie beispielsweise ein statischer Direktzugriffsspeicher (SRAM), ein dynamischer RAM (DRAM) oder synchroner DRAM (SDRAM) sein und/oder ein nichtflüchtiger Speicher (welche Daten aufrechterhält, wenn Leistung dorthin nicht zugeführt wird) wie beispielsweise ein Phasenübergangs-RAM (PRAM), ein magnetoresistiver RAM (MRAM), ein resistiver RAM (ReRAM) oder ein ferroelektrischer RAM (FRAM).
  • Die Speichereinrichtung 1300 kann Daten unabhängig davon speichern, ob Leistung der Speichereinrichtung 1300 zugeführt wird. Beispielsweise kann die Speichereinrichtung 1300 ein nichtflüchtiger Speicher wie beispielsweise ein NAND oder ein NOR-Flashspeicher, ein PRAM, ein MRAM, ein ReRAM oder ein FRAM sein. Beispielsweise kann die Speichereinrichtung 1300 eine Festkörperspeichereinrichtung wie beispielsweise ein Festkörperlaufwerk (SSD), eine Speicherkarte oder ein eingebetteter Speicher sein (wovon jeder gebildet sein kann durch und/oder aufweist nichtflüchtige Speicherzellen, welche als integrierte Schaltung innerhalb eines Halbleiterchip gebildet sind).
  • Der Kommunikationsblock 1400 kann wenigstens eines von verschiedenen drahtlosen/drahtgebundenen Kommunikationsprotokollen unterstützen, um mit einer externen Vorrichtung/System hinsichtlich des elektronischen Systems 1000 zu kommunizieren. Die Nutzerschnittstelle 1500 kann verschiedene Eingabe-/Ausgabe-Schnittstellen aufweisen, um Kommunikationen zwischen einem Nutzer und dem elektronischen System 1000 zu vermitteln.
  • Der Leistungsverwalter 1600 kann Leistung Komponenten des elektronischen Systems 1000 zuführen. Der Leistungsverwalter 1600 kann Leistung von einer externen Leistungsquelle und/oder einer Batterie empfangen. Der Leistungsverwalter 1600 kann eine Spannungsversorgung aufweisen, um die empfangene externe Leistung (beispielsweise eine externe Spannung) geeignet in eine umgewandelte interne Leistung (beispielsweise eine interne Spannung) für die Komponenten des elektronischen Systems 1000 umzuwandeln.
  • Der Bus 1900 kann einen Kommunikationspfad zwischen Komponenten des elektronischen Systems 1000 vorsehen. Die Komponenten des elektronischen Systems 1000 können Daten miteinander in Übereinstimmung mit einem Busformat des Busses 1900 austauschen. Beispielsweise kann das Busformat mit einem oder mehreren von verschiedenen Schnittstellenprotokollen wie beispielsweise Universal Serial Bus (USB), Small Computer System Interface (SCSI), Peripheral Component Interconnect Express (PCIe), Mobile PCIe (M-PCIe), Serial Advanced Technology Attachment (SATA), Serial Attached SCSI (SAS), Nonvolatile Memory Express (NVMe), Universal Flash Storage (UFS), Double Data Rate (DDR), Low Power DDR (LPDDR), etc. übereinstimmen.
  • Die Speichereinrichtung 1300 kann gemäß einer beliebigen der beispielhaften Ausführungsformen der vorliegenden Offenbarung implementiert sein. Die Speichereinrichtung 1300 kann eine Wartungsarbeit unabhängig ohne einen Befehl eines Host (beispielsweise der Hauptprozessor 1101) initiieren. Beispielhafte Konfigurationen und beispielhafte Operationen, welche mit der Speichereinrichtung 1300 verbunden sind, werden unter Bezugnahme auf die 2 bis 20 beschrieben werden.
  • Beispielhafte Details der Speichereinrichtung 1300 werden in den folgenden Beschreibungen vorgesehen sein, die vorliegende Erfindung ist jedoch nicht darauf beschränkt. Die beispielhaften Ausführungsformen können in einem beliebigen Typ von Vorrichtung beziehungsweise Einrichtung eingesetzt werden, welcher ein Halbleiterspeicherelement aufweist. Die folgenden Beschreibungen sind vorgesehen, um ein besseres Verständnis zu erleichtern und sind nicht vorgesehen, um die vorliegende Offenbarung zu beschränken.
  • 2 ist ein Blockschaltbild, welches eine beispielhafte Konfiguration, welche mit der Speichereinrichtung 1300 der 1 verbunden ist, veranschaulicht.
  • Wie unter Bezugnahme auf 1 beschrieben ist, kann der Hauptprozessor 1101 mit der Speichereinrichtung 1300 über den Bus 1900 kommunizieren. In der vorliegenden Offenbarung kann auf eine externe Vorrichtung, welche in der Lage ist, auf die Speichereinrichtung 1300 zuzugreifen, Bezug genommen werden als ein „Host“ (beispielsweise ein Host 1100). Der Hauptprozessor 1101 der 1 ist ein Beispiel des Host 1100, die vorliegende Erfindung ist jedoch nicht darauf beschränkt.
  • Der Host 1100 kann Daten DAT mit der Speichereinrichtung 1300 austauschen. Die Speichereinrichtung 1300 kann einen Speicherdienst für den Host 1100 in Antwort auf einen Befehl CMD, welcher von dem Host 1100 empfangen wird, vorsehen. Signale wie beispielsweise Daten DAT, Befehle CMD und Adressen ADDR können zwischen dem Host 1100 und der Speichereinrichtung 1300 über eine Signalschnittstelle 1351 der Speichereinrichtung 1300 und eine oder mehrere Signalleitungen (beispielsweise einen externen Bus), welche sich zwischen dem Host 1100 und der Speichereinrichtung 1300 erstrecken, ausgetauscht werden. Die Signalschnittstelle 1351 kann mit dem Controller 1330 (beispielsweise über einen internen Bus der Speichereinrichtung 1300) kommunizieren, um solche Signale auszutauschen.
  • Beispielsweise kann der Host 1100 die Speichereinrichtung 1300 mit einer Schreibanforderung (d.h. einem Schreibbefehl CMD) und Daten DAT als Schreibdaten vorsehen. Die Speichereinrichtung 1300 kann die angeforderten Schreibdaten in Antwort auf den Schreibbefehl speichern. Beispielsweise kann der Host 1100 die Speichereinrichtung 1300 mit einer Leseanforderung (einem Lesebefehl CMD) vorsehen. Die Speichereinrichtung 1300 kann angeforderte Lesedaten zu dem Host 1100 in Antwort auf den Lesebefehl ausgeben. Beispielsweise kann der Host die Speichereinrichtung 1300 mit einem Leistungseinsparmodus-Eintrittsbefehl über die Signalschnittstelle 1351 vorsehen, um die Speichereinrichtung 1300 zu veranlassen, in den Leistungseinsparmodus, welcher hierin beschrieben ist, einzutreten. In einigen Beispielen kann der Leistungseinsparmodus-Eintrittsbefehl ein Abschalt-Befehl sein. In einigen Beispielen kann der Host 1100 die Speichereinrichtung 1300 mit einem Leistungseinsparmodus-Austrittsbefehl über die Signalschnittstelle 1351 vorsehen.
  • Die Speichereinrichtung 1300 kann eine oder mehrere Speichervorrichtungen (Memory Devices) 1310 und einen Controller 1330 aufweisen. Speichervorrichtungen 1311, 1312, ..., 1319 können getrennte Vorrichtungen sein wie beispielsweise getrennte Halbleiterspeicherchips oder getrennte Halbleiterpackages beziehungsweise Halbleitereinhausungen, von welchen jede eine Mehrzahl von Halbleiterspeicherchips aufweist. Es wird anerkannt werden, dass die Anzahl von Speichervorrichtungen, welche in der Speichereinrichtung 1300 enthalten sind, verschiedentlich geändert oder modifiziert werden kann. Die Speichervorrichtungen 1310 und der Controller 1330 können auf einem Substrat (beispielsweise Leiterplatte wie beispielsweise eine Systemleiterplatte oder ein Packagesubstrat) angebracht sein und durch einen Bus (beispielsweise auf dem Substrat gebildet) verbunden sein, um Signalkommunikationen dazwischen vorzusehen. Der Controller 1330 kann mit der Signalschnittstelle 1351 über einen Bus auf dem Substrat verbunden sein, um mit dem Host 1100 zu kommunizieren. Das Substrat kann ebenso eine Verdrahtung (und in einigen Beispielen Schalter) aufweisen, um eine Hauptspannung MNP (an einer Leistungsschnittstelle 1352 vorgesehen) mit den Speichervorrichtungen 1310 und dem Controller 1330 zu verbinden, und um eine Hilfsspannung (an der Leistungsschnittstelle 1352 vorgesehen) mit einem Untersatz der Vorrichtungen/Schaltungen, welche die Speichereinrichtung 1300 (wie hierin beschrieben) bilden, zu verbinden. Die Speichervorrichtungen 1310, der Controller 1330, das Substrat und deren Zwischenverbindungen können innerhalb eines Schutzgehäuses der Speichereinrichtung 1300 gebildet und eingehaust sein.
  • Jede der Speichervorrichtungen 1311, 1312, ..., 1319 kann Daten, welche durch den Host 1100 angefordert werden, speichern oder ausgeben. Zu diesem Zweck kann jede der Speichervorrichtung 1311, 1312, ..., 1319 Speicherbereiche zum Speichern von Daten aufweisen. Beispielsweise kann jede der Speichervorrichtungen 1311, 1312, ..., 1319 sein oder aufweisen einen NAND-Typ Flashspeicherhalbleiterchip, welcher gemäß einem V-NAND-Schema (wie beispielsweise einem Z-NAND-Schema) implementiert sein kann. Beispielsweise kann jede der Speichervorrichtungen 1311, 1312, ..., 1319 sein oder aufweisen einen SLC (Single Level Cell)-NAND oder MLC (Multi-Level Cell)-NAND. SLC NAND weisen Single Level Cell (SLC)-Speicherzellen auf, welche jeweils nur ein einzelnes Bit von Daten speichern. MLC NAND weisen Speicherzellen auf, welche jeweils zwei oder mehr Bits von Daten speichern wie beispielsweise Triple-Level Cell beziehungsweise Dreifach-Level Cell (TLC)-NAND oder ein Quad-Level Cell (QLC)-NAND. In einigen Beispielen können MLC NAND ebenso SLC-Speicherzellen aufweisen, welche jeweils nur ein einzelnes Bit von Daten speichern.
  • Der Controller 1330 kann den Gesamtbetrieb der Speichereinrichtung 1300 steuern. Beispielsweise kann der Controller 1330 die Speichervorrichtungen 1311, 1312, ..., 1319 derart steuern, dass Daten in den Speichervorrichtungen 1311, 1312, ..., 1319 gespeichert werden oder von den Speichervorrichtungen 1311, 1312, ..., 1319 ausgegeben werden. Beispielsweise kann der Controller 1330 eine Vielzahl von Datenverarbeitung (beispielsweise Kompression/Dekompression, Verschlüsselung/Entschlüsselung, Kodierung/Dekodierung etc.) auf Daten durchführen, welche mit den Speichervorrichtungen 1311, 1312, ..., 1319 ausgetauscht werden (beispielsweise über eine Verdrahtung wie beispielsweise einen Bus zwischen dem Controller und den Speichervorrichtungen 1311, 1312, ..., 1319). In einigen Beispielen kann der Controller 1330 durch einen einzelnen Halbleiterchip gebildet sein. In einigen Beispielen kann der Controller 1330 durch eine Mehrzahl von verbundenen Vorrichtungen (beispielsweise verbundene Halbleiterchips) gebildet sein.
  • Die Speichervorrichtungen 1311, 1312, ..., 1319 und der Controller 1330 können unter Verwendung von Leistung, welche von dem Leistungsverwalter 1600 über die Leistungsschnittstelle 1352 empfangen wird, arbeiten. Beispielsweise kann der Controller 1330 derart arbeiten, dass unterschiedliche Leistungsmodi vorgesehen sind. Die unterschiedlichen Leistungsmodi können unterschiedliche Betriebszustände hinsichtlich der Leistung vorsehen. Die Hauptspannung MNP und die Hilfsspannung AUXP, welche der Speichereinrichtung 1300 über die Leistungsschnittstelle 1352 zugeführt werden, können zu dem Controller 1330 und Speichervorrichtungen 1310 wie anderweitig hierin beschrieben übertragen werden. Die Signalschnittstelle 1351 und die Leistungsschnittstelle 1352 können Anschlüsse der Speichereinrichtung 1300 (beispielsweise Kontakte, Löterhebungen, Kontaktstellen etc.) aufweisen, um eine Verbindung mit anderen externen Vorrichtungen vorzusehen. Die Signalschnittstelle 1351 und die Leistungsschnittstelle 1352 bilden eine Schnittstelle der Speichereinrichtung 1300 (das heißt die Nutzung von „Schnittstelle“ kann sich generisch auf eine oder beide der Signalschnittstelle 1351, der Leistungsschnittstelle 1352 oder Abschnitte davon oder andere Anschlüsse der Speichereinrichtung 1300 - ob getrennt platziert, getrennt gebildet etc.) beziehen.
  • Beispielsweise kann ein erster Modus ein normaler Modus sein, in welchem die Speichervorrichtungen 1311, 1312, ..., 1319 und der Controller 1330 volle Operationen durchführen, während sie volle Leistung empfangen. Beispielsweise kann ein zweiter Modus ein Leistungseinsparmodus sein, in welchem die Speichervorrichtungen 1311, 1312, ..., 1319 und der Controller 1330 bestimmte Operationen vollständig oder teilweise stoppen.
  • Beispielsweise können, wenn ein Speicherdienst der Speichereinrichtung 1300 benötigt wird, die Speichervorrichtungen 1311, 1312, ..., 1319 und der Controller 1330 arbeiten, während sie Leistung in dem normalen Modus empfangen (beispielsweise kann der Controller 1330 die Speichervorrichtungen 1311, 1312, ..., 1319 derart steuern, dass die Speichervorrichtungen 1311, 1312, ..., 1319 Daten speichern oder ausgeben).
  • Beispielsweise kann es, wenn die Speichervorrichtung 1300 im Leerlauf ist (beispielsweise, wenn die Daten DAT nicht empfangen oder ausgegeben werden) während einer langen Zeitdauer vorteilhaft sein, den Leistungsverbrauch der Speichereinrichtung 1300 zu verringern. In diesem Fall kann der Controller 1330 die Speichereinrichtung 1300 derart steuern, dass die Zufuhr von Leistung zu den Speichervorrichtungen 1311, 1312, ..., 1319 unterbrochen wird und Komponenten des Controllers 1330 einen Betrieb vollständig oder teilweise stoppen. Die Zufuhr von Leistung zu Komponenten, welche den Betrieb in dem Controller 1330 stoppen, kann ebenso unterbrochen werden.
  • Demzufolge kann die Leistung, welche durch die Speichervorrichtungen 1311, 1312, ..., 1319 und den Controller 1330 in dem normalen Modus verbraucht wird, größer sein als Leistung, welche durch die Speichervorrichtungen 1311, 1312, ..., 1319 und den Controller 1330 in dem Leistungseinsparmodus verbraucht wird.
  • Ein Umschalten zwischen dem normalen Modus und dem Leistungseinsparmodus kann unter der Steuerung des Host 1100 und/oder des Controllers 1330 vorgesehen sein. Wenn der Host 1100 und/oder der Controller 1330 bestimmt, dass die Daten DAT für eine lange Zeit nicht kommuniziert wurden (beispielsweise keine Kommunikation von Daten DAT zwischen der Speichereinrichtung 1300 und einer beliebigen externen Vorrichtung wie beispielsweise dem Host 1100 während einer Zeitperiode einer vorbestimmten Länge), kann der Betriebszustand der Speichereinrichtung 1300 von dem normalen Modus zu dem Leistungseinsparmodus umgeschaltet werden. Wenn der Host 1100 und/oder der Controller 1330 bestimmt, dass eine Kommunikation der Daten DAT zu initiieren ist, kann der Betriebszustand der Speichereinrichtung 1300 von dem Leistungseinsparmodus zu dem normalen Modus umgeschaltet werden.
  • Um beispielsweise den Betriebszustand der Speichereinrichtung 1300 von dem normalen Modus zu dem Leistungseinsparmodus umzuschalten, kann der Host 1100 die Speichereinrichtung 1300 mit einem Leistungseinsparmodus-Eintrittsbefehl CMD über die Signalschnittstelle 1351 vorsehen, um zu veranlassen, dass die Speichereinrichtung 1300 in den Leistungseinsparmodus, welcher hierin beschrieben ist, eintritt. Der Controller 1330 der Speichereinrichtung 1300 kann den Leistungseinsparmodus-Eintrittsbefehl von dem Host 1100 empfangen und den Leistungseinsparmodus der Speichereinrichtung 1300 (welcher ein Speichern von Daten in einem flüchtigen Cachespeicher (nicht gezeigt) der Speichereinrichtung 1300 in den nichtflüchtigen Speichervorrichtungen 1310 und/oder ein Kopieren von Daten, welche in einem flüchtigen Speicher des Controllers 1330 gespeichert sind, zu den nichtflüchtigen Speichervorrichtungen 1310 wie beispielsweise Daten des Statusverwalters 1333 und dem internen Speicher 1335 wie hierin beschrieben aufweisen kann) initiieren. Solche Daten können Metadaten, welche Attribute von Abschnitten des Speichers der Speichervorrichtungen 1310 beschreiben, aufweisen und können eine oder mehrere von logisch-zu-physikalisch-Adressmappingtabellen, Schlechtblockadressen (welche defekte Blöcke von Speicher identifizieren), defekten Wortleitungsadressen, defekten Bitleitungsadressen, Verschleißniveauinformation (beispielsweise Löschzählung jedes Blocks von Blöcken von Speicher der Speichervorrichtungen 1310), informationsidentifizierenden Blöcken von Speicher als frei (zur Verfügung stehend, um beschrieben zu werden) oder schmutzig (ungültige Daten enthaltend und bereit, um gelöscht zu werden), Informationsidentifizierungsseiten von Daten als gültig oder ungültig etc. aufweisen. Der Controller 1330 kann Abschnitte des Controllers 1330 wie beispielsweise durch ein Vorsehen von internen Befehlen von dem Prozessor 1331 zu anderen Elementen des Controllers und/oder durch ein Veranlassen, dass Leistung (das heißt durch Betätigen eines Schalters wie beispielsweise eines Transistors) zu anderen Elementen des Controllers abgeschaltet wird, abschalten. Eine Synchronisationsschaltung (nicht gezeigt) des Controllers 1330 wie beispielsweise (eine) Verzögerungsregelkreis (DLL)-Schaltung(en) und/oder (eine) Phasenregelkreis (PLL)-Schaltung(en) des Controllers 1330 können als ein Teil des Controllers 1330, welcher den Leistungseinsparmodus der Speichereinrichtung 1300 initiiert, abgeschaltet werden. Solch eine Synchronisationsschaltung kann ein Timing (beispielsweise einen Takt) für die Signalschnittstelle 1351 vorsehen, um ein Timing des Latchens von Eingangssignalen durch einen Eingangspuffer des Controllers 1330 und/oder ein Timing der Ausgabe von Signalen durch einen Ausgangspuffer des Controllers 1330 vorzusehen.
  • Der Betriebszustand der Speichereinrichtung 1300 kann von dem Leistungseinsparmodus zu dem normalen Modus durch den Host 1100, welcher eine Kommunikation für die Speichereinrichtung 1300 vorsieht, umgeschaltet werden. Beispielsweise kann der Host 1100 die Speichereinrichtung 1300 veranlassen, in den normalen Modus einzutreten, durch ein Initiieren des Vorsehens der Hauptspannung MNP, was wiederum veranlassen kann, dass die Hauptspannung MNP dem Controller 1330 und Speichervorrichtungen 1310 zugeführt wird, dass Vorrichtungen der Speichervorrichtung 1300, welche vorangehend abgeschaltet wurden anschalten, wie beispielsweise ein Anschalten von Abschnitten des Controllers 1330, welche vorangehend abgeschaltet wurden, dass die Speichervorrichtungen 1310 anschalten, und dass ein Cachespeicher (nicht gezeigt) der Speichereinrichtung 1300 anschaltet. In einigen Beispielen kann der Host 1100 die Speichereinrichtung 1300 veranlassen, in den normalen Modus einzutreten, durch ein Vorsehen eines Signals zu dem Controller 1330 über die Signalschnittstelle 1351 den Controller veranlassend, Leistung anzuschalten, um Vorrichtungen der Speichereinrichtung 1300, welche vorangehend abgeschaltet wurden, anzuschalten.
  • Wenn der normale Modus benötigt wird, kann der Host 1100 den Leistungsverwalter 1600 steuern derart, dass der Leistungsverwalter 1600 eine Hauptspannung MNP für die Speichereinrichtung 1300 vorsieht. In dem normalen Modus können die Speichervorrichtungen 1311, 1312, ..., 1319 und der Controller 1330 die Hauptspannung MNP empfangend arbeiten. Andererseits kann, wenn der Leistungseinsparmodus benötigt wird, die Zufuhr der Hautspannung MNP zu der Speichereinrichtung 1300 unterbrochen werden (das heißt nicht zugeführt). Die Hauptspannung MNP kann die Hauptleistungsversorgung der Speichereinrichtung 1300 sein.
  • In einigen beispielhaften Ausführungsformen kann in dem Leistungseinsparmodus der Host 1100 den Leistungsverwalter 1600 derart steuern, dass der Leistungsverwalter 1600 die Zufuhr der Hauptspannung MNP zu der Speichereinrichtung 1300 stoppt und eine Hilfsspannung AUXP (beispielsweise eine Hilfsleistung) für die Speichereinrichtung 1300 vorsieht. Beispielsweise können, wenn der Controller 1330 bestimmte Operationen der Speichereinrichtung 1300 in dem Leistungseinsparmodus stoppt, einige Komponenten des Controllers 1330 unter Verwendung der empfangenen Hilfsspannung AUXP fortfahren, zu arbeiten. Beispielsweise können alle Komponenten des Controllers (Prozessor 1331, Timer 1332, Statusverwalter 1333, Sensor 1334, interner Speicher 1334) und alle der Speichervorrichtungen 1310 eine Leistungsverbindung (beispielsweise durch einen oder mehrere Drähte) zu der Hauptspannung MNP haben, welche durch den Leistungsverwalter 1600 zugeführt wird, sodass in einem normalen Modus alle dieser Vorrichtungen die Hauptspannung MNP empfangen. Im Gegensatz dazu kann nur ein Untersatz der Komponenten des Controllers 1330 eine Leistungsverbindung zu der Hilfsspannung AUXP haben und andere Komponenten des Controllers 1330 und die Speichervorrichtungen 1310 haben keine Verbindung mit der Hilfsspannung AUXP. Beispielsweise können in dem Leistungseinsparmodus gemäß den Ausführungsformen, welche hierin beschrieben sind, die nichtflüchtigen Speichervorrichtungen 1311, 1312, ..., 1319 keine Leistung empfangen. Beispielsweise können in dem Leistungseinsparmodus alle Speicherhalbleiterchips wie beispielsweise diejenigen, welche Speichervorrichtungen 1310 bilden können, und andere Halbleiterchips (beispielsweise flüchtige Speicherchips wie beispielsweise DRAM-Chips, SRAM-Chips etc.), welche Cachespeicher (nicht gezeigt) der Speichereinrichtung 1300 bilden können, nicht mit einer Leistungsquelle verbunden sein, und sind demnach abgeschaltet. Zusätzlich können in dem Leistungseinsparmodus einer oder mehrere Halbleiterchips des Controllers 1330 entweder DLL- oder PLL-Schaltungen, welche darin gebildet sind, abgeschaltet haben (beispielsweise in einem Schlafmodus des Chips) oder können nicht mit einer beliebigen Leistungsquelle verbunden sein. Demnach kann das Leistungsverbrauchsniveau des Controllers 1330 während des Leistungseinsparmodus verringert sein verglichen mit dem normalen Leistungsverbrauchsniveau des Controllers 1330 während des normalen Modus. In einigen Beispielen sind während des Leistungseinsparmodus alle DLL- oder PLL-Schaltungen eines beliebigen Halbleiterchips der Speichereinrichtung 1300 ausgeschaltet. Demnach kann in dem Leistungseinsparmodus gemäß einigen Beispielen, wenn die Hauptspannung MNP der Speichereinrichtung 1300 nicht zugeführt wird, und Hilfsspannung AUXP der Speichereinrichtung 1300 zugeführt wird, nur der Untersatz von Komponenten des Controllers 1330 Leistung empfangen. Beispielsweise kann dieser Untersatz von Komponenten des Controllers 1330, welche die Hilfsspannung AUXP empfangen, der Timer 1332 und/oder ein Sensor 1334 sein. In einigen Beispielen können der Controller 1330 und/oder die Speichereinrichtung 1300 einen zusätzlichen Leistungsverwalter (nicht gezeigt) aufweisen, welcher zwischen den Leistungsverwalter 1600 zwischengeschaltet ist, um sowohl die Hauptspannung MNP als auch die Hilfsspannung AUXP zu empfangen, selbige zu den Vorrichtungen der Speichereinrichtung 1300 basierend darauf zu verteilen, ob die Speichereinrichtung in einem normalen Betriebsmodus oder dem Leistungseinsparmodus ist. In dieser Implementierung kann dieser zusätzliche Leistungsverwalter mit der Hilfsspannung AUXP verbunden sein und andere Komponenten des Controllers (beispielsweise Timer 1332 und/oder Sensor 1334) können selektiv mit der Hilfsleistung durch diesen zusätzlichen Leistungsverwalter verbunden werden (beispielsweise selektiv mit Hilfsleistung in dem Leistungseinsparungsmodus verbunden werden). Dieser zusätzliche Leistungsverwalter kann agieren, um eine Unterbrechung der Leistung, welche der Speichereinrichtung 1300 zugeführt wird, zu erfassen (beispielsweise werden weder die Hauptspannung MNP noch die Hilfsspannung AUXP zugeführt), und agieren, um eine Unterbrechung der Komponenten der Speichervorrichtung 1300, welche mit Leistung versorgt wurden (beispielsweise Komponenten, welchen entweder die Hauptleistung oder die Hilfsleistung zu der Zeit der erfassten Leistungsunterbrechung zugeführt wurden) durch ein Vorsehen einer Back-up-Leistung (beispielsweise von einer Batterie wie beispielsweise einem Kondensator) zu diesen Komponenten zu vermeiden. Dieser zusätzliche Leistungsverwalter kann ebenso konfiguriert sein, um die Speichereinrichtung 1300 in anderen Modi zum Verringern des Leistungsverbrauchs anders als dem Leistungseinsparmodus, welcher hierin beschrieben ist, zu betreiben. In einigen Beispielen kann der Leistungsverwalter 1600 als ein Element der Speichereinrichtung 1300 implementiert sein (und in Verbindung mit dem Host 1100 und verbleibenden Elementen der Speichereinrichtung 1300 wie hierin beschrieben arbeiten). In diesem Beispiel kann ein zusätzlicher Leistungsverwalter, welcher außerhalb der Speichereinrichtung 1300 platziert ist, nicht notwendig sein. Beispielhafte Operationen basierend auf der Hilfsspannung AUXP werden unten stehend beschrieben werden.
  • Die Hilfsspannung AUXP kann von der Hauptspannung MNP getrennt sein. In einigen Beispielen kann die Hilfsspannung AUXP getrennt von der Hauptspannung MNP zugeführt werden (das heißt jede der Hilfsspannung AUXP und der Hauptspannung MNP kann der Speichereinrichtung über getrennt gewidmete Leistungsversorgungsleitungen zugeführt werden). Leistung, welche basierend auf der Hilfsspannung AUXP zugeführt wird, kann kleiner sein als Leistung, welche basierend auf der Hauptspannung MNP zugeführt wird. Beispielsweise kann ein Spannungspegel der Hilfsspannung AUXP niedriger sein als ein Spannungspegel der Hauptspannung MNP. Alternativ kann der Spannungspegel der Hilfsspannung AUXP identisch zu dem Spannungspegel der Hauptspannung MNP sein, eine Strommenge jedoch, welche basierend auf der Hilfsspannung AUXP fließt, kann geringer sein als eine Strommenge, welche basierend auf der Hauptspannung MNP fließt. Beispielsweise kann die Leistung, welche durch die Hilfsspannung AUXP zugeführt wird, niedriger sein als die Leistung, welche durch die Hauptspannung MNP zugeführt wird. Die Hilfsspannung AUXP kann für den Leistungseinsparmodus geeignet sein.
  • Der Controller 1330 kann ein oder mehrere Hardwarekomponenten (beispielsweise eine analoge Schaltung, eine Logikschaltung und/oder dergleichen) aufweisen, welche konfiguriert sind, um Operationen durchzuführen, welche obenstehend beschrieben sind und untenstehend zu beschreiben sind. In diesem Beispiel weist der Controller 1330 den Prozessor 1331 den Timer 1332, den Statusverwalter 1333, den Sensor 1334 und den internen Speicher 1335 auf (von welchen jedes als eine Schaltung, Hardware oder Firmware gebildet sein kann, gebildet als eine integrierte Schaltung innerhalb eines oder mehrerer Halbleiterchips).
  • Eine Konfiguration jedoch des Controllers 1330 ist nicht auf die Veranschaulichung der 2 beschränkt. Der Controller 1330 kann ein oder mehrere der Komponenten, welche in 2 veranschaulicht sind, nicht aufweisen und/oder kann ferner eine Komponente aufweisen, welche in 2 nicht veranschaulicht ist.
  • Zusätzlich veranschaulicht 2, dass der Timer 1332, der Statusverwalter 1333 und der Sensor 1334 in dem Controller 1330 enthalten sind, die vorliegende Erfindung ist jedoch nicht darauf beschränkt. In einigen beispielhaften Ausführungsformen kann wenigstens einer des Timers 1332, des Statusverwalters 1333 und/oder des Sensors 1334 außerhalb des Controllers 1330 vorgesehen sein oder kann eine unabhängige Komponente sein, welche von der Speichereinrichtung 1300 getrennt ist. Die Konfiguration des Controllers 1330 der 2 ist vorgesehen, um ein besseres Verständnis zu erleichtern und ist nicht vorgesehen, um die vorliegende Erfindung zu beschränken.
  • Der Prozessor 1331 kann einen oder mehrere Prozessorkerne aufweisen. Einige von Operationen des Controllers 1330, welche obenstehend beschrieben sind und untenstehend zu beschreiben sind, können in einem Programmcode oder Firmware FW und/oder Software, welche den Prozessor 1331 konfiguriert, implementiert sein, und der Prozessorkern (die Prozessorkerne) des Prozessors 1331 kann (können) einen Befehlssatz des Programmcodes ausführen, um beabsichtigte Operationen vorzusehen. Der Prozessor 1331 kann verschiedene arithmetische/logische Operationen verarbeiten, um den Befehlssatz auszuführen.
  • Der Timer 1332 kann bestimmen, dass eine Referenzzeit verstrichen ist (auf die Referenzzeit kann hierin Bezug genommen werden als eine vorbestimmte Zeitdauer, eine vorbestimmte Zeitperiode etc.). Beispielsweise kann der Timer 1332 eine Hardwareschaltung (beispielsweise eine Timerschaltung, eine Zählerschaltung etc.) aufweisen, welche in der Lage ist, einen Zeitablauf zu messen. Beispielsweise kann die Referenzzeit für den Timer 1332 basierend auf einer Steuerung des Prozessors 1331 (gemäß einer Ausführung der Firmware FW) und/oder einer Steuerung einer anderen Art und Weise eingestellt werden. Der Timer 1332 kann konfiguriert sein, um ein Signal auszugeben, wenn der Timer 1332 bestimmt, dass die Referenzzeit verstreicht oder abläuft.
  • Der Statusverwalter 1333 kann Informationen von verschiedenen Stati, welche mit einer Operation beziehungsweise einem Betrieb der Speichervorrichtung 1300 verbunden sind, sammeln und verwalten. Beispielsweise kann der Statusverwalter 1333 Information von einem oder mehreren Umständen (beispielsweise eine Temperatur, eine Taktfrequenz, eine Bandbreite etc.) in welcher die Speichervorrichtungen 1311, 1312, ..., 1319 und der Controller 1330 arbeiten, sammeln und verwalten. Beispielsweise kann der Statusverwalter 1333 Information über Attribute (beispielsweise ein Verschleißniveau, eine Menge von ungültigen Speicherbereichen (wie beispielsweise ein Prozentsatz von ungültigen Speicherbereichen von allen, einigen oder einer der Speichervorrichtungen 1311, 1312, ..., 1319, oder ein Verhältnis von ungültigen zu gültigen Speicherbereichen von allen, einigen oder einer der Speichervorrichtungen 1311, 1312, ..., 1319), eine verfügbare Kapazität etc.) von Speicherbereichen, welche in den Speichervorrichtungen 1311, 1312, ..., 1319 enthalten sind, sammeln. Ungültige Speicherbereiche können Speicherbereiche aufweisen, welche alte Daten enthalten, welche nicht länger gültig sind (welche ein Löschen vor einem Schreiben gemäß einigen nichtflüchtigen Speichertypen wie beispielsweise einem NAND-Flashspeicher benötigen können). Eine verfügbare Kapazität von Speicherbereichen kann eine Größe von Speicher bezeichnen, welcher gegenwärtig zum Schreiben von Daten verfügbar ist. Wenn die Speichervorrichtungen 1311, 1312, ..., 1319 NAND-Flashspeicherchips sind, können die Speicherbereiche Blöcke von Speicher sein, von welchen jeder eine minimale Löscheinheit in einem NAND-Flashspeicherchip bildet.
  • Der Statusverwalter 1333 kann eine unabhängige Hardwareschaltung aufweisen, welche in der Lage ist, einen Betrieb der Speichereinrichtung 1300 zu überwachen und die gesammelte Information zu speichern. Alternativ kann der Statusverwalter 1333 als ein Abschnitt der Firmware FW implementiert sein, welche den Prozessor 1331 konfiguriert beziehungsweise bildet und kann demnach durch den Prozessor 1331 ausgeführt werden.
  • Der Sensor 1334 kann verschiedene Ereignisse, welche hinsichtlich eines Betriebs der Speichereinrichtung 1300 auftreten, abtasten. Der Sensor 1334 kann eine Hardwareschaltung aufweisen, welche konfiguriert ist, um ein Ereignis eines beabsichtigten Typs abzutasten. Beispielsweise kann, wenn der Sensor 1334 einen Temperatursensor zum Abtasten einer Temperatur bei welcher die Speichervorrichtungen 1311, 1312, ..., 1319 und der Controller 1330 arbeiten, aufweist, der Sensor 1334 eine Hardwareschaltung (beispielsweise eine Bandabstandsreferenz (BGR)-Schaltung) aufweisen, welche zum Abtasten der Temperatur geeignet ist.
  • Der interne Speicher 1335 kann Daten speichern, welche in einem Betrieb des Controllers 1330 verwendet werden. Beispielsweise kann der interne Speicher 1335 einen flüchtigen Speicher wie beispielsweise einen SRAM, einen DRAM oder einen SDRAM und/oder einen nichtflüchtigen Speicher wie beispielsweise einen PRAM einen MRAM, einen ReRAM oder einen FRAM aufweisen. Beispielsweise kann der interne Speicher 1335 Information, welche mit der Wartungsarbeit, welche zwischen den Speichervorrichtungen 1311, 1312, ..., 1319 und dem Controller 1330 durchgeführt wird, verbunden ist, speichern.
  • In beispielhaften Ausführungsformen kann die Wartungsarbeit verschiedene Arbeiten zum Verbessern eines Betriebsumstandes und einer Charakteristik der Speichereinrichtung 1300 aufweisen. Beispielsweise kann, wenn es ein Risiko gibt, dass die Zuverlässigkeit von Daten, welche in den Speichervorrichtungen 1311, 1312, ..., 1319 gespeichert sind, verschlechtert wird, die Wartungsarbeit durchgeführt werden, um die Datenzuverlässigkeit zu verbessern und zu garantieren. Die vorliegende Erfindung ist jedoch nicht darauf beschränkt und die Wartungsarbeit kann verschiedentlich geändert oder modifiziert werden. Um ein besseres Verständnis zu erleichtern werden einige beispielhafte Wartungsarbeiten untenstehend beschrieben werden.
  • Die Speichereinrichtung 1300 kann eine Einrichtung sein, welche passiv in Übereinstimmung mit einem Befehl und einer Anforderung des Host 1100 arbeitet. Wenn jedoch die Wartungsarbeit passiv durchgeführt wird, kann es nicht ausreichend sein, den Betriebsumstand und die Charakteristik der Speichereinrichtung 1300 zu verbessern und ein Fehler oder eine Fehlfunktion können in einer Operation der Speichereinrichtung 1300 auftreten.
  • In beispielhaften Ausführungsformen kann die Speichereinrichtung 1300 die Wartungsarbeit aktiv ohne einen Befehl oder eine Intervention des Host 1100 initiieren und/oder durchführen. Beispielsweise kann, wenn der Controller 1330 mit wenigstens einer der Speichervorrichtungen 1311, 1312, ..., 1319 kommuniziert, die Wartungsarbeit zwischen dem Controller 1330 und den Speichervorrichtungen 1311, 1312, ..., 1319 durchgeführt werden.
  • Beispielsweise kann, auch wenn der Host 1100 scheitert, den Status, welcher mit dem Betrieb der Speichereinrichtung 1300 verbunden ist, zu erkennen, oder der Host 1100 sehr beschäftigt ist, um die Speichereinrichtung 1300 zu steuern, die Wartungsarbeit durchgeführt werden. Demzufolge kann, auch wenn der Host 1100 nicht interveniert eine Zulässigkeit, Performance und Verwaltungseffizienz der Speichereinrichtung 1300 verbessert werden.
  • In einigen Beispielen kann die Speichereinrichtung 1300 eine Benachrichtigung NTF zu dem Host 1100 ausgeben, um den Host 1100 zu benachrichtigen, dass die Wartungsarbeit durchzuführen ist. Beispielsweise kann die Benachrichtigung NTF von dem Controller 1330 ausgegeben werden oder kann von einer Komponente ausgegeben werden, welche in dem Controller 1330 enthalten ist oder von einer anderen Komponente, welche in dem Controller 1330 nicht enthalten ist. Beispielsweise kann die andere Komponente die Benachrichtigung NTF unter der Steuerung des Controllers 1330 direkt ausgeben (beispielsweise in Antwort auf den Timer 1332 wenn eine vorbestimmte Zeitdauer verstrichen ist) oder der Controller 1330 kann die Benachrichtigung NTF in einem Format erzeugen, welches zu dem Host 1100 basierend auf einer Ausgabe einer anderen Komponente zu übertragen ist. Die Benachrichtigung NTF kann eine Aufwachanforderung bilden, welche den Host 1100 auffordern kann, die Initiierung zum Auszutreten der Speichereinrichtung 1300 aus dem Leistungseinsparmodus zu veranlassen.
  • Ein Schnittstellenprotokoll kann für eine Kommunikation zwischen dem Host 1100 und dem Controller 1330 eingesetzt werden. In einigen beispielhaften Ausführungsformen kann die Benachrichtigung NTF unter Verwendung eines spezifischen Signals oder über einen spezifischen Kontakt, welcher in dem Schnittstellenprotokoll definiert ist, ausgegeben werden oder kann über einen Kanal zum Austauschen der Daten DAT ausgegeben werden. In einigen beispielhaften Ausführungsformen kann die Benachrichtigung NTF gemäß einer separaten Kommunikation, welche dem Schnittstellenprotokoll nicht entspricht, welches andernfalls implementiert sein kann, ausgegeben werden.
  • Die obigen Beispiele sind jedoch vorgesehen, um ein besseres Verständnis zu erleichtern und sind nicht vorgesehen, um die vorliegende Offenbarung zu begrenzen. Die Benachrichtigung NTF kann verschiedentlich geändert oder modifiziert werden, um eine geeignete Verarbeitung hinsichtlich des Durchführens der Wartungsarbeit durchzuführen.
  • 3 ist ein Flussdiagramm, welches einen beispielhaften Betrieb der Speichereinrichtung 1300 der 2 beschreibt.
  • In einigen Beispielen kann das Verfahren der 3 als ein Teil davon initiiert werden, dass die Speichereinrichtung 1300 in den Leistungseinsparmodus eintritt, in welchem Operationen des Controllers 1330 und Speichervorrichtungen 1311, 1312, ..., 1319 teilweise oder vollständig gestoppt sind. In anderen Beispielen kann das Verfahren der 3 periodisch zu regelmäßig beabstandeten Intervallen initiiert werden, wie beispielsweise bei einer anfänglichen Startvorgangsoperation des Controllers 1330 und bei jeder Vollendung des Verfahrens der 3 wiederholt werden. Der Controller 1330 kann eine Wartungsbedingung verwalten (S130a). Die Wartungsbedingung kann damit verbunden sein, ob die Wartungsarbeit benötigt wird. Wenn die Wartungsbedingung noch nicht erfüllt ist (Nein von S130a) kann der Controller 1330 fortfahren, zu überwachen, ob die Wartungsbedingung erfüllt ist. Der Controller 1330 kann die Wartungsbedingung aktiv durch ein Verwenden des Timers 1332, des Statusverwalters 1333 und dergleichen ohne Intervention des Host 1100 überwachen.
  • Beispielsweise kann der Controller 1330 einen Status, welcher mit den Speichervorrichtungen 1311, 1312, ..., 1319 verbunden ist, über einen Statusmonitor 1333 überwachen. Der Controller 1330 kann verwalten, ob der überwachte Status die Wartungsbedingung erfüllt. Beispielsweise kann der Status, welcher durch den Statusmonitor 1333 des Controllers 1330 überwacht wird, mit verschiedenen Attributen verbunden sein wie beispielsweise einer Lebensdauer jeder der Speichervorrichtungen 1311, 1312, ..., 1319, einer Zuverlässigkeit von Daten, welche in jeder der Speichervorrichtungen 1311, 1312, ..., 1319 gespeichert sind, einer zur Verfügung stehenden Kapazität der Speichervorrichtungen 1311, 1312, ..., 1319 etc.
  • Wenn die Wartungsbedingung erfüllt ist (Ja von S130a) kann dies bedeuten, dass es notwendig ist, den Betriebsumstand und die Charakteristik der Speichereinrichtung 1300 durch ein Durchführen der Wartungsarbeit in der Speichereinrichtung 1300 zu verbessern. Die Speichereinrichtung 1300 kann beabsichtigen, die Wartungsarbeit zu initiieren, um den Betriebsumstand und die Charakteristik der Speichereinrichtung 1300 zu verbessern.
  • Beispielsweise kann, wenn ein numerischer Wert des überwachten Status einen Referenzwert erreicht, der Controller 1330 bestimmen, dass der überwachte Status die Wartungsbedingung erfüllt. Beispielsweise kann der Controller 1330 die verfügbare Kapazität der Speichervorrichtungen 1311, 1312, ..., 1319 überwachen. Wenn die verfügbare Kapazität der Speichervorrichtungen 1311, 1312, ..., 1319 kleiner als der Referenzwert wird, kann der Controller 1330 bestimmen, dass die Wartungsbedingung zum Erhöhen der verfügbaren Kapazität erfüllt ist.
  • In einigen beispielhaften Ausführungsformen kann der Controller 1330 eine Initiierungsbedingung verwalten (S130b). Die Initiierungsbedingung kann damit verbunden sein, ob die Wartungsarbeit zu initiieren ist.
  • Wenn die Initiierungsbedingung noch nicht erfüllt ist (Nein von S130b) kann der Controller 1330 die Wartungsarbeit nicht initiieren, bis die Initiierungsbedingung erfüllt ist. Die Wartungsarbeit kann initiiert und durchgeführt werden in Antwort darauf, dass die Initiierungsbedingung erfüllt ist (Ja von S130b), nachdem der überwachte Status die Wartungsbedingung erfüllt (Ja von S130a). In einigen Beispielen kann Schritt S130b ausgelassen sein und eine Initiierungsbedingung muss nicht erfüllt sein, dass das Verfahren zu Schritt S150 voranschreitet.
  • Beispielsweise kann, während die Speichereinrichtung 1300 einen Speicherdienst zum Speichern und Ausgeben von Daten vorsieht, ein Durchführen der Wartungsarbeit eine Last auf die Speichereinrichtung 1300 sein. Demzufolge kann beispielsweise die Initiierungsbedingung damit verbunden sein, ob Systemressourcen für die Speichervorrichtungen 1311, 1312, ..., 1319 und den Controller 1330 verfügbar sind, um die Wartungsarbeit durchzuführen. In einigen Beispielen kann die Wartungsarbeit wichtiger sein als der Speicherdienst, und die Initiierungsbedingung kann bestimmen, dass die Priorität der Wartungsarbeit höher ist als derjenigen, welche vorangehend verfügbare Systemressourcen besetzen.
  • Beispielsweise kann, wenn eine Referenzzeit nach dem Eintreten in den Leistungseinsparmodus abläuft (das heißt nachdem die Speichervorrichtungen 1311, 1312, ..., 1319 und der Controller 1330 einen Betrieb (vollständig oder teilweise) gestoppt haben) oder wenn bestimmt wird, dass die Speichereinrichtung 1300 gegenwärtig nicht verwendet wird (beispielsweise in Zugriffsoperationen zum Austauschen von Daten mit einem Host verwendet wird) der Controller 1330 bestimmen, dass die Speichervorrichtungen 1311, 1312, ..., 1319 und der Controller 1330 eine Verfügbarkeit haben, um die Wartungsarbeit durchzuführen.
  • Nachdem die Wartungsbedingung erfüllt ist, kann in Antwort darauf, dass die Initiierungsbedingung erfüllt ist, die Speichereinrichtung 1300 die Benachrichtigung NTF zu dem Host 1100 ausgeben, um den Host 1100 zu benachrichtigen, dass die Wartungsarbeit durchzuführen ist (S150). In Antwort darauf, dass die Wartungsbedingung und die Initiierungsbedingung erfüllt sind, kann die Wartungsarbeit auf den Speichervorrichtungen 1311, 1312, ..., 1319 durch den Controller 1330 initiiert und durchgeführt werden (S170).
  • In einigen Fällen kann ein Umstand, welcher geeignet ist, um die Wartungsarbeit durchzuführen, abwesend sein. Beispielsweise kann, wenn die Hauptspannung MNP nicht empfangen wird, die Speichereinrichtung 1300 außerstande sein, die Wartungsarbeit durchzuführen. Beispielsweise können Daten, welche bei der Wartungsarbeit referenziert werden müssen, nur von einer externen Quelle verfügbar sein, wie beispielsweise von dem Host 1100. In diesen Fällen kann die Speichereinrichtung 1300 die Hauptspannung MNP und/oder die Referenzdaten des Host 1100 benötigen, um die Wartungsarbeit durchzuführen.
  • In einigen beispielhaften Ausführungsformen kann der Host 1100 einen Umstand, in welchem die Wartungsarbeit durchzuführen ist, in Antwort auf die Benachrichtigung NTF einstellen. Beispielsweise kann in Antwort auf die Benachrichtigung NTF der Host 1100 den Leistungsverwalter 1600 derart steuern, dass die Hauptspannung MNP für die Speichereinrichtung 1300 vorgesehen ist und/oder kann die Speichereinrichtung 1300 mit den Daten, welche in der Wartungsarbeit zu referenzieren sind, vorsehen. Als solches kann der Umstand, welcher für die Wartungsarbeit geeignet ist, unter der Steuerung des Host 1100 in Antwort auf die Benachrichtigung NTF vorgesehen werden.
  • Beispielsweise kann ein erster Umstand für die Wartungsarbeit geeignet sein, der Controller 1330 aber kann in einem zweiten Umstand unterschiedlich von dem ersten Umstand sein. Während der Controller 1330 in dem zweiten Umstand ist, kann der Controller 1330 bestimmen, dass der überwachte Status die Wartungsbedingung (und die Initiierungsbedingung) zum Durchführen der Wartungsarbeit erfüllt. Danach kann basierend auf der Benachrichtigung NTF der zweite Umstand in den ersten Umstand unter der Steuerung des Host 1100 geändert werden. Demzufolge kann der erste Umstand, welcher für die Wartungsarbeit geeignet ist, vorgesehen werden.
  • In dem vorgesehenen Umstand (beispielsweise dem ersten Umstand) kann der Controller 1330 mit wenigstens einer der Speichervorrichtungen 1311, 1312, ..., 1319 kommunizieren derart, dass die Wartungsarbeit, welche mit dem überwachten Status verbunden ist, durchgeführt wird. Demzufolge kann die Wartungsarbeit in dem ersten Umstand durchgeführt werden und der erste Umstand kann unter der Steuerung des Host 1100 eingestellt werden.
  • Die Wartungsarbeit kann ohne Intervention oder Steuerung durch den Host 1100 (mit Ausnahme des Vorsehens des geeigneten Umstandes basierend auf der Benachrichtigung NTF, falls benötigt) durchgeführt werden. Die Speichereinrichtung 1300 kann die Wartungsbedingung bestimmen und kann die Wartungsarbeit selbst ohne Intervention, Instruktionen, Befehle, Steuerung etc. durch den Host 1100 initiieren und durchführen. Der Host 1100 kann lediglich den Umstand, welcher für die Wartungsarbeit geeignet ist, vorsehen. Demzufolge können Ressourcen des Host 1100 zum Durchführen der Wartungsarbeit minimiert werden.
  • Nachdem die Wartungsarbeit vollendet ist können die Betriebszustände der Speichervorrichtungen 1311, 1312, ..., 1319 und des Controllers 1330 zu Betriebszuständen bevor die Wartungsarbeit durchgeführt wird zurückkehren (S180). Beispielsweise können, wenn die Speichervorrichtungen 1311, 1312, ..., 1319 und der Controller 1330 in den normalen Modus von dem Leistungseinsparmodus eingetreten sind, um die Wartungsarbeit durchzuführen, die Speichervorrichtungen 1311, 1312, ..., 1319 und der Controller 1330 zu dem Leistungseinsparmodus zurückkehren, nachdem die Wartungsarbeit vollendet ist.
  • Beispielsweise kann, wenn der Controller 1330 ein Überwachen des Status, welcher mit den Speichervorrichtungen 1311, 1312, ..., 1319 verbunden ist, ausgesetzt hat, um die Wartungsarbeit durchzuführen, der Controller 1330 das Überwachen wieder aufnehmen, nachdem die Wartungsarbeit vollendet ist. Als solches kann, nachdem die Wartungsarbeit vollendet ist, der erste Umstand, welcher für die Wartungsarbeit geeignet ist, zu dem zweiten Umstand, unterschiedlich von dem ersten Umstand geändert werden.
  • Der überwachte Status kann geändert werden, wenn die Wartungsarbeit durchgeführt wird. Beispielsweise kann, wenn die Wartungsarbeit zum Erhöhen einer verfügbaren Kapazität durchgeführt wird, die verfügbare Kapazität, nachdem die Wartungsarbeit vollendet ist, zunehmen verglichen mit einer verfügbaren Kapazität bevor die Wartungsarbeit durchgeführt wird.
  • Als solches kann ein überwachter Status bevor die Wartungsarbeit durchgeführt wird unterschiedlich von einem überwachten Status sein nachdem die Wartungsarbeit vollendet ist. Die Wartungsarbeit kann durchgeführt werden, um den Status, welcher mit den Speichervorrichtungen 1311, 1312, ..., 1319 verbunden ist, zu ändern (beispielsweise verbessern).
  • Es wurde beschrieben, dass die Initiierungsbedingung getrennt von der Wartungsbedingung ist. Einige beispielhafte Ausführungsformen jedoch können derart implementiert werden, dass eine getrennte Initiierungsbedingung nicht überwacht und/oder erfüllt sein muss. In solchen beispielhaften Ausführungsformen kann, wenn der überwachte Status die Wartungsbedingung in Schritt S130b erfüllt, die Speichereinrichtung 1300 die Benachrichtigung NTF ausgeben und kann die Wartungsarbeit durchführen.
  • Zusätzlich kann es leicht verstanden werden, dass der überwachte Status, die Wartungsbedingung und die Initiierungsbedingung, welche obenstehend beschrieben sind, nur einige von möglichen Beispielen sind und verschiedentlich geändert oder modifiziert werden können, ohne auf die obigen Beispiele begrenzt zu sein. Um ein besseres Verständnis zu erleichtern, werden einige beispielhafte Ausführungsformen unter Bezugnahme auf die 4 bis 15 beschrieben werden.
  • Die 4 bis 6 sind Konzeptdiagramme zum Beschreiben einer beispielhaften Operation der Speichervorrichtung 1300 der 2 gemäß einigen beispielhaften Ausführungsformen. 7 ist ein Flussdiagramm, welches eine beispielhafte Operation der 4 bis 6 beschreibt. Zur Erleichterung der Erklärung ist nur eine einzige Leistungsversorgungsleitung von dem Leistungsverwalter 1600 zu der Speichereinrichtung 1300 gezeigt, es können aber verschiedene Leistungsversorgungsleitungen verwendet werden (wie beispielsweise in 2 gezeigt). Beim Beschreiben der beispielhaften Operationen der Speichereinrichtung 1300 zeigen ausgegraute Abschnitte der Figuren in dieser Offenbarung Elemente der Speichereinrichtung 1300 an, welche hinsichtlich diesen beispielhaften Operationen ausgeschaltet sind (beispielsweise Abschaltung und/oder Nichtempfang einer beliebigen Leistung).
  • Bezug nehmend auf 4 können der Host 1100 und/oder der Controller 1330 bestimmen, dass die Speichereinrichtung 1300 in den Leistungseinsparmodus eintreten sollte (S210 der 7). Unter der Steuerung des Host 1100 und/oder des Controllers 1330 kann der Betriebszustand der Speichereinrichtung 1300 von dem normalen Modus zu dem Leistungseinsparmodus umgeschaltet werden (Operation [1] der 4).
  • In Antwort auf das Umschalten von dem normalen Modus zu dem Leistungseinsparmodus kann der Controller 1330 (beispielsweise gemäß der Ausführung der Firmware FW, dem Prozessor 1331) die Referenzzeit für den Timer 1332 einstellen (Operation [2] der 4, S220 von 7) und den Betrieb des Timers 1332 initiieren. Bei seiner Initiierung kann der Timer 1332 beginnen, verstrichene Zeit nach seiner Initiierung zu messen und den Ablauf der Referenzzeit nach der Initiierung des Timers 1332 ohne Intervention des Host 1100 zu bestimmen.
  • Beispielsweise können die Speichervorrichtungen 1311, 1312, ..., 1319 Flashspeicherhalbleiterchips sein. Wenn eine Speicherzelle des Flashspeichers belassen wird, ohne dass Leistung für eine lange Zeit zugeführt wird, können Daten der Speicherzelle aufgrund eines Ladungsverlusts von einem Ladungsspeicherelement der Speicherzelle verloren sein (was eine Verschlechterung der Datenzuverlässigkeit verursachen kann). Wenn NAND-Flashspeicherzellen konfiguriert sind, um größere Anzahlen von Bits zu speichern, kann eine Spannungsmarge für eine Datenbestimmung kleiner werden. Demzufolge kann eine Speicherzelle, welche eine Mehrzahl von Bits speichert, verwundbarer gegenüber Ladungsverlust sein, welcher eine fehlerhafte Datenbestimmung von Bits, welche darin gespeichert sind, verursacht.
  • Beispielsweise kann die Referenzzeit des Timers 1332 unter Berücksichtigung einer Zeitlänge ausgewählt werden, welche eine Datenzuverlässigkeit der Speicherzelle garantieren kann, während Leistung nicht zugeführt wird. Die Referenzzeit kann eingestellt sein, um die Wartungsarbeit zum Garantieren einer Datenzuverlässigkeit durchzuführen (hierin nachstehend wird hierauf Bezug genommen als Datenerhaltungsoperation beziehungsweise Datenretentionsoperation) bevor die Daten verloren sind.
  • Die Referenzzeit kann ausgewählt sein, um feststehend oder variabel zu sein, durch einen Designer, einen Hersteller und/oder einen Nutzer. Beispielsweise kann der Controller 1330 ein programmierbares Register (nicht gezeigt) aufweisen, welches programmiert werden kann, um eine Referenzzeit, welche von einer externen Quelle empfangen wird, zu speichern. Das programmierbare Register kann ein nichtflüchtiges Register aufweisen, welches durch den Host 1100 in Antwort auf einen Programmierbefehl von dem Host 1100 zu dem Controller 1330 programmiert werden kann. Beispielsweise kann das programmierbare Register einen Sicherungssatz (Fuse Set) oder einen Anti-Sicherungs-Satz (Anti-Fuse Set) aufweisen, welcher während der Herstellung (beispielsweise mit einem Laser) programmiert werden kann. Beispielsweise kann die Referenzzeit durch den Controller 1330 abhängig von einem Zuverlässigkeitsstatus (beispielsweise einem Verschleißniveau, Datenzuverlässigkeit, Lebensdauer etc.) der Speichervorrichtungen 1311, 1312, ..., 1319 wie durch den Statusverwalter 1333 bestimmt, anpassbar sein.
  • Der Controller 1330 kann den Status, welcher mit den Speichervorrichtungen 1311, 1312, ..., 1319 verbunden ist, durch ein Verwenden des Timers 1332 überwachen. Beispielsweise kann der überwachte Status eine Zeitdauer aufweisen, in welcher Daten, welche in den Speichervorrichtungen 1311, 1312, ..., 1319 gespeichert sind, aufrechterhalten werden, ohne dass Leistung durch die Speichervorrichtungen 1311, 1312, ..., 1319 empfangen wird.
  • Indes können in Antwort auf das Umschalten von dem normalen Modus zu dem Leistungseinsparmodus die Speichervorrichtungen 1311, 1312, ..., 1319 und der Controller 1330 einen Betrieb vollständig oder teilweise (durch Schattieren veranschaulicht) stoppen. In dem Leistungseinsparmodus jedoch kann der Timer 1332 nach wie vor arbeiten, um zu bestimmen, dass die verstrichene Zeit die Referenzzeit erreicht hat. Die Zufuhr der Hauptspannung MNP kann unterbrochen werden, die Hilfsspannung AUXP aber kann empfangen werden, um den Timer 1332 zu betreiben (Operation [3] der 4, S220 der 7).
  • Wenn die Referenzzeit wie durch den Timer 1332 bestimmt nicht verstreicht oder abläuft (Nein von S230 der 7) kann der Timer 1332 fortfahren, die Referenzzeit zu überwachen. Andererseits kann unter Bezugnahme auf 5 wenn die Referenzzeit, welche durch den Timer 1332 überwacht wird, verstreicht oder abläuft (Ja von S230 der 7) der Timer 1332 ein Signal ausgeben, welches das Verstreichen oder den Ablauf der Referenzzeit anzeigt (Operation [4] der 5).
  • Die Speichereinrichtung 1300 kann die Benachrichtigung NTF zu dem Host 1100 basierend auf dem Signal, welches von dem Timer 1332 ausgegeben wird (das heißt basierend auf dem Verstreichen oder dem Ablauf der Referenzzeit), ausgeben (Operation [5] der 5, S250 der 7). Die Benachrichtigung NTF kann ausgegeben werden, um zu benachrichtigen, dass es ein Risiko gibt, dass Daten zu verlieren sind, und demnach die Datenretentionsoperation durchzuführen ist. Die Benachrichtigung NTF kann eine Anforderung für den Host 1100 sein, ein Austreten aus dem Leistungseinsparmodus der Speichereinrichtung 1300 zu initiieren (beispielsweise eine Anforderung, die Speichereinrichtung 1300 aufzuwecken).
  • In diesem Beispiel kann es verstanden werden, dass die Wartungsbedingung erfüllt ist, wenn die Referenzzeit verstreicht, während Leistung (beispielsweise die Hauptspannung MNP) nicht empfangen wird, nachdem die Speichervorrichtungen 1311, 1312, ..., 1319 Daten speichern. Es sollte verstanden werden, dass die Initiierungsbedingung nicht erfüllt sein muss, um die Benachrichtigung NTF auszugeben.
  • In einigen beispielhaften Ausführungsformen kann der Controller 1330 konfiguriert sein, um mit dem Host 1100 in Übereinstimmung mit dem PCIe-Protokoll zu kommunizieren. In solchen beispielhaften Ausführungsformen kann beispielsweise die Benachrichtigung NTF basierend auf einem WAKE#-Signal, welches in dem PCIe-Protokoll definiert ist, ausgegeben werden.
  • Das WAKE#-Signal kann verwendet werden, um einen Betriebszustand der Speichervorrichtung 1300 basierend auf der Hilfsspannung AUXP umzuschalten und kann demnach nützlich eingesetzt werden, um mit dem Host 1100 in dem Leistungseinsparmodus zu kommunizieren. Dieses Beispiel ist jedoch vorgesehen, um ein besseres Verständnis zu erleichtern und die Art und Weise des Ausgebens der Benachrichtigung NTF kann verschiedentlich wie obenstehend beschrieben geändert oder modifiziert werden.
  • Der Host 1100 kann den Leistungsverwalter 1600 basierend auf der Benachrichtigung NTF derart steuern, dass die Hauptspannung MNP der Speichereinrichtung 1300 zugeführt wird (Operation [6] der 5). Unter der Steuerung des Host 1100 können die Speichervorrichtungen 1311, 1312, ..., 1319 und der Controller 1330 die Hauptspannung MNP empfangen, um in dem normalen Modus zu arbeiten (Operation [7] der 5, S270a der 7), und die Zufuhr der Hilfsspannung AUXP kann unterbrochen werden. Demzufolge kann das Umschalten von dem Leistungseinsparmodus zu dem normalen Modus vorgesehen sein, und ein Umstand, welcher für die Datenretentionsoperation geeignet ist, kann vorgesehen sein.
  • In dem vorgesehenen Umstand (beispielsweise in dem normalen Modus) können die Speichervorrichtungen 1311, 1312, ..., 1319 und der Controller 1330 die Wartungsarbeit in Antwort darauf starten, dass Leistung (beispielsweise die Hauptspannung MNP) empfangen wird (beispielsweise kann der Controller 1330 auf den Start des Vorsehens der Hauptspannung MNP für die Speichereinrichtung 1300 reagieren, um die Wartungsarbeit(en) der Speichervorrichtungen 1311, 1312, ..., 1319 zu initiieren). In einigen Beispielen ist ein Vorsehen der Hauptspannung MNP (einer Betriebsspannung) für die Speichereinrichtung 1300 die einzige Aktion, welche durch den Host 1100 benötigt wird, um eine Initiierung der Wartungsarbeit(en) zu verursachen, und ein separater Befehl oder ein anderes Signal (andere Signale), welches (welche) von dem Host 1100 für die Speichereinrichtung 1300 vorgesehen sind, sind nicht notwendig. Wenn der Controller 1330 mit den Speichervorrichtungen 1311, 1312, ..., 1319 kommuniziert, kann die Datenretentionsoperation zwischen dem Controller 1330 und den Speichervorrichtungen 1311, 1312, ..., 1319 unter Verwendung der Leistung (beispielsweise der Hauptspannung MNP) durchgeführt werden (Operation [8] der 5, S270b der 7).
  • Die Datenretentionsoperation kann hinsichtlich Daten durchgeführt werden, welche in den Speichervorrichtungen 1311, 1312, ..., 1319 gespeichert sind. Die Datenretentionsoperation kann in Antwort auf das Verstreichen oder den Ablauf der Referenzzeit durchgeführt derart werden, dass Daten, welche in Speicherzellen der Speichervorrichtungen 1311, 1312, ..., 1319 gespeichert sind, nicht verloren werden.
  • Beispielsweise kann die Datenretentionsoperation Operationen zum Lesen der Daten, welche in den Speichervorrichtungen 1311, 1312, ..., 1319 gespeichert sind, und zum Speichern der gelesenen Daten in den Speichervorrichtungen 1311, 1312, ..., 1319 aufweisen. Auf diese Operationen kann Bezug genommen werden als eine Leseregenerieroperation. Gemäß der Leseregenerieroperation kann eine anpassbare physikalische Charakteristik einer Speicherzelle, welche mit einem Referenzwert verglichen wird, um Daten, welche durch die Speicherzelle gespeichert sind, zu bestimmen, angepasst werden, um den Daten, welche beabsichtigt sind, um durch die Speicherzelle gespeichert zu werden, zu entsprechen. Beispielsweise kann ein Ladungsbetrag einer Speicherzelle wieder aufgeladen werden (beispielsweise angepasst), um beabsichtigten Daten der Speicherzelle zu entsprechen. Beispielsweise kann ein Widerstandswert einer Speicherzelle angepasst werden, um den beabsichtigten Daten der Speicherzelle zu entsprechen. Beispielsweise kann eine Leseregenerieroperation hinsichtlich einer Speichervorrichtung (beispielsweise einer von 1311, 1312, ..., 1319) - von welchen jede ein nichtflüchtiger Speicherhalbleiterchip sein kann - Daten von einer Seite von Speicherzellen einer Anordnung von Speicherzellen, wie beispielsweise NAND-Flashspeicherzellen oder anderen nichtflüchtigen Speicherzellen, zu einem Seitenpuffer der Speichervorrichtung lesen. Die Leseregenerieroperation kann dann eine Programmieroperation zum Schreiben der Daten, welche in dem Seitenpuffer gespeichert sind, direkt zu derselben Seite, von welcher die Daten gerade gelesen wurden, ohne ein Transferieren der gelesenen Daten von dem Seitenpuffer und/oder ein Modifizieren der Daten in dem Seitenpuffer durchführen. Beim Durchführen der Programmieroperation zum Schreiben der Daten, welche in dem Seitenpuffer gespeichert sind, kann die anpassbare physikalische Charakteristik (beispielsweise Widerstandswert oder Ladungsspeicher) von Speicherzellen der Seite von Speicherzellen, welche keinem erwünschten Pegel entsprechen (beispielsweise zu oder über einem entsprechenden vorbestimmten Pegel und/oder innerhalb eines entsprechenden vorbestimmten Bereichs) an einen entsprechenden erwünschten Pegel angepasst werden. Demzufolge können Daten aufrechterhalten werden, bevor die Daten verloren sind. Die Leseregenerieroperation kann eine Auffrischoperation von Daten, welche in dem nichtflüchtigen Speicher gespeichert sind, sein. Die vorliegende Erfindung ist jedoch nicht darauf beschränkt und die Datenretentionsoperation kann verschiedentlich geändert oder modifiziert werden derart, dass Daten aufrechterhalten werden, bevor die Daten verloren sind. Beispielsweise können als ein Teil einer Leseregenerieroperation fehlerhafte Datenbits von gelesenen Daten unter Verwendung einer Fehlerkorrekturschaltung und eines Fehlerkorrekturcodes erfasst und korrigiert werden. Die Fehlerkorrekturschaltung kann ein Teil der Speichereinrichtung 1300 (beispielsweise Teil des Controllers 1330) sein oder kann extern zu der Speichereinrichtung 1300 (beispielsweise als ein Teil des Host 1100) vorgesehen sein. In dem letzteren Fall kann eine Leseregenerieroperation ein Übertragen von gelesenen Daten zu der Fehlerkorrekturschaltung, welche extern zu der Speichereinrichtung platziert ist, und ein Empfangen von korrigierten Daten, welche zu der Speichereinrichtung zu schreiben sind, aufweisen. In einigen Fällen können in dieser letzteren Herangehensweise die gelesenen Daten in dem Seitenpuffer verbleiben, um bestimmte Bits korrigiert zu haben und/oder korrigierte Daten können in der Speicheranordnung bei Seiten anders als der Seite, von welchen die Daten ursprünglich gelesen wurden, gespeichert werden.
  • Als solches kann die Speichereinrichtung 1300 die Wartungsbedingung selbst bestimmen und kann demnach die Datenretentionsoperation unabhängig durchführen. Der Host 1100 kann in die Datenretentionsoperation nicht intervenieren mit Ausnahme des Steuerns der Zufuhr der Hauptspannung MNP, um das Umschalten zu dem normalen Modus zu verursachen. Demzufolge kann die Datenretentionsoperation effizient durchgeführt werden und die Datenzuverlässigkeit kann verbessert werden.
  • Bezug nehmend auf 6 kann, nachdem die Datenretentionsoperation vollendet ist, der Controller 1330 den Host 1100 mit Information vorsehen, welche mit einem Ergebnis der Datenretentionsoperation verbunden ist. Beispielsweise kann der Controller 1330 den Host 1100 benachrichtigen, dass die Datenretentionsoperation getätigt ist (Operation [9] der 6, S280a der 7). Danach kann unter der Steuerung des Host 1100 und/oder des Controllers 1330 der Betriebszustand der Speichereinrichtung 1300 von dem normalen Modus zu dem Leistungseinsparmodus umgeschaltet werden (Operation [10] der 6).
  • In Antwort auf das Umschalten von dem normalen Modus zu dem Leistungseinsparmodus kann die Referenzzeit des Timers 1332 eingestellt werden (Operation [11] der 6, S280b der 7) und der Timer 1332 kann starten, die Referenzzeit ohne Intervention des Host 1100 zu überwachen. Die Speichervorrichtungen 1311, 1312, ..., 1319 und der Controller 1330 können Operationen vollständig oder teilweise stoppen.
  • Die Zufuhr der Hauptspannung MNP kann unterbrochen werden, aber die Hilfsspannung AUXP kann empfangen werden, um den Timer 1332 zu betreiben (Operation [12] der 6, S280b der 7). Demzufolge können die Betriebszustände der Speichervorrichtungen 1311, 1312, ..., 1319 und der Controller 1330 zu Betriebszuständen zurückkehren bevor die Datenregenerieroperation durchgeführt wird.
  • Die 8 und 9 sind Konzeptdiagramme zum Beschreiben einer beispielhaften Operation der Speichereinrichtung 1300 der 2 gemäß einigen beispielhaften Ausführungsformen. 10 ist ein Flussdiagramm, welches eine beispielhafte Operation 8 und 9 beschreibt.
  • Bezug nehmend auf 8 kann der Controller 1330 einen Status, welcher mit den Speichervorrichtungen 1311, 1312, ..., 1319 verbunden ist, durch ein Verwenden des Statusverwalters 1333 überwachen (Operation [1] der 8, S305 der 10). Beispielsweise kann der überwachte Status Verschleißniveaus von Speicherbereichen, welche in den Speichervorrichtungen 1311, 1312, ..., 1319 enthalten sind, ein Verhältnis von ungültigen Speicherbereichen der Speicherbereiche, welche in den Speichervorrichtungen 1311, 1312, ..., 1319 enthalten sind, eine verfügbare Kapazität der Speichervorrichtungen 1311, 1312, ..., 1319 etc. aufweisen, die vorliegende Erfindung ist aber nicht darauf beschränkt.
  • Der Controller 1330 kann bestimmen, ob der überwachte Status die Wartungsbedingung erfüllt, durch ein Verwenden des Statusverwalters 1333 (S330 der 10). Beispielsweise kann, wenn ein numerischer Wert des überwachten Status einen entsprechenden Grenzwert erreicht, die Wartungsbedingung erfüllt sein. Der Grenzwert kann unter Berücksichtigung eines Grades eines Status, in welchem die Wartungsoperation benötigt wird, ausgewählt werden (beispielsweise programmiert werden).
  • Beispielsweise können, wenn eine Speichervorrichtung Speicherbereiche aufweist, welche hohe Verschleißniveaus haben, Daten, welche in der Speichervorrichtung gespeichert sind, unzuverlässig werden. Wenn einer oder mehrere von Verschleißniveaus einen ersten Grenzwert erreichen (beispielsweise höher als der erste Grenzwert werden) kann die Wartungsbedingung zum Garantieren der Datenzuverlässigkeit erfüllt sein.
  • Beispielsweise kann, wenn ein Verhältnis von ungültigen Speicherbereichen der Speicherbereiche, welche in einer Speichervorrichtung enthalten sind, zunimmt, ein Zugriff auf die Speichervorrichtung ineffizient werden. Wenn das Verhältnis der ungültigen Speicherbereiche einen zweiten Grenzwert erreicht (beispielsweise höher wird als der zweite Grenzwert) kann die Wartungsbedingung für einen effizienten Speicherzugriff erfüllt sein.
  • Beispielsweise kann es, wenn eine verfügbare Kapazität der Speichervorrichtungen 1311, 1312, ..., 1319 abnimmt, schwierig werden, zusätzliche Datenstücke zu speichern. Wenn die verfügbare Kapazität einen dritten Grenzwert erreicht (beispielsweise niedriger als der dritte Grenzwert wird) kann die Wartungsbedingung zum Erhöhen der verfügbaren Kapazität erfüllt sein.
  • Wenn die Wartungsbedingung nicht erfüllt ist (Nein von S330 der 10) kann der Controller 1330 nach wie vor den Status, welcher mit den Speichervorrichtungen 1311, 1312, ..., 1319 verbunden ist, überwachen. Wenn bestimmt wird, dass die Wartungsbedingung erfüllt ist (Operation [2] der 8, Ja von S330 der 10) kann die Speichervorrichtung 1300 die Benachrichtigung NTF basierend auf der Bestimmung (Operation [3] der 8, S350 der 10) ausgeben. Die Benachrichtigung NTF kann die Wartungsbenachrichtigung für den Host 1100 in Antwort auf ein Bestimmen sein, dass eine oder mehrere der nichtflüchtigen Speichervorrichtungen Wartung benötigen, um eine Zeitperiode vorzusehen, in welcher auf die Festkörperspeichereinrichtung durch den Host 1100 nicht zugegriffen werden kann, während welcher der Controller eine oder mehrere Wartungsarbeiten auf der einen oder mehreren nichtflüchtigen Vorrichtungen durchführen kann.
  • Die Benachrichtigung NTF kann ausgegeben werden, um zu benachrichtigen, dass die Wartungsarbeit zum Verbessern des überwachten Status (hierin nachstehend wird auf eine Verwaltungsoperation Bezug genommen) durchzuführen ist. Beispielsweise kann die Benachrichtigung NTF unter Verwendung des WAKE#-Signals ausgegeben werden oder kann durch einen Kanal zum Austauschen der Daten DAT ausgegeben werden. Dieses Beispiel ist jedoch vorgesehen, um ein besseres Verständnis zu erleichtern, und die Art und Weise des Ausgebens der Benachrichtigung NTF kann verschiedentlich wie obenstehend beschrieben geändert oder modifiziert werden.
  • In einigen Fällen kann es notwendig sein, dass der Befehl CMD des Host 1100 die Verwaltungsoperation durchführt. In einigen Fällen können Daten INFI, auf welche zu referenzieren ist, um die Verwaltungsoperation durchzuführen, nur in dem Host 1100 gespeichert werden. In solchen Fällen kann der Host 1100 den Befehl CMD und/oder die Daten INF1 für die Speichereinrichtung 1300 vorsehen (Operation [4] der 8, S370a von 10). Beispielsweise kann INF1 eine Leerlaufzeit des Host 1100 identifizieren, in welcher der Host 1100 nicht eingeplant ist, um zuzugreifen auf oder anderweitig zu kommunizieren mit der Speichereinrichtung 1300. Der Controller 1330 kann auf die Leerlaufzeit (empfangen als INF1) antworten, um Wartungsarbeiten auf den Speichervorrichtungen 1311, 1312, ..., 1319 während der Leerlaufzeit durchzuführen und um Wartungsarbeiten auf den Speichervorrichtungen 1311, 1312, ..., 1319 bei einem Ablauf der Leerlaufzeit einzustellen. In einigen Beispielen können Daten INF1 ein Verschleißniveaus von Blöcken des Speichers der Speichervorrichtungen 1311, 1312, ..., 1319, Schlechtblockinformation, welche physikalische Adressen von schlechten Blöcken aufweist, welche bei keiner Datenschreibwartungsarbeit verwendet werden sollten, Adressmapping, welche logische Adressen mit physikalischen Adressen der Speichervorrichtungen 1311, 1312, ..., 1319 korreliert etc. aufweisen. Demzufolge kann unter der Steuerung des Host 1100 ein Umstand, welcher für die Verwaltungsoperation geeignet ist, vorgesehen werden. Andererseits kann, wenn die Verwaltungsoperation, welche den Befehl CMD und die Daten INF 1 nicht benötigt, durchgeführt wird, dieser Prozess betreffend die Daten INF 1 ausgelassen werden.
  • In dem vorgesehenen Umstand (beispielsweise basiert auf dem Befehl CMD und/oder den Daten INF1) kann, wenn der Controller 1330 mit den Speichervorrichtungen 1311, 1312, ..., 1319 kommuniziert, die Verwaltungsoperation durch den Controller 1330 auf den Speichervorrichtungen 1311, 1312, ..., 1319 durchgeführt werden (Operation [5] der 8, S370b von 10).
  • Beispielsweise kann, wenn ein oder mehrere der Verschleißniveaus den Referenzwert erreichen, die Verwaltungsoperation derart durchgeführt werden, dass Daten eines Speicherbereichs, welcher ein Verschleißniveau hat, welches den ersten Grenzwert erreicht, zu einem Speicherbereich migrieren, welcher ein Verschleißniveau hat, welches den ersten Grenzwert nicht erreicht und zwar inmitten der Speicherbereiche der Speichervorrichtungen 1311, 1312, ..., 1319. In diesem Fall können die Daten in einem Speicherbereich gespeichert werden, welcher ein geringeres Verschleißniveau hat (das heißt eine hohe Zuverlässigkeit vorsieht).
  • Beispielsweise kann, wenn das Verhältnis von ungültigen Speicherbereichen in einer Speichervorrichtung den zweiten Grenzwert erreicht, die Verwaltungsoperation eine Speicherbereinigungsoperation zum Verschieben von Daten von gültigen Speicherbereichen der Speicherbereiche, welche in der Speichervorrichtung enthalten sind oder in einer anderen Speichervorrichtung enthalten sind, aufweisen. In diesem Fall können die Daten der gültigen Speicherbereiche in der minimalen Anzahl von Speichervorrichtungen gespeichert werden und ein effizienter Speicherzugriff kann möglich werden.
  • Beispielsweise kann, wenn die verfügbare Kapazität geringer als der dritte Grenzwert ist, die Verwaltungsoperation Operationen zum Hochladen von Daten, welche in den Speichervorrichtungen 1311, 1312, ..., 1319 gespeichert sind, zu einem Remote-Server (beispielsweise einem Cloud-Speicher) durch den Kommunikationsblock 1400 und ein Löschen der entsprechenden Daten aus den Speichervorrichtungen 1311, 1312, ..., 1319 aufweisen. In diesem Fall kann die verfügbare Kapazität der Speichervorrichtungen 1311, 1312, ..., 1319 zunehmen.
  • Als solches kann die Speichereinrichtung 1300 die Wartungsbedingung selbst bestimmen und kann demnach die Verwaltungsoperation aktiv durchführen. In diesem Beispiel kann es nicht nötig sein, dass der Host 1100 an der Verwaltungsoperation teilnimmt, mit Ausnahme eines Vorsehens des Befehls CMD und der Daten INF 1, welche für die Verwaltungsoperation benötigt werden. Demzufolge kann die Verwaltungsoperation effizient durchgeführt werden, und die Zuverlässigkeit, die Performance und die Verwaltungseffizienz der Speichervorrichtung 1300 können verbessert werden.
  • Die obigen Verwaltungsoperationen sind beabsichtigt, um einige von möglichen beispielhaften Ausführungsformen vorzusehen, um ein besseres Verständnis zu erleichtern, und sind nicht beabsichtigt, um die vorliegende Erfindung zu beschränken. Die Verwaltungsoperation kann verschiedentlich geändert oder modifiziert werden, um einen Status, welcher mit den Speichervorrichtungen 1311, 1312, ..., 1319 verbunden ist, zu verbessern. Die Verwaltungsoperationen können parallel (beispielsweise simultan oder gleichzeitig) oder sequenziell auf zwei oder mehreren Stati durchgeführt werden.
  • Bezug nehmend auf 9 kann, nachdem die Verwaltungsoperation vollendet ist, der Controller 1330 den Host 1100 mit Information vorsehen, welche mit einem Ergebnis der Verwaltungsoperation verbunden ist (Operation [6] der 9, S380a von 10). Beispielsweise kann der Controller 1330 den Host 1100 benachrichtigen, dass die Verwaltungsoperation getätigt ist.
  • In einigen Fällen können die Daten inmitten der Speichervorrichtungen 1311, 1312, ..., 1319 migrieren. In solchen Fällen kann der Controller 1330 Information INF2 für den Host 1100 vorsehen, um einen Ort (beispielsweise Adresse (Adressen)) eines neuen Speicherbereichs, wo die migrierten Daten gespeichert sind, zu benachrichtigen beziehungsweise mitzuteilen. Eine Anforderung (beispielsweise eine Schreib-/Leseanforderung, welche von dem Host 1100 empfangen wird, nachdem die Verwaltungsoperation vollendet ist, kann zu dem neuen Speicherbereich basierend auf der Information INF2 geleitet werden. Außerdem kann die Information INF2 eine Vielzahl von Information, welche mit einem Ergebnis der Verwaltungsoperation verbunden ist, aufweisen.
  • Andererseits können einige Verwaltungsoperationen Information, welche für den Host 1100 vorzusehen ist, nicht erzeugen. In diesem Fall kann dieser Prozess betreffend die Information INF2 ausgelassen werden.
  • Danach kann der Controller 1330 einen Status, welcher mit den Speichervorrichtungen 1311, 1312, ..., 1319 verbunden ist durch ein Verwenden des Statusverwalters 1333 überwachen (Operation [7] der 9, S380b der 10). Demzufolge können die Betriebsstati der Speichervorrichtungen 1311, 1312, ..., 1319 und des Controllers 1330 zu Betriebsstati zurückkehren, bevor die Verwaltungsoperation durchgeführt ist.
  • Die 11 bis 14 sind Konzeptdiagramme zum Beschreiben einer beispielhaften Operation der Speichervorrichtung 1300 der 2 gemäß einigen beispielhaften Ausführungsformen. 15 ist ein Flussdiagramm, welches eine beispielhafte Operation der 11 bis 14 beschreibt.
  • Bezug nehmend auf 11 kann unter der Steuerung des Host 1100 und/oder des Controllers 1330 eine Operation des normalen Modus vorgesehen werden (Operation [1] der 11). In dem normalen Modus kann der Leistungsverwalter 1600 die Hauptspannung MNP für die Speichereinrichtung 1300 vorsehen und die Zufuhr der Hilfsspannung AUXP kann unterbrochen sein (Operation [2] der 11).
  • Der Controller 1330 kann einen Status, welcher mit den Speichervorrichtungen 1311, 1312, ..., 1319 verbunden ist, durch ein Verwenden des Statusverwalters 1333 basierend auf Leistung (beispielsweise der Hauptspannung MNP), welche in dem normalen Modus empfangen wird, überwachen (Operation [3] der 11, S405 von 15). Wenn die Wartungsbedingung nicht erfüllt ist (Nein von S430a der 15) kann der Controller 1330 fortfahren, den Status, welcher mit den Speichervorrichtungen 1311, 1312, ..., 1319 verbunden ist, zu überwachen.
  • Während der Überwachung des Status (S405, S430a der 15) kann der Controller 1330 bestimmen, dass der überwachte Status die Wartungsbedingung erfüllt (Operation [4] der 11, Ja von S430a der 15). Der Controller 1330 kann bestimmen, ob die Initiierungsbedingung erfüllt ist (beispielsweise ob Ressourcen für die Speichervorrichtungen 1311, 1312, ..., 1319 und den Controller 1330 verfügbar sind, um die Verwaltungsoperation durchzuführen) (S431 der 15), anstelle eines unmittelbaren Ausgebens der Benachrichtigung NTF basierend auf der Bestimmung der Wartungsbedingung.
  • Wenn die Initiierungsbedingung erfüllt ist (Ja von S431 der 15) kann die Verwaltungsoperation auf den Speichervorrichtungen 1311, 1312, ..., 1319 durch den Controller 1330 durchgeführt werden (S435 der 15). Wenn jedoch die Initiierungsbedingung nicht erfüllt ist (beispielsweise wenn die Speichereinrichtung 1300 beschäftigt ist, wie beispielsweise besetzt durch Zugriffsoperationen bei der Anforderung des Host 1100) (Nein von S431 der 15) kann die Verwaltungsoperation nicht unmittelbar durchgeführt werden und kann zurückgestellt werden. In diesem Beispiel kann die Initiierungsbedingung unabhängig von der Wartungsbedingung vorgesehen sein. Beispielsweise kann, wenn das Umschalten zu dem Leistungseinsparmodus nicht vorgesehen ist (Nein von S410 der 15) die Verwaltungsoperation nicht durchgeführt werden. In einigen Beispielen jedoch kann, wenn das Umschalten zu dem Leistungseinsparmodus nicht vorgesehen ist (Nein von S410 der 15) das Verfahren zu Schritt S431 zurückkehren (um periodisch zu überprüfen, ob die Initiierungsbedingung erfüllt ist) oder kann zu Schritt S405 zurückkehren (um fortzufahren, den Betriebsstatus zu überwachen (S405) und um später periodisch zu überprüfen, ob die Initiierungsbedingung (S431) erfüllt ist). Während dieser wiederholten Schleifenoperation kann, wenn die Speichereinrichtung 1300 in einen Leistungseinsparmodus zu verbringen ist (S410) das Verfahren zu Schritt S420 voranschreiten.
  • Bezug nehmend auf 12 kann unter der Steuerung des Host 1100 und/oder des Controllers 1330 das Umschalten zu dem Leistungseinsparmodus vorgesehen sein (Operation [5] der 12, Ja von S410 der 15). In Antwort auf das Umschalten zu dem Leistungseinsparmodus kann die Referenzzeit des Timers 1332 eingestellt werden (Operation [6] der 12, S420 von 15) und der Timer 1332 kann starten, die Referenzzeit zu überwachen.
  • Indes kann die Zufuhr der Hauptspannung MNP unterbrochen werden, die Hilfsspannung AUXP jedoch kann empfangen werden, um den Timer 1332 zu betreiben (Operation [7] der 12, S420 von 15). Die Speichervorrichtungen 1311, 1312, ..., 1319 und der Controller 1330 können eine Operation vollständig oder teilweise stoppen.
  • Wenn die Referenzzeit, welche durch den Timer 1332 gemessen wird, nicht verstreicht oder abläuft (Nein von S430b der 15) kann der Timer 1332 fortfahren, die Referenzzeit zu überwachen. Andererseits kann, Bezug nehmend auf 13, wenn die Referenzzeit verstreicht oder abläuft (Ja von S430b der 15) der Timer 1332 ein Signal ausgeben, welches das Verstreichen oder den Ablauf der Referenzzeit anzeigt (Operation [8] der 13).
  • Die Referenzzeit kann ausgewählt werden, um geeignet zu sein, um zu bestimmen, dass die Speichereinrichtung 1300 im Leerlaufzustand ist. Das Verstreichen oder der Ablauf der Referenzzeit kann bedeuten, dass die Speichereinrichtung 1300 während der Referenzzeit im Leerlauf ist. Demzufolge kann das Verstreichen oder der Ablauf der Referenzzeit betrachtet werden als dass die Initiierungsbedingung erfüllt ist. In einigen Beispielen kann vor dem Ablauf einer ersten Periode der Referenzzeit, welche durch den Timer 1332 überwacht wird, der Timer 1332 zurückgesetzt werden, um den Ablauf einer zweiten Periode der Referenzzeit zu überwachen in Antwort darauf, dass die Speichereinrichtung 1300 aus dem Leistungseinsparmodus herausgebracht wird und/oder in den normalen Modus (beispielsweise durch einen Befehl von dem Host 1100) verbracht wird, und der Timer 1332 kann starten, den Ablauf der zweiten Periode der Referenzzeit zu überwachen. Beispielsweise kann ein Befehl, um in den normalen Modus (beispielsweise durch den Host 1100) verbracht zu werden, veranlassen, dass das Verfahren der 15 zu Schritt S405 zurückkehrt, und dass der Schritt des Zurücksetzens des Timers 1332, um den Ablauf einer zweiten Periode der Referenzzeit zu überwachen, durchgeführt wird.
  • Die Speichereinrichtung 1300 kann die Benachrichtigung NTF zu dem Host 1100 basierend auf dem Signal, welches von dem Timer 1332 ausgegeben wird (das heißt basierend auf dem Verstreichen oder Ablaufen der Referenzzeit) ausgeben (Operation [9] von 15, S450 der 15). Die Benachrichtigung NTF kann ausgegeben werden, um zu benachrichtigen, dass die Verwaltungsoperation durchzuführen ist.
  • Der Host 1100 kann den Leistungsverwalter 1600 basierend auf der Benachrichtigung NTF derart steuern, dass die Hauptspannung MNP der Speichereinrichtung 1300 zugeführt wird (Operation [10] die 13). Unter der Steuerung des Host 1100 können die Speichervorrichtungen 1311, 1312, ..., 1319 und der Controller 1330 die Hauptspannung MNP empfangen, um in dem normalen Modus zu arbeiten (Operation [11] der 13, S470a von 15), und die Zufuhr der Hilfsspannung AUXP kann unterbrochen werden. Demzufolge kann das Umschalten zu dem normalen Modus vorgesehen werden und ein Umstand zum Durchführen der Verwaltungsoperation kann vorgesehen werden.
  • In dem vorgesehenen Umstand (beispielsweise in dem normalen Modus) können die Speichervorrichtungen 1311, 1312, ..., 1319 und der Controller 1330 eine Operation unter Verwendung der neu zugeführten Leistung (beispielsweise der Hauptspannung MNP) starten. Wenn der Controller 1330 mit den Speichervorrichtungen 1311, 1312, ..., 1319 kommuniziert, kann die Verwaltungsoperation zwischen dem Controller 1330 und den Speichervorrichtungen 1311, 1312, ..., 1319 durchgeführt werden (Operation [12] der 13, S470b der 15).
  • Bezug nehmend auf 14 kann, nachdem die Verwaltungsoperation vollendet ist, der Controller 1330 den Host 1100 mit Information vorsehen, welche mit einem Ergebnis der Verwaltungsoperation verbunden ist (Operation [13] der 14, S480a der 15). Danach kann unter der Steuerung des Host 1100 und/oder des Controllers 1330 der Betriebszustand der Speichereinrichtung 1300 zurück zu dem Leistungseinsparmodus umgeschaltet werden (Operation [14] der 14).
  • In Antwort auf das Zurückschalten zu dem Leistungseinsparmodus kann die Referenzzeit des Timers 1332 eingestellt werden (Operation [15] der 14, S480b der 15) und der Timer 1332 kann starten, die Referenzzeit ohne Intervention des Host 1100 zu messen. Die Speichervorrichtungen 1311, 1312, ..., 1319 und der Controller 1330 können eine Operation vollständig oder teilweise stoppen.
  • Die Zufuhr der Hauptspannung MNP kann unterbrochen werden, aber die Hilfsspannung AUXP kann empfangen werden, um den Timer 1332 zu betreiben (Operation [16] der 14, S480b von 15). Demzufolge können die Betriebszustände der Speichervorrichtungen 1311, 1312, ..., 1319 und des Controllers 1330 zu Betriebszuständen zurückkehren, bevor die Verwaltungsoperation durchgeführt wird.
  • Beispielhafte Wartungsarbeiten wurden obenstehend beschrieben, es kann jedoch leicht verstanden werden, dass die vorliegende Erfindung von den obigen beispielhaften Ausführungsformen verschiedentlich geändert oder modifiziert werden kann. Wie obenstehend beschrieben ist kann die Wartungsarbeit gemäß vorbestimmten Prozeduren durchgeführt werden. Alternativ kann die Wartungsarbeit gemäß einer Prozedur durchgeführt werden, welche ausgewählt ist aus inmitten einer Mehrzahl von Prozeduren basiert auf einer Bedingung. In einigen beispielhaften Ausführungsformen können eine Art und eine Art und Weise der Wartungsarbeit durch den Nutzer oder die Speichereinrichtung 1300 aktualisiert oder modifiziert werden.
  • 16 ist ein Blockschaltbild, welches eine beispielhafte Konfiguration veranschaulicht, welche mit der Speichereinrichtung 1300 der 2 verbunden ist.
  • Der Sensor 1334 kann verschiedene Arten von Ereignissen abtasten. Ein Ereignis, welches durch den Sensor 1334 erfasst wird, kann als die Wartungsbedingung und/oder die Initiierungsbedingung referenziert werden.
  • Beispielsweise kann der Sensor 1334 einen Temperatursensor aufweisen. Der Temperatursensor kann verwendet werden, um eine Temperatur der Speichervorrichtungen 1311, 1312, ..., 1319 und/oder eine Umgebungstemperatur, in welcher die Speichervorrichtungen 1311, 1312, ..., 1319 arbeiten (beispielsweise die Temperatur eines Innenraums in dem Gehäuse der Festkörperspeichereinrichtung, in welcher die Speichervorrichtungen arbeiten) zu messen oder abzuschätzen. Wenn eine Temperatur einer Speichervorrichtung höher ist als oder gleich zu dem Referenzwert werden Daten, welche in der Speichervorrichtung gespeichert sind, unzuverlässig. Demzufolge kann, wenn die Temperatur, welche durch den Temperatursensor gemessen oder abgeschätzt wird, höher als oder gleich zu dem Referenzwert ist, die Wartungsbedingung erfüllt sein.
  • Beispielsweise kann der Sensor 1334 einen Spannungs-/Stromsensor (einen Spannungssensor und/oder einen Stromsensor) aufweisen. Der Spannungs-/Stromsensor kann verwendet werden, um eine Spannung und/oder einen Strom, welche für die Speichervorrichtungen 1311, 1312, ..., 1319 vorgesehen sind, zu überwachen. Wenn eine übermäßige Spannung oder Strom für eine Speichervorrichtung vorgesehen ist, kann ein Fehler in Daten auftreten, welche in der Speichervorrichtung gespeichert sind. Demzufolge kann, wenn die Spannung und/oder der Strom, welche durch den Spannungs-/Stromsensor gemessen werden, höher als oder gleich zu dem Referenzwert ist, die Wartungsbedingung erfüllt sein.
  • Beispielsweise kann der Sensor 1334 einen Lichtsensor, um Licht außerhalb der Speichervorrichtung 1330 zu erfassen, einen Visions-Sensor, um ein Auge eines Nutzers zu erfassen, einen Kreiselsensor, um eine Orientierung der Speichereinrichtung 1300 zu erfassen etc. aufweisen. In einigen beispielhaften Ausführungsformen können der Lichtsensor, der Visions-Sensor und der Kreiselsensor außerhalb der Speichereinrichtung 1300 vorgesehen sein (beispielsweise an einer externen Oberfläche eines Gehäuses der Speichereinrichtung 1300 angebracht sein).
  • Beispielsweise kann, wenn das elektronische System 1000, welches die Speichereinrichtung 1300 aufweist, in einer dunklen Umgebung ist, wenn ein Nutzer nicht auf das elektronische System 1000, welches die Speichereinrichtung 1300 aufweist, blickt, oder wenn das elektronische System 1000, welches die Speichereinrichtung 1300 aufweist, auf einer planaren Oberfläche ist, dies bedeuten, dass die Speichereinrichtung 1300 nicht verwendet wird (beispielsweise im Leerlauf ist).
  • Wenn das elektronische System 1000 in einer dunklen Umgebung ist, kann der Lichtsensor kein Licht abtasten. Wenn der Nutzer nicht zu dem elektronischen System 1000 blickt, kann der Visions-Sensor keine Augen eines Nutzers abtasten. Der Kreiselsensor kann abtasten, dass das elektronische System 1000 auf der planaren Oberfläche belassen ist. Demzufolge können der Lichtsensor, der Visions-Sensor und der Kreiselsensor verwendet werden, um zu bestimmen, ob die Initiierungsbedingung erfüllt ist.
  • Die obigen Beispiele sind beabsichtigt, um einige von möglichen beispielhaften Ausführungsformen vorzusehen, und sind nicht beabsichtigt, um die vorliegende Erfindung zu begrenzen. Eine Konfiguration und eine Operation des Sensors 1334 können verschiedentlich geändert oder modifiziert werden.
  • 17 ist ein Blockschaltbild, welches eine beispielhafte Konfiguration veranschaulicht, welche mit der Speichereinrichtung 1300 der 2 verbunden ist.
  • Der interne Speicher 1335 kann Information, welche mit der Wartungsarbeit verbunden ist, speichern. Beispielsweise kann, wenn die Verwaltungsoperation wie unter Bezugnahme auf die 11 bis 15 beschrieben, zurückgestellt wird, der interne Speicher 1335 eine Liste von Verwaltungsoperationen verwalten, welche durchzuführen sind, nachdem die Initiierungsbedingung erfüllt ist. Der Controller 1330 kann sich auf die Information des internen Speichers 1335 beziehen, um die Wartungsarbeit durchzuführen.
  • In einigen Fällen können die Wartungsarbeiten für zwei oder mehr Stati durchgeführt werden. Beispielsweise kann der Controller 1330 einen ersten Status und einen zweiten Status, welche mit den Speichervorrichtungen 1311, 1312, ..., 1319 verbunden sind, überwachen. Der zweite Status kann unterschiedlich von dem ersten Status sein.
  • Wenn der erste Status eine Wartungsbedingung erfüllt, kann eine erste Wartungsarbeit, welche mit dem ersten Status verbunden ist, durchgeführt werden. Zusätzlich kann, wenn der zweite Status eine zweite Wartungsbedingung erfüllt, eine zweite Wartungsarbeit, welche mit dem zweiten Status verbunden ist, durchgeführt werden. Unter der Steuerung des Controllers 1330 kann der interne Speicher 1335 eine Liste der ersten Wartungsarbeit und der zweiten Wartungsarbeit verwalten, um zu verwalten, dass die erste Wartungsarbeit und die zweite Wartungsarbeit durchzuführen sind.
  • Wenn sowohl die erste Wartungsbedingung als auch die zweite Wartungsbedingung erfüllt sind, kann der Controller 1330 eine Performancereihenfolge der ersten Wartungsarbeit und der zweiten Wartungsarbeit zeitlich einplanen und kann Prioritäten basierend auf der zeitlich eingeplanten Performancereihenfolge in dem internen Speicher 1335 verwalten. Der Controller 1330 kann sich auf die Liste des internen Speichers 1335 derart beziehen, dass die erste Wartungsarbeit und die zweite Wartungsarbeit basierend auf der zeitlich eingeplanten Performancereihenfolge durchgeführt werden.
  • In einigen Fällen kann eine erste Initiierungsbedingung zum Initiieren der ersten Wartungsarbeit unterschiedlich zu einer zweiten Initiierungsbedingung zum Initiieren der zweiten Wartungsarbeit sein. Der Controller 1330 kann die Initiierungsbedingungen zum Initiieren jeweiliger Wartungsarbeiten in dem internen Speicher 1335 verwalten. Der Controller 1330 kann sich auf die Liste des internen Speichers 1335 derart beziehen, dass die erste Wartungsarbeit und die zweite Wartungsarbeit basierend auf den jeweiligen Initiierungsbedingungen durchgeführt werden.
  • Die obigen Beispiele sind vorgesehen, um ein besseres Verständnis zu erleichtern und sind nicht beabsichtigt, die vorliegende Erfindung zu begrenzen. Die Information, welche in dem internen Speicher 1335 verwaltet wird, kann verschiedentlich geändert oder modifiziert werden.
  • 18 ist ein Blockschaltbild, welches eine beispielhafte Konfiguration eines elektronischen Systems 2000 veranschaulicht, welches Speichereinrichtungen 2301, 2302, 2303 und 2304 gemäß einigen beispielhaften Ausführungsformen aufweist.
  • Das elektronische System 2000 kann einen Host 2100 und die Mehrzahl von Speichereinrichtungen 2301, 2302, 2303 und 2304 aufweisen. Beispielsweise kann das elektronische System 2000 eine elektronische Großvorrichtung sein, wie beispielsweise eine Workstation oder ein Server, oder kann eine elektronische Vorrichtung sein, welche eine große Speicherkapazität vorsieht.
  • Der Host 2100 kann dem Host 1100, welcher unter Bezugnahme auf die 2 bis 15 beschrieben ist, entsprechen. Jede der Speichereinrichtungen 2301, 2302, 2303 und 2304 kann der Speichereinrichtung 1300 entsprechen, welche unter Bezugnahme auf die 2 bis 15 beschrieben ist, und kann mit dem Host 2100 durch einen Bus verbunden sein. Die Speichereinrichtungen 2301, 2302, 2303 und 2304 können jeweils Speichervorrichtungen 2311, 2312, 2313 und 2314 und Controller 2331, 2332, 2333 und 2334 aufweisen. 18 veranschaulicht vier Speichereinrichtungen 2301, 2302, 2303 und 2304. Es kann aber leicht verstanden werden, dass die Anzahl von Speichereinrichtungen, welche in dem elektronischen System 2000 enthalten sind, verschiedentlich geändert oder modifiziert werden kann.
  • Wenigstens eine der Speichereinrichtungen 2301, 2302, 2303 und 2304 kann konfiguriert sein und arbeiten, um im Wesentlichen identisch oder ähnlich zu der Speichereinrichtung 1300 zu sein und kann die Wartungsarbeit aktiv ohne Intervention des Host 2100 initiieren und durchführen. Konfigurationen und Operationen der Speichereinrichtungen 2301, 2302, 2303 und 2304 können wie unter Bezugnahme auf die 2 bis 17 beschrieben vorgesehen sein, und demnach wird eine redundante Beschreibung untenstehend zur Kürze ausgelassen werden.
  • Indes kann, wenn die Mehrzahl von Speichereinrichtungen 2301, 2302, 2303 und 2304 vorgesehen ist, die Wartungsarbeit unter den Speichereinrichtungen 2301, 2302, 2303 und 2304 durchgeführt werden. Die Speichereinrichtungen 2301, 2302, 2303 und 2304 können miteinander kommunizieren, um die Wartungsarbeit durchzuführen. Dies wird unter Bezugnahme auf die 19 und 20 beschrieben werden.
  • Der Host 2100 kann einen Umstand geeignet für die Wartungsarbeit vorsehen. Der Host 2100 kann jedoch nicht in die Wartungsarbeit intervenieren mit Ausnahme zum Vorsehen des geeigneten Umstandes. Beispielsweise kann der Host 2100 nicht in die Wartungsarbeit intervenieren, bis die Wartungsarbeit vollendet ist, nachdem der geeignete Umstand vorgesehen ist.
  • 19 ist ein Konzeptdiagramm zum Beschreiben einer beispielhaften Operation beziehungsweise eines beispielhaften Betriebs der Speichereinrichtungen 2301, 2302, 2303 und 2304 der 18.
  • Beispielsweise kann eine Speichereinrichtung 2301 unter den Speichereinrichtungen 2301, 2302, 2303 und 2304 konfiguriert sein und arbeiten, um im Wesentlichen identisch oder ähnlich zu der Speichereinrichtung 1300 zu sein. Die Speichereinrichtung 2301 kann als eine Mastereinrichtung derart agieren, dass die Wartungsarbeit unter den Speichereinrichtungen 2301, 2302, 2303 und 2304 ohne Intervention des Host 2100 durchgeführt wird. Die Speichereinrichtung 2301 kann sich um die Gesamtwartungsarbeit kümmern. Die vorliegende Erfindung ist jedoch nicht darauf beschränkt und die Anzahl von Speichereinrichtungen, welche als eine Mastereinrichtung agieren, kann verschiedentlich geändert oder modifiziert werden.
  • Die Speichereinrichtung 2301 kann einen Status, welcher mit den Speichervorrichtungen 2311, 2312, 2313 und 2314 der Speichereinrichtungen 2301, 2302, 2303 und 2304 verbunden ist, ohne Intervention des Host 2100 überwachen (Operation [1]). Zu diesem Zweck kann die Speichereinrichtung 2301 direkt auf die Speichereinrichtungen 2302, 2303 und 2304 zugreifen oder kann Statusinformation von den Speichereinrichtungen 2302, 2303 und 2304 empfangen.
  • Es wird angenommen, dass ein Status, welcher mit der Speichervorrichtung 2313 der Speichereinrichtung 2303 verbunden ist, die Wartungsbedingung erfüllt. Beispielsweise können, wenn die Speichereinrichtung 2303 verschlechtert wird, Daten, welche in der Speichervorrichtung 2313 gespeichert sind, unzuverlässig werden. Die Speichereinrichtung 2301 kann die Wartungsbedingung bestimmen (Operation [2]) und kann die Benachrichtigung NTF zu dem Host 2100 basierend auf der Bestimmung ausgeben (Operation [3]).
  • Der Host 2100 kann einen Umstand geeignet für die Wartungsarbeit basierend auf der Benachrichtigung NTF vorsehen. In dem vorgesehenen Umstand kann die Speichereinrichtung 2301 die Speichereinrichtung 2303 derart steuern, dass die Wartungsarbeit durchgeführt wird (Operation [4]). In Antwort auf die Steuerung kann die Wartungsarbeit an einer, ausgewählten einen oder allen der Speichereinrichtungen 2301, 2302, 2303 und 2304 (Operation [5]) durchgeführt werden.
  • Beispielsweise kann, wenn die Speichereinrichtungen 2301, 2302, 2303 und 2304 miteinander kommunizieren, die Wartungsarbeit derart durchgeführt werden, dass Daten, welche in der Speichereinrichtung 2303 gespeichert sind, zu den Speichereinrichtungen 2301, 2302 und 2304 migrieren. Die Datenzuverlässigkeit kann garantiert sein, wenn die Wartungsarbeit durchgeführt wird.
  • Beispielsweise kann, wenn das elektronische System 2000 ein Server ist, nachdem die Wartungsarbeit vollendet ist, die Speichereinrichtung 2301 und/oder die Speichereinrichtung 2303 den Host 2100 oder eine Serververwalterperson benachrichtigen, dass ein Ersatz der Speichereinrichtung 2303 benötigt wird. Beispielsweise kann die Speichereinrichtung 2303 eine Ersetzungsbenachrichtigung durch ein Flackern einer Lampe, eine Ausgabe eines Alarmgeräusches etc. vorsehen.
  • 20 ist ein Konzeptdiagramm zum Beschreiben einer beispielhaften Operation der Speichereinrichtungen 2301, 2302, 2303 und 2304 der 18.
  • Beispielsweise können all die Speichereinrichtungen 2301, 2302, 2303 und 2304 konfiguriert sein und arbeiten, um im Wesentlichen identisch oder ähnlich zu der Speichereinrichtung 1300 zu sein. Jede der Speichereinrichtungen 2301, 2302, 2303 und 2304 kann als eine Mastereinrichtung derart agieren, dass die Wartungsarbeit unter den Speichereinrichtungen 2301, 2302, 2303 und 2304 ohne Intervention des Host 2100 durchgeführt wird.
  • Die Speichereinrichtungen 2301, 2302, 2303 und 2304 können einen Status, welcher mit den Speichervorrichtungen 2311, 2312, 2313 und 2314 der Speichereinrichtungen 2301, 2302, 2303 und 2304 verbunden sind, ohne Intervention des Host 2100 überwachen. Die Speichereinrichtungen 2301, 2302, 2303 und 2304 können wechselseitig Information über den überwachten Status gemeinsam verwenden beziehungsweise teilen und können die Wartungsarbeit aktiv basierend auf der geteilten Information durchführen.
  • Beispielsweise kann die Speichereinrichtung 2303 einen Status, welcher mit der Speichervorrichtung 2313 verbunden ist, ohne Intervention des Host 2100 überwachen (Operation [1]). Beispielsweise kann, wenn die Speichereinrichtung 2303 verschlechtert wird, der Status, welcher mit der Speichervorrichtung 2313 verbunden ist, die Wartungsbedingung erfüllen. Die Speichereinrichtung 2303 kann die Wartungsbedingung bestimmen (Operation [2]) und kann die Benachrichtigung NTF zu dem Host 2100 basierend auf der Bestimmung ausgeben (Operation [3]).
  • Der Host 2100 kann einen Umstand geeignet für die Wartungsarbeit basierend auf der Benachrichtigung NTF vorsehen. In dem vorgesehenen Umstand kann, wenn die Speichereinrichtung 2303 mit den Speichereinrichtungen 2301, 2302 und 2304 kommuniziert, die Wartungsarbeit unter den Speichereinrichtungen 2301, 2302, 2303 und 2304 durchgeführt werden (Operation [4]). Beispielsweise kann die Wartungsarbeit derart durchgeführt werden, dass Daten, welche in der Speichereinrichtung 2303 gespeichert sind, zu den Speichereinrichtungen 2301, 2302 und 2304 migrieren.
  • Die obigen Beschreibungen sind beabsichtigt, um beispielhafte Konfigurationen und Operationen vorzusehen. Die vorliegende Erfindung kann Implementierungen aufweisen, welche durch ein einfaches Ändern oder Modifizieren der obigen beispielhaften Ausführungsformen zusätzlich zu den oben beschriebenen beispielhaften Ausführungsformen erlangt werden können. Beispielsweise zeigen beispielhafte Ausführungsformen, welche hierin beschrieben sind, den Arbeitsspeicher 1200 und den Leistungsverwalter 1600 getrennt von der Speichereinrichtung 1300. Einer oder beide des Arbeitsspeichers 1200 und des Leistungsverwalters 1600 jedoch können dupliziert sein und/oder zu einem Teil der Speichereinrichtung 1300 gemacht sein (beispielsweise auf einem Substrat wie beispielsweise einer Leiterplatte der Speichereinrichtung 1300, auf welcher der Controller 1330 und Speichervorrichtungen 1310 ebenso gebildet sind, gebildet). Beispielsweise kann Speicher 1200, welcher als Teil der Speichereinrichtung 1300 gebildet sein kann, ein Cachespeicher für die Speichereinrichtung 1300 sein (beispielsweise ein flüchtiger Speicher wie beispielsweise DRAM oder SRAM, welcher schnellere Zugriffszeiten verglichen mit den nichtflüchtigen Speichervorrichtungen 1310 hat, um schnell empfangene Daten vor einem Speichern derselben in den nichtflüchtigen Speichervorrichtungen 1310 zu speichern). Als ein anderes Beispiel können andere Betriebsmodi der Speichereinrichtung 1300 implementiert sein, um einen Leistungsverbrauch zu verringern, in welchem Vorrichtungen beziehungsweise Einrichtungen nicht vollständig abgeschaltet sind, wie beispielsweise ein Verbringen von Speichervorrichtungen 1310 in einen Schlafmodus, in welchem die Speichervorrichtungen 1310 Leistung empfangen, aber bestimmte Abschnitte der Speichervorrichtungen 1310 abgeschaltet haben (wie beispielsweise eine DLL-Schaltung oder eine PLL-Schaltung der Speichervorrichtungen, welche arbeiten, um synchrone Kommunikationen mit dem Controller 1330 zu etablieren). Der Controller 1330 kann ähnlich konfiguriert sein, um in einem solchen Schlafmodus zu arbeiten. Ebenso kann die vorliegende Erfindung Implementierungen aufweisen, welche durch ein Ändern oder Modifizieren der oben beschriebenen beispielhaften Ausführungsformen mit Vorrichtungen beziehungsweise Einrichtungen und Komponenten, welche später entwickelt werden, erreicht werden können.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • KR 1020180090894 [0001]

Claims (20)

  1. Festkörperspeichereinrichtung (1300, 2301-2304) die Folgendes aufweist: eine Schnittstelle (1351), um eine Kommunikation mit einem Host (1100, 2100) vorzusehen; eine Mehrzahl von nichtflüchtigen Halbleiterspeichervorrichtungen (1311-1319, 2311-2314); und einen Controller (1330, 2331-2334), der konfiguriert ist, um in Kommunikation mit den nichtflüchtigen Speichervorrichtungen (1311, 1312-1319, 2311-2314) zu sein, um auf die nichtflüchtigen Speichervorrichtungen (1311, 1312-1319, 2311-2314) zuzugreifen, und konfiguriert, um in Kommunikation mit der Schnittstelle (1351) zu sein, um Befehle von dem Host (1100, 2100) zu empfangen und um Daten mit dem Host (1100, 2100) zu kommunizieren, wobei die Festkörperspeichereinrichtung (1300, 2301-2304) in einem normalen Modus betreibbar ist, in welchem die Mehrzahl von nichtflüchtigen Speichervorrichtungen (1311-1319, 2311-2314) angeschaltet sind und Leistung empfangen und der Controller (1330, 2331-2334) bei einem normalen Leistungsverbrauchsniveau arbeitet, wobei die Festkörperspeichereinrichtung (1300, 2301-2304) in einem Leistungseinsparmodus betreibbar ist, in welchem die Mehrzahl von nichtflüchtigen Speichervorrichtungen (1311-1319, 2311-2314) abgeschaltet sind, und in welchem der Controller (1330, 2331-2334) bei einem verringerten Leistungsverbrauchsniveau arbeitet, der geringer als das normale Leistungsverbrauchsniveau ist, wobei der Controller (1330, 2331-2334) einen Timer (1332) aufweist, wobei der Timer (1332) konfiguriert ist, um bei einem Eintritt des Controllers (1330, 2331-2334) in den Leistungseinsparmodus initiiert zu werden und konfiguriert ist, um das Verstreichen einer Referenzzeit zu bestimmen, wobei der Controller (1330, 2331-2334) konfiguriert ist, um in Antwort darauf, dass der Timer (1332) ein Verstreichen der Referenzzeit bestimmt, die Speichereinrichtung (1300, 2301-2304) zu veranlassen, eine Benachrichtigung zu dem Host (1100, 2100) zu senden, um den Host (1100, 2100) zu veranlassen, ein Austreten aus dem Leistungseinsparmodus der Festkörperspeichereinrichtung (1300, 2301-2304) zu initiieren.
  2. Festkörperspeichereinrichtung (1300, 2301-2304) nach Anspruch 1, wobei der Controller (1330, 2331-2334) konfiguriert ist, um eine Wartungsarbeit auf der Mehrzahl von nichtflüchtigen Speichervorrichtungen (1311-1319, 2311-2314) bei dem Austreten aus dem Leistungseinsparmodus in Antwort darauf durchzuführen, dass der Timer (1332) das Verstreichen der Referenzzeit bestimmt.
  3. Festkörperspeichereinrichtung (1300, 2301-2304) nach Anspruch 2, wobei bei einem Austritt der Festkörperspeichereinrichtung (1300, 2301-2304) aus dem Leistungseinsparmodus der Controller (1330, 2331-2334) konfiguriert ist, um eine Leseregenerieroperation automatisch ohne Instruktionen von dem Host (1100, 2100) durchzuführen.
  4. Festkörperspeichereinrichtung (1300, 2301-2304) nach Anspruch 2, wobei die Benachrichtigung ein WAKE#-Befehl gemäß einem Peripheral-Component-Interconnect-Express(PCIe)-Protokoll ist.
  5. Festkörperspeichereinrichtung (1300, 2301-2304) nach Anspruch 1, wobei der Controller (1330, 2331-2334) konfiguriert ist, um ein Attribut von Speicherbereichen der Mehrzahl von nichtflüchtigen Speichervorrichtungen (1311-1319, 2311-2314) zu überwachen, wobei der Controller (1330,2331-2334) konfiguriert ist, um in Antwort darauf, dass sowohl der Timer (1332) das Verstreichen der Referenzzeit bestimmt und dass auch bestimmt wird, dass eine Initiierungsbedingung erfüllt ist, die Speichereinrichtung (1300, 2301-2304) zu veranlassen, die Benachrichtigung zu dem Host (1100, 2100) zu senden, wobei der Controller (1330, 2331-2334) konfiguriert ist, um durch ein Vergleichen der überwachten Attribute mit einem Grenzwert zu bestimmen, dass die Initiierungsbedingung erfüllt ist.
  6. Festkörperspeichereinrichtung (1300, 2301-2304), die Folgendes aufweist: eine Schnittstelle (1351), um eine Kommunikation mit einer externen Vorrichtung vorzusehen, und um eine Hauptleistung und eine Hilfsleistung von einer externen Vorrichtung zu empfangen; eine Mehrzahl von nichtflüchtigen Halbleiterspeichervorrichtungen (1311-1319, 2311-2314); und einen Controller (1330, 2331-2334), welcher operativ mit den nichtflüchtigen Speichervorrichtungen (1311-1319, 2311-2314) und der Schnittstelle (1351) verbunden ist, wobei der Controller (1330, 2331-2334) in einem normalen Modus, in welchem die Festkörperspeichereinrichtung (1300, 2301-2304) Hauptleistung von der externen Vorrichtung empfängt, konfiguriert ist, um auf die nichtflüchtigen Speichervorrichtungen (1311-1319, 2311-2314) zuzugreifen, um auf Befehle, welche von der externen Vorrichtung empfangen werden, zu antworten, und um Daten zwischen der externen Vorrichtung und der Mehrzahl von nichtflüchtigen Speichervorrichtungen (1311-1319, 2311-2314) zu übertragen, wobei der Controller (1330, 2331-2334) konfiguriert ist, um auf einen Leistungseinsparbefehl, welcher extern über die Schnittstelle (1351) empfangen wird, zu antworten, um die Festkörperspeichereinrichtung (1300, 2301-2304) in einen Leistungseinsparmodus zu versetzen, in welchem die Festkörperspeichereinrichtung (1300, 2301-2304) unter Verwendung von Hilfsleistung arbeitet, wobei der Controller (1330, 2331-2334) einen Timer (1332) aufweist, wobei der Timer (1332) konfiguriert ist, um, bei einem Eintritt des Controllers (1330, 2331-2334) in den Leistungseinsparmodus initiiert zu werden, und konfiguriert ist, um während des Leistungseinsparmodus zu arbeiten und um ein erstes Signal bei einem Ablauf einer Referenzzeit nach der Initiierung des Timers (1332) auszugeben, und wobei der Controller (1330, 2331-2334) konfiguriert ist, um in Antwort auf das erste Signal des Timers (1332) eine Leseregenerieroperation auf einer oder mehreren der Mehrzahl von nichtflüchtigen Speichervorrichtungen (1311-1319, 2311-2314) zu initiieren.
  7. Festkörperspeichereinrichtung (1300, 2301-2304) nach Anspruch 6, wobei der Controller (1330, 2331-2334) konfiguriert ist, um eine Aufwachanforderung zu der externen Vorrichtung in Antwort auf das erste Signal des Timers (1332) zu senden, wobei die Aufwachanforderung wirksam ist, um einen Empfang einer Aufwachkommunikation von der externen Vorrichtung zu veranlassen.
  8. Festkörperspeichereinrichtung (1300, 2301-2304) nach Anspruch 7, wobei die Aufwachanforderung ein WAKE#-Befehl gemäß einem Peripheral-Component-Interconnect-Express(PCIe)-Protokoll ist.
  9. Festkörperspeichereinrichtung (1300, 2301-2304) nach Anspruch 6, wobei während des Leistungseinsparmodus der Festkörperspeichereinrichtung (1300, 2301-2304) die Mehrzahl von nichtflüchtigen Speichervorrichtungen (1311-1319, 2311-2314) abgeschaltet sind und der Controller (1330, 2331-2334) konfiguriert ist, um mit einem verringerten Leistungsniveau zu arbeiten.
  10. Festkörperspeichereinrichtung (1300, 2301-2304) nach Anspruch 6, wobei die Festkörperspeichereinrichtung (1300, 2301-2304) konfiguriert ist, um aus dem Leistungseinsparmodus in Antwort auf ein Empfangen einer Hauptleistung während des Leistungseinsparmodus auszutreten.
  11. Festkörperspeichereinrichtung (1300, 2301-2304) nach Anspruch 6, wobei der Controller (1330, 2331-2334) konfiguriert ist, um in Antwort auf das erste Signal des Timers (1332) und die Vollendung der Leseregenerieroperation die Festkörperspeichereinrichtung (1300, 2301-2304) zurück in den Leistungseinsparmodus zu verbringen.
  12. Festkörperspeichereinrichtung (1300, 2301-2304) nach Anspruch 6, wobei der Controller (1330, 2331-2334) konfiguriert ist, um die Referenzzeit als eine Funktion eines Zuverlässigkeitsstatus, welcher durch den Controller (1330, 2331-2334) bestimmt wird, zu bestimmen.
  13. Festkörperspeichereinrichtung (1300, 2301-2304) nach Anspruch 6, ferner aufweisend einen Sensor (1334), wobei der Sensor (1334) wenigstens eines der Folgenden aufweist: einen Temperatursensor, um eine Temperatur innerhalb der Festkörperspeichereinrichtung (1300, 2301-2304) zu erfassen, einen Spannungssensor, welcher konfiguriert ist, um eine Spannung, welche für wenigstens eine der Mehrzahl von nichtflüchtigen Speichervorrichtungen (1311-1319, 2311-2314) vorgesehen ist, zu überwachen, einen Stromsensor, welcher konfiguriert ist, um einen Strom, welcher für wenigstens eine der Mehrzahl von nichtflüchtigen Speichervorrichtungen (1311-1319, 2311-2314) vorgesehen ist, zu überwachen, einen Lichtsensor, welcher konfiguriert ist, um Licht extern zu der Festkörperspeichereinrichtung (1300, 2301-2304) zu überwachen, einen Visionssensor, um ein Auge eines Nutzers zu erfassen, und einen Kreisel, um eine Orientierung der Festkörperspeichereinrichtung (1300, 2301-2304) zu erfassen.
  14. Festkörperspeichereinrichtung (1300, 2301-2304) nach Anspruch 13, wobei der Controller (1330, 2331-2334) konfiguriert ist, um in Antwort auf sowohl den Ablauf der Referenzzeit als auch auf ein Bestimmen, dass eine Initiierungsbedingung erfüllt ist, die Speichereinrichtung (1300, 2301-2304) zu veranlassen, eine Aufwachanforderung zu der externen Vorrichtung zu senden, wobei der Controller (1330, 2331-2334) konfiguriert ist, um in Antwort auf den Sensor zu bestimmen, dass die Initiierungsbedingung erfüllt ist.
  15. Elektronisches System (1000, 2000), das Folgendes aufweist: einen Host (1100, 2100); einen Leistungsverwalter (1600), um selektiv Hauptleistung und Hilfsleistung vorzusehen; und eine Festkörperspeichereinrichtung (1300, 2301-2304), die Folgendes aufweist: eine Schnittstelle (1351), welche operativ mit dem Host (1100, 2100) verbunden ist, um Signalkommunikationen zwischen dem Host (1100, 2100) und der Festkörperspeichereinrichtung (1300, 2301-2304) vorzusehen, und mit dem Leistungsverwalter (1600) verbunden ist, um die Hauptleistung und Hilfsleistung, welche durch den Leistungsverwalter (1600) vorgesehen sind, zu empfangen; eine Mehrzahl von nichtflüchtigen Halbleiterspeichervorrichtungen (1311-1319, 2311-2314); und einen Controller (1330, 2331-2334), welcher operativ mit den nichtflüchtigen Speichervorrichtungen (1311-1319, 2311-2314) und der Schnittstelle (1351) verbunden ist, wobei die Festkörperspeichereinrichtung (1300, 2301-2304) konfiguriert ist, um in einem normalen Betriebsmodus und in einem Leistungseinsparbetriebsmodus zu arbeiten, wobei in dem normalen Betriebsmodus der Festkörperspeichereinrichtung (1300, 2301-2304) der Leistungsverwalter (1600) die Hauptleistung für die Festkörperspeichereinrichtung (1300, 2301-2304) vorsieht, und der Controller (1330, 2331-2334) konfiguriert ist, um auf die nichtflüchtigen Speichervorrichtungen (1311-1319, 2311-2314) zuzugreifen, um auf Befehle zu antworten, welche von dem Host (1100, 2100) empfangen werden, und um Daten zwischen dem Host (1100, 2100) und der Mehrzahl von nichtflüchtigen Speichervorrichtungen (1311-1319, 2311-2314) zu übertragen, wobei in dem Leistungseinsparbetriebsmodus der Festkörperspeichereinrichtung (1300, 2301-2304) der Leistungsverwalter (1600) die Hilfsleistung für die Festkörperspeichereinrichtung (1300, 2301-2304) vorsieht, um nur einen Abschnitt der Festkörperspeichereinrichtung (1300, 2301-2304) zu betreiben, und die Mehrzahl von Halbleiterspeichervorrichtungen (1311-1319, 2311-2314) keine Leistung empfängt, und wobei in dem Leistungseinsparbetriebsmodus der Festkörperspeichereinrichtung (1300, 2301-2304) der Controller (1330, 2331-2334) konfiguriert ist, um eine Benachrichtigung zu dem Host (1100, 2100) zu senden, um den Host (1100, 2100) zu veranlassen, einen Austritt aus dem Leistungseinsparmodus der Festkörperspeichereinrichtung (1300, 2301-2304) zu initiieren.
  16. Elektronisches System (1000, 2000) nach Anspruch 15, wobei das Festkörperlaufwerk einen Timer (1332) aufweist, wobei der Timer (1332) konfiguriert ist, um, bei einem Eintritt des Controllers (1330, 2331-2334) in den Leistungseinsparmodus initiiert zu werden, konfiguriert ist, um während des Leistungseinsparmodus zu arbeiten, und konfiguriert ist, um ein erstes Signal bei einem Ablauf einer Referenzzeit nach der Initiierung des Timers (1332) auszugeben, und wobei der Controller (1330, 2331-2334) konfiguriert ist, um in Antwort auf das erste Signal des Timers (1332) eine Leseregenerieroperation auf einer oder mehreren der Mehrzahl von nichtflüchtigen Speichervorrichtungen (1311-1319, 2311-2314) zu initiieren.
  17. Elektronisches System (1000, 2000) nach Anspruch 16, wobei der Controller (1330, 2331-2334) konfiguriert ist, um eine Aufwachanforderung zu der externen Vorrichtung in Antwort auf das erste Signal des Timers (1332) zu senden, wobei die Aufwachanforderung wirksam ist, um einen Empfang einer Aufwachkommunikation von der externen Vorrichtung zu veranlassen.
  18. Elektronisches System (1000, 2000) nach Anspruch 17, wobei die Aufwachanforderung ein WAKE#-Befehl gemäß dem Peripheral Component Interconnect Express (PCIe)-Protokoll ist.
  19. Elektronisches System (1000, 2000) nach Anspruch 16, wobei der Controller (1330, 2331-2334) konfiguriert ist, um eine Aufwachanforderung zu der externen Vorrichtung in Antwort auf das erste Signal des Timers (1332) zu senden, und um ein Austreten aus dem Leistungseinsparmodus der Festkörperspeichereinrichtung (1300, 2301-2304) in Antwort auf das erste Signal des Timers (1332) zu initiieren.
  20. Elektronisches System (1000, 2000) nach Anspruch 16, wobei der Controller (1330, 2331-2334) konfiguriert ist, um in Antwort auf das erste Signal des Timers (1332) eine Leseregenerieroperation von Daten, welche in einem ausgewählten Untersatz von Speicher der Mehrzahl von nichtflüchtigen Speichervorrichtungen (1311-1319, 2311-2314) gespeichert sind, zu initiieren.
DE102019118631.5A 2018-08-03 2019-07-10 Speichervorrichtung, welche eine Wartungsarbeit unabhängig ohne Befehl des Host initiiert, und elektronisches System mit derselben Pending DE102019118631A1 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR1020180090894A KR102546255B1 (ko) 2018-08-03 2018-08-03 호스트의 지시 없이 능동적으로 유지보수 동작을 개시하는 스토리지 장치 및 그것을 포함하는 전자 시스템
KR10-2018-0090894 2018-08-03
US16/447,995 US11175835B2 (en) 2018-08-03 2019-06-21 Storage device initiating maintenance operation actively without instruction of host and electronic system including the same
US16/447,995 2019-06-21

Publications (1)

Publication Number Publication Date
DE102019118631A1 true DE102019118631A1 (de) 2020-02-06

Family

ID=69168566

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102019118631.5A Pending DE102019118631A1 (de) 2018-08-03 2019-07-10 Speichervorrichtung, welche eine Wartungsarbeit unabhängig ohne Befehl des Host initiiert, und elektronisches System mit derselben

Country Status (2)

Country Link
US (1) US11733883B2 (de)
DE (1) DE102019118631A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116166194A (zh) * 2023-01-16 2023-05-26 广州辰创科技发展有限公司 一种装备保障维修维护管理方法及系统

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113448906B (zh) * 2021-06-30 2023-03-31 苏州浪潮智能科技有限公司 一种pcie接口扩展供电结构及供电方法
CN116909495B (zh) * 2023-09-14 2023-12-15 合肥康芯威存储技术有限公司 一种存储装置及其控制方法

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4580621B2 (ja) 2003-03-17 2010-11-17 ソニー株式会社 半導体メモリ
US8607016B2 (en) * 2004-07-21 2013-12-10 Sandisk Technologies Inc. FAT analysis for optimized sequential cluster management
US9720616B2 (en) 2008-06-18 2017-08-01 Super Talent Technology, Corp. Data-retention controller/driver for stand-alone or hosted card reader, solid-state-drive (SSD), or super-enhanced-endurance SSD (SEED)
JP5716473B2 (ja) 2011-03-18 2015-05-13 株式会社リコー 画像処理装置
US9652376B2 (en) * 2013-01-28 2017-05-16 Radian Memory Systems, Inc. Cooperative flash memory control
US9304577B2 (en) 2013-06-05 2016-04-05 Avago Technologies General Ip (Singapore) Pte. Ltd. Reducing power consumption and wakeup latency in SSD controllers by not resetting flash devices
JP2015064860A (ja) 2013-08-27 2015-04-09 キヤノン株式会社 画像形成装置およびその制御方法、並びにプログラム
US9535614B2 (en) 2013-11-21 2017-01-03 Sandisk Technologies Llc Temperature based flash memory system maintenance
US8843700B1 (en) 2013-11-29 2014-09-23 NXGN Data, Inc. Power efficient method for cold storage data retention management
JP6018113B2 (ja) 2014-04-15 2016-11-02 レノボ・シンガポール・プライベート・リミテッド 不揮発性メモリのデータ消失を防止する方法、コンピュータおよびホスト装置。
DE102014211111A1 (de) 2014-06-11 2015-12-17 Robert Bosch Gmbh Refresh eines Speicherbereichs einer nichtflüchtigen Speichereinheit
US9753661B2 (en) 2014-08-06 2017-09-05 Ngd Systems, Inc. Power efficient method and system for executing host data processing tasks during data retention operations in a storage device
US9542118B1 (en) * 2014-09-09 2017-01-10 Radian Memory Systems, Inc. Expositive flash memory control
US20160155491A1 (en) 2014-11-27 2016-06-02 Advanced Micro Devices, Inc. Memory persistence management control
KR102297541B1 (ko) 2014-12-18 2021-09-06 삼성전자주식회사 메모리 영역의 신뢰성에 기초하여 데이터를 저장하는 저장 장치 및 스토리지 시스템
US9568971B2 (en) 2015-02-05 2017-02-14 Apple Inc. Solid state drive with self-refresh power saving mode
CN106339343B (zh) * 2015-07-10 2021-03-26 爱思开海力士有限公司 快速外设组件互联卡
US10552058B1 (en) * 2015-07-17 2020-02-04 Radian Memory Systems, Inc. Techniques for delegating data processing to a cooperative memory controller
US10120613B2 (en) * 2015-10-30 2018-11-06 Sandisk Technologies Llc System and method for rescheduling host and maintenance operations in a non-volatile memory
JP2017097638A (ja) 2015-11-25 2017-06-01 キヤノン株式会社 PCIeデバイス及びそれを有する情報処理装置の制御方法
US10409719B2 (en) 2016-03-17 2019-09-10 Samsung Electronics Co., Ltd. User configurable passive background operation
KR20180040769A (ko) 2016-10-12 2018-04-23 삼성전자주식회사 저장 장치 및 그것의 동작 방법
US10545692B2 (en) * 2017-04-04 2020-01-28 Sandisk Technologies Llc Memory maintenance operations during refresh window
KR102244921B1 (ko) 2017-09-07 2021-04-27 삼성전자주식회사 저장 장치 및 그 리프레쉬 방법
US10635327B2 (en) * 2018-01-31 2020-04-28 Western Digital Technologies, Inc. Data availability during memory inaccessibility

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116166194A (zh) * 2023-01-16 2023-05-26 广州辰创科技发展有限公司 一种装备保障维修维护管理方法及系统
CN116166194B (zh) * 2023-01-16 2023-11-03 广州辰创科技发展有限公司 一种装备保障维修维护管理方法及系统

Also Published As

Publication number Publication date
US20220043587A1 (en) 2022-02-10
US11733883B2 (en) 2023-08-22

Similar Documents

Publication Publication Date Title
DE112015006117B4 (de) Halbleiterlaufwerk mit selbstaktualisierungsenergiesparmodus
DE102015014851B4 (de) Ressourcenzuteilung und -freigabe für die Energieverwaltung in Vorrichtungen
US20200042207A1 (en) Storage device initiating maintenance operation actively without instruction of host and electronic system including the same
DE69631106T2 (de) On-line-Rekonfiguration einer Speicherplattenanordnung
DE112018000180T5 (de) System und verfahren zum adaptiven senden frühzeitiger beendigung unter verwendung eines steuerungsspeicherpuffers
DE102019118631A1 (de) Speichervorrichtung, welche eine Wartungsarbeit unabhängig ohne Befehl des Host initiiert, und elektronisches System mit derselben
DE102006048856B4 (de) Verfahren zum Betreiben einer IC-Halbleiterspeichervorrichtung und IC-Halbleiterspeichervorrichtung
DE112018000834T5 (de) System und verfahren zur adaptiven befehlsabruf-aggregation
DE102018128601A1 (de) Hintergrunddatenauffrischung unter Verwendung eines Systemzeitstempels in Speicherungseinrichtungen
DE112019005369T5 (de) Verfahren zum umschalten zwischen herkömmlicher ssd und open-channel-ssd ohne datenverlust
DE102018214010A1 (de) Verfahren und Vorrichtung zur Reduzierung von unbemerkten Datenfehlern in nichtflüchtigen Speichersystemen
DE102020132764A1 (de) Solid-state-drive mit externer softwareausführung zum bewirken von internen operationen des solid-state-drive
DE112016005858T5 (de) Techniken zum Ausschalten von Ausgangsstromschienen für eine Speicherungsvorrichtung
DE102020116316A1 (de) Prioritätsbasierte batterie-zuordnung für ressourcen während leistungsausfall
DE112016003998T5 (de) Technologien für das management eines reservierten hochleistungsspeicherbereichs eines solid-state-laufwerks
DE112020004958T5 (de) Dynamische zonenaktivgrenze für offenen zns
DE102011075814A1 (de) Speicherpuffer mit zugänglicher Information nach einem Schreibfehler
DE112019000162T5 (de) Verfahren zum Maximieren von Stromeffizienz in einem Block einer Speicher-Schnittstelle
DE112020005044T5 (de) Zonenanhang-befehlsplanung basierend auf zonenzustand
DE102019112751A1 (de) Selektives hintergrund-datenauffrischen für ssd
DE102021117226A1 (de) Konfigurierbarer reduzierter speicherstart
DE102018204931A1 (de) Dauerhaftes Caching eines arbeitsspeicherseitigen Cache-Inhalts
DE102022119340A1 (de) Auslösen einer auffrischung für einen nichtflüchtigen speicher
DE102022102434A1 (de) Flüchtiges Register zum Erkennen eines Stromverlusts
DE102021120076A1 (de) Validierung von dram-inhalten unter verwendung einer internendatensignatur

Legal Events

Date Code Title Description
R012 Request for examination validly filed