-
HINTERGRUND
-
1. Gebiet
-
Zumindest einige beispielhafte Ausführungsformen der erfinderischen Konzepte beziehen sich auf eine Kommunikation zwischen elektronischen Schaltungen oder Vorrichtungen, und beziehen sich insbesondere auf Konfigurationen und Verfahren des Übertragens von Paketen und von Informationen für eine Schnittstelle zwischen den elektronischen Schaltungen oder Vorrichtungen.
-
2. Verwandte Technik
-
Heutzutage werden verschieden Arten von elektronischen Vorrichtungen verwendet. Eine elektronische Vorrichtung führt Funktionen aus auf dem Betrieb von verschiedenen darin enthaltenen elektronischen Schaltungen. Die elektronische Vorrichtung führt Funktionen durch zum Bereitstellen von Dienstleistungen an einen Benutzer. Die elektronische Vorrichtung kann alleine arbeiten zum Bereitstellen der Dienstleistungen. Einige elektronische Vorrichtungen können mit anderen elektronischen Vorrichtungen oder externen elektronischen Vorrichtungen kommunizieren zum Bereitstellen der Dienstleistungen.
-
Ein Betriebsprozessor und eine Speichervorrichtung sind Beispiele von elektronischen Vorrichtungen. Zum Beispiel kann der Betriebsprozessor mit der Speichervorrich tung kommunizieren (z. B. sich verbinden) zum Bereitstellen einer Datenspeicher-Dienstleistung. Der Betriebsprozessor kann Daten/Informationen/Signale/Pakete mit der Speichervorrichtung austauschen, während er mit der Speichervorrichtung verbunden ist. Der Betriebsprozessor und die Speichervorrichtung können zum Kommunizieren miteinander ein Schnittstellenprotokoll verwenden.
-
Da eine Nachfrage nach einer elektronischen Vorrichtung mit höherer Leistungsfähigkeit und Effizienz zunimmt, haben sich eine Konfiguration und eine Schnittstellenart der elektronischen Vorrichtung verschiedenartig entwickelt. Zum Beispiel wurden verschiedene Schaltungskonfigurationen und Betriebsverfahren entwickelt zum Realisieren einer Speichervorrichtung mit einer größeren Kapazität. In einigen Fällen kann jedoch die Änderung einer Schaltungskonfiguration und eines Betriebsverfahrens zum Erfüllen einer Forderung von Nutzern eine Zunahme von Kosten, Konfigurationskomplexität und einer Schaltungsfläche bewirken.
-
KURZFASSUNG
-
Gemäß zumindest einigen beispielhaften Ausführungsformen der erfinderischen Konzepte enthält eine elektronische Vorrichtung eine eingebettete Speichervorrichtung, die dazu konfiguriert ist, sich mit einer Wechselspeicher-Vorrichtung zu verbinden, und dazu konfiguriert ist, direkt mit der Wechselspeicher-Vorrichtung zu kommunizieren, wenn sie mit der Wechselspeicher-Vorrichtung verbunden ist; und einen Anwendungsprozessor, der derart verbunden ist, dass er direkt mit der eingebetteten Speichervorrichtung kommuniziert, und nicht direkt mit der Wechselspeicher-Vorrichtung verbunden ist, wobei die eingebettete Speichervorrichtung dazu konfiguriert ist, als Antwort auf einen von dem Anwendungsprozessor empfangenen Deaktivierungsbefehl eine an alle oder einige der in der eingebetteten Speichervorrichtung enthaltenen Schaltungen gelieferte Leistungsmenge zu verringern, und einen Bypass-Pfad bereitzustellen, der dazu konfiguriert ist, einen normalen Befehl und Daten von dem Anwendungsprozessor an die Wechselspeicher-Vorrichtung zu übertragen, wenn die Wechselspeicher-Vorrichtung mit dem Bypass-Pfad verbunden ist.
-
Gemäß zumindest einigen beispielhaften Ausführungsformen der erfinderischen Konzepte enthält eine Speichervorrichtung einen Controller, der konfiguriert ist zum direkten Kommunizieren mit sowohl einer Host-Vorrichtung als auch einer externen Speichervorrichtung, wobei die Host-Vorrichtung und die externe Speichervorrichtung nicht direkt miteinander verbunden sind; einen nicht-flüchtigen Speicher, der konfiguriert ist zum Speichern von Schreibdaten oder zum Ausgeben von Lesedaten unter Steuerung des Controllers; und eine Schaltlogik, die derart konfiguriert ist, dass die Schaltlogik als Antwort auf einen Aktivierungsbefehl von der Host-Vorrichtung selektiv umschaltet zwischen einem Bereitstellen eines normalen Befehls und von der Host-Vorrichtung empfangenen Daten an den Controller durch einen ersten Pfad und einem Bereitstellen eines normalen Befehls und der von der Host-Vorrichtung empfangenen Daten an die externe Speichervorrichtung durch einen zweiten Pfad, wobei die Schaltlogik weiter derart konfiguriert ist, dass die Schaltlogik als Antwort auf einen von der Host-Vorrichtung empfangenen Deaktivierungsbefehl zumindest einen von dem Controller und der Speichervorrichtung deaktiviert, und den normalen Befehl und die Daten an die externe Speichervorrichtung bereitstellt durch deinen dritten Pfad, der verschieden von dem ersten und dem zweiten Pfad ist.
-
Gemäß zumindest einigen beispielhaften Ausführungsformen der erfinderischen Konzepte enthält ein Rechensystem eine Mehrzahl von elektronischen Vorrichtungen, die in Serie miteinander verbunden sind durch jeweilige Eingangs/Ausgangs-Ports davon, wobei die Mehrzahl von elektronischen Vorrichtungen zumindest eine erste und eine zweite elektronische Vorrichtung aufweist, wobei die erste elektronische Vorrichtung an einem Ende einer Reihenschaltung ist, wobei die zweite elektronische Vorrichtung derart verbunden ist, dass sie direkt mit der ersten elektronischen Vorrichtung kommuniziert; und eine Betriebsprozessor-Vorrichtung, die derart verbunden ist, dass sie direkt mit der ersten Speichervorrichtung kommuniziert und nicht direkt mit der zweiten Speichervorrichtung verbunden ist, wobei die erste Speichervorrichtung konfiguriert ist zum Empfangen eines ersten normalen Befehls, der eine an einer anderen elektronischen Vorrichtung als die erste elektronische Vorrichtung durchzuführende Operation anzeigt, von der Betriebsprozessor-Vorrichtung; zum Verringern als Antwort auf ein in Verbindung mit dem ersten normalen Befehl empfangenen Deaktivierungsbefehl, einer von der ersten elektronischen Vorrichtung aufgenommenen Leistungsmenge; und zum Umleiten des ersten normalen Befehls an die zweite elektronische Vorrichtung als Antwort auf den Deaktivierungsbefehl, und wobei, wenn der erste normale Befehl eine an der zweiten elektronischen Vorrichtung durchzuführende Operation anzeigt, die zweite elektronische Vorrichtung dazu konfiguriert ist, eine Operation durchzuführen, die von dem ersten normalen Befehl angezeigt wird, der die erste elektronische Vorrichtung umgeht.
-
Gemäß zumindest einigen beispielhaften Ausführungsformen der erfinderischen Konzepte enthält ein Verfahren zum Kommunizieren zwischen einer Betriebsprozessor-Vorrichtung und einer Speichervorrichtung, die zum direkten Kommunizieren miteinander verbunden sind, ein Erzeugen, durch die Betriebsprozessor-Vorrichtung, eines ersten Befehls, der für eine externe Speichervorrichtung konfiguriert ist, wobei die externe Speichervorrichtung mit der Speichervorrichtung verbunden ist zum direkten Kommunizieren mit der Speichervorrichtung und nicht direkt verbunden ist mit der Betriebsprozessor-Vorrichtung; ein Erzeugen, durch die Betriebsprozessor-Vorrichtung, eines zweiten Befehls in Verbindung mit dem ersten Befehl; ein Empfangen durch die Speichervorrichtung, des ersten Befehls und des zweiten Befehls von der Betriebsprozessor-Vorrichtung; ein Verringern, durch die Speichervorrichtung, einer von der Speichervorrichtung aufgenommenen Leistungsmenge als Antwort auf den zweiten Befehl; und ein Umleiten, durch die Speichervorrichtung, des ersten Befehls an die externe Speichervorrichtung, ohne zu bestimmen, ob der erste Befehl konfiguriert ist für die Speichervorrichtung oder für die externe Speichervorrichtung, als Antwort auf den zweiten Befehl.
-
Gemäß zumindest einigen bespielhaften Ausführungsformen der erfinderischen Konzepte enthält eine elektronische Vorrichtung einen Prozessor; eine oder mehrere erste Signalleitungen; eine erste Speichervorrichtung, die kleinere Schaltungen enthält und die mit dem Prozessor durch die eine oder die mehreren ersten Signalleitungen verbunden ist; und eine oder mehrere zweite Signalleitungen, die verbunden sind mit der ersten Speichervorrichtung und die verbindbar sind mit einer zweiten Speichervorrichtung, wobei die erste Speichervorrichtung eine Schaltlogik enthält, die konfiguriert ist zum selektiven Übertragen von von dem Prozessor empfangenen Signalen an einen ersten Pfad oder an einen zweiten Pfad, wobei der erste Pfad mit der einen oder den mehreren Schaltungen verbindbar ist, wobei der zweite Pfad mit der einen oder den mehreren zweiten Signalleitungen verbunden ist, wobei die erste Speichervorrichtung so konfiguriert ist, dass, basierend auf einem Empfangen eines Deaktivierungsbefehls von dem Prozessor, die erste Speichervorrichtung eine von zumindest einer der einen oder mehreren Schaltungen empfangene Leistungsmenge verringert, die Schaltlogik den zweiten Pfad auswählt und die Schaltlogik zumindest eines von Befehlen und Daten, die von dem Prozessor empfangen wurden, an die zweite Speichervorrichtung durch den zweiten Pfad überträgt, wenn die zweite Speichervorrichtung mit der einen oder den mehreren zweiten Signalleitungen verbunden ist.
-
KURZE BESCHREIBUNG DER ZEICHNUNGEN
-
Die obigen und weitere Merkmale und Vorteile der beispielhaften Ausführungsformen des erfinderischen Konzepts werden anschaulicher durch Beschreiben im Detail von beispielhaften Ausführungsformen der erfinderischen Konzepte mit Bezug auf die begleitenden Zeichnungen. Die begleitenden Zeichnungen sind dazu gedacht, beispielhafte Ausführungsformen der erfinderischen Konzepte zu zeigen und sollten nicht so interpretiert werden, dass sie den beabsichtigten Umfang der Ansprüche beschränken. Die begleitenden Zeichnungen sind nicht maßstabsgetreu gedacht außer es ist explizit angemerkt.
-
1 ist ein Blockdiagramm, das ein Speichersystem darstellt, das in Reihe geschaltete Speichervorrichtungen enthält, gemäß zumindest einigen beispielhaften Ausführungsformen der erfinderischen Konzepte;
-
2A bis 2D sind konzeptionelle Diagramme, die beispielhafte Implementierungen eines Speichersystems aus 1 darstellen;
-
3 ist ein Blockdiagramm zum Beschreiben von beispielhaften Konfigurationen von Speichervorrichtungen aus 1 und von beispielhafter Kommunikation in einem Speichersystem aus 1;
-
4 ist ein Blockdiagramm zum Beschreiben einer beispielhaften Konfiguration und eines Betriebs der Schaltlogik, die in einer ersten Speichervorrichtung aus 3 enthalten ist;
-
5 ist ein konzeptionelles Diagramm zum Beschreiben eines beispielhaften Betriebs, der in einem Speichersystem aus 3 als Antwort auf einen Deaktivierungsbefehl durchgeführt wird;
-
6 ist ein Ablaufdiagramm, das einen beispielhaften Betrieb darstellt, der in einem Speichersystem aus 3 als Antwort auf einen Deaktivierungsbefehl durchgeführt wird;
-
7 ist ein konzeptionelles Diagramm zum Beschreiben eines beispielhaften Betriebs, der in einem Speichersystem aus 3 durchgeführt wird als Antwort auf einen Aktivierungsbefehl;
-
8 ist ein Ablaufdiagramm zum Beschreiben eines beispielhaften Betriebs, der als Antwort auf einen Aktivierungsbefehl in einem Speichersystem aus 3 durchgeführt wird;
-
9A und 9B sind konzeptionelle Diagramme zum Beschreiben von beispielhaften Konfigurationen eines normalen Befehls zum Bestimmen eines Ziels des normalen Befehls in einer ersten Speichervorrichtung aus 3;
-
10A und 10B sind Blockdiagramme, die beispielhafte Konfigurationen der Schaltlogik aus 3 darstellen;
-
11 ist ein Blockdiagramm, dass eine beispielhafte Konfiguration einer zweiten Speichervorrichtung aus 3 darstellt;
-
12 ist ein Blockdiagramm, das ein elektronisches System darstellt, welches in Reihe geschaltete elektronische Vorrichtungen enthält, gemäß zumindest einigen beispielhaften Ausführungsformen der erfinderischen Konzepte;
-
13A und 13B sind konzeptionelle Diagramme zum Beschreiben von beispielhaften Verfahren des Kommunizierens mit elektronischen Vorrichtungen, die nicht direkt mit einer Betriebsprozessor-Vorrichtung in einem elektronischen System aus 12 verbunden sind;
-
14 ist ein Blockdiagramm, das eine beispielhafte Konfiguration von einer elektronischen Vorrichtung und von Schnittstellen davon darstellt, gemäß zumindest einigen beispielhaften Ausführungsformen der erfinderischen Konzepte;
-
15 ist ein Blockdiagramm, das eine der nicht-flüchtigen Speicher aus 1 bis 11 darstellt; und
-
16 ist ein konzeptionelles Diagramm; das einen Speicherblock eines Speicherzellenarrays in 15 darstellt.
-
DETAILLIERTE BESCHREIBUNG
-
Wie es üblich ist auf dem Gebiet der erfinderischen Konzepte werden Ausführungsformen beschrieben und in den Zeichnungen dargestellt mit funktionellen Blöcken, Einheiten und/oder Modulen. Fachleute werden erkennen, dass diese Blöcke, Einheiten und/oder Module physikalisch implementiert sind durch elektronische (oder optische) Schaltungen wie z. B. logischen Schaltungen, diskreten Komponenten, Mikroprozessoren, hartverdrahteten Schaltungen, Speicherelementen, Verdrahtungsleitungen und dergleichen, die gebildet werden können unter Verwendung von halbleiterbasierten Herstellungstechniken oder anderen Herstellungstechniken. In dem Fall, bei dem die Blöcke, Einheiten und/oder Module durch Mikroprozessoren oder ähnliches implementiert werden, können sie programmiert werden unter Verwendung von Software (z. B. einem Mikroprogramm) zum Durchführen verschiedener hier diskutierter Funktionen und können optional getrieben werden durch Firmware und/oder Software. Alternativ kann jeder Block, jede Einheit und/oder jedes Modul implementiert werden durch spezielle Hardware oder eine Kombination von spezieller Hardware zum Durchführen einiger Funktionen und eines Prozessors (z. B. eines oder mehrerer mikroprogrammierter Prozessoren und damit verknüpften Schaltungen) zum Durchführen anderer Funktionen. Außerdem kann jeder Block, jede Einheit und/oder jedes Modul der Ausführungsform physikalisch getrennt werden in zwei oder mehrere interagierende und diskrete Blöcke, Einheiten und/oder Module ohne von dem Umfang der vorliegenden erfinderischen Konzepte abzuweichen. Darüber hinaus können die Blöcke, Einheiten und/oder Module der Ausführungsformen physikalisch kombiniert werden in komplexere Blöcke, Einheiten und/oder Module ohne von dem Umfang der erfinderischen Konzepte abzuweichen.
-
1 ist ein Blockdiagramm, das ein Speichersystem 1000 darstellt, das in Serie geschaltete Speichervorrichtungen 1300 und 1400 enthält, gemäß zumindest einigen beispielhaften Ausführungsformen der erfinderischen Konzepte. Das Speichersystem 1000 kann eine Betriebsprozessor-Vorrichtung 1100, eine erste Speichervorrichtung 1300 und eine zweite Speichervorrichtung 1400 enthalten.
-
Die Betriebsprozessor-Vorrichtung 1100 kann verschiedene Arithmetik-Operationen und/oder Logik-Operationen durchführen zum Verwalten und Verarbeiten des Gesamtbetriebs des Speichersystems 1000. Zum Beispiel kann die Betriebsprozessor-Vorrichtung 1100 in einer Sonderschaltung (z. B. Universalschaltkreisen (FPGA), anwendungsspezifischen integrierten Schaltungen (ASICs) und/oder dergleichen) mit einem oder mehreren Prozessorkernen implementiert sein, oder kann in einem Ein-Chip-System (SoC) implementiert sein. Zum Beispiel kann die Betriebsprozessor-Vorrichtung 1100 ein Mehrzweckprozessor, ein Spezialprozessor und/oder ein Anwendungsprozessor sein. Die Betriebsprozessorvorrichtung 1100 kann selbst ein Prozessor sein oder kann eine elektronische Vorrichtung oder ein System mit einem Prozessor sein. Gemäß zumindest einigen bespielhaften Ausführungsformen der erfinderischen Konzepte kann ein in der Betriebsprozessor-Vorrichtung 1100 enthaltener Prozessor ein Mikroprozessor, ein Multi-Prozessor und/oder ein Multicore-Prozessor sein.
-
Die erste Speichervorrichtung 1300 kann einen oder mehrere nichtflüchtige Speicher 1310 und einen Controller 1320 enthalten. Die zweite Speichervorrichtung 1400 kann einen oder mehrere nichtflüchtige Speicher 1410 und einen Controller 1420 enthalten. Jeder von dem nichtflüchtigen Speicher 1310 und dem nichtflüchtigen Speicher 1410 kann eines oder mehrere individuelle Speichermodule enthalten.
-
Der nichtflüchtige Speicher 1310 und 1410 kann Speicherbereiche zum Speichern von Daten enthalten. Zum Beispiel kann jeder von dem nichtflüchtigen Speicher 1310 und 1410 einen oder mehrere von verschiedenen nichtflüchtigen Speichern enthalten, einschließlich zum Beispiel eines NAND-Typ-Flash-Speichers, eines Phasen-Änderungs-Direktzugriffsspeichers (PRAM), eines magnetoresistiven RAM (MRAM), eines resistiven RAM (ReRAM), eines ferro-elektrischen RAM (FRAM) und/oder dergleichen.
-
Die Controller 1320 und 1420 können den Gesamtbetrieb der Speichervorrichtungen 1300 bzw. 1400 steuern. Dazu kann jeder der Controller 1320 und 1420 einen oder mehrere Prozessoren oder Prozessorkerne und einen Pufferspeicher enthalten. Zum Beispiel können die Controller 1320 und 1420 jeweilig den nichtflüchtigen Speicher 1310 und 1410 steuern, so dass Daten in dem nichtflüchtigen Speicher 1310 und 1410 gespeichert werden oder in dem nichtflüchtigen Speicher 1310 und 1410 gespeicherte Daten ausgegeben werden. Gemäß zumindest einigen beispielhaften Ausführungsformen der erfinderischen Konzepte können in den Controllern 1320 und 1420 enthaltene Prozessoren jeder ein Mikroprozessor, ein Multi-Prozessor und/oder ein Multicore-Prozessor sein.
-
Die Betriebsprozessor-Vorrichtung 1100 kann einen Befehl, eine Anfrage und/oder eine Aufforderung an die Speichervorrichtungen 1300 und 1400 bereitstellen. Die Betriebsprozessor-Vorrichtung 1100 kann Daten mit den Speichervorrichtungen 1300 und 1400 austauschen. Gemäß zumindest einigen beispielhaften Ausführungsformen der erfinderischen Konzepte können Befehle, Anfragen, Anforderungen und Daten in einer Einheit eines Pakets übertragen werden. Jedoch sind zumindest einige beispielhafte Ausführungsformen der erfinderischen Konzepte nicht darauf beschränkt. Die Einheit, in der Daten übertragen werden, können verschiedenartig geändert oder modifiziert werden.
-
Zum Beispiel, wenn die Betriebsprozessor-Vorrichtung 1100 einen Schreibbefehl und Schreibdaten an die Speichervorrichtungen 1300 und 1400 bereitstellt, können die Speichervorrichtungen 1300 und 1400 die Schreibdaten in dem nichtflüchtigen Speicher 1310 und 1410 speichern. Zum Beispiel wenn die Betriebsprozessor-Vorrichtung 1100 einen Lesebefehl an die Speichervorrichtungen 1300 und 1400 bereitstellt, können die Speichervorrichtungen 1300 und 1400 Lesedaten, die in dem nichtflüchtigen Speicher 1310 und 1410 gespeichert sind, an die Betriebsprozessor-Vorrichtung 1100 ausgeben.
-
Die Betriebsprozessor-Vorrichtung 1100 kann eine Host-Vorrichtung sein, der eine Speicherdienstleistung von den Speichervorrichtungen 1300 und 1400 bereitgestellt wird. In der vorliegenden Offenbarung bedeutet der Begriff „Host“ eine Vorrichtung, der von einer anderen Vorrichtung eine Dienstleistung bereitgestellt wird. Für Benutzer des Speichersystems 1000 können die Speicherdienstleistung bereitgestellt werden, wenn die Betriebsprozessor-Vorrichtung 1100 arbeitet.
-
Gemäß zumindest einigen beispielhaften Ausführungsformen der erfinderischen Konzepte können die Betriebsprozessor-Vorrichtungen 1100 und die Speichervorrichtungen 1300 und 1400 in Reihe geschaltet sein. Bezugnehmend auf 1 kann die Betriebsprozessor-Vorrichtung 1100 verbunden sein zum direkten Kommunizieren mit der ersten Speichervorrichtung 1300 durch Ports PORT0 und PORT1a. Zusätzlich kann die erste Speichervorrichtung 1300 verbunden sein zum direkten Kommunizieren mit der zweiten Speichervorrichtung 1400 durch Ports PORT1b und PORT2. Jedoch könnte die Betriebsprozessor-Vorrichtung 1100 nicht direkt mit der zweiten Speichervorrichtung 1400 verbunden sein. Zum Bespiel könnte eine solche Verbindung zwischen der Betriebsprozessorvorrichtung 1100 und den Speichervorrichtungen 1300 und 1400 verstanden werden als die Topologie einer “Ketten”-Struktur oder einer “Daisy-Chain”-Struktur.
-
Zum Beispiel kann der Controller 1320 konfiguriert sein zum direkten Kommunizieren mit der Betriebsprozessor-Vorrichtung 1100 zum Austauschen von Lesedaten und Schreibdaten mit der Betriebsprozessor-Vorrichtung 1100. Zum Beispiel können die Controller 1320 und 1420 konfiguriert sein zum direkten Kommunizieren miteinander zum Austauschen von Lesedaten und Schreibdaten miteinander. Andererseits könnte der Controller 1420 nicht direkt verbunden sein mit der Betriebsprozessor-Vorrichtung 1100.
-
Anders als eine in 1 dargestellte Konfiguration kann in einigen Fällen die Betriebsprozessor-Vorrichtung 1100 direkt verbunden sein mit beiden Speichervorrichtungen 1300 und 1400. Zum Beispiel können die Speichervorrichtungen 1300 und 1400 parallel zu der Operations-Prozessor-Vorrichtung 1100 geschaltet sein. In diesem Fall kann die Betriebsprozessor-Vorrichtung 1100 jedoch mehrere Ports enthalten, die mit beiden Speichervorrichtungen 1300 und 1400 verbunden sind. Zusätzlich kann die Betriebsprozessor-Vorrichtung 1100 Kommunikationsschaltungen zum Kommunizieren mit beiden Speichervorrichtungen 1300 und 1400, sowie Peripherieschaltungen enthalten, die die Kommunikationsschaltungen treiben/steuern.
-
Andererseits kann gemäß einigen beispielhaften Ausführungsformen der erfinderischen Konzepte wie in 1 dargestellt die Betriebsprozessor-Vorrichtung 1100 nicht direkt mit der zweiten Speichervorrichtung 1400 kommunizieren. Dementsprechend kann die Betriebsprozessor-Vorrichtung 1100 nur den Port PORT0, der mit der ersten Speichervorrichtung 1300 verbunden ist, eine Kommunikationsschaltung zum Kommunizieren mit der ersten Speichervorrichtung 1300 sowie eine Peripherieschaltung, welche die Kommunikationsschaltung treibt/steuert, enthalten. Darüber hinaus kann die erste Speichervorrichtung 1300 den mit der zweiten Speichervorrichtung 1400 verbundenen Port PORT1b, eine Kommunikationsschaltung zum Kommunizieren mit der zweiten Speichervorrichtung 1400 und eine Peripherieschaltung, welche die Kommunikationsschaltung treibt/steuert, enthalten.
-
Somit kann gemäß zumindest einigen beispielhaften Ausführungsformen der erfinderischen Konzepte wie in 1 dargestellt eine Konfiguration der Betriebsprozessor-Vorrichtung 1100 vereinfacht sein, und die von der Betriebsprozessor-Vorrichtung 1100 eingenommenen Fläche kann abnehmen. Darüber hinaus können Design/Herstellungs-Kosten der Betriebsprozessor-Vorrichtung 1100 abnehmen. Zusätzlich zu solchen wirtschaftlichen Vorteilen kann Anwendern von zwei Speichervorrichtungen 1300 und 1400 eine größere Speicherkapazität bereitstellen im Vergleich zu einem Anwenden einer Speichervorrichtung. Dementsprechend kann eine Nachfrage eines Benutzers nach Daten-Speicherkapazität befriedigt werden.
-
Bei dieser beispielhaften Ausführungsform kann eine Konfiguration der ersten Speichervorrichtung 1300 etwas kompliziert werden. Jedoch kann in vielen Fällen die Betriebsprozessor-Vorrichtung 1100 mit einer Geschwindigkeit von mehreren Gigahertz (GHz) oder mehreren 10 Gigahertz (GHz) arbeiten und kann die erste Speichervorrichtung 1300 mit einer Geschwindigkeit von mehreren zehn bis hunderten Megahertz (MHz) arbeiten. Zusätzlich kann ein Verfahren zum Herstellen der Betriebsprozessorvorrichtung 1100 schwieriger und komplexer sein als ein Verfahren zum Herstellen der ersten Speichervorrichtung 1300. Dementsprechend kann es leichter und wirtschaftlicher sein, den Port PORT1b, die Kommunikationsschaltung und die Peripherieschaltung in der ersten Speichervorrichtung 1300 zu implementieren im Vergleich zum Herstellen der Betriebsprozessor-Vorrichtung 1100 mit mehreren Ports und weiteren Schaltungen zum direkten Kommunizieren mit mehreren Speichervorrichtungen.
-
Die Betriebsprozessor-Vorrichtung 1100 und die Speichervorrichtungen 1300 und 1400 können miteinander kommunizieren in Übereinstimmung mit einem oder mehreren von verschiedenen Schnittstellenprotokollen. Zum Beispiel können die Betriebsprozessor-Vorrichtung 1100 und die Speichervorrichtungen 1300 und 1400 zumindest eines von Schnittstellenprotokollen verwenden, wie zum Beispiel Peripheral Component Interconnect Express (PCIe), Serial Advanced Technology Attachment (SATA) und/oder dergleichen in einer Verbindungsschicht zum Kommunizieren miteinander. Zum Beispiel können die Betriebsprozessor-Vorrichtung 1100 und die Speichervorrichtungen 1300 und 1400 zumindest eines von Kommunikationsprotokollen verwenden, wie zum Beispiel Small Computer System Interface (SCSI), Nonvolatile Memory Express (NVMe) und/oder dergleichen in einer Anwendungsschicht zum Kommunizieren miteinander. Zum Beispiel können die Betriebsprozessor-Vorrichtung 1100 und die Speichervorrichtungen 1300 und 1400 zumindest eines von Schnittstellenprotokollen, wie zum Beispiel Universal Serial Bus (USB), Serial Attached SCSI (SAS), Secure Digital (SD) Card, Embedded Multimedia Card (eMMC), Universal Flash Storage (UFS) und/oder dergleichen über der Verbindungsschicht und der Anwendungsschicht zum Kommunizieren miteinander anwenden. Jedoch sind die obigen Beispiele nicht dazu gedacht, die vorliegende Offenbarung zu beschränken.
-
2A bis 2D sind konzeptionelle Diagramme, die beispielhafte Implementierungen des Speichersystems 1000 aus 1 darstellen.
-
Bezugnehmend auf 2A kann die Speichervorrichtung 1000 in einer elektronischen Vorrichtung 2000 (z. B. einem Smartphone oder einem Tablet-Computer) implementiert sein. Die elektronische Vorrichtung 2000 kann einen Anwendungsprozessor 2100 und eine eingebettete Speichervorrichtung 2300 enthalten. Die elektronische Vorrichtung 2000 kann einen Steckplatz 2004 enthalten zum Aufnehmen einer Wechselspeicher-Vorrichtung 2400. Zum Beispiel kann die Wechselspeicher-Vorrichtung 2400 in Form einer Karte, eines Sticks oder eines Chip-Gehäuses implementiert sein und kann eingesetzt werden in oder entfernt werden von dem Steckplatz 2004.
-
Zum Beispiel kann der Anwendungsprozessor 2100 derart verbunden sein, dass er direkt mit der eingebetteten Speichervorrichtung 2300 kommuniziert durch ein leitfähiges Muster W1. Gemäß zumindest einigen beispielhaften Ausführungsformen kann sich der Begriff „leitfähiges Muster“ auf ein Muster von elektrisch leitfähigem Material beziehen, das zum Beispiel eine oder mehrere Signalleitungen ausbildet zum Übertragen von Signalen (z. B. von Befehlen und/oder Daten). Wenn die Wechselspeicher-Vorrichtung 2400 in dem Steckplatz 2004 eingesetzt ist, kann die eingebettete Speichervorrichtung 2300 verbunden sein zum direkten Kommunizieren mit der Wechselspeicher-Vorrichtung 2400 durch ein leitfähiges Muster W2. Andererseits könnte die Wechselspeicher-Vorrichtung 2400 nicht direkt mit dem Anwendungsprozessor 2100 verbunden sein.
-
Bezugnehmend auf 2A bis 2D kann das Speichersystem 1000 aus 1 in einem Rechensystem 3000a, 3000b oder 3000c (z. B. einem Desktop-Computer, einem Laptop-Computer, einer Workstation, einem Server-System oder dergleichen) implementiert sein. Das Rechensystem 3000a aus 2B kann eine zentrale Verarbeitungseinheit (CPU) 3100 und Speichervorrichtungen 3300a und 3400a enthalten. Eine Hauptplatine (oder ein Motherboard) 3001 kann mit der CPU 3100 ausgestattet sein.
-
Zum Beispiel kann jede der Speichervorrichtungen 3300a und 3400a ein Festplattenlaufwerk (HDD) oder ein Festkörper-Laufwerk (SSD) sein, das in einem Boxmodul implementiert ist. Eine erste Speichervorrichtung 3300a kann mit einem Verbinder 3003a auf der Hauptplatine 3001 verbunden sein und kann verbunden sein zum direkten Kommunizieren mit der CPU 3100 durch ein leitfähiges Muster W3 und ein Drahtkabel W4. Eine zweite Speichervorrichtung 3400a kann verbunden sein zum direkten Kommunizieren mit der ersten Speichervorrichtung 3300a durch ein Drahtkabel W5. Gemäß zumindest einigen beispielhaften Ausführungsformen der erfinderischen Konzepte können jedes von dem Drahtkabel W4 und dem Drahtkabel W5 ein oder mehrere Signalleitungen enthalten. Auf der anderen Seite könnte gemäß zumindest einigen beispielhaften Ausführungsformen der erfinderischen Konzepte, die zweite Speichervorrichtung 3400a nicht direkt mit der CPU 3100 verbunden sein.
-
Das Rechensystem 3000b aus 2C kann die CPU 3100 und Speichervorrichtungen 3300b und 3400b enthalten. Zum Beispiel kann jede der Speichervorrichtungen 3300b und 3400b ein Speichermodul oder SSD sein, das in einem Kartenmodul implementiert ist. Eine erste Speichervorrichtung 3300b kann mit einem Verbinder 3300b auf der Hauptplatine verbunden sein, und kann verbunden sein zum direkten Kommunizieren mit der CPU 3100 durch ein leitfähiges Muster W6. Eine zweite Speichervorrichtung 3400b kann verbunden sein mit einem Verbinder 3004b auf der Hauptplatine 3001, und kann verbunden sein zum direkten Kommunizieren mit der ersten Speichervorrichtung 3300b durch ein leitfähiges Muster W7. Auf der anderen Seite könnte die zweite Speichervorrichtung 3400b nicht direkt mit der CPU 3100 verbunden sein.
-
Das Rechensystem 3000c aus 2D kann die CPU 3100 und Speichervorrichtungen 3300c und 3400c enthalten. Zum Beispiel kann jede von den Speichervorrichtungen 3300c und 3400c ein eingebautes SSD oder ein Ball Grid Array(BGA)-SSD sein, das in einem Chip oder in einem Chip-Gehäuse implementiert ist. Eine erste Speichervorrichtung 3300c kann verbunden sein zum direkten Kommunizieren mit der CPU 3100 durch ein leitfähiges Muster W8 und kann verbunden sein zum direkten Kommunizieren mit einer zweiten Speichervorrichtung 3400c durch ein leitfähiges Muster W9. Auf der anderen Seite könnte die zweite Speichervorrichtung 3400c nicht direkt mit der CPU 3100 verbunden sein.
-
Zum Beispiel, wenn die erste Speichervorrichtung 3300c ein BGA-SSD ist, kann die erste Speichervorrichtung 3300c einen nichtflüchtigen Speicher/Controller-Chip 13 enthalten, der auf ein Substrat 12 montiert ist. Der nichtflüchtige Speicher/Controller-Chip 13 kann mit den leitfähigen Mustern W8 und W9 durch ein Bonding 15 verbunden sein, und kann mit einer Formmasse 14 bedeckt sein. Die Hauptplatine 3001 kann mit der ersten Speichervorrichtung 3300c ausgestattet sein durch Lötkugeln 11.
-
Gemäß zumindest einigen beispielhaften Ausführungsformen der erfinderischen Konzepte kann jedes der Rechensysteme 3000a, 3000b und 3000c weiter einen Arbeitsspeicher, der von der CPU 3100 verarbeitete zu oder verarbeitende Daten temporär speichert, eine Kommunikationsschaltung zum Kommunizieren mit einer externen Vorrichtung/einem externen System, und eine Benutzerschnittstelle zum Austauschen von Daten/Informationen mit einem Benutzer aufweisen. Der Arbeitsspeicher, die Kommunikationsschaltung und die Benutzerschnittstelle können als Ausstattung auf der Hauptplatine 3001 vorgesehen sein oder darauf montiert sein und mit der CPU 3100 durch leitfähige Muster und/oder Busse verbunden sein.
-
In 2A bis 2D kann jeder von dem Anwendungsprozessor 2100 und der CPU 3100 der Betriebsprozessor-Vorrichtung 1100 aus 1 entsprechen. Jede von der eingebetteten Speichervorrichtung 2300 und den ersten Speichervorrichtungen 3300a, 3300b und 3300c kann der ersten Speichervorrichtung 1300 in 1 entsprechen. Jede von der Wechselspeicher-Vorrichtung 2400 und den zweiten Speichervorrichtungen 3400a, 3400b und 3400c kann der zweiten Speichervorrichtung 1400 in 2 entsprechen. Wie mit Bezug auf 1 beschrieben, können die Konfigurationen aus 2A bis 2B eine Anforderung eines Benutzers befriedigen und können außerdem wirtschaftliche Vorteile bringen.
-
Zum Beispiel kann jedes von den leitfähigen Mustern W1, W2, W3, W6, W7, W8 und W9 ein auf einer gedruckten Leiterplatte (PCB) oder der Hauptplatine 3100 gebildetes leitfähiges Material sein. Zum Beispiel kann jedes von den leitfähigen Mustern W1, W2, W3, W6, W7, W8 und W9 ein Drahtmuster, ein Leitungsbahnmuster und/oder dergleichen enthalten. Zum Beispiel kann das leitfähige Material mit einem Draht, einer Leiterbahn, einer leitfähigen Platte und/oder dergleichen implementiert sein. Jedoch sind diese Beispiele nicht dazu gedacht, die vorliegende Offenbarung zu beschränken.
-
3 ist ein Blockdiagramm zum Beschreiben von beispielhaften Konfigurationen der Speichervorrichtungen 1300 und 1400 aus 1 und von beispielhafter Kommunikation in dem Speichersystem 1000 auf 1.
-
Gemäß zumindest einigen beispielhaften Ausführungsformen der erfinderischen Konzepte kann die erste Speichervorrichtung 1300 weiter Verbindungsschichten 1330a und 1330b, eine Anwendungsschicht 1340 und eine Schaltlogik 1350 enthalten. Die Verbindungsschicht 1330a kann Daten, Signale und/oder Pakete übertragen und/oder empfangen durch den Port PORT1a, und die Verbindungsschicht 1330b kann Daten, Signale und/oder Pakete übertragen und/oder empfangen durch den Port PORT1b. Die Verbindungsschichten 1330a und 1330b können physikalische Schichten und Verbindungsschichten enthalten, die in einem von der ersten Speichervorrichtung 1300 verwendeten Schnittstellen-Protokoll definiert sind. Zum Beispiel können die Verbindungsschichten 1330a und 1330b verschiedene Hardware-Komponenten, wie zum Beispiel eine Transmitter/Receiver-Schaltung, eine Modulator/Demodulator-Schaltung, eine Wandler-Schaltung, eine Puffer-Schaltung und/oder dergleichen enthalten.
-
Die Anwendungsschicht 1340 kann verschiedene Befehle und/oder Pakete des Schnittstellen-Protokolls, das von der ersten Speichervorrichtung 1300 verwendet wird, erfassen und verarbeiten. Die Anwendungsschicht 1340 kann eine Kommunikationsdienstleistung auf der ersten Speichervorrichtung 1300 bereitstellen durch Verarbeiten des Schnittstellenprotokolls für den Controller 1320. Zum Beispiel kann die Anwendungsschicht 1340 verschiedene Hardware-Schaltungen enthalten zum Verarbeiten des Schnittstellenprotokolls und kann zusätzlich oder alternativ durch einen Anweisungssatz eines Programmcodes implementiert sein, der ausgeführt wird von einem Prozessor oder einem Prozessorkern (z. B. einem Prozessor des Controllers 1320).
-
Gemäß zumindest einigen beispielhaften Ausführungsformen der erfinderischen Konzepte kann die zweite Speichervorrichtung 1400 weiter eine Verbindungsschicht 1430 und eine Anwendungsschicht 1440 enthalten. Die Verbindungsschicht 1430 kann Daten, Signale und/oder Pakete durch den Port PORT2 übertragen und/oder empfangen. Die Anwendungsschicht 1440 kann verschiedene Anweisungen/Pakete eines Schnittstellenprotokolls, das von der zweiten Speichervorrichtung 1400 verwendet wird, erfassen und verarbeiten. Gemäß zumindest einigen beispielhaften Ausführungsformen der erfinderischen Konzepte können die Verbindungsschicht 1430 und die Anwendungsschicht 1440 derart konfiguriert sein, dass sie ähnlich der Verbindungsschicht 1330a beziehungsweise der Anwendungsschicht 1340 sind. Gemäß zumindest einigen beispielhaften Ausführungsformen der erfinderischen Konzepte können die Verbindungsschicht 1430 und die Anwendungsschicht 1440 derart konfiguriert sein, dass sie ähnlich der Verbindungsschicht 1330b beziehungsweise der Anwendungsschicht 1340 sind.
-
3 zeigt, dass die Verbindungsschichten 1330a, 1330b, 1430 und die Anwendungsschichten 1340 und 1440 unabhängige Komponenten sind. Eine solche Konfiguration wird jedoch vorgesehen, um ein besseres Verstehen zu ermöglichen, und zumindest einige Ausführungsformen der erfinderischen Konzepte sind nicht auf die in 3 dargestellte Konfiguration beschränkt. Zum Beispiel können gemäß zumindest einigen beispielhaften Ausführungsformen der erfinderischen Konzepte die Verbindungsschichten 1330a und 1330b sowie die Anwendungsschicht 1340 in dem Controller 1320 enthalten sein, und die Verbindungsschicht 1430 und die Anwendungsschicht 1440 können in dem Controller 1420 enthalten sein.
-
Zum Beispiel, wenn die Betriebsprozessor-Vorrichtung 1100 beabsichtigt, mit der ersten Speichervorrichtung 1300 zu kommunizieren (z. B. zum Speichern von Daten in der ersten Speichervorrichtung 1300 oder zum Lesen von Daten von der ersten Speichervorrichtung 1300), kann die Betriebsprozessorvorrichtung 1100 einen Befehl und/oder Daten an die Anwendungsschicht 1340 bereitstellen durch die Ports PORT0 und PORT1a und die Verbindungsschicht 1330a. Auf der Basis der von der Anwendungsschicht 1340 verarbeiteten Information kann der Controller Daten in den nichtflüchtigen Speicher 1310 speichern oder kann Daten von dem nichtflüchtigen Speicher 1310 lesen. Die Lesedaten können an die Betriebsprozessorvorrichtung 1100 bereitgestellt werden durch die Verbindungsschicht 1330a und die Ports PORT1a und PORT0.
-
Indessen kann die Betriebsprozessor-Vorrichtung 1100 beabsichtigen, mit der zweiten Speichervorrichtung 1400 zu kommunizieren. Da jedoch die Betriebsprozessor-Vorrichtung 1100 nicht direkt mit der zweiten Speichervorrichtung 1400 verbunden sein könnte, könnte die Betriebsprozessor-Vorrichtung 1100 einen Befehl und/oder Daten, die für die zweite Speichervorrichtung 1400 konfiguriert sind, an die erste Speichervorrichtung 1300 durch die Ports PORT0 und PORT1a und die Verbindungsschicht 1330a bereitstellen. Die erste Speichervorrichtung 1300 kann den bereitgestellten Befehl und/oder die bereitgestellten Daten an die zweite Speichervorrichtung 1400 übertragen durch die Verbindungsschicht 1330b und die Ports PORT1b und PORT2.
-
Die zweite Speichervorrichtung 1400 kann den Befehl und/oder die Daten von der ersten Speichervorrichtung 1300 durch die Verbindungsschicht 1430 empfangen. Auf der Basis der von der Anwendungsschicht 1440 verarbeiteten Information kann der Controller 1420 die Daten in dem nichtflüchtigen Speicher 1410 speichern oder kann Daten von dem nichtflüchtigen Speicher 1410 lesen. Die Lesedaten können an die erste Speichervorrichtung 1300 bereitgestellt werden durch die Verbindungsschicht 1430 und die Ports PORT2 und PORT1b. Die erste Speichervorrichtung 1300 kann die Daten von der zweiten Speichervorrichtung 1400 durch den Port PORT1b und die Verbindungsschicht 1330b empfangen. Die erste Speichervorrichtung 1300 kann die empfangenen Daten an die Betriebsprozessor-Vorrichtung 1100 übertragen durch die Verbindungsschicht 1330a und die Ports PORT1a und PORT0.
-
Die erste Speichervorrichtung 1300 kann einen Befehl und/oder Daten, die von der Betriebsprozessor-Vorrichtung 1100 alleine empfangen wurden, verarbeiten oder kann den Befehl und/oder die Daten an die zweite Speichervorrichtung 1400 übertragen. Die Schaltlogik 1350 kann eine Schaltfunktion SWF bereitstellen zum Bereitstellen eines Befehls und/oder von Daten von der Betriebsprozessor-Vorrichtung 1100 an den Controller 1320 oder an die zweite Speichervorrichtung 1400. 3 zeigt ein Schaltelement, das die Schaltfunktion SWF bereitstellt, aber zumindest einige beispielhafte Ausführungsformen der erfinderischen Konzepte sind nicht darauf beschränkt. Eine Konfiguration der Schaltlogik 1350 kann verschiedenartig geändert oder abgewandelt werden zum Bereitstellen der Schaltfunktion SWF.
-
Die Schaltlogik 1350 kann einen ersten Pfad P1 zu dem Controller 1320 und einen zweiten Pfad P2 zu der zweiten Speichervorrichtung 1400 zwischen den Verbindungsschichten 1330a und 1330b und der Anwendungsschicht 1340 schalten. Wenn der erste Pfad P1 bereitgestellt wird, können ein Befehl und/oder Daten von der Betriebsprozessor-Vorrichtung 1100 in der ersten Speichervorrichtung 1300 verarbeitet werden. Andererseits, wenn der zweite Pfad P2 bereitgestellt wird, können ein Befehl und/oder Daten von der Betriebsprozessor-Vorrichtung 1100 an die zweite Speichervorrichtung 1400 übertragen werden durch die erste Speichervorrichtung 1300.
-
Dazu kann die Schaltlogik 1350 bestimmen, ob ein Befehl und/oder Daten die von der Betriebsprozessor-Vorrichtung 110 empfangen wurden, konfiguriert sind für die erste Speichervorrichtung 1300 oder für die zweite Speichervorrichtung 1400. Die Schaltlogik 1350 kann den ersten Pfad P1 und den zweiten Pfad P2 basierend auf dem Bestimmungsergebnis schalten.
-
In einigen Fällen kann die Betriebsprozessor-Vorrichtung 1100 nur eine Operation erfordern, die auf der zweiten Speichervorrichtung 1400 durchgeführt werden soll, ohne eine Operation, die an der ersten Speichervorrichtung 1300 durchgeführt werden soll. In diesem Fall können Betriebskomponenten der ersten Speichervorrichtung 1300 kontinuierlich eine Zunahme in unnötiger Leistungsaufnahme bewirken. Somit können gemäß zumindest einigen beispielhaften Ausführungsformen der erfinderischen Konzepte, wenn eine an der ersten Speichervorrichtung 1300 durchzuführende Operation nicht angefordert wird oder alternativ gewünscht wird, ein oder mehrere Komponenten (z. B. Schaltungen) der ersten Speichervorrichtung 1300 deaktiviert werden. Zusätzlich kann die Schaltlogik 1350 einen dritten Pfad P3 anstelle des ersten Pfads P1 oder des zweiten Pfads P2 bereitstellen zum Übertragen eines Befehls und/oder von Daten an die zweite Speichervorrichtung 1400. Dies wird mit Bezug auf 4 bis 8 beschrieben werden.
-
Die Schaltlogik 1350 kann verschiedene Hardware-Schaltungen enthalten zum Bereitstellen des ersten Pfads P1, des zweiten Pfads P2 und des dritten Pfads P3, und kann zusätzlich oder alternativ durch einen Satz von Anweisungen eines Programmcodes implementiert sein, der von einem Prozessorkern durchgeführt wird. Zusätzlich stellt 3 dar, dass die Schaltlogik 1350 eine unabhängige Komponente ist, aber gemäß zumindest einigen beispielhaften Ausführungsformen der erfinderischen Konzepte kann die Schaltlogik 1350 in den Verbindungsschichten 1330a und 1330b und/oder der Anwendungsschicht 1340 enthalten sein.
-
4 ist ein Blockdiagramm zum Beschreiben einer beispielhaften Konfiguration und des Betriebs der Schaltlogik 1350, die in der ersten Speichervorrichtung 1300 aus 3 enthalten ist.
-
Gemäß zumindest einigen beispielhaften Ausführungsformen der erfinderischen Konzepte kann die Schaltlogik 1350 eine Zielbestimmungslogik 1351, einen Selektor 1353 und eine Bypass-Steuer-Logik 1355 enthalten. Die Zielbestimmungslogik 1351 kann bestimmen, ob ein Befehl und/oder Daten, die von der Betriebsprozessor-Vorrichtung 1100 empfangen wurden, für die erste Speichervorrichtung 1300 oder für die zweite Speichervorrichtung 1400 konfiguriert sind. Ein beispielhafter Bestimmungsvorgang wird im Detail mit Bezug auf 9A und 9B beschrieben werden. Die Zielbestimmungslogik kann den ersten Pfad P1 und den zweiten Pfad P2 basierend auf dem Bestimmungsergebnis schalten. Die Zielbestimmungslogik 1351 kann die Schaltfunktion SWF aus 3 bereitstellen.
-
Der Selektor 1353 kann eine von einer Verbindung zu der Zielbestimmungslogik 1351 und einer Verbindung zu dem dritten Pfad P3 auswählen. 4 zeigt, dass der Selektor 1353 ein Schaltelement ist, aber eine Konfiguration des Selektors 1353 kann verschiedenartig geändert oder abgewandelt werden. Beispielhafte Konfigurationen des Selektors 1353 werden mehr im Detail unten mit Bezug auf 10A und 10B beschrieben werden.
-
Zum Beispiel, wenn eine an der ersten Speichervorrichtung 1300 durchzuführende Operation nicht benötigt oder alternativ nicht gewünscht wird, kann der Selektor 1353 die Verbindung zu dem dritten Pfad P3 auswählen. Wenn die Verbindung zu dem dritten Pfad P3 ausgewählt wird, kann die Zielbestimmungslogik 1351 einen Befehl und/oder Daten von der Betriebsprozessor-Vorrichtung 1100 nicht empfangen. Dementsprechend kann die Zielbestimmungslogik 1351 nicht bestimmen, ob ein Befehl und/oder Daten, die von der Betriebsprozessorvorrichtung 1100 empfangen wurden, konfiguriert sind für den Controller 1320 der ersten Speichervorrichtung 1300 oder für den Controller 1420 der zweiten Speichervorrichtung 1400. Stattdessen kann der dritte Pfad P3 einem Befehl und/oder Daten von der Betriebsprozessor-Vorrichtung 1100 ermöglichen, durch die zweite Speichervorrichtung 1400 umgeleitet zu werden.
-
Hierbei bedeutet der Begriff „Bypass“ (oder „Umleitung“ oder „Umgehung“) das ein Befehl und/oder Daten einfach zu einem Ziel des Befehls und/oder der Daten direkt übertragen werden ohne das Ziel zu bestimmen. Zum Beispiel, wenn die Verbindung zu dem dritten Pfad P3 ausgewählt wird, können ein Befehl und/oder Daten die Zielbestimmungslogik 1351 der Schaltlogik 1350 umgehen und dann zu der zweiten Speichervorrichtung abzweigen. Dementsprechend kann der dritte Pfad als ein Bypass-Pfad verstanden werden.
-
Andererseits, wenn eine an der ersten Speichervorrichtung 1300 durchzuführende Operation erforderlich oder alternativ gewünscht wird, kann der Selektor 1353 die Verbindung zu der Zielbestimmungslogik 1351 auswählen. Wenn die Verbindung zu der Zielbestimmungslogik 1351 ausgewählt wird, kann die Zielbestimmungslogik 1351 einen Befehl und/oder Daten von der Betriebsprozessor-Vorrichtung 1100 empfangen.
-
Wenn bestimmt wird, dass der empfangene Befehl und/oder die empfangenen Daten für den Controller 1320 der ersten Speichervorrichtung 1300 konfiguriert sind, kann die Zielbestimmungslogik 1351 dem empfangenen Befehl und/oder die empfangenen Daten zu dem ersten Pfad P1 übertragen. Wenn es bestimmt wird, das der empfangene Befehl und/oder die empfangenen Daten für den Controller 1420 der zweiten Speichervorrichtung 1400 konfiguriert sind, kann die Zielbestimmungslogik 1351 den empfangenen Befehl und/oder die empfangenen Daten zu dem zweiten Pfad P2 übertragen.
-
Die Betriebsprozessor-Vorrichtung 1100 kann der ersten Speichervorrichtung 1300 einen Befehl CMD bereitstellen. Hierbei, obwohl der Begriff „Befehl“ verwendet wird, kann der Befehl CMD in irgendeiner Form konfiguriert sein (z. B. ein Befehl, eine Anfrage, eine Anforderung oder ein Paket), die von der Betriebsprozessor-Vorrichtung 1100 erzeugt werden könnte.
-
Der Befehl CMD kann verschiedene Arten von Befehlen enthalten. Zum Beispiel kann der Befehl CMD einen normalen Befehl enthalten. Der normale Befehl könnte einen Schreibbefehl für eine Schreiboperation, einen Lesebefehl für eine Leseoperation, einen mit einer Steuerung einer Betriebsbedingung der Zwischenschicht 1330a, 1330b oder 1430 verknüpften Steuerbefehl oder dergleichen enthalten. Jedoch ist der in der vorliegenden Offenbarung genannte „normale Befehl“ nicht auf einen speziellen „Befehl“ beschränkt, sondern könnte auch mit Daten und Befehlen für Schreiboperationen und Leseoperationen der Speichervorrichtungen 1300 und 1400 sowie mit irgendwelchen anderen Arten von Paketen verknüpft sein. Der normale Befehl kann durch den Selektor 1353 zu der Zielbestimmungslogik 1351 oder zu dem dritten Pfad P3 übertragen werden.
-
Zum Beispiel kann der Befehl CMD einen Aktivierungsbefehl und/oder einen Deaktivierungsbefehl enthalten. Zum Beispiel kann die Betriebsprozessor-Vorrichtung 1100 an die erste Speichervorrichtung 1300 den Deaktivierungsbefehl bereitstellen, wenn eine an der zweiten Speichervorrichtung 1400 durchzuführende Operation erforderlich oder alternativ gewünscht wird ohne, dass eine Operation an der ersten Speichervorrichtung 1300 durchgeführt werden soll. Zum Beispiel kann die Betriebsprozessor-Vorrichtung 1100 den Aktivierungsbefehl an die erste Speichervorrichtung 1300 bereitstellen, wenn eine an der ersten Speichervorrichtung 1300 durchzuführende Operation erforderlich oder alternativ gewünscht wird. Da die Betriebsprozessor-Vorrichtung 1100 weiß, welche Speichervorrichtung einem Ziel des normalen Befehls entspricht, kann die Betriebsprozessor-Vorrichtung 1100 den Aktivierungsbefehl oder den Deaktivierungsbefehl in Verbindung mit dem normalen Befehl vorbereiten.
-
Der Aktivierungsbefehl und/oder der Deaktivierungsbefehl kann zu der Bypass-Steuerlogik 1355 übertragen werden. Die Bypass-Steuerlogik 1355 kann den Selektor 1353 auf der Grundlage des Aktivierungsbefehls und/oder des Deaktivierungsbefehls steuern. Zusätzlich kann die Bypass-Steuerlogik 1355 an einem Steuern von zumindest einem von dem nichtflüchtigen Speicher 1310, dem Controller 1320 und/oder der Anwendungsschicht 1340 beteiligt sein basierend auf dem Aktivierungsbefehl und/oder dem Deaktivierungsbefehl.
-
Dazu kann die Bypass-Steuerlogik 1355 ein Aktivierungssignal EN als Antwort auf den Aktivierungsbefehl ausgeben und kann ein Deaktivierungssignal DIS als Antwort auf den Deaktivierungsbefehl ausgeben. Das Aktivierungssignal EN und/oder das Deaktivierungssignal DIS kann an den Selektor 1353, den nichtflüchtigen Speicher 1310, den Controller 1320 und/oder die Anwendungsschicht 1340 bereitgestellt werden.
-
Der Aktivierungsbefehl und/oder der Deaktivierungsbefehl können in einem Befehl CMD zusammen mit dem normalen Befehl implementiert werden. Alternativ können der Aktivierungsbefehl und/oder der Deaktivierungsbefehl separat von dem normalen Befehl implementiert werden. Der Aktivierungsbefehl und der Deaktivierungsbefehl können derart implementiert werden, dass sie verschiedene Werte besitzen, in einem Befehl, oder können mit getrennten Befehlen implementiert werden. Der Aktivierungsbefehl und/oder der Deaktivierungsbefehl können das gleiche Daten/Paket-Format besitzen wie das in der Anwendungsschicht 1340 verarbeitete, oder können das gleiche Daten/Paket-Format besitzen wie das in den Verbindungsschichten 1330a und 1330b verarbeitete. Alternativ können der Aktivierungsbefehl und/oder der Deaktivierungsbefehl derart definiert werden, dass sie ein neues Format besitzen. Eine Implementierung des Aktivierungsbefehls und/oder des Deaktivierungsbefehls kann verschiedenartig geändert oder abgewandelt sein.
-
4 zeigt, dass die Bypass-Steuerlogik 1355 den Aktivierungsbefehl und/oder den Deaktivierungsbefehl durch die Verbindungsschicht 1330a empfängt. Jedoch könnte gemäß zumindest einigen beispielhaften Ausführungsformen der erfinderischen Konzepte die Bypass-Steuerlogik 1355 mit einem separaten Anschluss oder Pfad verbunden sein zum Empfangen des Aktivierungsbefehls und/oder des Deaktivierungsbefehls (z. B. kann ein Übertragungspfad des normalen Befehls verschieden von einem Übertragungspfad des Aktivierungsbefehls und/oder des Deaktivierungsbefehls sein). Gemäß zumindest einigen beispielhaften Ausführungsformen der erfinderischen Konzepte kann die Bypass-Steuerlogik 1355 separat von der Schaltlogik 1350 bereitgestellt werden. Eine Implementierung der Bypass-Steuerlogik 1355 kann verschiedenartig geändert oder abgewandelt sein.
-
Ein auf dem Deaktivierungsbefehl basierender Betrieb wird weiter mit Bezug auf 5 und 6 beschrieben werden. Ein auf dem Aktivierungsbefehl basierender Betrieb wird weiter mit Bezug auf 7 und 8 beschrieben werden.
-
5 ist ein konzeptionelles Diagramm zum Beschreiben eines beispielhaften Betriebs, der als Antwort auf einen Deaktivierungsbefehl in dem Speichersystem 1000 aus 3 durchgeführt wird. 6 ist ein Ablaufdiagramm, das einen beispielhaften Betrieb beschreibt, der als Antwort auf einen Deaktivierungsbefehl in dem Speichersystem 1000 aus 3 durchgeführt wird. Um ein besseres Verstehen zu ermöglichen wird auf 5 und 6 zusammen Bezug genommen werden.
-
In Verfahrensschritt S110 kann die Betriebsprozessor-Vorrichtung 1100 bestimmen, dass nur eine an der zweiten Speichervorrichtung 1400 durchzuführende Operation ohne eine Operation an der ersten Speichervorrichtung 1300 benötigt wird. In Verfahrensschrift S120 kann die Betriebsprozessor-Vorrichtung 100 einen normalen Befehl nCMD1 erzeugen. Der normale Befehl nCMD1 kann für die zweite Speichervorrichtung 1400 konfiguriert sein und kann eine an der zweiten Speichervorrichtung 1400 durchzuführende Operation anzeigen. Da eine an der ersten Speichervorrichtung 1300 durchzuführende Operation nicht durchgeführt wird, kann die Betriebsprozessor-Vorrichtung 1100 einen Deaktivierungsbefehl dCMD in Zusammenhang mit dem normalen Befehl nCMD1 erzeugen.
-
In Verfahrensschrift S130 kann die erste Speichervorrichtung 1300 den normalen Befehl nCMD1 und den Deaktivierungsbefehl dCMD von der Betriebsprozessor-Vorrichtung 1100 empfangen. Die Bypass-Steuerlogik 1355 kann das Deaktivierungssignal DIS als Antwort auf den Deaktivierungsbefehl dCMD erzeugen.
-
In Verfahrensschrift S140 kann die Bypass-Steuerlogik 1355 an zumindest einen von dem nichtflüchtigen Speicher 1310, dem Controller 1320 und/oder der Anwendungsschicht 1340 das Deaktivierungssignal DIS bereitstellen. In einigen Fällen kann das Deaktivierungssignal DIS an alle von dem nichtflüchtigen Speicher 1310, dem Controller 1320 und der Anwendungsschicht 1340 bereitgestellt werden. In einigen Fällen kann das Deaktivierungssignal DIS nur einigen von den nichtflüchtigen Speicher 1310, dem Controller 1320 und der Anwendungsschicht 1340 bereitgestellt werden.
-
Die Bypass-Steuerlogik 1355 kann beim Deaktivieren des nichtflüchtigen Speichers 1310, des Controllers 1320 und der Anwendungsschicht 1340 beteiligt sein mittels des Deaktivierungssignals DIS. Hierbei kann „deaktivieren“ verknüpft sein mit Verringern der an eine bestimmte Komponente gelieferten Leistungsmenge, zum Beispiel kann „deaktivieren“ verknüpft sein mit Unterbrechen einer Leistungsversorgung an eine bestimmte Komponente (z. B. ein Abschalten), mit einem Wechseln in einen Stand-By/Ruhe-Zustand zum Minimieren einer Stand-By-Leistung und/oder dergleichen. Alternativ oder zusätzlich kann „deaktivieren“ verknüpft sein mit einem Einnehmen eines Deaktivierungszustands, der neu definiert wird zum Verringern einer Leistungsaufnahme.
-
Der Deaktivierungsbefehl dCMD kann eine Leistungsaufnahme von allen oder einigen Komponenten/Schaltungen, die in der ersten Speichervorrichtung 1300 enthalten sind, verringern. Dementsprechend, wenn eine an der ersten Speichervorrichtung 1300 durchzuführende Operation nicht erforderlich ist, kann eine Leistungsaufnahme der ersten Speichervorrichtung 1300 abnehmen.
-
Zum Beispiel kann die Bypass-Steuerlogik 1355 indirekt ein Liefern von Leistung an den nichtflüchtigen Speicher 1310, den Controller 1320 und die Anwendungsschicht 1340 mittels des Deaktivierungssignals DIS steuern. Alternativ oder zusätzlich kann die Bypass-Steuerlogik 1355 direkt Betriebszustände des nichtflüchtigen Speichers 1310, des Controllers 1320 und der Anwendungsschicht 1340 steuern mittels des Deaktivierungssignals DIS.
-
Jedoch, wenn ein Betrieb einer bestimmten Komponente noch erforderlich oder alternativ gewünscht ist, kann die Bypass-Steuerlogik 1355 der bestimmten Komponente ermöglichen, nicht deaktiviert zu werden. Zum Beispiel, wenn eine Operation der Anwendungsschicht 1340 erforderlich oder alternativ gewünscht wird, obwohl der Deaktivierungsbefehl dCMD empfangen wurde, könnten die Bypass-Steuerlogik 1355 das Deaktivierungssignal DIS an die Anwendungsschicht 1340 nicht bereitstellen.
-
In Verfahrensschritt S150 kann die Bypass-Steuerlogik 1355 das Deaktivierungssignal DIS an den Selektor 1353 bereitstellen. Die Bypass-Steuerlogik 1355 kann den Selektor 1353 steuern mittels des Deaktivierungssignals DIS, sodass eine Verbindung zu dem dritten Pfad P3 ausgewählt wird. Dementsprechend, wenn eine an der ersten Speichervorrichtung 1300 durchzuführende Operation nicht erforderlich oder alternativ gewünscht wird, kann der normale Befehl nCMD1 durch den dritten Pfad P3 an die zweite Speichervorrichtung 1400 umgeleitet werden.
-
Folglich kann als Antwort auf einen Deaktivierungsbefehl dCMD ein Bypass-Pfad, durch den der normale Befehl nCMD1 und/oder Daten zwischen der Betriebsprozessor-Vorrichtung 1100 und der zweiten Speichervorrichtung 1400 ausgetauscht werden, bereitgestellt werden. Indessen, wenn der dritte Pfad P3 bereitgestellt wird, kann die Zielbestimmungslogik 1351 nicht bestimmen, ob ein Befehl und/oder Daten, die von der Betriebsprozessorvorrichtung 1100 empfangen wurden, für die erste Speichervorrichtung 1300 oder für die zweite Speichervorrichtung 1400 konfiguriert sind. Dementsprechend, wenn eine an der ersten Speichervorrichtung 1300 durchzuführende Operation nicht erforderlich oder alternativ gewünscht wird, kann eine Verzögerung für ein Übertragen des normalen Befehls nCMD1 und von Daten verkürzt werden.
-
In Verfahrensschritt S160 kann die zweite Speichervorrichtung 1400 den durch den dritten Pfad P3 umgeleiteten normalen Befehl nCMD1 empfangen. In Verfahrensschrift S170 kann die zweite Speichervorrichtung 1400 eine durch den normalen Befehl nCMD1 angezeigte Operation durchführen.
-
7 ist ein konzeptionelles Diagramm zum Beschreiben eines beispielhaften Betriebs, der als Antwort auf einen Aktivierungsbefehl in dem Speichersystem 1000 aus 3 durchgeführt wird. 8 ist ein Ablaufdiagramm, das einen beispielhaften Betrieb beschreibt, der als Antwort auf einen Aktivierungsbefehl in dem Speichersystem 1000 aus 3 durchgeführt wird. Um ein besseres Verständnis zu ermöglichen, wird auf 7 und 8 zusammen Bezug genommen werden.
-
In Verfahrensschritt S210 kann die Betriebsprozessor-Vorrichtung 1100 bestimmen, dass eine an der ersten Speichervorrichtung 1300 durchzuführende Operation erforderlich oder alternativ gewünscht wird. Zum Beispiel kann die Betriebsprozessor-Vorrichtung 1100 vorsehen, Komponenten/Schaltungen der ersten Speichervorrichtung 1300 vollständig zu betreiben, während alle oder einige Komponenten/Schaltungen der ersten Speichervorrichtung 1300 deaktiviert sind. In Verfahrensschritt S220 kann die Betriebsprozessor-Vorrichtung 1100 einen normalen Befehl nCMD2 erzeugen. Da eine an der ersten Speichervorrichtung 1300 durchzuführende Operation erforderlich oder alternativ gewünscht wird, kann die Betriebsprozessor-Vorrichtung 1100 einen Aktivierungsbefehl eCMD in Verbindung mit dem normalen Befehl nCMD2 erzeugen.
-
In Verfahrensschritt S230 kann die erste Speichervorrichtung 1300 den normalen Befehl nCMD2 und den Aktivierungsbefehl eCMD von der Betriebsprozessor-Vorrichtung 1100 empfangen. Die Bypass-Steuerlogik 1355 kann das Aktivierungssignal EN als Antwort auf den Aktivierungsbefehl eCMD erzeugen.
-
In Verfahrensschritt S240 kann die Bypass-Steuerlogik 1355 das Aktivierungssignal EN an zumindest einen von dem nichtflüchtigen Speicher 1310, den Controller 1320 und/oder der Anwendungsschicht 1340 bereitstellen. In einigen Fällen kann das Aktivierungssignal EN an alle von dem nichtflüchtigen Speicher 1310, dem Controller 1320 und der Anwendungsschicht 1340 bereitgestellt werden. Alternativ, wenn das Deaktivierungssignal DIS nur an einige von dem nichtflüchtigen Speicher 1310, dem Controller 1320 und der Anwendungsschicht 1340 bereitgestellt wurde, kann das Aktivierungssignal EN nur an die deaktivierte Komponente beziehungsweise die deaktivierten Komponenten bereitgestellt werden.
-
Die Bypass-Steuerlogik 1355 kann bei einem Aktivieren der deaktivierten Komponente beziehungsweise der deaktivierten Komponenten beteiligt sein mittels des Aktivierungssignals EN. Hierbei kann „aktivieren“ mit einem erhöhen der durch das Deaktivierungssignal DIS verringerten Leistungsmenge verknüpft sein. Zum Beispiel kann „aktivieren“ damit verknüpft sein, dass einer bestimmten Komponente ermöglicht wird, in einen normalen Betriebszustand zu gehen und eine ausreichende Leistung an die bestimmte Komponente zu liefern. Die Bypass-Steuerlogik 1355 kann direkt oder indirekt die deaktivierte Komponente beziehungsweise die deaktivierten Komponenten mittels des Aktivierungssignals EN steuern.
-
In Verfahrensschritt S250 kann die Bypass-Steuerlogik 1355 das Aktivierungssignal EN an den Selektor 1353 bereitstellen. Die Bypass-Steuerlogik 1355 kann den Selektor 1353 steuern mittels des Aktivierungssignals EN, sodass eine Verbindung zu der Zielbestimmungslogik 1351 ausgewählt wird. Dementsprechend kann der dritte Pfad getrennt werden, und einer von den ersten Pfad P1 und dem zweiten Pfad P2 kann bereitgestellt werden. Folglich, wenn eine an der ersten Speichervorrichtung 1300 durchzuführende Operation erforderlich oder alternativ gewünscht ist, kann die Zielbestimmungslogik 1351 den normalen Befehl nCMD2 empfangen.
-
In Verfahrensschritt S260 kann die Zielbestimmungslogik 1351 bestimmen, ob der normale Befehl nCMD2 konfiguriert ist für die erste Speichervorrichtung 1300 oder für die zweite Speichervorrichtung 1400. Wenn der normale Befehl nCMD2 konfiguriert ist für den Controller 1320 der ersten Speichervorrichtung 1300, kann die Zielbestimmungslogik 1351 den normalen Befehl nCMD2 an den ersten Pfad P1 übertragen. Dementsprechend kann in Verfahrensschritt S270 der Controller 1320 den normalen Befehl nCMD2 im Betrieb der Anwendungsschicht 1340 empfangen, und kann die erste Speichervorrichtung 1300 eine durch den normalen Befehl nCMD2 angezeigte Operation durchführen
-
Wenn der normale Befehl nCMD2 konfiguriert ist für den Controller 1420 der zweiten Speichervorrichtung 1400, kann die Zielbestimmungslogik 1351 in Verfahrensschritt S280 den normalen Befehl nCMD2 durch den zweiten Pfad P2 an die zweite Speichervorrichtung übertragen. Dementsprechend kann in Verfahrensschritt S290 der Controller 1420 den normalen Befehl nCMD2 im Betrieb der Anwendungsschicht 1440 empfangen, und kann die zweite Speichervorrichtung 1400 eine durch den normalen Befehl nCMD2 angezeigte Operation durchführen.
-
3, 4 und 7 zeigen, das der zweite Pfad P2 direkt verbunden ist von der Schaltlogik 1350 zu der Verbindungsschicht 1330b. Jedoch kann die Verbindung des zweiten Pfades P2 verschiedenartig geändert oder abgewandelt sein. Zum Beispiel, wenn erforderlich oder gewünscht ist, das die Anwendungsschicht 1340 und/oder der Controller 1320 beim Übertragen des normalen Befehls nCMD2 an die zweite Speichervorrichtung beteiligt, kann der zweite Pfad P2 mit der Verbindungsschicht 1330b verbunden werden durch die Anwendungsschicht 1340 und/oder den Controller 1320.
-
9A und 9B sind konzeptionelle Diagramme zum Beschreiben von beispielhaften Konfigurationen eines normalen Befehls zum Bestimmen eines Ziels des normalen Befehls in der ersten Speichervorrichtung 1300 aus 3.
-
Bezugnehmend auf 9A kann gemäß zumindest einigen beispielhaften Ausführungsformen der erfinderischen Konzepte der normale Befehl nCMD2 ein Feld einer Zielkennung TID enthalten. Zusätzlich kann der normale Befehl nCMD2 Felder eines Wertes Vtar enthalten, die eine an einer Speichervorrichtung durchzuführende Operation beschreiben.
-
Die Zielkennung TID kann anzeigen, welche Speichervorrichtung den normalen Befehl nCMD2 empfangen soll. Eine Kennung der ersten Speichervorrichtung 1300 kann verschieden von einer Kennung der zweiten Speichervorrichtung 1400 sein. Die Betriebsprozessor-Vorrichtung 1100 kann den normalen Befehl nCMD2 erzeugen, der eine Kennung enthält, welche eine Speichervorrichtung anzeigt, die ein Ziel des normalen Befehls nCMD2 ist. Dementsprechend kann die Zielbestimmungslogik 1351 bestimmen, ob der normale Befehl nCMD2 konfiguriert ist für die erste Speichervorrichtung 1300 oder für die zweite Speichervorrichtung 1400 basierend auf einem Wert der Zielkennung TID.
-
Bezugnehmend auf 9B kann gemäß zumindest einigen beispielhaften Ausführungsformen der erfinderischen Konzepte der normale Befehl nCMD2 einen ersten Feldbereich FR1 und einen zweiten Feldbereich FR2 enthalten. Der erste Feldbereich FR1 kann Felder eines Wertes V1 enthalten, der eine an der ersten Speichervorrichtung 1300 durchzuführende Operationen beschreibt, und der zweite Feldbereich FR2 kann Felder eines Wertes V2 enthalten, der eine an der zweiten Speichervorrichtung 1400 durchzuführende Operation beschreibt.
-
Indexwerte von Feldern des ersten Feldbereichs FR1 können verschieden von Indexwerten von Feldern des zweiten Feldbereichs FR2 sein. Zum Beispiel können die Felder des ersten Feldbereichs FR1 Indizes von 1 bis 100 besitzen und können die Felder des zweiten Feldbereichs FR2 Indizes von 101 bis 200 besitzen.
-
Dementsprechend kann die Zielbestimmungslogik 1351 bestimmen, ob der normale Befehl nCMD2 konfiguriert ist für die erste Speichervorrichtung 1300 oder für die zweite Speichervorrichtung 1400, basierend auf Indexwerten der Felder. Zum Beispiel, wenn der erste Feldbereich FR1 nicht den Wert V1 enthält und der zweite Feldbereich FR2 den Wert V2 enthält, kann die Zielbestimmungslogik 1351 bestimmen, das der normale Befehl nCMD2 konfiguriert ist für die zweite Speichervorrichtung 1400.
-
Jedoch sind zumindest einige beispielhafte Ausführungsformen der erfinderischen Konzepte nicht beschränkt auf die in 9A und 9B dargestellten Beispiele. Eine Konfiguration des normalen Befehls nCMD2 kann verschiedenartig geändert oder abgewandelt sein zum Bestimmen eines Ziels.
-
10A und 10B sind Blockdiagramme, die beispielhafte Konfigurationen der Schaltlogik 1350 aus 3 darstellen. Gemäß zumindest einigen beispielhaften Ausführungsformen der erfinderischen Konzepte kann die Schaltlogik 1350 aus 3 die Schaltlogik 1350a aus 10A oder die Schaltlogik 1350b aus 10b enthalten. Der Kürze halber werden mit den oben beschriebenen Komponenten zusammenhängende redundante Beschreibungsteile unten weggelassen werden.
-
Bezugnehmend auf 10A kann die Schaltlogik 1350a die Zielbestimmungslogik 1351, einen Selektor 1353a und die Bypass-Steuerlogik 1355 enthalten. Zum Beispiel kann der Selektor 1353a einen Demultiplexer DX und einen Multiplexer MX enthalten.
-
Der Demultiplexer DX kann selektiv eine Verbindung zu der Zielbestimmungslogik 1351 oder eine Verbindung zu dem dritten Pfad P3 als Antwort auf das Aktivierungssignal EN oder das Deaktivierungssignal DIS der Bypass-Steuerlogik 1355 enthalten. Der Multiplexer MX kann selektiv einen Befehl/ Daten/ ein Paket von dem zweiten Pfad P2 oder einen Befehl/ Daten/ ein Paket von dem dritten Pfad P3 zu der zweiten Speichervorrichtung 1400 als Antwort auf das Aktivierungssignal EN oder das Deaktivierungssignal DIS der Bypass-Steuerlogik 1355 übertragen.
-
Bezugnehmend auf 10B kann die Schaltlogik 1350b die Zielbestimmungslogik 1351, einen Selektor 1353b und die Bypass-Steuerlogik 1355 enthalten. Zum Beispiel kann der Selektor 1353b Transistoren T1, T2 und T3 enthalten.
-
Die Transistoren T1 und T2 können den zweiten Pfad P2 bereitstellen, der durch die Zielbestimmungslogik 1351 geht, als Antwort auf das Aktivierungssignal EN der Bypass-Steuerlogik 1355. Der Transistor T3 kann den dritten Pfad P3 bereitstellen, der die Zielbestimmungslogik 1351 umgeht, als Antwort auf das Deaktivierungssignal DIS der Bypass-Steuerlogik 1355.
-
Jedoch sind zumindest einige beispielhafte Ausführungsformen der erfinderischen Konzepte nicht auf die in 10A und 10B dargestellten Beispiele beschränkt. Eine Konfiguration der Schaltlogik 1350 kann verschiedenartig geändert oder abgewandelt werden zum Bereitstellen des ersten Pfades P1, des zweiten Pfades P2 und des dritten Pfades P3.
-
11 ist ein Blockdiagramm, das eine beispielhafte Konfiguration der zweiten Speichervorrichtung 1400 aus 3 darstellt. Der Kürze halber werden mit den oben beschriebenen Komponenten zusammenhängende, redundante Beschreibungsteile unten weggelassen werden.
-
Das Speichersystem 1000, das mit Bezug auf 1 bis 10B beschrieben wurde, kann die zwei Speichervorrichtungen 1300 und 1400 enthalten, die miteinander in Serie verbunden sind. Jedoch kann gemäß zumindest einigen beispielhaften Ausführungsformen der erfinderischen Konzepte das Speichersystem 1000 drei oder mehr Speichervorrichtungen enthalten (siehe 12), die miteinander in Serie geschaltet sind. Gemäß zumindest einigen beispielhaften Ausführungsformen der erfindungsgemäßen Konzepte, wenn das Speichersystem 1000 drei oder mehr Speichervorrichtungen enthält, die miteinander in Serie geschaltet sind, kann die zweite Speichervorrichtung 1400 aus 3 eine zweite Speichervorrichtung 1400b aus 13 enthalten.
-
Die zweite Speichervorrichtung 1400b kann weiter eine Verbindungsschicht 1430b und Schaltlogik 1450 zusätzlich zu dem nichtflüchtigen Speicher 1410, dem Controller 1420, der Verbindungsschicht 1430 und der Anwendungsschicht 1440 enthalten. Ähnlich der Verbindungsschicht 1330b aus 3 kann die Verbindungsschicht 1430b Daten, Signale und/oder Pakete durch einen Port PORT2b übertragen. Der Port PORT2b kann direkt verbunden sein mit einer anderen Speichervorrichtung, die nicht direkt verbunden ist mit der Betriebsprozessor-Vorrichtung 1100 und der ersten Speichervorrichtung 1300.
-
Ähnlich der Schaltlogik 1350 aus 3 kann die Schaltlogik 1450 eine Schaltfunktion WF‘ bereitstellen. Gemäß der Schaltfunktion WF‘ kann die Schaltlogik 1450 einen Befehl und/oder Daten von der ersten Speichervorrichtung 1300 zu dem Controller 1420 oder zu der anderen Speichervorrichtung übertragen, die mit dem Port PORT2b verbunden ist. Dazu kann die Schaltlogik 1450 einen ersten Pfad P1‘ zu dem Controller 1420 sowie einen zweiten Pfad P2‘ zu der anderen Speichervorrichtung schalten gemäß der Schaltfunktion SWF‘.
-
Ähnlich der Schaltlogik 1350 aus 3 kann die Schaltlogik 1450 einen dritten Pfad P3‘ bereitstellen. Der dritte Pfad P3‘ kann einen Bypass-Pfad zu der anderen Speichervorrichtung als Antwort auf einen Deaktivierungsbefehl bereitstellen, wenn eine an der zweiten Speichervorrichtung 1400b durchzuführende Operation nicht erforderlich oder alternativ gewünscht ist. Der Deaktivierungsbefehl kann von der Betriebsprozessor-Vorrichtung 1100 durch die erste Speichervorrichtung 1300 bereitgestellt werden.
-
12 ist ein Blockdiagramm, das ein elektronisches System 4000 darstellt, das in Serie geschaltete elektronische Vorrichtungen enthält, gemäß zumindest einigen beispielhaften Ausführungsformen der erfinderischen Konzepte. 13A und 13B sind konzeptionelle Diagramme zum Beschreiben von beispielhaften Verfahren des Kommunizierens mit elektronischen Vorrichtungen, die nicht direkt mit einer Betriebsprozessor-Vorrichtung 4100 verbunden sind, in dem elektronischen System 4000 aus 12.
-
Bezugnehmend auf 12 kann das elektronische System 4000 die Betriebsprozessor-Vorrichtung 4100 und eine Mehrzahl von elektronischen Vorrichtungen 4300, 4400, 4800 und 4900 enthalten, die in Serie mit der Betriebsprozessor-Vorrichtung 4100 geschaltet sind. Die Betriebsprozessor-Vorrichtung 4100 kann einer von den Betriebsprozessor-Vorrichtungen 1100, 2100 und 3100 entsprechen, die mit Bezug auf 1 bis 11 beschrieben wurden.
-
Das elektronische System 4000 kann eine von verschiedenen Arten von elektronischen Systemen sein. Zum Beispiel kann das elektronische System 4000 dem Speichersystem 1000, der elektronischen Vorrichtung 2000 oder dem Rechensystem 3000a, 3000b oder 3000c entsprechen, die mit Bezug auf 1 bis 11 beschrieben wurden. Zum Beispiel kann jede der elektronischen Vorrichtungen 4300, 4400, 4800 und 4900 einer von den Speichervorrichtungen 1300, 1400, 1400b, 2300, 2400, 3300a, 3300b, 3300c, 3400a, 3400b und 3400c entsprechen, die mit Bezug auf 1 bis 11 beschrieben wurden.
-
Jedoch sind zumindest einige beispielhafte Ausführungsformen der erfinderischen Konzepte nicht auf die obigen Beispiele beschränkt. Zum Beispiel kann jede von den elektronischen Vorrichtungen 4300, 4400, 4800 und 4900 irgendeine Art von elektronischer Vorrichtung, wie zum Beispiel eine Grafikverarbeitungsvorrichtung, eine drahtgebundene/drahtlose Kommunikationsvorrichtung, eine Anzeigevorrichtung und/oder dergleichen enthalten. Die Verwendung des elektronischen Systems 4000 kann verschiedenartig geändert oder abgewandelt sein gemäß einer Art der elektronischen Vorrichtungen 4300, 4400, 4800 und 4900.
-
Die elektronischen Vorrichtungen 4300, 4400, 4800 und 4900 können miteinander in Serie geschaltet sein durch jeweilige Eingangs/Ausgangs-Ports davon. Die erste Speichervorrichtung 4300 kann an einem hinteren Ende der Serienschaltung sein. Die zweite elektronische Vorrichtung 4400 kann derart verbunden sein, das sie direkt mit der ersten elektronischen Vorrichtung 4300 kommuniziert. Auf diese Art und Weise können die elektronischen Vorrichtungen 4300, 4400, 4800 und 4900 in der Topologie einer Kettenstruktur oder einer Daisy-Chain-Struktur geschaltet sein.
-
Die Betriebsprozessor-Vorrichtung 4100 kann derart verbunden sein, das sie direkt mit der ersten elektronischen Vorrichtung 4300 verbunden ist. Die Betriebsprozessor-Vorrichtung 4100 könnte jedoch nicht direkt mit den anderen elektronischen Vorrichtungen 4400, 4800 und 4900 verbunden sein. Wenn die Betriebsprozessor-Vorrichtung 4100 vorsieht, mit einer elektronischen Zielvorrichtung zu kommunizieren, die nicht direkt mit der Betriebsprozessor-Vorrichtung 4100 verbunden ist, kann die Betriebsprozessor-Vorrichtung 4100 mit der elektronischen Zielvorrichtung kommunizieren durch eine oder mehrere dazwischenliegende elektronische Vorrichtungen.
-
Zum Beispiel, bezugnehmend auf 13A, wenn die Betriebsprozessor-Vorrichtung 4100 vorsieht, mit der zweiten elektronischen Vorrichtung 4400 zu kommunizieren, kann die Betriebsprozessor-Vorrichtung 4100 mit der zweiten elektronischen Vorrichtung 4400 kommunizieren durch die erste elektronische Vorrichtung 4300. Indessen, wenn nur eine an der zweiten elektronischen Vorrichtung 4400 durchzuführende Operation erforderlich oder alternativ gewünscht ist ohne eine an der ersten elektronischen Vorrichtung 4300 durchzuführende Operation, kann die erste elektronische Vorrichtung 4300 ihre Komponente(n) deaktivieren und einen Bypass-Pfad zu der zweiten elektronischen Vorrichtung 4400 bereitstellen als Antwort auf einen von der Betriebsprozessor-Vorrichtung 4100 bereitgestellten Deaktivierungsbefehl.
-
Dementsprechend kann die erste elektronische Vorrichtung 4300 einen normalen Befehl empfangen, der eine an einer anderen elektronischen Vorrichtung (z. B. der zweiten elektronischen Vorrichtung 4400) durchzuführende Operation anzeigt, von der Betriebsprozessor-Vorrichtung 4100, und kann bewirken, dass der empfangene normale Befehl an die andere elektronische Vorrichtung (z. B. die zweite elektronische Vorrichtung 4400) umgeleitet wird. Wenn der normale Befehl für die zweite elektronische Vorrichtung 4400 konfiguriert ist, kann die zweite elektronische Vorrichtung 4400 eine durch den normalen Befehl angezeigte Operation durchführen, wobei die erste elektronische Vorrichtung 4300 umgangen wird.
-
Indessen, wenn eine von der ersten elektronischen Vorrichtung 4300 durchzuführende Operation erforderlich oder alternativ gewünscht wird, kann die erste elektronische Vorrichtung 4300 ihre Komponente(n) aktivieren und kann den Bypass-Pfad als Antwort auf einen von der Betriebsprozessor-Vorrichtung 4100 bereitgestellten Aktivierungsbefehl trennen. Danach kann die erste elektronische Vorrichtung 4300 eine Operation durchführen, die von dem von der Betriebsprozessor-Vorrichtung 4100 empfangenen Befehl angezeigt wird.
-
Zum Beispiel, bezugnehmend auf 13B, wenn die Betriebsprozessor-Vorrichtung 4100 vorsieht, mit der N-ten elektronischen Vorrichtung 4900 zu kommunizieren, kann die Betriebsprozessor-Vorrichtung 4100 mit der N-ten elektronischen Vorrichtung 4900 durch die erste bis (N – 1)-te elektronische Vorrichtung 4300 bis 4800 kommunizieren. Wenn nur eine an der N-ten elektronischen Vorrichtung 4900 durchzuführende Operation erforderlich oder alternativ gewünscht wird, können die erste bis (N – 1)-te elektronische Vorrichtung 4300 bis 4800 ihre Komponenten deaktivieren und können einen Bypass-Pfad zu der N-ten elektronischen Vorrichtung 4900 bereitstellen als Antwort auf den von der Betriebsprozessor-Vorrichtung 4100 bereitgestellten Deaktivierungsbefehl. Dementsprechend kann die N-te elektronische Vorrichtung 4900 eine Operation durchführen, die von dem normalen Befehl angezeigt wird, wobei die erste bis (N – 1)-te elektronische Vorrichtung 4300 bis 4800 umgangen werden.
-
Um das elektronische System 4000 aus 12, 13A und 13B zu implementieren, können die Betriebsprozessor-Vorrichtung 4100 und die elektronischen Vorrichtungen 4300, 4400, 4800 und 4900 zumindest eine von den Konfigurationen, Operationen, Prozessen, Verfahren und/oder Kommunikationen, die mit Bezug auf 1 bis 11 beschrieben wurden, anwenden. Die Betriebsprozessor-Vorrichtung 4100 und die elektronischen Vorrichtungen 4300, 4400, 4800 und 4900 können zumindest eines von verschiedenen Schnittstellenprotokollen wie zum Beispiel USB, SCSI, PCIe, NVMe, SATA, SAS, SD Card, eMMC, UFS und/oder dergleichen verwenden zum Kommunizieren miteinander. Jedoch sind zumindest einige beispielhafte Ausführungsformen der erfinderischen Konzepte nicht darauf beschränkt.
-
Indessen, können die elektronischen Vorrichtungen 4300, 4400, 4800 und 4900 unabhängig gesteuert werden durch den Deaktivierungsbefehl. Zum Beispiel können die Komponenten der zweiten elektronischen Vorrichtung 4400 deaktiviert werden, während Komponenten der ersten und N-ten elektronischen Vorrichtungen 4300 und 4900 aktiviert sind. Jede der elektronischen Vorrichtungen 4300, 4400, 4800 und 4900 kann oder kann nicht einen Bypass-Pfad bereitstellen in Abhängigkeit davon, ob eine Operation davon erforderlich oder alternativ gewünscht wird. Zum Beispiel können der Aktivierungsbefehl und/oder der Deaktivierungsbefehl ein Feld einer Zielkennung enthalten und können einer elektronischen Vorrichtung bereitgestellt werden, welche durch die Zielkennung angezeigt wird.
-
14 ist ein Blockdiagramm, das eine beispielhafte Konfiguration einer elektronischen Vorrichtung und von Schnittstellen davon darstellt gemäß zumindest einigen beispielhaften Ausführungsformen der erfinderischen Konzepte. Eine elektronische Vorrichtung 5000 kann zum Beispiel in einer Daten-Verarbeitungs-Vorrichtung implementiert sein, die in der Lage ist, ein von MIPI® Alliance vorgeschlagenes Schnittstellenprotokoll zu verwenden oder zu unterstützen. Zum Beispiel kann die elektronische Vorrichtung 5000 eine von elektronischen Vorrichtungen, wie zum Beispiel ein tragbares Kommunikationsterminal, ein persönlicher digitaler Assistent (PDA), ein portabler Multimediaplayer (PMP), ein Smartphone, ein Tablet-Computer, eine tragbare Vorrichtung und/oder dergleichen, sein.
-
Die elektronische Vorrichtung 5000 kann einen Anwendungsprozessor 5100, anzeigen 5220 und 5221 sowie Bildsensoren 5230 und 5231 enthalten. Der Anwendungsprozessor 5100 kann einen DigRF-Master 5110, einen Display-Serial-Interface(DSI)-Host 5120, einen Camera-Serial-Interface(CSI)-Host 5130 und eine physikalische Schicht 5140 enthalten.
-
Der DSI-Host 5120 kann mit einer DSI-Vorrichtung 5225 der Anzeige 5220 in Übereinstimmung mit DSI kommunizieren. Zum Beispiel kann ein Serialisierer SER in dem DSI-Host 5120 implementiert sein, und kann ein Deserialisierer DES in der DSI-Vorrichtung 5225 implementiert sein. Die Anzeige 5220 kann mit einer DSI-Vorrichtung 5226 der Anzeige 5221 in Übereinstimmung mit DSI kommunizieren. Zum Beispiel kann ein Serialisierer SER weiter in der DSI-Vorrichtung 5225 implementiert sein und kann ein Deserialisierer DES in der DSI-Vorrichtung 5226 implementiert sein.
-
Indessen kann die Anzeige 5221 möglicherweise nicht direkt mit dem Anwendungsprozessor 5100 verbunden sein. Dementsprechend kann der Anwendungsprozessor 5100 mit der DSI-Vorrichtung 5226 der Anzeige 5221 durch die Anzeige 5220 kommunizieren. Zum Beispiel, wenn eine an der Anzeige 5220 durchzuführende Operation nicht erforderlich oder alternativ nicht gewünscht ist, kann die Anzeige 5220 ihre Komponente(n) deaktivieren und kann einen Bypass-Pfad zu der Anzeige 5221 bereitstellen als Antwort auf einen von dem Anwendungsprozessor 5100 bereitgestellten Befehl.
-
Der CSI-Host 5130 kann mit einer CSI-Vorrichtung 5235 des Bildsensors 5230 in Übereinstimmung mit CSI kommunizieren. Zum Beispiel kann ein Deserialisierer DES in dem CSI-Host 5130 implementiert sein und kann ein Serialisierer SER in der CSI-Vorrichtung 5235 implementiert sein. Der Bildsensor 5230 kann mit einer CSI-Vorrichtung 5236 des Bildsensors 5231 in Übereinstimmung mit CSI kommunizieren. Zum Beispiel kann ein Deserialisierer DES weiter in dem CSI-Host 5235 implementiert sein und kann ein Serialisierer SER in der CSI-Vorrichtung 5236 implementiert sein.
-
Indessen kann der Bildsensor 5231 möglicherweise nicht direkt mit dem Anwendungsprozessor 5100 verbunden sein. Dementsprechend kann der Anwendungsprozessor 5100 mit der CSI-Vorrichtung 5236 des Bildsensors 5231 durch den Bildsensor 5230 kommunizieren. Zum Beispiel, wenn eine an den Bildsensor 5230 durchzuführende Operation nicht erforderlich oder alternativ nicht gewünscht ist, kann der Bildersensor seine Komponente(n) deaktivieren und kann einen Bypass-Pfad zu dem Bildsensor 5231 bereitstellen als Antwort auf den von dem Anwendungsprozessor 5100 bereitgestellten Deaktivierungsbefehl.
-
Die elektronische Vorrichtung 5000 kann weiter einen Radiofrequenz(RF)-Chip 5240 enthalten, der mit dem Anwendungsprozessor 5100 kommuniziert. Der RF-Chip kann eine physikalische Schicht 5242, einen DigRF-Slave 5244 und eine Antenne 5246 enthalten. Zum Beispiel können die physikalische Schicht 5242 des RF-Chips 5240 und die physikalische Schicht 5140 des Anwendungsprozessors 5100 Daten miteinander in Übereinstimmung mit einer von MIPI® Alliance vorgeschlagenen DigRF-Schnittstelle austauschen.
-
Die elektronische Vorrichtung 5000 kann weiter einen Arbeitsspeicher 5250, eine eingebettete Speichervorrichtung 5251 und eine Kartenspeichervorrichtung 5252 enthal ten. Der Arbeitsspeicher 5250, die eingebettete Speichervorrichtung 5251 und die Kartenspeichervorrichtung 5252 können Daten für den Anwendungsprozessor 5100 speichern oder ausgeben.
-
Der Arbeitsspeicher 5250 kann temporär von dem Anwendungsprozessor 5100 verarbeitete oder zu verarbeitende Daten speichern. Der Arbeitsspeicher 5250 kann einen flüchtigen Speicher, wie zum Beispiel einen statischen Direktzugriffsspeicher SRAM, einen dynamischen RAM (DRAM), einen synchronen DRAM (SDRAM) und/oder dergleichen und/oder einen nichtflüchtigen Speicher, wie zum Beispiel einen Flash-Speicher, einen Phasenänderungs-RAM (PRAM), einen magnetoresistiven RAM (MRAM), einen resistiven RAM (ReRAM), einen ferroelektrischen RAM (FRAM) und/oder dergleichen, enthalten.
-
Die eingebettete Speichervorrichtung 5251 und die Kartenspeichervorrichtung 5252 können Daten unabhängig davon speichern, ob sie mit Leistung versorgt werden. Zum Beispiel können die eingebettete Speichervorrichtung 5251 und die Kartenspeichervorrichtung 5252 der eingebetteten Speichervorrichtung 2300 und der Wechselspeichervorrichtung 2400 aus 2 jeweilig entsprechen.
-
Die elektronische Vorrichtung 5000 kann mit einer externen Vorrichtung/ einem externen System durch ein Kommunikationsmodul, wie zum Beispiel einem Worldwide Interoperability for Microwave Access (WiMAX) 5260, einem drahtlosen lokalen Netzwerk (WLAN) 5262, einem Ultra-Breitband (UWB) 5264 und/oder dergleichen kommunizieren. Daneben kann die elektronische Vorrichtung 5000 mit der externen Vorrichtung/ dem externen System kommunizieren basierend auf zumindest einem von den verschiedenen drahtlosen Kommunikationsprotokollen, wie zum Beispiel Long Term Evolution (LTE), Global System for Communication (GSM), Code Division Multiple Access (CDMA), Bluetooth, Nah-Feld-Kommunikation (NFC), Wireless Fidelity (Wi-Fi), Radio Frequency Identification (RFID) und/oder dergleichen, und/oder verschiedenen drahtgebundenen Kommunikationsprotokollen wie zum Beispiel Transmission Control Protocol/Internet Protocol (TCP/IP), USB, SCSI, mobiles PCIe (M-PCIe), Firewire und/oder dergleichen.
-
Die elektronische Vorrichtung 5000 kann weiter einen Lautsprecher 5270 und ein Mikrofon 5275 zum Verarbeiten von Sprachinformationen enthalten. Zusätzlich kann die elektronische Vorrichtung 5000 weiter eine Global-Positioning-System(GPS)-Vorrichtung 5280 zum Verarbeiten von Positionsinformation enthalten. Die elektronische Vorrichtung 5000 kann weiter einen Brücken-Chip 5290 zum Verwalten von einer Verbindung mit Peripherievorrichtungen enthalten.
-
15 ist ein Blockdiagramm, das einen der nichtflüchtigen Speicher aus 1 bis 11 darstellt. Zumindest einer von dem nichtflüchtigen Speicher 1310 und 1410 kann einen nichtflüchtigen Speicher 6100 enthalten. Der nichtflüchtige Speicher 6100 kann ein Speicherzellenarray 6100a, einen Adress-Decoder 6100b, eine Steuerlogik und Spannungsgenerator 6100c, einen Page-Puffer (oder Speicherseiten-Puffer) 6100d sowie eine Eingabe/Ausgabe-Schaltung 6100e enthalten.
-
Das Speicherzellenarray 6100a kann eine Mehrzahl von Speicherblöcken BLK1 bis BLKz enthalten. Jeder von den Speicherblöcken BLK1 bis BLKz kann eine Mehrzahl von Zellketten enthalten. Jede der Zellenketten kann eine Mehrzahl von Speicherzellen enthalten. Die Speicherzellen können mit einer Mehrzahl von jeweiligen Wortleitungen WL verbunden sein. Jede Speicherzelle kann eine Single-Level-Zelle (SLC) enthalten, die ein Bit speichert, oder eine Multi-Level-Zelle (MLC), die zumindest zwei Bits speichert.
-
Gemäß zumindest einigen beispielhaften Ausführungsformen der erfinderischen Konzepte kann das Speicherzellenarray 6100a ein dreidimensionales (3D) Speicherzellenarray enthalten. Das 3D-Speicherzellenarray kann monolithisch in einer oder in zwei physikalischen Ebenen des Speicherzellenarrays mit einem auf einem Siliziumsubstrat angeordneten aktiven Bereich und mit einer Schaltung, die mit einem Betrieb der Speicherzellen zusammenhängt, ausgebildet sein. Die Schaltung, die mit einem Betrieb der Speicherzellen zusammenhängt, kann in einem Substrat oder auf einem Substrat angeordnet sein. Der Begriff „monolithisch“ kann bedeuten, dass Schichten jeden Niveaus des 3D-Speicherzellenarrays direkt auf Schichten jeder unteren Ebene des 3D-Speicherzellenarrays angeordnet sind.
-
Gemäß zumindest einigen beispielhaften Ausführungsformen der erfinderischen Konzepte kann das 3D-Speicherzellenarray vertikale NAND-Ketten enthalten, die vertikal orientiert sind, so dass sich zumindest eine Speicherzelle sich über einer anderen Speicherzelle befindet. Die zumindest eine Speicherzelle kann eine Charge-Trap-Schicht enthalten. Jede vertikale NAND-Kette kann zumindest einen Auswahltransistor enthalten, der sich über den Speicherzellen befindet. Zumindest ein Auswahltransistor kann den gleichen Aufbau wie die Speicherzellen besitzen und kann zusammen mit den Speicherzellen monolithisch gebildet werden.
-
Die folgenden Patentschriften, die hierin durch Verweis mitaufgenommen sind, beschreiben geeignete Konfigurationen für 3D-Speicherzellenarrays, in denen ein 3D-Speicherzellenarray in einer Mehrzahl von Ebenen konfiguriert ist, mit Wortleitungen und/oder Bitleitungen, die zwischen den Ebenen geteilt werden:
U.S. Pat. Nos. 7 679 133 ;
8 553 466 ;
8 654 587 ;
8 559 235 ; und
US-Patentveröffentlichung Nr. 2011/0233648 .
-
Der Adress-Decoder 6100b kann mit dem Speicherzellenarray 6100a durch die Wortleitungen WL, Ketten-Auswahlleitungen SSL und Masseauswahlleitungen GSL verbunden sein. Der Adress-Decoder 6100b kann eine von einem Controller (z. B. dem Controller 1320 oder 1420 aus 1) empfangene Adresse ADDR_S‘ decodieren. Der Adress-Decoder 6100b kann zumindest eine von den Wortleitungen WL basierend auf der decodierten Adresse ADDR_S‘ auswählen und kann die zumindest eine ausgewählte Wortleitung treiben.
-
Die Steuerlogik und Spannungsgenerator 6100c können einen Befehl CMD_S‘ und ein Steuersignal CTRL von dem Controller (z. B. dem Controller 1320 oder 1420 in 1) empfangen. Die Steuerlogik und Spannungsgenerator 6100c können den Adress-Decoder 6100b, Page-Puffer 6100d und die Eingabe/Ausgabe-Schaltung 6100e als Antwort auf die empfangenen Signale steuern. Zum Beispiel kann die Steuerlogik und Spannungsgenerator 6100c den Adress-Decoder 6100b, den Page-Puffer 6100d und die Eingabe/Ausgabe-Schaltung 6100e als Antwort auf den Befehl CMD_S‘ und das Steuersignal CTRL steuern, so dass von dem Controller (z. B. von dem Controller 1320 oder 1420 aus 1) bereitgestellte Schreibdaten in dem Speicherzellenarray 6100a gespeichert werden, oder so, dass in dem Speicherzellenarray 6100a gespeicherte Lesedaten gelesen werden.
-
Die Steuerlogik und Spannungsgenerator 6100c können verschieden Spannungen erzeugen, die zum Betreiben des nichtflüchtigen Speichers 6100 verwendet werden. Zum Beispiel kann die Steuerlogik und Spannungsgenerator 6100c eine Mehrzahl von Programmierspannungen, eine Mehrzahl von Durchlassspannungen, eine Mehrzahl von Auswahllesespannungen, eine Mehrzahl von Nichtauswahllesespannungen, eine Mehrzahl von Löschspannungen sowie eine Mehrzahl von Verifikationsspannungen erzeugen. Der Steuerlogik- und Spannungsgenerator-Block 6100c kann die erzeugten Spannungen an den Adress-Decoder 6100b oder an ein Substrat des Speicherzellenarrays 6100a bereitstellen.
-
Der Page-Puffer 6100d kann mit dem Speicherzellenarray 6100a durch die Bitleitungen BL verbunden sein. Unter einer Steuerung der Steuerlogik und eines Spannungsgenerators 6100c kann der Page-Puffer 6100d die Bitleitungen BL so steuern, dass von der Eingangs/Ausgangs-Schaltung 6100e bereitgestellte Schreibdaten in dem Speicherzellenarray 6100a gespeichert werden. Unter der Steuerung der Steuerlogik und des Spannungsgenerators 6100c kann der Page-Puffer 6100d in dem Speicherzellenarray 6100a gespeicherte Daten lesen und kann die Lesedaten an die Eingangs/Ausgangs-Schaltung 6100e bereitstellen. Zum Beispiel kann der Page-Puffer 6100d Daten von der Eingangs/Ausgangs-Schaltung 6100e in der Einheit einer Page empfangen und kann diese Daten von dem Speicherzellenarray 6100a in einer Einheit einer Page lesen. Gemäß zumindest einigen beispielhaften Ausführungsformen der erfinderischen Konzepte kann der Page-Puffer 6100d Datenzwischenspeicher enthalten zum temporären Speichern von Daten, die von dem Speicherzellenarray 6100a ausgelesen wurden, oder von Daten, die von der Eingabe/Ausgabe-Schaltung 6100e bereitgestellt wurden.
-
Die Eingabe/Ausgabe-Schaltung 6100e kann Schreibdaten von einer externen Vorrichtung, wie zum Beispiel dem Controller 1320 oder 1420, empfangen und kann die Schreibdaten an den Page-Puffer 6100d bereitstellen. Alternativ kann die Eingabe/Ausgabe-Schaltung 6100e Lesedaten von dem Page-Puffer 6100d empfangen und kann die Lesedaten an eine externe Vorrichtung, wie zum Beispiel den Controller 1320 oder 1420 bereitstellen. Zum Beispiel kann die Eingabe/Ausgabe-Schaltung 6100e Daten DATA mit der externen Vorrichtung synchron mit dem Steuersignal CTRL austauschen.
-
16 ist ein konzeptionelles Diagramm, das einen Speicherblock des Speicherzellenarrays in 15 darstellt. Ein erster Speicherzellenblock BLK1 einer 3D-Struktur wird mit Bezug auf 16 beschrieben werden. 16 zeigt, dass das Speicherzellenarray 6100a aus 15 einen NAND-Typ-Flash-Speicher enthält. Jedoch sind einige beispielhafte Ausführungsformen der erfinderischen Konzepte nicht auf 16 beschränkt. Jeder von den Speicherblöcken kann ähnlich dem ersten Speicherblock BLK1 konfiguriert sein.
-
Der erste Speicherblock BLK1 kann eine Mehrzahl von Zellketten CS11, CS21 und CS22 enthalten. Die Zellketten CS11, CS12, CS21 und CS22 können entlang einer Zeilenrichtung und einer Spaltenrichtung angeordnet sein zum Bilden von Zeilen und Spalten. Zum Beispiel können die Zellketten CS1S11 und CS12 mit Kettenauswahlleitungen SSL1a und SSL1b verbunden sein zum Bilden einer ersten Zeile. Die Zellketten CS21 und CS22 können verbunden sein mit Kettenauswahlleitungen SSL2a und SSL2b zum Bilden einer zweiten Zeile. Zum Beispiel können die Zellketten CS11 und CS21 mit einer ersten Bitleitung BL1 verbunden sein zum Bilden einer ersten Spalte. Die Zellketten CS12 und CS22 können verbunden sein mit einer zweiten Bitleitung BL2 zum Bilden einer zweiten Spalte.
-
Jede von den Zellketten CS11, CS12, CS21 und CS22 können eine Mehrzahl von Zelltransistoren enthalten. Zum Beispiel kann jede von den Zellketten CS11, CS12, CS21 und CS22 Kettenauswahltransistoren SSTa und SSTb, eine Mehrzahl von Speicherzellen MC1 bis MC8, Masseauswahltransistoren GSTa und GSTb sowie Dummy-Speicherzellen DMC1 und DMC2 enthalten. Zum Beispiel können jeder der Zelltransistoren, die in den Zellketten CS11, CS12, CS21 und CS22 enthalten sind, eine Charge-Trap-Flash(CTF)-Speicherzelle enthalten.
-
Die Speicherzellen MC1 bis MC8 können in Serie geschaltet sein und können in einer Höhenrichtung, die senkrecht zu einer durch die Zeilen- und Spalten-Richtung definierten Ebene ist, gestapelt sein. Die Kettenauswahltransistoren SSTa und SSTb können in Serie geschaltet sein und können zwischen den Speicherzellen MC1 bis MC8 und einer Bitleitung BL angeordnet sein. Die Masseauswahltransistoren GSTa und GSTb können in Serie geschaltet sein und können zwischen den Speicherzellen MC1 bis MC8 und einer gemeinsame Source-Leitung CSL angeordnet sein.
-
Zum Beispiel kann eine erste Dummy-Speicherzelle DMC1 zwischen den Speicherzellen MC1 bis MC8 und den Masseauswahltransistoren GSTa und GSTb angeordnet sein. Zum Beispiel kann eine zweite Dummy-Speicherzelle MC2 zwischen den Speicherzellen MC1 bis MC8 und den Kettenauswahltransistoren SSTa und SSTb angeordnet sein.
-
Zum Beispiel können die Masseauswahltransistoren GSTa und GSTb der Zellketten CS11, CS12, CS21 und CS22 gemeinsam mit einer Masseauswahlleitung GSL verbunden sein wie in 16 dargestellt ist. Jedoch können bei einigen anderen Beispielen Masseauswahltransistoren in der gleichen Zeile mit der gleichen Masseauswahlleitung verbunden sein und können Masseauswahltransistoren von verschiedenen Zeilen mit verschiedenen Masseauswahlleitungen verbunden sein. Zum Beispiel können die ersten Masseauswahltransistoren GSTa der Zellketten CS11 und CS12 in der ersten Zeile mit der ersten Masseauswahlleitung verbunden sein und können erste Masseauswahltransistoren GSTa der Zellketten CS21 und CS22 in der zweiten Zeile mit der zweiten Masseauswahlleitung verbunden sein.
-
Speicherzellen in der gleichen Höhe von einem Substrat (oder von den Masseauswahltransistoren GSTa und GSTb) können gemeinsam mit der gleichen Wortleitung verbunden sein, und Speicherzellen in verschiedenen Höhen davon können mit verschiedenen Wortleitungen verbunden sein. Zum Beispiel können die Speicherzellen MC1 bis MC8 der Zellketten CS11, CS12, CS21 und CS22 gemeinsam mit der ersten bis achten Wortleitung WL1 bis WL8 jeweilig verbunden sein.
-
Kettenauswahltransistoren, die zu der gleichen Zeile gehören, von den ersten Auswahltransistoren SSTa in der gleichen Höhe können mit der gleichen Kettenauswahlleitung verbunden sein, und Kettenauswahltransistoren, die zu verschiedenen Zeilen gehören, können mit verschiedenen Kettenauswahlleitungen verbunden sein. Zum Beispiel können die ersten Kettenauswahltransistoren SSTa der Zellketten CS11 und CS12 in der ersten Zeile gemeinsam verbunden sein mit der Kettenauswahlleitung SSL1a, und können die ersten Kettenauswahltransistoren SSTa der Zellketten CS21 und CS22 in der zweiten Zeile gemeinsam mit der Kettenauswahlleitung SSL2a verbunden sein.
-
Ähnlich können Kettenauswahltransistoren, die zu der gleichen Zeile gehören, von den zweiten Kettenauswahltransistoren SSTb in der gleichen Höhe mit der gleichen Kettenauswahlleitung verbunden sein, und können Kettenauswahltransistoren in verschiedenen Zeilen mit verschiedenen Kettenauswahlleitungen verbunden sein. Zum Beispiel können die zweiten Kettenauswahltransistoren SSTb der Zellketten CS11 und CS12 in der ersten Zeile gemeinsam mit einer Kettenauswahlleitung SSL1b verbunden sein, und können die zweiten Kettenauswahltransistoren SSTb der Zellketten CS21 und CS22 in der zweiten Zeile gemeinsam mit einer Kettenauswahlleitung SSL2b verbunden sein.
-
Obwohl nicht in 16 dargestellt, können Kettenauswahltransistoren der Zellketten in der gleichen Zeile gemeinsam mit der gleichen Kettenauswahlleitung verbunden sein. Zum Beispiel können die ersten und zweiten Kettenauswahltransistoren SSTa und SSTb der Zellketten CS11 und CS12 in der ersten Zeile gemeinsam mit der gleichen Kettenauswahlleitung verbunden sein. Die ersten und zweiten Kettenauswahltransistoren SSTa und SSTb der Zellketten CS21 und CS22 in der zweiten Zeile können gemeinsam mit der gleichen Zellauswahlleitung verbunden sein.
-
Zum Beispiel können Dummy-Speicherzellen in der gleichen Höhe mit der gleichen Dummy-Wortleitung verbunden sein, und können Dummy-Speicherzellen in ver schiedenen Höhen mit verschiedenen Dummy-Wortleitungen verbunden sein. Zum Beispiel können die ersten Dummy-Speicherzellen DMC1 mit einer ersten Dummy-Wortleitung DWL1 verbunden sein, und können zweite Dummy-Speicherzellen DMC2 mit einer zweiten Dummy-Wortleitung DWL2 verbunden sein.
-
In dem ersten Speicherblock BLK1, können Lese-und Schreib-Operationen durchgeführt werden von einer Zeileneinheit. Zum Beispiel kann eine Zeile von dem ersten Speicherblock BLK1 ausgewählt werden von den Kettenauswahlleitungen SSL1a, SSL1b, SSL2a und SSL2b.
-
Zum Beispiel können die Zellketten CS11 und CS12 in der ersten Zeile jeweilig verbunden sein mit den Bitleitungen BL1 und BL2, wenn die Einschaltspannung an die Kettenauswahlleitungen SSL1a und SSL1b geliefert wird und die Einschaltspannung an die Kettenauswahlleitungen SSL2a und SSL2b geliefert wird. Andererseits können die Zellketten CS21 und CS22 in der zweiten Zeile jeweilig verbunden sein mit den Bitleitungen BL1 und BL2, wenn die Einschaltspannung an die Kettenauswahlleitungen SSL2a und SSL2b geliefert wird und die Einschaltspannung an die Kettenauswahlleitungen SSL1a und SSL1b geliefert wird. Wenn eine Wortleitung getrieben wird, können Speicherzellen, die in der gleichen Höhe angeordnet sind, von Speicherzellen in Zellsträngen, die mit der getriebenen Wortleitung verbundenen sind, ausgewählt werden. Lese- und Schreiboperationen können durchgeführt werden bezüglich der ausgewählten Speicherzellen. Die ausgewählten Speicherzellen können eine physikalische Page-Einheit (oder Speicherseiten-Einheit) bilden.
-
In dem ersten Speicherblock BLK1 können Speicherzellen in einer Einheit von einem Speicherblock oder einem Unterblock gelöscht werden. Beim Durchführen des Löschens in einer Einheit eines Speicherblocks können alle Speicherzellen MC1 bis MC8 in dem ersten Speicherblock BLK1 gleichzeitig gelöscht werden gemäß einer Löschanforderung. Beim Durchführen eines Löschens in einer Einheit eines Unterblocks können einige der Speicherzellen MC1 bis MC8 in dem ersten Speicherzellenblock BLK1 gleichzeitig gelöscht werden gemäß einer Löschanforderung, und die verbleibenden Speicherzellen können löschgehemmt sein. Eine geringere Spannung (z. B. eine Massespannung) kann an eine mit gelöschten Speicherzellen verbundene Wortleitung angelegt werden, und eine mit löschgehemmten Speicherzellen verbundene Wortleitung kann schwebend sein.
-
Eine Konfiguration des in 16 dargestellten ersten Speicherblocks BLK1 könnte nur ein Beispiel sein. Die Anzahl von Zellketten kann zunehmen oder abnehmen, und die Anzahl von Zeilen von Zellketten und die Anzahl von Spalten von Zellketten können zunehmen oder abnehmen gemäß der Anzahl von Zellketten. Zusätzlich kann in dem ersten Speicherblock BLK1 die Anzahl von Zelltransistoren (z. B. GST, MC, DMC, SST und/oder dergleichen) zunehmen oder abnehmen, und eine Höhe des ersten Speicherblocks BLK1 kann zunehmen oder abnehmen gemäß der Anzahl von Zelltransistoren (z. B. GST, MC, DMC, SST und/oder dergleichen). Darüber hinaus kann die Anzahl von Leitungen (z. B. GSL, WL, DWL, SSL und/oder dergleichen), die mit Zelltransistoren verbunden sind, zunehmen oder abnehmen gemäß der Anzahl von Zelltransistoren (z. B. GST, MC, DMC, SST und/oder dergleichen).
-
Bezüglich beispielhafter Ausführungsformen der erfinderischen Konzepte, die somit beschrieben wurden, wird es einleuchten, dass dieselben auf viele verschiedene Arten und Weisen variiert werden können. Solche Abwandlungen sind nicht als eine Abkehr von der beabsichtigten Idee und dem Umfang der beispielhaften Ausführungsformen des erfinderischen Konzepts zu betrachten, und alle diese Abwandlungen, die für einen Fachmann ersichtlich sind, sollen in dem Umfang der folgenden Ansprüche enthalten sein.
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Patentliteratur
-
- US 7679133 [0148]
- US 8553466 [0148]
- US 8654587 [0148]
- US 8559235 [0148]
- US 2011/0233648 [0148]