DE112019007429T5 - Verbesserte sicherheit und korrektheit beim lesen von daten in nichtflüchtigen speichergeräten - Google Patents

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

Info

Publication number
DE112019007429T5
DE112019007429T5 DE112019007429.6T DE112019007429T DE112019007429T5 DE 112019007429 T5 DE112019007429 T5 DE 112019007429T5 DE 112019007429 T DE112019007429 T DE 112019007429T DE 112019007429 T5 DE112019007429 T5 DE 112019007429T5
Authority
DE
Germany
Prior art keywords
memory
bits
data
address
array
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
DE112019007429.6T
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 DE112019007429T5 publication Critical patent/DE112019007429T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • 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
    • 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/12015Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details comprising clock generation or timing circuitry
    • 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/44Indication or identification of errors, e.g. for repair
    • G11C29/4401Indication or identification of errors, e.g. for repair for self repair
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7207Details relating to flash memory management management of metadata or control data

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Read Only Memory (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

Die vorliegende Erfindung bezieht sich auf Systeme und Verfahren zum Verbessern der Sicherheit und Korrektheit des Datenlesens in Flash-Speichervorrichtungen, die mit System-on-Chips verbunden sind.Offenbart wird ein Verfahren zur Verbesserung der Sicherheit und Korrektheit des Datenlesens in einer Speichervorrichtung, die mit einer Host-Vorrichtung oder einem System-on-Chip verbunden ist und ein Speicherfeld von Speicherzellen enthält, wird offenbart, das Folgendes umfasst:- Speichern von Daten in Datenspeicherzellen;- Speichern einer Speicheradresse in ersten Speicherzellen eines Reservebereichs;- Speichern von ECC in zweiten Speicherzellen des Ersatzbereichs;- Vergleichen eines Inhalts der ersten Speicherzellen mit einer Adresse angeforderter Daten.Eine Speichervorrichtung oder Komponente wird ebenfalls offenbart.

Description

  • TECHNISCHES GEBIET
  • Die vorliegende Offenbarung bezieht sich allgemein auf Speichervorrichtungen und insbesondere auf Ausführungsformen, die sich auf die Sicherheit und verbesserte Leistungen beim Datenlesen in einer nichtflüchtigen Speichervorrichtung beziehen.
  • HINTERGRUND
  • Speichervorrichtungen sind auf dem elektronischen Gebiet gut bekannt, um digitale Informationen zu speichern und den Zugriff darauf zu ermöglichen. 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 Real Time Operating Systems, insbesondere für Automobilanwendungen, SoC mit immer mehr Leistung und Effizienz und die bekannten Lösungen werden diesen Anforderungen insbesondere in Bezug auf die Sicherheit nicht mehr gerecht. Nichtflüchtige Speicher können persistente Daten bereitstellen, indem sie gespeicherte Daten behalten, wenn sie nicht mit Strom versorgt werden, und können unter anderem NAND-Flash-Speicher, NOR-Flash-Speicher, 3D-XPoint-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.
  • Darüber hinausnehmen in Automobilanwendungen die Interaktionen zwischen dem menschlichen Körper und elektrischen/elektronischen Systemen erheblich zu, insbesondere beim Umgang mit sicherheitskritischen Entscheidungen, die schwerwiegende Auswirkungen auf die Gesundheit des Fahrers haben können. Im Zuge der Weiterentwicklung dieser fortschrittlichen Sicherheitssysteme von passiven zu mehr aktiven, einschließlich vorausschauender Sicherheit und sogar autonomer Fahrzeugkonzepte, hat und wird die Automobilindustrie auch weiterhin strenge Anforderungen an Passagiere, Fußgänger und andere Verkehrsteilnehmer fordern.
  • Das Management dieser sicherheitskritischen Entscheidungen führt zu zunehmender Komplexität und zusätzlichem Softwareinhalt in Sicherheitssystemen. Mit zunehmender Komplexität steigen die Risiken systematischer und/oder zufälliger Hardwareausfälle.
  • Es besteht ein Bedarf an der Bereitstellung einer Flash-Speichervorrichtung, die einer SoC-Vorrichtung zugeordnet ist und eine verbesserte Sicherheit und Korrektheit des Datenlesens bietet, wodurch das Risiko von Fehlfunktionen 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 ist ein Blockdiagramm ist, das Phasen eines Verfahrens zum Verbessern der Sicherheit des Datenlesens in einer nichtflüchtigen Speichervorrichtung der vorliegenden Offenbarung;
    • 7 ist ein Blockdiagramm ist, das Phasen eines Verfahrens zum Verbessern der Sicherheit des Datenlesens in einer nichtflüchtigen Speichervorrichtung der vorliegenden Offenbarung;
  • DETAILLIERTE BESCHREIBUNG
  • Mehrere Ausführungsformen der vorliegenden Offenbarung richten sich auf Speichervorrichtungen, Systeme mit Speichervorrichtungen oder -komponenten und Verfahren zum Betreiben von Speichervorrichtungen oder -komponenten, die die potentiellen Probleme von Alterung, Temperatur und 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.
  • In der folgenden detaillierten Beschreibung wird auf die beigefügten Zeichnungen verwiesen, die einen Teil davon 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.
  • 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. Änderungen der Schwellenspannung der Zellen durch Programmierung einer Ladungsspeicherstruktur, wie beispielsweise schwebende Gates oder Einfangschichten oder andere physikalische Phänomene, bestimmen den Datenzustand jeder Zelle.
  • 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 Kraftfahrzeugvorrichtungen 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 (z.B. zu niedrigeren und/oder höheren Schwellenspannungen).
  • 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.
  • Darüber hinaus wird die temperaturbedingte Drift durch das Alter und die intensive Nutzung (z.B. in Bezug auf Schreib-/Löschzyklen) des Geräts weiter erhöht, und dieses Problem könnte besonders heikel für Speichergeräte sein, die in System-on-Chip-fahrende autonome Fahrzeuge integriert sind.
  • 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-Bit-breiter Double-Data-Rate-(DDR)-Bus sein.
  • Genauer gesagt enthält die nichtflüchtige Speicherkomponente oder -vorrichtung 100 mit Bezug auf 2 ein Array 90 von Flash-Speicherzellen und eine Schaltung, die um das Speicherarray herum angeordnet ist, wie unten ausführlicher beschrieben wird. Die Kopplung zwischen der SoC-Struktur 10 und der Speicherkomponente 100 erfolgt durch die Verbindung einer Vielzahl von entsprechenden Pads oder Stiftanschlüssen, die einander in einem Schaltungslayout zugewandt sind, 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 angeordnet, so dass, wenn die Speicherkomponente 100 umgekehrt wird, ihre Pads den entsprechenden Pads der SoC-Struktur 10 zugewandt sind.
  • Die Speicherkomponente 100 wird 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 Direct Memory Access ermöglicht es, die endgültige Latenz, die der SoC beim Lesen der Daten erfahren kann, zu reduzieren. Darüber hinaus wird die endgültige Latenzzeit auch 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, (in der Regel flüchtig, z.B. Direktzugriffsspeicher), unabhängig von der CPU (Central Processing Unit).
  • 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 jetzt 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 systeminterne 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 spezifischerer 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 dem SoC 10 überlassen; die zusätzlichen Bits werden dem Controller 101 zur Verfügung gestellt, um ein mögliches ECC-Syndrom im Zusammenhang mit der Seite zu speichern. 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.
  • Diese Architektur ist sehr skalierbar, und die Erweiterung bzw. Verringerung der Dichte des Endgeräts erfolgt lediglich durch Spiegelung eines Teilarrays und Herstellung der Verbindung.
  • 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 Sub-Array 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 Sub-Array 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-Sub-Arrays 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 Sub-Array 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.
  • Diese Architektur ist sehr skalierbar, wobei die Erweiterung und/oder Verringerung der Dichte des Endgeräts nur die Spiegelung eines Subarrays und die Herstellung der Verbindung oder die Erhöhung der Anzahl der Blöcke jedes Subarrays, d.h. der verfügbaren Dichte pro Kern, bedeutet.
  • Ferner ist zu beachten, dass jedes Subarray 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 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 Ort der Blöcke jedes Speicherunterarrays 90 adressiert eine erweiterte Seite 150. Später werden einige erweiterte Seiten mit dem Begriff „Superseite“ definiert.
  • 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 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 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.
  • Eine erste Ausführungsform der vorliegenden Offenbarung betrifft eine nichtflüchtige Speichervorrichtung, die mindestens ein Array von Speicherzellen mit zugehöriger Decodier- und Leseschaltung und eine Speichersteuerung umfasst, wobei das Speicherarray Folgendes umfasst:
    • - eine Vielzahl von Unterarrays in dem mindestens einen Array;
    • - eine Vielzahl von Speicherblöcken in jedem Unterarray;
    • - eine Vielzahl von Speicherzeilen in jedem Speicherblock;
    • - eine Vielzahl von erweiterten Seiten in jeder Speicherzeile, wobei jede erweiterte Seite eine Gruppe von Daten, Adressen und ECC-Bit enthält, um die Sicherheit des Datenlesens zu verbessern.
  • Eine weitere Ausführungsform der vorliegenden Offenbarung betrifft ein Verfahren zum Verbessern der Sicherheit und Korrektheit des Datenlesens in einer Speichervorrichtung, die einer Hostvorrichtung oder einem System-on-Chip zugeordnet ist und ein Speicherarray von Speicherzellen beinhaltet, umfassend:
    • - Speichern von Daten in Datenspeicherzellen;
    • - Speichern einer Speicheradresse in ersten Speicherzellen eines Reservebereichs;
    • - Speichern von ECC in zweiten Speicherzellen des Ersatzbereichs;
    • - Vergleichen eines Inhalts der ersten Speicherzellen mit einer Adresse angeforderter Daten.
  • 6 ist ein Blockdiagramm, das die Phasen eines Verfahrens zur Verbesserung der Sicherheit des Datenlesens in einer nichtflüchtigen Speichervorrichtung der vorliegenden Offenbarung gemäß dem oben beschriebenen Verfahren zeigt. Das Verfahren kann durch die Speichervorrichtung oder -komponente ausgeführt werden, die unter Bezugnahme auf die 1 bis 5 ausführlicher beschrieben wird.
  • Eine weitere Ausführungsform der vorliegenden Offenbarung bezieht sich auf ein Verfahren zur Verbesserung der Sicherheit des Datenlesens in einer unabhängigen Speichervorrichtung, die ein Array von Speicherzellen enthält und über einen Kommunikationskanal mit einem SoC verbunden ist, wobei das Verfahren Folgendes umfasst:
    • - Definieren einer erweiterten Speicherseite einschließlich Datenbits, Adressbits und ECC-Bits;
    • - Lesen der erweiterten Speicherseite im SoC;
    • - Vergleichen der während des Lesens gelesenen Adressbits der erweiterten Seite mit angeforderten Adressbits im SoC, um die Richtigkeit einer Position der Datenbits zu überprüfen.
  • 7 ein Blockdiagramm ist, das Phasen eines Verfahrens zum Verbessern der Sicherheit des Datenlesens in einer nichtflüchtigen Speichervorrichtung der vorliegenden Offenbarung darstellt; Das Verfahren kann durch die Speichervorrichtung oder -komponente ausgeführt werden, die unter Bezugnahme auf die 1 bis 5 ausführlicher beschrieben wird.
  • Gemäß einer Ausführungsform der vorliegenden Offenbarung ist, 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 zur Optimierung 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.
  • Jeder Speicherblock enthält mindestens 256 Zeilen und jede Zeile enthält sechzehn erweiterte Seiten der obigen Größe. Jede erweiterte Seite 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-Bits pro Seite enthalten.
  • Um nur einen numerischen Wert anzugeben, wird eine erweiterte Seite aus 128 + 16 + 24 = 168 Bits gebildet und sechzehn erweiterte Seiten 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, oder, anders gesagt, die Kombination von acht erweiterten Seiten.
  • 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 Subarray 120 werden durch eine interne Schaltung einer Leseschnittstelle zwischengespeichert. In jedem Fall kann die offenbarte Struktur erweitert werden, um mehrseitiges Lesen zu ermöglichen, während die bereits gelesene Seite herausgeschoben wird.
  • Die Leseverstärker SA sind direkt mit modifizierten JTAG-Zellen verbunden, die später ausführlicher offenbart werden, 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.
  • 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 Bits strukturiert ist. Aus diesem Grund hat man sich für eine Doppelseite von 2x128bits plus 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 lauten load-data [0, 1].... bei Verwendung der Superpage muss die Adresse nicht inkrementiert werden.
  • 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 gesendete Adresse mit der empfangenen vergleicht.
  • 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, dh dem Befehlsregister, dem Adressregister oder dem Datenregister usw.
  • Diese JTAG-Schnittstelle erzeugt als Ausgabe Daten, Adressen und Steuersignale, die an einen Speicheradressendecodierer und auch an den internen Flash-Controller übertragen werden, um Modifizierungs-, Test- und Verifizierungsoperationen durchzuführen.
  • Die obigen Merkmale sind von besonderer Bedeutung für Echtzeit-Betriebssysteme für Automobilanwendungen, bei denen ein SoC mit immer höheren Leistungen beim Datenaustausch mit dem Speicherarray erforderlich ist.
  • Mit der zunehmenden Komplexität dieser SoC-Bauteile steigt das Risiko systematischer und/oder zufälliger Hardware-Fehler. Um die höchsten Sicherheitsstandards zu gewährleisten und die Entwicklung sicherer Automobilsysteme zu beeinflussen, hat die Branche die neueste oben genannte Automobilsicherheitsnorm veröffentlicht: ISO 26262
  • In dieser Hinsicht erreicht die in der vorliegenden Offenbarung vorgeschlagene Lösung ein Sicherheitsziel, das vom Automotive Safety Integrity Level (ASIL) des Originalgeräteherstellers (OEM) gefordert wird. Der durch die hiermit offenbarte Lösung erreichte Level-Status ist mindestens ein Level ASIL-D
  • Dank der zuvor offenbarten Hardwarelösung implementiert die Speichervorrichtung der vorliegenden Offenbarung eine Methodik, die es dem SoC ermöglicht, zu verstehen, dass Dateninhalt von genau der Adresse gelesen wird, die der Controller lesen möchte.
  • Diese Methodik basiert auf:
    • Speichern der Dateninformationen in den Flash-Zellen, beispielsweise in Flash-Speicherzellen eines Datenbereichs;
    • Speichern der Speicheradresse in Flash-Zellen, beispielsweise in einer ersten Vielzahl von Flash-Speicherzellen in einem Reservebereich;
    • Speichern auch des ECC in Flash-Zellen, beispielsweise in einer zweiten Mehrzahl von Flash-Speicherzellen im Ersatzbereich;
    • Vergleichen eines Inhalts der ersten Flash-Speicherzellen im Reservebereich mit einer Adresse, die vom Host angefordert wird, um auf die in den Flash-Speicherzellen des Datenbereichs gespeicherten Daten zuzugreifen. In einigen Ausführungsformen sendet der Host die angeforderte Adresse zum Vergleich an das Speichergerät oder die Komponente. Dieses Verfahren gewährleistet die Korrektheit der Leseoperation in dem Sinne, dass:
      • Die Seite ist genau die adressierte;
      • Das Vorhandensein des ECC ist eine Garantie dafür, dass Daten- und Adressinhalte nach einem Fehlerkorrekturmechanismus korrigiert werden.
  • Die Implementierung des obigen Sicherheitsmechanismus trägt dazu bei, das angestrebte ASIL-Niveau zu erreichen, d.h. D für die Speichervorrichtung 100.
  • 5 ist eine schematische Ansicht einer Gruppe von Adressregistern für eine Speicherseite im Speicherabschnitt der vorliegenden Offenbarung; Insbesondere zeigt sie eine schematische Ansicht, die angibt, dass die Adressbits und die ECC-Bits auch in der Kanal- oder Buskommunikation mit dem Host oder SoC-Gerät 10 enthalten sind.
  • Mit anderen Worten, die Lesedatenpuffer der Speicherkomponente 100 werden vervollständigt mit:
    • Daten;
    • Adresse (gespeichert, um den Vergleich auszuführen);
    • ECC (um sicherzustellen, dass auf den Bus gesendete Daten + Adresse im Fehlerfall korrigiert werden können).
  • Diese Lösung ermöglicht es, die Sicherheit bei allen Kommunikationsaustauschvorgängen von der Speicherkomponente 100 zu dem zugehörigen SoC-Gerät 10 zu verbessern.
  • Die Architektur und das Verfahren der vorliegenden Offenbarung haben zumindest einige offensichtliche Vorteile. Zunächst verbessert das System die Sicherheit und Korrektheit des Datenlesens zwischen dem Hostgerät und dem zugehörigen Speichergerät.
  • Zweitens schützt das System automatisch gegen jede mögliche thermische Drift der Umgebung, in die die Speichervorrichtung oder das System der Speichervorrichtung eingebettet ist.
  • Obwohl in dieser Schrift konkrete Ausführungsformen veranschaulicht und beschrieben wurden, wird der Durchschnittsfachmann verstehen, dass eine Anordnung, die zum Erreichen der gleichen Ergebnisse ausgelegt ist, an die Stelle der konkreten gezeigten Ausführungsformen treten kann. Diese Offenbarung soll Anpassungen oder Variationen der verschiedenen Ausführungsformen der vorliegenden Offenbarung abdecken. Es versteht sich, dass die obige Beschreibung veranschaulichend und nicht einschränkend gemacht wurde. Kombinationen der vorstehenden Ausführungsformen und anderer Ausführungsformen, die nicht spezifisch hierin beschrieben sind, werden nach der Lektüre der vorstehenden Beschreibung für den Fachmann auf der Hand liegen. Der Anwendungsbereich der verschiedenen Ausführungsformen der vorliegenden Offenbarung umfasst auch andere Anwendungen, bei denen die oben genannten Strukturen und Verfahren verwendet werden. Daher sollte der Umfang der verschiedenen Ausführungsformen der vorliegenden Offenbarung unter Bezugnahme auf die beigefügten Ansprüche bestimmt werden, zusammen mit dem gesamten Bereich der Äquivalente, zu denen diese Ansprüche berechtigt sind.

Claims (25)

  1. Nichtflüchtige Speichervorrichtung mit mindestens einem Feld von Speicherzellen mit zugehöriger Dekodier- und Erfassungsschaltung und einem Speichercontroller, wobei das Speicherfeld umfasst: - eine Vielzahl von Unterarrays in dem mindestens einen Array; - eine Vielzahl von Speicherblöcken in jedem Unterarray; - eine Vielzahl von Speicherzeilen in jedem Speicherblock; - eine Vielzahl von erweiterten Seiten in jeder Speicherzeile, wobei jede erweiterte Seite eine Gruppe von Daten, Adressen und ECC-Bit enthält.
  2. Nichtflüchtige Speichervorrichtung nach Anspruch 1, wobei jede erweiterte Seite unabhängig adressierbar ist.
  3. Nichtflüchtige Speichervorrichtung nach Anspruch 1, wobei jeder Block mindestens 256 Reihen von Speicherzellen enthält und jede Reihe mindestens sechzehn erweiterte Seiten enthält.
  4. Nichtflüchtige Speichervorrichtung nach Anspruch 1, wobei die erweiterte Seite, die die Gruppe von Daten, Adresse und ECC-Bit umfasst, mindestens 128 Datenbit, mindestens 24 Adressbit und mindestens 16 ECC-Bit umfasst.
  5. Nichtflüchtige Speichervorrichtung nach Anspruch 1, wobei die dem Array von Speicherzellen zugeordnete Leseschaltung so strukturiert ist, dass sie eine erweiterte Seite in einer einzigen Taktzeit liest, um einen Kommunikationsbus mit einer entsprechenden Menge von Bits zu versorgen.
  6. Ein Gerät umfassend: - ein Hostgerät oder ein System-on-Chip (SoC); - eine Speicherkomponente, die dem Hostgerät oder SoC zugeordnet ist; - mindestens ein Array von Speicherzellen mit zugehöriger Decodier- und Leseschaltung in der Speicherkomponente; - einen Speichercontroller in der Speicherkomponente; wobei das Speicherarray umfasst: - eine Vielzahl von Unterarrays in dem mindestens einen Array; - eine Vielzahl von Speicherblöcken in jedem Unterarray, wobei jeder Speicherblock eine Vielzahl von Zeilen umfasst; - eine Vielzahl von erweiterten Seiten in jeder Speicherzeile, wobei jede erweiterte Seite eine Gruppe von Daten, Adressen und ECC-Bit enthält.
  7. Vorrichtung nach Anspruch 6, wobei jede erweiterte Seite unabhängig adressierbar ist.
  8. Vorrichtung nach Anspruch 6, wobei jeder Block mindestens 256 Reihen von Speicherzellen enthält und jede Reihe des Speicherblocks mindestens sechzehn erweiterte Seiten enthält.
  9. Vorrichtung nach Anspruch 6, wobei die erweiterte Seite, die die Gruppe von Daten, Adresse und ECC-Bit enthält, mindestens 168 Bit umfasst.
  10. Vorrichtung nach Anspruch 6, wobei die erweiterte Seite, die die Gruppe aus Daten, Adresse und ECC-Bit umfasst, mindestens 128 Datenbits, mindestens 24 Adressbits und mindestens 16 ECC-Bits enthält.
  11. Vorrichtung nach Anspruch 6, wobei die dem Speicherarray zugeordnete Erfassungsschaltung so strukturiert ist, dass sie eine erweiterte Seite in einem einzigen Takt liest, um einen Kommunikationsbus mit einer entsprechenden Anzahl von Bits zu versorgen.
  12. Vorrichtung nach Anspruch 6, wobei mindestens eine Dummy-Zeile einem Speicherblock zum Speichern mindestens interner Blockvariablen der Lesephase und mindestens eines bekannten Musters zugeordnet ist.
  13. Vorrichtung nach Anspruch 12, wobei sich die mindestens eine Dummy-Reihe außerhalb des Adressraums des entsprechenden Blocks befindet.
  14. Vorrichtung nach Anspruch 6, wobei ein Kommunikationskanal oder - bus zwischen der Speicherkomponente und der Host-Vorrichtung oder dem SoC bereitgestellt wird und die Adressbits und ECC-Bits auch in dem Kommunikationsbus enthalten sind.
  15. Eine weitere Ausführungsform der vorliegenden Offenbarung betrifft ein Verfahren zum Verbessern der Sicherheit und Korrektheit des Datenlesens in einer Speichervorrichtung, die einer Hostvorrichtung oder einem System-on-Chip zugeordnet ist und ein Speicherarray von Speicherzellen beinhaltet, umfassend: - Speichern von Daten in Datenspeicherzellen; - Speichern einer Speicheradresse in ersten Speicherzellen eines Reservebereichs; - Speichern von ECC in zweiten Speicherzellen des Ersatzbereichs; - Vergleichen eines Inhalts der ersten Speicherzellen mit einer Adresse angeforderter Daten.
  16. Verfahren nach Anspruch 15, wobei das Vergleichen das Lesen der ersten Speicherzellen des Ersatzbereichs umfasst, um den Inhalt zu erhalten.
  17. Verfahren nach Anspruch 15, wobei die Speichervorrichtung in einer Vielzahl von Speicherblöcken an jeweiligen Blockstellen organisiert ist und jede Blockstelle eine unabhängig adressierbare erweiterte Seite enthält, die eine Gruppe von Daten-, Adress- und ECC-Bits enthält.
  18. Verfahren nach Anspruch 17, wobei jede Blockstelle des Speicherarrays eine erweiterte Seite umfasst, die eine Kette einer ersten Gruppe von einhundertachtundzwanzig (128) Datenbits, einer zweiten Gruppe von vierundzwanzig (24) Adressbits umfasst und eine dritte Gruppe von sechzehn (16) ECC-Bit.
  19. Verfahren nach Anspruch 17, wobei jede erweiterte Seite unabhängig adressierbar ist.
  20. Verfahren zur Verbesserung der Sicherheit des Datenlesens in einer unabhängigen Speichervorrichtung, die ein Array von Speicherzellen enthält und über einen Kommunikationskanal mit einem SoC verbunden ist, wobei das Verfahren Folgendes umfasst: - Definieren einer erweiterten Speicherseite einschließlich Datenbits, Adressbits und ECC-Bits; - Lesen der erweiterten Speicherseite im SoC; - Vergleichen der während des Lesens gelesenen Adressbits der erweiterten Seite mit angeforderten Adressbits im SoC, um die Richtigkeit einer Position der Datenbits zu überprüfen.
  21. Verfahren nach Anspruch 20, ferner umfassend das Senden der angeforderten Adresse durch den Host an die Speichervorrichtung zum Vergleichen.
  22. Verfahren nach Anspruch 20, wobei die Speichervorrichtung in einer Vielzahl von Speicherblöcken an jeweiligen Blockstellen organisiert ist und jede Blockstelle eine unabhängig adressierbare erweiterte Seite enthält, die eine Gruppe von Daten-, Adress- und ECC-Bits enthält.
  23. Verfahren nach Anspruch 22, wobei jede Blockstelle des Speicherarrays eine erweiterte Seite umfasst, die eine Kette einer ersten Gruppe von einhundertachtundzwanzig (128) Datenbits, einer zweiten Gruppe von vierundzwanzig (24) Adressbits umfasst und eine dritte Gruppe von sechzehn (16) ECC-Bit.
  24. Verfahren nach Anspruch 20, wobei jede erweiterte Speicherseite unabhängig adressierbar ist.
  25. Verfahren nach Anspruch 20, wobei die SoC-Vorrichtung mit dem Array von Speicherzellen auf eine Weise mit direktem Speicherzugriff gekoppelt ist.
DE112019007429.6T 2019-05-31 2019-05-31 Verbesserte sicherheit und korrektheit beim lesen von daten in nichtflüchtigen speichergeräten Pending DE112019007429T5 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/IB2019/000482 WO2020240238A1 (en) 2019-05-31 2019-05-31 Improved safety ans correctness data reading in non-volatile memory devices

Publications (1)

Publication Number Publication Date
DE112019007429T5 true DE112019007429T5 (de) 2022-03-03

Family

ID=68621330

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112019007429.6T Pending DE112019007429T5 (de) 2019-05-31 2019-05-31 Verbesserte sicherheit und korrektheit beim lesen von daten in nichtflüchtigen speichergeräten

Country Status (4)

Country Link
US (2) US11373724B2 (de)
CN (1) CN113892089A (de)
DE (1) DE112019007429T5 (de)
WO (1) WO2020240238A1 (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11875044B2 (en) * 2019-05-31 2024-01-16 Lodestar Licensing Group, Llc Direct memory access using joint test action group (JTAG) cells addressing

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6208570B1 (en) * 1998-08-13 2001-03-27 Texas Instruments Incorporated Redundancy test method for a semiconductor memory
US6889307B1 (en) 2001-11-16 2005-05-03 Matrix Semiconductor, Inc. Integrated circuit incorporating dual organization memory array
US7559004B1 (en) * 2003-10-01 2009-07-07 Sandisk Corporation Dynamic redundant area configuration in a non-volatile memory system
TWI385666B (zh) * 2007-05-25 2013-02-11 Realtek Semiconductor Corp 適用於快閃記憶體之資料結構、及其資料寫入方法及資料讀取方法
KR101739878B1 (ko) * 2011-02-22 2017-05-26 삼성전자주식회사 컨트롤러, 이의 동작방법, 및 상기 컨트롤러를 포함한 메모리 시스템
US9547571B2 (en) * 2015-05-20 2017-01-17 Sandisk Technologies Llc Block behavior tracking in a memory system
KR102452993B1 (ko) * 2016-03-25 2022-10-12 에스케이하이닉스 주식회사 반도체 메모리 장치 및 이의 동작 방법
US10261914B2 (en) * 2017-08-25 2019-04-16 Micron Technology, Inc. Methods of memory address verification and memory devices employing the same

Also Published As

Publication number Publication date
CN113892089A (zh) 2022-01-04
WO2020240238A1 (en) 2020-12-03
US11373724B2 (en) 2022-06-28
US20220319626A1 (en) 2022-10-06
US11710532B2 (en) 2023-07-25
US20210335442A1 (en) 2021-10-28

Similar Documents

Publication Publication Date Title
DE60129710T2 (de) Anordnung und struktur für zuverlässige dateikopieoperation für nicht-flüchtige speicher
DE112019007371T5 (de) Eine mit einem system-on-chip gekoppelte speichergerätearchitektur
DE102018123891A1 (de) Handhabung nichtabgestimmter Schreibvorgänge
DE112018000180T5 (de) System und verfahren zum adaptiven senden frühzeitiger beendigung unter verwendung eines steuerungsspeicherpuffers
DE102020130044A1 (de) Techniken zum verhindern von lese-störung in nand-speicher
DE112019005369T5 (de) Verfahren zum umschalten zwischen herkömmlicher ssd und open-channel-ssd ohne datenverlust
DE102007016460A1 (de) Nichtflüchtiges Speicherbauelement, nichtflüchtiges Speichersystem und Leseverfahren für ein nichtflüchtiges Speicherbauelement
DE102015116801A1 (de) Nichtflüchtige Speichersysteme und Verfahren zum Betreiben von nichtflüchtigen Speichersystemen
DE102010013388A1 (de) Hierarchische Speichervorrichtung zur Verbindung von Massenspeichern
DE102006002526A1 (de) Steuervorrichtung für eine Solid-State-Disk und Verfahren zum Betreiben derselben
DE60012081T2 (de) Nichtflüchtige Halbleiterspeicheranordnung, die eine Datenleseoperation während einer Datenschreib/lösch-Operation erlaubt
DE4134192A1 (de) Integrierter schaltkreis mit verarbeitung im speicher
DE102013108491A1 (de) Nichtflüchtige Speichervorrichtung und Betriebsverfahren mit variablen Speicherzellenzustandsdefinitionen
EP0046976A2 (de) Halbleiterspeicher aus Speicherbausteinen mit redundanten Speicherbereichen
DE112020001937T5 (de) Vorausschauender datenvorabruf in einer datenspeicher-vorrichtung
DE102008033518A1 (de) Datenverarbeitungsverfahren für eine Solid-State-Disk-Steuereinheit, Solid-State-Disk-Steuereinheit und Datenspeicherelement
DE102020107504A1 (de) Nichtflüchtiges speicher-array, das zur leistungsverbesserung von beiden seiten angesteuert wird
DE112020000159T5 (de) Systeme und verfahren zum definieren von speicher-unterblöcken
DE112017006698T5 (de) Erreichen einheitlicher lesezeiten in nicht flüchtigen mehrebenenspeichern
DE102021006246A1 (de) Doppelt verschachtelte Programmierung einer Speichervorrichtung in einem Speicher-Untersystem
DE112019007385T5 (de) Verbesserte sicherheit und korrektheit beim lesen und programmieren von daten in einem nichtflüchtigen speichergerät
DE102017119065B4 (de) Aktualisieren eines Speichers
DE112019007374T5 (de) Direkter speicherzugriff mit jtag-zelladresse
DE112019007429T5 (de) Verbesserte sicherheit und korrektheit beim lesen von daten in nichtflüchtigen speichergeräten
DE112021001848T5 (de) Mehrere pinkonfigurationen von speichervorrichtungen

Legal Events

Date Code Title Description
R012 Request for examination validly filed