-
Die vorliegende Erfindung betrifft eine Ansteuereinheit für einen Memristor-Speicher mit zusätzlicher Funktionalität für das Auffrischen der gespeicherten Daten.
-
Stand der Technik
-
Ein Memristor ist ein nichtflüchtiges Speicherelement, das bei Beaufschlagung mit einem bestimmten Strom-Zeit-Profil seinen elektrischen Widerstand dauerhaft verändert. Auf diese Weise kann Information in dem Speicherelement abgelegt werden. Die Information kann später wieder aus dem Speicherelement ausgelesen werden, indem der elektrische Widerstand des Speicherelements gemessen wird.
-
Ein geringerer elektrischer Widerstand wird physikalisch häufig eingestellt, indem durch den zum Schreiben verwendeten Strom ein lokaler besser leitender Pfad erzeugt wird, der durch ein weniger gut leitendes Grundmaterial führt und dieses Grundmaterial gleichsam überbrückt. Durch Umpolen des Stroms kann dieser besser leitende Pfad wieder zurückgebildet werden.
-
Abhängig von der Temperatur unterliegen die Atome oder Formeleinheiten, die den besser leitenden Pfad bilden, einer mehr oder weniger starken Tendenz, mit der Zeit in das umliegende Grundmaterial zu diffundieren. Somit ist die Langzeitstabilität der gespeicherten Information begrenzt. In der
DE 10 2014 208 609 A1 und in der
DE 10 2014 211 111 A1 wird daher vorgeschlagen, auch nominell nichtflüchtige Speicher, wie etwa Memristoren, regelmäßig aufzufrischen, d.h. die gespeicherte Information aufs Neue aktiv in dem Speicher zu hinterlegen.
-
Offenbarung der Erfindung
-
Im Rahmen der Erfindung wurde eine Ansteuereinheit für einen Speicher, der mindestens eine Speicherzelle umfasst, entwickelt. In der Speicherzelle ist einer von mehreren diskreten speicherbaren Werten im elektrischen Widerstandswert eines Memristors kodiert.
-
Die Ansteuereinheit umfasst ein Messgerät, welches zur Messung des Widerstandswerts des Memristors ausgebildet ist. Dabei wird unter der Messung des Widerstandswerts jede Messung von Größen verstanden, die einen Rückschluss auf den Widerstandswert zulässt. Wird beispielsweise ein vorgegebener Strom durch den Memristor getrieben, ist in dem Spannungsabfall über dem Memristor der Widerstandswert des Memristors verkörpert. Wird beispielsweise eine vorgegebene Spannung an den Memristor angelegt, ist in dem durch den Memristor fließenden Strom ebenfalls der Widerstandswert des Memristors verkörpert. Auch eine Messung der Leitfähigkeit, die reziprok zum Widerstandswert ist, ist als Messung des Widerstandswerts anzusehen.
-
Die Ansteuereinheit umfasst weiterhin einen Diskretisierer, der dazu ausgebildet ist, dem gemessenen Widerstandswert einen der mehreren diskreten speicherbaren Werte als gelesenen Wert zuzuordnen. Durch den Diskretisierer wird also jeder gemessene Widerstandswert auf genau einen gelesenen Wert abgebildet. Je mehr mögliche gelesene Werte es gibt, desto mehr Information kann in der Speicherzelle hinterlegt werden. Im einfachsten Fall gibt es zwei mögliche gelesene Werte, mit denen genau ein Bit an Information gespeichert werden kann.
-
Die Ansteuereinheit umfasst weiterhin eine Vergleichseinheit, die dazu ausgebildet ist, die Differenz zwischen dem nominellen Widerstandswert des Memristors, der zu dem gelesenen Wert korrespondiert, und dem gemessenen Widerstandswert des Memristors zu ermitteln. Diese Differenz ist ein Maß dafür, inwieweit die in der Speicherzelle gespeicherte Information bereits degradiert ist.
-
Beispielsweise kann eine Messgröße, die ein Maß für die Leitfähigkeit (d.h., für den reziproken Widerstand) ist, in willkürlichen Einheiten zwischen 0 und 4 variieren, und der Diskretisierer kann dazu ausgebildet sein, die gemessene Leitfähigkeit auf den nächsten ganzzahligen Wert als gelesenen Wert zu runden. Es sind also die fünf Werte 0, 1, 2, 3 und 4 in der Speicherzelle speicherbar. Wird nun beispielsweise eine Leitfähigkeit von 2,6 gemessen, so wird ihr der Wert 3 als gelesener Wert zugeordnet. Die Differenz von 0,4 ist dann ein Hinweis, dass der in der Speicherzelle gespeicherte Wert 3 kurz vor dem Ende seiner Langzeitstabilität steht: Wenn die Leitfähigkeit weiter absinkt, bis auf unter 2,5, dann wird ihr nicht mehr der korrekte Wert 3, sondern der falsche Wert 2 als gelesener Wert zugeordnet.
-
Die Ansteuereinheit umfasst weiterhin einen Treiber, der dazu ausgebildet ist, auf der Basis der ermittelten Differenz den Memristor mit einem Strom-Zeit-Profil zu beaufschlagen, welches den tatsächlichen Widerstandswert des Memristors in Richtung des nominellen Widerstandswerts treibt, der zu dem gelesenen Wert korrespondiert. Auf diese Weise wird die Speicherzelle aufgefrischt. Das Strom-Zeit-Profil kann insbesondere ein Spannungspuls, oder eine Abfolge aus Spannungspulsen, sein.
-
In dem genannten Beispiel kann dies beispielsweise bedeuten, dass der Memristor in der Speicherzelle mit einem derartigen Strom-Zeit-Profil beaufschlagt wird, dass die Leitfähigkeit wieder nahe an den Wert 3 gebracht wird. Der in der Speicherzelle gespeicherte Wert 3 hat dann fürs Erste Spielraum gegen eine Degradation in beide Richtungen, d.h. sowohl gegen eine Degradation, die die Leitfähigkeit erhöht (ab einer Leitfähigkeit von 3,5 würde der falsche Wert 4 als gelesener Wert erkannt), als auch gegen eine Degradation, die die Leitfähigkeit erniedrigt (unterhalb einer Leitfähigkeit von 2,5 würde, wie beschrieben, der falsche Wert 2 als gelesener Wert erkannt).
-
Je nach Material des Memristors kann der physikalische Mechanismus der Degradation so beschaffen sein, dass er nur in eine Richtung wirkt. Beispielsweise hat eine Diffusion im Material des Memristors immer nur den Abbau leitfähiger Pfade zur Folge, nicht jedoch deren geordnete Neubildung.
-
Daher kann die Diffusion als Degradationsmechanismus die Leitfähigkeit immer nur vermindern. Es kann dann beispielsweise vorteilhaft sein, beim Treiben des tatsächlichen Widerstandswerts des Memristors in Richtung des nominellen Widerstandswerts nicht bei diesem nominellen Widerstandswert haltzumachen. Vielmehr kann der Widerstand, bzw. die Leitfähigkeit, bis zu einem vorgegebenen Sicherheitsabstand zu dem Wertebereich weitergetrieben werden, dem der nächste speicherbare Wert als diskreter Wert zugeordnet wird. In dem genannten Beispiel könnte also etwa die Leitfähigkeit bis auf 3,4 erhöht werden, was noch weit genug weg ist von der Leitfähigkeit 3,5, der bereits der Wert 4 als gelesener Wert zugeordnet würde. Wenn die Leitfähigkeit nach dem Auffrischen bei 3,4 statt bei 3 startet, dauert es erheblich länger, bis die Degradation sie wieder auf 2,6 abgesenkt hat und das nächste Auffrischen erforderlich wird.
-
Es wurde erkannt, dass die beschriebene Ansteuereinheit die Langzeitstabilität der in dem Speicher hinterlegten Information insbesondere in Anwendungen verbessert, in denen einer von drei oder mehr verschiedenen speicherbaren Werten in der Speicherzelle hinterlegt wird. Je mehr verschiedene Werte in der Speicherzelle speicherbar sind, desto enger rücken die zugehörigen nominellen Widerstandswerte zusammen und desto schneller führt eine Degradation im Memristor dazu, dass ein anderer als der ursprünglich hinterlegte Wert aus der Speicherzelle ausgelesen wird.
-
Dies betrifft insbesondere Anwendungen im Bereich der neuronalen Netzwerke. In derartigen Anwendungen manifestiert sich das Ergebnis des Lernens in Gewichten von Verbindungen zwischen Neuronen. Diese Gewichte sind meistens nicht binär, sondern können mehr als zwei diskrete Werte annehmen. Wenn diese Gewichte in Form von elektrischen Widerstandswerten von Memristoren gespeichert werden, so kann eine Degradation im Memristor dazu führen, dass das Verhalten des neuronalen Netzwerks nicht dauerhaft deterministisch ist, sondern sich beim „Umkippen“ eines Gewichts zum nächsten diskreten Wert in nicht vorhersehbarer Weise ändert.
-
Ein solches „Umkippen“ ließe sich alternativ auch auffangen, indem das neuronale Netzwerk in eine Form überführt wird, in der es permanent lernt. Ein Beispiel hierfür sind Netzwerke auf der Basis der „Spike timing dependent plasticity“ (STDP), in denen die Gewichte von an einem Neuron eingehenden Verbindungen abhängig davon, ob die entsprechenden Eingaben zeitlich kausal für die Ausgabe des Neurons gewesen sein können. In diesem ständigen Lernprozess kann der Effekt des „Umkippens“ einzelner Gewichte zumindest teilweise dynamisch ausgeglichen werden.
-
Es wurde jedoch erkannt, dass es vorteilhafter ist, durch die beschriebene Ansteuereinheit die Langzeitstabilität der im Speicher hinterlegten Information zu gewährleisten. Auf diese Weise kann die Lernphase des neuronalen Netzwerks klar von der anschließenden Inferenzphase abgegrenzt werden, die den normalen Betrieb des Netzwerks darstellt. In dieser Inferenzphase bleibt das Verhalten des Netzwerks dann deterministisch. Ein auch im normalen Betrieb permanent lernendes neuronales Netzwerk kann hingegen allein durch den Strom der im normalen Betrieb anfallenden Eingaben umtrainiert werden, wobei der Effekt nicht immer vorhersehbar und auch nicht immer erwünscht ist.
-
So wird beispielsweise ein für die Erkennung von Verkehrszeichen verwendetes neuronales Netzwerk im normalen Betrieb am häufigsten mit denjenigen Verkehrszeichen beaufschlagt, denen das entsprechend ausgerüstete Fahrzeug am häufigsten begegnet. Dabei kommt ein jedes Verkehrszeichen nicht nur in seiner nominellen „Reinform“ vor, sondern auch in einer Vielzahl leichter Abwandlungen, wie sie beispielsweise durch Verschmutzung, leichte Beschädigungen, Graffiti oder das Anbringen von Aufklebern entstehen können. Diese Abwandlungen können die „Aufmerksamkeit“ eines ständig lernenden neuronalen Netzwerks auf sich ziehen, was dann auf Kosten der Erkennung selten vorkommender Verkehrszeichen gehen kann. So kann beispielsweise eine Vielzahl von Abwandlungen des sehr häufig vorkommenden Verkehrszeichens „Vorfahrt achten“ die Erkennung des Verkehrszeichens 205 „Vorfahrt achten“ die Erkennung des Verkehrszeichens 129, das vor einem ungesicherten Ufer warnt, gewissermaßen verdrängen, so dass ein ganz oder teilweise automatisiert fahrendes Fahrzeug dann möglicherweise ins Wasser rollt.
-
Sind hingegen Lernphase und Inferenzphase des neuronalen Netzwerks klar voneinander abgegrenzt und wird die Langzeitstabilität des Lernergebnisses auf anderem Wege gewährleistet, nämlich durch die beschriebene, zum Auffrischen ausgebildete Ansteuereinheit, dann tritt ein solches unerwünschtes „Umlernen“ nicht auf. Dies ist insbesondere in Bezug auf die behördliche Zertifizierung von neuronalen Netzwerken für das zumindest teilweise automatisierte Fahren von Vorteil.
-
In einer besonders vorteilhaften Ausgestaltung ist der Diskretisierer dazu ausgebildet, dem gemessen Widerstandswert einen von mindestens drei verschiedenen speicherbaren Werten als gelesenen Wert zuzuordnen. Bevorzugt sind zwischen drei und zehn und besonders bevorzugt zwischen drei und fünf speicherbare Werte vorgesehen. Wie zuvor erläutert, ermöglicht dies insbesondere die langzeitstabile Speicherung von Gewichten für Verbindungen in neuronalen Netzwerken.
-
Dabei ist eine Motivation, überhaupt Memristoren für die Speicherung der Gewichte einzusetzen, dass damit neuronale Netzwerke in Form von schneller Analogelektronik implementiert werden können.
-
Somit liegen in einer besonders vorteilhaften Ausgestaltung sowohl der nominelle Widerstandswert des Memristors als auch der gemessene Widerstandswert des Memristors in analoger Form vor, und die Vergleichseinheit ist dazu ausgebildet, die Differenz in analoger Form auszugeben. Insbesondere kann der Treiber eine analoge Schaltung zur Wandlung der Differenz in das Strom-Zeit-Profil aufweisen. Das Auffrischen kann dann vollständig auf analogem Wege geschehen.
-
Die Differenz und das daraus folgende Strom-Zeit-Profil können aber auch auf digitalem Wege ermittelt werden. Hierzu kann beispielsweise eine Kombination aus Messgerät, Diskretisierer und Vergleichseinheit mit einem Analog-DigitalWandler realisiert sein, der feiner auflöst als es für die Unterscheidung zwischen den in der Speicherzelle speicherbaren diskreten Werte nötig ist. Der Analog-Digital-Wandler liefert dann jeden Messwert für den Widerstand des Memristors als digitales Datenwort. Es können dann beispielsweise die höherwertigen Bits dieses Datenworts der Unterscheidung zwischen den speicherbaren diskreten Werten dienen, während die niederwertigen Bits direkt die Differenz repräsentieren.
-
Wenn ein Datenwort beispielsweise 8 Bit umfasst, dann kann mit den höchstwertigen drei Bits der Widerstand des Memristors in Vielfachen von 32 dargestellt werden. Indem nur die höchstwertigen drei Bits berücksichtigt und die restlichen fünf Bits verworfen werden, kann der Widerstand unmittelbar auf die acht Widerstandswerte 0, 32, 64, 96, 128, 160, 192 und 224 diskretisiert werden. Der Memristor wird dann vorteilhaft so angesteuert, dass diese acht Widerstandswerte die nominellen Widerstandswerte sind, die den acht in der Speicherzelle speicherbaren Werten 0 bis 7 zugeordnet sind.
-
Bei einem idealen langzeitstabilen Memristor sollten dann bei jeder Messung des Widerstandswerts die fünf niederwertigen Bits alle 0 sein, so wie dies bei den nominellen Widerstandswerten der Fall ist. Wenn eine Degradation den Widerstand erhöht, wird dies nicht mehr der Fall sein. Die fünf niederwertigen Bits geben also ein Maß für den durch die Degradation verursachten Fehler, d.h. die Differenz, unmittelbar in digitaler Form an. Zugleich geht aus den höchstwertigen drei Bits unmittelbar hervor, welcher der acht möglichen Werte der aus der Speicherzelle gelesene Wert ist.
-
Es lassen sich also gelesener Wert einerseits und Differenz andererseits ohne jegliche Rechenoperationen, nur durch Aufteilen der Bits des Datenworts, ermitteln. Somit wird der Geschwindigkeitsnachteil gegenüber einer rein analogen Verarbeitung minimiert. Die digitale Verarbeitung ist wiederum vorteilhaft für die digitale Steuerung des Strom-Zeit-Profils für die Beaufschlagung des Memristors.
-
In einer weiteren vorteilhaften Ausgestaltung ist der Treiber dazu ausgebildet, den Widerstandswert des Memristors auf einen Sollwert zu regeln. Hierunter ist beispielsweise zu verstehen, dass der Treiber im Wechsel den Memristor mit Strom-Zeit-Profilen beaufschlagt und eine erneute Messung des Widerstandswerts des Memristors veranlasst, wobei dies wiederholt wird, bis die Übereinstimmung dieses Widerstandswerts mit dem Sollwert einer Abbruchbedingung genügt. Wie zuvor beschrieben, kann der Sollwert der nominelle Widerstandswert sein, der zu dem gelesenen Wert korrespondiert. Der Sollwert kann aber auch innerhalb des Bandes der Widerstandswerte, die noch dem gelesenen Wert zugeordnet sein, über den nominellen Widerstandswert hinaus verschoben sein (im oben genannten Beispiel zu höherer Leitfähigkeit), um bezüglich einer nur in eine Richtung wirkenden Degradation einen größeren Spielraum zu erzielen.
-
Die aktive Regelung nimmt tendenziell mehr Zeit in Anspruch, hat jedoch den Vorteil, dass sie sich physikalischen Veränderungen des Materials des Memristors anpasst. Derartige Materialien können zum einen Alterungsprozessen unterliegen. Zum anderen kann auch das Ansprechverhalten des Materials auf ein und dasselbe Strom-Zeit-Profil von der Vorgeschichte der Strom-Zeit-Profile abhängen, mit denen das Material in der Vergangenheit bereits beaufschlagt wurde. Die aktive Regelung ermöglicht es, die verwendeten Strom-Zeit-Profile dieser längerfristigen Entwicklung anzupassen.
-
In einer weiteren besonders vorteilhaften Ausgestaltung ist die Ansteuereinheit weiterhin dazu ausgebildet, in Antwort darauf, dass mindestens eine Speicherzelle für eine vorgegebene Zeitdauer nicht aufgefrischt wurde, diese Speicherzelle aufzufrischen. Auf diese Weise kann insbesondere gewährleistet werden, dass auch die Inhalte von Speicherzellen, auf die sehr selten zugegriffen wird, langzeitstabil bleiben. Die vorgegebene Zeitdauer hängt vom Material des Memristors und von dem physikalischen Mechanismus ab, mit dem der elektrische Widerstand dieses Memristors geändert wird. Sie ist um Größenordnungen länger als der Refresh-Zyklus bei DRAM-Speichern und kann beispielsweise im Bereich von Tagen oder Wochen liegen.
-
Dabei kann die Ansteuereinheit vorteilhaft mit einem Temperatursensor für eine Temperatur des Speichers verbindbar und dazu ausgebildet sein, die vorgegebene Zeitdauer in Abhängigkeit dieser Temperatur, bzw. eines zeitlichen Verlaufs dieser Temperatur, anzupassen. Insbesondere Diffusionsprozesse als Degradationsprozesse sind stark temperaturabhängig.
-
Nach dem zuvor Beschriebenen bezieht sich die Erfindung auch auf eine Hardwareplattform für ein künstliches neuronales und/oder neuromorphes Netzwerk, dessen interne Verarbeitungskette eine Vielzahl untereinander verbundener Neuronen umfasst. Dabei ist unter einem neuromorphen Netzwerk insbesondere ein Netzwerk zu verstehen, in dem ein Neuron in Antwort darauf, dass die eingangsseitig vorgelegte Stimulation einen vorgegebenen Schwellwert überschreitet, ein Ereignis ausgibt. Derartige Netzwerke werden auch „spikende neuronale Netzwerke“ genannt und sind beispielsweise mit ereignisbasierten Bildsensoren vergleichbar. Solche Bildsensoren sind in Pixel unterteilt, die immer dann, wenn sich die auf ein Pixel einfallende Lichtintensität prozentual um einen bestimmten Betrag ändert, ein diesem Pixel zugeordnetes Ereignis ausgeben.
-
Die Hardwareplattform umfasst mindestens einen Speicher, in dem als diskrete Werte vorliegende Gewichte von Verbindungen zwischen Neuronen in Form von elektrischen Widerstandswerten von Memristoren kodiert sind. Weiterhin ist die beschriebene Ansteuereinheit vorgesehen, die in der zuvor erläuterten Weise für eine Langzeitstabilität der gespeicherten Gewichte sorgt.
-
Das Einsatzgebiet von Speichern mit der beschriebenen Ansteuereinheit ist aber nicht auf neuronale Netzwerke beschränkt, sondern umfasst insbesondere ganz allgemein analoge Rechenmodule, deren Verhalten durch in einem Speicher abgelegte Parameter bestimmt wird.
-
Daher bezieht sich die Erfindung auch auf ein analoges Rechenmodul, welches einem oder mehreren analogen Eingangssignalen nach Maßgabe mindestens einer Rechenoperation ein oder mehrere Ausgangssignale zuordnet. Die mindestens eine Rechenoperation, und/oder mindestens ein diese Rechenoperation festlegender diskreter Parameter, ist in einem Speicher in Form mindestens eines elektrischen Widerstandswerts eines Memristors kodiert. Der Speicher ist mit der beschriebenen Ansteuereinheit gekoppelt.
-
Beispielsweise kann das analoge Rechenmodul zur Berechnung eines Kreuzprodukts zweier Vektoren oder Matrizen ausgebildet sein. In der digitalen Domäne erfordert diese Berechnung eine Vielzahl nacheinander auszuführender Operationen. In der analogen Domäne können alle Komponenten der Operanden gleichzeitig, beispielsweise in Form von Strömen, vorgelegt werden, und alle Komponenten des Ergebnisses können ebenfalls gleichzeitig gebildet werden.
-
Für alle Einsatzgebiete gilt, dass der Begriff der „Ansteuereinheit“ nicht dahingehend einschränkend zu verstehen ist, dass diese Einheit an einer bestimmten Stelle sitzen muss oder dass alle ihre Teile auf einem Hardwarebaustein vereint sein müssen. Vielmehr genügt es, ein Messgerät, einen Diskretisierer, eine Vergleichseinheit und einen Treiber logisch so zu verschalten, dass eine Ansteuereinheit mit der beschriebenen Funktion gebildet wird. Sofern etwa ein Messgerät, ein Diskretisierer, eine Vergleichseinheit oder ein Treiber schon vorhanden sind, etwa für den normalen Betrieb des Speichers, kann diesen Komponenten für die Verwendung in der Ansteuereinheit eine Zweitfunktion zugewiesen werden. Auch kann beispielsweise die Ansteuereinheit in ein neuronales Netzwerk, das Gewichte von Verbindungen zwischen Neuronen in dem Speicher ablegt, integriert sein.
-
Somit kann die Realisierung der Ansteuereinheit insbesondere ganz oder teilweise in Software erfolgen, die vorhandene Hardware anders ansteuert. Diese Software kann beispielsweise als Add-On, Update oder Upgrade zu bestehender Hardware vertrieben werden und ist insofern ein eigenständig verkaufbares Produkt. Daher bezieht sich die Erfindung auch auf ein Computerprogramm mit maschinenlesbaren Anweisungen, die, wenn sie auf einem Computer, und/oder auf einem Steuergerät, und/oder auf einem Embedded-System ausgeführt werden, den Computer, das Embedded-System, bzw. das Steuergerät, zu der beschriebenen Ansteuereinheit aufwerten. Ebenso bezieht sich die Erfindung auch auf einen maschinenlesbaren Datenträger oder ein Downloadprodukt mit dem Computerprogramm.
-
Weitere, die Erfindung verbessernde Maßnahmen werden nachstehend gemeinsam mit der Beschreibung der bevorzugten Ausführungsbeispiele der Erfindung anhand von Figuren näher dargestellt.
-
Figurenliste
-
Es zeigt:
- 1 Ausführungsbeispiel der Ansteuereinheit 1 im Zusammenspiel mit einem Speicher 2;
- 2 Ausführungsbeispiel einer Hardwareplattform 5 für ein neuronales Netzwerk 4;
- 3 Ausführungsbeispiel eines analogen Rechenmoduls 6;
- 4 Beispielhafte Integration der Ansteuereinheit 1 mit einem Speicher 2, der mehrere Speicherzellen 21 umfasst;
- 5 Beispielhafte Verarbeitung eines Widerstandswerts 22a in der Ansteuereinheit 1.
-
Nach 1 umfasst der beispielhafte, von der Ansteuereinheit 21 angesteuerte, Speicher 2 eine einzige Speicherzelle 21, deren zentrales Element ein Memristor 22 ist. Die in der Speicherzelle 21 hinterlegte Information ist im Widerstandswert 22a des Memristors 22 kodiert.
-
In dem in 1 gezeigten Beispiel sind fünf unterschiedliche Werte 23a-23e in der Speicherzelle 21 speicherbar. In der Ansteuereinheit 1 wird ein jeder der Werte 23a-23e genau dann als gelesener Wert 23 erkannt, wenn der gemessene Widerstand 22a des Memristors 22 im dem jeweiligen Wert 23a-23e zugehörigen Bereich auf der Skala des Widerstands 22a liegt. Zusätzlich ist jedem Wert 23a-23e auch noch ein nomineller Widerstandswert 24a-24e zugeordnet, der beim Schreiben des Werts 23a-23e in die Speicherzelle 21 eingestellt wird.
-
Ein idealer, unendlich langzeitstabiler Memristor 22 würde, nachdem sein Widerstand 22a auf einen der nominellen Widerstandswerte 24a-24e eingestellt wurde, diesen Widerstandswert 24a-24e halten, bis die in der Speicherzelle 21 hinterlegte Information bewusst geändert wird. In der Realität driftet der Widerstand 22a jedoch mit der Zeit vom jeweiligen Nominalwert 24a-24e weg. Es ist Aufgabe der Ansteuereinheit 1, derartige Abweichungen zu erkennen und aktiv zu beheben, bevor sie eine Größe erreichen, die zu einer falschen Erkennung der in der Speicherzelle 21 hinterlegten Information führt.
-
Zu diesem Zweck wird der Widerstand 22a des Memristors 22 zunächst in Schritt 110 mit dem Messgerät 11 gemessen. Der Diskretisierer 12 ermittelt in Schritt 120 den aus der Speicherzelle 21 gelesenen Wert 23, wie oben beschrieben. Die Vergleichseinheit 13 ermittelt in Schritt 130 die Differenz 24 zwischen dem zu dem gelesenen Wert 23 korrespondierenden nominellen Widerstandswert 24a-24e einerseits und dem tatsächlichen Widerstandswert 22a andererseits. Aus der Differenz 24 ermittelt der Treiber 24 in Schritt 140 das Strom-Zeit-Profil 25, mit dem der Memristor 22 zu beaufschlagen ist, um dessen Widerstandswert 22a in Richtung des zum gelesenen Wert 23 korrespondierenden nominellen Widerstandswerts 24a-24e zu treiben. Diese Ermittlung kann gemäß dem optionalen Schritt 150 auch auf rein analogem Wege erfolgen.
-
Gemäß dem optionalen Schritt 145 kann der Widerstandswert 22a aktiv auf einen neuen Sollwert geregelt werden, d.h., die Ermittlung und Anwendung von Strom-Zeit-Profilen 25 wird wiederholt, bis dieser Sollwert mit einer hinreichenden Genauigkeit erreicht ist.
-
Zur Bestimmung, wann die Speicherzelle 21 das nächste Mal in dieser Weise aufzufrischen ist, ist die Ansteuereinheit 1 mit einem Temperatursensor 3 verbunden. Der Temperatursensor 3 ist thermisch an den Speicher 2 gekoppelt und liefert die Temperatur 3a des Speichers 2 an die Ansteuereinheit 1.
-
2 zeigt eine beispielhafte Hardwareplattform 5 für ein neuronales Netzwerk 4. Die interne Verarbeitungskette 41 des neuronalen Netzwerks 4 umfasst eine Vielzahl von Neuronen 42, von denen nur einige wenige einschließlich ihrer Verbindungen 44a-44c untereinander in 2 dargestellt sind. Die Verbindungen 44a-44c sind mit zugehörigen Gewichten 43a-43c belegt, die wiederum im Speicher 2 abgelegt sind. Der Speicher 2 umfasst drei Speicherzellen 21 mit jeweils einem Memristor 22. Die Gewichte 43a-43c sind also in Widerstandswerten 22a von Memristoren 22 in Speicherzellen 21 kodiert, wobei der gelesene Wert 23 auf einen der möglichen Werte 23a-23e diskretisiert ist. Der Speicher 2 ist mit der Ansteuereinheit 1 gekoppelt.
-
3 zeigt ein beispielhaftes analoges Rechenmodul 6. Zwei beispielhafte Operanden 61 und 62 werden durch eine mit einem Parameter 63a parametrisierte Rechenoperation 63 zu einem Ergebnis 64 verarbeitet. Die Rechenoperation 63 und der zugehörige Parameter 63a sind in dem Speicher 2 hinterlegt, der mit der Ansteuereinheit 1 gekoppelt ist.
-
4 zeigt eine beispielhafte Integration der Ansteuereinheit 1 mit einem Speicher 2, der mehrere Speicherzellen 21 umfasst. Jede Speicherzelle 21 ist mit genau einer der Wortleitungen W0 und W1 sowie mit genau einer der Bitleitungen B0, B1, B2 verbunden. Durch gleichzeitige Ansteuerung einer Wortleitung W0, W1 und einer Bitleitung B0, B1, B2 wird eine Speicherzelle 21 ausgewählt. Zu diesem Zweck umfasst jede Speicherzelle 21 neben dem Memristor 22 noch einen Ansteuertransistor 26.
-
Die zur Ansteuereinheit 1 gehörenden Komponenten 11, 12, 13 und 14 sind je Bitleitung B0, B1, B2 einmal vorhanden.
-
5 zeigt beispielhaft die Ermittlung einer Differenz 24 für das Auffrischen. Auf der Skala des Widerstandswerts 22a des Memristors 22 sind, analog zu 1, die fünf nominellen, zu den speicherbaren Werten 0, 1, 2, 3 und 4 korrespondierenden Widerstandswerte 24a-24e aufgetragen. Ein gemessener Widerstandswert 22a wird nun durch die Kombination aus Messgerät 11 und Diskretisierer 12 digitalisiert und in einen gelesenen Wert 23(D) umgewandelt. Da der gemessene Widerstand 22a dem Niveau 24d am nächsten liegt, ist der aus der Speicherzelle 21 gelesene Wert der Wert 3, zu dem das Niveau 24d korrespondiert. Dieser Widerstandswert 24d wird mit einem D/A-Wandler in einen Analogwert 23(A) umgewandelt, der in der Vergleichseinheit 13 mit dem ursprünglichen gemessenen Widerstandswert 22a verglichen wird. Die analoge Differenz 24(A) wird dem Treiber 14 zugeführt, damit die Speicherzelle 21 entsprechend aufgefrischt werden kann.
-
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
-
- DE 102014208609 A1 [0004]
- DE 102014211111 A1 [0004]