HYBRID ASSOCIATIVE MEMORY

Abstract: 1. A hybrid associative store comprising an association matrix (AM) as an associative surface, having a plurality of association fields, e.g. in the form of comparators for one bit in each case, and comprising a non-associative base store (B-SP) having a plurality of storage units (SP-E), where the storage units each analogously to the associative matrix comprises storage sections, e.g. for one bit, corresponding to the association fields, so that one storage section of each storage unit respectively corresponds to the same association field of the association matrix and the contents of all storage sections of one storage unit can be simultaneously transmitted to the assigned association fields of the association matrix, characterised in that storage units (SP-E) of the base store (B-SP) are combined to form groups and each group forms a sub-store (e.g. T-SP1), that between the association matrix (AM) and the base store (B-SP), is arranged a switching device (TDSE) which connects the individual sub-stores (T-SP1 to T-SP4) to the association matrix (AM) and thereby simultaneously switches all storage sections of a selected storage unit (SP-E) in a sub-store (e.g. T-SP) to the association matrix (AM), that storage units, which are to be consecutively switched through, are cyclically distributed to the individual sub-stores (T-SP1 to T-SP4), and that the selection of the storage units (SP-E) of the individual sub-stores (T-SP...), which are to be consecutively switched through occurs in a time-overlapping fashion and respectively so far in advance that when the operating speed of the association matrix (AM) is fully exploited, in spite of the use of a base store (B-SP) which operates more slowly, the storage contents of the selected storage units (SP-E) are available for the through-connection to the association matrix (AM) in time.

