DE102017215856A1 - Information management device - Google Patents

Information management device Download PDF

Info

Publication number
DE102017215856A1
DE102017215856A1 DE102017215856.5A DE102017215856A DE102017215856A1 DE 102017215856 A1 DE102017215856 A1 DE 102017215856A1 DE 102017215856 A DE102017215856 A DE 102017215856A DE 102017215856 A1 DE102017215856 A1 DE 102017215856A1
Authority
DE
Germany
Prior art keywords
data
area
write
state
memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
DE102017215856.5A
Other languages
German (de)
Other versions
DE102017215856B4 (en
Inventor
Yohei Fujita
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.)
Denso Corp
Original Assignee
Denso Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Denso Corp filed Critical Denso Corp
Publication of DE102017215856A1 publication Critical patent/DE102017215856A1/en
Application granted granted Critical
Publication of DE102017215856B4 publication Critical patent/DE102017215856B4/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1041Resource optimization
    • G06F2212/1044Space efficiency improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7202Allocation control and policies
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7204Capacity control, e.g. partitioning, end-of-life degradation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7205Cleaning, compaction, garbage collection, erase control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7207Details relating to flash memory management management of metadata or control data

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Read Only Memory (AREA)
  • Memory System (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

Eine Informationsmanagementvorrichtung umfasst einen Flash-Speicher (6) und einen Schreiber (2). Der Flash-Speicher hat eine erste Region (200) und eine zweite Region (300), in welche und aus welchen Daten schreibbar und löschbar sind, und die erste/zweite Region ist ausgestaltet, in einen ersten Zustand geschaltet zu werden, der ein Vor-Schreib-Zustand oder ein Daten-gelöscht-Zustand ist, um als ein leerer Bereich zu dienen, und ausgestaltet, in einen zweiten Zustand geschaltet zu werden, der ein Nach-Schreib-Zustand ist. Wenn Daten aus der ersten Region (200) gelöscht werden, wird dieser Bereich in den ersten Zustand geschaltet, und wenn Daten in einen leeren Bereich in dem ersten Zustand geschrieben werden, wird dieser Bereich in den zweiten Zustand geschaltet. Ein Schreiber der Informationsmanagementvorrichtung ist fähig, eine Vielzahl von Datenstücken eines nach dem anderen, d. h. in Reihe, zu schreiben, indem er die erste Region (200) unter Verwendung des leeren Bereichs aufteilt. An information management device comprises a flash memory (6) and a writer (2). The flash memory has a first region (200) and a second region (300) into which and from which data is writable and erasable, and the first / second region is configured to be switched to a first state, which is a forward Write state or a data clear state is to serve as an empty area and configured to be switched to a second state which is an after-write state. When data is deleted from the first region (200), that area is switched to the first state, and when data is written to an empty area in the first state, that area is switched to the second state. A writer of the information management apparatus is capable of storing a plurality of pieces of data one by one, i. H. in series, by dividing the first region (200) using the blank area.

Figure DE102017215856A1_0001
Figure DE102017215856A1_0001

Description

Die vorliegende Erfindung betrifft generell eine Informationsmanagementvorrichtung. The present invention generally relates to an information management device.

Generell hält, d. h. speichert, ein Flash-Speicher Daten auf eine beschreibbare und löschbare Weise. Während die Daten in Einheiten von 2 Bytes oder 4 Bytes in den Flash-Speicher geschrieben werden, werden Daten aus dem Flash-Speicher in einer Einheit von Blöcken, das heißt, einer Einheit von mehreren zehn Bytes bis mehreren Kilobytes gelöscht. Der Flash-Speicher ist auf eine bestimmte Anzahl von Datenlöschungen begrenzt, das heißt ein Flash-Speicher hat eine endliche Anzahl von Programmier-/Lösch(P/E)-Zyklen. Basierend auf den oben erwähnten Eigenschaften eines Flash-Speichers verwendet ein Flash-Speicher ein Verfahren zum Speichern von Daten, indem die Daten in Blöcke geschrieben werden. Generally holds, d. H. saves a flash memory data in a writable and erasable manner. While the data is written in the flash memory in units of 2 bytes or 4 bytes, data is erased from the flash memory in a unit of blocks, that is, a unit of several tens of bytes to several kilobytes. The flash memory is limited to a certain number of data erasures, that is, a flash memory has a finite number of program / erase (P / E) cycles. Based on the above-mentioned characteristics of a flash memory, a flash memory uses a method of storing data by writing the data into blocks.

Wenn solch ein Verfahren zum Speichern von Daten verwendet wird, muss ein Identifizierer an einem Kopfteil von jedem Datenstück ermittelt werden, um ein gewünschtes Datenstück in einer Vielzahl von Datenstücken zu finden. When such a method of storing data is used, an identifier at a header of each piece of data must be detected to find a desired piece of data in a plurality of pieces of data.

Jedoch kann es, mit einem durch einen Bitwert repräsentierten Identifizierer, d. h. unter Verwendung eines Werts von „1“ oder „0“, manchmal schwierig sein, den Identifizierer von einem Datenbitwert zu unterscheiden, der ebenfalls von einem „1“-oder „0“-Bitwert repräsentiert wird. Das heißt, die Identifikation mittels solch einer Identifikationsmaßnahme kann schwierig und anfällig für Fehler sein. However, with an identifier represented by a bit value, i. H. using a value of "1" or "0", may sometimes be difficult to distinguish the identifier from a data bit value, which is also represented by a "1" or "0" bit value. That is, identification by such an identification measure can be difficult and prone to errors.

Deshalb verwendet ein unten genanntes Patentdokument 1 eine unterschiedliche Maßnahme, bei welcher ein Speicherbereich in eine Vielzahl von Abschnitte voraufgeteilt ist und der Kopfteil von jedem der jeweiligen Abschnitte einen fixierten Adresswert hat, um die Daten in jeden der voraufgeteilten Abschnitte zu schreiben. Therefore, a patent document 1 mentioned below uses a different measure in which a memory area is pre-divided into a plurality of sections and the header of each of the respective sections has a fixed address value to write the data into each of the pre-divided sections.

(Patentdokument 1) Japanische offengelegtes Patentdokument Nr. H05-119777 (Patent Document 1) Japanese Laid-Open Patent Publication No. H05-119777

Das oben beschriebene Datenschreibverfahren kann jedoch Speicher verschwenden, wenn zum Beispiel die Datenlänge der Daten, die in einen bestimmten voraufgeteilten Speicherabschnitt geschrieben werden soll, kürzer ist als die Kapazität oder die Länge des voraufgeteilten Speicherabschnitts. Das heißt, umso kürzer die Länge der geschriebenen Daten in Bezug auf die Kapazität des voraufgeteilten Speicherbereichs ist, umso weniger effizient ist die Verwendung des Speicherbereichs. However, the data writing method described above may waste memory if, for example, the data length of the data to be written in a particular pre-divided memory section is shorter than the capacity or the length of the pre-divided memory section. That is, the shorter the length of the written data is in terms of the capacity of the pre-split memory area, the less efficient is the use of the memory area.

Es ist eine Aufgabe der vorliegenden Erfindung, eine Informationsmanagementvorrichtung bereitzustellen, welche die ineffiziente Verwendung von Speicherbereichen in einem Speichermedium wie beispielsweise einem Flash-Speicher oder Ähnlichem begrenzt. It is an object of the present invention to provide an information management apparatus which limits the inefficient use of storage areas in a storage medium such as a flash memory or the like.

Gemäß einem Aspekt der vorliegenden Erfindung umfasst die Informationsmanagementvorrichtung: einen nichtflüchtigen Speicher und einen Schreiber. According to one aspect of the present invention, the information management apparatus includes: a nonvolatile memory and a writer.

Der nichtflüchtige Speicher (6) hat einen Speicherbereich, in welchen Daten schreibbar sind und aus welchem Daten löschbar sind, und der Schreiber (2, S32, S36, S92, S94) ist ausgestaltet, Daten in einen leeren Bereich in dem Speicherbereich des nichtflüchtigen Speichers zu schreiben. The nonvolatile memory ( 6 ) has a memory area in which data can be written and from which data is erasable, and the recorder ( 2 , S32, S36, S92, S94) is configured to write data in an empty area in the memory area of the nonvolatile memory.

Das Löschen von Daten aus dem Speicherbereich schaltet den Speicherbereich von einem zweiten Zustand in einen ersten Zustand, das heißt einen Vor-Schreib-Zustand des Speicherbereichs, und das Schreiben von Daten in den Speicherbereich schaltet den Speicherbereich von dem ersten Zustand in den zweiten Zustand, das heißt einen Nach-Schreib-Zustand des Speicherbereichs, und der Schreiber teilt den Speicherbereich mittels des leeren Bereichs auf, um eine Vielzahl von Datenstücken in Folge (d. h. auf eine geordnete Weise/eines nach dem anderen) in den Speicherbereich zu schreiben. The erasure of data from the storage area switches the storage area from a second state to a first state, that is, a pre-write state of the storage area, and writing data into the storage area switches the storage area from the first state to the second state. that is, an after-write state of the storage area, and the writer divides the storage area by the empty area to write a plurality of pieces of data in succession (ie, one orderly / one after another) into the storage area.

Gemäß der Informationsmanagementvorrichtung der vorliegenden Erfindung werden Daten unter Verwendung des leeren Bereichs als einen „Datenteiler“ in den Speicherbereich geschrieben. Deshalb ist der Verlust an Speicherkapazität, d. h. an nicht verwendete Bereiche, begrenzt. Das heißt, die ineffiziente Verwendung des Speicherbereichs ist begrenzt. According to the information management apparatus of the present invention, data is written into the storage area using the empty area as a "data splitter". Therefore, the loss of storage capacity, i. H. to unused areas, limited. That is, the inefficient use of the storage area is limited.

Die Ziffern in Klammern in dem obigen Abschnitt und in den Ansprüchen dienen nur dazu, Beziehungen zwischen den Anspruchsmerkmalen und den Komponenten in den später beschriebenen Ausführungsbeispielen zu zeigen und sollen den technischen Schutzbereich der vorliegenden Erfindung in keiner Weise beschränken. The numbers in parentheses in the above section and in the claims are merely to show relationships between the claim features and the components in the embodiments described later and are not intended to limit the technical scope of the present invention in any way.

Aufgaben, Merkmale und Vorteile der vorliegenden Erfindung werden von der folgenden detaillierten Beschreibung, die mit Bezug auf die begleitenden Zeichnungen gemacht wird, deutlicher werden, in welchen: Objects, features and advantages of the present invention will become more apparent from the following detailed description made with reference to the accompanying drawings, in which:

1 ein Blockdiagramm einer Informationsmanagementvorrichtung gemäß einem ersten Ausführungsbeispiel der vorliegenden Erfindung darstellt; 1 Fig. 10 is a block diagram of an information management apparatus according to a first embodiment of the present invention;

2 Speicherbereiche in einem Flash-Speicher darstellt; 2 Represents storage areas in a flash memory;

3 Prozesse darstellt, wie ein Zustand einer Zelle detektiert wird; 3 Processes representing how a state of a cell is detected;

4 eine Darstellung eines Datenformats zum Speichern von Daten in dem Speicherbereich darstellt; 4 Fig. 10 illustrates an illustration of a data format for storing data in the storage area;

5 eine Vielzahl von in einer ersten Region gespeicherten Datenstücken darstellt; 5 represents a plurality of pieces of data stored in a first region;

6 ein Flussdiagramm eines Schreibprozesses gemäß dem ersten Ausführungsbeispiel der vorliegenden Erfindung darstellt; 6 Fig. 10 is a flowchart of a writing process according to the first embodiment of the present invention;

7 ein Flussdiagramm eines Datenschreibprozesses gemäß dem ersten Ausführungsbeispiel der vorliegenden Erfindung darstellt; 7 Fig. 10 is a flowchart of a data writing process according to the first embodiment of the present invention;

8 Schreibzieldaten, die in den Speicherbereich geschrieben sind, darstellt; 8th Write target data written in the memory area;

9 das Sichern von Daten basierend auf den hier beschriebenen Prozessen darstellt; 9 represents backup of data based on the processes described herein;

10 Datenungültigerklärung basierend auf den hier beschriebenen Prozessen darstellt; 10 Data invalidation based on the processes described herein;

11 ein Flussdiagramm eines Leseprozesses gemäß dem ersten Ausführungsbeispiel der vorliegenden Erfindung darstellt; 11 Fig. 10 is a flowchart of a reading process according to the first embodiment of the present invention;

12 ein Flussdiagramm des Schreibprozesses gemäß dem zweiten Ausführungsbeispiel der vorliegenden Erfindung darstellt; 12 Fig. 10 is a flow chart of the writing process according to the second embodiment of the present invention;

13 ein Flussdiagramm des Datenschreibprozesses gemäß dem zweiten Ausführungsbeispiel der vorliegenden Erfindung darstellt; und 13 Fig. 10 is a flowchart of the data writing process according to the second embodiment of the present invention; and

14 das Bewegen von Daten basierend auf den hier beschriebenen Prozessen darstellt. 14 represents the movement of data based on the processes described herein.

Nachstehend werden Ausführungsbeispiele der vorliegenden Erfindung mit Bezug auf die Zeichnungen beschrieben. Hereinafter, embodiments of the present invention will be described with reference to the drawings.

[1. Erstes Ausführungsbeispiel] [1. First embodiment]

[1-1. Konfiguration] [1-1. Configuration]

Eine Informationsmanagementvorrichtung 1 wird mit Bezug auf 1 beschrieben. Die Informationsmanagementvorrichtung 1 ist eine Vorrichtung, welche Daten in einen Flash-Speicher 6 schreiben kann, der als ein Speicher oder Speichermedium agiert, und auch in den Speicher 6 geschriebene Daten löschen kann. An information management device 1 is related to 1 described. The information management device 1 is a device that stores data in a flash memory 6 can write, acting as a memory or storage medium, and also in the memory 6 delete written data.

Die Informationsmanagementvorrichtung 1 ist mit einer CPU 2, einem ROM 3, einem RAM 4, einer Flash-Steuerung 5, dem Flash-Speicher 6 und einer Eingabe/Ausgabe (I/O) 7 versehen. Elektrische Energie wird jedem Teil der Informationsmanagementvorrichtung 1 von einer Energiequelle 11 bereitgestellt. Die I/O 7 dient als eine Eingabe-/Ausgabe-Schnittstelle, die als ein Eingabe-Ausgabe-Abschnitt mit einer externen Vorrichtung fungiert. The information management device 1 is with a CPU 2 , a ROM 3 , a ram 4 , a flash controller 5 , the flash memory 6 and an input / output (I / O) 7 Mistake. Electrical energy becomes part of the information management device 1 from an energy source 11 provided. The I / O 7 serves as an input / output interface functioning as an input-output section with an external device.

Die CPU 2 führt eine Gesamtsteuerung der Informationsmanagementvorrichtung 1 durch Ausführen einer Flash-Treiber-Software 8 und einer Anwendungssoftware 9 durch, die in dem ROM 3 gespeicherte Programme sein können. The CPU 2 performs an overall control of the information management device 1 by running a flash driver software 8th and an application software 9 through that in the rom 3 stored programs.

Insbesondere steuert die CPU 2 das Lesen und Schreiben von Daten aus und in den Flash-Speicher 6 über die Flash-Steuerung 5 durch Ausführung der Flash-Treiber-Software 8 basierend auf einer Zugriffsanforderung an den Flash-Speicher 6 von der Anwendungssoftware 9. In particular, the CPU controls 2 reading and writing data to and from the flash memory 6 via the flash control 5 by running the flash driver software 8th based on an access request to the flash memory 6 from the application software 9 ,

Der RAM 4 ist ein flüchtiger Speicher, der einen von der CPU 2 verwendeten Arbeitsbereich bereitstellt. Der RAM 4 stellt eine Funktion bereit, temporär die aus dem Flash-Speicher 6 gelesenen Daten und die in den Flash-Speicher 6 zu schreibenden Daten zu halten. The RAM 4 is a volatile memory, one by the CPU 2 used workspace. The RAM 4 provides a temporary function to remove the flash memory 6 read data and in the flash memory 6 to keep writing data.

Die Flash-Steuerung 5 führt einen Schreibprozess, einen Leseprozess, einen Löschprozess und Ähnliches durch, um die Daten in den und/oder aus dem Flash-Speicher 6 basierend auf einer Instruktion von der CPU 2 zu schreiben, zu lesen und zu löschen. The flash control 5 performs a write process, a read process, an erase process and the like to transfer the data to and / or from the flash memory 6 based on an instruction from the CPU 2 to write, read and delete.

Der Flash-Speicher 6 ist ein nichtflüchtiger Speicher, der einen von der CPU 2 verwendeten Speicherbereich hat. Der Speicherbereich des Flash-Speichers 6 umfasst eine Vielzahl von Blöcken 10, und jeder der Blöcke 10 dient als eine Einheit zum Löschen. The flash memory 6 is a non-volatile memory, one from the CPU 2 has used memory area. The memory area of the flash memory 6 includes a variety of blocks 10 , and each of the blocks 10 serves as a unit for deletion.

Der Flash-Speicher 6 speichert Daten durch Schreiben eines Bitwerts von „0“ oder „1“ in eine Zelle. Wie in 2 gezeigt, werden die Daten in den Speicher 6 in einer Einheit von „Wörtern“ geschrieben, die mehrere Bytes des Speicherbereichs sind. The flash memory 6 stores data by writing a bit value of "0" or "1" into a cell. As in 2 shown, the data is stored in memory 6 written in a unit of "words" that are several bytes of the memory area.

Auf der anderen Seite werden die Daten von dem Flash-Speicher 6, d. h. von dem Speicherbereich, in einer Einheit von Blöcken 10, die größere Einheiten als Wörter sind, gelöscht. Das heißt, der Block 10 kann eine Größe haben, die von mehreren zehn Bytes zu mehreren Kilobytes reicht. On the other hand, the data from the flash memory 6 , ie from the memory area, in a unit of blocks 10 , which are larger units than words, deleted. That is, the block 10 can have a size that ranges from several tens of bytes to several kilobytes.

Das heißt, das Datenschreiben wird in Einheiten von Wörtern (d. h. Wort für Wort) durchgeführt, und das Datenlöschen wird in Einheiten von Blöcken (d. h. Block für Block) durchgeführt. That is, data writing is performed in units of words (ie, word by word), and data erasing is performed in units of blocks (ie, block by block).

Ein Zustand des Speicherbereichs nach dem Löschen von Daten wird als „leer“ bezeichnet, und ein Speicherbereich in einem leeren Zustand wird als ein „leerer Bereich“ bezeichnet. A state of the memory area after erasing data is referred to as "empty", and a memory area in an empty state is referred to as an "empty area".

Da die Daten nicht in einen schon beschriebenen Speicherbereich schreibbar sind (d. h. Überschreiben der schon in den Speicherbereich geschriebenen Daten ist nicht erlaubt), werden die Daten in den leeren Bereich geschrieben. In anderen Worten ist der leere Bereich ein Speicherbereich in einem ersten Zustand, oder in einem Vor-Schreib-Zustand, bevor die Daten da reingeschrieben werden. Somit wird, wenn ein Prozess zum Schreiben von Daten in einen leeren Bereich (d. h., in den Speicherbereich in dem ersten Zustand) durchgeführt wird, der Speicherbereich in einen zweiten Zustand umgewandelt, oder in einen Nach-Schreib-Zustand geschaltet, nachdem die Daten da reingeschrieben worden sind. Since the data is not writable into a memory area already described (i.e., overwriting the data already written to the memory area is not allowed), the data is written to the empty area. In other words, the empty area is a storage area in a first state, or in a pre-write state, before the data is written there. Thus, when a process of writing data in an empty area (ie, in the memory area in the first state) is performed, the memory area is converted to a second state or switched to a post-write state after the data there have been written.

Insbesondere bleibt der Flash-Speicher 6, nach dem Löschen der Daten, in dem ersten Zustand, d. h. bleibt in einem nicht bestimmbaren Zustand (d. h. „NON-DET“ in 3), in welchem der Bitwert des Speichers weder als „0“ noch als „1“ festgelegt ist, und, nach dem Schreiben von Daten in den in dem ersten Zustand bleibenden Flash-Speicher 6, schaltet der Flash-Speicher 6 in den zweiten Zustand, oder einen bestimmten Zustand, in welchem der Bitwert entweder als „0“ oder „1“ festgelegt ist. In particular, the flash memory remains 6 after deleting the data, in the first state, ie, remaining in an indeterminable state (ie, "NON-DET" in FIG 3 ) in which the bit value of the memory is set as neither "0" nor "1", and after writing data in the flash memory remaining in the first state 6 , the flash memory turns off 6 in the second state, or a particular state in which the bit value is set as either "0" or "1".

Wie in 3 dargestellt, ist mittels eines „Leer-Prüfung“ genannten Befehls detektierbar, ob ein bestimmter Speicherbereich ein leerer Bereich ist. Die Leer-Prüfung wird für eine Zelle durchgeführt. As in 3 is shown by means of a command called "empty check" detectable whether a particular memory area is an empty area. The blank check is performed on a cell.

Wenn eine Zelle durch die Leer-Prüfung festgestellt wird, in dem ersten Zustand zu sein (d. h. wenn ein Speicherbereich ermittelt wird, ein leerer Bereich zu sein), kann jedweder der Bitwerte „0“ oder „1“ ausgelesen werden, aber ein tatsächlich Ausgelesener von den zwei Bitwerten „0“ oder „1“ ist nicht feststellbar. When a cell is determined to be in the first state by the empty check (ie, when a memory area is detected to be an empty area), any of the bit values "0" or "1" may be read out, but an actual read-out of the two bit values "0" or "1" can not be determined.

Wenn eine Zelle durch die Leer-Prüfung ermittelt wird, in dem zweiten Zustand zu sein (d. h. wenn ein Speicherbereich nicht als ein leerer Bereich ermittelt wird: „NICHT LEER“ in 3), kann ein Bitwert von entweder „0“ oder „1“ daraus ausgelesen werden. When a cell is determined by the blank check to be in the second state (ie, if a memory area is not determined to be an empty area: "NOT EMPTY" in 3 ), a bit value of either "0" or "1" can be read out therefrom.

[1-2. Schreibprozess] [1-2. Writing process]

Das Format der in dem Speicherbereich des Flash-Speichers 6 gespeicherten Daten wird mit Bezug auf 4 beschrieben. Die in dem Speicherbereich gespeicherten Daten sind in einer geordneten Kombination eines Kopfteils 12, eines Managementteils 13 und eines Datenteils 14 organisiert, wobei eine Kombination davon (d. h. der drei Teile 12 bis 14) als eine Einheit zum Datenspeichern dient. Die Einheit einer solchen Kombination der oben beschriebenen Teile kann auch als eine Kombinationseinheit 15 bezeichnet werden. Das heißt, die Kombinationseinheit 15 dient als eine Einheit zum Datenspeichern und eine Vielzahl von Datenstücken werden in dem Speicherbereich als aufeinanderfolgende Kombinationseinheiten 15 gespeichert, die in den Speicherbereich angefangen von dem Kopf des Speicherbereichs geschrieben werden. The format of the memory in the flash memory 6 stored data is related to 4 described. The data stored in the storage area is in an ordered combination of a header 12 , a management part 13 and a data part 14 organized, using a combination thereof (ie the three parts 12 to 14 ) serves as a unit for data storage. The unit of such a combination of the parts described above may also be used as a combination unit 15 be designated. That is, the combination unit 15 serves as a unit for data storage, and a plurality of pieces of data are stored in the storage area as successive combining units 15 stored in the memory area starting from the head of the memory area.

Wie in 5 gezeigt, speichert zum Beispiel eine erste Region 200, welche ein spezifischer Block 10 unter den Speicherbereichen des Flash-Speichers 6 ist, eine Vielzahl von Datenstücken als mehrere Kombinationseinheiten 15. Beachte, dass, in den Zeichnungen, der Kopfteil 12 als „S“ bezeichnet sein kann, ein im Folgenden beschriebenes Flag als „F“ bezeichnet sein kann und ein ebenfalls im Folgenden beschriebener Identifizierer als „ID“ bezeichnet sein kann. As in 5 for example, stores a first region 200 which is a specific block 10 under the memory areas of the flash memory 6 is, a plurality of data pieces as multiple combination units 15 , Note that, in the drawings, the headboard 12 may be referred to as "S", a flag described below may be referred to as "F", and an identifier also described below may be referred to as "ID".

Die durch den Datenteil 14 gespeicherten Daten können (i) den Identifizierer zum Identifizieren von einem der Vielzahl von Datentypen und (ii) einen Datenwert, der einen Wert der Daten des spezifizierten Identifizierers repräsentiert, umfassen. The through the data part 14 stored data may include (i) the identifier for identifying one of the plurality of data types and (ii) a data value representing a value of the data of the specified identifier.

Der Identifizierer kann an einem/einen Kopf des Datenteils 14 gespeichert/geschrieben sein und kann einen Namen einer Variabel spezifizieren. The identifier may be at a / a head of the data part 14 stored / written and can specify a name of a variable.

Der Datenwert kann ein Wert der Variabel sein. The data value can be a value of the variable.

Die Datenlänge des Identifizierers und die Datenlänge des Datenwerts kann jeweils eine beliebige Länge sein. Das heißt, sowohl der Identifizierer als auch der Datenwert können irgendeine Datenlänge haben. The data length of the identifier and the data length of the data value may each be any length. That is, both the identifier and the data value may have any data length.

Der Kopfteil 12 ist ein Kopf der Einheitskombination 15, welcher als ein „Header“ dient und eine Ein-Wort-Länge hat. Dieser Bereich ist immer in dem ersten Zustand, d. h. ein leerer Bereich. The headboard 12 is a head of unity combination 15 , which serves as a "header" and has a one-word length. This area is always in the first state, ie an empty area.

Da zwei oder mehr Datenstücke gespeichert werden, indem zwei oder mehr Kombinationseinheiten 15 fortlaufend, d. h. in Reihe, gespeichert werden, ist ein Ort der gespeicherten Daten durch jeden der Kopfteile 12 identifiziert. Since two or more pieces of data are stored by two or more combination units 15 consecutively, ie, stored in series, is a location of the stored data by each of the headers 12 identified.

Der Managementteil 13 ist ein Bereich zum Speichern eines Flags, das zeigt, ob die von dem Datenteil 14 gespeicherten Daten gültig oder ungültig sind, und der Managementteil 13 hat eine Ein-Wort-Länge. The management part 13 is an area for storing a flag that shows whether the data part 14 stored data is valid or invalid, and the management part 13 has a one-word length.

Wenn der Managementteil 13 ein leerer Bereich ist, d. h. in dem ersten Zustand ist, zeigt das Flag in dem Managementteil 13, dass die Daten gültig sind. Wenn der Managementteil 13 in dem zweiten Zustand ist, zeigt das Flag in dem Managementteil 13, dass die Daten ungültig sind. In der folgenden Beschreibung können Daten, die gültig sind, einfach als „gültige Daten“ bezeichnet sein, und Daten, die ungültig sind, können einfach als „ungültige Daten“ bezeichnet sein. If the management part 13 is an empty area, ie is in the first state, the flag in the management part shows 13 that the data is valid. If the management part 13 is in the second state, the flag in the management part shows 13 that the data is invalid. In the following description, data that is valid may simply be referred to as "valid data", and data that is invalid may simply be referred to as "invalid data".

Wenn die Daten gültig sind, ist der Datenwert der gültigen Daten der Neueste unter den Datenwerten, die den gleichen Identifizierer haben. Wenn die Daten ungültig sind, ist der Datenwert der ungültigen Daten nicht der neueste Wert unter den Datenwerten, die den gleichen Identifizierer haben. If the data is valid, the data value of the valid data is the latest among the data values having the same identifier. If the data is invalid, the data value of the invalid data is not the latest value among the data values having the same identifier.

Das heißt, selbst wenn es viele Datenwerte gibt, die den gleichen Identifizierer haben, hat grundsätzlich nur ein Datenwert das Flag, welches zeigt, dass der Datenwert gültig ist. Ferner werden durch Umschalten der Daten, entweder einen gültigen/ungültigen Zustand zu haben, d. h. durch Wechseln/Schalten des Flags entweder in den ersten Zustand oder in den zweiten Zustand, die Daten, die einen spezifischen Identifizierer haben, aktualisiert. That is, even if there are many data values having the same identifier, basically only one data value has the flag showing that the data value is valid. Further, by switching the data to either have a valid / invalid state, i. H. by changing / switching the flag to either the first state or the second state, the data having a specific identifier is updated.

Als Nächstes wird der Schreibprozess, der Daten in die erste Region 200 des Speicherbereichs des Flash-Speichers 6 schreibt, mit Bezug auf 6 beschrieben. Next, the writing process that transfers data to the first region 200 the memory area of the flash memory 6 writes with reference to 6 described.

Der Schreibprozess wird gestartet, wenn die CPU 2 eine Schreibaufforderung zum Schreiben von Schreibzieldaten (d. h. zu schreibenden Daten) empfängt. The writing process is started when the CPU 2 receives a write request for writing write target data (ie, data to be written).

In Schritt 21 (d. h. S21) führt die CPU 2 einen Prozess, d. h. eine Leer-Prüfung, ausgehend von dem Kopf der ersten Region 200 durch und detektiert einen leeren Bereich. Wenn ein leerer Bereich, der eine Ein-Wort-Länge hat, detektiert wird, schreitet der Prozess zu Schritt 22 fort. In step 21 (ie, S21), the CPU performs 2 a process, ie an empty check, starting from the head of the first region 200 through and detects an empty area. If an empty area having a one-word length is detected, the process proceeds to step 22.

In Schritt 22 führt die CPU 2 einen Prozess durch, der ermittelt, ob der in Schritt 21 detektierte Bereich die Daten hat. Das heißt, insbesondere ermittelt, ob der in Schritt 21 detektierte Bereich als der Kopfteil 12 einer Kombinationseinheit 15 dient, die irgendwelche Daten in dem Datenteil 14 hat. In anderen Worten erachtet die CPU 2 den detektierten Ein-Wort-Bereich als einen ersten Bereich einer Kombinationseinheit 15 und erachtet den nächsten (d. h. den zweiten) Ein-Wort-Bereich als den Managementteil 13 und erachtet den nächsten (d. h. den dritten) Ein-Wort-Bereich als den Kopf des Datenteils 14, um zu ermitteln, ob es irgendwelche Daten in dieser Kombinationseinheit 15 gibt. In step 22, the CPU performs 2 a process that determines whether the area detected in step 21 has the data. That is, in particular, it determines whether the area detected in step 21 as the header 12 a combination unit 15 serves any data in the data part 14 Has. In other words, the CPU considers 2 the detected one-word area as a first area of a combination unit 15 and considers the next (ie the second) one-word area as the management part 13 and considers the next (ie the third) one-word area as the head of the data part 14 to determine if there is any data in this combination unit 15 gives.

Insbesondere führt die CPU 2 eine Leer-Prüfung für den dritten Ein-Wort-Bereich durch. Da die Daten schon in den Kopf des Datenteils 14 geschrieben sind, wenn der dritte Ein-Wort-Bereich in dem zweiten Zustand ist, stellt die CPU 2 fest, dass eine Kombinationseinheit 15, welche den in Schritt 21 detektierten Bereich als den Kopfteil 12 hat, die Daten hat. In particular, the CPU performs 2 an empty check for the third one-word range. Since the data already in the head of the data part 14 are written when the third one-word area is in the second state, the CPU provides 2 notice that a combination unit 15 indicative of the area detected in step 21 as the header 12 has, the data has.

Da das Schreiben in den Kopf des Datenteils 14 noch nicht durchgeführt worden ist, wenn der dritte Ein-Wort-Bereich in dem ersten Zustand, d. h. ein leerer Bereich, ist, stellt die CPU 2 fest, dass eine Kombinationseinheit 15, welche den in Schritt 21 detektierten Bereich als den Kopfteil 12 hat, in solch einem Fall nicht irgendwelche Daten hat, das heißt, wenn der dritte Ein-Wort-Bereich in dem ersten Zustand ist. Since the writing in the head of the data part 14 has not yet been performed when the third one word area is in the first state, ie, an empty area, sets the CPU 2 notice that a combination unit 15 indicative of the area detected in step 21 as the header 12 in such a case does not have any data, that is, when the third one-word area is in the first state.

Eine Kombinationseinheit 15, die den in Schritt 21 detektierten leeren Bereich als den Kopfteil 12 hat, hat keine Daten, was bedeutet, dass ein „beschreibbarer“ leerer Bereich gefunden worden ist. In anderen Worten ist die Kombinationseinheit 15 die letzte Kombinationseinheit 15 an einem Ende von aufeinanderfolgenden Speicherungen der Kombinationseinheiten 15 (d. h., an einem Ende einer Reihe von Kombinationseinheiten 15), die ausgehend von dem Kopf der ersten Region 200 geschrieben worden sind. A combination unit 15 indicative of the empty area detected in step 21 as the header 12 has no data, meaning that a "writable" empty area has been found. In other words, the combination unit 15 the last combination unit 15 at one end of successive memories of the combining units 15 (ie, at one end of a series of combination units 15 ), starting from the head of the first region 200 have been written.

Wenn eine bejahende Ermittlung in Schritt 22 gemacht worden ist, schreitet der Prozess zu Schritt 23 fort. If an affirmative determination has been made in step 22, the process proceeds to step 23.

In Schritt 23 führt die CPU 2 einen Prozess durch, der ermittelt, ob die als existierend in Schritt 22 ermittelten Daten gültige Daten sind. In step 23, the CPU performs 2 a process that determines whether the data determined to exist in step 22 is valid data.

Insbesondere führt die CPU 2 einen Prozess durch, der ermittelt, ob die in Schritt 22 festgestellten Daten gültige Daten sind, indem sie eine Leer-Prüfung für den zweiten Ein-Wort-Bereich vor dem dritten Ein-Wort-Bereich, der in Schritt 22 verarbeitet worden ist, durchführt. In particular, the CPU performs 2 performs a process that determines whether the data found in step 22 is valid data by performing an empty check for the second one-word area before the third one-word area processed in step 22 ,

Wenn der zweite Ein-Wort-Bereich, d. h. das Flag, festgestellt wird, in dem ersten Zustand zu sein, stellt die CPU 2 fest, dass die als existierend in Schritt 22 ermittelten Daten gültige Daten sind. When the second one-word area, ie flag, is determined to be in the first state, the CPU stops 2 determines that the data determined to exist in step 22 is valid data.

Wenn auf der anderen Seite der zweite Ein-Wort-Bereich, d. h. das Flag, ermittelt wird, in dem zweiten Zustand zu sein, stellt die CPU 2 fest, dass die als existierend in Schritt 22 ermittelten Daten ungültige Daten sind. On the other hand, if the second one-word area, ie the flag, is determined to be in the second state, the CPU stops 2 determines that the data found to exist in step 22 is invalid data.

Wenn eine negative Feststellung in Schritt 23 gemacht wird, kehrt der Prozess zu Schritt 21 zurück. If a negative determination is made in step 23, the process returns to step 21.

In Schritt 21 führt die CPU 2 einen Prozess durch, der einen leeren Bereich detektiert, welcher als der Kopfteil 12 der nächsten Kombinationseinheit 15 dient, die als nächste auf die Kombinationseinheit 15 folgt, die den im vorherigen Schritt 21 detektierten Kopfteil 12 hat. In step 21, the CPU performs 2 a process that detects an empty area, which is the header 12 the next combination unit 15 serves as the next on the combination unit 15 follows that the detected in the previous step 21 header 12 Has.

Wenn eine bejahende Feststellung in Schritt 23 gemacht wird, schreitet der Prozess zu Schritt 24 fort. If an affirmative determination is made in step 23, the process proceeds to step 24.

Im Schritt 24 führt die CPU 2 einen Prozess durch, der feststellt, ob der Identifizierer der Kombinationseinheit 15, die in Schritt 23 ermittelt worden ist, die gültigen Daten zu haben, der gleiche Identifizierer wie der Identifizierer der Schreibzieldaten ist. In step 24, the CPU performs 2 a process that determines if the identifier of the combination unit 15 which has been determined in step 23 to have the valid data which is the same identifier as the identifier of the write target data.

Insbesondere führt die CPU 2 einen Prozess durch, der den Identifizierer basierend auf dem in den Bereich nach dem dritten Ein-Wort-Bereich, nächstfolgend auf den in Schritt 23 verarbeiteten zweiten Ein-Wort-Bereich, geschriebenen Bitwert ermittelt. In particular, the CPU performs 2 a process that determines the identifier based on the bit value written in the area after the third one-word area, subsequent to the second one-word area processed in step 23.

Wenn eine negative Feststellung in Schritt 24 gemacht wird, kehrt der Prozess zu Schritt 21 zurück. If a negative determination is made in step 24, the process returns to step 21.

In Schritt 21 führt die CPU 2, genau wie bei dem negativen Feststellungsvorgang in Schritt 23, einen Prozess durch, der einen leeren Bereich detektiert, der als der Kopfteil 12 der nächsten Kombinationseinheit 15 dient, die auf die in dem vorherigen Schritt 21 detektierte Kombinationseinheit 15 als Nächstes folgt. In step 21, the CPU performs 2 , just as in the negative determination process in step 23, a process detecting an empty area other than the header 12 the next combination unit 15 serving the combination unit detected in the previous step 21 15 next follows.

Wenn eine bejahende Feststellung in Schritt 24 gemacht wird, schreitet der Prozess zu Schritt 25 fort. If an affirmative determination is made in step 24, the process proceeds to step 25.

In Schritt 25 führt die CPU 2 einen Datenschreibprozess durch. In step 25, the CPU performs 2 a data writing process.

Der konkrete Inhalt des Datenschreibprozesses wird mit Bezug auf 7 beschrieben. The concrete content of the data writing process will be related to 7 described.

In Schritt 31 (d. h. S31) führt die CPU 2 einen Prozess durch, der ermittelt, ob es irgendeinen beschreibbaren Bereich, d. h. den leeren Bereich, gibt, in welchen die Schreibzieldaten von der Kombinationseinheit 15 schreibbar sind. In step 31 (ie, S31), the CPU performs 2 a process which determines if there is any writable area, ie the empty area, in which the write destination data from the combination unit 15 are writable.

Wenn eine bejahende Feststellung in Schritt 31 gemacht wird, schreitet der Prozess zu Schritt 32 fort. If an affirmative determination is made in step 31, the process proceeds to step 32.

In Schritt 32 führt die CPU 2 den Datenschreibprozess durch, der die Schreibzieldaten, d. h. den Identifizierer und den Datenwert, in die leeren Bereiche beginnend an dem dritten Ein-Wort-Bereich des leeren Bereichs schreibt. Das heißt, indem die zwei leeren Bereiche nach der letzten Kombinationseinheit 15 an einem Ende von einer Reihe von aufeinanderfolgenden Kombinationseinheit-15-Speicherungen beginnend von dem Kopf der ersten Region 200 unbeschrieben gelassen beibehalten werden, beginnt das Schreiben der Schreibzieldaten in dem dritten Ein-Wort-Bereich, in Richtung auf die nachfolgenden leeren Bereiche. In step 32, the CPU performs 2 the data writing process which writes the writing target data, ie, the identifier and the data, into the blank areas starting at the third one-word area of the blank area. That is, placing the two empty areas after the last combination unit 15 at one end of a series of successive combination units- 15 Stores starting from the head of the first region 200 writing the write target data in the third one-word area, towards the subsequent empty areas.

Die Situation kann klarer mit Bezug auf 8 verstanden werden, welche einen Zustand der ersten Region 200 zeigt, nachdem der Prozess von Schritt 32 für die in 5 gezeigte erste Region 200 durchgeführt worden ist. The situation may be clearer with respect to 8th be understood, which is a state of the first region 200 shows after the process of step 32 for the in 5 shown first region 200 has been carried out.

Wie in 8 gezeigt, schreibt die CPU 2 die Schreibzieldaten, indem der Kopfteil 12 und der Managementteil 13 in leere Bereiche 51 und 52, d. h. in einen Zwei-Wortlängen-Bereich, geschrieben werden und indem der Datenteil 14 in einen Bereich 53 geschrieben wird, der in dem dritten Ein-Wort-Bereich beginnt und sich dahinter erstreckt, wobei alle davon eine Kombinationseinheit 15 eines Datenschreibens bilden. As in 8th shown, the CPU writes 2 the write target data by the header 12 and the management part 13 in empty areas 51 and 52 , ie in a two-word length range, and written by the data part 14 in an area 53 which starts in the third one-word area and extends behind it, all of which are a combination unit 15 form a data write.

Da der Managementteil 13 der geschriebenen Kombinationseinheit 15 der leere Bereich 52 ist, werden die Schreibzieldaten als gültige Daten geschrieben. Ferner wird, indem die Schreibzieldaten als eine Kombinationseinheit 15 an eine Position unmittelbar nach der in der ersten Region 200 gespeicherten letzten Kombinationseinheit 15 geschrieben werden, die Vielzahl von Kombinationseinheiten 15 als aufeinanderfolgende Kombinationseinheiten 15 gespeichert. As the management part 13 the written combination unit 15 the empty area 52 is, the write target data is written as valid data. Further, by using the write target data as a combination unit 15 to a position immediately after that in the first region 200 stored last combination unit 15 be written, the variety of combination units 15 as successive combination units 15 saved.

Nach Schritt 32 beendet die CPU 2 den Datenschreibprozess, und der Prozess schreitet zu Schritt 26 fort. After step 32, the CPU ends 2 the data writing process, and the process proceeds to step 26.

Wenn jedoch eine negative Feststellung in Schritt 31 gemacht wird, schreitet der Prozess zu Schritt 33 fort. However, if a negative determination is made in step 31, the process proceeds to step 33.

In Schritt 33 führt die CPU 2 einen Prozess durch, der die durch den Datenteil 14 gespeicherten gültigen Daten in dem RAM 4 sichert. Ein Beispiel eines Sicherns von gültigen Daten ist in 9(A) bis (C) gezeigt. In step 33, the CPU performs 2 a process that passes through the data part 14 stored valid data in the RAM 4 guaranteed. An example of saving valid data is in 9 (A) to (C) shown.

Wie in 9(A) gezeigt, sichern, wenn es keinen beschreibbaren Bereich gibt, in welchen die Schreibzieldaten in der ersten Region 200 geschrieben werden können, Kombinationseinheiten 61, 62, 63, die jeweils ein Flag in dem ersten Zustand haben, ihre gültigen Daten in dem Datenteil 14 in dem RAM 4, wie durch einen Pfeil A1 gezeigt. As in 9 (A) shown, if there is no writable area in which the write destination data in the first region 200 can be written, combination units 61 . 62 . 63 each having a flag in the first state, their valid data in the data part 14 in the RAM 4 as shown by an arrow A1.

In Schritt 34 führt die CPU 2 einen Prozess durch, der die in der ersten Region 200 gespeicherten Daten löscht, die schon in Schritt 33 gesichert worden sind. Wie in 9(B) gezeigt, wandelt sich der Bereich nach dem Löschen in einen leeren Bereich um, der in dem ersten Zustand ist. In step 34, the CPU performs 2 a process by, that in the first region 200 saved data already saved in step 33 have been. As in 9 (B) As shown, the area after erasure changes to an empty area that is in the first state.

In Schritt 35, der auf Schritt 34 folgt, führt die CPU 2 einen Prozess durch, der die in Schritt 33 gesicherten gültigen Daten in die/der erste/n Region 200, an welcher das Löschen der Daten in Schritt 34 durchgeführt worden ist, zurückbringt/wiederherstellt. Zum Beispiel wird ein durch einen Pfeil A2 in 9(A)/(B) gezeigter Prozess durchgeführt. In step 35, following step 34, the CPU performs 2 perform a process that transfers the valid data saved in step 33 to the first region (s) 200 at which the deletion of the data has been performed in step 34, returns / restores. For example, an arrow indicated by an arrow A2 in FIG 9 (A) / (B) shown process performed.

In Schritt 36 schreibt die CPU 2 die Schreibzieldaten, d. h. den Identifizierer und den Datenwert, beginnend bei dem dritten Ein-Wort-Bereich in die leeren Bereiche, indem sie die zwei leeren Bereiche nach der letzten Kombinationseinheit 15 an einem Ende einer sukzessiven Speicherung der Kombinationseinheiten 15 in Reihe beginnend von dem Kopf der ersten Region 200 unbeschrieben gelassen beibehält. Das heißt, wie in 9(C) gezeigt, werden die Schreibzieldaten als eine Kombinationseinheit 66 in dem leeren Bereich gespeichert. In step 36, the CPU writes 2 the write target data, ie, the identifier and the data value, starting at the third one-word area into the empty areas, passing the two empty areas after the last combination unit 15 at one end of a successive storage of the combining units 15 in series starting from the head of the first region 200 left blank. That is, as in 9 (C) As shown, the write target data becomes a combination unit 66 stored in the empty area.

Nach Schritt 36 beendet die CPU 2 den Datenschreibprozess, und der Prozess schreitet zu Schritt 26 fort. After step 36, the CPU ends 2 the data writing process, and the process proceeds to step 26.

In Schritt 26 wird ein Ungültigerklärungsprozess durchgeführt, der die Daten der Kombinationseinheit 15, die den gleichen Identifizierer hat, wie in Schritt 24 bestätigend festgestellt worden ist, ungültig erklärt. Ein Beispiel von Schritt 26 ist in 10 gezeigt. In step 26, an invalidation process is performed which includes the data of the combination unit 15 which has the same identifier as confirmed in step 24, invalidated. An example of step 26 is in 10 shown.

10 ist eine Darstellung einer Situation nach einem Durchführen eines Prozesses von Schritt 26 in der in 8 gezeigten ersten Region 200. Wie in 10 gezeigt, führt die CPU 2 einen Ungültigerklärungsprozess durch, der die Daten für ungültig erklärt, indem er in einen Flag-Bereich 54 einer Kombinationseinheit 15, die den gleichen Identifizierer wie die Schreibzieldaten hat, schreibt („ERKLÄRE DATEN GLEICHER ID UNGÜLTIG“ in S26 von 6). Auf solche Weise werden die neuesten Daten in alte Daten umgewandelt zu einer Zeit unmittelbar nach dem Schreiben. 10 FIG. 13 is an illustration of a situation after performing a process from step 26 in FIG 8th shown first region 200 , As in 10 shown, the CPU performs 2 a invalidation process that invalidates the data by placing it in a flag area 54 a combination unit 15 that has the same identifier as the write target data writes ("DECLARE DATA OF THE SAME ID INVALID" in S26 of FIG 6 ). In this way, the most recent data is converted to old data at a time immediately after writing.

Somit werden die Schreibzieldaten als die neuesten Daten von dem Prozess in Schritt 25 und von dem Prozess in Schritt 26 geschrieben, und die Daten der Kombinationseinheit 15, welche den gleichen Identifizierer wie die Schreibzieldaten haben, werden in alte Daten umgewandelt, und dadurch wird eine Aktualisierung der Daten abgeschlossen. Die CPU 2 beendet den Schreibprozess nach Schritt 26. Thus, the writing target data is written as the latest data from the process in step 25 and the process in step 26, and the data of the combining unit 15 which have the same identifier as the write target data are converted into old data, and thereby an update of the data is completed. The CPU 2 ends the writing process after step 26.

Wenn eine negative Feststellung in Schritt 22 gemacht wird, schreitet der Prozess zu Schritt 27 fort. If a negative determination is made in step 22, the process proceeds to step 27.

In Schritt 27 führt die CPU 2 den Datenschreibprozess genau wie in Schritt 25 durch. Das heißt, ein Prozess von Schritt 32 oder ein Prozess der Schritte 33–36 wird durchgeführt. Nach Schritt 32 oder Schritt 36 beendet die CPU 2 den Datenschreibprozess und beendet den Schreibprozess. In step 27, the CPU performs 2 the data writing process exactly as in step 25. That is, a process of step 32 or a process of steps 33-36 is performed. After step 32 or step 36, the CPU ends 2 the data writing process and ends the writing process.

[1-3. Leseprozess] [1-3. Reading process]

Der Leseprozess, der die in der ersten Region 200 des Speicherbereichs des Flash-Speichers 6 gespeicherten Daten liest, wird mit Bezug auf 11 beschrieben. Der Leseprozess wird gestartet, wenn die CPU 2 eine Leseaufforderung empfängt, Lesezieldaten (d. h. zu lesende Daten) zu lesen. The reading process that takes place in the first region 200 the memory area of the flash memory 6 stored data is read with reference to 11 described. The reading process is started when the CPU 2 a read request receives read destination data (ie data to be read).

In Schritt 71 (d. h. S71) führt die CPU 2 einen Prozess, d. h. eine Leer-Prüfung, beginnend von dem Kopf der ersten Region 200 durch und detektiert einen leeren Bereich. Wenn ein leerer Bereich, der eine Ein-Wort-Länge hat, detektiert wird, schreitet der Prozess zu Schritt 72 fort. In step 71 (ie, S71), the CPU performs 2 a process, ie an empty check, starting from the head of the first region 200 through and detects an empty area. If an empty area having a one-word length is detected, the process proceeds to step 72.

In Schritt 72 führt die CPU 2 einen Prozess durch, der feststellt, ob der in Schritt 71 detektierte Bereich die Daten hat. Das heißt, es wird insbesondere ermittelt, ob der in Schritt 71 detektierte Ein-Wort-Bereich als der Kopfteil 12 einer Kombinationseinheit 15 dient. Dies kann auch als eine Situation verstanden werden, in welcher die CPU 2 den detektierten Ein-Wort-Bereich als einen ersten Bereich in einer Kombinationseinheit 15 erachtet und den nächsten (d. h. den zweiten) Ein-Wort-Bereich als den Managementteil 13 erachtet und den noch nächsten (d. h. den dritten) Ein-Wort-Bereich als den Kopf des Datenteils 14 erachtet, um zu ermitteln, ob es irgendwelche Daten in dieser Kombinationseinheit 15 gibt. In step 72, the CPU performs 2 a process that determines whether the area detected in step 71 has the data. That is, in particular, it is determined whether the one-word area detected in step 71 is designated as the header 12 a combination unit 15 serves. This can also be understood as a situation in which the CPU 2 the detected one-word area as a first area in a combination unit 15 and the next (ie second) one-word area as the management part 13 and the next (ie the third) one-word area as the head of the data part 14 To determine if there is any data in this combination unit 15 gives.

Insbesondere führt die CPU 2 eine Leer-Prüfung an dem dritten Ein-Wort-Bereich durch. Wenn der dritte Ein-Wort-Bereich in dem zweiten Zustand ist, stellt die CPU 2 fest, dass eine Kombinationseinheit 15, die den in Schritt 71 detektierten Bereich als den Kopfteil 12 hat, die Daten hat. In particular, the CPU performs 2 an empty check on the third one-word area. When the third one-word area is in the second state, the CPU stops 2 notice that a combination unit 15 indicative of the area detected in step 71 as the header 12 has, the data has.

Wenn auf der anderen Seite der dritte Ein-Wort-Bereich in dem ersten Zustand ist, d. h. ein leerer Bereich ist, stellt die CPU 2 fest, dass eine Kombinationseinheit 15, welche als den Kopfteil 12 den in Schritt 71 detektierten Bereich hat, keine Daten hat. On the other hand, if the third one-word area is in the first state, ie, is an empty area, the CPU stops 2 notice that a combination unit 15 , which as the headboard 12 has the area detected in step 71, has no data.

Beachte, dass, wenn eine Kombinationseinheit 15, die den in Schritt 71 detektierten leeren Bereich als den Kopfteil 12 hat, keine Daten hat, das bedeutet, dass ein „beschreibbarer“ leerer Bereich gefunden worden ist, das heißt, dass die ermittelte Kombinationseinheit 15 die letzte Kombinationseinheit 15 an einem Ende einer sukzessiven Speicherung der Kombinationseinheiten 15 geschrieben beginnend von dem Kopf der ersten Region 200 ist. Note that if a combination unit 15 indicative of the empty area detected in step 71 as the header 12 has no data, that is, a "writable" empty area has been found, that is, the combination unit determined 15 the last combination unit 15 at one end of a successive storage of the combining units 15 written starting from the head of the first region 200 is.

Wenn eine bejahende Feststellung in Schritt 72 gemacht wird, schreitet der Prozess zu Schritt 73 fort. If an affirmative determination is made in step 72, the process proceeds to step 73.

In Schritt 73 führt die CPU 2 einen Prozess durch, der ermittelt, ob die als existierend in Schritt 72 ermittelten Daten gültige Daten sind. In step 73, the CPU performs 2 a process that determines whether the data determined to exist in step 72 is valid data.

Insbesondere führt die CPU 2 einen Prozess durch, der ermittelt, ob die in Schritt 72 ermittelten Daten gültige Daten sind, indem sie eine Leer-Prüfung an dem zweiten Ein-Wort-Bereich vor dem dritten Ein-Wort-Bereich, der in Schritt 72 verarbeitet worden ist, durchführt. In particular, the CPU performs 2 perform a process that determines if the data obtained in step 72 is valid data by performing an empty check on the second one-word area before the third one-word area processed in step 72 ,

Wenn der zweite Ein-Wort-Bereich, d. h. das Flag, in dem ersten Zustand ist, stellt die CPU 2 fest, dass die in Schritt 72 ermittelten Daten gültige Daten sind. When the second one-word area, ie the flag, is in the first state, the CPU stops 2 determines that the data obtained in step 72 is valid data.

Wenn auf der anderen Seite der zweite Ein-Wort-Bereich, d. h. das Flag, in dem zweiten Zustand ist, stellt die CPU 2 fest, dass die in Schritt 72 ermittelten Daten ungültige Daten sind. On the other hand, if the second one-word area, ie the flag, is in the second state, the CPU stops 2 determines that the data obtained in step 72 is invalid data.

Wenn eine negative Feststellung in Schritt 73 gemacht wird, kehrt der Prozess zu Schritt 71 zurück. If a negative determination is made in step 73, the process returns to step 71.

In Schritt 71 führt die CPU 2 einen Prozess durch, der einen leeren Bereich detektiert, welcher als der Kopfteil 12 der nächsten Kombinationseinheit 15 dient, die als Nächstes auf die Kombinationseinheit 15 folgt, die den im vorherigen Schritt 71 detektierten Kopfteil 12 hat. In step 71, the CPU performs 2 a process that detects an empty area, which is the header 12 the next combination unit 15 serves next to the combination unit 15 follows the head part detected in the previous step 71 12 Has.

Wenn eine bejahende Feststellung in Schritt 73 gemacht wird, schreitet der Prozess zu Schritt 74 fort. If an affirmative determination is made in step 73, the process proceeds to step 74.

In Schritt 74 führt die CPU 2 einen Prozess durch, der ermittelt, ob der Identifizierer einer Kombinationseinheit 15, die die in Schritt 73 ermittelten gültigen Daten hat, ein Identifizierer der Lesezieldaten ist. In step 74, the CPU performs 2 a process that determines if the identifier of a combination unit 15 having the valid data obtained in step 73 is an identifier of the read target data.

Insbesondere führt die CPU 2 einen Prozess durch, der basierend auf den Bitwerten, die in den dritten und nachfolgende Ein-Wort-Bereiche, das heißt, in den Bereich nach dem zweiten Ein-Wort-Bereich, der in Schritt 73 verarbeitet worden ist, geschrieben sind, ermittelt, ob der Identifizierer derjenige für die Lesezieldaten ist. In particular, the CPU performs 2 determines a process written based on the bit values written in the third and subsequent one-word areas, that is, in the area after the second one-word area processed in step 73, whether the identifier is the one for the read target data.

Wenn eine negative Feststellung in Schritt 74 gemacht wird, kehrt der Prozess zu Schritt 71 zurück. If a negative determination is made in step 74, the process returns to step 71.

In Schritt 71, welcher ähnlich zu einer negativen Feststellung in Schritt 73 ist, führt die CPU 2 einen Prozess durch, der einen leeren Bereich detektiert, der als der Kopfteil 12 der nächsten Kombinationseinheit 15 dient, die als Nächstes auf die Kombinationseinheit 15 folgt, welche den im vorherigen Schritt 71 detektierten Kopfteil 12 hat. In step 71, which is similar to a negative determination in step 73, the CPU performs 2 a process that detects a blank area that is the header 12 the next combination unit 15 serves next to the combination unit 15 which follows the head part detected in the previous step 71 12 Has.

Wenn eine bejahende Feststellung in Schritt 74 gemacht wird, schreitet der Prozess zu Schritt 75 fort. If an affirmative determination is made in step 74, the process proceeds to step 75.

In Schritt 75 führt die CPU 2 einen Prozess durch, der die in dem Datenteil 14 der Kombinationseinheit 15, welche den Identifizierer hat, der in Schritt 74 als der Identifizierer der Lesezieldaten ermittelt worden ist, gespeicherten Daten liest. In step 75, the CPU performs 2 a process that takes place in the data part 14 the combination unit 15 which has the identifier which has been determined in step 74 as the identifier of the read target data, reads data stored.

Die CPU 2 beendet den Leseprozess nach Schritt 75. The CPU 2 ends the reading process after step 75.

Wenn eine negative Feststellung in Schritt 72 gemacht wird, stellt die CPU 2 fest, dass es keine Lesezieldaten gibt, und beendet den Leseprozess. If a negative determination is made in step 72, the CPU stops 2 determines that there is no read target data and ends the reading process.

[1-4. Wirkungen] [1-4. effects]

Basierend auf dem im Detail oben beschriebenen ersten Ausführungsbeispiel können die folgenden Wirkungen verwirklicht werden.

  • (1a) Die CPU 2 des ersten Ausführungsbeispiels führt einen Prozess durch, welcher Daten so in den Speicherbereich schreibt, dass die Vielzahl von Kombinationseinheiten 15 aufeinanderfolgend beginnend von dem Kopf der ersten Region 200 gespeichert werden. Das heißt, die CPU 2 führt einen Prozess durch, der eine Vielzahl von Datenstücken eines nach dem anderen in den Speicherbereich mittels Teilen des Speicherbereichs in Abschnitte (d. h. in eine Vielzahl von Speicherbereiche) unter Verwendung des leeren Bereichs schreibt.
Based on the first embodiment described in detail above, the following effects can be realized.
  • (1a) The CPU 2 of the first embodiment performs a process which writes data into the memory area such that the plurality of combination units 15 successively starting from the head of the first region 200 get saved. That is, the CPU 2 performs a process that writes a plurality of pieces of data into the memory area one by one by dividing the memory area into sections (ie, into a plurality of memory areas) using the blank area.

Deshalb ist der Nachteil, viele nicht verwendete Bereiche in dem Speicherbereich zu haben, die von der Datenlänge abhängen, was durch eine Speicherbereich-Vor-(Auf-)Teilungs-Maßnahme und eine Informationsmanagementvorrichtung, die eine solche Maßnahme implementiert, verursacht wird, überwunden. Das heißt, die Informationsmanagementvorrichtung gemäß dem ersten Ausführungsbeispiel der vorliegenden Erfindung verhindert oder begrenzt solche nicht verwendeten Bereiche, wodurch die Speicherverwendungseffizienz verbessert wird.

  • (1b) Die CPU 2 des ersten Ausführungsbeispiels führt einen Prozess durch, der einen leeren Bereich in der ersten Region 200 detektiert. Deshalb muss eine Adresse einer Kopfposition der Daten nicht zum Lesen oder Schreiben der Daten spezifiziert werden. Das heißt, eine Kopfposition der Daten, oder eine Speicherposition der Daten in dem Speicherbereich, ist durch Detektieren eines leeren Bereichs identifizierbar. Somit werden, basierend auf dem detektierten leeren Bereich, der eine Datenspeicherposition anzeigt, die Lesezieldaten gelesen.
  • (1c) Die CPU 2 des ersten Ausführungsbeispiels führt einen Prozess durch, welcher einen Identifizierer in einen Kopf der Daten schreibt. Ferner führt die CPU 2 einen Prozess durch, der die Lesezieldaten basierend auf dem Identifizierer in dem Kopf der Daten liest.
Therefore, the disadvantage is to have many unused areas in the memory area that depend on the data length, which is caused by a memory area pre-dividing action and an information managing device implementing such a measure. That is, the information management apparatus according to the first embodiment of the present invention prevents or limits such unused areas, thereby improving the memory usage efficiency.
  • (1b) The CPU 2 of the first embodiment performs a process that includes an empty area in the first region 200 detected. Therefore, an address of a head position of the data need not be specified for reading or writing the data. That is, a head position of the data, or a storage position of the data in the storage area, is identifiable by detecting an empty area. Thus, based on the detected empty area, the indicates a data storage position that read read target data.
  • (1c) The CPU 2 of the first embodiment performs a process which writes an identifier in a header of the data. Furthermore, the CPU performs 2 a process that reads the read target data based on the identifier in the header of the data.

Deshalb können Daten, die einen spezifischen Identifizierer haben, in den Speicherbereich geschrieben werden, und Daten, die einen spezifischen Identifizierer haben, können aus dem Speicherbereich ausgelesen werden. Somit können viele Arten von Daten unverwechselbar gespeichert und erkannt werden.

  • (1d) Die CPU 2 des ersten Ausführungsbeispiels führt einen Prozess durch, der die Schreibzieldaten als eine Kombinationseinheit 15 an eine Endposition der letzten Kombinationseinheit 15 an ein Ende/einen Schwanz einer Reihe von Kombinationseinheiten 15, die aufeinanderfolgend beginnend von dem Kopf der ersten Region 200 memoriert worden sind, auf eine „anhängende“ Weise schreibt. Somit können, ungeachtet der Datenlänge, die Schreibzieldaten an eine Endposition hinter der letzten Kombinationseinheit 15 geschrieben werden.
  • (1e) Die CPU 2 des ersten Ausführungsbeispiels führt einen Ungültigerklärungsprozess durch, der gültige Schreibzieldaten für ungültig erklärt, wenn der gleiche, d. h. gültige, Identifizierer in zwei unterschiedlichen Datenstücken verwendet wird. Das heißt, indem zwei Ein-Wort-Leerbereiche vor die, d. h. als ein Kopf von den, Schreibzieldaten geschrieben wird, werden die gültigen Daten für ungültig erklärt.
Therefore, data having a specific identifier can be written in the memory area, and data having a specific identifier can be read out from the memory area. Thus, many kinds of data can be memorably stored and recognized.
  • (1d) The CPU 2 of the first embodiment performs a process that the write target data as a combination unit 15 to an end position of the last combination unit 15 at one end / tail of a series of combination units 15 which are successively starting from the head of the first region 200 have been memorized, in a "pending" way. Thus, regardless of the data length, the write target data may be at an end position after the last combination unit 15 to be written.
  • (1e) The CPU 2 of the first embodiment performs an invalidation process invalidating valid write target data when the same, ie, valid, identifier is used in two different pieces of data. That is, by writing two one-word void areas before, that is, as a head of, the write destination data, the valid data is invalidated.

Deshalb werden die neuesten Daten in alte Daten umgewandelt unmittelbar, nachdem die Schreibzieldaten als die neuesten Daten geschrieben worden sind. Somit kann, ohne die alten Daten zu löschen, eine Aktualisierung der Daten durchgeführt werden. Therefore, the newest data is converted to old data immediately after the write target data has been written as the newest data. Thus, without deleting the old data, an update of the data can be performed.

Ferner führt die CPU 2 des ersten Ausführungsbeispiels einen Prozess durch, der ermittelt, ob Daten gültig oder ungültig sind, und ermittelt den Identifizierer der Daten. Deshalb wird ein Aktualisierungszustand der Daten für jeden der Datenzustände erkannt. Somit werden die neuesten Lesezieldaten ermittelt und gelesen.

  • (1f) Wenn die CPU 2 des ersten Ausführungsbeispiels die Schreibzieldaten nicht als eine Kombinationseinheit 15 in die leeren Bereiche in der ersten Region 200 schreiben kann, d. h. wenn die beschreibbaren Bereiche in der ersten Region 200 ungenügend sind, sichert die CPU 2 die gültigen Daten in dem RAM 4 und löscht all die Daten in der ersten Region 200.
Furthermore, the CPU performs 2 of the first embodiment, a process that determines whether data is valid or invalid, and determines the identifier of the data. Therefore, an update state of the data is recognized for each of the data states. Thus, the latest read target data is detected and read.
  • (1f) If the CPU 2 of the first embodiment, the write target data not as a combination unit 15 into the empty areas in the first region 200 can write, ie if the writable areas in the first region 200 are insufficient, the CPU secures 2 the valid data in the RAM 4 and deletes all the data in the first region 200 ,

Deshalb sind, selbst wenn die erste Region 200 des Speicherbereichs vollständig von den Daten besetzt ist, d. h. selbst wenn die erste Region 200 mit den Daten „bis zum Hals“ gefüllt ist, beschreibbare Bereiche in dem Speicherbereich des Flash-Speichers 6 reservierbar, um das Schreiben von Daten in den Speicherbereich zu ermöglichen. That's why, even if the first region 200 of the memory area is completely occupied by the data, ie even if the first region 200 is filled with the data "to the neck", writable areas in the memory area of the flash memory 6 reservable to allow the writing of data in the memory area.

Bei dem ersten Ausführungsbeispiel kann der Flash-Speicher 6 als ein nichtflüchtiger Speicher bezeichnet werden. Die CPU 2 kann, wenn sie die Schritte S32 und S36 durchführt, als ein „Schreiber“ bezeichnet werden, und die CPU 2 kann, wenn sie die Schritte S71–S75 durchführt, als ein Leser bezeichnet werden. In the first embodiment, the flash memory 6 be referred to as a non-volatile memory. The CPU 2 For example, if performing steps S32 and S36, it may be referred to as a "writer" and the CPU 2 For example, when performing steps S71-S75, it may be referred to as a reader.

Wenn die CPU 2 die Schritte S21 und S22 durchführt, kann sie als ein Leer-Detektor bezeichnet werden, die CPU 2 kann, wenn sie die Schritte S23 und S24 durchführt, als ein Datendetektor bezeichnet werden, und die CPU 2 kann, wenn sie Schritt S26 durchführt, als ein Ungültigerklärungsprozessor bezeichnet werden. Der Managementteil 13 kann als ein Flag-Bereich bezeichnet werden. If the CPU 2 performing steps S21 and S22, it may be referred to as an empty detector, the CPU 2 For example, if performing steps S23 and S24, it may be referred to as a data detector, and the CPU 2 For example, if it performs step S26, it may be referred to as an invalidation processor. The management part 13 may be referred to as a flag area.

Der RAM 4 kann als ein separater Speicher bezeichnet werden. Die CPU 2, die die Schritte S33–S35 durchführt, kann als ein Datensicherer bezeichnet werden. The RAM 4 can be referred to as a separate store. The CPU 2 that performs steps S33-S35 may be referred to as a data save.

[2. Zweites Ausführungsbeispiel] [2nd Second embodiment]

[Unterschied zum ersten Ausführungsbeispiel] [Difference from the first embodiment]

Da die Konfiguration des zweiten Ausführungsbeispiels der vorliegenden Erfindung im Wesentlichen die gleiche wie diejenige des ersten Ausführungsbeispiels ist, konzentriert sich die folgende Beschreibung auf Unterschiede des zweiten Ausführungsbeispiels in Bezug auf das erste Ausführungsbeispiel. Die gleichen Bezugsziffern wie bei dem ersten Ausführungsbeispiel repräsentieren die gleiche Ausgestaltung oder Komponente, und insofern sind deren jeweilige Beschreibungen der Kürze halber weggelassen worden. Since the configuration of the second embodiment of the present invention is substantially the same as that of the first embodiment, the following description focuses on differences of the second embodiment with respect to the first embodiment. The same reference numerals as in the first embodiment represent the same configuration or component, and thus their respective descriptions have been omitted for the sake of brevity.

Gemäß dem oben erwähnten ersten Ausführungsbeispiel führt die CPU 2, in dem Schreibprozess, einen Prozess durch, der die in der ersten Region 200 gespeicherten gültigen Daten in dem RAM 4 sichert. According to the above-mentioned first embodiment, the CPU performs 2 , in the writing process, a process by, that in the first region 200 stored valid data in the RAM 4 guaranteed.

Bei dem zweiten Ausführungsbeispiel führt die CPU 2 jedoch einen unterschiedlichen Prozess durch, der die in der ersten Region 200 gespeicherten gültigen Daten in einer zweiten Region 300, die in einem unterschiedlichen Block 10 ist, sichert. In the second embodiment, the CPU performs 2 however, a different process by that in the first region 200 stored valid data in a second region 300 that in a different block 10 is, secures.

Die zweite Region 300 ist einer der Vielzahl von Blöcken 10 in dem Speicherbereich des Flash-Speichers 6 und ist ein zu dem Block 10, der die erste Region 200 hat, unterschiedlicher Block 10. The second region 300 is one of the multitude of blocks 10 in the memory area of the flash memory 6 and is one to the block 10 who is the first region 200 has, different block 10 ,

[2-2. Schreibprozess] [2-2. Writing process]

Der von der CPU 2 des zweiten Ausführungsbeispiels durchgeführte Schreibprozess ist in weiteren Details unten beschrieben. Die CPU 2 bei dem zweiten Ausführungsbeispiel führt den Schreibprozess auf eine in den Flussdiagrammen der 12 und 13 detailliert dargestellte Weise durch, welche die Flussdiagramme in 6 und 7 des ersten Ausführungsbeispiels ersetzen. The one from the CPU 2 The writing process performed in the second embodiment is described in further detail below. The CPU 2 In the second embodiment, the writing process leads to one in the flowcharts of 12 and 13 shown in detail, the flowcharts in 6 and 7 replace the first embodiment.

Da ein Prozess von Schritt 81–Schritt 84 in 12 der gleiche ist wie ein Prozess von Schritt 21–Schritt 24 in 6, wird die Beschreibung von diesem Teil weggelassen. Since a process of step 81-step 84 in FIG 12 the same is like a process from step 21-step 24 in 6 , the description of this part is omitted.

Wenn eine bejahende Feststellung in Schritt 84 (d. h. S84) gemacht wird, schreitet der Prozess zu Schritt 85 fort. If an affirmative determination is made in step 84 (i.e., S84), the process proceeds to step 85.

In Schritt 85 führt die CPU 2 einen Datenschreibprozess durch. Der konkrete Inhalt des Datenschreibprozesses wird mit Bezug auf 13 beschrieben. In step 85, the CPU performs 2 a data writing process. The concrete content of the data writing process will be related to 13 described.

In Schritt 91 (d. h. S91) führt die CPU 2 einen Prozess durch, der ermittelt, ob es irgendeinen beschreibbaren Bereich, d. h. einen leeren Bereich, gibt, in welchen die Schreibzieldaten durch die Kombinationseinheit 15 schreibbar sind. Wenn eine bejahende Feststellung in Schritt 91 gemacht wird, schreitet der Prozess zu Schritt 92 fort. In step 91 (ie, S91), the CPU performs 2 a process which determines whether there is any writable area, ie, an empty area, in which the writing destination data is given by the combining unit 15 are writable. If an affirmative determination is made in step 91, the process proceeds to step 92.

In Schritt 92 führt die CPU 2 einen Datenschreibprozess durch, der die Schreibzieldaten, d. h. den Identifizierer und den Datenwert, in die leeren Bereiche beginnend an dem dritten leeren Ein-Wort-Bereich schreibt, d. h. indem die zwei leeren Bereiche beginnend von der letzten Kombinationseinheit 15, die an einem Ende von einer sukzessiven Speicherung von Kombinationseinheiten 15 in Reihe beginnend von dem Kopf der ersten Region 200 steht, unbeschrieben gelassen beibehalten werden. In step 92, the CPU performs 2 a data writing process which writes the writing target data, ie, the identifier and the data, into the empty areas starting at the third one-word empty area, that is, the two empty areas starting from the last combining unit 15 at one end of a successive storage of combination units 15 in series starting from the head of the first region 200 stands to be kept blank.

Nach Schritt 92 beendet die CPU 2 den Datenschreibprozess, und der Prozess schreitet zu Schritt 86 fort. After step 92, the CPU ends 2 the data writing process, and the process proceeds to step 86.

Wenn auf der anderen Seite eine negative Feststellung in Schritt 91 gemacht wird, schreitet der Prozess zu Schritt 93 fort. On the other hand, if a negative determination is made in step 91, the process proceeds to step 93.

In Schritt 93 führt die CPU 2 einen Prozess durch, der die in dem Datenteil 14 gespeicherten gültigen Daten in der zweiten Region 300 sichert, d. h. führt einen Datenbewegungsprozess durch. Ein Beispiel eines solchen Prozesses ist in 14(A) bis (F) gezeigt. In step 93, the CPU performs 2 a process that takes place in the data part 14 stored valid data in the second region 300 saves, ie performs a data movement process. An example of such a process is in 14 (A) to (F) shown.

Wie in 14(A) gezeigt, werden, wenn es keinen beschreibbaren Bereich, in welchen die Schreibzieldaten schreibbar sind, in der ersten Region 200 gibt, die in dem Datenteil 14, d. h. in Kombinationseinheiten 101, 102, 103, welche jeweils das Flag in dem ersten Zustand haben, gespeicherten gültigen Daten in der zweiten Region 300 gesichert, wie durch einen Pfeil B1 gezeigt. As in 14 (A) when there is no writable area in which the writing destination data is writable, in the first region 200 There are in the data part 14 ie in combination units 101 . 102 . 103 , each having the flag in the first state, stored valid data in the second region 300 secured as shown by an arrow B1.

Die zweite Region 300 ist ein vor einem Durchführen des Datenbewegungsprozesses, wie er in 14(B) gezeigt ist, leerer Bereich. The second region 300 is one before performing the data movement process as described in 14 (B) shown is empty area.

In Schritt 94 führt die CPU 2 einen Datenschreibprozess durch, der die Schreibzieldaten, d. h. den Identifizierer und den Datenwert, in die leeren Bereiche beginnend von dem dritten Ein-Wort-Bereich der leeren Bereiche schreibt, d. h. indem die zwei leeren Bereiche beginnend von der letzten Kombinationseinheit 15, die an einem Ende einer sukzessiven Speicherung der Kombinationseinheiten 15 in Reihe von dem Kopf der zweiten Region 300 steht, unbeschrieben gelassen beibehalten werden. Das heißt, wie in 14(D) gezeigt, werden die Schreibzieldaten in die/der zweite/n Region 300 als eine Kombinationseinheit 105 geschrieben/gespeichert. In step 94, the CPU performs 2 a data writing process which writes the writing target data, ie, the identifier and the data value, into the blank areas starting from the third one-word area of the blank areas, ie, the two blank areas starting from the last combining unit 15 at one end of a successive storage of the combination units 15 in series from the head of the second region 300 stands to be kept blank. That is, as in 14 (D) As shown, the writing target data becomes the second region 300 as a combination unit 105 written / stored.

Im anschließenden Schritt 95 führt die CPU 2 einen Ungültigerklärungsprozess durch, der die in der ersten Region 200 gespeicherten Daten löscht. Wie in 14(C) und (E) gezeigt, werden die in der ersten Region 200 memorierten Daten gelöscht. In the subsequent step 95, the CPU performs 2 an invalidation process by, that in the first region 200 deletes stored data. As in 14 (C) and (E) are shown in the first region 200 memorized data deleted.

Nach Schritt 95 beendet die CPU 2 den Datenschreibprozess, und der Prozess schreitet zu Schritt 86 fort. After step 95, the CPU ends 2 the data writing process, and the process proceeds to step 86.

In Schritt 86 führt die CPU 2 einen Prozess durch, der die Daten der Kombinationseinheit 15, die den Identifizierer hat, der bestätigend in Schritt 84 ermittelt worden ist, für ungültig erklärt. Die CPU 2 beendet den Schreibprozess nach Schritt 86. In step 86, the CPU performs 2 a process by which the data of the combination unit 15 having the identifier that has been confirmed in step 84, invalidated. The CPU 2 ends the writing process after step 86.

Wenn eine negative Feststellung in Schritt 82 gemacht wird, schreitet der Prozess zu Schritt 87 fort. If a negative determination is made in step 82, the process proceeds to step 87.

In Schritt 87 führt die CPU 2 einen Datenschreibprozess, genau wie Schritt 85, durch. Das heißt, in Schritt 87, einen Prozess von Schritt 92 oder eineb Prozess der Schritte 93–95. In step 87, the CPU performs 2 a data writing process, just like step 85. That is, in step 87, a process of step 92 or a process of steps 93-95.

Nach Schritt 92 oder Schritt 95 beendet die CPU 2 den Datenschreibprozess und beendet den Schreibprozess. After step 92 or step 95, the CPU ends 2 the data writing process and ends the writing process.

[2-3. Wirkungen] [2-3. effects]

Gemäß dem oben im Detail beschriebenen zweiten Ausführungsbeispiel werden zusätzlich zu den oben erwähnten Wirkungen (1a)–(1e) des ersten Ausführungsbeispiels auch die folgenden Wirkungen erzielt.

  • (2a) Die CPU 2 des zweiten Ausführungsbeispiels sichert die Daten in der zweiten Region 300, wenn es ungenügende leere Bereiche, d. h. beschreibbare Bereiche, gibt, in welche die Schreibzieldaten durch die Kombinationseinheit 15 schreibbar sind. In solch einem Fall werden, weil die zweite Region 300 ein als ein nichtflüchtiger Speicher implementierter Speicherbereich ist, selbst wenn eine Energieversorgung der Informationsmanagementvorrichtung 1 während des Löschens der Daten unterbrochen wird, die Daten in der zweiten Region 300 beibehalten, d. h. unbeschädigt gehalten.
According to the second embodiment described above in detail, in addition to the above-mentioned effects (1a) - (1e) of the first embodiment, the following effects are also obtained.
  • (2a) The CPU 2 of the second embodiment, the data secures in the second region 300 when there are insufficient blank areas, ie writeable areas, into which the write target data is given by the combination unit 15 are writable. In such a case, because the second region 300 is a memory area implemented as a non-volatile memory, even if a power supply of the information management device 1 while deleting the data is interrupted, the data in the second region 300 maintained, ie kept undamaged.

Bei dem zweiten Ausführungsbeispiel kann die CPU 2, welche die Schritte S92 und S94 durchführt, als ein Schreiber bezeichnet werden, die CPU 2, welche die Schritte S81 und S82 durchführt, kann als ein Leer-Detektor bezeichnet werden, die CPU 2, welche die Schritte S83 und S84 durchführt, kann als ein Datendetektor bezeichnet werden, die CPU 2, die Schritt S86 durchführt, kann als ein Ungültigerklärungsprozessor bezeichnet werden, und die CPU 2, die die Schritte S93 und S95 durchführt, kann als ein Datenbeweger bezeichnet werden. In the second embodiment, the CPU 2 performing steps S92 and S94 are referred to as a writer, the CPU 2 performing steps S81 and S82 may be referred to as an empty detector, the CPU 2 performing steps S83 and S84 may be referred to as a data detector, the CPU 2 that performs step S86 may be referred to as an invalidation processor, and the CPU 2 that performs steps S93 and S95 may be referred to as a data mover.

[Andere Ausführungsbeispiele] Other Embodiments

Die oben beschriebenen Ausführungsbeispiele der vorliegenden Erfindung können weiter modifiziert werden, um verschiedene Ausgestaltungen zu haben, ohne auf das Obige beschränkt zu sein.

  • (3a) Obgleich die Kombinationseinheit 15 in den obigen Ausführungsbeispielen organisiert ist, den Managementteil 13 zu umfassen, muss eine Kombinationseinheit keinen Managementteil umfassen. Das heißt, eine Kombinationseinheit kann organisiert sein, nur einen Kopfteil und einen Datenteil zu haben.
The above-described embodiments of the present invention may be further modified to have various configurations without being limited to the above.
  • (3a) Although the combination unit 15 is organized in the above embodiments, the management part 13 a combination unit does not have to comprise a management part. That is, a combination unit may be organized to have only a header and a data part.

Eine CPU kann einen Datenschreibprozess durchführen, der die Schreibzieldaten beginnend bei dem zweiten Ein-Wort-Bereich des leeren Bereichs in die leeren Bereiche schreibt, indem sie einen leeren Bereich beginnend von der letzten Kombinationseinheit, die an einem Ende einer sukzessiven Speicherung der Kombinationseinheiten in Reihe beginnend von dem Kopf des Blocks unbeschrieben gelassen beibehält. Auf solch eine Weise können, selbst wenn eine Kombinationseinheit organisiert ist, nur einen Kopfteil und einen Datenteil zu umfassen, Daten geeignet in den Speicherbereich als eine Reihe von aufeinanderfolgend darin gespeicherten Kombinationseinheiten schreiben. A CPU may perform a data writing process that writes the writing target data into the blank areas starting at the second one-word area of the blank area by placing a blank area starting from the last combining unit at one end of successively storing the combining units in series Retains blank starting from the head of the block. In such a way, even if a combination unit is organized to include only a header and a data part, data can be suitably written in the memory area as a series of combination units sequentially stored therein.

Ferner liest, wenn die Lesezieldaten gelesen werden, die CPU die letzten geschriebenen Daten als gültige Daten, basierend auf einer Ermittlung, dass die an einer Position näher an einem Ende der Reihe von Kombinationseinheiten in der ersten Region gespeicherten Daten gültig sind. Auf solch eine Weise können, selbst wenn eine Kombinationseinheit organisiert ist, nur einen Kopfteil und einen Datenteil zu beinhalten, die neuesten Lesezieldaten gelesen werden.

  • (3b) Obgleich die in dem Datenteil 14 gespeicherten Daten in dem oben erwähnten Ausführungsbeispiel als ein Identifizierer und ein Datenwert gezeigt sind, sind die Daten in dem Datenteil 14 nicht notwendigerweise auf solch eine Konfiguration beschränkt. Das heißt, die Daten in dem Datenteil können nur ein Datenwert sein.
  • (3c) Obgleich eine Schreibstartposition von Schreibzieldaten in den oben erwähnten Ausführungsbeispielen durch Durchführen eines Prozesses identifiziert wird, der drei leere Bereiche in einer Reihe, d. h. den ersten bis dritten leeren Bereich in Reihe, durch eine Detektion beginnend von dem Kopf der ersten oder zweiten Region 200 oder 300 detektiert, kann die Schreibstartposition durch andere Verfahren detektiert werden. Das heißt, die CPU kann einen Prozess durchführen, der zumindest drei leere Bereiche in einer Reihe durch eine an dem Kopf eines Blocks beginnende Detektion detektiert, um eine Schreibstartposition von Schreibzieldaten zu identifizieren.
  • (3d) Obgleich der Kopfteil 12 und der Managementteil 13 in den oben erwähnten Ausführungsbeispielen jeweils als ein Ein-Wort-Bereich gezeigt sind, sind der Kopfteil 12 und der Managementteil 13 nicht notwendigerweise auf solch eine Konfiguration beschränkt. Das heißt, ein Kopfteil kann zwei Wortlängen oder länger sein, und ein Managementteil kann zwei Wortlängen oder länger sein.
Further, when the read target data is read, the CPU reads the last written data as valid data based on a determination that the data stored at a position closer to one end of the row of combiner units in the first region is valid. In such a way, even if a combination unit is organized to include only a header and a data part, the latest read target data can be read.
  • (3b) Although those in the data part 14 stored data in the above-mentioned embodiment are shown as an identifier and a data value, the data in the data part 14 not necessarily limited to such a configuration. That is, the data in the data part can only be one data value.
  • (3c) Although a write start position of write target data in the above-mentioned embodiments is identified by performing a process, the three blank regions in a row, ie, the first to third empty regions in series, are detected by detection from the head of the first or second region 200 or 300 detected, the write start position can be detected by other methods. That is, the CPU may perform a process that detects at least three blank areas in a row by detection starting at the head of a block to identify a write start position of write target data.
  • (3d) Although the headboard 12 and the management part 13 In the above-mentioned embodiments, each shown as a one-word area are the header 12 and the management part 13 not necessarily limited to such a configuration. That is, a header may be two word lengths or longer, and a management part may be two word lengths or longer.

Ferner werden, bei dem oben erwähnten Ausführungsbeispiel, aufeinanderfolgende leere Bereiche als eine Reihe von zumindest drei „Ein-Wort“-Einheitsbereichen, oder als leere Bereiche von einer ersten Einheitsanzahl (d. h., aufeinanderfolgende leere Bereiche zumindest von einer ersten Einheitsanzahl), detektiert, indem eine Detektion an dem Kopf des Speicherbereichs beginnt. Jedoch können die aufeinanderfolgenden leeren Bereiche als eine Reihe von vier oder mehr Ein-Wort-Bereichen detektiert werden. Further, in the above-mentioned embodiment, consecutive blank areas are detected as a series of at least three "one-word" unit areas, or as empty areas of a first unit number (ie, successive empty areas of at least a first unit number) a detection begins at the head of the storage area. However, the consecutive empty areas may be detected as a series of four or more one-word areas.

Ferner werden, bei dem oben erwähnten Ausführungsbeispiel, die Daten in aufeinanderfolgende leere Bereiche geschrieben, die als eine Reihe von zwei Ein-Wort-Einheitsbereichen oder als leere Bereiche von einer zweiten Einheitsanzahl organisiert sind (d. h., geschrieben in die detektierten aufeinanderfolgenden leeren Bereiche in Reihe von einer zweiten Einheitsanzahl). Jedoch können die Daten in die aufeinanderfolgenden leeren Bereiche, die als eine Reihe von leeren Bereichen von der zweiten Einheitsanzahl, die kleiner als die erste Einheitsanzahl ist, organisiert sind, geschrieben werden. Die zweite Einheitsanzahl kann zumindest eine Wortlänge sein.

  • (3e) Obgleich die CPU 2 in dem oben erwähnten ersten Ausführungsbeispiel einen Sicherungsprozess durchführt, der die in der ersten Region 200 gespeicherten gültigen Daten in dem RAM 4 speichert, ist das Sicherungsziel nicht auf den RAM 4 beschränkt. Das heißt, das Sicherungsziel kann ein anderer flüchtiger Speicher als der RAM 4 sein.
  • (3f) Obgleich ein nicht bestimmbarer Zustand, in welchem der Bitwert nicht als „0“ oder „1“ bestimmt ist, als der erste Zustand definiert ist, und ein bestimmter Zustand, in welchem der Bitwert entweder als „0“ oder „1“ bestimmt ist, als der zweite Zustand definiert ist, ist die Definition dieser Zustände nicht auf das Obige beschränkt. Der erste Zustand kann ein Vor-Schreib-Zustand sein, d. h. ein Zustand vor dem Schreiben von Daten, und der zweite Zustand kann ein Nach-Schreib-Zustand sein, d. h. ein Zustand nach dem Schreiben von Daten.
  • (3g) Die Informationsmanagementvorrichtung 1 des oben erwähnten
Further, in the above-mentioned embodiment, the data is written in successive blank areas, which are written as a series of two one-word unit areas or as empty ones Areas of a second unit number are organized (ie, written in the detected consecutive empty areas in series of a second unit number). However, the data may be written in the successive empty areas organized as a series of empty areas from the second unit number smaller than the first unit number. The second unit number may be at least one word length.
  • (3e) Although the CPU 2 in the above-mentioned first embodiment, performs a backup process similar to that in the first region 200 stored valid data in the RAM 4 saves, the backup destination is not on the RAM 4 limited. That is, the backup destination may be a different volatile memory than the RAM 4 be.
  • (3f) Although an indeterminable state in which the bit value is not designated as "0" or "1" is defined as the first state, and a certain state in which the bit value is designated as either "0" or "1". is determined as the second state is defined, the definition of these states is not limited to the above. The first state may be a pre-write state, ie, a state prior to writing data, and the second state may be an after-write state, ie, a state after writing data.
  • (3g) The information management device 1 of the above

Ausführungsbeispiels kann in Fahrzeugen angeordnet und verwendet werden. Zum Beispiel kann eine Informationsmanagementvorrichtung als eine Vorrichtung verwendet werden, die einen Speicher von bei einer Fahrzeugsteuerung, wie beispielsweise einer Verbrennungsmotorsteuerung oder Ähnlichem, gelernten Werten aktualisiert. Embodiment may be arranged and used in vehicles. For example, an information management device may be used as a device that updates a memory of values learned in a vehicle control such as an engine control or the like.

Eine Informationsmanagementvorrichtung kann zum Beispiel auch als eine Vorrichtung verwendet werden, welche Freeze-Frame-Daten oder Ähnliches speichert, die Fahrzeugbenutzungszustandsdaten zum Zeitpunkt eines Fehlers umfassen, um das Fahrzeug zu diagnostizieren. For example, an information managing device may also be used as a device storing freeze frame data or the like including vehicle use state data at the time of failure to diagnose the vehicle.

Die Informationsmanagementvorrichtung der vorliegenden Erfindung ist unterschiedlich zu einer Informationsmanagementvorrichtung, die den Speicherbereich in mehrere Abschnitte zum Schreiben der Daten voraufteilt, wodurch nicht verwendete Bereiche in dem Speicherbereich verhindert werden oder weniger nicht verwendete Bereiche in dem Speicherbereich verursacht werden, selbst durch das Schreiben der Daten mit unterschiedlichen Datenlängen. Deshalb kann die Informationsmanagementvorrichtung der vorliegenden Erfindung geeignet und effektiv zum Speichern von Fahrzeugbenutzungszustandsdaten, die typischerweise ein großes Datenvolumen haben und unterschiedliche Datenlängen haben, sein.

  • (3h) Zwei oder mehr, d. h. eine Vielzahl von, durch eine Komponente in den obigen Ausführungsbeispielen implementierte Funktionen können durch eine Vielzahl von Komponenten durchgeführt werden, oder eine durch eine Vielzahl von Komponenten in den obigen Ausführungsbeispielen implementierte Funktion kann nur durch eine Komponente implementiert werden. Eine „Vice versa“-Funktions-Implementierungsmaßnahme kann auch angewendet werden.
The information managing apparatus of the present invention is different from an information managing apparatus that pre-divides the storage area into plural sections for writing the data, thereby preventing unused areas in the storage area or causing less unused areas in the storage area even by writing the data with different data lengths. Therefore, the information management apparatus of the present invention can be suitable and effective for storing vehicle usage status data, which typically has a large data volume and different data lengths.
  • (3h) Two or more, ie, a plurality of functions implemented by a component in the above embodiments may be performed by a plurality of components, or a function implemented by a plurality of components in the above embodiments may be implemented by only one component , A "vice versa" functional implementation action can also be applied.

Ferner kann ein Teil des obigen Ausführungsbeispiels weggelassen sein, und/oder ein Teil eines Ausführungsbeispiels kann zu dem anderen Ausführungsbeispiel hinzugefügt oder mit dem anderen Ausführungsbeispiel ersetzt werden. Further, part of the above embodiment may be omitted, and / or a part of one embodiment may be added to the other embodiment or replaced with the other embodiment.

Beachte, dass alle Modi des technischen Gedankens, der durch die Formulierung in den Ansprüchen beschrieben ist, als das Ausführungsbeispiel dienen und innerhalb des Schutzbereichs der vorliegenden Erfindung sind.

  • (3i) Die vorliegende Erfindung kann, abgesehen von der oben beschriebenen CPU 2, auch als ein Informationsmanagementsystem, welche die CPU 2 als eine Komponente verwendet, oder ein Informationsmanagementprogramm zum Steuern eines Computers, um den oben erwähnten Schreib-/Leseprozess durchzuführen, oder ein nichtflüchtiges, materielles Speichermedium, welches solch ein Informationsmanagementprogramm speichert, oder ein Informationsmanagementverfahren oder Ähnliches verwirklicht werden.
Note that all modes of the technical idea described by the wording in the claims serve as the embodiment and are within the scope of the present invention.
  • (3i) The present invention can be other than the CPU described above 2 Also called an information management system, which is the CPU 2 used as a component, or an information management program for controlling a computer to perform the above-mentioned read / write process, or a nonvolatile material storage medium storing such an information management program or an information management method or the like.

ZITATE ENTHALTEN IN DER BESCHREIBUNG QUOTES INCLUDE IN THE DESCRIPTION

Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.This list of the documents listed by the applicant has been generated automatically and is included solely for the better information of the reader. The list is not part of the German patent or utility model application. The DPMA assumes no liability for any errors or omissions.

Zitierte PatentliteraturCited patent literature

  • JP 05-119777 H [0006] JP 05-119777 H [0006]

Claims (7)

Informationsmanagementvorrichtung umfassend: einen nichtflüchtigen Speicher (6), welcher einen Speicherbereich hat, in welchen Daten schreibbar sind und aus welchem Daten löschbar sind; und einen Schreiber (2, S32, S36, S92, S94), welcher ausgestaltet ist, Daten in einen leeren Bereich in dem Speicherbereich des nichtflüchtigen Speichers zu schreiben, wobei das Löschen von Daten aus dem Speicherbereich den Speicherbereich von einem zweiten Zustand in einen ersten Zustand schaltet, wobei der erste Zustand ein Vor-Schreib-Zustand des Speicherbereichs ist, das Schreiben von Daten in den Speicherbereich den Speicherbereich von dem ersten Zustand in den zweiten Zustand schaltet, wobei der zweite Zustand ein Nach-Schreib-Zustand des Speicherbereichs ist, und wobei der Schreiber ausgestaltet ist, den Speicherbereich mittels des leeren Bereich aufzuteilen, um eine Vielzahl von Datenstücken von Daten in Folge in den Speicherbereich zu schreiben. An information management device comprising: a non-volatile memory ( 6 ) having a memory area in which data is writable and from which data is erasable; and a scribe ( 2 , S32, S36, S92, S94) configured to write data to an empty area in the memory area of the nonvolatile memory, wherein clearing data from the memory area switches the memory area from a second state to a first state the first state is a pre-write state of the memory area, writing data to the memory area switches the memory area from the first state to the second state, the second state being an after-write state of the memory area, and wherein the writer is configured is to divide the storage area by means of the empty area to write a plurality of data pieces of data in sequence into the storage area. Informationsmanagementvorrichtung nach Anspruch 1 weiter umfassend: einen Leser (2, S71–S75), welcher ausgestaltet ist, Lesezieldaten in dem Speicherbereich zu lesen, wobei der Leser weiter ausgestaltet ist, die Lesezieldaten durch Detektieren des leeren Bereichs in dem Speicherbereich zu lesen (2, S71). An information management apparatus according to claim 1 further comprising: a reader ( 2 , S71-S75) configured to read read target data in the memory area, the reader being further configured to read the read target data by detecting the empty area in the memory area ( 2 , S71). Informationsmanagementvorrichtung nach Anspruch 2, wobei der Schreiber ferner ausgestaltet ist, einen Identifizierer als einen Kopf der Daten zu schreiben, um die Daten zu identifizieren, und wobei der Leser weiter ausgestaltet ist, die Lesezieldaten basierend auf dem als der Kopf der Daten geschriebenen Identifizierer zu lesen (2, S74). The information management apparatus of claim 2, wherein the writer is further configured to write an identifier as a header of the data to identify the data, and wherein the reader is further configured to read the read target data based on the identifier written as the head of the data ( 2 , S74). Informationsmanagementvorrichtung nach einem der Ansprüche 1 bis 3 weiter umfassend: einen Leer-Detektor (2, S21, S22, S81, S82), welcher ausgestaltet ist, den leeren Bereich in dem Speicherbereich als aufeinanderfolgende leere Bereiche in Reihe von zumindest einer ersten Einheitsanzahl zu detektieren, wobei die Detektion des leeren Bereichs an einem Kopfteil des Speicherbereichs beginnt und zu anschließenden Teilen des Speicherbereichs in Reihenfolge fortschreitet, und wobei der Schreiber weiter ausgestaltet ist, Daten in den leeren Bereich zu schreiben, indem er einen detektierten Ort der aufeinanderfolgenden leeren Bereiche als eine Datenschreibstartposition verwendet und Daten in die detektierten aufeinanderfolgenden leeren Bereiche in Reihe von einer zweiten Einheitsanzahl schreibt, wobei die zweite Einheitsanzahl kleiner als die erste Einheitsanzahl ist. Information management device according to one of claims 1 to 3, further comprising: an empty detector ( 2 , S21, S22, S81, S82) configured to detect the empty area in the storage area as successive empty areas in series of at least a first unit number, the detection of the empty area beginning at a header of the storage area and subsequent parts of the memory area proceeds in order, and wherein the writer is further configured to write data in the blank area by using a detected location of the consecutive blank areas as a data write start position and writing data into the detected consecutive blank areas in series from a second unit number wherein the second unit number is smaller than the first unit number. Informationsmanagementvorrichtung nach Anspruch 4 weiter umfassend: einen Datendetektor (2, S23, S24, S83, S84), welcher ausgestaltet ist, gültige Daten zu detektieren, die durch ein Schreiben von Schreibzieldaten ungültig erklärt werden; und einen Ungültigerklärungsprozessor (2, S26, S86), welcher ausgestaltet ist, die gültigen Daten ungültig zu erklären, wenn der Datendetektor die gültigen Daten detektiert, wobei ein Teil der aufeinanderfolgenden leeren Bereiche von der zweiten Einheitsanzahl als ein Flag-Bereich (13) dient, um eine Gültigkeit von in einen unmittelbar an den Flag-Bereich anschließenden Teil geschriebenen aufeinanderfolgenden Daten zu zeigen, wobei der erste Zustand des Flag-Bereichs zeigt, dass die anschließenden Daten gültig sind, und der zweite Zustand des Flag-Bereichs zeigt, dass die anschließenden Daten ungültig sind, und wobei der Ungültigerklärungsprozessor die gültigen Daten ungültig erklärt, indem er einen Wert dem Flag zuschreibt, der den gültigen Daten unmittelbar vorausgeht. An information management apparatus according to claim 4 further comprising: a data detector ( 2 , S23, S24, S83, S84) configured to detect valid data invalidated by writing of writing target data; and an invalidation processor ( 2 , S26, S86) configured to invalidate the valid data when the data detector detects the valid data, wherein a part of the successive empty areas of the second unit number counts as a flag area (Fig. 13 ) is used to show a validity of successive data written in a part immediately adjacent to the flag area, wherein the first state of the flag area shows that the subsequent data is valid, and the second state of the flag area shows the subsequent data is invalid, and the invalidation processor invalidates the valid data by assigning a value to the flag immediately preceding the valid data. Informationsmanagementvorrichtung nach Anspruch 5 weiter umfassend: einen Datensicherer (2, S33–S35), welcher ausgestaltet ist, die gültigen Daten in dem Speicherbereich zu sichern, indem er (i) die gültigen Daten in einem separaten Speicher (4) sichert, der ein von dem nichtflüchtigen Speicher (6) separater Speicher ist, und (ii) die gesicherten gültigen Daten von dem separaten Speicher (4) zurück in den Speicherbereich rückspeichert, nachdem die Daten von dem Speicherbereich gelöscht worden sind, wenn der Speicherbereich keinen beschreibbaren Bereich hat, um die Schreibzieldaten zu schreiben, wobei der Schreiber ausgestaltet ist, die Schreibzieldaten in den Speicherbereich zu schreiben (2, S36), in welchen die gültigen Daten von dem Datensicherer rückgespeichert werden. An information management apparatus according to claim 5 further comprising: a data store ( 2 , S33-S35), which is designed to save the valid data in the memory area by (i) storing the valid data in a separate memory ( 4 ), one of the nonvolatile memory ( 6 ) is separate memory, and (ii) the secure valid data from the separate memory ( 4 ) is restored back to the memory area after the data has been erased from the memory area, if the memory area has no writable area to write the write target data, the writer is configured to write the write destination data into the memory area ( 2 , S36) in which the valid data is restored by the data backuper. Informationsmanagementvorrichtung nach Anspruch 5 weiter umfassend: einen Datenbeweger (2, S93, S95), welcher ausgestaltet ist, (i) die gültigen Daten in einer ersten Region (200) des Speicherbereichs zu einer zweiten Region (300) des Speicherbereichs zu bewegen und (ii) die gültigen Daten von der ersten Region (200) zu löschen, wenn die erste Region keinen beschreibbaren Bereich hat, in welchem die Schreibzieldaten schreibbar sind, und die zweite Region einen beschreibbaren Bereich hat, in welchen die Schreibzieldaten schreibbar sind, wobei der Schreiber weiter ausgestaltet ist, die Schreibzieldaten in die zweite Region zu schreiben (2, S94), in welche die gültigen Daten von dem Datensicherer bewegt worden sind. The information management apparatus of claim 5 further comprising: a data mover ( 2 , S93, S95), which is configured, (i) the valid data in a first region ( 200 ) of the memory area to a second region ( 300 ) of the memory area and (ii) the valid data from the first region ( 200 ) when the first region has no writable area in which the write destination data is writable, and the second region has a writable area in which the write destination data is writable, the recorder being further configured to write the write destination data to the second region write ( 2 , S94) into which the valid data has been moved by the data store.
DE102017215856.5A 2016-09-16 2017-09-08 information management device Expired - Fee Related DE102017215856B4 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2016-181757 2016-09-16
JP2016181757A JP6561951B2 (en) 2016-09-16 2016-09-16 Information management device

Publications (2)

Publication Number Publication Date
DE102017215856A1 true DE102017215856A1 (en) 2018-03-22
DE102017215856B4 DE102017215856B4 (en) 2023-01-12

Family

ID=61302603

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102017215856.5A Expired - Fee Related DE102017215856B4 (en) 2016-09-16 2017-09-08 information management device

Country Status (2)

Country Link
JP (1) JP6561951B2 (en)
DE (1) DE102017215856B4 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05119777A (en) 1991-09-17 1993-05-18 Yamaha Corp Electronic musical instrument

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009272028A (en) * 2008-04-07 2009-11-19 Renesas Technology Corp Semiconductor integrated circuit and operation method thereof
KR102015906B1 (en) 2012-11-12 2019-08-29 삼성전자주식회사 Memory system comprising nonvolatile memory device and read method tererof
JP2015082166A (en) * 2013-10-22 2015-04-27 ルネサスエレクトロニクス株式会社 Method for managing data storage flash memory and program therefor

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05119777A (en) 1991-09-17 1993-05-18 Yamaha Corp Electronic musical instrument

Also Published As

Publication number Publication date
JP2018045595A (en) 2018-03-22
JP6561951B2 (en) 2019-08-21
DE102017215856B4 (en) 2023-01-12

Similar Documents

Publication Publication Date Title
DE60217883T2 (en) METHOD FOR WRITING DATA INTO A NON-VOLATILE MEMORY
DE102012208141B4 (en) Compensation for decreasing functionality
DE69839126T2 (en) MOVING ONE OF THE FOLLOWING SECTORS INSIDE A DATA BLOCK IN A FLASH MASS MEMORY
DE69034191T2 (en) EEPROM system with multi-chip block erasure
DE60019903T2 (en) STORAGE SYSTEM
DE19782041B4 (en) A method of performing a continuous overwriting of a file in a non-volatile memory
DE60030876T2 (en) Scope management of a high-capacity non-volatile memory
DE60129025T2 (en) MEMORY AREA ASSIGNMENT IN A FILE SYSTEM FOR DESCRIPTING ANY AREAS
DE60211653T2 (en) TEPASS PROGRAMMING AND READING OPERATIONS IN A NON-VOLATILE MEMORY
EP2923261B1 (en) Method for controlling a flash memory for mass storage, which is comprised by a communications device that can be connected to a host, and computer program product for carrying out said method
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
DE102005063250A1 (en) Data storage control system, storage and computer system and operating methods
DE102009034651A1 (en) Process and method for mapping logical addresses to physical addresses in solid state disks
DE102009046444A1 (en) Adapted to the software wear compensation
DE102009019271A1 (en) Transfer Sequence Numbers for Power Failure Recovery in a Nonvolatile Memory
DE102009048179A1 (en) Process and method for a deletion strategy in solid plates
DE112017005782T5 (en) Queue for storage operations
DE102021115374A1 (en) MITIGATION OF ZONED NAMESPACE USING SUB-BLOCK MODE
DE602004008240T2 (en) Method for managing defective memory blocks in a non-volatile memory and non-volatile memory for carrying out the method
EP2215636A1 (en) Method for even utilization of a plurality of flash memory chips
DE10192507B4 (en) Method and apparatus for the prediction of erase and write times of flash memories
WO2005026963A1 (en) Management of erased blocks in flash memories
DE60317801T2 (en) METHOD AND DEVICE FOR DETECTING ERRORS DURING WRITING INTO A NON-VOLATILE MEMORY
WO2012062233A1 (en) Method for deallocating memory areas no longer needed on non-volatile memory media
DE102017215856B4 (en) information management device

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee