EP2005304A1 - Verfahren zur belegung eines speichers - Google Patents

Verfahren zur belegung eines speichers

Info

Publication number
EP2005304A1
EP2005304A1 EP07726876A EP07726876A EP2005304A1 EP 2005304 A1 EP2005304 A1 EP 2005304A1 EP 07726876 A EP07726876 A EP 07726876A EP 07726876 A EP07726876 A EP 07726876A EP 2005304 A1 EP2005304 A1 EP 2005304A1
Authority
EP
European Patent Office
Prior art keywords
block
management information
memory
data
memory device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
EP07726876A
Other languages
English (en)
French (fr)
Inventor
Jens Liebehenschel
Dirk Herrmann
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Robert Bosch GmbH filed Critical Robert Bosch GmbH
Publication of EP2005304A1 publication Critical patent/EP2005304A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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

Definitions

  • the invention relates to a method for allocating a memory, a memory device, a computer program and a computer program product.
  • Non-volatile control unit data are stored on EEPROM memory modules. Different memory layouts or memory layouts are used for this purpose.
  • a layout strategy consists of subdividing the EEPROM memory into blocks of the same size and storing the actual user data in these blocks.
  • management information is needed for each block.
  • the management information for a block can provide information as to whether a block is free or occupied or what length the user data stored in the block and which check data, for example checksum / CRC, this user data have and the like.
  • this management information is stored in a different area of the EEPROM memory than the user data. So there is an area for the management information and an area for the payload. This is similar to the FI (File Allocation Table) file system for hard disks under Windows.
  • FI File Allocation Table
  • the present invention provides a method having the features of claim 1, a memory device having the features of patent claim 6, a computer program having the features of patent claim 9 and a computer program product having the features of patent claim 10.
  • management information of each block and the user data belonging to the block are stored together.
  • the memory device is so occupied with a number of blocks that a management information of each block and the user data belonging to the block are stored together.
  • the invention also relates to a computer program with program code means in order to carry out all the steps of a method according to the invention when the computer program is executed on a computer or a corresponding computing unit, in particular with a memory device according to the invention.
  • the invention further relates to a computer program product with program code means which are stored on a computer-readable data carrier in order to perform all the steps of a method according to the invention, when the computer program is executed on a computer or a corresponding computing unit, in particular with a memory device according to the invention.
  • the memory device can be used as an EEPROM (Electrically Erasable Programmable Read-Only Memory), that is to say as an electrically erasable programmable read only memory or as a nonvolatile electronic memory module which is used, inter alia, in embedded systems (embedded systems). be educated.
  • EEPROM Electrically Erasable Programmable Read-Only Memory
  • the method and thus a strategy for occupying the memory or for memory usage allow to avoid or reduce a loss of capacity, which typically typically results from culling on certain EEPROMs in block-oriented storage devices or file systems.
  • the strategy presented with the invention is therefore suitable for providing a memory allocation or a memory layout, a memory planning or a memory distribution of the memory device and can be used on different EEPROM memory hardware. It is thus an efficient use of segments of the storage device by structured or block-wise storage or storage of data, which may include both management information and payload, allows in blocks of the memory device.
  • the user data of a block can be formed from data which in each case comprise at least one useful datum or at least one dataset with file contents. It is now possible to store all the files of the respective block together.
  • the memory layout or the memory structure can provide that the management information of block 1 is followed by the useful data of block 1. Then, the management information of block 2 follows, followed by the payload of block 2, etc., so that the management information of a block n is respectively followed by the payload of that block n and thus stored together. In this case, however, it is not essential whether first the administration information or firstly the at least one useful date is stored. Even an entanglement between management information and at least one useful date of a respective block is possible.
  • the method proposed here makes it possible to reduce this "waste" and thus to increase the effective usable capacity of the EEPROM memory.
  • Another feature of the method is that it is suitable for different segment sizes.
  • the method is applicable to various EEPROM memory types and thus facilitates the development of a portable, reusable implementation.
  • non-volatile user data which can typically be classified sensitively, can be improved by the method, in particular in the case of controllers having memory devices according to the invention.
  • a processor having a segment size of 4 bytes (for example Freescale HC12), with the possible constellation assuming that the management information occupies 3 bytes per block.
  • the payload consists of 40 data, the longest being 21 bytes long.
  • a built according to the prior art memory layout could look like this: 40 times 1 segment, so 40 times 4 bytes for the management information, so that per block 3 bytes for data and 1 byte waste result. Furthermore, 40 times 6 segments, so 40 times 24 bytes for the user data, while there is a block of preferably 21 bytes for data and 3 bytes for waste for the longest useful data. With shorter data correspondingly more waste is produced. Overall, there is a need of 1120 bytes.
  • the memory allocation or the memory layout looks as follows: 40 times 6 segments, ie 40 times 24 bytes for management information and user data or data records. For the longest user data, a block consists of 3 bytes of administrative information and 21 bytes of user data, ie 0 bytes for waste. For shorter data, a blend is created here as well. Overall, there is a need of only 960 bytes. The savings in this example are due to the fact that information and the waste for the payload always equals at least the size of a segment. The inventive summary therefore a segment can be saved for each block.
  • the option should also be considered that user data is distributed over more than one block.
  • the management information is 3 bytes per block.
  • the EEPROM has a total capacity of 1024 bytes. To fully exploit this capacity, for example, a division into 32 blocks of 32 bytes each for management information and payload data could be selected.
  • the memory requirement for a 29-byte length of use data in the prior art is such that 32 bytes are divided for each block in a 4-byte segment for the management information and 7 28-byte segments for the user data.
  • the payload is distributed over two blocks, the first 28 bytes being in a first block, the last byte being stored in the second block.
  • the 32 bytes for each block are subdivided into 3 bytes for the management information and 29 bytes for the user data.
  • a useful data or a data record can thus be accommodated in a single block.
  • the saving amounts to a complete block and, in this example, results from the fact that the one byte waste within the management information, which results according to the prior art, can be used with the method for receiving data bytes presented here.
  • the invention in particular the EEPROM memory device, can be used in computing systems, such as in embedded systems such as so-called.
  • Bodycomputers this also applies to future body computer with an EEPROM for storing non-volatile user data.
  • the invention can be implemented in vehicles with control units. With the invention presented here, a further development of block-oriented EEPROM file systems is possible because good transferability to different EEPROM hardware with different properties is ensured. Further advantages and embodiments of the invention will become apparent from the description and the accompanying drawings.
  • FIG. 1 shows a first example of a memory occupancy according to FIG.
  • FIG. 2 shows a first example of a memory allocation according to the invention.
  • FIG. 3 shows a second example of a memory occupancy according to FIG.
  • FIG. 4 shows a second example of a memory allocation according to the invention.
  • management information 102, 104, 106 and payload data 108, 110, 112 are stored in two areas 114, 116, wherein a first area 114 stores the management information 102, 104, 106 for all blocks, a second area 116 comprises the payload data 108, 110, 112 for all blocks.
  • An order of these two areas 114, 116 does not matter.
  • a structure or a memory structure looks in detail as shown in FIG. 1, with memory addresses rising from left to right, where Vx is the one Management information 102, 104, 106 of block x and Dx the useful date 108, 110, 112 of block x:
  • the memory allocation of a memory device 200 embodied as an EEPROM memory in a first example of an application of the invention provides only an area in which the management information 202, 204, 206 and at least one useful data 208, 210, 212 for one block each stored together.
  • Vx is the management information 202, 204, 206 of block x
  • Dx is the at least one useful date 208, 210, 212 of block x:
  • a segment is defined by the fact that memory cells within the segment can be written without data, here the management information 202, 204, 206 and the payload data 208, 210, 212, thereby being influenced in other segments.
  • the data within the same segment is not completely independent of each other.
  • each segment can be modified independently of any other segment.
  • the 4 bytes within the same segment must be treated together.
  • This segment structure of the memory device 200 has effects on the memory structure or a corresponding memory layout when the memory device 200 is occupied by the data. It is at Write to the memory device 200 always to expect an abort at any time, for example, by interrupting the power supply. It is unavoidable that in such a write abort the data just written are lost.
  • each individual datum on memory device 200 ends at a segment boundary. This may result in a waste if a date does not completely fill its segments. For example, a datum of length 9 bytes would occupy three segments each of 4 bytes in the case of the HC 12, the third segment being occupied by only one byte and thus resulting in a blend of 3 bytes.
  • FIG. 3 shows a second example of a prior art memory configuration in an EEPROM memory 300, wherein the management information 302, 304, 306 and the payload data 308, 310, 312 of a respective block are separated from one another.
  • a blend 314 on the EEPROM memory 300 and thus a medium, since no segment may contain the management information 302, 304, 306 of more than one block. Otherwise, a write abort when updating the management information 302, 304, 306 of one block would also affect the management information 302, 304, 306 of another block.
  • a respective blend 314 can arise between each two adjacent management information 302, 304, 306, a respective blend 314 can arise.
  • no segment may contain user data 308, 310, 312 of more than one block, in this way it is also possible for waste 314 to arise between two adjacent user data 308, 310, 312.
  • Vx represents management information 302, 304, 306 of block x and Dx for a useful date 308, 310, 312 of block x, S represents a possible blend 314:
  • FIG. 4 shows a second example of a memory allocation according to the invention for a memory device 400 designed as an EEPROM memory.
  • Vx for an administration information 402, 404, 406 of block x and Dx for at least one useful data 408, 410 412 of block x
  • S stands for a possible blend 414.
  • the management information 402, 404, 406 and the at least one payload 408, 410, 412 of a single block are stored contiguously, so a possible waste 414 occurs only between the common data, ie management information 402, 404, 406 and payload data 408, 410, 412 of the different blocks: the management information 402, 404, 406 and the at least one payload 408, 410, 412 of the same BI share one segment at a time.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Read Only Memory (AREA)

Abstract

Bei dem erfindungsgemäßen Verfahren zum Belegen einer Speichereinrichtung (200) mit mehreren Blöcken werden eine Verwaltungsinformation (202, 204, 206) eines jeden Blocks und die zu dem Block gehörenden Nutzdaten (208, 210, 212) zusammen abgelegt.

Description

Beschreibung
Titel
Verfahren zur Belegung eines Speichers
Die Erfindung betrifft ein Verfahren zur Belegung eines Speichers, eine Speichereinrichtung, ein Computerprogramm und ein Computerprogrammprodukt.
Stand der Technik
Auf EEPROM-Speicherbausteinen werden nicht-flüchtige Steuergerätedaten abgelegt. Hierzu werden unterschiedliche Speicherlayouts bzw. Speicherauslegungen verwendet. Eine Layout- Strategie besteht darin, den EEPROM-Speicher in Blöcke gleicher Größe zu unterteilen und in diesen Blöcken die eigentlichen Nutzdaten abzulegen. Zusätzlich zu diesen Nutzdaten wird für jeden Block eine Verwaltungsinformation benötigt. Die Verwaltungsinformation für einen Block kann unter anderem darüber Aufschluss geben, ob ein Block frei oder belegt ist, oder welche Länge die im Block gespeicherten Nutzdaten und welche Prüfdaten, bspw. Checksumme/CRC, diese Nutzdaten haben und dergleichen. In der Regel wird diese Verwaltungsinformation in einem anderen Bereich des EEPROM-Speichers als die Nutzdaten abgelegt. Es gibt also einen Bereich für die Verwaltungsinformationen und einen Bereich für die Nutzdaten. Dies ist vergleichbar mit dem FAT(FiIe Allocation Table bzw. Dateizuordnungstabelle)-Dateisystem für Festplatten unter Windows. Zudem ist bekannt, ein blockorientiertes EEPROM-Dateisystem in unterschiedlichen Steuergeräten einzusetzen.
Mit der vorliegenden Erfindung werden ein Verfahren mit den Merkmalen des Patentanspruchs 1, eine Speichereinrichtung mit den Merkmalen des Patentanspruchs 6, ein Computerprogramm mit den Merkmalen des Patentanspruchs 9 und ein Computerprogrammprodukt mit den Merkmalen des Patentanspruchs 10 vorgestellt. Vorteile der Erfindung
Bei dem erfindungsgemäßen Verfahren zum Belegen einer Speichereinrichtung mit mehreren Blöcken werden Verwaltungsinformationen eines jeden Blocks und die zu dem Block gehörenden Nutzdaten zusammen abgelegt.
Vorteilhafte Ausgestaltungen ergeben sich aus den Unteransprüchen.
Die erfindungsgemäße Speichereinrichtung ist derart mit einer Anzahl Blöcken belegt, dass eine Verwaltungsinformation eines jeden Blocks und die zu dem Block gehörenden Nutzdaten gemeinsam abgelegt sind.
Mit dieser Speichereinrichtung sind sämtliche Schritte des erfindungsgemäßen Verfahrens durchführbar.
Die Erfindung betrifft außerdem ein Computerprogramm mit Programmcodemitteln, um alle Schritte eines erfindungsgemäßen Verfahrens durchzuführen, wenn das Computerprogramm auf einem Computer oder einer entsprechenden Recheneinheit, insbesondere mit einer erfindungsgemäßen Speichereinrichtung, ausgeführt wird.
Die Erfindung betrifft des weiteren ein Computerprogrammprodukt mit Programmcodemitteln, die auf einem computerlesbaren Datenträger gespeichert sind, um alle Schritte eines erfindungsgemäßen Verfahrens durchzuführen, wenn das Computerprogramm auf einem Computer oder einer entsprechenden Recheneinheit, insbesondere mit einer erfindungsgemäßen Speichereinrichtung, ausgeführt wird.
Die Speichereinrichtung kann als EEPROM (Electrically Erasable Programmable Read- OnIy Memory), also als ein elektrisch löschbarer, programmierbarer Nur-Lese-Speicher oder als ein nichtflüchtiger, elektronischer Speicherbaustein, der unter anderem in Em- bedded Systems (eingebetteten Systemen) eingesetzt wird, ausgebildet sein.
Das Verfahren und somit eine Strategie zum Belegen des Speichers bzw. zur Speicherbelegung erlauben es, einen Kapazitätsverlust zu vermeiden oder zu verringern, der sich typischerweise bei blockorientierten Speichereinrichtungen oder Dateisystemen durch Verschnitt bei bestimmten EEPROMs typischerweise ergibt.
Die mit der Erfindung vorgestellte Strategie eignet sich somit zur Bereitstellung einer Speicherbelegung bzw. eines Speicherlayouts, einer Speicherplanung oder einer Speicheraufteilung der Speichereinrichtung und kann auf unterschiedlicher EEPROM- Speicher- Hardware eingesetzt werden. Es wird somit eine effiziente Nutzung von Segmenten der Speichereinrichtung durch strukturierte oder blockweise geordnete Ablage bzw. Speicherung von Daten, die sowohl Verwaltungsinformationen als auch Nutzdaten umfassen können, in Blöcken der Speichereinrichtung ermöglicht.
Mit der Erfindung ist somit vorgesehen, die Verwaltungsinformation eines jeden Blocks lokal bei den zu dem Block gehörenden Nutzdaten bzw. Datensätzen gemeinsam abzulegen. Die Nutzdaten eines Blocks können aus Daten, die jeweils mindestens ein Nutz- datum bzw. mindestens einen Datensatz mit Dateiinhalten umfassen, gebildet sein. Es ist nunmehr möglich, sämtliche Dateien des jeweiligen Blocks gemeinsam abzulegen.
Anstatt das EEPROM in zwei große Bereiche für Verwaltungsinformationen und für Nutzdaten zu unterteilen, kann das Speicherlayout bzw. der Speicheraufbau vorsehen, dass auf die Verwaltungsinformation von Block 1 die Nutzdaten von Block 1 folgen. Dann folgt die Verwaltungsinformation von Block 2, gefolgt von den Nutzdaten von Block 2 usw., so dass der Verwaltungsinformation eines Blocks n jeweils die Nutzdaten dieses Blocks n folgen und somit gemeinsam abgelegt werden. Hierbei ist es jedoch nicht wesentlich, ob jeweils zuerst die Verwaltungsinformationen oder zuerst das min- destens eine Nutzdatum abgelegt werden. Selbst eine Verschränkung zwischen einer Verwaltungsinformation und mindestens einem Nutzdatum eines jeweiligen Blocks ist möglich.
Der Vorteil dieser Aufteilung ergibt sich aus einer technischen Eigenschaft von EEPROM-Speicher-Hardware: Bei jedem EEPROM-Typ ist der Speicher in so genannte Segmente unterteilt. Zur Vermeidung von Datenverlusten durch Spannungseinbrüche beim Schreiben auf das EEPROM bzw. der Speichereinrichtung werden unterschiedliche Daten, die die Verwaltungsinformationen und die Nutzdaten umfassen, an Segmentgrenzen voneinander getrennt. Bei ungünstiger Segmentgröße ergibt sich da- - A -
her zwischen zwei Nutzdaten ein Verschnitt, falls die Segmente nicht vollständig gefüllt werden können.
Das hier vorgeschlagene Verfahren erlaubt es, diesen "Verschnitt" zu reduzieren und somit die effektiv nutzbare Kapazität des EEPROM-Speichers zu vergrößern. Eine weitere Eigenschaft des Verfahrens ist, dass es für unterschiedliche Segmentgrößen geeignet ist. Damit ist das Verfahren auf verschiedene EEPROM-Speichertypen anwendbar und erleichtert so die Entwicklung einer portablen, wieder verwendbaren Implementierung.
Die typischerweise sensibel einzustufende Abspeicherung nicht-flüchtiger Nutzdaten kann durch das Verfahren, insbesondere bei Steuergeräten mit erfindungsgemäßen Speichereinrichtungen, verbessert werden.
In einem ersten Beispiel sei auf einen Prozessor mit einer Segmentgröße von 4 Bytes (bspw. Freescale HC12) verwiesen, wobei als mögliche Konstellation angenommen ist, dass die Verwaltungsinformation 3 Bytes pro Block belegt. Die Nutzdaten bestehen aus 40 Daten, von denen die längsten eine Länge von 21 Bytes haben.
Damit könnte ein nach dem Stand der Technik aufgebautes Speicherlayout folgendermaßen aussehen: 40 mal 1 Segment, also 40 mal 4 Bytes für die Verwaltungsinformation, so dass sich je Block 3 Bytes für Daten und 1 Byte Verschnitt ergeben. Des weiteren 40 mal 6 Segmente, also 40 mal 24 Bytes für die Nutzdaten, dabei besteht für die längsten Nutzdaten ein Block aus vorzugsweise 21 Bytes für Daten und 3 Bytes für Verschnitt. Bei kürzeren Daten entsteht entsprechend mehr Verschnitt. Insgesamt ergibt sich ein Bedarf von 1120 Bytes.
Unter Anwendung des hier vorgestellten erfindungsgemäßen Verfahrens sieht die Speicherbelegung bzw. das Speicherlayout in diesem Fall folgendermaßen aus: 40 mal 6 Segmente, also 40 mal 24 Bytes für Verwaltungsinformationen und Nutzdaten bzw. Datensätze. Für die längsten Nutzdaten besteht ein Block aus 3 Bytes Verwaltungsinformationen und 21 Bytes Nutzdaten, also 0 Bytes für Verschnitt. Bei kürzeren Daten entsteht auch hier ein Verschnitt. Insgesamt ergibt sich ein Bedarf von nur 960 Bytes. Die Einsparung ergibt sich in diesem Beispiel deshalb, weil der Verschnitt der Verwal- tungsinformationen und der Verschnitt für die Nutzdaten summiert immer mindestens der Größe eines Segments entsprechen. Durch die erfindungsgemäße Zusammenfassung kann daher für jeden Block ein Segment eingespart werden.
In einem zweiten Beispiel soll zusätzlich die Option betrachtet werden, dass Nutzdaten über mehr als einen Block verteilt werden. Es sei wieder ein HC12 Prozessor zugrunde gelegt, wobei die Verwaltungsinformationen 3 Bytes pro Block betrage. Das EEPROM besitze eine Gesamtkapazität von 1024 Bytes. Um dieses Kapazität vollständig auszunutzen, könnte beispielsweise eine Aufteilung in 32 Blöcke mit jeweils insgesamt 32 Bytes für Verwaltungsinformationen und Nutzdaten gewählt werden. Damit sieht der Speicherbedarf für ein Nutzdatum einer Länge von 29 Bytes nach dem Stand der Technik derart aus, dass sich 32 Bytes für jeden Block in einem Segment mit 4 Bytes für die Verwaltungsinformation und 7 Segmente mit 28 Bytes für die Nutzdaten unterteilen. Das Nutzdatum wird über zwei Blöcke verteilt, wobei sich in einem ersten Block die ersten 28 Bytes befinden, das letzte Byte wird im zweiten Block abgelegt.
Unter Anwendung des erfindungsgemäßen Verfahrens ergibt sich folgendes Bild: Die 32 Bytes für jeden Block unterteilen sich in 3 Bytes für die Verwaltungsinformation und 29 Bytes für die Nutzdaten. Ein Nutzdatum bzw. ein Datensatz kann somit in einem einzelnen Block untergebracht werden. Die Einsparung beträgt einen kompletten Block und ergibt sich in diesem Beispiel daraus, dass das eine Byte Verschnitt innerhalb der Verwaltungsinformation, das sich nach dem Stand der Technik ergibt, mit dem hier vorgestellten Verfahren zur Aufnahme von Datenbytes genutzt werden kann.
Die Erfindung, insbesondere die EEPROM-Speichereinrichtung, kann in Rechensystemen, wie bspw. in eingebetteten Systemen wie sog. Bodycomputern, eingesetzt werden, dies gilt auch für zukünftige Bodycomputer mit einem EEPROM zur Abspeicherung nicht-flüchtiger Nutzdaten. Die Erfindung kann in Fahrzeugen mit Steuergeräten umgesetzt werden. Mit der hier vorgestellten Erfindung ist eine Weiterentwicklung von blockorientierten EEPROM-Dateisystemen möglich, da eine gute Übertragbarkeit auf unterschiedliche EEPROM-Hardware mit unterschiedlichen Eigenschaften gewährleistet ist. Weitere Vorteile und Ausgestaltungen der Erfindung ergeben sich aus der Beschreibung und der beiliegenden Zeichnung.
Es versteht sich, dass die vorstehend genannten und die nachstehend noch zu erläu- ternden Merkmale nicht nur in der jeweils angegebenen Kombination, sondern auch in anderen Kombinationen oder in Alleinstellung verwendbar sind, ohne den Rahmen der vorliegenden Erfindung zu verlassen.
Die Erfindung ist anhand von Ausführungsbeispielen in der Zeichnung schematisch dargestellt und wird im folgenden unter Bezugnahme auf die Zeichnung ausführlich beschrieben.
Kurze Beschreibung der Zeichnungen
Figur 1 zeigt ein erstes Beispiel für eine Speicherbelegung nach Stand der
Technik.
Figur 2 zeigt ein erstes Beispiel für eine erfindungsgemäße Speicherbelegung.
Figur 3 zeigt ein zweites Beispiel für eine Speicherbelegung nach Stand der
Technik.
Figur 4 zeigt ein zweites Beispiel für eine erfindungsgemäße Speicherbelegung.
Ausführungsform der Erfindung
Bei einer blockorientierten Speicherbelegung nach dem Stand der Technik sind in einem in Figur 1 gezeigten EEPROM-Speicher 100 Verwaltungsinformationen 102, 104, 106 und Nutzdaten 108, 110, 112 in zwei Bereichen 114, 116 abgelegt, wobei ein erster Bereich 114 die Verwaltungsinformationen 102, 104, 106 für alle Blöcke umfasst, ein zweiter Bereich 116 umfasst die Nutzdaten 108, 110, 112 für alle Blöcke. Eine Reihenfolge dieser beiden Bereiche 114, 116 ist egal. Bei dem EEPROM-Speicher 100, der n Blöcke enthält, sieht eine Struktur oder ein Speicheraufbau im Detail wie in Figur 1 gezeigt aus, wobei Speicheradressen von links nach rechts aufsteigen, dabei ist Vx die Verwaltungsinformation 102, 104, 106 von Block x und Dx das Nutzdatum 108, 110, 112 von Block x:
Vl 102, V2 104, ..., Vn 106, Dl 108, D2 110, ..., Dn 112
Im Gegensatz hierzu sieht die in Figur 2 vorgestellte Speicherbelegung einer als EEPROM-Speicher ausgebildeten Speichereinrichtung 200 bei einem ersten Beispiel einer Anwendung der Erfindung nur einen Bereich vor, bei dem die Verwaltungsinformationen 202, 204, 206 und mindestens ein Nutzdatum 208, 210, 212 für einen Block jeweils zusammen abgelegt werden. Bei einem EEPROM-Speicher, der n Blöcke enthält, ergibt sich nachfolgende Aufteilung, wobei Vx die Verwaltungsinformation 202, 204, 206 von Block x und Dx das mindestens eine Nutzdatum 208, 210, 212 von Block x ist:
Vl 202, Dl 208, V2 204, D2 210, ..., Vn 206, Dn 212
Hierbei kommt es nicht darauf an, ob jeweils zuerst die Verwaltungsinformationen 202, 204, 206 oder zuerst das mindestens eine Nutzdatum 208, 210, 212 abgelegt werden, es wäre sogar eine Verschränkung zwischen einer Verwaltungsinformation 202, 204, 206 und mindestens einem Nutzdatum 208, 210, 212 eines jeweiligen Blocks möglich.
Der Vorteil dieser Aufteilung ergibt sich aus einer Segmentierung der Speichereinrichtung 200. Ein Segment ist dadurch definiert, dass Speicherzellen innerhalb des Segments beschrieben werden können, ohne dass Daten, die hier die Verwaltungsinforma- tionen 202, 204, 206 und die Nutzdaten 208, 210, 212 umfassen, in anderen Segmenten dadurch beeinflusst werden. Die Daten innerhalb desselben Segments dagegen sind voneinander nicht völlig unabhängig.
Für den Fall, dass der vorliegende EEPROM-Speicher einen Prozessor mit einer Seg- mentgröße von 4 Byte hat, kann jedes Segment unabhängig von jedem anderen Segment verändert werden. Die 4 Bytes innerhalb desselben Segments müssen dagegen jeweils gemeinsam behandelt werden. Aus dieser Segmentstruktur der Speichereinrichtung 200 ergeben sich Auswirkungen auf den Speicheraufbau oder ein entsprechendes Speicherlayout bei Belegung der Speichereinrichtung 200 mit den Daten. Es ist beim Schreiben auf die Speichereinrichtung 200 stets mit einem Abbruch zu beliebigen Zeitpunkten zu rechnen, beispielsweise durch Unterbrechung der Stromversorgung. Dabei ist es unvermeidbar, dass bei einem derartigen Schreib- Abbruch die gerade geschriebenen Daten verloren gehen.
Mit der Erfindung wird vermieden, dass weitere Daten oder Blöcke, die jeweils eine Verwaltungsinformation 202, 204, 206 und das mindestens eine Nutzdatum 208, 210, 212 umfassen, dadurch ebenfalls beschädigt werden. Es ist vorgesehen, dass sich zwei unterschiedliche Daten niemals ein Segment teilen dürfen. Wird ein Datum der beiden Daten geschrieben und deshalb das gemeinsame Segment verändert, wird somit verhindert, dass ein Schreib- Abbruch beim Schreiben des gemeinsamen Segments auch beide Daten beschädigt. Folglich endet jedes einzelne Datum auf der Speichereinrichtung 200 an einer Segmentgrenze. Hierdurch kann sich ein Verschnitt ergeben, wenn ein Datum seine Segmente nicht vollständig ausfüllt. Ein Datum der Länge 9 Bytes würde beispielsweise beim HC 12 drei Segmente mit jeweils 4 Bytes belegen, wobei das dritte Segment nur mit einem Byte belegt wäre und sich somit ein Verschnitt von 3 Bytes ergäbe.
Figur 3 zeigt ein zweites Beispiel für einen Speicheraufbau nach dem derzeitigen Stand der Technik bei einem EEPROM-Speicher 300, wobei die Verwaltungsinformationen 302, 304, 306 und die Nutzdaten 308, 310, 312 jeweils eines Blocks voneinander getrennt werden. Hier tritt an doppelt so vielen Stellen als bei der erfindungsgemäßen Vorgehensweise ein Verschnitt 314 auf dem EEPROM-Speicher 300 und somit einem Medium auf, da kein Segment die Verwaltungsinformationen 302, 304, 306 von mehr als einem Block enthalten darf. Anderenfalls würde ein Schreib- Abbruch bei der Aktualisierung der Verwaltungsinformation 302, 304, 306 eines Blocks auch die Verwaltungsinformation 302, 304, 306 eines anderen Blocks beeinflussen. Somit kann zwischen zwei benachbarten Verwaltungsinformationen 302, 304, 306 jeweils ein Verschnitt 314 entstehen. Außerdem darf kein Segment Nutzdaten 308, 310, 312 von mehr als einem Block enthalten, auf diese Weise kann auch zwischen zwei benachbarten Nutzdaten 308, 310, 312 Verschnitt 314 entstehen.
Um dieses zu verdeutlichen, ist im folgenden die Speicheraufteilung für n Blöcke dargestellt, diesmal im Vergleich zur Figur 1 zusätzlich mit allen Stellen, an denen Ver- schnitt 314 entstehen kann, mit von links nach rechts aufsteigenden Speicheradressen, wobei Vx für eine Verwaltungsinformation 302, 304, 306 von Block x und Dx für ein Nutzdatum 308, 310, 312 von Block x steht, S steht für einen möglichen Verschnitt 314:
Vl 302, S 314, V2 304, S 314,..., S 314, Vn 306, S 314, Dl 308, S 314, D2 310, S 314,..., S 314, Dn 310, S 314
Figur 4 zeigt ein zweites Beispiel einer erfindungsgemäßen Speicherbelegung für eine als EEPROM-Speicher ausgebildete Speichereinrichtung 400. Hier sind für von links nach rechts aufsteigende Speicheradressen, Vx für eine Verwaltungsinformation 402, 404, 406 von Block x und Dx für mindestens ein Nutzdatum 408, 410, 412 von Block x gezeigt, S steht für einen möglichen Verschnitt 414.
Auch bei diesem Beispiel der Erfindung werden die Verwaltungsinformationen 402, 404, 406 und das mindestens eine Nutzdatum 408, 410, 412 eines einzelnen Blocks zusammenhängend abgespeichert, so tritt ein eventueller Verschnitt 414 nur noch zwischen den gemeinsamen Daten, also Verwaltungsinformationen 402, 404, 406 und Nutzdaten 408, 410, 412, der unterschiedlichen Blöcke auf: Die Verwaltungsinformationen 402, 404, 406 und das mindestens eine Nutzdatum 408, 410, 412 desselben BIo- ckes nutzen gemeinsam jeweils ein Segment.
Vl 402, Dl 410, S 414, V2 404, D2 410, S 414,..., S 414, Vn 406, Dn 412, S 414
Somit kann diese Erfindung eine effektiv nutzbare Kapazität der Speichereinrichtung 400 erhöhen. Dies ist dann der Fall, wenn durch die Zusammenlegung der Verwaltungsinformationen 402, 404, 406 und Nutzdaten 408, 410, 412 ein um mindestens die Segmentgröße geringerer Verschnitt 414 als bei getrennter Ablage nach dem Stand der Technik entsteht.

Claims

Ansprüche
1. Verfahren zum Belegen einer Speichereinrichtung (200, 400) mit mehreren Blöcken, bei dem Verwaltungsinformationen (202, 204, 206, 402, 404, 406) eines jeden Blocks und die zu dem Block gehörenden Nutzdaten (208, 210, 212, 408,
410, 412) zusammen abgelegt werden.
2. Verfahren nach Anspruch 1, bei dem die Verwaltungsinformation (202, 204, 206, 402, 404, 406) eines jeden Blocks und die zu dem Block gehörenden Nutzdaten (208, 210, 212, 408, 410, 412) in einem Segment der Speichereinrichtung (200,
400) abgelegt werden.
3. Verfahren nach Anspruch 1 oder 2, bei dem die Verwaltungsinformation (202, 204, 206, 402, 404, 406) und die Nutzdaten (208, 210, 212, 408, 410, 412) ei- nes ersten Blocks durch mindestens eine Segmentgrenze von einer Verwaltungsinformationen (202, 204, 206, 402, 404, 406) und Nutzdaten (208, 210, 212, 408, 410, 412) mindestens eines weiteren Blocks abgegrenzt werden.
4. Verfahren nach einem der voranstehenden Ansprüche, bei dem die Verwal- tungsinformation (202, 204, 206, 402, 404, 406) und die Nutzdaten (208, 210,
212, 408, 410, 412) physisch abgelegt werden.
5. Verfahren nach einem der voranstehenden Ansprüche, das für eine als EEPROM-Speicher ausgebildete Speichereinrichtung (200, 400) durchgeführt wird.
6. Speichereinrichtung, die derart mit einer Anzahl Blöcken belegt ist, dass eine Verwaltungsinformation (202, 204, 206, 402, 404, 406) eines jeden Blocks und die zu dem Block gehörenden Nutzdaten (208, 210, 212, 408, 410, 412) gemeinsam abgelegt sind.
7. Speichereinrichtung nach Anspruch 6, auf der die Verwaltungsinformation (202, 204, 206, 402, 404, 406) und die Nutzdaten (208, 210, 212, 408, 410, 412) physisch abgelegt sind.
8. Speichereinrichtung nach Anspruch 6 oder 7, die als EEPROM-Speicher ausgebildet ist.
9. Computerprogramm mit Programmcodemitteln, um alle Schritte eines Verfahrens nach einem der Ansprüche 1 bis 5 durchzuführen, wenn das Computerprogramm auf einem Computer oder einer entsprechenden Recheneinheit, insbesondere mit einer Speichereinrichtung (200, 400) nach einem der Ansprüche 6 bis 8, ausgeführt wird.
10. Computerprogrammprodukt mit Programmcodemitteln, die auf einem computerlesbaren Datenträger gespeichert sind, um alle Schritte eines Verfahrens nach einem der Ansprüche 1 bis 5 durchzuführen, wenn das Computerprogramm auf einem Computer oder einer entsprechenden Recheneinheit, insbesondere mit einer Speichereinrichtung (200, 400) nach einem der Ansprüche 6 bis 8, ausgeführt wird.
EP07726876A 2006-03-24 2007-03-14 Verfahren zur belegung eines speichers Withdrawn EP2005304A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102006013765A DE102006013765A1 (de) 2006-03-24 2006-03-24 Verfahren zur Belegung eines Speichers
PCT/EP2007/052380 WO2007110326A1 (de) 2006-03-24 2007-03-14 Verfahren zur belegung eines speichers

Publications (1)

Publication Number Publication Date
EP2005304A1 true EP2005304A1 (de) 2008-12-24

Family

ID=38115764

Family Applications (1)

Application Number Title Priority Date Filing Date
EP07726876A Withdrawn EP2005304A1 (de) 2006-03-24 2007-03-14 Verfahren zur belegung eines speichers

Country Status (5)

Country Link
US (1) US20090228636A1 (de)
EP (1) EP2005304A1 (de)
CN (1) CN101410810A (de)
DE (1) DE102006013765A1 (de)
WO (1) WO2007110326A1 (de)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6684289B1 (en) * 2000-11-22 2004-01-27 Sandisk Corporation Techniques for operating non-volatile memory systems with data sectors having different sizes than the sizes of the pages and/or blocks of the memory
JP4058322B2 (ja) 2002-10-07 2008-03-05 株式会社ルネサステクノロジ メモリカード
JP2004280752A (ja) 2003-03-19 2004-10-07 Sony Corp データ記憶装置、およびデータ記憶装置における管理情報更新方法、並びにコンピュータ・プログラム
JP3912355B2 (ja) 2003-10-14 2007-05-09 ソニー株式会社 データ管理装置、データ管理方法、不揮発性メモリ、不揮発性メモリを有する記憶装置及びデータ処理システム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See references of WO2007110326A1 *

Also Published As

Publication number Publication date
US20090228636A1 (en) 2009-09-10
WO2007110326A1 (de) 2007-10-04
DE102006013765A1 (de) 2007-09-27
CN101410810A (zh) 2009-04-15

Similar Documents

Publication Publication Date Title
DE19882933B4 (de) Flash-Speicher-Unterteilung für Lese-während-Schreiboperationen
DE69127011T2 (de) Speicherverwaltungsverfahren mit Hilfe einer Baumstruktur
DE69425554T2 (de) System zur dynamischen zuordnung von speicher registern zum herstellen von pseudowarteschlangen
DE69815258T2 (de) Elektrisch programmier- und löschbarer nichtflüchtiger Speicher mit einem lese- und/oder schreibgeschützen Bereich einschliesslich zugehöriger elektronischer Schaltung
DE60317347T2 (de) Speicherschaltung mit nichtflüchtigem ram und ram
DE3940302C2 (de)
DE3015875A1 (de) Speicherzugriffssystem und verfahren fuer einen zugriff zu einem digitalen speichersystem
DE68927361T4 (de) Chipkarte und Verfahren zum Wiedereinschreiben ihres Programmes
DE2310631B2 (de) Speicherhierarchie fur ein Datenverarbeitungssystem
DE2703559A1 (de) Rechnersystem
DE20300011U1 (de) Aufbau eines erweiterbaren und entfernbaren USB-Speichers
DE10120615B4 (de) Dynamische Speicherverwaltung für Objekte unterschiedlicher Größe
DE2558417A1 (de) Datenverarbeitungssystem
CH670715A5 (de)
DE10105627B4 (de) Mehrfachanschlussspeichereinrichtung, Verfahren und System zum Betrieb einer Mehrfachanschlussspeichereinrichtung
DE2235883C3 (de) Datenverarbeitungseinrichtung
EP2005304A1 (de) Verfahren zur belegung eines speichers
DE102009036095A1 (de) Verfahren zum Verwalten von Speicherressourcen in einem portablen Datenträger
EP1559111B1 (de) Verfahren zum betreiben einer speicheranordnung
DE69626246T2 (de) Steuerschaltung für eine Flüssigkristallanzeige mit verbesserter Datenübertragung
DE102004005290B3 (de) Verfahren und Vorrichtung zur Absicherung von Daten in einem nichtflüchtigen Datenspeicher
DE102016202684A1 (de) Datenmanagementvorrichtung und datenmanagementprogramm
DE10128752A1 (de) Verfahren zur Ablage von Daten in einen Speicherbaustein
EP0771463A1 (de) Verfahren und vorrichtung zum speichern und drehen von bitmustern
EP1293938A2 (de) Binärzähler mit permutierten Speicherung

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 20081024

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): DE FR GB

RBV Designated contracting states (corrected)

Designated state(s): DE FR GB

17Q First examination report despatched

Effective date: 20100122

DAX Request for extension of the european patent (deleted)
STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN

18D Application deemed to be withdrawn

Effective date: 20171003