DE102005013896B4 - Method for data management and data access system for storing all management data in a management bank of a non-volatile memory - Google Patents

Method for data management and data access system for storing all management data in a management bank of a non-volatile memory Download PDF

Info

Publication number
DE102005013896B4
DE102005013896B4 DE200510013896 DE102005013896A DE102005013896B4 DE 102005013896 B4 DE102005013896 B4 DE 102005013896B4 DE 200510013896 DE200510013896 DE 200510013896 DE 102005013896 A DE102005013896 A DE 102005013896A DE 102005013896 B4 DE102005013896 B4 DE 102005013896B4
Authority
DE
Germany
Prior art keywords
bank
data
attribute field
value
stored
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE200510013896
Other languages
German (de)
Other versions
DE102005013896A1 (en
Inventor
Hung-Shiun Fu
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.)
MediaTek Inc
Original Assignee
MediaTek Inc
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
Priority claimed from TW093135492A external-priority patent/TWI254947B/en
Application filed by MediaTek Inc filed Critical MediaTek Inc
Publication of DE102005013896A1 publication Critical patent/DE102005013896A1/en
Application granted granted Critical
Publication of DE102005013896B4 publication Critical patent/DE102005013896B4/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory

Abstract

Ein Verfahren zum Verwalten von Daten zum Speichern von Daten in einer Bank eines nicht-flüchtigen Speichers (12), umfassend: a) Teilen des nicht-flüchtigen Speichers (12) in eine Mehrzahl von Bänken (14a, 14b, 14c, 14d, 14e, 14f), wobei jede der Bänke (14a, 14b, 14c, 14d, 14e, 14f) ein Attributfeld (16a, 16b, 16c, 16d, 16e, 16f) umfasst; und b) wenn ein Attributfeld (16a, 16b, 16c, 16d, 16e, 16f) einer ersten Bank einen ersten Wert speichert und die erste Bank voll ist, Ausführen der folgenden Schritte: b1) Finden einer zweiten Bank mit einem einen zweiten Wert speichernden Attributfeld; b2) Kopieren von in der ersten Bank gespeicherten gültigen Daten in die zweite Bank; b3) Zuweisen des ersten Werts zu dem Attributfeld der zweiten Bank; und b4) Löschen aller ursprünglich in der ersten Bank gespeicherten Daten, wobei der erste Wert anzeigt, dass die Bank für Verwaltungsdaten vorgesehen sind, und der zweite Werte anzeigt, dass die Bank eine leere Bank ist, und wobei die zweite Bank die Bank mit dem kleinsten Lösch-Zyklus der Bänke ist, deren Attributfelder die zweiten Werte speichern.A method for managing data for storing data in a bank of non-volatile memory (12), comprising: a) dividing the non-volatile memory (12) into a plurality of banks (14a, 14b, 14c, 14d, 14e , 14f), each of the banks (14a, 14b, 14c, 14d, 14e, 14f) comprising an attribute field (16a, 16b, 16c, 16d, 16e, 16f); and b) if an attribute field (16a, 16b, 16c, 16d, 16e, 16f) of a first bank stores a first value and the first bank is full, performing the following steps: b1) finding a second bank having a value storing a second value attribute field; b2) copying valid data stored in the first bank to the second bank; b3) assigning the first value to the attribute field of the second bank; and b4) deleting all data originally stored in the first bank, the first value indicating that the bank is for administrative data, and the second value indicating that the bank is an empty bank, and the second bank containing the bank The smallest deletion cycle of the banks is whose attribute fields store the second values.

Description

Diese Erfindung bezieht sich auf ein Verfahren zur Verwaltung von Daten nach dem Patentanspruch 1 und ein Datenzugriffssystem nach dem Patentanspruch 6.This invention relates to a method of managing data according to claim 1 and a data access system according to claim 6.

Mit der Entwicklung von elektronischen Vorrichtungen ist die Anzahl der elektronischen Vorrichtungen, die nicht-flüchtige Speicher verwenden, um digitale Information zu speichern, höher als je zuvor. Z. B. kann ein Flash-Speicher in einer digitalen Kamera oder in einem Mobiltelefon verwendet werden, um Benutzerdaten zu speichern. Allgemein besteht ein Flash-Speicher aus einer Mehrzahl von Lösch-Einheiten und weist aufgrund des Aufbaus und der Materialien des Flash-Speichers einige Begrenzungen auf. Wenn in einer Adresse des Flash-Speichers z. B. Daten bestehen, ist es z. B. unmöglich, neue Daten in diese Adresse einzuschreiben, bevor die an dieser Adresse bestehenden Daten gelöscht sind. Typischerweise besteht eine Lösch-Einheit aus einem oder mehreren aufeinander folgenden Lösch-Blöcken. Ein Lösch-Block ist der kleinste zusammenhängende Bereich, der mit einem einzigen Lösch-Vorgang gelöscht werden kann. Bei einem Flash-Speicher werden Daten in einer bestimmten Richtung in eine Lösch-Einheit eingeschrieben, nämlich von dem Anfang bis zum Ende der Lösch-Einheit, bis die Lösch-Einheit voll ist. Anschließend wird eine andere Lösch-Einheit mit freiem Platz zur Verwendung zum Speichern von Daten ausgewählt. Ist eine Lösch-Einheit mit Daten gefüllt und sollen neue Daten in die volle Lösch-Einheit eingespeichert werden, so können die neuen Daten nur in die Lösch-Einheit eingespeichert werden, nachdem die ursprünglich in der Lösch-Einheit gespeicherten Daten gelöscht sind.With the development of electronic devices, the number of electronic devices that use non-volatile memory to store digital information is higher than ever. For example, a flash memory may be used in a digital camera or in a mobile phone to store user data. Generally, a flash memory consists of a plurality of erase units and has some limitations due to the structure and materials of the flash memory. If in an address of the flash memory z. B. data exist, it is z. For example, it is impossible to write new data to this address before the data at that address is deleted. Typically, an erase unit consists of one or more consecutive erase blocks. An erase block is the smallest contiguous area that can be erased with a single erase operation. In a flash memory, data is written in a certain direction in an erase unit, namely, from the beginning to the end of the erase unit until the erase unit is full. Subsequently, another free space clearing unit is selected for use in storing data. If an erase unit is filled with data and new data is to be stored in the full erase unit, the new data can only be stored in the erase unit after the data originally stored in the erase unit is erased.

Die US 5,473,569 offenbart ein Verfahren zum Betreiben eines Flash-Speichers mit einer Mehrzahl von Speicherblöcken. In einem ersten Verfahren erden Daten in einen Speicherblock geschrieben, der einen verbleibenden Speicherplatz geringer als einen vorbestimmten Schwellenwert aufweist. Jegliche verbleibende Daten werden in einen Speicherblock geschrieben, der den größten verbleibenden Speicherplatz zur Verfügung stellt. In einem zweiten Verfahren werden Daten in einen Speicherblock geschrieben, der den geringsten verbleibenden Speicherplatz aufweist, wenn ein Mittelwert des in jedem Block verwendeten Speicherplatzes unterhalb dem bestimmten Schwellenwert liegt. Jegliche verbleibende Daten werden ebenfalls in einen Speicherblock geschrieben, der den größten verbleibenden Speicherplatz aufweist. Ein Löschen eines Blocks wird durchgeführt, indem zunächst jegliche zu sichernde Daten in einen Kopierblock des Flash-Speichers kopiert werden. Jeder Speicherblock hat einen Identifizierungs-Code. Ein Identifizierungs-Code des Kopierblocks wird in einen Identifizierungs-Code des Speicherblocks geändert. Ein Löschen des Blocks wird anschließend durchgeführt und der Identifizierungs-Code des gelöschten Speicherblocks wird in den Identifizierungs-Code des Kopierblocks geändert.The US 5,473,569 discloses a method of operating a flash memory having a plurality of memory blocks. In a first method, data is written to a memory block having a remaining memory space less than a predetermined threshold. Any remaining data is written to a memory block that provides the largest remaining memory space. In a second method, data is written to a memory block having the least remaining memory space when an average of the memory used in each block is below the determined threshold. Any remaining data is also written to a memory block that has the largest remaining memory space. Deletion of a block is performed by first copying any data to be backed up into a copy block of the flash memory. Each memory block has an identification code. An identification code of the copy block is changed to an identification code of the memory block. A deletion of the block is then performed and the identification code of the erased memory block is changed to the identification code of the copy block.

