DE102005049094A1 - Data storage, data processing system and operating method therefor - Google Patents

Data storage, data processing system and operating method therefor Download PDF

Info

Publication number
DE102005049094A1
DE102005049094A1 DE200510049094 DE102005049094A DE102005049094A1 DE 102005049094 A1 DE102005049094 A1 DE 102005049094A1 DE 200510049094 DE200510049094 DE 200510049094 DE 102005049094 A DE102005049094 A DE 102005049094A DE 102005049094 A1 DE102005049094 A1 DE 102005049094A1
Authority
DE
Germany
Prior art keywords
memory
data
address
column
check unit
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.)
Withdrawn
Application number
DE200510049094
Other languages
German (de)
Inventor
Bernd Mueller
Thomas Kottke
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.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
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 Robert Bosch GmbH filed Critical Robert Bosch GmbH
Priority to DE200510049094 priority Critical patent/DE102005049094A1/en
Priority to PCT/EP2006/067349 priority patent/WO2007042558A1/en
Publication of DE102005049094A1 publication Critical patent/DE102005049094A1/en
Withdrawn legal-status Critical Current

Links

Classifications

    • 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/1051Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
    • 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/1051Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
    • G11C7/1063Control signal output circuits, e.g. status or busy flags, feedback command signals
    • 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/1051Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
    • G11C7/1066Output synchronization
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/22Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management 

Abstract

Datenverarbeitungssystem umfasst einen Speicher (1), einen Prozessor (20) und eine Datenprüfeinheit (21). Der Speicher (1) umfasst eine Mehrzahl von in Zeilen und Spalten organisierten Speicherzellen (2), einen Zeilendecoder (4), der in Abhängigkeit von einem Zeilenteil einer an den Speicher (1) angelegten Adresse die Zellen (2) einer der Zeilen veranlasst, ihren Inhalt auf eine der Zelle (2) zugeordnete Spaltenleitung (5) auszugeben, und einen Spaltendecoder (6), der eine Mehrzahl von jeweils mit einer Spaltenleitung (5) verbundenen Eingängen und einen Ausgang aufweist und in Abhängigkeit von einem Spaltenteil einer an den Speicher (1) angelegten Adresse einen der Eingänge des Spaltendecoders (6) mit dessen Ausgang verbindet. Die Datenprüfeinheit (21) ist eingerichtet, eine Mehrzahl von Speicherzellen (2) mit gleichem Zeilenteil der Adresse aus dem Speicher (1) sukzessive mit einer höheren Rate als der Prozessor (20) zu lesen und eine Unversehrtheitsprüfung an den gelesenen Daten durchzuführen.The data processing system comprises a memory (1), a processor (20) and a data checking unit (21). The memory (1) comprises a plurality of memory cells (2) organized in rows and columns, a row decoder (4) which causes the cells (2) of one of the rows depending on a row part of an address applied to the memory (1), output their content on a column line (5) assigned to the cell (2), and a column decoder (6) which has a plurality of inputs and an output connected to a column line (5) and, depending on a column part, one to the memory (1) the applied address connects one of the inputs of the column decoder (6) with its output. The data checking unit (21) is set up to read a plurality of memory cells (2) with the same line part of the address from the memory (1) successively at a higher rate than the processor (20) and to carry out an integrity check on the read data.

Description

Die vorliegende Erfindung betrifft einen Datenspeicher mit einer Mehrzahl von in Zeilen und Spalten organisierten Speicherzellen, einem Zeilendecoder, der in Abhängigkeit von einem Zeilenteil einer an den Speicher angelegten Adresse die Zellen einer der Zeilen veranlasst, ihren Inhalt auf eine der Zelle zugeordnete Spaltenleitung auszugeben, und einem Spaltendecoder, der eine Mehrzahl von jeweils mit einer Spaltenleitung verbundenen Eingängen und einen Ausgang aufweist und in Abhängigkeit von einem Spaltenteil einer an den Speicher angelegten Adresse einen der Eingänge des Spaltendecoders mit dessen Ausgang verbindet. Sie betrifft ferner ein Datenverarbeitungssystem, das einen Datenspeicher, einen Prozessor und eine Datenprüfeinheit umfasst, die eingerichtet ist, eine Mehrzahl von Speicherzellen mit gleichem Zeilenteil der Adresse aus dem Speicher zu lesen und eine Unversehrtheitsprüfung an den gelesenen Daten durchzuführen. Ein solcher Speicher bzw. ein solches Datenverarbeitungssystem sind z.B. aus DE 103 05 008 A1 bekannt.The present invention relates to a data memory having a plurality of memory cells organized in rows and columns, a row decoder which, in response to a line portion of an address applied to the memory, causes the cells of one of the rows to output their contents to a column line associated with the cell, and a column decoder having a plurality of inputs connected to a column line and an output respectively, and connecting one of the inputs of the column decoder to the output thereof in response to a column portion of an address applied to the memory. It further relates to a data processing system comprising a data memory, a processor and a data check unit configured to read a plurality of memory cells having the same row portion of the address from the memory and to perform an integrity check on the read data. Such a memory or such a data processing system are, for example DE 103 05 008 A1 known.

Es ist ferner bekannt, einen Datenspeicher der oben angegebenen Art mit einer Kennzeichnungseinrichtung zu versehen, die einen am Ausgang des Spaltendecoders bzw. des Speichers ausgegebenen Inhalt einer Speicherzelle mit einem Zeitabstand, nachdem die Adresse der Speicherzelle an den Speicher angelegt wurde, als gültig kennzeichnet, z.B. durch Pegeländerung eines vom Speicher ausgegebenen Bereitschaftssignals, um so andere mit dem Speicher kommunizierende Schaltungsbausteine in Kenntnis zu setzen, dass der aus dem Speicher abgefragte Zelleninhalt anliegt und zur Verarbeitung übernommen werden kann.It is also known, a data storage of the type specified above to be provided with a marking device, one at the output the column decoder or the memory output contents of a Memory cell with a time interval after the address of the memory cell has been applied to the memory, marked as valid, e.g. by level change one of the memory output standby signal, so others with the memory communicating circuit blocks in knowledge set that the cell contents requested from the memory are present and taken over for processing can be.

Der Zeitabstand muss so groß gewählt sein, dass der Zeilendecoder des Speichers den Zeilenteil einer angelegten Adresse decodieren und als ein Auswahlsignal an die Speicherzellen einer Zeile ausgeben kann, dass die Speicherzellen auf das Auswahlsignal reagieren und ihre Inhalte auf jeweils angeschlossene Spaltenleitungen ausgeben können und der Spaltendecoder anhand des ihm zugeführten Spaltenteils der Adresse die Spaltenleitung auswählen kann, die den auszugebenden Datenwert enthält. Die kumulierenden Zeitverzögerungen, die in den verschiedenen Schaltungen des Speichers anfallen, begrenzen dessen Reaktionsgeschwindigkeit und folglich die maximale Taktrate, bei der der Speicher betrieben werden kann.Of the Time interval must be chosen so large that the row decoder of the memory, the line part of an applied Decode address and as a selection signal to the memory cells A line can output that memory cells to the selection signal respond and their content to each connected column lines can spend and the column decoder based on the column part of the address supplied to it select the column line can, which contains the data value to be output. The cumulative time delays, limit that occur in the various circuits of the memory its reaction rate and consequently the maximum clock rate, where the memory can be operated.

Eine niedrige Arbeitsgeschwindigkeit des Speichers verlangsamt nicht nur eine Nutzanwendung, die auf einem den Speicher verwendenden Datenverarbeitungs system läuft, sondern auch begleitende Sicherheitsfunktionen wie etwa die Prüfung der Inhalte des Speichers auf Unversehrtheit. Eine solche Unversehrtheitsprüfung ist bei sicherheitsrelevanten Anwendungen, z.B. im Rahmen eines Motorsteuergeräts für ein Kraftfahrzeug, von hoher Bedeutung, um Fehlfunktionen auszuschließen. Eine langwierige Unversehrtheitsprüfung der Daten vor dem Start verlängert die Zeit, die zwischen der Eingabe eines Startbefehls für das Datenverarbeitungssystem, z.B. durch Drehen eines Zündschlüssels, durch einen Benutzer und der tatsächlichen Betriebsbereitschaft des Datenverarbeitungssystems verstreicht, und wird als lästig empfunden. Ein hoher Zeitaufwand für Unversehrtheitsprüfungen bei laufendem System beeinträchtigt dessen Verarbeitungsleistung und ist ebenfalls störend.A low working speed of the memory does not slow down only one user application running on a memory using Data processing system is running, but also accompanying security functions such as checking the content of memory to integrity. Such an integrity test is in safety applications, e.g. as part of an engine control unit for a motor vehicle, of great importance to prevent malfunction. A lengthy integrity test extended the data before the start the time that elapses between the entry of a start command for the data processing system, e.g. by turning an ignition key, through a user and the actual one Operational readiness of the data processing system elapses, and is annoying felt. A high amount of time for integrity testing running system its processing power and is also disturbing.

