DE112017004156T5 - Speicherzellenstruktur - Google Patents

Speicherzellenstruktur Download PDF

Info

Publication number
DE112017004156T5
DE112017004156T5 DE112017004156.2T DE112017004156T DE112017004156T5 DE 112017004156 T5 DE112017004156 T5 DE 112017004156T5 DE 112017004156 T DE112017004156 T DE 112017004156T DE 112017004156 T5 DE112017004156 T5 DE 112017004156T5
Authority
DE
Germany
Prior art keywords
cell
synapse
states
predetermined number
memory cell
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
DE112017004156.2T
Other languages
English (en)
Inventor
Takeo Yasuda
Kohji Hosokawa
Masatoshi Ishii
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.)
Samsung Electronics Co Ltd
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE112017004156T5 publication Critical patent/DE112017004156T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/049Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/24Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using capacitors
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/409Read-write [R-W] circuits 
    • G11C11/4096Input/output [I/O] data management or control circuits, e.g. reading or writing circuits, I/O drivers or bit-line switches 
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/54Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using elements simulating biological cells, e.g. neuron
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/565Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using capacitive charge storage elements
    • 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
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1006Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
    • 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
    • G11C2013/0045Read using current through the cell
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2213/00Indexing scheme relating to G11C13/00 for features not covered by this group
    • G11C2213/70Resistive array aspects
    • G11C2213/77Array wherein the memory element being directly connected to the bit lines and word lines without any access device being used

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • General Health & Medical Sciences (AREA)
  • Biophysics (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Computer Hardware Design (AREA)
  • Neurology (AREA)
  • Databases & Information Systems (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Power Engineering (AREA)
  • Semiconductor Memories (AREA)
  • Static Random-Access Memory (AREA)

Abstract

Eine Speicherzellenstruktur enthält eine Synapsenspeicherzelle mit mehreren Zellkomponenten, wobei jede der mehreren Zellkomponenten eine Einheitszelle enthält, mehrere Schreibleitungen, die zum Schreiben eines Synapsenzustands in die Synapsenspeicherzelle angeordnet sind, wobei jede der mehreren Schreibleitungen verwendet wird, um einen eines ersten Satz einer vorbestimmten Anzahl von Zuständen in eine entsprechende Zellkomponente zu schreiben, indem sie einen eines zweiten Satzes der vorbestimmten Anzahl von Zuständen in die Einheitszelle schreibt, die in der entsprechenden Zellkomponente enthalten ist, wobei der erste Satz von dem zweiten Satz und einer Anzahl der Einheitszellen abhängig ist, die in der entsprechenden Zellkomponente enthalten sind, und eine Leseleitung, die zum Lesen des Synapsenzustands aus der Synapsenspeicherzelle angeordnet ist, wobei die Leseleitung verwendet wird, um einen des ersten Satzes der vorbestimmten Anzahl von Zuständen aus allen der mehreren Zellkomponenten gleichzeitig zu lesen.

Description

  • TECHNISCHES GEBIET
  • Die vorliegende Erfindung betrifft eine Speicherzellenstruktur.
  • HINTERGRUND
  • In letzter Zeit sind verschiedene Techniken bezüglich einer Speicherzellenstruktur bekannt geworden. Die Hardwareimplementierung eines neuromorphen Systems enthält Synapsenspeicher sowie einen Neuronen-Betriebsblock und ein Axon-Verbindungsnetzwerk.
  • Für den Synapsenspeicher ist ein System mit Offline-Lernen bekannt. Die Synapsenspeicherdaten werden in diesem Modus nicht aktualisiert, da der Speicherschreibvorgang nur im Offline-Lern-Betriebsmodus aktiviert wird.
  • Andererseits ist auch ein System mit Online-Lernen bekannt. Die Leistung des Synapsenspeichers bestimmt die Leistung des Systems. Die Synapsenspeicherzellen werden in zwei Typen unterteilt, analoge Synapsenzelltypen und digitale Synapsenzelltypen.
  • Beide Typen haben ihre Nachteile. Die Synapsenzellen werden viel bequemer und präziser gesteuert, wenn diese Nachteile behoben werden.
  • Daher besteht in der Technik ein Bedarf, das oben erwähnte Problem zu lösen.
  • KURZDARSTELLUNG
  • Von einem ersten Aspekt aus betrachtet, sieht die vorliegende Erfindung eine Speicherzellenstruktur vor, aufweisend: eine Synapsenspeicherzelle mit einer Mehrzahl von Zellkomponenten, wobei jede der Mehrzahl von Zellkomponenten mindestens eine Einheitszelle; eine Mehrzahl von Schreibleitungen, die so konfiguriert sind, dass sie einen Synapsenzustand in die Synapsenspeicherzelle schreiben, wobei jede der Mehrzahl von Schreibleitungen so konfiguriert ist, dass sie einen ersten Satz einer vorbestimmten Anzahl von Zuständen in eine entsprechende Zellkomponente der Mehrzahl von Zellkomponenten schreibt, indem sie einen zweiten Satz der vorbestimmten Anzahl von Zuständen in alle der mindestens einen Einheitszelle schreibt, die in der entsprechenden Zellkomponente enthalten sind, wobei der erste Satz von dem zweiten Satz und einer Anzahl der mindestens einen Einheitszelle abhängig ist, die in der entsprechenden Zellkomponente enthalten sind; und eine Leseleitung enthält, die so konfiguriert ist, dass sie den Synapsenzustand aus der Synapsenspeicherzelle liest, wobei die Leseleitung ferner so konfiguriert ist, dass sie den ersten Satz der vorbestimmten Anzahl von Zuständen gleichzeitig aus allen der Mehrzahl von Zellkomponenten liest.
  • Von einem weiteren Aspekt aus betrachtet, sieht die vorliegende Erfindung ein Speicherzellensystem vor, aufweisend: eine Synapsenspeicherzelle mit einer Mehrzahl von Zellkomponenten, wobei jede der Mehrzahl von Zellkomponenten mindestens eine Einheitszelle; eine Mehrzahl von Schreibtreibern, die so konfiguriert sind, dass sie einen Synapsenzustand in die Synapsenspeicherzelle schreiben, wobei jeder der Mehrzahl von Schreibtreibern so konfiguriert ist, dass er einen ersten Satz einer vorbestimmten Anzahl von Zuständen in eine entsprechende Zellkomponente der Mehrzahl von Zellkomponenten schreibt, indem er einen zweiten Satz der vorbestimmten Anzahl von Zuständen in alle der mindestens einen Einheitszelle schreibt, die in der entsprechenden Zellkomponente enthalten sind, wobei der erste Satz von dem zweiten Satz und einer Anzahl der mindestens einen Einheitszelle abhängig ist, die in der entsprechenden Zellkomponente enthalten sind; und einen Lesetreiber enthält, der so konfiguriert ist, dass er den Synapsenzustand aus der Synapsenspeicherzelle liest, wobei der Lesetreiber ferner so konfiguriert ist, dass er den ersten Satz der vorbestimmten Anzahl von Zuständen gleichzeitig aus allen der Mehrzahl von Zellkomponenten liest.
  • Unter einem weiteren Aspekt betrachtet, sieht die vorliegende Erfindung ein Verfahren zum Herstellen einer Speicherzellenstruktur vor, das Verfahren aufweisend: Erstellen einer Mehrzahl von Einheitszellen; Zusammenstellen einer Mehrzahl von Zellkomponenten, wobei jede der Mehrzahl von Zellkomponenten mindestens eine Einheitszelle aus der Mehrzahl von Einheitszellen enthält; Zusammenstellen einer Synapsenspeicherzelle, die die Mehrzahl von Zellkomponenten enthält; Anordnen einer Mehrzahl von Schreibleitungen, die so konfiguriert sind, dass sie einen Synapsenzustand in die Synapsenspeicherzelle schreiben, wobei jede der Mehrzahl von Schreibleitungen so konfiguriert ist, dass sie einen ersten Satz einer vorbestimmten Anzahl von Zuständen in eine entsprechende Zellkomponente der Mehrzahl von Zellkomponenten schreibt, indem sie einen zweiten Satz der vorbestimmten Anzahl von Zuständen in alle der mindestens einen Einheitszelle schreibt, die in der entsprechenden Zellkomponente enthalten sind, wobei der erste Satz von dem zweiten Satz und einer Anzahl der mindestens einen Einheitszelle abhängig ist, die in der entsprechenden Zellkomponente enthalten sind; und Anordnen einer Leseleitung, die so konfiguriert ist, dass sie den Synapsenzustand aus der Synapsenspeicherzelle liest, wobei die Leseleitung ferner so konfiguriert ist, dass sie den ersten Satz der vorbestimmten Anzahl von Zuständen gleichzeitig aus allen der Mehrzahl von Zellkomponenten liest.
  • Gemäß einer Ausführungsform der vorliegenden Erfindung ist eine Speicherzellenstruktur vorgesehen. Die Speicherzellenstruktur enthält eine Synapsenspeicherzelle, die eine Mehrzahl von Zellkomponenten enthält. Jede der Mehrzahl von Zellkomponenten enthält mindestens eine Einheitszelle. Die Speicherzellenstruktur enthält ferner eine Mehrzahl von Schreibleitungen, die zum Schreiben eines Synapsenzustands in die Synapsenspeicherzelle angeordnet sind. Jede der Mehrzahl von Schreibleitungen ist so konfiguriert, dass sie einen aus einem ersten Satz einer vorbestimmten Anzahl von Zuständen in eine entsprechende Zellkomponente der Mehrzahl von Zellkomponenten schreibt, indem sie einen aus einem zweiten Satz der vorbestimmten Anzahl von Zuständen in alle der mindestens eine Einheitszelle schreibt, die in der entsprechenden Zellkomponente enthalten sind. Der erste Satz hängt von dem zweiten Satz und einer Anzahl der mindestens einen Einheitszelle ab, die in der entsprechenden Zellkomponente enthalten sind. Die Speicherzellenstruktur enthält ferner eine Leseleitung, die zum Lesen des Synapsenzustands aus der Synapsenspeicherzelle angeordnet ist. Die Leseleitung ist so konfiguriert, dass sie einen des ersten Satzes der vorbestimmten Anzahl von Zuständen gleichzeitig aus allen der Mehrzahl von Zellkomponenten liest.
  • Gemäß einer weiteren Ausführungsform der vorliegenden Erfindung ist ein Speicherzellensystem vorgesehen. Das Speicherzellensystem enthält eine Synapsenspeicherzelle, die eine Mehrzahl von Zellkomponenten enthält. Jede der Mehrzahl von Zellkomponenten enthält mindestens eine Einheitszelle. Das Speicherzellensystem enthält ferner eine Mehrzahl von Schreibtreibern, die so konfiguriert sind, dass sie einen Synapsenzustand in die Synapsenspeicherzelle schreiben. Jeder der Mehrzahl von Schreibtreibern wird so betrieben, dass er einen aus einem ersten Satz einer vorbestimmten Anzahl von Zuständen in eine entsprechende Zellkomponente der Mehrzahl von Zellkomponenten schreibt, indem er einen aus einem zweiten Satz der vorbestimmten Anzahl von Zuständen in alle der mindestens einen Einheitszelle schreibt, die in der entsprechenden Zellkomponente enthalten sind. Der erste Satz hängt von dem zweiten Satz und einer Anzahl der mindestens einen Einheitszelle ab, die in der entsprechenden Zellkomponente enthalten sind. Das Speicherzellensystem enthält ferner einen Lesetreiber, der so konfiguriert ist, dass er den Synapsenzustand aus der Synapsenspeicherzelle liest. Der Lesetreiber ist so konfiguriert, dass er einen des ersten Satzes der vorbestimmten Anzahl von Zuständen gleichzeitig aus allen der Mehrzahl von Zellkomponenten liest.
  • Gemäß noch einer weiteren Ausführungsform der vorliegenden Erfindung ist ein Verfahren zum Herstellen einer Speicherzellenstruktur vorgesehen. Das Verfahren enthält ein Erstellen einer Mehrzahl von Einheitszellen. Das Verfahren enthält ein Zusammenstellen einer Mehrzahl von Zellkomponenten, die jeweils mindestens eine Einheitszelle der Mehrzahl von Einheitszellen enthalten. Das Verfahren enthält ein Zusammenstellen einer Synapsenspeicherzelle, die die Mehrzahl von Zellkomponenten enthält. Das Verfahren enthält ferner ein Anordnen einer Mehrzahl von Schreibleitungen zum Schreiben eines Synapsenzustands in die Synapsenspeicherzelle. Jede der Mehrzahl von Schreibleitungen ist so konfiguriert, dass sie einen aus einem ersten Satz einer vorbestimmten Anzahl von Zuständen in eine entsprechende Zellkomponente der Mehrzahl von Zellkomponenten schreibt, indem sie einen aus einem zweiten Satz der vorbestimmten Anzahl von Zuständen in alle der mindestens eine Einheitszelle schreibt, die in der entsprechenden Zellkomponente enthalten sind. Der erste Satz hängt von dem zweiten Satz und einer Anzahl der mindestens einen Einheitszelle ab, die in der entsprechenden Zellkomponente enthalten sind. Das Verfahren enthält ferner ein Anordnen einer Leseleitung zum Lesen des Synapsenzustands aus der Synapsenspeicherzelle. Die Leseleitung ist so konfiguriert, dass sie einen des ersten Satzes der vorbestimmten Anzahl von Zuständen gleichzeitig aus allen der Mehrzahl von Zellkomponenten liest.
  • Figurenliste
  • Die vorliegende Erfindung wird nun lediglich beispielhaft unter Bezugnahme auf bevorzugte Ausführungsformen beschrieben, wie sie in den folgenden Figuren gezeigt sind:
    • 1 zeigt einen Synapsenspeicher mit einer Crossbar-Array-Struktur in Übereinstimmung mit dem Stand der Technik und in dem eine bevorzugte Ausführungsform der vorliegenden Erfindung implementiert werden kann;
    • 2A zeigt Zellkomponenten einer Synapsenspeicherzelle gemäß einer beispielhaften Ausführungsform;
    • 2B zeigt Zellkomponenten einer Synapsenspeicherzelle gemäß einer beispielhaften Ausführungsform;
    • 2C zeigt Zellkomponenten einer Synapsenspeicherzelle gemäß einer beispielhaften Ausführungsform;
    • 2D zeigt Zellkomponenten einer Synapsenspeicherzelle gemäß einer beispielhaften Ausführungsform;
    • 3 zeigt ein Synapsenspeicherzellensystem gemäß einer beispielhaften Ausführungsform;
    • 4 zeigt Zeitdiagramme, die Zeitpunkte von Signalausgaben von Schreibtreibern, von Signalausgaben von einem Lesetreiber und von Zustandsübergängen der Synapsenspeicherzelle gemäß einer Ausführungsform der vorliegenden Erfindung zeigen;
    • 5 zeigt ein Synapsenspeichersystem und Datenflüsse in dem Synapsenspeichersystem gemäß einer beispielhaften Ausführungsform; und
    • 6 zeigt ein Block-/Flussdiagramm, das ein Verfahren zum Herstellen eines Synapsenspeicherzellensystems gemäß einer beispielhaften Ausführungsform darstellt.
  • DETAILLIERTE BESCHREIBUNG
  • Nachfolgend werden beispielhafte Ausführungsformen der vorliegenden Erfindung unter Bezugnahme auf die beigefügten Zeichnungen detailliert beschrieben.
  • Es ist zu beachten, dass die vorliegende Erfindung nicht auf diese unten aufgeführten beispielhaften Ausführungsformen beschränkt ist und mit verschiedenen Modifikationen innerhalb des Schutzumfangs der vorliegenden Erfindung implementiert werden kann. Darüber hinaus dienen die hier verwendeten Zeichnungen der Veranschaulichung und müssen keine tatsächlichen Abmessungen zeigen.
  • Die Hardware-Implementierung eines neuromorphen Systems kann Synapsenspeicher sowie Neuronenkörper und Axonen-Verbindungsnetzwerke enthalten. In 1 ist ein Synapsenspeicher 100 mit einer Crossbar-Array-Struktur gezeigt. Wie in 1 gezeigt, kann der Synapsenspeicher 100 Synapsenspeicherzellen 10 enthalten, die an allen Kreuzungspunkten aller Axone 20 und aller Dendriten 30 angeordnet/platziert sind. Jede der Synapsenspeicherzellen 10 kann einen Synapsengewichtswert als ein Beispiel eines Synapsenzustands speichern, der eine Gewichtung einer Synapsenverbindung zwischen einem entsprechenden der Axone 20 und einem entsprechenden der Dendriten 30 angibt.
  • Eine Synapsenspeicherzelle 10 wird in zwei Typen kategorisiert, nämlich eine analoge Synapsenspeicherzelle (z.B. eine analoge Zelle) und eine digitale Synapsenspeicherzelle (z.B. eine digitale Zelle).
  • Die analoge Zelle kann einen kontinuierlichen Synapsengewichtswert ausdrücken. Es ist jedoch schwierig, den Synapsengewichtswert mit einer bestimmten Genauigkeit zu steuern. Es erfordert zudem komplizierte periphere Schaltungen, um den Synapsengewichtswert mit einer solchen Genauigkeit zu steuern. Ferner beeinflusst eine Schwankung der Leistung der Synapsenspeicherzelle 10 die Leistung des neuromorphen Systems direkt.
  • Die digitale Zelle kann weiter in eine Single-Level-Cell (SLC) und eine Multi-Level-Cell (MLC) unterteilt werden.
  • Die SLC verwendet einen einzelnen Schwellenwert, um zwei Zustände (z.B. einen schweren Zustand und einen leichten Zustand) zu unterscheiden. Die SLC kann nur einen Zustand mit oder ohne Verbindung zwischen Prä-Synapse und Post-Synapse ausdrücken. Daher erfordert die SLC meistens weitere Speicher, um mehr als zwei Synapsengewichtswerte auszudrücken. Folglich ist der Zugriff auf mehrere Speicher erforderlich.
  • Die MLC verwendet mehrere Schwellenwerte. Unter der Annahme, dass die Anzahl der Schwellenwerte n (> 1) ist, kann die MLC (n + 1) Synapsengewichtswerte ausdrücken. Wenn beispielsweise n sieben ist, können acht Synapsengewichtswerte in einer MLC gespeichert werden. Die MLC kann einen genaueren Synapsengewichtswert als die SLC ausdrücken. Es ist jedoch schwierig, den Synapsengewichtswert sowie die obige Analogzelle zu steuern. Ferner erfordert die MLC hochauflösende Erfassungsschaltungen und komplizierte Codier-/ Decodierschaltungen, um den Synapsengewichtswert zu lesen und zu schreiben.
  • Die Synapsenspeicherzelle 10 ist bequemer und genauer gesteuert, wenn diese Nachteile überwunden werden.
  • Die Synapsenspeicherzelle 10 mit einer einfachen Struktur, die unten beschrieben wird, ist genauer als die MLC. Diese Synapsenspeicherzelle 10 erfordert weder hochauflösende Erfassungsschaltungen noch komplizierte Codier-/ Decodierschaltungen.
  • Bezugnehmend auf die 2A bis 2D sind Zellkomponenten einer Synapsenspeicherzelle 10 gemäß einer beispielhaften Ausführungsform gezeigt. In einer beispielhaften Ausführungsform wird angenommen, dass die Synapsenspeicherzelle 10 eine resistive Speicherzelle ist, die eine Mehrzahl von Einheitswiderständen enthält. Es wird angenommen, dass jeder der Mehrzahl von Einheitswiderständen einen Gewichtswert WEinheit aufweist, der ein Leitfähigkeitswert (z.B. ein Kehrwert eines Widerstandswertes REinheit) sein kann. In einer beispielhaften Ausführungsform wird angenommen, dass jeder der Mehrzahl von Einheitswiderständen mit der oben beschriebenen SLC implementiert ist. Das heißt, es wird angenommen, dass der Gewichtswert WEinheit zwei Zustände aufweist, nämlich einen schweren Zustand und einen leichten Zustand. Zum Beispiel kann der Gewichtswert WEinheit eins (1) sein, wenn er einen schweren Zustand hat, und Null (0) sein, wenn er einen leichten Zustand hat.
  • In einer Ausführungsform können Zellkomponenten erstellt werden, die aus jeweils 2i-1 Einheitswiderständen bestehen, wobei i von 1 bis n reicht. Wenn i nicht 1 ist, können die 2i-1 Einheitswiderstände parallel geschaltet sein. So kann die aus den 2i-1 Einheitswiderständen bestehende Zellkomponente einen Gewichtswert haben, der durch 2i-1-mal WEinheit ausgedrückt wird (bzw. einen Widerstandswert, der durch ein 2i-1-tel (1/2i-1) von REinheit ausgedrückt wird). Das heißt, dass die aus den 2i-1 Einheitswiderständen bestehende Zellkomponente einen Gewichtswert von „0“ oder „2i-1“ haben kann.
  • Zum Beispiel zeigt 2A eine Zellkomponente 11, die eine Zellkomponente für i = 1 ist. Die Zellkomponente 11 kann einen Einheitswiderstand 111 enthalten. Somit kann die Zellkomponente 11 einen Gewichtswert haben, der durch WEinheit ausgedrückt wird. Das heißt, dass die Zellkomponente 11 einen Gewichtswert „0“ oder „1“ haben kann. Die Gewichtswerte „0“ und „1“ dienen als ein Beispiel eines ersten Satzes einer vorbestimmten Anzahl von Zuständen. Für die Einzelzellenkomponente für i = 1 dienen zudem die Gewichtswerte „0“ und „1“ als ein Beispiel für einen zweiten Satz einer vorbestimmten Anzahl von Zuständen. Ferner zeigt 2A einen oberen Knoten (TN) und einen unteren Knoten (BN) der Zellkomponente 11.
  • 2B zeigt eine Zellkomponente 12, die eine Zellkomponente für i = 2 ist. Die Zellkomponente 12 kann Einheitswiderstände 121 und 122 enthalten, die parallel geschaltet sind. Somit kann die Zellkomponente 12 einen Gewichtswert haben, der durch zweimal WEinheit ausgedrückt wird (bzw. einen Widerstandswert, der durch die Hälfte (1/2) von REinheit ausgedrückt wird). Das heißt, dass die Zellkomponente 12 einen Gewichtswert „0“ oder „2“ haben kann. Die Gewichtswerte „0“ und „2“ dienen als ein Beispiel eines ersten Satzes einer vorbestimmten Anzahl von Zuständen. Ferner zeigt 2B einen TN, der durch Verbinden von oberen Knoten der Einheitswiderstände 121 und 122 ausgebildet wird, und einen BN, der durch Verbinden von unteren Knoten der Einheitswiderstände 121 und 122 ausgebildet wird.
  • 2C zeigt eine Zellkomponente 13, die eine Zellkomponente für i = 3 ist. Die Zellkomponente 13 kann Einheitswiderstände 131 bis 134 enthalten, die parallel geschaltet sind. Somit kann die Zellkomponente 13 einen Gewichtswert haben, der durch viermal WEinheit ausgedrückt wird (bzw. einen Widerstandswert, der durch ein Viertel (1/4) von REinheit ausgedrückt wird). Das heißt, dass die Zellkomponente 13 einen Gewichtswert „0“ oder „4“ haben kann. Die Gewichtswerte „0“ und „4“ dienen als ein Beispiel eines ersten Satzes einer vorbestimmten Anzahl von Zuständen. Ferner zeigt 2C einen TN, der durch Verbinden von oberen Knoten der Einheitswiderstände 131 bis 134 ausgebildet wird, und einen BN, der durch Verbinden von unteren Knoten der Einheitswiderstände 131 bis 134 ausgebildet wird.
  • In ähnlicher Weise können Zellkomponenten für i = 4 bis i = n - 1 ausgebildet werden. Nun bezugnehmend auf 2D zeigt 2D eine Zellkomponente 1N, die eine Zellkomponente für i = n ist. Die Zellkomponente 1N kann 2n-1 parallel geschaltete Einheitswiderstände enthalten. Somit kann die Zellkomponente 1N einen Gewichtswert haben, der durch 2n-1-mal WEinheit ausgedrückt wird (bzw. einen Widerstandswert, der durch ein 2n-1-tel (1/2n-1) von REinheit ausgedrückt wird). Das heißt, dass die Zellkomponente 1N einen Gewichtswert „0“ oder „2n-1“ haben kann. Die Gewichtswerte „0“ und „2n-1“ dienen als ein Beispiel für einen ersten Satz einer vorbestimmten Anzahl von Zuständen. Ferner zeigt 2D einen TN, der durch Verbinden von oberen Knoten der 2n-1 Einheitswiderstände ausgebildet wird, und einen BN, der durch Verbinden von unteren Knoten der 2n-1 Einheitswiderstände ausgebildet wird. Durch Kombinieren dieser Zellkomponenten für i = 1 bis i = 3 können zum Beispiel die Synapsengewichtswerte „0“ bis „7“ ausgedrückt werden. Das heißt, dass mit diesen Zellkomponenten für i = 1 bis i = n die Synapsengewichtswerte für n-stellige Binärzahlen ausgedrückt werden können.
  • In 3 ist ein Synapsenspeicherzellensystem gemäß einer beispielhaften Ausführungsform gezeigt.
  • 3 zeigt zuerst eine Struktur der Synapsenspeicherzelle 10 unter Verwendung von Zellkomponenten 11 bis 16, die jeweils Zellkomponenten für i = 1 bis i = 6 sind. Es wird angenommen, dass die Zellkomponente 11 mit 1 (= 2°) Einheitswiderstand implementiert ist, wie in den 2A und 3 gezeigt. Es wird angenommen, dass die Zellkomponente 12 mit 2 (= 21) Einheitswiderständen implementiert ist, wie in den 2B und 3 gezeigt. Es wird angenommen, dass die Zellkomponente 13 mit 4 (= 22) Einheitswiderständen implementiert ist, wie in den 2C und 3 gezeigt. Es wird angenommen, dass die Zellkomponente 14 mit 8 (= 23) Einheitswiderständen implementiert ist, wie in den 2D (i = 4) und 3 gezeigt. Es wird angenommen, dass die Zellkomponente 15 mit 16 (= 24) Einheitswiderständen implementiert ist, wie in den 2D (i = 5) und 3 gezeigt. Es wird angenommen, dass die Zellkomponente 16 mit 32 (= 25) Einheitswiderständen implementiert ist, wie in den 2D (i = 6) und 3 gezeigt. In 3 wird somit angenommen, dass eine Synapsenzelle mit 63 (= 26-1) Einheitswiderständen implementiert ist.
  • 3 zeigt ferner ein Schreibtreiberarray 40, einen Lesetreiber 50, einen Stromsensor 60, einen Neuronenkörper 70, einen Gewichtsauswerter 80 und einen Gewichtscodierer 90 als Strukturelemente, die für die Synapsenspeicherzelle 10 arbeiten.
  • Das Schreibtreiberarray 40 kann so konfiguriert sein, dass es in Antwort auf eine Lernoperationseingabe oder eine Erkennungsoperationseingabe einen Synapsengewichtswert in die Synapsenspeicherzelle 10 schreibt. Insbesondere kann das Schreibtreiberarray 40 Schreibtreiber 41 bis 46 für die Zellkomponenten 11 bis 16 enthalten. Der TN jeder der Zellkomponenten 11 bis 16 kann über eine Schreibleitung mit einem Ausgangsknoten eines zugehörigen Schreibtreibers der Schreibtreiber 41 bis 46 in dem Schreibtreiberarray 40 verbunden sein. Somit können die Schreibtreiber 41 bis 46 über eine entsprechende Schreibleitung einen Gewichtswert „0“ oder „1“ in alle des einen oder der mehreren Einheitswiderstände schreiben, die eine entsprechende der Zellkomponenten 11 bis 16 bilden. Ferner können die BNs der Zellkomponenten 11 bis 16 zusammen mit gemeinsamen DC-Knoten der Schreibtreiber 41 bis 46 verbunden sein.
  • Der Lesetreiber 50 kann so konfiguriert sein, dass er einen Synapsengewichtswert aus der Synapsenspeicherzelle 10 in Antwort auf eine Erkennungsoperationseingabe liest. Die TNs der Zellkomponenten 11 bis 16 können zusammen mit einem Ausgangsknoten des Lesetreibers 50 verbunden sein. Somit kann der Lesetreiber 50 gleichzeitig Strom an alle der Zellkomponenten 11 bis 16 anlegen.
  • Der Stromsensor 60 kann auch so konfiguriert sein, dass er einen Synapsengewichtswert aus der Synapsenspeicherzelle 10 liest. Die BNs der Zellkomponenten 11 bis 16 können über eine Leseleitung mit dem Stromsensor 60 verbunden sein. Ein gemeinsamer DC-Knoten des Lesetreibers 50 kann auch mit dem Stromsensor 60 verbunden sein. Somit kann der Stromsensor 60 den Gesamtstrom von allen der Zellkomponenten 11 bis 16 über eine Leseleitung erfassen.
  • Der Neuronenkörper 70 kann Neuronenoperationen durchführen. Insbesondere kann der Neuronenkörper 70 den Synapsengewichtswert auf Grundlage des durch den Stromsensor 60 erfassten Gesamtstroms erhalten. Dann kann der Neuronenkörper 70 den Synapsengewichtswert als eine Erkennungsoperationsausgabe an ein anderes Synapsenspeichersystem und an den Gewichtsauswerter 80 ausgeben. Eine Zellkomponente kann einen hohen Strom durchlassen, wenn eine große Anzahl von Einheitswiderständen der Zellkomponente einen Gewichtswert von „1“ aufweist. Andererseits kann eine Zellkomponente einen niedrigen Strom durchlassen, wenn eine große Anzahl von Einheitswiderständen der Zellkomponente einen Gewichtswert von „0“ aufweist. Dementsprechend kann der von dem Stromsensor 60 erfasste Gesamtstrom den in der Synapsenspeicherzelle 10 gespeicherten Synapsengewichtswert darstellen.
  • Der Gewichtsauswerter 80 kann den aktuellen Synapsengewichtswert durch das Neuronenausgabesignal des Neuronenkörpers 70 auswerten und den nächsten Synapsengewichtswert bestimmen. Insbesondere kann der Gewichtsauswerter 80 das von dem Neuronenkörper 70 erhaltene Neuronenausgabesignal mit einem gewünschten, als Lernoperationseingabe gegebenen Ausgangssignal vergleichen und den nächsten Synapsengewichtswert berechnen, mit dem der aktuelle in der Synapsenspeicherzelle 10 gespeicherte Synapsengewichtswert aktualisiert werden soll.
  • Der Gewichtscodierer 90 kann den nächsten Synapsengewichtswert codieren, der von dem Gewichtsauswerter 80 berechnet wurde. Insbesondere kann der Gewichtscodierer 90 den nächsten Synapsengewichtswert in binärcodierte Werte codieren, von denen jeder einem entsprechenden der Schreibtreiber 41 bis 46 bereitzustellen ist, und die Schreibtreiber 41 bis 46 so ansteuern, dass jeder von ihnen einen entsprechenden der binärcodierten Werte in eine entsprechende der Zellkomponenten 11 bis 16 schreiben kann.
  • In 4 sind Zeitdiagramme 450, 550 und 150 gezeigt. Das Zeitdiagramm 450 zeigt Zeitpunkte von Signalausgaben von irgendeinem der Schreibtreiber 41 bis 46 beim Schreiben in die Synapsenspeicherzelle 10 an. Das Zeitdiagramm 550 zeigt Zeitpunkte der Signalausgaben von dem Lesetreiber 50 beim Lesen aus der Synapsenspeicherzelle 10 an. Ferner zeigt das Zeitdiagramm 150 Zeitpunkte von Zustandsübergängen der Synapsenspeicherzelle 10 an.
  • Um einen Synapsengewichtswert in die Synapsenspeicherzelle 10 zu schreiben, kann jeder der Schreibtreiber 41 bis 46 auf einen höheren oder niedrigeren Wert als einen Setz- bzw. Rücksetz-Schwellenwert getrieben werden.
  • Zunächst wird angenommen, dass alle Zellkomponenten 11 bis 16 auf einen leichten Zustand voreingestellt sind, der einen Gewichtswert von „0“ ergibt, indem alle Schreibtreiber 41 bis 46 so aktiviert werden, dass sie die Zellkomponenten 11 bis 16 in eine Rücksetz-Richtung (zum Beispiel niedriger als einen Rücksetz-Schwellenwert) steuern können. In dem Zeitdiagramm 450 wird diese Operation in einem Zustand „Reset1“ des Zeitdiagramms 150 ausgeführt.
  • Als nächstes wird angenommen, dass nur ausgewählte Zellkomponenten der Zellkomponenten 11 bis 16 auf einen schweren Zustand gesetzt werden, der einen Gewichtswert von „1“ ergibt, indem ausgewählte Schreibtreiber der Schreibtreiber 41 bis 46 so aktiviert werden, dass sie die ausgewählten Zellkomponenten in eine Setz-Richtung (zum Beispiel höher als einen Setz-Schwellenwert) steuern können. In dem Zeitdiagramm 450 wird diese Operation in einem Zustand „Set1“ des Zeitdiagramms 150 ausgeführt.
  • Als nächstes können die ausgewählten Zellkomponenten auf einen leichten Zustand gesetzt werden, der einen Gewichtswert „0“ ergibt, indem die ausgewählten Schreibtreiber so aktiviert werden, dass sie die ausgewählten Zellkomponenten in eine Rücksetz-Richtung (beispielsweise niedriger als einen Rücksetz-Schwellenwert) steuern können. In dem Zeitdiagramm 450 wird diese Operation in einem Zustand „Reset2“ des Zeitdiagramms 150 ausgeführt.
  • Um einen Synapsengewichtswert aus der Synapsenspeicherzelle 10 zu lesen, kann der Lesetreiber 50 aktiviert werden. Im Zeitdiagramm 550 wird diese Operation in den Zuständen „Read1“ und „Read2“ des Zeitdiagramms 150 ausgeführt. Zu jedem Zeitpunkt kann der Gesamtstrom, der von allen Zellkomponenten 11 bis 16 ausgegeben wird und der zum Synapsengewicht proportional ist, durch den Stromsensor 60 erfasst werden.
  • Man beachte, dass ein Pegel eines Signals, das von dem Lesetreiber 50 ausgegeben wird, niedriger als der Setz-Schwellenwert sein kann, so dass der in der Synapsenspeicherzelle 10 gespeicherte Synapsengewichtswert nicht durch das vom Lesetreiber 50 ausgegebene Signal zerstört (z.B. überschrieben) wird. In der Analogzelle oder der MLC-Struktur ist die genaue Steuerung der Einheitswiderstände zwingend. Mit dieser Struktur kann jedoch eine solche präzise Steuerung der Einheitswiderstände vermieden werden. Dies liegt daran, dass alle Einheitswiderstände wie bei der SLC nur in zwei Zuständen gesteuert werden und im Gegensatz zur MLC weder ein Verifizierungslesen noch ein zusätzliches Schreiben erforderlich ist.
  • Um Treiberkonflikte zu vermeiden, können Schreib- (Rücksetz-/Setz-) und Lesezeitpunkte einander ausschließend getrennt werden. Das heißt, dass das Schreibtreiberarray 40 und der Lesetreiber 50 so gesteuert werden können, dass sie nicht gleichzeitig aktiviert werden. Beispielsweise kann das Schreibtreiberarray 40 im Zustand hoher Impedanz (Hi-Z) gehalten werden, während der Lesetreiber 50 die Synapsenspeicherzelle 10 ansteuert, und der Lesetreiber 50 kann im Zustand hoher Impedanz (Hi-Z) gehalten werden, während das Schreibtreiberarray 40 die Synapsenspeicherzelle 10 ansteuert.
  • Mit Bezug auf 5 ist ein Beispiel eines neurosynaptischen Kernsystems gezeigt, das das Synapsenspeicherzellensystem von 3 enthält. Die Datenflüsse in diesem System folgen der in 5 gezeigten beispielhaften Ausführungsform. In 5 wird angenommen, dass der Synapsenspeicher 100 verwendet wird, um dieses System mit Online-Lernen zu implementieren.
  • Wie in 5 gezeigt, kann das neurosynaptische Kernsystem den Synapsenspeicher 100, Schreibtreiberarrays 400, Lesetreiber 500, Stromsensoren 600, Neuronenkörper 700, Gewichtsauswerter 800 und Gewichtscodierer 900 enthalten.
  • Der Synapsenspeicher 100 kann eine Mehrzahl von Synapsenspeicherzellen 10 enthalten, wie sie in 1 gezeigt sind.
  • Die Schreibtreiberarrays 400 können eine Mehrzahl von Schreibtreiberarrays enthalten, von denen eines als das Schreibtreiberarray 40 in 3 gezeigt ist. Jedes der Mehrzahl von Schreibtreiberarrays kann mit der einzelnen Synapsenspeicherzelle 10 mit der gemeinsamen Struktur verbunden sein, die in 3 gezeigt ist.
  • Die Lesetreiber 500 können eine Mehrzahl von Lesetreibern enthalten, von denen einer als der Lesetreiber 50 in 3 gezeigt ist. Jeder der Mehrzahl von Lesetreibern kann mit der einzelnen Synapsenspeicherzelle 10 mit der gemeinsamen Struktur verbunden sein, die in 3 gezeigt ist.
  • Die Stromsensoren 600 können eine Mehrzahl von Stromsensoren enthalten, von denen einer als der Stromsensor 60 in 3 gezeigt ist. Jeder der Stromsensoren kann mit den einzelnen Synapsenspeicherzellen 10 mit der gemeinsamen Struktur verbunden sein, die in 3 gezeigt ist.
  • Die Neuronenkörper 700 können eine Mehrzahl von Neuronenkörpern enthalten, von denen einer als der Neuronenkörper 70 in 3 gezeigt ist. Jeder der Neuronenkörper kann mit dem einzelnen Stromsensor 60 verbunden sein, der mit den einzelnen Speicherzellen 10 mit der gemeinsamen Struktur verbunden ist, die in 3 gezeigt sind.
  • Die Gewichtsauswerter 800 können eine Mehrzahl von Gewichtsauswertern enthalten, von denen einer als der Gewichtsauswerter 80 in 3 gezeigt ist. Jeder der Gewichtsauswerter kann mit dem einzelnen Gewichtscodierer 90 verbunden sein, der durch das einzelne Schreibtreiberarray 40 mit der einzelnen Synapsenspeicherzelle 10 mit der gemeinsamen Struktur verbunden ist, die in 3 gezeigt ist.
  • Die Gewichtscodierer 900 können eine Mehrzahl von Gewichtscodierern enthalten, von denen einer als der Gewichtscodierer 90 in 3 gezeigt ist. Jeder der Gewichtscodierer kann mit dem einzelnen Schreibtreiberarray 40 verbunden sein, das mit der einzelnen Synapsenspeicherzelle 10 mit der gemeinsamen Struktur verbunden ist, die in 3 gezeigt ist.
  • 5 zeigt ferner einen Datenfluss in einem Lernbetriebsmodus, der durch schraffierte Pfeile angezeigt ist, und einen Datenfluss in einem Erkennungsbetriebsmodus, der durch umrissene Pfeile angezeigt ist.
  • In dem Lernbetriebsmodus kann, wie in 5 gezeigt, einer der Schreibtreiberarrays 400 in Antwort auf eine Erkennungsoperationseingabe Spannung an eine entsprechende Synapsenspeicherzelle 10 in dem Synapsenspeicher 100 anlegen. Wenn in diesem Fall eines der Schreibtreiberarrays 400 eine Spannung anlegt, deren Pegel zwischen dem Rücksetz-Schwellenwert und dem Setz-Schwellenwert von 4 liegt, überschreibt es keinen Synapsengewichtswert, der in der Synapsenspeicherzelle 10 gespeichert ist.
  • Dann kann einer der Stromsensoren 600 den Gesamtstrom von einem entsprechenden Dendriten 30 erfassen, der mit der Synapsenspeicherzelle 10 verbunden ist. Einer der Neuronenkörper 700 kann einen Neuronen-Membranpotentialwert auf Grundlage des von einem der Stromsensoren 600 erfassten Gesamtstroms berechnen und eine Neuronenausgabe an einen der Gewichtsauswerter 800 bereitstellen. Einer der Gewichtsauswerter 800 kann die Neuronenausgabe, die von einem der Neuronenkörper 700 erhalten wurde, mit einer Lernoperationseingabe vergleichen und den nächsten Synapsengewichtswert berechnen, der verwendet wird, um den Inhalt der Synapsenspeicherzelle 10 auf Grundlage eines Ergebnisses des Vergleichs zu aktualisieren. Einer der Gewichtscodierer 900 kann den nächsten Synapsengewichtswert in binärcodierte Werte codieren und eines der Schreibtreiberarrays 400 so ansteuern, dass es die binärcodierten Werte in die Synapsenspeicherzelle 10 schreiben kann. Eines der Schreibtreiberarrays 400 kann die binärcodierten Werte als Synapsengewichtswert in die Synapsenspeicherzelle 10 steuern.
  • In dem Erkennungsbetriebsmodus können, wie in 5 gezeigt, die Lesetreiber 500 in Antwort auf eine Erkennungsoperationseingabe einen Strom an die Axone 20 anlegen, die mit den Synapsenspeicherzellen 10 in dem Synapsenspeicher 100 verbunden sind.
  • Dann können die Stromsensoren 600 den Gesamtstrom von den Dendriten 30 erfassen, die mit den Synapsenspeicherzellen 10 verbunden sind. Die Neuronenkörper 700 können das Neuronen-Membranpotential auf Grundlage des Gesamtstroms berechnen, der von den Stromsensoren 600 erfasst wurde, und die Neuronenausgabe einem anderen Synapsenspeichersystem als Erkennungsoperationsausgabe bereitstellen.
  • In 6 ist ein Block-/Flussdiagramm gezeigt, das ein Herstellungsverfahren des Synapsenspeicherzellensystems gemäß einer Ausführungsform darstellt, das Schreib- und Lesetreiber enthält.
  • Wie in 6 gezeigt, können eine Mehrzahl von Einheitswiderständen der minimalen Größe zum Schreiben und Lesen eines von zwei Gewichtswerten erstellt werden (Schritt 101). Zum Beispiel können die zwei Gewichtswerte ein Gewichtswert „1“, der einem schweren Zustand entspricht, und ein Gewichtswert „0“ sein, der einem leichten Zustand entspricht. Die Mehrzahl von Einheitswiderständen können parallel geschaltet werden, um die Mehrzahl von Zellkomponenten zusammenzustellen (Schritt 102). Als nächstes können verschiedene Arten von Zellkomponenten 11 bis 16 erstellt werden, die eine binär gewichtete Anzahl der Einheitswiderstände enthalten (Schritt 103). Die verschiedenen Arten von Zellkomponenten 11 bis 16 können kombiniert werden, um die Synapsenspeicherzelle 10 zusammenzustellen (Schritt 104).
  • Zugleich können die Schreibtreiber 41 bis 46 zum getrennten, aber gleichzeitigen parallelen Schreiben von Gewichtswerten in die Zellkomponenten 11 bis 16 in der Synapsenspeicherzelle 10 erstellt werden (Schritt 105). Das heißt, dass die Schreibtreiber 41 bis 46 zum digitalen Schreiben erstellt werden können. Dieser Schritt kann ferner das Anordnen von Schreibleitungen enthalten, die für ein solches digitales Schreiben verwendet werden. Der Lesetreiber 50 kann zum gleichzeitigen Lesen eines Synapsengewichtswerts aus den Zellkomponenten 11 bis 16 in der Synapsenspeicherzelle 10 erstellt werden (Schritt 106). Das heißt, dass der Lesetreiber 50 zum analogen Lesen erstellt werden kann. Dieser Schritt kann ferner das Anordnen einer Leseleitung enthalten, die für ein solches analoges Lesen verwendet wird.
  • Als nächstes wird eine alternative beispielhafte Ausführungsform beschrieben.
  • In einer alternativen beispielhaften Ausführungsform wird angenommen, dass die Synapsenspeicherzelle 10 eine kapazitive Speicherzelle ist, die eine Mehrzahl von Einheitskondensatoren enthält. Die resistive Speicherzelle in der beispielhaften Ausführungsform kann durch die kapazitive Speicherzelle ersetzt werden, da ein Synapsengewichtswert sowohl durch einen Leitfähigkeitswert der resistiven Speicherzelle als auch durch einen Kapazitätswert der kapazitiven Speicherzelle auf dieselbe Weise ausgedrückt werden kann. Der Kapazitätswert der kapazitiven Speicherzelle kann verdoppelt werden, wenn die Einheitskondensatoren parallel geschaltet werden, und halbiert werden, wenn die Einheitskondensatoren in Reihe geschaltet werden, wie bei dem Leitfähigkeitswert der resistiven Speicherzelle. Es sei bemerkt, dass in der alternativen beispielhaften Ausführungsform der Stromsensor 60 (z.B. die Stromsensoren 600) auch durch einen Kapazitätssensor (z.B. Kapazitätssensoren) und dergleichen ersetzt werden kann. Ferner kann der Kapazitätswert der kapazitiven Speicherzelle zu einem Zustand der Einheitszellen verallgemeinert werden, so wie es für den Leitfähigkeitswert der resistiven Speicherzelle für die resistive Speicherzelle geschehen kann.
  • Nachfolgend wird eine weitere alternative beispielhafte Ausführungsform beschrieben.
  • In der zweiten alternativen beispielhaften Ausführungsform wird angenommen, dass der Gewichtswert WEinheit drei Zustände aufweist, nämlich einen schweren Zustand, einen mittleren Zustand und einen leichten Zustand. Zum Beispiel kann der Gewichtswert WEinheit zwei sein, wenn er einen schweren Zustand hat, eins, wenn er einen mittleren Zustand hat, und null, wenn er einen leichten Zustand hat.
  • In der zweiten alternativen beispielhaften Ausführungsform können Zellkomponenten erstellt werden, die aus jeweils 3i-1 Einheitswiderständen bestehen, wobei i von 1 bis n reicht. Wenn i nicht 1 ist, können die 3i-1 Einheitswiderstände parallel geschaltet werden. So kann die aus den 3i-1 Einheitswiderständen bestehende Zellkomponente einen Gewichtswert haben, der durch 3i-1-mal WEinheit ausgedrückt wird (bzw. einen Widerstandswert, der durch ein 3i-1-tel (1/3i-1) von REinheit ausgedrückt wird). Das heißt, dass die Zellkomponente, die aus den 3i-1 Einheitswiderständen besteht, einen Gewichtswert von „0“, „3i-1“ oder „2 × 3i-1“ haben kann.
  • Beispielsweise kann eine Zellkomponente für i = 1 einen Gewichtswert von „0“, „1“ oder „2“ haben. Die Gewichtswerte „0“, „1“ und „2“ dienen als ein Beispiel eines ersten Satzes einer vorbestimmten Anzahl von Zuständen. Für die Einzelzellenkomponente für i = 1 dienen auch die Gewichtswerte „0“, „1“ und „2“ als ein Beispiel für einen zweiten Satz einer vorbestimmten Anzahl von Zuständen. Eine Zellkomponente für i = 2 kann einen Gewichtswert „0“, „3“ oder „6“ haben. Die Gewichtswerte „0“, „3“ und „6“ dienen als ein Beispiel eines ersten Satzes einer vorbestimmten Anzahl von Zuständen. Eine Zellkomponente für i = 3 kann einen Gewichtswert „0“, „9“ oder „18“ haben. Die Gewichtswerte „0“, „9“ und „18“ dienen als ein Beispiel eines ersten Satzes einer vorbestimmten Anzahl von Zuständen. Durch Kombinieren dieser Zellkomponenten für i = 1 bis i = 3 können zum Beispiel die Synapsengewichtswerte „0“ bis „26“ ausgedrückt werden. Das heißt, dass mit diesen Zellkomponenten für i = 1 bis i = n die Synapsengewichtswerte für n-stellige ternäre Zahlen ausgedrückt werden können.

Claims (11)

  1. Speicherzellenstruktur, aufweisend: eine Synapsenspeicherzelle mit einer Mehrzahl von Zellkomponenten, wobei jede der Mehrzahl von Zellkomponenten mindestens eine Einheitszelle enthält; eine Mehrzahl von Schreibleitungen, die so konfiguriert sind, dass sie einen Synapsenzustand in die Synapsenspeicherzelle schreiben, wobei jede der Mehrzahl von Schreibleitungen so konfiguriert ist, dass sie einen ersten Satz einer vorbestimmten Anzahl von Zuständen in eine entsprechende Zellkomponente der Mehrzahl von Zellkomponenten schreibt, indem sie einen zweiten Satz der vorbestimmten Anzahl von Zuständen in alle der mindestens einen Einheitszelle schreibt, die in der entsprechenden Zellkomponente enthalten sind, wobei der erste Satz von dem zweiten Satz und einer Anzahl der mindestens einen Einheitszelle abhängig ist, die in der entsprechenden Zellkomponente enthalten sind; und eine Leseleitung, die so konfiguriert ist, dass sie den Synapsenzustand aus der Synapsenspeicherzelle liest, wobei die Leseleitung ferner so konfiguriert ist, dass sie den ersten Satz der vorbestimmten Anzahl von Zuständen aus allen der Mehrzahl von Zellkomponenten gleichzeitig liest.
  2. Speicherzellenstruktur nach Anspruch 1, wobei jede der mindestens einen Einheitszelle ein Widerstand ist und die vorbestimmte Anzahl von Zuständen Zustände bezüglich der Leitfähigkeit des Widerstands sind.
  3. Speicherzellenstruktur nach Anspruch 1, wobei jede der mindestens einen Einheitszelle ein Kondensator ist und die vorbestimmte Anzahl von Zuständen Zustände bezüglich der Kapazität des Kondensators sind.
  4. Speicherzellenstruktur nach einem der vorhergehenden Ansprüche, wobei: eine vorbestimmte Anzahl der vorbestimmten Anzahl von Zuständen zwei ist, wobei die i-te Zellkomponente der Mehrzahl von Zellkomponenten 2i-1 Einheitszellen enthält, wobei i eine natürliche Zahl ist; und jeder der vorbestimmten Anzahl von Zuständen in dem ersten Satz 2i-1-mal ein entsprechender der vorbestimmten Anzahl von Zuständen in dem zweiten Satz ist.
  5. Speicherzellenstruktur nach einem der vorhergehenden Ansprüche, wobei: eine vorbestimmte Anzahl der vorbestimmten Anzahl von Zuständen drei ist; die i-te Zellkomponente der Mehrzahl von Zellkomponenten 3i-1 Einheitszellen enthält, wobei i eine natürliche Zahl ist; und jeder der vorbestimmten Anzahl von Zuständen in dem ersten Satz 3i-1-mal ein entsprechender der vorbestimmten Anzahl von Zuständen in dem zweiten Satz ist.
  6. Speicherzellensystem, aufweisend: eine Synapsenspeicherzelle mit einer Mehrzahl von Zellkomponenten, wobei jede der Mehrzahl von Zellkomponenten mindestens eine Einheitszelle enthält; eine Mehrzahl von Schreibtreibern, die so konfiguriert sind, dass sie einen Synapsenzustand in die Synapsenspeicherzelle schreiben, wobei jeder der Mehrzahl von Schreibtreibern so konfiguriert ist, dass er einen ersten Satz einer vorbestimmten Anzahl von Zuständen in eine entsprechende Zellkomponente der Mehrzahl von Zellkomponenten schreibt, indem er einen zweiten Satz der vorbestimmten Anzahl von Zuständen in alle der mindestens einen Einheitszelle schreibt, die in der entsprechenden Zellkomponente enthalten sind, wobei der erste Satz von dem zweiten Satz und einer Anzahl der mindestens einen Einheitszelle abhängig ist, die in der entsprechenden Zellkomponente enthalten sind; und einen Lesetreiber, der so konfiguriert ist, dass er den Synapsenzustand aus der Synapsenspeicherzelle liest, wobei der Lesetreiber ferner so konfiguriert ist, dass er den ersten Satz der vorbestimmten Anzahl von Zuständen gleichzeitig aus allen der Mehrzahl von Zellkomponenten liest.
  7. Speicherzellensystem nach Anspruch 6, wobei jede der mindestens einen Einheitszelle ein Widerstand ist und die vorbestimmte Anzahl von Zuständen Zustände bezüglich der Leitfähigkeit des Widerstands sind.
  8. Speicherzellensystem nach Anspruch 6, wobei jede der mindestens einen Einheitszelle ein Kondensator ist und die vorbestimmte Anzahl von Zuständen Zustände bezüglich der Kapazität des Kondensators sind.
  9. Speicherzellensystem nach einem der Ansprüche 6 bis 8, wobei: eine vorbestimmte Anzahl der vorbestimmten Anzahl von Zuständen zwei ist; die i-te Zellkomponente der Mehrzahl von Zellkomponenten 2i-1 Einheitszellen enthält, wobei i eine natürliche Zahl ist; und jeder der vorbestimmten Anzahl von Zuständen in dem ersten Satz 2i-1-mal ein entsprechender der vorbestimmten Anzahl von Zuständen in dem zweiten Satz ist.
  10. Speicherzellensystem nach einem der Ansprüche 6 bis 9, wobei: eine vorbestimmte Anzahl der vorbestimmten Anzahl von Zuständen drei ist; die i-te Zellkomponente der Mehrzahl von Zellkomponenten 3i-1 Einheitszellen enthält, wobei i eine natürliche Zahl ist; und jeder der vorbestimmten Anzahl von Zuständen in dem ersten Satz 3i-1-mal ein entsprechender der vorbestimmten Anzahl von Zuständen in dem zweiten Satz ist.
  11. Verfahren zum Herstellen einer Speicherzellenstruktur, das Verfahren aufweisend: Erstellen einer Mehrzahl von Einheitszellen; Zusammenstellen einer Mehrzahl von Zellkomponenten, wobei jede der Mehrzahl von Zellkomponenten mindestens eine Einheitszelle der Mehrzahl von Einheitszellen enthält; Zusammenstellen einer Synapsenspeicherzelle, die die Mehrzahl von Zellkomponenten enthält; Anordnen einer Mehrzahl von Schreibleitungen, die so konfiguriert sind, dass sie einen Synapsenzustand in die Synapsenspeicherzelle schreiben, wobei jede der Mehrzahl von Schreibleitungen so konfiguriert ist, dass sie einen ersten Satz einer vorbestimmten Anzahl von Zuständen in eine entsprechende Zellkomponente der Mehrzahl von Zellkomponenten schreibt, indem sie einen zweiten Satz der vorbestimmten Anzahl von Zuständen in alle der mindestens einen Einheitszelle schreibt, die in der entsprechenden Zellkomponente enthalten sind, wobei der erste Satz von dem zweiten Satz und einer Anzahl der mindestens einen Einheitszelle abhängig ist, die in der entsprechenden Zellkomponente enthalten sind; und Anordnen einer Leseleitung, die so konfiguriert ist, dass sie den Synapsenzustand aus der Synapsenspeicherzelle liest, wobei die Leseleitung ferner so konfiguriert ist, dass sie den ersten Satz der vorbestimmten Anzahl von Zuständen gleichzeitig aus allen der Mehrzahl von Zellkomponenten liest.
DE112017004156.2T 2016-11-09 2017-10-25 Speicherzellenstruktur Pending DE112017004156T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/346,841 US10090047B2 (en) 2016-11-09 2016-11-09 Memory cell structure
US15/346,841 2016-11-09
PCT/IB2017/056618 WO2018087617A1 (en) 2016-11-09 2017-10-25 Memory cell structure

Publications (1)

Publication Number Publication Date
DE112017004156T5 true DE112017004156T5 (de) 2019-05-09

Family

ID=62064360

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112017004156.2T Pending DE112017004156T5 (de) 2016-11-09 2017-10-25 Speicherzellenstruktur

Country Status (6)

Country Link
US (3) US10090047B2 (de)
JP (1) JP6865819B2 (de)
CN (1) CN109844772B (de)
DE (1) DE112017004156T5 (de)
GB (1) GB2571218B (de)
WO (1) WO2018087617A1 (de)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10090047B2 (en) * 2016-11-09 2018-10-02 International Business Machines Corporation Memory cell structure
US11347999B2 (en) * 2019-05-22 2022-05-31 International Business Machines Corporation Closed loop programming of phase-change memory
US11562205B2 (en) * 2019-09-19 2023-01-24 Qualcomm Incorporated Parallel processing of a convolutional layer of a neural network with compute-in-memory array
US11475946B2 (en) * 2020-01-16 2022-10-18 International Business Machines Corporation Synapse weight update compensation
US11809982B2 (en) * 2020-02-05 2023-11-07 International Business Machines Corporation Performance and area efficient synapse memory cell structure
US11742901B2 (en) * 2020-07-27 2023-08-29 Electronics And Telecommunications Research Institute Deep learning based beamforming method and apparatus
US11929121B2 (en) * 2022-03-09 2024-03-12 Micron Technology, Inc. Storing one data value by programming a first memory cell and a second memory cell

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4999525A (en) 1989-02-10 1991-03-12 Intel Corporation Exclusive-or cell for pattern matching employing floating gate devices
US4962342A (en) * 1989-05-04 1990-10-09 Synaptics, Inc. Dynamic synapse for neural network
JPH02301880A (ja) * 1989-05-17 1990-12-13 Ricoh Co Ltd ニューロン回路
JP3260357B2 (ja) * 1990-01-24 2002-02-25 株式会社日立製作所 情報処理装置
JP2960956B2 (ja) * 1990-11-09 1999-10-12 オリンパス光学工業株式会社 アナログ読み出し型メモリ装置
EP0722171B1 (de) 1995-01-12 2001-09-26 Intergraph Corporation Registerspeicher mit Umleitungsmöglichkeit
JP2009080892A (ja) 2007-09-26 2009-04-16 Toshiba Corp 半導体記憶装置
JP5155843B2 (ja) * 2008-12-22 2013-03-06 シャープ株式会社 情報処理装置及びこれを用いたニューラルネットワーク回路
US8515885B2 (en) * 2010-10-29 2013-08-20 International Business Machines Corporation Neuromorphic and synaptronic spiking neural network with synaptic weights learned using simulation
KR20120059023A (ko) * 2010-11-30 2012-06-08 삼성전자주식회사 저항 소자 및 이를 이용한 디지털-아날로그 컨버터
US8892487B2 (en) * 2010-12-30 2014-11-18 International Business Machines Corporation Electronic synapses for reinforcement learning
US8856055B2 (en) * 2011-04-08 2014-10-07 International Business Machines Corporation Reconfigurable and customizable general-purpose circuits for neural networks
US8812414B2 (en) 2011-05-31 2014-08-19 International Business Machines Corporation Low-power event-driven neural computing architecture in neural networks
US8710865B2 (en) * 2011-10-26 2014-04-29 Hewlett-Packard Development Company, L.P. Field-programmable analog array with memristors
KR101430415B1 (ko) 2012-06-09 2014-08-14 서울대학교산학협력단 게이트 다이오드 구조를 갖는 메모리 셀 스트링 및 이를 이용한 메모리 어레이
CN104240753B (zh) * 2013-06-10 2018-08-28 三星电子株式会社 突触阵列、脉冲整形电路和神经形态系统
US9418333B2 (en) * 2013-06-10 2016-08-16 Samsung Electronics Co., Ltd. Synapse array, pulse shaper circuit and neuromorphic system
KR102179899B1 (ko) * 2013-08-05 2020-11-18 삼성전자주식회사 뉴로모픽 시스템 및 그 구현 방법
JP6501146B2 (ja) * 2014-03-18 2019-04-17 パナソニックIpマネジメント株式会社 ニューラルネットワーク回路およびその学習方法
GB201419355D0 (en) 2014-10-30 2014-12-17 Ibm Neuromorphic synapses
US10090047B2 (en) * 2016-11-09 2018-10-02 International Business Machines Corporation Memory cell structure

Also Published As

Publication number Publication date
US10297321B2 (en) 2019-05-21
GB201907335D0 (en) 2019-07-10
US20190206490A1 (en) 2019-07-04
US20180322920A1 (en) 2018-11-08
WO2018087617A1 (en) 2018-05-17
GB2571218A (en) 2019-08-21
CN109844772A (zh) 2019-06-04
GB2571218B (en) 2019-12-11
US20180130528A1 (en) 2018-05-10
CN109844772B (zh) 2023-05-02
JP6865819B2 (ja) 2021-04-28
US10446231B2 (en) 2019-10-15
JP2019537187A (ja) 2019-12-19
US10090047B2 (en) 2018-10-02

Similar Documents

Publication Publication Date Title
DE112017004156T5 (de) Speicherzellenstruktur
DE112018004223T5 (de) Trainieren künstlicher neuronaler Netze
DE112015003992B4 (de) Neuromorphe Synapsen
DE69300032T2 (de) Detektionsverfahren und -schaltung für Stromverluste in einer Bitleitung.
DE112019000437B4 (de) Architektur einer resistiven verarbeitungseinheit mit voneinander getrennter gewichtungsaktualisierungs- und inferenzschaltung
DE112018002950B4 (de) System und Verfahren zum Aufbauen von synaptischen Gewichten für künstliche neuronale Netze aus mit Vorzeichen versehenen analogen Leitwertpaaren unterschiedlicher Wertigkeit
DE112018003231T5 (de) Neuromorphe verarbeitungsvorrichtung
DE112019003326T5 (de) Speichererweiterte neuronale netzwerkarchitekturen eines codierers-decodierers
DE112019000226T5 (de) Neuromorpher chip zum aktualisieren präziser synaptischer gewichtswerte
DE3501272A1 (de) Adaptives, selbstausbesserndes prozessorfeld
DE2727419B2 (de) Halbleiterspeichersystem
WO2006058647A1 (de) Speicherschaltung wie verfahren zum bewerten eines speicherdatums einer cbram-widerstandsspeicherzelle
EP1204120B1 (de) Magnetoresistiver Speicher und Verfahren zu seinem Auslesen
DE112021002290T5 (de) Partitionierbares neuronales netz für festkörperlaufwerke
DE102020106867A1 (de) Vektor-matrix-multiplikation mit 3d-nand
DE102020120212A1 (de) Netzwerk zur automatischen Programmierspannungsauswahl
DE4312086C2 (de) Halbleiterspeichereinrichtung und Betriebsverfahren dafür
DE68921214T2 (de) ZUR SPEICHERUNG VON ZWEI ZUGEHöRIGEN DATENEINHEITEN ANGEPASSTES SPEICHERSYSTEM.
DE112021003254T5 (de) Abgleichen von mustern in speicherarrays
DE112017005197T5 (de) Hybrid-Komprimierungsschema zur effizienten Speicherung synaptischer Gewichte in neuromorphen Hardware-Kernen
DE102020120211A1 (de) Polarer neuronaler Netzwerk-Decodierer für Speichervorrichtungen
DE10124742C1 (de) Verfahren und Einrichtung zum Testen einer Speicherschaltung
DE19944036C2 (de) Integrierter Speicher mit wenigstens zwei Plattensegmenten
EP1163678B1 (de) Integrierter speicher mit speicherzellen, die je einen ferroelektrischen speichertransistor aufweisen
WO1998007100A1 (de) Rechnergestütztes verfahren zur auswahl von trainingsdaten für ein neuronales netz

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R081 Change of applicant/patentee

Owner name: SAMSUNG ELECTRONICS CO., LTD., SUWON-SI, KR

Free format text: FORMER OWNER: INTERNATIONAL BUSINESS MACHINES CORPORATION, ARMONK, N.Y., US

Owner name: SAMSUNG ELECTRONICS CO., LTD., SUWON-SI, KR

Free format text: FORMER OWNER: INTERNATIONAL BUSINESS MACHINES CORPORATION, ARMONK, NY, US

R082 Change of representative

Representative=s name: GRUENECKER PATENT- UND RECHTSANWAELTE PARTG MB, DE