DE10105627A1 - Mehrfachanschlussspeichereinrichtung - Google Patents

Mehrfachanschlussspeichereinrichtung

Info

Publication number
DE10105627A1
DE10105627A1 DE10105627A DE10105627A DE10105627A1 DE 10105627 A1 DE10105627 A1 DE 10105627A1 DE 10105627 A DE10105627 A DE 10105627A DE 10105627 A DE10105627 A DE 10105627A DE 10105627 A1 DE10105627 A1 DE 10105627A1
Authority
DE
Germany
Prior art keywords
memory
data
arrangement
address
write
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.)
Granted
Application number
DE10105627A
Other languages
English (en)
Other versions
DE10105627B4 (de
Inventor
George M Lattimore
Juergen Pille
Rolf Sauter
Dieter Wendel
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE10105627A1 publication Critical patent/DE10105627A1/de
Application granted granted Critical
Publication of DE10105627B4 publication Critical patent/DE10105627B4/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098Register arrangements
    • G06F9/30141Implementation provisions of register files, e.g. ports
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1006Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1006Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
    • G11C7/1012Data reordering during input/output, e.g. crossbars, layers of multiplexers, shifting or rotating
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/22Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management 
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2207/00Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
    • G11C2207/22Control and timing of internal memory operations
    • G11C2207/229Timing of a write operation
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99953Recoverability
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99954Version management

Abstract

Die Erfindung bezieht sich auf eine Mehrfachanschlussspeichereinrichtung (200), die mindestens drei Speicheranordnungen (201, 202, 203) umfasst, wobei jede Speicheranordnung mehrere adressierbare Speicherfelder, mindestens einen Schreibanschluss (208-211, 218-221, 228-235) zum Schreiben von Daten in die Speicherfelder abgelegt sind, umfasst. DOLLAR A Im Hinblick auf einen Ansatz der optimierten Verkabelungsverwaltgung wird eine Mehrfachanschlussspeichereinrichtung (200) vorgeschlagen, die ein erstes Speicherfeld einer ersten Speicheranordnung (201) der mindestens drei Speicheranordnungen (201, 202, 203) umfasst, welches die ersten Daten speichert, worin das erste Speicherfeld durch eine erste Adresse identifiziert wird, ein erstes Speicherfeld einer zweiten Speicheranordnung (202) der mindestens drei Speicheranordnungen (201, 202, 203), welches die zweiten Daten speichert, worin dieses erste Speicherfeld dieser zweiten Speicheranordnung (202) ebenfalls durch die erste Adresse identifiziert wird und ein erstes Speicherfeld einer dritten Speicheranordnung (203) der mindestens drei Speicheranordnungen (201, 202, 203), welches Auswahldaten speichert, die angeben, ob die ersten oder die zweiten Daten, die jeweils unter der ersten Adresse, aber in unterschiedlichen Speicheranordnungen abgelegt wurde, zuletzt geschrieben wurden.

Description

Gebiet der Erfindung
Die vorliegende Erfindung bezieht sich auf eine Mehrfachanschlussspeichereinrichtung, ein Verfahren zum Betrieb einer Mehrfachanschlussspeichereinrichtung, einer Einrichtung für nicht ausführbare Verarbeitung, welche diese Speichereinrichtung umfasst, ein Datenverarbeitungssystem, das diese Einrichtung für nicht ausführbare Verarbeitung umfasst, und ein Datenverarbeitungssystem, welches das Verfahren ausführt.
Hintergrund der Erfindung
Eine Mehrfachanschlussspeichereinrichtung umfasst mehrere Anschlüsse. Beim Speicher kann es sich um einen Random Access Memory (RAM) oder einen Static Random Access Memory (SRAM) handeln. Generell stellt jeder Anschluss einen unabhängigen Eingangs- und/oder Ausgangspfad zum Schreiben von Daten in einen Speicher dar. Ein Mehrfachanschlussspeicher kann beispielsweise mehrere Schreib- und Leseanschlüsse umfassen, wobei die Anzahl der Schreibanschlüsse nicht mit jener der Leseanschlüsse identisch sein muss.
Wird versucht, die Anzahl der Schreibanschlüsse eines Mehrfachanschlussspeichers zu erhöhen, so steigen die Verkabelungskomplexität und der Prozentsatz an Fläche, die für die Verkabelung benötigt wird, in Hinblick auf die für die Speicherzelltransistoren sowie die Verkabelung erforderliche Gesamtfläche zum Quadrat der Anschlussanzahl.
Insbesondere in Datenverarbeitungssystemen, die mehrere Mehrfachanschlussspeicher, Mehrfachanschlussregister oder Mehrfachanschlussanordnungen umfassen, wird die Fläche der Siliziumscheibe, die von Speichern, Registern oder Anordnungen mit einer großen Anzahl Anschlüssen beansprucht wird, üblicherweise von der Fläche bestimmt, die für die Verkabelung benötigt wird, und nicht von der Fläche, welche die Transistoren benötigen, aus denen sie bestehen.
Daher ist ein Ansatz für eine optimierte Verkabelungsverwaltung für Mehrfachanschlussregister und Mehrfachanschlussspeicheranordnungen erforderlich.
ÜBERBLICK ÜBER DIE ERFINDUNG
Um die Chipfläche zu reduzieren, die benötigt wird, wenn die Anzahl der Schreibanschlüsse einer Mehrfachanschlussspeicheranordnung mit K Schreibanschlüssen und L Leseanschlüssen erhöht wird (K = 2, 3, 4, . . . und L = 1, 2, 3, . . .), schlägt die vorliegende Erfindung vor, eine solche Mehrfachanschlussspeicheranordnung durch zwei oder mehrere Mehrfachanschlussspeicheranordnungen und eine Auswahlvorrichtung zu ersetzen. Die zwei oder mehreren Mehrfachanschlussspeicheranordnungen sind so gewählt, dass sie insgesamt K Schreibanschlüsse umfassen, und jede Mehrfachanschlussspeicheranordnung umfasst eine Teilmenge der Gesamtanzahl Schreibanschlüsse und L Leseanschlüsse.
In einer bevorzugten Ausführungsart der Erfindung umfassen daher die zwei oder mehreren Mehrfachanschlussspeicheranordnungen jeweils die gleiche Anzahl und die gleichen Adressen, die zum Schreiben von Daten auf sie zur Verfügung stehen. Da festgelegt werden muss, ob die ersten Daten, die in eine spezifische Adresse der ersten Mehrfachanschlussspeicheranordnung geschrieben wurden, jünger oder älter sind als die zweiten Daten, die auf die gleiche spezifische Adresse - allerdings einer zweiten oder weiteren Mehrfachanschlussspeicheranordnung - geschrieben wurden, schlägt die Erfindung die Verwendung einer Auswahlvorrichtung vor. Die erfindungsgemäße Auswahlvorrichtung speichert für jede verfügbare Adresse für die zwei oder mehreren Mehrfachanschlussspeicheranordnungen, in welche davon zuletzt Daten geschrieben wurden.
In einer anderen bevorzugten Ausführungsart der Erfindung umfasst die Auswahlvorrichtung eine Mehrfachanschlussspeicheranordnung. Bevorzugterweise umfasst die Mehrfachanschlussspeicheranordnung der Auswahlvorrichtung die gleiche Anzahl Adressen und die gleichen Adressen wie jede der zwei oder mehreren Mehrfachanschlussspeicheranordnungen für die Datenspeicherung, worin die zwei oder mehreren Mehrfachanschlussspeicheranordnungen vorzugsweise alle gleich sind.
In einer weiteren bevorzugten Ausführungsart der Erfindung ist jeder Schreibanschluss der Speicheranordnung der Auswahlvorrichtung mit einem anderen Schreibanschluss der zwei oder mehreren Mehrfachanschlussspeicheranordnungen verbunden, und die eine oder mehreren auf die zwei oder mehreren Mehrfachanschlussspeicheranordnungen bei einem oder mehreren Schreibzyklen angewendete(n) Adresse(n) wird auch auf die Mehrfachanschlussspeicheranordnung der Auswahlvorrichtung angewendet. Die Auswahlvorrichtung speichert ein oder mehrere Steuerbits unter der Adresse, die auf ihren eine Adresseneingang oder ihre mehreren Adresseneingänge angewendet wurde, welche angeben, über welchen Schreibanschluss der zwei oder mehreren Mehrfachanschlussspeicheranordnungen und/oder in welche Speicheranordnung Daten zuletzt in die spezifische Adresse der zwei oder mehreren Mehrfachanschlussspeicheranordnungen geschrieben wurden. Umfasst die erfindungsgemäße Mehrfachanschlussspeichereinrichtung beispielsweise zwei Mehrfachanschlussspeicheranordnungen für die Datenspeicherung, muss für jede Adresse der beiden Mehrfachanschlussspeicheranordnungen nur ein Einzelsteuerbit der höheren oder der unteren Ebene gespeichert werden. Das Einzelsteuerbit wird in der Speicheranordnung der Auswahlvorrichtung gespeichert und ermöglicht die Angabe, in welche der beiden Mehrfachanschlussspeicheranordnungen zuletzt Daten für eine spezifische Adresse geschrieben wurden. Gleichermaßen umfasst die Speicherkapazität der Speicheranordnung der Auswahlvorrichtung nur ein Einzelbit.
Es versteht sich, dass die Speicherkapazität pro Adresse auf zwei oder mehrere Steuerbits erhöht werden muss, falls mehr als zwei Mehrfachanschlussspeicheranordnungen verwendet werden, damit anhand der gespeicherten Steuerbits angegeben werden kann, in welche der mehr als zwei Mehrfachanschlussspeicheranordnungen für die Datenspeicherung zuletzt Daten geschrieben wurden.
In einer nochmals weiteren bevorzugten Ausführungsart der Erfindung umfasst die Auswahlvorrichtung der erfindungsgemäßen Mehrfachanschlussspeichereinrichtung eine Multiplexer-Gruppe. Die Eingänge jedes Multiplexers sind mit einem Leseanschluss der verschiedenen Mehrfachanschlussspeicheranordnungen für die Datenspeicherung verbunden, und ein weiterer Auswahleingang jedes Multiplexers ist mit einem unterschiedlichen Leseanschluss der Speicheranordnung der Auswahlvorrichtung verbunden. Werden während eines Lesevorgangs ein oder mehrere Steuerbits auf den Auswahleingang jedes Multiplexers angewendet, steuern die Steuerbits jeden Multiplexer so, dass er nur die zuletzt geschriebenen Daten ausgibt, die in den zwei oder mehreren Mehrfachanschlussspeicheranordnungen für Datenspeicherung für eine spezifische Adresse abgelegt sind.
Die vorstehende Zusammenfassung der vorliegenden Erfindung soll nicht jede Ausführungsart oder jede Implementierung der vorliegenden Erfindung beschreiben. Vorteile und Errungenschaften werden, gemeinsam mit einem umfassenderen Verständnis der Erfindung, unter Bezugnahme auf die nachfolgende ausführliche Beschreibung, die Ansprüche und die dazugehörigen Zeichnungen offensichtlich und nachvollziehbar.
KURZBESCHREIBUNG DER ZEICHNUNGEN
Fig. 1 stellt ein allgemeines Blockdiagramm einer bekannten Mehrfachanschlussanordnung dar;
Fig. 2 stellt ein allgemeines Blockdiagramm einer erfindungsgemäßen Mehrfachanschlussspeichereinrichtung dar, welche dieselbe Funktionalität umfasst wie die in Fig. 1 gezeigte Mehrfachanschlussanordnung.
Fig. 1 zeigt ein Beispiel einer bekannten Mehrfachanschlussspeicheranordnung 100. Die Mehrfachanschlussspeicheranordnung 100 umfasst acht Schreibanschlüsse 1 bis 8 (101 bis 108), einen Adressenanschluss 109 und einen Lese-/Schreibsteueranschluss 110 sowie vier Leseanschlüsse 1 bis 4 (111 bis 114).
Fig. 2 zeigt eine erfindungsgemäße Mehrfachanschlussspeichereinrichtung 200, welche dieselbe Funktionalität umfasst wie die in Fig. 1 gezeigte Mehrfachanschlussspeicheranordnung. Die Mehrfachanschlussspeichereinrichtung 200 umfasst eine Speicheranordnung 1 (201), eine Speicheranordnung 2 (202), eine Steueranordnung 203, einen Multiplexer 1 (204), einen Multiplexer 2 (205), einen Multiplexer 3 (206) und einen Multiplexer 4 (207).
Die Speicheranordnung 1 (201) umfasst vier Schreibanschlüsse 1 bis 4 (208 bis 211) und vier Leseanschlüsse 1 bis 4 (214 bis 217) sowie einen Adressenanschluss 212 und einen Lese- /Schreibsteueranschluss 213.
Die Speicheranordnung 2 (202) ist identisch mit der Speicheranordnung 1 (201) und umfasst vier Schreibanschlüsse 1 bis 4 (218 bis 221), vier Leseanschlüsse 1 bis 4 (224 bis 227), einen Adressenanschluss 222 und einen Lese- /Schreibsteueranschluss 223.
Die Steueranordnung 203 umfasst acht Schreibanschlüsse 1 bis 8 (228 bis 235), vier Leseanschlüsse 1 bis 4 (236 bis 239), einen Adressenanschluss 256 und einen Lese- /Schreibsteueranschluss 257.
Der Multiplexer 1 umfasst zwei Dateneingänge 240 und 241, einen Ausgang, bezeichnet als Leseanschluss M1 (242), und einen Auswahleingang 243, der Multiplexer 2 umfasst zwei Dateneingänge 244 und 245, einen Ausgang 246, bezeichnet als Leseanschluss M2, und einen Auswahleingang 247, der Multiplexer 3 umfasst zwei Dateneingänge 248 und 249, einen Ausgang 250, bezeichnet als Leseanschluss M3, und einen Auswahleingang 251 und der Multiplexer 4 umfasst zwei Dateneingänge 252 und 253, einen Ausgang 254, bezeichnet als Leseanschluss M4, und einen Auswahleingang 255.
Der Leseanschluss 4 (214) der Speicheranordnung 1 (201) ist mit dem Dateneingang 252 des Multiplexers 4 (207) verbunden, der Leseanschluss 3 (215) der Speicheranordnung 1 (201) ist mit dem Dateneingang 248 des Multiplexers 3 (206) verbunden, der Leseanschluss 2 (216) der Speicheranordnung 1 (201) ist mit dem Dateneingang 244 des Multiplexers 2 (205) verbunden und der Leseanschluss 1 (217) ist mit dem Dateneingang 240 des Multiplexers 1 (204) verbunden.
Der Leseanschluss 1 (224) der Speicheranordnung 2 (202) ist mit dem Dateneingang 241 des Multiplexers 1 (204) verbunden, der Leseanschluss 2 (225) der Speicheranordnung 2 (202) ist mit dem Dateneingang 245 des Multiplexers 2 (205) verbunden, der Leseanschluss 3 (226) der Speicheranordnung 2 (202) ist mit dem Dateneingang 249 des Multiplexers 3 (206) verbunden und der Leseanschluss 4 (227) der Speicheranordnung 2 (202) ist mit dem Dateneingang 253 des Multiplexers 4 (207) verbunden.
Der Leseanschluss 1 (236) der Steueranordnung 203 ist mit dem Auswahleingang 243 des Multiplexers 1 (204) verbunden, der Leseanschluss 2 (237) der Steueranordnung 202 ist mit dem Auswahleingang 247 des Multiplexers 2 (205) verbunden, der Leseanschluss 3 (238) der Steueranordnung 203 ist mit dem Auswahleingang 251 des Multiplexers 3 (206) verbunden und der Leseanschluss 4 (239) der Steueranordnung 203 ist mit dem Auswahleingang 255 des Multiplexers 4 (207) verbunden.
Im Folgenden wird die Funktionsweise der erfindungsgemäßen Mehrfachanschlussspeichereinrichtung 200 detailliert beschrieben. Mit Hinblick auf Fig. 1 wird angenommen, dass jede Datenverarbeitungseinheit (nicht dargestellt) einer Vielzahl von acht Datenverarbeitungseinheiten (nicht dargestellt) mit einem unterschiedlichen Schreibanschluss der Schreibanschlüsse 1 bis 8 (101 bis 108) der bekannten Speicheranordnung 100 verbunden ist.
Werden ein oder mehrere geeignete Schreibsteuersignale auf den Lese-/Schreibsteueranschluss 110 angewendet, ist jede der Datenverarbeitungseinheiten in der Lage, Daten gleichzeitig oder parallel auf eine spezifische Adresse der verfügbaren Adressen, die auf den zugehörigen Schreibanschluss angewendet wurde, zu schreiben und dort zu speichern. Dies geschieht durch Anwendung eines oder mehrerer geeigneter Adressensignale auf den Adressenanschluss 109 der bekannten Speicheranordnung 100. Über jeden der Schreibanschlüsse 1 bis 8 (101 bis 108) können Daten auf jede beliebige Adresse der bekannten Speicheranordnung 100 geschrieben werden. Es muss nur dafür gesorgt werden, dass Daten nicht zur gleichen Zeit, im gleichen Schritt oder Taktzyklus über verschiedene Schreibanschlüsse auf dieselbe Adresse geschrieben werden. Anderenfalls wären die an einer solchen Adresse gespeicherten Dateninhalte unbestimmt, wie dies Fachleuten bekannt ist.
Werden über den Schreibanschluss (101) Daten unter Adressennummer 1 in einem ersten Schritt oder Taktzyklus geschrieben und gespeichert und in einem zweiten Schritt oder Taktzyklus Daten auf dieselbe Adresse entweder über den Schreibanschluss (101) oder einen anderen der Schreibanschlüsse 2 bis 8 geschrieben, so werden die alten Daten von den neuen überschrieben.
Werden ein oder mehrere geeignete Lesesteuersignale auf den Lese-/Schreibsteueranschluss 110 und eine oder mehrere Adressen auf den Adressenanschluss 109 der bekannten Speicheranordnung 100 angewendet, so können über jeden der Leseanschlüsse 1 bis 4 (111 bis 114) Daten gleichzeitig oder parallel über die Leseanschlüsse 1 bis 4 der bekannten Speicheranordnung 100 durch eine Vielzahl weiterer Datenverarbeitungseinheiten (nicht dargestellt) gelesen werden, von denen jede mit einem Leseanschluss der Leseanschlüsse 1 bis 4 (111 bis 114) verbunden ist. Die Einschränkung, die für den Schreibvorgang gilt, nämlich dass nur eine einzige Einheit gleichzeitig auf dieselbe Adresse schreiben darf, gilt nicht für das Lesen von Daten aus der bekannten Speicheranordnung 100.
Werden in einem dritten Schritt oder Taktzyklus die unter Adressennummer 1 gespeicherten Daten über einen oder mehrere der Leseanschlüsse 1 bis 4 (111 bis 114) der bekannten Speicheranordnung 100 gelesen, so werden die Daten gelesen, die im zweiten Schritt oder Taktzyklus auf Adressennummer 1 geschrieben wurden, d. h. die letzten bzw. jüngsten unter Adressennummer 1 gespeicherten Daten.
Es wird nun angenommen, dass in einem ersten Schritt oder Taktzyklus Daten auf ähnliche Art und Weise über Schreibanschluss 1 (208) auf Adressennummer 1 der Speicheranordnung 1 (201) der erfindungsgemäßen Mehrfachanschlussspeichereinrichtung 200 von einer Datenverarbeitungseinheit (nicht dargestellt) aus einer Vielzahl von acht Verarbeitungseinheiten (nicht dargestellt) geschrieben werden, von denen jede mit einem unterschiedlichen Schreibanschluss der Schreibanschlüsse 208 bis 211 und 218 bis 221 der beiden Speicheranordnungen 1 und 2 (201 und 202) verbunden ist.
In einem zweiten Schritt oder Taktzyklus sollen nun Daten auf ähnliche Art und Weise über Schreibanschluss 1 (218) oder einen anderen der Schreibanschlüsse 1 bis 4 (218 bis 221) der Speicheranordnung 2 (202) auf Adressennummer 1 der Speicheranordnung 2 (202) geschrieben werden. Ohne weitere Maßnahmen, wie sie später beschrieben werden, ist es offensichtlich nicht möglich festzustellen, ob die Daten, die in Adressennummer 1 der Speicheranordnung 1 gespeichert wurden, oder die Daten, die in Adressennummer 1 der Speicheranordnung 2 gespeichert wurden, die letzten bzw. jüngsten Daten für Adressennummer 1 sind, da im Gegensatz zur bekannten Speicheranordnung 100, welche ebenfalls acht Schreibanschlüsse umfasst, die Daten auf unterschiedlichen physischen Speicheranordnungen gespeichert sind und daher im zweiten Schritt nicht überschrieben werden, wenn auf dieselbe Adresse geschrieben wird.
Um diese Feststellung zu ermöglichen, schlägt die vorliegende Erfindung die Verwendung einer Steueranordnung vor, die speichert, in welche der beiden Speicheranordnungen 1 oder 2 der Mehrfachanschlussspeichereinrichtung 200 zuletzt Daten für jede verfügbare Adresse in beiden Speicheranordnungen geschrieben wurden. In diesem Beispiel würde Steueranordnung 203 im ersten Schritt oder Taktzyklus erste sogenannte Auswahldaten speichern, mit der Angabe, dass Daten auf Adressennummer 1 der Speicheranordnung 1 geschrieben wurden und vorzugsweise die alten oder ersten Auswahldaten in einem zweiten Schritt oder Taktzyklus von zweiten Auswahldaten überschrieben würden, mit der Angabe, dass Daten auf Adressennummer 1 der Speicheranordnung 2 geschrieben wurden. Dadurch kann festgestellt werden, welche Daten auf der gleichen Adresse - jedoch in zwei oder mehr unterschiedlichen Speicheranordnungen - die aktuellsten Daten sind und somit für die weitere Verarbeitung verwendet werden sollen.
Jeder der Schreibanschlüsse 1 bis 8 (228 bis 235) der Steueranordnung 203 ist mit dem entsprechenden Schreibanschluss der Schreibanschlüsse 1 bis 4 (208 bis 211) der Speicheranordnung 1 (201) und der Schreibanschlüsse 1 bis 4 (218 bis 221) der Speicheranordnung 2 (202) (nicht dargestellt) verbunden. Zusätzlich werden die Adressensignale auf den Adressenanschluss 256 der Steueranordnung 203 angewendet, wenn auf die Speicheranordnung 1 (201) oder die Speicheranordnung 2 (202) geschrieben wird (nicht dargestellt). Um das Schreiben auf die Steueranordnung 203 zu ermöglichen, wird ein geeignetes Schreibsignal auf den Lese- /Schreibsteueranschluss 257 der Steueranordnung 203 angewendet.
Werden nun dementsprechend im ersten Schritt oder Taktzyklus auf Adressennummer 1 der Speicheranordnung 1 über den Schreibanschluss 1 (208) auf die Speicheranordnung 1 Daten geschrieben, die auf den Schreibanschluss 1 (208) der Speicheranordnung 1 angewendet werden, so werden gleichzeitig die Daten, die in Speicheranordnung 1 gespeichert werden sollen, auf den Schreibanschluss 1 (228) der Steueranordnung 1 angewendet, und die Adresse, die auf den Adressenanschluss 212 der Speicheranordnung 1 angewendet wird, wird auf den Adressenanschluss 256 der Steueranordnung 203 angewendet, und die Steueranordnung speichert ein Steuerbit, z. B. ein Signal der höheren Ebene, unter der Adressennummer 1 in der Steueranordnung 203, das angibt, dass Daten auf die Speicheranordnung 1 geschrieben wurden.
Werden im zweiten Schritt oder Taktzyklus auf Adressennummer 1 der Speicheranordnung 2 über den Schreibanschluss 1 (218) auf die Speicheranordnung 2 Daten geschrieben, die auf den Schreibanschluss 1 (218) der Speicheranordnung 2 angewendet werden, so werden gleichzeitig die Daten, die in Speicheranordnung 2 gespeichert werden sollen, auf den Schreibanschluss 5 (232) der Steueranordnung 203 angewendet, und die Adresse, die auf den Adressenanschluss 222 der Speicheranordnung 2 angewendet wird, wird auf den Adressenanschluss 256 der Steueranordnung 203 angewendet, und die Steueranordnung speichert das geänderte Steuerbit, z. B. ein Signal der unteren Ebene, unter der Adressennummer 1 in der Steueranordnung 203, das angibt, dass Daten auf die Speicheranordnung 2 geschrieben wurden. Dementsprechend wird bevorzugt, das Signal der höheren Ebene, das im ersten Schritt gespeichert wurde, durch ein Signal der unteren Ebene im zweiten Schritt zu überschreiben. Dasselbe gilt für alle anderen Schreibanschlüsse der Speicheranordnung 1 und der Speicheranordnung 2 und ihrer verfügbaren Adressen.
In einer bevorzugten Ausführungsart der Erfindung - wie in Fig. 2 gezeigt - ist die Steueranordnung 203 eine Speicheranordnung, welche dieselbe Anzahl Adressen umfasst wie die Speicheranordnung 1 und die Speicheranordnung 2, d. h. die Steueranordnung 203, die Speicheranordnung 1 und die Speicheranordnung 2 umfassen dieselbe Anzahl verfügbarer Adressen für die Datenspeicherung. Im Gegensatz zur Speicheranordnung 1 und zur Speicheranordnung 2 ist die Speicherkapazität für jede Adresse in der Steueranordnung 203 viel geringer als die Speicherkapazität für jede Adresse in der Speicheranordnung 1 und der Speicheranordnung 2. Vorzugsweise beträgt die Speicherkapazität für jede Adresse in der Steueranordnung 203 nur ein Bit pro Adresse, was ausreicht für das Speichern der Angabe, in welche Speicheranordnung der Speicheranordnungen 1 oder 2 zuletzt Daten geschrieben wurden.
Um die Daten, die zuletzt auf die gleiche Adresse in der Speicheranordnung 1 oder der Speicheranordnung 2 geschrieben wurden, für die weitere Verarbeitung durch eine oder mehrere Datenverarbeitungseinheiten (nicht dargestellt) zur Verfügung zu stellen, die mit einem oder mehreren der Leseanschlüsse M1 bis M4 (242, 246, 250, 254) verbunden sind, wird die Adresse oder werden die Adressen der Daten, die ausgegeben werden sollen, auf die Speicheranordnung 1 (201), die Speicheranordnung 2 (202) und die Steueranordnung 203 angewendet.
Es wird nun beispielsweise angenommen, das die zuletzt unter Adressennummer 1 entweder in der Speicheranordnung 1 oder in der Speicheranordnung 2 gespeicherten Daten über den Multiplexer 1 ausgegeben werden sollen. In diesem Beispiel wird im dritten Schritt ein Lesesteuersignal auf den Lese- /Schreibsteueranschluss 213 der Speicheranordnung 1, auf den Lese-/Schreibsteueranschluss 223 der Speicheranordnung 2 und auf den Lese-/Schreibsteueranschluss 257 der Steueranordnung 203 angewendet, und die Adressennummer 1 wird auf den Adressenanschluss 212 der Speicheranordnung 1 (201), den Adressenanschluss 222 der Speicheranordnung 2 (202) und auf den Adressenanschluss 256 der Steueranordnung 203 angewendet. Wie aus Fig. 2 zu ersehen ist, werden die Daten, die unter Adressennummer 1 auf der Speicheranordnung 1 (201) gespeichert sind, auf den Dateneingang 240 des Multiplexers 1 über den Leseanschluss 1 (217) angewendet, während die unter Adressennummer 1 in der Speicheranordnung 2 gespeicherten Daten auf den Dateneingang 241 des Multiplexers 1 über den Leseanschluss 1 (224) der Speicheranordnung 2 (202) angewendet werden, und das Steuerbit, das in der Steueranordnung 203 gespeichert ist, wird auf den Auswahleingang 243 des Multiplexers 1 über den Leseanschluss 1 (236) der Steueranordnung 203 angewendet.
Abhängig vom Status des Steuerbits, das unter Adressennummer 1 in der Steueranordnung 203 gespeichert ist und angibt, in welcher Speicheranordnung der beiden Speicheranordnungen 1 oder 2 (201, 202) zuletzt Daten gespeichert wurden, gibt der Multiplexer 1 (204) die Daten entweder auf seinen Eingang 240 oder auf seinen Eingang 241 an seinem Leseanschluss M1 (242) zur weiteren Verarbeitung aus. Wie aus Fig. 2 ersichtlich ist, gilt dies entsprechend für die anderen Leseanschlüsse und deren zugehörige Multiplexer für alle in den Speicheranordnungen 1 und 2 verfügbaren Adressen.
In einer bevorzugten Ausführungsart der Erfindung wird jede der Speicheranordnungen 1 und 2 (201 und 202) aus Speicheranordnungen ausgewählt, die ein Optimum hinsichtlich mindesterforderlicher Chipfläche umfassen.
Aus dem Vorhergegangenen versteht es sich, dass eine Speicheranordnung, wie jene in Fig. 1, die mehrere Schreibanschlüsse und/oder Leseanschlüsse umfasst, durch eine erfindungsgemäße Mehrfachanschlussspeichereinrichtung ersetzt werden kann. Die erfindungsgemäße Mehrfachanschlussspeichereinrichtung umfasst zwei oder mehrere Speicheranordnungen, die insgesamt eine geringere Verkabelungsfläche benötigen als die zu ersetzende Speicheranordnung, eine Steueranordnung zum Speichern von einem oder mehreren Steuerbits je nach Speicherkapazität und einen Multiplexer für je zwei oder mehr zugehörige Leseanschlüsse der Speicheranordnungen, wie erklärt. Dadurch kann eine bekannte Mehrfachanschlussspeicheranordnung durch eine erfindungsgemäße Mehrfachanschlussspeichereinrichtung ersetzt werden, die dieselbe Funktionalität besitzt, aber eine geringere Chipfläche erfordert.
Anstatt eines oder mehrerer Steuerbits kann auch eine andere Angabe, wie beispielsweise eine Zeitmarke oder eine eindeutige Kennung, die den in den Speicheranordnungen abgelegten Daten hinzugefügt wird, verwendet werden, um zu steuern, dass die Daten für eine gegebene Adresse über Multiplexer ausgegeben werden, die zuletzt entweder auf Speicheranordnung 1 oder Speicheranordnung 2 geschrieben wurden. Die Angabe könnte beispielsweise in den Speicheranordnungen und/oder in der Steueranordnung gespeichert werden.
Im Gegensatz zum Stand der Technik steigen beim Versuch, die Anzahl der Anschlüsse eines Mehrfachanschlussspeichers zu erhöhen, die Verkabelungskomplexität und der Prozentsatz an Fläche, die für die Verkabelung benötigt wird, in Hinblick auf die für die Speicherzelltransistoren sowie die Verkabelung erforderliche Gesamtfläche nicht zum Quadrat der Anzahl der Schreibanschlüsse. Die erforderliche Chipfläche steigt statt dessen fast linear mit der Anzahl der Schreibanschlüsse. Der Anstieg ist nur fast linear, da eine sehr geringe Speicherkapazität und eine entsprechende Chipfläche für den Aufbau der Steuerbitspeicherkapazität, hinsichtlich der für die bekannten Speicheranordnungen benötigten Chipfläche, die dieselbe Anzahl Lese- und Schreibanschlüsse und dieselbe Datenspeicherkapazität sowie eine sehr kleine Chipfläche für den Multiplexer-Aufbau umfasst, benötigt wird.
Dies ist von besonderer Bedeutung, wenn eine oder mehrere erfindungsgemäße Mehrfachanschlussspeichereinrichtungen auf einem einzigen Chip bzw. einer einzigen Siliziumscheibe implementiert werden soll(en), der eine oder mehrere Datenverarbeitungseinheiten und/oder Prozessoren umfasst, wie beispielsweise einen oder mehrere sogenannte nicht ausführbare Prozessoren, wie sie Fachleuten bekannt sind. In derartigen Anwendungen ist die verfügbare Chipfläche für die Implementierung der erforderlichen Funktionalität sehr eingeschränkt.
Aus dem Vorhergegangenen versteht es sich, dass jede Mehrfachanschlussspeicheranordnung mit K Schreibanschlüssen (K = 1, 2, 3, . . .) und L Leseanschlüssen (L = 1, 2, 3, . . .) durch eine erfindungsgemäße Mehrfachanschlussspeichereinrichtung ersetzt werden kann. Eine derartige Mehrfachanschlussspeichereinrichtung umfasst M Mehrfachanschlussspeicheranordnungen (M = 2, 3, 4, . . .), die insgesamt eine Anzahl von K Schreibanschlüssen umfassen, und jede der Mehrfachanschlussspeicheranordnungen umfasst eine Anzahl von L Leseanschlüssen. Zusätzlich umfasst die erfindungsgemäße Mehrfachanschlussspeichereinrichtung eine Anzahl von L Multiplexem und eine oder mehrere Steueranordnungen, die insgesamt eine Anzahl von K Schreibanschlüssen und eine Anzahl von L Leseanschlüssen umfassen. Der entsprechende Leseanschluss jeder der Mehrfachanschlussspeicheranordnungen wird auf denselben Multiplexer aus der Gesamtheit von L Multiplexem sowie auf den entsprechenden Leseanschluss der Steueranordnung angewendet, wobei der entsprechende Leseanschluss der Steueranordnung den Multiplexer so steuert, dass dieser jene Daten derjenigen Mehrfachanschlussspeicheranordnung ausgibt, in die zuletzt Daten geschrieben wurden, die unter der gleichen Adresse gespeichert wurden, die in allen M Mehrfachanschlussspeicheranordnungen vorhanden ist.
Referenzliste
100
bekannte Mehrfachanschlussspeicheranordnung
101
Schreibanschluss
1
102
Schreibanschluss
2
103
Schreibanschluss
3
104
Schreibanschluss
4
105
Schreibanschluss
5
106
Schreibanschluss
6
107
Schreibanschluss
7
108
Schreibanschluss
8
109
Adressenanschluss
110
Lese-/Schreibsteueranschluss
111
Leseanschluss
1
112
Leseanschluss
2
113
Leseanschluss
3
114
Leseanschluss
4
200
Mehrfachanschlussspeichereinrichtung
201
Speicheranordnung
1
202
Speicheranordnung
2
203
Steueranordnung
204
Multiplexer
1
205
Multiplexer
2
206
Multiplexer
3
207
Multiplexer
4
208
Schreibanschluss
1
209
Schreibanschluss
2
210
Schreibanschluss
3
211
Schreibanschluss
4
212
Adressenanschluss
213
Lese-/Schreibsteueranschluss
214
Leseanschluss
4
215
Leseanschluss
3
216
Leseanschluss
2
217
Leseanschluss
1
218
Schreibanschluss
1
219
Schreibanschluss
2
220
Schreibanschluss
3
221
Schreibanschluss
4
222
Adressenanschluss
223
Lese-/Schreibsteueranschluss
224
Leseanschluss
1
225
Leseanschluss
2
226
Leseanschluss
3
227
Leseanschluss
4
228
Schreibanschluss
1
229
Schreibanschluss
2
230
Leseanschluss
3
231
Leseanschluss
4
232
Leseanschluss
5
233
Leseanschluss
6
234
Leseanschluss
7
235
Leseanschluss
8
236
Leseanschluss
1
237
Leseanschluss
2
238
Leseanschluss
3
239
Leseanschluss
4
240
Dateneingang
241
Dateneingang
242
Leseanschluss M1
243
Auswahleingang
244
Dateneingang
245
Dateneingang
246
Leseanschluss M2
247
Auswahleingang
248
Dateneingang
249
Dateneingang
250
Leseanschluss M3
251
Auswahleingang
252
Dateneingang
253
Dateneingang
254
Leseanschluss M4
255
Auswahleingang
256
Adressenanschluss
257
Lese-/Schreibsteueranschluss

Claims (11)

1. Verfahren zum Betrieb einer Mehrfachanschlussspeichereinrichtung (200) mit mindestens zwei Speicheranordnungen (201, 202), wobei jede Speicheranordnung umfasst:
mehrere adressierbare Speicherfelder;
mindestens einen Schreibanschluss (208-211, 218-221, 228-235) zum Schreiben von Daten in die Speicherfelder und
mindestens einen Leseanschluss (214-217, 224-227, 236-239) zum Lesen der in den Speicherfeldern gespeicherten Daten,
gekennzeichnet durch die Schritte:
Schreiben erster Daten in ein erstes Speicherfeld einer ersten Speicheranordnung (201) der mindestens zwei Speicheranordnungen (201, 202), wobei das erste Speicherfeld durch eine erste Adresse gekennzeichnet ist;
Schreiben zweiter Daten in ein erstes Speicherfeld einer zweiten Speicheranordnung (202) der mindestens zwei Speicheranordnungen (201, 202), wobei das erste Speicherfeld der zweiten Speicheranordnung (202) auch durch die gleiche erste Adresse gekennzeichnet ist.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass die Auswahldaten geschrieben werden, die angeben, ob die ersten oder die zweiten Daten zuletzt geschrieben wurden.
3. Verfahren nach Anspruch 2, dadurch gekennzeichnet, dass Auswahldaten in ein erstes Speicherfeld einer dritten Speicheranordnung (203) geschrieben werden.
4. Verfahren nach Anspruch 3, dadurch gekennzeichnet, dass dieses erste Speicherfeld der dritten Speicheranordnung (203) ebenfalls durch die erste Adresse gekennzeichnet ist.
5. Verfahren nach Anspruch 2, dadurch gekennzeichnet, dass die Auswahldaten diesen ersten Daten und/oder zweiten Daten hinzugefügt werden und/oder in diesem ersten und/oder zweiten Speicherfeld abgelegt werden.
6. Verfahren nach Anspruch 5, dadurch gekennzeichnet, dass die Auswahldaten eine eindeutige Kennung umfassen oder darstellen, welche die ersten und/oder zweiten Daten kennzeichnet.
7. Verfahren nach Anspruch 5, dadurch gekennzeichnet, dass die Auswahldaten eine Zeitmarke umfassen oder darstellen, welche das Datum der ersten und/oder zweiten Daten angibt.
8. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass die Mehrfachanschlussspeichereinrichtung (200) mindestens eine Auswahlvorrichtung, wie einen Multiplexer (204 bis 207), umfasst, der durch die Auswahldaten dahingehend gesteuert wird, die ersten Daten auszugeben, falls diese ersten Daten in Hinblick auf die zweiten Daten zuletzt geschrieben wurden und vice versa.
9. Mehrfachanschlussspeichereinrichtung (200), die geeignete Mittel umfasst, um die Schritte des Verfahrens in Übereinstimmung mit jedem der vorhergehenden Ansprüche auszuführen.
10. Out-of-Order-Verarbeitungseinrichtung, die geeignete Mittel umfasst, um die Schritte des Verfahrens in Übereinstimmung mit jedem der vorhergehenden Ansprüche auszuführen.
11. Datenverarbeitungssystem, das geeignete Mittel umfasst, um die Schritte des Verfahrens in Übereinstimmung mit jedem der vorhergehenden Ansprüche auszuführen.
DE10105627A 2000-03-20 2001-02-08 Mehrfachanschlussspeichereinrichtung, Verfahren und System zum Betrieb einer Mehrfachanschlussspeichereinrichtung Expired - Lifetime DE10105627B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP00105819 2000-03-20
EP001058197 2000-03-20

Publications (2)

Publication Number Publication Date
DE10105627A1 true DE10105627A1 (de) 2001-10-04
DE10105627B4 DE10105627B4 (de) 2007-06-21

Family

ID=8168147

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10105627A Expired - Lifetime DE10105627B4 (de) 2000-03-20 2001-02-08 Mehrfachanschlussspeichereinrichtung, Verfahren und System zum Betrieb einer Mehrfachanschlussspeichereinrichtung

Country Status (2)

Country Link
US (1) US6629215B2 (de)
DE (1) DE10105627B4 (de)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7206904B2 (en) * 2002-03-20 2007-04-17 Hewlett-Packard Development Company, L.P. Method and system for buffering multiple requests from multiple devices to a memory
US7738496B1 (en) 2002-12-31 2010-06-15 Cypress Semiconductor Corporation Device that provides the functionality of dual-ported memory using single-ported memory for multiple clock domains
US7934057B1 (en) * 2003-12-24 2011-04-26 Cypress Semiconductor Corporation Logic for implementing a dual clock domain read access with predictable timing for bi-directional inputs/outputs
US8145809B1 (en) 2007-03-09 2012-03-27 Cypress Semiconductor Corporation Busy detection logic for asynchronous communication port
WO2013165347A1 (en) * 2012-04-30 2013-11-07 Hewlett Packard Development Company, L.P. Address translation gasket
US20180025757A1 (en) * 2016-07-19 2018-01-25 Winbond Electronics Corporation Method and apparatus for serial data output in memory device
US11163568B2 (en) * 2018-09-06 2021-11-02 International Business Machines Corporation Implementing write ports in register-file array cell
US10740140B2 (en) * 2018-11-16 2020-08-11 International Business Machines Corporation Flush-recovery bandwidth in a processor

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63204595A (ja) * 1987-02-20 1988-08-24 Fujitsu Ltd マルチプレ−ンビデオram構成方式
JP2523586B2 (ja) * 1987-02-27 1996-08-14 株式会社日立製作所 半導体記憶装置
JPH06167958A (ja) * 1991-03-28 1994-06-14 Texas Instr Inc <Ti> 記憶装置
JPH0676598A (ja) * 1992-08-28 1994-03-18 Mitsubishi Electric Corp 半導体記憶装置
US5359557A (en) * 1992-12-04 1994-10-25 International Business Machines Corporation Dual-port array with storage redundancy having a cross-write operation
JPH06324928A (ja) * 1993-05-14 1994-11-25 Mitsubishi Electric Corp ログ生成装置とファイルの異なるバージョンの調停のための装置及び異なる場所にあるコンピュータファイルの異なるバージョンを調停するための装置
US6125371A (en) * 1997-08-19 2000-09-26 Lucent Technologies, Inc. System and method for aging versions of data in a main memory database

Also Published As

Publication number Publication date
US20010044882A1 (en) 2001-11-22
DE10105627B4 (de) 2007-06-21
US6629215B2 (en) 2003-09-30

Similar Documents

Publication Publication Date Title
DE3909896C2 (de)
DE3438869C2 (de)
DE2803989C2 (de) Digitaldatenspeicher mit wahlfreiem Zugriff
DE19530100C2 (de) Integrierte Dram-Schaltung mit Reihenkopierschaltung und Verfahren
DE3916784C2 (de) Speicherzellenfeld und Verfahren zum Schreiben von Daten in das Speicherzellenfeld
DE3906497A1 (de) Selbstkonfigurierendes speichersystem
EP0030007A2 (de) Integrierter Speicherbaustein mit wählbaren Betriebsfunktionen
DE3618136C2 (de)
DE10105627B4 (de) Mehrfachanschlussspeichereinrichtung, Verfahren und System zum Betrieb einer Mehrfachanschlussspeichereinrichtung
DE4312086A1 (de) Halbleiterspeichereinrichtung und Betriebsverfahren dafür
DE2235883C3 (de) Datenverarbeitungseinrichtung
DE19924288B4 (de) Integrierter Speicher
DE10223167B4 (de) Verfahren und Vorrichtung zum Testen von Speichereinheiten in einer digitalen Schaltung
DE3832328A1 (de) Speicheranordnung fuer digitale signale
DE2233164B2 (de) Schaltungsanordnung zur uebertragung von aufeinanderfolgenden bitstellen zwischen zwei registern
DE10137332B4 (de) Verfahren und Anordnung zur Ausgabe von Fehlerinformationen aus Halbleitereinrichtungen
DE69909118T2 (de) Vorrichtung und verfahren zur sicherung einer integrierten schaltung
DE10322541A1 (de) Speicherbaustein mit integrierter Adressscramblereinheit und Verfahren zum Verscrambeln einer Adresse in einem integrierten Speicher
DE10331543B4 (de) Verfahren zum Testen einer zu testenden Schaltungseinheit und Schaltungsanordnung zur Durchführung des Verfahrens
DE10349949A1 (de) Integrierter Schaltkreis und zugehöriges Schreib-/Leseverfahren
DE10011180A1 (de) Digitale Speicherschaltung
DE19821581A1 (de) Speichermatrix, die mehrfache, gleichzeitige Schreibzugriffe zuläßt
DE4028979C2 (de) Einrichtung zur Diagnose von nicht rücklesbaren Ports in Mikrocomputern
DE10262424B3 (de) Verfahren zum Testen einer digitalen Schaltung
DE2348196A1 (de) Schaltungsanordnung und verfahren zur byteselektion bei einem halbleiterspeicher

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8364 No opposition during term of opposition
8320 Willingness to grant licences declared (paragraph 23)
8328 Change in the person/name/address of the agent

Representative=s name: DUSCHER, R., DIPL.-PHYS. DR.RER.NAT., PAT.-ANW., 7

R071 Expiry of right