WO2020182599A1 - Verfahren und vorrichtung zum betreiben einer nichtflüchtigen speichereinrichtung - Google Patents

Verfahren und vorrichtung zum betreiben einer nichtflüchtigen speichereinrichtung Download PDF

Info

Publication number
WO2020182599A1
WO2020182599A1 PCT/EP2020/055820 EP2020055820W WO2020182599A1 WO 2020182599 A1 WO2020182599 A1 WO 2020182599A1 EP 2020055820 W EP2020055820 W EP 2020055820W WO 2020182599 A1 WO2020182599 A1 WO 2020182599A1
Authority
WO
WIPO (PCT)
Prior art keywords
memory
programming
memory cells
checking
memory cell
Prior art date
Application number
PCT/EP2020/055820
Other languages
English (en)
French (fr)
Inventor
Axel Aue
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
Priority to KR1020217032229A priority Critical patent/KR20210136090A/ko
Priority to CN202080020450.0A priority patent/CN113508433A/zh
Priority to US17/434,586 priority patent/US20220137861A1/en
Priority to JP2021554612A priority patent/JP2022524535A/ja
Priority to EP20710105.6A priority patent/EP3939043A1/de
Publication of WO2020182599A1 publication Critical patent/WO2020182599A1/de

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/0033Disturbance prevention or evaluation; Refreshing of disturbed memory data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3418Disturbance prevention or evaluation; Refreshing of disturbed memory data

Definitions

  • the disclosure relates to a method for operating a memory device having a plurality of memory cells for non-volatile
  • non-volatile storage device Storage of data (“non-volatile storage device”).
  • the disclosure also relates to a device for operating a memory device having a plurality of memory cells for the non-volatile storage of data.
  • Preferred embodiments relate to a method for operating a memory device having a plurality of memory cells for the non-volatile storage of data, in particular for a motor vehicle, having the following steps: checking a specifiable number of memory cells, a test result being obtained and, depending on the test result, optionally programming at least one memory cell of the predefinable number of memory cells, the steps of checking and optionally programming during operation of the
  • Storage device are executed. This allows the content of
  • Memory cells of the memory device are advantageously checked efficiently. In particular, errors or impending or future
  • the prescribable number of memory cells comprises one or more memory cells.
  • the steps of checking and / or possibly programming can thus, for example, be carried out on a single one
  • Memory cell are applied.
  • the steps of checking and / or possibly programming can be performed on comparatively few memory cells, in particular two to eight
  • the steps of checking and / or possibly programming are carried out in test cycles, with a test cycle for example including checking and / or possibly programming at least one single memory cell.
  • a test cycle for example including checking and / or possibly programming at least one single memory cell.
  • a single memory cell can be checked in a test cycle.
  • a comparatively small prescribable number of memory cells e.g. two to eight memory cells are checked.
  • test cycles in particular chronologically one after the other (e.g. directly following one another and / or with (constant or variable) waiting times between two
  • successive test cycles each of which is e.g. to a single memory cell or a comparatively small predeterminable number of memory cells or a larger number (e.g. more than eight)
  • each memory cell of the memory device is subjected to a test cycle at least once, preferably several times, in particular during an operating phase (operation without intermediate deactivation) of the memory device.
  • the entire memory is tested for minutes, hours, days, weeks, months and, if necessary, faulty bit cells are corrected.
  • At least one further unit for example a computing device such as e.g. a computing core of a microcontroller or the like that can access the memory device.
  • a computing device such as e.g. a computing core of a microcontroller or the like that can access the memory device.
  • the step of checking is performed by a circuit, in particular a hardware circuit, for checking the checksum, e.g. by a bus master such as other cores in the system or DMA (direct memory access,
  • Direct memory access - expansions are carried out - in particular independently of a microcontroller.
  • Checking comprises the determination of at least one first variable which characterizes data receipt of at least one memory cell of the predeterminable number of memory cells. This makes it possible to assess whether programming or reprogramming should be carried out after the checking step, e.g. because an error or an impending or possibly future error was detected during the checking.
  • the first variable has at least one of the following elements: a) a checksum of one associated with the at least one memory cell
  • measures a), b) can also be combined with one another, e.g. the error-correcting code and the variable characterizing the electrical charge are evaluated.
  • the method further comprises: comparing the first variable with a first threshold value, and, if the first variable falls below the first threshold value, programming, in particular post-programming, the at least one memory cell, in particular if the first variable does not fall below the first threshold value or is equal to the is the first threshold value, no programming, in particular post-programming, which is carried out at least one memory cell.
  • the comparing can e.g. comprise determining whether by a
  • the programming step in particular reprogramming, is carried out only for that memory cell or those memory cells of the predeterminable number of memory cells for which the first variable falls below the first threshold value.
  • the programming step in particular reprogramming, is carried out for a single memory cell of the prescribable number of memory cells, in particular for the at least one memory cell of the prescribable number of memory cells.
  • the steps of checking and / or programming, if necessary, are coordinated, in particular synchronized, with another operation of the memory device, in particular with possible accesses of the further unit to the memory device, in particular in such a way that no access conflicts with regard to the checking and / or possibly the programming with the possible accesses of the further unit occur.
  • Time window is determined in which no accesses by the further unit to the memory device, in particular to at least the predeterminable number of memory cells, are carried out and / or for which no accesses by the further unit to the memory device, in particular to at least the predefinable number of memory cells, are planned are, in particular the steps of checking and / or possibly programming are carried out in the time window.
  • the programming step in particular reprogramming, is carried out for a single memory cell of the prescribable number of memory cells, in particular for the at least one memory cell of the prescribable number of memory cells.
  • Test result is obtained, and, depending on the test result, optionally programming at least one memory cell of the predeterminable number of memory cells, the steps of checking and optionally programming being carried out during operation of the memory device, with at least one further unit in particular during operation of the memory device can access the storage device.
  • Device for performing the method is designed according to the embodiments.
  • Storage Device at least partially, preferably completely, in the Storage device is integrated, for example on the same
  • Semiconductor substrate is arranged as the memory device.
  • the storage device is a flash memory, in particular flash EEPROM, or a phase change memory, PCM (phase change memory), FRAM
  • RRAM Resistive Random Access Memory
  • CBRAM conductive-bridging RAM
  • MRAM magnetoresistive random access memory
  • the method according to the embodiments can advantageously be used for all memories or memory types with insufficient intrinsic values (e.g. for a specifiable purpose)
  • the at least one memory cell has a storage capacity of 1 bit, i.e. e.g. can assume two different states.
  • the method can also be used for 3 or more bits per cell and can also be advantageously used in multilevel cell memories which, in principle, have a higher intrinsic error rate.
  • the at least one memory cell has a storage capacity of more than 1 bit, e.g. 2 bits, e.g. can assume four different states.
  • the system is a control device for a motor vehicle.
  • Storage cell of a or the storage device Storage cell of a or the storage device.
  • Figure 1 schematically shows a block diagram of a memory device according to
  • FIG. 2 schematically shows a simplified flow diagram of a method according to further preferred embodiments
  • FIG. 3 schematically shows a simplified flow diagram of a method according to further preferred embodiments
  • FIG. 4 schematically shows a simplified flow diagram of a method according to further preferred embodiments
  • FIG. 5 schematically shows a simplified flow diagram of a method according to further preferred embodiments
  • Figure 6 schematically shows a time diagram according to further preferred
  • FIG. 7 schematically shows a block diagram according to further preferred ones
  • FIG. 1 schematically shows a block diagram of a memory device 100 according to preferred embodiments.
  • the memory device 100 has a plurality of memory cells which are jointly designated by the reference symbol 102. Some of the memory cells 102 are also individually designated with the reference symbols 102a, 102b,..., 102h.
  • the memory device 100 is provided for the non-volatile storage of data.
  • the memory device 100 can be provided for use in a motor vehicle, e.g. assigned to a control unit for the motor vehicle.
  • At least one further unit 300 for example a computing device such as e.g. a computing core of a
  • Microcontrollers or the like can access the memory device 100, in particular data D in the
  • Storage device 100 is a semiconductor memory, in particular a flash memory, in particular flash EEPROM, or a phase change memory, PCM (phase change memory), or an MRAM (magnetoresistive random access memory). Further technologies for providing memory cells 102 for non-volatile storage of information can also be used in further preferred embodiments.
  • At least one memory cell in particular all memory cells 102, has a storage capacity of 1 bit, that is to say, for example, can assume two different states.
  • at least one Memory cell in particular all memory cells 102, has a storage capacity of more than 1 bit, for example 2 bits, that is to say for example can assume four different states.
  • Preferred embodiments relate to a method for operating the memory device 100, having the following steps, cf. the flowchart from FIG. 2: checking 200 a predeterminable number A1 (FIG. 1) of memory cells, with a test result PE (FIG. 2) being obtained, and, depending on the test result PE, possibly programming 202 at least one memory cell 102a, 102b, 102c, 102d of the predeterminable number A1 of memory cells.
  • the programming 202 is therefore optional, in particular as a function of the test result PE.
  • Storage device 100 is set up to receive and store data from the further unit 300 (FIG. 1) and / or to process read accesses from the further unit to at least some of the memory cells 102.
  • the content of memory cells 102 of memory device 100 can advantageously be checked efficiently, in particular without the operation of memory device 100 being restricted in relation to the exchange D of data with further unit 300.
  • the predeterminable number A1 of memory cells comprises one or more memory cells.
  • a group of four is shown in FIG. 1 as an example
  • Memory cells 102a, 102b, 102c, 102d combined to form the predeterminable number A1.
  • the steps of checking 200 and / or possibly programming 202 can be applied, for example, to the four memory cells 102a, 102b, 102c, 102d. In further preferred embodiments, this does not restrict accesses (reading and / or writing) by the further unit 300 (FIG. 1) to other memory cells 102e, 102f,... Of the memory device 100.
  • the steps of checking 200 and / or possibly programming 202 can be applied, for example, to the four memory cells 102a, 102b, 102c, 102d. In further preferred embodiments, this does not restrict accesses (reading and / or writing) by the further unit 300 (FIG. 1) to other memory cells 102e, 102f,... Of the memory device 100.
  • Checking 200 and / or possibly programming 202 also for e.g. a single memory cell 102a can be employed.
  • Other preferred programming 202 also for e.g. a single memory cell 102a can be employed.
  • Embodiments can include the steps of checking and / or possibly
  • Programming can be applied to comparatively few memory cells, in particular two to eight memory cells.
  • the steps of checking 200 and / or possibly programming 202 are carried out in test cycles, with a test cycle for example including checking 200 and / or possibly programming 202 at least one single memory cell 102a.
  • a test cycle for example including checking 200 and / or possibly programming 202 at least one single memory cell 102a.
  • a single memory cell 102a can be checked in a test cycle. This also makes it possible to program or re-program, in particular, an individual memory cell 102a in a targeted manner, thereby increasing the reliability of the
  • Memory device 100 is increased and the memory cells 102 are spared overall, since programming or programming that is not required per se.
  • Memory cell of the relevant block would have to be programmed), is not applicable.
  • a comparatively small prescribable number of memory cells e.g. two to eight memory cells are checked.
  • test cycles in particular chronologically one after the other (e.g. directly following one another and / or with (constant or variable) waiting times between two
  • successive test cycles which each relate, for example, to a single memory cell 102a or a comparatively small predeterminable number of memory cells or also a larger number (for example more than eight) memory cells of the memory device.
  • at least two different test cycles relate to a different number of memory cells.
  • Memory cell 102 of the memory device 100 at least once, preferably several times, in particular during an operating phase (operation without intermediate deactivation) of the memory device 100, a test cycle (e.g. comprising checking 200 (FIG. 2) and, if necessary, an
  • the checking 200 includes the determination of at least one first variable G1, which characterizes a data receipt of at least one memory cell 102a of the predeterminable number A1 of memory cells. This makes it possible to assess particularly precisely whether programming 202 or reprogramming (i.e. re-programming with the same content or a new, corrected content, such as was determined after the application of an error-correcting code, e.g. ECC, for example) after the Step of checking 200 should be performed.
  • ECC error-correcting code
  • the first variable G1 has at least one of the following elements: a) a checksum of one associated with the at least one memory cell 102a
  • a correct content of the relevant memory cell 102a can be determined for example by means of the error-correcting code and the step of (post- ) Programming 202 can be performed to refresh memory cell 102a with the proper data content.
  • the first variable G1 can also be a Be a two-valued quantity that indicates whether there is an error or not.
  • the comparison 201 can be correspondingly simple.
  • the electrical charge of a semiconductor component e.g. a floating gate electrode of a flash memory cell
  • G1 the electrical charge of a semiconductor component
  • the method further comprises: comparing 201 (FIG. 3) the first variable with a first threshold value T 1, and, if the first variable G1 falls below the first threshold value T 1, programming 202, in particular reprogramming, the at least one memory cell 102a.
  • This enables a reliable correction of a possibly already defective memory cell 102a or a refreshing of a memory cell 102a, which possibly threatens to become defective in the future (for example by reducing the electrical charge on the floating gate electrode of a flash memory cell, so that future Read access, for example, could lead to incorrectly read data values (eg "0" instead of "1").
  • step 204 Post-programming that at least one memory cell 102a is executed.
  • the at least one memory cell 102a is considered to be correct, and a branch is made to step 204 in accordance with FIG. represents an end of the current test cycle 200, 201.
  • step 204 in further preferred embodiments, e.g. another test cycle take place, e.g. for a further specifiable number of (preferably different) memory cells 102e, 102f, 102g, 102h (FIG. 1)
  • the step of programming 200 is only carried out for that memory cell or those memory cells of the predeterminable number A1 of memory cells for which the first variable G1 falls below the first threshold value T 1.
  • writing that requires resources and may burden the relevant memory cell (s) is only carried out for those memory cells that require programming or post-programming, for example in the sense of a refresh, but not for those memory cells in which these steps 200 are not (already) required.
  • This further advantageously reduces wear (for example damage to an oxide layer insulating the floating gate electrode in the case of writing or programming flash memory cells) of the memory cells.
  • Storage device 100 coordinated, in particular synchronized, in particular in such a way that no access conflicts arise with regard to the checking 200 and / or the (possibly) programming 202 with the possible accesses D of the further unit 300.
  • Figure 4 shows an example of this
  • step 210 the coordination or synchronization described above takes place, in the case of which it is determined in the present example that the memory device 100 is currently not being acted upon by the further unit 300 in such a way that e.g. the predeterminable number A1 of memory cells can be used by the further unit 300.
  • steps 200 of checking and, if necessary, of programming 202, consequently a test cycle for the prescribable number A1 of memory cells can be carried out.
  • the further unit 300 can again access the prescribable number A1 of memory cells, cf. the optional step 214 from FIG. 4.
  • a time window is determined, cf. Step 220, in which the further unit 300 (FIG. 1) does not access the memory device 100, in particular to at least the predeterminable number A1 of memory cells, and / or for which the further unit 300 does not access the
  • Memory device 100 in particular for at least the predeterminable number A1 of memory cells, are planned, with the steps of checking 200 and / or possibly programming 202 being carried out in the time window, cf. Step 222 from FIG. 5.
  • FIG. 6 shows a time diagram for this.
  • An operating phase of the memory device 100 is identified with the reference symbol B. During the entire operating phase B, the further unit 300 can access the
  • Access memory device 100 From time t0, two accesses 214a, 214b by the further unit 300 to the memory device 100 are shown, e.g. to the memory cells 102a, .., 102d, which last up to the time t3. From time t4, there is another access 214c by the further unit 300 to the memory device 100, e.g. back to the memory cells 102a, .., 102d.
  • a time window ZF is determined between the times t1, t2 with t1> t3 and t2 ⁇ t4, in which the method according to the embodiments, cf. e.g. 2, or one or more corresponding test cycles, in particular with regard to the memory cells 102a,..., 102d, can be executed, so that the accesses 214a, 214b, 214c are not impaired.
  • FIG. 1 For example, the functionality of the device 400 can also be implemented by an existing memory controller (not shown) of the memory device 100, which can be expanded accordingly for this purpose.
  • FIG. 1 Further preferred embodiments relate to a system 1000 (FIG. 1) having at least one memory device 100 having a plurality of memory cells 102 and at least one device 400 according to the embodiments.
  • the system 1000 is a control unit for a motor vehicle.
  • the further unit 300 can be a computing core of a
  • the method (cf., for example, FIG. 2) is carried out during ongoing operation of the system 1000, in particular without (additional) blocks - this can advantageously be achieved by coupling the sequence according to e.g. 2 with the running system 1000 or the access of the further unit 300.
  • an error counter for a range from 1 to 0 secured by an error-correcting code, e.g. ECC reset.
  • the step of checking 200 can thus include the use of a DECTED-ECC method.
  • Embodiments can be carried out during operation of the memory device 100 or the system 1000 is: - Easier to set up a safety ASILD (Automotive Safety Integrity Level D) system, since the
  • Output error rate for bit error consideration is significantly lower, - the risk of failures is lower - since you no longer have to wait until the control unit 1000 is in the after-run or in the start phase in order to refresh (re-program), example: a car drives a few hours - at
  • Storage devices 100 is the intrinsic data retention time at higher temperatures and longer
  • Run times for a number of cells in the ppm range are lower and can therefore be refreshed beforehand without them failing - possible, new non-volatile storage technologies e.g. to be used with shorter data retention times.
  • error-correcting codes ECC
  • DECTED-ECC triple-bit error detection and double-bit error correction
  • test memory cells 102 in particular continuously, and / or a
  • ECC error-correcting code
  • statuses are searched for in the running system 1000 in which it is ensured that the memory does not have to be accessed for a predeterminable time (e.g. 30ps (microseconds) for PCM memory cells) (e.g. by the further unit 300), cf. . also the time window ZF shown by way of example in FIG. 6. This time window is used in further preferred embodiments in order to avoid the faulty or
  • a correction of memory cells recognized as faulty or suspicious takes place before a second or third cell in the same e.g. area A1 (FIG. 1) secured by ECC, in particular DECTED-ECC, is defective.
  • the entire memory area of the memory device 100 is checked over time, e.g. in the form of test cycles that only consider one or a few memory cells, which advantageously means shorter ones
  • Memory cell technologies with inherently less data retention than e.g. Flash memory can be compensated.
  • the method according to the embodiments, cf. e.g. steps 200, 202 of Figure 2 are executed at a rate of 120 bytes per second, e.g. a memory area of 8 MB
  • error correcting codes can also be used in conjunction with margin read techniques, e.g. for the step of checking 200 (Fig. 2).
  • (only) margin read techniques can also be used for the step of checking 200 (FIG. 2). At these variants do not require an evaluation or provision of an error-correcting code.
  • SECDED Single Error Correction and Double Error Detection
  • error-correcting codes i.a. can be used for checking 200 (FIG. 2) which allow a correction of more than two bits.
  • the method according to Figure 2 can e.g. be executed in a start or run-up of the system or control device 1000.
  • FIG. 7 schematically shows a block diagram according to further preferred embodiments.
  • the primary execution unit 500 is e.g. a first kernel, e.g. a microcontroller.
  • a DMA (direct memory access) unit 504 is provided, which can read data from the memory device 502 in a known manner and / or write it into the memory device 502, in particular without (support from) the
  • a checksum unit (“CRC unit”) 506 is provided which - possibly in connection with the DMA unit 504 - accesses data, in particular a predeterminable number A1 (FIG. 1) of memory cells in the memory device 502, and in particular can carry out the step of checking 200 (FIG. 2) and / or of programming 202.
  • at least one secondary execution unit 508 e.g. a further computing kernel
  • the primary execution unit - can load program code and / or data from the memory device (e.g. also using the DMA unit 504) and / or can perform.
  • at least one is the
  • Execution units 500, 508 designed to execute the method according to the embodiments (cf., for example, FIG. 2).
  • the checksum unit 506 and / or the DMA unit 504 is designed to carry out the method according to the embodiments (cf., for example, FIG. 2).

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)
  • Read Only Memory (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Memory System (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

Verfahren zum Betreiben einer mehrere Speicherzellen aufweisenden Speichereinrichtung zur nichtflüchtigen Speicherung von Daten, insbesondere für ein Kraftfahrzeug, aufweisend die folgenden Schritte: Überprüfen einer vorgebbaren Anzahl von Speicherzellen, wobei ein Prüfergebnis erhalten wird, und, in Abhängigkeit des Prüfergebnisses, gegebenenfalls Programmieren wenigstens einer Speicherzelle der vorgebbaren Anzahl von Speicherzellen, wobei die Schritte des Überprüfens und des gegebenenfalls Programmierens während eines Betriebs der Speichereinrichtung ausgeführt werden, wobei insbesondere in dem Betrieb der Speichereinrichtung wenigstens eine weitere Einheit auf die Speichereinrichtung zugreifen kann.

Description

Beschreibung
Titel
Verfahren und Vorrichtung zum Betreiben einer nichtflüchtigen
Speichereinrichtung
Stand der Technik
Die Offenbarung bezieht sich auf ein Verfahren zum Betreiben einer mehrere Speicherzellen aufweisenden Speichereinrichtung zur nichtflüchtigen
Speicherung von Daten („nichtflüchtige Speichereinrichtung“).
Die Offenbarung bezieht sich ferner auf eine Vorrichtung zum Betreiben einer mehrere Speicherzellen aufweisenden Speichereinrichtung zur nichtflüchtigen Speicherung von Daten.
Offenbarung der Erfindung
Bevorzugte Ausführungsformen beziehen sich auf ein Verfahren zum Betreiben einer mehrere Speicherzellen aufweisenden Speichereinrichtung zur nichtflüchtigen Speicherung von Daten, insbesondere für ein Kraftfahrzeug, aufweisend die folgenden Schritte: Überprüfen einer vorgebbaren Anzahl von Speicherzellen, wobei ein Prüfergebnis erhalten wird, und, in Abhängigkeit des Prüfergebnisses, gegebenenfalls Programmieren wenigstens einer Speicherzelle der vorgebbaren Anzahl von Speicherzellen, wobei die Schritte des Überprüfens und des gegebenenfalls Programmierens während eines Betriebs der
Speichereinrichtung ausgeführt werden. Dadurch kann der Inhalt von
Speicherzellen der Speichereinrichtung vorteilhaft effizient überprüft werden. Insbesondere können Fehler bzw. sich anbahnende bzw. zukünftig
möglicherweise auftretende Fehler frühzeitig erkannt und ggf. behoben werden. Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, dass die vorgebbare Anzahl von Speicherzellen eine oder mehrere Speicherzellen umfasst. Bei weiteren bevorzugten Ausführungsformen können die Schritte des Überprüfens und/oder ggf. Programmierens also z.B. auf eine einzige
Speicherzelle angewandt werden. Bei weiteren bevorzugten Ausführungsformen können die Schritte des Überprüfens und/oder ggf. Programmierens auf vergleichsweise wenige Speicherzellen, insbesondere zwei bis acht
Speicherzellen, angewandt werden.
Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, dass die Schritte des Überprüfens und/oder ggf. Programmierens in Prüfzyklen ausgeführt werden, wobei ein Prüfzyklus beispielsweise das Überprüfen und/oder ggf. Programmieren wenigstens einer einzigen Speicherzelle umfasst. Beispielsweise kann bei weiteren bevorzugten Ausführungsformen in einem Prüfzyklus eine einzige Speicherzelle überprüft werden. Dadurch ist auch ein Programmieren bzw. Nachprogrammieren insbesondere einer einzelnen Speicherzelle gezielt möglich, wodurch die Zuverlässigkeit der Speichereinrichtung gesteigert wird und die Speicherzellen insgesamt geschont werden, da ein an sich nicht
erforderliches Programmieren bzw. Nachprogrammieren von anderen, weiteren Speicherzellen entfällt.
Beispielsweise kann bei weiteren bevorzugten Ausführungsformen in einem Prüfzyklus eine vergleichsweise kleine vorgebbare Anzahl von Speicherzellen, z.B. zwei bis acht Speicherzellen, überprüft werden.
Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, dass mehrere Prüfzyklen, insbesondere zeitlich nacheinander (z.B. direkt aufeinanderfolgend und/oder mit (konstanten oder variablen) Wartezeiten zwischen zwei
aufeinanderfolgenden Prüfzyklen), ausgeführt werden, die sich jeweils z.B. auf eine einzige Speicherzelle oder eine vergleichsweise kleine vorgebbare Anzahl von Speicherzellen oder auch eine größere Anzahl (z.B. mehr als acht)
Speicherzellen der Speichereinrichtung beziehen.
Bei weiteren bevorzugten Ausführungsformen ist auch denkbar, dass wenigstens zwei unterschiedliche Prüfzyklen sich auf eine jeweils unterschiedliche Anzahl von Speicherzellen beziehen. Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, dass jede Speicherzelle der Speichereinrichtung zumindest einmal, vorzugsweise mehrmals, insbesondere während einer Betriebsphase (Betrieb ohne zwischenzeitliche Deaktivierung) der Speichereinrichtung einem Prüfzyklus unterworfen wird.
Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, dass der gesamte Speicher über Minuten, Stunden, Tage, Wochen, Monate getestet wird und bei Notwendigkeit fehlerhafte Bitzellen korrigiert werden.
Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, dass in dem Betrieb der Speichereinrichtung wenigstens eine weitere Einheit, beispielsweise eine Recheneinrichtung wie z.B. ein Rechenkern eines Mikrocontrollers oder dergleichen, auf die Speichereinrichtung zugreifen kann.
Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, dass der Schritt des Überprüfens durch eine Schaltung, insbesondere Hardwareschaltung, zur Checksummenüberprüfung, z.B. durch einen Busmaster wie z.B. andere Rechenkerne im System oder DMA (direkt memory access,
Speicherdirektzugriff)- Erweiterungen durchgeführt wird - insbesondere unabhängig von einem Mikrocontroller.
Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, dass das
Überprüfen das Ermitteln wenigstens einer ersten Größe umfasst, die einen Datenerhalt wenigstens einer Speicherzelle der vorgebbaren Anzahl von Speicherzellen charakterisiert. Dadurch kann beurteilt werden, ob ggf. ein Programmieren bzw. Nachprogrammieren nach dem Schritt des Überprüfens ausgeführt werden sollte, z.B., weil bei dem Überprüfen ein Fehler bzw. ein sich anbahnender bzw. zukünftig möglicherweise auftretender Fehler erkannt worden ist.
Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, dass die erste Größe wenigstens eines der folgenden Elemente aufweist: a) eine mit der wenigstens einen Speicherzelle assoziierte Prüfsumme eines
fehlerkorrigierenden Kodes, b) eine mit der wenigstens einen Speicherzelle assoziierte elektrische Ladung und/oder eine die elektrische Ladung
charakterisierende Größe. Bei weiteren bevorzugten Ausführungsformen können die Maßnahmen a), b) auch miteinander kombiniert werden, also z.B. der fehlerkorrigierende Kode und die die elektrische Ladung charakterisierende Größe ausgewertet werden.
Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, dass das
Verfahren weiter aufweist: Vergleichen der ersten Größe mit einem ersten Schwellwert, und, wenn die erste Größe den ersten Schwellwert unterschreitet, Programmieren, insbesondere Nachprogrammieren, der wenigstens einen Speicherzelle, wobei insbesondere dann, wenn die erste Größe den ersten Schwellwert nicht unterschreitet oder gleich dem ersten Schwellwert ist, kein Programmieren, insbesondere Nachprogrammieren, der wenigstens einen Speicherzelle ausgeführt wird. Bei weiteren bevorzugten Ausführungsformen kann das Vergleichen z.B. ein Ermitteln umfassen, ob durch einen
fehlerkorrigierenden Kode das Vorliegen wenigstens eines Fehlers angezeigt wird.
Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, dass der Schritt des Programmierens, insbesondere des Nachprogrammierens, nur für diejenige Speicherzelle bzw. diejenigen Speicherzellen der vorgebbaren Anzahl von Speicherzellen ausgeführt wird, für die die erste Größe den ersten Schwellwert unterschreitet.
Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, dass der Schritt des Programmierens, insbesondere des Nachprogrammierens, für eine einzige Speicherzelle der vorgebbaren Anzahl von Speicherzellen ausgeführt wird, insbesondere für die wenigstens eine Speicherzelle der vorgebbaren Anzahl von Speicherzellen.
Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, dass die Schritte des Überprüfens und/oder des gegebenenfalls Programmierens mit einem sonstigen Betrieb der Speichereinrichtung, insbesondere mit möglichen Zugriffen der weiteren Einheit auf die Speichereinrichtung, abgestimmt, insbesondere synchronisiert werden, insbesondere so, dass keine Zugriffskonflikte bezüglich des Überprüfens und/oder des gegebenenfalls Programmierens mit den möglichen Zugriffen der weiteren Einheit auftreten.
Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, dass ein
Zeitfenster ermittelt wird, in dem keine Zugriffe der weiteren Einheit auf die Speichereinrichtung, insbesondere auf wenigstens die vorgebbare Anzahl von Speicherzellen, ausgeführt werden und/oder für das keine Zugriffe der weiteren Einheit auf die Speichereinrichtung, insbesondere auf wenigstens die vorgebbare Anzahl von Speicherzellen, geplant sind, wobei insbesondere die Schritte des Überprüfens und/oder des gegebenenfalls Programmierens in dem Zeitfenster ausgeführt werden.
Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, dass der Schritt des Programmierens, insbesondere des Nachprogrammierens, für eine einzige Speicherzelle der vorgebbaren Anzahl von Speicherzellen ausgeführt wird, insbesondere für die wenigstens eine Speicherzelle der vorgebbaren Anzahl von Speicherzellen.
Weitere bevorzugte Ausführungsformen beziehen sich auf eine Vorrichtung zum Betreiben einer mehrere Speicherzellen aufweisenden Speichereinrichtung zur nichtflüchtigen Speicherung von Daten, insbesondere für ein Kraftfahrzeug, wobei die Vorrichtung zur Ausführung der folgenden Schritte ausgebildet ist: Überprüfen einer vorgebbaren Anzahl von Speicherzellen, wobei ein
Prüfergebnis erhalten wird, und, in Abhängigkeit des Prüfergebnisses, gegebenenfalls Programmieren wenigstens einer Speicherzelle der vorgebbaren Anzahl von Speicherzellen, wobei die Schritte des Überprüfens und des gegebenenfalls Programmierens während eines Betriebs der Speichereinrichtung ausgeführt werden, wobei insbesondere in dem Betrieb der Speichereinrichtung wenigstens eine weitere Einheit auf die Speichereinrichtung zugreifen kann.
Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, dass die
Vorrichtung zur Ausführung des Verfahrens gemäß den Ausführungsformen ausgebildet ist.
Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, dass die
Vorrichtung zumindest teilweise, vorzugsweise vollständig, in die Speichereinrichtung integriert ist, beispielsweise auf einem selben
Halbleitersubstrat wie die Speichereinrichtung angeordnet ist.
Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, dass die
Speichereinrichtung ein Flash-Speicher ist, insbesondere Flash-EEPROM, oder ein Phasenwechselspeicher, PCM (Phase Change Memory), FRAM
(Ferroelectric Random Access Memory), RRAM (Resistive Random Access Memory), CBRAM (conductive-bridging RAM) oder ein MRAM (magnetoresistiver random access memory).
Bei weiteren bevorzugten Ausführungsformen kann das Verfahren gemäß den Ausführungsformen vorteilhaft bei allen Speichern bzw. Speichertypen mit (z.B. für einen vorgebbaren Einsatzzweck) nicht ausreichender intrinsischer
Datensicherheit angewandt werden.
Weitere Vorteile des Verfahrens gemäß den Ausführungsformen bestehen darin, dass a) korrigierbare Fehler korrigiert werden, b) die aus Systemsicht intrinsische Fehlerrate deutlich sinkt und damit c) eine bessere Grundlage zur Absicherung gemäß der Safety Anforderungen geschaffen werden kann.
Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, dass die wenigstens eine Speicherzelle eine Speicherkapazität von 1 Bit aufweist, also z.B. zwei verschiedene Zustände annehmen kann. Das Verfahren kann bei weiteren bevorzugten Ausführungsformen auch für 3 und mehr Bit pro Zelle angewandt werden und ist in Multilevel-Cell Speichern, die Prinzip bedingt eine höhere intrinsische Fehlerrate haben, ebenfalls vorteilhaft anwendbar.
Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, dass die wenigstens eine Speicherzelle eine Speicherkapazität von mehr als 1 Bit aufweist, z.B. 2 Bit, also z.B. vier verschiedene Zustände annehmen kann.
Weitere bevorzugte Ausführungsformen beziehen sich auf ein System
aufweisend wenigstens eine mehrere Speicherzellen aufweisende
Speichereinrichtung und wenigstens eine Vorrichtung gemäß den
Ausführungsformen. Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, dass das System ein Steuergerät für ein Kraftfahrzeug ist.
Weitere bevorzugte Ausführungsformen beziehen sich auf eine Verwendung des Verfahrens gemäß den Ausführungsformen und/oder der Vorrichtung gemäß den Ausführungsformen und/oder des Systems gemäß den Ausführungsformen zur zumindest zeitweisen Überprüfung und/oder Programmierung, insbesondere Neuprogrammierung und/oder Wiederauffrischung wenigstens einer
Speicherzelle einer bzw. der Speichereinrichtung.
Weitere Merkmale, Anwendungsmöglichkeiten und Vorteile der Erfindung ergeben sich aus der nachfolgenden Beschreibung von Ausführungsbeispielen der Erfindung, die in den Figuren der Zeichnung dargestellt sind. Dabei bilden alle beschriebenen oder dargestellten Merkmale für sich oder in beliebiger Kombination den Gegenstand der Erfindung, unabhängig von ihrer
Zusammenfassung in den Patentansprüchen oder deren Rückbeziehung sowie unabhängig von ihrer Formulierung bzw. Darstellung in der Beschreibung bzw. in der Zeichnung.
In der Zeichnung zeigt:
Figur 1 schematisch ein Blockdiagramm einer Speichereinrichtung gemäß
bevorzugten Ausführungsformen,
Figur 2 schematisch ein vereinfachtes Flussdiagramm eines Verfahrens gemäß weiteren bevorzugten Ausführungsformen,
Figur 3 schematisch ein vereinfachtes Flussdiagramm eines Verfahrens gemäß weiteren bevorzugten Ausführungsformen,
Figur 4 schematisch ein vereinfachtes Flussdiagramm eines Verfahrens gemäß weiteren bevorzugten Ausführungsformen,
Figur 5 schematisch ein vereinfachtes Flussdiagramm eines Verfahrens gemäß weiteren bevorzugten Ausführungsformen, Figur 6 schematisch ein Zeitdiagramm gemäß weiteren bevorzugten
Ausführungsformen, und
Figur 7 schematisch ein Blockdiagramm gemäß weiteren bevorzugten
Ausführungsformen.
Figur 1 zeigt schematisch ein Blockdiagramm einer Speichereinrichtung 100 gemäß bevorzugten Ausführungsformen. Die Speichereinrichtung 100 weist mehrere Speicherzellen auf, die gemeinsam mit dem Bezugszeichen 102 bezeichnet sind. Manche der Speicherzellen 102 sind auch jeweils individuell mit den Bezugszeichen 102a, 102b, .., 102h bezeichnet. Die Speichereinrichtung 100 ist zur nichtflüchtigen Speicherung von Daten vorgesehen. Beispielsweise kann die Speichereinrichtung 100 bei weiteren bevorzugten Ausführungsformen zum Einsatz in einem Kraftfahrzeug vorgesehen sein, z.B. einem Steuergerät für das Kraftfahrzeug zugeordnet.
Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, dass in dem Betrieb der Speichereinrichtung 100 wenigstens eine weitere Einheit 300, beispielsweise eine Recheneinrichtung wie z.B. ein Rechenkern eines
Mikrocontrollers oder dergleichen, z.B. des genannten Steuergeräts, auf die Speichereinrichtung 100 zugreifen kann, insbesondere Daten D in die
Speichereinrichtung 100 schreiben und/oder aus der Speichereinrichtung 100 lesen kann.
Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, dass die
Speichereinrichtung 100 ein Halbleiterspeicher ist, insbesondere ein Flash- Speicher, insbesondere Flash-EEPROM, oder ein Phasenwechselspeicher, PCM (Phase Change Memory), oder ein MRAM (magnetoresistive random access memory). Weitere Technologien zur Bereitstellung von Speicherzellen 102 zur nichtflüchtigen Speicherung von Informationen sind bei weiteren bevorzugten Ausführungsformen ebenfalls nutzbar.
Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, dass wenigstens eine Speicherzelle, insbesondere alle Speicherzellen 102, eine Speicherkapazität von 1 Bit aufweist, also z.B. zwei verschiedene Zustände annehmen kann. Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, dass wenigstens eine Speicherzelle, insbesondere alle Speicherzellen 102, eine Speicherkapazität von mehr als 1 Bit aufweist, z.B. 2 Bit, also z.B. vier verschiedene Zustände annehmen kann.
Bevorzugte Ausführungsformen beziehen sich auf ein Verfahren zum Betreiben der Speichereinrichtung 100, aufweisend die folgenden Schritte, vgl. das Flussdiagramm aus Figur 2: Überprüfen 200 einer vorgebbaren Anzahl A1 (Fig. 1) von Speicherzellen, wobei ein Prüfergebnis PE (Fig. 2) erhalten wird, und, in Abhängigkeit des Prüfergebnisses PE, gegebenenfalls Programmieren 202 wenigstens einer Speicherzelle 102a, 102b, 102c, 102d der vorgebbaren Anzahl A1 von Speicherzellen. Das Programmieren 202 erfolgt also optional, insbesondere in Abhängigkeit des Prüfergebnisses PE.
Bei weiteren bevorzugten Ausführungsformen werden die Schritte des
Überprüfens 200 und des (gegebenenfalls) Programmierens 202 während eines Betriebs der Speichereinrichtung 100 ausgeführt, also z.B. während die
Speichereinrichtung 100 dazu eingerichtet ist, Daten von der weiteren Einheit 300 (Fig. 1) zu empfangen und zu speichern und/oder Lesezugriffe von der weiteren Einheit auf wenigstens manche der Speicherzellen 102 zu bearbeiten. Dadurch kann der Inhalt von Speicherzellen 102 der Speichereinrichtung 100 vorteilhaft effizient überprüft werden, insbesondere ohne dass ein Betrieb der Speichereinrichtung 100 in Bezug auf den Austausch D von Daten mit der weiteren Einheit 300 eingeschränkt ist.
Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, dass die vorgebbare Anzahl A1 von Speicherzellen eine oder mehrere Speicherzellen umfasst. Vorliegend ist in Figur 1 beispielhaft eine Gruppe von vier
Speicherzellen 102a, 102b, 102c, 102d zu der vorgebbaren Anzahl A1 zusammengefasst. Somit können vorliegend beispielhaft die Schritte des Überprüfens 200 und/oder ggf. Programmierens 202 also z.B. auf die vier Speicherzellen 102a, 102b, 102c, 102d angewendet werden. Bei weiteren bevorzugten Ausführungsformen werden dadurch Zugriffe (Lesen und/oder Schreiben) der weiteren Einheit 300 (Fig. 1) auf andere Speicherzellen 102e, 102f, .. der Speichereinrichtung 100 nicht eingeschränkt. Bei weiteren bevorzugten Ausführungsformen können die Schritte des
Überprüfens 200 und/oder ggf. Programmierens 202 auch auf z.B. eine einzige Speicherzelle 102a angewandt werden. Bei weiteren bevorzugten
Ausführungsformen können die Schritte des Überprüfens und/oder ggf.
Programmierens auf vergleichsweise wenige Speicherzellen, insbesondere zwei bis acht Speicherzellen, angewandt werden.
Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, dass die Schritte des Überprüfens 200 und/oder ggf. Programmierens 202 in Prüfzyklen ausgeführt werden, wobei ein Prüfzyklus beispielsweise das Überprüfen 200 und/oder ggf. Programmieren 202 wenigstens einer einzigen Speicherzelle 102a umfasst. Beispielsweise kann bei weiteren bevorzugten Ausführungsformen in einem Prüfzyklus eine einzige Speicherzelle 102a überprüft werden. Dadurch ist auch ein Programmieren bzw. Nachprogrammieren insbesondere einer einzelnen Speicherzelle 102a gezielt möglich, wodurch die Zuverlässigkeit der
Speichereinrichtung 100 gesteigert wird und die Speicherzellen 102 insgesamt geschont werden, da ein an sich nicht erforderliches Programmieren bzw.
Nachprogrammieren von anderen, weiteren Speicherzellen 102b, 102c, 102d, usw., wie es von konventionellen Speichereinrichtungen bekannt ist, die zwingend z.B. ein blockweises Programmieren einer Vielzahl von Speicherzellen erfordern (auch, wenn nicht alle bzw. nur manche oder nur eine einzige
Speicherzelle des betreffenden Blocks zu programmieren wäre), entfällt.
Beispielsweise kann bei weiteren bevorzugten Ausführungsformen in einem Prüfzyklus eine vergleichsweise kleine vorgebbare Anzahl von Speicherzellen, z.B. zwei bis acht Speicherzellen, überprüft werden.
Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, dass mehrere Prüfzyklen, insbesondere zeitlich nacheinander (z.B. direkt aufeinanderfolgend und/oder mit (konstanten oder variablen) Wartezeiten zwischen zwei
aufeinanderfolgenden Prüfzyklen), ausgeführt werden, die sich jeweils z.B. auf eine einzige Speicherzelle 102a oder eine vergleichsweise kleine vorgebbare Anzahl von Speicherzellen oder auch eine größere Anzahl (z.B. mehr als acht) Speicherzellen der Speichereinrichtung beziehen. Bei weiteren bevorzugten Ausführungsformen ist auch denkbar, dass wenigstens zwei unterschiedliche Prüfzyklen sich auf eine jeweils unterschiedliche Anzahl von Speicherzellen beziehen.
Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, dass jede
Speicherzelle 102 der Speichereinrichtung 100 (Fig. 1) zumindest einmal, vorzugsweise mehrmals, insbesondere während einer Betriebsphase (Betrieb ohne zwischenzeitliche Deaktivierung) der Speichereinrichtung 100 einem Prüfzyklus (z.B. umfassend das Überprüfen 200 (Fig. 2) und ein ggf.
nachfolgendes Programmieren 202) unterworfen wird.
Bei weiteren bevorzugten Ausführungsformen, vgl. das Flussdiagramm aus Figur 3, ist vorgesehen, dass das Überprüfen 200 das Ermitteln wenigstens einer ersten Größe G1 umfasst, die einen Datenerhalt wenigstens einer Speicherzelle 102a der vorgebbaren Anzahl A1 von Speicherzellen charakterisiert. Dadurch kann besonders genau beurteilt werden, ob ggf. ein Programmieren 202 bzw. Nachprogrammieren (also erneutes Programmieren mit demselben Inhalt bzw. einem neuen, korrigierten Inhalt, wie er z.B. nach der Anwendung eines fehlerkorrigierenden Kodes, z.B. ECC, ermittelt worden ist) nach dem Schritt des Überprüfens 200 ausgeführt werden sollte.
Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, dass die erste Größe G1 wenigstens eines der folgenden Elemente aufweist: a) eine mit der wenigstens einen Speicherzelle 102a assoziierte Prüfsumme eines
fehlerkorrigierenden Kodes, b) eine mit der wenigstens einen Speicherzelle 102a assoziierte elektrische Ladung und/oder eine die elektrische Ladung
charakterisierende Größe.
Sofern beispielsweise die Prüfsumme ergibt, dass ein Fehler im Bereich der vorgebbaren Anzahl A1 von Speicherzellen, z.B. der Speicherzelle 102a, vorliegt, kann bei weiteren bevorzugten Ausführungsformen ein korrekter Inhalt der betreffenden Speicherzelle 102a beispielsweise mittels des fehlerkorrigierenden Kodes ermittelt und der Schritt des (Nach-)Programmierens 202 ausgeführt werden, um die Speicherzelle 102a mit dem ordnungsgemäßen Dateninhalt aufzufrischen. Die erste Größe G1 kann hierbei beispielsweise ebenfalls eine zweiwertige Größe sein, die angibt, ob ein Fehler vorliegt oder nicht.
Entsprechend einfach kann der Vergleich 201 ausfallen.
Bei weiteren bevorzugten Ausführungsformen kann z.B. die elektrische Ladung eines Halbleiterbauelements (z.B. einer floating gate-Elektrode einer Flash- Speicherzelle) als erste Größe G1 ausgewertet werden.
Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, dass das
Verfahren weiter aufweist: Vergleichen 201 (Fig. 3) der ersten Größe mit einem ersten Schwellwert T 1 , und, wenn die erste Größe G1 den ersten Schwellwert T 1 unterschreitet, Programmieren 202, insbesondere Nachprogrammieren, der wenigstens einen Speicherzelle 102a. Dadurch ist ein zuverlässiges Korrigieren einer ggf. bereits fehlerhaften Speicherzelle 102a möglich bzw. ein Auffrischen einer Speicherzelle 102a, die ggf. zukünftig fehlerhaft zu werden droht (z.B. durch Verringerung der elektrischen Ladung auf der floating gate-Elektrode einer Flash-Speicherzelle, so dass zukünftige Lesezugriffe z.B. auf einen falschen ausgelesenen Datenwerte (z.B.„0“ anstelle„1“) führen könnten.
Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, dass dann, wenn die erste Größe G1 den ersten Schwellwert T 1 nicht unterschreitet oder gleich dem ersten Schwellwert ist, kein Programmieren 202, insbesondere
Nachprogrammieren, der wenigstens einen Speicherzelle 102a ausgeführt wird. In diesem Falle wird die wenigstens eine Speicherzelle 102a als ordnungsgemäß angesehen, und es wird gemäß Fig. 3 in den Schritt 204 verzweigt, der z.B. ein Ende des aktuellen Prüfzyklus 200, 201 repräsentiert. Nach dem Schritt 204 kann bei weiteren bevorzugten Ausführungsformen z.B. ein weiterer Prüfzyklus erfolgen, z.B. für eine weitere vorgebbare Anzahl von (bevorzugt anderen) Speicherzellen 102e, 102f, 102g, 102h (Fig. 1)
Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, dass der Schritt des Programmierens 200, insbesondere des Nachprogrammierens, nur für diejenige Speicherzelle bzw. diejenigen Speicherzellen der vorgebbaren Anzahl A1 von Speicherzellen ausgeführt wird, für die die erste Größe G1 den ersten Schwellwert T 1 unterschreitet. Dadurch wird ein Ressourcen benötigendes und die betreffende(n) Speicherzelle(n) ggf. belastendes Schreiben nur für diejenigen Speicherzellen ausgeführt, die ein Programmieren bzw. Nachprogrammieren z.B. im Sinne einer Auffrischung erfordern, nicht jedoch für solche Speicherzellen, bei denen diese Schritte 200 nicht (bereits) erforderlich ist. Dadurch wird weiter vorteilhaft eine Abnutzung (z.B. Schädigung einer die floating gate-Elektrode isolierenden Oxidschicht im Falle des Beschreibens bzw. Programmierens von Flash-Speicherzellen) der Speicherzellen reduziert.
Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, dass die Schritte des Überprüfens 200 und/oder des gegebenenfalls Programmierens 202 mit einem sonstigen Betrieb der Speichereinrichtung 100, insbesondere mit möglichen Zugriffen D der weiteren Einheit 300 (Fig. 1) auf die
Speichereinrichtung 100, abgestimmt, insbesondere synchronisiert werden, insbesondere so, dass keine Zugriffskonflikte bezüglich des Überprüfens 200 und/oder des (gegebenenfalls) Programmierens 202 mit den möglichen Zugriffen D der weiteren Einheit 300 auftreten. Figur 4 zeigt hierzu beispielhaft ein
Flussdiagramm gemäß weiteren bevorzugten Ausführungsformen. In Schritt 210 erfolgt die vorstehend beschriebene Abstimmung bzw. Synchronisation, bei der vorliegend beispielhaft ermittelt wird, dass die Speichereinrichtung 100 derzeit nicht so durch die weitere Einheit 300 beaufschlagt wird, dass z.B. die vorgebbare Anzahl A1 von Speicherzellen durch die weitere Einheit 300 benutzt werden. In Schritt 212 können daher die Schritte 200 des Überprüfens und ggf. des Programmierens 202, mithin ein Prüfzyklus für die vorgebbare Anzahl A1 von Speicherzellen, ausgeführt werden. Nach Abschluss dieses Prüfzyklus können wieder Zugriffe seitens der weiteren Einheit 300 auf die vorgebbare Anzahl A1 von Speicherzellen ausgeführt werden, vgl. den optionalen Schritt 214 aus Figur 4.
Bei weiteren bevorzugten Ausführungsformen, vgl. Figur 5, ist vorgesehen, dass ein Zeitfenster ermittelt wird, vgl. Schritt 220, in dem keine Zugriffe der weiteren Einheit 300 (Fig. 1) auf die Speichereinrichtung 100, insbesondere auf wenigstens die vorgebbare Anzahl A1 von Speicherzellen, ausgeführt werden und/oder für das keine Zugriffe der weiteren Einheit 300 auf die
Speichereinrichtung 100, insbesondere auf wenigstens die vorgebbare Anzahl A1 von Speicherzellen, geplant sind, wobei insbesondere die Schritte des Überprüfens 200 und/oder des gegebenenfalls Programmierens 202 in dem Zeitfenster ausgeführt werden, vgl. Schritt 222 aus Figur 5. Figur 6 zeigt hierzu ein Zeitdiagramm. Eine Betriebsphase der Speichereinrichtung 100 ist mit dem Bezugszeichen B gekennzeichnet. Während der gesamten Betriebsphase B kann die weitere Einheit 300 auf die
Speichereinrichtung 100 zugreifen. Ab dem Zeitpunkt tO sind zwei Zugriffe 214a, 214b der weiteren Einheit 300 auf die Speichereinrichtung 100 gezeigt, z.B. auf die Speicherzellen 102a, .., 102d, die bis zu dem Zeitpunkt t3 dauern. Ab dem Zeitpunkt t4 erfolgt ein weiterer Zugriff 214c der weiteren Einheit 300 auf die Speichereinrichtung 100, z.B. wieder auf die Speicherzellen 102a, .., 102d. Bei weiteren bevorzugten Ausführungsformen wird ein Zeitfenster ZF zwischen den Zeitpunkten t1 , t2 mit t1 > t3 und t2 < t4 ermittelt, in dem das Verfahren gemäß den Ausführungsformen, vgl. z.B. Fig. 2, bzw. ein oder mehrere entsprechende Prüfzyklen, insbesondere bezüglich der Speicherzellen 102a, .., 102d, ausgeführt werden können, wodurch die Zugriffe 214a, 214b, 214c nicht beeinträchtigt werden.
Weitere bevorzugte Ausführungsformen beziehen sich auf eine Vorrichtung zum Betreiben der Speichereinrichtung 100 zur nichtflüchtigen Speicherung von Daten, insbesondere für ein Kraftfahrzeug, wobei die Vorrichtung zur Ausführung des Verfahrens gemäß den Ausführungsformen ausgebildet ist. Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, dass die Vorrichtung zumindest teilweise, vorzugsweise vollständig, in die Speichereinrichtung 100 integriert ist, vgl. das Element 400 aus Figur 1. Beispielsweise kann die Funktionalität der Vorrichtung 400 auch durch einen bestehenden Speichercontroller (nicht gezeigt) der Speichereinrichtung 100 realisiert werden, der hierzu in entsprechender Weise erweitert werden kann.
Weitere bevorzugte Ausführungsformen beziehen sich auf ein System 1000 (Fig. 1) aufweisend wenigstens eine mehrere Speicherzellen 102 aufweisende Speichereinrichtung 100 und wenigstens eine Vorrichtung 400 gemäß den Ausführungsformen. Bei weiteren bevorzugten Ausführungsformen ist vorgesehen, dass das System 1000 ein Steuergerät für ein Kraftfahrzeug ist. Beispielsweise kann die weitere Einheit 300 ein Rechenkern einer
Recheneinrichtung des Steuergeräts 1000 sein.
Weitere bevorzugte Ausführungsformen beziehen sich auf eine Verwendung des Verfahrens gemäß den Ausführungsformen und/oder der Vorrichtung 400 gemäß den Ausführungsformen und/oder des Systems 1000 gemäß den
Ausführungsformen zur zumindest zeitweisen Überprüfung und/oder
Programmierung, insbesondere Neuprogrammierung und/oder (Wieder-) Auffrischung wenigstens einer Speicherzelle 102a einer bzw. der
Speichereinrichtung 100.
Nachfolgend sind weitere vorteilhafte Aspekte und Ausführungsformen beschrieben, die gemäß noch weiteren bevorzugten Ausführungsformen jeweils einzeln für sich oder in Kombination miteinander mit jeder beliebigen der vorstehend beschriebenen Ausführungsformen kombinierbar sind.
Weitere bevorzugte Ausführungsformen ermöglichen einen Refresh von einzelnen Speicherzellen 102a, 102b, ... während des Betriebs des Systems 1000, insbesondere ohne Speicherblöcke, insbesondere zusätzliche
Speicherblöcke, vorsehen zu müssen.
Bei weiteren bevorzugte Ausführungsformen werden bevorzugt nur die
Speicherzellen programmiert bzw. nachprogrammiert, die Ladung verloren haben, wodurch der Stress auf andere/benachbarte Zellen der
Speichereinrichtung minimiert wird. Der Stress und damit die Ausfallrate für andere Zellen wird insbesondere gegenüber konventionellen Verfahren, die auf einer blockbasierten Programmierung mit zusätzlichen Blöcken beruhen, verringert.
Bei weiteren bevorzugten Ausführungsformen wird das Verfahren (vgl. z.B. Fig. 2) im laufenden Betrieb des Systems 1000, insbesondere ohne (zusätzliche) Blöcke durchgeführt - dies kann vorteilhaft durch die Kopplung des Ablaufs gemäß z.B. Fig. 2 mit dem laufenden System 1000 bzw. den Zugriffen der weiteren Einheit 300 ermöglicht werden.
Bei weiteren bevorzugten Ausführungsformen kann das Verfahren gemäß den Ausführungsformen, vgl. z.B. die Schritte 200, 202 gemäß Fig. 2, im
Zusammenhang mit DECTED - ECC (double error correction triple error detection) vorteilhaft eingesetzt werden, z.B. um sicher vor Auftreten eines dritten, nicht korrigierbaren Fehlers, einen Fehlerzähler für einen durch einen fehlerkorrigierenden Kode, z.B. ECC, abgesicherten Bereich von 1 auf 0 zurückzusetzen. Bei weiteren bevorzugten Ausführungsformen kann somit der Schritt des Überprüfens 200 die Anwendung eines DECTED-ECC-Verfahrens umfassen.
Dadurch, dass das Verfahren gemäß zumindest manchen bevorzugten
Ausführungsformen im laufenden Betrieb der Speichereinrichtung 100 bzw. des Systems 1000 durchgeführt werden kann ist es: - Einfacher ein Safety ASILD (Automotive Safety Integrity Level D) System aufzusetzen, da die
Ausgangsfehlerrate für die Bitfehlerbetrachtung wesentlich geringer ist, - Das Risiko für Ausfälle geringer - da nicht mehr gewartet werden muss bis sich das Steuergerät 1000 im Nachlauf oder in der Startphase befindet um zu refreshen (nachzuprogrammieren), Beispiel: ein Auto fährt einige Stunden - bei
Speichereinrichtungen 100 gemäß weiteren bevorzugten Ausführungsformen ist die intrinsische Datenerhaltzeit bei höheren Temperaturen und längeren
Laufzeiten für eine Anzahl von Zellen im ppm Bereich geringer und kann deshalb vorher refreshed werden, ohne dass diese ausfällt - Möglich, neue nichtflüchtige Speichertechnologien z.B. mit kürzeren Datenerhaltzeiten einzusetzen.
Bei weiteren bevorzugten Ausführungsformen werden fehlerkorrigierende Kodes, ECC, mit triple Bit Fehlererkennung und Doppelbitfehlerkorrektur (DECTED- ECC) eingesetzt.
Bei weiteren bevorzugten Ausführungsformen können alternativ oder ergänzend auch andere Verfahren z.B. für die Bestimmung der aktuellen Ladung einer Speicherzelle - wie z.B. dem Fachmann bekannte Margin-Read-Verfahren, verwendet werden.
Weitere bevorzugte Ausführungsformen ermöglichen z.B., im laufenden Betrieb des Systems 1000 eine Ladung der Bits bzw. den Speicherinhalt der
Speicherzellen 102, insbesondere laufend, zu prüfen und/oder einen
fehlerkorrigierenden Kode, ECC, insbesondere laufend, zu prüfen, z.B. bis ein Fehler sichtbar ist und/oder bis ein nicht mehr ausreichender Datenerhalt der Speicherzelle feststellbar ist (z.B. Ladung zu gering), wobei solch ein Fehler bzw. die betreffende Speicherzelle dann direkt wieder programmiert bzw.
nachprogrammiert werden kann mit dem richtigen Datenwert. Da insbesondere bei DECTED-ECC-Verfahren auch ein zweiter Fehler noch korrigiert werden kann, ist die Ausfallwahrscheinlichkeit des Systems 1000 damit wesentlich geringer.
Bei weiteren bevorzugten Ausführungsformen werden im laufenden System 1000 Zustände gesucht, in denen sichergestellt ist, dass für eine vorgebbare Zeit (z.B. 30ps (Mikrosekunden) bei PCM-Speicherzellen) nicht auf den Speicher zugegriffen werden muss (z.B. seitens der weiteren Einheit 300), vgl. auch das beispielhaft in Fig. 6 abgebildete Zeitfenster ZF. Dieses Zeitfenster wird bei weiteren bevorzugten Ausführungsformen genutzt, um die fehlerhafte bzw.
aufgrund ihres vermuteten geringen verbleibenden Datenerhalts (z.B. niedrige Ladung) auffälligen Speicherzelle neu zu programmieren.
Bei weiteren bevorzugten Ausführungsformen erfolgt eine Korrektur von als fehlerhaft erkannten bzw. auffälligen Speicherzellen, bevor eine zweite bzw. dritte Zelle in demselben z.B. durch ECC, insbesondere DECTED-ECC, abgesicherten Bereich A1 (Fig. 1) defekt wird.
Bei weiteren bevorzugten Ausführungsformen wird bevorzugt der gesamte Speicherbereich der Speichereinrichtung 100, insbesondere alle Speicherzellen 102, über die Zeit überprüft, z.B. in Form von Prüfzyklen, die jeweils nur eine bzw. wenige Speicherzellen betrachten, wodurch vorteilhaft kürzere
Datenhaltzeiten (z.B. bedingt durch hohe Temperaturen und/oder
Speicherzellen-Technologien mit inhärent geringerem Datenerhalt als z.B. Flash- Speicher) kompensiert werden können. Beispielsweise kann bei weiteren bevorzugten Ausführungsformen das Verfahren gemäß den Ausführungsformen, vgl. z.B. die Schritte 200, 202 aus Fig. 2, mit einer Rate von 120 Bytes je Sekunde ausgeführt werden, wobei z.B. ein Speicherbereich von 8 MB
(Megabytes) wenigstens einmal pro Tag überprüft und ggf. (neu)programmiert bzw. refreshed (wiederaufgefrischt) werden kann.
Bei weiteren bevorzugten Ausführungsformen können auch fehlerkorrigierende Kodes zusammen mit Margin-Read-Techniken verwendet werden, z.B. für den Schritt des Überprüfens 200 (Fig. 2).
Bei weiteren bevorzugten Ausführungsformen können auch (nur) Margin-Read- Techniken verwendet werden für den Schritt des Überprüfens 200 (Fig. 2). Bei diesen Varianten ist eine Auswertung bzw. Vorsehung eines fehlerkorrigierenden Kodes nicht erforderlich.
Bei weiteren bevorzugten Ausführungsformen können auch SECDED (Single Error Correction und Double Error Detection) Techniken verwendet werden, bei denen ein Fehler korrigiert und zwei Fehler erkannt werden können.
Bei weiteren bevorzugten Ausführungsformen können auch fehlerkorrigierende Kodes u.a. für das Überprüfen 200 (Fig. 2) verwendet werden, die eine Korrektur von mehr als zwei Bits ermöglichen.
Bei weiteren bevorzugten Ausführungsformen kann das Verfahren gemäß Figur 2 z.B. in einem Start oder Hochlauf des Systems bzw. Steuergeräts 1000 ausgeführt werden.
Figur 7 zeigt schematisch ein Blockdiagramm gemäß weiteren bevorzugten Ausführungsformen. Abgebildet ist eine primäre Ausführungseinheit 500 und eine der primären Ausführungseinheit 500 zugeordnete Speichereinrichtung 502. Die primäre Ausführungseinheit 500 ist z.B. ein erster Rechenkern, z.B. eines Mikrocontrollers. Bei weiteren bevorzugten Ausführungsformen ist eine DMA (Speicherdirektzugriffs-) Einheit 504 vorgesehen, die in bekannter Weise Daten aus der Speichereinrichtung 502 lesen und/oder in die Speichereinrichtung 502 schreiben kann, insbesondere ohne (Unterstützung durch) die
Ausführungseinheit 500. Bei weiteren bevorzugten Ausführungsformen ist eine Prüfsummeneinheit („CRC-Einheit“) 506 vorgesehen, die - ggf. in Verbindung mit der DMA-Einheit 504 - auf Daten, insbesondere eine vorgebbare Anzahl A1 (Fig. 1) von Speicherzellen der Speichereinrichtung 502, zugreifen und insbesondere den Schritt des Überprüfens 200 (Fig. 2) und/oder des Programmierens 202 ausführen kann. Optional ist wenigstens eine sekundäre Ausführungseinheit 508 (z.B. ein weiterer Rechenkern) vorgesehen, die gemäß weiteren bevorzugten Ausführungsformen - ebenso wie die primäre Ausführungseinheit - Programmcode und/oder Daten aus der Speichereinrichtung laden kann (z.B. auch unter Nutzung der DMA-Einheit 504) und/oder ausführen kann. Gemäß weiteren bevorzugten Ausführungsformen ist wenigstens eine der
Ausführungseinheiten 500, 508 zur Ausführung des Verfahrens gemäß den Ausführungsformen (vgl. z.B. Fig. 2) ausgebildet. Gemäß weiteren bevorzugten Ausführungsformen ist die Prüfsummeneinheit 506 und/oder die DMA-Einheit 504 zur Ausführung des Verfahrens gemäß den Ausführungsformen (vgl. z.B. Fig. 2) ausgebildet.

Claims

Ansprüche
1. Verfahren zum Betreiben einer mehrere Speicherzellen (102) aufweisenden Speichereinrichtung (100) zur nichtflüchtigen Speicherung von Daten, insbesondere für ein Kraftfahrzeug, aufweisend die folgenden Schritte:
Überprüfen (200) einer vorgebbaren Anzahl (A1) von Speicherzellen (102), wobei ein Prüfergebnis (PE) erhalten wird, und, in Abhängigkeit des
Prüfergebnisses (PE), gegebenenfalls Programmieren (202) wenigstens einer Speicherzelle (102a) der vorgebbaren Anzahl (A1) von Speicherzellen, wobei die Schritte des Überprüfens (200) und des Programmierens (202) während eines Betriebs (B) der Speichereinrichtung (100) ausgeführt werden, wobei insbesondere in dem Betrieb (B) der Speichereinrichtung (100) wenigstens eine weitere Einheit (300) auf die Speichereinrichtung (100) zugreifen kann.
2. Verfahren nach Anspruch 1 , wobei das Überprüfen (200) das Ermitteln
wenigstens einer ersten Größe (G1) umfasst, die einen Datenerhalt wenigstens einer Speicherzelle (102a) der vorgebbaren Anzahl (A1) von Speicherzellen charakterisiert.
3. Verfahren nach Anspruch 2, wobei die erste Größe (G1) wenigstens eines der folgenden Elemente aufweist: a) eine mit der wenigstens einen
Speicherzelle (102a) assoziierte Prüfsumme eines fehlerkorrigierenden Kodes, b) eine mit der wenigstens einen Speicherzelle (102a) assoziierte elektrische Ladung und/oder eine die elektrische Ladung charakterisierende Größe.
4. Verfahren nach wenigstens einem der Ansprüche 2 bis 3, weiter aufweisend:
Vergleichen (201) der ersten Größe (G1) mit einem ersten Schwellwert (T1), und, wenn die erste Größe (G1) den ersten Schwellwert (T1) unterschreitet, Programmieren (202), insbesondere Nachprogrammieren (202), der wenigstens einen Speicherzelle (102a), wobei insbesondere dann, wenn die erste Größe (G1) den ersten Schwellwert (T1) nicht unterschreitet oder gleich dem ersten Schwellwert (T1) ist, kein Programmieren (202), insbesondere Nachprogrammieren (202), der wenigstens einen
Speicherzelle (102a) ausgeführt (204) wird.
5. Verfahren nach Anspruch 4, wobei der Schritt des Programmierens (202), insbesondere des Nachprogrammierens, nur für diejenige Speicherzelle (102a) bzw. diejenigen Speicherzellen der vorgebbaren Anzahl (A1) von Speicherzellen (102) ausgeführt wird, für die die erste Größe (G1) den ersten Schwellwert (T1) unterschreitet.
6. Verfahren nach wenigstens einem der vorstehenden Ansprüche, wobei der Schritt des Programmierens (202), insbesondere des Nachprogrammierens, für eine einzige Speicherzelle der vorgebbaren Anzahl (A1) von
Speicherzellen (102) ausgeführt wird, insbesondere für die wenigstens eine Speicherzelle (102a) der vorgebbaren Anzahl (A1) von Speicherzellen (102).
7. Verfahren nach wenigstens einem der vorstehenden Ansprüche, wobei die Schritte des Überprüfens (200) und/oder des Programmierens (202) mit einem sonstigen Betrieb (B) der Speichereinrichtung (100), insbesondere mit möglichen Zugriffen (214; 214a, 214b, 214c) der weiteren Einheit (300) auf die Speichereinrichtung (100), abgestimmt (210), insbesondere
synchronisiert werden, insbesondere so, dass keine Zugriffskonflikte bezüglich des Überprüfens (200) und/oder des Programmierens (202) mit den möglichen Zugriffen (214; 214a, 214b, 214c) der weiteren Einheit (300) auftreten.
8. Verfahren nach wenigstens einem der vorstehenden Ansprüche, wobei ein Zeitfenster (ZF) ermittelt (220) wird, in dem keine Zugriffe (214; 214a, 214b, 214c) der weiteren Einheit (300) auf die Speichereinrichtung (100), insbesondere auf wenigstens die vorgebbare Anzahl (A1) von
Speicherzellen (102), ausgeführt werden, und/oder für das keine Zugriffe (214; 214a, 214b, 214c) der weiteren Einheit (300) auf die
Speichereinrichtung (100), insbesondere auf wenigstens die vorgebbare Anzahl (A1) von Speicherzellen (102), geplant sind, wobei insbesondere die Schritte des Überprüfens (200) und/oder des Programmierens (202) in dem Zeitfenster (ZF) ausgeführt (222) werden.
9. Verfahren nach wenigstens einem der vorstehenden Ansprüche, wobei der Schritt des Programmierens (202), insbesondere des Nachprogrammierens, für eine einzige Speicherzelle der vorgebbaren Anzahl (A1) von
Speicherzellen (102) ausgeführt wird, insbesondere für die wenigstens eine Speicherzelle (102a) der vorgebbaren Anzahl (A1) von Speicherzellen (102).
10. Vorrichtung (400) zum Betreiben einer mehrere Speicherzellen (102)
aufweisenden Speichereinrichtung (100) zur nichtflüchtigen Speicherung von Daten, insbesondere für ein Kraftfahrzeug, wobei die Vorrichtung (400) zur Ausführung der folgenden Schritte ausgebildet ist: Überprüfen (200) einer vorgebbaren Anzahl (A1) von Speicherzellen (102), wobei ein Prüfergebnis (PE) erhalten wird, und, in Abhängigkeit des Prüfergebnisses (PE), gegebenenfalls Programmieren (202) wenigstens einer Speicherzelle der vorgebbaren Anzahl (A1) von Speicherzellen, wobei die Schritte des
Überprüfens (200) und des gegebenenfalls Programmierens (202) während eines Betriebs der Speichereinrichtung (100) ausgeführt werden, wobei insbesondere in dem Betrieb der Speichereinrichtung (100) wenigstens eine weitere Einheit (300) auf die Speichereinrichtung (100) zugreifen kann.
11. Vorrichtung (400) nach Anspruch 10, wobei die Vorrichtung (400) zur
Ausführung des Verfahrens nach wenigstens einem der Ansprüche 1 bis 9 ausgebildet ist.
12. Vorrichtung (400) nach wenigstens einem der Ansprüche 10 bis 11 , wobei die Vorrichtung (400) zumindest teilweise, vorzugsweise vollständig, in die Speichereinrichtung (100) integriert ist.
13. System (1000) aufweisend wenigstens eine mehrere Speicherzellen (102) aufweisende Speichereinrichtung (100) und wenigstens eine Vorrichtung (400) nach wenigstens einem der Ansprüche 10 bis 12.
14. System (1000) nach Anspruch 13, wobei das System (1000) ein Steuergerät für ein Kraftfahrzeug ist.
15. Verwendung des Verfahrens nach wenigstens einem der Ansprüche 1 bis 9 und/oder der Vorrichtung (400) nach wenigstens einem der Ansprüche 10 bis 12 und/oder des Systems (1000) nach wenigstens einem der Ansprüche 13 bis 14 zur zumindest zeitweisen Überprüfung und/oder Programmierung, 0/182599 PCT/EP2020/055820
- 23 - insbesondere Neuprogrammierung und/oder Wiederauffrischung wenigstens einer Speicherzelle (102a) einer bzw. der Speichereinrichtung (100).
PCT/EP2020/055820 2019-03-12 2020-03-05 Verfahren und vorrichtung zum betreiben einer nichtflüchtigen speichereinrichtung WO2020182599A1 (de)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR1020217032229A KR20210136090A (ko) 2019-03-12 2020-03-05 비휘발성 메모리 장치를 작동하는 방법 및 장치
CN202080020450.0A CN113508433A (zh) 2019-03-12 2020-03-05 用于运行非易失性存储装置的方法和设备
US17/434,586 US20220137861A1 (en) 2019-03-12 2020-03-05 Method and device for operating a nonvolatile memory device
JP2021554612A JP2022524535A (ja) 2019-03-12 2020-03-05 不揮発性メモリ機構の動作のための方法および装置
EP20710105.6A EP3939043A1 (de) 2019-03-12 2020-03-05 Verfahren und vorrichtung zum betreiben einer nichtflüchtigen speichereinrichtung

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102019203351.2A DE102019203351A1 (de) 2019-03-12 2019-03-12 Verfahren und Vorrichtung zum Betreiben einer nichtflüchtigen Speichereinrichtung
DE102019203351.2 2019-03-12

