DE3620858A1 - Schaltung zum auffrischen, ueberpruefen und korrigieren von in einem speicher gespeicherten datensignalen - Google Patents
Schaltung zum auffrischen, ueberpruefen und korrigieren von in einem speicher gespeicherten datensignalenInfo
- Publication number
- DE3620858A1 DE3620858A1 DE19863620858 DE3620858A DE3620858A1 DE 3620858 A1 DE3620858 A1 DE 3620858A1 DE 19863620858 DE19863620858 DE 19863620858 DE 3620858 A DE3620858 A DE 3620858A DE 3620858 A1 DE3620858 A1 DE 3620858A1
- Authority
- DE
- Germany
- Prior art keywords
- memory
- data
- circuit
- microprocessor
- address
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
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/106—Correcting systematically all correctable errors, i.e. scrubbing
-
- 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/14—Error detection or correction of the data by redundancy in operation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
- G06F13/282—Cycle stealing DMA
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/4063—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
- G11C11/407—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
- G11C11/409—Read-write [R-W] circuits
- G11C11/4096—Input/output [I/O] data management or control circuits, e.g. reading or writing circuits, I/O drivers or bit-line switches
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1006—Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Databases & Information Systems (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computer Hardware Design (AREA)
- Dram (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
Description
Die Erfindung betrifft eine Schaltung zum Auffrischen
Prüfen und Korrigieren von Datensignalen in einem dy
namischen Speicher bei einer Datenverarbeitungsanlage.
Direktzugriffsspeicher (RAM) weisen Speicherzellen
auf, die entweder aus bipolaren TTL- oder aus MOS-
Transistoren bestehen. Eine Speicherzelle, die aus
einem TTL-Transistor besteht, arbeitet statisch, derart,
daß das darin gespeicherte Datensignal nicht verloren
geht, solange der Transistor kontinuierlich an Spannung
liegt. Im Unterschied dazu arbeiten aus MOS-Transistoren
bestehende Speicherzellen dynamisch. Direktzugriffs
speicher, die aus dynamischen Speicherzellen bestehen,
werden als DRAM bezeichnet. Datensignale werden hierbei
durch parasitäre Kondensatoren zwischen den Gate- und
Source-Anschlüssen der MOS-Transistoren gespeichert.
Das logische Signal H beispielsweise ist charakteri
siert durch eine bestimmte Menge einer elektrischen
Ladung, die durch einen solchen parasitären Kondensa
tor gespeichert wird. Wird das gespeicherte Datensig
nal über eine bestimmte Zeitdauer z.B. von einem Mikro
prozessor nicht abgerufen, dann nimmt die Kondensatorla
dung infolge von Leckströmen ab, so daß das logische
Signal H nicht mehr unterscheidbar wird von einem logischen
Signal L, wodurch ein Datenverlust auftritt.
Es sind Schaltungen bekannt, die eine Auffrischung
des gespeicherten Datensignals bewirken, bevor die
erwähnte Kondensatorladung auf einen kritischen Wert
abnimmt. Derartige, einen DRAM-Speicher auffrischende
Schaltungen verwenden üblicherweise NMOS-Komponenten,
bestehend aus Adressengeneratoren, internen Zählern
usw., welche etwa alle 2 ms einen Wiedergewinnungsimpuls
von einer Mikrosekunde erzeugen, der an jede Speicher
zelle des DRAM-Speichers angelegt wird.
Die NMOS-Komponenten arbeiten jedoch relativ langsam,
sind relativ teuer, und benötigen einen erheblichen
Anteil an Schaltungsplatten infolge ihres sehr kompli
zierten Aufbaus.
Daneben ist es bekannt, dedizierte Auffrischungsschal
tungen zu verwenden, bei denen die Arbeit des Mikropro
zessors etwa alle 2 ms unterbrochen wird zur Ausführung
einer Auffrischungs-Subroutine, die bewirkt, daß 128
aufeinanderfolgende DRAM-Speicherstellen abgelesen
werden. Ein erkennbarer Nachteil besteht darin, daß
der Mikroprozessor beträchtliche Zeit benötigt, um
die DRAM-Speicherstellen aufzufrischen, wobei diese
Zeit üblicherweise sinnvoller verwendet wird, um
Funktionen höherer Priorität auszuführen.
Um die Datenintegrität sicherzustellen, werden die
vom Mikroprozessor aus dem DRAM-Speicher abgerufenen
Datensignale üblicherweise bezüglich des Vorhandenseins
eines Paritätsfehlers überprüft, der bei einem Datensignal
verlust auftritt, der infolge der vorerwähnten Leckströme
entsteht.
Paritätsüberprüfungs- und -korrekturschaltkreise sind
bekannt. Die bekannten Paritätsüberprüfungsschal
tungen sind jedoch ziemlich teuer und benötigen einen
erheblichen Bauteileaufwand. Üblicherweise arbeiten
diese Schaltungen unabhängig von den vorerwähnten
Auffrischungsschaltungen. Beispielsweise arbeiten
die Auffrischungsschaltungen kontinuierlich und zyklisch,
um den Inhalt des DRAM-Speichers aufzufrischen, wobei
diese Arbeitsweise unabhängig erfolgt vom Abruf der
Daten aus dem DRAM-Speicher. Die Paritätsfehlererfassung
und die Korrekturschaltungen werden jedoch üblicher
weise nur zugeschaltet während der Zeit, wo der Mikro
prozessor Daten vom Speicher abruft.
Zur Ausführung einer Paritätsüberprüfung wird üblicherweise
ein voller Mikroprozessor-Buszyklus nach der Ausführung
eines Befehls des Mikroprozessors für einen Abruf
des Speichers benötigt. Wird ein Fehler erfasst, wird
eine Systemrückstellung ausgeführt, was üblicherweise
zu einem Systemausfall führt, da die in Akkumulatoren
oder internen Registern des Mikroprozessors gespeicherten
Daten verloren gehen. Dient der Mikroprozessor bei
spielsweise der Steuerung der Verbindungen in einer
Telefonanlage oder der Steuerung eines anderen Telekommu
nikationssystems, dann gehen die geschalteten Verbin
dungen verloren.
Es besteht die Aufgabe, die Schaltung so auszubilden,
das ein kontinuierliches Auffrischen der gespeicherten
Daten und gleichzeitig eine Paritätsüberprüfung erfolgt
und bei einem erfassten Paritätsfehler die richtigen
Daten sofort in den Speicher eingegeben werden.
Gelöst wird diese Aufgabe durch die kennzeichnenden
Merkmale des Anspruches 1. Vorteilhafte Ausgestaltungen
sind den Unteransprüchen entnehmbar.
Es wird eine Steuerschaltung (DMAC) für den Direktzugriffs
speicher dazu verwendet, die DRAM-Speicherstellen
aufzufrischen, in dem ein Datentransfer zwischen
dem Speicher und einer "nicht vorhandenen" Perifereinheit
ausgeführt wird. Die DMAC-Steuerschaltung ist so programmiert,
daß sie periodisch den Mikroprozessor von der Steuerung
des Daten- und Adressenbusses ablöst, eine Speicher
stelle vom DRAM-Speicher abruft und sie in einer nicht
vorhandenen Perifereinheit speichert, d.h. an einer
definierten Periferadresse, für die keine entsprechende
Perifereinheit vorhanden ist. Auf diese Weise werden
die Speicherzellen, die einer DRAM-Speicherstelle
zugeordnet sind, als Ergebnis dieses Abrufs durch
die DMAC-Steuerschaltung aufgefrischt.
Wie bei den vorerwähnten DRAM-Auffrischungsschaltungen
wird der DRAM-Speicher unabhängig vom Ablesen des
DRAM-Speichers durch den Mikroprozessor aufgefrischt
und hierdurch der Nachteil vermieden, daß hierfür
wesentliche Arbeitszeit des Mikroprozessors benötigt
wird. Hierbei besteht jedoch bei der beanspruchten
Schaltung der wesentliche Vorteil, daß die DMAC-Steuer
schaltung aus einem billigen Halbleiterchip besteht,
das wenig Schaltungsaufwand benötigt und mit hoher
Geschwindigkeit arbeitet.
Die infolge des Abrufs durch die DMAC-Steuerschaltung
im Datenbus auftretenden Datensignale, die zuvor im
DRAM-Speicher gespeichert waren, werden einer Paritäts
überprüfungsschaltung zugeführt. Wird ein Paritätsfehler
erfasst, dann wird ein Signal erzeugt, das die normale
Arbeit des Mikroprozessors unterbricht, der sodann
eine Wiedergewinnungsroutine ausführt, bei welcher
das fehlerhafte Datensignal in seiner richtigen Form
von neuem gespeichert wird. Dies kann beispielsweise
durchgeführt werden durch Datenabruf von einem Floppy-
Disk.
Da die Paritätsüberprüfung und die Datenneueingabe
durchgeführt wird während der Auffrischung des DRAM-
Speichers, werden Paritätsfehler erfasst und korrigiert,
bevor der Mikroprozessor diese Datensignale abruft.
Die Häufigkeit der Systemrückstellung wird hierdurch
wesentlich reduziert.
Die DRAM-Auffrischung und die Paritätsüberprüfung
entspricht den modernen Rechnererfordernissen einer
hohen Arbeitsgeschwindigkeit bei geringen Kosten
und geringem Bauteileaufwand. Die bekannten NMOS-
Wiederauffrischungsschaltungen für DRAM-Speicher
benötigenetwa 25% der Buszyklen des Mikroprozessors.
Mit dem vorliegenden System werden nur noch 6,4%
der Buszyklen hierfür benötigt.
Die Schaltung zum Auffrischen, Überprüfen und Korri
gieren von Datensignalen, die in einem dynamischen
Speicher gespeichert sind, umfasst einen Datenbus,
der mit dem dynamischen Speicher verbunden ist, eine
Direktzugriffsspeichersteuerschaltung, die mit dem
Speicher und dem Datenbus verbunden ist zum periodischen
Abruf eines von aufeinanderfolgenden Datensignalen,
derart, daß die Datensignale im Datenbus auftreten,
eine Paritätsüberprüfungsschaltung, die mit dem Datenbus
verbunden ist und Paritätsfehler der Datensignale er
fasst und in Abhängigkeit davon Unterbrechungssig
nale erzeugt, eine Wiedergewinnungsschaltung, die
mit dem Datenbus und der Paritätsüberprüfungsschaltung
verbunden ist, der die Unterbrechungssignale zugeführt
werden und die die korrekten Versionen der Datensignale
erzeugt zur Speicherung im dynamischen Speicher,
wobei aufeinanderfolgende Datensignale aufgefrischt
werden als Ergebnis des Ablesens durch die Direktzu
griffspeichersteuerschaltung und wobei Paritätsfehler
korrigiert werden, in dem korrekte Versionen der Daten
signale zugeführt und im Speicher gespeichert werden.
Ausführungsbeispiele werden nachfolgend anhand der
Zeichnung näher erläutert, die ein Blockschaltbild
der Schaltung darstellt.
Wie der Figur zu entnehmen ist, ist der Mikroprozessor
1 über Daten-, Adressen- und Steuerbusse 3, 4, 5 mit
einem dynamischen Direktzugriffsspeicher DRAM 2
verbunden, der nachfolgend mit DRAM bezeichnet wird.
Der Mikroprozessor 1 adressiert über den Adressenbus
4 Daten im DRAM 2. In Abhängigkeit bestimmter Signal
folgen im Steuerbus 5 werden Daten vom DRAM 2 abge
rufen oder in diesen eingegeben. Typische Steuersignale
sind die Befehle Eingabe/Ausgabe, Chipauswahl und
Speicheradressensignale.
Eine Steuerschaltung DMAC 6 für den Direktzugriffsspeicher,
nachfolgend DMAC genannt, ist mit den Daten-, Adressen-
und Steuerbussen 3, 4, 5 verbunden. Dynamische Speicherzugriffssteuerschaltungen
sind bekannt und werden dazu verwendet, einen Datenaus
tausch zwischen Perifereinheiten und einem Speicher
in einem Mikroprozessorsystem auszuführen. Gemäß der
vorliegenden Erfindung wird die DMAC 6 jedoch dazu
verwendet, Speicherstellen des DRAM 2 aufzufrischen
durch das Transferieren von Daten vom DRAM 2 zu einer
nicht existierenden Perifereinheit, d.h. zu einer
Periferadresse im Mikroprozessorspeicher, für welchen
keine entsprechende Perifereinheit vorhanden ist.
Eine Taktschaltung 7 erzeugt Taktsignale in Abhängig
keit von Signalen, die von einem Oszillator 8 erhalten
werden. Im Speziellen erzeugt die Taktschaltung 7
ein Taktsignal am Ausgang C 1, der mit dem Eingang
CLK des Mikroprozessors 1 verbunden ist, wobei dieses
Signal dazu dient, die Arbeitsweise des Mikroprozessors
zu synchronisieren. Ein weiteres Taktsignal tritt
am Ausgang C 2 der Taktschaltung 7 auf, das dem Abruf
eingang REQ der DMAC 6 zugeführt wird, wodurch periodisch
ein Abrufbefehl bewirkt wird.
Im Betrieb wird die Arbeitsweise der Schaltung eingeleitet,
in dem der Mikroprozessor 1 ein Ureingabeprogramm
ausführt. Infolge dieses Ureingabeprogramms gibt
der Mikroprozessor 1 eine Reihe von Befehlen in die
DMAC 6 ein, wobei erste und letzte DRAM-Speicher
adressen und die nicht existente Periferadresse in
die inneren Datenregister der DMAC 6 eingegeben wer
den. Die eingegebenen Befehle bewirken, daß die
DMAC 6 konfiguriert wird für eine Arbeitsweise, welche
als "Kette zum zyklischen Stehlen" bezeichnet werden
kann. Bei dieser Arbeitsweise übernimmt die DMAC 6
vom Mikroprozessor 1 die Steuerung über die Daten-
und Adressenbusse 3, 4 in Abhängigkeit eines von
der Taktschaltung 7 zugeführten Abrufssignals, d.h.
die DMAC 6 "stiehlt" diese Steuerung vom Mikroprozessor
1. Die DMAC 6 führt sodann einen Datentransfer vom
DRAM 2 zur nicht vorhandenen Perifereinheit aus.
Nachdem die Daten von der letztgültigen Speicheradresse
des DRAM 2 transferiert wurden, bewirkt die DMAC 6
eine Neuansteuerung zur ersten gültigen Speicheradresse,
was der vorerwähnten "Kette" entspricht.
Der Mikroprozessor 1 bewirkt auch, daß im DRAM 2 die
Daten von einem externen Speicher 12 bei dieser Urein
gabe gespeichert werden. Beim externen Speicher 12
handelt es sich beispielsweise um ein EPROM oder
ein Floppydisk. Der externe Speicher 12 weist Daten-,
Adressen- und Steuereingänge auf, die mit den entsprechen
den Bussen 3, 4 und 5 verbunden sind.
Nach dem Ausführen des Ureingabeprogramms führt der
Mikroprozessor 1 ein oder mehrere Anwendungsprogramme
aus unter der Steuerung eines Arbeitssystemprogramms,
wobei die im DRAM 2 gespeicherten Daten periodisch
abgegriffen werden.
Während der Mikroprozessor 1 dieses Programm ausführt,
erzeugt die Taktschaltung 7 die vorerwähnten Abrufsignale
bevorzugt in einer Frequenz von einem Abrufsignal
bei jeweils 16 Mikrosekunden. Tritt ein erstes dieser
Abrufsignale auf, dann übernimmt die DMAC 6 die Steuerung
über die Daten- und Adressenbusse 3, 4. Die DMAC 6
ruft hierbei ein Datensignal von der ersten zu berücksich
tigten Speicheradresse des DRAM 2 ab, um es in der
Speicherstelle für die nicht vorhandene Perifereinheit
zu speichern. Das Abgreifen des in der Speicherstelle
des DRAM gespeicherten Datensignals resultiert in
einem Auffrischen der zugeordneten kapazitiven Speicher
zellen. Der DMAC 6 gibt sodann die Bussteuerung an
den Mikroprozessor 1 zurück, der mit der Ausführung
des Programms fortfährt.
Etwa 16 Mikrosekunden später erzeugt die Taktschaltung
7 ein zweites Abrufsignal, das wiederum dem Eingang
REQ der DMAC 6 zugeführt wird. Hierdurch übernimmt
die DMAC 6 von neuem die Steuerung der Busse und bewirkt
ein Auffrischen der Speicherzellen, die der zweiten
Speicheradresse des DRAM 2 zugeordnet sind.
Der Datentransfer vom DRAM 2 zur nicht vorhandenen
Perifereinheit bzw. zu deren Speicherstelle und zurück
zur abgerufenen Speicherstelle des DRAM 2 wird solange
wiederholt, bis jede der aufeinanderfolgenden Speicher
stellen des DRAM 2 aufgefrischt wurde. Nachdem die
letzte Speicheradressenstelle des DRAM 2 aufgefrischt
wurde, beginnt die DMAC 6 von neuem mit der Auffrischung
der ersten Speicheradressenstelle des DRAM 2, wie
zuvor beschrieben.
Die im Datenbus auftretenden Datensignale werden
weiterhin dem Dateneingang DATA einer Schaltung 9
zur Überprüfung der Parität zugeführt. Die Paritäts
überprüfungsschaltung 9 weist einen Steuereingang
CTRL auf, der mit dem Steuerbus 5 verbunden ist.
Weiterhin weist diese Schaltung einen Paritätsbitein
gang I auf, der mit einem Paritätsbitausgang P 0 des
DRAM 2 verbunden ist. Ein Ausgang Sigma O ist verbunden
mit einem Paritätsbiteingang P 1 des DRAM 2. Ein
Ausgang Sigma E für eine geradzahlige Parität ist
verbunden mit einem Unterbrechungseingang INT des
Mikroprozessors 1.
Während der Ausführung des Ureingabeprogramms, erzeugt
die Paritätsüberprüfungsschaltung 9 ein Paritätsbit
für jedes Datenbyte, das im Datenbus 3 auftritt,
wenn die Daten vom externen Speicher 12 im DRAM 2
gespeichert werden. Diese Paritätsbits werden vom
Ausgang Sigma O dem Eingang P 1 des DRAM 2 zugeführt,
um dort gespeichert zu werden. Die Paritätsbits, die
der Paritätsüberprüfungsschaltung 9 jeweils zugeführt
und von dieser abgegeben werden, werden über separate
Leitungen zu und vom DRAM 2 geleitet und erscheinen
somit nicht im Datenbus 3. Es wird also jedem Datenbyte
ein Paritätsbit zugeordnet, die zusammen im DRAM 2
gespeichert werden, wobei die Aufeinanderfolge der
Paritätsbits in der Schaltung 2 gespeichert ist.
Während des Normalbetriebs, d.h. während der Ausführung
eines oder mehrerer Andwendungsprogramme im Anschluß
an die Ausführung des Ureingabeprogramms, erfasst
die Paritätsüberprüfungsschaltung 9 die Parität eines
Datensignals, das im Datenbus 3 als Ergebnis des Ab
rufs durch die DMAC 6 auftritt und vergleicht diese
mit dem zugeordneten gespeicherten Paritätsbit, das
vom DRAM 2 direkt übermittelt wird. Auf diese Weise
bestimmt die Paritätsüberprüfungsschaltung 9 die Parität
einer Kombination des empfangenen Datensignals und
ihres zugeordneten Paritätsbits. Für den Fall, daß
kein Paritätsfehler festgestellt wird, erzeugt die
Schaltung ein logisches Signal H am Ausgang Sigma
O und ein logisches Signal L am Ausgang Sigma E. Wird
jedoch ein Paritätsfehler erfasst, dann nimmt der
Ausgang Sigma E das Potential H an, wodurch ein Unterbrechungs
signal entsteht, das den Mikroprozessor 1 unterbricht.
Während der Ureingabe ist der Eingang INT des Mikroprozessors
1 blockiert, so daß keine Unterbrechung dieses Pro
gramms auftreten kann.
Die Adresse im DRAM 2 eines einen Paritätsfehler ent
haltenen Datensignale erscheint im Adressenbus 4 als
Ergebnis der Adressierung durch die DMAC 6 und dieses
Adressensignal wird dem Adresseneingang ADD eines
Fehlerstellenspeichers 10 zugeführt und dort gespeichert,
wobei diesem Speicher ein Einschaltsignal vom Steuerbus
5 zugeführt wird. Ein Ausgang des Speichers 10 ist
verbunden mit dem Datenbus 3, wodurch die gespeicherte
Adresse dem Mikroprozessor 1 zugeführt wird.
Wird also ein Paritätsfehler bei einem im Datenbus
3 auftretenden Datensignal festgestellt, dann erzeugt
die Schaltung 9 ein Unterbrechungssignal für den
Mikroprozessor 1, der sodann die Fehleradresse des
DRAM 2 abliest, die im Fehlerstellenspeicher 10 ge
speichert ist.
Als nächstes wird eine Datenwiedergewinnungsroutine
vom Mikroprozessor 1 ausgeführt zur Speicherung einer
korrekten Version des im externen Speicher 12 gespeicher
ten Datensignals in derjenigen Speicherstelle des
DRAM 2, welche definiert durch die Fehlerstellenadresse
ist.
Wie vorerwähnt, findet bei der Ausführung eines nor
malen Arbeitsprogramms zwischen dem Mikroprozessor
1 und dem DRAM 2 ein Datenaustausch statt. Die Paritäts
überprüfungsschaltung 9 erzeugt an ihrem Ausgang
Sigma O ein Paritätsbit jeweils in Abhängigkeit von
Daten, die in den DRAM 2 eingegeben werden. Das erzeugte
Paritätsbit wird stets über den Eingang PI in den
DRAM 2 eingegeben. Diese Arbeitsweise entspricht der
jenigen beim Urprogramm, wenn vom DRAM 2 Daten von
externen Speicher 12 übernommen werden.
Während des Normalbetriebs bei Ausführung eines Arbeits
programms ist der Unterbrechungseingang INT des Mikropro
zessors 1 ebenfalls nicht maskiert und die aus dem
DRAM 2 abelesenen Daten werden auf Paritätsfehler
überprüft wie oben beschrieben im Zusammenhang mit
der Datenauffrischung. Der Mikroprozessor wird hierbei
beim Erfassen eines Paritätsfehlers ebenfalls unterbrochen.
Eine korrekte Version des Datensignals wird sodann
bei der Wiedergewinnungsroutine in den DRAM 2 eingegeben,
wie im Zusammenhang mit der Auffrischung der Daten
beschrieben.
Bei einem Prototyp bestand der Mikroprozessor 1 aus
dem Motorola-Modell 68000, der DRAM 2 bestand aus
zwei dynamischen RAM-Megabitschips, organisiert in
16 Blocks zu 128 Kilobytes, die DMAC 6 war das Motorola-
Modell 68450 und als Paritätsüberprüfungsschaltung
6 wurde das Modell LS 280 von Texas Instruments verwendet.
Als Oszillator 8 diente ein Quarzoszillator von 16,384
Megahertz und die Taktschaltung 7 erzeugte am Ausgang
C 1 ein Taktsignal von 8 Megahertz und am Ausgang C 2
ein Abrufsignal von 64 Kilohertz.
Der Datenbus 3 übermittelte 16 Bits, so daß für ein
Byte mit 8 Bits sich ein Paritätsbit ergibt. Somit
erzeugte der Augang Sigma 0 der Paritätsüberprüfungsschal
tung 9 hierfür zwei Paritätsbits zur Speicherung im
DRAM 2, der bei dem Prototyp Datensignale von 18
Bits speicherte, die jeweils aus zwei Datenwörtern
von je 8 Bits und zwei entsprechenden Paritätsbits
bestanden.
Dynamische RAM, wie beispielsweise der DRAM 2 weisen
Adressendekodierschaltungen zur Dekodierung der über
den Adressenbus 4 zugeführten Adressen auf zur Erzeugung
von Ansteuerungssignalen zur Bestimmung der Spalten
und Zeilen der Speicherzellen. Gemäß dem Prototyp
war die Speicherkartierung des Mikroprozessors organisiert
für zwei Speicherteile des DRAM 2, nämlich für ein
Adressenfeld von 000000 hex bis 1FFFFF hex und für
den anderen Teil von 800000 hex bis 9FFFFF hex. Die
Adressensignale des Adressenbusses 4 wurden dekodiert
unter Verwendung einer programmierbaren Logikanordnung,
derart, daß die Spalten- und Zeilenansteuerungssignale
in Abhängigkeit der empfangenen Adressensignale komplett
dekodiert wurden in dem ersten DRAM-Feld, wobei die
Ansteuerung jeder der 16 Banken durch Zeilensteuerung
und lediglich eine Bank Spaltenansteuerung erfolgte,
in Abhängigkeit einer vom zweiten DRAM-Feld empfangenen
Adresse. Somit legt nur eine Bank ein Datensignal
an den Datenbus 3 an, gleichwohl alle anderen Banken
in Abhängigkeit eines empfangenen Zeilenansteuerungs
signals aufgefrischt werden.
Der Mikroprozessor 1 benutzt das erste Feld, um Daten
in den DRAM 2 einzugeben und von diesem auszulesen,
während der DMAC 6 das zweite Erscheinungsbild dazu
benutzt, die Auffrischung durchzuführen. Gemäß dem
Prototyp frischt der DMAC 6 126 Stellen (ausgewählten
Speicherzeilenzellen) etwa 1 mal pro 2 ms auf, d.h.
eine Speicherstelle wird etwa nach jeweils 16 Mikro
sekunden aufgefrischt.
Zusammenfassend kann also festgestellt werden, daß
eine Direktzugriffsspeichersteuerschaltung eine Auf
frischung des DRAM vornimmt, ohne die Verwendung kom
plizierter und teurer Schaltungen zum Auffrischen.
Daten, die im Datenbus auftreten als Ergebnis des
Abrufs durch die DMAC 6, werden einer Paritätsprüfschaltung
zum Erfassen und zur Korrektur von Paritätsfehlern
zugeführt. Auf diese Weise werden Paritätsfehler,
die im DRAM 2 auftreten, korrigiert, bevor sie vom
Mikroprozessor abgerufen werden. Die Häufigkeit von
Systemrückstellungen ist wesentlich reduziert gegenüber
der bekannten Paritätsüberprüfung und den bekannten
Korrekturschaltungen.
Bei dem vorerwähnten Prototyp enthielt die DMAC 6
zusätzlich drei DMA Kanäle zur Ausführung eines üblichen
Datentransfers Speicher zu Speicher, Perifereinheit
zu Speicher und Perifereinheit zu Perifereinheit.
Durch die Verwendung einer Direktzugriffsspeicher
steuerschaltung ergibt sich eine beträchtliche Verein
fachung des Aufbaus und der Arbeitsweise.
Es sind verschiedene Modifikationen des vorbeschriebenen
Systems möglich. Beispielsweise kann ein zusätzlicher
Fehlererfassungs- und Korrekturschaltkreis dazu verwen
det werden als eine Alternative zur Ausführung der
vorerwähnten Wiedergewinnungsroutine, womit die Zeit
weiterhin reduziert wird, die der Mikroprozessor für
die Fehlererfassung und -korrektur benötigt.
Die Taktschaltung 7 kann so eingestellt werden, daß
ein DMA-Abruf alle 2 ms erfolgt und die DMAC 6 kann
so ausgeführt werden, daß er einen Schub von 128 Daten
übertragungen von fortlaufenden Speicherstellen des
DRAM 2 zu der nicht vorhandenen Perifereinheit in
Abhängigkeit eines empfangenen DMA Abrufsignals durch
führt. Für den Fall, daß mehrere aufeinanderfolgende
Speicherstellen im DRAM 2 fehlerhafte Daten enthalten,
dann wird hierdurch der Mikroprozessor 1 von der Aufgabe
entbunden, aufeinanderfolgende zeitbeanspruchende
Wiedergewinnungsroutinen durchzuführen.
Zusätzlich können bestimmte Schaltungen dazu verwendet
werden, die vorerwähnten Wiedergewinnungsroutinen
anstelle des Mikroprozessors 1 auszuführen. Als weitere
Alternative ist es möglich, daß die DMAC 6 dazu verwendet
wird, die Wiedergewinnungsroutine auszuführen, um
Zeit beim Mikroprozessor einzusparen.
Claims (8)
1. Schaltung zum Auffrischen, Überprüfen und Korrigieren
von in einem dynamischen Speicher gespeicherten
Datensignalen, mit einem an den Speicher angeschlos
senen Datenbus und einem Adressenbus, mit einer
Paritätsüberprüfungsschaltung, die an beide Busse
angeschlossen ist und die bei Auftreten eines Pari
tätsfehlers bei einem vom Speicher abgerufenen
und im Datenbus auftretenden Datensignal ein Unter
brechungssignal erzeugt sowie mit einer Auffrischungs
schaltung, die periodisch die im Speicher gespeicherten
Datensignale auffrischt, dadurch gekenn
zeichnet, daß eine Speichersteuerschaltung
(6) vorgesehen ist, die mit dem Datenbus (3) und
dem Adressenbus (4) verbunden ist und periodisch
deren Steuerung übernimmt, dabei Datensignale zu
deren Auffrischung vom Speicher (2) abruft und
in einer seiner freien Speicherstellen speichert
und diese Datensignale gleichzeitig der Paritätsüber
prüfungsschaltung (9) zugeführt werden.
2. Schaltung nach Anspruch 1, dadurch gekenn
zeichnet, daß mit dem Daten- und Adressenbus
(3, 4) ein Mikroprozessor (1) verbunden ist und
die Speichersteuerschaltung (6) die Steuerung über
diese Busse (3, 4) periodisch vom Mikroprozessor
(1) übernimmt.
3. Schaltung nach Anspruch 2, dadurch gekenn
zeichnet, daß die Paritätsüberprüfungsschal
tung (9) das Unterbrechungssignal dem Mikroprozessor
zuführt, der die Speicheradresse des Speichers
(2) erfasst, in welchem das einen Paritätsfehler
aufweisende Datensignal gespeichert war, in Abhängig
keit dieser Adresse von einem externen Speicher
(12) die korrekte Version dieses Datensignals abruft
und über den Datenbus (3) der erfassten Speicheradresse
zuführt.
4. Schaltung nach einem der Ansprüche 1 bis 3, dadurch
gekennzeichnet, daß eine Taktschaltung
(7) mit der Speichersteuerschaltung (6) verbunden
ist, deren Taktsignale die periodische Steuerung
der Speichersteuerschaltung (6) bestimmt.
5. Schaltung nach einem der Ansprüche 1 bis 4, dadurch
gekennzeichnet, daß bei jeder Steuerungs
übernahme durch die Speichersteuerschaltung (6)
über den Adressenbus eine Speicheradresse des Speichers
(2) angesteuert und deren Datensignal dem Daten
bus (3) zugeführt wird und durch die periodische
Steuerungsübernahme aufeinanderfolgende Speicher
adressen angesteuert werden.
6. Schaltung nach einem der Ansprüche 1 bis 5, dadurch
gekennzeichnet, daß bei jedem dem
Speicher (2) zugeführten Datensignal die Paritätsüber
prüfungsschaltung (9) ein Paritätsbit erzeugt,
das dem Speicher (2) zugeführt und dem Datensignal
zugeordnet gespeichert wird und bei jeder Steuerungs
übernahme durch die Speichersteuerschaltung (6)
bei Ausgabe eines Datensignals in den Datenbus
(3) das zugeordnete Paritätsbit der Paritätsüberprü
fungsschaltung zugeführt wird.
7. Schaltung nach einem der Ansprüche 2 bis 6, dadurch
gekennzeichnet, daß mit dem Adressen
bus (4) ein Fehlerstellenspeicher (10) verbunden
ist, der bei Auftreten eines Unterbrechungssignals
die von der Speichersteuerschaltung (6) erzeugte
Speicheradresse speichert, von wo sie über den
Datenbus (3) dem Mikroprozessor (1) zugeführt wird.
8. Schaltung nach einem der Ansprüche 2 bis 6, dadurch
gekennzeichnet, daß durch den Mikropro
zessor (1) vom Speicher (2) abgerufenen Datensig
nale jeweils der Paritätsüberprüfungsschaltung
(9) zur Paritätsüberprüfung zugeführt werden.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CA000488829A CA1240066A (en) | 1985-08-15 | 1985-08-15 | Dynamic memory refresh and parity checking circuit |
Publications (2)
Publication Number | Publication Date |
---|---|
DE3620858A1 true DE3620858A1 (de) | 1987-02-26 |
DE3620858C2 DE3620858C2 (de) | 1990-11-08 |
Family
ID=4131191
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19863620858 Granted DE3620858A1 (de) | 1985-08-15 | 1986-06-21 | Schaltung zum auffrischen, ueberpruefen und korrigieren von in einem speicher gespeicherten datensignalen |
Country Status (8)
Country | Link |
---|---|
US (1) | US4682328A (de) |
JP (1) | JPS6242396A (de) |
CN (1) | CN86100445A (de) |
CA (1) | CA1240066A (de) |
DE (1) | DE3620858A1 (de) |
FR (1) | FR2589600A1 (de) |
GB (1) | GB2179183B (de) |
IT (1) | IT1188283B (de) |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4881205A (en) * | 1987-04-21 | 1989-11-14 | Casio Computer Co., Ltd. | Compact electronic apparatus with a refresh unit for a dynamic type memory |
JPH0831074B2 (ja) * | 1987-11-25 | 1996-03-27 | 株式会社日立製作所 | チャネル制御方式 |
AU628971B2 (en) * | 1989-05-22 | 1992-09-24 | Tandem Computers Incorporated | Sequential parity correction |
CA2021834C (en) * | 1989-10-06 | 1993-12-21 | Louis B. Capps, Jr. | Personal computer memory bank parity error indicator |
JP2960752B2 (ja) * | 1990-06-07 | 1999-10-12 | シャープ株式会社 | 半導体記憶装置 |
US5588112A (en) * | 1992-12-30 | 1996-12-24 | Digital Equipment Corporation | DMA controller for memory scrubbing |
US5778167A (en) * | 1994-06-14 | 1998-07-07 | Emc Corporation | System and method for reassigning a storage location for reconstructed data on a persistent medium storage system |
TW379298B (en) * | 1996-09-30 | 2000-01-11 | Toshiba Corp | Memory updating history saving device and memory updating history saving method |
US6301562B1 (en) | 1999-04-27 | 2001-10-09 | New Transducers Limited | Speech recognition using both time encoding and HMM in parallel |
US6993705B1 (en) * | 2000-12-21 | 2006-01-31 | Emc Corporation | Cyclic redundancy check (CRC) parity check system and method |
WO2002069152A1 (en) * | 2001-02-24 | 2002-09-06 | Blumrich Matthias A | Managing coherence via put/get windows |
US6760881B2 (en) | 2001-10-16 | 2004-07-06 | International Business Machines Corporation | Method for combining refresh operation with parity validation in a DRAM-based content addressable memory (CAM) |
DE10152235B4 (de) * | 2001-10-20 | 2015-01-08 | Robert Bosch Gmbh | Verfahren zum Erkennen von Fehlern bei der Datenübertragung innerhalb eines CAN-Controllers und ein CAN-Controller zur Durchführung dieses Verfahrens |
US7228469B2 (en) * | 2003-01-02 | 2007-06-05 | Fujitsu Limited | Portable information device, method for recovering data in portable information device, and computer product |
US7107390B2 (en) * | 2003-10-08 | 2006-09-12 | Micron Technology, Inc. | Parity-scanning and refresh in dynamic memory devices |
CN100351802C (zh) * | 2005-03-02 | 2007-11-28 | 华为技术有限公司 | 获取硬件信息的方法及系统 |
DE102005040917A1 (de) * | 2005-08-30 | 2007-03-08 | Robert Bosch Gmbh | Datenverarbeitungssystem und Betriebsverfahren dafür |
US9270976B2 (en) * | 2005-11-02 | 2016-02-23 | Exelis Inc. | Multi-user stereoscopic 3-D panoramic vision system and method |
TWI302311B (en) * | 2006-06-09 | 2008-10-21 | Innolux Display Corp | Dynamic random access memory |
US20160239441A1 (en) * | 2015-02-13 | 2016-08-18 | Qualcomm Incorporated | Systems and methods for providing kernel scheduling of volatile memory maintenance events |
WO2016157505A1 (ja) * | 2015-04-02 | 2016-10-06 | 三菱電機株式会社 | メモリチェック機能を有するdmac |
IT201700000509A1 (it) * | 2017-01-03 | 2018-07-03 | Gabriele Ferrandino | Cronografo |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0071743A2 (de) * | 1981-08-12 | 1983-02-16 | International Business Machines Corporation | Auffrischungsschaltung für einen dynamischen Speicher eines Datenprozessors und Steuerungsgerät für direkten Speicherzugriff |
DE3332601A1 (de) * | 1983-09-09 | 1985-03-28 | Siemens AG, 1000 Berlin und 8000 München | Schaltungsanordnung zum registrieren von adressen von einen fehlerhaften speicherinhalt aufweisenden speicherzellen |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5324741A (en) * | 1976-08-20 | 1978-03-07 | Toshiba Corp | Memory controller |
US4183096A (en) * | 1978-05-25 | 1980-01-08 | Bell Telephone Laboratories, Incorporated | Self checking dynamic memory system |
JPS55105897A (en) * | 1979-01-31 | 1980-08-13 | Hitachi Koki Co Ltd | Memory device |
JPS5698780A (en) * | 1979-12-29 | 1981-08-08 | Nec Corp | Semiconductor memory device |
US4380812A (en) * | 1980-04-25 | 1983-04-19 | Data General Corporation | Refresh and error detection and correction technique for a data processing system |
GB2080586B (en) * | 1980-07-25 | 1984-03-07 | Honeywell Inf Systems | Dynamic memory system with error correction |
US4493081A (en) * | 1981-06-26 | 1985-01-08 | Computer Automation, Inc. | Dynamic memory with error correction on refresh |
US4542454A (en) * | 1983-03-30 | 1985-09-17 | Advanced Micro Devices, Inc. | Apparatus for controlling access to a memory |
-
1985
- 1985-08-15 CA CA000488829A patent/CA1240066A/en not_active Expired
- 1985-09-27 US US06/781,023 patent/US4682328A/en not_active Expired - Lifetime
-
1986
- 1986-01-21 IT IT19126/86A patent/IT1188283B/it active
- 1986-01-29 GB GB8602171A patent/GB2179183B/en not_active Expired
- 1986-02-14 CN CN198686100445A patent/CN86100445A/zh active Pending
- 1986-06-21 DE DE19863620858 patent/DE3620858A1/de active Granted
- 1986-08-07 FR FR8611563A patent/FR2589600A1/fr not_active Withdrawn
- 1986-08-12 JP JP61189478A patent/JPS6242396A/ja active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0071743A2 (de) * | 1981-08-12 | 1983-02-16 | International Business Machines Corporation | Auffrischungsschaltung für einen dynamischen Speicher eines Datenprozessors und Steuerungsgerät für direkten Speicherzugriff |
DE3332601A1 (de) * | 1983-09-09 | 1985-03-28 | Siemens AG, 1000 Berlin und 8000 München | Schaltungsanordnung zum registrieren von adressen von einen fehlerhaften speicherinhalt aufweisenden speicherzellen |
Non-Patent Citations (1)
Title |
---|
IBM Technical Disclosure Bulletin, Vol. 25, No. 4, September 1982, S. 2032-2035 * |
Also Published As
Publication number | Publication date |
---|---|
CA1240066A (en) | 1988-08-02 |
CN86100445A (zh) | 1987-02-11 |
GB8602171D0 (en) | 1986-03-05 |
GB2179183A (en) | 1987-02-25 |
DE3620858C2 (de) | 1990-11-08 |
JPS6242396A (ja) | 1987-02-24 |
US4682328A (en) | 1987-07-21 |
FR2589600A1 (fr) | 1987-05-07 |
GB2179183B (en) | 1990-01-04 |
IT1188283B (it) | 1988-01-07 |
IT8619126A0 (it) | 1986-01-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3620858C2 (de) | ||
DE3115541C2 (de) | ||
DE3639169C2 (de) | ||
DE102020115736A1 (de) | Halbleiterspeichervorrichtung und Verfahren zum Betreiben der Halbleiterspeichervorrichtungen | |
DE102006048856B4 (de) | Verfahren zum Betreiben einer IC-Halbleiterspeichervorrichtung und IC-Halbleiterspeichervorrichtung | |
DE3128740C2 (de) | ||
DE602004002300T2 (de) | Selektive bankauffrischung | |
DE3607092A1 (de) | Speichermanagementsystem | |
DE102004021267A1 (de) | Verfahren zum Testen eines Speicherbausteins und Prüfanordnung | |
DE3534356C2 (de) | Halbleiter-Speichervorrichtung | |
DE3724509A1 (de) | Dynamischer ram | |
DE2905675A1 (de) | Schaltungsanordnung zur sperrung des zugangs zu einem speicher | |
EP1113362B1 (de) | Integrierter Halbleiterspeicher mit einer Speichereinheit zum Speichern von Adressen fehlerhafter Speicherzellen | |
DE2054830C3 (de) | Informationsverarbeitungsanlage mit Mitteln zum Zugriff zu Speicher-Datenfeldern variabler Länge | |
DE3412677C2 (de) | ||
DE4335061C2 (de) | Mehrspeichervorrichtung | |
DE10229802B3 (de) | Testschaltung und Verfahren zum Testen einer integrierten Speicherschaltung | |
DE10160089A1 (de) | Halbleiterspeichervorrichtung | |
DE2905676A1 (de) | Integrierte schaltung mit einem einzigen chip | |
EP0036579A1 (de) | Verfahren zum Regenerieren von in einem dynamischen MOS-Speicher gespeicherten Daten | |
DE19823930A1 (de) | Integrierte Halbleiterschaltung mit an einem Halbleiterchip angeordnetem DRAM | |
EP0120458A2 (de) | Integrierter dynamischer Schreib-Lesespeicher | |
DE10147138A1 (de) | Verfahren zur Integration von imperfekten Halbleiterspeichereinrichtungen in Datenverarbeitungsvorrichtungen | |
DE2549392C3 (de) | Verfahren zur Erhöhung der Zuverlässigkeit von integrierten Speicherbausteinen und zur Verbesserung der Ausbeute von nach außen hin fehlerfrei erscheinenden Speicherbausteinen bei ihrer Herstellung | |
EP0697659B1 (de) | Redundanz-Schaltungsanordnung für einen integrierten Halbleiterspeicher |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8110 | Request for examination paragraph 44 | ||
D2 | Grant after examination | ||
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |