DE68927434T2 - Lese-Ändern-Schreiben Funktion - Google Patents
Lese-Ändern-Schreiben FunktionInfo
- Publication number
- DE68927434T2 DE68927434T2 DE68927434T DE68927434T DE68927434T2 DE 68927434 T2 DE68927434 T2 DE 68927434T2 DE 68927434 T DE68927434 T DE 68927434T DE 68927434 T DE68927434 T DE 68927434T DE 68927434 T2 DE68927434 T2 DE 68927434T2
- Authority
- DE
- Germany
- Prior art keywords
- data
- bits
- selected number
- read
- data bits
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 claims abstract description 9
- 230000009977 dual effect Effects 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 230000000712 assembly Effects 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1048—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
- G06F11/1056—Updating check bits on partial write, i.e. read/modify/write
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Hall/Mr Elements (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
- Die vorliegende Erfindung betrifft die Datenmodifikation bei Digitalcomputer- Speichersystemen und insbesondere ein Verfahren und eine Vorrichtung zum Zwischenspeichern von Lese- und Schreiboperationen in einem Lese-Modifizier- Schreib-Speicherzyklus.
- Bei einem Digitalcomputersystem, das Daten aufweist, die als Teil einer Lese-Modifizier-Schreib-Operation in den Speicher geschrieben werden, weisen die Daten typischerweise einen Fehlerkorrekturcode (ECC = Error Correction Code) auf, der sich über eine Anzahl aufeinanderfolgender Datenbytes erstreckt. Wenn Lesedaten aus dem Speicher durch neue Daten modifiziert und anschließend an eine ausgewählte Speicheradresse geschrieben werden sollen und die zu modifizierenden Lesedaten eine Länge aufweisen, die geringer ist als die Anzahl von Bytes, die für die Erzeugung der zugehörigen Prüfbits für den Fehlerkorrekturcode (ECC) notwendig sind, ist es erforderlich, die gesamte ausgewählte Adresse zu lesen, bevor die neuen Daten mit den Lesedaten gemischt werden, um in geeigneter Weise neue Fehlerkorrektur-Prüfbits für die modifizierten Daten zu erzeugen, die erneut geschrieben werden. Wenn bei dem typischen Lese-Modifizier-Schreib-Speicherzyklus beispielsweise vier aufeinanderfolgende Lesedaten-Bytes notwendig sind, um entsprechende Prüfbits für den Fehlerkorrekturcode (ECC) zu erzeugen, und wenn nur ein Datenbyte von vier aufeinanderfolgenden Lesedaten-Bytes modifiziert werden soll, ist es dennoch erforderlich, die gesamten vier Datenbytes zu lesen, um Prüfbits für die modifizierten Daten zu erzeugen.
- Das Verfahren, das allgemein für die oben beschriebenen Lese-Modifizier- Schreib-Operationen verwendet worden ist, hat einen Lesepuffer bzw. -pufferspeicher zum Speichern des gesamten Inhalts der zur Modifikation mit neuen Daten ausgewählten Speicheradresse sowie einen Schreibpuffer bzw. -pufferspeicher beinhaltet, um die für die ausgewählte Speicheradresse modifizierten Daten so lange zu speichern, bis die modifizierten Daten erneut geschrieben werden konnten. Wenn zwei Schreibbefehle erforderlich waren, war darüber hinaus für jeden Befehl ein separater Eingabedaten-Puffer vorgesehen. Die auf dem allgemein verwendeten Lese- Modifizier-Schreib-Datenpfad erforderliche große Menge an Pufferspeicher ist nicht wünschenswert.
- Die vorliegende Erfindung reduziert den Pufferspeicher, der zum Mischen neuer Daten mit Lesedaten auf einem Lese-Modifizier-Schreib-Datenpfad eines Speichersystems erforderlich ist, indem zunächst die neuen Daten mit zugehörigen Maskenfeldern in einem Daten-Ausgabepuffer zwischengespeichert und die Lesedaten anschließend im Ausgabepuffer entsprechend den zwischengespeicherten Maskenfeern mit den neuen Daten gemischt werden. Die Maskenfelder umfassen Datenbits, die angeben, welcher Bereich der Lesedaten durch neue Daten ersetzt werden soll, was aus dem Stand der Technik wohlbekannt ist. Die geeigneten Prüfbits für den Fehlerkorrekturcode werden erzeugt und im Daten-Ausgabepuffer den modifizierten Daten hinzugefügt, um ein neues Datenausgangssignal zu erzeugen, das aus dem Daten-Ausgabepuffer an der ausgewählten Adresse in den Speicher freigegeben wird.
- Diese und weitere Aufgaben werden in vorteilhafter Weise gelöst, indem im wesentlichen die in den unabhängigen Ansprüchen formulierten Merkmale angewendet werden. Weitere Verbessemngen sind den Unteransprüchen zu entnehmen.
- Fig. 1 ist ein Blockdiagramm einer typischen Lese-Modifizier-Schreib- Speicherdatenpfad-Anordnung gemäß dem Stand der Technik.
- Fig. 2 ist ein Blockdiagramm einer Lese-Modifizier-Schreib-Speicherdatenpfad-Anordnung gemäß der vorliegenden Erfindung.
- Fig. 3 ist ein Schema der bevorzugten Ausführungsform zur Integration des in Fig. 2 gezeigten Speicherdatenpfades.
- Unter Bezugnahme auf die Zeichnungen, bei denen in allen Ansichten gleiche Bezugsziffern gleiche oder entsprechende Bauteile bezeichnen, zeigt Fig. 1 ein allgemeines Blockdiagramm eines typischen Lese-Modifizier-Schreib-Systems 2 für ein Speichersystem gemäß dem Stand der Technik. Das Lese-Modifizier-Schreib-System 2 weist eine Lesedaten-Eingangsleitung 4 auf, die Lesespeicherdaten aus dem (nicht dargestellten) Computer-Speichersystem empfängt. Darüber hinaus weist das System 2 eine Eingangsleitung 6 für neue Daten auf, um von einer zugehörigen Computersystem-Steuereinheit (SCU, nicht dargestellt) neue Daten zu empfangen, um die Lesespeicherdaten auf der Leitung 4 zu modifizieren. Zusätzlich weist das System 2 eine Maskendaten-Leitung 8 auf, um Maskeninformationen von der Systemsteuereinheit zu empfangen, um den Bereich der Lesespeicherdaten auf der Leitung 4 anzugeben, die mit den auf der Leitung 6 befindlichen neuen Daten modifiziert werden sollen. Die neuen Eingabedaten auf der Leitung 6 und die Maskendaten auf der Leitung 8 werden von der Systemsteuereinheit in serieller Form synchron übertragen. Die neuen Daten auf der Leitung 6 weisen typischerweise das Format aufeinanderfolgender, sequentieller 16-Byte-Schreibdaten auf.
- In Fig. 1 sind Einrichtungen gezeigt, um zwei aufeinanderfolgende 16-Byte- Schreibdaten der neuen Daten auf der Leitung 6 in einem ersten Puffer 10 für 16-Byte- Neudaten und in einem zweiten Puffer 12 für 16-Byte-Neudaten zwischenzuspeichern. Der erste Puffer 10 für Neudaten empfängt neue Daten über die Leitung 6, und der zweite Puffer 12 für Neudaten empfängt auf der Leitung 6 befindliche neue Daten über eine zweite Datenpuffer-Eingangsleitung 14. Der erste Puffer 10 für Neudaten und der zweite Puffer 12 für Neudaten werden wechselweise und aufeinanderfolgend mittels eines ersten Latchsignals auf einer ersten Latchleitung bzw. eines zweiten Latchsignals auf einer zweiten Latchleitung 18 gelatcht, die von einer (nicht dargestellten) Taktquelle über Taktleitungen 15 bzw. 17 von der Systemsteuereinheit zugeführt werden. Der Takt des ersten und des zweiten Latchsignals auf den Leitungen 16 bzw. 18 wird so gewählt, daß dem ersten Puffer 10 für Neudaten bzw. dem zweiten Puffer 12 für Neudaten alternierende, aufeinanderfolgende 16-Byte-Schreibdaten zugeführt werden.
- Jeder 16-Byte-Schreibdatenblock auf der Leitung 6, der entweder zum ersten Puffer 10 für Neudaten oder zum zweiten Puffer 12 für Neudaten geleitet wird, weist ein zugehöriges Maskenfeld auf, das gleichzeitig von der Systemsteuereinheit aus auf der Leitung 8 übertragen wird. Die Maskenfelder bestehen typischerweise aus 16 Bits für jeden 16-Byte-Schreibdatenblock neuer Daten auf der Leitung 6. Ein erster 16-Bit-Maskenpuffer 20 wird durch das erste Latchsignal auf der ersten Latchleitung 16 gelatcht, so daß der erste Maskenpuffer 20 ein auf der Leitung 8 befindliches 16-Bit- Maskenfeld, das den 16 Bytes neuer Eingabedaten entspricht, zwischenspeichert, die gleichzeitig durch den ersten Eingabepuffer 10 zwischengespeichert werden. Ein zweiter 16-Bit-Maskenpuffer 22 wird durch das auf der zweiten Latchleitung 18 befindliche zweite Latchsignal gelatcht, so daß der zweite Maskenpuffer 22 ein auf der Leitung 8 befindliches 16-Bit-Maskenfeld über die zweite Maskenpuffer-Eingangsleitung 24 entsprechend den 16 Bytes neuer Eingabedaten zwischenspeichert, die gleichzeitig durch den zweiten Eingabepuffer 12 zwischengespeichert werden. Wenn der erste Datenpuffer 10 und der erste Maskenpuffer 20 synchron freigegeben werden, werden ihre zwischengespeicherten Daten über eine erste Datenpuffer-Ausgangsleitung 28 bzw. eine erste Maskenpuffer-Ausgangsleitung 30 einem Mischmultiplexer 26 zugeführt. Der Mischmultiplexer 26 dient dazu, die freigegebenen, auf der Leitung 28 befindlichen neuen Daten mit den Lesedaten zu mischen, die dem Multiplexer 26 entsprechend den Maskendaten, die simultan auf die Leitung 30 freigegeben wurden, auf der Leitung 4 zugeführt wurden.
- Ebenso werden, wenn der zweite Datenpuffer 12 und der zweite Maskenpuffer 22 synchron freigegeben werden, deren Daten über eine zweite Datenpuffer-Ausgangsleitung 32 bzw. eine zweite Maskenpuffer-Ausgangsleitung 34 dem Mischmultiplexer 26 zugeführt. Wenn der zweite Datenpuffer 12 und der zweite Maskenpuffer 22 ihre Ausgangssignale freigeben, modifiziert der Mischmultiplexer 26 daher das Lesedaten-Eingangssignal von der Leitung 4 mit dem Neudaten- Eingangssignal von der Leitung 32, wie durch die Maskendaten von der Leitung 34 vorgeschrieben. Der Multiplexer 26 stellt dann in Reaktion auf ein Auswahlsignal, das von der Systemsteuereinheit-Taktquelle auf einer Multiplexer-Auswahlleitung 38 zugeführt wurde, sein vollständig gemischtes Datenausgangssignal wahlweise auf einer Multiplexer-Ausgangsleitung 36 zur Verfügung.
- Die Lesedaten auf der Leitung 4, die auf die oben beschriebene Weise modifiziert wurden, werden typischerweise in 64-Byte-Segmenten modifiziert, so daß der Multiplexer 26 sein vollständig gemischtes Ausgangssignal auf der Leitung 36 in entsprechenden 64-Byte-Segmenten zur Verfügung stellt. Dies wird so durchgeführt, daß die auf diese Weise zur Verfügung gestellten vollständig gemischten Daten verwendet werden können, um entsprechend dem Fehlerkorrekturcode, der in einer Fehlerkorrekturcode-Prüfbit-Erzeugungsvorrichtung 40 verwendet wird, die durch das die vollständig gemischten Daten enthaltende Ausgangssignal auf der Leitung 36 über eine Prüfbit-Erzeugungsvorrichtungs-Eingangsleitung 42 betrieben wird, einen neuen Satz von 14 entsprechenden Prüfbits zu erzeugen. Die Prüfbit-Erzeugungsvorrichtung 40 erzeugt auf einer Prüfbit-Erzeugungsvorrichtungs-Ausgangsleitung 44 ein 14-Bit- Fehlerkorrekturcode-Prüfbit-Datenausgangssignal, das mit dem entsprechenden, die vollständig gemischten Daten enthaltenden Ausgangssignal auf der Leitung 36 in einem 64-Bit-Schreibdatenpuffer 46 zwischengespeichert wird. Wenn der Schreibdatenpuffer 64 freigegeben wird, erzeugt er auf einer Schreibdatenpuffer- Ausgangsleitung 48 ein die vollständig gemischten Daten enthaltendes Ausgangssignal mit 14 entsprechenden Fehlerkorrekturcode-Prüfbits, das in eine Speichereinheit 50, beispielsweise ein DRAM-Feld, geschrieben wird. Die entsprechenden Daten, die auf diese Weise in die Speichereinheit 50 geschrieben wurden, können anschließend gelesen werden, indem das Ausgangssignal der Speichereinheit 50 auf einer Speichereinheit-Ausgangsleitung 52 über einen 64-Byte-Lesepuffer 54 zugeführt wird. Das auf einer Lesepuffer-Ausgangsleitung 56 befindliche Ausgangssignal des Lesepuffers 54 kann dann zwecks nachfolgender Datenmodifikationen und, falls notwendig, einem erneuten Schreiben zu der oben beschriebenen Leitung 4 zurückgeführt werden. Alle oben genannten Elemente sind wohlbekannte Bauteile, die in einer Vielzahl wohlbekannter Konfigurationen miteinander verbunden werden können und in Fig. 1 aus Darstellungsgründen in Blockform gezeigt sind, da sie an sich nicht Teil der vorliegenden Erfindung sind.
- Die vorliegende Erfindung reduziert die Menge an Pufferspeicher, die bei dem oben beschriebenen Speicherdatenpfad erforderlich ist. Fig. 2 zeigt ein Blockdiagramm eines Lese-Modifizier-Schreib-Speicherdatenpfad-Systems 58, in das die vorliegende Erfindung integrlert ist. Über eine Lesedaten-Eingangsleitung 60 werden Lesedaten von dem weiter unten beschriebenen Speichereinheit-Datenflußpfad aus empfangen. Die Lesedaten auf der Leitung 60 werden von einem Lesedatenpuffer 62 periodisch zwischengespeichert, der 64 Datenbits der 80-Bit-Lesedaten- Eingangssignal-Segmente zwischenspeichert. Da die 16 entsprechenden Fehlerkorrekturcode-Prüfbits des 80-Bit-Lesedaten-Eingangssignals verändert werden müssen, nachdem Lesedaten modifiziert wurden, werden sie nicht zwischengespeichert. Wenn es freigegeben wird, wird das Ausgangssignal des Lesedatenpuffers 64 auf einer Lesepuffer-Ausgangsleitung 64 entweder durch einen Mischmultiplexer 66 geführt, wenn die Lesedaten nicht modifiziert werden sollen, oder in eine zusätzliche, weiter unten beschriebene Schaltungsanordnung, wenn die Lesedaten modifiziert werden sollen. Der Mischmultiplexer 66 dient dazu, ein neue Daten enthaltendes Eingangsignal zum selben Zweck mit den Lesedaten auf der Leitung 64 zu mischen wie der Multiplexer 26 in dem oben in Zusammenhang mit Fig. 1 beschriebenen Lese-Modifizier-Schreib-System 2 gemäß dem Stand der Technik.
- Das Neudaten-Eingangssignal wird auf einer Neudaten-Eingangsleitung 68 empfangen. Die neuen Daten auf der Leitung 68 weisen typischerweise ein 78-Bit- Format mit 64 Datenbits und 14 entsprechenden Prüfbits auf. Die 64 Datenbits des Neudaten-Eingangssignals auf der Leitung 68 sind in zwei sequentiellen 32-Bit- Datenworten angeordnet, einschließlich erster und zweiter entsprechender 4-Bit- Datenmasken, um anzugeben, welcher Bereich des Lesedaten-Eingangssignals auf der Leitung 60 mit dem Neudaten-Eingangssignal auf der Leitung 68 modifiziert werden soll. Die 78-Bit-Segmente der neuen Daten auf der Leitung 68 werden durch einen 78- Bit-Neudaten- und Maskenpuffer 70 zwischengespeichert. Wenn sie freigegeben werden, werden die sequentiellen ersten und zweiten 32-Bit-Datenworte, die als Teil des zwischengespeicherten 78-Bit-Neudaten-Eingangssignals im Neudaten- und Maskenpuffer 70 zwischengespeichert wurden, über eine Multiplexer-Eingangsleitung 72 zum Mischmultiplexer 66 übertragen. Die ersten und zweiten 32-Bit-Datenworte werden über eine Maskenlatch-Leitung 76 einem 32-Bit-Zwei-Wort-Maskenlatch 74 zugeführt, und das Zwei-Wort-Maskenlatch 74 gibt, wenn es freigegeben wird, die entsprechenden ersten und zweiten Datenmasken über eine erste Maskenleitung 78 bzw. eine zweite Maskenleitung 80 sequentiell in den Mischmultiplexer 66 hinein frei.
- Die ersten und zweiten Datenmasken, die jedem ersten bzw. zweiten 32-Bit-Datenwort entsprechen, das dem Multiplexer 66 auf der Multiplexer-Eingangsleitung 72 zugeführt wurde, geben dem Multiplexer 66 an, welche Bereiche des Lesedaten-Eingangssignals auf der Leitung 60 als Teil des Lese-Modifizier-Schreib-Vorgangs modifiziert werden.
- Um die Modifikation der Lese-Eingangsdaten zu ermöglichen, während die Neu- und die Maskendaten durch den Neudaten- und Maskenpuffer 70 und das 32-Bit- Zwei-Wort-Maskenlatch 74 sequentiell freigegeben werden, werden die Lesedaten auf der Leitung 64 über eine Lesedaten-Latchleitung 84 einem zweifachen 64-Bit- Lesedatensegment-Latch 82 zugeführt, der aufeinanderfolgende 64-Bit-Segmente der Lesedaten von der Leitung 64 sequentiell zwischenspeichert. Die ersten und zweiten Lesedatensegmente, die vom Lesedaten-Latch 82 sequentiell zwischengespeichert wurden, werden sequentiell freigegeben und über eine erste Lesedatensegment- Leitung 86 bzw. eine zweite Lesedatensegment-Leitung 88 einem Multiplexer 66 zugeführt. Das Lesedaten-Latch 82 wird in Synchronisation mit dem Neudaten- und Maskenpuffer 80 und dem Zwei-Wort-Masken-Latch 74 freigegeben, so daß die Lesedaten im Multiplexer 66 gehalten werden, während die entsprechenden Neudaten und Maskendaten dem Multiplexer 66 zugeführt werden, um die Datenmischoperation durchzuführen.
- Die gemischten 64-Bit-Datensegmente vom Multiplexer 66 werden anschließend über eine Multiplexer-Ausgangsleitung 92 einer Prüfbit- Erzeugungsvorrichtung 90 zugeführt. Die Prüfbit-Erzeugungsvorrichtung erzeugt entsprechend dem verwendeten Fehlerkorrekturcode 16 Prüfbits pro 64-Bit- Datensegment. Die Mischdaten auf der Leitung 92 werden über eine Datenpuffer- Eingangsleitung 96 ebenfalls einem 80-Bit-Datenausgabepuffer 94 zugeführt. Gleichzeitig führt die Prüfbit-Erzeugungsvorrichtung 90 dem Datenausgabepuffer 94 über eine Checklisten-Erzeugungsvorrichtungs-Ausgangsleitung 98 ihr 16-Bit-Prüfbit- Ausgangssignal zu. Der Datenausgabepuffer 94 kombiniert die 64-Bit- Mischdatensegmente mit ihren entsprechenden neuen 16 Fehlerkorrekturcode-Prüfbits, um auf einer Datenpuffer-Ausgangsleitung 100 entsprechende 80-Bit- Schreibdatensegmente zu erzeugen.
- Die oben beschriebene Daten-Mischoperation ist Teil eines vollständigen Lese-Modifizier-Schreib-Speichersystems, wie es in Fig. 3 gezeigt ist. Dem oben beschriebenen Speicherdatenpfad 58 wird sein neues Daten-Eingangssignal auf der Leitung 68 von einer zugehörigen Systemsteuereinheit (SCU = System Control Unit) 102 zugeführt. Das Ausgangssignal vom Speicherdatenpfad 58 wird auf der Leitung 100 einem 640-Bit-Dateneingabepuffer 104 zu- sowie über eine Systemsteuereinheit- Eingangsleitung 106 zur Systemsteuereinheit 102 zurückgeführt. Nachdem der Dateneingabepuffer 104 die gesamten 640 von der Leitung 100 kommenden Datenbits zwischengespeichert hat, wird sein Ausgangssignal freigegeben und über eine Schreibdatenpuffer-Eingangsleitung 110 einem 640-Bit-Schreibdatenpuffer 108 zugeführt. Nachdem der Schreibdatenpuffer 108 die gesamten 640 von der Leitung 110 kommenden Datenbits zwischengespeichert hat, wird sein Ausgangssignal freigegeben und über eine Schreibdatenpuffer-Ausgangsleitung 114 einer 640-Bit-Speichereinheit 112 zugeführt. Die Speichereinheit 112 speichert die vom Schreibdatenpuffer 108 freigegebenen Daten. Wenn Daten zum Zweck des direkten Lesens von modifizierten Daten die Speichereinheit 112 umgehen sollen, wird das Schreibdatenpuffer- Ausgangssignal auf der Leitung 114 unter Steuerung durch Signale von der (nicht dargestellten) Systemsteuereinheit über eine Bypassweg-Eingangsleitung 108 auf einen Bypassweg 116 geleitet, und das Ausgangssignal des Bypasswegs 116 wird über eine Bypass-Ausgangsleitung 122 einem 640-Bit-Lesedatenpuffer 120 zugeführt. Nachdem der Lesedatenpuffer 120 die gesamten 640 über die Bypass- Ausgangsleitung 122 oder von der Speichereinheit 114 über die Speichereinheit- Ausgangsleitung 124 kommenden Daten bits zwischengespeichert hat, wird das Ausgangssignal des Lesedatenpuffers 120 freigegeben und über eine Lesedatenpuffer- Ausgangsleitung 128 einem Datenausgabepuffer 126 zugeführt. Nachdem der Datenausgabepuffer 126 die gesamten 640 über die Leitung 128 kommenden Datenbits zwischengespeichert hat, wird sein Ausgangssignal in 80-Bit- Datensegmenten freigegeben und über die Leitung 60 zum Speicherdatenpfad 58 zurückgeführt, um die oben in Zusammenhang mit Fig. 2 beschriebene Lese-Modifizier- Schreib-Operation abzuschließen. Natürlich ist das oben in Zusammenhang mit Fig. 3 beschriebene Lese-Modifizier-Schreib-System von der Lese-Modifizier-Schreib- Operation unabhängig und trägt nichts zur zusätzlichen Zwischenspeicherung bei, die notwendig ist, um die Lese-Modifizier-Schreib-Operationen zu unterstützen. Die oben beschriebenen Elemente sind wohlbekannte Bauteile, die in einer Vielzahl wohlbekannter Konfigurationen miteinander verbunden werden können und in den Fig. 2 und 3 aus Darstellungsgründen nur in Blockform gezeigt sind, da sie an sich nicht Teil der vorliegenden Erfindung sind.
- Die vorliegende Erfindung gemäß obiger Beschreibung reduziert daher im Vergleich zu Systemen gemäß dem Stand der Technik die Menge an Pufferspeicher auf dem Speicherdatenpfad in bedeutendem Maße, während sie dennoch eine Pufferkapazität für zwei Schreibbefehle zur Verfügung stellt. Selbstverständlich können Experten im Rahmen des Schutzumfangs der vorliegenden Erfindung, wie er in den beigefügten Ansprüchen zum Ausdwck kommt, bezüglich der Details, Anordnungen und Konfigurationen der Bauteile und Baugrnppen, die oben beschrieben worden sind, um das Wesen der vorliegenden Erfindung zu verdeutlichen, verschiedene Andern ngen vornehmen.
- Beansprucht wird folgendes:
Claims (8)
1. Verfahren zum Mischen von Lesedaten aus einem Digitalcomputer-
Speicher mit neuen Eingabedaten, die Maskenfeld-Bits aufweisen, um die Lesedaten
zu modifizieren, um sie erneut in den Speicher zu schreiben, wobei das Verfahren die
folgenden Schritte umfaßt:
Zwischenspeichern einer ersten ausgewählten Anzahl von Datenbits aus
den Lesedaten in einem Dual-Lesedatensegment-Latch (82);
Zwischenspeichern einer zweiten ausgewählten Anzahl von Datenbits aus
den neuen Eingabedaten in einem Zwei-Wort-Masken-Latch (74);
Zwischenspeichern der Maskenfeld-Bits entsprechend den
zwischengespeicherten neuen Eingabedaten-Bits;
Multiplexen der zwischengespeicherten Lesedaten-Bits mit den
zwischengespeicherten neuen Eingabedaten-Bits entsprechend den zwischengespeicherten
Maskenfeld-Bits, um die erste ausgewählte Anzahl von Mischdaten-Bits zu erzeugen;
Erzeugen einer dritten ausgewählten Anzahl von Prüfbits mit den
Mischdaten-Bits gemäß einem Fehlerkorrekturcode; und
Kombinieren der Mischdaten-Bits mit den Prüfbits, um modifizierte
Schreibdaten zu erzeugen.
2. Verfahren nach Anspruch 1, bei dem die erste ausgewählte Anzahl von
Mischdaten-Bits der Anzahl von Datenbits entspricht, die notwendig ist, um
entsprechend dem Fehlerkorrekturcode die dritte ausgewählte Anzahl von Prüfbits zu
erzeugen.
3. Verfahren nach Anspruch 2, bei dem die zweite ausgewählte Anzahl von
Datenbits geringer ist als die erste ausgewählte Anzahl von Datenbits.
4. Verfahren nach Anspruch 3, bei dem der Schritt des Multiplexens den
Austausch der zweiten ausgewählten Anzahl von zwischengespeicherten Lesedaten-
Bits durch die zweite ausgewählte Anzahl von zwischengespeicherten neuen Datenbits
entsprechend den entsprechenden zwischengespeicherten Maskenfeld-Bits umfaßt.
5. Vorrichtung zum Mischen von Lesedaten mit neuen Eingabedaten, die
Maskenfeld-Bits aufweisen, wobei die Vorrichtung zum Schreiben in eine
Speichervorrichtung dient und folgendes aufweist:
eine Zwei-Lesedatensegment-Latcheinrichtung (82) zum Zwischenspeichern
einer ersten ausgewählten Anzahl von Datenbits aus den Lesedaten;
eine Zwei-Wort-Masken-Latcheinrichtung (74) zum Zwischenspeichem einer
zweiten ausgewählten Anzahl von Datenbits aus den neuen Eingabedaten;
eine Einrichtung (74) zum Zwischenspeichern der Maskenfeld-Bits
entsprechend den zwischengespeicherten neuen Eingabedaten-Bits;
eine Einrichtung (66) zum Multiplexen der zwischengespeicherten
Lesedaten-Bits mit den zwischengespeicherten neuen Eingabedaten-Bits entsprechend
den zwischengespeicherten Maskenfeld-Bits, um eine erste ausgewählte Anzahl von
Mischdaten-Bits zu erzeugen;
eine Einrichtung (90), um mit den Mischdaten-Bits entsprechend einem
Fehlerkorrekturcode eine dritte ausgewählte Anzahl von Prüfbits zu erzeugen; und
eine Einrichtung (94) zum Kombinieren der Mischdaten-Bits mit den Prüfbits,
um modifizierte Schreibdaten zu erzeugen.
6. Vorrichtung nach Anspruch 5, bei der die erste ausgewählte Anzahl von
Daten bits der Anzahl von Datenbits entspricht, die notwendig ist, um entsprechend dem
Fehlerkorrekturcode die dritte ausgewählte Anzahl von Prüfbits zu erzeugen.
7. Vorrichtung nach Anspruch 6, bei der die zweite ausgewählte Anzahl
von Datenbits geringer ist als die erste ausgewählte Anzahl von Datenbits.
8. Vorrichtung nach Anspruch 7, bei der die Einrichtung zum Multiplexen
eine Einrichtung zum Austausch der zweiten ausgewählten Anzahl von
zwischengespeicherten Lesedaten-Bits durch die zweite ausgewählte Anzahl von
zwischengespeicherten neuen Datenbits entsprechend den entsprechenden
zwischengespeicherten Maskenfeld-Bits umfaßt.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US07/303,621 US5008886A (en) | 1989-01-27 | 1989-01-27 | Read-modify-write operation |
Publications (2)
Publication Number | Publication Date |
---|---|
DE68927434D1 DE68927434D1 (de) | 1996-12-12 |
DE68927434T2 true DE68927434T2 (de) | 1997-06-12 |
Family
ID=23172940
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE68927434T Expired - Fee Related DE68927434T2 (de) | 1989-01-27 | 1989-07-03 | Lese-Ändern-Schreiben Funktion |
Country Status (6)
Country | Link |
---|---|
US (1) | US5008886A (de) |
EP (1) | EP0379768B1 (de) |
JP (1) | JP2958368B2 (de) |
AT (1) | ATE145072T1 (de) |
CA (1) | CA1319998C (de) |
DE (1) | DE68927434T2 (de) |
Families Citing this family (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5235693A (en) * | 1989-01-27 | 1993-08-10 | Digital Equipment Corporation | Method and apparatus for reducing buffer storage in a read-modify-write operation |
US5412671A (en) * | 1990-12-03 | 1995-05-02 | Unisys Corporation | Data protection and error correction, particularly for general register sets |
US5270970A (en) * | 1991-03-15 | 1993-12-14 | Motorola, Inc. | Memory device having a buffer for gating data transmissions |
US5327570A (en) * | 1991-07-22 | 1994-07-05 | International Business Machines Corporation | Multiprocessor system having local write cache within each data processor node |
US5528610A (en) * | 1992-04-30 | 1996-06-18 | Hughes Aircraft Company | Boundary test cell with self masking capability |
US5638432A (en) * | 1992-06-23 | 1997-06-10 | Siemens Aktiengesellschaft | Method of setting up telecommunication connections |
US5430742A (en) * | 1992-10-14 | 1995-07-04 | Ast Research, Inc. | Memory controller with ECC and data streaming control |
US6125406A (en) * | 1998-05-15 | 2000-09-26 | Xerox Corporation | Bi-directional packing data device enabling forward/reverse bit sequences with two output latches |
US7051264B2 (en) * | 2001-11-14 | 2006-05-23 | Monolithic System Technology, Inc. | Error correcting memory and method of operating same |
US6718444B1 (en) | 2001-12-20 | 2004-04-06 | Advanced Micro Devices, Inc. | Read-modify-write for partial writes in a memory controller |
KR100521372B1 (ko) * | 2003-01-24 | 2005-10-12 | 삼성전자주식회사 | 통합 디큐 모드 테스트시 에스디알 또는 디디알 모드로테스트 가능한 반도체 메모리 장치 |
US7099997B2 (en) * | 2003-02-27 | 2006-08-29 | International Business Machines Corporation | Read-modify-write avoidance using a boundary word storage mechanism |
US20060036817A1 (en) * | 2004-08-10 | 2006-02-16 | Oza Alpesh B | Method and system for supporting memory unaligned writes in a memory controller |
DE102004043036A1 (de) * | 2004-09-06 | 2006-03-09 | Rolls-Royce Deutschland Ltd & Co Kg | Strömungsarbeitsmaschine mit Fluidentnahme |
US7392456B2 (en) * | 2004-11-23 | 2008-06-24 | Mosys, Inc. | Predictive error correction code generation facilitating high-speed byte-write in a semiconductor memory |
US7275139B1 (en) * | 2004-12-02 | 2007-09-25 | Tormasov Alexander G | Secure deletion of information from hard disk drive |
JP2006190425A (ja) | 2005-01-07 | 2006-07-20 | Nec Electronics Corp | 半導体記憶装置 |
JP2007184046A (ja) * | 2006-01-10 | 2007-07-19 | Hitachi Global Storage Technologies Netherlands Bv | 回転円板形記憶装置および記録方法 |
US20080168331A1 (en) * | 2007-01-05 | 2008-07-10 | Thomas Vogelsang | Memory including error correction code circuit |
US7836262B2 (en) * | 2007-06-05 | 2010-11-16 | Apple Inc. | Converting victim writeback to a fill |
US8239638B2 (en) * | 2007-06-05 | 2012-08-07 | Apple Inc. | Store handling in a processor |
US8452920B1 (en) | 2007-12-31 | 2013-05-28 | Synopsys Inc. | System and method for controlling a dynamic random access memory |
US8397005B2 (en) | 2010-03-16 | 2013-03-12 | St-Ericsson Sa | Masked register write method and apparatus |
US9304709B2 (en) | 2013-09-06 | 2016-04-05 | Western Digital Technologies, Inc. | High performance system providing selective merging of dataframe segments in hardware |
JP2017010396A (ja) * | 2015-06-24 | 2017-01-12 | 富士通株式会社 | ストレージ装置、キャッシュ書込制御方法及びキャッシュ書込制御プログラム |
US11887687B2 (en) * | 2022-02-23 | 2024-01-30 | Micron Technology, Inc. | Read operations for a memory array and register |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4371949A (en) * | 1977-05-31 | 1983-02-01 | Burroughs Corporation | Time-shared, multi-phase memory accessing system having automatically updatable error logging means |
US4464752A (en) * | 1981-11-06 | 1984-08-07 | The Singer Company | Multiple event hardened core memory |
US4651321A (en) * | 1983-08-29 | 1987-03-17 | Amdahl Corporation | Apparatus for reducing storage necessary for error correction and detection in data processing machines |
JPH0756640B2 (ja) * | 1985-03-01 | 1995-06-14 | 株式会社日立製作所 | 記憶装置 |
US4710934A (en) * | 1985-11-08 | 1987-12-01 | Texas Instruments Incorporated | Random access memory with error correction capability |
US4761785B1 (en) * | 1986-06-12 | 1996-03-12 | Ibm | Parity spreading to enhance storage access |
US4768197A (en) * | 1986-09-15 | 1988-08-30 | Amdahl Corporation | Cache error code update |
US4884271A (en) * | 1987-12-28 | 1989-11-28 | International Business Machines Corporation | Error checking and correcting for read-modified-write operations |
-
1989
- 1989-01-27 US US07/303,621 patent/US5008886A/en not_active Expired - Lifetime
- 1989-06-12 CA CA000602463A patent/CA1319998C/en not_active Expired - Fee Related
- 1989-06-29 JP JP1168274A patent/JP2958368B2/ja not_active Expired - Fee Related
- 1989-07-03 EP EP89306718A patent/EP0379768B1/de not_active Expired - Lifetime
- 1989-07-03 AT AT89306718T patent/ATE145072T1/de not_active IP Right Cessation
- 1989-07-03 DE DE68927434T patent/DE68927434T2/de not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
EP0379768A3 (de) | 1991-09-11 |
US5008886A (en) | 1991-04-16 |
ATE145072T1 (de) | 1996-11-15 |
EP0379768A2 (de) | 1990-08-01 |
CA1319998C (en) | 1993-07-06 |
JP2958368B2 (ja) | 1999-10-06 |
DE68927434D1 (de) | 1996-12-12 |
EP0379768B1 (de) | 1996-11-06 |
JPH02206857A (ja) | 1990-08-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE68927434T2 (de) | Lese-Ändern-Schreiben Funktion | |
DE69118287T2 (de) | Verbesserte Pufferung zum Lese-Änderungsschreibbetrieb | |
DE3854481T2 (de) | Datenverarbeitungsverfahren in einem dezentralisierten Verarbeitungssystem. | |
DE69132195T2 (de) | System für verteilte Mehrfachrechnerkommunikation | |
DE3909896C2 (de) | ||
DE3338345C2 (de) | ||
DE68916167T2 (de) | Adressenspeichersperrung mit priorität für einen gemeinsamen speicher. | |
DE3687787T2 (de) | Speicherzugriff-steuerungsschaltung. | |
DE2704842A1 (de) | Datenverarbeitungssystem | |
EP0013737A1 (de) | Mehrstufige Speicherhierarchie für ein Datenverarbeitungssystem | |
DE2755981A1 (de) | Wiedergabesystem | |
DE2926322A1 (de) | Speicher-subsystem | |
DE69031361T2 (de) | Taktsignalgeneratorsystem | |
DE1952175C3 (de) | Steuerungsanordnung für die Anzeige von Datenzeichen in fabulierter Form | |
DE68925771T2 (de) | Emulatorsystem für eine Anzeige | |
DE69423208T2 (de) | Steuergerät für einen Drucker | |
EP0265636A1 (de) | Multiprozessor mit mehreren mit Cache-Speichern ausgerüsteten Prozessoren und einem gemeinsamen Speicher | |
DE69323662T2 (de) | Verfahren zur Bestimmung von Geräten, die die Übertragung von Datensignalen auf einem Bus anfordern | |
DE1277598B (de) | Datenverarbeitungsanlage | |
DE2951766C2 (de) | ||
DE3200042A1 (de) | Datenverarbeitungsanlage mit cache-speicher | |
DE2902477A1 (de) | Datenverarbeitungsanordnung | |
DE3842100C2 (de) | Steuerungsverfahren für ein Cache-System | |
EP0013885B1 (de) | Verfahren zur Vermeidung von unerwünschten Paritätsfehlersignalen bei der Paritätprüfung eines Registerfeldes und Paritätsprüfeinrichtung zur Durchführung des Verfahrens | |
EP0257405B1 (de) | Verfahren und Anordnung zum Aktualisieren von Steuerbitkombinationen |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8328 | Change in the person/name/address of the agent |
Free format text: GRUENECKER, KINKELDEY, STOCKMAIR & SCHWANHAEUSSER, 80538 MUENCHEN |
|
8339 | Ceased/non-payment of the annual fee |