Die US 5 473 765 offenbart ein weitere Verfahren zur Organisation eines Flash-Speichers. Eine Grenze der Flash-Speicher-Technologie ist es, dass die Anzahl, wie oft eine Lösch-Einheit gelöscht werden kann, durch den Aufbau des Flash-Speichers inherent begrenzt ist. Es werden Software oder logische Module benötigt, um eine Egalisierung der Abnutzung des Flash-Speichers auszuführen. Demzufolge können Benutzerdaten in dem Flash-Speicher verteilt werden, um den Lösch-Zyklus (Abnutzungsgrad) jeder Lösch-Einheit so gleichmäßig wie möglich zu gestalten, wodurch die Lebensdauer des Flash-Speichers verlängert werden kann. Sollen in dem Flash-Speicher nicht nur allgemeine Daten (Benutzerdaten) gespeichert werden, sondern auch die Verwaltungsdaten, wie z. B. eine Benutzerdaten-Dateistruktur zur Verwaltung der Benutzerdaten, so bestehen jedoch zwei Möglichkeiten. Eine Möglichkeit ist es, identische Vorgänge zum Speichern der allgemeinen Daten oder der Verwaltungsdaten in den Flash-Speicher auszuführen. Jedoch würden die Verwaltungsdaten auf diese Weise über den Flash-Speicher verteilt sein, wodurch das Lesen der Verwaltungsdaten schwieriger wird. Weiter ist es beim Hochfahren eines Computers nötig, Zeit mit dem Finden der in dem Flash-Speicher verteilten Verwaltungsdaten und den allgemeinen Daten zu verbringen. Die andere Möglichkeit ist es, die Verwaltungsdaten zu sammeln und in einem bestimmten Bereich des Flash-Speichers zu speichern. Auf diese Art sind die Verwaltungsdaten nicht mit Benutzerdaten vermischt, so dass es leicht und günstig ist, die Verwaltungsdaten zu verwalten, und die Verwaltungsdaten können bei dem Hochfahren des Systems schnell gefunden werden. Die Frequenz der Aktualisierung der Verwaltungsdaten ist jedoch üblicherweise größer, als die Frequenz der Aktualisierung von Benutzerdaten, so dass der Lösch-Zyklus des Bereichs des Flash-Speichers, in dem die Verwaltungsdaten gespeichert sind, viel größer wäre, als die Lösch-Zyklen der anderen Bereiche, in denen eine Egalisierung der Abnutzung ausgeführt wird und in denen allgemeine Daten gespeichert werden. Demzufolge führt das Speichern von Verwaltungsdaten in einem bestimmten Bereich des Flash-Speichers aufgrund des Bedürfnisses der häufigen Aktualisierung der Verwaltungsdaten zu einer Verkürzung des Lebenszyklus des Flash-Speichers.The US 5,473,765 discloses another method of organizing a flash memory. One limitation of flash memory technology is that the number of times an erase unit can be erased is inherently limited by the structure of the flash memory. Software or logic modules are needed to level the wear of the flash memory. As a result, user data can be distributed in the flash memory to make the erase cycle (erosion level) of each erase unit as uniform as possible, whereby the life of the flash memory can be extended. Should be stored in the flash memory not only general data (user data), but also the administrative data, such. B. a user data file structure for managing the user data, but there are two options. One possibility is to perform identical operations for storing the general data or the management data in the flash memory. However, the management data would be distributed over the flash memory in this way, making the reading of the management data more difficult. Further, when booting up a computer, it is necessary to spend time finding the management data distributed in the flash memory and the general data. The other option is to collect the administrative data and store it in a specific area of the flash memory. In this way, the management data is not mixed with user data, so that it is easy and cheap to manage the management data, and the management data can be found quickly at system startup. However, the frequency of updating the management data is usually larger than the frequency of update of user data, so that the erase cycle of the area of the flash memory in which the management data is stored would be much larger than the erase cycles of the others Areas where wear equalization is performed and where general data is stored. As a result, the storage of management data in a particular area of the flash memory, due to the need for frequent updating of the management data, results in a shortening of the life cycle of the flash memory.

Dieses berücksichtigend, zielt die Erfindung darauf ab, ein Verfahren zur Verwaltung von Daten und ein Datenzugriffssystem zum Speichern der gesamten Verwaltungsdaten in einer Verwaltungsbank eines nicht-flüchtigen Speichers anzugeben, wodurch die Verwaltungsdaten geeignet verwaltet und aktualisiert werden können, und auf diese Art die Komplexität des Aktualisierens und Suchens von Verwaltungsdaten vermindert werden kann. Weiter wird das Bedürfnis der Egalisierung der Abnutzung des Flash-Speichers erfüllt, um den Lebenszyklus des nicht-flüchtigen Speichers zu verlängern.With this in mind, the invention aims to provide a method of managing data and a data access system for storing all the management data in a non-volatile memory management bank. whereby the management data can be appropriately managed and updated, thus reducing the complexity of updating and searching management data. Further, the need to equalize the wear of the flash memory is met to extend the life cycle of the non-volatile memory.

Dies wird durch ein Verfahren zur Verwaltung von Daten nach Patentanspruch 1 und ein Datenzugriffssystem nach Patentanspruch 6 erreicht. Die abhängigen Patentansprüche beziehen sich auf korrespondierende Weiterentwicklungen und Verbesserungen.This is achieved by a method for managing data according to claim 1 and a data access system according to claim 6. The dependent claims relate to corresponding developments and improvements.

Wie aus der nachfolgenden ausführlichen Beschreibung klarer erkannt werden kann, ist das beanspruchte Verfahren zur Verwaltung von Daten zum Speichern von Verwaltungsdaten in einer Verwaltungsbank eines nicht-flüchtigen Speichers offenbart. Das Verfahren zum Verwalten von Daten umfasst: Teilen des nicht-flüchtigen Speichers in eine Mehrzahl von Bänken, wobei jede der Bänke ein Attributfeld umfasst; und wobei das Verfahren zur Verwaltung von Daten mit den folgenden Schritten fortführt, wenn ein Attributfeld einer ersten Bank einen ersten Wert speichert und die erste Bank voll ist: Finden einer zweiten Bank mit einem einen zweiten Wert speichernden Attributfeld; Kopieren von in der ersten Bank gespeicherten gültigen Daten in die zweite Bank; Zuweisen des ersten Werts zu dem Attributfeld der zweiten Bank; und Löschen aller ursprünglich in der ersten Bank gespeicherten Daten.As can be more clearly appreciated from the detailed description that follows, the claimed method of managing data for storing administrative data in a management bank of a nonvolatile memory is disclosed. The method for managing data comprises: dividing the non-volatile memory into a plurality of banks, each of the banks including an attribute field; and wherein the method of managing data continues with the following steps when an attribute field of a first bank stores a first value and the first bank is full: finding a second bank having an attribute field storing a second value; Copying valid data stored in the first bank to the second bank; Assigning the first value to the attribute field of the second bank; and deleting all data originally stored in the first bank.

Zusätzlich, wie aus der nachfolgenden Beschreibung klarer erkannt werden kann, umfasst das beanspruchte Datenzugriffssystem: einen nicht-flüchtigen Speicher mit einer Mehrzahl von Bänken, wobei jede der Bänke ein Attributfeld umfasst; ein Datenzugriffsmodul, das elektrisch mit dem nicht-flüchtigen Speicher verbunden ist, um Daten in eine Bank des nicht-flüchtigen Speichers einzuschreiben; ein Datenlöschmodul, das elektrisch mit dem nicht-flüchtigen Speicher verbunden ist, um in einer Bank des nicht-flüchtigen Speichers gespeicherte Daten zu löschen; und ein Steuermodul, das elektrisch mit dem Datenzugriffsmodul, dem Datenlöschmodul und dem nicht-flüchtigen Speicher verbunden ist, um ein Attributfeld und verbleibenden Platz einer ersten Bank zu überprüfen; wobei das Steuermodul, wenn das Attributfeld der ersten Bank den ersten Wert speichert und die erste Bank voll ist, eine zweite Bank mit einem einen zweiten Wert speichernden Attributfeld findet, das Datenzugriffsmodul steuert, in der ersten Bank gespeicherte gültige Daten in die zweite Bank zu speichern und dem Attributfeld der zweiten Bank den ersten Wert zuzuweisen, und das Datenlöschmodul steuert, alle ursprünglich in der ersten Bank gespeicherten Daten zu löschen.In addition, as may be more clearly understood from the following description, the claimed data access system comprises: a nonvolatile memory having a plurality of banks, each of the banks including an attribute field; a data access module electrically connected to the non-volatile memory to write data to a bank of the non-volatile memory; a data erase module electrically connected to the nonvolatile memory for erasing data stored in a bank of the nonvolatile memory; and a control module electrically coupled to the data access module, the data purge module, and the nonvolatile memory to check an attribute field and remaining space of a first bank; wherein, when the attribute field of the first bank stores the first value and the first bank is full, the control module finds a second bank having a second value storing attribute field, the data access module controls to store valid data stored in the first bank into the second bank and assign the first value to the attribute field of the second bank, and the data deletion module controls to delete all data originally stored in the first bank.

Im Folgenden wird die Erfindung beispielhaft unter Bezugnahme auf die beigefügten Zeichnungen weiter dargestellt. Es zeigen:In the following, the invention will be further illustrated by way of example with reference to the accompanying drawings. Show it:

1 ein funktionales Blockschaltbild eines Datenzugriffssystems nach dieser Erfindung; 1 a functional block diagram of a data access system according to this invention;

2 ein Diagramm einer in 1 gezeigten Bank; 2 a diagram of an in 1 shown bank;

3 ein Zustandsübergangsdiagramm der in 1 gezeigten Bänke; 3 a state transition diagram of in 1 shown benches;

4 ein Flussdiagramm, dass das Aktualisieren der Verwaltungsdaten durch das in 1 gezeigte Datenzugriffssystem beschreibt; und 4 a flowchart that the updating of the management data by the in 1 describes the data access system shown; and

59 Diagramme eines Ablaufs, der eine Egalisierung der Abnutzung des in 1 gezeigten Flash-Speichers beschreibt. 5 - 9 Diagrams of a procedure that equalize the wear of the in 1 Flash memory described describes.

Im Folgenden wird die 1 beschrieben. 1 zeigt ein funktionales Blockschaltbild eines Datenzugriffssystems 10 nach dieser Erfindung. Das Datenzugriffssystem 10 umfasst einen Flash-Speicher 12, ein Datenzugriffsmodul 18, ein Datenlöschmodul 20 und ein Steuermodul 22. Der Flash-Speicher 12 umfasst eine Mehrzahl von Bänken. Jede Bank umfasst ein Attributfeld. Ein Attributfeld einer Bank wird zur Identifikation des Attributs von in der Bank gespeicherten Daten verwendet. Jede Bank umfasst eine Mehrzahl von aufeinanderfolgenden Lösch-Blöcken des Flash-Speichers 12. Ein Lösch-Block ist der kleinste zusammenhängende Bereich in dem Flash-Speicher 12, der mit einem einzigen Lösch-Vorgang gelöscht werden kann. In dieser Ausführungsform hat jede Bank die gleiche Größe. Die Lösch-Einheit nach dieser Erfindung wird als eine Bank bezeichnet. Wie in 1 gezeigt, umfasst der Flash-Speicher 12 sechs Bänke, nämlich die Bänke 14a, 14b, 14c, 14d, 14e und 14f, die jeweils die Attributfelder 16a, 16b, 16c, 16d, 16e und 16f aufweisen. Zusätzlich sind die Attributfelder 16a, 16b, 16c, 16d, 16e und 16f jeweils an bestimmten Stellen der Bänke 14a, 14b, 14c, 14d, 14e und 14f angeordnet, z. B. jeweils am Anfang der Bänke 14a, 14b, 14c, 14d, 14e und 14f. Der Zweck der Verwendung der Attributfelder 16a, 16b, 16c, 16d, 16e und 16f wird nachfolgend beschrieben.The following is the 1 described. 1 shows a functional block diagram of a data access system 10 according to this invention. The data access system 10 includes a flash memory 12 , a data access module 18 , a data deletion module 20 and a control module 22 , The flash memory 12 includes a plurality of benches. Each bank includes an attribute field. An attribute field of a bank is used to identify the attribute of data stored in the bank. Each bank comprises a plurality of consecutive erase blocks of the flash memory 12 , An erase block is the smallest contiguous area in the flash memory 12 which can be deleted with a single delete operation. In this embodiment, each bank is the same size. The erase unit of this invention is referred to as a bank. As in 1 shown includes the flash memory 12 six benches, namely the benches 14a . 14b . 14c . 14d . 14e and 14f , each of the attribute fields 16a . 16b . 16c . 16d . 16e and 16f exhibit. In addition, the attribute fields 16a . 16b . 16c . 16d . 16e and 16f each at certain points of the banks 14a . 14b . 14c . 14d . 14e and 14f arranged, z. B. respectively at the beginning of the banks 14a . 14b . 14c . 14d . 14e and 14f , The purpose of using the attribute fields 16a . 16b . 16c . 16d . 16e and 16f is described below.

Das Datenzugriffsmodul 18 ist elektrisch mit dem Flash-Speicher 12 verbunden, um (nicht gezeigte) Daten in eine Bank des Flash-Speichers 12 zu schreiben. Das Datenlöschmodul 20 ist elektrisch mit dem Flash-Speicher 12 verbunden, um in einer Bank des Flash-Speichers 12 gespeicherte Daten zu löschen. Das Steuermodul 22 ist elektrisch mit dem Datenzugriffsmodul 18, dem Datenlöschmodul 20 und dem Flash-Speicher 12 verbunden, um das Datenzugriffsmodul 18 zu steuern, Daten in eine Bank des Flash-Speichers 12 zu schreiben oder dem Attributfeld einer Bank einen der Werte VE, VD oder VM zuzuweisen. Der Wert VE zeigt an, dass die Bank eine leere Bank ist, der Wert VD zeigt an, dass die Bank eine für allgemeine Daten vorgesehene Bank ist, und der Wert VM zeigt an, dass die Bank eine für Verwaltungsdaten vorgesehene Bank ist. In dieser Ausführungsform sind VE = 11, VD = 10, VM = 01. Zusätzlich kann das Steuermodul 22 das Datenlöschmodul 20 steuern, die gesamten in einer Bank des Flash-Speichers 12 gespeicherten Daten zu löschen, einschließlich des in dem Attributfeld der Bank gespeicherten Werts, was dazu führt, dass das Attributfeld der Bank den vorbestimmten Wert VE speichert, ohne eine zusätzliche besonders auf das Attributfeld der Bank ausgerichtete Wertzuweisung auszuführen. Der in dem Attributfeld gespeicherte Wert VE zeigt an, dass die Bank eine leere Bank ist. Die detaillierte Beschreibung des Datenzugriffssystems 10 wird nachfolgend gegeben.The data access engine 18 is electric with the flash memory 12 connected to data (not shown) in a bank of the flash memory 12 to write. The data deletion module 20 is electric with the flash memory 12 connected to in a bank of flash memory 12 delete stored data. The control module 22 is electrical with the data access module 18 , the data wipe module 20 and the flash memory 12 connected to the data access module 18 to steer data into a bank of Flash memory 12 or to assign one of the values V E , V D or V M to the attribute field of a bank. The value V E indicates that the bank is an empty bank, the value V D indicates that the bank is a general data bank, and the value V M indicates that the bank is a management data bank , In this embodiment, V E = 11, V D = 10, V M = 01. In addition, the control module 22 the data deletion module 20 control the whole in a bank of flash memory 12 stored data including the value stored in the attribute field of the bank, resulting in that the attribute field of the bank stores the predetermined value V E without performing any additional value allocation particularly directed to the attribute field of the bank. The value V E stored in the attribute field indicates that the bank is an empty bank. The detailed description of the data access system 10 is given below.

Wie zuvor angegeben, weist jede der Bänke 14a, 14b, 14c, 14d, 14e und 14f eine Mehrzahl von Lösch-Blöcken auf. Die Bank 14a wird als Beispiel herangezogen. Im Folgenden wird die 2 beschrieben. 2 zeigt ein Diagramm der in 1 gezeigten Bank 14a. Die Bank 14a umfasst als ein Beispiel fünf Lösch-Blöcke 17a, 17b, 17c, 17d und 17e des Flash-Speichers 12. Das Attributfeld 16a fällt in den Lösch-Block 17a. Obwohl in 2 fünf Lösch-Blöcke 17a, 17b, 17c, 17d und 17e gezeigt sind, ist festzustellen, dass die Anzahl der Lösch-Blöcke einer Bank nach dieser Erfindung nicht auf eine bestimmte Nummer begrenzt ist, und dass die Anzahl der Lösch-Blöcke entsprechend der Menge der Verwaltungsdaten eingestellt werden kann.As stated previously, each of the benches points 14a . 14b . 14c . 14d . 14e and 14f a plurality of erase blocks. The bench 14a is used as an example. The following is the 2 described. 2 shows a diagram of in 1 shown bank 14a , The bench 14a includes, as an example, five erase blocks 17a . 17b . 17c . 17d and 17e of the flash memory 12 , The attribute field 16a falls into the extinguishing block 17a , Although in 2 five delete blocks 17a . 17b . 17c . 17d and 17e 2, it should be noted that the number of erase blocks of a bank according to this invention is not limited to a specific number, and that the number of erase blocks may be set according to the amount of the management data.

Im Folgenden wird die 3 beschrieben. 3 ist ein Zustandsübergangsdiagramm der in 1 gezeigten Bänke 14a, 14b, 14c, 14d, 14e und 14f. Jede der Bänke 14a, 14b, 14c, 14d, 14e und 14f weist drei mögliche Zustände auf: sie kann eine leere Bank sein, sie kann eine für Verwaltungsdaten vorgesehene Bank sein oder sie kann eine für allgemeine Daten vorgesehene Bank sein. Ist eine Bank eine leere Bank, so bedeutet dies, dass nach dem Löschen aller Daten in der Bank weiter keine gültigen Daten in die Bank eingeschrieben wurden, was bedeutet, dass der Inhalt der leeren Bank dieselben logischen Werte aufweist, wie z. B. eine Mehrzahl logischer Werte ”1” (oder ”0”). Demzufolge zeichnet das Attributfeld der leeren Bank einen Wert VE = ”11” (oder VE = ”00”) auf, ohne dass eine zusätzliche Wertzuweisung erfolgen muss. Werden Verwaltungsdaten, wie z. B. die Lösch-Zyklen der Bänke 14a, 14b, 14c, 14d, 14e und 14f, in eine leere Bank eingeschrieben, so wird das Attributfeld der Bank von dem ursprünglichen Wert VE auf den neuen Wert VM geändert, um anzuzeigen, dass die Bank eine für Verwaltungsdaten vorgesehene Bank wird. Es ist festzustellen, dass die für Verwaltungsdaten vorgesehene Bank keine allgemeinen Daten (d. h. Benutzerdaten) speichert. Sollen allgemeine Daten in eine leere Bank eingeschrieben werden, so wird das Attributfeld der Bank von dem ursprünglichen Wert VE auf den neuen Wert VD geändert, um anzuzeigen, dass die Bank eine für allgemeine Daten vorgesehene Bank wird. Es ist festzustellen, dass ein für allgemeine Daten vorgesehene Bank keine Verwaltungsdaten speichert.The following is the 3 described. 3 is a state transition diagram of the in 1 shown benches 14a . 14b . 14c . 14d . 14e and 14f , Each of the benches 14a . 14b . 14c . 14d . 14e and 14f has three possible states: it may be an empty bank, it may be a bank intended for administrative data or it may be a general data bank. If a bank is an empty bank, this means that after deleting all the data in the bank further no valid data has been written into the bank, which means that the contents of the empty bank have the same logical values, such. For example, a plurality of logical values "1" (or "0"). As a result, the empty bank attribute field records a value V E = "11" (or V E = "00") without requiring additional value assignment. Are administrative data, such. B. the erase cycles of the banks 14a . 14b . 14c . 14d . 14e and 14f , written in an empty bank, the attribute field of the bank is changed from the original value V E to the new value V M to indicate that the bank becomes a management data bank. It should be noted that the bank intended for administrative data does not store general data (ie user data). If general data is to be written in an empty bank, the attribute field of the bank is changed from the original value V E to the new value V D to indicate that the bank becomes a general data bank. It should be noted that a bank intended for general data does not store administrative data.

Wenn jedoch eine Bank (eine für Verwaltungsdaten vorgesehene Bank oder eine für allgemeine Daten vorgesehen Bank) voll ist und neue Daten in die volle Bank gespeichert werden sollen, so ist es nötig, in der vollen Bank gespeicherte Daten zu löschen, bevor beliebige weitere Daten eingeschrieben werden können. D. h., in den Lösch-Blöcken der vollen Bank gespeicherte Daten müssen aufeinanderfolgend gelöscht werden, einschließlich der Daten im Attributfeld der Bank. Auf diese Weise wird die Bank eine leere Bank und das Attributfeld der Bank speichert den Wert VE = ”11”. Demzufolge kann das Datenzugriffssystem 10 die Bank als eine für Verwaltungsdaten vorgesehene Bank, eine leere Bank oder eine für allgemeine Daten vorgesehene Bank erkennen, indem das Attributfeld der Bank überprüft wird, wie es oben angegeben ist. Sind in der Bank gespeicherte Daten (allgemeine Daten oder Verwaltungsdaten) die neuesten Daten oder Daten, die später verwendet werden müssen, so werden die Daten zusätzlich als gültige Daten definiert; ansonsten werden die Daten als ungültige Daten definiert.However, if a bank (a bank intended for administrative data or a bank for general data) is full and new data is to be stored in the full bank, then it is necessary to erase data stored in the full bank before any further data is written can be. That is, data stored in the erase blocks of the full bank must be erased successively, including the data in the attribute field of the bank. In this way, the bank becomes an empty bank and the attribute field of the bank stores the value V E = "11". As a result, the data access system 10 recognize the bank as a bank intended for administrative data, an empty bank, or a general data bank by checking the attribute field of the bank as indicated above. If data stored in the bank (general data or administrative data) is the latest data or data to be used later, the data is additionally defined as valid data; otherwise the data will be defined as invalid data.

Im Folgenden wird davon ausgegangen, dass die derzeitige für Verwaltungsdaten vorgesehene Bank des Datenzugriffssystems 10 die Bank 14c ist. Die Bänke 14e und 14f sind leere Bänke und die Bänke 14a, 14b und 14d sind für allgemeine Daten vorgesehene Bänke. Da die Bank 14c die derzeitige für Verwaltungsdaten vorgesehene Bank ist, treibt das Steuermodul 22 das Datenzugriffsmodul 18 dem Attributfeld 16c der Bank 14c den Wert ”01” zuzuweisen, und es werden alle Verwaltungsdaten gesammelt und in der Bank 14c gespeichert. Demzufolge wird jeder Vorgang des Speicherns oder Aktualisierens von Verwaltungsdaten nur in der Bank 14c ausgeführt. Wird eine elektronische Vorrichtung, wie ein Computer oder ein Mobiltelefon, in der das Datenzugriffssystem 10 installiert ist, angeschaltet, so überprüft das Steuermodul 22 jeweils in den Attributfeldern 16a, 16b, 16c, 16d, 16e und 16f der Bänke 14a, 14b, 14c, 14d, 14e und 14f gespeicherte Werte, um die für Verwaltungsdaten vorgesehene Bank des Flash-Speichers 12 zu finden. Das Steuermodul 22 muss in den Attributfeldern 16a, 16b, 16c, 16d, 16e und 16f gespeicherte Werte einen nach dem anderen in maximal sechs Vorgängen überprüfen, wobei ”sechs” die Anzahl der Bänke in dem Flash-Speicher 12 ist. Dann kann das Steuermodul 22 die gesamten Verwaltungsdaten orten und erhalten. Im Vergleich mit dem Stand der Technik, entsprechend dem Verwaltungsdaten über einen Flash-Speicher verteilt sind, braucht das Datenzugriffssystem 10 nach dieser Erfindung nicht den gesamten Flash-Speicher 12 in Bezug auf die Verwaltungsdaten zu durchsuchen und kann demzufolge die Zeit zum Starten der elektronischen Vorrichtung beschleunigen.In the following, it is assumed that the current administrative data bank of the data access system 10 the bench 14c is. The banks 14e and 14f are empty benches and the benches 14a . 14b and 14d are banks intended for general data. Because the bank 14c the current administrative data bank is driving the control module 22 the data access engine 18 the attribute field 16c the bank 14c assign the value "01", and all administrative data is collected and stored in the bank 14c saved. As a result, any process of storing or updating management data becomes only in the bank 14c executed. Is an electronic device, such as a computer or a mobile phone, in the data access system 10 is installed, then the control module checks 22 each in the attribute fields 16a . 16b . 16c . 16d . 16e and 16f the benches 14a . 14b . 14c . 14d . 14e and 14f stored values to the bank of the flash memory intended for management data 12 to find. The control module 22 must in the attribute fields 16a . 16b . 16c . 16d . 16e and 16f one after the other, check stored values in a maximum of six operations, where "six" is the number of banks in the flash memory 12 is. Then the control module 22 locate and receive all administrative data. in the Compared with the prior art, according to which management data is distributed over a flash memory, the data access system needs 10 not the entire flash memory according to this invention 12 with respect to the management data, and thus can speed up the time for starting the electronic device.

Im Folgenden wird die 4 beschrieben. 4 zeigt ein Flussdiagramm, das beschreibt, wie das in 1 gezeigte Datenzugriffssystem 10 die Verwaltungsdaten aktualisiert. Der Vorgang des von dem Datenzugriffssystem 10 ausgeführten Aktualisierens der Verwaltungsdaten umfasst die folgenden Schritte:
Schritt 200: Start.
Schritt 202: Bestimmen, ob die für Verwaltungsdaten vorgesehene Bank BM voll ist. Wenn dies der Fall ist, fahre mit dem Schritt 204 fort; sonst, fahre mit dem Schritt 212 fort.
Schritt 204: Finden einer leeren Bank BE als eine neue für Verwaltungsdaten vorgesehene Bank.
Schritt 206: Kopieren aller in der Bank BM gespeicherten gültigen Daten in die Bank BE.
Schritt 208: Zuweisen des Werts VM zu dem Attributfeld der Bank BE, um die Bank BE als eine neue für Verwaltungsdaten vorgesehene Bank zu bestimmen.
Schritt 210: Löschen aller in der Bank BM gespeicherten Daten.
Schritt 212: Verwenden der derzeitigen für Verwaltungsdaten vorgesehenen Bank, um Verwaltungsdaten zu speichern oder zu aktualisieren.
Schritt 214: Ende.
The following is the 4 described. 4 shows a flowchart describing how the in 1 shown data access system 10 the administrative data is updated. The process of the data access system 10 Updating the administrative data involves the following steps:
step 200 : Begin.
step 202 : Determine if the bank B M intended for management data is full. If so, move to the step 204 continue; otherwise, drive with the step 212 continued.
step 204 : Find an empty bank B E as a new administrative data bank.
step 206 : Copy all valid data stored in Bank B M to Bank B E.
step 208 Assign the value V M to the attribute field of the bank B E to designate the bank B E as a new administrative data bank.
step 210 : Clear all data stored in Bank B M.
step 212 Use the current administrative data bank to save or update administrative data.
step 214 : The End.

Die folgende ausführliche Beschreibung sollte unter Bezugnahme auf die 1 gelesen werden. Unter der Annahme, dass die derzeitige für Verwaltungsdaten vorgesehene Bank des Datenzugriffssystems 10 die Bank 14c ist, wie zuvor angegeben, steuert das Steuermodul 22 das Datenzugriffsmodul 18, um Verwaltungsdaten zu aktualisieren, was bedeutet, dass aufeinanderfolgend neue Verwaltungsdaten in die Bank 14c eingeschrieben werden. Das Steuermodul 22 muss jedoch überprüfen, ob in der Bank 14c Platz ist, um neue Verwaltungsdaten zu speichern; d. h., bestimmen, ob die Bank 14c voll ist (Schritt 202). Ist der verbleibende Platz in der Bank 14c z. B. nicht groß genug, um neue Verwaltungsdaten zu speichern, oder ist der verbleibende Platz in der Bank 14c geringer, als ein Schwellenwert, so bestimmt das Steuermodul 22, dass die Bank 14c voll ist. Das zuvor angegebene Verfahren oder äquivalente Verfahren zum Bestimmen, ob eine Bank voll ist, werden alle von dieser Erfindung abgedeckt.The following detailed description should be made with reference to the 1 to be read. Assuming that the current administrative data bank of the data access system 10 the bench 14c is as previously stated controls the control module 22 the data access engine 18 to update administrative data, which means that successive new administrative data in the bank 14c be enrolled. The control module 22 However, check if in the bank 14c There is room to store new administrative data; ie, determine if the bank 14c is full (step 202 ). Is the remaining space in the bank 14c z. For example, it may not be big enough to store new administrative data or is the remaining space in the bank 14c less than a threshold, the control module determines 22 that the bank 14c is full. The aforementioned method or equivalent methods for determining whether a bank is full are all covered by this invention.

Ist in der Bank 14c genug Platz, um neue Verwaltungsdaten zu speichern, so steuert das Steuermodul 22 das Datenzugriffsmodul 18, die neuen Verwaltungsdaten in die derzeitige für Verwaltungsdaten vorgesehene Bank einzuschreiben, d. h., in die Bank 14c (Schritt 212). Ist die Bank 14c jedoch voll, so muss das Steuermodul 22 eine leere Bank als eine neue für Verwaltungsdaten vorgesehene Bank finden. Um dem Bedürfnis der Egalisierung der Abnutzung des Flash-Speichers 12 zu genügen, wählt das Steuermodul 22 weiter aus den leeren Bänken des Flash-Speichers 12 eine leere Bank mit einem kleinsten Lösch-Zyklus aus. In dieser Ausführungsform wird z. B. die leere Bank 14e als die neue für Verwaltungsdaten vorgesehene Bank ausgewählt (Schritt 204). Jetzt ist die Bank 14c (die alte für Verwaltungsdaten vorgesehene Bank) voll und die in der Bank 14c gespeicherten Verwaltungsdaten umfassen sowohl gültige als auch ungültige Daten, wie die neuesten Verwaltungsdaten, die als gültige Daten angesehen werden und behalten werden müssen. Demzufolge steuert das Steuermodul 22 das Datenzugriffsmodul 18, alle in der Bank 14c gespeicherten gültigen Daten in die Bank 14e (die neue für Verwaltungsdaten vorgesehene Bank) zu kopieren (Schritt 206). Nachfolgend treibt das Steuermodul 22 das Datenzugriffsmodul 18, dem Attributfeld 16e der Bank 14e den Wert VM zuzuweisen, um die Bank 14e als die derzeitige für Verwaltungsdaten vorgesehene Bank zu markieren (Schritt 208). Danach steuert das Steuermodul 22 das Datenlöschmodul 20, alle in der Bank 14c gespeicherte Daten zu löschen, einschließlich ungültiger Daten und des in dem Attributfeld 16c gespeicherten Werts. In anderen Worten wird die Bank 14c eine leere Bank und jetzt ist der Wert des Attributfelds 16c der Bank 14c der Wert VE (Schritt 210). Anschließend steuert das Steuermodul 22 das Datenzugriffsmodul 18, neue Verwaltungsdaten in die derzeitige für Verwaltungsdaten vorgesehene Bank einzuschreiben, d. h., die Bank 14e (Schritt 212), um den Vorgang des Aktualisierens von Verwaltungsdaten abzuschließen (Schritt 214).Is in the bank 14c enough space to store new administrative data, so controls the control module 22 the data access engine 18 to register the new administrative data in the current administrative data bank, that is, in the bank 14c (Step 212 ). Is the bank 14c however full, so does the control module 22 find an empty bank as a new administrative data bank. To the need of leveling the wear of the flash memory 12 suffice, selects the control module 22 Continue from the empty banks of the flash memory 12 an empty bank with a smallest erase cycle. In this embodiment, for. For example, the empty bank 14e is selected as the new administrative data bank (step 204 ). Now the bank is 14c (the old bank intended for administrative data) and those in the bank 14c Stored administrative data includes both valid and invalid data, such as the most recent management data that is considered valid data and must be retained. As a result, the control module controls 22 the data access engine 18 , everyone in the bank 14c stored valid data in the bank 14e (the new administrative data bank) (step 206 ). Subsequently, the control module drives 22 the data access engine 18 , the attribute field 16e the bank 14e assign the value V M to the bank 14e as the current administrative data bank (step 208 ). Thereafter, the control module controls 22 the data deletion module 20 , everyone in the bank 14c to delete stored data, including invalid data and that in the attribute field 16c stored value. In other words, the bank 14c an empty bank and now the value of the attribute field 16c the bank 14c the value V E (step 210 ). Subsequently, the control module controls 22 the data access engine 18 to register new administrative data in the current administrative data bank, ie the bank 14e (Step 212 ) to complete the process of updating administrative data (step 214 ).

Wenn wenigstens eine leere Bank in dem Datenzugriffssystem 10 vorhanden ist, werden auf diese Weise Verwaltungsdaten durch das Ändern der für Verwaltungsdaten vorgesehenen Bank, wenn dies nötig ist, erfolgreich aktualisiert und gespeichert. Weiter kann das Datenzugriffssystem 10 entsprechend der in den Attributfeldern der Bänke gespeicherten Werte bestimmen, welche Bank die derzeitige für Verwaltungsdaten vorgesehene Bank ist. Das Datenzugriffssystem 10 und das Verfahren zur Verwaltung von Daten nach dieser Erfindung vermindern die Komplexität des Aktualisierens und Suchens von Verwaltungsdaten. Bei einem Schreiben von Verwaltungsdaten in eine für Verwaltungsdaten vorgesehene Bank wählt das Steuermodul 22 zusätzlich, wie zuvor angegeben, eine leere Bank mit einem kleinsten Lösch-Zyklus aus den leeren Bänken des Flash-Speichers 12, um das Bedürfnis der Egalisierung der Abnutzung des Flash-Speichers 12 zu erfüllen. Im Vergleich mit dem Stand der Technik werden nach dieser Erfindung die Verwaltungsdaten nicht in einer bestimmten dafür vorgesehenen Bank gespeichert, weswegen die Erfindung nicht dazu führt, dass sich der Lösch-Zyklus einer bestimmten Bank schnell auf eine maximale Grenzzahl akkumuliert. D. h., jede Bank des Flash-Speichers 12 kann verwendet werden, um Daten geeignet für eine lange Zeit zu speichern, und Verwaltungsdaten können geeignet und kontinuierlich gespeichert und gelesen werden. Demzufolge wird der Lebenszyklus des Flash-Speichers 12 verlängert.If at least one empty bank in the data access system 10 In this way, management data is successfully updated and stored by changing the bank for administrative data if necessary. Next, the data access system 10 according to the values stored in the attribute fields of the banks, determine which bank is the current administrative data bank. The data access system 10 and the method of managing data in accordance with this invention reduces the complexity of updating and searching management data. When writing management data into a management data bank, the control module selects 22 in addition, as previously indicated, an empty bank with a smallest erase cycle from the empty banks of the flash memory 12 to the need of equalizing the wear of the flash memory 12 to fulfill. In comparison with the prior art, according to this invention, the management data is not stored in a dedicated bank Therefore, the invention does not cause the erase cycle of a particular bank to quickly accumulate to a maximum limit number. That is, any bank of flash memory 12 can be used to store data properly for a long time, and management data can be suitably and continuously stored and read. As a result, the life cycle of the flash memory becomes 12 extended.

Im Folgenden werden die 5 bis 9 beschrieben. Die 5 bis 9 zeigen Diagramme eines Ablaufs, der eine Egalisierung der Abnutzung des in 1 gezeigten Flash-Speichers 12 beschreibt. Beim Schreiben von Verwaltungsdaten oder von allgemeinen Daten wird eine Abnutzungs-Egalisierung des Flash-Speichers 12 ausgeführt, um den Lebenszyklus des Flash-Speichers 12 zu verlängern. Ist die für Verwaltungsdaten vorgesehene Bank 14c mit Verwaltungsdaten gefüllt und können keine neue Verwaltungsdaten darin eingespeichert werden, so vergleicht das Steuermodul 22 die Lösch-Zyklen der leeren Bänke, um eine leere Bank mit einem minimalen Lösch-Zyklus auszuwählen, wie z. B. die in 5 gezeigte Bank 14e. Die Bank 14e wird als eine neue für Verwaltungsdaten vorgesehene Bank in dem Flash-Speicher 12 bestimmt. Nachfolgend steuert das Steuermodul 22 das Datenzugriffsmodul 18, alle in der Bank 14c (der alten für Verwaltungsdaten vorgesehenen Bank) gespeicherten gültigen Daten in die Bank 14e (der neuen für Verwaltungsdaten vorgesehenen Bank) zu kopieren, und steuert danach das Datenlöschmodul 18, alle in der Bank 14c gespeicherten Daten zu löschen, so dass die Bank 14c eine leere Bank wird. Das Ergebnis ist in 6 gezeigt. Danach können die Verwaltungsdaten in die Bank 14e geschrieben werden, bis die Bank 14e voll ist.The following are the 5 to 9 described. The 5 to 9 show diagrams of a process that equalizes the wear of the in 1 shown flash memory 12 describes. When writing management data or general data becomes a wear leveling of the flash memory 12 executed to the life cycle of the flash memory 12 to extend. Is the bank intended for administrative data 14c filled with administrative data and no new administration data can be stored in it, the control module compares 22 the clearing cycles of the empty banks to select an empty bank with a minimum erase cycle such. B. the in 5 shown bank 14e , The bench 14e is designated as a new administrative data bank in the flash memory 12 certainly. Subsequently, the control module controls 22 the data access engine 18 , everyone in the bank 14c (the old administrative data bank) stored valid data in the bank 14e (the new administrative data bank) and then controls the data wipe module 18 , everyone in the bank 14c delete stored data, so that the bank 14c becomes an empty bank. The result is in 6 shown. After that, the administrative data in the bank 14e be written until the bank 14e is full.

Bei dem Aktualisieren der allgemeinen Daten werden die Verwaltungsdaten üblicherweise damit im Zusammenhang aktualisiert, und der ausführliche Vorgang des Aktualisierens oder Schreibens von Verwaltungsdaten ist in der obigen Beschreibung beschrieben. Zum Aktualisieren oder Einschreiben von allgemeinen Daten in eine für allgemeine Daten vorgesehene Bank wird nachdem die für allgemeine Daten vorgesehene Bank voll ist, wenn mehr als eine leere Bank in dem Flash-Speicher 12 vorhanden ist, eine der leeren Bänke als eine nächste für allgemeine Daten vorgesehene Bank zum Speichern von allgemeinen Daten ausgewählt. Danach steuert das Steuermodul 22 das Datenzugriffsmodul 18, dem Attributfeld der ausgewählten leeren Bank den Wert VD zuzuweisen, wodurch die ausgewählte leere Bank eine für allgemeine Daten vorgesehene Bank wird. In anderen Worten, muss das Steuermodul 22, nachdem eine für allgemeine Daten vorgesehene Bank voll ist, nur eine andere leere Bank als eine neue für allgemeine Daten vorgesehene Bank finden. Ist jedoch nur eine leere Bank in dem Flash-Speicher 12 vorhanden, so ist es für das Datenzugriffssystem 10 nötig, ein Ausschussdaten-Sammelverfahren auszuführen, und die ausführliche Beschreibung des Ausschussdaten-Sammelverfahrens wird nachfolgend gegeben.In updating the general data, the management data is usually updated with it in the context, and the detailed process of updating or writing management data is described in the above description. To update or write general data into a general data bank, after the general data bank is full, if there is more than one empty bank in the flash memory 12 one of the empty banks is selected as a next general data bank for storing general data. Thereafter, the control module controls 22 the data access engine 18 to assign the value V D to the attribute field of the selected empty bank, whereby the selected empty bank becomes a general data bank. In other words, the control module needs 22 After a general data bank is full, find only a different empty bank than a new general data bank. However, there is only one empty bank in the flash memory 12 present, so it is for the data access system 10 it is necessary to execute a scrap data collection process, and the detailed description of the scrap data collection process will be given below.

Wie in 6 gezeigt, ist in der Bank 14d (eine für allgemeine Daten vorgesehene Bank) noch zur Verfügung stehender Platz vorhanden, um allgemeine Daten zu speichern. Nachdem die Bank 14d voll ist, wählt das Steuermodul 22 eine leere Bank mit einem kleinsten Lösch-Zyklus aus den leeren Bänken (den Bänken 14c und 14f) des Flash-Speichers 12 aus. Z. B. wird in dieser Ausführungsform die leere Bank 14f ausgewählt. Danach steuert das Steuermodul 22 das Datenzugriffsmodul 18, dem Attributfeld 16f der Bank 14f den Wert VD zuzuweisen, um die Bank 14f zu einer für allgemeine Daten vorgesehenen Bank zu machen, so dass die Bank 14f zur Speicherung von neuen allgemeinen Daten verwendet werden kann. Das Ergebnis ist in der 7 gezeigt. Nachdem dann die Bank 14f voll ist und in dem Flash-Speicher 12 nur eine leere Bank (die Bank 14c) existiert, muss das Datenzugriffssystem 10 das zuvor angegebene Ausschussdaten-Sammelverfahren ausführen. Zunächst ist es nötig, aus den Bänken 14a, 14b, 14d, 14e und 14f eine Zielbank für das Ausschussdaten-Sammelverfahren auszuwählen, wobei die Zielbank eine ursprünglich für allgemeine Daten vorgesehene Bank oder eine ursprünglich für Verwaltungsdaten vorgesehene Bank sein kann. Danach steuert das Steuermodul 22 das Datenzugriffsmodul 18, in der für Verwaltungsdaten vorgesehenen Bank 14e gespeicherte Verwaltungsdaten zu lesen, um die Lösch-Zyklen der Bänke 14a, 14b, 14d, 14e und 14f zu kennen. Dann wählt das Steuermodul 22 eine Bank mit dem kleinsten Lösch-Zyklus als die Zielbank. Als ein Beispiel wird die Bank 14a als die Zielbank ausgewählt, wie es in 8 gezeigt ist.As in 6 shown is in the bank 14d (a bank intended for general data), there is still space available to store general data. After the bank 14d is full, selects the control module 22 an empty bank with a smallest erase cycle from the empty benches (the benches 14c and 14f ) of the flash memory 12 out. For example, in this embodiment, the empty bank 14f selected. Thereafter, the control module controls 22 the data access engine 18 , the attribute field 16f the bank 14f assign the value V D to the bank 14f to make a bank intended for general data, so that the bank 14f can be used to store new general data. The result is in the 7 shown. After then the bank 14f is full and in the flash memory 12 just an empty bank (the bank 14c ) exists, the data access system must 10 execute the previously specified scrap data collection procedure. First of all, it is necessary to get out of the benches 14a . 14b . 14d . 14e and 14f to select a destination bank for the scrap data collection procedure, where the destination bank may be a bank originally intended for general data or a bank originally intended for administrative data. Thereafter, the control module controls 22 the data access engine 18 , in the bank intended for administrative data 14e stored administrative data to read the erase cycles of the banks 14a . 14b . 14d . 14e and 14f to know. Then the control module selects 22 a bank with the smallest deletion cycle as the target bank. As an example, the bank becomes 14a selected as the target bank as it is in 8th is shown.

Danach steuert das Steuermodul 22 das Datenzugriffsmodul 18, in der Bank 14a gespeicherte gültige allgemeine Daten in die einzige leere Bank 14c zu speichern und dem Attributfeld 16c der Bank 14c den Wert VD zuzuweisen. Darauf folgend steuert das Steuermodul 22 das Datenlöschmodul 20, alle in der Bank 14a gespeicherten Daten zu löschen, so dass die Bank 14a eine leere Bank wird und zum Speichern neuer Daten verwendet werden kann, wie in der 9 gezeigt. Bei der Auswahl einer Zielbank für ein Ausschussdaten-Sammelverfahren ist es nötig, das Bedürfnis der Abnutzungs-Egalisierung des Flash-Speichers 12 zu berücksichtigen. Auch ist es nötig, das Bedürfnis der Abnutzungs-Egalisierung des Flash-Speichers 12 zu berücksichtigen, wenn eine leere Bank als eine nächste für Verwaltungsdaten vorgesehene Bank ausgewählt wird. Obwohl es offensichtlich ist, dass die Frequenz des Aktualisierens von Verwaltungsdaten höher ist, als die Frequenz des Aktualisierens von allgemeinen Daten, kann nach dieser Ausführungsform demzufolge durch das Ausführen des Aktualisierens der Verwaltungsdaten und das Ändern der Verwaltungsbank nach dieser Erfindung trotzdem das Ziel erreicht werden, dem Bedürfnis der Abnutzungs-Egalisierung des Flash-Speichers 12 zu genügen.Thereafter, the control module controls 22 the data access engine 18 , in the bank 14a stored valid general data in the only empty bank 14c to save and the attribute field 16c the bank 14c to assign the value V D. Subsequently, the control module controls 22 the data deletion module 20 , everyone in the bank 14a delete stored data, so that the bank 14a an empty bank will be and can be used to store new data, as in the 9 shown. When selecting a destination bank for a junk data collection procedure, there is a need to address the need for erosion equalization of the flash memory 12 to take into account. Also, it is necessary to have the need for the wear leveling of the flash memory 12 to take into account when an empty bank is selected as a next bank intended for administrative data. Accordingly, while it is obvious that the frequency of updating management data is higher than the frequency of updating general data, according to this embodiment, by performing the updating of the management data and changing the management bank of this invention, the goal can still be achieved. the need for erosion equalization of the flash memory 12 to suffice.

Es sollte erkannt werden, dass die Verwendung von Attributfeldern nur eine Art ist, die Bänke zu identifizieren und anzuzeigen, ob eine Bank eine für Verwaltungsdaten vorgesehene Bank, eine für allgemeine Daten vorgesehene Bank oder eine leere Bank ist. Es können auch andere Wege verwendet werden, um die zuvor angegebenen Funktionen zu erreichen. Zusätzlich ist das Verfahren zur Datenverwaltung nach dieser Erfindung, obwohl in dieser Ausführungsform ein Flash-Speicher verwendet wird, nicht auf die Anwendung in einem Flash-Speicher begrenzt. D. h., das Verfahren zum Verwalten von Daten kann in einer beliebigen anderen Datenzugriffs-Speichervorrichtung verwendet werden, die ähnliche Eigenschaften und Funktionen aufweist, wie die eines Flash-Speichers. Wenn ein Bereich der Datenzugriffs-Speichervorrichtung z. B. gespeicherte Daten aufweist und einige neue Daten in dem Bereich gespeichert werden sollen, ist es z. B. nötig, die in dem Bereich gespeicherten Daten zu löschen, wonach die neuen Daten in den Speicher geschrieben werden können. Auch sollte die Datenzugriffs-Speichervorrichtung in eine Mehrzahl von Bänken geteilt werden können. Die Mehrzahl von Bänken kann entsprechend des Inhalts der in den Bänken gespeicherten Daten in zwei Arten von Bänken unterteilt werden, nämlich für Verwaltungsdaten vorgesehene Bänke und für allgemeine Daten vorgesehene Bänke.It should be appreciated that the use of attribute fields is only one way of identifying the banks and indicating whether a bank is a bank intended for administrative data, a general data bank, or an empty bank. Other ways may be used to accomplish the functions previously indicated. In addition, although the flash memory is used in this embodiment, the data management method of this invention is not limited to the application in a flash memory. That is, the method for managing data may be used in any other data access storage device having similar characteristics and functions as that of a flash memory. When a portion of the data access storage device z. B. has stored data and some new data to be stored in the area, it is z. For example, it may be necessary to clear the data stored in the area, after which the new data may be written to memory. Also, the data access storage device should be divided into a plurality of banks. The plurality of banks may be divided into two types of banks according to the contents of the data stored in the banks, namely, banks provided for administrative data and banks for general data.

Zusammenfassend bezieht sich diese Erfindung auf ein Verfahren zur Verwaltung von Daten und ein Datenzugriffssystem 10 zum Speichern von Verwaltungsdaten in einer Verwaltungsbank eines nicht-flüchtigen Speichers 12. Das Verfahren zum Verwalten von Daten umfasst das Teilen des nicht-flüchtigen Speichers 12 in eine Mehrzahl von Bänken 14a, 14b, 14c, 14d, 14e und 14f, wobei jede der Bänke 14a, 14b, 14c, 14d, 14e und 14f ein Attributfeld 16a, 16b, 16c, 16d, 16e und 16f umfasst. Speichert ein Attributfeld einer ersten Bank einen ersten Wert und ist die erste Bank voll, so findet das Verfahren zum Verwalten von Daten eine zweite Bank mit einem einen zweiten Wert speichernden Attributfeld, kopiert die in der ersten Bank gespeicherten gültigen Daten in die zweite Bank, weist dem Attributfeld der zweiten Bank den ersten Wert zu und löscht alle ursprünglich in der ersten Bank gespeicherten Daten.In summary, this invention relates to a method of managing data and a data access system 10 for storing management data in a management bank of a non-volatile memory 12 , The method of managing data includes sharing the non-volatile memory 12 in a plurality of benches 14a . 14b . 14c . 14d . 14e and 14f where each of the benches 14a . 14b . 14c . 14d . 14e and 14f an attribute field 16a . 16b . 16c . 16d . 16e and 16f includes. If an attribute field of a first bank stores a first value, and if the first bank is full, the method for managing data finds a second bank with a second value storing attribute field, copies the valid data stored in the first bank into the second bank, points assigns the first value to the attribute field of the second bank and deletes all data originally stored in the first bank.

Im Gegensatz zu dem Stand der Technik werden mit dem Verfahren zum Verwalten von Daten und dem Datenzugriffssystem nach dieser Erfindung Verwaltungsdaten gesammelt und in einer für Verwaltungsdaten vorgesehenen Bank des Flash-Speichers gespeichert, um die Verwaltungsdaten günstig zu verwalten und zu aktualisieren. Demzufolge kann die Komplexität des Aktualisierens und Suchens von Verwaltungsdaten vermindert werden. Auch kann der Speicherplatz von Verwaltungsdaten des Flash-Speichers in einer kurzen Zeit gefunden werden und die Zeit zum Starten der elektronischen Vorrichtung kann beschleunigt werden. Zusätzlich wird dem Bedürfnis der Abnutzungs-Egalisierung des Flash-Speichers genügt, um den Lebenszyklus des Flash-Speichers zu verlängern.Contrary to the prior art, the data management method and the data access system according to this invention collect and store management data in a management data bank of the flash memory to conveniently manage and update the management data. As a result, the complexity of updating and searching management data can be reduced. Also, the storage space of management data of the flash memory can be found in a short time and the time for starting the electronic device can be speeded up. In addition, the need for flash-leveling wear equalization is sufficient to extend the life cycle of the flash memory.

Claims (10)

Ein Verfahren zum Verwalten von Daten zum Speichern von Daten in einer Bank eines nicht-flüchtigen Speichers (12), umfassend: a) Teilen des nicht-flüchtigen Speichers (12) in eine Mehrzahl von Bänken (14a, 14b, 14c, 14d, 14e, 14f), wobei jede der Bänke (14a, 14b, 14c, 14d, 14e, 14f) ein Attributfeld (16a, 16b, 16c, 16d, 16e, 16f) umfasst; und b) wenn ein Attributfeld (16a, 16b, 16c, 16d, 16e, 16f) einer ersten Bank einen ersten Wert speichert und die erste Bank voll ist, Ausführen der folgenden Schritte: b1) Finden einer zweiten Bank mit einem einen zweiten Wert speichernden Attributfeld; b2) Kopieren von in der ersten Bank gespeicherten gültigen Daten in die zweite Bank; b3) Zuweisen des ersten Werts zu dem Attributfeld der zweiten Bank; und b4) Löschen aller ursprünglich in der ersten Bank gespeicherten Daten, wobei der erste Wert anzeigt, dass die Bank für Verwaltungsdaten vorgesehen sind, und der zweite Werte anzeigt, dass die Bank eine leere Bank ist, und wobei die zweite Bank die Bank mit dem kleinsten Lösch-Zyklus der Bänke ist, deren Attributfelder die zweiten Werte speichern.A method of managing data for storing data in a bank of non-volatile memory ( 12 ), comprising: a) dividing the non-volatile memory ( 12 ) into a plurality of banks ( 14a . 14b . 14c . 14d . 14e . 14f ), each of the benches ( 14a . 14b . 14c . 14d . 14e . 14f ) an attribute field ( 16a . 16b . 16c . 16d . 16e . 16f ); and b) if an attribute field ( 16a . 16b . 16c . 16d . 16e . 16f a first bank stores a first value and the first bank is full, performing the steps of: b1) finding a second bank having an attribute field storing a second value; b2) copying valid data stored in the first bank to the second bank; b3) assigning the first value to the attribute field of the second bank; and b4) deleting all data originally stored in the first bank, the first value indicating that the bank is for administrative data, and the second value indicating that the bank is an empty bank, and the second bank containing the bank The smallest deletion cycle of the banks is whose attribute fields store the second values. Das Verfahren zum Verwalten von Daten nach Patentanspruch 1, wobei Schritt (b) weiter umfasst: b5) Zuweisen des zweiten Werts zu dem Attributfeld der ersten Bank.The method for managing data according to claim 1, wherein step (b) further comprises: b5) assigning the second value to the attribute field of the first bank. Das Verfahren zum Verwalten von Daten nach Patentanspruch 1 oder 2, dadurch gekennzeichnet, dass im Schritt (b4) die in der ersten Bank zu löschenden Daten die in dem Attributfeld gespeicherten Daten umfassen, und dass der Wert des Attributfelds nach dem Löschen der Daten der zweite Wert ist.The method for managing data according to claim 1 or 2, characterized in that in step (b4) the data to be erased in the first bank comprises the data stored in the attribute field, and that the value of the attribute field after erasing the data is the second Is worth. Das Verfahren zum Verwalten von Daten nach einem der Patentansprüche 1 bis 3, dadurch gekennzeichnet, dass ein Attributfeld (16a, 16b, 16c, 16d, 16e, 16f) jeder Bank (14a, 14b, 14c, 14d, 14e, 14f) an dem Anfang der Bank (14a, 14b, 14c, 14d, 14e, 14f) angeordnet ist. The method for managing data according to one of the claims 1 to 3, characterized in that an attribute field ( 16a . 16b . 16c . 16d . 16e . 16f ) each bank ( 14a . 14b . 14c . 14d . 14e . 14f ) at the beginning of the bank ( 14a . 14b . 14c . 14d . 14e . 14f ) is arranged. Das Verfahren zum Verwalten von Daten nach einem der Patentansprüche 1 bis 4, dadurch gekennzeichnet, dass jede Bank (14a, 14b, 14c, 14d, 14e, 14f) die gleiche Speichergröße aufweist.The method for managing data according to one of the claims 1 to 4, characterized in that each bank ( 14a . 14b . 14c . 14d . 14e . 14f ) has the same memory size. Ein Datenzugriffssystem (10), mit: einem Datenzugriffsmodul (18) zum Schreiben von Daten in eine Bank eines nicht-flüchtigen Speichers (12); einem Datenlöschmodul (20) zum Löschen von in einer Bank eines nicht-flüchtigen Speichers (12) gespeicherten Daten; den nicht-flüchtigen Speicher (12), der elektrisch mit dem Datenzugriffsmodul (18) und dem Datenlöschmodul (20) verbunden ist, und eine Mehrzahl von Bänken (14a, 14b, 14c, 14d, 14e, 14f) umfasst, wobei jede der Bänke (14a, 14b, 14c, 14d, 14e, 14f) ein Attributfeld (16a, 16b, 16c, 16d, 16e, 16f) umfasst; und ein Steuermodul (22), das elektrisch mit dem Datenzugriffsmodul (18), dem Datenlöschmodul (20) und dem nicht-flüchtigen Speicher (12) verbunden ist, um ein Attributfeld und verbleibenden Platz einer ersten Bank zu überprüfen; wobei, wenn das Attributfeld der ersten Bank den ersten Wert speichert und die erste Bank voll ist, das Steuermodul (22) eine zweite Bank mit einem einen zweiten Wert speichernden Attributfeld findet, das Datenzugriffsmodul (18) steuert, in der ersten Bank gespeicherte gültige Daten in die zweite Bank zu kopieren und dem Attributfeld der zweiten Bank den ersten Wert zuzuweisen und das Datenlöschmodul (20) steuert, alle ursprünglich in der ersten Bank gespeicherten Daten zu löschen, wobei der erste Wert anzeigt, dass die Bank für Verwaltungsdaten vorgesehen ist, und der zweite Wert anzeigt, dass die Bank eine leere Bank ist, und wobei die von dem Steuermodul (22) gefundene zweite Bank die Bank mit dem kleinsten Lösch-Zyklus der Bänke ist, deren Attributfelder den zweiten Wert speichern.A data access system ( 10 ), comprising: a data access module ( 18 ) for writing data in a bank of a non-volatile memory ( 12 ); a data erase module ( 20 ) for deleting in a bank of a non-volatile memory ( 12 stored data; the non-volatile memory ( 12 ) electrically connected to the data access module ( 18 ) and the data erase module ( 20 ), and a plurality of banks ( 14a . 14b . 14c . 14d . 14e . 14f ), each of the benches ( 14a . 14b . 14c . 14d . 14e . 14f ) an attribute field ( 16a . 16b . 16c . 16d . 16e . 16f ); and a control module ( 22 ) which is electrically connected to the data access module ( 18 ), the data wipe module ( 20 ) and the non-volatile memory ( 12 ) to check an attribute field and remaining space of a first bank; wherein, if the attribute field of the first bank stores the first value and the first bank is full, the control module ( 22 ) finds a second bank with an attribute field storing a second value, the data access module ( 18 ) controls to copy valid data stored in the first bank to the second bank and to assign the first value to the attribute field of the second bank and the data deletion module ( 20 ) controls to erase all data originally stored in the first bank, the first value indicating that the bank is for administrative data, and the second value indicating that the bank is an empty bank, and the information provided by the control module ( 22 ) is the bank with the smallest erase cycle of the banks whose attribute fields store the second value. Das Datenzugriffssystem nach Patentanspruch 6, dadurch gekennzeichnet, dass das Steuermodul (22) weiter verwendet wird, dem Attributfeld der ersten Bank den zweiten Wert zuzuweisen.The data access system according to claim 6, characterized in that the control module ( 22 ) is further used to assign the second bank the attribute field of the first bank. Das Datenzugriffssystem nach Patentanspruch 6 oder 7, dadurch gekennzeichnet, dass das Steuermodul (22) das Datenlöschmodul (26) treibt, alle in der ersten Bank gespeicherten Daten zu löschen, einschließlich des in dem Attributfeld der ersten Bank gespeicherten Werts, und der Wert des Attributfelds nach dem Löschen der gesamten Daten der zweite Wert ist.The data access system according to claim 6 or 7, characterized in that the control module ( 22 ) the data deletion module ( 26 ) drives to erase all data stored in the first bank, including the value stored in the attribute field of the first bank, and the value of the attribute field after erasing the entire data is the second value. Das Datenzugriffssystem nach einem der Patentansprüche 6 bis 8, dadurch gekennzeichnet, dass ein Attributfeld (16a, 16b, 16c, 16d, 16e, 16f) jeder Bank (14a, 14b, 14c, 14d, 14e, 14f) an dem Anfang der Bank (14a, 14b, 14c, 14d, 14e, 14f) angeordnet ist. The data access system according to one of the claims 6 to 8, characterized in that an attribute field ( 16a . 16b . 16c . 16d . 16e . 16f ) each bank ( 14a . 14b . 14c . 14d . 14e . 14f ) at the beginning of the bank ( 14a . 14b . 14c . 14d . 14e . 14f ) is arranged. Das Datenzugriffssystem nach einem der Patentansprüche 6 bis 9, dadurch gekennzeichnet, dass jede Bank (14a, 14b, 14c, 14d, 14e, 14f) dieselbe Speichergröße aufweist.The data access system according to one of the claims 6 to 9, characterized in that each bank ( 14a . 14b . 14c . 14d . 14e . 14f ) has the same memory size.
DE200510013896 2004-03-28 2005-03-24 Method for data management and data access system for storing all management data in a management bank of a non-volatile memory Expired - Fee Related DE102005013896B4 (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US52129604P 2004-03-28 2004-03-28
US60/521,296 2004-03-28
TW093135492A TWI254947B (en) 2004-03-28 2004-11-18 Data managing method and data access system for storing all management data in a management bank of a non-volatile memory
TW093135492 2004-11-18

Publications (2)

Publication Number Publication Date
DE102005013896A1 DE102005013896A1 (en) 2005-10-20
DE102005013896B4 true DE102005013896B4 (en) 2014-07-03

Family

ID=35034276

Family Applications (1)

Application Number Title Priority Date Filing Date
DE200510013896 Expired - Fee Related DE102005013896B4 (en) 2004-03-28 2005-03-24 Method for data management and data access system for storing all management data in a management bank of a non-volatile memory

Country Status (1)

Country Link
DE (1) DE102005013896B4 (en)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1989002151A1 (en) * 1987-09-02 1989-03-09 Siemens Aktiengesellschaft Electronic circuit with an eeprom as semiconductor memory for a motor vehicle
WO1995010083A1 (en) * 1993-10-04 1995-04-13 Cirrus Logic, Inc. Flash memory with reduced erasing and overwriting
US5473765A (en) * 1994-01-24 1995-12-05 3Com Corporation Apparatus for using flash memory as a floppy disk emulator in a computer system
US5473569A (en) * 1994-08-01 1995-12-05 Motorola, Inc. Method for operating a flash memory
DE19500453A1 (en) * 1994-06-16 1995-12-21 Bosch Gmbh Robert Method for optimizing data and / or program parts for programmed control devices and control device
US5694538A (en) * 1995-03-30 1997-12-02 Fujitsu Limited Memory rewriting apparatus
DE19737182A1 (en) * 1997-08-26 1999-03-04 Bosch Gmbh Robert Program control data alteration method
US5943692A (en) * 1997-04-30 1999-08-24 International Business Machines Corporation Mobile client computer system with flash memory management utilizing a virtual address map and variable length data

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1989002151A1 (en) * 1987-09-02 1989-03-09 Siemens Aktiengesellschaft Electronic circuit with an eeprom as semiconductor memory for a motor vehicle
WO1995010083A1 (en) * 1993-10-04 1995-04-13 Cirrus Logic, Inc. Flash memory with reduced erasing and overwriting
US5473765A (en) * 1994-01-24 1995-12-05 3Com Corporation Apparatus for using flash memory as a floppy disk emulator in a computer system
DE19500453A1 (en) * 1994-06-16 1995-12-21 Bosch Gmbh Robert Method for optimizing data and / or program parts for programmed control devices and control device
US5473569A (en) * 1994-08-01 1995-12-05 Motorola, Inc. Method for operating a flash memory
US5694538A (en) * 1995-03-30 1997-12-02 Fujitsu Limited Memory rewriting apparatus
US5943692A (en) * 1997-04-30 1999-08-24 International Business Machines Corporation Mobile client computer system with flash memory management utilizing a virtual address map and variable length data
DE19737182A1 (en) * 1997-08-26 1999-03-04 Bosch Gmbh Robert Program control data alteration method

Also Published As

Publication number Publication date
DE102005013896A1 (en) 2005-10-20

Similar Documents

Publication Publication Date Title
DE102005019842B4 (en) System and method for sequentially writing data to a flash memory
DE60032531T2 (en) Recording method, management method and recording apparatus
DE69635962T2 (en) Flash memory mass storage system and method therefor
DE102006005877A1 (en) Address mapping table and method for generating an address mapping table
DE60030876T2 (en) Scope management of a high-capacity non-volatile memory
DE60319407T2 (en) FOLLOW THE MOST CLEARED BLOCKS OF A NON-VOLATILE STORAGE SYSTEM
DE69923657T2 (en) MARKING OF STORED DATA OBJECTS FOR GARBAGE COLLECTORS
DE19882933B4 (en) Flash memory partition for read-while-write operations
DE102006005876A1 (en) A flash memory controller, a flash memory controller, a flash memory system, and a flash memory map data managing method
DE69726088T2 (en) Memory management method and apparatus
DE69839126T2 (en) MOVING ONE OF THE FOLLOWING SECTORS INSIDE A DATA BLOCK IN A FLASH MASS MEMORY
DE60025749T2 (en) FILE SYSTEM IMAGE TRANSFER BETWEEN UNFAIR FILE SYSTEMS
DE69333906T2 (en) Method and system for file management with a fast erasable, programmable ROM
DE102012208141B4 (en) Compensation for decreasing functionality
DE112017005868T5 (en) MANAGING I / O FLOWS FOR DATA OBJECTS IN A STORAGE SYSTEM
DE112010004667T5 (en) Storage device and storage controller
DE102005034611A1 (en) Storage system and associated operations and block management methods
DE102007006307A1 (en) Non volatile memory unit i.e. flash memory unit, operating method, involves determining log-block as reusable log block, without deleting updated version of data, and fulfilling pre-determined condition depending on determination
DE69820164T2 (en) Storage device and data reading and writing methods
DE60132229T2 (en) MEMORY DEVICE, MEMORY CONTROL METHOD AND PROGRAM
DE602004008240T2 (en) Method for managing defective memory blocks in a non-volatile memory and non-volatile memory for carrying out the method
DE3637767C2 (en)
DE102005013896B4 (en) Method for data management and data access system for storing all management data in a management bank of a non-volatile memory
DE102017104698A1 (en) Electronic control device and information storage method therefor
DE10321104B4 (en) Method for filing variable data

Legal Events

Date Code Title Description
OR8 Request for search as to paragraph 43 lit. 1 sentence 1 patent law
8105 Search report available
8110 Request for examination paragraph 44
R019 Grant decision by federal patent court
R020 Patent grant now final
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee