DE102020132768A1 - Rückgängigmachen und erneutes ausführen von weicher post-package-reparatur - Google Patents

Rückgängigmachen und erneutes ausführen von weicher post-package-reparatur Download PDF

Info

Publication number
DE102020132768A1
DE102020132768A1 DE102020132768.4A DE102020132768A DE102020132768A1 DE 102020132768 A1 DE102020132768 A1 DE 102020132768A1 DE 102020132768 A DE102020132768 A DE 102020132768A DE 102020132768 A1 DE102020132768 A1 DE 102020132768A1
Authority
DE
Germany
Prior art keywords
mode
storage medium
storage
memory
repair
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
DE102020132768.4A
Other languages
English (en)
Inventor
Bill Nale
Kuljit Bains
Wei Chen
Rajat Agarwal
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.)
SK Hynix NAND Product Solutions Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of DE102020132768A1 publication Critical patent/DE102020132768A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/78Masking faults in memories by using spares or by reconfiguring using programmable devices
    • G11C29/838Masking faults in memories by using spares or by reconfiguring using programmable devices with substitution of defective spares
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/406Management or control of the refreshing or charge-regeneration cycles
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/44Indication or identification of errors, e.g. for repair
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/76Masking faults in memories by using spares or by reconfiguring using address translation or modifications
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1015Read-write modes for single port memories, i.e. having either a random port or a serial port
    • G11C7/1045Read-write mode select circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1078Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/4076Timing circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C2029/4402Internal storage of test result, quality data, chip identification, repair information

Landscapes

  • Engineering & Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

Eine Ausführungsform einer elektronischen Speichervorrichtung kann aufweisen: Speichermedien und Logik, die kommunikationsfähig mit den Speichermedien gekoppelt ist, wobei die Logik dazu dient zu bestimmen, ob ein Modus auf entweder einen ersten Modus oder einen zweiten Modus eingestellt ist, eine weiche Post-Package-Reparatur im ersten Modus durchzuführen und die weiche Post-Package-Reparatur im zweiten Modus rückgängig zu machen. Weitere Ausführungsformen werden offenbart und beansprucht.

