IP Library Granted Patent US 9,448,926
Granted Patent B2
US 9,448,926 · App. 14/634,386 · Granted Sep 20, 2016

Bidirectional counter in a flash memory

Inventors: Ronny Van Keer (Hoeilaart, BE); Guillaume Docquier (Liege, BE)
Assignee: Proton World International N.V.
G06F12/0246G06F9/3001G11C16/105H03K21/403H03K23/56G06F2212/7207
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,448,926
App. No.
14/634,386
Granted
Sep 20, 2016
Kind
B2
Abstract

A method of storing a counter in at least two non-volatile memory pages, including: a step of initializing a page with an initial value and then, on each update of the counter value, a step of storing an update value and an opcode associated with this value, selected from a set of opcodes, the current value of the counter being given by application of the successive update operations to the initial value of the page.

Claims (54)

1. A method, comprising:

storing a counter value using at least two non-volatile memory pages of a memory, the storing including:

storing an initial counter value in a page of the at least two non-volatile memory pages; and

for each update of the stored initial counter value, storing an update value and an opcode associated with the update value in the page of the at least two pages; and

determining a current value of the counter based on the stored initial value, stored update values and stored opcodes.

2. The method of claim 1 , comprising:

when the page is full,

calculating the current value of the counter; and

storing the calculated current value of the counter as an initial counter value in another page of the at least two non-volatile memory pages.

3. The method of claim 1 , comprising:

initializing the at least two non-volatile memory pages to a first state.

4. The method of claim 1 wherein the opcodes are selected from a set of opcodes comprising an addition opcode and a subtraction opcode.

5. The method of claim 1 wherein the opcodes are selected from a set of opcodes comprising an erase code.

6. The method of claim 1 wherein the opcodes are selected from a set of opcodes comprising a code to cancel a previous operation.

7. The method of claim 1 wherein a page comprises one of 32, 64, 128, 256, 512, 1,024, and 2,048 bytes.

8. An apparatus, comprising:

a non-volatile memory; and

circuitry configured to:

store a counter value using at least two pages of the non-volatile memory, the storing including:

storing an initial counter value in a page of the at least two pages; and

for each update of the stored initial counter value, storing an update value and an opcode associated with the update value in the page of the at least two pages; and

determine a current value of the counter based on the stored initial value, stored update values and stored opcodes.

9. The apparatus of claim 8 wherein when the page is full the circuitry is configured to:

calculate the current value of the counter; and

store the calculated current value of the counter as an initial counter value in another page of the at least two pages.

10. The apparatus of claim 8 wherein the circuitry is configured to selectively initialize the at least two pages to a first state.

11. The apparatus of claim 8 wherein the opcodes are selected from a set of opcodes comprising an addition opcode and a subtraction opcode.

12. The apparatus of claim 8 wherein the opcodes are selected from a set of opcodes comprising an erase code.

13. The apparatus of claim 8 wherein the opcodes are selected from a set of opcodes comprising a code to cancel a previous operation.

14. The apparatus of claim 8 wherein the non-volatile memory is a flash memory.

15. A system, comprising:

a bus system; and

control circuitry configured to:

control storage of a counter in a plurality of pages of a non-volatile memory, the storing including:

storing an initial counter value in a page of the plurality of pages; and

for each update of the stored initial counter value, storing an update value and an opcode associated with the update value in the page of the plurality of pages; and

determine a current value of the counter based on the stored initial value, stored update values and stored opcodes.

16. The system of claim 15 wherein when the page is full the control circuitry is configured to:

calculate the current value of the counter; and

store the calculated current value of the counter as an initial counter value in another page of the plurality of pages.

17. The system of claim 15 wherein the control circuitry is configured to selectively initialize the plurality of pages to a first state.

18. The system of claim 15 , comprising the non-volatile memory.

19. The system of claim 18 wherein the non-volatile memory comprises a flash memory.

20. The system of claim 15 , comprising a near-field communication router including the non-volatile memory.

21. A non-transitory computer-readable medium whose contents cause a counter to perform a method, the method comprising:

storing a counter value using a plurality of pages of a non-volatile memory, the storing including:

storing an initial counter value in a page of the plurality of pages; and

for each update of the stored initial counter value, storing an update value and an opcode associated with the update value in the page of the plurality of pages; and

determining a current value of the counter based on the stored initial value, stored update values and stored opcodes.

22. The non-transitory computer-readable medium of claim 21 wherein the method comprises:

when the page is full:

calculating the current value of the counter; and

storing the calculated current value of the counter as an initial counter value in another page of the plurality of pages.

23. The non-transitory computer-readable medium of claim 21 wherein the method comprises selecting the opcodes from a set of opcodes including at least one of an addition opcode and a subtraction opcode.

Assignments (2)
CHANGE OF NAME Recorded Sep 26, 2024
From: PROTON WORLD INTERNATIONAL
To: STMICROELECTRONICS BELGIUM
Reel/Frame 069057/0620 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 27, 2015
From: VAN KEER, RONNY; DOCQUIER, GUILLAUME
To: PROTON WORLD INTERNATIONAL N.V.
Reel/Frame 035725/0226 →
Priority Claims (1)
FR 14 53938 · Apr 30, 2014 · national
Continuity (1)
Related Publication 20150317245A1 · Nov 5, 2015