-
QUERVERWEIS AUF EINE VERWANDTE ANMELDUNG
-
Diese nicht vorläufige U. S.-Anmeldung beansprucht unter 35 USC § 119 die Priorität der
koreanischen Patentanmeldung Nummer 10-2017-0176887 , welche am 21. Dezember 2017 beim koreanischen Amt für gewerblichen Rechtsschutz (KIPO, Korean Intelectuell Property Office) eingereicht wurde, deren Offenbarung hierin durch Bezugnahme in ihrer Gesamtheit eingebunden ist.
-
HINTERGRUND
-
Technisches Gebiet
-
Beispielhafte Ausführungsformen beziehen sich allgemein auf integrierte Halbleiterschaltungen und genauer auf eine Halbleiterspeichervorrichtung, ein Speichersystem und ein Speichermodul.
-
Diskussion des Standes der Technik
-
In einem System zum Verarbeiten oder Speichern von Daten ist Informationssicherheit eine sehr wichtige Tatsache. Beispielsweise kann ein Auf-Chip-Speicher eingesetzt werden, um wichtige Information oder Daten gegen externe Attacken zu schützen. Die Wahrscheinlichkeit einer Bloßlegung der wichtigen Daten kann durch ein Speichern der Daten in dem Auf-Chip-Speicher, welcher in einem Hostprozessor gebildet ist, verringert werden. Die Größe und die Kosten jedoch können zunehmen, um einen Prozessor, welcher einen Auf-Chip-Speicher aufweist, zu implementieren. Als eine alternative Lösung können wichtige Daten verschlüsselt werden und die verschlüsselten Daten können in einem Speicher extern zu der Hostvorrichtung gespeichert werden. Der externe Speicher kann Inhalte der verschlüsselten Daten nicht ergreifen und demnach kann eine Effizienz zum Verarbeiten der verschlüsselten Daten, welche in dem externen Speicher gespeichert sind, verschlechtert werden.
-
KURZFASSUNG
-
Einige beispielhafte Ausführungsformen können eine Halbleiterspeichervorrichtung vorsehen, welche in der Lage ist, eine Datenverarbeitungseffizienz ohne eine Verschlechterung der Datensicherheit zu erhöhen.
-
Einige beispielhafte Ausführungsformen können ein Speichersystem und ein Speichermodul mit einer Halbleiterspeichervorrichtung vorsehen, welche in der Lage ist, eine Datenverarbeitungseffizienz ohne eine Verschlechterung der Datensicherheit zu erhöhen.
-
Gemäß beispielhaften Ausführungsformen weist eine Halbleiterspeichervorrichtung einen Speicherkern auf, welcher eine Mehrzahl von Speicherzellen aufweist, einen Auf-Chip-Prozessor, welcher konfiguriert ist, um eine Auf-Chip-Datenverarbeitung durchzuführen und einen Speichersicherheitscontroller, welcher konfiguriert ist, um verschlüsselte Daten, welche von dem Speicherkern oder von einem Speichercontroller vorgesehen sind, zu entschlüsseln, und um die entschlüsselten Daten für den Auf-Chip-Prozessor vorzusehen, und konfiguriert, um Ergebnisdaten von dem Auf-Chip-Prozessor zu verschlüsseln, um ergebnisverschlüsselte Daten für den Speicherkern oder den Speichercontroller vorzusehen.
-
Gemäß beispielhaften Ausführungsformen weist eine Halbleiterspeichervorrichtung ein Puffer-Halbleiter-Die, eine Mehrzahl von Halbleiterspeicher-Dies, welche mit dem Puffer-Halbleiter-Die gestapelt sind, Siliziumdurchkontaktierungen, welche elektrisch den Puffer-Halbleiter-Die und die Mehrzahl von Speicher-Halbleiter-Dies verbinden, einen Auf-Chip-Prozessor auf einem der Speicher-Halbleiter-Dies, konfiguriert, um eine Auf-Chip-Datenverarbeitung hinsichtlich Eingangsdaten durchzuführen, um Ergebnisdaten vorzusehen, und einen Sicherheitscontroller auf, welcher konfiguriert ist, um verschlüsselte Daten zu entschlüsseln, um entschlüsselte Daten als die Eingangsdaten für den Auf-Chip-Prozessor vorzusehen, und um die Ergebnisdaten von dem Auf-Chip-Prozessor zu verschlüsseln, um wiederverschlüsselte Daten vorzusehen.
-
Ein Verfahren zum Durchführen sicherer Operationen für eine Halbleiterspeichervorrichtung, welche wenigstens einen ersten Speicherchip hat, welcher einen Speicherkern hat, welcher eine Mehrzahl von Speicherzellen aufweist, wobei das Verfahren Folgendes aufweist: ein Entschlüsseln an dem ersten Speicherchip von verschlüsselten Daten, welche von dem Speicherkern oder von einem Speichercontroller vorgesehen sind; ein Durchführen einer Auf-Chip-Verarbeitungsoperation durch einen Auf-Chip-Prozessor des ersten Speicherchips durch ein Empfangen der entschlüsselten Daten, und ein Ausgeben von Ergebnisdaten; ein Verschlüsseln an dem ersten Speicherchip der Ergebnisdaten von dem Auf-Chip-Prozessor, um ergebnisverschlüsselte Daten für den Speicherkern oder den Speichercontroller vorzusehen.
-
Die Halbleiterspeichervorrichtung, das Speichersystem und das Verfahren gemäß beispielhaften Ausführungsformen kann eine Datenverarbeitungseffizienz erhöhen ohne eine Verschlechterung der Datensicherheit durch ein Entschlüsseln der verschlüsselten Daten in der Halbleiterspeichervorrichtung, um Auf-Chip-Verwaltungsoperationen durchzuführen.
-
Figurenliste
-
Beispielhafte Ausführungsformen der vorliegenden Offenbarung werden deutlicher aus der folgenden detaillierten Beschreibung zusammengenommen mit den beigefügten Zeichnungen verstanden werden.
- 1 ist ein Blockschaltbild, welches ein Speichersystem gemäß beispielhaften Ausführungsformen veranschaulicht.
- 2 ist ein Diagramm, welches einen Datenfluss in einem Speichersystem gemäß beispielhaften Ausführungsformen veranschaulicht.
- 3 ist ein Blockschaltbild, welches eine Halbleiterspeichervorrichtung gemäß beispielhaften Ausführungsformen veranschaulicht.
- 4 ist ein Diagramm, welches eine beispielhafte Konfiguration von Sicherheits-Engines, welche in den Sicherheitscontrollern der 2 enthalten sind, veranschaulicht.
- 5 bis 9 sind Flussdiagramme, welche Operationen einer Halbleiterspeichervorrichtung gemäß beispielhaften Ausführungsformen veranschaulichen.
- 10 bis 13 sind Diagramme zum Beschreiben beispielhafter Ausführungsformen zum Erzeugen eines Sicherheitsschlüssels in einem Speichersystem gemäß beispielhaften Ausführungsformen.
- 14 ist ein Diagramm, welches ein Schlüsselregister gemäß beispielhaften Ausführungsformen veranschaulicht.
- 15 ist ein Diagramm, welches eine beispielhafte Konfiguration von Sicherheits-Engines veranschaulicht, welche in den Sicherheitscontrollern der 2 enthalten sind.
- 16 ist ein Diagramm, welches eine beispielhafte Ausführungsform eines Speichersicherheitscontrollers veranschaulicht, welcher in einer Halbleiterspeichervorrichtung gemäß beispielhaften Ausführungsformen enthalten ist.
- 17 ist eine perspektivische Explosionsdarstellung eines Systems, welches eine gestapelte Speichervorrichtung gemäß beispielhaften Ausführungsformen aufweist.
- 18 ist eine perspektivische Explosionsdarstellung einer gestapelten Speichervorrichtung gemäß beispielhaften Ausführungsformen.
- 19 und 20 sind Diagramme, welche Packagingstrukturen einer gestapelten Speichervorrichtung gemäß beispielhaften Ausführungsformen veranschaulichen.
- 21 ist ein Diagramm, welches eine beispielhafte Struktur eines Hoch-Bandbreiten-Speichers (HBM) veranschaulicht.
- 22, 23 und 24 sind Diagramme, welche ein Speichersystem gemäß beispielhaften Ausführungsformen veranschaulichen.
- 25 ist ein Blockschaltbild, welches ein Berechnungssystem gemäß beispielhaften Ausführungsformen veranschaulicht.
-
DETAILLIERTE BESCHREIBUNG DER AUSFÜHRUNGSFORMEN
-
Verschiedene beispielhafte Ausführungsformen werden vollständiger hierin nachstehend unter Bezugnahme auf die beigefügten Zeichnungen beschrieben werden, in welchen einige beispielhafte Ausführungsformen gezeigt sind. In den Zeichen beziehen sich gleiche Ziffern auf gleiche Elemente durchgehend. Die wiederholten Beschreibungen können ausgelassen sein.
-
1 ist ein Blockschaltbild, welches ein Speichersystem gemäß beispielhaften Ausführungsformen veranschaulicht.
-
Bezug nehmend auf 1 weist ein Speichersystem 10 einen Speichercontroller 300 und eine Halbleiterspeichervorrichtung 400 auf.
-
Der Speichercontroller 300 kann den Gesamtbetrieb der Halbleiterspeichervorrichtung 400 über einen Kanal 20 oder eine Kopplungsvorrichtung steuern. Der Speichercontroller 300 kann einen Gesamtdatenaustausch zwischen einer externen Hostvorrichtung und der Halbleiterspeichervorrichtung 400 steuern. Beispielsweise kann der Speichercontroller 300 Daten in die Halbleiterspeichervorrichtung 400 schreiben oder Daten aus der Halbleiterspeichervorrichtung 400 in Antwort auf eine Anforderung von der Hostvorrichtung lesen. Der Speichercontroller 300 kann einen Operationsbefehl CMD und eine Adresse ADD zu der Halbleiterspeichervorrichtung 400 zum Steuern der Halbleiterspeichervorrichtung 400 ausgeben. Der Kanal 20 kann einen Datenbus zum Übertragen von Daten und einen Steuerbus zum Übertragen des Befehls CMD und der Adresse ADD aufweisen.
-
Der Speichercontroller 300 kann einen Hostsicherheitscontroller HSCON 100 aufweisen. Der Hostsicherheitscontroller 100 kann Schreibdaten, welche in der Halbleiterspeichervorrichtung 400 zu speichern sind, verschlüsseln, um verschlüsselte Daten zu erzeugen, und die verschlüsselten Daten, welche aus der Halbleiterspeichervorrichtung 400 gelesen werden, entschlüsseln.
-
Die Halbleiterspeichervorrichtung 400 kann einen Speicherkern MCR, eine Steuerschaltung CTRL, einen Auf-Chip-Prozessor OCP und einen Speichersicherheitscontroller MSCON 200 aufweisen. Wenn hierin beschrieben bezieht sich eine „Halbleiterspeichervorrichtung“ auf einen Halbleiterchip (beispielsweise integrierte Schaltung, gebildet auf einem Die) oder ein Halbleiterpackage, welches einen oder mehrere Halbleiterchips aufweist, welche auf einem Packagesubstrat gestapelt sind. Der Begriff „Auf-Chip-Prozessor“, welcher hierin beschrieben ist, bezieht sich auf einen Prozessor, welcher in einem Halbleiterchip oder einem Halbleiterpackage enthalten ist zum Durchführen von Verarbeitungsoperationen auf Daten, welche gespeichert sind in oder geschrieben sind zu dem Halbleiterchip oder Halbleiterpackage. Eine elektronische Vorrichtung, wie sie hierin beschrieben ist, kann sich auf solch eine Halbleiterspeichervorrichtung beziehen oder auf eine Vorrichtung, welche solch eine Halbleiterspeichervorrichtung aufweist wie beispielsweise ein Speichermodul oder ein Computersystem. Der Speicherkern MCR kann eine Mehrzahl von Speicherzellen zum Speichern von Daten aufweisen. Der Speichersicherheitscontroller 200 kann die verschlüsselten Daten, welche von dem Speichercontroller 300 oder dem Speicherkern MCR vorgesehen sind, entschlüsseln, um entschlüsselte Daten für den Auf-Chip-Prozessor OCP zu erzeugen und vorzusehen. Der Auf-Chip-Prozessor OCP kann eine Verarbeitung im Speicher (PIM = Processing-in-Memory = Verarbeitung im Speicher) hinsichtlich der verschlüsselten Daten durchführen, um Ergebnisdaten der PIM zu erzeugen und vorzusehen. Beispielsweise bezieht sich Verarbeiten-im-Speicher auf ein Durchführen einer oder mehrerer Operationen auf Daten eher als ein einfaches Speichern oder Puffern der Daten, und kann zu transformierten beziehungsweise umgewandelten Daten oder resultierenden Daten führen. Auf ein Verarbeiten-im-Speicher kann Bezug genommen werden als eine Auf-Chip-Daten-Verarbeitung. Der Speichersicherheitscontroller 200 kann die Ergebnisdaten von dem Auf-Chip-Prozessor OCP wiederum verschlüsseln, um wiederverschlüsselte Daten für den Speichercontroller 300 oder den Speicherkern MCR zu erzeugen und vorzusehen. Der Speichersicherheitscontroller 200 kann die Verschlüsselung und Entschlüsselung identisch zu der Verschlüsselung und Entschlüsselung, welche durch den Hostsicherheitscontroller 100 durchgeführt werden, durchführen.
-
2 ist ein Diagramm, welches einen Datenfluss in einem Speichersystem gemäß beispielhaften Ausführungsformen veranschaulicht.
-
2 veranschaulicht einen Hostsicherheitscontroller 100, welcher in dem Speichercontroller 300 enthalten ist, und einen Speichersicherheitscontroller 200, einen Auf-Chip-Prozessor OCP und einen Speicherkern MCR, welche in der Halbleiterspeichervorrichtung 400 enthalten sind.
-
Der Hostsicherheitscontroller 100 kann einen ersten Schlüssellieferanten (Keyprovider) KPRV1 und eine erste Sicherheits-Engine ENG1 aufweisen. Der erste Schlüssellieferant KPRV1 kann einen ersten Sicherheitsschlüssel KY1 vorsehen, und die erste Sicherheits-Engine ENG1 kann eine Verschlüsselung und Entschlüsselung hinsichtlich erster Daten DT1 basierend auf dem ersten Sicherheitsschlüssel KY1 durchführen, um erste verschlüsselte Daten EDT1 zu erzeugen. Die ersten verschlüsselten Daten EDT1 können zu der Halbleiterspeichervorrichtung 400 als Schreibdaten übertragen werden. Zusätzlich kann die erste Sicherheits-Engine ENG1 zweite verschlüsselte Daten EDT2 entschlüsseln, welche von der Halbleiterspeichervorrichtung 400 übertragen werden, basierend auf dem ersten Sicherheitsschlüssel KY1, um zweite Daten DT2 zu erzeugen. Die ersten Daten DT1 und die zweiten Daten DT2 sind nicht verschlüsselte Daten oder verschlüsselte Daten.
-
Der Speichersicherheitscontroller 200 kann einen zweiten Schlüssellieferanten KPRV2 und eine zweite Sicherheits-Engine ENG2 aufweisen. Der zweite Schlüssellieferant KPRV2 kann einen zweiten Sicherheitsschlüssel KY2 vorsehen, welcher identisch zu dem ersten Sicherheitsschlüssel KY1 ist, und die zweite Sicherheits-Engine ENG2 kann die ersten verschlüsselten Daten EDT1, welche von dem Hostsicherheitscontroller 100 vorgesehen sind, oder dritte verschlüsselte Daten EDT3, welche von dem Speicherkern MCR vorgesehen sind, basierend auf dem zweiten Sicherheitsschlüssel KY2 entschlüsseln, um dritte Daten DT3 zu erzeugen. Zusätzlich kann der Speichersicherheitscontroller 200 vierte Daten DT4, welche den Ergebnisdaten des Auf-Chip-Prozessors OCP entsprechen, basierend auf dem zweiten Sicherheitsschlüssel KY2 verschlüsseln, um die zweiten verschlüsselten Daten EDT2 für den Speichercontroller 300 vorzusehen oder vierte verschlüsselte Daten EDT4 für den Speicherkern MCR. Die dritten Daten DT3 und die vierten Daten DT4 sind nicht verschlüsselte Daten oder verschlüsselte Daten.
-
Die ersten verschlüsselten Daten EDT1, welche Schreibdaten entsprechen, und die zweiten verschlüsselten Daten EDT2, welche Lesedaten entsprechen, können über einen Datenbus 21 übertragen werden. Der Datenbus 21 kann in dem Kanal 20 in 1 enthalten sein.
-
Zur Identifikation des ersten Sicherheitsschlüssels KY1 und des zweiten Sicherheitsschlüssels KY2 kann eine Sicherheitsinformation SINF zwischen dem Speichercontroller 300 und der Halbleiterspeichervorrichtung 400 übertragen werden. In einigen beispielhaften Ausführungsformen kann, wie in 2 veranschaulicht ist, die Sicherheitsinformation SINF über einen Seiten-Band-Kanal 30, welcher den ersten Schlüssellieferanten KPRV1 und den zweiten Schlüssellieferanten KPRV2 direkt verbindet übertragen, übertragen werden. In anderen beispielhaften Ausführungsformen kann die Sicherheitsinformation SINF über den Kanal 20 in 1 übertragen werden. Gemäß beispielhaften Ausführungsformen kann die Sicherheitsinformation SINF von dem Speichercontroller 300 zu der Halbleiterspeichervorrichtung 400 übertragen werden oder von der Halbleiterspeichervorrichtung 400 zu dem Speichercontroller 300. Die Sicherheitsinformation SINF kann während eines Boot-Vorganges, einem Hochfahrprozess oder einem Normalbetrieb des Speichersystems 10 übertragen werden. Wie untenstehend beschrieben werden wird, kann die Sicherheitsinformation SINF einen Sicherheitsschlüssel, einen Startwert beziehungsweise Seed-Wert und andere Parameter aufweisen.
-
Die erste Sicherheits-Engine ENG1 und die zweite Sicherheits-Engine ENG2 können dieselbe Verschlüsselung und Entschlüsselung basierend auf demselben Sicherheitsschlüssel durchführen. Jede der ersten Sicherheits-Engine ENG1 und der zweiten Sicherheits-Engine ENG2 können als Hardware, Software oder eine Kombination von Hardware und Software implementiert sein beispielsweise, welche eine Verschlüsselung und Entschlüsselung basierend auf dem Advanced Encryption Standard (AES) durchführt.
-
Als solches können die Halbleiterspeichervorrichtung 400 und das Speichersystem 10 gemäß beispielhaften Ausführungsformen eine Datenverarbeitungseffizienz erhöhen, ohne eine Verschlechterung einer Datensicherheit durch ein Entschlüsseln der verschlüsselten Daten in der Halbleiterspeichervorrichtung 400, um die PIM durchzuführen.
-
3 ist ein Blockschaltbild, welches eine Halbleiterspeichervorrichtung gemäß beispielhaften Ausführungsformen veranschaulicht.
-
Obwohl ein dynamischer Direktzugriffsspeicher (DRAM) als ein Beispiel der Halbleiterspeichervorrichtung beschrieben ist, kann die Halbleiterspeichervorrichtung eine beliebige einer Vielzahl von Speicherzellarchitekturen sein, einschließlich, jedoch nicht beschränkt auf flüchtige Speicherarchitekturen wie beispielsweise einen DRAM, einen Thyristor-RAM (TRAM) und einen statischen RAM (SRAM) oder nichtflüchtige Speicherarchitekturen wie beispielsweise Nur-Lese-Speicher (ROM), Flashspeicher, ein Phasenübergangs-RAM (PRAM), ein ferroelektrischer RAM (FRAM), ein magnetischer RAM (MRAM) und dergleichen.
-
Bezug nehmend auf 3 weist eine integrierte Speicherschaltung 400 eine Steuerlogik 410, ein Adressregister 420, eine Banksteuerlogik 430, einen Zeilenadressmultiplexer 440, einen Auffrischzähler 445, ein Spaltenadresslatch 450, einen Zeilendecoder 460, einen Spaltendecoder 470, eine Speicherzellanordnung 480, eine Leseverstärkereinheit 485, eine Eingangs-/Ausgangs(I/O)-Gatingschaltung 490, einen Dateneingangs-/Ausgangs(I/O)-Puffer 495, einen Auf-Chip-Prozessor OCP und einen Speichersicherheitscontroller MSCON auf.
-
Die Speicherzellanordnung 480 kann eine Mehrzahl von Bankanordnungen 480a-480h aufweisen. Der Zeilendecoder kann eine Mehrzahl von Bankzeilendecodern 460a-460h aufweisen, welche jeweils mit den Bankanordnungen 480a-480h gekoppelt sind, der Spaltendecoder 470 kann eine Mehrzahl von Bankspaltendecodern 470a-470h aufweisen, welche jeweils mit den Bankanordnungen 480a-480h gekoppelt sind, und die Leseverstärkereinheit 485 kann eine Mehrzahl von Bankleseverstärkern 485a-485h aufweisen, welche jeweils mit den Bankanordnungen 480a-480h gekoppelt sind.
-
Das Adressregister 420 kann eine Adresse ADDR, welche eine Bankadresse BANK_ADDR auf, eine Zeilenadresse ROW_ADDR und eine Spaltenadresse COL_ADDR aufweist, von dem Speichercontroller empfangen. Das Adressregister 420 kann die empfangene Bankadresse BANK_ADDR für die Banksteuerlogik 430 vorsehen, kann die empfangene Zeilenadresse ROW_ADDR für den Zeilenadressmultiplexer 440 vorsehen und kann die empfangene Spaltenadresse COL_ADDR für das Spaltenadresslatch 450 vorsehen.
-
Die Banksteuerlogik 430 kann Banksteuersignale in Antwort auf die Bankadresse BANK_ADDR erzeugen. Einer der Bankzeilendecoder 460a-460h, welcher der Bankadresse BANK_ADDR entspricht, kann in Antwort auf die Banksteuersignale aktiviert werden, und einer der Bankspaltendecoder 470a-470h, welcher der Bankadresse BANK_ADDR entspricht, kann in Antwort auf die Banksteuersignale aktiviert werden.
-
Der Zeilenadressmultiplexer 440 kann die Zeilenadresse ROW_ADDR von dem Adressregister 420 empfangen und kann eine Auffrischzeilenadresse REF_ADDR von dem Auffrischzähler 450 empfangen. Der Zeilenadressmultiplexer 440 kann selektiv die Zeilenadresse ROW_ADDR oder die Auffrischzeilenadresse REF_ADDR als eine Zeilenadresse RA ausgeben. Die Zeilenadresse RA, welche von dem Zeilenadressmultiplexer 440 ausgegeben wird kann auf die Bankzeilendecoder 460a-460h angewandt werden.
-
Der aktivierte eine der Bankzeilendecoder 460a-460h kann die Zeilenadresse RA, welche von dem Zeilenadressmultiplexer 440 ausgegeben wird, decodieren, und kann eine Wortleitung, welche der Zeilenadresse RA entspricht, aktivieren. Beispielsweise kann der aktivierte Bankzeilendecoder eine Wortleitungstreiberspannung an die Wortleitung, welche der Zeilenadresse RA entspricht, anlegen.
-
Das Spaltenadresslatch 450 kann die Spaltenadresse COL_ADDR von dem Adressregister 420 empfangen und kann die empfangene Spaltenadresse COL_ADDR vorübergehend speichern. In einigen Ausführungsformen kann in einem Burstmodus das Spaltenadresslatch 450 Spaltenadressen erzeugen, welche von der empfangenen Spaltenadresse COL_ADDR inkrementieren. Das Spaltenadresslatch 450 kann die vorübergehend gespeicherte oder erzeugte Spaltenadresse auf die Bankspaltendecoder 470a-470h anwenden.
-
Der aktivierte eine der Bankspaltendecoder 470a-470h kann die Spaltenadresse COL_ADDR, welche von dem Spaltenadresslatch 450 ausgegeben wird, decodieren und kann die Eingangs-/Ausgangs-Gatingschaltung 490 steuern, um Daten, welche der Spaltenadresse COL_ADDR entsprechen, auszugeben.
-
Die I/O-Gatingschaltung 490 kann eine Schaltung für ein Gating von Eingangs-/Ausgangs-Daten aufweisen. Die I/O-Gatingschaltung 490 kann ferner Lesedatenlatches zum Speichern von Daten aufweisen, welche von den Bankanordnungen 480a-480h ausgegeben werden, und Schreibtreiber zum Schreiben von Daten zu den Bankanordnungen 480a-480h.
-
Daten, welche aus einer Bankanordnung der Bankanordnungen 480a-480h zu lesen sind, können durch einen Leseverstärker 485, welcher mit der einen Bankanordnung, aus welcher die Daten zu lesen sind, gekoppelt ist, abgetastet werden und können in den Lesedatenlatches gespeichert werden. Die Daten, welche in den Lesedatenlatches gespeichert sind, können für den Speichercontroller über den Daten-I/O-Puffer 495 vorgesehen werden. Daten DQ, welche in eine Bankanordnung der Bankanordnungen 480a-480h zu schreiben sind, können für den Daten-I/O-Puffer 495 von dem Speichercontroller vorgesehen sein. Der Schreibtreiber kann die Daten DQ in eine Bankanordnung der Bankanordnungen 480a-480h schreiben.
-
Die Steuerlogik 410 kann Operationen der integrierten Speicherschaltung 400 steuern. Beispielsweise kann die Steuerlogik 410 Steuersignale für die integrierte Speicherschaltung 400 erzeugen, um eine Schreiboperation oder eine Leseoperation durchzuführen. Die Steuerlogik 410 kann einen Befehlsdecoder 411 aufweisen, welcher einen Befehl CMD, welche von dem Speichercontroller empfangen wird, decodiert, und einen Modusregistersatz 412, welcher einen Betriebsmodus der Halbleiterspeichervorrichtung 400 einstellt. Beispielsweise kann der Befehlsdecoder 411 die Steuersignale, welche dem Befehl CMD entsprechen, durch ein Dekodieren eines Schreibaktiviersignals, eines Zeilenadress-Strobe-Signals, eines Spaltenadress-Strobe-Signals, eines Chipauswahlsignals etc. erzeugen.
-
Der Speichersicherheitscontroller MSCON kann verschlüsselte Daten EDT, welche von dem Speichercontroller 300 oder dem Speicherkern MCR (beispielsweise Bankanordnungen) vorgesehen sind, entschlüsseln, um entschlüsselte Daten DDT für den Auf-Chip-Prozessor OCP zu erzeugen und vorzusehen. Der Auf-Chip-Prozessor OCP kann eine Verarbeitung-im-Speicher (PIM = Processing-in-Memory = Verarbeitung-im-Speicher) hinsichtlich der verschlüsselten Daten DDT durchführen, um Ergebnisdaten RDT der PIM zu erzeugen und vorzusehen. Der Speichersicherheitscontroller MSCON kann wiederum die Ergebnisdaten RDT von dem Auf-Chip-Prozessor OCP verschlüsseln, um ergebnisverschlüsselte Daten REDT für den Speichercontroller 300 oder den Speicherkern MCR zu erzeugen und vorzusehen. In einigen Ausführungsformen können die ergebnisverschlüsselten Daten REDT unter Verwendung desselben Schlüssels verschlüsselt werden wie er verwendet wird, wenn Daten verschlüsselt werden, um die verschlüsselten Daten EDT zu bilden, und demnach kann auf die ergebnisverschlüsselten Daten REDT in diesem Fall Bezug genommen werden als wiederverschlüsselte Daten.
-
4 ist ein Diagramm, welches eine beispielhafte Konfiguration von Sicherheits-Engines veranschaulicht, welche in den Sicherheitscontrollern der 2 enthalten sind. Ebenso sind ein Auf-Chip-Prozessor OCP und ein Speicherkern MCR in 4 veranschaulicht.
-
Bezug nehmend auf 4 kann eine erste Sicherheits-Engine 101 des Hostsicherheitscontrollers 100 einen ersten Verschlüsseler ENC1 und einen ersten Entschlüsseier EDC1 aufweisen, und eine zweite Sicherheits-Engine 201 des Speichersicherheitscontrollers 200 kann einen zweiten Verschlüsseler ENC2, einen zweiten Entschlüsseler DEC2, einen ersten Selektor MX1 kann einen zweiten Selektor MX2, einen dritten Selektor MX3 und einen vierten Selektor MX4 aufweisen. Die Verschlüsseler und Entschlüsseler, welche hierin verschrieben sind, können Verschlüsselungs- oder Entschlüsselungsschaltungen sein, welche Schaltungen aufweisen, welche konfiguriert sind, um Daten zu verschlüsseln oder entschlüsseln, und die Selektoren können jeweils eine Auswahlschaltung sein, welche eine Schaltung aufweist, welche konfiguriert ist, um zwischen zwei oder mehr Eingängen oder Ausgängen beziehungsweise Eingaben oder Ausgaben auszuwählen.
-
Der erste Verschlüsselungsschlüssel ENC1 verschlüsselt erste Daten DT1 basierend auf einem ersten Sicherheitsschlüssel KY1, um erste verschlüsselte Daten EDT1 zu erzeugen und sieht die ersten verschlüsselten Daten EDT1 für eine Halbleiterspeichervorrichtung über einen ersten Datenpfad 25 vor. Der erste Selektor MX1 wählt eine der ersten verschlüsselten Daten EDT1 und der zweiten verschlüsselten Daten EDT2 in Antwort auf ein erstes Auswahlsignal SEL1 aus, um dritte verschlüsselte Daten EDT3 für den Speicherkern MCR vorzusehen. Der zweite Selektor beziehungsweise Auswähler MX2 wählt eine der ersten verschlüsselten Daten EDT1 und von siebten verschlüsselten Daten EDT7 in Antwort auf ein zweites Auswahlsignal SEL2 aus, um vierte verschlüsselte Daten EDT4 vorzusehen. Der zweite Entschlüsseler DEC2 entschlüsselt die vierten verschlüsselten Daten EDT4 basierend auf dem zweiten Sicherheitsschlüssel KY2, um zweite Daten DT2 zu erzeugen, welche entschlüsselten Daten entsprechen. Der Auf-Chip-Prozessor OCP führt eine PIM hinsichtlich der zweiten Daten DT2 durch, um dritte Daten DT3 zu erzeugen, welche Ergebnisdaten entsprechen. Der zweite Verschlüsseler ENC2 verschlüsselt die dritten Daten DT3 wiederum basierend auf dem zweiten Sicherheitsschlüssel KY2, um fünfte verschlüsselte Daten EDT5 zu erzeugen, welche ergebnisverschlüsselten Daten entsprechen. Der dritte Selektor MX3 sieht die fünften verschlüsselten Daten EDT5 in Antwort auf ein drittes Auswahlsignal SEL3 als die zweiten verschlüsselten Daten EDT2 für den ersten Selektor MX1 oder als achte Daten EDT8 für einen Speichercontroller über einen zweiten Pfad 26 vor. Der vierte Selektor MX4 sieht sechste verschlüsselte Daten EDT6 von dem Speicherkern MCR in Antwort auf ein viertes Auswahlsignal SEL4 als die siebten verschlüsselten Daten EDT7 für den zweiten Selektor MX2 oder als die achten Daten EDT8 für den Speichercontroller über den zweiten Pfad 26 vor. Der erste Entschlüsseler DEC1 entschlüsselt die achten Daten EDT8 basierend auf dem ersten Sicherheitsschlüssel KY1, um vierte Daten DT4 zu erzeugen.
-
Das erste bis vierte Auswahlsignal SEL1-SEL4 kann durch die Steuerlogik 410 in 3 beispielsweise basierend auf dem Befehl von dem Speichercontroller erzeugt werden. Wenn ein bidirektionaler Datenbus den Speichercontroller und die Halbleiterspeichervorrichtung verbindet, kann der erste Datenbus und der zweite Datenbus 26 derselbe Bus sein.
-
Wie es in dem Gebiet der offenbarten Technologie traditionell ist, werden Merkmale und Ausführungsformen beschrieben und in den Zeichnungen veranschaulicht und zwar in Einheiten von funktionalen Blöcken, Einheiten und/oder Modulen. Fachleute werden anerkennen, dass diese Blöcke, Einheiten und/oder Module physikalisch implementiert sind durch elektronische (oder optische) Schaltungen wie beispielsweise Logikschaltungen, diskrete Komponenten, Mikroprozessoren, festverdrahtete Schaltungen, Speicherelemente, Drahtverbindungen und dergleichen, welche unter Verwendung von halbleiterbasierten Herstellungstechniken oder anderen Herstellungstechnologien gebildet werden können. In dem Fall, dass die Blöcke, Einheiten und/oder Module durch Mikroprozessoren oder ähnlich implementiert sind, können sie programmiert werden unter Verwendung von Software (beispielsweise Microcode) um verschiedene Funktionen, welche hierin diskutiert sind, durchzuführen und können optional durch Firmware und/oder Software betrieben werden. Alternativ kann jeder Block, Einheit und/oder Modul durch dedizierte Hardware oder als eine Kombination von dedizierter Hardware um einige Funktionen durchzuführen und einem Prozessor (beispielsweise einem oder mehreren programmierten Mikroprozessoren und zugeordneter Schaltung) implementiert werden, um andere Funktionen durchzuführen. Ebenso kann jeder Block, Einheit und/oder Modul der Ausführungsformen physikalisch in zwei oder mehrere zusammenwirkende und diskrete Blöcke, Einheiten und/oder Module getrennt sein, ohne vom Umfang der erfinderischen Konzepte abzuweichen. Ferner können die Blöcke, Einheiten und/oder Module der Ausführungsformen physikalisch in komplexere Blöcke, Einheiten und/oder Module kombiniert werden, ohne vom Umfang der erfinderischen Konzepte abzuweichen. Auf bestimmte Blöcke wird hierin Bezug genommen als Engines.
-
Hierin nachstehend werden beispielhafte Operationen eines Speichersystems, welches die Konfiguration der 4 einsetzt, untenstehend unter Bezugnahme auf die 5 bis 9 beschrieben werden.
-
5 ist ein Flussdiagramm, welches eine normale Schreiboperation einer Halbleiterspeichervorrichtung gemäß beispielhaften Ausführungsformen veranschaulicht.
-
Bezug nehmend auf die 4 und 5 überträgt der Speichercontroller einen normalen Schreibbefehl WR mit einer Zieladresse TADD, welche einer Schreibadresse entspricht, zu der Halbleiterspeichervorrichtung (S110). Zusätzlich überträgt der Speichercontroller erste verschlüsselte Daten EDT1, welche Schreibdaten WDATA entsprechen, zu der Halbleiterspeichervorrichtung (S120). Der erste Selektor MX1 wählt die ersten verschlüsselten Daten EDT1 in Antwort auf das erste Auswahlsignal SEL1 aus und gibt die ersten verschlüsselten Daten EDT1 als die dritten verschlüsselten Daten EDT3 aus. Die Halbleiterspeichervorrichtung schreibt die dritten verschlüsselten Daten EDT3 zu der Zieladresse TADD des Speicherkerns MCR (S130).
-
6 ist ein Flussdiagramm, welches eine normale Leseoperation einer Halbleiterspeichervorrichtung gemäß beispielhaften Ausführungsformen veranschaulicht.
-
Bezug nehmend auf die 4 und 6 überträgt der Speichercontroller einen normalen Lesebefehl RD mit einer Quelladresse SADD, welche einer Leseadresse entspricht, zu der Halbleiterspeichervorrichtung (S210). Die Halbleiterspeichervorrichtung liest die sechsten verschlüsselten Daten EDT von der Quelladresse SADD des Speicherkerns MCR aus (S220). Der vierte Selektor MX4 sieht in Antwort auf das vierte Auswahlsignal SEL4 die sechsten verschlüsselten Daten EDT6 als die achten verschlüsselten Daten EDT8, welche Lesedaten RDATA entsprechen, für den Speichercontroller über den zweiten Datenpfad 26 vor (S230).
-
7 ist ein Flussdiagramm, welches eine Verarbeitung und Schreiboperation einer Halbleiterspeichervorrichtung gemäß beispielhaften Ausführungsformen veranschaulicht.
-
Bezug nehmend auf die 4 und 7 überträgt der Speichercontroller einen Verarbeitungs- und Schreibbefehl PWR mit einer Zieladresse TADD, welche einer Schreibadresse entspricht, zu der Halbleiterspeichervorrichtung (S310). Zusätzlich überträgt der Speichercontroller erste verschlüsselte Daten EDT1, welche Schreibdaten WDATA entsprechen, zu der Halbleiterspeichervorrichtung (S320). Der zweite Selektor MX2 wählt die ersten verschlüsselten Daten EDT1 aus und gibt die ersten verschlüsselten Daten EDT1 als die vierten verschlüsselten Daten EDT4 aus. Der zweite Entschlüsseler DEC2 entschlüsselt die vierten verschlüsselten Daten EDT4 basierend auf dem zweiten Sicherheitsschlüssel KY2, um die zweiten Daten DT2 zu erzeugen (S330). Der Auf-Chip-Prozessor OCP führt die PIM der zweiten Daten DT2 durch, um die dritten Daten DT3 zu erzeugen (S340). Der zweite Verschlüsseler ENC2 verschlüsselt die dritten Daten DT3 basierend auf dem zweiten Sicherheitsschlüssel KY2, um die fünften verschlüsselten Daten EDT5 zu erzeugen (350). Der dritte Selektor MX3 sieht die fünften verschlüsselten Daten EDT5 als die zweiten verschlüsselten Daten EDT2 für den ersten Selektor MX1 in Antwort auf das dritte Auswahlsignal SEL3 vor. Der erste Selektor MX1 wählt die zweiten verschlüsselten Daten EDT2 in Antwort auf das erste Auswahlsignal SEL1 aus und gibt die zweiten verschlüsselten Daten EDT2 als die dritten verschlüsselten Daten EDT3 aus. Die Halbleiterspeichervorrichtung schreibt die dritten verschlüsselten Daten EDT3 zu der Zieladresse TADD des Speicherkerns MCR (S360).
-
8 ist ein Flussdiagramm, welches eine Verarbeitungs- und Leseoperation einer Halbleiterspeichervorrichtung gemäß beispielhaften Ausführungsformen veranschaulicht.
-
Bezug nehmend auf die 4 und 8 überträgt der Speichercontroller einen Verarbeitungs- und Lesebefehl PRD mit einer Quelladresse SADD, welche einer Leseadresse entspricht, zu der Halbleiterspeichervorrichtung (S410). Die Halbleiterspeichervorrichtung liest die sechsten verschlüsselten Daten EDT6 von der Sourceadresse SADD des Speicherkerns MCR aus (S420). Der vierte Selektor MX4 sieht in Antwort auf das vierte Auswahlsignal SEL4 die sechsten verschlüsselten Daten EDT6 als die siebten verschlüsselten Daten EDT7 für den zweiten Selektor MX2 vor. Der zweite Selektor MX2 wählt aus und gibt aus die siebten verschlüsselten Daten EDT7 als die vierten verschlüsselten Daten EDT4 in Antwort auf das zweite Auswahlsignal SEL2. Der zweite Entschlüsseler DEC2 entschlüsselt die vierten verschlüsselten Daten EDT4 basierend auf dem zweiten Sicherheitsschlüssel KY2, um die zweiten Daten DT2 zu erzeugen (S430). Der Auf-Chip-Prozessor OCP führt die PIM der zweiten Daten DT2 durch, um die dritten Daten DT3 zu erzeugen (S440). Der zweite Verschlüsseler ENC2 verschlüsselt die dritten Daten DT3 basierend auf dem zweiten Schlüssel KY2, um die fünften verschlüsselten Daten EDT5 zu erzeugen (S450). Der dritte Selektor MX3 sieht in Antwort auf das dritte Auswahlsignal SEL3 die fünften verschlüsselten Daten EDT5 als die achten verschlüsselten Daten EDT8, welche Lesedaten RDATA entsprechen, für den Speichercontroller über den zweiten Datenpfad 26 vor (S460).
-
9 ist ein Flussdiagramm, welches eine interne Verarbeitungsoperation einer Halbleiterspeichervorrichtung gemäß beispielhaften Ausführungsformen veranschaulicht.
-
Bezug nehmend auf die 4 und 9 überträgt der Speichercontroller einen internen Verarbeitungsbefehl INP mit einer Quelladresse SADD, welche einer Leseadresse entspricht, und einer Zieladresse TADD, welche einer Schreibadresse entspricht, zu der Halbleiterspeichervorrichtung (S510). Die Halbleiterspeichervorrichtung liest die sechsten verschlüsselten Daten EDT6 von der Quelladresse SADD des Speicherkerns MCR aus (S520). Der vierte Selektor MX4 sieht in Antwort auf das vierte Auswahlsignal SEL4 die sechsten verschlüsselten Daten EDT6 als die siebten verschlüsseln Daten EDT7 für den zweiten Selektor MX2 vor. Der zweite Selektor MX2 wählt aus und gibt aus die siebten verschlüsselten Daten EDT7 als die vierten verschlüsselten Daten EDT4 in Antwort auf das zweite Auswahlsignal SEL2. Der zweite Entschlüsseler DEC2 entschlüsselt die vierten verschlüsselten Daten EDT4 basierend auf dem zweiten Sicherheitsschlüssel KY2, um die zweiten Daten DT2 zu erzeugen (S530). Der Auf-Chip-Prozessor OCP führt die PIM der zweiten Daten DT2 durch, um die dritten Daten DT3 zu erzeugen (S540). Der zweite Verschlüsseler ENC2 verschlüsselt die dritten Daten DT3 basierend auf dem zweiten Schlüssel KY2, um die fünften verschlüsselten Daten EDT5 zu erzeugen (S550). Der erste Selektor MX1 wählt die zweiten verschlüsselten Daten EDT2 in Antwort auf das erste Auswahlsignal SEL1 aus und gibt die zweiten verschlüsselten Daten EDT2 als die dritten verschlüsselten Daten EDT3 aus. Die Halbleiterspeichervorrichtung schreibt die dritten verschlüsselten Daten EDT3 zu der Zieladresse TADD des Speicherkerns MCR (S560).
-
Die 10 bis 13 sind Diagramme zum Beschreiben beispielhafter Ausführungsformen zum Erzeugen eines Sicherheitsschlüssels in einem Speichersystem gemäß beispielhaften Ausführungsformen.
-
Bezug nehmend auf 10 kann ein Hostsicherheitscontroller 102 des Speichercontrollers ein erstes Schlüsselregister KREG1 und eine erste Sicherheits-Engine ENG1 aufweisen, und ein Speichersicherheitscontroller 202 der Halbleiterspeichervorrichtung kann ein zweites Schlüsselregister KREG2 und eine zweite Sicherheits-Engine ENG2 aufweisen.
-
Das erste Schlüsselregister KREG1 kann einen ersten Sicherheitsschlüssel KY1 speichern und vorsehen. Die erste Sicherheits-Engine ENG1 kann eine Verschlüsselung und Entschlüsselung hinsichtlich Eingangsdaten basierend auf dem ersten Sicherheitsschlüssel KY1 durchführen. Das zweite Schlüsselregister KREG2 kann den ersten Sicherheitsschlüssel KY1 eins von dem Speichercontroller empfangen, um den ersten Sicherheitsschlüssel KY1 als einen zweiten Schlüssel KY2 zu speichern und vorzusehen. Die zweite Sicherheits-Engine ENG2 kann eine Verschlüsselung und Entschlüsselung hinsichtlich Eingangsdaten basierend auf dem zweiten Sicherheitsschlüssel KY2 durchführen.
-
Bezug nehmend auf 11 kann ein Hostsicherheitscontroller 103 des Speichercontrollers ein erstes Startwertregister (Seed-Register) SREG1, einen ersten Auf-Chip-Timer OCTMR1, einen ersten Schlüsselerzeuger KGEN1, ein erstes Schlüsselregister KREG1 und eine erste Sicherheits-Engine ENG1 aufweisen, und ein Speichersicherheitscontroller 203 der Halbleiterspeichervorrichtung kann ein zweites Startwertregister SREG2, einen zweiten On-Chip-Timer OCTMR2, einen zweiten Schlüsselerzeuger KGEN2, ein zweites Schlüsselregister KREG2 und eine zweite Sicherheits-Engine ENG2 aufweisen.
-
Das erste Startwertregister SREG1 kann einen ersten Startwert (Seed-Wert) SD1 aufweisen, und der erste Auf-Chip-Timer OCTMR1 kann eine erste Zeitinformation TM1 vorsehen. Der erste Schlüsselerzeuger KGEN1 kann einen ersten Sicherheitsschlüssel KY1 basierend auf dem ersten Startwert SD1 und der ersten Zeitinformation TM1 erzeugen. Das erste Schlüsselregister KREG1 kann den ersten Sicherheitsschlüssel KY1 speichern und vorsehen. Die erste Sicherheits-Engine ENG1 kann eine Verschlüsselung und Entschlüsselung hinsichtlich Eingangsdaten basierend auf dem ersten Sicherheitsschlüssel KY1 durchführen.
-
Das zweite Startwertregister SREG2 kann den ersten Startwert SD1 von dem ersten Startwertregister SREG1 empfangen, um den ersten Startwert SD1 als einen zweiten Startwert SD2 vorzusehen. Der zweite Auf-Chip-Timer OCTMR2 kann eine zweite Zeitinformation TM2 vorsehen und der zweite Auf-Chip-Timer OCTMR2 kann mit dem ersten Auf-Chip-Timer OCTMR1 synchronisiert sein. Der zweite Schlüsselerzeuger KGEN2 kann einen zweiten Sicherheitsschlüssel KY2 basierend auf dem zweiten Startwert SD2 und der zweiten Zeitinformation TM2 erzeugen. Das zweite Schlüsselregister KREG2 kann den zweiten Schlüssel KY2 speichern und vorsehen. Die zweite Sicherheits-Engine ENG2 kann eine Verschlüsselung und Entschlüsselung hinsichtlich Eingangsdaten basierend auf dem zweiten Sicherheitsschlüssel KY2 vorsehen.
-
In einigen beispielhaften Ausführungsformen kann jeder des ersten Schlüsselerzeugers KGEN1 und des zweiten Schlüsselerzeugers KGN2 einen Zufallszahlenerzeuger aufweisen, welcher konfiguriert ist, um eine Zufallszahl für einen Sicherheitsschlüssel basierend auf einem Startwert und einer Zeitinformation zu erzeugen.
-
Als solches kann der Speichercontroller den Sicherheitsschlüssel nicht direkt zu der Halbleiterspeichervorrichtung übertragen. Der Sicherheitsschlüssel kann in der Halbleitervorrichtung unter Verwendung des Startwerts und der Zeitinformation erzeugt werden, und demnach kann der Sicherheitsgrad erhöht werden.
-
Bezug nehmend auf 12 kann einen Hostsicherheitscontroller 104 des Speichercontrollers ein erstes Startwertregister SREG1, einen ersten Auf-Chip-Timer OCTMR1, einen ersten Schlüsselerzeuger KGEN1, ein erstes Schlüsselregister KREG1 und ein erste Sicherheits-Engine ENG1 aufweisen, und ein Speichersicherheitscontroller 203 der Halbleitervorrichtung kann ein zweites Startwertregister SREG2, einen zweiten Schlüsselerzeuger KGEN2, ein zweites Schlüsselregister KREG2 und eine zweite Sicherheits-Engine ENG2 aufweisen.
-
Das erste Startwertregister SREG1 kann einen ersten Startwert SD1 speichern und vorsehen, und der erste Auf-Chip-Timer OCTMR1 kann eine erste Zeitinformation TM1 vorsehen. Der erste Schlüsselerzeuger KGEN1 kann einen ersten Sicherheitsschlüssel KY1 basierend auf dem ersten Startwert SD1 und der ersten Zeitinformation TM1 erzeugen. Das erste Schlüsselregister KREG1 kann den ersten Sicherheitsschlüssel KY1 speichern und vorsehen. Die erste Sicherheits-Engine ENG1 kann eine Verschlüsselung und Entschlüsselung hinsichtlich Eingangsdaten basierend auf dem ersten Sicherheitsschlüssel KY1 durchführen.
-
Das zweite Startwertregister SREG2 kann den ersten Startwert SD1 von dem ersten Startwertregister SREG1 empfangen, um den ersten Startwert SD1 als einen zweiten Startwert SD2 zu speichern. Der zweite Schlüsselerzeuger KGEN2 kann einen zweiten Sicherheitsschlüssel KY2 basierend auf dem zweiten Startwert SD2 und der ersten Zeitinformation TM1, welche von dem ersten Auf-Chip-Timer OCTMR1 vorgesehen ist, erzeugen. Das zweite Schlüsselregister KREG2 kann den zweiten Schlüssel KY2 speichern und vorsehen. Die zweite Sicherheits-Engine ENG2 kann eine Verschlüsselung und Entschlüsselung hinsichtlich Eingangsdaten basierend auf dem zweiten Sicherheitsschlüssel KY2 durchführen.
-
Bezug nehmend auf 13 kann ein Hostsicherheitscontroller 105 des Speichercontrollers ein erstes Startwertregister SREG1, einen ersten Schlüsselerzeuger KGEN1, ein erstes Schlüsselregister KREG1 und eine erste Sicherheits-Engine ENG1 aufweisen, und ein Speichersicherheitscontroller 205 der Halbleiterspeichervorrichtung kann ein zweites Startwertregister SREG2, einen zweiten Schlüsselerzeuger KGEN2, ein zweites Schlüsselregister KREG2 und eine zweite Sicherheits-Engine ENG2 aufweisen.
-
Das erste Startwertregister SREG1 kann einen ersten Startwert SD1 speichern und vorsehen. Der erste Schlüsselerzeuger KGEN1 kann einen ersten Sicherheitsschlüssel KY1 basierend auf dem ersten Startwert SD1 und einer Zeitinformation TM, welche von einem Systemtimer SYSTMR vorgesehen wird, erzeugen. Das erste Schlüsselregister KREG1 kann den ersten Sicherheitsschlüssel KY1 speichern und vorsehen. Die erste Sicherheits-Engine ENG1 kann eine Verschlüsselung und Entschlüsselung hinsichtlich Eingangsdaten basierend auf dem ersten Sicherheitsschlüssel KY1 durchführen.
-
Das zweite Startwertregister SREG2 kann den ersten Startwert SD1 von dem ersten Startwertregister SREG1 empfangen, um den ersten Startwert SD1 als einen zweiten Startwert SD2 zu speichern und vorzusehen. Der zweite Schlüsselerzeuger KGEN1 kann einen zweiten Sicherheitsschlüssel KY2 basierend auf dem zweiten Startwert SD2 und der Zeitinformation TM, welche von dem Systemtimer SYSTMR vorgesehen wird, erzeugen. Das zweite Schlüsselregister KREG2 kann den zweiten Schlüssel KY2 speichern und vorsehen. Die zweite Sicherheits-Engine ENG2 kann eine Verschlüsselung und Entschlüsselung hinsichtlich Eingangsdaten basierend auf dem zweitens Sicherheitsschlüssel KY2 durchführen.
-
14 ist ein Diagramm, welches ein Schlüsselregister gemäß beispielhaften Ausführungsformen veranschaulicht.
-
Bezug nehmend auf 14 kann ein Schlüsselregister Flagwerte S und N aufweisen, welche anzeigen, ob ein Sicherheitsszenario auf jeden von Speicherbereichen REG_A, REG_B und REG_C angewandt ist oder nicht. Beispielsweise kann ein erster Flagwert S den Speicherbereichen REG_A und REG_B zugewiesen werden, in welchen verschlüsselte Daten gemäß dem Sicherheitsszenario gespeichert sind, und ein zweiter Flagwert N kann dem Speicherbereich REG_C zugewiesen werden, in welchem nicht verschlüsselte Daten gespeichert werden. Sicherheitsschlüssel KY_A und KY_B können den Speicherbereichen REG_A und REG_B zugewiesen werden, auf welche das Sicherheitsszenario angewandt wird.
-
Die Speicherbereiche REG_A, REG_B und REG_C können basierend auf den Adressen der Halbleiterspeichervorrichtung unterteilt sein. In diesem Fall kann die Steuerlogik 410 in 3 ein Steuersignal erzeugen, welches den Speicherbereich, welcher der Adresse ADD von dem Speichercontroller entspricht, anzeigt. Das Schlüsselregister, welches wie in 14 veranschaulicht in der Halbleiterspeichervorrichtung enthalten ist, kann den entsprechenden Sicherheitsschlüssel basierend auf dem Steuersignal vorsehen. Die Steuerlogik 410 kann Auswahlsignale der 15 basierend auf dem Befehl CMD und der Adresse ADD von dem Speichercontroller erzeugen.
-
15 ist ein Diagramm, welches eine beispielhafte Konfiguration von Sicherheits-Engines veranschaulicht, welche in den Sicherheitscontrollern der 2 enthalten sind. Ebenso sind ein Auf-Chip-Prozessor OCP und ein Speicherkern MCR in 15 veranschaulicht.
-
Bezug nehmend auf 15 kann eine erste Sicherheits-Engine 106 des Hostsicherheitscontrollers 100 einen ersten Verschlüsseler ENC1, einen ersten Entschlüsseler EDC1, einen Ausgangsselektor MXU und einen Eingangsselektor MXI aufweisen, und eine zweite Sicherheits-Engine 206 des Speichersicherheitscontroller 200 kann einen zweiten Verschlüsseler ENC2, einen zweiten Entschlüsseler DEC2, einen ersten Selektor MX1, einen zweiten Selektor MX2, einen dritten Selektor MX3, einen vierten Selektor MX4 und einen fünften Selektor MX5 aufweisen.
-
Der erste Verschlüsseler ENC1 verschlüsselt erste Daten DT1 basierend auf einem ersten Sicherheitsschlüssel KY1, um erste verschlüsselte Daten als zweite Daten DT2 zu erzeugen. Der Ausgangsselektor MXO wählt eine von den ersten Daten DT1 und den zweiten Daten DT2 aus und sieht die ausgewählten Daten als dritte Daten DT3 für eine Halbleiterspeichervorrichtung über einen ersten Datenpfad 25 vor. Der erste Selektor MX1 wählt eine der dritten Daten DT3 und der vierten Daten DT4 in Antwort auf ein erstes Auswahlsignal SEL1 aus, um fünfte Daten DT5 für den Speicherkern MCR vorzusehen. Der zweite Selektor MX2 wählt eine der dritten Daten DT3 und zwölf der Daten DT12 in Antwort auf ein zweites Auswahlsignal SEL2 aus, um sechste Daten DT6 vorzusehen, welche verschlüsselte Daten sein können. Der zweite Entschlüsseler DEC2 entschlüsselt die sechsten Daten DT6 basierend auf dem zweiten Sicherheitsschlüssel KY2, um siebte Daten DT7 zu erzeugen, welche entschlüsselten Daten entsprechen. Der fünfte Selektor MX5 wählt eine der sechsten Daten DT6 und der siebten Daten DT7 in Antwort auf ein fünftes Auswahlsignal SEL5 aus, um achte Daten DT8 auszugeben. Der Auf-Chip-Prozessor OCP führt eine PIM hinsichtlich der achten Daten DT8 durch, um neunte Daten DT9 zu erzeugen, welche Ergebnisdaten entsprechen. Der zweite Verschlüsseler ENC2 verschlüsselt die neunten Daten DT9 wiederum basierend auf dem zweiten Sicherheitsschlüssel KY2, um zehnte Daten DT10 zu erzeugen, welche ergebnisverschlüsselten Daten entsprechen. Der dritte Selektor MX3 wählt eine der neunten Daten DT9 und der zehnten Daten DT 10 in Antwort auf ein drittes Auswahlsignal SEL3 aus und sieht das ausgewählte Signal als die vierten Daten DT4 für den ersten Selektor MX1 oder als dreizehnte Daten DT13 für einen Speichercontroller über einen zweiten Pfad 26 vor. Der vierte Selektor MX4 sieht elfte Daten DT11 von dem Speicherkern MCR in Antwort auf ein viertes Auswahlsignal SEL4 als die zwölften Daten DT12 (welche verschlüsselte Daten sein können) für den zweiten Selektor MX2 oder als die dreizehnten Daten DT13 für den Speichercontroller über den zweiten Pfad 26 vor. Der erste Entschlüsseler DEC1 entschlüsselt die dreizehnten Daten DT13 basierend auf dem ersten Sicherheitsschlüssel KY1, um vierzehnte Daten DT14 zu erzeugen. Der Eingangsselektor MXI wählt eine der dreizehnten Daten DT13 und der vierzehnten Daten DT14 in Antwort auf ein Eingangsauswahlsignal SELI aus, um fünfzehnte Daten DT15 auszugeben.
-
Im Vergleich mit der zweiten Sicherheits-Engine 201 in 4 weist die zweite Sicherheits-Engine 206 in 15 ferner den fünften Selektor MX5 auf. Ein Selektor, welcher den zweiten Selektor MX2 und den fünften Selektor MX5 aufweist, kann empfangene Daten (das heißt die dritten Daten DT3 oder die zwölften Daten DT12) für den zweiten Entschlüsseler DEC2 vorsehen, wenn die empfangenen Daten den verschlüsselten Daten entsprechen, und die empfangenen Daten direkt für den Auf-Chip-Prozessor vorsehen, wenn die empfangenen Daten nicht-verschlüsselten Daten entsprechen.
-
Verschiedene Kombinationen einer Leseoperation, einer Schreiboperation und einer PIM können für verschlüsselte Daten oder nicht-verschlüsselte Daten unter Verwendung einer Konfiguration, wie sie in 15 veranschaulicht ist, durchgeführt werden.
-
16 ist ein Diagramm, welches eine beispielhafte Ausführungsform eines Speichersicherheitscontrollers veranschaulicht, welcher in einer Halbleiterspeichervorrichtung gemäß beispielhaften Ausführungsformen enthalten ist.
-
Bezug nehmend auf 16 kann ein Speichersicherheitscontroller 207 einen Schlüssellieferanten KPRV, eine Sicherheits-Engine ENG und einen Konfigurationscontroller CONFCTR aufweisen. Wie obenstehend beschrieben ist, kann der Schlüssellieferant KPRV basierend auf Sicherheitsinformation von einem Speichercontroller einen Sicherheitsschlüssel KY, welcher identisch zu einem Sicherheitsschlüssel des Speichercontrollers ist, speichern und vorsehen.
-
Die Sicherheits-Engine ENG kann als eine rekonfigurierbare Konfiguration implementiert sein. In einigen beispielhaften Ausführungsformen kann die Sicherheits-Engine ENG ein feldprogrammierbares Gatearray (FPGA) aufweisen. Der Konfigurationscontroller CONFCTR kann basierend auf Information von dem Speichercontroller die Sicherheits-Engine ENG programmieren, um eine Konfiguration zu haben, welche identisch zu einer Sicherheits-Engine des Speichercontrollers ist. Beispielsweise kann der Konfigurationscontroller CONFCTR die Sicherheits-Engine ENG basierend auf einem Befehl CMD von dem Speichercontroller programmieren und ein Ergebnissignal RSLT, welches einen Erfolg oder einen Misserfolg des Programmierens anzeigt, für den Speichercontroller vorsehen. Gemäß beispielhaften Ausführungsformen kann das Programmieren der Sicherheits-Engine ENG während einer Chip-Einhausungsstufe oder einer Systemzusammenbaustufe durchgeführt werden, und in diesem Fall kann der Konfigurationscontroller CONFCTR ausgelassen werden.
-
In einigen beispielhaften Ausführungsformen kann die Sicherheits-Engine ENG als eine Form von Software implementiert sein. In diesem Fall kann ein Befehlssatz für einen Verschlüsselungsalgorithmus von dem Speichercontroller für die Halbleiterspeichervorrichtung vorgesehen sein, und die Sicherheits-Engine kann unter Verwendung des Befehlssatzes implementiert sein.
-
Gemäß Entwicklungen von Hardware und Software nehmen Anforderungen an Speicherkapazität und Betriebsgeschwindigkeit einer Speichervorrichtung konstant zu. Die Speicherbandbreite und Latenz sind Leistungsfähigkeitsengstellen in vielen Verarbeitungssystemen. Die Speicherkapazität kann durch die Verwendung einer gestapelten Speichervorrichtung erhöht werden, in welcher eine Mehrzahl von Halbleitervorrichtungen in einem Package eines Speicherchip gestapelt sind. Die gestapelten Halbleiter-Dies können elektrisch durch die Verwendung von Siliziumdurchkontaktierungen oder Substratdurchkontaktierungen (TSVs) verbunden sein. Solch eine Stapeltechnologie kann die Speicherkapazität erhöhen und ebenso Bandbreiten- und Latenzeinbußen unterdrücken. Im Allgemeinen sind eine Systemspeichervorrichtung und anderer großer Speicher typischerweise als separat von den anderen Komponenten des Systems implementiert. Jeder Zugriff einer externen Vorrichtung auf die gestapelte Speichervorrichtung benötigt eine Datenkommunikation zwischen den gestapelten Halbleiter-Dies und demnach können Einbußen der Inter-Vorrichtungs-Bandbreite und der Inter-Vorrichtungs-Latenz zwei Mal für jeden Zugriff verursacht werden. Demzufolge haben die Inter-Vorrichtungs-Bandbreite und die Inter-Vorrichtungs-Latenz einen signifikanten Einfluss auf die Verarbeitungseffizienz und den Leistungsverbrauch des Systems, wenn ein Task beziehungsweise eine Aufgabe der externen Vorrichtung mehrfache Zugriffe auf die gestapelte Speichervorrichtung benötigt.
-
Hierin nachstehend werden, beispielhafte Ausführungsformen einer gestapelten Halbleitervorrichtung und ein System, welches die gestapelte Halbleitervorrichtung aufweist, beschrieben.
-
17 ist eine perspektivische Explosionsdarstellung eines Systems, welches eine gestapelte Speichervorrichtung gemäß beispielhaften Ausführungsformen aufweist.
-
Bezug nehmend auf 17 weist ein System 50 eine gestapelte Speicherrichtung 1000 und eine Hostvorrichtung 2000 auf.
-
Die gestapelte Speichervorrichtung 1000 kann ein Puffer-Halbleiter-Die oder ein Logik-Halbleiter-Die 1010, eine Mehrzahl von Speicher-Halbleiter-Dies 1070 und 1080, welche mit dem Puffer-Halbleiter-Die 1100 gestapelt sind, und Siliziumdurchkontaktierungen TSV, welche das Halbleiter-Die 1010, 1070 und 1080 verbinden, aufweisen. Die Speicher-Halbleiter-Dies 1070 und 1080 können integrierte Speicherschaltungen MEM 1071 und 1081 jeweils aufweisen. 17 veranschaulicht ein nicht beschränkendes Beispiel eines Puffer-Halbleiter-Die und von zwei Speicher-Halbleiter-Dies. Beispielsweise können zwei oder mehr Logik-Halbleiter-Dies und ein, drei oder mehr Speicher-Halbleiter-Dies in der Stapelstruktur der 17 enthalten sein. Zusätzlich veranschaulicht 17 ein nicht beschränkendes Beispiel, in welchem die Speicher-Halbleiter-Dies 1070 und 1080 vertikal mit dem Puffer-Halbleiter-Die 1010 gestapelt sind. Wie untenstehend unter Bezugnahme auf 19 beschrieben werden wird, können die Speicher-Halbleiter-Dies 1070 und 1080 vertikal gestapelt sein, und das Puffer-Halbleiter-Die 1010 kann nicht mit den Speicher-Halbleiter-Dies 1070 und 1080 gestapelt sein, sondern kann elektrisch mit den Speicher-Halbleiter-Dies 1070 und 1080 über einen Interposer und/oder ein Basissubstrat verbunden sein.
-
Das Puffer-Halbleiter-Die 1010 kann eine Speicherschnittstelle MIF 1020, eine Steuerschaltung CTRL 1030, einen Auf-Chip-Prozessor OCP 1040 und einen Speichersicherheitscontroller MSCON 1050 aufweisen.
-
Die Speicherschnittstelle 1020 kann eine Kommunikation mit einer externen Vorrichtung wie beispielsweise der Hostvorrichtung 2000 über eine Kopplungsvorrichtung beziehungsweise Verbindungsvorrichtung 20 durchführen. Die Steuerschaltung 1030 kann Gesamtoperationen der gestapelten Speichervorrichtung 1000 steuern. Der Auf-Chip-Prozessor 1040 führt eine Verarbeitung im Speicher (PIM) durch. Wie obenstehend beschrieben ist kann der Speichersicherheitscontroller 1050 verwendet werden, um die Entschlüsselung von Daten, welche zu der PIM zugeführt werden, und die Datenverschlüsselung der Ergebnisdaten des Auf-Chip-Prozessors 1040 zu implementieren.
-
Die Hostvorrichtung 2000 kann eine Hostschnittstelle HIF 2110 und Prozessorkerne CR1 2120 und CR2 2130 aufweisen. Die Hostschnittstelle 2110 kann eine Kommunikation mit einer externen Vorrichtung wie beispielsweise der gestapelten Speichervorrichtung 1000 über die Verbindungsvorrichtung zwölf durchführen. Die Hostvorrichtung 2000 kann einen Hostsicherheitscontroller HSCON wie obenstehend beschrieben aufweisen.
-
18 ist eine perspektivische Explosionsdarstellung einer gestapelten Speichervorrichtung gemäß beispielhaften Ausführungsformen. Die Beschreibungen, welche mit 17 wiederholt werden, können ausgelassen werden.
-
Bezug nehmend auf 18 weist eine gestapelte Speichervorrichtung 1000a ein Puffer-Halbleiter-Die 1010, eine Mehrzahl von Speicher-Halbleiter-Dies 1070 und 1080 und Siliziumdurchkontaktierungen TSV auf, welche die Halbleiter-Dies 1010, 1070 und 1080 elektrisch verbinden.
-
Wie in 18 veranschaulicht ist, kann ein globaler Prozessor GP 1041 in dem Puffer-Halbleiter-Die 1010 gebildet sein. Der globale Prozessor 1041 kann einen globalen Unterprozess, welcher einem Abschnitt einer Verarbeitung im Speicher (PIM) entspricht, durchführen. Zusätzlich kann ein globaler Sicherheitscontroller GSC 1051 in dem Puffer-Halbleiter-Die 1010 gebildet sein. Der globale Sicherheitscontroller 1051 kann eine Verschlüsselung und Entschlüsselung hinsichtlich Eingangs- und Ausgangsdaten des globalen Prozessors 1041 durchführen.
-
Einer oder mehrere lokale Prozessoren LP1 1072 und LP2 1082 können jeweils in den Speicher-Halbleiter-Dies 1070 und 1080 gebildet sein. Die lokalen Prozessoren 1072 und 1080 können lokale Unterprozesse durchführen, welche anderen Abschnitten der PIM entsprechen. Zusätzlich können ein oder mehrere lokale Sicherheitscontroller LSC1 1073 und LSC2 1083 jeweils in den Speicher-Halbleiter-Dies 1070 und 1080 gebildet sein. Die lokalen Sicherheitscontroller 1073 und 1083 können eine Verschlüsselung und Entschlüsselung hinsichtlich Eingangs- und Ausgangsdaten der lokalen Prozessoren 1073 und 1083 durchführen.
-
Als solches kann die PIM verteilt unter Verwendung des globalen Prozessors und des globalen Sicherheitscontrollers in dem Puffer-Halbleiter-Die und den lokalen Sicherheitscontrollern in den Speicher-Halbleiter-Dies durchgeführt werden. Durch die effiziente Kombination der PIM und der Datensicherheit kann die Betriebszeit beziehungsweise Operationszeit und der Leistungsverbrauch verringert werden.
-
Die 19 und 20 sind Diagramme, welche Packagingstrukturen einer gestapelten Speichervorrichtung gemäß beispielhaften Ausführungsformen veranschaulichen.
-
Bezug nehmend auf 19 kann eine Speichervorrichtung 1000b ein Speicherpackage sein und kann ein Basissubstrat oder einen Interposer ITP und eine gestapelte Speicherrichtung, welche auf dem Interposer ITP gestapelt ist, aufweisen. Die gestapelte Speichervorrichtung kann ein Logik-Halbleiter-Die LSD (oder ein Puffer-Halbleiter-Die) und eine Mehrzahl von Speicher-Halbleiter-Dies MSD1-MSD4 aufweisen.
-
Bezug nehmend auf 20 kann eine Speicherrichtung 1000c ein Speicherpackage sein und kann ein Basissubstrat BSUB und eine gestapelte Speichervorrichtung, welche auf dem Basissubstrat BSUB gestapelt ist, aufweisen. Die gestapelte Speichervorrichtung kann ein Logik-Halbleiter-Die LST und eine Mehrzahl von Speicher-Halbleiter-Dies MSD1-MSD4 aufweisen.
-
19 veranschaulicht eine Struktur, in welcher die Speicher-Halbleiter-Dies MSD1-MSD4 mit Ausnahme des Logik-Halbleiter-Die LSD vertikal gestapelt sind und das Logik-Halbleiter-Die LSD elektrisch mit den Speicher-Halbleiter-Dies MSD1-MSD4 über den Interposer ITP oder das Basissubstrat verbunden ist. Im Gegensatz dazu veranschaulicht 20 eine Struktur, in welcher das Logik-Halbleiter-Die LSD vertikal mit den Speicher-Halbleiter-Dies MSD1-MSD4 gestapelt ist.
-
Ein globaler Prozessor GP und ein globaler Sicherheitscontroller GSC können in dem Logik-Halbleiter-Die LSD gebildet sein, und lokale Prozessoren LP1-LP4 und die lokalen Sicherheitscontroller LSC1-LSC4 können in den Speicher-Halbleiter-Dies MSD1-MSD4 gebildet sein. Durch solch eine Konfiguration kann die distributive PIM der verschlüsselten Daten gemäß beispielhaften Ausführungsformen durchgeführt werden.
-
Das Basissubstrat BSUB kann dasselbe sein wie der Interposer ITP oder den Interposer ITP aufweisen. Das Basissubstrat BSUB kann eine gedruckte Beziehung beziehungsweise bedruckte Leiterplatte (PCB) sein. Externe Verbindungselemente wie beispielsweise leitfähige Erhebungen (Bumps) BMP können auf einer unteren Oberfläche des Basissubstrats BSUB gebildet sein und interne Verbindungselemente wie beispielsweise leitfähige Erhebungen können auf einer Oberfläche des Basissubstrats BSUB gebildet sein. In einigen beispielhaften Ausführungsformen können die Halbleiter-Die LSD und MSD1-MSD4 elektrisch durch Siliziumdurchkontaktierungen verbunden sein. In anderen beispielhaften Ausführungsformen können die Halbleiter-Dies LSD und MSD1-MSD4 elektrisch über die Bondingdrähte verbunden sein. In noch anderen beispielhaften Ausführungsformen können die Halbleiter-Dies LSD und MSD1-MSD4 elektrisch durch eine Kombination der Siliziumdurchkontaktierungen und der Bondingdrähte verbunden sein. In der beispielhaften Ausführungsform der 19 kann das Logik-Halbleiter-Die LSD elektrisch mit den Speicher-Halbleiter-Dies MSD1-MSD4 über leitfähige Leitungsstrukturen, welche in dem Interposer ITP gebildet sind, verbunden sein. Die gestapelten Halbleiter-Dies LSD und MSD1-MSD4 können unter Verwendung eines Verkapselungsstoffes wie beispielsweise Harz RNS eingehaust sein.
-
21 ist ein Diagramm, welches eine beispielhafte Struktur eines Hoch-Bandbreiten-Speichers (HPM) veranschaulicht.
-
Bezug nehmend auf 21 kann ein HBM 1100 konfiguriert sein, um einen Stapel von mehreren DRAM-Halbleiter-Dies 1120, 1130, 1140 und 1150 zu haben. Der HBM der Stapelstruktur kann durch eine Mehrzahl von unabhängigen Schnittstellen, genannt Kanäle, optimiert sein. Jeder DRAM-Stapel kann bis zu acht Kanäle in Übereinstimmung mit den HBM-Standards unterstützen. 21 zeigt einen beispielhaften Stapel, welcher vier DRAM-Halbleiter-Dies 1120, 1130, 1140 und 1150 aufweist, und jeder DRAM-Halbleiter-Die unterstützt zwei Kanäle CHANNEL0 und CHANNEL1.
-
Jeder Kanal sieht Zugriff auf einen unabhängigen Satz von DRAM-Bänken vor. Anforderungen von einem Kanal können nicht auf Daten zugreifen, welche an einem anderen Kanal angelegt sind. Kanäle werden unabhängig getaktet und müssen nicht synchron sein. Die HBM 1100 kann ferner ein Schnittstellen-Die 1110 oder ein Logik-Die aufweisen, angeordnet an einem Boden der Stapelstruktur, um ein Signalrouting und andere Funktionen vorzusehen. Einige Funktionen für die DRAM-Halbleiter-Dies 1120, 1130, 1140 und 1150 können in dem Schnittstellen-Die 1110 implementiert sein.
-
Wenigstens eines der DRAM-Halbleiter-Dies 1120, 1130, 1140 und 1150 kann einen Auf-Chip-Prozessor und einen Speichersicherheitscontroller gemäß beispielhaften Ausführungsformen aufweisen, um die PIM der verschlüsselten Daten wie obenstehend beschrieben durchzuführen.
-
Die 22, 23 und 24 sind Diagramme, welche ein Speichersystem gemäß beispielhaften Ausführungsformen veranschaulichen.
-
Wie in den 22, 23 und 24 veranschaulicht ist, kann jedes von Speichersystemen 70a, 70b und 70c jeweils jedes von Speichermodulen 1200a, 1200b und 1200c und jeden von Speichercontrollern 200a, 200b und 200c aufweisen. Jedes der Speichermodule 1200a, 1200b und 1200c kann ein Modulsubstrat und eine Mehrzahl von Speicherchips 401a-401h aufweisen, welche auf dem Modulsubstrat angebracht sind. Die 22, 23 und 24 veranschaulichen ein nicht beschränkendes Beispiel von acht Speicherchips 401a-401h, die Anzahl von Speicherchips, welche in jedem Speichermodul enthalten ist, kann jedoch unterschiedlich bestimmt werden.
-
Bezug nehmend auf 22 kann das Speichermodul 1200a mit dem Speichercontroller 200a über den Datenbus 1210 und einen Steuerbus 1220 verbunden sein. Das Speichermodul 1200a kann in einen Sockelverbinder eines größeren Speichersystems oder Berechnungssystems eingeführt sein. Elektrische Verbinder (oder Stecker beziehungsweise Pins) des Speichermoduls 1200a können mit elektrischen Kontakten des Sockelverbinders verbunden sein. Die elektrischen Verbinder und die Busse 1210 und 1220, welche mit den elektrischen Kontakten verbunden sind, erlauben einen direkten Zugriff auf einen Speicherpuffer oder einen Pufferchip 1270a und einen indirekten Zugriff auf die Speicherchips 401a-401h des Speichermoduls 1200a. Der Datenbus 1210 kann Signalleitungen (leitfähige Verdrahtung) aufweisen, um Datensignale DQ und Daten-Strobe-Signale DQS zu übertragen, und der Steuerbus 1220 weist wenigstens eine einer Befehls (CMD)-Leitung und/oder einer Adress (ADD)-Leitung auf.
-
Der Datenbus 1210 und der Steuerbus 1220 sind direkt mit dem Pufferchip 1270a über den jeweiligen Sockel/Pin und Bussignalleitungsanordnungen verbunden. Der Pufferchip 1270a wiederum ist mit den jeweiligen Speicherchips 401a-401h über wenigstens einen gemeinsam verbundenen ersten Bus 1230 und getrennt verbundene zweite Busse 1240a-1240h von spezifizierten Ports des Pufferchip 1270a mit entsprechenden Ports der Speicherchips 401a-401h verbunden. Der Pufferchip 1270a kann verwendet werden, um einen empfangenen Befehl und/oder Adresse, welche von dem Speichercontroller 200a über den Steuerbus 1220 empfangen werden, zu den entsprechenden Speicherchips 401a-401h über den ersten Bus 1230 zu übertragen.
-
Der Pufferchip 1270a kann Schreibdaten DQ (das heißt Daten, welche zu einem oder mehreren der Speicherchips 400a-400h zu schreiben sind) und das Daten-Strobe-Signal DQS, welches von dem Speichercontroller 200a über den Datenbus 1210 empfangen wird, zu den Speicherchips 401a-401h über die jeweiligen zweiten Busse 1240a-1240h übertragen. Alternativ kann der Pufferchip 1270a Lesedaten DQ (Daten, welche von einem oder mehreren der Speicherchips 401a-401h abgerufen werden), welche von einem oder mehreren der Speicherchips 401a-401h über die zweiten Busse 1240a-1240h erhalten werden zu dem Speichercontroller 200a über den Datenbus 1210 übertragen.
-
Der Pufferchip 1270a kann zusätzlich einen globalen Prozessor GP und einen globalen Sicherheitscontroller GSC wie obenstehend beschrieben aufweisen, und die Speicherchips 400a-400h können lokale Prozessoren LP und lokale Sicherheitscontroller LSC wie obenstehend beschrieben aufweisen.
-
Bezug nehmend auf 23 weist ein Speichermodul 1200b eine Mehrzahl von Speicherchips 402a-402h, einen Befehls (CMD)-/Adress (ADD)-Registerchip 1270b und Datenpufferchips 250a-250h auf, welche jeweils mit den Speicherchips 402a-402h verbunden sind. Der CMD/ADD-Registerchip 1270b empfängt Befehls- und Adressinformation von dem Speichercontroller 200b über den Steuerbus 1220, puffert/treibt dann erneut den Befehl und die Adressinformation. Die Befehls- und Adressinformation, welche von dem CMD/ADD-Registerchip 1270b ausgegeben wird, ist für die Speicherchips 402a-402h über den gemeinsamen verbundenen ersten Bus 1230 vorgesehen.
-
Die Datenpufferchips 250a-250h sind jeweils zwischen den Speicherchips 402a-402h verbunden. Jeder der Datenpufferchips 250a-250h ist konfiguriert, um die Schreibdatensignale DQ und die Daten-Strobe-Signale DQS zu empfangen und diese für einen entsprechenden einen der Speicherchips402a-402h vorzusehen, wie durch den Speichercontroller 200b über den Datenbus 1210 kommuniziert. In einer analogen Art und Weise kann jeder der Datenpufferchips 250a-250h verwendet werden, um das Lesedatensignal DQ und das Daten-Strobe-Signal DQS, welches von seinem entsprechenden einen der Speicherchips 402a-402h abgerufen wird, zu puffern und zu dem Speichercontroller 200b über den Datenbus 1210 zu übertragen.
-
Jeder der Datenpufferchips 250a-250h kann einen Auf-Chip-Prozessor OCP und einen Speichersicherheitscontroller MSCON wie obenstehend beschrieben aufweisen.
-
Bezug nehmend auf 24 weist ein Speichermodul 1200c eine Mehrzahl von Speicherchips 403a-403h und den CMD/ADD-Registerchip 1270c auf. Wie obenstehend beschrieben ist, empfängt der CMD/ADD-Registerchip 1270c Befehls- und Adressinformation von dem Speichercontroller 200c über den Steuerbus 1220, puffert und treibt erneut die Befehls- und Adressinformation. Die Befehls- und Adressinformation, welche durch den CMD/ADD-Registerchip 1270c vorgesehen wird, kann zu den jeweiligen Speicherchips 403a-403h über den ersten Bus 230 kommuniziert werden.
-
Jeder der Speicherchips 403a-403h ist mit dem Speichercontroller 200c über einen entsprechenden einen einer Mehrzahl von Datenbussen 1210a-1210h verbunden, wodurch jeder Speicherchip direkt mit dem Speichercontroller 200c für einen Empfang und eine Übertragung von Datensignalen DQ Daten-Strobe-Signalen DQS direkt verdrahtet ist. Jeder der Speicherchips 403a-403h kann das Schreibdatensignal DQ und das Daten-Strobe-Signal DQS von dem Speichercontroller 200c über einen entsprechenden einen der Datenbusse 1210a-1210h empfangen, welche jeweils mit den Speicherchips 403a-403h verbunden sind, und das Lesedatensignal DQ und das Daten-Strobe-Signal DQS, welches von jedem der Speicherchips 403a-403h abgerufen wird, kann ebenso zu dem Speichercontroller 200c über einen der Datenbusse 1210a-1210h übertragen werden.
-
Jeder der Speicherchips 403a-403h kann einen Auf-Chip-Prozessor OCP und einen Speichersicherheitscontroller MSCON wie obenstehend beschrieben aufweisen.
-
25 ist ein Blockschaltbild, welches ein Berechnungssystem gemäß beispielhaften Ausführungsformen veranschaulicht.
-
Bezug nehmend auf 25 weist ein Berechnungssystem 1300 einen Prozessor 1310, einen Eingangs-/Ausgangs-Hub (IOH) 1320, einen Eingangs/Ausgangs-Controller-Hub (ICH) 1330, wenigstens ein Speichermodul 1340 und eine Grafikkarte 1350 auf.
-
Der Prozessor 1310 kann verschiedene Berechnungsfunktionen wie beispielsweise ein Ausführen spezifischer Software zum Durchführen spezifischer Berechnungen oder Aufgaben durchführen. Der Prozessor 1310 kann einen Speichercontroller MC 1311 zum Steuern von Operationen des Speichermoduls 1340 aufweisen. Der Speichercontroller 1311 kann einen Hostsicherheitscontroller HSCON 1312 wie obenstehend beschrieben aufweisen. Das Speichermodul 1340 kann wenigstens einen Speicherchip, einen Auf-Chip-Prozessor OCP 1341 und einen Speichersicherheitscontroller MSCON 1342 wie obenstehend beschrieben aufweisen. Gemäß beispielhaften Ausführungsformen kann der Speichersicherheitscontroller MSCON 1342 dieselbe Verschlüsselung und Entschlüsselung wie der Hostsicherheitscontroller 1312 durchführen, um die PIM des Auf-Chip-Prozessors 1341 zu unterstützen.
-
Der Eingangs-/Ausgangs-Hub 1320 kann eine Datenübertragung zwischen Prozessor 1310 und Vorrichtungen wie beispielsweise der Grafikkarte 1350 verwalten. Der Eingangs-/Ausgangs-Hub 1320 kann mit dem Prozessor 1310 über verschiedene Schnittstellen gekoppelt sein. Beispielsweise kann die Schnittstelle zwischen den Komponenten und dem Eingangs-/Ausgangs-Hub 1320 eine Accelerated Graphics Port (AGP)-Schnittstelle, eine Peripheral Component Interface-Express (PCIe) eine Communications Streaming Architecture (CSA)-Interface, etc. sein. Die Grafikkarte 1350 kann mit dem Eingangs-/Ausgangs-Hub 1320 über AGP oder PCIe gekoppelt sein. Die Grafikkarte 1350 kann eine Anzeigevorrichtung (nicht gezeigt) zum Anzeigen eines Bildes steuern.
-
Der Eingangs-/Ausgangscontroller-Hub 1330 kann eine Datenpufferung und eine Schnittstellenentscheidungsinstanz durchführen, um verschiedene Systemschnittstellen effizient zu betreiben. Der Eingangs-/Ausgangscontroller-Hub 1330 kann mit dem Eingangs-/Ausgangs-Hub 1320 über einen internen Bus gekoppelt sein wie beispielsweise eine Direktmedienschnittstelle (DMI), eine Hub-Schnittstelle, eine Enterprise Southbridge Schnittstelle (ESI =), PCIe etc. Der Eingangs-/Ausgangscontroller-Hub 1330 kann verschiedene Schnittstellen mit Peripherievorrichtungen vorsehen. Beispielsweise kann der Eingangs-/Ausgangscontroller-Hub 1330 einen Universal Serial Bus (USB)-Port, einen Serial Advanced Technology Attachment (SATA)-Port, einen General Purpose Eingang/Ausgang (GPIO), einen Low Pin Count (LCP)-Bus, eine Serial Peripheral Interfae (SPI), PCI, PCIe etc. vorsehen.
-
Wie obenstehend beschrieben ist, können die Halbleiterspeichervorrichtung, das Speichersystem und das Speichermodul gemäß beispielhaften Ausführungsformen eine Datenverarbeitungseffizienz ohne eine Verschlechterung der Datensicherheit durch ein Entschlüsseln der verschlüsselten Daten in der Halbleiterspeichervorrichtung erhöhen, um eine Verarbeitung-im-Speicher (PIM) durchzuführen.
-
Das vorliegende erfinderische Konzept kann auf beliebige elektronische Vorrichtungen und Systeme, welche die PIM der verschlüsselten Daten benötigen, angewandt werden. Beispielsweise kann das vorliegende erfinderische Konzept auf Systeme wie beispielsweise eine Speicherkarte, ein Festkörperlaufwerk (SSD), eine eingebettete Multimediakarte (eMMC), ein Mobiltelefon, ein Smartphone, einen persönlichen digitalen Assistenten (PDA), einen tragbaren Multimediaabspieler (PMP), eine Digitalkamera, einen Camcorder, einen Personalcomputer (PC), einen Servercomputer, eine Workstation, einen Laptopcomputer, einen digitalen TV, eine Set-Top-Box, eine tragbare Spielekonsole, ein Navigationssystem, eine tragbare Vorrichtung, eine Internet-of-Things (IoT)-Vorrichtung, eine Internet-of-Everything (IoE)-Vorrichtung, ein E-Buch, eine Virtual-Realitäts (VR)-Vorrichtung, eine Augmented Reality (AR)-Vorrichtung etc. angewandt werden.
-
Das Voranstehende ist für beispielhafte Ausführungsformen veranschaulichend und darf nicht als darauf beschränkend betrachtet werden. Obwohl einige beispielhafte Ausführungsformen beschrieben wurden, werden Fachleute bereitwillig anerkennen, dass viele Modifikationen in den beispielhaften Ausführungsformen möglich sind, ohne materiell von dem vorliegenden erfinderischen Konzept abzuweichen.
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Patentliteratur
-