DE102020120488A1 - Verfahren zur nachschlagtabellenfreien speicherreperatur - Google Patents

Verfahren zur nachschlagtabellenfreien speicherreperatur Download PDF

Info

Publication number
DE102020120488A1
DE102020120488A1 DE102020120488.4A DE102020120488A DE102020120488A1 DE 102020120488 A1 DE102020120488 A1 DE 102020120488A1 DE 102020120488 A DE102020120488 A DE 102020120488A DE 102020120488 A1 DE102020120488 A1 DE 102020120488A1
Authority
DE
Germany
Prior art keywords
memory cells
data
row
memory
state
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
DE102020120488.4A
Other languages
English (en)
Inventor
Katherine H. Chiang
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.)
Taiwan Semiconductor Manufacturing Co TSMC Ltd
Original Assignee
Taiwan Semiconductor Manufacturing Co TSMC Ltd
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
Priority claimed from US16/939,542 external-priority patent/US11367500B2/en
Application filed by Taiwan Semiconductor Manufacturing Co TSMC Ltd filed Critical Taiwan Semiconductor Manufacturing Co TSMC Ltd
Publication of DE102020120488A1 publication Critical patent/DE102020120488A1/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/30Monitoring
    • G06F11/3055Monitoring arrangements for monitoring the status of the computing system or of the computing system component, e.g. monitoring if the computing system is on, off, available, not available
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/44Indication or identification of errors, e.g. for repair
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/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
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0727Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a storage system, e.g. in a DASD or network based storage system
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3037Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a memory, e.g. virtual memory, cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0685Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/0023Address circuits or decoders
    • G11C13/0028Word-line or row circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/004Reading or sensing circuits or methods
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/0069Writing or programming circuits or methods
    • 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
    • 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/14Implementation of control logic, e.g. test mode decoders
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/44Indication or identification of errors, e.g. for repair
    • G11C29/4401Indication or identification of errors, e.g. for repair for self repair
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/702Masking faults in memories by using spares or by reconfiguring by replacing auxiliary circuits, e.g. spare voltage generators, decoders or sense amplifiers, to be used instead of defective ones
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/76Masking faults in memories by using spares or by reconfiguring using address translation or modifications
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/78Masking faults in memories by using spares or by reconfiguring using programmable devices
    • G11C29/80Masking faults in memories by using spares or by reconfiguring using programmable devices with improved layout
    • G11C29/808Masking faults in memories by using spares or by reconfiguring using programmable devices with improved layout using a flexible replacement scheme
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/78Masking faults in memories by using spares or by reconfiguring using programmable devices
    • G11C29/80Masking faults in memories by using spares or by reconfiguring using programmable devices with improved layout
    • G11C29/814Masking faults in memories by using spares or by reconfiguring using programmable devices with improved layout for optimized yield
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/78Masking faults in memories by using spares or by reconfiguring using programmable devices
    • G11C29/80Masking faults in memories by using spares or by reconfiguring using programmable devices with improved layout
    • G11C29/816Masking faults in memories by using spares or by reconfiguring using programmable devices with improved layout for an application-specific layout
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/78Masking faults in memories by using spares or by reconfiguring using programmable devices
    • G11C29/835Masking faults in memories by using spares or by reconfiguring using programmable devices with roll call arrangements for redundant substitutions
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0409Online test
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0411Online error correction
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C2029/1202Word line control
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C2029/1204Bit line control
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C2029/4402Internal storage of test result, quality data, chip identification, repair information

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computing Systems (AREA)
  • Human Computer Interaction (AREA)
  • Mathematical Physics (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)
  • Mram Or Spin Memory Techniques (AREA)

Abstract

Verschiedene Ausführungsformen der vorliegenden Offenbarung richten sich an ein Verfahren zur Speicherreparatur unter Verwendung eines Nachschlagtabelle-freien (LUT-freien) dynamischen Speicherzuweisungsprozesses. Ein Array von Speicherzellen, das eine Vielzahl von Reihen und eine Vielzahl von Spalten aufweist, ist bereitgestellt. Weiter weist jede Speicherzelle des Arrays mehrere Datenzustände und einen permanenten Zustand auf. Eine oder mehrere abnormale Speicherzellen ist /sind in einer Reihe des Arrays identifiziert und in Antwort darauf, dass eine abnormale Speicherzelle identifiziert ist, wird die abnormale Speicherzelle auf den permanenten Zustand gesetzt. Die abnormalen Speicherzellen weisen defekte Speicherzellen und in manchen ausführungsformen Tail-Speicherzellen, die spärliche Arbeitsleistung aufweisen, auf. Während Lese- oder Schreiboperation an der Reihe ist/sind die eine oder mehreren abnormalen Speicherzellen durch den permanenten Zustand identifiziert und ist/sind aus einem Rest der Speicherzellen gelesen oder in diese geschrieben, während die abnormale(n) Speicherzelle(n) ausgeschlossen sind.

Description

  • BEZUGNAHME AUF VERWANDTE ANMELDUNG
  • Diese Anmeldung beansprucht die Priorität der vorläufigen US-Patentanmeldung Nr. 62/951,117 , eingereicht am 20. Dezember 2019, die durch Bezugnahme in die vorliegende Anmeldung aufgenommen wird.
  • STAND DER TECHNIK
  • Viele moderne Elektronikbauelemente enthalten elektronischen Speicher. Elektronischer Speicher kann flüchtiger oder nichtflüchtiger Speicher sein. Nichtflüchtiger Speicher ist im Stande, seine gespeicherten Daten ohne Leistung beizubehalten, wohingegen flüchtiger Speicher seine gespeicherten Daten verliert, wenn Leistung verloren geht. Manche Typen elektronischen Speichers enthalten zum Beispiel resistiven Direktzugriffspeicher (RRAM, Resistive Random-Access Memory), magnetoresistiven Direktzugriffspeicher (MRAM, Magnetoresistive Random-Access Memory), ferroelektrischen Direktzugriffspeicher (FeRAM, Ferroelectric Random-Access Memory), Phasenänderungsspeicher (PCM, Phase-Change Memory) und so weiter.
  • Figurenliste
  • Aspekte der vorliegenden Offenbarung lassen sich am besten anhand der folgenden detaillierten Beschreibung in Verbindung mit den beiliegenden Zeichnungen verstehen. Es ist zu beachten, dass gemäß der branchenüblichen Praxis verschiedene Merkmale nicht maßstabsgetreu dargestellt sind. Tatsächlich können die Abmessungen der verschiedenen Merkmale zugunsten einer klaren Erläuterung willkürlich vergrößert oder verkleinert sein.
    • 1 veranschaulicht ein schematisches Diagramm mancher Ausführungsformen eines Nachschlagetabelle-freien (LUT-freien) dynamischen Speicherzuweisungsprozesses für eine Reihe von Speicherzellen.
    • 2 veranschaulicht ein Ablaufdiagramm mancher Ausführungsformen des LUT-freien dynamischen Speicherzuweisungsprozesses von 1.
    • 3A-3C veranschaulichen schematische Diagramme mancher Ausführungsformen des LUT-freien dynamischen Speicherzuweisungsprozesses von 1 unter Verwendung verschiedener Zahlen und Anordnungen abnormaler Speicherzellen, die mit einem permanenten Zustand markiert sind.
    • 4A und 4B veranschaulichen schematische Diagramme mancher verschiedener alternativer Ausführungsformen des LUT-freien dynamischen Speicherzuweisungsprozesses von 1.
    • 5 veranschaulicht ein schematisches Diagramm mancher Ausführungsformen des LUT-freien dynamischen Speicherzuweisungsprozesses von 1, in dem die Reihe eingerichtet ist, mehrere physische Wörter zu speichern.
    • 6 veranschaulicht ein schematisches Diagramm mancher Ausführungsformen des LUT-freien dynamischen Speicherzuweisungsprozesses von 1 für ein Array von Speicherzellen.
    • 7A und 7B veranschaulichen Querschnittansichten mancher Ausführungsformen einer Speicherzelle in 1, in denen die Speicherzelle eine MRAM-Zelle in einem ersten Datenzustand beziehungsweise einem zweiten Datenzustand ist.
    • 8A und 8B veranschaulichen Querschnittansichten mancher verschiedener Ausführungsformen einer Speicherzelle in 1, in denen die Speicherzelle eine MRAM-Zelle in einem permanenten Zustand ist.
    • 9 veranschaulicht ein schematisches Diagramm mancher Ausführungsformen eines integrierten IC-Chips (Integrated Circuit Chip), der eingerichtet ist, den LUT-freien dynamischen Speicherzuweisungsprozess von 1 durchzuführen.
    • 10A und 10B veranschaulichen Graphen mancher verschiedener Ausführungsformen von Lesestromwahrscheinlichkeitsverteilungen entsprechend verschiedener Zustände von Speicherzellen in 9.
    • 11A und 11B veranschaulichen schematische Diagramme mancher Ausführungsformen eines Erfassungsverstärkerblocks von 9, in denen der Erfassungsverstärkerblock elektrisch mit einer Speicherzelle in einem Datenzustand beziehungsweise einem permanenten Zustand gekoppelt ist.
    • 12 veranschaulicht ein schematisches Diagramm mancher alternativer Ausführungsformen des IC-Chips von 9, in denen ein Spaltendecoder zwischen einer Erfassungsverstärker-/Treiberschaltung und einer dynamischen Zuweisungsschaltung liegt.
    • 13 veranschaulicht ein schematisches Ablaufdiagramm mancher Ausführungsformen des IC-Chips von 9 während einer Leseoperation.
    • 14A und 14B veranschaulichen schematische Ablaufdiagramme mancher verschiedener alternativer Ausführungsformen des IC-Chips von 13.
    • 15 veranschaulicht ein schematisches Ablaufdiagramm mancher Ausführungsformen des IC-Chips von 9 während einer Schreiboperation.
    • 16A und 16B veranschaulichen ein schematisches Ablaufdiagramm mancher verschiedener Alternativer Ausführungsformen des IC-Chips von 15.
    • 17 veranschaulicht ein schematisches Diagramm mancher Ausführungsformen des IC-Chips von 9, in denen der IC-Chip Wortleitungen, Bitleitungen und Source-Leitungen aufweist.
    • 18-24, 25A, 25B, 26, 27A und 27B veranschaulichen eine Reihe schematischer Diagramme mancher Ausführungsformen eines Verfahrens zur Speicherreparatur unter Verwendung eines LUT-freien dynamischen Speicherzuweisungsprozesses.
    • 28 veranschaulicht ein Ablaufdiagramm mancher Ausführungsformen des Verfahrens von 18-24, 25A, 25B, 26, 27A und 27B.
    • 29 veranschaulicht einen Graphen mancher Ausführungsformen von Lesestromwahrscheinlichkeitsverteilungen zum Auswählen von Tail-Speicherzellen.
    • 30 veranschaulicht einen Graphen mancher Ausführungsformen von Schreibfehlerverhältnis über verschiedene Schreibstärken zum Auswählen von Tail-Speicherzellen.
    • 31-36, 37A und 37B veranschaulichen eine Reihe schematischer Diagramme mancher Ausführungsformen eines Verfahrens zur Speicherreparatur unter Verwendung eines LUT-freien dynamischen Speicherzuweisungsprozesses und einer LUT.
    • 38 veranschaulicht ein Ablaufdiagramm mancher Ausführungsformen des Verfahrens von 31-36, 37A und 37B.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Die folgende Offenbarung stellt viele verschiedene Ausführungsformen, oder Beispiele, zum Implementieren verschiedener Merkmale dieser Offenbarung bereit. Spezifische Beispiele von Komponenten und Anordnungen werden unten beschrieben, um die vorliegende Offenbarung zu vereinfachen. Diese sind selbstverständlich bloß Beispiele und nicht beabsichtigt einschränkend zu sein. Zum Beispiel kann die Bildung eines ersten Merkmals über oder auf einem zweiten Merkmal in der folgenden Beschreibung Ausführungsformen enthalten, in denen das erste und das zweite Merkmal in direktem Kontakt gebildet sind und kann auch Ausführungsformen enthalten, in denen zusätzliche Merkmale zwischen dem ersten und dem zweiten Merkmal gebildet sein können, sodass das erste und das zweite Merkmal nicht in direktem Kontakt sein könnten. Zusätzlich kann die vorliegende Offenbarung Referenznummern und/oder -buchstaben in den unterschiedlichen Beispielen wiederholen. Diese Wiederholung dient dem Zweck der Vereinfachung und Klarheit und gibt selbst keine Beziehung zwischen den unterschiedlichen besprochenen Ausführungsformen und/oder Konfigurationen vor.
  • Weiter können räumlich relative Ausdrücke wie „unterliegend“, „unterhalb“, unter‟, „überliegend“, „ober“ und dergleichen hierin zur Erleichterung der Beschreibung verwendet werden, um die Beziehung eines Elements oder Merkmals zu (einem) anderen Element(en) oder Merkmal(en) wie in den Figuren veranschaulicht zu beschreiben. Die räumlich relativen Ausdrücke sind beabsichtigt, verschiedene Ausrichtungen des Bauelements in Verwendung oder Betrieb zusätzlich zu der in den Figuren abgebildeten Ausrichtung zu umschließen. Die Vorrichtung kann anders ausgerichtet sein (um 90 Grad gedreht oder bei anderen Ausrichtungen) und die hierin verwendeten räumlich relativen Beschreibungsausdrücke können ebenso entsprechend ausgelegt werden.
  • Manche Speicherbauelemente weisen ein Speicherarray und eine Nachschlagetabelle (LUT) auf. Das Speicherarray weist eine Vielzahl von (mehrere) Speicherzellen in einer Vielzahl von (mehreren) Reihen und einer Vielzahl von (mehreren) Spalten auf. Weiter ist mindestens eine der Reihen oder mindestens eine der Spalten zur Redundanz reserviert. In dem Fall, dass eine Speicherzelle versagt, ist eine Adresse der defekte Speicherzelle in der LUT gespeichert und auf eine reservierte Reihe oder Spalte in der LUT abgebildet. Weiter, während jeder Lese- und Schreiboperation zu dem Speicherarray, wird eine bereitgestellte Adresse in der LUT nachgeschlagen. Das Nachschlagen bestimmt, ob die bereitgestellte Adresse einer defekten Speicherzelle entspricht und falls dem so ist, ermittelt sie eine reservierte Reihe oder Spalte, die anstelle der Reihe oder Spalte der defekten Speicherzelle verwendet werden soll.
  • Eine Herausforderung der oben genannten Speicherbauelemente ist es, dass für jede Lese- und Schreiboperation auf die LUT zuzugreifen, zu Latenz und erhöhtem Leistungsverbrauch führt. Eine andere Herausforderung ist, dass die LUT eine große Menge der IC-Chipfläche (Integrated Circuit Chipfläche) verbraucht und daher die Speicherdichte mindert. Noch eine andere Herausforderung ist, dass die LUT das Speicherbauelement auf reihenweise oder spaltenweise Speicherreparatur begrenzt, die verglichen mit bitweiser Speicherreparatur niedrige Reparatureffizienz aufweist. Zum Beispiel kann in einem Szenario vom schlimmsten Fall eine gesamte Reihe oder Spalte einer einzelnen versagten Speicherzelle zugewiesen sein. Bitweise Speicherreparatur ist undurchführbar, weil sie die Größe der LUT zu solch einem Maß vergrößern würde, dass die Speicherdichte materiell gemindert werden würde.
  • Unterschiedliche Ausführungsformen der vorliegenden Offenbarung richten sich an ein Verfahren zur Speicherreparatur unter Verwendung eines LUT-freien dynamischen Speicherzuweisungsprozesses, wie auch einen IC-Chip, der eingerichtet ist, den LUT-freien dynamischen Speicherzuweisungsprozess durchzuführen. In manchen Ausführungsformen des Verfahrens ist ein Array von Speicherzellen bereitgestellt, das eine Vielzahl von (mehrere) Reihen und eine Vielzahl von (mehrere) Spalten aufweist. Weiter weist jede Speicherzelle des Arrays einen ersten Datenzustand, einen zweiten Datenzustand und einen permanenten Zustand auf. Eine oder mehrere abnormale Speicherzellen ist/sind in einer Reihe des Arrays identifiziert und in Antwort auf Identifizieren einer abnormalen Speicherzelle, wird die abnormale Speicherzelle auf den permanenten Zustand gesetzt. Die abnormalen Speicherzellen weisen defekte Speicherzellen und in manchen Ausführungsformen Tail-Speicherzellen auf, die marginale Arbeitsleistung aufweisen. Während einer Lese- und Schreiboperation auf der Reihe, ist/sind die eine oder mehreren abnormalen Speicherzellen in der Reihe durch den permanenten Zustand identifiziert und Daten werden aus einem Rest der Speicherzellen (z.B. gesunden Speicherzellen) in der Reihe gelesen oder in diese geschrieben, während die abnormalen Speicherzellen ausgeschlossen werden.
  • Indem der permanente Zustand verwendet wird, um Abnormalität zu kennzeichnen, kann Speicherreparatur ohne eine LUT durchgeführt werden. Daher können Latenz und Leistungsverbrauch reduziert werden und die Speicherdichte erhöht werden. Zusätzlich kann, indem der permanente Zustand verwendet wird, Abnormalität zu kennzeichnen, Speicherreparatur bitweise durchgeführt werden und Speicherzellen können dynamisch unter Verwendung statischer Berechnungen zugewiesen werden. Indem Speicherreparatur bitweise durchgeführt wird, kann die Reparatureffizienz hoch sein. Die hohe Reparatureffizienz kann dem Reparaturbudget (z.B. der Zahl von Bits, die repariert werden können) erlauben, erhöht zu werden. Das erhöhte Reparaturbudget kann leistungsschwachen Speicherzellen erlauben, für verbesserte Leistungseffizienz und/oder Geschwindigkeit ersetzt zu werden. Weiter kann das erhöhte Reparaturbudget erlauben, Prozess- und/oder Designeinschränkungen zu lockern. Indem die Speicherzellen unter Verwendung statischer Berechnungen dynamisch zugewiesen werden, kann die dynamische Zuweisung in bestehende Fehlerkorrekturcodeschaltungen (ECC-Schaltungen) für eine geringe Auswirkung auf die IC-Chipfläche und für niedrige Latenz integriert werden.
  • In Bezug auf 1 ist ein schematisches Diagramm 100 mancher Ausführungsformen eines LUT-freien dynamischen Speicherzuweisungsprozesses für eine Reihe R von Speicherzellen 102, die eine Vielzahl von (mehrere) Spalten überspannt, bereitgestellt. Die Spalten sind individuell mit C<Spaltenzahl> markiert und die Speicherzellen 102 sind individuell mit M<Spaltenzahl> markiert, wo die Spaltenzahl eine Ganzzahl ist. Die Speicherzellen 102 sind eingerichtet, ein physisches Wort 104 zu speichern.
  • Jede der Speicherzellen 102 weist einen ersten Datenzustand, einen zweiten Datenzustand und einen permanenten Zustand auf. Datenspeicherzellen 102d sind Speicherzellen in dem ersten und zweiten Datenzustand und sind schematisch durch Kreise veranschaulicht. Andererseits sind permanente Speicherzellen 102p Speicherzellen in dem permanenten Zustand und sind schematisch durch Quadrate veranschaulicht. Der erste und zweite Datenzustand können zum Beispiel einer Logik „0“ und einer Logik „1“ entsprechen, oder umgekehrt. Der permanente Zustand ist ein Zustand, der permanent ist oder ansonsten verglichen mit dem ersten und zweiten Datenzustand schwer zu ändern ist. In manchen Ausführungsformen entspricht der permanente Zustand einem Zustand dielektrischen Durchbruchs für Isolatoren der Speicherzellen 102. In manchen Ausführungsformen weisen die Speicherzellen 102 verschiedene Widerstände in deren ersten Datenzustand, zweiten Datenzustand beziehungsweise permanenten Zustand auf. In manchen Ausführungsformen weist der permanente Zustand einen hohen Widerstand auf, der relativ zu Widerständen des ersten und zweiten Datenzustands hoch ist und der zum Beispiel als eine offene Schaltung modelliert sein kann. In anderen Ausführungsformen weist der permanente Zustand einen niedrigen Widerstand auf, der relativ zu Widerständen des ersten und zweiten Datenzustands niedrig ist und der zum Beispiel als ein Kurzschluss modelliert sein kann. In manchen Ausführungsformen weisen die Speicherzellen 102 im ersten Datenzustand, dem zweiten Datenzustand beziehungsweise dem permanenten Datenzustand verschiedene Leseströme auf.
  • Mit Fortschritt des LUT-freien dynamischen Speicherzuweisungsprozesses werden abnormale Speicherzellen 102a identifiziert und auf den permanenten Zustand gesetzt, sodass der permanente Zustand verwendet wird, um die abnormalen Speicherzellen 102a zu markieren. Weil die abnormalen Speicherzellen 102a auf den permanenten Zustand gesetzt sind, sind die abnormalen Speicherzellen 102a im Allgemeinen dieselben wie die permanenten Speicherzellen 102p. Weiter sind gesunde Speicherzellen 102h im Allgemeinen dieselben wie die Datenspeicherzellen 102d. Die abnormalen Speicherzellen 102a sind schematisch mit Kreuzen veranschaulicht, wohingegen die gesunden Speicherzellen 102h schematisch ohne Kreuze veranschaulicht sind.
  • Die abnormalen Speicherzellen 102a weisen defekte Speicherzellen und in manchen Ausführungsformen Tail-Speicherzellen auf. In alternativen Ausführungsformen weisen die abnormalen Speicherzellen 102a nur defekte Speicherzellen auf. Defekte Speicherzellen sind Speicherzellen, die überhaupt nicht arbeiten oder die nicht wie angedacht arbeiten (z.B. aus den Designspezifikationen herausfallen), wohingegen Tail-Speicherzellen in Designspezifikationen fallen, aber unter den leistungsschwächsten Speicherzellen sind. Die abnormalen Speicherzellen 102a können zum Beispiel durch Schaltungstastkopftestung (CP-Testung) oder durch eine andere geeignete Testung identifiziert werden. Weiter können die abnormalen Speicherzellen 102a zum Beispiel während Herstellung, während Betrieb oder zu einer anderen geeigneten Zeit identifiziert werden.
  • Während des LUT-freien dynamischen Speicherzuweisungsprozesses werden die gesunden Speicherzellen 102h und die abnormalen Speicherzellen 102a unter Verwendung des permanenten Zustands identifiziert, um zwischen den gesunden Speicherzellen 102h und den abnormalen Speicherzellen 102a zu unterscheiden. Weiter werden die unter Verwendung des permanenten Zustands identifizierten, gesunden Speicherzellen 102h dynamisch einem logischen Wort 106 zugewiesen, während die unter Verwendung des permanenten Zustands identifizierten, abnormalen Speicherzellen 102a ausgeschlossen werden. Das logische Wort 106 ist kleiner als das physische Wort 104, damit eine Gesamtzahl von Speicherzellen, entsprechend dem logischen Wort 106, kleiner als eine Gesamtzahl von Speicherzellen entsprechend dem physischen Wort 104 ist. Als ein Resultat entspricht eine Differenz zwischen den Gesamtzahlen der Redundanz. Wie veranschaulicht, ist die Gesamtzahl von Speicherzellen entsprechend dem physischen Wort 104 acht, wohingegen die Gesamtzahl von Speicherzellen entsprechend dem logischen Wort 106 sechs ist, sodass es zwei Speicherzellen von Redundanz gibt. Andere geeignete Zahlen sind jedoch erdenklich. In manchen Ausführungsformen speichern die dem logischen Wort 106 dynamisch zugewiesenen, gesunden Speicherzellen 102h jeweils 1, 0, 1, 1, 0, 1, wo 1 und 0 dem ersten und zweiten Datenzustand entsprechen. Andere geeignete Werte sind jedoch erdenklich.
  • Die dynamische Zuweisung wird von links nach rechts ausgeführt, während die abnormalen Speicherzellen 102a übersprungen werden. Daher wird das logische Wort 106 dynamisch einer vorgegebenen Zahl der am weitesten links gelegenen, gesunden Speicherzellen 102h zugewiesen, wo die vorgegebene Zahl dieselbe wie die Zahl von Bits in dem logischen Wort 106 ist. Weiter ist die Ordnung der gesunden Speicherzellen 102h für das logische Wort 106 dieselbe wie für das physische Wort 104. In dem Ausmaß, in dem sich die Zahlen und Anordnungen abnormaler Speicherzellen 102a ändern, ändert sich die dynamische Zuweisung. Dies erlaubt, dass neue abnormale Speicherzellen identifiziert werden, mit dem permanenten Zustand markiert werden und während Betrieb der Speicherzellen 102 ersetzt werden. In alternativen Ausführungsformen kann die dynamische Zuweisung durch ein anderes geeignetes Schema als von links nach rechts durchgeführt werden.
  • Der LUT-freie dynamische Zuweisungsprozess wird während jeder Lese- und Schreiboperation auf Speicherzellen entsprechend dem physischen Wort 104 durchgeführt. Insbesondere sind die gesunden Speicherzellen 102h, nicht aber die abnormalen Speicherzellen 102a, dem logischen Wort 106 unter Verwendung des permanenten Zustands als eine Markierung zugewiesen, um zwischen den gesunden und abnormalen Speicherzellen 102h, 102a zu unterscheiden. Das logische Wort 106 wird dann aus den gesunden Speicherzellen 102h gelesen oder in diese geschrieben, die dynamisch dem logischen Wort 106 zugewiesen sind.
  • Indem die abnormalen Speicherzellen 102a unter Verwendung des permanenten Zustands markiert werden und dann der LUT-freie dynamische Speicherzuweisungsprozess verwendet wird, um die abnormalen Speicherzellen 102a auszufiltern, die während jedes Lese- und Schreibbetriebs markiert sind, kann bitweise Speicherreparatur ohne eine LUT erzielt werden. Dementsprechend können Latenz und Leistungsverbrauch niedrig und Speicherdichte hoch sein. Indem die Speicherreparatur bitweise durchgeführt wird, kann die Reparatureffizienz hoch sein. Die hohe Reparatureffizienz kann dem Reparaturbudget (z.B. der Zahl von Bits, die repariert werden können) erlauben, erhöht zu werden. Zum Beispiel kann das Reparaturbudget 100-mal oder noch größer als das für spaltenweise und reihenlose LUTbasierte Reparatur sein. Das erhöhte Reparaturbudget kann Tail-Speicherzellen erlauben, für verbesserten Leistungseffizienz und/oder Geschwindigkeit ersetzt zu werden. Weiter kann das erhöhte Reparaturbudget erlauben, Prozess- und/oder Designeinschränkungen zu lockern.
  • Der LUT-freie dynamische Speicherzuweisungsprozess kann durch statische Berechnung durchgeführt werden, sodass die logische Implementierung des Prozesses ungeachtet der Zahl abnormaler Speicherzellen 102a und ungeachtet der Anordnung der abnormalen Speicherzellen 102a derselbe ist. Dementsprechend kann die Logik, die die dynamische Zuweisung implementiert, in eine ECC-Schaltung oder eine andere geeignete Schaltung, die Betrieb der Speicherzellen 102 unterstützt, integriert werden, um die Auswirkung auf die IC-Chipfläche zu reduzieren und die Latenz zu reduzieren.
  • In manchen Ausführungsformen sind die Speicherzellen 102 magnetoresistive Direktzugriffspeicherzellen (MRAM-Zellen), resistive Direktzugriffspeicherzellen (RRAM-Zellen), ferroelektrische Direktzugriffspeicherzellen (FeRAM-Zellen) oder ein anderer geeigneter Typ von Speicherzellen. In mindestens manchen solcher Ausführungsformen können die Speicherzellen 102 frei von Selektoren sein und/oder können durch dielektrischen Durchbruch von Isolatoren, die obere und untere Elektroden trennen, auf den permanenten Zustand gesetzt sein. In alternativen Ausführungsformen sind die Speicherzellen 102 Ein-Selektor-Ein-Widerstand-Speicherzellen (iSiR-Speicherzellen), die individuelle resistive Speicherelemente und individuelle Selektoren aufweisen. In mindestens manchen solcher Ausführungsformen können die Speicherzellen 102 durch dielektrischen Durchbruch von Isolatoren in den resistiven Speicherelementen und/oder in den Selektoren auf den permanenten Zustand gesetzt werden. Das resistive Speicherelement kann zum Beispiel eine MRAM-Zelle, eine FeRAM-Zelle, eine RRAM-Zelle, eine Phasenänderungsspeicherzelle (PCM-Zelle) oder ein anderer geeigneter Typ von resistivem Speicherelement sein.
  • Während 1 die Reihe R mit spezifischen Zahlen von Spalten und Speicherzellen veranschaulicht, kann die Reihe R in alternativen Ausführungsformen mehr oder weniger Spalten und damit mehr oder weniger Speicherzellen aufweisen. Weiter sind, während 1 die Reihe R mit einer spezifischen Zahl und Anordnung von abnormalen Speicherzellen 102a veranschaulicht, verschiedene Zahlen und Anordnungen abnormaler Speicherzellen 102a in alternativen Ausführungsformen erdenklich. Noch weiter sind, während 1 die Reihe R mit einer spezifischen Zahl und Anordnung permanenter Speicherzellen 102p veranschaulicht, verschiedene Zahlen und Anordnungen permanenter Speicherzellen 102p in alternativen Ausführungsformen erdenklich.
  • In Bezug auf 2 ist ein Ablaufdiagramm 200 mancher Ausführungsformen des LUT-freien dynamischen Speicherzuweisungsprozesses von 1 bereitgestellt.
  • Bei Handlung 202 wird eine Speicherzelle, die bisher nicht ausgewählt wurde, von diesen Speicherzellen entsprechend einem physischen Wort (siehe z.B. 104 in 1) ausgewählt. In manchen Ausführungsformen wird die Auswahl von links nach rechts entlang einer Reihe des physischen Worts durchgeführt. Jedoch sind in alternativen Ausführungsformen andere geeignete Auswahlschemata erdenklich.
  • Bei Handlung 204 wird eine Bestimmung angestellt, ob die ausgewählte Speicherzelle durch den permanenten Zustand markiert wurde. Falls die ausgewählte Speicherzelle durch den permanenten Zustand markiert wurde, fährt das Ablaufdiagramm 200 mit Handlung 206 fort. Ansonsten fährt das Ablaufdiagramm 200 mit Handlung 208 fort.
  • Bei Handlung 206 wird eine Bestimmung angestellt, ob irgendwelche Speicherzellen nicht ausgewählt bleiben. Falls es restliche Speicherzellen gibt, die bisher nicht ausgewählt wurden, fährt das Ablaufdiagramm 200 mit Handlung 202 fort und eine neue Speicherzelle wird ausgewählt. Ansonsten fährt das Ablaufdiagramm 200 mit einem Abschluss mit Fehler fort. Es gibt zu viele markierte Speicherzellen.
  • Bei Handlung 208 wird die ausgewählte Speicherzelle einem logischen Wort (siehe z.B. 106 in 1) zugewiesen.
  • Bei Handlung 210 wird eine Bestimmung angestellt, ob die Größe des logischen Worts dieselbe wie die Zahl zugewiesener Speicherzellen ist. Falls die Größe des logischen Worts dieselbe wie die Zahl zugewiesener Speicherzellen ist, fährt das Ablaufdiagramm 200 mit einem Abschluss mit Erfolg fort. Ansonsten fährt das Ablaufdiagramm 200 mit Handlung 206 fort.
  • Während das Ablaufdiagramm 200 von 2 hierin als eine Reihe von Handlungen oder Ereignissen veranschaulicht und beschrieben ist, wird begrüßt, dass die veranschaulichte Reihenfolge solcher Handlungen oder Ereignisse nicht in einem begrenzenten Sinn auszulegen ist. Weiter könnten nicht alle veranschaulichten Handlungen benötigt werden, um einen oder mehrere Aspekte oder Ausführungsformen der Beschreibung hierin zu implementieren und eine oder mehrere der hierin abgebildeten Handlungen können in einer oder mehreren separaten Handlungen und/oder Phasen umgesetzt werden. Während das Ablaufdiagramm 200 von 2 den LUT-freien dynamischen Speicherzuweisungsprozess als einen iterativen Prozess veranschaulicht und beschreibt, kann der LUT-freie dynamische Speicherzuweisungsprozess alternativ ein rekursiver Prozess oder ein anderer geeigneter Typ von Prozess sein. Weiter kann der LUT-freie dynamische Speicherzuweisungsprozess mit paralleler Verarbeitung durchgeführt werden.
  • In Bezug auf 3A-3C sind schematische Diagramme 300A-300C mancher Ausführungsformen des LUT-freien dynamischen Speicherzuweisungsprozesses von 1 unter Verwendung verschiedener Zahlen und Anordnungen abnormaler Speicherzellen 102a, die mit dem permanenten Zustand markiert sind, bereitgestellt. In 3A weist die Reihe R eine einzelne abnormale Speicherzelle 102a (z.B. Speicherzelle M3) entsprechend dem physischen Wort 104 auf. Weiter ist das logische Wort 106 dynamisch Speicherzellen M1, M2 und M4-M7 zugewiesen. Speicherzelle M8 ist zur Redundanz reserviert. In 3B weist die Reihe R alle gesunden Speicherzellen 102h entsprechend dem physischen Wort 104 auf. Mit anderen Worten, es gibt keine mit dem permanenten Zustand markierten, abnormalen Speicherzellen. Weiter ist das logische Wort 106 dynamisch Speicherzellen M1-M6 zugewiesen. Speicherzellen M7 und M8 sind zur Redundanz reserviert. In 3C weist die Reihe R zwei abnormale Speicherzellen 102a (z.B. Speicherzelle M1 und Speicherzelle M7) entsprechend dem physischen Wort 104 auf. Weiter ist das logische Wort 106 dynamisch Speicherzellen M2-M6 und Speicherzelle M8 zugewiesen. Es bleibt keine Redundanz. Trotz der spezifischen Zahlen und Anordnungen abnormaler Speicherzellen 102a, die mit dem permanenten Zustand in 1 und 3A-3C markiert sind, sind jedoch andere geeignete Zahlen und Anordnungen in alternativen Ausführungsformen erdenklich.
  • In Bezug auf 4A und 4B sind schematische Diagramme 400A, 400B mancher verschiedener Ausführungsformen des LUT-freien dynamischen Speicherzuweisungsprozesses von 1 unter Verwendung verschiedener Zuweisungsschemata bereitgestellt. In beiden durch 4A und 4B veranschaulichten Zuweisungsschemata, entsprechen die erste und letzte zugewiesene Speicherzelle dem am weitesten links gelegenen Bit des logischen Worts 106 und dem am weitesten rechts gelegenen Bit des logischen Worts 106.
  • In 4A sind die gesunden Speicherzellen 102h dynamisch dem logischen Wort 106 von rechts nach links zugewiesen, während abnormale Speicherzellen 102a ausgelassen werden, die mit dem permanenten Zustand markiert sind. Daher ist eine Reihenfolge der gesunden Speicherzellen 102h für das logische Wort 106 verglichen mit einer Reihenfolge der gesunden Speicherzellen 102h für das physische Wort 104 umgekehrt. In 4B sind gesunde Speicherzellen 102h bei Spalten mit ungerader Zahl (z.B. Speicherzellen M1, M3 und M7) zuerst dynamisch dem logischen Wort 106 von links nach rechts zugewiesen, während abnormale Speicherzellen 102a ausgelassen werden, die mit dem permanenten Zustand markiert sind. Gesunde Speicherzellen 102h bei Spalten mit gerader Nummer (z.B. Speicherzellen M4, M6 und M8) sind dann dynamisch dem logischen Wort 106 von links nach rechts zugewiesen, während abnormale Speicherzellen 102a ausgelassen werden, die mit dem permanenten Zustand markiert sind. In alternativen Ausführungsformen werden andere Zuweisungsschemata eingesetzt.
  • In Bezug auf 5 ist ein schematisches Diagramm 500 mancher Ausführungsformen des LUT-freien dynamischen Speicherzuweisungsprozesses von 1 bereitgestellt, in dem die Reihe R eingerichtet ist, mehrere physische Wörter zu speichern: ein erstes physisches Wort 104a; und ein zweites physisches Wort 104b. Die mehreren physischen Wörter weisen dieselbe Zahl von Bits wie das andere und dasselbe Layout von Daten wie das andere auf. Zum Beispiel können das erste und zweite physische Wort 104a, 104b wie veranschaulicht jeweils 4 Bits Daten aufweisen, oder können eine andere geeignete Zahl von Bits aufweisen. In alternativen Ausführungsformen ist die Reihe R eingerichtet, zusätzliche physische Wörter entlang der Reihe R angeordnet zu speichern.
  • Wenn der LUT-freie dynamische Speicherzuweisungsprozess angewendet wird, wird eine dynamische Zuweisung individuell pro physischem Wort durchgeführt. Zum Beispiel wird dynamische Zuweisung an den Speicherzellen entsprechend dem ersten physischen Wort 104a durchgeführt, unabhängig von den Speicherzellen entsprechend dem zweiten physischen Wort 104b, und umgekehrt. Indem der LUT-freie dynamische Speicherzuweisungsprozess individuell pro physischem Wort angewendet wird, werden Speicherzellen entsprechend den physischen Wörtern logischen Wörtern individuell für die entsprechenden physischen Wörtern dynamisch zugewiesen. Zum Beispiel werden Speicherzellen, die dem ersten physischen Wort 104a entsprechen, dem ersten logischen Wort 106a individuell für das erste physische Wort 104a dynamisch zugewiesen. Als ein anderes Beispiel werden Speicherzellen, die dem zweiten physischen Wort 104b entsprechen, einem zweiten logischen Wort 106b individuell für das zweite physische Wort 104b dynamisch zugewiesen.
  • Die dynamische Zuweisung für ein logisches Wort wird wie in Bezug auf 1 beschrieben durchgeführt. Gesunde und abnormale Speicherzellen entsprechend einem physischen Wort werden unter Verwendung des permanenten Zustands der Speicherzellen 102 identifiziert, um zwischen gesunden Speicherzellen 102h und abnormalen Speicherzellen 102a zu unterscheiden. Die als gesunde Speicherzellen 102h identifizierten Speicherzellen, aber nicht die als abnormale Speicherzellen 102a identifizierten Speicherzellen, werden dann dynamisch von links nach rechts dem logischen Wort zugewiesen. Zum Beispiel wird Speicherzelle M2 als abnormal identifiziert, weil sie eine permanente Speicherzelle 102p ist und wird deshalb übersprungen, während Speicherzellen dynamisch dem ersten logischen Wort 106a zugewiesen werden.
  • In Bezug auf 6 ist ein schematisches Diagramm 600 mancher Ausführungsformen des LUT-freien dynamischen Speicherzuweisungsprozesses von 1 für ein physisches Speicherarray 602 bereitgestellt. Das physische Speicherarray 602 weist eine Vielzahl von (mehrere) Speicherzellen 102 in einer Vielzahl von (mehrere) Reihen und einer Vielzahl von (mehrere) Spalten auf. Die Speicherzellen 102 sind individuell mit M<Reihenzahl>,<Spaltenzahl> markiert, die Reihen sind individuell mit Rp,<Reihenzahl> markiert und die Spalten sind individuell mit CP,<Spaltenzahl> markiert. Innerhalb des tiefgestellten Zeichens für diese Markierungen sind „Reihenzahl“ und „Spaltenzahl“ Ganzzahlen, die eine spezifische Reihe beziehungsweise eine spezifische Spalte identifizieren.
  • Die Reihen des physischen Speicherarrays 602 sind jeweils so, wie die Reihe R von 1 beschrieben ist, können aber verschiedene Zahlen und Anordnungen gesunder und abnormaler Speicherzellen 102h, 102a aufweisen. Zum Beispiel ist Reihe Rp,1 dieselbe wie die Reihe R von 1, wohingegen ein Rest der Reihen verschiedene Zahlen und Anordnungen gesunder und abnormaler Speicherzellen 102h, 102a aufweist. Weiter ist jede Reihe des physischen Speicherarrays 602 eingerichtet, ein physisches Wort 104 zu speichern. Zum Beispiel kann jede Reihe des physischen Speicherarrays 602 eingerichtet sein, ein 8-Bit physisches Wort zu speichern. In alternativen Ausführungsformen ist jede Reihe des physischen Speicherarrays 602 eingerichtet, mehrere physische Wörter wie in Bezug auf 5 beschrieben zu speichern.
  • Mit Fortschritt des LUT-freien dynamischen Speicherzuweisungsprozesses werden abnormale Speicherzellen 102a identifiziert und auf den permanenten Zustand gesetzt, wie in Bezug auf 1 beschrieben. Weiter werden während des LUT-freien dynamischen Speicherzuweisungsprozesses gesunde Speicherzellen 102h dynamisch logischen Wörtern 106 unter Verwendung des permanenten Zustands der Speicherzellen 102 zugewiesen, um zwischen gesunden Speicherzellen 102h und abnormalen Speicherzellen 102a zu unterscheiden. Dynamische Zuweisung wird individuell für die Reihen des physischen Speicherarrays 602 durchgeführt, wie in Bezug auf 1 beschrieben. Weiter wird dynamische Zuweisung in dem Ausmaß, in dem das physische Speicherarray 602 eingerichtet ist, mehrere physische Wörter pro Reihe zu speichern, individuell pro physischem Wort durchgeführt, wie in Bezug auf 5 beschrieben. Indem dynamische Zuweisung an jeder der Reihen des physischen Speicherarrays 602 durchgeführt wird, kann ein logisches Speicherarray 604 identifiziert werden.
  • Das logische Speicherarray 604 weist eine Vielzahl von (mehrere) Reihen und eine Vielzahl von (mehrere) Spalten auf. Die Reihen sind individuell mit R1<Reihenzahl> markiert und die Spalten sind individuell mit C1,<Spaltenzahl> markiert, wo „Reihenzahl“ und „Spaltenzahl“ Ganzzahlen sind, die eine spezifische Reihe beziehungsweise eine spezifische Spalte identifizieren. Die Reihen des logischen Speicherarrays 604 sind dieselben wie die Reihen des physischen Speicherarrays 602. Andererseits können Verknüpfungen zwischen den Spalten des logischen Speicherarrays 604 und den Spalten des physischen Speicherarrays 602 über die Reihen des logischen Speicherarrays 604 abhängig von Zahlen und Anordnungen abnormaler Speicherzellen 102a in den Reihen des physischen Speicherarrays 602 variieren. Zum Beispiel weist, wie veranschaulicht, jede Reihe des logischen Speicherarrays 604 eine verschiedene Verknüpfung zwischen den Spalten des logischen Speicherarrays 604 und den Spalten des physischen Speicherarrays 602 auf.
  • In Bezug auf 7A und 7B sind Querschnittansichten 700A, 700B mancher Ausführungsformen einer Speicherzelle 102 in 1 bereitgestellt, in denen die Speicherzelle 102 eine MRAM-Zelle in einem ersten Datenzustand beziehungsweise einem zweiten Datenzustand ist. Daher kann die Speicherzelle 102 auch als eine Datenspeicherzelle 102d bekannt sein. In 7A ist die Speicherzelle 102 in dem ersten Datenzustand und kann zum Beispiel für jede Speicherzelle 102 von 1 in dem ersten Datenzustand repräsentativ sein. In 7B ist die Speicherzelle 102 in dem zweiten Datenzustand und kann zum Beispiel für jede Speicherzelle 102 von 1 in dem zweiten Datenzustand repräsentativ sein.
  • Die Speicherzelle 102 weist ein Referenzelement 702, ein freies Element 704 und ein Barrierenelement 706 auf, die gemeinsam einen Magnettunnelübergang (MTJ) definieren. Das Referenz- und freie Element 702, 704 sind ferromagnetisch und vertikal mit dem freien Element 704 über dem Referenzelement 702 liegend gestapelt. Weiter weist das Referenzelement 702 eine Magnetisierung 708 auf, die fixiert ist, wohingegen das freie Element 704 eine Magnetisierung 710 aufweist, die „frei“ ist, sich zu ändern. Es wird festgehalten, dass die Magnetisierungen 708, 710 schematisch durch Pfeile veranschaulicht sind. Weiter wird festgehalten, dass während die Magnetisierungen 708, 710 veranschaulicht sind horizontal zu sein, die Magnetisierungen 708, 710 (und damit die Pfeile) alternativ vertikal sein können. Dies kann zum Beispiel in alternativen Ausführungsformen der Speicherzelle 102 vorkommen, in denen der MTJ ein senkrechter MTJ ist. Das Barrierenelement 706 ist nichtmagnetisch und liegt zwischen dem Referenz- und freien Element 702, 704.
  • Während Betrieb erlaubt das Barrierenelement 706 selektiv mechanischen Quantenübergang von Elektronen durch das Barrierenelement 706. Wenn die Magnetisierungen 708, 710 des Referenz- und freien Elements 702, 704 antiparallel sind, wie in 7A veranschaulicht, kann mechanischer Quantenübergang blockiert werden. Daher kann die Datenspeicherzelle 102d einen hohen Widerstand aufweisen und kann in dem ersten Datenzustand sein. Wenn die Magnetisierungen 708, 710 des Referenz- und freien Elements 702, 704 parallel sind, wie in 7B veranschaulicht, kann mechanischer Quantenübergang erlaubt werden. Daher kann die Datenspeicherzelle 102d einen niedrigen Widerstand aufweisen und kann in dem zweiten Datenzustand sein.
  • Das Barrierenelement 706 kann zum Beispiel eine amorphe Barriere, eine kristalline Barriere oder ein anderes geeignetes isolierendes und/oder Tunnelbarrierenmaterial sein oder enthalten. Die amorphe Barriere kann zum Beispiel Aluminiumoxid (z.B. AlOx), Titanoxid (z.B. TiOx) oder eine andere geeignete amorphe Barriere sein oder enthalten. Die kristalline Barriere kann zum Beispiel Manganoxid (z.B. MgO), Spinell (z.B. MgAl2O4) oder eine andere geeignete kristalline Barriere sein oder enthalten. Das Referenzelement 702 und/oder das freie Element 704 kann/können zum Beispiel Kobalteisen (z.B. CoFe), Kobalteisenbor (z.B. CoFeB), ein anderes geeignetes ferromagnetisches Material (andere geeignete ferromagnetische Materialien) oder eine beliebige Kombination des Vorangehenden sein oder enthalten.
  • In Bezug auf 8A und 8B sind Querschnittansichten 800A, 800B mancher verschiedener Ausführungsformen einer Speicherzelle 102 in 1 bereitgestellt, in denen die Speicherzelle 102 eine MRAM-Zelle in einem permanenten Zustand ist. Daher kann die Speicherzelle 102 auch als eine permanente Speicherzelle 102p bekannt sein. Die Speicherzelle 102 kann zum Beispiel für jede Speicherzelle 102 von 1 in dem permanenten Zustand repräsentativ sein.
  • Die Speicherzelle 102 weist ein Referenzelement 702, ein freies Element 704 und ein Barrierenelement 706 wie in 7A und 7B auf. Jedoch weist verglichen mit dem Barrierenelement 706 in 7A und 7B das Barrierenelement 706 in 8A und 8B eine abnormale Struktur auf. Als Teil der abnormalen Struktur weist das Barrierenelement 706 einen oder mehrere Defekte 802 auf, die einen oder mehrere Verlustpfade 804 von dem Referenzelement 702 zu dem freien Element 704 definieren. Der (Die) Defekt(e) 802 kann (können) zum Beispiel Trägerfangstelle, leitfähige Filamente, ein anderer geeigneter Defekt (andere geeignete Defekte) oder eine beliebige Kombination des Vorangehenden sein.
  • In spezifischem Bezug auf die Querschnittansicht 800A von 8A fehlt dem Barrierenelement 706 Material an einer Stelle, wo das Referenzelement 702 sich nach oben wölbt. Weiter erstreckt sich bei der Wölbung ein Verlustpfad 804 zwischen dem Referenz- und freien Element 702, 704. Dem Barrierenelement 706 kann zum Beispiel Material fehlen und/oder es kann den Verlustpfad 804 aufgrund eines harten Durchbruchs aufweisen. Daher kann ein Defekt 802, der den Verlustpfad 804 definiert, zum Beispiel ein leitfähiges Filament in dem Barrierenelement 706 sein oder aufweisen.
  • In spezifischem Bezug auf die Querschnittansicht 800B von 8B ist das Barrierenelement 706 verdreht, was in einer uneinheitlichen Dicke resultiert. Weiter erstrecken sich Verlustpfade 804 zwischen dem Referenz- und freien Element 702, 704 bei dünnen Gebieten des Barrierenelements 706. Das Barrierenelement 706 kann zum Beispiel verdreht sein und/oder die Verlustpfade 804 aufgrund eines weichen Durchbruchs aufweisen. Daher können Defekte 802, die die Verlustpfade 804 definieren, zum Beispiel Trägerfangstellen in dem Barrierenelement 706 sein oder aufweisen.
  • Während 7A, 7B, 8A und 8B das Referenzelement 702 und das freie Element 704 veranschaulichen, unter beziehungsweise über dem Barrierenelement 706 zu sein, können das Referenzelement 702 und das freie Element 704 alternativ über beziehungsweise unter dem Trägerelement 706 sein. Während 7A, 7B, 8A und 8B die Speicherzellen 102 von 1 als MRAM-Zellen veranschaulichen, können die Speicherzellen 102 von 1 andere geeignete Typen von Speicherzellen sein, die mindestens zwei Datenzustände und mindestens einen permanenten Zustand aufweisen. Zum Beispiel können die Speicherzellen 102 von 1 RRAM-Zellen, FeRAM-Zellen, andere geeignete Typen von MRAM-Zellen und so weiter sein. Während 7A, 7B, 8A und 8B die Speicherzellen 102 von 1 als MRAM-Zellen veranschaulichen, können die Speicherzellen 102 von 1 alternativ iSiR-Speicherzellen sein. Zum Beispiel kann ein Selektor mit dem Referenzelement 702, dem fixierten Element 704 und dem Barrierenelement 706 in alternativen Ausführungsformen von 7A, 7B, 8A und 8B gestapelt sein.
  • In Bezug auf 9 ist ein schematisches Diagramm 900 mancher Ausführungsformen eines IC-Chips, der einen Speicherkern 902 und eine dynamische Zuweisungsschaltung 904 aufweist, bereitgestellt. Der Speicherkern 902 weist ein physisches Speicherarray 602 und eine Erfassungsverstärker-/Trägerschaltung 906 auf. Die Erfassungsverstärker-/Treiberschaltung 906 koordiniert mit der dynamischen Zuweisungsschaltung 904, um das physische Speicherarray 602 zu einem logischen Speicherarray 60 gemäß dem in Bezug auf 1 und 6 beschriebenen, dynamischen Speicherzuweisungsprozess zu übersetzen. Das physische Speicherarray 602 und das logische Speicherarray 604 sind wie in 6, aber andere geeignete Konfigurationen des physischen und logischen Speicherarrays 602, 604 sind in alternativen Ausführungsformen erdenklich.
  • Während des LUT-freien dynamischen Speicherzuweisungsprozesses wird eine einzelne Reihe des physischen Speicherarrays 602 durch eine entsprechende Wortleitung (nicht gezeigt) ausgewählt. Weiter können Speicherzellen entsprechend einem physischen Wort 104 in der ausgewählten Reihe mit einer Lesespannung durch leitfähige Leitungen 908 (von denen nur manche gezeigt sind), die sich entlang der Spalten erstrecken, vorgespannt werden. Als ein Resultat werden für die Speicherzellen individuelle Leseströme in der ausgewählten Reihe auf den leitfähigen Leitungen 908 erzeugt. Die Leseströme sind individuell mit Iread,<Spaltenzahl> markiert, wo die Spaltenzahl eine Ganzzahl ist, die eine spezifische Spalte in dem physischen Speicherarray 602 identifiziert.
  • Die Erfassungsverstärker-/Treiberschaltung 906 ist elektrisch mit dem physischen Speicherarray 602 durch die leitfähigen Leitungen 908 gekoppelt und empfängt die Leseströme. Weiter empfängt die Erfassungsverstärker-/Treiberschaltung 906 einen ersten Referenzstrom Iref,1 und einen zweiten Referenzstrom Iref,2. Der erste Referenzstrom Iref,1 ist zwischen dem Lesestrom der Speicherzellen 102, wenn sie in einem ersten Datenzustand sind, und dem Lesestrom der Speicherzellen 102, wenn sie in einem zweiten Datenzustand sind. Weiter ist der zweite Referenzstrom Iref,2 zwischen dem Lesestrom der Speicherzellen 102, wenn sie in einem permanenten Zustand sind, und den Leseströmen der Speicherzellen 102, wenn sie in dem ersten und zweiten Datenzustand sind. Die Erfassungsverstärker-/Treiberschaltung 906 umfasst eine Vielzahl von Erfassungsverstärkerblöcken 906b. Die Erfassungsverstärkerblöcke 906b sind individuell für die Spalten des physischen Speicherarrays 602 und vergleichen die Leseströme mit dem ersten und zweiten Referenzstrom Iref,1, Iref,2.
  • Indem die Leseströme mit dem ersten Referenzstrom Iref,1 verglichen werden, erzeugen die Erfassungsverstärkerblöcke 906b entsprechende Lesedatensignale. Die Lesedatensignale sind binäre Signale individuell für die Leseströme und daher individuell für die Speicherzellen 102 in der ausgewählten Reihe. Zum Beispiel kann ein Lesedatensignal einen Wert von „1“ aufweisen, falls der entsprechende Lesestrom niedriger als der erste Referenzstrom Iref,1 ist und kann einen Wert von „0“ aufweisen, falls der entsprechende Lesestrom höher als der erste Referenzstrom Iref,1 ist, oder umgekehrt. Weiter, weil der erste Referenzstrom Iref,1 zwischen dem Lesestrom der Speicherzellen 102, wenn sie in dem ersten Datenzustand sind, und dem Lesestrom der Speicherzellen 102, wenn sie in dem zweiten Datenzustand sind, ist, stellen die Lesedatensignale den Lesestrom der Speicherzellen 102 in der ausgewählten Reihe dar. Weiter stellen die Lesedatensignale das physische Wort 104 wie aus den Speicherzellen 102 in der ausgewählten Reihe gelesen dar.
  • Indem jeder der Leseströme mit dem zweiten Referenzstrom Iref,2 verglichen wird, erzeugen die Erfassungsverstärkerblöcke 906b entsprechende Lesemarkierungssignale. Die Lesemarkierungssignale sind binäre Signale individuell für die Leseströme und daher individuell für die Speicherzellen 102 in der ausgewählten Reihe. Zum Beispiel kann ein Lesemarkierungssignal einen Wert von „1“ aufweisen, falls der entsprechende Lesestrom niedriger als der zweite Referenzstrom Iref,2 ist und kann einen Wert von „0“ aufweisen, wenn der entsprechende Lesestrom höher als der zweite Referenzstrom Iref,2 ist, oder umgekehrt. Weiter, weil der zweite Referenzstrom Iref,2 zwischen dem Lesestrom der Speicherzellen 102, wenn sie in dem permanenten Zustand sind, und den Leseströmen der Speicherzellen 102, wenn sie in dem ersten und zweiten Datenzustand sind, ist, können die Lesemarkierungssignale verwendet werden, um zwischen Speicherzellen in dem permanenten Zustand und Speicherzellen in dem Datenzustand zu unterscheiden. In manchen Ausführungsformen, in denen der permanente Zustand einen niedrigeren Widerstand als Widerstände des ersten und zweiten Datenzustands aufweist, identifiziert ein Lesemarkierungssignal den permanenten Zustand, falls der Lesestrom Iread höher als der zweite Referenzstrom Iref,2 ist und ansonsten identifiziert es den ersten oder zweiten Datenzustand. In manchen Ausführungsformen, in denen der permanente Zustand einen höheren Widerstand als Widerstände des ersten und zweiten Datenzustands aufweist, identifiziert ein Lesemarkierungssignal den permanenten Zustand, falls der Lesestrom Iread niedriger als der zweite Referenzstrom Iref,2 ist und ansonsten identifiziert es den ersten oder zweiten Datenzustand.
  • Die dynamische Zuweisungsschaltung 904 ist elektrisch mit der Erfassungsverstärker-/Treiberschaltung 906 gekoppelt und empfängt die Lesedatensignale und die Lesemarkierungssignale durch entsprechende Datenleitungen 910 und Markierungsleitungen 912. Zur Klarheit sind die Datenleitungen 910 schematisch als durchgängige Linien veranschaulicht, wohingegen die Markierungsleitungen 912 schematisch als strichlierte Linien veranschaulicht sind. Unter Verwendung der Lesemarkierungssignale identifiziert die dynamische Zuweisungsschaltung 904, welche der Speicherzellen 102 in der ausgewählten Reihe in dem ersten und zweiten Datenzustand sind und welche der Speicherzellen 102 in der ausgewählten Reihe in dem permanenten Zustand sind. Speicherzellen, die identifiziert sind, in dem ersten und zweiten Datenzustand zu sein, werden dann dynamisch einem logischen Wort 106 zugewiesen, während Speicherzellen ausgeschlossen werden, die identifiziert sind, in permanenten Zuständen zu sein. Weiter werden die dem logischen Wort 106 dynamisch zugewiesenen Speicherzellen dann für Lese- und Schreiboperationen eingesetzt. In dem Fall einer Leseoperation kann dies involvieren, die Lesedatensignale für die zugewiesenen Speicherzellen auszugeben.
  • Wie zuvor werden abnormale Speicherzellen 102a identifiziert und vor dem LUT-freien dynamischen Speicherzuweisungsprozess auf den permanenten Zustand gesetzt, sodass der permanente Zustand die abnormalen Speicherzellen markiert. Deshalb können Speicherzellen, die identifiziert sind, in dem ersten und zweiten Datenzustand zu sein, auch als gesunde Speicherzellen 102h angesehen werden, wohingegen Speicherzellen, die identifiziert sind, in dem permanenten Zustand zu sein, auch als abnormale Speicherzellen 102a betrachtet werden können. Zusätzlich wird wie zuvor der LUT-freie dynamische Speicherzuweisungsprozess während Lese- und Schreiboperationen durchgeführt, um gesunde Speicherzellen 102, aber keine abnormalen Speicherzellen zu logischen Wörtern 106 zuzuweisen. Die logischen Wörter 106 werden dann aus den gesunden Speicherzellen 102 gelesen oder in diese geschrieben. Daher kann der LUT-freie dynamische Speicherzuweisungsprozess die Vermeidung abnormaler Speicherzellen 102a während Lese- und Schreiboperationen erleichtern.
  • Indem Leseströme individuell für jede Reihe des physischen Speicherarrays 602 erzeugt werden und indem der LUT-freie dynamische Speicherzuweisungsprozess individuell für jede Reihe des physischen Speicherarrays 602 durchgeführt wird, kann das logische Speicherarray 604 von dem physischen Speicherarray 602 abgeleitet werden. Wie bei 6 beschrieben, sind die Reihen des logischen Speicherarrays 604 dieselben wie die Reihen des physischen Speicherarrays 602. Jedoch können Verknüpfungen zwischen den Spalten des logischen Speicherarrays 604 und den Spalten des physischen Speicherarrays 602 über die Reihen des logischen Speicherarrays 604 abhängig von Zahlen und Anordnungen abnormaler Speicherzellen 102a in den Reihen des physischen Speicherarrays 602 variieren. In manchen Ausführungsformen speichern die gesunden Speicherzellen 102h in Reihe Rp,1 jeweils 1, 0, 1, 1, 0, 1, wo 1 und 0 dem ersten und zweiten Datenzustand entsprechen. Andere geeignete Werte sind jedoch erdenklich.
  • In Bezug auf 10A ist ein Graph 1000A mancher Ausführungsformen einer Vielzahl von Lesestromwahrscheinlichkeitsverteilungen 1002 entsprechend den verschiedenen Zuständen der Speicherzellen 102 von 9 bereitgestellt. Die horizontale Achse entspricht Lesestrom und die vertikale Achse entspricht Wahrscheinlichkeit. Wie zuvor besprochen, beinhalten die verschiedenen Zustände einen ersten Datenzustand, einen zweiten Datenzustand und einen permanenten Zustand.
  • Die Vielzahl von Lesestromwahrscheinlichkeitsverteilungen 1002 beinhalten eine erste Datenzustandsverteilung Id1, eine zweite Datenzustandsverteilung Id2 und eine permanente Zustandsverteilung Ip, die dem ersten Datenzustand, dem zweiten Datenzustand und dem permanenten Zustand entsprechen. Die erste Datenzustandsverteilung Id1 weist einen niedrigeren Strom als die zweite Datenzustandsverteilung Id2 auf. Daher weist eine Speicherzelle in dem ersten Datenzustand einen höheren Widerstand als eine Speicherzelle in dem zweiten Zustand auf. Weiter weist die permanente Zustandsverteilung Ip einen höheren Strom als die zweite Datenzustandsverteilung Id2 auf. Daher weist eine Speicherzelle in dem permanenten Zustand einen niedrigeren Widerstand als eine Speicherzelle in dem zweiten Datenzustand auf. Die erste Datenzustandsverteilung Id1 ist für beliebige der Speicherzellen 102 von 9 in dem ersten Datenzustand repräsentativ und die zweite Datenzustandsverteilung Id2 ist für eine beliebige der Speicherzellen 102 von 9 in dem zweiten Datenzustand repräsentativ. Weiter ist die permanente Zustandsverteilung Ip für beliebige der Speicherzellen 102 von 9 in dem permanenten Zustand repräsentativ.
  • Ein erster Referenzstrom Iref,1 ist bei einer Mitte eines Lesefensters 1004 für den ersten und zweiten Datenzustand und ein zweiter Referenzstrom Iref,2 ist bei einer Mitte eines Markierungsfensters 1006 für den zweiten Datenzustand und den permanenten Zustand. In alternativen Ausführungsformen ist der erste Referenzstrom Iref,1 in dem Lesefenster 1004, aber aus der Mitte des Lesefensters 1004 verschoben. Ähnlich ist in alternativen Ausführungsformen der zweite Referenzstrom Iref,2 in dem Markierungsfenster 1006, aber aus der Mitte des Markierungsfensters 1006 verschoben. Der erste Referenzstrom Iref,1 wird von der Erfassungsverstärker-/Treiberschaltung 906 von 9 verwendet, um zu bestimmen, ob eine Speicherzelle in dem ersten Datenzustand oder dem zweiten Datenzustand ist. Der zweite Referenzstrom Iref,2 wird von der Erfassungsverstärker-/Treiberschaltung 906 von 9 verwendet, um zu bestimmen, ob eine Speicherzelle in einem Datenzustand (z.B. dem ersten oder zweiten Datenzustand) oder dem permanenten Zustand ist.
  • In Bezug auf 10B ist ein Graph 1000B mancher alternativer Ausführungsformen der Vielzahl von Lesestromwahrscheinlichkeitsverteilungen 1002 von 10A bereitgestellt, in denen die permanente Zustandsverteilung Ip kleiner als die erste und zweite Datenzustandsverteilung Id1, Id2 ist. Daher geht das Markierungsfenster 1006 von der permanenten Zustandsverteilung Ip zu der ersten Datenzustandsverteilung Id1 und der zweite Referenzstrom Iref,2 ist niedriger als der erste Referenzstrom Iref,1. Weiter weist der permanente Zustand einen höheren Widerstand als Widerstände des ersten und zweiten Datenzustands auf.
  • In Bezug Auf 11A und 11B sind schematische Diagramme 1100A, 1100B mancher Ausführungsformen eines Erfassungsverstärkerblocks 906b von 9 bereitgestellt, in denen der Erfassungsverstärkerblock 906b elektrisch mit einer Speicherzelle 102 in einem Datenzustand beziehungsweise einem permanenten Zustand gekoppelt ist. In 11A ist die Speicherzelle 102 in einem Datenzustand (z.B. einem ersten Datenzustand oder einem zweiten Datenzustand) und ist daher schematisch als ein Kreis veranschaulicht. In 11B ist die Speicherzelle 102 in einem permanenten Zustand und ist daher schematisch als ein Quadrat veranschaulicht.
  • Der Erfassungsverstärkerblock 906b ist für jeden der Erfassungsverstärkerblöcke 906b in 9 repräsentativ und weist einen ersten Erfassungsverstärker 1102 und einen zweiten Erfassungsverstärker 1104 auf. Der erste und zweite Erfassungsverstärker 1102, 1104 empfangen einen Lesestrom Iread von der Speicherzelle 102 von einer leitfähigen Leitung 908 (z.B. eine Bit- oder Source-Leitung). Der erste Erfassungsverstärker 1102 empfängt weiter den ersten Referenzstrom Iref,1 von einer entsprechenden leitfähigen Leitung (nicht gekennzeichnet) und vergleicht den ersten Referenzstrom Iref,1 mit dem Lesestrom Iread, um ein Lesedatensignal Srd auf einer Datenleitung 910 zu erzeugen. Das Lesedatensignal Srd kann zum Beispiel ein binäres Signal sein. Weiter kann das Lesedatensignal Srd eine Logik „1“ angeben, falls der Lesestrom Iread den ersten Referenzstrom Iref,1 übersteigt und kann ansonsten eine Logik „0“ angeben, oder umgekehrt. Der zweite Erfassungsverstärker 1104 empfängt weiter den zweiten Referenzstrom Iref,2 von einer entsprechenden leitfähigen Leitung (nicht gekennzeichnet) und vergleicht den zweiten Referenzstrom Iref,2 mit dem Lesestrom Iread, um ein Lesemarkierungssignal Srf auf einer Markierungsleitung 912 zu erzeugen. Das Lesemarkierungssignal Srf kann zum Beispiel ein binäres Signal sein. Weiter kann das Lesemarkierungssignal Srf eine Logik „1“ angeben, falls der Lesestrom Iread den zweiten Referenzstrom Iref,2 übersteigt und kann ansonsten eine Logik „0“ angeben, oder umgekehrt. Wie in Bezug auf 9 beschrieben, werden das Lesedatensignal Srd und das Lesemarkierungssignal Srf von dem LUT-freien dynamischen Speicherzuweisungsprozess zur dynamischen Zuweisung verwendet.
  • In manchen Ausführungsformen, in denen der permanente Zustand einen niedrigeren Widerstand als Widerstände des ersten und zweiten Datenzustands aufweist, identifiziert das Lesemarkierungssignal Srf den permanenten Zustand, falls der Lesestrom Iread höher als der zweite Referenzstrom Iref,2 ist (siehe z.B. 10A) und identifiziert ansonsten den ersten oder zweiten Datenzustand. In manchen Ausführungsformen, in denen der permanente Zustand einen höheren Widerstand als Widerstände des ersten und zweiten Datenzustands aufweist, identifiziert das Lesemarkierungssignal Srf den permanenten Zustand, falls der Lesestrom Iread niedriger als der zweite Referenzstrom Iref,2 ist (siehe z.B. 10B) und identifiziert ansonsten den ersten oder zweiten Datenzustand.
  • In Bezug auf 12 ist ein schematisches Diagramm 1200 mancher alternativer Ausführungsformen des IC-Chips von 9 bereitgestellt, in dem das physische Speicherarray 602 eingerichtet ist, mehrere physische Wörter 104 pro Reihe zu speichern, und der Speicherkern 902 weiter einen Spaltendecoder 1202 zwischen der dynamischen Zuweisungsschaltung 904 und der Erfassungsverstärker-/Treiberschaltung 906 aufweist. Der Spaltendecoder 1202 wird eingesetzt, um die Lesedaten und Markierungssignale für Speicherzellen entsprechend einem einzelnen physischen Wort auszuwählen und die ausgewählten Lesedaten und Markierungssignale zur LUT-freien dynamischen Zuweisung an die dynamische Zuweisungsschaltung 904 durchzugeben. Wie zuvor in Bezug auf 5 beschrieben, wird LUT-freie dynamische Zuweisung individuell pro physischem Wort durchgeführt.
  • Der Spaltendecoder 1202 ist elektrisch mit der Erfassungsverstärker-/Treiberschaltung 906 gekoppelt und empfängt die Lesedaten und Markierungssignale von der Erfassungsverstärker-/Treiberschaltung 906 über erste Datenleitungen 910a beziehungsweise erste Markierungsleitungen 912a. Weiter ist der Spaltendecoder 1202 elektrisch mit der dynamischen Zuweisungsschaltung 904 gekoppelt und gibt Lesedaten und Markierungssignale über zweite Datenleitungen 910b beziehungsweise zweite Markierungsleitungen 912b selektiv an die dynamische Zuweisungsschaltung 904 durch. Zur Klarheit sind die ersten und zweiten Datenleitungen 910a, 910b schematisch als durchgängige Linien veranschaulicht und die ersten und zweiten Markierungsleitungen 912a, 912b sind schematisch als strichlierte Linien veranschaulicht. In alternativen Ausführungsformen ist der Spaltendecoder 1202 zwischen der Erfassungsverstärker-/Treiberschaltung 906 und dem physischen Speicherarray 602. In solchen alternativen Ausführungsformen wird der Spaltendecoder 1202 eingesetzt, um die leitfähigen Leitungen 908 für Speicherzellen entsprechend einem einzelnen physischen Wort auszuwählen und die Erfassungsverstärker-/Treiberschaltung 906 elektrisch mit den ausgewählten leitfähigen Leitungen zu koppeln.
  • In Bezug auf 13 ist ein schematisches Ablaufdiagramm 1300 mancher Ausführungsformen des IC-Chips von 9 während einer Leseoperation mit ECC bereitgestellt. Der Speicherkern 902 empfängt eine Adresse 1302, die eine Reihe innerhalb des physischen Speicherarrays 602 identifiziert. Die identifizierte Reihe wird ausgewählt und die Speicherzellen in der ausgewählten Reihe sind mit einer Lesespannung vorgespannt, um Leseströme (z.B. Iread,1-Iread,8 in 9) zu erzeugen. Die Erfassungsverstärker-/Treiberschaltung 906 vergleicht die Leseströme individuell mit einem ersten Referenzstrom (z.B. Iref,1 in 9) und einen zweiten Referenzstrom (z.B. Iref,2 in 9), um ein physisches Wort 104 beziehungsweise Lesemarkierungen 1304 zu erzeugen. Das physische Wort 104 entspricht den Lesedatensignalen, die auf den Datenleitungen 910 von 9 getragen werden, wohingegen die Lesemarkierungen 1304 den Lesemarkierungssignalen entsprechen, die auf den Markierungsleitungen 912 von 9 getragen werden.
  • Die dynamische Zuweisungsschaltung 90 empfängt das physische Wort 104 und die Lesemarkierungen 1304 von dem Speicherkern 902. Weiter führt die dynamische Zuweisungsschaltung 904 dynamische Zuweisung unter Verwendung des physischen Worts 104 und der Lesemarkierungen 1304 durch. Insbesondere identifiziert die dynamische Zuweisungsschaltung 904, welche der Speicherzellen 102 in der ausgewählten Reihe in einem Datenzustand (z.B. dem ersten oder zweiten Datenzustand) sind und welche der Speicherzellen 102 in der ausgewählten Reihe in dem permanenten Zustand sind, unter Verwendung der Lesemarkierungen 1304, um zwischen dem Datenzustand und dem permanenten Zustand zu unterscheiden. Weil abnormale Speicherzellen im Voraus auf den permanenten Zustand gesetzt sind, führt dies praktisch dazu, zu identifizieren, welche der Speicherzellen 102 in der ausgewählten Reihe gesund sind und welche der Speicherzellen in der ausgewählten Reihe abnormal sind. Speicherzellen, die identifiziert sind, in dem ersten und zweiten Datenzustand zu sein, werden dann dynamisch einem logischen Wort 106 zugewiesen, während Speicherzellen ausgeschlossen werden, die identifiziert sind, in dem permanenten Zustand zu sein. Weiter wird das physische Wort 104 unter Verwendung der dynamischen Zuweisung zu einem logischen Wort 106 übersetzt. Das logische Wort 106 weist ein unverifiziertes Datenwort 1306u und einen ECC-Code 1308 für das unverifizierte Datenwort 1306u auf.
  • Das physische Wort 104 weist ein Bit für jede Speicherzellelesung auf und weist, wie zuvor beschrieben, mehr Bits als das logische Wort 106 auf, um Redundanz zu erlauben. Die Übersetzung des physischen Worts 104 zu dem logischen Wort 106 besetzt jede Bitstelle des logischen Worts 106 mit dem physischen Bit, das ihm von der dynamischen Zuweisung zugewiesen wurde. Zum Beispiel kann die erste Bitstelle des logischen Worts 106 mit dem zweiten Bit des physischen Worts 104 besetzt werden, falls die Speicherzelle, die dem zweiten Bit des physischen Worts 104 entspricht, der ersten Bitstelle des logischen Worts 106 zugewiesen ist.
  • Die ECC-Schaltung 1310 empfängt das logische Wort 106 von der dynamischen Zuweisungsschaltung 904 und verwendet den ECC-Code 1308, um das unverifizierte Datenwort 1306u zu verifizieren und falls nötig zu reparieren. Die Verifikation und Reparatur können zum Beispiel unter Verwendung des Hamming-Code-Algorithmus, des Reed-Solomon-Code-Algorithmus, des Bose-Chaudhuri-Hocquenghem-Code-Algorithmus (BCH-Code-Algorithmus) oder eines anderen geeigneten ECC-Algorithmus durchgeführt werden. In manchen Ausführungsformen ist das unverifizierte Datenwort 1306u 128 Bits lang, der ECC-Code 1308 ist 16 Bits lang und die ECC-Schaltung 1310 ist eingerichtet, bis zu 2 Bits unter Verwendung des ECC-Codes 1308 zu reparieren. Andere geeignete Bitlängen sind jedoch in alternativen Ausführungsformen erdenklich. Nach dem Verifizieren und falls nötig Reparieren des unverifizierten Datenworts 1306u, wird ein verifiziertes Datenwort 1306v zum Verbrauch durch die anfragende Instanz (z.B. eine zentrale Recheneinheit (CPU) oder eine andere geeignete Instanz) ausgegeben. In alternativen Ausführungsformen sind der ECC-Code 1308 und die ECC-Schaltung 1310 weggelassen.
  • In Bezug auf 14A ist ein schematisches Ablaufdiagramm 1400A mancher alternativer Ausführungsformen des IC-Chips von 13 bereitgestellt, in dem die dynamische Zuweisungsschaltung 904 und die ECC-Schaltung 1310 durch eine dynamische Zuweisungs-/ECC-Schaltung 1402 ersetzt werden, die die Funktionen der dynamischen Zuweisungsschaltung 904 und die Funktionen der ECC-Schaltung 1310 kombiniert und implementiert. Die Funktionen der dynamischen Zuweisungsschaltung 904 und die Funktionen der ECC-Schaltung 1310 können kombiniert werden, weil die Funktionen von algorithmischen Berechnungen durchgeführt werden können. Indem die Funktionen der dynamischen Zuweisungsschaltung 904 und die Funktionen der ECC-Schaltung 1310 innerhalb einer einzelnen Schaltung durchgeführt werden, sind die Funktionen auf derselben IC-Chipfläche anstelle von separaten IC-Chipflächen implementiert. Dies erlaubt, die insgesamt verwendete IC-Chipfläche zu reduzieren und erlaubt weiter die Latenz zu reduzieren, weil keine Daten zwischen separaten IC-Chipflächen ausgetauscht werden.
  • In Bezug auf 14B ist ein schematisches Ablaufdiagramm 1400B mancher alternativer Ausführungsformen des IC-Chips von 13 bereitgestellt, in denen der LUT-freie dynamische Speicherzuweisungsprozess von einem LUT-basierten Speicherzuweisungsprozess begleitet wird. Der LUT-basierte Speicherzuweisungsprozess kann zum Beispiel eingesetzt werden, wenn das Speicherarray 602 redundante Reihen zur verbesserten Speicherreparatur aufweist.
  • Eine ursprüngliche Adresse 1302a wird empfangen und umfasst eine ursprüngliche Reihenadresse 1404 und eine ursprüngliche Spaltenadresse 1406. Die ursprüngliche Reihenadresse 1404 identifiziert eine Reihe in dem Speicherarray 602 und die ursprüngliche Spaltenadresse 1406 identifiziert eine Menge von Spalten entsprechend einem physischen Wort 104 innerhalb der identifizierten Reihe. Die ursprüngliche Reihenadresse 1404 wird in einer Reihenreparatur-LUT 1408 nachgeschlagen, die Reihenadressen auf die Reihenadressen für redundante Reihen abbildet. Die redundanten Reihen können zum Beispiel für Reihen des physischen Speicherarrays 602 mit den meisten defekten Speicherzellen reserviert sein. In dem Ausmaß, in dem die ursprüngliche Reihenadresse 1404 zu der Reihenreparatur-LUT 1408 passt, wird eine neue Reihenadresse 1410 entsprechend einer redundanten Reihe ausgegeben und mit der ursprünglichen Spaltenadresse 1406 kombiniert, um eine neue Adresse 1302b zu bilden. Das schematische Ablaufdiagramm 1400B fährt dann wie in Bezug auf 13 beschrieben fort, außer dass: 1) die neue Adresse 1302b verwendet wird, falls vorhanden, und ansonsten die ursprüngliche Adresse 1302a verwendet wird; und 2) ein Spaltendecoder 1202 des Speicherkerns 902 die Menge von Spalten auswählt, die von der ursprünglichen Spaltenadresse 1406 für die Leseoperation identifiziert ist, wie in Bezug auf 1 beschrieben. In alternativen Ausführungsformen sind der Spaltendecoder 1202 und die ursprüngliche Spaltenadresse 1406 weggelassen.
  • In Bezug auf 15 ist ein schematisches Ablaufdiagramm 1500 mancher Ausführungsformen des IC-Chips von 9 während einer Schreiboperation mit ECC bereitgestellt. Der Speicherkern 902 empfängt eine Adresse 1302, die eine Reihe identifiziert und nachfolgend die Reihe wie in Bezug auf 9 und 13 beschrieben liest, um Lesemarkierungen 1304 zu erzeugen und auszugeben. Parallel mit dem Lesen empfängt eine ECC-Schaltung 1310 ein zu schreibendes Datenwort 1306, und erzeugt nachfolgend einen ECC-Code 1308 für das Datenwort 1306. Weiter gibt die ECC-Schaltung 1310 eine Konkatenation des Datenworts 1306 und des ECC-Codes 1308 als ein logisches Wort 106 aus. Der ECC-Code 1308 kann zum Beispiel durch den Hamming-Code-Algorithmus, den Reed-Solomon-Code-Algorithmus, den BCH-Code-Algorithmus oder einen anderen geeigneten ECC-Algorithmus erzeugt werden.
  • Die dynamische Zuweisungsschaltung 904 empfängt das logische Wort 106 und Lesemarkierungen 1304 von der ECC-Schaltung 1310 beziehungsweise dem Speicherkern 902. Weiter identifiziert die dynamische Zuweisungsschaltung 904, welche der Speicherzellen 102 in der Reihe, die von der Adresse 1302 identifiziert ist, in einem Datenzustand (z.B. dem ersten oder zweiten Datenzustand) sind und welche der Speicherzellen 102 in der Reihe in dem permanenten Zustand sind, unter Verwendung der Lesemarkierungen 1304, um zwischen dem Datenzustand und einem permanenten Zustand zu unterscheiden. Weil abnormale Speicherzellen im Voraus auf den permanenten Zustand gesetzt sind, führt dies praktisch dazu, zu identifizieren, welche der Speicherzellen 102 in der Reihe gesund sind und welche der Speicherzellen in der Reihe abnormal sind. Speicherzellen, die identifiziert sind, in dem ersten und zweiten Datenzustand zu sein, werden dann dynamisch dem logischen Wort 106 zugewiesen, während Speicherzellen ausgeschlossen werden, die identifiziert sind, in dem permanenten Zustand zu sein. Zusätzlich wird das logische Wort 106 zu einem physischen Wort 104 unter Verwendung der dynamischen Zuweisung übersetzt und das physische Wort 104 wird mit der Erfassungsverstärker-/Treiberschaltung 906 zu der Adresse 1302 geschrieben.
  • Das physische Wort 104 weist ein Bit für jede zu beschreibende Speicherzelle auf und weist wie zuvor beschrieben mehr Bits als das logische Wort 106 auf, um Redundanz zu erlauben. Die Übersetzung des logischen Worts 106 zu dem physischen Wort 104 platziert jedes Bit des logischen Worts 106 in der physischen Bitstelle, die ihm von der dynamischen Zuweisung zugewiesen ist. Zum Beispiel kann das erste Bit des logischen Worts 106 in die zweite Bitstelle des physischen Worts 104 platziert werden, falls die Speicherzelle, die dem zweiten Bit des physischen Worts 104 entspricht, dem ersten Bit des logischen Worts 106 zugewiesen ist. Weiter ist ein Rest der Bitstellen in dem physischen Wort 104 ungenutzt und kann daher auf eine logische „0“ oder eine logische „1“ gesetzt werden.
  • In Bezug auf 16A ist ein schematisches Flussdiagramm 1600A mancher alternativer Ausführungsformen des IC-Chips von 15 bereitgestellt, in denen die dynamische Zuweisungsschaltung 904 und die ECC-Schaltung 1310 durch eine dynamische Zuweisungs-/ECC-Schaltung 1402 ersetzt sind, die die Funktionen der dynamischen Zuweisungsschaltung 904 und die Funktionen der ECC-Schaltung 1310 kombiniert und implementiert. Wie zuvor in Bezug auf 14A beschrieben, erlaubt das, die insgesamt verwendete IC-Chipfläche zu reduzieren und erlaubt weiter, die Latenz zu reduzieren.
  • In Bezug auf 16B ist ein schematisches Ablaufdiagramm 1600B mancher alternativer Ausführungsformen des IC-Chips von 15 bereitgestellt, in denen der LUT-freie dynamische Speicherzuweisungsprozess von einem LUT-basierten Speicherzuweisungsprozess begleitet wird. Der LUT-basierte Speicherzuweisungsprozess kann zum Beispiel eingesetzt werden, wenn das Speicherarray 602 redundante Reihen zur verbesserten Speicherreparatur aufweist.
  • Eine ursprüngliche Adresse 1302a wird empfangen und weist eine ursprüngliche Reihenadresse 1404 und eine ursprüngliche Spaltenadresse 1406 auf. Die ursprüngliche Reihenadresse 1404 identifiziert eine Reihe in dem Speicherarray 602 und wird in einer Reihenreparatur-LUT 1408 nachgeschlagen, die Reihenadressen auf die Reihenadressen für redundante Reihen abbildet. In dem Ausmaß, in dem die ursprüngliche Reihenadresse 1404 in die Reihenreparatur-LUT 1408 passt, wird eine neue Reihenadresse 1410, die einer redundanten Reihe entspricht, ausgegeben und mit der ursprünglichen Spaltenadresse 1406 kombiniert, um eine neue Adresse 1302b zu bilden. Das schematische Ablaufdiagramm 1600B fährt dann wie in Bezug auf 15 beschrieben fort, außer dass: 1) die neue Adresse 130b verwendet wird, falls sie vorhanden ist, und ansonsten die ursprüngliche Adresse 1302a verwendet wird; und 2) ein Spaltendecoder 1202 des Speicherkerns 902 die Menge von Spalten auswählt, die von der ursprünglichen Spaltenadresse 1406 für die Schreiboperation identifiziert ist, wie in Bezug auf 12 beschrieben. In alternativen Ausführungsformen sind der Spaltendecoder 1202 und die ursprüngliche Spaltenadresse 1406 weggelassen.
  • In Bezug auf 17 ist ein schematisches Diagramm 1700 mancher Ausführungsformen des IC-Chips von 9 bereitgestellt, in denen der IC-Chip Wortleitungen 1702, Source-Leitungen 908a und Bitleitungen 908b aufweist. Die Wortleitungen 1702 sind individuell für die Reihen des physischen Speicherarrays 602 und erstrecken sich jeweils entlang der Reihen. Zur Klarheit, die Wortleitungen 1702 sind individuell als WL<Reihenzahl> markiert, wo die Reihenzahl eine Ganzzahl ist, die eine spezifische Reihe in dem physischen Speicherarray 602 identifiziert. Die Wortleitungen 1702 koppeln sich elektrisch mit Gates von Zugangstransistoren 1704 in der entsprechenden Reihe und koppeln sich weiter elektrisch mit einer Reihendecoder-/Treiberschaltung 1706.
  • Die Zugangstransistoren 1704 sind individuell für die Speicherzellen 102 des physischen Speicherarrays 602 und koppeln sich jeweils elektrisch mit den entsprechenden Speicherzellen 102 jeweils bei Drain-Gebieten der Zugangstransistoren 1704. In manchen Ausführungsformen definieren jeder Zugangstransistor und seine entsprechende Speicherzelle eine Ein-Transistor-Ein-Widerstand-Zelle (1T1R-Zelle) 1708. Die Zugangstransistoren 1704 können zum Beispiel Metalloxid-Halbleiterfeldeffekttransistoren (MOSFETs) und/oder ein anderer geeigneter Typ von Transistoren sein.
  • Die Reihendecoder-/Treiberschaltung 1706 ist bei einer Peripherie des physischen Speicherarrays 602 und elektrisch mit den Wortleitungen 1702 gekoppelt. Die Reihendecoder-/Treiberschaltung 1706 wählt eine Wortleitung entsprechend einer spezifischen Reihe in Antwort auf eine Reihenadresse aus, die die spezifische Reihe identifiziert. Insbesondere decodiert die Reihendecoder-/Treiberschaltung 1706 die Reihenadresse, um die spezifische Reihe zu identifizieren und dann die Wortleitung entsprechend der identifizierten Reihe vorzuspannen, sodass die Zugangstransistoren in der identifizierten Reihe in einem leitenden Zustand sind. Weiter, während die Wortleitung, die der identifizierten Reihe entspricht, vorgespannt ist, damit die Zugangstransistoren in der identifizierten Reihe in dem leitenden Zustand sind, spannt die Reihendecoder-/Treiberschaltung 1706 die restlichen Wortleitungen vor, damit die Zugangstransistoren in den restlichen Reihen in einem nichtleitenden Zustand sind.
  • Die Source-Leitungen 908a und die Bitleitungen 908b sind individuell für die Spalten des physischen Speicherarrays 602 und erstrecken sich jeweils entlang der entsprechenden Spalten. Zur Klarheit, die Source-Leitungen 908a sind individuell mit SL<Spaltenzahl> markiert und die Bitleitungen 908b sind individuell mit BL<Spaltenzahl> markiert, wo die Spaltenzahl eine Ganzzahl ist, die eine spezifische Spalte in dem physischen Speicherarray 602 identifiziert. Die Source-Leitungen 908a koppeln sich elektrisch mit den Sources der Zugangstransistoren 1704 in den entsprechenden Spalten und koppeln sich weiter elektrisch mit der Erfassungsverstärker-/Treiberschaltung 906. Andererseits koppeln sich die Bitleitungen 908b elektrisch mit den Speicherzellen 102 in den entsprechenden Spalten und koppeln sich weiter elektrisch mit der Erfassungsverstärker-/Treiberschaltung 906. In manchen Ausführungsformen sind untere Elektroden der Speicherzelle 102 (z.B. 702 in 7A, 7B, 8A und 8B) elektrisch mit den Drains der entsprechenden Zugangstransistoren 1704 gekoppelt, wohingegen obere Elektroden der Speicherzellen 102 (z.B. 704 in 7A, 7B, 8A und 8B) elektrisch mit den entsprechenden Bitleitungen 908b gekoppelt sind. Die Erfassungsverstärker-/Treiberschaltung 906 treibt die Source-Leitungen 908a und die Bitleitungen 908b an, um aus Speicherzellen zu lesen und in diese zu schreiben, die von der Reihendecoder-/Treiberschaltung 1706 ausgewählt sind.
  • Während einer Schreiboperation: 1) empfängt die dynamische Zuweisungsschaltung 904 ein logisches Wort mit weniger Bits als ein physisches Wort; 2) weist dynamisch Speicherzellen entsprechend dem physischen Wort zu dem logischen Wort zu; 3) platziert jedes Bit des logischen Worts in der dazu zugewiesenen physischen Bitstelle; und 4) gibt Schreibsignale, die das physische Wort darstellen, an die Erfassungsverstärker-/Treiberschaltung 906 über Datenleitungen 910 aus. Die Schreibdatensignale sind individuell für die Bits des physischen Worts und sind daher individuell für die Spalten des physischen Speicherarrays 602. Weiter codieren die Schreibdatensignale die Datenzustände, um die Speicherzellen in die entsprechenden Spalten zu setzen. Die Erfassungsverstärker-/Treiberschaltung 906 empfängt die Schreibdatensignale von der dynamischen Zuweisungsschaltung 904 und treibt die Source- und Bitleitungen 908a, 908b mit den geeigneten Vorspannungen an, um die Speicherzellen auf die Datenzustände zu setzen, die von den entsprechenden Schreibdatensignalen codiert sind.
  • Während einer Leseoperation spannt die Erfassungsverstärker-/Treiberschaltung 906 die Source- und Bitleitungen 908a, 908b mit einer Lesespannung vor, um Leseströme individuell für die Spalten des physischen Speicherarrays 602 zu erzeugen. Weiter vergleichen die Erfassungsverstärkerblöcke 906b der Erfassungsverstärker-/Treiberschaltung 906 die Leseströme mit ersten beziehungsweise zweiten Referenzströmen Iref,1, Iref,2, um Lesedatensignale und Lesemarkierungssignale zu erzeugen. Die Lesedatensignale sind individuell für die Spalten des physischen Speicherarrays 602 und codieren die Datenzustände, die aus den Speicherzellen in den entsprechenden Spalten gelesen sind. Weiter stellen die Lesedatensignale ein physisches Wort dar, das aus dem physischen Speicherarray 602 gelesen ist. Die Lesemarkierungssignale sind auch individuell für die Spalten des physischen Speicherarrays 602 und codieren, ob die Speicherzellen in den entsprechenden Spalten in einem Datenzustand oder dem permanenten Zustand sind. Die dynamische Zuweisungsschaltung 904: 1) empfängt die Lesedaten- und Markierungssignale über die Datenleitungen 910 beziehungsweise die Markierungsleitungen 912 von der Erfassungsverstärker-/Treiberschaltung 906; 2) weist Speicherzellen des physischen Worts dynamisch zu einem logischen Wort zu; 3) besetzt jede Bitstelle des logischen Worts mit dem durch die dynamische Zuweisung zugewiesenen physischen Bit; und 4) gibt das logische Wort aus.
  • Während 13, 14A, 15, 16A und 17 den Speicherkern 902 wie in 9 eingerichtet veranschaulichen, kann der Speicherkern 902 alternativ, wie in 12 eingerichtet sein. Mit anderen Worten, 13, 14A, 15, 16A und 17 können alternativ einen Spaltendecoder 1202 wie in 12 aufweisen. Während 14B und 16B den Speicherkern 902 wie in 12 eingerichtet veranschaulichen, kann der Speicherkern 902 alternativ wie in 9 eingerichtet sein. Mit anderen Worten, 14B und 16 können alternativ den Spaltendecoder 1202 und die ursprüngliche Spaltenadresse 1406 weglassen.
  • In Bezug auf 18-24, 25A, 26, 27A und 27B ist eine Reihe schematischer Diagramme 1800-2400, 2500A, 2500B, 2600, 2700A, 2700B mancher Ausführungsformen eines Verfahrens zur Speicherreparatur unter Verwendung LUT-freier dynamischer Speicherzuweisung bereitgestellt. Das Verfahren kann zum Beispiel von oder unter Verwendung von dem IC-Chip in einer beliebigen von 9, 12, 13, 14A, 15 und 16A oder von oder unter Verwendung von einem anderen geeigneten IC-Chip durchgeführt werden.
  • Wie durch das schematische Diagramm 1800 von 18 veranschaulicht, ist ein Speicherarray 602 bereitgestellt, das eine Vielzahl von Speicherzellen 102 in einer Vielzahl von Reihen und einer Vielzahl von Spalten aufweist. Wie zuvor, sind die Speicherzellen 102 individuell mit M<Reihenzahl>,<Spaltenzahl> markiert, die Reihen sind individuell mit Rp,<Reihennummer> markiert und die Spalten sind individuell mit Cp,<Spaltenzahl> markiert. Innerhalb der tiefgestellten Zeichen sind „Reihenzahl“ und „Spaltenzahl“ Ganzzahlen, die eine spezifische Reihe beziehungsweise eine spezifische Spalte in dem Speicherarray 602 identifizieren.
  • Die Speicherzellen 102 sind jeweils in einem ersten Datenzustand, einem zweiten Datenzustand oder einem permanenten Zustand. Der erste Datenzustand kann zum Beispiel einer logischen „1“ entsprechen, wohingegen der zweite Datenzustand zum Beispiel einer logischen „0“ entsprechen kann, oder umgekehrt. Der permanente Zustand kann zum Beispiel einem Zustand entsprechen, der unumkehrbar ist oder ansonsten schwer umzukehren ist. Weiter sind die Speicherzellen 102 schematisch als Kreise veranschaulicht, wenn sie in dem ersten und zweiten Datenzustand sind und angenommen gesund zu sein, außer sie sind mit einem Kreuz markiert. Da alle der Speicherzellen 102 in 18 Kreise ohne Kreuze sind, sind alle der Speicherzellen in Datenzuständen (z.B. sind Datenspeicherzellen 102d) und sind angenommen gesund zu sein. In manchen Ausführungsformen speichern Speicherzellen M1,1 bis M1,8 in Reihe Rp,1 1, 0, 1, 1, 0, 1, 1, 0, wo 1 und 0 dem ersten und zweiten Datenzustand entsprechen. Andere geeignete Werte sind jedoch erdenklich.
  • Die Reihen sind eingerichtet, entsprechende physische Wörter 104 zu speichern, die jeweils eine Größe von 8 Bits aufweisen und daher 8 Spalten überspannen. In alternativen Ausführungsformen weisen die physischen Wörter 104 andere geeignete Größen auf. Weiter sind in manchen Ausführungsformen die Reihen jeweils eingerichtet, mehrere physische Wörter zu speichern, wovon ein Beispiel in 5 gezeigt ist. Wie hierin nachfolgend zu sehen, sind die physischen Wörter 104 größer als logische Wörter, die in das Speicherarray 602 zu schreiben oder aus diesem zu lesen sind, um Redundanz zu erlauben. Zum Beispiel können die logischen Wörter eine Größe von 6 Bits aufweisen, um 2 Bits an Redundanz zu erlauben. Andere geeignete Größen sind jedoch für die logischen Wörter erdenklich. In manchen Ausführungsformen entsprechen die Speicherzellen bei Spalte Cp,7 und Spalte Cp,8 Redundanz.
  • In manchen Ausführungsformen sind die Speicherzellen 102 MRAM-Zellen, RRAM-Zellen, FeRAM-Zellen oder ein anderer geeigneter Typ von Speicherzellen. In mindestens manchen solcher Ausführungsformen können die Speicherzellen 102 frei von Selektoren sein und/oder können durch dielektrischen Durchbruch von Isolatoren, die oberen und unteren Elektroden trennen, auf den permanenten Zustand gesetzt werden. In alternativen Ausführungsformen sind die Speicherzellen 102 1S1R-Speicherzellen, die individuelle resistive Speicherelemente und individuelle Selektoren aufweisen. In mindestens manchen Ausführungsformen können die Speicherzellen 102 durch dielektrischen Durchbruch von Isolatoren in den resistiven Speicherelementen und/oder in den Selektoren auf den permanenten Zustand gesetzt werden. Das resistive Speicherelement kann zum Beispiel eine MRAM-Zelle, eine FeRAM-Zelle, eine RRAM-Zelle, eine PCM-Zelle oder ein anderer Typ von resistivem Speicherelement sein.
  • Wie durch das schematische Diagramm 1900 von 19 veranschaulicht, werden defekte Speicherzellen 102f in dem Speicherarray 602 identifiziert. Defekte Speicherzellen 102f sind schematisch mit einem Kreuz identifiziert und sind Speicherzellen, die überhaupt nicht oder nicht wie angedacht arbeiten (z.B. aus Designspezifikationen fallen). Zum Beispiel kann eine Designspezifikation angeben, dass ein Schrieb zu dem ersten Datenzustand innerhalb eines spezifischen Spannungsbereichs auftreten soll. Beliebige Speicherzellen, die versagen, in den ersten Datenzustand einzutreten, wenn sie innerhalb des spezifischen Spannungsbereichs vorgespannt werden, fallen aus der Designspezifikation und können daher als defekte Speicherzellen betrachtet werden. Ungeachtet dessen, dass eine Schreibspannung in dem Beispiel von zuvor verwendet wurde, sind andere geeignete Parameter erdenklich. Die defekten Speicherzellen 102f können zum Beispiel durch CP-Testung oder einen anderen geeigneten Testungsprozess während Bildung eines IC-Chips bestimmt werden, der das Speicherarray 602 aufweist.
  • Wie durch das schematische Diagramm 200 von 20 veranschaulicht, wird eine Bestimmung angestellt, ob es ausreichend Redundanz gibt, um die defekten Speicherzellen 102f aufzunehmen, die identifiziert wurden. Mit anderen Worten, eine Bestimmung wird angestellt, ob die defekten Speicherzellen 102f, die identifiziert wurden, in das Reparaturbudget fallen. Wie zuvor beschrieben, gibt es zwei redundante Speicherzellen pro physischem Wort 104. Deshalb, weil es höchstens eine defekte Speicherzelle pro Reihe gibt, gibt es ausreichend Redundanz.
  • Weil bestimmt wurde, dass es ausreichend Redundanz gibt, sind die defekten Speicherzellen 102f auf den permanenten Zustand gesetzt. Zur Klarheit sind Speicherzellen in dem permanenten Zustand (z.B. permanente Speicherzellen 102p) schematisch als Quadrate veranschaulicht, wohingegen Speicherzellen in dem ersten und zweiten Datenzustand (z.B. Datenspeicherzellen 102d) schematisch als Kreise veranschaulicht sind. In manchen Ausführungsformen sind die defekten Speicherzellen 102f durch Vorspannen der defekten Speicherzellen 102f mit einer Hochspannung, um permanenten oder nahezu permanenten dielektrischen Durchbruch von Isolatoren zu verursachen, die oberen und unteren Elektroden der defekten Speicherzellen 102f trennen, auf den permanenten Zustand gesetzt. Andere geeignete Prozesse sind jedoch in alternativen Ausführungsformen erdenklich. Falls bestimmt wurde, dass es unzureichend Redundanz gegeben hat, wäre das Speicherarray 602 betriebsunfähig und würde daher ausrangiert werden.
  • Wie durch das schematische Diagramm 2100 von 21 veranschaulicht, sind erste Tail-Speicherzellen 102t1 , die schlechter als eine Schwelle sind, identifiziert. Zur Klarheit, die ersten Tail-Speicherzellen 102t1 sind schematisch mit Kreuzen identifiziert. Die ersten Tail-Speicherzellen 102t1 sind Speicherzellen, die in Designspezifikationen fallen, aber unter den am schlechtesten arbeitenden Speicherzellen sind. Die hierin nachfolgend besprochenen 28 und 29 stellen nichtbegrenzende Beispiele von Tail-Auswahl bereit. Die ersten Tail-Speicherzellen 102t1 können zum Beispiel durch CP-Testung oder durch einen anderen geeigneten Testprozess während Bildung eines IC-Chips, der das Speicherarray 602 aufweist, bestimmt werden.
  • Wie durch das schematische Diagramm 2200 von 22 veranschaulicht, ist eine Bestimmung, ob es ausreichend Redundanz gibt, um die ersten Tail-Speicherzellen 102t1 aufzunehmen, die identifiziert wurden, angestellt. Mit anderen Worten, es wird eine Bestimmung angestellt, ob die ersten Tail-Speicherzellen 102t1 identifiziert wurden, in das Reparaturbudget zu fallen. Wie zuvor beschrieben, gibt es zwei redundante Speicherzellen pro physischem Wort 104. Da jede Reihe genug Redundanz aufweist, um die defekten Speicherzellen 102f, die bei 19 identifiziert sind (nun als permanente Speicherzellen 102p dargestellt), und auch die ersten Tail-Speicherzellen 102t1 , die bei 21 identifiziert sind, aufzunehmen, gibt es ausreichend Redundanz.
  • Weil bestimmt wurde, dass es ausreichend Redundanz gibt, sind die ersten Tail-Speicherzellen 102t1 auf den permanenten Zustand gesetzt. Wie zuvor sind Speicherzellen in dem permanenten Zustand (z.B. permanente Speicherzellen 102p) schematisch als Quadrate veranschaulicht, wohingegen Speicherzellen in dem ersten und zweiten Datenzustand (z.B. Datenspeicherzellen 102d) schematisch als Kreise veranschaulicht sind. In manchen Ausführungsformen sind die ersten Tail-Speicherzellen 102t1 auf den permanenten Zustand gesetzt, indem die ersten Tail-Speicherzellen 102t1 mit einer Hochspannung vorgespannt werden, um permanenten oder nahezu permanenten dielektrischen Durchbruch von Isolatoren zu bewirken, die oberen und unteren Elektroden der ersten Tail-Speicherzellen 102t1 trennen. Andere geeignete Prozesse sind jedoch erdenklich. Falls bestimmt wurde, dass es unzureichend Redundanz gegeben hat, würde das Speicherarray 602 mit dem Betrieb fortfahren, ohne irgendwelche zusätzlichen Speicherzellen auf den permanenten Zustand zu setzen.
  • Wie durch das schematische Diagramm 2300 von 23 veranschaulicht, ist die Schwelle zur Tail-Auswahl angepasst, um mehr der am schlechtesten leistenden Speicherzellen aufzunehmen. Weiter werden die Handlungen bei 21 und 22 wiederholt. Daher werden zweite Tail-Speicherzellen 102t2 , die eine bessere Leistung als die ersten Tail-Speicherzellen 102t1 von 21 zeigen, aber immer noch unter den Speicherzellen mit der schlechtesten Leistung sind, identifiziert. Zur Klarheit, die zweiten Tail-Speicherzellen 102t2 sind schematisch mit Kreuzen identifiziert. Zusätzlich wird nach dem Identifizieren der zweiten Tail-Speicherzellen 102t2 bestimmt, dass es unzureichend Redundanz gibt, um die zweiten Tail-Speicherzellen 102t2 aufzunehmen. Zum Beispiel würde Reihe Rp,2 drei redundante Speicherzellen brauchen, um die Speicherzellen, die bereits in dem permanenten Zustand sind, und eine zweite Tail-Speicherzelle aufzunehmen. Weil es unzureichend Redundanz gibt, fährt das Speicher-Array 602 mit dem Betrieb fort, ohne irgendwelche zusätzlichen Speicherzellen auf den permanenten Zustand zu setzen.
  • Wie durch das schematische Diagramm 2400 von 24 veranschaulicht, ist eine Reihe des Speicherarrays 602 (siehe z.B. 23) für eine Lese- oder Schreiboperation ausgewählt. Wie veranschaulicht, ist Reihe Rp,1 ausgewählt, aber keine andere Reihe in dem Speicherarray 602 kann ausgewählt sein. Die Reihe kann zum Beispiel in Übereinstimmung mit einer Reihenadresse ausgewählt sein. Zusätzlich sind in dem Ausmaß, in dem die Reihe eingerichtet ist, mehrere physische Wörter 104 zu speichern, Spalten entsprechend einem einzelnen physischen Wort ausgewählt. Die Spalten können zum Beispiel in Übereinstimmung mit einer Spaltenadresse ausgewählt sein.
  • Auch durch das schematische Diagramm 2400 von 24 veranschaulicht, sind gesunde Speicherzellen 102h dynamisch einem logischen Wort 106 zugewiesen. Gesunde und abnormale Speicherzellen 102h, 102a sind unter Verwendung des permanenten Zustands identifiziert, um zwischen den gesunden Speicherzellen 102h und den abnormalen Speicherzeilen 102a zu unterscheiden. Die gesunden Speicherzellen 102h sind in dem ersten und zweiten Datenzustand, wohingegen die abnormalen Speicherzellen 102a in dem permanenten Zustand sind. Daher sind die gesunden Speicherzellen 102h im Allgemeinen dieselben wie die Datenspeicherzellen 102d und die abnormalen Speicherzellen 102a sind im Allgemeinen dieselben wie die permanenten Speicherzellen 102p. Die abnormalen Speicherzellen 102a weisen die defekten Speicherzellen 102f, die bei 19 identifiziert sind, wie auch die ersten Tail-Speicherzellen 102t1, die bei 21 identifiziert sind, auf, da diese Speicherzellen auf den permanenten Zustand gesetzt wurden.
  • Mit der abgeschlossenen Identifikation werden die gesunden Speicherzellen 102h, nicht aber die abnormalen Speicherzellen 102a dynamisch dem logischen Wort 106 von links nach rechts zugewiesen, bis die Zahl zugewiesener Speicherzellen dieselbe wie die Zahl von Bits in dem logischen Wort 106 ist. Weil Speicherzelle M1,2 in dem permanenten Zustand ist (wie durch die Quadratform schematisch veranschaulicht), wird diese Speicherzelle während dynamischer Zuweisung übersprungen.
  • Wie durch das schematische Diagramm 2500A von 25A veranschaulicht, wird das logische Wort 106 aus den zugewiesenen Speicherzellen gelesen. Jede Bitstelle des logischen Worts 106 ist mit dem physischen Bit besetzt, das ihm durch die dynamische Zuweisung zugewiesen ist. Zum Beispiel kann die zweite Bitstelle des logischen Worts 106 mit dem dritten Bit des physischen Worts 104 besetzt sein, das Speicherzelle M1,3 entspricht. In manchen Ausführungsformen wird, wie veranschaulicht, das logische Wort 106, das aus den Speicherzellen 102 gelesen ist, „101101“, wo 1 und 0 dem ersten und zweiten Datenzustand entsprechen. Andere geeignete Werte sind jedoch erdenklich.
  • Wie durch das schematische Diagramm 2500B von 25B veranschaulicht, ist das logische Wort 106 alternativ in die zugewiesenen Speicherzellen geschrieben. Mit anderen Worten ist 25B eine Alternative zu 25A und fährt von 24 fort, während 52A übersprungen wird. Jedes Bit des logischen Worts 106 ist in die physische Bitstelle platziert, die ihm von der dynamischen Zuweisung zugewiesen ist. Zum Beispiel ist das weite Bit des logischen Worts 106 in die dritte Bitstelle des physischen Worts 104 platziert, das Speicherzelle M1,3 entspricht. In manchen Ausführungsformen ist, wie veranschaulicht, das logische Wort 106, das in die Speicherzellen 102 geschrieben ist, „101101“, wo 1 und 0 dem ersten und zweiten Datenzustand entsprechen. Andere geeignete Werte sind jedoch erdenklich.
  • Wie durch die schematischen Diagramme 2600, 2700A, 2700B von 26, 27A und 27B veranschaulicht, werden die Handlungen von 24, 25A und 25B jeweils wiederholt. Jedoch hat zwischen Abschluss der Handlungen von 24, 25A und 25B und Beginn der Handlungen von 26, 27A und 27B Speicherzelle M1,5 versagt und wurde auf den permanenten Zustand gesetzt. Das Versagen kann zum Beispiel durch eine ECC-Schaltung oder eine andere geeignete Schaltung erfasst worden sein. Weil Speicherzelle M1,5 auf den permanenten Zustand gesetzt ist, ändert sich die dynamische Zuweisung auf das logische Wort 106 dahin, Speicherzelle M1,5 zu überspringen und das logische Wort 106 wird aus einer verschiedenen Menge von Speicherzellen gelesen oder in diese geschrieben. Ähnlich 25A und 25B sind 27A und 27B Alternativen voneinander, sodass das Verfahren von 25A oder 25B mit 26 und von 26 mit 27A oder 27B fortfährt.
  • Wie in 18-24, 25A, 25B, 26, 27A und 27B gesehen, indem die abnormalen Speicherzellen 102 unter Verwendung des permanenten Zustands markiert werden und dann der LUT-freie dynamische Speicherzuweisungsprozess verwendet wird, die abnormalen Speicherzellen 102a auszufiltern, die während Lese- und Schreiboperationen markiert sind, kann bitweise Speicherreparatur ohne eine LUT erzielt werden. Dementsprechend kann Latenz und Stromverbrauch niedrig und die Speicherdichte hoch sein. Indem Speicherreparatur bitweise durchgeführt wird, kann die Reparatureffizienz hoch sein. Die hohe Reparatureffizienz kann dem Reparaturbudget (z.B. der Zahl von Bits, die repariert werden können) erlauben, erhöht zu werden. Das erhöhte Reparaturbudget kann Tail-Speicherzellen erlauben, zur verbesserten Leistungseffizienz und/oder Geschwindigkeit ersetzt zu werden. Weiter kann das erhöhte Reparaturbudget erlauben, Prozess- und/oder Designeinschränkungen zu lockern.
  • Während 18-24, 25A, 25B, 26, 27A und 27B in Bezug auf ein Verfahren beschrieben sind, wird ersichtlich, dass die in 18-24, 25A, 25B, 26, 27A und 27B gezeigten Strukturen nicht auf das Verfahren begrenzt sind, sondern eher für sich allein stehen, separat von dem Verfahren. Während 18-24, 25A, 25B, 26, 27A und 27B als eine Reihe von Handlungen beschrieben sind, wird begrüßt, dass die Reihung der Handlungen in anderen Ausführungsformen geändert werden kann. Während 18-24, 25A, 25B, 26, 27A und 27B eine spezifische Menge von Handlungen veranschaulichen und beschreiben, können manche Handlungen, die veranschaulicht und/oder beschrieben sind, in anderen Ausführungsformen weggelassen werden. Weiter können Handlungen, die nicht veranschaulicht und/oder beschrieben sind, in anderen Ausführungsformen umfasst sein. Zum Beispiel können, da Speicherzellen während der Lebensdauer des Speicherarrays 602 versagen (siehe z.B. 23), diese Speicherzellen auf den permanenten Zustand zur Ersetzung gemäß dem LUT-freien dynamischen Speicherzuweisungsprozess der vorliegenden Offenbarung gesetzt werden. Solche Speicherzellen können zum Beispiel während der Lebensdauer des Speicherarrays 602 unter Verwendung einer ECC-Schaltung oder durch eine andere geeignete Schaltung zur Erfassung von Speicherfehlern identifiziert werden.
  • In Bezug auf 28 ist ein Ablaufdiagramm 2800 mancher Ausführungsformen des Verfahrens von 18-24, 25A, 25B, 26, 27A und 27B bereitgestellt.
  • Bei 2802 ist ein Array von Speicherzellen, das eine Vielzahl von Reihen und eine Vielzahl von Spalten aufweist, bereitgestellt, wo jede Speicherzelle des Arrays in einem ersten Datenzustand, einem zweiten Datenzustand oder einem permanenten Zustand ist und wo Speicherzellen bei einer ersten Reihe des Arrays eingerichtet sind, ein physisches Wort zu speichern. Siehe zum Beispiel 18.
  • Bei Handlung 2804 werden defekte Speicherzellen in dem Array identifiziert. Siehe zum Beispiel 19. Wie zuvor besprochen, sind defekte Speicherzellen Speicherzellen, die überhaupt nicht arbeiten oder nicht wie angedacht arbeiten (z.B. aus Designspezifikationen fallen).
  • Bei Handlung 2806 wird eine Bestimmung angestellt, ob die defekten Speicherzellen in das Reparaturbudget des Speicherarrays fallen. Siehe zum Beispiel 20. Falls die defekten Speicherzellen aus dem Reparaturbudget fallen (z.B. es zu viele defekte Speicherzellen zur Reparatur gibt), versagt das Verfahren und das Array wird ausrangiert. Jedoch, falls die defekten Speicherzellen in das Reparaturbudget fallen, fährt das Verfahren mit Handlung 2808 fort.
  • Bei Handlung 2808 werden die defekten Speicherzellen auf den permanenten Zustand gesetzt, um die defekten Speicherzellen zu markieren. Siehe zum Beispiel 20.
  • Bei Handlung 2810 werden Tail-Speicherzellen, die schlechter als eine Schwelle sind, in dem Speicherarray identifiziert. Siehe zum Beispiel 21. Wie zuvor besprochen, sind Tail-Speicherzellen Speicherzellen, die in Designspezifikationen fallen aber unter Speicherzellen mit der schlechtesten Leistung sind.
  • Bei Handlung 2812 wird eine Bestimmung angestellt, ob die Tail-Speicherzellen in das Reparaturbudget des Speicherarrays fallen. Siehe zum Beispiel 22. Falls die Tail-Speicherzellen aus dem Reparaturbudget fallen (z.B. es zu viele Tail-Speicherzellen zur Reparatur gibt), fährt das Verfahren mit Handlung 2818 fort. Ansonsten fährt das Verfahren mit Handlung 2814 fort.
  • Bei Handlung 2814 werden die Tail-Speicherzellen auf den permanenten Zustand gesetzt, um die Tail-Speicherzellen zu markieren. Siehe zum Beispiel 22.
  • Bei Handlung 2816 wird die Schwelle angepasst, um mehr Tail-Speicherzellen aufzunehmen und das Verfahren geht zurück zu Handlung 2810. Siehe zum Beispiel 23.
  • Bei Handlung 2818 wird eine Lese- oder Schreiboperation an den Speicherzellen entsprechend dem physischen Wort durchgeführt. Siehe zum Beispiel 24, 25A, 25B, 26 und 27A, 27B. Bei Handlung 2818a werden gesunde Speicherzellen, die dem physischen Wort entsprechen, und abnormale Speicherzellen, die dem physischen Wort entsprechen, unter Verwendung des permanenten Zustands identifiziert, um zwischen den gesunden und abnormalen Speicherzellen zu unterscheiden. Siehe zum Beispiel 24. Bei 2818b werden die gesunden Speicherzellen dynamisch einem logischen Wort zugewiesen, während die abnormalen Speicherzellen ausgeschlossen werden. Siehe zum Beispiel 24 und 26. Bei 2818c wird das logische Wort aus den gesunden Speicherzellen gelesen oder in diese geschrieben, die dynamisch dem logischen Wort zugewiesen sind. Siehe zum Beispiel 25A, 25B, 27A beziehungsweise 27B zum Lesen und Schreiben.
  • Während das Ablaufdiagramm 2800 von 28 hierin als eine Reihe von Handlungen oder Ereignissen veranschaulicht und beschrieben ist, wird begrüßt, dass die veranschaulichte Reihenfolge solcher Handlungen oder Ereignisse nicht in einem begrenzenden Sinn auszulegen ist. Zum Beispiel können manche Handlungen in verschiedenen Reihenfolgen und/oder gleichzeitig mit anderen Handlungen oder Ereignissen nebst den hierin veranschaulichten und/oder beschriebenen auftreten. Weiter können nicht alle veranschaulichten Handlungen nötig sein, um einen oder mehrere Aspekte oder Ausführungsformen der Beschreibung hierin zu implementieren und eine oder mehrere der hierin abgebildeten Handlungen können in einer oder mehreren separaten Handlungen und/oder Phasen umgesetzt sein.
  • In Bezug auf 29 ist ein Graph 2900 mancher Ausführungsformen von Lesestromwahrscheinlichkeitsverteilungen 2902 zum Identifizieren von Tail-Speicherzellen bereitgestellt. Die horizontale Achse entspricht Lesestrom und die vertikale Achse entspricht Wahrscheinlichkeit. Die Lesestromwahrscheinlichkeitsverteilungen 2902 weisen eine erste Lesestromwahrscheinlichkeitsverteilung 2902a für eine Speicherzelle in dem ersten Datenzustand auf und weisen weiter eine zweite Lesestromwahrscheinlichkeitsverteilung 2902b für eine Speicherzelle in dem zweiten Datenzustand auf.
  • Wenn Speicherzellen gelesen werden, ist es umso leichter zwischen dem ersten und zweiten Daten Zustand zu unterscheiden, desto größer der Unterschied zwischen der ersten und zweiten Lesestromwahrscheinlichkeitsverteilung 2902a, 2902b ist, und umso zuverlässiger sind die Speicherzellen daher. Deshalb zeigt die Speicherzelle eine umso schlechtere Leistung, desto höher der Lesestrom für eine Speicherzelle in dem ersten Datenzustand ist. Weiter zeigt die Speicherzelle eine umso schlechtere Leistung, desto niedriger der Lesestrom für eine Speicherzelle in dem zweiten Datenzustand ist. Unter Berücksichtigung dessen, kann Tail-Auswahl involvieren, Speicherzellen innerhalb eines Tail-Fensters 2904 auszuwählen, das zwischen der ersten und zweiten Lesestromwahrscheinlichkeitsverteilung 2902a, 2902b zentriert ist und das die Speicherzellen mit der schlechtesten Leistung in dem ersten und zweiten Datenzustand überlappt. Mit anderen Worten, Tail-Auswahl kann involvieren, Speicherzellen auszuwählen, die über einer unteren Schwelle des Tail-Fensters 2904 sind, wenn sie in dem ersten Datenzustand sind, und die unter einer oberen Schwelle des Tail-Fensters 2904 sind, wenn sie in dem zweiten Datenzustand sind. Weiter kann in dem Ausmaß, in dem mehrere Wiederholungen von Tail-Auswahl durchgeführt werden, das Tail-Fenster 2904 schrittweise vergrößert werden, um mehr Tail-Bits aufzunehmen.
  • Wie zuvor besprochen, erlaubt das größere Reparaturbudget aus der Verwendung von LUT-freier dynamischer Speicherzuweisung, dass Tail-Speicherzellen durch Speicherzellen mit besserer Leistung ersetzt werden. Dies erlaubt wiederum eine Erhöhung der Trennung zwischen der ersten und zweiten Lesestromwahrscheinlichkeitsverteilung 2902a, 2902b. Indem die Trennung zwischen der ersten und zweiten Lesestromwahrscheinlichkeitsverteilung 2902a, 2902b erhöht wird, kann Resilienz eines Speicherarrays erhöht werden. Weiter können Prozess- und/oder Designeinschränkungen gelockert werden.
  • In Bezug auf 30 ist ein Graph 3000 mancher Ausführungsformen einer Kurve 3002, die ein Schreibfehlerverhältnis über verschiedene Schreibstärken beschreibt, bereitgestellt. Die vertikale Achse entspricht Schreibfehlerverhältnis, das das Verhältnis defekter Speicherzellen in einem Speicherarray zu gesamten Speicherzellen in dem Speicherarray ist. Die horizontale Achse entspricht Schreibstärke, die zum Beispiel Schreibspannung, Schreibstrom, Schreibpulsbreite oder andere geeignete Parameter, die die Schreibstärke beeinflussen, sein kann.
  • Wenn in Speicherzellen geschrieben wird, ist es umso besser, je niedriger die Schreibstärke ist. Niedrigere Schreibstärken führen zu weniger Leistungsverbrauch, längerer Lebensdauer und so weiter. Deshalb zeigt die Speicherzelle eine umso schlechtere Leistung, je höher die Schreibstärke für eine Speicherzelle ist. In Hinblick darauf kann Tail-Auswahl involvieren, Speicherzellen abhängig von hohen Schreibstärken über eine Schwellenschreibstärke 30004 hinaus auszuwählen. Weiter kann in dem Ausmaß, in dem mehrere Wiederholungen von Tail-Auswahl durchgeführt werden, die Schwellenschreibstärke 3004 schrittweise verringert werden, um mehr Tail-Bits aufzunehmen.
  • Wie zuvor besprochen, erlaubt das größere Reparaturbudget aus Verwendung von LUT-freier dynamischer Speicherzuweisung Tail-Speicherzellen, durch Speicherzellen mit besserer Leistung ersetzt zu werden. Dies erlaubt wiederum reduzierte Schreibstärke. Indem Schreibstärke reduziert wird, kann Leistungsverbrauch reduziert werden, Zuverlässigkeit kann erhöht werden und Prozess- und/oder Designeinschränkungen können gelockert werden.
  • In Bezug auf 31-36, 37A und 37B ist eine Reihe schematischer Diagramme 3100-3600, 3700A, 3700B mancher Ausführungsformen eines Verfahrens zur Speicherreparatur unter Verwendung von LUT-freier dynamischer Speicherzuweisung und einer LUT-basierten Speicherzuweisung bereitgestellt. Das Verfahren kann zum Beispiel durch den IC-Chip oder unter Verwendung des IC-Chips in einer beliebigen von 9, 12, 14B und 16B oder durch einen oder Verwendung eines anderen geeigneten IC-Chip(s) durchgeführt werden.
  • Wie durch das schematische Diagramm 3100 von 31 veranschaulicht, werden die in Bezug auf 18 und 19 beschriebenen Handlungen durchgeführt. Ein Speicherarray 602 ist wie in Bezug auf 18 beschrieben bereitgestellt, außer dass das Speicherarray 602 eine zusätzliche Reihe (z.B. Reihe Rp,7) für LUT-basierte Redundanz aufweist. In alternativen Ausführungsformen weist das Speicherarray 602 zusätzliche Reihen für LUT-basierte Redundanz auf. Defekte Speicherzellen 102f in dem Speicherarray 602 sind dann wie in Bezug auf 19 beschrieben identifiziert. Defekte Speicherzellen 102f sind schematisch mit Kreuzen identifiziert.
  • Wie durch das schematische Diagramm 3200 von 32 veranschaulicht, ist eine schlechteste Reihe (z.B. Reihe Rp,4) identifiziert. Die schlechteste Reihe ist die Reihe mit den meisten defekten Speicherzellen. Weiter ist die schlechteste Reihe auf die redundante Reihe zum Ersatz abgebildet, wie schematisch durch einen ersten Pfeil 3102 veranschaulicht. Die Reihenabbildung kann zum Beispiel erzielt werden, indem die Reihenadresse der schlechtesten Reihe und die Reihenadresse der redundanten Reihe zu einer Reihenreparatur-LUT hinzugefügt wird (siehe z.B. 1408 bei 14B und 16B). In alternativen Ausführungsformen weist das Speicherarray 602 eine oder mehrere zusätzliche redundante Reihen auf. IN mindestens manchen dieser alternativen Ausführungsformen können eine oder mehrere zusätzliche schlechteste Reihen auf die zusätzliche(n) redundante(n) Reihe(n) zum Ersatz abgebildet werden. In manchen Ausführungsformen speichern die Speicherzellen 102 in der redundanten Reihe (z.B. Rp,7) jeweils 1, 0, 1, 1, 0, 1, 0, 1, wo 1 und 0 dem ersten und zweiten Datenzustand entsprechen. Andere geeignete Werte sind jedoch erdenklich.
  • Wie durch das schematische Diagramm 3300 von 33 veranschaulicht, werden die in Bezug auf 20 beschriebenen Handlungen durchgeführt. Eine Bestimmung wird angestellt, ob es ausreichend Redundanz gibt, um einen Rest der defekten Speicherzellen 102f aufzunehmen, die identifiziert wurden. Der Rest defekter Speicherzellen entspricht defekten Speicherzellen, die nicht in der schlechtesten Reihe (z.B. Reihe Rp,4) sind. Zusätzlich wird bestimmt, dass es ausreichend Redundanz gibt, damit der Rest der defekten Speicherzellen 102f auf den permanenten Zustand gesetzt ist. Zur Klarheit, Speicherzellen in dem permanenten Zustand (z.B. permanente Speicherzellen 102p) sind schematisch als Quadrate veranschaulicht, wohingegen Speicherzellen in dem ersten und zweiten Datenzustand (z.B. Datenspeicherzellen 102d) schematisch als Kreise veranschaulicht sind. Falls bestimmt wurde, dass es unzureichend Redundanz gegeben hat, würde das Speicherarray 602 betriebsunfähig sein und daher ausrangiert werden.
  • Wie durch das schematische Diagramm 3400 von 34 veranschaulicht, werden die in Bezug auf 21 und 22 beschriebenen Handlungen durchgeführt. Erste Tail-Speicherzellen 102t1, die schlechter als eine Schwelle sind, sind wie in Bezug auf 21 beschrieben identifiziert. Zur Klarheit, die ersten Tail-Speicherzellen 102t1 sind schematisch mit Kreuzen identifiziert. Eine Bestimmung wird angestellt, ob es ausreichend Redundanz gibt, um die ersten Tail-Speicherzellen 102t1 aufzunehmen, die wie in Bezug auf 22 beschrieben identifiziert wurden. Weiter wird bestimmt, dass es ausreichend Redundanz gibt, dass die ersten Tail-Speicherzellen 102t1 wie in Bezug auf 22 beschrieben auf den permanenten Zustand gesetzt sind. Falls bestimmt wurde, dass es unzureichend Redundanz gegeben hat, würde das Speicherarray 602 mit dem Betrieb fortfahren, ohne zusätzliche Speicherzellen auf den permanenten Zustand zu setzen.
  • Wie durch das schematische Diagramm 3500 von 35 veranschaulicht, ist die Schwelle zur Tail-Auswahl angepasst, mehr der Speicherzellen mit der schlechtesten Leistung aufzunehmen. Weiter werden die Handlungen bei 21 und 22 wiederholt. Daher sind zweite Tail-Speicherzellen 102t2 identifiziert, die eine bessere Leistung als die ersten Tail-Speicherzellen 102t1 von 34 zeigen, aber immer noch unter den Speicherzellen mit der schlechtesten Leistung sind. Zusätzlich wird bestimmt, dass es unzureichend Redundanz gibt, um die zweiten Tail-Speicherzellen 102t2 aufzunehmen. Daher fährt das Speicherarray 602 mit dem Betrieb fort, ohne irgendwelche zusätzlichen Speicherzellen auf den permanenten Zustand zu setzen.
  • Wie durch das schematische Diagramm 3600 von 36 veranschaulicht, ist die schlechteste Reihe (z.B. Reihe Rp,4) des Speicherarrays 602 (siehe z.B. 35) für eine Lese- oder Schreiboperation ausgewählt. Dies wird wie in Bezug auf 24 beschrieben durchgeführt, außer dass die redundante Reihe (z.B. Reihe Rp,7) anstelle der schlechtesten Reihe verwendet wird, weil die schlechteste Reihe auf die redundante Reihe abgebildet ist, wie schematisch durch den ersten Pfeil 3102 gezeigt. Falls die ausgewählte Reihe nicht auf die redundante Reihe abgebildet wurde, würde die ausgewählte Reihe verwendet werden. Weiter sind in dem Ausmaß, in dem die Reihe eingerichtet ist, mehrere physische Wörter 104 zu speichern, Spalten entsprechend einem einzelnen physischen Wort ausgewählt,
  • Wie ebenso durch das schematische Diagramm 3600 von 36 veranschaulicht, sind gesunde Speicherzellen 102h dynamisch einem logischen Wort 106 zugewiesen, während abnormale Speicherzellen 102a wie in Bezug auf 24 beschrieben ausgeschlossen werden.
  • Wie durch die schematischen Diagramme 3700A, 3700B von 37A und 37B veranschaulicht, werden die in Bezug auf 25A beziehungsweise 25B beschriebenen Handlungen durchgeführt. Bei 37A wird das logische Wort 106 aus den zugewiesenen Speicherzellen wie in Bezug auf 25A beschrieben gelesen. Bei 37B wird das logische Wort 106 in die zugewiesenen Speicherzellen geschrieben, wie in Bezug auf 25B beschrieben. Wie mit 25A und 25B, sind 37A und 37B Alternativen zueinander, sodass das Verfahren von 36 entweder mit 37A oder 37B fortfährt.
  • Während 31-36, 37A und 37B in Bezug auf ein Verfahren beschrieben sind, wird begrüßt, dass die in 31-36, 37A und 37B gezeigten Strukturen nicht auf das Verfahren begrenzt sind, sondern eher für sich allein stehen können, separat von dem Verfahren. Während 31-36, 37A und 37B als eine Reihe von Handlungen beschrieben sind, wird ersichtlich, dass die Reihenfolge der Handlungen in anderen Ausführungsformen geändert werden kann. Während 31-36, 37A und 37B eine spezifische Menge von Handlungen veranschaulichen und beschreiben, können manche veranschaulichten und/oder beschriebenen Handlungen in anderen Ausführungsformen weggelassen werden. Weiter können Handlungen, die nicht veranschaulicht und/oder beschrieben sind, in anderen Ausführungsformen umfasst sein. Zum Beispiel können, wenn Speicherzellen während der Lebensdauer des Speicherarrays 602 versagen (siehe z.B. 35), diese Speicherzellen zum Ersatz gemäß dem LUT-freien dynamischen Speicherzuweisungsprozess der vorliegenden Offenbarung auf den permanenten Zustand gesetzt werden. Solche Speicherzellen können zum Beispiel während der Lebensdauer des Speicherarrays 602 unter Verwendung einer ECC-Schaltung oder durch eine andere geeignete Schaltung zum Erfassen von Speicherfehlern identifiziert werden.
  • In Bezug auf 38 ist ein Ablaufdiagramm 3800 mancher Ausführungsformen des Verfahrens von 31-36, 37A und 37B bereitgestellt. Das Ablaufdiagramm 3800 ist so, wie das Ablaufdiagramm 2800 von 28 veranschaulicht und beschrieben ist, außer Handlung 3802 zwischen Handlung 2806 und Handlung 2808. Bei Handlung 3802 sind eine oder mehrere der schlechtesten Reihen auf eine beziehungsweise mehrere redundante Reihen abgebildet. Die redundante(n) Reihe(n) werden dann anstelle der schlechtesten Reihe(n) verwendet.
  • Während das Ablaufdiagramm 3800 von 28 hierin als eine Reihe von Handlungen oder Ereignissen veranschaulicht und beschrieben ist, wird begrüßt, dass die veranschaulichte Reihenfolge solcher Handlungen oder Ereignisse nicht in einem begrenzenden Sinn auszulegen ist. Zum Beispiel können manche Handlungen in verschiedenen Reihenfolgen und/oder gleichzeitig mit andern Handlungen oder Ereignissen nebst den hierin veranschaulichten und/oder beschriebenen auftreten. Weiter könne nicht alle veranschaulichten Handlungen nötig sein, um einen oder mehrere Aspekte oder Ausführungsformen der Beschreibung hierin zu implementieren und eine oder mehrere der hierin abgebildeten Handlungen können in einer oder mehreren separaten Handlungen und/oder Phasen umgesetzt sein.
  • In manchen Ausführungsformen stellt die vorliegende Offenbarung ein Verfahren bereit, umfassend: Bereitstellen eines Arrays von Speicherzellen, das eine Vielzahl von Reihen und eine Vielzahl von Spalten aufweist, wobei die Vielzahl von Reihen eine erste Reihe aufweist; Identifizieren individueller Zustände von Speicherzellen des Arrays in der ersten Reihe, wobei die Zustände ein erster Datenzustand, ein zweiter Datenzustand beziehungsweise ein permanenter Zustand sind; Zuweisen von Speicherzellen, die mit dem ersten beziehungsweise zweiten Datenzustand identifiziert sind, zu einem logischen Wort, während eine Speicherzelle ausgeschlossen wird, die mit dem permanenten Zustand identifiziert ist, wobei die mit dem permanenten Zustand identifizierte Speicherzelle zwischen den Speicherzellen ist, die mit dem ersten beziehungsweise zweiten Datenzustand identifiziert sind; und Lesen des logischen Worts aus den oder Schreiben des logischen Worts in die Speicherzellen, die dem logischen Wort zugewiesen sind. In manchen Ausführungsformen ist die erste Reihe eingerichtet, ein erstes physisches Wort und ein zweites physisches Wort zu speichern, wobei das erste und zweite physische Wort sich eine gemeinsame Größe teilen, die größer als die des logischen Worts ist und wobei das logische Wort bei Speicherzellen entsprechend dem ersten physischen Wort lokalisiert ist. In manchen Ausführungsformen wird das Zuweisen von links nach rechts entlang der ersten Reihe des Arrays durchgeführt. In manchen Ausführungsformen umfasst das Identifizieren: Vorspannen der Speicherzellen des Arrays in der ersten Reihe, um individuelle Leseströme durch die Speicherzellen zu erzeugen, wobei Leseströme für den ersten Datenzustand, den zweiten Datenzustand und den permanenten Zustand verschieden sind; und Vergleichen der Leseströme mit mehreren Referenzströmen, um die individuellen Zustände der Speicherzellen des Arrays in der ersten Reihe zu identifizieren. In manchen Ausführungsformen weist das logische Wort ein Datenwort und einen ECC-Code auf und wobei das Verfahren weiter umfasst: Durchführen einer ECC-Operation, um den ECC-Code zu erzeugen oder zu decodieren, wobei die ECC-Operation und das Zuweisen von derselben Schaltung durchgeführt sind. In manchen Ausführungsformen weist das logische Wort ein Datenwort und einen ECC-Code auf und wobei das Verfahren weiter umfasst: Durchführen einer ECC-Operation an dem logischen Wort, um den ECC-Code zu erzeugen oder zu decodieren, wobei die ECC-Operation und das Zuweisen unabhängig voneinander sind. In manchen Ausführungsformen umfasst das Verfahren weiter: Empfangen einer Adresse für das Lesen oder das Schreiben, wobei die Adresse eine zweite Reihe der Vielzahl von Reihen identifiziert; Nachschlagen der zweiten Reihe in einer Nachschlagtabelle, um zu bestimmen, ob die zweite Reihe auf eine redundante Reihe abgebildet ist; und Bestimmen, dass die zweite Reihe auf die redundante Reihe in der Nachschlagtabelle abgebildet ist, wobei die redundante Reihe die erste Reihe ist. In manchen Ausführungsformen umfasst das Verfahren weiter: Identifizieren einer Tail-Speicherzelle in der ersten Reihe, wobei die Tail-Speicherzelle in eine Designspezifikation fällt, aber an einem Rand der Designspezifikation ist; und Setzen der Tail-Speicherzelle auf den permanenten Zustand, wobei die mit dem permanenten Zustand identifizierte Speicherzelle die Tail-Speicherzelle ist.
  • In manchen Ausführungsformen stellt die vorliegende Offenbarung ein anderes Verfahren bereit, das umfasst: Bereitstellen eines Arrays von Speicherzellen, das eine Vielzahl von Reihen, eine Vielzahl von Datenspalten und eine redundante Spalte aufweist, wobei jede Speicherzelle des Arrays einen ersten Datenzustand, einen zweiten Datenzustand und einen permanenten Zustand aufweist; Lesen eines logischen Worts aus einer ersten Reihe des Arrays, wobei das logische Wort Daten von der Vielzahl von Datenspalten enthält und von der redundanten Spalte unabhängig ist; Identifizieren einer abnormalen Speicherzelle in der ersten Reihe und bei einer ersten Datenspalte der Vielzahl von Datenspalten; Setzen der abnormalen Speicherzelle auf den permanenten Zustand; und erneut Lesen des logischen Worts aus der ersten Reihe des Arrays, wobei das logische Wort Daten von der Vielzahl von Datenspalten außer der ersten Datenspalte enthält und weiter Daten von der redundanten Spalte enthält. In manchen Ausführungsformen umfasst das Setzen der abnormalen Speicherzelle auf den permanenten Zustand die Anwendung einer Hochspannung über die abnormale Speicherzelle, um unumkehrbaren dielektrischen Durchbruch eines Isolators der abnormalen Speicherzelle zu bewirken. In manchen Ausführungsformen ist die abnormale Speicherzelle eine defekte Speicherzelle. In manchen Ausführungsformen umfasst das erneute Lesen: Identifizieren, welche Speicherzellen in der ersten Reihe in dem permanenten Zustand sind und welche Speicherzellen in der ersten Reihe in dem ersten und zweiten Datenzustand sind; Zuweisen von Speicherzellen, die in dem ersten und zweiten Datenzustand identifiziert sind, zu dem logischen Wort, während Speicherzellen übersprungen werden, die in dem permanenten Zustand identifiziert sind; und Lesen des logischen Worts aus den zugewiesenen Speicherzellen. In manchen Ausführungsformen weist das Array von Speicherzellen weiter eine Vielzahl von zweiten Datenspalten und eine zweite redundante Spalte auf, wobei das erneute Lesen beinhaltet, eine Spaltenadresse zu empfangen, die die Datenspalten und die redundante Spalte zu dem Ausschluss der zweiten Datenspalten und der zweiten redundanten Spalte identifiziert.
  • In manchen Ausführungsformen stellt die vorliegende Offenbarung ein Speicherbauelement bereit, das aufweist: einen Speicherkern, der aufweist: ein Array von Speicherzellen, das eine Vielzahl von Reihen und eine Vielzahl von Spalten aufweist, wobei jede Speicherzelle des Arrays einen ersten Datenzustand, einen zweiten Datenzustand und einen permanenten Zustand aufweist, und wobei die Vielzahl von Reihen eine erste Reihe enthält; und eine Erfassungsverstärkerschaltung, die eingerichtet ist, eine Speicherzelle der ersten Reihe zu identifizieren, in dem permanenten Zustand zu sein, und Speicherzellen der ersten Reihe zu identifizieren, in dem ersten beziehungsweise zweiten Datenzustand zu sein, wobei die Speicherzelle in dem permanenten Zustand zwischen den Speicherzellen in dem ersten beziehungsweise zweiten Datenzustand ist; und eine Zuweisungsschaltung, die eingerichtet ist, die Speicherzellen, die identifiziert sind, in dem ersten beziehungsweise zweiten Datenzustand zu sein, zu einem logischen Wort zuzuweisen, während die Speicherzelle ausgeschlossen wird, die identifiziert ist, in dem permanenten Zustand zu sein; wobei der Speicherkern eingerichtet ist, das logische Wort aus den Speicherzellen, die dem logischen Wort zugewiesen sind, zu lesen beziehungsweise in diese zu schreiben. In manchen Ausführungsformen ist die Zuweisungsschaltung eingerichtet, die Speicherzellen, die dem logischen Wort zugewiesen sind, in Antwort darauf, dass eine Speicherzelle, die zuvor dem logischen Wort zugewiesen wurde, auf den permanenten Zustand gesetzt wird, zu ändern. In manchen Ausführungsformen weist die Erfassungsverstärkerschaltung einen Erfassungsverstärker auf, der eingerichtet ist zum: Vergleichen eines Lesestroms durch eine Speicherzelle des Arrays mit einem Referenzstrom; Identifizieren der Speicherzelle, in dem permanenten Zustand zu sein, in Antwort darauf, dass der Lesestrom den Referenzstrom übersteigt; und Identifizieren der Speicherzelle, in dem ersten oder zweiten Datenzustand zu sein, in Antwort darauf, dass der Lesestrom unter dem Referenzstrom ist. In manchen Ausführungsformen weist die Erfassungsverstärkerschaltung einen Erfassungsverstärker auf, der eingerichtet ist zum: Vergleichen eines Lesestroms durch eine Speicherzelle des Arrays mit einem Referenzstrom; Identifizieren der Speicherzelle, in dem permanenten Zustand zu sein, in Antwort darauf, dass der Lesestrom unter dem Referenzstrom ist; und Identifizieren der Speicherzelle, in dem ersten oder zweiten Datenzustand zu sein, in Antwort darauf, dass der Lesestrom den Referenzstrom übersteigt. In manchen Ausführungsformen enthält das logische Wort ein Datenwort und einen ECC-Code, wobei die Zuweisungsschaltung weiter eingerichtet ist, den ECC-Code während des Lesens oder Schreibens zu erzeugen oder zu decodieren. In manchen Ausführungsformen enthält das logische Wort ein Datenwort und einen ECC-Code, wobei das Speicherbauelement aufweist: eine ECC-Schaltung, die eingerichtet ist, den ECC-Code während des Lesens oder Schreibens zu erzeugen oder zu decodieren, wobei die ECC-Schaltung unabhängig von der Zuweisungsschaltung ist. In manchen Ausführungsformen enthält das logische Wort ein Datenwort und einen ECC-Code, wobei das Speicherbauelement weiter aufweist: eine ECC-Schaltung, die eingerichtet ist, den ECC-Code während des Lesens oder Schreibens zu erzeugen oder zu decodieren, wobei die ECC-Schaltung unabhängig von und beabstandet von der Zuweisungsschaltung ist. In manchen Ausführungsformen weist jede der Speicherzellen des Arrays eine untere Elektrode, eine obere Elektrode und einen Isolator zwischen der unteren und oberen Elektrode auf, wobei der Isolator der Speicherzelle, die identifiziert ist, in dem permanenten Zustand ist, unumkehrbar durchbrochen ist. In manchen Ausführungsformen sind die Speicherzellen RRAM-Zellen, MRAM-Zellen, FeRAM-Zellen oder 1S1R-PCM-Zellen.
  • Das Vorangehende umreißt Merkmale einiger Ausführungsformen, sodass Fachkundige die Aspekte der vorliegenden Offenbarung besser verstehen werden. Fachkundige werden begrüßen, dass sie die vorliegende Offenbarung bereits als eine Basis dafür verwenden können, andere Prozesse und Strukturen zum Umsetzen derselben Zwecke und/oder Erzielen derselben Vorteile der hierin vorgestellten Ausführungsformen zu gestalten oder zu modifizieren. Fachkundige sollten auch erkennen, dass solche gleichwertigen Konstruktionen nicht von dem Wesen und Umfang der vorliegenden Offenbarung abweichen und dass sie verschiedene Änderungen, Ersetzungen und Abänderungen hierin vornehmen können, ohne von dem Wesen und Umfang der vorliegenden Offenbarung abzuweichen.
  • 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 62/951117 [0001]

Claims (20)

  1. Verfahren umfassend: Bereitstellen eines Arrays von Speicherzellen, das mehrere Reihen und mehrere Spalten aufweist, wobei die mehreren Reihen eine erste Reihe aufweist; Identifizieren individueller Zustände von Speicherzellen des Arrays in der ersten Reihe, wobei die Zustände ein erster Datenzustand, ein zweiter Datenzustand und ein permanenter Zustand sind; Zuweisen von Speicherzellen, die mit dem ersten Datenzustand oder dem zweiten Datenzustand identifiziert sind, zu einem logischen Wort, während eine Speicherzelle ausgeschlossen wird, die mit dem permanenten Zustand identifiziert wird, wobei die mit dem permanenten Zustand identifizierte Speicherzelle zwischen den Speicherzellen ist, die mit dem ersten Datenzustand oder dem zweiten Datenzustand identifiziert werden; und Lesen des logischen Worts aus den Speicherzellen, die dem logischen Wort zugewiesen werden, oder Schreiben des logischen Worts in dieselben.
  2. Verfahren nach Anspruch 1, wobei die erste Reihe eingerichtet ist, ein erstes physisches Wort und ein zweites physisches Wort zu speichern, wobei das erste physische Wort und das zweite physische Wort sich eine gemeinsame Größe teilen, die größer als diejenige des logischen Worts ist, und wobei das logische Wort bei Speicherzellen lokalisiert werden, die dem ersten physischen Wort entsprechen.
  3. Verfahren nach Anspruch 1, wobei das Zuweisen von links nach rechts entlang der ersten Reihe des Arrays durchgeführt wird.
  4. Verfahren nach Anspruch 1, wobei das Identifizieren umfasst: Vorspannen der Speicherzellen des Arrays in der ersten Reihe, um individuelle Leseströme durch die Speicherzellen zu erzeugen, wobei Leseströme verschieden sind für den ersten Datenzustand, den zweiten Datenzustand und den permanenten Zustand; und Vergleichen der Leseströme mit mehreren Referenzströmen, um die individuellen Zustände der Speicherzellen des Arrays in der ersten Reihe zu identifizieren.
  5. Verfahren nach Anspruch 1, wobei das logische Wort ein Datenwort und einen ECC-Code, Fehlerkorrekturcode-Code, aufweist, und wobei das Verfahren weiter umfasst: Durchführen einer ECC-Operation, um den ECC-Code zu erzeugen oder zu decodieren, wobei die ECC-Operation und das Zuweisen durch dieselbe Schaltung durchgeführt werden.
  6. Verfahren nach Anspruch 1, wobei das logische Wort ein Datenwort und einen ECC-Code, Fehlerkorrekturcode-Code, enthält, und wobei das Verfahren weiter umfasst: Durchführen einer ECC-Operation an dem logischen Wort, um den ECC-Code zu erzeugen oder zu decodieren, wobei die ECC-Operation und das Zuweisen unabhängig voneinander sind.
  7. Verfahren nach Anspruch 1, ferner umfassend: Empfangen einer Adresse für das Lesen oder das Schreiben, wobei die Adresse eine zweite Reihe der mehreren Reihen identifiziert; Nachschlagen der zweiten Reihe in einer Nachschlagtabelle, um zu bestimmen, ob die zweite Reihe auf eine redundante Reihe abgebildet ist; und Bestimmen, dass die zweite Reihe auf die redundante Reihe in der Nachschlagtabelle abgebildet ist, wobei die redundante Reihe die erste Reihe ist.
  8. Verfahren nach Anspruch 1, ferner umfassend: Identifizieren einer Tail-Speicherzelle in der ersten Reihe, wobei die Tail-Speicherzelle in eine Designspezifikation fällt, aber an einem Rand der Designspezifikation ist; und Setzen der Tail-Speicherzelle auf den permanenten Zustand, wobei die mit dem permanenten Zustand identifizierte Speicherzelle die Tail-Speicherzelle ist.
  9. Verfahren umfassend: Bereitstellen eines Arrays von Speicherzellen, das mehrere Reihen, mehrere Datenspalten und eine redundante Spalte aufweist, wobei jede Speicherzelle des Arrays einen ersten Datenzustand, einen zweiten Datenzustand und einen permanenten Zustand aufweist; Lesen eines logischen Worts aus einer ersten Reihe des Arrays, wobei das logische Wort Daten aus den mehreren Datenspalten aufweist und unabhängig von der redundanten Spalte ist; Identifizieren einer abnormalen Speicherzelle in der ersten Reihe und einer ersten Datenspalte der mehreren Datenspalten; Setzen der abnormalen Speicherzelle auf den permanenten Zustand; und erneutes Lesen des logischen Worts von der ersten Reihe des Arrays, wobei das logische Wort Daten aus den mehreren Datenspalten, die erste Datenspalte ausgenommen, aufweist und ferner Daten aus der redundanten Spalte enthält.
  10. Verfahren nach Anspruch 9, wobei das Setzen der abnormalen Speicherzelle auf den permanenten Zustand umfasst: Anlegen einer Hochspannung über die abnormale Speicherzelle, um einen unumkehrbaren dielektrischen Durchbruch eines Isolators der abnormalen Speicherzelle zu bewirken.
  11. Verfahren nach Anspruch 9, wobei die abnormale Speicherzelle eine fehlerhafte Speicherzelle ist.
  12. Verfahren nach Anspruch 9, wobei das erneute Lesen umfasst: Identifizieren, welche Speicherzellen in der ersten Reihe in dem permanenten Zustand sind und welche Speicherzellen in der ersten Reihe in dem ersten Datenzustand oder dem zweiten Datenzustand sind; Zuweisen von Speicherzellen, die in dem ersten Datenzustand oder dem zweiten Datenzustand identifiziert werden, zu dem logischen Wort, während Speicherzellen übersprungen werden, die in dem permanenten Zustand identifiziert werden; und Lesen des logischen Worts aus den zugewiesenen Speicherzellen.
  13. Verfahren nach Anspruch 9, wobei das Array von Speicherzellen weiter mehrere zweite Datenspalten und eine zweite redundante Spalte aufweist, wobei das erneute Lesen umfasst: Empfangen einer Spaltenadresse, die die Datenspalten und die redundante Spalte für den Ausschluss der zweiten Datenspalten und der zweiten redundanten Spalte identifiziert.
  14. Speichervorrichtung aufweisend: einen Speicherkern aufweisend: - ein Array von Speicherzellen, das mehrere Reihen und mehrere Spalten aufweist, wobei jede Speicherzelle des Arrays einen ersten Datenzustand, einen zweiten Datenzustand und einen permanenten Zustand aufweist, und wobei die mehreren Reihen eine erste Reihe aufweist; und - eine Erfassungsverstärkerschaltung, die eingerichtet ist, eine Speicherzelle der ersten Reihe in dem permanenten Zustand zu identifizieren, und Speicherzellen der ersten Reihe in dem ersten Datenzustand oder dem zweiten Datenzustand zu identifizieren, wobei die Speicherzelle in dem permanenten Zustand zwischen den Speicherzellen in dem ersten Datenzustand oder dem zweiten Datenzustand ist; und eine Zuweisungsschaltung, die eingerichtet ist, die Speicherzellen, die in dem ersten Datenzustand oder dem zweiten Datenzustand identifiziert sind, einem logischen Wort zuzuweisen, während die Speicherzelle ausgeschlossen wird, die in dem permanenten Zustand identifiziert ist; wobei der Speicherkern eingerichtet ist, das logische Wort aus den Speicherzellen zu lesen, die dem logischen Wort zugewiesen sind, oder das logische Wort in dieselben zu schreiben.
  15. Speichervorrichtung nach Anspruch 14, wobei die Zuweisungsschaltung eingerichtet ist, die Speicherzellen, die dem logischen Wort zugewiesen sind, als Reaktion darauf zu ändern, dass eine Speicherzelle, die zuvor dem logischen Wort zugewiesen wurde, auf den permanenten Zustand gesetzt wird.
  16. Speichervorrichtung nach Anspruch 14, wobei die Erfassungsverstärkerschaltung einen Erfassungsverstärker aufweist, der eingerichtet ist zum: Vergleichen eines Lesestroms durch eine Speicherzelle des Arrays mit einem Referenzstrom; Identifizieren der Speicherzelle in dem permanenten Zustand als Reaktion darauf, dass der Lesestrom den Referenzstrom übersteigt, und in dem ersten Datenzustand oder dem zweiten Datenzustand als Reaktion darauf, dass der Lesestrom unter dem Referenzstrom liegt, oder umgekehrt.
  17. Speichervorrichtung nach Anspruch 14, wobei das logische Wort ein Datenwort und einen ECC-Code, Fehlerkorrekturcode-Code, enthält und wobei die Speichervorrichtung ferner umfasst: eine ECC-Schaltung, die eingerichtet ist, den ECC-Code während des Lesens oder Schreibens zu erzeugen oder zu decodieren, wobei die ECC-Schaltung unabhängig von der Zuweisungsschaltung ist und beabstandet hiervon ist.
  18. Speichervorrichtung nach Anspruch 14, wobei das logische Wort ein Datenwort und einen ECC-Code, Fehlerkorrekturcode-Code, enthält und wobei die Zuweisungsschaltung ferner eingerichtet ist, den ECC-Code während des Lesens oder Schreibens zu erzeugen oder zu decodieren.
  19. Speichervorrichtung nach Anspruch 14, wobei jede der Speicherzellen des Arrays eine untere Elektrode, eine obere Elektrode und einen Isolator zwischen der unteren und der oberen Elektrode aufweist, und wobei der Isolator der Speicherzelle, die in dem permanenten Zustand identifiziert ist, unumkehrbar durchbrochen ist.
  20. Speichervorrichtung nach Anspruch 14, wobei die Speicherzellen resistive Direktzugriffspeicherzellen (RRAM-Zellen), magnetoresistive Direktzugriffspeicherzellen (MRAM-Zellen), ferroelektrische Direktzugriffspeicherzellen (FeRAM-Zellen) oder Ein-Selektor-Ein-Widerstand-Phasenänderungsspeicherzellen (1S1R-PCM-Zellen) sind.
DE102020120488.4A 2019-12-20 2020-08-04 Verfahren zur nachschlagtabellenfreien speicherreperatur Pending DE102020120488A1 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201962951117P 2019-12-20 2019-12-20
US62/951,117 2019-12-20
US16/939,542 2020-07-27
US16/939,542 US11367500B2 (en) 2019-12-20 2020-07-27 Method for LUT-free memory repair

Publications (1)

Publication Number Publication Date
DE102020120488A1 true DE102020120488A1 (de) 2021-06-24

Family

ID=76205971

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102020120488.4A Pending DE102020120488A1 (de) 2019-12-20 2020-08-04 Verfahren zur nachschlagtabellenfreien speicherreperatur

Country Status (5)

Country Link
US (2) US11769568B2 (de)
KR (1) KR102394662B1 (de)
CN (1) CN113010102B (de)
DE (1) DE102020120488A1 (de)
TW (1) TWI764450B (de)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI805509B (zh) * 2022-10-13 2023-06-11 群聯電子股份有限公司 解碼方法、記憶體儲存裝置及記憶體控制電路單元
CN118136084A (zh) * 2022-12-02 2024-06-04 浙江驰拓科技有限公司 存储器修复方法及电路

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3031529A (en) 1958-07-21 1962-04-24 Philco Corp Phase-frequency control system for carrier-multiplex receiver
US4408305A (en) * 1981-09-28 1983-10-04 Motorola, Inc. Memory with permanent array division capability
US5465275A (en) * 1993-11-16 1995-11-07 At&T Ipm Corp. Efficient utilization of present state/next state registers
TW243509B (en) * 1994-01-31 1995-03-21 Ibm Data processor with memory cache and method of operation
US5835431A (en) * 1997-09-05 1998-11-10 Integrated Device Technology, Inc. Method and apparatus for wafer test of redundant circuitry
JP4085478B2 (ja) * 1998-07-28 2008-05-14 ソニー株式会社 記憶媒体及び電子機器システム
US9495241B2 (en) * 2006-12-06 2016-11-15 Longitude Enterprise Flash S.A.R.L. Systems and methods for adaptive data storage
US7787307B2 (en) * 2008-12-08 2010-08-31 Micron Technology, Inc. Memory cell shift estimation method and apparatus
JP5178637B2 (ja) * 2009-06-18 2013-04-10 株式会社東芝 不揮発性半導体記憶装置
CA2708593A1 (en) 2009-07-27 2010-11-18 Sidense Corp. Redundancy system for non-volatile memory
US20110041005A1 (en) * 2009-08-11 2011-02-17 Selinger Robert D Controller and Method for Providing Read Status and Spare Block Management Information in a Flash Memory System
US8467215B2 (en) * 2010-01-29 2013-06-18 Brigham Young University Permanent solid state memory
US8572538B2 (en) * 2011-07-01 2013-10-29 Altera Corporation Reconfigurable logic block
US10249684B2 (en) * 2012-12-17 2019-04-02 Nantero, Inc. Resistive change elements incorporating carbon based diode select devices
US9293196B2 (en) * 2013-03-15 2016-03-22 Micron Technology, Inc. Memory cells, memory systems, and memory programming methods
US9183086B2 (en) 2013-06-03 2015-11-10 Sandisk Technologies Inc. Selection of data for redundancy calculation in three dimensional nonvolatile memory
JP2015152844A (ja) * 2014-02-18 2015-08-24 キヤノン株式会社 画像形成装置、画像形成装置の制御方法、及びプログラム
KR102349999B1 (ko) * 2015-03-02 2022-01-10 에스케이하이닉스 주식회사 반도체 장치 및 그 동작 방법
US9959205B2 (en) * 2015-05-13 2018-05-01 Wisconsin Alumni Research Foundation Shared row buffer system for asymmetric memory
US10108509B2 (en) * 2015-07-16 2018-10-23 Texas Instruments Incorporated Dynamic enabling of redundant memory cells during operating life
CN106533527B (zh) * 2015-09-15 2019-12-13 北京空间飞行器总体设计部 可重配置的卫星遥测在轨监视与量化管理系统及其实现方法
JP2019514195A (ja) * 2016-03-23 2019-05-30 フォルシュングスツェントルム・ユーリッヒ・ゲゼルシャフト・ミット・ベシュレンクテル・ハフツング メモリーの作製方法、メモリー、及びメモリーの使用
KR101933300B1 (ko) * 2017-03-17 2019-03-15 한양대학교 산학협력단 Stt-mram 불량 주소 우회 회로 및 이를 포함하는 stt-mram 디바이스
US10915405B2 (en) * 2017-05-26 2021-02-09 Netapp, Inc. Methods for handling storage element failures to reduce storage device failure rates and devices thereof
US11231931B1 (en) 2018-12-20 2022-01-25 Advanced Micro Devices, Inc. Mechanism for mitigating information leak via cache side channels during speculative execution

