DE4442127A1 - Method for memory management of a flash memory - Google Patents
Method for memory management of a flash memoryInfo
- Publication number
- DE4442127A1 DE4442127A1 DE4442127A DE4442127A DE4442127A1 DE 4442127 A1 DE4442127 A1 DE 4442127A1 DE 4442127 A DE4442127 A DE 4442127A DE 4442127 A DE4442127 A DE 4442127A DE 4442127 A1 DE4442127 A1 DE 4442127A1
- Authority
- DE
- Germany
- Prior art keywords
- segments
- block
- occupied
- marked
- unmarked
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/64—Automatic arrangements for answering calls; Automatic arrangements for recording messages for absent subscribers; Arrangements for recording conversations
- H04M1/65—Recording arrangements for recording a message from the calling party
- H04M1/6505—Recording arrangements for recording a message from the calling party storing speech in digital form
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
Description
Die Erfindung betrifft ein Verfahren zur Speicherverwaltung von Flash-Speicherbausteinen.The invention relates to a method for memory management of Flash memory chips.
Aus dem Stand der Technik sind, insbesondere in der Anwendung für digitale Anrufbeantworter, sogenannte Flash-Speicher bekannt. Ein Flash-Speicher ist ein kontinuierlicher, linearer Datenspeicher. Bei bekannten Flash-Speichern von z. B. der Firma INTEL gibt es einen 4-MBit-Speicher, der in sieben Blöcke unterschiedlicher Größe aufgeteilt ist. Bei Speichern von der Firma AMD wird eine Aufteilung in acht Blöcke vorgenommen. Der Flash-Speicher der Firma INTEL kann zu vier gleich großen Blöcken zusammengefaßt werden. Bei diesen beiden bekannten Flash-Speichern ist es nur möglich, blockweise zu löschen. Bei einer maximalen Abspeicherungszeit von z. B. 15 Minuten und einer Unterteilung in vier Blöcke bedeutet dies, daß pro Block mehr als 3 Minuten abgespeichert sind. Um einen ganzen Block zu löschen, müssen demnach alle Nachrichten, die in diesen 3 Minuten aufgesprochen wurden, entfernt werden. From the prior art, in particular in the application for digital answering machine, known as flash memory. On Flash memory is a continuous, linear data memory. In known flash memories of z. B. the company INTEL there a 4 MBit memory, which is divided into seven blocks of different sizes is divided. When saving from the company AMD is a Divided into eight blocks. The flash memory of the Company INTEL can be grouped into four equal blocks become. With these two known flash memories it is only possible to delete in blocks. At a maximum Storage time of z. B. 15 minutes and a subdivision into four blocks this means that per block more than 3 minutes are stored. To delete a whole block, you need to therefore, all the news recorded in these 3 minutes were removed.
Nachteilig ist hierbei, daß alle Nachrichten gelöscht werden müssen und zusätzlich, daß jedes erneute Schreiben und Löschen eines Blocks die Lebensdauer des Speichers reduziert. Die meisten Flash-Speicher haben eine durchschnittliche Lebensdauer von 100 000 Schreib/Lösch-Zyklen pro Block.The disadvantage here is that all messages are deleted and in addition, that every rewriting and deleting a block reduces the life of the memory. Most Flash memories have an average lifespan of 100,000 write / erase cycles per block.
Es ist die Aufgabe der Erfindung, eine Flash-Speicherverwaltung vorzusehen, mit der eine hohe Auslastung des verfügbaren Speicherplatzes möglich ist.It is the object of the invention to provide flash memory management provide a high utilization of the available Storage space is possible.
Weitere Aufgabe der Erfindung ist es, neben der hohen Auslastung eine Flash-Speicherverwaltung vorzusehen, die anwenderfreundlich ist.Another object of the invention is, in addition to the high utilization to provide a flash memory management that is user friendly is.
Dies wird erfindungsgemäß gelöst durch die Lehre des Patentanspruchs 1, die Lehre des Patentanspruchs 11, die Lehre des Patentanspruchs 12, die Lehre des Patentanspruchs 13 und die Lehre des Patentanspruchs 17.This is achieved by the teachings of the invention Patent claim 1, the teaching of claim 11, the teaching of Patent claim 12, the teaching of claim 13 and the teaching of claim 17.
Vorteilhaft ist hierbei, daß die Schreib/Lösch-Zyklen in allen Blöcken Anwendung finden, so daß gerade das Löschen von Blöcken einer Optimierung unterliegt.The advantage here is that the write / erase cycles in all Blocks find application, so that just the deletion of blocks subject to optimization.
Des weiteren ist es vorteilhaft, daß durch das Optimieren durch Umkopieren innerhalb des Speichers die Zeit, in der der Speicher belegt ist und nicht mit einer neuen Nachricht beschrieben werden kann, sehr kurz gehalten wird.Furthermore, it is advantageous that by optimizing Copy inside the memory the time in which the memory is busy and not described with a new message can, is kept very short.
Weitere vorteilhafte Ausgestaltungen der Erfindung sind den Unteransprüchen zu entnehmen.Further advantageous embodiments of the invention are the Subclaims refer.
Im folgenden wird die Erfindung anhand der Figuren näher erläutert.In the following the invention will be explained in more detail with reference to FIGS.
Folgende Figuren zeigen:The following figures show:
Fig. 1 Ablaufdiagramm einer Speicheroptimierung, Fig. 1 flow chart of a tuning memory,
Fig. 2 schematische Darstellung einer Datei, Fig. 2 shows a schematic representation of a file,
Fig. 3a Beispiel für das Verschieben von Dateien, Fig. 3a Example of moving files
Fig. 3b Beispiel für das Löschen ganzer Blöcke, Fig. 3b Example of deleting whole blocks,
Fig. 3c Beispiel für das Kopieren von Dateien in andere Blöcke, Fig. 3c Example of copying files to other blocks,
Fig. 3d Beispiel für das Zwischenlagern von Dateien. Fig. 3d Example for the intermediate storage of files.
Im folgenden wird die Erfindung anhand von Fig. 1 näher erläutert.In the following the invention with reference to FIG. 1 will be explained in more detail.
Ein Flash-Speicher ist in eine Anzahl von Blöcken unterteilt. Diese Blöcke werden wiederum in eine Vielzahl von Segmenten unterteilt. Daten in Form von Dateien können, erfindungsgemäß an einem beliebigen Segment beginnend, segmentweise in dem Flash-Speicher abgespeichert werden. Zum Löschen dieser entsprechenden Dateien werden diese segmentweise markiert. Gelöscht werden kann aber nur blockweise.A flash memory is divided into a number of blocks. These blocks turn into a variety of segments divided. Data in the form of files can, according to the invention to starting from any segment, segment by segment Flash memory to be stored. To delete this corresponding files are marked segment by segment. But can be deleted only in blocks.
Als Beispiel wird im folgenden ein Flash-Speicher aufgeführt, der in vier Blöcke unterteilt ist. Als weitere Möglichkeit bietet sich ebenfalls an, einen Flash-Speicher in acht Blöcke oder aber auch in sechzehn Blöcke zu unterteilen. Dies ist abhängig von dem jeweiligen Halbleiterhersteller. Bei dem hier gewählten Beispiel mit vier Blöcken wird in einem ersten Schritt 1 ein aktueller Füllgrad des Flash-Speichers bestimmt. Dies erfolgt, indem die Anzahl der nicht belegten, belegten zum Löschen markierten und der belegten, nichtmarkierten Segmente eines jeden Blocks bestimmt wird. Der Füllgrad des einzelnen Blocks und der Füllgrad des gesamten Flash-Speichers führen dazu, daß nach dem Überschreiten einer Schwelle eine Speicheroptimierung vorgenommen werden soll. Hierbei kann die Schwelle ein empirisch ermittelter Wert sein, der z. B. vorn einstellbar ist. Es ist auch denkbar, je nach Füllgrad unterschiedliche, d. h. variable Schwellen, vorzugeben.As an example, below is a flash memory divided into four blocks. Another possibility is also to divide a flash memory in eight blocks or even in sixteen blocks. This depends on the respective semiconductor manufacturer. In the example selected here with four blocks, a current filling level of the flash memory is determined in a first step 1 . This is done by determining the number of unoccupied, occupied deletion marked and occupied unmarked segments of each block. The degree of filling of the individual block and the filling level of the entire flash memory cause memory to be optimized after a threshold has been exceeded. In this case, the threshold may be an empirically determined value, the z. B. front adjustable. It is also conceivable, depending on the degree of filling different, ie variable thresholds pretend.
Liegt der Füllgrad des Speichers oberhalb der Schwelle, liegt die Anforderung vor, den Speicher zu optimieren 2. Dies kann gemäß einer Ausgestaltung der Erfindung durch ein Verschieben von belegten nichtmarkierten Dateien in Richtung des jeweils nicht belegten Endes des Speichers erfolgen. Die in dem ursprünglichen Block verbleibenden, markierten Dateien werden dabei blockweise gelöscht. Für den Fall, daß eine Verschiebung der Dateien nicht möglich ist, kann in einem weiteren Schritt 4 ermittelt werden, ob ein ganzer Block existiert, in dem sich keine belegten nichtmarkierten Segmente befinden. Der ganze Block wird dann gelöscht.If the filling level of the memory is above the threshold, there is a requirement to optimize the memory 2 . This can be done in accordance with an embodiment of the invention by moving occupied unmarked files in the direction of each unoccupied end of the memory. The selected files remaining in the original block are deleted block by block. In the event that a displacement of the files is not possible, it can be determined in a further step 4 whether a whole block exists in which there are no occupied unmarked segments. The whole block is then deleted.
Für den Fall, daß sich kein Block in dem Flash-Speicher befindet, der ganz löschbar ist, wird derjenige Block ermittelt, in dem sich die kleinste Anzahl an belegten, nichtmarkierten Segmenten befindet. Diese belegten nichtmarkierten Segmente, die zu einer Datei dazugehören, werden dann in nichtbelegte Bereiche anderer Blöcke kopiert 5. Der zuvor ermittelte Block wird sodann gelöscht. Für den hier vorliegenden Fall ist vorausgesetzt, daß die Datei, die umkopiert wird, komplett in den nicht belegten Bereich hineinpaßt, also als Ganzes zusammenbleibt.In the event that there is no block in the flash memory which is completely erasable, the block in which there is the smallest number of occupied, unmarked segments is determined. These occupied unmarked segments associated with a file are then copied 5 to unused areas of other blocks 5 . The previously determined block is then deleted. For the present case, it is assumed that the file which is being copied completely fits into the unoccupied area, ie remains together as a whole.
Für den Fall, daß keine Möglichkeit existiert, Segmente in nicht belegte Bereiche anderer Blöcke umzukopieren, wird in einem nächsten Schritt 6 wiederum der Block ermittelt, in dem sich die kleinste Anzahl an belegten nichtmarkierten Segmenten befindet, woraufhin diese Segmente des ermittelten Blocks in einem markierten Bereich eines anderen Blocks zwischengespeichert werden. Danach wird der zuvor ermittelte Block als Ganzes gelöscht und die zwischengespeicherten Daten werden wieder in den nun vollständig unbelegten Block zurückgeschrieben.In the event that there is no possibility to copy segments into unoccupied areas of other blocks, in a next step 6 again the block is determined in which there is the smallest number of occupied unmarked segments, whereupon these segments of the determined block are in a marked one Cached area of another block. Thereafter, the previously determined block is deleted as a whole and the cached data are written back into the now completely empty block.
Für den Fall, daß erfindungsgemäß einer dieser vier Schritte 3, 4, 5, 6 zur Speicheroptimierung ausgeführt wird, wird wiederum der Füllgrad bestimmt und ein Schwellwertvergleich erfolgt 1.In the event that, according to the invention, one of these four steps 3, 4, 5, 6 is executed for memory optimization, the degree of filling is again determined and a threshold value comparison is carried out 1 .
Für den Fall, daß keiner dieser vorhergehenden Schritte ausgeführt wird, also eine Optimierung nicht möglich ist, wird in einem weiteren Schritt 7 eine Benutzerabfrage erfolgen. Hierbei wird der Benutzer gefragt nach denjenigen Dateien, die zusätzlich zum Löschen markiert werden sollen. Gibt der Benutzer darauf eine positive Antwort, also bestimmt löschbare Dateien, dann kann wiederum mit dem Schritt 1 fortgefahren werden. Für den Fall, daß der Benutzer kein weiteres Segment zu löschen wünscht, erfolgt ein Abbruch und keine neue Datei ist abspeicherbar.In the event that none of these previous steps is performed, so an optimization is not possible, in a further step 7, a user query will be made. Here, the user is asked for the files that are to be marked in addition to the deletion. If the user gives a positive response to this, that is to say, erasable files, then again step 1 can be continued. In the event that the user does not wish to delete another segment, an abort and no new file is stored.
Im folgenden wird anhand der Fig. 2 die schematische Darstellung einer Datei erläutert, die mehrere Segmente lang ist. Am Anfang einer jeden Datei I steht ein Dateianfangsetikett 00000, dieses ist beispielsweise mit Nullen besetzt. Als zweites II steht am Anfang jeder Datei ein Segmentanfangsetikett, z. B. 10000. Zu Beginn des zweiten Segmentes, welches noch zu der Datei zählt, steht zweimal ein Segmentanfangsetikett 10000. Dies wird für jedes weitere Segment der Datei in dieser Form ausgeführt. Für den Beginn einer neuen Datei I ist wieder ein neues Dateianfangsetikett 00000 vorgesehen. Somit ist eindeutig, wie lang eine existierende Datei ist.In the following, the schematic representation of a file is explained with reference to FIG. 2, which is a plurality of segments long. At the beginning of each file I is a file header 00000, this is for example filled with zeros. The second II is at the beginning of each file, a segment header, z. B. 10000. At the beginning of the second segment, which still counts to the file, there is twice a segment start label 10000. This is done for each additional segment of the file in this form. For the beginning of a new file I, a new file header 00000 is again provided. It is therefore clear how long an existing file is.
Des weiteren steht zum Beginn einer Datei in einem weiteren Bereich III z. B. die Gesamtlänge der existierenden Datei bis zu ihrem Ende. Wahlweise kann zusätzlich noch Datum, Jahreszahl und Uhrzeit des Eintrags der Datei eingetragen werden. Danach werden die zu speichernden Daten in dem verbleibenden Bereich oder in den verbleibenden Bereichen abgespeichert. Somit ist eindeutig festgelegt, welche Segmente belegt sind. Zum Markieren zum Löschen einer Datei wird z. B. in alle Segmentanfangsetiketten II ebenfalls keine Null eingetragen, also 00000. Somit steht eindeutig fest, daß die darin noch abgespeicherten Daten zum Löschen bereitstehen. In dem Segmentanfangsetikett II kann durch einen Code festgelegt werden, welche Form von Daten darin gespeichert sind. Zum Beispiel PCM-Daten oder ADPCM-Daten usw., was durch einen Code 01000 bzw. 00100 angegeben wird.Furthermore, there is the beginning of a file in another Area III z. For example, the total length of the existing file is up to their end. Optionally, additionally date, year and Time of entry of the file to be entered. After that will be the data to be stored in the remaining area or in the stored remaining areas. Thus, it is clear determines which segments are occupied. To mark for deletion a file is z. B. in all segment preambles II likewise no zero registered, thus 00000. Thus stands clear determines that the data still stored therein is for deletion ready. In the segment preamble II can by a Code can be defined which form of data is stored therein are. For example, PCM data or ADPCM data, etc., what by a code 01000 or 00100 is specified.
Im folgenden wird (ohne Zeichnung) ein Programmodul für das Betreiben eines Flash-Speichers erläutert. Der Flash-Speicher ist ebenfalls in Blöcke unterteilt, welche wiederum in eine Vielzahl von Segmenten unterteilt sind. Es wird ebenfalls ein zulässiger Füllgrad des Flash-Speichers ermittelt, der sich auch aus der Anzahl von nichtbelegten, aus der Anzahl von belegten und zum Löschen markierten Segmenten und aus der Anzahl von belegten nichtmarkierten Segmenten eines jeden Blocks bestimmt. Eine Speicheroptimierung wird dann mittels folgender Steuerbefehle vorgenommen. Mittels eines Steuerbefehls wird veranlaßt, von Dateien belegte Segmente zu verschieben, und mittels eines weiteren Steuerbefehls wird ein Block mit den verbleibenden belegten, zum Löschen markierten Segmenten gelöscht. Für den Fall, daß dies nicht ausführbar ist, wird ein Block ermittelt, in dem sich keine belegten, nichtmarkierten Segmente befinden und, veranlaßt durch einen Steuerbefehl, wird dann der ganze Block gelöscht. Wenn dies ebenfalls nicht möglich ist, wird der Block ermittelt, in dem sich die kleinste Anzahl an belegten nichtmarkierten Segmenten befindet.In the following will be (without drawing) a program module for the Operating a flash memory explained. The flash memory is also divided into blocks, which in turn into a variety are divided by segments. It will also be a legal one Filling level of the flash memory determined, which is also from the Number of unoccupied, out of the number of occupied and to Delete selected segments and from the number of occupied unmarked segments of each block. A Memory optimization is then by means of the following control commands performed. By means of a control command is caused by Move files occupied segments, and by means of a Another control command is a block with the remaining occupied segments deleted for deletion. In the case, that this is not executable, a block is determined in which there are no occupied, unmarked segments and caused by a control command, then the whole block deleted. If this is also not possible, the block becomes determined, in which occupied the smallest number of unmarked segments is located.
Diese werden dann, veranlaßt durch einen weiteren Steuerbefehl, in markierte Segmente anderer Blöcke zwischengespeichert. Der Block wird gelöscht und nach dem Löschen werden die zwischengespeicherten Segmente wieder in dem Block rekonstruiert. Für den Fall, daß dies ebenfalls nicht erfüllbar ist, wird der Block ermittelt, in dem sich die kleinste Anzahl an belegten, nichtmarkierten Segmenten befindet. Hierin wird dann, veranlaßt durch einen Steuerbefehl, ein Umkopieren der belegten, nichtmarkierten Segmente vorgenommen. Dies erfolgt aber nur dann, wenn eine ganze Datei in einen freien Speicherbereich umkopiert werden kann. Auch hier wird für den Fall, daß keine dieser Optimierungen möglich ist, mit einem weiteren Steuerbefehl eine Benutzerabfrage veranlaßt, bei der der Benutzer zu löschende Dateien zusätzlich markieren kann.These are then, caused by another control command, in Cached segments of other blocks are cached. The block will be deleted and after deleting the cached segments reconstructed again in the block. In the event that this is also not possible, the Block, in which the smallest number of occupied, unmarked segments is located. This is then initiated by a control command, a copying of the occupied, unmarked segments made. But this only happens when copying an entire file to a free space can be. Again, in the event that none of these Optimizations is possible with another control command User prompt causes the user to be deleted Additionally, you can mark files.
Eine breite Verwendung solcher Programmodule ist beispielsweise zur Speicherung von Sprachnachrichten in Anrufbeantwortern denkbar. Beispielsweise kann mit einem hier verwendeten Flash-Speicher eine Vielzahl von Nachrichten gespeichert werden, bis z. B. einer Dauer von 15 Minuten insgesamt. Häufig besteht hierbei der Wunsch, Nachrichten zu löschen und andere Nachrichten längere Zeit aufzubewahren.A broad use of such program modules is, for example for storing voice messages in answering machines conceivable. For example, with one used here Flash memory a variety of messages are stored to z. B. a duration of 15 minutes in total. Often exists the desire to delete messages and other messages to keep for a longer period of time.
Im folgenden wird anhand der Fig. 3a ein Ausführungsbeispiel näher erläutert. In dem hier gewählten Beispiel besitzt der Flash-Speicher vier Blöcke A, B, C, D. Markierte Bereiche von Segmenten, die zum Löschen bereitstehen, sind hierbei durch die kurzen vertikalen Stiche angezeigt (||||). Segmente, die nicht markiert sind, also weiterhin gespeichert bleiben sollen, sollen durch den langgezogenen horizontalen Strich gekennzeichnet werden. Die Reihenfolge von Dateien gleicher Art kann erfindungsgemäß durch das Auswerten von Zusatzinformationen, die am Anfang des ersten Segmentes einer Datei stehen (wie Datum, Uhrzeit), ausgewertet werden. In the following an embodiment will be explained in more detail with reference to FIG. 3a. In the example chosen here, the flash memory has four blocks A, B, C, D. Marked areas of segments that are ready to be erased are indicated by the short vertical stitches (||||). Segments that are not marked, that is, should continue to be saved, should be identified by the long horizontal bar. The sequence of files of the same kind can be evaluated according to the invention by evaluating additional information that is at the beginning of the first segment of a file (such as date, time).
In dem ersten Block A sind 5 unterschiedliche Dateien gespeichert 1, 2, 3, 4, 5. In dem zweiten Block B befindet sich lediglich das Ende der fünften Datei 5. Sollten nun z. B. die Dateien 2 und 4 zum Löschen markiert werden (vgl. Fig. 3a, 2′, 4′), so wird dann aus der Datei 3 die Datei 2 und aus der Datei 5 die Datei 3. In dem Fall, daß Dateien verschoben werden sollen Δt, werden die nichtmarkierten Dateien 1, 2, 3 zum Ende des Speichers in den vierten Block D hinverschoben. Die Kennzeichnung der Dateien wird, wie bereits erläutert, verändert. Aus 5 wird 3, aus 3 wird 2 und die 1 bleibt. So befinden sich die Dateien 1, 2, 3 nach dem Verschieben, von hinten aus gesehen in der Reihenfolge 3, 2, 1 in dem letzten Block D. Die markierten Dateien in dem ersten Block A werden nun in diesem Block gelöscht. Somit stehen wieder drei freie Blöcke zur erneuten Speicherung zur Verfügung A, B und C. Neue Nachrichten in Form von Dateien werden nun wieder in den Block A hineingeschrieben.In the first block A 5 different files are stored 1, 2, 3, 4, 5. In the second block B is only the end of the fifth file 5. Should now z. For example, if files 2 and 4 are marked for deletion (see Figures 3a, 2 ', 4'), then file 3 becomes file 2 and file 5 becomes file 3. In the case of files Δt, the unmarked files 1, 2, 3 are moved to the end of the memory in the fourth block D. The marking of the files is changed, as already explained. 5 becomes 3, 3 becomes 2 and 1 remains. Thus, the files 1, 2, 3 are after being moved, seen from the rear, in the order of 3, 2, 1 in the last block D. The marked files in the first block A are now deleted in this block. Thus, three free blocks are available for re-storage A, B and C. New messages in the form of files are now rewritten in the block A.
Im folgenden wird anhand der Fig. 3b das Löschen ganzer Blöcke erläutert. Es existieren verschiedene Dateien. Im Block A befinden sich fünf Dateien 2, 3, 4, 5, 6. Davon ist die Datei 3 zum Löschen markiert (3′). Im Block B befinden sich zwei Dateien 5 und 1, beide zum Löschen markiert (5′, 1′). Ansonsten ist der Block nicht belegt. Block C ist ebenfalls nicht belegt. Im Block D existieren Dateien 7, 8, die aufbewahrt werden sollen. Es wird nun festgestellt, daß der Block B löschbar ist. Zum Löschen kann z. B. der unbelegte Teil des Blocks ebenfalls markiert werden, woraufhin dann der Block gelöscht wird. Darauffolgend Δt befinden sich lediglich noch Daten in Block A und D. Dabei wurde 2 in 1, 4 in 2, 6 in 3, 7 in 4 und 8 in 5 geändert. Die Blöcke B und C sind frei.In the following, the erase of entire blocks will be explained with reference to FIG. 3b. There are several files. In block A there are five files 2, 3, 4, 5, 6. Of these, file 3 is marked for deletion (3 '). In block B there are two files 5 and 1, both marked for deletion (5 ', 1'). Otherwise the block is not occupied. Block C is also not occupied. In block D there are files 7, 8 which are to be kept. It will now be noted that block B is erasable. For deleting z. B. the blank part of the block are also marked, whereupon then the block is deleted. Following Δt there are only data in blocks A and D. Here, 2 in 1, 4 in 2, 6 in 3, 7 in 4 and 8 in 5 has been changed. Blocks B and C are free.
Im folgenden wird anhand der Fig. 3c das Kopieren von Dateien in andere Blöcke erläutert. Es wird ermittelt, welcher Block die geringste Anzahl an belegten, nichtmarkierten Segmenten aufweist. In diesem Fall ist dies der Block C. Die darin befindliche Datei 7, die nicht markiert ist, wird in den freien Bereich des Blockes B umkopiert (jetzt 4, nach dem Umnumerieren). Der verbleibende Bereich in C wird zum Löschen markiert, und somit (Δt) ist der Bereich wieder vollständig frei.In the following, the copying of files into other blocks is explained with reference to FIG. 3c. It is determined which block has the least number of occupied, unmarked segments. In this case, this is block C. The file 7 therein, which is not marked, is copied to the free area of block B (now 4, after renumbering). The remaining area in C is marked for deletion, and thus (Δt) the area is completely free again.
Im folgenden wird anhand der Fig. 3d ein Beispiel für das Zwischenlagern von Dateien erläutert.In the following, an example of the intermediate storage of files is explained with reference to FIG. 3d.
In dem hier vorliegenden Fall wird ebenfalls der Block ermittelt, in dem sich die geringste Anzahl an belegten, nichtmarkierten Segmenten befindet. Hier ist dies der Block C. Es wird versucht, die Datei 5 (nach Umnumerieren), die nicht markiert ist, um das Löschen des Blockes ausführen zu können, auszulagern. Es existiert kein unbelegter Bereich mehr, in dem die Datei umkopiert werden kann. Deshalb wird versucht, die Datei 5 im Bereich der zum Löschen markierten Datei 2 zwischenzuspeichern. Diese reicht nicht aus, und so wird der verbleibende Teil der Datei z. B. im Block B, in dem unbelegten (zwischen 3 und 5′), aber auch in dem markierten Bereich 5′ zwischengespeichert. Danach wird der Block gelöscht. Daraufhin (Δt) wird die Datei 5 in dem nunmehr "leeren" Block rekonstruiert.In the present case, the block is also determined, in which occupied the least number of unmarked Located segments. Here's the block C. It's trying the file 5 (after renumbering), which is not marked, to the Delete the block to be able to execute, outsource. It exists no more blank area where the file will be repackaged can. Therefore, the file 5 is tried in the area of the Delete cached file 2 to cache. This is not enough off, and so the remaining part of the file z. In block B, in the blank (between 3 and 5 '), but also in the marked one Area 5 'cached. After that, the block is deleted. Thereafter (Δt), the file 5 is in the now "empty" block reconstructed.
Die Aufzählung der hier genannten Fälle ist nur beispielhaft und erhebt keinerlei Anspruch auf Vollständigkeit.The enumeration of the cases mentioned here is only an example and makes no claim to completeness.
Im folgenden wird die Erfindung gemäß Patentanspruch 13 anhand des folgenden Beispiels erläutert.In the following the invention according to claim 13 using the following example explained.
Der Füllgrad des Flash-Speichers, der in vier Blöcke unterteilt ist, wird bestimmt, indem die Anzahl der nicht belegten die Anzahl der belegten, zum Löschen markierten und der belegten, nicht markierten Segmente eines jeden der vier Blöcke bestimmt wird. The fill level of the flash memory, which is divided into four blocks is determined by the number of unoccupied the number the occupied, marked for deletion and the occupied, not marked segments of each of the four blocks is determined.
Überschreitet der Füllgrad eine Schwelle, wird der Block bestimmt, in dem sich die geringste Anzahl an belegten, nicht markierten Segmenten befindet.If the degree of filling exceeds a threshold, the block is determined in which the least number of occupied, unmarked Located segments.
In einem weiteren Schritt werden die belegten, nicht markierten Segmente verknüpft, um auf zum Löschen markierte Segmente eines weiteren Blocks überschrieben zu werden.In a further step, the occupied, unmarked Segments linked to segments marked for deletion to be overwritten further blocks.
Diese Aufbereitung ist im folgenden an einem Beispiel erläutert, in dem beliebige Daten ausgewählt wurden. Dem zugrunde lag, daß insbesondere bei Sprachdaten eine Gleichverteilung von 0 und 1 auftritt.This preparation is explained below using an example, in which any data was selected. It was based on that especially for speech data, an equal distribution of 0 and 1 occurs.
In dem weiteren Block befinden sich zum Löschen markierte Segmente, was bedeutet, daß noch Daten in den Segmenten eingeschrieben sind. Demnach lassen sich diese Daten beispielshaft folgendermaßen angeben, in hexadezimaler Darstellung und dualer Darstellung:In the other block are marked for deletion Segments, which means that there is still data in the segments are inscribed. Accordingly, this data can be exemplary specify, in hexadecimal and dual Presentation:
Die Daten des belegten, nicht markierten Segments sind beispielsweise:The data of the occupied, unmarked segment are for example:
Diese Daten gilt es zu überschreiben.This data should be overwritten.
Im folgenden werden die Daten der zum Löschen markierten Daten mittels einer logischen Verknüpfung, z. B. UND, mit den belegten nicht markierten Daten verknüpft.The following is the data of the data marked for deletion by means of a logical link, z. B. AND, with the occupied linked to unmarked data.
Daraus ergeben sich die verknüpften DatenThis results in the linked data
Somit sind die Daten aber noch nicht vollständig überschrieben worden, denn 0000 0001 entspricht nicht oder nur teilweise 0001 0101. Es werden demgemäß weitere Verknüpfungen notwendig, bis zum vollständigen Überschreiben.Thus, the data is not completely overwritten yet 0000 0001 is not or only partially 0001 0101. Accordingly, further links become necessary until for complete overwriting.
Daraus folgt, daß auf die folgenden Daten, die sich in dem zum Löschen markierten Segment befinden, eine erneute Verknüpfung, hier ebenfalls UND, angewendet wird.It follows that the following data, which is in the for Delete marked segment, re-link, here also AND, is applied.
Daraus folgt:It follows:
Dies liefert keinen Beitrag.This does not contribute.
Und weiterAnd further
Daraus folgt:It follows:
Und weiterAnd further
Daraus folgt:It follows:
Dies liefert einen Beitrag, entspricht aber auch zusammen mit den Gleichungen I, II und III noch nicht den vollständigen Daten von 0001 0101. This provides a contribution, but also corresponds with the Equations I, II and III are not yet the full data of 0001 0101.
Und weiterAnd further
Daraus folgt:It follows:
Im folgenden wird in tabellarischer Form ein Überblick über die bisher überschriebenen Daten gegeben. Dabei stehen in der linken Spalte die Daten, die zu überschreiben sind, und in der mittleren Spalte die Daten, die durch die Verknüpfung überschrieben wurden. Die beiden rechten Spalte geben die entsprechenden hexadezimalen Zahlen an, wobei die äußerste rechte Spalte die noch zu codierenden Daten angibt.The following is a tabular overview of the given previously overwritten data. This is in the left Column the data to be overwritten, and in the middle Column the data that has been overwritten by the link. The two right-hand columns give the corresponding hexadecimal Numbers, with the rightmost column to be encoded Data indicates.
Bei der Gleichung (V) ergibt die logische Verknüpfung eine 15 0001 0101.In the equation (V), the logical operation gives a 15 0001 0101.
Da aber bereits eine 0 1 0000 0001 mit der Gleichung (I) und eine 1 0 0001 0000 mit der Gleichung (V) überschrieben wurde, wird hier mit der Gleichung (V) nur noch eine 0 4 0000 0100 programmiert. Die Zahl der Gleichung (V) wird hierbei durch eine logische ODER-Verknüpfung oder durch Subtraktion ermittelt.But since already a 0 1 0000 0001 with the equation (I) and a 1 0 0001 0000 was overwritten by equation (V), is here with the equation (V) only a 0 4 0000 0100 programmed. The number of the equation (V) is here by a logical OR or determined by subtraction.
Des weiteren ergibt sich, daß ein Endekriterium ermittelt werden muß, um festzulegen, daß das Überschreiben beendet ist.Furthermore, it follows that an end criterion can be determined must to specify that the overwriting is completed.
Ein Endekriterium könnte folgendermaßen aussehen: Die wie vorab erläuterte logische Verknüpfung mit den folgenden zum Löschen markierten Daten ergibt:An end criterion could look like this: The as in advance explained logical association with the following for deletion marked data gives:
Daraus folgt:It follows:
Vergleicht man dies mit den in der Tabelle 5 eingetragenen Werten, stellt man fest, daß die Gleichung (VI) der Gleichung (IV) entspricht. Entsprechend wird festgestellt, daß sich an mindestens einer Bitposition erneut eine 1 befindet, was als Endekriterium dient.If one compares this with the values entered in Table 5, it is found that equation (VI) of equation (IV) equivalent. Accordingly, it is stated that at least a bit position is again a 1, which is the final criterion serves.
Ein weiteres Beispiel ergibt sich, wenn die belegten, nicht markierten Daten beispielsweise folgende sind:Another example arises when the occupied ones do not For example, tagged dates are:
Die zum Löschen markierten sind beispielsweise:The ones marked for deletion are, for example:
In der Verknüpfung, die der zuvor erläuterten entspricht, würde jede Verknüpfung mit 00 zu 00 führen. Aus diesem Grund muß das Endekriterium erweitert werden.In the link that corresponds to the one explained above, each would Link with 00 to 00 lead. For this reason, that must End criterion to be extended.
Festzustellen ist folgendes:It should be noted that:
An den Bitpositionen 0, 2 und 3 der Daten der mittleren Spalte ist in beiden Fällen jeweils eine 1. Entsprechend wird festgelegt, daß, falls mehr als eine Bitposition mindestens zweimal eine 1 enthält, diese ein Byte mit 0 repräsentiert und somit das Endekriterium festlegt.At the bit positions 0, 2 and 3 of the data of the middle column is in each case a 1. Accordingly, it is determined that if more than one bit position contains a 1 at least twice, this one byte represents 0 and thus the end criterion sets.
Ein weiteres Beispiel ist mit den folgenden, zum Löschen markierten Daten (siehe Tab. 7) und den belegten, nicht markierten Daten gegeben (Tab. 8).Another example is the following, marked for deletion Data (see Tab. 7) and the occupied, unmarked data given (Table 8).
Die folgende Tabelle zeigt die Ergebnisse der logischen Verknüpfung:The following table shows the results of the logical link:
Die dualen Werte der Gleichungen (VII) und (VIII) haben keine übereinstimmende Bitposition mit 1, woraus sich ergibt, daß kein Endekriterium erfüllt ist. Der Vergleich der Gleichung (IX) mit Gleichung (VIII) jedoch zeigt wieder übereinstimmende Bitpositionen, woraus wiederum ein Endekriterium erfüllt ist. The dual values of equations (VII) and (VIII) have none matching bit position with 1, with the result that no End criterion is met. The comparison of equation (IX) with Equation (VIII), however, shows again matching Bit positions, from which in turn an end criterion is fulfilled.
Zusammenfassend ergeben die Daten aus der Tab. 1 nach dem Überschreiben:In summary, the data from Tab. 1 after the Overwrite:
Die, wie vorab erläutert, so überschriebenen nicht markierten Daten werden, nachdem der Block gelöscht wurde, vorzugsweise wieder rekonstruiert. Durch die Löschung entsteht neuer freier Speicherplatz und es kann erneut Sprache aufgezeichnet werden.The unmarked data overwritten as explained above are preferably after the block has been deleted reconstructed. The deletion creates new freer Memory space and language can be recorded again.
Claims (19)
- - Daten in Form von Dateien mit einem beliebigen Segment, beginnend segmentweise, abgespeichert werden und zum Löschen entsprechende Dateien segmentweise markiert werden,
- - ein aktueller Füllgrad des Flash-Speichers bestimmt wird (1), indem die Anzahl der belegten und zum Löschen markierten, der belegten, nicht markierten und der nicht belegten Segmente eines jeden Blocks bestimmt wird, und
- - nach dem Überschreiten einer Schwelle des Füllgrades, eine Speicheroptimierung (2) vorgenommen wird.
- - data in the form of files with an arbitrary segment, beginning segment by segment, are stored and files corresponding to the deletion are marked segment by segment,
- - A current filling level of the flash memory is determined ( 1 ) by the number of occupied and marked for deletion, the occupied, unmarked and unoccupied segments of each block is determined, and
- - After exceeding a threshold of the degree of filling, a memory optimization ( 2 ) is made.
indem ein Block ermittelt wird, in dem sich keine belegten und nicht markierten Segmente befinden, der dann, veranlaßt durch einen Steuerbefehl, gelöscht wird, oder
indem der Block ermittelt wird, in dem sich die kleinste Anzahl an belegten, nicht markierten Segmenten befindet, die dann, veranlaßt durch einen Steuerbefehl in nicht belegte Segmente anderer Blöcke kopiert werden, oder
indem der Block ermittelt wird, in dem sich die kleinste Anzahl an belegten, nicht markierten Segmenten befindet, welche dann, veranlaßt durch einen Steuerbefehl, in markierten Segmenten anderer Blöcke zwischengespeichert werden und dann nach dem Löschen des ermittelten Blocks wieder rekonstruiert werden, oder
indem ein weiterer Steuerbefehl eine Benutzerabfrage veranlaßt, bei der der Benutzer zu löschende Dateien markieren kann.11. Program module for operating a flash memory, which is divided into blocks, and whose blocks are divided into a plurality of segments, wherein a permissible degree of filling of the flash memory, which consisted of the number of unoccupied, occupied and for deletion marked segments and occupied, unmarked segments of each block is determined, and a memory optimization is then made by means of control commands in which is caused by a control command to move files occupied by files and occupied in the remaining by means of a control command, for deletion marked segments are deleted, or
by determining a block in which there are no occupied and unmarked segments, which is then cleared, caused by a control command, or
by determining the block in which there is the smallest number of occupied, unmarked segments, which are then copied, by a control command, into unoccupied segments of other blocks, or
by determining the block in which there is the smallest number of occupied, unmarked segments, which are then latched in marked segments of other blocks, prompted by a control command, and then reconstructed after clearing the determined block, or
by another control command causing a user query in which the user can mark files to be deleted.
- - nach dem Überschreiten einer Schwelle eines Füllgrades, der sich aus der Anzahl der belegten und zum Löschen markierten, der belegten, nicht markierten und der nicht belegten Segmente eines jeden Blocks bestimmt, der Block ermittelt wird, in dem sich die kleinste Anzahl an belegten, nicht markierten Segmenten befindet,
- - und die belegten, nicht markierten Segmente dieses Blocks mittels einer Verknüpfung auf zum Löschen markierte Segmente eines weiteren Blocks überschrieben werden,
- - und dann der zuvor ermittelte Block gelöscht werden kann.
- - after exceeding a threshold of a degree of filling determined by the number of occupied and marked for deletion, occupied, unmarked and unoccupied segments of each block, the block in which the smallest number occupied, unmarked segments,
- - and the occupied, unmarked segments of this block are overwritten by linking to segments marked for deletion of another block,
- - and then the previously determined block can be deleted.
indem ein Block ermittelt wird, in dem sich keine belegten und nicht markierten Segmente befinden, der dann, veranlaßt durch einen Steuerbefehl, gelöscht wird, oder
indem der Block ermittelt wird, in dem sich die kleinste Anzahl an belegten, nicht markierten Segmenten befindet, die dann, veranlaßt durch einen Steuerbefehl, in nicht belegte Segmente anderer Blöcke kopiert werden, oder
indem der Block ermittelt wird, in dem sich die kleinste Anzahl an belegten, nicht markierten Segmenten befindet, welche dann, veranlaßt durch einen Steuerbefehl, in markierten Segmenten anderer Blöcke zwischengespeichert werden und dann nach dem Löschen des ermittelten Blocks wieder rekonstruiert werden, oder
indem der Block ermittelt wird, in dem sich die kleinste Anzahl an belegten, nicht markierten Segmenten befindet, welche dann in verknüpfter Form auf Daten in zum Löschen markierte Segmente eines weiteren Blocks überschrieben werden und/oder
indem ein weiterer Steuerbefehl eine Benutzerabfrage veranlaßt, bei der der Benutzer zu löschende Dateien markieren kann.19. Program module for operating a flash memory, which is divided into blocks, and whose blocks are divided into a plurality of segments, wherein a permissible degree of filling of the flash memory, which consisted of the number of unoccupied occupied and for deletion memory segments and occupied, unmarked segments of each block is determined, and a memory optimization is then made by means of control commands in which is caused by a control command to move files occupied by files and occupied in the remaining by means of a control command, for deletion marked segments are deleted, or
by determining a block in which there are no occupied and unmarked segments, which is then cleared, caused by a control command, or
by determining the block in which there is the smallest number of occupied, unmarked segments, which are then copied, caused by a control command, into unoccupied segments of other blocks, or
by determining the block in which there is the smallest number of occupied, unmarked segments, which are then latched in marked segments of other blocks, prompted by a control command, and then reconstructed after clearing the determined block, or
by determining the block in which there is the smallest number of occupied, unmarked segments which are then overwritten in a linked form to data in segments of another block marked for deletion and / or
by another control command causing a user query in which the user can mark files to be deleted.
Priority Applications (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE4442127A DE4442127A1 (en) | 1994-09-30 | 1994-11-26 | Method for memory management of a flash memory |
DE59500128T DE59500128D1 (en) | 1994-09-30 | 1995-01-13 | Memory management method for a flash memory |
EP95100416A EP0704803B1 (en) | 1994-09-30 | 1995-01-13 | Flash memory management method |
AT95100416T ATE149709T1 (en) | 1994-09-30 | 1995-01-13 | METHOD FOR MEMORY MANAGEMENT OF A FLASH MEMORY |
ES95100416T ES2101584T3 (en) | 1994-09-30 | 1995-01-13 | METHOD OF MANAGING AN INSTANT MEMORY. |
US08/536,852 US5933845A (en) | 1994-09-30 | 1995-09-29 | Flash memory management method including shifting or copying data to other blocks to optimize storage space and allow entire blocks to be erased |
JP25542395A JPH08235880A (en) | 1994-09-30 | 1995-10-02 | Memory management method of flash memory |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE4435042 | 1994-09-30 | ||
DE4442127A DE4442127A1 (en) | 1994-09-30 | 1994-11-26 | Method for memory management of a flash memory |
Publications (1)
Publication Number | Publication Date |
---|---|
DE4442127A1 true DE4442127A1 (en) | 1996-04-04 |
Family
ID=6529658
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE4442127A Withdrawn DE4442127A1 (en) | 1994-09-30 | 1994-11-26 | Method for memory management of a flash memory |
DE59500128T Expired - Fee Related DE59500128D1 (en) | 1994-09-30 | 1995-01-13 | Memory management method for a flash memory |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE59500128T Expired - Fee Related DE59500128D1 (en) | 1994-09-30 | 1995-01-13 | Memory management method for a flash memory |
Country Status (1)
Country | Link |
---|---|
DE (2) | DE4442127A1 (en) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3202495A1 (en) * | 1982-01-27 | 1983-08-04 | Licentia Patent-Verwaltungs-Gmbh, 6000 Frankfurt | Process and device for monitoring a critical number of erase and/or write cycles of an electrically erasable, programmable read-only memory |
DE3517087A1 (en) * | 1985-05-11 | 1986-11-13 | Neumann Elektronik GmbH, 4330 Mülheim | Method of increasing the maximum number of possible programming/erasing cycles on an electrically erasable programmable read-only memory (EEPROM) and device for carrying out the method |
EP0542156A2 (en) * | 1991-11-15 | 1993-05-19 | ALCATEL ITALIA S.p.A. | Method of updating data stored in storage locations of a storage unit, in particular of a flash EPROM |
EP0548681A2 (en) * | 1991-12-20 | 1993-06-30 | Sharp Kabushiki Kaisha | Recording and reproducing apparatus provided with a batch erasable nonvolatile semiconductor memory device for batch erasing of specific data group(s) |
DE4312928A1 (en) * | 1992-04-21 | 1993-10-28 | Vaillant Joh Gmbh & Co | Optimum utilisation system for EEPROM in machine operation register - divides memory into management block having address counter and information blocks having write cycle counter holding cyclically updated time information. |
US5305276A (en) * | 1991-09-11 | 1994-04-19 | Rohm Co., Ltd. | Non-volatile IC memory |
US5341332A (en) * | 1992-05-12 | 1994-08-23 | Mitsubishi Denki Kabushiki Kaisha | Semiconductor memory device capable of flash writing and method of flash writing |
-
1994
- 1994-11-26 DE DE4442127A patent/DE4442127A1/en not_active Withdrawn
-
1995
- 1995-01-13 DE DE59500128T patent/DE59500128D1/en not_active Expired - Fee Related
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3202495A1 (en) * | 1982-01-27 | 1983-08-04 | Licentia Patent-Verwaltungs-Gmbh, 6000 Frankfurt | Process and device for monitoring a critical number of erase and/or write cycles of an electrically erasable, programmable read-only memory |
DE3517087A1 (en) * | 1985-05-11 | 1986-11-13 | Neumann Elektronik GmbH, 4330 Mülheim | Method of increasing the maximum number of possible programming/erasing cycles on an electrically erasable programmable read-only memory (EEPROM) and device for carrying out the method |
US5305276A (en) * | 1991-09-11 | 1994-04-19 | Rohm Co., Ltd. | Non-volatile IC memory |
EP0542156A2 (en) * | 1991-11-15 | 1993-05-19 | ALCATEL ITALIA S.p.A. | Method of updating data stored in storage locations of a storage unit, in particular of a flash EPROM |
EP0548681A2 (en) * | 1991-12-20 | 1993-06-30 | Sharp Kabushiki Kaisha | Recording and reproducing apparatus provided with a batch erasable nonvolatile semiconductor memory device for batch erasing of specific data group(s) |
DE4312928A1 (en) * | 1992-04-21 | 1993-10-28 | Vaillant Joh Gmbh & Co | Optimum utilisation system for EEPROM in machine operation register - divides memory into management block having address counter and information blocks having write cycle counter holding cyclically updated time information. |
US5341332A (en) * | 1992-05-12 | 1994-08-23 | Mitsubishi Denki Kabushiki Kaisha | Semiconductor memory device capable of flash writing and method of flash writing |
Non-Patent Citations (2)
Title |
---|
5-189000 A., P-1642,Nov. 17,1993,Vol.17,No.614 * |
JP Patents Abstracts of Japan: 5-282889 A., P-1688,Febr. 7,1994,Vol.18,No. 74 * |
Also Published As
Publication number | Publication date |
---|---|
DE59500128D1 (en) | 1997-04-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0704803B1 (en) | Flash memory management method | |
EP0703534B1 (en) | Computer memory management system | |
DE2521436C3 (en) | Information retrieval arrangement | |
EP0857345A1 (en) | Process and circuit arrangement for storing dictations in a digital dictating machine | |
DE2551239C3 (en) | Data processing system | |
DE3390315T1 (en) | Adaptable division of a cache space into domains | |
DE2647574C2 (en) | Device for processing data field segments of variable length, delimited by a start and end character, in a circular memory | |
DE602004008240T2 (en) | Method for managing defective memory blocks in a non-volatile memory and non-volatile memory for carrying out the method | |
DE3804261C2 (en) | ||
DE2801982A1 (en) | PROCEDURE FOR EXCHANGE OF INFORMATION BETWEEN AN EXTERNAL MEMORY AND A WORKING MEMORY IN A TEXT PROCESSING SYSTEM | |
DE10192507B4 (en) | Method and apparatus for the prediction of erase and write times of flash memories | |
DE4442127A1 (en) | Method for memory management of a flash memory | |
EP1332501B1 (en) | Memory management logic for expanding the utilization of read-only memories | |
DE2262059A1 (en) | DICTATION DEVICE | |
EP1559111B1 (en) | Method for operating a memory arrangement | |
DE1774212B2 (en) | EN 20417 08/12/67 "37132 BEZ: DATA PROCESSING SYSTEM | |
EP1625592A1 (en) | Device and method for treating a state of a memory | |
DE3541114C2 (en) | ||
DE10128752A1 (en) | Storage of data in computer memory, especially EEPROM or flash memory by writing data to memory in pages, whereby each page contains a value and a reference to the next page in the chain | |
DE19738712C2 (en) | Non-volatile memory with memory cells combined into subblocks | |
DE10144077A1 (en) | binary counter | |
DE10064649A1 (en) | Interface for a memory and method for variably configuring a memory device | |
DE2351523C3 (en) | Capacitive storage device for binary coded data | |
DE102005011477A1 (en) | Instruction set producing method for automatic updating of vehicle`s data memory, involves arranging negative block of instructions in source contents in reference direction, and positive block of instructions in opposition to direction | |
DE2302379B2 (en) | CIRCUIT ARRANGEMENT FOR PERFORMING SEQUENTIAL INPUT / OUTPUT OPERATIONS IN A DATA PROCESSING SYSTEM WORKING WITH VIRTUAL ADDRESSING |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OM8 | Search report available as to paragraph 43 lit. 1 sentence 1 patent law | ||
8139 | Disposal/non-payment of the annual fee |