Vorteile der ErfindungAdvantages of invention

Durch die vorliegende Erfindung, wie in Anspruch 1 definiert, wird ein Datenspeicher geschaffen, der unter bestimmten Betriebsbedingungen, wie sie insbesondere, aber nicht ausschließlich, bei der Unversehrtheitsprüfung von Daten auftreten können, einen beschleunigten Zugriff auf gespeicherte Daten erlaubt. Indem erfasst wird, ob zwischen einem aktuell an den Speicher angelegten Zeilenteil einer Adresse und einem bei einem vorhergehenden Zugriff angelegten Zeilenteil ein Unterschied besteht, kann festgestellt werden, ob sich der Zugriff auf die Daten durch eine neuerliche Decodierung des Zeilenteils und Aktivierung der Speicherzellen der in dem Zeilenteil spezifizierten Zeile verzögert, oder ob die bereits aktivierten Speicherzellen unverändert aktiviert bleiben. In letzterem Falle ändert sich allenfalls die vom Spaltendecoder an den Ausgang durchzuschaltende Spaltenleitung, so dass die Zeit, die benötigt wird, um stabile Signalpegel am Ausgang des Speichers vorliegen zu haben, kürzer ist als bei einem Wechsel der angesprochenen Zeile. Indem die Kennzeichnungseinrichtung diesen Unterschied berücksichtigt, kann sie bei aufeinander folgenden Zugriffen auf zu einer gleichen Zeile gehörende Speicherzellen den Ausgang des Speichers früher als gültig kennzeichnen als bei Zugriffen auf zu unterschiedlichen Zeilen gehrörende Zellen und so die Übernahme der ausgegebenen Datenwerte durch andere Schaltungen des Datenverarbeitungssystems zu einem frühen Zeitpunkt ermöglichen.By The present invention as defined in claim 1 will be Data storage created under certain operating conditions, in particular, but not exclusively, in the integrity testing of Data can occur, one accelerated access to stored data allowed. By capturing is whether between a currently applied to the memory line part an address and a created in a previous access Line part of a difference, it can be determined whether access to the data by a new decoding of the line portion and activation of the memory cells of the line portion delayed specified line, or whether the already activated memory cells are activated unchanged stay. In the latter case changes At best, the durchzuschaltende from the column decoder to the output Column line, allowing the time it takes to get stable signal levels is present at the output of the memory, is shorter than a change the addressed line. By the marking device this Difference considered, it can be at a same access during successive accesses Line belonging Memory cells earlier than valid mark the output of the memory as in accesses on cells listening to different lines and so the takeover the output data values by other circuits of the data processing system at an early age Allow time.

Um die Zeitsteuerung der Datenverarbeitung in den an den Speicher angeschlossenen Schaltungen einfach zu halten, unterscheidet sich der Zeitabstand bei Erfassung des Unterschieds im Zeilenteil vorzugsweise um eine ganze Zahl von Perioden, besonders bevorzugt genau um eine Periode, eines von einem Taktgenerator gelieferten Taktsignals von dem Zeitabstand bei Nichterfassung des Unterschieds.Around the timing of the data processing in the memory connected to the memory To keep circuits simple, the time difference is different when detecting the difference in the line part, preferably by one whole number of periods, more preferably exactly one period, a clock signal supplied by a clock generator from the time interval when not registering the difference.

Durch die Erfindung, wie in Anspruch 4 definiert, wird ferner ein Datenverarbeitungssystem geschaffen, das eine beschleunigte Prüfung von in einem Speicher des Systems gespeicherten Daten auf Unversehrtheit und damit verringerte Zeitverluste und eine höhere Effizienz erreicht.By The invention as defined in claim 4 further becomes a data processing system created an accelerated test of in a store the system stored data on integrity and thus reduced Time losses and a higher one Efficiency achieved.

Vorzugsweise besteht bei diesem Datenverarbeitungssystem ein erster Zeitabstand zwischen dem Adressieren einer Speicherzelle durch den Prozessor und dem Empfangen von deren Inhalt durch den Prozessor, ein zweiter Zeitabstand zwischen dem Adressieren einer ersten von mehreren Speicherzellen mit gleichem Zeilenteil durch die Datenprüfeinheit und dem Empfangen des Inhalts der adressierten Zelle durch die Datenprüfeinheit und ein dritter Zeitabstand zwischen dem Adressieren jeder weiteren Speicherzelle mit besagtem gleichen Zeilenteil und dem Empfangen ihres Inhalts durch die Datenprüfeinheit, wobei der dritte Zeitabstand kleiner als der erste und der zweite Zeitabstand ist.Preferably There is a first interval in this data processing system between the addressing of a memory cell by the processor and receiving the contents thereof by the processor, a second one Time interval between addressing a first of several memory cells with the same line part through the data check unit and the receiving the content of the addressed cell by the data check unit and a third time interval between addressing each other Memory cell with said same line part and the receiving their content by the data verification unit, wherein the third time interval is smaller than the first and second Time interval is.

Vorzugsweise sind der erste und der zweite Zeitabstand gleich, insbesondere in einem Datenverarbeitungssystem, in welchem der Prozessor und die Datenprüfeinheit durch ein gemeinsames Taktsignal synchronisiert sind.Preferably the first and the second time intervals are the same, in particular in a data processing system in which the processor and the data check unit are synchronized by a common clock signal.

Wenn der Prozessor, der Speicher und die Datenprüfeinheit an einen gemeinsamen Adressbus angeschlossen sind, kann die Datenprüfeinheit in einfacher Weise eingerichtet sein, die zu lesenden Speicherzellen sukzessive über den Adressbus zu adressieren.If the processor, the memory and the data check unit to a common Address bus are connected, the data verification unit in a simple manner be set up, the memory cells to be read successively on the Address bus address.

Wenn in einem solchen Datenverarbeitungssystem der Prozessor, der Speicher und die Datenprüfeinheit mit einem gemeinsamen Taktgenerator verbunden sind, ist zweckmäßigerweise der dritte Zeitabstand um eine ganze Zahl von Perioden des Taktsignals kleiner als der erste und/oder der zweite Zeitabstand.If in such a data processing system, the processor, the memory and the data verification unit connected to a common clock generator is expediently the third time interval by an integer number of periods of the clock signal smaller than the first and / or the second time interval.

Wenn ein weiterer Baustein an den gemeinsamen Adressbus und einen gemeinsamen Datenbus von Prozessor, Speicher und Datenprüfeinheit angeschlossen ist, ist es sinnvoll, einen Schalter vorzusehen, der eine Trennung von Adress- und Datenbus in einen ersten Teil zwischen dem Prozessor und dem wenigstens einen weiteren Baustein einerseits und einen zweiten Teil zwischen dem Speicher und der Datenprüfeinheit andererseits ermöglicht. Im durch den Schalter aufgetrennten Zustand der Busse kann, während die Datenprüfeinheit auf den Speicher zugreift, der Prozessor ungestört mit dem weiteren Baustein kommunizieren.If another building block to the common address bus and a common Data bus is connected by processor, memory and data test unit, it makes sense to provide a switch that is a separation of Address and data bus in a first part between the processor and the at least one further module on the one hand and a second part between the memory and the data check unit on the other hand allows. In the state separated by the switch of the buses, while the data check accesses the memory, the processor undisturbed with the other block communicate.

Die Auftrennung von Adress- und Datenbus schafft darüber hinaus die Möglichkeit, im getrennten Zustand den zweiten Teil der Busse, der den Speicher und die Datenprüfeinheit verbindet, mit einer höheren Taktrate zu betreiben als den den Prozessor und den weiteren Baustein verbindenden ersten Teil, um so den Zugriff der Datenprüfeinheit auf die zu prüfenden Daten zu beschleunigen.The Separation of address and data bus also creates the possibility in the disconnected state the second part of the buses, the memory and the data verification unit connects, with a higher one Clock rate to operate as the processor and the other component connecting the first part, so as to access the data verification unit to be tested Speed up data.

Der Speicher kann ferner einen zu dem erwähnten ersten Spaltendecoder parallelen zweiten Spaltendecoder umfassen, wobei der erste Spaltendecoder und der Zeilendecoder über einen Adressbus mit dem Prozessor verbunden sind und der zweite Spaltendecoder über einen Spaltenteilbus und einen zweiten Datenbus mit der Datenprüfeinheit verbunden ist. Dies ermöglicht es der Datenprüfeinheit, während der Prozessor eine Speicherzelle adressiert, unsynchronisiert mit dem Zugriff des Prozessors und mit ho her Geschwindigkeit Speicherzellen auszulesen, die den Zeilenteil ihrer Adresse mit der vom Prozessor adressierten Zelle gemeinsam haben.Of the Memory may also be connected to the mentioned first column decoder parallel second column decoder, wherein the first column decoder and the row decoder over an address bus connected to the processor and the second Column decoder via a column sub-bus and a second data bus with the data check unit connected is. this makes possible it the data check unit, during the Processor addressed a memory cell, unsynchronized with the Access the processor and read out memory cells with high speed, which address the line portion of their address with that of the processor Cell in common.

Ein noch weiterer Schritt zur Entkopplung der Zugriffe von Prozessor und Datenprüfeinheit auf den Speicher ist die Verwendung eines Schieberegisters mit mehreren jeweils mit einer der Spaltenleitungen verbundenen Eingängen und einem gemeinsamen, mit der Datenprüfeinheit verbundenen Ausgang. Ein solches Schieberegister kann die an all seinen Eingängen anliegenden, von verschiedenen Speicherzellen herrührenden Datenwerte gleichzeitig aufnehmen und sie der Reihe nach, mit einer an die Verarbeitungsgeschwindigkeit der Datenprüfeinheit angepassten, evtl. von dieser gesteuerten Datenrate an die Datenprüfeinheit weitergeben. Die Datenprüfeinheit muss hier nicht in der Lage sein, einzelne Zellen des Speichers zu adressieren, wodurch sich die Struktur der Datenprüfeinheit vereinfacht.One yet another step to decouple the accesses of processor and data check unit to the memory is the use of a shift register with several each with one of the column lines connected inputs and a common, connected to the data verification unit output. Such a shift register may be applied to all its inputs, data values from different memory cells simultaneously pick them up and in turn, with one at the processing speed the data check unit adapted, possibly controlled by this data rate to the data check unit pass on. The data check unit here must not be able to single cells of the memory to address, thereby increasing the structure of the data verification unit simplified.

Weitere Merkmale und Vorteile der Erfindung ergeben sich aus der nachfolgenden Beschreibung von Ausführungsbeispielen unter Bezugnahme auf die beigefügten Figuren.Further Features and advantages of the invention will become apparent from the following Description of exemplary embodiments with reference to the attached Characters.

Figurencharacters

1 zeigt ein Blockdiagramm eines Speichers gemäß einer ersten Ausgestaltung der Erfindung; 1 shows a block diagram of a memory according to a first embodiment of the invention;

2 zeigt ein Blockdiagramm eines Datenverarbeitungssystem, das den Speicher aus 1 verwendet; 2 shows a block diagram of a data processing system, the memory from 1 used;

3 zeigt eine zweite Ausgestaltung eines erfindungsgemäßen Datenverarbeitungssystems; 3 shows a second embodiment of a data processing system according to the invention;

4 zeigt ein Blockdiagramm einer dritten Ausgestaltung des Datenverarbeitungssystems, das einen abgewandelten Speicher verwendet; und 4 shows a block diagram of a third embodiment of the data processing system, the uses a modified memory; and

5 zeigt eine vierte Ausgestaltung des Datenverarbeitungssystem mit einem abermals abgewandelten Speicher. 5 shows a fourth embodiment of the data processing system with a again modified memory.

Beschreibung der Ausführungsbeispieledescription the embodiments

1 zeigt ein Blockdiagramm eines Speichers gemäß einer ersten Ausgestaltung der Erfindung. Der Speicher ist als eine Matrixanordnung von Speicherzellen 2 organisiert, wobei jede Zeile der Anordnung 2n Speicherzellen, n = 1, 2, ..., und jede Spalte 2m Speicherzellen 2, m = 1, 2, ..., enthält. Die Speicherzellen jeder Zeile sind jeweils mit einer gemeinsamen Auswahlleitung 3 verbunden, und jede Zeilenauswahlleitung 3 ist an einen von 2n Ausgängen eines 1-aus-2n-Decoders 4 angeschlossen. Der Decoder 4 hat n Eingänge à 1 Bit, die jeweils die n höchstwertigen Adresseingänge des Speichers darstellen. Die an diese Eingänge angelegten höchstwertigen Adressbits werden hier auch als Zei lenteil einer Adresse bezeichnet, da sie zum Auswählen einer Zeile dienen. Je nach Zahlenwert des an dem Decoder 4 anliegenden Zeilenteils aktiviert dieser eine der Zeilenauswahlleitungen 3, um so die daran angeschlossenen Speicherzellen 2 zu veranlassen, den in ihnen gespeicherten Inhalt auf eine von 2m Spaltenleitungen 5 auszugeben, die jeder Speicherzelle 2 der Zeile zugeordnet ist. 1 shows a block diagram of a memory according to a first embodiment of the invention. The memory is considered to be a matrix arrangement of memory cells 2 organized, each row of the array 2 n memory cells, n = 1, 2, ..., and each column 2 m memory cells 2 , m = 1, 2, ..., contains. The memory cells of each row are each connected to a common selection line 3 connected, and each row selection line 3 is to one of 2 n outputs of a 1-out-of-2 n decoder 4 connected. The decoder 4 has n inputs of 1 bit each representing the n most significant address inputs of the memory. The most significant address bits applied to these inputs are also referred to herein as the time portion of an address since they are used to select a line. Depending on the numerical value of the decoder 4 adjacent line part activates this one of the row selection lines 3 to the memory cells connected to it 2 to cause the contents stored in them to one of 2 m column lines 5 spend each memory cell 2 is assigned to the line.

Die 2m Spaltenleitungen 5 sind an Dateneingänge eines Multiplexers 6 angeschlossen, dessen Steuereingang die m niedrigwertigen Bits des Adresseingangs des Speichers 1 bildet. Je nach Zahlenwert dieser hier auch als Spaltenteil bezeichneten m niedrigerwertigen Bits verbindet der Multiplexer 6 eine der Spaltenleitungen 5 mit einem Datenausgang 7 des Speichers 1 und gibt so den Inhalt der durch die insgesamt n + m anliegenden Adressbits festgelegten Speicherzelle 2 aus.The 2 m column lines 5 are at data inputs of a multiplexer 6 whose control input is the m low-order bits of the address input of the memory 1 forms. Depending on the numerical value of this m lower-value bits, also referred to here as column part, the multiplexer connects 6 one of the column lines 5 with a data output 7 of the memory 1 and thus gives the content of the memory cell specified by the total n + m applied address bits 2 out.

Wenn eine neue Adresse an dem Adresseingang 8 des Speichers 1 angelegt wird, benötigen der Decoder 4 und der Multiplexer 6 jeweils eine gewisse Zeit δt1 bzw. δt3, um eine Zeilenauswahlleitung und eine Spaltenleitung zu selektieren, und die Zellen 2 der angesprochenen Zeile benötigen eine gewisse Zeit δt2, um auf die Ansprache vom Decoder 4 zu reagieren und ihren Inhalt auf die Spaltenleitungen 5 auszugeben. D.h., bevor nicht ein diesen Verzögerungen entsprechender Zeitabstand δt1 + δt2 oder δt3, je nachdem, welcher der beiden Werte der größere ist, seit dem Anlegen einer Adresse an den Speicher 1 verstrichen ist, ist nicht gewährleistet, dass die Ausgangspegel am Datenausgang 7 dem Inhalt der adressierten Speicherzelle entsprechen. Um zu verhindern, dass ein an den Speicher 1 angeschlossener Baustein vorzeitig auf einen von diesem ausgegebenen Datenwert zugreift, liefert der Speicher 1 an einem Ausgang 9 ein Signal DR, welches anzeigt, dass der Datenwert am Ausgang stabil ist und übernommen werden darf. Die Erzeugung dieses Signals wird im folgenden beschrieben.If a new address at the address input 8th of the memory 1 is created, the decoder need 4 and the multiplexer 6 a certain time δt1 and δt3, respectively, to select a row select line and a column line, and the cells 2 the addressed line will need a certain amount of time δt2 to respond to the decoder's response 4 to respond and their content to the column lines 5 issue. That is, before a time interval δt1 + δt2 or δt3 corresponding to these delays, whichever of the two values is greater, has not since an address has been applied to the memory 1 has passed is not guaranteed that the output level at the data output 7 correspond to the content of the addressed memory cell. To prevent one from memory 1 connected block prematurely accesses a data output from this data, the memory provides 1 at an exit 9 a signal DR, which indicates that the data value at the output is stable and may be accepted. The generation of this signal will be described below.

Parallel zum Decoder 4 ist an jede der n Adressleitungen des Zeilenteils ein XOR-Gatter 10 mit einem Eingang direkt und mit einem anderen Eingang über einen Inverter 11 angeschlossen. Jedes Mal, wenn sich eines der n Bits des Zeilenteils ändert, erreicht die Änderung zu geringfügig unterschiedlichen, durch die Verzögerung des Inverters 11 bestimmten Zeiten die zwei Eingänge des mit der betreffenden Bitleitung verbunden XOR-Gatters 10. D.h., während einer der Verzögerung des Inverters 11 entsprechenden Zeitspanne haben die Eingänge des XOR-Gatters 10 unterschiedliche Pegel, und der Ausgang des XOR-Gatters 10 geht in dieser Zeit auf 1.Parallel to the decoder 4 At each of the n address lines of the row portion, an XOR gate is provided 10 with one input directly and with another input via an inverter 11 connected. Each time one of the n bits of the line part changes, the change reaches slightly different, due to the delay of the inverter 11 certain times the two inputs of the associated with the relevant bit line XOR gate 10 , That is, during one of the delay of the inverter 11 corresponding time span have the inputs of the XOR gate 10 different levels, and the output of the XOR gate 10 goes up at this time 1 ,

Die Ausgänge aller XOR-Gatter 10 sind an die n Eingänge eines Oder-Gatters 12 angeschlossen, dessen Ausgang folglich immer dann zeitweilig den Wert 1 annimmt, wenn ein Bit auf wenigstens auf einer der n Adressleitungen des Zeilenteils seinen Wert geändert hat.The outputs of all XOR gates 10 are to the n inputs of an OR gate 12 connected, whose output therefore always temporarily the value 1 assumes that a bit has changed its value on at least one of the n address lines of the line part.

Der Ausgang des Oder-Gatters 12 ist mit einem Eingang eines Monoflops 13 verbunden, von dem ein anderer Eingang mit einem Oder-Gatter 14 verbunden ist. An den Eingängen des Oder-Gatters 14 liegen ein mit der Änderung der am Adresseingang 8 des Speichers 1 angelegten Adressen synchrones Taktsignal CLK und ein Chipauswahlsignal CS an, das immer dann den Wert 0 annimmt, wenn eine der Speicherzellen 2 des Speichers 1 adressiert ist. Das Oder-Gatter 14 lässt also nur dann das Taktsignal CLK zum Monoflop 13 durch, um dieses zu triggern, wenn der Speicher 1 durch das Chipauswahlsignal CS tatsächlich angewählt ist, und versetzt das Monoflop 13 dadurch in seinen instabilen Zustand. Die Dauer dieses instabilen Zustands ist entsprechend der Reaktionszeit δt3 des Multiplexers 6 festgelegt und kürzer als die kumulierte Reaktionszeit δt1 + δt2 des Decoders 4 und der Speicherzellen 2. Wenn sich zwischen zwei aufeinanderfolgenden Lesezugriffen auf den Speicher 1 der Zeilenteil der Adresse nicht geändert hat, bleiben die gleichen Speicherzellen 2 wie zuvor angesprochen, die Werte auf den Spaltenleitungen 5 ändern sich nicht, und es genügt, die Reaktionszeit δt3 des Multiplexers 6 abzuwarten, um sicher zu sein, dass der am Datenausgang 7 ausgegebene Wert korrekt ist. Wenn hingegen eine Änderung in dem Zeilenteil der angelegten Adresse stattgefunden hat, empfängt das Monoflop 13 einen Impuls von dem Oder-Gatter 12, mit der Folge, dass die eingestellte Verzögerungszeit ab Empfang dieses Impulses von neuem zu laufen beginnt. Nur in diesem Fall entspricht der Zeitabstand zwischen dem Erscheinen einer neuen Adresse auf dem Adressbus und der Ausgabe des Datenbereitschaftssignals am Ausgang 9 der kumulierten Reaktionszeit δt1 + δt2 des Decoders 4 und der Speicherzellen 2; wenn sich der Zeilenteil nicht geändert hat, erscheint das Datenbereitschaftssignal DR mit einer geringeren, der Reaktionszeit des Multiplexers 6 entsprechenden Verzögerung.The exit of the Oder Gate 12 is with an input of a monoflop 13 from which another entrance with an OR gate 14 connected is. At the entrances of the Oder Gate 14 lie with the change at the address input 8th of the memory 1 applied addresses synchronous clock signal CLK and a chip select signal CS, which assumes the value 0 whenever one of the memory cells 2 of the memory 1 is addressed. The Oder Gate 14 So only allows the clock signal CLK to monoflop 13 to trigger this when the store 1 is actually selected by the chip select signal CS, and offsets the monoflop 13 thereby in its unstable state. The duration of this unstable state is in accordance with the response time δt3 of the multiplexer 6 fixed and shorter than the cumulative reaction time δt1 + δt2 of the decoder 4 and the memory cells 2 , If there are two consecutive read accesses to memory 1 the line part of the address has not changed, the same memory cells remain 2 as previously mentioned, the values on the column lines 5 do not change, and it suffices, the response time δt3 of the multiplexer 6 wait to be sure that at the data output 7 output value is correct. On the other hand, if there has been a change in the line part of the applied address, the monoflop will receive 13 a pulse from the OR gate 12 , with the result that the set delay time starts again from the moment this pulse is received. Only in this case, the time interval between the appearance of a new address on the Address bus and the output of the data ready signal at the output 9 the cumulative reaction time δt1 + δt2 of the decoder 4 and the memory cells 2 ; if the line part has not changed, the data ready signal DR appears with a lower, the response time of the multiplexer 6 corresponding delay.

2 zeigt ein Blockdiagramm eines Datenverarbeitungssystems, in welchem der Speicher der 1 anwendbar ist. Das Datenverarbeitungssystem umfasst den Speicher 1, einen Mikroprozessor 20, eine Datenprüfeinheit 21 und einen Taktgenerator 22. Die Datenprüfeinheit 21 ist ausgelegt, um jeweils über vorgegebene Gruppen von Speicherzellen 2 des Speichers 1 mit aufeinander folgenden Adressen eine Prüfsumme zu bilden, deren Korrektheit zu prüfen und im Falle einer fehlerhaften Prüfsumme eine Fehlermeldung zu erzeugen, die ausgewertet werden kann, um, wenn möglich, die als fehlerhaft erkannten Daten zu korrigieren oder ein von dem Mikroprozessor 20 ausgeführtes Anwendungsprogramm, das auf die fehlerhaften Daten zugreift, zu unterbrechen. Die Datenprüfeinheit 21 ist ausgelegt, jeweils beim Start des Datenverarbeitungssystems oder auch im Laufe von dessen Betrieb, während eine Nutzanwendung auf dem Mikroprozessor 20 ausgeführt wird, die Adressen der zu überprüfenden Speicherzellen sukzessive zu erzeugen und mit ihnen den Speicher 1 anzusprechen. Da die zu überprüfenden Speicherzellen aufeinander folgende Adressen haben, unterscheiden sie sich meist nur in dem Spaltenteil ihrer Adresse, so dass, wenn die Datenprüfeinheit 21 auf den Speicher 1 zugreift, dieser die angeforderten Daten stets mit der geringen Verzögerung δt3 bereitstellen kann, während bei Zugriffen des Mikroprozessors 20 auf nicht aufeinander folgende Adressen größere Wartezeiten (δt1 + δt2) auftreten können. 2 shows a block diagram of a data processing system in which the memory of the 1 is applicable. The data processing system includes the memory 1 , a microprocessor 20 , a data check unit 21 and a clock generator 22 , The data check unit 21 is designed to each have predetermined groups of memory cells 2 of the memory 1 form a checksum with successive addresses, check their correctness and, in the event of a faulty checksum, generate an error message that can be evaluated to correct, if possible, the data identified as erroneous or one from the microprocessor 20 executed application program that accesses the erroneous data to interrupt. The data check unit 21 is designed, each at the start of the data processing system or in the course of its operation, while a Nutzanwendung on the microprocessor 20 is executed, the addresses of the memory cells to be checked successively to generate and with them the memory 1 to appeal. Since the memory cells to be checked have consecutive addresses, they usually differ only in the column part of their address, so that when the data check unit 21 on the memory 1 This can always provide the requested data with the small delay δt3, while accesses the microprocessor 20 on non-consecutive addresses greater waiting times (δt1 + δt2) may occur.

Um diesen Effekt für einen schnellen Zugriff der Datenprüfeinheit 21 auf den Speicher 1 ausnutzen zu können, ist die Frequenz des Taktsignals CLK vom Taktgenerator 22, das den zeitlichen Ablauf der Zugriffe von Mikroprozessor 20 und Datenprüfeinheit 21 auf den Speicher 1 steuert, so hoch gewählt, dass das Erscheinen des DR-Signals am Ausgang 9 in unterschiedliche Taktperioden fällt, je nachdem, ob zwischen zwei Zugriffen auf den Speicher 1 eine Änderung des Zeilenteils stattgefunden hat oder nicht. Somit dauert ein Lesezugriff auf Speicherzellen 2, deren Zeilenteile sich nicht unterscheiden, immer wenigstens eine Periode des Taktsignals CLK weniger als ein Zugriff auf Adressen mit unterschiedlichen Zeilenteilen, d.h.. die Periode des Taktsignals ist (δt1 + δt2 – δt3) oder kürzer.To this effect for a quick access of the data check unit 21 on the memory 1 To exploit, is the frequency of the clock signal CLK from the clock generator 22 that determines the timing of accesses by microprocessor 20 and data check unit 21 on the memory 1 controls, so high that the appearance of the DR signal at the output 9 in different clock periods, depending on whether between two accesses to the memory 1 a change of the line part has taken place or not. Thus, a read access to memory cells takes 2 whose line parts do not differ, always at least one period of the clock signal CLK less than an access to addresses with different line parts, ie. the period of the clock signal is (δt1 + δt2 - δt3) or shorter.

