DE102004033387B4 - Digitale RAM-Speicherschaltung mit erweiterter Befehlsstruktur - Google Patents

Digitale RAM-Speicherschaltung mit erweiterter Befehlsstruktur Download PDF

Info

Publication number
DE102004033387B4
DE102004033387B4 DE102004033387A DE102004033387A DE102004033387B4 DE 102004033387 B4 DE102004033387 B4 DE 102004033387B4 DE 102004033387 A DE102004033387 A DE 102004033387A DE 102004033387 A DE102004033387 A DE 102004033387A DE 102004033387 B4 DE102004033387 B4 DE 102004033387B4
Authority
DE
Germany
Prior art keywords
command
serial
memory
memory circuit
bit
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.)
Expired - Fee Related
Application number
DE102004033387A
Other languages
English (en)
Other versions
DE102004033387A1 (de
Inventor
Kazimierz Szczypinski
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.)
Polaris Innovations Ltd
Original Assignee
Infineon Technologies AG
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 Infineon Technologies AG filed Critical Infineon Technologies AG
Priority to DE102004033387A priority Critical patent/DE102004033387B4/de
Priority to US11/178,915 priority patent/US7549001B2/en
Publication of DE102004033387A1 publication Critical patent/DE102004033387A1/de
Application granted granted Critical
Publication of DE102004033387B4 publication Critical patent/DE102004033387B4/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/4076Timing circuits
    • 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/1078Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
    • 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/1078Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
    • G11C7/109Control signal input circuits

Landscapes

  • Engineering & Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • Dram (AREA)

Abstract

Digitale RAM-Speicherschaltung (10) mit einer Vielzahl von Speicherzellen (11), Adressanschlüssen (A) zum Anlegen von Adressinformation zur Adressierung jeweils ausgewählter Speicherzellen, Datenanschlüssen (D) zum Ein- und Ausgeben der an den adressierten Speicherzellen einzuschreibenden bzw. ausgelesenen Speicherdaten, einer internen Steuereinrichtung (12), die auf Steuerbefehle abhängig von externen Befehlscodewörtern anspricht, um Operationen der Speicherschaltung einzuleiten, und einer Mehrzahl paralleler Befehlsanschlüsse (P1–P5) mit einem nachgeschalteten Parallelbefehlsdecoder (14) zum Empfang und zur Decodierung externer Mehrbit-Befehlscodewörter, die jeweils im Parallelformat sind,
dadurch gekennzeichnet,
dass zusätzlich zumindest ein serieller Befehlsanschluss (S) vorgesehen ist zum Empfang externer Befehlscodewörter jeweils als serielle Bitfolge (SB), und ein mit dem seriellen Befehlsanschluss verbundener serieller Befehlsdecoder (15) zur Decodierung der dort empfangenen Befehlscodewörter,
und dass der serielle Befehlsdecoder (15) eine Baumschaltung mit Verzweigungsweichen (MUX) enthält, die von den Bits einer Zielinformation, welche die durchzuführende Operation identifiziert und innerhalb eines Befehlscodewortes enthalten ist, so eingestellt werden, dass sich ein...