Description: Hybrid-Assoziativspeicher Die Erfindung betrifft einen Hybrid-Assoziativspeicher, bestehend aus einer eine Vielzahl von Assoziationsfeldern aufweisenden Assoziations matrix und einem eine Vielzahl von Speichereinheiten aufweisenden, nicht assoziativen Basisspeicher, wobei die Speichereinheiten jeweils analog der Assoziationsmatrix aus den Assoziationsfeldern entsprechenden Speicherabschnitten zusammengesetzt sind, so dass jeweils ein Speicherabschnitt aus jeder Speichereinheit miteinander und mit demselben Assoziationsfeld der Assoziationsmatrix korrespondiert und der Inhalt jedes Speicherabschnittes zu dem zugehörigen Assoziationsfeld der Assoziationsmatrix übertragbar ist. Derartige Speicher sind bereits bekannt, z.B. durch die DE-AS 25 25 287 oder durch 11dsta:#r##port'1 11 (1976) Heft 2, Seiten 29 bis 34, insbesondere Seite 32. Durch die Kombination einer assoziativen Oberfläche in Form einer assoziativen Matrix oder eines Assoziativspeichers mit einem nichtassoziativen konventionellen Speicher als Basisspeicher gelang es, eine Vervielfachung der Speicherkapazität mit nur sehr wenig mehr Anschlüssen zu erreichen. Um dabei die Leistung der assoziativen Oberfläche voll nutzen zu können, sind für den Basisspeicher Speicherbausteine erforderlich, deren Zykluszeit die die für die assoziative Oberfläche notwendige Datenrate zulässt. Da aber die Speicherkapazität bei Verwendung entsprechend schneller Speicherbausteine beschränkt ist, ist zwangsläufig auch die Speicherkapazität des Hybrid-Assoziativspeichers begrenzt. Aufgabe der Erfindung ist es daher, einen Hybrid-Assoziativspeicher der eingangs genannten Art zu schaffen, bei dem die Speicherkapazität ohne wesentliche Herabsetzung der Datenrate und die Leistungsfähigkeit durch zusätzliche Steuerungs- und Sicherungsmassnahmen erhöht werden kann. Der Hybrid-Assoziativspeicher gemäss der Erfindung ist zunächst dadurch gekennzeichnet, dass die Speichereinheiten des Basisspeichers zu Gruppen zusammengefasst sind und jede Gruppe einen Teilspeicher bildet, dass zwischen der Assoziationsmatrix und dem Basisspeicher eine Durchschalteeinrichtung angeordnet ist, die die einzelnen Teilspeicher zyklisch nacheinander mit der Assoziationsmatrix verbindet und dabei alle Speicherabschnitte einer ausgewählten Speichereinheit in einem der Teilspeicher gleichzeitig zur Assoziationsmatrix durchschaltet, und dass die Auswahl der nacheinander durchzuschaltenden Speichereinheiten der einzelnen Teilspeicher zeitlich überlappend und jeweils so weit voreilend erfolgt, dass bei voller Ausnutzung der Arbeitsgeschwindigkeit der Assoziationsmatrix trotz Verwendung eines langsamer arbeitenden Basisspeichers die Speicherinhalte der ausgewählten Speichereinheiten rechtzeitig für die Durchschaltung zur Assoziationsmatrix bereitstehen. Statt eines einzigen Basisspeichers werden also mehrere Teilspeicher als Basisspeicher verwendet, die mit zueinander überlappenden Lesezyklen arbeiten, wobei die Durchschalteeinheit die Verbindung mit der assoziativen Oberfläche herstellt. Zweckmässig sind dabei die Anzahl der Teilspeicher und die Arbeitsgeschwindigkeiten von Assoziationsmatrix und Bassispeicher so aufeinander abgestimmt, dass die Assoziationsmatrix wenigstens jeweils eine Speichereinheit aller Teilspeicher pausenlos nacheinander überprüfen kann. Bei Verwendung von assoziativen Oberflächen mit einer Zykluszeit von 100 ns und Speicherbausteinen mit einer Zykluszeit von 400 ns sind also vier Teilspeicher erforderlich, die jeweils um 100 ns versetzt ihre Daten zur Verfügung stellen, so dass aus jedem Teilspeicher eine Speichereinheit pausenlos nacheinander verarbeitet werden kann. Dabei sich noch ergebende Pausenzeiten für die assoziative Oberfläche können in Anlehnung an eine an sich bekannte Massnahme vermieden werden, wenn zwischen der Assoziationsmatrix und der Durchschalteeinrichtung eine gleichartig ausgebildete Speichereinheit als Oberflächenpuffer angeordnet ist, der zusammen mit der Assoziationsmatrix wie ein Assoziativspeicher arbeitet. Die einzelnen Teilspeicher können wegen der dabei nur kurzzeitigen Verbindung mit der als Oberflächenpuffer arbeitenden Speichereinheit den Lesezyklus für die nächstfolgende Speichereinheit so weitgehendst an den vorhergehenden Lesezyklus - anschliessen. Die Durchschalteeinrichtung besteht zweckmässig aus einer der Anzahl der Assoziationsfelder entsprechenden An- zahl von Multiplexern mit jeweils einer der Anzahl der Teilspeicher entsprechenden Anzahl von Einstellungen. Eine weitere Steigerung der Leistungsfähigkeit lässt sich gemäss einer anderen Weiterbildung der Erfindung dadurch erreichen, dass das normale Lesen von Daten aus dem Basisspeicher ebenfalls über die Assoziationsmatrix in Verbindung mit der Zeilenauswahlschaltung der Assoziationsmatrix erfolgt, dass dagegen das Ein schreiben von Daten in dem Basisspeicher unabhängig von der Assoziationsmatrix erfolgt. Damit ist im Gegensatz zu den bekannten Anordnungen ein direkter Zugriff zum ¯Basisspeicher gegeben, so dass in Verbindung mit dem Oberflächenpuffer Schreibzyklen bereits eingeleitet wer den können, wenn noch ein Lesevorgang läuft. Zweckmässig ist für das Einschreiben grösserer Datenmengen aus einem Hintergrundspeicher ein gesonderter, schnell arbeitender Pufferspeicher it der Kapazität wenigstens einer Speichereinheit vorgesehen, der zeilenweise ge laden wird und der die für eine Speichereinheit des Basisspeicher bestimmten Zeilen gleichzeitig an diese übergibt. Durch das Aufsammeln der Daten im schnellen Ladepufferspeicher mit gleichzeitiger Ubergabe der Daten für eine Speichereinheit verringert sich die Ein gabe dauer in dem Basisspeicher mit relativ langsamen Speicherbausteinen erheblich gegenüber der bei einer zeilenweise erfolgenden Ubergabe. Ein weiterer Vorteil ergibt sich in diesem Zusammenhang, wenn bei einem Pufferspeicher mit einer der Speicherkapazität mehrerer Speichereinheiten des Basisspeichers entsprechenden Kapazität und mit Unterteilung in ent sprechend grosse Speichereinheiten Daten für verschiedene Speichereinheiten des Baissspeichers im Pufferspeicher durch Verteilen auf unterschiedliche Speichereinheiten entsprechend eingeordnet werden und eine Ubergabe an den Basisspeicher erfolgt, wenn eine Speichereinheit im Pufferspeicher gefüllt ist. Darüber hinaus lässt sich die Leistungsfähigkeit des Hybrid-Assoziativspeichers steigern, wenn gemäss einer anderen Weiterbildung der Erfindung zur Sicherung der Daten im Basisspeicher die Speicherabschnitte je Speicher einheit in Sicherungsgruppen unterteilt und innerhalb jeder Gruppe matrixförmig geordnet werden, wenn die Inhalte der so geordneten Spicherabschnitte vor ihrer Einspeicherung in den Basisspeicher einer Parity-Kreuzsicherung unterworfen werden, wenn die dabei gewonnenen Sicherungsdaten ebenfalls im Basisspeicher gespeichert werden und wenn die aus dem Basisspeicher gelesenen Daten vor uebergabe an die assoziative Oberfläche anhand der Sicherungsdaten überprüft und so weit möglich korrigiert werden. Die Gefahr, dass sich bei dem Umfang der gleichzeitig bewegten Daten Fehler einstellen, wird dadurch herabgesetzt und der Aufwand im Vergleich zu den sonst üblichen Verfahren mit regenerierenden Codes wesentlich verringert. Vorteilhaft bilden jeweils die eine Zeile bildenden Speicherabschnitte eine Sicherungsgruppe, und es werden die jeweils gewonnenen Sicherungsdaten jeweils der zugehörigen Zeile hinzugefügt. Zur Korrektur von Einzelfehlern wird lediglich der Inhalt der durch die Sicherungsdaten eindeutig als gestört erkannten Speicherabschnitte invertiert. Weitere Einzelheiten der Erfindung seien nachfolgend anhand der Zeichnungen naher erläutert. Im einzelnen zeigen: FIG 1 das Blockschaltbild eines Hybrid-Assoziativ speichers gemäss der Erfindung in schematischer Darstellung, FIG 2 Zeitdiagramme zur Erläuterung des Zusammenarund FIG 3 beitens zwischen Basisspeicher und Assoziations matrix ohne und ast Oberflächenpuffer für einen Hybrid-Assoziativspeicher gemäss dem Stand der Technik, FIG 4 Zeitdiagramme zur Erläuterung des Zusammenarund FIG 5 beitens zwischen Basisspeicher und Assoziations matrix ohne und mit Oberflächenpuffer für einen Hybrid-Assoziativspeicher gemäss FIG 1, FIG 6 in Anlehnung an FIG 1 den schematischen Auf bau der Einrichtung zur Sicherung der Daten im Basisspeicher, FIG 7 die Anordnung der Speicherabschnitte einer Zeile zur Ableitung der Sicherungsdaten bei der Kreuz sicherung und FIG 8 in Anlehnung an FIG 1 den schematischen Aufbau der Einrichtung zur Prüfung und Korrektur der Daten aus dem Basisspeicher. Der in FIG 1 gezeigte schematische Aufbau des Hybrid Assoziativspeichers gemäss der Erfindung gliedert sich von unten nach oben in einen Pufferspeicher P-SP zum Einschreiben von Daten, eine Einrichtung S-GEN zur Sicherung der Daten, den aus den Teilspeichern T-SP1 bis T-SPn bestehenden Basisspeicher B-SP, die gemeinsame Durchschalteeinrichtung DSE, eine Einrichtung S-PR zur Prüfung der gelesenen Daten mit einer nachgeschalteten Einrichtung D-K zur Korrektur fehlerhafter Daten, eine als Oberflächenpuffer OP wirkende Speichereinheit und die Assoziationsmatrix AM. Die Assoziationsmatrix AM besteht in an sich bekannter Weise aus Gruppen zeilenweise angeordneter Vergleicher für jeweils ein Bit, die zeilenweise durch eine Zeilenauswahlschaltung gelesen werden können bzw. spaltenweise über die gesamte Zellenbreite beliebig maskierbar sind. Dabei wird bei jeder Ansteuerung ein durch die Maske freigegebenes Bit des Suchargumentes mit einem Datenbit aus dem Basisspeicher verglichen. Stimmen alle innerhalb einer Zeile miteinander verglichenen Bits überein, so wird ein Treffer gemeldet und die zugehörige Speicherzeile ausgelesen. Der Aufbau derartiger Assoziatiationsmatrizen ist allgemein bekannt. In der Zeichnung wurde daher auf die Darstellung der zusätzlich benötigten Bauteile verzichtet und stattdessen nur Pfeile eingesetzt, die auf diese Bauteile hinweisen. Es handelt sich dabei um die Zeilenauswahl anhand einer Zeilenadresse Z-AD, die Bereitstellung des Suchargumentes ARG und die Maskierung M sowie die Auswertung der Treffer TREF und die Ausgabe AUS für die Daten einer Zeile. Die Assoziationsmatrix AM besteht beispielsweise aus 32 Zeilen mit jeweils 8 Byte zu je 8 Bit, so dass insgesamt 256 Byte oder 2048 Bit assoziativ erfasst werden. Diese Bit müssen alle gleichzeitig der Assoziationsmatrix AM aus dem Basisspeicher B-SP zur Verfügung gestellt werden. Mit der Assoziationsmatrix AM ist eine entsprechend organisierte Speichereinheit als Oberflächenpuffer für entsprechend viele Datenbit gekoppelt, der zusammen mit der Assoziationsmatrix AM wie ein konventioneller Assoziativspeicher arbeitet, allerdings mit dem Unterschied, dass ein paralleler Zugang zu allen einzelnen Speicherzeilen vorgesehen ist. Assoziationsmatrix AM und Oberflächenpuffer OP lassen sich integriert durch eine Reihe gleichartiger LSI-Bausteine, beispielsweise für jeweils 16 assoziative Bitstellen, realisieren. Neben der assoziativen Oberfläche, bestehend aus der Assoziationsmatrix AM und dem Oberflächenpuffer OP, ist der Basisspeicher B-SP wesentlicher Bestandteil des Hybrid-Assoziativspeichers. Dieser Basisspeicher gliedert sich in mehrere selbständige Teilspeicher T-SP1 bis T-SPn. Diese Teilspeicher T-SP... bestehen jeweils in Etagen Ubereinander geschichteten Speichereinheiten PS-E, die jeweils analog dem Oberflächenpuffer OP der assoziativen Oberfläche organisiert sind, d.h. diese Speichereinheiten weisen bei gleicher matrixförmiger Anordnung Je Bit einen Speicherabschnitt auf, so dass jeweils ein Speicherabschnitt in jeder Speichereinheit SP-E miteinander korrespondiert und alle diese miteinander korrespondierenden Speicherabschnitte zum selben Assoziationsfeld der asscziativen Oberfläche durchschaltbar sind. Den vielfältigen Betriebsbedingungen des Assoziativspeichers entsprechend sind mit den einzelnen Teilspeichern T-SP... Auswahlschaltmittelzur Auswahl jeweils einer der Speichereinheiten SP-E, für die einzelnen Zeilen und auch für die einzelnen Spalten innerhalb jeder Speichereinheit SP-E vorgesehen. Derartige Auswahlschaltmittel in Verbindung mit dreidimen-sionalen Speichern sind allgemein bekannt und daher nicht gesondert dargestellt. Stattdessen sind die dadurch gegebenen Auswahlmöglichkeiten lediglich durch Adressenpfeile angedeutet, nämlich für die Speichereinheiten die Auswahl durch die Adresse E-AD,für die Zeilen durch die Adresse Z-AD und für die Spalten durch die Adresse S-AD. Darüberhinaus ist eine Auswahlschaltung für die Auswahl der einzelnen Teilspeicher T-SP1 erforderlich, was durch die Adressenpfeile T-AD angedeutet ist. Die einzelnen Teilspeicher T-SP... werden in an sich bekannter Weise aus Speicherbausteinen zusammengesetzt. Für die Realisierung von sehr grossen Speicherkapazitäten im Megabyte-Bereich sind das zur Zeit langsamere MOS Speicherbausteine, etwa bis zu 64 k-Bit und mit einer Zykluszeit von 200 bis'500 ns. Die Verbindung der einzelnen Teilspeicher T-SP1 bis T-SPn des Basisspeichers B-SP mit der assoziativen Oberfläche wird durch die Durchschalteeinrichtung DSE hergestellt. Dabei werden jeweils die Informationen einer gesamten Speichereinheit SP-E aus dem Basisspeicher B-SP zur assoziativen Oberfläche, d.h. zum Oberflächenspeicher OP, übertragen und dort zwischengespeichert. Gemäss dem gewählten Beispiel werden also 2048 Bitstellen-Verbindungen jeweils gleichzeitig hergestellt, was durch die kreuzweise angeordneten Datenflusspfeile der einzelnen Bausteine angezeigt ist. Die Durchschalteeinrichtung DSE kann daher aus 2048 Einzelmultiplexern bestehen, die ebenfalls matrixförmig angeordnet sind und jeweils eine der Anzahl der Teilspeicher T-SP... entsprechende Anzahl von Einstellungen aufweisen. Die Auswahl dieser Einstellungen erfolgt analog der Auswahl der Teilspeicher T-SP... anhand der zugehörigen Adresse T-AD. Auch derartige Multiplexerbausteine in integrierter Schaltkreistechnik sind allgemein bekannt. Da voraussetzungsgemäss die Zykluszeit für die assoziative Oberfläche wesentlich kleiner ist als die Zykluszeit des Basisspeichers, sind bestimmte Zeitbedingungen einzuhalten, damit die für die Assoziation benötigten Daten aus dem Basisspeicher jeweils rechtzeitig zur Verfügung gestellt werden können. Zur Veranschaulichung dieser Zusammenhänge sei zunächst auf die Zeitdiagramme der Figuren 2 bis 5 Bezug genommen. Die Zeitdiagramme von FIG 2 und FIG 3 beziehen sich dabei auf die Verhältnisse bei den bisher bekannten Hybrid-Assoziativspeichern und die von FIG 4 und 5 auf die Verhältnisse beim#Hybrid-Asso- ziativspeicher gemäss der Erfindung. FIG 2 zeigt in Gegenüberstellung die Zyklusfolge des Basisspeichers B-SP und der assoziativen Matrix AM. Beginnt der Speicherzyklus zum Zeitpunkt t0, so steht der Speicherinhalt der angesteuerten Speichereinheit En erst nach Ablauf der Zykluszeit tAW für die Bearbeitung durch die Assoziatitnsmatrix AM zur Verfügung. Anschliessend muss der gelesene Speicherinhalt für die Zykluszeit tAS der Assoziationsmatrix infolge Fehlens eines Oberflächenpuffers zur Verfügung gestellt bleiben, so dass erst mit Ende des Arbeitszyklus für die Assoziationsmatrix der Lesezyklus für die nächstfolgende Speichereinheit En+1 eingeleitet werden kann. Da für die Bereitstellung des Speicherinhaltes dieser neuen Speichereinheit wiederum der volle Speicherzyklus tAW erforderlich ist, ergibt sich daraus eine entsprechend grosse Pausenzeit tP für die Assoziationsmatrix AM. Die Geschwindigkeit der Assoziationsmatrix AM kann daher nicht befriedigend genutzt werden. Bei Verwendung eines zusätzlichen Oberflächenpuffers OP gemäss FIG 3 verkürzt sich die Pausenzeit tp zwischen zwei aufeinan#derfolgenden Zyklen der Assoziationsmatrix AM annähernd um die Zykluszeit tAS der Assoziationsmatrix, da am Ende eines Lesezyklus für den Basisspeicher B-SP die gelesene Information nur solange zur Verfügung gestellt werden muss, bis sie der Oberflächenpuffer OP übernommen hat. Der Zyklus für das Lesen der nachfolgenden Speichereinheit En+1 kann daher entsprechend früher gestartet werden, was letztendlich zur Verkürzung der Pausenzeit tp führt. Ganz anders gestalten sich die Verhältnisse bei dem Hybrid-Assoziationsspeicher gemäss der Erfindung. Dabei sei unterstellt, dass insgesamt vier Teilspeicher T-SP1 bis T-SP4 als Basisspeicher vorgesehen sind und dass die Zykluszeiten tAW für die einzelnen Teilspeicher viermal so gross sind wie die Zykluszeit tAS für die Assoziationsmatrix AM. Wird gemäss dem Beispiel von FIG 4 der Lesezyklus für das Lesen der Einheit En zum Zeitpunkt to gestartet, so steht der gelesene Speicherinhalt wiederum nach Ablauf der Zykluszeit tAW für die Assoziationsmatrix AM zur Verfügung und infolge Fehlens des Oberflächenpuffers kann der Lesezyklus für die darauffolgende Speichereinheit En+1 erst mit Ende des Arbeitszyklusses für die Assoziationsmatrix gestartet werden. Startet man nun den Lesezyklus für den Teilspeicher T-SP2 um-die Zykluszeit tAS der Assoziationsmatrix AM gegenüber dem Lesezyklus für den Teilspeicher T-SP1 verzögert, so steht der aus dem Teilspeicher T-SP2 gelesene Speicherinhalt zeitgerecht am Ende des ersten Arbeitszyklus der Assoziationsmatrix AM zur Verfügung, so dass diese ohne Pause weiter arbeiten kann. Werden demzufolge die Lesezyklen der übrigen Teilspeicher T-SP3 und T-SP4 ebenfalls um die Zykluszeit tAS der Assoziationsmatrix AM , verzögert gestartet, so können die Speicherinhalte von vier verschiedenen Speichereinheiten pausenlos aufeinanderfolgend von der Assoziationsmatrix AM verarbeitet werden. Lediglich im Anschluss'daran entsteht eine Pause tp von der Dauer einer Zykluszeit tAS, da innerhalb eines Teilspeichers, z.B. T-SP1, die einzelnen Lesezyklen wegen des fehlenden Oberflächenpuffers OP nicht unterbrechungslos aufeinanderfolgen können. Ein Vergleich der Verhältnisse von FIG 4 mit denen von FIG 2 oder FIG 3 jedoch zeigt, dass sich die Pausenzeit tp für die Assoziationsmatrix AM durch die Aufteilung des Basisspeichers B-SP in mehrere Teilspeicher T-SP... unter Berücksichtigung der gegebenen Zykluszeiten wesentlich verringern lässt. Sieht man ausserdem analog zum Beispiel gemäss FIG 3 einen Oberflächenpuffer OP vor, so entfällt auch diese Pausenzeit, wie FIG 5 zeigt, weitgehend, da die Lesezyklen innerhalb der einzelnen Teilspeicher nur mit kurzen Unterbrechungen für die Übergabe der Speicherinhalte an den Oberflächenpuffer OP aneinandergereiht werden können. Dagegen wäre der Oberflächenpuff er enbehrlich, wenn die Zykluszeit der assoziativen Oberfläche gleich dem (1/n-1)fachen der Speicherzykluszeit bei n Teilspeichern gewählt werden kann. Trotz :Verwendung von Speicherbausteinen mit im Vergleich zur assoziativen Oberfläche rel#ativ langen Zykluszeiten für den Basisspeicher B-SP kann also die Datenrate zur Versorgung der Assoziationsmatrix AM aus dem Basisspeicher B-SP trotz der schnelleren Zykluszeit aufrechterhalten werden, wenn der Basisspeicher in mehrere Teilspeicher T-SP... untergliedert wird, die überlappend und entsprechend voreilend arbeiten. Das zeitgerechte Arbeiten der einzelnen Teilspeicher T-SP... kann dadurch sichergestellt werden, dass die Teilspeicheradresse T-AD und die Adresse E-AD für die jeweilige Speichereinheit SP-E entsprechend phasenverzögert den einzelnen Teilspeichern zur Verfügung gestellt wird, oder dass die Adresse E-AD für die einander korrespondierenden Speichereinheiten SP-E in den einzelnen Teilspeichern T-SP.. jeweils nur dem Eingangsadressenregister des ersten Teilspeichers T-SP1 , zur Verfügung gestellt wird und dass dann diese Adresse zeitgerecht an Adressenregister der nachfolgenden Teilspeicher weitergeleitet wird. Die Koordinierung der erforderlichen einzelnen Takte für die Durchschalteeinrichtung DSE und den Basisspeicher B-SP wie auch für die übrigen Baugruppen kann in einfacher und an sich bekannter Weise durch einen zentralen Taktgenerator sicherogestellt werden. Assoziationsvorgänge durch die Assoziationsmatrix AM werden also durch fortlaufende Auswahl von Speichereinheiten SP-E anhand der Teiladressen T-AD zur Kennzeichnung des jeweiligen Teilspeichers T-SP... und E-AD zur Kennzeichnung der jeweiligen Speichereinheit SP-E sowie durch uebergabe der in den gelesenen Speichereinheiten enthaltenen Daten über die Durchschalteeinrichtung DSE zum Oberflächenpuffer OP der assoziativen Oberfläche abgewickelt. In analoger Weise erfolgt auch das gezielte Lesen von Daten aus dem Basisspeicher B-SP, indem zunächst die zugehörige Speichereinheit SP-E in einem der Teilspeicher T-SP... adressiert und über die Durchschalteeinrichtung DSE der Assozigtionsoberfläche zur Verfügung gestellt wird undAdann anhand der eingestellten Zeilenadresse Z-AD unter Assschaltung des Assoziationsvorganges die Daten der ausgewählten Zeile ausgelesen werden. Demgegenüber werden Daten undabhängig von der Assoziationsmatrix in den Basisspeicher B-SP eingegeben. Hierin besteht ein weiterer wesentlicher Unterschied des in FIG 1 dargestellten Hybridassoziativspeichers gegenüber den bekannten Ausführungsformen. Dabei sind zwei Einzelfälle zu unterscheiden, nämlich das Einspeichern von Daten für eine gesamte Speichereinheit oder aber nur für eine einzige Zeile bzw. Spalte innerhalb einer Speichereinheit. Das übertragen von Daten für eine oder mehrere vollständige Speichereinheiten SP-E erfolgt bezogen auf FIG 1 mit dem im unteren Teil vorgesehenen Pufferspeicher P-SP, in den -gesteuert durch eine Zeilenauswahl, angedeutet durch den Adressenfall Z-AD, oder aber auch durch eine zusätzliche, im einzelnen nicht angedeutete Spaltenauswahl-die Daten zunächst zeilen- bzw. spaltenweise übernommen werden. Ist der Pufferspeicher P-SP auf diese Weise gefüllt, wird anhand der Teiladressen T-AD und E-AD die Speichereinheit SP-E im Basisspeicher B-SP ausgewählt, in die der Dateninhalt des Pufferspeichers P-SP übertragen werden soll. Das Aufsammeln der Daten im Pufferspeicher P-SP hat zunächst den Vorteil, dass nicht alle Zeilen bzw. Spalten von Daten an den Basisspeicher B-SP einzeln übergeben werden müssen und damit die Übergabe wegen der relativ langsamen Arbeitsgeschwindigkeit des Basisspeichers zu viel Zeit beansprucht. Die Übergabezeit wird vielmehr auf die Dauer eines einzigen Speicherzyklus reduziert, wenn für den Pufferspeicher P-SP analog wie für den Oberflächenpuffer OP schnell arbeitende Bausteine verwendet werden. Darüber hinaus bietet der Pufferspeicher P-SP den Vorteil, dass bereits Daten zur uebergabe in den Basisspeicher B-SP aufgesammelt werden können, wenn-der Basisspeicher infolge Zusammenarbeit mit der assoziativen Oberfläche noch nicht zur Verfügung steht Durch Ausdehnen der Speicherkapazität des Pufferspeichers P-SP auf die Speicherkapazität von mehreren Speichereinheiten SP-E des Basisspeichers B-SP besteht weiterhin die Möglichkeit, für verschiedene Speichereinheiten SP-E im Basisspeicher bestimmte Daten vorab im Pufferspeicher so einzuordnen, dass sie nach dem Aufsammeln den zugeordneten Speichereinheiten SP-E in grösseren Gruppen parallel übergeben werden können. Die Übergabe an den Basisspeicher erfolgt in diesem Falle vorzugsweise, wenn eine der Speichereinheiten des Pufferspeichers P-SP aufgefüllt ist. Damit besteht die Möglichkeit, grosse Mengen von Daten, beispielsweise aus einem Hintergrundspeicher, in kurzer Zeit an den Basisspeicher B-SP zu übergeben. Im Gegensatz dazu steht das Einschreiben einzelner Zeilen oder Spalten in den Basisspeicher B-SP. Auch hierzu kann der Pufferspeicher P-SP verwendet werden, wenn einerseits die Eingabe einer Datenzeile unter der zugehörigen Zeilenadresse Z-AD erfolgt, was durch eine Zeilenauswahlschaltung des Pufferspeichers sichergestellt werden kann, und wenn andererseits eine Schreib Inhibitsteuerung am Pufferspeicher B-SP vorgesehen ist, die sicherstellt, dass lediglich die an den Basisspeicher zu übergebende Zeile freigegeben wird, während alle übrigen Zeilen gesperrt bleiben, damit bei der Übergabe in die zugehörige Speichereinheit SP-E des Basisspeichers B-SP die nicht zu ändernden Datenzeilen unbeeinträchtigt und die darin enthaltenen Daten aufrechterhalten bleiben. Eine andere Möglichkeit zur Übergabe einzelner Datenzeilen in eine vorbestimmte Speichereinheit des Basisspeichers besteht in der direkten Dateneingabe in den Basisspeicher bei vorheriger Auswahl des Teilspeichers T-SP..., der zugehörigen Speichereinheit SP-E und der entsprechenden Zeile oder Spalte in dieser Einheit. Bisher nicht beschrieben wurden die in FIG 1 weiterhin gezeigten Einrichtungen S-GEN, S-PR und D-K. Diese Einrichtungen dienen der Datensicherung, um die Effektivität des Hybrid-Assoziativspeichers zu vergrössern, da bei der Vielzahl von gleichzeitig zu übertragenden Datenbits und der Grösse des zu sichernden Basisspeichers B-SP Fehler einfach nicht ausgeschlossen werden können. Allerdings konnten die für Primärspeicher vergleichbarer Grössenordnung heute meistens verwendeten Sicherungsverfahren mit regenerierenden Codes nicht ohne weiteres übernommen werden, da der Aufwand hierfür viel zu gross wäre. Zurückgegriffen wurde daher auf die an sich bekannte Parity Kreuzsicherung. Jedoch werden nicht die Speicherbits einer Speichereinheit insgesamt der Kreuzsicherung zugrundegelegt,sondern die einzelnen Speicherzellen werden in einzelne Sicherungsgruppen aufgeteilt und einzeln der Kreuzsicherung unterworfen. Äuf diese Weise steht einerseits der zusätzliche Speicheraufwand für die Sicherungsdaten in einem annehmbaren Verhältnis zum Speicheraufwand für die Nutzdaten, und zum anderen lassen sich bei Teiländerungen der Daten innerhalb einer Speichereinheit die neuen Sicherungsdaten leichter gewinnen. Gemäss dem gewählten Ausführungsbeispiel bilden j jeweils acht Byte zu Je acht Bit eine Speicherzeile. Unterstellt man des weiteren, dass die meisten Änderungen zeilenweise erfolgen, so bieten sich die Bit einer Zeile als Sicherungsgruppe an, wobei bei entsprechend günstiger Zuordnung der einzelnen Bit einer solchen Zeile sich zwei zusätzliche Sicherungswörter mit ebenfalls acht Bit je Wort ergeben. Das entspricht einem zusätzlichen Speicheraufwand von 25% der Nutzdatenkapazität, ein-Aufwand, der in Anbetracht der assoziativen Leistung der Oberfläche ohne weiteres tragbar erscheint. FIG 6 zeigt den Aufbau der Einrichtung S-GEN für die Sicherung der in den Basisspeicher B-SP zu übergebenden Daten für eine Zeile Zn. Innerhalb der Einrichtung S-GEN wiederholt sich der gezeigte Aufwand für die Erzeugung der Sicherungswörter PW1 und PW2 bei jeder Zeile. Dieser Aufwand besteht aus jeweils einem Paritybitgenerator PG1 bis PG8 für jedes der eine Zeile bildenden Bytes B1 bis B8, die vom Pufferspeicher P-SP zur Verfügung gestellt werden. Zusätzlich ist ein weiterer Paritybitgenerator PG vorgesehen, der die korrespondierenden Bits der einzelnen Bytes 31 bis 38 miteinander verknüpft und das Sicherungswort PW2 liefert. Die Anordnung der jeweils eine Zeile bildenden Bytes B1 bis B8 zu einer Sicherungsmatrix ist in FIG 7 gezeigt. Dabei ergeben sich die beiden Sicherungswörter PW1 und PW2 in an sich bekannter Weise durch Bilden der Paritybits je Zeile und Spalte. Die Ableitung der einzelnen Sicherungswörter PW1 und PW2 erfolgt vorzugsweise durch Parallelverknüpfung, so dass die erforderlichen Sicherungswörter ohne'wesent- lichen Zeitverzug beim Durchlaufen der Sicherungseinrichtung S-GEN bereitgestellt und zusammen mit den zu übertragenden Nutzdaten an den zuständigen Teilspeicher T-SP... weitergeleitet werden können. FIG 8 zeigt den Aufbau der Einrichtung S-PR zur über prüfung der vom Basisspeicher B-SP über die Durchschalteeinrichtung DSE bereitgestellten Nutzdaten anhand der mitgefuhr-ten Sicherungsdaten und der Datenkorrekturschaltung D-K für die Korrektur etwaiger Datenfehler. Auch hierbei bezieht sich die Darstellung wiederum auf eine Datenzeile. Der Aufbau der Prüfeinrichtung S-PR entspricht weitgehend der der Einrichtung S-GEN. Je Datenwort 31 bis B8 ist je ein Paritybitgenerator PG1 bis PG8 vorgesehen, während der Parityzeichengenerator PG der Verknüpfung der einander entsprechenden Bits in den einzelnen Datenwörtern dient. Die von den Paritybitgeneratoren PG1 bis PG8 erzeugten und das Sicherungswort PW1 bildenden Paritybits werden im Vergleicher VG1 mit dem mitgeführten Sicherungswort PW1 verglichen. Analoges gilt mit Bezug auf den Vergleicher VG2 für das zweite Sicherungswort PW2. In den beiden Ver gleichem VG1 und VG2 werden die Bits der einzelnen Sicherungswörter paarweise miteinander verglichen. Besteht in jedem Falle übereinstimmung als Zeichen dafür, dass kein Fehler vorliegt, so bleiben die Ausgangssignale dieser Vergleicher zur Einrichtung D-K ohne Auswirkung. Im Fehlerfalle Jedoch werden die entsprechenden Bitstellen markiert und von der Einrichtung UM inderEinrich- tung D-K zur Fehlerkorrektur ausgewertet. Die Einrichtung UM bsteht aus einer der Anzahl der die Sicherungsmatrix bildenden Bitstellen entsprechenden Anzahl von UND-Gliedern U, die gegebenenfalls in gleicher Weise matrixförmig angeordnet sein können. Dabei wird jeweils ein Signal des Vergleichers V1 mit jeweils einem Signal des Vergleichers VG2 verglichen. Besteht z.B. mit Bezug auf FIG 7 bezüglich des Bit D im Sicherungswort PW1 und beim Bit E im Sicherungswort PW2 eine Ungleichheit, so kann bei Einzelfehlern eindeutig auf eine Störung des fünften Bits im Datenwort B4 geschlossen werden; Zur Korrektur werden daher in der Einrichtung D-K die Ausgangssignale der Einrichtung UM bitweise in den Korrekturschaltungen ES mit den einzelnen Bits der von der Durchschalteeinrichtung DSE zugeführten Datenwörter B1 bis B8 verknüpft. Hierzu dient je Bit ein exklusives ODER-Gliéd, wodurch ein verfälschtes Bitsignal invertiert und damit korrigiert wird. Auch die in den Einrichtungen S-PR und D-K vorgesehenen Schaltungen arbeiten parallel und damit fast verzögerungsfrei, so dass die zugeführten Nutzdaten B1 bis B8 diese Einrichtungen fast verzögerungsfrei durchlaufen und damit für die assoziative Oberfläche zur Verfügung stehtn. Insgesamt ergibt sich somit ein sehr leistungsfähiger Hybrid-Assoziativspeicher, der vielfältig einsetzbar ist und dessen einzelne Baueinheiten aus entsprechend geeigneten Einzelbausteinen in integrierter Schaltkreistechnik zusammengesetzt werden können.

Claims: Patentansprüche 1. Hybrid-Assoziativspeicher, bestehend aus einer eine Vielzahl von Assoziationsfeldern aufweisenden, Assoziationsmatrix und einem eine Vielzahl von Speichereinheiten aufweisenden, nichtassoziativen Basisspeicher, wobei die Speichereinheiten jeweils analog der Assoziationsmatrix aus den Assoziationsfeldern entsprechenden Speicherabschnitten zusammengesetzt sind, so dass jeweils ein Speicherabschnitt aus jeder Speichereinheit miteinander und mit demselben Assoziationsfeld der Assoziationsmatrix korrespondiert und der Inhalt jedes Speicherabschnittes zu dem zugehörigen Assoziationsfeld der Assoziationsmatrix übertragbar ist, d a d u r c h g e k e n n z e i c h n e t dass die Speichereinheiten (SP-E) des Basisspeichers (B-SP) zu Gruppen zusammengefasst sind und jede Gruppe einen Teilspeicher (T-SP1) bildet, dass zwischen der Assoziationsmatrix (AM) und dem Basisspeicher (B-SP) eine Durchschalteeinrichtung (DSE) angeordnet ist, die die einzelnen Teilspeicher (T-SP1 bis T-SP4) zyklisch nacheinander mit der Assoziationsmatrix (AM) verbindet und dabei alle Speicherabschnitte einer ausgewählten Speichereinheit (SP-E) in einem der Teilspeicher (T-SP...) gleichzeitig zur ¯Assoziationsmatrix (AM) durchschaltet, und dass die Auswahl der nacheinander durchzuschaltenden Speichereinheiten (SP-E) der einzelnen Teilspeicher (T-SP...) zeitlich überlappend und jeweils so weit voreilend erfolgt, dass bei voller Ausnutzung der Arbeitsgeschwindigkeit der Assoziationsmatrix (AM) trotz Verwendung eines langsamer arbeitenden Basisspeichers (B-SP) die Speicherinhalte der ausgewählten Speichereinheiten (SP-E) rechtzeitig für die Durchschaltung zur Assoziationsmatrix (AM) bereitstehen. 2. Hybrid-Assoziativspeicher nach Anspruch 1, d a d u r c h g e k e n n z e i c h n e t , daB die Anzahl der Teilspeicher (z.B. T-SP1 bis T-SP4) und die Arbeitsgeschwindigkeiten von Assoziationsmatrix (AM) und Basisspeicher (B-SP) so aufeinander abgestimmt sind, dass die Assoziationsmatrix (AM) wenigstens jeweils eine Speichereinheit (SP-E) aller Teilspeicher (T-SP1 bis T-SP4) pausenlos nacheinander Überprüfen kann. 3. Hybrid-Assoziativspeicher nach Anspruch 1 oder 2, d a d u r c h g e k en n z e i c h n e t , dass zwischen der Assoziationsmatrix (AM) und der Durchschalteeinrichtung (DSE) eine gleichartig ausgebildete Speichereinheit als Oberflächenpuffer (OP) angeordnet ist, der zusammen mit der Assoziationsmatrix (AM) wie ein Assoziativspeicher arbeitet. 4. Hybrid-Assoziativspeicher nach einem der Ansprüche 1 bis 3, d a d u r c h g e k e n n z e i c h n e t dass die Durchschalteeinrichtung (DSE) aus einer der Anzahl der Assoziationsfelder entsprechenden Anzahl von Multiplexern mit jeweils einer der Anzahl der Teilspeicher (z.B. T-SP1 bis T-SP4) entsprechenden Anzahl (z.B.. 4) von Einstellungen besteht. 5. Hybrid-Assoziativspeicher nach einem der Ansprüche 1 bis 4, d a d u r c h g e k e n n z e i c h n e t dass das normale Lesen von Daten aus dem Basisspeicher (B-SP) ohne Assoziation ebenfalls über die Assoziationsmatrix in Verbindung mit der Zeilenauswahlschaltung (Z-AD) der Assoziationsmatrix (AM) erfolgt, dass dagegen das Einschreiben von Daten in den Basisspeicher (B-SP) unabhängig von der Assoziationsmatrix (AM) erfolgt. 6. Hybrid-Assoziativspeicher nach Anspruch .5, d a d u- r c h g e k e n n z e i c h n e t , dass für das Einschreiben grösserer Datenmengen aus einem Hintergrund speicher ein gesonderter, schnell arbeitender Pufferspeicher (P-SP) mit der Kapazität wenigstens einer Speichereinheit (SP-E) vorgesehen ist, der zeilenweise geladen wird und die für eine Speichereinheit (SP-E) des Basisspeichers (B-SP) bestimmten Zeilen gleichzeitig an diese übergibt. 7. Hybrid-Assoziativspeicher nach Anspruch 6, d a d u r c h g e k e n n z e i c h n e t , dass bei einem Pufferspeicher (P-SP) mit einer der Speicherkapazität mehrerer Speichereinheiten (SP-E) des Basisspeichers (B-SP) entsprechenden Kapazität und mit Unterteilung in entsprechend grosse Speichereinheiten Daten für verschiedene Speichereinheiten (SP-E) des Basisspeichers (B-SP) im Pufferspeicher (P-SP) durch Verteilen auf unterschiedliche Speichereinheiten entsprechend eingeordnet werden und dass eine übergabe an den Basisspeicher (B-SP) erfolgt, wenn eine Speichereinheit im Pufferspeicher (P-SP) gefüllt ist. 8. Hybrid-Assoziativspeicher nach einem der Ansprüche 1 bis 7, d a d u r c h g e k e n n z e i c h n e t , dass zur Sicherung der Daten im Basisspeicher (B-SP) die Speicherabschnitte je Speichereinheit (SP-E) in Sicherungsgruppen unterteilt und innerhalb jeder Gruppe matrixförmig geordnet werden, dass die Inhalte der so geordneten Speicherabschnitte vor ihrer Einspeicherung in den Basisspeicher (B-SP) einer Parity-Kreuzsicherung (durch S-GEN) unterworfen werden, dass die dabei gewonnenen Sicherungsdaten (PW1, PW2) ebenfalls im Basisspeicher (B-SP) gespeichert werden und dass die aus dem Basisspeicher gelesenen Daten vor übergabe an die assoziative Oberfläche (AM/OP) anhand der Sicherungsdaten (PW1, PW2) überprüft (durch S-PR) und soweit möglich korrigiert (durch D-K) werden. 9. Hybrid-Assoziativspeicher nach Anspruch 8, d a d u r c h g e k e n n z e i c h n e t , dass jeweils die eine Zeile :1 (Zn) bildenden Speicherabschnitte eine Sicherungsgruppe bilden und dass die jeweils gewonnenen Sicherungsdaten (PW1, PW2) jeweils der zugehörigen Zeile hinzugefügt werden. 10. Hybrid-Assoziativspeicher nach Anspruch 8 oder 9, d a d u r c h g e k e n nz e i c h n e t , dass zur Korrektur von Einfachfehlern der Inhalt der durch die Sicherungsdaten (PW1, PW2) eindeutig als gestört erkannten Speicherabschnitte invertiert (durch KS) wird.

Inventors: WOLF, GERHARD, ING.GRAD.
Applicants: SIEMENS AKTIENGESELLSCHAFT
Application year: 1981
Main classification: G11C15
IPC codes: G06F17