Da beim Prüfen einer Gruppe von Speicherzellen 2 durch die Prüfeinheit 21 alle Zugriffe, evtl. mit Ausnahme des ersten, auf Speicherzellen 2 mit identischem Zeilenteil gehen, erreicht die Datenprüfeinheit 21 im Mittel eine höhere Leserate als der Mikroprozessor 20.Because when testing a group of memory cells 2 through the test unit 21 all accesses, possibly with the exception of the first, to memory cells 2 go with identical line part, reaches the data verification unit 21 on average a higher reading rate than the microprocessor 20 ,

3 zeigt eine zweite Ausgestaltung eines Datenverarbeitungssystems gemäß der vorliegenden Erfindung. Wie das Datenverarbeitungssystem der 2 umfasst es einen Mikroprozessor 20, eine Datenprüfeinheit 21 und einen Speicher 1, die miteinander über einen Bus 23 für Daten und Adressen kommunizieren, einen Taktgenerator 22 und einen ebenfalls an den Bus 23 angeschlossenen Cache-Speicher 24. Der Speicher 1 ist vom in 1 dargestellten Typ. 3 shows a second embodiment of a data processing system according to the present invention. Like the data processing system of 2 it includes a microprocessor 20 , a data check unit 21 and a memory 1 having a bus together 23 communicate for data and addresses, a clock generator 22 and one also to the bus 23 connected cache memory 24 , The memory 1 is from the in 1 type shown.

Zusätzlich ist ein der Steuerung durch die Datenprüfeinheit 21 unterstehender Schalter 25 vorgesehen, der in der Lage ist, den Bus 23 in einen ersten Teilbus 26 zwischen Prüfeinheit 21 und Speicher 1 und einen zweiten Teilbus 27 zwischen Mikroprozessor 20 und Cache-Speicher 25 zu unterteilen. Der Schalter 25 ist ferner eingerichtet, eine Leitung 28 für das DR-Signal zwischen dem Speicher 1 und dem Mikroprozessor 20 und eine Taktleitung 29 zwischen dem Taktgenerator 22, dem Mikroprozessor 20 und dem Cache-Speicher 25 einerseits und der Prüfeinheit 21 und dem Speicher 1 andererseits zu unterbrechen.In addition, one is controlled by the data verification unit 21 underlying switch 25 provided that is capable of the bus 23 in a first sub-bus 26 between test unit 21 and memory 1 and a second sub bus 27 between microprocessor 20 and cache memory 25 to divide. The desk 25 is also set up, a line 28 for the DR signal between the memory 1 and the microprocessor 20 and a clock line 29 between the clock generator 22 , the microprocessor 20 and the cache memory 25 on the one hand and the test unit 21 and the memory 1 on the other hand to interrupt.

Bei normalem Betrieb des Systems ist der Schalter 25 geschlossen, so dass der Mikroprozessor 20 auf den Speicher 1 zugreifen kann. Wenn die Prüfeinheit 21 eine Gruppe von Speicherzellen des Speichers 1 prüfen will, öffnet sie den Schalter 25. Der Mikroprozessor 20 kann nun den Speicher 1 nicht mehr ansprechen, was aber über kurze Zeiträume zu keiner nennenswerten Betriebsverzögerung des Prozessors 20 führt, da dieser einen Großteil seiner Schreib- und Lesezugriffe am Cache-Speicher 24 durchführt. Die Prüfeinheit 21 liefert nun synchronisiert mit den von ihr ausgegebenen Adressen auch ein Taktsignal an den Speicher 1 über den vom Taktgenerator 22 abgetrennten Teil der Leitung 29 und liest die angeforderten Daten, sobald der Speicher 1 das DR-Signal liefert. Das von der Prüfeinheit 21 gelieferte Taktsignal kann völlig asynchron zu dem des Taktgenerators 22 sein. Zu seiner Erzeugung ist kein Oszillator erforderlich, statt dessen kann es in ähnlicher Weise wie das DR-Signal erzeugt werden, indem die Prüfeinheit 21 jeweils, sobald sie einen empfangenen Datenwert verarbeitet hat, ihre Bereitschaft zum Empfang eines neuen Werts anzeigt.In normal operation of the system is the switch 25 closed, leaving the microprocessor 20 on the memory 1 can access. When the test unit 21 a group of memory cells of the memory 1 she wants to check, she opens the switch 25 , The microprocessor 20 can now save the memory 1 no longer respond, but for short periods of time to no significant operating delay of the processor 20 because it carries most of its cache read and write accesses 24 performs. The test unit 21 Now synchronized with the addresses it issues, it also sends a clock signal to the memory 1 over the clock generator 22 severed part of the pipe 29 and reads the requested data as soon as the memory 1 the DR signal delivers. That of the test unit 21 supplied clock signal can be completely asynchronous to that of the clock generator 22 be. Its generation requires no oscillator, instead it can be generated in a manner similar to the DR signal by the test unit 21 respectively, once it has processed a received data value, indicates its readiness to receive a new value.

Einer Variante zufolge kann auch vorgesehen sein, dass, wie durch eine gestrichelte Linie 30 angedeutet, der Taktgenerator 22 über eine zweite Taktleitung mit höherer Rate als derjenigen der Leitung 29 verfügt, und dass diese Leitung 30 über den Schalter 25 im aufgetrennten Zustand des Busses 23 mit Takteingängen der Prüfeinheit 21 und des Speichers 1 verbunden ist, um diesen eine Kommunikation mit erhöhter Rate zu ermöglichen.According to one variant, it may also be provided that, as by a dashed line 30 indicated, the clock generator 22 via a second clock line at a higher rate than that of the line 29 has, and that this line 30 over the switch 25 in the split state of the bus 23 with clock inputs of the test unit 21 and the Spei chers 1 is connected to allow them to communicate at an increased rate.

4 zeigt eine dritte Ausgestaltung eines erfindungsgemäßen Datenverarbeitungssystems mit Mikroprozessor 20, Datenprüfeinheit 21 und Speicher 1. Komponenten des Speichers, die solchen des in 1 gezeigten Speichers entsprechen, sind mit denselben Bezugszeichen wie dort bezeichnet und werden nicht erneut erläutert. Bei dieser Ausgestaltung ist die Datenprüfeinheit 21 nicht eingerichtet, Adressen auf den Bus 23 auszugeben, der hier nur den Prozessor 20, den Speicher 1 sowie ggf. weitere, nicht dargestellte Schaltungsbausteine wie etwa einen Cache-Speicher verbindet. Die Datenprüfeinheit 21 hat einen n Bit breiten Eingang 31, an welchem sie die auch am Decoder 4 anliegenden Zeilenteile der vom Prozessor 20 auf den Bus 23 ausgegebenen Adressen empfängt. Sie hat ferner einen m Bit breiten Ausgang 32, der mit dem Steuereingang eines zweiten Multiplexers 15 verbunden ist, welcher im Speicher 1 parallel zum Multiplexer 6 an den Spaltenleitungen 5 angeordnet ist. 4 shows a third embodiment of a data processing system according to the invention with microprocessor 20 , Data check unit 21 and memory 1 , Components of the memory, those of the in 1 shown memory are denoted by the same reference numerals as there and will not be explained again. In this embodiment, the data check unit 21 not set up addresses on the bus 23 this is just the processor here 20 , the memory 1 and possibly further, not shown circuit blocks such as a cache memory connects. The data check unit 21 has a n bit wide input 31 on which they are also on the decoder 4 adjacent line parts of the processor 20 on the bus 23 receives received addresses. It also has an m-bit wide output 32 connected to the control input of a second multiplexer 15 which is connected in the memory 1 parallel to the multiplexer 6 on the column lines 5 is arranged.

Sobald der am Eingang 31 anliegende Zeilenteil einen neuen Wert annimmt, beginnt die Datenprüfeinheit 21, mit hoher Rate über den zweiten Multiplexer 15 die Inhalte der Speicherzellen 2 der gegenwärtig angesprochenen Zeile 3 zu lesen. Da die Verarbeitung der Datenwerte in der Prüfeinheit 21 in an sich bekannter Weise von einer fest verdrahteten Schaltung ausgeführt wird, kann die Prüfeinheit 21 die Daten schnell hintereinander lesen, so dass die Möglichkeit besteht, die Daten aller Zellen 2 der angesprochenen Zeile zu prüfen, selbst wenn der Prozessor 20 nacheinander nur auf eine kleine Zahl dieser Zellen 2 zugreift.Once at the entrance 31 If the adjacent line part assumes a new value, the data check unit starts 21 , at high rate via the second multiplexer 15 the contents of the memory cells 2 the currently addressed line 3 to read. Because the processing of data values in the test unit 21 executed in a conventional manner by a hard-wired circuit, the test unit 21 read the data quickly one after the other, so that there is the possibility of the data of all cells 2 to examine the addressed line, even if the processor 20 successively only a small number of these cells 2 accesses.

