-
TECHNISCHES GEBIET
-
Die vorliegende Offenbarung bezieht sich generell auf nichtflüchtige Speichervorrichtungen und insbesondere auf nichtflüchtige Speichervorrichtungen, die mehrere Bänke aufweisen, auf die durch mehrere heterogene Ports zugegriffen werden kann.
-
ALLGEMEINER STAND DER TECHNIK
-
Nichtflüchtige Speichervorrichtungen (NVM-Vorrichtungen, NVM = nonvolatile memory) können vorteilhafterweise Daten in Abwesenheit von Strom speichern. Als solches finden NVM-Vorrichtungen breite Anwendung in tragbaren und industriellen Vorrichtungen. Eine solche Anwendung kann als Speicher in Automobil- oder anderen Transportvorrichtungen vorliegen.
-
Ein Nachteil von herkömmlichen NVM-Vorrichtungen können Zugriffsgeschwindigkeiten, besonders Lesedatenraten, sein. Herkömmliche NVM-Vorrichtungen werden typischerweise mit seriellen Datenschnittstellen gefertigt, die eine Gesamtrate, mit der Daten von einer NVM-Vorrichtung gelesen werden können, begrenzen können.
-
Die
US 2015 / 0 317 277 A1 beschreibt eine Computerarchitektur mit wählbaren, parallelen und seriellen Kommunikationskanälen zwischen Prozessoren und einem Speicher. Die
US 2012 / 0 017 035 A1 bezieht sich auf die Re-Programmierung eines Prozessor-Codespeicherbereichs während einer Laufzeit.
-
GEGENSTAND DER ERFINDUNG
-
Gemäß Anspruch 1 wird eine nichtflüchtige Speichervorrichtung beansprucht, gemäß dem unabhängigen Anspruch 7 wird ein Verfahren zum Betreiben einer nichtflüchtigen Speichervorrichtung beansprucht und gemäß dem unabhängigen Anspruch 14 wird ein System beansprucht. Weitere Ausführungsformen sind den abhängigen Ansprüchen zu entnehmen.
-
KURZBESCHREIBUNG DER FIGUREN
-
- 1A bis 1C sind Diagramme, die eine nichtflüchtige Speichervorrichtung (NVM-Vorrichtung) und Datenzugriffsoperationen gemäß einer Ausführungsform zeigen.
- 2 ist ein Diagramm, das eine NVM-Vorrichtung mit mehreren Dice gemäß einer Ausführungsform zeigt.
- 3A bis 3C sind Blockdiagramme, die eine NVM-Vorrichtung mit mehreren Bänken, auf die zeitgleich über einen Seriell- und einen Parallelport zugegriffen werden kann, gemäß Ausführungsformen zeigen.
- 3D bis 3F sind Blockdiagramme, die NVM-Vorrichtungen mit verschiedenen Portkonfigurationen sowie Bankzugriffssteuerungsoperationen zeigen.
- 4 ist ein Blockdiagramm einer NVM-Vorrichtung mit einem LPDDR4-kompatiblen Port, einem SPI-kompatiblen Port (SPI = Serial Peripheral Interface, Seriellperipherieschnittstelle) und getrennt zugreifbaren Bänken gemäß einer Ausführungsform.
- 5 ist eine Tabelle, die herkömmliche LPDDR4-Befehle zeigt.
- 6A ist eine Tabelle, die kundenspezifische Lesebefehle zeigt, die von einer NVM-Vorrichtung über eine LPDDR4-Schnittstelle gemäß einer Ausführungsform empfangen und verarbeitet werden können. 6B ist eine Tabelle, die herkömmliche LPDDR4-Befehle zeigt, die von einer NVM-Vorrichtung gemäß einer Ausführungsform empfangen und verarbeitet werden können.
- 7 ist eine Tabelle, die ein Bankzugriffsregister gemäß einer Ausführungsform zeigt.
- 8 ist ein Zeitdiagramm, das eine herkömmliche LPDDR4-Leseoperation zeigt.
- 9A ist ein Zeitdiagramm, das eine schnelle Leseoperation über einen LPDDR4-Port einer NVM-Vorrichtung gemäß einer Ausführungsform zeigt. 9B zeigt aufeinanderfolgende Leseoperationen an unterschiedlichen Bänken einer NVM-Vorrichtung für ununterbrochene Datenbursts gemäß einer Ausführungsform.
- 10A bis 10C sind Zeitdiagramme für verschiedene Operationen über einen SPI-Port für eine NVM-Vorrichtung gemäß Ausführungsformen.
- 11 ist ein Zustandsdiagramm, das Bankzugriffsoperationen über einen Parallel- und Seriellport einer NVM-Vorrichtung gemäß einer Ausführungsform zeigt.
- 12 ist ein Flussdiagramm, das Bankzugriffsoperationen über einen LPDDR4- und SPI-Port einer NVM-Vorrichtung gemäß einer Ausführungsform zeigt.
- 13 ist ein schematisches Diagramm eines NVM-Zellen-Arrays, das in Ausführungsformen eingeschlossen sein kann.
- 14 ist ein Diagramm einer NVM-Zelle, die in Ausführungsformen eingeschlossen sein kann.
- 15 ist ein Blockdiagramm eines Systems gemäß einer Ausführungsform.
- 16 ist ein Blockdiagramm eines Automobilsteuerungssystems gemäß einer Ausführungsform.
- 17 ist ein Diagramm einer integrierten Schaltungsvorrichtung gemäß einer Ausführungsform.
- 18 ist ein Diagramm eines Automobilsystems gemäß einer Ausführungsform.
-
DETAILLIERTE BESCHREIBUNG
-
Gemäß Ausführungsformen kann eine nichtflüchtige Speichervorrichtung (NVM-Vorrichtung) mehrere Bänke von nichtflüchtigen Speicherzellen umfassen, auf die durch heterogene Ports oder Schnittstellen (interfaces, I/Fs) zugegriffen werden kann. Ein erster Port kann einen Datendurchsatz mit relativ hoher Datenrate in Bezug auf einen zweiten Port bereitstellen. In einigen Ausführungsformen kann ein erster Port ein Nur-Lese-Port sein, während ein zweiter Port ein Lese-Schreib-Port (z. B. Programm-Port) sein kann. In einigen Ausführungsformen kann, während auf eine Bank über einen Port zugegriffen wird, auf eine andere Bank durch einen anderen Port zugegriffen werden.
-
Gemäß Ausführungsformen kann ein erster Port einer NVM-Vorrichtung eine Doppeldatenrate-Schnittstelle (DDR-Schnittstelle) sein, die mit einer Standardschnittstelle kompatible Befehle verarbeiten kann. Des Weiteren kann die DDR-Schnittstelle kundenspezifische Befehle verarbeiten, die schnelle NVM-Bankzugriffe bereitstellen können. In einigen Ausführungsformen kann eine DDR-Schnittstelle mit einem Niedrigstrom-DDR-Schnittstellen-Standard (LPDDR-Standard, LP = low power), verbreitet durch JEDEC, kompatibel sein, aber auch Zugriff über kundenspezifische Befehle bereitstellen, die nicht Teil des LPDDR-Standards sind. In den verschiedenen Ausführungsformen unten werden ähnliche Elemente durch die gleichen Bezugszeichen bezeichnet, wobei die führende(n) Ziffer(n) aber der Figurzahl entsprechen.
-
1A ist ein Blockdiagramm einer NVM-Vorrichtung 100 gemäß einer Ausführungsform. Die NVM-Vorrichtung 100 kann NVM-Zellen 102, einen ersten Port 104 und einen zweiten Port 106 umfassen. Die NVM-Speicherzellen 102 können ein beliebiger Typ einer nichtflüchtigen Speicherzelle sein, die Daten in einer nichtflüchtigen Weise speichert. In einigen Ausführungsformen können NVM-Speicherzellen „Flash“-Typ-Speicherzellen sein, die eine NOR-Typ-Architektur aufweisen.
-
Ein erster Port 104 kann ein Parallelport sein, der Daten in paralleler Weise als Reaktion auf Befehls- und Adressdaten ausgeben kann. Ein erster Port 104 kann einen Befehlsadresseneingang (CA-Eingang, CA = command address), einen parallelen Datenausgang (DQ-Ausgang) und einen Datentaktausgang (DQS-Ausgang) umfassen. Ein CA-Eingang kann eine Zahl von Eingängen zum Empfangen von Befehls- und Adressdaten als Sequenz aus parallelen Bitwerten umfassen. Ein DQS-Ausgang kann einen Datentakt bereitstellen. Ein DQ-Ausgang umfasst eine Zahl von unidirektionalen Datenausgängen, die Ausgangsdaten parallel bereitstellen können (z. B. Bytes, Wörter, Doppelwörter etc.).
-
In einigen Ausführungsformen kann ein erster Port 104 mit einigen Operationen eines Doppeldatenrate-Standards (DDR-Standards) kompatibel sein, aber zum Verarbeiten oder Ausführen von Schreiboperationen fähig sein. In einigen Ausführungsformen kann ein erster Port 104 mit einigen Operationen des LPDDR4-Standards, verbreitet durch JEDEC, kompatibel sein, aber nicht unbedingt allen Operationen. Zum Beispiel werden in einigen Ausführungsformen Schreiboperationen nicht unterstützt. In alternativen Ausführungsformen kann jedoch ein erster Port 104 ein Lese-/Schreib-Port sein und Schreiboperationen und/oder Registersetzoperationen können unterstützt sein. Darüber hinaus kann ein erster Port 104 mit kundenspezifischen Lesebefehlen kompatibel sein, die nicht Teil des LPDDR4-Standards sind.
-
Ein zweiter Port 106 kann ein Seriellport sein, der Befehl, Adresse und Daten in einer seriellen Weise auf einem oder mehreren Serielldateneingang und/oder -ausgängen (inputs/outputs, I/Os) übertragen kann. Ein Seriellport 106 kann einen Serielltakteingang (S_CK-Eingang) und einen oder mehrere Serielldaten-I/Os (S_DQ) umfassen. In einigen Ausführungsformen kann ein zweiter Port 106 mit einem Serial-Peripheral-Interface-Standard (SPI-Standard) kompatibel sein.
-
Ein erster Port 104 kann einen höheren Datendurchsatz als ein zweiter Port 106 bereitstellen. Demgemäß können Daten von NVM-Zellen 102 mit einer relativ hohen Datenrate über den zweiten Port gelesen werden, während Daten über den zweiten Port 106 sowohl gelesen als auch geschrieben (z. B. programmiert, gelöscht) werden können.
-
In einigen Ausführungsformen kann eine NVM-Vorrichtung 100 in einer einzelnen integrierten Schaltung ausgebildet sein. In besonderen Ausführungsformen kann eine NVM-Vorrichtung eine einzelne integrierte Schaltungsvorrichtung sein, die Schaltungen aufweist, die mit einem einzelnen integrierten Schaltungssubstrat ausgebildet sind.
-
1B ist ein Zeitdiagramm, das Zugriffsoperationen an einem ersten Port 104 der in 1A gezeigten NVM-Vorrichtung zeigt. Befehls- und Adressdaten (CMD/ADD) können an einem CA-Eingang als eine Sequenz von parallelen Bits empfangen werden. In einigen Ausführungsformen unterhält der erste Port 104 keine Schreiboperationen und ist DQ ein unidirektionaler Port (d. h. gibt Lesedaten aus, empfängt aber keine Schreibdaten). Im Anschluss an gelesenen Befehls- und Adressdaten kann ein DQS-Ausgang ein Datentaktsignal bereitstellen. DQ kann Daten parallel auf aufeinanderfolgenden steigenden und fallenden Übergängen eines DQS-Datentaktsignals bereitstellen.
-
1C ist ein Zeitdiagramm, das Zugriffsoperationen an einem zweiten Port 106 der in 1A gezeigten NVM-Vorrichtung zeigt. Befehls- und Adressdaten (CMD/ADD) können an einem Serielldaten-I/O (S_DQ) empfangen werden. Danach können Lesedaten ausgegeben werden oder können Schreibdaten auf demselben oder einem anderen Serielldaten-I/O getrieben werden. Auf einem Serielldaten-I/O werden Bitwerte in Synchronisation mit Serielltakt S_CK bereitgestellt. Während 1C einen Seriell-I/O zeigt, können alternative Ausführungsformen mehr als einen Seriell-I/O umfassen.
-
Während Ausführungsformen DDR-Typ-Parallelports zeigen, können alternative Ausführungsformen Einzeldatenrate-Typ-Parallelports umfassen. Des Weiteren können ein oder beide Ports einer NVM-Vorrichtung mit einer beliebigen geeigneten DRAM-Schnittstelle kompatibel sein, unter anderem SDRAM, DDR1, DDR2, DDR3 und einer anderen Implementierung von DDR4.
-
2 ist ein Blockdiagramm einer NVM-Vorrichtung 200 gemäß einer anderen Ausführungsform. Die NVM-Vorrichtung 200 kann Elemente wie jene, die in 1A gezeigt werden, umfassen. Die NVM-Vorrichtung 200 kann eine Implementierung von jener, die in 1A gezeigt wird, sein. 2 unterscheidet sich von 1A dadurch, dass die NVM-Vorrichtung 200 mit mehreren Dice gezeigt wird (zwei gezeigt als 208-0 und 208-1. Andere Ausführungsformen können jedoch eine geringere oder größere Zahl von Dice umfassen). Auf jedes Die 208-0/1 kann durch einen ersten Port 204 und einen zweiten Port 206 zugegriffen werden.
-
Ein erster Port 204 kann ein Parallelport sein und ein zweiter Port 206 kann ein Seriellport sein. Zugriffe können, wie in dem Fall von 1A bis 1C, stattfinden, wenn ein spezifisches Die durch Operation eines Chipauswahleingangs ausgewählt wird. Insbesondere für Zugriffe über den ersten Port 204 kann das Chipauswahlsignal CS_A das Die 208-0 für einen möglichen Zugriff auswählen und kann das Chipauswahlsignal CS_B das Die 208-1 für einen möglichen Zugriff auswählen. Darüber hinaus kann der CA-Eingang in Synchronisation mit dem Eingangstakt CK eingegeben werden. Für Zugriffe über den zweiten Port 206 können die Chipauswahlsignale S_CSA und S_CSB zwischen den Dice 208-0 und 208-1 für einen möglichen Zugriff auswählen.
-
3A ist ein Blockdiagramm einer NVM-Vorrichtung 300 gemäß einer anderen Ausführungsform. Die NVM-Vorrichtung 300 kann eine Implementierung von jener, die in 1A gezeigt wird, sein. Eine NVM-Vorrichtung 300 kann einen ersten Port 304, einen zweiten Port 306, eine erste Schnittstelle (I/F) 310, eine zweite I/F 312 und eine Zahl von getrennt adressierbaren Bänken 314-0 bis -3 umfassen. Eine erste I/F 310 kann eine Parallel-DDR-I/F sein, die parallele Ausgangsdaten am Datenausgang DQ in Synchronisation mit steigenden und fallenden Flanken eines Datentakts DQS bereitstellen kann. In einigen Ausführungsformen ist eine erste I/F 310 nicht zum Verarbeiten von Schreibanforderungen fähig. Eine erste I/F 310 kann mit dem LPDDR4-Standard kompatibel sein (aber wird möglicherweise keine LPDDR4-Schreibanforderungen verarbeiten). Eine erste I/F 310 kann auch kundenspezifische Lesebefehle verarbeiten, die nicht Teil des LPDDR4-Standards sind.
-
Eine zweite I/F 312 kann eine Seriell-I/F sein, die serielle Datentransaktionen auf einem oder mehreren Serielldaten-I/Os (S_DQ) in Synchronisation mit einem Serielltakt S_CK aktivieren kann. In einigen Ausführungsformen kann eine zweite I/F 312 mit dem SPI-Standard kompatibel sein, einschließlich des Verarbeitens von seriellen Lese- und Schreibbefehlen (z. B. Programm-, Löschbefehlen).
-
Die Bänke (314-0 bis -3) können jeweils eine Zahl von NVM-Zellen umfassen. Innerhalb jeder Bank (314-0 bis -3) können NVM-Zellen in einem oder mehreren Arrays angeordnet und nach Zeilen- und Spaltenadressen zugreifbar sein. Die NVM-Zellen können eine beliebige geeignete Form aufweisen und können in einigen Ausführungsformen „Flash“-Typ-Speicherzellen sein. Die Bänke (314-0 bis -3) können getrennt adressierbar sein. Das heißt, ein physisches Adressieren von Vorrichtung 300 kann eine getrennte Bankadresse für jede Bank (314-0 bis -3) aufweisen. Sämtliche Bänke (314-0 bis-3) können mit einem ersten Bussystem 316 und einem zweiten Bussystem 318 verbunden sein. Das erste Bussystem 316 kann die Bänke (314-0 bis -3) mit der ersten I/F 310 verbinden. Das zweite Bussystem 318 kann die Bänke (314-0 bis -3) mit der zweiten I/F 312 verbinden. Während 3A eine Vorrichtung mit vier Bänken zeigt, können Ausführungsformen eine größere oder geringere Zahl von Bänken umfassen.
-
3B und 3C sind Blockdiagramme, die zeigen, wie durch unterschiedliche Ports zeitgleich auf getrennt adressierbare Bänke (314-0 bis -3) zugegriffen werden kann. 3B zeigt eine erste Porttransaktion 320-0, die zeitgleich mit einer zweiten Porttransaktion 322-0 stattfindet. Eine erste Porttransaktion 320-0 kann ein Lesen von Daten von Bank 314-3 sein, um Daten parallel auf dem ersten Port 304 auszugeben. Eine zweite Porttransaktion 322-0 kann ein Lesen von Daten von oder Schreiben von Daten auf Bank 314-1 über den zweiten Port 306 sein. 3C zeigt ein anderes Beispiel für eine erste Porttransaktion 320-1 und eine zweite Porttransaktion 322-1, die auf unterschiedliche Bänke gerichtet sind und so gleichzeitig stattfinden können.
-
In einigen Ausführungsformen sind zeitgleiche Zugriffe auf eine gleiche Bank (314-0 bis - 3) durch beide Ports 304/306 nicht erlaubt. In einigen Ausführungsformen kann jede Bank (314-0 bis -3) dynamisch für einen Port (304 oder 306) designiert werden. Falls eine Bank (314-0 bis -3) für einen Port designiert ist, kann auf die Bank nicht durch den anderen Port zugegriffen werden.
-
Während Ausführungsformen NVM-Vorrichtungen mit besonderen Porttypen (d. h. seriell und parallel) gezeigt haben, können alternative Ausführungsformen Ports mit einem beliebigen anderen geeigneten Typ umfassen. Als eine von vielen möglichen alternativen Ausführungsformen zeigt 3D eine NVM-Vorrichtung 300, bei der ein erster Port 304' auch ein Schreibport sein kann. In 3D werden Elemente wie jene von 3A mit denselben Bezugszeichen gezeigt. Eine erste Schnittstelle 311 kann Schreibschaltungen (einschließlich Programmschaltungen) umfassen, um Schreiboperationen von dem ersten Port 304' zu aktivieren. Eine erste Porttransaktion 320-0' kann ein Lesen oder Schreiben an der Bank 314-3 sein. Eine zweite Porttransaktion 322-0 kann ein Lesen oder Schreiben an der Bank 314-1 über den zweiten Port sein 306. 3D zeigt ein anderes Beispiel für eine erste Porttransaktion 320-0' und eine zweite Porttransaktion 322-1, die auf unterschiedliche Bänke gerichtet sind und so gleichzeitig stattfinden können. Weiterhin bezugnehmend auf 3D kann ein zweiter Port 306 ein Nur-Lese-Port sein oder kann auch ein Lese-Schreib-Port sein. Während 3D einen ersten Port 304 als einen parallelen zeigt, kann er in alternativen Ausführungsformen ein unterschiedlicher Porttyp sein, einschließlich eines Seriellports, um nur ein Beispiel zu nennen.
-
3E zeigt Bankzugriffskonfrontationsoperationen gemäß Ausführungsformen. In 3E werden Elemente wie jene von 3D mit denselben Bezugszeichen gezeigt. 3E zeigt ebenfalls Bankzugriffsschaltungen 328. Bankzugriffsschaltungen 328 können steuern, welcher/welche Port(s) (304' oder 306) einen Zugriff auf eine besondere Bank (314-0 bis -3) aufweist/aufweisen. Gemäß Ausführungsformen kann der Zugriff auf Bänke (314-0 bis -3) durch eine Bankzugriffssetzoperation 323 gesetzt werden, die über den zweiten Port 306 vorgenommen wird. Darüber hinaus oder alternativ kann der Zugriff auf Bänke (314-0 bis -3) durch eine Bankzugriffssetzoperation 321 gesetzt werden, die über den ersten Port 304 vorgenommen wird. In einigen Ausführungsformen kann eine erste und/oder zweite I/F 310/311 Registerschreibbefehle verarbeiten, die mit einem existierenden Standard zum Setzen von Bankzugriffen kompatibel sind. Darüber hinaus oder alternativ kann eine erste und/oder zweite I/F 310/311 kundenspezifische Bankkonfigurationsbefehle verarbeiten, die nicht Teil eines Standards sind.
-
3F zeigt eine NVM-Vorrichtung 300 gemäß verschiedenen anderen Ausführungsformen. In 3F werden Elemente wie jene von 3A mit denselben Bezugszeichen gezeigt. In der gezeigten Ausführungsform können sowohl ein erster Port 304' als auch ein zweiter Port 304" Parallelports sein. Ein erster Port 304' kann ein Lese- oder Lese-Schreib-Port sein. Ein zweiter Port 304" kann ein Lese- oder Lese-Schreib- Port sein.
-
4 ist ein Blockdiagramm einer NVM-Vorrichtung 400 gemäß einer weiteren Ausführungsform. Die NVM-Vorrichtung 400 kann eine Implementierung von jener, die in 1A gezeigt wird, sein. Die NVM-Vorrichtung 400 kann einen LPDDR4-kompatiblen Port 404, einen Quad-SPI-kompatiblen (QSPI-kompatiblen) Port 406, eine LPDDR4-kompatible Bitübertragungsschicht-Schnittstelle (PHY) (bezeichnet als LPDDR4 PHY) 410, eine QSPI-kompatible PHY (bezeichnet als QSPI PHY) 412, mehre Bänke 414-0 bis -7, einen ersten Zugriffspfad 424-0 bis -7 für jede Bank (424-0 bis -7), einen zweiten Zugriffspfad 426-0 bis -7 für jede Bank (426-0 bis -7), ein Bankzugriffsregister 428 und einen eingebetteten Operationsabschnitt 430 umfassen.
-
Der LPDDR4-kompatible Port 404 kann eine Chipauswahl CS, einen Takteingang CK_t, einen Befehlsadressen-CA-Eingang, einen ersten Datenausgang DQ[7:0] mit entsprechendem Datentaktausgang DQS0_t und einen zweiten Datenausgang DQ[15:8] mit entsprechendem Datentaktausgang DQS1_t umfassen.
-
Die LPDDR4 PHY 410 kann Befehle verarbeiten, die über den Port 404 empfangen werden, einschließlich LPDDR4-kompatibler Befehle. In einigen Ausführungsformen kann die LPDDR4 PHY 410 einige LPDDR4-kompatible Befehle verarbeiten, aber nicht LPDDR4-Schreibbefehle verarbeiten. Die LPDDR4 PHY 410 kann mit den Bänken (414-0 bis -7) über das erste Bussystem 418 verbunden sein. Eine Lese-Datentransferrate über LPDDR4 PHY 410 kann schneller als jene von QSPI PHY 412 sein. In einigen Ausführungsformen kann LPDDR4 PHY 410 in Kommunikation mit dem eingebetteten Operationsabschnitt 430 sein, um Zugriffsanforderungen an von LPDDR4-Port 404 zu signalisieren.
-
Der QSPI-kompatible Port 406 kann eine Seriellchipauswahl SPI_CS, einen Serielltakteingang SPI_CK und vier Serielldaten-I/Os SPI_DQ umfassen. Die QSPI PHY 412 kann Befehle verarbeiten, die über den Port 406 empfangen werden, einschließlich QSPI-kompatibler Befehle. Solche Befehle können sowohl Lese- als auch Schreibbefehle (z. B. Programmbefehle) umfassen.
-
Ein Bankzugriffsregister 428 kann Bankzugriffsdaten für jede Bank (414-0 bis -7) speichern, die den Portzugriff auf die Bank steuern können. In einigen Ausführungsformen kann, falls Bankzugriffsdaten für eine Bank (414-0 bis -7) einen gewissen Wert aufweisen, auf die Bank durch den QSPI-Port 406 zugegriffen werden, aber nicht durch den LPDDR4-Port 404 zugegriffen werden. Falls Bankzugriffsdaten einen anderen Wert aufweisen, kann auf die Bank durch den LPDDR4-Port 404 zugegriffen werden, aber nicht durch den QSPI-Port 406 zugegriffen werden.
-
Jede Bank (414-0 bis -7) kann NVM-Zellen umfassen, die in Zeilen und Spalten angeordnet sind, und kann getrennt über eine eindeutige Bankadresse zugreifbar sein. In einigen Ausführungsformen können NVM-Zellen als Gruppe löschbar sein (z. B. Flash-Typ-Zellen). Lesepfade (424-0 bis -7) können Zugriffe auf ihre entsprechende Bank (414-0 bis -7) von dem LPDDR4-Port 404 über das erste Bussystem 416 aktivieren. L/S-Pfade (426-0 bis -7) können Lese- oder Schreibzugriffe auf ihre entsprechende Bank (414-0 bis -7) von dem QSPI-Port 406 über das zweite Bussystem 418 aktivieren. In einigen Ausführungsformen können Lesepfade (424-0 bis -7) und L/S-Pfade (426-0 bis -7) gemäß Bankzugriffswerten aktiviert oder deaktiviert werden.
-
Wie in dem Fall von 3A bis 3C kann von unterschiedlichen Ports 404/406 zeitgleich auf unterschiedliche Bänke (414-0 bis -7) zugegriffen werden. Es kann jedoch nicht von beiden Ports 404/406 zeitgleich auf eine gleiche Bank (414-0 bis -7) zugegriffen werden.
-
Der eingebettete Operationsabschnitt 430 kann einen Schreibpuffer 430-0, einen Befehlsprozessor 430-1 und einen Prozessorabschnitt 430-2 umfassen. Ein Schreibpuffer 430-0 kann Schreibdaten von dem QSPI-Port 406 zum anschließenden Programmieren in eine adressierte Bank (414-0 bis -7) empfangen und speichern. Ein Befehlsprozessor 430-1 kann auf dem QSPI-Port 406 empfangene Daten dekodieren und passende Steuersignale generieren, um den Befehl auszuführen. Ein Prozessorabschnitt 430-2 kann eine oder mehrere zentrale Verarbeitungseinheiten (central processing units, CPUs) umfassen, um verschiedene Funktionen für die NVM-Vorrichtung 400 auszuführen. Solche Funktionen können das Setzen von Bankzugriffswerten als Reaktion auf Befehle umfassen, die am ersten und zweiten Port 404 und 406 empfangen werden. Des Weiteren kann der Prozessorabschnitt 430-2 beliebige von Folgenden bilden: Wartungs-NVM-Zellen (z. B. Wear-Leveling), Sektorzugriffssteuerung (Startsektoren), Verschlüsselung/Entschlüsselung, um nur einige Beispiele zu nennen.
-
5 ist eine Tabelle 550, die herkömmliche LPDDR4-Befehle zum Lesen von Daten von einer Speichervorrichtung zeigt. Die Tabelle 550 umfasst die Spalten BEFEHL, die einen Befehlstyp identifiziert, CS, die einen Chipauswahlwert identifiziert, Befehls-/Adressbuswerte (CA0 bis CA5) und Taktwerte CK. Wie gezeigt, umfasst jeder Befehl einen Satz Bitwerte, die auf einen ersten Taktübergang (CK = 1) und den unmittelbar folgenden nächsten Taktübergang (CK = 2) des gleichen Typs angewandt werden (z. B. steigende Flanke. Eine herkömmliche LPDDR4-Leseoperation beinhaltet die vier Befehle, die in der vertikalen Reihenfolge gezeigt werden (d. h. Aktivieren-1 - Aktivieren-2 - Lesen-1 - CAS-2). Das heißt, ein herkömmlicher LPDDR4-Lesezugriff umfasst vier Befehle, wobei jeder Befehl zwei Taktzyklen einnimmt.
-
Gemäß Ausführungsformen kann eine NVM-Vorrichtung eine DDR-Schnittstelle einsetzen, die mit einem existierenden Standard kompatibel ist. Die Schnittstelle kann jedoch eine schnellere Sequenz von Befehlen verarbeiten, um einen Lesezugriff zu aktivieren. Das heißt, falls ein DDR-Standard N Befehle für einen Lesezugriff vorschreibt, kann eine NVM-Vorrichtung gemäß einer Ausführungsform einen Lesezugriff in M Befehlen aktivieren, wobei M < N.
-
Ein besonderes Beispiel für eine solche Ausführungsform wird in 6A gezeigt. 6A ist eine Tabelle 650, die eine Befehlssequenz für das Zugreifen auf NVM-Zellen (z. B. eine Bank) zeigt, die nur zwei Befehle umfasst: NVR-1 und NVR-2. Tabelle 650 umfasst dieselben wie in 5 gezeigten Spalten. Solche Befehle können auf einem LPDDR4-kompatiblen Port empfangen werden und die generelle Form eines LPDDR4-Befehls aufweisen. NVR-1 und NVR-2 sind jedoch nicht Teil des LPDDR4-Standards. Ein solcher Lesezugriff steht im Gegensatz zu dem herkömmlichen, in 5 gezeigten Lesezugriff, der vier Befehle erfordert.
-
In der besonderen gezeigten Ausführungsform kann ein erster Befehl NVR-1 Adresswerte höherer Ordnung umfassen (z. B. Bank- und Zeilenwerte), während ein zweiter Befehl NVR-2 Adresswerte niedrigerer Ordnung umfassen kann (z. B. Zeilen- und Spaltenwerte). Das besondere Bitformat der Befehle sollte jedoch nicht als einschränkend verstanden werden.
-
Gemäß Ausführungsformen kann die NVM-Vorrichtung, während eine NVM-Vorrichtung kundenspezifische Befehle (d. h. Befehle, die nicht Teil eines Standards sind) verarbeiten kann, auch Befehle verarbeiten, die gleich oder ähnlich jenen eines existierenden Standards sind. 6B zeigt ein Beispiel für solche Befehle.
-
6B ist eine Tabelle, die zusätzliche Befehle zeigt, die von einer NVM-Vorrichtung verarbeitet werden können. Tabelle 652 umfasst dieselben Spalten wie 5. Die Befehle von 6B umfassen einen Mehrzweckbefehl sowie Modusregister-Schreib- und Lesebefehle. In einigen Ausführungsformen kann ein Parallelport (z. B. 410 in 4) ein Lese-Schreib-Port sein und kann ein Modusregisterbefehl auch verwendet werden, um Portzugriffe für eine Bank (z. B. 414-0 bis -7 in 4) zu setzen. Darüber hinaus oder alternativ können eine oder mehrere kundenspezifische Befehle, wie jene von 6A, verwendet werden, um einen Bankzugriff über einen Parallelport herzustellen.
-
7 ist eine Tabelle 728, die ein Bankzugriffswertregister gemäß einer Ausführungsform zeigt. Ein Bankzugriffsregister kann den Zugriff auf Bänke in einer NVM-Vorrichtung, wie jene, die in 4 gezeigt wird, steuern. Die Tabelle 728 umfasst eine FELD-Spalte, die eine Bank identifiziert, eine TYP-Spalte, die einen Zugriffstyp angibt, eine STANDARD-Spalte, die Standardwerte angibt, und eine DEFINITION-Spalte, die angibt, was ein Bankzugriffswert bedeutet. Wie gezeigt, können Bankzugriffswerte einen Standardwert von „0“ aufweisen, wodurch ein Zugriff über eine serielle Schnittstelle (z. B. SPI), aber nicht über eine Parallelschnittstelle (z. B. LPDDR4) aktiviert wird. Ein solcher Vorgang kann sowohl Lese- als auch Schreibvorgänge (US) umfassen.
-
Wenn ein Bankzugriffswert „1“ ist, aktiviert er den Zugriff über eine Parallelschnittstelle, aber nicht über eine Seriellschnittstelle. Des Weiteren kann ein Typ des Zugriffs darauf begrenzt sein, dass er Lesen (L und nicht US) bedeutet.
-
8 ist ein Zeitdiagramm, das einen herkömmlichen LPDDR4-Lesezugriff zeigt. 8 umfasst Wellenformen für einen Eingangstakt (CK_t), eine Chipauswahl CS, Befehls-Adresswerte (CA), entsprechende Befehle (Befehl) (generiert durch die CA-Werte), einen Datentakt DQ_t und Datenwerte DQ, die als Sätze von parallelen Datenwerten (z. B. Bytes, Wörter, Doppelwörter etc.) verstanden werden.
-
Wie gezeigt, können vier Befehle (Aktivieren1 - Aktivieren2 - Lesen-1 - CAS-2) an der LPDDR4-Schnittstelle über eine Zeit t_CMD empfangen werden. Demgemäß kann eine herkömmliche LPDDR4-Befehlssequenz sieben CK_t-Zyklen einnehmen.
-
Im Anschluss an eine Lese-Latenz- und Taktversatz-Zeitperiode (read latency RL + clock skew tskw) können Daten (DQ) mit einer Doppeldatenrate in Synchronisation mit einem Datentakt (DQS) ausgegeben werden. Die Daten können in einer Burst-Sequenz von sechzehn ausgegeben werden.
-
Gemäß Ausführungsformen können Lesezugriffe auf Bänke von NVM-Zellen über eine DDR-Schnittstelle mit nur zwei Befehlen vorgenommen werden. 9A zeigt ein Beispiel für eine solche Ausführungsform.
-
9A ist ein Zeitdiagramm, das einen Lesezugriff über eine LPDDR4-Schnittstelle gemäß einer Ausführungsform zeigt. 9A umfasst dieselben wie in 8 gezeigten Typen von Wellenformen. Kundenspezifische Lesebefehle können jedoch Zugriffe schneller als eine Standard-LPDDR4-Sequenz machen. Wie gezeigt, können zwei Befehle (NVR-1 - NVR-2) an der LPDDR4-Schnittstelle über drei Zyklen von CK_t empfangen werden. Im Anschluss an eine Lese-Latenz- und Taktversatz-Zeitperiode (RL + tskw) können Daten (DQ) mit einer Doppeldatenrate in Synchronisation mit einem Datentakt (DQS) ausgegeben werden. In der gezeigten Ausführungsform können Daten in einer Burst-Sequenz von acht oder größer (z. B. 16) ausgegeben werden.
-
In einigen Ausführungsformen kann eine Lese-Latenz (RL) für den Zugriff auf NVM-Zellen mit sehr hohen Geschwindigkeiten, weniger als 20 ns oder etwa 17,5 ns, erreicht werden. Ein tskw-Wert kann weniger als 4 ns oder etwa 2,5 ns betragen. Demgemäß kann eine Taktgeschwindigkeit (CK_t-Geschwindigkeit) von 800 MHz, vom Zwischenspeichern eines ersten Befehlsteils bis zur Ausgabe von Daten, nur 19 Taktzyklen (t_CMD=3 Zyklen, RL=14 Zyklen, tskw=2 Zyklen) ausmachen.
-
Eine schnelle Befehlssequenz, wie jene, die in 9A gezeigt wird, kann schnelle Zugriffe, die hintereinander durchgeführt werden, aktivieren. Gemäß einigen Ausführungsformen können aufeinanderfolgende Leseoperationen für unterschiedliche Bänke eine ununterbrochene Sequenz von Ausgabedatenwerten aktivieren. Eine solche Ausführungsform wird in 9B gezeigt.
-
9B ist ein Zeitdiagramm, das aufeinanderfolgende Lesezugriffe gemäß einer Ausführungsform zeigt. Ein erster Lesezugriff kann auf eine Bank (Bank0) mit einer Zwei-Befehle-Sequenz (NVR-1 - NVR2) vorgenommen werden. Ein zweiter Lesezugriff kann auf eine andere Bank (Bank1) mit einer Zwei-Befehle-Sequenz vorgenommen werden. Als Reaktion auf eine solche Sequenz von Lesebefehlen können Daten in zwei aufeinanderfolgenden Bursts 932-0 und 932-1 ausgegeben werden. Ein solcher Burst kann ohne Unterbrechung sein, wodurch, verglichen mit herkömmlichen NVM-Vorrichtungen, ein extrem schnelles Lesen von Daten von der NVM-Vorrichtung aktiviert wird.
-
Gemäß Ausführungsformen können, während Zugriffe mit hohem Durchsatz auf NVM-Bänke über eine Parallelschnittstelle vorgenommen werden können, NVM-Zugriffe auch über eine Seriellschnittstelle vorgenommen werden. Des Weiteren können Zugriffe auf unterschiedliche Bänke zeitgleich von beiden solchen Schnittstellen stattfinden.
-
10A bis 10C sind Zeitdiagramme, die Seriellportzugriffe zeigen, die in Ausführungsformen eingeschlossen sein können. 10A umfasst Wellenformen für einen Serielltakt (SPI_CK), eine Chipauswahl (SPI_CS), einen ersten Seriell-I/O (SPI_DQ0) und einen zweiten Seriell-I/O (SPI_DQ1). 10A zeigt ein Beispiel für eine serielle Datenleseoperation. Als Reaktion darauf, dass SPI_CS aktiv wird (in diesem Beispiel niedrig), können Befehlswerte (Befehl) an SPI_DQ0 als eine Sequenz von Bitwerten in Synchronisation mit SPI_CK empfangen werden. BEFEHL kann eine Leseoperation angeben. Adressen-Bitwerte (Amax bis Amin) können folgen und eine NVM-Bank und Positionen innerhalb der NVM-Bank angeben. Ausgangsdaten (D7-D0) können an SP_DQ1 in Synchronisation mit SPI_CK bereitgestellt werden.
-
10A zeigt ein Beispiel für eine latenzfreie Leseoperation. Lesedaten können an SPI_DQ1 auf dem nächsten Taktzyklus im Anschluss an einen Adressen-Bitwert (Amin) ausgegeben werden. Alternative Ausführungsformen können jedoch eine längere Lese-Latenz umfassen. Des Weiteren können, während 10A einen Acht-Bit-Lesedaten-Ausgang zeigt, alternative Ausführungsformen eine viel längere Sequenz von Lesedaten aufweisen.
-
10B zeigt ein weiteres Beispiel für eine serielle Datenleseoperation. 10B kann eine Operation wie jene von 10A umfassen, Daten können jedoch mit einer Quad-Seriellrate ausgegeben werden. Als Reaktion auf einen Befehlswert und Adresswerte, wie in 10A, im Anschluss an eine Lese-Latenz, können Serielldaten auf vier Seriell-I/Os (SPI_DQ0 bis SPI_DQ3) ausgegeben werden.
-
10C zeigt ein Beispiel für eine serielle Datenschreiboperation. Befehls-, Adress- und Schreibdatenwerte können in Sequenz auf einem Seriell-I/O SPI_DQ0 empfangen werden.
-
Wie hier erwähnt, können beliebige der Zugriffe in 10A bis 10C (und äquivalente Zugriffe) zeitgleich mit LPDDR4-Zugriffen (gezeigt in 9A und 9B) stattfinden, sofern sie für unterschiedliche NVM-Bänke sind.
-
Während Ausführungsformen Verfahren umfassen können, wie in den obigen Ausführungsformen explizit und inhärent offenbart, werden nun zusätzliche Verfahren beschrieben.
-
11 ist ein Zustandsdiagramm eines Verfahrens 1140 zum Steuern des Bankzugriffs einer NVM-Vorrichtung von zwei unterschiedlichen Schnittstellen. Ein Verfahren 1140 kann das Empfangen einer Zugriffsanforderung an der NVM-Vorrichtung 1140-0 umfassen. Ein Zugriffstyp kann ein Parallelzugriff (z. B. ein Zugriff, der an einem Parallelport oder einer Parallelschnittstelle empfangen wird) (Zugriff = Parallel) sein oder ein Zugriffstyp kann ein Seriellzugriff (z. B. ein Zugriff, der an einem Seriellport oder einer Seriellschnittstelle empfangen wird) (Zugriff = Seriell) sein. Ein Zugriff kann auf eine von einer Zahl von unterschiedlichen Bänken der NVM-Vorrichtung gerichtet werden. In einigen Ausführungsformen kann ein Parallelzugriff Nur-Lesen sein, während Seriellzugriffe Lesen oder Schreiben (z. B. Programm) sein können.
-
Unabhängig von dem Typ der Zugriffsanforderung kann ein Status der NVM-Bank bestimmt werden 1140-1. In der gezeigten Ausführungsform kann, falls der Zugriff ein Parallelzugriff ist und der Bankstatus frei ist (Zugriff = Parallel und Bankstatus = Frei), der Bankstatus für die Bank auf parallel gesetzt werden 1140-2. Es kann ein Zugriff über den Parallelport/die Parallelschnittstelle stattfinden 1140-3. Sobald der Zugriff über den Parallelport abgeschlossen ist, kann der Status der Zugriffsbank auf frei gesetzt werden 1140-4.
-
Falls der Zugriff ein Seriellzugriff ist und der Bankstatus frei ist (Zugriff = Seriell und Bankstatus = Frei), kann der Bankstatus für die Bank auf seriell gesetzt werden 1140-5. Es kann ein Zugriff über den Seriellport/die Seriellschnittstelle stattfinden 1140-6. Sobald der Zugriff über den Parallelport abgeschlossen ist, kann der Status der Zugriffsbank auf frei gesetzt werden 1140-4.
-
Falls der Zugriff ein Seriellzugriff ist und der Bankstatus parallel ist (Zugriff = Seriell und Bankstatus = Parallel) oder der Zugriff ein Parallelzugriff ist und der Bankstatus seriell ist (Zugriff = Parallel und Bankstatus = Seriell), wird auf die Bank nicht zugegriffen 1140-7.
-
12 ist ein Flussdiagramm eines Verfahrens 1240 zum Steuern des Zugriffs auf Bänke einer NVM-Vorrichtung mit einem SPI-Port und einem LPPDR4-Port. Es wird angenommen, dass die NVM-Vorrichtung Bankzugriffswerte setzt, um den Zugriff auf jede Bank zu aktivieren oder zu verhindern.
-
Ein Verfahren 1240 kann das Bestimmen eines eingeschalteten Zustands oder Resetzustands (power-on or reset condition, POR) 1240-0 für eine NVM-Vorrichtung umfassen. In dem Fall des POR kann eine NVM-Vorrichtung alle Bankzugriffswerte auf einen Standardwert setzen 1240-1. In der gezeigten Ausführungsform kann ein Standardwert ein SPI-Zugriff sein. In alternativen Ausführungsformen können Standardwerte jedoch ein anderer Wert sein. Des Weiteren müssen Standardbankzugriffswerte nicht für alle Bänke gleich sein.
-
Es kann ein Zugriff auf eine Bank empfangen werden 1240-2. Falls ein Zugriff über einen LPDDR4-Port (LPDDR4 von 1240-2) erfolgt, kann eine adressierte Bank bestimmt werden 1240-3. Eine solche Aktion kann das Dekodieren einer Adresse umfassen, die mit einer Zugriffsanforderung an mehreren Befehls-Adressen-Eingängen empfangen wird. In einigen Ausführungsformen kann ein LPDDR4-Port ein Nur-Lese-Port sein und können Schreibzugriffe ignoriert werden. Es kann ein Status einer adressierten Bank bestimmt werden 1240-4. Insbesondere kann bestimmt werden, ob auf die adressierte Bank über den SPI-Port zugegriffen wird (oder sie ansonsten nicht verfügbar ist). Falls die Bank als verfügbar angegeben wird (N von 1240-4), kann ein Bankzugriffswert für die Bank auf LPDDR4 gesetzt werden 1240-5, womit angegeben wird, dass auf die Bank durch den LPDDR4-Port zugegriffen wird (oder geplant ist, auf diese zuzugreifen). In einigen Ausführungsformen kann eine solche Aktion das Setzen eines Registerwertes in einem Bankzugriffsregister umfassen.
-
Auf die adressierte Bank kann dann über den LPDDR4-Port zugegriffen werden 1240-6. Während ein solcher Zugriff fortfährt (N von 1240-7), kann der Bankzugriffswert auf LPDDR4 gesetzt bleiben. Sobald der Zugriff jedoch abgeschlossen ist (J von 1240-7), kann der Bankzugriffswert für die adressierte Bank auf SPI zurückgeführt werden 1240-8.
-
Falls eine LPDDR4-Port-Zugriffsanforderung vorliegt und der Bankzugriffswert die Bank als nicht verfügbar angibt (z. B. SPI-Zugriff stattfindet oder stattfinden wird) (J von 1240-4), kann auf die Bank nicht zugegriffen werden 1240-9. In einigen Ausführungsformen kann eine solche Aktion das Zurückführen von ungültigen Daten als Reaktion auf die Anforderung (z. B. alle Bits Null), das Generieren einer Unterbrechung und/oder das Schreiben auf Statusregister umfassen. Es kann jedoch eine beliebige andere geeignete Reaktion generiert werden, einschließlich des Generierens von keiner Reaktion (z. B. Ignorieren der Anforderung).
-
Falls ein Zugriff über einen SPI-Port (SPI von 1240-2) erfolgt, kann eine adressierte Bank bestimmt werden 1240-10. Eine solche Aktion kann das Dekodieren einer Adresse umfassen, die mit einer Zugriffsanforderung als Serie von Bits auf einer oder mehreren Seriell-I/O-Leitungen empfangen wird. Ein SPI-Port kann ein Lese-Schreib-Port sein, der erlaubt, dass Daten von dem Adressblock gelesen oder auf diesen geschrieben (z. B. programmiert) werden. Es kann dann ein Status einer adressierten Bank bestimmt werden 1240-11. Falls angegeben wird, dass die Bank einen SPI-Zugriff aufweist (J von 1240-11), kann auf die adressierte Bank über den SPI-Port zugegriffen werden 1240-12. Falls der Bankzugriffswert keinen SPI-Zugriff angibt (z. B. der Bankzugriffswert ist auf LPDDR4 gesetzt) (N von 1240-11), kann auf die Bank nicht zugegriffen werden 1240-13. Eine solche Aktion kann das Generieren von verschiedenen oben erwähnten Reaktionen für 1240-9 umfassen, einschließlich des Ignorierens der Anforderung.
-
Ausführungsformen können Bänke von NVM-Zellen in einem beliebigen geeigneten Typ und/einer beliebigen geeigneten Anordnung umfassen. 13 zeigt eine Anordnung von NVM-Zellen in einer Bank, die in Ausführungsformen eingeschlossen sein kann. Eine solche Anordnung sollte nicht als einschränkend verstanden werden. 13 zeigt ein NVM-Array 1302, das NVM-Zellen 1342 aufweist, die in Zeilen (eine Zeile als 1344 gezeigt) und Spalten (eine Spalte als 1346 gezeigt) angeordnet sind. Die NVM-Zellen 1342 einer gleichen Zeile 1344 können üblicherweise mit einer gleichen Wortleitung WL (eine WL als 1348 gezeigt) verbunden sein. Die NVM-Zellen 1342 einer gleichen Spalte 1346 können üblicherweise mit einer gleichen Bitleitung BL (eine BL als 1354 gezeigt) verbunden sein.
-
Ausführungsformen können NVM-Arrays 1302 umfassen, die in größeren Gruppen angeordnet sind. Um nur ein Beispiel zu nennen, können WLs von unterschiedlichen Arrays zusammen mit globalen WLs verbunden sein und/oder können BLs von unterschiedlichen Arrays zusammen mit globalen BLs verbunden sein.
-
Ausführungsformen können NVM-Zellen eines beliebigen geeigneten Typs umfassen. 14 zeigt ein Beispiel einer NVM-Zelle, die in Ausführungsformen eingeschlossen sein kann. Ein solches Beispiel sollte nicht als einschränkend verstanden werden. 14 zeigt eine Ein-Transistor-NVM-Zelle (1T-NVM-Zelle) 1442, die ein mit einer Wortleitung 1448 verbundenes Gate, einen mit BL 1454 verbundenen Drain und eine mit einer Sourceleitung 1456 verbundene Source aufweist. Die NVM-Zelle 1442 kann Ladung speichern, um eine Schwellenspannung ihres entsprechenden Transistors zu steuern. In einigen Ausführungsformen kann die NVM-Zelle 1442 eine Ladungsspeicherschicht zwischen einem Steuergate eines Kanals umfassen. Eine solche Ladungsspeicherschicht kann eine beliebige geeignete Form aufweisen, wie unter anderem ein Dielektrikum, eine dielektrische Schnittstelle oder ein Floating-Leiter.
-
Während Ausführungsformen verschiedene Vorrichtungen und Verfahren umfassen können, können Ausführungsformen auch Systeme umfassen, bei denen eine Verarbeitungsvorrichtung auf eine NMV-Vorrichtung zugreift. 15 ist ein Blockdiagramm eines Systems 1560 gemäß einer Ausführungsform. Ein System 1560 kann eine Verarbeitungsvorrichtung 1562 und eine NVM-Vorrichtung 1500 umfassen. Eine Verarbeitungsvorrichtung 1562 kann Verarbeitungsschaltungen 1564 umfassen und kann auf die NVM-Vorrichtung 1500 über einen Parallelport 1504 und einen Seriellport 1506 zugreifen. Bearbeitungsschaltungen können beliebige geeignete Verarbeitungsschaltungen umfassen, wie unter anderem einen oder mehrere Prozessorkerne, Festlogik, programmierbare Logik und Kombinationen davon.
-
Die NVM-Vorrichtung 1500 kann eine Zahl von NVM-Bänken 1514-0 bis -i, eine Parallel-I/F 1510, verbunden mit Parallelport 1504, und eine Seriell-I/F 1512, verbunden mit Seriellport 1512, umfassen. Die NVM-Vorrichtung 1500 kann die Form einer beliebigen der hier beschriebenen NVM-Vorrichtungen und Äquivalente aufweisen und/oder in derselben Weise wie diese arbeiten.
-
16 ist ein Blockdiagramm eines Automobilsteuerungssystems 1660 gemäß einer Ausführungsform. Das System 1660 kann ein Beispiel von dem in 15 gezeigten sein. Das System 1660 kann Bearbeitungskerne 1660-0 bis -3, einen Speichercontroller 1670 und System-I/Os 1672 umfassen. Die Kerne (1666-0 bis -3) können Prozessoren und assoziierte Schaltungen umfassen (z. B. Cachespeicher, Busse etc.). In einigen Ausführungsformen können einige Kerne (1666-1 bis -3) Verarbeitungsaufgaben (1668-1 ist -3) für ein oder mehrere Systeme eines Automobils gewidmet sein, während ein oder mehrere andere Kerne eine Kontrollfunktion 1668-0 ausführen können, um die verschiedenen Operationen des Systems 1660 zu kontrollieren und/oder zu überwachen.
-
Ein Speichercontroller 1670 kann eine SPI I/F 1674, verbunden mit einem SPI-Port 1606, und eine controllerseitige LPDDR4 I/F 1676, verbunden mit einem unidirektionalen LPDDR4-Port (z. B. Nur-Lese-LPDDR4-Port) 1604, umfassen.
-
Die System-I/Os 1672 können mit verschiedenen Automobilsystemen verbunden sein, um Daten von solchen anderen Automobilsystemen zu empfangen und/oder an diese zu übertragen. Die System-I/Os können Schnittstellen für ein beliebiges geeignetes Bussystem umfassen, wie unter anderem die Controller-Area-Network-Typ Busse (CAN-Typ Busse).
-
Die NVM-Vorrichtung 1600 kann eine SPI I/F 1612, LPDDR4 I/F 1610, Steuerungsschaltungen 1630, eine Zahl von getrennt zugreifbaren NVM-Bänken 1614-0 bis -7 und ein Bankzugriffsregister 1628 umfassen. Die NVM-Vorrichtung 1500 kann die Form einer beliebigen der hier beschriebenen NVM-Vorrichtungen und Äquivalente aufweisen und/oder in derselben Weise wie diese arbeiten.
-
Während Ausführungsformen Systeme mit verschiedenen miteinander verbundenen Komponenten umfassen können, können Ausführungsformen auch unitäre Vorrichtungen umfassen, die eine nichtflüchtige Speicherung mit schnellem Doppeldatenrate-Lesezugriff über einen Parallelport bereitstellen können, während sie zeitgleich einen Lese- Schreibzugriff über einen Seriellport bereitstellen. Solche unitären Vorrichtungen können vorteilhafterweise kompakte einzelne integrierte Schaltungsvorrichtungen sein. 17 zeigt ein besonderes Beispiel einer verpackten NVM-Vorrichtung 1700. Eine solche NVM-Vorrichtung 1700 kann beliebige Merkmale der anderen hier offenbarten NVM-Vorrichtungen oder Äquivalente umfassen. Es versteht sich jedoch, dass eine NVM-Vorrichtung gemäß Ausführungsformen einen beliebigen anderen geeigneten Verpackungstyp einer integrierten Schaltung sowie Direkt-Bonding eines NVM-Vorrichtungs-Chips auf eine Leiterplatte oder ein Substrat umfassen kann.
-
18 zeigt ein Automobilsystem 1860 gemäß einer Ausführungsform. Das Automobil 1860 kann zahlreiche Untersysteme aufweisen, unter anderem ein Hauptsteuerungs-Untersystem 1878-0, ein Motor-Antriebsstrang-Steuerungssystem 1878-1, ein Aufhängung-Reifen-Steuerungssystem 1878-2, ein Karosserie-Steuerungssystem 1878-3. Ein Hauptsteuerungs-Untersystem 1878-0 kann eine NVM-Vorrichtung 1800 gemäß hier offenbarten Ausführungsformen oder Äquivalente umfassen. Ein Hauptsteuerungs-Untersystem 1878-0 kann Infotainmentfunktionen (Navigations-, Kommunikations-, Unterhaltungsvorrichtungen, Datenspeicher, Digitalradio) sowie Kontrollüberwachung aller anderen Systeme steuern. In einigen Ausführungsformen kann ein Hauptsteuerungs-Untersystem 1878-0 eine Implementierung von jenem sein, das in 16 gezeigt wird. Bei einer solchen Anordnung können Verarbeitungsvorrichtungen einen Zugriff mit hohem Durchsatz auf Daten, die in einer NVM-Vorrichtung 1800 gespeichert sind, über eine DDR-Schnittstelle aufweisen, während sie zeitgleich Daten-Schreib- und Lesefunktionen über eine Seriellschnittstelle mit langsamerem Datendurchsatz bereitstellen.