DE112019007385T5 - Verbesserte sicherheit und korrektheit beim lesen und programmieren von daten in einem nichtflüchtigen speichergerät - Google Patents

Verbesserte sicherheit und korrektheit beim lesen und programmieren von daten in einem nichtflüchtigen speichergerät Download PDF

Info

Publication number
DE112019007385T5
DE112019007385T5 DE112019007385.0T DE112019007385T DE112019007385T5 DE 112019007385 T5 DE112019007385 T5 DE 112019007385T5 DE 112019007385 T DE112019007385 T DE 112019007385T DE 112019007385 T5 DE112019007385 T5 DE 112019007385T5
Authority
DE
Germany
Prior art keywords
memory
read
block
array
reading
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
DE112019007385.0T
Other languages
English (en)
Inventor
Alberto Troia
Antonino Mondello
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.)
Micron Technology Inc
Original Assignee
Micron Technology Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Micron Technology Inc filed Critical Micron Technology Inc
Publication of DE112019007385T5 publication Critical patent/DE112019007385T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/349Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
    • G11C16/3495Circuits or methods to detect or delay wearout of nonvolatile EPROM or EEPROM memory devices, e.g. by counting numbers of erase or reprogram cycles, by using multiple memory areas serially or cyclically
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/102External programming circuits, e.g. EPROM programmers; In-circuit programming or reprogramming; EPROM emulators
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/14Circuits for erasing electrically, e.g. erase voltage switching circuits
    • G11C16/16Circuits for erasing electrically, e.g. erase voltage switching circuits for erasing blocks, e.g. arrays, words, groups
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/26Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/021Detection or location of defective auxiliary circuits, e.g. defective refresh counters in voltage or current generators
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/028Detection or location of defective auxiliary circuits, e.g. defective refresh counters with adaption or trimming of parameters
    • 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/18Address generation devices; Devices for accessing memories, e.g. details of addressing circuits
    • G11C29/24Accessing extra cells, e.g. dummy cells or redundant cells
    • 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/38Response verification devices
    • G11C29/42Response verification devices using error correcting codes [ECC] or parity check
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/30Power supply circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3418Disturbance prevention or evaluation; Refreshing of disturbed memory data
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3436Arrangements for verifying correct programming or erasure
    • G11C16/3468Prevention of overerasure or overprogramming, e.g. by verifying whilst erasing or writing
    • G11C16/3472Circuits or methods to verify correct erasure of nonvolatile memory cells whilst erasing is in progress, e.g. by detecting onset or cessation of current flow in cells and using the detector output to terminate erasure
    • 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/52Protection of memory contents; Detection of errors in memory contents
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/04Arrangements for writing information into, or reading information out from, a digital store with means for avoiding disturbances due to temperature effects

Landscapes

  • Read Only Memory (AREA)

Abstract

Die vorliegende Offenbarung bezieht sich auf ein Verfahren zur Verbesserung der Sicherheit der Lesephase einer nichtflüchtigen Speichervorrichtung, die mindestens ein Array von Speicherzellen und eine zugehörige Dekodier- und Erfassungsschaltung sowie eine Speichersteuerung umfasst, wobei das Verfahren Folgendes umfasst:- Speichern mindestens eines bekannten Musters in einer Dummy-Zeile des Speicherblocks;- Durchführen einiger Lesezyklen, die die Lesetrimmparameter ändern, bis zu dem Moment, in dem der bekannte Wert korrekt gelesen wird;- Übernahme der Trimmparameter der korrekten Ablesung für die nachfolgenden Ablesephasen.Die Offenbarung betrifft ferner eine Speichervorrichtung, die zum Implementieren des obigen Verfahrens strukturiert ist.

Description

  • TECHNISCHES GEBIET
  • Die vorliegende Offenbarung bezieht sich im Allgemeinen auf Speichervorrichtungen und insbesondere auf Ausführungsformen, die sich auf die Sicherheit und verbesserte Leistungen beim Lesen und Programmieren von Daten in nichtflüchtigen Speichervorrichtungen beziehen.
  • Ausführungsformen der vorliegenden Offenbarung beziehen sich insbesondere auf ein Verfahren zum Neutrimmen der Einstellung einer Speicherkomponente, um die Cross-Temp-Robustheit der Speichervorrichtung zu verbessern.
  • STAND DER TECHNIK
  • Speichervorrichtungen sind auf dem elektronischen Gebiet gut bekannt, um digitale Informationen zu speichern und darauf zuzugreifen. Im Allgemeinen können verschiedene Arten von Halbleiterspeichervorrichtungen in komplexere Systeme eingebaut werden, die entweder nichtflüchtige Speicherkomponenten sowie flüchtige Speicherkomponenten umfassen, beispielsweise in sogenannten System-on-Chips (SoC), bei denen der oben erwähnte Speicher Komponenten eingebettet sind.
  • Heutzutage erfordert jedoch der Bedarf an Echtzeit-Betriebssystemen, insbesondere für Automobilanwendungen, SoC mit immer mehr Leistung und Effizienz und die bekannten Lösungen erfüllen diese Anforderungen teilweise, jedoch nicht kosten- und ertragswirksam.
  • Nichtflüchtiger Speicher kann persistente Daten bereitstellen, indem er gespeicherte Daten beibehält, wenn er nicht mit Strom versorgt wird, und kann unter anderem NAND-Flash-Speicher, NOR-Flash-Speicher, 3DXP-Speicher, MRAMs, STTRAM und CBRAMs umfassen. NAND-Flash hat kürzere Lösch- und Schreibzeiten und erfordert weniger Chipfläche pro Zelle, wodurch eine höhere Speicherdichte und niedrigere Kosten pro Bit als NOR-Flash ermöglicht werden. Die I/O-Schnittstelle von NAND-Flash bietet jedoch keinen externen Adressbus mit wahlfreiem Zugriff. Vielmehr müssen Daten blockweise gelesen werden, mit typischen Blockgrößen von Hunderten bis Tausenden von Bits.
  • Flash-Speicherbauelemente leiden unter Temperaturschwankungen, insbesondere dem Anstieg der Temperatur während ihres Betriebs. Der Grund liegt hauptsächlich in der Tatsache begründet, dass, wenn die den Speicher bildenden Floating-Gates in Gegenwart einer höheren Temperatur vorgespannt werden, ein Energieniveau erreichen kann, das ausreicht, um einen Sprung in den Kanal zu ermöglichen, und die Folge ist ein Ladungsverlust. Bei anderen Technologien, die beispielsweise Ladungsfallen verwenden, beschleunigt die hohe Temperatur die Rekombination und bedeutet den Verlust der gespeicherten Informationen. Diese Probleme beeinträchtigen die Sicherheit und Korrektheit der aus dem Speichergerät gelesenen Daten.
  • Ein Ziel der vorliegenden Offenbarung besteht darin, eine Flash-Speichervorrichtung und ein Leseverfahren für Flash-Speichervorrichtungen bereitzustellen, die den Einfluss von Alter und Temperatur auf die Leistung der Speichervorrichtung reduzieren, wodurch das Risiko des Informationsverlusts verringert wird.
  • Figurenliste
    • 1 zeigt eine schematische Ansicht eines Systems mit einer Speicherkomponente, die einem Controller zugeordnet ist, der Daten-, Adress- und Steuersignale mit der Speichervorrichtung austauscht;
    • 2 ist eine schematische Ansicht der Speicherkomponente gemäß der vorliegenden Offenbarung;
    • 3 ist eine schematische Ansicht der Speicherkomponente gemäß der vorliegenden Offenbarung;
    • 4 ist eine schematische Ansicht eines Speicherblocks, der durch eine Vielzahl von Zeilen eines Speicherarrays gemäß einer Ausführungsform der vorliegenden Offenbarung gebildet wird;
    • 5 ist eine schematische Ansicht einer Gruppe von Adressregistern für eine Speicherseite im Speicherabschnitt der vorliegenden Offenbarung;
    • 6 zeigt in einem schematischen Diagramm die Verteilung einer gut gelöschten/programmierten Zelle (1 Bit/Zelle);
    • 7 eigt ein Diagramm entsprechend 6, das eine vergrößerte Verteilung zeigt, die aufgrund von Alterung, Temperatur und Belastung in Richtung des Verarmungszustands (negatives Vth) verschoben ist;
    • 8 zeigt in einem Blockdiagramm die Phasen eines Verfahrens gemäß der vorliegenden Offenbarung.
  • DETAILLIERTE BESCHREIBUNG
  • In der folgenden detaillierten Beschreibung wird auf die beigefügten Zeichnungen verwiesen, die einen Teil dieses Dokuments bilden und in denen zur Veranschaulichung bestimmte Ausführungsformen dargestellt sind. In den Zeichnungen beschreiben gleiche Bezugszeichen in den verschiedenen Ansichten im Wesentlichen ähnliche Komponenten. Es können auch andere Ausführungsformen offenbart werden, und es können strukturelle, logische und elektrische Änderungen vorgenommen werden, ohne vom Anwendungsbereich der vorliegenden Offenbarung abzuweichen. Die folgende detaillierte Beschreibung ist deshalb nicht in einschränkendem Sinn aufzufassen.
  • Mehrere Ausführungsformen der vorliegenden Offenbarung richten sich auf Speicherbauelemente, Systeme mit Speicherbauelementen und Verfahren zum Betreiben von Speicherbauelementen, die potentiellen Probleme des Alterns, der Temperatur und der Prozessdrift während des Speicherbetriebs vermeiden.
  • In einer Ausführungsform der vorliegenden Offenbarung wird eine neue Speicherarchitektur für eine verbesserte Sicherheit und Leistung der Datenlesephase in der nichtflüchtigen Speichervorrichtung bereitgestellt.
  • Insbesondere bezieht sich die vorliegende Offenbarung auf eine nichtflüchtige Speichervorrichtung, die mindestens ein Array von Speicherzellen mit einer Vielzahl von Speicherblöcken umfasst;
    • - mindestens eine Dummy-Zeile für jeden Block zum Speichern mindestens eines bekannten Musters;
    • - einen Controller des Speichergeräts;
    • - von der Steuerung angesteuerte Leseschaltungen zum Lesen des in der Dummy-Reihe gespeicherten bekannten Musters durch Ausführen einiger Lesezyklen und Ändern der gelesenen Trimmparameter bis zu dem Moment, in dem der Wert des bekannten Musters korrekt gelesen wird.
  • Das bekannte Muster ist dem Speichercontroller bekannt.
  • Darüber hinaus entsprechen die geänderten Trimmparameter des korrekten Messwerts einem eingestellten Temperaturwert, der in einem programmierbaren Register auf Werksebene aufgezeichnet wurde.
  • In dieser Dummy-Zeile sind auch interne Blockvariablen der Lese- und/oder Löschphase gespeichert. Diese internen Blockvariablen sind Parameter wie die Leseimpulse und/oder die während der Lesephase an den Speicherblock angelegten Zielspannungen.
  • Für ein besseres Verständnis der vorliegenden Offenbarung sollte beachtet werden, dass Flash-Speicher typischerweise ein Basisspeicherelement verwenden. Beispielsweise wird ein Transistor als Speicherelement in allen Technologien verwendet, die ein Floating-Gate, eine Ladungsfalle, ein Split-Gate und dergleichen verwenden. Andere Technologien wie der 3D-XPoint-Speicher oder der Phase Change Memory verwenden eine andere Art von Basisspeicherelement. In allen Fällen besteht jedoch die Notwendigkeit, die gespeicherten Daten rechtzeitig zu verwalten und diese Daten schneller zu lesen.
  • Wenn ein Speicherarray adressiert wird, kann es eine oder mehrere Schichten der Adressübersetzung geben, beispielsweise eine Übersetzung zwischen einer logischen Adresse, die von einem Host-Gerät verwendet wird, und einer physikalischen Adresse, die einer Stelle in dem Speicherarray entspricht. Ein solcher Mechanismus ist sehr nützlich, um erweiterte Funktionen wie Block Wear Leveling und oder Factory/On Field Block Redundanz zu implementieren.
  • Obwohl es ungewöhnlich ist, kann es vorkommen, dass während eines Löschvorgangs ein Stromausfall auftritt. In einem solchen Szenario ist es sehr wichtig, über einen Mechanismus zu verfügen, der die Erkennung von nicht gut oder unvollständig gelöschten Blöcken ermöglicht. Eine Löschunterbrechung verursacht einige Probleme:
    • 1) Daten können nicht programmiert werden, da der Speicherblock programmierte Bits anzeigen kann;
    • 2) der Block kann als gelöscht erscheinen, hat aber Zuverlässigkeit, d.h. Probleme bei der Datenspeicherung;
    • 3) der Block kann an bestimmten Stellen aufgrund erschöpfter Zellen defekt erscheinen.
  • Da ein nicht gut gelöschter Block nicht programmiert werden kann, wäre es äußerst wichtig, während einer Programmierphase eines Blocks, in dem ein Stromausfall aufgetreten ist, jeden unerklärlichen Fehler zu vermeiden.
  • In einigen Ausführungsformen werden bei jeder Einschalt- und/oder Rücksetzphase und/oder auf Benutzeranforderung alle Blöcke in dem Array überprüft, um zu bestimmen, ob einige von ihnen in einem Stromausfallzustand sind. Dies kann durch Verifizieren des Vorhandenseins des bekannten Musters in der oben erwähnten Dummy-Reihe erfolgen.
  • Bei Stromausfall:
    • - eine Warnmeldung kann das Host-Gerät erreichen, wenn eine Leseoperation des Statusregisters durchgeführt wird; und/oder
    • - Ein Löschen eines solchen Blocks wird durchgeführt, um den gesamten Block wiederherzustellen. Dies kann automatisch während des Einschaltens und/oder wenn das Problem auf Host-Befehl erkannt wird, passieren. Diese Maßnahmen verhindern jedoch nicht das Problem.
  • Darüber hinaus kann es vorkommen, dass Temperaturschwankungen innerhalb eines Geräts zu Messwertdriften führen, die als Geistertemperaturproblem bezeichnet werden.
  • Der mit solchen Temperaturschwankungen verbundene Nachteil wirkt sich auf die reale Bitverteilung aus, die von den Leseverstärkern als verschoben in Bezug auf den idealen Zentralwert, für den sie programmiert wurden, erfasst wird.
  • Um nur ein praktisches Beispiel zu geben: Wenn die Programmierphase bei -40°C durchgeführt wurde, kann es vorkommen, dass bei 120°C die Leseergebnisse viele Fehler enthalten. Dies ist ein echtes Problem für alle Chips, die in Automobilvorrichtungen eingebaut sind, bei denen eine Erhöhung der Temperatur während des Betriebs eines Fahrzeugs berücksichtigt werden muss; außerdem verschiebt oder vergrößert ein Temperaturanstieg entweder die Verteilung der gut gelöschten/programmierten Zellen nach links und/oder nach rechts.
  • Daher wird die Lesephase der Speichervorrichtung meistens unter Umgebungsbedingungen durchgeführt, die der ursprünglichen Programmierphase ähnlich sind; dies gilt auch für die Löschphase.
  • Ein Speichergerät kann als eine Art „Echtzeit“-Gerät in dem Sinne definiert werden, dass es zuverlässige Daten in allen Umgebungsbetriebszuständen freigeben muss, unabhängig davon, ob es in der Fabrik getestet wurde, die aufgrund positiver Testergebnisse eine Zulassung meldet.
  • Darüber hinaus wird die temperaturbedingte Drift durch das Alter des Geräts weiter erhöht, und dieses Problem könnte bei Speichergeräten, die in System-on-Chip-fahrende autonome Fahrzeuge integriert sind, besonders heikel sein.
  • 1 veranschaulicht ein schematisches Beispiel eines Systems 10, das eine Flash-Speichervorrichtung 100 enthält. Das System beinhaltet auch eine Speichersteuerung 101, die an die Speichervorrichtung 100 gekoppelt ist.
  • Die Steuerung 101 ist über einen Datenbus 105, einen Steuerbus 106 und einen Adressbus 107 mit der Speichervorrichtung 100 gekoppelt gezeigt. In einer Ausführungsform könnte der Datenbus ein 64-Bit- und/oder 128-Bitbreiter Double-Data-Rate-(DDR)-Bus sein.
  • Das in 1 gezeigte Systemgerät 10 kann ein Host-Gerät oder ein mit der Speicherkomponente 100 gekoppeltes System-on-Chip sein, wie aus der Beschreibung anderer Ausführungsformen der vorliegenden Offenbarung hervorgeht, die unter Bezugnahme auf andere Figuren erfolgt. In jedem Fall werden ein Teil des System-on-Chip 10 und der Speicherbaustein 100 auf einem entsprechenden Chip realisiert, der mit einem anderen Lithografieverfahren hergestellt wird. In der folgenden Beschreibung durch SoC kann es sich um einen Teil des gesamten Systems (z. B. den Abschnitt, mit dem die Speichervorrichtung gekoppelt ist) oder das System als Ganzes, z. B. die Kombination aus dem Hostvorrichtungsabschnitt und der Speichervorrichtung, gemeint sein.
  • Die Speicherkomponente 100 ist eine unabhängige Struktur, aber sie ist strikt dem Host-Gerät oder der SoC-Struktur zugeordnet. Insbesondere ist die Speichervorrichtung 100 mit der SoC-Struktur verbunden und verknüpft, die eine solche Struktur teilweise überlappt, während der entsprechende Halbleiterbereich der SoC-Struktur für andere logische Schaltungen und zur Unterstützung der teilweise überlappenden, strukturell unabhängigen Speichervorrichtung 100 verwendet wurde, beispielsweise durch eine Vielzahl von Pfeilern oder andere ähnliche alternative Verbindungen wie Bumping Balls oder mit einer Flip-Chip-ähnlichen Technologie.
  • Genauer gesagt umfasst die nichtflüchtige Speicherkomponente 100 mit Bezug auf 2 ein Array 90 von Flash-Speicherzellen und eine um das Speicherarray herum angeordnete Schaltung, wie unten ausführlicher beschrieben wird. Die Kopplung zwischen der SoC-Struktur 10 und der Speicherkomponente 100 wird durch die Verbindung einer Vielzahl von entsprechenden Pads oder Stiftanschlüssen erreicht, die einander in einem Schaltungslayout gegenüberliegen, das die Ausrichtung der Pads beibehält, selbst wenn die Größe der Speicherkomponente geändert wird.
  • In einer Ausführungsform der vorliegenden Offenbarung wurde die Anordnung der Pads der Speicherkomponente auf einer Oberfläche der Speicherkomponente 100, in der Praxis auf der Oberseite des Arrays, realisiert. Genauer gesagt sind die Pads über dem Array so angeordnet, dass, wenn die Speicherkomponente 100 umgedreht wird, ihre Pads den entsprechenden Pads der Host- oder SoC-Struktur 10 zugewandt sind.
  • Am Ende wird das Speicherbauteil 100 nach den Bedürfnissen des Benutzers in einem Wertebereich hergestellt, der je nach verfügbarer Technologie variieren kann, z. B. von mindestens 128 Mbit bis 512 Mbit oder sogar mehr, ohne dass die Rechte des Antragstellers eingeschränkt werden. Genauer gesagt ermöglicht die vorgeschlagene externe Architektur die Überschreitung der Grenzen der derzeitigen eFlash-Technologie (d.h. eingebettete Flash-Technologie), was die Integration eines größeren Speichers ermöglicht, da dieser je nach Speichertechnologie und Technologieknoten 512Mbit und/oder 1Gbit und/oder mehr betragen kann.
  • Die endgültige Konfiguration wird eine Face-to-Face-Verbindung SoC/Flash Array sein, bei der die Leseverstärker mit dem SoC in einer Direktspeicherzugriffskonfiguration für Benutzermodi mit Hochfrequenzzugriffen verbunden sind.
  • Der direkte Speicherzugriff ermöglicht es, die endgültige Latenz zu reduzieren, die der SoC beim Lesen der Daten erfahren kann. Darüber hinaus wird die endgültige Latenzzeitauch durch den Blockformfaktor, die Verteilung der Leseverstärker zwischen den Blöcken, die Auswahl der Vergleichsschwelle in den Leseverstärkern und den optimierten Pfad reduziert.
  • Für ein besseres Verständnis des Prinzips der vorliegenden Offenbarung sollte angemerkt werden, dass ein direkter Speicherzugriff ein Merkmal von Computersystemen ist, das es bestimmten Hardware-Subsystemen ermöglicht, auf den Hauptsystemspeicher (im Allgemeinen flüchtig, wie z CPU (Zentraleinheit).
  • Genauer gesagt wird DMA verwendet, wenn die CPU Speicher verwendet, und es wird typischerweise für einen gewissen Taktzyklus der Lese- oder Schreiboperation belegt. Somit dauert es immer dann, wenn die E/A-Geräte auf den Speicher zugreifen, viel Zeit, um die Daten in den und/oder aus dem Speicher zu bekommen.
  • Die E/A-Geräte leiten zuerst die Übertragung mit dem DMA-Controller ein, geben die Kontrolle über die Busse von der CPU ab, und dann führt die CPU andere Operationen aus, während die Übertragung läuft, und empfängt schließlich einen Interrupt vom DMA-Controller, wenn die Operation abgeschlossen ist, daher können von ihm nun Adress- oder Datenbusse für seine internen Operationen verwendet werden. Diese Funktion ist jederzeit nützlich, wenn die CPU mit der Datenübertragungsrate nicht Schritt halten kann oder wenn die CPU Arbeit ausführen muss, während sie auf eine relativ langsame E/A-Datenübertragung (Eingabe oder Ausgabe) wartet. Viele Hardwaresysteme verwenden DMA, einschließlich Festplattencontroller, Grafikkarten, Netzwerkkarten und Soundkarten.
  • DMA wird gemäß der vorliegenden Offenbarung für die Intra-Chip-Datenübertragung in Mehrkernprozessoren verwendet. Die Kerne mit DMA-Kanälen können Daten mit viel weniger CPU-Overhead zu und von den Speicherkomponenten übertragen als Kerne ohne DMA-Kanäle. In ähnlicher Weise kann ein Verarbeitungselement innerhalb eines Mehrkernprozessors Daten zu und von seinem lokalen Speicher übertragen, ohne seine Prozessorzeit zu belegen, wodurch Berechnung und Datenübertragung parallel ablaufen können.
  • Der direkte Speicherzugriff der vorliegenden Offenbarung verwendet Boundary-Scan-Zellen und Leseverstärker als ein System und Verfahren zum Adressieren des direkten Speicherzugriffsvorgangs und zum Lokalisieren der Speicheradresse zu einem spezifischen DMA-Flash-Array. Dabei wird eine modifizierte JTAG-Zellenstruktur implementiert, um eine Vergrößerung der bei einem Direktzugriff zu lesenden Speicherseiten zu ermöglichen.
  • Unter genauerer Bezugnahme auf das Beispiel von 2 wird die Hauptstruktur der Speicherkomponente 100 gemäß einer Ausführungsform der vorliegenden Offenbarung offengelegt.
  • Die Speicherkomponente 100 enthält mindestens: eine I/O-Schaltung 5, einen Mikrosequenzer 3, ein Array von Speicherzellen 90, Spannungs- und Stromreferenzgeneratoren 7, Ladungspumpen 2 und Decodierungsschaltungen 8, die sich an der Peripherie des Arrays oder unterhalb des befinden Array, Leseverstärker 9 und entsprechende Latches, eine Befehlsbenutzerschnittstelle, beispielsweise ein CUI-Block 4.
  • Das Array von Speicherzellen 90 enthält nichtflüchtige Flash-Speicherzellen. Die Zellen können in Blöcken gelöscht werden, anstatt ein Byte nach dem anderen. Jeder löschbare Speicherblock umfasst eine Vielzahl von nichtflüchtigen Speicherzellen, die in einer Matrix von Zeilen und Spalten angeordnet sind. Jede Zelle ist mit einer Zugangsleitung und/oder einer Datenleitung gekoppelt. Die Zellen werden durch Manipulation der Spannungen und des Timings auf den Zugriffs- und Datenleitungen programmiert und gelöscht.
  • Zum Beschreiben und Löschen der Speicherzellen des Arrays 90 ist ein spezieller logischer Schaltungsteil vorgesehen, der einen vereinfachten RISC-Controller (Reduced Instruction Set Computer) oder eine Modify Finite State Machine enthält, d. h. die logische Schaltung zur Handhabung der Programmier - und Löschalgorithmen.
  • Zum Lesen der Speicherzellen des Arrays 90 ist ein spezieller Schaltungsteil vorgesehen, der eine optimierte Read Finite State Machine (RISC) enthält, die für eine hohe Leseleistung sorgt, wie z. B. Verzweigungsvorhersage, Fetch/Pre-Fetch, Interrupt-Verwaltung und so weiter. Die Fehlerkorrektur wird als Operation dem SoC 10 überlassen; die zusätzlichen Bits werden dem Controller 101 bereitgestellt, um jedes mögliche ECC-Syndrom zu speichern, das der Seite zugeordnet ist. Die ECC-Zellen ermöglichen dem Host-Controller zu verstehen, ob eine Beschädigung der Daten plus Adressinhalt auftritt. Der ECC ermöglicht es dem Host auch, die empfangenen Daten zu korrigieren. der Host ist dafür verantwortlich, die Daten im Speicher basierend auf der in den empfangenen Daten vorgenommenen Korrektur zu fixieren.
  • Die oben beschriebenen Schreib- und Löschphasen werden von der Speichersteuerung innerhalb des Speichergeräts gehandhabt, da die interne Flash-Steuerung bei Lesevorgängen, die vom Host gesteuert werden, nicht arbeitet.
  • Unter genauerer Bezugnahme auf das Beispiel von 3 ist in einer Ausführungsform der vorliegenden Offenbarung das Speicherarray 90 als eine Sammlung von Unterarrays 120 aufgebaut. Auf diese Weise wird mit kleineren Sektoren im Vergleich zu bekannten Lösungen die Zugriffszeit erheblich reduziert und der gesamte Durchsatz des Speicherbauelements verbessert.
  • Der Vorteil dieser Architektur ist, dass sie sehr skalierbar ist und eine Erweiterung bzw. Verringerung der Dichte des Endgeräts nur durch Spiegelung eines Teilarrays und Herstellung der Verbindung erfolgt.
  • Das Host-Gerät oder das System-on-Chip 10 umfasst normalerweise mehr als einen Kern, und jeder Kern ist mit einem entsprechenden Bus oder Kanal zum Empfang und zur Übertragung von Daten an die Speicherkomponente 1 verbunden. Jedes Unterarray 120 hat Zugang zu einem entsprechenden Kanal, um mit einem entsprechenden Kern des System-on-Chip zu kommunizieren.
  • Der Kern des Host-Geräts kann über einige interne Pads Zugang zu einer JTAG-Schnittstelle haben. Solche Pads sind schnell und haben die Fähigkeit, die maximale Frequenz zu unterstützen. Solche Pads können jedoch keine analoge Spannung außerhalb des Flash-Arrays verwalten.
  • In Ausführungsformen der vorliegenden Offenlegung ermöglicht ein direkter Speicherzugriff (DMA) eine Verringerung der endgültigen Latenz, die der SoC beim Lesen der Daten erfahren kann.
  • Um die Probleme von in System-on-Chips eingebetteten Flash-Speicherbauelementen zu überwinden und eine sehr niedrige Anfangslatenz und einen hohen Durchsatz zu erzielen, wurde eine skalierbare, kostengünstige, effektive und zuverlässige Speichervorrichtung und ein Verfahren entwickelt, das den Abschluss des Lesevorgangs mit Daten, Adresse und ECC durch DMA-Flash-Array, wodurch sichergestellt wird, dass die Daten von genau demselben Speicherort gelesen werden müssen, den der Controller verlangt.
  • Bei näherer Betrachtung der internen Struktur der Speicherkomponente 100 ist festzustellen, dass die Architektur des Arrays 90 als eine Sammlung von Unterarrays 120 aufgebaut ist, wie in 3 schematisch dargestellt.
  • Jedes Unterarray 120 ist innerhalb der Speichervorrichtung 100 unabhängig adressierbar. Jedes Unterarray 120 enthält mehrere Speicherblöcke 160, wie in den 3 und 4 dargestellt.
  • Auf diese Weise wird mit kleineren Sektoren im Vergleich zu bekannten Lösungen die Zugriffszeit erheblich reduziert und der gesamte Durchsatz des Speicherbauelements verbessert. Die Reduzierung der anfänglichen Latenzzeit erfolgt auf Blockebene, da die Zeilen- und Spaltenleitungen, die mit dem Lesepfad verbundene Latenz und die externe Kommunikation optimiert wurden.
  • In den hier offenbarten Ausführungsformen ist das Speicherarray 90 mit einer Anzahl von Unterarrays 120 strukturiert, die mindestens der Anzahl der Kerne des zugehörigen SoC 10 und damit der Anzahl der entsprechenden Kommunikationskanäle entspricht. So sind beispielsweise mindestens vier Speicher-Unterarrays 120 vorgesehen, eines für jeden Kommunikationskanal mit einem entsprechenden Kern des SoC 10.
  • Das Host-Gerät oder das System-on-Chip 10 enthält normalerweise mehr als einen Kern, und jeder Kern ist mit einem entsprechenden Bus oder Kanal zum Empfang und zur Übertragung von Daten an die Speicherkomponente 100 verbunden.
  • Daher hat in der vorliegenden Implementierung jedes Unterarray 120 Zugang zu einem entsprechenden Kanal, um mit einem entsprechenden Kern des System-on-Chip 10 zu kommunizieren. Das Ergebnis der Speicherblöcke wird direkt auf den SoC übertragen, ohne Hochleistungspuffer zu verwenden und den Pfad zu optimieren.
  • Der Vorteil dieser Architektur besteht darin, dass sie sehr skalierbar ist, wobei sich das Erweitern und/oder Reduzieren der Dichte des Endgeräts nur in der Spiegelung eines Unterarrays und der Erzeugung der Verbindung oder der Erhöhung der Anzahl von Blöcken jedes Unterarrays, d. h. der verfügbaren, niederschlägt Dichte pro Kern.
  • Darüber hinaus ist in einer Ausführungsform der vorliegenden Offenbarung jedes Speicherunterarray 120 in Speicherblöcken 160 strukturiert, die in 4 schematisch gezeigt sind.
  • Jeder unabhängig adressierbare Speicherplatz der Blöcke eines jeden Speicher-Unterarrays 90 adressiert eine erweiterte Seite 150, die im Folgenden ebenfalls definiert wird, wobei der Begriff Superseite eine doppelte erweiterte Seite meint.
  • Anders gesagt, die atomare Seite von 128 Bit, die in jedem Unterarray 120 verwendet wird, um den Kommunikationskanal mit der SoC-Vorrichtung zu füllen, wurde in der vorliegenden Implementierung vergrößert, um die gespeicherte Adresse und den ECC zu enthalten.
  • Als nicht einschränkendes Beispiel umfasst diese erweiterte Seite 150 einen String, der eine erste Gruppe von mindestens N Bits umfasst, zum Beispiel einhundertachtundzwanzig (128) Bit für den E/A-Datenaustausch mit dem SoC-Gerät 10 plus bei mindestens eine zweite Gruppe von M Bits, beispielsweise vierundzwanzig (24) Adressbit und eine letzte oder dritte Gruppe von mindestens R Bits, beispielsweise sechzehn (16) ECC-Bit. Das M-Adress-Bit (im Beispiel die 24 Adress-Bits) reichen aus, um bis zu 2 GigaBit verfügbaren Speicherplatzes zu adressieren.
  • Gemäß der vorliegenden Offenbarung bereiten die Ausgänge der Leseverstärker SA jeweils eine doppelt erweiterte Seite vor, d.h. eine Superseite 150 mit einer Anzahl von Bits, die durch die doppelte Kombination der oben erwähnten drei Gruppen von Datenbits gegeben sind, Adresse Bits und ECC-Bits, entsprechend der Größe des Speicherarrays.
  • In dem hiermit offenbarten spezifischen, aber nicht einschränkenden Beispiel enthält jede erweiterte Seite 150 mindestens 168 Bit, die durch die Kombination der obigen drei Gruppen von N+M+R = 128 + 24 + 16 Daten, Adresse und ECC-Bit erhalten werden, und jedes Superseite wird durch ein paar erweiterte Seiten gebildet, d.h. eine Gruppe von 168 x 2 Bits.
  • Um nur ein nicht einschränkendes numerisches Beispiel zu geben, enthält jede Zeile eines Speicherblocks 160 sechzehn erweiterte Seiten. Daher enthält die resultierende Zeile 2688 Bit, die aus der Kombination von sechzehn erweiterten Seiten stammen, die unabhängig adressierbar sind und jede davon 168 Bit enthält, oder, anders gesagt, die Kombination von acht Superseiten.
  • Jeder Speicherblock enthält mindestens 256 Zeilen und jede Zeile enthält sechzehn Superseiten der obigen Größe. Jede Superseite enthält mindestens 168 Bits als Kombination aus Daten-, Adressierungs- und ECC-Bits. Daher kann jede Zeile des Speicherarrays bis zu sechzehn Doppelwörter von jeweils 32 Bits plus die Adress- und ECC-Syndrom-Ersatzbits pro Seite enthalten.
  • Um nur einen numerischen Wert anzugeben, wird eine Superseite aus 128 + 16 + 24 = 168 Bits gebildet, und sechzehn Superseiten pro Zeile umfassen 168 * 16 = 2688 Bits.
  • Daher enthält jede Zeile 135 eines Speicherblocks 160 mindestens sechzehn Seiten, die ein Speicherwort plus die entsprechenden Adressbits und die entsprechenden ECC-Bits umfassen.
  • Offensichtlich kann eine andere Größe ausgewählt werden und der berichtete Wert dient nur der Veranschaulichung eines nicht einschränkenden Beispiels. Das Ergebnis der Blöcke wird direkt vom Host-Gerät oder SoC 10 gesteuert, ohne Hochleistungs-Ausgangspuffer der bekannten Lösungen zu verwenden und den Pfad dank einer modifizierten und optimierten JTAG-Schnittstelle zu optimieren.
  • Die Ausgänge der Leseverstärker SA pro Unterarray 120 werden durch eine interne Schaltung einer Leseschnittstelle zwischengespeichert. Die Speicherstruktur kann erweitert werden, um das Lesen mehrerer Seiten zu ermöglichen, wobei die bereits gelesene Seite ausgelagert wird.
  • Die Leseverstärker SA sind direkt mit einer modifizierten JTAG-Zelle verbunden, die später offengelegt wird, um eine JTAG-Struktur und die Leseverstärker in einem einzigen Schaltungsteil zu integrieren. Dies ermöglicht es, die Verzögerung bei der Weitergabe der Ausgabe des Speicherarrays an den SoC so weit wie möglich zu reduzieren.
  • Wie bereits erwähnt, bereiten die internen Leseverstärker 9 zwei Seiten mit mindestens 128 Bits plus Adresse und ECC-Bits für insgesamt 168 Bits vor, und während die erste Seite zum Verschieben bereit ist, wird intern eine weitere Leseoperation von einer Sekunde durchgeführt Seite, die mit derselben Adresse verknüpft ist.
  • Dies ermöglicht die Vorbereitung von fünf bis acht Doppelworten, die für die RTOS-Anwendung typisch sind, wodurch die Leseverstärker eine weitere interne Leseoperation ausführen können, um das zweite Nibble oder die Gruppe von 168 Bits vorzubereiten, wenn das System mit zwei Seiten von 168 strukturiert ist Bits.Aus diesem Grund hat man sich für eine Doppelseite von 2x128bitplus entsprechende Adressen und ECC-Bits entschieden.
  • Dieser zweite Teil von vier Doppelwörtern wird an den Ausgang des Flash-Arrays 90 übertragen, wobei ein zusätzliches Freigabesignal (d. h. ein internes Taktsignal oder ein ADV-Signal) verwendet wird, das den auf Leseverstärkerebene gelesenen Inhalt an das Host-Gerät oder SoC-Gerät 10 überträgt. Die Signalnamen sind load_data [0, 1].... bei Verwendung der Superseite ist eine Adresserhöhung nicht erforderlich.
  • Die kombinierte Kette von Datenzellen + Adresszellen + ECC-Zellen ermöglicht die Implementierung der gesamten Sicherheitsabdeckung des Kommunikationskanals gemäß den Standardanforderungen der Regel ISO26262, da der Host zuerst den Datenstrom korrigiert, falls vorhanden, und dann die gesendeten vergleicht Adresse mit der empfangenen.
  • Darüber hinaus deckt der ECC die gesamte Buskommunikation (Datenzellen + Adresszellen) ab, während das Vorhandensein der Adresszellen die Gewissheit gibt, dass die Daten genau von der adressierten Stelle des Controllers kommen, d.h. wenn ADD == ADD0.
  • Für den Test der Speicherkomponente wird eine JTAG-Schnittstelle verwendet, die die Wiederverwendung des Testwerkzeugs ermöglicht. Die Speicherkomponente der vorliegenden Offenbarung umfasst auch eine JTAG-Logik mit einer JTAG-Schnittstelle.
  • Genauer gesagt enthält jedes Speicherfeld mindestens eine JTAG-Schnittstelle, die als Eingänge Standard-JTAG-Signale empfängt: TMS, TCK, TDI sowie Daten von einer Speicherseite, z. B. der in 5 schematisch dargestellten Seite. Gemäß den Ausführungsformen der vorliegenden Offenbarung wird ein flexibles TDI-Signal verwendet. Die Flexibilität beruht auf der Tatsache, dass die Anzahl der parallelen Bits, die als TDI arbeiten, von einem ausgewählten Register abhängt, d.h. dem Befehlsregister, dem Adressregister oder dem Datenregister usw.
  • Diese JTAG-Schnittstelle erzeugt als Ausgang Daten, Adressen und Steuersignale, die an einen Speicheradressdecoder und auch an den internen Flash-Controller übertragen werden, um Änderungs-, Test- und Verifizierungsvorgänge durchzuführen.
  • Die Aktivität des Decoders wird durch die erwähnten Ladungspumpen ermöglicht, die so strukturiert sind, dass sie die Spannungen und Timings zur Verwaltung des Arrays geheim halten. Die Dekodierungsphase treibt die Datenleitungen an, während die Ladungspumpen die vom Adressdecoder in die ausgewählten Datenleitungen geleitete Hochspannung bereitstellen.
  • Dieser Decoder adressiert den ausgewählten Speicherblock. Der Adressdecoder ist mit dem Array verbunden, um die richtigen Datenleitungen auszuwählen, d.h. Zeile und Spalte für jede Superseite. das Lesen, Modifizieren und alle anderen Operationen verwenden den Adressdecoder, um Bytes im Speicherarrayrichtig zu adressieren.
  • Die Speicherblöcke sind mit den Leseverstärkern verbunden und die Leseverstärker der Leseschnittstelle sind mit modifizierten JTAG-Zellen (in den Zeichnungen nicht gezeigt) verbunden, um eine JTAG-Struktur und die Leseverstärker in einem einzigen Schaltungsabschnitt zu integrieren. Dies ermöglicht es, die Verzögerung bei der Weitergabe der Ausgabe des Speicherarrays an den SoC so weit wie möglich zu reduzieren.
  • Jedes Unterarray 120 enthält mehrere Speicherblöcke. Die Unterarrays 120 bedienen jeden Kern des Host-Geräts und verwenden eine Schaltung mit optimiertem Blockformfaktor, um die niedrige Latenzzeit anzugehen.
  • Auf diese Weise wird mit kleineren Sektoren im Vergleich zu bekannten Lösungen die Zugriffszeit erheblich reduziert und der gesamte Durchsatz des Speicherbauelements verbessert.
  • Jedes Unterarray 1120 ist innerhalb der Speichervorrichtung 100 unabhängig adressierbar. Darüber hinaus ist das Speicherarray 90 mit mindestens vier Speicherunterarrays 120 strukturiert, eines für jeden Kommunikationskanal mit einem entsprechenden Kern der Hostvorrichtung oder des SoC 10. Das Host-Gerät oder das System-on-Chip 10 enthält normalerweise mehr als einen Kern, und jeder Kern ist mit einem entsprechenden Bus oder Kanal zum Empfang und zur Übertragung von Daten an die Speicherkomponente 100 verbunden.
  • Daher hat in der vorliegenden Implementierung jedes Unterarray 120 Zugang zu einem entsprechenden Kanal, um mit einem entsprechenden Kern des System-on-Chip 10 zu kommunizieren.
  • Ferner ist zu beachten, dass jedes Unterarray 120 Adressregister enthält, die mit Datenpufferregistern verbunden sind, ähnlich wie bei einer Architektur, die in einem DRAM-Speichergerät verwendet wird.
  • Darüber hinaus ist gemäß einer Ausführungsform der vorliegenden Offenbarung, wie in 4 gezeigt, jedem Block 160 des Speicherunterarrays 120 mindestens eine Dummy-Zeile 200 zugeordnet.
  • Diese Dummy-Zeile 200 befindet sich außerhalb des Adressraums des Speicherarrays 90 und wird zur Optimierung der Lese-, Schreib- und Löschparameter verwendet. Darüber hinaus wird diese Dummy-Reihe zur Überwachung der Löschrobustheit verwendet, um Modifizierungsoperationen und andere Zwecke gut abzuschließen.
  • Gemäß einer anderen Ausführungsform ist die Dummy-Zeile eines Blocks 160 in einem anderen Block des Speicherunterarrays 120 bereitgestellt.
  • Das Vorhandensein dieser Dummy-Zeile ermöglicht das Speichern der gelesenen Parameter zu einem geeigneten Zeitpunkt und in einer geeigneten Weise, um die Überwachungsoperation zum Optimieren der weiteren Schritte zu verwenden.
  • Daher besteht ein Hauptzweck dieser Dummy-Zeile 200 darin, Parameter zu verfolgen, die während der Lese- und Löschphasen der Speicherkomponente 100 verwendet werden können, und/oder um einige Parameter zu speichern, um einen möglichen aufgetretenen Leistungsverlust zu entdecken.
  • Die Dummy-Zeile 200 enthält ein Muster, das der Steuerung 101 der Speichervorrichtung 100 bekannt ist.
  • Nehmen wir an, in der Dummy-Zeile 200 einen bekannten Wert wie 0x55 oder 0xAA in hexadezimaler Form aufzuzeichnen. Dieser Wert ist besonders geeignet, da er die gleiche Menge an logischen Werten von „0“ und logischen Werten von „1“ enthält, die innerhalb des Arrays in unterschiedlichen Flash-Speicherzellen mit zwei unterschiedlichen Schwellenwerten gespeichert sind. Dies bedeutet jedoch nicht, dass die Möglichkeit der Verwendung von Multi-Level-Technologie ausgeschlossen ist, wodurch mehr als zwei Bits für jeden Speichertransistor oder Speicherelement gespeichert werden können.
  • Da dieser Wert auch für den Speichercontroller a priori bekannt ist, führt das System einige Lesezyklen durch, die die Lesetrimmparameter ändern, bis der Wert korrekt gelesen wird. Der geänderte Trimmparameter des korrekten Messwerts entspricht einem eingestellten Temperaturwert, der im programmierbaren Register aufgezeichnet ist. Bei unterschiedlichen Speichertechnologien, wie beispielsweise dem Multilevel-Zellenspeicher (N Level), müssen die zu speichernden Werte so gewählt werden, dass sie alle im Speicherfeld vorhandenen N Level abdecken.
  • Nur wenn es die für die Lesephase eingestellten Trimmparameter perfekt erlauben, den korrekten bekannten Wert abzurufen, dann kann die Lesephase der anderen Speicherblöcke des Unterarrays 120 durchgeführt werden. In diesem Fall entspricht die Suche nach dem optimierten Leseparameter der Ermittlung des besten Abtastpunktes in diesem Betriebszustand, wie es bei der Verwendung eines Augendiagramms der Fall ist.
  • Gemäß einer Ausführungsform der vorliegenden Offenbarung können die Temperatur- und Alterungsdrift, die das Speicherarray 90 beeinflusst, durch die Speicherkomponente 100 selbst unter Verwendung einer gespeicherten Referenz erfasst werden.
  • Durch Verwendung der Driftinformationen des gespeicherten bekannten Musters ist es möglich, die besten Parameter für die nächste oder jede nachfolgende Operation, einschließlich der Programmierphase, einzustellen. Insbesondere können solche Informationen zum korrekten Trimmen aller Spannungswerte und des Timings (d.h. der Signalform) verwendet werden, die in jeder Phase des Lese- und/oder Löschalgorithmus zu verwenden sind.
  • Im Allgemeinen muss der richtige Spannungspegel und das richtige Timing in jeder Lösch- oder Programmierphase den technologischen Richtlinien entsprechen. Solche Richtlinien sind normalerweise für eine gegebene Technologie bekannt, da sie von Flash-Zellen-Technologen als eine Karte zwischen dem Alterungsgrad und den zugehörigen Werten Spannung/Zeit, die verwendet werden sollen, bereitgestellt werden können.
  • Sehen wir uns nun die Lese-, Programmier- und/oder Löschvorgänge gemäß dieser Methodik an:
  • Die wohlbekannten Parameter werden aus der Dummy-Zeile 200 gelesen und von der internen Steuerung ausgearbeitet, um die besten Parameter zu bestimmen, die in den nächsten Schritten verwendet werden sollen. Dann kann der Lese- und Programmieralgorithmus starten.
  • Wenn die Parameter in der Dummy-Zeile 200 nicht vorhanden sind, bedeutet dies, dass ein Leistungsverlust aufgetreten ist. Dieses Ereignis muss durch Löschen des gesamten Blocks wiederhergestellt werden. Andernfalls kann der Block nicht korrekt programmiert oder gelesen werden und der Host muss sich um diese Situation kümmern, wenn die Operation nicht bereits eine Löschphase ist.
  • Während einer Löschpulsphase können Spannung und Pulsdauer so eingestellt werden, dass die Zellen im Block schnell und sicher gelöscht werden (gemäß dem vorherigen Schritt).
  • Wenn der Block zyklisch durchlaufen wird (viele Programmier-Lösch-Zyklen, geschätzt unter Verwendung von Drift-Informationen), werden einige geeignete starke Spannungen und Pulsdauern verwendet. Normalerweise wird ein Block durch Anlegen mehrerer Löschimpulse bei unterschiedlichen (negativ für die Gatespannung und/oder positiv für die Body-Source) gelöscht. Diese Sequenz wird als Treppe bezeichnet und wird verwendet, um einen geeigneten Impuls anzulegen, um den Inhalt des Arrays zu modifizieren. Manchmal, wenn der Block gealtert ist, ist die Treppe größer oder hält länger.
  • Sobald ein Löschimpuls ausgegeben wird (wie oben), wird der Löschzellenstatus durch Anlegen eines geeigneten Zellen-Gate-Spannungswerts verifiziert, der verwendet wird, um eine Löschverifizierung durchzuführen, mit genügend Spielraum, um eine gut gelöschte Zellenverteilung zu garantieren. Außerdem können hier die Driftinformationen verwendet werden, um die richtigen Löschprüfwerte auszuwählen.
  • 6 zeigt beispielsweise in einem schematischen Diagramm die Verteilung einer guten gelöschten/programmierten (1 Bit/Zelle) Zelle. Die gesamte Zellschwellenpopulation ist korrekt auf die zugewiesene Grenze beschränkt (d.h. programmierte ‚0‘ oder gelöschte ‚1‘). Die Schritte #1 und #2 werden wiederholt, bis alle Zellen die Löschprüfkriterien erfüllen.
  • Sobald alle Zellen korrekt (gelöscht) verifiziert sind, wird auch überprüft, ob es Zellen mit einem zu niedrigen Schwellenwert gibt. In 6 wird dies durch die Label-Depletion-Verifizierung DV gezeigt.
  • Im Falle einer Erschöpfung wird eine Soft-Programm-Operation für die Zellen ausgegeben, die sie benötigen. Die Parameter, die verwendet werden, um ein weiches Driften der Zellen durchzuführen, um die Schwellenwerte innerhalb der Löschzellenverteilung richtig zu platzieren, können entsprechend dem Alterungsgrad der Zellen gewählt werden.
  • Eine falsche Auswahl eines solchen Parameters kann dazu führen, dass der Schwellenwert der Zellen außerhalb der gelöschten Verteilung (über dem Löschprüfwert) falsch platziert wird, und dies würde bedeuten, dass der Block ab dem obigen Schritt 1 erneut gelöscht werden muss (dies wäre zeitaufwendig).
  • Sobald das Löschen abgeschlossen ist (die obigen Phasen sind abgeschlossen), wird das wohlbekannte Muster in die Reihe 200 geschrieben, um beim nächsten Löschzyklus verwendet zu werden. Insbesondere das Muster, das durch das Speichern der eingestellten Werte (0x55, 0xAA usw.) ausgewählt wurde, wird entsprechend programmiert und überprüft (siehe die PV-Phase von 6) unter Verwendung eines entsprechenden Programmierimpulses, dessen Spannung und Timing von der aktuellen Alterungsgrad des Blocks. Der Inhalt der Dummy-Zeile 200 wird ebenfalls entsprechend gelöscht; dass der Flash-Controller es nach dem Löschen wiederherstellen muss.
  • Durch Verwendung der Driftinformationen und der Anzahl der Löschimpulse, die in der Löschphase (Punkt 1 oben) bereitgestellt werden, ist es möglich, zu folgern, dass sich ein Block dem Ende seiner Lebensdauer nähert. Diese Informationen könnten als Warnung für den Kunden oder als Flag für einen internen Algorithmus verwendet werden, um einen möglichen Block Wear Leveling oder OFBR (On Field Block Redundancy) Betrieb auszulösen, falls implementiert.
  • 7 zeigt ein Diagramm entsprechend 6, zeigt jedoch eine vergrößerte Verteilung aufgrund von Alterung, Temperatur und Belastung. Mit der Alterung, Temperatur und Belastung neigen die Verteilungen dazu, sich zu vergrößern und zu verschieben. Gemäß der Methodik der vorliegenden Offenbarung ist es möglich, die Verteilungsvergrößerung zu verwenden, um die Zellverschlechterung zu verfolgen und diese Informationen zu verwenden, um die nächsten Löschimpulse zu korrigieren. Dies ermöglicht es, die Zuverlässigkeit und die Leistungen der Löschphase zu verbessern.
  • Die Trimmsequenz zum Durchführen einer Lesephase des Speicherarrays bei unterschiedlichen Temperaturen oder unterschiedlicher Alterung der Speichervorrichtungen kann in einem Labor erfasst und in einem programmierbaren Register der Speichersteuerung 101 gespeichert werden.
  • Ebenso kann eine Regulierung der während der Lösch- und Programmierphase verwendeten Parameter während des tatsächlichen Betriebs in gleicher Weise durchgeführt werden.
  • Für den Inhalt einer korrekten Lesephase ist es nicht wichtig, bei welchem tatsächlichen Temperaturwert die Lesephase durchgeführt wird. Eine solche Temperatur könnte höher (sogar viel höher) oder niedriger sein, verglichen mit dem Temperaturniveau, bei dem die Programmierphase des bekannten Wertes durchgeführt wurde.
  • Das System wird automatisch durch jegliche thermische Drift geschützt, da die Lesetrimmparameter ausgewählt werden, nachdem das korrekte Lesen der in der Dummy-Reihe 200 gespeicherten bekannten Sequenz durchgeführt und der Trimmparameter zum korrekten Lesen dieses bekannten Wertes entsprechend eingestellt wurde. Dieses Merkmal kann eine Fähigkeit sein, die dem Host-Gerät überlassen und angesteuert wird, da während der Lesephase keine Zeit zum parallelen Lesen der Dummy-Reihe vorhanden ist. Gleiches gilt vor Beginn der Lesephase aufgrund der geringen Anfangslatenz, die die vorliegenden Ausführungsformen unterstützen.
  • Das Verfahren, das es ermöglicht, die geeigneteren Lesetrimmparameter für eine korrekte Lesephase bei einem bestimmten Temperaturwert zu identifizieren, wird nicht unbedingt in jeder Lesephase wiederholt. Im Gegenteil, eine solche Prozedur kann periodisch oder in geeigneterer Weise durchgeführt werden, wenn mögliche Probleme durch die ECC-Bits erkannt werden.
  • Es kommt zum Beispiel vor, dass eine erhöhte Anzahl von ECC-Bits eine übermäßige Anzahl von falschen Lesevorgängen aus der Speichervorrichtung anzeigt (z. B. wenn eine Anzahl von Bits, die von der Fehlerkorrekturmaschine korrigiert wurden, eine Schwellenanzahl überschreitet). In einem solchen Fall kann das System automatisch das Verfahren zum Erfassen einer möglichen thermischen Drift oder Alterung und einer daraus resultierenden Notwendigkeit, die Trimmparameter zu ändern, starten.
  • In einer Ausführungsform könnte das obige Verfahren durch einen Host-Befehl ausgelöst werden. In einigen Ausführungsformen kann das Verfahren durch ein bestimmtes Ereignis ausgelöst werden, wie zum Beispiel eine Temperaturschwankungsdetektion.
  • Die Dummy-Zeile 200 kann konfiguriert sein, um Informationen zu speichern, die ein Fehlschlagen des Löschvorgangs anzeigen.
  • Das Verfahren der vorliegenden Offenbarung ermöglicht es, die Lesephase der Speicherkomponente 100 oder besser eines Speicherblocks 160 richtig durchzuführen.
  • Die Verfahrensphasen sind im Blockschaltbild der 8 schematisch dargestellt.
  • Das Verfahren 800 zum Verbessern der Sicherheit der Lesephase einer nichtflüchtigen Speichervorrichtung, die mindestens ein Array von Speicherzellen und mit zugehöriger Decodier- und Leseschaltung und einer Speichersteuerung umfasst, wobei das Verfahren Folgendes umfasst:
    • - Speichern mindestens eines bekannten Musters in einer Dummy-Zeile des Speicherblocks;
    • - Durchführen einiger Lesezyklen, die die Lesetrimmparameter ändern, bis zu dem Moment, in dem der bekannte Wert korrekt gelesen wird;
    • - Übernahme der Trimmparameter der korrekten Ablesung für die nachfolgenden Ablesephasen.
  • Die obigen Schritte sind in den jeweiligen quadrierten Blöcken 810, 820 und 830 gezeigt.
  • In einer Ausführungsform weist das bekannte Muster eine große Anzahl von programmierten (‚0‘) und gelöschten (‚1‘) Bits in gleicher Anzahl auf, beispielsweise unter Annahme einer hexadezimalen Konfiguration von (0xAA, 0x55 usw.).
  • Darüber hinaus kann die Regelung basierend auf dem Dummy-Zeileninhalt die Auswahl der Bias-Werte der zu lesenden Zellen und/oder die Auswahl eines geeigneten Werts, der als gelesene Referenzzelle verwendet werden soll, beinhalten.
  • Erst wenn die für die Lesephase eingestellten Trimmparameter die Ermittlung des korrekten bekannten Wertes ermöglichen, kann die Lesephase der anderen Speicherblöcke des Unterarrays 120 durchgeführt werden.
  • Jedes Unterarray 120 kann seine eigenen Blöcke haben und die optimalen Parameter können sogar von einem Unterarray zum anderen Unterarray und von Block zu Block unterschiedlich sein.
  • Die geänderten Trimmparameter der korrekten Ablesung entsprechen einem im programmierbaren Register gespeicherten Temperatursollwert.
  • Tatsächlich kann die Speicherung der kritischen Parameter eine Rückmeldung über den Zustand des Blocks liefern, wodurch auch bestimmt wird, wie der Abnutzungsausgleich auf den Block 160 des Unterarrays 120 angewendet werden muss.
  • Das Vorhandensein des bekannten Musters am Ende der Dummy-Reihe stellt die Korrektheit der Operation sicher.
  • Das Verfahren der vorliegenden Erfindung ermöglicht das Erhalten einer dynamischen Löschverifizierung der Löschphase, da es möglich ist, eine sichere Rückmeldung der Korrektheit des Löschvorgangs auch bei unterschiedlichen Betriebsumgebungsbedingungen zu erhalten.

Claims (26)

  1. Nichtflüchtige Speichervorrichtung mit mindestens einem Array von Speicherzellen mit einer Vielzahl von Speicherblöcken; - mindestens eine Dummy-Zeile für jeden Block zum Speichern mindestens eines bekannten Musters; - einen Controller des Speichergeräts; - von der Steuerung angesteuerte Leseschaltungen zum Lesen des in der Dummy-Reihe gespeicherten bekannten Musters durch Ausführen einiger Lesezyklen und Ändern der gelesenen Trimmparameter bis zu dem Moment, in dem der Wert des bekannten Musters korrekt gelesen wird.
  2. Nichtflüchtige Speichervorrichtung nach Anspruch 1, wobei das bekannte Muster dem Speichercontroller bekannt ist und eine gleiche Anzahl von programmierten (‚0‘) und gelöschten (‚1‘) Bits enthält.
  3. Nichtflüchtige Speichervorrichtung nach Anspruch 1, wobei die geänderten Trimmparameter der korrekten Lesephase einem eingestellten Temperaturwert entsprechen, der in einem programmierbaren Register aufgezeichnet ist.
  4. Nichtflüchtige Speichervorrichtung nach Anspruch 1, wobei die Dummy-Zeile konfiguriert ist, um interne Blockvariablen der Lese-, Programmier- und/oder Löschphase zu speichern.
  5. Nichtflüchtige Speichervorrichtung nach Anspruch 4, wobei die internen Blockvariablen Leseimpulse und/oder die während der Lesephase an den Speicherblock angelegten Zielspannungen umfassen.
  6. Nichtflüchtige Speichervorrichtung nach Anspruch 1, wobei sich die Dummy-Zeile außerhalb des Adressraums des entsprechenden Speicherblocks befindet.
  7. Nichtflüchtige Speichervorrichtung nach Anspruch 1, wobei die Dummy-Zeile in einem anderen Block des Speicherarrays bereitgestellt ist.
  8. Nichtflüchtige Speichervorrichtung nach Anspruch 1, wobei jeder Speicherblock mindestens 256 Reihen von Speicherzellen enthält.
  9. Nichtflüchtige Speichervorrichtung nach Anspruch 8, wobei jede Reihe mindestens sechzehn Superseiten enthält, die jeweils durch eine Kombination von Datenbits, Adressbits und ECC-Bits einer Speicherstelle gebildet werden.
  10. Ein Gerät umfassend: - ein Host-Gerät; - eine nichtflüchtige Speicherkomponente, die mit der Host-Vorrichtung gekoppelt ist und mindestens ein Array von Speicherzellen mit einer Vielzahl von Speicherblöcken umfasst; - mindestens eine Dummy-Zeile für jeden Block zum Speichern mindestens eines bekannten Musters; - einen Controller des Speichergeräts; - von der Steuerung angesteuerte Leseschaltungen zum Lesen des in der Dummy-Reihe gespeicherten bekannten Musters durch Ausführen einiger Lesezyklen und Ändern der gelesenen Trimmparameter bis zu dem Moment, in dem der Wert des bekannten Musters korrekt gelesen wird.
  11. Vorrichtung nach Anspruch 10, wobei das bekannte Muster dem Speicher-Controller bekannt ist und eine gleiche Anzahl von programmierten (‚0‘) und gelöschten (‚1‘) Bits enthält.
  12. Vorrichtung nach Anspruch 10, bei der die geänderten Trimmparameter der korrekten Ablesung einem Temperatursollwert entsprechen, der in einem programmierbaren Register aufgezeichnet ist.
  13. Vorrichtung nach Anspruch 10, wobei die Dummy-Zeile konfiguriert ist, um interne Blockvariablen der Lese- und/oder Löschphase zu speichern.
  14. Vorrichtung nach Anspruch 13, wobei die internen Blockvariablen Leseimpulse und/oder die während der Lesephase an den Speicherblock angelegten Zielspannungen umfassen.
  15. Vorrichtung nach Anspruch 10, wobei sich die Dummy-Zeile außerhalb des Adressraums des entsprechenden Speicherblocks befindet.
  16. Vorrichtung nach Anspruch 10, wobei die Dummy-Zeile in einem anderen Block des Speicherarrays bereitgestellt ist.
  17. Vorrichtung nach Anspruch 10, wobei das Speicherarray eine Vielzahl von unabhängig adressierbaren Speicherblöcken enthält; jeder Speicherblock enthält mindestens 256 Reihen von Speicherzellen und jede Reihe enthält mindestens sechzehn Superseiten, die jeweils durch eine Kombination von Datenbits, Adressbits und ECC-Bits einer Speicherstelle gebildet werden.
  18. Vorrichtung nach Anspruch 17, wobei die Lesezyklen automatisch von dem Controller durchgeführt werden, wenn eine erhöhte Anzahl von ECC-Bits eine übermäßige Anzahl von Fehllesungen aus der Speichervorrichtung darstellt.
  19. Verfahren zum Verbessern der Sicherheit der Lese- und Programmierphasen einer nichtflüchtigen Speichervorrichtung, die mindestens ein Array von Speicherzellen und eine zugehörige Dekodier- und Erfassungsschaltung sowie eine Speichersteuerung enthält, wobei das Verfahren umfasst: - Speichern mindestens eines bekannten Musters in einer Dummy-Zeile des Speicherblocks; - Durchführen einiger Lesezyklen, die die Lesetrimmparameter ändern, bis zu dem Moment, in dem der bekannte Wert korrekt gelesen wird; - die Übernahme der Trimmparameter der korrekten Lesung für die nachfolgenden Lesephasen.
  20. Verfahren nach Anspruch 19, bei dem die geänderten Trimmparameter der korrekten Ablesung einem Temperatursollwert entsprechen, der in dem programmierbaren Register aufgezeichnet ist.
  21. Verfahren nach Anspruch 19, wobei das Übernehmen der Trimmparameter darauf basiert, dass der bekannte Wert korrekt gelesen wird.
  22. Verfahren nach Anspruch 19, wobei das bekannte Muster Werte in hexadezimaler Form enthält, die dieselbe Anzahl von logischen Werten von „0“ und logischen Werten von „1“ umfassen.
  23. Verfahren nach Anspruch 19, wobei die Lesezyklen automatisch durchgeführt werden, wenn eine erhöhte Anzahl von ECC-Bits für eine übermäßige Anzahl von Fehllesungen aus der Speichervorrichtung repräsentativ ist.
  24. Verfahren nach Anspruch 19, wobei die Lesezyklen periodisch durchgeführt werden.
  25. Verfahren nach Anspruch 19, wobei die Dummy-Zeile konfiguriert ist, um Informationen zu speichern, die ein Fehlschlagen des Löschvorgangs anzeigen.
  26. Verfahren nach Anspruch 19, ferner umfassend das Starten einer Löschphase auf dem Speicherblock basierend auf dem Abrufen interner Blockvariablen einer vorherigen Löschphase aus der Dummy-Zeile.
DE112019007385.0T 2019-05-31 2019-05-31 Verbesserte sicherheit und korrektheit beim lesen und programmieren von daten in einem nichtflüchtigen speichergerät Pending DE112019007385T5 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/IB2019/000474 WO2020240231A1 (en) 2019-05-31 2019-05-31 Improved safety and correctness data reading and programming in a non-volatile memory device

Publications (1)

Publication Number Publication Date
DE112019007385T5 true DE112019007385T5 (de) 2022-02-17

Family

ID=67002057

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112019007385.0T Pending DE112019007385T5 (de) 2019-05-31 2019-05-31 Verbesserte sicherheit und korrektheit beim lesen und programmieren von daten in einem nichtflüchtigen speichergerät

Country Status (4)

Country Link
US (2) US11443818B2 (de)
CN (1) CN113906511A (de)
DE (1) DE112019007385T5 (de)
WO (1) WO2020240231A1 (de)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE112019007383T5 (de) * 2019-05-31 2022-02-17 Micron Technology, Inc. Verfahren zur überprüfung der löschphase eines speichergerätes
EP4365904A1 (de) 2022-11-01 2024-05-08 EM Microelectronic-Marin SA Verfahren und speichersystem zur redundanten speicherung sensibler daten und einstellung eines referenzwertes

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ITMI20042462A1 (it) * 2004-12-23 2005-03-23 St Microelectronics Srl Memoria ausiliare
EP2024839B1 (de) 2006-05-15 2014-07-02 SanDisk Technologies Inc. Nichtflüchtiges speichersystem mit lebensdauerberechnung
US7778077B2 (en) * 2006-05-15 2010-08-17 Sandisk Corporation Non-volatile memory system with end of life calculation
US8117375B2 (en) * 2007-10-17 2012-02-14 Micron Technology, Inc. Memory device program window adjustment
JP2011129192A (ja) * 2009-12-16 2011-06-30 Samsung Electronics Co Ltd 半導体記憶装置
US9547571B2 (en) 2015-05-20 2017-01-17 Sandisk Technologies Llc Block behavior tracking in a memory system
US10564900B2 (en) * 2016-03-04 2020-02-18 Western Digital Technologies, Inc. Temperature variation compensation
US11030096B2 (en) * 2019-01-10 2021-06-08 Western Digital Technologies, Inc. Method of identifying and preparing a key block in a flash memory system and memory controller therefor
US11106518B2 (en) * 2019-03-01 2021-08-31 Western Digital Technologies, Inc. Failure mode study based error correction

Also Published As

Publication number Publication date
US11443818B2 (en) 2022-09-13
CN113906511A (zh) 2022-01-07
US11715539B2 (en) 2023-08-01
WO2020240231A1 (en) 2020-12-03
US20230005555A1 (en) 2023-01-05
US20210407608A1 (en) 2021-12-30

Similar Documents

Publication Publication Date Title
DE102008003944B4 (de) Speichersystem und Programmierverfahren für ein Speichersystem
DE60129710T2 (de) Anordnung und struktur für zuverlässige dateikopieoperation für nicht-flüchtige speicher
DE60319437T2 (de) Nichtflüchtiger halbleiterspeicher mit zykluszählwerte speichernden grossen löschblöcken
DE60132830T2 (de) Neuartiges verfahren und struktur zur effizienten datenverifizierungsoperation für nichtflüchtige speicher
DE69034191T2 (de) EEPROM-System mit aus mehreren Chips bestehender Blocklöschung
DE102007016460A1 (de) Nichtflüchtiges Speicherbauelement, nichtflüchtiges Speichersystem und Leseverfahren für ein nichtflüchtiges Speicherbauelement
DE102020130044A1 (de) Techniken zum verhindern von lese-störung in nand-speicher
DE102005057112B4 (de) Nichtflüchtiges Speicherbauelement und Programmierverfahren
DE102005063166B4 (de) Nicht-flüchtiges Speicherelement und Verfahren zur Programmierüberprüfung in einem nicht-flüchtigen Speicherelement
DE112008001151B4 (de) Mehrbitprogrammiervorrichtung und Verfahren zum Mehrbitprogrammieren
DE102018117357A1 (de) Speichervorrichtung mit einer Schaltung zum Erfassen eines Wortleitungsdefektes und Betriebsverfahren derselben
DE102013108491A1 (de) Nichtflüchtige Speichervorrichtung und Betriebsverfahren mit variablen Speicherzellenzustandsdefinitionen
DE112019007371T5 (de) Eine mit einem system-on-chip gekoppelte speichergerätearchitektur
DE102007041845A1 (de) Verfahren zum Betreiben eines integrierten Schaltkreises mit mindestens einer Speicherzelle
DE102008033511A1 (de) Verfahren zum Programmieren eines Flashspeichers, Flashspeicher und Flashspeichersystem
DE102019124668A1 (de) Transistorschwellenspannungshaltung in 3d-speicher
DE102018123961A1 (de) Gruppen-leseaktualisierung
DE102020107504A1 (de) Nichtflüchtiges speicher-array, das zur leistungsverbesserung von beiden seiten angesteuert wird
DE102018123887A1 (de) Nichtflüchtiges Speichersystem. das fehlerhafte Blöcke regeneriert
DE60016104T2 (de) Nichtflüchtige Halbleiterspeicheranordnung
DE112019007385T5 (de) Verbesserte sicherheit und korrektheit beim lesen und programmieren von daten in einem nichtflüchtigen speichergerät
DE112020000182T5 (de) Blockqualitätsklassifizierung beim testen für nichtflüchtigen speicher und flags für mehrere fehlerhafte blöcke bezüglich produktdiversität
DE112020000159T5 (de) Systeme und verfahren zum definieren von speicher-unterblöcken
DE102019135863A1 (de) Speichercontroller, Speichervorrichtung und Speichersystem mit verbesserten Schwellenspannungs-Verteilungseigenschaften und ähnliche Betriebsverfahren
DE112019007368T5 (de) Speichergerät und verfahren zur überwachung der leistungen eines speichergeräts

Legal Events

Date Code Title Description
R012 Request for examination validly filed