DE112019007375T5 - Speichergerät mit verbesserter sensorstruktur - Google Patents

Speichergerät mit verbesserter sensorstruktur Download PDF

Info

Publication number
DE112019007375T5
DE112019007375T5 DE112019007375.3T DE112019007375T DE112019007375T5 DE 112019007375 T5 DE112019007375 T5 DE 112019007375T5 DE 112019007375 T DE112019007375 T DE 112019007375T DE 112019007375 T5 DE112019007375 T5 DE 112019007375T5
Authority
DE
Germany
Prior art keywords
memory
cells
data
storage device
page
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
DE112019007375.3T
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 DE112019007375T5 publication Critical patent/DE112019007375T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/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/30Accessing single arrays
    • G11C29/32Serial access; Scan testing
    • 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/022Detection or location of defective auxiliary circuits, e.g. defective refresh counters in I/O circuitry
    • 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/026Detection or location of defective auxiliary circuits, e.g. defective refresh counters in sense amplifiers
    • 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
    • G11C2029/0401Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals in embedded memories
    • 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/30Accessing single arrays
    • G11C2029/3202Scan chain

Abstract

Die vorliegende Offenbarung betrifft eine Speichervorrichtung mit einer verbesserten Abtaststruktur und beinhaltet:- ein Speicherarray, das eine Vielzahl von Unterarrays von Speicherzellen umfasst und in Speicherblöcken strukturiert ist;- Leseverstärker, die mit den Speicherzellen gekoppelt sind;- modifizierte JTAG-Zellen, die parallel an die Ausgänge der Leseverstärker gekoppelt und seriell in einer Scan-Chain-Struktur verbunden sind, wodurch eine JTAG-Struktur und die Leseverstärker integriert werden.Die jedem Subarray zugeordneten Scan-Ketten-Strukturen sind miteinander verbunden, um eine einzigartige Kette als ein Boundary-Scan-Register zu bilden. Darüber hinaus ist das Boundary-Scan-Register eine Teststruktur zum Testen von Verbindungen der Leseverstärker.

