Patentable/Patents/US-10659054
US-10659054

Trusted monotonic counter using internal and external non-volatile memory

PublishedMay 19, 2020
Assigneenot available in USPTO data we have
Inventorsnot available in USPTO data we have
Technical Abstract

A device, including: an unsecure non-volatile memory; a secure device including: a processor; and a secure non-volatile memory; wherein the secure device is configured to: calculate a TMC value from an offset and a base value; store a TMC version value in the secure non-volatile memory and the insecure non-volatile memory, wherein the TMC version value is updated when TMC value is incremented the first time after the secure device is powered up; store the base value in the unsecure non-volatile memory; store the offset value in the unsecure non-volatile memory when the secure device is in a system power down state; store the offset value in the secure non-volatile memory when the secure device is in a rescue state; and store a TMC link value in the unsecure memory, wherein the TMC link value is based upon the base value and TMC version value stored in the unsecure memory.

Patent Claims
20 claims

Legal claims defining the scope of protection, as filed with the USPTO.

1

1. A device, comprising: an unsecure non-volatile memory; a secure device including: a processor; and a secure non-volatile memory; wherein the secure device is configured to: calculate a trusted monotonic counter (TMC) value from an offset and a base value; store a TMC version value in the secure non-volatile memory and the unsecure non-volatile memory, wherein the TMC version value is updated when the TMC value is incremented the first time after the secure device is powered up; store the base value in the unsecure non-volatile memory; store the offset value in the unsecure non-volatile memory when the secure device is in a system power down state; store the offset value in the secure non-volatile memory when the secure device is in a rescue state, wherein the rescue state is reached in response to secure device being in the system power down state; and store a TMC link value in the unsecure memory, wherein the TMC link value is based upon the base value and TMC version value stored in the unsecure memory, wherein the secure non-volatile memory is more efficiently used and rollback protection is provided.

2

2. The device of claim 1 , further comprising: a rescue register; and a rescue power supply, wherein the rescue register and rescue power supply are used to store the offset value in the secure non-volatile memory when the secure device is in the rescue state.

3

3. The device of claim 1 , wherein the secure device is further configured to compare the TMC version value stored in the secure non-volatile memory with the TMC version value stored in the unsecure non-volatile memory.

4

4. The device of claim 1 , wherein the secure device is further configured to verify the TMC link value based upon the base value and TMC value stored in the unsecure non-volatile memory.

5

5. The device of claim 4 , wherein the secure device is further configured to restore the TMC base value during a power up state from the base value stored in the unsecure non-volatile memory and the offset value stored in the unsecure non-volatile memory when TMC link value is verified.

6

6. The device of claim 4 , wherein the secure device is further configured to restore the TMC base value during a power up state from the base value stored in the unsecure memory and the offset value stored in the secure non-volatile memory when TMC link value is verified.

7

7. The device of claim 1 , wherein the secure device is further configured to update the TMC value by incrementing the offset value.

8

8. The device of claim 1 , wherein the secure device is further configured to update the TMC link value during the system power down state.

9

9. The device of claim 1 , wherein the number of bits in the offset value is less than the number of bits of the TMC counter value.

10

10. The device of claim 1 , wherein the number of bits in the offset value is less than or equal to half the number of bits of the TMC counter value.

11

11. The device of claim 1 , wherein the TMC link value is a hash of the base value and TMC version value stored in the unsecure memory.

12

12. The device of claim 1 , wherein the TMC link value is a copy of the base value and TMC version value stored in the unsecure memory.

13

13. A device, comprising: an unsecure non-volatile memory; a secure device including: a processor; and a secure non-volatile memory; wherein the secure device is configured to: calculate a trusted monotonic counter (TMC) value from an offset and base value; store a TMC version value in the secure non-volatile memory and the unsecure non-volatile memory, wherein the TMC version value is updated when the TMC value is incremented the first time after the secure device is powered up; store the base value in the unsecure memory; and store the offset value in the secure non-volatile memory when power has failed in the secure device, wherein the secure non-volatile memory is more efficiently used and rollback protection is provided.

14

14. The device of claim 13 , further comprising: a rescue register; and a rescue power supply, wherein the rescue register and rescue power supply are used to store the offset value in the secure non-volatile memory when the secure device is in a rescue state in response to the power failure.

15

15. The device of claim 13 , wherein the secure device is further configured to compare the TMC version value stored in the secure non-volatile memory with the TMC version value stored in the unsecure non-volatile memory.

16

16. The device of claim 13 , wherein the secure device is further configured to restore the TMC base value during a power up state from the base value stored in the unsecure non-volatile memory and the offset value stored in the unsecure non-volatile memory.

17

17. The device of claim 13 , wherein the number of bits in the offset value is less than the number of bits of the TMC counter value.

18

18. The device of claim 13 , wherein the number of bits in the offset value is less than or equal to half the number of bits of the TMC counter value.

19

19. The device of claim 13 , wherein the secure device is further configured to update the TMC value by incrementing the offset value.

20

20. The device of claim 13 , wherein offset value is stored in the secure non-volatile memory when the secured device is in a power down state.

Classification Codes (CPC)

Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.

Patent Metadata

Filing Date

February 23, 2018

Publication Date

May 19, 2020

Want to explore more patents?

Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.

Citation & reuse

Analysis on this page is generated by Patentable — an AI-powered patent intelligence platform. AI-generated summaries, explanations, and analysis may be reused with attribution and a visible link back to the canonical URL below. Patent abstracts and claims are USPTO public domain.

Cite as: Patentable. “Trusted monotonic counter using internal and external non-volatile memory” (US-10659054). https://patentable.app/patents/US-10659054

© 2026 Patentable. All rights reserved.

Patentable is a research and drafting-assistant tool, not a law firm, and does not provide legal advice. Documents we generate are drafts for review by a licensed patent attorney.