Also Published As

Publication number Publication date
US20230368858A1 (en) 2023-11-16
KR102394662B1 (ko) 2022-05-09
KR20210081236A (ko) 2021-07-01
CN113010102B (zh) 2024-02-06
TW202139202A (zh) 2021-10-16
CN113010102A (zh) 2021-06-22
US20220284980A1 (en) 2022-09-08
TWI764450B (zh) 2022-05-11
US11769568B2 (en) 2023-09-26

Similar Documents

Publication Publication Date Title
DE10233642B4 (de) Fehlerkorrektur-Kodierung und -Dekodierung in einer Festkörper-Speicherungsvorrichtung
DE60300777T2 (de) Nichtflüchtiger redundanzadressen-speicher
DE112017002776T5 (de) Nichtflüchtiger Speicher mit angepasster Steuerung vom Typ der Störinjektion während der Programmüberprüfung für eine verbesserte Programmleistung
EP1141960B1 (de) Schreib-/lesearchitektur für mram
DE102018105755A1 (de) Vertikale Auswahleinrichtung für dreidimensionalen Speicher mit planaren Speicherzellen
DE10206720A1 (de) System und Verfahren zum Betreiben eines programmierbaren Zählers für Spaltenversagen bei Redundanzzuordnung
DE112015006285T5 (de) Mehrchip-doppelschreiben
DE102008030858A1 (de) Speicher mit dynamischer Redundanzkonfigurierung
DE102020120488A1 (de) Verfahren zur nachschlagtabellenfreien speicherreperatur
DE102004063571A1 (de) System und Verfahren zum Konfigurieren einer Festkörperspeicherungsvorrichtung mit Fehlerkorrekturcodierung
EP1184871A1 (de) MRAM-Anordnung
DE102017113967A1 (de) Adaptiver betrieb von 3-d-speicher
DE102019124668A1 (de) Transistorschwellenspannungshaltung in 3d-speicher
DE102020114702A1 (de) Trimmen von speicherleseverstärkern
DE102019114219A1 (de) Einmal programmierbare (OTP) Implementierung unter Verwendung magnetischer Übergänge
DE102016100014B4 (de) Speicherbaustein und seine Referenzschaltung
US11367500B2 (en) Method for LUT-free memory repair
DE10121182C1 (de) MRAM-Halbleiterspeicheranordnung mit redundanten Zellenfeldern
DE102021117062A1 (de) Speicherreparatur unter verwendung optimierter redundanznutzung
DE19924153B4 (de) Schaltungsanordnung zur Reparatur eines Halbleiterspeichers
DE102020125703A1 (de) Speichervorrichtung mit parallelen Source-Leitungen
EP1071994B1 (de) Speicheranordnung mit redundanten speicherzellen und verfahren zum zugriff auf redundante speicherzellen
WO2002084705A2 (de) Verfahren zum betrieb einer mram-halbleiterspeicheranordnung
DE102004015575A1 (de) Verfahren, Vorrichtung und System zum Löschen und Schreiben eines magnetischen Direktzugriffsspeichers
DE102019116994A1 (de) Verfahren zum beschreiben eines magnetischen direktzugriffsspeichers

Legal Events

Date Code Title Description
R012 Request for examination validly filed