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 datensignalen

Info

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
Application number
DE19863620858
Other languages
English (en)
Other versions
DE3620858C2 (de
Inventor
John Robert Ramsay
Zbigniew Boleslaw Styrna
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsemi Semiconductor ULC
Original Assignee
Mitel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitel Corp filed Critical Mitel Corp
Publication of DE3620858A1 publication Critical patent/DE3620858A1/de
Application granted granted Critical
Publication of DE3620858C2 publication Critical patent/DE3620858C2/de
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1048Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
    • G06F11/106Correcting systematically all correctable errors, i.e. scrubbing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • G06F13/282Cycle stealing DMA
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital 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/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/409Read-write [R-W] circuits 
    • G11C11/4096Input/output [I/O] data management or control circuits, e.g. reading or writing circuits, I/O drivers or bit-line switches 
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1006Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor

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.
DE19863620858 1985-08-15 1986-06-21 Schaltung zum auffrischen, ueberpruefen und korrigieren von in einem speicher gespeicherten datensignalen Granted DE3620858A1 (de)

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)

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

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

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

Patent Citations (2)

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

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