Process for the secure writing of a pointer for a circular memory
First Claim
1. A method for safe writing of a pointer (P) for records contained in individual memory locations (R1, R2, . . . ) of a ring memory (10;
-
10′
) comprising the steps ofa) writing, in addition to a first pointer (P1, P1*), a second pointer (P2, P2*) redundant with respect to the first pointer; and
b) expanding both the first and the second pointer by a check value.
1 Assignment
0 Petitions
Accused Products
Abstract
To permit safe writing of the pointer (P) pointing to the current record in a cyclic memory or ring memory, e.g. an EEPROM, the new record (D'"'"'#3) is written to the memory location (R3) containing the oldest record, and then the pointer (P) is updated. The pointer (P) consists of a first pointer (P1, P1*) and a second pointer (P2, P2*) redundant with respect to the first pointer. Each pointer contains a check value in the form of the inverse or complement code of the actual pointer. Due to the second pointer and the check value, the pointer is written with optimal safety. In case of a disturbance in the course of pointer updating, the old first pointer can later alternatively be recovered from the second pointer or the second pointer updated with the aid of the new first pointer.
25 Citations
10 Claims
-
1. A method for safe writing of a pointer (P) for records contained in individual memory locations (R1, R2, . . . ) of a ring memory (10;
-
10′
) comprising the steps ofa) writing, in addition to a first pointer (P1, P1*), a second pointer (P2, P2*) redundant with respect to the first pointer; and
b) expanding both the first and the second pointer by a check value. - View Dependent Claims (2, 3, 4, 5, 6, 7, 9)
a) checking the first pointer (P1) using the check value (P1*) (S2), b) comparing the first pointer with the second pointer (S3) if the first pointer (P1) is correct, c) copying the first pointer to obtain the new second pointer upon a mismatch of the two pointers during the comparison according to step b), d) checking the second pointer (P2) using the check value (P2*) (S6) if the first pointer (P1) is not correct, e) overwriting the first pointer (P1, P1*) with the value of the pointer (P2, P2*) (S7) if the second pointer is correct according to d).
-
10′
-
4. A method for managing a ring memory (10;
-
10′
) using the method according to claim 1 or 2, wherein, for writing a new record (D'"'"'#3) to a predetermined memory location (R3) which cyclically follows the memory location (R2) designated by the pointer (P), writing the new record to the predetermined memory location (R3) and then writing an updated pointer.
-
10′
-
5. The method according to claim 4, wherein before the new record (D'"'"'#3) is written to the predetermined memory cells the content of said cell is erased.
-
6. The method according to claim 4, wherein the predetermined memory location contains the oldest record in the ring memory (10′
- ) and is used as a write buffer.
-
7. The method according to claim 1, wherein each pointer consists of the code of the relevant memory location number, and the corresponding check value of the complement code of said memory location number.
-
9. A ring memory according to claim 8 for use in a method according to claim 1.
- 8. A ring memory comprising a predetermined number of memory locations (R1, . . . Rn) each receiving one record (D#1, . . . ), and a pointer memory location to which a pointer is written which points to that memory location containing the current record (D#2), and a first pointer memory location (RP1) for a first pointer (P1, P1*) including a check value (P1*), and a second pointer memory location (RP2) for a second pointer (P2, P2*) redundant with respect to the first pointer and including a check value (P2*).
Specification