DE2404146A1 - Digitales, hierarchisch in wenigstens drei hierarchie-stufen aufgebautes speichersystem - Google Patents
Digitales, hierarchisch in wenigstens drei hierarchie-stufen aufgebautes speichersystemInfo
- Publication number
- DE2404146A1 DE2404146A1 DE2404146A DE2404146A DE2404146A1 DE 2404146 A1 DE2404146 A1 DE 2404146A1 DE 2404146 A DE2404146 A DE 2404146A DE 2404146 A DE2404146 A DE 2404146A DE 2404146 A1 DE2404146 A1 DE 2404146A1
- Authority
- DE
- Germany
- Prior art keywords
- memory
- block
- unit
- address
- storage
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000015654 memory Effects 0.000 claims description 96
- 108010001267 Protein Subunits Proteins 0.000 claims description 3
- 238000012545 processing Methods 0.000 claims description 2
- 238000000034 method Methods 0.000 description 16
- 230000008569 process Effects 0.000 description 13
- 230000005540 biological transmission Effects 0.000 description 8
- 238000002955 isolation Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 4
- 238000009413 insulation Methods 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000010354 integration Effects 0.000 description 3
- 239000004065 semiconductor Substances 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 241000238557 Decapoda Species 0.000 description 2
- 239000000872 buffer Substances 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000009977 dual effect Effects 0.000 description 2
- 241000238565 lobster Species 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 206010035148 Plague Diseases 0.000 description 1
- 241000607479 Yersinia pestis Species 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 229920001296 polysiloxane Polymers 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 238000010396 two-hybrid screening Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/70—Masking faults in memories by using spares or by reconfiguring
- G11C29/78—Masking faults in memories by using spares or by reconfiguring using programmable devices
- G11C29/785—Masking faults in memories by using spares or by reconfiguring using programmable devices with redundancy programming schemes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/006—Identification
-
- 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/0646—Configuration or reconfiguration
- G06F12/0653—Configuration or reconfiguration with centralised address assignment
- G06F12/0661—Configuration or reconfiguration with centralised address assignment and decentralised selection
-
- 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/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/70—Masking faults in memories by using spares or by reconfiguring
- G11C29/78—Masking faults in memories by using spares or by reconfiguring using programmable devices
- G11C29/80—Masking faults in memories by using spares or by reconfiguring using programmable devices with improved layout
- G11C29/808—Masking faults in memories by using spares or by reconfiguring using programmable devices with improved layout using a flexible replacement scheme
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Storage Device Security (AREA)
- Hardware Redundancy (AREA)
Description
240AU6
EIKENBERG & BRÜMMERSTEDT
Hawker Siddeley Dynamics Ltd. 240/591
Digitales;, hierarchisch in wenigstens drei
Hierarchie-Stufen aufgebautes Speichersystem
Die Erfindung "betrifft Speichersysterne für Computer, insbesondere
Speicher mit Halbleiterschaltungen in Großintegrationstechnik (LSI). Die Erfindung ist in ihrer Gesamtheit auf
Speicher mit wahlfreiem Zugriff und andere Ausgabe/Eingabe-Speicher
und im gewissen Maße auch auf lestwertspeicher anwendbar.
Der Erfindung liegt die Aufgabe zugrunde, einen Speicher zu schaffen, der die folgenden Merkmale bzw. Vorteile aufweist:
(a) Aufbau in Modultechnik, leichte Erweiterbarkeit;
(b) Hohe Betriebssicherheit mit leichter Rekonfiguration;
(c) Virtuelle Adressierung mit leichter Reallokation.
Die gestellte Aufgabe wird bei einem digitalen, hierarchisch in wenigstens drei Hierarchie-Stufen aufgebautem Speichersystem
gemäß der Erfindung dadurch gelöst, daß eine Tielr·
zahl von Haupt- und Speichereinheiten vorgesehen ist, die je
unabhängig voneinander mit einer ersten Stufen- Sammelschiene
409831/0877
2404H6
über eine Schnittstelle zusaramenschalfbar sind, daß jede
Haupt-Speichereinheit ihrerseits wieder eine Vielzahl von
Speichereinheiten oder Untereinheiten enthält, die je unabhängig voneinander mit einer zweiten Stufen-Sammelschiene
über eine Schnittstelle innerhalb und bezogen auf die Speichereinheit verbunden sind, und daß jede Speichereinheit
oder Untereinheit ihrerseits wieder eine Vielzahl von Speicherblöcken enthält, die je unabhängig voneinander mit einer
dritten Stufen-Sammelschiene innerhalb und bezogen auf den Block über eine Schnittstelle verbunden sind.
Jeder Speicherblock kann wenigstens ein Speicherfeld enthalten und für eine virtuelle Adressierung vorgesehen
sein, wobei der Block Mittel zum Decodieren der Gesamtheit einer von der Haupt-Sammelschiene durch die einzelnen Stufen
der Hierarchie gegebenen Adresse enthält. Mr die Adress-Decodierung
kann der Speicherblock eine Biock-Eckennungsziffer
oder mehrere solche Ziffern in einem oder mehreren Block-Registern enthalten, die einzeln für sich setzbar sind, z.B.
durch Software. Bei einer bevorzugten Ausführungsform der
Erfindung ist jeder Speicherblock von dem übrigen Seil des
Systems und jede Speichereinheit oder Untereinheit von dem
übrigen leil des Systems isoliert.
Durch diese lösung ist es möglich, einen Speicher jeder gewünschten Größe zu verwirklichen, in dem Fehler in jedem
einzelnen Speicherblock isoliert werden können und ein neuer Block sehr schnell auf der entsprechenden dritten Stufen-Sammelschiene
eingesetzt werden kann. Durch den Einschluß von weiteren redundanten Speicherblöcken oder Bausteinen
kann bei jedem im Betrieb befindlichen fehlerhaften Block
409831 /0877
2404H6
die Adresse gelesen und gespeichert werden,und es kann dann
einErsatzblock eingesetzt v/erden, der den fehlerhaften Block
ersetzt, und dem dieselbe Adresse gegeben wird, woraufhin der fehlerhafte Block dann isoliert wird. Es können auch,
falls notwendig, ganze Speichereinheiten isoliert v/erden.
Dies ist besonders auf dem Gebiete der Raumfahrt-Computer
von großem Vorteil, wo die Betriebssicherheit des Speichers unter anderem von der Betriebszeit abhängig ist,
bevor dem Speicher beim Auftreten von Fehlern die Ersatzeinheiten ausgehen. Bei bekannten Systemen war es notwendig,
im Interesse einer hohen Betriebssicherheit und und langen Betriebszeit für jeden Speicherblock einen Ersatzblock vorzusehen,
während durch das erfindungsgemäße System der Prozentsatz
an mitgeführten Ersatzblöcken beträchtlich verringert wird. Auf diese Weise wird die Volumen- und Gewichtsbelastung
beträchtlich verringert. Es ist außerdem nicht notwendig, aufwandreiche und viel Platz beanspruchende Schaltmittel zum
Einschalten - der Ersatzteile vorzusehen. Anordnungen, die gemäß der Erfindung ausgebildet sind, werden im folgenden anhand
der Zeichnung an Beispielen erläutert. In der Zeichnung zeigen:
Pig. 1 ein Blockschaltbild eines erfindungsgemäßen
Speichers mit wahlfreiem Zugriff
Fig. 2
und 3 Formen von Adressen, die in dem System nach
verwendet werden,
409831/0877
2404U6
Pig. 4 das Schaltbild eines Speicherelementes oder eines Chips des Systems nach Pig. 1 und
Pig. 5 ein Plußdiagramia für die virtuelle Adressierung,
die "bei einem hierarchischen Speicher gemäß der Erfindung angewendet wird.
Die folgenden Abkürzungen bedeuten:
EAM = Speicher mit wahlfreiem Zugriff (Random
Access Memory). Diese Bezeichnung schließt alle lypen von Ausgabe/Eingabe-Speichern
ein.
ROM = Pestwertspeicher (Read Only Memory) LSI = Schaltung in Großintegrationsteennik
CPU - Zentraleinheit
DMA = Speichereinheit mit direktem Zugriff CMOS= Komplementäres Metalloxidsilikon
Einige, im folgenden benutzten Ausdrücke bedeuten folgendes:
"normaler Zugriff" oder "virtueller Zugriff" werden
unter sich austauschbar verwendet zur Anzeige eines Speicherzugriffes zu dem Zweck, eine
gespeicherte Information aus einer Speieher-
409831/0877
240AU6
zelle auszugeben oder eine Information in die Speicherzelle einzugehen.
"Lese-Zugriff" - eine Ühertragung zur Eontrolle
von "Hardware-Stufen", z.B. zur Eontrolle von
Isolatoren, zur Veränderung von fern verstellharen Adressregistern, zum Rückstellen von Flip-Plops
(diese sind manchmal konventionell gebildet durch "spezielle" Eingangs/Ausgangs-Befehle)·
"Virtuelle Adresse", "wirkliche Adresse" = Adress teile eines virtuellen Zugriffes bzw· eines echten
Zugriffes.
RAM Stufen
zeigt einen Speicher mit wahlfreiem Zugriff in LSI-leehnik,
der einen Aufbau in Modultechnik hat, somit eine hohe Betriebssicherheit aufweist und leicht erweiterbar ist. Er beisteht
aus drei Stufen, die eng in Anlehnung an die physikalische Gliederung des RAM-Speichers aufgebaut sind.
Stufe 1 (Hauptspeicheransteuerung). Diese besteht aus einer RAM-Eontrolleinheit 11, in der zwei Hybrid-Einheiten enthalten
sind, die über eine Schnittstelle mit dem Rest des Computersystems über eine Haupt-Sammelschiene 10 verbunden sind·
Stufe 2 (Speicheransteuerung). Diese enthält eine weitere
Isolierstufe und die notwendige logik für die echte Adresskontrolle
und die Blockisolierungskontrolle. Diese Speicheran-
409831 /0877
Steuerung ist aus zwei Bybrid-Einheiten aufgebaut. Auf geder
Speichereinheit wird eine Speicheransteuerung verwendet, ausgenommen bei der RAM-Kontrolleinheit.
Stufe 3 (Chip-Stufe). Jeder Speicher-Chip 13 enthält ein Speicherfeld mit 32 Wörtern von 18 bits sowie eine
Adress-Decodier- und Steuer-Logik. Die Chips sind in Paaren angeordnet und bilden einen Basis-Speieherblock von 64 Wörtern.
Zwei Blöcke (vier Speicher-Chips) sind in einer Bybrid-Einheit
14 zusammengefaßt, und acht dieser Einheiten sind in einer Speichereinheit 15 enthalten.
Auf diese Weise enthält jede Speichereinheit 15 eine RAM-Kapazität
von mehr als 1000 Wörtern (18 bits pro Wort) in Form von 32 Speicher-Chips 13, angeordnet als 16 (64 Wörter)
Blöcke, sowie die Steuerlogik und die Isolation zur Betätigung dieser Blöcke. Eine RAM-Speichereinheit besteht aus mehr als
16.000 Wörtern und enthält 16 Speichereinheiten 15 und einen
Eontrollspeicher. Die Information von dem übrigen £eil des Computers geht über den RAM-Kontrollspeicher 11 und dann zu
der Unter-Sammelschiene 16 der zweiten Stufe, die sie auf jede
Speicheransteuerung 12 verteilt. Die 32 Speicherchips 13
sind dann mit der Speicheransteuerung 12 über ODER-Schaltungen verdrahtet.
Zu Beginn eines Zugriffes ist das Speichersystem auf den Empfang von Informationen eingestellt. Die Erkennung äer Art
des Zugriffes (echt oder virtuell) erfolgt zunächst in der
409831 /0877
Schnittstelle 11. Wenn die Adresse eine virtuelle Adresse ist, wird sie durch die Schnittstelle 11 und über die Speicheransteuerungen
12 zu jedem Speicherblock in der Einheit weitergegeben. Ein Block, der die virtuelle Adresse als die ihm zugeordnete
Adresse erkennt, antwortet daraufhin, und der Zugriff wird fortgesetzt. Wenn die Adresse eine echte Adresse
ist, erkennt das RAM-System an der Schnittstelle die RAM-Einheit-lummer,
und, wenn die Adresse einer Zeile in dem Speicher zugeführt wird, werden die Stellen- und Blocknummern
an die Unterschiene 16 der Stufe 2 weitergegeben. Eine
der Speicheransteuerungen 12 erkennt seine Speicherstellennummer,
und nur diese Speicheransteuerung gestattet den Informationsfluß
zu seinen Speicherblöcken.
Die in einem Speicherfeld in einem Chip 13 gespeicherte Information kann nur mit einer virtuellen Adresse zugegriffen
werden (Pig. 2). Die speziellen Register in einem Chip (d.h. Zustand, Prozessnummer, Blocknummer) können nur mit
einer echten Adresse zugegriffen werden (Pig. 3).
In Pig. 4 enthält ein RAM Speicher Chip:
(I) Ein Speicherfeld 17 mit 576 bits, gebildet als 32 Wörter mit 18 bits.
(II) Die Decodierlogik und !reiber 18 für den Zugriff
jjeder einzelnen Zeile (Wort) des Speicherfeldes.
409831/087
(III) Ein Prioritäten-Uummer~Register 19, das gespeist
ist durch das Operationssystem mit der Zahl des Prozesses,
die in der Lage ist, Zugriff zu dem besonderen Chip zu nehmen·
(IV) Ein Adresspuffer 20 zum Pesthalten der Adresse
des dem Zugriff unterworfenen Eeils (Zeile) des Speichers.
(T) Ein Blocknummer-r-Register 21, das auch durch das
Operationssystem gespeist wird, wenn eine virtuelle Adresse vorliegt. Has letzte bit der Bloeknummer ist jedoch fest
verdrahtet, so daß der Chip immer entweder die oberen 32 Wörter oder die unteren 32 Wörter eines Speicherblockes speichert.
(VI) Ein Statusregister 22, das die Information über den Speicherblock enthält, wie:
Eine "voll/leer"-bit, welches als Anzeige dient, ob eine
virtuelle Adresse bereits einem Speieherbereich zugewiesen ist.
Einen Fbertragungsunterbrecher, der die Übertragung dieses
Blockes zu einem CPU-Zentralspeicher unterbricht.
Einen Eingabe-Unterbrecher, der den Eingabemechanisinus
in den Chip unwirksam und diesen Block zu einem Pestwertspeicher macht.
Einen Unterbrecher für den Ausgabevorgang, der die Rückantwort auf eine Ausgabeanfrage unterbricht und als Hinter-
409831 /0877
240AU6 J
grundspeicher dient, z.B. für die Verdoppelung der Speicherung einer vitalen Information.
Ein Abschaitbit, das den Block überhaupt an der Wirkungsweise
hindert und eine andere Möglichkeit schafft, einen Block im Falle eines Fehlers in der Isolationskontrolle unwirksam
zu machen.
(VII) Eine Vergleichsschaltung 23 zum Vergleich der virtuellen Adresse, die dem Block angeboten wird, mit der
gespeicherten Prozess- und Blocknummer.
(VIII) Ein Register 24 für die wirkliche Adressblocknummer, in dem die Adresse fest verdrahtet ist.
(IX) Eine Vergleichsschaltung 25 für die Erkennung der wirklichen Adresse.
(X) Die Kontroll- und Zeitsteuerschaltungen 26 für die virtuellen und echten Ausgabe- und Eingabe-Zugriffe.
Wenn die Eontrollschaltung 26 eines Speicherchip erkennt,
daß eine Adresse auf den Adress/Datenleitungen ist, vergleicht sie die Adresse mit ihrer eigenen echten oder virtuellen
Adresse (abhängig von dem Eyp des Zugriffes). Wenn Übereinstimmung
besteht, wird die "Zugriff-Kontroll-Schaltung" ausgelöst und eine Antwort gesendet. Die Stellennummer der
Adresse wird erfaßt, festgehalten und decodiert, wenn die Adresse virtuell ist, oder es wird ein entsprechendes Register
ausgewählt, wenn die Adresse eine echte Adresse ist. Der Ausgabe/Eingabevorgang findet dann statt mit der Eingabe
409831 /0877
2404H6
und Ausgabe der Daten aus den einzelnen Stellen, und am Ende des Zugriffes wird die Steuerschaltung in dem Chip zurückgestellt.
Die RAIi hat eine hohe Betriebssicherheit wegen ihres
Modulaufbaus und der virtuellen Adressierung, Wenn ein Fehler 3n
einem Speicherchip 13 durch einen zentralen Prozessor festgestellt wird, dann kann die Einheit 14» zu der er gehört, von
dem übrigen !eil des Systems durch eine Speicheransteuerung abgeschaltet und außer Betrieb gesetzt werden. Ein anderer
Block kann dann mit derselben virtuellen Adresse wie der fehlerhafte Block durch das Operationssystem des Computers eingesetzt
und in Betrieb genommen werden. Bei einem Fehler, der alle Blöcke in einer Einheit 15betrifft, kann eine komplette
Speichereinheit von dem übrigen leil der RAM Einheit isoliert
werden, und zwar durch die Steuerschaltung 11 der Stufe 1« Wenn die gesamte RAIi Einheit ausfällt, kann sie von der
Hauptschiene 10 durch entsprechende Mittel isoliert werden. Dadurch bleibt der übrige Seil des Computers in Betrieb, und
demzufolge ist ein Zugriff zu anderen Speichereinheiten möglich. Für die am häufigsten auftretenden Fehler (Fehler innerhalb
eines Speicherfeldes) jedoch geht nur ein Speicherblock (64 Wörter) für das System verloren.
Diese betrifft den Aufbau eines Speichers mit einer Hierarchie von Schienen und Schnittstellen bzw. Steuereinrichtungen.
Fig. 1 zeigt eine solche Hierarchie für ein
A09831/0877
System mit drei Stufen. In der Terminologie dieser Hierarchie
können die Aufgaben der einzelnen Teile wieder wie folgt zusammengefaßt
werden:
Schiene für Stufe 1t Dieses ist die Haupteomputersehiene
oder Speicherschiene 10, durch die der Zugriff auf die Speichereinheit, z.B. von einer GPU, DMA. etc. erfolgt.
Schaltung der Stufe 1: Diese enthält die Schnittstelle
zwischen der gesamten Speichereinheit (insbesondere Schiene der Stufe 2) und der Schiene 10 der Stufe 1. Die Schnittstelle
ermöglicht Übertragungen zu und von den anderen Einheiten an die Schiene 10 der Stufe 1, obwohl Daten- und Adreßinformationen
(und einige Steuersignale) durch die Schnittstelle 11 (über Puffer, falls erforderlich) zu und von den Untereinheiten
direkt durchgeschaltet werden. Die Schnittstelle 11 kann mit Möglichkeiten zur Isolierung versehen sein (z.B. unter
Verwendung von OMOS Übertragungstoren), so daß ein Fehler
auf oder unter der Schiene 16 der Stufe 2 isoliert werden kann, um einen Polgefehler an der Schiene 10 der Stufe 1 zu verhindern.
Schiene der Stufe 2: Dieses ist die Haupt-Intern-Schiene
16 der Speichereinheit und dient dazu, alle verschiedenen Untereinheiten (siehe unten) mit der Schnittstelle 11 der
Stufe 1 zu verbinden.
Schaltungen der Stufe 2; Diese enthalten eine Reihe von
Schnittstellen 12 zwischen jeder Untereinheit (insbesondere jeder Schiene 28 der Stufe 3) und der Schiene 16 der Stufe 2.
Die Untereinheit wird deshalb gewählt, um zwischen der Größe
409831/0877
des grundlegenden Chip-Elementes und der Größe des gesamten
Speiebers ein vernünftiges Verhältnis zu schaffen. Sie kann z.B. eine Schaltungsplatte oder eine Speicherplatte sein.
Die Aufteilung der gesamten Einheit in Untereinheiten erfolgt in erster linie zum Zwecke der Betriebssicherheit,
(wenngleich auch entsprechende Aufteilungen, z.B. in Ansteuer- und Abfrageelektronikschaltungen angewendet werden
können). Wenn jede Schnittstelle 12 der Stufe 2 eine Möglichkeit zur Isolation hat, dann kann ein "Fehler an einem
einzelnen Speicherelement (z.B. Speicher Chip/Kern 13) oder ein Pehler an der Schiene 28 der Stufe 3 keinen Ausfall der
gesamten Speichereinheit verursachen.
Schiene für Stufe 3: Jede Schiene 28 der Stufe 3 ist nur in ihrer eigenen Untereinheit 15 ohne direkte Verbindung
zu einer anderen Untereinheit enthalten. Die Schiene ist mit jedem Speicherelement (z.B. Chip 13) in der Untereinheit verbunden.
Schaltungen für Stufe 3t Diese bestehen aus den als
Speicherelemente dienenden Chips 13, die die Speicherkapazität der Einheit darstellen, lieben den Speicherzellen
ist auch die Schaltung zur Erkennung der Adressen vorhanden, außerdem die Steuerschaltung, die Ausgabeschaltungen
usw. Die als Speicherelemente dienenden Chips 13 können von irgendeinem Typ sein, z.B. Festwertspeicher, Ausgabe/Eingabespeicher
usv/. Jedes Speicherelement oder jeder kleine Block von Elementen (z.B. jeder Chip oder jede Gruppe von 2 oder
4 Chips oder ein "Speicherblatt" in einem blattförmigen (paged) Computer) kann ggflls. ■ zur Isolierung dienende
409831/0877
240AH6
5Dreiber/Empfanger bis zur Schiene der Untereinheit enthalten
und auf diese Weise eine -weitere Isolierstufe bilden, wenn dieses wünschenswert ist.
Die Hauptvorteile dieser hierarchischen Anordnung sind die folgenden:
(a) Flexibilität, Möglichkeit der Aufteilung nach der Modultechnik, indem man die Größe eines Blockes und die
Größe einer Untereinheit entsprechend einer passenden physikalischen Aufteilung wählt. Ausführungen unterschiedlicher
Speichergrößen (oder unterschiedliche Mischungen von Speichertypen, z.B. RAM, ROM in einem Speicher) lassen sich
leicht erreichen. Dies wird dadurch weiter erleichtert, daß die meisten der Adreßerkennungsfunktionen in den unteren
Stufen verwirklicht sind (z.B. Stufe 3 in äem Ausführungsbeispiel).
(b) Betriebssicherheit: Durch die Aufteilung der Einheit in Abschnitte, die Verteilung der Punktionen auf
verschiedene Schienen und durch die geschickte Anwendung der Isolationsmöglichkeit kann der Speicher so ausgebildet
werden, daß die meisten der einzelnen Fehler nur einen kleinen Teil des Speichers unwirksam machen.
(c) Eignung für Großintegrationstechnik (LSI-Secbnik):
Indem man einen Block (Schaltung in der Stufe 3) gleich einem oder mehreren LSI Halbleiter-Speicher-Chips
macht und eine Untereinheit (Stufe 2) gleich einer (oder zwei)
409831/0877
Schaltungsplatten, kann das hierarchische Speichersystem leicht in IiSI-iDechnik ausgeführt v/erden.
(d) Multiport-Ausbildung: Wenn zwei (oder mehrere)
Schienen 10 der Stufe 1 und zwei oder mehrere Schnittstellen der Stufe 1 anstelle der jeweils dargestellten einen derart
vorgesehen sind, daß "beide Schnittstellen der Stufe 1 mit einer einzigen Schiene 16 der Stufe 2 verbunden sind, kann eine
Dual- (oder Multi-) Portspeichereinheit leicht erreicht werden. Ähnlich kann es für "bestimmte Zwecke wünschenswert sein,
zwei oder mehrere Schienen 16 in der Stufe 2 anzubieten, mit entsprechender Wiederholung der Schnittstellen 12 der Stufe 2
für solche Untereinheiten, die einen dualen oder vielfachen Zugriff erfordern.
Wenngleich die Beschreibung der Hierarchie der Schienen auf einer Hierarchie mit 3 Stufen basiert, so können auch
mehr als 3 Stufen benutzt werden, wenn dieses wünschenswert ist. Die Wahl eines bestimmten Aufbaus in einer bestimmten
Konfiguration hängt ab von einer Vielzahl von Faktoren, z.B. der physikalischen Ausführung , den Anforderungen an die Betriebssicherheit,
den Anforderungen an die Flexibilität und Erweiterbarkeit, der Chip-Größe usw.
Adreß-Erkennung; Diese betrifft eine Methode zur Organisierung
der Adreß-Erkennungsschaltung in dem Speicher in der Weise, daß die folgenden Punkte vereinfacht werden:
(a) Virtuelle Adressierung, mit voneinander unabhängigen Speicherflächen für verschiedene Prozesse in einem Multipro
sess-Sys tem oder für verschiedene Seile eines Prozesses.
409831 /0877
(b) Wiederzuteilung der Speicherung zur Anpassung an verschiedene Ausgabe/Eingabe-Speicheranforderungen in
einem Multiprozess-System.
(c) Das Yorsehen einer Gruppe von Ersatz-Ausgabe/ Eingabespeicherelementen für den Austausch von ausgefallenen
Elementen und ihre erforderliche Zuordnung.
Dieser Abschnitt ist beschrieben im Zusammenhang mit LSI Halbleiterspeichern, jedoch sind die Prinzipien (mit
entsprechender Abwandlung) auf andere Speichertypen anwendbar.
In einem bekannten Speicheradreßsystem werden m Adreßbits
von der Einheit (CPU/DMA) ausgesandt und lösen so die Übertragung der Speicherung aus. Die wichtigsten (m-e) dieser
bits werden in einer oder mehreren Stufen decodiert und erzeugen somit 2 (m-e) zur Betätigung der Blocks geeignete
Signale, die zur Betätigung von bis zu 2 (m-e) Speicherblocks mit je 2 Zeilen ausgenutzt werden. Da. alle Decodierungen,
Auslöseschaltungen usw. fest verdrahtet sind, so ergibt sich dadurch ein absolutes Adreßsystem ohne Flexibilität
im Betrieb (z.B. Änderung der Wiederzuordnung).
Pig. 5 zeigt die Funktion des virtuellen Adreß-Systems.
Wenn man zunächst alle Bezugnahmen auf "p" bits außer acht
läßt (d.h. p=O), so ist ersichtlich, daß die Erzeugung der Adressen am auslösenden Ende wie in einem bekannten Speicheradreß-System
ist, daß jedoch die ganze Decodierfunktion in allen Adreß-bits in den Speicherblocks selbst konzentriert
409831 /0877
Ist, wobei jeder Speicherblock sein eigenes Signal zur Inbetriebsetzung
des Blockes (block enable signal) ableitet. (Unter Block versteht man die oben gegebene Definition).
Weiterhin ist die Blockidentifikation jetzt nicht durch feste Verdrahtung bewirkt, sondern durch Vergleich mit Registern,
die durch eine Software gesetzt werden können. Auf diese Weise kann jeder Block seine "Blockadresse" haben,
die zur Anpassung an die jeweiligen Anforderungen umgestellt
werden kann.
Pig. 5 zeigt eine Weiterbildung des grundlegenden virtuellen Adreß-Systems, die z.B. benutzt werden kann, um im
Bedarfsfalle eine Prozess- oder Segmenttrennung durchzuführen. Wie in einem bekannten System werden m bits einer
Adresse durch eine Starteinheit (CPU/DM) 27 erzeugt. Dieser wird am \vichtigsten Ende eine Gruppe von ρ bits hinzugefügt,
die die Hummer des gerade durchgeführten Prozesses kennzeichnen. Diese zusätzlichen ρ bits werden in den Spei cherbloeks14
mit einem p-bit-Register 30 in jedem Block verglichen, und der Befehl "Betätigung des Blockes" wird nur
als wahr bezeichnet, wenn für diese ρ bits und für die m-e bits Übereinstimmung festgestellt wird. Das p-bit-Register
am Startende \rärde durch das Operationssystem des Computers
jedesmal gesetzt, wenn der laufende Prozess geändert wird , und die Hinzufügung von bits kann jedesmal automatisch erfolgen, wenn eine Übertragung ausgelöst wird. Das p-bit-Register
30 und das (m-e) bit-Register 32 an dem Speicherblock werden durch eine Software gesetzt, um im Bedarfsfalle
variable gespeicherte Identifikation-Bits zum Vergleich mit den entsprechenden Adreß-bits in der Iquivalenzschaltung
409831 /0877
vorzusehen. Das "Blockbetätigungssignal", das durch die Äquivalenzschaltung
33 an der Leitung 34 erzeugt wird, schaltet die am wenigsten bedeutungsvollen oder 1 bits der Adresse für
die Decodierung, wie bei 35 durch, um die entsprechenden Zeilen des Speicherfeldes 17 auszuwählen.
Der Mechanismus zum Stellen der verschiedenen, durch Software setzbaren Register muß getrennt sein von dem "normalen"
virtuellen Übertragungsmechanismus. Im allgemeinen hat jedes solcher Register eine "Registeradresse", zu der ein Zugriff
mit einer "echten" Übertragung möglich ist. Es können dieselben Schienen für "echte Übertragungen" als auch für
"virtuelle Übertragungen" benutzt werden, und zwar mit Unterschieden
in dem Steuermechanismus (z.B. Änderung des Zustandes einer bestimmten "echt/virtuell"-Iieitung). Es kann
alternativ auch eine getrennte Schienenanordnung benutzt werden, die möglicherweise in einer ähnlichen hierarchischen
Ordnung ausgebildet ist. Die echten Adressen sind im allgemeinen in fester Verdrahtung ausgebildet, da es niemals notwendig
ist, sie zu ändern.
Zusammenfassend sei gesagt, daß der Zugriff zu jeder Speicherzeile in einem Speicherfeld möglich ist durch Benutzung
einer "virtuellen Adresse" durch die Kombination von:
(I) Prozessnummer, falls erforderlich; die Hummer ist enthalten in einem durch Software setzbaren Register 30 innerhalb
des Speicherblocks.
(II)' Blocknummer (innerhalb des Prozesses), die den wichtigsten Seil der (virtuellen) Adresse (innerhalb des Pro-
409831 /0877
zesses) darstellt; die Hummer ist enthalten in einem durch
Software setzbaren Register 32 innerhalb des Blocks.
(III) Zeilennumner (innerhalb des Blocks), decodiert
von den am wenigsten wichtigen Adreß-bits in bekannter Weise.
Durch Verwendung einer "echten Adresse" ist der Zugriff zu jedem durch Software setzbaren Register in bekannter . .
fester Verdrahtung möglich. Die echte Adresse kann in einzelne 3?elder unterteilt werden, die darstellen z.B. Hummer
der Einheit, Hummer der Untereinheit, B.egisternummer, falls
erforderlich. Abgesehen von den hier beschriebenen Registern, kann die Methode benutzt werden, Register zu setzen oder abzufragen,
wie z.B. Isolationsschaltungen, ΈΊΐρ-Elops usw.,
die einen !eil des Oomputerhaushaltes und der Steuerfunktionen eines Computers bilden.
-Patentans prüch e~
409831 /0877
Claims (9)
- PatentansprücheDigitales, hierarchisch in wenigstens drei Hierarchie-Stufen aufgebautes Speichersystem, dadurch gekennzeichnet, daß eine Vielzahl von Haupt- Speichereinheiten vorgesehen ist, die je unabhängig voneinander mit einer ersten Stufen- Sammelschiene (10) über eine Schnittstelle (11) zusammenschaltbar sind, daß jede Haupt- Speichereinheit ihrerseits wieder eine Vielzahl von Speichereinheiten (15) oder Untereinheiten enthält, die je unabhängig voneinander mit einer zweiten Stufen- Sammelschiene (16) über eine Schnittstelle innerhalb und bezogen auf die Speichereinheit verbunden sind, und daß jede Speichereinheit (15) oder Untereinheit ihrerseits wieder eine Vielzahl von Speicherblöcken (14) enthält, die je unabhängig voneinander mit einer dritten Stufen- Sammelschiene (28) innerhalb und bezogen auf den Block über eine Schnittstelle verbunden sind.
- 2. Speichersystem nach Anspruch 1, dadurch gekennzeichnet, daß jeder Speicherblock wenigstens ein Speicherfeld enthält und für eine virtuelle Adressierung vorgesehen ist, und daß der Block Mittel zum Decodieren der Gesamtheit einer von der Haupt- Sammelschiene durch die einzelnen Stufen der Hierarchie gegebenen Adresse enthält.
- 3. Speichersystem nach Anspruch 2, dadurch gekennzeichnet, daß die Adress- Decodierung in jedem Speicherblock eine Block-Erkennungsziffer oder - Ziffern in einem oder mehreren Block-Registern verwendet,die einzeln für sich setzbar sind, z.B. durch Software.4098 31/0877
- 4. Speichersystem nach einem der Ansprüche 1-3, dadurch gekennzeichnet, daß Mittel zum Isolieren jedes Speicherblocks von dem übrigen Eeil des Systems vorgesehen sind.
- 5. Speichersystem nach einem der Ansprüche 1-4, dadurch gekennzeichnet, daß Mittel zum Isolieren jeder Speichereinheit oder Untereinheit von dem übrigen Seil des Systems vorgesehen sind.
- 6. Speichersystem nach einem der Ansprüche 1-5» dadurch gekennzeichnet, daß Mittel zum Isolierender ganzen Speichereinheit von der ersten Stufen-Sammelschiene vorgesehen sind.
- 7. Speichersystem nach einem der Ansprüche 1-6, dadurch gekennzeichnet, daß jede Speichereinheit oder Untereinheit eine Vielzahl von in Betrieb befindlichen Speicherblöcken und einen oder mehrere Ersatzblöcke enthält.
- 8. Speichersystem nach einem der Ansprüche 1-7, dadurch gekennzeichnet, daß sie ein durch Software setzbares Register enthält, mit dem zusätzliche Bits dem wichtigsten Ende einer Adresse hinzugefügt v/erden können, die von einer Starteinheit, z.B. einer Zentraleinheit (CPU) oder einer direkten Speicherzugriff-Einheit (DMA) der ersten Stufen-Sammelschiene zufübrbar sind.
- 9. Speichersystem nach Anspruch 3 oder einem der Ansprüche 4-8 und Anspruch 3, dadurch gekennzeichnet, daß ein Echtadresssystem zum Zugriff des oder der setzbaren Register(s) vorgesehen ist.0 9 8 3 1 / 0 8 7 7
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB4476272A GB1461245A (en) | 1973-01-28 | 1973-01-28 | Reliability of random access memory systems |
US05/456,647 US3983537A (en) | 1973-01-28 | 1974-04-01 | Reliability of random access memory systems |
Publications (1)
Publication Number | Publication Date |
---|---|
DE2404146A1 true DE2404146A1 (de) | 1974-08-01 |
Family
ID=26265450
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE2404146A Pending DE2404146A1 (de) | 1973-01-28 | 1974-01-26 | Digitales, hierarchisch in wenigstens drei hierarchie-stufen aufgebautes speichersystem |
Country Status (5)
Country | Link |
---|---|
US (1) | US3983537A (de) |
DE (1) | DE2404146A1 (de) |
FR (1) | FR2215671B3 (de) |
GB (1) | GB1461245A (de) |
NL (1) | NL7401042A (de) |
Families Citing this family (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4150428A (en) * | 1974-11-18 | 1979-04-17 | Northern Electric Company Limited | Method for providing a substitute memory in a data processing system |
US4084230A (en) * | 1976-11-29 | 1978-04-11 | International Business Machines Corporation | Hybrid semiconductor memory with on-chip associative page addressing, page replacement and control |
DE2841222A1 (de) * | 1978-09-22 | 1980-03-27 | Telefonbau & Normalzeit Gmbh | Schaltungsanordnung zur adressierung von modular aufgebauten und erweiterungsfaehigen daten-speicheranordnungen |
US4254463A (en) * | 1978-12-14 | 1981-03-03 | Rockwell International Corporation | Data processing system with address translation |
US4293910A (en) * | 1979-07-02 | 1981-10-06 | International Business Machines Corporation | Reconfigurable key-in-storage means for protecting interleaved main storage |
GB2062912B (en) * | 1979-09-29 | 1983-09-14 | Plessey Co Ltd | Data processing system including internal register addressing arrangements |
JPS5847793B2 (ja) * | 1979-11-12 | 1983-10-25 | 富士通株式会社 | 半導体記憶装置 |
US4498146A (en) * | 1982-07-30 | 1985-02-05 | At&T Bell Laboratories | Management of defects in storage media |
US4506364A (en) * | 1982-09-30 | 1985-03-19 | International Business Machines Corporation | Memory address permutation apparatus |
US4916603A (en) * | 1985-03-18 | 1990-04-10 | Wang Labortatories, Inc. | Distributed reference and change table for a virtual memory system |
WO1988009995A1 (en) * | 1987-06-02 | 1988-12-15 | Hughes Aircraft Company | Pipeline memory structure |
US5587962A (en) * | 1987-12-23 | 1996-12-24 | Texas Instruments Incorporated | Memory circuit accommodating both serial and random access including an alternate address buffer register |
US5093807A (en) * | 1987-12-23 | 1992-03-03 | Texas Instruments Incorporated | Video frame storage system |
US5155834A (en) * | 1988-03-18 | 1992-10-13 | Wang Laboratories, Inc. | Reference and change table storage system for virtual memory data processing system having a plurality of processors accessing common memory |
KR910008413B1 (ko) * | 1989-07-21 | 1991-10-15 | 삼성전자 주식회사 | 메모리 용량 확장장치 |
IL96808A (en) * | 1990-04-18 | 1996-03-31 | Rambus Inc | Introductory / Origin Circuit Agreed Using High-Performance Brokerage |
US5243703A (en) * | 1990-04-18 | 1993-09-07 | Rambus, Inc. | Apparatus for synchronously generating clock signals in a data processing system |
US6751696B2 (en) | 1990-04-18 | 2004-06-15 | Rambus Inc. | Memory device having a programmable register |
US5831467A (en) * | 1991-11-05 | 1998-11-03 | Monolithic System Technology, Inc. | Termination circuit with power-down mode for use in circuit module architecture |
US5498990A (en) * | 1991-11-05 | 1996-03-12 | Monolithic System Technology, Inc. | Reduced CMOS-swing clamping circuit for bus lines |
DE69226150T2 (de) * | 1991-11-05 | 1999-02-18 | Hsu Fu Chieh | Redundanzarchitektur für Schaltungsmodul |
US5576554A (en) * | 1991-11-05 | 1996-11-19 | Monolithic System Technology, Inc. | Wafer-scale integrated circuit interconnect structure architecture |
JPH08500687A (ja) * | 1992-08-10 | 1996-01-23 | モノリシック・システム・テクノロジー・インコーポレイテッド | ウェハ規模の集積化のためのフォルトトレラントな高速度のバス装置及びバスインタフェース |
US5655113A (en) | 1994-07-05 | 1997-08-05 | Monolithic System Technology, Inc. | Resynchronization circuit for a memory system and method of operating same |
US6609169B1 (en) | 1999-06-14 | 2003-08-19 | Jay Powell | Solid-state audio-video playback system |
US6567290B2 (en) * | 2000-07-05 | 2003-05-20 | Mosaic Systems, Inc. | High-speed low-power semiconductor memory architecture |
US20050041453A1 (en) * | 2003-08-22 | 2005-02-24 | Brazis Paul W. | Method and apparatus for reading and writing to solid-state memory |
US8130528B2 (en) * | 2008-08-25 | 2012-03-06 | Sandisk 3D Llc | Memory system with sectional data lines |
US8279650B2 (en) | 2009-04-20 | 2012-10-02 | Sandisk 3D Llc | Memory system with data line switching scheme |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB1218406A (en) * | 1968-07-04 | 1971-01-06 | Ibm | An electronic data processing system |
US3633175A (en) * | 1969-05-15 | 1972-01-04 | Honeywell Inc | Defect-tolerant digital memory system |
US3753244A (en) * | 1971-08-18 | 1973-08-14 | Ibm | Yield enhancement redundancy technique |
US3781826A (en) * | 1971-11-15 | 1973-12-25 | Ibm | Monolithic memory utilizing defective storage cells |
US3753242A (en) * | 1971-12-16 | 1973-08-14 | Honeywell Inf Systems | Memory overlay system |
US3755791A (en) * | 1972-06-01 | 1973-08-28 | Ibm | Memory system with temporary or permanent substitution of cells for defective cells |
US3803560A (en) * | 1973-01-03 | 1974-04-09 | Honeywell Inf Systems | Technique for detecting memory failures and to provide for automatically for reconfiguration of the memory modules of a memory system |
US3821715A (en) * | 1973-01-22 | 1974-06-28 | Intel Corp | Memory system for a multi chip digital computer |
-
1973
- 1973-01-28 GB GB4476272A patent/GB1461245A/en not_active Expired
-
1974
- 1974-01-25 NL NL7401042A patent/NL7401042A/xx unknown
- 1974-01-26 DE DE2404146A patent/DE2404146A1/de active Pending
- 1974-01-28 FR FR7402658A patent/FR2215671B3/fr not_active Expired
- 1974-04-01 US US05/456,647 patent/US3983537A/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
GB1461245A (en) | 1977-01-13 |
FR2215671A1 (de) | 1974-08-23 |
NL7401042A (de) | 1974-07-30 |
FR2215671B3 (de) | 1976-11-19 |
US3983537A (en) | 1976-09-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2404146A1 (de) | Digitales, hierarchisch in wenigstens drei hierarchie-stufen aufgebautes speichersystem | |
DE2350225C2 (de) | ||
DE69027030T2 (de) | Eine fehlertolerante datenspeicherungsanordnung | |
DE2400161C2 (de) | ||
DE3032630C2 (de) | Halbleiterspeicher aus Speicherbausteinen mit redundanten Speicherbereichen und Verfahren zu dessen Betrieb | |
DE69023883T2 (de) | Umkehrkreuzungsschalter mit verteilter Steuerung. | |
DE2617408B2 (de) | Speichermodul für ein Datenverarbeitungsgerät mit Speicherhierarchie | |
DE2646163B2 (de) | Schaltungsanordnung zum Ersetzen fehlerhafter Informationen in Speicherplätzen eines nicht veränderbaren Speichers | |
DE2646162B2 (de) | Schaltungsanordnung zum Ersetzen fehlerhafter Informationen in Speicherplätzen eines nicht veränderbaren Speichers | |
DE3607092A1 (de) | Speichermanagementsystem | |
DE2741886A1 (de) | Datenuebertragungseinrichtung | |
DE4423949A1 (de) | E/A-Hilfssystem und Exklusiv-Steuerverfahren, Datenspeicherverfahren und Speicherinitialisierungsverfahren in einem E/A-Hilfssystem | |
DE2926322C2 (de) | Speicher-Subsystem | |
DE2715751B2 (de) | Speicheranordnung mit defekten Modulen | |
DE3015875A1 (de) | Speicherzugriffssystem und verfahren fuer einen zugriff zu einem digitalen speichersystem | |
DE3128729A1 (de) | Halbleiter-speichersystem | |
DE2400064A1 (de) | Speicherpruefanordnung und diese verwendendes endgeraetsystem in einem datenverarbeitungssystem | |
DE2712575A1 (de) | Assoziatives speichersystem | |
DE2544945A1 (de) | Mikroprocessor | |
EP0109981B1 (de) | Ausfallgesicherte Datenverarbeitungsanlage | |
DE3855550T2 (de) | Redundanz für Schaltungskomplex | |
DE3048414A1 (de) | "schaltungsanordnung fuer eine datenverarbeitungsanlage" | |
DE3024153A1 (de) | Speicher-subsystem | |
EP0009625B1 (de) | Datentransferschalter mit assoziativer Adressauswahl in einem virtuellen Speicher | |
CH654947A5 (de) | Speicheranordnung mit einer vielzahl von speicherelementen. |