DE102019116299A1 - Inhaltsadressierbarer Speicher mit Spin-Bahn-Drehmoment-Bauelementen - Google Patents

Inhaltsadressierbarer Speicher mit Spin-Bahn-Drehmoment-Bauelementen Download PDF

Info

Publication number
DE102019116299A1
DE102019116299A1 DE102019116299.8A DE102019116299A DE102019116299A1 DE 102019116299 A1 DE102019116299 A1 DE 102019116299A1 DE 102019116299 A DE102019116299 A DE 102019116299A DE 102019116299 A1 DE102019116299 A1 DE 102019116299A1
Authority
DE
Germany
Prior art keywords
sot
mtj
data
tcam
write
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
DE102019116299.8A
Other languages
English (en)
Inventor
Won Ho Choi
Jongyeon KIM
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.)
SanDisk Technologies LLC
Original Assignee
SanDisk Technologies LLC
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 SanDisk Technologies LLC filed Critical SanDisk Technologies LLC
Publication of DE102019116299A1 publication Critical patent/DE102019116299A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C15/00Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores
    • G11C15/04Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores using semiconductor elements
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/02Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements
    • G11C11/16Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements using elements in which the storage effect is based on magnetic spin effect
    • G11C11/165Auxiliary circuits
    • G11C11/1659Cell access
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/02Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements
    • G11C11/16Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements using elements in which the storage effect is based on magnetic spin effect
    • G11C11/165Auxiliary circuits
    • G11C11/1673Reading or sensing circuits or methods
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/02Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements
    • G11C11/16Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements using elements in which the storage effect is based on magnetic spin effect
    • G11C11/165Auxiliary circuits
    • G11C11/1675Writing or programming circuits or methods
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C15/00Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores
    • G11C15/02Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores using magnetic elements
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C15/00Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores
    • G11C15/04Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores using semiconductor elements
    • G11C15/046Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores using semiconductor elements using non-volatile storage elements
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C19/00Digital stores in which the information is moved stepwise, e.g. shift registers
    • G11C19/02Digital stores in which the information is moved stepwise, e.g. shift registers using magnetic elements
    • G11C19/08Digital stores in which the information is moved stepwise, e.g. shift registers using magnetic elements using thin films in plane structure
    • 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/1078Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
    • G11C7/1096Write circuits, e.g. I/O line write drivers
    • HELECTRICITY
    • H10SEMICONDUCTOR DEVICES; ELECTRIC SOLID-STATE DEVICES NOT OTHERWISE PROVIDED FOR
    • H10BELECTRONIC MEMORY DEVICES
    • H10B61/00Magnetic memory devices, e.g. magnetoresistive RAM [MRAM] devices
    • H10B61/20Magnetic memory devices, e.g. magnetoresistive RAM [MRAM] devices comprising components having three or more electrodes, e.g. transistors
    • HELECTRICITY
    • H10SEMICONDUCTOR DEVICES; ELECTRIC SOLID-STATE DEVICES NOT OTHERWISE PROVIDED FOR
    • H10NELECTRIC SOLID-STATE DEVICES NOT OTHERWISE PROVIDED FOR
    • H10N50/00Galvanomagnetic devices
    • H10N50/80Constructional details
    • H10N50/85Magnetic active materials
    • HELECTRICITY
    • H10SEMICONDUCTOR DEVICES; ELECTRIC SOLID-STATE DEVICES NOT OTHERWISE PROVIDED FOR
    • H10NELECTRIC SOLID-STATE DEVICES NOT OTHERWISE PROVIDED FOR
    • H10N52/00Hall-effect devices
    • H10N52/101Semiconductor Hall-effect devices
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/02Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements
    • G11C11/16Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements using elements in which the storage effect is based on magnetic spin effect
    • G11C11/161Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements using elements in which the storage effect is based on magnetic spin effect details concerning the memory cell structure, e.g. the layers of the ferromagnetic memory cell

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Mram Or Spin Memory Techniques (AREA)
  • Hall/Mr Elements (AREA)

Abstract

Es werden hierin ternäre inhaltsadressierbare (TCAM) Speicherschaltungen bereitgestellt. In einer beispielhaften Implementierung kann eine TCAM-Schaltung einen ersten Spin-Bahn-Drehmoment-(SOT)-Magnettunnelkontakt (MTJ) einschließen, der eine festgesteckte Schicht aufweist, die mit einem ersten Lesetransistor verbunden ist, der durch eine erste Suchleitung gesteuert wird, und eine Spin-Hall-Effekt-(SHE)-Schicht aufweist, die in einer ersten Konfiguration über komplementierte Schreibeingänge verbunden ist. Die TCAM-Schaltung kann ein zweites SOT-MTJ-Element einschließen, das eine festgesteckte Schicht aufweist, die mit einem zweiten Lesetransistor verbunden ist, der durch eine zweite Suchleitung gesteuert wird, und eine SHE-Schicht aufweist, die in einer zweiten Konfiguration über die komplementierten Schreibeingänge verbunden ist. Die TCAM-Schaltung kann einen Vorspannungungstransistor einschließen, der eingerichtet ist, um eine Vorspannung an den Drain-Anschlüssen des ersten Lesetransistors und des zweiten Lesetransistors bereitzustellen, sowie ein Spannungshalteelement, das die Drain-Anschlüsse mit einer Übereinstimmungsindikatorleitung koppelt.

Description

  • VERWANDTE ANMELDUNGEN
  • Diese Anmeldung beansprucht hiermit den Vorteil und die Priorität der vorläufigen US-Patentanmeldung 62/725,088 , mit dem Titel „SPIN-ORBIT TORQUE DEVICE BASED CONTENT ADDRESSABLE MEMORY,“ eingereicht am 30. August 2018, die hiermit durch Bezugnahme in ihrer Gesamtheit aufgenommen wird.
  • TECHNISCHES GEBIET
  • Aspekte der Offenbarung beziehen sich auf die Bereiche eines inhaltsadressierbaren Speichers und künstliche neuronale Netzwerke.
  • HINTERGRUND
  • Inhaltsadressierbare Speicher (CAMs) sind eine Datenspeicheranordnung, die eine schnelle Suche in gespeicherten Daten unter Verwendung von Eingabewerten ermöglicht. Ein Direktzugriffsspeicher (RAM) verwendet eine Eingabespeicheradresse, um Daten an spezifischen Adressen abzurufen. Im Gegensatz dazu akzeptieren CAMs Eingabedaten oder Eingabetags, um zu bestimmen, ob Eingabedaten innerhalb des CAM gehalten werden, und erzeugen, falls gefunden, eine Speicheradresse oder Adressen, die den übereinstimmenden Eingabedaten innerhalb des CAM entsprechen. Bei Verwendung in einer Anordnung, welche als Assoziativspeicher bezeichnet wird, kann/können die vom CAM bestimmte Speicheradresse oder Speicheradressen anschließend in einen Direktzugriffsspeicher eingegeben werden, um einen Ausgabewert auf Grundlage dieser Speicheradressen zu erzeugen. Eine andere Form des CAM wird als ein ternärer inhaltsadressierbarer Speicher (TCAM) bezeichnet, der Platzhalter, „Don't-Care“ oder undefinierte Bereiche der Eingabedaten zulässt. Diese TCAM-Anordnung kann hilfreich sein, wenn nicht alle Ziffern von Eingabedaten bekannt sind, und kann eine Adressliste von einem CAM erzeugen, die mit dem Eingabedatenmuster mit Platzhalterwerten übereinstimmen. Jedoch erfordern TCAM-Implementierungen die Codierung von mindestens drei Zuständen für jedes Bit anstelle von zwei für traditionellere CAMs, die als binäre CAMs bezeichnet werden.
  • Es wurden verschiedene TCAM-Implementierungen versucht, aber diese Implementierungen haben den Nachteil, großen Energieverbrauch, hohe Halbleiterflächen und begrenzte Geschwindigkeit aufzuweisen. Beispielsweise können CAMs auf der Basis von komplementären Metalloxidhalbleitern (CMOS) eine hohe statische Verlustleistung und einen hohen Flächenaufwand aufweisen, wenn die Dichte von CMOS-basierten CAMs zunimmt. Eine andere TCAM-Implementierung verwendet STT-MRAM-Zellen (Spin-Transfer Torque) (Magnetic Random-Access-Memory). Jedoch weisen diese Anordnungen begrenzte Suchgeschwindigkeiten teilweise aufgrund des geringen magnetischen Tunnelwiderstands (TMR) der STT-MRAM-Konfiguration auf. Darüber hinaus führen hohe Schreibströme, die für die STT-MRAM-basierten TCAMs benötigt werden, zu unerwünschten Verlustleistungen und höheren Kenngrößen von Lese-/Schreibunterstützungsschaltungen.
  • CAMs und TCAMs werden häufig in Netzwerk-Routing-Geräten eingesetzt. Jedoch können diese Speicherstrukturen auch in künstlichen neuronalen Netzen (KNN) angewendet werden. KNNs können aus einzelnen künstlichen Neuronen gebildet werden, die unter Verwendung von Software, integrierter Hardware oder anderen normierten Elementen emuliert werden. Neuromorphic Computing kann KNNs verwenden, es konzentriert sich auf die Verwendung elektronischer Bauteile wie zum Beispiel analoger/digitaler Schaltungen in integrierten Systemen zur Simulation des menschlichen Gehirns, um ein besseres Verständnis des neurobiologischen Aufbaus des neuronalen Systems zu erlangen. Neuromorphic Computing betont die Implementierung von Modellen neuronaler Systeme, um zu verstehen, wie die Morphologie einzelner Neuronen, Synapsen, Schaltungen und Architekturen zu erwünschten Berechnungen führt.
  • ÜBERBLICK
  • Es werden hierin ternäre inhaltsadressierbare (TCAM) Speicherschaltungen bereitgestellt. In einer beispielhaften Implementierung kann eine TCAM-Schaltung einen ersten Spin-Bahn-Drehmoment-(SOT)-Magnettunnelkontakt (MTJ) einschließen, der eine festgesteckte Schicht aufweist, die mit einem ersten Lesetransistor verbunden ist, der durch eine erste Suchleitung gesteuert wird, und eine Spin-Hall-Effekt-(SHE)-Schicht aufweist, die in einer ersten Konfiguration über komplementierte Schreibeingänge verbunden ist. Die TCAM-Schaltung kann ein zweites SOT-MTJ-Element einschließen, das eine festgesteckte Schicht aufweist, die mit einem zweiten Lesetransistor verbunden ist, der durch eine zweite Suchleitung gesteuert wird, und eine SHE-Schicht aufweist, die in einer zweiten Konfiguration über die komplementierten Schreibeingänge verbunden ist. Die TCAM-Schaltung kann einen Vorspannungungstransistor einschließen, der eingerichtet ist, um eine Vorspannung an den Drain-Anschlüssen des ersten Lesetransistors und des zweiten Lesetransistors bereitzustellen, sowie ein Spannungshalteelement, das die Drain-Anschlüsse mit einer Übereinstimmungsindikatorleitung koppelt.
  • Figurenliste
  • Viele Aspekte der Offenbarung können unter Bezugnahme auf die folgenden Zeichnungen besser verstanden werden. Während mehrere Implementierungen in Verbindung mit diesen Zeichnungen beschrieben werden, ist die Offenbarung nicht auf die hier offenbarten Implementierungen beschränkt. Im Gegenteil, es ist beabsichtigt, alle Alternativen, Modifikationen und Entsprechungen abzudecken.
    • 1 veranschaulicht inhaltsadressierbare Speicher in einer Implementierung.
    • 2 veranschaulicht ein künstliches neuronales Netz in einer Implementierung.
    • 3 veranschaulicht einen inhaltsadressierbaren Speicher in einer Implementierung.
    • 4 veranschaulicht eine beispielhafte Schaltung mit einem Spin-Bahn-Drehmoment-Bauelement in einer Implementierung.
    • 5 veranschaulicht einen beispielhaften inhaltsadressierbaren Speicher mit Spin-Bahn-Drehmoment-Bauelementen in einer Implementierung.
    • 6 veranschaulicht beispielhafte Prozesse eines inhaltsadressierbaren Speichers mit Spin-Bahn-Drehmoment-Bauelementen in einer Implementierung.
    • 7 veranschaulicht beispielhafte Prozesse eines inhaltsadressierbaren Speicher mit Spin-Bahn-Drehmoment-Bauelementen in einer Implementierung.
    • 8 veranschaulicht ein Rechensystem, um ein künstliches neuronales Netz oder einen inhaltsadressierbaren Speicher mit Spin-Bahn-Drehmoment-Bauelementen gemäß einer Implementierungzu verwalten oder zu steuern.
    • 9 veranschaulicht eine beispielhafte Leistung von Magnettunnelkontakt-Bauelementen.
  • DETAILLIERTE BESCHREIBUNG
  • In der vorliegenden Erläuterung werden verschiedene verbesserte Schaltungen vorgestellt. Diese verbesserten Schaltungen können inhaltsadressierbare (CAM) Speicherelemente beinhalten, um neben anderen Anwendungen den Prozess weiter zu beschleunigen und den Stromverbrauch von neuronalen Netzwerken zu reduzieren. Zum Beispiel können die CAM-Strukturen in einem beliebigen inhaltsadressierbaren Speicher und einer beliebigen inhaltsadressierbaren Speicheranwendung verwendet werden. Es werden hierin ternäre inhaltsadressierbare (TCAM) Speicherstrukturen erläutert, welche Platzhalter, „Don't-Care“ oder undefinierte Teile von Eingabedaten zulassen, um übereinstimmende Ergebnisse zu verwalten. Eine solche hierin diskutierte TCAM-Struktur weist zwei Spin-Hall-Effekt-(SHE)-Magnetspeicherzellen (MRAM) auf, welche Spin-Bahn-Drehmoment-(SOT)-Magnettunnelkontaktelemente (MJT) verwenden.
  • CAM- und TCAM-Strukturen verwenden üblicherweise nichtflüchtige Speicherelemente (NVM), um Daten zu speichern, die unter Verwendung von Eingabedaten oder Eingabetags durchsucht werden können. Vorangegangene Versuche an CAM/TCAM-Strukturen beinhalten komplementäre Metalloxid-Silizium-(CMOS)-Strukturen, die verwendet werden, um statische Direktzugriffspeicherelemente (SRAM) zu implementieren. Obwohl sie für CAM/TCAM-Zwecke funktionell sind, sind Zellen auf CMOS-Basis groß und verbrauchen mehr Strom als andere Zelltypen. Somit sind Zellen auf CMOS-Basis für den Einsatz in einem neuronalen Netz von TCAM- Strukturen unerwünscht, wie nachfolgend in 2 erläutert.
  • CAM/TCAM-Strukturen könnten stattdessen unter Verwendung von Magnettunnelkontakten (MTJs) oder verschiedenen resistiven Speichervorrichtungen, wie beispielsweise Memristoren, gebildet werden. MTJ-Elemente können verwendet werden, um Datenspeicherelemente zu bilden. MTJs arbeiten unter Verwendung eines magnetischen Tunnelwiderstands (TMR), der ein magnetoresistiver Effekt ist. MTJs bestehen in der Regel aus zwei Schichten aus ferromagnetischen Materialien, die durch eine dünne Isolierschicht getrennt sind, durch die Elektronen quantenmechanisch von einer ferromagnetischen Schicht in die andere geschleust werden. Eine ferromagnetische Schicht eines MTJ kann als eine festgesteckte Schicht bezeichnet werden, die einen konstanten Magnetisierungszustand aufweist, während die andere ferromagnetische Schicht eines MTJ eine freie Schicht aufweist, welche den Magnetisierungszustand ändern kann. Eine Zwischenschicht, die einen dünnen Isolator aufweist, der die beiden ferromagnetischen Schichten trennt, kann aus einem Oxidmaterial oder einem anderen geeigneten elektrischen Isolator gebildet sein. Elektrische Anschlüsse können gebildet werden, um die freien und festgesteckten Schichten des MTJ mit anderen Bauteilen in einer Schaltung zu verbinden.
  • MTJ-Elemente können in der Regel in zwei unterschiedlichen Zuständen angeordnet sein, die den darin gespeicherten verschiedenen logischen Werten entsprechen können. Diese Zustände hängen von einem Magnetisierungszustand des MTJ-Elements ab, der einem magnetoresistiven Wert des gerade erörterten MTJ-Elements entsprechen kann. Die veränderbaren magnetischen Zustände von MTJ-Elementen, die hier erläutert werden, können sich im Rahmen von zwei Zuständen ändern, nämlich einem parallelen Zustand und einem antiparallelen Zustand. Ein paralleler Zustand tritt auf, wenn eine freie Schicht und eine festgesteckte Schicht eines MTJ-Elements in dem gleichen Magnetisierungszustand sind. Ein antiparalleler Zustand tritt auf, wenn eine freie Schicht und eine festgesteckte Schicht eines MTJ-Elements in einem unterschiedlichen Magnetisierungszustand sind. Es können den magnetischen Zuständen logische Werte zugeordnet werden, wie eine logische ,0' für einen antiparallelen Zustand und eine logische ,1' für einen parallelen Zustand, neben anderen Konfigurationen.
  • MTJ-Typen können verschiedene Konfigurationen einschließen, die in künstlichen neuronalen Netzschaltungen und CAM/TCAM-Schaltungen eingesetzt werden können. MTJ-Bauelemente verwenden typischerweise spinpolarisierte Ströme, um einen Magnetisierungszustand einer ferromagnetischen Schicht reversibel umzuschalten, nämlich einen Magnetisierungszustand der oben erwähnten freien Schicht. Es können rechtwinklige oder parallele Anordnungen von MTJ-Elementen verwendet werden, die sich auf einen Typ von magnetischer Anisotropie beziehen, die einer bevorzugten Ausrichtungsrichtung in magnetischen Momenten innerhalb des MTJ-Elements in Bezug auf eine Oberfläche eines entsprechenden Halbleitersubstrats zugeordnet ist. Ein erster Typ von MTJ-Konfiguration beinhaltet eine homogene senkrechte Spintransfer-Drehmoment-(STT)-Anordnung, die typischerweise ein Bauelement mit 2 Anschlüssen aufweist, die aus zumindest drei übereinander liegenden Materialschichten gebildet ist. Diese drei Schichten schließen eine Tunnelbarriereschicht ein, die zwischen einer festgesteckte Schicht und einer freien Schicht angeordnet ist. Die freie Schicht und die festgesteckte Schicht sind mit den zwei Anschlüssen des STT-MTJ verbunden.
  • Es wurden STT-MTJ-basierte TCAM-Zellen entwickelt, die mehrere Steuerungstransistoren und zwei STT-MTJ-Elemente aufweisen können. Diese Struktur hat gegenüber der obigen CMOS-Konfiguration insofern Vorteile, als wenig bis kein statischer Leistungsverbrauch auftritt, sie eine kompaktere Größe aufweist und eine reduzierte Transistorzahl aufweist. Konfigurationen von STT-MTJ-basierten TCAMs könnten auch gemeinsame oder getrennte Schreibleitungen (WL) und Lese-/Suchleitungen (SL) verwenden. Getrennte Schreib- und Suchleitungen können strukturelle Vorteile gegenüber den CMOS-Designs aufweisen. Jedoch ist die Suchgeschwindigkeit (Lesegeschwindigkeit) in STT-MTJ-basierten Schaltungen teilweise aufgrund der Eigenschaften des magnetischen Tunnelwiderstands (TMR) der STT-MTJ-Elemente und des höheren dazugehörigen Schreibstroms, der für STT-Konfigurationen typisch ist, begrenzt. Somit müssen STT-MTJs größerer Größe eingesetzt werden, um TCAM-Suchgeschwindigkeiten zu erhöhen. Auch können aufgrund der Konfiguration der Schaltung Lesestörungen auftreten.
  • Aufgrund der Einschränkungen und Leistungsvorbehalte von sowohl CMOS- als auch STT-MTJ-basierten TCAM-Designs wird nun ein verbessertes MTJ-basiertes Design vorgestellt. Ein solches MTJ-basiertes Design, das hierin erläutert wird, weist zwei Spin-Hall-Effekt-(SHE)-magnetoresistive Direktzugriffsspeicher-(MRAM)-Zellen auf, die heterogen in der Ebene liegende Spin-Bahn-Drehmoment-(SOT)-Magnettunnelkontakt-(MTJ)-Elemente verwenden, ein. Dieses verbesserte Design kann in jedem beliebigen CAM oder TCAM angewendet werden, das in neuronalen Netzanwendungen verwendet werden kann oder auch nicht. Daher können mit diesen verbesserten Zellschaltungsstrukturen universelle inhaltsadressierbare Speicherstrukturen bereitgestellt werden.
  • SOT-MTJ-Bauelemente weisen typischerweise Bauelemente mit 3 Anschlüssen auf. Im Gegensatz zu den STT-MTJ-Bauelementen mit zwei Anschlüssen können SOT-MTJ-Bauelemente neben anderen Unterschieden einen zusätzlichen Anschluss mit einer Metallunterschicht aufweisen. In diesen SOT-MTJ-Konfigurationen werden getrennte „Schreib-“ und „Lese“-Strompfade vorgesehen, die eine längere Lebensdauer haben können. In SOT-MTJ-Bauelementen wird ein Schreibstrom durch eine getrennte, darunter liegende Schicht anstatt durch eine Tunnelbarriereschicht geleitet, wie es in STT-MTJ-Elementen auftritt. Der Schreibstrom durch die Tunnelbarriereschicht in STT-MTJ-Elementen kann im Vergleich zu SOT-MTJ-Elementen zu mehr Verschleiß und Beschädigung von Tunnelbarriereschichtmaterialien führen. Darüber hinaus können auch, wenn getrennte Schreib- und Lesepfade verwendet werden, Lesesteuerungs- und Schreibsteuerungselemente wie zum Beispiel Lese- oder Schreibsteuerungstransistoren eine kleinere relative Größe im Vergleich zu den STT-MTJ-Strukturen aufweisen. Dies ist zum Teil auf einen größeren magnetischen Tunnelwiderstand (TMR) der SOT-MTJ-Konfiguration im Vergleich zu STT-MTJ-Strukturen zurückzuführen. Genauer gesagt können SOT-MTJ-Bauelemente einen höheren TMR als STT-MTJ-Bauelemente verwenden, was die Schreib- und Leseenergie, die für die hierin beschriebenen CAM/TCAM-Strukturen benötigt wird, reduzieren kann. Der reduzierte Energiebedarf entspricht einem geringeren Lese-/Schreibstrom in der SOT-MTJ-Konfiguration im Vergleich zu anderen MRAM- oder CMOS-Strukturen, was zu längeren Laufzeiten führen kann.
  • SOT-MTJs können hierin auch als Spin-Hall-Effekt-(SHE)-MTJs bezeichnet werden, wobei die Metallunterschicht ein Spin-Hall-Metall (SHM) aufweist. Beispielhafte SHE-MTJ-Strukturen sind in 4 unten dargestellt. Andere Ansätze können einen SOT in der MTJ-Ebene durch einen zum MTJ lotrechten SOT ersetzen, an dem ein externes elektrisches Feld angelegt ist. Dieses externe Feld kann jedoch die thermische Stabilität benachbarter Schaltungen verschlechtern.
  • Bevor auf die verbesserten, auf SOT/SHM-MTJ basierenden CAM/TCAM-Strukturen eingegangen wird, wird kurz eine relative Leistungsfähigkeit zwischen verschiedenen CAM/TCAM-Speicherzelltechnologien erläutert. 9 zeigt Leistungsvergleiche zwischen verschiedenen Technologien zum Implementieren der Speicherzellstrukturen, welche in CAM/TCAM-Designs verwendet werden. 9 veranschaulicht Leseleistungszunahmen durch Erhöhen der thermischen Stabilität (Δ) in einer SHE-MRAM-Struktur. Wie aus der Grafik 900-902 in 9 ersichtlich ist, zeigen SHE-MRAM-Strukturen auch bei höherer thermischer Stabilität (Δ) im Vergleich zu STT-MRAM-Strukturen einen geringen Schreib-Overhead. Höhere Δ erlaubt auch größere Leseströme. Somit können Leseverzögerungen mit minimalem Verlust von Schreibverzögerungen durch die Verwendung von SHE-MRAM-Strukturen reduziert werden.
  • In der Grafik 900 von 9 ist ein Vergleich des Schreibverzögerungsverhaltens zwischen STT-MRAM-Bauelementen und SHE-MRAM über die Erhöhung des Prozentsatzes der thermischen Stabilität entlang der horizontalen Achse dargestellt. Wie zu sehen ist, behalten SHE-MRAM-Bauelemente geringere Schreibverzögerungen über einen größeren Bereich der thermischen Stabilität als STT-MRAM-Bauelemente bei. In der Grafik 901 von 9 wird Lesestrom für ein SHE-MRAM-Bauelement in einem Bereich der thermischen Stabilität gezeigt, der entlang der horizontalen Achse dargestellt ist. In der Grafik 902 von 9 wird die Leseverzögerung für ein SHE-MRAM-Bauelement in einem Bereich der thermischen Stabilität gezeigt, der entlang der horizontalen Achse angegeben ist. Die Lesestromleistung und die Leseverzögerungsleistung können durch die Wahl des Materials, die Reinheit des Materials und die Zusammensetzung des Materials der darunter liegenden Schicht der SHE-MRAM-Struktur beeinflusst werden.
  • Tabelle 903 in 9 veranschaulicht die Leistung von SHE-MRAM, wenn sie in einer Level-2 (L2)-Cache-Struktur verwendet wird. In der Tabelle 903 werden verschiedene Typen von Speicherzellenstrukturen verglichen, wie CMOS (SRAM)-, STT-MRAM- und SHE-MRAM-Strukturen. Verglichen mit SRAM-Bauelementen bieten SHE-MRAM-Bauelemente eine ähnliche Leselatenz, aber eine geringere Leckage und eine dichtere Flächennutzung. Im Vergleich zu STT-MRAM-Bauelementen übertreffen SHE-MRAM-Bauelemente die STT-MRAM-Bauelemente mit verringerten Bitzellen-Ausfallsraten. Jedoch haben STT-MRAM-Bauelemente und SHE-MRAM-Bauelemente ähnliche Grundflächen. Darüber hinaus könnte ein höherer magnetischer Tunnelwiderstand (TMR) in SHE-MRAM-Bauelementen zur Verringerung der benötigten Leseenergie für die CAM/TCAM-Strukturen angewendet werden, wie hierin erläutert.
  • Nun wird auf die verbesserten Strukturen zum Implementieren von Bauelementen mit einem inhaltsadressierbaren Speicher (CAM) und einem ternären inhaltsadressierbaren Speicher (TCAM) Bezug genommen, wie in 1 dargestellt. Wie oben erwähnt, ist ein CAM ein Speicher, der das Durchsuchen von gespeicherten Daten über eingegebene Suchdaten anstelle von Adressdaten zulässt, wie dies bei den meisten Direktzugriffsspeicherbauelementen erfolgt. Ein CAM vergleicht eingegebene Suchdaten mit einer Tabelle gespeicherter Daten und sendet die Adresse der übereinstimmenden Daten zurück. Diese Adresse kann dann verwendet werden, um die Daten selbst aus dem Speicher abzurufen. Es können verschiedene Arten von CAMs gebildet werden, wobei eine beispielhafte Art davon als ternärer CAM (TCAM) bezeichnet wird. Herkömmliche CAMs erfordern binär formatierte eingegebene Suchdaten. Jedoch ermöglichen TCAMs die Verwendung eines dritten (ternären) Zustands von „Don't-Care“ oder eines Platzhalters für undefinierte Abschnitte der eingegebenen Suchdaten, so dass der TCAM keine exakte Instanz der eingegebenen Suchdaten aufweisen muss, um eine sich daraus ergebende Adresse zu erzeugen. 1 veranschaulicht ein Beispiel eines CAM-Systems 100.
  • In 1 gelangen die eingegebenen Suchdaten 120 aus System 100 in eine CAM-Schaltung 110, welche die eingegebenen Suchdaten mit einer gespeicherten Tabelle von Dateninhalten des CAM vergleicht. Wenn ein Treffer gefunden wird, dann wird die übereinstimmende Position 121 als ein Ergebnis präsentiert. Dieses Ergebnis kann an den Direktzugriffsspeicher 111 zur Verwendung als Nachschlageadresse weitergegeben werden. Wenn diese Nachschlageadresse einem Speicher präsentiert wird, erzeugt sie Ausgabedaten von dem Direktzugriffsspeicher 111, welche den eingegebenen Suchdaten 120 und der übereinstimmenden Position 121 entsprechen. Im Beispiel von 1 werden die Routing-,Ports' des Kommunikationsnetzwerks lediglich verwendet, um ein häufiges Beispiel für die Verwendung von CAMs zu zeigen. Die Ausgabedaten 122 weisen einen Port auf, der für das Routing von Kommunikationen basierend auf eingegebenen Suchdaten verwendet wird, die eine Netzwerkadresse aufweisen, obwohl stattdessen jede Art von Daten verwendet/gespeichert werden kann.
  • Ebenfalls wird in 1 die Schaltung 130 dargestellt, die eine detaillierte konzeptionelle Ansicht eines CAM darstellt. Die eingegebenen Suchdaten 120 weisen in diesem Beispiel ein n-Bit-Suchwort auf, das in einem Suchdatenregister zur Weitergabe auf Suchleitungen an die Nachschlagetabelle 131 der vorher gespeicherten Wörter 0 bis w übermittelt wird. Der Ausgabecodierer 132 zeigt eine oder mehrere übereinstimmende Positionen 134 auf, die eine oder mehrere Datenadressen aufweisen können, die einem Speicherort entsprechen, der den eingegebenen Suchdaten 120 zugeordnet ist. In der Schaltung 130 wird dies als Speicherwort w-1 dargestellt und auf einer zugeordneten Übereinstimmungsleitung gezeigt. Übereinstimmungsleitungen können in einigen Beispielen als Übereinstimmungsindikatorleitungen oder Ausgabeleitungen bezeichnet werden. Diese Datenadresse kann verwendet werden, um die Zieldaten aus einem Speicher abzurufen, oder für andere direktere Anwendungen herangezogen werden.
  • Eine beispielhafte Anwendung von CAM/TCAM-Strukturen findet sich in künstlichen neuronalen Netzen (KNN). Künstliche neuronale Netze können unter Verwendung herkömmlicher Verarbeitungselemente sowie spezieller Schaltungen gebildet werden. Beispielhafte Verarbeitungselemente beinhalten zentrale Verarbeitungseinheiten (CPUs) oder grafische Verarbeitungseinheiten (GPUs), die für Anwendungen für maschinelles Lernen, wie beispielsweise Bilderkennung, Spracherkennung, Handschriftenerkennung, neben anderen Anwendungen, gut geeignet sind.
  • Um Prozesse des maschinellen Lernens auszuführen, kann eine CPU aufgrund der Bauweise der meisten CPUs eingeschränkt sein. Beispielsweise ist eine CPU bei der Handhabung eines Satzes von sehr komplexen Befehlen sehr effizient, weist jedoch keine Parallelität auf. In der maschinellen Lernberechnung, insbesondere bei Trainingsoperationen, ist eine grundlegende Operation die Vektor-Matrix-Multiplikation. GPUs, die gegenüber CPUs an Beliebtheit gewonnen haben, verwenden parallele Anordnungen und sind in der Handhabung vieler paralleler Sätze sehr einfacher Befehle sehr effizient. Eine weitere Wahl sind ASICs, wie zum Beispiel eine Tensor-Verarbeitungseinheit (TPU), die bei der Ausführung einer spezifischen Aufgabe effizient ist. Da maschinelles Lernen immer stärker in täglichen Anwendungen integriert ist, wächst das Interesse daran, diese Spezialchips für maschinelle Lernaufgaben herzustellen sowie bestehende Prozessorbasierte Designs effizienter zu gestalten.
  • Neben der Geschwindigkeit der Datenverarbeitung ist ein weiteres Problem beim maschinellen Lernen und bei neuronalen Netzen der Stromverbrauch. Für eine maschinelle Lernaufgabe können GPUs oder TPUs bis zu Hunderten von Watt benötigen, im Gegensatz zum menschlichen Gehirn, das ähnliche kognitive Aufgaben mit nur etwa 20 Watt ausführen kann. Solche energieintensiven Nachteile haben inspirierte Personen dazu veranlasst, von der Biologie oder dem Gehirn inspirierte Ansätze wie Neuromorphic Computing zu studieren, um sich mit den Stromverbrauchsproblemen des maschinellen Lernens zu beschäftigen. Wie unten erläutert, wird von einem anderen Ansatz ausgegangen, um den Energieverbrauch zu verringern, wenn GPUs oder andere Verarbeitungsvorrichtungen verwendet werden. Dieser erweiterte Ansatz verwendet eine neue Struktur von inhaltsadressierbaren (CAM)-Bauelementen, um den Betrieb von GPUs in neuronalen Netzen zu ergänzen.
  • Wie oben erwähnt, können KNNs, wie etwa konvolutionelle neuronale Netze (KNNs) unter Verwendung von Mehrkernprozessoren, die aus GPUs gebildet werden, implementiert werden. In GPU-Anordnungen wird eine große Energiemenge von Gleitkommaeinheiten (FPUs) verbraucht, die Addierer (ADD), Multiplizierer (MUL) und Multiplikator-Akkumulator-Elemente in Streaming-Cores aufweisen, die Daten verarbeiten. Die verbesserten CAM/TCAM-Beispiele hierin können in KNNs eingesetzt werden, die Prozessoren wie GPUs verwenden. Insbesondere kann ein inhaltsadressierbarer Speicher (CAM) mit einer Verarbeitungs-Pipeline in einer GPU oder einem anderen Prozessor verbunden sein. Der CAM kann verwendet werden, um hochfrequente Muster zu speichern, die von dem CNN angetroffen werden. Diese hochfrequenten Muster können effizient über Suchbegriffe oder Suchdaten durchsucht werden, was eine signifikante Rechenverringerung und Energieeinsparung in dem CNN bewirken kann.
  • 2 veranschaulicht ein beispielhaftes System 200 zur Anwendung von CAM in einer neuronalen Netzwerkimplementierung, was einen verbesserten Betrieb von einem GPU-implementierten neuronalen Netz oder einem Prozessor für Aufgaben zum maschinellen Lernen zur Folge haben kann. System 200 beinhaltet einen ternären CAM (TCAM) 221 und einen Speicher 222, die den Assoziativspeicher 220 bilden, um den Betrieb eines neuronalen Netzes zu komplementieren, das unter Verwendung von Gleitkommaeinheiten (FPUs) 210 in einer entsprechenden GPU gebildet wird. Die Integration des TCAM 221 neben jeder FPU in einem GPU-Streaming-Core bewirkt eine Verringerung der Rechenleistung und eine Energieeinsparung. Insbesondere ist der Assoziativspeicher 220 zum Nachschlagen hochfrequenter Muster unter Verwendung von in den TCAM 221 eingegebener Suchdaten vorgesehen. Diese Konfiguration kann eine erhebliche Rechenverringerung und Energieeinsparung bereitstellen. Wie bereits erwähnt, ist die GPU eine verallgemeinerte Form der GPU, die neben der reinen Grafikverarbeitung auch zur Verarbeitung beliebiger Datenaufgaben verwendet wird. Dieser GPU-Typ kann hierin als Mehrzweck-Graphikverarbeitungseinheit (General Purpose Graphics Processing Unit - GPGPU) bezeichnet werden.
  • In 2 werden die Eingaben 201 an eine Pipeline der FPU-Stufen 211-215 der FPU 210 innerhalb einer entsprechenden GPGPU gesandt. Ein Gleitkommaergebnis (QFPU ) ergibt sich aus der Verarbeitung der Eingaben durch die FPU-Pipeline. Eingaben 201 werden auch gleichzeitig an den TCAM 221 als eingegebene Suchdaten gesandt. Wenn eine Suche im TCAM 221 (z. B. ein Treffer) erfolgreich ist, wird das Trefferanzeigersignal 223 an die Pipelinesteuerungsschaltung 216 gesandt. Die Pipelinesteuerungsschaltung 216 kann eine Taktschaltung aufweisen, welche Taktsignale an die FPU-Stufen 211-215 sendet. Trefferanzeigersignal 223 zeigt der Taktschaltung der Pipelinesteuerungsschaltung 216 an, Taktsignale zu den FPU-Stufen 211-215 zu sperren oder anderweitig zu deaktivieren. Sobald das Trefferergebnis eine Datenausgabe aus dem Speicher erzeugt, der TCAM 221 zugeordnet ist, wird ein entsprechendes Ergebnis (QAM ) als eine Ausgabe der Pipeline anstelle eines QFPU -Ergebnisses bereitgestellt. Der Multiplexer 217 wird durch das Trefferanzeigersignal 223 des Assoziativspeichers 220 gesteuert, welcher vorgesehen werden kann, um zwischen de Ergebnissen von QFPU und QAM zu wählen.
  • Wie in 2 zu sehen, müssen Eingaben, die in dem Assoziativspeicher 220 enthalten sind, nicht von der FPU-Pipeline verarbeitet werden. Eine signifikante Energieeinsparung kann realisiert werden, indem die FPU-Pipeline in diesen Fällen unter Verwendung des Trefferanzeigersignals 223 und der Taktungsschaltungssteuerung deaktiviert wird. Andere Mittel zum Steuern der FPU-Pipeline können auf andere Weise als eine Taktungssteuerungsschaltung implementiert werden, wie etwa als Leistungssteuerungs-Gating der FPU-Pipeline-Schaltelemente, logische Deaktivierung der FPU-Pipeline-Schaltung oder durch andere Techniken. Wenn jedoch eingegebene Operanden nicht im Assoziativspeicher 220 enthalten sind, kann die FPU-Pipeline aktiviert werden, um die Eingaben zu verarbeiten, um ein Ergebnis zu erhalten. Die Auswahl zwischen dem TCAM-basierten Ergebnis oder dem FPUbasierten Ergebnis wird auf Grundlage dessen erreicht, ob eine Übereinstimmung in dem TCAM angezeigt wird oder nicht.
  • Der Assoziativspeicher 220 wird aktualisiert, um häufige Ergebnisse aus der Verarbeitung von Eingabeoperandendaten durch die FPU-Pipeline zu halten. Diese Aktualisierung kann auf Grundlage verschiedener Kriterien, wie zum Beispiel bei Ergebnissen, die bisherigen Ergebnissen ähnlich sind, oder unter Verwendung von jedem Ergebnis bei einer Initialisierung ausgeführt werden, bis die Kapazität des Assoziativspeichers erschöpft ist. Ein anschließender Treffer kann anzeigen, dass daraus resultierende Daten im Assoziativspeicher verbleiben können, und Daten mit wenigen verbundenen Treffern durch neue Ergebnisse von der FPU-Pipeline ersetzt werden können. Da TCAM 221 erfolgreiche Treffer auf Grundlage von ternär formatierten Daten anzeigen kann, müssen genaue Übereinstimmungen nicht als Eingabeoperanden präsentiert werden, um einen Treffer zu erzeugen. In Anwendungen zum maschinellen Lernen und anderen neuronalen Netzanwendungen kann diese Übereinstimmung/dieser Treffer ausreichend sein, um Ergebnisse zu erzeugen und den Stromverbrauch durch FPU-Pipelinestufen eliminieren.
  • 3 stellt eine schematische Ansicht 300 des inhaltsadressierbaren Speichers 310 dar. Diese schematische Ansicht weist Spalten von Zellen (C) 311-323 auf, die CAM- oder TCAM-Zellen aufweisen und in Spalten mit einer Vielzahl von Suchleitungen (SL0 - SL2) und logisch komplementierten Suchleitungen verbunden sind (SL0-SL2). Wenn die Zellen von CAM 310 TCAM-Zellen aufweisen, wird daher eine Vielzahl von TCAM-Zellen in Spalten und Reihen angeordnet, wobei die TCAM-Zellen jeder Spalte über zugeordnete Suchleitungen verbunden sind und die TCAM-Zellen jeder Reihe über zugeordnete Übereinstimmungsleitungen verbunden sind. Da Suchdaten auf Suchleitungen über Datensuchregister/Treiber 330 geleitet werden, können Ergebnisse durch Reihen von Übereinstimmungsleitungen (ML), die Leseverstärkern 341-344 zugeführt werden, überwacht werden. Der Codierer 350 kann ein Ergebnis auf Grundlage dessen präsentieren, welche Übereinstimmungsleitung einen Treffer erzeugt. Dieses Ergebnis weist eine übereinstimmende Position 302 oder eine übereinstimmende Adresse auf.
  • Die Steuerungsschaltung 360 ist zum Schreiben von Daten auf den CAM 310, Senden der Eingabedaten als Suchworte 301 zum Durchsuchen von CAM 310 und Auslesen der übereinstimmenden Positionen 302 eingerichtet. Die Steuerungsschaltung 360 kann diskrete Steuerlogik, integrierte Steuerlogik, Verarbeitungsvorrichtungen, Firmware, Software oder andere Steuerungselemente umfassen, die verwendet werden können, um den Betrieb der in 3 dargestellten Schaltung zu steuern, wie unten in 5 zu sehen ist. Die Steuerungsschaltung 360 kann in eine oder mehrere Instanzen der Schaltung in den 3 und 5 integriert werden. Wenn beispielsweise ein Array von TCAM-Zellen unter Verwendung der Schaltung in 5 gebildet wird, kann die Steuerungsschaltung 360 mit gemeinsam genutzten Steuerungsleitungen für die TCAM-Zellen verbunden werden, die in Reihen und Spalten angeordnet sind. Insbesondere Suchleitungen, Schreibleitungen, Steuerungsleitungen, Übereinstimmungsleitungen und dergleichen können miteinander verbunden werden, um Elemente der Steuerungsschaltung 360 zu steuern. Bei Verwendung in einer neuronalen Netzschaltung, wie in 2 zu sehen, kann diese TCAM-Anordnung verwendet werden, um den Betrieb des neuronalen Netzes zu beschleunigen sowie den Energieverbrauch des neuronalen Netzes zu verringern, wenn Übereinstimmungen innerhalb des TCAM-Arrays für Eingabedaten gefunden werden.
  • Um einen TCAM zu implementieren, können verschiedene Ansätze verfolgt werden. Bezugnehmend auf 3 kann jede Komponente der ,Zelle‘ (C) in dem inhaltsadressierbaren Speicher 310 durch verschiedene Speicherstrukturen gebildet werden. Typischerweise schließen diese Speicherstrukturen nichtflüchtige Speicherelemente (NVM) sowie die Steuerlogik ein. In einem Fall ist ein solches NVM-Element ein Spin-Bahn-Drehmoment-(SOT)-MTJ-Element, das ein darunter liegendes Spin-Hall-Effekt-(SHE)-Material aufweist. Vor einer Erläuterung der verbesserten TCAM-Zellstruktur wenden wir uns zuerst einer kurzen Einführung in die Struktur eines Spin-Bahn-Drehmoment-(SOT)-MTJ-Elements zu. Ein nichtflüchtiges Speicherelement, das dieses SOT-MTJ-Element beinhaltet, kann als ein Spin-Hall-Effekt-(SHE) magnetoresistiver Direktzugriffsspeicher (MRAM) bezeichnet werden. 4 veranschaulicht eine beispielhafte SHE-MRAM-Struktur 400.
  • In 4 steuert eine Steuerungsschaltung, die nicht gezeigt ist, eine Richtung der Ladungsbewegung durch eine Materialschicht 431 des Spin-Hall-Metallelements (SHM) 430. Gemäß dem Spin-Hall-Effekt können sich entgegengesetzt ausgerichtete Spins auf gegenüberliegenden Oberflächen des Ladungsträgermaterials ansammeln. Wenn mit einem MTJ-Element gepaart, wie für MTJ 420 in 4 gezeigt, wird eine freie Schicht 423 des MTJ-Elements 420 mit dem darunter liegenden ladungstragenden Material 431 verbunden. Wenn Strom durch das Material 431 fließt, kann dieser Strom folglich einen Magnetisierungszustand der freien Schicht 423 von MTJ 420 entsprechend dem Ladungsfluss durch das Material 431 verändern. Der Magnetisierungszustand der freien Schicht 423 des MTJ 420 wird mit Bezug auf die fixierte oder festgesteckte Schicht 421, die in dem gleichen Magnetisierungszustand bleibt, verändert. MTJ 420 schließt auch die Tunnelschicht 422 ein, die eine Isolationsschicht zwischen der freien Schicht 423 und der festgesteckten Schicht 421 bildet.
  • In 4 werden periphere Strukturen gezeigt, um eine MRAM-Konfiguration zu bilden, die das Schreiben und Lesen eines Datenbits durch Änderungen im Magnetisierungszustand des MTJ-Elements 420 ermöglicht. Diese Strukturen schließen einen Lesesteuerungstransistor (440) und einen Schreibsteuerungstransistor (441) ein, sowie verschiedene Steuerungsleitungen. Darüber hinaus beinhaltet Struktur 400 ein Spin-Hall-Metall-(SHM)-Element 430 mit zwei Anschlüssen 432-433 und Spin-Hall-Effekt-Material 431.
  • Der in 4 dargestellte Prozess der SHE-MRAM-Struktur kann entsprechend den in Tabelle 401 angeführten Spannungen fortgeführt werden. Im Betrieb steuert ein erster Steuerungstransistor 440 oder Leseschaltelement einen Lesepfad und ist über einen Gate-Anschluss mit der RWL-Leitung 411 von 4 verbunden. Ein zweiter Steuerungstransistor 441 oder Schreibschaltelement steuert einen Schreibpfad und ist über einen Gate-Anschluss mit der WWL-Leitung 412 von 4 verbunden. Während eines Schreibvorgangs führt, wenn die WWL-Leitung 412 freigegeben wird und der entsprechende Schreibsteuerungstransistor 441 in einem „Ein“-Zustand ist, eine zwischen der Suchleitung (SL) 414 und der Bitleitung (BL) 413 anliegende Spannung einen zugehörigen Strom durch Material 431 zu, der einen Magnetwiderstand oder Magnetisierungszustand der freien Schicht 423 des MTJ-Elements 420 verändern kann. Eine logische ,1' oder ,0' kann in der SHE-MRAM Struktur 400 auf Grundlage der Richtung des Stromflusses zwischen den SL- und BL-Leitungen gespeichert werden. Wenn die RWL-Leitung 411 während eines Lesevorgangs freigegeben wird und der entsprechende Lesesteuerungstransistor 440 in einem ,Ein‘-Zustand ist, kann eine Lesespannung (VREAD ) auf der BL-Leitung 413 herangezogen werden, um einen aktuellen Magnetwiderstand oder Magnetisierungszustand der freien Schicht 423 in Bezug auf die festgesteckte Schicht 421 des MTJ-Elements 420 zu erfassen.
  • Vorteilhafterweise stellt die SHE-MRAM-Struktur in 4 pro Einheit der thermischen Stabilität (Δ) einen niedrigen Strom bereit (d. h. ICHANNEL durch das darunter liegende Material 431), d. h. ein niedriger ICHANNEL /Δ, mit einer effizienten Spin-Generierung pro Ladestromeinheit (d. h. ISPIN/ICHARGE>100 %). Beispielhafte Materialien für Material 431 beinhalten ein Spin-Hall-Metall (SHM) mit unter anderem Wolfram (W) und Tantal (Ta), welches Einfluss auf die thermische Stabilität der SHE-MRAM-Struktur haben kann. In einigen Beispielen werden Beta-(β)-Konfigurationen von W und Ta verwendet, wie beispielsweise β-W-Materialien (Beta-Wolfram oder β-Wolfram) und β-Ta-Materialien (Beta-Tantal oder β-Tantal). Außerdem stellt die SHE-MRAM-Struktur getrennte Lese- und Schreibpfade bereit, die eine längere Lebensdauer der Bauelemente ermöglichen. Insbesondere wird weniger Strom für Lesevorgänge in der SHE-MRAM-Struktur im Vergleich zu anderen MRAM- oder CMOS-Strukturen benötigt, was zu längeren Strukturlaufzeiten führen kann.
  • Wir wenden uns nun einer beispielhafte Implementierung eines SHE-MRAM-Bauelements auf Basis einer TCAM-Zelle zu. 5 veranschaulicht eine verbesserte CAM-/TCAM-Zellstruktur mit SHE(SOT)-MRAM-Elementen. Insbesondere veranschaulicht 5 eine Schaltung 500, die einen ternären inhaltsadressierbaren Speicher (TCAM) auf Basis eines Sechs-Transistor-(6T)-Spin-Hall-Effekt-(SHE) magnetoresistiven Direktzugriffsspeichers (MRAM) aufweist. Zwei SHE-MRAM-Strukturen 540-541 sind in der Schaltung 500 beinhaltet. Jede SHE-MRAM-Struktur weist eine Spin-Bahn-Drehmoment-(SOT)-MTJ-Konfiguration auf, welche einen MTJ (542, 543) einschließt, der mit einer darunter liegenden Spin-Hall-Metall-(SHM)-Schicht (544, 545) verbunden ist. Jede SOT-MTJ-Schicht, die mit der entsprechenden SHM-Schicht verbunden ist, ist eine freie MTJ-Schicht, während nach oben eine Tunnelschicht und eine festgesteckte Schicht der freien MTJ-Schicht folgen. Eine detaillierte Ansicht der Schichten ist zuvor in 4 dargestellt, und die in 5 gezeigte Ansicht ist lediglich veranschaulichend.
  • Wie oben erwähnt, beinhaltet der Schaltkreis 500 einen auf 6T-SHE-MRAM basierenden TCAM. Die sechs Transistoren beinhalten M1-M6. M1 und M2 weisen Lesesteuerungstransistoren 531-532 auf. M3 und M4 weisen Schreibsteuerungstransistoren 533-534 auf. M5 weist einen Vorspannungssteuerungstransistor 535 auf. M6 weist eine Spannunghalterkonfiguration auf, die durch den Transistor 536 gebildet wird. Zusätzlich ist M0 eingeschlossen, der einen Vorladesteuerungstransistor 530 aufweist. In diesem Beispiel weisen M1, M2, M3, M4 und M6 Negativkanal-Metalloxidhalbleiter-(NMOS)-Transistoren auf, während M0 und M5 Positivkanal-Metalloxidhalbleiter-(PMOS)- Transistoren aufweisen. Andere geeignete Schaltelemente oder Auswahlkomponenten können stattdessen für M1, M2, M3, M4 und M6 verwendet werden.
  • Es sollte beachtet werden, dass die Bezeichnung „B“ auf den Steuerungsleitungen in 5 eine logisch komplementäre oder logisch komplementierte Version eines begleitenden Signals anzeigt. Zum Beispiel ist Leitung SLB (517) eine logisch komplementierte Version der Leitung SL (516). Eine komplementierte Version bezieht sich auf eine logische Negation oder logische Inversion eines bestimmten Signals oder logischen Werts. Wenn beispielsweise die Leitung SL auf einem bestimmten Spannungspegel ist, wie zum Beispiel VDD oder eine logische „1“, befindet sich Leitung SLB auf einem komplementierten Spannungspegel, nämlich 0V oder eine logische ,0'.
  • Mit Bezug auf die Struktur der Schaltung 500 sind Lesesteuerungstransistoren 531, 532 (M1, M2) eingeschlossen, um einen Lesestrom durch jede SHM-Schicht (544, 545) für die SHE-MRAM-Strukturen zu steuern. Die Lesesteuerungstransistoren 531, 532 werden durch SL- und SLB-Leitungen (516, 517) gesteuert, welche die Suchleitungen für die Schaltung 500 aufweisen. Die Lesesteuerungstransistoren 531, 532 weisen auch eine entsprechend kleinere Größe auf wegen der kleineren Leseströme für die SOT-MTJ-Strukturen im Vergleich zu den oben besprochenen STT-MTJ-Strukturen. Die Schreibsteuerungstransistoren 533, 534 (M3, M4) sind eingeschlossen, um einen Schreibstrom durch jede SHM-Schicht (544, 545) der SHE-MRAM-Strukturen zu steuern. Die Schreibsteuerungstransistoren 533, 534 werden über WL1- und WL2-Leitungen (514, 515) gesteuert, die Schreibleitungen für Schaltung 500 aufweisen. Somit werden getrennte Lese- und Schreibpfade unter Verwendung von Leseleitungen und Schreibleitungen hergestellt. Schreibsteuerungstransistoren 533, 534 haben auch im Vergleich zu den STT-MTJ-Strukturen aufgrund des großen magnetischen Tunnelwiderstands (TMR) der SOT-MTJ-Konfiguration eine entsprechend kleinere Größe.
  • Weitere Steuerungselemente sind in der TCAM-Zellstruktur von 5 eingeschlossen. Zuerst weist ein Vorladetransistor 530 (M0) ein Vorladeelement auf, das so eingerichtet ist, dass es ML 511 vor einem Lese-/Schreibvorgang auf einen vorbestimmten Spannungspegel wie beispielsweise VDD bringt. Der Vorladetransistor 530 koppelt eine entsprechende Übereinstimmungsleitung 511 mit einer vorbestimmten Spannung als Reaktion auf ein Vorladesteuersignal (PC). Der Vorspannungungstransistor 535(M5) ist eingeschlossen, um eine Spannung auf den gemeinsamen Knoten 523, der von den Lesetransistoren 531, 532 der TCAM-Zellstruktur gemeinsam genutzt wird, vorzuspannen. Der Vorspannungungstransistor 535 ist eingerichtet, um eine Vorspannung an Drain-Anschlüsse des Lesesteuerungstransistors 531 und des Lesesteuerungstransistors 532 als Reaktion auf ein Vorspannungssteuersignal (BIAS) zu leiten. Die Vorspannung hat in der Regel einen niedrigeren Pegel als VDD , beispielsweise Null Volt, oder alternativ eine Feldeffekttransistor-Schwellenspannung (VTH ) für den PMOS-Transistor, der für M5 gezeigt ist.
  • Ein weiteres Element 536 (M6) ist als ein Spannungshalter für ML 511 eingeschlossen. In diesem Beispiel weist das Spannungshalteelement 536 einen mit Dioden verbundenen NMOS-Transistor auf. Der Spannungshalter dient zum Erhalten einer ausreichenden ML 511-Spannung für parallele Suchvorgänge, wenn viele TCAM-Zellen in einem Array zusammen mit der TCAM-Zelle in Schaltung 500 eingeschlossen sind. Das Spannungshalteelement 536 koppelt die Drain-Anschlüsse des Lesesteuerungstransistors 531 und des Lesesteuerungstransistors 532 an eine entsprechende Übereinstimmungsleitung 511. 3 zeigt ein beispielhaftes Array mit vielen TCAM-Zellen. Während der Suchvorgänge wird ML 511 kontinuierlich durch den Spannungshalter 536 in einer TCAM-Zelle entladen, die nicht mit einer Sucheingabe übereinstimmt, als Reaktion auf eine Sucheingabe, die auf den SL-/SLB-Leitungen 516, 517 an die TCAM-Zelle gesandt wird. Wird ML 511 entladen, wird jeder Spannungshalter 536 des TCAM-Zellarray auf einen unterschwelligen Bereich geändert, und eine Spannungsänderung auf ML 511 (ΔVML) wird durch eine logarithmische Skala zusammen mit der Wortlänge der Sucheingabe leicht verringert. Aufgrund der Spannungshalter 536 behält ML 511 jedoch einen ausreichenden Spannungshub bei, um mehr als 0,1 V zu erfassen. Somit wird ML 511 durch eine Übereinstimmung in der TCAM-Zelle langsamer entladen als durch eine Nichtübereinstimmung, und ML 511 verbleibt auch im Falle einer Übereinstimmung über einen längeren Zeitraum auf einem Vorladepegel als im Falle einer Nichtübereinstimmung.
  • Sechs Transistoren werden in dem beispielhaften SHE-MRAM-Bauelement von 5 verwendet, um getrennte Lese- und Schreibpfade zu erzeugen. Somit kann eine größere Strukturgrundfläche im Hinblick auf vergleichbare Vier-Transistor-STT-MRAM-Bauelemente angenommen werden. Die Lesesteuerungstransistoren 531, 532 in dem SHE-MRAM-Bauelement sind jedoch entsprechend klein, und die SOT-MTJ-Struktur in 5 hat eine vergleichsweise kleinere Grundfläche als eine STT-MTJ-Struktur. Obwohl daher zusätzliche Transistorstrukturen in dem SHE-MRAM-Bauelement verwendet werden mögen, um getrennten Lese- und Schreibpfade zu erzeugen, ist der Sechs-Transistor-SHE-MRAM in der Größe mit einer Vier-Transistor-STT-MRAM-Struktur vergleichbar, verbunden mit den weiter oben beschriebenen Vorteilen für getrennte Lese-/Schreibpfade sowie eine verbesserte Leistung und eine verbesserte thermische Stabilität.
  • Wie oben erwähnt, verwendet die Schaltung 500, welche ein Beispiel mit einer verbesserten TCAM- Zellstruktur implementiert, zwei Spin-Bahn-Drehmoment-(SOT)-Magnettunnelkontakt-(MTJ)-Elemente mit darunter liegenden Spin-Hall-Effekt-(SHE)-Schichten, um zwei SHE-MRAM-Strukturen zu bilden. Ein erstes Spin-Bahn-Drehmoment(SOT)-Magnettunnelkontakt-(MTJ)-Element 542 weist eine festgesteckte Schicht auf, die an den ersten Suchsteuerungstransistor 531 gekoppelt ist, der durch die erste Suchleitung 517 gesteuert wird. Das erste SOT-MTJ-Element 542 weist eine Spin-Hall-Effekt-(SHE)Schicht auf, die SHM 544 aufweist. Ein zweites SOT-MTJ-Element 543 weist eine festgesteckte Schicht auf, die mit einem zweiten Suchsteuerungstransistor 532 verbunden ist, der durch die zweite Suchleitung 516 gesteuert wird. Das zweite SOT-MTJ-Element 543 weist auch eine SHE-Schicht auf, die SHM 545 aufweist. Der erste Suchsteuerungstransistor 531 und der zweite Suchsteuerungstransistor 532 können als Lesesteuerungstransistoren bezeichnet werden.
  • SHM 544 ist mit komplementären Schreibeingängen 512, 513 (BL, BLB) in einer ersten Konfiguration verbunden. Wie hierin verwendet, bezieht sich die erste Konfiguration auf eine spezifische Anordnung und einen Satz von Verbindungen zwischen den komplementierten Schreibeingängen 512, 513 (BL, BLB) und SHM 544. Komplementierte Schreibeingänge 512, 513 (BL, BLB) und SHM 544 können in unterschiedlichen Konfigurationen, welche immer noch in dem Umfang der Ansprüche in dieser Offenbarung liegen, angeordnet und verbunden werden. Des Weiteren kann die erste Konfiguration, welche die komplementierten Schreibeingänge 512, 513 (BL, BLB) und SHM 544 beinhaltet, in bestimmten Ausführungsformen auch weitere Komponenten wie etwa Schreibsteuerungstransistor 533 einschließen, welcher zur Steuerung eingerichtet ist, wenn ein Schreibstrom oder eine Spannung an der SHM 544-Komponente angelegt ist. Diese erste Konfiguration koppelt die entsprechende SHE-Schicht entsprechend einer ersten Spannungspolarität in Bezug auf die Schreibeingänge 512, 513 (BL, BLB). In diesem Beispiel wendet der Schreibsteuerungstransistor 533 komplementierte Schreibeingänge 512, 513 an SHE 544 in einer ausgewählten Konfiguration an, um eine Spannung durch SHM 544 entsprechend einer gewünschten Stromflussrichtung herzustellen. Komplementierte Schreibeingänge 512, 513 leiten logisch komplementierte Signalpegel während eines Schreibvorgangs zu SHM 544. Logisch komplementierte Signalpegel weisen jeweils eine entsprechende Spannung auf, die entgegengesetzte logische Zustände repräsentiert, wie beispielsweise ,0' und ,1' neben anderen logischen Darstellungen. Die Leitungen 518, 520 und 522 koppeln weiterhin die Schreibeingänge 512, 513 an SHM 544 über den Schreibsteuerungstransistor 533. Der Schreibsteuerungstransistor 533 wird durch die erste Schreibsteuerungsleitung 514 (WL1) gesteuert.
  • SHM 545 ist mit den komplementierten Schreibeingängen 512, 513 (BL, BLB) in einer zweiten Konfiguration verbunden, auch als eine zweite Konfiguration bezeichnet. Wie hierin verwendet, bezieht sich die zweite Konfiguration auf eine spezifische Anordnung und einen Satz von Verbindungen zwischen den komplementierten Schreibeingängen 512, 513 (BL, BLB) und SHM 545. Komplementierte Schreibeingänge 512, 513 (BL, BLB) und SHM 545 können in unterschiedlichen Konfigurationen, welche immer noch in dem Umfang der Ansprüche in dieser Offenbarung liegen, angeordnet und verbunden werden. Des Weiteren kann die zweite Konfiguration, welche die komplementierten Schreibeingänge 512, 513 (BL, BLB) und SHM 545 beinhaltet, in bestimmten Ausführungsformen auch weitere Komponenten wie etwa Schreibsteuerungstransistor 534 einschließen, welcher zur Steuerung eingerichtet ist, wenn ein Schreibstrom oder eine Spannung an SHM 545 angelegt ist. Diese zweite Konfiguration koppelt die entsprechende SHE-Schicht entsprechend einer zweiten Spannungspolarität in Bezug auf die Schreibeingänge 512, 513 (BL, BLB). In diesem Beispiel wendet der Schreibsteuerungstransistor 534 komplementierte Schreibeingänge 512, 513 an SHE 545 in einer ausgewählten Konfiguration an, um eine Spannung durch SHM 545 entsprechend einer gewünschten Stromflussrichtung herzustellen. Die komplementierten Schreibeingänge 512, 513 führen logisch komplementäre Signalpegel während eines Schreibvorgangs zu SHM 545. Logisch komplementierte Signalpegel weisen jeweils eine entsprechende Spannung auf, die entgegengesetzte logische Zustände repräsentiert, wie beispielsweise ,0' und ,1' neben anderen logischen Darstellungen. Die Leitungen 519, 521 und 522 koppeln weiterhin die Schreibeingänge 512, 513 an SHM 545 über den Schreibsteuerungstransistor 534. Der Schreibsteuerungstransistor 534 wird durch die zweite Schreibsteuerungsleitung 515 (WL2) gesteuert.
  • Die Funktionsweise der auf dem SHE-MRAM-Bauelement basierenden TCAM-Schaltung 500 ist in 6 detailliert dargestellt. Wenn in einem Array verwendet, können viele auf TCAM-Zellen basierende SHE-MRAM angeordnet werden, um Steuerungsleitungen wie beispielsweise Suchleitungen (SL) und Übereinstimmungsleitungen (ML) gemeinsam zu nutzen, wie in dem Beispiel der 3 zu sehen ist. In dieser Konfiguration ist ein Array von TCAM-Zellen in verschiedenen Reihen und Spalten angeordnet.
  • Vor Such-/Lesevorgängen des TCAM können Daten in den TCAM geschrieben werden. Die Schreibsteuerungstransistoren 533, 534 (M3, M4) steuern den Stromfluss durch entsprechende SHM-Schichten 544, 545 für Schreibvorgänge an MTJ-Elementen 542, 543. In einem beispielhaften Schreibvorgang können die WL-Leitungen 514, 515 (WL1/WL2) individuell freigegeben und der entsprechende Schreibsteuerungstransistor (M3, M4) in einen ,Ein‘-Zustand gesetzt werden. Dann leitet eine Spannung, die zwischen den BL- und BLB-Leitungen vorhanden ist, einen entsprechenden Strom durch das darunter liegende SHM-Material, das einen Magnetwiderstand/Magnetisierungszustand der freien Schicht des entsprechenden MTJ-Elements verändern kann. Magnetoresistive Zustände von MTJ-Elementen 542, 543 können in einem parallelen oder antiparallelen Zustand sein. Parallele MTJ-Zustände zeigen an, dass die festgesteckte Schicht und die freie Schicht den gleichen Magnetisierungszustand aufweisen. Antiparallele MTJ-Zustände zeigen an, dass die festgesteckte Schicht und die freie Schicht einen unterschiedlichen Magnetisierungszustand aufweisen. Somit kann eine logische ,1' oder ,0' auf Grundlage der Richtung oder der Polarität des Stromflusses zwischen BL-/BLB-Leitungen gespeichert werden. In diesem Beispiel entspricht eine logische ,1' einem parallelen MTJ-Zustand, während eine logische ,0' einem antiparallelen MTJ-Zustand entspricht, obwohl andere Konfigurationen möglich sind.
  • WL1 ist eingerichtet, um den Schreibsteuerungstransistor 533 (M3) zu steuern und Daten in die linksseitige MTJ-Struktur zu schreiben, wobei die Daten auf dem Stromfluss zwischen den BL/BLB-Leitungen basieren. WL2 ist eingerichtet, um den Schreibsteuerungstransistor 534 (M4) zu steuern und Daten in die rechtsseitige MTJ-Struktur zu schreiben, wobei die Daten auf dem Stromfluss zwischen den BL/BLB-Leitungen basieren. WL1 wird je nach den zu schreibenden Daten gleichzeitig oder sequentiell mit WL2 aktiviert, was zum Teil auf die gemeinsame Nutzung der BL/BLB-Leitungen zurückzuführen ist. 5 oben zeigt beispielhafte Schreibwerte für BL/BLB-Leitungen in einer entsprechenden Wahrheitstabelle.
  • Je nach Richtung oder Polarität des Stromflusses durch die entsprechenden SHM-Schichten 544, 545 kann der Schreibvorgang für jede SHE-MRAM-Struktur 540-541 entweder eine logische ,1' oder ,0' in die entsprechenden SOT-MTJ-Elemente 542, 542 schreiben. Die Tabelle 600 in 6 zeigt Schreibspannungen, um eine logische ,1' oder ,0' in den SOT-MTJ-Elementen 542, 542 zu erreichen. In einem ersten Schreibszenario (MTJ 542=0, MTJ 543=1) kann eine Steuerungsschaltung BL=VDD, BLB=GND bei WL1=WL2=VDD anwenden (d. h. beide M3/M4 eingeschaltet). Dieses erste Schreibszenario schreibt daher sowohl MTJ 542 als auch MTJ 543 zur gleichen Zeit. In einem zweiten Schreibszenario (MTJ 542=1, MTJ 543=0) kann eine Steuerungsschaltung BL=GND, BLB=VDD bei weiterhin WL1=WL2=VDD anwenden. Dieses zweite Schreibszenario schreibt auch sowohl MTJ 542 als auch MTJ 543 zur gleichen Zeit. Jedoch muss in einem dritten Szenario (MTJ 542=0, MTJ 543=0) eine Steuerungsschaltung die SOT-MTJ-Elemente 542, 542 sequentiell schreiben. Zum Beispiel kann eine Steuerungsschaltung BL=VDD, BLB=GND bei WL1=VDD, WL2=GND anwenden, um zuerst eine ,0' in MTJ 542 zu schreiben (d. h. M3 eingeschaltet, M4 ausgeschaltet). Anschließend kann die Steuerungsschaltung auf die Anwendung von BL=GND, BLB=VDD bei WL1=GND, WL2=VDD umschalten, um eine ,0' in MTJ 543 zu schreiben (d. h. M3 abgeschaltet, M4 eingeschaltet).
  • In 6 wird ein zweistufiger Such-/Lesevorgang durch die SHE-MRAM-basierte TCAM-Zelle bereitgestellt, nämlich Vorlade- und Auswertephasen. In der Vorladephase werden die Lesesteuerungstransistoren (M1, M2) über die SL/SLB-Leitungen ausgeschaltet, und die Übereinstimmungsleitung (ML) 511 wird unter Verwendung eines Vorladesteuersignals (PC) auf VDD geladen, um den Vorladetransistor 530 zu aktivieren. Sobald er vorgeladen ist, wird der Vorladetransistor 530 deaktiviert. Dann werden in einer Auswertephase die MRAM-Zellen 540, 541 über die Lesesteuerungstransistoren M1, M2 aktiviert, und die Spannung an ML 511 nimmt durch die MRAM-Zellen 540, 541 allmählich ab. Ein logischer Zustand der MRAM-Zellen 540, 541, der als magnetoresistente Zustände (d. h. Magnetisierungszustände) der MTJ-Elemente 542, 543 gespeichert ist, bestimmt die Entladerate der Spannung an ML 511, und zeigt einen logischen Wert an. Wenn zum Beispiel die auf den SL-/SLB-Leitungen vorhandenen Suchdaten und die in den MTJ-Elementen 542, 543 gespeicherten Daten gleich sind, erfolgt die Entladung von ML 511 relativ langsam, so dass ML 511 in einem relativ hohen Spannungspegel verbleibt, was eine Übereinstimmung als logische ,1' anzeigt. Wenn die auf den SL-/SLB-Leitungen vorhandenen Suchdaten und die in den MTJ-Elementen 542, 543 gespeicherten Daten ungleich sind, erfolgt die Entladung von ML 511 relativ schnell, so dass ML 511 nicht auf einem relativ hohen Spannungspegel bleibt, was eine Nichtübereinstimmung als logische ,0' anzeigt.
  • Die in 6 gezeigte Tabelle 600 stellt weiterhin die Entsprechung zwischen gespeicherten Daten in den MTJ-Elementen 542, 543, den Suchleitungen und Übereinstimmungsleitungen dar. Die magnetoresistenten Zustände der MTJ-Elemente 542, 543 können entweder einen binären Wert ,1' oder ,0' darstellen. Ein ternärer Zustand (,X‘-Wert) wird durch die Struktur der zwei MTJ-Elemente und zugeordneten Steuerungstransistoren/Verbindungen ermöglicht. Die SL-,Such‘-Werte sind in Tabelle 600 gezeigt, die diesen magnetoresistiven Zuständen entsprechen können. Wenn die SL-Werte der Tabelle 600 auf den Suchleitungen (SL/SLB) eines TCAM-Arrays dargestellt werden, kann eine Ausgabe auf den Übereinstimmungsleitungen des TCAM-Arrays angezeigt werden. Diese Ausgabe zeigt eine Übereinstimmung oder eine Nichtübereinstimmung als Antwort auf die Suchleitungswerte an.
  • Eine Steuerungsschaltung, wie zum Beispiel eine diskrete Steuerlogik, integrierte Steuerlogik, Verarbeitungsvorrichtungen, Firmware, Software oder andere Steuerungselemente, kann eingesetzt werden, um Steuerungsvorgänge der in 5 dargestellten Schaltung zu steuern. Diese Steuerungsschaltung kann in eine oder mehrere Instanzen der Schaltung in 5 integriert werden. Wenn beispielsweise ein Array von TCAM-Zellen unter Verwendung der Schaltung in 5 gebildet wird, kann die Steuerungsschaltung mit den gemeinsamen Steuerungsleitungen für TCAM-Zellen matrixartig in Reihen und Spalten gekoppelt werden. Insbesondere können die SL-/SLB-, WL1-/WL2- und BL-/BLB-Leitungen mit der Eingangstreiberschaltung verbunden werden, wie in 3 zu sehen ist. Übereinstimmungsleitungen (ML) können mit Leseverstärkern und weiteren Ausgangsschaltkreisen zur Darstellung von Datenübereinstimmungszuständen an weitere Schaltungen oder Verarbeitungsvorrichtungen verbunden werden. Bei Verwendung in einer neuronalen Netzschaltung, wie in 2 zu sehen, kann diese TCAM-Anordnung verwendet werden, um den Betrieb des neuronalen Netzes zu beschleunigen sowie den Energieverbrauch des neuronalen Netzes zu verringern, wenn Übereinstimmungen innerhalb des TCAM-Arrays für Eingabedaten gefunden werden.
  • In einer weiteren beispielhaften Schaltung, welche als TCAM-Zelle verwendet werden kann, weist eine erste magnetoresistive Direktzugriffsspeicherstruktur (MRAM) ein erstes Magnettunnelkontakt-(MTJ)-Element auf, das an einer entsprechenden freien Schicht mit einer ersten Spin-Hall-Metallschicht (SHM) gekoppelt ist. Dieses erste MTJ-Element ist an einer zugehörigen festgesteckten Schicht mit einem ersten Lesesteuerungstransistor (M1) verbunden, der durch eine erste Suchleitung (SLB) gesteuert wird. Die erste SHM-Schicht weist einen ersten Anschluss auf, der mit einem ersten Schreibsteuerungstransistor (M3) verbunden ist, der durch eine erste Schreibleitung (WL1) gesteuert wird, und einen zweiten Anschluss, der mit einer Bitleitung (BL) verbunden ist. Eine zweite MRAM-Struktur weist ein zweites MTJ-Element auf, das an einer entsprechenden freien Schicht mit einer zweiten SHM-Schicht verbunden ist. Dieses zweite MTJ-Element ist an einer entsprechenden festgesteckten Schicht mit einem zweiten Lesesteuerungstransistor (M2) verbunden, der von einer zweiten Suchleitung (SL) gesteuert wird. Die zweite SHM-Schicht weist einen ersten Anschluss auf, der mit einem zweiten Schreibsteuerungstransistor (M4) verbunden ist, der durch eine zweite Schreibleitung (WL2) gesteuert wird, und einen zweiten Anschluss, der mit der Bitleitung (BL) verbunden ist. Die Schaltung kann einen Vorspannungstransistor (M5) beinhalten, der eingerichtet ist, um eine Vorspannung an den ersten Lesesteuerungstransistor (M1) und den zweiten Lesesteuerungstransistor (M2) zu leiten. Wenn diese Schaltung in einem Array verwendet wird, das mehr als eine TCAM-Zelle aufweist, welche die ML gemeinsam nutzen, kann sie ein zwischen einer Übereinstimmungsleitung und der Vorspannung gekoppeltes Spannungshalteelement (M6) sowie ein Vorladeelement (M0) einschließen, das mit der Übereinstimmungsleitung (ML) verbunden ist.
  • 7 zeigt einen zusätzlichen beispielhaften Betrieb der oben besprochenen Schaltung, wie zum Beispiel für 5. In 7 wird der Schreibvorgang 700 in den Vorgängen 701-702 erörtert, während der Such- oder Lesevorgang 710 in den Vorgängen 703-705 beschrieben wird. Ausführlich beschriebene Vorgänge sind auch für einige Vorgänge in 7 dargestellt, um weitere Details zu jedem zugehörigen Schritt bereitzustellen.
  • Bei dem Schreibvorgang 700 schreibt eine Steuerungsschaltung Daten in ein erstes Spin-Bahn-Drehmoment-(SOT)-Magnettunnelkontakt-(MTJ)-Element einer TCAM-Zelle. Mit Bezug auf Elemente in 5 kann eine Steuerungsschaltung (701) Daten in die erste MRAM-Struktur (540) durch mindestens eine Aktivierung eines ersten Schreibsteuerungstransistors 533 (M3) schreiben und einen Schreibspannungspegel zwischen einem ersten Anschluss (520) des ersten SHM 544 und einem zweiten Anschluss (522) des ersten SHM 544 bereitstellen, um einen Strom durch den ersten SHM 544 zu erzeugen, der einen Magnetisierungszustand des ersten MTJ-Elements 542 in Übereinstimmung mit den Daten verändert. Die Steuerungsschaltung (702) kann Daten in eine zweite MRAM-Struktur (541) schreiben, indem sie zumindest einen zweiten Schreibsteuerungstransistor 534 (M4) aktiviert und einen Schreibspannungspegel zwischen einem ersten Anschluss (521) des zweiten SHM 545 und einem zweiten Anschluss (522) des zweiten SHM 545 bereitstellt, um einen Strom durch den zweiten SHM 545 zu erzeugen, der einen Magnetisierungszustand des zweiten MTJ-Elements 543 in Übereinstimmung mit der komplementierten Datenversion verändert. Die Schreibspannung wird in die Schaltung zwischen den Leitungen BLB und BL (512, 513) in 5 geleitet.
  • Beim Lesevorgang 710 liest eine Steuerungsschaltung aus einer TCAM-Zelle. Typischerweise sind viele TCAM-Zellen matrixartig angeordnet, und der Lesevorgang überspannt viele TCAM-Zellen parallel. Dieser Lesevorgang wird oft als Suchvorgang bezeichnet. In Bezug auf Elemente von 5 kann eine Steuerungsschaltung (703) zuerst eine Übereinstimmungsindikatorleitung, nämlich Übereinstimmungsleitung (ML) 511, auf eine vorbestimmte Spannung vorladen. Das Vorladen wird ausgeführt, indem zumindest der erste Lesesteuerungstransistor 531 (M1) und der zweite Lesesteuerungstransistor 532 (M2) deaktiviert werden und anschließend ML 511 mit dem Vorladeelement 530 (M0) auf die vorbestimmte Spannung gebracht wird. Das Vorladeelement oder der Transistor 530 wird unter Verwendung der PC-Steuerungsleitung 527 gesteuert.
  • Nach der Vorladung der ML 511 kann eine Suche oder ein Lesevorgang (704) einen Datenübereinstimmungszustand innerhalb der TCAM-Zelle durch Auswertung von Eingabedaten gegenüber den zuvor in der ersten MRAM Struktur 540 und der zweiten MRAM Struktur 541 gespeicherten Daten evaluieren. Ein Datenübereinstimmungszustand zeigt die Auswertung eines TCAM-Zellenergebnisses aus Such- oder Lesedaten an, die auf Such- oder Leseleitungen übertragen wurden. Dieser Datenübereinstimmungszustand kann eine binäre Übereinstimmung, binäre Nichtübereinstimmung, ternäre Übereinstimmung, ternäre Nichtübereinstimmung oder ein anderes Ergebnis anzeigen, das angibt, wie in der TCAM-Zelle gespeicherte Daten mit den Suchdaten verglichen werden. Diese Bewertung wird durchgeführt, indem zumindest der erste Lesesteuerungstransistor 531 (M1) und der zweite Lesesteuerungstransistor 532 (M2) aktiviert werden, während komplementierte Suchdaten auf der ersten Suchleitung 517 (SLB) und der zweiten Suchleitung 516 (SL) bereitgestellt werden, um als Antwort eine resultierende Ausgabespannung (705) an ML 511, die den Datenübereinstimmungszustand darstellt, anzulegen. Zum Teil aufgrund der Tatsache, dass das Spannungshalteelement 536 (M6) es M1 und M2 ermöglicht, Strom von ML 511 über den gemeinsamen Knoten 523 abzuziehen, weist eine resultierende Spannung an ML 511 eine vorbestimmte Spannung auf, wenn eine Übereinstimmung zwischen den Suchdaten und den in dem ersten SOT-MTJ 542 und zweitem SOT-MTJ 543 gespeicherten Daten bestimmt wurde. Die resultierende Spannung weist einen Spannungspegel unter der vorbestimmten Spannung auf, wenn eine Nichtübereinstimmung zwischen den Suchdaten und den im ersten SOT-MTJ 542 und zweiten SOT-MTJ 543 gespeicherten Daten festgestellt wird. Insbesondere entlädt ein Übereinstimmungszustand ML 511 langsamer als ein Nichtübereinstimmungszustand, und somit ermöglicht eine Übereinstimmung, dass die vorgeladene Spannung auf ML 511 über einem spezifizierten Schwellenwert länger verbleibt, als dies bei einer Nichtübereinstimmung der Fall ist.
  • Wie hierin erörtert, weisen auf SHE-MRAM-Bauelementen basierende TCAMs mehrere Vorteile gegenüber STT-MRAM-TCAMs auf. Zum Beispiel weisen auf SHE-MRAM-Bauelementen basierende TCAMs schnellere Suchvorgänge auf, indem sie größere Leseströme im Vergleich zu auf STT-MRAM-Bauelementen basierenden TCAMs verwenden. Auf SHE-MRAM-Bauelementen basierende TCAMs sind robuster gegenüber Datenhaltefehlern, da sie teilweise getrennte Lese-/Schreibpfade aufweisen, die von SOT-MRAM-Elementen aktiviert werden. Es werden auch niedrige Schreibströme durch die SOT-MRAM-Elemente aktiviert, während immer noch eine statische Verlustleistung von nahezu Null und eine kompakte Bit-Zellengröße im Vergleich zu auf CMOS basierenden TCAMs aufrecht erhalten wird. Der Flächenmehraufwand zur Herstellung von Elementen einer auf SHE-MRAM-Bauelementen basierenden TCAM-Schaltung, in 5 dargestellt, ist ebenfalls vorteilhaft. Zum Beispiel können die Transistoren M1, M2 teilweise kleiner sein als diejenigen in STT- oder CMOS-basierten TCAMs, da M1, M2 nur für Lesevorgänge verwendet werden. Obwohl zwei zusätzliche Schreibsteuerungstransistoren (M3, M4) in dem auf SHE-MRAM-Bauelementen basierenden TCAM verwendet werden, sind diese Transistoren aufgrund des vergleichsweise geringen SOT-MRAM-Schreibstroms relativ klein.
  • Somit kann die hier dargestellte SHE-MRAM-Konfiguration die Lesegeschwindigkeit von TCAM-Zellen mit größeren Leseströmen durch Erhöhen der thermischen Stabilität verstärken, da der entsprechende Schreibaufwand aufgrund der hohen Effizienz der Spin-Polarisierung nicht signifikant ist. Auf SHE-MRAM-Bauelementen basierende TCAMs können erfolgreich in SOT-MRAM-basierten künstlichen neuronalen Netzen verwendet werden, wie jenen, die oben in 2 besprochen wurden.
  • 8 veranschaulicht das Rechensystem 801, das für jedes System oder jede Sammlung von Systemen repräsentativ ist, in dem die verschiedenen hierin offenbarten Betriebsarchitekturen, Szenarien und Prozesse implementiert werden können. Zum Beispiel kann das Rechensystem 801 verwendet werden, um die Steuerungsschaltung für Elemente in 1, Steuerungsabschnitte von Elementen in 2 sowie FPU-Stufen der 2, Steuerungsschaltung 360 von 3, Steuerungsschaltung von 5 und andere hierin besprochene Schaltungen zu implementieren. Darüber hinaus kann das Rechensystem 801 zum Speichern von Schreibdaten vor der Speicherung in TCAM-Zellen verwendet werden und Suchergebnisse nach dem abgeschlossenen Suchvorgang speichern. In weiteren Beispielen kann das Rechensystem 801 eine Verbindungsschaltung einrichten, um ein oder mehrere Arrays von TCAM-Zellen herzustellen oder TCAM-Zellen zu künstlichen neuronalen Netzschaltungen zu verknüpfen. In noch weiteren Beispielen kann das Rechensystem 801 vollständig ein künstliches neuronales Netz implementieren, wie in 2 dargestellt, um ein zumindest teilweise in Software implementiertes künstliches neuronales Netz mit extern implementierten, verbesserten TCAM-Zellstrukturen zu erzeugen. Das Rechensystem 801 kann die Steuerung aller hierin beschriebenen TCAM-Zelloperationen implementieren, unabhängig davon, ob sie mit Hardware- oder Softwarekomponenten oder einer beliebigen Kombination davon implementiert sind.
  • Beispiele des Rechensystems 801 beinhalten, sind aber nicht begrenzt auf, Computer, Smartphones, Tablet-Rechenvorrichtungen, Laptops, Desktop-Computer, Hybridrechner, Rack-Server, Web-Server, Cloud-Computing-Plattformen, Cloud-Computing-Systeme, verteilte Rechnersysteme, softwaredefinierte Netzwerk-Systeme, und Data-Center-Ausrüstung, sowie jede andere Art realer oder virtueller Maschinen und andere Rechensysteme und Vorrichtungen, sowie jede Variation oder Kombination davon.
  • Das Rechensystem 801 kann als ein einzelnes Gerät, ein einzelnes System oder eine einzelne Vorrichtung implementiert sein oder kann in verteilter Weise als mehrere Geräte, Systeme oder Vorrichtungen implementiert sein. Das Rechensystem 801 beinhaltet, ist aber nicht darauf beschränkt, das Verarbeitungssystem 802, das Speichersystem 803, die Software 805, das Kommunikationsschnittstellensystem 807 und das Benutzerschnittstellensystem 808. Das Verarbeitungssystem 802 ist operativ mit dem Speichersystem 803, dem Kommunikationsschnittstellensystem 807 und dem Benutzerschnittstellensystem 808 verbunden.
  • Das Verarbeitungssystem 802 lädt und führt Software 805 von dem Speichersystem 803 aus. Die Software 805 beinhaltet die TCAM-Steuerungsumgebung 820, die repräsentativ für die in Bezug auf die vorangegangenen Figuren besprochenen Prozesse ist. Wenn sie vom Verarbeitungssystem 802 ausgeführt wird, um TCAM-Vorgänge oder ANN-Vorgänge zu implementieren und zu verbessern, weist die Software 805 das Verarbeitungssystem 802 an, wie hierin beschrieben zu arbeiten, und zwar zumindest für die verschiedenen Prozesse, Betriebsszenarien und Abläufe, die in den vorstehenden Implementierungen beschrieben sind. Das Rechensystem 801 kann optional zusätzliche Vorrichtungen, Merkmale oder Funktionsweisen einschließen, die der Kürze halber nicht erläutert wurden.
  • Bezugnehmend auf 8 kann das Verarbeitungssystem 802 einen Mikroprozessor und eine Verarbeitungsschaltung aufweisen, welche Software 805 von dem Speichersystem 803 abruft und ausführt. Das Verarbeitungssystem 802 kann innerhalb einer einzigen Verarbeitungsvorrichtung implementiert sein, kann aber auch über mehrere Verarbeitungsvorrichtungen, Subsysteme oder spezielle Schaltungen verteilt sein, die beim Ausführen von Programmanweisungen und beim Ausführen der hierin erörterten Vorgänge zusammenarbeiten. Beispiele des Verarbeitungssystems 802 beinhalten allgemeine zentrale Verarbeitungseinheiten, anwendungsspezifische Prozessoren und logische Bauelemente, sowie jede andere Art von Verarbeitungsvorrichtung, Kombinationen oder Variationen davon.
  • Das Speichersystem 803 kann jedes beliebige computerlesbare Speichermedium aufweisen, das vom Verarbeitungssystem 802 gelesen werden kann und in der Lage ist, Software 805 zu speichern, und in der Lage ist, optional TCAM-Eingabe-/Ausgabewerte 810 zu speichern. Das Speichersystem 803 kann flüchtige und nichtflüchtige, entfernbare und nicht entfernbare Medien einschließen, die in einem beliebigen Verfahren oder einer beliebigen Technologie zur Speicherung von Informationen implementiert sind, wie computerlesbare Anweisungen, Datenstrukturen, Programmmodule oder andere Daten. Beispiele für Speichermedien beinhalten Direktzugriffsspeicher, Nur-Lese-Speicher, Magnetplatten, optische Platten, Flash-Speicher, virtuelle Speicher und nicht virtuelle Speicher, Magnetkassetten, Magnetband, Magnetspeicher oder andere magnetische Speichereinrichtungen, magnetische Direktzugriffsspeichereinrichtungen, Phasenwechselspeichermedien oder irgendwelche andere geeignete nichtflüchtige Speichermedien.
  • Zusätzlich zu computerlesbaren Speichermedien kann das Speichersystem 803 in einigen Implementierungen auch computerlesbare Kommunikationsmedien einschließen, über die zumindest ein Teil der Software 805 intern oder extern kommuniziert werden kann. Das Speichersystem 803 kann als eine einzige Speichervorrichtung implementiert werden, kann aber auch über mehrere Speichervorrichtungen oder Subsysteme hinweg implementiert werden, die zusammengelegt oder relativ zueinander verteilt sind. Das Speichersystem 803 kann weitere Elemente aufweisen, wie beispielsweise eine Steuerung, die in der Lage ist, mit dem Verarbeitungssystem 802 oder gegebenenfalls anderen Systemen zu kommunizieren.
  • Die Software 805 kann in Programmanweisungen implementiert werden und kann unter anderem, wenn sie durch das Verarbeitungssystem 802 ausgeführt wird, das Direktverarbeitungssystem 802 in Bezug auf die verschiedenen hierin dargestellten Betriebsszenarien, Abläufe und Prozesse wie beschrieben betreiben. Zum Beispiel kann die Software 805 neben anderen Prozessen Programmanweisungen zum Steuern und Verbinden mit verbesserten TCAM-Schaltungen beinhalten.
  • Insbesondere können die Programmanweisungen verschiedene Komponenten oder Module einschließen, die zusammenarbeiten oder auf andere Weise interagieren, um die verschiedenen hierin beschriebenen Prozesse und Betriebsszenarien auszuführen. Die verschiedenen Komponenten oder Module können in kompilierten oder interpretierten Anweisungen oder in einer anderen Variation oder Kombination von Anweisungen verkörpert sein. Die verschiedenen Komponenten oder Module können synchron oder asynchron, seriell oder parallel, in einer Umgebung mit einem einzigen Thread oder mit mehreren Threads oder gemäß einem beliebigen anderen geeigneten Ausführungsparadigma, einer Variation oder einer Kombination davon ausgeführt werden. Die Software 805 kann zusätzliche Prozesse, Programme oder Komponenten einschließen, wie Betriebssystemsoftware oder eine andere Anwendungssoftware zusätzlich zu oder einschließlich der TCAM-Steuerungsumgebung 820. Die Software 805 kann auch Firmware oder irgendeine andere Form von maschinenlesbaren Verarbeitungsbefehlen aufweisen, die durch das Verarbeitungssystem 802 ausführbar sind.
  • Im Allgemeinen kann die Software 805, wenn sie in das Verarbeitungssystem 802 geladen und ausgeführt wird, ein geeignetes Gerät, ein System oder eine Vorrichtung (wobei das Rechensystem 801 repräsentativ ist) im Wesentlichen aus einem allgemeinen Rechensystem in ein spezielles Rechensystem umwandeln, das gestaltet wurde, um eine Steuerung und eine Schnittstelle mit einer verbesserten TCAM-Schaltung zu erleichtern. Infolgedessen kann die Codiersoftware 805 auf dem Speichersystem 803 die physische Struktur des Speichersystems 803 transformieren. Die spezifische Umwandlung der physischen Struktur kann von verschiedenen Faktoren in unterschiedlichen Implementierungen dieser Beschreibung abhängen. Beispiele solcher Faktoren können die Technologie beinhalten, die verwendet wird, um das Speichermedium des Speichersystems 803 zu implementieren, und ob die Computerspeichermedien Eigenschaften von Primär- oder Sekundärspeichern aufweisen, sowie andere Faktoren, sind aber nicht darauf beschränkt.
  • Wenn beispielsweise die computerlesbaren Speichermedien als halbleiterbasierter Speicher implementiert sind, kann die Software 805 den physischen Zustand des Halbleiterspeichers transformieren, wenn die Programmanweisungen darin kodiert werden, beispielsweise durch Transformieren des Zustands von Transistoren, Kondensatoren oder anderen diskreten Schaltungselementen, die den Halbleiterspeicher bilden. Eine ähnliche Transformation kann in Bezug auf magnetische oder optische Medien auftreten. Andere Transformationen von physischen Medien sind möglich, ohne vom Umfang der vorliegenden Beschreibung abzuweichen, wobei die vorstehenden Beispiele nur vorgesehen sind, um die vorliegende Erläuterung zu erleichtern.
  • Die TCAM-Steuerungsumgebung 820 beinhaltet eine oder mehrere Softwareelemente, wie beispielsweise OS 821 und Anwendungen 822. Diese Elemente können verschiedene Abschnitte des Rechensystems 801 beschreiben, in dem Elemente der TCAM-Arrays, TCAM-Zellen, Steuerungssysteme, künstliche neuronale Netze oder externe Systeme verknüpft werden oder interagieren. Zum Beispiel kann das OS 821 eine Softwareplattform bereitstellen, auf der die Anwendung 822 ausgeführt wird und die verbesserte TCAM-Prozesse und eine verbesserte Steuerung ermöglicht.
  • In einem Beispiel schließt die TCAM-Steuerungsumgebung 820 die TCAM-Steuerung 823 ein. Die TCAM-Steuerung 823 kann den TCAM-Lese-/Schreib-(L/S)Dienst 824 und den GPU-TCAM-Dienst 825 einschließen. Der TCAM-L/S-Dienst 824 kann das Schreiben von Daten in TCAM-Zellen oder Arrays über entsprechende Schreibsteuerungsleitungen und Schreibdatenleitungen steuern, wie beispielsweise WL1/WL2 und BL/BLB in 5. Der TCAM-L/S-Dienst 824 kann das Aktivieren/Deaktivieren von Schreibsteuerungstransistoren in der richtigen Sequenz zum korrekten Schreiben von Daten in die TCAM-Zellen und TCAM-Arrays steuern. Der TCAM-L/S-Dienst 824 kann auch Such- oder Lesevorgänge ausführen. Der TCAM-L/S-Dienst 824 kann die Suche nach Übereinstimmungen von Daten, die zuvor in die TCAM-Zellen oder die TCAM-Arrays geschrieben wurden, unter Verwendung von Vorspannungssteuerungsleitungen, Vorlade-Steuerungsleitungen, Suchdatenleitungen und Lesetransistorsteuerungsleitungen wie PC, BIAS, und SL-/SLB-Leitungen in 5 steuern. Der TCAM-L/S-Dienst 824 kann Ergebnisse lesen, die auf Übereinstimmungsleitungen (MLs) vorliegen. In einigen Beispielen kann der TCAM-L/S-Dienst 824 Ausgangs-Encoder/Decoder oder Multiplexer-Logik implementieren, um diskrete Suchergebniswerte in Bitvektoren zusammenzufassen oder mehrere von einem TCAM erzeugte Suchübereinstimmungsausgaben zu verarbeiten. Der TCAM-L/S-Dienst 824 kann über die Kommunikationsschnittstelle 807 resultierende Suchanzeigen von Übereinstimmungen/Nichtübereinstimmungen an ein oder mehrere weitere Systeme übertragen oder die resultierende Suchanzeige einer Übereinstimmung/Nichtübereinstimmung einem oder mehreren Benutzern über das Benutzerschnittstellensystem 808 präsentieren.
  • Der GPU-TCAM-Dienst 825 kann Steuerfunktionalität einschließen, wenn TCAM-Strukturen in GPU-implementierten KNNs oder CNNs verwendet werden. Der GPU-TCAM-Dienst 825 kann Eingaben zu GPU- oder GPGPU-basierten KNNs vorlegen. Diese Eingaben können gleichzeitig den TCAM-Strukturen als Eingabesuchdaten vorgelegt werden. Der GPU-TCAM-Dienst 825 kann steuern, wann Daten in einen Assoziativspeicher mit einem TCAM auf Grundlage der durch ein zugeordnetes KNN/CNN bestimmten häufigen Ergebnisse geschrieben werden sollen. Der GPU-TCAM-Dienst 825 kann das Freigeben oder Sperren von Pipeline-Stufen in GPU/FPU-Pipelines steuern, wenn TCAM-Treffer unter Verwendung von Eingabedaten angetroffen werden. Der GPU-TCAM-Dienst 825 kann Ausgabeschaltungen implementieren, wie z. B. Multiplex-Schaltungen, um aus den Ergebnissen der FPU-Stufen oder TCAM-Strukturen auszuwählen, die auf TCAM-Treffern basieren, die mit den Eingabedaten gefunden wurden.
  • Das Kommunikationsschnittstellensystem 807 kann Kommunikationsverbindungen und -vorrichtungen einschließen, die eine Kommunikation mit anderen Rechensystemen (nicht gezeigt) über Kommunikationsnetzwerke (nicht gezeigt) ermöglichen. Das Kommunikationsschnittstellensystem 807 könnte auch mit Teilen von hardwareimplementierten KNNs kommunizieren, wie beispielsweise mit Schichten von KNNs oder TCAM-Strukturen und Schaltungen. Beispiele von Verbindungen und Vorrichtungen, die zusammen eine Kommunikation zwischen Systemen ermöglichen, können NVM-Speicherschnittstellen, Netzwerkschnittstellenkarten, Antennen, Leistungsverstärker, RF-Schaltungen, Transceiver und andere Kommunikationsschaltungen einschließen. Die Verbindungen und Vorrichtungen können über Kommunikationsmedien kommunizieren, um Kommunikationen oder Daten mit anderen Rechensystemen oder Systemnetzwerken, wie etwa Metall, Glas, Luft oder jedem anderen geeigneten Kommunikationsmedium, auszutauschen.
  • Das Benutzerschnittstellensystem 808 ist optional und kann eine Tastatur, eine Maus, eine Spracheingabevorrichtung, eine Berührungseingabevorrichtung zum Empfangen einer Eingabe von einem Benutzer einschließen. Ausgabevorrichtungen wie zum Beispiel ein Display, Lautsprecher, Web-Schnittstellen, Anschlussschnittstellen und andere Arten von Ausgabevorrichtungen können ebenfalls in dem Benutzerschnittstellensystem 808 eingeschlossen sein. Das Benutzerschnittstellensystem 808 kann über eine Datenschnittstelle oder Netzwerkschnittstelle, wie beispielsweise das Kommunikationsschnittstellensystem 807, Ausgaben bereitstellen und Eingaben empfangen. Das Benutzerschnittstellensystem 808 kann auch zugehörige Benutzerschnittstellensoftware einschließen, die durch das Verarbeitungssystem 802 mit Unterstützung der verschiedenen Benutzereingabe- und -ausgabevorrichtungen, die oben erläutert wurden, ausführbar ist. Separat oder in Verbindung miteinander und mit anderen Hardware- und Softwareelementen können die Benutzerschnittstellensoftware und Benutzerschnittstellenvorrichtungen eine graphische Benutzerschnittstelle, eine natürliche Benutzerschnittstelle oder irgendeine andere Art von Benutzerschnittstelle unterstützen.
  • Die Kommunikation zwischen dem Rechensystem 801 und anderen Rechensystemen (nicht gezeigt) kann über eine Netzwerkkommunikation oder Netzwerke und in Übereinstimmung mit verschiedenen Kommunikationsprotokollen, Kombinationen von Protokollen oder Variationen davon erfolgen. Beispiele beinhalten Intranets, Internets, das Internet, lokale Netzwerke, Weitverkehrsnetze, drahtlose Netzwerke, drahtgebundene Netzwerke, virtuelle Netzwerke, softwaredefinierte Netzwerke, Datencenter-Busse, Computing-Backplanes oder jede andere Art von Netzwerk, Kombination von Netzwerken oder Variationen davon. Die oben erwähnten Kommunikationsnetze und Protokolle sind wohlbekannt und bedürfen hier keiner ausführlichen Erörterung. Jedoch schließen einige Kommunikationsprotokolle, die verwendet werden können, das Internet-Protokoll (IP, IPv4, IPv6, usw.), das Übertragungssteuerungsprotokoll (TCP) und das Benutzerdatagrammprotokoll (UDP) ein, ohne darauf beschränkt zu sein, sowie beliebige andere geeignete Kommunikationsprotokolle, Variationen oder Kombinationen davon.
  • Die beigefügten Beschreibungen und Figuren zeigen spezifische Ausführungsformen, um Fachleute zu lehren, wie der beste Modus herzustellen und zu verwenden ist. Zum Zweck der Lehre der erfinderischen Prinzipien wurden einige herkömmliche Aspekte vereinfacht oder weggelassen. Der Fachmann wird Variationen von diesen Ausführungsformen erkennen, die in den Schutzumfang der Offenbarung fallen. Der Fachmann wird auch erkennen, dass die oben beschriebenen Merkmale auf verschiedene Weisen kombiniert werden können, um mehrere Ausführungsformen zu bilden. Im Ergebnis ist die Erfindung durch die oben beschriebenen spezifischen Ausführungsformen beschränkt, sondern nur durch die Ansprüche und ihre Entsprechungen.
  • 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 62725088 [0001]

Claims (20)

  1. Inhaltsadressierbare Speicher-(CAM)-Schaltung, aufweisend: ein erstes Spin-Bahn-Drehmoment-(SOT)-Magnettunnelkontakt-(MTJ)-Element mit einer festgesteckten Schicht, die mit einem ersten Lesetransistor verbunden ist, der durch eine erste Suchleitung gesteuert wird, und mit einer Spin-Hall-Effekt-(SHE)-Schicht, die in einer ersten Konfiguration über komplementierte Schreibeingänge verbunden ist; ein zweites SOT-MTJ-Element mit einer festgesteckten Schicht, die mit einem zweiten Lesetransistor verbunden ist, der durch eine zweite Suchleitung gesteuert wird, und mit einer SHE-Schicht, die in einer zweiten Konfiguration über die komplementierten Schreibeingänge verbunden ist; einen Vorspannungstransistor, der eingerichtet ist, um eine Vorspannung an Drain-Anschlüsse des ersten Lesetransistors und des zweiten Lesetransistors anzulegen; und und ein Spannungshalteelement, das die Drain-Anschlüsse mit einer Übereinstimmungsindikatorleitung verbindet.
  2. CAM-Schaltung gemäß Anspruch 1, aufweisend: die SHE-Schicht des ersten SOT-MTJ-Elements, die in der ersten Konfiguration über die komplementierten Schreibeingänge durch einen ersten Schreibsteuerungstransistor verbunden ist, der durch eine erste Schreibsteuerungsleitung gesteuert wird; und die SHE-Schicht des zweiten SOT-MTJ-Elements, die in der zweiten Konfiguration über die komplementierten Schreibeingänge durch einen zweiten Schreibsteuerungstransistor verbunden ist, der durch eine zweite Schreibsteuerungsleitung gesteuert wird.
  3. CAM-Schaltung gemäß Anspruch 2, aufweisend: eine Steuerungsschaltung, die eingerichtet ist, Daten in das erste SOT-MTJ-Element zu schreiben, indem sie zumindest ermöglicht, dass der erste Schreibsteuerungstransistor einen ersten Strom durch die SHE-Schicht des ersten SOT-MTJ-Elements erzeugt, der einen Magnetisierungszustand des ersten SOT-MTJ-Elements gemäß den Daten ändert; und wobei die Steuerungsschaltung eingerichtet ist, um Daten in das zweite SOT-MTJ-Element zu schreiben, indem sie zumindest ermöglicht, dass der zweite Schreibsteuerungstransistor einen zweiten Strom durch die SHE-Schicht des zweiten SOT-MTJ-Elements erzeugt, der einen Magnetisierungszustand des zweiten SOT-MTJ-Elements gemäß einer komplementierten Version der Daten ändert.
  4. CAM-Schaltung gemäß Anspruch 1, aufweisend: ein Vorladeelement, das die Übereinstimmungsindikatorleitung mit einer vorbestimmten Spannung gemäß einem Vorladesteuersignal koppelt.
  5. CAM-Schaltung gemäß Anspruch 1, aufweisend: eine Steuerungsschaltung, die eingerichtet ist, um die Übereinstimmungsindikatorleitung mit einer vorbestimmten Spannung vorzuladen und den ersten Lesetransistor und den zweiten Lesetransistor zu deaktivieren; und nach dem Vorladen der Übereinstimmungsindikatorleitung ist die Steuerungsschaltung eingerichtet, um einen Datenübereinstimmungszustand zwischen dem ersten SOT-MTJ-Element und dem zweiten SOT-MTJ-Element auszuwerten, indem zumindest der erste Lesetransistor und der zweite Lesetransistor aktiviert werden, während komplementierte Suchdaten auf der ersten Suchleitung und der zweiten Suchleitung präsentiert werden, um als Reaktion eine Übereinstimmungsergebnisspannung auf der Übereinstimmungsindikatorleitung auszugeben, die den Datenübereinstimmungszustand darstellt.
  6. CAM-Schaltung gemäß Anspruch 5, wobei die Übereinstimmungsergebnisspannung eine vorbestimmte Spannung aufweist, wenn eine Übereinstimmung zwischen den Suchdaten und den in dem ersten SOT-MTJ und dem zweiten SOT-MTJ gespeicherten Daten bestimmt wird, wobei die Übereinstimmungsergebnisspannung einen Spannungspegel unterhalb der vorbestimmten Spannung aufweist, wenn eine Nichtübereinstimmung zwischen den Suchdaten und den in dem ersten SOT-MTJ und dem zweiten SOT-MTJ gespeicherten Daten bestimmt wird.
  7. CAM-Schaltung gemäß Anspruch 1, aufweisend: eine getrennte Schreibpfad- und Lesepfadanordnung, wobei der Schreibpfad die komplementierten Schreibeingänge aufweist, die mit der SHE-Schicht des ersten SOT-MTJ und der SHE-Schicht des zweiten SOT-MTJ verbunden sind, und wobei der Lesepfad den von der ersten Suchleitung gesteuerten ersten Lesetransistor und den von der zweiten Suchleitung gesteuerten zweiten Lesetransistor aufweist.
  8. CAM-Schaltung gemäß Anspruch 1, wobei die SHE-Schicht des ersten SOT-MTJ-Elements und die SHE-Schicht des zweiten SOT-MTJ-Elements jeweils ein Spin-Hall-Metall-(SHM)-Material aufweist, das eines von Beta-(β)-Wolfram und β-Tantal aufweist.
  9. CAM-Schaltung gemäß Anspruch 1, wobei die erste Suchleitung und die zweite Suchleitung ternäre Zustandseingaben annehmen.
  10. Ternäre inhaltsadressierbare Speicheranordnung (TCAM-Array), aufweisend: eine Vielzahl von in Spalten und Reihen angeordneten TCAM-Zellen, wobei die TCAM-Zellen von jeder Spalte über zugeordnete Suchleitungen verbunden sind, und wobei die TCAM-Zellen von jeder Reihe über zugeordnete Übereinstimmungsleitungen verbunden sind; jede der Vielzahl von TCAM-Zellen aufweisend: ein erstes Spin-Bahn-Drehmoment-(SOT)-Magnettunnelkontakt-(MTJ)-Element mit einer festgesteckten Schicht, die mit einem ersten Suchsteuerungstransistor verbunden ist, der durch eine erste Suchleitung gesteuert wird, und mit einer Spin-Hall-Effekt-(SHE)-Schicht, die in einer ersten Konfiguration über komplementierte Schreibeingänge verbunden ist; ein zweites SOT-MTJ-Element mit einer festgesteckten Schicht, die mit einem zweiten Suchsteuerungstransistor verbunden ist, der durch eine zweite Suchleitung gesteuert wird, und mit einer SHE-Schicht, die in einer zweiten Konfiguration über komplementierte Schreibeingänge verbunden ist; einen Vorspannungstransistor, der zum Bereitstellen einer Vorspannung an den Drain-Anschlüssen des ersten Suchsteuerungstransistors und des zweiten Suchsteuerungstransistors eingerichtet ist; und ein Spannungshalteelement, das die Drain-Anschlüsse mit einer entsprechenden Übereinstimmungsleitung verbindet.
  11. TCAM-Array gemäß Anspruch 10, jede der Vielzahl von TCAM-Zellen weiterhin aufweisend: die SHE-Schicht des ersten SOT-MTJ-Elements, die in der ersten Konfiguration mit den komplementierten Schreibeingängen über einen ersten Schreibsteuerungstransistor verbunden ist, der durch eine erste Schreibsteuerungsleitung gesteuert wird; und die SHE-Schicht des zweiten SOT-MTJ-Elements, die in der zweiten Konfiguration mit den komplementierten Schreibeingängen durch einen zweiten Schreibsteuerungstransistor verbunden ist, der durch eine zweite Schreibsteuerungsleitung gesteuert wird.
  12. TCAM-Array gemäß Anspruch 11, aufweisend: eine Steuerungsschaltung, die zum Schreiben von Daten in die TCAM-Zellen eingerichtet ist, indem sie zumindest: die ersten Schreibsteuerungstransistoren der TCAM-Zellen aktiviert, um erste Ströme durch die SHE-Schichten der ersten SOT-MTJ-Elemente zu erzeugen, die Magnetisierungszustände der TCAM-Zellen entsprechend den Daten ändern; und die zweiten Schreibsteuerungstransistoren der TCAM-Zellen aktiviert, um zweite Ströme durch die SHE-Schichten der zweiten SOT-MTJ-Elemente zu erzeugen, die Magnetisierungszustände der TCAM-Zellen entsprechend einer komplementierten Datenversion ändern.
  13. TCAM-Array gemäß Anspruch 10, jede der Vielzahl von TCAM-Zellen weiterhin aufweisend: ein Vorladeelement, das die entsprechende Übereinstimmungsleitung mit einer vorbestimmten Spannung als Reaktion auf ein Vorladesteuersignal koppelt.
  14. TCAM-Array gemäß Anspruch 10, aufweisend: eine Steuerungsschaltung, die zum Suchen von Daten in den TCAM-Zellen eingerichtet ist, indem sie zumindest: nach dem Vorladen der zugehörigen Übereinstimmungsleitungen auf eine vorbestimmte Spannung, im Hinblick auf Datenübereinstimmungszustände zwischen den TCAM-Zellen auswertet, und zwar durch zumindest Aktivieren der ersten Lesetransistoren und der zweiten Lesetransistoren der TCAM-Zellen, während Suchdaten auf den zugehörigen Suchleitungen präsentiert werden, um als Reaktion Übereinstimmungsergebnisspannungen auf den zugehörigen Übereinstimmungsindikatorleitungen auszugeben, die für die Datenübereinstimmungszustände der TCAM-Zellen repräsentativ sind.
  15. TCAM-Array gemäß Anspruch 14, wobei die Übereinstimmungsergebnisspannungen für jede Reihe eine vorbestimmte Spannung aufweisen, wenn Übereinstimmungen zwischen den Suchdaten und den in jeder Reihe der durchsuchten TCAM-Zellen gespeicherten Daten bestimmt werden, wobei die Übereinstimmungsergebnisspannungen Spannungspegel unterhalb der vorbestimmten Spannung aufweisen, wenn zwischen den Suchdaten und den in jeder Reihe der durchsuchten SOT-MTJ-Zellen gespeicherten Daten Nichtübereinstimmungen bestimmt werden.
  16. TCAM-Array gemäß Anspruch 10, jede der Vielzahl von TCAM-Zellen weiterhin aufweisend: eine getrennte Schreibpfad- und Lesepfadanordnung, wobei der Schreibpfad die komplementierten Schreibeingänge aufweist, die mit der SHE-Schicht des ersten SOT-MTJ und der SHE-Schicht des zweiten SOT-MTJ verbunden sind, und wobei der Lesepfad den von der ersten Suchleitung gesteuerten ersten Lesetransistor und den von der zweiten Suchleitung gesteuerten zweiten Lesetransistor aufweist.
  17. TCAM-Array gemäß Anspruch 10, wobei die SHE-Schicht des ersten SOT-MTJ-Elements und die SHE-Schicht des zweiten SOT-MTJ-Elements jeweils ein Spin-Hall-Metall-(SHM)-Material aufweisen, das eines von Beta-(β-)Wolfram und β-Tantal aufweist.
  18. Verfahren zum Betreiben einer ternären inhaltsadressierbaren Speicherzelle (TCAM), aufweisend: Schreiben von Daten in ein erstes Spin-Bahn-Drehmoment-(SOT)-Magnettunnelkontakt-(MTJ)-Element durch Erzeugen eines ersten Stroms durch einen ersten Schreibsteuerungstransistor und eine SHE-Schicht des ersten SOT-MTJ-Elements, der einen Magnetisierungszustand des ersten SOT-MTJ-Elements entsprechend den Daten ändert; und Schreiben von Daten in ein zweites SOT-MTJ-Element durch Erzeugen eines zweiten Stroms durch einen zweiten Schreibsteuerungstransistor und eine SHE-Schicht des zweiten SOT-MTJ-Elements, der einen Magnetisierungszustand des zweiten SOT-MTJ-Elements entsprechend einer komplementierten Datenversion ändert.
  19. Verfahren gemäß Anspruch 18, weiterhin aufweisend: Vorladen einer Übereinstimmungsindikatorleitung auf eine vorbestimmte Spannung; Empfangen komplementierter Suchdaten, die auf einer ersten Suchleitung und einer zweiten Suchleitung präsentiert werden; und Auswerten in Bezug auf einen Datenübereinstimmungszustand zwischen dem ersten SOT-MTJ-Element und dem zweiten SOT-MTJ-Element durch zumindest Aktivieren eines ersten Lesetransistors, der durch die erste Suchleitung gesteuert wird und mit einer festgesteckten Schicht des ersten SOT-MTJ verbunden ist, und Aktivieren eines zweiten Lesetransistors, der durch die zweite Suchleitung gesteuert wird und mit einer festgesteckten Schicht des zweiten SOT-MTJ verbunden ist; und Präsentieren einer Übereinstimmungsergebnisspannung auf der Übereinstimmungsindikatorleitung, die den Datenübereinstimmungszustand repräsentiert.
  20. Verfahren gemäß Anspruch 19, wobei die Übereinstimmungsergebnisspannung eine vorbestimmte Spannung aufweist, wenn eine ternäre Übereinstimmung zwischen den Suchdaten und den in dem ersten SOT-MTJ und dem zweiten SOT-MTJ gespeicherten Daten bestimmt wird, wobei die Übereinstimmungsergebnisspannung einen Spannungspegel unterhalb der vorbestimmten Spannung aufweist, wenn zwischen den Suchdaten und den in dem ersten SOT-MTJ und dem zweiten SOT-MTJ gespeicherten Daten eine Nichtübereinstimmung bestimmt wird.
DE102019116299.8A 2018-08-30 2019-06-14 Inhaltsadressierbarer Speicher mit Spin-Bahn-Drehmoment-Bauelementen Pending DE102019116299A1 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201862725088P 2018-08-30 2018-08-30
US62/725,088 2018-08-30
US16/253,980 US11152067B2 (en) 2018-08-30 2019-01-22 Content addressable memory with spin-orbit torque devices
US16/253,980 2019-01-22

Publications (1)

Publication Number Publication Date
DE102019116299A1 true DE102019116299A1 (de) 2020-03-05

Family

ID=69639433

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102019116299.8A Pending DE102019116299A1 (de) 2018-08-30 2019-06-14 Inhaltsadressierbarer Speicher mit Spin-Bahn-Drehmoment-Bauelementen

Country Status (3)

Country Link
US (1) US11152067B2 (de)
CN (1) CN110875076A (de)
DE (1) DE102019116299A1 (de)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10847238B2 (en) * 2019-02-13 2020-11-24 Hewlett Packard Enterprise Development Lp Analog, non-volatile, content addressable memory
US11176979B2 (en) * 2019-02-28 2021-11-16 Regents Of The University Of Minnesota Computational random access memory (CRAM) based on spin-orbit torque devices
US10930348B1 (en) * 2019-08-13 2021-02-23 Hewlett Packard Enterprise Development Lp Content addressable memory-encoded crossbar array in dot product engines
US11101320B2 (en) * 2019-10-22 2021-08-24 Samsung Electronics Co., Ltd System and method for efficient enhancement of an on/off ratio of a bitcell based on 3T2R binary weight cell with spin orbit torque MJTs (SOT-MTJs)
EP3848933A1 (de) * 2020-01-07 2021-07-14 Antaios Sot-mram-zelle und array mit einer vielzahl von sot-mram-zellen
US10998047B1 (en) 2020-01-15 2021-05-04 Hewlett Packard Enterprise Development Lp Methods and systems for an analog CAM with fuzzy search
US11586958B2 (en) 2020-04-06 2023-02-21 Micron Technology, Inc. Apparatuses, systems, and methods for machine learning using on-memory pattern matching
US11289162B2 (en) * 2020-04-30 2022-03-29 Hewlett Packard Enterprise Development Lp Analog content addressable memory utilizing three terminal memory devices
US11200929B1 (en) * 2020-06-18 2021-12-14 Hewlett Packard Enterprise Development Lp Time division multiplexing (TDM) based optical ternary content addressable memory (TCAM)
US11587617B2 (en) * 2020-08-26 2023-02-21 Macronix International Co., Ltd. Ternary content addressable memory and decision generation method for the same
US11469764B2 (en) 2020-08-28 2022-10-11 Hewlett Packard Enterprise Development Lp Optical comb source for content-addressable memory encoders
US11283008B1 (en) * 2020-08-31 2022-03-22 Western Digital Technologies, Inc. Apparatus and methods for magnetic memory devices with magnetic assist layer
CN111933198B (zh) * 2020-09-14 2021-02-05 新华三半导体技术有限公司 内容寻址存储器cam的匹配线检测电路
US11328775B2 (en) * 2020-10-07 2022-05-10 Macronix International Co., Ltd. Ternary content addressable memory and memory cell thereof
US11615827B2 (en) 2020-10-15 2023-03-28 Hewlett Packard Enterprise Development Lp Hardware accelerator with analog-content addressable memory (a-CAM) for decision tree computation
US11393516B2 (en) 2020-10-19 2022-07-19 Western Digital Technologies, Inc. SOT-based spin torque oscillators for oscillatory neural networks
US11561607B2 (en) 2020-10-30 2023-01-24 Hewlett Packard Enterprise Development Lp Accelerating constrained, flexible, and optimizable rule look-ups in hardware
CN112820338B (zh) * 2021-01-26 2022-08-19 北京航空航天大学 三态存储器寻址电路、读取电路、装置及存储器
CN112908379B (zh) * 2021-01-26 2023-05-23 北京航空航天大学 一种异步电路及系统
US11521665B2 (en) * 2021-05-04 2022-12-06 Nxp Usa, Inc. Non-volatile memory having write detect circuitry
US11961544B2 (en) * 2021-05-27 2024-04-16 International Business Machines Corporation Spin-orbit torque (SOT) magnetoresistive random-access memory (MRAM) with low resistivity spin hall effect (SHE) write line
CN113361223B (zh) * 2021-06-09 2023-06-23 北京航空航天大学合肥创新研究院(北京航空航天大学合肥研究生院) 面向sot-mram相关电路的自旋电子工艺设计系统
CN114239818B (zh) * 2021-12-23 2023-04-18 电子科技大学 基于tcam和lut的存内计算架构神经网络加速器
US11790990B2 (en) 2022-01-25 2023-10-17 Macronix International Co., Ltd. Content addressable memory device, content addressable memory cell and method for single-bit multi-level data searching and comparing

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009031231A1 (ja) * 2007-09-07 2009-03-12 Renesas Technology Corp. 半導体装置
US9299435B2 (en) * 2012-09-06 2016-03-29 Nec Corporation Nonvolatile content addressable memory and method for operating same
US9647032B2 (en) * 2014-08-27 2017-05-09 Avalanche Technology, Inc. Spin-orbitronics device and applications thereof
WO2017034563A1 (en) * 2015-08-26 2017-03-02 Intel IP Corporation Dual pulse spin hall memory with perpendicular magnetic elements
US9728259B1 (en) * 2016-03-15 2017-08-08 Qualcomm Technologies, Inc. Non-volatile (NV)-content addressable memory (CAM) (NV-CAM) cells employing differential magnetic tunnel junction (MTJ) sensing for increased sense margin
WO2018136003A1 (en) * 2017-01-17 2018-07-26 Agency For Science, Technology And Research Memory cell, memory array, method of forming and operating memory cell
JP6840621B2 (ja) * 2017-05-24 2021-03-10 ルネサスエレクトロニクス株式会社 内容参照メモリ

Also Published As

Publication number Publication date
US20200075099A1 (en) 2020-03-05
US11152067B2 (en) 2021-10-19
CN110875076A (zh) 2020-03-10

Similar Documents

Publication Publication Date Title
DE102019116299A1 (de) Inhaltsadressierbarer Speicher mit Spin-Bahn-Drehmoment-Bauelementen
DE112018004861T5 (de) Verarbeitung im speicher
DE112019003066T5 (de) Rechnen in Speicherschaltungen mit Multi-Vdd-Arrays und/oder analogen Multiplikatoren
DE102019116305A1 (de) Pipelining zur verbesserung der inferenzgenauigkeit neuronaler netze
TWI698884B (zh) 記憶體裝置及其操作方法
DE112006004002B4 (de) NBTI-resistente Speicherzellen mit Nand-Gliedern
DE112019000226T5 (de) Neuromorpher chip zum aktualisieren präziser synaptischer gewichtswerte
DE10239596A1 (de) Magnetisches Dünnfilmspeicherbauelement
DE102005046425A1 (de) Array resistiver Speicherzellen und Verfahren zum Erfassen von Widerstandswerten solcher Zellen
TWI781199B (zh) 權重單元、積體電路及執行乘法及累加運算的方法
DE102016001224A1 (de) Speicher mit hoher Bandbreite und störungsfreies differenzielles XOR
DE10244969A1 (de) Magnetische Dünnfilmspeichervorrichtung zum Durchführen eines Datenlesevorgangs ohne Verwendung einer Referenzzelle
DE102005040840A1 (de) Assoziativspeicherzelle mit resistiven Speicherelementen
DE2059917B2 (de) Hybridadressierter datenspeicher
WO2014038340A1 (ja) 不揮発性連想メモリ及びその動作方法
DE102022121773A1 (de) In-memory-assoziativverarbeitungssystem
TW202006609A (zh) 用於類神經網路的記憶體內運算裝置
CN110569962A (zh) 一种基于1t1r存储器阵列的卷积计算加速器及其操作方法
DE102022121767A1 (de) In-memory-assoziativverarbeitung für vektoren
DE102019114491A1 (de) Speichervorrichtung, die basierend auf einem Schreibstrom für eine gegebene Betriebsbedingung arbeitet, und ein Verfahren zum Treiben des Schreibstroms
DE102022100200A1 (de) Compute-In-Memory-Speicherarray, CIM-Speicherarray
DE112004001640T5 (de) Nichtflüchtige sequenzielle Maschine
DE69914142T2 (de) Halbleiteranordnung mit einer speicherzelle
DE60102230T2 (de) Mehrfacheintragsvergleich in einem inhaltsadressierbaren speicher
DE1966852A1 (de) Speichereinheit mit einer kapazitiven speichereinrichtung

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R082 Change of representative

Representative=s name: MURGITROYD GERMANY PATENTANWALTSGESELLSCHAFT M, DE

Representative=s name: MURGITROYD & COMPANY, DE