Monotonic counter
AssigneeProton World International N.V.
InventorsJean-Louis Modave, Michael Peeters, Ronny Van Keer
Life of this patent
Estimating the term…
Abstract
The present disclosure relates to a monotonic counter whose value is represented by a number N of binary words of N memory cells of a non-volatile memory, and being able to implement a step increment operation wherein if only one first memory cell represents a first value different from zero, then a second value equal to the said first value incremented by two times the said step is written into a second memory cell of rank directly higher than the rank of the first memory cell; and if a third and a fourth memory cell of consecutive ranks represent, respectively, a third value and a fourth value different from zero, then the third value of the third memory cell of lower rank is erased.
Claims28
A device, comprising:
- a non-volatile memory, which, in operation, stores a number N of binary words in N memory cells of the non-volatile memory, the N binary words representing a value of a monotonic counter, each binary word having a size sufficient to store a maximum value of the monotonic counter;
- and
- control circuitry coupled to the memory, wherein the control circuitry, in operation, increments the value of the monotonic counter by a step size, the incrementing of the value of the monotonic counter by the step size including:
- in response to a single memory cell of the N memory cells having a value different from zero, the single memory cell having a rank i modulo N, writing a value equal to the value of the single memory cell incremented by two times the step size, into a second memory cell of rank i+1 modulo N;
- and
- in response to two memory cells of the N memory cells of consecutive ranks representing values different from zero, erasing a memory cell of the two memory cells having a lower rank than a rank of the other of the two memory cells.
A method, comprising:
- storing a number N of binary words in N memory cells of a non-volatile memory, the N binary words representing a value of a monotonic counter, each binary word having a size sufficient to store a maximum value of the monotonic counter;
- and
- incrementing the value of the monotonic counter by a step size, the incrementing of the value of the monotonic counter by the step size including:
- in response to a single memory cell of the N memory cells having a value different from zero, the single memory cell having a rank i modulo N, writing a value equal to the value of the single memory cell incremented by two times the step size, into a second memory cell of rank i+1 modulo N;
- and
- in response to two memory cells of the N memory cells of consecutive ranks representing values different from zero, erasing a memory cell of the two memory cells having a lower rank than a rank of the other of the two memory cells.
A system, comprising:
- a processor, which, in operation, processes data;
- and
- a monotonic counter coupled to the processor, wherein the monotonic counter, in operation:
- stores a number N of binary words in N memory cells of a non-volatile memory, the N binary words representing a value of the monotonic counter, each binary word having a size sufficient to store a maximum value of the monotonic counter;
- and
- responds to an indication to increment the value of the monotonic counter by a step size by:
- in response to a single memory cell of the N memory cells having a value different from zero, the single memory cell having a rank i modulo N, writing a value equal to the value of the single memory cell incremented by two times the step size, into a second memory cell of rank i+1 modulo N;
- and
- in response to two memory cells of the N memory cells of consecutive ranks representing values different from zero, erasing a memory cell of the two memory cells having a lower rank than a rank of the other of the two memory cells.
A non-transitory computer-readable medium having contents which cause a monotonic counter to perform a method, the method comprising:
- storing a number N of binary words in N memory cells of a non-volatile memory, the N binary words representing a value of a monotonic counter, each binary word having a size sufficient to store a maximum value of the monotonic counter;
- and
- incrementing the value of the monotonic counter by a step size, the incrementing of the value of the monotonic counter by the step size including:
- in response to a single memory cell of the N memory cells having a value different from zero, the single memory cell having a rank i modulo N, writing a value equal to the value of the single memory cell incremented by two times the step size, into a second memory cell of rank i+1 modulo N;
- and
- in response to two memory cells of the N memory cells of consecutive ranks representing values different from zero, erasing a memory cell of the two memory cells having a lower rank than a rank of the other of the two memory cells.
Dependencies are inferred from the claim text.