DE112020003736B4 - Nichtflüchtige multiport-speichervorrichtung mit bankzuordnung und verwandte systeme und verfahren - Google Patents

Nichtflüchtige multiport-speichervorrichtung mit bankzuordnung und verwandte systeme und verfahren Download PDF

Info

Publication number
DE112020003736B4
DE112020003736B4 DE112020003736.3T DE112020003736T DE112020003736B4 DE 112020003736 B4 DE112020003736 B4 DE 112020003736B4 DE 112020003736 T DE112020003736 T DE 112020003736T DE 112020003736 B4 DE112020003736 B4 DE 112020003736B4
Authority
DE
Germany
Prior art keywords
bank
port
access
nvm
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
DE112020003736.3T
Other languages
English (en)
Other versions
DE112020003736T5 (de
Inventor
Yoram Betser
Cliff Zitlaw
Stephan Rosner
Kobi Danon
Amir Rochman
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Cypress Semiconductor Corp
Original Assignee
Cypress Semiconductor Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Cypress Semiconductor Corp filed Critical Cypress Semiconductor Corp
Publication of DE112020003736T5 publication Critical patent/DE112020003736T5/de
Application granted granted Critical
Publication of DE112020003736B4 publication Critical patent/DE112020003736B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4234Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • G06F13/4291Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using a clocked protocol
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0002Serial port, e.g. RS232C
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0004Parallel ports, e.g. centronics
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Dram (AREA)
  • Memory System (AREA)
  • Static Random-Access Memory (AREA)

Abstract

Eine nichtflüchtige Speichervorrichtung, die Folgendes beinhaltet:einen Seriellport, der Folgendes umfasst:mindestens einen Serielltakteingang undmindestens einen Serielldateneingang/-ausgang (I/O), konfiguriert, um Befehls-,Adress- und Schreibdaten in Synchronisation mit dem mindestens einen Serielltakteingang zu empfangen;mindestens einen Parallelport, der Folgendes umfasst:eine Vielzahl von Befehlsadresseneingängen, konfiguriert, um Befehls- und Adressdaten in Gruppen von Parallelbits zu empfangen; eine Vielzahl von unidirektionalen Datenausgängen, konfiguriert, um Lesedaten parallel auf steigenden und fallenden Flanken eines Datentaktsignals auszugeben; und eine Vielzahl von Bänken, wobei jede Bank eine Vielzahl von nichtflüchtigen Speicherzellen umfasst und für den Zugriff durch den mindestens einen Seriellport oder den mindestens einen Parallelport konfigurierbar ist, wobei, wenn eine Bank für den Zugriff durch den mindestens einen Seriellport konfiguriert ist, die Bank nicht durch den mindestens einen Parallelport zugreifbar ist; und ein Bankzugriffsregister, konfiguriert, um Zugriffswerte für jede Bank zu speichern,wobei jede Bank durch den Seriellport oder den Parallelport basierend auf den für die Bank in dem Bankzugriffsregister gespeicherten Zugriffswert zugreifbar ist.

Description

  • 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.

Claims (19)

  1. Eine nichtflüchtige Speichervorrichtung, die Folgendes beinhaltet: einen Seriellport, der Folgendes umfasst: mindestens einen Serielltakteingang und mindestens einen Serielldateneingang/-ausgang (I/O), konfiguriert, um Befehls-, Adress- und Schreibdaten in Synchronisation mit dem mindestens einen Serielltakteingang zu empfangen; mindestens einen Parallelport, der Folgendes umfasst: eine Vielzahl von Befehlsadresseneingängen, konfiguriert, um Befehls- und Adressdaten in Gruppen von Parallelbits zu empfangen; eine Vielzahl von unidirektionalen Datenausgängen, konfiguriert, um Lesedaten parallel auf steigenden und fallenden Flanken eines Datentaktsignals auszugeben; und eine Vielzahl von Bänken, wobei jede Bank eine Vielzahl von nichtflüchtigen Speicherzellen umfasst und für den Zugriff durch den mindestens einen Seriellport oder den mindestens einen Parallelport konfigurierbar ist, wobei, wenn eine Bank für den Zugriff durch den mindestens einen Seriellport konfiguriert ist, die Bank nicht durch den mindestens einen Parallelport zugreifbar ist; und ein Bankzugriffsregister, konfiguriert, um Zugriffswerte für jede Bank zu speichern, wobei jede Bank durch den Seriellport oder den Parallelport basierend auf den für die Bank in dem Bankzugriffsregister gespeicherten Zugriffswert zugreifbar ist.
  2. Nichtflüchtige Speichervorrichtung gemäß Anspruch 1, wobei der mindestens eine Serielldaten-I/O eine Vielzahl von bidirektionalen Serielldaten-I/Os beinhaltet.
  3. Nichtflüchtige Speichervorrichtung gemäß Anspruch 1, wobei der Seriellport mit einem Serial-Peripheral-Interconnect-Standard kompatibel ist.
  4. Nichtflüchtige Speichervorrichtung gemäß Anspruch 1, wobei der mindestens eine Parallelport mit einigen LPDDR4-Standardoperationen, aber nicht LPDDR4-Schreiboperationen, kompatibel ist.
  5. Nichtflüchtige Speichervorrichtung gemäß Anspruch 1, die ferner einen Befehlsdecodierer, konfiguriert, um Befehls- und Adressdaten von der Vielzahl von Befehlsadresseneingängen zu empfangen, um Lesezugriffe auf eine adressierte Bank als Reaktion auf nicht mehr als zwei Befehle zu aktivieren, umfasst.
  6. Nichtflüchtige Speichervorrichtung gemäß Anspruch 5, wobei jeder auf dem mindestens einen Parallelport empfangene Befehl einen ersten Satz Parallelbits, die auf einer steigenden Flanke eines Eingangstakts eingegeben werden, und einen zweiten Satz Parallelbits, die auf einer unmittelbar anschließenden steigenden Flanke des Eingangstakts eingegeben werden, umfasst.
  7. Ein Verfahren zum Betreiben einer nichtflüchtigen Speichervorrichtung (NVM-Vorrichtung), das Folgendes beinhaltet: als Reaktion auf Lesezugriffe auf eine adressierte NVM-Bank, die an einem Parallelport empfangen werden, Aktivieren oder Nichtaktivieren der Lesezugriffe über den Parallelport gemäß einem Zugriffswert für die adressierte NVM-Bank; als Reaktion auf Lese- oder Schreibzugriffe auf eine adressierte NVM-Bank, die auf einem Seriellport empfangen werden, Aktivieren oder Nichtaktivieren der Lese- oder Schreibzugriffe über den Seriellport gemäß dem Zugriffswert für die adressierte NVM-Bank; wobei, wenn ein NVM-Bank-Zugriffswert den Zugriff über den Seriellport aktiviert, der NVM-Bank-Zugriffswert den Zugriff über den Parallelport nicht aktiviert, der Seriellport mindestens einen Serielltakteingang und mindestens einen Serielleingang/-ausgang, konfiguriert, um Befehls-, Adress- und Schreibdaten in Synchronisation mit dem mindestens einen Serielltakteingang zu empfangen, umfasst und der Parallelport eine Vielzahl von Befehlsadresseneingängen, konfiguriert, um Befehls- und Adressdaten parallel zu empfangen, und eine Vielzahl von unidirektionalen Datenausgängen, konfiguriert, um Lesedaten parallel auf steigenden und fallenden Flanken eines Datentaktsignals auszugeben, umfasst.
  8. Verfahren gemäß Anspruch 7, wobei die an dem Parallelport empfangenen Lesezugriffe Lesezugriffe umfassen, die aus nicht mehr als zwei Befehlen gebildet sind.
  9. Verfahren gemäß Anspruch 8, wobei als Reaktion auf das Empfangen von zwei aufeinanderfolgenden zweiten Lesezugriffen in Serie an dem Parallelport, die an zwei unterschiedliche NVM-Bänke gerichtet sind, das Aktivieren der Daten für die unterschiedlichen NVM-Bänke, die auf aufeinanderfolgenden Datentaktübergängen auszugeben sind, ohne Unterbrechung.
  10. Verfahren gemäß Anspruch 8, wobei jeder Befehl einen ersten Satz Parallelbits, die auf einer steigenden Flanke eines Eingangstakts eingegeben werden, und einen zweiten Satz Parallelbits, die auf einer unmittelbar anschließenden steigenden Flanke des Eingangstakts eingegeben werden, umfasst.
  11. Verfahren gemäß Anspruch 7, ferner umfassend, als Reaktion auf das Aktivieren eines Lesezugriffs über den Parallelport auf eine adressierte NVM-Bank, Setzen des NVM-Zugriffswerts für die NVM-Bank auf einen Wert, der den Zugriff auf die NVM-Bank durch den Seriellport deaktiviert.
  12. Verfahren gemäß Anspruch 11, wobei das Setzen des NVM-Zugriffswerts für die NVM-Bank das Schreiben eines Werts in ein Konfigurationsregister der NVM-Vorrichtung umfasst.
  13. Verfahren gemäß Anspruch 7, wobei als Reaktion auf Lesezugriffe auf eine erste adressierte NVM-Bank, die an dem Parallelport empfangen werden, und einen Lese- oder Schreibzugriff auf eine zweite adressierte NVM-Bank, der an dem Seriellport empfangen wird, das Aktivieren der Zugriffe sowohl auf die erste als auch auf die zweite adressierte NVM-Bank zeitgleich.
  14. Ein System, das Folgendes beinhaltet: eine Prozessorvorrichtung, die mindestens einen Prozessorkern, eine erste Schnittstelle, eine zweite Schnittstelle beinhaltet; und eine nichtflüchtige Speichervorrichtung (NVM-Vorrichtung), die Folgendes umfasst: einen Lese-/Schreibport, konfiguriert, um Befehls-, Adress- und Schreibdaten zu empfangen, und einen Nur-Lese-Parallelport, der eine Vielzahl von Befehlsadresseneingängen, konfiguriert, um Befehls- und Adressdaten parallel zu empfangen, und eine Vielzahl von unidirektionalen Datenausgängen, konfiguriert, um Lesedaten parallel auf steigenden und fallenden Flanken eines Datentaktsignals auszugeben, umfasst; eine Vielzahl von Bänken, die jeweils NVM-Zellen beinhalten; und ein Bankzugriffsregister, konfiguriert, um Zugriffswerte für jede Bank zu speichern, wobei jede Bank durch den Schreib-Lese-Port oder den Nur-Lese-Port basierend auf den für die Bank in dem Bankzugriffsregister gespeicherten Zugriffswert zugreifbar ist; einen ersten Bus, der zwischen die erste Schnittstelle und den Lese-/Schreibport gekoppelt ist; und einen Parallelbus, der zwischen die zweite Schnittstelle und den Nur-Lese-Parallelport gekoppelt ist.
  15. System gemäß Anspruch 14, wobei die Prozessorvorrichtung eine Vielzahl von Kernen, konfiguriert, um unterschiedliche Teile eines Automobils zu steuern, umfasst.
  16. System gemäß Anspruch 14, wobei die NVM-Vorrichtung konfiguriert ist, um erste Zugriffe über den Nur-Lese-Parallelport als Reaktion auf eine Sequenz von nicht mehr als zwei Lesebefehlen zu aktivieren.
  17. System gemäß Anspruch 14, wobei: der Nur-Lese-Parallelport mit dem LPDDR4-Standard kompatibel ist; und die Lesebefehle nicht Teil des LPDDR4-Standards sind.
  18. System gemäß Anspruch 14, wobei jeder Befehl, der auf dem Nur-Lese-Parallelport empfangen wird, einen ersten Satz Parallelbits, die auf einer steigenden Flanke eines Eingangstakts eingegeben werden, und einen zweiten Satz Parallelbits, die auf einer unmittelbar anschließenden steigenden Flanke des Eingangstakts eingegeben werden, umfasst.
  19. System gemäß Anspruch 14, wobei der erste Port mit einem Serial-Peripheral-Interface-Standard (SPI-Standard) kompatibel ist.
DE112020003736.3T 2019-08-05 2020-07-20 Nichtflüchtige multiport-speichervorrichtung mit bankzuordnung und verwandte systeme und verfahren Active DE112020003736B4 (de)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201962882932P 2019-08-05 2019-08-05
US62/882,932 2019-08-05
US16/719,493 US11030128B2 (en) 2019-08-05 2019-12-18 Multi-ported nonvolatile memory device with bank allocation and related systems and methods
US16/719,493 2019-12-18
PCT/US2020/042808 WO2021025853A1 (en) 2019-08-05 2020-07-20 Multi-ported nonvolatile memory device with bank allocation and related systems and methods

Publications (2)

Publication Number Publication Date
DE112020003736T5 DE112020003736T5 (de) 2022-04-28
DE112020003736B4 true DE112020003736B4 (de) 2024-03-28

Family

ID=74498561

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112020003736.3T Active DE112020003736B4 (de) 2019-08-05 2020-07-20 Nichtflüchtige multiport-speichervorrichtung mit bankzuordnung und verwandte systeme und verfahren

Country Status (5)

Country Link
US (2) US11030128B2 (de)
JP (2) JP7185804B2 (de)
CN (2) CN116049050B (de)
DE (1) DE112020003736B4 (de)
WO (1) WO2021025853A1 (de)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11030128B2 (en) * 2019-08-05 2021-06-08 Cypress Semiconductor Corporation Multi-ported nonvolatile memory device with bank allocation and related systems and methods
US11789893B2 (en) * 2020-08-05 2023-10-17 Etron Technology, Inc. Memory system, memory controller and memory chip
US11971832B2 (en) * 2020-10-07 2024-04-30 Infineon Technologies LLC Methods, devices and systems for high speed transactions with nonvolatile memory on a double data rate memory bus
US20230266909A1 (en) * 2022-02-24 2023-08-24 Micron Technology, Inc. Operating memory die based on temperature data

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120017035A1 (en) 2010-07-16 2012-01-19 Plx Technology, Inc. Runtime reprogramming of a processor code space memory area
US20150317277A1 (en) 2014-05-01 2015-11-05 Wisconsin Alumni Research Foundation Computer architecture having selectable, parallel and serial communication channels between processors and memory

Family Cites Families (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4718039A (en) 1984-06-29 1988-01-05 International Business Machines Intermediate memory array with a parallel port and a buffered serial port
US4937781A (en) * 1988-05-13 1990-06-26 Dallas Semiconductor Corporation Dual port ram with arbitration status register
US5291584A (en) 1991-07-23 1994-03-01 Nexcom Technology, Inc. Methods and apparatus for hard disk emulation
JP2947664B2 (ja) * 1992-03-30 1999-09-13 株式会社東芝 画像専用半導体記憶装置
TW269038B (de) 1993-02-05 1996-01-21 Micron Technology Inc
JP3566429B2 (ja) 1995-12-19 2004-09-15 株式会社ルネサステクノロジ 同期型半導体記憶装置
US6795911B1 (en) 2000-01-28 2004-09-21 Oki Electric Industry Co., Ltd. Computing device having instructions which access either a permanently fixed default memory bank or a memory bank specified by an immediately preceding bank selection instruction
US20020108011A1 (en) 2000-12-11 2002-08-08 Reza Tanha Dual interface serial bus
US20040098545A1 (en) * 2002-11-15 2004-05-20 Pline Steven L. Transferring data in selectable transfer modes
JP4565966B2 (ja) 2004-10-29 2010-10-20 三洋電機株式会社 メモリ素子
US7401179B2 (en) * 2005-01-21 2008-07-15 Infineon Technologies Ag Integrated circuit including a memory having low initial latency
US7209405B2 (en) 2005-02-23 2007-04-24 Micron Technology, Inc. Memory device and method having multiple internal data buses and memory bank interleaving
US10102350B1 (en) * 2005-08-03 2018-10-16 Entropic Communications, Llc System and method for protecting data stored in the control registers of an integrated circuit
EP1764803A1 (de) * 2005-09-09 2007-03-21 STMicroelectronics S.r.l. Speicherarchitektur mit serieller Peripherieschnittstelle
WO2008002581A2 (en) * 2006-06-26 2008-01-03 Cypress Semiconductor Corporation Multi-port memory device and method
US7529149B2 (en) * 2006-12-12 2009-05-05 Mosaid Technologies Incorporated Memory system and method with serial and parallel modes
KR100888261B1 (ko) * 2007-02-22 2009-03-11 삼성전자주식회사 뱅크 id를 이용할 수 있는 메모리 서브 시스템과 그 방법
JP5274864B2 (ja) 2007-04-06 2013-08-28 株式会社東芝 磁気共鳴イメージング装置、rfコイルシステムおよび磁気共鳴イメージング方法
KR100870734B1 (ko) * 2007-04-18 2008-11-27 삼성전자주식회사 복수의 프로세서에 직렬 인터페이스 모드 및 병렬인터페이스 모드로 통신을 하는 멀티 포트 메모리 장치,이를 구비한 통신 시스템, 및 통신 방법
US8001334B2 (en) * 2007-12-06 2011-08-16 Silicon Image, Inc. Bank sharing and refresh in a shared multi-port memory device
KR20100041309A (ko) * 2008-10-14 2010-04-22 삼성전자주식회사 각 프로세서들의 어플리케이션 기능을 모두 활용 가능한 멀티 프로세서 시스템
US8209521B2 (en) 2008-10-18 2012-06-26 Micron Technology, Inc. Methods of indirect register access including automatic modification of a directly accessible address register
US9489326B1 (en) * 2009-03-09 2016-11-08 Cypress Semiconductor Corporation Multi-port integrated circuit devices and methods
US9576630B2 (en) * 2010-07-09 2017-02-21 Cypress Semiconductor Corporation Memory devices and methods having multiple address accesses in same cycle
US9640237B1 (en) * 2012-08-24 2017-05-02 Cypress Semiconductor Corporation Access methods and circuits for memory devices having multiple channels and multiple banks
JP6393628B2 (ja) * 2015-01-21 2018-09-19 日立オートモティブシステムズ株式会社 車両制御装置
US10268382B2 (en) 2015-06-18 2019-04-23 Mediatek Inc. Processor memory architecture
US9720604B2 (en) 2015-08-06 2017-08-01 Sandisk Technologies Llc Block storage protocol to RAM bypass
US9747038B2 (en) * 2015-12-02 2017-08-29 Qualcomm Incorporated Systems and methods for a hybrid parallel-serial memory access
US10146711B2 (en) 2016-01-11 2018-12-04 Intel Corporation Techniques to access or operate a dual in-line memory module via multiple data channels
US20180059933A1 (en) * 2016-08-26 2018-03-01 Sandisk Technologies Llc Electrically-Buffered NV-DIMM and Method for Use Therewith
US10528255B2 (en) * 2016-11-11 2020-01-07 Sandisk Technologies Llc Interface for non-volatile memory
US10216685B1 (en) * 2017-07-19 2019-02-26 Agiga Tech Inc. Memory modules with nonvolatile storage and rapid, sustained transfer rates
US10932358B2 (en) * 2017-09-27 2021-02-23 Mediatek Inc. Semiconductor devices and methods for enhancing signal integrity of an interface provided by a semiconductor device
US11385829B2 (en) * 2019-08-05 2022-07-12 Cypress Semiconductor Corporation Memory controller for non-interfering accesses to nonvolatile memory by different masters, and related systems and methods
US11030128B2 (en) * 2019-08-05 2021-06-08 Cypress Semiconductor Corporation Multi-ported nonvolatile memory device with bank allocation and related systems and methods

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120017035A1 (en) 2010-07-16 2012-01-19 Plx Technology, Inc. Runtime reprogramming of a processor code space memory area
US20150317277A1 (en) 2014-05-01 2015-11-05 Wisconsin Alumni Research Foundation Computer architecture having selectable, parallel and serial communication channels between processors and memory

Also Published As

Publication number Publication date
CN116049050B (zh) 2023-10-31
US20210042245A1 (en) 2021-02-11
US11030128B2 (en) 2021-06-08
JP2023018104A (ja) 2023-02-07
US11449441B2 (en) 2022-09-20
US20210349839A1 (en) 2021-11-11
JP7185804B2 (ja) 2022-12-07
DE112020003736T5 (de) 2022-04-28
JP7216247B1 (ja) 2023-01-31
WO2021025853A1 (en) 2021-02-11
JP2022534451A (ja) 2022-07-29
CN114207720B (zh) 2023-03-14
CN114207720A (zh) 2022-03-18
CN116049050A (zh) 2023-05-02

Similar Documents

Publication Publication Date Title
DE112020003736B4 (de) Nichtflüchtige multiport-speichervorrichtung mit bankzuordnung und verwandte systeme und verfahren
JP7240452B2 (ja) 不揮発性メモリの複数区画の同時アクセスのための装置及び方法
DE102010030742B4 (de) Phasenwechselspeicher in einem doppelreihigen Speichermodul
DE69904508T2 (de) Auf warteschlangen basierte speichersteuerung
DE102011086098B4 (de) Parallele Speicherlese- und Speicherschreib-Operationen in einem Speicher mit serieller Schnittstelle
DE102006002526B4 (de) Steuervorrichtung für eine Solid-State-Disk und Verfahren zum Betreiben derselben
US9025376B2 (en) Nonvolatile memory device and related method of operation
US7116584B2 (en) Multiple erase block tagging in a flash memory device
DE102018122491A1 (de) Halbleiterspeichervorrichtung und verfahren zum betreiben derselben
DE102013109327A1 (de) Speichervorrichtung zum Verringern eines Schreibfehlers, ein System mit derselben und Verfahren davon
DE112005002336T5 (de) Befehl, der unterschiedliche Operationen in unterschiedlichen Chips steuert
DE102020118505A1 (de) Speichervorrichtungen mit darin enthaltenen variablen reparatureinheiten und verfahren zu deren reparatur
DE102020106356A1 (de) Speichervorrichtung für eine Verarbeitungsoperation, dieselbe umfassendes Datenverarbeitungssystem und Verfahren zum Betreiben der Speichervorrichtung
DE102006029287A1 (de) DRAM-Chipbaustein kommunizierend mit Flash-Speicherchip und einen solchen Baustein umfassender Mehrchip-Verbund
DE102017100584A1 (de) Verfahren zum Zugreifen auf heterogene Speicher und Speichermodul, welches heterogene Speicher aufweist
DE112016006203T5 (de) Verfahren zum zugreifen auf ein dual in-line memory-modul über mehrere datenkanäle oder betreiben desselben
DE102004027121A1 (de) Ein Mehrfachbankchip, der mit einer Steuerung kompatibel ist, die für eine geringere Anzahl von Banken entworfen ist, und ein Verfahren zum Betreiben
DE102021118940A1 (de) Speichersteuerung und speichereinrichtung mit derselben
DE102004060348A1 (de) Halbleiterspeichervorrichtung und Gehäuse dazu, und Speicherkarte mit Verwendung derselben
DE112016005762T5 (de) Gemeinsame nutzung eines dram-datenpfads über einen geteilten lokalen datenbus
DE102011081438A1 (de) Modifizierte Leseoperation für einen nichtflüchtigen Speicher
DE69735678T2 (de) Programmspeicher und signalverarbeitungssystem mit gespeicherten, zur reduzierung des energieverbrauchs während eines lesevorgangs kodierten befehlen
DE102021208963A1 (de) Speichervorrichtung und verfahren zum betreiben derselben
DE102004015534B4 (de) Speicherbauelement und Verfahren zum Ausgeben von Daten aus einem Speicherbauelement
DE102021107045A1 (de) Rechnersystem für eine Motorsteuerung mit einem Programmspeicher und einem Datenspeicher

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R018 Grant decision by examination section/examining division