DE112020006398T5 - Geräte, systeme und verfahren zur fehlerkorrektur - Google Patents

Geräte, systeme und verfahren zur fehlerkorrektur Download PDF

Info

Publication number
DE112020006398T5
DE112020006398T5 DE112020006398.4T DE112020006398T DE112020006398T5 DE 112020006398 T5 DE112020006398 T5 DE 112020006398T5 DE 112020006398 T DE112020006398 T DE 112020006398T DE 112020006398 T5 DE112020006398 T5 DE 112020006398T5
Authority
DE
Germany
Prior art keywords
bits
data
bit
ecc
ecc circuit
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
DE112020006398.4T
Other languages
English (en)
Inventor
Yoshinori Fujiwara
Vivek Kotti
Christopher G. Wieduwilt
Jason M. Johnson
Kevin G. Werhane
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 DE112020006398T5 publication Critical patent/DE112020006398T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1068Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1048Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/409Read-write [R-W] circuits 
    • G11C11/4097Bit-line organisation, e.g. bit-line layout, folded bit lines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1012Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
    • G06F11/1032Simple parity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1044Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices with specific ECC/EDC distribution
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/408Address circuits
    • G11C11/4085Word line control circuits, e.g. word line drivers, - boosters, - pull-up, - pull-down, - precharge
    • 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
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/08Word line control circuits, e.g. drivers, boosters, pull-up circuits, pull-down circuits, precharging circuits, for word lines
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/10Decoders
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/408Address circuits
    • G11C11/4087Address decoders, e.g. bit - or word line decoders; Multiple line decoders
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/409Read-write [R-W] circuits 
    • G11C11/4091Sense or sense/refresh amplifiers, or associated sense circuitry, e.g. for coupled bit-line precharging, equalising or isolating
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/409Read-write [R-W] circuits 
    • G11C11/4096Input/output [I/O] data management or control circuits, e.g. reading or writing circuits, I/O drivers or bit-line switches 

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)
  • Dram (AREA)

Abstract

Geräte, Systeme und Verfahren zur Fehlerkorrektur. Eine Speichervorrichtung kann eine Anzahl von Speicherzellen enthalten, von denen jede ein Informationsbit speichert. Ein oder mehrere Fehlerkorrektur-Codes (ECC) können verwendet werden, um zu bestimmen, ob die Informationsbits Fehler enthalten. Um die Auswirkungen von Fehlern benachbarter Speicherzellen abzuschwächen, können die Informationen in eine erste Gruppe und eine zweite Gruppe unterteilt werden, wobei jede Gruppe Informationen von Speicherzellen enthält, die nicht benachbart zu anderen Speicherzellen dieser Gruppe sind. Jede Gruppe von Informationen kann Datenbits und Paritätsbits enthalten, die zur Korrektur dieser Datenbits verwendet werden. Beispielsweise kann eine erste ECC-Schaltung als Teil einer Leseoperation Informationen von geradzahligen Speicherzellen empfangen, während eine zweite ECC-Schaltung Informationen von ungeradzahligen Speicherzellen empfangen kann.

Description

  • QUERVERWEIS AUF VERWANDTE ANMELDUNG(EN)
  • Diese Anmeldung beansprucht die Priorität der US-Patentanmeldung Nr. 16/748,554 , eingereicht am 21. Januar 2020, die gemäß 35 U.S.C. § 119 die Priorität des früheren Einreichungsdatums der vorläufigen US-Anmeldung Nr. 62/955,869 beansprucht, die am 31. Dezember 2019 eingereicht wurde, deren gesamte Inhalte hiermit durch Bezugnahme in vollem Umfang für jeden Zweck aufgenommen wird.
  • HINTERGRUND
  • Diese Erfindung bezieht sich allgemein auf Halbleiter-Vorrichtungen, wie zum Beispiel Halbleiter-Speichervorrichtungen. Die Halbleiter-Speichervorrichtung kann eine Anzahl von Speicherzellen enthalten, die zum Speichern von Informationen verwendet werden. Die gespeicherten Informationen können als binäre Daten kodiert sein, und jede Speicherzelle kann ein einzelnes Bit der Informationen speichern. Die Informationen können in den Speicherzellen aufgrund einer Mehrzahl verschiedener Fehler zerfallen oder sich verändern, was dazu führen kann, dass ein oder mehrere Bits mit falschen Informationen (z.B. Bits mit anderen Zuständen im Vergleich zu dem ursprünglich geschriebenen Bit) aus der Speichervorrichtung ausgelesen werden.
  • Es kann viele Anwendungen geben, bei denen es nützlich ist, eine hohe Wiedergabetreue der aus dem Speicher ausgelesenen Informationen zu gewährleisten. Speichervorrichtungen können Fehlerkorrekturschaltungen enthalten, die verwendet werden können, um zu bestimmen, ob die aus den Speicherzellen ausgelesenen Informationen im Vergleich zu den in die Speicherzellen geschriebenen Daten Fehler enthalten, und die entdeckten Fehler korrigieren können.
  • ZUSAMMENFASSUNG
  • In mindestens einem Aspekt bezieht sich die vorliegende Erfindung auf ein Gerät mit einer Speicherbank, einer ersten Fehlerkorrektur-Code-Schaltung (ECC-Schaltung) und einer zweiten ECC-Schaltung. Die Speicherbank enthält eine Mehrzahl von Bitleitungen, von denen jede eines von einer Mehrzahl von Informationsbits bereitstellt, die entlang einer aktivierten Wortleitung gespeichert sind. Die erste ECC-Schaltung empfängt eine Teilmenge der Mehrzahl von Informationsbits, die mit ungeradzahligen Bitleitungen der Mehrzahl von Bitleitungen in Beziehung stehen. Die zweite ECC-Schaltung empfängt eine Teilmenge der Mehrzahl von Informationsbits, die mit geradzahligen Bitleitungen der Mehrzahl von Bitleitungen in Beziehung stehen.
  • Die Mehrzahl von Informationsbits kann eine Mehrzahl von Datenbits und eine Mehrzahl von Paritätsbits umfassen. Die erste ECC-Schaltung kann einen ersten Bereich der Mehrzahl von Datenbits und einen ersten Bereich der Mehrzahl von Paritätsbits empfangen, und die zweite ECC-Schaltung kann einen zweiten Bereich der Mehrzahl von Datenbits und einen zweiten Bereich der Mehrzahl von Paritätsbits empfangen. Die erste ECC-Schaltung kann Fehler in dem ersten Bereich der Mehrzahl von Datenbits auf Basis des ersten Bereichs der Mehrzahl von Paritätsbits lokalisieren und korrigieren, und die zweite ECC-Schaltung kann Fehler in dem zweiten Bereich der Mehrzahl von Datenbits auf Basis des zweiten Bereichs der Mehrzahl von Paritätsbits lokalisieren und korrigieren.
  • Die Speicherbank kann einen ersten Bereich und einen zweiten Bereich umfassen, und die erste ECC-Schaltung und die zweite ECC-Schaltung können jeweils mit einer der Mehrzahl von Bitleitungen in dem ersten Bereich und in dem zweiten Bereich gekoppelt sein. Das Gerät kann außerdem einen Zeilen-Dekodierer enthalten, der zwischen dem ersten Bereich und dem zweiten Bereich der Speicherbank angeordnet ist.
  • Die erste ECC-Schaltung kann außerdem eine Mehrzahl von Bits, einschließlich Datenbits und Paritätsbits, auf Basis der Datenbits an die ungeradzahligen Bitleitungen der Mehrzahl von Bitleitungen als Teil einer Schreiboperation bezüglich der Wortleitung liefern. Die zweite ECC-Schaltung kann außerdem eine Mehrzahl von Bits, einschließlich Datenbits und Paritätsbits, auf Basis der Datenbits an die geradzahligen Bitleitungen der Mehrzahl von Bitleitungen als Teil einer Schreiboperation bezüglich der Wortleitung liefern.
  • In mindestens einem Aspekt bezieht sich die vorliegende Erfindung auf ein Gerät mit einer Wortleitung, einer ersten Speicherzelle, die entlang der Wortleitung angeordnet ist, einer zweiten Speicherzelle, die entlang der Wortleitung angeordnet ist, einer ersten Fehlerkorrektur-Code-Schaltung (ECC-Schaltung), die mit der ersten Speicherzelle gekoppelt ist, und einer zweiten ECC-Schaltung, die mit der zweiten Speicherzelle gekoppelt ist. Die zweite Speicherzelle liegt neben der ersten Speicherzelle.
  • Das Gerät kann außerdem eine erste Bitleitung, die mit der ersten ECC-Schaltung gekoppelt ist, und eine zweite Bitleitung, die mit der zweiten ECC-Schaltung gekoppelt ist, umfassen. Die erste Speicherzelle kann an einem Schnittpunkt zwischen der Wortleitung und der ersten Bitleitung angeordnet sein. Die zweite Speicherzelle kann an einem Schnittpunkt zwischen der Wortleitung und der zweiten Bitleitung angeordnet sein.
  • Das Gerät kann eine erste Haupt-Eingabe/Ausgabe-Leitung, die die erste Speicherzelle mit der ersten ECC-Schaltung koppelt, und eine zweite Haupt-Eingabe/Ausgabe-Leitung enthalten, die die zweite Speicherzelle mit der zweiten ECC-Schaltung koppelt. Die erste Speicherzelle kann ein erstes Datenbit speichern, und die zweite Speicherzelle kann ein zweites Datenbit speichern. Die erste ECC-Schaltung kann auf Basis von mindestens einem ersten Paritätsbit bestimmen, ob das erste Datenbit ein Fehler ist, und die zweite ECC-Schaltung kann auf Basis von mindestens einem zweiten Paritätsbit bestimmen, ob das zweite Datenbit ein Fehlerbit ist.
  • Das Gerät kann eine dritte Speicherzelle enthalten, die entlang der Wortleitung angeordnet ist. Die dritte Speicherzelle kann benachbart zur zweiten Speicherzelle, aber nicht benachbart zur ersten Speicherzelle liegen. Die dritte Speicherzelle kann mit der ersten ECC-Schaltung gekoppelt sein. Das Gerät kann eine vierte Speicherzelle enthalten, die entlang der Wortleitung angeordnet ist. Die vierte Speicherzelle kann neben der dritten Speicherzelle, aber nicht neben der zweiten Speicherzelle liegen, und die vierte Speicherzelle kann mit der zweiten ECC-Schaltung gekoppelt sein.
  • Die erste ECC-Schaltung kann ein erstes Datenbit an die erste Speicherzelle liefern und ein erstes Paritätsbit erzeugen, das zumindest teilweise auf dem ersten Datenbit basiert, und die zweite ECC-Schaltung kann ein zweites Datenbit an die zweite Speicherzelle liefern und ein zweites Paritätsbit erzeugen, das zumindest teilweise auf dem zweiten Datenbit basiert.
  • In mindestens einem Aspekt kann sich die vorliegende Erfindung auf ein Gerät beziehen, die eine Wortleitung, eine Mehrzahl von Speicherzellen, die entlang der Wortleitung angeordnet sind, eine erste Fehlerkorrektur-Code-Schaltung (ECC-Schaltung), die Informationen in ungeradzahligen Speicherzellen der Mehrzahl von Speicherzellen verwaltet, und eine zweite ECC-Schaltung, die Informationen in geradzahligen Speicherzellen der Mehrzahl von Speicherzellen verwaltet, enthält.
  • Die Mehrzahl von Speicherzellen kann sich an dem Schnittpunkt zwischen der Wortleitung und einer Mehrzahl von Bitleitungen befinden, und jede der Mehrzahl von Bitleitungen kann mit einer zugehörigen Leitung einer Mehrzahl von Haupt-Eingabe/Ausgabe-Leitungen gekoppelt sein. Die erste ECC-Schaltung kann mit ungeradzahligen Leitungen der Mehrzahl von Haupt-Eingabe/Ausgabe-Leitungen gekoppelt sein, und die zweite ECC-Schaltung kann mit geradzahligen Leitungen der Mehrzahl von Haupt-Eingabe/Ausgabe-Leitungen gekoppelt sein.
  • Als Teil einer Leseoperation kann die erste ECC-Schaltung Informationen von den ungeradzahligen Speicherzellen der Mehrzahl von Speicherzellen empfangen und die empfangenen Informationen auf Basis von Paritätsbits korrigieren, die in den empfangenen Informationen enthalten sind, und die zweite ECC-Schaltung kann Informationen von den geradzahligen Speicherzellen der Mehrzahl von Speicherzellen empfangen und die empfangenen Informationen auf Basis von Paritätsbits korrigieren, die in den empfangenen Informationen enthalten sind.
  • Als Teil einer Schreiboperation kann die erste ECC-Schaltung eine Mehrzahl von Datenbits und eine Mehrzahl von Paritätsbits basierend auf der Mehrzahl von Datenbits in die ungeradzahligen Speicherzellen der Mehrzahl von Speicherzellen schreiben, und die zweite ECC-Schaltung kann eine Mehrzahl von Datenbits und eine Mehrzahl von Paritätsbits basierend auf der Mehrzahl von Datenbits in die geradzahligen Speicherzellen der Mehrzahl von Speicherzellen schreiben.
  • Das Gerät kann außerdem einen Zeilen-Dekodierer enthalten, und die Wortleitung kann einen ersten Bereich und einen zweiten Bereich enthalten, wobei der Zeilen-Dekodierer zwischen dem ersten Bereich und dem zweiten Bereich angeordnet ist. Die erste ECC-Schaltung und die zweite ECC-Schaltung können jeweils mit dem ersten Bereich und dem zweiten Bereich der Wortleitung gekoppelt sein.
  • Figurenliste
    • 1 ist ein Blockdiagramm einer Halbleiter-Vorrichtung gemäß einer Ausführungsform der vorliegenden Erfindung.
    • 2 ist ein Blockdiagramm einer Speichervorrichtung gemäß einigen Ausführungsformen der vorliegenden Erfindung.
    • 3 ist ein Blockdiagramm des Betriebs einer Speichervorrichtung gemäß einigen Ausführungsformen der vorliegenden Erfindung.
    • 4 ist eine schematische Darstellung des Bereitstellens von Daten aus benachbarten Speicherzellen für verschiedene Fehlerkorrekturschaltungen gemäß einigen Ausführungsformen der vorliegenden Erfindung.
    • 5 ist eine schematische Darstellung des sequentiellen Bereitstellens von Daten aus benachbarten Speicherzellen für eine Fehlerkorrekturschaltung gemäß einigen Ausführungsformen der vorliegenden Erfindung.
    • 6 ist eine schematische Darstellung des Bereitstellens von Daten aus nicht benachbarten Speicherzellen verschiedener Zeilen für eine Fehlerkorrekturschaltung gemäß einigen Ausführungsformen der vorliegenden Erfindung.
    • 7 ist eine schematische Darstellung des Bereitstellens von Daten aus nicht benachbarten Speicherzellen verschiedener Zeilen in einem einzelnen Bankabschnitt für eine Fehlerkorrekturschaltung gemäß einigen Ausführungsformen der vorliegenden Erfindung.
    • 8 ist eine schematische Darstellung von Schaltern, die zum Steuern der Speicherzellen verwendet werden, die Daten für n eine oder mehrere Fehlerkorrekturschaltungen liefern, gemäß Ausführungsformen der vorliegenden Erfindung.
    • 9 ist eine schematische Darstellung einer Fehlerkorrektur-Code-Steuerschaltung (ECC-Steuerschaltung) gemäß einigen Ausführungsformen der vorliegenden Erfindung.
  • DETAILLIERTE BESCHREIBUNG
  • Die folgende Beschreibung bestimmter Ausführungsformen ist lediglich beispielhaft und soll in keiner Weise den Umfang der Erfindung oder ihrer Anwendungen oder Verwendungen einschränken. In der folgenden detaillierten Beschreibung von Ausführungsformen der vorliegenden Systeme und Verfahren wird auf die beigefügten Zeichnungen verwiesen, die einen Teil dieser Offenbarung bilden und in denen zur Veranschaulichung bestimmte Ausführungsformen gezeigt werden, in denen die beschriebenen Systeme und Verfahren angewandt werden können. Diese Ausführungsformen sind hinreichend detailliert beschrieben, um es dem Fachmann zu ermöglichen, die gegenwärtig offenbarten Systeme und Verfahren zu praktizieren, und es versteht sich, dass auch andere Ausführungsformen verwendet werden können und dass strukturelle und logische Änderungen vorgenommen werden können, ohne vom Grundgedanken und Umfang der Erfindung abzuweichen. Darüber hinaus wird aus Gründen der Klarheit auf detaillierte Beschreibungen bestimmter Merkmale verzichtet, wenn diese für den Fachmann offensichtlich sind, um die Beschreibung von Ausführungsformen der Erfindung nicht zu verdecken. Die folgende detaillierte Beschreibung ist daher nicht in einem einschränkenden Sinne zu verstehen, und der Umfang der Erfindung wird nur durch die beigefügten Ansprüche definiert.
  • Eine Speichervorrichtung kann ein Speicher-Array mit einer Anzahl von Speicherzellen enthalten, die sich jeweils am Schnittpunkt einer Wortleitung (Zeile) und einer Bitleitung (Spalte) befinden. Während einer Lese- oder Schreiboperation kann eine Zeile aktiviert werden, und Daten können aus den Speicherzellen entlang der aktivierten Zeile gelesen oder in diese geschrieben werden. Jede Zeile kann Speicherzellen enthalten, die eine Anzahl von Datenbits und eine Anzahl von Paritätsbits (z.B. Datenbits und Paritätsbits) speichern, die zum Korrigieren einer bestimmten Anzahl von Fehlern in den Datenbits verwendet werden können. Eine Zeile kann beispielsweise i Datenbits und k Paritätsbits enthalten, die zum Korrigieren von bis zu j der Datenbits verwendet werden können. Während einer Schreiboperation können die Paritätsbits von einer Fehlerkorrekturschaltung auf Basis der in die Speicherzellen der Zeile geschriebenen Daten erzeugt werden. Während einer Leseoperation kann die Fehlerkorrekturschaltung die Paritätsbits verwenden, um zu bestimmen, ob die gelesenen Datenbits korrekt sind, und kann alle gefundenen Fehler korrigieren.
  • In einigen Beispielen können die Daten auf Basis einer Anzahl von Datenbits und Paritätsbits organisiert werden, die bis zu einem einzigen Fehler in den Datenbits korrigiert werden können. Wenn beispielsweise eine Gruppe von Daten, wie die entlang einer Zeile gespeicherten Daten, 128 Datenbits und 8 Paritätsbits umfasst, können die 8 Paritätsbits dazu verwendet werden, bis zu einem Fehler unter den 128 Datenbits zu identifizieren und zu korrigieren. Wenn folglich die 128 Datenbits zwei oder mehr Fehler enthalten, ist die Fehlerkorrekturschaltung nicht in der Lage, die Fehler in den 128 Datenbits zu korrigieren. Eine Art und Weise, wie mehrere Bits ausfallen können, ist ein Defekt in dem Chip, der zwei benachbarte Speicherzellen betrifft (z.B. zwei Speicherzellen entlang derselben Zeile, aber gekoppelt mit benachbarten Bitleitungen). Es kann sinnvoll sein, die Art und Weise, in der Speicherzellen mit den Fehlerkorrekturschaltungen verbunden sind, so zu organisieren, dass der Speicher die Auswirkungen benachbarter Fehler abschwächen kann.
  • Die vorliegende Erfindung bezieht sich auf Geräte, Systeme und Verfahren zur Fehlerkorrektur. Die Speichervorrichtung kann Informationen entlang einer Zeile aufteilen, so dass keine zwei benachbarten Informationsbits gleichzeitig in dieselbe Fehlerkorrekturschaltung ausgelesen werden. Beispielsweise können die Bitleitungen zwischen „gerade“ und „ungerade“ Bitleitungen wechseln, und die geraden Bitleitungen können mit einer ersten Fehlerkorrekturschaltung gekoppelt sein, während die ungeraden Bitleitungen mit einer zweiten Fehlerkorrekturschaltung gekoppelt sind. Sowohl die erste als auch die zweite Fehlerkorrekturschaltung können jeweils bis zu einem einzigen Bit an Fehlern korrigieren. Wenn ein Paar benachbarter Bits fehlerhaft ist, wird eines der fehlerhaften Bits von der ersten Fehlerkorrekturschaltung ausgelesen, während das andere der fehlerhaften Bits von der zweiten Fehlerkorrekturschaltung ausgelesen wird. Auf diese Weise können beide Bits korrigiert werden, da jede Fehlerkorrekturschaltung eines der beiden benachbarten fehlerhaften Bits erhält. In einigen Ausführungsformen können Informationen seriell aus Gruppen mit nicht benachbarten Speicherzellen gelesen werden (z.B. können Daten zuerst aus geraden Bitleitungen und dann aus ungeraden Wortzeilen gelesen werden), um die Anzahl der erforderlichen Fehlerkorrekturschaltungen zu verringern.
  • 1 ist ein Blockdiagramm einer Halbleiter-Vorrichtung gemäß einer Ausführungsform der Erfindung. Die Halbleiter-Vorrichtung 100 kann eine Halbleiter-Speichervorrichtung sein, wie zum Beispiel eine DRAM-Vorrichtung, die auf einem einzigen Halbleiter-Chip integriert ist.
  • Die Halbleitervorrichtung 100 enthält ein Speicher-Array 118. Das Speicher-Array 118 ist so dargestellt, dass es eine Mehrzahl von Speicherbänken umfasst. In der Ausführungsform von 1 ist das Speicher-Array 118 so dargestellt, dass es acht Speicherbänke BANK0-BANK7 umfasst. Andere Ausführungsformen können mehr oder weniger Bänke in dem Speicher-Array 118 enthalten. Jede Speicherbank umfasst eine Mehrzahl von Wortleitungen WL, eine Mehrzahl von Bitleitungen BL und eine Mehrzahl von Speicherzellen MC, die an den Schnittpunkten der Mehrzahl von Wortleitungen WL und der Mehrzahl von Bitleitungen BL angeordnet sind. Die Auswahl der Wortleitung WL erfolgt durch einen Zeilen-Dekodierer 108, und die Auswahl der Bitleitungen BL erfolgt durch einen Spalten-Dekodierer 110. In der Ausführungsform von 1 umfasst der Zeilen-Dekodierer 108 einen entsprechenden Zeilen-Dekodierer für jede Speicherbank und der Spalten-Dekodierer 110 einen entsprechenden Spalten-Dekodierer für jede Speicherbank. Die Bitleitungen BL sind mit einem entsprechenden Messverstärker (SAMP) verbunden. Lesedaten von der Bitleitung BL werden durch den Messverstärker SAMP verstärkt und über komplementäre lokale Datenleitungen (LIOT/B), ein Transfer-Gate (TG) und komplementäre Hauptdatenleitungen (MIOT/B), die mit einer Fehlerkorrektur-Code-Steuerschaltung (ECC-Steuerschaltung) 120 gekoppelt sind, zu Lese-/Schreibverstärkern 120 übertragen. Umgekehrt werden Schreibdaten, die von der ECC-Steuerschaltung 120 ausgegeben werden, über die komplementären Hauptdatenleitungen MIOT/B, das Transfer-Gate TG und die komplementären lokalen Datenleitungen LIOT/B an den Messverstärker SAMP übertragen und in die mit der Bitleitung BL gekoppelte Speicherzelle MC geschrieben.
  • Die Halbleiter-Vorrichtung 100 kann eine Mehrzahl von externen Anschlüssen verwenden, die Befehls- und Adressanschlüsse (C/A) umfassen, die mit einem Befehls- und Adressbus gekoppelt sind, um Befehle und Adressen und ein CS-Signal zu empfangen, Taktanschlüsse, um Takte CK und /CK zu empfangen, Datenanschlüsse DQ, um Daten bereitzustellen, und Stromversorgungsanschlüsse, um Stromversorgungspotentiale VDD, VSS, VDDQ und VSSQ zu empfangen.
  • Die Taktanschlüsse werden mit externen Takten CK und /CK versorgt, die einer Eingabeschaltung 112 zugeführt werden. Die externen Takte können komplementär sein. Die Eingabeschaltung 112 erzeugt einen internen Takt ICLK auf Basis der Takte CK und /CK. Der ICLK-Takt wird an den Befehls-Dekodierer 106 und an einen internen Takt-Generator 114 geliefert. Der interne Takt-Generator 114 erzeugt auf Basis des ICLK-Takts verschiedene interne Takte LCLK. Die LCLK-Takte können für die Zeitsteuerung verschiedener interner Schaltungen verwendet werden. Die internen Datentakte LCLK werden der Eingabe/Ausgabe-Schaltung 122 zur Verfügung gestellt, um den Betrieb der in der Eingabe/Ausgabe-Schaltung 122 enthaltenen Schaltungen zeitlich zu steuern, zum Beispiel an Datenempfänger, um den Empfang von Schreibdaten zeitlich zu steuern.
  • Die C/A-Anschlüsse können mit Speicheradressen versorgt werden. Die den C/A-Anschlüssen zugeführten Speicheradressen werden über eine Befehl-/Adressen-Eingabeschaltung 102 an einen Adressen-Dekodierer 104 übertragen. Der Adressen-Dekodierer 104 empfängt die Adresse und liefert eine dekodierte Zeilenadresse XADD an den Zeilen-Dekodierer 108 und eine dekodierte Spaltenadresse YADD an den Spalten-Dekodierer 110. Der Adressen-Dekodierer 104 kann auch eine dekodierte Bankadresse BADD liefern, die die Bank des Speicher-Arrays 118 angeben kann, die die dekodierte Zeilenadresse XADD und die Spaltenadresse YADD enthält. Die C/A-Anschlüsse können mit Befehlen versorgt werden. Beispiele für Befehle sind Timing-Befehle zur Steuerung des Timings verschiedener Operationen, Zugriffsbefehle für den Zugriff auf den Speicher, wie Lesebefehle zur Durchführung von Leseoperationen und Schreibbefehle zur Durchführung von Schreiboperationen, sowie andere Befehle und Operationen. Die Zugriffsbefehle können mit einer oder mehreren Zeilenadressen XADD, Spaltenadressen YADD und Bankadressen BADD verbunden sein, um die Speicherzelle(n) anzugeben, auf die zugegriffen werden soll.
  • Die Befehle können als interne Befehlssignale über die Befehl-/ Adressen-Eingabeschaltung 102 an einen Befehls-Dekodierer 106 geliefert werden. Der Befehls-Dekodierer 106 enthält Schaltungen zum Dekodieren der internen Befehlssignale, um verschiedene interne Signale und Befehle zum Durchführen von Operationen zu erzeugen. Zum Beispiel kann der Befehls-Dekodierer 106 ein Zeilenbefehlssignal zur Auswahl einer Wortleitung und ein Spaltenbefehlssignal zur Auswahl einer Bitleitung bereitstellen.
  • Die Vorrichtung 100 kann einen Zugriffsbefehl empfangen, der ein Lesebefehl ist. Wenn ein Lesebefehl empfangen wird und eine Bankadresse, eine Zeilenadresse und eine Spaltenadresse rechtzeitig mit dem Lesebefehl geliefert werden, werden Lesedaten aus den Speicherzellen in dem Speicher-Array 118 gelesen, die der Zeilenadresse und der Spaltenadresse entsprechen. Der Lesebefehl wird von dem Befehls-Dekodierer 106 empfangen, der interne Befehle bereitstellt, so dass die Lesedaten aus dem Speicher-Array 118 an die ECC-Steuerschaltung 120 geliefert werden. Der Lesebefehl kann auch bewirken, dass ein oder mehrere Paritätsbits, die mit den Lesedaten in Beziehung stehen, entlang des MIOT/B an die ECC-Steuerschaltung 120 geliefert werden. Die ECC-Steuerschaltung 120 kann die Paritätsbits verwenden, um zu bestimmen, ob die gelesenen Daten irgendwelche Fehler enthalten, und wenn irgendwelche Fehler erkannt werden, können sie korrigiert werden, um korrigierte Lesedaten zu erzeugen. Die korrigierten Lesedaten werden von den Datenanschlüssen DQ über die Eingabe/Ausgabe-Schaltung 122 nach außerhalb der Vorrichtung 100 ausgegeben.
  • Die Vorrichtung 100 kann einen Zugriffsbefehl empfangen, der ein Schreibbefehl ist. Wenn der Schreibbefehl empfangen wird, werden eine Bankadresse, eine Zeilenadresse und eine Spaltenadresse rechtzeitig mit dem Schreibbefehl geliefert, und die Schreibdaten werden über die DQ-Anschlüsse an die ECC-Steuerschaltung 120 geliefert. Die Schreibdaten, die den Datenanschlüssen DQ zugeführt werden, werden in eine Speicherzelle im Speicher-Array 118 geschrieben, die der Zeilenadresse und der Spaltenadresse entspricht. Der Schreibbefehl wird vom Befehls-Dekodierer 106 empfangen, der interne Befehle bereitstellt, so dass die Schreibdaten von Datenempfängern in der Eingabe/Ausgabeschaltung 122 empfangen werden. An den externen Taktanschlüssen können auch Schreibtakte bereitgestellt werden, um das Empfangen der Schreibdaten durch die Datenempfänger der Eingabe/Ausgabeschaltung 122 zu takten. Die Schreibdaten werden über die Eingabe/Ausgabeschaltung 122 an die ECC-Steuerschaltung 120 geliefert. Die ECC-Steuerschaltung 120 kann eine Anzahl von Paritätsbits auf der Grundlage der Schreibdaten erzeugen, und die Schreibdaten und die Paritätsbits können dem Speicher-Array 118 zugeführt werden, um in die Speicherzellen MC geschrieben zu werden.
  • Die ECC-Steuerschaltung 120 kann verwendet werden, um die Übereinstimmung der aus einer bestimmten Gruppe von Speicherzellen gelesenen Daten mit den in diese Gruppe von Speicherzellen geschriebenen Daten zu gewährleisten. Die Vorrichtung 100 kann eine Reihe verschiedener ECC-Steuerschaltungen 120 enthalten, von denen jede für einen anderen Teil der Speicherzellen MC des Speicher-Arrays 118 zuständig ist. So kann es beispielsweise eine oder mehrere ECC-Steuerschaltungen 120 für jede Bank des Speicher-Arrays 118 geben. Im Rahmen eines bestimmten Zugriffsvorgangs kann jede ECC-Steuerschaltung 120 für das Lesen/Schreiben von Daten in Speicherzellen des Speicher-Arrays 118 zuständig sein, die nicht benachbart sind. Wenn beispielsweise eine Zeile aktiviert wird und Daten zwischen einem Bereich der Speicherzellen der aktivierten Zeile und einer ECC-Steuerschaltung 120 gekoppelt werden, kann es zwischen allen mit der ECC-Schaltung 120 gekoppelten Speicherzellen mindestens eine weitere Speicherzelle geben, die nicht mit dieser ECC-Schaltung 120 gekoppelt ist.
  • In einigen Ausführungsformen können verschiedene Gruppen von Daten (und Paritätsbits) parallel an nicht benachbarte Speicherzellen geliefert (oder aus diesen gelesen) werden. Zum Beispiel kann eine erste ECC-Steuerschaltung 120 eine erste Gruppe von Speicherzellen bearbeiten, während eine zweite ECC-Steuerschaltung 120 eine zweite Gruppe von Speicherzellen bearbeitet. Speicherzellen in der ersten Gruppe von Speicherzellen sind nicht benachbart zu anderen Speicherzellen in der ersten Gruppe von Speicherzellen, und Speicherzellen in der zweiten Gruppe von Speicherzellen sind nicht benachbart zu anderen Speicherzellen der zweiten Gruppe von Speicherzellen, obwohl Speicherzellen der ersten Gruppe benachbart zu Speicherzellen der zweiten Gruppe sein können. Beispielsweise kann eine „gerade“ ECC-Steuerschaltung Speicherzellen behandeln, die mit geradzahligen Bitleitungen gekoppelt sind, während eine „ungerade“ ECC-Steuerschaltung Speicherzellen behandeln kann, die mit ungeradzahligen Bitleitungen gekoppelt sind.
  • In einigen Ausführungsformen können verschiedene Gruppen von Daten (und Paritätsbit) nacheinander an nicht benachbarte Speicherzellen geliefert (oder aus ihnen gelesen) werden. Speicherzellen in der ersten Gruppe von Speicherzellen sind nicht benachbart zu anderen Speicherzellen in der ersten Gruppe von Speicherzellen, und Speicherzellen in der zweiten Gruppe von Speicherzellen sind nicht benachbart zu anderen Speicherzellen der zweiten Gruppe von Speicherzellen, obwohl Speicherzellen der ersten Gruppe benachbart zu Speicherzellen der zweiten Gruppe sein können. Zum Beispiel kann eine ECC-Steuerschaltung eine erste Gruppe von Speicherzellen als Teil einer ersten Zugriffsoperation behandeln und dann eine zweite Gruppe von Speicherzellen als Teil einer zweiten Zugriffsoperation behandeln. Obwohl sequenzielle Ausführungsformen in einer bestimmten Reihenfolge beschrieben werden können (z.B. erst gerade, dann ungerade), kann jede der hier beschriebenen Ausführungsformen auch in einer anderen Reihenfolge verwendet werden (z.B. erst ungerade, dann gerade). In einigen Ausführungsformen kann ein einziger ECC-Steuerschaltung für mehrere Gruppen von nicht benachbarten Speicherzellen auf diese Weise verwendet werden.
  • In einigen Ausführungsformen können mehrere Wortleitungen aktiviert und in eine ECC-Steuerschaltung 120 geschrieben/ausgelesen werden. Zum Beispiel kann eine erste Gruppe von Speicherzellen entlang einer ersten Wortleitung liegen, während eine zweite Gruppe von Speicherzellen entlang einer zweiten Wortleitung liegen kann. Speicherzellen in der ersten Gruppe von Speicherzellen sind nicht benachbart zu anderen Speicherzellen in der ersten Gruppe von Speicherzellen, und Speicherzellen in der zweiten Gruppe von Speicherzellen sind nicht benachbart zu anderen Speicherzellen der zweiten Gruppe von Speicherzellen. Zum Beispiel können Speicherzellen, die mit geradzahligen Bitleitungen auf einer ersten Wortleitung gekoppelt sind, und Speicherzellen, die mit ungeradzahligen Bitleitungen auf einer zweiten Wortleitung gekoppelt sind, von einer ECC-Schaltung verwaltet werden.
  • Jede ECC-Steuerschaltung 120 kann eine bestimmte Anzahl von Datenbits empfangen (entweder von der I/O-Schaltung 122 oder dem Speicher-Array 118) und kann eine Anzahl von Paritätsbits basierend auf der Anzahl von Datenbits verwenden, um potenzielle Fehler in den Datenbits zu korrigieren. Beispielsweise kann eine ECC-Steuerschaltung 120 als Teil einer Schreiboperation 128 Datenbits von der IO-Schaltung empfangen und auf Basis dieser 128 Datenbits 8 Paritätsbits erzeugen. Die 128 Datenbits und die 8 Paritätsbits (z.B. insgesamt 136 Bits) können in das Speicher-Array 118 geschrieben werden. Als Teil einer beispielhaften Leseoperation kann die ECC-Steuerschaltung 120 128 Datenbits und 8 Paritätsbits vom Speicherzellen-Array 118 empfangen. Die ECC-Steuerschaltung 120 kann die 8 Paritätsbits verwenden, um zu bestimmen, ob in den 128 gelesenen Datenbits Fehler enthalten sind, und sie korrigieren, falls welche gefunden werden. Zum Beispiel kann die ECC-Steuerschaltung 120 in der Lage sein, bis zu einem Fehler in den 128 Datenbits auf der Grundlage der 8 Paritätsbits zu lokalisieren und zu korrigieren. Obwohl verschiedene Ausführungsformen unter Bezugnahme auf ECC-Schaltungen erörtert werden, die 8 Paritätsbits verwenden, um einen Fehler in 128 Datenbits zu finden, ist offensichtlich, dass diese nur zu Erklärungszwecken dienen und dass in anderen Ausführungsbeispielen andere Zahlen von Datenbits, Fehlerbits und Paritätsbits verwendet werden können. Ein Beispiel für eine ECC-Schaltung wird in 9 näher erläutert.
  • In einigen Ausführungsformen kann die Vorrichtung 100 in verschiedenen Modi arbeiten, die zum Teil bestimmen, wie die ECC-Steuerschaltungen 120 mit den Speicherzellen MC des Speicher-Arrays 118 verbunden sind. In einigen Ausführungsformen können die verschiedenen Modi bestimmen, wie viele der DQ-Pads als Teil einer bestimmten Zugriffsoperation verwendet werden. Zum Beispiel können als Teil eines x16-Operationsmodus 16 verschiedene DQ-Pads verwendet werden. Die Daten können im Burst-Verfahren in den Speicher geschrieben werden, wobei jedes Pad einen Burst von 16 Bits Daten empfängt, was insgesamt 256 Bits ergibt, die dann in das Speicher-Array 118 geschrieben werden können. Im x16-Operationsmodus können beim Lesen von Daten 256 Bits aus dem Speicher-Array 118 gelesen und dann als 16 Bursts mit je 16 Bits an die DQ-Pads geliefert werden. In einem anderen Beispiel können als Teil eines x8-Operationsmodus 8 verschiedene DQ-Pads verwendet werden. Jedes der DQ-Pads kann immer noch Bursts von jeweils 16 Bit empfangen (oder bereitstellen), aber die Vorrichtung kann 128 Bit als Teil eines einzigen Bursts verarbeiten. In einigen Ausführungsformen kann die Vorrichtung 100 immer noch 256 Bits auf einmal in das Speicher-Array 118 lesen oder schreiben, aber sie kann sie als Teil von zwei Bursts von je 128 Bits empfangen (oder bereitstellen). Obwohl verschiedene Ausführungsformen unter Bezugnahme auf x16- und x8-Operationsmodi erörtert werden, soll verstanden werden, dass diese als Beispiele gedacht sind und dass die hier beschriebenen Konzepte und Ausführungsformen nicht auf eine bestimmte Anzahl von DQ-Anschlüssen, Burst-Länge, usw. beschränkt sind.
  • Die Vorrichtung 100 kann auch Befehle empfangen, die es veranlassen, eine oder mehrere Refresh-Operationen als Teil eines Self-Refresh-Modus auszuführen. In einigen Ausführungsformen kann der Befehl für den Self-Refresh-Modus von außen an die Speichervorrichtung 100 ausgegeben werden. In einigen Ausführungsformen kann der Befehl für den Self-Refresh-Modus periodisch von einer Komponente der Vorrichtung erzeugt werden. In einigen Ausführungsformen kann das Refresh-Signal AREF auch aktiviert werden, wenn ein externes Signal einen Befehl zum Self-Refresh anzeigt. Das Refresh-Signal AREF kann ein Impulssignal sein, das aktiviert wird, wenn der Befehls-Dekodierer 106 ein Signal empfängt, das den Eintritt in den Self-Refresh-Modus anzeigt. Das Refresh-Signal AREF kann einmal unmittelbar nach der Befehlseingabe aktiviert werden und danach zyklisch zur gewünschten internen Zeit aktiviert werden. Das Refresh-Signal AREF kann verwendet werden, um den Zeitpunkt der Refresh-Operationen während des Self-Refresh-Modus zu steuern. So können die Refresh-Operationen automatisch fortgesetzt werden. Ein Befehl zum Beenden des Self-Refresh-Modus kann dazu führen, dass die automatische Aktivierung des Refresh-Signals AREF gestoppt wird und in einen IDLE-Zustand zurückkehrt. Das Refresh-Signal AREF wird an die Refresh-Steuerschaltung 116 geliefert. Die Refresh-Steuerschaltung 116 liefert eine Refresh-Zeilenadresse RXADD an den Zeilen-Dekodierer 108, der eine oder mehrere Wortzeilen WL auffrischen kann, die durch die Refresh-Zeilenadresse RXADD angegeben werden.
  • Die Stromversorgungsanschlüsse werden mit den Stromversorgungspotentialen VDD und VSS versorgt. Die Stromversorgungspotentiale VDD und VSS werden einer internen Spannungs-Generatorschaltung 124 zugeführt. Die interne Spannungs-Generatorschaltung 124 erzeugt verschiedene interne Potenziale VPP, VOD, VARY, VPERI, usw. auf Basis der den Stromversorgungsanschlüssen zugeführten Versorgungspotentiale VDD und VSS. Das interne Potential VPP wird hauptsächlich im Zeilen-Dekodierer 108 verwendet, die internen Potentiale VOD und VARY werden hauptsächlich in den Messverstärkern SAMP verwendet, die in dem Speicher-Array 118 enthalten sind, und das interne Potential VPERI wird in vielen peripheren Schaltungsblöcken verwendet.
  • Die Stromversorgungsanschlüsse werden außerdem mit den Stromversorgungspotentialen VDDQ und VSSQ versorgt. Die Stromversorgungspotentiale VDDQ und VSSQ werden der Eingabe/Ausgabe-Schaltung 122 zugeführt. Die den Stromversorgungsanschlüssen zugeführten Stromversorgungspotentiale VDDQ und VSSQ können in einer Ausführungsform der Erfindung die gleichen Potentiale sein wie die den Stromversorgungsanschlüssen zugeführten Stromversorgungspotentiale VDD und VSS. In einer anderen Ausführungsform der Erfindung können die den Stromversorgungsanschlüssen zugeführten Stromversorgungspotentiale VDDQ und VSSQ andere Potentiale sein als die den Stromversorgungsanschlüssen zugeführten Stromversorgungspotentiale VDD und VSS. Die den Stromversorgungsanschlüssen zugeführten Stromversorgungspotentiale VDDQ und VSSQ werden für die Eingabe/Ausgabe-Schaltung 122 verwendet, damit sich das von der Eingabe/Ausgabe-Schaltung 122 erzeugte Stromversorgungsrauschen nicht auf die anderen Schaltungsblöcke überträgt.
  • 2 ist ein Blockdiagramm einer Speichervorrichtung gemäß einigen Ausführungsformen der vorliegenden Erfindung. Die Speichervorrichtung 200 zeigt ein beispielhaftes Layout bestimmter Komponenten, die als Teil der Zugriffsoperation im Speicher 200 verwendet werden. Andere Komponenten können der Übersichtlichkeit halber weggelassen werden. Die Speichervorrichtung 200 kann in einigen Ausführungsformen in der Speichervorrichtung 100 von 1 enthalten sein.
  • Die Speichervorrichtung 200 umfasst eine Anzahl von Bänken 240, die Teile eines Speicher-Arrays sind. Die Bänke 240 können in einen ersten Bereich 240a der Bank und einen zweiten Bereich 240b der Bank unterteilt sein, wobei zwischen den Bereichen ein Zeilen-Dekodierer 208 angeordnet ist. Die beiden Bereiche einer bestimmten Bank 240 und der Zeilen-Dekodierer 208 können entlang einer ersten Richtung (z.B. einer y-Achse) angeordnet sein. Jede Bank 240 kann von einer anderen Bank durch einen Spalten-Dekodierer 210, der der ersten Bank zugeordnet ist, eine Fehlerkorrekturregion 220 und einen Spalten-Dekodierer 210, der der zweiten Bank zugeordnet ist, getrennt sein. Die Bänke, die Spalten-Dekodierer 210 und die Fehlerkorrekturregion 220 können entlang einer zweiten Achse (z.B. einer x-Achse) angeordnet sein, die orthogonal zur ersten Achse verläuft. Die Bänke des Speichers 200 können in einem Array entlang der x-y-Ebene angeordnet sein.
  • Es kann eine Fehlerkorrekturregion 220 und einen Spalten-Dekodierer 210 für jeden Bereich einer bestimmten Bank 240 geben. Die Fehlerkorrekturregion 220 kann mit einem oder mehreren DQ-Pads 226 gekoppelt sein (z.B. über eine I/O-Schaltung), um Daten außerhalb der Vorrichtung 200 zu senden und zu empfangen. Die DQ-Pads 226 (und I/O-Schaltungen usw.) können sich in einer PERIDQ-Region zwischen den Speicherbänken 240 befinden, und andere Komponenten des Speichers 200 (z.B. die Befehls-/Adressen-Eingabeschaltung) können sich in einer PERICA-Region zwischen den Speicherbänken 240 befinden.
  • Die ECC-Region 220 enthält eine oder mehrere ECC-Steuerschaltungen, die zum Korrigieren der Datenbits verwendet werden, die in den mit dieser ECC-Region 220 verbundenen Speicherbänken 240 gespeichert sind. Beispielsweise kann jede ECC-Region 220 ECC-Steuerschaltungen enthalten, die die Bereiche der Bänke auf beiden Seiten dieser ECC-Region 220 verwalten. So kann beispielsweise eine erste ECC-Region 220 dem Bereich 240a und eine zweite ECC-Region 220 dem Bereich 240b zugeordnet sein. In einigen Ausführungsformen kann die ECC-Region 220 eine ECC-Steuerschaltung enthalten, die die Daten für jede der mit dieser ECC-Region 220 verbundenen Bänke korrigiert, je nachdem, welche der Bänke aktiv ist. In einigen Ausführungsformen kann die ECC-Region 220 erweitert sein (z.B. in y-Richtung) und eine oder mehrere ECC-Steuerschaltungen enthalten, die beide Bereich (z.B. 240a und 240b) einer Bank verwalten können.
  • 3 ist ein Blockdiagramm des Betriebs einer Speichervorrichtung gemäß einigen Ausführungsformen der vorliegenden Erfindung. Die Speichervorrichtung 300 ist eine vereinfachte Ansicht, die zeigt, wie die Kopplung nicht benachbarter Speicherzellen mit einer ECC-Steuerschaltung verwendet werden kann, um es der Vorrichtung 300 zu ermöglichen, Fehler in benachbarten Speicherzellen zu lokalisieren und zu korrigieren. Die Speichervorrichtung 300 kann in einigen Ausführungsformen den Betrieb einer Speichervorrichtung darstellen, wie die Speichervorrichtungen 100 aus 1 und/oder 200 aus 2.
  • Die Vorrichtung 300 umfasst ein Speicher-Array 318, das eine Anzahl von Speicherzellen umfasst, die entlang einer Wortleitung angeordnet sind. Zur Verdeutlichung zeigt das Beispiel in 3 eine Zeile, die nur acht Speicherzellen umfasst, die acht Datenbits bereitstellen, die mit A-H gekennzeichnet sind. Benachbarte Bits E und F wurden eingekreist, um anzuzeigen, dass diese Bits Fehler enthalten (z.B. stimmen die Daten der Bits E und F nicht mit dem Zustand der Daten überein, die in diese Speicherzellen geschrieben wurden). Die benachbarten Bits können zum Beispiel aufgrund eines Herstellungsfehlers oder eines Kurzschlusses, der sich über beide Speicherzellen erstreckt, fehlerhaft sein. Die Zeile kann auch Paritätsbits (nicht dargestellt) enthalten, die zusammen mit den Bits A-H ausgelesen werden. Obwohl das Beispiel in 3 nur 8 Datenbits zeigt, können in anderen Ausführungsbeispielen auch mehr oder weniger Bits verwendet werden. Zum Beispiel können in einigen Ausführungsformen 128 oder 256 Datenbits gleichzeitig aus dem Speicher-Array 318 zusammen mit 8 oder 16 Paritätsbits ausgelesen werden.
  • In der in 3 gezeigten beispielhaften Leseoperation werden benachbarte Bits, die aus einer Zeile ausgelesen werden, verschiedenen ECC-Blöcken 330 und 331 zugeführt, von denen jeder eine ECC-Steuerschaltung sein kann (z.B. ECC-Steuerschaltung 120 aus 1) oder eine Unterkomponente einer einzelnen ECC-Steuerschaltung sein kann. Ungerade Bits (z.B. die Bits A, C, E und G) können dem ersten ECC-Block 330 zusammen mit den Paritätsbits (nicht dargestellt), die mit den ungeraden Bits in Beziehung stehen, zugeführt werden. Geradzahlige Bits (z.B. Bits B, D, F und H) können dem zweiten ECC-Block 331 zusammen mit den Paritätsbits (nicht gezeigt), die mit den geraden Bits in Beziehung stehen, zugeführt werden. Dementsprechend können der erste und der zweite ECC-Block 330 und 331 jeweils vier Bits, einschließlich eines Fehlerbits, empfangen. Auf diese Weise werden die beiden benachbarten Fehlerbits (z.B. E und F) aufgeteilt, so dass jeder der beiden ECC-Blöcke 330 und 331 nur ein Fehlerbit empfängt. Der erste ECC-Block 330 kann sein(e) empfangene(s) Paritätsbit(s) verwenden, um E als Fehler zu identifizieren und es zum korrigierten Bit E' zu korrigieren, während der zweite ECC-Block 331 sein(e) empfangene(s) Paritätsbit(s) verwenden kann, um F als Fehlerbit zu identifizieren und es zum korrigierten Bit F' zu korrigieren.
  • Die gelesenen Bits, einschließlich der beiden korrigierten Bits, werden dann der I/O-Schaltung 322 zugeführt, die die Bits wieder zu einer Sequenz zusammensetzt, die die korrigierten Bits enthält (z. B. ABCDE'F'GH) und sie den DQ-Pads zuführt. Auf diese Weise wird, wenn die Bitfolge im Speicher-Array 318, die zwei benachbarte Fehlerbits enthält, gelesen wird, eine Bitfolge mit beiden korrigierten Fehlern an die DQ-Pads geliefert.
  • Eine beispielhafte Schreiboperation kann allgemein in umgekehrter Reihenfolge erfolgen. Zum Beispiel können die Bits ABCDEFH an einem DQ-Anschluss an die I/O-Schaltung 322 geliefert werden. Die I/O-Schaltung 322 kann die Daten trennen und die Bits ACEG an den ersten ECC-Block 330 liefern, während die Bits BDFH an den zweiten ECC-Block 331 geliefert werden. Der erste ECC-Block 330 kann auf Basis der empfangenen Bits ACEG ein Paritätsbit erzeugen, und der zweite ECC-Block 331 kann auf Basis der empfangenen Bits BDFH ein zweites Paritätsbit erzeugen. Die acht Schreibbits und die zwei Paritätsbits können dann in das Speicher-Array 318 geschrieben werden.
  • In einigen Ausführungsformen können die Bits sequentiell aus dem Speicher-Array 318 ausgelesen (oder in dieses geschrieben) werden, anstatt parallel, wie dargestellt. Die verschiedenen Bits können als Teil verschiedener Zugriffsoperationen bereitgestellt werden (z.B. als Reaktion auf verschiedene Lesebefehle, die dem Speicher bereitgestellt werden). Zum Beispiel kann das Speicher-Array 318 zu einem ersten Zeitpunkt als Teil einer ersten Leseoperation die Bits ACEG (und ihr zugehöriges Paritätsbit) an den ersten ECC-Block 330 liefern. Der erste ECC-Block 330 kann die Lesedaten auf ACE'G korrigieren und die korrigierten Lesedaten an die E/A-Schaltung 322 liefern. Zu einem zweiten Zeitpunkt, als Teil einer zweiten Leseoperation, kann das Speicher-Array 318 die BDFH-Bits (und ihr zugehöriges Paritätsbit) an den ersten ECC-Block 330 liefern. Der erste ECC-Block 330 kann die Lesedaten auf BDF'H korrigieren und die korrigierten Lesedaten an die I/O-Schaltung 322 liefern.
  • 4 ist eine schematische Darstellung des Bereitstellens von Daten aus benachbarten Speicherzellen an verschiedene Fehlerkorrekturschaltungen gemäß einigen Ausführungsformen der vorliegenden Erfindung. 4 zeigt eine Speicherbank 440, die mit einer ersten ECC-Schaltung 445 und einer zweiten ECC-Schaltung 446 gekoppelt ist. Die Speicherbank 440 kann in einigen Ausführungsformen in dem Speicher-Array 118 aus 1 und/oder dem Speicher-Array 200 aus 2 enthalten sein. Die Fehlerkorrekturschaltungen 445 und 446 können in einigen Ausführungsformen in der ECC-Steuerschaltung 120 aus 1 enthalten sein. 4 zeigt eine Ausführungsform, bei der der Speicher in einem Modus (z.B. einem x16-Modus) arbeitet, bei dem zwei ECC-Schaltungen 445 und 446 parallel an einem ersten Satz von Daten aus nicht benachbarten Speicherzellen bzw. einem zweiten Satz von Daten aus nicht benachbarten Speicherzellen arbeiten.
  • Die Speicherbank 440 ist in einen ersten Bank-Bereich 442 und einen zweiten Bank-Bereich 443 unterteilt. Diese können in einigen Ausführungsformen die Bank-Bereiche 240a und 240b aus 2 darstellen. Ein Zeilen-Dekodierer 448 kann zwischen dem ersten und dem zweiten Bank-Bereich 442 und 443 angeordnet sein. Als Teil einer Zugriffsoperation kann der Zeilen-Dekodierer 448 eine Zeilenadresse empfangen und eine oder mehrere Zeilen auf Basis der Zeilenadresse aktivieren. Die aktivierte Zeile ist als schattierter Bereich der Speicherbank 440 dargestellt. Im Beispiel von 4 kann die aktivierte Zeile einen ersten Bereich der Wortleitung WL1 in dem ersten Bereich 442 und einen zweiten Bereich der Wortleitung WL1 in dem zweiten Bereich 443 der Speicherbank 440 umfassen.
  • Einschübe zeigen einen Bereich eines ersten Zeilenabschnitts 450 mit einer ersten Wortleitung WL1 und einen Bereich eines zweiten Zeilenabschnitts 460 mit einer zweiten Wortleitung WL2. Der erste Zeilenabschnitt 450 umfasst eine erste Wortleitung WL1 mit einer ersten Speicherzelle 456 und einer zweiten Speicherzelle 457, die der ersten Speicherzelle benachbart ist. Mit anderen Worten, es gibt keine andere Speicherzelle entlang der ersten Wortleitung WL1, die zwischen der ersten Speicherzelle 456 und der zweiten Speicherzelle 457 liegt.
  • Die erste Speicherzelle 456 ist über eine erste Bitleitung (z.B. ‚gerade DL‘) mit einem ersten Messverstärker 452 gekoppelt, der über eine lokale IO-Leitung LIOT/B mit einem ersten Transfer-Gate 454 gekoppelt ist, das wiederum mit einer ersten Haupt-I/O-Leitung MIOT/B (z.B. eine gerade MIOT/B-Leitung) gekoppelt ist. Die zweite Speicherzelle 457 ist über eine zweite Bitleitung mit einem zweiten Messverstärker 453 gekoppelt, der über eine zweite LIOT/B-Leitung mit einem zweiten Transfer-Gate 455 verbunden ist, das wiederum mit einer zweiten MIOT/B-Leitung (z.B. einer ungeraden MIOT/B-Leitung) verbunden ist. Die ungerade MIOT/B kann mit einer ungeraden ECC-Schaltung 445 gekoppelt sein, während die gerade MIOT/B mit einer geraden ECC-Schaltung 446 gekoppelt sein kann. Ein erster Teil der ersten Wortleitung WL1 kann sich über den ersten Zeilenabschnitt 450 im ersten Bereich 442 erstrecken, und ein zweiter Teil der ersten Wortleitung WL1 kann sich über den ersten Zeilenabschnitt 450 im zweiten Bereich 443 erstrecken.
  • Der zweite Zeilenabschnitt 460 kann allgemein ähnlich wie der erste Zeilenabschnitt 450 sein, und der Kürze halber werden die Merkmale des zweiten Zeilenabschnitts 460 nicht noch einmal im Detail wiederholt. Die erste Speicherzelle 456 des ersten Zeilenabschnitts 450 kann in einigen Ausführungsformen mit der gleichen Bitleitung wie die erste Speicherzelle 466 des zweiten Zeilenabschnitts 460 verbunden sein, und die zweite Speicherzelle 457 des ersten Zeilenabschnitts 450 kann mit der gleichen Bitleitung wie die zweite Speicherzelle 467 des zweiten Zeilenabschnitts 460 verbunden sein.
  • Die Bank 440 kann eine große Anzahl von Speicherzellen entlang jeder Wortleitung aufweisen, die als abwechselnd ungerade und gerade nummerierte Speicherzellen entlang der Wortleitung betrachtet werden können. Folglich kann die Bank 440 auch abwechselnd gerade und ungerade Bitleitungen, LIOT/B-Zeilen und MIOT/B-Zeilen aufweisen. Der Übersichtlichkeit halber sind in der Figur die geraden MIOT/B-Leitungen (die mit geraden LIOT/B-Leitungen, geraden DLs und geraden Speicherzellen verbunden sind) als durchgezogene Linien dargestellt, während die ungeraden MIOT/B-Leitungen (die mit ungeraden LIOT/B-Leitungen, ungeraden DLs und ungeraden Speicherzellen verbunden sind) als gepunktete Linien dargestellt sind.
  • In der beispielhaften Leseoperation der Speicherbank 440 kann die erste Wortleitung WL1 sowohl im ersten Bereich 442 als auch im zweiten Bereich 443 der Bank 440 aktiviert werden. Beispielsweise kann eine Zeilenadresse XADD, die mit der ersten Wortleitung WL1 verbunden ist, vom Zeilen-Dekodierer 448 als Teil der Leseoperation ausgegeben werden. Mit Blick auf den Betrieb der ersten und zweiten Speicherzellen 456 und 457 kann das Aktivieren der ersten Wortleitung WL1 dazu führen, dass Daten aus diesen Speicherzellen über ihre jeweiligen LIOT/B-Leitungen durch ihre jeweiligen Messverstärker 452 und 453 ausgelesen werden. Das erste Transfer-Gate 454 kann ein erstes Datenbit mit der geradzahligen MIOT/B-Leitung koppeln, die wiederum das erste Datenbit von der ersten Speicherzelle 456 an die geradzahlige ECC-Schaltung 446 weiterleiten kann. Das zweite Transfer-Gate 457 kann ein zweites Datenbit mit der ungeraden MIOT/B koppeln, die wiederum das zweite Datenbit von der zweiten Speicherzelle 457 an die ungerade ECC-Schaltung 445 liefern kann. Auf diese Weise werden die Daten aus den benachbarten Speicherzellen 456 und 457 verschiedenen ECC-Schaltungen zugeführt.
  • Zum Beispiel kann die erste Wortleitung WL1 128 Datenbits und 8 Paritätsbits im ersten Bereich 442 und weitere 128 Datenbits und 8 Paritätsbits im zweiten Bereich 443 enthalten. Folglich werden bei einer Leseoperation 64 Datenbits und 4 Paritätsbits vom ersten Bereich 442 an die gerade ECC-Schaltung 446 und weitere 64 Datenbits und 4 Paritätsbits vom zweiten Bereich 443 an die gerade ECC-Schaltung 446 geliefert. Somit kann die gerade ECC-Schaltung 446 insgesamt 128 Datenbits und 8 Paritätsbits empfangen, die jedoch über beide Bereiche der Bank 440 verteilt sein können. In ähnlicher Weise kann die ungerade ECC-Schaltung 445 ebenfalls 128 Datenbits und 8 Paritätsbits empfangen, die über die beiden Bereiche 442 und 443 verteilt sind.
  • Auf diese Weise kann jede der ECC-Schaltungen 445 und 446 die gleiche Anzahl von Daten- und Paritätsbits empfangen, wie sie es tun würden, wenn sie mit einem einzigen Bereich (z.B. 442 oder 443) der Bank verbunden wären, aber die Bits, die von jeder der ECC-Schaltungen 445 und 446 empfangen werden, stammen von nicht benachbarten Speicherzellen. Folglich können bei einem Fehler in benachbarten Speicherzellen (z.B. speichern beide Speicherzellen 456 und 457 Fehlerbits) beide Bits identifiziert und korrigiert werden, da die erste Fehlerkorrekturschaltung 445 das von der ungeraden Speicherzelle 457 gelieferte Fehlerbit korrigieren kann und die zweite Fehlerkorrekturschaltung 446 das von der geraden Speicherzelle 456 gelieferte Fehlerbit korrigieren kann.
  • 5 ist eine schematische Darstellung des sequentiellen Bereitstellens von Daten aus benachbarten Speicherzellen an eine Fehlerkorrekturschaltung gemäß einigen Ausführungsformen der vorliegenden Erfindung. Die Speicherbank 540 und die ECC-Schaltungen 545 und 546 der 5 können allgemein der Speicherbank 440 und den ECC-Schaltungen 445 und 446 der 4 ähnlich sein. Der Kürze halber werden Komponenten und Vorgänge, die den in 4 beschriebenen ähnlich sind, in Bezug auf 5 nicht erneut beschrieben.
  • In der Ausführungsform aus 5 kann ein erster Satz von Informationen einer ECC-Schaltung 546 zu einem ersten Zeitpunkt als Teil einer ersten Zugriffsoperation bereitgestellt werden, und ein zweiter Satz von Informationen kann der ECC-Schaltung 546 zu einem zweiten Zeitpunkt als Teil einer zweiten Zugriffsoperation bereitgestellt werden. Der erste Satz von Informationen kann Datenbits und auf diesen Datenbits basierende Paritätsbits enthalten. Der zweite Satz von Informationen kann Datenbits und Paritätsbits enthalten. Der erste Satz von Informationen kann aus Speicherzellen stammen, die nicht nebeneinander liegen, und der zweite Satz von Informationen kann aus Speicherzellen stammen, die nicht nebeneinander liegen. Beispielsweise kann der erste Satz von Informationen von ungeraden MIOT/B-Leitungen (z.B. ungeraden Speicherzellen wie 557) stammen, und der zweite Satz von Informationen kann von geraden MIOT/B-Leitungen (z.B. geraden Speicherzellen wie 556) stammen. Multiplexer-Schaltungen 549 können selektiv die geraden oder ungeraden MIOT/B-Leitungen mit der ECC-Schaltung 546 koppeln. Die Multiplexer-Schaltungen 549 können auf der Grundlage des Status der Zeilenadressen, der zusammen mit den ersten und zweiten Zugriffsoperationen bereitgestellt wird, umschalten.
  • Die Speicherbank 540 kann die Zeilenadresse (z.B. XADD) verwenden, um zu bestimmen, welche Bitleitungen aktiviert sind und in welchem Status sich die Multiplexer-Schaltungen 549 befinden. Zum Beispiel kann die Speicherbank 540 ein höchstwertiges Bit der Zeilenadresse XADD verwenden, um zu bestimmen, ob die geraden oder ungeraden Bitleitungen aktiviert sind. Das höchstwertige Bit der Zeilenadresse XADD kann auch steuern, ob die Multiplexer die geraden oder ungeraden Bitleitungen mit der ECC-Schaltung 546 koppeln. In einigen Ausführungsformen kann der Zeilen-Dekodierer 548 eine Zeilenadresse mit einem ersten Wert des höchstwertigen Bits als Teil der ersten Zugriffsoperation bereitstellen, um die Multiplexer 549 in einen ersten Status zu versetzen, so dass Informationen aus der ersten Gruppe von Speicherzellen ausgelesen werden können (z.B. die Speicherzellen entlang der ungeraden MIOT/B-Leitungen), und kann die Zeilenadresse mit einem zweiten Wert des höchstwertigen Bits als Teil der zweiten Zugriffsoperation versehen, um die Multiplexer 549 in einen zweiten Status zu versetzen, so dass Informationen aus der zweiten Gruppe von Speicherzellen (z.B. den Speicherzellen entlang der geraden MIOT/B-Leitungen) ausgelesen werden können. Da die erste und die zweite Zugriffsoperation zeitlich voneinander getrennt sein können, kann die ECC-Schaltung 546 die Informationen aus der ersten und der zweiten Gruppe von Speicherzellen nicht gleichzeitig empfangen.
  • In der beispielhaften Leseoperation von 5 kann der Speicher in einem anderen Modus arbeiten als in der in 4 beschriebenen Leseoperation. Beispielsweise kann der Speicher in 4 in einem x16-Modus und in 5 in einem x8-Modus betrieben werden. In einigen Ausführungsformen kann eine einzelne Speichervorrichtung ausgestaltet sein, um in der in 4 beschriebenen Weise oder in der in 5 beschriebenen Weise arbeiten zu können. Beispielsweise kann der Speicher eine ECC-Schaltung 545 enthalten, die in einem x16-Modus (z.B. ähnlich wie in 4) für die ungeraden Bitleitungen verwendet wird, während die Multiplexer 549 die geraden Bitleitungen mit der ECC-Schaltung 546 verbinden. Im x8-Modus können die Multiplexer 549 verwendet werden, um umzuschalten, ob die ECC-Schaltung 546 mit den geraden oder ungeraden Bitleitungen verbunden ist. In einigen Ausführungsformen kann der Speicher nur in einem Modus arbeiten, in dem nicht benachbarte Informationsgruppen der ECC-Schaltung 546 sequentiell zugeführt werden (z.B. nur im x8-Modus), und die ECC-Schaltung 545 kann weggelassen werden.
  • In einigen Ausführungsformen können der erste und der zweite Satz von Informationen die Trennung zwischen dem ersten Bereich 542 und dem zweiten Bereich 543 ausnutzen. Da der Zeilen-Dekodierer 548 zwischen dem ersten Bereich und dem zweiten Bereich angeordnet ist, kann eine letzte Bitleitung des ersten Bereichs 542 nicht als benachbart zu einer ersten Bitleitung des zweiten Bereichs 543 angesehen werden. Folglich kann in einigen Ausführungsformen der erste Datensatz, der zu einem ersten Zeitpunkt gelesen wird, Daten enthalten, die entlang gerader Bitleitungen des ersten Bereichs 542 und ungerader Bitleitungen des zweiten Bereichs 543 gelesen werden, während der zweite Datensatz, der zu einem zweiten Zeitpunkt gelesen wird, Daten enthalten kann, die entlang ungerader Bitleitungen des ersten Bereichs 542 und gerader Bitleitungen des zweiten Bereichs 543 gelesen werden. Obwohl im ersten Bereich 542 und im zweiten Bereich 543 unterschiedliche Sätze von Bitleitungen verwendet werden, werden keine zwei benachbarten Speicherzellen an die ECC-Schaltung 546 ausgelesen.
  • 6 ist eine schematische Darstellung des Bereitstellens von Daten aus nicht benachbarten Speicherzellen verschiedener Zeilen an eine Fehlerkorrekturschaltung gemäß einigen Ausführungsformen der vorliegenden Erfindung. Die Speicherbank 640 kann allgemein ähnlich sein wie die Speicherbänke 440 aus 4 und 540 aus 5 sein. Der Kürze halber werden Komponenten und Operationen der Speicherbank 640, die den zuvor in Bezug auf die 4 und/oder 5 beschriebenen Komponenten und Operationen ähnlich sind, nicht noch einmal wiederholt.
  • In den Ausführungsformen der 4 und 5 können die ECC-Schaltungen (z.B. 445, 446, 545 und 546) mit beiden Bereichen (z.B. 442/443 und 542/543) der Speicherbank verbunden sein. Dadurch kann sich die Fläche des Layouts vergrößern, die die ECC-Schaltungen abdecken müssen. 6 zeigt eine erste ECC-Schaltung 646, die mit einem ersten Bereich 642 der Bank 640 verbunden ist, und eine zweite ECC-Schaltung 645, die mit einem zweiten Bereich 643 der Bank 640 verbunden ist. Diese ECC-Schaltungen 646 und 645 können eine geringere Fläche auf der Speichervorrichtung haben als die ECC-Schaltung(en) der 4 und 5.
  • Die Ausführungsform von 6 zeigt einen beispielhafte Leseoperation, bei der mehrere Zeilenabschnitte in jedem Bereich der Bank 640 aktiviert werden. Zum Beispiel kann der Zeilen-Dekodierer 648 sowohl die erste Wortleitung WL1 im ersten Zeilenabschnitt 650 als auch die zweite Wortleitung WL2 im zweiten Zeilenabschnitt 660 aktivieren. Die geradzahligen Bitleitungen im ersten Zeilenabschnitt 650 oder im zweiten Zeilenabschnitt 660 können aktiviert werden, und die ungeradzahligen Bitleitungen in dem anderen Zeilenabschnitt können aktiviert werden. Beispielsweise können die geradzahligen Zeilen im ersten Zeilenabschnitt 650 und die ungeradzahligen Zeilen im zweiten Zeilenabschnitt 660 aktiviert werden. Die Zeilenadresse (z.B. ein höchstwertiges Bit der Zeilenadresse) kann verwendet werden, um zu bestimmen, ob die geraden oder ungeraden Bitleitungen in jedem der ersten und zweiten Zeilenabschnitte 650 und 660 aktiviert sind.
  • Folglich kann die erste ECC-Schaltung 646 Daten (und Paritätsbits) entlang gerader Bitleitungen vom ersten Zeilenabschnitt 650 des ersten Bereichs 642 der Bank 640 empfangen und kann Daten (und Paritätsbits) entlang ungerader Bitleitungen vom zweiten Zeilenabschnitt 660 des ersten Bereichs 642 der Bank 640 empfangen. In ähnlicher Weise kann die zweite ECC-Schaltung 645 Daten (und Paritätsbits) entlang geradzahliger Bitleitungen von dem ersten Zeilenabschnitt 650 des zweiten Bereichs 643 der Bank 640 empfangen und Daten (und Paritätsbits) entlang ungeradzahliger Bitleitungen von dem zweiten Zeilenabschnitt 660 des zweiten Bereichs 643 der Bank 640 empfangen. In einigen Ausführungsformen können die aktivierten Wortleitungen (z.B. WL1 und WL2) auch nicht benachbart zueinander sein. Zum Beispiel kann es mindestens eine nicht aktivierte Wortzeile zwischen den beiden aktivierten Wortzeilen geben.
  • In einem Ausführungsbeispiel kann die Bank 640 Teil einer Speichervorrichtung sein, die in einem x16-Operationsmodus arbeitet. Folglich kann die erste ECC-Schaltung 646 als Teil einer Leseoperation 128 korrigierte Bits aus dem ersten Bereich 642 bereitstellen, und die zweite ECC-Schaltung 645 kann 128 korrigierte Bits aus dem zweiten Bereich 643 bereitstellen. Die erste ECC-Schaltung 646 kann 64 Datenbits und 4 Paritätsbits aus dem ersten Zeilenabschnitt 650 des ersten Bereichs 642 und weitere 64 Datenbits und 4 Paritätsbits aus dem zweiten Zeilenabschnitt 660 des ersten Bereichs 642 empfangen. Auf diese Weise kann die erste ECC-Schaltung 646 insgesamt 128 Datenbits und 8 Paritätsbits von Speicherzellen empfangen, die nicht nebeneinander liegen. Die erste ECC-Schaltung 646 kann die 128 Datenbits auf Basis der 8 Paritätsbits korrigieren und die 128 korrigierten Bits bereitstellen. In ähnlicher Weise kann die zweite ECC-Schaltung 645 128 Datenbits und 8 Paritätsbits von nicht benachbarten Speicherzellen in den beiden Zeilenabschnitten des zweiten Bereichs 643 empfangen und 128 korrigierte Bits bereitstellen.
  • Die Speichervorrichtung kann abwechselnd auf gerade und ungerade Bitleitungen in den ersten und zweiten aktivierten Wortzeilen zugreifen. Wenn beispielsweise im Rahmen einer ersten Leseoperation Informationen aus geraden Speicherzellen der ersten Wortleitung WL1 und aus ungeraden Speicherzellen der zweiten Wortleitung WL2 gelesen werden, können in einer zweiten Leseoperation Informationen aus ungeraden Speicherzellen der ersten Wortleitung WL1 und aus geraden Speicherzellen der zweiten Wortleitung WL2 gelesen werden. Auf diese Weise können alle Speicherzellen entlang einer gegebenen Wortleitung verwendet werden, aber benachbarte Speicherzellen können nicht gleichzeitig in eine einzige ECC-Schaltung ausgelesen werden.
  • 7 ist eine schematische Darstellung des Bereitstellens von Daten aus nicht benachbarten Speicherzellen verschiedener Zeilen in einem einzigen Bankabschnitt für eine Fehlerkorrekturschaltung gemäß einigen Ausführungsformen der vorliegenden Erfindung. Die Speicherbank 740 der 7 kann allgemein den Speicherbänken 440 aus 4, 540 aus 5 und/oder 640 aus 6 ähnlich sein. Der Kürze halber werden Merkmale und Komponenten, die zuvor in Bezug auf die 4-6 beschrieben wurden, in 7 nicht wiederholt.
  • Die ECC-Schaltungen 746 und 745 können den ECC-Schaltungen 646 bzw. 645 aus 6 ähnlich sein. Die erste ECC-Schaltung 746 kann mit einem ersten Bereich 742 der Bank 740 verbunden sein, während die zweite ECC-Schaltung 7454 mit einem zweiten Bereich 743 der Bank 740 verbunden sein kann. In der Ausführungsform von 7 kann jeder der beiden Bereiche 742 und 743 separat aktiviert werden. Beispielsweise kann der erste Bereich 742 zu einem ersten Zeitpunkt als Teil einer ersten Zugriffsoperation aktiviert werden, und die erste Wortleitung WL1 im ersten Zeilenabschnitt 750 und die zweite Wortleitung WL2 im zweiten Zeilenabschnitt 760 können ebenfalls beide aktiviert werden. Datenbits (und Paritätsbits) können entlang geradzahliger Leitungen im ersten Abschnitt 750 und Datenbits (und Paritätsbits) entlang ungeradzahliger Leitungen im zweiten Abschnitt 760 bereitgestellt werden. Zu einem zweiten Zeitpunkt (z.B. als Teil einer nachfolgenden Zugriffsoperation) kann der zweite Bereich 743 aktiviert werden, und Bits können auf ähnliche Weise an die zweite ECC-Schaltung 745 geliefert werden.
  • Zum Beispiel kann die Speicherbank 740 in einem x8-Modus betrieben werden. Als Teil einer Leseoperation können die erste und zweite Wortleitung WL1 und WL2 im ersten Bereich 742 der Bank 740 aktiviert werden. Gerade Speicherzellen (z.B. 64 Datenbits und 4 Paritätsbits) können aus der ersten Wortleitung WL1 ausgelesen werde, und ungerade Speicherzellen (z.B. 64 Datenbits und 4 Paritätsbits) können aus der zweiten Wortleitung WL2 ausgelesen werden. Folglich kann die ECC-Schaltung 746 128 Datenbits und 8 Paritätsbits empfangen. Die ECC-Schaltung 746 kann die 128 Datenbits auf Basis der 8 Paritätsbits korrigieren und 128 korrigierte Bits an die I/O-Schaltung liefern.
  • 8 ist eine schematische Darstellung von Schaltern, die zur Steuerung der Speicherzellen verwendet werden, die Daten an eine oder mehrere Fehlerkorrekturschaltungen gemäß den Ausführungsformen der vorliegenden Erfindung liefern. 8 zeigt eine Anzahl von Speicherbänken 840, die gemeinsam mit einer ersten ECC-Schaltung 846 und einer zweiten ECC-Schaltung 845 verbunden sind. Die Speicherbänke 840 und die ECC-Schaltungen 845 und 846 aus 8 können in einigen Ausführungsformen den Speicherbänken 440-740 der 4-7 und den ECC-Schaltungen 445-746 der 4-7 ähnlich sein. Der Kürze halber werden Merkmale und Komponenten von 8, die den in den 4-7 beschriebenen ähnlich sind, nicht noch einmal wiederholt.
  • Jede der ECC-Schaltungen 846 und 845 kann einer anderen Gruppe von DQ-Pads zugeordnet sein. Beispielsweise kann die erste ECC-Schaltung 846 einer „oberen“ Gruppe von DQ-Pads zugeordnet sein, während die zweite ECC-Schaltung 845 einer „unteren“ Gruppe von DQ-Pads zugeordnet sein kann. Beispielsweise kann die erste ECC-Schaltung 846 mit acht DQ-Pads (z.B. DQ0 bis DQ7) und die zweite ECC-Schaltung 845 mit einer anderen Gruppe von acht DQ-Pads (z.B. DQ8 bis DQ15) verbunden sein. Die Bänke 840 sind über eine Reihe von Schaltern 849 mit der ersten ECC-Schaltung 846 und der zweiten ECC-Schaltung 845 verbunden. Die Schalter 849 können als Multiplexer fungieren und teilweise verwendet werden, um zu bestimmen, an welche der ECC-Schaltungen 846 und 845 gerade und ungerade Bitleitungen der Speicherbänke 840 gekoppelt sind (falls vorhanden). Dies kann zum Teil verwendet werden, um ECC-Schaltungen in verschiedenen Operationsmodi zu verwalten.
  • Beispielsweise können in einem x16-Operationsmodus sowohl die oberen als auch die unteren DQ-Pads (z.B. alle sechzehn DQ-Pads DQ0 bis DQ15) von der Speichervorrichtung verwendet werden. Dementsprechend können in einem x16-Operationsmodus alle der Schalter 849 geradzahlige Bitleitungen mit der ersten ECC-Schaltung 846 und ungeradzahlige Bitleitungen mit der zweiten ECC-Schaltung 845 koppeln, wie in dem Einschub 870a gezeigt. Auf diese Weise können, wenn eine Bank (z.B. Bank 0) aktiviert ist und eine Zeile in dieser Bank aktiviert ist, 128 Datenbits und 8 Paritätsbits entlang der geradzahligen Bitleitungen an die erste ECC-Schaltung 846 ausgelesen werden, die wiederum 128 korrigierte Bits an die oberen DQ-Pads liefern kann, und weitere 128 Datenbits und 8 Paritätsbits können entlang der ungeradzahligen Bitleitungen an die zweite ECC-Schaltung 845 ausgelesen werden, die wiederum 128 korrigierte Bits an die unteren DQ-Pads liefern kann. Somit kann der x16-Operationsmodus, der durch den Einschub 870a dargestellt wird, allgemein analog zu dem in 4 beschriebenen Betrieb sein.
  • In einem beispielhaften x8-Operationmodus können entweder die oberen oder die unteren DQ-Pads verwendet werden. Der Einschub 870b stellt eine Konfiguration für die Schalter 849 für einen unteren x8-Modus dar, bei dem sowohl die geraden als auch die ungeraden Bitleitungen in einer Bank 840 mit der zweiten ECC-Schaltung 845 gekoppelt sein können. Der Einschub 870c zeigt eine Konfiguration der Schalter 849 für einen oberen x8-Modus, bei dem sowohl die geraden als auch die ungeraden Bitleitungen mit der ersten ECC-Schaltung 846 gekoppelt sein können. In einigen Ausführungsformen können die Schalter 849 analog zu den Multiplexern 549 von 5 arbeiten und entweder die gerade oder die ungerade Bitleitung mit der ECC-Schaltung verbinden. Beispielsweise kann die erste ECC-Schaltung 846 in einem oberen x8-Modus 64 Datenbits und 4 Paritätsbits von geraden Bitleitungen einer aktivierten Bank als Teil einer ersten Zugriffsoperation empfangen und dann 64 Datenbits und 4 Paritätsbits von ungeraden Bitleitungen der aktivierten Bank als Teil einer zweiten Zugriffsoperation empfangen.
  • In einigen Ausführungsformen können verschiedene Sätze von Bitleitungen ausgelesen werden, solange jeder Satz keine Bitleitungen enthält, die mit Speicherzellen gekoppelt sind, die direkt nebeneinander liegen. Beispielsweise können in einigen Ausführungsformen in einem Beispiel für einen unteren x8-Modus alle mit einer bestimmten Bank verbundenen Schalter 849 nur gerade (oder nur ungerade) Bitleitungen in einer Bank mit der ECC-Schaltung 845 verbinden. In einigen Ausführungsformen können die Schalter 849 verschiedene Gruppen von Bitleitungen in verschiedenen Teilen der Bank verwenden, solange diese Teile voneinander getrennt sind (z.B. durch einen Zeilen-Dekodierer). So können beispielsweise Schalter 849, die mit einem ersten Bereich der Bank verbunden sind, gerade Bitleitungen mit der ECC-Schaltung 845 verbinden, während Schalter 849, die mit einem zweiten Bereich der Bank verbunden sind, ungerade Bitleitungen mit der ECC-Schaltung 845 verbinden können.
  • 9 ist eine schematische Darstellung einer Fehlerkorrektur-Code-Steuerschaltung (ECC-Steuerschaltung) gemäß einigen Ausführungsformen der vorliegenden Erfindung. Die ECC-Steuerschaltung 900 aus 9 kann in einigen Ausführungsformen in einer oder mehreren der ECC-Schaltungen der 1-8 enthalten sein (z.B. 120 von 1, 220 von 2, 330/331 von 3, 445/446 von 4, usw.). Die ECC-Steuerschaltung 900 kann Schreibdatenbits WD empfangen und geschriebene Paritätsbits WP erzeugen. Diese können dem Speicher-Array als Datenbits D und Paritätsbits P zur Verfügung gestellt werden. Die ECC-Steuerschaltung 900 kann Daten D vom Speicher-Array als Lesedaten RD und Paritätsbits P als Leseparitätsbits PR empfangen und kann korrigierte Datenbits CRD basierend auf den Bits RD und PR erzeugen.
  • Während einer beispielhaften Leseoperation wird der Leseverstärker 901 als Reaktion auf das Zeitsignal RT1 aktiviert, um die Leseparitätsbits PR und die Lesedaten RD zu verstärken. Die verstärkten Bits PR und RD werden einer Syndrom-Generatorschaltung 920 zugeführt, die in Reaktion auf ein Zeitsignal RT2 aktiviert wird, das zu einem Zeitpunkt aktiviert wird, nachdem RT1 aktiv ist. Der Syndrom-Generator 920 liefert Syndrombits S auf Basis der gelesenen Bits RD und PR. In einigen Ausführungsformen kann die Anzahl der Syndrombits S mit der Anzahl der Paritätsbits PR übereinstimmen. Die Syndrombits S werden an eine Fehlerlokalisierungsschaltung 930 weitergeleitet.
  • Die Fehlerlokalisierungsschaltung 930 liefert einen ersten Satz von Fehlerbestimmungssignalen EBST und einen zweiten Satz von Fehlerbestimmungsbits EDQ, die zum Teil auf den Syndrombits S basieren. Die Fehlerlokalisierungsschaltung 930 kann in Reaktion auf ein Zeitsteuersignal RT3 aktiviert werden, das nach dem Signal RT2 aktiviert werden kann. Wie bereits erörtert, können Daten, die an den DQ-Anschlüssen bereitgestellt/empfangen werden, in Bursts an einer Reihe verschiedener DQ-Anschlüsse organisiert werden (z.B. ein Burst von 8 Bits an jedem von 16 verschiedenen DQ-Anschlüssen für insgesamt 128 Bits). Der erste Satz von Fehlerbestimmungssignalen EBST kann die Position eines Fehlerbits innerhalb eines Bursts anzeigen. In einigen Ausführungsformen kann es ein Bit für jedes der Bits im Burst geben, und die Signale EBST können gemeinsam für die DQ-Anschlüsse bereitgestellt werden. Der zweite Satz von Fehlerbestimmungssignalen EDQ kann anzeigen, welchem der DQ-Anschlüsse das Fehlerbit zugeführt wird. In einigen Ausführungsformen kann es ein Bit für jeden DQ-Anschluss geben, und die Signale EDQ können gemeinsam mit den Burst-Bits bereitgestellt werden.
  • Die Fehlerbestimmungssignale EBST und EDQ können an eine Fehlerlokalisierungsschaltung 940 geliefert werden. Die Fehlerlokalisierungsschaltung 940 kann die Signale EBST und EDQ dekodieren, um die Position eines Fehlerbits in den gelesenen Daten RD zu identifizieren. Die Position des Fehlerbits kann durch ein Fehlerlokalisierungssignal EL angegeben werden. In einigen Ausführungsformen kann es eine Anzahl von Bits des Fehlerlokalisierungssignals EL geben, die auf der Anzahl von Bits der Lesedaten RD basiert, wobei jedes Bit des Fehlerlokalisierungssignals EL mit einem Bit der Lesedaten RD verbunden ist.
  • Das Fehlerlokalisierungssignal EL wird der Fehlerkorrekturschaltung 950 zugeführt. Die Fehlerkorrekturschaltung 950 empfängt auch die gelesenen Daten RD und korrigiert ein oder mehrere Fehlerbits in den RD auf Basis des Fehlerlokalisierungssignals EL. Wenn beispielsweise ein n-tes Bit des Fehlerlokalisierungssignals EL auf einem hohen logischen Pegel liegt, kann die Fehlerkorrekturschaltung 950 einen Zustand des n-ten Lesebits RD ändern. Die Fehlerkorrekturschaltung 950 kann die korrigierten Lesedaten CRD liefern. Die Fehlerkorrekturschaltung 950 kann in Reaktion auf das Zeitsignal RT4 aktiviert werden, das nach dem Signal RT3 aktiviert werden kann. Die korrigierten Lesedaten CRD können den DQ-Pads zugeführt und aus der Vorrichtung ausgelesen werden.
  • Bei einer beispielhaften Schreiboperation in die Speichervorrichtung kann die ECC-Steuerschaltung 900 Schreibdaten WD und ein Datenmaskensignal DM empfangen. Ein erster Multiplexer 903 kann die Schreibdaten WD und die korrigierten Lesedaten CRD basierend auf dem Datenmaskensignal DM synthetisieren. Der erste Multiplexer 903 kann die Daten D liefern, die in das Speicher-Array geschrieben werden. In einigen Ausführungsformen können die Datenmaskensignale DM den verschiedenen Burst-Bits zugeordnet sein, die an den Datenanschlüssen empfangen werden. Wenn eines (oder mehrere) der Datenmaskenbits DM aktiv ist, können die diesem Datenmaskenbit zugeordneten Schreibdaten WD durch die korrigierten Lesedaten CRD in den Daten D ersetzt werden.
  • Ein zweiter Multiplexer 904 kann die Schreibdaten WD und die Lesedaten RD basierend auf dem Datenmaskensignal synthetisieren. Der zweite Multiplexer 904 kann Paritätsschreibdaten PWD bereitstellen. Die Paritätsschreibdaten PWD können einer Kodiererschaltung 910 zugeführt werden, die die Paritätsdaten PWD in die Schreibparitäten WP' kodieren kann. Die Schreibparitäten WP' werden einer Wandlerschaltung 905 zugeführt, die die Schreibparitäten WP erzeugt, die als Paritätsbits P in das Speicher-Array geschrieben werden.
  • Die Wandlerschaltung 905 enthält ein XOR-Logik-Gatter 905a und einen dritten Multiplexer 905b. Das XOR-Logik-Gatter 905a hat Eingangsanschlüsse, die mit den Syndrombits S und den Schreibparitätsbits WP' gekoppelt sind. Das XOR-Logik-Gatter 905a liefert eine Ausgabe, die auf einem hohen logischen Pegel liegt, wenn sich das Syndrombit S von dem zugehörigen Schreibparitätsbit WP' unterscheidet. Der dritte Multiplexer 905b stellt entweder die Ausgabe des XOR-Logik-Gatters 905a oder das Schreibparitätsbit WP' als Schreibparität WP bereit. Der Multiplexer 905b wählt die Quelle der Schreibparitäts-WP-Bits auf Basis eines Wandlersignals EDM. Wenn das Wandlersignal EDM aktiv ist, ist die Schreibparität WP die Ausgabe des XOR-Gatters 905a. Wenn das Umwandlungssignal EDM inaktiv ist, wird das Signal WP' als das Signal WP bereitgestellt.
  • Eine Maskenfehler-Detektorschaltung 960 liefert das Signal EDM auf Basis der Syndrombits S und der Datenmaske DM. Die Maskenfehler-Detektorschaltung 960 kann bestimmen, ob Burstdaten, zu denen ein Fehlerbit gehört, und Burstdaten, die durch das Datenmaskensignal DM maskiert sind, übereinstimmen oder nicht. Wenn sie übereinstimmen, kann das Signal EDM aktiviert werden. Wenn sie nicht übereinstimmen, kann das Signal EDM inaktiv bleiben.
  • Es ist offensichtlich, dass jedes der hier beschriebenen Beispiele, Ausführungsformen oder Verfahren mit einem oder mehreren anderen Beispielen, Ausführungsformen und/oder Verfahren kombiniert oder auf separate Vorrichtungen oder Bereichen von Vorrichtungen gemäß den vorliegenden Systemen, Vorrichtungen und Verfahren aufgeteilt und/oder durchgeführt werden können.
  • Schließlich soll die obige Erörterung lediglich zur Veranschaulichung des vorliegenden Systems dienen und ist nicht als Einschränkung der beigefügten Ansprüche auf eine bestimmte Ausführungsform oder Gruppe von Ausführungsformen zu verstehen. Obwohl das vorliegende System besonders detailliert unter Bezugnahme auf beispielhafte Ausführungsformen beschrieben wurde, ist es offensichtlich, dass zahlreiche Modifikationen und alternative Ausführungsformen von Fachleuten entwickelt werden können, ohne vom breiteren und beabsichtigten Grundgedanken und Anwendungsbereich des vorliegenden Systems abzuweichen, wie es in den folgenden Ansprüchen dargelegt ist. Folglich sind die Beschreibung und die Zeichnungen in einer illustrativen Weise zu betrachten und sollen den Umfang der beigefügten Ansprüche nicht einschränken.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • US 16/748554 [0001]
    • US 62/955869 [0001]

Claims (20)

  1. Gerät, umfassend: eine Speicherbank mit einer Mehrzahl von Bitleitungen, die jeweils ausgestaltet sind, um eines von einer Mehrzahl von Informationsbits bereitstellen, die entlang einer aktivierten Wortleitung gespeichert sind; eine erste Fehlerkorrektur-Code-Schaltung (ECC-Schaltung), die ausgestaltet ist, um eine Teilmenge der Mehrzahl von Informationsbits zu empfangen, die mit ungeradzahligen Bitleitungen der Mehrzahl von Bitleitungen in Beziehung stehen; und eine zweite ECC-Schaltung, die ausgestaltet ist, um eine Teilmenge der Mehrzahl von Informationsbits zu empfangen, die mit geradzahligen Bitleitungen der Mehrzahl von Bitleitungen in Beziehung stehen.
  2. Gerät nach Anspruch 1, wobei die Mehrzahl von Informationsbits eine Mehrzahl von Datenbits und eine Mehrzahl von Paritätsbits umfasst.
  3. Gerät nach Anspruch 2, wobei die erste ECC-Schaltung ausgestaltet ist, um einen ersten Bereich der Mehrzahl von Datenbits und einen ersten Bereich der Mehrzahl von Paritätsbits zu empfangen, und wobei die zweite ECC-Schaltung ausgestaltet ist, um einen zweiten Bereich der Mehrzahl von Datenbits und einen zweiten Bereich der Mehrzahl von Paritätsbits zu empfangen.
  4. Gerät nach Anspruch 3, wobei die erste ECC-Schaltung ausgestaltet ist, um Fehler in dem ersten Bereich der Mehrzahl von Datenbits auf Basis des ersten Bereichs der Mehrzahl von Paritätsbits zu lokalisieren und zu korrigieren, und wobei die zweite ECC-Schaltung ausgestaltet ist, um Fehler in dem zweiten Bereich der Mehrzahl von Datenbits auf Basis des zweiten Bereichs der Mehrzahl von Paritätsbits zu lokalisieren und zu korrigieren.
  5. Gerät nach Anspruch 1, wobei die Speicherbank einen ersten Bereich und einen zweiten Bereich umfasst, und wobei die erste ECC-Schaltung und die zweite ECC-Schaltung jeweils mit Bitleitungen der Mehrzahl von Bitleitungen in dem ersten Bereich und dem zweiten Bereich gekoppelt sind.
  6. Gerät nach Anspruch 5, ferner umfassend einen Zeilen-Dekodierer, der zwischen dem ersten Bereich und dem zweiten Bereich der Speicherbank angeordnet ist.
  7. Gerät nach Anspruch 1, wobei die erste ECC-Schaltung ferner ausgestaltet ist, um eine Mehrzahl von Bits, einschließlich Datenbits und Paritätsbits, auf Basis der Datenbits zu den ungeradzahligen Bitleitungen der Mehrzahl von Bitleitungen als Teil einer Schreiboperation zu der Wortleitung liefert, und wobei die zweite ECC-Schaltung ferner ausgestaltet ist, um eine Mehrzahl von Bits, einschließlich Datenbits und Paritätsbits, auf Basis der Datenbits zu den geradzahligen Bitleitungen der Mehrzahl von Bitleitungen als Teil einer Schreiboperation zu der Wortleitung liefert.
  8. Gerät, umfassend: eine Wortleitung; eine erste Speicherzelle, die entlang der Wortleitung angeordnet ist; eine zweite Speicherzelle, die entlang der Wortleitung angeordnet ist, wobei die zweite Speicherzelle benachbart zur ersten Speicherzelle ist; eine erste Fehlerkorrektur-Code-Schaltung (ECC-Schaltung), die mit der ersten Speicherzelle gekoppelt ist; und eine zweite ECC-Schaltung, die mit der zweiten Speicherzelle gekoppelt ist.
  9. Gerät nach Anspruch 8, ferner umfassend: eine erste Bitleitung, die mit der ersten ECC-Schaltung gekoppelt ist, wobei die erste Speicherzelle an einem Schnittpunkt der Wortleitung und der ersten Bitleitung angeordnet ist; und eine zweite Bitleitung, die mit der zweiten ECC-Schaltung gekoppelt ist, wobei die zweite Speicherzelle an einem Schnittpunkt der Wortleitung und der zweiten Bitleitung angeordnet ist.
  10. Gerät nach Anspruch 8, ferner umfassend: eine erste Haupt-Eingabe/Ausgabe-Leitung, die die erste Speicherzelle mit der ersten ECC-Schaltung koppelt; und eine zweite Haupt-Eingabe/Ausgabe-Leitung, die die zweite Speicherzelle mit der zweiten ECC-Schaltung koppelt.
  11. Gerät nach Anspruch 8, wobei die erste Speicherzelle ein erstes Datenbit speichert und die zweite Speicherzelle ein zweites Datenbit speichert, und wobei die erste ECC-Schaltung ausgestaltet ist, um auf Basis von mindestens einem ersten Paritätsbit zu bestimmen, ob das erste Datenbit ein Fehler ist, und wobei die zweite ECC-Schaltung ausgestaltet ist, um auf Basis der von mindestens einem zweiten Paritätsbit zu bestimmen, ob das zweite Datenbit ein Fehlerbit ist.
  12. Gerät nach Anspruch 8, ferner umfassend eine dritte Speicherzelle, die entlang der Wortleitung angeordnet ist, wobei die dritte Speicherzelle benachbart zur zweiten Speicherzelle ist, aber nicht benachbart zur ersten Speicherzelle ist, und wobei die dritte Speicherzelle mit der ersten ECC-Schaltung gekoppelt ist.
  13. Gerät nach Anspruch 12, ferner umfassend eine vierte Speicherzelle, die entlang der Wortleitung angeordnet ist, wobei die vierte Speicherzelle benachbart zur dritte Speicherzelle ist, aber nicht benachbart zur zweiten Speicherzelle, und wobei die vierte Speicherzelle mit der zweiten ECC-Schaltung gekoppelt ist.
  14. Gerät nach Anspruch 8, wobei die erste ECC-Schaltung ausgestaltet ist, um ein erstes Datenbit an die erste Speicherzelle zu liefern und ein erstes Paritätsbit zu erzeugen, zumindest teilweise basierend auf dem ersten Datenbit, und wobei die zweite ECC-Schaltung ausgestaltet ist, um ein zweites Datenbit an die zweite Speicherzelle zu liefern und ein zweites Paritätsbit zu erzeugen, zumindest teilweise basierend auf dem zweiten Datenbit.
  15. Gerät, umfassend: eine Wortleitung; eine Mehrzahl von Speicherzellen, die entlang der Wortleitung angeordnet sind; eine erste Fehlerkorrektur-Code-Schaltung (ECC-Schaltung), die ausgestaltet ist, um Informationen in ungeradzahligen Speicherzellen der Mehrzahl von Speicherzellen zu verwalten; und eine zweite ECC-Schaltung, die ausgestaltet ist, um Informationen in geradzahligen Speicherzellen der Mehrzahl von Speicherzellen zu verwalten.
  16. Gerät nach Anspruch 15, wobei die Mehrzahl von Speicherzellen an dem Schnittpunkt der Wortleitung mit einer Mehrzahl von Bitleitungen angeordnet sind, und wobei jede der Mehrzahl von Bitleitungen mit einer zugehörigen Leitung einer Mehrzahl von Haupt-Eingabe/Ausgabe-Leitungen gekoppelt ist.
  17. Gerät nach Anspruch 16, wobei die erste ECC-Schaltung mit ungeradzahligen Leitungen der Mehrzahl von Haupt-Eingabe/Ausgabe-Leitungen gekoppelt ist, und wobei die zweite ECC-Schaltung mit geradzahligen Leitungen der Mehrzahl von Haupt-Eingabe/Ausgabe-Leitungen gekoppelt ist.
  18. Gerät nach Anspruch 15, wobei als Teil einer Leseoperation die erste ECC-Schaltung ausgestaltet ist, um Informationen von den ungeradzahligen Zellen der Mehrzahl von Speicherzellen zu empfangen und die empfangenen Informationen auf Basis von Paritätsbits zu korrigieren, die in den empfangenen Informationen enthalten sind, und wobei die zweite ECC-Schaltung ausgestaltet ist, um Informationen von den geradzahligen Zellen der Mehrzahl von Speicherzellen zu empfangen und die empfangenen Informationen auf Basis von Paritätsbits zu korrigieren, die in den empfangenen Informationen enthalten sind.
  19. Gerät nach Anspruch 15, wobei als Teil einer Schreiboperation die erste ECC-Schaltung ausgestaltet ist, um eine Mehrzahl von Datenbits und eine Mehrzahl von Paritätsbits basierend auf der Mehrzahl von Datenbits in die ungeradzahligen Speicherzellen der Mehrzahl von Speicherzellen zu schreiben, und die zweite ECC-Schaltung ausgestaltet ist, um eine Mehrzahl von Datenbits und eine Mehrzahl von Paritätsbits basierend auf der Mehrzahl von Datenbits in die geradzahligen Speicherzellen der Mehrzahl von Speicherzellen zu schreiben.
  20. Gerät nach Anspruch 15, ferner umfassend einen Zeilen-Dekodier, und wobei die Wortleitung einen ersten Bereich und einen zweiten Bereich umfasst, wobei der Zeilen-Dekodierer zwischen dem ersten Bereich und dem zweiten Bereich angeordnet ist, und wobei die erste ECC-Schaltung und die zweite ECC-Schaltung jeweils mit dem ersten Bereich und dem zweiten Bereich der Wortleitung gekoppelt sind.
DE112020006398.4T 2019-12-31 2020-12-21 Geräte, systeme und verfahren zur fehlerkorrektur Pending DE112020006398T5 (de)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US201962955869P 2019-12-31 2019-12-31
US62/955,869 2019-12-31
US16/748,554 US11263078B2 (en) 2019-12-31 2020-01-21 Apparatuses, systems, and methods for error correction
US16/748,595 2020-01-21
US16/748,554 2020-01-21
US16/748,595 US11169876B2 (en) 2019-12-31 2020-01-21 Apparatuses, systems, and methods for error correction
PCT/US2020/066474 WO2021138125A1 (en) 2019-12-31 2020-12-21 Apparatuses, systems, and methods for error correction

Publications (1)

Publication Number Publication Date
DE112020006398T5 true DE112020006398T5 (de) 2022-11-17

Family

ID=76546310

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112020006398.4T Pending DE112020006398T5 (de) 2019-12-31 2020-12-21 Geräte, systeme und verfahren zur fehlerkorrektur

Country Status (5)

Country Link
US (4) US11169876B2 (de)
KR (1) KR20220113740A (de)
CN (2) CN114930461A (de)
DE (1) DE112020006398T5 (de)
WO (2) WO2021138125A1 (de)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11169876B2 (en) * 2019-12-31 2021-11-09 Micron Technology, Inc. Apparatuses, systems, and methods for error correction
US11423953B2 (en) 2020-05-28 2022-08-23 Micron Technology, Inc. Command triggered power gating for a memory device
US20220084618A1 (en) * 2020-09-17 2022-03-17 Micron Technology, Inc. Systems and methods for using column redundancy for error bit detection and correction
US11681578B2 (en) * 2021-02-16 2023-06-20 Micron Technology, Inc. Apparatuses, systems, and methods for multi-pump error correction
US11733898B2 (en) * 2021-04-26 2023-08-22 Microsoft Technology Licensing, Llc Memory array for storing odd and even data bits of data words in alternate sub-banks to reduce multi-bit error rate and related methods
CN117280315A (zh) * 2021-05-27 2023-12-22 美光科技公司 存储体保护
US11587637B1 (en) * 2021-08-19 2023-02-21 Micron Technology, Inc. Apparatuses, systems, and methods for error correction of selected bit pairs
US12009041B2 (en) * 2022-03-25 2024-06-11 Arm Limited Apparatus and method for detecting errors in a memory device
KR20230151814A (ko) * 2022-04-26 2023-11-02 성균관대학교산학협력단 정렬된 오류를 정정하는 반도체 칩, 정렬된 오류를 정정하는 반도체 시스템

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6104657A (en) 1997-08-28 2000-08-15 Kabushiki Kaisha Toshiba Semiconductor integrated circuit device for changing DRAM row addresses according to operation mode
KR100287018B1 (ko) * 1998-08-07 2001-04-16 윤종용 에러 정정 회로를 구비한 반도체 메모리 장치
US6604222B1 (en) * 1999-04-30 2003-08-05 Rockwell Collins, Inc. Block code to efficiently correct adjacent data and/or check bit errors
JP3595495B2 (ja) * 2000-07-27 2004-12-02 Necマイクロシステム株式会社 半導体記憶装置
CA2447204C (en) 2002-11-29 2010-03-23 Memory Management Services Ltd. Error correction scheme for memory
JP2006127460A (ja) * 2004-06-09 2006-05-18 Renesas Technology Corp 半導体装置、半導体信号処理装置、およびクロスバースイッチ
FR2881565B1 (fr) 2005-02-03 2007-08-24 Atmel Corp Circuits de selection de ligne binaire pour memoires non volatiles
US7506226B2 (en) * 2006-05-23 2009-03-17 Micron Technology, Inc. System and method for more efficiently using error correction codes to facilitate memory device testing
JP5214422B2 (ja) 2008-02-15 2013-06-19 株式会社東芝 データ記憶システム
WO2010061760A1 (ja) * 2008-11-26 2010-06-03 シャープ株式会社 不揮発性半導体記憶装置及びその駆動方法
JP2010198209A (ja) * 2009-02-24 2010-09-09 Toshiba Corp 半導体記憶装置
US20130047056A1 (en) * 2009-05-05 2013-02-21 Lite-On It Corporation Flash memory device with rectifiable redundancy and method of controlling the same
KR20120093385A (ko) * 2009-12-16 2012-08-22 샌디스크 아이엘 엘티디 멀티레벨 셀들에 기록된 데이터를 위한 보조 패리티 비트
US9037928B2 (en) * 2012-01-01 2015-05-19 Mosys, Inc. Memory device with background built-in self-testing and background built-in self-repair
JP5550386B2 (ja) 2010-03-03 2014-07-16 株式会社東芝 不揮発性半導体記憶装置及びメモリシステム
US8218366B2 (en) 2010-04-18 2012-07-10 Sandisk Technologies Inc. Programming non-volatile storage including reducing impact from other memory cells
CN103140894B (zh) 2010-08-17 2017-08-22 技术研究及发展基金公司 在非易失性存储器(nvm)单元中减轻单元间耦合效应
US20120079349A1 (en) * 2010-09-24 2012-03-29 Arkady Bramnik Method and apparatus for multi-bit upset protection
US8516339B1 (en) * 2011-04-01 2013-08-20 Xilinx, Inc. Method of and circuit for correcting adjacent bit errors in a memory
US20130117636A1 (en) 2011-11-07 2013-05-09 Su-a Kim Semiconductor memory device and system having redundancy cells
US9098428B2 (en) 2012-12-11 2015-08-04 Sandisk Technologies Inc. Data recovery on cluster failures and ECC enhancements with code word interleaving
KR102168076B1 (ko) 2013-12-24 2020-10-20 삼성전자주식회사 저항체를 이용한 비휘발성 메모리 장치
US9442798B2 (en) * 2014-07-31 2016-09-13 Winbond Electronics Corporation NAND flash memory having an enhanced buffer read capability and method of operation thereof
JP2016126813A (ja) 2015-01-08 2016-07-11 マイクロン テクノロジー, インク. 半導体装置
US20190042358A1 (en) * 2018-02-06 2019-02-07 Intel Corporation Shared parity check for correcting memory errors
KR20200034420A (ko) * 2018-09-21 2020-03-31 삼성전자주식회사 복수의 에러 정정 기능을 갖는 메모리 장치 및 메모리 시스템과 그 동작 방법
US10846168B1 (en) * 2019-05-23 2020-11-24 Winbond Electronics Corp. Memory with error correction circuit
US11036581B2 (en) * 2019-08-08 2021-06-15 Apple Inc. Non-volatile memory control circuit with parallel error detection and correction
US11169876B2 (en) * 2019-12-31 2021-11-09 Micron Technology, Inc. Apparatuses, systems, and methods for error correction

Also Published As

Publication number Publication date
WO2021138702A1 (en) 2021-07-08
US20210200630A1 (en) 2021-07-01
CN115373893A (zh) 2022-11-22
KR20220113740A (ko) 2022-08-16
US11263078B2 (en) 2022-03-01
US20210200629A1 (en) 2021-07-01
US11645150B2 (en) 2023-05-09
US20220156148A1 (en) 2022-05-19
US20220066875A1 (en) 2022-03-03
WO2021138125A1 (en) 2021-07-08
US11169876B2 (en) 2021-11-09
CN114930461A (zh) 2022-08-19

Similar Documents

Publication Publication Date Title
DE112020006398T5 (de) Geräte, systeme und verfahren zur fehlerkorrektur
DE3855337T2 (de) Halbleiterspeichergerät mit verbessertem Redundanzschema
DE4241327C2 (de) Halbleiterspeichervorrichtung
DE69024851T2 (de) Halbleiterspeicheranordnung
DE69822368T2 (de) Halbleiterspeicherschaltung mit einem Selektor für mehrere Wortleitungen, und Prüfverfahren dafür
DE102020108262A1 (de) Halbleiterspeichervorrichtungen, Speichersysteme und Verfahren zum Steuern der Reparatur von Halbleiterspeichervorrichtungen
DE102008009880A1 (de) Leistungseinsparungen für Speicher mit Fehlerkorrekturmodus
DE2313917B2 (de) Speicher mit redundanten Speicherstellen
DE102006001492A1 (de) Halbleiterspeicheranordnung und Verfahren zum Betreiben einer Halbleiterspeicheranordnung
DE102004027121B4 (de) Ein Mehrfachbankchip, der mit einer Steuerung kompatibel ist, die für eine geringere Anzahl von Banken entworfen ist, und ein Verfahren zum Betreiben
DE10228561A1 (de) Halbleiterspeichervorrichtung, die eine hochdichte Struktur oder eine hohe Leistung ermöglicht
DE10252820A1 (de) Halbleiterspeichervorrichtung
DE10206689B4 (de) Integrierter Speicher und Verfahren zum Betrieb eines integrierten Speichers
DE102005061374A1 (de) Speicherbauelement und Reparaturverfahren
DE102007013317A1 (de) Paralleles Lesen für Eingangskomprimierungsmodus
DE19928454A1 (de) Speichervorrichtung mit Reihendecodierer
DE3587374T2 (de) Halbleiterspeichergeraet mit einer bit-fehlererkennungsfunktion.
DE4312086A1 (de) Halbleiterspeichereinrichtung und Betriebsverfahren dafür
DE19618722A1 (de) Halbleiterspeichereinrichtung, die zum Arbeiten mit während eines Vielbittests invertierten Potentialen benachbarter Bitleitungen befähigt ist
DE10258131B4 (de) Halbleiterspeicherbauelement und zugehöriges Schreib-/Leseverfahren
DE10032122B4 (de) Halbleiterspeicherbauelement mit Redundanzschaltkreis
DE10246229A1 (de) Halbleiterspeichervorrichtung, die einen Burn-in-Test mit hoher Geschwindigkeit ausführen kann
DE10261328B4 (de) Kompensation überkreuzter Bitleitungen in DRAMs mit Redundanz
DE2549392B2 (de) Verfahren zur erhoehung der zuverlaessigkeit von integrierten speicherbausteinen und zur verbesserung der ausbeute von nach aussen hin fehlerfrei erscheinenden speicherbausteinen bei ihrer herstellung
DE4201847C2 (de) Halbleiterspeicherbauelement mit einem redundanten Zellenfeld

Legal Events

Date Code Title Description
R012 Request for examination validly filed