
Figure 1. Caractéristiques de la mémoire OTP et données stockées
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.
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. Types de mémoire OTP et placement
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.
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.
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.
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.
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. É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 |
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 |
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.
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.
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.
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.
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.
| 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.
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è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.
Guide du moteur pas à pas : Comment ça marche, types, dimensionnement et contrôle
2026-07-28
Conception de l'Interface Analogique : Composants, Interface ADC, Bruit et Tests
2026-07-26
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.
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.
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é.
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é.
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.
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.
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.
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.