Publications (1)

Publication Number Publication Date
WO2020182599A1 true WO2020182599A1 (de) 2020-09-17

Family

ID=69780183

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2020/055820 WO2020182599A1 (de) 2019-03-12 2020-03-05 Verfahren und vorrichtung zum betreiben einer nichtflüchtigen speichereinrichtung

Country Status (7)

Country Link
US (1) US20220137861A1 (de)
EP (1) EP3939043A1 (de)
JP (1) JP2022524535A (de)
KR (1) KR20210136090A (de)
CN (1) CN113508433A (de)
DE (1) DE102019203351A1 (de)
WO (1) WO2020182599A1 (de)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1271552A2 (de) * 2001-06-21 2003-01-02 STMicroelectronics S.r.l. Verfahren zur Auffrischung der Daten in einem elektrisch lösch- und programmierbaren nichtflüchtigen Speicher
US7079422B1 (en) * 2000-04-25 2006-07-18 Samsung Electronics Co., Ltd. Periodic refresh operations for non-volatile multiple-bit-per-cell memory
US20090327581A1 (en) * 2008-06-30 2009-12-31 Coulson Richard L Nand memory

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19964012A1 (de) * 1999-12-30 2001-07-12 Bosch Gmbh Robert Verfahren und Einrichtung zum Refresh des Speicherinhalts einer Speicherzelle eines Festwertspeichers
JP2002074999A (ja) * 2000-08-23 2002-03-15 Sharp Corp 不揮発性半導体記憶装置
US6731557B2 (en) * 2001-06-21 2004-05-04 Stmicroelectronics S.R.L. Method of refreshing an electrically erasable and programmable non-volatile memory
JP6479617B2 (ja) * 2015-09-15 2019-03-06 ラピスセミコンダクタ株式会社 不揮発性メモリのデータ回復方法及びメモリ制御装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7079422B1 (en) * 2000-04-25 2006-07-18 Samsung Electronics Co., Ltd. Periodic refresh operations for non-volatile multiple-bit-per-cell memory
EP1271552A2 (de) * 2001-06-21 2003-01-02 STMicroelectronics S.r.l. Verfahren zur Auffrischung der Daten in einem elektrisch lösch- und programmierbaren nichtflüchtigen Speicher
US20090327581A1 (en) * 2008-06-30 2009-12-31 Coulson Richard L Nand memory

Also Published As

Publication number Publication date
US20220137861A1 (en) 2022-05-05
JP2022524535A (ja) 2022-05-06
CN113508433A (zh) 2021-10-15
KR20210136090A (ko) 2021-11-16
DE102019203351A1 (de) 2020-09-17
EP3939043A1 (de) 2022-01-19

Similar Documents

Publication Publication Date Title
DE102008002083B4 (de) Flash-Speichervorrichtung und entsprechende Programmierverfahren
DE102006033649B4 (de) Speicherbauelement und Verfahren zum Konfigurieren eines Speicherbauelements
DE102007031027B4 (de) Leseverfahren einer Speichervorrichtung
DE102010031282B4 (de) Verfahren zum Überwachen eines Datenspeichers
DE102008003944A1 (de) Speichersystem und Programmierverfahren für ein Speichersystem
DE112016004760T5 (de) System und Verfahren für direktes Schreiben auf einen MLC-Speicher
DE102006036070B4 (de) Ladungsfallenspeichervorrichtung und Verfahren für deren Herstellung und Betrieb
DE112008001151B4 (de) Mehrbitprogrammiervorrichtung und Verfahren zum Mehrbitprogrammieren
DE2225841C3 (de) Verfahren und Anordnung zur systematischen Fehlerprüfung eines monolithischen Halbleiterspeichers
EP0198935A1 (de) Elektrisch umprogrammierbarer Halbleiterspeicher mit Redundanz
DE102010037290A1 (de) Speichersysteme und Verfahren zur Erfassung einer Verteilung von instabilen Speicherzellen
DE102018117357A1 (de) Speichervorrichtung mit einer Schaltung zum Erfassen eines Wortleitungsdefektes und Betriebsverfahren derselben
DE102020106006A1 (de) Partieller xor-schutz
DE69927571T2 (de) Datenprozessor und Verfahren zum Verarbeiten von Daten
EP3378006B1 (de) Verfahren zum laden eines sicheren speicherabbilds eines mikrocontrollers und anordnung mit einem mikrocontroller
EP3939043A1 (de) Verfahren und vorrichtung zum betreiben einer nichtflüchtigen speichereinrichtung
DE102013014393A1 (de) System und Verfahren zum Bereitstellen eines Spannungsversorgungsschutzes in einer Speichervorrichtung
DE102005060901A1 (de) Verfahren zur Erkennung einer Versorgungsunterbrechung in einem Datenspeicher und zur Wiederherstellung des Datenspeichers
DE102010000458A1 (de) Vorrichtung und Verfahren zum Korrigieren von Über-Gelöschten-Flash-Speicherzellen
DE10148047B4 (de) Verfahren und Vorrichtung zur Sicherung von Daten in einem Speicherbaustein und Speicherbaustein
DE102021126991B4 (de) System und verfahren zur erkennung von speicherzellenstörungen durch überwachung von kanarischen zellen
EP0678915A2 (de) Integrierte Schaltungsanordnung mit einem EEPROM, Halbleiterscheibe mit solchen integrierten Schaltungen sowie Verfahren zur Verwendung einer solchen Halbleiterscheibe
DE102007051061B4 (de) Nichtflüchtiges Halbleiterspeichersystem und entsprechendes Verfahren zum Durchführen einer Programmieroperation
EP2002446B1 (de) Verfahren zum betreiben einer speichereinrichtung mit markierung von als fehlerhaft erkannten speicherblöcken
DE102009031310B4 (de) Speichersystem, Leseverstärker, Verwendung und Verfahren zur Fehlerdetektion mittels Parity-Bits eines Blockcodes

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20710105

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2021554612

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 20217032229

Country of ref document: KR

Kind code of ref document: A

ENP Entry into the national phase

Ref document number: 2020710105

Country of ref document: EP

Effective date: 20211012