DE102020106852A1 - Aktivierung der hochgeschwindigkeits-befehlsadressenschnittstelle für wahlfreies lesen - Google Patents

Aktivierung der hochgeschwindigkeits-befehlsadressenschnittstelle für wahlfreies lesen Download PDF

Info

Publication number
DE102020106852A1
DE102020106852A1 DE102020106852.2A DE102020106852A DE102020106852A1 DE 102020106852 A1 DE102020106852 A1 DE 102020106852A1 DE 102020106852 A DE102020106852 A DE 102020106852A DE 102020106852 A1 DE102020106852 A1 DE 102020106852A1
Authority
DE
Germany
Prior art keywords
signal
data
command
cle
ale
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.)
Pending
Application number
DE102020106852.2A
Other languages
English (en)
Inventor
Sneha Bhatia
Vinayak Ghatawade
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.)
Western Digital Technologies Inc
Original Assignee
Western Digital Technologies Inc
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 Western Digital Technologies Inc filed Critical Western Digital Technologies Inc
Publication of DE102020106852A1 publication Critical patent/DE102020106852A1/de
Pending legal-status Critical Current

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/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • G06F13/124Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine
    • G06F13/126Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine and has means for transferring I/O instructions and statuses between control unit and main processor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • 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
    • G06F13/1689Synchronisation and timing concerns
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0658Controller construction arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0688Non-volatile semiconductor memory arrays
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C5/00Details of stores covered by group G11C11/00
    • G11C5/02Disposition of storage elements, e.g. in the form of a matrix array
    • G11C5/04Supports for storage elements, e.g. memory modules; Mounting or fixing of storage elements on such supports
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1051Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
    • G11C7/106Data output latches
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1051Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
    • G11C7/1063Control signal output circuits, e.g. status or busy flags, feedback command signals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Dram (AREA)
  • Read Only Memory (AREA)

Abstract

Eine Speichervorrichtung schließt eine Speichersteuerung ein, um Eingabe-/Ausgabedaten („E/A“) über ein E/A-Signal zu übertragen oder zu empfangen sowie Befehlsdaten, Adressdaten oder Parameterdaten über ein anderes Signal parallel zum Übertragen oder Empfangen der E/A-Daten zu übertragen. Die Speichervorrichtung schließt auch ein Speichermodul ein, das kommunikativ mit der Speichersteuerung gekoppelt ist. Das Speichermodul empfängt die Befehlsdaten, Adressdaten oder Parameterdaten von der Speichersteuerung, um eine Operation durchzuführen.

Description

  • HINTERGRUND
  • Die folgende Beschreibung wird bereitgestellt, um das Verständnis des Lesers zu unterstützen. Keine der bereitgestellten Informationen oder zitierten Referenzen gelten als Stand der Technik.
  • Computertechniken zur Datenverarbeitung erfordern im Allgemeinen das Kopieren von ausführbarem Code und Daten aus einem nichtflüchtigen Speicherarray in einen flüchtigen Speicher, bevor der ausführbare Code auf die Daten angewendet wird. Die Ergebnisse der Verarbeitung werden dann an das nichtflüchtige Speicherarray zurückgesendet. Das Lesen von Informationen (z. B. Daten und ausführbarer Code) aus dem nichtflüchtigen Speicherarray oder das Schreiben von Informationen (z. B. Daten) in das nichtflüchtige Speicherarray erfolgt durch die Kommunikation zwischen einer Speichersteuerung und einem Speichermodul des nichtflüchtigen Speicherarrays. Die heutigen Techniken für die Kommunikation zwischen der Speichersteuerung und dem Speichermodul weisen jedoch Grenzen auf.
  • KURZDARSTELLUNG
  • Gemäß einigen Aspekten der vorliegenden Offenbarung wird eine Speichervorrichtung offenbart. Die Speichervorrichtung schließt eine Speichersteuerung mit programmierten Anweisungen zum Übertragen oder Empfangen von Eingabe-/Ausgabedaten („E/A-Daten“) über ein E/A-Signal und zum Übertragen von Befehlsdaten, Adressdaten oder Parameterdaten über ein anderes Signal parallel zum Übertragen oder Empfangen der E/A-Daten ein. Die Speichervorrichtung schließt auch ein Speichermodul ein, das kommunikativ mit der Speichersteuerung gekoppelt ist. Das Speichermodul empfängt die Befehlsdaten, Adressdaten oder Parameterdaten von der Speichersteuerung, um eine Operation durchzuführen.
  • Gemäß einigen weiteren Aspekten der vorliegenden Offenbarung wird ein nichtflüchtiger computerlesbarer Datenträger mit darauf gespeicherten computerlesbaren Anweisungen offenbart. Die Anweisungen veranlassen, wenn sie von einem Speichermodul ausgeführt werden, das Speichermodul zur Durchführung eines Prozesses, einschließlich des Empfangens eines ersten Lesebefehls von einer Speichersteuerung, der Übertragung von Daten an die Speichersteuerung als Reaktion auf den ersten Lesebefehl und des Empfangens eines zweiten Lesebefehls von der Speichersteuerung parallel zur Übertragung der Daten an die Speichersteuerung.
  • Gemäß noch weiteren Aspekten der vorliegenden Offenbarung wird ein nichtflüchtiger computerlesbarer Datenträger mit darauf gespeicherten computerlesbaren Anweisungen offenbart. Die Anweisungen veranlassen, wenn sie von einer Speichersteuerung ausgeführt werden, die Speichersteuerung dazu, einen Prozess durchzuführen, der das Senden eines Taktsignals an ein Speichermodul und das Senden von Befehlsdaten, Adressdaten oder Parameterdaten an das Speichermodul in Bezug auf das Taktsignal einschließt. Die Speichersteuerung sendet mindestens ein Bit der Befehls-, Adress- oder Parameterdaten bei jedem Impuls des Taktsignals. Der Prozess schließt auch das Senden eines Befehl-Latch-Aktivierungssignals („CLE-Signal“) und eines Adress-Latch-Aktivierungssignals („ALE-Signal“) ein, die anzeigen, dass die Befehlsdaten, die Adressdaten oder die Parameterdaten gesendet werden, und das Empfangen von Eingabe-/Ausgabedaten („E/A-Daten“) vom Speichermodul parallel zum Senden der Befehlsdaten, der Adressdaten oder der Parameterdaten an das Speichermodul.
  • Die vorhergehende Zusammenfassung ist nur veranschaulichend und soll in keiner Weise einschränkend sein. Zusätzlich zu den oben beschriebenen veranschaulichenden Gesichtspunkten, Ausführungsformen und Merkmalen werden weitere Gesichtspunkte, Ausführungsformen und Merkmale unter Bezugnahme auf die folgenden Zeichnungen und die ausführliche Beschreibung deutlich.
  • Figurenliste
    • 1 ist ein beispielhaftes Blockdiagramm eines Computersystems gemäß einigen Ausführungsformen der vorliegenden Offenbarung.
    • 2 ist ein beispielhaftes Blockdiagramm, das eine Speichersteuerung und ein Speichermodul des Computersystems von 1 detaillierter gemäß einigen Ausführungsformen der vorliegenden Offenbarung zeigt.
    • 3 ist ein beispielhaftes Blockdiagramm, das eine erste Ausführungsform einer Kommunikation zwischen der Speichersteuerung und dem Speichermodul von 2 gemäß einigen Ausführungsformen der vorliegenden Offenbarung zeigt.
    • 4 ist ein beispielhaftes Blockdiagramm eines Logikblocks, der dem Speichermodul von 3 gemäß einigen Ausführungsformen der vorliegenden Offenbarung zugeordnet ist.
    • 5A und 5B sind beispielhafte Zeitdiagramme, welche die Kommunikation zwischen der Speichersteuerung und dem Speichermodul von 2-4 gemäß einigen Ausführungsformen der vorliegenden Offenbarung zeigen.
    • 6 ist ein beispielhaftes Blockdiagramm, das eine zweite Ausführungsform einer Kommunikation zwischen der Speichersteuerung und dem Speichermodul von 2 gemäß einigen Ausführungsformen der vorliegenden Offenbarung zeigt.
    • 7 ist ein beispielhaftes Blockdiagramm eines Logikblocks, der dem Speichermodul von 6 gemäß einigen Ausführungsformen der vorliegenden Offenbarung zugeordnet ist.
    • 8 ist ein beispielhaftes Logikdiagramm eines Decoders, der im Logikblockdiagramm von 7 gemäß einigen Ausführungsformen der vorliegenden Offenbarung verwendet wird.
    • 9A und 9B sind beispielhafte Zeitdiagramme, welche die Kommunikation zwischen der Speichersteuerung und dem Speichermodul von 6-8 in einem ersten Modus gemäß einigen Ausführungsformen der vorliegenden Offenbarung zeigen.
    • 10A-10C sind beispielhafte Zeitdiagramme, die eine Anwendung der Ausführungsformen von 3-9B gemäß einigen Ausführungsformen der vorliegenden Offenbarung zeigen.
    • 11 ist ein beispielhaftes Zeitdiagramm, das eine andere Anwendung der Ausführungsformen von 3-9B gemäß einigen Ausführungsformen der vorliegenden Offenbarung zeigt.
    • 12 ist ein beispielhaftes Zeitdiagramm, das die Kommunikation zwischen der Speichersteuerung und dem Speichermodul von 6-8 in einem zweiten Modus gemäß einigen Ausführungsformen der vorliegenden Offenbarung zeigt.
  • Die vorstehenden und andere Merkmale der vorliegenden Offenbarung werden aus der folgenden Beschreibung und den beigefügten Ansprüchen in Verbindung mit den beigefügten Zeichnungen ersichtlich. Unter der Voraussetzung, dass diese Zeichnungen nur mehrere Ausführungsformen gemäß der Offenbarung darstellen und daher nicht als Einschränkung ihres Umfangs anzusehen sind, wird die Offenbarung durch Verwendung der beigefügten Zeichnungen spezifischer und detaillierter beschrieben.
  • DETAILLIERTE BESCHREIBUNG
  • In der folgenden detaillierten Beschreibung wird auf die beigefügten Zeichnungen Bezug genommen, die einen Teil davon bilden. In den Zeichnungen kennzeichnen ähnliche Symbole üblicherweise ähnliche Komponenten, sofern der Kontext nichts anderes vorschreibt. Die in der detaillierten Beschreibung, den Zeichnungen und den Ansprüchen beschriebenen veranschaulichenden Ausführungsformen sind nicht als Einschränkung gedacht. Andere Ausführungsformen können verwendet werden und andere Änderungen können vorgenommen werden, ohne vom Geist oder Umfang des hier präsentierten Gegenstandes abzuweichen. Es versteht sich von selbst, dass die Aspekte der vorliegenden Offenbarung, wie hierin allgemein beschrieben und in den Figuren veranschaulicht, in einer Vielzahl von verschiedenen Konfigurationen angeordnet, ersetzt, kombiniert und gestaltet werden können, die alle ausdrücklich in Betracht gezogen und zum Bestandteil dieser Offenbarung gemacht werden.
  • Die vorliegende Offenbarung betrifft ein Computersystem mit einer Speichervorrichtung. Die Speichervorrichtung schließt eine Speichersteuerung ein, die mit einem oder mehreren Speichermodulen in Kommunikation steht. Die Speichersteuerung ist eingerichtet, Daten von dem einen oder den mehreren Speichermodulen zu lesen oder Daten in dieses/diese zu schreiben. Zur Kommunikation mit einem ersten Speichermodul von einem oder mehreren Speichermodulen sind die Speichersteuerung und das erste Speichermodul über eine Vielzahl von Pads (hier auch als „Pins“ bezeichnet) und Kommunikationsbusse verbunden. Beispielsweise können die Speichersteuerung und das erste Speichermodul jeweils über ein Chip-Freigabe-Pad („CEN-Pad“), ein Adress-Latch-Freigabe-Pad („ALE-Pad“), ein Befehl-Latch-Freigabe-Pad („CLE-Pad“) und ein Ein-/Ausgabe-Pad („E/A-Pad“) verbunden werden. Die Pads, die Informationen übertragen, können als Sender-Pads bezeichnet werden, während die Pads, die Informationen empfangen, als Empfänger-Pads bezeichnet werden können.
  • Zur Kommunikation mit dem ersten Speichermodul wählt die Speichersteuerung das erste Speichermodul aus, indem sie ein CEN-Signal anlegt, das von der Speichersteuerung über die entsprechenden CEN-Pads an das erste Speichermodul übertragen wird. Ein Signal „anlegen“ bedeutet, dieses Signal aktiv zu machen. Zum Beispiel kann in einigen Ausführungsformen das CEN-Signal ein aktives niedriges Signal sein. Mit anderen Worten kann man das CEN-Signal als „angelegt“ oder aktiv betrachten, wenn das CEN-Signal bei einem logischen NIEDRIG-Pegel (z. B. Logikpegel 0) liegt. Da das CEN-Signal andererseits ein aktives NIEDRIG-Signal ist, kann das CEN-Signal als „deaktiviert“ betrachtet werden, wenn das CEN-Signal bei einem logischen HOCH-Pegel (z. B. Logikpegel 1) liegt. In ähnlicher Weise werden bei aktiven hohen Signalen diese Signale „angelegt“, wenn sie bei einem logischen HOCH-Pegel (z. B. Logikpegel 1) liegen, und „deaktiviert“, wenn sie bei einem logischen NIEDRIG-Pegel (z. B. Logikpegel 0) liegen.
  • Zusätzlich zum Anlegen des CEN-Signals legt die Speichersteuerung ein ALE-Signal und ein CLE-Signal an, um Adress- und Befehlssteuersignale über die jeweiligen ALE- und CLE-Pads an das erste Speichermodul zu senden. Die Adress- und Befehlssteuersignale können eine Operation angeben, von der die Speichersteuerung wünscht, dass das erste Speichermodul diese ausführt. Um beispielsweise einen Lesevorgang zum Lesen von Daten aus dem ersten Speichermodul durchzuführen, können die Befehls- und Adressensteuersignale einen Lesebefehl einschließen, und um einen Schreibvorgang durchzuführen, können die Befehls- und Adressensteuersignale einen Schreibbefehl einschließen. Das erste Speichermodul antwortet nicht auf Steuersignale von der Speichersteuerung, bis das CEN-Signal angelegt ist. Das erste Speichermodul beginnt auf die Steuersignale zu antworten, die von der Speichersteuerung empfangen werden, nachdem das CEN-Signal angelegt ist. Wenn somit das erste Speichermodul das angelegte CEN-Signal empfängt, beginnt das erste Speichermodul, auf die ALE- und CLE-Steuersignale zu antworten.
  • Die CLE/ALE-Steuersignale bilden den Befehls-/Adresspfad des ersten Speichermoduls. Der Befehls-/Adress-Pfad arbeitet bei einer niedrigeren Frequenz (z. B. einer Schreibzykluszeit von etwa 20 Nanosekunden und 50 MHz) im Vergleich zu den Datenübertragungsgeschwindigkeiten. Das Senden der CLE/ALE-Steuersignale erfordert auch, dass die Speichersteuerung entsprechende Befehls- und Adressdaten an das erste Speichermodul sendet. Die Befehls-/Adressdaten können auf einem E/A-Signal über entsprechende E/A-Pads vom Speichermodul an das erste Speichermodul gesendet werden. Das E/A-Signal wird auch verwendet, um eine E/A-Datenübertragung zwischen dem ersten Speichermodul und der Speichersteuerung zu erleichtern. Zum Beispiel kann für einen Schreibbefehl zum Schreiben von Daten in das erste Speichermodul die Speichersteuerung E/A-Daten über das E/A-Signal an das Speichermodul senden. In ähnlicher Weise kann die Speichersteuerung für einen Lesebefehl die Daten empfangen, die von dem ersten Speichermodul über das E/A-Signal gelesen werden. Somit wird das E/A-Signal verwendet, um sowohl E/A-Daten als auch Befehls-/Adresscodes zu senden. In einigen Ausführungsformen können Parameterdaten auch über das E/A-Signal gesendet werden. Obwohl das E/A-Signal zum Übertragen von E/A-Daten, Befehlsdaten, Adressdaten und Parameterdaten zu einer gegebenen Zeit verwendet wird, kann nur einer dieser Datentypen auf dem E/A-Signal gesendet werden.
  • Das E/A-Signal kann in zwei unterschiedliche Pfade innerhalb des ersten Speichermoduls aufgeteilt werden. Der erste der zwei unterschiedlichen Pfade kann einen Datenpfad einschließen, worin E/A-Daten gesendet werden, um in das erste Speichermodul geschrieben zu werden, oder von dem ersten Speichermodul empfangen werden, um an die Speichersteuerung übertragen zu werden. Der zweite der beiden unterschiedlichen Pfade kann einen Decodierungspfad einschließen, der die Befehls-/Adress-Steuersignale, die Parameterdaten und die Befehls-/Adressdaten zum Lesen oder Schreiben von Daten decodiert. Die Datenübertragungsgeschwindigkeiten (z. B. die Übertragung von E/A-Daten zwischen der Speichersteuerung und dem ersten Speichermodul) haben sich konstant erhöht, während die Befehls-/Adress-Pfadgeschwindigkeiten (z. B. die Übertragung von Befehls-/Adress-/Parameterdaten zum ersten Speichermodul) weitgehend stagniert haben. Die Befehls-/Adress-Pfadgeschwindigkeiten können zu einem Engpass werden, insbesondere bei Anwendungen, die das Lesen oder Schreiben eines Datenbursts erfordern (z. B. Video, Echtzeit-Bildgebung usw.). Ohne Erhöhung der Befehls-/Adress-Pfadgeschwindigkeiten ist die Geschwindigkeit, mit der Datenoperationen durchgeführt werden können, letztlich begrenzt, unabhängig davon, wie schnell die Daten aus dem ersten Speichermodul gelesen oder in dieses geschrieben werden können. Selbst eine Erhöhung der Befehls-/Adress-Pfadgeschwindigkeiten würde die Gesamtgeschwindigkeit jedoch nicht so stark erhöhen, da die E/A-Daten und die Befehls-/Adress-/Parameterdaten dasselbe E/A-Signal zur Übertragung verwenden und nur eine dieser Datenarten über das E/A-Signal gesendet werden darf.
  • Dementsprechend stellt die vorliegende Offenbarung technische Lösungen zur Erhöhung des Gesamtdurchsatzes bereit, indem sie die Parallelität bei der Übertragung von E/A-Daten und den Befehls-/Adress-/Parameterdaten ermöglicht. Durch die Möglichkeit, die E/A-Daten parallel zu den Befehls-/Adress-/Parameterdaten zu übertragen, kann die Speichersteuerung Befehle gleichzeitig mit dem Lesen/Schreiben von Daten senden, ohne darauf warten zu müssen, dass das E/A-Signal frei wird. Somit stellt die vorliegende Offenbarung zwei Ausführungsformen bereit, um die Parallelität bei der Übertragung von E/A-Daten und Befehls-/Adress-/Parameterdaten zu ermöglichen. Die erste Ausführungsform schließt die Bereitstellung eines neuen Daten-Latch-Freigabepads („DLE-Pad“) auf der Speichersteuerung und dem ersten Speichermodul ein. Das DLE-Pad kann zur Übertragung der Befehls-/Adress-/Parameterdaten über ein DLE-Signal verwendet werden, während das E/A-Signal zur Übertragung von E/A-Daten verwendet werden kann. Somit können die E/A-Daten parallel zu den Befehls-/Adress-/Parameterdaten gesendet werden. In einigen Ausführungsformen kann die Speichersteuerung die Befehls-/Adress-/Parameterdaten über das DLE-Signal seriell in Ein-Bit-Schritten in Bezug auf ein Taktsignal senden. Das erste Speichermodul kann die seriellen Daten von dem DLE-Signal empfangen und die seriellen Daten in parallele Daten umwandeln, nachdem eine Anzahl von Taktimpulsen vergangen ist. Wenn beispielsweise die Befehls-/Adress-/Parameterdaten acht Bit Daten enthalten, kann jedes Bit der Befehls-/Adress-/Parameterdaten während eines Impulses des Taktsignals gesendet werden. Das erste Speichermodul kann acht Impulse des Taktsignals zählen und die in den vorhergehenden acht Impulsen empfangenen seriellen Daten in parallele Daten umwandeln. Die parallelen Daten zeigen die Befehls-/Adress-/Parameterdaten an, die das erste Speichermodul zur Durchführung eines Vorgangs (z. B. eines Lese- oder Schreibvorgangs) verwenden kann.
  • Die zweite Ausführungsform schließt das Senden der Befehls-/Adress-/Parameterdaten über die CLE- und ALE-Signale ein, die auch die Befehls-/Adress-Steuersignale senden. Die CLE- und ALE-Signale können einen Header-Abschnitt einschließen, der für die Befehls-/Adress-/Parameterdatensteuersignale kennzeichnend ist. Das erste Speichermodul kann den Header-Abschnitt decodieren, um zu bestimmen, ob es sich bei den Informationen, die über das CLE-Signal und das ALE-Signal nach dem Header-Abschnitt empfangen werden, um Befehlsdaten oder Adressdaten oder Parameterdaten handelt. Durch die Verwendung der CLE- und ALE-Signale zum Senden der Befehls-/Adress-/Parameterdaten werden keine zusätzlichen Pads auf der Speichersteuerung und dem ersten Speichermodul benötigt.
  • Vorteilhafterweise reduziert das parallele Senden von Befehls-/Adress-/Parameterdaten und E/A-Daten die Datenzugriffszeit, wodurch das Gesamtsystem durchgehend erhöht wird. Für Anwendungen wie Flash mit niedriger Latenz, bei denen die Gesamtlesedauer (tRead) signifikant reduziert wurde (z. B. von 55 Mikrosekunden auf 5 Mikrosekunden), wird die für die Übertragung der Befehls-/Adress-/Parameterdaten benötigte Zeit zu einem großen Engpass. Durch das Senden der Befehls-/Adress-/Parameterdaten parallel zu den E/A-Daten kann zumindest ein Teil der für die Übertragung der Befehls-/Adress-/Parameterdaten benötigten Zeit innerhalb der E/A-Datenübertragungszeit abgeschirmt werden, wodurch der Durchsatz erhöht wird. In einigen Ausführungsformen kann ein Vier-Die-Lesevorgang bei einem Flash mit niedriger Latenz und einer tRead-Zeit von etwa fünf Mikrosekunden insgesamt etwa 29.320 Nanosekunden für das Lesen von Daten aus den vier Dies benötigen, anstatt etwa 29.320 Nanosekunden, wodurch die Leistung um etwa 0,71 % erhöht wird. Andere Speicheranwendungen können ebenfalls von der Abschirmung mindestens eines Teils der Befehls-/Adress-/Parameterdatenübertragungszeit innerhalb der E/A-Datenübertragungszeit profitieren.
  • Weiterhin kann in einigen Ausführungsformen die Kalibrierungszeit innerhalb der E/A-Datenübertragungszeit abgeschirmt sein. Mit zunehmender Datenübertragungsgeschwindigkeit sind verschiedene Kalibrierungssequenzen erforderlich, die auf dem ersten Speichermodul ausgeführt werden müssen, um die Leistung aufrechtzuerhalten. Diese Kalibriersequenzen (z. B. ZQ-Kalibrierung) können von der Speichersteuerung als Befehle an das erste Speichermodul gesendet werden. Die Kalibriersequenzen können parallel zur E/A-Datenübertragung gesendet werden, wodurch die Kalibrierzeit abgeschirmt wird. In einigen Ausführungsformen kann die Ausführung der Kalibrierungssequenz parallel zur E/A-Datenübertragung die Gesamtbetriebszeit von etwa 14.280 Nanosekunden auf etwa 11.270 Nanosekunden reduzieren, wodurch die Leistung um etwa 21 % gesteigert wird.
  • Unter Bezugnahme nun auf 1 ist ein beispielhaftes Blockdiagramm eines Computersystems 100 gemäß einigen Ausführungsformen der vorliegenden Offenbarung gezeigt. Das Computersystem 100 schließt eine Host-Vorrichtung 105 ein, die mit einer Speichervorrichtung 110 assoziiert ist. Die Host-Vorrichtung 105 kann dazu eingerichtet sein, Eingänge von einer oder mehreren Eingabevorrichtungen 115 zu empfangen und Ausgänge an eine oder mehrere Ausgabevorrichtungen 120 bereitzustellen. Die Host-Vorrichtung 105 kann dazu eingerichtet sein, mit der Speichervorrichtung 110, den Eingabevorrichtungen 115 und den Ausgabevorrichtungen 120 über geeignete Schnittstellen 125A, 125B bzw. 125C zu kommunizieren. Das Computersystem 100 kann in einer Vielzahl von Computervorrichtungen implementiert sein, wie Computern (z. B. Desktop, Laptop usw.), Tablets, persönlichen digitalen Assistenten, mobilen Vorrichtungen, tragbaren Computervorrichtungen wie Smart-Watches, anderen handgeführten oder tragbaren Vorrichtungen oder jeder anderen Computereinheit, die für die Durchführung von Operationen unter Verwendung der Host-Vorrichtung 105 geeignet ist.
  • Die Eingabevorrichtungen 115 können eine Vielzahl von Eingabetechnologien einschließen, wie Tastatur, Stift, Touchscreen, Maus, Trackball, Tastenfeld, Mikrofon, Spracherkennung, Bewegungserkennung, Fernbedienungen, Eingabesports, eine oder mehrere Schaltflächen, Wählscheiben, Joysticks und jede andere Eingabeperipherievorrichtung, die mit der Host-Vorrichtung 105 assoziiert ist und die einer externen Quelle, wie einem Benutzer, das Eingeben von Informationen (z. B. Daten) in die Host-Vorrichtung und das Senden von Anweisungen an die Host-Vorrichtung ermöglicht. Analog können die Ausgabevorrichtungen 120 eine Vielzahl von Ausgabetechnologien einschließen, wie externe Speicher, Drucker, Lautsprecher, Displays, Mikrofone, Leuchtdioden, Kopfhörer, Plotter, Sprachausgabevorrichtungen, Videovorrichtungen, globale Positionierungssysteme und alle anderen Ausgabeperipherievorrichtungen, die eingerichtet sind, Informationen (z. B. Daten) von der Host-Vorrichtung 105 zu empfangen. Die „Daten“, die entweder in die Host-Vorrichtung 105 eingegeben und/oder von der Host-Vorrichtung ausgegeben werden, können eine Vielzahl von Textdaten, grafischen Daten, Videodaten, Tondaten, Positionsdaten, Kombinationen davon oder andere Arten von analogen und/oder digitalen Daten, die sich für die Verarbeitung unter Verwendung des Computersystems 100 eignen, einschließen.
  • Obwohl nicht dargestellt, kann die Host-Vorrichtung 105 eine oder mehrere Verarbeitungseinheiten einschließen, die dazu eingerichtet sein können, Anweisungen zum Ausführen einer oder mehrerer Anwendungen auszuführen. In einigen Ausführungsformen können die Anweisungen und Daten, die zum Ausführen einer oder mehrerer Anwendungen benötigt werden, in der Speichervorrichtung 110 gespeichert sein. In solchen Fällen kann die Host-Vorrichtung 105 die Speichervorrichtung 110 auffordern, die Daten und Anweisungen abzurufen, die dann zumindest vorübergehend in einem Speicher auf der Host-Vorrichtung gespeichert werden können. Die Host-Vorrichtung 105 kann auch dazu eingerichtet sein, die Ergebnisse des Ausführens der einen oder der mehreren Anwendungen in der Speichervorrichtung 110 zu speichern. Somit kann die Host-Vorrichtung 105 dazu eingerichtet sein, die Speichervorrichtung 110 aufzufordern, eine Vielzahl von Operationen durchzuführen. Beispielsweise kann die Host-Vorrichtung 105 die Speichervorrichtung 110 auffordern, Daten zu lesen, Daten zu schreiben, Daten zu aktualisieren oder zu löschen und/oder Verwaltungs- oder andere Operationen durchzuführen.
  • Die Speichervorrichtung 110 schließt eine Speichersteuerung 130 ein, die dazu eingerichtet sein kann, Daten aus einem nichtflüchtigen Speicher-Array 135 zu lesen oder in dieses zu schreiben. Das nichtflüchtige Speicher-Array 135 kann eines oder mehrere Speichermodule wie Speichermodule 140A-140N einschließen. Jedes der Speichermodule 140A-140N kann eine Vielzahl von nichtflüchtigen Speichertypen einschließen. In einigen Ausführungsformen können beispielsweise eines oder mehrere der Speichermodule 140A-140N NAND-Flash-Speicherkerne einschließen. In anderen Ausführungsformen können eines oder mehrere der Speichermodule 140A-140N NOR-Flash-Speicherkerne, statische Direktzugriffsspeicher-Kerne (SRAM-Kerne), dynamische Direktzugriffsspeicher-Kerne (DRAM-Kerne), magnetoresistive Direktzugriffsspeicher-Kerne (MRAM-Kerne), Phasenwechselspeicher-Kerne (PCM-Kerne), resistive Direktzugriffsspeicher-Kerne (ReRAM-Kerne), 3D XPoint-Speicherkerne, ferroelektrische Direktzugriffsspeicher-Kerne (FeRAM-Kerne) und andere Arten von Speicherkernen, die sich für die Verwendung innerhalb des nichtflüchtigen Speicher-Arrays 135 eignen, einschließen.
  • Die Speichermodule 140A-140N können einzeln und unabhängig voneinander von der Speichersteuerung 130 gesteuert werden. Mit anderen Worten kann die Speichersteuerung 130 dazu eingerichtet sein, mit jedem der Speichermodule 140A-140N einzeln und unabhängig voneinander zu kommunizieren. Wie nachstehend ausführlicher besprochen wird, können die Speichermodule 140A-140N in einem Standby-Zustand bleiben, bis die Speichersteuerung 130 die Kommunikation mit einem der Speichermodule durch die Generierung eines Chip-Select- oder Chip-Freigabesignals herstellen möchte. Die Speichersteuerung 130 kann als logischer Block oder Schaltlogik eingerichtet sein, die Anweisungen von der Host-Vorrichtung 105 empfängt und Operationen gemäß diesen Anweisungen ausführt. Beispielsweise kann die Speichersteuerung 130 dazu eingerichtet sein, als Reaktion auf die von der Host-Vorrichtung 105 empfangenen Anweisungen Daten von einem oder mehreren der Speichermodule 140A-140N zu lesen oder in diese zu schreiben. Die Speichersteuerung 130 kann sich auf demselben Chip wie das nichtflüchtige Speicher-Array 135 oder auf einem anderen Chip befinden.
  • Es versteht sich jedoch, dass nur einige Komponenten des Computersystems 100 in 1 dargestellt und beschrieben sind. Das Computersystem 100 kann jedoch auch andere Komponenten wie verschiedene Batterien und Stromquellen, Netzwerkschnittstellen, Router, Schalter, externe Speichersysteme, Steuerungen usw. einschließen. Allgemein kann das Computersystem 100 eine Vielzahl von Hardware-, Software- und/oder Firmware-Komponenten einschließen, die zur Durchführung der hier beschriebenen Funktionen erforderlich oder als wünschenswert erachtet sind. Analog können die Host-Vorrichtung 105, die Eingabevorrichtungen 115, die Ausgabevorrichtungen 120 und die Speichervorrichtung 110, einschließlich der Speichersteuerung 130 und des nichtflüchtigen Speicher-Arrays 135, andere Hardware-, Software- und/oder Firmware-Komponenten einschließen, die für die Ausführung der hier beschriebenen Funktionen als notwendig oder wünschenswert erachtet werden.
  • Nun Bezug nehmend auf 2 wird eine Speichersteuerung 200 in Kommunikation mit einem Speichermodul 205 gemäß einigen Ausführungsformen der vorliegenden Offenbarung gezeigt. Die Speichersteuerung 200 ist der Speichersteuerung 130 von 1 ähnlich und das Speichermodul 205 ist einem der Speichermodule 140A-140N von 1 ähnlich. Obwohl gezeigt wurde, dass die Speichersteuerung 200 nur mit dem Speichermodul 205 kommuniziert, versteht es sich, dass die Speichersteuerung ebenfalls so eingerichtet ist, dass sie die Kommunikation mit jedem der Speichermodule (z. B. den Speichermodulen 140A-140N) in dem zugehörigen nichtflüchtigen Speicherarray (z. B. dem nichtflüchtigen Speicherarray 135) herstellt. Die Speichersteuerung 200 schließt eine Logik/Schaltlogik ein, um eines der Speichermodule (z. B. das Speichermodul 205) zur Durchführung einer Operation auszuwählen und bei der Auswahl des Speichermoduls einen Befehl, eine Adresse und Dateninformationen an das Speichermodul zur Durchführung der Operation zu senden. Somit generiert die Speichersteuerung 205 eine Vielzahl von Signalen, um mit dem Speichermodul 200 zu kommunizieren.
  • Zum Beispiel kann die Speichersteuerung 200 ein Chip-Freigabesignal („CEN“-Signal) 210 generieren, um das Speichermodul 205 zur Kommunikation zu aktivieren oder auszuwählen. Wie vorstehend erörtert, kann das nichtflüchtige Speicherarray (z. B. das nichtflüchtige Speicherarray 135) eine Vielzahl von Speichermodulen (z. B. die Speichermodule 140A-140N) einschließen. Die Speichermodule, die nicht verwendet werden, können in einem Standby-Zustand bleiben, um Energie zu sparen. Im Standby-Zustand reagieren die Speichermodule auf keinerlei Steuersignale von der Speichersteuerung. Wenn ein Speichermodul aktiviert werden soll, legt die Speichersteuerung ein CEN-Signal an. Nach dem Anlegen des CEN-Signals beginnt das aktivierte Speichermodul, auf die Steuersignale von der Speichersteuerung zu antworten.
  • Wenn somit die Speichersteuerung 200 das Speichermodul 205 aktivieren möchte, generiert die Speichersteuerung das CEN-Signal 210. In einigen Ausführungsformen ist das CEN-Signal 210 ein aktives niedriges Signal, was bedeutet, dass das CEN-Signal bei einem logischen NIEDRIG-Pegel (z. B. Logikpegel 0 oder Niederspannung (0 Volt)) aktiv oder angelegt ist und bei einem logischen HOCH-Pegel (z. B. Logikpegel 1 oder Hochspannung (z. B. 5 Volt)) inaktiv oder deaktiviert ist. Wenn somit keine Kommunikation mit dem Speichermodul 205 erwünscht ist, kann das CEN-Signal 210 in einem deaktivierten Zustand bleiben. Um das Speichermodul 205 zu aktivieren, kann die Speichersteuerung 200 das CEN-Signal 210 von einem logischen HOCH-Pegel auf einen logischen NIEDRIG-Pegel umschalten. In anderen Ausführungsformen kann das CEN-Signal 210 ein aktives hohes Signal sein, bei dem das CEN-Signal in einem logischen HOCH-Pegel aktiv sein kann.
  • Die Speichersteuerung 200 kann auch ein Adress-Latch-Freigabesignal („ALE“-Signal) 215 und ein Befehl-Latch-Freigabesignal („CLE“-Signal) 220 generieren. Das ALE-Signal 215 ist ein Steuersignal, das verwendet werden kann, um einen Adressbus zu aktivieren, der zwischen der Speichersteuerung 200 und dem Speichermodul 205 verbunden ist. Das CLE-Signal 220 ist ein Steuersignal, das verwendet werden kann, um einen Befehlsbus zu aktivieren, der zwischen der Speichersteuerung 200 und dem Speichermodul 205 verbunden ist. In einigen Ausführungsformen können das ALE-Signal 215 und das CLE-Signal 220 aktive hohe Signale sein. Mit anderen Worten können in einigen Ausführungsformen das ALE-Signal 215 und das CLE-Signal 220 auf einem logischen HOCH-Pegel angelegt und auf einem logischen NIEDRIG-Pegel deaktiviert werden. Die Kombination der Logikpegel des ALE-Signals 215 und des CLE-Signals 220 kann verwendet werden, um anzuzeigen, ob Befehlsdaten, Adressdaten, Parameterdaten oder Eingabe-/Ausgabedaten („E/A“-Daten) an das Speichermodul 205 gesendet werden. Die E/A-Daten können auch von dem Speichermodul 205 empfangen werden. In einigen Ausführungsformen können die Logikpegel des ALE-Signals 215 und des CLE-Signals 220 gemäß der nachstehenden Wahrheitstabelle 1 implementiert werden: Wahrheitstabelle 1
    ALE CLE OPERATION
    0 0 PARAMETERDATEN
    0 1 BEFEHLSDATEN
    1 0 ADRESSDATEN
    1 1 E/A-DATEN
  • Wenn somit das Speichermodul 205 das ALE-Signal 215 und das CLE-Signal 220 empfängt, die beide auf logischen NIEDRIG-Pegeln sind, weiß das Speichermodul, dass Parameterdaten von der Speichersteuerung 200 gesendet werden. Parameterdaten zeigen einen Modus an, wie Daten in ein E/A-Register des Speichermoduls 205 zwischengespeichert werden. Jegliche Daten, die an das Speichermodul 205 gesendet werden, werden in Bezug auf eine steigende Flanke oder eine abfallende Flanke eines Taktsignals zwischengespeichert. In einem Modus mit einer einzigen Datenrate („SDR“-Modus) werden die Daten entweder bei der steigenden oder bei der fallenden Flanke des Taktsignals zwischengespeichert. In einem Modus mit doppelter Datenrate („DDR“-Modus) (hierin auch als Toggle-Modus bezeichnet) werden die Daten sowohl bei der steigenden als auch bei der fallenden Flanke des Taktsignals zwischengespeichert. Die Parameterdaten zeigen an, welcher Modus zum Zwischenspeichern der Daten verwendet wird. Die Parameterdaten zeigen auch an, wie eine Datenübertragung zwischen der Speichersteuerung 200 und dem Speichermodul 205 erfolgt. Beispielsweise können die Parameterdaten die Anstiegsgeschwindigkeitssteuerung, den Eingangsabschluss, die Ausgangsimpedanz usw. des Datentransfers definieren. Durch Änderung der Parameterdaten kann der Modus geändert werden. In einigen Ausführungsformen kann der SDR-Modus standardmäßig verwendet werden, und der SDR-Modus kann durch Ändern der Parameterdaten in den DDR-Modus geändert werden. In anderen Ausführungsformen kann der DDR-Modus standardmäßig verwendet werden, und der DDR-Modus kann durch Ändern der Parameterdaten in den SDR-Modus geändert werden.
  • Wenn das Speichermodul 205 das ALE-Signal 215 empfängt, das auf einem logischen NIEDRIG-Pegel ist, und das CLE-Signal 220, das auf einem logischen HOCH-Pegel ist, weiß das Speichermodul, dass die Speichersteuerung 200 Befehlsdaten sendet, die in ein Befehlsregister des Speichermoduls 205 zwischengespeichert werden. In ähnlicher Weise weiß das Speichermodul, dass Adressdaten von der Speichersteuerung 205 gesendet werden, und die Adressdaten in ein Adressregister des Speichermoduls zwischengespeichert werden, wenn das Speichermodul 215 das ALE-Signal 220 auf einem logischen HOCH-Pegel und das CLE-Signal 200 auf einem logischen NIEDRIG-Pegel empfängt. Wenn das ALE-Signal 215 und das CLE-Signal 220 beide auf einem logischen HOCH-Pegel sind, versteht das Speichermodul 205, dass E/A-Daten in das Speichermodul geschrieben oder aus dem Speichermodul gelesen werden sollen. Die zu schreibenden oder gelesenen Daten können in einem E/A-Register des Speichermoduls 205 zwischengespeichert werden.
  • Somit kann durch Umschalten der Logikpegel des ALE-Signals 215 und des CLE-Signals 220 die Speichersteuerung 200 Adressdaten, E/A-Daten, Befehlsdaten und/oder Parameterdaten an das Speichermodul 205 senden.
  • Die Speichersteuerung 200 generiert auch ein E/A-Signal 225 zum Senden von E/A-Daten an das Speichermodul 205. Die Speichersteuerung 200 empfängt auch E/A-Daten, die von dem Speichermodul 205 über das E/A-Signal 225 gelesen werden. Die Speichersteuerung 200 generiert weiterhin ein Daten-Latch-Freigabesignal („DLE“-Signal) 230 zum Senden von Befehlsdaten, Adressdaten oder Parameterdaten an das Speichermodul 205. Weiterhin können das CEN-Signal 210, das ALE-Signal 215, das CLE-Signal 220, das E/A-Signal 225 und das DLE-Signal 230 taktsynchrone Signale sein, so dass sich der Zustand jedes dieser Signale in Bezug auf eine steigende und/oder fallende Flanke eines Taktsignals auf der Grundlage des verwendeten SDR-Modus oder des DDR-Modus ändert oder umschaltet. Somit kann die Speichersteuerung 200 ein CLK-Signal 235 generieren. In einigen Ausführungsformen kann das CLK-Signal 235 ein Schreibfreigabetaktsignal („WEN“-Taktsignal) sein, insbesondere wenn ein Schreibvorgang auf dem Speichermodul 205 ausgeführt werden soll. Obwohl hier nur das CEN-Signal 210, das ALE-Signal 215, das CLE-Signal 220, das E/A-Signal 225, das DLE-Signal 230 und das CLK-Signal 235 erläutert werden, kann die Speichersteuerung 200 zusätzliche Signale einschließen, die zur Erleichterung der Kommunikation zwischen der Speichersteuerung 200 und dem Speichermodul 205 benötigt oder für wünschenswert erachtet werden.
  • In einigen Ausführungsformen können das CEN-Signal 210, das ALE-Signal 215, das CLE-Signal 220, das DLE-Signal 230 und das CLK-Signal 235 jeweils ein ein-Bit breites Signal sein, während das E/A-Signal 225 ein acht Bit breites Signal sein kann. In anderen Ausführungsformen können eines oder mehrere der CEN-Signale 210, das ALE-Signal 215, das CLE-Signal 220, das E/A-Signal 225, das DLE-Signal 230 und das CLK-Signal 235 andere Bitbreiten haben. Zusätzlich können das CEN-Signal 210, das ALE-Signal 215, das CLE-Signal 220, das E/A-Signal 225, das DLE-Signal 230 und das CLK-Signal 235 von der Speichersteuerung 200 über ein erstes Pad gesendet und vom Speichermodul 205 über ein entsprechendes zweites Pad empfangen werden. Beispielsweise kann das CEN-Signal 210 von der Speichersteuerung 200 über ein erstes CEN-Pad 240 gesendet und vom Speichermodul 205 über ein zweites CEN-Pad 245 empfangen werden. In ähnlicher Weise können das ALE-Signal 215, das CLE-Signal 220, das E/A-Signal 225, das DLE-Signal 230 und das CLK-Signal 235 jeweils von der Speichersteuerung 200 über ein erstes ALE-Pad 250, ein erstes CLE-Pad 255, ein erstes E/A-Pad 260, ein erstes DLE-Pad 265 und ein erstes CLK-Pad 270 gesendet und am Speichermodul 205 über ein zweites ALE-Pad 275, ein zweites CLE-Pad 280, ein zweites E/A-Pad 285, ein zweites DLE-Pad 290 und ein zweites CLK-Pad 295 empfangen werden. Das Pad, das überträgt, wird als als Senderpad betrachtet, während das Pad, das empfängt, als Empfangspad betrachtet wird.
  • Somit generiert die Speichersteuerung 200 auf der Grundlage der von der Host-Vorrichtung (z. B. der Host-Vorrichtung 105) empfangenen Anweisungen ein oder mehrere Steuersignale (z. B. das CEN-Signal 210, das ALE-Signal 215, das CLE-Signal 220, das E/A-Signal 225, das DLE-Signal 230 und das CLK-Signal 235) und überträgt diese Steuersignale an das Speichermodul 205. Das Speichermodul 205 führt beim Empfang der Steuersignale eine oder mehrere Operationen aus.
  • Unter Bezugnahme auf 3 wird ein beispielhaftes Blockdiagramm zum Senden von Befehls- oder Adressdaten oder Parameterdaten parallel zu E/A-Daten zwischen einer Speichersteuerung 300 und einem Speichermodul 305 gemäß einigen Ausführungsformen der vorliegenden Offenbarung gezeigt. Die Befehlsdaten oder Adressdaten oder Parameterdaten werden im Allgemeinen von der Speichersteuerung 300 an das Speichermodul 305 gesendet. Die E/A-Daten können von der Speichersteuerung 300 an das Speichermodul 305 (z. B. wenn die E/A-Daten in das Speichermodul geschrieben werden sollen) oder vom Speichermodul an die Speichersteuerung (z. B. wenn die E/A-Daten aus dem Speichermodul gelesen werden) gesendet werden. Wenn die Speichersteuerung 300 die Kommunikation mit dem Speichermodul 305 herstellen möchte, legt die Speichersteuerung ein CEN-Signal 310A an. Beim Anlegen des CEN-Signals 310A kann die Speichersteuerung 300 ein CLE-Signal 310B, ein ALE-Signal 310C, ein WEN-Signal 310D und ein DLE-Signal 310E an das Speichermodul 305 senden. Jedes dieser Signale wird über ein entsprechendes Pad auf der Speichersteuerung 300 gesendet. Das CLE-Signal 310B ist dem CLE-Signal 220 ähnlich, das ALE-Signal 310C ist dem ALE-Signal 215 ähnlich, das WEN-Signal 310D ist dem CLK-Signal 235 ähnlich und das DLE-Signal 310E ist dem DLE-Signal 230 ähnlich.
  • Die Speichersteuerung 300 kann auch E/A-Daten senden, die über das E/A-Signal 310F in das Speichermodul 305 geschrieben werden sollen, oder E/A-Daten empfangen, die über das E/A-Signal aus dem Speichermodul gelesen werden. Das E/A-Signal 310F wird über ein E/A-Pad auf der Speichersteuerung gesendet oder empfangen 300. Obwohl gezeigt wurde, dass das E/A-Signal 310F in zwei Abschnitte von je vier Bits zum Senden oder Empfangen von E/A-Daten über zwei separate Pads unterteilt ist, können in einigen Ausführungsformen alle acht Bits, die über das E/A-Signal gesendet werden, über ein einziges Pad gesendet werden. In einigen Ausführungsformen kann jedem Bit der E/A-Daten, die über das E/A-Signal 310F gesendet oder empfangen werden, ein eigenes Pad zugewiesen werden, so dass für das Senden oder Empfangen von acht Bit Daten acht separate Pads verwendet werden können. Die E/A-Daten können unter Verwendung einer oder mehrerer Pads auf der Speichersteuerung 300 in anderen Granularitäten gesendet oder empfangen werden. Die E/A-Daten können zwischen der Speichersteuerung 200 und dem Speichermodul 305 synchron mit einem DQS-Signal 310G übertragen werden, das ein Taktsignal ist, das für die Übertragung von E/A-Daten zwischen der Speichersteuerung und dem Speichermodul verwendet wird.
  • Das Speichermodul 305 empfängt das CEN-Signal 310A als CEN-Signal 310H. Beim Empfangen des CEN-Signals 310H kann das Speichermodul 305 ein internes CEN-Signal generieren, das dazu verwendet werden kann, andere Pads des Speichermoduls zu aktivieren, um auf das vom Speichermodul empfangene Steuersignal zu reagieren. Somit kann das Speichermodul 305 beim Empfangen des internen CEN-Signals das CLE-Signal 310B als CLE-Signal 3101, das ALE-Signal 310C als ALE-Signal 310J, das WEN-Signal 3100 als WEN-Signal 310K, das DLE-Signal 310E als DLE-Signal 310L, das E/A-Signal 310F als E/A-Signal 310M und das DQS-Signal 310G als DQS-Signal 310N empfangen. Das Speichermodul 305 kann diese Steuersignale von der Speichersteuerung 300 über Pads auf dem Speichermodul empfangen, bevor diese Signale an geeignete Logikblöcke innerhalb des Speichermoduls umgeleitet werden. Die E/A-Daten, die über das E/A-Signal 310F und das E/A-Signal 310M gesendet werden, können an ein Latch-Modul 315 des Speichermoduls 305 gesendet und dort in Synchronisation mit dem Takt des DQS-Signals 310N zwischengespeichert werden. Das Latch-Modul 315 kann die E/A-Daten temporär speichern, bevor die E/A-Daten 320 an einen Logikblock 325 und insbesondere an einen Datenpfadblock 330 dieses Logikblocks übertragen werden, um die E/A-Daten innerhalb des Speichermoduls zu schreiben. In einigen Ausführungsformen kann ein anderer Mechanismus zur temporären Speicherung der E/A-Daten, die über das E/A-Signal 310F und das E/A-Signal 310M gesendet werden, anstelle des Latch-Moduls 315 verwendet werden. Beispielsweise können in einigen Ausführungsformen Flip-Flops, Puffer, Register oder andere temporäre Speichermechanismen verwendet werden.
  • Zusätzlich können das CLE-Signal 3101, das ALE-Signal 310J, das WEN-Signal 310K und das DLE-Signal 310L zu einem Logikblock 335 des Speichermoduls 305 geleitet werden. In einigen Ausführungsformen können das CLE-Signal 3101 und das ALE-Signal 310J über einen CLE/ALE-Treiber 340 an den Logikblock 335 umgeleitet werden. In anderen Ausführungsformen können das CLE-Signal 3101 und/oder das ALE-Signal 310J direkt an den Logikblock 335 umgeleitet werden. In einigen Ausführungsformen können das WEN-Signal 310K und das DLE-Signal 310L oder beide auch über ein oder mehrere Treibermodule zum Logikblock 335 umgeleitet werden. Innerhalb des Logikblocks 335 wird eine Sequenz von seriell über das DLE-Signal 310L empfangenen Bits in parallele Befehlsdaten, Adressdaten oder Parameterdateneingabe („DIN“) 345 umgewandelt. In einigen Ausführungsformen können die Befehlsdaten, die Adressdaten und die Parameterdaten acht Bit breit sein. In solchen Fällen kann das DLE-Signal 310L jedes Bit der Befehlsdaten, der Adressdaten oder der Parameterdaten seriell senden, je nachdem, was von der Speichersteuerung 300 über das DLE-Signal 310E gesendet wird. Das Speichermodul 305 kann die seriell empfangenen acht Bits in parallele acht Bit Daten umwandeln. Obwohl die Befehlsdaten, die Adressdaten und die Parameterdaten hier als acht Bit breit beschrieben wurden, können in anderen Ausführungsformen einer oder mehrere der Befehlsdaten, der Adressdaten und der Parameterdaten andere Bitbreiten aufweisen.
  • Die DIN 345 wird an den Logikblock 325 und insbesondere an einen Decodierblock 350 dieses Logikblocks übertragen, um die Befehlsdaten, die Adressdaten und die Parameterdaten von der Speichersteuerung 300 zu decodieren und die E/A-Daten 320 in das Speichermodul 305 zu schreiben. Weiterhin wandelt der Logikblock 335 das CLE-Signal 3101, das ALE-Signal 310J und das WEN-Signal 310K in eine Form um, die vom Logikblock 325 verstanden wird. Die Einzelheiten des Logikblocks 335 werden unter Bezugnahme auf 4 nachstehend erläutert.
  • Zusätzlich zum DIN 345 generiert der Logikblock 335 ein erstes modifiziertes Taktsignal 355 für die Befehls- und Adressdaten und ein zweites modifiziertes Taktsignal 360 für die Parameterdaten. Das erste modifizierte Taktsignal 355, das zweite modifizierte Taktsignal 360, sowie das CLE-Signal 310B und das ALE-Signal 310C können in einen Verzögerungsblock 365 umgeleitet werden. Der Verzögerungsblock 365 passt ein Tastverhältnis oder eine Impulsbreite des ersten modifizierten Taktsignals 355 und des zweiten modifizierten Taktsignals 360 innerhalb eines Blocks 365A an, um ein modifiziertes CLE-Signal 370A, ein modifiziertes ALE-Signal 370B und einen Befehls-/Adress-Takt 370C zu generieren. Ein Multiplexer 375 des Verzögerungsblocks 365 ist dazu eingerichtet, zwischen einem internen Takt 380 oder dem zweiten modifizierten Taktsignal 360 auf der Grundlage eines Power-on-Reset-Steuersignals 385 zu wählen, um die zu verwendenden Parameterdaten auszuwählen und einen Parameterdatentakt 370D zu generieren. Zum Beispiel kann der Multiplexer 375 während des Startens dazu eingerichtet sein, den internen Takt 380 auszuwählen, um dem Speichermodul 305 zu ermöglichen, den Parameterdatenmodus (z. B. SDR-Modus oder DDR-Modus) zu verwenden, der als der Standardmodus ausgewählt wurde oder in einer vorherigen Operation ausgewählt wurde. Wenn der Parameterdatenmodus während der laufenden Operation umgeschaltet werden soll, kann der Multiplexer 375 den zweiten modifizierten Takt 3601 wählen, um die Änderung des Parameterdatenmodus zu ermöglichen.
  • Das modifizierte CLE-Signal 370A, das modifizierte ALE-Signal 370B, der Befehls-/Adress-Takt 370C und der Parameterdaten-Takt 370D werden alle in den Decodierblock 350 des Logikblocks 325 eingegeben. Auf der Grundlage des modifizierten CLE-Signals 370A, des modifizierten ALE-Signals 370B, des Befehls-/Adress-Takts 370C und des Parameterdaten-Takts 370D sowie der DIN 345 ermöglicht der Decodierblock 350 das Schreiben der E/A-Daten 320 in das Speichermodul 305. Der Decodierblock 350 kann mehrere Zwischenspeicher und andere Decodierlogiken einschließen, um das modifizierte CLE-Signal 370A, das modifizierte ALE-Signal 370B, den Befehls-/Adress-Takt 370C und die Parameterdaten-Taktsignale 370D zu interpretieren.
  • Lesevorgänge können auch auf ähnliche Weise durchgeführt werden. Anstatt E/A-Daten von der Speichersteuerung 300 an den Datenpfadblock 330 zu senden, können die Daten, die gelesen werden, für Lesevorgänge vom Datenpfadblock an die Speichersteuerung über eine umgekehrte Route über das E/A-Signal 310M und das E/A-Signal 310F übertragen werden. Die Daten, die gelesen werden, können temporär im Latch-Modul 315 gespeichert werden, bevor sie an die Speichersteuerung umgeleitet werden 300.
  • Es versteht sich, dass nur einige Elemente in 3 dargestellt sind. Jedoch können andere logische Schaltungen und/oder Komponenten, die zur Ausführung der hier beschriebenen Funktion notwendig oder wünschenswert sind, in anderen Ausführungsformen verwendet werden.
  • Bezug nehmend auf 4 wird ein beispielhaftes Logikblockdiagramm 400 gemäß einigen Ausführungsformen der vorliegenden Offenbarung gezeigt. Das Logikblockdiagramm 400 entspricht dem Logikblock 335 von 3 und mindestens einem Abschnitt des Blocks 365A. Das Logikblockdiagramm 400 schließt einen Zähler 405 ein, der als Eingang ein WEN-Signal 410 empfängt und als Ausgang ein Übergangssignal 415 generiert. Das WEN-Signal 410 ist dem WEN-Signal 310K ähnlich. Der Zähler 405 ist so eingerichtet, dass er Taktimpulse des WEN-Signals 410 zählt und beim Zählen einer bestimmten Anzahl von Impulsen das Übergangssignal 415 generiert. Beispielsweise sind, wie oben angegeben, das DLE-Signal 310E und das DLE-Signal 310L Einzelbitsignale, die dazu eingerichtet sind, eine Sequenz von acht Bits zu senden. In einigen Ausführungsformen und wie in den Zeitdiagrammen der 5A und 5B näher erläutert, kann jedes Bit des DLE-Signals 310L in Bezug auf eine steigende Flanke oder fallende Flanke eines Taktimpulses des WEN-Signals 410 im SDR-Modus gesendet werden. Zum Senden von acht Bit Befehlsdaten oder Adress- oder Parameterdaten über das DLE-Signal 310L werden daher acht Taktimpulse des WEN-Signals 410 benötigt. Somit generiert der Zähler 405 beim Zählen der acht Impulse des WEN-Signals 410 das Übergangssignal 415, das anzeigt, dass acht Datenbits über das DLE-Signal 310L empfangen wurden. Der Zähler 405 kann auf eine beliebige Vielzahl von Arten implementiert werden.
  • Das Übergangssignal 415 kann über ein UND-Gatter 420 mit dem WEN-Signal 410 kombiniert werden, um ein abgeleitetes WEN-Signal („WEND“-Signal) 425 zu generieren. Das WEND-Signal 425 ist ein Auslöser für andere Elemente des Logikblockdiagramms 400, um andere Signale zu generieren. Das UND-Gatter 420 implementiert eine logische Verknüpfung an zwei Eingangssignalen, um ein Ausgangssignal zu generieren. Das UND-Gatter 420 arbeitet gemäß der nachstehenden Wahrheitstabelle Tabelle 2: Wahrheitstabelle 2
    EINGABE A EINGABE B AUSGANG
    0 0 0
    0 1 0
    1 0 0
    1 1 1
  • Daher gibt das UND-Gatter 420 nur dann einen logischen HOCH-Pegel (z. B. Logikpegel „1“) aus, wenn alle Eingänge des UND-Gatters ebenfalls auf einem logischen HOCH-Pegel liegen. Wenn einer der Eingänge des UND-Gatters 420 auf einem logischen NIEDRIG-Pegel liegt (z. B. Logikpegel „0“), ist der Ausgang des UND-Gatters ein logischer NIEDRIG-Pegel. Somit ist das WEND-Signal 425 auf einem logischen HOCH-Pegel, wenn sowohl das WEN-Signal 410 als auch das Übergangssignal 415 ebenfalls auf einem logischen HOCH-Pegel sind, während das WEND-Signal auf einem logischen NIEDRIG-Pegel ist, wenn entweder das WEN-Signal oder das Übergangssignal auf einem logischen NIEDRIG-Pegel ist.
  • Das WEND-Signal 425 wird in einen Parallel-in/Serial-out-Block („SIPO“-Block) 430 und ein Flipflop 435 eingegeben. Der SIPO-Block 430 empfängt auch das WEN-Signal 410 und ein DLE-Signal 440. Das DLE-Signal 440 ist dem DLE-Signal 310L ähnlich. Über das DLE-Signal 440 empfängt der SIPO-Block 430 seriell jedes Bit, das über das DLE-Signal gesendet wird. Da das WEND-Signal 425 nach acht Taktimpulsen des WEN-Signals 410 generiert wird und da jedes Datenbit, das auf dem DLE-Signal 440 gesendet wird, sich auf einen Impuls des WEN-Signals bezieht, hat der SIPO-Block 430 bis zum Zeitpunkt der Erzeugung des WEND-Signals acht Datenbits vom DLE-Signal empfangen. Somit wandelt der SIPO-Block 430 beim Empfangen des WEND-Signals 425 die acht Bits der seriell empfangenen Daten über das DLE-Signal 440 in einen parallelen Acht-Bit-Dateneingang („DIN“) 445. Der DIN 445 ist dem DIN 345 ähnlich, der an den Decodierblock 350 des Logikblocks 325 gesendet wird. In einigen Ausführungsformen kann der SIPO-Block 430 eine Sequenz von Schieberegistern sein. In anderen Ausführungsformen kann der SIPO-Block 430 auf andere Weise implementiert werden, um eine Folge von Ein-Bit-Daten zu empfangen und alle Bits in einen parallelen Datensatz umzuwandeln.
  • Das Flipflop 435 empfängt auch das WEND-Signal 425. Das Flipflop 435 kann verwendet werden, um das zuletzt empfangene ALE/CLE-Signal zwischenzuspeichern. Somit empfängt das Flipflop 435 ein ALE-Signal 450 und ein CLE-Signal 455 und speichert diese Signale, wenn das WEN D-Signal 425 umgeschaltet wird, zwischen. Das ALE-Signal 450 und das CLE-Signal 455 sind dem ALE-Signal 310J bzw. dem CLE-Signal 3101 ähnlich. Das Flipflop 435 empfängt das ALE-Signal 450 und das CLE-Signal 455 und generiert ein abgeleitetes ALE-Signal 460 und ein abgeleitetes CLE-Signal 465. Das abgeleitete ALE-Signal 460 und das abgeleitete CLE-Signal 465 haben die gleichen Werte wie das ALE-Signal 450 bzw. das CLE-Signal 455. Wenn beispielsweise das ALE-Signal 450 auf einem logischen HOCH-Pegel und das CLE-Signal 455 auf einem logischen NIEDRIG-Pegel liegt, wenn es in das Flipflop 435 eingegeben wird, liegt das abgeleitete ALE-Signal 460 ebenfalls auf einem logischen HOCH-Pegel und das abgeleitete CLE-Signal 465 ebenfalls auf einem logischen NIEDRIG-Pegel. Das Flipflop 435 kann auf eine beliebige Vielzahl von Arten implementiert werden.
  • Das abgeleitete ALE-Signal 460, das abgeleitete CLE-Signal 465 und ein Parameterdatensignal 470 werden in ein logisches ODER-Gatter 475A eingegeben. Das ODER-Gatter 475A generiert ein Ausgangssignal 475B, das die Generierung eines Taktsignals für den Logikblock 325 nur dann ermöglicht, wenn Befehlsdaten, Adressdaten oder Parameterdaten an diesen Logikblock gesendet werden sollen. Das ODER-Gatter 475A implementiert eine logische Disjunktion an drei Eingangssignalen, um ein Ausgangssignal zu generieren. Das ODER-Gatter 475A kann gemäß der Wahrheitstabelle 3 arbeiten: Wahrheitstabelle 3
    EINGANG A EINGANG B EINGANG C AUSGANG
    0 0 0 0
    0 0 1 1
    0 1 0 1
    0 1 1 1
    1 0 0 1
    1 0 1 1
    1 1 0 1
    1 1 1 1
  • Somit generiert das ODER-Gatter 475A einen logischen HOCH-Pegel (z. B. Logikpegel „1“) am Ausgang, wenn mindestens einer der Eingänge auf einem logischen HOCH-Pegel liegt, und erzeugt einen logischen NIEDRIG-Pegel (z. B. Logikpegel „0“), wenn alle Eingänge auf logischen NIEDRIG-Pegeln liegen. Daher liegt das Ausgangssignal 475B auf einem logischen HOCH-Pegel, wenn mindestens eines der abgeleiteten ALE-Signale 460, das abgeleitete CLE-Signal 465 oder das Parameterdatensignal 470 auf einem logischen HOCH-Pegel liegt. Das Ausgangssignal 475B liegt auf einem logischen NIEDRIG-Pegel, wenn das gesamte abgeleitete ALE-Signal 460, das abgeleitete CLE-Signal 465 und das Parameterdatensignal 470 auf einem logischen NIEDRIG-Pegel liegen.
  • Das Ausgangssignal 475B wird zusammen mit dem WEND-Signal 425 in ein logisches UND-Gatter 475C eingegeben. Das UND-Gatter 475C ist unter Verwendung der vorstehenden Wahrheitstabelle 2 implementiert. Wenn somit das WEND-Signal 425 umgeschaltet wird und wenn Befehls-, Adress- oder Parameterdaten an den Logikblock 325 gesendet werden, was durch das Ausgangssignal 475B angezeigt wird, das auf einem logischen HOCH-Pegel liegt, generiert das UND-Gatter 475C ein erstes modifiziertes Taktsignal 475D. Das erste modifizierte Taktsignal 475D ist dem ersten modifizierten Taktsignal 355 ähnlich. Das WEND-Signal 425 wird auch in ein logisches UND-Gatter 475E zusammen mit einem Parameterdatensignal 475F eingegeben. Das UND-Gatter 475E, das gemäß der vorstehenden Wahrheitstabelle 2 implementiert ist, generiert ein zweites modifiziertes Taktsignal 480, wenn das WEND-Signal 425 und das Parameterdatensignal 475F beide auf logischem HOCH-Pegel liegen. Das zweite modifizierte Taktsignal 480 ist dem zweiten modifizierten Taktsignal 360 ähnlich.
  • Das erste modifizierte Taktsignal 475D kann zu einem Verzögerungsblock 485A übertragen werden, und das zweite modifizierte Taktsignal 480 kann zu einem Verzögerungsblock 485B übertragen werden. Der Verzögerungsblock 485A und der Verzögerungsblock 485B können verwendet werden, um eine Impulsbreite des ersten modifizierten Taktsignals 475D bzw. des zweiten modifizierten Taktsignals 480 zu inkrementieren. Der Verzögerungsblock 485A erhöht die Impulsbreite des ersten modifizierten Taktsignals 475D, um ein erstes Signal mit erhöhter Breite 485C zu generieren, während der Verzögerungsblock 485B die Impulsbreite des zweiten modifizierten Taktsignals 480 erhöht, um ein zweites Signal mit erhöhter Breite 485D zu generieren. Das erste Signal mit erhöhter Breite wird zusammen mit dem ersten modifizierten Taktsignal 475D in ein ODER-Gatter 490A eingegeben, um ein erstes modifiziertes Signal 495A zu generieren. In ähnlicher Weise wird das zweite Signal mit erhöhter Breite 485D in ein ODER-Gatter 490B zusammen mit dem zweiten modifizierten Taktsignal 480 eingegeben, um ein zweites modifiziertes Signal 495B zu generieren. Das ODER-Gatter 490A und das ODER-Gatter 490B sind gemäß der vorstehenden Wahrheitstabelle 3 implementiert, jedoch mit zwei anstelle von drei Eingängen.
  • Weiterhin sind der Verzögerungsblock 485A, der Verzögerungsblock 485B, das ODER-Gatter 490A und das ODER-Gatter 490B dem Block 365A ähnlich. In einigen Ausführungsformen können der Verzögerungsblock 485A, der Verzögerungsblock 485B, das ODER-Gatter 490A und das ODER-Gatter 490B zu einem einzigen Verzögerungsblock kombiniert werden, wie in 3 in Bezug auf den Block 365A gezeigt. Außerdem können der Verzögerungsblock 485A, der Verzögerungsblock 485B, das ODER-Gatter 490A und das ODER-Gatter 490B Teil des Logikblocks 335 sein, wie in 4 gezeigt, oder von diesem Logikblock getrennt sein, wie in 3 gezeigt. Die ODER-Gatter (z. B. das ODER-Gatter 490A und das ODER-Gatter 490B) sind in 3 nicht dargestellt.
  • Obwohl 4 in Bezug auf den SDR-Modus beschrieben wurde, kann in einigen Ausführungsformen das Logikblockdiagramm 400 gemäß dem DDR-Modus implementiert werden. Im DDR-Modus kann das DLE-Signal 440 bei jeder steigenden Flanke und fallenden Flanke des WEN-Signals 410 ein Bit der Befehlsdaten, Adressdaten oder Parameterdaten übertragen. Die Operation des Zählers 405 kann modifiziert werden, um eine geeignete Anzahl von Impulsen des WEN-Signals 410 zu zählen, auf der Grundlage der Bitbreite der Befehlsdaten, der Adressdaten oder der Parameterdaten, die auf dem DLE-Signal 440 gesendet werden. Wenn beispielsweise die Befehlsdaten, die Adressdaten oder die Parameterdaten, die auf dem DLE-Signal 440 gesendet werden, acht Bits breit sind, kann der Zähler 405 im DDR-Modus dazu eingerichtet werden, vier Impulse (da zwei Bits bei jedem Impuls empfangen werden) des WEN-Signals 410 zu zählen, bevor das Übergangssignal 415 umgeschaltet wird. Obwohl das DLE-Signal 440 als ein Bit breit beschrieben wurde, kann das DLE-Signal 440 in anderen Ausführungsformen weiterhin dazu eingerichtet sein, mehr als ein Datenbit gleichzeitig zu senden. Die Operation des Zählers 405 kann auf der Grundlage der Anzahl der Impulse geändert werden, die zum Senden aller Bits der Befehlsdaten, der Adressdaten oder der Parameterdaten, die auf dem DLE-Signal 440 gesendet werden, erforderlich sind.
  • Nun Bezug nehmend auf 5A und 5B ist eine Zeitdiagramm 500 gemäß einigen Ausführungsformen der vorliegenden Offenbarung gezeigt. Das Zeitdiagramm 500 wird durch die Elemente des Logikblockdiagramms 400 von 4 implementiert. Daher wird das Zeitdiagramm 500 in Verbindung mit 4 besprochen. Weiterhin zeigen die 5A und 5B Abschnitte des Zeitdiagramms 500. Somit ist der in 5B dargestellte Abschnitt des Zeitdiagramms eine Fortsetzung des Abschnitts des Zeitdiagramms in 5A. Das Zeitdiagramm 500 wurde aus Gründen der Lesbarkeit in die Zeitdiagrammabschnitte aufgeteilt. Das Zeitdiagramm 500 schließt ein CEN-Signal 505, ein CLE-Signal 510, ein ALE-Signal 515, ein E/A-Signal 520 und ein WEN-Signal 525 ein. In einigen Ausführungsformen können das CEN-Signal 505, das CLE-Signal 510, das ALE-Signal 515 und das WEN-Signal 525 jeweils ein Bit breite Signale sein, während das E/A-Signal 520 acht Bit breit sein kann. Das WEN-Signal 525 ist ein Taktsignal, das vom Speichermodul (z. B. dem Speichermodul 205) von der Speichersteuerung (z. B. der Speichersteuerung 200) empfangen wird, um Daten an eine Adresse des Speichermoduls zu schreiben. In einigen Ausführungsformen ist das WEN-Signal 525 ein aktives niedriges Signal. Weiterhin ist das Zeitdiagramm 500 gemäß einem SDR-Modus dargestellt, bei dem verschiedene nachstehend besprochene Übergänge in Bezug auf eine steigende Flanke des WEN-Signals 525 sind. In einigen Ausführungsformen können die verschiedenen Übergänge in Bezug auf die fallende Flanke des WEN-Signals 525 in einem SDR-Modus erfolgen. Alternativ kann das Zeitdiagramm 500 für einen DDR-Modus modifiziert werden, bei dem die Übergänge an der steigenden und der fallenden Flanke des WEN-Signals 525 auftreten, wodurch sich der Durchsatz im Vergleich zum SDR-Modus verdoppelt.
  • Um ein Speichermodul zu aktivieren, legt die Speichersteuerung ein CEN-Signal an, welches das Speichermodul als CEN-Signal 505 empfängt. Da das CEN-Signal 505 ein aktives niedriges Signal ist, liegt das CEN-Signal standardmäßig auf einem logischen HOCH-Pegel. Wenn ein Speichermodul aktiviert werden soll, schaltet die Speichersteuerung das CEN-Signal um, das wiederum das CEN-Signal 505 auf einen logischen NIEDRIG-Pegel umschaltet. Das CEN-Signal 505 bleibt auf dem logischen NIEDRIG-Pegel, bis die im Speichermodul ausgeführte Operation abgeschlossen ist. Sobald die im Speichermodul ausgeführte Operation abgeschlossen ist, schaltet die Speichersteuerung das CEN-Signal auf den Standardzustand des logischen HOCH-Pegels zurück. Bei Anlegen des CEN-Signals 505 können das CLE-Signal 510 und das ALE-Signal 515 angelegt werden.
  • Die Speichersteuerung kann Adress-/Befehls-/Parameterdatensteuersignale über das CLE-Signal und das ALE-Signal senden. Das Speichermodul kann das CLE-Signal von der Speichersteuerung als CLE-Signal 510 und das ALE-Signal von der Speichersteuerung als ALE-Signal 515 empfangen. Wie in 5A dargestellt, schaltet somit nach dem Anlegen des CEN-Signals 505 das CLE-Signal 510 während der Zeitperiode 530A auf einen logischen HOCH-Pegel um, während das ALE-Signal 515 während der gleichen Zeitperiode auf einem logischen NIEDRIG-Pegel bleibt. Wie aus der vorstehenden Wahrheitstabelle 1 hervorgeht, ist die Kombination aus dem CLE-Signal 510 und dem ALE-Signal 515 ein Hinweis darauf, dass die Speichersteuerung während der Zeitperiode 530A ein Befehlssteuersignal sendet. Zusätzlich zum CLE-Signal und dem ALE-Signal beginnt die Speichersteuerung mit dem Senden von Befehlsdaten (entsprechend dem durch die CLE/ALE-Signale angezeigten Befehlssteuersignal) an das Speichermodul, die das Speichermodul über ein DLE-Signal 535 empfängt. Herkömmlicherweise sendet die Speichersteuerung Befehlsdaten, die über ein E/A-Signal gesendet werden, das vom Speichermodul am E/A-Signal 520 empfangen werden würde. Durch Senden der Befehlsdaten über das DLE-Signal 535 anstelle des E/A-Signals 520 wird das E/A-Signal zum Senden/Empfangen von E/A-Daten parallel zu den Befehlsdaten verfügbar gehalten.
  • Zu Erläuterungszwecken ist das Befehlssteuersignal, das durch die Speichersteuerung über das CLE-Signal 510 und das ALE-Signal 515 gesendet wird, ein Lesebefehl. Der Zeitdiagrammabschnitt von 5A entspricht einem ersten Lesebefehl, während der Zeitdiagrammabschnitt von 5B einem zweiten Lesebefehl entspricht. Wenn das Zeitdiagramm 500 für einen Schreibbefehl wäre, würde die Speichersteuerung E/A-Daten auf dem E/A-Signal 520 in 5A senden. Da das Zeitdiagramm 500 jedoch für einen Lesebefehl bestimmt ist, werden keine E/A-Daten von der Speichersteuerung gesendet. Vielmehr werden, wie in 5B dargestellt, E/A-Daten vom Speichermodul durch die Speichersteuerung empfangen.
  • Das DLE-Signal 535 ist dazu eingerichtet, ein Datenbit während jedes Impulses des WEN-Signals 525 zu senden. Ein „Impuls“ des WEN-Signals 525 soll hier die Dauer zwischen einer steigenden Flanke des WEN-Signals und der nächsten steigenden Flanke des WEN-Signals bedeuten. Die über das DLE-Signal 535 gesendeten Daten werden innerhalb des SIPO-Blocks 430 nach der nächsten steigenden Flanke des WEN-Signals 525 zwischengespeichert. Somit kann, wie gezeigt, das DLE-Signal 535 während eines Impulses des WEN-Signals 525 ein Bit D0 senden, und das Bit D0 kann nach einer steigenden Flanke 530B des WEN-Signals 525 im SIPO-Block 430 zwischengespeichert werden. In ähnlicher Weise kann das DLE-Signal 535 acht Datenbits in Ein-Bit-Schritten während acht Impulsen des WEN-Signals 525 zwischenspeichern. Bei einer steigenden Flanke 530C des achten Impulses des WEN-Signals 525 werden die acht seriell empfangenen Bits, die vom DLE-Signal 535 gesendet werden, im SIPO-Block 430 zwischengespeichert. Nach dem Senden der acht Bits der Befehlsdaten kann das DLE-Signal 535 damit beginnen, weitere Befehlsdaten, Adressdaten oder Parameterdaten zu senden.
  • Außerdem zählt ein Zähler 540, der dem Zähler 405 ähnlich ist, die acht Impulse (z. B. von 000 auf 111 inkrementierend) des WEN-Signals 525. Bei der achten Zählung, die der steigenden Flanke 530C entspricht, schaltet der Zähler 540 ein Übergangssignal 545 um. Das Übergangssignal 545 ist dem Übergangssignal 415 ähnlich. Somit geht an steigenden Flanke 530C das Übergangssignal 545 zu einem logischen HOCH-Pegel für einen Impuls 530D über. Nach dem einen Impuls 530D schaltet das Übergangssignal 545 zurück auf den logischen NIEDRIG-Pegel und verbleibt in dem logischen NIEDRIG-Pegel, bis der Zähler 540 wieder acht Impulse des WEN-Signals 525 zählt. Der Übergang des Übergangssignals 545 auf den logischen HOCH-Pegel schaltet ein WEND-Signal 550 um, das dem WEND-Signal 425 ähnlich ist. Wenn somit das Übergangssignal 545 für den einen Impuls 530D auf den logischen HOCH-Pegel umschaltet, schaltet das WEND-Signal 550 ebenfalls auf den logischen HOCH-Pegel um, aber für einen halben Impuls 530E.
  • Das Umschalten des WEND-Signals 550 auf den logischen HOCH-Pegel veranlasst den SIPO-Block 430, die acht Datenbits (D0-D7), die vom DLE-Signal 535 während der Zeitperiode 530A empfangen wurden, als acht Bit DIN 555 auszugeben. Der DIN 555 ist dem DIN 445 ähnlich. Zusätzlich löst das Umschalten des WEND-Signals 550 auf den logischen HOCH-Pegel das Flipflop 435 zur Generierung eines abgeleiteten ALE-Signals 560 und eines abgeleiteten CLE-Signals 565 aus. Da das ALE-Signal 515 und das CLE-Signal 510 an der steigenden Flanke 530C des WEN-Signals 525 von ihrem logischen NIEDRIG- bzw. HOCH-Pegel übergegangen sind, werden die Logikpegel der ALE- und CLE-Signale zwischengespeichert und durch das Flipflop 435 neu erzeugt, um das abgeleitete ALE-Signal 560 und das abgeleitete CLE-Signal 565 zu generieren. Wie aus 5A und 5B ersichtlich ist, weisen das abgeleitete ALE-Signal 560 und das abgeleitete CLE-Signal 565 die gleichen Logikpegel auf wie das ALE-Signal 515 bzw. das CLE-Signal 510.
  • Darüber hinaus löst das Umschalten des WEND-Signals 550 auf den logischen HOCH-Pegel die Generierung des ersten modifizierten Taktsignals 475D und des zweiten modifizierten Taktsignals 480 und die Generierung des ersten modifizierten Signals 495A bzw. des zweiten modifizierten Signals 495B daraus aus. Nur das erste modifizierte Signal 495A ist in 5A und 5B als Signal 570 dargestellt. Die Frequenz des Signals 570 ist gleich dem Achtfachen der Frequenz des WEN-Signals 525. Mit anderen Worten ist das Signal 570 gleich der Dauer von acht Impulsen des WEN-Signals 525. Mit anderen Worten weist das Signal 570 eine erhöhte Impulsbreite gegenüber dem WEN-Signal 525 auf.
  • Beim Senden aller Befehls-, Parameter- und Adressdaten für den ersten Lesebefehl in 5A werden die E/A-Daten 575 gelesen und nach außen übertragen, wie in 5B dargestellt. Wenn die E/A-Daten 575 über das E/A-Signal 520 übertragen werden, kann die Speichersteuerung damit beginnen, einen weiteren Lesebefehl zu senden, der über das Speichermodul über das CLE-Signal 510, das ALE-Signal 515 und das DLE-Signal 535 empfangen wird, wie in 5B dargestellt. So kann durch die Verwendung des DLE-Signals 535 zumindest ein Teil der Zeit, die zum Senden von Befehls-, Adress- und Parameterdaten benötigt wird, abgeschirmt oder verborgen werden, während die Zeit, die zum Senden von E/A-Daten über das E/A-Signal 520 benötigt wird, die Datenübertragungsraten erhöht und damit die Leistung gesteigert wird.
  • Unter Bezugnahme auf 6 wird nun ein beispielhaftes Blockdiagramm zur Erleichterung der Kommunikation zwischen einer Speichersteuerung 600 und einem Speichermodul 605 gemäß einigen Ausführungsformen der vorliegenden Offenbarung gezeigt. Wenn die Speichersteuerung 600 die Kommunikation mit dem Speichermodul 605 herstellen möchte, legt die Speichersteuerung ein CEN-Signal 610A an, um das Speichermodul 605 zu befähigen, auf die nach dem CEN-Signal empfangenen Steuersignale zu reagieren. Die Speichersteuerung 600 sendet außerdem ein CLE-Signal 610B, ein ALE-Signal 610C, ein WEN-Signal 610D, ein E/A-Signal 610E und ein DQS-Signal 610F an das Speichermodul 605. Jedes dieser Signale wird über ein entsprechendes Pad auf der Speichersteuerung 600 gesendet. Anders als 3 verfügt die Ausführungsform von 6 nicht über ein DLE-Pad zum Senden der Befehls-, Adress- oder Parameterdaten. Vielmehr und wie nachstehend besprochen, können das CLE-Signal 610B und das ALE-Signal 610C verwendet werden, um die Befehlsdaten, die Adressdaten und die Parameterdaten parallel zu den E/A-Daten auf dem E/A-Signal 610E an das Speichermodul 605 zu übertragen. Das WEN-Signal 610D ist dem WEN-Signal 310D ähnlich und das E/A-Signal 610E ist dem E/A-Signal 310F ähnlich. Das DQS-Signal 610F ist dem DQS-Signal 310G ähnlich und wird zum Übertragen von Daten zwischen der Speichersteuerung 600 und dem Speichermodul 605 verwendet.
  • Das Speichermodul 605 empfängt die verschiedenen Steuersignale von der Speichersteuerung 600 über Pads auf dem Speichermodul, bevor diese Signale zu geeigneten Logikblöcken innerhalb des Speichermoduls umgeleitet werden. Somit empfängt das Speichermodul 605 das CEN-Signal 610A von der Speichersteuerung 600 als CEN-Signal 610G, das CLE-Signal 610B als CLE-Signal 610H, das ALE-Signal 610C als ALE-Signal 6101, das WEN-Signal 610D als WEN-Signal 610J, das E/O-Signal 610E als E/O-Signal 610K und das DQS-Signal 610F als DQS-Signal 610L. Die E/A-Daten, die über das E/A-Signal 610E und das E/A-Signal 610K gesendet werden, werden an ein Latch-Modul 615 innerhalb des Speichermoduls 605 zur temporären Speicherung gesendet, bevor sie als E/A-Daten 620 an einen Logikblock 625 und insbesondere an einen Datenpfadblock 630 dieses Logikblocks übertragen werden, um die E/A-Daten innerhalb des Speichermoduls für einen Schreibbefehl zu schreiben. Für einen Lesebefehl kann der Datenpfadblock 630 auch verwendet werden, um die von dem Speichermodul 605 gelesenen Daten zu den E/A-Daten 620 zu übertragen, die gegebenenfalls temporär in dem Latch-Modul 615 gespeichert werden können, bevor sie über das E/A-Signal 610E an die Speichersteuerung 600 gesendet werden. Das Latch-Modul 615, der Logikblock 625 und der Datenpfadblock 630 sind dem Latch-Modul 315, dem Logikblock 325 bzw. dem Datenpfadblock 330 ähnlich.
  • Das CLE-Signal 610H, das ALE-Signal 6101 und das WEN-Signal 610J werden zu einem Logikblock 635 des Speichermoduls 605 geleitet. In einigen Ausführungsformen können das CLE-Signal 610H und das ALE-Signal 6101 über einen CLE/ALE-Treiber 635 zum Logikblock 640 umgeleitet werden. In anderen Ausführungsformen können das CLE-Signal 610H und/oder das ALE-Signal 6101 direkt zum Logikblock 635 umgeleitet werden, und in einigen Ausführungsformen kann auch das WEN-Signal 610J über ein Treibermodul zu diesem Logikblock umgeleitet werden. Der Logikblock 635 wird in 7 unten näher beschrieben. Der Logikblock 635 generiert einen Dateneingang („DIN“) 645, der an den Logikblock 625 und insbesondere an einen Decodierblock 650 dieses Logikblocks übertragen wird, um die verschiedenen Befehle von der Speichersteuerung 600 zu decodieren und die E/A-Daten 620 in das Speichermodul 605 zu schreiben oder Daten aus dem Speichermodul zu lesen.
  • Weiterhin wandelt der Logikblock 635 das CLE-Signal 610H, das ALE-Signal 6101 und das WEN-Signal 610J in eine Form um, die vom Decodierblock 650 verstanden wird. Somit generiert der Logikbaustein 635 zusätzlich zum DIN 645 ein erstes modifiziertes Taktsignal 655 für die Befehls- und Adresssteuersignale und ein zweites modifiziertes Taktsignal 660 für das Steuersignal für Parameterdaten. Das erste modifizierte Taktsignal 655 ist dem ersten modifizierten Taktsignal 355 ähnlich, während das zweite modifizierte Taktsignal 660 dem zweiten modifizierten Taktsignal 360 ähnlich ist. Das erste modifizierte Taktsignal 655 und das zweite modifizierte Taktsignal 660, sowie das CLE-Signal 610B und das ALE-Signal 610C werden zu einem Verzögerungsblock 665 umgeleitet. Der Verzögerungsblock 665 ist dem Verschlüsselungsblock 365 ähnlich. Der Verzögerungsblock 665 generiert ein modifiziertes CLE-Signal 670A, ein modifiziertes ALE-Signal 670B, einen modifizierten Befehls-/Adress-Takt 670C über einen Block 665A und einen modifizierten Parameterdaten-Takt 670D über einen Multiplexer 665B, die alle in den Decodierblock 650 eingegeben werden, um die von der Speichersteuerung 600 angeforderte Operation durchzuführen.
  • Bezug nehmend auf 7 wird ein beispielhaftes Logikblockdiagramm 700 gemäß einigen Ausführungsformen der vorliegenden Offenbarung gezeigt. Das Logikblockdiagramm 700 zeigt Elemente des Logikblocks 635 von 6. Das Logikblockdiagramm 700 schließt einen Zähler 705 ein, der als Eingang ein WEN-Signal 710 empfängt und als Ausgang ein Übergangssignal 715 generiert. Das WEN-Signal 710 ist dem WEN-Signal 410 und 610J ähnlich. Der Zähler 705 ist dem Zähler 405 ähnlich. Somit ist der Zähler 705 dazu eingerichtet, Taktimpulse des WEN-Signals 710 zu zählen und das Übergangssignal 715 beim Zählen einer bestimmten Anzahl von Impulsen zu generieren.
  • In einigen Ausführungsformen können die Befehlsdaten, Adressdaten oder Parameterdaten über die CLE- und ALE-Signale übertragen werden (z. B. das CLE-Signal 610H, das ALE-Signal 6101). Somit können die CLE- und ALE-Signale sowohl zum Senden von Befehlsdaten/Adressdaten/Parameterdaten als auch von Steuersignalen verwendet werden, die anzeigen, ob die CLE- und ALE-Signale Befehlsdaten oder Adress- oder Parameterdaten senden. Die CLE- und ALE-Signale können einen Header-Abschnitt einschließen, der gesendet wird, bevor die Befehlsdaten oder die Adressdaten oder die Parameterdaten gesendet werden. Der Header-Abschnitt entspricht dem Steuersignalabschnitt der CLE- und ALE-Signale. In einigen Ausführungsformen kann der Header-Abschnitt in einem Impuls des WEN-Signals 710 gesendet werden. In anderen Ausführungsformen kann der Header-Abschnitt in mehreren Impulsen des WEN-Signals 710 gesendet werden. Beim Empfangen des Header-Abschnitts kann der Zähler 705 mit der Zählung der Impulse des WEN-Signals 710 beginnen. In einigen Ausführungsformen können sowohl die CLE- als auch die ALE-Signale verwendet werden, um Befehlsdaten/Adressdaten/Parameterdaten zu übertragen. Wenn in solchen Fällen ein Wert von acht Bit gesendet werden soll, können vier Bits auf dem CLE-Signal und vier Bits auf dem ALE-Signal gesendet werden. Da jedes Datenbit während eines Impulses des WEN-Signals 710 gesendet werden kann, würde weiterhin das Senden von acht Datenbits (vier Bits auf dem CLE-Signal und vier Bits auf dem ALE-Signal) vier Impulse des WEN-Signals erfordern. Somit kann der Zähler 705 das Übergangssignal 715 beim Empfangen des Header-Abschnitts umschalten, dann vier Impulse nach dem Header-Abschnitt zählen und das Übergangssignal nach den vier Impulsen erneut umschalten.
  • Das Übergangssignal 715 kann über ein UND-Gatter 720 mit dem WEN-Signal 710 kombiniert werden, um ein abgeleitetes WEN-Signal („WEND“-Signal) 725 zu generieren. Das WEND-Signal 725 ist ein Auslöser für andere Elemente des Logikblockdiagramms 700, um andere Signale zu generieren. Das UND-Gatter 720 kann gemäß der vorstehenden Wahrheitstabelle 2 so implementiert werden, dass das UND-Gatter 720 nur dann einen logischen HOCH-Pegel (z. B. Logikpegel „1“) ausgibt, wenn alle Eingänge des UND-Gatters ebenfalls auf einem logischen HOCH-Pegel liegen. Wenn einer der Eingänge des UND-Gatters 720 auf einem logischen NIEDRIG-Pegel liegt (z. B. Logikpegel „0“), ist der Ausgang des UND-Gatters ein logischer NIEDRIG-Pegel. Somit ist das WEND-Signal 725 auf einem logischen HOCH-Pegel, wenn sowohl das WEN-Signal 710 als auch das Übergangssignal 715 ebenfalls auf einem logischen HOCH-Pegel sind, während das WEND-Signal auf einem logischen NIEDRIG-Pegel ist, wenn entweder das WEN-Signal oder das Übergangssignal auf einem logischen NIEDRIG-Pegel ist.
  • Das Logikblockdiagramm 700 schließt auch einen Zwischenspeicher 730A und einen Decoder 730B ein. Der Zwischenspeicher 730A kann verwendet werden, um die Bits, die auf den CLE- und ALE-Signalen gesendet werden, temporär zu speichern. Somit empfängt der Zwischenspeicher 730A ein CLE-Signal 735A und ein ALE-Signal 735B als Eingang und speichert die Bits darin. Der Zwischenspeicher 730A kann in einer beliebigen geeigneten Art und Weise implementiert werden. Der Zwischenspeicher 730A kann Daten 735C generieren, die in einen SIPO-Block 740 eingegeben werden. Das Übergangssignal 715 kann auch in den Zwischenspeicher 730A eingegeben werden, um anzuzeigen, dass die gesamte Sequenz der acht Bits empfangen wurde. In einigen Ausführungsformen kann der Zwischenspeicher 730A beim Empfangen des Übergangssignals die darin gespeicherten Daten löschen und auf den Empfang des nächsten Satzes von acht Bits aus dem CLE-Signal 735A und dem ALE-Signal 735B warten.
  • Der Decoder 730B wird verwendet, um den Header-Abschnitt des CLE-Signals 735A und das ALE-Signal 735B zu decodieren. In einigen Ausführungsformen kann der Decoder 730B den Header-Abschnitt durch Implementierung der vorstehenden Wahrheitstabelle 1 decodieren. Somit kann der Decoder 730B auf der Grundlage der Logikpegel des CLE-Signals 735A und des ALE-Signals 735B im Header-Abschnitt feststellen, ob die auf dem CLE-Signal und dem ALE-Signal unmittelbar nach dem Header-Abschnitt gesendeten Daten Befehlsdaten oder Adressdaten oder Parameterdaten sind. Der Header-Abschnitt stellt somit die Steuersignale für das CLE-Signal 735A und das ALE-Signal 735B bereit. Wenn sich beispielsweise das CLE-Signal 735A auf einem logischen NIEDRIG-Pegel im Header-Abschnitt und das ALE-Signal 735B ebenfalls auf einem logischen NIEDRIG-Pegel im Header-Abschnitt befindet, kann der Decoder 730B bestimmen, dass die Daten, die als nächstes auf diese Signale kommen, Parameterdaten sind. Wenn das CLE-Signal 735A auf einem logischen NIEDRIG-Pegel und das ALE-Signal 735B auf einem logischen HOCH-Pegel im Header-Abschnitt liegt, kann der Decoder 730B bestimmen, dass die Daten, die als nächstes auf diese Signale kommen, Adressdaten sind, während der Decoder, wenn das CLE-Signal 735A auf einem logischen HOCH-Pegel und das ALE-Signal 735B auf einem logischen NIEDRIG-Pegel im Header-Abschnitt liegt, bestimmen kann, dass die Daten, die als nächstes auf diese Signale kommen, Befehlsdaten sind. Wenn das CLE-Signal 735A auf einem logischen HOCH-Pegel und das ALE-Signal 735B ebenfalls auf einem logischen HOCH-Pegel im Header-Abschnitt liegt, kann der Decoder 730B bestimmen, dass E/A-Daten in das Speichermodul geschrieben oder E/A-Daten aus dem Speichermodul gelesen werden, die auf einem E/A-Signal übertragen werden sollen. Somit erwartet der Decoder 730B nicht, dass Daten über das CLE-Signal 735A und das ALE-Signal 735B durchkommen. Die Logikschaltung des Decoders 730B wird in 8 nachstehend ausführlicher besprochen. Der Decoder 730B kann auch das Übergangssignal 715 als Eingang empfangen. Das Umschalten des Übergangssignals 715 kann es dem Decoder 730B ermöglichen, zwischen dem Header-Abschnitt und den Befehlsdaten/Adressdaten/Parameterdaten bezüglich des CLE-Signals 735A und des ALE-Signals 735B zu unterscheiden.
  • Beim Decodieren des Header-Abschnitts des CLE-Signals 735A und des ALE-Signals 735B generiert der Decoder 730B ein Befehlssignal 735D und ein Adresssignal 735E. Das Befehlssignal 735D kann auf demselben Logikpegel wie das CLE-Signal 735A liegen, während das Adresssignal 735E auf demselben Logikpegel wie das ALE-Signal 735B liegen kann. Weiterhin kann der Decoder 730B das Befehlssignal 735D und das Adressensignal 735E so lange weiter generieren, bis der nächste Header-Abschnitt empfangen wird, was durch das Umschalten des Übergangssignals 715 angezeigt wird.
  • Die Daten 735C aus dem Zwischenspeicher 730A werden an einen SIPO-Block 740 übertragen. Der SIPO-Block 740 ist dem SIPO-Block 430 insofern ähnlich, als der SIPO-Block 740 Daten seriell empfängt und die Daten parallel ausgibt. Der SIPO-Block 740 empfängt auch das WEND-Signal 725 und das WEN-Signal 710 als Eingänge. Über die Daten 735C empfängt der SIPO-Block 740 Bitpaare, die über das CLE-Signal 735A und das ALE-Signal 735B gesendet werden. Da das WEND-Signal 725 nach vier Taktimpulsen des WEN-Signals 710 generiert wird, hat der SIPO-Block 740 zum Zeitpunkt der Generierung des WEND-Signals vier Bitpaare vom Zwischenspeicher 730A empfangen. Beim Empfangen des WEND-Signals 725 wandelt der SIPO-Block 740 die vier Bitpaare in einen parallelen Acht-Bit-Dateneingang („DIN“) 745 um. Der DIN 745 ist dem DIN 645 ähnlich, der an den Decodierblock 650 des Logikblocks 625 gesendet wird.
  • Das Befehlssignal 735D und das Adresssignal 735E aus dem Decoder 730B werden in ein Flipflop 750 eingegeben. Das Flipflop 750 empfängt auch das WEND-Signal 725. Das Flipflop 750 ist dem Flipflop 435 ähnlich. Somit kann das Flipflop 750 verwendet werden, um das Befehlssignal 735D und das Adressensignal 735E zwischenzuspeichern oder temporär zu speichern und ein abgeleitetes ALE-Signal 755A und ein abgeleitetes CLE-Signal 755B zu generieren, die zusammen mit einem Parameterdatensignal 755C in ein logisches ODER-Gatter 760 eingegeben werden. Das ODER-Gatter 760 ist dem ODER-Gatter 475 ähnlich. Somit generiert das ODER-Gatter 760 ein Ausgangssignal 765, das die Generierung eines Taktsignals für den Logikblock 625 nur dann ermöglicht, wenn entweder Befehlsdaten oder Adressdaten oder Parameterdaten an diesen Logikblock gesendet werden sollen. Das ODER-Gatter 760 ist gemäß der vorstehenden Wahrheitstabelle 3 implementiert. Somit generiert das ODER-Gatter 760 einen logischen HOCH-Pegel (z. B. Logikpegel „1“) am Ausgang, wenn mindestens einer der Eingänge auf einem logischen HOCH-Pegel liegt, und einen logischen NIEDRIG-Pegel (z. B. Logikpegel „0“), wenn alle Eingänge auf logischen NIEDRIG-Pegeln liegen. Somit liegt das Ausgangssignal 765 auf einem logischen HOCH-Pegel, wenn mindestens eines der abgeleiteten ALE-Signale 755A, das abgeleitete CLE-Signal 755B oder das Parameterdatensignal 755C auf einem logischen HOCH-Pegel liegen. Das Ausgangssignal 765 liegt auf einem logischen NIEDRIG-Pegel, wenn alle des abgeleiteten ALE-Signals 755A, des abgeleiteten CLE-Signals 755B und des Parameterdatensignals 755C auf einem logischen NIEDRIG-Pegel liegen.
  • Das Ausgangssignal 765 wird zusammen mit dem WEND-Signal 770 in ein logisches UND-Gatter 725 eingegeben. Das UND-Gatter 770 wird unter Verwendung der vorstehenden Wahrheitstabelle 2 implementiert. Wenn somit das WEND-Signal 725 auf einen logischen HOCH-Pegel übergeht und wenn Befehls-, Adress- oder Parameterdaten an den Logikblock 625 gesendet werden, was durch das Ausgangssignal 765 angezeigt wird, das auf einem logischen HOCH-Pegel liegt, generiert das UND-Gatter 770 ein erstes modifiziertes Taktsignal 775. Das erste modifizierte Taktsignal 775 ist dem ersten modifizierten Taktsignal 655 ähnlich. Das WEND-Signal 725 wird auch in ein logisches UND-Gatter 780 zusammen mit einem Parameterdatensignal 785 eingegeben. Das UND-Gatter 780, das gemäß der vorstehenden Wahrheitstabelle 2 implementiert ist, generiert ein zweites modifiziertes Taktsignal 790, wenn sowohl das WEND-Signal 725 als auch das Parameterdatensignal 785 auf logischem HOCH-Pegel liegen. Das zweite modifizierte Taktsignal 790 ist dem zweiten modifizierten Taktsignal 660 ähnlich.
  • Das erste modifizierte Taktsignal 775 wird in einen Verzögerungsblock 795A und das zweite modifizierte Taktsignal 790 in einen Verzögerungsblock 795B eingegeben. Der Verzögerungsblock 795 ist dem Verzögerungsblock 485A ähnlich, und der Verzögerungsblock 795B ist dem Verzögerungsblock 485B ähnlich. Der Verzögerungsblock 795A und der Verzögerungsblock 795B werden verwendet, um eine Impulsbreite des ersten modifizierten Taktsignals 775 bzw. des zweiten modifizierten Taktsignals 790 zu erhöhen. Der Verzögerungsblock 795A generiert ein erstes Signal mit erhöhter Breite 795C, und der Verzögerungsblock 795B generiert ein zweites Signal mit erhöhter Breite 795D. Das erste Signal mit erhöhter Breite 795C wird zusammen mit dem ersten modifizierten Taktsignal 775 in ein ODER-Gatter 795E eingegeben, während das zweite Signal mit erhöhter Breite 795D zusammen mit dem zweiten modifizierten Taktsignal 790 in ein ODER-Gatter 795F eingegeben wird. Das ODER-Gatter 7958E und das ODER-Gatter 795F können gemäß der vorstehenden Wahrheitstabelle 3 implementiert werden, jedoch mit zwei Eingängen anstelle von drei. Das Ausgangssignal vom ODER-Gatter 795E ist ein erstes modifiziertes Signal 795G mit erhöhter Impulsbreite und das Ausgangssignal vom ODER-Gatter 795F ist ein zweites modifiziertes Signal 795H mit erhöhter Impulsbreite.
  • Nun Bezug nehmend auf 8 ist eine Logikschaltung eines Decoders 800 gemäß einigen Ausführungsformen der vorliegenden Offenbarung gezeigt. Der Decoder 800 ist dem Decoder 730B ähnlich. Der Decoder 800 empfängt ein CLE-Signal 805 und ein ALE-Signal 810 als Eingänge in ein erstes UND-Gatter 815 und ein zweites UND-Gatter 820. Das ALE-Signal 810 wird vor der Eingabe in das erste UND-Gatter 815 invertiert. In ähnlicher Weise wird das CLE-Signal 805 vor der Eingabe in das zweite UND-Gatter 820 invertiert. Das CLE-Signal 805 ist dem CLE-Signal 735A ähnlich, während das ALE-Signal 810 dem ALE-Signal 735B ähnlich ist. Das erste UND-Gatter 815 und das zweite UND-Gatter 820 sind gemäß der obigen Wahrheitstabelle 2 so implementiert, dass die Ausgänge des ersten UND-Gatters und des zweiten UND-Gatters nur dann auf einem logischen HOCH-Pegel liegen, wenn alle Eingänge in ihre jeweiligen Gatter auf einem logischen HOCH-Pegel liegen.
  • Der Decoder 800 kann ein Befehlssignal 825 vom ersten UND-Gatter 815 und ein Adresssignal 830 vom zweiten UND-Gatter 820 generieren. Das Befehlssignal 825 ist dem Befehlssignal 735D ähnlich, und das Adresssignal 830 ist dem Adresssignal 735E ähnlich. Der Decoder 800 kann gemäß der nachstehenden Wahrheitstabelle 4 implementiert werden: Wahrheitstabelle 4
    CLE ALE Befehl Adresse
    0 0 0 0
    0 1 0 1
    1 0 1 0
    1 1 UNGÜLTIG UNGÜLTIG
  • Nun Bezug nehmend auf 9A und 9B ist ein Zeitdiagramm 900 gemäß einigen Ausführungsformen der vorliegenden Offenbarung gezeigt. Das Zeitdiagramm 900 wird durch das Logikblockdiagramm 700 von 7 implementiert. Daher wird das Zeitdiagramm 900 in Verbindung mit 7 erläutert. Weiterhin zeigen die 9A und 9B Abschnitte des Zeitdiagramms 900. Somit ist der in 9B dargestellte Abschnitt des Zeitdiagramms eine Fortsetzung des Abschnitts des in 9A gezeigten Zeitdiagramms. Das Zeitdiagramm 900 wurde aus Gründen der Lesbarkeit in die Zeitdiagrammabschnitte der 9A und 9B aufgeteilt. Weiterhin ist das Zeitdiagramm 900 zu Erklärungszwecken für einen Lesebefehl vorgesehen. Der Zeitdiagrammabschnitt von 9A entspricht einem ersten Lesebefehl, während der Zeitdiagrammabschnitt von 9B einem zweiten Lesebefehl entspricht. Somit werden keine E/A-Daten von der Speichersteuerung gesendet. Vielmehr werden, wie in 9B dargestellt, E/A-Daten vom Speichermodul durch die Speichersteuerung empfangen.
  • Das Zeitdiagramm 900 schließt ein CEN-Signal 905, ein CLE-Signal 910, ein ALE-Signal 915, ein E/A-Signal 920 und ein WEN-Signal 925 ein. In einigen Ausführungsformen können das CEN-Signal 905, das CLE-Signal 910, das ALE-Signal 915 und das WEN-Signal 925 jeweils ein Bit breite Signale sein, während das E/A-Signal 920 acht Bit breit sein kann. In einigen Ausführungsformen und wie in dem Zeitdiagramm 900 gezeigt, ist das WEN-Signal 925 ein aktives niedriges Signal. Weiterhin ist das Zeitdiagramm 900 gemäß einem SDR-Modus dargestellt, bei dem verschiedene nachstehend besprochene Übergänge in Bezug auf eine steigende Flanke des WEN-Signals 925 sind. In einigen Ausführungsformen können die verschiedenen Übergänge in Bezug auf die fallende Flanke des WEN-Signals 925 in einem SDR-Modus erfolgen. Alternativ kann das Zeitdiagramm 900 für einen DDR-Modus modifiziert werden, bei dem die Übergänge an der steigenden und der fallenden Flanke des WEN-Signals 925 auftreten, wodurch sich der Durchsatz im Vergleich zum SDR-Modus verdoppelt. Ein Zeitdiagramm für einen DDR-Modus ist in 12 nachstehend gezeigt.
  • Um das Speichermodul (z. B. das Speichermodul 605) zu aktivieren, legt die Speichersteuerung (z. B. die Speichersteuerung 600) ein CEN-Signal an, das am Speichermodul als CEN-Signal 905 empfangen wird. Da das CEN-Signal 905 ein aktives niedriges Signal ist, liegt das CEN-Signal standardmäßig auf einem logischen HOCH-Pegel. Wenn ein Speichermodul aktiviert werden soll, schaltet die Speichersteuerung das CEN-Signal 905 auf einen logischen NIEDRIG-Pegel um. Das CEN-Signal 905 bleibt auf dem logischen NIEDRIG-Pegel, bis die im Speichermodul ausgeführte Operation abgeschlossen ist. Sobald die im Speichermodul ausgeführte Operation abgeschlossen ist, schaltet die Speichersteuerung das CEN-Signal auf den Standardzustand des logischen HOCH-Pegels zurück. Wenn das CEN-Signal 905 angelegt wird (z. B. auf einem logischen NIEDRIG-Pegel), beginnt das Speichermodul auf das CLE-Signal, das ALE-Signal und das von der Speichersteuerung empfangene WEN-Signal zu reagieren.
  • Während des ersten Impulses des WEN-Signals 925 senden das CLE-Signal 910 und das ALE-Signal 915 einen Header-Abschnitt 930A. Der Header-Abschnitt 930A zeigt das CLE-Signal 910 in einem logischen HOCH-Pegel und das ALE-Signal 915 in einem logischen NIEDRIG-Pegel. Beim Empfangen des CLE-Signals 910 und des ALE-Signals 915 kann der Decoder 730B diese Signale gemäß der vorstehenden Wahrheitstabelle 1 decodieren und bestimmen, dass der Header-Abschnitt einem Befehlssteuersignal entspricht. Somit kann der Decoder 730B bestimmen, dass die Daten, die auf dem CLE-Signal 910 und dem ALE-Signal 915 nach dem Header-Abschnitt 930A gesendet werden, Befehlsdaten sind, die dem Befehlssteuersignal entsprechen. Somit beginnen nach einer ersten steigenden Flanke 930B des WEN-Signals 925 das CLE-Signal 910 und das ALE-Signal 915 jeweils mit dem Senden von Befehlsdatenbits - ein Bit während jedes Taktsignals des WEN-Signals 925. Beispielsweise kann das CLE-Signal 910 während des ersten Impulses nach dem Header-Abschnitt 930A ein Bit, D0, senden, während das ALE-Signal 915 während desselben Impulses ein Bit, D1, senden kann. Jedes Bit, das in einem Impuls über das CLE-Signal 910 und das ALE-Signal 915 gesendet wird, wird bei der nächsten steigenden Flanke des WEN-Signals 925 innerhalb des Zwischenspeichers 730A zwischengespeichert.
  • Die Ausgabe des Zwischenspeichers ist in dem Zeitdiagramm als ein Datensignal 935 gezeigt. Somit werden die Bits D0 und D1 innerhalb des Zwischenspeichers 730A nach einer steigenden Flanke 930C des WEN-Signals 925 als Datenbits 930D zwischengespeichert, die Bits D2 des CLE-Signals 910 und D3 des ALE-Signals 915 werden nach einer steigenden Flanke 930E des WEN-Signals 925 als Datenbits 930F zwischengespeichert, usw.. Weiterhin generiert der Decoder 730B ein Befehlssignal 940 und ein Adresssignal 945 beim Umschalten eines Übergangssignals 950, das von einem Zähler 955 generiert wird. Bei der steigenden Flanke 930B des WEN-Signals 925 beginnt der Zähler 955 mit der Zählung der WEN-Taktimpulse. Da bei jedem Impuls des WEN-Signals 925 zwei Bits (ein Bit auf dem CLE-Signal 910 und ein weiteres Bit auf dem ALE-Signal 915) gesendet werden, zählt der Zähler 955 vier Impulse nach der steigenden Flanke 930B. Bei einer fünften steigenden Flanke 930G schaltet der Zähler das Übergangssignal 950 um. Somit geht das Übergangssignal 950 bei der fünften steigenden Flanke 930G für einen Impuls 930H auf einen logischen HOCH-Pegel über. Nach dem einen Impuls 930H schaltet das Übergangssignal 950 in den logischen NIEDRIG-Zustand zurück und bleibt im logischen NIEDRIG-Zustand, bis der Zähler 955 vier Impulse des WEN-Signals 525 zählt. Die Überführung des Übergangssignals 950 in den logischen HOCH-Pegel schaltet ein WEND-Signal 960 für einen halben Impuls um. Das WEND-Signal 960 ist dem WEND-Signal 725 ähnlich.
  • Das Datensignal 935 wird zusammen mit dem WEND-Signal 960 und dem WEN-Signal 925 in den SIPO-Block 740 eingegeben, der die vier Bitpaare aus dem Datensignal zu einem acht-Bit-DIN-Signal 965 kombiniert, wie durch den Abschnitt 930I angezeigt. Das DIN-Signal 965 ist dem DIN 745 ähnlich. Zusätzlich löst das Umschalten des WEND-Signals 960 auf den logischen HOCH-Pegel das Flipflop 750 zur Generierung eines abgeleiteten ALE-Signals 970 und eines abgeleiteten CLE-Signals 975 aus. Da das ALE-Signal 915 und das CLE-Signal 910 Befehlsdatenbits nach dem Header-Abschnitt 930A senden, werden die Logikpegel der ALE- und CLE-Signale aus dem Header-Abschnitt durch das Flipflop 750 erneut erzeugt, um das abgeleitete ALE-Signal 970 und das abgeleitete CLE-Signal 975 zu generieren. Das abgeleitete ALE-Signal 970 und das abgeleitete CLE-Signal 975 weisen die gleichen Logikpegel auf wie das ALE-Signal 915 bzw. das CLE-Signal 910.
  • Darüber hinaus löst das Umschalten des WEND-Signals 960 auf den logischen HOCH-Pegel die Generierung des ersten modifizierten Taktsignals 775 und des zweiten modifizierten Taktsignals 790 sowie des ersten modifizierten Signals 795G und des zweiten modifizierten Signals 795H aus. Nur das erste modifizierte 795G ist im Zeitdiagramm 900 als Signal 980 dargestellt. Der eine Impuls des Signals 980 ist gleich der Gesamtdauer der fünf Impulse (ein Impuls für den Header-Abschnitt 930A und vier Impulse für die Befehlsdaten) des WEN-Signals 925. Weiterhin weist der eine Impuls des Signals 980 ein Tastverhältnis auf, das die Hälfte des fünffachen Arbeitszyklus jedes Impulses des WEN-Signals 925 beträgt.
  • Während die Befehlsdaten, Adressdaten oder Parameterdaten durch das CLE-Signal 910 und das ALE-Signal 915 übertragen werden, kann weiterhin das E/A-Signal 920 verwendet werden, um Daten zu senden, die in das Speichermodul geschrieben oder aus dem Speichermodul gelesen werden müssen. 9B zeigt einen Datenausgabevorgang während des Auslesens von Daten aus dem Speichermodul. Somit kann die Speichersteuerung, wie in 9B gezeigt, mit dem Senden eines zweiten Lesebefehls beginnen, während die E/A-Daten 985 für den ersten Lesebefehl vom Speichermodul auf dem E/A-Signal 920 gesendet werden. Somit kann durch die Verwendung des CLE-Signals 910 und des ALE-Signals 915 zumindest ein Teil der Zeit, die zum Senden von Befehls-, Adress- oder Parameterdaten benötigt wird, abgeschirmt oder verborgen werden, während die Zeit, die zum Senden von E/A-Daten über das E/A-Signal 920 benötigt wird, die Datenübertragungsraten erhöht und damit die Leistung gesteigert wird.
  • Unter Bezugnahme auf die 10A-10C werden beispielhafte Zeitdiagramme 1000A, 1000B, and 1000C, die eine Anwendung zum Senden von Befehlsdaten/Adressdaten/Parameterdaten parallel zu E/A-Daten veranschaulichen gemäß einigen Ausführungsformen der vorliegenden Offenbarung gezeigt. Die Zeitdiagramme 1000A-1000C zeigen einen Multi-Die-Lesevorgang (z. B. jeder Die mit mehreren Speichermodulen) für einen Flash-Speicher mit niedriger Latenz. 10A zeigt ein Problem im Zusammenhang mit dem Abschließen eines Lesebefehls in jedem von vier Dies, Die 0, Die 1, Die 2 und Die 3, die parallel zueinander sind. Das Abschließen eines Lesebefehls durch einen Die kann mehrere Lesebefehlsabschnitte einschließen. Um beispielsweise Daten aus Die 0 zu lesen, sendet die assoziierte Speichersteuerung zunächst einen Lesebefehlsteil 1005A (z. B. ein Lesesteuersignal und entsprechende Befehls-/Adress-/Parameterdaten). Beim Empfangen des Lesebefehlsabschnitts 1005A beginnt Die 0 mit der Decodierung des Lesebefehlsabschnitts 1005A zum Lesen von Daten. Die interne Zeit für das Speichermodul zur Decodierung des Lesebefehlsabschnitts 1005A und zum Lesen der Daten wird als Lesezeit 1010A angezeigt. Der Speichersteuerung kann die Dauer der Lesezeit 1010A bekannt sein. Nach Ablauf der Lesezeit 1010A kann die Speichersteuerung einen Datenausgabebefehl 1015A an das Speichermodul ausgeben, um die vom Speichermodul während der Lesezeit 1010A gelesenen Daten zu empfangen. Beim Empfangen des Datenausgabebefehls 1015A kann das Speichermodul den Datenausgabebefehl 1015A während der Zeitperiode 1020A decodieren und den Datenausgabebetrieb während der Zeitperiode 1025A starten.
  • In ähnlicher Weise kann die Speichersteuerung zum Lesen von Daten aus den Dies 1-3 einen Lesebefehl ausgeben, der den Lesebefehlsabschnitt 1005A, die Lesezeit 1010A, den Datenausgabebefehl 1015A und die Zeitperiode 1020A für die Decodierung des Datenausgabebefehls und die Zeitperiode 1025A für die Übertragung der Daten einschließt. Die Speichersteuerung kann das Senden des Lesebefehlsabschnitts 1005A und des Datenausgabebefehls 1015A auf den Dies 0-3 so staffeln, dass diese Befehle gesendet werden, während das Speichermodul diese Signale decodiert und das E/A-Signal zum Senden der Befehle verfügbar ist. Beispielsweise kann die Speichersteuerung den Lesebefehlsabschnitt 1005A auf Die 1 während der Lesezeit 1010A von Die 0 senden. Somit steht während der Lesezeit 1010A von Die 0 das E/A-Signal zur Verfügung, um den Lesebefehlsabschnitt 1005A auf Die 1 zu senden. Wenn die Speichersteuerung den Lesebefehlsabschnitt 1005A auf Die 2 sendet, befinden sich sowohl Dies 0 als auch 1 während der Lesezeit 1010A und das E/A-Signal ist verfügbar, um den Lesebefehlsabschnitt auf Die 2 zu senden. Wenn die Speichersteuerung den Lesebefehlsabschnitt 1005A auf Die 3 sendet, befinden sich die Dies 0 bis 2 in der Lesezeit 1010A.
  • Wenn die Speichersteuerung den Datenausgabebefehl 1015A auf Die 1 sendet, decodiert Die 0 den Datenausgabebefehl während der Zeitperiode 1020A und das E/A-Signal ist verfügbar. In ähnlicher Weise ist das E/A-Signal verfügbar, wenn die Speichersteuerung den Datenausgabebefehl 1015A auf Die 2 sendet, da dieser Die während der Zeitperiode 1020A der Decodierung des Datenausgabebefehls liegt. Somit kann die Speichersteuerung den Lesebefehlsabschnitt 1005A und den Datenausgabebefehl 1015A parallel auf den Dies 0 bis 2 ausgeben.
  • Während der Zeitperiode 1025A, in der Die 0 Daten über das E/A-Signal an die Speichersteuerung überträgt, kann die Speichersteuerung jedoch keine weiteren Befehle auf Dies 1 bis 3 auf dem E/A-Signal in konventionellen Mechanismen senden. Somit ist die Speichersteuerung nicht in der Lage, den Datenausgabebefehl 1015A auf Die 3 zu senden, der mit dem Datentransfer auf Die 0 zusammenfällt, da konventionell Befehlsdaten und E/A-Daten dasselbe E/A-Signal verwenden. Daher kann die Speichersteuerung entweder den Datenausgabebefehl 1015A auf dem E/A-Signal an Die 3 senden oder die Daten von Die 0 während der Überlappungszeitperiode 1030 empfangen. Somit. 10 zeigt ein Problem mit dem parallelen Lesen von Daten auf mehreren Dies bei konventionellen Mechanismen. Um das vorstehende Problem zu umgehen, muss die Speichersteuerung bei konventionellen Mechanismen warten, bis der Datenausgabevorgang auf Die 0 abgeschlossen ist, bevor sie einen Befehl auf Die 3 ausgibt. Wenn sich die Datenausgabevorgänge von Die 1 und 2 tatsächlich mit dem Senden der Befehle für Dies 3 überlappen, muss die Speichersteuerung möglicherweise warten, bis auch die Datenausgabevorgänge von Die 1 und 2 abgeschlossen sind, wie in 10B gezeigt. In ähnlicher Weise muss Die 1 warten, bis der Datenausgabevorgang an Die 0 abgeschlossen ist, bevor mit der Datenübertragung begonnen werden kann, wie durch die Wartezeitperiode 1035 angezeigt wird.
  • Somit wartet die Speichersteuerung, wie in 10B gezeigt, mit der Ausgabe des Datenausgabebefehls 1015A auf Die 3, bis der Datenausgabevorgang während der Zeitperiode 1025A auf Die 0-2 abgeschlossen ist. Daher haben die konventionellen Mechanismen zum Lesen von Daten in einem Flash-Speicher mit niedriger Latenzzeit den Durchsatz verringert. Um den Durchsatz zu erhöhen, können die Befehlsdaten und die E/A-Daten parallel gesendet werden, wie in der vorliegenden Offenbarung besprochen. Insbesondere und wie in 10C gezeigt, kann die Speichersteuerung unter Verwendung der vorliegenden Offenbarung den Datenausgabebefehl 1015A auf Die 3 ausgeben, während die E/A-Daten aus Die 0 während der Zeitperiode 1025A auf Die 0 gelesen werden. Dies liegt daran, dass die Befehlsdaten parallel zu den E/A-Daten unter Verwendung der vorliegenden Offenbarung gesendet werden können, wodurch der Durchsatz erhöht wird.
  • Nun Bezug nehmend auf 11 ist ein Zeitdiagramm 1100 gemäß einigen Ausführungsformen der vorliegenden Offenbarung gezeigt. Allgemein gesprochen können bestimmte Sequenzen, wie z. B. eine ZQ-Kalibrierungssequenz, von Zeit zu Zeit auf Speichermodulen ausgeführt werden. Die Ausführung dieser Kalibrierungssequenzen erfordert das Senden von Befehlen von der Speichersteuerung an das zu kalibrierende Speichermodul. Wenn die Kalibriersequenzbefehle gesendet werden, können bei konventionellen Mechanismen keine Daten an das Speichermodul gesendet oder von diesem empfangen werden, da sie dasselbe E/A-Signal zur Übertragung sowohl der Befehle als auch der E/A-Daten verwenden, wie im Zeitdiagramm 1105 dargestellt. Unter Verwendung der Lehren der vorliegenden Offenbarung kann die Speichersteuerung jedoch parallel Kalibrierungssequenzbefehle und E/A-Daten senden, wie im Zeitdiagramm 1110 dargestellt, wodurch der Durchsatz verbessert wird.
  • Bezug nehmend auf 12 wird ein beispielhaftes Zeitdiagramm 1200 gemäß einigen Ausführungsformen der vorliegenden Offenbarung gezeigt. Das Zeitdiagramm 1200 ist dem Zeitdiagramm 900, jedoch in einem DDR Modus, ähnlich. Somit werden Daten bei jeder Flanke (z. B. steigende Flanke und fallende Flanke) eines Taktsignals zwischengespeichert. Wenn somit ein CEN-Signal 1205 auf einen logischen NIEDRIG-Pegel umschaltet, werden ein WEN-Signal 1210, ein CLE-Signal 1215 und ein ALE-Signal 1220 angelegt. Da die Operation im DDR-Modus erfolgt, wird bei einer ersten Flanke 1225A des WEN-Signals 1210 die Header-Information 1225B durch das CLE-Signal 1215 und das ALE-Signal 1220 gesendet. Nach der Header-Information 1225B beginnen das CLE-Signal 1215 und das ALE-Signal 1220, Bits von Befehlsdaten/Adressdaten/Parameterdaten zu senden, die nach jeder ansteigenden oder abfallenden Flanke des WEN-Signals 1210 zwischengespeichert werden. Beispielsweise werden die Bits D0 und D1 nach einer Flanke 1225C des WEN-Signals 1210, die Bits D2 und D3 nach der Flanke 1225D des WEN-Signals zwischengespeichert, und so weiter.
  • Weiterhin kann ein Zähler 1230 jede Flanke des WEN-Signals 1210 zählen, anstatt wie im SDR-Modus Impulse zu zählen. Beim Zählen von fünf Umschaltflanken (eine Flanke für die Header-Information 1225B und vier Flanken für die Datenbits D0-D7) schaltet der Zähler 1230 somit ein Übergangssignal 1235 um, wie durch die Flanke 1225E angezeigt wird. Weiterhin schaltet das Übergangssignal 1235 ein WEND-Signal 1240 um. Das Umschalten des WEND-Signals 1240 löst die Generierung eines abgeleiteten CLE-Signals 1245, eines abgeleiteten ALE-Signals 1250 und des DIN 1255 aus, ähnlich wie vorstehend beschrieben.
  • Somit stellt die vorliegende Offenbarung einen Mechanismus bereit, um Befehlsdaten/Adressdaten/Parameterdaten parallel zu den E/A-Daten zu senden, wodurch Leistung und Durchsatz erhöht werden.
  • Der hier beschriebene Gegenstand der Erfindung veranschaulicht manchmal unterschiedliche Komponenten, die in unterschiedlichen anderen Komponenten enthalten oder mit ihnen verbunden sind. Es versteht sich, dass solche dargestellten Architekturen nur beispielhaft sind, und dass tatsächlich viele andere Architekturen implementiert werden können, die dieselbe Funktionalität erzielen. In einem konzeptionellen Sinn ist jede Anordnung von Komponenten zum Erzielen derselben Funktionalität tatsächlich „assoziiert“, so dass die gewünschte Funktionalität erzielt wird. Somit können zwei beliebige Komponenten, die hier kombiniert sind, um eine bestimmte Funktionalität zu erzielen, als „miteinander assoziiert“ betrachtet werden, so dass die gewünschte Funktionalität erzielt wird, unabhängig von Architekturen oder medienübergreifenden Komponenten. Gleichermaßen können zwei beliebige so miteinander assoziierte Komponenten auch als „betriebsfähig miteinander verbunden“ oder „betriebsfähig miteinander gekoppelt“ betrachtet werden, um die gewünschte Funktionalität zu erzielen, und zwei beliebige Komponenten, die so miteinander assoziiert werden können, können auch als „betriebsfähig miteinander koppelbar“ betrachtet werden, um die gewünschte Funktionalität zu erzielen. Spezielle Beispiele für betriebsfähig miteinander koppelbar schließen physisch steckbare und/oder physikalisch interagierende Komponenten und/oder drahtlos interagierbare und/oder drahtlos interagierende Komponenten und/oder logisch interagierende und/oder logisch interagierbare Komponenten ein, sind aber nicht darauf beschränkt.
  • Bezüglich der Verwendung von im Wesentlichen jeglicher Ausdrücke im Plural und/oder Singular hierin kann ein Fachmann vom Plural in den Singular und/oder vom Singular in den Plural umwandeln, wie es für den Kontext und/oder die Anwendung geeignet ist. Aus Gründen der Klarheit können die verschiedenen Singular-/Plural-Vertauschungen hier ausdrücklich dargelegt werden.
  • Ein Fachmann wird verstehen, dass die hier verwendeten Ausdrücke im Allgemeinen und insbesondere in den beiliegenden Ansprüchen (z. B. Hauptteile der beigefügten Ansprüche) generell als „offene“ Ausdrücke beabsichtigt sind (d. h. der Begriff „einschließlich“ muss als „einschließlich, aber nicht darauf beschränkt“ ausgelegt werden, der Begriff „weist auf“ muss als „weist mindestens auf” ausgelegt werden, der Begriff „schließt ein“ muss als „schließt ein, ist aber nicht darauf beschränkt“ usw. ausgelegt werden). Ein Fachmann wird ferner verstehen, dass, falls eine spezielle Anzahl in einer eingeleiteten Anspruchs-Rezitation beabsichtigt ist, eine solche Absicht in dem Anspruch explizit angegeben ist, und wenn eine solche Rezitation fehlt, keine solche Absicht vorhanden ist. Als Hilfe zum Verständnis können zum Beispiel in den folgenden beiliegenden Ansprüchen die einleitenden Formulierungen „mindestens ein/e“ und „ein/e oder mehrere“ verwendet werden, um Anspruchs-Rezitationen einzuleiten. Die Verwendung solcher Formulierungen darf jedoch nicht so ausgelegt werden, dass die Einleitung einer Anspruchs-Rezitation durch die unbestimmten Artikel „ein“ oder „eine“ bedeutet, dass jeder spezielle Anspruch, der eine solche eingeleitete Anspruchs-Rezitation enthält, auf Erfindungen eingeschränkt ist, die nur eine solche Rezitation enthalten, sogar wenn der selbe Anspruch die einleitenden Formulierungen „ein/e oder mehrere“ und „mindestens ein/e“ und unbestimmte Artikel, wie „ein“ oder „eine“ enthält (z. B. muss „ein“ und/oder „eine“ in der Regel so ausgelegt werden, dass es „mindestens ein/e“ oder „ein/e oder mehrere“ bedeutet); Dasselbe gilt auch für die Verwendung von bestimmten Artikeln, die dazu benutzt werden, Anspruchs-Rezitationen einzuleiten. Zusätzlich dazu wird, sogar wenn eine spezielle Anzahl einer eingeleiteten Anspruchs-Rezitation explizit angegeben wird, ein Fachmann erkennen, dass eine solche Rezitation in der Regel so interpretiert werden muss, dass mindestens die angegebene Anzahl gemeint ist (z. B. bedeutet die bloße Rezitation von „zwei Rezitationen“ ohne weitere Modifizierer in der Regel mindestens zwei Rezitationen oder zwei oder mehr Rezitationen). Ferner ist in den Fällen, in denen eine Konvention verwendet wird, die „mindestens ein/e/s von A, B und C, usw.“ entspricht, eine solche Konstruktion im Allgemeinen in dem Sinn beabsichtigt, in dem ein Fachmann die Konvention verstehen würde (z. B. wird „ein System, das mindestens eines von A, B und C aufweist“ Systeme einschließen, die A alleine, B alleine, C alleine, A und B zusammen, A und C zusammen, B und C zusammen und/oder A, B und C zusammen usw. aufweisen, ist aber nicht darauf beschränkt). In diesen Fällen, in denen eine Konvention verwendet wird, die „mindestens einem/einer von A, B oder C, usw.“ entspricht, ist eine solche Konstruktion im Allgemeinen in dem Sinn beabsichtigt, in dem ein Fachmann die Konvention verstehen würde (z. B. würde „ein System, das mindestens eines von A, B oder C aufweist“ Systeme einschließen, die A alleine, B alleine, C alleine, A und B zusammen, A und C zusammen, B und C zusammen und/oder A, B und C zusammen usw. aufweisen, ist aber nicht darauf beschränkt). Ein Fachmann wird ferner verstehen, dass praktisch jedes disjunktive Wort und/oder praktisch jede Formulierung, die zwei oder mehr alternative Begriffe darlegt, in der Beschreibung, den Ansprüchen oder Zeichnungen so verstanden werden sollte, dass die Möglichkeit besteht, dass es einen der Begriffe, einen von beiden Begriffen oder beide Begriffe einschließt. Zum Beispiel wird die Formulierung „A oder B“ so verstanden, dass die Möglichkeiten „A“ oder „B“ oder „A und B“ eingeschlossen sind. Ferner bedeutet die Verwendung der Wörter „ungefähr“, „etwa“, „rund“, „im Wesentlichen“ usw., sofern nicht anders angegeben, ein Plus oder Minus von zehn Prozent.
  • Die vorhergehende Beschreibung der veranschaulichenden Ausführungsformen wurde zu Zwecken der Veranschaulichung und Beschreibung vorgelegt. Sie soll nicht erschöpfend oder beschränkend in Bezug auf die genaue offenbarte Form sein, und Modifikationen und Variationen sind im Lichte der obigen Lehren möglich oder können aus der Praxis der offenbarten Ausführungsformen erlangt werden. Es ist beabsichtigt, dass der Schutzumfang der Erfindung durch die hieran angehängten Ansprüche definiert wird.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Nicht-Patentliteratur
    • DIN 345 [0038, 0046]
    • DIN 445 [0046, 0060]
    • DIN 555 [0060]
    • DIN 745 [0073, 0084]
    • DIN 645 [0073]
    • DIN 1255 [0094]

Claims (20)

  1. Speichervorrichtung, umfassend: eine Speichersteuerung mit programmierten Anweisungen zum: Übertragen oder Empfangen von Eingabe-/Ausgabedaten („E/A0147“-Daten) über ein E/A-Signal; Übertragen von Befehlsdaten, Adressdaten oder Parameterdaten über ein anderes Signal parallel zum Übertragen oder Empfangen der E/A-Daten; und ein Speichermodul, das kommunikativ mit der Speichersteuerung gekoppelt ist, wobei das Speichermodul die Befehlsdaten, Adressdaten oder Parameterdaten von der Speichersteuerung empfängt, um eine Operation durchzuführen.
  2. Speichervorrichtung nach Anspruch 1, wobei die Speichersteuerung die Befehlsdaten, die Adressdaten oder die Parameterdaten über ein Daten-Latch-Freigabesignal („DLE“-Signal) an das Speichermodul überträgt.
  3. Speichervorrichtung gemäß Anspruch 2, wobei die Speichervorrichtung weiterhin Folgendes überträgt: ein Befehl-Latch-Freigabesignal („CLE“-Signal); und ein Adress-Latch-Freigabesignal („ALE“-Signal), wobei das CLE-Signal und das ALE-Signal Steuersignale sind, die anzeigen, ob das DLE-Signal die Befehlsdaten, die Adressdaten oder die Parameterdaten überträgt.
  4. Speichervorrichtung gemäß Anspruch 2, wobei: die Speichersteuerung ein erstes DLE-Pad zum Übertragen des DLE-Signals an die Speichersteuerung und ein erstes E/A-Pad zum Übertragen oder Empfangen des E/A-Signals umfasst; und das Speichermodul ein zweites DLE-Pad zum Empfangen des DLE-Signals von der Speichersteuerung und ein zweites E/A-Pad zum Empfangen oder Senden des E/A-Signals umfasst.
  5. Speichervorrichtung gemäß Anspruch 2, wobei die Speichersteuerung die Befehlsdaten, die Adressdaten oder die Parameterdaten seriell in 1-Bit-Schritten sendet.
  6. Speichervorrichtung gemäß Anspruch 5, wobei: das Speichermodul einen Zähler zum Zählen einer Anzahl von Impulsen eines von der Speichersteuerung empfangenen Taktsignals umfasst, wobei jedes der 1-Bit-Schritte von der Speichersteuerung in Bezug auf einen Impuls des Taktsignals gesendet wird; der Zähler ein Übergangssignal beim Zählen der Anzahl von Impulsen generiert; und das Speichermodul die seriell empfangenen 1-Bit-Schritte beim Empfangen eines modifizierten Taktsignals, das auf der Grundlage des Übergangssignals generiert wird, in parallele Daten umwandelt.
  7. Speichervorrichtung gemäß Anspruch 1, wobei: die Operation einen ersten Lesevorgang und eine zweiten Lesevorgang umfasst; und die Speichersteuerung die E/A-Daten vom Speichermodul über das E/A-Signal für den ersten Lesevorgang parallel zum Senden eines Befehls für den zweiten Lesevorgang an das Speichermodul empfängt.
  8. Speichervorrichtung gemäß Anspruch 1, wobei: die Speichersteuerung die Befehlsdaten, die Adressdaten oder die Parameterdaten über ein Befehl-Latch-Freigabesignal („CLE“-Signal) und ein Adress-Latch-Freigabesignal („ALE“-Signal) überträgt; und das CLE-Signal einen CLE-Header und das ALE-Signal einen ALE-Header umfasst, wobei die Kombination aus dem CLE-Header und dem ALE-Header anzeigt, ob das CLE-Signal und das ALE-Signal die Befehlsdaten, die Adressdaten oder die Parameterdaten übertragen.
  9. Speichervorrichtung gemäß Anspruch 8, wobei das CLE-Signal und das ALE-Signal die Befehlsdaten übertragen, wenn der CLE-Header aktiviert ist und der ALE-Header deaktiviert ist.
  10. Speichervorrichtung gemäß Anspruch 8, wobei das CLE-Signal und das ALE-Signal die Adressdaten übertragen, wenn der ALE-Kopf aktiviert ist und der CLE-Kopf deaktiviert ist.
  11. Speichervorrichtung gemäß Anspruch 8, wobei das CLE-Signal und das ALE-Signal die Parameterdaten übertragen, wenn der CLE-Kopf deaktiviert ist und der ALE-Kopf deaktiviert ist.
  12. Speichervorrichtung gemäß Anspruch 8, wobei das CLE-Signal und das ALE-Signal den CLE-Header bzw. den ALE-Header übertragen, bevor die Befehlsdaten, die Adressdaten oder die Parameterdaten übertragen werden.
  13. Speichervorrichtung gemäß Anspruch 8, wobei das CLE-Signal und das ALE-Signal die Befehlsdaten, die Adressdaten oder die Parameterdaten seriell in 1-Bit-Schritten übertragen.
  14. Nichtflüchtiger computerlesbarer Datenträger mit darauf gespeicherten computerlesbaren Anweisungen, die, wenn sie von einem Speichermodul ausgeführt werden, das Speichermodul veranlassen, einen Prozess auszuführen, der Folgendes umfasst: Empfangen eines ersten Lesebefehls von einer Speichersteuerung; Übertragen von Daten an die Speichersteuerung als Reaktion auf den ersten Lesebefehl; und Empfangen eines zweiten Lesebefehls von der Speichersteuerung parallel mit dem Übertragen der Daten an die Speichersteuerung.
  15. Nichtflüchtiger computerlesbarer Datenträger gemäß Anspruch 14, wobei das Empfangen des ersten Lesebefehls und des zweiten Lesebefehls Folgendes umfasst: Empfangen eines Taktsignals von der Speichersteuerung; Empfangen eines Daten-Latch-Freigabesignals („DLE“-Signal) von der Speichersteuerung, wobei das DLE-Signal Befehlsdaten, Adressdaten oder Parameterdaten von der Speichersteuerung seriell in 1-Bit-Schritten in Bezug auf einen Impuls des Taktsignals überträgt; Empfangen eines Befehl-Latch-Freigabesignals („CLE“-Signal) und eines Adress-Latch-Freigabesignals („ALE“-Signal), das anzeigt, ob das DLE-Signal die Befehlsdaten, die Adressdaten oder die Parameterdaten überträgt; Generieren eines modifizierten Taktsignals beim Zählen der Anzahl von Impulsen; und Umwandeln der seriell empfangenen 1-Bit-Schritte in parallele Daten beim Empfangen des modifizierten Taktes.
  16. Nichtflüchtiger computerlesbarer Datenträger gemäß Anspruch 15, ferner umfassend: Umwandeln des CLE-Signals in ein abgeleitetes CLE-Signal, wobei ein Logikpegel des abgeleiteten CLE-Signals gleich dem Logikpegel des CLE-Signals ist; und Umwandeln des ALE-Signals in ein abgeleitetes ALE-Signal, wobei der Logikpegel des abgeleiteten ALE-Signals gleich dem Logikpegel des ALE-Signals ist.
  17. Nichtflüchtiger computerlesbarer Datenträger gemäß Anspruch 14, wobei das Empfangen des ersten Lesebefehls und des zweiten Lesebefehls Folgendes umfasst: Empfangen eines Taktsignals von der Speichersteuerung; Decodieren eines Headers eines Befehl-Latch-Freigabesignals („CLE“-Signal) und eines Adress-Latch-Freigabesignals („ALE“-Signal), die von der Speichersteuerung empfangen werden, um zu bestimmen, ob das CLE-Signal und das ALE-Signal Befehlsdaten, Adressdaten oder Parameterdaten nach dem Header übertragen, und wobei das CLE-Signal und das ALE-Signal die Befehlsdaten, die Adressdaten oder die Parameterdaten seriell in 1-Bit-Schritten in Bezug auf einen Impuls des Taktsignals übertragen; Generieren eines modifizierten Taktsignals beim Zählen der Anzahl von Impulsen; und Umwandeln der seriell empfangenen 1-Bit-Schritte in parallele Daten beim Empfangen des modifizierten Taktsignals.
  18. Nichtflüchtiger computerlesbarer Datenträger mit darauf gespeicherten computerlesbaren Anweisungen, die, wenn sie von einer Speichersteuerung ausgeführt werden, die Speichersteuerung veranlassen, einen Prozess auszuführen, der Folgendes umfasst: Senden eines Taktsignals an ein Speichermodul; Senden von Befehlsdaten, Adressdaten oder Parameterdaten an das Speichermodul in Bezug auf das Taktsignal, wobei die Speichersteuerung bei jedem Impuls des Taktsignals mindestens 1 Bit der Befehlsdaten, Adressdaten oder Parameterdaten sendet; Senden eines Befehl-Latch-Freigabesignals („CLE“-Signal) und eines Adress-Latch-Freigabesignals („ALE“-Signal), die anzeigen, dass die Befehlsdaten, die Adressdaten oder die Parameterdaten gesendet werden; und Empfangen von Eingabe-/Ausgabedaten („E/A“-Daten) vom Speichermodul parallel zum Senden der Befehlsdaten, der Adressdaten oder der Parameterdaten an das Speichermodul.
  19. Nichtflüchtiger computerlesbarer Datenträger nach Anspruch 18, wobei der Prozess weiterhin Folgendes umfasst: Senden der Befehlsdaten, der Adressdaten oder der Parameterdaten über ein Daten-Latch-Freigabesignal („DLE“-Signal); und Empfangen der E/A-Daten über ein E/A-Signal parallel dazu.
  20. Nichtflüchtiger computerlesbarer Datenträger nach Anspruch 18, wobei der Prozess weiterhin Folgendes umfasst: Senden eines Headers in dem CLE-Signal und dem ALE-Signal, wobei der Header anzeigt, ob das CLE-Signal und das ALE-Signal die Befehlsdaten, die Adressdaten oder die Parameterdaten nach dem Header übertragen; und Empfangen der E/A-Daten über ein E/A-Signal parallel dazu.
DE102020106852.2A 2019-06-04 2020-03-12 Aktivierung der hochgeschwindigkeits-befehlsadressenschnittstelle für wahlfreies lesen Pending DE102020106852A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/431,511 2019-06-04
US16/431,511 US10997097B2 (en) 2019-06-04 2019-06-04 Enabling high speed command address interface for random read

Publications (1)

Publication Number Publication Date
DE102020106852A1 true DE102020106852A1 (de) 2020-12-10

Family

ID=73460117

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102020106852.2A Pending DE102020106852A1 (de) 2019-06-04 2020-03-12 Aktivierung der hochgeschwindigkeits-befehlsadressenschnittstelle für wahlfreies lesen

Country Status (3)

Country Link
US (1) US10997097B2 (de)
CN (1) CN112035377A (de)
DE (1) DE102020106852A1 (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113223571B (zh) * 2021-06-03 2024-03-22 无锡舜铭存储科技有限公司 一种铁电存储器的读取方法及电路

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR0140179B1 (ko) * 1994-12-19 1998-07-15 김광호 불휘발성 반도체 메모리
US6111807A (en) * 1998-07-17 2000-08-29 Mitsubishi Denki Kabushiki Kaisha Synchronous semiconductor memory device allowing easy and fast text
JP4041358B2 (ja) * 2002-07-04 2008-01-30 富士通株式会社 半導体メモリ
KR100564598B1 (ko) 2003-12-22 2006-03-29 삼성전자주식회사 동기식 플래쉬 메모리장치 및 이를 동작시키는 방법
DE102004033387B4 (de) * 2004-07-09 2008-06-05 Infineon Technologies Ag Digitale RAM-Speicherschaltung mit erweiterter Befehlsstruktur
KR20090074751A (ko) * 2006-10-04 2009-07-07 마벨 테크날러지 재팬 와이.케이. 플래시 메모리 제어 인터페이스
US7515485B2 (en) * 2006-12-18 2009-04-07 Micron Technology, Inc. External clock tracking pipelined latch scheme
US8825939B2 (en) 2007-12-12 2014-09-02 Conversant Intellectual Property Management Inc. Semiconductor memory device suitable for interconnection in a ring topology
KR101529291B1 (ko) * 2008-02-27 2015-06-17 삼성전자주식회사 플래시 메모리 장치 및 그것을 포함한 플래시 메모리시스템
US8433859B2 (en) * 2008-11-25 2013-04-30 Mediatek Inc. Apparatus and method for buffer management for a memory operating
US8447917B2 (en) 2009-06-25 2013-05-21 Mediatek Inc. Flash memory devices and methods for controlling a flash memory device
CN102034536A (zh) * 2009-09-24 2011-04-27 奇岩电子股份有限公司 闪速存储器控制系统及闪速存储器控制方法
KR101044466B1 (ko) * 2010-01-14 2011-06-27 주식회사 하이닉스반도체 불휘발성 메모리 소자의 프로그램 방법
WO2012158392A2 (en) * 2011-05-17 2012-11-22 Rambus Inc. Memory system using asymmetric source-synchronous clocking
US9417816B2 (en) * 2014-01-02 2016-08-16 Advanced Micro Devices, Inc. Partitionable memory interfaces
KR20170005328A (ko) 2015-07-03 2017-01-12 에스케이하이닉스 주식회사 반도체 장치 및 반도체 시스템
KR102561095B1 (ko) * 2016-04-14 2023-07-31 에스케이하이닉스 주식회사 반도체 메모리 장치의 동작 방법

Also Published As

Publication number Publication date
CN112035377A (zh) 2020-12-04
US10997097B2 (en) 2021-05-04
US20200387462A1 (en) 2020-12-10

Similar Documents

Publication Publication Date Title
DE19855645C2 (de) Verfahren und Anordnung zum Betreiben eines Direktzugriffsspeichers mit verringertem Energieverbrauch
DE102005051478B4 (de) Flashdatenspeichervorrichtung
DE112011103916B4 (de) Speicherzugriffseinheit für gemeinsame Speichernutzung zwischen mehreren Prozessoren
DE102007060805B4 (de) Speichersteuerung und Computersystem mit derselben sowie Verfahren zur Steuerung eines Speichers
DE102010013228B4 (de) Verfahren und System, um die Operationen eines registrierten Speichermoduls zu verbessern
DE112010002750T5 (de) Brückenvorrichtung mit einer Taktdomäne mit konfigurierbarer Frequenz
DE102004050080B4 (de) Halbleiterspeichervorrichtung mit Spaltenadresspfad darin zur Energieverbrauchsreduzierung
DE112017003334T5 (de) Lastreduzierte nichtflüchtige speicherschnittstelle
DE102019118638A1 (de) Ein-Chip-System, das ein Training des Tastgrades des Schreibtakts unter Verwendung eines Modus-Register-Schreibbefehls durchführt, Betriebsverfahren des Ein-Chip-Systems, elektronische Vorrichtung mit dem Ein-Chip-System
DE602004004002T2 (de) Verfahren und Speichersystem basierend auf dualem data strobe mode and einfachem data strobe mode mit Dateninversion
DE69724327T2 (de) Leistungsreduzierung während eines Blockschreibens
DE112017006599T5 (de) Programmierbare datenstruktur zum wiederholten schreiben in einen speicher
DE112011103208T5 (de) Hochgeschwindigkeits-Speichersystem
DE3909896A1 (de) Vorrichtung und verfahren fuer den zugriff zu in einem seitenspeicher gespeicherten daten
DE102010013388A1 (de) Hierarchische Speichervorrichtung zur Verbindung von Massenspeichern
DE102012219059A1 (de) Effizientes Befehlsabbildungsschema für Kurze-Datenburstlängen- Speichervorrichtungen
DE102022106019A1 (de) Verfahren und vorrichtung für ein gegendrucksignal bei einer speicherchip-rowhammer-bedrohung und hostseitige reaktion
DE112008002273T5 (de) Optimale Lösung zur Steuerung von Datenkanälen
DE102020132763A1 (de) Undirektionaler informationskanal zur überwachung einer drift eines bidirektionalen informationskanals
DE102019107670A1 (de) Entspannte 433-kodierung zur verringerung der kopplung und des leistungsrauschens auf pam-4-datenbussen
DE102020106852A1 (de) Aktivierung der hochgeschwindigkeits-befehlsadressenschnittstelle für wahlfreies lesen
DE102005001847A1 (de) Speicherbauelement mit Abschlusseinheit und zugehöriges Speichersystem
DE10227806A1 (de) Halbleiterspeichereinrichtung mit Hochgeschwindigkeitsbetrieb und Verfahren zum Verwenden und Entwerfen derselben
DE10110567B4 (de) Datenverarbeitungssystem mit einstellbaren Takten für unterteilte synchrone Schnittstellen
DE10260996B4 (de) Speichersteuerchip,-steuerverfahren und -steuerschaltung

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R082 Change of representative

Representative=s name: DEHNSGERMANY PARTNERSCHAFT VON PATENTANWAELTEN, DE

Representative=s name: DEHNS GERMANY PARTNERSCHAFT MBB, DE