DE69131186T2 - Verfahren zum Steuern eines Pufferspeichers für einen Magnetplattenspeicher - Google Patents
Verfahren zum Steuern eines Pufferspeichers für einen MagnetplattenspeicherInfo
- Publication number
- DE69131186T2 DE69131186T2 DE69131186T DE69131186T DE69131186T2 DE 69131186 T2 DE69131186 T2 DE 69131186T2 DE 69131186 T DE69131186 T DE 69131186T DE 69131186 T DE69131186 T DE 69131186T DE 69131186 T2 DE69131186 T2 DE 69131186T2
- Authority
- DE
- Germany
- Prior art keywords
- bit
- address
- error detection
- buffer memory
- block
- 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
- 230000015654 memory Effects 0.000 title claims abstract description 91
- 238000000034 method Methods 0.000 title claims abstract description 23
- 238000001514 detection method Methods 0.000 claims description 41
- 230000003068 static effect Effects 0.000 claims description 14
- 238000006243 chemical reaction Methods 0.000 claims description 6
- 230000008878 coupling Effects 0.000 claims 2
- 238000010168 coupling process Methods 0.000 claims 2
- 238000005859 coupling reaction Methods 0.000 claims 2
- 230000005540 biological transmission Effects 0.000 claims 1
- 230000015572 biosynthetic process Effects 0.000 claims 1
- 230000001419 dependent effect Effects 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 19
- 238000004891 communication Methods 0.000 description 4
- 102100030310 5,6-dihydroxyindole-2-carboxylic acid oxidase Human genes 0.000 description 2
- 101000773083 Homo sapiens 5,6-dihydroxyindole-2-carboxylic acid oxidase Proteins 0.000 description 2
- 101000761220 Streptomyces clavuligerus Clavaminate synthase 2 Proteins 0.000 description 2
- 101100083853 Homo sapiens POU2F3 gene Proteins 0.000 description 1
- 101100058850 Oryza sativa subsp. japonica CYP78A11 gene Proteins 0.000 description 1
- 101150059175 PLA1 gene Proteins 0.000 description 1
- 102100026466 POU domain, class 2, transcription factor 3 Human genes 0.000 description 1
- 230000002457 bidirectional effect Effects 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Human Computer Interaction (AREA)
- Indexing, Searching, Synchronizing, And The Amount Of Synchronization Travel Of Record Carriers (AREA)
- Dram (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Description
- Diese Erfindung bezieht sich auf ein Verfahren zur Steuerung von Pufferspeichern für Magnetplatten-Speichersysteme.
- Zwischenspeichereinrichtungen, wie z. B. dynamische Lese-/- Schreibspeicher- (DRAM-) Bauteile werden in vielen Fällen in Verbindung mit magnetischen Speichermedien als Pufferspeicher zur vorübergehenden Speicherung der Zeicheninformation verwendet. Jedes Zeichen wird beispielsweise durch ein 8-Bit-Informationswort und ein Paritätsbit dargestellt. Typischerweise wird die Information zeichenweise in eine Zwischenspeichereinrichtung eingelesen, wobei neun parallele Datenbit-Leitungen verwendet werden. DRAM-Bauteile sind typischerweise als 4- oder 1-Bitbreite Bauteile erhältlich, so daß die Speicherung der jedem Informationswort zugeordneten zusätzlichen Paritätsbits unhandlich ist, was dazu führt, daß das Paritätsbit nicht gespeichert wird oder in einer getrennten Speichereinrichtung gespeichert wird.
- Es ist ein Ziel der Erfindung, eine Steuereinrichtung für und ein Verfahren zur Steuerung von DRAM-Pufferspeichern für ein Magnetplatten-Speichersystem zu schaffen, die bzw. das eine wirkungsvolle Ausnutzung von üblichem, geringe Kosten aufweisenden DRAM-Speicher zur Speicherung von Informationsdaten und Paritätsdaten in einer Vielzahl von DRAM-Speicherbetriebsarten ermöglicht.
- Gemäß der vorliegenden Erfindung wird ein Verfahren zur Zwischenspeicherung und Rückgewinnung von q-Bit-Zeicheninformationsdaten für ein Informationsspeichersystem in einer y-Bit breiten Pufferspeichereinheit geschaffen, die eine Vielzahl von DRAM-Bauteilen aufweist, wobei q größer als y ist, und das Verfahren durch die folgenden Schritte gekennzeichnet ist:
- Schaffung einer virtuellen Speicheradresse für jede Einheit von g-Bit-Zeicheninformationsdaten, wobei die Zeicheninformationsdaten in einem Block organisiert werden, der z derartige Informationszeichen umfaßt,
- Umsetzen der virtuellen Speicheradressen in entsprechende Adressen von Speicherplätzen in der Pufferspeichereinheit zur Speicherung von y-Bit-Gruppen des Blockes in der Pufferspeichereinheit, wobei der Umsetzungsschritt:
- das Auswählen einer Reihenadresse zur Speicherung des Blockes,
- die Auswahl einer Basis-Spaltenadresse für den Block, und
- das aufeinanderfolgende Weiterschalten der Basis- Spaltenadresse einschließt, um zusätzliche Spaltenadressen für aufeinanderfolgende y-Bit-Gruppen des Blockes zu schaffen,
- Übertragung jeder der y-Bit-Gruppen des Blockes über einen y-Bit-Datenbus an einen Adressenplatz in der Pufferspeichereinheit, der durch den Umsetzungsschritt bestimmt ist,
- Schaffung eines x-Bit-Fehlerdetektions-Codewortes für jeden Block,
- Auswahl einer Adresse zur Speicherung des x-Bit-Fehlerdetektions-Codewortes in der Pufferspeichereinheit, wobei die Auswahl einer Adresse folgendes einschließt:
- das Auswählen einer Fehlerdetektions-Codewort-Reihenadresse,
- die Auswahl einer Fehlerdetektions-Codewort-Basisspaltenadresse für eine erste y-Bit-Gruppe des x-Bit- Fehlerdetektions-Codewortes,
- das Weiterschalten der Fehlerdetektions-Codewort- Basisspaltenadresse um y zur Schaffung einer zweiten Spaltenadresse für eine zweite y-Bit-Gruppe des x-Bit-Fehlerdetektions-Codewortes, und
- Übertragen des Fehlerdetektions-Codewortes über den y-Bit-Datenbus an die ausgewählten Adressenplätze für das x-Bit-Fehlerdetektions-Codewort in der Pufferspeichereinheit.
- Gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung wird ein Verfahren zur vorübergehenden Speicherung und Rückgewinnung von 8-Bit-Zeicheninformations-Daten für ein Magnetplatten-Informationsspeichersystem in einer Anzahl von 4 · n-DRAN-Pufferspeicherkonfigurationen geschaffen, das durch die folgenden Schritte gekennzeichnet ist: Schaffung einer virtuellen Speicheradresse für jede Einheit von 8-Bit-Zeicheninformationsdaten, wobei die Zeicheninformationsdaten in einem 16-Byte- Block organisiert sind, Umsetzen der virtuellen Speicheradressen in entsprechende Adressen von Speicherplätzen in dem 4 · n-Pufferspeicher zur Speicherung von 4-Bit-Gruppen des 16-Byte-Blockes in dem 4 · n-DRAM-Pufferspeicher, wobei der Umsetzungsschritt die Auswahl einer Reihenadresse zur Speicherung des 16-Byte-Blockes, die Auswahl einer Basis-Spaltenadresse für den 16-Byte-Block und die aufeinanderfolgende Weiterschaltung der Basis-Spaltenadresse zur Schaffung zusätzlicher Spaltenadressen für aufeinanderfolgende 4-Bit-Gruppen des 16-Byte-Blockes einschließt, und Übertragen jeder der 4-Bit-Gruppen des 16-Byte-Blockes über einen 4-Bit-Datenbus an die verschiedenen vorbestimmten Adressenplätze in einer der 4 · n-DRAM-Pufferspeicherkonfigurationen, worin n die Größe des 4-Bit-breiten DRAM ist, beispielsweise n = 32Kb, n = 64 Kb, n = 256 Kb usw., wie dies durch den Umsetzungsschritt bestimmt ist.
- In vorteilhafter Weise wird ein Fehlerdetektions-Codewort in Form eines 8-Bit-Paritätswortes für den 16-Byte-Block geschaffen und durch die Auswahl einer Paritätswort-Reihenadresse, die Auswahl einer Paritätswort-Basisspaltenadresse für eine erste 4-Bit-Gruppe des 8-Bit-Paritätswortes und die Weiterschaltung der Paritätswort-Spaltenadresse zur Schaffung einer zweiten Spaltenadresse für eine zweite 4-Bit-Gruppe des 8-Bit-Paritätswortes gespeichert. Das Fehlerdetektions-Codewort wird dann über den 4-Bit-Datenbus an die verschiedenen vorbestimmten Adressenplätze in dem 4 · n-Pufferspeicher für das 8-Bit-Paritätswort übertragen.
- Der Umsetzungsschritt kann die Auswahl von Reihen- und Spaltenadressen unter Verwendung von Multiplexerschaltungen einschliessen. Das Verfahren kann weiterhin den Schritt der Zwischenspeicherung der Reihen- und Spalten-Adressen in Zwischenspeicherschaltungen einschließen, wobei der Schritt des Weiterschaltens den Schritt der Zuführung der Ausgänge der Zwischenspeicherschaltungen über mit den Eingängen der Zwischenspeicherschaltungen verbundene Multiplexerschaltungen zur Weiterschaltung der Spaltenadressen einschließt.
- Wahlweise kann der 4 · n-Pufferspeicher einen DRAM umfassen, der in einer Seitenbetriebsweise oder in einer statischen Spaltenbetriebsweise arbeitet.
- Ein weiteres Ziel der Erfindung wird durch die Merkmale des Anspruchs 10 gelöst.
- Die Erfindung wird im folgenden in Form eines Beispiels unter Bezugnahme auf die beigefügten Zeichnungen beschrieben, in denen:
- Fig. 1 ein Gesamtfunktionsblockschaltbild einer integrierten Schaltung in Form eines SCSI-Steuergerätes ist, das eine DRAM-Schnittstellenschaltung zur Kommunikation mit einem DRAM-Pufferspeicher über eine 4-Bit-Datenleitung einschließt,
- Fig. 2 ein Blockschaltbild eines Pufferspeicher-Steuerabschnittes des SCSI-Steuereinrichtung ist,
- Fig. 3 ein Blockschaltbild des Pufferspeicher-Steuerabschnittes ist, das die Schnittstellen zeigt, die zur Übertragung von Daten von einen Plattenspeicher zu einem Hauptcomputer erforderlich sind,
- Fig. 4 ein Blockschaltbild ist, das die Speicherung von Zeicheninformationsdaten und Paritätsdaten in dem Pufferspeicher zeigt, wenn Daten von einem Hauptcomputer zu einem Plattenspeicher geschrieben werden.
- Fig. 5 ein Zeitsteuerdiagramm für eine normale seitenweise Blockübertragung von Daten zwischen einer Steuereinrichtung und einem DRAM-Pufferspeicher ist,
- Fig. 6 ein Zeitsteuerdiagramm für eine Blockübertragung mit statischer Spaltenbetriebsweise von Daten zwischen der Steuereinrichtung und einem DRAM- Pufferspeicher ist,
- Fig. 7 ein Zeitsteuerdiagramm für eine verschachtelte seitenweise Blockübertragung von Daten zwischen der Steuereinrichtung und einem DRAM-Pufferspeicher ist,
- Fig. 8 ein Blockschaltbild der DRAM-Schnittstellenschaltung der Steuereinrichtung ist,
- Fig. 9 ein Schaltbild eines Zustandsmaschinen-Abschnittes der DRAM-Schnittstellenschaltung ist, und
- Fig. 10 ein Schaltbild eines Adressenfolgeschaltungs- Abschnittes der DRAM-Schnittstellenschaltung ist.
- Fig. 1 zeigt ein Blockschalbild einer 68 Anschlußstifte aufweisenden integrierten Kleincomputer-Systemschnittstellen-(SCSI-) Steuerschaltung 10. Wie dies in dem Schaltbild gezeigt ist, sind verschiedene Schnittstellen über Signal-Busleitungen mit einer Speichersteuereinheit 12 verbunden. Eine Formatierungseinheit 14 bildet eine Schnittstelle an eine magnetische Speicherplatte über verschiedene Signalleitungen. Ein NRZ-Signal an einer Leitung 16 ist ein Eingangs-/Ausgangs-Signal in einem NRZ-Datenformat, das einen Datenbitstrom zu oder von der Logik in der Formatierungseinheit 14 bildet. Ein RD-REF-CLK- (Lese-/Bezugs- Takt-) Signal an einer Leitung 18 ist ein Lese-/Bezugs-Takt, der das Taktsignal für die Formatierungseinheit 14 bildet, das von einer Daten-Trenneinrichtung der Magnetplattenelektronik geliefert wird. Die Frequenz dieses Taktsignals reicht von 5 MHz bis 24 MHz. Ein Lese-Torsteuersignal RG an einer Signalleitung 20 ist ein Signal, das einen Lesekanal freigibt und bewirkt, daß die Steuerschaltung 10 NRZ-Daten von der Magnetplatte annimmt. Ein Schreib-Torsteuersignal WG an einer Signalleitung 22 ist ein Signal, das Schreib-Treiber freigibt und bewirkt, daß die Steuerschaltung 10 NRZ-Daten an die Magnetplatte abgibt. Ein INPUT/COAST- (Eingangs-/Leerlauf-) Signal an einer Leitung 24 und ein OUTPUT- (Ausgangs-) Signal an einer Leitung 26 sind Allzwecksignale, die zur Synchronisation der Formatierungseinrichtung 14 mit externer Hardware verwendet werden. Ein INDEX-Signal an einer Leitung 28 ist ein INDEX-Signal von dem Magnetplattenlaufwerk und wird einmal pro Umdrehung der Platte geliefert. Ein SECTOR-/WAM-/AMD-Signal an einer Leitung 30 ist ein Sektor- Eingang, ein Eingang für die Erfassung der Adressenmarke oder ein Ausgang für die Schreibadressenmarke zu oder von der Formatierungseinrichtung 14, in Abhängigkeit von der Betriebsart des Systems. Die Formatierungseinrichtung 14 enthält weiterhin eine Fehlerkorrektur-Codeschaltung ECC 32. Zwischen der Speichersteuereinheit 12 und der Formatierungseinrichtung 14 laufende Signale werden auf einer Signal-Busleitung 34 geführt.
- Die Kommunikation zwischen der Speichersteuereinheit 12 und einem externen Mikroprozessor, wie z. B. einem Steuergerät vom Typ 8051 der Fa. Intel, wird mit einer Mikroprozessor-Schnitt stellenschaltung 40 abgewickelt, die mit der Speichersteuerschaltung 12 über eine Busleitung 42 in Verbindung steht. Ein bei niedrigem Pegel aktives Chipauswahlsignal CS auf einer Signalleitung 44 gibt die integrierte Steuerschaltung 10 entweder für einen Lese- oder einen Schreib-Betrieb frei. Ein bei niedrigem Pegel aktives Lesedatensignal RD an einer Signalleitung 46 bewirkt in Verbindung mit dem CS-Signal, daß Daten von einem festgelegten Register in der Speichersteuerschaltung 12 auf einen Datenbus AD bewegt werden, der in der gezeigten Weise durch eine Busleitung 52 gebildet ist. Der Mikroprozessor- Adressen-/Datenbus AD (7 : 0) ist ein Eingangs-/Ausgangs-Bus mit bei hohem Pegel aktiven Signalen, die auf bidirektionalen Signalleitungen geliefert werden, die in Schnittstellenverbindung mit einem multiplexierten Mikroprozessor-Adressen-/Datenbus des externen Mikroprozessors stehen. Ein bei niedrigem Pegel aktives Schreibdatensignal WR an einer Signalleitung 48 bewirkt in Verbindung mit dem CS-Signal, daß Daten von dem Datenbus AD zu einem bestimmten Register innerhalb der Speichersteuereinheit 12 bewegt werden. Ein Unterbrechungsanforderungssignal IRQ an einer Signalleitung 54 ist ein bei niedrigem Pegel aktives Ausgangssignal von einer Mikroprozessor-Schnittstellen-Unterbrechungssteuerschaltung 56, um die Betriebsweise des externen Mikroprozessors zu unterbrechen. Eine Taktsteuerschaltung 58 innerhalb der integrierten Schaltung 10 liefert geeignete Taktsignale an eine Takt-Busleitung 60 an die Mikroprozessor-Schnittstellenschaltung 40. Signale von der Mikroprozessor-Schnittstellenschaltung 40 an die Formatierungseinrichtung 14 werden auf einer Busleitung 62 geliefert.
- Eine SCSI-Schnittstellenschaltung 70 ergibt die Kommunikation auf einem SCSI-Bus 92 von einem Hauptcomputer an die Speichersteuereinheit 12. Bei niedrigem Pegel aktive Eingangs-/Ausgangs- Signalleitungen DB (7 : 0) sind die SCSI-Datenleitungen. Ein bei niedrigem Pegel aktives Eingangs-/Ausgangs-Besetzt-SCSI- Steuersignal BSY wird an einer Signalleitung 74 geliefert. Ein bei niedrigem Pegel aktives Eingangs-/Ausgangs-SCSI-SEL- Steuersignal wird an einer Signalleitung 76 geliefert. Ein bei niedrigem Pegel aktives Eingangs-/Ausgangs-Befehls-/Daten-SCSI- Steuersignal C/D wird an einer Signalleitung 78 geliefert. Ein bei niedrigem Pegel aktives Eingangs-/Ausgangs-Nachrichten-SCSI- Steuersignal MSG wird an einer Signalleitung 82 geliefert. Ein bei niedrigem Pegel aktives Eingangs-/Ausgangs-Anforderungssignal REQ bildet in Verbindung mit einem bei niedrigem Pegel aktiven Eingangs-/Ausgangs-Bestätigungssignal ACK an einer Leitung 46 eine SCSI-Datenübertragungs-Quittierung. Ein bei niedrigem Pegel aktives Eingangs-/Ausgangs-SCSI-Abruf-Steuersignal ATN wird an einer Signalleitung 88 geliefert. Ein bei niedrigem Pegel aktives Eingangs-/Ausgangs-SCSI-Rücksetzsignal wird an einer Signalleitung 90 geliefert. Alle die vorstehenden SCSI- Steuersignale werden gemäß den SCSI-Normen geliefert. Die SCSI- Schnittstellenschaltung 70 ist mit der Speichersteuerschaltung über den Signalbus 92 gekoppelt.
- Eine DRAM-Schnittstellenschaltung 100 zur Schaffung einer Kommunikation mit einem DRAM-Pufferspeicher ist mit der Speichersteuerschaltung 12 über einen Signalbus 101 gekoppelt. Externe Verbindungen von der DRAM-Schnittstellenschaltung 100 an den DRAM-Pufferspeicher werden über verschiedene Signalleitungen geschaffen. Ein bei niedrigem Pegel aktives Ausgangs-Reihenadressen-Auftastsignal RAS an einer Signalleitung 102 ergibt ein Adressen-Auftastsignal für den DRAM-Pufferspeicher. Ein bei niedrigem Pegel aktives Eingangs-/Ausgangs-Spaltenadressen- Auftastsignal CAS an einer Signalleitung 140 ergibt ein Adressen-Auftastsignal für einen ersten oder einen einzigen DRAM. Ein zweites bei niedrigem Pegel aktives Ausgangsspaltenadressen- Auftastsignal CAS2 an einer Signalleitung 106 liefert ein Adressenauftastsignal für einen zweiten DRAM. Ein bei niedrigem Pegel aktives Ausgangs-Schreib-Auftastsignal W wird an einer Signalleitung 108 geliefert. Ein bei niedrigem Pegel aktives Ausgangsfreigabesignal G an einer Signalleitung 110 ist ein DRAM-Ausgangstreiber-Freigabesignal. Ein Adressenbus 112 liefert 9 Bits einer DRAM-Adresse A (8 : 0). Bei hohem Pegel aktive Eingangs-/Ausgangssignale werden an einem DRAM-Datenbus DQ (3 : 0) geliefert.
- Fig. 2 zeigt schematisch die Schnittstellenschaltungen für die integrierte Schaltung 10. Die Daten werden zu und von den drei Busleitungen 72, 34, 52 und dem DRAM-Datenbus 114 übertragen. Daten von dem SCSI-Datenbus 72, die Hauptcomputerdaten sind, werden in einen Hauptcomputer-FIFO-Speicher 120 eingegeben. Formatierte Daten von der Formatierungseinrichtung 14 werden in einen Formatierungs-FIFO-Speicher 122 eingegeben. Lese-/Schreib- Daten von dem Mikroprozessor auf dem Bus 52 werden in einen Fenster-RAM 124 eingegeben. Bytebreite Datenübertragungen zu und von jeder dieser asynchronen Schnittstellen erfolgen an die jeweiligen FIFO-Speicher. Halbbyte-breite Übertragungen erfolgen zu und von dem DRAM zwischen den jeweiligen FIFO-Speichern unter der Steuerung einer Zustandsmaschine 126.
- Verschiedene unterschiedliche DRAM-Konfigurationen können gerätemäßig ausgeführt werden, die folgendes einschließen: eine Seitenbetriebsart oder statische Spaltenbetriebsart mit einem 4 · 64-DRAM; zwei 4 · 64K-DRAM-Bausteine; eine Seitenbetriebsart oder statische Spaltenbetriebsart mit zwei 4 · 256-DRAM; und zwei 4 · 256K-DRAM-Bausteine. Die Schaltung liefert weiterhin zwei Halbbytes für die Parität für jede 32 Halbbyte-Übertragung. Übertragungen zu und von dem DRAM erfolgen in Blöcken von 32 Halbbytes oder 16 Bytes. Eine Entscheidungsschaltung 128 ergibt Priorität für jeden Schnittstellenbetrieb mit dem DRAM. Eine Plattenfolgeschaltung für die Magnetplatte, die formatierte Daten von dem Format-FIFO-Speicher 122 liefert, hat die höchste Priorität. Die Aktualisierung des DRAM-Pufferspeichers hat die nächstniedrigere Priorität. Daten von dem Mikroprozessor von dem Lese-/Schreib-Bus, die in dem Fenster-RAM 124 gespeichert werden, haben die nächstniedrigere Priorität. Schließlich haben Hauptcomputerdaten auf dem SCSI-Bus 72, die in dem Hauptcomputer-FIFO-Speicher 120 gespeichert werden, die niedrigste Priorität. Die Entscheidungsschaltung 128 führt eine Entscheidung am Ende jeder 16-Byte-Übertragung durch und ermöglicht es lediglich einer Schnittstelle zu einer Zeit, einen Zugriff auf den DRAM auszuführen. Eine Paritätsgenerator-/Prüfschaltung 130 liefert die beiden Halbbytes der Parität für jede Übertragung von 32 Halbbytes.
- Fig. 3 ist ein Blockschaltbild der Pufferspeicher-Steuereinrichtung, das die Schnittstellen zeigt, die zur Übertragung von Daten von einem Plattenspeicher zu einem Hauptcomputer auf dem SCSI-Bus erforderlich sind. Die Steuereinrichtung kann drei asynchrone Schnittstellen an den DRAM-Pufferspeicher 130 handhaben. Fig. 3 zeigt schematisch, wie verschiedene Sektoren des DRAM-Pufferspeichers 130 verwendet werden. Während die Platteninformation den Sektor n+2 des DRAM-Pufferspeichers 130 von dem Platten- oder Format-FIFO-Speicher 122 füllt, kann der Mikroprozessor den Sektor n+1 korrigieren, und der mit dem SCSI-Bus 72 verbundene Hauptcomputer kann den Sektor n über den Hauptcomputer-FIFO 120 lesen.
- Fig. 4 zeigt schematisch die Speicherung von Zeicheninformationsdaten und Paritätsdaten in dem Pufferspeicher, wenn die Daten von dem SCSI-Bus 72 auf den Plattenspeicher geschrieben werden, der mit dem Bus 34 verbunden ist. Informationen von dem Hauptcomputer-FIFO 120 werden in den DRAM in 16-Byte-Datenblöcken eingegeben. Die Parität für diesen Block wird von dem Paritätsgenerator 130 erzeugt und in dem Paritätsabschnitt des DRAM-Pufferspeichers 130 gespeichert. Zum Auslesen werden die Daten sowohl von dem Paritätsspeicherbereich als auch von dem Informationsspeicherbereich des DRAM-Pufferspeichers 80 zu dem Formatierung-FIFO 122 ausgelesen. Die Paritätsprüfung an den Ausgangsdaten, die aus dem DRAM-Pufferspeicher 130 ausgelesen werden, wird von der Paritätsprüfeinrichtung 130b durchgeführt. Die Parität wird während der Schreibbetriebsart erzeugt und während der Lesebetriebsart geprüft. Die Parität wird in einem getrennten Platz in dem DRAM geschrieben, wobei 2K Byte an Adressenraum für die Parität für jeweils 32K Bytes des Gesamtspeichers erforderlich sind.
- Die Fig. 5, 6 und 7 zeigen Zeitsteuerdiagramme für verschiedene DRAM-Pufferspeicherkonfigurationen, zu und von denen Datenblöcke zwischen der Speichersteuerlogik 12 und dem DRAM-Pufferspeicher 130 übertragen werden. Die DRAM-Schnittstelle 100 verarbeitet Datenblöcke, die eine Länge von 16 Byte aufweisen. Alle Übertragungen von geringeren Datenmengen werden von der Steuerlogik mit Füllzeichen ergänzt, bevor die DRAM-Schnittstelle 100 die Informationsblöcke empfängt. Die Puffersteuerlogik berechnet weiterhin die Parität, die aus zwei Halbbytes einer longitudinalen Parität für 32 Halbbytes an Daten ist. Die DRAM-Schnittstelle 100 führt eine Neuabbildung der Basisadresse der Information durch, um die interne Logik zu vereinfachen. Die Parität wird jedoch immer an die oberen 1/16 des Adressenraumes des DRAM-Pufferspeichers bei Betrachtung von der Innenseite aus gesetzt. Es können verschiedene Größen des DRAM-Pufferspeichers verwendet werden, und diese Größen schließen 32K, 64K, 128K und 256K ein. Ein 256K-DRAM ergibt einen 32K-Pufferspeicher. Zwei 256K-DRAM-Bauteile ergeben einen 64K-Pufferspeicher. Ein 1M-DRAM ergibt einen 128K-Pufferspeicher. Zwei 1M-DRAM-Bausteine ergeben einen 256K-Pufferspeicher.
- Die Übertragungssequenz für einen Datenblock zu einem in normaler Seitenbetriebsart betriebenen DRAM ist in Fig. 5 gezeigt. Zunächst wird die Reihenadresse geliefert. Dann werden 32 Spalten an Daten übertragen. Dann wird die Paritäts-Reihenadresse geliefert, gefolgt von der Paritätsinformation von den zwei Paritätsspalten. Es sei bemerkt, daß, wenn ein DRAM mit Einzelseiten-Betriebsart verwendet wird, auf jede Spalte der Information mit Ausnahme der letzten, ein Spalten-Vorlade-Zyklus folgt.
- Fig. 6 zeigt die Zeitsteuersignale für einen einzelnen DRAM mit statischer Spaltenbetriebsart. Wenn ein einzelner DRAM mit statischer Spaltenbetriebsart verwendet wird, werden die Informationen von einer Spalte eine nach der anderen übertragen, ohne daß ein dazwischenliegender Vorlade-Zyklus erforderlich ist. Hierdurch wird die Geschwindigkeit der Datenübertragung stark vergrößert. Wenn zwei DRAM-Speicher verwendet werden, so werden sie automatisch abgewechselt, so daß ein Vorladezyklus für einen DRAM gleichzeitig mit dem Spaltenzyklus für den anderen erfolgt. Dies führt zu der gleichen Geschwindigkeit, wie sie ein DRAM mit statischer Spaltenbetriebsweise ergeben würde. Daher besteht kein Vorteil in der Verwendung von in statischer Spaltenbetriebsweise betriebenen DRAM-Bausteinen, die kostspieliger sind, in einer Konfiguration mit zwei RAM-Bausteinen. Wenn es erforderlich ist, DRAM-Bausteine in einer statischen Spaltenbetriebsweise bei einer Konfiguration mit zwei RAM-Bausteinen zu verwenden, so können diese Speicher in einer Seitenbetriebsart verwendet werden.
- Fig. 7 zeigt ein Zeitsteuerdiagramm für eine verschachtelte Seitenbetriebsart.
- Aus dem Zeitsteuerdiagramm ist zu erkennen, daß die Übertragung eines einzelnen 16-Byte-Informationsblockes in einer normalen Seitenbetriebsart 72 Perioden des DRAM-Taktes erfordert, während die gleiche Übertragung in einer statischen Spalten- oder verschachtelten Seitenbetriebsart 40 Perioden des DRAM-Taktes erfordert. Mit dieser Information kann die Berechnung der erforderlichen Geschwindigkeit eines DRAM zur Erzielung einer Pufferbandbreite sowie der Taktgeschwindigkeit erfolgen. Für einen einzelnen Seitenbetriebsart-DRAM ist die minimal erforderliche Zykluszeit gleich der Spaltenzugriffszeit. Demgegenüber ist für einen einzelnen in statischer Spaltenbetriebsweise betriebenen DRAM oder für zwei in der Seitenbetriebsart betriebene DRAM- Bausteine für einen minimale Zykluszeit gleich der Spaltenzugriffszeit plus einer Adressensteuerungs-Versetzungszeit. Es wird empfohlen, daß die nominelle Zykluszeit etwas langsamer als die minimale Zykluszeit gesetzt wird, um Geschwindigkeitsänderungen aufgrund von Spannungswelligkeiten auf den DRAM- Leistungsversorgungen zu berücksichtigen. Wenn ein 32K-Puffer unter Verwendung eines einzelnen 256K-Seitenbetriebsart-DRAM vom Typ Texas Instruments TMS4464-12 verwendet wird, so wird eine 16 ns-Spaltenzugriffszeit erreicht. Der Takt wird auf eine Zykluszeit von mehr als 61,8 ns eingestellt. Die langsamste Zykluszeit für den Schlimmstfall ist dann 63,8 ns für eine Gesamtzeit von 4594 ns zur Übertragung eines 16-Byte-Informationsblockes oder eine garantierte Bandbreite von 3,48 Megabyte/Sekunde. Wenn zwei 256K-Seitenbetriebsart-DRAM-Bausteine verwendet werden, wird der Takt auf mehr als 64,9 ns eingestellt, mit einer langsamen Zeit im Schlimmstfall von 66,9 ns, wodurch 2676 ns zur Übertragung eines Informationsblockes mit einer garantierten Bandbreite von 5,98 Megabyte/Sekunde erforderlich sind. Wenn eine volle 8-Megabyte-Handbreite erforderlich ist, muß ein Informationsblock alle 1961 ns übertragen werden, wobei eine Aktualisierung berücksichtigt ist, und die Zeit für den schlimmsten Fall beträgt 49 ns. Dies würde die Verwendung eines in statischer Spaltenbetriebsart betriebenen DRAM oder von zwei in der Seitenbetriebsart betriebenen DRAM-Bausteinen mit einer Spaltenzugriffszeit von weniger als 45,7 ns erfordern.
- Fig. 8 ist ein Blockschaltbild einer Steuerlogikschaltung. Es zeigt die Hauptelemente der DRAM-Schnittstellenschaltung 100 nach Fig. 1. Die DRAM-Schnittstellenschaltung 100 schließt eine Steuer-Zustandsmaschine (Steuer-FSM) 200 und einen Adressengenerator 202 ein. Der Adressengenerator 202 liefert die Adressensignale an einen Signalbus 112 an den DRAM-Pufferspeicher. Ein DRAM-Taktsignal wird an einem Eingangsanschluß 204 geliefert. Das DRAM-Taktsignal wird an die Steuerzustandsmaschine 200, den Adressengenerator 202 und einen Block von vier Paaren von D-Flip-Flop-Schaltungen verteilt, von denen eine typische mit der Bezugsziffer 206 bezeichnet ist. Jedes Paar von D-Flip-Flop- Schaltungen verarbeitet jeweils 1 Bit von 4 Bits von Lesedaten, die an einem Signalbus 208 empfangen werden, oder von Schreibdaten, die an einem Signalbus 210 empfangen werden. Jedes der jeweiligen Lese-Datenbits und Schreib-Datenbits wird mit dem DRAM-Takt in jeweiligen D-Flip-Flop-Schaltungen 212, 214 zeitlich nachgesteuert. Der Block 206 zeigt die Zeitnachsteuer- Schaltung für das i-te Bit. Die zeitlich nachgesteuerten Lesedaten werden in einem Datenbus 216 neu zusammengesetzt, und die zeitlich nachgesteuerten Schreibdaten werden in einem Datenbus 218 zusammengesetzt, wie dies gezeigt ist.
- Die Steuerzustandsmaschine 200 empfängt den DRAM-Takt an einer Signalleitung 220. Ein Rücksetzsignal wird an einer Signalleitung 222 empfangen. Ein Startsignal wird an einer Signalleitung 224 empfangen. Ein Auffrisch-Befehlssignal wird an einer Signalleitung 226 empfangen. Ein Signal, das anzeigt, daß eine statische Spalten-DRAM-Betriebsart verwendet wird, wird an einer Signalleitung 230 empfangen. Ein Signal, das anzeigt, daß zwei DRAM-Bausteine verwendet werden sollen, wird an einer Signalleitung 232 empfangen. Die Steuerzustandsmaschine 200 liefert ein invertiertes Reihenadressen-Auswahlsignal RAS an der Signalleitung 102, ein invertiertes Spaltenadressen-Signal CAS an der Signalleitung 104, ein zweites Spaltenadressen-Signal CAS2 an der Signalleitung 106, ein invertiertes DRAM-Schreib-Auftastsignal W an der Signalleitung 108 und ein DRAM-Ausgangsansteuer- Freigabesignal G an der Signalleitung 110. Wenn 16 Informationsbytes übertragen wurden, so wird ein DONE (erledigt)-Signal an einer Signalleitung 234 geliefert.
- Der Adressengenerator 202 liefert in der bereits erwähnten Weise neun Adressenbits auf dem Signalbus 112 an den DRAM. Der Adressengenerator schließt einen Zähler ein, der von der Basisadresse aus zählt, die als Eingang an den Adressengenerator an einer Signalleitung 236 geliefert wird. Ein Signal, das anzeigt, daß 2 DRAM-Bausteine für die Pufferspeicherung verwendet werden, wird an einer Signalleitung 232 geliefert. Ein Signal, das anzeigt, ob RAM-Bausteine mit 1 Megabit verwendet werden, wird an einer Signalleitung 240 geliefert. Die Zähler in dem Adressengenerator 202 werden durch ein Zählfreigabesignal freigegeben, das von der Steuerzustandsmaschine 200 an einer Signalleitung 242 geliefert wird. Ein Signal wird von dem Adressengenerator 202 an einer Signalleitung 243 an die Steuerzustandsmaschine 200 abgegeben, wenn in dem Adressengenerator eine Zählung von 32 erreicht wurde, was anzeigt, daß das Ende eines Datenblockes erreicht wurde.
- Signale laufen zwischen der Steuerzustandsmaschine 200 und dem Adressengenerator 202 auf Signalleitungen 242, 244, 245, 246, 247 und 248. Dies sind Lenkungs- und Steuersignale für die Multiplexerlogik. Ein Signal Apply_Row (wende Reihe an) an der Leitung 248 steuert den Multiplexer, um die Datenreihenadresse zu bilden. Ein Signal Apply_Col (wende Spalte an) an der Leitung 247 weist den Multiplexer an, die Datenspaltenadresse zu bilden. Ein Signal Apply_Par_Row (wende Paritätsreihe an) an der Leitung 246 bildet die Paritätsreihenadresse. Ein Signal Apply_Par_Col (wende Paritätsspalte an) an der Leitung 245 bil det die Paritätsspaltenadresse. Ein Signal Apply_1st_Col an der Leitung 244 gibt an, daß dies die erste Spaltenadresse entweder der Daten- oder der Paritätsgruppe ist und bewirkt, daß die Zählbits auf Null gesetzt werden. Ein Signal Count_Ena (Zähl Freigabe) an der Leitung 242 bewirkt den Zählbeginn. Wenn das Signal Apply_Col oder Apply_Par_Col wahr ist, und keines der Signale Apply_1st_Col oder Count_Ena wahr ist, so werden die Zählbits so gehalten, wie sie gerade sind. Das Signal Terminal- Count (Zählende) an der Leitung 243 ist das an die Steuerzustandsmaschine 200 zurückgelieferte Signal dafür, daß die Zählsequenz für die Datenbits abgeschlossen ist, und es ermöglicht es der Steuerzustandsmaschine 200 sich zu den Zuständen zu bewegen, in denen die Parität geschrieben oder gelesen wird.
- Funktionell entspricht die in Fig. 8 gezeigte DRAM-Schnittstellenschaltung der DRAM-Schnittstellenschaltung 100 nach Fig. 1.
- Normalerweise würde es zur Unterstützung einer großen Anzahl von unterschiedlichen Größen von DRAM-Bausteinen erforderlich sein, daß eine große Anzahl von Adressen von einer Schaltung, wie z. B. dem Adressengenerator 202 multiplexiert wird. Es ist jedoch möglich, die erforderlichen Adressen in einer derartigen Weise zu falten, daß die Anzahl von Adressenbits, die erforderlich sind, um alle die für den Speicher für ein vorgegebenes Bit erforderlichen Adressen zu schaffen, effektiv von neun auf ungefähr vier verringert werden kann. Die nachfolgende Tabelle 1 zeigt ein übliches Schema zur Schaffung von Verbindungen für 14 Bits von internen Adressen, die mit IA14 bis IA4 bezeichnet sind (wie sie auf dem Signalbus 236 geliefert werden) zu den mit A8 bis A0 bezeichneten DRAM-Adressenleitungen (die an dem Adressenbus 112 geliefert werden) an den DRAM.
- Die Tabelle 1 ist für zwei DRAM-Pufferspeichergrößen gezeigt. Die erste ist eine 32K-DRAM-Pufferspeichergröße, die gerätemäßig mit 4 · 64K-DRAM ausgeführt ist. Die zweite ist eine 64k- DRAM-Pufferspeichergröße, die gerätemäßig durch zwei 4 · 64K-DRAM- Bausteine ausgeführt ist. Für jeden dieser Fälle sind verschiedene der Bitleitungen für die internen Adressen mit den DRAM- Adressenbitleitungen über Multiplexer verbunden. Beispielsweise werden unter Bezugnahme auf das Zeitsteuerdiagramm nach Fig. 6 die internen Adressen für die Datenreihe in der ersten Zeile der Tabelle geliefert, die die ROW- (Reihen-) Zeile ist. Die DRAM- Adressenleitung A7 empfängt die interne Adressenleitung 14. Die DRAM-Adressenleitung A6 empfängt die interne Adressenleitung 13. Die DRAM-Adressenleitung A5 empfängt die interne Adressenleitung 12 usw.. Die Adressen für die Datenspalten werden als 32 unterschiedliche Spaltenadressen in der COLUMN- (Spalten-) Zeile der Tabelle 1 geliefert. Die DRAM-Adressenbits A4 bis A0 werden von Zählerbits CNT4 bis CNT0 geliefert, die Ausgangsbits eines internen Zählers sind. Die dritte Reihe in der Tabelle 1 enthält die Paritätsreihenadressen, und die vierte Reihe in der Tabelle 1 enthält die Paritätsspaltenadressen. Für das erste Beispiel der Tabelle 1 werden 35 Adressen an den DRAM geliefert, um einen Zugriff auf eine Reihe, 32 Spalten und eine Paritätsreihe und -spalte auszuführen. In ähnlicher Weise zeigt das zweite Beispiel der Tabelle 1 die Adressenmultiplexierung, die für einen 64K-DRAM-Pufferspeicher erforderlich ist. Tabelle 1
- Es sei bemerkt, daß für die Tabelle 1 zur Berücksichtigung von zwei unterschiedlichen Speicherkonfigurationen acht unterschiedliche interne Adressenleitungen typischerweise geändert werden müssen. Diese Änderungen werden durch Multiplexieren der entsprechenden internen Adressenleitung und der Zählerausgangsleitungen an ausgewählte DRAM-Adressenleitungen bewirkt.
- Die Tabelle 2 zeigt, wie die Logik gemäß der Erfindung interne Adressen und Zähler auf die DRAM-Adressenleitungen für vier unterschiedliche Speicherkonfigurationen abbildet. Es sei bemerkt, daß die Schreibweise IAn sich auf die interne Adresse bezieht, wobei angenommen wird, daß diese Information als Bits 17 : 4 dargeboten wird, wobei die Schreibweise 'Bits 17 : 4' den Bereich von Bits, beginnend mit dem höchstbewerteten Bit 17 zum niedrigstbewerteten Bit 4 anzeigt. CNTN bezieht sich auf die Halbbyte- Zählung, die fünf Ausgangsbits aufweist (s. Tabelle 2, Cntn = 0 bis Cntn = 4), die in der Lage sind, 32 unterschiedliche Spaltenadressen darzustellen, beispielsweise von der Spaltenadresse 1 bis 32. Wenn zwei DRAM-Bausteine verwendet werden, so werden lediglich vier Bits der Halbbyte-Zählung verwendet. Ein Vergleich der ersten beiden Beispiele der Tabelle 2 mit den Beispielen der Tabelle 1 zeigt, daß für die Tabelle 1 die DRAM- Bitleitung A7 sieben unterschiedliche interne Bitleitungen aufweist, die auf sie multiplexiert werden. Für die ersten beiden Beispiele der Tabelle 2 hat die Bitleitung A7 lediglich drei interne Bitleitungen, die auf sie multiplexiert werden. Damit erfordert die Tabelle 2 einen kleineren Satz von Multiplexern für die internen Adressen, um die internen Adressen auf die DRAM-Adressenbits abzubilden. Dies ergibt eine beträchtliche Verringerung der Kompliziertheit der Schaltung. Tabelle 2
- Fig. 9 ist ein ausführlicheres Blockschaltbild einer in Fig. 8 gezeigten Steuerzustandsmaschine 200. Die Steuerzustandsmaschine 200 schließt eine erste programmierbare Logikanordnung (PLA0) 300 und eine zweite programmierbare Logikanordnung (PLA1) 301 ein, die eine kombinatorische Logik zur Kombination der verschiedenen Eingangssignale an die Steuerzustandsmaschine 200 bilden, um Logik-Ausgangssignale zu liefern. Der DRAM-Takt an dem Anschluß 204 taktet eine Anzahl von D-Flip-Flop-Schaltungen, um die kombinatorischen Ausgänge der programmierbaren Logikanordnungen 300, 301 zwischenzuspeichern. Verschiedene andere Logikelemente sind an den Ausgangsanschlüssen der verschiedenen D-Flip-Flop-Schaltungen vorgesehen, um die Ausgangssignale an die verschiedenen Anschlüsse zu liefern, wie dies in den Zeichnungen gezeigt ist.
- Fig. 10 zeigt die Schaltungseinzelheiten des in Fig. 8 gezeigten Adressengenerators 202. Im wesentlichen führen diese Schaltungen die Verbindungsanordnung der Tabelle 2 gerätemäßig aus. Die an dem Bus 236 gelieferten internen Adressensignale werden auf diesem Bus an verschiedene UND/ODER/INVERTIERUNGS-Stufen verteilt, die als Multiplexer 401 bis 409 wirken, um diese Adressenleitungen entsprechend der internen Logik auszuwählen, die von der Steuerzustandsmaschine 200 und verschiedenen anderen Logikelementen geliefert wird, wie dies in Fig. 10A und 10B gezeigt ist. Das Ausgangssignal jedes dieser Multiplexer 401 bis 409 ist mit den D-Eingangsanschlüssen einer jeweiligen D-Flip- Flop-Schaltung 410 bis 418 gekoppelt, die die Ausgangssignale dieser Multiplexer unter der Steuerung des DRAM-Taktes zwischenspeichert, der an dem Anschluß 204 geliefert wird. Die einzelnen Spalten-Zellsignale CNTN gemäß Tabelle 2 werden von Ausgangssignalen von bestimmten der D-Flip-Flop-Schaltungen 413 bis 418 geliefert und über Multiplexer 420 bis 425 angekoppelt und in Eingänge der D-Flip-Flop-Schaltungen 413 bis 418 eingespeichert.
- Es sei bemerkt, daß alle in den Zeichnungen gezeigten Logikelemente übliche Zellen und Bausteine sind, die von der ATNT 1,25 Mikron-CMOS-Zellenbibliothek geliefert werden.
Claims (14)
1. Verfahren zur vorübergehenden Speicherung und
Rückgewinnung von q-Bit-Zeicheninformationsdaten für ein
Informationsspeichersystem in einer y-Bit-breiten Pufferspeichereinheit, die
eine Vielzahl von DRAM-Bausteinen aufweist, wobei q größer als
y ist,
gekennzeichnet durch die folgenden Schritte:
Schaffung einer virtuellen Speicheradresse für jede
Einheit von q-Bit-Zeicheninformationsdaten, wobei die
Zeicheninformationsdaten in einem Block organisiert sind, der z
derartige Informationszeichen umfaßt,
Umsetzen der virtuellen Speicheradressen in
entsprechende Adressen von Speicherplätzen in der Pufferspeichereinheit
zur Speicherung von y-Bit-Gruppen des Blockes in der
Pufferspeichereinheit, wobei der Umsetzungsschritt:
das Auswählen einer Reihenadresse für die
Speicherung des Blockes,
die Auswahl einer Basis-Spaltenadresse für den Block,
und
die aufeinanderfolgende Weiterschaltung der Basis-
Spaltenadresse zur Schaffung zusätzlicher
Spaltenadressen für aufeinanderfolgende y-Bit-Gruppen des
Blockes einschließt,
Übertragen jeder der y-Bit-Gruppen des Blockes über
einen y-Bit-Datenbus zu einem Adressenplatz in der
Pufferspeichereinheit, der durch den Umsetzungsschritt bestimmt ist,
Schaffung eines x-Bit-Fehlerdetektions-Codewortes für
jeden derartigen Block;
Auswählen einer Adresse zur Speicherung des x-Bit-
Fehlerdetektions-Codewortes in der Pufferspeichereinheit, wobei
dieses Auswählen einer Adresse:
das Auswählen einer
Fehlerdetektions-Codewort-Reihenadresse,
das Auswählen einer Fehlerdetektions-Codewort-Basis-
Spaltenadresse für eine erste y-Bit-Gruppe des x-Bit-
Fehlerdetektions-Codewortes,
das Weiterschalten der Fehlerdetektions-Codewort-
Basis-Spaltenadresse um y zur Schaffung einer zweiten
Spaltenadresse für eine zweite y-Gruppe des x-Bit-
Fehlerdetektions-Codewortes einschließt, und
Übertragen des Fehlerdetektions-Codewortes über den
y-Bit-Datenbus an die ausgewählten Adressenplätze für das x-Bit-
Fehlerdetektions-Codewort in der Pufferspeichereinheit.
2. Speicher nach Anspruch 1,
bei dem die Fehlerdetektions-Codeworte in einem ersten im
wesentlichen zusammenhängenden Adressenraum in der
Pufferspeichereinheit gespeichert werden und die Zeicheninformationsdaten-
Einheiten in einem zweiten, im wesentlichen zusammenhängenden
Adressenraum in der Pufferspeichereinheit gespeichert werden,
der von dem ersten Adressenraum getrennt ist, wobei die
Fehlerdetektions-Codeworte getrennt von den Zeicheninformationsdaten
gespeichert werden, auf die sie sich beziehen.
3. Verfahren nach Anspruch 1 oder 2,
bei dem die Umsetzung der virtuellen Speicheradresse die Auswahl
der Reihen- und Spaltenadresse unter Verwendung von
Multiplexerschaltungen einschließt.
4. Verfahren nach einem der Ansprüche 1 bis 3,
das weiterhin die Zwischenspeicherung der Reihen- und
Spaltenadressen in Zwischenspeicherschaltungen umfaßt, und bei dem die
aufeinanderfolgende Weiterschaltung der Basisspaltenadresse die
Ankopplung von Ausgängen der Zwischenspeicherschaltungen über
Multiplexerschaltungen einschließt, die mit den Eingängen der
Zwischenspeicherschaltungen gekoppelt sind.
5. Verfahren nach einem der Ansprüche 1 bis 4,
bei dem die Pufferspeichereinheit einen DRAM umfaßt, der in
einer Seitenbetriebsart arbeitet.
6. Verfahren nach einem der Ansprüche 1 bis 4,
bei dem die Pufferspeichereinheit einen DRAM umfaßt, der in
einer statischen Spaltenbetriebsart arbeitet.
7. Verfahren nach einem der Ansprüche 1 bis 6,
bei dem die Übertragung des Fehlerdetektions-Codewortes die
Bildung einer Adresse für jedes gelieferte der Fehlerdetektions-
Codeworte aus der Basisadresse des Blockes von Daten durch
Rechtsverschieben der Basisadresse des Blockes von Daten um eine
vorgegebene Anzahl von Bits und durch Füllen der auf diese Weise
freiwerdenden oberen Bitpositionen mit einem festen Bitmuster
einschließt.
8. Verfahren nach einem der vorhergehenden Ansprüche,
bei dem q gleich 8, x gleich 8, y gleich 4 und z gleich 16 ist.
9. Verfahren nach einem der vorhergehenden Ansprüche,
bei dem das Informationsspeichersystem einen Magnetplatte
einschließt.
10. Verfahren zur vorübergehenden Speicherung und
Rückgewinnung von q-Bit-Zeicheninformationsdaten für ein
Informationsspeichersystem in einer y-Bit-breiten Pufferspeichereinheit, die
eine Vielzahl von DRAM-Bausteinen aufweist, wobei q größer als
y ist,
gekennzeichnet durch die folgenden Schritte:
Schaffung einer virtuellen Speicheradresse für jede
Einheit der q-Bit-Zeicheninformationsdaten, wobei die
Zeicheninformationsdaten in einem Block mit z derartigen Informationszeichen
organisiert sind,
Umsetzen der virtuellen Speicheradressen in
entsprechende Adressen von Speicherplätzen in der Pufferspeichereinheit zur
Speicherung von y-Bit-Gruppen des Blockes in der
Pufferspeichereinheit, wobei der Umsetzungsschritt:
das Auswählen einer Reihenadresse für die Speicherung
des Blockes,
die Auswahl einer Basis-Spaltenadresse für den Block,
die Zwischenspeicherung der Reihen- und
Basis-Spaltenadressen in Zwischenspeicherschaltungen, und
das aufeinanderfolgende Weiterschalten der Basis-
Spaltenadresse zur Schaffung zusätzlicher
Spaltenadressen für aufeinanderfolgende y-Bit-Gruppen des
Blockes durch Koppeln von Ausgängen der
Zwischenspeicherschaltungen über Multiplexerschaltungen
einschließt, die mit Eingängen der
Zwischenspeicherschaltungen gekoppelt sind, um die Spaltenadressen
weiterzuschalten, und
die Übertragung jeder der y-Bit-Gruppen des Blockes über
einen y-Bit-Datenbus an einen Adressenplatz in der
Pufferspeichereinheit, der durch den Umsetzungsschritt bestimmt ist.
11. Verfahren nach Anspruch 10,
das weiterhin folgende Schritte umfaßt:
Schaffen eines x-Bit-Fehlerdetektions-Codewortes für
jeden der Blöcke,
Auswahl einer Adresse zur Speicherung des
x-Bit-Fehlerdetektions-Codewortes in der Pufferspeichereinheit, wobei die
Auswahl einer Adresse folgendes einschließt:
das Auswählen einer Fehlerdetektions-Codewort-Reihen-
Adresse,
das Auswählen einer Fehlerdetektions-Codewort-Basis-
Spaltenadresse für eine erste y-Bit-Gruppe des x-Bit-
Fehlerdetektions-Codewortes,
das Weiterschalten der Fehlerdetektions-Codewort-
Basis-Spaltenadresse um y zur Schaffung einer zweiten
Spaltenadresse für eine zweite y-Bit-Gruppe des
x-Bit-Fehlerdetektions-Codewortes, und
Übertragen des Fehlerdetektions-Codewortes über
den y-Bit-Datenbus an die ausgewählten Adressenplätze für das
x-Bit-Fehlerdetektions-Codewort in der Pufferspeichereinheit.
12. Verfahren nach einem der vorhergehenden Ansprüche,
bei dem die aufeinanderfolgende Weiterschaltung der Basis-
Spaltenadresse zur Schaffung zusätzlicher Spaltenadressen für
aufeinanderfolgende y-Bit-Gruppen des Blockes die
aufeinanderfolgende Weiterschaltung der Basis-Spaltenadresse um y umfaßt,
um zusätzliche Adressenspaltenadressen für aufeinanderfolgende
y-Bit-Gruppen des Blockes zu schaffen.
13. Verfahren nach einem der Ansprüche 10, 11 und 12 unter
Rückbeziehung auf Anspruch 11,
bei dem die Auswahl einer
Fehlerdetektions-Codewort-Reihenadresse die Auswahl einer Fehlerdetektions-Codewort-Reihenadresse
umfaßt, die von der für die Speicherung des Blockes ausgewählten
Reihenadresse verschieden ist, und bei dem die Auswahl eines
Fehlerdetektions-Codewortes die Auswahl einer Fehlerdetektions-
Codewort-Basis-Spaltenadresse für eine erste y-Bit-Gruppe des
x-Bit-Fehlerdetektions-Codewortes umfaßt, die von der
ausgewählten Block-Basis-Spaltenadresse verschieden ist, wobei die
Zeicheninformation im wesentlichen zusammenhängend in der
Pufferspeichereinheit gespeichert wird, und wobei die
Fehlerdetektions-Codeworte im wesentlichen zusammenhängend in der
Pufferspeichereinheit und getrennt von den Zeicheninformationsdaten
gespeichert werden, auf die sich die Fehlerdetektions-Codeworte
beziehen.
14. Verfahren nach einem der Ansprüche 1 bis 13,
bei dem die q-Bit-Zeicheninformation aus
8-Bit-Zeicheninformationsdaten besteht, wobei die Zeicheninformation in 16-Byte-
Blöcken organisiert ist, wobei der y-Bit-breite Pufferspeicher
aus 4-Bit-breitem DRAM besteht, und wobei das
x-Bit-Fehlerdetektions-Codewort aus einem 8-Bit-Codewort besteht.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US07/487,740 US5280601A (en) | 1990-03-02 | 1990-03-02 | Buffer memory control system for a magnetic disc controller |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69131186D1 DE69131186D1 (de) | 1999-06-10 |
DE69131186T2 true DE69131186T2 (de) | 1999-08-26 |
Family
ID=23936929
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69131186T Expired - Fee Related DE69131186T2 (de) | 1990-03-02 | 1991-02-26 | Verfahren zum Steuern eines Pufferspeichers für einen Magnetplattenspeicher |
Country Status (6)
Country | Link |
---|---|
US (1) | US5280601A (de) |
EP (1) | EP0444885B1 (de) |
JP (1) | JP2772150B2 (de) |
DE (1) | DE69131186T2 (de) |
HK (1) | HK1013344A1 (de) |
SG (1) | SG47724A1 (de) |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5655147A (en) * | 1991-02-28 | 1997-08-05 | Adaptec, Inc. | SCSI host adapter integrated circuit utilizing a sequencer circuit to control at least one non-data SCSI phase without use of any processor |
IL100127A0 (en) * | 1991-03-11 | 1992-08-18 | Future Domain Corp | Scsi controller |
US5371861A (en) * | 1992-09-15 | 1994-12-06 | International Business Machines Corp. | Personal computer with small computer system interface (SCSI) data flow storage controller capable of storing and processing multiple command descriptions ("threads") |
US5537425A (en) * | 1992-09-29 | 1996-07-16 | International Business Machines Corporation | Parity-based error detection in a memory controller |
US5659690A (en) * | 1992-10-15 | 1997-08-19 | Adaptec, Inc. | Programmably configurable host adapter integrated circuit including a RISC processor |
US5379261A (en) * | 1993-03-26 | 1995-01-03 | United Memories, Inc. | Method and circuit for improved timing and noise margin in a DRAM |
KR0139776B1 (ko) * | 1993-11-26 | 1998-07-15 | 이헌조 | 씨디 그래픽스 디코더의 디램제어장치 |
WO1995016950A1 (en) * | 1993-12-14 | 1995-06-22 | Apple Computer, Inc. | Method and apparatus for transferring data between a computer and a peripheral storage device |
US5983309A (en) * | 1994-07-27 | 1999-11-09 | Seagate Technology, Inc. | Autonomous high speed address translation with defect management for hard disc drives |
US5729719A (en) * | 1994-09-07 | 1998-03-17 | Adaptec, Inc. | Synchronization circuit for clocked signals of similar frequencies |
WO1996032674A2 (en) * | 1995-04-13 | 1996-10-17 | Cirrus Logic, Inc. | Semiconductor memory device for mass storage block access applications |
US5692165A (en) * | 1995-09-12 | 1997-11-25 | Micron Electronics Inc. | Memory controller with low skew control signal |
US5765203A (en) * | 1995-12-19 | 1998-06-09 | Seagate Technology, Inc. | Storage and addressing method for a buffer memory control system for accessing user and error imformation |
US6021482A (en) * | 1997-07-22 | 2000-02-01 | Seagate Technology, Inc. | Extended page mode with a skipped logical addressing for an embedded longitudinal redundancy check scheme |
US6148388A (en) * | 1997-07-22 | 2000-11-14 | Seagate Technology, Inc. | Extended page mode with memory address translation using a linear shift register |
US6009547A (en) * | 1997-12-03 | 1999-12-28 | International Business Machines Corporation | ECC in memory arrays having subsequent insertion of content |
US6925589B1 (en) * | 1998-10-29 | 2005-08-02 | International Business Machines Corporation | Method for translating physical cell-coordinates of a memory product to n-dimensional addresses |
JP3778540B2 (ja) * | 1999-05-17 | 2006-05-24 | 東芝デジタルメディアエンジニアリング株式会社 | 信号処理回路及び情報記録装置 |
JP2002170399A (ja) * | 2000-12-05 | 2002-06-14 | Fujitsu Ltd | 半導体装置 |
US20040268033A1 (en) * | 2003-06-24 | 2004-12-30 | Seagate Technology Llc | Refreshing data in a data storage device |
US7836380B2 (en) * | 2006-10-31 | 2010-11-16 | Intel Corporation | Destination indication to aid in posted write buffer loading |
US7961532B2 (en) * | 2008-06-27 | 2011-06-14 | Rambus Inc. | Bimodal memory controller |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2112256B (en) * | 1981-11-18 | 1985-11-06 | Texas Instruments Ltd | Memory apparatus |
US4514806A (en) * | 1982-09-30 | 1985-04-30 | Honeywell Information Systems Inc. | High speed link controller wraparound test logic |
US4683555A (en) * | 1985-01-22 | 1987-07-28 | Texas Instruments Incorporated | Serial accessed semiconductor memory with reconfigureable shift registers |
US4916603A (en) * | 1985-03-18 | 1990-04-10 | Wang Labortatories, Inc. | Distributed reference and change table for a virtual memory system |
US4819152A (en) * | 1985-04-05 | 1989-04-04 | Raytheon Company | Method and apparatus for addressing a memory by array transformations |
US4672613A (en) * | 1985-11-01 | 1987-06-09 | Cipher Data Products, Inc. | System for transferring digital data between a host device and a recording medium |
JPS62149099A (ja) * | 1985-12-23 | 1987-07-03 | Toshiba Corp | メモリアクセス制御回路 |
US4803621A (en) * | 1986-07-24 | 1989-02-07 | Sun Microsystems, Inc. | Memory access system |
US4845664A (en) * | 1986-09-15 | 1989-07-04 | International Business Machines Corp. | On-chip bit reordering structure |
JPS63186345A (ja) * | 1987-01-29 | 1988-08-01 | Toshiba Corp | アドレス多重化制御回路 |
US5007020A (en) * | 1987-03-18 | 1991-04-09 | Hayes Microcomputer Products, Inc. | Method for memory addressing and control with reversal of higher and lower address |
US5057837A (en) * | 1987-04-20 | 1991-10-15 | Digital Equipment Corporation | Instruction storage method with a compressed format using a mask word |
EP0303752B1 (de) * | 1987-08-20 | 1993-06-02 | International Business Machines Corporation | Speicherzugriffssteuerungsvorrichtung in einem Gemischtdatenformatsystem |
US4992956A (en) * | 1987-10-08 | 1991-02-12 | Advanced Micro Devices, Inc. | Apparatus for assembling data for supply to a scanning output device |
US4888773A (en) * | 1988-06-15 | 1989-12-19 | International Business Machines Corporation | Smart memory card architecture and interface |
US4916654A (en) * | 1988-09-06 | 1990-04-10 | International Business Machines Corporation | Method for transfer of data via a window buffer from a bit-planar memory to a selected position in a target memory |
US5058005A (en) * | 1988-09-09 | 1991-10-15 | Compaq Computer Corporation | Computer system with high speed data transfer capabilities |
US5065312A (en) * | 1989-08-01 | 1991-11-12 | Digital Equipment Corporation | Method of converting unique data to system data |
-
1990
- 1990-03-02 US US07/487,740 patent/US5280601A/en not_active Expired - Fee Related
-
1991
- 1991-02-26 EP EP91301553A patent/EP0444885B1/de not_active Expired - Lifetime
- 1991-02-26 DE DE69131186T patent/DE69131186T2/de not_active Expired - Fee Related
- 1991-02-26 SG SG1996004071A patent/SG47724A1/en unknown
- 1991-03-01 JP JP3036291A patent/JP2772150B2/ja not_active Expired - Fee Related
-
1998
- 1998-12-22 HK HK98114561A patent/HK1013344A1/xx not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
US5280601A (en) | 1994-01-18 |
DE69131186D1 (de) | 1999-06-10 |
JP2772150B2 (ja) | 1998-07-02 |
JPH06131124A (ja) | 1994-05-13 |
HK1013344A1 (en) | 1999-08-20 |
EP0444885A3 (de) | 1995-01-25 |
EP0444885A2 (de) | 1991-09-04 |
EP0444885B1 (de) | 1999-05-06 |
SG47724A1 (en) | 1998-04-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69131186T2 (de) | Verfahren zum Steuern eines Pufferspeichers für einen Magnetplattenspeicher | |
DE3909896C2 (de) | ||
DE69232458T2 (de) | Programmierbare Zeitsteuerung für Speicher | |
DE69027030T2 (de) | Eine fehlertolerante datenspeicherungsanordnung | |
DE2803989C2 (de) | Digitaldatenspeicher mit wahlfreiem Zugriff | |
DE2617408C3 (de) | Speichermodul fur ein Datenverarbeitungsgerät mit Speicherhierarchie | |
DE69826863T2 (de) | Verfahren und vorrichtung zur abstimmung eines zur verrieglung digitaler signalen gebrauchten taktsignals und speichervorrichtung die sie verwendet | |
DE2948159C2 (de) | Integrierter Speicherbaustein mit wählbaren Betriebsfunktionen | |
DE60016220T2 (de) | Speichererweiterungsmodul mit einer vielzahl von speicherbanken und einer banksteuerungschaltung | |
DE3724317C2 (de) | ||
DE69422120T2 (de) | Synchroner dynamischer Speicher mit wahlfreiem Zugriff | |
DE69509134T2 (de) | Doppelbankspeicher und systeme, die diesen benutzen | |
DE19882486B4 (de) | Synchroner, nicht-flüchtiger Seitenmodus-Speicher | |
DE68922975T2 (de) | Speichereinheit mit zwei Toren. | |
DE2230987C2 (de) | ||
DE3587375T2 (de) | Schaltung zur zwischenspeicherung von bilddaten. | |
DE2061854A1 (de) | Speicher aus Schieberegistern | |
DE19900365A1 (de) | Hochgeschwindigkeits-Halbleiterspeichervorrichtung, die eine Datensequenz für eine Burst-Übertragung ändern kann | |
DE10147592A1 (de) | System und Verfahren zum Vorsehen geichzeitiger Zeilen- und Spaltenbefehle | |
DE4019135A1 (de) | Serieller speicher auf ram-basis mit parallelem voraus-lesen | |
DE69123987T2 (de) | Stossbetrieb für Mikroprozessor mit externem Systemspeicher | |
DE69326494T2 (de) | Halbleiterspeicheranordnung | |
DE69029815T2 (de) | Zentralisierte referenz- und änderungstabelle für eine virtuelle speicheranordnung | |
US6035381A (en) | Memory device including main memory storage and distinct key storage accessed using only a row address | |
DE1499607B1 (de) | Zugriffschaltung fuer umlaufspeicher in einer datenverarbei tungsanlage |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8327 | Change in the person/name/address of the patent owner |
Owner name: SEAGATE TECHNOLOGY LLC, SCOTTS VALLEY, CALIF., US |
|
8328 | Change in the person/name/address of the agent |
Free format text: HENKEL, FEILER & HAENZEL, 81675 MUENCHEN |
|
8339 | Ceased/non-payment of the annual fee |