IP Library Granted Patent US 12,542,663
Granted Patent B2
US 12,542,663 · App. 18/430,894 · Granted Feb 3, 2026

Method for storing a key in a non-volatile memory

Inventor: Jawad Benhammadi (Pont de Claix, FR)
Assignee: STMicroelectronics International N.V.
H04L9/0894
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 12,542,663
App. No.
18/430,894
Granted
Feb 3, 2026
Kind
B2
Abstract

A method is presented for verifying a writing of a key into a non-volatile memory. A first cyclic redundancy code of the key is stored into a register of an interface of the memory. A second cyclic redundancy code is computed on a message formed by the copied key having the first cyclic redundancy code linked thereto. The writing of the key into the non-volatile memory is considered as valid when the second cyclic redundancy code is equivalent to the zero value.

Claims (35)

1 . A method for verifying a writing of a key into a non-volatile memory, comprising the steps of:

storing a first precomputed cyclic redundancy code of said key in a register of an interface of said non-volatile memory;

writing the key into a zone of the non-volatile memory;

copying the key which was written into said zone into a second register of said interface;

computing a second cyclic redundancy code on a message formed by the copied key having the first cyclic redundancy code linked thereto; and

considering the writing of the key into said non-volatile memory as valid when the second cyclic redundancy code is equivalent to a zero value.

2 . The method according to claim 1 , further comprising considering one of the foregoing steps as not valid when the second cyclic redundancy code is not equivalent to the zero value.

3 . The method according to claim 1 , wherein the second cyclic redundancy code equivalent to the zero value is 0x00.

4 . The method according to claim 1 , wherein the key is coded over 128 bits.

5 . The method according to claim 1 , wherein the cyclic redundancy code is coded over 8 bits.

6 . The method according to claim 1 , wherein the cyclic redundancy code is coded over 16 bits.

7 . The method according to claim 1 , further comprising configuring the second register to be non-readable except for a transfer from the interface to the memory and a transfer from the memory to the interface.

8 . The method according to claim 1 , wherein the non-volatile memory is a FLASH memory.

9 . An electronic circuit configured to implement the method according to claim 1 .

10 . A method of processing a key with respect to a non-volatile memory of an integrated circuit comprising at least an interface of communication with the outside of the integrated circuit, comprising steps of:

writing, from outside of the integrated circuit, a key into a second register of an interface of the non-volatile memory;

writing, from the outside the integrated circuit, a first precomputed cyclic redundancy code into a first register of said interface;

computing a result of a third cyclic redundancy code on a message formed by the key having the first precomputed cyclic redundancy code linked thereto; and

considering writing of the security key into the second register as valid when the third cyclic redundancy code is equivalent to a zero value.

11 . The method according to claim 10 , further comprising:

writing the key into a zone of the non-volatile memory; and

verifying the writing of the key into the non-volatile memory.

12 . The method according to claim 11 , wherein verifying comprises steps of:

copying the key written into said zone into the second register of said interface;

computing a second cyclic redundancy code on a message formed by the copied key having the first cyclic redundancy code linked thereto; and

considering the writing of the key into said non-volatile memory as valid when the second cyclic redundancy code is equivalent to a zero value.

13 . The method according to claim 12 , wherein each of the second and the third cyclic redundancy codes equivalent to the zero value is 0x00.

14 . The method according to claim 10 , further comprising considering one of said steps as not valid when the third cyclic redundancy code is not equivalent to the zero value.

15 . The method according to claim 10 , wherein the third cyclic redundancy code equivalent to the zero value is 0x00.

16 . The method according to claim 10 , wherein the key is coded over 128 bits.

17 . The method according to claim 10 , wherein the cyclic redundancy codes are coded over 8 bits.

18 . The method according to claim 10 , wherein the cyclic redundancy codes are coded over 16 bits.

19 . The method according to claim 10 , further comprising configuring the second register to be non-readable except for a transfer from the interface to the memory and a transfer from the memory to the interface.

20 . The method according to claim 10 , wherein the non-volatile memory is a FLASH memory.

21 . An electronic circuit configured to implement the method according to claim 10 .

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 29, 2024
From: STMICROELECTRONICS (ALPS) SAS
To: STMICROELECTRONICS INTERNATIONAL N.V.
Reel/Frame 068113/0471 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 5, 2024
From: BENHAMMADI, JAWAD
To: STMICROELECTRONICS (ALPS) SAS
Reel/Frame 066343/0726 →
Priority Claims (1)
FR 2301053 · Feb 3, 2023 · national
Continuity (1)
Related Publication 20240267217A1 · Aug 8, 2024
References Cited (6)
US 20100287426A1 · Kanai · 2010 [cited by examiner]
US 20180329776A1 · Lai · 2018 [cited by examiner]
US 20190214102A1 · Park et al. · 2019 [cited by applicant]
US 20190236031A1 · Kim · 2019 [cited by applicant]
US 20200364110A1 · Lai · 2020 [cited by examiner]
INPI Search Report and Written Opinion for priority application, FR Appl. No. 2301053, report dated Sep. 14, 2023, 8 pgs. [cited by applicant]