DE68927434T2 - Lese-Ändern-Schreiben Funktion - Google Patents

Lese-Ändern-Schreiben Funktion

Info

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
Application number
DE68927434T
Other languages
English (en)
Other versions
DE68927434D1 (de
Inventor
Kumar Chinnaswamy
Michael A Gagliardo
Paul M Goodwin
John J Lynch
James E Tessari
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.)
Digital Equipment Corp
Original Assignee
Digital Equipment 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 Digital Equipment Corp filed Critical Digital Equipment Corp
Application granted granted Critical
Publication of DE68927434D1 publication Critical patent/DE68927434D1/de
Publication of DE68927434T2 publication Critical patent/DE68927434T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding 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/1048Adding 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/1056Updating 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

    Gebiet der Erfindung
  • 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.
  • Hintergrund der Erfindung
  • 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.
  • Zusammenfassung der Erfindung
  • 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.
  • Beschreibung der Zeichnungen
  • 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.
  • Beschreibung der bevorzugten Ausführungsform
  • 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.
DE68927434T 1989-01-27 1989-07-03 Lese-Ändern-Schreiben Funktion Expired - Fee Related DE68927434T2 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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