Description

  • Die Erfindung betrifft eine digitale Speicherschaltung mit einer Vielzahl von Speicherzellen, die selektiv adressierbar sind, um Speicherdaten an ihnen wahlweise einzuschreiben oder auszulesen, gemäß dem Oberbegriff des Patentanspruchs 1. Speicherschaltungen dieser Gattung werden allgemein mit dem Akronym RAM (Random Access Memory) bezeichnet und zumeist als integrierte Bausteine auf Halbleiterchips hergestellt. Bevorzugtes, jedoch nicht ausschließliches Anwendungsgebiet der Erfindung sind so genannte "dynamische" RAM-Bausteine (DRAMs), wie sie als Arbeitsspeicher in Computern eingesetzt werden. Gegenstand der Erfindung ist ferner ein Speichercontroller, der in Verbindung mit Speicherschaltungen der erwähnten Gattung verwendet werden kann.
  • Um die erforderliche Kommunikation mit anderen Schaltungen herstellen zu können, verfügt ein RAM-Baustein über mehrere Gruppen äußerer Anschlüsse. Hierzu zählen neben den Datenanschlüssen, über welche die Speicherdaten ein- und ausgegeben werden, und den Adressanschlüssen, an denen die Information zur Adressierung der Speicherzellen angelegt wird, auch ein gesonderter Eingang mit mehreren Anschlüssen zum Empfang von Befehlen für die Einleitung der verschiedenen Operationen des RAM-Bausteins. Bei RAM-Bausteinen, deren Speicherzellen als Matrix aus Zeilen und Spalten organisiert sind und in denen ein Schreib- oder Lesevorgang an einer Zeile mit der Aktivierung einer Zeilenselektionsleitung (Wortleitung) gemäß einer Zeilenadresse begonnen wird, sind unter anderem folgende Befehle üblich: "Vorladen" (Precharge) zum Setzen aller Spaltenselektionsleitungen auf ein bestimmtes Anfangspotential; "Aktivieren" zum Setzen einer gemäß Zeilenadresse adressier ten Wortleitung auf ein Aktivierungspotential, wodurch alle Speicherzellen der betreffenden Zeile für einen möglichen Zugriff zum Lesen oder Schreiben geöffnet werden; "Lesen" zur Einleitung eines Lesevorgangs an den durch eine Spaltenadresse selektierten Speicherzellen der aktivierten Zeile; "Schreiben" zur Einleitung eines Schreibvorgangs an den durch eine Spaltenadresse selektierten Speicherzellen der aktivierten Zeile.
  • Neben diesen Befehlen wird bei den gebräuchlichen RAM-Bausteinen noch eine Mehrzahl anderer Befehle verwendet, z.B. ein Befehl "Baustein auswählen" (Chip Select), um den Speicherbaustein insgesamt zu adressieren, und ein Befehl "Modusregister setzen", um bestimmte Betriebsparameter oder Betriebseigenschaften des Bausteins gemäß einer besonderen Stellinformation einzustellen. Die Stellinformation wird üblicherweise über die Adressanschlüsse eingegeben, während der besagte Befehl am Befehlseingang angelegt wird, um die Stellinformation in ein Register einzuspeichern. Diese Information kann z.B. die Länge der Bursts der einzuschreibenden und auszulesenden Speicherdaten und gewünschtenfalls weitere Parameter vorgeben, etwa bestimmte Wartezeiten innerhalb des Ablaufs gewisser Speicheroperationen. Weitere Befehle sind "Keine Operation" (No Operation) zum Ausfüllen von Wartezeiten, "Sparbetrieb" (Power Down) für einen Wartezustand mit vermindertem Leistungsverbrauch und, im Falle von DRAMs, die Befehle "Autorefresh", um eine automatische Auffrischung der Daten in den Speicherzellen zu bewirken, und "Selfrefresh" um die periodische Auffrischung der Daten in Betriebspausen des Bausteins in Gang zu setzen.
  • Die vorstehend erwähnten Befehle sind nur einige Beispiele und keine erschöpfende Aufzählung. Die Inhalte der Befehle und auch deren Vielfalt hängen natürlich von der Bauart des Speicherbausteins ab, wobei die Gesamtanzahl unterscheidbarer Befehle von der Anzahl der Steueroptionen abhängt. Da es erwünscht ist, die Anzahl äußerer Anschlüsse an einem Speicher baustein möglichst gering zu halten, wäre es kontraproduktiv, für jeden Befehl einen gesonderten Anschluss vorzusehen. Gesonderte Anschlüsse müssen allenfalls für übergeordnete Befehle wie z.B. "Baustein auswählen" vorgesehen sein, die ein Betriebsmerkmal über eine Folge anderer Befehle aufrechterhalten sollen. Diese anderen Befehle werden üblicherweise als m-Bit-Digitalwörter im Parallelformat codiert, so dass m parallele Befehlsanschlüsse ausreichen, um zwischen 2m verschiedenen Befehlen unterscheiden zu können. Ein Befehlsdecoder decodiert dann jedes empfangene m-Bit-Befehlscodewort, parallel mit den oben genannten übergeordneten Befehlen, um eine interne Steuereinrichtung zur Durchführung der befohlenen Operation zu konditionieren.
  • Der Empfang der Befehle im Parallelformat erlaubt eine hohe Arbeitsgeschwindigkeit des Speicherbausteins: Jeder Befehl kann innerhalb einer einzigen Taktperiode empfangen und decodiert werden, so dass die schnelle Einleitung befohlener Operationen möglich ist. Dies ist wünschenswert oder notwendig für Schnellbefehle wie z.B. "Vorladen", "Aktivieren", "Lesen", "Schreiben", "Autorefresh" und einige andere mehr. Andererseits ist die Anzahl möglicher Befehle beim vorstehend beschriebenen Stand der Technik abhängig von der Anzahl der Befehlsanschlüsse. Genauer gesagt steht die Anzahl der Befehlsmöglichkeiten in fester Beziehung zur Anzahl der Befehlsanschlüsse.
  • Andererseits ist es bekannt, Codewörter in Form serieller Bitfolgen zu verwenden, um gewisse Befehle von einem Controller an Speicherbausteine zu übertragen. So beschreibt die Druckschrift US 2001/0008005 A1 ein System zur Konfiguration und/oder Initialisierung von Speicherbausteinen, wobei ein Speichercontroller mit einer Gruppe solcher Bausteine u.a. über einen seriellen Bus verbunden ist, um serielle Befehlscodewörter zu senden, welche die Adresse eines zu wählenden Speicherbausteins und Konfigurationsdaten enthalten können. Über den Aufbau des verwendeten Codes ist nichts ausgesagt. Aus der Druckschrift US 5 357 621 A ist die Verwendung eines seriellen Busses zur Befehlsübertragung von einem Controller an eine Gruppe von Speichermodulen bekannt. In diesem Fall ist ausdrücklich offenbart, dass die seriellen Befehlswörter Bitfolgen fester Länge sind, sie enthalten jeweils die Adresse des zu wählenden Moduls (3 Bits) und einen Operationscode fester Länge (OPCODE, 8 Bits).
  • Eine digitale RAM-Speicherschaltung ist in ihren Einsatzmöglichkeiten umso flexibler, je vielfältiger die Befehlsmöglichkeiten sind. Die Anzahl unterscheidbarer Befehlscodewörter, die an einem seriellen Befehlsanschluss angelegt werden können, ist theoretisch unbegrenzt. Wenn man also bei einer RAM-Speicherschaltung zusätzlich zu den Parallelbefehls-Anschlüssen einen seriellen Befehlsanschluss und einen zugeordneten seriellen Befehlsdecoder vorsieht, lässt sich also das Verhältnis der Anzahl der Befehlsmöglichkeiten zur Anzahl der Befehlsanschlüsse beträchtlich erhöhen. In der Praxis kann allerdings eine gewisse Grenze gesetzt sein, abhängig davon, welche maximale Wortlänge (Anzahl der Bits im Codewort) vorgegeben wird.
  • Die Aufgabe der Erfindung besteht darin, bei einer RAM-Speicherschaltung das Verhältnis der Anzahl der Befehlsmöglichkeiten zur Anzahl der Befehlsanschlüsse zu erhöhen, ohne beschränkt zu sein an eine Vorgabe hinsichtlich der Wortlänge der Befehlcodewörter. Diese Aufgabe wird erfindungsgemäß durch die im Patentanspruch 1 genannten Merkmale einer Speicherschaltung und auch durch die im Patentanspruch 11 genannten Merkmale eines Speichercontrollers gelöst. Besondere Ausgestaltungen der Erfindung sind in Unteransprüchen gekennzeichnet.
  • Eine erfindungsgemäße Speicherschaltung zeichnet sich also nicht nur durch das Vorhandensein eines seriellen Befehls-Empfangsanschlusses aus, sondern darüberhinaus durch eine besondere Ausbildung des mit diesem Anschluss verbundenen seriellen Befehlsdecoders. Dieser Decoder enthält eine Baumschaltung mit Verzweigungsweichen, die von den Bits einer Zielinformation, welche die durchzuführende Operation identifiziert und innerhalb eines seriellen Befehlscodewortes ent halten ist, so eingestellt werden, dass sich ein Übertragungspfad zur Aktivierung der identifizierten Operation ergibt.
  • Die erfindungsgemäße Ausbildung des seriellen Befehlsdecoders erlaubt es, Codes variabler Länge zu decodieren und ist somit auf beliebig viele Ziele erweiterbar. Ferner ist es möglich, nach Durchschaltung des Pfades, weitere Informationen (Stellinformation) über den Pfad zu senden, z.B. zur Justierung (Kalibrierung) eines durch die Zielinformation bestimmten Parameters.
  • Natürlich dauern der Empfang und die Decodierung eines seriellen Codewortes wesentlich länger als der Empfang und die Decodierung eines Parallelcodewortes. Die Erfindung beruht jedoch auf dem Gedanken, dass es nützliche Befehle gibt oder geben kann, bei denen eine langsame Empfangsgeschwindigkeit ohne weiteres tolerierbar ist. Die Erweiterung der Befehlsoptionen mittels des seriellen Befehlsanschlusses kann sich also auf Befehle dieser Art erstrecken.
  • Auch unter den Befehlen, die herkömmlicherweise über die parallelen Befehlsanschlüsse gegeben werden, befinden sich solche, die nicht notwendigerweise mit großer Schnelligkeit durchgeführt werden müssen. Hierzu zählen z.B. die Befehle "Modusregister setzen", "Selfrefresh" und "Kalibrierung der Datenausgangstreiber". Wenn man den seriellen Befehlsanschluss auch für diese Befehle verwendet, gewinnt man an den parallelen Befehlsanschlüssen Freiraum für zusätzliche Schnellbefehle.
  • Demgemäß ist eine vorteilhafte Ausführungsform der Erfindung dadurch gekennzeichnet, dass diejenigen Steuereingänge der internen Steuereinrichtung der Speicherschaltung, über welche die am schnellsten auszuführenden Steuerbefehle angelegt werden, mit Ausgängen desjenigen Befehlsdecoders verbunden sind, der die an den parallelen Befehlsanschlüssen empfangenen Befehlscodewörter decodiert, und dass diejenigen Steuereingänge der internen Steuereinrichtung, über welche langsamer auszu führende Steuerbefehle angelegt werden, mit Ausgängen desjenigen Befehlsdecoders verbunden sind, der die am seriellen Befehlsanschluss empfangenen Befehlscodewörter decodiert.
  • Wie bereits erwähnt, gibt es Befehle, welche sich auf das Einstellen von Betriebsparametern oder Betriebseigenschaften beziehen. Bei solchen Befehlen, die im Folgenden als "kombinierte Befehle" bezeichnet werden, muss zusätzlich zur "Ziel"-Information" auch eine "Stell"-Information" eingegeben werden. Die Zielinformation gibt den Bestimmungsort bzw. die "Destination" der Stellinformation an, d.h. sie benennt die durchzuführende Operation, z.B. durch Angabe, wo die Stellinformation eingespeichert oder wirksam sein soll. So gibt z.B. der übliche Befehl "Modusregister setzen" das Modusregister als Ziel an, einschließlich der Anweisung, die in Verbindung mit diesem Befehl empfangene Stellinformation an zugeordneten Zellen dieses Registers zu speichern. Diese Information steht dann im Speicherbaustein zur Verfügung, um die interne Steuereinrichtung so zu konditionieren, dass der Speicherbaustein im nachfolgenden Betrieb gemäß den befohlenen Einstellungen arbeitet. Wie ebenfalls oben erwähnt, wird die Stellinformation beim Stand der Technik an den Adressanschlüssen angelegt, während die Zielinformation an den parallelen Befehlsanschlüssen angelegt wird.
  • Da bei kombinierten Befehlen meist eine langsamere Durchführung toleriert werden kann, bringt es keinen Nachteil, wenn diese Befehle über den erfindungsgemäßen seriellen Befehlsanschluss gegeben werden. Der Inhalt eines dort eingegebenen Befehls kann auf die Zielinformation beschränkt sein, während eine eventuell benötigte Stellinformation wie beim Stand der Technik über Adressanschlüsse angelegt wird (oder an anderen vorhandenen Anschlüssen, die in diesem Augenblick nicht anderweitig genutzt werden), und zwar vorzugsweise unmittelbar nach erfolgter Decodierung des seriell decodierten Befehls. Der serielle Befehlsanschluss eröffnet aber auch die Möglichkeit, sowohl die Zielinformation als auch die Stellinforma tion als Gesamtpaket in Form eines kombinierten seriellen Codewortes einzugeben.
  • In besonderer Ausführungsform der Erfindung ist der dem seriellen Befehlsanschluss nachgeschaltete "serielle" Befehlsdecoder der Speicherschaltung ausgebildet zur Decodierung von Codewörtern variabler Länge, gemäß einem Codebaum ähnlich einem Huffman-Code oder einem Shannon-Fano-Code. Dies hat den Vorteil, dass eine beliebige Erweiterung des Codebaumes und somit der Liste der zu decodierender Befehle möglich ist, ohne die Codewörter der bestehenden Befehle ändern zu müssen. Außerdem lässt sich, wie bei der Huffmann-Codierung bekannt, die mittlere Codewortlänge und somit die Redundanz durch geeignete Gestaltung des Codebaums minimieren.
  • Die Erfindung und Einzelheiten besonderer Ausgestaltungen werden nachstehend an einem Ausführungsbeispiel anhand von Zeichnungsfiguren näher erläutert.
  • 1 zeigt in einem vereinfachten Blockdiagramm den Aufbau einer erfindungsgemäß ausgebildeten Speicherschaltung in Verbindung mit einem externen Speichercontroller;
  • 2 zeigt ein Beispiel für einen Codebaum für serielle Befehlscodewörter variabler Länge;
  • 3 zeigt eine Ausführungsform eines Decoders für das Codebaum-Beispiel nach 2;
  • 4 zeigt eine vorteilhafte Modifizierung des in 3 dargestellten Decoders
  • 5 zeigt eine vorteilhafte Ausführungsform einer Verzweigungsweiche für den Decoder nach 3 oder 4.
  • Die im rechten Teil der 1 fragmentarisch dargestellte Speicherschaltung 1 bildet einen Baustein, der auf einem Halbleiterchip integriert ist, dessen Umriss mit einer fetten Rahmenlinie symbolisiert ist. Beim dargestellten Ausführungsbeispiel handelt es sich um ein DRAM, und zwar speziell um ein "synchrones" DRAM (SDRAM), dessen Speicherzellenfeld als Block 11 gezeichnet ist und in einzelne Bänke unterteilt sein kann. Die Speicherzellen sind als Matrix aus Zeilen und Spalten organisiert. Der selektive Zugriff auf die Speicherzellen erfolgt abhängig von Zeilen- und Spalten-Adresscodewörtern ADR, die jeweils im Parallelformat über ein Vielfach von externen Adressanschlüssen (Adresspins) A empfangen und in einer Adress-Decodiereinrichtung 13 decodiert werden, und zwar getrennt in einem Zeilendecoder und einem Spaltendecoder (nicht gesondert dargestellt). Die an den adressierten Speicherzellen einzuschreibenden oder ausgelesenen Speicherdaten DAT werden, jeweils als Pakete (Speicherdatenwörter) im Parallelformat, über ein Vielfach von externen Datenanschlüssen (Datenpins) D ein- bzw. ausgegeben. Die Übertragung dieser Daten zwischen den Datenpins D und den Datenanschlüssen des Speicherzellenfeldes 11 läuft über einen internen Datenbus, der sich über Multiplexer zu den einzelnen Bänken verzweigen kann (nicht gesondert dargestellt).
  • Der Speicherbaustein 10 enthält ein kompliziertes und weit verzweigtes System von Steuer- und Schaltmitteln, um die Verbindungen zwischen den jeweils adressierten Speicherzellen und den Datenpins D herzustellen, verschiedene Betriebsabläufe und Operationen zu steuern und Einstellungen vorzunehmen. Dieses System, hier pauschal als "interne Steuereinrichtung" bezeichnet, ist in 1 als Block 12 dargestellt und spricht auf externe Befehle an, die ebenso wie die Adresswörter ADR und die einzuschreibenden Speicherdaten DAT von einem externen Speichercontroller 20 gesendet werden. Dieser Controller 20, der auch die über die Datenpins D des Bausteins 1 ausgelesenen Speicherdaten empfängt (und sie zur weiteren Verarbeitung weiterleitet), ist fragmentarisch im linken Teil der 1 dargestellt und hat Datenanschlüsse D' für die zu sendenden und zu empfangenden Daten DAT und Adressanschlüsse A' für die zu sendende Adressinformation ADR.
  • An dem in 1 dargestellten DRAM-Speicherbaustein 10 be finden sich fünf externe parallele Befehlsanschlüsse (parallele Befehlspins) P1, P2, P3, P4 und P5 zum Empfang von Befehlen in Form fünf paralleler Befehlsbits, die gewöhnlich mit den Abkürzungen WE, RAS, CAS, CKE und CS bezeichnet werden. Diese parallelen Befehlsbits, hier insgesamt mit der Abkürzung PB bezeichnet, werden von einem Parallelbefehlscodierer 24 im Controller 20 erzeugt und über fünf parallele Befehlsanschlüsse P1', P2', P3', P4' und P5' des Controller gesendet und einem Parallelbit-Befehlsdecoder 14 im Speicherbaustein 10 zugeführt, der abhängig vom Binärmuster des Codewortes eine jeweils spezielle Kombination aus einer Vielzahl ausgangsseitiger Steuerleitungen 114 erregt, um die Steuereinrichtung 12 zur Durchführung des parallel-codierten Befehls zu konditionieren. Hierbei bestimmt der Logikwert des Befehlsbit CS[1] die Anwahl ("Select") oder Abwahl ("Deselect") des Speicherbausteins 1, und die drei Befehlsbits WE, RAS, CAS erlauben acht hinzukommende Befehlsoptionen im angewählten Zustand des Speicherbausteins (und theoretisch auch acht Befehlsoptionen im abgewählten Zustand). Das Befehlsbit CKE ("Clock Enable") ist reserviert für das Ein- und Ausschalten von Betriebszuständen, in denen der Baustein gleichsam "schläft", also keine Daten mit dem Controller austauscht und nur geringe Leistung braucht.
  • In der Praxis sind oft mehrere gleichartige Speicherbausteine zu einem Speichermodul zusammengefasst. Hierbei kann das System so ausgelegt sein, dass nur jeweils ein speziell angewähltes Exemplar der Speicherbausteine mit dem Controller kommuniziert. In diesem Fall verzweigen sich alle vom Controller ausgehenden Leitungen zu den verschieden Speicherbausteinen, wie in 1 gestrichelt angedeutet für den Beispielsfall von vier Bausteinen. Ausgenommen von den Verzweigungen ist die Leitung für das CS-Befehlsbit zur Anwahl/Abwahl des Bausteins. Wie gezeigt, ist für jeden Baustein ist ein gesonderter CS-Ausgang am Controller 20 vorgesehen, um CS-Bits CS[1], CS[2], CS[3], CS[4] für die verschiedenen Bausteine unabhängig voneinander zu übertragen.
  • Das System kann aber auch so ausgelegt sein, dass alle Bausteine eines Moduls simultan mit einem gemeinsamen Controller kommunizieren, der demnach entsprechend viele Gruppen von Datenanschlüssen haben muss. Hierbei ist jede dieser Gruppen mit den Datenanschlüssen eines individuell zugeordneten Speicherbausteins verbunden, während sich alle anderen Anschlüsse des Controllers zu den Speicherbausteinen verzweigen. In diesem Fall (nicht dargestellt) kann auf eine Übertragung von CS-Befehlsbits verzichtet werden. Die CS-Anschlüsse der Speicherbausteine können dann fest mit dem "aktivierenden" Logikpotential verbunden werden. Hierdurch wird die Anzahl der anzusteuernden Anschlüsse an den Speicherbausteinen niedriger gehalten. Letzteres ist natürlich auch möglich, wenn an einen Controller nur ein einziger Speicherbaustein angeschlossen ist.
  • Alle Betriebsabläufe im Speicherbaustein 10 und auch im Controller 20 sind taktgesteuert auf der Basis eines Referenz-Taktsignals CLK, das vom Controller 20 über einen Anschluss C' gesendet, im Baustein 10 über einen externen Taktanschluss C und einen Taktempfänger 16 empfangen und über ein Netz von Taktleitungen an die einzelnen Schaltungen verteilt wird, jeweils mit der für die Synchronisierung erforderlichen Phasenlage.
  • Alle bis hier beschriebenen Merkmale gehören zum Stand der Technik. Um die Befehlsoptionen zu erweitern, ist erfindungsgemäß am Speicherbaustein 10 ein zusätzlicher serieller externer Befehlsanschluss (serieller Befehlspin) S vorgesehen zum Empfang von Befehlen, die als Codewörter SB jeweils in Form einer Bitfolge von einem seriellen Befehlscodierer 25 im Controller 20 erzeugt und über einen seriellen Befehlsanschluss S' des Controllers 20 gesendet werden können. Zur Decodierung dieser seriell-codierten Befehle SB im Speicherbaustein 10 dient ein gesonderter "serieller" Befehlsdecoder 15 mit einer Vielzahl von Ausgangsleitungen 115, die abhängig vom Bitmuster der Befehlswörter SB in unterschiedlicher Auswahl erregt werden, um jeweils ausgewählte Schaltungselemente der Steuereinrichtung 12 zur Durchführung des betreffenden Befehls zu beeinflussen. Im dargestellten Fall, dass der Speicherbaustein 10 vom selben Controller 20 wie weitere gleichartige Bausteine bedient wird, hat der serielle Befehlsdecoder 15 auch einen Eingang zum Empfang des "Chip-Select"-Befehlsbits CS[1], um diesen Decoder nur dann zu aktivieren, wenn der Baustein 10 angesprochen werden soll.
  • Vorzugsweise ist der serielle Befehlsdecoder 15 zur Decodierung von Codewörtern variabler Länge ausgebildet. Ein Beispiel für einen Codebaum, der sich zur Realisierung der Erfindung eignet, ist im oberen Teil der 2 gezeigt, darunter ist die zugehörige Codetabelle eingetragen.
  • Für das in 2 gezeigte Beispiel sei vorausgesetzt, dass der serielle Befehlsdecoder 15 zwischen neun verschiedenen Befehlen unterscheiden soll, nämlich acht verschiedenen Befehlen zur Durchführung einer von acht Operationen #1 bis #8, und dem Befehl "keine Operation" (abgekürzt: "NOP"). Der Einfachheit halber sei zunächst der Fall betrachtet, dass alle seriellen Befehle SB "nackte" Befehle sind, die jeweils nur eine Zielinformation und keine Stellinformation enthalten. D.h., es handele sich entweder um Befehle, die zu ihrer Durchführung keine zusätzliche Stellinformation benötigen, oder um Befehle, deren Stellinformation über andere Anschlüsse (z.B. ausgewählte Adressanschlüsse) übertragen wird.
  • Bekanntlich ist ein längenvariabler Code geeignet, die Redundanz einer Folge von Codewörtern durch unterschiedliche Wortlängen zu minimieren, indem die Längen häufigerer Wörter kürzer gewählt werden als die Längen seltenerer Wörter. Ein allgemein bekanntes Beispiel hierfür ist der sogenannte Huffman-Code. Der Designer einer Huffman-Codetabelle geht herkömmlicherweise so vor, dass er die verschiedenen Informationen, die jeweils durch ein Codewort dargestellt werden sollen, auf ihre Auftritts-Wahrscheinlichkeit untersucht und dann die Längen der verschiedenen Codewörter derart bemisst, dass die mittlere Codewortlänge minimal ist. Im vorliegenden Fall wird für die Zuteilung eines Codewortes zu einem Befehl vorzugsweise jedoch (allein oder zusätzlich) ein anderes Kriterium als die Auftritts-Wahrscheinlichkeit genommen, nämlich der Umstand, wie schnell der betreffende Befehl durchgeführt werden muss oder soll. Je kürzer die Zeit ist, die vom Beginn des Befehls bis zu seiner Durchführung oder bis zum Empfang eines folgenden Befehls verstreichen darf, ein desto kürzeres Codewort wird dem betreffenden Befehl zugeteilt.
  • Der Codebaum nach 2 ist nach diesem Kriterium konstruiert. Der NOP-Befehl ist notwendig, weil mit jeder Periode des Taktes CLK ein Bit zum seriellen Befehlseingang S gesendet werden muss, also auch in Pausen (keine Operation) zwischen aktiven Befehlen. Jeder NOP-Befehl sollte schnellstmöglich erkannt werden, am besten innerhalb einer einzigen Taktperiode, damit die Decodierung eines aktiven Befehls (oder einer lückenlosen Folge aktiver Befehle) sofort beginnen kann. Außerdem ist der NOP-Befehl der häufigste aller Befehle, seine Auftrittswahrscheinlichkeit ist größer als 50%. Demgemäß ist dem NOP-Befehl ein Codewort mit nur einem einzigen Bit zugeteilt, im gezeigten Fall das 1-Bit-Wort "0". Dementsprechend endet der "0"-Ast der ersten Verzweigung des Codebaumes mit NOP und hat keine weitere Verzweigung mehr. Der "1"-Ast der ersten Verzweigung, also des Anfangs-"Knotens", verzweigt sich hingegen weiter zur Bildung von insgesamt acht alternativen Pfaden, die zu den acht verschiedenen Operationen #1 bis #8 führen.
  • Zur Decodierung der seriellen Befehlsbits SB kann ein Huffman-Decoder herkömmlicher Art verwendet werden, bei welchem die Befehlscodewörter unmittelbar aufeinander folgen können, ohne gesonderte Pausesignale dazwischen (so genannte "Präfix"-Eigenschaft). Nach seiner Initialisierung bzw. Start-Rücksetzung interpretiert der Decoder aufeinander folgende Bits so lange als Bestandteile eines Wortes, bis das Ende eines Pfades im Codebaum erreicht ist. Hieraus wird ein Signal zur Rücksetzung abgeleitet, so dass das dann nachfolgende Bit als erstes Bit eines neuen Codewortes interpretiert wird.
  • Wegen der zwangsläufigen Rücksetzung eines herkömmlichen Huffman-Decoders jeweils nach Erkennung eines gültigen Codewortes (also nach Erreichen des Endes eines Pfades) ist es nicht ohne weiteres möglich, ein Codewort durch eine zusätzliche Stellinformation zu erweitern. Will man also manchen ausgewählten Operationsbefehlen eine Stellinformation nachfügen, dann muss verhindert werden, dass der Decoder versucht, die Stellinformation als neuen Befehl zu decodieren.
  • Die 3 zeigt an einem Ausführungsbeispiel das Schema eines neuartigen Decoders, der serielle Befehlscodewörter nicht nur nach dem jeweiligen Ziel unterscheiden kann, sondern dem angesteuerten Ziel auch eine zusätzliche Stellinformation zuleiten kann. Das gezeigte Ausführungsbeispiel ist speziell für den Codebaum nach 2 konzipiert, und zwar für den Fall, dass die Operationen #4, #5, #6, #7 und #8 jeweils einer zusätzlichen Stellinformation bedürfen. Das heißt, die Befehle für diese Operationen sind "kombinierte" Befehle, welche eine zu decodierende Zielinformation und eine dann zum Ziel durchzuleitende Stellinformation enthalten. Die Befehle für die Operationen #1, #2 und #3 sind hingegen "nackte" Befehle, die nur eine Zielinformation und keine Stellinformation enthalten.
  • Der Decoder nach 3 enthält einen Empfangscontroller 30, der durch das Chip-Select-Bit CS[1] in Betrieb gehalten wird und die Folge der seriellen Befehlsbits SB zusammen mit dem Taktsignal CLK empfängt. Eine Eingangsschaltung 31 im Empfangscontroller 30 synchronisiert die Bitfolge SB mit dem Taktsignal und liefert die Bitfolge SB auf einer ersten Leitung parallel mit einem begleitenden Strobesignal STR auf einer zweiten Leitung und einem Freigabe/Rücksetz-Signal RES auf einer dritten Leitung. Das Strobesignal STR enthält Taktflanken, die mit der Bitrate der Befehlsbits SB aufeinander folgen, um die Abtastung der Befehlsbits an jeder nachfolgenden Schaltung zu synchronisieren. Für die nachfolgende Beschreibung sei angenommen, dass der Rücksetz-Logikwert von RES eine logische "1" ist und dass und der Freigabe-Logikwert von RES eine logische "0" ist.
  • Die Eingangsschaltung 31 hält das Signal RES auf "1" (rückgesetzter Zustand), so lange kein aktiver Befehl empfangen wird. Gemäß der in 2 gezeigten Codetabelle beginnt jeder aktive Befehl mit einer "1". Eine "1", die im rückgesetzten Zustand der Eingangsschaltung 31 am SB-Eingang eintrifft, ist als Beginn eines aktiven Befehls zu werten und setzt das Signal RES auf den Freigabe-Logikwert "0".
  • Die vom Decoder nach 3 empfangenen aktiven Befehle lassen, sich wie gesagt, einteilen in nackte Befehle (also Befehle ohne Stellinformation) und kombinierte Befehle (also Befehle mit Stellinformation). Bei jedem kombinierten Befehl folgen unmittelbar nach dem letzten Bit der Zielbit-Sequenz die Stellbits. Diese Stellbits, welche die Stellinformation des Befehls beinhalten, können natürlich jeweils beliebigen Logikwert "x" (0 oder 1) haben und von beliebiger Anzahl sein. Da der Decoder in der Lage sein muss, das Ende eines Befehls zu erkennen, könnte man jedem Befehl, egal ob es sich um einen nackten oder einen kombinierten Befehl handelt, eine Art Vorspann (Header) hinzufügen, der die Codewortlänge angibt. Dies wäre nur dann zu empfehlen, wenn die Variationsbreite der Wortlängen relativ klein ist, so dass nur wenige Bits für den Vorspann erforderlich wären.
  • In der Ausführungsform des Decoders nach 3 sind Maßnahmen getroffen, um das Ende eines Befehls auf andere Weise erkennen zu können. Hierzu befindet sich im Empfangscontroller 30 ein Escape-Detektor 32. Ab Freigabe des Empfangscontrollers (RES = 0) fühlt der Escape-Detektor 32 die Befehlsbits SB und aktiviert ein Stoppsignal STP1, sobald er ein spezielles "Escape"-Symbol in den Befehlsbits SB erkennt. Als Escape-Symbol wird ein exklusives Bitmuster gewählt, das in keinem der Befehlscodewörter vorkommen darf und nach dem letzten Bit jedes Befehls in der Befehlsbitfolge eingefügt sein kann. Im hier beschriebenen Fall ist die Folge "0000" ein solches exklusives Bitmuster und kann somit als "Escape"-Symbol verwendet werden. Auch innerhalb einer Stellbit-Sequenz darf natürlich niemals die Escape-Bitfolge 0000 auftreten. Dies lässt sich z.B. durch Einfügung von "1"-Bits an geeigneten Stellen innerhalb der Stellbit-Sequenz gewährleisten, wie dargestellt. Die Aktivierung des Stoppsignals STP1 als Antwort auf das Erkennen des Escape-Symbols bewirkt, dass die Eingangsschaltung 31 über ihren Steuereingang RDY zurückgesetzt wird und das Signal RES somit auf "1" gebracht wird. Es empfiehlt sich, von Seiten des Befehlscodieres nach jedem Escape-Symbol ein Füllbit mit dem Binärwert "0" einzufügen, um genügend Zeit (eine Taktperiode) für die Rücksetzung des Decoders zu haben, nachdem das Escape-Symbol erkannt worden ist. Am oberen Rand der 3 ist gezeigt, wie die Befehle nach dem beschriebenen Muster zusammengesetzt sind.
  • Die eigentliche Decodierung der aktiven Befehle erfolgt gemäß der 3 in einem sich verzweigenden Baum von Signalweichen, die entsprechend den Verzweigungen des in 2 gezeigten Codebaumes angeordnet sind und gemäß diesem Codebaum funktionieren. Die Anfangs-Verzweigung des Codebaumes, also die Unterscheidung zwischen NOP und aktiven Befehlen, ist bereits durch den Empfangscontroller 30 realisiert, der gleichsam die Hauptweiche zu den durchzuführenden Operationen bildet. Die Weichen an den nachgeordneten Verzweigungen werden im Folgenden gemäß allgemeinem Sprachgebrauch als Multiplexer (abgekürzt MUX) bezeichnet, auch wenn sie nur in demultiplexender Richtung betrieben werden. Die nachgestellte Dualzahl benennt den jeweiligen Multiplexer gemäß seiner Position innerhalb des jeweiligen Decodierpfades.
  • Die durch den Multiplexer-Baum geleiteten Signale sind die drei parallelen Ausgangssignale der Eingangsschaltung 31, also das Freigabe/Rücksetz-Signal RES, die seriellen Befehlsbits SB und das begleitende Strobesignal STR. Jeder Multiplexer hat einen Eingang mit drei Anschlüssen zum Empfang dieser Signale und zwei Ausgänge, deren einer im Folgenden als "0-Ausgang" (linker Ausgang in 3) und deren anderer al "1-Ausgang" (rechter Ausgang in 3) bezeichnet wird und deren jeder drei Anschlüsse hat. Jeder Multiplexer wird gesteuert in Abhängigkeit vom Logikwert eines Bit der empfangenen Befehlsbitfolge und vom Logikwert des empfangenen Freigabe/Rücksetz-Signals RES, gemäß nachstehender Vorschrift:
    • (a) wenn RES den Logikwert "0" hat, speichert der Multiplexer das erste ankommende Befehlsbit und überträgt alle folgenden Befehlsbits SB zusammen mit den empfangenen Signalen RES und STR zum 0-Ausgang, falls und solange das gespeicherte Bit den Logikwert "0" hat, und zum 1-Ausgang, falls und solange das gespeicherte Bit den Logikwert "1" hat;
    • (b) das im Multiplexer gespeicherte Bit wird auf den Logikwert "0" zurückgesetzt, wenn RES auf den Logikwert "1" geht.
  • Eine geeignete Schaltungsanordnung zur Realisierung dieser Multiplexer-Funktionen wird weiter unten anhand der 5 beschrieben.
  • Zunächst sei jedoch weiter auf die 3 Bezug genommen. Da mit dem ersten Zielbit eines aktiven Befehls (welches verabredungsgemäß den Logikwert "1" hat) das Signal RES auf "0" gesetzt wurde, stellt das zweite Zielbit, je nach seinem Logikwert, den MUX1 auf Selektion seines 0-Ausgangs oder seines 1-Ausgangs, um den nachgeordneten MUX10 oder den nachgeordneten MUX11 zum Empfang der nachfolgenden Zielbits auszuwählen. Das erste Bit dieser nachfolgenden Zielbits (also das dritte Zielbit der ursprünglichen Zielbit-Sequenz) stellt, je nach seinem Logikwert, den ausgewählten MUX10 (oder MUX11) auf Selektion seines 0-Ausgangs oder 1-Ausgangs. Wenn einem selektierten MUX-Ausgang kein weiterer Multiplexer mehr folgt, ist auch die Zielbit-Sequenz zu Ende. Der betreffende Ausgang ist auch das Ende des Decodier-Pfades. Bei oder unmittelbar nach erfolgter Selektion dieses End-Ausganges erscheint dort erstmalig eine Taktflanke des Strobesignals STR, welches ja ebenfalls den Pfad durchläuft. Diese Taktflanke kann verwendet werden, um die mit der Zielbit-Sequenz identifizierte Operation einzuleiten oder durchzuführen. In 3 ist dies symbolisiert durch einen an die STR-Leitung des Ausgangs angeschlossenen Operationsblock, der mit "Op#" und einer nachgestellten Nummer bezeichnet ist, entsprechend der in 2 verwendeten Operations-Nummerierung.
  • Falls die Zielbit-Sequenz zu einem nackten Befehl gehört, folgt dem letzten Bit dieser Sequenz das Escape-Symbol "0000", das vom Escape-Detektor 32 erkannt wird, mit der Konsequenz, dass das Signal RES auf "1" gesetzt wird (beim Fühlen der letzten "0" des Escape-Symbols im Escape-Detektor). Die Bits des Escape-Symbols laufen bis dahin zwar noch in den Decodierpfad, haben aber keine Wirkung mehr auf die Ausführung des Befehls. Sobald das erste Zielbit (Logikwert "1") eines nächsten aktiven Befehls erscheint, beginnt das oben beschriebene Spiel von neuem. Die mit nackten Befehlen aktivierten Operationen sind im Falle der 1 die Operationen #1 (Zielbit-Sequenz 101), #2 (Zielbit-Sequenz 1000) und #3 (Zielbit-Sequenz 1001).
  • Falls die Zielbit-Sequenz zu einem kombinierten Befehl gehört, folgen die Stellbits unmittelbar nach dem letzten Zielbit. Da also in diesem Fall nach den Zielbits kein Escape-Symbol folgt und RES deswegen nicht auf "1" geht, bleibt der eingerichtete Decodier-Pfad erhalten, und die Stellbits gelangen zum betreffenden Endausgang und können befehlsgemäß weitergeleitet werden. Hierzu sind Operationsblöcke #4 (Zielbit-Sequenz 1101), #5 (Zielbit-Sequenz 1110), #6 (Zielbit-Sequenz 1111), #7 (Zielbit-Sequenz 11000) und #4 (Zielbit-Sequenz 11001) so ausgebildet, dass sie, sobald das letzte Zielbit den zugeordneten Multiplexerausgang selektiert hat, durch die erste dort erscheinende Strobesignalflanke in einen Durchlass-Zustand versetzt werden, in welchem sie die nachfolgenden Befehlsbits SB als Stellbits an ihren Bestimmungsort weiterleiten, zusammen mit dem Strobesignal STR. Wenn nach dem letzten Stellbit das Escape-Symbol in den Decoder gelaufen ist, sorgt der Escape-Detektor 32 dafür, dass RES auf "1" geschaltet wird. Obwohl die Bits des Escape-Symbols bis dahin noch in den Decodierpfad laufen, ändert dies nichts mehr am Informationsinhalt der schon abgeschlossenen Stellbit-Sequenz. Es genügt, wenn die Länge der Stellbit-Sequenz jeweils am betreffenden Bestimmungsort vorbekannt ist, so dass dort die nachlaufenden Bits des Escape-Symbols ignoriert werden können. In jedem Fall wird der Durchlasszustand des betreffenden Operationsblockes beendet, sobald der "1"-Pegel des Signals RES am letzten Multiplexer des betreffenden Decodierpfades angekommen ist.
  • Das Einfügen des aus mehreren Bits bestehenden Escape-Symbols nach jedem aktiven Befehl vermindert natürlich die Geschwindigkeit, mit welcher die Befehle aufeinander folgen können. Um diese Geschwindigkeit (maximale durchschnittliche Befehlsrate) zu erhöhen, könnte man ein kürzeres Escape-Symbol verwenden. Dies würde allerdings die Codierungsmöglichkeiten für die aktiven Befehle weiter einschränken, weil kein Codewort das Bitmuster des Escape-Symbols enthalten darf. Deswegen gibt es umso mehr "verbotene" Befehlscodewörter, je kürzer das Escape-Symbol ist. Um dennoch eine hohe Anzahl "erlaubter" Codekombinationen (und damit eine hohe Anzahl der möglichen Befehle) zu erhalten, müsste man die durchschnittliche Codewortlänge erhöhen, was wiederum zu einer Verminderung der maximalen durchschnittlichen Befehlsrate führen würde.
  • In einer in 4 gezeigten besonderen Ausführungsform der Erfindung ist der serielle Befehlsdecoder so ausgebildet, dass er serielle Befehle decodieren kann, die ohne ein zwischengeschaltetes Mehrbit-Escapesymbol aufeinander folgen.
  • Der in 4 gezeigte Decoder unterscheidet sich von der Ausführungsform nach 3 nur dadurch, dass im Empfangscontroller 30 zusätzlich ein Befehlsdiskriminator 33 vorgesehen ist. Dieser Befehlsdiskriminator 33 enthält eine Liste ausgewählter Befehlscodewörter, deren Ende direkt beim Erscheinen ihres letzten Bits erkannt werden soll, ohne dass hierzu ein Escape-Symbol notwendig ist. Der Befehlsdiskriminator 33 empfängt, ebenso wie der Escape-Detektor 32, das Freigabe/Rücksetzsignal RES, die Befehlsbitfolge SB und das Strobesignal STR von der Eingangsschaltung 31, er fühlt und vergleicht die empfangenen Befehlsbits mit der gespeicherten Liste der ausgewählten Befehlscodewörter. Solange die gefühlte Bitsequenz, die ab der Freigabe des Empfangscontrollers (RES = 0) erscheint, in Übereinstimmung mit irgendeinem dieser aufgelisteten Codewörter fortschreitet, hält der Befehlsdiskriminator 33 ein Stoppsignal STP2 im inaktiven Zustand und ein Haltesignal HLD im aktiven Zustand, wodurch der Escape-Detektor 32 im Empfangscontroller 30 inaktiv gehalten wird. Das heißt, so lange HLD aktiv ist, bleibt das Stoppsignal STP1 des Escape-Detektors 32 für die Eingangsschaltung 31 inaktiv.
  • Sobald die fortschreitende Bitsequenz in Übereinstimmung mit einem aufgelisteten ganzen Codewort ist, "weiß" der Befehlsdiskriminator 33, dass es sich bei der erschienenen Bitsequenz um einen der "ausgewählten" Befehle handelt, dessen letztes Bit gerade gefühlt wurde. Der Befehlsdiskriminator 33 aktiviert in diesem Fall ein Stoppsignal STP2. Das aktive Stoppsignal STP2 wird zum STP1-Ausgang des Escape-Detektors "durchgeleitet". Dies bewirkt, dass die Eingangsschaltung 31 über ihren Steuereingang RDY zurückgesetzt wird und das Signal RES somit auf "1" geht, so als ob das letzte Bit einer Escape-Sequenz gefühlt worden wäre. Somit wird die erste nachfolgende "1" in der Befehlsbitfolge wieder als Beginn eines neuen aktiven Befehls erkannt.
  • Stellt der Befehlsdiskriminator 33 während des Fühlens der Befehlsbits hingegen fest, dass die fortschreitende Bitsequenz keinem der aufgelisteten Codewörter mehr folgt, also die Menge der ausgewählten Befehle verlässt, "weiß" er, dass das begonnene Befehlcodewort keinen der ausgewählten Befehle sondern einen Befehl darstellen wird, dessen Ende anderweitig festgestellt werden muss. Hierzu übergibt der Befehlsdiskriminator 33 die weitere Beobachtung der Befehlsbit-Sequenz an den Escape-Detektor 32, indem er sein Ausgangssignal HLD deaktiviert. Hierdurch wird der Escape-Detektor 32 aktiviert und übernimmt selbst die Steuerung der Eingangsschaltung 31, genau so wie oben in Verbindung mit 3 beschrieben, indem er das Stoppsignal STP1 und damit die Rücksetzung des Signals RES auf "1" erst dann aktiviert, wenn er das Escape-Symbol "0000" in der Befehlsbitsequenz SB erkennt.
  • Die Decodierung der Befehle, also das Einrichten des jeweiligen Decodierpfades im Codebaum, erfolgt in jedem Fall genau so, wie es anhand der 3 beschrieben wurde.
  • Die Kombination des Escape-Detektors 32 mit dem Befehlsdiskriminator 33 gemäß der 4 bildet also einen Befehlsende-Detektor, der es einem seriellen Befehlscodierer erlaubt, ausgewählten Befehlscodewörtern schnell ein weiteres Befehlscodewort folgen zu lassen, ohne Einfügung eines Escape-Symbols. Es empfiehlt sich jedoch auch hier, von Seiten des Befehlscodieres jeweils ein Füllbit mit dem Binärwert "0" einzufügen, um genügend Zeit (eine Taktperiode) für die Rücksetzung des Decoders zu haben, nachdem der Befehlsdiskriminator 33 das Ende eines ausgewählten Befehlscodewortes erkannt hat. Am oberen Rand der 4 ist gezeigt, wie zwei Befehle nach dem beschriebenen Muster aufeinander folgen.
  • Die ausgewählten, im Befehlsdiskriminator 33 aufgelisteten Befehlscodewörter sollten nur nackte Befehle sein. Je mehr Befehle hierfür ausgewählt werden und je häufiger die ausgewählten Befehle gesendet werden, desto kürzer wird die mittlere Befehlsrate. Andererseits erhöht sich der Speicherbedarf für die Liste im Befehlsdiskriminator 33 mit der Anzahl und mit der Länge der aufgelisteten Codewörter. Es kann also vorteilhaft sein, nur kurze und/oder häufig auftretende Befehlscodewörter in die Liste der "ausgewählten Befehle" aufzunehmen.
  • Nachstehend wird anhand der 5 ein Beispiel für die schaltungstechnische Realisierung der in 3 und in 4 gezeigten Multiplexer MUX beschrieben. Im oberen Teil der 5 ist ein Schaltbild eines Multiplexers dargestellt, im unteren Teil der Figur ist ein Zeitdiagramm zur Erläuterung der Arbeitsweise der dargestellten Schaltung gezeichnet.
  • Der Multiplexer MUX nach 5 hat drei Eingangsanschlüsse zum Empfang des Freigabe/Rücksetz-Signals RES, der seriellen Befehlsbits SB und des Strobesignals STR. Eine im Multiplexer MUX enthaltene Registerschaltung 42 hat einen Dateneingang D, der zum Empfang der eingangsseitigen Befehlsbits SB angeschlossen ist, einen Rücksetzeingang R, der zum Empfang des eingangsseitigen Signals RES angeschlossen ist, und einen Takteingang T, der zum Empfang des eingangsseitigen Strobesignals STR angeschlossen ist. Die Registerschaltung 42 ist im rückgesetzten Zustand, wenn ihr R-Eingang eine logische "1" empfängt. In diesem Zustand sind die beiden Ausgänge EN-0 und EN-1 der Registerschaltung 42 auf dem Logikwert "0".
  • Die Flanken des Strobesignals STR geben den Takt für die Übertragung der Befehlsbits. Beim hier dargestellten Ausführungsbeispiel, auf welches die Erfindung jedoch nicht beschränkt ist, sind beide Flanken des Strobesignals (also die steigenden und die fallenden Flanken) "takt-aktiv". Die Frequenz der Strobesignal-Welle ist also gleich der Hälfte der Bitrate 1/TB der Befehlsbits (TB ist die Bitlänge) oder, anders ausgedrückt, die Befehlsbitrate 1/TB ist doppelt so hoch wie die Frequenz der Strobesignal-Welle ("doppelte Datenrate", abgekürzt: DDR). Im Diagramm der 5 ist das Strobesignal STR in der für den DDR-Betrieb üblichen Form ge zeichnet. Die Strobe-Flanken sind mit den Bitgrenzen der seriellen Befehlsbits SB ausgerichtet. Zur Abtastung eines Bits wird die Strobe-Flanke innerhalb der abtastenden Schaltung um die Setup-Zeit TS verzögert, so dass sie die Abtastung des betreffenden Bit erst dann aktiviert, wenn sich der Logikwert des Bit eingeschwungen hat. Die Einstellung der Setup-Zeit TS hat direkten Einfluss auf die Verzögerung des Multiplexers. Wenn die einzelnen aufeinander folgenden Multiplexer dicht beieinander liegen, wählt man kürzere Setup-Zeit. Bei größeren Entfernungen wird eine längere Setup-Zeit gewählt, um die Betriebssicherheit zu erhöhen.
  • Der Multiplexer MUX nach 5 hat eine erste Ausgangsschaltung 40 für den 0-Ausgang des Multiplexers und eine zweite Ausgangsschaltung 41 für den 1-Ausgang des Multiplexers. Jede dieser Ausgangsschaltungen 40, 41 hat einen Rücksetzeingang R, der mit dem RES-Eingangsanschluss des Multiplexers MUX verbunden ist, und einen Dateneingang D, der mit dem SB-Eingangsanschluss (Befehlsbit-Eingangsanschluss) des Multiplexers MUX verbunden ist, und einen Taktsteuereingang T. Die Ausgangsschaltungen 40 und 41 haben jeweils drei Ausgangsanschlüsse RES-0, SB-0, STR-0 bzw. RES-1, SB-1, STR-1. Die Strobesignale für die Ausgänge werden vorzugsweise an Ort und Stelle für jeden Ausgang neu erzeugt, z.B. mittels eines rückgekoppelten invertierenden Registers (nicht dargestellt), so dass die Kontinuität der Flanken gewährleistet ist.
  • Die weiteren Details des Multiplexers MUX nach 5 seien nachstehend anhand seiner Arbeitsweise beschrieben, und zwar anhand des Beispielfalles, dass die Folge der am Eingang ankommenden Zielbits die Sequenz "1001" ist. Gleichzeitig mit der Ankunft des ersten Zielbits "1" zum Zeitpunkt t1 geht RES von "1" (hoher Pegel im Diagramm der 5) auf "0" (niedriger Pegel), so dass dieses Zielbit mittels der zugeordneten Strobe-Flanke in die Registerschaltung 42 getaktet wird und der Ausgang EN-1 auf "1" geht, während der Ausgang EN-0 auf "0" bleibt. Die Registerschaltung 42 ist so ausgebildet, dass sie sich in diesem "1-Zustand" selbst verriegelt, so lange RES auf "0" bleibt. Der Übergang des Ausgangs EN-1 von "0" auf "1" erfolgt um TS verzögert, also zu einem Zeitpunkt t2 = t1 + TS, und stellt eine Strobesignal-Weiche 43 so ein, dass sie das eingangsseitige Strobesignal STR um TS verzögert an den Takteingang T der 1-Ausgangsschaltung 41 legt. Dies bewirkt, dass ab dem Zeitpunkt t3 = t1 + TS + TB das Rücksetzsignal RES zum Ausgangsanschluss RES-1 übertragen wird, das zweite und die folgenden Zielbits, also die Rest-Sequenz 001, zum Ausgangsanschluss SB-1 übertragen werden und die Strobesignalwelle zum Ausgangsanschluss STR-1 übertragen wird. Die Ausgangsanschlüsse der anderen Ausgangsschaltung 40 bleiben im rückgesetzten (inaktiven) Zustand: RES-0 bleibt auf "1", SB-0 bleibt dauerhaft auf "0", und STR-0 bleibt dauerhaft auf "0".
  • Falls das erste ankommende Befehlsbit eine "0" ist, verriegelt sich die Registerschaltung 42 im 0-Zustand, wodurch EN-0 auf "1" und EN-1 auf "0" geht, so dass ab dem Zeitpunkt t3 = t1 + TS + TB das Rücksetzsignal RES zum Ausgangsanschluss RES-0 übertragen wird, das zweite und die folgenden Zielbits zum Ausgangsanschluss SB-0 übertragen werden und die Strobesignalwelle zum Ausgangsanschluss STR-0 übertragen wird. Die Ausgangsanschlüsse der 1-Ausgangsschaltung 41 bleiben im rückgesetzten (inaktiven) Zustand: RES-1 bleibt auf "1", SB-1 bleibt dauerhaft auf "0", und STR-1 bleibt ebenfalls dauerhaft auf "0".
  • Der in 5 gezeigte Multiplexer MUX arbeitet also nach der Vorschrift, wie sie weiter oben unter (a) und (b) formuliert wurde. Alle Multiplexer des Decodier-Baumes sind gleich ausgebildet, so dass ein dem jeweils aktiven Ausgang eines Multiplexers nachgeordneter Multiplexer nur die jeweils verbliebenen Restbits der Zielbit-Sequenz empfängt und denjenigen seiner Ausgänge öffnet, der durch den Logikwert des ersten Bits dieser Restsequenz bestimmt ist. Somit wird die Zielbit-Sequenz von Verzweigung zu Verzweigung innerhalb des Baumes immer um ein Bit kürzer, bis mit dem letzten Zielbit das Ende des Pfades erreicht ist.
  • Das Signal RES wird zeitlich genau so wie die Befehlsbits SB mit den Flanken des Strobesignals STR durch den Decodierpfad geschleust, mit den gleichen zeitlichen Verzögerungen. Sobald RES wieder auf "1" geschaltet wird, ergeben sich schrittweise an den aufeinander folgenden Multiplexern jeweils wieder die gleichen Anfangsbedingungen wie vor dem Zeitpunkt t1. Infolge dieses Pipeline-Betriebs ist es unerheblich, mit welcher Verzögerung die Befehlsbits an das Ende des Decodierpfades gelangen, und am Eingang des Multiplexer-Baumes braucht mit der Erzeugung des Signals RES (und mit der Eingabe eines dann nachfolgenden Befehlscodewortes) nicht gewartet zu werden, bis die Befehlsbits das Ende des Decodierpfades erreicht haben.
  • Die vorstehend anhand der 2 bis 4 beschriebenen Ausführungsformen des seriellen Befehlsdecoders und seiner Komponenten, wie seines Empfangscontrollers 30 und seiner "Weichen"-Schaltungen (Multiplexer), sind nur Beispiele. Natürlich sind Abwandlungen oder alternative Ausführungsformen möglich, ohne den Gedanken der Erfindung zu verlassen. Einige Bespiele für mögliche Varianten werden nachstehend beschrieben.
  • Der Befehlsdecoder kann gewünschtenfalls auf den Empfang nackter Befehle (nur Zielinformation) beschränkt sein; eventuelle Stellinformationen müssen dann über andere Pins eingegeben werden (z.B. über Adresspins, wie an sich bekannt). Insbesondere in diesem Fall kann die im Befehlsdiskriminator 33 gespeicherte Liste alle Befehle als "ausgewählte Befehle" enthalten, so dass ein Escape-Symbol niemals notwendig ist und demzufolge der Escape-Decoder 32 ganz entfallen kann. Die Erzeugung eines HLD-Signals ist seitens des Befehlsdiskriminators 33 ist dann überflüssig, und der SPT2-Ausgang des Befehlsdiskriminators 33 kann direkt mit dem RDY-Eingang der Eingangsschaltung 31 verdrahtet werden.
  • Es ist auch möglich, einen oder mehrere Decodierpfade so auszubilden, dass sie Befehle übertragen, deren Bits mit einer Rate empfangen werden, die um einen ganzzahligen Divisor q niedriger ist als die Taktfrequenz CLK. Solche "verlangsamten" Befehle sind erforderlich, wenn sehr langsam arbeitende Schaltungen angesprochen werden sollen, z.B. Testmodus-Schaltungen, die nicht für hohe Frequenzen ausgelegt sind. Um einen oder mehrere Decodierpfade entsprechend auszubilden, kann einem Ausgang eines Multiplexers ein einfacher 1/q-Frequenzteiler nachgeschaltet werden, der nur jedes q-te Bit weitergibt. Die folgenden Zweige des Baumes arbeiten dann mit 1/q der Taktfrequenz CLK.
  • Wie bereits angedeutet, ermöglicht die Verwendung von längenvariablen Befehlscodes eine theoretisch unbegrenzte Erweiterung der Befehlsmenge, ohne die bestehende Befehlsstruktur ändern zu müssen. Um eine Erweiterung zu erleichtern, kann man im Baum des Decoders einen Ausgang an einem oder jeweils mehreren Multiplexern vorerst unbelegt lassen, um dort im Bedarfsfall weitere Verzweigungen zur Decodierung neuer (und entsprechende zu codierender) Befehle anschließen zu können. Eine Alternative wäre, den Decodierbaum a priori mit mehr Verzweigungen zu versehen, als für die Decodierung gegenwärtig gebrauchter Befehle erforderlich sind. Hierdurch ergeben sich gleichsam "Platzhalter" für neu einzuführende Befehle.
  • Teile des seriellen Befehlsdecoders können auch im Block 12 der internen Steuereinrichtung des Speicherbausteins (1) integriert sein, so etwa die in 3 gezeigten Operationsblöcke Op#.. und gewünschtenfalls auch einige oder alle der in 3 gezeigten Multiplexer.
  • Als Alternative zu Codes variabler Länge können für die seriellen Befehlscodewörter SB auch Codes fester Länge verwendet werden, insbesondere wenn nur nackte Befehle oder nur kombinierte Befehle zu decodieren sind. Man benötigt dann in keinem Fall ein Escape-Symbol, weil das Ende jedes Befehls durch Abzählen der Bits erkannt werden kann. Bei kombinierten Befehlen kann die Unterscheidung zwischen Zielinformation und Stellinformation anhand der Position der jeweiligen Bits innerhalb des kombinierten Codewortes erfolgen. Hierbei sind jedoch gewisse Einschränkungen hinsichtlich der Wortlänge und somit hinsichtlich der Vielfalt möglicher Operationen und möglicher Stellinformationen in Kauf zu nehmen.
  • Ferner sei erwähnt, dass der Speicherbaustein auch mehr als nur einen seriellen Befehlsanschluss aufweisen kann, wobei jedem dieser Anschlüsse ein gesonderter serieller Befehlsdecoder zuzuordnen wäre.
  • Schließlich sei bemerkt, dass ein Speichercontroller natürlich so ausgebildet sein muss, dass er die seriellen Befehle in einer Form sendet, die vom seriellen Befehlsdecoder des Speicherbausteins verstanden wird, also eindeutig decodiert werden kann. In manchen Fallen mag es aber zweckmäßig sein, die Codierung der seriellen Befehle abhängig von Kriterien zu wählen, die für den Speichercontroller wichtig sind. In solchen Fällen kann es beim Designer des Speichercontrollers liegen, eine für ihn günstige Codierung vorzugeben, nach welcher sich dann der Designer des Speicherbausteins zu richten hat. Gegenstand der Erfindung ist mithin auch ein Speichercontroller, der so ausgebildet ist, dass er nicht nur parallel-codierte Befehle sondern auch serielle Befehle in einer Codierung senden kann, die von einem erfindungsgemäß ausgebildeten seriellen Befehlsdecoder in einem Speicherbaustein decodierbar ist.
  • 10
    Speicherschaltung
    11
    Speicherzellenfeld
    12
    Speicher-Steuereinrichtung
    13
    Adressdecoder
    14
    Parallelbefehlsdecoder
    15
    serieller Befehlsdecoder
    16
    Taktsignalempfänger
    20
    Speichercontroller
    24
    Parallelbefehlscodierer
    25
    serieller Befehlscodierer
    30
    Empfangscontroller
    31
    Eingangsschaltung
    32
    Escape-Detektor
    33
    Befehlsdiskriminator
    40
    Multiplexer-Ausgangsschaltung
    41
    Multiplexer-Ausgangsschaltung
    42
    Registerschaltung
    43
    Strobesignal-Weiche
    ADR
    Adressbits
    CLK
    Taktsignal
    DAT
    Datenbits
    HLD
    Haltesignal
    MUX
    Verzweigungsweiche (Multiplexer)
    RES
    Rücksetz/Freigabe-Signal
    SB
    Serielle Befehlsbits
    STP
    Stoppsignal
    STR
    Strobesignal

Claims (28)

  1. Digitale RAM-Speicherschaltung (10) mit einer Vielzahl von Speicherzellen (11), Adressanschlüssen (A) zum Anlegen von Adressinformation zur Adressierung jeweils ausgewählter Speicherzellen, Datenanschlüssen (D) zum Ein- und Ausgeben der an den adressierten Speicherzellen einzuschreibenden bzw. ausgelesenen Speicherdaten, einer internen Steuereinrichtung (12), die auf Steuerbefehle abhängig von externen Befehlscodewörtern anspricht, um Operationen der Speicherschaltung einzuleiten, und einer Mehrzahl paralleler Befehlsanschlüsse (P1–P5) mit einem nachgeschalteten Parallelbefehlsdecoder (14) zum Empfang und zur Decodierung externer Mehrbit-Befehlscodewörter, die jeweils im Parallelformat sind, dadurch gekennzeichnet, dass zusätzlich zumindest ein serieller Befehlsanschluss (S) vorgesehen ist zum Empfang externer Befehlscodewörter jeweils als serielle Bitfolge (SB), und ein mit dem seriellen Befehlsanschluss verbundener serieller Befehlsdecoder (15) zur Decodierung der dort empfangenen Befehlscodewörter, und dass der serielle Befehlsdecoder (15) eine Baumschaltung mit Verzweigungsweichen (MUX) enthält, die von den Bits einer Zielinformation, welche die durchzuführende Operation identifiziert und innerhalb eines Befehlscodewortes enthalten ist, so eingestellt werden, dass sich ein Übertragungspfad zur Aktivierung der identifizierten Operation ergibt.
  2. Speicherschaltung nach Anspruch 1, dadurch gekennzeichnet, dass diejenigen Steuereingänge der internen Steuereinrichtung (12), über welche die am schnellsten auszuführenden Steuerbefehle angelegt werden, mit Ausgängen des Parallel- befehlsdecoders (14) verbunden sind, und dass diejenigen Steuereingänge der internen Steuerein richtung (12), über welche langsamer auszuführende Steuerbefehle angelegt werden, mit Ausgängen des seriellen Befehlsdecoders (15) verbunden sind.
  3. Speicherschaltung nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass der serielle Befehlsdecoder (15) ausgebildet ist zur Decodierung nackter Befehle, die nur eine Zielinformation enthalten, welche die durchzuführende Operation identifiziert.
  4. Speicherschaltung nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass der serielle Befehlsdecoder (15) ausgebildet ist zur Decodierung kombinierter Befehle, die in einem ersten Teil die Zielinformation enthalten und in einem zweiten Teil eine Stellinformation enthalten, welche einen Einstellparameter für die identifizierte Operation beschreibt.
  5. Speicherschaltung nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass der serielle Befehlsdecoder (15) zur Decodierung von Zielinformation variabler Wortlänge ausgebildet ist.
  6. Speicherschaltung nach Anspruch 5, dadurch gekennzeichnet, dass der serielle Befehlsdecoder (15) zur Decodierung von Zielinformation ausgebildet ist, die nach Art der Huffman-Codierung codiert ist.
  7. Speicherschaltung nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass der serielle Befehlsdecoder (15) ferner einen Detektor enthält (32), welcher die seriellen Befehlsbits (SB) fühlt und ein Rücksetzsignal aktiviert (RES = "1"), wenn er ein das Ende eines Befehlscodewortes anzeigendes Escape-Symbol ("0000") in der Folge der seriellen Befehlsbits (SB) fühlt.
  8. Speicherschaltung nach Anspruch 7, dadurch gekenn zeichnet, dass der serielle Befehlsdecoder (15) ferner einen Befehlsdiskriminator (33) enthält, der die gefühlten Bits jedes ankommenden Befehls mit einer gespeicherten Liste vergleicht, welche ausgewählte Befehlscodewörter enthält und der das Rücksetzsignal aktiviert, sobald die gefühlte Bitfolge mit einem der Codewörter der Liste übereinstimmt.
  9. Speicherschaltung nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass jede Verzweigungsweiche (MUX) eine Schaltungsanordnung (42, 43) aufweist, welche die Weiche entsprechend dem Logikwert des ersten Bits einer am Eingang ankommenden Sequenz von Bits der Zielinformation einstellt, die Weiche in dieser Einstellung verriegelt und nur die nachfolgenden Bits der Zielinformation zum selektierten Ausgang durchlässt.
  10. Speicherschaltung nach einem der Ansprüche 7 und 8 und nach Anspruch 9, dadurch gekennzeichnet, dass der Eingang der Baumschaltung auch das Rücksetzsignal empfängt und dass die Verzweigungsweichen das Rücksetzsignal durch den von ihnen hergestellten Übertragungspfad leiten, und dass jede Verzweigungsweiche auf das Rücksetzsignal anspricht, um die Verriegelung ihrer Einstellung zu lösen.
  11. Speichercontroller (20) mit Adressausgängen (A') zum Senden von Adressinformation zur Adressierung jeweils ausgewählter Speicherzellen in einer Speicherschaltung, Datenanschlüssen (D') zum Senden und Empfangen der an den adressierten Speicherzellen einzuschreibenden bzw. ausgelesenen Speicherdaten, und einem Parallelbefehlscodierer (24) mit einer Mehrzahl paralleler Befehlsausgänge (P1'–P5') zum Senden von Mehrbit-Befehlscodewörtern jeweils im Parallelformat an die Speicherschaltung, um Operationen der Speicherschaltung einzuleiten, dadurch gekennzeichnet, dass zusätzlich zumindest ein serieller Befehlscodierer (25) mit einem nachgeschalteten seriellen Befehlsausgang (S') vorgesehen ist zum Senden von Befehlscodewörtern jeweils als serielle Bitfolge (SB) an die Speicherschaltung, wobei eine in den seriellen Befehlscodewörtern enthaltene und die durchzuführende Operation identifizierende Zielinformation in einem Code dargestellt ist, der decodierbar ist durch eine Baumschaltung mit Verzweigungsweichen (MUX), die von den Bits der Zielinformation so eingestellt werden, dass sich ein Übertragungspfad zur Aktivierung der identifizierten Operation ergibt.
  12. Speichercontroller nach Anspruch 11, dadurch gekennzeichnet, dass der Parallelbefehlscodierer (24) zur Codierung der am schnellsten auszuführenden Befehle angeschlossen ist und dass der serielle Befehlscodierer (25) zur Codierung von langsamer auszuführenden Steuerbefehlen angeschlossen ist.
  13. Speichercontroller nach Anspruch 11 oder 12, dadurch gekennzeichnet, dass der serielle Befehlscodierer (25) ausgebildet ist zur Codierung nackter Befehle, die nur eine Zielinformation enthalten, welche die durchzuführende Operation identifiziert.
  14. Speichercontroller nach einem der Ansprüche 11 bis 13, dadurch gekennzeichnet, dass der serielle Befehlscodierer (25) ausgebildet ist zur Codierung kombinierter Befehle, die in einem ersten Teil die Zielinformation enthalten und in einem zweiten Teil eine Stellinformation enthalten, welche einen Einstellparameter für die identifizierte Operation beschreibt.
  15. Speichercontroller nach einem der Ansprüche 11 bis 14, dadurch gekennzeichnet, dass der serielle Befehlscodierer (25) ausgebildet ist zur Codierung der Zielinformationen der Befehle in Bitfolgen variabler Länge.
  16. Speichercontroller nach Anspruch 15, dadurch gekennzeichnet, dass der serielle Befehlscodierer (25) ausgebildet ist zur Codierung der Zielinformationen der Befehle nach Art der Huffman-Codierung.
  17. Speichercontroller nach Anspruch 15 oder 16, dadurch gekennzeichnet, dass der serielle Befehlscodierer am Ende jedes Befehls ein Escape-Symbol in Form einer Bitsequenz einfügt, die in keinem der Befehlscodewörter vorkommt.
  18. Speichercontroller nach Anspruch 15 oder 16, dadurch gekennzeichnet, dass der serielle Befehlscodierer (25) am Ende der Bitfolge jedes Befehls aus einer ausgewählten Menge von Befehlen ein Füllbit einfügt und am Ende jedes anderen Befehls ein Escape-Symbol in Form einer Bitsequenz einfügt, die in keinem der Befehlscodewörter vorkommt.
  19. Speichercontroller nach Anspruch 17 oder 18, dadurch gekennzeichnet, dass der serielle Befehlscodierer (25) nach jedem Escape-Symbol ein Füllbit einfügt.
  20. Kombination eines Speichercontrollers nach Anspruch 11 mit mindestens einer Speicherschaltung nach Anspruch 1.
  21. Kombination eines Speichercontrollers nach Anspruch 12 mit mindestens einer Speicherschaltung nach Anspruch 2.
  22. Kombination eines Speichercontrollers nach Anspruch 13 mit mindestens einer Speicherschaltung nach Anspruch 3.
  23. Kombination eines Speichercontrollers nach Anspruch 14 mit mindestens einer Speicherschaltung nach Anspruch 4.
  24. Kombination eines Speichercontrollers nach Anspruch 15 mit mindestens einer Speicherschaltung nach Anspruch 5.
  25. Kombination eines Speichercontrollers nach Anspruch 16 mit mindestens einer Speicherschaltung nach Anspruch 6.
  26. Kombination eines Speichercontrollers nach Anspruch 17 mit mindestens einer Speicherschaltung nach Anspruch 7.
  27. Kombination eines Speichercontrollers nach Anspruch 18 mit mindestens einer Speicherschaltung nach Anspruch 8.
  28. Kombination eines Speichercontrollers nach Anspruch 19 mit mindestens einer Speicherschaltung nach Anspruch 7 oder Anspruch 8.
DE102004033387A 2004-07-09 2004-07-09 Digitale RAM-Speicherschaltung mit erweiterter Befehlsstruktur Expired - Fee Related DE102004033387B4 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE102004033387A DE102004033387B4 (de) 2004-07-09 2004-07-09 Digitale RAM-Speicherschaltung mit erweiterter Befehlsstruktur
US11/178,915 US7549001B2 (en) 2004-07-09 2005-07-11 Digital RAM memory circuit with an expanded command structure

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102004033387A DE102004033387B4 (de) 2004-07-09 2004-07-09 Digitale RAM-Speicherschaltung mit erweiterter Befehlsstruktur

Publications (2)

Publication Number Publication Date
DE102004033387A1 DE102004033387A1 (de) 2006-02-02
DE102004033387B4 true DE102004033387B4 (de) 2008-06-05

Family

ID=35530092

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102004033387A Expired - Fee Related DE102004033387B4 (de) 2004-07-09 2004-07-09 Digitale RAM-Speicherschaltung mit erweiterter Befehlsstruktur

Country Status (2)

Country Link
US (1) US7549001B2 (de)
DE (1) DE102004033387B4 (de)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7480184B2 (en) 2007-01-07 2009-01-20 International Business Machines Corporation Maximum likelihood statistical method of operations for multi-bit semiconductor memory
DE102007051839B4 (de) 2007-10-30 2015-12-10 Polaris Innovations Ltd. Kontrollschaltung, Speichervorrichtung mit einer Kontrollschaltung und Verfahren zum Durchführen eines Schreibkommandos bzw. zum Betrieb einer Speichervorrichtung mit einer Kontrollschaltung
WO2011056729A2 (en) 2009-11-05 2011-05-12 Rambus Inc. Interface clock management
TWI421871B (zh) * 2009-11-27 2014-01-01 Macronix Int Co Ltd 定址一記憶積體電路之方法與裝置
US20120239887A1 (en) * 2011-03-16 2012-09-20 Advanced Micro Devices, Inc. Method and apparatus for memory control
KR102300890B1 (ko) * 2015-06-17 2021-09-13 에스케이하이닉스 주식회사 반도체 장치 및 그의 구동 방법
US9672878B1 (en) * 2016-05-10 2017-06-06 Dialog Semiconductor (Uk) Limited Memory circuit
DE102018112816A1 (de) * 2018-05-29 2019-12-05 Infineon Technologies Ag Adresscodierter Zugriff auf Speicher
US10997097B2 (en) * 2019-06-04 2021-05-04 Western Digital Technologies, Inc. Enabling high speed command address interface for random read
US11841764B2 (en) * 2021-12-17 2023-12-12 Infineon Technologies LLC Circuit and method for reading ECC from memory

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5357621A (en) * 1990-09-04 1994-10-18 Hewlett-Packard Company Serial architecture for memory module control
US20010008005A1 (en) * 1998-11-03 2001-07-12 Stevens William A. Method and apparatus for configuring and initializing a memory device and a memory channel

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5724554A (en) * 1994-11-30 1998-03-03 Intel Corporation Apparatus for dual serial and parallel port connections for computer peripherals using a single connector
JP3104646B2 (ja) * 1997-06-04 2000-10-30 ソニー株式会社 外部記憶装置
US6405280B1 (en) * 1998-06-05 2002-06-11 Micron Technology, Inc. Packet-oriented synchronous DRAM interface supporting a plurality of orderings for data block transfers within a burst sequence
JP4682485B2 (ja) * 2001-09-06 2011-05-11 株式会社デンソー メモリ制御装置及びシリアルメモリ
US8427494B2 (en) * 2004-01-30 2013-04-23 Nvidia Corporation Variable-length coding data transfer interface

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5357621A (en) * 1990-09-04 1994-10-18 Hewlett-Packard Company Serial architecture for memory module control
US20010008005A1 (en) * 1998-11-03 2001-07-12 Stevens William A. Method and apparatus for configuring and initializing a memory device and a memory channel

Also Published As

Publication number Publication date
DE102004033387A1 (de) 2006-02-02
US7549001B2 (en) 2009-06-16
US20060018165A1 (en) 2006-01-26

Similar Documents

Publication Publication Date Title
DE68925889T2 (de) Kontrollvorrichtung in reihe
EP0850481B1 (de) Einrichtung zum sprungweisen adressieren bestimmter leitungen eines seriell arbeitenden digitalen speichers
DE3686436T2 (de) Speichersystem mit hoher leistung.
DE69637320T2 (de) Methode und Apparat für Vermittlung, Mehrfachsendeverfahren, Multiplexierung und Demultiplexierung einer ATM-Zelle
DE69810132T2 (de) Multiport drams mit internen cache-speichern
CH634939A5 (de) Kanaldatenpufferanordnung in einer datenverarbeitungsanlage.
DE69829039T2 (de) Signalverzögerungsvorrichtung zur Verwendung in Halbleiterspeichervorrichtung für verbesserte Operation in Burst-Betriebsart
DE102004033387B4 (de) Digitale RAM-Speicherschaltung mit erweiterter Befehlsstruktur
DE102005053625A1 (de) Speichermodul mit einer Mehrzahl von Speicherbausteinen
DE2364254B2 (de) Schaltungsanordnung fuer datenverarbeitende geraete
DE69635844T2 (de) Datenübertragungssystem, um Daten synchron mit einem Systemtakt zu übertragen und synchroner Halbleiterspeicher
DE102006048206A1 (de) Speichersysteme und Verfahren zum Betreiben der Speichersysteme
DE3148099C2 (de) Anordnung zum Erkennen einer Digitalfolge
DE69122860T2 (de) Multiplexer
DE69126514T2 (de) Serieller Speicher
DE2415600C2 (de)
DE69821691T2 (de) Assoziatives Speichersystem
DE10201865B4 (de) Speichervorrichtung mit einer Vorauslesedaten-Ordnung
WO2004025493A1 (de) Integrierter schaltkreis mit umschaltung durch multiplexer zwischen normalbetrieb und testbetrieb
DE69125815T2 (de) Anordnung und Verfahren zu einer variablen Datenzuweisung
DE69121809T2 (de) Multiportspeicher
DE69227144T2 (de) Programmierbare logische Einheit
DE69024576T2 (de) Betriebsartenwählerschaltung
DE69622138T2 (de) Mit einer Spaltenadressierungsschaltung ausgestattete Halbleiterspeicherschaltung mit Schieberegister
DE102006009027A1 (de) Speicheranordnung

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8364 No opposition during term of opposition
8327 Change in the person/name/address of the patent owner

Owner name: QIMONDA AG, 81739 MUENCHEN, DE

R081 Change of applicant/patentee

Owner name: INFINEON TECHNOLOGIES AG, DE

Free format text: FORMER OWNER: QIMONDA AG, 81739 MUENCHEN, DE

Owner name: POLARIS INNOVATIONS LTD., IE

Free format text: FORMER OWNER: QIMONDA AG, 81739 MUENCHEN, DE

R081 Change of applicant/patentee

Owner name: POLARIS INNOVATIONS LTD., IE

Free format text: FORMER OWNER: INFINEON TECHNOLOGIES AG, 85579 NEUBIBERG, DE

R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee