Explication de la mémoire OTP : types, programmation, sécurité et dépannage
2026-07-27 775

La mémoire OTP stocke des données importantes qui doivent rester fixes après programmation, telles que les identifiants de périphériques, les valeurs de calibration, les paramètres de sécurité et les informations sur le produit. Cet article explique comment fonctionne la mémoire OTP, ses principaux types, comment elle se compare à d'autres technologies de mémoire, comment les microcontrôleurs l'utilisent, comment la programmer en toute sécurité, et quels risques de sécurité et problèmes courants vous devez comprendre.

Catalogue

Figure 1. OTP Memory Features and Stored Data.png

Figure 1. Caractéristiques de la mémoire OTP et données stockées

Qu'est-ce que la mémoire OTP et comment fonctionne-t-elle ?

OTP signifie mémoire programmable à usage unique. OTP est un type de mémoire non volatile qui conserve les données stockées après la coupure de l'alimentation. Elle est conçue pour des informations qui doivent rester fixes tout au long de la vie d'un appareil.

La mémoire OTP offre une faible consommation d'énergie, un stockage permanent simple et une protection contre les modifications accidentelles. Cependant, il est difficile ou impossible de corriger des données incorrectes. La mémoire OTP diffère également d'un mot de passe à usage unique, qui est un code temporaire utilisé pour la connexion ou la vérification.

Comment fonctionne la mémoire OTP ?

La mémoire OTP commence dans un état vierge, où chaque bit a une valeur binaire par défaut de 0 ou 1. Pendant la programmation, l'appareil applique une tension ou un courant contrôlé aux cellules sélectionnées, changeant leur état électrique pour stocker les données requises. Dans les OTP à base de fusible, un courant de programmation contrôlé ouvre les connexions de fusible sélectionnées.

Le circuit de lecture vérifie chaque cellule et convertit son état électrique en données binaires. Après la programmation, l'appareil lit les valeurs stockées et les compare avec les données originales. Certains dispositifs OTP fournissent également des contrôles de protection qui restreignent la lecture, empêchent une programmation supplémentaire ou verrouillent un bloc entier après vérification.

Différents types de mémoire OTP

La mémoire OTP peut être classée par la méthode physique utilisée pour stocker chaque bit. Les principaux mécanismes sont les liaisons fusibles ou eFuse, les cellules antifuses, les cellules basées sur la charge et les régions Flash verrouillables.

PROM décrit comment et quand un dispositif de mémoire est programmé plutôt qu'une technologie spécifique de cellule OTP. Intégré et autonome décrivent l'intégration des produits, pas le mécanisme de stockage physique.

Figure 2. OTP Memory Types and Placement.png

Figure 2. Types de mémoire OTP et placement

OTP à base de fusible et eFuse

L'OTP à base de fusible utilise de petites liaisons conductrices qui sont intactes avant la programmation. Un courant de programmation contrôlé ouvre les connexions de fusible sélectionnées, modifiant leur état électrique pour stocker des données binaires.

L'eFuse est une version électronique plus petite intégrée directement dans un circuit intégré. La programmation augmente de manière permanente la résistance de l'élément sélectionné ou rompt son chemin conducteur.

L'OTP à base de fusible et eFuse est simple, stable et largement utilisé dans les MCU, processeurs et SoC. L'eFuse est plus facile à intégrer dans de nombreux processus CMOS standards, mais la programmation peut nécessiter un courant relativement élevé. Les structures de fusible peuvent également nécessiter plus de surface en silicium que les technologies OTP plus denses.

OTP antifuse

Les implémentations d'antifuse peuvent supporter des cellules compactes et une faible consommation d'énergie en lecture, mais la densité et la rétention dépendent du processus, de la conception de la cellule, de la qualification, de la température et de la marge de détection. L'état programmé peut être moins visuellement évident dans certaines implémentations.

OTP à base de charge ou à porte flottante

L'OTP à base de charge stocke une charge électrique dans une structure de transistor isolé, communément une porte flottante. La charge stockée modifie la tension de seuil du transistor, permettant au circuit de lecture de faire la différence entre les états programmé et vierge.

Cette méthode offre une bonne densité de stockage et une faible consommation d'énergie en lecture. Sa fiabilité à long terme dépend de la rétention de la charge, de la température de fonctionnement, du stress électrique et du vieillissement du dispositif. Contrairement à la Flash normale ou à l'EEPROM, l'implémentation OTP ne fournit pas de fonction d'effacement standard pour les mises à jour utilisateur.

Régions OTP basées sur Flash verrouillables

Certains dispositifs Flash incluent des pages, des secteurs ou des registres de sécurité spéciaux qui peuvent être programmés puis verrouillés de façon permanente. Ces zones utilisent des cellules de mémoire Flash plutôt qu'une structure de fusible ou d'antifuse séparée.

Les régions OTP basées sur Flash verrouillables sont pratiques car elles utilisent un processus de mémoire existant et une interface de programmation. Elles peuvent offrir plus de capacité que de petits tableaux de fusibles. Cependant, leur permanence et leur sécurité dépendent de la conception du verrouillage du dispositif. Certaines régions sont véritablement irréversibles, tandis que d'autres peuvent permettre une récupération, un effacement en masse ou un accès d'usine sous des conditions spécifiques.

eFuse vs Antifuse OTP Memory

Le choix entre eFuse et antifuse dépend du processus semi-conducteur, de la tension ou du courant de programmation disponibles, de la disposition de la cellule, de la méthode de détection, des objectifs de qualification et des exigences de sécurité.

Figure 3. eFuse vs Antifuse Programming States.png

Figure 3. État de programmation eFuse vs Antifuse

Comparaison Point
eFuse OTP
Antifuse OTP
État initial
Chemin conducteur ou à faible résistance
Chemin ouvert ou à haute résistance
État programmé
Le chemin devient ouvert ou plus résistant
Un chemin conducteur est créé
Méthode de programmation
Un courant contrôlé change ou ouvre l'élément fusible
Un champ électrique élevé change la couche isolante et forme un lien conducteur
Zone de silicium
La taille de la cellule et du circuit de programmation dépend de processus et de la disposition
Peut supporter une cellule compacte, selon l'implémentation du processus
Exigence en énergie
Nécessite souvent un courant de programmation plus élevé
Nécessite souvent une tension de programmation plus élevée, tandis que le courant dépend de la conception
Fiabilité
Dépend de la géométrie du fusible, du contrôle de programmation et de la marge de détection
Dépend de la structure d'antifuse, du contrôle de rupture et de la marge de détection
Rétention des données
Dépend de la conception de la cellule, de la qualification du processus, de la température et de la marge de détection
Dépend de la conception de la cellule, de la qualification du processus, de la température et de la marge de détection
Inspection physique
Un lien changé ou ouvert peut être visible dans certaines implémentations
L'état programmé peut être moins visuellement évident dans certaines implémentations
Compatibilité du processus
Peut être intégré dans de nombreux processus CMOS, selon les règles de conception
Peut nécessiter des matériaux, des structures ou un soutien de processus supplémentaires
Meilleure adéquation de conception
Conceptions qui favorisent la compatibilité des processus et l'intégration simple
Conceptions qui peuvent supporter la tension de programmation requise et la structure de la cellule
Principal facteur de sélection
Courant de programmation, surface de disposition, méthode de détection et soutien de processus
Tension de programmation, soutien de processus, méthode de détection et données de qualification

OTP vs EEPROM, Flash, ROM et PROM

Ces types de mémoire non volatils diffèrent principalement par le fait que les données stockées peuvent être mises à jour et quand ces données sont définies.

Type de mémoire
Peut-il être mis à jour ?
Comment les données sont définies
Utilisation typique
Principale limitation
OTP
Non, après la programmation finale
Programmé après la fabrication de la puce
Identifiants de périphérique, données de calibration, paramètres fixes et valeurs de sécurité
Les données incorrectes ne peuvent généralement pas être corrigées
EEPROM
Oui
Écrites et mises à jour électriquement pendant l'opération
Paramètres, compteurs, valeurs de calibration et préférences utilisateur
Les écritures sont plus lentes que les lectures et l'endurance est limitée
Flash
Oui
Écrites électriquement et effacées par blocs ou secteurs
Stockage de firmware, de code, journalisation de données et grands ensembles de données
Les mises à jour peuvent nécessiter l'effacement d'un plus grand bloc
ROM masquée
Non
Fixé pendant la fabrication de semi-conducteurs
Code permanent dans des produits à volume élevé
Tout changement de code nécessite une nouvelle conception de puce ou un masque de production
PROM
Non, après programmation
Programmé après que le dispositif de mémoire soit fabriqué
Code fixe, tables de correspondance et configuration du produit
Les erreurs de programmation et les mises à jour ultérieures ne sont généralement pas récupérables

Applications courantes de la mémoire OTP

La mémoire OTP est utilisée pour des informations qui doivent rester stables tout au long de la vie d'un dispositif.

Catégorie d'application
Informations stockées
But
Identité du dispositif
Numéros de série, ID de dispositif, adresses MAC et codes de production
Identifie chaque dispositif pour le suivi, l'enregistrement, le réseautage et les dossiers de service
Étalonnage d'usine
Valeurs de décalage, de gain, de réglage, de température et de compensation
Corrige les variations de fabrication et améliore la précision des capteurs ou des circuits
Configuration du produit
Modèle, région, fonctionnalités activées, limites de fonctionnement et paramètres matériels
Permet à une conception matérielle de prendre en charge différentes versions de produit
Démarrage sécurisé
Bits permettant de démarrer, hachages de clés de confiance et paramètres de vérification du micrologiciel
Aide le dispositif à n'accepter que le logiciel de démarrage approuvé
Sécurité du cycle de vie
Valeurs anti-rollback, verrous de débogage, protection de lecture et états de sécurité
Contrôle des mises à jour du micrologiciel et restriction d'accès après production
Identifiants de dispositif
Certificats, données d'authentification, références de clés ou clés protégées
Supporte l'authentification de dispositif et la communication sécurisée

Avertissement : La mémoire OTP lisible en clair n'est pas automatiquement adaptée au stockage de clés secrètes. Utilisez des blocs de clés protégés par matériel ou à accès restreint lorsque disponibles.

Identité de l'Appareil et Adresses MAC

L'OTP peut stocker un numéro de série unique, un ID de dispositif ou une adresse MAC de 48 bits. Ces valeurs soutiennent le suivi de produit, l'enregistrement, le réseautage et les dossiers de service. Des valeurs incorrectes ou en double peuvent causer des problèmes de traçabilité ou des conflits réseau.

Étalonnage d'Usine et Réglage Analogique

Les capteurs et circuits analogiques peuvent stocker des valeurs de décalage, de gain, de température, de fréquence ou de réglage dans l'OTP. Ces valeurs conservent les mesures d'usine et aident le dispositif à atteindre ses cibles de précision ou de performance.

Comment planifier les données OTP dans un microcontrôleur

Identifier la région programmable correcte

Vérifiez la plage d'adresses accessible par l'utilisateur, la valeur d'état vide, l'unité programmable, la direction de transition des bits, l'alignement, la granularité de protection et la tension de programmation requise. Les données d'étalonnage d'usine, les lignes réservées, les identifiants de dispositif et les emplacements non documentés ne doivent pas être modifiés.

Définir le format d'enregistrement OTP

Créez une structure de données claire avant la programmation. L'enregistrement peut inclure un champ de type, un numéro de version, une longueur de données, une charge utile, une somme de contrôle ou CRC, un marqueur de validité et des octets réservés. Un format fixe aide le micrologiciel à lire et vérifier correctement les données.

Réserver de l'espace pour de futures révisions

Laissez des mots ou blocs inutilisés pour de futures versions de produit, des paramètres ajoutés, des enregistrements de remplacement ou des mises à jour de sécurité. Le micrologiciel doit être capable d'identifier le plus récent enregistrement valide sans changer les données programmées précédemment.

Planifier la séquence de protection

Programmez et vérifiez toutes les données requises avant d'appliquer une protection permanente. Testez d'abord le dispositif, puis mettez en place des verrous de bloc, la protection de lecture, les contrôles de démarrage sécurisé et les restrictions de débogage. Les verrouillages permanents doivent être appliqués en dernier car la récupération peut ne plus être possible.

Démarrage sécurisé et Hachages de Clés de Confiance

L'OTP peut stocker des bits permettant de démarrer en sécurité et un hachage de clé publique de confiance. Ces valeurs doivent être vérifiées avant le verrouillage permanent car un hachage ou un réglage de démarrage incorrect peut empêcher un micrologiciel valide de s'exécuter.

Anti-Rollback et Verrouillage de Débogage

L'OTP peut stocker une version minimale de sécurité du micrologiciel et des bits de contrôle de débogage permanents. Les valeurs anti-rollback doivent être prévues pour les futures mises à jour, tandis que les verrouillages JTAG ou SWD ne doivent être appliqués qu'après les tests finaux.

Étapes pour programmer la mémoire OTP

Phase de programmation
Action requise
Condition de libération
1. Confirmer le dispositif cible exact et la région OTP
Vérifiez le numéro de pièce complet, le package, la révision, la plage d'adresses OTP accessible par l'utilisateur, l'unité programmable, l'alignement, la valeur d'état vide et la granularité de protection. Excluez les emplacements programmés en usine et réservés.
Le dispositif exact et la zone OTP écrivable sont confirmés par rapport aux documents techniques approuvés.
2. Gel et approuve l'image de programmation
Finalisez le format de données, l'ordre des octets, les adresses, les numéros de série, les valeurs d'étalonnage, les clés, les sommes de contrôle et les champs réservés. Placez l'image de programmation sous contrôle de version.
L'image de programmation a été examinée, testée et formellement approuvée pour la production.
3. Validez l'alimentation, l'outil, l'état vierge et la configuration physique
Confirmez le support du programmeur, la version du logiciel, la tension d'alimentation stable, les connexions sécurisées, les contrôles ESD et le statut vierge de tous les emplacements cibles.
La configuration réussit tous les contrôles pré-programmation sans avertissements ni incohérences.
4. Programmez uniquement les adresses approuvées
Écrivez uniquement les emplacements définis dans l'image approuvée. Arrêtez immédiatement si l'outil signale une erreur de tension, de communication, d'adresse ou de dispositif.
Le programmeur termine l'opération d'écriture sans résultats inattendus.
5. Lisez et testez l'intégralité de l'appareil
Lisez la zone programmée complète et comparez-la avec l'image approuvée en utilisant une comparaison directe, CRC, somme de contrôle ou hachage. Redémarrez l'appareil et testez chaque fonction affectée par les valeurs OTP.
Le retour de lecture correspond aux données sources et l'appareil complet réussit le test fonctionnel.
6. Appliquez une protection permanente et enregistrez les dossiers de traçabilité
Définissez les verrous de blocage, la protection en lecture, les contrôles de démarrage sécurisé et les restrictions de débogage uniquement après vérification. Enregistrez l'ID de l'appareil, la version de l'image de programmation, la date, l'opérateur, le programmeur, la version du logiciel, le résultat du test et le statut de protection.
La protection permanente est confirmée et l'enregistrement de production complet a été sauvegardé.

Note : Les dispositifs utilisant des schémas de codage eFuse, des écritures au niveau de la ligne, ECC ou une programmation par lot peuvent imposer des restrictions supplémentaires. Un bit qui semble vierge peut ne pas rester programmable indépendamment après qu'un autre champ du même unité de codage ait été écrit.

Quelle est la sécurité de la mémoire OTP?

La mémoire OTP peut soutenir la sécurité des dispositifs en maintenant des valeurs de confiance importantes fixes après programmation. Cependant, sa protection dépend de la conception de la puce, des contrôles d'accès, du firmware et du processus de fabrication.

Ce que l'OTP peut protéger

L'OTP peut stocker des valeurs de confiance telles que les paramètres de démarrage sécurisé, les hachages de clés publiques, les versions de sécurité du firmware, les références d'appareil et les bits de contrôle de débogage. Les verrous d'écriture peuvent empêcher des modifications ultérieures, tandis que les restrictions de lecture peuvent limiter l'accès par le biais de logiciels, de programmeurs ou d'outils de débogage. Ces fonctionnalités permettent à l'OTP de soutenir une racine de confiance matérielle.

Ce que l'OTP ne peut pas prévenir

L'OTP n'arrête pas toutes les attaques. Le sondage physique, l'inspection de la puce, l'injection de fautes, l'analyse des canaux latéraux, les défauts logiciels ou une provisioning de clés faible peuvent toujours exposer ou contourner les données protégées. Un attaquant peut cibler les circuits qui lisent ou utilisent des valeurs OTP au lieu de modifier la mémoire elle-même.

L'OTP ne doit pas être décrit comme inviolable. Une forte protection nécessite également un démarrage sécurisé, une provision contrôlée, un firmware sécurisé, du matériel cryptographique protégé et un accès de débogage restreint.

Quand un élément sécurisé est plus approprié

Un élément sécurisé est plus approprié lorsque des clés privées doivent rester isolées du processeur principal ou lorsqu'une protection plus forte contre les attaques physiques, par injection de fautes et par canaux latéraux est requise. Les éléments sécurisés incluent souvent un stockage de clés protégé, des fonctions cryptographiques, une détection de manipulation et une gestion des clés contrôlée.

L'OTP est généralement suffisant pour des ancres de confiance fixes, des contrôles de configuration et une identité de dispositif de base. Un élément sécurisé est meilleur pour des références à forte valeur, des systèmes de paiement, une identité numérique et une authentification de dispositif solide.

Problèmes courants de programmation OTP

Problème
Cause probable
Action recommandée
Mauvais appareil, révision ou adresse
La pièce sélectionnée, la révision de la puce, le profil de programmeur ou l'adresse cible ne correspondent pas à l'appareil réel
Arrêtez la programmation et vérifiez l'ID de l'appareil détecté, le numéro de pièce complet, la révision et la carte mémoire OTP officielle
Unité d'écriture incorrecte ou alignement
La taille des données ou l'adresse ne correspondent pas au bit, mot, ligne, bloc ou unité de codage requis
Corrigez la mise en page de l'image et l'alignement conformément à la granularité de programmation documentée
Hypothèse d'état vierge ou de codage incorrecte
Le logiciel s'attend à la mauvaise valeur vierge, ou un autre champ dans la même unité codée a déjà affecté les bits restants
Lisez la pleine unité de codage, confirmez le motif vierge documenté et vérifiez si les emplacements restants sont toujours programmables indépendamment
Alimentation instable ou programmation interrompue
La chute de tension, le réinitialisation, un contact défectueux, une perte de communication ou du bruit électrique ont stoppé l'écriture
Inspectez l'alimentation, les connecteurs, le découplage, les journaux d'outils et le chemin de communication avant d'utiliser un autre appareil
Incohérence de lecture ou programmation partielle
Seule une partie de l'image a été écrite, ou le résultat diffère en raison de l'ordre des octets, du timing, de la tension, de la largeur ou d'erreurs d'adresse
Comparez la lecture complète avec l'image approuvée et vérifiez tous les paramètres du programmateur avant de continuer
Contrôle de verrouillage ou de débogage appliqué trop tôt
La protection d'écriture, la protection de lecture, JTAG, SWD ou un autre contrôle permanent a été activé avant les tests finaux
Vérifiez s'il existe un chemin de récupération approuvé. S'il n'en existe pas, l'appareil peut avoir besoin d'être remplacé
Données ou hachage de clé de démarrage sécurisé incorrects
Le hachage de clé programmé, la règle de signature, la politique de démarrage ou l'état de sécurité ne correspondent pas au firmware approuvé
Comparez les valeurs stockées avec la chaîne de clés approuvée et l'image de démarrage. N'appliquez pas de verrous supplémentaires tant que la cause n'est pas confirmée
Enregistrements de programmation et de traçabilité manquants
L'ID de l'appareil, la version de l'image, la version de l'outil, l'opérateur, le résultat de vérification ou l'état de protection n'ont pas été enregistrés
Reconstruisez l'enregistrement disponible et exigez une journalisation de traçabilité automatique pour toutes les unités ultérieures

À PROPOS DE NOUS Satisfaction client à chaque fois. Confiance mutuelle et intérêts communs. ARIAT TECH a établi des relations de coopération stables et à long terme avec de nombreux fabricants et agents." Traiter les clients avec des matériaux authentiques et faire du service le cœur", toute la qualité sera vérifiée sans problème et passera des tests professionnels.
Les produits au meilleur rapport qualité-prix et le meilleur service sont notre engagement éternel.

Questions fréquemment posées [FAQ]

1. Les données de la mémoire OTP peuvent-elles être corrompues ?

La corruption peut résulter de températures extrêmes, de radiations, de stress électrique, de cellules défectueuses ou de circuits de détection endommagés. Les sommes de contrôle, la parité et l'ECC peuvent aider à détecter des données invalides.

2. La lecture de la mémoire OTP affecte-t-elle les performances ?

La vitesse de lecture dépend de l'architecture de l'appareil. Certains processeurs copient les valeurs OTP dans des registres d'ombre ou de la RAM au démarrage, de sorte que le fonctionnement normal puisse utiliser un accès local plus rapide.

3. Comment le firmware doit-il gérer les données OTP invalides ?

Le firmware doit vérifier un CRC, une somme de contrôle, une version de format ou un marqueur de validité avant d'utiliser l'enregistrement. Un échec de vérification doit déclencher des valeurs par défaut sécurisées, une opération restreinte ou un état d'erreur contrôlé.

4. Plusieurs enregistrements peuvent-ils partager une seule zone OTP ?

Plusieurs enregistrements peuvent être stockés dans des champs fixes ou des emplacements séquentiels. Chaque enregistrement doit inclure un numéro de version, une longueur de données, un marqueur de validité et un contrôle d'intégrité.

5. Que se passe-t-il lorsqu'une zone OTP devient pleine ?

Aucun autre valeur ne peut être écrite après que toutes les cellules ou emplacements utilisables soient consommés. La conception doit alors utiliser une autre zone de mémoire, une solution logicielle de contournement ou un appareil de remplacement.

6. Qu'est-ce qui affecte la rétention des données OTP ?

La rétention dépend de la technologie des cellules, de la qualité de fabrication, de la température, du stress électrique, de l'exposition aux radiations et des limites de qualification indiquées par le fabricant.

7. L'espace OTP inutilisé peut-il être réservé pour de futures versions ?

Des blocs vides réservés peuvent soutenir des révisions de produit ultérieures ou de nouveaux enregistrements. Leur taille, leur alignement et leur comportement de verrouillage doivent être planifiés avant le premier lancement de production.

8. Qu'est-ce que l'émulation OTP ?

L'émulation OTP utilise une mémoire réinscriptible avec des contrôles logiciels ou matériels qui empêchent les modifications ultérieures. Elle peut simplifier le développement mais peut ne pas fournir la même permanence que les cellules OTP physiques.

E-mail : Info@ariat-tech.comTÉL HK : +852 30501966ADR : Rm 2703 27F Ho King Comm Center 2-16,
Fa Yuen St MongKok Kowloon, Hong Kong.