-
QUERVERWEIS AUF DIE ZUGEHÖRIGE ANMELDUNG
-
Diese Anmeldung beansprucht die Priorität der
koreanischen Patentanmeldung Nummer 10-2017-0174926 , die am 19. Dezember 2017 beim Koreanischen Patentamt (KIPO) eingereicht wurde, deren Offenbarung hierin in ihrer Gesamtheit durch Verweis aufgenommen ist.
-
HINTERGRUND
-
Technisches Gebiet
-
Zumindest einige beispielhafte Ausführungsformen der erfinderischen Konzepte beziehen sich im Allgemeinen auf Speichervorrichtungen, und insbesondere auf eine nichtflüchtige Speichervorrichtung, ein Speichersystem, das diese enthält, und ein Verfahren zum Betreiben einer nichtflüchtigen Speichervorrichtung.
-
Diskussion des Stands der Technik
-
Halbleiterspeichervorrichtungen werden in flüchtige Speichervorrichtungen und nichtflüchtige Speichervorrichtungen unterteilt.
-
Eine Flashspeichervorrichtung, welche eine der nichtflüchtigen Speichervorrichtungen ist, kann als Datenspeicher für Informationsgeräte wie zum Beispiel einem Computer, einem Mobiltelefon, einem persönlichen digitalen Assistenten (PDA), einer Digitalkamera, einem Camcorder, einem Sprachrecorder, einem MP3-Player, einem tragbaren Personal Computer (PC), einer Spielmaschine, einem Fax, einem Scanner, einem Drucker und dergleichen verwendet werden.
-
Verschiedene Forschung wurde betrieben, um einen Leistungsverbrauch der nichtflüchtigen Speichervorrichtung zu verringern.
-
ZUSAMMENFASSUNG
-
Gemäß zumindest einigen beispielhaften Ausführungsformen der erfinderischen Konzepte enthält eine nichtflüchtige Speichervorrichtung eine Speicherzellenanordnung, die eine Mehrzahl von nichtflüchtigen Speicherzellen enthält; eine Seitenzwischenspeicherschaltung (bzw. Seitenpufferschaltung), die mit der Speicherzellenanordnung durch eine Mehrzahl von Bitleitungen verbunden ist; eine Berechnungsschaltung, die konfiguriert ist eine Berechnung an Informationsbits und Gewichtungsbits basierend auf einem Berechnungsfenster mit einer ersten Größe durchzuführen, wobei die Informationsbits und Gewichtungsbits in einem Benutzerdatensatz enthalten sind, wobei die Speicherzellenanordnung konfiguriert ist den Benutzerdatensatz zu speichern, wobei die Berechnungsschaltung ferner konfiguriert ist die Benutzerdaten durch die Seitenzwischenspeicherschaltung zu empfangen; und eine Daten-Eingabe/Ausgabe-Schaltung (Daten-I/O-Schaltung), die mit der Berechnungsschaltung verbunden ist, wobei die Berechnungsschaltung ferner konfiguriert ist einen Ausgabedatensatz der Daten-I/O-Schaltung bereitzustellen, als Reaktion darauf, dass die Berechnungsschaltung die Berechnung bezogen auf alle Informationsbits und Gewichtungsbits abgeschlossen hat, und wobei der Ausgabedatensatz einem Ergebnis der abgeschlossenen Berechnung entspricht.
-
Gemäß zumindest einigen beispielhaften Ausführungsformen der erfinderischen Konzepte enthält ein Speichersystem zumindest eine nichtflüchtige Speichervorrichtung; und eine Speichersteuerung (bzw. Speicherregler), die konfiguriert ist zumindest eine nichtflüchtige Speichervorrichtung zu steuern, wobei die zumindest eine nichtflüchtige Speichervorrichtung eine Speicherzellenanordnung enthält, die eine Mehrzahl von nichtflüchtigen Speicherzellen enthält; eine Seitenzwischenspeicherschaltung, die mit der Speicherzellenanordnung durch eine Mehrzahl von Bitleitungen verbunden ist; eine Berechnungsschaltung, die konfiguriert ist, eine Berechnung an Informationsbits und Gewichtungsbits basierend auf einem Berechnungsfenster mit einer ersten Größe durchzuführen, wobei die Informationsbits und Gewichtungsbits in einem Benutzerdatensatz enthalten sind, wobei die Speicherzellenanordnung konfiguriert ist den Benutzerdatensatz zu speichern, wobei die Berechnungsschaltung ferner konfiguriert ist den Benutzerdatensatz durch die Seitenzwischenspeicherschaltung zu empfangen; und eine Daten-Eingabe/Ausgabe-Schaltung (Daten-I/O-Schaltung), die mit der Berechnungsschaltung verbunden ist, wobei die Berechnungsschaltung ferner konfiguriert ist einen Ausgabedatensatz der Daten-I/O-Schaltung bereitzustellen, als Reaktion darauf, dass die Berechnung an den Informationsbits und den Gewichtungsbits abgeschlossen hat, und wobei der Ausgabedatensatz einem Ergebnis der abgeschlossenen Berechnung entspricht.
-
Gemäß zumindest einigen beispielhaften Ausführungsformen der erfinderischen Konzepte enthält ein Verfahren zum Betreiben einer nichtflüchtigen Speichervorrichtung eine Speicherzellenanordnung mit einer Mehrzahl von nichtflüchtigen Speicherzellen: Bereitstellen, von der Speicherzellenanordnung, von Informationsbits und Gewichtungsbits zu einem Schieberegisterblock durch eine Seitenzwischenspeicherschaltung, die mit der Speicherzellenanordnung durch eine Mehrzahl von Bitleitungen verbunden ist, wobei die Informationsbits und Gewichtungsbits in einem durch die Seitenzwischenspeicherschaltung gelesenen Benutzerdatensatz enthalten sind; Teilen, durch den Schieberegisterblock, der Informationsbits und Gewichtungsbits in Aktivierungen beziehungsweise Merkmalskarten (bzw. Feature Maps); Durchführen, durch eine Berechnungsschaltung, einer Matrixvektormultiplikation an den Aktivierungen und Merkmalskarten basierend auf einem Berechnungsfenster; und Bereitstellen eines Ausgabedatensatzes als Reaktion darauf, dass die Berechnungsschaltung die Matrixvektormultiplikation bezüglich allen Aktivierungen und Merkmalskarten beendet hat, wobei der Ausgabedatensatz einem Ergebnis der abgeschlossenen Matrixvektormultiplikation entspricht.
-
Figurenliste
-
Das Vorstehende und andere Merkmale und Vorteile der beispielhaften Ausführungsformen der erfinderischen Konzepte werden deutlicher, indem man die beispielhaften Ausführungsformen der erfinderischen Konzepte unter Bezugnahme der beigefügten Zeichnungen ausführlich beschreibt. Die beigefügten Zeichnungen sollen beispielhafte Ausführungsformen der erfinderischen Konzepte darstellen und sollten nicht so ausgelegt werden, dass sie den beabsichtigten Umfang der Ansprüche einschränken. Die beigefügten Zeichnungen gelten nicht als maßstabsgetreu, es sei denn, es ist ausdrücklich vermerkt.
- 1 ist ein Blockschaltbild, das ein Speichersystem gemäß zumindest einigen beispielhaften Ausführungsformen der erfinderischen Konzepte zeigt.
- 2 ist eine Tabelle, die Steuersignale in dem Speichersystem von 1 zeigt.
- 3 ist ein Blockschaltbild, das die nichtflüchtige Speichervorrichtung des Speichersystems von 1 gemäß zumindest einiger beispielhaften Ausführungsformen der erfinderischen Konzepte zeigt.
- 4 ist ein Blockschaltbild, das die Speicherzellenanordnung in 3 zeigt.
- 5 ist eine perspektivische Ansicht, die einen der Speicherblöcke von 4 zeigt.
- 6 ist ein Schaltbild, das ein Ersatzschaltbild des mit Bezug auf 5 beschriebenen Speicherblocks zeigt.
- 7 ist ein Schaubild zur Erklärung der Schwellenspannungsverteilungen einer Seite in der Speicherzellenanordnung in 3.
- 8 ist ein Blockschaltbild, das die Steuerschaltung in der nichtflüchtigen Speichervorrichtung von 3 gemäß zumindest einigen beispielhaften Ausführungsformen der erfinderischen Konzepte zeigt.
- 9 ist ein Blockschaltbild, das die Spannungserzeugungsschaltung in der nichtflüchtigen Speichervorrichtung von 3 gemäß zumindest einigen beispielhaften Ausführungsformen der erfinderischen Konzepte zeigt.
- 10 ist ein Blockschaltbild, das die Berechnungsschaltung in der nichtflüchtigen Speichervorrichtung von 3 gemäß zumindest einigen beispielhaften Ausführungsformen der erfinderischen Konzepte zeigt.
- 11 ist ein Blockschaltbild, das ein Beispiel einer Multiplikations- und Akkumulationsschaltung (MAC-Schaltung) in der Berechnungsschaltung in 10 gemäß zumindest einigen beispielhaften Ausführungsformen der erfinderischen Konzepte zeigt.
- 12 zeigt eine Matrixberechnung, die von der Berechnungsschaltung in 10 durchgeführt wird und 13 zeigt die Matrixberechnung in 12 genauer.
- 14 ist ein Zeitdiagramm, das einen Vorgang der nichtflüchtigen Speichervorrichtung gemäß zumindest einigen beispielhaften Ausführungsformen der erfinderischen Konzepte zeigt.
- 15 ist ein Blockschaltbild, das eine nichtflüchtige Speichervorrichtung gemäß zumindest einigen beispielhaften Ausführungsformen der erfinderischen Konzepte zeigt.
- 16 zeigt schematisch einen Aufbau der nichtflüchtigen Speichervorrichtungen von 15 gemäß zumindest einigen beispielhaften Ausführungsformen der erfinderischen Konzepte.
- 17 ist eine Querschnittsansicht eines Beispiels der nichtflüchtigen Speichervorrichtung gemäß zumindest einigen beispielhaften Ausführungsformen der erfinderischen Konzepte.
- 18 zeigt einen Aufbau einer nichtflüchtigen Speichervorrichtung, die erste und zweite Halbleiterschichten enthält, gemäß zumindest einigen beispielhaften Ausführungsformen der erfinderischen Konzepte.
- 19 ist eine Draufsicht auf eine obere Fläche der zweiten Halbleiterschicht, die die erste Halbleiterschicht kontaktiert, in der nichtflüchtigen Speichervorrichtung von 18.
- 20 ist ein Blockschaltbild eines Beispiels der peripheren Schaltung in der nichtflüchtigen Speichervorrichtung von 15 gemäß zumindest einigen beispielhaften Ausführungsformen der erfinderischen Konzepte.
- 21 ist ein Flussdiagramm, das ein Verfahren zum Betreiben einer nichtflüchtigen Speichervorrichtung gemäß zumindest einigen beispielhaften Ausführungsformen der erfinderischen Konzepte zeigt.
- 22 ist ein Blockschaltbild, das eine Solid State Disc oder einen Solid State Drive (SSD) gemäß zumindest einigen beispielhaften Ausführungsformen der erfinderischen Konzepte zeigt.
-
DETAILLIERTE BESCHREIBUNG DER AUSFÜHRUNGSFORMEN
-
Wie es im Bereich der erfinderischen Konzepte üblich werden Ausführungsformen beschrieben und in den Zeichnungen in Form von Funktionsblöcken, Einheiten und/oder Modulen dargestellt. Der Durchschnittsfachmann wird verstehen, dass diese Blöcke, Einheiten und/oder Module physisch durch elektronische (oder optische) Schaltungen, zum Beispiel Logikschaltungen, diskrete Komponenten, Mikroprozessoren, festverdrahtete Schaltungen, Speicherelemente, Verdrahtungsverbindungen und dergleichen, implementiert werden, die mithilfe von halbleiterbasierten Fertigungstechniken oder anderen Fertigungstechnologien hergestellt werden können. Im Falle, dass die Blöcke, Einheiten und/oder Module durch Mikroprozessoren oder Ähnliches implementiert werden, können Sie mithilfe von Software (z.B. Mikrocode) programmiert werden, um verschiedene hierin beschriebene Funktionen auszuführen, und können optional durch Firmware und/oder Software gesteuert werden. Alternativ kann jeder Block, jede Einheit und/oder jedes Modul durch zugehörige Hardware oder als Kombination aus zugehöriger Hardware zur Ausführung einiger Funktionen und einem Prozessor (z.B. ein oder mehrere programmierte Mikroprozessoren und zugehörige Schaltkreise) zur Ausführung anderer Funktionen implementiert werden. Außerdem kann jeder Block, jede Einheit und/oder jedes Modul der Ausführungsformen physisch in zwei oder mehrere interagierende und diskrete Blöcke, Einheiten und/oder Module getrennt werden, ohne vom Umfang der erfinderischen Konzepte abzuweichen. Darüber hinaus können die Blöcke, Einheiten und/oder Module der Ausführungsformen physisch zu komplexeren Blöcken, Einheiten und/oder Modulen kombiniert werden, ohne vom Umfang der erfinderischen Konzepte abzuweichen.
-
1 ist ein Blockschaltbild, das ein Speichersystem gemäß zumindest einigen beispielhaften Ausführungsformen der erfinderischen Konzepte zeigt.
-
Bezugnehmend auf 1 kann ein Speichersystem (oder ein nichtflüchtiges Speichersystem) 10 eine Speichersteuerung 20 und zumindest eine nichtflüchtige Speichervorrichtung 30 enthalten.
-
Das Speichersystem 10 kann flashspeicherbasierte Datenspeichermedien enthalten, zum Beispiel eine Speicherkarte, einen universellen seriellen Bus (USB) Speicher und Solid-State-Laufwerke (SSD).
-
Die nichtflüchtige Speichervorrichtung 30 kann unter Steuerung der Speichersteuerung einen Löschvorgang, einen Programmiervorgang oder einen Schreibevorgang 20 durchführen. Die nichtflüchtige Speichervorrichtung 30 empfängt einen Befehl CMD, eine Adresse ADDR und Daten DATA durch Eingabe/Ausgabeleitungen von der Speichersteuerung 20 zum Durchführen solcher Vorgänge. Außerdem empfängt die nichtflüchtige Speichervorrichtung 30 ein Steuersignal CTRL durch eine Steuerleitung von der Speichersteuerung 20. Außerdem empfängt die nichtflüchtige Speichervorrichtung 30 durch eine Leistungsleitung von der Speichersteuerung 20 eine Leistung PWR.
-
2 ist eine Tabelle, die Steuersignale in dem Speichersystem von 1 zeigt.
-
Bezugnehmend auf 1 und 2 kann das Steuersignal CTRL ein Command-Latch-Enable-Signal CLE, ein Adress-Latch-Enable-Signal ALE, ein Chip-Enable-Signal (bzw. Chipaktivierungssignal) nCE, ein Read-Enable-Signal (bzw. Leseaktivierungssignal) nRE, und ein Write-Enable-Signal (bzw. Schreibeaktivierungssignal) nWE enthalten.
-
Die Speichersteuerung 20 kann das Command-Latch-Enable-Signal CLE zu der nichtflüchtigen Speichervorrichtung 30 übertragen. Das Command-Latch-Enable-Signal CLE kann ein Signal sein, das anzeigt, dass Information, die über die Eingabe/Ausgabe-Leitungen übertragen wird, ein Befehl ist. Die Speichersteuerung 20 kann das Adress-Latch-Enable-Signal ALE zu der nichtflüchtigen Speichervorrichtung 30 übertragen. Das Adress-Latch-Enable-Signal ALE kann ein Signal sein, das anzeigt, dass Information, die über die Eingabe/Ausgabe-Leitungen übertragen wird, eine Adresse ist.
-
Die Speichersteuerung 20 kann das Chip-Enable-Signal nCE zu der nichtflüchtigen Speichervorrichtung 30 übertragen. Das Chip-Enable-Signal nCE kann einen aus einer Mehrzahl von Speicherchips ausgewählten Speicherchip anzeigen, wenn die nichtflüchtige Speichervorrichtung die Mehrzahl von Speicherchips enthält.
-
Die Speichersteuerung 20 kann das Read-Enable-Signal nRE zu der nichtflüchtigen Speichervorrichtung 30 übertragen. Die nichtflüchtige Speichervorrichtung 30 kann basierend auf dem Read-Enable-Signal nRE Lesedaten zu der Speichersteuerung 20 übertragen.
-
Die Speichersteuerung 20 kann das Write-Enable-Signal nWE zu der nichtflüchtigen Speichervorrichtung 30 übertragen. Wenn das Write-Enable-Signal nWE aktiviert ist, kann die nichtflüchtige Speichervorrichtung 30 Dateneingabesignale, die von der Speichersteuerung 20 als ein Befehl CMD oder eine Adresse ATDR bereitgestellt werden, speichern.
-
3 ist ein Blockschaltbild, das die nichtflüchtige Speichervorrichtung des Speichersystems von 1 gemäß zumindest einigen beispielhaften Ausführungsformen der erfinderischen Konzepte zeigt.
-
Bezugnehmend auf 3 enthält die nichtflüchtige Speichervorrichtung 30 eine Speicherzellenanordnung 100, einen Adressendecoder 430, eine Seitenzwischenspeicherschaltung 410, eine Fehlerkorrekturcode-Funktionseinheit (bzw. Error-Correction-Code-Engine = ECC-Engine) 440, eine Berechnungsschaltung 700, eine Dateneingabe-/Ausgabeschaltung 420, eine Steuerschaltung 500 und eine Spannungserzeugungsschaltung 600.
-
Die Speicherzellenanordnung 100 kann mit dem Adressendecoder 410 durch eine Stringauswahlleitung (bzw. String-Selektions-Leitung) SSL, eine Mehrzahl von Wortleitungen WLs, und eine Masseleitung (bzw. Erdungsleitung) GSL verbunden sein. Außerdem kann die Speicherzellenanordnung 100 mit der Seitenzwischenspeicherschaltung 410 durch eine Mehrzahl von Bitleitungen BLs verbunden sein. Die Speicherzellenanordnung 100 kann eine Mehrzahl von nichtflüchtigen Speicherzellen enthalten, die mit der Mehrzahl von Wortleitungen WLs und der Mehrzahl von Bitleitungen BLs verbunden ist. Die Mehrzahl von nichtflüchtigen Speicherzellen kann in der Speicherzellenanordnung 100 angeordnet sein.
-
Gemäß zumindest einigen beispielhaften Ausführungsformen der erfinderischen Konzepte kann die Speicherzellenanordnung
100 eine dreidimensionale Speicherzellenanordnung sein, welche auf einem Substrat als dreidimensionale Struktur (oder vertikale Struktur) ausgebildet ist. In diesem Fall kann die Speicherzellenanordnung
100 vertikale Zellenreihen enthalten, die in einer vertikalen Richtung gestapelt sind, so dass zumindest eine Speicherzelle über einer anderen Speicherzelle angeordnet ist. Die folgenden Patentschriften, welche hiermit durch Bezugnahme mitaufgenommen werden, beschreiben geeignete Gestaltungen (bzw. Aufbauten) für dreidimensionale Speicherzellenanordnung:
US-Patent Nr. 7,679,133 ;
8,553,466 ;
8,654,587 ;
8,559,235 ; und US-Veröffentlichung Nr. 2011/0233648.
-
Gemäß zumindest einigen beispielhaften Ausführungsformen der erfinderischen Konzepte kann die Speicherzellenanordnung 100 eine zweidimensionale Speicherzellenanordnung sein, die auf einem Substrat als zweidimensionale Struktur (oder eine horizontalen Struktur) ausgebildet ist.
-
4 ist ein Blockschaltbild, das die Speicherzellenanordnung von 3 zeigt.
-
Bezugnehmend auf 4 kann die Speicherzellenanordnung 100 eine Mehrzahl von Speicherblöcken BLK1 bis BLKz enthalten, die sich in ersten bis dritten Richtungen D1, D2 und D3 erstrecken. Bei einer Ausführungsform werden die Speicherblöcke BLK1 bis BLKz durch den Adressendecoder 430 in 3 ausgewählt. Zum Beispiel kann der Adressendecoder 430 einen Speicherblock BLK entsprechend einer Blockadresse unter den Speicherblöcken BLK1 bis BLKz auswählen.
-
5 ist eine Perspektivansicht, die einen der Speicherblöcke von 4 zeigt.
-
Bezugnehmend auf 5 enthält der Speicherblock BLKi Zellenreihen, welche auf einem Substrat in einer dreidimensionalen Struktur (oder einer vertikalen Struktur) ausgebildet sind. Der Speicherblock BLKi enthält Strukturen, die sich entlang der ersten bis dritten Richtungen D1-D3 erstrecken.
-
Ein Substrat 111 ist vorgesehen. Zum Beispiel kann das Substrat 111 eine Wanne eines ersten Typs (z.B. eines ersten Leitfähigkeitstyps) aufweisen. Zum Beispiel kann das Substrat 111 eine p-Wanne aufweisen, die durch Implantation eines Elements der 3. Gruppe, zum Beispiel Bor (B), gebildet wird. Zum Beispiel kann das Substrat 111 eine taschenförmige p-Wanne aufweisen, die in einer n-Wanne vorgesehen ist. Bei einer Ausführungsform weist das Substrat 111 eine p-Typ-Wanne (oder eine p-Typ-Paketwanne) auf. Allerdings sind die Leitfähigkeitstypen des Substrats 111 nicht auf den p-Typ beschränkt. Eine Mehrzahl von Dotierungsbereichen 311 bis 314, die sich entlang der ersten Richtung D1 erstrecken, ist auf dem Substrat 111 vorgesehen. Zum Beispiel kann die Mehrzahl von Dotierungsbereichen 311 bis 314 einen zweiten Typ (z.B. einen zweiten Leitfähigkeitstyp) aufweisen, der von dem ersten Typ des Substrats 111 verschieden ist. Bei einer Ausführungsform weisen die ersten bis vierten Dotierungsbereiche 311 bis 314 einen n-Typ auf. Allerdings ist der Leitfähigkeitstyp der ersten bis vierten Dotierungsbereiche 311 bis 314 nicht auf den n-Typ beschränkt.
-
Eine Mehrzahl von Isoliermaterialien 112, die sich in die erste Richtung D1 erstrecken, ist aufeinanderfolgend entlang der zweiten Richtung D2 auf einem Bereich des Substrates 111 zwischen den ersten und zweiten Dotierungsbereichen 311 und 312 vorgesehen. Zum Beispiel ist die Mehrzahl von Isoliermaterialien entlang der dritten Richtung D3 vorgesehen, wobei sie in einem bestimmten Abstand angeordnet ist. Gemäß zumindest einigen beispielhaften Ausführungsformen der erfinderischen Konzepte können die Isoliermaterialien 112 ein Isoliermaterial, zum Beispiel eine Oxidschicht, enthalten.
-
Eine Mehrzahl von Säulen (bzw. Stützen) 113, die die Isoliermaterialien entlang der zweiten Richtung D2 durchdringen, ist aufeinanderfolgend entlang der ersten Richtung D1 auf einem Bereich des Substrates 111 zwischen den ersten und zweiten Dotierungsbereichen 311 und 312 angeordnet. Zum Beispiel durchdringen die Mehrzahl von Säulen 113 die Isoliermaterialien 112, um das Substrat 111 zu berühren.
-
Zum Beispiel kann jede Säule 113 eine Mehrzahl von Materialien enthalten. Zum Beispiel kann die Kanalschicht 114 von jeder Säule 113 ein Siliziummaterial mit einem ersten Typ enthalten. Zum Beispiel kann die erste Kanalschicht 114 von jeder Säule 113 ein Siliziummaterial mit dem gleichen Typ wie das Substrat 111 enthalten. Bei einer Ausführungsform enthält die Kanalschicht 114 von jeder Säule 113 ein p-Typ Silizium. Allerdings ist die Kanalschicht 114 von jeder Säule 113 nicht auf das p-Typ Silizium beschränkt.
-
Ein Innenmaterial 115 von jeder Säule 113 enthält ein Isoliermaterial. Zum Beispiel kann das Innenmaterial 115 von jeder Säule 113 ein Isolationsmaterial, zum Beispiel ein Siliziumoxid, enthalten. Zum Beispiel kann das Innenmaterial 115 von jeder Säule 113 einen Luftspalt enthalten.
-
Eine Isolierschicht 116 ist entlang der freigelegten Flächen der Isoliermaterialien 112, der Säulen 113 und des Substrates 111 auf einem Bereich zwischen den ersten und zweiten Dotierungsbereichen 111 und 112 vorgesehen. Gemäß zumindest einiger beispielhafter Ausführungsform der erfinderischen Konzepte kann die Isolierschicht 116, die auf der freigelegten Fläche in der zweiten Richtung D2 auf dem letzten Isoliermaterial 112 vorgesehen ist, entfernt sein.
-
Erste leitfähige Materialien 211 bis 291 sind auf den freigelegten Flächen der Isolierschicht 116 in einem Bereich zwischen den ersten und zweiten Dotierungsbereichen 311 und 312 vorgesehen. Zum Beispiel ist das erste leitfähige Material 211, das sich entlang der ersten Richtung D1 erstreckt, zwischen dem an das Substrat 111 angrenzenden Isoliermaterial 112 und dem Substrat 111 vorgesehen. Genauer gesagt ist das erste leitfähige Material 211, das sich entlang der ersten Richtung D1 erstreckt, zwischen der Isolierschicht 116 an dem unteren Ende des an dem Substrat 111 angrenzenden Isoliermaterials 112 und dem Substrat 111 vorgesehen.
-
Ein erstes leitfähiges Material, das sich entlang der ersten Richtung D1 erstreckt, ist zwischen der Isolierschicht 116 an dem oberen Ende des bestimmten Isoliermaterials von den Isoliermaterialien 112 und der Isolierschicht an dem unteren Ende des Isoliermaterials, das an dem oberen Ende des bestimmten Isoliermaterials angeordnet ist, vorgesehen. Das heißt, eine Mehrzahl von ersten leitfähigen Materialien 221 bis 281, die sich entlang der ersten Richtung D1 erstrecken, ist zwischen den Isolationsmaterialien 112 vorgesehen und es kann verstanden werden, dass die Isolierschicht 116 zwischen den Isoliermaterialien 112 und den ersten leitfähigen Materialien 221 bis 281 vorgesehen ist. Die ersten leitfähigen Materialien 211 bis 291 können ein metallisches Material enthalten. Die ersten leitfähigen Materialien 211 bis 291 können ein leitfähiges Material, zum Beispiel Polysilizium, enthalten.
-
Dieselben Strukturen wie diejenigen auf den ersten und zweiten Dotierungsbereichen 311 und 312 können in einem Bereich zwischen den zweiten und dritten Dotierungsbereichen 312 und 313 vorgesehen sein. In dem Bereich zwischen den zweiten und dritten Dotierungsbereichen 312 und 313 sind vorgesehen eine Mehrzahl von Isoliermaterialien 112, die sich entlang der ersten Richtung D1 erstrecken, eine Mehrzahl von Säulen 113, die aufeinanderfolgend entlang der ersten Richtung D1 angeordnet sind und die Mehrzahl von Isoliermaterialien 112 entlang der dritten Richtung D3 durchdringen, eine Isolierschicht 116, die auf den freigelegten Flächen der Mehrzahl von Isoliermaterialien 112 und der Mehrzahl von Säulen 113 vorgesehen ist, und eine Mehrzahl von leitfähigen Materialien 212 bis 292, die sich entlang der ersten Richtung erstrecken.
-
In einem Bereich zwischen den dritten und vierten Dotierungsbereichen 313 und 314 können die gleichen Strukturen wie diejenige auf den ersten und zweiten Dotierungsbereichen 311 und 312 vorgesehen sein. In dem Bereich zwischen den dritten und vierten Dotierungsbereichen 313 und 314 sind vorgesehen eine Mehrzahl von Isoliermaterialien 112, die sich entlang der ersten Richtung D1 erstrecken, eine Mehrzahl von Säulen 113, die aufeinanderfolgend entlang der ersten Richtung D1 angeordnet sind und die Mehrzahl von Isoliermaterialien 112 entlang der zweiten Richtung D2 durchdringen, eine Isolierschicht 116, die auf den freigelegten Flächen der Mehrzahl von Isoliermaterialien 112 und der Mehrzahl von Säulen 113 vorgesehen ist, und eine Mehrzahl von ersten leitfähigen Materialien 213 bis 293, die sich entlang der ersten Richtung D1 erstrecken
-
Auf der Mehrzahl von Säulen 113 sind jeweilige Drains 320 vorgesehen. Auf den Drains sind die zweiten leitfähigen Materialien 331 bis 333, die sich entlang der dritten Richtung D3 erstrecken, vorgesehen. Die zweiten leitfähigen Materialien 331 bis 333 sind entlang der ersten Richtung D1 angeordnet, wobei sie in einem bestimmten Abstand angeordnet sind. Die zweiten leitfähigen Materialien 331 bis 333 sind jeweilig mit den Drains 320 in einem entsprechenden Bereich verbunden. Die Drains 320 und das zweite leitfähige Material 333, das sich entlang der dritten Richtung D3 erstreckt, können durch jeden Kontaktstecker verbunden sein. Die zweiten leitfähigen Materialien 331 bis 333 können metallische Materialien enthalten. Die zweiten leitfähigen Materialien 331 bis 333 können leitfähige Materialien, zum Beispiel Polysilizium, enthalten.
-
6 ist ein Schaltbild, das ein Ersatzschaltbild des mit Bezug auf 5 beschriebenen Speicherblocks zeigt.
-
Der Speicherblock BLKi von 6 kann auf einem Substrat in einer dreidimensionalen Struktur (oder einer vertikalen Struktur) ausgebildet sein. Zum Beispiel kann eine Mehrzahl von Speicherzellenreihen, die in dem Speicherblock BLKi enthalten sind, in einer zu dem Substrat senkrechten Richtung ausgebildet sein.
-
Bezugnehmend auf 6 kann der Speicherblock BLKi Speicherzellenreihen NS11 bis NS33 enthalten, die zwischen den Bitleitungen BL1, BL2 und BL3 und einer gemeinsamen Quellenleitung CSL verbunden sind. Jede von den Speicherzellenreihen NS11 bis NS33 kann einen Reihenauswahltransistor SST, eine Mehrzahl von Speicherzellen MC1 bis MC8, und einen Masseauswahltransistor GST enthalten. In 6 ist jede der Speicherzellenreihen NS11 bis NS33 so dargestellt, dass sie 8 Speicherzellen MC1 bis MC8 enthalten. Allerdings sind zumindest einige beispielhafte Ausführungsformen der erfinderischen Konzepte nicht auf das in 6 gezeigte Beispiel beschränkt. Zum Beispiel kann gemäß zumindest einigen beispielhaften Ausführungsformen der erfinderischen Konzepte jede der Speicherzellenreihen NS11 bis NS33 eine beliebige Anzahl von Speicherzellen enthalten.
-
Der Reihenauswahltransistor SST kann mit den entsprechenden Reihenauswahlleitungen SSL1 bis SSL3 verbunden sein. Die Mehrzahl von Speicherzellen MC1 bis MC8 kann jeweils mit entsprechenden Wortleitungen WL1 bis WL8 verbunden sein. Der Masseauswahltransistor GST kann mit den entsprechenden Masseauswahlleitungen GSL1 bis GSL3 verbunden sein. Der Reihenauswahltransistor SST kann mit den entsprechenden Bitleitungen BL1, BL2 und BL3 verbunden sein, und der Masseauswahltransistor GST kann mit der gemeinsamen Quellleitung CSL verbunden sein.
-
Wortleitungen (z.B. WL1), die die gleiche Höhe aufweisen, können gewöhnlich verbunden sein, und die Masseauswahlleitungen GSL1 bis GSL3 und die Reihenauswahlleitungen SSL1 bis SSL3 können getrennt sein. In 6 ist der Speicherblock BLKb so dargestellt, dass er mit acht Wortleitungen WL1 bis WL8 und drei Bitleitungen BL1 bis BL3 verbunden ist. Allerdings sind zumindest einige beispielhafte Ausführungsformen der erfinderischen Konzepte nicht auf das in 6 gezeigte Beispiel beschränkt. Zum Beispiel kann gemäß einigen beispielhaften Ausführungsformen der erfinderischen Konzepte die Speicherzellenanordnung 100a mit einer beliebigen Anzahl von Wortleitungen und Bitleitungen verbunden sein.
-
Zurück auf 3 bezugnehmend kann die Steuerschaltung 500 einen Befehl (Signal) CMD und eine Adresse (Signal) ADDR von der Speichersteuerung 20 empfangen und eine Löschschleife, eine Programmierschleife und einen Lesevorgang der nichtflüchtigen Speichervorrichtung 30 basierend auf dem Befehlssignal CMD und dem Adressensignal ADDR steuern. Die Programmierschleife kann einen Programmiervorgang und einen Programmierprüfungsvorgang enthalten. Die Löschschleife enthält einen Löschvorgang und einen Löschprüfungsvorgang.
-
Zum Beispiel kann die Steuerschaltung 500 Steuersignale CTLs erzeugen, welche verwendet werden um die Spannungserzeugungsschaltung 600 zu steuern, basierend auf dem Befehlssignal CMD, und eine Zeilenadresse R_ADDR und eine Spaltenadresse C_ADDR basierend auf dem Adressensignal ADDR erzeugen. Die Steuerschaltung 500 kann die Zeilenadresse R_ADDR dem Adressendecoder 430 bereitstellen und die Spaltenadresse C_ADDR der Daten-Eingabe/Ausgabe-Schaltung 420 bereitstellen.
-
Der Adressendecoder 430 kann durch die Reihenauswahlleitung SSL, die Mehrzahl von Wortleitungen WLs und die Masseauswahlleitung GSL mit der Speicherzellenanordnung 100 verbunden sein. Während des Programmiervorgangs oder des Lesevorgangs kann der Adressendecoder 430 basierend auf der Zeilenadresse R_ADDR eine von der Mehrzahl von Wortleitungen WLs als die ausgewählte Wortleitung bestimmen und den Rest von der Mehrzahl von Wortleitungen WLs mit Ausnahme der ausgewählten Wortleitung als nicht ausgewählte Wortleitungen bestimmen.
-
Die Spannungserzeugungsschaltung 600 kann Wortleitungsspannungen VWLs erzeugen, welche für den Betrieb der nichtflüchtigen Speichervorrichtung 30 unter Verwendung der Leistung PWR von der Speichersteuerung 20 oder der Speicherversorgungsspannung VPP verwendet werden, basierend auf den Steuersignalen CTLs von der Steuerschaltung 500. Die Wortleitungsspannungen VWLs können durch den Adressendecoder 430 an die Mehrzahl von Wortleitungen WLs angelegt werden.
-
Zum Beispiel kann die Spannungserzeugungsschaltung 600 während des Löschvorgangs eine Löschspannung an eine Wanne des Speicherblocks anlegen und kann eine Massespannung an ganze Wortleitungen des Speicherblocks anlegen. Während des Löschprüfungsvorgangs kann die Spannungserzeugungsschaltung 600 eine Löschprüfungsspannung an die gesamten Wortleitungen des Speicherblocks anlegen oder der Reihe nach die Löschprüfungsspannung auf einer Wortleitungsbasis an die Wortleitungen anlegen.
-
Zum Beispiel kann die Spannungserzeugungsschaltung 600 während des Programmiervorgangs eine Programmierspannung an die ausgewählte Wortleitung anlegen und kann eine Programmierdurchlassspannung an die nicht ausgewählten Wortleitungen anlegen. Darüber hinaus kann die Spannungserzeugungsschaltung 600 während des Programmierprüfvorgangs eine Programmierprüfungsspannung an die ausgewählten Wortleitungen anlegen und kann eine Prüfungsdurchlassspannung an die nicht ausgewählten Wortleitungen anlegen.
-
Darüber hinaus kann die Spannungserzeugungsschaltung 600 während des Lesevorgangs eine Lesespannung an die ausgewählte Wortleitung anlegen und kann eine Lesedurchlassspannung an die nicht ausgewählten Wortleitungen anlegen.
-
Die Seitenzwischenspeicherschaltung 410 kann durch die Mehrzahl von Bitleitungen BLs mit der Speicherzellenanordnung 100 verbunden sein. Die Seitenzwischenspeicherschaltung 410 kann eine Mehrzahl von Seitenzwischenspeicher (bzw. Seitenpuffer) enthalten. Gemäß einigen beispielhaften Ausführungsformen der erfinderischen Konzepte kann ein Seitenzwischenspeicher mit einer Bitleitung verbunden sein. Gemäß zumindest einigen beispielhaften Ausführungsformen der erfinderischen Konzepte kann ein Seitenzwischenspeicher mit zwei oder mehreren Bitleitungen verbunden sein.
-
Die Seitenzwischenspeicherschaltung 410 kann während des Programvorgangs in eine ausgewählte Seite zu programmierende Daten oder während des Lesevorgangs Lesedaten von der ausgewählten Seite zwischenspeichern. Die Seitenzwischenspeicherschaltung 410 kann in Reaktion auf ein Steuersignal PCTL von der Steuerschaltung 500 arbeiten.
-
Die ECC-Funktionseinheit 440 kann mit der Seitenzwischenspeicherschaltung 410 verbunden sein, kann zumindest ein Fehlerbit in dem von der Speicherzellenanordnung 100 bereitgestellten Benutzerdatensatz korrigieren, indem Paritätsdaten, die von der Speicherzellenanordnung 100 bereitgestellt werden, verwendet werden und kann den korrigierten Benutzerdatensatz der Berechnungsschaltung 700 bereitstellen.
-
Die Berechnungsschaltung 700 kann der Reihe nach eine Berechnung an Informationsbits und Gewichtungsbits, die in dem Benutzerdatensatz enthalten sind, basierend auf einem Berechnungsfenster mit einer regulären Größe durchführen und kann den Ausgabedatensatz der Daten-Eingabe/Ausgabe-Schaltung 420 bereitstellen, wenn die Berechnung an allen Informationsbits und Gewichtungsbits abgeschlossen ist. Der Ausgabedatensatz kann einem Ergebnis der abgeschlossenen Berechnung entsprechen. Die Berechnungsschaltung 700 kann einen Leistungsverbrauch reduzieren, indem der Ausgabedatensatz der Daten-Eingabe/Ausgabe-Schaltung 420 bereitgestellt wird, wenn die Berechnung an all den Informationsbits und Gewichtungsbits abgeschlossen ist, anstatt ein Ergebnis einer fensterbasierten Berechnung, immer wenn die fensterbasierte Berechnung abgeschlossen ist, bereitzustellen.
-
Die Berechnungsschaltung 700 kann in Reaktion auf ein Berechnungssteuersignal CCTL von der Steuerschaltung 500 gesteuert werden.
-
Die Daten-Eingabe/Ausgabe-Schaltung 420 kann über die Datenleitungen DLs mit der Berechnungsschaltung 700 verbunden sein. Während des Programmiervorgangs kann die Eingabe/Ausgabe-Schaltung 420 Programmierdaten DATA von der Speichersteuerung 20 empfangen und Programmierdaten DATA durch die ECC-Funktionseinheit 440 der Seitenzwischenspeicherschaltung 410 bereitstellen, basierend auf der von der Steuerschaltung 500 empfangenen Spaltenadresse C_ADDR.
-
Während des Lesevorgangs kann die Daten-Eingabe/Ausgabe-Schaltung 420 den Ausgabedatensatz DATA, der von der Berechnungsschaltung 700 bereitgestellt wird, der Speichersteuerung 200 bereitstellen, basierend auf der von der Steuerschaltung 500 empfangenen Spaltenadresse C_ADDR.
-
Darüber hinaus lesen die Seitenzwischenspeicherschaltung 410 und die Daten-Eingabe/Ausgabe-Schaltung 420 Daten von einem ersten Bereich der Speicherzellenanordnung 100 und schreiben die Lesedaten in einen zweiten Bereich der Speicherzellenanordnung 100. Das heißt, die Seitenzwischenspeicherschaltung 410 und die Daten-Eingabe/Ausgabe-Schaltung 420 können einen Rückkopier-Vorgang durchführen.
-
7 ist ein Schaubild zum Erklären von Schwellenwertspannungsverteilungen einer Seite in der Speicherzellenanordnung von 3.
-
Es wird angenommen, dass Speicherzellen der nichtflüchtigen Speichervorrichtung 30 Drei-Niveau-Zellen (TLC) sind, in welcher jede Speicherzelle drei Bits speichert, und ein Lesespannungssatz zum Bestimmen von Programmierzuständen der Speicherzellen enthält sieben unterschiedliche Lesespannungen.
-
Bezugnehmend auf 7 weist jede Speicherzelle der nichtflüchtigen Speichervorrichtung 30 einen von einem Löschzustand E und ersten bis siebten Programmierzuständen P1 bis P7 auf. Unter einer Steuerung der Speichersteuerung 20 bestimmt die nichtflüchtige Speichervorrichtung 30 Programmierzustände der Speicherzellen, indem ein Default-Lesespannungssatz VRD1 bis VRD7 verwendet wird, und gibt die bestimmten Datenzustände als Lesedaten aus.
-
Gemäß zumindest einigen beispielhaften Ausführungsformen der erfinderischen Konzepte können die Spannungsniveaus des Default-Lesespannungssatz VRD1 bis VRD7 abhängig von Zellcharakteristiken vorbestimmt sein. So können beispielsweise die Spannungspegel des Default-Lesespannungssatz VRD1 bis VRD7 in Abhängigkeit von den Schwellenspannungsverteilungen der Speicherzellen unmittelbar nach der Programmierung der Speicherzellen bestimmt werden. Das heißt, nachdem die Speicherzellen programmiert wurden kann ein Programmierprüfvorgang durchgeführt werden und Schwellenwertspannungsverteilungen der Speicherzellen können erfasst werden. Der Default-Lesespannungssatz VRD1 bis VRD7 kann basierend auf den erfassten Schwellenwertspannungsverteilungen der Speicherzellen bestimmt werden.
-
8 ist ein Blockschaltbild, das die Steuerschaltung in der nichtflüchtigen Speichervorrichtung von 3 gemäß zumindest einigen beispielhaften Ausführungsformen der erfinderischen Konzepte zeigt.
-
Bezugnehmend auf 8 kann die Steuerschaltung 500 einen Befehlsdecoder 510, einen Adressenzwischenspeicher (bzw. Adresspuffer) 520 und einen Steuersignalerzeuger 530 enthalten.
-
Der Befehlsdecoder 510 dekodiert den Befehl CMD und stellt einen dekodierten Befehl D_CMD dem Steuersignalerzeuger 530 bereit. Der Adressenzwischenspeicher 520 empfängt das Adressensignal ADDR, stellt die Reihenadresse R_ADDR dem Adressendecoder 430 bereit und stellt die Spaltenadresse C_ADDR der Daten-Eingabe/Ausgabe-Schaltung 420 bereit.
-
Der Steuersignalerzeuger 530 empfängt den dekodierten Befehl D_CMD, erzeugt die Steuersignale CTLs, basierend auf einem Vorgang, der durch den dekodierten Befehl D_CMD gesteuert wird, und stellt die Steuersignale CCLs der Spannungserzeugungsschaltung 600 bereit. Der Steuersignalerzeuger 530 kann das Steuersignal PCTL der Seitenzwischenspeicherschaltung 410 bereitstellen. Der Steuersignalerzeuger 530 kann das Berechnungssteuersignal CCTL der Berechnungsschaltung 700 bereitstellen.
-
9 ist ein Blockschaltbild, das die Spannungserzeugungsschaltung in der nichtflüchtigen Speichervorrichtung von 3 gemäß zumindest einigen beispielhaften Ausführungsformen der erfinderischen Konzepte zeigt.
-
Bezugnehmend auf 9 enthält die Spannungserzeugungsschaltung 600 einen Programmierspannungserzeuger 610, einen Prüfe-/Lesespannungserzeuger 650 und einen Durchlassspannungserzeuger 630.
-
Der Programmierspannungserzeuger 610 kann eine Programmierspannung VPGN gemäß einem Vorgang, der durch den dekodierten Befehl D_CMD bezeichnet ist, erzeugen, als Reaktion auf ein erstes Steuersignal CTL1. Die Programmierspannung VPGM kann der ausgewählten Wortleitung bereitgestellt werden. Das erste Steuersignal CTL1 kann eine Mehrzahl von Bits enthalten, welche den Vorgang anzeigen, der durch den dekodierten Befehl D_CMD gesteuert wird.
-
Der Prüf-/Lesespannungserzeuger 650 kann eine Programmierprüfspannung VPV, eine Leseprüfspannung VRD und eine Löschprüfspannung VEV erzeugen, gemäß den Vorgängen, die durch den dekodierten Befehl D_CMD bezeichnet sind, als Reaktion auf ein zweites Steuersignal CTL2. Die Programmierprüfspannung VPV, die Leseprüfspannung VRD und die Löschprüfspannung VEV können an die ausgewählten Wortleitungen gemäß den Vorgängen angelegt werden. Das zweite Steuersignal CTL2 kann eine Mehrzahl von Bits enthalten, welche die Vorgänge anzeigen, die durch den dekodierten Befehl D_CMD gesteuert werden.
-
Der Durchlassspannungserzeuger 630 kann eine Programmierdurchlassspannung VPPASS, eine Prüfdurchlassspannung VVPASS und eine Lesedurchlassspannung VRPASS erzeugen, gemäß Vorgängen, die durch den dekodierten Befehl D_CMD bezeichnet werden, als Reaktion auf ein drittes Steuersignal CTL3. Die Programmierdurchlassspannung VPPASS, die Prüfdurchlassspannung VVPASS und die Lesedurchlassspannung VRPASS können an die nicht ausgewählten Wortleitungen gemäß den Vorgängen angelegt werden. Das dritte Steuersignal CTL3 kann eine Mehrzahl von Bits enthalten, welche die Vorgänge anzeigen, die durch den dekodierten Befehl D_CMD gesteuert werden.
-
10 ist ein Blockschaltbild, das die Berechnungsschaltung in der nichtflüchtigen Speichervorrichtung von 3 gemäß zumindest einigen beispielhaften Ausführungsformen der erfinderischen Konzepte zeigt.
-
In 10 wird zur Vereinfachung der Beschreibung die ECC-Funktionseinheit 440 mit der Berechnungsschaltung 700 gezeigt.
-
Bezugnehmend auf 10 kann die Berechnungsschaltung 700 einen Schieberegister-Block 710, eine Multiplizier-Akkumulier-Schaltung (MAC-Schaltung) 720 und einen Datenzwischenspeicher (bzw. Datenpuffer) 780 enthalten. Der Schieberegister-Block 710 kann ein erstes Schieberegister 711 und ein zweites Schieberegister 713 enthalten.
-
Die ECC-Funktionseinheit 440 kann zumindest ein Fehlerbit im Benutzerdatensatz UDT in einem Lesedatensatz RDT korrigieren, indem sie Paritätsdaten PRT in dem von der Seitenzwischenspeicherschaltung 410 bereitgestellten Lesedatensatz RDT verwendet. Die ECC-Funktionseinheit 440 kann dem Schieberegister-Block 710 Informationsbits INDT und Gewichtungsbits WDT, die in den Benutzerdatensatz UDR enthalten sind, bereitstellen. Zum Beispiel kann die ECC-Funktionseinheit 440 zumindest einen Fehler in den Informationsbits INDT und Gewichtungsbits WDT basierend auf den Paritätsdaten BRT korrigieren. Die Gewichtungsbits WDT sind den Informationsbits INDT zugehörig. Jedes von den Informationsbits INDT und den Gewichtungsbits WDT kann N Bits enthalten und N ist ein Ganzzahl größer als 1. Wenn der Benutzerdatensatz UDT Bilddaten entspricht, können die Informationsbits INDT Pixelwerte der Bilddaten enthalten und die Gewichtungsbits WDT können zu den Pixelwerten zugehörige Parameterwerte enthalten.
-
Der Schieberegister-Block 710 kann die Gewichtungsbits WDT basierend auf einem Berechnungsfenster teilen, um der Reihe nach Merkmalskarten bereitzustellen, und kann die Informationsbits INDT basierend auf einer Korrelation zwischen jeder von den Merkmalskarten und den Informationsbits INDT teilen, um der Reihe nach Aktivierungen bereitzustellen. Hier kann das Berechnungsfenster eine Größe einer Teilmenge der Gewichtungsbits WDT in einer Matrixkonfiguration definieren, und jede von den Merkmalskarten kann erhalten werden, indem der Reihe nach das Berechnungsfenster auf die Gewichtungsbits WDT angewendet wird. Die Berechnungsbits INDT können in die Aktivierungen gruppiert werden, basierend auf der Korrelation zwischen jeder von den Merkmalskarten und den Informationsbits INDT. Zum Beispiel kann jede Aktivierung Elementen in einer entsprechenden Merkmalskarte von den Merkmalskarten zugehörig sein.
-
Das erste Schieberegister 711 kann die Gewichtungsbits WDT in den Merkmalskarten anordnen, wobei jede eine P*Q Matrixkonfiguration aufweist, kann die Gewichtungsbits WDT derart verschieben, dass die Merkmalskarten basierend auf einem ersten Berechnungsfenster der Reihe nach ausgegeben werden und kann erste verschobene Bits WDTS ausgeben. Hier sind P und Q natürliche Zahlen. Das zweite Schieberegister 713 kann basierend auf der Korrelation die Informationsbits INDT in den Aktivierungen, die einer Mehrzahl von Teildatensätzen entsprechen, anordnen, wobei jede eine L*L Matrixkonfiguration aufweist, kann die Informationsbits INDT derart verschieben, dass die Aktivierungen basierend auf einem zweiten Berechnungsfenster mit einer P*Q Matrixkonfiguration der Reihe nach ausgegeben werden und kann zweite verschobene Bits INDTS ausgeben. Hier ist L eine natürliche Zahl größer als drei und größer als P und Q.
-
Die MAC-Schaltung 720 kann die ersten verschobenen Bits WDTS und die zweiten verschobenen Bits INDTS empfangen, kann eine Matrixvektormultiplikation an jeder der Merkmalskarten und den entsprechenden Aktivierungen durchführen, kann ein Ergebnis der Matrixvektormultiplikation akkumulieren und kann den Ausgabedatensatz RDTO dem Datenzwischenspeicher 780 bereitstellen, als Reaktion auf ein Ausgabefreigabesignal OEN, wenn die Matrixvektormultiplikation auf allen Merkmalskarten und den Aktivierungen abgeschlossen ist.
-
Der Datenzwischenspeicher 780 kann als Reaktion auf ein Schreibefreigabesignal WEN den Ausgabedatensatz RDTO darin speichern. Der Datenzwischenspeicher 780 kann eine statische Direktzugriffspeichervorrichtung (statischer Direktzugriffsspeicher = SRAM) enthalten. Der Datenzwischenspeicher 780 kann der Speichersteuerung 20 den gespeicherten Ausgabedatensatz RDTO als die Daten DATA bereitstellen.
-
11 ist ein Blockschaltbild, das ein Beispiel der Multiplizier-Akkumulier-Schaltung (Multiplikation und Akkumulation = MAC) in der Berechnungsschaltung von 10 gemäß zumindest einigen beispielhaften Ausführungsformen der erfinderischen Konzepte zeigt.
-
Bezugnehmend auf 11 kann die MAC-Schaltung 720 eine Multiplikationsschaltung 730 und eine Akkumulationsschaltung 760 enthalten.
-
Die Multiplikationsschaltung 730 kann die ersten verschobenen Bits WDTS und die zweiten verschobenen Bits INDTS empfangen und kann Informationsbits in einer von den Aktivierungen mit Gewichtungsbits in einer entsprechenden von den Merkmalskarten multiplizieren um ein multipliziertes Ergebnis als eine Ausgabe bereitzustellen. Die Akkumulationsschaltung 760 kann die Ausgabe der Multiplikationsschaltung 730 akkumulieren, um den Ausgabedatensatz RDTO bereitzustellen.
-
Die Multiplikationsschaltung 730 kann einen ersten Zwischenspeicher (bzw. Puffer) 731, einen zweiten Zwischenspeicher (bzw. Puffer) 733 und einen Multiplizierer 735 enthalten. Der erste Zwischenspeicher 731 kann die ersten verschobenen Bits WDTS empfangen, um die ersten verschobenen Bits WDTS als die Merkmalskarten auf einer ersten Berechnungsfensterbasis ausgeben. Der zweite Zwischenspeicher 733 kann die zweiten verschobenen Bits INDTS empfangen, um die zweiten verschobenen Bits INDTS als die Aktivierungen auf einer zweiten Berechnungsfensterbasis auszugeben. Der Multiplizierer 735 kann eine Ausgabe des ersten Zwischenspeichers 731 mit einer Ausgabe des zweiten Zwischenspeichers 733 multiplizieren, um ein multipliziertes Ergebnis als ein Zwischenberechnungsergebnis ICR auszugeben.
-
Die Akkumulationsschaltung 760 kann einen Addierer 761 und einen Zwischenspeicher (bzw. Puffer) 763 enthalten. Der Addierer 761 kann einen ersten Eingabeanschluss und einen zweiten Eingabeanschluss aufweisen und kann das Zwischenberechnungsergebnis ICR, das heißt die Ausgabe des Multiplizierers 735, empfangen. Der Addierer 761 kann das Zwischenberechnungsergebnis IDR von der Multiplikationsschaltung mit einer Ausgabe des Zwischenspeichers 763, die an dem zweiten Eingabeanschluss empfangen wird, addieren, um dem Zwischenspeicher 763 ein addiertes Ergebnis bereitzustellen. Der Zwischenspeicher 763 kann die Ausgabe des Addierers 761 zu dem zweiten Eingabeanschluss des Addierers 761 zurückführen. Der Zwischenspeicher 763 kann als Reaktion auf ein Ausgabefreigabesignal OEN die Ausgabe des Addierers 761 als den Ausgabedatensatz RDTO bereitstellen und kann als Reaktion auf ein Zurücksetzungssignal (bzw. Reset-Signal) RST zurückgesetzt werden. Das Ausgabefreigabesignal OEN und das Zurücksetzungssignal RST können in dem Berechnungssteuersignal CCTL enthalten sein.
-
Da der Zwischenspeicher 763 die Ausgabe des Addierers 761 hält bis die Multiplikationsschaltung 730 die Vektormatrixmultiplikation an allen Aktivierungen und den Merkmalskarten abgeschlossen hat, die jedem Ausgabeteildatensatz des Ausgabedatensatz RDTU zugehörig sind, kann die nichtflüchtige Speichervorrichtung 30 die von einer Eingabe/Ausgabe-Schaltung verbrauchte Leistung reduzieren.
-
12 zeigt eine von der Berechnungsschaltung in 10 durchgeführte Matrixberechnung und 13 zeigt die Matrixberechnung von 12 im Detail. Bezugnehmend auf 12 können die ersten verschobenen Bits WDTS, die den Gewichtungsbits WDT zugehörig sind, in den Merkmalskarten FM1-FMk angeordnet werden, indem ein erstes Berechnungsfenster CW1 auf die ersten verschobenen Bits WTTS angewendet wird, und jede von den Merkmalskarten FM1-FMk kann dem ersten Berechnungsfenster CW1 entsprechen. Jede der Merkmalskarten FM1-FMk kann eine P*Q Matrixkonfiguration aufweisen. In 12 wird angenommen, dass P und Q jeweils gleich 3 sind.
-
Eine erste Merkmalskarte FM1 kann Gewichtungsbits W1-W9 als ihr Element mit einer 3*3 Matrixkonfiguration aufweisen. Die zweiten verschobenen Bits INDTS, die den Informationsbits INDT zugehörig sind, können in einer Mehrzahl von Teildatensätzen SUBDT1-SUBDTk angeordnet werden, basierend auf einer Korrelation zwischen jeder von den Merkmalskarten FM1-FMk und den Informationsbits INDT. Das heißt, die zweiten verschobenen Bits INDTS können abhängig von einer Korrelation mit jeder von den Merkmalskarten FM1-FMk in die Mehrzahl von Teildatensätzen SUBDT1-SUBDTk gruppiert werden. Zum Beispiel ist der Teildatensatz SUBDT1 der zweiten verschobenen Bits INDTS zugehörig zu der Merkmalskarte FM1 und der Teildatensatz SUBDTk der zweiten verschobenen Bits INDTS ist zu der Merkmalskarte FMk zugehörig. Jeder von den Teildatensätzen SUBDT1-SUBDTk kann der Aktivierung entsprechen. Jeder von den Teildatensätzen SUBDT1-SUBDTk kann eine L*L Matrixkonfiguration aufweisen. In 12 wird angenommen das L gleich 7 ist. Ein erster Teildatensatz SUBDT1, das heißt eine erste Aktivierung, kann als sein Element Informationsbits A1-A49 mit einer 7*7 Matrixkonfiguration aufweisen. In 12 ist ein zweites Berechnungsfenster CW2, das eine gleiche Größe wie das erste Berechnungsfenster CW1 aufweist, auf dem Teildatensatz SUBDT1 gezeigt.
-
Die Berechnungsschaltung 700 kann eine Matrixvektormultiplikation an jeder der Merkmalskarten FM1-FMk und jeder der Aktivierungen, die den Teildatensätzen SUBDT1-SUBDTk entsprechen, durchführen, um Ausgabedatensätze RSUB1-RSUBk bereitzustellen.
-
Ein erster Ausgabeteildatensatz RSUB 1 kann durch eine Matrixvektormultiplikation an der ersten Merkmalskarte FM1 und der ersten Aktivierung, das heißt dem ersten Teildatensatz SUBDT1, erzeugt werden.
-
13 zeigt einen Prozess einer Matrixvektormultiplikation an der ersten Merkmalskarte und der ersten Aktivierung in 12.
-
Bezugnehmend auf
13 kann die MAC-Schaltung
720 eine Mehrzahl von Recheneinheiten
741-
74p enthalten. Die Recheneinheit
741 kann einen Multiplizierer
751, einen Addierer
752 und einen Akkumulierer
753 enthalten. Der Addierer
752 kann einen ersten Eingabeanschluss aufweisen, um eine Ausgabe des Multiplizierer
751 zu empfangen, und einen zweiten Eingabeanschluss, um eine Ausgabe des Akkumulierers
753 zu empfangen. Daher kann ein erstes Element
R1 des ersten Ausgabeteildatensatzes RSUB1 gemäß der folgenden Gleichung 1 berechnet werden.
-
In gleicher Weise kann ein Element
R25 des ersten Ausgabedatensatzes RSUB1 gemäß der folgenden Gleichung 2 berechnet werden.
-
Die Recheneinheit 741 erzeugt das Element R1 unter Verwendung von Gleichung 1, die Recheneinheit 742 erzeugt das Element R2, die Recheneinheit 743 erzeugt das Element R3, und die Recheneinheit 74p erzeugt das Element R25.
-
Wenn das zweite Schieberegister 713 das zweite Berechnungsfenster CW2 in 12 verschiebt (wenn das zweite Berechnungsfenster CW2 P*P Informationsbits in einer ersten Richtung D11 und einer zweiten Richtung D12 enthält), kann das zweite Schieberegister 713 das zweite Berechnungsfenster CW2 in der ersten Richtung D11 verschieben, sodass 2P Informationsbits in der zweiten Richtung D12 wiederholt bezogen auf zwei aufeinanderfolgende Positionen des zweiten Berechnungsfensters CW2 ausgewählt werden bis das zweite Berechnungsfenster CW2 einen Grenze der Aktivierungen erreicht und verschiebt das zweite Berechnungsfenster CW2 um L-P als Reaktion darauf, dass das zweite Berechnungsfenster CW2 die Grenze der Aktivierungen erreicht.
-
Die nichtflüchtige Speichervorrichtung 30 kann eine Mehrzahl von Berechnungsschaltungen, zum Beispiel die Berechnungsschaltung 700, enthalten, und die Mehrzahl von Berechnungsschaltung kann die Matrixvektormultiplikation an jeder der Merkmalskarten FM1-FMk und jeder von den Aktivierungen, die den Teildatensätzen SUBDT1-SUBDTk entsprechen, parallel durchführen.
-
14 ist ein Zeitdiagramm, das einen Vorgang der nichtflüchtigen Speichervorrichtung gemäß zumindest einigen beispielhaften Ausführungsformen der erfinderischen Konzepte zeigt.
-
In 14 werden hauptsächlich ein Vorgang der ECC-Funktionseinheit 440 und die Berechnungsschaltung 700 beschrieben.
-
Bezugnehmend auf 1 bis 14 wird zu einem Zeitpunkt T1 der Zwischenspeicher 763 in der Akkumulationsschaltung 760 zurückgesetzt, als Reaktion auf das Zurücksetzungssignal RST, welches einem Zurücksetzungsbefehl (ROP) entspricht. Der Zwischenspeicher 763 wird in einen Zustand versetzt, in dem Daten nicht in dem Zwischenspeicher 763 gespeichert werden. Zu einem Zeitpunkt T2 werden die Gewichtungsbits WDT durch die Seitenzwischenspeicherschaltung 410 der ECC-Funktionseinheit 440 bereitgestellt, als Reaktion auf einen ersten Lesebefehl RD1, und zu einem Zeitpunkt T3 werden die Informationsbits INDT durch die Seitenzwischenspeicherschaltung 410 der ECC-Funktionseinheit 440 bereitgestellt, als Reaktion auf einen zweiten Lesebefehl RD2. Die ECC-Funktionseinheit 440 kann eine ECC-Dekodierung auf den Gewichtungsbits WDT und den Informationsbits INDT durchführen, um zumindest ein Fehlerbit in den Gewichtungsbits WDT und den Informationsbits INDT zu korrigieren.
-
Von einem Zeitpunkt T4 an gibt das erste Schieberegister 711 der Reihe nach die Gewichtungen W1-Wr in den Gewichtungsbits WDT aus, und von einem Zeitpunkt T6 an gibt das zweite Schieberegister 713 der Reihe nach Bits A1-Ar in den Informationsbits INDT aus. Von einem Zeitpunkt T7 zu einem Zeitpunkt T8 führt die MAC-Schaltung 720 eine Matrixvektormultiplikation MOP an den Gewichtungen W1-Wr und den Bits A1-Ar durch, zu dem Zeitpunkt T8 speichert der Datenzwischenspeicher 780 als Reaktion auf einen Schreibebefehl darin ein Ergebnis der Matrixvektormultiplikation MOP an den Gewichtungen W1-Wr und den Bits A1-Ar und der Datenzwischenspeicher 780 gibt die Daten DATA aus.
-
Da der Zwischenspeicher 763 dem Datenzwischenspeicher 780 die Ausgabe des Addierers 761 nicht bereitstellt bevor die Multiplikationsschaltung 730 die Matrixvektormultiplikation an allen Informationsbits und Gewichtungsbits auf einer Berechnungsfensterbasis in der Berechnungsschaltung 700 in der nichtflüchtigen Speichervorrichtung 30 abgeschlossen ist, kann die nichtflüchtige Speichervorrichtung 30 daher Leistung, die durch eine Eingabe/Ausgabe-Schaltung verbraucht wird, reduzieren. Entsprechend kann die nichtflüchtige Speichervorrichtung 30 die Datenverarbeitungszeit und einen Leistungsverbrauch eines mehrlagigen Perzeptrons (MLP), eines rückgekoppelten neuronalen Netzes (bzw. rekurrenten neuronalen Netzes) (RNN), eines faltenden neuronalen Netz (bzw. Convolutional Neural Network) (CNN) etc. verringern.
-
15 ist ein Blockschaltbild, das eine nichtflüchtige Speichervorrichtung gemäß zumindest einigen beispielhaften Ausführungsformen der erfinderischen Konzepte zeigt.
-
Bezugnehmend auf 15 kann eine nichtflüchtige Speichervorrichtung 800 eine Speicherzellenanordnung 810, einen Reihendecoder 820, eine Seitenzwischenspeicherschaltung 830, eine Berechnungsschaltung 850 und eine Peripherieschaltung 840 enthalten.
-
Der Zeilendecoder 820 kann Antriebsspannungen VWLS und eine Zeilenadresse R_ADDR empfangen. Da der Integrationsgrad der Speicherzellenanordnung 810 und eine Vorgangsgeschwindigkeit der nichtflüchtigen Speichervorrichtung 800 zunehmen, kann wegen einer Verzögerung eines an die Wortleitung angelegten Signals der Zeilendecoder 820 nicht nur angrenzend an der Speicherzellenanordnung 810 angeordnet sein, sondern auch identische Schaltungen enthalten, die wiederholt angrenzend an die jeweiligen in der Speicherzellenanordnung 810 angeordneten Wortleitungen angeordnet sind.
-
Die Peripherieschaltung 840 kann ein Steuersignal PCTL von der Peripherieschaltung 840 empfangen und kann ein Datensignal D RW von der Peripherieschaltung 840 empfangen. Die Peripherieschaltung 840 kann als Reaktion auf das Steuersignal PCTL ein Signal an eine Bitleitung anlegen, basierend auf dem Datensignal D RW, das von der Peripherieschaltung 840 empfangen wird, und daher Daten in die Speicherzelle der Speicherzellenanordnung 810 schreiben.
-
Die Berechnungsschaltung 850 kann Berechnungen durchführen an einem Benutzerdatensatz, welcher von der Peripherieschaltung 840 bereitgestellt wird, als Reaktion auf ein Berechnungssteuersignal CCTL von der Peripherieschaltung 840 und kann einen Ausgabedatensatz DATA der Peripherieschaltung 840 bereitstellen. Die Peripherieschaltung 840 kann einen Befehl CMD, eine Adresse ADDR und ein Steuersignal CTRL von einem Äußeren der nichtflüchtigen Speichervorrichtung 800 empfangen, und kann mit dem Äußeren der nichtflüchtigen Speichervorrichtung 800 Daten DATA austauschen (das heißt empfangen und/oder senden).
-
16 zeigt schematisch eine Struktur der nichtflüchtigen Speichervorrichtung von 15 gemäß zumindest einigen beispielhaften Ausführungsformen der erfinderischen Konzepte.
-
Bezugnehmend auf 16 kann die nichtflüchtige Speichervorrichtung 800 eine erste Halbleiterschicht 40 und eine zweite Halbleiterschicht 50 enthalten, und die erste Halbleiterschicht 40 kann in einer dritten Richtung D3 auf der zweiten Halbleiterschicht 50 gestapelt sein. Die Speicherzellenanordnung 810 in 15 kann in der ersten Halbleiterschicht 40 ausgebildet sein, und der Zeilendecoder 820, die Seitenzwischenspeicherschaltung 830, die Berechnungsschaltung 850 und die Peripherieschaltung 840 können in der zweiten Halbleiterschicht 50 ausgebildet sein. Anders ausgedrückt kann die zweite Halbleiterschicht 50 ein Substrat enthalten, und Halbleitervorrichtungen sowie Transistoren und eine Struktur zum Verdrahten von Vorrichtungen sind auf dem Substrat ausgebildet. Entsprechend können Schaltungen, zum Beispiel Schaltungen, die dem Zeilendecoder 820, der Seitenzwischenspeicherschaltung 830, der Berechnungsschaltung 850 und der Peripherieschaltung 840 entsprechen, in der zweiten Halbleiterschicht 50 ausgebildet sein.
-
Nachdem die Schaltungen in der zweiten Halbleiterschicht 50 ausgebildet sind, kann die erste Halbleiterschicht 40, die die Speicherzellenanordnung 810 enthält, ausgebildet werden, und Strukturen zum elektrischen Verbinden der Speicherzellenanordnung 810 (z.B. die Wortleitungen WL und die Bitleitungen BL) und die Schaltungen (z.B. die Schaltungen, die dem Zeilendecoder 820, der Seitenzwischenspeicherschaltung 830, der Berechnungsschaltung 850 und der Peripherieschaltung 840 entsprechen), die in der zweiten Halbleiterschicht 50 ausgebildet sind, können ausgebildet werden. Entsprechend kann die nichtflüchtige Speichervorrichtung 800 eine Struktur aufweisen, das heißt eine Cell-On-Peri- oder Cell-Over-Peri-Struktur (COP-Struktur), bei welcher die Speicherzellenanordnung 810 und andere Schaltungen, das heißt die Schaltungen, die dem Zeilendecoder 820, der Seitenzwischenspeicherschaltung 830, der Berechnungsschaltung 850 und der Peripherieschaltung 840 entsprechen, in einer Stapelrichtung angeordnet sind, das heißt in der dritten Richtung D3. Da die Schaltungen, mit Ausnahme der Speicherzellenanordnung 810, unter der Speicherzellenanordnung 810 angeordnet sind, kann die COP-Struktur einen Bereich, der sich auf einer Fläche senkrecht zur Stapelschicht befindet, effektiv verringern.
-
Wie in 16 gezeigt können in der ersten Halbleiterschicht 40, wo die Speicherzellenanordnung 810 ausgebildet ist, sich die Wortleitungen WL in die erste Richtung D1 senkrecht zu der Stapelrichtung, das heißt der dritten Richtung D3, erstrecken, und die Bitleitungen BL können sich in die zweite Richtung D2 senkrecht zu der Stapelrichtung, das heißt der dritten Richtung D3, erstrecken.
-
Einige Schaltungen, die in der Peripherieschaltung 840 enthalten sind, können in der zweiten Halbleiterschicht 50 ausgebildet sein ohne die Speicherzellenanordnung 810 zu überlappen. Im Ergebnis kann ein Bereich der nichtflüchtigen Speichervorrichtung 800, das heißt ein planarer Bereich senkrecht zu der dritten Richtung D3, vergrößert sein, und ein Integrationsgrad der nichtflüchtigen Speichervorrichtung 800 kann verbessert sein.
-
17 ist eine Querschnittsansicht eines Beispiels der nichtflüchtigen Speichervorrichtung gemäß zumindest einigen beispielhaften Ausführungsformen der erfinderischen Konzepte.
-
Bezugnehmend auf 17 kann die zweite Halbleiterschicht 50 das Substrat SUB, eine zweite untere Isolierschicht IL22 und eine erste untere Isolierschicht IL21 enthalten, welche in der dritten Richtung D3 gestapelt sind.
-
Eine Mehrzahl von Halbleitervorrichtungen, zum Beispiel Transistoren TR, können auf dem Substrat SUB der zweiten Halbleiterschicht 50 ausgebildet sein. Die Halbleitervorrichtung kann mit einer leitfähigen Struktur MP21, die auf der ersten unteren Isolierschicht IL21 ausgebildet ist, über einen Kontaktstecker CP21, der die zweite untere Isolierschicht IL22 durchdringt, elektrisch verbunden sein. Die Halbleitervorrichtung, die in der zweiten Halbleiterschicht 50 ausgebildet ist, kann Schaltungen ausbilden, die dem Zeilendecoder 820, der Seitenzwischenspeicherschaltung 830, der Berechnungsschaltung 850 und der Peripherieschaltung 840 in 15 entsprechen.
-
Die erste Halbleiterschicht 40 ist in der zweiten Halbleiterschicht 50 ausgebildet und kann gestapelt sein, und kann die Basisplatte BP und eine obere Isolierschicht IL10, welche in der dritten Richtung D3 gestapelt sind, enthalten.
-
Ein leitfähiger Pfad kann zwischen der ersten Halbleiterschicht 40 und der zweiten Halbleiterschicht 50 durch einen Kontaktstecker CP12, der an einer Randseite der Speicherzellenanordnung 810 angeordnet ist, ausgebildet sein. Anders ausgedrückt können, wie in 17 gezeigt, eine Reihenauswahlleitung SSL, Wortleitungen WL1 bis WL8 und eine Masseauswahlleitung GSL, welche in der dritten Richtung D3 gestapelt sind, mit einer leitfähigen Struktur MP11 elektrisch verbunden sein, welche auf einer oberen Fläche der ersten Halbleiterschicht 40 durch einen Kontaktstecker CP11, der in der oberen Isolierschicht IL10 ausgebildet ist, ausgebildet ist. Die leitfähige Struktur MP11 kann mit der leitfähigen Struktur MP21, die in der zweiten Halbleiterschicht 50 ausgebildet ist, durch den Kontaktstecker CP12, der die erste Halbleiterschicht 10 durchdringt, das heißt die obere Isolierschicht IL10 und die Grundplatte BP, elektrisch verbunden sein. Im Ergebnis kann die leitfähige Struktur MP11 mit der Halbleitervorrichtung, zum Beispiel einem Transistor TR, die in der zweiten Halbleiterschicht 50 ausgebildet ist, elektrisch verbunden sein.
-
Zum Beispiel kann der Kontaktstecker CP12, der an einer Randseite der Speicherzellenanordnung 810 angeordnet ist und der die erste Halbleiterschicht 40 durchdringt, verwendet werden, um die Wortleitungen WL1-WL8, die in der Speicherzellenanordnung 810 angeordnet sind, mit der Schaltung, die dem Zeilendecoder 820, der in der zweiten Halbleiterschicht 50 ausgebildet ist, entspricht, elektrisch zu verbinden.
-
18 zeigt eine Struktur einer nichtflüchtigen Speichervorrichtung, die erste und zweite Halbleiterschichten enthält gemäß zumindest einigen beispielhaften Ausführungsformen der erfinderischen Konzepte und 15 ist eine Draufsicht auf eine obere Fläche der zweiten Halbleiterschicht, die die erste Halbleiterschicht in der nichtflüchtigen Speichervorrichtung von 18 kontaktiert.
-
Bezugnehmend auf 18 und 19 kann in einer nichtflüchtigen Speichervorrichtung 800', der Zeilendecoder 820 so angeordnet sein, dass er eine Form aufweist, die sich in eine Richtung senkrecht zu einer Richtung erstreckt, in welcher sich die Wortleitungen WL erstrecken, das heißt in eine Richtung, in welcher die Wortleitungen WL angeordnet sind. Die Seitenzwischenspeicherschaltung 830 kann so angeordnet sein, dass sie eine Form aufweist, die sich in eine Richtung senkrecht zu den Bitleitungen BL erstreckt, das heißt in eine Richtung, in welcher die Bitleitungen BL angeordnet sind. Entsprechend kann in der nichtflüchtigen Speichervorrichtung 800', die eine COP-Struktur aufweist, der Zeilendecoder 820, die Zeilenzwischenspeicherschaltung 830 und die Berechnungsschaltung 850 wie eine Windmühle angeordnet sein, da jede von dem Reihendecoder 820 und der Seitenzwischenspeicherschaltung 830 in zwei oder mehrere Teile unterteilt ist, wie in 18 und 19 gezeigt, um eine Fläche, die die Speicherzellenanordnung 810 der ersten Halbleiterschicht 40 in der dritten Richtung D1 überlappt, zu vergrößern.
-
Anders ausgedrückt, bezugnehmend auf 18 und 19 kann die Schaltung, die dem Zeilendecoder 820 entspricht, in erste und zweite Zeilendecoderschaltungen RD_1 und RD 2 aufgeteilt werden, die Schaltung, die der Seitenzwischenspeicherschaltung 830 entspricht, kann in erste und zweite Seitenzwischenspeicherschaltungen PB_1 und PB_2 geteilt werden, und die Schaltung, die der Berechnungsschaltung 850 entspricht, kann in erste und zweite Berechnungsschaltungen CC1 und CC2 unterteilt werden. Zum Beispiel können, wenn die Schaltung, die dem Zeilendecoder 120 entspricht, in der zweiten Richtung im Wesentlichen die gleiche Länge wie die Speicherzellenanordnung 110 aufweist und die Schaltung, die dem Seitenzwischenspeicher 130 entspricht, in der ersten Richtung im Wesentlichen die gleiche Länge wie die Speicherzellenanordnung 110 aufweist, die Schaltungen, die dem ersten Zeilendecoder 120 und dem Seitenzwischenspeicher 130 entsprechen, wie eine Windmühle angeordnet sein, um in der dritten Richtung die Speicherzellenanordnung 110 der ersten Halbleiterschicht 10 zu überlappen. Die Schaltungen, die dem Zeilendecoder 820, der Seitenzwischenspeicherschaltung 830 und der Berechnungsschaltung 850 entsprechen, 2 können wie eine Windmühle angeordnet sein, um in der dritten Richtung D3 die Speicherzellenanordnung 810 der ersten Halbleiterschicht 40 zu überlappen.
-
Bezugnehmend auf 19, wenn sich eine virtuelle Linie Y0-Y0', die in der ersten Richtung D1 parallel zu der Wortleitung WL ist, und eine virtuelle Linie X0-X0', die in der zweiten Richtung D2 parallel zu der Bitleitungen BL ist, in einem Punkt P0 in einem Bereich R0 oder R0', der die Speicherzellenanordnung 810 in der dritten Richtung D3 senkrecht zu den ersten und zweiten Richtungen D1 und D2 überlappt, schneiden, kann die zweite Halbleiterschicht 50 vier Bereiche R1 bis R4 enthalten, die durch die zwei virtuellen Linien Y0-Y0' und X0-X0' unterteilt sind. Wie in 19 gezeigt können die ersten und zweiten Zeilendecoderschaltungen RD_1 und RD_2 jeweilig in den ersten und dritten Bereichen R1 und R3 angeordnet sein, die ersten und zweiten Seitenzwischenspeicherschaltungen PB_1 und PB_2 können jeweilig in den zweiten und vierten Bereichen R2 und R4 angeordnet sein, und die erste und zweite Berechnungsschaltungen CC1 und CC2 können jeweilig in den zweiten und vierten Bereichen R2 und R4 angeordnet sein.
-
Zum Beispiel kann, wenn ein Bereich der zweiten Halbleiterschicht 50, die die Speicherzellenanordnung 810 der ersten Halbleiterschicht 40 überlappt, der Bereich R0 von 19 ist, die ersten bis vierten Bereiche R1 bis R4 die Speicherzellenanordnung 810 komplett überlappen. Entsprechend können die ersten und zweiten Zeilendecoderschaltungen RD_1 und RD_2, die ersten und zweiten Seitenzwischenspeicherschaltungen PB_1 und PB_2 und die ersten und zweiten Berechnungsschaltungen CC1 und CC2 in der dritten Richtung D3 von der Speicherzellenanordnung 810 vollständig überlappt sein. In einem anderen Beispiel, wenn ein Bereich der zweiten Halbleiterschicht 50, der die Speicherzellenanordnung 810 der ersten Halbleiterschicht 40 überlappt, der Bereich R0' von 19 ist, können die ersten bis vierten Bereiche R1 bis R4 die Speicherzellenanordnung 810 teilweise überlappen. Entsprechend können die ersten und zweiten Zeilendecoderschaltungen RD_1 und RD_2, die ersten und zweiten Seitenzwischenspeicherschaltungen PB_1 und PB_2 und die ersten und zweiten Berechnungsschaltungen CC1 und CC2 einen Abschnitt enthalten, welcher die Speicherzellenanordnung 810 in der dritten Richtung D3 nicht überlappt.
-
20 ist ein Blockschaltbild eines Beispiels einer Peripherieschaltung in der nichtflüchtigen Speichervorrichtung von 15 gemäß zumindest einigen beispielhaften Ausführungsformen der erfinderischen Konzepte.
-
Bezugnehmend auf 20 kann die Peripherieschaltung 840 eine Spannungserzeugungsschaltung 841, eine Steuerschaltung 843 und eine Daten-Eingabe/Ausgabe-Schaltung 845 enthalten. Konfigurationen und Vorgänge von jeder von der Spannungserzeugungsschaltung 841, der Steuerschaltung 843 und der Daten-Eingabe/Ausgabe-Schaltungen 845 sind im Wesentlichen dieselben wie die Konfigurationen und Vorgänge von jedem von der Spannungserzeugungsschaltung 600, der Steuerschaltung 500 und der Daten-Eingabe/Ausgabe-Schaltung 420 in der nichtflüchtigen Speichervorrichtung 30 von 3 und deshalb wird auf eine detaillierte Beschreibung davon verzichtet.
-
Die Schaltungen, die den Elementen der Peripherieschaltungen 840 von 10 entsprechen, können in der zweiten Halbleiterschicht 50 in 16 mit dem Zeilendecoder 820, der Seitenzwischenspeicherschaltung 830 und der Berechnungsschaltung 850 in 15 angeordnet sein.
-
21 ist ein Flussdiagramm, das ein Verfahren zum Betreiben einer nichtflüchtigen Speichervorrichtung gemäß zumindest einigen beispielhaften Ausführungsformen der erfinderischen Konzepte zeigt.
-
Bezugnehmend auf 1 bis 20 werden in einem Verfahren zum Betreiben einer nichtflüchtigen Speichervorrichtung 30, welche eine Speicherzellenanordnung 100 mit einer Mehrzahl von nichtflüchtigen Speicherzellen enthält, Informationsbits INDT und Gewichtungsbits WDT von der Speicherzellenanordnung 100 dem Schieberegisterblock 710 durch eine Seitenzwischenspeicherschaltung 410, die mit der Speicherzellenanordnung 100 durch eine Mehrzahl von Bitleitungen BLs (S110) verbunden sind, bereitgestellt. Die Informationsbits INDT und die Gewichtungsbits WDT sind in dem Benutzerdatensatz UDT enthalten, der durch die Seitenzwischenspeicherschaltung 410 gelesen wird. Die Informationsbits INDT und die Gewichtungsbits WDT sind in dem Schieberegisterblock 710 jeweilig in Aktivierungen und Merkmalskarten unterteilt (S120).
-
Eine MAC-Schaltung 720 führt Matrixvektormultiplikationen an den Aktivierungen und den Merkmalskarten basierend auf einem Berechnungsfenster durch (S130). Ein Datenzwischenspeicher 780 stellt einen Ausgabedatensatz RDTO bereit, wenn die Matrixvektormultiplikation an allen Informationsbits und den Gewichtungsbits abgeschlossen ist (S140). Der Ausgabedatensatz RDTO entspricht einem Ergebnis der abgeschlossenen Matrixvektormultiplikation.
-
22 ist ein Blockschaltbild, das eine Solid State Disk oder einen Solid State Drive (SSD) gemäß zumindest einigen beispielhaften Ausführungsformen der erfinderischen Konzepte zeigt.
-
Bezugnehmend auf 22 enthält eine SSD 1000 mehrere nichtflüchtige Speichervorrichtungen 1100 und eine SSD-Steuerung 1200.
-
Die nichtflüchtigen Speichervorrichtungen 1100 können optional mit einer externen Hochspannung (oder einer zweiten Leistungsversorgungsspannung) VPP versorgt werden. Jede von den nichtflüchtigen Speichervorrichtungen 1100 kann die nichtflüchtige Speichervorrichtung 30 von 3 enthalten. Deshalb kann jede von den nichtflüchtigen Speichervorrichtungen 1100 eine Berechnungsschaltung enthalten, die zwischen einer Seitenzwischenspeicherschaltung und einer Daten-Eingabe/Ausgabe-Schaltung verbunden ist. Die Berechnungsschaltung führt eine Matrixvektormultiplikation auf Informationsbits und Gewichtungsbits basierend auf einem Berechnungsfenster durch und stellt der Daten-Eingabe/Ausgabe-Schaltung kein Ergebnis der Matrixvektormultiplikation bereit bevor die Matrixvektormultiplikation auf allen Informationsbits und Gewichtungsbits abgeschlossen ist. Deshalb kann jede von den nichtflüchtigen Speichervorrichtungen 1100 eine durch den Eingabe/Ausgabepfad verbrauchte Leistung verringern. Darüber hinaus ist die Berechnungsschaltung in einer zweiten Halbleiterschicht unter einer ersten Halbleiterschicht ausgebildet, in welcher eine Speicherzellenanordnung verbessert werden kann und damit ein Integrationsgrad jeder der nichtflüchtigen Speichervorrichtungen 1100.
-
Die SSD-Steuerung 1200 ist mit den nichtflüchtigen Speichervorrichtungen 1100 durch mehrere Kanäle CH1 bis CHi verbunden. Die SSD-Steuerung 1200 enthält einen oder mehrere Prozessoren 1210, einen Zwischenspeicherspeicher (bzw. Pufferspeicher) 1220, einen ECC-Block 1230, eine Host-Schnittstelle 1250 und eine nichtflüchtige Speicherschnittstelle 1260.
-
Der Zwischenspeicherspeicher 1220 speichert Daten, die verwendet werden, um die SSD-Steuerung 1200 anzutreiben. Der Zwischenspeicherspeicher 1220 enthält mehrere Speicherleitungen, die jeweilig Daten oder einen Befehl speichern. Der ECC-Block 1230 berechnet bei einem Schreibevorgang Fehlerkorrekturcodewerte von Daten, die programmiert werden sollen, und verbessert bei einem Lesevorgang durch Verwendung eines Fehlerkorrekturcodewertes einen Fehler der Lesedaten. In einem Datenwiederherstellungsvorgang korrigiert der ECC-Block 1230 einen Fehler der Daten, die von den nichtflüchtigen Speichervorrichtungen 1100 wiederhergestellt wurden.
-
Die nichtflüchtige Speichervorrichtung oder ein Speichersystem kann in verschiedenen Formen bereitgestellt sein.
-
Eine oder mehrere beispielhafte Ausführungsformen der erfinderischen Konzepte können von verschiedenen elektronischen Vorrichtungen, welche nichtflüchtige Speichervorrichtung enthalten, verwendet werden.
-
Es ist offensichtlich, dass die beispielhaften Ausführungsformen der so beschriebenen erfinderischen Konzepte in vielerlei Hinsicht abgewandelt werden können. Solche Abwandlungen sind nicht als Abweichung von der beabsichtigten Idee und dem Umfang der beispielhaften Ausführungsformen der erfinderischen Konzepte zu verstehen, und alle Abwandlungen, die für einen Fachmann offensichtlich sind, sollen in den Anwendungsbereich der folgenden Ansprüche einbezogen werden.
-
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
-
- KR 1020170174926 [0001]
- US 7679133 [0024]
- US 8553466 [0024]
- US 8654587 [0024]
- US 8559235 [0024]