DE102018125277A1 - Speichergerät, das zum Speichern und Ausgeben einer Adresse als Antwort auf einen internen Befehl konfiguriert ist - Google Patents

Speichergerät, das zum Speichern und Ausgeben einer Adresse als Antwort auf einen internen Befehl konfiguriert ist Download PDF

Info

Publication number
DE102018125277A1
DE102018125277A1 DE102018125277.3A DE102018125277A DE102018125277A1 DE 102018125277 A1 DE102018125277 A1 DE 102018125277A1 DE 102018125277 A DE102018125277 A DE 102018125277A DE 102018125277 A1 DE102018125277 A1 DE 102018125277A1
Authority
DE
Germany
Prior art keywords
address
intn
command
memory
depth
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
DE102018125277.3A
Other languages
English (en)
Inventor
Seung-jun Shin
Hyong-Ryol Hwang
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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of DE102018125277A1 publication Critical patent/DE102018125277A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • 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
    • 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/1015Read-write modes for single port memories, i.e. having either a random port or a serial port
    • G11C7/1018Serial bit line access mode, e.g. using bit line address shift registers, bit line address counters, bit line burst counters
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • 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/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • 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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • G06F2212/1024Latency reduction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1041Resource optimization
    • G06F2212/1044Space efficiency improvement
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/18Address timing or clocking circuits; Address control signal generation or management, e.g. for row address strobe [RAS] or column address strobe [CAS] signals

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)
  • Dram (AREA)
  • Memory System (AREA)
  • Microelectronics & Electronic Packaging (AREA)

Abstract

Eine Speichervorrichtung (300) enthält eine erste und eine zweite Speicherbank-Gruppe (340_1, 340_2), einen internen Befehlsgenerator (316) und eine Adressen-Eingabe/Ausgabeschaltung (320). Jede der Speicherbank-Gruppen (340_1, 340_2) enthält eine Vielzahl von Speicherbänken (340_11-340_1k, 340_21-340_2k). Der interne Befehlsgenerator (316) erzeugt interne Befehle (INT_CMD) und gibt sie an eine erste Zielspeicherbank aus. Die internen Befehle (INT_CMD) werden basierend auf einem Befehl (CMD) von einer Speichersteuerung zum Steuern einer Speicheroperation der ersten Zielspeicherbank erzeugt. Die Adressen-Eingabe/Ausgabeschaltung (E/A-Schaltung) (320) empfängt eine Adresse (ADDR), die dem Befehl (CMD) entspricht, wählt einen Speicherpfad der ersten Adresse basierend darauf, ob es ein Blasenintervall in einem Datenburstoperationsintervall gibt, das dem Befehl (CMD) entspricht und steuert die Ausgabe der Adresse (ADDR) gemäß einem Zeitpunkt, zu dem jeder der internen Befehle (INTN_CMD) ausgegeben wird. Die Adresse (ADDR) wird in der Adressen-E/A-Schaltung (320) gespeichert.