Description

  • Die vorliegende Erfindung bezieht sich auf Speichervorrichtungen und insbesondere auf eine Speichervorrichtung oder -komponente, die es ermöglicht, einen eingebetteten Speicherabschnitt in SoC-Vorrichtungen zu ersetzen, und die mit einer verbesserten Leseschaltung strukturiert ist, die es ermöglicht, einen digitalen Test der Leseverstärker durchzuführen.
  • STAND DER TECHNIK
  • Ein System auf einem Chip oder SoC ist ein integrierter Halbleiterschaltkreis, der alle Komponenten eines Computers oder eines anderen elektronischen Systemsintegriert. Diese Komponenten umfassen typischerweise eine zentrale Verarbeitungseinheit (CPU), Speicherabschnitte, Eingangs-/Ausgangsports und sekundäre Speicherkomponenten, alle auf einem einzigen Halbleitersubstrat.
  • Ein SoC-Gerät kann je nach Anwendung digitale, analoge, Mixed-Signal-und häufig Hochfrequenz Signalverarbeitungsfunktionen enthalten. Da sie auf einem einzigen elektronischen Substratintegriert sind, kann ein SoC-Bauelement viel weniger Strom verbrauchen und viel weniger Fläche beanspruchen als Multi-Chip-Designs mit äquivalenter Funktionalität. SoC-Geräte sind heute im Mobile Computing, in eingebetteten Systemen und im Internet der Dingeweit verbreitet.
  • Insbesondere im Automobilbereich besteht ein dringender Bedarf, SoC-Geräte einschließlich Controller, Speicher und Verbindungen mit vielen externen Sensoren und Aktoren zu entsorgen. Darüber hinaus müssen die Controller dieser SoC-Geräte eine lange Lebensdauer und eine extrem hohe Zuverlässigkeit aufweisen und mit den in das SoC-Gerät eingebetteten Speicherteilen mit einer geringen anfänglichen Latenzzeit und mit dem maximal möglichen Durchsatz arbeiten.
  • Nichtflüchtige Flash-Speicher sind heute einer der grundlegenden Bausteine moderner elektronischer Systeme, einschließlich der SoC-Bausteine für Automobilanwendungen und speziell für Echtzeitbetriebssysteme, d.h.RTOS. Ihre Leistungsfähigkeit in Bezug auf Geschwindigkeit, Verbrauch, Veränderbarkeit, Nichtflüchtigkeit und die zunehmende Bedeutung der Rekonfigurierbarkeit des Systems haben bisher die Integration von Flash-Speichern in System-on-Chip-Geräte vorangetrieben.
  • Die Flash-Integration bringt jedoch sowohl auf System- als auch auf Schaltungs-/Technologieebene viele Probleme mit sich, die ein sorgfältiges Design erfordern. Aus Systemsicht spielen bei der Wahl des in das SoC-Baustein zu integrierenden Flash-Speichertyps mehrere Aspekte eine Rolle; die wichtigsten sind abhängig von den spezifischen Anwendungen und Anforderungen deren Ertrag, Kosten, Stromverbrauch, Zuverlässigkeit und Leistungsanforderungen.
  • Darüber hinaus ist es schwierig, eingebettete Speicher in SoC-Geräten zu verwalten, wenn der Lithographieknoten beispielsweise unter 28 nm liegt und wenn der eingebettete Makro-Flash den größten Teil des SoC ausmachen kann.
  • Figurenliste
    • 1 ist eine schematische und perspektivische Ansicht einer System-on-Chip-Vorrichtung gemäß der vorliegenden Offenbarung, die eine Speicherkomponente enthält, die einen eingebetteten Speicherabschnitt der früheren SoC-Vorrichtungen ersetzt;
    • 2 ist eine schematische Ansicht der Speicherkomponente gemäß der vorliegenden Offenbarung;
    • 3 ist eine schematische Ansicht eines Abschnitts der nichtflüchtigen Speicherkomponente von 2, die eine Layoutkonfiguration gemäß der vorliegenden Offenbarung enthält;
    • 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 erweiterten Speicherseite in den Speicherzeilen des Speicherblocks von 4;
    • 6 eine schematische Ansicht eines einzelnen des in 3 gezeigten Speicherabschnitts ist;
    • 7 ist eine schematische Ansicht der Verbindungen zwischen einer generischen Speicherzelle und einem entsprechenden Leseverstärker unter Einbeziehung der modifizierten JTAG-Zelle gemäß der vorliegenden Offenbarung;
    • 8 zeigt schematisch eine detailliertere interne Struktur der Speicherkomponente gemäß der vorliegenden Offenbarung;
    • 9 ist eine schematische Ansicht einer JTAG-Zelle ist, die in den 6 und 7 gezeigt und gemäß der vorliegenden Offenbarung modifiziert;
    • 10 zeigt eine schematische Ansicht einer Standardstrukturarchitektur unter Verwendung einer Boundary-Scan-Zelle, die gemäß dem IEEE-Standard Nr. 1149.1 konfiguriert ist, jedoch die modifizierten JTAG-Zellen von 9 enthält.
  • DETAILLIERTE BESCHREIBUNG
  • Unter Bezugnahme auf diese Figuren werden hierin Vorrichtungen und Verfahren offenbart, die eine nichtflüchtige Speichervorrichtung oder Komponente und eine Hostvorrichtung für eine solche Speichervorrichtung beinhalten.
  • Gemäß Ausführungsformen der vorliegenden Offenbarung wird eine unabhängige Speichervorrichtung oder Komponente 100 mit einer Technologie realisiert, die speziell für die Herstellung von Flash-Speichervorrichtungen bestimmt ist. Diese neue Speicherkomponente 100 ist einer SoC-Struktur 110 zugeordnet und verbunden, die eine solche Struktur teilweise überlappt, während der entsprechende Halbleiterbereich der SoC-Struktur für andere Logikschaltungen verwendet wurde und um den überlappenden strukturell unabhängigen Speicherabschnitt zu unterstützen.
  • Hierin wird eine nichtflüchtige Speicherstruktur 100 offenbart, die Zugriffszeit verbessern kann. In jedem Fall werden das System-on-Chip 110 und das zugehörige Speicherbauelement auf einem jeweiligen Chip realisiert, der durch einen anderen Lithographieprozess erhalten wird.
  • Wie in 1 gezeigt, ist die Speicherkomponente 100 gemäß der vorliegenden Offenbarung als eigenständige Vorrichtung strukturiert, die in einem einzigen Chip mit einer Technologie realisiert wird, die speziell für die Herstellung von Flash-Speichervorrichtungen bestimmt ist. Die Speicherkomponente 100 ist eine unabhängige Struktur, aber sie ist strikt dem Host-Gerät oder der SoC-Struktur zugeordnet. Genauer gesagt ist die Speichervorrichtung 100 mit der SoC-Struktur 110 assoziiert und verbunden, die eine solche Struktur teilweise überlappt, während der entsprechende Halbleiterbereich der SoC-Struktur für andere Logikschaltungen verwendet wurde und um eine Unterstützung für die teilweise überlappende strukturell unabhängige Speichervorrichtung 100' bereitzustellen, beispielsweise durch eine Vielzahl von Säulen 130 oder andere ähnliche alternative Verbindungen wie Ball-on-Grid oder mit einer Flip-Chip-ähnlichen Technologie.
  • Um den Chip an einer externen Schaltung (z. B. einer Leiterplatte oder einem anderen Chip oder Wafer) zu montieren, wird der Chip umgedreht, so dass seine Oberseite nach unten zeigt, und Pads-to-Pads ausgerichtet, so, dass seine Pads mit den entsprechenden Pads der externen Schaltung ausgerichtet sind. Dann wird das Lot aufgeschmolzen, um die Verbindungen zu vervollständigen.
  • Die endgültige Konfiguration wird eine Face-to-Face-Verbindung SoC/Flash Array sein, wobei die Leseverstärker mit dem SoC in einer Direct Memory Access-Konfiguration verbunden werden.
  • Am Ende wird das Speichergerät nach den Bedürfnissen des Benutzers in einem Wertebereich hergestellt, der je nach verfügbarer Technologie variieren kann, zum Beispiel von mindestens 128 Mbit bis 512 Mbit oder sogar mehr ohne Einschränkung für die Rechte des Antragstellers. Genauer gesagt ermöglicht die vorgeschlagene externe Architektur, die Grenzen des aktuellen eFlash (d.h. der eingebetteten Flash-Technologie) zu überschreiten, was die Integration eines größeren Speichers ermöglicht, da dieser je nach Speichertechnologie und Technologieknoten 512 Mbit und/oder 1 Gbit und/oder mehr betragen kann.
  • In einer Ausführungsform der vorliegenden Offenbarung beinhaltet die Speicherkomponente 100 für die SoC-Struktur 110 mindestens einen Speicherabschnitt und einen Logikschaltungsabschnitt zum Interagieren mit dem Speicherabschnitt und mit der SoC-Struktur 110. Eine Logikschaltung 140 ist in die SoC-Struktur 110 integriert, um mit dem Logikschaltungsabschnitt der Speicherkomponente 100 zusammenzuarbeiten.
  • Allgemeiner gesagt weist die Speicherkomponente 100 im Vergleich zu der größeren Größe der SoC-Struktur 110 eine geringere Größe auf, wobei der Begriff „teilweise überlappend“ bedeutet, dass die Speicherkomponente 100 den Bereich der SoC-Struktur 110 nur teilweise oder nicht vollständig bedeckt. Jedoch kann sogar eine Speicherkomponente 100 mit einer größeren Größe von den Pads der SoC-Struktur getragen und mit ihnen verbunden werden, wobei die Position und Versetzung ihrer Verbindung oder ihrer verbindenden Pads beibehalten wird.
  • In einer Ausführungsform der vorliegenden Offenbarung wurde die Anordnung der Pads der Speicherkomponente 100 auf einer Oberfläche der Speicherkomponente 100 realisiert. Genauer gesagt sind die Pads über dem Array angeordnet, so dass, wenn die Speicherkomponente 100 umgedreht wird, ihre Pads den entsprechenden Pads der SoC-Struktur 110 zugewandt sind. Der Halbleiterbereich 120, der in bekannten System-on-Chip-Vorrichtungen von dem eingebetteten nichtflüchtigen Speicherabschnitt eingenommen wurde, ist dem Gehäuse der Verbindungspads entsprechend den Pads der Speicherkomponente 100 gewidmet.
  • Als Alternative könnte, wenn eine Face-to-Face-Kopplung verwendet wird, ein Stapel von Speicherkomponenten der gleichen Größe überlappt werden, wodurch eine Stapelstruktur realisiert wird, wobei jede unabhängige Komponente durch die Logikschaltung der SoC-Struktur 110 über eine entsprechende Identifikationsadresse.
  • Der zuvor bei einer bekannten Lösung von einem eingebetteten Speicherabschnitt eingenommene Halbleiterbereich 120 wird nun verwendet, um zusätzliche Funktionalitäten zu implementieren und das Halbleiterbauelement für eine Logic Over Pads-Technologie vorzubereiten. Der Ausdruck „Logik über Pads“ bedeutet das Bereitstellen einer Logikschaltung, die einige Verbindungspads überlappt, die sich intern mit einer ersten oder Basisschicht befinden, die durch ein vollständiges Halbleiterprodukt, d.h. die SoC-Struktur 110, repräsentiert wird. Bei einer Erweiterung des Speichers im SoC wird die Technologie Pads über den Speicher entweder im SoC-Silizium oder im Flash-Array bereitstellen.
  • Die Speicherkomponente 100 stellt somit eine obere Schicht dar, die mit der Basis-SoC-Struktur 110 gekoppelt und verbunden ist, aber eine größere Kapazität aufweist und eine größere Halbleiterfläche als die Halbleiterfläche 120 abdecken kann.
  • Darüber hinaus wurde für ein besseres Funktionieren der SoC-Struktur 110 sogar der Logikschaltungsabschnitt 140 von 1 (der in der bekannten SoC-Vorrichtung eine Modify Finite State Machine oder einen RISC-Controller enthielt) aus dem SoC entfernt und in Verbindung mit der Speicherkomponente 100 neu organisiert. Daher ist zum Unterstützen der Schreib- und Löschphasen, die auf der größeren Speicherkomponente 100 durchgeführt werden, eine Modify Finite State Machine oder RISC 140 in die Speicherkomponente 100 migriert.
  • Die Trennung und Optimierung des Logikschaltungsabschnitts ermöglicht es ferner, die Funktionalität der gesamten SoC-Struktur 110 zu verbessern, wodurch eine unabhängige Halbleiterspeicherkomponente 100 erhalten wird, die an die SoC-Struktur 110 gekoppelt ist.
  • Diese unabhängige Halbleiterspeicherkomponente 100 beinhaltet daher zumindest den Speicherabschnitt (vorzugsweise einen nichtflüchtigen Speicherabschnitt) und die zugehörige Modifizierungs-Finite-State-Maschine 140, die beide in ein Halbleiterprodukt integriert sind, das an die SoC-Struktur 110 gekoppelt ist. In diesem Fall ist die im SoC eingebettete Logik die Leselogik: Abrufen der Daten, Korrektur der Daten, Ausarbeitung und Ausführung.
  • Wie im Folgenden der vorliegenden Offenbarung erscheinen wird, wird der Speicherkomponente 100 eine DMA-Fähigkeit mit einem Schnittstellenlogik-JTAG-TAP unter Verwendung modifizierter JTAG-Zellen sowie einem flexiblen TDI, sicherem Zugriff, Adresspuffern und anderen Merkmalen zum Handhaben der Kommunikation bereitgestellt mit der SoC-Struktur 110.
  • Nun wird mit spezifischerer Bezugnahme auf das Beispiel aus 2 die Hauptstruktur der Speicherkomponente 200 gemäß einer Ausführungsform der vorliegenden Offenbarung offenbart, wobei die Referenz 200 aus 2 der Referenz 100 aus 1 entspricht.
  • Die Speicherkomponente 200 umfasst mindestens: eine I/O-Schaltung 205, einen Mikrosequenzer 203, ein Array von Speicherzellen 290, Spannungs- und/oder Stromreferenzgeneratoren 210, eine Ladungspumpenarchitektur 202, Adressdecoder 208, Leseverstärker 209' und entsprechende Latches, eine Dienstlogik zum Verbinden aller Teile des Speichers und eine Befehlsbenutzerschnittstelle 204, beispielsweise ein CUI-Block.
  • Das Array von Speicherzellen 290 enthält nichtflüchtige Flash-Speicherzellen.
  • In einer Ausführungsform der vorliegenden Offenbarung implementiert die Speicherkomponente 200 einen Speicher vom Typ mit direktem Speicherzugriff, um das eingebettete Speicherarray bekannter SoC-Vorrichtungen zu ersetzen.
  • Darüber hinaus sieht die vorgeschlagene Idee die Implementierung des Speicherbauelements 200 in einem „Known Good Die“ (KGD)-Formfaktor oder Bare-Die vor, der es erlaubt, die Leseverstärkerausgänge, bis auf eine Latch-Struktur in der Mitte, direkt mit einem Controller der SoC-Struktur.
  • Strategien zur Erzielung des KGD-Formfaktors basierten auf der Nutzung der vorhandenen Infrastruktur zum Testen und Einbrennen von herkömmlich verpackten Komponenten. Dies minimiert die Menge an Hardware, Werkzeugen oder Einfügungen, die Bare-Die-Produkte kostspieliger machen.
  • 3 zeigt detaillierter die interne Struktur der Speicherkomponente 100 oder 200. In einer solchen 3 ist die Speichervorrichtung mit der Nummer 300 entsprechend der Referenznummer 200 von 2 angegeben und das Speicherarray 290 ist mit der Nummer 320 angegeben.
  • Für den Test der Speicherkomponente 300 wird eine JTAG-Schnittstelle 350 verwendet, die Wiederverwendung des Testwerkzeugs ermöglicht. Daher umfasst die Speicherkomponente 300 auch eine JTAG-Logik 350. Diese JTAG-Schnittstelle 350 wird später unter Bezugnahme auf 8 ausführlicher offenbart.
  • Genauer gesagt enthält das Speicherarray mindestens eine JTAG-Schnittstelle 350, die als Eingänge Standard-JTAG-Signale empfängt: TMS, TCK, TDI sowie Daten von einer Speicherseite. Gemäß Ausführungsformen der vorliegenden Offenbarung wird ein erweiterter TDI als flexibler TDI verwendet. Die Flexibilität beruht auf der Tatsache, dass die Anzahl der parallelen Bits, die als TDI arbeiten, von den ausgewählten Registern abhängt, d.h. K (im Beispiel vier) Zeilen für das Befehlsregister, M Zeilen für das Adressregister, N Zeilen für die Daten Register usw., während TDI vom JTAG-Protokoll stammt, das TDI als Namen für das Signal verwendet, das zum Füllen der Register verwendet wird.
  • Diese JTAG-Schnittstelle 350 erzeugt als Ausgabe Daten, Adressen und Steuersignale, die an einen Speicheradressendecodierer 340 und auch an den internen Flash-Controller 310 übertragen werden, um Modifizierungs-, Test- und Verifizierungsoperationen durchzuführen.
  • Die Aktivität des Decoders 340 wird durch Ladungspumpen 330 ermöglicht, die so strukturiert sind, dass sie die Spannungen und Zeitabläufe zum Verwalten 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 340 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 Verbindungen umfassen auch die JTAG-Schnittstelle 350 und Steuerpins für Test- und andere Zwecke. Der Kern der SoC-Vorrichtung 110 kann unter Verwendung einiger interner Pads 370 Zugriff auf die JTAG-Schnittstelle 350 haben. Solche Pads sind schnell und haben die Fähigkeit, die maximale Frequenz zu unterstützen. Genauer gesagt werden Hochgeschwindigkeits-Pads 370 im schnellen Lesepfad gegenüber dem SoC 110 verwendet, während ein Niedergeschwindigkeitspfad 380 der Testphase gewidmet ist. Die JTAG-Zellen sind Teil des schnellen Pfads, aber die JTAG-Schnittstelle verwendet den langsameren Pfad.
  • Gemäß der vorliegenden Offenbarung ist die Speicherkomponente 1 mit einem Controller 310 des Flash-Arrays 320 (im Folgenden als Flash-Array-Controller bezeichnet) ausgestattet. Der Flash-Array-Controller 310 weist eine Architektur auf, die es ermöglicht, einige Flash-Array-Ressourcen mit dem SoC-Controller zu verwenden, ohne die Geheimhaltung bestimmter darin gespeicherter Informationen (zum Beispiel Algorithmen, Flash-Array-Spannungen, Ströme und mehr allgemeiner Prozessinformationen) zu gefährden, und garantiert eventuelles Kundenretourenmanagement. Dies wird durch die Annahme einer speziellen Struktur ermöglicht, bei der Benutzer in einem ersten Bereich seine eigene Firmware schreiben und in einem zweiten anderen Bereich mit der internen Firmware des Controllers interagieren kann.
  • Daher wurden die Speicherkomponente 100 und der Host oder SoC 110 mit einer Schnittstelle unter Verwendung einer sehr hohen Parallelität gekoppelt. Diese Funktion kann auch verwendet werden, um die Leistung zu verbessern, beispielsweise zum Laden des Befehlsregisters und der (generischen) Datenregister.
  • Die Notwendigkeit einer sehr geringen Anfangslatenz und eines hohen Durchsatzes treibt die Erzeugung des folgenden Schemas für die Adressierung pro Unterfeld an.
  • Wie später ausführlicher offenbart wird, ist jeder Speicherblock mit entsprechenden Verstärkern verbunden und die Leseverstärker der Leseschnittstelle 360 sind unter Verwendung modifizierter JTAG-Zellen mit der SoC-Vorrichtung 110 verbunden. Der Kommunikationskanal zwischen den Flash-Array-Blöcken und dem SoC-Gerät 110 wird durch einen Steuer- und Statusbus dargestellt.
  • Die Ausgabe der Leseschnittstelle 360 wird durch eine erweiterte Seite dargestellt, die kombinierte Folge von Datenzellen + Adresszellen + ECC-Zellen enthält, die später unter Bezugnahme auf 5 offenbart werden. Die Schreiboperation steuert auch die drei Komponenten (Datenzellen + Adresse Zellen + ECC-Zellen) der erweiterten Seite; der ECC und die Adresszellen dienen als Sicherheitsmechanismus, um die geringe Wahrscheinlichkeit von Fehlern zu gewährleisten.
  • Die Gesamtmenge von Bits würde in dem hiermit offenbarten Beispiel N+M+R Bits umfassen, beispielsweise einhundertachtundsechzig Pads pro Kanal in der hiermit offenbarten Implementierung.
  • Die Speicherkomponente 300 verwendet die Verbindungspads und den Logikschaltungsabschnitt, um die Verbindung mit der SoC-Struktur 110 zu ermöglichen.
  • Die endgültige Konfiguration wird ein SoC/Flash-Array mit direkter Verbindung sein, wobei die Leseverstärker mit dem SoC in einer Konfiguration mit direktem Speicherzugriff verbunden sind. Zu den Verbindungen gehören auch die JTAG-Schnittstelle und Steuerpins für Tests und andere Zwecke.
  • Auf diese Weise ist es möglich, die Anzahl der für die Verbindungen erforderlichen Pads relativ gering zu halten.
  • Gemäß der vorliegenden Offenbarung ist die Speicherkomponente 300 mit einem Controller 310 des Flash-Arrays 320 (im Folgenden als Flash-Array-Controller bezeichnet) ausgestattet, wobei der Flash-Array-Controller 310 eine Architektur aufweist, die es ermöglicht, einige Flash-Array-Ressourcen mit dem SoC-Controller zu teilen ohne die Geheimhaltung bestimmter darin gespeicherter Informationen (zum Beispiel Algorithmen, Blitzarray-Spannungen, -Ströme und mehr in allgemeinen Prozessinformationen) zu gefährden und garantiert ein eventuelles Kundenretourenmanagement.
  • Das Speicherarray 320 der Speicherkomponente 300 ist als eine Sammlung von Unterarrays 390 aufgebaut. Die Abtastketten können verbunden werden, um ein eindeutiges Schieberegister zu bilden, um die Verbindungen richtig zu testen.
  • Diese Architektur besteht darin, dass sie sehr skalierbar ist, wobei das Erweitern und/oder Reduzieren der Dichte des Endgeräts sich nur in der Spiegelung eines Unterarrays und der Bereitstellung der entsprechenden Verbindungen in einer sehr skalierbaren Weise niederschlägt. Der Speicher kann auch erweitert werden, indem die Speichergröße pro Sub-Array erhöht wird, ohne die Anzahl der Kanäle für den SoC zu erhöhen.
  • Der Direct Memory Access ermöglicht es, die endgültige Latenz, die der SoC beim Lesen der Daten erfahren kann, zu reduzieren.
  • Wenn man sich nun die interne Struktur der Speicherkomponente 100 oder 200 oder 300 genauer ansieht, sollte beachtet werden, dass die Architektur des Speicherarrays 320 als eine Sammlung von Unterarrays 390 aufgebaut ist.
  • Jedes Unterarray 390 ist innerhalb der Speichervorrichtung 300 unabhängig adressierbar. Jedes Unterarray 390 enthält mehrere Speicherblöcke 460 (in 4 detaillierter 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. Die anfängliche Latenz ist die Zeit, die benötigt wird, um die ersten gültigen Daten nach der Ausgabe der Adresse zu haben.
  • In den hiermit offenbarten Ausführungsbeispielen ist das Speicherarray 320 mit einer Anzahl von Unterarrays 390 entsprechend der Anzahl von Kernen des zugehörigen SoC 110 und daher der Anzahl von entsprechenden Kommunikationskanälen strukturiert. Zum Beispiel werden mindestens vier Speicher-Sub-Arrays 390 bereitgestellt, eines für jeden Kommunikationskanal mit einem entsprechenden Kern des SoC 110.
  • Die Host-Vorrichtung oder das System-on-Chip 110 beinhaltet normalerweise mehr als einen Kern und jeder Kern ist an einen entsprechenden Bus oder Kanal zum Empfangen und Übertragen von Daten an die Speicherkomponente 100, 200 oder 300 gekoppelt. Wir beziehen uns allgemein auf eine Anzahl von K Bussen für N Datenbits.
  • Daher hat in der vorliegenden Implementierung jedes Unterarray 390 Zugriff auf einen entsprechenden Kanal, um mit einem entsprechenden Kern des System-on-Chip 110 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 das Erweitern und/oder Reduzieren der Dichte des Endgeräts nur das Spiegeln eines Unterarrays und das Erzeugen der Verbindung oder das Erhöhen der Anzahl von Blöcken jedes Unterarrays, das heißt der verfügbaren Dichte pro Kern, übersetzt.
  • In Ausführungsformen der vorliegenden Offenbarung adressiert jede unabhängig adressierbare Stelle der Blöcke jedes Speicherunterarrays 390 eine erweiterte Seite 450 (in 4 detaillierter dargestellt), die im Folgenden auch mit dem Begriff Superseite definiert wird, der eine doppelt erweiterte Seite bedeutet.
  • Als nicht einschränkendes Beispiel umfasst diese erweiterte Seite 450 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 110 plus at 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.
  • Wie in 4 gezeigt, ist jeder Block 460 jedes Speicherunterarrays 390 mit einer Zeile 435 strukturiert, die mindestens 16 Doppelwörter von jeweils N Bits (d.h. 128 Bits) enthält, plus die M Adressbits und die R ECC-Syndrom-Ersatzbits pro Seite Bilden einer Speicherseite von N+M+R 168 Bits. Diese Architektur ähnelt einem DRAM-ähnlichen Schema zum gleichzeitigen Vorbereiten mehrerer Adressen. Zum Beispiel kann jedes Doppelwort, das N+M+R Bits enthält, 168 Bits plus 168 Bits umfassen, um die zuvor erwähnte Superseite zu bilden.
  • Ein Fachmann auf diesem Gebiet wird erkennen, dass eine größere oder kleinere Speichervorrichtung mit einer erhöhten Anzahl von Speicherunterarrays 390 strukturiert werden kann, wodurch die Dichte der endgültigen Speichervorrichtung 100 erweitert oder verringert wird. Eine größere Speichervorrichtung wird beispielsweise durch Spiegeln eines Unterarrays 390 und Bereitstellen der entsprechenden Verbindungen in einer sehr skalierbaren Weise erhalten.
  • Die in 4 schematisch dargestellte kombinierte Kette von Datenzellen + Adresszellen + ECC-Zellen, die erweiterte Seite oder Superseite 450 bilden, ermöglicht die Implementierung der Sicherheitsabdeckung des Busses gemäß den Standardanforderungen der Regel ISO26262, da die ECC das Ganze abdeckt Buskommunikation (Datenzellen + Adresszellen), während das Vorhandensein der Adresszellen die Gewissheit gibt, dass die Daten genau von der adressierten Stelle des Controllers kommen, d.h. wenn ADD == ADDO.
  • Die R ECC-Zellen ermöglichen dem Host-Controller zu verstehen, ob eine Beschädigung der Daten plus Adressinhalt auftritt.
  • Die Implementierung dieser Mechanismen gewährleistet die Optimierung des Lesevorgangs des Speichers.
  • Gemäß der vorliegenden Offenbarung bereiten die Ausgänge der Leseverstärker SA jeweils eine doppelt erweiterte Seite vor, d.h. eine Superseite 450 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 450 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 Super- page besteht aus ein paar erweiterten Pages, d.h. einer Gruppe von 168 x 2 Bits.
  • Um nur ein nicht einschränkendes numerisches Beispiel zu geben, enthält jede Zeile eines Speicherblocks 460 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.
  • In Ausführungsformen der vorliegenden Offenbarung ist die Ausgabe eines generischen Unterarrays 390 konfiguriert, um die folgende Sequenz zu kombinieren: N Datenzellen plus M Adresszellen plus R ECC-Zellen. In diesem nicht einschränkenden Beispiel würde die Gesamtmenge der Bits 168 Pads pro Kanal umfassen, wie in 5 gezeigt.
  • Die in 4 schematisch dargestellte kombinierte Kette von Datenzellen + Adresszellen + ECC-Zellen, die die erweiterte oder Superseite 450 bilden, ermöglicht die Implementierung der Sicherheitsabdeckung des Busses gemäß den Standardanforderungen der Regel ISO26262, da die ECC das Ganze abdeckt Buskommunikation (Datenzellen + Adresszellen), während das Vorhandensein der Adresszellen die Gewissheit gibt, dass die Daten genau von der adressierten Stelle des Controllers kommen, d.h. wenn ADD == ADDO.
  • Die Leseverstärker SA jedes Subarrays 390 sind mit einer Abtastkette modifizierter JTAG-Zellen 700 verbunden, die alle Ausgänge eines Subarrays 390 miteinander verbinden, wie in den 6 und 7 dargestellt.
  • Die vorliegende Offenbarung betrifft eine Speichervorrichtung mit einer verbesserten Abtaststruktur und beinhaltet:
    • - ein Speicherarray, das eine Vielzahl von Unterarrays von Speicherzellen umfasst und in Speicherblöcken strukturiert ist;
    • - Leseverstärker, die mit den Speicherzellen gekoppelt sind;
    • - modifizierte JTAG-Zellen, die parallel an die Ausgänge der Leseverstärker gekoppelt und seriell in einer Scan-Chain-Struktur verbunden sind, wodurch eine JTAG-Struktur und die Leseverstärker integriert werden.
  • Die jedem Subarray zugeordneten Scan-Ketten-Strukturen sind miteinander verbunden, um eine einzigartige Kette als ein Boundary-Scan-Register zu bilden. Darüber hinaus ist das Boundary-Scan-Register eine Teststruktur zum Testen von Verbindungen der Leseverstärker.
  • 6 zeigt eine schematische Ansicht eines Speicherabschnitts, wobei die Architektur des Unterarrays 390 so strukturiert ist, dass sie mindestens einen Kanal der SoC-Struktur 110 bedient, dem die Speicherkomponente 100, 200 oder 300 zugeordnet ist.
  • In dieser 7 ist ein Beispiel gezeigt, bei dem die modifizierten JTAG-Zellen 700, die einem Unterarray 390 zugeordnet sind, miteinander verbunden werden können, um eine einzigartige Scan-Kette 1000 zum schnellen Prüfen der Integrität der Pad-Verbindungen zu bilden.
  • Dank der Speicherarchitektur der vorliegenden Offenbarung ist es möglich, von einem parallelen Modus zum Abrufen von Daten und Adressen aus den Speicherunterarrays 390 in einen seriellen Modus zum Prüfen der Verbindungen zwischen der Speicherkomponente 100 und der zugehörigen SoC-Vorrichtung 110 überzugehen. Darüber hinaus ist der SoC 110 berechtigt, einmal ‚1‘ und einmal ‚0‘ zu lesen, um Tests durchzuführen, und kann auch das Speicherergebnis analysieren, indem er die Daten mithilfe der Scan-Kette ausliest.
  • Es sollte ferner beachtet werden, dass jedes Unterarray 390 Adressregister umfasst, die mit Datenpufferregistern verbunden sind, ähnlich einer Architektur, die in einer DRAM-Speichervorrichtung verwendet wird, d.h. DDRX-Typ in 3DXP oder als LPDDRx.
  • In den folgenden Absätzen der vorliegenden Offenbarung wird es offensichtlich sein, dass die Ausgänge der Leseverstärker SA pro Subarray 390 durch eine interne Schaltung zwischengespeichert werden, um es den Leseverstärkern zu ermöglichen, eine weitere interne Leseoperation auszuführen, um das zweite Halbbyte oder Gruppe von 168 Bits vorzubereiten. Dieses zweite Halbbyte wird an den Ausgang des Flash-Arrays 320 übertragen, wobei ein zusätzliches Freigabesignal verwendet wird (d.h. ein internes Taktsignal oder ein ADV-Signal; ADV = Address Data Valid. In unserem Fall ist das Signal load_data[1:0], abhängig von auf dem adressierten Flipflop), das den auf Leseverstärkerebene gelesenen Inhalt an das Hostgerät oder SoC-Gerät 110 überträgt.
  • Mit anderen Worten, die internen Leseverstärker bereiten zwei erweiterte Seiten 450 vor, und während die erste Seite zum Verschieben (oder auch Ausschieben) bereit ist, wird intern eine Lesephase der zweiten Seite durchgeführt, die derselben Adresse zugeordnet ist. Dies ermöglicht die Vorbereitung von fünf bis acht Doppelworten (im vorliegenden Beispiel), die in der RTOS-Anwendung typisch sind. 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 700 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 110 so weit wie möglich zu reduzieren.
  • Nur um ein numerisches Beispiel basierend auf der hierin offenbarten Ausführungsform zu berichten, können wir anmerken, dass jede Adresse in den Adresspuffern mit einem Datenpuffer verbunden ist, der beispielsweise N Datenbits (d.h. 128 Bits) enthält. Der SoC kann jedoch bis zu 2*N Bits (d.h. 256 Bits, ohne die Adressbits und den ECC) gleichzeitig benötigen, sodass die Datenpuffer dupliziert werden, um sie verschieben zu können, vorausgesetzt, die Adresse 0 von wird verwendet das Unterarray 0:
    • Erster Durchgang der ersten Gruppe von N Bits: Daten 0_0_H [127:0] + ADD + ECC
    • Zweiter Durchgang der zweiten Gruppe von N Bits: Daten 0_0_L [127:0] + ADD + ECC
  • Die obigen Angaben beziehen sich auf ein Standard-Lesen, das beispielsweise für Sicherheitszwecke und Datenintegrität/-korrektur verwendet wird.
  • In einer Ausführungsform werden die Adresspuffer unter Verwendung modifizierter JTAG-Zellen 620 realisiert, wie wir im Folgenden sehen werden.
  • In einer Ausführungsform der vorliegenden Offenbarung ist jedes Unterarray 390 innerhalb der Speichervorrichtung 100 unabhängig adressierbar.
  • Die JTAG-Zelle 620 wird wie in den 6 und 7 gezeigt angeschlossen:
    • PIN: Ausgang eines Leseverstärkers
    • POUT: zum SoC-Korrespondenten Data I/O
    • SIN: ist der serielle IN-Eingang, der mit dem SOUT des vorherigen Leseverstärkers verbunden ist
    • SOUT: ist der serielle Ausgang, der mit dem SIN des nächsten Leseverstärkers verbunden ist
  • Eine Scan-Kette 600, die von den miteinander verbundenen JTAG-Zellen 620 unter Verwendung der seriellen Eingabe und Ausgabe hergestellt wird, hat einige Vorteile:
    • - in der Lage sein, die erfolgreiche Verbindung zwischen dem SoC und dem Direct Memory Access (DMA)-Speicher zu testen;
    • - in der Lage sein, einen digitalen Test der Leseverstärker zu implementieren, da die Zelle 620 als Programmlast arbeiten kann, um die Daten innerhalb des Arrays zu speichern;
    • - in der Lage sein, als zweite Ebene von Latches zu arbeiten.
  • Wir werden später in der vorliegenden Offenbarung sehen, dass, wenn die erste Gruppe von Datenbits (eine erweiterte Seite) bereit ist, an den parallelen Ausgang POUT des Leseverstärkers übertragen zu werden, ein interner Latch mit dem Leseverstärker gekoppelt ist, der die Lesedaten des nachfolgenden Abschnitts (einer zweiten erweiterten Seite) der verbleibenden Datenbit triggern kann.
  • Unter weiterer Bezugnahme auf die Beispiele der 6 und 7 können wir die Verbindungen jeder JTAG-Zelle 620 betrachten: PIN ist mit dem Ausgang eines Leseverstärkers gekoppelt; POUT ist mit dem entsprechenden Daten-I/O des Host-Geräts 110 (d.h. dem System-on-Chip) verbunden; SIN ist der serielle IN-Eingang, der mit SOUT des vorherigen Leseverstärkers verbunden ist, während SOUT der serielle Ausgang ist, der mit SIN des nächsten Leseverstärkers verbunden ist.
  • Das schematische Beispiel von 7 zeigt beispielsweise eine schematische und generische Speicherzelle MC, die an der Schnittstelle einer Reihe von Speicherzellen und einer Spalte von Speicherzellen in einer Matrix von Zellen eines generischen Unterarrays angeordnet ist, so dass die Zelle entsprechend adressiert werden kann. Die reale Implementierung kann zusätzliche Schaltungen von der Zelle zum Ausgang des SA enthalten, aber sie werden nicht als für die Zwecke der vorliegenden Offenbarung nicht relevant gezeigt.
  • Ein Leseverstärker SA ist mit der Spalte von Speicherzellen als Teil der Leseschaltung verbunden, die verwendet wird, wenn Daten aus dem Speicherarray gelesen werden. Im Allgemeinen wird ein Speicherwort, das die oben erwähnte erweiterte Seite 450 enthält, auf einmal gelesen, und im vorliegenden Beispiel beziehen wir uns auf eine Speicherseite, die Daten + Adresse + ECC-Bits enthält.
  • Wie allgemein bekannt ist, besteht die Rolle des Leseverstärkers SA darin, die Niedrigleistungssignale von der Array-Zeile zu erfassen. Die niedrigen Spannungswerte, die das in der Speicherzelle MC gespeicherte Logikdatenbit (1 oder 0, je nach Konvention) darstellen, werden auf einen erkennbaren Logikpegel verstärkt, so dass die Daten von Logikschaltungsabschnitten außerhalb des Speichers richtig interpretiert werden können.
  • In dem hiermit offenbarten Beispiel ist der Ausgang jedes Leseverstärkers SA mit der modifizierten JTAG-Zelle 620 gekoppelt, um eine JTAG-Struktur und den Leseverstärker zu integrieren.
  • In dem hiermit offenbarten nicht einschränkenden Beispiel ist ein Ausgangsverstärker OA zwischen dem Leseverstärker SA und der JTAG-Zelle 700 eingefügt.
  • Dank der Speicherarchitektur der vorliegenden Offenbarung ist es möglich, von einem parallelen Modus zum Abrufen von Daten und Adressen aus den Speicherteilfeldern 390 in einen seriellen Modus zur Überprüfung der Verbindungen zwischen der Speicherkomponente 210 und dem zugehörigen Host-Gerät überzugehen. Darüber hinaus ist der SoC berechtigt, einmal ‚1‘ und einmal ‚0‘ zu lesen, um Tests durchzuführen, und kann auch das Speicherergebnis analysieren, indem er die Daten mithilfe der Scan-Kette ausliest.
  • Der Übergang vom parallelen zum seriellen Modus wird von der JTAG-Schnittstelle 350 verwaltet. Die Implementierung dieser Dual-Mode-Operationen wird jedoch durch die spezielle Struktur einer im Folgenden offenbarten modifizierten JTAG-Zelle 620 ermöglicht.
  • 8 zeigt eine schematische Ansicht der Speichervorrichtung 300 von 3, die jedoch Aspekte des Datenaustauschs detaillierter veranschaulicht. Genauer gesagt wird eine JTAG-Schnittstelle 800 entsprechend der Schnittstelle 350 von 3 so angezeigt, dass sie standardmäßige JTAG-Signale empfängt: TMS, TCK, TDI sowie Daten von einer Speicherseite von N Bits, die auf K Bussen empfangen werden. Diese Daten und das TDI-Signal können als flexible TDI betrachtet werden. Die Flexibilität ist auf die Tatsache zurückzuführen, dass die Anzahl der parallelen Bits, die als TDI arbeiten, von den ausgewählten Registern abhängt, d.h. vier Leitungen für das Befehlsregister, acht Leitungen für das Adressregister, 128 Leitungen für das Datenregister usw., während TDI vom JTAG-Protokoll kommt, das TDI als Name für das Signal verwendet, das zum Füllen der Register verwendet wird.
  • Diese Steuer- und JTAG-Schnittstelle 800 erzeugt als Ausgabe Daten, Adressen und Steuersignale, die an einen Speicheradressendecodierer 820 und auch an den internen Flash-Controller übertragen werden, um Modifizierungsoperationen durchzuführen.
  • Die Aktivität des Decoders wird durch Ladungspumpen 840 ermöglicht, die so strukturiert sind, dass sie die Spannungen und Timings zur Verwaltung des Arrays geheim halten.
  • Dieser Decoder 820 ist mit einer Leseschnittstelle 860 gekoppelt, die über einen Steuer- und Statusbus mit dem Host- oder SoC-Gerät 110 kommuniziert.
  • Die Ausgabe der Leseschnittstelle 860 wird durch die erweiterte Seite dargestellt, die kombinierte Kette von Datenzellen + Adresszellen + ECC-Zellen enthält.
  • Die Gesamtzahl der Bits würde in dem hiermit offengelegten Beispiel einhundertachtundsechzig Pads pro Kanal in der hiermit offengelegten Implementierung umfassen.
  • Unter genauerer Bezugnahme auf das schematische Beispiel von 9 wird eine JTAG-Zelle 900 gezeigt, die gemäß der vorliegenden Offenbarung modifiziert wurde und der modifizierten JTAG-Zelle 620 entspricht, die zuvor unter Bezugnahme auf die 6 und 7 offenbart wurde.
  • Die JTAG-Zelle 900 hat einen ersten parallelen Eingangs-PIN-Anschluss und einen ersten seriellen Eingangs-SIN-Anschluss, der entsprechende Signale Pin und Sin empfängt. Darüber hinaus weist die JTAG-Zelle 900 einen ersten parallelen Ausgangsanschluss POUT und einen ersten seriellen Ausgangsanschluss SOUT auf. Die Scan-Chain 600 ermöglicht die Ausgabe der gesamten 168 Bits x 2, da die erste Gruppe direkt vom Ausgang gelesen wird, während die zweite Gruppe im Hintergrund vorbereitet wird.
  • Wie in 10 gezeigt, kann die JTAG-Zelle 900 als eine Box mit zwei Eingangsanschlüssen PIN und SIN und zwei Ausgangsanschlüssen POUT und SOUT betrachtet werden. Der Eingangsanschluss PIN ist ein paralleler Eingang, während der Eingangsanschluss SIN ein serieller Eingang ist. In ähnlicher Weise ist der Ausgangsanschluss POUT ein paralleler Ausgang, während der Ausgangsanschluss SOUT ein serieller Ausgang ist.
  • Dank der seriellen Eingabe und Ausgabe kann ein Testprozess durchgeführt werden, um zu überprüfen, ob keine Fehlerverbindung zwischen der Speicherkomponente 100 und dem zugehörigen System-on-Chip 110 vorhanden ist. Dank des parallelen Ein- und Ausgangs wird dieselbe JTAG-Zelle als Datenpuffer für die Beendigung der Lesephase durch die Leseverstärker SA verwendet.
  • Die JTAG-Zelle 900 umfasst eine Boundary-Scan-Basiszelle 980 mit einem Paar Latches 901 und 902 und einem Paar Multiplexern 951 und 952. Ein erster Eingangsmultiplexer 951 und ein zweiter Ausgangsmultiplexer 952.
  • Die Boundary-Scan-Basiszelle 980 wird durch den gestrichelten Kasten in 10 angezeigt und ist eine Zelle mit zwei Eingängen, mit einem seriellen Eingang, der SIN entspricht, und einem parallelen Eingang, der PIN entspricht, und einer Zelle mit zwei Ausgängen mit einem seriellen Ausgang, der SOUT entspricht und einem parallelen Ausgang entsprechend POUT.
  • Der erste Multiplexer 951 empfängt an einem ersten Eingang „0“ ein paralleles Eingangssignal Pin vom ersten parallelen Eingangsanschluss PIN und an einem zweiten Eingang „1“ ein serielles Eingangssignal Sin vom ersten seriellen Eingangsanschluss SIN.
  • Dieser erste Multiplexer 951 wird von einem Steuersignal ShiftIR (das als Befehlsregistersignal bezeichnet wird) angesteuert und hat einen Ausgang MO1. Die Zelle 900 hat zwei parallele Ausgänge, d.h. MO1 und MO2. Wenn der JTAG-Takt ankommt, wird der serielle Ausgang aus dem SOUT getrieben. SOUT ist mit dem JTAG-Latch in der Nähe des Multiplexers verbunden, der ein Selektorsignal empfängt: Mode Controller (seriell/parallel). Grundsätzlich ist der Ausgang des mit dem Eingang ‚1‘ dieses Multiplexers MO2 verbundenen Latch auch der SOUT.
  • Der erste Multiplexerausgang MO1 ist mit einem ersten Eingang des ersten Latch 901 verbunden, der an einem zweiten Eingangsanschluss ein Taktsignal ClockDR empfängt.
  • Der erste Latch 901 ist in Kette mit dem zweiten Latch 902 verbunden, wobei ein erster Ausgang des ersten Latch 901 mit einem ersten Eingang des zweiten Latch 902 verbunden ist.
  • Es ist wichtig zu beachten, dass die Ausgabe des ersten Latch 901 auch die serielle Ausgabe SOUT der gesamten JTAG-Zelle 900 ist.
  • Ein zweiter Eingangsanschluss des zweiten Latch 902 empfing ein Signal UpdateDR.
  • Der zweite Latch 902 hat einen Ausgang, der mit einem Eingang des zweiten Multiplexers 952 verbunden ist, insbesondere mit seinem zweiten Eingang.
  • Dieser zweite Multiplexer 952 wird durch ein Modussteuersignal gesteuert, das es ermöglicht, die gesamte JTAG-Zelle 900 von einem seriellen in einen parallelen Modus und umgekehrt umzuschalten.
  • In einer Ausführungsform der vorliegenden Offenbarung beinhaltet die JTAG-Zelle 900 ferner ein weiteres Paar von Latches 921 und 922, die zwischen dem parallelen Eingangspin und dem zweiten Multiplexer 952 bereitgestellt sind. Diese zusätzlichen Zwischenspeicher 921 und 922 sind das Zwischenspeichern des direkten Lesens, d.h. der ersten Gruppe von Datenbits, und des Schattens, d.h. der zweiten Gruppe von 128 Datenbits (ohne Berücksichtigung der Adressbits und des ECC, d.h. insgesamt 168 Bits). Mit anderen Worten beinhaltet die JTAG-Zelle 900 die Boundary-Scan-Zelle 980 und mindestens die weiteren Latches 921 und 922.
  • Wir werden diese weiteren Latches im Folgenden als einen dritten Latch 921 und einen vierten Latch 922 bezeichnen. In anderen Ausführungsformen kann eine längere Kette von Latches verwendet werden.
  • Insbesondere sind der dritte Latch 921 und der vierte Latch 922 in einer kleinen Pipeline-Konfiguration verbunden, wobei der dritte Latch 921 an einem ersten Eingang das parallele Eingangssignal Pin von dem ersten parallelen Eingangsanschluss PIN empfängt und an einem zweiten Eingang ein Signal Data_Load' empfängt [0] entsprechend dem zuvor erwähnten AVD-Signal und einer ersten Datenladung.
  • Der vierte Latch 922 empfängt an einem ersten Eingang die Ausgabe des dritten Latch 921 und empfängt an einem zweiten Eingang ein Signal Data_Load[1] (immer das AVD-Signal), das einem nachfolgenden Datenladen entspricht.
  • Der Ausgang des vierten Latch 922 ist mit dem ersten Eingang „0“ des zweiten Multiplexers 952 verbunden, der an seinem Ausgangsanschluss MO2 das Ausgangssignal für den parallelen Ausgangsanschluss POUT erzeugt.
  • Im Vergleich zu einer herkömmlichen JTAG-Zelle kann die JTAG-Zelle 900 der vorliegenden Offenbarung aufgrund des Vorhandenseins der zwei zusätzlichen Zwischenspeicher, des dritten und des vierten Zwischenspeichers 921 und 922, neben dem Vorhandensein der Boundary-Scan-Zelle 980' als eine modifizierte JTAG-Zelle betrachtet werden.
  • Nun müssen wir uns vorstellen, dass eine JTAG-Zelle 900 an den Ausgang jedes Leseverstärkers SA des Speicherunterarrays 390 gekoppelt ist. Wie üblich stellt das Speicherarray einen Leseverstärker für jede Spalte von Speicherzellen bereit, wie in 7 gezeigt.
  • In der Ausführungsform der vorliegenden Offenbarung sind alle JTAG-Zellen 900, die mit den Leseverstärkern eines Speicherunterarrays gekoppelt sind, als ein Datenpuffer zu betrachten, der eine Datenseite umfasst, einschließlich in diesem Beispiel mindestens einhundertachtundzwanzig (128) Bits (immer ohne die Adressbits und die ECC-Bits) zum gleichzeitigen Lesen einer kombinierten Speicherseite aus den vier Unterarrays 390.
  • Wie zuvor berichtet, kann der Kommunikationskanal zwischen der Speicherkomponente und der SoC-Struktur jedoch bis zu 256 Bits gleichzeitig benötigen (d.h. zwei kombinierte erweiterte Speicherseiten = eine Superseite), aber in der vorliegenden Offenbarung sind andere 2x16 plus 2x24 weitere Bits erforderlich. Die JTAG-Zelle 900 wurde nur modifiziert, um die internen Zwischenspeicher zu duplizieren, um den ersten oder höheren Teil der 168 Bits der zu lesenden Daten mit dem zweiten oder unteren Teil der zu lesenden Daten verschieben zu können. Offensichtlich bedeutet in diesem Wettbewerb „höher“ den Datenteil, der vorher geladen wird, während „niedriger“ den Datenteil bedeutet, der nachher geladen wird.
  • Ein Fachmann wird verstehen, dass die Anzahl von internen Latches der modifizierten JTAG-Zelle 900 im Bedarfsfall erhöht werden kann, um die Anzahl von Bits zu verbessern, die über den Kommunikationskanal an die SoC-Struktur zu übertragen sind. Zum Beispiel kann die obige Struktur entsprechend der Größe der Seite erweitert werden, die von der speziellen Implementierung des Speichercontrollers benötigt wird.
  • Nur um die Art und Weise zu erklären, in der Daten in den Datenpuffer übertragen werden, müssen wir uns vorstellen, dass beim Laden von Daten in einen der beiden Latches 921 oder 922 der andere Latch im Bereitschaftszustand ist, aber bereit ist, die Daten zu empfangen nachfolgenden Datenteil.
  • Daher wird der erste Abschnitt mit 168 Bit (einschließlich der Adressbits und der ECC-Bits) für eine erste Datenausarbeitung an die SoC-Struktur übertragen, während die Lesephase nicht gestoppt wird, während die Lesephase nicht gestoppt wird, da der andere Teil der 168 Bits darauf vorbereitet ist, mit dem folgenden Taktsignal in die Latches geladen zu werden.
  • In diesem Beispiel enthält jeder Datenpuffer 168 modifizierte JTAG-Zellen 900 und das gemeinsame Data_Load[1:0] sind Signale, die erzeugt werden, um das Erfassen der gesamten 168 Bits x 2 zu ermöglichen, das heißt: acht Doppelworte DWs gemäß der vorgeschlagenen Implementierung (vier Sub-Arrays für jedes Doppelwort).
  • Die Signalerzeugung wird intern gesteuert, wenn die Leseoperation in einem spezifischen Datenpuffer durchgeführt wird, und die Signale werden durch die SoC-Struktur gesteuert, um die Durchführung der Lesephase unter Verwendung einer 168-Bit-Parallelität zu ermöglichen.
  • Der Hauptvorteil dieser Speicherarchitektur besteht darin, dass jeder Puffer die gesamten Doppelworte DWs enthalten kann, wodurch der Leseverstärker zum Lesen an einer anderen Speicherstelle frei bleibt.
  • Das Vorhandensein der modifizierten JTAG-Zelle 900 ist als Ausgabe der Leseverstärker besonders wichtig, da sie Folgendes ermöglicht:
    1. a. Verwenden des Boundary-Scans als Methode, um die Verbindung zwischen dem SoC 110 und der Flash-Array-Komponente 100, 200 oder 300 zu überprüfen;
    2. b. Implementieren des direkten Speicherzugriffs durch direkte Verbindung des Leseverstärkers mit dem Controller;
    3. c. Es erlaubt, den Leseverstärker zu verlassen, um die zweite 128 Bit breite Seite plus die Adresse plus den ECC vorzubereiten und dicht an die Seite zu schreiben.
  • Gemäß einigen Ausführungsformen ist es möglich, eine Boundary-Scan-Testarchitektur mit modifizierten JTAG-Zellen 900 zu übernehmen, wodurch eine neue und besondere Boundary-Scan-Testarchitektur wie die in der schematischen Ansicht von 10 gezeigte erhalten wird. Daher wird für diesen Test nur ein angesteuerter Ausgang benötigt, und dieser wird unter Verwendung des Signals TCK und der in den Zellen gespeicherten Daten erhalten. Der Scan-Ketten-Test erfordert, dass der SoC 110 die Ausgabe der Scan-Kette testet.
  • Boundary Scan ist in diesem speziellen technischen Gebiet bekannt und umfasst eine Familie von Testmethoden, die darauf abzielen, viele Testprobleme zu lösen: von der Chipebene bis zur Systemebene, von Logikkernen bis hin zu Verbindungen zwischen Kernen und von digitalen Schaltungen bis hin zu Analog- oder Mixed-Mode Schaltungen.
  • Die Boundary-Scan-Testarchitektur 1000 stellt ein Mittel zum Testen von Verbindungen zwischen den integrierten Schaltungen 100 und 110 auf einer Platine bereit, ohne physische Testsonden zu verwenden. Es fügt eine Boundary-Scan-Zelle 900 hinzu, wie die in 10 gezeigte, die einen Multiplexer und Latches enthält und jedem Pin oder Pad auf dem Gerät zugeordnet ist.
  • Mit anderen Worten, jedes primäre Eingangssignal und jedes primäre Ausgangssignal eines komplexen Halbleiterbauelements wie der Speicherkomponente 100 oder des Hostbauelements 110 wird durch ein Mehrzweckspeicherelement ergänzt, das als Boundary-Scan-Zelle bezeichnet wird und die zusammen ein serielles Verschieberegister 1050 um die Begrenzung des Geräts herum bilden.
  • Ursprünglich wurden diese Boundary-Scan-Zellen als Mittel zum Anwenden von Tests auf einzelne Halbleiterbauelemente eingeführt. Die Verwendung von Boundary-Scan-Zellen zum Testen des Vorhandenseins, der Orientierung und des Bondens von Bauelementen an Ort und Stelle auf einer Leiterplatte war die ursprüngliche Motivation für den Einbau in ein Halbleiterbauelement.
  • Gemäß der vorliegenden Offenbarung werden die Boundary-Scan-Zellen 900 auch verwendet, um die Verbindungen zwischen integrierten Schaltkreisen zu testen, die wie das System-on-Chip 110 mit dem zugehörigen Speicherbauelement 100, 200 oder 300 zusammenarbeiten, wie im Fall der vorliegenden Offenlegung.
  • Die Ansammlung von Boundary-Scan-Zellen ist in einem Parallel-In- oder Parallel-Out-Schieberegister konfiguriert und der Boundary-Scan-Pfad ist unabhängig von der Funktion des Host-Geräts. Die erforderliche digitale Logik ist im Boundary-Scan-Register enthalten. Offensichtlich interagiert eine externe JTAG-FSM mit den Zellen, d.h. shiftDR, shiftIR, UpdateDR usw. werden von der JTAG-Logik 350 angesteuert.
  • Um die Funktionsweise einer Boundary-Scan-Zelle ganz kurz zusammenzufassen, kann gesagt werden, dass jede Zelle 900 zum Erfassen von Daten an ihrem parallelen Eingang PI strukturiert ist; Aktualisieren von Daten auf seinem parallelen Ausgang PO; serielles Abtasten von Daten von seinem seriellen Ausgang SO zum seriellen Eingang SI seines Nachbarn. Darüber hinaus verhält sich jede Zelle transparent in dem Sinne, dass PI an PO übergeht.
  • 10 zeigt eine schematische Ansicht einer Standardstrukturarchitektur unter Verwendung von Boundary-Scan-Zellen, die gemäß dem IEEE-Standard Nr. 1149.1 konfiguriert sind. Gemäß der vorliegenden Offenbarung sind die in der Architektur 1000 verwendeten Boundary-Scan-Zellen jedoch die modifizierten JTAG-Zellen 900, die zuvor unter Bezugnahme auf 9 offenbart wurden.
  • Eine JTAG-Schnittstelle ist eine spezielle Schnittstelle, die einem Chip hinzugefügt wird. Gemäß den vorliegenden Ausführungsformen werden zwei, vier oder fünf Pins hinzugefügt, was es ermöglicht, den JTAG entsprechend dem Bedarf der vorliegenden Implementierung zu erweitern.
  • Die Anschlussstifte sind: TDI (Test Data In); TDO (Testdatenausgang); TCK (Testtakt); TMS (Test Mode Select) und ein optionales TRST (Test Reset).
  • Der TRST-Pin ist ein optionaler Active-Low-Reset für die Testlogik, normalerweise asynchron, aber manchmal synchron, je nach Chip. Wenn der Pin nicht verfügbar ist, kann die Testlogik zurückgesetzt werden, indem mit TCK und TMS synchron in den Reset-Zustand geschaltet wird. Beachten Sie, dass das Zurücksetzen der Testlogik nicht unbedingt das Zurücksetzen von etwas anderem impliziert. Es gibt im Allgemeinen einige prozessorspezifische JTAG-Operationen, die den gesamten oder einen Teil des zu debuggenden Chips zurücksetzen können.
  • Da nur eine Datenleitung zur Verfügung steht, ist das Protokoll seriell. Der Takteingang liegt am TCK-Pin. Bei jeder ansteigenden TCK-Taktflanke wird ein Datenbit vom TDI ein- und aus dem TDO übertragen. Es können verschiedene Anweisungen geladen werden. Anweisungen für typische ICs können die Chip-ID lesen, Eingangspins abtasten, Ausgangspins des Laufwerks (oder Float) lesen, Chipfunktionen manipulieren oder umgehen (TDI an TDO weiterleiten, um Ketten mehrerer Chips logisch zu verkürzen).
  • Wie bei jedem getakteten Signal müssen die dem TDI präsentierten Daten für eine bestimmte chipspezifische Setup-Zeit vor und für eine Haltezeit nach der entsprechenden (hier steigenden) Taktflanke gültig sein. TDO-Daten sind für einige chipspezifische Zeit nach der fallenden Flanke von TCK gültig.
  • 8 zeigt einen Satz von vier dedizierten Testpins - Test Data In (TDI), Test Mode Select (TMS), Test Clock (TCK), Test Data Out (TDO) - und einen optionalen Testpin Test Reset (TRST).
  • Diese Pins werden gemeinsam als Test Access Port (TAP) bezeichnet. Die Architektur 1000 enthält jedoch einen endlichen Automaten, der als TAP-Controller 1070 bezeichnet wird und als Eingänge drei Signale empfängt: TCK, TMS und TRST. Die TAP-Steuerung 1070 ist eine Endzustandsmaschine FSM mit 16 Zuständen, die jeden Schritt der Operationen der Boundary-Scan-Architektur 1000 steuert. Jeder von der Boundary-Scan-Architektur 1000 auszuführende Befehl wird im Befehlsregister 1020 gespeichert.
  • 10 zeigt eine Vielzahl von Boundary-Scan-Zellen 900 an den primären Eingangs- und primären Ausgangspins der Vorrichtung. Die Zellen 900 sind intern verbunden, um ein serielles Boundary-Scan-Register 1050 zu bilden. Mit anderen Worten werden die modifizierten JTAG-Zellen 900 als Bausteine der Boundary-Scan-Architektur 1000 verwendet.
  • Daten können auch im seriellen Modus um das Boundary-Scan-Schieberegister 1050 verschoben werden, beginnend mit einem dedizierten Geräteeingangspin namens „Test Data In“ (TDI) und endend an einem dedizierten Geräteausgangspin namens „Test Data Out“ (TDO). am Ausgang eines Multiplexers 1060.
  • Der Testtakt TCK wird selektiv an jedes Register gesendet, abhängig vom TAP-Zustand und der Registerauswahl; die Zuführung des TCK-Signals erfolgt über einen dedizierten Geräteeingangspin und der Betriebsmodus wird durch ein dediziertes serielles „Test Mode Select“ (TMS)-Steuersignal gesteuert.
  • Das Befehlsregister (IR) 1020 enthält n-Bit (mit n 2) und ist zum Halten jedes aktuellen Befehls implementiert, kann jedoch erweitert werden, um den flexiblen TDI zu handhaben.
  • Nach dem Standard IEEE 1149 wird die Architektur durch ein 1-Bit-Bypass-Register 1040 (Bypass) vervollständigt; ein optionales 32-Bit-Identifikationsregister 1030 (Ident), das mit einem permanenten Geräteidentifikationscode geladen werden kann.
  • Zu jeder Zeit kann nur ein Register von TDI zu TDO verbunden werden (zB IR, Bypass, Boundary-Scan, Ident oder sogar ein geeignetes internes Register der Kernlogik). Das ausgewählte Register wird durch die dekodierte Ausgabe des IR identifiziert. Bestimmte Befehle sind obligatorisch, wie z.B. Extest (Boundary-Scan-Register ausgewählt), während andere optional sind, wie z.B. der Idcode-Befehl (Ident-Register ausgewählt).
  • Eine parallele Ladeoperation wird als „Erfassungs“-Operation bezeichnet und die Daten werden durch den Befehl in den ausgewählten Registerzellen erfasst. Die Erfassung bewirkt, dass Signalwerte an Geräteeingangspins in Eingangszellen geladen werden und Signalwerte, die von der Kernlogik zu Geräteausgangspins gelangen, in Ausgangszellen geladen werden.
  • Eine parallele Entladeoperation wird als „Aktualisierungs“-Operation bezeichnet, um den Registerinhalt einzufrieren. Grundsätzlich hält es den Inhalt im ausführbaren Schattenregister innerhalb der BS-Zelle zwischen. Dieses Update ermöglicht es, das Schieberegister für zukünftige eingehende Daten/Befehle verfügbar zu machen. Darüber hinaus erlaubt ein PAUSE-Befehl, die Daten im Register zu halten, selbst wenn er nicht abgeschlossen ist.
  • Abhängig von der Natur der Eingangsscanzellen werden bereits in den Eingangsscanzellen vorhandene Signalwerte in die Kernlogik geleitet.
  • Nun wird in einer Ausführungsform der vorliegenden Offenbarung die Boundary-Scan-Architektur 1000 mit einem weiteren oder mehr als einem zusätzlichen Register 1080 vervollständigt, das speziell bereitgestellt wird, um die Speicherkomponente 100 zu verwalten. Auch dieses zusätzliche Register 1080 ist vom Benutzer definierbar. Diese Erweiterung wird durch den IEEE 1532-Standard zugelassen.
  • Die Zusammensetzung der Register, die in die Boundary-Scan-Architektur 1000 der vorliegenden Offenbarung integriert sind, wird weggelassen, um die vorliegende Offenbarung auf unangemessene Informationen zu beschränken.
  • Wie zuvor offenbart und um das Prinzip der vorliegenden Offenbarung zusammenzufassen, wird in einigen Ausführungsformen der vorliegenden Offenbarung die Ausgabe eines generischen Unterarrays 390 gebildet, indem die folgende Sequenz kombiniert wird: Datenzellen plus Adresszellen plus ECC-Zellen. In diesem nicht einschränkenden Beispiel würde die Gesamtmenge der Bits 168 Pads pro Kanal umfassen, wie im Beispiel in gezeigt.
  • Die in 4 schematisch dargestellte kombinierte Kette von Datenzellen + Adresszellen + ECC-Zellen, die die erweiterte oder Superseite 450 bilden, ermöglicht die Implementierung der Sicherheitsabdeckung des Busses gemäß den Standardanforderungen der Regel ISO26262, da die ECC das Ganze abdeckt Buskommunikation (Datenzellen + Adresszellen), 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.
  • Die Leseverstärker SA jedes Sub-Arrays 390 sind mit der Scan-Kette der modifizierten JTAG-Zellen 900 verbunden, die alle Ausgänge eines Sub-Arrays 390 miteinander verbinden. Darüber hinaus können die einem Unterarray 390 zugeordneten modifizierten JTAG-Zellen 900 miteinander verbunden werden, um eine einzigartige Kette zum schnellen Prüfen der Integrität der Pad-Verbindungen zu bilden.
  • Dank der Speicherarchitektur der vorliegenden Offenbarung ist es möglich, von einem parallelen Modus zum Abrufen von Daten und Adressen aus den Speicherunterarrays 390 in einen seriellen Modus zum Prüfen der Verbindungen zwischen der Speicherkomponente 1 und der zugehörigen SoC-Vorrichtung 110 überzugehen. Darüber hinaus ist der SoC 110 berechtigt, einmal ‚1‘ und einmal ‚0‘ zu lesen, um Tests durchzuführen, und kann auch das Speicherergebnis analysieren, indem er die Daten mithilfe der Scan-Kette ausliest.
  • Die Fehlerkorrektur wird als Operation dem SoC 110 überlassen; die zusätzlichen Bits werden dem Controller bereitgestellt, um jedes mögliche ECC-Syndrom zu speichern, das der Seite zugeordnet ist. Die ECC-Zellen ermöglichen dem SoC-Controller zu verstehen, ob eine Beschädigung der Daten plus Adressinhalt auftritt.
  • Um die Speicherzellen des Arrays 320 zu schreiben und zu löschen, wird ein dedizierter Logikschaltungsabschnitt bereitgestellt, der einen vereinfachten Computer mit reduziertem Befehlssatz (RISC) oder eine Modify-Finite-State-Maschine enthält, oder dies ist die Logikschaltung zum Handhaben der Programmier- und Löschalgorithmen.
  • Darüber hinaus wird eine JTAG-Schnittstelle 350 als normale Benutzerschnittstelle verwendet, um das Array zu modifizieren und den Speicherblöcken die Leseadressen bereitzustellen. Die JTAG-Schnittstelle 350 wird auch für den Test der Speicherkomponente 100 verwendet, was die Wiederverwendung des Testwerkzeugs ermöglicht. Daher umfasst die Speicherkomponente 100 (oder 200 oder 300) auch eine JTAG-Logik.
  • 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.
  • Obwohl hier spezifische Beispiele illustriert und beschrieben wurden, wird der Fachmann erkennen, dass die gezeigten spezifischen Ausführungsformen durch eine Anordnung ersetzt werden können, mit der die gleichen Ergebnisse erzielt werden. Diese Offenbarung soll Anpassungen oder Variationen einer oder mehrerer Ausführungsformen der vorliegenden Offenbarung abdecken. Es versteht sich, dass die obige Beschreibung veranschaulichend und nicht einschränkend verfasst wurde. Der Anwendungsbereich eines oder mehrerer Beispiele der vorliegenden Offenbarung sollte 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 (30)

  1. Eine Speichervorrichtung mit einer verbesserten Abtaststruktur und umfassend: - ein Speicherarray, das eine Vielzahl von Unterarrays von Speicherzellen umfasst und in Speicherblöcken strukturiert ist; - Leseverstärker, die mit den Speicherzellen gekoppelt sind; - modifizierte JTAG-Zellen, die parallel an die Ausgänge der Leseverstärker gekoppelt und seriell in einer Scan-Chain-Struktur verbunden sind, wodurch eine JTAG-Struktur und die Leseverstärker integriert werden.
  2. Speichervorrichtung nach Anspruch 1, bei der Scan-Kettenstrukturen, die jedem Sub-Array zugeordnet sind, miteinander verbunden sind, um eine eindeutige Kette als Boundary-Scan-Register zu bilden.
  3. Speichervorrichtung nach Anspruch 2, wobei das Boundary-Scan-Register eine Teststruktur umfasst, um Verbindungen der Leseverstärker zu testen.
  4. Speichervorrichtung nach Anspruch 1, wobei die modifizierten JTAG-Zellen serielle und parallele Eingänge und Ausgänge und mindestens ein paar zusätzliche Zwischenspeicher umfassen, die zwischen die parallelen Eingänge und Ausgänge eingefügt sind, um zuerst eine Speicherseite zu laden, bevor eine nachfolgende Speicherseite aus einem Unterarray gelesen wird.
  5. Speichervorrichtung nach Anspruch 1, wobei die Abtastkettenstruktur einen Datenpuffer umfasst, der so konfiguriert ist, dass er mindestens eine Speicherdatenseite gleichzeitig enthält, während eine zweite Datenseite aus dem Speicherarray gelesen wird.
  6. Speichervorrichtung nach Anspruch 5, wobei die Datenseite mindestens N Datenzellen, M Adresszellen und R ECC-Zellen enthält.
  7. Die Speichervorrichtung nach Anspruch 6, wobei die Datenseite mindestens einhundertachtundsechzig (128) Bits umfasst.
  8. Speichervorrichtung nach Anspruch 1, wobei der Ausgang eines generischen Unterarrays konfiguriert ist, um N Datenzellen, M Adresszellen und R ECC-Zellen zu kombinieren.
  9. Speichervorrichtung nach Anspruch 8, wobei N + M + R mindestens 168 Bit beträgt.
  10. Speichervorrichtung nach Anspruch 1, wobei das Speicherarray nichtflüchtige Speicherzellen enthält.
  11. Speichervorrichtung nach Anspruch 1, wobei die Leseverstärker des Speicherarrays durch die Abtastkettenstruktur mit einer SoC-Struktur in einer Konfiguration mit direktem Speicherzugriff verbunden sind.
  12. Speichervorrichtung, die als unabhängige Halbleitervorrichtung strukturiert ist und mindestens ein Speicherarray und mindestens einen JTAG-Logikschnittstellenabschnitt zum Interagieren mit einer System-on-Chip (SoC)-Struktur über mindestens einen Kommunikationskanal enthält und Folgendes umfasst: - ein Speicherarray, das eine Vielzahl von Unterarrays von Speicherzellen umfasst und in Speicherblöcken strukturiert ist; - Leseverstärker, die mit den Speicherzellen und dem Kommunikationskanal gekoppelt sind; - modifizierte JTAG-Zellen, die parallel an die Ausgänge der Leseverstärker gekoppelt und seriell in einer Scan-Chain-Struktur verbunden sind, wodurch eine JTAG-Struktur und die Leseverstärker integriert werden.
  13. Speichervorrichtung nach Anspruch 12, bei der Scan-Ketten-Strukturen, die jedem Sub-Array zugeordnet sind, miteinander verbunden sind, um eine eindeutige Kette als Boundary-Scan-Register zu bilden.
  14. Speichervorrichtung nach Anspruch 13, wobei das Boundary-Scan-Register eine Teststruktur umfasst, um Verbindungen der Leseverstärker zu testen.
  15. Speichervorrichtung nach Anspruch 12, wobei die modifizierten JTAG-Zellen serielle und parallele Eingänge und Ausgänge und mindestens ein paar zusätzliche Zwischenspeicher umfassen, die zwischen die parallelen Eingänge und Ausgänge eingefügt sind, um zuerst eine Speicherseite zu laden, bevor eine nachfolgende Speicherseite aus einem Unterarray gelesen wird.
  16. Speichervorrichtung nach Anspruch 12, wobei die Abtastkettenstruktur einen Datenpuffer umfasst, der so konfiguriert ist, dass er mindestens eine Speicherdatenseite gleichzeitig enthält, während eine zweite Datenseite aus dem Speicherarray gelesen wird.
  17. Speichervorrichtung nach Anspruch 16, wobei die Datenseite mindestens N Datenzellen, M Adresszellen und R ECC-Zellen enthält.
  18. Speichervorrichtung nach Anspruch 17, wobei die Datenseite mindestens einhundertachtundsechzig (168) Bits enthält.
  19. Speichervorrichtung nach Anspruch 12, wobei die Ausgabe eines Unterarrays gebildet wird, indem die folgende Sequenz kombiniert wird: N Datenzellen plus M Adresszellen plus R ECC-Zellen.
  20. Speichervorrichtung nach Anspruch 19, wobei die Sequenz mindestens 168 Bits enthält.
  21. Speichervorrichtung nach Anspruch 12, wobei das Speicherarray nichtflüchtige Speicherzellen enthält.
  22. Speichervorrichtung nach Anspruch 12, wobei die Leseverstärker des Speicherarrays durch die Abtastkettenstruktur mit einer SoC-Struktur in einer Konfiguration mit direktem Speicherzugriff verbunden sind.
  23. Integriertes Halbleiterbauelement, das eine System-on-Chip-(SoC)-Struktur und ein strukturell unabhängiges Speicherbauelement beinhaltet, die beide Verbindungspads beinhalten und die gegenüberliegend verbunden sind, um entsprechende Verbindungspads zu verbinden, und wobei das Speicherbauelement beinhaltet: - ein Speicherarray, das eine Vielzahl von Unterarrays von Speicherzellen umfasst und in Speicherblöcken strukturiert ist; - Leseverstärker, die mit den Speicherzellen und dem Kommunikationskanal gekoppelt sind; - modifizierte JTAG-Zellen, die parallel an die Ausgänge der Leseverstärker gekoppelt und seriell in einer Scan-Chain-Struktur verbunden sind, wodurch eine JTAG-Struktur und die Leseverstärker integriert werden.
  24. Integrierte Halbleitervorrichtung nach Anspruch 23, wobei das Array nichtflüchtige Speicherzellen enthält und mit der SoC-Struktur in einer Konfiguration mit direktem Speicherzugriff verbunden ist.
  25. Integrierte Halbleitervorrichtung nach Anspruch 23, wobei die jedem Subarray zugeordneten Abtastkettenstrukturen miteinander verbunden sind, um eine eindeutige Kette als Boundary-Scan-Register zu bilden.
  26. Integrierte Halbleitervorrichtung nach Anspruch 23, wobei das Boundary-Scan-Register eine Teststruktur zum Testen der Verbindungen der Leseverstärker ist.
  27. Integrierte Halbleitervorrichtung nach Anspruch 23, wobei die Abtastkettenstruktur einen Datenpuffer umfasst, der so konfiguriert ist, dass er jeweils mindestens eine Speicherdatenseite enthält, während eine zweite Datenseite aus dem Speicherfeld gelesen wird.
  28. Integrierte Halbleitervorrichtung nach Anspruch 23, wobei die Datenseite N Datenzellen, M Adresszellen und R ECC-Zellen enthält.
  29. Integrierte Halbleitervorrichtung nach Anspruch 23, wobei die Datenseite mindestens einhundertachtundsechzig (168) Bits enthält.
  30. Integrierte Halbleitervorrichtung nach Anspruch 23, wobei die modifizierten JTAG-Zellen serielle und parallele Eingänge und Ausgänge und mindestens ein Paar zusätzlicher Zwischenspeicher enthalten, die zwischen den parallelen Eingängen und Ausgängen eingefügt sind, um zuerst eine Speicherseite zu laden, bevor eine nachfolgende Speicherseite aus einem Sub-Array gelesen wird.
DE112019007375.3T 2019-05-31 2019-05-31 Speichergerät mit verbesserter sensorstruktur Pending DE112019007375T5 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/IB2019/000475 WO2020240232A1 (en) 2019-05-31 2019-05-31 Memory device with improved sensing structure

Publications (1)

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

Family

ID=67226291

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112019007375.3T Pending DE112019007375T5 (de) 2019-05-31 2019-05-31 Speichergerät mit verbesserter sensorstruktur

Country Status (4)

Country Link
US (1) US11367497B2 (de)
CN (1) CN113892144A (de)
DE (1) DE112019007375T5 (de)
WO (1) WO2020240232A1 (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE112019007371T5 (de) * 2019-05-31 2022-03-03 Micron Technology, Inc. Eine mit einem system-on-chip gekoppelte speichergerätearchitektur

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5341382A (en) * 1991-06-19 1994-08-23 Sun Microsystems, Inc. Method and apparatus for improving fault coverage of system logic of an integrated circuit with embedded memory arrays
US6587384B2 (en) * 2001-04-21 2003-07-01 Hewlett-Packard Development Company, L.P. Multi-function serial I/O circuit
JP2003068098A (ja) * 2001-08-28 2003-03-07 Mitsubishi Electric Corp テスト回路装置および半導体集積回路装置
US20030163773A1 (en) * 2002-02-26 2003-08-28 O'brien James J. Multi-core controller
JP2005121544A (ja) * 2003-10-17 2005-05-12 Nec Electronics Corp 半導体集積回路及びその検査方法
US7631231B2 (en) * 2006-04-19 2009-12-08 Silicon Storage Technology, Inc. Method and apparatus for testing the connectivity of a flash memory chip
US8154275B2 (en) * 2009-07-15 2012-04-10 Apple Inc. Apparatus and method for testing sense amplifier thresholds on an integrated circuit
US8358548B2 (en) * 2009-10-19 2013-01-22 Avago Technologies Enterprise IP (Singapore) Pte. Ltd. Methods for efficiently repairing embedded dynamic random-access memory having marginally failing cells
KR20120119960A (ko) * 2011-04-21 2012-11-01 삼성전자주식회사 마이크로 범프 연결성을 테스트할 수 있는 반도체 장치
US20130036255A1 (en) * 2011-08-05 2013-02-07 Apple Inc. Testing memory subsystem connectivity
US8880779B2 (en) * 2011-08-05 2014-11-04 Apple Inc. Debugging a memory subsystem
KR101929983B1 (ko) * 2012-07-18 2018-12-17 삼성전자주식회사 저항성 메모리 셀을 갖는 반도체 메모리 장치 및 그 테스트 방법
US9324453B2 (en) * 2014-03-21 2016-04-26 Taiwan Semiconductor Manufacturing Company, Ltd. Memory unit and method of testing the same
KR102219293B1 (ko) * 2014-07-28 2021-02-23 삼성전자 주식회사 메모리 장치, 메모리 시스템, 상기 메모리 장치의 동작 방법 및 상기 메모리 시스템의 동작 방법
US10037785B2 (en) * 2016-07-08 2018-07-31 Micron Technology, Inc. Scan chain operation in sensing circuitry

Also Published As

Publication number Publication date
WO2020240232A1 (en) 2020-12-03
CN113892144A (zh) 2022-01-04
US20210287757A1 (en) 2021-09-16
US11367497B2 (en) 2022-06-21

Similar Documents

Publication Publication Date Title
DE102013114564B4 (de) System zur Reduzierung einer Leistungsspitze während einer Abtastverschiebung auf lokaler Ebene für abtastbasierte Prüfungen
DE60128014T2 (de) Intelligenter Prüfadapter
DE112019007371T5 (de) Eine mit einem system-on-chip gekoppelte speichergerätearchitektur
DE69914864T2 (de) Steuerung der konfiguration in einer programmierbaren logik-einheit mittels nichtflüchtiger bauelemente
DE102011053359B4 (de) Latch-basierte Speichervorrichtung und Verfahren zum Testen derselben
DE102006009224B4 (de) Auswahl eines Testalgorithmus in einer Steuerung für eingebauten Speicherselbsttest
DE4041897C2 (de) Integrierte Schaltkreiseinrichtung und Abtastpfadsystem
DE602004003475T2 (de) Testen von integrierten schaltungen
DE60302821T2 (de) Data-Austauschvorrichtung zwischen Abtastketten
DE4210857A1 (de) Halbleiterspeichereinrichtung und verfahren zum uebertragen von daten
DE10160092A1 (de) Integrierte Halbleiterschaltungsvorrichtung
DE60219990T2 (de) Speichertest-Schaltung
DE19639972B4 (de) Hochgeschwindigkeitstestschaltkreis für eine Halbleiterspeichervorrichtung
DE102004009693A1 (de) Technik zum Kombinieren eines Abtasttests und eines eingebauten Speicherselbsttests
DE60221313T2 (de) Direktzugriffsspeicher
DE102019134294A1 (de) Nichtflüchtiges speichersystem mit schneller wiederherstellung nach nicht ordnungsgemässem herunterfahren
DE102019115908A1 (de) Standard-flip-flop-zelle
DE112019007388T5 (de) Jtag-basierte architektur, die den multi-core-betrieb ermöglicht
DE102007013317A1 (de) Paralleles Lesen für Eingangskomprimierungsmodus
DE112020004747T5 (de) Geräte und Verfahren für Direktzugriffs-Hybridtests
DE10153753B4 (de) Speichertester unterläßt ein Programmieren von Adressen in erfaßten schlechten Spalten
DE112005003012T5 (de) Direktzugriffsspeicher mit Prüfschaltung
EP1205938B1 (de) Integrierte Schaltung mit Testbetriebsart und Verfahren zum Testen einer Vielzahl solcher integrierter Schaltungen
DE112019007386T5 (de) Verbesserte jtag-register mit gleichzeitigen eingängen
DE112019007375T5 (de) Speichergerät mit verbesserter sensorstruktur

Legal Events

Date Code Title Description
R012 Request for examination validly filed