EP2005440A1 - Verfahren zum betreiben einer speichereinrichtung - Google Patents
Verfahren zum betreiben einer speichereinrichtungInfo
- Publication number
- EP2005440A1 EP2005440A1 EP07726878A EP07726878A EP2005440A1 EP 2005440 A1 EP2005440 A1 EP 2005440A1 EP 07726878 A EP07726878 A EP 07726878A EP 07726878 A EP07726878 A EP 07726878A EP 2005440 A1 EP2005440 A1 EP 2005440A1
- Authority
- EP
- European Patent Office
- Prior art keywords
- block
- memory
- bit
- blocks
- bit pattern
- 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.)
- Ceased
Links
- 230000015654 memory Effects 0.000 title claims abstract description 89
- 238000000034 method Methods 0.000 title claims abstract description 51
- 230000008859 change Effects 0.000 claims description 17
- 238000004590 computer program Methods 0.000 claims description 12
- 238000012360 testing method Methods 0.000 claims description 4
- 238000012986 modification Methods 0.000 abstract 1
- 230000004048 modification Effects 0.000 abstract 1
- 230000002950 deficient Effects 0.000 description 17
- 238000012217 deletion Methods 0.000 description 10
- 230000037430 deletion Effects 0.000 description 10
- 230000008569 process Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000001419 dependent effect Effects 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000004140 cleaning Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/22—Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
- G11C16/14—Circuits for erasing electrically, e.g. erase voltage switching circuits
- G11C16/16—Circuits for erasing electrically, e.g. erase voltage switching circuits for erasing blocks, e.g. arrays, words, groups
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/70—Masking faults in memories by using spares or by reconfiguring
- G11C29/88—Masking faults in memories by using spares or by reconfiguring with partially good memories
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C8/00—Arrangements for selecting an address in a digital store
- G11C8/12—Group selection circuits, e.g. for memory block selection, chip selection, array selection
Definitions
- the invention relates to a method for operating a memory device, a device for operating a memory device, a memory device, a computer program and a computer program product.
- Memory devices or storage media have a limited life, which is essentially determined by the number of writes. As the number of writes increases, the data retention time is shortened. Therefore, in the development of memory devices, it is an objective to use memory devices sparingly with respect to the relevant operations and thus to provide memory hardware and the like. a. to save by reducing the write operations. If necessary, other resources, such as RAM, ROM, or runtime, may be used to an appropriate extent. In this way, an extension of the life of memory devices is to be achieved.
- the present invention relates to a method having the features of patent claim 1, a device having the features of patent claim 12, a memory device having the features of patent claim 13, a computer program having the features of patent claim 14 and a computer program product having the features of patent claim 15 ,
- a memory area is usually divided into, for example, logical blocks of the same size. Blocks can assume different states, such as free or busy. Blocks contain at least one management information that does not necessarily have to be stored together with the data.
- the data can be stored in linked lists of blocks. Each linked list consists of at least one block. As a rule, there is no fixed allocation of data and memory areas on the medium, so that the data are repeatedly stored in different blocks at different positions. As a result, the memory device is loaded more uniformly than with a fixed one
- Assignment of data to blocks or memory areas is the case. Before writing data, it is necessary to search for free or empty blocks. When searching for the free blocks, no defective blocks should be selected. Overall, however, the largest possible number of free blocks should always be available.
- a memory area, ie at least one memory cell, of a block is assigned a first bit pattern after performing an erase operation that is separate from a write operation. In the event of a tip over of at least one bit within this memory area, a state change can be detected for this block.
- the device according to the invention for operating a memory device having a number of blocks is designed to assign a bit pattern to a memory area, ie at least one memory cell, of a block after performing an erase operation that is separate from a write operation, so that in the case of Tipping over of at least one bit within the memory area for this block a state change can be detected.
- the invention also relates to a memory device which has a number of blocks and is adapted to assign a bit pattern to a memory area, thus at least one memory cell, of a block, after a deletion operation which is separate from a write operation, so that in the case of Tipping over of at least one bit within the memory area for this block a state change can be detected.
- All steps of the method according to the invention can be carried out with the device according to the invention and the storage device according to the invention. Intermediate see the device according to the invention and the memory device according to the invention may be an interaction.
- the device may be formed as a component of the memory device or the memory device as a component of the device.
- the computer program with program code means according to the invention is designed 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 a 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 arithmetic unit, in particular a device according to the invention.
- a block is classified as deleted by introducing a new state and marked accordingly by assigning the first of two possible bit values or bits to the at least one memory cell of the block.
- the erasure operation for a previous content of the block is performed separately from a new content write operation of that block, so that erase and write operations are performed, in particular independently of each other and separately from one another and not automatically or immediately after one another as otherwise usual.
- Blocks generally have a plurality of memory cells, at least one block can be used for storing, in particular one particular - A -
- non-volatile date this date can be stored by changing the content of memory cells of at least one block and deleted.
- the method is particularly suitable for a memory device in which the probability that the first bit value will become the second bit value by tipping over is greater than the probability that the second bit value will be tipped over to become the first bit value.
- the write operation and an assignment of the new state "erased” in particular so-called memory-related state changes of the block, which are usually caused by physical influences, can be better recognized by the at least one memory cell of the block first bit value is assigned.
- a marking of the block as deleted or an assignment of the state "deleted” in connection with the deletion operation can occur after, in particular immediately after, the deletion operation and thus subsequently thereto.
- this can also mean that the assignment of the state "deleted” can be implicitly carried out with the deletion process and thus as part of the deletion process.
- the invention it is possible, in particular in the case of block-oriented memory devices or file systems, for example in EEPROMs, to increase the lifetime of such memory devices and thus to improve the availability of a service for managing and / or storing, for example, non-volatile data.
- the presented method reduces the likelihood that physically defective blocks will be used to store data. In addition, it can be avoided that physically intact blocks are not used for storage.
- a block of memory is automatically cleared in known procedures when new data is written to the block.
- the blocks are automatically cleared in known procedures when new data is written to the block.
- the block can assume the further state "erased” without influencing the number of write operations or accesses.
- an assignment of this state or a corresponding marking of the block can be carried out when performing the deletion process.
- the deleted block can be marked accordingly. This allows a particular situation to be coded.
- the state “deleted” is marked by a specific bit pattern of the at least one memory cell of a memory area or of all the memory cells of the block and thus identified. By using the additional state “deleted", an extension of the lifetime of the memory device or a corresponding medium can be achieved. On the other hand, this is not possible if the delete and write operations are performed together.
- the mark with the new state "cleared” as well as a separation of the erase and write operation at the memory device is used to increase the probability of the correct recognition of a state of blocks.
- the framework conditions and a coding of the management information and the data of the respective block in the implementation of the method are suitably adapted.
- a block may be marked intact, in which case the block is either free or busy. If the block undergoes the particular memory-related state change, which is an unintentional or unwanted state change which is not caused by intervention by a user, the block can furthermore be marked as defective or suspicious. These State change may be due to at least one error and make itself felt automatically by tilting at least one bit of the at least one memory device. Depending on a type or frequency of the error, the block is either classified as suspicious or defective and classified accordingly. An explicit mark as suspicious or defective can be made.
- Blocks suspiciously marked or recognized may be observed for further development.
- An at least originally intact block can hereby be marked as suspicious after the occurrence of a first error.
- a block can only be marked as defective after two consecutive errors, with the second error having to appear suspicious in the state.
- an embodiment described below is based on the assumption that the method is used for a block-oriented file system or a block-oriented memory device with a number of blocks.
- Each block consists of data and administrative information which provides information about a status and type of the block as well as provides a pointer to the next block.
- test data can be used. By determining such check data, for the block in which at least one bit is skewed, it can be checked whether the content of the block is in the state that has been written. The test data can thus be used to detect alleged storage-related state changes as well as state changes caused by an intended operation.
- the state or status of the block is coded by the coding or a bit pattern of the memory cells.
- the memory cells can assume the binary values one ("1") and zero ("0").
- the memory cells may be assigned any suitable characters representing unique, preferably binary values.
- a record consists of a first block and can contain several more blocks, depending on the length of a date.
- each coding comprises eight memory cells, the coding being provided for defining and / or marking the state of the respective block.
- all values for the memory cells of the encoding are ones.
- the first memory cell of the coding is a one, the other memory cells are occupied with arbitrary bit values, with the exception of the free-block bit pattern.
- the first memory cell of the coding has a zero, the other memory cells are ones.
- a first memory cell encoding a further block of the data is a zero, the other memory cells are arbitrary, with the exception of the suspect block bit pattern.
- the coding can be coded in the coding for the status whether the block concerned is a first block or another block within the data record. Furthermore, there is a coding of the ID, under which the date can be found in the memory device.
- Occupied blocks therefore contain the value "logical O" on at least one memory cell, except for the first memory cell. These occupied blocks can be recognized in a further embodiment of the invention by determining the test data as correct or incorrect. Defective blocks look like suspicious blocks, but with the coding of defective blocks the value or bit value "0" is located at at least one other memory cell. If a block is to be marked as a free block, it is deleted. It is thus possible to exploit the additional state "erased" of the memory device by separating the erase and write operations. Marking a deleted and thus free block does not require write access. A write access occurs only when the deleted block is again described with data.
- the method may also include the possibility that by providing the bit pattern according to which the first bit value is assigned to the at least one memory cell and thus the block is marked as deleted, the deletion operation is carried out automatically, so that marking the block is deleted may also correspond to or include the deletion operation.
- the memory device or spared a medium because no write access is required to detect the state.
- the coding of a suspect block differs from the coding of a free block only by a memory cell. This bit at the state marking, preferably first memory cell of the coding is also used to distinguish a first block of a data set and the other blocks for this record.
- the error occurs at the state tagging memory cell of the free block coding, it may become a suspect block. If the error occurs at this memory-tagging memory cell on a suspect block, that block can be used without problems for each block of a data set except the first block.
- the discrimination of the coding of the first and all further blocks is chosen so that, with much greater probability, a first block in a list may become another block than that of a further block becomes a first block.
- codes in Table 1 can be used for other states.
- the status that only consists of "0" is well suited for marking defective blocks in the case of certain memories.
- a further function for cleaning up the memory device is provided.
- This feature includes, for example, releasing incomplete chains and marking suspect blocks. In all the operations mentioned, it may be necessary to recognize or mark the status of blocks. A precise approach for implementing the invention may depend on non-functional requirements of the system.
- the procedure can be specified in detail. In particular, it can be determined at what times and in which operations which types of blocks are marked as and which types of blocks may be used to store data.
- a marking for the at least one memory cell of a respective coding, whereby the status of the block is displayed by these at least one memory cell, is selected according to the application such that, in particular taking account of bit-tilting and aborted delete and write operations, blocks are defective due to the particular memory-related state change, with high probability as defective and intact blocks are recognized as intact.
- Errors can be, for example, physical errors in the storage hardware or incomplete writes caused by power interruptions or resets. Nevertheless, when a memory error is detected, either the corresponding block is often marked as defective and not reused or the error is ignored and the block is reused. In one embodiment of the present method, blocks may be marked as deleted and thus as free and further as intact, as suspicious and as defective. In this way it is possible to increase the availability of stored or stored data.
- the method may also include a strategy for reviving or reactivating suspect blocks.
- This strategy such as a revitalization on demand, after a period of time, and / or according to certain specifications, such that, for example, only a required number of blocks or all suspicious, non-defective blocks are revived.
- a particular design of this strategy also depends on the non-functional requirements of the storage device.
- An example of a weighting of non-functional requirements may include making a decision about whether data security or the lifetime of the storage device is more important. A possible question would be whether data loss with the consequence that a written datum can not be read or a memory leak with the consequence that a memory cell is erroneously recognized as being defective is more acceptable.
- inverse prerequisites may exist:
- the erased state of the memory cell corresponds to "0" and the probability of Bitkippern from “0” to “1” is greater than from “1” to "0".
- the coding may, for example, vary with regard to a structure and / or with regard to the components of the management information and data. This may relate to a status, ie the type and state of the block, a reference to a next block of a date and / or a use and types of checksums and their arrangement. Furthermore, the coding may vary depending on a type of the block-oriented memory device. It may, for example, be provided to store the management information separately from the data. In contrast, in a storage device designed for this purpose, the management information can be stored together with the data.
- the invention can be used in embedded systems, for example control devices in motor vehicles, which each have memory devices according to the invention and / or interact with them.
- Figure 1 shows a schematic representation of an embodiment of a device and a memory device with a block in one embodiment of the method
- the memory device 2 (dashed box) and device 4, shown schematically in FIG. 1, interact in carrying out the described embodiment of the method.
- the memory device 2 has any number of blocks 6 which are provided for storing data.
- FIG. 1 shows a block 6 in different states. The states are respectively marked by bit values associated with the memory cells 14 of the block 6.
- the block 6 is described with a date. This is marked by the fact that the first memory cell of the coding 14, the bit value "0", d. H. logicO, the four further memory cells 14 are assigned the bit values "1010" for characterizing the data in this embodiment.
- a content of the present block 6 is deleted by the device 4 and thus an erase operation 16 is performed.
- the first memory cell 14 and the four further memory cells 14 of the block 6 are respectively assigned the bit value "1", ie logical.
- the block 6 is marked as deleted, so that this deleted block 6 can be quickly identified in a search for free blocks to store new data.
- a change of state 18 should occur for the block 6, which in this embodiment is a memory-dependent change of state 18, this change in state takes place by tilting the bit value from "1" to "1" in the present embodiment. 0 "noticeable in the first memory cell 14 of the block.
- a probability for a memory-dependent tilting of a bit value from “1" to “0” is greater than from “0" to "1".
- Such accidental or unintentional tilting is usually caused by an error in the corresponding memory cell 14. Due to the choice for coding the memory cells 14 or for a bit pattern of the memory cells 14 of the block, the error-related tilting of the bit value, for example, automatically and thus automatically becomes noticeable, as a result of which the change in state 18 of the block 6 can be well recognized.
- a write operation 20 in which a new date is stored on the block 6 can take place.
- the first memory cell 14 of the block 6 is assigned the value "0".
- the further memory cells 14 are assigned bit values "0101" which characterize this new datum.
Landscapes
- Engineering & Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
- Read Only Memory (AREA)
Abstract
Die Erfindung betrifft ein Verfahren zum Betreiben einer Speichereinrichtung (2), die eine Anzahl Blöcke (6) aufweist. Bei Durchführung des Verfahrens wird einem Speicherbereich, also mindestens einer Speicherzelle (14) eines Blocks (6), nach Durchführung einer Löschoperation (16), die von einer Schreiboperation (20) getrennt ist, ein Bitmuster zugeordnet, so dass für den Fall eines Umkippens von mindestens einem Bit innerhalb des Speicherbereichs für diesen Block (6) eine Zustandsänderung (18) erkannt werden kann.
Description
Beschreibung
Titel
Verfahren zum Betreiben einer Speichereinrichtung
Die Erfindung betrifft ein Verfahren zum Betreiben einer Speichereinrichtung, eine Vorrichtung zum Betreiben einer Speichereinrichtung, eine Speichereinrichtung, ein Computerprogramm und ein Computerprogrammprodukt.
Stand der Technik
Speichereinrichtungen oder Speichermedien haben eine begrenzte Lebensdauer, die im wesentlichen durch die Anzahl von Schreibvorgängen bestimmt wird. Mit zunehmender Anzahl an Schreibvorgängen verkürzt sich die Datenerhaltungszeit. Deshalb ist es bei der Entwicklung von Speichereinrichtungen ein Ziel, Speichereinrichtungen spar- sam bezüglich der relevanten Operationen zu verwenden und somit eine Speicher- Hardware u. a. durch Reduzierung der Schreibvorgänge zu schonen. Bei Bedarf können hierzu in angemessenem Rahmen andere Ressourcen, wie RAM, ROM oder Laufzeit, eingesetzt werden. Auf diese Weise soll eine Verlängerung der Lebensdauer von Speichereinrichtungen erreicht werden.
Offenbarung der Erfindung
Die vorliegende Erfindung betrifft ein Verfahren mit den Merkmalen des Patentanspruchs 1, eine Vorrichtung mit den Merkmalen des Patentanspruchs 12, eine Spei- chereinrichtung mit den Merkmalen des Patentanspruchs 13, ein Computerprogramm mit den Merkmalen des Patentanspruchs 14 und ein Computerprogrammprodukt mit den Merkmalen des Patentanspruchs 15.
Bei blockorientierten Speichereinrichtungen oder Dateisystemen, für die das Verfahren anwendbar ist, ist ein Speicherbereich üblicherweise in bspw. logische Blöcke gleicher Größe unterteilt. Blöcke können unterschiedliche Zustände annehmen, wie bspw. frei oder belegt. Blöcke enthalten mindestens eine Verwaltungsinformation, die nicht not- wendigerweise mit den Daten zusammen abgelegt werden muss. Dabei können die Daten in verketteten Listen von Blöcken abgelegt werden. Jede verkettete Liste besteht aus mindestens einem Block. In der Regel ist keine feste Zuordnung von Daten und Speicherbereichen auf dem Medium vorgesehen, so dass die Daten immer wieder in unterschiedlichen Blöcken an unterschiedlichen Positionen abgespeichert werden. Da- durch wird die Speichereinrichtung gleichmäßiger belastet, als dies bei einer festen
Zuordnung von Daten zu Blöcken bzw. Speicherbereichen der Fall ist. Vor dem Schreiben von Daten ist es erforderlich, nach freien bzw. leeren Blöcken zu suchen. Bei der Suche nach den freien Blöcken sollten keine defekten Blöcke ausgewählt werden. Insgesamt sollte jedoch immer eine möglichst große Anzahl an freien Blöcken zur Verfü- gung stehen.
Bei Ausführung des erfindungsgemäßen Verfahrens zum Betreiben einer Speichereinrichtung, die eine Anzahl Blöcke aufweist, wird einem Speicherbereich, also mindestens einer Speicherzelle, eines Blocks nach Durchführung einer Löschoperation, die von einer Schreiboperation getrennt ist, ein erstes Bitmuster zugeordnet. Im Fall eines Um- kippens von mindestens einem Bit innerhalb dieses Speicherbereichs kann für diesen Block eine Zustandsänderung erkannt werden.
Weitere Ausführungsformen des Verfahrens ergeben sich aus den abhängigen Ansprü- chen.
Die erfindungsgemäße Vorrichtung zum Betreiben einer Speichereinrichtung, die eine Anzahl Blöcke aufweist, ist dazu ausgebildet, einem Speicherbereich, also mindestens einer Speicherzelle, eines Blocks nach Durchführung einer Löschoperation, die von einer Schreiboperation getrennt ist, ein Bitmuster zuzuordnen, so dass für den Fall eines Umkippens von mindestens einem Bit innerhalb des Speicherbereichs für diesen Block eine Zustandsänderung erkannt werden kann.
Die Erfindung betrifft außerdem eine Speichereinrichtung, die eine Anzahl Blöcke aufweist und dazu ausgebildet ist, einem Speicherbereich, also mindestens einer Speicherzelle, eines Blocks, nach Durchführung einer Löschoperation, die von einer Schreiboperation getrennt ist, ein Bitmuster zuzuordnen, so dass für den Fall eines Umkippens von mindestens einem Bit innerhalb des Speicherbereichs für diesen Block eine Zustandsänderung erkannt werden kann.
Sämtliche Schritte des erfindungsgemäßen Verfahrens sind mit der erfindungsgemäßen Vorrichtung und der erfindungsgemäßen Speichereinrichtung durchführbar. Zwi- sehen der erfindungsgemäßen Vorrichtung und der erfindungsgemäßen Speichereinrichtung kann eine Wechselwirkung bestehen. In möglichen Ausführungsformen der Erfindung kann die Vorrichtung als eine Komponente der Speichereinrichtung oder die Speichereinrichtung als eine Komponente der Vorrichtung ausgebildet sein.
Das erfindungsgemäße Computerprogramm mit Programmcodemitteln ist dazu ausgebildet, alle Schritte eines erfindungsgemäßen Verfahrens durchzuführen, wenn das Computerprogramm auf einem Computer oder einer entsprechenden Recheneinheit, insbesondere einer erfindungsgemäßen Vorrichtung, 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 einer erfindungsgemäßen Vorrichtung, ausgeführt wird.
Bei Durchführung des erfindungsgemäßen Verfahrens wird ein Block durch Einführung eines neuen Zustands als gelöscht klassifiziert und entsprechend markiert, indem der mindestens einen Speicherzelle des Blocks der erste von zwei möglichen Bitwerten bzw. Bits zugeordnet wird. Die Löschoperation für einen bisherigen Inhalt des Blocks wird separat von einer Schreiboperation für einen neuen Inhalt dieses Blocks ausgeführt, so dass Lösch- und Schreiboperationen, insbesondere zeitlich unabhängig und getrennt voneinander und nicht wie ansonsten üblich automatisch oder unmittelbar nacheinander durchgeführt werden. Blöcke weisen in der Regel mehrere Speicherzellen auf, mindestens ein Block kann zur Speicherung insbesondere eines insbesondere
- A -
nicht-flüchtigen Datums verwendet werden, dieses Datum kann durch inhaltliche Veränderung von Speicherzellen des mindestens einen Blocks gespeichert und gelöscht werden.
Das Verfahren bietet sich insbesondere für eine Speichereinrichtung an, bei der die Wahrscheinlichkeit, dass der erste Bitwert durch Umkippen zu dem zweiten Bitwert wird, größer ist als die Wahrscheinlichkeit, dass der zweite Bitwert durch Umkippen zu dem ersten Bitwert wird.
Durch eine derartige separate Ausführung der Löschoperation, der Schreiboperation und einer Zuweisung des neuen Zustands "gelöscht" können insbesondere sog. speicherbedingte Zustandsänderungen des Blocks, die in der Regel durch physikalische Einflüsse verursacht werden, besser erkannt werden, indem der mindestens einen Speicherzelle des Blocks der erste Bitwert zugeordnet wird. Eine Markierung des Blocks als gelöscht bzw. eine Zuweisung des Zustands "gelöscht" im Zusammenhang mit der Löschoperation, kann nach, insbesondere unmittelbar nach, der Löschoperation und somit an diese anschließend erfolgen. Bei Realisierung der Erfindung kann dies auch bedeuten, dass die Zuweisung des Zustands "gelöscht" implizit mit dem Löschvorgang und somit als Teil des Löschvorgangs erfolgen kann.
Mit der Erfindung ist es insbesondere bei blockorientierten Speichereinrichtungen oder Dateisystemen, bspw. bei EEPROMs, möglich, die Lebensdauer derartiger Speichereinrichtungen zu erhöhen und somit eine Verfügbarkeit eines Dienstes zur Verwaltung und/oder Speicherung bspw. nicht-flüchtiger Daten zu verbessern. Das vorgestell- te Verfahren verringert die Wahrscheinlichkeit, dass physikalisch defekte Blöcke zur Speicherung von Daten herangezogen werden. Außerdem kann vermieden werden, dass physikalisch intakte Blöcke nicht zur Speicherung verwendet werden.
Ein Block einer Speichereinrichtung wird bei bekannten Vorgehensweisen automatisch gelöscht, wenn neue Daten in den Block geschrieben werden. Dabei werden der
Schreibvorgang und der Löschvorgang gemeinsam bzw. miteinander gekoppelt ausgeführt.
Bei der vorliegenden Erfindung ist dagegen für blockorientierte Speichereinrichtungen, die bspw. als EEPROMs ausgebildet sind, unterstützt durch die Hardware und Software vorgesehen, die Löschoperation bzw. einen Löschvorgang getrennt von der Schreiboperation bzw. einem Schreibvorgang auszuführen. Beide Operationen sind somit zeit- lieh voneinander unabhängig. Ein anschließendes oder späteres Schreiben führt zu der gleichen Belastung des entsprechenden Speicherbereichs wie ein Schreibvorgang, der wie bei herkömmlichen Vorgehensweisen einen Löschvorgang umfasst.
Im Fall der separaten Lösch- und Schreiboperation wird ausgenutzt, dass der Block, ohne Einfluss auf die Anzahl von Schreiboperationen oder -Zugriffen, den weiteren Zustand "gelöscht" annehmen kann. Dabei kann eine Zuweisung dieses Zustands oder eine entsprechende Markierung des Blocks bei Durchführung des Löschvorgangs erfolgen. Der gelöschte Block kann entsprechend markiert werden. Dadurch kann eine bestimmte Situation codiert werden. Der Zustand "gelöscht" wird durch ein bestimmtes Bitmuster der mindestens einen Speicherzelle eines Speicherbereichs oder sämtlicher Speicherzellen des Blocks markiert und somit gekennzeichnet. Durch Verwendung des zusätzlichen Zustands "gelöscht" ist eine Verlängerung der Lebensdauer der Speichereinrichtung oder eines entsprechenden Mediums erreichbar. Dies ist dagegen nicht möglich, wenn die Lösch- und Schreiboperation gemeinsam ausgeführt werden.
Die Markierung mit dem neuen Zustand "gelöscht" sowie eine Trennung der Lösch- und Schreiboperation bei der Speichereinrichtung wird dazu eingesetzt, die Wahrscheinlichkeit der richtigen Erkennung eines Status von Blöcken zu erhöhen. Dazu werden die Rahmenbedingungen und eine Codierung von der Verwaltungsinformation und von den Daten des jeweiligen Blocks bei Durchführung des Verfahrens in geeigneter Weise angepasst.
Das vorliegende Verfahren kann in möglicher Ausgestaltung mit einer Vorgehensweise zur Erkennung defekter Blöcke ergänzt werden. Gemäß dieser Ausgestaltung des Ver- fahrens kann ein Block als intakt, in diesem Fall ist der Block entweder frei oder belegt, markiert sein. Falls es für den Block zu der insbesondere speicherbedingten Zustands- änderung kommt, wobei es sich hierbei um eine unbeabsichtigte oder ungewollte Zu- standsänderung handelt, die nicht durch ein Eingreifen eines Anwenders verursacht wird, kann der Block des weiteren als defekt oder verdächtig markiert werden. Diese
Zustandsänderung kann durch mindestens einen Fehler bedingt sein und sich durch das Kippen mindestens eines Bits der mindestens einen Speichereinrichtung automatisch bemerkbar machen. In Abhängigkeit einer Art oder einer Häufigkeit des Fehlers wird der Block entweder als verdächtig oder defekt eingestuft und entsprechend klassi- fiziert. Eine explizite Markierung als verdächtig oder defekt kann erfolgen.
Als verdächtig markierte oder erkannte Blöcke können hinsichtlich der weiteren Entwicklung beobachtet werden. Ein zumindest ursprünglich intakter Block kann hierbei nach Auftreten eines ersten Fehlers als verdächtig markiert werden. Ein Block kann gemäß dieser Vorgehensweise nur nach zwei aufeinanderfolgenden Fehlern als defekt markiert werden, wobei der zweite Fehler im Zustand verdächtig auftreten muss. Unter Ausnutzung dieser Zustände ist es möglich, die Wahrscheinlichkeiten der richtigen Erkennung der Zustände der Blöcke zusätzlich zu erhöhen.
Zur Realisierung des Verfahrens liegt in einer nachfolgend beschriebenen Ausführungsform die Annahme zugrunde, dass das Verfahren für ein blockorientiertes Dateisystem bzw. eine blockorientierte Speichereinrichtung mit einer Anzahl Blöcken angewendet wird. Jeder Block besteht aus Daten bzw. Nutzdaten und einer Verwaltungsinformation, die Auskunft über einen Status und einen Typ des Blocks liefert sowie einen Zeiger auf den nächsten Block bereitstellt. Ferner können Prüfdaten eingesetzt werden. Durch Bestimmung derartiger Prüfdaten kann für den Block, bei dem mindestens ein Bit gekippt ist, überprüft werden, ob der Inhalt des Blocks sich in dem Zustand befindet, der geschrieben worden ist. Über die Prüfdaten können somit vermeintlich speicherbedingte Zustandsänderungen sowie durch eine beabsichtigte Operation gezielt hervorgerufe- ne Zustandsänderungen erkannt werden.
Es sei nunmehr angenommen, dass in der vorliegend beschriebenen Ausführungsform der Zustand oder Status des Blocks durch die Codierung oder ein Bitmuster der Speicherzellen codiert ist. Bei dem in der Ausführungsform vorgestellten Verfahren ist ohne Beschränkung der Allgemeinheit vorgesehen, dass die Speicherzellen die binären Werte Eins ("1") und Null ("0") annehmen können. Bei anderen Ausführungen der Erfindung können den Speicherzellen beliebige geeignete Zeichen, die eindeutige, vorzugsweise binäre Werte darstellen, zugewiesen werden.
Ein Datensatz besteht aus einem ersten Block und kann mehrere weitere Blöcke enthalten, was von der Länge eines Datums abhängt.
In der nachfolgenden Tabelle 1 sind Beispiele für Blöcke in unterschiedlichen Zustän- den und deren jeweilige Codierungen angeführt. Dabei umfasst in diesem Ausführungsbeispiel jede Codierung acht Speicherzellen, wobei die Codierung zur Festlegung und/oder Markierung des Zustands des jeweiligen Blocks vorgesehen ist.
Bei den in Tabelle 1 dargestellten Beispielen sind bei dem freien und somit gelöschten Block sämtliche Werte für die Speicherzellen der Codierung Einsen. Bei dem ersten Block des Datensatzes ist die erste Speicherzelle der Codierung eine Eins, die weiteren Speicherzellen sind mit beliebigen Bitwerten belegt, mit Ausnahme des Bitmusters für freie Blöcke. Bei einem verdächtigen Block weist die erste Speicherzelle der Codierung eine Null auf, die weiteren Speicherzellen sind Einsen. Eine erste Speicherzelle einer Codierung eines weiteren Blocks des Datums ist eine Null, die weiteren Speicherzellen sind beliebig, mit Ausnahme des Bitmusters für verdächtige Blöcke.
Tabelle 1
Wenn Blöcke bei Durchführung der Löschoperation gelöscht werden, was bedeutet, dass deren Inhalte und somit Daten gelöscht werden, ist vorgesehen, dass insbesondere der ersten Speicherzelle der Codierung eines jeweiligen Blocks der Wert Eins bzw. "1", d. h. logischl, zugeordnet bzw. zugewiesen wird. Eine derartige Zuweisung oder Markierung kann automatisch oder implizit mit der Löschoperation oder zumindest un-
mittelbar nach der Löschoperation durchgeführt werden. Durch diese Maßnahme kann durch die Codierung der Zustand bzw. Status des Blocks markiert und somit bei einer Überprüfung schnell und zuverlässig erkannt werden. Dieser ersten Speicherzelle zur Bestimmung des Status des Blocks den Wert bzw. Bitwert "1" zuzuordnen ist dann sinnvoll, wenn es wahrscheinlicher ist, dass ein Bitwert innerhalb der Codierung eher von "1" in den Zustand Null bzw. "0", d. h. logischO kippt als umgekehrt.
Außerdem kann in der Codierung für den Status codiert werden, ob es sich bei dem betreffenden Block um einen ersten oder einen weiteren Block innerhalb des Datensat- zes handelt. Des weiteren befindet sich dort eine Codierung der ID, unter der das Datum in der Speichereinrichtung gefunden werden kann.
Belegte Blöcke enthalten demnach an mindestens einer Speicherzelle, außer an der ersten Speicherzelle, den Wert "logischO". Diese belegten Blöcke können in weiterer Ausgestaltung der Erfindung durch Bestimmung der Prüfdaten als korrekt oder fehlerhaft erkannt werden. Defekte Blöcke sehen aus wie verdächtige Blöcke, jedoch befindet sich bei der Codierung defekter Blöcke an mindestens einer weiteren Speicherzelle der Wert bzw. Bitwert "0". Wenn ein Block als freier Block markiert werden soll, wird er gelöscht. So ist es möglich, den zusätzlichen Zustand "gelöscht" der Speichereinrich- tung durch die Trennung der Operationen Löschen und Schreiben auszunutzen. Eine Markierung eines gelöschten und somit freien Blocks erfordert keinen Schreibzugriff. Ein Schreibzugriff erfolgt erst, wenn der gelöschte Block wieder mit Daten beschrieben wird.
Da es wahrscheinlicher ist, dass der Bitwert von "1" nach "0" kippt als umgekehrt, wird in einer weiteren Ausgestaltung der Erfindung für die Codierung des freien bzw. gelöschten Blocks ein aus Einsen bestehendes Bitmuster "1...1" gewählt. Das Verfahren kann in Ausgestaltung auch die Möglichkeit umfassen, dass durch Bereitstellung des Bitmusters, gemäß dem der mindestens einen Speicherzelle der erste Bitwert zugeord- net und somit der Block als gelöscht markiert wird, die Löschoperation automatisch erfolgt, so dass ein Markieren des Blocks als gelöscht auch der Löschoperation entsprechen oder diese umfassen kann. Somit wird einerseits erreicht, dass mögliche Speicherfehler erkannt werden können, andererseits wird die Speichereinrichtung bzw.
ein Medium geschont, da zur Erkennung des Zustands kein Schreibzugriff erforderlich ist.
Auch bei einem verdächtigen Block können Fehler mit hoher Wahrscheinlichkeit er- kannt werden. Die Codierung eines verdächtigen Blockes unterscheidet sich nur durch eine Speicherzelle von der Codierung eines freien Blocks. Dieses Bit an der den Zustand markierenden, vorzugsweise ersten Speicherzelle der Codierung dient auch der Unterscheidung eines ersten Blocks eines Datensatzes und der weiteren Blöcke für diesen Datensatz.
Wenn der Fehler an der den Zustand markierenden Speicherzelle der Codierung des freien Blocks auftritt, kann dieser zu einem verdächtigen Block werden. Wenn der Fehler an dieser den Zustand markierenden Speicherzelle bei einem verdächtigen Block auftritt, kann dieser Block ohne Probleme für jeden Block eines Datensatzes mit Aus- nähme des ersten Blocks verwendet werden. Die Unterscheidung der Codierung des ersten und aller weiteren Blöcke wird so gewählt, dass mit viel größerer Wahrscheinlichkeit aus einem ersten Block in einer Liste ein weiterer Block werden kann, als dass aus einem weiteren Block ein erster Block wird.
Bei einer weiteren vorteilhaften Ausgestaltung des Verfahrens können Codierungen in Tabelle 1 für andere Zustände verwendet werden. Bspw. ist der nur aus "0" bestehende Status bei bestimmten Speichern gut zur Markierung defekter Blöcke geeignet.
Bei Speichereinrichtungen oder Dateisystemen dieser Art ist neben den für einen An- wender sichtbaren Funktionen, wie Lesen, Schreiben und Löschen, eine weitere Funktion zum Bereinigen der Speichereinrichtung vorgesehen. Diese Funktion umfasst zum Beispiel eine Freigabe unvollständiger Ketten und ein Markieren verdächtiger Blöcke. Bei allen erwähnten Operationen kann es erforderlich sein, den Status von Blöcken erkennen oder markieren zu müssen. Eine genaue Vorgehensweise zur Realisierung der Erfindung kann von nicht-funktionalen Anforderungen an das System abhängen.
Anhand einer Gewichtung der nicht-funktionalen Anforderungen kann das Verfahren im Detail festgelegt werden. Insbesondere kann festgelegt werden, zu welchen Zeitpunkten und bei welchen Operationen welche Typen von Blöcken wie markiert werden und
welche Typen von Blöcken zum Speichern von Daten verwendet werden dürfen. Eine Markierung für die mindestens eine Speicherzelle einer jeweiligen Codierung, wobei durch diese mindestens eine Speicherzelle der Status des Blocks angezeigt wird, ist je nach Anwendung derart gewählt, dass, insbesondere unter Berücksichtigung von Bit- kippern und abgebrochenen Lösch- und Schreibvorgängen, Blöcke, die aufgrund der insbesondere speicherbedingten Zustandsänderung defekt sind, mit hoher Wahrscheinlichkeit als defekt und intakte Blöcke als intakt erkannt werden.
Im allgemeinen kann die Ursache für einen fehlerhaften Speicherinhalt nicht mit hun- dertprozentiger Sicherheit erkannt werden. Bei Fehlern kann es sich zum Beispiel um physikalische Fehler in der Speicher- Hardware oder um nicht abgeschlossene Schreibvorgänge, die durch Spannungsunterbrechungen oder Resets verursacht sind, handeln. Dennoch wird bei der Erkennung eines Speicherfehlers häufig entweder der entsprechende Block als defekt markiert und nicht wieder verwendet oder aber der Fehler wird ignoriert und der Block weiterverwendet. Bei einer Ausgestaltung des vorliegenden Verfahren können Blöcke als gelöscht und somit als frei sowie des weiteren als intakt, als verdächtig und als defekt markiert werden. Auf diese Weise ist es möglich, eine Verfügbarkeit gespeicherter oder zu speichernder Daten zu erhöhen.
Das Verfahren kann ebenfalls eine Strategie zur Wiederbelebung oder Reaktivierung von verdächtigen Blöcken umfassen. Es gibt verschiedene Aspekte für diese Strategie, bspw. eine Wiederbelebung bei Bedarf, nach einer gewissen Zeit und/oder nach bestimmten Vorgaben, wonach bspw. nur eine benötigte Anzahl von Blöcken oder alle verdächtigen, nicht defekten Blöcke wiederbelebt werden. Eine bestimmte Ausgestal- tung dieser Strategie hängt ebenfalls von den nicht-funktionalen Anforderungen an die Speichereinrichtung ab. Ein Beispiel für eine Gewichtung nicht-funktionaler Anforderungen kann umfassen, dass darüber eine Entscheidung getroffen wird, ob die Datensicherheit oder die Lebensdauer der Speichereinrichtung wichtiger ist. Eine mögliche Frage hierzu wäre, ob ein Datenverlust mit der Konsequenz, dass ein geschriebenes Datum nicht gelesen werden kann, oder ein Speicherverlust mit der Konsequenz, dass eine Speicherzelle fälschlicherweise als defekt erkannt wird, eher akzeptabel ist.
In Abhängigkeit von der verwendeten Hardware und Software können inverse Vorraussetzungen gegeben sein: Der gelöschte Zustand der Speicherzelle entspricht "0" und
die Wahrscheinlichkeit von Bitkippern von "0" nach "1" ist größer als von "1" nach "0". Dies erfordert lediglich eine andere, insbesondere inverse, Codierung oder Auslegung des Bitmusters der mindestens einen Speicherzelle. Dementsprechend sind die anderen Markierungen zur Erkennung der weiteren voranstehend beschriebenen Zustände zu verändern. Dadurch bleibt das Verfahren an sich unverändert.
Die Codierung kann bspw. hinsichtlich eines Aufbaus und/oder hinsichtlich der Bestandteile der Verwaltungsinformation und Daten variieren. Dies kann einen Status, also Typ und Zustand des Blocks, einen Verweis auf einen nächsten Block eines Datums und/oder eine Verwendung und Typen von Checksummen sowie deren Anordnung betreffen. Des weiteren kann die Codierung in Abhängigkeit eines Typs der blockorientierten Speichereinrichtung variieren. Es kann bspw. vorgesehen sein, die Verwaltungsinformation getrennt von den Daten zu speichern. In einer hierzu alternativ ausgebildeten Speichervorrichtung kann dagegen die Verwaltungsinformation mit den Daten zu- sammen abgelegt werden.
Die Erfindung kann in eingebetteten Systemen, bspw. Steuergeräten im Kfz, die jeweils erfindungsgemäße Speichereinrichtungen aufweisen und/oder mit diesen in Wechselwirkung stehen, eingesetzt werden.
Durch Ausnutzung der Verwendung des zusätzlichen Zustands "gelöscht", der durch die getrennte Ausführung der Lösch- und Schreiboperation bereitgestellt wird, kann eine Reduktion der Anzahl der Schreibvorgänge und eine Verlängerung der Lebensdauer der Speichereinrichtung erreicht werden. Durch Verwendung des beschriebenen Verfahrens kann die Verfügbarkeit bei bestimmten blockorientierten EEPROM-
Dateisystemen, bei denen Blöcke entweder als intakt, verdächtig oder defekt markiert werden, erhöht werden.
Weitere Vorteile und Ausgestaltungen der Erfindung ergeben sich aus der Beschrei- bung und der beiliegenden Zeichnung.
Es versteht sich, dass die vorstehend genannten und die nachstehend noch zu erläuternden 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.
Kurze Beschreibung der Zeichnungen
Die Erfindung ist anhand eines Ausführungsbeispiels in der Zeichnung schematisch dargestellt und wird im folgenden unter Bezugnahme auf die Zeichnung ausführlich beschrieben.
Figur 1 zeigt in schematischer Darstellung ein Ausführungsbeispiel einer Vorrichtung sowie einer Speichereinrichtung mit einem Block bei einer Ausführungsform des Verfahrens
Ausführungsform der Erfindung
Die in Figur 1 schematisch dargestellte Speichereinrichtung 2 (gestrichelter Kasten) und Vorrichtung 4 stehen bei Durchführung der beschriebenen Ausführungsform des Verfahrens in Wechselwirkung. Die Speichereinrichtung 2 weist ein beliebige Anzahl von Blöcken 6 auf, die zur Speicherung von Daten vorgesehen sind. In Figur 1 ist ein Block 6 in verschiedenen Zuständen dargestellt. Die Zustände sind jeweils durch Bitwerte, die den Speicherzellen 14 des Blocks 6 zugeordnet sind, markiert.
Bei dem ersten Zustand ist der Block 6 mit einem Datum beschrieben. Dies wird dadurch markiert, dass der ersten Speicherzelle der Codierung 14 der Bitwert "0", d. h. logischO, zugewiesen ist, den vier weiteren Speicherzellen 14 sind zur Charakterisierung des Datums in diesem Ausführungsbeispiel die Bitwerte "1010" zugewiesen.
Bei Ausführung des Verfahrens wird durch die Vorrichtung 4 ein Inhalt des befindlichen Blocks 6 gelöscht und somit eine Löschoperation 16 durchgeführt. Unmittelbar nach dieser Löschoperation 16 wird der ersten Speicherzelle 14 und den vier weiteren Speicherzellen 14 des Blocks 6 jeweils der Bitwert "1", d. h. logischl, zugewiesen. Durch eine derartige Zuweisung wird der sich Block 6 als gelöscht markiert, so dass dieser gelöschte Block 6 bei einer Suche nach freien Blöcken zur Speicherung neuer Daten schnell identifiziert werden kann.
Für den Fall, dass eine Zustandsänderung 18 für den Block 6, bei der es sich in dieser Ausführungsform um eine speicherbedingte Zustandsänderung 18 handelt, auftreten sollte, macht sich diese Zustandsänderung durch Kippen des im vorliegenden Ausfüh- rungsbeispiel des Bitwerts von "1" nach "0" in der ersten Speicherzelle 14 des Blocks bemerkbar. Für die Speichereinrichtung 2 gilt in diesem Ausführungsbeispiel, dass eine Wahrscheinlichkeit für ein speicherbedingtes Kippen eines Bitwerts von "1" nach "0" größer als von "0" nach "1" ist. Ein derartiges zufälliges oder unbeabsichtigtes Kippen wird in der Regel durch einen Fehler in der entsprechenden Speicherzelle 14 verur- sacht. Aufgrund der Wahl für eine Codierung der Speicherzellen 14 bzw. für ein Bitmuster der Speicherzellen 14 des Blocks macht sich das bspw. fehlerbedingte Kippen des Bitwerts automatisch und somit selbsttätig bemerkbar, dadurch kann die Zustandsänderung 18 des Blocks 6 gut erkannt werden.
Zu einem späteren Zeitpunkt kann unabhängig von dem Löschvorgang 16 für den gelöschten Block 6 durch die Vorrichtung 4 eine Schreiboperation 20, bei der auf dem Block 6 ein neues Datum gespeichert wird, erfolgen. Dabei wird der ersten Speicherzelle 14 des Blocks 6 der Wert "0" zugewiesen. Den weiteren Speicherzellen 14 werden Bitwerte "0101", die dieses neue Datum charakterisieren, zugewiesen.
Claims
1. Verfahren zum Betreiben einer Speichereinrichtung (2), die eine Anzahl Blöcke (6) aufweist, bei dem einem Speicherbereich, also mindestens einer Speicherzelle (14), eines Blocks (6) nach Durchführung einer Löschoperation (16), die von einer Schreiboperation (20) getrennt ist, ein Bitmuster zugeordnet wird, so dass für den Fall eines Umkippens von mindestens einem Bit innerhalb des Speicherbereichs für diesen Block (6) eine Zustandsänderung (18) erkannt werden kann.
2. Verfahren nach Anspruch 1, bei dem nach dem Kippen des mindestens einen Bits eine explizite Änderung des Zustands des Blocks (6) durchgeführt wird.
3. Verfahren nach Anspruch 1 oder 2, bei dem der Block (6) durch Zuordnung eines Bitmusters zu der mindestens einen Speicherzelle (14) als gelöscht markiert wird.
4. Verfahren nach einem der voranstehenden Ansprüche, bei dem ein Zustand des Blocks (6) durch ein Bitmuster der mindestens einen Speicherzelle (14) charakterisiert wird.
5. Verfahren nach einem der voranstehenden Ansprüche, bei dem sämtlichen Spei- cherzellen (14) des Blocks (6) ein bestimmtes Bitmuster zugeordnet wird.
6. Verfahren nach einem der voranstehenden Ansprüche, bei dem des weiteren vorgesehen ist, dass mittels Prüfdaten des Blocks (6) zu überprüfen ist, ob das Kippen mindestens eines Bits des Blocks (6) durch eine insbesondere speicher- bedingte Zustandsänderung (18) verursacht ist.
7. Verfahren nach einem der voranstehenden Ansprüche, bei dem der Block (6) nach Umkippen mindestens eines Bits des Blocks (6) als verdächtig markiert wird.
8. Verfahren nach einem der voranstehenden Ansprüche, bei dem dem Speicherbereich innerhalb des Blocks (6) ein Bitmuster "1...1" zugewiesen wird, wenn der Block (6) gelöscht wird, und bei dem zur Markierung eines verdächtigen Blocks (6) ein Bitmuster verwendet wird, das bis auf mindestens eine "0" an beliebigen
Stellen nur die Bitwerte "1" aufweist.
9. Verfahren nach einem der Ansprüche 1 bis 7, bei dem dem Speicherbereich innerhalb des Blocks (6) ein Bitmuster "0...0" zugewiesen wird, wenn der Block (6) gelöscht wird, und bei dem zur Markierung eines verdächtigen Blocks (6) ein Bitmuster verwendet wird, das bis auf mindestens eine "1" an beliebigen Stellen nur die Bitwerte "0" aufweist.
10. Verfahren nach einem der voranstehenden Ansprüche, das für einen Block (6) eines Datums, das in einer Anzahl miteinander verketteter Blöcke (6) gespeichert wird, durchgeführt wird.
11. Verfahren nach einem der voranstehenden Ansprüche, das für eine Speichereinrichtung (2), deren Hardware als ein EEPROM ausgebildet ist, durchgeführt wird.
12. Vorrichtung zum Betreiben einer Speichereinrichtung (2), die eine Anzahl Blöcke (6) aufweist, wobei die Vorrichtung (4) dazu ausgebildet ist, einem Speicherbereich, also mindestens einer Speicherzelle (14), eines Blocks (6) nach Durchführung einer Löschoperation (16), die von einer Schreiboperation (20) getrennt ist, ein Bitmuster zuzuordnen, so dass für den Fall eines Umkippens von mindestens einem Bit innerhalb des Speicherbereichs für diesen Block (6) eine Zustandsän- derung (18) erkannt werden kann.
13. Speichereinrichtung, die eine Anzahl Blöcke (6) aufweist und dazu ausgebildet ist, einem Speicherbereich, also mindestens einer Speicherzelle (14), eines Blocks
(6) nach Durchführung einer Löschoperation (16), die von einer Schreiboperation (20) getrennt ist, ein Bitmuster zuzuordnen, so dass für den Fall eines Umkippens von mindestens einem Bit innerhalb des Speicherbereichs für diesen Block (6) eine Zustandsänderung (18) erkannt werden kann.
14. Computerprogramm mit Programmcodemitteln, um alle Schritte eines Verfahrens nach einem der Ansprüche 1 bis 11 durchzuführen, wenn das Computerprogramm auf einem Computer oder einer entsprechenden Recheneinheit, insbe- sondere einer Vorrichtung (4) nach Anspruch 12, ausgeführt wird.
15. Computerprogrammprodukt mit Programmcodemitteln, die auf einem computerlesbaren Datenträger gespeichert sind, um alle Schritte eines Verfahrens nach einem der Ansprüche 1 bis 11 durchzuführen, wenn das Computerprogramm auf einem Computer oder einer entsprechenden Recheneinheit, insbesondere einer
Vorrichtung (4) nach Anspruch 12, ausgeführt wird.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| DE102006013763A DE102006013763A1 (de) | 2006-03-24 | 2006-03-24 | Verfahren zum Betreiben einer Speichereinrichtung |
| PCT/EP2007/052382 WO2007110327A1 (de) | 2006-03-24 | 2007-03-14 | Verfahren zum betreiben einer speichereinrichtung |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| EP2005440A1 true EP2005440A1 (de) | 2008-12-24 |
Family
ID=38134769
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| EP07726878A Ceased EP2005440A1 (de) | 2006-03-24 | 2007-03-14 | Verfahren zum betreiben einer speichereinrichtung |
Country Status (7)
| Country | Link |
|---|---|
| US (1) | US8250321B2 (de) |
| EP (1) | EP2005440A1 (de) |
| JP (1) | JP2009531757A (de) |
| KR (1) | KR20080107426A (de) |
| CN (1) | CN101405816A (de) |
| DE (1) | DE102006013763A1 (de) |
| WO (1) | WO2007110327A1 (de) |
Families Citing this family (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8799188B2 (en) * | 2011-02-08 | 2014-08-05 | International Business Machines Corporation | Algorithm engine for use in a pattern matching accelerator |
| JP5581256B2 (ja) * | 2011-03-28 | 2014-08-27 | 株式会社東芝 | メモリシステム、コントローラ、およびメモリシステムの制御方法 |
| US12204647B2 (en) * | 2021-01-19 | 2025-01-21 | Vitesco Technologies GmbH | Method for securing a motor vehicle computer |
Family Cites Families (11)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP3485938B2 (ja) * | 1992-03-31 | 2004-01-13 | 株式会社東芝 | 不揮発性半導体メモリ装置 |
| US5761440A (en) * | 1994-09-15 | 1998-06-02 | International Business Machines Corporation | System and method utilizing multiple search trees to route data within a data processing network |
| US5475693A (en) * | 1994-12-27 | 1995-12-12 | Intel Corporation | Error management processes for flash EEPROM memory arrays |
| JPH11110304A (ja) * | 1997-09-30 | 1999-04-23 | Sanyo Electric Co Ltd | マイクロコンピュータ |
| DE69732637T2 (de) * | 1997-12-22 | 2005-12-29 | Stmicroelectronics S.R.L., Agrate Brianza | Selbsttest und Korrektur von Ladungsverlustfehlern in einem Sektorenlöschbaren und-programmierbaren Flashspeicher |
| WO2001022232A1 (en) * | 1999-09-17 | 2001-03-29 | Hitachi, Ltd. | Storage where the number of error corrections is recorded |
| US6671837B1 (en) * | 2000-06-06 | 2003-12-30 | Intel Corporation | Device and method to test on-chip memory in a production environment |
| JP2003076604A (ja) * | 2001-09-03 | 2003-03-14 | Nec Access Technica Ltd | フラッシュメモリのログ情報収集方式および方法 |
| JP4188744B2 (ja) * | 2003-04-08 | 2008-11-26 | 株式会社ルネサステクノロジ | メモリカード |
| JP4172699B2 (ja) * | 2003-04-25 | 2008-10-29 | Tdk株式会社 | 不揮発性半導体メモリ |
| JP4222879B2 (ja) * | 2003-05-30 | 2009-02-12 | Tdk株式会社 | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びに、フラッシュメモリの制御方法 |
-
2006
- 2006-03-24 DE DE102006013763A patent/DE102006013763A1/de not_active Withdrawn
-
2007
- 2007-03-14 EP EP07726878A patent/EP2005440A1/de not_active Ceased
- 2007-03-14 CN CNA2007800103824A patent/CN101405816A/zh active Pending
- 2007-03-14 US US12/294,400 patent/US8250321B2/en not_active Expired - Fee Related
- 2007-03-14 JP JP2009502008A patent/JP2009531757A/ja active Pending
- 2007-03-14 WO PCT/EP2007/052382 patent/WO2007110327A1/de not_active Ceased
- 2007-03-14 KR KR1020087023184A patent/KR20080107426A/ko not_active Ceased
Non-Patent Citations (1)
| Title |
|---|
| See references of WO2007110327A1 * |
Also Published As
| Publication number | Publication date |
|---|---|
| WO2007110327A1 (de) | 2007-10-04 |
| JP2009531757A (ja) | 2009-09-03 |
| US8250321B2 (en) | 2012-08-21 |
| KR20080107426A (ko) | 2008-12-10 |
| US20090319732A1 (en) | 2009-12-24 |
| DE102006013763A1 (de) | 2007-09-27 |
| CN101405816A (zh) | 2009-04-08 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| DE102012208141B4 (de) | Ausgleich nachlassender Funktionsfähigkeit | |
| DE102007006307A1 (de) | Verfahren zum Betreiben eines nichtflüchtigen Speicherelements, Aufzeichnungsmedium und nichtflüchtigen Speicherelement | |
| DE112008001151B4 (de) | Mehrbitprogrammiervorrichtung und Verfahren zum Mehrbitprogrammieren | |
| DE102005034611A1 (de) | Speichersystem und zugehörige Betriebs- und Blockverwaltungsverfahren | |
| EP1008993A2 (de) | Schreib/Lesespeicher mit Selbsttestvorrichtung und zugehöriges Testverfahren | |
| DE3602112A1 (de) | System zur speicherung von informationen | |
| EP2005440A1 (de) | Verfahren zum betreiben einer speichereinrichtung | |
| DE60317801T2 (de) | Verfahren und vorrichtung zur erkennung von fehlern während des schreibens in einen nichtflüchtigen speicher | |
| DE102012101405B4 (de) | Steuervorrichtung zum Steuern eines Datenlesens und - schreibens von und zu einem Flash-Speicher | |
| DE3210616A1 (de) | Rechner | |
| EP1204917B1 (de) | Operandenstapelspeicher und verfahren zum betreiben eines operandenstapelspeichers | |
| DE112015002881B4 (de) | Speichervorrichtung, Flash-Speicher-Steuervorrichtung und Programm | |
| DE19959779A1 (de) | Vorrichtung zum Erhalten von Fehlverhaltensinformationen sowie diese verwendende Halbleiterspeicher-Prüfvorrichtung | |
| DE10321104B4 (de) | Verfahren zur Ablage von veränderlichen Daten | |
| EP2002446B1 (de) | Verfahren zum betreiben einer speichereinrichtung mit markierung von als fehlerhaft erkannten speicherblöcken | |
| DE102006009214B4 (de) | Verfahren und Vorrichtung zum Schreiben in eine Zielspeicherseite eines Speichers | |
| DE10134654A1 (de) | Verfahren zur Fehleranalyse von Speichermodulen | |
| DE2750126B2 (de) | ||
| WO2007025816A2 (de) | Speicheranordnung und betriebsverfahren dafür | |
| DE102017119426A1 (de) | Verfahren und vorrichtung zum test von speicherzellen | |
| EP1625592A1 (de) | Vorrichtung und verfahren zum behandeln eines zustands eines speichers | |
| WO2009103728A1 (de) | Verfahren und vorrichtung zum speichern von informationsdaten | |
| DE102005013896B4 (de) | Verfahren zur Datenverwaltung und Datenzugriffssystem zum Speichern von allen Verwaltungsdaten in einer Verwaltungsbank eines nicht-flüchtigen Speichers | |
| DE102023213338A1 (de) | Verwaltung eines ringspeicherartigen Speichers | |
| DE2710502A1 (de) | Anordnung zur kohaerenten leitung einer speicherhierarchie |
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 ES FR GB IT |
|
| 17Q | First examination report despatched |
Effective date: 20090203 |
|
| DAX | Request for extension of the european patent (deleted) | ||
| RBV | Designated contracting states (corrected) |
Designated state(s): DE ES FR GB IT |
|
| REG | Reference to a national code |
Ref country code: DE Ref legal event code: R003 |
|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE APPLICATION HAS BEEN REFUSED |
|
| 18R | Application refused |
Effective date: 20130805 |