Description

  • HINTERGRUND
  • Gebiet
  • Eine oder mehrere hier beschriebene Ausführungsformen betreffen eine Speichervorrichtung zum Steuern der Speicherung und Ausgabe einer Adresse als Reaktion auf einen internen Befehl.
  • Beschreibung des Standes der Technik
  • Halbleiterspeichervorrichtungen werden in elektronischen Hochleistungssystemen weit verbreitet verwendet. Ein Beispiel ist ein dynamischer Direktzugriffsspeicher, bei dem es sich um einen flüchtigen Speicher handelt, der Datenwerte basierend auf in Kondensatoren gespeicherten Ladungen bestimmt. Darüber hinaus wurde eine Vielzahl von Speichersystemen zum Schreiben und Lesen großer Datenmengen mit hoher Geschwindigkeit vorgeschlagen. Diese Speichersysteme können auf der Grundlage einer Referenztaktfrequenz arbeiten, die sich von einer Datentaktfrequenz unterscheidet, die zum Übertragen von Daten zwischen Speichervorrichtungen und einer Speichersteuerung verwendet wird. Die Verwendung von Referenz- und Datentaktfrequenzen kann jedoch mit Nachteilen behaftet sein.
  • KURZFASSUNG
  • Gemäß einer oder einer Vielzahl von Ausführungsformen enthält eine Speichervorrichtung eine erste Speicherbank-Gruppe; eine zweite Speicherbank-Gruppe, wobei jede der ersten und zweiten Speicherbank-Gruppen eine Vielzahl von Speicherbänken enthält; einen internen Befehlsgenerator zum Erzeugen eines ersten internen Befehls und eines zweiten internen Befehls basierend auf einem ersten Befehl von einer Speichersteuerung, wobei der erste Befehl eine Speicheroperation einer ersten Zielspeicherbank in der ersten Speicherbank-Gruppe steuert und der interne Befehlsgenerator den ersten interne Befehl und den zweiten internen Befehl an die erste Zielspeicherbank ausgibt; und eine Adressen-Eingabe/Ausgabeschaltung (E/A-Schaltung) zum Empfangen einer ersten Adresse, die dem ersten Befehl entspricht, zum Auswählen eines Speicherpfads der ersten Adresse basierend darauf, ob ein Blasenintervall in einem Datenburstoperationsintervall vorhanden ist, das dem ersten Befehl entspricht, zum Steuern der Ausgabe der ersten Adresse gemäß einem Zeitpunkt, bei dem der erste interne Befehl als auch der zweite interne Befehl jeweils ausgegeben werden, und zum Speichern der ersten Adresse in der Adressen-E/A-Schaltung.
  • Gemäß einer oder einer Vielzahl von anderen Ausführungsformen enthält eine Speichervorrichtung eine erste Speicherbank-Gruppe; eine zweite Speicherbank-Gruppe, wobei jede der ersten und zweiten Speicherbank-Gruppen eine Vielzahl von Speicherbänken enthält; einen internen Befehlsgenerator zum Erzeugen eines ersten internen Befehls und eines zweiten internen Befehls basierend auf einem ersten Befehl, der von einer Speichersteuerung empfangen wird, wobei der erste Befehl vorgesehen ist zum Steuern einer Speicheroperation einer ersten Zielspeicherbank der ersten Speicherbank-Gruppe, zum Erzeugen eines dritten internen Befehls basierend auf einem zweiten Befehl, der von der Speichersteuerung empfangen wird, um eine Speicheroperation einer zweiten Zielspeicherbank der zweiten Speicherbank-Gruppe nach dem ersten Befehl zu steuern, und zum Ausgeben des ersten bis dritten internen Befehls; und eine Adressen-Eingabe/Ausgabeschaltung (E/A-Schaltung) zum Empfangen der ersten bis dritten internen Befehle, Empfangen einer ersten Adresse, die dem ersten Befehl entspricht, und einer zweiten Adresse, die dem zweiten Befehl entspricht, von der Speichersteuerung, und Speichern der ersten Adresse und wobei die zweite Adresse einen Speicherpfad verwendet, der basierend darauf, ob der dritte interne Befehl empfangen wird, innerhalb eines ersten Taktzyklus ab einem Zeitpunkt ausgewählt wird, zu dem der erste interne Befehl empfangen wird.
  • Gemäß einer oder einer Vielzahl von anderen Ausführungsformen enthält eine Speichervorrichtung eine erste Speicherbank-Gruppe; eine zweite Speicherbank-Gruppe, wobei jede der ersten und zweiten Speicherbank-Gruppe eine Vielzahl von Speicherbänken enthält; einen internen Befehlsgenerator zum Erzeugen eines ersten internen Lesebefehls und eines zweiten internen Lesebefehls basierend auf einem ersten Lesebefehl, der von einer Speichersteuerung empfangen wird, und den ersten und den zweiten internen Lesebefehl an eine erste Zielspeicherbank der ersten Speicherbank-Gruppe auszugeben; und eine Adressen-Eingabe/Ausgabeschaltung (E/A-Schaltung), die ein erstes Latch und ein zweites Latch enthält, wobei die Adressen-E/A-Schaltung von der Speichersteuerung eine erste Adresse gemäß dem ersten Lesebefehl empfängt und die erste Adresse in der ersten speichert Latch basierend auf dem ersten internen Lesebefehl. Die Adressen-E/A-Schaltung dient zum Auswählen des ersten Latchs, in dem die erste Adresse gespeichert ist, basierend darauf, ob ein Blasenintervall in einem Datenburstoperationsintervall gemäß dem ersten Lesebefehl erfasst wird, und gibt die erste Adresse aus, die im ersten Latch gespeichert ist die erste Zielspeicherbank gemäß einem Zeitpunkt, zu dem der interne Befehlsgenerator den zweiten internen Lesebefehl an die erste Zielspeicherbank ausgibt.
  • Gemäß einer oder einer Vielzahl von anderen Ausführungsformen umfasst ein nichtflüchtiges computerlesbares Medium Code, der, wenn er von einem Prozessor ausgeführt wird, den Prozessor veranlasst: durch einen internen Befehlsgenerator einen ersten internen Befehl und einen zweiten interner Befehl basierend auf einem Befehl von einem Speichercontroller, den Befehl zum Steuern einer Speicheroperation einer ersten Zielspeicherbank in einer ersten Speicherbank-Gruppe zu erzeugen; Empfangen einer ersten Adresse, die dem Befehl entspricht, durch eine Adresseneingangs- / Ausgabeschaltung (E/A-Schaltung); Auswählen eines Speicherpfads der ersten Adresse basierend darauf, ob in einem dem Befehl entsprechenden Datenburstoperationsintervall ein Blasenintervall vorliegt; Steuern der Ausgabe der ersten Adresse gemäß einem Zeitpunkt, zu dem der erste interne Befehl und der zweite interne Befehl an die erste Zielspeicherbank ausgegeben werden; und Speichern der ersten Adresse in der Adress-E/A-Schaltung.
  • Figurenliste
  • Merkmale werden dem Fachmann durch die detaillierte Beschreibung von Ausführungsbeispielen unter Bezugnahme auf die beigefügten Zeichnungen ersichtlich, in denen:
    • 1 eine Ausführungsform eines Speichersystems veranschaulicht;
    • 2 eine andere Ausführungsform eines Speichersystems veranschaulicht;
    • 3 eine Ausführungsform einer Speichervorrichtung veranschaulicht;
    • 4 eine Ausführungsform veranschaulicht, die erste und zweite Speicherbank-Gruppen enthält;
    • 5A eine Ausführungsform von Signalen zum Steuern einer Speichervorrichtung veranschaulicht, und
    • 5B eine Ausführungsform der Speichervorrichtung veranschaulicht, die durch die Signale von 5A gesteuert werden kann;
    • 6A eine Ausführungsform einer Speicheroperation einer Speichervorrichtung veranschaulicht, und
    • 6B eine Ausführungsform einer Speichervorrichtung veranschaulicht, die die Speicheroperation von 6A ausführt;
    • 7 eine Ausführungsform einer Adressen-Eingabe/Ausgabeschaltung (E/A-Schaltung) veranschaulicht;
    • 8 eine Ausführungsform eines Blasenintervalldetektors veranschaulicht;
    • 9 eine Ausführungsform einer Tiefenadressen-Ausgabeschaltung veranschaulicht;
    • 10A eine Ausführungsform zum Steuern der Speicherung und Ausgabe einer ersten Adresse einer tiefenbasierten Adressenausgabeeinheit veranschaulicht, wenn ein Blasenintervall in einem Datenburstintervall vorhanden ist, das einem ersten Befehl entspricht, und
    • 10B eine Ausführungsform eines Zeitdiagramms zum Betreiben der tiefenbasierten Adressenausgabeeinheit der 10A veranschaulicht;
    • 11A eine Ausführungsform zum Steuern der Speicherung und Ausgabe einer ersten Adresse einer tiefenbasierten Adressenausgabeeinheit veranschaulicht, wenn ein Blasenintervall nicht in einem Datenburstintervall vorhanden ist, das einem ersten Befehl entspricht, und
    • 11B eine Ausführungsform eines Zeitdiagramms zum Betreiben der tiefenbasierten Adressenausgabeeinheit von 11A veranschaulicht;
    • 12A und 12B Ausführungsformen von Zeitdiagrammen zum Betreiben einer Speichervorrichtung bei einer Leseoperation veranschaulichen;
    • 13 eine Ausführungsform einer Adressen-E/A-Schaltung veranschaulicht, die unter Berücksichtigung einer Leseoperation arbeitet, die keine Leselatenz aufweist;
    • 14 eine andere Ausführungsform eines Blasenintervalldetektors veranschaulicht;
    • 15 eine Ausführungsform einer tiefenbasierten Adressenausgabeeinheit veranschaulicht;
    • 16 eine andere Ausführungsform einer tiefenbasierten Adressenausgabeeinheit veranschaulicht;
    • 17 eine weitere Ausführungsform eines Speichersystems veranschaulicht;
    • 18 eine Ausführungsform eines Halbleitergehäuses veranschaulicht; und
    • 19 eine andere Ausführungsform eines Halbleitergehäuses veranschaulicht.
  • DETAILLIERTE BESCHREIBUNG
  • 1 veranschaulicht eine Ausführungsform eines Speichersystems 10A, das eine Speichersteuerung 100A und eine Speichervorrichtung 200A enthalten kann. Die Speichersteuerung 100A kann eine Speicherschnittstelle 110A enthalten. Die Speichersteuerung 100A kann verschiedene Signale über die Speicherschnittstelle 110A an die Speichervorrichtung 200A bereitstellen und Speicheroperationen steuern, wie etwa eine Schreiboperation und eine Leseoperation. Zum Beispiel kann die Speichersteuerung 100A Befehle CMD und Adressen ADDR an die Speichervorrichtung 200A bereitstellen und auf Daten DATA des Speicherbereichs 210A zugreifen. Die Speichervorrichtung 200A kann auch Daten DATA durch eine DQ-Kontaktstelle oder einen DQ-Pin zwischen der Speichersteuerung 100A und der Speichervorrichtung 200A übertragen.
  • Die Speichersteuerung 100A kann bei einer Aufforderung von einem Host auf die Speichervorrichtung 200A zugreifen. Die Speichersteuerung 100A kann mit dem Host unter Verwendung verschiedener Protokolle kommunizieren. Zum Beispiel kann der Speichercontroller 100A mit dem Host-HOST unter Verwendung eines Schnittstellenprotokolls kommunizieren, wie etwa Peripheral Component Interface-Express (PCI-E), Advanced Technology Attachment (ATA), serielle ATA (SATA), parallele ATA (PATA), oder seriell angeschlossenes SCSI (SAS). Außerdem kann einer von verschiedenen Schnittstellenstandards verwendet werden, beispielsweise ein universeller serieller Bus (USB), eine Multi-Media-Karte (MMC), eine erweiterte Small-Disk-Schnittstelle (ESDI) oder eine integrierte Treiberelektronik (IDE) die Schnittstelle zwischen dem Host und der Speichersteuerung 100A.
  • Die Speichervorrichtung 200A kann einen Speicherbereich 210A, einen internen Befehlsgenerator 220A und eine Adressen-E/A-Schaltung 230A enthalten. Der Speicherbereich 210A kann eine Vielzahl von Speicherbank-Gruppen BG enthalten. Jede der Speicherbank-Gruppen BG kann eine Vielzahl von Speicherbänken enthalten. In einer Ausführungsform kann jede der Speicherbänke ein Speicherzellenfeld, einen Zeilendekodierer, einen Spaltendekodierer und einen Leseverstärker enthalten. Die Speichervorrichtung 200A kann ein dynamischer Direktzugriffsspeicher (DRAM) sein, wie etwa ein synchroner DRAM mit doppelter Datenrate (DDR-SDRAM), ein SDRAM mit niedriger Leistung und niedriger Datenrate (LPDDR), eine Grafikdoppeldatenrate (GDDR) SDRAM und ein Rambus-DRAM (RDRAM).
  • Die Frequenz eines Referenztakts, der als Basis für eine Speicheroperation der Speichervorrichtung 200A verwendet wird, kann niedriger sein als eine Frequenz eines Datentakts, der als Basis für eine Datenburstoperation der Speichervorrichtung 200A verwendet wird. Spezifikationen des Speichersystems 10A können beispielsweise Standardprotokollen entsprechen, die vom Joint Electron Device Engineering Council (JEDEC) festgelegt wurden.
  • Aufgrund einer Frequenzdifferenz zwischen dem Referenztakt und dem Datentakt kann ein Intervall (z. B. ein Blasenintervall), in dem Daten DATA nicht zu und von einem DQ-Pad übertragen werden, während einer Speicheroperation (z. B. Datenburstoperation, die einem Befehl entspricht), der Speichervorrichtung 200A auftreten. Um die Effizienz der Speicheroperation und die Leistung des Speichersystems 10A zu verbessern, kann das Speichersystem 10A eine Speicheroperation zum Reduzieren oder Minimieren eines Blasenintervalls durchführen. Beispielsweise kann die Speichervorrichtung 20A die Speicheroperation bei jeder von einer Vielzahl von Speicherbank-Gruppen BG durchführen. Die Adressen-E/A-Schaltung 230A kann eine Adresse ADDR speichern, um die Speicheroperation bei jeder der Speicherbank-Gruppen BG durchzuführen, und kann eine FIFO-Steueroperation (First-In-First-Out) durchführen, um die gespeicherte Adresse ADDR zu einem geeigneten Zeitpunkt auszugeben.
  • Der interne Befehlsgenerator 220A kann interne Befehle basierend auf einem Befehl CMD von der Speichersteuerung 100A erzeugen. Wenn in einer Ausführungsform die Burstlänge einer Datenburstoperation, die von der Speichervorrichtung 200A basierend auf dem Befehl CMD durchgeführt wird, eine vorbestimmte Anzahl von Referenzbits oder mehr ist, kann der interne Befehlsgenerator 220A mindestens zwei interne Befehle erzeugen. Beispielsweise kann der interne Befehlsgenerator 220A einen ersten internen Befehl und einen zweiten internen Befehl erzeugen, wenn die Burstlänge der Datenburstoperation, die dem Befehl CMD entspricht, 2n Bits (n ist eine ganze Zahl gleich oder größer als 2) gleich oder mehr als die Referenzbits beträgt.
  • Die Burstlänge einer Datenburstoperation, die jeweils dem ersten internen Befehl und dem zweiten internen Befehl entspricht, kann n Bits sein. Wie oben beschrieben, kann durch Erzeugen der internen Befehle unter Verwendung des internen Befehlsgenerators 220A, wenn eine Datenburstoperation mit einer Burstlänge einer vorbestimmten Anzahl von Referenzbits oder mehr durchgeführt werden soll, die Speichervorrichtung 200A die Burstlänge in Burstlängen mit einer vorgeschriebenen Anzahl von Referenzbits oder weniger teilen und die Datenburstoperation ausführen. Des Weiteren kann die Speichervorrichtung 200A in einem On-the-Fly (OTF) -Modus arbeiten und die Datenburstoperation durch Variieren der Burstlänge durchführen.
  • Unter der Annahme, dass der interne Befehlsgenerator 220A den Befehl CMD empfängt und den ersten internen Befehl und den zweiten internen Befehl erzeugt, kann die Adresse ADDR, die dem Befehl CMD entspricht, zweimal bei der Speicherbank-Gruppe BG ausgegeben werden gemäß einem Zeitpunkt, bei dem der erste interne Befehl an die Speicherbank-Gruppe BG ausgegeben wird und einem Zeitpunkt, bei dem der zweite interne Befehl an die Speicherbank-Gruppe BG ausgegeben wird.
  • Um die Ausgabe der Adresse ADDR zu steuern, kann die Adressen-E/A-Schaltung 230A gemäß einer Ausführungsform die Adresse ADDR von der Speichersteuerung 100A speichern und die Adresse ADDR an die Speicherbank-Gruppe BG gemäß einem Zeitpunkt ausgeben, bei dem ein interner Befehl, der von dem internen Befehlsgenerator 220A erzeugt wird, an die Speicherbank-Gruppe BG ausgegeben wird. Die Adressen-E/A-Schaltung 230A kann einen Speicherpfad der Adresse ADDR basierend darauf auswählen, ob in einem Datenburstoperationsintervall, das dem empfangenen Befehl CMD entspricht, ein Blasenintervall vorliegt.
  • Die Adressen-E/A-Schaltung 230A kann eine Schaltung steuern, die eine Adresse ADDR speichert, wenn das Blasenintervall in dem Datenburstoperationsintervall gemäß dem empfangenen Befehl CMD vorhanden ist, um sich von einer Schaltung zu unterscheiden, die die Adresse ADDR speichert, wenn das Blasenintervall nicht vorliegt. Die Adressen-E/A-Schaltung 230A kann die gespeicherte Adresse ADDR an die Speicherbank-Gruppe BG gemäß einem Zeitpunkt ausgeben, bei dem der interne Befehl an die Speicherbank-Gruppe BG ausgegeben wird. Aufgrund der oben beschriebenen Operationen der Adressen-E/A-Schaltung 230A kann das Blasenintervall reduziert werden. Folglich kann die Speichervorrichtung 200A effiziente Speicheroperationen durchführen.
  • 2 veranschaulicht eine Ausführungsform eines Speichersystems 10B, das einen Anwendungsprozessor (AP) 100B und eine Speichervorrichtung 200B enthalten kann. Ein Speichersteuermodul 110B in dem AP 100B und die Speichervorrichtung 200B können ein Speichersystem bilden. Die Speichervorrichtung 200B kann auch einen Speicherbereich 210B, einen internen Befehlsgenerator 220B und eine Adressen-E/A-Schaltung 230B enthalten.
  • Der AP 100B kann als Host von 1 funktionieren. Der AP 100B kann auch durch ein Ein-Chip-System (SoC) ausgeführt sein, das einen Systembus enthalten kann, auf dem vorbestimmte Standardbusprotokolle angewendet werden, und verschiedene intellektuelle Eigenschaften (IPs), die an den Systembus angeschlossen sind. Ein von der Advanced RISC Machine (ARM) Ltd. erhältliches Protokoll der Advanced Microcontroller Bus Architecture (AMBA) kann als Standardprotokoll des Systembusses verwendet werden. Beispiele für Bustypen, auf die das AMBA-Protokoll angewendet wird, sind AHB (Advanced High Performance Bus), APB (Advanced Peripheral Bus), AXI (Advanced eXtensible Interface), AXI4 und AXI Coherency Extensions (ACE). Darüber hinaus können andere Protokolltypen wie uNetwork von SONICs Inc., CoreConnect von IBM und ein OCP-IP Open-Core-Protokoll angewendet werden.
  • Das Speichersteuermodul 110B kann dieselbe Funktion wie der Speichercontroller der vorherigen Ausführungsform erfüllen. Die Speichervorrichtung 200B kann auch eine Speicheroperation ausführen, um ein Blasenintervall zu reduzieren oder zu minimieren, das aufgrund einer Differenz zwischen einer Frequenz eines Referenztakts (die für die Speicheroperation verwendet wird) und einer Frequenz eines Datentakts (der für eine Datenburstoperation verwendet wird) auftreten kann. Die Adressen-E/A-Schaltung 230B kann die Adresse ADDR speichern und die Adresse ADDR zu einem geeigneten Zeitpunkt ausgeben, um die Speicheroperation zu unterstützen.
  • Das 3 veranschaulicht eine Ausführungsform einer Speichervorrichtung 300, die eine Steuerlogik 310, eine Adressen-E/A-Schaltung 320, eine Banksteuerlogik 330, eine Vielzahl von Speicherbank-Gruppen 340_1 bis 340_n und einen Daten-E/A-Puffer 350 enthalten kann. Die Speichervorrichtung 300 von 3 ist nur ein Beispiel. In einer Ausführungsform kann die Speichervorrichtung 300 ferner verschiedene Arten von Schaltungen zum Durchführen von Schreib-, Lese- und/oder anderen Speicheroperationen enthalten.
  • Die Steuerlogik 310 kann einen Befehlsdekodierer 312, ein Modusregister 314 und einen internen Befehlsgenerator 316 enthalten. Die Steuerlogik 310 kann sämtliche Operationen der Speichervorrichtung 300 steuern. Der Befehlsdekodierer 312 kann einen extern angelegten Befehl CMD dekodieren und intern ein dekodiertes Befehlssignal erzeugen. In einem Beispiel kann der Befehlsdekodierer 312 ein Chipauswahlsignal / CS, ein Zeilenadressenimpulssignal / RAS, ein Spaltenadressenimpulssignal / CAS, ein Schreibaktivierungssignal / WE und ein Taktaktivierungssignal CKE dekodieren. Ferner kann die Steuerlogik 310 eine Adresse ADDR dekodieren und Steuersignale erzeugen, die einem Schreibbefehl oder einem Lesebefehl zugeordnet sind. Das Modusregister 314 kann ein internes Register basierend auf einem Modusregistersignal zum Bestimmen eines Betriebsmodus der Speichervorrichtung 300 und der Adresse ADDR einstellen.
  • Der interne Befehlsgenerator 316 kann einen internen Befehl INTN_CMD basierend auf dem Dekodierungsergebnis des Befehlsdekodierers 312 erzeugen. In einer Ausführungsform kann der interne Befehlsgenerator 316 mindestens einen internen Befehl INTN_CMD basierend auf einer Burstlänge einer Datenburstoperation erzeugen, die auf dem Befehl CMD basiert. Die Steuerlogik 310 kann den internen Befehl INTN_CMD an die Speicherbank-Gruppen 340_1 bis 340_n und die Adressen-E/A-Schaltung 320 ausgeben.
  • Die Adressen-E/A-Schaltung 320 kann einen Blasenintervalldetektor 322 und eine tiefenbasierende Adressenausgabeeinheit 324 enthalten. Der Blasenintervalldetektor 322 kann ein Blasenintervall in einem Datenburstoperationsintervall gemäß dem Befehl CMD erfassen. Innerhalb eines ersten Taktzyklus von einem Zeitpunkt an, zu dem die Speichervorrichtung 300 einen Befehl CMD zum Steuern einer Speicheroperation einer Zielspeicherbank einer beliebigen Speicherbank-Gruppe (z. B. einer ersten Speicherbank-Gruppe 340_1) empfängt, kann der Blasenintervalldetektor 322 ein Blasenintervall erfassen, basierend darauf, ob die Speichervorrichtung 300 einen anderen Befehl zum Steuern einer Speicheroperation einer Zielspeicherbank einer anderen Speicherbank-Gruppe (z. B. einer zweiten Speicherbank-Gruppe 340_2) empfängt.
  • Wenn beispielsweise der Befehl zum Steuern der Speicheroperation der Zielspeicherbank der zweiten Speicherbank-Gruppe 340_2 innerhalb des ersten Taktzyklus ab dem Zeitpunkt empfangen wird, zu dem der Befehl CMD zum Steuern der Speicheroperation der Zielspeicherbank der ersten Speicherbank-Gruppe 340_1 empfangen wird, kann der Blasenintervalldetektor 322 ein Erfassungssignal erzeugen, das anzeigt, dass das Blasenintervall nicht erfasst wird. Wenn der Befehl zum Steuern der Speicheroperation der Zielspeicherbank der zweiten Speicherbank-Gruppe 340_2 nach dem ersten Taktzyklus empfangen wird, kann der Blasenintervalldetektor 322 ein Erfassungssignal erzeugen, das anzeigt, dass das Blasenintervall erfasst wird.
  • Der Blasenintervalldetektor 322 kann den Befehl CMD direkt empfangen und ein Blasenintervall basierend auf einem Muster des Befehls CMD erfassen. In einer anderen Ausführungsform kann der Blasenintervalldetektor 322 den internen Befehl INTN_CMD empfangen und das Blasenintervall basierend auf einem Muster des internen Befehls INTN_CMD ermitteln.
  • Die tiefenbasierte Adressenausgabeeinheit 324 kann einen Speicherpfad der Adresse ADDR basierend auf dem von dem Blasenintervalldetektor 322 erzeugten Erfassungssignal auswählen und speichern. Die tiefenbasierte Adressenausgabeeinheit 324 kann eine Vielzahl von Tiefenadressen-Ausgabeschaltungen enthalten zum Speichern verschiedener Adressen und zum sequentiellen Ausgeben der jeweiligen darin gespeicherten Adressen. Zum Beispiel kann die tiefenbasierte Adressenausgabeeinheit 324 erste bis dritte Tiefenadressen-Ausgabeschaltungen enthalten, die sequentiell die jeweiligen darin gespeicherten Adressen ausgeben können. Die tiefenbasierte Adressenausgabeeinheit 324 kann eine erste Adresse, die zuerst empfangen wird, in der ersten Tiefenadressen-Ausgabeschaltung speichern, eine zweite Adresse, die anschließend empfangen wird, in der zweiten Tiefenadressen-Ausgabeschaltung speichern und die erste Adresse vor der zweiten Adresse ausgeben.
  • Da jedoch, wie oben beschrieben, die Speichervorrichtung 300 mindestens zwei interne Befehle INTN_CMD basierend auf dem Befehl CMD erzeugt, der einer Datenburstoperation mit einer Burstlänge von Referenzbits oder mehr entspricht, und eine Speicheroperation basierend auf den mindestens zwei internen Befehlen INTN_CMD durchführt, kann die Adressen-E/A-Schaltung 320 eine Adresse ADDR mindestens zweimal ausgeben und die Ausgabe der Adresse ADDR gemäß Zeitpunkten steuern, zu denen die internen Befehle INTN_CMD ausgegeben werden. Da, wie oben beschrieben, die Speichervorrichtung 300 eine Speicheroperation durchführen kann, die das Blasenintervall reduzieren oder minimieren kann, kann die tiefenbasierte Adressenausgabeeinheit 324 einen Speicherpfad der Adresse ADDR steuern, basierend auf einem Befehlsmuster oder einem internen Befehlsmuster zur Unterstützung der Speicheroperation.
  • Die Adressen-E/A-Schaltung 320 kann eine Zeilenadresse X_ADDR, eine Spaltenadresse Y_ADDR und eine Bankadresse BA_ADDR gemäß einem Zeitpunkt ausgeben, zu dem der interne Befehl INTN_CMD an die Speicherbank-Gruppen 340_1 bis 340_n der Steuerlogik 310 ausgegeben wird. In einer Ausführungsform kann die Bankadresse BA_ADDR Adressen der Speicherbank-Gruppen 340_1 bis 340_n und Adressen von Zielspeicherbanken der Speicherbank-Gruppen 340_1 bis 340_n enthalten. Die Banksteuerlogik 330 kann die Bankadresse BA_ADDR empfangen und ein Banksteuersignal BA_CS erzeugen. Speicherbänke in jeder der Speicherbank-Gruppen 340_2 bis 340_n können einen internen Befehl INTN_CMD, eine Zeilenadresse X_ADDR, eine Spaltenadresse Y_ADDR und ein Banksteuersignal BA_CS auf ähnliche Weise wie die Speicherbänken 340_11 bis 340_1k in der ersten Speicherbank-Gruppe 340_1 empfangen. Eine Zielspeicherbank in einer der Speicherbank-Gruppen 340_1 bis 340_n kann basierend auf dem Banksteuersignal BA_CS aktiviert werden.
  • Eine Speicheroperation basierend auf dem internen Befehl INTN_CMD kann bei Speicherzellen in einer Zielspeicherbank durchgeführt werden, die der Zeilenadresse X_ADDR und der Spaltenadresse Y_ADDR entsprechen.
  • Der Daten-E/A-Puffer 350 kann Daten DATA aus der Zielspeicherbank lesen und die Daten DATA nach außerhalb (z. B. die Speichersteuerung 100A in 1) der Speichervorrichtung 300 bereitstellen. In einer Ausführungsform kann der Daten-E/A-Puffer 350 Daten DATA von außerhalb empfangen (z. B. der Speichersteuerung 100A in 1) und die Daten DATA der Zielspeicherbank bereitstellen. Die Daten DATA können durch ein DQ-Pad DQ nach außerhalb oder von außerhalb übertragen werden. Der Daten-E/A-Puffer 350 kann auch eine Datenburstoperation durchführen und die Daten DATA basierend auf einem extern empfangenen Datentakt übertragen.
  • 4 veranschaulicht eine Ausführungsform der ersten Speicherbank-Gruppe 340_1 und der zweiten Speicherbank-Gruppe 340_2 von 3. Mit Bezug auf 4 kann die erste Speicherbank-Gruppe 340_1 erste bis k-te Speicherbänke 340_11 bis 340_1k enthalten und die zweite Speicherbank-Gruppe 340_2 kann erste bis k-te Speicherbänken 340_21 bis 340_2k enthalten. Eine erste Speicherbank 340_11 der ersten Speicherbank-Gruppe 340_1 kann ein Speicherbankfeld 341 enthalten, in dem eine Vielzahl von Speicherzellen in Zeilen und Spalten angeordnet sind, einen Zeilendekodierer 342, einen Leseverstärker 343 und einen Spaltendekodierer 344.
  • Sowohl der Zeilendekodierer 342 als auch der Spaltendekodierer 344 können ein Speicherbanksteuersignal BA_CS empfangen und aktiviert werden. Der Zeilendekodierer 342 und der Spaltendekodierer 344 können eine Zeilenadresse X_ADDR beziehungsweise eine Spaltenadresse Y_ADDR empfangen und auf mindestens eine Speicherzelle zugreifen, die für eine Speicheroperation ausgewählt wurde, basierend auf der Zeilenadresse X_ADDR und der Spaltenadresse Y_ADDR. Zum Beispiel kann eine Speicherbank aus Speicherbänken in einer der Speicherbank-Gruppen 340_1 bis 340_k basierend auf der Bankadresse BA_ADDR von 3 ausgewählt werden, und Speicherzellen der ausgewählten Speicherbank können basierend auf der Zeilenadresse X_ADDR und der Spaltenadresse Y_ADDR adressiert werden. Die Konfiguration der ersten Speicherbank 340_11 der 4 kann auch auf andere Speicherbänke 340_12 bis 340_2k angewendet werden.
  • In mindestens einer Ausführungsform kann eine Speichereinheit, die mindestens eine Speicherbank enthält, als eine Speicherbank-Gruppe betrachtet werden. Eine Daten-E/A-Leitung kann von Speicherbänken einer Speicherbankgruppe gemeinsam genutzt werden. Wie in 4 gezeigt, kann eine E/A-Leitung zur Eingabe und Ausgabe von Daten von einer Vielzahl von Speicherbänken in einer Speicherbank-Gruppe gemeinsam genutzt werden. Die Speicherbänke 340_11 bis 340_1k der ersten Speicherbank-Gruppe 340_1 können mit einer ersten Daten-E/A-Leitung DIOL_1 verbunden sein, und die Speicherbänke 340_21 bis 340_2k der zweiten Speicherbank-Gruppe 340_2 können mit einer zweiten Daten-E/A-Leitung DIOL_2 verbunden sein. Somit kann durch Anschließen einer anderen Daten-E/A-Leitung an jede Speicherbank-Gruppe die Speichervorrichtung 300 von 3 eine Speicheroperation bei jeder Speicherbank-Gruppe durchführen.
  • Ein Zeitintervall basierend auf einem Kernzyklus für die Speichervorrichtung 300 von 3 zum Durchführen einer Speicheroperation basierend auf einem internen Befehl kann in mindestens einer Ausführungsform einem ersten Taktzyklus entsprechen. Zum Beispiel können ein erster interner Befehl und ein zweiter interner Befehl, die basierend auf einem Befehl erzeugt werden, der zum Steuern einer Speicheroperation einer Zielspeicherbank der ersten Speicherbank-Gruppe 340_1 erhalten wird, unter Berücksichtigung des ersten Taktzyklus an die Zielspeicherbank ausgegeben werden. Auch kann ein Zeitintervall eines Blasenintervalls (oder eines Datenburstoperationsintervalls, das einem internen Befehl entspricht) dem zweiten Taktzyklus entsprechen. Der erste Taktzyklus und der zweite Taktzyklus können jedoch unter Berücksichtigung von Verzögerungen von internen Signalen der Speichervorrichtung 300 auf verschiedene Taktzeitdauern eingestellt werden.
  • 5A veranschaulicht eine Ausführungsform eines Zeitdiagramms zum Betreiben einer Speichervorrichtung 400, die ein Blasenintervall B_INTV veranschaulicht. 5B ist ein Blockdiagramm der Speichervorrichtung 400, das einen Betrieb einer Adressen-E/A-Schaltung 420 darstellt, wenn ein Blasenintervall erfasst wird.
  • Gemäß einer Ausführungsform kann die Frequenz eines Datentakts WCK die doppelte Frequenz eines Referenztakts CLK sein, ein erster Taktzyklus kann vier Takte sein und ein zweiter Taktzyklus kann zwei Takte sein. Ein Ausgabezeitintervall (nachfolgend als ein Zeitintervall INTV _tCCD von Zeit_CAS nach CAS Verzögerung (tCCD) bezeichnet) zwischen internen Befehlen, die basierend auf einem Befehl erzeugt werden, kann der erste Taktzyklus sein. In einer Ausführungsform kann eine Schreiblatenzzeit ‚WR-Latenz‘ zwei Takte sein. Die Frequenzen und/oder Taktzyklen können bei anderen Ausführungsformen unterschiedlich sein.
  • Bezugnehmend auf 5A und 5B kann die Speichervorrichtung 400 einen ersten Schreibbefehl WR1 und eine erste Adresse ADDR1 zum Steuern einer Speicheroperation einer ersten Zielspeicherbank 440_11 einer ersten Speicherbank-Gruppe 440_1 zu einem Zeitpunkt t1 empfangen. Eine Burstlänge BL_32 einer Datenburstoperation, die dem ersten Schreibbefehl WR1 entspricht, kann 32 Bit sein. Die erste Adresse ADDR1 kann eine erste Bankadresse BA1, die der ersten Zielspeicherbank 440_11 der ersten Speicherbank-Gruppe 440_1 entspricht, eine erste Zeilenadresse X1 und eine erste Spaltenadresse Y1 enthalten. Der interne Befehlsgenerator 416 kann einen ersten internen Schreibbefehl INTN_WR1_a und einen zweiten internen Schreibbefehl INTN_WR1_b basierend auf dem ersten Schreibbefehl WR1 erzeugen. Eine Burstlänge BL_16 einer Datenburstoperation, die jedem des ersten internen Schreibbefehls INTN_WR1_a und des zweiten internen Schreibbefehls INTN_WR1_b entspricht, kann 16 Bits sein.
  • Der interne Befehlsgenerator 416 kann den ersten internen Schreibbefehl INTN_WR1_a zu einem Zeitpunkt t3 unter Berücksichtigung der Schreiblatenzzeit ‚WR-Latenz‘ an die erste Zielspeicherbank 440_11 ausgeben und den zweiten internen Schreibbefehl INTN_WR1_b an die erste Zielspeicherbank 440_11 zu einem Zeitpunkt t7 ausgeben, der ein tCCD-Intervall INTV_tCCD nach dem Zeitpunkt t7 ist. In diesem Fall kann die Adressen-E/A-Schaltung 420 die erste Adresse ADDR1 zu jedem Zeitpunkt t3 und t7 an die erste Zielspeicherbank 440_11 gemäß den Zeitpunkten ausgeben, zu denen der interne Befehlsgenerator 416 den ersten internen Schreibbefehl INTN_WR1_a und den zweiten internen Schreibbefehl INTN_WR1_b an die erste Zielspeicherbank 440_11 ausgibt.
  • Die Speichervorrichtung 400 kann eine Datenburstoperation BL 16A_1, die dem ersten internen Schreibbefehl INTN_WR1_a entspricht, zwischen dem Zeitpunkt t3 und dem Zeitpunkt t5 durchführen. Danach kann die Speichervorrichtung 400 eine Datenburstoperation BL 16A_2, die dem zweiten internen Schreibbefehl INTN_WR1_b entspricht, zwischen dem Zeitpunkt t7 und dem Zeitpunkt t9 ausführen. Während eines Zeitintervalls zwischen t3 und t9, das ein Datenburstoperationsintervall ist, das dem ersten Schreibbefehl WR1 entspricht, kann das Blasenintervall B_INTV im Ergebnis für ein Zeitintervall zwischen t5 und t7 und ein Zeitintervall zwischen t9 und t11 auftreten, in dem eine Datenburstoperation nicht ausgeführt wird.
  • In einer Ausführungsform kann die Adressen-E/A-Schaltung 420 das Blasenintervall B_INTV erfassen und die erste Adresse ADDR1 basierend auf einem Erfassungsergebnis speichern und ausgeben. Die Adressen-E/A-Schaltung 420 kann das Blasenintervall B INTV basierend darauf erfassen, ob ein anderer interner Schreibbefehl innerhalb eines ersten Taktzyklus (oder nach einem zweiten Taktzyklus) von einem Zeitpunkt an empfangen wird, zu dem der erste interne Schreibbefehl INTN_WR1_a empfangen wird. Wenn die Adressen-E/A-Schaltung 420 das Blasenintervall B_INTV erfasst, kann die Adressen-E/A-Schaltung 420 die erste Adresse ADDR1 in einer Schaltung speichern, die einer ersten Tiefe Dep1 entspricht, um die erste Adresse ADDR1 zum Zeitpunkt t3 auszugeben, die eine Schreiblatenzzeit ‚WR-Latenz‘ nach dem Zeitpunkt t1 ist, und die erste Adresse ADDR1 in einer Schaltung speichern, die einer zweiten Tiefe Dep2 entspricht, um die erste Adresse ADDR1 erneut zum Zeitpunkt t7 auszugeben. Die Adressen-E/A-Schaltung 420 kann zuerst die erste Adresse ADDR1 über eine der ersten Tiefe Dep1 entsprechenden Schaltung ausgeben und dann die erste Adresse ADDR1 über eine der zweiten Tiefe Dep2 entsprechenden Schaltung ausgeben.
  • 6A veranschaulicht eine Ausführungsform eines Zeitdiagramms für eine Speicheroperation einer Speichervorrichtung 400. 6B veranschaulicht eine Ausführungsform der Speichervorrichtung 400, die eine Operation einer Adressen-E/A-Schaltung 420 veranschaulicht, wenn ein Blasenintervall nicht erkannt wird.
  • Mit Bezug auf 6A und 6B kann die Speichervorrichtung 400 einen ersten Schreibbefehl WR1 und eine erste Adresse ADDR1 zum Steuern einer Speicheroperation einer ersten Zielspeicherbank 440_11 einer ersten Speicherbank-Gruppe 440_1 zu einem Zeitpunkt t1 empfangen und einen zweiten Schreibbefehl WR2 und eine zweite Adresse ADDR2 zum Steuern einer Speicheroperation einer zweiten Zielspeicherbank 440_22 einer zweiten Speicherbank-Gruppe 440_2 zu einem Zeitpunkt t3 empfangen. Beispielsweise wenn die Speichervorrichtung 400 den zweiten Schreibbefehl WR2 innerhalb eines ersten Taktzyklus von einem Zeitpunkt an empfangen kann, zu dem der erste Schreibbefehl WR1 empfangen wird. Der erste Schreibbefehl WR1 und die erste Adresse ADDR1 können wie oben mit Bezug auf 5A beschrieben sein.
  • Eine Burstlänge BL_32 einer Datenburstoperation, die dem zweiten Schreibbefehl WR2 entspricht, kann 32 Bits sein. Gemäß einer Ausführungsform kann die Burstlänge BL_32 der Datenburstoperation, die dem zweiten Schreibbefehl WR2 entspricht, 16 Bits oder eine andere Anzahl von Bits sein.
  • Der interne Befehlsgenerator 416 kann unter Berücksichtigung einer Schreiblatenzzeit ‚WR-Latenzzeit‘ einen dritten internen Schreibbefehl INTN_WR2_a an die zweite Zielspeicherbank 440_22 zu einem Zeitpunkt t5 ausgeben und einen vierten internen Schreibbefehl INTN_WR2_b an die zweite Zielspeicherbank 440_22 zu einem Zeitpunkt t9 ausgeben, der ein tCCD-Intervall INTV_tCCD nach dem Zeitpunkt t5 ist. In diesem Fall kann die Adressen-E/A-Schaltung 420 die zweite Adresse ADDR2 zu jedem Zeitpunkt t5 und t9 an die zweite Zielspeicherbank 440_22 ausgeben, gemäß den Zeitpunkten, zu denen der interne Befehlsgenerator 416 den dritten internen Schreibbefehl INTN_WR2_a und den vierten internen Schreibbefehl INTN_WR2_b an die zweite Zielspeicherbank 420_22 ausgibt.
  • Die Speichervorrichtung 400 kann eine Datenburstoperation BL 16B_1, die dem dritten internen Schreibbefehl INTN_WR2_a entspricht, zwischen dem Zeitpunkt t5 und dem Zeitpunkt t7 ausführen. Danach kann die Speichervorrichtung 400 eine Datenburstoperation, die dem vierten internen Schreibbefehl INTN_WR2_b entspricht, zwischen dem Zeitpunkt t9 und dem Zeitpunkt t11 ausführen. Im Ergebnis kann das in der 5A erfasste Blasenintervall B_INTV mit Datenburstoperationen BL 16B_1 und BL 16B_2 gefüllt werden, die jeweils dem dritten internen Schreibbefehl INTN_WR2_a beziehungsweise dem vierten internen Schreibbefehl INTN_WR2_b entsprechen.
  • In einer Ausführungsform empfängt beispielsweise die Adressen-E/A-Schaltung 420 den dritten internen Schreibbefehl INTN_WR2_a innerhalb eines ersten Taktzyklus von einem Zeitpunkt an, zu dem die Adressen-E/A-Schaltung 420 den ersten internen Schreibbefehl INTN_WR1_a empfängt, in dem das Blasenintervall B_INTN möglicherweise nicht erkannt wird. Wenn das Blasenintervall B_INTV nicht wie oben beschrieben erfasst wird, kann die Adressen-E/A-Schaltung 420 die erste Adresse ADDR1 in einer Schaltung speichern, die einer ersten Tiefe Dep1 entspricht, um die erste Adresse ADDR1 zum Zeitpunkt t3 auszugeben, der nach der Schreiblatenzzeit ‚WR-Latenzzeit‘ von dem Zeitpunkt t1 liegt und die zweite Adresse ADDR2 in einer Schaltung speichern, die einer zweiten Tiefe Dep2 entspricht, um die zweite Adresse ADDR2 zum Zeitpunkt t5 auszugeben, der nach der Schreiblatenzzeit ‚WR-Latenzzeit‘ von dem Zeitpunkt t3 liegt.
  • Die Adressen-E/A-Schaltung 420 kann auch die erste Adresse ADDR1 in einer Schaltung speichern, die einer dritten Tiefe Dep3 entspricht, um die erste Adresse ADDR1 erneut zum Zeitpunkt t7 auszugeben, und die zweite Adresse ADDR2 in einer Schaltung speichern, die einer vierten Tiefe Dep4 entspricht, um die zweite Adresse ADDR2 zum Zeitpunkt t9 erneut auszugeben. Die Adressen-E/A-Schaltung 420 kann die erste Adresse ADDR1 über die Schaltung ausgeben, die der ersten Tiefe Dep1 entspricht, die zweite Adresse ADDR2 über die Schaltung ausgeben, die der zweiten Tiefe Dep2 entspricht, die erste Adresse ADDR1 über die Schaltung ausgeben, die der dritten Tiefe Dep3 entspricht und die zweite Adresse ADDR2 durch die Schaltung ausgeben, die der vierten Tiefe Dep4 entspricht.
  • 5A bis 6B zeigen nur die Operationen der Speichervorrichtung 400 basierend auf dem ersten und dem zweiten Schreibbefehl WR1 und WR2. In einer Ausführungsform kann die Speichervorrichtung 400 basierend auf einem Lesebefehl arbeiten.
  • 7 veranschaulicht eine Ausführungsform einer Adressen-E/A-Schaltung 500, die einen Blasenintervalldetektor 510, eine tiefenbasierte Adressenausgabeeinheit 530 und einen Aktivierungs-/Rückstellsignalgenerator 550 enthalten kann. Der Blasenintervalldetektor 510 kann interne Befehle INTN_CMDs empfangen und Blasenintervalle basierend auf Mustern der internen Befehle INTN_CMDs erfassen. Der Blasenintervalldetektor 510 kann ein Erfassungssignal BD_RS auf der Grundlage eines Erfassungsergebnisses der Blasenintervalle erzeugen und das Erfassungssignal BD_RS der tiefenbasierten Adressenausgabeeinheit 530 bereitstellen.
  • Die tiefenbasierte Adressenausgabeeinheit 530 kann erste bis n-te Tiefenadressen-Ausgabeschaltungen 530_1 bis 530_n enthalten. Jede der Tiefenadressen-Ausgabeschaltungen 530_1 bis 530_n kann eine der Adressen ADDRs speichern. Die jeweiligen Tiefenadressen-Ausgabeschaltungen 530_1 bis 530_n können auch unterschiedlichen Tiefen und Ausgangsadressen entsprechen, die auf den Tiefen basierend sequentiell als Tiefenadressen-Ausgangssignale Dep_ADDR_out gespeichert werden. Beispielsweise können die ersten bis n-ten Tiefenadressen-Ausgabeschaltungen 530_1 bis 530_n jeweils ersten bis n-ten Tiefen entsprechen und somit sequentiell gespeicherte Adressen ausgeben.
  • Der Aktivierungs-/Rückstellsignalgenerator 550 kann ein Aktivierungssignal ENS an jede der ersten bis n-ten Tiefenadressen-Ausgabeschaltungen 530_1 bis 530_n bereitstellen, so dass die jeweiligen ersten bis n-ten Tiefenadressen-Ausgabeschaltungen 530_1 bis 530_n sequentiell Adressen speichern und ausgeben. In einer Ausführungsform kann der Aktivierungs-/Rückstellsignalgenerator 550 das Aktivierungssignal ENS basierend auf den internen Befehlen INTN_CMDs erzeugen. Wenn also eine Speichervorrichtung ausgeschaltet ist oder ein Rückstellsignal von außerhalb empfängt, kann der Aktivierungs-/Rückstellsignalgenerator 550 ein Rückstellsignal RST zum Rückstellen einer Adresse bereitstellen, die in jeder der ersten bis n-ten Tiefenadressen-Ausgabeschaltungen 530_1 bis 530_n zu jeder der ersten bis n-ten Tiefenadressen-Ausgabeschaltungen 530_1 bis 530_n gespeichert ist.
  • 8 veranschaulicht eine Ausführungsform des Blasenintervalldetektors 510 von 7, und 9 veranschaulicht eine Ausführungsform der Tiefenadressen-Ausgabeschaltung 530_m von 7. Hier kann jeweils ein erster interner Befehl INTN_CMD1_a beziehungsweise ein zweiter interner Befehl INTN_CMD2_a ein Signal sein, das basierend auf einem ersten Befehl, der zum Steuern einer Speicheroperation einer Zielspeicherbank einer ersten Speicherbank-Gruppe erzeugt wird, wobei ein Burstlängensignal BLS ein Signal ist, das anzeigt, ob der erste Befehl ein Befehl zum Durchführen einer Datenburstoperation mit einer Burstlänge von Referenzbits oder mehr ist, und ein dritter interner Befehl INTN_CMD2_a ein Signal ist, das als Reaktion auf einen zweiten Befehl zum Steuern einer Speicheroperation einer Zielspeicherbank einer zweiten Speicherbank-Gruppe erzeugt wird.
  • Mit Bezug auf 8 kann der Blasenintervalldetektor 510 eine Blasenintervallerfassungsstarteinheit 511, Verzögerungseinheiten 512a bis 512d, einen Signaldetektor 513, Treiber 514a bis 514d und einen Latch 515 enthalten. Die Treiber 514a bis 514d können Schaltungen sein, die so konfiguriert sind, dass sie die Eigenschaften der jeweiligen Signale verbessern und Flanken der jeweiligen Signale ausrichten. Jede der Verzögerungseinheiten 512a bis 512d kann auch ein Signal um bis zu einem zweiten Taktzyklus (z. B. 2 Takte) verzögern.
  • Nun wird der Vorgang des Einstellens eines Erfassungssignals BD_RS beschrieben. Die Blasenintervallerfassungsstarteinheit 511 kann den ersten internen Befehl INTN_CMD1_a und das Burstlängensignal BLS empfangen und damit beginnen, ein Blasenintervall zu erfassen. In einem Beispiel, wenn das Burstlängensignal BLS ein Signal mit hohem Pegel ist, das anzeigt, dass der erste Befehl ein Befehl zum Durchführen einer Datenburstoperation mit einer Burstlänge von Referenzbits oder mehr ist, kann die Blasenintervallerfassungsstarteinheit 511 den ersten interner Befehl INTN_CMD1_a an die Verzögerungseinheit 512a bereitstellen. Die Verzögerungseinheit 512a kann den ersten internen Befehl INTN_CMD1_a bis um den zweiten Taktzyklus verzögern und den verzögerten ersten internen Befehl INTN_CMD1_a dem Signaldetektor 513 bereitstellen.
  • Wenn die Blasenintervallerfassungsstarteinheit 511 den dritten internen Befehl INTN_CMD2_a nach dem zweiten Taktzyklus von einem Zeitpunkt an empfängt, zu dem die Blasenintervallerfassungsstarteinheit 511 den ersten internen Befehl INTN_CMD1_a empfängt, kann der Signaldetektor 513 den verzögerten ersten interner Befehl INTN_CMD1_a an die Verzögerungseinheit 512b bereitstellen, und die Verzögerungseinheit 512b kann den verzögerten ersten internen Befehl INTN_CMD2_a bis um den zweiten Taktzyklus verzögern und den verzögerten ersten internen Befehl INTN_CMD2_a dem Latch 515 bereitstellen.
  • In diesem Fall kann der Latch 515 ein Erfassungssignal BD_RS mit hohem Pegel ausgeben, das anzeigt, dass kein Blasenintervall erfasst wird. In einem anderen Fall, wenn die Blasenintervallerfassungsstarteinheit 511 den dritten internen Befehl INTN_CMD2_a nach dem zweiten Taktzyklus ab dem Zeitpunkt, zu dem der erste interne Befehl INTN_CMD1_a empfangen wird, nicht empfängt, kann der Signaldetektor 513 den verzögerten ersten internen Befehl INTN_CMD1_a nicht an die Verzögerungseinheit 512b bereitstellen, und der Latch 515 kann ein Erfassungssignal BD_RS mit niedrigem Pegel ausgeben, das anzeigt, dass das Blasenintervall erfasst wird.
  • Der Vorgang des Zurückstellens des Erfassungssignals BD_RS wird nun beschrieben. Nach einem ersten Taktzyklus von einem Zeitpunkt an, zu dem die Blasenintervallerfassungsstarteinheit 511 den ersten internen Befehl INTN_CMD1_a empfängt, kann der zweite interne Befehl INTN_CMD1_b, der von dem Blasenintervalldetektor 510 empfangen wird, um bis zu dem ersten Taktzyklus von den Verzögerungseinheiten 512c und 512d verzögert werden, und die Verzögerungseinheit 512d kann den verzögerten zweiten internen Befehl INTN_CMD1_B an der Latch 515 bereitstellen. In diesem Fall kann der Latch 515 das Erfassungssignal BD_RS auf einen Anfangspegel (z. B. einen niedrigen Pegel) zurückstellen. Der Blasenintervalldetektor 510 kann in einer anderen Ausführungsform unterschiedlich konfiguriert sein.
  • In Bezug auf 9 kann die tiefenbasierte Adressenausgabeeinheit 530 eine Vielzahl von Tiefenadressen-Ausgabeschaltungen 530_1 bis 530_n enthalten. Eine m-te Tiefenadressen-Ausgabeschaltung 530_m kann einen Speicherpfadwähler 532_m und eine Adressenspeichereinheit 534_m enthalten. Der m-te Speicherpfadwähler 532_m kann erste bis dritte Auswahlschaltungen SC1 bis SC3 enthalten. In einer Ausführungsform kann der Speicherpfadwähler 532_m basierend auf einem m-ten Aktivierungssignal ENS [m] aktiviert werden und einen ersten internen Befehl INTN_CMD1_a oder einen zweiten internen Befehl INTN_CMD2_b zusammen mit einem Erfassungssignal BD_RS und einem invertierten Erfassungssignal / BD_RS empfangen. Die m-te Adressenspeichereinheit 534_m kann einen Multiplexer MUX enthalten, der eine Vielzahl von Schaltelementen, zum Beispiel Schaltelemente SW1 bis SW3, und einen Latch LAT enthält. Der Multiplexer MUX kann einen Speicherpfad basierend auf einem Auswahlsignal auswählen, das von dem Speicherpfadwähler 532_m ausgegeben wird. Der Latch LAT kann eine Adresse über den ausgewählten Speicherpfad speichern. Anschließend kann der Latch LAT die gespeicherte Adresse an ein m-tes Tiefenadressenausgangssignal Dep_ADDR_out [m] ausgeben. Die Konfiguration der m-ten Tiefenadressen-Ausgabeschaltung 530_m kann auf andere Tiefenadressen-Ausgabeschaltungen 530_1 bis 530_n angewendet werden.
  • Wenn in einer Ausführungsform der Speicherpfadwähler 532_m den ersten internen Befehl INTN_CMD1_a empfängt, kann die erste Auswahlschaltung SC1 ein erstes Auswahlsignal A mit hohem Pegel erzeugen, und die zweite Auswahlschaltung SC2 und die dritte Auswahlschaltung SC3 können jeweils ein zweites Auswahlsignal C mit niedrigem Pegel beziehungsweise ein drittes Auswahlsignal E mit niedrigem Pegel erzeugen. Die Adressenspeichereinheit 534_m kann eine extern empfangene Adresse ADDR in dem Latch LAT basierend auf dem ersten Auswahlsignal A speichern und die gespeicherte Adresse ADDR als das Tiefenadressenausgangssignal Dep_ADDR_out [m] ausgeben.
  • Wenn der Speicherpfadwähler 532_m den zweiten internen Befehl INTN_CMD1_b und ein Erfassungssignal BD_RS mit niedrigem Pegel empfängt, kann die zweite Auswahlschaltung SC2 ein zweites Auswahlsignal C mit hohem Pegel erzeugen, und die erste Auswahlschaltung SC1 und die dritte Auswahlschaltung SC3 können ein erstes Auswahlsignal A mit niedrigem Pegel beziehungsweise ein drittes Auswahlsignal mit niedrigem Pegel E erzeugen.
  • Die Adressenspeichereinheit 534_m kann ein m-1-tes Tiefenadressenausgangssignal Dep_ADDR_out [m-1], das von einer m-1 Tiefenadressen-Ausgabeschaltung 530_m-1 ausgegeben wird, im Latch LAT als Reaktion auf das zweite Auswahlsignal C speichern und gibt das gespeicherte m-1-te Tiefenadressenausgangssignal Dep_ADDR_out [m-1] als das Tiefenadressenausgangssignal Dep _ADDR_out [m] aus.
  • Wenn der Speicherpfadwähler 532_m schließlich den zweiten internen Befehl INTN_CMD1_b und ein Erfassungssignal BD_RS mit hohem Pegel empfängt, kann die dritte Auswahlschaltung SC3 ein drittes Auswahlsignal E mit hohem Pegel erzeugen und die erste Auswahlschaltung SC1 und die zweite Auswahlschaltung SC2 können ein erstes Auswahlsignal A mit niedrigem Pegel beziehungsweise ein zweites Auswahlsignal C mit niedrigem Pegel erzeugen. Die Adressenspeichereinheit 534_m kann ein m-2-tes Tiefenadressenausgangssignal Dep_ADDR_out [m-2], das von einer m-2-ten Tiefenadressen-Ausgabeschaltung 530_m-2 ausgegeben wird, im Latch LAT als Antwort auf das dritte Auswahlsignal E speichern und das gespeicherte m-2-te Tiefenadressenausgangssignal Dep_ADDR_out [m-2] als Tiefenadressenausgangssignal Dep _ADDR_out [m] ausgeben. Anschließend kann der Latch LAT ein m-tes Rückstellsignal RST [m] empfangen und zurückgestellt werden. Die tiefenbasierte Adressenausgabeeinheit 530 kann in einer anderen Ausführungsform eine andere Konfiguration haben.
  • 10A veranschaulicht eine Ausführungsform zum Steuern der Speicherung und Ausgabe einer ersten Adresse ADDR1 einer tiefenbasierten Adressenausgabeeinheit 530, wenn ein Blasenintervall in einem Datenburstintervall ist, das gemäß einer Ausführungsform einem ersten Befehl WR1 entspricht. 10B veranschaulicht eine Ausführungsform eines Zeitdiagramms zum Betreiben der tiefenbasierten Adressenausgabeeinheit 530 der 10A.
  • Unter Bezugnahme auf 10A kann die tiefenbasierte Adressenausgabeeinheit 530 eine erste bis vierte Tiefenadressen-Ausgabeschaltung 530_1 bis 530_4 enthalten. Da der erste Schreibbefehl WR1, eine erste Adresse ADDR1 und interne Befehle INTN_WR1_a und INTN_WR1_b oben im Detail mit Bezug auf 5A beschrieben sind, werden bezugnehmend auf 10B, Operationen der tiefenbasierten Adressenausgabeeinheit 530 basierend auf Aktivierungssignalen ENS [1] bis ENS [4] nachstehend beschrieben.
  • Wieder auf 10A und 10B Bezug nehmend, kann die erste Tiefenadressen-Ausgabeschaltung 530_1 zu Zeitpunkten t1 bis t5 basierend auf einem ersten Aktivierungssignal ENS [1] aktiviert werden und einen ersten internen Schreibbefehl INTN_WR1_a zu einem Zeitpunkt t3 empfangen. Die Tiefenadressen-Ausgabeschaltung 530 1 kann die erste Adresse ADDR1 basierend auf dem ersten internen Schreibbefehl INTN_WR1_a von außerhalb empfangen und die erste Adresse ADDR1 speichern. Die erste Tiefenadressen-Ausgabeschaltung 530_1 kann die erste Adresse ADDR1 als ein erstes Tiefenadressen-Ausgangssignal Dep_ADDR_out [1] ausgeben, um eine Speicheroperation als Reaktion auf den ersten internen Schreibbefehl INTN_WR1_a zu aktivieren.
  • Nach dem Zeitpunkt t5 kann die erste Tiefenadressen-Ausgabeschaltung 530_1 deaktiviert werden. Die zweite Tiefenadressen-Ausgabeschaltung 530_2 kann zwischen dem Zeitpunkt t5 und dem Zeitpunkt t9 basierend auf einem zweiten Aktivierungssignal ENS [2] aktiviert werden. Die zweite Tiefenadressen-Ausgabeschaltung 530_2 kann einen zweiten internen Schreibbefehl INTN_WR1_b zum Zeitpunkt t7 empfangen. Die zweite Tiefenadressen-Ausgabeschaltung 530_2 kann die erste Adresse ADDR1 speichern, die in der ersten Tiefenadressen-Ausgabeschaltung 530_1 gespeichert ist, basierend auf dem zweiten internen Schreibbefehl INTN_WR1_b und einem Erfassungssignal BD_RS mit hohem Pegel (H). Die zweite Tiefenadressen-Ausgabeschaltung 530_2 kann die erste Adresse ADDR1 an das zweite Tiefenadressenausgangssignal Dep _ADDR_out [2]) ausgeben, um eine Speicheroperation als Reaktion auf den zweiten internen Schreibbefehl INTN_WR1_B zu aktivieren.
  • Nach dem Zeitpunkt t9 kann die zweite Tiefenadressenschaltung 530_2 deaktiviert werden. Die dritte Tiefenadressen-Ausgabeschaltung 530_3 kann auf der Grundlage des dritten Aktivierungssignals ENS [3] aktiviert werden, den nächsten internen Befehl empfangen und im Standby-Modus eine dem nächsten internen Befehl entsprechende Adresse speichern und ausgeben.
  • 11A veranschaulicht eine Ausführungsform zum Steuern der Speicherung und Ausgabe einer ersten Adresse ADDR1 einer tiefenbasierten Adressenausgabeeinheit 530, wenn sich ein Blasenintervall nicht in einem Datenburstintervall befindet, das gemäß einer Ausführungsform einem ersten Befehl WR1 entspricht. 11B veranschaulicht eine Ausführungsform eines Zeitdiagramms einer Operation der tiefenbasierten Adressenausgabeeinheit 530 der 11A.
  • Unter Bezugnahme auf 11A kann die tiefenbasierte Adressenausgabeeinheit 530 erste bis vierte Tiefenadressen-Ausgabeschaltungen 530_1 bis 530_4 enthalten. Mit Bezug auf 10B sind, da der erste Schreibbefehl WR1, die erste Adresse ADDR1 und die internen Befehle INTN_WR1_a und INTN_WR1_b oben ausführlich unter Bezugnahme auf 5A beschrieben sind, Operationen der tiefenbasierten Adressenausgabeeinheit 530 als Antwort auf die Aktivierungssignale ENS [1] bis ENS [4] nachstehend beschrieben.
  • Wieder auf 11A und 11B Bezug nehmend, kann die erste Tiefenadressen-Ausgabeschaltung 530_1 basierend auf einem ersten Aktivierungssignal ENS [1] zwischen einem Zeitpunkt t2 und einem Zeitpunkt t4 aktiviert werden und einen ersten internen Schreibbefehl INTN_WR1_a zum Zeitpunkt t3 empfangen. Die Tiefenadressen-Ausgabeschaltung 530_1 kann die erste Adresse ADDR1 von außerhalb empfangen und die erste Adresse ADDR1 basierend auf dem ersten internen Schreibbefehl INTN_WR1_a speichern. Die erste Tiefenadressen-Ausgabeschaltung 530_1 kann die erste Adresse ADDR1 als ein erstes Tiefenadressen-Ausgangssignal Dep ADDR out [1] ausgeben, um eine Speicheroperation basierend auf dem ersten internen Schreibbefehl INTN_WR1_a zu aktivieren.
  • Nach dem Zeitpunkt t4 kann die erste Tiefenadressen-Ausgabeschaltung 530_1 deaktiviert werden. Die zweite Tiefenadressen-Ausgabeschaltung 530_2 kann zwischen dem Zeitpunkt t4 und dem Zeitpunkt t6 basierend auf einem zweiten Aktivierungssignal ENS [2] aktiviert werden. Die zweite Tiefenadressen-Ausgabeschaltung 530_2 kann zum Zeitpunkt t5 einen dritten internen Schreibbefehl INTN_WR2_a empfangen. Die zweite Tiefenadressen-Ausgabeschaltung 530_2 kann eine zweite Adresse ADDR2 von außerhalb empfangen und die zweite Adresse ADDR2 basierend auf dem dritten internen Schreibbefehl INTN_WR2_a speichern. Die zweite Tiefenadressen-Ausgabeschaltung 530_2 kann die zweite Adresse ADDR2 als ein zweites Tiefenadressenausgangssignal Dep_ADDR_out [2] ausgeben, um eine Speicheroperation basierend auf dem dritten internen Schreibbefehl INTN_WR2_a zu aktivieren.
  • Nach dem Zeitpunkt t6 kann die zweite Tiefenadressen-Ausgabeschaltung 530_2 deaktiviert werden. Die dritte Tiefenadressen-Ausgabeschaltung 530_3 kann zwischen dem Zeitpunkt t6 und dem Zeitpunkt t8 basierend auf einem dritten Aktivierungssignal ENS [3] aktiviert werden. Die dritte Tiefenadressen-Ausgabeschaltung 530_3 kann zum Zeitpunkt t7 einen zweiten internen Schreibbefehl INTN_WR1_b empfangen. Die dritte Tiefenadressen-Ausgabeschaltung 530_3 kann die erste Adresse ADDR1 speichern, die in der ersten Tiefenadressen-Ausgabeschaltung 530_1 gespeichert ist, basierend auf dem zweiten internen Schreibbefehl INTN_WR1_b und einem Niedrigpegel-(L)-Erfassungssignal BD_RS. Die dritte Tiefenadressen-Ausgabeschaltung 530_3 kann die erste Adresse ADDR1 als drittes Tiefenadressenausgangssignal Dep_ADDR_out [3] ausgeben, um eine Speicheroperation basierend auf dem zweiten internen Schreibbefehl INTN_WR1_b zu aktivieren.
  • Nach dem Zeitpunkt t8 kann die dritte Tiefenadressen-Ausgabeschaltung 530_3 deaktiviert werden. Die vierte Tiefenadressen-Ausgabeschaltung 530_4 kann zwischen dem Zeitpunkt t8 und dem Zeitpunkt t10 basierend auf einem vierten Aktivierungssignal ENS [4] aktiviert werden. Die vierte Tiefenadressen-Ausgabeschaltung 530_4 kann zum Zeitpunkt t9 einen vierten internen Schreibbefehl INTN_WR2_b empfangen. Die vierte Tiefenadressen-Ausgabeschaltung 530_4 kann die zweite Adresse ADDR2 speichern, die in der zweiten Tiefenadressen-Ausgabeschaltung 530_2 gespeichert ist, basierend auf dem vierten internen Schreibbefehl INTN_WR2_b und dem Niedrigpegel-(L)-Erfassungssignal BD_RS. Die vierte Tiefenadressen-Ausgabeschaltung 530_4 kann die zweite Adresse ADDR2 als ein viertes Tiefenadressen-Ausgangssignal Dep_ADDR_out [4] ausgeben, um eine Speicheroperation basierend auf dem vierten internen Schreibbefehl INTN_WR2_b zu aktivieren.
  • 12A und 12B zeigen Ausführungsformen von Zeitdiagrammen zum Betreiben einer Speichervorrichtung in/bei einer Leseoperation. Mit Bezug auf 12A kann eine Schreiblatenzzeit ‚WR-Latenz‘ in einer Schreiboperation auf der Grundlage eines Schreibbefehls vorhanden sein, wie in 5A gezeigt ist. In einer Leseoperation, die auf einem Lesebefehl basiert, ist möglicherweise keine Leselatenz vorhanden.
  • Ein interner Befehlsgenerator kann somit einen ersten Lesebefehl RD1 empfangen, einen ersten internen Lesebefehl INTN_RD1_a zu einem Zeitpunkt t1 an eine erste Zielspeicherbank ausgeben und einen zweiten internen Lesebefehl INTN_RD1_b an eine erste Zielspeicherbank zu einem Zeitpunkt t5 ausgeben, der ein tCCD-Intervall INTV _tCCD nach dem Zeitpunkt t1 ist. In diesem Fall kann eine Adressen-E/A-Schaltung zu jedem der Zeitpunkte t1 und t5 eine erste Adresse ADDR3 gemäß den Zeitpunkten ausgeben, zu denen der interne Befehlsgenerator den ersten internen Lesebefehl INTN_RD1_a und den zweiten internen Lesebefehl INTN_RD1_b an die erste Zielspeicherbank ausgibt. In einer Ausführungsform kann ein Datentakt WCK ein Signal sein, das auf einem von außerhalb empfangenem Takt basiert (z. B. eine Speichersteuerung).
  • Zusätzlich kann der interne Befehlsgenerator unter Bezugnahme auf 12B ferner einen zweiten Lesebefehl RD2 empfangen, einen dritten internen Lesebefehl INTN_RD2_a an eine zweite Zielspeicherbank im Zeitpunkt t3 ausgeben und einen vierten internen Lesebefehl INTN_RD2_b an die zweite Zielspeicherbank im Zeitpunkt t7 ausgeben, die ein tCCD-Intervall INTV_tCCD nach dem Zeitpunkt t3 ist. In diesem Fall kann die Adressen-E/A-Schaltung in jedem der Zeitpunkte t3 und t7 eine zweite Adresse ADDR4 an die zweite Zielspeicherbank ausgeben, gemäß den Zeitpunkten, zu denen der interne Befehlsgenerator den dritten internen Lesebefehl INTN_RD2_a und den vierten internen Lesebefehl INTN_RD2_b an die zweite Zielspeicherbank ausgibt.
  • 13 veranschaulicht eine Ausführungsform einer Adressen-E/A-Schaltung 700, die so konfiguriert ist, dass sie unter Berücksichtigung einer Leseoperation ohne Leselatenz arbeitet.
  • Mit Bezug auf 13 kann die Adressen-E/A-Schaltung 700 einen Blasenintervalldetektor 710, eine tiefenbasierte Adressenausgabeeinheit 730 und einen Aktivierungs-/Rückstellsignalgenerator 750 enthalten. Der Blasenintervalldetektor 710 kann interne Lesebefehle INTN_RDs empfangen und ein Blasenintervall basierend auf Mustern der internen Lesebefehle INTN_RDs erfassen. Der Blasenintervalldetektor 710 kann ein Erfassungssignal BD_RS' basierend auf einem Erfassungsergebnis des Blasenintervalls erzeugen und das Erfassungssignal BD_RS' an die tiefenbasierte Adressenausgabeeinheit 730 bereitstellen. Die tiefenbasierte Adressenausgabeeinheit 730 kann eine Leseadressen-Latchschaltung 731 und eine Tiefenleseadressen-Ausgabeschaltung 732 enthalten.
  • Die Leseadressen-Latchschaltung 731 kann Adressen-ADDRs speichern, die basierend auf den internen Befehlen INTN_CMDs empfangen werden. Insbesondere kann die Leseadressen-Latchschaltung 731 Positionen ändern, in denen die Adressen-ADDRs gespeichert sind, basierend auf den internen Lesebefehlen INTN_RDs. Die Tiefenleseadressen-Ausgabeschaltung 732 kann eine Adresse, die für eine Leseoperation erforderlich ist, aus den Adressen ADDRs, die in der Leseadressen-Latchschaltung 731 gespeichert sind, basierend auf dem Erfassungssignal BD_RS' auswählen und die ausgewählte Adresse als eine Tiefenleseadressen-Ausgabesignal Dep_RD_ADDR_out ausgeben.
  • Wenn der Lesevorgang durchgeführt wird, kann der Aktivierungs-/Rückstellsignalgenerator 750 ein Aktivierungssignal ENS' zum Aktivieren der tiefenbasierten Adressenausgabeeinheit 730 erzeugen. In einer Ausführungsform kann der Aktivierungs-/Rückstellsignalgenerator 750 die Aktivierungssignale ENS' basierend auf den internen Lesebefehlen INTN_RDs erzeugen. Wenn eine Speichervorrichtung ausgeschaltet ist oder ein Rückstellsignal von außerhalb empfängt, kann der Aktivierungs-/Rückstellsignalgenerator 750 ein Rückstellsignal RST an die tiefenbasierte Adressenausgabeeinheit 730 bereitstellen und die in der Leseadressen-Latchschaltung 731 gespeicherten Adressen ADDRs zurückstellen.
  • 14 veranschaulicht eine Ausführungsform des Blasenintervalldetektors 710 von 13, und 15 veranschaulicht eine Ausführungsform der tiefenbasierenden Adressenausgabeeinheit 730 von 13.
  • Mit Bezug auf 14 kann der Blasenintervalldetektor 710 eine Blasenintervallerfassungsstarteinheit 711, Verzögerungseinheiten 712a bis 712c, einen Signaldetektor 713, Treiber 714a bis 714c und einen Latch 715 enthalten. Da die Anzahl der Verzögerungseinheiten 712a bis 712c, die mit einem Rückstellanschluss des Latchs 715 in dem Blasenintervalldetektor 710 verbunden sind, um eins geringer sind als in dem Blasenintervalldetektor 510 der 8, kann ein Zeitpunkt, zu dem ein Erfassungssignal BD_RS' des Latchs 715 gestellt wird, eingestellt werden kann, um bis zu einem zweiten Taktzyklus früher als zu einem Zeitpunkt sein, zu dem das Erfassungssignal BD_RS' des Latchs 515 von 8 zurückgestellt wird. Beispielsweise kann der Zeitpunkt, zu dem das Erfassungssignal BD_RS' des Blasenintervalldetektors 710 eingestellt wird, so gesteuert werden, dass er sich von dem Zeitpunkt unterscheidet, zu dem das Erfassungssignal BD_RS des Blasenintervalldetektors 510 der 8 zurückgestellt wird. Operationen des Blasenintervalldetektors 710 können ähnlich zu Operationen des Blasenintervalldetektors 510 von 8 sein. Die Konfiguration des Blasenintervalldetektors 710 kann in einer anderen Ausführungsform unterschiedlich sein.
  • Unter Bezugnahme auf 15 kann die tiefenbasierte Adressenausgabeeinheit 730 eine Leseadressen-Latchschaltung 731 und eine Tiefenleseadressen-Ausgabeschaltung 732 enthalten. Die Leseadressen-Latchschaltung 731 kann eine Vielzahl von Schaltelementen SW1 bis SW4 enthalten und eine Vielzahl von Latchs LAT1 bis LAT4. Die Leseadressen-Latchschaltung 731 kann einen Latch ändern, in dem eine Adresse ADDR gespeichert ist, basierend auf einem internen Lesebefehl INTN_RD_a. Der interne Lesebefehl INTN_RD_a kann ein erster erzeugter oder ausgegebener interner Lesebefehl von internen Lesebefehlen sein, die einem vorbestimmten Lesebefehl entsprechen. Beispielsweise kann aus einem ersten internen Lesebefehl ein zweiter interner Lesebefehl, der einem ersten Lesebefehl entspricht, und ein dritter interner Lesebefehl und ein vierter interner Lesebefehl, die einem zweiten Lesebefehl entsprechen, die Leseadressen-Latchschaltung 731 den Latch ändern, in dem die Adresse ADDR gespeichert ist, basierend auf dem ersten internen Befehl und dem dritten internen Befehl.
  • Die Tiefenleseadressen-Ausgabeschaltung 732 kann einen Multiplexer MUX und einen Treiber DRV enthalten. Wie oben mit Bezug auf 1 beschrieben wurde, kann die Tiefenleseadressen-Ausgabeschaltung 732 die Adresse ADDR an Speicherbänke ausgeben. Ein spezifisches Ausgabeverfahren der Tiefenleseadressen-Ausgabeschaltung 732 gemäß einer Ausführungsform wird nun beschrieben.
  • Die Tiefenleseadressen-Ausgabeschaltung 732 kann mit Ausgangsanschlüssen eines zweiten Latchs LAT2 und eines vierten Latchs LAT4 der Leseadressen-Latchschaltung 731 verbunden sein und eine Adresse ADDR_PRE empfangen, die im zweiten Latch LAT2 gespeichert ist, und eine Adresse ADDR_LAT, die im vierten Latch LAT4 gespeichert ist. Die Tiefenleseadressen-Ausgabeschaltung 732 kann die empfangene Adresse ADDR direkt als Tiefenleseadressen-Ausgabesignal Dep_RD_ADDR_out basierend auf einem Aktivierungssignal ENS ausgeben oder eine der im zweiten Latch LAT2 gespeicherten Adresse ADDR_PRE und eine der im vierten Latch LAT4 gespeicherte Adresse ADDR_LAT auswählen, basierend auf dem Aktivierungssignal ENS und dem Erfassungssignal BD_RS' und die ausgewählte Adresse als das Tiefenleseadressen-Ausgabesignal Dep_RD_ADDR_out ausgeben. Die Konfiguration der tiefenbasierten Adressenausgabeeinheit 730 kann in einer anderen Ausführungsform unterschiedlich sein.
  • 16 veranschaulicht eine Ausführungsform einer Operation der tiefenbasierten Adressenausgabeeinheit 730, die dem Zeitdiagramm der 12B entspricht. Bezugnehmend auf 12B und 13 bis 16 kann zu Beginn, wenn die Leseadressen-Latchschaltung 731 eine erste Adresse ADDR3 und einen ersten internen Lesebefehl INTN_RD1_a empfängt, die Leseadressen-Latchschaltung 731 die erste Adresse ADDR3 sequentiell in einem ersten Latch LAT1 und dem zweiten Latch LAT2 speichern. Da der Blasenintervalldetektor 710 nur den ersten internen Lesebefehl INTN_RD1_a empfängt, kann der Blasenintervalldetektor 710 ein Anfangspegel (z. B. niedrig-Pegel) Erfassungssignal BD_RS' ausgeben. Die Tiefenleseadressen-Ausgabeschaltung 732 kann direkt die erste Adresse ADDR3 auswählen und die erste Adresse ADDR3 als ein Tiefenleseadressenausgangssignal Dep_RD_ADDR_out ausgeben.
  • Wenn die Leseadressen-Latchschaltung 731 eine zweite Adresse ADDR4 und einen dritten internen Lesebefehl INTN_RD2_a empfängt, kann die Leseadressen-Latchschaltung 731 eine zweite Adresse ADDR4 im ersten Latch LAT1 und im zweiten Latch LAT2 sequentiell speichern und die erste Adresse ADDR3 im dritten Latch LAT3 und im vierten Latch LAT4 sequentiell speichern. Da der Blasenintervalldetektor 710 den dritten internen Lesebefehl INTN_RD2_a nach einem zweiten Taktzyklus von einem Zeitpunkt an empfängt, zu dem der Blasenintervalldetektor 710 den ersten internen Lesebefehl INTN_RD1_a empfängt, kann der Blasenintervalldetektor 710 ein Erfassungssignal BD_RS' mit hohem Pegel ausgeben. Die Tiefenleseadressen-Ausgabeschaltung 732 kann direkt die zweite Adresse ADDR4 auswählen und die zweite Adresse ADDR4 als das Tiefenleseadressenausgangssignal Dep_RD_ADDR_out ausgeben.
  • Wenn die Leseadressen-Latchschaltung 731 den zweiten internen Lesebefehl INTN_RD1_b empfängt, kann die Leseadressen-Latchschaltung 731 einen Speicherzustand von jedem der ersten bis vierten Latch LAT1 bis LAT4 aufrechterhalten. Obwohl der Blasenintervalldetektor 710 den zweiten internen Lesebefehl INTN_RD1_b empfängt, kann der Blasenintervalldetektor 710 aufgrund einer Verzögerungseinheit 712 ein Erfassungssignal BD_RS' ausgeben, das auf einem hohen Pegel gehalten wird. Die Tiefenleseadressen-Ausgabeschaltung 732 kann die im vierten Latch LAT4 gespeicherte Adresse ADDR_LAT auf der Grundlage des Erfassungssignals BD_RS mit hohem Pegel auswählen und ausgeben. Das heißt, die Tiefenleseadressen-Ausgabeschaltung 732 kann die erste Adresse ADDR3, die in dem vierten Latch LAT4 gespeichert ist, als das Tiefenleseadressen-Ausgabesignal Dep_RD_ADDR_out ausgeben, um als Reaktion auf den zweiten internen Lesebefehl INTN_RD1_b eine Leseoperation auszuführen.
  • Wenn die Leseadressen-Latchschaltung 731 den vierten internen Lesebefehl INTN_RD2_b empfängt, kann die Leseadressen-Latchschaltung 731 einen Speicherzustand von jedem der ersten bis vierten Latch LAT1 bis LAT4 aufrechterhalten. Da der zweite Taktzyklus abgelaufen ist, nachdem der Blasenintervalldetektor 710 den zweiten internen Lesebefehl INTN_RD1_b empfangen hat, kann die Leseadressen-Latchschaltung 731 ein Erfassungssignal BD_RS' ausgeben, das auf einen niedrigen Pegel zurückgestellt wird. Die Tiefenleseadressen-Ausgabeschaltung 732 kann die Adresse ADDR_PRE auswählen und ausgeben, die in dem zweiten Latch LAT2 basierend auf dem Erfassungssignal BD_RS' mit niedrigem Pegel gespeichert ist. Das heißt, die Tiefenleseadressen-Ausgabeschaltung 732 kann die zweite Adresse ADDR4 als Tiefenleseadressen-Ausgabesignal Dep_RD_ADDR_out ausgeben, um eine Leseoperation basierend auf dem vierten internen Lesebefehl INTN_RD2_b zu aktivieren.
  • 17 veranschaulicht eine Ausführungsform eines Speichersystems 1000, das eine Speichersteuerung 1200 und ein Speichermodul 1400 enthalten kann. Das Speichermodul 1400 kann mindestens einen Speicherchip 1800 enthalten, von denen jeder ein Speicherzellenfeld enthalten kann, und einen Pufferchip 1600 zum Übertragen von Signalen zwischen dem mindestens einen Speicherchip 1800 und der Speichersteuerung 1200 oder zum Verwalten einer Speicheroperation auf den Speicherchips 1800. Die Speicherchips 1800 des Speichermoduls 1400 können in einen ersten Rang R1 und einen zweiten Rang R2 unterteilt sein. Jeder der mindestens einen Speicherchips 1800 kann eine Adressen-E/A-Schaltung enthalten, auf die die mit Bezug auf 1 bis 16 beschriebenen Ausführungsformen angewendet werden, um eine Speicheroperation auszuführen.
  • Obwohl 17 ein Beispiel darstellt, in dem ein Teil der Funktion der Speichersteuerung 1200 in einem Speichermodul vom Typ mit lastreduziertem Dual-Inline-Speichermodul (LRDIMM) ausgeführt wird, ist das erfinderische Konzept nicht darauf beschränkt. Beispielsweise kann ein vollständig gepuffertes Speichermodul vom DIMM (FBDIMM) -Typ auf das Speichermodul 1400 angewendet werden, und ein erweiterter Speicherpufferchip (AMB-Chip) kann als Pufferchip auf dem Speichermodul 1400 angebracht sein. Zusätzlich kann ein anderer Typ des Speichermoduls auf das Speichermodul 1400 angewendet werden, und zumindest ein Teil der Funktion der Speichersteuerung 1200 kann in dem Speichermodul 1400 ausgeführt werden.
  • 18 veranschaulicht eine Ausführungsform eines Halbleitergehäuses 2000 mit einer Stapelstruktur mit einer Vielzahl von Schichten. Mit Bezug auf 18 kann das Halbleitergehäuse 2000 eine Vielzahl von Schichten LA1 bis LAn enthalten. Jede der ersten bis n-1-ten Schichten LA1 bis LAn kann eine Speicherschicht (oder ein Speicherchip) sein, die eine Vielzahl von Speicherbank-Gruppen 2100 enthält.
  • Jede der Speicherbank-Gruppen 2100 kann eine Vielzahl von Speicherbänken enthalten, von denen jede ein Speicherzellenfeld enthalten kann, das zum Speichern von Daten konfiguriert ist, einen Zeilendekodierer, einen Spaltendekodierer und einen Leseverstärker. Die n-te Schicht LAn kann eine Pufferschicht sein. In dem Halbleitergehäuse 2000 können die gestapelten Schichten LA1 bis LAn durch Through-Silicon-Vias (TSVs) 2300 miteinander verbunden sein. Die Pufferschicht LAn kann mit einer externen Speichersteuerung und den Speicherschichten LA1 bis LAn-1 kommunizieren und Übertragungssignale zwischen den Speicherschichten LA1 bis LAn-1 und der externen Speichersteuerung weiterleiten. Die Pufferschicht LAn kann eine Adressen-E/A-Schaltung 2200 enthalten. Die mit Bezug auf 1 bis 16 beschriebenen Ausführungsformen können auf die Adressen-E/A-Schaltung 2200 angewendet werden, um eine Speicheroperation auszuführen.
  • 19 veranschaulicht eine Ausführungsform eines Halbleitergehäuses 3000 mit einem Stapelhalbleiterchip. Mit Bezug auf 19 kann das Halbleitergehäuse 3000 ein Speichermodul sein, das mindestens einen Stapelhalbleiterchip 3300 und ein Ein-Chip-System (SoC) 3400 enthält, die an einem Gehäusesubstrat 3100 (z. B. einer Leiterplatte ( PCB)) angebracht sind. Ein Interposer 3200 kann optional ferner auf dem Gehäusesubstrat 3100 vorgesehen sein.
  • Der Stapelhalbleiterchip 3300 kann durch einen Chip-on-Chip (CoC) ausgeführt werden. Der Stapelhalbleiterchip 3300 kann mindestens einen Speicherchip 3320 enthalten, der auf einem Pufferchip 3310 (z. B. einem Logikchip) gestapelt ist. Der Pufferchip 3310 und der mindestens eine Speicherchip 3320 können durch Through-Silicon-Vias (TSVs) miteinander verbunden sein. Der Pufferchip 3320 kann eine Adressen-E/A-Schaltung enthalten, auf die die mit Bezug auf 1 bis 16 beschriebenen Ausführungsformen angewendet werden, um eine Speicheroperation auszuführen. In einem Beispiel kann der Stapel-Halbleiterchip 3300 ein Speicher mit hoher Bandbreite (HBM), mit einer Bandbreite von etwa 500 GB / s bis etwa 1 TB / s oder mehr sein.
  • Die hierin beschriebenen Verfahren, Prozesse und/oder Operationen können durch Code oder Anweisungen ausgeführt werden, die von einem Computer, Prozessor, Controller oder einer anderen Signalverarbeitungsvorrichtung ausgeführt werden. Der Computer, der Prozessor, der Controller oder eine andere Signalverarbeitungsvorrichtung können die hier beschriebenen oder ein zusätzlich zu den hierin beschriebenen Elementen sein. Da die Algorithmen, die die Grundlage der Verfahren (oder Operationen des Computers, Prozessors, Controllers oder einer anderen Signalverarbeitungsvorrichtung) bilden, detailliert beschrieben werden, kann der Code oder die Anweisungen zum Implementieren der Operationen der Verfahrensausführungsformen den Computer oder Prozessor, einen Controller oder eine andere Signalverarbeitungsvorrichtung in einen Spezialprozessor zum Durchführen der hierin beschriebenen Verfahren transformieren.
  • Die Generatoren, Steuerungen, Ausgänge, Schnittstellen, Module, Detektoren, Dekodierer, Verzögerungen und andere Einheiten, Latch und andere Signalerzeugungs-, Signalbereitstellungs- und Signalverarbeitungsmerkmale der hierin offenbarten Ausführungsformen können in einer nichtflüchtigen Logik implementiert sein, die Hardware, Software oder beides enthalten können. Bei einer zumindest teilweise Implementation in Hardware, können die Generatoren, Steuerungen, Ausgänge, Schnittstellen, Module, Detektoren, Dekodierer, Verzögerungen und andere Einheiten, Latch und andere Signalerzeugungs-, Signalbereitstellungs- und Signalverarbeitungsmerkmale beispielsweise eine beliebige einer Vielzahl von integrierten Schaltungen sein, einschließlich einer anwendungsspezifischen integrierten Schaltung, eines feldprogrammierbaren Gate-Arrays, einer Kombination von Logikgattern, eines Ein-Chip-Systems, eines Mikroprozessors oder einer anderen Art von Verarbeitungs- oder Steuerschaltung, die jedoch nicht darauf beschränkt sind.
  • Wenn die Generatoren, Controller, Ausgänge, Schnittstellen, Module, Detektoren, Dekodierer, Verzögerungen und andere Einheiten, Latch und andere Signalerzeugungs-, Signalbereitstellungs- und Signalverarbeitungsmerkmale zumindest teilweise in Software implementiert sind, können diese z B. ein Speicher oder eine andere Speichervorrichtung zum Speichern von Code oder Anweisungen enthalten, die zum Beispiel von einem Computer, Prozessor, Mikroprozessor, Controller oder einer anderen Signalverarbeitungsvorrichtung auszuführen sind. Der Computer, Prozessor, Mikroprozessor, Controller oder eine andere Signalverarbeitungsvorrichtung können die hier beschriebenen sein oder ein zusätzlich zu den hierin beschriebenen Elementen. Da die Algorithmen, die die Grundlage der Verfahren (oder Operationen des Computers, Prozessors, Mikroprozessors, Controllers oder einer anderen Signalverarbeitungsvorrichtung) bilden, ausführlich beschrieben werden, kann der Code oder die Anweisungen zum Implementieren der Operationen der Ausführungsformen des Verfahrens den Computer, den Prozessor, den Controller oder eine andere Signalverarbeitungsvorrichtung in einen Spezialprozessor zum Durchführen der hierin beschriebenen Verfahren transformieren.
  • Die verschiedenen Operationen der oben beschriebenen Verfahren können durch ein beliebiges geeignetes Mittel ausgeführt werden, das die Operationen ausführen kann, wie beispielsweise verschiedene Hardware- und/oder Softwarekomponenten, Schaltungen und/oder Module.
  • Die Software kann eine geordnete Auflistung ausführbarer Anweisungen zum Implementieren logischer Funktionen umfassen und kann in einem beliebigen ‚prozessorlesbaren Medium‘ zur Verwendung durch oder in Verbindung mit einem System, einer Vorrichtung oder einer Vorrichtung zur Ausführung von Anweisungen, wie Einzel- oder Mehrkernprozessor oder prozessorhaltiges System ausgeführt werden.
  • Die Blöcke oder Schritte eines Verfahrens oder eines Algorithmus und von Funktionen, die in Verbindung mit den hierin offenbarten Ausführungsformen beschrieben wurden, können direkt in Hardware, in einem Softwaremodul, das von einem Prozessor ausgeführt wird, oder in einer Kombination der beiden ausgeführt werden. Wenn sie in Software implementiert sind, können die Funktionen in einem oder einer Vielzahl von Anweisungen oder Code auf einem greifbaren, nicht flüchtigen, computerlesbaren Medium gespeichert oder übertragen werden. Ein Softwaremodul kann sich in einem Arbeitsspeicher (RAM), einem Flash-Speicher, einem Festwertspeicher (ROM), einem elektrisch programmierbaren ROM (EPROM), einem elektrisch löschbaren programmierbaren ROM (EEPROM), Registern, einer Festplatte, einem Wechseldatenträger, einer CD-ROM befinden oder jeder anderen Form eines Speichermediums, das im Stand der Technik bekannt ist.
  • Gemäß einer oder einer Vielzahl der zuvor genannten Ausführungsformen kann aufgrund eines Frequenzunterschieds zwischen dem Referenztakt und dem Datentakt ein Intervall (z. B. ein Blasenintervall) auftreten, in dem Daten nicht zu und von einem Pad während einer Speicheroperation (z. B. einer einem Befehl entsprechenden Datenburstoperation) der Speichervorrichtung übertragen werden. Um die Effizienz der Speicheroperation und die Leistung des Speichersystems zu verbessern, kann das Speichersystem eine Speicheroperation zum Reduzieren oder Minimieren eines Blasenintervalls durchführen. Beispielsweise kann eine Adressen-E/A-Schaltung eine Schaltung (die eine Adresse speichert, wenn ein Blasenintervall in dem Datenburstoperationsintervall vorhanden ist, das einem empfangenen Befehl entspricht) so steuern, dass sie sich von einer Schaltung unterscheidet, die die Adresse speichert, wenn kein Blasenintervall vorliegt. Die Adressen-E/A-Schaltung kann die gespeicherte Adresse gemäß einem Zeitpunkt an die Speicherbank-Gruppe BG ausgeben, zu dem der interne Befehl an die Speicherbank-Gruppe BG ausgegeben wird. Aufgrund der oben beschriebenen Operationen der Adressen-E/A-Schaltung kann das Blasenintervall reduziert werden. Als Ergebnis kann die Speichervorrichtung effiziente Speicheroperationen ausführen.
  • Hierin sind beispielhafte Ausführungsformen offenbart worden, und obwohl spezifische Ausdrücke verwendet werden, sind sie nur in einem generischen und beschreibenden Sinn verwendet und nicht zum Zwecke der Einschränkung zu interpretieren. In einigen Fällen können, wie für einen Fachmann aus der Anmeldung der vorliegenden Anmeldung ersichtlich ist, Merkmale, Eigenheiten und/oder Elemente, die in Verbindung mit einer bestimmten Ausführungsform beschrieben werden, einzeln oder in Kombination mit Merkmalen, Eigenheiten und/oder Elementen verwendet werden, die in Verbindung mit anderen Ausführungsformen beschrieben sind, sofern nicht anders angegeben. Dementsprechend können verschiedene Änderungen in Form und Details vorgenommen werden, ohne vom Schutzumfang der in den Ansprüchen angegebenen Ausführungsformen abzuweichen.

Claims (20)

  1. Speichervorrichtung umfassend: eine erste Speicherbank-Gruppe (340_1; 440_1); eine zweite Speicherbank-Gruppe (340_2; 440_2), wobei jede der ersten und zweiten Speicherbank-Gruppen (340_1, 340_2; 440_2440_1, 440_2) eine Vielzahl von Speicherbänken (340_11-3401k, 34_21-340_2k; 440_11, 440_12, 440_22, 440_22) enthält; einen internen Befehlsgenerator (220A; 316; 416) zum Erzeugen eines ersten internen Befehls (INTN_WR1_a) und eines zweiten internen Befehls (INTN_WR1_b) basierend auf einem ersten Befehl (WR1) von einer Speichersteuerung (100A), wobei der erste Befehl (WR1) eine Speicheroperation einer ersten Zielspeicherbank (440_11) in der ersten Speicherbankgruppe (340_1; 440_1) steuert, wobei der interne Befehlsgenerator (220A; 316; 416) den ersten internen Befehl (WR1) und den zweiten internen Befehl (WR2) an die erste Zielspeicherbank (440_11) ausgibt; und eine Adressen-Eingabe/Ausgabeschaltung (E/A-Schaltung) (420; 500), die eine ersten Adresse (ADDR1), die dem ersten Befehl (WR1) entspricht, empfängt zum Auswählen eines Speicherpfads der ersten Adresse (ADDR1) basierend darauf, ob ein Blasenintervall (B_INTV) in einem Datenburstoperationsintervall vorhanden ist, das dem ersten Befehl (WR1) entspricht, zum Steuern der Ausgabe der ersten Adresse (ADDR1) gemäß einem Zeitpunkt, bei dem der erste interne Befehl (WR1) und der zweite interne Befehl (WR2) jeweils ausgegeben werden, und zum Speichern der ersten Adresse (ADDR1) in der Adressen-E/A-Schaltung (320; 420; 500).
  2. Speichervorrichtung nach Anspruch 1, wobei eine Frequenz von Datentakten, die in einer Datenburstoperation synchronisiert sind, größer als eine Frequenz von Referenztakten ist, die in der Speicheroperation synchronisiert sind.
  3. Speichervorrichtung nach Anspruch 1 oder 2, wobei: wenn eine Burstlänge (BL_16) einer Datenburstoperation, die dem ersten Befehl (WR1) entspricht, 2n Bits beträgt, die gleich oder höher als Referenzbits ist, beträgt jede Burstlänge einer Datenburstoperation gemäß dem ersten internen Befehl (INTN_WR1_a) und eine Burstlänge einer Datenburstoperation, die dem zweiten internen Befehl (INTN_WR1_b) entspricht, n Bits, wobei n eine ganze Zahl gleich oder größer als 2 ist.
  4. Speichervorrichtung nach einem der Ansprüche 1 bis 3, wobei eine Burstlänge einer Datenburstoperation (BL_16), die dem ersten Befehl (WR1) entspricht, gleich einer Burstlänge (BL_32) einer Datenburstoperation ist oder sich von dieser unterscheidet, die einem zweiten Befehl (WR2) entspricht, der von der Speichervorrichtung empfangen wird, nachdem die Speichervorrichtung den ersten Befehl (WR1) empfängt.
  5. Speichervorrichtung nach einem der Ansprüche 1 bis 4, wobei: das Datenburstoperationsintervall, das dem ersten Befehl (WR1) entspricht, ein erstes Datenburstoperationsintervall, das dem ersten internen Befehl (INTN_WR1_a) entspricht und ein zweites Datenburstoperationsintervall enthält, das dem zweiten internen Befehl (INTN_WR1_b) entspricht, das Blasenintervall (B_INTV) ein Intervall ist, für das keine Datenburstoperation zwischen dem ersten Datenburstoperationsintervall und dem zweiten Datenburstoperationsintervall ausgeführt wird.
  6. Speichervorrichtung nach einem der Ansprüche 1 bis 5, wobei die Adressen-E/A-Schaltung (320; 420; 500) enthält: einen Blasenintervalldetektor (510; 610; 710) zum Erfassen des Blasenintervalls (B_INTV) basierend darauf, ob ein zweiter Befehl (WR2) zum Steuern einer Speicheroperation einer zweiten Zielspeicherbank (440_22) in der zweiten Speicherbankgruppe (340_2; 440_2) innerhalb eines ersten Taktzyklus, von einem Zeitpunkt, zu dem die Speichervorrichtung den ersten Befehl (WR1) empfängt, wobei der Blasenintervalldetektor (510; 610; 710) ein Erfassungssignal (BD_RS) erzeugt.
  7. Speichervorrichtung nach Anspruch 6, wobei: der erste Taktzyklus ein Zeitintervall enthält, das auf einem Kernzyklus zum Durchführen einer Speicheroperation basiert, die auf dem ersten internen Befehl (INTN_WR1_a) basiert, und der interne Befehlsgenerator (220A; 316; 416) den zweiten internen Befehl (INTN_WR1_b) nach dem ersten Taktzyklus an die erste Zielspeicherbank (440_11) ab einem Zeitpunkt ausgibt, zu dem der interne Befehlsgenerator (220A; 316; 416) den ersten internen Befehl (INTN_WR1_a) an die erste Zielspeicherbank (440_11) ausgibt.
  8. Speichervorrichtung nach Anspruch 6 oder 7, wobei: der interne Befehlsgenerator (220A; 316; 416) einen dritten internen Befehl (INTN_WR2_a) basierend auf dem zweiten Befehl (WR2) zu einem Zeitpunkt erzeuget, zu dem der zweite Befehl (WR2) empfangen wird, und wenn der dritte interne Befehl nach einem zweiten Taktzyklus ab einem Zeitpunkt empfangen wird, zu dem der erste interne Befehl (INTN_WR1_a) empfangen wird, der Blasenintervalldetektor (416) das Erfassungssignal (BD_RS) auf einen ersten Pegel setzt, der anzeigt, dass das Blasenintervall (B_INTV) nach dem zweiten Taktzyklus ab einem Zeitpunkt erfasst wird, zu dem der dritte interne Befehl (INTN_WR2_a) empfangen wird.
  9. Speichervorrichtung nach Anspruch 8, wobei der zweite Taktzyklus ein Zeitintervall des Blasenintervalls (B_INTV) ist.
  10. Speichervorrichtung nach Anspruch 9, wobei: wenn der zweite interne Befehl (INTN_WR1_b) empfangen wird, der Blasenintervalldetektor (416) das Erfassungssignal (BD_RS) auf einen zweiten Pegel zurücksetzt, nach dem ersten Taktzyklus ab dem Zeitpunkt, zu dem der zweite interne Befehl (INTN_WR1_b) empfangen wird.
  11. Speichervorrichtung nach einem der Ansprüche 6 bis 10, wobei: die Adressen-E/A-Schaltung (320; 420; 500) eine tiefenbasierte Adressenausgabeeinheit (530) enthält, die die erste bis dritte Tiefenadressen-Ausgabeschaltungen (530_1-530_3) enthält, um jeweilige Adressen darin zu speichern, und die erste bis dritte Tiefenadressen-Ausgabeschaltung (530_1-530_3) die jeweiligen darin gespeicherten Adressen sequentiell an eine der Speicherbänke ausgibt.
  12. Speichervorrichtung nach Anspruch 11, wobei, wenn der erste interne Befehl empfangen wird, die tiefenbasierte Adressenausgabeeinheit (530): die erste Adresse (ADDR1), die von der Speichersteuerung (100A) empfangen wurde, in der ersten Tiefenadressen-Ausgabeschaltung (530_1) speichert, und die erste Adresse (ADDR1), die in der ersten Tiefenadressen-Ausgabeschaltung (530_1) in einer der zweiten Tiefenadressen-Ausgabeschaltung (530_2) und der dritten Tiefenadressen-Ausgabeschaltung (530_3) gespeichert ist, basierend auf dem Erfassungssignal (BD_RS) speichert.
  13. Speichervorrichtung nach Anspruch 12, wobei, wenn sich das Erfassungssignal (BD_RS) auf einem ersten Pegel befindet, der anzeigt, dass das Blasenintervall (B_INTV) erfasst wird, die tiefenbasierte Adressenausgabeeinheit (530): die erste Adresse (ADDR1), die in der ersten Tiefenadressen-Ausgabeschaltung (530_1) gespeichert ist, in der dritten Tiefenadressen-Ausgabeschaltung (530_3) speichert, und eine zweite Adresse (ADDR2), die dem zweiten Befehl (WR2) entspricht, in der zweiten Tiefenadressen-Ausgabeschaltung (530_2) speichert.
  14. Speichervorrichtung nach Anspruch 12 oder 13, wobei: wenn sich das Erfassungssignal (BD_RS) auf einem zweiten Pegel befindet, der anzeigt, dass das Blasenintervall (B_INTV) nicht erfasst ist, die tiefenbasierte Adressenausgabeeinheit (530) die erste Adresse (ADDR1), die in der ersten Tiefenadressen-Ausgabeschaltung (530_1) gespeichert ist, in der zweiten Tiefenadressen-Ausgabeschaltung (530_2) speichert.
  15. Speichervorrichtung nach einem der Ansprüche 1 bis 14, wobei die Speichervorrichtung in einem On-The-Fly-Modus arbeitet, um eine Datenburstoperation mit einer variablen Burstlänge auszuführen.
  16. Speichervorrichtung, umfassend: eine erste Speicherbank-Gruppe (340_1; 440_1); eine zweite Speicherbank-Gruppe (340_2; 440_2), wobei jede der ersten und der zweiten Speicherbank-Gruppen (340_1, 340_2, 440_1, 440_2) eine Vielzahl von Speicherbänken (440_11, 440_12, 440_21, 440_22) enthält; einen internen Befehlsgenerator (220A; 316; 416) zum Erzeugen eines ersten internen Befehls (INTN_WR1_a) und eines zweiten internen Befehls (INTN_WR1_b) basierend auf einem ersten Befehl (WR1), der von einer Speichersteuerung (100A) empfangen wird, wobei der erste Befehl (WR1) vorgesehen ist zum Steuern einer Speicheroperation einer ersten Zielspeicherbank (440_11) der ersten Speicherbank-Gruppe (340_1; 440_1), zum Erzeugen eines dritten internen Befehls (INTN_WR2_a) basierend auf einem zweiten Befehl (WR2), der von der Speichersteuerung (100A) empfangen wird, um eine Speicheroperation einer zweiten Zielspeicherbank (440_22) der zweiten Speicherbank-Gruppe (340_2; 440_2) nach dem ersten Befehl (WR1) zu steuern, und zum Ausgeben des ersten bis dritten internen Befehls (INTN_WR1_a, INTN_WR1_b, INTN_WR2_a); und eine Adressen-Eingabe/Ausgabeschaltung (E/A-Schaltung) (420; 500) zum Empfangen der ersten bis dritten internen Befehle (INTN_WR1_a, INTN_WR1_b, INTN_WR2_a), zum Erhalten einer ersten Adresse (ADDR1) von der Speichersteuerung (100A), die dem ersten Befehl (WR1) entspricht und einer zweiten Adresse (ADDR2), die dem zweiten Befehl (WR2) entspricht, und zum Speichern der ersten Adresse (ADDR1) und der zweiten Adresse (ADDR2) unter Verwendung eines Speicherpfads, der basierend darauf ausgewählt wird, ob der dritte interne Befehl (INTN_WR2_a) innerhalb eines ersten Taktzyklus ab einem Zeitpunkt empfangen wird, zu dem der erste interne Befehl (INTN_WR1_a) empfangen wird.
  17. Speichervorrichtung nach Anspruch 16, wobei: die Adressen-E/A-Schaltung (320; 420; 500) erste bis dritte Tiefenadressen-Ausgabeschaltungen (530_1, -530_3) enthält, die jeweilige Adressen (ADDR1-ADDR3) darin speichern, und die ersten bis dritten Tiefenadressen-Ausgabeschaltungen (530_1, -530_3) die jeweiligen darin gespeicherten Adressen (ADDR1-ADDR3) an eine der Speicherbänke (440_11, 440_12, 440_21, 440_22) sequentiell ausgibt.
  18. Speichervorrichtung nach Anspruch 17, wobei: wenn der dritte interne Befehl (INTN_WR2_a) innerhalb des ersten Taktzyklus ab dem Zeitpunkt empfangen wird, zu dem der erste interne Befehl (INTN_WR1_a) empfangen wird, die Adressen-E/A-Schaltung (320; 420; 500) die erste Adresse ( ADDR1), die von der Speichersteuerung (100A) empfangen wurde, in der ersten Tiefenadressen-Ausgabeschaltung (530_1) speichert und die erste Adresse (ADDR1) an die erste Zielspeicherbank (440_11) über die erste Tiefenadressen-Ausgabeschaltung (530_1) ausgibt, gemäß einem Zeitpunkt, zu dem der interne Befehlsgenerator (220A; 316; 416) den ersten internen Befehl (INTN_WR1_a) an die erste Zielspeicherbank (440_11) ausgibt, die Adressen-E/A-Schaltung (320; 420; 500) in der zweiten Tiefenadressen-Ausgabeschaltung (530_2) die zweite Adresse (ADDR2) speichert, die von der Speichersteuerung (100A) empfangen wird, und die zweite Adresse (ADDR2) an die zweite Zielspeicherbank (440_22) durch die zweite Tiefenadressen-Ausgabeschaltung (530_2) ausgibt, gemäß einem Zeitpunkt, zu dem der interne Befehlsgenerator (220A; 316; 416) den dritten internen Befehl (INTN_WR2_a) an die zweite Zielspeicherbank (440_22) ausgibt, und die Adressen-E/A-Schaltung (320; 420; 500) die erste Adresse (ADDR2), die in der ersten Tiefenadressen-Ausgabeschaltung (530_2) gespeichert ist, in der dritten Tiefenadressen-Ausgabeschaltung (530_3) speichert, und die erste Adresse an die erste Zielspeicherbank (440_11) durch die dritte Tiefenadressen-Ausgabeschaltung (530_1) ausgibt, gemäß einem Zeitpunkt, zu dem der interne Befehlsgenerator (220A; 316; 416) den zweiten internen Befehl (INTN_WR1_b) an die erste Zielspeicherbank (440_11) der ersten Speicherbank-Gruppe (340_1; 440_1) ausgibt.
  19. Speichervorrichtung nach Anspruch 17 oder 18, wobei: wenn der dritte interne Befehl (INTN_WR2_a) nicht innerhalb des ersten Taktzyklus ab dem Zeitpunkt empfangen wird, zu dem der erste interne Befehl (INTN_WR1_a) empfangen wird, die Adressen-E/A-Schaltung (320; 420; 500) die erste Adresse (ADDR1), die von der Speichersteuerung (100A) empfangen wird, in der ersten Tiefenadressen-Ausgabeschaltung (530_1) speichert, und gibt die erste Adresse (ADDR1) an die erste Zielspeicherbank (440_11) über die erste Tiefenadressen-Ausgabeschaltung (530_1) gemäß einem Zeitpunkt aus, zu dem der interne Befehlsgenerator (220A; 316; 416) den ersten internen Befehl (INTN_WR1_a) an die erste Zielspeicherbank (440_11) ausgibt, die Adressen-E/A-Schaltung (320; 420; 500) die erste Adresse (ADDR1), die in der ersten Tiefenadressen-Ausgabeschaltung (530_1) gespeichert ist, in der zweiten Tiefenadressen-Ausgabeschaltung (530_2) speichert, und die erste Adresse (ADDR1) an die erste Zielspeicherbank (440_11) durch die zweite Tiefenadressen-Ausgabeschaltung (530_2) ausgibt, gemäß einem Zeitpunkt, zu dem der interne Befehlsgenerator (220A; 316; 416) den zweiten internen Befehl (INTN_WR1_b) an die erste Zielspeicherbank (440_1) ausgibt, und die Adressen-E/A-Schaltung (320; 420; 500) die zweite Adresse (ADDR2), die von der Speichersteuerung (100A) empfangen wurde, in der dritten Tiefenadressen-Ausgabeschaltung (530_3) speichert und die zweite Adresse (ADDR2) an die zweite Zielspeicherbank (440_22) durch die dritte Tiefenadressen-Ausgabeschaltung (530_2) ausgibt, gemäß einem Zeitpunkt, zu dem der interne Befehlsgenerator (220A; 316; 416) den dritten internen Befehl (INTN_WR2_a) an die zweite Zielspeicherbank (530_2) ausgibt.
  20. Nichtflüchtiges computerlesbares Medium, das einen Code umfasst, der, wenn er von einem Prozessor ausgeführt wird, den Prozessor veranlasst zum: Erzeugen eines ersten internen Befehls (INTN_WR1_a) und eines zweiten internen Befehls (INTN_WR1_b) durch einen internen Befehlsgenerator (220A; 316; 416), basierend auf einem Befehl (WR1) von einer Speichersteuerung (100A), des Befehls (100A) zum Steuern einer Speicheroperation einer ersten Zielspeicherbank (440_11) in einer ersten Speicherbank-Gruppe (340_1; 440_1); Empfangen einer ersten Adresse (ADDR1), die dem Befehl (WR1) entspricht, durch eine Adressen-Eingabe/Ausgabe (E/A) -Schaltung (420; 500); Auswählen eines Speicherpfads der ersten Adresse (ADDR1) basierend darauf, ob es ein Blasenintervall (B_INTV) in einem Datenburstoperationsintervall gibt, das dem Befehl (WR1) entspricht; Steuern einer Ausgabe der ersten Adresse (ADDR1) gemäß einem Zeitpunkt, zu dem der erste interne Befehl (INTN_WR1_a) und der zweite interne Befehl (INTN_WR1_b) jeweils an die erste Zielspeicherbank (440_11) ausgegeben werden; und Speichern der ersten Adresse (ADDR1) in der Adressen-E/A-Schaltung (320; 420; 500).
DE102018125277.3A 2017-11-03 2018-10-12 Speichergerät, das zum Speichern und Ausgeben einer Adresse als Antwort auf einen internen Befehl konfiguriert ist Pending DE102018125277A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2017-0146178 2017-11-03
KR1020170146178A KR102412609B1 (ko) 2017-11-03 2017-11-03 내부 커맨드에 따른 어드레스에 대한 저장 및 출력 제어를 수행하는 메모리 장치 및 그 동작방법

Publications (1)

Publication Number Publication Date
DE102018125277A1 true DE102018125277A1 (de) 2019-05-09

Family

ID=66179282

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102018125277.3A Pending DE102018125277A1 (de) 2017-11-03 2018-10-12 Speichergerät, das zum Speichern und Ausgeben einer Adresse als Antwort auf einen internen Befehl konfiguriert ist

Country Status (5)

Country Link
US (1) US10671319B2 (de)
JP (1) JP7044683B2 (de)
KR (1) KR102412609B1 (de)
CN (1) CN109754833B (de)
DE (1) DE102018125277A1 (de)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11133054B2 (en) 2018-03-12 2021-09-28 SK Hynix Inc. Semiconductor devices performing for column operation
KR102427896B1 (ko) * 2018-03-12 2022-08-03 에스케이하이닉스 주식회사 반도체장치
US11495286B2 (en) 2018-03-12 2022-11-08 SK Hynix Inc. Semiconductor devices
KR102591124B1 (ko) * 2018-07-25 2023-10-19 에스케이하이닉스 주식회사 반도체장치
KR102634962B1 (ko) * 2018-09-06 2024-02-08 에스케이하이닉스 주식회사 반도체장치
EP4018442A4 (de) * 2019-08-23 2023-07-19 Rambus Inc. Hierarchische bankgruppenzeitsteuerung
WO2021041445A1 (en) * 2019-08-27 2021-03-04 Rambus Inc. Joint command dynamic random access memory (dram) apparatus and methods
US11099784B2 (en) * 2019-12-17 2021-08-24 Sandisk Technologies Llc Crosspoint memory architecture for high bandwidth operation with small page buffer
US20210286561A1 (en) * 2021-06-02 2021-09-16 Intel Corporation Double fetch for long burst length memory data transfer
KR20220167996A (ko) 2021-06-15 2022-12-22 에스케이하이닉스 주식회사 메모리 컨트롤러 및 그 동작 방법
CN114420173B (zh) * 2022-01-19 2024-02-06 长鑫存储技术有限公司 一种存储结构和半导体存储器
US20230229348A1 (en) * 2022-01-20 2023-07-20 Micron Technology, Inc. Metadata implementation for memory devices
KR20240009813A (ko) * 2022-07-14 2024-01-23 삼성전자주식회사 단일 직렬 쓰기 인터페이싱 방식을 지원하는 스토리지 모듈 및 그것의 동작 방법
KR20240009812A (ko) * 2022-07-14 2024-01-23 삼성전자주식회사 프리페치 기능을 지원하는 스토리지 모듈 및 그것의 동작 방법

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5469398A (en) 1991-09-10 1995-11-21 Silicon Systems, Inc. Selectable width, brustable FIFO
JP2000183739A (ja) 1998-12-17 2000-06-30 Mitsubishi Electric Corp 半導体集積回路
US6397361B1 (en) 1999-04-02 2002-05-28 International Business Machines Corporation Reduced-pin integrated circuit I/O test
US6732223B1 (en) * 2000-04-03 2004-05-04 Micron Technology, Inc. Method and apparatus for address FIFO for high-bandwidth command/address busses in digital storage system
US6457110B1 (en) * 2001-03-16 2002-09-24 Umax Data Systems, Inc. Method of accessing syncronous dynamic random access memory in scanner
KR100816131B1 (ko) 2001-09-03 2008-03-21 주식회사 하이닉스반도체 출력 드라이버 회로
WO2003058946A2 (en) * 2001-12-24 2003-07-17 Silicon Image, Inc. Method and system for video and auxiliary data transmission over a serial link
US7043599B1 (en) * 2002-06-20 2006-05-09 Rambus Inc. Dynamic memory supporting simultaneous refresh and data-access transactions
KR101027673B1 (ko) 2004-10-15 2011-04-13 주식회사 하이닉스반도체 메모리 장치의 테스트 모드 제어장치
US20060129740A1 (en) * 2004-12-13 2006-06-15 Hermann Ruckerbauer Memory device, memory controller and method for operating the same
US7609584B2 (en) * 2005-11-19 2009-10-27 Samsung Electronics Co., Ltd. Latency control circuit and method thereof and an auto-precharge control circuit and method thereof
KR100818720B1 (ko) * 2005-11-19 2008-04-01 삼성전자주식회사 반도체 메모리 장치의 레이턴시 제어 회로, 제어 방법 및상기 레이턴시 제어 회로를 포함하는 반도체 메모리 장치
JP2007164415A (ja) 2005-12-13 2007-06-28 Sony Corp データ転送制御装置
US7716411B2 (en) 2006-06-07 2010-05-11 Microsoft Corporation Hybrid memory device with single interface
KR100771544B1 (ko) 2006-06-29 2007-10-31 주식회사 하이닉스반도체 출력회로
JP4470183B2 (ja) * 2006-08-28 2010-06-02 エルピーダメモリ株式会社 半導体記憶装置
KR100896462B1 (ko) 2007-06-27 2009-05-14 주식회사 하이닉스반도체 쓰기드라이빙장치를 포함하는 반도체메모리소자
US7930472B2 (en) * 2008-02-27 2011-04-19 Himax Technologies Limited Method for accessing a first-in-first-out (FIFO) buffer and a FIFO controller therefor
WO2009130888A1 (ja) * 2008-04-22 2009-10-29 パナソニック株式会社 メモリ制御装置、メモリシステム、半導体集積回路およびメモリ制御方法
JP2010020815A (ja) 2008-07-08 2010-01-28 Canon Inc Fifoアクセス回路
KR100956781B1 (ko) 2008-09-10 2010-05-12 주식회사 하이닉스반도체 데이터 출력회로
JP2011018427A (ja) * 2009-07-10 2011-01-27 Renesas Electronics Corp 半導体記憶装置
KR20110029220A (ko) 2009-09-15 2011-03-23 주식회사 제니스트 고속 메모리 콘트롤러
US8760945B2 (en) * 2011-03-28 2014-06-24 Samsung Electronics Co., Ltd. Memory devices, systems and methods employing command/address calibration
US9396771B2 (en) * 2012-05-07 2016-07-19 Samsung Electronics Co., Ltd. Memory device for performing multi-core access to bank groups
KR20140146331A (ko) * 2013-06-17 2014-12-26 에스케이하이닉스 주식회사 데이터 스트로브 제어 장치
JP2015119149A (ja) 2013-12-20 2015-06-25 セイコーエプソン株式会社 面発光レーザーおよび原子発振器
KR102164019B1 (ko) * 2014-01-27 2020-10-12 에스케이하이닉스 주식회사 버스트 랭스 제어 장치 및 이를 포함하는 반도체 장치
JP2016095734A (ja) 2014-11-17 2016-05-26 ソニー株式会社 メモリコントローラ、記憶装置、情報処理システムおよびそれらにおける制御方法
US20160378366A1 (en) * 2015-06-24 2016-12-29 Intel Corporation Internal consecutive row access for long burst length
US10074413B2 (en) * 2016-03-17 2018-09-11 Toshiba Memory Corporation Semiconductor storage device

Also Published As

Publication number Publication date
JP2019087240A (ja) 2019-06-06
CN109754833B (zh) 2023-11-07
US10671319B2 (en) 2020-06-02
JP7044683B2 (ja) 2022-03-30
KR102412609B1 (ko) 2022-06-23
CN109754833A (zh) 2019-05-14
KR20190050608A (ko) 2019-05-13
US20190138245A1 (en) 2019-05-09

Similar Documents

Publication Publication Date Title
DE102018125277A1 (de) Speichergerät, das zum Speichern und Ausgeben einer Adresse als Antwort auf einen internen Befehl konfiguriert ist
DE102020104367A1 (de) Refresh-befehlssteuerung für eine hostunterstützung einer rowhammer-mitigation
DE112006000644B4 (de) Speichereinrichtungskommunikation unter Verwendung eines Systemspeicherbusses
DE19982871B4 (de) Speichersystem mit jeweils einen Speichermodul-Controller enthaltenden Speichermodulen
DE102010013668B4 (de) Aktives Training von Speicherbefehl-Timing
DE102017112326B4 (de) Gestapelte Speichervorrichtung und Speicherchip mit demselben
US7890811B2 (en) Method and apparatus for improved memory reliability, availability and serviceability
EP2324431B1 (de) Eingangs-ausgangs-modul, verarbeitungsplattform und verfahren zur erweiterung einer speicherschnittstelle für eingangs-ausgangs-operationen
DE102013109327A1 (de) Speichervorrichtung zum Verringern eines Schreibfehlers, ein System mit derselben und Verfahren davon
DE102020118897A1 (de) Verfahren und Vorrichtung zum Reduzieren des Leistungsverbrauchs für dieAktualisierung von Speicherbauelementen auf einem Speichermodul
DE112017006599T5 (de) Programmierbare datenstruktur zum wiederholten schreiben in einen speicher
DE112017004268T5 (de) Befehlsbus mit doppelter datenrate
CN104981872A (zh) 存储系统
DE112012005617T5 (de) Speicherung von Daten in Speichermodulpuffern
DE112017004966T5 (de) Erweiterte anwendung eines fehlerprüfungs- und korrekturcodes in einem speicher
DE102020133664A1 (de) Initialisierung und Leistungsausfallisolation eines Speichermoduls in einem System
DE102012108093A1 (de) Speicherchip, Speichersystem und Verfahren zum Zugreifen auf den Speicherchip
DE102007039192A1 (de) Verfahren und Schaltung zum Übertragen eines Speichertaktsignals
DE102023110723A1 (de) Randomisierung von gezielten auffrischungsverwaltungs(directed refresh management - drfm)-pseudo-zielzeilenauffrischungs(pseudo target row refresh - pttr)-befehlen
DE102006030373A1 (de) Halbleiterspeichervorrichtung
DE102004060348A1 (de) Halbleiterspeichervorrichtung und Gehäuse dazu, und Speicherkarte mit Verwendung derselben
DE102020132763A1 (de) Undirektionaler informationskanal zur überwachung einer drift eines bidirektionalen informationskanals
DE102021126634A1 (de) Speichervorrichtung, Speichersystem und Betriebsverfahren
DE102021120140A1 (de) Speichervorrichtung, die in der lage ist, fehlerhafte daten im parallel-bit-test auszugeben, und speichersystem mit dieser speichervorrichtung
DE102020115747A1 (de) Speichermodul, Fehlerkorrekturverfahren für Speicher-Controller, der dieses steuert, und Rechensystem, das dieses umfasst

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R083 Amendment of/additions to inventor(s)