Hierfür ist es nicht unbedingt erforderlich, dass der Multiplexer 15 eine schnellere Reaktionszeit als der Multiplexer 6 hat. Da die Prüfeinheit 21, sobald die Zellen 2 einer Zeile vom Decoder 4 angesprochen worden sind und ihre Inhalte auf die Spaltenleitungen 5 ausgegeben haben, nur die Zellen dieser Zeile liest, muss die Wartezeit zwischen zwei aufeinander folgenden Lesezugriffen nicht größer sein als die Reaktionszeit des Multiplexers 15, wohingegen bei einem Zugriff des Mikroprozessors 20, bei dem nicht ausgeschlossen ist, dass sich der Zeilenteil der Adresse geändert hat, der Zeitabstand zwischen dem Ausgeben der Adresse auf dem Bus 23 und dem Einlesen der Daten in den Mikroprozessor 20 wenigstens der kumulierten Reaktionszeit (δt1 + δt2) des Decoders 4 und der Speicherzellen 2 entsprechen muss.For this it is not absolutely necessary that the multiplexer 15 a faster reaction time than the multiplexer 6 Has. Because the test unit 21 as soon as the cells 2 a line from the decoder 4 have been addressed and their contents on the column lines 5 If only the cells of this line have read, the waiting time between two consecutive read accesses must not be greater than the multiplexer's response time 15 whereas with access by the microprocessor 20 in which it is not excluded that the line part of the address has changed, the time interval between the output of the address on the bus 23 and reading the data into the microprocessor 20 at least the cumulative reaction time (δt1 + δt2) of the decoder 4 and the memory cells 2 must correspond.

Einer nicht gezeichneten Abwandlung der 4 zufolge hat die Datenprüfeinheit 21 anstelle des Eingangs 31 einen Adressein-/ausgang, der wenigstens die m Bits des Zeilenteils umfasst. Die Datenprüfeinheit 21 überwacht die Aktivität des Prozessors 20 und gibt im Falle der Untätigkeit des Prozessors 20 einen Zeilenteil aus, der eine zu überprüfende Zeile des Speichers 1 spezifiziert. Die Prüfung der Speicherzellen dieser Zeile durch sukzessives Lesen mit Hilfe des Multiplexers 15 erfolgt wie oben mit Bezug auf 4 beschrieben.An unsigned variation of the 4 According to the data check unit 21 instead of the entrance 31 an address input / output comprising at least the m bits of the line portion. The data check unit 21 monitors the activity of the processor 20 and gives in case of inactivity of the processor 20 a line part containing a row of memory to be checked 1 specified. Checking the memory cells of this line by successive readings with the aid of the multiplexer 15 as above with reference to 4 described.

Bei der in 5 gezeigten Ausgestaltung ist der Multiplexer 15 ersetzt durch ein Schieberegister 16 mit 2m jeweils an eine der Spaltenleitungen 5 angeschlossenen Eingängen und jeweils einer jedem Eingang zugeordneten Speicherzelle. Hier genügt ein einziger Lesezugriff des Mikroprozessors 20 auf eine Zelle 2 des Speichers 1, um die Inhalte aller zur gleichen Zeile 3 wie die adressierte Zelle 2 gehörenden Zellen 2 in das Schieberegister 16 zu übernehmen und diese dann sukzessive an die Datenprüfeinheit 21 auszugeben. Eine Adressenerzeugungslogik wird in dieser Ausgestaltung der Datenprüfeinheit 21 nicht benötigt. Es genügt ein einfaches Taktsignal, um die Übertragung der Daten an die Prüfeinheit zu steuern. Dabei kann es sich um das gleiche Taktsignal CLK handeln kann, das auch den Betrieb des Mikroprozessors 20 steuert, oder es kann asynchron zum Taktsignal CLK von der Datenprüfeinheit 21 selbst erzeugt werden, um in jeder Taktperiode dieses Signals einen Datenwert vom Schieberegister 16 an die Prüfeinheit 21 zu übergeben und zu prüfen.At the in 5 The embodiment shown is the multiplexer 15 replaced by a shift register 16 with 2 m each to one of the column lines 5 connected inputs and each associated with each input memory cell. Here is enough a single read access of the microprocessor 20 on a cell 2 of the memory 1 to the contents of all to the same line 3 like the addressed cell 2 belonging cells 2 in the shift register 16 and then successively to the data test unit 21 issue. Address generation logic in this embodiment is the data verification unit 21 not required. It suffices a simple clock signal to control the transmission of the data to the test unit. This may be the same clock signal CLK, which also includes the operation of the microprocessor 20 controls, or it may be asynchronous to the clock signal CLK from the data check unit 21 itself are generated to a data value from the shift register in each clock period of this signal 16 to the test unit 21 to hand over and examine.

Claims (15)

Speicher (1) mit einer Mehrzahl von in Zeilen und Spalten organisierten Speicherzellen (2), einem Zeilendecoder (4), der in Abhängigkeit von einem Zeilenteil einer an den Speicher (1) angelegten Adresse die Zellen (2) einer der Zeilen veranlasst, ihren Inhalt auf eine der Zelle (2) zugeordnete Spaltenleitung (5) auszugeben, einem Spaltendecoder (6), der eine Mehrzahl von jeweils mit einer Spaltenleitung (5) verbundenen Eingängen und einen Ausgang aufweist und in Abhängigkeit von einem Spaltenteil einer an den Speicher (1) angelegten Adresse einen der Eingänge des Spaltendecoders (6) mit dessen Ausgang verbindet, und einer Kennzeichnungseinrichtung (13, 14) zum Kennzeichnen eines am Ausgang des Spaltendecoders (6) ausgegebenen Inhalts einer Speicherzelle (2) als gültig mit einem Zeitabstand, nachdem die Adresse der Speicherzelle (2) an den Speicher (1) angelegt wurde, dadurch gekennzeichnet, dass der Speicher (1) ferner eine Einrichtung (10, 11, 12) zum Erfassen eines Unterschiedes zwischen einem aktuell an den Speicher (1) angelegten Zeilenteil und einem bei einem vorhergehenden Zugriff angelegten Zeilenteil umfasst, und dass die Kennzeichnungseinrichtung (13, 14) den Zeitabstand im Falle der Erfassung des Unterschiedes durch die Erfassungseinrichtung (10, 11, 12) größer wählt als bei Nichterfassung des Unterschieds.Storage ( 1 ) having a plurality of memory cells organized in rows and columns ( 2 ), a row decoder ( 4 ), which depends on a line part of a memory ( 1 ) address the cells ( 2 ) causes one of the lines to transfer its contents to one of the cells ( 2 ) associated column line ( 5 ), a column decoder ( 6 ), a plurality of each with a column line ( 5 ) and having an output and depending on a column part of a memory ( 1 ) address one of the inputs of the column decoder ( 6 ) with its output, and a marking device ( 13 . 14 ) for identifying one at the output of the column decoder ( 6 ) output content of a memory cell ( 2 ) is valid with a time interval after the address of the memory cell ( 2 ) to the memory ( 1 ), characterized in that the memory ( 1 ) a facility ( 10 . 11 . 12 ) for detecting a difference between a current to the memory ( 1 ) and a line part applied during a previous access, and in that the marking device ( 13 . 14 ) the time interval in the case of detection of the difference by the detection device ( 10 . 11 . 12 ) selects greater than when the difference is not detected. Datenverarbeitungssystem mit einem Speicher nach Anspruch 1, einem Prozessor (20) und einem Taktgenerator (22), dadurch gekennzeichnet, dass der Zeitabstand bei Erfassung des Unterschiedes um wenigstens eine Periode eines von dem Taktgenerator gelieferten Taktsignals größer ist als bei Nichterfassung des Unterschieds.Data processing system with a memory according to claim 1, a processor ( 20 ) and a clock generator ( 22 ), characterized in that the time interval upon detection of the difference by at least one period of a clock signal supplied by the clock generator is greater than when the difference is not detected. Datenverarbeitungssystem nach Anspruch 2, gekennzeichnet durch eine Datenprüfeinheit (21), die eingerichtet ist, eine Mehrzahl von Speicherzellen (2) mit gleichem Zeilenteil der Adresse sukzessive aus dem Speicher (1) zu lesen und eine Unversehrtheitsprüfung an den gelesenen Daten durchzuführen.Data processing system according to claim 2, characterized by a data check unit ( 21 ) arranged to store a plurality of memory cells ( 2 ) with the same line part of the address successively from the memory ( 1 ) and perform an integrity check on the read data. Datenverarbeitungssystem mit einem Speicher (1), einem Prozessor (20) und einer Datenprüfeinheit (21), wobei der Speicher (1) eine Mehrzahl von in Zeilen und Spalten organisierten Speicherzellen (2), einen Zeilendecoder (4), der in Abhängigkeit von einem Zeilenteil einer an den Speicher (1) angelegten Adresse die Zellen (2) einer der Zeilen veranlasst, ihren Inhalt auf eine der Zelle (2) zugeordnete Spaltenleitung (5) auszugeben, und ei nen Spaltendecoder (6) umfasst, der eine Mehrzahl von jeweils mit einer Spaltenleitung (5) verbundenen Eingängen und einen Ausgang aufweist und in Abhängigkeit von einem Spaltenteil einer an den Speicher (1) angelegten Adresse einen der Eingänge des Spaltendecoders (6) mit dessen Ausgang verbindet, und die Datenprüfeinheit (21) eingerichtet ist, eine Mehrzahl von Speicherzellen (2) mit gleichem Zeilenteil der Adresse aus dem Speicher (1) zu lesen und eine Unversehrtheitsprüfung an den gelesenen Daten durchzuführen, dadurch gekennzeichnet, dass die Datenprüfeinheit (21) eingerichtet ist, die Speicherzellen (2) sukzessive mit einer höheren Rate als der Prozessor (20) zu lesen.Data processing system with a memory ( 1 ), a processor ( 20 ) and a data check unit ( 21 ), whereby the memory ( 1 ) a plurality of memory cells organized in rows and columns ( 2 ), a row decoder ( 4 ), which depends on a line part of a memory ( 1 ) address the cells ( 2 ) causes one of the lines to transfer its contents to one of the cells ( 2 ) associated column line ( 5 ) and a column decoder ( 6 ) comprising a plurality of each with a column line ( 5 ) and having an output and depending on a column part of a memory ( 1 ) address one of the inputs of the column decoder ( 6 ) connects to its output, and the data check unit ( 21 ) is arranged, a plurality of memory cells ( 2 ) with the same line part of the address from the memory ( 1 ) and perform an integrity check on the read data, characterized in that the data check unit ( 21 ), the memory cells ( 2 ) successively at a higher rate than the processor ( 20 ) to read. Datenverarbeitungssystem nach Anspruch 4, dadurch gekennzeichnet, dass zwischen dem Adressieren einer Speicherzelle (2) durch den Prozessor (20) und dem Empfangen des Inhalts der Speicherzelle (2) ein erster Zeitabstand besteht, dass die Datenprüfeinheit (21) eingerichtet ist, besagte Mehrzahl von Speicherzellen (2) mit gleichem Zeilenteil sukzessive zu adressieren, und dass zwischen dem Adressieren einer ersten der Speicherzellen (2) mit gleichem Zeilenteil durch die Datenprüfeinheit (21) und dem Empfangen des Inhalts der Speicherzelle (2) durch die Datenprüfeinheit (21) ein zweiter Zeitabstand besteht, und dass zwi schen dem Adressieren jeder weiteren Speicherzelle (2) mit besagtem gleichem Zeilenteil und dem Empfangen ihres Inhalts durch die Datenprüfeinheit (21) ein dritter Zeitabstand besteht, der kleiner als der erste und der zweite Zeitabstand ist.Data processing system according to claim 4, characterized in that between the addressing of a memory cell ( 2 ) by the processor ( 20 ) and receiving the contents of the memory cell ( 2 ) there is a first time interval that the data check unit ( 21 ), said plurality of memory cells ( 2 ) with the same line part successively, and that between the addressing of a first of the memory cells ( 2 ) with the same line part through the data check unit ( 21 ) and receiving the contents of the memory cell ( 2 ) by the data check unit ( 21 ) there is a second time interval, and that between the addressing of each further memory cell ( 2 ) with said same line part and receiving its contents by the data check unit ( 21 ) is a third time interval which is smaller than the first and second time intervals. Datenverarbeitungssystem nach Anspruch 5, dadurch gekennzeichnet, dass der erste und der zweite Zeitabstand gleich sind.Data processing system according to claim 5, characterized characterized in that the first and second time intervals are the same are. Datenverarbeitungssystem nach Anspruch 4, 5 oder 6, dadurch gekennzeichnet, dass der Prozessor (20), der Speicher (1) und die Datenprüfeinheit (21) an einen gemeinsamen Adressbus (23) angeschlossen sind und dass die Datenprüfeinheit (21) eingerichtet ist, die zu lesenden Speicherzellen (2) sukzessive über den Adressbus (23) zu adressieren.Data processing system according to claim 4, 5 or 6, characterized in that the processor ( 20 ), the memory ( 1 ) and the data check unit ( 21 ) to a common address bus ( 23 ) and that the data check unit ( 21 ), the memory cells to be read ( 2 ) successively via the address bus ( 23 ) to address. Datenverarbeitungssystem nach Anspruch 7 sowie nach Anspruch 5 oder 6, dadurch gekennzeichnet, dass der Prozessor (20), der Speicher (1) und die Datenprüfeinheit (21) mit einem gemeinsamen Taktgenerator (22) verbunden sind und der dritte Zeitabstand um eine ganze Zahl von Perioden des Taktsignals (CLK) kleiner als der erste und/oder der zweite Zeitabstand ist.Data processing system according to claim 7 and according to claim 5 or 6, characterized in that the processor ( 20 ), the memory ( 1 ) and the data check unit ( 21 ) with a common clock generator ( 22 ) and the third time interval is less than the first and / or the second time interval by an integer number of periods of the clock signal (CLK). Datenverarbeitungssystem nach Anspruch 7 oder 8, dadurch gekennzeichnet, dass der Prozessor (20), der Speicher (1) und die Datenprüfeinheit (21) sowie wenigstens ein weiterer Baustein (24) an den gemeinsamen Adressbus (23) und einen gemeinsamen Datenbus (23) angeschlossen ist und dass ein Schalter (25) eine Trennung von Adress- und Datenbus (23) in einen ersten Teil (27) zwischen dem Prozessor (20) und dem wenigstens einen weiteren Baustein (24) einerseits und einen zweiten Teil (26) zwischen dem Speicher (1) und der Datenprüfeinheit (21) andererseits ermöglicht.Data processing system according to claim 7 or 8, characterized in that the processor ( 20 ), the memory ( 1 ) and the data check unit ( 21 ) and at least one further building block ( 24 ) to the common address bus ( 23 ) and a common data bus ( 23 ) and that a switch ( 25 ) a separation of address and data bus ( 23 ) into a first part ( 27 ) between the processor ( 20 ) and the at least one further building block ( 24 ) on the one hand and a second part ( 26 ) between the memory ( 1 ) and the data check unit ( 21 ) on the other hand. Datenverarbeitungssystem nach Anspruch 9, dadurch gekennzeichnet, dass im getrennten Zustand von Adress- und Datenbus (23) der den Speicher (1) und die Datenprüfeinheit (21) verbindende zweite Teil (26) mit einer höheren Taktrate betrieben ist als der den Prozessor (20) und den weiteren Baustein (24) verbindende erste Teil (27).Data processing system according to claim 9, characterized in that in the separated state of the address and data bus ( 23 ) of the memory ( 1 ) and the data check unit ( 21 ) second part ( 26 ) is operated at a higher clock rate than the processor ( 20 ) and the further building block ( 24 ) connecting first part ( 27 ). Datenverarbeitungssystem nach Anspruch 4 oder 5, dadurch gekennzeichnet, dass der Speicher (1) einen zu dem ersten Spaltendecoder (6) parallelen zweiten Spaltendecoder (15) umfasst, wobei der erste Spaltendecoder (6) und der Zeilendecoder (4) über einen Adressbus (23) mit dem Prozessor (20) verbunden sind und der zweite Spaltendecoder (15) über einen Spaltenteilbus und einen zweiten Datenbus mit der Datenprüfeinheit (21) verbunden ist .Data processing system according to claim 4 or 5, characterized in that the memory ( 1 ) one to the first column decoder ( 6 ) parallel second column decoder ( 15 ), wherein the first column decoder ( 6 ) and the row decoder ( 4 ) via an address bus ( 23 ) with the processor ( 20 ) and the second column decoder ( 15 ) via a column sub-bus and a second data bus with the data check unit ( 21 ) connected is . Datenverarbeitungssystem nach Anspruch 4, dadurch gekennzeichnet, dass es ein Schieberegister (16) mit mehreren, jeweils mit einer der Spaltenleitungen (5) verbundenen Eingängen und einem gemeinsamen, mit der Datenprüfeinheit (21) verbundenen Ausgang umfasst.Data processing system according to claim 4, characterized in that it has a shift register ( 16 ) with several, each with one of the column lines ( 5 ) and a common, with the data test unit ( 21 ) connected output. Verfahren zum Betreiben eines Speichers (1), der eine Mehrzahl von in Zeilen und Spalten organisierten Speicherzellen (2), einen Zeilendecoder (4), der in Abhängigkeit von einem Zeilenteil einer an den Speicher (1) angelegten Adresse die Zellen (2) einer der Zeilen veranlasst, ihren Inhalt auf eine jeder Zelle (2) zugeordnete Spaltenleitung (5) auszugeben, und einen Spaltendecoder (6) umfasst, der eine Mehrzahl von jeweils mit einer Spaltenleitung (5) verbundenen Eingängen und einen Ausgang aufweist und in Abhängigkeit von einem Spaltenteil einer an den Speicher (1) angelegten Adresse einen der Eingänge des Spaltendecoders (6) mit dessen Ausgang verbindet, wobei der Inhalt einer durch Anlegen einer Adresse an den Speicher (1) spezifizierten Adresse am Ausgang des Spaltendecoders (6) ausgegeben und die Ausgabe des Spaltendecoders (6) mit einer Verzögerung nach dem Anlegen der Adresse als gültig gekennzeichnet wird, dadurch gekennzeichnet, dass die Verzögerung in dem Fall, dass der Zeilenteil der aktuell angelegten Adresse derselbe wie der der zuvor angelegten Ad resse ist, kürzer ist als in dem Fall, dass die besagten Zeilenteile unterschiedlich sind.Method for operating a memory ( 1 ) a plurality of memory cells organized in rows and columns ( 2 ), a row decoder ( 4 ), which depends on a line part of a memory ( 1 ) address the cells ( 2 ) one of the lines causes its content to be written to each cell ( 2 ) associated column line ( 5 ) and a column decoder ( 6 ) comprising a plurality of each with a column line ( 5 ) and having an output and depending on a column part of a memory ( 1 ) address one of the inputs of the column decoder ( 6 ), the contents of which are connected by applying an address to the memory ( 1 ) specified address at the output of the column decoder ( 6 ) and the output of the column decoder ( 6 ) is marked as valid with a delay after the application of the address, characterized in that the delay in the case that the line part of the currently applied address is the same as that of the previously applied address is shorter than in the case where the said line parts are different. Verfahren zum Überprüfen der Unversehrtheit von Daten in einem nach Anspruch 12 betriebenen Speicher (1), dadurch gekennzeichnet, dass Daten, die miteinander verknüpft werden, um anhand des Ergebnisses der Verknüpfung über die Unversehrtheit der Daten zu entscheiden, aus Speicherzellen (2) gelesen werden, deren Adressen jeweils einen gleichen Zeilenteil aufweisen.Method for verifying the integrity of data in a memory operated according to claim 12 ( 1 ), characterized in that data, which are linked together to decide on the integrity of the data based on the result of the linking, from memory cells ( 2 ) are read, whose addresses each have a same line part. Verfahren zum Betreiben eines Datenverarbeitungssystem mit einem Speicher (1), einem Prozessor (20) und einer Datenprüfeinheit (21), wobei der Speicher (1) eine Mehrzahl von in Zeilen und Spalten organisierten Speicherzellen (2), einen Zeilendecoder (4), der in Abhängigkeit von einem Zeilenteil einer an den Speicher angelegten Adresse die Zellen (2) einer der Zeilen veranlasst, ihren Inhalt auf eine der Zelle (2) zugeordnete Spaltenleitung (5) auszugeben, und einen Spaltendecoder (6) umfasst, der eine Mehrzahl von jeweils mit einer Spaltenleitung (5) verbundenen Eingängen und einen Ausgang aufweist und in Abhängigkeit von einem Spaltenteil einer an den Speicher (1) angelegten Adresse einen der Eingänge des Spaltendecoders (6) mit dessen Ausgang verbindet, dadurch gekennzeichnet, dass die Datenprüfeinrichtung (21) die Speicherzellen (2) mit einer höheren Rate als der Prozessor (1) liest.Method for operating a data processing system with a memory ( 1 ), a processor ( 20 ) and a data check unit ( 21 ), whereby the memory ( 1 ) a plurality of memory cells organized in rows and columns ( 2 ), a row decoder ( 4 ), which in dependence on a line part of an address applied to the memory, the cells ( 2 ) causes one of the lines to transfer its contents to one of the cells ( 2 ) associated column line ( 5 ) and a column decoder ( 6 ) comprising a plurality of each with a column line ( 5 ) and having an output and depending on a column part of a memory ( 1 ) address one of the inputs of the column decoder ( 6 ) is connected to its output, characterized in that the data checking device ( 21 ) the memory cells ( 2 ) at a higher rate than the processor ( 1 ) read.
DE200510049094 2005-10-13 2005-10-13 Data storage, data processing system and operating method therefor Withdrawn DE102005049094A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE200510049094 DE102005049094A1 (en) 2005-10-13 2005-10-13 Data storage, data processing system and operating method therefor
PCT/EP2006/067349 WO2007042558A1 (en) 2005-10-13 2006-10-12 Data memory, data processing system, and method for the operation thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE200510049094 DE102005049094A1 (en) 2005-10-13 2005-10-13 Data storage, data processing system and operating method therefor

Publications (1)

Publication Number Publication Date
DE102005049094A1 true DE102005049094A1 (en) 2007-04-19

Family

ID=37460153

Family Applications (1)

Application Number Title Priority Date Filing Date
DE200510049094 Withdrawn DE102005049094A1 (en) 2005-10-13 2005-10-13 Data storage, data processing system and operating method therefor

Country Status (2)

Country Link
DE (1) DE102005049094A1 (en)
WO (1) WO2007042558A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112835515B (en) * 2020-12-14 2022-06-17 联芸科技(杭州)有限公司 Method for expanding number of flash memory particles mounted on storage device and storage device

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0770214B2 (en) * 1986-11-14 1995-07-31 三菱電機株式会社 Semiconductor memory device
JP3959270B2 (en) * 2001-12-26 2007-08-15 株式会社東芝 Semiconductor integrated circuit device and read start trigger signal generation method thereof
US6976121B2 (en) * 2002-01-28 2005-12-13 Intel Corporation Apparatus and method to track command signal occurrence for DRAM data transfer
DE10305008A1 (en) * 2003-02-07 2004-08-19 Robert Bosch Gmbh Method and device for monitoring an electronic control

Also Published As

Publication number Publication date
WO2007042558A1 (en) 2007-04-19

Similar Documents

Publication Publication Date Title
DE69906793T2 (en) METHOD AND ARRANGEMENT FOR HIGH-SPEED DATA ACQUISITION WITH CORRECTION OF BIT-TO-BIT TIMING AND MEMORY ARRANGEMENT USING THE SAME
DE3115541C2 (en)
DE19882486B4 (en) Synchronous non-volatile page mode memory
DE69934401T2 (en) DATA ACQUISITION SYSTEM WITH MEANS FOR ANALYSIS AND STORAGE IN REAL TIME
DE3909896A1 (en) DEVICE AND METHOD FOR ACCESSING DATA STORED IN A PAGE STORAGE
DE10223178B4 (en) Circuit arrangement with a sequence control, integrated memory and test arrangement with such a circuit arrangement
DE2908691C2 (en)
DE3412676A1 (en) SEMICONDUCTOR STORAGE DEVICE
DE2746064A1 (en) DATA STORAGE WITH REFRESHMENT
DE19645745B4 (en) Dynamic read / write memory
DE4441007C2 (en) Multibit test circuit of a semiconductor memory device
DE19827432C2 (en) Method for storing computer status data in the event of a malfunction, which requires the computer to be restarted afterwards
DE2450468C2 (en) Error correction arrangement for a memory
DE19963689A1 (en) Circuit arrangement of an integrated semiconductor memory for storing addresses of defective memory cells
DE102005049094A1 (en) Data storage, data processing system and operating method therefor
DE10338980B4 (en) Reset signal generator, semiconductor memory device and reset method
DE112007003117T5 (en) New implementation of column redundancy for a flash memory with high write parallelism
DE102005040109B4 (en) Semiconductor memory chip
DE60128596T2 (en) INTERRUPT CONTROL FOR A MICROPROCESSOR
DE2153116A1 (en) FUNCTIONAL MONITORED INFORMATION MEMORY, IN PARTICULAR INTEGRATED SEMICONDUCTOR MEMORY
DE102006004168A1 (en) Checking an address decoder
DE10107833B4 (en) Memory arrangement and method for reading out a memory arrangement
DE69733814T2 (en) MULTIPLEXER FOR TONE SIGNALS
EP0505603B1 (en) Method for testing a data memory having an associated protection memory and a circuit arrangement carrying out said method
DE19929725B4 (en) Integrated circuit with a decoder unit

Legal Events

Date Code Title Description
8139 Disposal/non-payment of the annual fee