DE68925631T2 - Speicheranordnung mit automatisch variabler Verschachtelung - Google Patents
Speicheranordnung mit automatisch variabler VerschachtelungInfo
- Publication number
- DE68925631T2 DE68925631T2 DE68925631T DE68925631T DE68925631T2 DE 68925631 T2 DE68925631 T2 DE 68925631T2 DE 68925631 T DE68925631 T DE 68925631T DE 68925631 T DE68925631 T DE 68925631T DE 68925631 T2 DE68925631 T2 DE 68925631T2
- Authority
- DE
- Germany
- Prior art keywords
- memory
- modules
- module
- interleaving
- address
- 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
Links
- 230000004044 response Effects 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000000034 method Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0607—Interleaved addressing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Error Detection And Correction (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Executing Machine-Instructions (AREA)
Description
- Diese Erfindung betrifft verbesserte Einrichtungen und Verfahren zum Zugreifen auf in einem Computerspeicher gespeicherte Daten und insbesondere verbesserte Einrichtungen und Verfahren zum Bereitstellen einer Verschachtelung für ein System, das mehrere Speichermodule verwendet.
- Es ist im Stand der Technik bekannt, daß in einem Computersystem, das mehrere Speichermodule verwendet, die Geschwindigkeit des Speicherzugriffs durch Anordnen sequentieller Speicheradressen zum Speichern in unterschiedlichen Modulen und Zugreifen auf die Module in verschachtelter Weise signifikant erhöht werden kann. Als Ergebnis kann die zum Zugriff auf eine Folge von Speicherplätzen erforderliche Gesamtzeit deutlich verringert werden, da mehrere Speicherzugriffe durch einen Hochgeschwindigkeitsdatenprozessor überlappen können. 2-Weg- und 4-Weg-Verschachtelung sind gebräuchlich. Weitergehende Informationen über solches Verschachteln können in Encyclopedia of Computer Science and Engineering, Anthony Ralston, Herausgeber, zweite Ausgabe, Seite 791 - 792 gefunden werden.
- In Computer Design, Vol. 24, Nr.15, November 1985, Seite 93 - 96, 98 und 100, welche den nächstkommenden Stand der Technik bildet, von dem die Erfindung ausgeht, ist eine weitere Speicherverschachtelungsvorrichtung zum Bereitstellen variabel verschachtelter Zugriffe auf Speicheradressen in einem Computersystem offenbart, wobei das Gerät mehrere Speicherplatinen umfaßt, eine Hardware- Speichersteuerung zum selektiven Freigeben und Adressieren selektierter Speichermodule in variabel verschachtelter Weise; dabei ist die Steuerung in Abhängigkeit einer aufgerufenen Adresse in der Lage, eine Platinenselektionslogik freizugeben, welche eine Speicherbausteinadresse enthält, die der aufgerufenen Adresse entspricht, und zum Ableiten einer der aufgerufenen Adresse entsprechenden Speicherbausteinadresse. Die höchste Ebene der Speicherverschachtelung wird gemäß der aktuellen Speichergröße selektiert, abhängig davon, wieviele Speicherplatinenpaare verfügbar sind; dabei können verschiedene Ebenen der Verschachtelung gleichzeitig für verschiedene Speichermodule verwendet werden. Das System ist dynamisch, d.h., die Steuerungslogik überprüft automatisch das Verschachtelungsschema, wenn sich die Maschinenkonfiguration ändert.
- Ein bei gegenwärtig bekannten verschachtelten Speicherzugriffssystemen vorliegendes Problem ist, daß die Rasterung der Verschachtelung vorbestimmt und festgelegt ist. Wenn zusätzliche Module hinzugefügt werden, müssen diese somit in Vielfachen der Verschachtelung hinzugefügt werden. Wenn z.B. eine 4-Weg- Verschachtelung angewendet wird, sind zusätzliche Module als Vielfaches von vier hinzuzufügen. Dies kann für einen Kunden teuer werden, der gegenwärtig nur ein zusätzliches Modul benötigt. Andererseits verliert ein System mit acht Speichermodulen die Hälfte seines Speichers, wenn ein Modul ausfällt. Dieses Problem wird ergänzt durch die Tatsache, daß heute Speichermodule in einer Packung mit mehreren Modulen bereitgehalten werden, vier Module pro Packung sind typisch. Somit ist in einem System mit fester Verschachtelung ein gesamtes Mehrfachmodulpacket auszutauschen, auch wenn nur ein Modul versagt.
- Es ist eine Aufgabe der vorliegenden Erfindung, eine Speicherverschachtelungsvorrichtung anzugeben, mit einer Speicheradressensteuerung mit signifikanten Vorteilen bezogen auf die Geschwindigkeit, die Einfachheit und die Ökonomie der Gestaltung.
- Um die vorstehende Aufgabe zu verwirklichen, wird erfindungsgemäß eine Speicherverschachtelungsvorrichtung zur Verwendung in einem Speichersystem angegeben, mit:
- mehreren adressierbaren Speichermodulen; und
- einer Speicheradressenteuerung zum selektiven Freigeben und Adressieren selektierter Speichermodule in variabel verschachtelter Weise als Reaktion auf von dem Computer empfangene Speicheradressen, wobei jede Speicheradresse mehrere Stellen einschließlich einer signifikantesten Stelle umfaßt, wobei die Speicheradressensteuerung verschiedene Verschachtelungsfaktoren für verschiedene Speichermodule abhängig von der Anzahl der verfügbaren Module bereitstellt und automatisch die für die Module vorgesehenen Verschachtelungsfaktoren in Abhängigkeit von der Anzahl der Module variiert; dadurch gekennzeichnet, daß
- die Speicheradressensteuerung gleichzeitig mehrfache Verschachtelung und keine Verschachtelung zum Ermöglichen der Verwendung aller verfügbaren Module vorsieht und beinhaltet:
- - einen Dekodierer, welcher auf die Anzahl der verfügbaren Module und die signifikanteste Stelle einer angelegten Speicheradresse zum Erzeugen des Verschachtelungsfaktors reagiert, der auf das die Speicheradresse enthaltende bestimmte Modul anwendbar ist,
- - eine Modulselektionslogik, die auf den Verschachtelungsfaktor und vorbestimmte Stellen der Speicheradresse zum Freigeben des bestimmten Modules reagiert, und
- - eine Moduladressenschaltung, die auf den Verschachtelungsfaktor und vorbestimmte Stellen der Speicheradresse zum Zugreifen auf die Moduladresse in dem der Speicheradresse entsprechenden Modul reagiert.
- Die Implementation eines solchen Dekodierers, einer solchen Modulselektionslogik und einer solchen Moduladressenschaltung in der Speicheradressensteuerung bietet signifikante Vorteile hinsichtlich der Geschwindigkeit ebenso wie der Einfachheit und der Wirtschaftlichkeit der Gestaltung der Speicheradressensteuerung.
- Weitere vorteilhafte Ausführungsformen sind durch die Unteransprüche gekennzeichnet.
- Fig. 1 ist ein vereinfachtes elektrisches Blockschaltbild eines die Speicherverschachtelung anwendenden bekannten Systems;
- Fig. 2 ist eine Reihe von Graphen, welche die Wirkungsweise aus Fig. 1 illustrieren;
- Fig. 3 ist ein vereinfachtes elektrisches Blockschaltbild, das eine besonders bevorzugte Ausführungsform eines erfindungsgemäßen Speicher- systems mit variabler Verschachtelung darstellt;
- Fig. 4 ist ein vereinfachtes elektrisches Blockschaltbild, das eine bevorzugte Ausführungsform der Speicheradressensteuerung in Fig. 3 darstellt;
- Fig. 5 ist eine Darstellung der Weise, in welcher der Verschachtelungsfaktor des die angesprochene Speicheradresse enthaltenden Modules in der bevorzugten Ausführungsform aus Fig. 4 bestimmt wird; und
- Fig. 6 istein Flußdiagramm der Wirkungsweise der bevorzugten Ausführungsform aus Fig. 4.
- Gleiche Bezugszeichen bezeichnen in den Figuren der Zeichnungen gleiche Elemente.
- In Fig. 1 ist ein vereinfachtes elektrisches Blockschaltbild dargestellt, das eine typische Weise zeigt, in welcher die Verschachtelung konventionell für acht Speichermodule M0, M1, M2, M3, M4, M5, M6 und M7 vorgesehen ist, welche über eine Speichermodulsteuerung 17 und einen Speicherbus 19 an einen Datenprozessor (DP) 15 angeschlossen sind (die Speichermodulsteuerung 17 kann in dem Datenprozessor 15 enthalten sein). Fig. 1 zeigt z.B. eine 4-Weg-Verschachtelungsanordnung, in welcher aufeinanderfolgende Worte in verschiedenen Modulen gespeichert sind. Die typische konventionelle Wirkungsweise ist derart, daß Datenprozessoradressanforderungen für aufeinanderfolgende Worte an die Speicheradressensteuerung 17 abgegeben werden, welche wiederum in jedem Zyklus ein anderes Speichermodul freigibt und geeignet adressiert. Somit kann auf aufeinanderfolgende Worte in aufeinanderfolgenden Zyklen zugegriffen werden, ohne einige Zyklen zu warten, die typisch zum Zugriff auf ein Speichermodul erforderlich sind. Dies ist durch die Graphen in Fig. 2 dargestellt, welche den Datenprozessor (DP) zeigt, der aufeinanderfolgende Worte A, B, C und D jeweils aus den Speichermodulen M0, M1, M2 und M3 während aufeinanderfolgender Zyklen anfordert.
- In einer konventionellen 4-Weg-Speicherverschachtelungsanordnung, wie in Fig. 1 dargestellt, müssen zusätzliche Speichermodule in Vierergruppen zugefügt werden, da eine Variation der Verschachtelung nicht vorgesehen ist. Dies ist erforderlich, auch wenn nur ein Speichermodul benötigt wird. Weiterhin wird das Versagen eines Speichermodules die Verwendung der zugehörigen drei Speichermodule verhindern.
- Fig. 3 zeigt die grundlegende Weise, in welcher eine automatisch variable Verschachtelung mehrerer Speichermodule erfindungsgemäß vorgesehen ist. Fig. 3 zeigt eine Anordnung aus sieben Speichermodulen M0, M1, M2, M3, M4, M5 und M6, wobei die ersten vier Module M0, M1, M2 und M3 eine 4-Weg-Verschachtelung aufweisen, die nächsten zwei Module M4 und M5 eine 2-Weg-Verschachtelung und das letzte Modul M6 eine 1-Weg-Verschachtelung (das ist keine Verschachtelung) aufweisen. Daher versteht es sich, daß die spezielle vorgesehene Verschachtelung abhängig von der Anzahl der vorgesehenen Speichermodule variabel ist. Wenn z.B. neun Speichermodule vorgesehen sind, werden die ersten vier Module und die zweiten vier Module eine 4-Weg-Verschachtelung aufweisen und das verbleibende Speichermodul wird nicht verschachtelt.
- Der Datenprozessor 15 stellt typisch eine absolute Speicheradresse für die Speicheradressensteuerung 17 bereit. Diese absolute Adresse liegt im Bereich von Null bis zur für das System verfügbaren Maximaladresse, wie sie durch die Anzahl der betriebenen Speichermodule bestimmt ist. Wie es konventionell während Initiahsierungsoperationen, welche gewöhnlich dem Einschalten folgen, der Fall ist, bestimmt der Datenprozessor 15 die Identität und die Gesamtzahl der verwendbaren Speichermodule in dem System. Zum Zweck dieser Beschreibung wird angenommen, daß alle sieben Speichermodule M0, M1, M2, M3, M4, M5 und M6 als betriebsbereit gefunden wurden. Es ist erkennbar, daß die in Fig. 3 dargestellte Siebenmodulanordnung das Ergebnis eines Versagens eines Modules in einer Achtmodulanordnung sein kann.
- Fig. 4 zeigt eine bevorzugte Weise zum Implementieren der Speicheradressensteuerung 17 in Fig. 3, um eine Speichermodulfreigabe und Adressierung in einem erfindungsgemäßen automatisch variablen Speicherverschachtelungssystem bereitzustellen. Für die hier betrachtete, insbesonders bevorzugte Ausführungsform aus Fig. 4 wird angenommen, daß das in Fig. 3 gezeigte System in der Lage ist, zwischen 1 und 16 Speichermodulen zu verwenden, wobei jedes Speichermodul Speicher für OF FF FF Worte (Adressnotation) bereitstellt, was 0000 1111 1111 1111 1111 1111 Worten (binäre Notation) oder 1.048.575 Worten (dezimale Notation) entspricht. Die verfügbare Gesamtspeicherkapazität beträgt, wenn alle 16 Module vorhanden sind, somit FF FF FF Worte (Adressnotation) oder 16.777.215 Worte (dezimale Notation).
- Wie in Fig. 4 gezeigt, wird durch den Datenprozessor 15 eine absolute Speicheradresse A0-A5 angegeben, die eine bestimmte Wortadresse anzeigt, die in einem der Module M0-M6 enthalten ist. Für das angenommene System aus Fig. 3 reicht diese absolute Speicheradresse A0-A5 von 0 bis 5F FF FF (Adresse) und wird repräsentiert durch sechs Adresstellen A5, A4, A3, A2, A1 und A0, wobei A0 die am wenigsten signifikante Adresstelle ist und A5 die signifikanteste Adresstelle ist. Wie in Fig. 4 gezeigt, wird die signifikanteste Stelle A5 der absoluten Speicheradresse A0-A5 zusammen mit einem von dem Datenprozessor bereitgestellten Signal N, das die Anzahl der betreibbaren Speichermodule in dem System anzeigt, an einen Dekodierer 21 abgegeben. Wie vorstehend erwähnt, ist der Wert von N (welcher für die Ausführungsform in Fig. 3 sieben ist) in konventioneller Weise durch den Datenprozessor 15 während der Initialisierung bestimmt.
- Der Zweck des Dekodierers 21 in Fig. 4 ist es, für die Anzahl der betreibbaren Module N den Verschachtelungsfaktor n (4-Weg-Verschachtelung, 2-Weg-Verschachtelung oder 1-Weg-Verschachtelung) zu bestimmen, der auf das bestimmte Speichermodul anwendbar ist, welches die Adresse enthält, die der angelegten absoluten Speicheradresse A0-A5 entspricht. Der Dekodierer 21 ist auf der Basis der Darstellung in Fig. 5 implementiert, welche den Verschachtelungsfaktor n durch Verwenden der signifikantesten Adresstelle A5 (das sind die höchsten vier binären Bits) der absoluten Adresse (vertikale Achse) und der durch den Datenprozessor 15 (Fig. 3) bestimmten Anzahl der betreibbaren Module N (horizontale Achse) identifiziert. Für das z.B. in Fig. 3 gezeigte 7-Modulsystem, für welches N = 7 ist, resultiert eine angelegte absolute Speicheradresse 5000 09 (Adresse) mit einer signifikantesten Adresstelle A5 = 5 in der Darstellung von Fig. 5 im Erkennen eines Verschachtelungsfaktors von n = 2. Als anderes Beispiel resultiert, wenn das System auf 9 Module erweitert ist, die gleiche absolute Speicheradresse von 50 00 09 angelegt wird und die signifikanteste Adresstelle wiederum A5 = 5 ist, während N jetzt N = 9 ist, in einem Verschachtelungsfaktor von n = 4 gegenüber n = 2 in einem 7-Modulsystem.
- Als nächstes sorgt die Speicheradressensteuerung 17 aus Fig. 4 für das Bestimmen des bestimmten der sieben Speichermodule M0 bis M6 in dem System aus Fig. 3, welches die Adresse enthält, die der angelegten absoluten Speicheradresse A0-A5 entspricht. Wie gezeigt, wird dies verwirklicht durch Anlegen eines Signals, das dem Verschachtelungsfaktor n (durch den Dekodierer 21 bestimmt) an eine Modulselektionslogik 23 zusammen mit den drei signifikantesten Bits B1, B2 und B3 der signifikantesten Adresstelle A5 der absoluten Speicheradresse A0-A5 und der zwei am wenigsten signifikanten Bits B0 und B1 der am wenigsten signifikanten Adresstelle A0 der absoluten Speichermoduladresse A0-A5 entspricht. Wie bekannt ist, entspricht jede Adresstelle vier binären Bits, welche hier als B0, B1, B2 und B3 bezeichnet sind, wobei B0 das am wenigsten signifikante Bit ist. Die Selektionslogik 23 wirkt in Abhängigkeit von diesen angelegten Signalen, um ein Modulfreigabesignal 5 an den Speicherbus 19 zum Freigeben des einen besonderen der Module M0 bis M6 bereitzustellen, welches die der angelegten absoluten Speicheradresse A0-A5 entsprechende Adresse enthält.
- Die Selektionslogik 23 ist insbesondere mit der folgenden Wirkungsweise implementiert:
- (1) Wenn n = 4 (4-Weg-Verschachtelung) oder n = 2 (2-Weg-Verschachtelung) ist, wird das selektierte Speichermodul bestimmt durch geeignetes Verknüpfen der Bits B0A0 und B1A0 der Adresstelle A0 mit den Bits B3A5 und B2A5 der Adresstelle A5. Für N = 7 und eine absolute Adresse von 50 00 09 ist z.B. der Verschachtelungsfaktor n = 2 (siehe Fig. 5) und A0 = 9 (B0A0 = 1 und B1A0 = 0) und A5 = 5 (mit B2A5 = 1 und B3A5 = 0). Somit erzeugt das Verknüpfen der Bits B0A0 und B1A0 von A0 mit B2A5 und B3A5 von A5 ein Modulfreigabesignal S = B3A5B2A5B1A0B0A0 = 0101, was dezimal 5 ist. Somit wird für eine absolute Adresse von 500009 in einem System mit N = 7 ein Freigabesignal 5 = 5 erzeugt, welches im Freigeben des fünften Speichermodules resultiert, welches M4 in Fig. 3 ist.
- (2) Wenn n = 1 ist (keine Verschachtelung oder 1-Weg-Verschachtelung), wird das selektierte Speichermodul einfach durch die Adresstelle A5 bestimmt. Für ein System N = 7 z.B. und einer absoluten Adresse von 7001A2 ist der Verschachtelungsfaktor 1(s. Figur 5) und A5 = 7. Somit ist S = A5 = 7, was im Freigeben des siebten Speichermoduls M6 in Fig. 3 resultiert.
- Nachdem beschrieben ist, wie das Speichermodul, welches die Adresse, die der absoluten Adresse entspricht, enthält, freigegeben wird, wird jetzt beschrieben, wie die zum Ansprechen dieses freigegebenen Modules benutzte Moduladresse Am aus der angelegten absoluten Speicheradresse A0-A5 bestimmt wird. Dies wird in der bevorzugten Implementation aus Fig. 4 verwirklicht durch Anlegen der fünf am wenigsten signifikanten Adresstellen A0-A4 und der zwei am wenigsten signifikanten Bits B1A5 und B0A5 der Adresstelle A5 zusammen mit dem Verschachtelungsfaktor n (durch den Dekodierer 21 bereitgestellt) an eine Moduladressenschaltung 25, welche in Abhängigkeit davon eine Moduladresse Am für das freigegebene Modul über den Speicherbus 19 bereitstellt. Die besondere Wirkungsweise der Moduladressenschaltung 25 ist wie folgt:
- (1) Für n = 1 (1-Weg- oder keine Verschachtelung) bilden die fünf am wenigsten signifikanten Adresstellen A0-A4 die Moduladresse Am. Wenn z.B. die sechsstellige absolute Adresse 7001A2 ist, ist die Moduladresse Am 001A2.
- (2) Für n = 2 (2-Weg-Verschachtelung) wird die Moduladresse Am abgeleitet durch geeignetes Verknüpfen der vier Adresstellen A4, A3, A2 und A1 mit den drei signifikantesten Bits B3A0, B2A0 und B1A0 der Adresstelle A0 und dem am wenigsten signifikanten Bit B0A5 der Adresstelle A5. Dieses erzeugt eine Moduladresse Am = A4, A3, A2, A1, B3A0, B2A0, B1A0, B0A5. Wenn die sechsstellige angelegte absolute Adresse 400009 ist, ist somit die Moduladresse Am 00008.
- (3) Für n = 4 (4-Weg-Verschachtelung) wird die Moduladresse Am abgeleitet durch geeignetes Verknüpfen der vier Adresstellen A4, A3, A2 und A1 mit den zwei signifikantesten Bits B3A0 und B2A0 der Adresstelle A0 und der zwei am wenigsten signifikanten Bits B1A5 und B0A5 der Adresstelle A5. Dies erzeugt eine Moduladresse Am = A4, A3, A2, A1, B3A0, B2A0, B1A5, B0A5. Wenn die sechsstellige absolute Adresse 50B2F7 ist, ist somit die Moduladresse Am 0B2F5.
- Das Ableiten des Modulfreigabesignals S und der Moduladresse Am durch geeignetes Verknüpfen der Adressbits, wie oben beschrieben, ist vorteilhaft, da es einfach, ökonomisch und schnell ausgeführt werden kann. Während ein solches Verknüpfen einen Bereich von Wortadressen erzeugt, der auf jedes der Module M0- M6 in Fig. 3 zeigt, versteht es sich, daß die spezielle Organisation der Wortpositionen in jedem Modul von seinem Verschachtelungsfaktor abhängt. Dies ist jedoch nicht von praktischer Bedeutung, da ausgenommen bei der 1-Weg-Verschachtelung (d.h. keine Verschachtelung) aufeinanderfolgende Worte in verschiedenen Modulen sein werden, so daß die Vorteile der Verschachtelung verwirklicht werden können.
- Die Verknüpfungen und andere vorstehend beschriebene Operationen der Speicheradressensteuerung 17 in Fig. 4 werden in dem Flußdiagramm in Fig. 6 zusammengefaßt.
- Obwohl die vorliegende Erfindung in Verbindung mit insbesondere bevorzugten Ausführungsformen der Erfindung beschrieben wurde, versteht es sich, daß verschiedene Modifikationen in Konstruktion, Anordnung und Verwendung ausgeführt werden können. Z.B. geht aus dem Flußdiagramm in Fig. 6 hervor, daß die Erfindung durch Verwenden von Software ebenso wie von Hardware implementiert werden kann.
Claims (7)
1. Speicherverschachtelungsvorrichtung zur Verwendung in einem
Computersystem, mit:
mehreren adressierbaren Speichermodulen (M0, ..., M6); und
einer Speicheradressensteuerung (17) zum selektiven Freigeben und Adressieren
selektierter Speichermodule (M0, ..., M6) in variabel verschachtelter Weise als
Reaktion auf von dem Computer empfangene Speicheradressen (A0-A5), wobei
jede Speicheradresse (A0-A5) mehrere Stellen (A0, ..., A5) einschließlich einer
signifikantesten Stelle (A5) umfaßt, wobei die Speicheradressensteuerung (17)
verschiedene Verschachtelungsfaktoren (n) für verschiedene der Speichermodule
(M0, ..., M6) bereitstellt, von der Anzahl (N) der verfiigbaren Module (M0, ..., M6)
abhängig und automatisch die für die Module (M0, ..., M6) vorgesehenen
Verschachtelungsfaktoren (n) in Abhängigkeit von der Anzahl (N) der Module (M0,
M6) variiert;
dadurch gekennzeichnet, daß
die Speicheradressensteuerung (17) gleichzeitig mehrfache Verschachtelung und
keine Verschachtelung zum Ermöglichen der Verwendung allerverfügbaren Module
(M0, ..., M6) vorsieht und beinhaltet:
- einen Dekodierer (21), welcher auf die Anzahl (N) der verfügbaren Module (M0,
M6) und die signifikanteste Stelle (A5) einer angelegten Speicheradresse
(A0-A5) zum Erzeugen des Verschachtelungsfaktors (n) reagiert, der auf das
die Speicheradresse (A0-A5) enthaltende bestimmte Modul anwendbar ist,
- eine Modulselektionslogik (23), die auf den Verschachtelungsfaktor (n) und
vorbestimmte Stellen (A0, ..., A5) der Speicheradresse (A0-A5) zum Freigeben
des bestimmten Modules reagiert, und
- eine Moduladressenschaltung (25), die auf den Verschachtelungsfaktor (n) und
vorbestimmte Stellen (A0...., A5) der Speicheradresse (A0-A5) zum Zugreifen
auf die Moduladresse (Am) in dem der Speicheradresse (A0-A5)
entsprechenden Modul reagiert.
2. Vorrichtung nach Anspruch 1,
bei welcher die Speicheradressensteuerung (17) Einrichtungen
zum gleichzeitigen Bereitstellen einer 4-Weg- und 2-Weg-Verschachtelung und
keiner Verschachtelung für die Speichermodule (M0, ..., M6) in einer Weise
beinhaltet,
welche die maximale Verschachtelungsmöglichkeit für die Anzahl (N) der
verfügbaren Module (M0, ..., M6) verwirklicht.
3. Vorrichtung nach Anspruch 3,
bei welcher die Anzahl (N) der Module wenigstens sechs ist und bei welcher die
Speicheradressensteuerung (17) eine 4-Weg-Verschachtelung für wenigstens vier
Module (M0, M1, M2, M3) und eine 2-Weg-Verschachtelung für wenigstens zwei
andere Module (M4, MS) bereitstellt.
4. Vorrichtung nach Anspruch 3,
bei welcher die Anzahl (N) der Module wenigstens sieben ist und die
Speicheradressensteuerung (17) zusätzlich keine Verschachtelung für wenigstens ein Modul
(M6) bereitstellt.
5. Vorrichtung nach Anspruch 1,
bei welcher die Moduladresse (Am) abgeleitet wird durch Verknüpfen
vorbestimmter Stellen (A0, ..., A5) in einer Weise, welche durch den Verschachtelungsfaktor
(n) bestimmt ist.
6. Vorrichtung nach Anspruch 5,
bei welcher ein Modulfreigabesignal (5), welches das freizugebende Modul
bezeichnet, abgeleitet wird durch Verknüpfen vorbestimmter Stellen (A0, ..., A5) in einer
durch den Verschachtelungsfaktor (n) bestimmten Weise.
7. Vorrichtung nach einem der Ansprüche 1 bis 6,
bei welcher die Anzahl (N) der verfügbaren Module bei der Initialisierung der
Vorrichtung bestimmt wird.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US07/263,569 US5341486A (en) | 1988-10-27 | 1988-10-27 | Automatically variable memory interleaving system |
PCT/US1989/004750 WO1990004576A2 (en) | 1988-10-27 | 1989-10-26 | Automatically variable memory interleaving system |
Publications (2)
Publication Number | Publication Date |
---|---|
DE68925631D1 DE68925631D1 (de) | 1996-03-21 |
DE68925631T2 true DE68925631T2 (de) | 1996-06-27 |
Family
ID=23002319
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE68925631T Expired - Fee Related DE68925631T2 (de) | 1988-10-27 | 1989-10-26 | Speicheranordnung mit automatisch variabler Verschachtelung |
Country Status (5)
Country | Link |
---|---|
US (1) | US5341486A (de) |
EP (1) | EP0394436B1 (de) |
JP (1) | JPH03502019A (de) |
DE (1) | DE68925631T2 (de) |
WO (1) | WO1990004576A2 (de) |
Families Citing this family (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5241665A (en) * | 1990-08-31 | 1993-08-31 | Advanced Micro Devices, Inc. | Memory bank comparator system |
US5269010A (en) * | 1990-08-31 | 1993-12-07 | Advanced Micro Devices, Inc. | Memory control for use in a memory system incorporating a plurality of memory banks |
ATE191802T1 (de) * | 1990-08-31 | 2000-04-15 | Advanced Micro Devices Inc | Speicherbankvergleichseinrichtung |
US5247645A (en) * | 1991-03-12 | 1993-09-21 | International Business Machines Corporation | Dynamic memory mapper which supports interleaving across 2N +1, 2.sup.NN -1 number of banks for reducing contention during nonunit stride accesses |
US5293607A (en) * | 1991-04-03 | 1994-03-08 | Hewlett-Packard Company | Flexible N-way memory interleaving |
JPH0823843B2 (ja) * | 1991-10-11 | 1996-03-06 | インターナショナル・ビジネス・マシーンズ・コーポレイション | メモリ・コントローラ、及びデータ処理システム |
JPH05282199A (ja) * | 1992-03-30 | 1993-10-29 | Sony Corp | 画像メモリ装置 |
EP0613088A1 (de) * | 1993-02-24 | 1994-08-31 | Digital Equipment Corporation | Verfahren zur Speicherverschachtelung und dadurch verschachtelte Speichersysteme |
CA2116985C (en) * | 1993-03-11 | 1999-09-21 | Cynthia J. Burns | Memory system |
US5530837A (en) * | 1994-03-28 | 1996-06-25 | Hewlett-Packard Co. | Methods and apparatus for interleaving memory transactions into an arbitrary number of banks |
US5655113A (en) * | 1994-07-05 | 1997-08-05 | Monolithic System Technology, Inc. | Resynchronization circuit for a memory system and method of operating same |
US5590299A (en) * | 1994-10-28 | 1996-12-31 | Ast Research, Inc. | Multiprocessor system bus protocol for optimized accessing of interleaved storage modules |
DE69615278T2 (de) * | 1995-06-06 | 2002-06-27 | Hewlett Packard Co | SDRAM-Datenzuweisungsanordnung und -verfahren |
US5924111A (en) * | 1995-10-17 | 1999-07-13 | Huang; Chu-Kai | Method and system for interleaving data in multiple memory bank partitions |
US5860133A (en) * | 1995-12-01 | 1999-01-12 | Digital Equipment Corporation | Method for altering memory configuration and sizing memory modules while maintaining software code stream coherence |
US5809555A (en) * | 1995-12-15 | 1998-09-15 | Compaq Computer Corporation | Method of determining sizes of 1:1 and 2:1 memory interleaving in a computer system, configuring to the maximum size, and informing the user if memory is incorrectly installed |
US5960462A (en) * | 1996-09-26 | 1999-09-28 | Intel Corporation | Method and apparatus for analyzing a main memory configuration to program a memory controller |
EP0931290A1 (de) * | 1997-03-21 | 1999-07-28 | International Business Machines Corporation | Adressabbildung für speichersystem |
US6035371A (en) * | 1997-05-28 | 2000-03-07 | 3Com Corporation | Method and apparatus for addressing a static random access memory device based on signals for addressing a dynamic memory access device |
US5896346A (en) * | 1997-08-21 | 1999-04-20 | International Business Machines Corporation | High speed and low cost SDRAM memory subsystem |
TWI220474B (en) * | 2003-03-12 | 2004-08-21 | Glovic Electronics Corp | Physical page allocation method of flash memory |
US20070022261A1 (en) * | 2005-07-19 | 2007-01-25 | Gateway Inc. | Method of interleaving asymmetric memory arrays |
US20070050593A1 (en) * | 2005-08-30 | 2007-03-01 | Seagate Technology Llc | Interlaced even and odd address mapping |
JP4603481B2 (ja) * | 2005-12-22 | 2010-12-22 | エヌイーシーコンピュータテクノ株式会社 | 情報処理装置、情報処理方法、および、プログラム |
WO2007132399A1 (en) * | 2006-05-09 | 2007-11-22 | Koninklijke Philips Electronics N.V. | Programmable data processing circuit |
EP2605143A4 (de) * | 2010-08-13 | 2014-10-08 | Fujitsu Ltd | Speichersteuerungsvorrichtung, informationsverarbeitungsvorrichtung und steuerverfahren für eine speichersteuerungsvorrichtung |
US9092327B2 (en) | 2012-12-10 | 2015-07-28 | Qualcomm Incorporated | System and method for allocating memory to dissimilar memory devices using quality of service |
US9110795B2 (en) | 2012-12-10 | 2015-08-18 | Qualcomm Incorporated | System and method for dynamically allocating memory in a memory subsystem having asymmetric memory components |
US8959298B2 (en) | 2012-12-10 | 2015-02-17 | Qualcomm Incorporated | System and method for managing performance of a computing device having dissimilar memory types |
US9495291B2 (en) * | 2013-09-27 | 2016-11-15 | Qualcomm Incorporated | Configurable spreading function for memory interleaving |
US9465735B2 (en) * | 2013-10-03 | 2016-10-11 | Qualcomm Incorporated | System and method for uniform interleaving of data across a multiple-channel memory architecture with asymmetric storage capacity |
US11036642B2 (en) * | 2019-04-26 | 2021-06-15 | Intel Corporation | Architectural enhancements for computing systems having artificial intelligence logic disposed locally to memory |
US11150839B2 (en) | 2019-12-19 | 2021-10-19 | Western Digital Technologies, Inc. | Host and method for interleaving data in a storage system for enhanced quality of service |
US11221950B2 (en) * | 2019-12-19 | 2022-01-11 | Western Digital Technologies, Inc. | Storage system and method for interleaving data for enhanced quality of service |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5128450B2 (de) * | 1971-10-06 | 1976-08-19 | ||
FR2225809A1 (en) * | 1973-04-13 | 1974-11-08 | Pentru Intreprind Intreprinder | Data memory with automatic cct. for interlacing addresses - has group of switches and logic circuit for each memory block |
US3958222A (en) * | 1974-06-27 | 1976-05-18 | Ibm Corporation | Reconfigurable decoding scheme for memory address signals that uses an associative memory table |
US4280176A (en) * | 1978-12-26 | 1981-07-21 | International Business Machines Corporation | Memory configuration, address interleaving, relocation and access control system |
-
1988
- 1988-10-27 US US07/263,569 patent/US5341486A/en not_active Expired - Lifetime
-
1989
- 1989-10-26 EP EP89913095A patent/EP0394436B1/de not_active Expired - Lifetime
- 1989-10-26 JP JP2500078A patent/JPH03502019A/ja not_active Expired - Lifetime
- 1989-10-26 DE DE68925631T patent/DE68925631T2/de not_active Expired - Fee Related
- 1989-10-26 WO PCT/US1989/004750 patent/WO1990004576A2/en active IP Right Grant
Also Published As
Publication number | Publication date |
---|---|
US5341486A (en) | 1994-08-23 |
DE68925631D1 (de) | 1996-03-21 |
EP0394436B1 (de) | 1996-02-07 |
WO1990004576A3 (en) | 1990-05-31 |
WO1990004576A2 (en) | 1990-05-03 |
JPH03502019A (ja) | 1991-05-09 |
EP0394436A1 (de) | 1990-10-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE68925631T2 (de) | Speicheranordnung mit automatisch variabler Verschachtelung | |
DE3587137T2 (de) | Inhaltsadressierbarer speicher. | |
DE69221356T2 (de) | Flexible N-fach-Speicherverschachtelung | |
DE69027348T2 (de) | Speicherblockadressenermittlungsschaltkreis | |
DE3850901T2 (de) | Datenverarbeitungsanordnung mit Mitteln zur angrenzenden Adressierung eines Speichers. | |
DE68907518T2 (de) | Inhaltsadressierte Speicheranordnung. | |
DE2637054C3 (de) | Steuervorrichtung für einen Pufferspeicher | |
DE3032630A1 (de) | Halbleiterspeicher aus speicherbausteinen mit redundanten speicherbereichen | |
DE2527062C3 (de) | Anpassungsfähiger Adressendecodierer | |
DE2758829C2 (de) | Datenverarbeitungsanlage mit mehreren Prozessoren | |
DE3788502T2 (de) | Verfahren zur zuweisung einer leiterplattensteckplatznummer. | |
DE2718551C3 (de) | Adressenumsetzer | |
DE2117581C3 (de) | Einrichtung zur Adressenprüfung | |
DE3718750A1 (de) | Datenverarbeitungssystem mit adressenumsetzung | |
DE2926322A1 (de) | Speicher-subsystem | |
DE68925376T2 (de) | In Direktabbildung und in Bankabbildung wirksamer Informationsprozessor und Verfahren zum Schalten der Abbildungsschemas | |
DE2648225C2 (de) | Datenspeicherwerk | |
DE3024153A1 (de) | Speicher-subsystem | |
DE3586524T2 (de) | Durch beide, physikalische und virtuelle addressen, addressierbarer cache-speicher. | |
DE2233193A1 (de) | Stapel-speichersystem | |
DE19628039B4 (de) | Speicheradressen-Steuerschaltung | |
EP0009625B1 (de) | Datentransferschalter mit assoziativer Adressauswahl in einem virtuellen Speicher | |
DE2556357A1 (de) | Adressiereinrichtung | |
DE2004934A1 (de) | ||
DE1806464A1 (de) | Adressengenerator fuer einen Digitalrechner |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |