DE102018123311A1 - Hintergrund-Firmware-Aktualisierung - Google Patents

Hintergrund-Firmware-Aktualisierung Download PDF

Info

Publication number
DE102018123311A1
DE102018123311A1 DE102018123311.6A DE102018123311A DE102018123311A1 DE 102018123311 A1 DE102018123311 A1 DE 102018123311A1 DE 102018123311 A DE102018123311 A DE 102018123311A DE 102018123311 A1 DE102018123311 A1 DE 102018123311A1
Authority
DE
Germany
Prior art keywords
nonvolatile memory
firmware update
memory
firmware
booting
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
DE102018123311.6A
Other languages
English (en)
Inventor
Cory Lappi
William Jared WALKER
Xin Chen
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.)
Western Digital Technologies Inc
Original Assignee
Western Digital Technologies Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US16/134,910 external-priority patent/US20190087174A1/en
Application filed by Western Digital Technologies Inc filed Critical Western Digital Technologies Inc
Publication of DE102018123311A1 publication Critical patent/DE102018123311A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/654Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7211Wear leveling

Abstract

Die vorliegende Offenbarung bezieht sich allgemein auf das Zwischenspeichern eines neuen Firmware-Downloads an einerverschleißnivellierten Lokation, die mehr als nur einige hundert Downloads aufnehmen kann.

Description

  • QUERVERWEIS AUF VERWANDTE ANMELDUNGEN
  • Die vorliegende Anmeldung beansprucht die Priorität der vorläufigen US Patentanmeldung 62/561,611 , eingereicht am 21. September 2017, die hierin durch Bezugnahme vollumfänglich mit aufgenommen ist.
  • HINTERGRUND DER OFFENBARUNG
  • Gebiet der Offenbarung
  • Ausführungsformen der vorliegenden Offenbarung beziehen sich allgemein auf eine Speichervorrichtung und ein Verfahren zum Betreiben der Speichervorrichtung. Insbesondere stellen Ausführungsformen der vorliegenden Offenbarung Verfahren und Vorrichtungen zum Durchführen von Hintergrund-Firmware-Aktualisierungen bereit.
  • Beschreibung des Standes der Technik
  • Firmware wird mit einem Computergerät bereitgestellt, um es dem Gerät zu ermöglichen, gewünschte Funktionen auszuführen. Das Computergerät kann, wenn es altert, erfordern, Aufgaben auszuführen, die sich von den ursprünglich beabsichtigten unterscheiden, oder es kann sein, dass die ursprüngliche Firmware nicht frei von Fehlern geschrieben worden ist. Da immereine dieser Situationen auftreten kann, muss die Firmware von Zeit zu Zeit aktualisiert werden. Firmware-Aktualisierungen auf Speichervorrichtungen können anspruchsvoll sein, da äußerste Sorgfalt nicht nur beim Schreiben der Firmware, sondern auch bei der korrekten Implementierung der Firmware für Vorrichtungen, die weltweit arbeiten können, walten gelassen werden muss.
  • Wenn Aktualisierungen der Firmware auf die Vorrichtung heruntergeladen werden, sind die Downloads in der Regel entweder leistungssicher mit einer langen Ansprechzeit oder schnell und nicht leistungssicher. Leistungssicher ist zu verstehen als sicher im Falle eines Leistungsverlusts, wobei die Vorrichtung nicht durch möglicherweise korrumpierte Firmware gefährdet wird, was die Vorrichtung unbrauchbar macht. Mehr Daten und Programmcode werden verwendet, um die Speichervorrichtungen (z. B. SSD-Vorrichtungen) zu betreiben, aber über mehr Daten und Programmc zu verfügen, wird typischerweise mehr Download-Zeit benötigt.
  • Bei anderen herkömmlichen Verfahren umfassten lleistungssichere Ansätze zum Laden von Firmware das Schreiben des Firmware-Pakets auf eine schnelle Form von nichtflüchtigen Medien (d. h. eine verschleißnivellierteSLC-Zellen(,SLC')--NICHT-UND-Verknüpfung). Ein Nachteil dieses Ansatzes ist jedoch, dass die Downloads in der Lebensdauer aufgrund einer geringen NAND-Haltbarkeit nur auf einige hundert Downloads begrenzt sind. Die Verwendung einer nicht verschleißnivellierten („SLC“) NAND-Lokation für die neue Firmware führt auch zu zusätzlicher Komplexität in der Firmware, um Lese-Störeffekten zu verwalten, was zu zusätzlichen Beeinträchigungen der NAND-Haltbarkeit an diesen Positionenund möglicher Offline-Firmware-Verschlechterung mit der Zeit führt. Die SLC-NAND-Lokationen sind auch teurer als MLC-Zellen oder TLC-Zellen.
  • Es besteht ein Bedarf an einem leistungssicheren Download, der in einem Speicher gespeichert werden kann, der mehr als einige hundert Downloads überstehen kann.
  • Es besteht ferner ein Bedarf an einer leistungssicheren Downloadkapazität, die sowohl für den Benutzer als auch für den Hersteller wirtschaftlich ist.
  • ZUSAMMENFASSUNG DER OFFENBARUNG
  • Die vorliegende Offenbarung bezieht sich allgemein auf das Zwischenspeichern eines neuen Firmware-Downloads an einer verschleißnivellierten Lokation, die mehr als einige hundert Downloads aufnehmen kann.
  • In einer nicht einschränkenden Ausführungsform der Erfindung, ein Verfahren zur Durchführung einer Hintergrund-Firmwareaktuahsierung, umfassend: Booten einer Vorrichtung mit einer Original-Firmware aus einem ersten nicht flüchtigen Speicher-Bootabschnitt, Herunterladen einer Firmwareaktualisierung während des Bootens der Vorrichtung aus dem nicht flüchtigen Speicher, Übertragen der Aktualisierung der Firmware aus dem nicht flüchtigen Speicher an den nicht flüchtigen Speicher-Bootabschnitt, so dass ein nachfolgendes Booten der Vorrichtung die aktualisierte Firmware verwendet, und Löschen der Original- Firmware aus dem nicht flüchtigen Speicher-Bootabschnitt.
  • In einer anderen nicht einschränkenden Ausführungsform ist eine Vorrichtung offenbart, die Mittel zum Booten einer Vorrichtung mit einer Original-Firmware aus einem ersten nichtflüchtigen Speicher-Bootabschnitt, Mittel zum Herunterladen einer Firmware-Aktualisierung während des Bootens der Vorrichtung aus dem nichtflüchtigen Speicher und Mittel zum Übertragen der Firmware-Aktualisierung aus dem nichtflüchtigen Speicher auf den nichtflüchtigen Speicher-Bootabschnitt umfasst, so dass ein späteres Booten der Vorrichtung die Firmware-Aktualisierung verwendet. In einer anderen nicht einschränkenden Ausführungsform der Erfindung ist ein Verfahren zur Durchführung einer Hintergrund-Firmwareaktualisierung für eine Festkörpervorrichtung offenbart, umfassend: Durchführung eines Einschaltvorgangsfür die Festkörpervorrichtung, Booten der Festkörpervorrichtung mit einer Original-Firmware von einem ersten nicht flüchtigen Speicher-Bootabschnitt, Prüfung nach einerFirmware-Aktualisierung in einem zweiten nicht flüchtigen Speicher, Herunterladen einer Firmware-Aktualisierung aus dem zweiten nicht flüchtigen Speicher durch eine Schnittstelle während des Bootens der Festkörpervorrichtung aus dem nicht flüchtigen Speicher, wenn die Prüfung auf Aktualisierung der Firmware das Vorliegen der Firmware-Aktualisierung angibt; Übertagen der Firmware-Aktualisierung aus dem zweiten nicht flüchtigen Speicher in den ersten nicht flüchtigen Speicher-Bootabschnitt, so dass ein späteres Booten der Vorrichtung die Firmware-Aktualisierung verwendet, und Löschen der Original-Firmware aus dem nicht flüchtigen Speicher-Bootabschnitt.
  • In einer anderen nicht einschränkenden Ausführungsform wird ein Gerät zum Durchführen einer Hintergrund-Firmware-Aktualisierung offenbart, die Folgendes umfasst: Mittel zum Durchführen eines Einschaltvorgangs für die Festkörpervorrichtung; Mittel zum Booten der Festkörpervorrichtung mit einer Original-Firmware von einem ersten nicht flüchtigen Speicher-Bootabschnitt, Mittel zum Prüfen auf eine Firmware-Aktualisierung aus einem zweiten nicht flüchtigen Speicher, Mittel zum Herunterladen einer Firmware-Aktualisierung von dem zweiten nicht flüchtigen Speicher über eine Schnittstelle, während des Bootens der Festkörpervorrichtung von dem nicht flüchtigen Speicher, wenn die Prüfung auf Aktualisierung der Firmware ein Vorliegen der Aktualisierung der Firmware anzeigt, Mittel zum Übertragen der Aktualisierung der Firmware aus dem zweiten nicht flüchtigen Speicher in den ersten nicht flüchtigen Speicher-Bootabschnitt, so dass ein späteres Booten der Vorrichtung die Aktualisierung der Firmware verwendet, und Mittel zum Löschen der Original-Firmware aus dem nicht flüchtigen Speicher-Bootabschnitt.
  • In einer anderen nicht einschränkenden Ausführungsform wird eine Vorrichtung offenbart, die Folgendes umfasst: einen ersten nichtflüchtigen Speicher, einen zweiten nichtflüchtigen Speicher, eine Schnittstelle, die konfiguriert ist, um Daten aus dem Gerät zu übertragen und zu empfangen, und eine Steuerung, die konfiguriert ist, um eine Firmwareaktualisierung durch die Schnittstelle auf den zweiten nichtflüchtigen Speicher herunterzuladen, wobei die Steuerung ferner konfiguriert ist, um die Firmware aus dem zweiten nichtflüchtigen Speicher in den ersten nichtflüchtigen Speicher in einer Hintergrundumgebung zu kopieren.
  • Figurenliste
  • Damit die oben genannten Merkmale der vorliegenden Offenbarung im Detail verstanden werden können, wird eine genauere Beschreibung der Offenbarung, die oben kurz zusammengefasst ist, unter Bezugnahme auf Ausführungsformen angegeben, von denen einige in den beigefügten Zeichnungen veranschaulicht sind. Es wird jedoch darauf hingewiesen, dass die beigefügten Zeichnungen nur typische Ausführungsformen dieser Offenbarung darstellen und daher ihren Umfang nicht einschränken sollen, da die Offenbarung andere gleich wirksame Ausführungsformen zulassen kann.
    • 1 ist eine schematische Darstellung einer Vorrichtung gemäß einer Ausführungsform.
    • 2 ist eine schematische Darstellung eines Verfahrens zum leistungssicheren Booten einer Speichervorrichtung unter Verwendung eines verschleißnivellierten Speichers gemäß einer Ausführungsform.
  • Um das Verständnis zu erleichtern, wurden, wo möglich, identische Bezugszeichen verwendet, um identische Elemente zu bezeichnen, die in allen Figuren vorkommen. Es ist vorgesehen, dass die Elemente in einer Ausführungsform vorteilhaft in anderen Ausführungsformen ohne spezielle Angabe verwendet werden können.
  • DETAILLIERTE BESCHREIBUNG
  • Im Folgenden wird auf Ausführungsformen der Offenbarung Bezug genommen. Es versteht sich jedoch, dass die Offenbarung nicht auf speziell beschriebene Ausführungsformen beschränkt ist. Vielmehr wird davon ausgegangen, dass jede beliebige Kombination der folgenden Merkmale und Elemente, gleich ob in Bezug auf die unterschiedlichen Ausführungsformen oder nicht, die Offenbarung implementiert und in die Praxis umsetzt. Außerdem sind, obwohl Ausführungsformen der Offenbarung Vorteile gegenüber anderen möglichen Lösungen und/oder gegenüber dem Stand der Technik erreichen können, sie für die Offenbarung nicht einschränkend, gleich ob ein besonderer Vorteil durch eine gegebene Ausführungsform erreicht wird oder nicht. Somit sind die folgenden Aspekte, Merkmale, Ausführungsformen und Vorteile lediglich veranschaulichend und werden nicht als Elemente oder Begrenzungen der beigefügten Ansprüche betrachtet, außer wenn sie explizit in einem Anspruch (Ansprüchen) zitiert sind. Ebenso soll die Bezugnahme auf „die Offenbarung“ nicht als eine Verallgemeinerung eines hierin offenbarten Gegenstands der Erfindung verstanden werden und soll nicht als ein Element oder eine Begrenzung der beigefügten Ansprüche betrachtet werden, außer wenn explizit in einem Anspruch (Ansprüchen) angegeben.
  • Die vorliegende Offenbarung bezieht sich allgemein auf das Zwischenspeichern eines neuen Firmware-Downloads an einer verschleißnivellierten Lokation, die mehr als nur einige hundert Downloads aufnehmen kann.
  • 1 ist eine schematische Darstellung der Vorrichtung 100 gemäß einer Ausführungsform. Die Vorrichtung umfasst eine Hostvrrichtung 102 und eine Speichervorrichtung 104. Die Hostvorrichtung 102 ist mit der Speichervorrichtung 104 sowohl physisch als auch elektronisch durch eine Schnittstelle 106 gekoppelt, die eine oder mehrere phys 108A - 108N enthält. In anderen Ausführungsformen kann die Vorrichtung 100 nur durch eine Datenübertragungskapazität verbunden sein, so dass Daten von der Hostvorrichtung 102 zur Speichervorrichtung 104 gesendet werden können und umgekehrt.
  • Die Hostvorrichtung 102 umfasst eine Steuerung 110 sowie eine lokale Speichervorrichtung 112, wie beispielsweise einen internen Speicher. Die Speichervorrichtung 104 umfasst auch eine Steuerung 114, die mit der Schnittstelle 106 sowie sowohl mit der einen oder den mehreren rapiden oder schnellen nichtflüchtigen Speichervorrichtungen 116A - 116N als auch den einen oder den mehreren flüchtigen Speichervorrichtungen 118A - 118N gekoppelt ist und damit kommuniziert. Details der Steuerung 114 werden später beschrieben.
  • In Ausführungsformen ist eine Stromversorgung 120 vorgesehen. In mindestens einer Ausführungsform ist die Stromversorgung 120 mit der Schnittstelle 106 und der Steuerung 114 gekoppelt. Die Steuerung 114 umfasst einen oder mehrere Prozessoren 122A - 122N. Zusätzlich ist die Steuerung 114 mit einer oder mehreren langsamen nichtflüchtigen Speichervorrichtungen 124A - 124N gekoppelt. Ein Beispiel einer langsamen nicht flüchtigen Speichervorrichtung 124A - 124N ist NOR, und ein Beispiel für schnelle oder schnelle nichtflüchtige Speichervorrichtungen 116A - 116N ist NAND. Wie zu verstehen ist, kann die Vorrichtung, wenn sie als eine nichtflüchtige Speichervorrichtung beschrieben wird, je nach Bedarf eine eigenständige Einheit, ein Chip, eine Karte oder ein anderer Formfaktor sein.
  • In einigen Beispielen kann die Speichervorrichtung 104 aus Gründen der Klarheit zusätzliche Komponenten enthalten, die in 1 nicht gezeigt sind. Beispielsweise kann die Speichervorrichtung 104 eine Leiterplatte (PB) umfassen, an der Komponenten der Speichervorrichtung 104 mechanisch angebracht sind und die elektrisch leitende Bahnen umfasst, die Komponenten der Speichervorrichtung 104 oder dergleichen elektrisch miteinander verbinden. In einigen Beispielen können die physikalischen Abmessungen und Verbindungskonfigurationen der Speichervorrichtung 104 einem oder mehreren Standardformfaktoren entsprechen. Einige beispielhafte Standardformfaktoren umfassen, ohne darauf beschränkt zu sein, 3,5-Zoll-Festplattenlaufwerk (HDD), 2,5-Zoll-HDD, 1,8-Zoll-HDD, Peripheriegeräteverbindung (PCI), PCI-Express (PCI X), PCI-Express (PCIe) (z. B. PCIe Mini Card, MiniPCI usw.). In einigen Beispielen kann die Speichervorrichtung 104 direkt mit einem Motherboard der Hostvorrichtung 102 gekoppelt (z. B. direkt gelötet) sein. Die Schnittstelle 106 kann in Übereinstimmung mit einem geeigneten Protokoll arbeiten. Zum Beispiel kann die Schnittstelle 106 in Übereinstimmung mit einer oder mehr der folgenden Protokolle arbeiten: Advanced Technology Attachment (ATA) (e.g., serielle ATA (SATA) und parallele ATA (PATA)), Fibre Channel, Small Computer System Interface SCSI (SCSI), seriell angeschlossenes SCSI (SAS), zum Beispiel Peripheriegeräteverbindung (PCI), der PCI-Express, oder Non-volatile Memory Express (NVMe). Die elektrische Verbindung der Schnittstelle 106 (e.g., der Datenbus, der Steuerungsbus, oder beide) ist elektrisch mit der Steuerung 114 verbunden, und stellt eine elektrische Verbindung zwischen dem Host und der Vorrichtung 102 und der Steuerung 114 bereit, was den Austausch von Daten zwischen der Hostvorrichtung 102 und der Steuerung 114 ermöglicht. In einigen Beispielen kann die elektrische Verbindung der Schnittstelle 106 auch ermöglichen, dass die Speichervorrichtung 104 Leistung aus der Hostvorrichtung 102 aufnimmt. Wie beispielsweise in 1 dargestellt, kann die Stromversorgung 120 Leistung aus der Host-Vorrichtung 102 über die Schnittstelle 106 aufnehmen.
  • Die Speichervorrichtung 104 kann die Stromversorgung 120 umfassen, die Leistung an eine oder mehrere Komponenten der Speichervorrichtung 104 liefern kann. Wenn in einem Standardmodus, gearbeitet wird, kann die Stromversorgung 120 eine Leistung an die eine oder die mehreren Komponenten unter Verwendung von Leistung bereitstellen, die von einer externen Vorrichtung, wie beispielsweise der Hostvorrichtung 102, bereitgestellt wird. Zum Beispiel kann die Stromversorgung 120 Leistung an die eine oder die mehreren Komponenten unter Verwendung von Leistung bereitstellen, die von der Hostvrrichtung 102 über die Schnittstelle 106 aufgenommen wird. In einigen Beispielen kann die Stromversorgung 120 eine oder mehrere Leistungsspeicherkomponenten umfassen, die konfiguriert sind, um Leistung an die eine oder die mehreren Komponenten zu liefern, wenn sie in einem Abschaltmodus arbeiten, wie etwa dort, wo damit aufgehört wird, Energie aus der externen Vorrichtung aufzunehmen. Auf diese Weise kann die Stromversorgung 120 als eine bordinterne Backup-Energiequelle funktionieren. Einige Beispiele der einen oder der mehreren Leistungsspeicherkomponenten umfassen, sind aber nicht beschränkt auf, Kondensatoren, Superkondensatoren, Batterien und dergleichen. In einigen Beispielen kann die Energiemenge, die von der einen oder den mehreren Energiespeicherkomponenten gespeichert werden kann, eine Funktion der Kosten und/oder der Größe (z. B. Fläche/Volumen) der einen oder mehreren Energiespeicherkomponenten sein. Mit anderen Worten, wenn die von der einen oder den mehreren Energiespeicherkomponenten gespeicherte Leistungsmenge zunimmt, steigen auch die Kosten und/oder die Größe der einen oder mehreren Energiespeicherkomponenten. Die Verwendung von Elementen, wie Superkondensatoren, kann in Fällen durchgeführt werden, in denen Umgebungsbedingungen eine solche Verwendung rechtfertigen.
  • Die Speichervorrichtung 104 umfasst eine oder mehrere flüchtige Speichervorrichtungen 118A - 118N, die von der Steuerung 114 zum vorübergehenden Speichern von Informationen verwendet werden können. In einigen Beispielen kann die Steuerung 114 die eine oder die mehreren flüchtigen Speichervorrichtungen 118A - 118N als Cache verwenden. Flüchtige Speichervorrichtungen sind hierin als eine Vorrichtung definiert, bei der Daten verloren gehen, wenn der Strom von der Vorrichtung entfernt oder unterbrochen wird. Zum Beispiel, kann die Steuerung 114 Speicher zwischengespeicherte Informationen in der einen oder den mehreren flüchtigen Speichervorrichtungen 118A - 118N speichern, bis die zwischengespeicherten Informationen in ein oder mehrere nichtflüchtigeSpeichervorrichtungen 116A - 116N geschrieben werden. Die eine oder die mehreren flüchtigen Speichervorrichtungen 118A - 118N verbrauchen Leistung, die aus der Stromversorgung 120 aufgenommen wird, um die gespeicherten Daten in einer oder mehreren flüchtigen Speichervorrichtungen 118A - 118N zu speichern. Beispiele für flüchtigen Speicher umfassen, ohne darauf beschränkt zu sein, Direktzugriffsspeicher (RAM), dynamischen Direktzugriffsspeicher (Dram), statischen RAM (Sram) und synchronen dynamischen RAM (SDRAM (z. B. DDR1, DDR2, DDR3, DDR3, LPDDR3, DDR4 und dergleichen).
  • Die Speichervorrichtung 104 umfasst die Steuerung 114, die eine oder mehrere Operationen der Speichervorrichtung 104 verwalten kann. Zum Beispiel, kann die Steuerung 114 das Lesen von Daten von und/oder das Schreiben von Daten auf einen oder mehrere nicht flüchtige Speicher 116A - 116N oder eine oder mehrere flüchtige Speichervorrichtungen 118A - 118N verwalten. In einigen Beispielen, kann die Steuerung 114 das Lesen von Daten von und/oder das Schreiben von Daten in einen oder mehrere nicht flüchtige Speicher 116A - 116N oder eine oder mehrere flüchtige Speichervorrichtungen 118A - 118N durch Austausch von Signalen mit einem oder mehreren nicht flüchtigen Speichern 116A - 116N oder einer oder mehreren flüchtigen Speichervorrichtungen 118A - 118N verwalten. Wie oben diskutiert wurde, kann die Steuerung 114 Signalen mit einer oder mehreren nicht flüchtigen Speichern 116A - 116N oder einer oder mehreren flüchtigen Speichervorrichtungen 118A - 118N in Übereinstimmung mit einem Kommunikationsprotokoll austauschen.
  • Der Controller 114 umfasst einen oder mehrere Prozessoren 122A - 122N. Die Prozessoren 122A - 122N können konfiguriert sein, um Aufgaben auszuführen. Die Aufgaben können von unterschiedlichen Typen sein, und in einigen Beispielen kann jeder jeweilige Typ von Aufgabe in einer jeweiligen Aufgabenschlange gespeichert oder mit dieser assoziiert sein, während auf die Ausführung durch den Prozessor 122A - 122N gewartet wird. Die verschiedenen Typen von Aufgaben können beispielsweise Front-End-Aufgaben umfassen, die das Empfangen und Interpretieren von Anweisungen umfassen können, die von der Host-Vorrichtung 102 empfangen werden. Andere Typen von Aufgaben, einschließlich Caching; Backend-Aufgaben, die das Lesen von Daten aus dem nichtflüchtigen Speicher 116 oder das Schreiben von Daten in den nichtflüchtigen Speicher 116 umfassen können; Datenpflege, die Speicherbereinigung, Abnutzungsausgleich, TRIM oder dergleichen umfassen kann; und Systemaufgaben. In einigen Beispielen kann der Prozessor 122A - 122N als eine Computereinheit, eine Verarbeitungseinheit, ein Kern oder eine zentrale Verarbeitungseinheit (CPU) bezeichnet werden.
  • Wie unten detaillierter erörtert wird, ermöglicht das Caching des heruntergeladenen Firmware-Pakets an einem nutzerspezifischen Ort auf einem kundenplatzreservierten Bereich in NAND niedrigere Kosten und eine höhere Haltbarkeit. Nach dem Herunterladen der Firmware auf NAND kann die zwischengespeicherte Firmware dann zu NOR im Hintergrund synchronisiert werden, nachdem der Download-Status an die Host-Vorrichtung 102 zurückgegeben wurde. Der kundenplatzreservierte Bereich ist ein Platz, der zu einer Vielzahl von Downloads (d. h. 30.000 Downloads oder mehr) in der Lage ist. Ein Beispiel für einen kundenplatzreservierten Bereich sind allgemeine Medien oder irgendein allgemeiner Speicher, der schnell zugänglich ist, wie ein Phasenwechselspeicher (PCM) oder ein Festplattenlaufwerk (HDD). In Ausführungsformen ist der kundenplatzreservierte Bereich bootzugängliches Medium und ist ein Bereich, der schnell geschrieben werden kann. Der kundenplatzreservierte Bereich ist ferner ein Speicher, der nicht sofort beim Hochfahren einer Host-Vorrichtung startet. Jeder Boot-Vorgang, der vor Beendigung einer Synchronisierung zu NOR stattfindet, führt einen dualen Boot-Vorgang durch, wobei die ursprüngliche Firmware gestartet wird und neuere Firmware sucht, die auf dem NAND (oder kundenplatzreservierten Bereich) zwischengespeichert ist, und wobei the die Vorrichtung die zwischengespeicherte Firmware lädt und startet. Das Synchronisieren von NAND zu NOR findet im Hintergrund statt, wodurch die Anforderungen an den Prozessor und den Datenbus minimiert werden. Sobald das Firmwaresynchronisieren abgeschlossen ist, wird die Kopie der Firmware auf dem NAND (oder dem kundenplatzreservierten Bereich) gelöscht und ein Dual-Booten ist nicht länger notwendig. Somit ist die Geschwindigkeit von NAND mit der Dauerhaftigkeit von NOR möglich. Die Hintergrundsynchronisierung erfolgt durch Lesen von Teilen der Firmware („Chunks“) aus der NAND-Kopie zum Schreiben in den NOR und Schreiben dieser Chunks, wie es die Host-Eingabe/Ausgabe-(„E/A“)-Leerlaufzeit erlaubt. Ein Dienstqualitäts- (QoS-) Mechanismus kann verwendet werden, um sicherzustellen, dass die Firmware-Hintergrundsynchronisation innerhalb eines gewissen Zeitintervalls abgeschlossen wird, ungeachtet der Host-E/A.
  • Zu den Vorteilen der Offenbarung gehört es, der Speichervorrichtung die Haltbarkeit des NOR für Produkt- oder Firmware-Downloads, die Geschwindigkeit von NAND für Gesamtdownloadzeiten und niedrigere Produktkosten für dedizierte SLC-NAND-Bereiche bereitzustellen. Darüber hinaus ermöglicht das bereitgestellte Verfahren energiesparende Vorgänge, was für den Endbenutzer mehr Zuverlässigkeit bietet.
  • 2 ist eine schematische Darstellung eines Verfahrens 200 zum leistungssicheren Booten einer Speichervorrichtung unter Verwendung eines abnutzungsausgeglichenen Speichers gemäß einer nicht einschränkenden Ausführungsform. Das Verfahren beginnt mit Punkt 202, wo die Speichervorrichtung 104 einen Einschaltvorgang beginnt. Danach liest der Controller 114 die existierende Firmware, die sich in dem langsamen nichtflüchtigen Speicher befindet, wie einer NOR-Speichervorrichtung in Punkt 204. Die Speichervorrichtung 104 beginnt mit der Firmware, die auf der NOR-Speichervorrichtung in Punkt 206 gespeichert ist, hochzufahren. Während die Speichervorrichtung hochfährt, prüft der Controller 114 andere Speichervorrichtungen, um zu sehen, ob es neue Firmware in Punkt 208 gibt. Wenn es im Punkt 210 keine Firmware gibt, dann geht das Hochfahren durch NOR im Element 212 weiter. Wenn jedoch Firmware erkannt wird, wird die neue Firmware in den Speicher geladen und bei 214 gebootet. Sobald der Dual-Boot in die letzte Firmware abgeschlossen ist, kann die Hintergrundsynchronisation der letzten Firmware mit dem NOR wie unten beschrieben fortfahren. Dann wird in Punkt 216 die neue Firmware in den NOR geschrieben, so dass nachfolgende Boot-Vorgänge durch den NOR stattfinden. Das Schreiben der neuen Firmware in 216 erfolgt im Hintergrund, wodurch Prozessorfunktion und Busfunktion minimal beeinflusst werden. Wenn es einen Leistungsverlust während während Punkt 216 gibt, wäre die neue Firmware immer noch im Cache, und somit wäre der Vorgang, der bei Punkt 202 beginnt, in der Lage, normal fortzufahren, und somit ist der Vorgang leistungssicher. Sobald neue Firmware in NOR geschrieben wird, kann die Kopie in dem NAND gelöscht werden, sobald die Synchronisation abgeschlossen ist.
  • Durch die Verwendung eines abnutzungsausgeglichenen Speicherortes auf Speichervorrichtungen mit kundenplatzreserviertem Bereich kann die Speicherungsvorrichtung Tausende von Firmware-Aktualisierungen ohne Fehler verarbeiten. Zusätzlich ist die Firmware-Aktualisierung sowohl leistungssicher als auch schneller als das direkte Schreiben in den NOR.
  • In einer nicht einschränkenden Ausführungsform ist ein Verfahren zum Durchführen einer Hintergrund-Firmware-Aktualisierung offenbart, umfassend das Booten einer Vorrichtung mit einer ursprünglichen Firmware aus einem ersten nichtflüchtigen Speicher-Bootabschnitt, Herunterladen einer Firmware-Aktualisierung während des Bootens der Vorrichtung aus dem nichtflüchtigen Speicher, Übertragen der Firmware-Aktualisierung aus dem nichtflüchtigen Speicher in den Bootabschnitt des nichtflüchtigen Speichers, so dass ein nachfolgendes Booten der Vorrichtung die Firmware-Aktualisierung nutzt, und Löschen der ursprünglichen Firmware aus dem Bootabschnitt des nichtflüchtigen Speichers.
  • In einer anderen nicht einschränkenden Ausführungsform wird das Verfahren zum Durchführen der Hintergrund-Firmware-Aktualisierung durchgeführt, wobei der nichtflüchtige Speicher-Bootabschnitt ein NOR-Speicher ist.
  • In einer anderen nicht einschränkenden Ausführungsform kann das Verfahren durchgeführt werden, wobei das Herunterladen der Firmware-Aktualisierung während des Bootens der Vorrichtung von dem nichtflüchtigen Speicher auf einen zweiten nichtflüchtigen Speicher erfolgt.
  • In einer anderen nicht einschränkenden Ausführungsform kann das Verfahren zum Durchführen der Hintergrund-Firmware-Aktualisierung durchgeführt werden, wobei der zweite nichtflüchtige Speicher ein NAND-Flashspeicher ist.
  • In einer anderen nicht einschränkenden Ausführungsform kann das Verfahren zum Durchführen der Hintergrund-Firmware-Aktualisierung durchgeführt werden, wobei der NAND-Flash-Speicher ein einstufiger Zellspeicher ist.
  • In einer anderen nicht einschränkenden Ausführungsform kann das Verfahren zum Durchführen der Hintergrund-Firmware-Aktualisierung durchgeführt werden, wobei das Herunterladen der Firmware-Aktualisierung während des Bootens der Vorrichtung aus dem ersten nichtflüchtigen Speicher auf einen zweiten abnutzungsausgeglichenen nichtflüchtigen Speicher erfolgt.
  • In einer anderen nicht einschränkenden Ausführungsform kann das Verfahren zum Durchführen der Hintergrund-Firmware-Aktualisierung ferner das Durchführen eines Einschaltvorgangs für die Vorrichtung vor dem Booten der Vorrichtung mit der ursprünglichen Firmware aus dem Bootabschnitt des ersten nichtflüchtigen Speichers umfassen.
  • In einer anderen nicht einschränkenden Ausführungsform kann das Verfahren zum Durchführen der Hintergrund-Firmware-Aktualisierung durchgeführt werden, wobei das Durchführen eines Einschaltvorgangs für die Vorrichtung vor dem Booten der Vorrichtung mit der ursprünglichen Firmware aus dem Bootabschnitt des ersten nichtflüchtigen Speichers durch einen Controller erfolgt.
  • In einer anderen nicht einschränkenden Ausführungsform wird eine Vorrichtung offenbart, umfassend Mittel zum Booten einer Vorrichtung mit einer ursprünglichen Firmware aus einem Bootabschnitt des ersten nichtflüchtigen Speichers, Mittel zum Herunterladen einer Firmware-Aktualisierung während des Bootens der Vorrichtung aus dem nichtflüchtigen Speicher und Mittel zum Übertragen der Firmware-Aktualisierung aus dem nichtflüchtigen Speicher in den Bootabschnitt des nichtflüchtigen Speichers, so dass ein nachfolgendes Booten der Vorrichtung die Firmware-Aktualisierung verwendet. In einer anderen nicht einschränkenden Ausführungsform kann die Vorrichtung ferner eine Einrichtung zum Löschen der ursprünglichen Firmware von dem Bootabschnitt des nichtflüchtigen Speichers umfassen.
  • In einer anderen nicht einschränkenden Ausführungsform kann die Vorrichtung ferner Mittel zum Durchführen eines Einschaltvorgang für die Vorrichtung vor dem Booten der Vorrichtung mit der ursprünglichen Firmware aus dem Bootabschnitt des ersten nichtflüchtigen Speichers umfassen.
  • In einer anderen nicht einschränkenden Ausführungsform wird ein Verfahren zum Durchführen einer Hintergrund-Firmware-Aktualisierung für eine SSD-Vorrichtung offenbart, umfassend: Durchführen eines Einschaltvorgangs für die SSD-Vorrichtung, Booten der SSD-Vorrichtung mit einer ursprünglichen Firmware aus dem Bootabschnitt des ersten nichtflüchtigen Speichers, Überprüfen auf eine Firmware-Aktualisierung in einem zweiten nichtflüchtigen Speicher, Herunterladen einer Firmware-Aktualisierung aus dem zweiten nichtflüchtigen Speicher durch eine Schnittstelle während des Bootens der SSD-Vorrichtung aus dem nichtflüchtigen Speicher, wenn das Überprüfen auf die Firmware-Aktualisierung das Vorhandensein einer Firmware-Aktualisierung anzeigt, Übertragen der Firmware-Aktualisierung aus dem zweiten nichtflüchtigen Speicher in den Bootabschnitt des ersten nichtflüchtigen Speichers, so dass ein nachfolgendes Booten der Vorrichtung die Firmware-Aktualisierung verwendet, und Löschen der ursprünglichen Firmware aus dem Bootabschnitt des nichtflüchtigen Speichers.
  • In einer anderen nicht einschränkenden Ausführungsform kann das Verfahren durchgeführt werden, wobei der Bootabschnitt des ersten nichtflüchtigen Speichers ein NOR-Speicher ist.
  • In einer anderen nicht einschränkenden Ausführungsform kann das Verfahren ausgeführt werden, wobei der zweite nichtflüchtige Speicher ein NAND-Speicher ist.
  • In einer anderen nicht einschränkenden Ausführungsform kann das Verfahren erreicht werden, wobei der zweite nichtflüchtige Speicher ein Einstufen-Zell-NAND-Speicher ist. In einer anderen nicht einschränkenden Ausführungsform kann das Verfahren ausgeführt werden, wobei die Überprüfung auf die Firmware-Aktualisierung durch einen Controller durchgeführt wird.
  • In einer anderen nicht einschränkenden Ausführungsform kann das Verfahren ausgeführt werden, wobei der Controller mindestens einen Prozessor aufweist. In einer anderen nicht einschränkenden Ausführungsform kann das Verfahren ausgeführt werden, wobei das Übertragen der Firmware-Aktualisierung von dem zweiten nichtflüchtigen Speicher zu dem Bootabschnitt des ersten nichtflüchtigen Speichers, so dass ein nachfolgendes Booten der Vorrichtung die Firmware-Aktualisierung verwendet, in einer Hintergrundumgebung erfolgt.
  • In einer anderen nicht einschränkenden Ausführungsform wird eine Vorrichtung zum Durchführen einer Hintergrund-Firmware-Aktualisierung offenbart, umfassend Mittel zum Booten der SSD-Vorrichtung mit einer ursprünglichen Firmware aus einem Bootabschnitt des ersten nichtflüchtigen Speichers, Mittel zum Überprüfen auf eine Firmware-Aktualisierung in einem zweiten nichtflüchtigen Speicher, Mittel zum Herunterladen einer Firmware-Aktualisierung aus dem zweiten nichtflüchtigen Speicher durch eine Schnittstelle während des Bootens der SSD-Vorrichtung aus dem nichtflüchtigen Speicher, wenn das Überprüfen auf die Firmware-Aktualisierung das Vorhandensein einer Firmware-Aktualisierung anzeigt, Mittel zum Übertragen der Firmware-Aktualisierung aus dem zweiten nichtflüchtigen Speicher in den Bootabschnitt des ersten nichtflüchtigen Speichers, so dass ein nachfolgendes Booten der Vorrichtung die Firmware-Aktualisierung verwendet, und Mittel zum Löschen der ursprünglichen Firmware aus dem Bootabschnitt des nichtflüchtigen Speichers. In einer anderen nicht einschränkenden Ausführungsform kann die Vorrichtung so konfiguriert sein, dass der Bootabschnitt des ersten nichtflüchtigen Speichers ein NOR-Speicher ist.
  • In einer anderen nicht einschränkenden Ausführungsform kann die Vorrichtung so konfiguriert sein, dass der zweite nichtflüchtige Speicher ein NAND-Speicher ist. In einer anderen nicht einschränkenden Ausführungsform kann die Vorrichtung so konfiguriert sein, dass der zweite nichtflüchtige Speicher ein Einstufen-Zell-NAND-Speicher ist.
  • In einer anderen nicht einschränkenden Ausführungsform kann die Vorrichtung so konfiguriert sein, dass die Überprüfung auf die Firmware-Aktualisierung durch einen Controller durchgeführt wird.
  • In einer anderen nicht einschränkenden Ausführungsform kann die Vorrichtung so konfiguriert sein, dass der Controller mindestens einen Prozessor aufweist.
  • In einer anderen nicht einschränkenden Ausführungsform kann die Vorrichtung so konfiguriert sein, dass das Übertragen der Firmware-Aktualisierung von dem zweiten nichtflüchtigen Speicher zu dem Bootabschnitt des ersten nichtflüchtigen Speichers, so dass ein nachfolgendes Booten der Vorrichtung die Firmware-Aktualisierung verwendet, in einer Hintergrundumgebung erfolgt.
  • In einer anderen nicht einschränkenden Ausführungsform kann die Vorrichtung ferner ein Mittel zum Durchführen eines Einschaltvorgangs für die SSD-Vorrichtung umfassen. In einer anderen nicht einschränkenden Ausführungsform wird eine Vorrichtung offenbart, umfassend einen ersten nichtflüchtigen Speicher, einen zweiten nichtflüchtigen Speicher, eine Schnittstelle, die zum Senden und Empfangen von Daten aus der Vorrichtung konfiguriert ist, und einen Controller, der zum Herunterladen einer Firmware-Aktualisierung durch die Schnittstelle auf den zweiten nichtflüchtigen Speicher konfiguriert ist, wobei der Controller ferner zum Kopieren der Firmware aus dem zweiten nichtflüchtigen Speicher auf den ersten nichtflüchtigen Speicher in einer Hintergrundumgebung konfiguriert ist.
  • In einer anderen nicht einschränkenden Ausführungsform kann die Vorrichtung so konfiguriert sein, dass der erste nichtflüchtige Speicher ein NOR-Speicher ist und der zweite nichtflüchtige Speicher ein NAND-Speicher ist.
  • Die in dieser Offenbarung beschriebenen Techniken können zumindest teilweise in Hardware, Software, Firmware oder einer beliebigen Kombination davon implementiert werden. Zum Beispiel können verschiedene Aspekte der beschriebenen Techniken innerhalb eines oder mehrerer Prozessoren implementiert werden, einschließlich eines oder mehrerer Mikroprozessoren, digitaler Signalprozessoren (DSP), anwendungsspezifischer integrierter Schaltungen (ASIC), Universalschaltkreise (FPGA) oder beliebiger anderer äquivalenter integrierter oder separater Logikschaltungen sowie beliebiger Kombinationen solcher Komponenten. Der Begriff „Prozessor“ oder „Verarbeitungsschaltung“ kann sich im Allgemeinen auf jede der vorangehenden Logikschaltungen beziehen, allein oder in Kombination mit anderen Logikschaltungen oder irgendeiner anderen äquivalenten Schaltung. Eine Steuereinheit, die Hardware enthält, kann auch eine oder mehrere der Techniken dieser Offenbarung ausführen.
  • Solche Hardware, Software und Firmware können innerhalb derselben Vorrichtung oder innerhalb getrennter Vorrichtungen implementiert werden, um die verschiedenen in dieser Offenbarung beschriebenen Techniken zu unterstützen. Zusätzlich kann jede(s) der beschriebenen Einheiten, Module oder Komponenten zusammen oder getrennt als separate, aber interoperable Logikvorrichtungen implementiert sein. Die Darstellung unterschiedlicher Merkmale, wie Module oder Einheiten, soll unterschiedliche funktionelle Aspekte betonen und nicht unbedingt implizieren, dass solche Module oder Einheiten durch separate Hardware-, Firmware- oder Software-Komponenten realisiert werden müssen. Entsprechend kann Funktionalität, die einem oder mehreren Modulen oder Einheiten zugeordnet ist, durch separate Hardware-, Firmware- oder Software-Komponenten ausgeführt werden oder in gemeinsame oder separate Hardware-, Firmware- oder Software-Komponenten integriert werden.
  • Die in dieser Offenbarung beschriebenen Techniken können auch in einem Herstellungsartikel verkörpert oder kodiert sein, der ein computerlesbares Speichermedium umfasst, das mit Anweisungen kodiert ist. Anweisungen, die in einem Herstellungsartikel eingebettet oder kodiert sind, einschließlich eines kodierten computerlesbaren Speichermediums, können einen oder mehrere programmierbare Prozessoren oder andere Prozessoren veranlassen, eine oder mehrere der hierin beschriebenen Techniken zu implementieren, beispielsweise wenn Anweisungen, die in dem computerlesbaren Speichermedium enthalten oder kodiert sind, durch den einen oder die mehreren Prozessoren ausgeführt werden. Computerlesbare Speichermedien können Direktzugriffsspeicher (RAM), Festwertspeicher (ROM), programmierbaren Festwertspeicher (PROM), löschbaren programmierbaren Festwertspeicher (EPROM), elektronisch löschbaren programmierbaren Festwertspeicher (EEPROM), Flash-Speicher, eine Festplatte, eine CD-ROM, eine Diskette, eine Kassette, magnetische Medien, optische Medien oder andere computerlesbare Medien einschließen. In einigen Beispielen kann ein Herstellungsartikel ein oder mehrere computerlesbare Speichermedien enthalten.
  • In einigen Beispielen kann ein computerlesbares Speichermedium ein nichttransitorisches Medium einschließen. Der Begriff „nichttransitorisch“ kann anzeigen, dass das Speichermedium nicht in einer Trägerwelle oder einem ausgebreiteten Signal verkörpert ist. Bei bestimmten Beispielen kann ein nichttransitorisches Speichermedium Daten speichern, die sich mit der Zeit ändern können (z. B. in RAM oder Cache).
  • Während das Vorhergehende auf Ausführungsformen der vorliegenden Offenbarung gerichtet ist, können andere und weitere Ausführungsformen der Offenbarung erdacht werden, ohne von deren Grundbereich abzuweichen, und deren Schutzbereich wird durch die folgenden Ansprüche bestimmt.
  • 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
    • US 62561611 [0001]

Claims (27)

  1. Verfahren zum Durchführen einer Hintergrund-Firmware-Aktualisierung, umfassend: Booten einer Vorrichtung mit einer Original-Firmware von einem ersten Speicher-Bootabschnitt; Herunterladen einer Firmware-Aktualisierung während des Bootens der Vorrichtung aus dem nichtflüchtigen Speicher, wobei das Herunterladen in einen nichtflüchtigen Speicher erfolgt; Übertragen der Firmware-Aktualisierung aus dem nichtflüchtigen Speicher in einen zweiten Bootabschnitt, so dass ein sukzessives Booten der Vorrichtung die Firmware-Aktualisierung verwendet; und Löschen der Original-Firmware aus dem ersten nichtflüchtigen Speicher-Bootabschnitt.
  2. Verfahren zum Durchführen der Hintergrund-Firmware-Aktualisierung nach Anspruch 1, wobei der erste Speicher-Bootabschnitt ein NOR-Speicher ist.
  3. Verfahren zum Durchführen der Hintergrund-Firmware-Aktualisierung nach Anspruch 1, wobei das Herunterladen der Firmware-Aktualisierung während des Bootens der Vorrichtung von dem nichtflüchtigen Speicher in einen zweiten nichtflüchtigen Speicher erfolgt.
  4. Verfahren zum Durchführen der Hintergrund-Firmware-Aktualisierung nach Anspruch 3, wobei der zweite nichtflüchtige Speicher ein NAND-Flash-Speicher ist.
  5. Verfahren zum Durchführen der Hintergrund-Firmware-Aktualisierung nach Anspruch 4, wobei der NAND-Flash-Speicher ein SLC-Speicher ist.
  6. Verfahren zum Durchführen der Hintergrund-Firmware-Aktualisierung nach Anspruch 1, wobei das Herunterladen der Firmware-Aktualisierung während des Bootens der Vorrichtung von dem ersten nichtflüchtigen Speicher in einen zweiten verschleißnivellierten, nichtflüchtigen Speicher erfolgt.
  7. Verfahren zum Durchführen der Hintergrund-Firmwar-Aktualisierung nach Anspruch 1, das ferner Folgendes umfasst: Durchführen eines Einschaltvorgangs für die Vorrichtung vor dem Booten der Vorrichtung mit der Original-Firmware von dem ersten nichtflüchtigen Speicher-Bootabschnitt.
  8. Verfahren zum Durchführen der Hintergrund-Firmware-Aktualisierung nach Anspruch 7, wobei das Durchführen eines Einschaltvorgangs für die Vorrichtung vor dem Booten der Vorrichtung mit der Original-Firmware von dem ersten nichtflüchtigen Speicher-Bootabschnitt von einer Steuerung durchgeführt wird.
  9. Apparat, umfassend: Mittel zum Booten einer Vorrichtung mit einer Original-Firmware von einem ersten Speicherbootabschnitt; Mittel zum Herunterladen einer Firmware-Aktualisierung während des Bootens der Vorrichtung in den Speicher-Bootabschnitt, wobei das Herunterladen in einen nichtflüchtigen Speicher erfolgt; und Mittel zum Übertragen der Firmware-Aktualisierung aus dem nichtflüchtigen Speicher in einen zweiten Bootabschnitt, so dass ein sukzessives Booten der Vorrichtung die Firmware-Aktualisierung verwendet.
  10. Apparat nach Anspruch 9, der ferner Folgendes umfasst: Mittel zum Löschen der Original-Firmware aus dem nichtflüchtigen Speicher-Bootabschnitt.
  11. Apparat nach Anspruch 10, der ferner Folgendes umfasst: Mittel zum Durchführen eines Einschaltvorgangs für die Vorrichtung vor dem Booten der Vorrichtung mit der Original-Firmware von dem ersten nichtflüchtigen Speicher-Bootabschnitt.
  12. Verfahren zum Durchführen einer Hintergrund-Firmware-Aktualisierung für eine Festkörpervorrichtung, die Folgendes umfasst: Durchführen eines Einschaltvorgangs für die Festkörpervorrichtung; Booten der Festkörpervorrichtung mit einer Original-Firmware von einem ersten nichtflüchtigen Speicher-Bootabschnitt; Prüfen auf eine Firmware-Aktualisierung in einem zweiten nichtflüchtigen Speicher; Herunterladen einer Firmware-Aktualisierung von einem zweiten nichtflüchtigen Speicher durch eine Schnittstelle während des Bootens der Festkörpervorrichtung von dem ersten nichtflüchtigen Speicherbootabschnitt, wenn die Überprüfung der Firmware-Aktualisierung ein Vorliegen der Firmware-Aktualisierung anzeigt; Übertragen der Firmware-Aktualisierung aus dem zweiten nichtflüchtigen Speicher in den ersten nichtflüchtigen Speicher-Bootabschnitt, so dass ein sukzessives Booten der Vorrichtung die Firmware-Aktualisierung verwendet; und Löschen der Original-Firmware aus dem ersten nichtflüchtigen Speicher-Bootabschnitt.
  13. Verfahren nach Anspruch 12, wobei der erste nichtflüchtige Speicherbootabschnitt ein NOR-Speicher ist.
  14. Verfahren nach Anspruch 12, wobei der zweite nichtflüchtige Speicher ein NAND-Speicher ist.
  15. Verfahren nach Anspruch 14, wobei der zweite nichtflüchtige Speicher ein SLC-NAND-Speicher ist.
  16. Verfahren nach Anspruch 14, wobei die Überprüfung auf die Firmware-Aktualisierung durch eine Steuerung durchgeführt wird.
  17. Verfahren nach Anspruch 16, wobei die Steuerung mindestens einen Prozessor aufweist.
  18. Verfahren nach Anspruch 14, wobei das Übertragen der Firmware-Aktualisierung von dem zweiten nichtflüchtigen Speicher an den ersten nichtflüchtigen Speicher-Bootabschnitt so erfolgt, dass ein sukzessives Booten der Vorrichtung die in einer Hintergrundumgebung durchgeführte Firmware-Aktualisierung verwendet.
  19. Apparat zum Durchführen einer Hintergrund-Firmware-Aktualisierung, umfassend: Mittel zum Booten einer Festkörpervorrichtung mit einer Original-Firmware von einem ersten nichtflüchtigen Speicher-Bootabschnitt; Mittel zum Überprüfen auf eine Firmware-Aktualisierung in einem zweiten nichtflüchtigen Speicher; Mittel zum Herunterladen einer Firmware-Aktualisierung aus dem zweiten nichtflüchtigen Speicher durch eine Schnittstelle während des Bootens der Festkörpervorrichtung von dem ersten nichtflüchtigen Speicher, wenn die Überprüfung der Firmware-Aktualisierung ein Vorliegen der Firmware-Aktualisierung anzeigt; Mittel zum Übertragen der Aktualisierung der Firmware von der zweiten nichtflüchtigen Speicher in den ersten nichtflüchtigen Speicher-Bootabschnitt, so dass ein sukzessives Booten der Vorrichtung die Firmware-Aktualisierung verwendet; und Mittel zum Löschen der Original-Firmware aus dem nichtflüchtigen Speicher-Bootabschnitt.
  20. Apparat nach Anspruch 19, wobei der erste nichtflüchtige Speicher-Bootabschnitt ein NOR-Speicher ist.
  21. Apparat nach Anspruch 19, wobei der zweite nichtflüchtige Speicher ein NAND-Speicher ist.
  22. Apparat nach Anspruch 21, wobei der zweite nichtflüchtige Speicher ein SLC-NAND-Speicher ist.
  23. Apparat nach Anspruch 19, wobei die Überprüfung auf die Firmware-Aktualisierung durch eine Steuerung durchgeführt wird.
  24. Apparat nach Anspruch 23, wobei die Steuerung mindestens einen Prozessor aufweist.
  25. Apparat nach Anspruch 19, wobei das Übertragen der Firmware-Aktualisierung von dem zweiten nichtflüchtigen Speicher an den ersten nichtflüchtigen Speicher-Bootabschnitt so erfolgt, dass ein sukzessives Booten der Vorrichtung die in einer Hintergrundumgebung durchgeführte Firmware-Aktualisierung verwendet.
  26. Apparat, umfassend: einen ersten nichtflüchtigen Speicher; einen zweiten nichtflüchtigen Speicher; eine Schnittstelle, die konfiguriert ist, um Daten von dem Apparat zu übertragen und zu empfangen; und und eine Steuerung, die konfiguriert ist, um eine Firmware-Aktualisierung durch die Schnittstelle in den zweiten nichtflüchtigen Speicher herunterzuladen, wobei die Steuerung ferner konfiguriert ist, um die Firmware-Aktualisierung aus dem zweiten nichtflüchtigen Speicher in dem ersten nichtflüchtigen Speicher in einer Hintergrundumgebung zu kopieren.
  27. Apparat nach Anspruch 26, wobei der erste nichtflüchtige Speicher ein NOR-Speicher ist und der zweite nichtflüchtige Speicher ein NAND-Speicher ist.
DE102018123311.6A 2017-09-21 2018-09-21 Hintergrund-Firmware-Aktualisierung Pending DE102018123311A1 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201762561611P 2017-09-21 2017-09-21
US62/561,611 2017-09-21
US16/134,910 US20190087174A1 (en) 2017-09-21 2018-09-18 Background firmware update
US16/134,910 2018-09-18

Publications (1)

Publication Number Publication Date
DE102018123311A1 true DE102018123311A1 (de) 2019-03-21

Family

ID=65527136

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102018123311.6A Pending DE102018123311A1 (de) 2017-09-21 2018-09-21 Hintergrund-Firmware-Aktualisierung

Country Status (2)

Country Link
CN (1) CN109542491B (de)
DE (1) DE102018123311A1 (de)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110221783B (zh) * 2019-06-12 2022-03-15 西安奥卡云数据科技有限公司 一种NVMe-oF用户空间直通后端存储的方法及系统
CN113312071A (zh) * 2021-06-10 2021-08-27 山东英信计算机技术有限公司 一种ssd设备固件升级方法及相关装置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080046710A1 (en) * 2006-08-17 2008-02-21 Steven Maddocks Switching firmware images in storage systems
JP2008084291A (ja) * 2006-08-28 2008-04-10 Fujitsu Ltd 記憶装置、制御方法及び制御装置
WO2008038063A1 (en) * 2006-09-29 2008-04-03 Nokia Corporation Method and apparatus for updating firmware as a background task
US8595716B2 (en) * 2011-04-06 2013-11-26 Robert Bosch Gmbh Failsafe firmware updates
US9043672B2 (en) * 2013-02-27 2015-05-26 Kabushiki Kaisha Toshiba Memory controller, storage device, and memory control method
CN104375844A (zh) * 2013-08-12 2015-02-25 中兴通讯股份有限公司 固件升级方法及装置
KR102261815B1 (ko) * 2014-10-30 2021-06-07 삼성전자주식회사 펌웨어 업데이트 시간을 줄일 수 있는 데이터 저장 장치, 및 이를 포함하는 데이터 처리 시스템

Also Published As

Publication number Publication date
CN109542491A (zh) 2019-03-29
CN109542491B (zh) 2022-04-05

Similar Documents

Publication Publication Date Title
DE102017113439B4 (de) Abbildungstabellen für Speichervorrichtungen
DE102018105427A1 (de) Beibehalten von Daten bei einer Stromabschaltung
DE102017104150B4 (de) Abnutzungsausgleich in Speichervorrichtungen
DE112014006118B4 (de) Spekulatives Vorab-Holen von in einem Flash-Speicher gespeicherten Daten
DE102008036822A1 (de) Verfahren zum Speichern von Daten in einem Solid-State-Speicher, Solid-State-Speichersystem und Computersystem
DE102020112512A1 (de) Datenspeichergerät und Betriebsverfahren dafür
DE102018214013A1 (de) Automatische kontinuierliche Prüfpunktsetzung
DE102017104158A1 (de) Gültigkeitsverfolgung für garbage collection
DE102018105943A1 (de) Kontextbewusste dynamische Befehlsplanung für ein Datenspeichersystem
DE102017104125A1 (de) Zonen von Übersetzungstabellen von logischen in physische Datenadressen mit parallelisiertem Log-Listenreplay
DE102013110085A1 (de) Host zum Steuern einer nicht-flüchtigen Speicherkarte, System mit demselben sowie Verfahren zum Betreiben des Hosts und des Systems
DE112020004591T5 (de) L2P-Übersetzungstechniken in begrenzten RAM-Systemen
DE102013110086A1 (de) Embedded Multimedia Card (eMMC), einen Host steuernde eMMC und Verfahren zum Betreiben eineseMMC-Systems
DE102019116546A1 (de) Verfahren für schnelles boot-lesen
DE102018123880A1 (de) Adaptive Verwaltung von Zwischenspeichern
DE102013021679A1 (de) Rettung von Ereignisnachverfolgungsinformationen bei Stromausfall-Unterbrechungsszenarien
DE112015003569B4 (de) Verfahren und System zum Verwenden von NAND-Seitenpuffern, um die Übertragungspuffernutzung eines Festkörperlaufwerks zu verbessern
DE102019128491A1 (de) Betriebsverfahren für Open-Channel-Speichervorrichtung
DE112017005782T5 (de) Warteschlange für Speichervorgänge
DE112020005044T5 (de) Zonenanhang-befehlsplanung basierend auf zonenzustand
DE112020005395T5 (de) Kapazitätserweiterung für speicher-untersysteme
DE102018123311A1 (de) Hintergrund-Firmware-Aktualisierung
DE102017119065B4 (de) Aktualisieren eines Speichers
DE102022101607A1 (de) Verwaltung der hostspeicherpufferzuweisung
DE102021115235A1 (de) Verschiebungsablauf unter verwendung der cba-technologie

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G06F0021570000

Ipc: G06F0008650000

R082 Change of representative

Representative=s name: MURGITROYD GERMANY PATENTANWALTSGESELLSCHAFT M, DE