Description

  • HINTERGRUND DER ERFINDUNG
  • Eine Speichervorrichtung kann fehlerhafte Zeilen, Spalten, Chips, Bänke usw. aufweisen. Einige Fehler können vorübergehend sein, während andere Fehler dauerhaft sein können. Einige Speichervorrichtungen können eine Technologie zur Post-Package-Reparatur (PPR, Reparatur nach Paketierung) aufweisen, um solche Fehler zu beheben. PPR ermöglicht es beispielsweise einer Speichersteuerung, eine fehlerhafte Zeile der Speichervorrichtung auf eine funktionsfähige Ersatzzeile der Speichervorrichtung neu zuzuordnen. Durch eine „harte“ PPR (HPPR) wird ein Zugriff von der fehlerhaften Zeile dauerhaft auf eine vorgesehene Ersatzzeile neu zugeordnet (z. B. durch Schmelzen von Zeilenersatzsicherungen in der Speichervorrichtung). Eine „weiche“ PPR (SPPR) ordnet den Zugriff vorübergehend von der fehlerhaften Zeile auf die vorgesehene Ersatzzeile neu zu.
  • Figurenliste
  • Das in dieser Patentanmeldung beschriebene Material ist in den beigefügten Figuren beispielhaft, jedoch nicht einschränkend dargestellt. Der Einfachheit und Übersichtlichkeit der Darstellung halber sind die in den Figuren veranschaulichten Elemente nicht notwendigerweise maßstabsgetreu dargestellt. Beispielsweise können die Abmessungen mancher Elemente im Verhältnis zu anderen Elementen zur Verdeutlichung übertrieben dargestellt sein. Ferner wurden, soweit angemessen, Bezugszeichen in den verschiedenen Figuren wiederholt verwendet, um entsprechende oder analoge Elemente zu kennzeichnen. In den Abbildungen gilt:
    • 1 ist ein Blockschaltbild eines Beispiels einer elektronischen Speichervorrichtung gemäß einer Ausführungsform;
    • 2A bis 2C sind Flussdiagramme eines Beispiels eines Verfahrens zum Reparieren von Speicher gemäß einer Ausführungsform;
    • 3 ist ein Blockschaltbild eines Beispiels eines elektronischen Speichersystems gemäß einer Ausführungsform;
    • 4 ist ein Flussdiagramm eines weiteren Beispiels eines Verfahrens zum Reparieren von Speicher gemäß einer Ausführungsform;
    • 5 ist ein Blockdiagramm eines Beispiels einer Speichervorrichtung gemäß einer Ausführungsform;
    • 6 ist ein Blockschaltbild eines Beispiels eines Modusregisters gemäß einer Ausführungsform; und
    • 7 ist ein Blockschaltbild eines Beispiels eines Computersystems gemäß einer Ausführungsform.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Eine oder mehrere Ausführungsformen oder Implementierungen werden nun unter Bezugnahme auf die beigefügten Figuren beschrieben. Auch wenn spezifische Ausgestaltungen und Anordnungen erörtert werden, ist einzusehen, dass dies lediglich zu Veranschaulichungszwecken geschieht. Fachleute auf dem jeweiligen Gebiet der Technik werden erkennen, dass andere Ausgestaltungen und Anordnungen verwendet werden können, ohne vom Wesen und Schutzumfang der Beschreibung abzuweichen. Für Fachleute auf dem jeweiligen Gebiet der Technik ist offenkundig, dass in der vorliegenden Patentschriftanmeldung beschriebene Techniken und/oder Anordnungen auch in einer Vielzahl anderer Systeme oder Anwendungen zum Einsatz kommen können, als hier beschrieben werden.
  • Während die folgende Beschreibung verschiedene Implementierungen darlegt, die beispielsweise in Architekturen wie Ein-Chip-System (System-on-a-Chip, SoC)-Architekturen offenbart sein können, ist die Implementierung der hier beschriebenen Techniken und/oder Anordnungen nicht auf bestimmte Architekturen und/oder Computersysteme beschränkt und kann von jeder Architektur und/oder jedem Computersystem für ähnliche Zwecke implementiert werden. Zum Beispiel können verschiedene Architekturen, die beispielsweise mehrere IC-Chips (Integrated Circuit, integrierte Schaltung) und/oder Gehäuse verwenden, und/oder verschiedene Computervorrichtungen und/oder Vorrichtungen der Unterhaltungselektronik (Consumer Electronic, CE), wie etwa Set-Top-Boxen, Smartphones usw., die hier beschriebenen Techniken und/oder Anordnungen implementieren. Ferner können in der folgenden Beschreibung zwar zahlreiche spezifische Details wie etwa Logikimplementierungen, Typen und Zusammenschaltungen von Systemkomponenten, Optionen der logischen Partitionierung/Integration usw. angegeben sein, jedoch kann der beanspruchte Erfindungsgegenstand auch ohne solche spezifischen Details ausgeführt werden. In anderen Fällen werden einige Materialien, wie beispielsweise etwa Steuerungsstrukturen und vollständige Software-Anweisungssequenzen, möglicherweise nicht im Detail gezeigt, um die Verständlichkeit des hier offenbarten Materials nicht zu beeinträchtigen.
  • Das hier offenbarte Material kann in Hardware, Firmware, Software oder einer Kombination davon implementiert werden. Das hier offenbarte Material kann auch als auf einem maschinenlesbaren Medium gespeicherte Anweisungen implementiert werden, die von einem oder mehreren Prozessoren gelesen und ausgeführt werden können. Ein maschinenlesbares Medium kann ein(en) beliebiges Medium und/oder beliebigen Mechanismus zum Speichern oder Übertragen von Informationen in einer für eine Maschine (z. B. eine Computervorrichtung) lesbaren Form aufweisen. Ein maschinenlesbares Medium kann beispielsweise Festwertspeicher (Read-Only Memory, ROM); Direktzugriffsspeicher (Random Access Memory, RAM); Magnetplattenspeichermedien; optische Speichermedien; Flash-Speichervorrichtungen; elektrische, optische, akustische oder andere Formen von sich ausbreitenden Signalen (z. B. Trägerwellen, Infrarotsignale, digitale Signale usw.) und andere beinhalten.
  • Verweise in der Spezifikation auf „genau eine Implementierung“, „eine Implementierung“, „eine beispielhafte Implementierung“ usw. weisen daraufhin, dass die beschriebene Implementierung ein bestimmtes Merkmal, eine bestimmte Struktur oder eine bestimmte Eigenschaft aufweisen kann, aber nicht jede Ausführungsform muss das bestimmte Merkmal, die bestimmte Struktur oder die bestimmte Eigenschaft aufweisen. Zudem beziehen sich solche Formulierungen nicht unbedingt auf dieselbe Implementierung. Ferner wird, wenn ein(e) bestimmte(s) Merkmal, Struktur oder Eigenschaft in Verbindung mit einer Ausführungsform beschrieben wird, vorgebracht, dass es im Wissen eines Fachmanns liegt, diese(s) Merkmal, Struktur oder Eigenschaft in Verbindung mit anderen Implementierungen, ob hier ausdrücklich beschrieben oder nicht, zu bewirken.
  • Verschiedene hier beschriebene Ausführungsformen können eine Speicherkomponente und/oder eine Schnittstelle zu einer Speicherkomponente aufweisen. Derartige Speicherkomponenten können flüchtigen und/oder nichtflüchtigen (non-volatile, NV) Speicher aufweisen. Flüchtiger Speicher kann ein Speichermedium sein, das Strom erfordert, um den Zustand der vom Medium gespeicherten Daten zu erhalten. Nicht einschränkende Beispiele für flüchtigen Speicher können verschiedene Arten von RAM beinhalten, etwa DRAM oder statischen RAM (SRAM). Eine besondere Art von DRAM, die in einem Speichermodul zum Einsatz kommen kann, ist der synchrone dynamische RAM (SDRAM). In besonderen Ausführungsformen kann der DRAM einer Speicherkomponente einem Standard entsprechen, der vom Joint Electron Device Engineering Council (JEDEC) veröffentlicht wurde, etwa JESD79F für SDRAM mit doppelter Datenrate (DDR), JESD79-2F für DDR2 SDRAM, JESD79-3F für DDR3 SDRAM, JESD79-4A für DDR4 SDRAM, JESD209 für Niedrigenergie (Low Power)-DDR (LPDDR), JESD209-2 für LPDDR2, JESD209-3 für LPDDR3 und JESD209-4 für LPDDR4 (diese Standards sind unter jedec.org erhältlich). Solche Standards (und ähnliche Standards) können als DDR-basierte Standards bezeichnet werden, und Kommunikationsschnittstellen der Speichervorrichtungen, die solche Standards implementieren, können als DDR-basierte Schnittstellen bezeichnet werden.
  • Nichtflüchtiger Speicher (Non-Volatile Memory, NVM) kann ein Speichermedium sein, das keinen Strom erfordert, um den Zustand der vom Medium gespeicherten Daten zu erhalten. In einer Ausführungsform kann die Speichervorrichtung eine Block-adressierbare Speichervorrichtung aufweisen, etwa wie solche auf Basis der NAND- oder NOR-Technologien. Eine Speichervorrichtung kann auch nichtflüchtige Vorrichtungen künftiger Generationen aufweisen, etwa eine dreidimensionale (3D-) Crosspoint-Speichervorrichtung oder andere Byteadressierbare, nichtflüchtige „Write-in-Place“-Speichervorrichtungen. In einer Ausführungsform kann die Speichervorrichtung aus Speichervorrichtungen bestehen oder solche aufweisen, die verwenden: Chalcogenid-Glas, Multi-Schwellwert-NAND-Flash-Speicher, NOR-Flash-Speicher, Ein- oder Mehrebenen-Phasenwechselspeicher (Phase Change Memory, PCM), einen resistiven Speicher, Nanodrahtspeicher, Direktzugriffsspeicher mit ferroelektrischem Transistor (Ferroelectric Transistor Random Access Memory, FeTRAM), anti-ferroelektrischen Speicher, magnetoresistiven RAM (MRAM)-Speicher, der Memristor-Technologie enthält, resistiven Speicher, der Metalloxid-basierten, Sauerstofffehlstellen-basierten und Leitungsbrücken-Direktzugriffsspeicher (Conductive Bridge Random Access Memory, CB-RAM) enthält, oder Spin-Transfer-Drehmoment-MRAM (Spin Transfer Torque MRAM, STT-MRAM), eine Spintronik-Magnetübergangsspeicher-basierte Vorrichtung, eine Magnettunnelübergang (Magnetic Tunneling Junction, MTJ)-basierte Vorrichtung, eine Domänenwand- (Domain Wall, DW) und Spin-Bahn-Transfer (Spin Orbit Transfer, SOT)-basierte Vorrichtung, eine Thyristorbasierte Speichervorrichtung oder eine Kombination der obigen oder anderer Speicherarten. Die Speichervorrichtung kann das Halbleiterplättchen (Die) selbst und/oder ein paketiertes Speicherprodukt bezeichnen. In besonderen Ausführungsformen kann eine Speicherkomponente mit nichtflüchtigem Speicher einem oder mehreren der Standards entsprechen, die vom JEDEC veröffentlicht wurden, etwa JESD218, JESD219, JESD220-1, JESD223B, JESD223-1 oder einem anderen geeigneten Standard (die hier zitierten JEDEC-Standards sind unter jedec.org erhältlich).
  • Es wird Bezug genommen auf 1; eine Ausführungsform einer elektronischen Speichereinrichtung 10 kann Speichermedien 12 und Logik 13, die kommunikationsfähig mit den Speichermedien 12 gekoppelt ist, aufweisen. In einigen Ausführungsformen kann die Logik 13 dafür ausgelegt sein zu bestimmen, ob ein Modus auf entweder einen ersten Modus oder einen zweiten Modus eingestellt ist, eine weiche Post-Package-Reparatur im ersten Modus durchzuführen und die weiche Post-Package-Reparatur im zweiten Modus rückgängig zu machen. Beispielsweise kann die Logik 13 ferner dafür ausgelegt sein, Daten von einem ersten Speicherplatz, der einem fehlerhaften Abschnitt des Speichermediums 12 entspricht, an einen zweiten Speicherplatz auszulesen, der eine geringere Kapazität als eine Kapazität des fehlerhaften Abschnitts des Speichermediums 12 hat, den Modus auf den ersten Modus einzustellen, um den ersten Speicherplatz einem Ersatzabschnitt des Speichermediums 12 neu zuzuordnen, und die Daten vom zweiten Speicherplatz an den neu zugeordneten ersten Speicherplatz des Speichermediums 12 zu schreiben. Der zweite Speicherplatz kann beispielsweise einer Reparaturressource entsprechen, etwa einem verfügbaren Register (z. B. in der Einrichtung 10, in einer angeschlossenen Steuerung, in einem angeschlossenen Prozessor usw.), das für den Kopiervorgang genutzt wird.
  • In einigen Ausführungsformen kann die Logik 13 ferner dafür ausgelegt sein, den Modus nach dem Schreibvorgang auf den zweiten Modus einzustellen, wenn weniger als alle Daten von dem fehlerhaften Abschnitt des Speichermediums 12 in den Ersatzabschnitt des Speichermediums 12 kopiert wurden. Beispielsweise kann die Logik 13 für den zweiten Modus dafür ausgelegt sein, einen Quellspeicherplatz, um das Auslesen vom ersten Speicherplatz an den zweiten Speicherplatz erneut auszuführen, und einen Zielspeicherplatz, um das Schreiben an den neu zugeordneten ersten Speicherplatz erneut auszuführen, einzustellen, basierend auf einer Datenmenge, die von dem fehlerhaften Abschnitt in den Ersatzabschnitt kopiert wurde, und den ersten Speicherplatz wieder dem fehlerhaften Abschnitt des Speichermediums 12 neu zuzuordnen. Einige Ausführungsformen der Einrichtung 10 können ferner ein erstes Register 14, um eine Anzeige entweder des ersten Modus oder des zweiten Modus zu speichern, und/oder ein zweites Register 15, um einen Schutzschlüssel zum Aktivieren entweder des ersten Modus und/oder des zweiten Modus zu speichern, aufweisen. In jeder der hier beschriebenen Ausführungsformen kann das Speichermedium 12 DRAM umfassen (z. B. DDR DRAM, SDRAM, LPDDR DRAM usw.).
  • Ausführungsformen jedes der oben genannten Speichermedien 12, der Logik 13, des ersten Registers 14, des zweiten Registers 15 und anderer Komponenten der Einrichtung können mit jeder geeigneten Speichertechnologie, einschließlich Hardware, Software oder einer geeigneten Kombination davon, implementiert werden. Beispielsweise können Hardwareimplementierungen konfigurierbare Logik aufweisen, beispielsweise etwa programmierbare Logikanordnungen (Programmable Logic Arrays, PLAs), feldprogrammierbare Gatteranordnungen (Field Programmable Gate Arrays, FPGAs), komplexe programmierbare Logikbausteine (Complex Programmable Logic Devices, CPLDs) oder Logikhardware mit fester Funktionalität unter Verwendung von Schaltungstechnologie wie zum Beispiel anwendungsspezifischen integrierten Schaltungen (Application Specific Integrated Circuit, ASIC), komplementärer Metalloxid-Halbleiter- (Complementary Metal Oxide Semiconductor, CMOS) oder Transistor-Transistor-Logik (TTL)-Technologie, oder einer beliebigen Kombination davon.
  • In manchen Ausführungsformen können die Speicherkomponenten in oder zusammen mit verschiedenen anderen Komponenten, unter anderem einer Steuerung, angeordnet sein (z. B. auf demselben Halbleiterplättchen). Ausführungsformen einer geeigneten Steuerung können eine Universalsteuerung, eine Spezialsteuerung, eine Speichersteuerung, eine Datenspeichersteuerung, ein Mikrocontroller, ein Universalprozessor, ein Spezialprozessor, eine zentrale Prozessoreinheit (Central Processor Unit, CPU), eine Ausführungseinheit usw. sein. Alternativ oder zusätzlich dazu kann die Steuerung ganz oder teilweise in einem oder mehreren Modulen als ein Satz von Logikanweisungen implementiert sein, der auf einem maschinen- oder computerlesbaren Speichermedium gespeichert ist, etwa einem Direktzugriffsspeicher (Random Access Memory, RAM), einem Festwertspeicher (Read Only Memory, ROM), einem programmierbaren ROM (PROM), Firmware, einem Flash-Speicher usw., um von einem Prozessor oder einer Computervorrichtung ausgeführt zu werden. Zum Beispiel kann ein Computerprogrammcode zum Ausführen von Operationen der Komponenten in jeder beliebigen Kombination von einer oder mehreren für das Betriebssystem (OS) anwendbaren/geeigneten Programmiersprache(n), einschließlich einer objektbezogenen Programmiersprache wie PYTHON, PERL, JAVA, SMALLTALK, C++, C# oder dergleichen sowie herkömmlichen prozeduralen Programmiersprachen wie die Programmiersprache „C“ oder ähnlichen Programmiersprachen, geschrieben sein.
  • Ausführungsformen der Einrichtung 10 können auf einer Halbleitereinrichtung implementiert werden, die ein oder mehrere Siliziumsubstrate aufweist, mit einer an das/die Siliziumsubstrat(e) gekoppelten Speicherschaltung, die eines oder mehrere von Speichermedien 12, Logik 13, erstem Register 14 und zweitem Register 15 aufweist. In einigen Ausführungsformen kann die Speicherschaltung wenigstens teilweise in einer oder mehreren Speicherkomponenten auf dem Siliziumsubstrat implementiert sein. Beispielsweise kann die Speicherschaltung eine Transistoranordnung und/oder andere integrierte Schaltungskomponenten, die mit dem/den Siliziumsubstrat(en) gekoppelt sind, mit Transistor-Kanalbereichen, die innerhalb des/der Siliziumsubstrats/-substrate angeordnet sind, aufweisen. Die Schnittstelle zwischen der Speicherschaltung und dem/den Siliziumsubstrat(en) kann keinen abrupten Übergang darstellen. Die Speicherschaltung kann auch betrachtet werden als eine Epitaxieschicht aufweisend, die auf einem anfänglichen Wafer des/der betreffenden Siliziumsubstrate(s) aufgewachsen ist.
  • Es wird Bezug genommen auf 2A bis 2C; eine Ausführungsform eines Verfahrens 18 zum Reparieren von Speicher kann beinhalten, bei Block 20 zu bestimmen, ob ein Modus auf entweder einen ersten Modus oder einen zweiten Modus eingestellt ist, bei Block 21 eine weiche Post-Package-Reparatur eines Speichermediums im ersten Modus durchzuführen und bei Block 22 die weiche Post-Package-Reparatur des Speichermediums im zweiten Modus rückgängig zu machen. Beispielsweise kann das Verfahren 18 beinhalten, bei Block 23 Daten von einem ersten Speicherplatz, der einem fehlerhaften Abschnitt des Speichermediums entspricht, an einen zweiten Speicherplatz auszulesen, der eine geringere Kapazität als eine Kapazität des fehlerhaften Abschnitts des Speichermediums hat, bei Block 24 den Modus auf den ersten Modus einzustellen, um den ersten Speicherplatz einem Ersatzabschnitt des Speichermediums neu zuzuordnen, und bei Block 25 die Daten vom zweiten Speicherplatz an den neu zugeordneten ersten Speicherplatz des Speichermediums zu schreiben. Das Verfahren 18 kann ferner beinhalten, bei Block 26 den Modus nach dem Schreibvorgang auf den zweiten Modus einzustellen, wenn weniger als alle Daten von dem fehlerhaften Abschnitt des Speichermediums in den Ersatzabschnitt des Speichermediums kopiert wurden. Beispielsweise kann das Verfahren 18 für den zweiten Modus beinhalten, bei Block 27 einen Quellspeicherplatz, um das Auslesen vom ersten Speicherplatz an den zweiten Speicherplatz erneut auszuführen, und einen Zielspeicherplatz, um das Schreiben an den neu zugeordneten ersten Speicherplatz erneut auszuführen, einzustellen, basierend auf einer Datenmenge, die von dem fehlerhaften Abschnitt in den Ersatzabschnitt kopiert wurde, und bei Block 28 den ersten Speicherplatz wieder dem fehlerhaften Abschnitt des Speichermediums neu zuzuordnen.
  • Einige Ausführungsformen des Verfahrens 18 können ferner beinhalten, bei Block 29 eine Anzeige entweder des ersten Modus oder des zweiten Modus in einem ersten Register zu speichern, und/oder bei Block 30 einen Schutzschlüssel zum Aktivieren entweder des ersten Modus und/oder des zweiten Modus in einem zweiten Register zu speichern. In jeder der hier beschriebenen Ausführungsformen kann das Speichermedium in Block 31 DRAM umfassen.
  • Ausführungsformen des Verfahrens 18 können in einem System, einer Einrichtung, einem Computer, einer Vorrichtung usw. implementiert sein, wie sie hier beschrieben sind. Insbesondere können Hardwareimplementierungen des Verfahrens 18 konfigurierbare Logik wie beispielsweise PLAs, FPGAs, CPLDs oder Logikhardware mit fester Funktionalität, die Schaltungstechnologie nutzt, zum Beispiel ASIC, CMOS oder TTL-Technologie, oder eine beliebige Kombination davon aufweisen. Alternativ oder zusätzlich dazu kann das Verfahren 18 in einem oder mehreren Modulen als ein Satz von Logikanweisungen implementiert sein, der auf einem maschinen- oder computerlesbaren Speichermedium gespeichert ist, etwa RAM, ROM, PROM, Firmware, Flash-Speicher usw., um von einem Prozessor oder einer Computervorrichtung ausgeführt zu werden. Zum Beispiel kann ein Computerprogrammcode zum Ausführen der Operationen der Komponenten in jeder beliebigen Kombination von einer oder mehreren für das OS anwendbaren/geeigneten Programmiersprache(n), einschließlich einer objektbezogenen Programmiersprache wie PYTHON, PERL, JAVA, SMALLTALK, C++, C# oder dergleichen sowie herkömmlichen prozeduralen Programmiersprachen wie die Programmiersprache „C“ oder ähnlichen Programmiersprachen, geschrieben sein.
  • Beispielsweise kann das Verfahren 18 auf einem computerlesbaren Medium wie im Zusammenhang mit den Beispielen 22 bis 28 weiter unten beschrieben implementiert sein. Ausführungsformen oder Abschnitte des Verfahrens 18 können in Firmware, Anwendungen (z. B. über eine Anwendungsprogrammierschnittstelle (Application Programming Interface, API)) oder Treibersoftware, die unter einem Betriebssystem (OS) läuft, implementiert sein. Zusätzlich können Logikanweisungen Assemblierer-Anweisungen, Anweisungssatzarchitektur (ISA, Instruction Set Architecture)-Anweisungen, Maschinenanweisungen, maschinenabhängige Anweisungen, Mikrocode, Zustandeinstellungsdaten, Konfigurationsdaten für integrierte Schaltungen, Zustandsinformationen, die elektronische Schaltungen personalisieren, und/oder andere strukturelle Komponenten beinhalten, die in der Hardware (z. B. Host-Prozessor, Zentraleinheit/CPU, Mikrocontroller usw.) nativ enthalten sind.
  • Es wird Bezug genommen auf 3; eine Ausführungsform eines elektronischen Speichersystems 32 kann eine Steuerung 33 und eine Speichervorrichtung 34, die kommunikationsfähig mit der Steuerung 33 gekoppelt ist, aufweisen. Die Speichervorrichtung 34 kann mit Zeilen aufgebaut sein, die eine oder mehrere Ersatzzeilen aufweisen, und die Speichervorrichtung 34 kann ein erstes Register 35 aufweisen, um Anzeigen von zwei oder mehr Modi zu speichern, darunter wenigstens einen Reparaturmodus und einen Reparaturrücksetzmodus. Die Speichervorrichtung 34 kann ferner eine Logik 36 aufweisen, um ein Feld im ersten Register 35 so einzustellen, dass es einen Modus anzeigt, der entweder dem Reparaturmodus oder dem Reparaturrücksetzmodus entspricht, eine SPPR im Reparaturmodus durchzuführen und die SPPR im Reparaturrücksetzmodus rückgängig zu machen. In einigen Ausführungsformen kann die Steuerung 33 ein zweites Register 37 mit einer Größe aufweisen, die kleiner ist als die Größe einer Zeile der Speichervorrichtung 34, und die Logik 36 kann ferner dafür ausgelegt sein, Daten von einem ersten Speicherplatz, der einer fehlerhaften Zeile der Speichervorrichtung 34 entspricht, in das zweite Register 37 zu kopieren, den Modus auf den Reparaturmodus einzustellen, um den ersten Speicherplatz einer Ersatzzeile der Speichervorrichtung 34 neu zuzuordnen, und die Daten vom zweiten Register 37 an den neu zugeordneten ersten Speicherplatz der Speichervorrichtung 34 zu kopieren. In einigen Ausführungsformen kann die Logik 36 ferner dafür ausgelegt sein, das Feld im ersten Register 35 so einzustellen, dass es nach dem Kopieren den Reparaturrücksetzmodus anzeigt, wenn weniger als alle Daten von der fehlerhaften Zeile in die Ersatzzeile kopiert wurden. Zum Beispiel kann die Logik 36 dafür ausgelegt sein, ein Bit im Feld des ersten Registers 35 zu setzen, um den Reparaturrücksetzmodus anzuzeigen. Für den Reparaturrücksetzmodus kann die Logik 36 beispielsweise dafür ausgelegt sein, eine Anzeige zu speichern, wie viele Daten von der fehlerhaften Zeile in die Ersatzzeile kopiert wurden, und den ersten Speicherplatz wieder der fehlerhaften Zeile der Speichervorrichtung 34 zuzuordnen. Einige Ausführungsformen können außerdem ein drittes Register 38 aufweisen, um einen Schutzschlüssel zum Aktivieren entweder des Reparaturmodus und/oder des Reparaturrücksetzmodus zu speichern. In jeder der hier beschriebenen Ausführungsformen kann die Speichervorrichtung 34 DRAM umfassen.
  • Ausführungsformen der Steuerung 33, der Speichervorrichtung 34, des ersten Registers 35, der Logik 36, des zweiten Registers 37, des dritten Registers 38 und anderer Komponenten des Systems 32 können beispielsweise in einem System, einer Einrichtung, einem Computer, einer Vorrichtung usw. implementiert sein, wie sie hier beschrieben sind. Insbesondere können Hardwareimplementierungen dieser Komponenten konfigurierbare Logik wie beispielsweise PLAs, FPGAs, CPLDs oder Logikhardware mit fester Funktionalität, die Schaltungstechnologie nutzt, zum Beispiel ASIC, CMOS oder TTL-Technologie, oder eine beliebige Kombination davon aufweisen. Alternativ oder zusätzlich dazu kann die Logik 36 in einem oder mehreren Modulen als ein Satz von Logikanweisungen implementiert sein, der auf einem maschinen- oder computerlesbaren Speichermedium gespeichert ist, etwa RAM, ROM, PROM, Firmware, Flash-Speicher usw., um von einem Prozessor oder einer Computervorrichtung ausgeführt zu werden. Zusätzlich können Logikanweisungen Assemblierer-Anweisungen, Anweisungssatzarchitektur (ISA, Instruction Set Architecture)-Anweisungen, Maschinenanweisungen, maschinenabhängige Anweisungen, Mikrocode, Zustandeinstellungsdaten, Konfigurationsdaten für integrierte Schaltungen, Zustandsinformationen, die elektronische Schaltungen personalisieren, und/oder andere strukturelle Komponenten beinhalten, die in der Hardware (z. B. Host-Prozessor, Zentraleinheit/CPU, Mikrocontroller usw.) nativ enthalten sind. Ausführungsformen einer geeigneten Steuerung 33 können eine Universalsteuerung, eine Spezialsteuerung, eine Speichersteuerung, eine Datenspeichersteuerung, ein Mikrocontroller, ein Universalprozessor, ein Spezialprozessor, eine zentrale Prozessoreinheit (Central Processor Unit, CPU), eine Ausführungseinheit usw. sein.
  • Einige Ausführungsformen können vorteilhafterweise eine Technologie zum Rückgängigmachen/erneuten Ausführen einer SPPR in DRAMs bereitstellen, um Daten von einem fehlerhaften Bereich in einen Ersatzbereich zu kopieren. Verschiedene Operationen einer DRAM-Vorrichtung können einen Fehler in einem Teil des Speichers erkennen. Zum Beispiel kann ein Lese- oder Schreibzugriff auf einen Speicherplatz eine Zeile mit Fehlern identifizieren, die durch die Fehlerkorrekturcode (ECC, Error Correction Code)-Technologie korrigiert werden können. Wenn die mit der identifizierten Zeile verknüpften Fehler anhaltend oder zahlreich sind (z. B. einen Schwellenwert überschreiten), kann die Zeile für SPPR bezeichnet werden. Beispielsweise kann eine Speichersteuerung einen SPPR-Befehl ausgeben, der die fehlerhafte Zeile bezeichnet.
  • Ein Problem bei der herkömmlichen SPPR in einem laufenden System ist, dass vorübergehend ein Abschnitt des DRAM zugewiesen werden muss, der groß genug ist, um das vollständige Kopieren der Daten von der fehlerhaften Zeile in die Ersatzzeile zu ermöglichen. Bei 1 Kilobyte (kB) Seitengröße beispielsweise wird 1 kB pro DRAM zugewiesen. Für eine Reihe von x4-DDR5-Vorrichtungen beispielsweise werden 8 kB zugewiesen (d. h., die Daten für alle DRAMs innerhalb einer Reihe müssen zusammen geschrieben werden, auch wenn nur eine Vorrichtung repariert wird). In einigen Systemen ist es schwierig, den Platz zum Speichern der Informationen für die Datenkopie zu finden, um die Reparatur durchzuführen. Außerdem kann der Bereich des DRAM, der für die Zwischenspeicherung der Daten vorgesehen ist, zu einer nicht binären Speichergröße führen, was Decodierungen erschwert, um nur eine Zeile zu eliminieren. Einige Ausführungsformen bieten eine Technologie zum Kopieren jeweils nur eines Teils der Daten auf einmal, was vorteilhafterweise die Menge des Zwischenspeichers reduziert, der für die Durchführung der SPPR benötigt wird. In einigen Ausführungsformen kann die SPPR-Operation über ein verfügbares Register in der Steuerung (oder in der CPU) durchgeführt werden, und es wird kein temporärer DRAM für die SPPR-Operation zugewiesen.
  • Einige Ausführungsformen stellen eine Technologie bereit, die es ermöglicht, eine SPPR-Reparatur rückgängig zu machen und dann erneut auszuführen, so dass die Daten von einer fehlerhaften Zeile in kleinen Einheiten in eine Ersatzzeile kopiert werden können. Einige Daten werden aus der fehlerhaften Zeile ausgelesen, dann wird die SPPR durchgeführt, wonach das Schreiben der Daten in die Reparaturzeile folgt. Die SPPR wird dann rückgängig gemacht und es können weitere Daten ausgelesen werden. Der Vorgang wird fortgesetzt, bis alle Daten kopiert sind. Vorteilhafterweise können einige Ausführungsformen die Möglichkeit bieten, eine SPPR durchzuführen, ohne einen Abschnitt des Speichers herauszuarbeiten, um die gesamte fehlerhafte Zeile zu speichern.
  • Es wird Bezug genommen auf 4; eine Ausführungsform eines Verfahrens 40 zum Reparieren von Speicher kann beinhalten, in Block 41 Daten aus einer fehlerhaften Zeile auszulesen, in Block 42 die SPPR durchzuführen und in Block 43 Daten in eine neue Zeile zu schreiben (z. B. wenn die Menge der geschriebenen Daten klein genug ist, um in ein oder mehrere verfügbare Register außerhalb der Speicheranordnung zu passen). Das Verfahren 40 kann dann beinhalten, in Block 44 zu bestimmen, ob alle Daten aus der fehlerhaften Zeile in die neue Zeile kopiert wurden. Wenn dies nicht der Fall ist, kann das Verfahren 40 das Speichern von Informationen (z. B. Adresse, Größe usw.) beinhalten, um anzugeben, wo die SPPR neu gestartet werden soll, und dann die SPPR in Block 45 rückgängig machen. Die Daten werden von dem ursprünglichen, fehlerhaften Speicherplatz ausgelesen, wobei die SPPR rückgängig gemacht wird (z. B. oder anfangs, bevor überhaupt eine SPPR durchgeführt wurde). Daten werden an den Reparatur-Speicherplatz geschrieben, während die SPPR in Kraft ist.
  • Beispielsweise kann eine Sequenz zum Kopieren von Daten aus einer fehlerhaften Zeile M in einem DRAM in eine neue Ersatzzeile im DRAM wie folgt ablaufen. Es wird ein Zwischenspeicherbereich bereitgestellt, der kleiner ist als die gesamte zu verschiebende Datenmenge. Als nicht einschränkendes Beispiel kann ein in einer CPU verfügbares Register eine geeignete Reparaturressource für den Zwischenspeicherbereich sein. Vor der Durchführung einer SPPR wird ein Teil der Daten aus der fehlerhaften Zeile M ausgelesen und in den Zwischenspeicherbereich gelegt. Dann wird eine SPPR durchgeführt, die die fehlerhafte Zeile M durch die Ersatzzeile im DRAM ersetzt. Danach werden die Daten aus dem Zwischenspeicherbereich zurück in die Zeile M im DRAM geschrieben, der sie nun in die Ersatzzeile schreibt. Es ist zu beachten, dass diese Schreibvorgänge an exakt dieselbe Adresse (z. B. Zeile M) im DRAM erfolgen, von der die Daten der fehlerhaften Zeile ausgelesen wurden, aber aufgrund der SPPR ist die fehlerhafte Zeile nun herausgenommen und die gute Ersatzzeile zugeordnet. Wenn nicht der gesamte Inhalt der fehlerhaften Zeile in die Ersatzzeile kopiert wurde, wird eine SPPR-Rücksetzung für Zeile M durchgeführt, um die fehlerhafte Zeile M wieder für weitere Lesevorgänge verfügbar zu machen. Der nächste Teil der Daten aus der fehlerhaften Zeile M wird ausgelesen und in den Zwischenspeicherbereich gelegt. Dann wird die SPPR in Zeile M erneut ausgeführt, wodurch die Ersatzzeile wieder neu zugeordnet wird. Die Daten aus dem Zwischenspeicher werden in den DRAM in Zeile M zurückgeschrieben, der sie wiederum in die Ersatzzeile schreibt. Die Sequenz aus Rücksetzen/erneutem Ausführen wird wiederholt (Rücksetzen/Lesen, erneutes Ausführen/Schreiben), bis alle Daten von der fehlerhaften Zeile M in die Ersatzzeile kopiert sind. Am Ende bleibt die SPPR aktiv und die gute Ersatzzeile wird der Zeile M zugeordnet (und enthält alle Daten). Die fehlerhafte Zeile ist herausgenommen und unzugänglich.
  • Es wird Bezug genommen auf 5; eine Speichervorrichtung 50 kann vorrichtungsspezifischen Speicher 52 und vorrichtungsspezifische Verarbeitungslogik 54 aufweisen. Die vorrichtungsspezifische Verarbeitungslogik 54 kann ferner ein Modusregister 55 aufweisen. Der vorrichtungsspezifische Speicher 52 kann Logik aufweisen, um Informationen in der Speichervorrichtung 50 zu speichern. Die Logik kann beispielsweise eine oder mehrere Speicherzellen aufweisen, die die Informationen speichern können. Der vorrichtungsspezifische Speicher 52 kann nichtflüchtigen Speicher und/oder flüchtigen Speicher für die Informationen bereitstellen.
  • Die vorrichtungsspezifische Verarbeitungslogik 54 kann eine Logik aufweisen, die Instanzen von Befehlen, Informationen und/oder Signalen (z. B. Steuersignalen) verarbeiten kann, die durch die Speichervorrichtung 50 von einer Steuerung gewonnen werden können. Die Verarbeitung kann beispielsweise beinhalten, verschiedene Instanzen der Befehle auszuführen, die über einen Bus oder eine andere Schnittstelle von der Speichersteuerung an die Speichervorrichtung 50 übertragen werden können. Das Modusregister 55 kann ein Register sein, mit dem ein Betriebsmodus für einen oder mehrere Abschnitte der Speichervorrichtung 50 festgelegt werden kann. 6 stellt eine beispielhafte Ausführungsform eines Modusregisters 55 dar.
  • Es wird Bezug genommen auf 6; eine Ausführungsform des Modusregisters 55 kann ein oder mehrere Felder 58a-n (z. B. n > 1) aufweisen. Über ein Feld 58 kann ein Betriebsmodus für die Speichervorrichtung 50 festgelegt werden. Beispielsweise kann über ein Feld 58 ein Betriebsmodus für die Speichervorrichtung 50 entweder auf den SPPR-Modus oder den SPPR-Rücksetzungsmodus eingestellt werden. Es ist zu beachten, dass ein Feld 58 für andere Zwecke verwendet werden kann, die mit der Speichervorrichtung 50 verknüpft sein können. Beispielsweise kann in einem Feld 58 eine Spaltenadressimpuls (CAS, Column Address Strobe)-Latenzzeit, die mit der Speichervorrichtung 50 verknüpft ist, oder eine Burstlänge, die mit der Speichervorrichtung 50 verknüpft ist, angegeben sein.
  • Das Modusregister 55 (oder ein anderes Register) kann ein Feld 58 aufweisen, das zum Aktivieren eines oder mehrerer Befehle, die mit der Speichervorrichtung 50 verknüpft sind, verwendet werden kann. Das Feld 58 kann insofern vorübergehend fix sein, als dass ein vom Feld gehaltener Wert so lange bestehen bleibt, bis ein bestimmtes, mit der Speichervorrichtung 50 verknüpftes Ereignis eintritt (z. B. die Speichervorrichtung 50 wird zurückgesetzt, die Speichervorrichtung 50 wird aus- und wieder eingeschaltet, ein Befehl ändert den Wert des Feldes usw.). Das Feld 58 kann beispielsweise einen Wert enthalten, der dem Schutzschlüssel entspricht, um entweder den SPPR-Modus und/oder den SPPR-Rücksetzungsmodus zu aktivieren.
  • Beispielsweise sei angenommen, dass die Speichervorrichtung 50 die Ausführung des SPPR-Befehls unterstützt. Ein Feld 58 im Modusregister 55 kann ein Bit enthalten, das, wenn es angegeben (z. B. auf eins gesetzt) ist, anzeigen kann, dass die Ausführung des SPPR-Befehls für die Speichervorrichtung 50 freigegeben ist. Nachdem das Bit angegeben ist, kann eine Instanz eines SPPR-Befehls, die durch die Speichervorrichtung 50 empfangen wurde, die vorrichtungsspezifische Verarbeitungslogik 54, die mit der Speichervorrichtung 50 verknüpft ist, veranlassen, die Instanz des SPPR-Befehls auszuführen. Das Bit kann angegeben bleiben und die Ausführung des SPPR-Befehls kann für die Speichervorrichtung 50 aktiviert bleiben, bis die Speichervorrichtung 50 beispielsweise zurückgesetzt oder aus- und wieder eingeschaltet wird oder bis die Speichersteuerung das Bit zurücknimmt. Dasselbe Bit oder ein anderes Bit im Feld 58 kann auch anzeigen, dass die Ausführung des SPPR-Rücksetzungsbefehls aktiviert ist.
  • Es ist zu beachten, dass andere Befehle, die mit der Speichervorrichtung 50 verknüpft sind, auf ähnliche Weise aktiviert und/oder deaktiviert werden können. Die Speichervorrichtung 50 kann zum Beispiel verschiedene herstellerspezifische Befehle unterstützen. Ein oder mehrere Felder 58 können beispielsweise, wie oben beschrieben, verwendet werden, um die Ausführung einer oder mehrerer Instanzen der unterstützten herstellerspezifischen Befehle zu deaktivieren, die durch die Speichervorrichtung 50 erhalten werden können. Ein Feld 58, das zum Deaktivieren eines mit der Speichervorrichtung 50 verknüpften Befehls verwendet werden kann, kann als vorübergehend fix in der Hinsicht betrachtet werden, dass der Befehl deaktiviert bleiben kann, bis ein bestimmtes mit der Speichervorrichtung 50 verknüpftes Ereignis eintritt.
  • Ein elektronisches System (z. B. ein Host-System) kann eine oder mehrere computerausführbare Anweisungen ausführen, die in einem BIOS enthalten sind, das die Speichersteuerung veranlassen kann, einen Wert zu erzeugen, der, wenn er in das Feld 58 gesetzt wird, die Aktivierung des SPPR-Befehls in der Speichervorrichtung 50 bewirken kann. Zusätzlich kann die Speichersteuerung eine Instanz eines Befehls erzeugen (z. B. einen Modusregister-Schreibbefehl (Mode Register Write, MRW)), der verwendet werden kann, um die Speichervorrichtung 50 anzuweisen, den Wert in das Feld 58 zu setzen. Die Instanz des Befehls und der Wert können über einen Bus oder eine andere Schnittstelle von der Speichersteuerung an die Speichervorrichtung 50 übertragen werden. Die Speichervorrichtung 50 kann die Instanz des Befehls und den Wert vom Bus erhalten. Die mit der Speichervorrichtung 50 verknüpfte vorrichtungsspezifische Verarbeitungslogik 54 kann die Instanz des Befehls und den Wert verarbeiten. Die Verarbeitung kann beinhalten, dass die Speichervorrichtung 50 so ausgelegt wird, dass der SPPR-Befehl aktiviert wird, indem beispielsweise der Wert in das Feld 58 gesetzt wird, um anzuzeigen, dass der SPPR-Befehl für die Speichervorrichtung 50 aktiviert ist.
  • Zum Durchführen einer SPPR oder einer SPPR-Rücksetzung kann die vorrichtungsspezifische Verarbeitungslogik 54 eine Instanz eines SPPR-Befehls oder eine Instanz eines SPPR-Rücksetzungsbefehls verarbeiten. Eine Instanz des SPPR-Befehls kann wie folgt verarbeitet werden. Die Speichersteuerung schreibt ein Modusregister-Bit in die Speichervorrichtung, um den Modus anzuzeigen, in den sie eintritt (z. B. SPPR-Modus). Die Speichersteuerung schreibt eine Schutzschlüsselsequenz in ein bestimmtes Modusregister, um die Funktion des SPPR-Modus zu ermöglichen (dieser Schritt kann z. B. das versehentliche Aufrufen des SPPR-Modus erschweren). Die Speichersteuerung gibt einen Aktivierungsbefehl mit der Bankgruppe (falls vorhanden), der Bank und der Zeilenadresse der zu reparierenden Zeile aus. Alle anderen Verwaltungsbefehle können je nach Bedarf ausgegeben/ausgeführt werden. Die Speichersteuerung schreibt die entsprechenden Modusregister-Bits, um den Schutzschlüssel zu löschen (z. B. um den SPPR-Modus zu deaktivieren) und den SPPR-Modus zu verlassen.
  • In ähnlicher Weise kann eine Instanz des SPPR-Rücksetzungsbefehls verarbeitet werden, wobei die Speichersteuerung das/die entsprechende(n) Modusregister-Bit(s) schreibt, um den SPPR-Rücksetzungsmodus zu aktivieren und anzuzeigen, dass der Übergang in diesen Modus erfolgt. Wenn der Aktivierungsbefehl ausgegeben wird, wird die SPPR-Rücksetzungsoperation anstelle der SPPR-Operation durchgeführt. Fachleute auf diesem Gebiet werden einsehen, dass auch andere Steuerungsalgorithmen verwendet werden können, um die SPPR rückgängig zu machen (z. B. ein direktes Steuersignal), und dass die Verwendung von Befehlen/Modi/Registerbits, um zu signalisieren, dass eine SPPR-Rücksetzung rückgängig gemacht werden soll, ein nicht einschränkendes Beispiel ist. In einigen Ausführungsformen kann ein Modusregister drei Bits enthalten, die jeweils anzeigen, dass die Speichervorrichtung 1) eine HPPR durchführen soll; 2) eine SPPR durchführen soll; oder 3) eine SPPR rückgängig machen soll. In einigen Ausführungsformen kann der Rücksetzungs-Algorithmus im Wesentlichen dem SPPR-Algorithmus entsprechen, wobei stattdessen das „Rücksetz“-Bit gesetzt ist. In einigen Ausführungsformen kann derselbe Schutzschlüssel verwendet werden, um sowohl den SPPR-Modus als auch den SPPR-Rücksetzungsmodus zu aktivieren.
  • Wenn der Aktivierungsbefehl gesendet wird, gehören zu den nicht einschränkenden Beispielen für Befehlsparameter: Wenn nur eine SPPR-Ressource pro Bank verfügbar ist, müssen nur die Bankgruppe und die Bankinformationen gesendet werden; wenn die Implementierung die SPPR an der Bank rückgängig machen soll, müssen nur die Bankgruppe und die Bankinformationen gesendet werden (dies erfordert z. B., dass sich die Speichervorrichtung merkt, welches die letzte SPPR war); wenn die Implementierung die letzte SPPR für die gesamte Vorrichtung rückgängig machen soll, müssen keine Informationen zusammen mit dem Aktivierungsbefehl gesendet werden (dies erfordert z.B. wiederum, dass sich die Speichervorrichtung merkt, welches die letzte SPPR war); wenn mehrere Ressourcen pro Bank verfügbar sind und es wünschenswert ist, dass sich die Speichervorrichtung die letzte NICHT merkt, muss die Aktivierung die Bankgruppe, die Bank und die Zeilenadresse aufweisen.
  • Wenn die SPPR rückgängig gemacht und erneut ausgeführt wird, muss die Speichervorrichtung jedes Mal dieselbe Reparaturressource der Zieladresse zuordnen, sonst werden die Daten nicht korrekt kopiert. Einige Ausführungsformen können während des gesamten Algorithmus, der die Daten kopiert, alle anderen weichen oder harten PPR-Operationen verbieten, so dass keine andere PPR die betreffende Reparaturressource beansprucht. Alternativ könnte, wenn die Anforderung besteht, mehrere Zieladressen gleichzeitig rückgängig zu machen und erneut auszuführen, eine Anforderung, dass die SPPR in derselben Reihenfolge durchgeführt wird, garantieren, dass der Zieladresse jedes Mal dieselbe Reparaturressource zugeordnet wird.
  • Bei einigen Speichervorrichtungen muss eine Aktualisierung im fehlerhaften Bereich sowie der Reparaturressource während des Vorgangs des Kopierens der Daten sowie der übrigen Speichervorrichtung aufrechterhalten werden. Um die Aktualisierung im Rest der Vorrichtung aufrechtzuerhalten, sollten die normalen Aktualisierungsbefehle im normalen Intervall gesendet werden. Dies würde jedoch möglicherweise nicht sowohl den fehlerhaften Bereich als auch die Reparaturressource der Zielzeile aktualisieren. Einige Ausführungsformen können sicherstellen, dass die Aktivierungsbefehle häufig genug im Prozess des Lesens des fehlerhaften Bereichs und des Schreibens des Reparaturbereichs ausgeführt werden, um beide Bereiche auf dem neuesten Stand zu halten.
  • In einigen Fällen kann sich eine Reparaturressource über mehrere Zeilen erstrecken. Beispielsweise kann eine Reparaturressource zwei oder mehr Zeilen gleichzeitig reparieren. Wenn dies der Fall ist, müsste die Host-Steuerung diese Zuordnungsinformationen kennen und alle Zeilen, die durch die SPPR geändert werden, kopieren. Andere Befehle als Aktivierungsbefehle können zusätzlich oder alternativ verwendet werden, um die SPPR und/oder die SPPR-Rücksetzung durchzuführen. Mit dem Nutzen der vorliegenden Patentanmeldung werden Fachleute auf diesem Gebiet einsehen, wie die verschiedenen Ausführungsformen auf diese anderen Implementierungen ausgeweitet werden können.
  • Die hier erörterte Technologie kann in verschiedenen Computersystemen bereitgestellt werden (z. B. einschließlich einer nicht mobilen Computervorrichtung wie einem Desktop, einer Arbeitsstation, einem Server, einem Racksystem usw., einer mobilen Computervorrichtung wie einem Smartphone, einem Tablet, einem ultramobilen Personal Computer (UMPC), einem Laptop, einer ULTRABOOK-Computervorrichtung, einer intelligenten Uhr, einer intelligenten Brille, einem intelligenten Armband usw. und/oder einer Client/Edge-Vorrichtung wie einer IoT (Internet of Things, Internet der Dinge)-Vorrichtung (z. B. einem Sensor, einer Kamera usw.)).
  • Es wird nun Bezug genommen auf 7; eine Ausführungsform eines Computersystems 100 kann einen oder mehrere Prozessoren 102-1 bis 102-N aufweisen (hier allgemein als „Prozessoren 102“ oder „Prozessor 102“ bezeichnet). Die Prozessoren 102 können über eine Zwischenverbindung oder einen Bus 104 kommunizieren. Jeder Prozessor 102 kann verschiedene Komponenten aufweisen, von denen einige der Übersichtlichkeit halber nur mit Bezug auf den Prozessor 102-1 erörtert werden. Dementsprechend kann jeder der verbleibenden Prozessoren 102-2 bis 102-N die gleichen oder ähnliche Komponenten aufweisen wie mit Bezug auf den Prozessor 102-1 erörtert.
  • In einigen Ausführungsformen kann der Prozessor 102-1 einen oder mehrere Prozessorkerne 106-1 bis 106-M (hier als „Kerne 106“ oder allgemeiner als „Kern 106“ bezeichnet), einen Cache 108 (der in verschiedenen Ausführungsformen ein gemeinsam genutzter Cache oder ein privater Cache sein kann) und/oder einen Router 110 aufweisen. Die Prozessorkerne 106 können auf einem einzigen IC (Integrated Circuit, integrierte Schaltung)-Chip implementiert sein. Weiterhin kann der Chip einen oder mehrere gemeinsam genutzte und/oder private Caches (etwa den Cache 108), Busse oder Zwischenverbindungen (etwa einen Bus oder eine Zwischenverbindung 112), Speichersteuerungen oder andere Komponenten aufweisen.
  • In einigen Ausführungsformen kann der Router 110 für die Kommunikation zwischen verschiedenen Komponenten des Prozessors 102-1 und/oder des Systems 100 verwendet werden. Weiterhin kann der Prozessor 102-1 mehr als einen Router 110 aufweisen. Ferner können die mehreren Router 110 in Kommunikationsverbindung stehen, um eine Datenweiterleitung zwischen verschiedenen Komponenten innerhalb oder außerhalb des Prozessors 102-1 zu ermöglichen.
  • Der Cache 108 kann Daten (z. B. einschließlich Anweisungen) speichern, die von einer oder mehreren Komponenten des Prozessors 102-1, etwa den Kernen 106, verwendet werden. Zum Beispiel kann der Cache 108 in einem Speicher 114 gespeicherte Daten lokal zwischenspeichern, damit die Komponenten des Prozessors 102 schneller auf diese zugreifen können. Wie in 7 dargestellt, kann der Speicher 114 über die Zwischenverbindung 104 mit den Prozessoren 102 in Kommunikationsverbindung stehen. In einigen Ausführungsformen kann der Cache 108 (der gemeinsam genutzt werden kann) verschiedene Ebenen haben, zum Beispiel kann der Cache 108 ein Mid-Level-Cache (mittlere Cache-Ebene) und/oder ein Last-Level-Cache (LLC, höchste Cache-Ebene) sein. Außerdem kann jeder der Kerne 106 einen Level-1 (L1)-Cache (116-1) aufweisen (hier allgemein als „L1-Cache 116“ bezeichnet). Verschiedene Komponenten des Prozessors 102-1 können direkt, über einen Bus (z. B. den Bus 112) und/oder eine Speichersteuerung oder einen Knoten (Hub) mit dem Cache 108 kommunizieren.
  • Wie in 7 gezeigt, kann der Speicher 114 über eine Speichersteuerung 120 mit anderen Komponenten des Systems 100 gekoppelt sein. Der Speicher 114 kann flüchtigen Speicher beinhalten und kann austauschbar auch als Hauptspeicher bezeichnet werden. Auch wenn gezeigt wird, dass die Speichersteuerung 120 zwischen die Zwischenverbindung 104 und den Speicher 114 gekoppelt ist, kann die Speichersteuerung 120 an anderer Stelle im System 100 angeordnet sein. Beispielsweise können die Speichersteuerung 120 oder Teile davon in einigen Ausführungsformen innerhalb eines der Prozessoren 102 bereitgestellt sein.
  • Das System 100 kann über eine Netzschnittstelle 128 (die z. B. über eine drahtgebundene oder drahtlose Schnittstelle mit einem Computernetz und/oder der Cloud 129 in Kommunikationsverbindung steht) mit anderen Vorrichtungen/Systemen/Netzen kommunizieren. Die Netzschnittstelle 128 kann beispielsweise eine Antenne (nicht dargestellt) beinhalten, um drahtlos (z. B. über eine IEEE (Institute of Electrical and Electronics Engineers) 802.11-Schnittstelle (einschließlich IEEE 802.1 1a/b/g/n/ac usw.), eine Mobilfunkschnittstelle, 3G, 4G, LTE, BLUETOOTH usw.) mit dem Netz/der Cloud 129 zu kommunizieren.
  • Das System 100 kann auch eine Speichervorrichtung, etwa eine SSD-Vorrichtung 130 aufweisen, die über die SSD-Steuerungslogik 125 mit der Zwischenverbindung 104 gekoppelt ist. Daher kann die Logik 125 den Zugriff von verschiedenen Komponenten des Systems 100 auf die SSD-Vorrichtung 130 steuern. Ferner kann die Logik 125, auch wenn die Logik 125 in der Darstellung in 7 direkt mit der Zwischenverbindung 104 gekoppelt ist, alternativ über einen Speicherbus/eine Zwischenverbindung (wie etwa den SATA (Serial Advanced Technology Attachment)-Bus, die PCI (Peripheral Component Interconnect) (oder PCI EXPRESS (PCIe))-Schnittstelle, NVM EXPRESS (NVMe) usw.) mit einer oder mehreren anderen Komponenten des Systems 100 kommunizieren (z. B. wenn der Speicherbus über eine andere Logik wie eine Busbrücke, einen Chipsatz usw. mit der Zwischenverbindung 104 gekoppelt ist). Zusätzlich kann die Logik 125 in verschiedenen Ausführungsformen in die Speichersteuerungslogik integriert oder auf ein und derselben IC (Integrated Circuit, integrierte Schaltung)-Vorrichtung bereitgestellt sein (z. B. auf derselben Leiterplattenvorrichtung wie die SSD-Vorrichtung 130 oder in demselben Gehäuse wie die SSD-Vorrichtung 130).
  • Ferner können die Logik 125 und/oder die SSD-Vorrichtung 130 mit einem oder mehreren Sensoren (nicht dargestellt) gekoppelt sein, um Informationen (z. B. in Form von einem oder mehreren Bits oder Signalen) zu empfangen, die den Status der ein oder mehreren Sensoren oder die von diesen erfassten Werte anzeigen. Diese Sensoren können in der Nähe von Komponenten des Systems 100 (oder anderer hier erörterter Computersysteme) bereitgestellt werden, einschließlich der Kerne 106, Zwischenverbindungen 104 oder 112, Komponenten außerhalb des Prozessors 102, SSD-Vorrichtung 130, SSD-Bus, SATA-Bus, Logik 125 usw., um Schwankungen verschiedener Faktoren zu erfassen, die das Energie-/Wärmeverhalten des Systems/der Plattform beeinflussen, wie etwa Temperatur, Betriebsfrequenz, Betriebsspannung, Stromverbrauch und/oder Kommunikationsaktivität zwischen den Kernen usw.
  • Vorteilhafterweise können die Speichersteuerung 120, der Speicher 114 oder andere Speicherkomponenten, die kommunikationsfähig mit den Prozessoren 102 gekoppelt sind, Technologie aufweisen, um einen oder mehrere Aspekte der Einrichtung 10 (1), des Verfahrens 18 (2A bis 2C), des Systems 32 (3), des Verfahrens 40 (4), der Speichervorrichtung 50 (5) oder des Modusregisters 55 (6) und/oder jedes der hier erörterten Merkmale zu implementieren. In einigen Ausführungsformen kann der Speicher 114 verschiedene Arten von synchronen dynamischen Direktzugriffsspeichern (Synchronous Dynamic Random Access Memory, SDRAM) aufweisen, etwa SDRAM mit doppelter Datenrate (DDR). Mit der wachsenden Kapazität von DDR-SDRAM in Computervorrichtungen ist auch die Fehlerrate von DDR-SDRAM-Modulen gestiegen. Einige DDR-SDRAM-Module können als dynamische Inline-Speichermodule (Dynamic Inline Memory Modules, DIMMs) ausgelegt sein. Jedes DIMM kann wenigstens einen Speicherchip umfassen, der Zeilen und Spalten von dynamischen RAM-Zellen enthält. Die Speichersteuerung 120, die mit den Prozessoren 102 gekoppelt ist, gibt Speichertransferanforderungen aus, um Daten von einer bestimmten Adresse des Speichers 114 auszulesen oder dorthin zu schreiben. Die Speichersteuerung 120 kann auch andere, nicht die Datenübertragung betreffende Befehle an den Speicher 114 ausgeben, etwa SPPR-Befehle und SPPR-Rücksetzungsbefehle, wie hier beschrieben.
  • Zusätzliche Anmerkungen und Beispiele
  • Beispiel 1 beinhaltet eine elektronische Speichereinrichtung, die Speichermedien und Logik, die kommunikationsfähig mit den Speichermedien gekoppelt ist, umfasst, wobei die Logik dazu dient zu bestimmen, ob ein Modus auf entweder einen ersten Modus oder einen zweiten Modus eingestellt ist, eine weiche Post-Package-Reparatur im ersten Modus durchzuführen und die weiche Post-Package-Reparatur im zweiten Modus rückgängig zu machen.
  • Beispiel 2 beinhaltet die Einrichtung aus Beispiel 1, wobei die Logik ferner dazu dient, Daten von einem ersten Speicherplatz, der einem fehlerhaften Abschnitt des Speichermediums entspricht, an einen zweiten Speicherplatz auszulesen, der eine geringere Kapazität als eine Kapazität des fehlerhaften Abschnitts des Speichermediums hat, den Modus auf den ersten Modus einzustellen, um den ersten Speicherplatz einem Ersatzabschnitt des Speichermediums neu zuzuordnen, und die Daten vom zweiten Speicherplatz an den neu zugeordneten ersten Speicherplatz des Speichermediums zu schreiben.
  • Beispiel 3 beinhaltet die Einrichtung aus Beispiel 2, wobei die Logik ferner dazu dient, den Modus nach dem Schreibvorgang auf den zweiten Modus einzustellen, wenn weniger als alle Daten von dem fehlerhaften Abschnitt des Speichermediums in den Ersatzabschnitt des Speichermediums kopiert wurden.
  • Beispiel 4 beinhaltet die Einrichtung aus Beispiel 3, wobei für den zweiten Modus die Logik ferner dazu dient, einen Quellspeicherplatz, um das Auslesen vom ersten Speicherplatz an den zweiten Speicherplatz erneut auszuführen, und einen Zielspeicherplatz, um das Schreiben an den neu zugeordneten ersten Speicherplatz erneut auszuführen, einzustellen, basierend auf einer Datenmenge, die von dem fehlerhaften Abschnitt in den Ersatzabschnitt kopiert wurde, und den ersten Speicherplatz wieder dem fehlerhaften Abschnitt des Speichermediums neu zuzuordnen.
  • Beispiel 5 beinhaltet die Einrichtung aus einem der Beispiele 1 bis 4, die ferner ein erstes Register umfasst, um eine Anzeige entweder des ersten Modus oder des zweiten Modus zu speichern.
  • Beispiel 6 beinhaltet die Einrichtung aus Beispiel 5, die ferner ein zweites Register umfasst, um einen Schutzschlüssel zum Aktivieren entweder des ersten Modus und/oder des zweiten Modus zu speichern.
  • Beispiel 7 beinhaltet die Einrichtung aus einem der Beispiele 1 bis 6, wobei das Speichermedium einen dynamischen Direktzugriffsspeicher umfasst.
  • Beispiel 8 beinhaltet ein elektronisches Speichersystem, das eine Steuerung umfasst, und eine Speichervorrichtung, die kommunikationsfähig mit der Steuerung gekoppelt ist, wobei die Speichervorrichtung mit Zeilen aufgebaut ist, die eine oder mehrere Ersatzzeilen aufweisen, und die Speichervorrichtung ein erstes Register umfasst, um Anzeigen von zwei oder mehr Modi zu speichern, darunter wenigstens einen Reparaturmodus und einen Reparaturrücksetzmodus, sowie Logik, um ein Feld im ersten Register so einzustellen, dass es einen Modus anzeigt, der entweder dem Reparaturmodus oder dem Reparaturrücksetzmodus entspricht, eine weiche Post-Package-Reparatur im Reparaturmodus durchzuführen, und die weiche Post-Package-Reparatur im Reparaturrücksetzmodus rückgängig zu machen.
  • Beispiel 9 beinhaltet das System aus Beispiel 8, wobei die Steuerung ferner ein zweites Register mit einer Größe, die kleiner als eine Größe einer Zeile der Speichervorrichtung ist, umfasst und wobei die Logik ferner dazu dient, Daten von einem ersten Speicherplatz, der einer fehlerhaften Zeile der Speichervorrichtung entspricht, in das zweite Register zu kopieren, den Modus auf den Reparaturmodus einzustellen, um den ersten Speicherplatz einer Ersatzzeile des Speichermediums neu zuzuordnen, und die Daten aus dem zweiten Register an den neu zugeordneten ersten Speicherplatz des Speichermediums zu kopieren.
  • Beispiel 10 beinhaltet das System aus Beispiel 9, wobei die Logik ferner dazu dient, das Feld im ersten Register so einzustellen, dass es nach dem Kopieren den Reparaturrücksetzmodus anzeigt, wenn weniger als alle Daten von der fehlerhaften Zeile in die Ersatzzeile kopiert wurden.
  • Beispiel 11 beinhaltet das System aus Beispiel 10, wobei für den Reparaturrücksetzmodus die Logik ferner dazu dient, eine Anzeige zu speichern, wie viele Daten von der fehlerhaften Zeile in die Ersatzzeile kopiert wurden, und den ersten Speicherplatz wieder der fehlerhaften Zeile der Speichervorrichtung zuzuordnen.
  • Beispiel 12 beinhaltet das System aus einem der Beispiele 9 bis 11, das ferner ein drittes Register umfasst, um einen Schutzschlüssel zum Aktivieren entweder des Reparaturmodus und/oder des Reparaturrücksetzmodus zu speichern.
  • Beispiel 13 beinhaltet das System aus einem der Beispiele 8 bis 12, wobei die Logik ferner dazu dient, ein Bit im Feld des ersten Registers zu setzen, um den Reparaturrücksetzmodus anzuzeigen.
  • Beispiel 14 beinhaltet das System aus einem der Beispiele 8 bis 13, wobei die Speichervorrichtung einen dynamischen Direktzugriffsspeicher umfasst.
  • Beispiel 15 beinhaltet ein Verfahren zum Reparieren von Speicher, das umfasst zu bestimmen, ob ein Modus auf entweder einen ersten Modus oder einen zweiten Modus eingestellt ist, eine weiche Post-Package-Reparatur eines Speichermediums im ersten Modus durchzuführen, und die weiche Post-Package-Reparatur des Speichermediums im zweiten Modus rückgängig zu machen.
  • Beispiel 16 beinhaltet das Verfahren aus Beispiel 15, das ferner umfasst, Daten von einem ersten Speicherplatz, der einem fehlerhaften Abschnitt des Speichermediums entspricht, an einen zweiten Speicherplatz auszulesen, der eine geringere Kapazität als eine Kapazität des fehlerhaften Abschnitts des Speichermediums hat, den Modus auf den ersten Modus einzustellen, um den ersten Speicherplatz einem Ersatzabschnitt des Speichermediums neu zuzuordnen, und die Daten vom zweiten Speicherplatz an den neu zugeordneten ersten Speicherplatz des Speichermediums zu schreiben.
  • Beispiel 17 beinhaltet das Verfahren aus Beispiel 16, das ferner umfasst, den Modus nach dem Schreibvorgang auf den zweiten Modus einzustellen, wenn weniger als alle Daten von dem fehlerhaften Abschnitt des Speichermediums auf den Ersatzabschnitt des Speichermediums kopiert wurden.
  • Beispiel 18 beinhaltet das Verfahren aus Beispiel 17, wobei für den zweiten Modus das Verfahren ferner umfasst, einen Quellspeicherplatz, um das Auslesen vom ersten Speicherplatz an den zweiten Speicherplatz erneut auszuführen, und einen Zielspeicherplatz, um das Schreiben an den neu zugeordneten ersten Speicherplatz erneut auszuführen, einzustellen, basierend auf einer Datenmenge, die von dem fehlerhaften Abschnitt in den Ersatzabschnitt kopiert wurde, und den ersten Speicherplatz wieder dem fehlerhaften Abschnitt des Speichermediums neu zuzuordnen.
  • Beispiel 19 beinhaltet das Verfahren aus Beispiel 15, das ferner umfasst, eine Anzeige entweder des ersten Modus oder des zweiten Modus in einem ersten Register zu speichern.
  • Beispiel 20 beinhaltet das Verfahren aus Beispiel 19, das ferner umfasst, einen Schutzschlüssel zum Aktivieren entweder des ersten Modus und/oder des zweiten Modus in einem zweiten Register zu speichern.
  • Beispiel 21 beinhaltet das Verfahren aus Beispiel 15, wobei das Speichermedium einen dynamischen Direktzugriffsspeicher umfasst.
  • Beispiel 22 beinhaltet wenigstens ein nicht-transitorisches, maschinenlesbares Medium, das mehrere Anweisungen umfasst, die in Reaktion darauf, dass sie auf einer Computervorrichtung ausgeführt werden, die Computervorrichtung veranlassen zu bestimmen, ob ein Modus auf entweder einen ersten Modus oder einen zweiten Modus eingestellt ist, eine weiche Post-Package-Reparatur eines Speichermediums im ersten Modus durchzuführen, und die weiche Post-Package-Reparatur des Speichermediums im zweiten Modus rückgängig zu machen.
  • Beispiel 23 beinhaltet das wenigstens eine nicht-transitorische, maschinenlesbare Medium aus Beispiel 22, das mehrere weitere Anweisungen umfasst, die in Reaktion darauf, dass sie auf einer Computervorrichtung ausgeführt werden, die Computervorrichtung veranlassen, Daten von einem ersten Speicherplatz, der einem fehlerhaften Abschnitt des Speichermediums entspricht, an einen zweiten Speicherplatz auszulesen, der eine geringere Kapazität als eine Kapazität des fehlerhaften Abschnitts des Speichermediums hat, den Modus auf den ersten Modus einzustellen, um den ersten Speicherplatz einem Ersatzabschnitt des Speichermediums neu zuzuordnen, und die Daten vom zweiten Speicherplatz an den neu zugeordneten ersten Speicherplatz des Speichermediums zu schreiben.
  • Beispiel 24 beinhaltet das wenigstens eine nicht-transitorische, maschinenlesbare Medium aus Beispiel 23, das mehrere weitere Anweisungen umfasst, die in Reaktion darauf, dass sie auf einer Computervorrichtung ausgeführt werden, die Computervorrichtung veranlassen, den Modus nach dem Schreibvorgang auf den zweiten Modus einzustellen, wenn weniger als alle Daten von dem fehlerhaften Abschnitt des Speichermediums in den Ersatzabschnitt des Speichermediums kopiert wurden.
  • Beispiel 25 beinhaltet das wenigstens eine nicht-transitorische, maschinenlesbare Medium aus Beispiel 24, das mehrere weitere Anweisungen umfasst, die in Reaktion darauf, dass sie auf einer Computervorrichtung ausgeführt werden, die Computervorrichtung veranlassen, einen Quellspeicherplatz, um das Auslesen vom ersten Speicherplatz an den zweiten Speicherplatz erneut auszuführen, und einen Zielspeicherplatz, um das Schreiben an den neu zugeordneten ersten Speicherplatz erneut auszuführen, einzustellen, basierend auf einer Datenmenge, die von dem fehlerhaften Abschnitt in den Ersatzabschnitt kopiert wurde, und den ersten Speicherplatz wieder dem fehlerhaften Abschnitt des Speichermediums neu zuzuordnen.
  • Beispiel 26 beinhaltet das wenigstens eine nicht-transitorische, maschinenlesbare Medium aus einem der Beispiele 22 bis 25, das mehrere weitere Anweisungen umfasst, die in Reaktion darauf, dass sie auf einer Computervorrichtung ausgeführt werden, die Computervorrichtung veranlassen, eine Anzeige entweder des ersten Modus oder des zweiten Modus in einem ersten Register zu speichern.
  • Beispiel 27 beinhaltet das wenigstens eine nicht-transitorische, maschinenlesbare Medium aus Beispiel 26, das mehrere weitere Anweisungen umfasst, die in Reaktion darauf, dass sie auf einer Computervorrichtung ausgeführt werden, die Computervorrichtung veranlassen, einen Schutzschlüssel zum Aktivieren entweder des ersten Modus und/oder des zweiten Modus in einem zweiten Register zu speichern.
  • Beispiel 28 beinhaltet das wenigstens eine nicht-transitorische, maschinenlesbare Medium aus einem der Beispiele 22 bis 27, wobei das Speichermedium einen dynamischen Direktzugriffsspeicher umfasst.
  • Beispiel 29 beinhaltet eine Speicherreparatureinrichtung, die umfasst: Mittel, um zu bestimmen, ob ein Modus auf entweder einen ersten Modus oder einen zweiten Modus eingestellt ist, Mittel, um eine weiche Post-Package-Reparatur eines Speichermediums im ersten Modus durchzuführen, und Mittel, um die weiche Post-Package-Reparatur des Speichermediums im zweiten Modus rückgängig zu machen.
  • Beispiel 30 beinhaltet die Einrichtung aus Beispiel 29, die ferner umfasst: Mittel, um Daten von einem ersten Speicherplatz, der einem fehlerhaften Abschnitt des Speichermediums entspricht, an einen zweiten Speicherplatz, der eine geringere Kapazität als eine Kapazität des fehlerhaften Abschnitts des Speichermediums hat, auszulesen, Mittel, um den Modus auf den ersten Modus einzustellen, um den ersten Speicherplatz einem Ersatzabschnitt des Speichermediums neu zuzuordnen, und Mittel, um die Daten vom zweiten Speicherplatz an den neu zugeordneten ersten Speicherplatz des Speichermediums zu schreiben.
  • Beispiel 31 beinhaltet die Einrichtung aus Beispiel 30, die ferner umfasst: Mittel, um den Modus nach dem Schreibvorgang auf den zweiten Modus einzustellen, wenn weniger als alle Daten von dem fehlerhaften Abschnitt des Speichermediums in den Ersatzabschnitt des Speichermediums kopiert wurden.
  • Beispiel 32 beinhaltet die Einrichtung aus Beispiel 31, wobei für den zweiten Modus das Verfahren ferner umfasst: Mittel, um einen Quellspeicherplatz, um das Auslesen vom ersten Speicherplatz an den zweiten Speicherplatz erneut auszuführen, und einen Zielspeicherplatz, um das Schreiben an den neu zugeordneten ersten Speicherplatz erneut auszuführen, einzustellen, basierend auf einer Datenmenge, die von dem fehlerhaften Abschnitt in den Ersatzabschnitt kopiert wurde, und Mittel, um den ersten Speicherplatz wieder dem fehlerhaften Abschnitt des Speichermediums neu zuzuordnen.
  • Beispiel 33 beinhaltet die Einrichtung aus einem der Beispiele 29 bis 32, die ferner Mittel umfasst, um eine Anzeige entweder des ersten Modus oder des zweiten Modus in einem ersten Register zu speichern.
  • Beispiel 34 beinhaltet die Einrichtung aus Beispiel 33, die ferner Mittel, umfasst, um einen Schutzschlüssel zum Aktivieren entweder des ersten Modus und/oder des zweiten Modus zu speichern.
  • Beispiel 35 beinhaltet die Einrichtung aus einem der Beispiele 29 bis 34, wobei das Speichermedium einen dynamischen Direktzugriffsspeicher umfasst.
  • Der Begriff „gekoppelt“ kann hier verwendet werden, um auf jede Art direkter oder indirekter Beziehung zwischen den betreffenden Komponenten Bezug zu nehmen, und kann auf elektrische, mechanische, fluide, optische, elektromagnetische, elektromechanische oder andere Verbindungen angewandt werden. Weiterhin werden die Begriffe „erste“, „zweiter“ usw. hier nur verwendet, um eine Erörterung zu erleichtern, und haben keine besondere zeitliche oder chronologische Bedeutung, wenn nicht anders angegeben.
  • Wie in der vorliegenden Patentanmeldung und in den Ansprüchen verwendet, kann eine Liste von Positionen, die mit dem Ausdruck „ein/eine/eines oder mehrere von“ verbunden sind, jede Kombination der aufgeführten Ausdrücke bedeuten. Beispielsweise können die Formulierung „ein oder mehrere von A, B und C“ und die Formulierung „ein oder mehrere von A, B oder C“ beide A; B; C; A und B; A und C; B und C; oder A, B und C bedeuten. Verschiedene Komponenten der hier beschriebenen Systeme können in Software, Firmware und/oder Hardware und/oder einer beliebigen Kombination davon implementiert sein. Zum Beispiel können verschiedene Komponenten der hier erörterten Systeme oder Vorrichtungen wenigstens teilweise von der Hardware eines Computer-SoCs bereitgestellt werden, wie sie etwa in einem Computersystem , beispielsweise einem Smartphone, zu finden ist. Fachleute auf diesem Gebiet können erkennen, dass die hier beschriebenen Systeme zusätzliche Komponenten aufweisen können, die in den entsprechenden Figuren nicht dargestellt sind. Beispielsweise können die hier erörterten Systeme zusätzliche Komponenten wie etwa Bitstrom-Multiplexer- oder Demultiplexer-Module und dergleichen aufweisen, die im Interesse der Übersichtlichkeit nicht dargestellt wurden.
  • Während die Implementierung der hier erörterten beispielhaften Prozesse die Durchführung aller gezeigten Operationen in der dargestellten Reihenfolge beinhalten kann, ist die vorliegende Offenbarung in dieser Hinsicht nicht beschränkt, und in verschiedenen Beispielen kann die Implementierung der hier dargestellten beispielhaften Prozesse nur eine Teilmenge der gezeigten Operationen, in einer anderen Reihenfolge als dargestellt durchgeführte Operationen oder zusätzliche Operationen beinhalten.
  • Darüber hinaus können eine oder mehrere der hier erörterten Operationen in Reaktion auf Anweisungen ausgeführt werden, die von einem oder mehreren Computerprogrammprodukten bereitgestellt werden. Solche Programmprodukte können signalführende Medien beinhalten, die Anweisungen bereitstellen, die, wenn sie beispielsweise von einem Prozessor ausgeführt werden, die hier beschriebene Funktionalität bereitstellen können. Die Computerprogrammprodukte können in jeder Form von einem oder mehreren maschinenlesbaren Medien bereitgestellt werden. So kann beispielsweise ein Prozessor, der eine oder mehrere Grafikverarbeitungseinheiten oder Prozessorkerne aufweist, einen oder mehrere der Blöcke der hier beschriebenen beispielhaften Prozesse in Reaktion auf Programmcode und/oder Anweisungen oder Anweisungssätze ausführen, die durch ein oder mehrere maschinenlesbare Medien an den Prozessor übermittelt werden. Im Allgemeinen kann ein maschinenlesbares Medium Software in Form von Programmcode und/oder Anweisungen oder Anweisungssätzen übermitteln, die bewirken können, dass eine(s) der hier beschriebenen Vorrichtungen und/oder Systeme wenigstens Teile der hier erörterten Operationen und/oder beliebige Teile der Vorrichtungen, Systeme oder beliebige Module oder Komponenten wie hier erörtert implementiert.
  • Der Begriff „Modul“ bezieht sich in jeder hier beschriebenen Implementierung auf eine beliebige Kombination von Softwarelogik, Firmwarelogik, Hardwarelogik und/oder Schaltungen, die dafür ausgelegt ist, die hier beschriebene Funktionalität bereitzustellen. Software kann als Softwarepaket, Code und/oder Anweisungssatz oder Anweisungen ausgeführt sein, und „Hardware“, wie in jeder hier beschriebenen Ausführungsform verwendet, kann z. B. einzeln oder in beliebiger Kombination festverdrahtete Schaltungen, programmierbare Schaltungen, Zustandsmaschinenschaltungen, Schaltungen mit fester Funktion, Ausführungseinheit-Schaltungen und/oder Firmware beinhalten, die Anweisungen speichert, die von programmierbaren Schaltungen ausgeführt werden. Die Module können zusammen oder einzeln als Schaltkreis ausgeführt sein, der ein Teil eines größeren Systems ist, beispielsweise eine integrierte Schaltung (IC, Integrated Circuit), ein Ein-Chip-System (SoC, System on Chip) usw.
  • Verschiedene Ausführungsformen können unter Verwenden von Hardwareelementen, Softwareelementen oder einer Kombination von beiden implementiert werden. Beispiele für Hardwareelemente können Prozessoren, Mikroprozessoren, Schaltungen, Schaltelemente (z.B. Transistoren, Widerstände, Kondensatoren, Induktoren und so weiter), integrierte Schaltungen, anwendungsspezifische integrierte Schaltungen (Application Specific Integrated Circuit, ASIC), programmierbare Logikvorrichtungen (Programmable Logic Devices, PLD), Digitalsignalprozessoren (DSP), feldprogrammierbare Gatteranordnungen (Field Programmable Gate Array, FPGA), Logikgatter, Register, Halbleitervorrichtungen, Chips, Mikrochips, Chipsätze und so weiter beinhalten. Beispiele für Software können Softwarekomponenten, Programme, Anwendungen, Computerprogramme, Anwendungsprogramme, Systemprogramme, Maschinenprogramme, Betriebssystemsoftware, Middleware, Firmware, Softwaremodule, Routinen, Unterprogramme, Funktionen, Verfahren, Abläufe, Softwareschnittstellen, Anwendungsprogramm-Schnittstellen (Application Program Interfaces, API), Anweisungssätze, Rechencodes, Computercode, Codesegmente, Computercodesegmente, Wörter, Werte, Symbole oder jede beliebige Kombination davon einschließen. Das Bestimmen, ob eine Ausführungsform unter Verwendung von Hardwareelementen und/oder Softwareelementen implementiert wird, kann gemäß jeder beliebigen Anzahl von Faktoren variieren, wie etwa gewünschter Rechengeschwindigkeit, Leistung, Wärmetoleranzen, Verarbeitungszyklusbudget, Eingangsdatenrate, Ausgangsdatenrate, Speicherressourcen, Datenbusgeschwindigkeiten und anderen Konstruktions- oder Leistungsbeschränkungen.
  • Ein oder mehrere Aspekte von wenigstens einer Ausführungsform können durch repräsentative Anweisungen implementiert sein, die auf einem maschinenlesbaren Medium gespeichert sind, das verschiedene Logiken im Prozessor repräsentiert, welche beim Auslesen durch eine Maschine bewirken, dass die Maschine Logik für das Durchführen der hier beschriebenen Verfahren erstellt. Derartige Darstellungen, bekannt als „IP-Kerne“, können auf einem greifbaren, maschinenlesbaren Medium gespeichert und für verschiedene Kunden oder Herstellungseinrichtungen bereitgestellt werden, um in die Herstellungsmaschinen geladen zu werden, die die Logik oder den Prozessor tatsächlich herstellen.
  • Auch wenn bestimmte in der vorliegenden Patentanmeldung dargelegte Merkmale unter Bezugnahme auf verschiedene Implementierungen beschrieben wurden, ist diese Beschreibung keinesfalls als einschränkend zu verstehen. Daher gelten verschiedene Modifikationen der hier beschriebenen Implementierungen ebenso wie weitere Implementierungen, die für Fachleute auf dem Gebiet der Technik, in das die vorliegende Offenbarung fällt, offensichtlich sind, als unter das Wesen und den Schutzumfang der vorliegenden Offenbarung fallend.
  • Es ist einzusehen, dass die Ausführungsformen nicht auf die so beschriebenen Ausführungsformen beschränkt sind, sondern mit gewissen Modifikationen und Abänderungen realisiert werden können, ohne den Schutzbereich der beigefügten Patentansprüche zu verlassen. Beispielsweise können die vorstehenden Ausführungsformen eine bestimmte Kombination von Merkmalen aufweisen. Die vorstehenden Ausführungsformen sind jedoch in dieser Hinsicht nicht beschränkt, und in verschiedenen Implementierungen können die vorstehenden Ausführungsformen die Realisierung nur einer Teilmenge derartiger Merkmale, die Realisierung einer anderen Reihenfolge derartiger Merkmale, die Realisierung einer anderen Kombination derartiger Merkmale und/oder die Realisierung zusätzlicher Merkmale als der explizit aufgelisteten Merkmale beinhalten. Der Schutzumfang der Ausführungsformen soll daher unter Bezugnahme auf die beigefügten Patentansprüche bestimmt werden, zusammen mit der Gesamtheit aller Äquivalente, denen derartige Schutzansprüche zustehen.

Claims (25)

  1. Elektronische Speichereinrichtung, die umfasst: Speichermedien; und Logik, die kommunikationsfähig mit den Speichermedien gekoppelt ist, wobei die Logik dazu dient: zu bestimmen, ob ein Modus auf entweder einen ersten Modus oder einen zweiten Modus eingestellt ist, eine weiche Post-Package-Reparatur im ersten Modus durchzuführen und die weiche Post-Package-Reparatur im zweiten Modus rückgängig zu machen.
  2. Einrichtung nach Anspruch 1, wobei die Logik ferner dazu dient: Daten von einem ersten Speicherplatz, der einem fehlerhaften Abschnitt des Speichermediums entspricht, an einen zweiten Speicherplatz auszulesen, der eine geringere Kapazität als eine Kapazität des fehlerhaften Abschnitts des Speichermediums hat; den Modus auf den ersten Modus einzustellen, um den ersten Speicherplatz einem Ersatzabschnitt des Speichermediums neu zuzuordnen; und die Daten vom zweiten Speicherplatz an den neu zugeordneten ersten Speicherplatz des Speichermediums zu schreiben.
  3. Einrichtung nach Anspruch 2, wobei die Logik ferner dazu dient: den Modus nach dem Schreibvorgang auf den zweiten Modus einzustellen, wenn weniger als alle Daten von dem fehlerhaften Abschnitt des Speichermediums in den Ersatzabschnitt des Speichermediums kopiert wurden.
  4. Einrichtung nach Anspruch 3, wobei für den zweiten Modus die Logik ferner dazu dient: einen Quellspeicherplatz, um das Auslesen vom ersten Speicherplatz an den zweiten Speicherplatz erneut auszuführen, und einen Zielspeicherplatz, um das Schreiben an den neu zugeordneten ersten Speicherplatz erneut auszuführen, einzustellen, basierend auf einer Datenmenge, die von dem fehlerhaften Abschnitt in den Ersatzabschnitt kopiert wurde; und den ersten Speicherplatz wieder dem fehlerhaften Abschnitt des Speichermediums neu zuzuordnen.
  5. Einrichtung nach einem der Ansprüche 1 bis 4, die ferner umfasst: ein erstes Register, um eine Anzeige entweder des ersten Modus oder des zweiten Modus zu speichern.
  6. Einrichtung nach Anspruch 5, die ferner umfasst: ein zweites Register, um einen Schutzschlüssel zum Aktivieren entweder des ersten Modus und/oder des zweiten Modus zu speichern.
  7. Einrichtung nach einem der Ansprüche 1 bis 4, wobei das Speichermedium einen dynamischen Direktzugriffsspeicher umfasst.
  8. Elektronisches Speichersystem, das umfasst: eine Steuerung; und eine Speichervorrichtung, die kommunikationsfähig mit der Steuerung gekoppelt ist, wobei die Speichervorrichtung mit Zeilen aufgebaut ist, die eine oder mehrere Ersatzzeilen aufweisen, und die Speichervorrichtung ein erstes Register umfasst, um Anzeigen von zwei oder mehr Modi zu speichern, darunter wenigstens einen Reparaturmodus und einen Reparaturrücksetzmodus, sowie Logik, um: ein Feld im ersten Register so einzustellen, dass es einen Modus anzeigt, der entweder dem Reparaturmodus oder dem Reparaturrücksetzmodus entspricht, eine weiche Post-Package-Reparatur im Reparaturmodus durchzuführen und die weiche Post-Package-Reparatur im Reparaturmodus rückgängig zu machen.
  9. System nach Anspruch 8, wobei die Steuerung ferner ein zweites Register mit einer Größe, die kleiner als eine Größe einer Zeile der Speichervorrichtung ist, umfasst und wobei die Logik ferner dazu dient: Daten von einem ersten Speicherplatz, der einer fehlerhaften Zeile der Speichervorrichtung entspricht, in das zweite Register zu kopieren; den Modus auf den Reparaturmodus einzustellen, um den ersten Speicherplatz einer Ersatzzeile der Speichervorrichtung neu zuzuordnen; und die Daten aus dem zweiten Register an den neu zugeordneten ersten Speicherplatz des Speichermediums zu kopieren.
  10. System nach Anspruch 9, wobei die Logik ferner dazu dient: das Feld im ersten Register so einzustellen, dass es nach dem Kopieren den Reparaturrücksetzmodus anzeigt, wenn weniger als alle Daten von der fehlerhaften Zeile in die Ersatzzeile kopiert wurden.
  11. System nach Anspruch 10, wobei für den Reparaturrücksetzmodus die Logik ferner dazu dient: eine Anzeige zu speichern, wie viele Daten von der fehlerhaften Zeile in die Ersatzzeile kopiert wurden; und den ersten Speicherplatz wieder der fehlerhaften Zeile der Speichervorrichtung zuzuordnen.
  12. System nach einem der Ansprüche 9 bis 11, das ferner umfasst: ein drittes Register, um einen Schutzschlüssel zum Aktivieren entweder des Reparaturmodus und/oder des Reparaturrücksetzmodus zu speichern.
  13. System nach einem der Ansprüche 9 bis 11, wobei die Logik ferner dazu dient: ein Bit im Feld des ersten Registers zu setzen, um den Reparaturrücksetzmodus anzuzeigen.
  14. System nach einem der Ansprüche 9 bis 11, wobei die Speichervorrichtung einen dynamischen Direktzugriffsspeicher umfasst.
  15. Verfahren zum Reparieren von Speicher, das umfasst: zu bestimmen, ob ein Modus auf entweder einen ersten Modus oder einen zweiten Modus eingestellt ist; eine weiche Post-Package-Reparatur eines Speichermediums im ersten Modus durchzuführen; und die weiche Post-Package-Reparatur des Speichermediums im zweiten Modus rückgängig zu machen.
  16. Verfahren nach Anspruch 15, das ferner umfasst: Daten von einem ersten Speicherplatz, der einem fehlerhaften Abschnitt des Speichermediums entspricht, an einen zweiten Speicherplatz auszulesen, der eine geringere Kapazität als eine Kapazität des fehlerhaften Abschnitts des Speichermediums hat; den Modus auf den ersten Modus einzustellen, um den ersten Speicherplatz einem Ersatzabschnitt des Speichermediums neu zuzuordnen; und die Daten vom zweiten Speicherplatz an den neu zugeordneten ersten Speicherplatz des Speichermediums zu schreiben.
  17. Verfahren nach Anspruch 16, das ferner umfasst: den Modus nach dem Schreibvorgang auf den zweiten Modus einzustellen, wenn weniger als alle Daten von dem fehlerhaften Abschnitt des Speichermediums auf den Ersatzabschnitt des Speichermediums kopiert wurden.
  18. Verfahren nach Anspruch 17, wobei für den zweiten Modus das Verfahren ferner umfasst: einen Quellspeicherplatz, um das Auslesen vom ersten Speicherplatz an den zweiten Speicherplatz erneut auszuführen, und einen Zielspeicherplatz, um das Schreiben an den neu zugeordneten ersten Speicherplatz erneut auszuführen, einzustellen, basierend auf einer Datenmenge, die von dem fehlerhaften Abschnitt in den Ersatzabschnitt kopiert wurde; und den ersten Speicherplatz wieder dem fehlerhaften Abschnitt des Speichermediums neu zuzuordnen.
  19. Verfahren nach einem der Ansprüche 15 bis 18, das ferner umfasst: eine Anzeige entweder des ersten Modus oder des zweiten Modus in einem ersten Register zu speichern.
  20. Verfahren nach Anspruch 19, das ferner umfasst: einen Schutzschlüssel zum Aktivieren entweder des ersten Modus und/oder des zweiten Modus in einem zweiten Register zu speichern.
  21. Wenigstens ein nicht-transitorisches, maschinenlesbares Medium, das mehrere Anweisungen umfasst, die in Reaktion darauf, dass sie auf einer Computervorrichtung ausgeführt werden, die Computervorrichtung veranlassen: zu bestimmen, ob ein Modus auf entweder einen ersten Modus oder einen zweiten Modus eingestellt ist; eine weiche Post-Package-Reparatur eines Speichermediums im ersten Modus durchzuführen; und die weiche Post-Package-Reparatur des Speichermediums im zweiten Modus rückgängig zu machen.
  22. Wenigstens ein nicht-transitorisches, maschinenlesbares Medium nach Anspruch 21, das mehrere weitere Anweisungen umfasst, die in Reaktion darauf, dass sie auf der Computervorrichtung ausgeführt werden, die Computervorrichtung veranlassen: Daten von einem ersten Speicherplatz, der einem fehlerhaften Abschnitt des Speichermediums entspricht, an einen zweiten Speicherplatz auszulesen, der eine geringere Kapazität als eine Kapazität des fehlerhaften Abschnitts des Speichermediums hat; den Modus auf den ersten Modus einzustellen, um den ersten Speicherplatz einem Ersatzabschnitt des Speichermediums neu zuzuordnen; und die Daten vom zweiten Speicherplatz an den neu zugeordneten ersten Speicherplatz des Speichermediums zu schreiben.
  23. Wenigstens ein nicht-transitorisches, maschinenlesbares Medium nach Anspruch 22, das mehrere weitere Anweisungen umfasst, die in Reaktion darauf, dass sie auf der Computervorrichtung ausgeführt werden, die Computervorrichtung veranlassen: den Modus nach dem Schreibvorgang auf den zweiten Modus einzustellen, wenn weniger als alle Daten von dem fehlerhaften Abschnitt des Speichermediums in den Ersatzabschnitt des Speichermediums kopiert wurden.
  24. Wenigstens ein nicht-transitorisches, maschinenlesbares Medium nach Anspruch 23, das mehrere weitere Anweisungen umfasst, die für den zweiten Modus in Reaktion darauf, dass sie auf der Computervorrichtung ausgeführt werden, die Computervorrichtung veranlassen: einen Quellspeicherplatz, um das Auslesen vom ersten Speicherplatz an den zweiten Speicherplatz erneut auszuführen, und einen Zielspeicherplatz, um das Schreiben an den neu zugeordneten ersten Speicherplatz erneut auszuführen, einzustellen, basierend auf einer Datenmenge, die von dem fehlerhaften Abschnitt in den Ersatzabschnitt kopiert wurde; und den ersten Speicherplatz wieder dem fehlerhaften Abschnitt des Speichermediums neu zuzuordnen.
  25. Wenigstens ein nicht-transitorisches, maschinenlesbares Medium nach einem der Ansprüche 21 bis 24, das mehrere weitere Anweisungen umfasst, die in Reaktion darauf, dass sie auf der Computervorrichtung ausgeführt werden, die Computervorrichtung veranlassen: eine Anzeige entweder des ersten Modus oder des zweiten Modus in einem ersten Register zu speichern; und einen Schutzschlüssel zum Aktivieren entweder des ersten Modus und/oder des zweiten Modus in einem zweiten Register zu speichern.
DE102020132768.4A 2020-02-19 2020-12-09 Rückgängigmachen und erneutes ausführen von weicher post-package-reparatur Pending DE102020132768A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/795,119 2020-02-19
US16/795,119 US11837314B2 (en) 2020-02-19 2020-02-19 Undo and redo of soft post package repair

Publications (1)

Publication Number Publication Date
DE102020132768A1 true DE102020132768A1 (de) 2021-08-19

Family

ID=70970274

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102020132768.4A Pending DE102020132768A1 (de) 2020-02-19 2020-12-09 Rückgängigmachen und erneutes ausführen von weicher post-package-reparatur

Country Status (2)

Country Link
US (1) US11837314B2 (de)
DE (1) DE102020132768A1 (de)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11557366B2 (en) * 2019-11-21 2023-01-17 SK Hynix Inc. Memory, memory system, operation method of the memory, and operation of the memory system
US11646095B2 (en) * 2020-03-06 2023-05-09 Micron Technology, Inc. Configurable soft post-package repair (SPPR) schemes
CN113821364A (zh) * 2020-06-20 2021-12-21 华为技术有限公司 内存故障的处理方法、装置、设备及存储介质
US11106529B1 (en) * 2020-07-22 2021-08-31 Dell Products L.P. Post package repair failure memory location reporting system
TWI779444B (zh) * 2020-12-28 2022-10-01 瑞昱半導體股份有限公司 用於同步動態隨機存取記憶體之控制模組及其控制方法
US11829635B2 (en) * 2021-10-21 2023-11-28 Dell Products L.P. Memory repair at an information handling system

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160046502A (ko) * 2014-10-21 2016-04-29 에스케이하이닉스 주식회사 메모리 장치 및 이를 포함하는 메모리 시스템
KR20180043432A (ko) * 2016-10-19 2018-04-30 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 장치의 동작 방법
US10403390B1 (en) * 2018-04-09 2019-09-03 Micron Technology, Inc. Post-packaging repair of redundant rows

Also Published As

Publication number Publication date
US20200185052A1 (en) 2020-06-11
US11837314B2 (en) 2023-12-05

Similar Documents

Publication Publication Date Title
DE102020132768A1 (de) Rückgängigmachen und erneutes ausführen von weicher post-package-reparatur
DE102018122491A1 (de) Halbleiterspeichervorrichtung und verfahren zum betreiben derselben
DE102020115736A1 (de) Halbleiterspeichervorrichtung und Verfahren zum Betreiben der Halbleiterspeichervorrichtungen
DE102020130044A1 (de) Techniken zum verhindern von lese-störung in nand-speicher
DE112017006599T5 (de) Programmierbare datenstruktur zum wiederholten schreiben in einen speicher
DE112016004314T5 (de) Programmierbare zeitgebung von chipinterner terminierung in einem mehrrangigen system
US10346177B2 (en) Boot process with parallel memory initialization
DE112017001471T5 (de) Mehrebenen-speichermanagement
DE102018214010A1 (de) Verfahren und Vorrichtung zur Reduzierung von unbemerkten Datenfehlern in nichtflüchtigen Speichersystemen
DE102017100584A1 (de) Verfahren zum Zugreifen auf heterogene Speicher und Speichermodul, welches heterogene Speicher aufweist
DE102020103570A1 (de) Host-definierte bandbreitenzuweisung für ssd-aufgaben
KR20190091371A (ko) 하이브리드 메모리 모듈들을 위한 메모리의 i/o들을 구성하기 위한 장치들 및 방법들
DE112017004966T5 (de) Erweiterte anwendung eines fehlerprüfungs- und korrekturcodes in einem speicher
DE112016006203T5 (de) Verfahren zum zugreifen auf ein dual in-line memory-modul über mehrere datenkanäle oder betreiben desselben
DE102017106713A1 (de) Rechensystem, nichtflüchtiges Speichermodul und Verfahren zum Betreiben einer Speichervorrichtung
DE102019112751A1 (de) Selektives hintergrund-datenauffrischen für ssd
DE102020133664A1 (de) Initialisierung und Leistungsausfallisolation eines Speichermoduls in einem System
DE102022106019A1 (de) Verfahren und vorrichtung für ein gegendrucksignal bei einer speicherchip-rowhammer-bedrohung und hostseitige reaktion
DE102020115747A1 (de) Speichermodul, Fehlerkorrekturverfahren für Speicher-Controller, der dieses steuert, und Rechensystem, das dieses umfasst
DE102019134290A1 (de) Verfahren und System zum Verbessern der Leistung einer Speichervorrichtung unter Verwendung einer asynchronen, unabhängigen Ebenenlesefunktionalität
DE112020003028T5 (de) Vorrichtungen und verfahren zum reparieren von defekten speicherzellen basierend auf einer spezifizierten fehlerrate für bestimmte speicherzellen
DE102020103372A1 (de) Proaktive verringerung der neulese-auslösung
DE102022121773A1 (de) In-memory-assoziativverarbeitungssystem
DE102022102434A1 (de) Flüchtiges Register zum Erkennen eines Stromverlusts
DE102018204931A1 (de) Dauerhaftes Caching eines arbeitsspeicherseitigen Cache-Inhalts

Legal Events

Date Code Title Description
R081 Change of applicant/patentee

Owner name: SK HYNIX NAND PRODUCT SOLUTIONS CORP., SAN JOS, US

Free format text: FORMER OWNER: INTEL CORPORATION, SANTA CLARA, CALIF., US